新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于WinCE的智能終端自動升級引擎設計

基于WinCE的智能終端自動升級引擎設計

作者: 時間:2012-03-21 來源:網(wǎng)絡 收藏

3.2 的流程

(1)在運行主程序時就啟動升級模塊,從服務器下載最新的版本號,如果對比當前版本號過時,則提示是否升級。

(2)在獲取網(wǎng)絡連接正常且?guī)捲试S的情況下,確認升級。

(3)服務器接收到升級請求后,向數(shù)據(jù)庫獲取新舊版本的版本信息和文件信息列表,通過任意版本間版本信息的比較算法獲取需要更新、刪除、添加的文件列表。

(4)通過獲取到的需要更新、刪除、添加的文件列表下載相關的升級模塊來進行軟件的。

(5)顯示下載進度。

(6)下載完畢后,對要注冊的文件進行注冊。

(7)升級完成,關閉升級模塊,運行主程序。

(8)在主程序運行過程中檢測、獲取服務器過來的版本信息。

(9)如發(fā)現(xiàn)過來版本升級信息,回到第4步。

(10)關閉主程序。

4.版本信息數(shù)據(jù)庫和算法的設計

4.1 版本信息數(shù)據(jù)庫的設計

(1)tab_ver_all(歷史版本控制表)

該表數(shù)據(jù)項說明如表一所示:

表一 歷史版本控制表

列名

數(shù)據(jù)類型

長度

是否為空

意義

ID

integer

2

N

標志一條記錄

Ver_number

verchar

6

N

智能終端軟件版本號

Ver_date

date

20

N

軟件發(fā)布日期

Ver_remark

verchar

100

Y

備注

(2)tab_ver_info(版本信息控制表)

該表數(shù)據(jù)項說明如表二所示:

表二 版本信息控制表

列名

數(shù)據(jù)類型

長度

是否為空

意義

ID

integer

2

N

標志一條記錄

FileName

verchar

20

N

文件名

BelongVer

verchar

10

N

所屬版本,與tab_ver_info建立外鍵關系

FileVer

verchar

10

N

文件版本

FileSize

verchar

20

N

文件大小

ServerList

verchar

60

N

服務器安裝目錄

ClientList

verchar

60

N

智能終端安裝目錄

FileDate

date

20

N

文件發(fā)布日期

fileRemark

verchar

100

Y

備注

4.2 任意版本間版本信息比較的算法設計

4.2.1 算法設計的目的

本算法接收新舊版本號,運算后按照接口字符串協(xié)議提供給上層應用需要更新、刪除、添加的文件列表字符串。

4.2.2 算法設計的思路和流程

(1)根據(jù)輸入的新舊版本號查詢版本信息控制表,獲取到新舊版本的文件名列表。

(2)把新舊版本的文件名列表放入new()和old()兩個數(shù)組中,進行第一次循環(huán)比較:相同的文件放入same()數(shù)組中,多余的文件放入del()數(shù)組中,沒有的文件放入add()數(shù)組中。由此已經(jīng)確定了需要刪除、添加的文件名列表。

(3)再根據(jù)輸入的新舊版本號和same()數(shù)組中的相同文件名查詢版本信息控制表中相同文件名的文件版本號,進行第二次循環(huán)比較:文件版本號相同的文件保留,不同的則放入update()數(shù)組中,由此最終確定了需要更新的文件名列表。

(4)通過得到的三類文件名列表查詢版本信息控制表獲取完整包括文件名、文件大小、服務器安裝目錄、智能終端安裝目錄等文件信息。

(5)按照接口字符串協(xié)議打包生成需要更新、刪除、添加的文件列表字符串提供給上層應用解包后完成軟件需要更新、刪除、添加文件的分發(fā)下載。



評論


相關推薦

技術專區(qū)

關閉