一種關(guān)鍵點控制的嵌入式設(shè)備自動在線升級
系統(tǒng)運行過程中檢測到有新版本需要升級正常運行系統(tǒng),則判斷基本運行系統(tǒng)的關(guān)鍵點狀態(tài),如果為SUV狀態(tài),則直接在正常運行系統(tǒng)中升級該升級包,否則需要設(shè)置從基本運行系統(tǒng)啟動,并重啟終端后在基本運行系統(tǒng)中升級該升級包。如果檢測到需要升級基本運行系統(tǒng),則判斷正常運行系統(tǒng)關(guān)鍵點狀態(tài),如果為SUV狀態(tài),則直接在基本運行系統(tǒng)中升級該升級包,升級完成后設(shè)置正常運行系統(tǒng)的關(guān)鍵點狀態(tài)為SSNV狀態(tài),否則忽略該升級包(如圖4所示)。在基本運行系統(tǒng)啟動成功,如果此時基本運行系統(tǒng)的關(guān)鍵點狀態(tài)為SSNV狀態(tài),則設(shè)置為SUNV狀態(tài)(如圖5所示)。基本運行系統(tǒng)的主要功能就是完成正常運行系統(tǒng)的升級。啟動后如果檢測到有新版本需要升級正常運行系統(tǒng),則下載該升級包進行升級業(yè)務(wù),升級完成后設(shè)置正常運行系統(tǒng)的關(guān)鍵點狀態(tài)為SSNV狀態(tài),并表示基本運行系統(tǒng)的關(guān)鍵點狀態(tài)為SUV狀態(tài)(如圖6所示)。
通過上述的關(guān)鍵點控制,該升級方案保證了任何情況下都有一個系統(tǒng)是能夠正常運行升級系統(tǒng),不會出現(xiàn)終端因為升級過程斷電等因素造成升級失敗后,不能再自動恢復(fù)的問題,對終端升級的安全性有較大的提升。例如在正常運行系統(tǒng)中升級正常運行系統(tǒng)時,基本運行系統(tǒng)保證是SUV狀態(tài),如果出現(xiàn)斷電情況,終端重啟后進入基本運行系統(tǒng)中可以把正常運行系統(tǒng)升級;在正常運行系統(tǒng)中升級基本運行系統(tǒng)時,正常運行系統(tǒng)保證是SUV狀態(tài),如果出現(xiàn)斷電情況,終端重啟后進入正常運行系統(tǒng)可以繼續(xù)升級基本運行系統(tǒng);在基本運行系統(tǒng)中升級正常運行系統(tǒng)時,基本運行系統(tǒng)保證是SUV狀態(tài),如果出現(xiàn)斷電情況,終端重啟后進入基本運行系統(tǒng)可以繼續(xù)升級正常運行系統(tǒng)。該升級方案中不允許在基本運行系統(tǒng)中升級自身。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論