專利名稱:一種遠(yuǎn)程軟件升級方法
技術(shù)領(lǐng)域:
本發(fā)明涉及嵌入式通信系統(tǒng)技術(shù)領(lǐng)域,特別涉及一種遠(yuǎn)程軟件升級方法。
背景技術(shù):
在嵌入式通信系統(tǒng)中,通常存在遠(yuǎn)程設(shè)備需要進(jìn)行軟件升級。
由于遠(yuǎn)程設(shè)備一般遠(yuǎn)離管理機房、點較多、處于偏遠(yuǎn)地區(qū)或者靠近用戶,如果進(jìn)行現(xiàn)場軟件升級,不僅工作量大,而且會給用戶帶來不便,因此對遠(yuǎn)程設(shè)備采用遠(yuǎn)程軟件升級是一種方便有效的解決方法。
遠(yuǎn)程軟件升級的一般過程可以簡單描述為,網(wǎng)管系統(tǒng)將新的軟件版本下載到遠(yuǎn)程設(shè)備中,遠(yuǎn)程設(shè)備切換軟件版本,重啟并啟用新的軟件版本。
遠(yuǎn)程軟件升級過程雖然簡單,但是在升級過程中如果考慮不周到,如新的軟件版本有問題,或者新的軟件版本與原來的數(shù)據(jù)配置不兼容,可能會導(dǎo)致遠(yuǎn)程升級失敗,遠(yuǎn)程設(shè)備將無法正常工作,最后必須到遠(yuǎn)程設(shè)備現(xiàn)場才能解決問題。
提供一種安全可靠的遠(yuǎn)程軟件升級方法,防止升級失敗后遠(yuǎn)程設(shè)備無法正常工作且無法恢復(fù),使得遠(yuǎn)程設(shè)備仍然能夠正常運行并與網(wǎng)管系統(tǒng)通信,是遠(yuǎn)程軟件升級必須考慮的一個重要問題。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種安全可靠的軟件升級方法,有效防止軟件升級失敗后遠(yuǎn)程設(shè)備無法正常工作或失去與網(wǎng)管系統(tǒng)的聯(lián)系,使遠(yuǎn)程軟件升級過程得到有效、安全的控制。
本發(fā)明提供了一種遠(yuǎn)程軟件升級方法,包括以下步驟步驟1,網(wǎng)管系統(tǒng)向遠(yuǎn)程設(shè)備發(fā)起遠(yuǎn)程軟件升級準(zhǔn)備命令,遠(yuǎn)程設(shè)備進(jìn)入遠(yuǎn)程軟件升級準(zhǔn)備狀態(tài);步驟2,網(wǎng)管系統(tǒng)向遠(yuǎn)程設(shè)備傳送新的軟件版本;步驟3,遠(yuǎn)程設(shè)備獲取新的軟件版本后,配置其啟動選項,配置新的軟件版本為下次啟動的版本,并設(shè)置下次啟動出現(xiàn)故障時重新啟用舊的軟件版本的一次性啟動;步驟4,網(wǎng)管系統(tǒng)向遠(yuǎn)程設(shè)備發(fā)起啟動新的軟件版本的命令,遠(yuǎn)程設(shè)備重啟,啟動新的軟件版本;步驟5,如果新的軟件版本啟動成功,則網(wǎng)管系統(tǒng)命令遠(yuǎn)程設(shè)備正式接納新的軟件版本,遠(yuǎn)程設(shè)備下次啟動時啟用新的軟件版本;如果下次啟動出現(xiàn)新的軟件版本啟動失敗或在運行過程中出現(xiàn)錯誤的故障,則取消接納新的軟件版本,重啟并重新啟用舊的軟件版本。
所述步驟1還包括以下步驟步驟11,網(wǎng)管系統(tǒng)向遠(yuǎn)程設(shè)備發(fā)起遠(yuǎn)程軟件升級準(zhǔn)備命令后,設(shè)置第一定時器;步驟12,遠(yuǎn)程設(shè)備收到遠(yuǎn)程軟件升級準(zhǔn)備命令,進(jìn)入遠(yuǎn)程軟件升級準(zhǔn)備狀態(tài)后,向網(wǎng)管系統(tǒng)發(fā)送準(zhǔn)備就緒消息,設(shè)置第二定時器;步驟13,如果網(wǎng)管系統(tǒng)在第一定時器溢出前收到上述準(zhǔn)備就緒消息,則關(guān)閉第一定時器,進(jìn)入步驟2,否則,終止遠(yuǎn)程軟件升級。
所述步驟2中,網(wǎng)管系統(tǒng)向遠(yuǎn)程設(shè)備傳送新的軟件版本后,還設(shè)置第三定時器。
所述步驟3具體包括以下步驟步驟31,如果遠(yuǎn)程設(shè)備在第二定時器溢出之前完整獲取新的軟件版本,則關(guān)閉第二定時器,否則,終止遠(yuǎn)程軟件升級;步驟32,配置啟動選項并設(shè)置新的軟件版本為下次啟動的版本,并設(shè)置下次啟動出現(xiàn)故障時重新啟用舊的軟件版本的一次性啟動,向網(wǎng)管系統(tǒng)發(fā)送執(zhí)行準(zhǔn)備就緒消息,設(shè)置第四定時器。
所述步驟4具體包括以下步驟步驟41,如果網(wǎng)管系統(tǒng)在第三定時器溢出之前收到遠(yuǎn)程設(shè)備的執(zhí)行準(zhǔn)備就緒消息,則關(guān)閉第三定時器,否則,終止遠(yuǎn)程軟件升級;步驟42,網(wǎng)管系統(tǒng)向遠(yuǎn)程設(shè)備發(fā)起啟用新的軟件版本的命令后,設(shè)置第五定時器;步驟43,如果遠(yuǎn)程設(shè)備在第四定時器溢出之前收到上述命令,關(guān)閉第四定時器,否則,終止遠(yuǎn)程軟件升級;步驟44,遠(yuǎn)程設(shè)置重啟,啟用新的軟件版本,向網(wǎng)管系統(tǒng)發(fā)送執(zhí)行完畢消息,設(shè)置第六定時器。
所述步驟5具體包括以下步驟步驟51,如果網(wǎng)管系統(tǒng)在第五定時器溢出之前收到遠(yuǎn)程設(shè)備的執(zhí)行完畢消息,關(guān)閉第五定時器,向遠(yuǎn)程設(shè)備發(fā)送執(zhí)行完畢確認(rèn),否則,終止遠(yuǎn)程軟件升級;步驟52,如果遠(yuǎn)程設(shè)備在第六定時器溢出之前收到網(wǎng)管系統(tǒng)的執(zhí)行完畢確認(rèn),關(guān)閉第六定時器,否則,終止軟件升級,重新啟動,啟用舊的軟件版本;步驟53,網(wǎng)管系統(tǒng)遠(yuǎn)程診斷遠(yuǎn)程設(shè)備的運行情況,判斷遠(yuǎn)程設(shè)備的新的軟件版本運行是否成功,如果成功,則網(wǎng)管系統(tǒng)命令遠(yuǎn)程設(shè)備正式接納新的軟件版本,否則網(wǎng)管系統(tǒng)命令遠(yuǎn)程設(shè)備取消接納新的軟件版本。
本發(fā)明的有益效果在于能夠有效地防止遠(yuǎn)程軟件升級失敗后,遠(yuǎn)程設(shè)備無法正常工作或者失去與網(wǎng)管系統(tǒng)的聯(lián)系。本發(fā)明提供的一種遠(yuǎn)程軟件升級方法,由網(wǎng)管系統(tǒng)主導(dǎo),遠(yuǎn)程設(shè)備配合,使得遠(yuǎn)程軟件升級過程得到安全、有效的控制,即使遠(yuǎn)程軟件升級失敗后遠(yuǎn)程設(shè)備仍然能正常工作,避免到現(xiàn)場恢復(fù)遠(yuǎn)程設(shè)備,從而提高遠(yuǎn)程軟件升級的方便性、可靠性。
圖1是本發(fā)明的遠(yuǎn)程軟件升級方法的原理圖;圖2是本發(fā)明一較佳實施例的遠(yuǎn)程軟件升級方法的流程圖。
具體實施例方式
下面結(jié)合附圖和具體實施例對本發(fā)明作進(jìn)一步地介紹,但不作為對本發(fā)明的限定。
本發(fā)明的遠(yuǎn)程軟件升級方法如圖1所示,包括如下步驟步驟1,網(wǎng)管系統(tǒng)(Management System,簡稱MS)向遠(yuǎn)程設(shè)備(RemoteDevice,簡稱RD)發(fā)起遠(yuǎn)程軟件升級準(zhǔn)備命令,遠(yuǎn)程設(shè)備進(jìn)入遠(yuǎn)程軟件升級準(zhǔn)備狀態(tài);步驟2,網(wǎng)管系統(tǒng)向遠(yuǎn)程設(shè)備傳送新的遠(yuǎn)程軟件版本;步驟3,遠(yuǎn)程設(shè)備獲取新的遠(yuǎn)程軟件版本后,配置其啟動選項,配置新的軟件版本為下次啟動的版本,并設(shè)置下次啟動出現(xiàn)故障時重新啟用舊的軟件版本的一次性啟動;步驟4,網(wǎng)管系統(tǒng)向遠(yuǎn)程設(shè)備發(fā)起啟用新的遠(yuǎn)程軟件版本的命令,遠(yuǎn)程設(shè)備重啟,啟用新的遠(yuǎn)程軟件版本;步驟5,如果新的遠(yuǎn)程軟件版本啟動成功,則網(wǎng)管系統(tǒng)命令遠(yuǎn)程設(shè)備將該遠(yuǎn)程軟件版本正式接納為新的軟件版本,遠(yuǎn)程設(shè)備下次啟動時啟用新的軟件版本;如果新的遠(yuǎn)程軟件版本啟動失敗或在運行過程中出現(xiàn)錯誤,遠(yuǎn)程設(shè)備在自檢過程中發(fā)現(xiàn)錯誤或在網(wǎng)管系統(tǒng)配合下重啟,則重新啟用舊的軟件版本。
本發(fā)明一較佳實施例的遠(yuǎn)程軟件升級方法的流程如圖2所示,其中包括準(zhǔn)備階段,執(zhí)行階段和確認(rèn)階段三個階段。
1、準(zhǔn)備階段步驟11、網(wǎng)管系統(tǒng)向遠(yuǎn)程設(shè)備發(fā)起遠(yuǎn)程軟件升級準(zhǔn)備命令后,設(shè)置定時器T1;步驟12、遠(yuǎn)程設(shè)備收到遠(yuǎn)程軟件升級準(zhǔn)備命令,進(jìn)入遠(yuǎn)程軟件升級準(zhǔn)備狀態(tài)后,向網(wǎng)管系統(tǒng)發(fā)送準(zhǔn)備就緒消息,設(shè)置定時器T2;步驟13、如果網(wǎng)管系統(tǒng)在定時器T1溢出前收到上述準(zhǔn)備就緒消息,則關(guān)閉定時器T1,否則,T1溢出,網(wǎng)管系統(tǒng)終止遠(yuǎn)程軟件升級。
2、執(zhí)行階段步驟21、網(wǎng)管系統(tǒng)向遠(yuǎn)程設(shè)備傳送新的軟件版本后,設(shè)置定時器T3;步驟22,如果遠(yuǎn)程設(shè)備在定時器T2溢出之前完整獲取新的軟件版本,則關(guān)閉定時器T2,配置啟動選項并設(shè)置新的軟件版本為下次啟動的版本,將新的軟件版本設(shè)置為一次性啟動,即下次啟動出現(xiàn)故障時重新啟用舊的軟件版本,向網(wǎng)管系統(tǒng)發(fā)送執(zhí)行準(zhǔn)備就緒消息,設(shè)置定時器T4,否則,遠(yuǎn)程設(shè)備終止遠(yuǎn)程軟件升級;步驟23,如果網(wǎng)管系統(tǒng)在定時器T3溢出之前收到遠(yuǎn)程設(shè)備的執(zhí)行準(zhǔn)備就緒消息,則關(guān)閉定時器T3,向遠(yuǎn)程設(shè)備發(fā)起啟用新的軟件版本的命令,設(shè)置定時器T5,否則,遠(yuǎn)程設(shè)備終止遠(yuǎn)程軟件升級;步驟24,如果遠(yuǎn)程設(shè)備在定時器T4溢出之前收到上述命令,關(guān)閉定時器T4,遠(yuǎn)程設(shè)置重啟并啟用新的軟件版本,向網(wǎng)管系統(tǒng)發(fā)送執(zhí)行完畢消息,設(shè)置定時器T6,否則,終止遠(yuǎn)程軟件升級。
3、確認(rèn)階段步驟31,如果網(wǎng)管系統(tǒng)在定時器T5溢出之前收到遠(yuǎn)程設(shè)備的執(zhí)行完畢消息,關(guān)閉定時器T5,向遠(yuǎn)程設(shè)備發(fā)送執(zhí)行完畢確認(rèn),否則,終止遠(yuǎn)程軟件升級;步驟32,如果遠(yuǎn)程設(shè)備在定時器T6溢出之前收到網(wǎng)管系統(tǒng)的執(zhí)行完畢確認(rèn),關(guān)閉定時器T6,否則,遠(yuǎn)程設(shè)備終止軟件升級,重新啟動并啟用舊的軟件版本;步驟33,網(wǎng)管系統(tǒng)遠(yuǎn)程診斷遠(yuǎn)程設(shè)備的運行情況,判斷遠(yuǎn)程設(shè)備的新的軟件版本運行是否成功,如果遠(yuǎn)程設(shè)備運行正常,則成功,則網(wǎng)管系統(tǒng)命令遠(yuǎn)程設(shè)備正式接納新的軟件版本,否則網(wǎng)管系統(tǒng)命令遠(yuǎn)程設(shè)備取消接納新的軟件版本。
以上所述僅為本發(fā)明的較佳實施例,并非用來限定本發(fā)明的實施范圍;如果不脫離本發(fā)明的精神和范圍,對本發(fā)明進(jìn)行修改或者等同替換的,均應(yīng)涵蓋在本發(fā)明的權(quán)利要求的保護(hù)范圍當(dāng)中。
權(quán)利要求
1.一種遠(yuǎn)程軟件升級方法,其特征在于包括以下步驟步驟1,網(wǎng)管系統(tǒng)向遠(yuǎn)程設(shè)備發(fā)起遠(yuǎn)程軟件升級準(zhǔn)備命令,遠(yuǎn)程設(shè)備進(jìn)入遠(yuǎn)程軟件升級準(zhǔn)備狀態(tài);步驟2,網(wǎng)管系統(tǒng)向遠(yuǎn)程設(shè)備傳送新的軟件版本;步驟3,遠(yuǎn)程設(shè)備獲取新的軟件版本后,配置其啟動選項,配置新的軟件版本為下次啟動的版本,并設(shè)置下次啟動出現(xiàn)故障時重新啟用舊的軟件版本的一次性啟動;步驟4,網(wǎng)管系統(tǒng)向遠(yuǎn)程設(shè)備發(fā)起啟動新的軟件版本的命令,遠(yuǎn)程設(shè)備重啟,啟用新的軟件版本;步驟5,如果新的軟件版本啟動成功,則網(wǎng)管系統(tǒng)命令遠(yuǎn)程設(shè)備正式接納新的軟件版本,遠(yuǎn)程設(shè)備下次啟動時啟用新的軟件版本;如果下次啟動出現(xiàn)新的軟件版本啟動失敗或在運行過程中出現(xiàn)錯誤的故障,則取消接納新的軟件版本,重啟并重新啟用舊的軟件版本。
2.根據(jù)權(quán)利要求1所述的遠(yuǎn)程軟件升級方法,其特征在于所述步驟1還包括以下步驟步驟11,網(wǎng)管系統(tǒng)向遠(yuǎn)程設(shè)備發(fā)起遠(yuǎn)程軟件升級準(zhǔn)備命令后,設(shè)置第一定時器;步驟12,遠(yuǎn)程設(shè)備收到遠(yuǎn)程軟件升級準(zhǔn)備命令,進(jìn)入遠(yuǎn)程軟件升級準(zhǔn)備狀態(tài)后,向網(wǎng)管系統(tǒng)發(fā)送準(zhǔn)備就緒消息,設(shè)置第二定時器;步驟13,如果網(wǎng)管系統(tǒng)在第一定時器溢出前收到上述準(zhǔn)備就緒消息,則關(guān)閉第一定時器,進(jìn)入步驟2,否則,終止遠(yuǎn)程軟件升級。
3.根據(jù)權(quán)利要求2所述的遠(yuǎn)程軟件升級方法,其特征在于所述步驟2中,網(wǎng)管系統(tǒng)向遠(yuǎn)程設(shè)備傳送新的軟件版本后,還設(shè)置第三定時器。
4.根據(jù)權(quán)利要求3所述的遠(yuǎn)程軟件升級方法,其特征在于所述步驟3具體包括以下步驟步驟31,如果遠(yuǎn)程設(shè)備在第二定時器溢出之前完整獲取新的軟件版本,則關(guān)閉第二定時器,否則,終止遠(yuǎn)程軟件升級;步驟32,配置啟動選項并設(shè)置新的軟件版本為下次啟動的版本,并設(shè)置下次啟動出現(xiàn)故障時重新啟用舊的軟件版本的一次性啟動,向網(wǎng)管系統(tǒng)發(fā)送執(zhí)行準(zhǔn)備就緒消息,設(shè)置第四定時器。
5.根據(jù)權(quán)利要求4所述的遠(yuǎn)程軟件升級方法,其特征在于所述步驟4具體包括以下步驟步驟41,如果網(wǎng)管系統(tǒng)在第三定時器溢出之前收到遠(yuǎn)程設(shè)備的執(zhí)行準(zhǔn)備就緒消息,則關(guān)閉第三定時器,否則,終止遠(yuǎn)程軟件升級;步驟42,網(wǎng)管系統(tǒng)向遠(yuǎn)程設(shè)備發(fā)起啟用新的軟件版本的命令,設(shè)置第五定時器;步驟43,如果遠(yuǎn)程設(shè)備在第四定時器溢出之前收到上述命令,關(guān)閉第四定時器,否則,終止遠(yuǎn)程軟件升級;步驟44,遠(yuǎn)程設(shè)置重啟,啟用新的軟件版本,向網(wǎng)管系統(tǒng)發(fā)送執(zhí)行完畢消息,設(shè)置第六定時器。
6.根據(jù)權(quán)利要求5所述的遠(yuǎn)程軟件升級方法,其特征在于所述步驟5具體包括以下步驟步驟51,如果網(wǎng)管系統(tǒng)在第五定時器溢出之前收到遠(yuǎn)程設(shè)備的執(zhí)行完畢消息,關(guān)閉第五定時器,向遠(yuǎn)程設(shè)備發(fā)送執(zhí)行完畢確認(rèn),否則,終止遠(yuǎn)程軟件升級;步驟52,如果遠(yuǎn)程設(shè)備在第六定時器溢出之前收到網(wǎng)管系統(tǒng)的執(zhí)行完畢確認(rèn),關(guān)閉第六定時器,否則,終止軟件升級,重新啟動,啟用舊的軟件版本;步驟53,網(wǎng)管系統(tǒng)遠(yuǎn)程診斷遠(yuǎn)程設(shè)備的運行情況,判斷遠(yuǎn)程設(shè)備的新的軟件版本運行是否成功,如果成功,則網(wǎng)管系統(tǒng)命令遠(yuǎn)程設(shè)備正式接納新的軟件版本,否則網(wǎng)管系統(tǒng)命令遠(yuǎn)程設(shè)備取消接納新的軟件版本。
全文摘要
本發(fā)明提供了一種遠(yuǎn)程軟件升級方法,包括網(wǎng)管系統(tǒng)向遠(yuǎn)程設(shè)備發(fā)起遠(yuǎn)程軟件升級準(zhǔn)備命令,遠(yuǎn)程設(shè)備進(jìn)入遠(yuǎn)程軟件升級準(zhǔn)備狀態(tài);網(wǎng)管系統(tǒng)向遠(yuǎn)程設(shè)備傳送新的軟件版本遠(yuǎn)程設(shè)備獲取新的軟件版本后,配置其啟動選項,配置新的軟件版本為下次啟動的版本,并設(shè)置下次啟動出現(xiàn)故障時重新啟用舊的軟件版本的一次性啟動;網(wǎng)管系統(tǒng)向遠(yuǎn)程設(shè)備發(fā)起啟動新的軟件版本的命令,遠(yuǎn)程設(shè)備重啟,啟動新的軟件版本;如果新的軟件版本啟動成功,則網(wǎng)管系統(tǒng)命令遠(yuǎn)程設(shè)備正式接納新的軟件版本,遠(yuǎn)程設(shè)備下次啟動時啟用新的軟件版本;如果新的軟件版本啟動失敗或在運行過程中出現(xiàn)錯誤,則取消接納新的軟件版本,重啟并重新啟用舊的軟件版本。本發(fā)明能夠提高遠(yuǎn)程軟件升級的方便性、可靠性。
文檔編號G06F9/00GK101051946SQ20071010375
公開日2007年10月10日 申請日期2007年5月23日 優(yōu)先權(quán)日2007年5月23日
發(fā)明者張偉良 申請人:中興通訊股份有限公司