新聞中心

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

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

        作者: 時間:2012-03-21 來源:網絡 收藏

        3.2 的流程

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

        (2)在獲取網絡連接正常且帶寬允許的情況下,確認升級。

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

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

        (5)顯示下載進度。

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

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

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

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

        (10)關閉主程序。

        4.版本信息數據庫和算法的設計

        4.1 版本信息數據庫的設計

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

        該表數據項說明如表一所示:

        表一 歷史版本控制表

        列名

        數據類型

        長度

        是否為空

        意義

        ID

        integer

        2

        N

        標志一條記錄

        Ver_number

        verchar

        6

        N

        智能終端軟件版本號

        Ver_date

        date

        20

        N

        軟件發布日期

        Ver_remark

        verchar

        100

        Y

        備注

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

        該表數據項說明如表二所示:

        表二 版本信息控制表

        列名

        數據類型

        長度

        是否為空

        意義

        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

        文件發布日期

        fileRemark

        verchar

        100

        Y

        備注

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

        4.2.1 算法設計的目的

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

        4.2.2 算法設計的思路和流程

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

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

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

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

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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 启东市| 乐山市| 怀柔区| 安吉县| 泽州县| 漳浦县| 定南县| 平舆县| 金乡县| 江孜县| 射洪县| 乡城县| 灵宝市| 商都县| 临泽县| 北碚区| 宜黄县| 永济市| 平果县| 凌海市| 昌江| 长泰县| 鄯善县| 南木林县| 团风县| 高台县| 兴隆县| 远安县| 黎平县| 门头沟区| 蒙城县| 钦州市| 合山市| 南充市| 洪雅县| 双牌县| 临清市| 莒南县| 讷河市| 云和县| 桐庐县|