專利名稱:自動(dòng)恢復(fù)設(shè)備故障的實(shí)現(xiàn)方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種自動(dòng)恢復(fù)設(shè)備故障的實(shí)現(xiàn)方法及系統(tǒng)。
背景技術(shù):
運(yùn)營(yíng)商局端的設(shè)備、用戶家中的終端設(shè)備等通信設(shè)備在正常運(yùn)行過程中,均可以由對(duì)端設(shè)備進(jìn)行相應(yīng)的管理。所述對(duì)端設(shè)備稱為管理設(shè)備。管理設(shè)備與通信設(shè)備之間通過一種管理協(xié)議進(jìn)行通信,以實(shí)現(xiàn)對(duì)設(shè)備進(jìn)行正常的維護(hù)管理,包括對(duì)設(shè)備進(jìn)行軟件升級(jí)、故障診斷、配置管理,等等。
通常,正常運(yùn)行設(shè)備也可以主動(dòng)與對(duì)端服務(wù)器建立聯(lián)系,并請(qǐng)求下載軟件進(jìn)行升級(jí)或是請(qǐng)求數(shù)據(jù)配置,這種對(duì)端的服務(wù)器可以簡(jiǎn)單的只是一個(gè)文件存儲(chǔ)服務(wù)器,而不需要有管理功能。
通信設(shè)備和管理設(shè)備或服務(wù)器間的連接結(jié)構(gòu)如圖1所示,通信設(shè)備與管理設(shè)備或服務(wù)器直接通過廣域網(wǎng)或局域網(wǎng)連接起來,并采用一種通信協(xié)議進(jìn)行通信。
設(shè)備上電運(yùn)行所需要的所有固件/程序都存儲(chǔ)在掉電不丟失的存儲(chǔ)器中,如FLASH(閃存)等,并分為一段啟動(dòng)引導(dǎo)程序(BOOTP)和應(yīng)用固件/程序。設(shè)備上電啟動(dòng)或是復(fù)位重啟動(dòng)時(shí),先執(zhí)行固化在FLASH中的啟動(dòng)引導(dǎo)程序,最后通過引導(dǎo)程序跳轉(zhuǎn)到應(yīng)用程序運(yùn)行。
為了保證設(shè)備的安全性,設(shè)備的啟動(dòng)引導(dǎo)程序不可通過軟件在線升級(jí)修改,而應(yīng)用固件/程序?yàn)榱藵M足需要一般都是可在線更新升級(jí)的。所以,除設(shè)備發(fā)生硬件故障外,可以保證設(shè)備能夠從引導(dǎo)程序啟動(dòng)。
然而,在實(shí)際應(yīng)用過程中,當(dāng)管理設(shè)備對(duì)設(shè)備進(jìn)行固件/程序升級(jí),或是設(shè)備主動(dòng)請(qǐng)求向服務(wù)器下載固件/程序升級(jí)時(shí),如果在文件傳輸過程中,或是文件校驗(yàn)不充分,或是寫入設(shè)備FLASH保存等一系列升級(jí)過程中,發(fā)生了錯(cuò)誤,則將導(dǎo)致設(shè)備采用新升級(jí)的固件/程序啟動(dòng)時(shí)無法正常運(yùn)行的故障。
除了升級(jí)過程發(fā)生的固件/程序錯(cuò)誤外,如果在設(shè)備運(yùn)行過程中存在對(duì)FLASH的寫操作,也可能會(huì)把設(shè)備運(yùn)行所需的固件/程序破壞,而導(dǎo)致設(shè)備不能正常啟動(dòng)。
因此,為保證設(shè)備的可靠啟動(dòng),通常設(shè)備中的可更新升級(jí)的固件/軟件程序采用雙備份。在設(shè)備上將運(yùn)行所需的固件或是程序軟件都進(jìn)行雙份備份,當(dāng)其中一份發(fā)生損壞時(shí),可以從備份的程序軟件運(yùn)行。
由于程序需要進(jìn)行雙備份,需要占用很多FLASH空間,要求設(shè)備的FLASH空間足夠大,增加了設(shè)備的硬件成本。
為此,目前還采用了另一種解決辦法,具體為當(dāng)設(shè)備不能正常啟動(dòng)時(shí),通過本地的緊急恢復(fù)手段來恢復(fù);如在設(shè)備的啟動(dòng)引導(dǎo)程序中,彈出WEB(環(huán)球網(wǎng))緊急頁面要求用戶重新升級(jí)程序。
不難看出,該方案的實(shí)現(xiàn)要求設(shè)備具有本地維護(hù)管理接口和手段,并且無法自動(dòng)完成設(shè)備的緊急恢復(fù),而是要求用戶協(xié)助完成。因此,使得對(duì)用戶的技術(shù)能力要求較高,即用戶需要懂得一定的網(wǎng)絡(luò)知識(shí),才可以實(shí)現(xiàn)針對(duì)設(shè)備的故障恢復(fù)處理。若用戶無條件進(jìn)行相應(yīng)的操作,則需要運(yùn)營(yíng)商上門維修,導(dǎo)致維護(hù)成本大大提高。
發(fā)明內(nèi)容
鑒于上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明的目的是提供一種自動(dòng)恢復(fù)設(shè)備故障的實(shí)現(xiàn)方法及系統(tǒng),從而當(dāng)設(shè)備出現(xiàn)故障無法啟動(dòng)時(shí),可以自動(dòng)控制進(jìn)行故障的恢復(fù)處理,實(shí)現(xiàn)設(shè)備故障的自動(dòng)恢復(fù)。
本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的本發(fā)明提供了一種自動(dòng)恢復(fù)設(shè)備故障的實(shí)現(xiàn)方法,包括A、設(shè)備發(fā)生故障時(shí),向管理設(shè)備或服務(wù)器發(fā)送恢復(fù)請(qǐng)求信息;B、管理設(shè)備或服務(wù)器根據(jù)接收到的恢復(fù)請(qǐng)求信息向設(shè)備發(fā)送相應(yīng)的用于故障恢復(fù)的程序文件信息;C、設(shè)備根據(jù)收到的程序文件進(jìn)行故障的恢復(fù)。
所述的管理設(shè)備或服務(wù)器設(shè)置于本地網(wǎng)絡(luò)并通過本地網(wǎng)絡(luò)與設(shè)備通信,或者設(shè)置于廣域網(wǎng)絡(luò)中并通過廣域網(wǎng)絡(luò)與設(shè)備通信。
所述的步驟A具體包括A1、當(dāng)設(shè)備由于程序文件故障無法啟動(dòng)時(shí),設(shè)備與管理設(shè)備或服務(wù)器間建立連接;A2、設(shè)備通過建立的連接向管理設(shè)備或服務(wù)器發(fā)送恢復(fù)請(qǐng)求信息。
所述的步驟A包括設(shè)備向管理設(shè)備或服務(wù)器發(fā)送的恢復(fù)請(qǐng)求信息中攜帶著設(shè)備最近一次正常運(yùn)行的程序文件的版本信息;或者,設(shè)備向管理設(shè)備或服務(wù)器獲取可以使用的程序文件的版本信息,并選擇確定需要獲取的程序文件的版本信息;將所述的版本信息承載于恢復(fù)請(qǐng)求中發(fā)送給管理設(shè)備或服務(wù)器;或者,設(shè)備向管理設(shè)備或服務(wù)器發(fā)送的恢復(fù)請(qǐng)求信息中不攜帶程序文件的版本信息。
所述的步驟B包括B1、管理設(shè)備或服務(wù)器根據(jù)所述的版本信息將其對(duì)應(yīng)版本的程序文件發(fā)送給設(shè)備,并執(zhí)行步驟C;或者,B2、管理設(shè)備或服務(wù)器首先將當(dāng)前最新版本的程序文件發(fā)送給設(shè)備,并執(zhí)行步驟C,且當(dāng)執(zhí)行步驟C失敗后,再由管理設(shè)備或服務(wù)器根據(jù)所述的版本信息將其對(duì)應(yīng)版本的程序文件發(fā)送給設(shè)備,并重新執(zhí)行步驟C。
所述的步驟B包括管理設(shè)備或服務(wù)器根據(jù)接收到的恢復(fù)請(qǐng)求信息將當(dāng)前最新版本的程序文件發(fā)送給設(shè)備,并執(zhí)行步驟C。
所述的步驟B包括當(dāng)執(zhí)行步驟C失敗后,由管理設(shè)備或服務(wù)器將設(shè)備上一次正常運(yùn)行的程序文件版本信息對(duì)應(yīng)的程序文件發(fā)送給設(shè)備。
所述的步驟B還包括設(shè)備接收到所述的用于恢復(fù)故障的程序文件后,設(shè)置引導(dǎo)程序的啟動(dòng)標(biāo)志為從獲取的程序文件啟動(dòng)。
所述的步驟C包括設(shè)備重新啟動(dòng)執(zhí)行引導(dǎo)程序,根據(jù)引導(dǎo)程序中的啟動(dòng)標(biāo)志確定重新執(zhí)行步驟A,或者,執(zhí)行獲取的程序文件;當(dāng)設(shè)備運(yùn)行獲取的程序文件進(jìn)行設(shè)備的啟動(dòng),且運(yùn)行成功時(shí),設(shè)備正常運(yùn)行,否則,將引導(dǎo)程序的啟動(dòng)標(biāo)志設(shè)置為重新執(zhí)行步驟A。
本發(fā)明還提供了一種可自動(dòng)恢復(fù)故障的設(shè)備,包括故障恢復(fù)處理模塊用于當(dāng)設(shè)備發(fā)生故障時(shí),與管理設(shè)備或服務(wù)器建立連接并發(fā)送消息,從管理設(shè)備或服務(wù)器獲取用于進(jìn)行故障恢復(fù)的程序文件,同時(shí),控制執(zhí)行獲取的程序文件進(jìn)行設(shè)備故障的恢復(fù)。
本發(fā)明還提供了一種自動(dòng)恢復(fù)設(shè)備故障的系統(tǒng),包括故障恢復(fù)處理模塊設(shè)置于設(shè)備側(cè),用于當(dāng)設(shè)備發(fā)生故障時(shí),與管理設(shè)備或服務(wù)器建立連接并發(fā)送消息,從管理設(shè)備或服務(wù)器獲取用于進(jìn)行故障恢復(fù)的程序文件,同時(shí),控制執(zhí)行獲取的程序文件;設(shè)備故障處理模塊設(shè)置于管理設(shè)備或服務(wù)器側(cè),用于接收設(shè)備端發(fā)來的消息,并向設(shè)備發(fā)送其需要的用于進(jìn)行故障恢復(fù)的程序文件。
由上述本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明的實(shí)現(xiàn)使得可以完全自動(dòng)實(shí)現(xiàn)設(shè)備故障的恢復(fù),整個(gè)故障恢復(fù)過程無需本地用戶的干預(yù),從而使得升級(jí)恢復(fù)的實(shí)現(xiàn)更為方便、靈活。
同時(shí),本發(fā)明對(duì)設(shè)備的故障緊急恢復(fù)完全自動(dòng)實(shí)現(xiàn)還使得故障恢復(fù)的處理過程更加安全可靠,并可以有效減少設(shè)備的本地維修的維護(hù)成本。
圖1為設(shè)備與管理設(shè)備或服務(wù)器間的連接組網(wǎng)結(jié)構(gòu)示意圖;圖2為本發(fā)明提供的可自動(dòng)恢復(fù)故障的設(shè)備結(jié)構(gòu)示意圖;圖3為本發(fā)明中在設(shè)備上的故障自動(dòng)恢復(fù)過程示意圖;圖4為本發(fā)明中設(shè)備與管理設(shè)備或服務(wù)器間故障自動(dòng)恢復(fù)過程示意圖;圖5為CPE自動(dòng)配置框架結(jié)構(gòu)示意圖;圖6為CPE的BOOT引導(dǎo)程序模塊結(jié)構(gòu)示意圖;圖7為CPE實(shí)現(xiàn)故障恢復(fù)的處理流程示意圖;圖8為基于FTP協(xié)議的設(shè)備與文件服務(wù)器間連接組網(wǎng)結(jié)構(gòu)示意圖;圖9為圖8中的設(shè)備故障恢復(fù)處理流程示意圖。
具體實(shí)施例方式
本發(fā)明一方面需要實(shí)現(xiàn)通過管理設(shè)備或服務(wù)器進(jìn)行設(shè)備故障的恢復(fù)處理;另外一方面需要實(shí)現(xiàn)設(shè)備故障恢復(fù)的自動(dòng)完成,而不需要用戶的干預(yù),同時(shí),不會(huì)增加設(shè)備硬件的實(shí)現(xiàn)成本。
本發(fā)明的核心是實(shí)現(xiàn)當(dāng)設(shè)備中由于程序文件故障導(dǎo)致設(shè)備無法啟動(dòng)時(shí),則由設(shè)備與管理設(shè)備或服務(wù)器間進(jìn)行通信,從而獲得管理設(shè)備或服務(wù)器上的可用于故障恢復(fù)的程序文件,使得設(shè)備可以利用所述的程序文件進(jìn)行設(shè)備故障的恢復(fù)。即本發(fā)明保證了當(dāng)設(shè)備出現(xiàn)故障時(shí),可以自動(dòng)進(jìn)行故障的恢復(fù)處理,保證設(shè)備的可靠啟動(dòng)。
本發(fā)明在具體實(shí)現(xiàn)過程中需要對(duì)設(shè)置于被管理的設(shè)備中的管理程序軟件模塊結(jié)構(gòu)進(jìn)行修改,修改后的結(jié)構(gòu)如圖2所示,其中BA_BOOT為基本的引導(dǎo)程序,即目前的引導(dǎo)程序。
故障恢復(fù)處理模塊RE_BOOT為恢復(fù)引導(dǎo)程序,是本發(fā)明增加設(shè)置的部分,用于故障恢復(fù)的引導(dǎo)程序;該RE_BOOT也是不可在線升級(jí)的,RE_BOOT用于完成與對(duì)端的管理設(shè)備或服務(wù)器間建立連接,并使用相應(yīng)的通信協(xié)議與管理設(shè)備或服務(wù)器交互自動(dòng)完成設(shè)備的程序升級(jí)恢復(fù)。
APP程序文件,即應(yīng)用固件/程序軟件,為現(xiàn)有的程序軟件。
本發(fā)明提供的自動(dòng)恢復(fù)設(shè)備故障的系統(tǒng)的結(jié)構(gòu)如圖2所示,所述系統(tǒng)的具體結(jié)構(gòu)包括故障恢復(fù)處理模塊設(shè)置于設(shè)備側(cè),用于當(dāng)設(shè)備由于程序文件發(fā)生故障無法啟動(dòng)時(shí),向管理設(shè)備或服務(wù)器發(fā)送恢復(fù)請(qǐng)求消息,并從管理設(shè)備或服務(wù)器獲取用于進(jìn)行故障恢復(fù)的程序文件,同時(shí),還控制執(zhí)行獲取的程序文件,從而在設(shè)備中進(jìn)行故障的恢復(fù)處理;設(shè)備故障處理模塊設(shè)置于管理設(shè)備或服務(wù)器側(cè),用于接收設(shè)備端發(fā)來的恢復(fù)請(qǐng)求消息,并根據(jù)所述的恢復(fù)請(qǐng)求消息向設(shè)備發(fā)送其需要的用于進(jìn)行故障恢復(fù)的程序文件。
下面將對(duì)本發(fā)明的實(shí)現(xiàn)方法進(jìn)行詳細(xì)的描述。本發(fā)明所述的方法中,當(dāng)設(shè)備出現(xiàn)故障時(shí),在設(shè)備上故障恢復(fù)處理模塊將啟動(dòng)相應(yīng)的處理過程,并與管理設(shè)備或服務(wù)器間進(jìn)行通信,從而獲得管理設(shè)備或服務(wù)器上的可用于故障恢復(fù)程序文件,之后利用獲得的程序文件進(jìn)行故障的恢復(fù)處理。
為清楚說明本發(fā)明的方法,下面將分別結(jié)合圖3和圖4對(duì)本發(fā)明所述的方法在具體實(shí)現(xiàn)過程中,在設(shè)備上的故障恢復(fù)處理過程,以及設(shè)備與管理設(shè)備或服務(wù)器間進(jìn)行通信的故障恢復(fù)處理過程。
當(dāng)設(shè)備發(fā)生故障不能正常從APP啟動(dòng)運(yùn)行時(shí),設(shè)備的內(nèi)部處理流程如圖3所示,具體包括以下處理過程步驟31設(shè)備復(fù)位從BOOTP啟動(dòng),先執(zhí)行BA_BOOT,即執(zhí)行基本引導(dǎo)程序開始進(jìn)行設(shè)備的啟動(dòng);步驟32在BA_BOOT中判斷啟動(dòng)標(biāo)志,是從APP正常啟動(dòng),還是發(fā)生故障需要從RE_BOOT啟動(dòng);若啟動(dòng)標(biāo)志是從RE_BOOT啟動(dòng),則執(zhí)行步驟33,否則,執(zhí)行步驟36;步驟33運(yùn)行恢復(fù)引導(dǎo)程序RE_BOOT;步驟34RE_BOOT與管理設(shè)備或服務(wù)器建立連接并從管理設(shè)備或服務(wù)器獲取恢復(fù)程序RE_APP;步驟35獲取到所述的RE_APP程序后,則將BA_BOOT的啟動(dòng)標(biāo)志設(shè)置為從APP啟動(dòng);然后,復(fù)位重啟動(dòng),即執(zhí)行步驟31,從而使得可以重新通過新獲取的APP的運(yùn)行實(shí)現(xiàn)設(shè)備的正常啟動(dòng),即實(shí)現(xiàn)故障恢復(fù);步驟36設(shè)備復(fù)位后在BA_BOOT中判斷啟動(dòng)標(biāo)志,是從APP啟動(dòng),則運(yùn)行啟動(dòng)APP;啟動(dòng)APP后,判斷是否可以從APP正常啟動(dòng),即啟動(dòng)APP成功還是失敗,如果成功,則執(zhí)行步驟37,否則,執(zhí)行步驟38;步驟37APP正常運(yùn)行,故障恢復(fù)處理過程結(jié)束。
步驟38若APP啟動(dòng)運(yùn)行失敗,則將BA_BOOT的啟動(dòng)標(biāo)志設(shè)置為從RE_BOOT啟動(dòng),并重新執(zhí)行步驟31。
當(dāng)設(shè)備發(fā)生故障不能從APP正常啟動(dòng)后,設(shè)備與管理設(shè)備或服務(wù)器間的自動(dòng)恢復(fù)交互處理流程如圖4所示,圖中A為被管理的設(shè)備,B為管理設(shè)備或服務(wù)器,具體包括以下處理過程步驟41設(shè)備A先與管理設(shè)備或服務(wù)器B間建立連接,即設(shè)備在RE_BOOT中運(yùn)行并建立相應(yīng)的連接。
步驟42設(shè)備通過建立的連接向管理設(shè)備或服務(wù)器上報(bào)恢復(fù)請(qǐng)求消息,即故障恢復(fù)請(qǐng)求,并帶上上次正常運(yùn)行的版本信息,請(qǐng)求向本地下載上次正常運(yùn)行的版本的APP程序;該步驟表示設(shè)備發(fā)生了故障,向管理設(shè)備或服務(wù)器請(qǐng)求恢復(fù),并且優(yōu)先下載上次正常運(yùn)行的版本的APP程序;如果設(shè)備沒有記錄下來上次正常運(yùn)行的版本信息則默認(rèn)請(qǐng)求最新版本。
步驟43設(shè)備A從管理設(shè)備或服務(wù)器B指定的位置下載恢復(fù)版本程序RE_APP,即用于故障恢復(fù)的程序文件。
步驟44設(shè)備根據(jù)獲取的APP重啟動(dòng),即從恢復(fù)的程序文件啟動(dòng)。
步驟45若啟動(dòng)成功,設(shè)備與管理設(shè)備或服務(wù)器建立連接(APP運(yùn)行重新建立的連接)后,設(shè)備上報(bào)恢復(fù)成功,包括當(dāng)前運(yùn)行的版本信息。同時(shí)將當(dāng)前的版本信息記錄在設(shè)備中掉電不丟失的FLASH存儲(chǔ)器中。
步驟46若啟動(dòng)失敗,設(shè)備與管理設(shè)備或服務(wù)器建立連接(即設(shè)備復(fù)位后,運(yùn)行RE_BOOT,在RE_BOOT中建立相應(yīng)的連接)后,設(shè)備繼續(xù)上報(bào)故障恢復(fù)請(qǐng)求,并帶上上次正常運(yùn)行的版本信息。
步驟47管理設(shè)備或服務(wù)器發(fā)現(xiàn)設(shè)備升級(jí)恢復(fù)沒有成功,則指定設(shè)備升級(jí)比上次正常運(yùn)行更舊的版本。該步驟的設(shè)置可以避免出現(xiàn)一直下載同一個(gè)版本,而又不能正?;謴?fù)的情況出現(xiàn)。
步驟48設(shè)備從管理設(shè)備或服務(wù)器下載舊版本恢復(fù)程序,之后,重復(fù)執(zhí)行上述步驟44。
為對(duì)本發(fā)明有進(jìn)一步的理解,后面將結(jié)合具體的應(yīng)用實(shí)例對(duì)本發(fā)明進(jìn)行詳細(xì)的說明。
下面將以本發(fā)明方案在CPE(用戶終端設(shè)備)上應(yīng)用為例對(duì)本發(fā)明的具體實(shí)現(xiàn)進(jìn)行描述說明;CPE與ACS(自動(dòng)配置服務(wù)器)之間可以通過CWMP(CPE廣域網(wǎng)管理協(xié)議)通信,也可以在本地通過LAN(局域網(wǎng))與運(yùn)行著管理程序的PC機(jī)通信。
其中,CWMP是DSL(數(shù)字用戶線)論壇DSL家庭技術(shù)工作組制訂的終端廣域網(wǎng)管理協(xié)議TR-069。該協(xié)議旨在規(guī)范CPE和ACS之間的通訊,其支持的主要功能包括CPE自動(dòng)配置和動(dòng)態(tài)服務(wù)發(fā)放、軟件/固件升級(jí)管理、狀態(tài)性能監(jiān)視和故障診斷。
CPE WAN管理協(xié)議的目標(biāo)是管理寬帶接入終端(B-NT),但是該協(xié)議也可以用來管理其他類型的CPE。
CPE WAN管理協(xié)議定義的CPE自動(dòng)配置框架如圖5所示。
當(dāng)CPE通過LAN與管理設(shè)備PC機(jī)通信,則PC機(jī)中的管理程序可以自動(dòng)將服務(wù)提供商和用戶設(shè)定的配置文件下發(fā)給CPE,CPE獲取配置文件后便可以根據(jù)配置建立WAN連接。
根據(jù)本發(fā)明的實(shí)現(xiàn)方案,通過WAN或LAN與管理設(shè)備或服務(wù)器通信CPE的BOOT引導(dǎo)程序結(jié)構(gòu)如圖6所示,具體包括以下組成部分BA_BOOT為原來的基本引導(dǎo)程序;故障恢復(fù)處理模塊RE_BOOT為新增加的模塊組件,具體包括CWMP管理協(xié)議棧、PPP(點(diǎn)對(duì)點(diǎn)協(xié)議)或是DHCP(動(dòng)態(tài)主機(jī)配置協(xié)議)協(xié)議棧和上行WAN設(shè)備的驅(qū)動(dòng)程序。
當(dāng)CPE發(fā)生故障無法正常從應(yīng)用程序啟動(dòng)時(shí),BOOT引導(dǎo)程序的啟動(dòng)流程如圖7所示,具體包括以下處理過程
步驟71CPE發(fā)生故障無法正常啟動(dòng),則從BOOT啟動(dòng)最小系統(tǒng)恢復(fù)程序,具體的處理過程如下(1)在運(yùn)行CPE基本引導(dǎo)程序BA_BOOT時(shí),啟動(dòng)恢復(fù)引導(dǎo)程序RE_BOOT;(2)恢復(fù)引導(dǎo)程序先啟動(dòng)WAN_DRV組件,完成上行硬件設(shè)備的初始化,具體為完成CPE設(shè)備與網(wǎng)絡(luò)側(cè)間通信的硬件的初始化,以便于CPE設(shè)備可以建立與ACS間的通信連接;(3)恢復(fù)引導(dǎo)程序從FLASH中讀取配置文件,即CPE設(shè)備正常運(yùn)行時(shí)的配置文件,若配置文件錯(cuò)誤或讀取失敗則采用出廠缺省配置,獲取配置文件的目的是為了獲取CPE及ACS的地址等故障恢復(fù)處理過程中需要的信息;(4)恢復(fù)引導(dǎo)程序根據(jù)配置數(shù)據(jù),啟動(dòng)PPP或是DHCP協(xié)議棧獲得CPE的IP地址和ACS的地址;若ACS的地址獲取失敗則從配置文件中獲取;(5)最后恢復(fù)引導(dǎo)程序啟動(dòng)CWMP協(xié)議棧。
步驟72CPE與ACS建立初始連接,并通過通知(Inform)消息告知ACS。在Inform消息調(diào)用中攜帶“BOOTLOAD”事件碼;Inform參數(shù)列表中的設(shè)備軟件版本為上次CPE正常運(yùn)行的版本號(hào),若版本號(hào)讀取失敗則版本為空。
步驟73當(dāng)ACS收到CPE的“BOOTLOAD”事件碼時(shí),識(shí)別出來是CPE發(fā)生故障在BOOT中請(qǐng)求加載升級(jí)恢復(fù),ACS進(jìn)入CPE故障恢復(fù)處理并記錄CPE故障事件日志。
步驟74ACS根據(jù)CPE在BOOTLOAD中上報(bào)的軟件版本號(hào),調(diào)用CPE的下載(Download)方法指示CPE下載程序升級(jí)恢復(fù),消息中攜帶著相應(yīng)的故障恢復(fù)用程序文件版本信息;缺省情況指定下載CPE上報(bào)的版本,因?yàn)樵摪姹綜PE之前可以正常啟動(dòng)運(yùn)行;
若CPE上報(bào)的軟件版本號(hào)為空,ACS缺省指定最新版本升級(jí);另外,ACS也可以由管理員定制CPE恢復(fù)加載的程序版本。
步驟75CPE通過與ACS進(jìn)行通信交互下載ACS指定的程序文件以進(jìn)行故障恢復(fù)處理。
步驟76CPE獲得相應(yīng)的程序文件后,CPE重新啟動(dòng),并利用下載獲得的程序文件進(jìn)行程序啟動(dòng)處理。
步驟77當(dāng)CPE恢復(fù)成功后,按正常流程上報(bào)通知ACS,包括當(dāng)前的版本信息(即恢復(fù)的版本),同時(shí),還將當(dāng)前正常運(yùn)行的軟件版本號(hào)記錄在設(shè)備的FLASH中,以備下一次恢復(fù)過程使用。
如果CPE恢復(fù)失敗,則重復(fù)上述相應(yīng)的步驟;ACS需要記錄CPE對(duì)應(yīng)的部分歷史版本信息,當(dāng)ACS沒有收到CPE的正常恢復(fù)通知,又收到CPE的BOOTLOAD請(qǐng)求時(shí),ACS需要指定CPE升級(jí)更舊的歷史版本的程序文件發(fā)給設(shè)備端以進(jìn)行故障恢復(fù)。
下面再以本發(fā)明方案在普通設(shè)備上采用FTP(文件傳輸協(xié)議)的實(shí)施例,如圖8所示,通過WAN或LAN設(shè)備與一個(gè)普通的文件服務(wù)器通信獲取相應(yīng)的程序文件,在服務(wù)器上存放有設(shè)備的版本信息和具體的版本程序文件,包括歷史版本的程序文件。
在設(shè)備的恢復(fù)引導(dǎo)程序中包括FTP協(xié)議棧,設(shè)備發(fā)生故障啟動(dòng)恢復(fù)引導(dǎo)程序后,相應(yīng)的處理過程如圖9所示,具體包括以下步驟步驟91設(shè)備先與對(duì)端的文件服務(wù)器建立FTP連接。
步驟92設(shè)備從對(duì)端文件服務(wù)器先獲取到文件服務(wù)器中存在的設(shè)備對(duì)應(yīng)程序文件的版本信息文件。
步驟93設(shè)備獲取相應(yīng)的版本信息后,根據(jù)相應(yīng)的版本信息及自身保存的正常運(yùn)行的版本信息確定需要獲取的程序文件的版本信息;比較版本信息中是否存在上次正常運(yùn)行的版本,如果有則準(zhǔn)備從文件服務(wù)器下載設(shè)備上次正常運(yùn)行的版本的程序文件,沒有則準(zhǔn)備從文件服務(wù)器下載更舊的版本的程序文件。
步驟94設(shè)備確定其需要獲取的程序文件的版本信息后,便可以從文件服務(wù)器下載恢復(fù)過程中需要的相應(yīng)版本的程序文件。
步驟95設(shè)備重啟動(dòng),并運(yùn)行下載升級(jí)的恢復(fù)程序文件,具體為利用獲取的程序文件進(jìn)行設(shè)備的重新啟動(dòng),從而實(shí)現(xiàn)故障的恢復(fù)處理。
在上述處理過程中,若設(shè)備不能正常啟動(dòng),即故障恢復(fù)失敗,則重復(fù)執(zhí)行上述步驟,請(qǐng)求更舊的歷史版本進(jìn)行故障恢復(fù)處理,直至故障恢復(fù)成功或恢復(fù)過程最終失敗。
綜上所述,本發(fā)明的實(shí)現(xiàn)使得對(duì)設(shè)備的故障緊急恢復(fù)更加安全可靠,且不需要本地用戶的干預(yù)而完全自動(dòng)實(shí)現(xiàn)故障恢復(fù),從而有效減少了設(shè)備的本地維修的維護(hù)成本。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種自動(dòng)恢復(fù)設(shè)備故障的實(shí)現(xiàn)方法,其特征在于,包括A、設(shè)備發(fā)生故障時(shí),向管理設(shè)備或服務(wù)器發(fā)送恢復(fù)請(qǐng)求信息;B、管理設(shè)備或服務(wù)器根據(jù)接收到的恢復(fù)請(qǐng)求信息向設(shè)備發(fā)送相應(yīng)的用于故障恢復(fù)的程序文件信息;C、設(shè)備根據(jù)收到的程序文件進(jìn)行故障的恢復(fù)。
2.根據(jù)權(quán)利要求1所述的自動(dòng)恢復(fù)設(shè)備故障的實(shí)現(xiàn)方法,其特征在于,所述的管理設(shè)備或服務(wù)器設(shè)置于本地網(wǎng)絡(luò)并通過本地網(wǎng)絡(luò)與設(shè)備通信,或者設(shè)置于廣域網(wǎng)絡(luò)中并通過廣域網(wǎng)絡(luò)與設(shè)備通信。
3.根據(jù)權(quán)利要求1所述的自動(dòng)恢復(fù)設(shè)備故障的實(shí)現(xiàn)方法,其特征在于,所述的步驟A具體包括A1、當(dāng)設(shè)備由于程序文件故障無法啟動(dòng)時(shí),設(shè)備與管理設(shè)備或服務(wù)器間建立連接;A2、設(shè)備通過建立的連接向管理設(shè)備或服務(wù)器發(fā)送恢復(fù)請(qǐng)求信息。
4.根據(jù)權(quán)利要求1所述的自動(dòng)恢復(fù)設(shè)備故障的實(shí)現(xiàn)方法,其特征在于,所述的步驟A包括設(shè)備向管理設(shè)備或服務(wù)器發(fā)送的恢復(fù)請(qǐng)求信息中攜帶著設(shè)備最近一次正常運(yùn)行的程序文件的版本信息;或者,設(shè)備向管理設(shè)備或服務(wù)器獲取可以使用的程序文件的版本信息,并選擇確定需要獲取的程序文件的版本信息;將所述的版本信息承載于恢復(fù)請(qǐng)求中發(fā)送給管理設(shè)備或服務(wù)器;或者,設(shè)備向管理設(shè)備或服務(wù)器發(fā)送的恢復(fù)請(qǐng)求信息中不攜帶程序文件的版本信息。
5.根據(jù)權(quán)利要求4所述的自動(dòng)恢復(fù)設(shè)備故障的實(shí)現(xiàn)方法,其特征在于,所述的步驟B包括B1、管理設(shè)備或服務(wù)器根據(jù)所述的版本信息將其對(duì)應(yīng)版本的程序文件發(fā)送給設(shè)備,并執(zhí)行步驟C;或者,B2、管理設(shè)備或服務(wù)器首先將當(dāng)前最新版本的程序文件發(fā)送給設(shè)備,并執(zhí)行步驟C,且當(dāng)執(zhí)行步驟C失敗后,再由管理設(shè)備或服務(wù)器根據(jù)所述的版本信息將其對(duì)應(yīng)版本的程序文件發(fā)送給設(shè)備,并重新執(zhí)行步驟C。
6.根據(jù)權(quán)利要求1所述的自動(dòng)恢復(fù)設(shè)備故障的實(shí)現(xiàn)方法,其特征在于,所述的步驟B包括管理設(shè)備或服務(wù)器根據(jù)接收到的恢復(fù)請(qǐng)求信息將當(dāng)前最新版本的程序文件發(fā)送給設(shè)備,并執(zhí)行步驟C。
7.根據(jù)權(quán)利要求1所述的自動(dòng)恢復(fù)設(shè)備故障的實(shí)現(xiàn)方法,其特征在于,所述的步驟B包括當(dāng)執(zhí)行步驟C失敗后,由管理設(shè)備或服務(wù)器將設(shè)備上一次正常運(yùn)行的程序文件版本信息對(duì)應(yīng)的程序文件發(fā)送給設(shè)備。
8.根據(jù)權(quán)利要求1所述的自動(dòng)恢復(fù)設(shè)備故障的實(shí)現(xiàn)方法,其特征在于,所述的步驟B還包括設(shè)備接收到所述的用于恢復(fù)故障的程序文件后,設(shè)置引導(dǎo)程序的啟動(dòng)標(biāo)志為從獲取的程序文件啟動(dòng)。
9.根據(jù)權(quán)利要求1至8任一項(xiàng)所述的自動(dòng)恢復(fù)設(shè)備故障的實(shí)現(xiàn)方法,其特征在于,所述的步驟C包括設(shè)備重新啟動(dòng)執(zhí)行引導(dǎo)程序,根據(jù)引導(dǎo)程序中的啟動(dòng)標(biāo)志確定重新執(zhí)行步驟A,或者,執(zhí)行獲取的程序文件;當(dāng)設(shè)備運(yùn)行獲取的程序文件進(jìn)行設(shè)備的啟動(dòng),且運(yùn)行成功時(shí),設(shè)備正常運(yùn)行,否則,將引導(dǎo)程序的啟動(dòng)標(biāo)志設(shè)置為重新執(zhí)行步驟A。
10.一種可自動(dòng)恢復(fù)故障的設(shè)備,其特征在于,包括故障恢復(fù)處理模塊用于當(dāng)設(shè)備發(fā)生故障時(shí),與管理設(shè)備或服務(wù)器建立連接并發(fā)送消息,從管理設(shè)備或服務(wù)器獲取用于進(jìn)行故障恢復(fù)的程序文件,同時(shí),控制執(zhí)行獲取的程序文件進(jìn)行設(shè)備故障的恢復(fù)。
11.一種自動(dòng)恢復(fù)設(shè)備故障的系統(tǒng),其特征在于,包括故障恢復(fù)處理模塊設(shè)置于設(shè)備側(cè),用于當(dāng)設(shè)備發(fā)生故障時(shí),與管理設(shè)備或服務(wù)器建立連接并發(fā)送消息,從管理設(shè)備或服務(wù)器獲取用于進(jìn)行故障恢復(fù)的程序文件,同時(shí),控制執(zhí)行獲取的程序文件;設(shè)備故障處理模塊設(shè)置于管理設(shè)備或服務(wù)器側(cè),用于接收設(shè)備端發(fā)來的消息,并向設(shè)備發(fā)送其需要的用于進(jìn)行故障恢復(fù)的程序文件。
全文摘要
本發(fā)明涉及一種自動(dòng)恢復(fù)設(shè)備故障的實(shí)現(xiàn)方法及系統(tǒng)。該方法的核心包括當(dāng)設(shè)備發(fā)生故障時(shí),向管理設(shè)備或服務(wù)器發(fā)送恢復(fù)請(qǐng)求信息;管理設(shè)備或服務(wù)器根據(jù)接收到的恢復(fù)請(qǐng)求信息向設(shè)備發(fā)送相應(yīng)的用于故障恢復(fù)的程序文件信息;設(shè)備根據(jù)收到的程序文件進(jìn)行故障的恢復(fù)。本發(fā)明的實(shí)現(xiàn)使得可以完全自動(dòng)實(shí)現(xiàn)設(shè)備故障的恢復(fù),整個(gè)故障恢復(fù)過程無需本地用戶的干預(yù),從而使得升級(jí)恢復(fù)的實(shí)現(xiàn)更為方便、靈活。同時(shí),本發(fā)明對(duì)設(shè)備的故障緊急恢復(fù)完全自動(dòng)實(shí)現(xiàn)還使得故障恢復(fù)的處理過程更加安全可靠,并可以有效減少設(shè)備的本地維修的維護(hù)成本。
文檔編號(hào)H04L12/24GK1859162SQ200510080688
公開日2006年11月8日 申請(qǐng)日期2005年7月6日 優(yōu)先權(quán)日2005年6月15日
發(fā)明者刁猛, 李磊, 楊波, 張志勇 申請(qǐng)人:華為技術(shù)有限公司