本發(fā)明涉及通信領(lǐng)域和故障檢測技術(shù)領(lǐng)域,具體涉及一種通信設(shè)備軟件故障檢測收集恢復(fù)方法和系統(tǒng)。
背景技術(shù):
隨著通信技術(shù)的不斷發(fā)展,對通信設(shè)備(例如:路由器、交換機(jī)、綜合接入設(shè)備)所承擔(dān)的業(yè)務(wù)功能越來越復(fù)雜。在通信設(shè)備運(yùn)行過程中,每個(gè)設(shè)備都有MTBF(Mean Time Between Failure,平均故障間隔時(shí)間)的指標(biāo)要求。所述故障可分為硬件故障和軟件故障。對于硬件故障,網(wǎng)絡(luò)管理員可以通過觀察設(shè)備上的報(bào)警燈,很容易判斷故障原因,及時(shí)采取維修措施排除故障。對于軟件故障,由于故障種類繁多,所以網(wǎng)絡(luò)管理員很難判斷出故障原因。
傳統(tǒng)的通信設(shè)備軟件故障收集,一般需要外界下指令或者命令,才進(jìn)行故障信息收集。在用戶現(xiàn)場環(huán)境下,用戶為了快速恢復(fù)通信設(shè)備正常使用,一般情況對整機(jī)直接進(jìn)行重啟,從而導(dǎo)致不能收集到發(fā)生故障時(shí)的信息。另外,傳統(tǒng)的軟件故障收集,一般情況下,都是登陸到設(shè)備,查看設(shè)備各種運(yùn)行信息、異常信息,容易出現(xiàn)遺漏,導(dǎo)致現(xiàn)場信息收集不完整。這些都給后期技術(shù)人員排查故障原因造成了極大的困難。
一方面,通信設(shè)備軟件在運(yùn)行過程中不可避免發(fā)生故障;另一方面,各行各業(yè)對于發(fā)生故障時(shí)的及時(shí)修復(fù)要求也隨之提高。傳統(tǒng)的恢復(fù)方法,一般是單一應(yīng)用模塊發(fā)生故障時(shí),直接重啟整機(jī)軟件。而在分布式系統(tǒng)中,各個(gè)應(yīng)用模塊獨(dú)立存在,獨(dú)自完成不同的任務(wù),當(dāng)系統(tǒng)中任何一個(gè)模塊出現(xiàn)故障時(shí),都會引起整個(gè)軟件系統(tǒng)重新啟動,可能會導(dǎo)致嚴(yán)重的后果。
因此,在相關(guān)技術(shù)中存在實(shí)時(shí)故障檢測水平低、故障信息不能自動收集、故障不能及時(shí)恢復(fù)的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提供一種通信設(shè)備軟件故障檢測收集恢復(fù)方法和系統(tǒng),該通信設(shè)備軟件故障檢測收集恢復(fù)方法和系統(tǒng)可以很好地解決上述問題。
為達(dá)到上述要求,本發(fā)明采取的技術(shù)方案是:提供一種通信設(shè)備軟件故障檢測收集恢復(fù)方法和系統(tǒng),該通信設(shè)備軟件故障檢測收集恢復(fù)方法和系統(tǒng)包括應(yīng)用模塊故障的方法和單板系統(tǒng)軟件故障檢測的步驟;
應(yīng)用模塊故障檢測的步驟如下:
通信設(shè)備單板實(shí)時(shí)對通信設(shè)備系統(tǒng)中的多個(gè)應(yīng)用模塊進(jìn)行檢測,檢測應(yīng)用模塊是否出現(xiàn)故障;若是,對出現(xiàn)故障的應(yīng)用模塊進(jìn)行故障信息收集;
收集應(yīng)用模塊故障時(shí)的信息、運(yùn)行信息和讀取網(wǎng)絡(luò)處理器的一些關(guān)鍵寄存器狀態(tài);打包形成異常信息文件,保存到本地存儲模塊,并上傳至預(yù)置的運(yùn)營商服務(wù)器;
對出現(xiàn)故障的應(yīng)用模塊進(jìn)行重啟;
所述單板系統(tǒng)軟件故障檢測的步驟如下:
通信設(shè)備控制平面與單板實(shí)時(shí)保活;
檢測單板系統(tǒng)軟件是否出現(xiàn)異常;
若出現(xiàn)單板軟件故障時(shí),則對單板進(jìn)行硬件復(fù)位。
該通信設(shè)備軟件故障檢測收集恢復(fù)系統(tǒng)包括:
故障檢測模塊,用于實(shí)時(shí)對通信設(shè)備系統(tǒng)中的多個(gè)應(yīng)用模塊進(jìn)行檢測,檢測應(yīng)用模塊是否出現(xiàn)故障;
故障收集模塊,用于應(yīng)用模塊出現(xiàn)故障時(shí),收集應(yīng)用模塊的信息及讀取網(wǎng)絡(luò)處理器一些關(guān)鍵寄存器狀態(tài),打包形成異常信息文件;
故障恢復(fù)模塊,用于應(yīng)用模塊出現(xiàn)故障時(shí),對出現(xiàn)故障的應(yīng)用模塊進(jìn)行重啟;
故障存儲模塊,用于應(yīng)用模塊出現(xiàn)故障時(shí),對收集到異常信息文件存儲到本地存儲,并上傳至預(yù)設(shè)的運(yùn)營商服務(wù)器;
機(jī)箱管理模塊,用于單板系統(tǒng)軟件故障檢測,定時(shí)檢測單板系統(tǒng)軟件是否出現(xiàn)故障,對出現(xiàn)故障的單板進(jìn)行重啟。
該通信設(shè)備軟件故障檢測收集恢復(fù)方法和系統(tǒng)具有的優(yōu)點(diǎn)如下:
本發(fā)明在通信設(shè)備發(fā)生應(yīng)用模塊故障和單板系統(tǒng)軟件故障時(shí),能快速感知故障,并收集足夠多的異常信息,有利于故障后分析具體的原因,并自動恢復(fù)軟件系統(tǒng)到正常運(yùn)行狀態(tài),有效地縮短通信設(shè)備的故障時(shí)間。
附圖說明
此處所說明的附圖用來提供對本申請的進(jìn)一步理解,構(gòu)成本申請的一部分,在這些附圖中使用相同的參考標(biāo)號來表示相同或相似的部分,本申請的示意性實(shí)施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:
圖1示意性地示出了根據(jù)本申請一個(gè)實(shí)施例的模塊故障檢測的方法流程圖。
圖2示意性地示出了根據(jù)本申請一個(gè)實(shí)施例的單板系統(tǒng)軟件故障檢測的步驟流程圖。
圖3示意性地示出了根據(jù)本申請一個(gè)實(shí)施例的應(yīng)用模塊故障檢測、收集、恢復(fù)系統(tǒng)的結(jié)構(gòu)框圖。
圖4示意性地示出了根據(jù)本申請一個(gè)實(shí)施例的單板系統(tǒng)軟件故障檢測、收集、恢復(fù)系統(tǒng)的結(jié)構(gòu)框圖。
具體實(shí)施方式
為使本申請的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,以下結(jié)合附圖及具體實(shí)施例,對本申請作進(jìn)一步地詳細(xì)說明。
在以下描述中,對“一個(gè)實(shí)施例”、“實(shí)施例”、“一個(gè)示例”、“示例”等等的引用表明如此描述的實(shí)施例或示例可以包括特定特征、結(jié)構(gòu)、特性、性質(zhì)、元素或限度,但并非每個(gè)實(shí)施例或示例都必然包括特定特征、結(jié)構(gòu)、特性、性質(zhì)、元素或限度。另外,重復(fù)使用短語“根據(jù)本申請的一個(gè)實(shí)施例”雖然有可能是指代相同實(shí)施例,但并非必然指代相同的實(shí)施例。
為簡單起見,以下描述中省略了本領(lǐng)域技術(shù)人員公知的某些技術(shù)特征。
根據(jù)本申請的一個(gè)實(shí)施例,提供一種通信設(shè)備軟件故障檢測收集恢復(fù)方法,如圖1至圖2所示,包括應(yīng)用模塊故障檢測的步驟和單板系統(tǒng)軟件故障檢測的步驟;
所述應(yīng)用模塊故障檢測的步驟如下:
通信設(shè)備單板實(shí)時(shí)對通信設(shè)備系統(tǒng)中的多個(gè)應(yīng)用模塊進(jìn)行檢測,檢測應(yīng)用模塊是否出現(xiàn)故障;
若是,對出現(xiàn)故障的應(yīng)用模塊進(jìn)行故障信息收集;
收集應(yīng)用模塊故障時(shí)的信息、運(yùn)行信息和讀取網(wǎng)絡(luò)處理器的一些關(guān)鍵寄存器狀態(tài);
打包形成異常信息文件,保存到本地存儲模塊,并上傳至預(yù)置的運(yùn)營商服務(wù)器;
對出現(xiàn)故障的應(yīng)用模塊進(jìn)行重啟;
所述單板系統(tǒng)軟件故障檢測的步驟如下:
通信設(shè)備控制平面與單板實(shí)時(shí)?;睿?/p>
檢測單板系統(tǒng)軟件是否出現(xiàn)異常;
若出現(xiàn)單板軟件故障時(shí),則對單板進(jìn)行硬件復(fù)位。
根據(jù)本申請的一個(gè)實(shí)施例,該通信設(shè)備軟件故障檢測收集恢復(fù)方法的檢測單板系統(tǒng)軟件是否出現(xiàn)異常的步驟,具體如下:
通過通信設(shè)備單板的實(shí)時(shí)多任務(wù)系統(tǒng)預(yù)設(shè)檢測任務(wù),實(shí)時(shí)讀取多任務(wù)系統(tǒng)中的應(yīng)用模塊狀態(tài);
通過所述的檢測任務(wù)發(fā)現(xiàn)應(yīng)用模塊是否存在,若不存在的應(yīng)用模塊則出現(xiàn)故障;
若應(yīng)用模塊存在,所述的檢測任務(wù)繼續(xù)判斷應(yīng)用模塊是否存在調(diào)度異常,
通過所述檢測任務(wù)檢測出預(yù)設(shè)時(shí)間內(nèi)未能成功訪問的應(yīng)用模塊,作為出現(xiàn)故障的應(yīng)用模塊;
通過所述檢測任務(wù)依次創(chuàng)建故障信息收集任務(wù)和故障重啟任務(wù)。
根據(jù)本申請的一個(gè)實(shí)施例,該通信設(shè)備軟件故障檢測收集恢復(fù)方法的出現(xiàn)故障的檢測任務(wù)繼續(xù)判斷應(yīng)用模塊是否存在調(diào)度異常的步驟,具體如下:
通過所述故障信息收集任務(wù)收集應(yīng)用模塊故障時(shí)的信息;
通過所述故障信息收集任務(wù)收集應(yīng)用模塊運(yùn)行的信息;
通過所述故障信息收集任務(wù)收集網(wǎng)絡(luò)處理器一些關(guān)鍵寄存器狀態(tài);
通過所述故障信息收集任務(wù)對收集到的信息打包成異常信息文件,所述異常信息文件名以特定名字加時(shí)間信息命名;
通過所述故障信息收集任務(wù)創(chuàng)建故障存儲任務(wù);
所述出現(xiàn)故障的創(chuàng)建故障重啟任務(wù)的步驟,具體如下:
通過所述故障重啟任務(wù)釋放出現(xiàn)故障的應(yīng)用模塊所占資源;
通過所述故障重啟任務(wù)重啟出現(xiàn)故障的應(yīng)用模塊;
所述通過所述故障信息收集任務(wù)創(chuàng)建故障存儲任務(wù)的步驟,具體如下:
計(jì)算異常信息文件的大小;
計(jì)算本地存儲剩余空間的大??;
判斷本地存儲剩余空間的大小是否小于異常信息文件大??;
若是,根據(jù)異常信息文件名的時(shí)間信息排序,先刪除舊的異常信息文件;
本地存儲完畢之后,檢查異常信息文件數(shù)目,是否超過預(yù)設(shè)的最大異常信息文件數(shù)目;
若是,刪除一個(gè)舊的異常信息文件;
若預(yù)設(shè)遠(yuǎn)端故障服務(wù)器,將異常信息文件發(fā)送至遠(yuǎn)端服務(wù)器。
根據(jù)本申請的一個(gè)實(shí)施例,該通信設(shè)備軟件故障檢測收集恢復(fù)方法的單板系統(tǒng)軟件故障檢測的步驟,還包括以下步驟:
通過所述通信設(shè)備控制平面預(yù)設(shè)機(jī)箱管理任務(wù),與其他單板的機(jī)箱管理任務(wù)建立連接;
單板的機(jī)箱管理任務(wù)發(fā)送?;顖?bào)文到控制平面;
控制平面機(jī)箱管理任務(wù)在預(yù)設(shè)時(shí)間內(nèi)未收到某單板的?;顖?bào)文,則此單板的系統(tǒng)軟件出現(xiàn)故障;
收集故障單板相關(guān)的運(yùn)行信息、配置信息;
對出現(xiàn)故障的單板進(jìn)行重啟。
根據(jù)本申請的一個(gè)實(shí)施例,如圖3至圖4所示,該通信設(shè)備軟件故障檢測收集恢復(fù)系統(tǒng)包括:
故障檢測模塊,用于實(shí)時(shí)對通信設(shè)備系統(tǒng)中的多個(gè)應(yīng)用模塊進(jìn)行檢測,檢測應(yīng)用模塊是否出現(xiàn)故障;
故障收集模塊,用于應(yīng)用模塊出現(xiàn)故障時(shí),收集應(yīng)用模塊的信息及讀取網(wǎng)絡(luò)處理器一些關(guān)鍵寄存器狀態(tài),打包形成異常信息文件;
故障恢復(fù)模塊,用于應(yīng)用模塊出現(xiàn)故障時(shí),對出現(xiàn)故障的應(yīng)用模塊進(jìn)行重啟;
故障存儲模塊,用于應(yīng)用模塊出現(xiàn)故障時(shí),對收集到異常信息文件存儲到本地存儲,并上傳至預(yù)設(shè)的運(yùn)營商服務(wù)器;
機(jī)箱管理模塊,用于單板系統(tǒng)軟件故障檢測,定時(shí)檢測單板系統(tǒng)軟件是否出現(xiàn)故障,對出現(xiàn)故障的單板進(jìn)行重啟。
根據(jù)本申請的一個(gè)實(shí)施例,該通信設(shè)備軟件故障檢測收集恢復(fù)系統(tǒng)的故障檢測模塊包括:
第一檢測單元,用于通過所述預(yù)設(shè)的檢測任務(wù),實(shí)時(shí)讀取實(shí)時(shí)多任務(wù)系統(tǒng)中的應(yīng)用模塊狀態(tài),檢測出已經(jīng)出現(xiàn)故障的應(yīng)用模塊;
第二檢測單元,用于通過所述預(yù)設(shè)的檢測任務(wù),檢測出預(yù)設(shè)時(shí)間內(nèi)未能成功訪問的應(yīng)用模塊,作為出現(xiàn)故障的應(yīng)用模塊。
根據(jù)本申請的一個(gè)實(shí)施例,該通信設(shè)備軟件故障檢測收集恢復(fù)系統(tǒng)的故障檢收集模塊包括:
第一收集單元,用于通過所述預(yù)設(shè)的故障收集任務(wù),收集應(yīng)用模塊故障時(shí)的信息;
第二收集單元,用于通過所述預(yù)設(shè)的故障收集任務(wù),收集應(yīng)用模塊故障的運(yùn)行信息;
第三收集單元,用于通過所述預(yù)設(shè)的故障收集任務(wù),收集網(wǎng)絡(luò)處理器一些關(guān)鍵寄存器狀態(tài);
第四收集單元,用于通過所述預(yù)設(shè)的故障收集任務(wù),對收集到異常信息打包成文件,所述異常信息文件名以特定名字加時(shí)間信息命名。
根據(jù)本申請的一個(gè)實(shí)施例,該通信設(shè)備軟件故障檢測收集恢復(fù)系統(tǒng)的故障存儲模塊包括:
第一存儲單元,用于計(jì)算異常信息文件的大??;
第二存儲單元,用于計(jì)算本地存儲剩余空間的大?。?/p>
第三存儲單元,用于判斷本地存儲剩余空間的大小是否小于異常信息文件大??;若是,根據(jù)異常信息文件名的時(shí)間信息排序,先刪除舊的異常信息文件;
第四存儲單元,用于本地存儲完畢之后,檢查異常信息文件數(shù)目,是否超過預(yù)設(shè)的最大異常信息文件數(shù)目;若是,刪除一個(gè)舊的異常信息文件;
第五存儲單元,若預(yù)設(shè)遠(yuǎn)端故障服務(wù)器,將異常信息文件發(fā)送至遠(yuǎn)端服務(wù)器。
根據(jù)本申請的一個(gè)實(shí)施例,該通信設(shè)備軟件故障檢測收集恢復(fù)系統(tǒng)的故障恢復(fù)模塊包括:
第一恢復(fù)單元,用于釋放出現(xiàn)故障的應(yīng)用模塊所占資源;
第一恢復(fù)單元,用于重啟出現(xiàn)故障的應(yīng)用模塊。
根據(jù)本申請的一個(gè)實(shí)施例,該通信設(shè)備軟件故障檢測收集恢復(fù)系統(tǒng)的機(jī)箱管理模塊分為主控機(jī)箱管理模塊和單板機(jī)箱管理模塊,所述主控機(jī)箱管理模塊包括:
第一機(jī)箱管理單元,用于通過所述通信設(shè)備控制平面預(yù)設(shè)機(jī)箱管理任務(wù),與其他單板的機(jī)箱管理任務(wù)建立連接;
第二機(jī)箱管理單元,用于控制平面機(jī)箱管理任務(wù)接收其他單板?;顖?bào)文;
第三機(jī)箱管理單元,用于在預(yù)設(shè)時(shí)間內(nèi)提取未接收?;顖?bào)文的單板,作為出現(xiàn)故障的單板;
第四機(jī)箱管理單元,用于收集故障單板的配置信息和運(yùn)行信息,保存并上至預(yù)置的運(yùn)營商服務(wù)器。運(yùn)營商服務(wù)器需要預(yù)先設(shè)置,若沒有設(shè)置,則不上傳;
第五機(jī)箱管理重啟單元,用于對出現(xiàn)異常的單板進(jìn)行重啟,恢復(fù)單板系統(tǒng)軟件至正常工作狀態(tài);
單板機(jī)箱管理模塊用于通過單板的機(jī)箱管理任務(wù)與控制平面的機(jī)箱管理任務(wù)建立連接,定時(shí)發(fā)送?;顖?bào)文到控制平面。
應(yīng)用模塊故障的檢測、收集、恢復(fù)方法如圖1所示,該流程包括如下步驟:
步驟S110:通信設(shè)備單板實(shí)時(shí)對通信設(shè)備系統(tǒng)中的多個(gè)應(yīng)用模塊進(jìn)行檢測,檢測應(yīng)用模塊是否出現(xiàn)故障。具體到本實(shí)施例中,步驟S110包括步驟S111和步驟S112。
步驟S111:通過所述通信設(shè)備單板的實(shí)時(shí)多任務(wù)系統(tǒng)預(yù)設(shè)檢測任務(wù),實(shí)時(shí)讀取操作系統(tǒng)中的應(yīng)用模塊狀態(tài),監(jiān)控各應(yīng)用模塊的運(yùn)行情況,當(dāng)檢測到某一應(yīng)用模塊不存在時(shí),則可判斷為此應(yīng)用模塊運(yùn)行出現(xiàn)故障。若檢測到應(yīng)用模塊出現(xiàn)故障,則執(zhí)行步驟S120;若否,繼續(xù)執(zhí)行步驟S112。
步驟S112:通過所述通信設(shè)備單板的實(shí)時(shí)多任務(wù)系統(tǒng)預(yù)設(shè)檢測任務(wù),判斷應(yīng)用模塊是否存在調(diào)度異常。預(yù)設(shè)時(shí)間內(nèi)未能成功訪問的應(yīng)用模塊,則可判斷為此應(yīng)用模塊出現(xiàn)調(diào)度異常故障。預(yù)設(shè)時(shí)間可以根據(jù)實(shí)際情況調(diào)整。若檢測到應(yīng)用模塊出現(xiàn)調(diào)度異常故障,則執(zhí)行步驟S120;若否,返回步驟110,繼續(xù)對應(yīng)用模塊檢測。
步驟S120:對出現(xiàn)故障的應(yīng)用模塊進(jìn)行故障信息收集。若檢測應(yīng)用模塊出現(xiàn)故障,通過預(yù)設(shè)故障收集任務(wù)對出現(xiàn)故障的應(yīng)用模塊進(jìn)行故障信息收集。自動收集足夠多的故障信息,便于后續(xù)開發(fā)人員分析、定位到根本的故障原因。具體到本實(shí)施例中,步驟S120包括以下步驟:
步驟S121:收集故障時(shí)的信息,例如模塊進(jìn)程掛起的調(diào)用棧信息、模塊進(jìn)程調(diào)度異常時(shí)的調(diào)用棧信息、操作系統(tǒng)內(nèi)核運(yùn)行信息、操作系統(tǒng)內(nèi)存使用情況;
步驟S122:收集故障的應(yīng)用模塊的運(yùn)行信息;
步驟S123:收集及關(guān)聯(lián)的應(yīng)用模塊的運(yùn)行信息;
步驟S124:收集網(wǎng)絡(luò)處理器一些關(guān)鍵寄存器狀態(tài);
步驟S125:對收集到的信息打包成異常信息文件,異常信息文件名以固定名稱加上時(shí)間信息命名。
步驟S130:對收集到的異常信息文件進(jìn)行故障信息存儲。通信設(shè)備本地存儲空間有限,不能無限地存儲所有異常信息文件,因此需要對故障異常信息文件進(jìn)行有效的存儲,具體到本實(shí)施例中,步驟S130包括以下步驟:
步驟S131:計(jì)算異常信息文件的大小;
步驟S132:計(jì)算本地存儲剩余空間的大??;
步驟S133:判斷本地存儲剩余空間的大小是否小于異常信息文件大小;若是,根據(jù)異常信息文件名的時(shí)間信息排序,先刪除舊的異常信息文件;
步驟S134:本地存儲完畢之后,檢查異常信息文件數(shù)目,是否超過預(yù)設(shè)的最大異常信息文件數(shù)目;若是,刪除一個(gè)舊的異常信息文件;
步驟S135:若預(yù)設(shè)遠(yuǎn)端故障服務(wù)器,將異常信息文件發(fā)送至遠(yuǎn)端服務(wù)器。
步驟S140:對出現(xiàn)故障的應(yīng)用模塊進(jìn)行故障恢復(fù)。若檢測應(yīng)用模塊出現(xiàn)故障,通過預(yù)設(shè)故障重啟任務(wù)對出現(xiàn)故障的應(yīng)用模塊進(jìn)行,恢復(fù)軟件系統(tǒng)到正常運(yùn)行。具體到本實(shí)施中,步驟S140包括以下步驟:
步驟S141:通過所述故障重啟任務(wù)釋放出現(xiàn)故障的應(yīng)用模塊所占資源;
步驟S142:通過所述故障重啟任務(wù)重啟出現(xiàn)故障的應(yīng)用模塊。
在本實(shí)施例,通信設(shè)備轉(zhuǎn)發(fā)單板承擔(dān)的轉(zhuǎn)發(fā)功能,其業(yè)務(wù)功能多、轉(zhuǎn)發(fā)邏輯復(fù)雜,容易出現(xiàn)單板系統(tǒng)軟件整體異常。對單板系統(tǒng)軟件故障的檢測、收集、恢復(fù)方法如圖2所示,該流程包括如下步驟:
步驟S150:通過所述通信設(shè)備控制平面預(yù)設(shè)機(jī)箱管理任務(wù),與其他單板的機(jī)箱管理任務(wù)建立連接;
步驟S160:單板系統(tǒng)軟件的機(jī)箱管理任務(wù)發(fā)送定時(shí)?;顖?bào)文到控制平面,控制平面機(jī)箱管理任務(wù)定時(shí)檢查在預(yù)設(shè)時(shí)間內(nèi)未收到某單板的?;顖?bào)文,則檢查出單板系統(tǒng)軟件出現(xiàn)異常。定時(shí)發(fā)送?;顖?bào)文的間隔可根據(jù)實(shí)際情況調(diào)整,預(yù)設(shè)時(shí)間一般為定時(shí)發(fā)送?;顖?bào)文的間隔2倍及以上;
步驟S170:收集故障單板的配置信息和運(yùn)行信息,保存并上傳至預(yù)置的運(yùn)營商服務(wù)器。運(yùn)營商服務(wù)器需要預(yù)先設(shè)置,若沒有設(shè)置,則不上傳;
步驟S180:對出現(xiàn)故障的單板進(jìn)行重啟,恢復(fù)其正常工作。
本發(fā)明實(shí)施例所提供的一種基于分布式系統(tǒng)的通信設(shè)備軟件故障檢測、故障收集、恢復(fù)方法,所述的通信設(shè)備軟件故障,包括應(yīng)用模塊故障和單板系統(tǒng)軟件故障。對于應(yīng)用模塊故障的檢測,通信設(shè)備單板實(shí)時(shí)對通信設(shè)備系統(tǒng)中的多個(gè)應(yīng)用模塊進(jìn)行檢測,檢測應(yīng)用模塊是否出現(xiàn)故障;若是出現(xiàn)故障時(shí),收集故障信息,打包形成異常信息文件,先保存到本地存儲模塊,并上傳至事先預(yù)置的運(yùn)營商服務(wù)器;并對出現(xiàn)故障的應(yīng)用模塊進(jìn)行重啟。對于單板系統(tǒng)軟件故障的檢測,通信設(shè)備控制平面與單板實(shí)時(shí)?;睿瑱z測單板系統(tǒng)軟件是否出現(xiàn)異常,出現(xiàn)單板軟件故障時(shí),對單板系統(tǒng)軟件進(jìn)行重啟。本發(fā)明在通信設(shè)備發(fā)生應(yīng)用模塊故障和單板系統(tǒng)軟件故障時(shí),能快速感知故障,自動收集足夠多的故障信息,有利于故障后分析具體的原因,并自動恢復(fù)軟件系統(tǒng)到正常運(yùn)行狀態(tài),有效地縮短通信設(shè)備的故障時(shí)間。
本發(fā)明提供了一種通信設(shè)備軟件故障檢測、收集、恢復(fù)的方法和系統(tǒng)系統(tǒng),所述的通信設(shè)備軟件故障,包括應(yīng)用模塊故障和單板系統(tǒng)軟件故障。
對應(yīng)用模塊故障的檢測、收集、恢復(fù)系統(tǒng)如圖3所示,上述系統(tǒng)包括:故障檢測模塊110、故障收集模塊120、故障存儲模塊130、故障恢復(fù)模塊140。
故障檢測模塊110,用于實(shí)時(shí)對通信設(shè)備系統(tǒng)中的多個(gè)應(yīng)用模塊進(jìn)行檢測,檢測應(yīng)用模塊是否出現(xiàn)故障。具體到本實(shí)施例中,故障檢測模塊110包括第一檢測單元和第二檢測單元。
第一檢測單元,用于通過所述預(yù)設(shè)的檢測任務(wù),實(shí)時(shí)讀取實(shí)時(shí)多任務(wù)系統(tǒng)中的應(yīng)用模塊狀態(tài),當(dāng)檢測到某一應(yīng)用模塊不存在時(shí),則可判斷為此應(yīng)用模塊運(yùn)行出現(xiàn)故障;
第二檢測單元,用于通過所述預(yù)設(shè)的檢測任務(wù),判斷應(yīng)用模塊是否存在調(diào)度異常。預(yù)設(shè)時(shí)間內(nèi)未能成功訪問的應(yīng)用模塊,則可判斷為此應(yīng)用模塊出現(xiàn)調(diào)度異常故障。
故障收集模塊120,用于應(yīng)用模塊出現(xiàn)故障時(shí),收集應(yīng)用模塊的信息及讀取網(wǎng)絡(luò)處理器一些關(guān)鍵寄存器狀態(tài),打包形成異常信息文件。自動收集足夠多的故障信息,便于后續(xù)開發(fā)人員分析、定位到根本的故障原因。具體到本實(shí)施例中,故障收集模塊120包括四個(gè)收集單元。
第一收集單元,用于通過所述預(yù)設(shè)的故障收集任務(wù),收集應(yīng)用模塊故障時(shí)的異常信息。例如模塊進(jìn)程掛起的調(diào)用棧信息、模塊進(jìn)程調(diào)度異常時(shí)的調(diào)用棧信息、操作系統(tǒng)內(nèi)核運(yùn)行信息、操作系統(tǒng)內(nèi)存使用情況;
第二收集單元,用于通過所述預(yù)設(shè)的故障收集任務(wù),收集應(yīng)用模塊故障的運(yùn)行信息;
第三收集單元,用于通過所述預(yù)設(shè)的故障收集任務(wù),收集網(wǎng)絡(luò)處理器一些關(guān)鍵寄存器狀態(tài);
第四收集單元,用于通過所述預(yù)設(shè)的故障收集任務(wù),對收集到異常信息打包成文件,所述異常信息文件名以特定名字加時(shí)間信息命名。
故障存儲模塊130,用于應(yīng)用模塊出現(xiàn)故障時(shí),對收集到異常信息文件存儲到本地存儲,并上傳至預(yù)設(shè)的運(yùn)營商服務(wù)器。通信設(shè)備本地存儲空間有限,不能無限地存儲所有異常信息文件,因此需要對故障異常信息文件進(jìn)行有效的存儲,具體到本實(shí)施例中,故障存儲模塊130包括五個(gè)存儲單元。
第一存儲單元,用于計(jì)算異常信息文件的大小;
第二存儲單元,用于計(jì)算本地存儲剩余空間的大??;
第三存儲單元,用于判斷本地存儲剩余空間的大小是否小于異常信息文件大??;若是,根據(jù)異常信息文件名的時(shí)間信息排序,先刪除舊的異常信息文件;
第四存儲單元,用于本地存儲完畢之后,檢查異常信息文件數(shù)目,是否超過預(yù)設(shè)的最大異常信息文件數(shù)目;若是,刪除一個(gè)舊的異常信息文件;
第五存儲單元,若預(yù)設(shè)遠(yuǎn)端故障服務(wù)器,將異常信息文件發(fā)送至遠(yuǎn)端服務(wù)器。
故障恢復(fù)模塊140,用于應(yīng)用模塊出現(xiàn)故障時(shí),對出現(xiàn)故障的應(yīng)用模塊進(jìn)行重啟,恢復(fù)應(yīng)用模塊到正常工作狀態(tài)。具體到本實(shí)施例中,故障恢復(fù)模塊140包括第一恢復(fù)單元和第二恢復(fù)單元。
第一恢復(fù)單元,用于釋放出現(xiàn)故障的應(yīng)用模塊所占資源;
第一恢復(fù)單元,用于重啟出現(xiàn)故障的應(yīng)用模塊。
對單板系統(tǒng)軟件故障的檢測、收集、恢復(fù)系統(tǒng)如圖4所示,上述系統(tǒng)包括:主控機(jī)箱管理模塊150和單板機(jī)箱管理模塊160。
主控機(jī)箱管理模塊150,用于單板系統(tǒng)軟件故障檢測,定時(shí)檢測單板系統(tǒng)軟件是否出現(xiàn)故障,對出現(xiàn)故障的單板進(jìn)行重啟。具體到本實(shí)施例中,主控機(jī)箱管理模塊150包括五個(gè)機(jī)箱管理單元。
第一機(jī)箱管理單元,用于通過所述通信設(shè)備控制平面預(yù)設(shè)機(jī)箱管理任務(wù),與其他單板的機(jī)箱管理任務(wù)建立連接;
第二機(jī)箱管理單元,用于控制平面機(jī)箱管理任務(wù)接收其他單板保活報(bào)文;
第三機(jī)箱管理單元,用于在預(yù)設(shè)時(shí)間內(nèi)提取未接收?;顖?bào)文的單板,作為出現(xiàn)故障的單板;
第四機(jī)箱管理單元,用于收集故障單板的配置信息和運(yùn)行信息,保存并上傳至預(yù)置的運(yùn)營商服務(wù)器。運(yùn)營商服務(wù)器需要預(yù)先設(shè)置,若沒有設(shè)置,則不上傳;
第五機(jī)箱管理重啟單元,用于對出現(xiàn)異常的單板進(jìn)行重啟,恢復(fù)單板系統(tǒng)軟件至正常工作狀態(tài)。
單板機(jī)箱管理模塊160,用于通過單板的機(jī)箱管理任務(wù)與控制平面的機(jī)箱管理任務(wù)建立連接,定時(shí)發(fā)送?;顖?bào)文到控制平面。
本發(fā)明實(shí)施例所提供的一種基于分布式系統(tǒng)的通信設(shè)備軟件故障檢測、故障收集、恢復(fù)系統(tǒng),所述的通信設(shè)備軟件故障,包括應(yīng)用模塊故障和單板系統(tǒng)軟件故障。對于應(yīng)用模塊故障的檢測,通信設(shè)備單板實(shí)時(shí)對通信設(shè)備系統(tǒng)中的多個(gè)應(yīng)用模塊進(jìn)行檢測,檢測應(yīng)用模塊是否出現(xiàn)故障;若是出現(xiàn)故障時(shí),收集故障信息,打包形成異常信息文件,先保存到本地存儲模塊,并上傳至事先預(yù)置的運(yùn)營商服務(wù)器;并對出現(xiàn)故障的應(yīng)用模塊進(jìn)行重啟。對于單板系統(tǒng)軟件故障的檢測,通信設(shè)備控制平面與單板實(shí)時(shí)?;?,檢測單板系統(tǒng)軟件是否出現(xiàn)異常,出現(xiàn)單板軟件故障時(shí),對單板系統(tǒng)軟件進(jìn)行重啟。本發(fā)明在通信設(shè)備發(fā)生應(yīng)用模塊故障和單板系統(tǒng)軟件故障時(shí),能快速感知故障,自動收集足夠多的故障信息,有利于故障后分析具體的原因,并自動恢復(fù)軟件系統(tǒng)到正常運(yùn)行狀態(tài),有效地縮短通信設(shè)備的故障時(shí)間。
通過該通信設(shè)備軟件故障檢測收集恢復(fù)方法和系統(tǒng),通信設(shè)備單板實(shí)時(shí)對通信設(shè)備系統(tǒng)中的多個(gè)應(yīng)用模塊進(jìn)行檢測,檢測應(yīng)用模塊是否出現(xiàn)故障,出現(xiàn)故障時(shí),自動收集應(yīng)用模塊故障時(shí)的信息、運(yùn)行信息和讀取網(wǎng)絡(luò)處理器一些關(guān)鍵寄存器狀態(tài),打包形成異常信息文件,保存到本地存儲模塊,并上傳給事先預(yù)置的運(yùn)營商服務(wù)器,對出現(xiàn)故障的應(yīng)用模塊進(jìn)行重啟。通信設(shè)備控制平面的機(jī)箱管理模塊與單板機(jī)箱管理模塊實(shí)時(shí)?;?,檢測單板系統(tǒng)軟件是否出現(xiàn)異常,出現(xiàn)單板軟件故障時(shí),對單板進(jìn)行硬件復(fù)位,恢復(fù)單板正常工作。
以上所述實(shí)施例僅表示本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能理解為對本發(fā)明范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明保護(hù)范圍。因此本發(fā)明的保護(hù)范圍應(yīng)該以所述權(quán)利要求為準(zhǔn)。