皮素梅
(沈陽工學院 遼寧 撫順 113122)
OTA(Over-the-Air Technology)是指終端通過無線網(wǎng)絡下載遠程服務器上的升級包,對系統(tǒng)或應用進行升級的技術。有些情況下,公安、醫(yī)院等特殊部門不需要這樣復雜的流程,只需要在局域網(wǎng)內(nèi)實現(xiàn)升級即可,也不需要在服務器界面配置或者查看升級率等復雜的功能。對于這些市場需求,我們只需開發(fā)簡易的服務器,完成檢測下載即可。這種實現(xiàn)方式,使得服務器具有靈活性。
隨著時代的發(fā)展,現(xiàn)在警務通設備、醫(yī)院的醫(yī)療終端都需要系統(tǒng)升級,這些特定場所的系統(tǒng)升級都必須使用局域網(wǎng)。經(jīng)調(diào)查研究,我們采用輕量級的系統(tǒng)升級方案,設計一個服務器的安裝包,將此安裝包放置到特定場所的一臺設備上,進行相應的安裝,這臺設備就變成了一個管理版本和配置升級策略的服務器,按照特定的格式配置好升級包和升級策略。終端根據(jù)服務器的配置方案進行版本的檢測下載即可。系統(tǒng)框架見圖1。
圖1 系統(tǒng)架構(gòu)圖
我們利用apache服務器的配置以及FTP的文件傳輸協(xié)議搭建了一個簡易服務器的框架,設定服務器的配置文件夾為hmctdocs,其中hmctdocs文件夾中設置upgrade目錄和updateinfo.xml,其中upgrade放置需要升級的升級包,updateinfo.xml放置升級策略的文件。在需要配置服務器的主機上直接安裝應用程序,安裝完成后,我們的下載路徑和配置升級策略的文件也就準備好了[1]。
其中,updateinfo.xml的結(jié)構(gòu)如下:
每一個updateinfo節(jié)點為一條升級策略,此配置文件中可以有多條升級策略,即包含多條的內(nèi)容。
局域網(wǎng)升級的服務器沒有復雜的界面設置,在配置文件中配置好各個節(jié)點即可。
客戶端首先配置需要檢測升級包的服務器的IP,手動輸入IP后,終端去檢測版本時直接去下載http://ip/server/hmctdocs/updateinfo.xml。下載解析文件完畢后,查看文件中的IMEI、軟件版本號、產(chǎn)品型號是否和終端的IMEI、軟件版本號、產(chǎn)品型號匹配。如果數(shù)據(jù)匹配就說明有新版本,接著下載upgrade文件夾下的升級包即可。如果數(shù)據(jù)不匹配,說明沒有新版本,提示用戶已經(jīng)是最新版本即可[2]。
其中,客戶端檢測版本的流程見圖2。
圖2 客戶端檢測版本的流程圖
下載完畢升級包,會通過下載的升級包在本地生成一個sha256sum,判斷本地的sha256sum與服務器上的sha256sum是否一致,如果不一致,提示用戶升級包出錯,請等待最新版本。如果一致就顯示下載成功,提示用戶立即安裝[3]。如果用戶不立即安裝,設置每天提醒用戶安裝的方式,便于提高升級率。
移動終端的公網(wǎng)系統(tǒng)升級和局域網(wǎng)系統(tǒng)升級的差別主要體現(xiàn)在兩個方面:第一方面就是服務器,公網(wǎng)的服務器需要評估服務器的性能、帶寬,以及CDN加速等,考慮產(chǎn)品的創(chuàng)建、源版本和目標版本的管理,升級策略的配置,對于特定用戶的局域網(wǎng)配置,我們不需要考慮服務器的性能、帶寬,以及CDN加速等,只需要搭建好一般配置的服務器,寫好配置文件,把制作好的升級包放到相應的目錄下即可。
第二方面就是移動終端,不論是公網(wǎng)還是局域網(wǎng)系統(tǒng)升級,移動終端都需要和其檢測升級包的服務器一一匹配,在公網(wǎng)的系統(tǒng)升級中,連接服務器和移動終端的需要SDK文件,客戶端調(diào)用SDK里的方法去上傳移動終端的產(chǎn)品名和IMEI,移動終端獲得服務器下發(fā)的token,去服務器認證這個設備是否合法。在局域網(wǎng)系統(tǒng)升級中,只需要將服務器的IP配置到終端,終端通過下載服務器的配置文件,解析配置文件后,將服務器的產(chǎn)品型號、軟件版本號、IMEI和移動終端的相關數(shù)據(jù)進行比對,如果數(shù)據(jù)匹配,就說明有新版本;如果不匹配,則提示用戶當前版本已經(jīng)是最新版本。
在局域網(wǎng)升級系統(tǒng)中沒有繁瑣的界面上的產(chǎn)品型號的創(chuàng)建,版本的上傳,升級策略的配置,只要配置一個文件即可。在局域網(wǎng)的升級系統(tǒng)中有一步是終端配置服務器的IMEI,用戶進入移動終端的系統(tǒng)更新界面,可以直接設置其IP進行版本檢測。此步驟可以優(yōu)化的空間如下:由于使用局域網(wǎng)升級系統(tǒng)的用戶職業(yè)的特殊性,針對這一情況,我們可以將服務器的IP,在移動終端配置好。將不同用戶的服務器IP和用戶代碼寫成一個數(shù)據(jù)組(四川公安,10.22.33.55;青島市立醫(yī)院,11.13.44.56),在檢測版本時移動終端通過數(shù)據(jù)組去自動獲取服務器的IP。這種優(yōu)化的前提是必須確定使用移動終端進行局域網(wǎng)系統(tǒng)升級的場所中局域網(wǎng)的IP。
本方案的局域網(wǎng)升級系統(tǒng)已經(jīng)在高通平臺(SDM450)、MTK平臺(MTK 6739)、展訊平臺上實現(xiàn)了。
高通64位SDM450智能平臺解決方案,八核1.8 GHz,存儲器64 GB(eMMC)+ 4 GB(LPDDR3)的eMCP(兼容32+4),android o的移動終端。
服務器的處理器是Inter(R)Core(TM)i5-8250U CPU @ 1.60 GHz 1.80 GHz,內(nèi)存8 G,64位操作系統(tǒng)的Windows 10系統(tǒng)。
在服務器安裝上應用程序后,作為局域網(wǎng)系統(tǒng)升級的服務器。在以上3種平臺上分別測試了差分升級、整包升級、IMEI黑名單的功能,測試結(jié)果都升級成功了。
本文設計了基于Android平臺的局域網(wǎng)輕量級系統(tǒng)升級,采用局域網(wǎng)系統(tǒng)升級,省掉了服務器的設計、搭建以及界面開發(fā),安裝上我們的服務器軟件應用程序即可搭建好局域網(wǎng)服務器,相比公網(wǎng)服務器的配置省時省力省錢??蛻舳酥恍枰馕雠渲梦募纯?,不需要通過SDK和服務器進行繁瑣的交互,測試表明該方案簡單易用。