本發(fā)明屬于計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,特別是涉及一種PCIE故障的處理方法和裝置。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)以及集成電路技術(shù)的飛速發(fā)展,不論從軟件還是硬件都得到了飛速提升。由于計(jì)算機(jī)的許多外設(shè)都是PCIE(Peripheral Component Interface Express)設(shè)備,隨著設(shè)備數(shù)量的不斷增加,PCIE設(shè)備出現(xiàn)故障的概率也越來(lái)越大,給管理員帶來(lái)很大的挑戰(zhàn),這就需要管理員經(jīng)常關(guān)注PCIE設(shè)備的健康狀態(tài),即便如此,也很難及時(shí)發(fā)現(xiàn)故障。PCIE產(chǎn)生故障時(shí),需要管理員查看大量的系統(tǒng)日志并分析,花費(fèi)很長(zhǎng)時(shí)間去修復(fù)出現(xiàn)故障的設(shè)備,而且有些服務(wù)的數(shù)據(jù)量巨大,服務(wù)器的集群也大,維護(hù)起來(lái)費(fèi)時(shí)費(fèi)力,而且可能?chē)?yán)重影響服務(wù)的質(zhì)量。
技術(shù)實(shí)現(xiàn)要素:
為解決上述問(wèn)題,本發(fā)明提供了一種PCIE故障的處理方法和裝置,無(wú)需人工費(fèi)事費(fèi)力的去修復(fù)故障,能夠提高故障修復(fù)的效率和質(zhì)量。
本發(fā)明提供的一種PCIE故障的處理方法,包括:
在內(nèi)核中采集PCIE故障信息;
將所述PCIE故障信息從內(nèi)核傳輸?shù)接脩?hù)態(tài);
在用戶(hù)態(tài)對(duì)收集的所述PCIE故障信息進(jìn)行分析;
根據(jù)分析的結(jié)果,對(duì)所述PCIE故障進(jìn)行修復(fù)或隔離。
優(yōu)選的,在上述PCIE故障的處理方法中,在所述對(duì)所述PCIE故障進(jìn)行修復(fù)或隔離之后,還包括:
將所述PCIE故障信息通知管理員。
優(yōu)選的,在上述PCIE故障的處理方法中,在所述將所述PCIE故障信息通知管理員之后,還包括:
針對(duì)所述PCIE故障信息進(jìn)行報(bào)警。
優(yōu)選的,在上述PCIE故障的處理方法中,所述在內(nèi)核中采集PCIE故障信息為:
向系統(tǒng)中打入內(nèi)核補(bǔ)丁,修改內(nèi)核代碼,在內(nèi)核中采集PCIE故障信息。
優(yōu)選的,在上述PCIE故障的處理方法中,所述將所述PCIE故障信息從內(nèi)核傳輸?shù)接脩?hù)態(tài)為:
以netlink的通信方式將所述PCIE故障信息從內(nèi)核傳輸?shù)接脩?hù)態(tài)。
本發(fā)明提供的一種PCIE故障的處理裝置,包括:
采集單元,用于在內(nèi)核中采集PCIE故障信息;
傳輸單元,用于將所述PCIE故障信息從內(nèi)核傳輸?shù)接脩?hù)態(tài);
分析單元,用于在用戶(hù)態(tài)對(duì)收集的所述PCIE故障信息進(jìn)行分析;
修復(fù)和隔離單元,用于根據(jù)分析的結(jié)果,對(duì)所述PCIE故障進(jìn)行修復(fù)或隔離。
優(yōu)選的,在上述PCIE故障的處理裝置中,
還包括:
通知單元,用于將所述PCIE故障信息通知管理員。
優(yōu)選的,在上述PCIE故障的處理裝置中,還包括:
報(bào)警單元,用于針對(duì)所述PCIE故障信息進(jìn)行報(bào)警。
優(yōu)選的,在上述PCIE故障的處理裝置中,所述采集單元具體用于向系統(tǒng)中打入內(nèi)核補(bǔ)丁,修改內(nèi)核代碼,在內(nèi)核中采集PCIE故障信息。
優(yōu)選的,在上述PCIE故障的處理裝置中,所述傳輸單元具體用于以netlink的通信方式將所述PCIE故障信息從內(nèi)核傳輸?shù)接脩?hù)態(tài)。
通過(guò)上述描述可知,本發(fā)明提供的上述PCIE故障的處理方法和裝置,由于該方法包括在內(nèi)核中采集PCIE故障信息;將所述PCIE故障信息從內(nèi)核傳輸?shù)接脩?hù)態(tài);在用戶(hù)態(tài)對(duì)收集的所述PCIE故障信息進(jìn)行分析;根據(jù)分析的結(jié)果,對(duì)所述PCIE故障進(jìn)行修復(fù)或隔離,因此無(wú)需人工費(fèi)事費(fèi)力的去修復(fù)故障,能夠提高故障修復(fù)的效率和質(zhì)量。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本申請(qǐng)實(shí)施例提供的第一種PCIE故障的處理方法的示意圖;
圖2為本申請(qǐng)實(shí)施例提供的第一種PCIE故障的處理裝置的示意圖;
圖3為本申請(qǐng)實(shí)施例提供的第四種PCIE故障的處理裝置的示意圖。
具體實(shí)施方式
本發(fā)明的核心思想在于提供一種PCIE故障的處理方法和裝置,無(wú)需人工費(fèi)事費(fèi)力的去修復(fù)故障,能夠提高故障修復(fù)的效率和質(zhì)量。
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本申請(qǐng)實(shí)施例提供的第一種PCIE故障的處理方法如圖1所示,圖1為本申請(qǐng)實(shí)施例提供的第一種PCIE故障的處理方法的示意圖,該方法包括如下步驟:
S1:在內(nèi)核中采集PCIE故障信息;
需要說(shuō)明的是,可以在計(jì)算機(jī)的操作系統(tǒng)內(nèi)核中,利用KPatch工具,打入故障補(bǔ)丁,用來(lái)收集故障信息,其中故障信息可以包括但不限于故障發(fā)生的位置以及故障原因,并將其進(jìn)行封裝和傳輸。另外,可以在操作系統(tǒng)運(yùn)行的過(guò)程中打入補(bǔ)丁模塊,無(wú)需去再編譯內(nèi)核,而通常所說(shuō)的補(bǔ)丁,是在編譯內(nèi)核的時(shí)候?qū)⒀a(bǔ)丁打到內(nèi)核源碼里面,然后編譯,具體的,可以通過(guò)/proc文件、直接在kernel里面修改代碼,這樣也可以實(shí)現(xiàn)故障信息的采集,此處并不限制具體的實(shí)現(xiàn)方式。
S2:將所述PCIE故障信息從內(nèi)核傳輸?shù)接脩?hù)態(tài);
需要說(shuō)明的是,由于收集故障信息的位置在內(nèi)核,而后續(xù)的處理過(guò)程發(fā)生在用戶(hù)態(tài),因此需要將PCIE故障信息從內(nèi)核傳輸?shù)接脩?hù)態(tài),而具體的傳輸方式包括但不限于利用netlink通道。
S3:在用戶(hù)態(tài)對(duì)收集的所述PCIE故障信息進(jìn)行分析;
具體的,可以對(duì)所述PCIE故障信息進(jìn)行分類(lèi)統(tǒng)計(jì),得到分析的結(jié)果。
S4:根據(jù)分析的結(jié)果,對(duì)所述PCIE故障進(jìn)行修復(fù)或隔離。
需要說(shuō)明的是,在該步驟中,分析完成后,就可以嘗試自動(dòng)修復(fù)故障,若修復(fù)不成功,如內(nèi)存錯(cuò)誤,就可以將故障的內(nèi)存做隔離,避免故障內(nèi)存再次被使用導(dǎo)致系統(tǒng)不穩(wěn)定,避免該故障對(duì)系統(tǒng)或者關(guān)鍵服務(wù)造成嚴(yán)重的影響,產(chǎn)生嚴(yán)重的后果,這種方式能夠彌補(bǔ)人為監(jiān)控PCIE設(shè)備健康狀態(tài)、手動(dòng)管理故障及分析故障產(chǎn)生原因的效率低下和不能及時(shí)有效處理而導(dǎo)致機(jī)器不能穩(wěn)定運(yùn)行的不足。
通過(guò)上述描述可知,本申請(qǐng)實(shí)施例提供的上述第一種PCIE故障的處理方法包括在內(nèi)核中采集PCIE故障信息;將所述PCIE故障信息從內(nèi)核傳輸?shù)接脩?hù)態(tài);在用戶(hù)態(tài)對(duì)收集的所述PCIE故障信息進(jìn)行分析;根據(jù)分析的結(jié)果,對(duì)所述PCIE故障進(jìn)行修復(fù)或隔離,因此無(wú)需人工費(fèi)事費(fèi)力的去修復(fù)故障,能夠提高故障修復(fù)的效率和質(zhì)量。
本申請(qǐng)實(shí)施例提供的第二種PCIE故障的處理方法,是在上述第一種PCIE故障的處理方法的基礎(chǔ)上,還包括如下技術(shù)特征:
在所述對(duì)所述PCIE故障進(jìn)行修復(fù)或隔離之后,還包括:
將所述PCIE故障信息通知管理員。
具體的,把故障的處理結(jié)果及詳細(xì)的信息發(fā)送給管理員,可以以短信或郵件的方式進(jìn)行通知,以確保故障處理合理,具體的形式包括但不限于制作圖表或曲線(xiàn),以輔助管理員更直觀的觀察故障。
本申請(qǐng)實(shí)施例提供的第三種PCIE故障的處理方法,是在上述第二種PCIE故障的處理方法的基礎(chǔ)上,還包括如下技術(shù)特征:
在所述將所述PCIE故障信息通知管理員之后,還包括:
針對(duì)所述PCIE故障信息進(jìn)行報(bào)警。
需要說(shuō)明的是,有些故障信息較為嚴(yán)重,因此讓信息以最快速度讓管理員了解并處理是非常重要的,例如某個(gè)硬件損壞無(wú)法修復(fù)時(shí),為了不影響系統(tǒng)的正常使用,就必須進(jìn)行隔離,以CPU為例,一個(gè)機(jī)器上CPU有24核,假如其中一個(gè)核損壞了且無(wú)法修復(fù),就必須盡快隔離,不能再使用,其他23個(gè)還可以使用,但是性能就有所下降,此時(shí)必須通知管理員及時(shí)更換設(shè)備,這種報(bào)警的方式能夠表明事態(tài)緊急程度,使得管理員優(yōu)先處理該設(shè)備的問(wèn)題。
本申請(qǐng)實(shí)施例提供的第四種PCIE故障的處理方法,是在上述第三種PCIE故障的處理方法的基礎(chǔ)上,還包括如下技術(shù)特征:
所述在內(nèi)核中采集PCIE故障信息為:
向系統(tǒng)中打入內(nèi)核補(bǔ)丁,修改內(nèi)核代碼,在內(nèi)核中采集PCIE故障信息。
需要說(shuō)明的是,采用打入內(nèi)核補(bǔ)丁的方式,可以在不編譯內(nèi)核的情況下,直接加載補(bǔ)丁模塊,獲取故障,效率更高。
本申請(qǐng)實(shí)施例提供的第五種PCIE故障的處理方法,是在上述第一種至第四種PCIE故障的處理方法中任一種的基礎(chǔ)上,還包括如下技術(shù)特征:
所述將所述PCIE故障信息從內(nèi)核傳輸?shù)接脩?hù)態(tài)為:
以netlink的通信方式將所述PCIE故障信息從內(nèi)核傳輸?shù)接脩?hù)態(tài)。
需要說(shuō)明的是,Netlink是Linux系統(tǒng)中內(nèi)核態(tài)和用戶(hù)態(tài)通信的方式,當(dāng)PCIE產(chǎn)生故障后補(bǔ)丁模塊就會(huì)收集到相關(guān)故障信息,然后將該信息放入到netlink的通道中,發(fā)送到用戶(hù)態(tài)。
本申請(qǐng)實(shí)施例提供的第一種PCIE故障的處理裝置如圖2所示,圖2為本申請(qǐng)實(shí)施例提供的第一種PCIE故障的處理裝置的示意圖,該裝置包括:
采集單元201,用于在內(nèi)核中采集PCIE故障信息,需要說(shuō)明的是,可以在計(jì)算機(jī)的操作系統(tǒng)內(nèi)核中,利用KPatch工具,打入故障補(bǔ)丁,用來(lái)收集故障信息,其中故障信息可以包括但不限于故障發(fā)生的位置以及故障原因,并將其進(jìn)行封裝和傳輸。另外,可以在操作系統(tǒng)運(yùn)行的過(guò)程中打入補(bǔ)丁模塊,無(wú)需去再編譯內(nèi)核,而通常所說(shuō)的補(bǔ)丁,是在編譯內(nèi)核的時(shí)候?qū)⒀a(bǔ)丁打到內(nèi)核源碼里面,然后編譯,具體的,可以通過(guò)/proc文件、直接在kernel里面修改代碼,這樣也可以實(shí)現(xiàn)故障信息的采集,此處并不限制具體的實(shí)現(xiàn)方式;
傳輸單元202,用于將所述PCIE故障信息從內(nèi)核傳輸?shù)接脩?hù)態(tài),需要說(shuō)明的是,由于收集故障信息的位置在內(nèi)核,而后續(xù)的處理過(guò)程發(fā)生在用戶(hù)態(tài),因此需要將PCIE故障信息從內(nèi)核傳輸?shù)接脩?hù)態(tài),而具體的傳輸方式包括但不限于利用netlink通道;
分析單元203,用于在用戶(hù)態(tài)對(duì)收集的所述PCIE故障信息進(jìn)行分析,具體的,可以對(duì)所述PCIE故障信息進(jìn)行分類(lèi)統(tǒng)計(jì),得到分析的結(jié)果;
修復(fù)和隔離單元204,用于根據(jù)分析的結(jié)果,對(duì)所述PCIE故障進(jìn)行修復(fù)或隔離,需要說(shuō)明的是,分析完成后,就可以嘗試自動(dòng)修復(fù)故障,若修復(fù)不成功,如內(nèi)存錯(cuò)誤,就可以將故障的內(nèi)存做隔離,避免故障內(nèi)存再次被使用導(dǎo)致系統(tǒng)不穩(wěn)定,避免該故障對(duì)系統(tǒng)或者關(guān)鍵服務(wù)造成嚴(yán)重的影響,產(chǎn)生嚴(yán)重的后果,這種方式能夠彌補(bǔ)人為監(jiān)控PCIE設(shè)備健康狀態(tài)、手動(dòng)管理故障及分析故障產(chǎn)生原因的效率低下和不能及時(shí)有效處理而導(dǎo)致機(jī)器不能穩(wěn)定運(yùn)行的不足。
本申請(qǐng)實(shí)施例提供的第二種PCIE故障的處理裝置,是在上述第一種PCIE故障的處理裝置的基礎(chǔ)上,還包括如下技術(shù)特征:
通知單元,用于將所述PCIE故障信息通知管理員。
具體的,把故障的處理結(jié)果及詳細(xì)的信息發(fā)送給管理員,以確保合理處理故障,具體的形式包括但不限于制作圖表或曲線(xiàn),以輔助管理員更直觀的觀察故障,并以短信或郵件的方式進(jìn)行通知。
本申請(qǐng)實(shí)施例提供的第三種PCIE故障的處理裝置,是在上述第二種PCIE故障的處理裝置的基礎(chǔ)上,還包括如下技術(shù)特征:
報(bào)警單元,用于針對(duì)所述PCIE故障信息進(jìn)行報(bào)警。
需要說(shuō)明的是,有些故障信息較為嚴(yán)重,因此讓信息以最快速度讓管理員了解并處理非常重要,例如某個(gè)硬件損壞無(wú)法修復(fù)時(shí),為了不影響系統(tǒng)的正常使用,就必須去隔離,以CPU為例,一個(gè)機(jī)器上CPU有24核,假如其中一個(gè)核損壞了且無(wú)法修復(fù),就必須盡快隔離不能再使用,其他23個(gè)還是可以使用,但是性能就有所下降,此時(shí)必須發(fā)出警告通知管理員及時(shí)更換設(shè)備,這種報(bào)警的方式能夠表明事態(tài)緊急程度,使得管理員優(yōu)先處理該設(shè)備的問(wèn)題。
本申請(qǐng)實(shí)施例提供的第四種PCIE故障的處理裝置,是在上述第三種PCIE故障的處理裝置的基礎(chǔ)上,還包括如下技術(shù)特征:
所述采集單元具體用于向系統(tǒng)中打入內(nèi)核補(bǔ)丁,修改內(nèi)核代碼,在內(nèi)核中采集PCIE故障信息。
具體的,參考圖3,圖3為本申請(qǐng)實(shí)施例提供的第四種PCIE故障的處理裝置的示意圖,該裝置包括與PCIE設(shè)備401連接的內(nèi)核402,在內(nèi)核402中打入內(nèi)核補(bǔ)丁403,該內(nèi)核補(bǔ)丁403在內(nèi)核402中采集PCIE故障信息之后利用傳輸單元404傳輸?shù)椒治鰡卧?05,再根據(jù)分析結(jié)果,利用修復(fù)和隔離單元406進(jìn)行修復(fù)或者隔離,需要說(shuō)明的是,采用打入內(nèi)核補(bǔ)丁的方式,可以在不編譯內(nèi)核的情況下,直接加載補(bǔ)丁模塊,獲取故障,處理效率更高。
本申請(qǐng)實(shí)施例提供的第五種PCIE故障的處理裝置,是在上述第一種至第四種PCIE故障的處理裝置中任一種的基礎(chǔ)上,還包括如下技術(shù)特征:
所述傳輸單元具體用于以netlink的通信方式將所述PCIE故障信息從內(nèi)核傳輸?shù)接脩?hù)態(tài)。
需要說(shuō)明的是,netlink是Linux系統(tǒng)中內(nèi)核態(tài)和用戶(hù)態(tài)通信的方式,當(dāng)PCIE產(chǎn)生故障后補(bǔ)丁模塊就會(huì)收集到相關(guān)故障信息,然后將該信息放入到netlink的通道中,發(fā)送到用戶(hù)態(tài)。
綜上所述,本申請(qǐng)實(shí)施例提供的上述方法和裝置,能夠減少故障管理的工作,實(shí)現(xiàn)故障管理的自動(dòng)化,能及時(shí)有效的發(fā)現(xiàn)并解決故障,保證系統(tǒng)及關(guān)鍵服務(wù)的安全、可靠的運(yùn)行。
對(duì)所公開(kāi)的實(shí)施例的上述說(shuō)明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專(zhuān)業(yè)技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開(kāi)的原理和新穎特點(diǎn)相一致的最寬的范圍。