本發(fā)明涉及磁盤故障預(yù)測,特別是涉及一種基于多源流挖掘的拓展磁盤故障預(yù)測方法。
背景技術(shù):
1、普遍存在的磁盤故障對(duì)現(xiàn)代數(shù)據(jù)中心的可靠性提出了挑戰(zhàn)。為了容忍磁盤故障,現(xiàn)代數(shù)據(jù)中心傾向于通過預(yù)測即將發(fā)生的磁盤故障來采用主動(dòng)方法。這種主動(dòng)方法應(yīng)用機(jī)器學(xué)習(xí)(ml)算法來識(shí)別即將發(fā)生故障的磁盤并提前更換它們。傳統(tǒng)上,磁盤故障預(yù)測方法預(yù)處理磁盤日志以提取表示磁盤性能和可靠性統(tǒng)計(jì)數(shù)據(jù)的數(shù)值,其中包括已知的磁盤狀態(tài)(即健康或故障)。利用這些數(shù)值作為訓(xùn)練數(shù)據(jù),他們訓(xùn)練預(yù)測模型并預(yù)測未來近期磁盤狀態(tài)(例如,保持健康或發(fā)生故障)。傳統(tǒng)的磁盤故障預(yù)測方法,無論是離線學(xué)習(xí)還是在線學(xué)習(xí),都難以隨數(shù)據(jù)量擴(kuò)展。離線學(xué)習(xí)方法提前假設(shè)所有數(shù)據(jù)的可用性,而在線學(xué)習(xí)方法將數(shù)據(jù)視為具有部分可用性的連續(xù)數(shù)據(jù)流。通過將數(shù)據(jù)聚合到監(jiān)控系統(tǒng)(例如分布式存儲(chǔ)系統(tǒng)或時(shí)間序列數(shù)據(jù)庫)中,離線和在線學(xué)習(xí)方法都將磁盤集視為一個(gè)整體集合。這簡化了獲取數(shù)據(jù)全局視圖(例如全局?jǐn)?shù)據(jù)分布)識(shí)別故障模式以實(shí)現(xiàn)高預(yù)測精度的過程。然而,隨著使用的數(shù)據(jù)越來越多,獲得數(shù)據(jù)全局視圖需要大量的硬件資源。例如,azure部署了數(shù)億個(gè)磁盤,每個(gè)磁盤的狀態(tài)數(shù)據(jù)每小時(shí)記錄一次。每條記錄都由400多個(gè)統(tǒng)計(jì)屬性組成。由于狀態(tài)數(shù)據(jù)以64位浮點(diǎn)值表示,因此加載一天內(nèi)所有磁盤日志數(shù)據(jù)以獲得全局視圖,需要約6.98tb的內(nèi)存。因此,擴(kuò)展磁盤故障預(yù)測對(duì)于大規(guī)模磁盤部署至關(guān)重要。
2、然而,拓展磁盤故障預(yù)測在訓(xùn)練前的預(yù)處理可擴(kuò)展性方面面臨以下挑戰(zhàn):
3、(1)從數(shù)據(jù)收集到訓(xùn)練的額外數(shù)據(jù)移動(dòng)。數(shù)據(jù)被收集到監(jiān)控系統(tǒng)中。大多數(shù)現(xiàn)有的監(jiān)控系統(tǒng)提供統(tǒng)計(jì)數(shù)據(jù)分析,但缺乏磁盤故障預(yù)測所需的專用功能。此外,現(xiàn)有的分布式ml系統(tǒng)主要用于優(yōu)化ml作業(yè)執(zhí)行,對(duì)數(shù)據(jù)收集的考慮有限。由于使用基于外部ml的平臺(tái),單獨(dú)處理數(shù)據(jù)收集和訓(xùn)練可能會(huì)帶來額外的開銷;
4、(2)預(yù)處理中的數(shù)據(jù)膨脹。傳統(tǒng)的預(yù)處理方法通過在線打標(biāo)和特征生成來膨脹原始數(shù)據(jù),因此增加了對(duì)內(nèi)存容量的需求;
5、(3)訓(xùn)練數(shù)據(jù)分配不平衡。當(dāng)前的增量學(xué)習(xí)算法(例如帶自適應(yīng)滑動(dòng)窗口的bagging算法(ba)和自適應(yīng)隨機(jī)森林(arf))是為單個(gè)連續(xù)數(shù)據(jù)流設(shè)計(jì)的,并依靠泊松采樣將訓(xùn)練數(shù)據(jù)分配給基學(xué)習(xí)器,同時(shí)磁盤故障預(yù)測中存在數(shù)據(jù)不平衡問題。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)現(xiàn)有技術(shù)中的上述不足,本發(fā)明提供的一種基于多源流挖掘的拓展磁盤故障預(yù)測方法解決了現(xiàn)有磁盤故障預(yù)測方法存在從數(shù)據(jù)收集到訓(xùn)練的額外數(shù)據(jù)移動(dòng)、預(yù)處理中的數(shù)據(jù)膨脹以及訓(xùn)練數(shù)據(jù)分配不平衡的問題。
2、為了達(dá)到上述發(fā)明目的,本發(fā)明采用的技術(shù)方案為:一種基于多源流挖掘的拓展磁盤故障預(yù)測方法,包括以下步驟:
3、s1:利用數(shù)據(jù)收集器收集連續(xù)的磁盤日志流,并對(duì)磁盤日志流進(jìn)行近數(shù)據(jù)預(yù)處理;
4、s2:對(duì)近數(shù)據(jù)預(yù)處理后的磁盤日志流進(jìn)行隨機(jī)下采樣,保留正樣本和相關(guān)負(fù)樣本,獲得訓(xùn)練數(shù)據(jù);
5、s3:將訓(xùn)練數(shù)據(jù)分配給預(yù)測模型中的基學(xué)習(xí)器,進(jìn)行訓(xùn)練和預(yù)測,并輸出磁盤故障預(yù)測結(jié)果,完成基于多源流挖掘的拓展磁盤故障預(yù)測。
6、進(jìn)一步地,所述s1中利用數(shù)據(jù)收集器收集連續(xù)的磁盤日志流,具體為:所述數(shù)據(jù)收集器通過柜頂交換機(jī)連接多臺(tái)機(jī)器,每臺(tái)機(jī)器配備有多個(gè)磁盤,利用數(shù)據(jù)收集器通過柜頂交換機(jī)充足的網(wǎng)絡(luò)帶寬定期從連接的機(jī)器上收集磁盤日志流。
7、進(jìn)一步地,所述s1中近數(shù)據(jù)預(yù)處理包括特征提取、緩存、在線打標(biāo)和時(shí)間窗口下采樣。
8、進(jìn)一步地,所述s2中進(jìn)行隨機(jī)下采樣,具體為:選擇最近天的負(fù)樣本后,每個(gè)數(shù)據(jù)收集器從中隨機(jī)選擇一個(gè)負(fù)樣本子集。
9、進(jìn)一步地,所述s3中將訓(xùn)練數(shù)據(jù)分配給基學(xué)習(xí)器,包括以下分步驟:
10、s31:利用協(xié)調(diào)器匯總從數(shù)據(jù)收集器轉(zhuǎn)發(fā)的正樣本和相關(guān)負(fù)樣本的本地計(jì)數(shù),并獲得全局正樣本和相關(guān)負(fù)樣本的比率;
11、s32:利用協(xié)調(diào)器將全局正樣本和相關(guān)負(fù)樣本的比率傳輸至數(shù)據(jù)收集器;
12、s33:利用數(shù)據(jù)收集器基于全局正樣本和相關(guān)負(fù)樣本的比率進(jìn)行泊松采樣,并將泊松采樣后的訓(xùn)練數(shù)據(jù)傳輸至接收器;
13、s34:利用接收器進(jìn)行順序數(shù)據(jù)檢索,并將檢索結(jié)果傳輸給基學(xué)習(xí)器。
14、進(jìn)一步地,所述s33中泊松采樣配置有超參數(shù)和,分別表示相關(guān)負(fù)樣本的泊松分布和正樣本的泊松分布,通過對(duì)相關(guān)負(fù)樣本的泊松分布和正樣本的泊松分布分別生成權(quán)重,表示相關(guān)負(fù)樣本和正樣本在訓(xùn)練期間的更新頻率。
15、進(jìn)一步地,所述s33中包括以下分步驟:
16、s331:利用數(shù)據(jù)收集器使用全局正樣本和相關(guān)負(fù)樣本的比率更新;
17、s332:基于更新結(jié)果,使用相關(guān)負(fù)樣本的泊松分布和正樣本的泊松分布計(jì)算每個(gè)基學(xué)習(xí)器的權(quán)重,并將基學(xué)習(xí)器之間的權(quán)重向量與每個(gè)樣本的特征向量連接形成矩陣;
18、s333:利用數(shù)據(jù)收集器將矩陣傳輸至接收器。
19、本發(fā)明的有益效果為:
20、(1)通過近數(shù)據(jù)預(yù)處理,最大限度地減少了將原始數(shù)據(jù)傳輸?shù)竭h(yuǎn)程預(yù)處理位置的需要;
21、(2)為了緩解數(shù)據(jù)膨脹問題,本發(fā)明避免在預(yù)處理后將未使用的負(fù)樣本傳輸給基學(xué)習(xí)器。它在每個(gè)數(shù)據(jù)源執(zhí)行隨機(jī)下采樣,確保所有正樣本和僅相關(guān)的負(fù)樣本分配給基學(xué)習(xí)器;
22、(3)本發(fā)明不是將所有訓(xùn)練數(shù)據(jù)聚合到單個(gè)流中進(jìn)行分配,而是在每個(gè)數(shù)據(jù)源上執(zhí)行訓(xùn)練數(shù)據(jù)分配,利用輕量級(jí)全局信息。每個(gè)數(shù)據(jù)源根據(jù)樣本權(quán)重獨(dú)立地將訓(xùn)練數(shù)據(jù)分配給基學(xué)習(xí)器,以最大限度地減少數(shù)據(jù)傳輸。此外,在將多個(gè)數(shù)據(jù)流聚合到基學(xué)習(xí)器時(shí),本發(fā)明會(huì)保持時(shí)間序列樣本的時(shí)間順序。
1.一種基于多源流挖掘的拓展磁盤故障預(yù)測方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的一種基于多源流挖掘的拓展磁盤故障預(yù)測方法,其特征在于,所述s1中利用數(shù)據(jù)收集器收集連續(xù)的磁盤日志流,具體為:所述數(shù)據(jù)收集器通過柜頂交換機(jī)連接多臺(tái)機(jī)器,每臺(tái)機(jī)器配備有多個(gè)磁盤,利用數(shù)據(jù)收集器通過柜頂交換機(jī)充足的網(wǎng)絡(luò)帶寬定期從連接的機(jī)器上收集磁盤日志流。
3.根據(jù)權(quán)利要求1所述的一種基于多源流挖掘的拓展磁盤故障預(yù)測方法,其特征在于,所述s1中近數(shù)據(jù)預(yù)處理包括特征提取、緩存、在線打標(biāo)和時(shí)間窗口下采樣。
4.根據(jù)權(quán)利要求1所述的一種基于多源流挖掘的拓展磁盤故障預(yù)測方法,其特征在于,所述s2中進(jìn)行隨機(jī)下采樣,具體為:選擇最近天的負(fù)樣本后,每個(gè)數(shù)據(jù)收集器從中隨機(jī)選擇一個(gè)負(fù)樣本子集。
5.根據(jù)權(quán)利要求1所述的一種基于多源流挖掘的拓展磁盤故障預(yù)測方法,其特征在于,所述s3中將訓(xùn)練數(shù)據(jù)分配給基學(xué)習(xí)器,包括以下分步驟:
6.根據(jù)權(quán)利要求5所述的一種基于多源流挖掘的拓展磁盤故障預(yù)測方法,其特征在于,所述s33中泊松采樣配置有超參數(shù)和,分別表示相關(guān)負(fù)樣本的泊松分布和正樣本的泊松分布,通過對(duì)相關(guān)負(fù)樣本的泊松分布和正樣本的泊松分布分別生成權(quán)重,表示相關(guān)負(fù)樣本和正樣本在訓(xùn)練期間的更新頻率。
7.根據(jù)權(quán)利要求6所述的一種基于多源流挖掘的拓展磁盤故障預(yù)測方法,其特征在于,所述s33中包括以下分步驟: