新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于關鍵點控制的網絡嵌入式設備在線升級的實現

        基于關鍵點控制的網絡嵌入式設備在線升級的實現

        作者: 時間:2013-10-14 來源:網絡 收藏
        隨著技術的發展,在網絡終端設備中有越來越廣泛的應用。在實際使用中,為了擴展業務功能、解決軟件中存在的問題和提升設備性能,或者為了滿足設備的定制業務(如廣告業務),需要對嵌入式設備的軟件系統或者資源文件及時進行更新,就是軟件系統的升級業務。目前,嵌入式設備軟件更新有2種方式:一種是在本地使用PC機通過串口(或者網口)將軟件下載到設備中完成軟件系統的升級;另一種是利用網絡進行。前者只能在本地進行軟件升級操作,不能夠批量更新,適合于實驗室調試使用,而后者能夠對網絡中在線終端進行批量升級,得到廣泛的應用。實際上,軟件已經成為網絡終端設備的一項基本功能,軟件的方案不同,升級過程的特點和安全性也不相同。

        1 系統軟件升級常用方案

        網絡終端設備的系統軟件保存在FLASH中,系統啟動時把系統軟件加載到內存中運行,軟件升級的本質是從網絡下載新的系統軟件內容,把原來系統軟件內容擦除,然后寫入新的系統軟件,系統重啟后加載新的系統軟件。常用的升級方案包括單系統升級方案和雙系統升級方案:

        (1)單系統升級方案(如圖1所示):系統啟動后進行正常的業務功能,此時網絡后臺檢測終端版本號判斷是否有新版本可升級,如果檢測到當前終端的版本號低于最新版本號,則立即從網絡下載升級包啟動升級過程,在用戶進行業務功能的過程中后臺完成對于原系統軟件的擦除,并寫入新的系統軟件和更新當前版本號。該升級過程對于用戶是透明的,用戶只有在終端重啟后再加載新的系統軟件。但是該升級方案的安全性比較弱,因為如果內容擦除后終端斷電或者重啟,則終端中系統軟件被破壞,沒有可用的系統軟件,終端以后再不能正常啟動,必須技術支持人員到現場完成軟件修復升級。另外,如果新寫入的系統軟件因為網絡傳輸或者其他原因存在錯誤時,也會上面的結果。這種升級方案存在較明顯的安全性缺陷,現在已經較少使用。


        (2)雙系統升級方案(如圖2所示):為了增強升級過程的安全性,出現了雙系統的升級方案,通常的處理是終端中存在一個基本運行系統和一個正常運行系統,分別處于FLASH的不同分區中,基本運行系統只用于升級正常運行系統軟件,正常運行系統完成用戶的正常業務。業務過程中自動從網絡檢測最新版本號,判斷是否需要升級系統軟件,如果檢測到有需要升級的系統軟件,則終端設置從基本運行系統啟動并提示用戶重啟系統。終端從基本運行系統啟動后,從網絡下載正常運行系統軟件并完成升級過程,寫入完成后更新當前版本號,設置從正常運行系統啟動后重啟,終端從正常運行系統啟動,進行正常的用戶業務。

        該升級方案克服上單系統升級方案中安全性的缺陷,升級過程中如果出現終端異常斷電或者重啟,只有正常運行系統軟件的被破壞,最小備份系統保持正常是升級功能,系統重啟后繼續從最小備份系統啟動,完成系統升級功能。目前網絡設備中常會使用該升級,但這種升級方案每次都需要重啟系統,且用戶需要停止業務進行系統軟件的升級,整個升級過程用戶只能等待,對于現在用戶體驗越來越重要的終端設備,該升級方案有較明顯的易用性缺陷。

        2 基于的系統軟件升級方案

        基于的升級方案是針對于上述雙系統升級方案的優化和改進,通過業務分析和統計,為了修改增強業務功能或者修改BUG,終端升級的絕大部分場景是需要升級正常運行系統,如果能夠實現在正常運行系統中能夠升級自身,升級過程對用戶透明,則能夠解做到絕大部分升級過程用戶不可見。同時由于基本運行系統也會存在BUG或者需要增強功能,也有需要升級基本運行系統的情況。

        本方案通過在系統中設定關鍵點,在升級過程中通過關鍵點值控制升級的流程,保證系統軟件升級安全性,同時做到升級過程對用戶透明,而且除了能夠升級正常運行系統外還可以升級基本運行系統(如基本運行系統中存在BUG需要修改時),增強了終端的靈活性,另外升級過程引入了XML格式的升級控制文件,有效的控制了網絡版本的兼容性。關鍵點記錄了當前系統軟件的狀態。根據當前系統軟件狀態的不同,軟件升級的流程不同,在基本運行系統和正常運行系統中都包含下面的關鍵點,各個關鍵點的取值和代表含義如下:

        (1)系統啟動未驗證(SSNV):系統升級完成后沒有啟動過,此時不能保證系統能夠正常啟動,不能保證系統能夠運行業務功能,即沒有驗證系統的升級功能;正常運行系統處于SSNV狀態時,不能在該正常運行系統下升級基本運行系統,否則可能會出現2個系統都不能正常啟動的狀態。同樣基本運行系統處于SSNV狀態時,不能在該基本運行系統中升級正常運行系統。

        (2)系統升級未驗證(SUNV):系統已經正常啟動,業務功能正常運行,但沒有驗證系統的升級功能。如果正常運行系統的升級功能沒有驗證,則不能在該系統下升級基本運行系統,否則可能會造成基本運行系統被破壞,同時正常運行系統沒有升級功能的情況,以后終端再也不具有在線升級的功能。同樣基本運行系統處于SUNV狀態時,不能在正常運行系統中直接升級正常運行系統本身,需要重啟進入基本運行系統進行升級;

        (3)系統升級已驗證(SUV):系統除了業務功能正常外,升級功能已經驗證過,能夠進行正常的升級。該狀態表明系統功能完全經過驗證,如基本運行系統處于SUV狀態,則在正常運行系統中可以自動升級自身,正常運行系統處于SUV狀態時,可以在正常運行系統中升級基本運行系統。

        升級方案的具體控制流程中包含了和判斷使用的時機,終端啟動后判斷從哪個系統啟動,如果從正常運行系統啟動成功,此時假設正常運行系統的關鍵點狀態為SSNV狀態,則設置為SUNV狀態(如圖3所示)。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 正蓝旗| 额济纳旗| 崇仁县| 许昌县| 海盐县| 招远市| 浙江省| 蓝山县| 全州县| 封开县| 阿巴嘎旗| 巴楚县| 来安县| 和顺县| 遵化市| 成都市| 密山市| 南昌市| 灵武市| 丰镇市| 阜南县| 墨竹工卡县| 荔波县| 射阳县| 灌阳县| 海南省| 津南区| 西青区| 阜城县| 浑源县| 乌兰浩特市| 诸城市| 北票市| 黔东| 科技| 南雄市| 抚远县| 临泽县| 江门市| 兴安盟| 璧山县|