一種嵌入式設備以及一種軟件升級方法
【技術(shù)領域】
[0001]本發(fā)明涉及嵌入式開發(fā)領域,特別是涉及一種嵌入式設備以及一種軟件升級方法。
【背景技術(shù)】
[0002]在嵌入式設備中,系統(tǒng)軟件一般都存放在可擦寫中存儲中,在可用性要求不高的設備中,系統(tǒng)軟件一般只有一份,在出現(xiàn)人為誤操作、存儲設備損壞等情況時,一般都無法恢復。在可用性要求較高的設備中,比如電信設備,通常系統(tǒng)軟件都有兩份,并且會為備份,但是系統(tǒng)的升級策略,相對比較簡單和直接,無法適應系統(tǒng)碰到的所有情況,且不能對軟件的升級過程進行較好的控制。
【發(fā)明內(nèi)容】
[0003]鑒于以上所述現(xiàn)有技術(shù)的缺點,本發(fā)明的目的在于提供一種嵌入式設備以及一種軟件升級方法,用于解決現(xiàn)有技術(shù)中升級過程簡單,缺乏狀態(tài)控制,且無法根據(jù)用戶的多種升級需求對軟件升級進行較好的控制的問題。
[0004]為實現(xiàn)上述目的及其他相關目的,本發(fā)明提供一種嵌入式設備,包括:狀態(tài)機,用以根據(jù)檢測的激活分區(qū)的軟件版本獲得的激活分區(qū)版本標識符以及根據(jù)檢測的非激活分區(qū)的軟件版本獲得的非激活分區(qū)版本標識符,確定其所處的狀態(tài);網(wǎng)管模塊,用以根據(jù)檢測的所述狀態(tài)機的狀態(tài)或接收的外部控制命令,執(zhí)行所述激活分區(qū)或所述非激活分區(qū)的軟件的版本更新或回退操作。
[0005]可選的,所述激活分區(qū)版本標識符為O時,標識所述激活分區(qū)的所述軟件版本為正常版本,所述激活分區(qū)版本標示符為I時,標識所述激活分區(qū)的所述軟件版本為新版本;當所述非激活分區(qū)版本標識符為O時,標識所述非激活分區(qū)的所述軟件版本為正常版本,當所述非激活分區(qū)版本標識符為I時,標識所述非激活分區(qū)的所述軟件版本為新版本,當所述非激活分區(qū)版本標識符為-1時,標識所述非激活分區(qū)的所述非激活分區(qū)不具有相關軟件。
[0006]可選的,所述狀態(tài)機至少包括以下狀態(tài)中的一種或多種:1)當所述激活分區(qū)版本標識符為O且所述非激活分區(qū)版本標識符為O時,所述狀態(tài)機處于正常狀態(tài);2)當所述激活分區(qū)版本標識符為0,且所述非激活分區(qū)版本標識符為I時,所述狀態(tài)機處于需復位狀態(tài);3)當所述激活分區(qū)版本標識符為I,且所述非激活分區(qū)版本標識符為O時,所述狀態(tài)機處于需同步狀態(tài);4)當所述激活分區(qū)版本標識符為1,且所述非激活分區(qū)版本標識符為I時,所述狀態(tài)機處于待提交狀態(tài);5)當所述激活分區(qū)版本標識符為0,且所述非激活分區(qū)版本標識符為-1時,或當所述激活分區(qū)版本標識符為1,且所述非激活分區(qū)版本標識符為-1時,所述狀態(tài)機處于異常狀態(tài)。
[0007]可選的,所述網(wǎng)管模塊當檢測到所述狀態(tài)機處于所述異常狀態(tài)時,令所述非激活分區(qū)根據(jù)所述激活分區(qū)中的所述軟件執(zhí)行更新操作。
[0008]可選的,當所述狀態(tài)機處于所述正常狀態(tài)時,接收到外部升級指令時,令所述非激活分區(qū)根據(jù)預設通道獲取更新的軟件,以令所述狀態(tài)機處于所述需復位狀態(tài);所述網(wǎng)管模塊當檢測到所述狀態(tài)機處于所述需復位狀態(tài)時,重啟所述嵌入式設備,令所述激活分區(qū)根據(jù)所述非激活分區(qū)的軟件執(zhí)行更新操作,以令所述狀態(tài)機處于所述需同步狀態(tài);所述網(wǎng)管模塊當檢測到所述狀態(tài)機處于所述需同步狀態(tài)時,令所述非激活分區(qū)根據(jù)所述激活分區(qū)的軟件執(zhí)行更新操作,以令所述狀態(tài)機處于所述待提交狀態(tài),且當檢測到所述激活分區(qū)中的軟件運行異常時,令所述激活分區(qū)根據(jù)所述非激活分區(qū)的軟件執(zhí)行回退操作,且令所述狀態(tài)機處于需復位狀態(tài);所述網(wǎng)管模塊當檢測到所述狀態(tài)機處于所述待提交狀態(tài)時,確認所述激活分區(qū)以及所述非激活分區(qū)的軟件升級完成,并令所述激活分區(qū)版本標識符為O且所述非激活分區(qū)版本標識符為0,所述狀態(tài)機處于正常狀態(tài)。
[0009]為實現(xiàn)上述目的及其他相關目的,本發(fā)明還提供一種軟件升級方法,應用于一嵌入式設備中,包括以下步驟:根據(jù)檢測的激活分區(qū)的軟件版本獲得的激活分區(qū)版本標識符以及根據(jù)檢測的非激活分區(qū)的軟件版本獲得的非激活分區(qū)版本標識符,確定一狀態(tài)機所處的狀態(tài);根據(jù)檢測的所述狀態(tài)機的狀態(tài)或接收的外部控制命令,執(zhí)行所述激活分區(qū)或所述非激活分區(qū)的軟件的版本更新或回退操作。
[0010]可選的,所述激活分區(qū)版本標識符為O時,標識所述激活分區(qū)的所述軟件版本為正常版本,所述激活分區(qū)版本標示符為I時,標識所述激活分區(qū)的所述軟件版本為新版本;當所述非激活分區(qū)版本標識符為O時,標識所述非激活分區(qū)的所述軟件版本為正常版本,當所述非激活分區(qū)版本標識符為I時,標識所述非激活分區(qū)的所述軟件版本為新版本,當所述非激活分區(qū)版本標識符為-1時,標識所述非激活分區(qū)的所述非激活分區(qū)不具有相關軟件。
[0011]可選的,所述狀態(tài)機至少包括以下狀態(tài)中的一種或多種:1)當所述激活分區(qū)版本標識符為O且所述非激活分區(qū)版本標識符為O時,所述狀態(tài)機處于正常狀態(tài);2)當所述激活分區(qū)版本標識符為0,且所述非激活分區(qū)版本標識符為I時,所述狀態(tài)機處于需復位狀態(tài);3)當所述激活分區(qū)版本標識符為I,且所述非激活分區(qū)版本標識符為O時,所述狀態(tài)機處于需同步狀態(tài);4)當所述激活分區(qū)版本標識符為1,且所述非激活分區(qū)版本標識符為I時,所述狀態(tài)機處于待提交狀態(tài);5)當所述激活分區(qū)版本標識符為0,且所述非激活分區(qū)版本標識符為-1時,或當所述激活分區(qū)版本標識符為1,且所述非激活分區(qū)版本標識符為-1時,所述狀態(tài)機處于異常狀態(tài)。
[0012]可選的,當檢測到所述狀態(tài)機處于所述異常狀態(tài)時,令所述非激活分區(qū)根據(jù)所述激活分區(qū)中的所述軟件執(zhí)行更新操作。
[0013]可選的,當所述狀態(tài)機處于所述正常狀態(tài)時,接收到外部升級指令時,令所述非激活分區(qū)根據(jù)預設通道獲取更新的軟件,以令所述狀態(tài)機處于所述需復位狀態(tài);所述網(wǎng)管模塊當檢測到所述狀態(tài)機處于所述需復位狀態(tài)時,重啟所述嵌入式設備,令所述激活分區(qū)根據(jù)所述非激活分區(qū)的軟件執(zhí)行更新操作,以令所述狀態(tài)機處于所述需同步狀態(tài);所述網(wǎng)管模塊當檢測到所述狀態(tài)機處于所述需同步狀態(tài)時,令所述非激活分區(qū)根據(jù)所述激活分區(qū)的軟件執(zhí)行更新操作,以令所述狀態(tài)機處于所述待提交狀態(tài),且當檢測到所述激活分區(qū)中的軟件運行異常時,令所述激活分區(qū)根據(jù)所述非激活分區(qū)的軟件執(zhí)行回退操作,且令所述狀態(tài)機處于需復位狀態(tài);所述網(wǎng)管模塊當檢測到所述狀態(tài)機處于所述待提交狀態(tài)時,確認所述激活分區(qū)以及所述非激活分區(qū)的軟件升級完成,并令所述激活分區(qū)版本標識符為O且所述非激活分區(qū)版本標識符為O,所述狀態(tài)機處于正常狀態(tài)。
[0014]如上所述,本發(fā)明的一種嵌入式設備以及一種軟件升級方法,根據(jù)檢測的激活分區(qū)的軟件版本獲得的激活分區(qū)版本標識符以及根據(jù)檢測的非激活分區(qū)的軟件版本獲得的非激活分區(qū)版本標識符,確定一狀態(tài)機所處的狀態(tài);根據(jù)檢測的所述狀態(tài)機的狀態(tài)或接收的外部控制命令,執(zhí)行所述激活分區(qū)或所述非激活分區(qū)的軟件的版本更新或回退操作。本發(fā)明可控制升級過程中各種狀態(tài),使其從不可控變?yōu)榭煽?。使升級過程變的更靈活,可以在各種需要的狀態(tài)中自由切換。且使升級過程更可靠,可以使系統(tǒng)從各種錯誤或不穩(wěn)定狀態(tài)切換到穩(wěn)定的可控的狀態(tài)。
【附圖說明】
[0015]圖1顯示為本發(fā)明的一種嵌入式設備在一具體實施例中的模塊示意圖。
[0016]圖2顯示為現(xiàn)有技術(shù)中嵌入式設備的兩份系統(tǒng)軟件存放于同一存儲設備中的示意圖。
[0017]圖3顯示為現(xiàn)有技術(shù)中嵌入式設備的兩份系統(tǒng)軟件存放于不同的存儲設備中的示意圖。