一種關鍵點控制的嵌入式設備自動在線升級
基于關鍵點控制的升級方案是針對于上述雙系統升級方案的優化和改進,通過業務分析和統計,為了修改增強業務功能或者修改BUG,終端升級的絕大部分場景是需要升級正常運行系統,如果能夠實現在正常運行系統中能夠升級自身,升級過程對用戶透明,則能夠解做到絕大部分升級過程用戶不可見。同時由于基本運行系統也會存在BUG或者需要增強功能,也有需要升級基本運行系統的情況。
本方案通過在系統中設定關鍵點,在升級過程中通過關鍵點值控制升級的流程,保證系統軟件升級安全性,同時做到升級過程對用戶透明,而且除了能夠升級正常運行系統外還可以升級基本運行系統(如基本運行系統中存在BUG需要修改時),增強了終端的靈活性,另外升級過程引入了XML格式的升級控制文件,有效的控制了網絡版本的兼容性。關鍵點記錄了當前系統軟件的狀態。根據當前系統軟件狀態的不同,軟件升級的流程不同,在基本運行系統和正常運行系統中都包含下面的關鍵點,各個關鍵點的取值和代表含義如下:
(1)系統啟動未驗證(SSNV):系統升級完成后沒有啟動過,此時不能保證系統能夠正常啟動,不能保證系統能夠運行業務功能,即沒有驗證系統的升級功能;正常運行系統處于SSNV狀態時,不能在該正常運行系統下升級基本運行系統,否則可能會出現2個系統都不能正常啟動的狀態。同樣基本運行系統處于SSNV狀態時,不能在該基本運行系統中升級正常運行系統。
(2)系統升級未驗證(SUNV):系統已經正常啟動,業務功能正常運行,但沒有驗證系統的升級功能。如果正常運行系統的升級功能沒有驗證,則不能在該系統下升級基本運行系統,否則可能會造成基本運行系統被破壞,同時正常運行系統沒有升級功能的情況,以后終端再也不具有在線升級的功能。同樣基本運行系統處于SUNV狀態時,不能在正常運行系統中直接升級正常運行系統本身,需要重啟進入基本運行系統進行升級;
(3)系統升級已驗證(SUV):系統除了業務功能正常外,升級功能已經驗證過,能夠進行正常的升級。該狀態表明系統功能完全經過驗證,如基本運行系統處于SUV狀態,則在正常運行系統中可以自動升級自身,正常運行系統處于SUV狀態時,可以在正常運行系統中升級基本運行系統。
升級方案的具體控制流程中包含了關鍵點控制和判斷使用的時機,終端啟動后判斷從哪個系統啟動,如果從正常運行系統啟動成功,此時假設正常運行系統的關鍵點狀態為SSNV狀態,則設置為SUNV狀態(如圖3所示)。
評論