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