第四章 系統評估
4.2 遠端佈署實作
國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
43
4.2 遠端佈署實作 4.2.1 開機與自動配置
此項功能實作主要目的是讓服務供應商能夠遠端自動配置使用者 CPE 的參數,如 此一來,使用者在首次安裝 CPE 時,則不須由服務供應商派請專業人員到府裝機及設 定相關參數。實際流程為當 CPE 為首次開機向 ACS 連線時,會利用 RPC Method 中 的 Inform 通知 ACS 自己已開機,並向透過 Google 帳號登入,透過此登入流程作身分 驗證,並且讓 ACS 知道此 CPE 的使用者名稱,Inform 方法所傳入的參數如圖 4.2,其 中,event 參數為“ 0 BOOTSTRAP ”。接著,CPE 呼叫 RPC Method 中的 Inform 通知 ACS,要求自動配置參數,event 參數為“ 4 VALUE CHANGE ”,ACS 收到此通知後,
會 使 用 setParameterValue 的 RPC Method 來 進 行 遠 端 初 始化 CPE 上 的 參數 , setParameterValue 方法所傳入的參數如圖 4.3,CPE 完成參數設置後,會在呼叫 RPC Method 中的 Inform 告知 ACS 已完成自動配置,其 event code 為“ M Value Changed ”,
詳細的流程步驟如圖 4.4 所示。
圖 4.1 ACS 與 CPE 訊息傳送架構
圖 4.2 Inform 方法格式
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
44
4.2.2 模組下載與更新
本項功能實作主要提供使用者遠端進行付費軟體模組的自動下載與版本更新。實 際運作流程為 CPE 定期向 ACS 傳送 CPE 上的相關參數並得知是否有新購買的模組軟 體,或原有的模組需進行版本更新。此項功能實作利用 Java 的 TimerTask,使 CPE 能 定時向 ACS 發出通知,方法如圖 4.5,CPE 利用 RPC Method 中的 Inform 方法、event code 為“ 2 PERIODIC ”向 ACS 傳送參數並查詢模組版本狀況,若有新購買的模組或舊 模組需更新版本,則 CPE 向 ACS 發送 Inform “ M ChangeDUState ”,ACS 收到通知後,
則呼叫 RPC Method 中的 ChangeDUState 方法,並且傳入下載連結,ChangeDUState 方法所傳入的參數如圖 4.6。CPE 進行服務下載之前,使用者需先透過 Google OAuth2.0 認證方式,經由 CPE 授權給此應用程式,允許應用程式存取所需的使用者個人資料,
如 email、Google 日曆或聯絡人等,同意授權之後,CPE 才會開始進行模組下載。CPE 完成模組下載之後,CPE 向 ACS 發送 Inform“ 11 DU STATE CHANGE COMPLETE ” 通知下載流程完畢,並且再呼叫 RPC Method 中的 DUStateChangeComplete 方法,將 下載結果(CurrentState = Install)與版本(Version)傳入,最後 ACS 會更新資料庫中 CPE 的模組版本資訊;若在授權流程中,使用者拒絕讓應用程式存取個人資料,則 CPE 不
圖 4.3 setParameterValue 方法格式
圖 4.4 開機與自動配置步驟
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
45
進行模組下載,但同樣會呼叫 RPC Method 中的 DUStateChangeComplete,並傳入下載 結果為未安裝(Uninstall)以及錯誤代碼(Fault Code)9017,代表無法完成此模組下載,
DUStateChangeComplete 方法所傳入的參數如圖 4.7,詳細流程步驟如圖 4.8。
圖 4.3 DUStateComplete 方法格式
圖 4.4 模組下載與更新步驟 圖 4.5 TimerTask 程式碼
圖 4.6 ChangeDUState 方法格式
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
46
4.2.3 系統更新
此項功能實作同樣透過 Java 的 TimerTask 來完成,CPE 在定期向 ACS 檢查模組 版本時,也會同時進行系統更新的檢查。系統更新的實際運作流程為,當 CPE 系統需 要進行更新時,CPE 會透過 RPC Method 的 Inform,其中包含 event code 為“ 7 TANSFER COMPLETE ”、 “ M Download ”通知 ACS,ACS 會呼叫 RPC Method 的 Download 方 法,傳入新版本的連結資訊,提供 CPE 進行更新,方法所傳入的參數如圖 4.9,若更 新完成,CPE 需要重新啟動,則再向 ACS 發出 RPC Method 的 Inform,其中 event code 為“ 1 BOOT ”、 “ M Reboot ”,ACS 呼叫 RPC Method 的 Reboot,使 CPE 重新啟動。
當所有更新程序完成,CPE 會透過 RPC Method 的 TransferComplete 告知 ACS,ACS 會更新資料庫中的系統版本資訊,完成版本更新程序,TransferComplete 方法所傳入 的參數如圖 4.10。若更新過程中發生錯誤,無法完成更新,則 CPE 也會透過 RPC Method 的 TransferComplete,並傳入與錯誤原因相符的錯誤代碼,詳細流程步驟如圖 4.11。
圖 4.5 Download 方法格式
圖 4.6 TransferComplete 方法格式
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
47
圖 4.7 系統更新步驟