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