基于關鍵點控制的網絡嵌入式設備在線升級的實現
系統運行過程中檢測到有新版本需要升級正常運行系統,則判斷基本運行系統的關鍵點狀態,如果為SUV狀態,則直接在正常運行系統中升級該升級包,否則需要設置從基本運行系統啟動,并重啟終端后在基本運行系統中升級該升級包。如果檢測到需要升級基本運行系統,則判斷正常運行系統關鍵點狀態,如果為SUV狀態,則直接在基本運行系統中升級該升級包,升級完成后設置正常運行系統的關鍵點狀態為SSNV狀態,否則忽略該升級包(如圖4所示)。在基本運行系統啟動成功,如果此時基本運行系統的關鍵點狀態為SSNV狀態,則設置為SUNV狀態(如圖5所示)。基本運行系統的主要功能就是完成正常運行系統的升級。啟動后如果檢測到有新版本需要升級正常運行系統,則下載該升級包進行升級業務,升級完成后設置正常運行系統的關鍵點狀態為SSNV狀態,并表示基本運行系統的關鍵點狀態為SUV狀態(如圖6所示)。

通過上述的關鍵點控制,該升級方案保證了任何情況下都有一個系統是能夠正常運行升級系統,不會出現終端因為升級過程斷電等因素造成升級失敗后,不能再自動恢復的問題,對終端升級的安全性有較大的提升。例如在正常運行系統中升級正常運行系統時,基本運行系統保證是SUV狀態,如果出現斷電情況,終端重啟后進入基本運行系統中可以把正常運行系統升級;在正常運行系統中升級基本運行系統時,正常運行系統保證是SUV狀態,如果出現斷電情況,終端重啟后進入正常運行系統可以繼續升級基本運行系統;在基本運行系統中升級正常運行系統時,基本運行系統保證是SUV狀態,如果出現斷電情況,終端重啟后進入基本運行系統可以繼續升級正常運行系統。該升級方案中不允許在基本運行系統中升級自身。

3 結語
該方法在醫療呼叫系統中進行了應用與驗證,嵌入式系統基于S3C2440處理器,負責系統中醫療信息的發布、查詢,語音呼叫及醫療增援服務,其中床頭機、醫護機、門口機均采用該系統,醫療呼叫系統需要全天候工作,不可能指定時間對系統升級,且升級過程需要用戶不可見,通過應用本方法能夠方便的升級系統軟件,以修復軟件BUG或者增強軟件服務。升級過程中用戶不可見,且升級完成后不需要重啟終端,對于升級的易用性和友好性有較大改進。
本文分析了常用的網絡終端設備在線升級的方案,在保證在線升級過程安全的基礎上,通過對雙系統升級方法的優化和改進,通過關鍵點狀態的記錄和判斷,實現了絕大部分情況下,可以在正常運行系統中直接升級正常運行系統,升級完成后不需要重啟系統,做到升級過程對用戶透明。同時在原來只能升級正常運行系統的基礎上,支持升級基本運行系統的功能,對于提升網絡終端設備在線升級的易用性和安全性有較大的幫助。
評論