本發(fā)明涉及云計(jì)算技術(shù)領(lǐng)域,特別是涉及一種云平臺(tái)故障預(yù)測診斷系統(tǒng)。
背景技術(shù):
隨著云計(jì)算技術(shù)的快速發(fā)展,對(duì)計(jì)算資源、存儲(chǔ)資源和網(wǎng)絡(luò)資源統(tǒng)一管理和編排的技術(shù)發(fā)展的越來越成熟,使得云平臺(tái)中計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)和虛擬化操作系統(tǒng)等各種元素緊密地結(jié)合在一起,且規(guī)模越來越大。
在云平臺(tái)中,如何及時(shí)對(duì)故障進(jìn)行診斷,是目前本領(lǐng)域技術(shù)人員亟需解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種云平臺(tái)故障預(yù)測診斷系統(tǒng),以及時(shí)對(duì)故障進(jìn)行診斷,獲得故障結(jié)論,為云平臺(tái)的正常運(yùn)行提供有力保障,可以降低云平臺(tái)的維護(hù)成本,提高數(shù)據(jù)中心的可用性。
為解決上述技術(shù)問題,本發(fā)明提供如下技術(shù)方案:
一種云平臺(tái)故障預(yù)測診斷系統(tǒng),包括故障預(yù)測模塊和深度檢測診斷模塊,其中,
所述故障預(yù)測模塊,用于收集云平臺(tái)中各種資源的運(yùn)行數(shù)據(jù),基于收集到的各類數(shù)據(jù)預(yù)測是否存在故障,及可能存在的故障的故障類型,并將所述故障類型發(fā)送給所述深度檢測診斷模塊;
所述深度檢測診斷模塊,用于依據(jù)所述故障類型對(duì)故障進(jìn)行深度檢測和診斷,獲得故障結(jié)論。
在本發(fā)明的一種具體實(shí)施方式中,
所述深度檢測診斷模塊,具體用于依據(jù)所述故障類型,確定故障是否與網(wǎng)絡(luò)相關(guān);如果是,則啟動(dòng)診斷進(jìn)程或者虛擬機(jī)發(fā)送測試包,對(duì)故障進(jìn)行深度檢測診斷,獲得故障結(jié)論。
在本發(fā)明的一種具體實(shí)施方式中,
所述深度檢測診斷模塊,具體用于依據(jù)所述故障類型,確定故障是否與存儲(chǔ)相關(guān);如果是,則啟動(dòng)診斷進(jìn)程或者虛擬機(jī)存儲(chǔ)、讀取測試文件,對(duì)故障進(jìn)行深度檢測診斷,獲得故障結(jié)論。
在本發(fā)明的一種具體實(shí)施方式中,
所述深度檢測診斷模塊,具體用于依據(jù)所述故障類型,確定故障是否與計(jì)算相關(guān);如果是,則啟動(dòng)診斷進(jìn)程或者虛擬機(jī)存儲(chǔ)、讀取內(nèi)存數(shù)據(jù),對(duì)故障進(jìn)行深度檢測診斷,獲得故障結(jié)論。
在本發(fā)明的一種具體實(shí)施方式中,
所述深度檢測診斷模塊,具體用于依據(jù)所述故障類型,確定故障是否與虛擬化軟件相關(guān);如果是,則啟動(dòng)虛擬機(jī)分配、存儲(chǔ)網(wǎng)絡(luò),對(duì)故障進(jìn)行深度檢測診斷,獲得故障結(jié)論。
在本發(fā)明的一種具體實(shí)施方式中,
所述深度檢測診斷模塊,具體用于依據(jù)所述故障類型,確定故障是否為硬件損傷類故障或環(huán)境故障;如果是,則直接記錄所述故障類型。
在本發(fā)明的一種具體實(shí)施方式中,
所述深度檢測診斷模塊,還用于確定所述故障結(jié)論是否符合預(yù)設(shè)的反饋條件;如果是,則將所述故障結(jié)論反饋給所述故障預(yù)測模塊;
所述故障預(yù)測模塊,還用于在接收到所述深度檢測診斷模塊反饋的故障結(jié)論時(shí),基于收集到的各類數(shù)據(jù)和所述故障結(jié)論預(yù)測可能存在的故障的故障類型,重復(fù)執(zhí)行所述將所述故障類型發(fā)送給所述深度檢測診斷模塊的步驟。
在本發(fā)明的一種具體實(shí)施方式中,
所述深度檢測診斷模塊,還用于在根據(jù)所述故障結(jié)論,確定存在的故障的具體內(nèi)容時(shí),進(jìn)行故障記錄。
在本發(fā)明的一種具體實(shí)施方式中,還包括故障修復(fù)模塊,
所述深度檢測診斷模塊,還用于在確定存在的故障的具體內(nèi)容時(shí),確定存在的故障是否符合預(yù)設(shè)的修復(fù)條件;如果是,則啟用所述故障修復(fù)模塊對(duì)所述存在的故障進(jìn)行修復(fù)。
在本發(fā)明的一種具體實(shí)施方式中,所述故障類型包括資源配置類型、器件物理損傷類型、環(huán)境類型、虛擬化軟件類型、未知類型。
應(yīng)用本發(fā)明實(shí)施例所提供的技術(shù)方案,故障預(yù)測模塊收集云平臺(tái)中各種資源的運(yùn)行數(shù)據(jù),基于收集到的各類數(shù)據(jù)預(yù)測是否存在故障,及可能存在的故障的故障類型,將故障類型發(fā)送給深度檢測診斷模塊,深度檢測診斷模塊依據(jù)該故障類型對(duì)故障進(jìn)行深度檢測和診斷,獲得故障結(jié)論。及時(shí)對(duì)云平臺(tái)各資源的故障進(jìn)行診斷,獲得故障結(jié)論,為云平臺(tái)的正常運(yùn)行提供有力保障,可以降低云平臺(tái)的維護(hù)成本,提高數(shù)據(jù)中心的可用性。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例中云平臺(tái)故障預(yù)測診斷系統(tǒng)的一種結(jié)構(gòu)示意圖;
圖2為本發(fā)明實(shí)施例中資源運(yùn)行數(shù)據(jù)及故障類型示意圖;
圖3為本發(fā)明實(shí)施例中云平臺(tái)故障預(yù)測診斷系統(tǒng)的另一種結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說明。顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
參見圖1所示,為本發(fā)明實(shí)施例所提供的一種云平臺(tái)故障預(yù)測診斷系統(tǒng)的結(jié)構(gòu)示意圖,該系統(tǒng)包括故障預(yù)測模塊110和深度檢測診斷模塊120。
故障預(yù)測模塊110,用于收集云平臺(tái)中各種資源的運(yùn)行數(shù)據(jù),基于收集到的各類數(shù)據(jù)預(yù)測是否存在故障,及可能存在的故障的故障類型,并將故障類型發(fā)送給深度檢測診斷模塊120;
深度檢測診斷模塊120,用于依據(jù)故障類型對(duì)故障進(jìn)行深度檢測和診斷,獲得故障結(jié)論。
在本發(fā)明實(shí)施例中,故障預(yù)測模塊110可以與構(gòu)建云平臺(tái)的各業(yè)務(wù)系統(tǒng)、業(yè)務(wù)模塊連接,通過監(jiān)測,可以獲得計(jì)算資源、存儲(chǔ)資源和網(wǎng)絡(luò)資源等的運(yùn)行狀態(tài)數(shù)據(jù)和告警數(shù)據(jù),對(duì)各種資源的運(yùn)行數(shù)據(jù)進(jìn)行收集。基于收集到的各類數(shù)據(jù),故障預(yù)測模塊110可以預(yù)測當(dāng)前是否存在故障及可能存在的故障的故障類型。
可以預(yù)先設(shè)定各類數(shù)據(jù)與故障類型的對(duì)應(yīng)關(guān)系。
舉例而言,如圖2所示,故障預(yù)測模塊110可以收集到的各種資源的運(yùn)行數(shù)據(jù)可以有以下幾類:
第一類數(shù)據(jù):云平臺(tái)資源運(yùn)行狀態(tài)數(shù)據(jù)。如服務(wù)器CPU占用率、虛擬機(jī)CPU占用率、服務(wù)器內(nèi)存占用率、虛擬機(jī)內(nèi)存占用率、網(wǎng)絡(luò)連接帶寬占用率、網(wǎng)絡(luò)連接錯(cuò)包增長率、虛擬機(jī)IOPS、服務(wù)器IOPS等;
第二類數(shù)據(jù):硬件或芯片上記錄的告警數(shù)據(jù)。如CPU硬件告警數(shù)據(jù)、內(nèi)存硬件告警數(shù)據(jù)、存儲(chǔ)硬件告警數(shù)據(jù)、網(wǎng)絡(luò)硬件告警數(shù)據(jù)、其它硬件告警數(shù)據(jù)等;
第三類數(shù)據(jù):應(yīng)用程序告警接口告警數(shù)據(jù)。云操作系統(tǒng)可以給運(yùn)行在服務(wù)器上的進(jìn)程或者運(yùn)行在虛擬機(jī)里的進(jìn)程提供告警接口,應(yīng)用程序進(jìn)程可以調(diào)用相關(guān)接口給云平臺(tái)報(bào)警,如CPU資源不足、內(nèi)存不夠、硬盤不夠或訪問太慢、網(wǎng)絡(luò)帶寬不足等;
第四類數(shù)據(jù):模擬應(yīng)用檢測系統(tǒng)告警數(shù)據(jù)??梢詥⒂媚M程序探測系統(tǒng)是否潛在存在故障,模擬程序可以是服務(wù)器上的進(jìn)程或虛擬機(jī),可以是web訪問應(yīng)用或是數(shù)據(jù)庫應(yīng)用;
第五類數(shù)據(jù):各種環(huán)境傳感器告警數(shù)據(jù)。可以通過云平臺(tái)中各種傳感器報(bào)上來的告警數(shù)據(jù)判斷環(huán)境是否存在問題導(dǎo)致云平臺(tái)中故障發(fā)生,比如溫度、濕度、電量、煙霧、粉塵、水浸、震動(dòng)等環(huán)境變量是否異常;
第六類數(shù)據(jù):其它采集數(shù)據(jù)??梢酝ㄟ^非上述情況采集到的其它有利于分析故障的數(shù)據(jù)。
故障預(yù)測模塊110基于收集到的各類數(shù)據(jù),可以預(yù)測可能存在的故障的故障類型有以下幾種,如圖2所示:
第一種類型:資源配置類型,如CPU超額配置、內(nèi)存超額配置、存儲(chǔ)超額配置、網(wǎng)絡(luò)擁塞等;
第二種類型:器件物理損傷類型,如CPU物理損傷、內(nèi)存物理損傷、存儲(chǔ)物理損傷、網(wǎng)絡(luò)物理損傷、其它器件損傷等;
第三種類型:環(huán)境類型,如溫度異常、濕度異常、電量異常、煙霧過大、粉塵過低、有水浸、有異常震動(dòng)等;
第四種類型:虛擬化軟件類型,如硬件資源足夠但不能被分配,硬件工作正常但上層應(yīng)用不能正常使用等;
第五種類型:未知類型,預(yù)測可能存在故障,但和已知故障類型不匹配。
故障預(yù)測模塊110預(yù)測可能存在的故障的故障類型后,可以將故障類型發(fā)送給深度檢測診斷模塊120,該故障類型為故障預(yù)測模塊110初步判斷得到的,為深度檢測診斷模塊120提供對(duì)故障的深度檢測診斷依據(jù)。深度檢測診斷模塊120依據(jù)故障類型可以對(duì)故障進(jìn)行深度檢測和診斷,獲得故障結(jié)論。
在本發(fā)明的一種具體實(shí)施方式中,深度檢測診斷模塊120,具體用于依據(jù)故障類型,確定故障是否與網(wǎng)絡(luò)相關(guān);如果是,則啟動(dòng)診斷進(jìn)程或者虛擬機(jī)發(fā)送測試包,對(duì)故障進(jìn)行深度檢測診斷,獲得故障結(jié)論。
或者,深度檢測診斷模塊120,具體用于依據(jù)故障類型,確定故障是否與存儲(chǔ)相關(guān);如果是,則啟動(dòng)診斷進(jìn)程或者虛擬機(jī)存儲(chǔ)、讀取測試文件,對(duì)故障進(jìn)行深度檢測診斷,獲得故障結(jié)論。
或者,深度檢測診斷模塊120,具體用于依據(jù)故障類型,確定故障是否與計(jì)算相關(guān);如果是,則啟動(dòng)診斷進(jìn)程或者虛擬機(jī)存儲(chǔ)、讀取內(nèi)存數(shù)據(jù),對(duì)故障進(jìn)行深度檢測診斷,獲得故障結(jié)論。
或者,深度檢測診斷模塊120,具體用于依據(jù)故障類型,確定故障是否與虛擬化軟件相關(guān);如果是,則啟動(dòng)虛擬機(jī)分配、存儲(chǔ)網(wǎng)絡(luò),對(duì)故障進(jìn)行深度檢測診斷,獲得故障結(jié)論。
或者,深度檢測診斷模塊120,具體用于依據(jù)故障類型,確定故障是否為硬件損傷類故障或環(huán)境故障;如果是,則直接記錄故障類型。
在本發(fā)明實(shí)施例中,深度檢測診斷模塊120依據(jù)故障類型可以確定可能發(fā)生的故障對(duì)應(yīng)的資源。
如果依據(jù)故障類型,確定故障與網(wǎng)絡(luò)相關(guān),則可以啟動(dòng)診斷進(jìn)程或者虛擬機(jī)發(fā)送測試包,對(duì)故障進(jìn)行深度檢測診斷,確定哪里的網(wǎng)絡(luò)資源存在故障,如網(wǎng)絡(luò)擁塞,或者網(wǎng)絡(luò)斷開等,獲得故障結(jié)論。
如果依據(jù)故障類型,確定故障與存儲(chǔ)相關(guān),則可以啟動(dòng)診斷進(jìn)程或者虛擬機(jī)存儲(chǔ)、讀取測試文件,對(duì)故障進(jìn)行深度檢測診斷,確定哪里的存儲(chǔ)資源存在故障,獲得故障結(jié)論。
如果依據(jù)故障類型,確定故障與計(jì)算相關(guān),則可以啟動(dòng)診斷進(jìn)程或者虛擬機(jī)存儲(chǔ)、讀取內(nèi)存數(shù)據(jù),對(duì)故障進(jìn)行深度檢測診斷,確定哪里的計(jì)算資源存在故障,獲得故障結(jié)論。
如果依據(jù)故障類型,確定故障與虛擬化軟件相關(guān),則可以啟動(dòng)虛擬機(jī)分配、存儲(chǔ)網(wǎng)絡(luò),對(duì)故障進(jìn)行深度檢測診斷,獲得故障結(jié)論。
如果依據(jù)故障類型,確定故障為硬件損傷類故障或環(huán)境故障,則可以直接記錄該故障類型。
在實(shí)際應(yīng)用中,對(duì)于物理資源中故障的深度檢測診斷,可以啟動(dòng)診斷進(jìn)程,對(duì)于虛擬資源中故障的深度檢測診斷,可以啟動(dòng)虛擬機(jī)。獲得的故障結(jié)論為故障的具體內(nèi)容。
在本發(fā)明的一種具體實(shí)施方式中,深度檢測診斷模塊120,還可以用于確定故障結(jié)論是否符合預(yù)設(shè)的反饋條件;如果是,則將故障結(jié)論反饋給故障預(yù)測模塊110;
故障預(yù)測模塊110,還用于在接收到深度檢測診斷模塊120反饋的故障結(jié)論時(shí),基于收集到的各類數(shù)據(jù)和故障結(jié)論預(yù)測可能存在的故障的故障類型,重復(fù)執(zhí)行將故障類型發(fā)送給深度檢測診斷模塊120的步驟。
在本發(fā)明實(shí)施例中,深度檢測診斷模塊120還可以在獲得故障結(jié)論后,確定故障結(jié)論是否符合預(yù)設(shè)的反饋條件,如果是,則可以將故障結(jié)論反饋給故障預(yù)測模塊110,這樣,故障預(yù)測模塊110在接收到深度檢測診斷模塊120反饋的故障結(jié)論時(shí),可以基于收集到的各類數(shù)據(jù)和故障結(jié)論預(yù)測可能存在的故障的故障類型,重復(fù)執(zhí)行將故障類型發(fā)送給深度檢測診斷模塊120的步驟。進(jìn)而使深度檢測診斷模塊120再對(duì)故障進(jìn)行深度檢測診斷。
反饋條件可以根據(jù)實(shí)際情況進(jìn)行設(shè)定和調(diào)整,比如,故障結(jié)論不能表明故障的具體內(nèi)容時(shí),認(rèn)為該故障結(jié)論符合反饋條件,或者,故障結(jié)論表明不存在故障時(shí),認(rèn)為該故障結(jié)論符合反饋條件。
在本發(fā)明的一種具體實(shí)施方式中,深度檢測診斷模塊120,還用于在根據(jù)故障結(jié)論,確定存在的故障的具體內(nèi)容時(shí),進(jìn)行故障記錄。
深度檢測診斷模塊120根據(jù)故障結(jié)論,可以確定是否存在故障,如果不存在故障,則可以不做任何操作,或者將故障結(jié)論反饋給故障預(yù)測模塊110,以便再次進(jìn)行預(yù)測和深度檢測診斷,如果存在故障,且可以確定存在的故障的具體內(nèi)容,則可以進(jìn)行故障記錄,如記錄故障的具體內(nèi)容,故障發(fā)生時(shí)間等,方便運(yùn)維人員對(duì)故障進(jìn)行查看,對(duì)云平臺(tái)資源進(jìn)行維護(hù)。
在本發(fā)明的一個(gè)實(shí)施例中,該系統(tǒng)還可以包括故障修復(fù)模塊130,
深度檢測診斷模塊120,還用于在確定存在的故障的具體內(nèi)容時(shí),確定存在的故障是否符合預(yù)設(shè)的修復(fù)條件;如果是,則啟用故障修復(fù)模塊130對(duì)存在的故障進(jìn)行修復(fù)。
在本發(fā)明實(shí)施例中,可以根據(jù)實(shí)際情況預(yù)先設(shè)定故障的修復(fù)條件。在確定存在的故障的具體內(nèi)容時(shí),可以確定存在的故障是否符合預(yù)設(shè)的修復(fù)條件,如果符合,則可以啟用故障修復(fù)模塊130對(duì)存在的故障進(jìn)行修復(fù),如控制某虛擬機(jī)重新啟動(dòng)等。
應(yīng)用本發(fā)明實(shí)施例所提供的系統(tǒng),故障預(yù)測模塊收集云平臺(tái)中各種資源的運(yùn)行數(shù)據(jù),基于收集到的各類數(shù)據(jù)預(yù)測是否存在故障,及可能存在的故障的故障類型,將故障類型發(fā)送給深度檢測診斷模塊,深度檢測診斷模塊依據(jù)該故障類型對(duì)故障進(jìn)行深度檢測和診斷,獲得故障結(jié)論。及時(shí)對(duì)云平臺(tái)各資源的故障進(jìn)行診斷,獲得故障結(jié)論,為云平臺(tái)的正常運(yùn)行提供有力保障,可以降低云平臺(tái)的維護(hù)成本,提高數(shù)據(jù)中心的可用性。
本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同或相似部分互相參見即可。
專業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。
本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的技術(shù)方案及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。