專利名稱:存儲(chǔ)系統(tǒng)故障預(yù)測方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)應(yīng)用領(lǐng)域,尤其涉及一種存儲(chǔ)系統(tǒng)故障預(yù)測方法和裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)和電子商務(wù)的快速發(fā)展,網(wǎng)絡(luò)數(shù)據(jù)信息呈現(xiàn)爆炸性增長趨勢,存儲(chǔ)網(wǎng)絡(luò)技術(shù)越來越被企業(yè)所接受,并在企業(yè)的商業(yè)活動(dòng)中充當(dāng)非常重要的角色。構(gòu)建高可用性的存儲(chǔ)網(wǎng)絡(luò)是至關(guān)重要的,若存儲(chǔ)網(wǎng)絡(luò)系統(tǒng)發(fā)生故障,如服務(wù)器故障或各種設(shè)備故障,造成系統(tǒng)服務(wù)中斷將會(huì)造成客戶的流失和企業(yè)收入的損失。研究表明,在網(wǎng)絡(luò)存儲(chǔ)系統(tǒng)中,若系統(tǒng)發(fā)生I小時(shí)的停機(jī),企業(yè)將損失15萬美元到645萬美元之間。為了保證企業(yè)達(dá)到24小時(shí)*365天的應(yīng)用需求,必須構(gòu)建高可用存儲(chǔ)系統(tǒng)。實(shí)現(xiàn)高可用存儲(chǔ)系統(tǒng)的關(guān)鍵技術(shù)之一是故障的失效檢測。通過失效檢測技術(shù),可以及時(shí)發(fā)現(xiàn)系統(tǒng)的故障設(shè)備、節(jié)點(diǎn)或應(yīng)用程序,然后通過資源切換、狀態(tài)恢復(fù)或重啟,來保證系統(tǒng)服務(wù)的連續(xù)性。高可用存儲(chǔ)系統(tǒng)中的故障發(fā)展呈現(xiàn)出以下特點(diǎn):1、具有突發(fā)性,并可在短時(shí)間內(nèi)產(chǎn)生大量數(shù)據(jù)丟失,造成業(yè)務(wù)中斷。例如:銀行系統(tǒng)掉電故障;2、具有滯后性,使得存儲(chǔ)系統(tǒng)不會(huì)及時(shí)發(fā)現(xiàn)故障,故障不斷注入,造成系統(tǒng)業(yè)務(wù)運(yùn)行不順暢,甚至中斷時(shí)間較長。例如:網(wǎng)線被拔出;3、故障對節(jié)點(diǎn)上運(yùn)行的其他程序影響范圍越來越大,例如:CPU的不斷升高,內(nèi)存的不斷降低,必然成為其他程序正常運(yùn)行的瓶頸;4、具有多樣性,使得存儲(chǔ)系統(tǒng)對故障檢測識別度降低,易有遺漏。系統(tǒng)故障的突發(fā)性和滯后性使其成為高可用存儲(chǔ)系統(tǒng)的殺手锏,如何有效地檢測及預(yù)測故障,提供一種靈活的故障預(yù)測機(jī)制成為衡量存儲(chǔ)系統(tǒng)高可用性好壞的標(biāo)準(zhǔn)。目前,高可用存儲(chǔ)系統(tǒng)中,對于節(jié)點(diǎn)自身故障的處理是通過系統(tǒng)中其他節(jié)點(diǎn)來判斷,其他節(jié)點(diǎn)如果在超時(shí)時(shí)間仍收不到該節(jié)點(diǎn)的心跳,則認(rèn)為該節(jié)點(diǎn)出現(xiàn)故障,以進(jìn)行故障處理和資源切換。而這種方式屬于故障發(fā)現(xiàn)故障再處理,即對于已出現(xiàn)的故障進(jìn)行分析,并不能對故障的發(fā)展趨勢進(jìn)行預(yù)測,會(huì)使得業(yè)務(wù)中斷時(shí)間延時(shí),無法滿足高可用性要求高的存儲(chǔ)系統(tǒng)。
發(fā)明內(nèi)容
本發(fā)明提供了一種存儲(chǔ)系統(tǒng)故障預(yù)測方法和裝置,解決了現(xiàn)有處理方式無法滿足高可用性要求高的存儲(chǔ)系統(tǒng)的問題。一種系統(tǒng)故障預(yù)測方法,包括:收集系統(tǒng)內(nèi)不同故障類型的故障信息;對各個(gè)故障類型的故障信息分別進(jìn)行預(yù)處理,獲取各故障類型下的子故障類型和各子故障類型對應(yīng)的故障發(fā)生的時(shí)間序列;預(yù)測所述子故障類型對應(yīng)的故障的下一次發(fā)生時(shí)間。
優(yōu)選的,所述故障類型包括處理器(CPU)故障、內(nèi)存故障、文件訪問故障、網(wǎng)卡流量故障和主機(jī)硬件故障。優(yōu)選的,對各個(gè)故障類型的故障信息分別進(jìn)行預(yù)處理,獲取各故障類型下的子故障類型和各子故障類型對應(yīng)的故障發(fā)生的時(shí)間序列包括:獲取各故障類型的聚類信息,所述聚類信息包括相關(guān)系數(shù)、最大值、最小值、中間值、平均值、出現(xiàn)頻率最高的值和標(biāo)準(zhǔn)差;分別對各故障類型的聚類特征使用K - MEANS聚類算法進(jìn)行聚類,將每個(gè)故障類型細(xì)化成多個(gè)具有相似聚類特征的子故障類型;獲取各子故障類型中故障發(fā)生的時(shí)間序列。優(yōu)選的,所述預(yù)測所述子故障類型對應(yīng)的故障的下一次發(fā)生時(shí)間具體為:構(gòu)建ARIMA模型;檢測所述ARIMA模型的有效性;在所述ARIMA模型有效時(shí),使用子故障類型中故障發(fā)生的時(shí)間序列作為輸入,預(yù)測下一次所述子故障類型對應(yīng)的故障發(fā)生的時(shí)間。優(yōu)選的,所述使用子故障類型中故障發(fā)生的時(shí)間序列作為輸入,預(yù)測下一次所述子故障類型對應(yīng)的故障發(fā)生的時(shí)間包括:從所述時(shí)間序列中提取當(dāng)前時(shí)刻的前P個(gè)數(shù)據(jù)點(diǎn)代入所述ARIMA模型,預(yù)測出下q個(gè)時(shí)刻的故障值及其置信區(qū)間,其中P>q>0。優(yōu)選的,所述檢測所述ARIMA模型的有效性的步驟之后,還包括:在所述ARIMA模型無效時(shí),重新估計(jì)該ARIMA模型的參數(shù)。優(yōu)選的,所述預(yù)測所述子故障類型對應(yīng)的故障的下一次發(fā)生時(shí)間的步驟之后,還包括:驗(yàn)證當(dāng)前時(shí)刻的實(shí)際故障值是否偏離所述置信區(qū)間;在所述當(dāng)前的實(shí)際故障值偏離所述置信區(qū)間時(shí),判定故障異常,通過郵件日志、系統(tǒng)日志、短信通知進(jìn)行故障報(bào)警,并進(jìn)行故障數(shù)據(jù)處理。優(yōu)選的,所述預(yù)測所述子故障類型對應(yīng)的故障的下一次發(fā)生時(shí)間的步驟之后,還包括:驗(yàn)證當(dāng)前時(shí)刻的實(shí)際故障值是否偏離所述置信區(qū)間;在所述當(dāng)前的實(shí)際故障值位于所述置信區(qū)間時(shí),判斷當(dāng)前時(shí)間的實(shí)際故障值與前一時(shí)刻的實(shí)際故障值之差的絕對值是否大于模型臨界值;在所述絕對值大于所述模型臨界值時(shí),啟動(dòng)所述ARIMA模式的再學(xué)習(xí),修改所述ARIMA模型的模型參數(shù)。優(yōu)選的,所述判斷當(dāng)前時(shí)間的實(shí)際故障值與前一時(shí)刻的實(shí)際故障值之差的絕對值是否大于模型臨界值的步驟之后,還包括:在所述絕對值不大于所述模型臨界值時(shí),時(shí)刻比較變量進(jìn)行加I操作,并判斷其值是否等于P;在所述時(shí)刻比較變量的值超過P時(shí),將所述時(shí)刻比較變量恢復(fù)為初始值。本發(fā)明還提供了一種存儲(chǔ)系統(tǒng)故障預(yù)測裝置,包括:數(shù)據(jù)收集模塊,用于收集系統(tǒng)內(nèi)不同故障類型的故障信息;
數(shù)據(jù)聚類模塊,用于對各個(gè)故障類型的故障信息分別進(jìn)行預(yù)處理,獲取各故障類型下的子故障類型和各子故障類型對應(yīng)的故障發(fā)生的時(shí)間序列;數(shù)據(jù)預(yù)測模塊,用于預(yù)測所述子故障類型對應(yīng)的故障的下一次發(fā)生時(shí)間。本發(fā)明提供了一種存儲(chǔ)系統(tǒng)故障預(yù)測方法和裝置,收集系統(tǒng)內(nèi)不同故障類型的故障信息,對各個(gè)故障類型的故障信息分別進(jìn)行預(yù)處理,獲取各故障類型下的子故障類型和各子故障類型對應(yīng)的故障發(fā)生的時(shí)間序列,預(yù)測所述子故障類型對應(yīng)的故障的下一次發(fā)生時(shí)間,避免了故障發(fā)現(xiàn)時(shí)故障再處理的滯后性,通過故障預(yù)測,有效預(yù)防故障對存儲(chǔ)網(wǎng)絡(luò)及網(wǎng)絡(luò)節(jié)點(diǎn)上運(yùn)行的其他程序帶來的影響,解決了現(xiàn)有處理方式無法滿足高可用性要求高的存儲(chǔ)系統(tǒng)的問題。
圖1是本發(fā)明的實(shí)施例一提供的一種存儲(chǔ)系統(tǒng)故障預(yù)測裝置的結(jié)構(gòu)示意圖;圖2是本發(fā)明的實(shí)施例二提供的一種存儲(chǔ)系統(tǒng)故障預(yù)測方法中建立ARIMA模型前的數(shù)據(jù)收集和聚類流程示意圖;圖3是本發(fā)明的實(shí)施例二提供的一種存儲(chǔ)系統(tǒng)故障預(yù)測方法中預(yù)測子故障類型對應(yīng)的故障的下一次發(fā)生時(shí)間的流程示意圖。
具體實(shí)施例方式系統(tǒng)故障的突發(fā)性和滯后性使其成為高可用存儲(chǔ)系統(tǒng)的殺手锏,如何有效地檢測及預(yù)測故障,提供一種靈活的故障預(yù)測機(jī)制成為衡量存儲(chǔ)系統(tǒng)高可用性好壞的標(biāo)準(zhǔn)。目前,高可用存儲(chǔ)系統(tǒng)中,對于節(jié)點(diǎn)自身故障的處理是通過系統(tǒng)中其他節(jié)點(diǎn)來判斷,其他節(jié)點(diǎn)如果在超時(shí)時(shí)間仍收不到該節(jié)點(diǎn)的心跳,則認(rèn)為該節(jié)點(diǎn)出現(xiàn)故障,以進(jìn)行故障處理和資源切換。而這種方式屬于故障發(fā)現(xiàn)故障再處理,即對于已出現(xiàn)的故障進(jìn)行分析,并不能對故障的發(fā)展趨勢進(jìn)行預(yù)測,會(huì)使得業(yè)務(wù)中斷時(shí)間延時(shí),無法滿足高可用性要求高的存儲(chǔ)系統(tǒng)。為了解決上述問題,本發(fā)明的實(shí)施例提供了一種存儲(chǔ)系統(tǒng)故障預(yù)測方法和裝置,基于ARIMA模型的自學(xué)習(xí),一方面可以根據(jù)不同類型故障的歷史數(shù)據(jù)對故障進(jìn)行預(yù)測,當(dāng)實(shí)時(shí)故障數(shù)據(jù)超過預(yù)測故障的置信區(qū)間時(shí),進(jìn)行報(bào)警;一方面對ARIMA模型進(jìn)行了改進(jìn),通過數(shù)據(jù)本身的特點(diǎn)進(jìn)行實(shí)時(shí)的模型修正,使得模型吻合當(dāng)前的數(shù)據(jù)特性。ARIMA模型的基本思想是:將預(yù)測對象隨時(shí)間推移而形成的數(shù)據(jù)序列視為一個(gè)隨機(jī)序列,用一定的數(shù)學(xué)模型來近似描述這個(gè)序列。這個(gè)模型一旦被識別后就可以從時(shí)間序列的過去值及現(xiàn)在值來預(yù)測未來值。(參見 George E.P.Box, Gwilym M.Jenkins.Time Series Forecasting andControl[M].Prentice Hall.1976.)ARIMA(p, d, q)過程可以分為兩部分:AR(p)過程和MA(q)過程。(參見中國人民銀行調(diào)查統(tǒng)計(jì)司.時(shí)間序列X-12-ARIMA季節(jié)調(diào)整[M]:原理與方法.中國金融出版社.2006.以及馮文權(quán).經(jīng)濟(jì)預(yù)測與決策技術(shù)[M].武漢大學(xué)出版社.2002.) AR稱為自回歸模型,MA稱為移動(dòng)平均模型。其中,AR(p)過程表示的是預(yù)測值受到的觀察值序列的影響,MA(q)過程表示的是預(yù)測值受到的隨機(jī)干擾的影響,P和q是ARIMA模型的第一和第二參數(shù)。由于許多隨機(jī)過程并不能純粹用這兩個(gè)過程表示,且隨機(jī)序列也不一定是平穩(wěn)的。因此在這兩個(gè)過程計(jì)算之前做了 d次差分,使序列變成一個(gè)平穩(wěn)的隨機(jī)序列。下文中將結(jié)合附圖對本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。 首先結(jié)合附圖,對本發(fā)明的實(shí)施例一進(jìn)行說明。本發(fā)明實(shí)施例提供了一種存儲(chǔ)系統(tǒng)故障預(yù)測裝置,該裝置的結(jié)構(gòu)如圖1所示,包括:數(shù)據(jù)收集模塊101,用于收集系統(tǒng)內(nèi)不同故障類型的故障信息;數(shù)據(jù)聚類模塊102,用于對各個(gè)故障類型的故障信息分別進(jìn)行預(yù)處理,獲取各故障類型下的子故障類型和各子故障類型對應(yīng)的故障發(fā)生的時(shí)間序列;數(shù)據(jù)預(yù)測模塊103,用于預(yù)測所述子故障類型對應(yīng)的故障的下一次發(fā)生時(shí)間。優(yōu)選的,該裝置還包括:數(shù)據(jù)處理模塊104,用于根據(jù)預(yù)測的故障發(fā)生時(shí)間,選擇存儲(chǔ)系統(tǒng)中最優(yōu)機(jī)下達(dá)失效切換指令進(jìn)行業(yè)務(wù)資源切換,從而保障存儲(chǔ)系統(tǒng)的高可用。數(shù)據(jù)收集模塊101收集高可用存儲(chǔ)系統(tǒng)主機(jī)的故障信息,涉及不同的資源耗費(fèi)信息,包括CPU、內(nèi)存、進(jìn)程訪問控制信息、網(wǎng)卡流量和主機(jī)硬件屬性信息等。數(shù)據(jù)聚類模塊102,用于按類統(tǒng)計(jì)高可用存儲(chǔ)系統(tǒng)中故障信息。數(shù)據(jù)預(yù)測模塊103,對于每一種故障類型采用ARIMA模型建立預(yù)測因子,預(yù)測故障發(fā)生時(shí)間。根據(jù)所采集的故障信息,對每種故障類型的數(shù)據(jù)量進(jìn)行預(yù)處理,獲取每種故障的聚類特征。其中,聚類特征包括:相關(guān)系數(shù)、最大值、最小值、中間值、平均值、出現(xiàn)頻率最高的值和標(biāo)準(zhǔn)差。根據(jù)每種故障的聚類特征,采用K-MEANS聚類算法依次對每個(gè)故障類型進(jìn)行聚類,并將每個(gè)故障類型細(xì)化成多個(gè)具有相似聚類特征(例如,根據(jù)CPU、內(nèi)存、進(jìn)程訪問控制信息、網(wǎng)卡流量和主機(jī)硬件屬性信息等,對每一種故障類型根據(jù)聚類特征進(jìn)行聚類,以提高故障預(yù)測的準(zhǔn)確度)的子故障類型,同時(shí)獲得為進(jìn)行數(shù)據(jù)預(yù)測所需的各子故障類型對應(yīng)故障發(fā)生的時(shí)間序列。數(shù)據(jù)預(yù)測模塊103的工作流程如下:步驟1:通過歷史數(shù)據(jù)學(xué)習(xí),估計(jì)ARIMA模型的第一參數(shù)和第二參數(shù),并檢驗(yàn)該ARIMA模型的有效性,從而獲得初始的差分自回歸移動(dòng)平均ARIMA模型;步驟2:將某一子故障類型時(shí)間序列的當(dāng)前時(shí)刻的前P個(gè)數(shù)據(jù)點(diǎn)代入上述ARIMA模型中進(jìn)行計(jì)算,預(yù)測出下q個(gè)時(shí)刻的故障數(shù)據(jù)及其置信區(qū)間,其中P>q>0 ;步驟3:判斷實(shí)際的故障值(如CPU使用百分比、內(nèi)存容量等)是否位于所屬類型模型預(yù)測的置信區(qū)間內(nèi),如果不在所述置信區(qū)間內(nèi),則執(zhí)行步驟4 ;如果位于置信區(qū)間內(nèi),則執(zhí)行步驟5 ;步驟4:通過郵件日志、系統(tǒng)日志、短信通知進(jìn)行故障報(bào)警,以提醒用戶對故障進(jìn)行處理;當(dāng)故障報(bào)警后,系統(tǒng)將選擇最優(yōu)機(jī)進(jìn)行資源業(yè)務(wù)切換;步驟5:將當(dāng)前時(shí)刻的實(shí)際值與前一時(shí)刻實(shí)際的故障值作差,若所得差的絕對值大于模型臨界值,則啟動(dòng)該類別故障ARIMA模型進(jìn)行再學(xué)習(xí),以修改該模型參數(shù);若所得差的絕對值小于等于模型臨界值,則時(shí)刻比較變量(用來記錄已經(jīng)進(jìn)行了多少次的當(dāng)前時(shí)刻與前一時(shí)刻故障差的計(jì)算)自動(dòng)加1,當(dāng)時(shí)刻比較變量值等于P時(shí),需要對該模型修正參數(shù)進(jìn)行再學(xué)習(xí)。數(shù)據(jù)處理模塊104,根據(jù)所預(yù)測的故障發(fā)生時(shí)間,選擇最優(yōu)機(jī)(指集群中沒有故障的優(yōu)先級最高的機(jī)器,將組資源切換到這個(gè)最優(yōu)機(jī)上,從而保證資源的高可用)下達(dá)失效切換指令,如果有異常故障數(shù)據(jù),則進(jìn)行故障報(bào)警。至此,已經(jīng)完整實(shí)現(xiàn)了基于ARIMA模型的智能化高可用的存儲(chǔ)系統(tǒng)故障預(yù)測裝置,該裝置與傳統(tǒng)的故障發(fā)現(xiàn)故障再分析處理方式相比,可以實(shí)時(shí)預(yù)測故障發(fā)展趨勢,避免了業(yè)務(wù)因故障檢測不當(dāng)帶來的中斷。同時(shí),對故障進(jìn)行聚類分析,獲取故障數(shù)據(jù)本身的特性,并在故障檢測正常運(yùn)行中,可以進(jìn)行自學(xué)習(xí),修改模型參數(shù),取得更精確預(yù)測效果。因此,采用該存儲(chǔ)系統(tǒng)故障預(yù)測裝置,使其應(yīng)用在高可用存儲(chǔ)系統(tǒng)中,能夠使故障檢測更加靈活,并根據(jù)故障數(shù)據(jù)統(tǒng)計(jì)信息,選擇最優(yōu)機(jī)下達(dá)失效切換指令,達(dá)到真正的高可用。下面結(jié)合附圖,對本發(fā)明的實(shí)施例二進(jìn)行說明。本發(fā)明實(shí)施例提供了一種存儲(chǔ)系統(tǒng)故障預(yù)測方法,與圖1所示的存儲(chǔ)系統(tǒng)故障預(yù)測裝置相結(jié)合,能夠?qū)崿F(xiàn)對存儲(chǔ)系統(tǒng)故障的預(yù)測。首先,對建立ARIMA模型前的數(shù)據(jù)收集和聚類流程進(jìn)行說明,如圖2所示,包括:步驟201、收集系統(tǒng)內(nèi)不同故障類型的故障信息;數(shù)據(jù)預(yù)測模型建立前,如何對大量具有多樣性的故障信息進(jìn)行收集和聚類是非常重要的,需要通過聚類建立每種故障類型的時(shí)間序列,以進(jìn)行精確預(yù)測。首先,需要根據(jù)先驗(yàn)知識將可預(yù)測故障分為五種類型:CPU、內(nèi)存、進(jìn)程訪問控制信息、網(wǎng)卡流量和主機(jī)硬件屬性信息,對于像硬關(guān)機(jī)、掉電故障存在突發(fā)性和偶然性,不屬于可預(yù)測故障。步驟202、對各個(gè)故障類型的故障信息分別進(jìn)行預(yù)處理,獲取各故障類型下的子故障類型和各子故障類型對應(yīng)的故障發(fā)生的時(shí)間序列;本步驟中,對每種故障類型,按照聚類特征采用K-MEANS聚類算法依次對每個(gè)類型的故障進(jìn)行聚類,并將每個(gè)故障類型細(xì)化成多個(gè)具有相似聚類特征的子故障類型,同時(shí)獲得為進(jìn)行數(shù)據(jù)預(yù)測所需的時(shí)間序列。步驟203、預(yù)測所述子故障類型對應(yīng)的故障的下一次發(fā)生時(shí)間;在完成聚類和獲取時(shí)間序列后,就可以根據(jù)每種子故障類別的歷史數(shù)據(jù)(即時(shí)間序列),建立相應(yīng)的ARIMA模型進(jìn)行故障預(yù)測,ARIMA模型的基本思想是:將預(yù)測對象隨時(shí)間推移而形成的數(shù)據(jù)序列視為一個(gè)隨機(jī)序列,用一個(gè)數(shù)學(xué)模型來近似描述這個(gè)序列。這個(gè)模型一旦被識別后,就可以從時(shí)間序列的過去值及現(xiàn)在值來預(yù)測未來值。利用ARIMA模型預(yù)測子故障類型對應(yīng)的故障的下一次發(fā)生時(shí)間的流程具體如圖3所示,包括:步驟301、構(gòu)建ARIMA模型;本步驟中,通過數(shù)據(jù)聚類模塊獲取的故障歷史數(shù)據(jù)的學(xué)習(xí),估計(jì)初始ARIMA模型的參數(shù),檢驗(yàn)是否具有統(tǒng)計(jì)意義。步驟302、檢測所述ARIMA模型的有效性;本步驟中,對ARIMA模型的有效性進(jìn)行檢驗(yàn)。如果無效,則重新估計(jì)該ARIMA模型的參數(shù),執(zhí)行步驟301 ;如果有效,執(zhí)行步驟303。步驟303、從所述時(shí)間序列中提取當(dāng)前時(shí)刻的前P個(gè)數(shù)據(jù)點(diǎn)代入所述ARIMA模型;其中p>0。步驟304、預(yù)測出下q個(gè)時(shí)刻的故障值及其置信區(qū)間;
其中q>0 且 p>q>0。步驟305、判斷當(dāng)前時(shí)刻的實(shí)際故障值是否位于預(yù)測所述的置信區(qū)間內(nèi);本步驟中,如果不在置信區(qū)間內(nèi),則認(rèn)為故障異常,通過郵件日志、系統(tǒng)日志、短信通知進(jìn)行故障報(bào)警,并進(jìn)行故障數(shù)據(jù)處理。如果位于置信區(qū)間內(nèi),則執(zhí)行步驟306。步驟306、判斷當(dāng)前時(shí)刻的實(shí)際故障值與前一時(shí)刻的實(shí)際故障值之差的絕對值是否大于模型臨界值;若超過,則執(zhí)行步驟307 ;否則,執(zhí)行步驟308。模型臨界值是指:對歷史故障值做差分,得到一個(gè)滿足均值為O的正態(tài)分布的差分序列,計(jì)算縱軸為0.90以上的置信區(qū)間[_a,+a],a即為臨界值。步驟307、啟動(dòng)再學(xué)習(xí),修改ARIMA模型參數(shù),以進(jìn)行精確預(yù)測。步驟308、時(shí)刻比較變量進(jìn)行加I操作,并判斷其值是否等于P ;若超過,則將其恢復(fù)成初始值,執(zhí)行步驟307 ;否則,進(jìn)入下一時(shí)刻實(shí)際故障值的判斷。本發(fā)明提供了一種存儲(chǔ)系統(tǒng)故障預(yù)測方法和裝置,收集系統(tǒng)內(nèi)不同故障類型的故障信息,對各個(gè)故障類型的故障信息分別進(jìn)行預(yù)處理,獲取各故障類型下的子故障類型和各子故障類型對應(yīng)的故障發(fā)生的時(shí)間序列,預(yù)測所述子故障類型對應(yīng)的故障的下一次發(fā)生時(shí)間,避免了故障發(fā)現(xiàn)時(shí)故障再處理的滯后性,通過故障預(yù)測,有效預(yù)防故障對存儲(chǔ)網(wǎng)絡(luò)及網(wǎng)絡(luò)節(jié)點(diǎn)上運(yùn)行的其他程序帶來的影響,解決了現(xiàn)有處理方式無法滿足高可用性要求高的存儲(chǔ)系統(tǒng)的問題。本發(fā)明的實(shí)施例提供了基于時(shí)間序列ARIMA模型的故障檢測技術(shù),通常用于高可用存儲(chǔ)系統(tǒng),旨在最優(yōu)化地發(fā)現(xiàn)節(jié)點(diǎn)故障,將資源切換到最優(yōu)機(jī),防止因節(jié)點(diǎn)中斷(宕機(jī),掉電,死機(jī)等)對業(yè)務(wù)造成的影響,最大化保證存儲(chǔ)網(wǎng)絡(luò)的高可用性和高可靠性。采用該技術(shù)一方面避免了故障發(fā)現(xiàn)時(shí)故障再處理的滯后性,一方面通過故障預(yù)測,有效預(yù)防故障對存儲(chǔ)網(wǎng)絡(luò)及網(wǎng)絡(luò)節(jié)點(diǎn)上運(yùn)行的其他程序帶來的影響?;贏RIMA模型的智能化高可用存儲(chǔ)系統(tǒng)故障檢測裝置對系統(tǒng)故障進(jìn)行聚類,根據(jù)不同類型的故障以及故障本身具有的特性進(jìn)行預(yù)測,從而做到定制性檢測需求;其次,本發(fā)明提供的技術(shù)方案可以對故障的發(fā)展趨勢進(jìn)行預(yù)測,相比當(dāng)前對已出現(xiàn)的故障進(jìn)行分析再處理的方式,減少甚至避免了業(yè)務(wù)中斷時(shí)間;然后,在ARIMA模型正常運(yùn)作時(shí),實(shí)時(shí)判別ARIMA模型的參數(shù)是否仍適用于當(dāng)前的實(shí)際值,若發(fā)現(xiàn)不再適用時(shí),自動(dòng)進(jìn)行再學(xué)習(xí),通過再學(xué)習(xí)獲得新的模型參數(shù),以此提高模型預(yù)測的準(zhǔn)確性。因此將本發(fā)明的實(shí)施例提供的存儲(chǔ)系統(tǒng)故障預(yù)測方法和裝置應(yīng)用于高可用存儲(chǔ)系統(tǒng)中,能夠?qū)ο到y(tǒng)的故障設(shè)備、節(jié)點(diǎn)或應(yīng)用程序進(jìn)行提前感知和及時(shí)發(fā)現(xiàn),減少業(yè)務(wù)中斷時(shí)間,進(jìn)一步提聞系統(tǒng)的聞可用性。本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的全部或部分步驟可以使用計(jì)算機(jī)程序流程來實(shí)現(xiàn),所述計(jì)算機(jī)程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,所述計(jì)算機(jī)程序在相應(yīng)的硬件平臺上(如系統(tǒng)、設(shè)備、裝置、器件等)執(zhí)行,在執(zhí)行時(shí),包括方法實(shí)施例的步驟之
一或其組合??蛇x地,上述實(shí)施例的全部或部分步驟也可以使用集成電路來實(shí)現(xiàn),這些步驟可以被分別制作成一個(gè)個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
上述實(shí)施例中的各裝置/功能模塊/功能單元可以采用通用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,也可以分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上。上述實(shí)施例中的各裝置/功能模塊/功能單元以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。上述提到的計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。任何熟悉本技術(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.一種存儲(chǔ)系統(tǒng)故障預(yù)測方法,其特征在于,包括: 收集系統(tǒng)內(nèi)不同故障類型的故障信息; 對各個(gè)故障類型的故障信息分別進(jìn)行預(yù)處理,獲取各故障類型下的子故障類型和各子故障類型對應(yīng)的故障發(fā)生的時(shí)間序列; 預(yù)測所述子故障類型對應(yīng)的故障的下一次發(fā)生時(shí)間。
2.根據(jù)權(quán)利要求1所述的存儲(chǔ)系統(tǒng)故障預(yù)測方法,其特征在于,所述故障類型包括處理器(CPU)故障、內(nèi)存故障、文件訪問故障、網(wǎng)卡流量故障和主機(jī)硬件故障。
3.根據(jù)權(quán)利要求1所述的存儲(chǔ)系統(tǒng)故障預(yù)測方法,其特征在于,對各個(gè)故障類型的故障信息分別進(jìn)行預(yù)處理,獲取各故障類型下的子故障類型和各子故障類型對應(yīng)的故障發(fā)生的時(shí)間序列包括: 獲取各故障類型的聚類信息,所述聚類信息包括相關(guān)系數(shù)、最大值、最小值、中間值、平均值、出現(xiàn)頻率最高的值和標(biāo)準(zhǔn)差; 分別對各故障類型的聚類特征使用K - MEANS聚類算法進(jìn)行聚類,將每個(gè)故障類型細(xì)化成多個(gè)具有相似聚類特征的子故障類型; 獲取各子故障類型中故障發(fā)生的時(shí)間序列。
4.根據(jù)權(quán)利要求3所述的存儲(chǔ)系統(tǒng)故障預(yù)測方法,其特征在于,所述預(yù)測所述子故障類型對應(yīng)的故障的下一次發(fā)生時(shí)間具體為: 構(gòu)建ARIMA模型; 檢測所述ARIMA模型的有效性; 在所述ARIMA模型有效時(shí),使用子故障類型中故障發(fā)生的時(shí)間序列作為輸入,預(yù)測下一次所述子故障類型對應(yīng)的故障發(fā)生的時(shí)間。
5.根據(jù)權(quán)利要求4所述的存儲(chǔ)系統(tǒng)故障預(yù)測方法,其特征在于,所述使用子故障類型中故障發(fā)生的時(shí)間序列作為輸入,預(yù)測下一次所述子故障類型對應(yīng)的故障發(fā)生的時(shí)間包括: 從所述時(shí)間序列中提取當(dāng)前時(shí)刻的前P個(gè)數(shù)據(jù)點(diǎn)代入所述ARIMA模型,預(yù)測出下q個(gè)時(shí)刻的故障值及其置信區(qū)間,其中P>q>0。
6.根據(jù)權(quán)利要求4所述的存儲(chǔ)系統(tǒng)故障預(yù)測方法,其特征在于,所述檢測所述ARIMA模型的有效性的步驟之后,還包括: 在所述ARIMA模型無效時(shí),重新估計(jì)該ARIMA模型的參數(shù)。
7.根據(jù)權(quán)利要求5所述的存儲(chǔ)系統(tǒng)故障預(yù)測方法,其特征在于,所述預(yù)測所述子故障類型對應(yīng)的故障的下一次發(fā)生時(shí)間的步驟之后,還包括: 驗(yàn)證當(dāng)前時(shí)刻的實(shí)際故障值是否偏離所述置信區(qū)間; 在所述當(dāng)前的實(shí)際故障值偏離所述置信區(qū)間時(shí),判定故障異常,通過郵件日志、系統(tǒng)日志、短信通知進(jìn)行故障報(bào)警,并進(jìn)行故障數(shù)據(jù)處理。
8.根據(jù)權(quán)利要求5所述的存儲(chǔ)系統(tǒng)故障預(yù)測方法,其特征在于,所述預(yù)測所述子故障類型對應(yīng)的故障的下一次發(fā)生時(shí)間的步驟之后,還包括: 驗(yàn)證當(dāng)前時(shí)刻的實(shí)際故障值是否偏離所述置信區(qū)間; 在所述當(dāng)前的實(shí)際故障值位于所述置信區(qū)間時(shí),判斷當(dāng)前時(shí)間的實(shí)際故障值與前一時(shí)刻的實(shí)際故障值之差的絕對值是否大于模型臨界值;在所述絕對值大于所述模型臨界值時(shí),啟動(dòng)所述ARIMA模式的再學(xué)習(xí),修改所述ARIMA模型的模型參數(shù)。
9.根據(jù)權(quán)利要求8所述的存儲(chǔ)系統(tǒng)故障預(yù)測方法,其特征在于,所述判斷當(dāng)前時(shí)間的實(shí)際故障值與前一時(shí)刻的實(shí)際故障值之差的絕對值是否大于模型臨界值的步驟之后,還包括: 在所述絕對值不大于所述模型臨界值時(shí),時(shí)刻比較變量進(jìn)行加I操作,并判斷其值是否等于P; 在所述時(shí)刻比較變量的值超過P時(shí),將所述時(shí)刻比較變量恢復(fù)為初始值。
10.一種存儲(chǔ)系統(tǒng)故障預(yù)測裝置,其特征在于,包括: 數(shù)據(jù)收集模塊,用于收集系統(tǒng)內(nèi)不同故障類型的故障信息; 數(shù)據(jù)聚類模塊,用于對各個(gè)故障類型的故障信息分別進(jìn)行預(yù)處理,獲取各故障類型下的子故障類型和各子故障類型對應(yīng)的故障發(fā)生的時(shí)間序列; 數(shù)據(jù)預(yù)測模塊,用于預(yù)測所述子故障類型對應(yīng)的故障的下一次發(fā)生時(shí)間。
全文摘要
本發(fā)明提供了一種存儲(chǔ)系統(tǒng)故障預(yù)測方法和裝置。涉及計(jì)算機(jī)應(yīng)用領(lǐng)域;解決了現(xiàn)有處理方式無法滿足高可用性要求高的存儲(chǔ)系統(tǒng)的問題。該方法包括收集系統(tǒng)內(nèi)不同故障類型的故障信息;對各個(gè)故障類型的故障信息分別進(jìn)行預(yù)處理,獲取各故障類型下的子故障類型和各子故障類型對應(yīng)的故障發(fā)生的時(shí)間序列;預(yù)測所述子故障類型對應(yīng)的故障的下一次發(fā)生時(shí)間。本發(fā)明提供的技術(shù)方案適用于高可用存儲(chǔ)系統(tǒng),實(shí)現(xiàn)了高準(zhǔn)確性的故障預(yù)測。
文檔編號G06F11/00GK103116531SQ20131003055
公開日2013年5月22日 申請日期2013年1月25日 優(yōu)先權(quán)日2013年1月25日
發(fā)明者王佳 申請人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司