一種云計算平臺的硬盤故障預(yù)測方法
【專利摘要】本發(fā)明公開一種云計算平臺硬盤故障預(yù)測方法,首先根據(jù)預(yù)測時間窗口內(nèi)的硬盤維修記錄將硬盤SMART日志數(shù)據(jù)標記為正常硬盤樣本和故障硬盤樣本,之后采用K-means聚類算法將去除噪音后的正常硬盤樣本劃分成k個不相交子集,并分別與故障硬盤樣本結(jié)合,根據(jù)SMOTE過采樣算法生成k組平衡訓(xùn)練集,以此訓(xùn)練得到k個支持向量機分類器,用于故障硬盤的預(yù)測。在預(yù)測階段,首先采用DBSCAN聚類算法對測試集進行聚類,將聚類簇中的樣本預(yù)測為正常硬盤樣本,而對噪音樣本利用訓(xùn)練得到的各個分類器進行預(yù)測,并投票得到最終預(yù)測結(jié)果。本發(fā)明的方法實現(xiàn)了利用硬盤SMART數(shù)據(jù)進行硬盤故障預(yù)測,并且能夠取得較好的故障查全率和整體性能。
【專利說明】-種云計算平臺的硬盤故障預(yù)測方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及一種云計算平臺的硬盤故障預(yù)測方法,屬于計算機數(shù)據(jù)挖掘領(lǐng)域,具 體說是一種硬盤故障預(yù)測算法。
【背景技術(shù)】
[0002] 硬盤故障預(yù)測可W保證數(shù)據(jù)安全性、提高運維效率、控制存儲成本。該項技術(shù)設(shè)及 云計算、數(shù)據(jù)挖掘、硬盤SMART技術(shù)、故障預(yù)測技術(shù)、極不平衡數(shù)據(jù)分類技術(shù)等多個領(lǐng)域的 技術(shù)。硬盤故障預(yù)測主要指依靠硬盤SMART數(shù)據(jù)來進行故障預(yù)測。但是,如文獻1 ;PINHEIRO E, 肥邸RWD,BARROSO L A. Failure trends in a large disk 化ive population[邸/OL]. [2012-10-10]. http://research, google. com/archive/disk_failures. pdf.介紹的,利用 統(tǒng)計方法,36 %的故障原因不能被預(yù)估到。
[0003] 目前,硬盤廠商普遍采用闊值判定方法來預(yù)測硬盤故障,即利用硬盤SMART技術(shù), 采集硬盤運行時的各項指標信息,并與設(shè)定的硬盤故障預(yù)警闊值相比較,超過闊值便觸發(fā) 故障報警。為了減少因故障預(yù)警而返廠檢測維修的硬盤數(shù)量,從而降低成本,硬盤廠商在設(shè) 定闊值時往往選擇將誤報率降至最低,但同時也犧牲了預(yù)測的準確率。采用闊值判定方法 的預(yù)測準確率約為3% -10%,誤報率約為0. 1%。
[0004] Pinheiro等發(fā)現(xiàn)只有4個SMART屬性與硬盤故障存在有一定的關(guān)聯(lián),即掃描錯誤、 重分配計數(shù)、離線重分配計數(shù)和試用計數(shù)。但是當他們在谷歌公司超過十萬塊的硬盤上統(tǒng) 計研究時發(fā)現(xiàn),超過56%的故障硬盤都沒有在該4個屬性中的任何一個上有計數(shù)值。因此, 他們認為僅利用SMART不能夠建立準確地硬盤故障預(yù)測模型,而更適用于預(yù)測硬盤集群的 趨勢,參見文獻2 ;E. Pinheiro, W. D. Weber, and L. A. Barroso, "Failure trends in a large disk drive population, " in Proceedings of the 5th USENIX Symposium on File and Storage Technologies (FAST 07),2007.
[0005] Agarwal和Niranjanet等僅利用SMART信息采用MLRules算法建立的硬盤故障 預(yù)測模型獲得66%的檢測率和3%的誤報率,參見文獻3 ;Vipul Agarwal,化iranjib Bh attacharyya, ThirumaleNiranjan, et al. Discovering Rules from Disk Events for Predicting Hard Drive Failures[C]. IEEE Computer Society,2009. Hamerly 和 E化an、 化曲es和Murray等、張超主要利用SMART信息和其他的環(huán)境信息等建立的故障預(yù)測模型最 多獲得了 56%的檢測率,參見文獻4 ;Greg Hamerly,Qia;rles E]_kan. Bayesian Approaches to Failure Prediction for Disk Drives [C]. Morgan Kaufmann, 2001.文獻 5 ;Gordon F. Hughes, Joseph F.Murray, Kenneth Kreutz-delgado, et al. Improved Disk-Drive Failure Warnings[J]. IEEE Transactions on Reliability. 2002.文獻 6 ;Jos邱h F. Murray, Gordon F. Hughes, Kenneth Kreutz-Delgado. Machine Learning Methods for Predicting Failures in Hard Drives:A Multiple-Instance Application[J]. Journal of Machine Learning research. 2005, 6:783 ?816.文獻 7;張超.高性能磁盤陣列自修 復(fù)技術(shù)研究巧].國防科學技術(shù)大學,2008.與Pinheiro等的研究不同,該些研究中的實驗 數(shù)據(jù)均來自返廠維修硬盤集合的子集,故障率要明顯高于用戶實際使用時所觀測到的。
[0006] 云計算平臺的硬盤故障預(yù)測技術(shù)是極不平衡的二分類數(shù)據(jù)集上的稀有類預(yù)測 問題。其中,故障盤為稀有類,無故障盤為多數(shù)類。目前,解決不平衡分類問題的策略主 要集中在數(shù)據(jù)層面和算法層面。數(shù)據(jù)層面的解決策略是通過對數(shù)據(jù)重新抽取采樣達到 降低數(shù)據(jù)不平衡度的目的,方法主要包括欠采樣、過采樣W及兩種方法的結(jié)合。無規(guī)則 的欠采樣有可能會丟失重要樣本信息;過采樣可能會引起過學習的問題,還會增加訓(xùn)練 時間。算法層面的解決策略大致集中在=類;代價敏感學習、支持向量機W及組合的方 法。代價敏感學習根據(jù)情況調(diào)整懲罰參數(shù),在不平衡分類中,對正類錯分設(shè)置較大的懲罰 參數(shù)可W提高分類器在正類上的分類效果,該類方法的效果依賴于設(shè)置的參數(shù);支持向量 機相對于其他分類方法來說,對于數(shù)據(jù)不平衡性的敏感度比較低,如在文獻8 Japkowicz N, Stephen S. The class imbalance problem:A systematic study[J]. Intelligent data analysis, 2002, 6巧):429-449.中,Japkowicz等人通過實驗比較了數(shù)據(jù)不平衡性對不同 分類方法,包括決策樹C4. 5、BP神經(jīng)網(wǎng)絡(luò)和支持向量機等的影響,結(jié)果表明支持向量機對 數(shù)據(jù)不平衡性相對不敏感,因此在該個問題上,出現(xiàn)了很多基于支持向量機的方法;組合方 法就是將幾種分類器結(jié)合起來,提高分類效果,組合方法需要對多種分類器之間的差異和 偏向性進行折中,而且容易引起過學習的問題。
【發(fā)明內(nèi)容】
[0007] 發(fā)明目的:本發(fā)明所要解決的技術(shù)問題是針對現(xiàn)有技術(shù)的不足,提供一種查全率 高、整體性能好的硬盤故障預(yù)測方法。
[000引技術(shù)方案:本發(fā)明公開了一種硬盤故障預(yù)測方法,包括W下步驟:
[0009] 步驟一,根據(jù)硬盤維修記錄,將故障預(yù)測時間窗口內(nèi)發(fā)生故障的硬盤的 SMART(Self-monitoring Analysis and R巧ort Technology,自我監(jiān)測分析與報告技術(shù)) 日志數(shù)據(jù)標記為故障硬盤樣本,將沒有發(fā)生故障的硬盤的SMART日志數(shù)據(jù)標記為正常硬盤 樣本;
[0010] 其中,根據(jù)硬盤某一時刻的SMART觀測值,利用模型預(yù)測該硬盤從該時刻起的某 段時間內(nèi)是否會發(fā)生故障,該段時間就是硬盤故障預(yù)測時間窗口。
[0011] 步驟二,對正常硬盤樣本采用 DBSCAN值ensity-Based Spatial Clustering of Applications with Noise,DBSCAN,基于密度的含噪聲應(yīng)用空間聚類)算法進行聚類,去除 聚類簇之外的噪音樣本,保留聚成簇的正常硬盤樣本;
[0012] 步驟S,將去噪后的正常硬盤樣本采用K-means算法進行聚類,從而將其劃分為k 個不相交子集,并分別與故障硬盤樣本合并成k個原始訓(xùn)練集,其中k為K-means聚類的個 數(shù),k的取值為小于樣本數(shù)量的自然數(shù);
[0013] 步驟四,對每個原始訓(xùn)練集中的故障硬盤樣本根據(jù)SMOTE(Synthetic Minority Over-sampling Technique,少數(shù)樣本合成過采樣技術(shù))算法進行過采樣,使得訓(xùn)練集中故 障硬盤樣本與正常硬盤樣本的數(shù)量一致,從而得到k個平衡訓(xùn)練集;
[0014] 步驟五,分別采用徑向基函數(shù)內(nèi)核的LIBSVM工具在k個平衡訓(xùn)練集上訓(xùn)練支持向 量機模型,得到集成分類器的k個支持向量機子分類器;
[0015] 步驟六,對測試樣本集采用DBSCAN算法進行聚類,刪除聚成簇的樣本,保留聚類 簇之外噪音樣本,并將刪除的樣本預(yù)測為正常硬盤樣本;
[0016] 步驟走,將剩余的噪音樣本分別用訓(xùn)練階段得到的k個支持向量機分類器預(yù)測, 并投票確定分類結(jié)果,若對某個測試樣本判斷為故障硬盤樣本的投票數(shù)超過設(shè)定的闊值, 則預(yù)測為故障,否則為正常。
[0017] 本發(fā)明步驟二中,采用DBSCAN算法對正常硬盤樣本進行聚類包括W下步驟:
[0018] 步驟(21)任選正常硬盤樣本集中一個未被訪問的樣本P,檢查其半徑化S的鄰域 內(nèi)樣本對象的數(shù)量,若大于等于設(shè)定的最少包含樣本數(shù)目Minpts,則建立新簇C,將樣本P 及其半徑為Eps的鄰域內(nèi)的所有樣本對象加入C ;若小于Minpts,則將樣本P標記為噪音樣 本;
[0019] 步驟(22)任選C中一個未訪問的樣本q,檢查q的半徑為Eps的鄰域,若其鄰域內(nèi) 樣本對象的數(shù)量大于等于Minpts,則將樣本q及其鄰域內(nèi)的樣本加入C ;
[0020] 步驟(23)重復(fù)步驟(22),直到C中的樣本對象均被訪問過;
[0021] 步驟(24)重復(fù)步驟(21)?(23),直到正常硬盤樣本集中的所有樣本對象均被訪 問過,且均被加入某個簇或標記為噪音。
[0022] 其中Eps表示半徑,其取值為正實數(shù),Minpts表示最少包含樣本數(shù)目,其取值為小 于樣本數(shù)量的自然數(shù),Eps和Minpts的取值決定了 DBSCAN算法的聚類性能,通常只能根據(jù) 經(jīng)驗確定。DBSCAN算法把密度相連的點的最大集合定義為簇,不需要事先設(shè)定要形成的簇 的數(shù)量,就可W把高密度區(qū)域劃分為任意形狀的簇,并且將噪音區(qū)分出來。
[0023] 本發(fā)明步驟S中,采用K-means算法對去噪后的正常硬盤樣本進行聚類包括W下 步驟:
[0024] 步驟(31)任選正常硬盤樣本集中k個樣本對象為初始聚類中屯、,其中k為設(shè)定的 聚類個數(shù);
[0025] 步驟(32)計算正常硬盤樣本集中所有樣本到k個聚類中屯、的距離,并將每個樣本 劃歸到最近距離的聚類;
[0026] 步驟(33)重新計算k個聚類的聚類中屯、,聚類中屯、為該聚類中所有樣本對象的均 值;
[0027] 步驟(34)重復(fù)步驟(32)?(33),直到滿足收斂條件。收斂條件根據(jù)設(shè)定可W 是兩次迭代的聚類中屯、不再變化或小于闊值,該闊值相對于樣本間的距離是一個極小的實 數(shù),通常為l(Ti?1(^5;也可W是迭代次數(shù)達到預(yù)先設(shè)置的最大迭代次數(shù),最大迭代次數(shù)通 常設(shè)置為一個適中的整數(shù),一般為10?100,取值過小會導(dǎo)致聚類中屯、偏離理論值過多,取 值過大則會導(dǎo)致算法執(zhí)行時間增加。
[002引 K-means算法是一種典型的基于距離的聚類算法,需要事先確定聚類個數(shù)k,k的 取值為小于樣本數(shù)量的自然數(shù)。首先隨機選擇k個樣本作為初始聚類中屯、,然后計算其余 樣本到各個聚類中屯、的距離,并將每個樣本歸為距離最近的簇。當所有樣本處理完成后,即 表示完成一次迭代運算。計算每個簇中所有樣本對象的平均值為新的聚類中屯、,開始新一 輪迭代運算,當相鄰兩次迭代中的聚類中屯、保持不變或小于闊值,則認為算法收斂,對應(yīng)的 聚類就是最優(yōu)的聚類結(jié)果。控制算法最大迭代次數(shù)是使K-means算法收斂的另一種方式。
[0029] 本發(fā)明步驟四中,采用SMOTE算法對故障硬盤樣本進行過采樣包括W下步驟:
[0030] 步驟(41)計算步驟=中生成的原始訓(xùn)練集中故障硬盤樣本的數(shù)量T,并設(shè)定過采 樣比例N和最近鄰的數(shù)量m,令Ni=化00R(N/100),N2= N% 100,其中FLOOR為向下取整 函數(shù),%為取余操作;
[0031] 步驟(42)將待采樣故障硬盤樣本集S初始化為空。首先重復(fù)Ni次向S中加入所 有故障硬盤樣本,然后令T'= (N2/100)*T,并從故障硬盤樣本中隨機選擇T'個樣本加入S ;
[0032] 步驟(43)對于待采樣故障硬盤樣本集S中的每個故障硬盤樣本P,在訓(xùn)練集中尋 找當前故障硬盤樣本P的m個最近鄰故障硬盤樣本,隨機選擇其中一個近鄰故障硬盤樣本 q,生成當前樣本P的一個人工樣本,具體生成過程為;計算當前樣本P的特征向量和樣本q 的特征向量的差值,并乘W-個0?1之間的隨機數(shù),再加上當前樣本P的特征向量,作為 新生成人工樣本的特征向量。
[0033] SMOTE算法通過人工構(gòu)造少數(shù)類樣本的方式來提高訓(xùn)練集的平衡度。對于少數(shù)類 樣本,隨機選擇其m(m為小于少數(shù)類樣本總數(shù)的正整數(shù))個最近鄰少數(shù)類樣本中的一個,生 成人工樣本,該個人工樣本的特征向量位于當前故障硬盤樣本和選定的最近鄰特征向量連 線的某個隨機的點上。生成的人工樣本數(shù)量由過采樣比例N確定,N的取值為任意正整數(shù), 如N = 200表示為每個少數(shù)類樣本生成2個人工樣本。該種隨機生成人工樣本的方式在提 高訓(xùn)練集平衡度的同時,盡可能地增加了少數(shù)類樣本的信息量,從而擴大了少數(shù)類樣本在 分類器中的決策區(qū)域。
[0034] 本發(fā)明步驟五中,采用LIBSVM工具在采樣后的平衡訓(xùn)練集上訓(xùn)練模型,LIBSVM是 臺灣大學林智仁教授等開發(fā)設(shè)計的一個簡單、易于使用和快速有效的支持向量機模式識別 和回歸的軟件包,其使用步驟為:首先按照LIBSVM軟件包所要求的格式準備數(shù)據(jù)集,并對 數(shù)據(jù)進行簡單的縮放操作,之后考慮選用徑向基核函數(shù),采用交叉驗證選擇最佳參數(shù)C與 g,其中C為懲罰參數(shù),g為核參數(shù),最后采用最佳參數(shù)C與g對整個訓(xùn)練集進行訓(xùn)練獲取支 持向量機模型,并利用獲取的模型進行測試與預(yù)測。選用徑向基核函數(shù)是因為它可W很好 處理類標簽和屬性關(guān)系非線性的情況。交叉驗證用于得到可靠穩(wěn)定的模型;在給定的樣本 集中,每次選擇大部分樣本進行模型訓(xùn)練,留小部分樣本用于模型測試,直到所有樣本都被 測試了一次且僅被測試一次,W最后的預(yù)測誤差平方和作為評價指標。將步驟四中得到的 k個平衡訓(xùn)練集分別作為輸入數(shù)據(jù)集,采用徑向基內(nèi)核,按照上述步驟訓(xùn)練得到k個子分類 器,用于故障硬盤的預(yù)測。
[0035] 有益效果;本發(fā)明的硬盤故障預(yù)測方法與現(xiàn)有方法相比優(yōu)點在于;更貼近用戶實 際應(yīng)用場景,且故障查全率高、整體性能好。
【專利附圖】
【附圖說明】
[0036] 下面結(jié)合附圖和【具體實施方式】對本發(fā)明做更進一步的具體說明,本發(fā)明的上述和 /或其他方面的優(yōu)點將會變得更加清楚。
[0037] 圖1為本發(fā)明主要流程圖。
[003引圖2為本發(fā)明主要時間關(guān)系圖。
[0039] 圖3為本發(fā)明所采用數(shù)據(jù)集故障硬盤分布圖。
【具體實施方式】:
[0040] 結(jié)合附圖和【具體實施方式】對本發(fā)明做進一步詳細描述:
[0041] 本發(fā)明公開一種云計算平臺硬盤故障預(yù)測方法,首先根據(jù)預(yù)測時間窗口內(nèi)的硬盤 維修記錄將硬盤SMART日志數(shù)據(jù)標記為正常硬盤樣本和故障硬盤樣本,之后采用K-means 聚類算法將去除噪音后的正常硬盤樣本劃分成k個不相交子集,并分別與故障硬盤樣本結(jié) 合,根據(jù)SMOTE過采樣算法生成k組平衡訓(xùn)練集,W此訓(xùn)練得到k個支持向量機分類器,用 于故障硬盤的預(yù)測。在預(yù)測階段,首先采用DBSCAN聚類算法對測試集進行聚類,將聚類簇 中的樣本預(yù)測為正常硬盤樣本,而對噪音樣本利用訓(xùn)練得到的各個分類器進行預(yù)測,并投 票得到最終預(yù)測結(jié)果。
[0042] 具體而言,如圖1所示,本發(fā)明包括W下步驟:
[0043] 步驟一,根據(jù)硬盤維修記錄,將故障預(yù)測時間窗口內(nèi)發(fā)生故障的硬盤的SMART日 志數(shù)據(jù)標記為故障硬盤樣本,將沒有發(fā)生故障的硬盤的SMART日志數(shù)據(jù)標記為正常硬盤樣 本;
[0044] 其中,根據(jù)硬盤某一時刻的SMART觀測值,利用模型預(yù)測該硬盤從該時刻起的某 段時間內(nèi)是否會發(fā)生故障,該段時間就是硬盤故障預(yù)測時間窗口。
[0045] 步驟二,對正常硬盤樣本采用DBSCAN算法進行聚類,去除聚類簇之外的噪音樣 本,保留聚成簇的正常硬盤樣本;
[0046] 步驟S,將去噪后的正常硬盤樣本采用K-means算法進行聚類,從而將其劃分為k 個不相交子集,并分別與故障硬盤樣本合并成k個原始訓(xùn)練集,其中k為K-means聚類的個 數(shù),k的取值為小于樣本數(shù)量的自然數(shù);
[0047] 步驟四,對每個原始訓(xùn)練集中的故障硬盤樣本根據(jù)SMOTE算法進行過采樣,使得 訓(xùn)練集中故障硬盤樣本與正常硬盤樣本的數(shù)量一致,從而得到k個平衡訓(xùn)練集;
[0048] 步驟五,分別采用徑向基函數(shù)內(nèi)核的LIBSVM工具在k個平衡訓(xùn)練集上訓(xùn)練支持向 量機模型,得到集成分類器的k個支持向量機子分類器;
[0049] 步驟六,對測試樣本集采用DBSCAN算法進行聚類,刪除聚成簇的樣本,保留聚類 簇之外噪音樣本,并將刪除的樣本預(yù)測為正常硬盤樣本;
[0化0] 步驟走,將剩余的噪音樣本分別用訓(xùn)練階段得到的k個支持向量機分類器預(yù)測, 并投票確定分類結(jié)果,若對某個測試樣本判斷為故障硬盤樣本的投票數(shù)超過設(shè)定的闊值, 則預(yù)測為故障,否則為正常。
[0051] 本發(fā)明所采用數(shù)據(jù)采集自實際的某云計算供應(yīng)商的在線服務(wù)的云計算集群,該集 群包括4299個節(jié)點,共51703塊不同廠商或型號的硬盤。
[0化2] 硬盤SMART信息通過在集群中的每個節(jié)點上部署腳本來采集,采集的SMART信息 按照固定的類似"鍵;值"對的格式存儲為SMART日志。集群的每個物理節(jié)點上都部署有一 個輕量級的守護進程,用來收集本地固定格式的各式日志信息,并將收集的信息集中存儲 到一個分布式數(shù)據(jù)庫中。將數(shù)據(jù)庫中的SMART日志表W CSV格式存儲為SMART數(shù)據(jù)文件, 該數(shù)據(jù)文件就是本發(fā)明最原始的實驗數(shù)據(jù)文件。數(shù)據(jù)采集過程對目標集群上的每個節(jié)點每 天定時收集一次SMART信息,共收集了 66天的信息,時間范圍從2013年03月28日至2013 年06月01日,收集了集群中所有硬盤提供的全部24項SMART檢測屬性的相關(guān)參數(shù)值,及 其他8項硬盤廠商、型號等信息,每塊硬盤共計224維信息。
[0053] 考慮到數(shù)據(jù)恢復(fù)的時間窗口要求和SMART信息可能的時效性,步驟一中設(shè)定故障 硬盤的預(yù)測時間窗口為24小時。該樣在預(yù)測到硬盤即將發(fā)生故障時,既保證了數(shù)據(jù)恢復(fù)時 間,同時又在不能確認SMART信息時效長度的情況下,盡量保證不會因為可能存在的SMART 時效而影響模型的故障預(yù)測性能。
[0054] 本發(fā)明將硬盤狀態(tài)分為兩類;"正常"和"24小時內(nèi)即將發(fā)生故障"。將硬盤故障 定義為:某塊硬盤被確認需要進行更換,則認為硬盤發(fā)生故障,故障的時間為確認需要維修 更換的時間。相關(guān)時間序列關(guān)系可見圖2。
[0化5] 硬盤維修的相關(guān)信息來自于另一個數(shù)據(jù)庫。硬盤維修記錄數(shù)據(jù)庫是每天更新的。 在2013年03月28日至2013年06月02日期間,目標集群共有362條硬盤確認需要更換 的記錄。由于硬盤維修記錄的相關(guān)具體信息本身存在缺失,因此,362條硬盤確認更換記錄 中,有240條記錄不能定位到硬盤,只有122條記錄為有效記錄。
[0化6] 不同廠商或型號的SMART屬性值的計算公式或闊值均有可能不一致,為了消除廠 商、型號的影響,本發(fā)明選取目標集群中數(shù)量最多的同一廠商同一型號的硬盤作為研究對 象。選取的硬盤廠商為"Seagate Constellation ES(SATA)",硬盤型號為"ST32000644NS"。 該型號硬盤在2013年03月28日至2013年06月02日的67天時間區(qū)間內(nèi),確認維修更換 的硬盤數(shù)量分布如圖3所示。
[0057] 根據(jù)圖3,在67天的時間區(qū)間內(nèi),只有28天共45塊ST32000644NS型號的硬盤發(fā) 生了故障。其中發(fā)生故障最多的2013年04月01日,共有4塊ST32000644NS型號的硬盤 發(fā)生了故障。根據(jù)故障數(shù)量分布,考慮到需要保證一定數(shù)量的故障硬盤的絕對樣本數(shù),本發(fā) 明選取2013年03月31日的硬盤SMART信息整理成訓(xùn)練樣本集,將2013年03月28日和 2013年04月17日的數(shù)據(jù)整理成兩份測試樣本集。
[0化引 本發(fā)明基于懷卡托智能分析環(huán)境(Wa化ato化viro皿ent for Knowledge Analysis,肥KA)平臺來進行實驗。肥KA是一種基于化va的、免費的、開源的,用于機器學 習和數(shù)據(jù)挖掘的軟件,由Ian H. Witten和Eibe化ank等開發(fā)。肥KA平臺上集成了大量機 器學習算法,如數(shù)據(jù)預(yù)處理、分類和回歸、聚類、關(guān)聯(lián)規(guī)則等等。肥KA是如今最為完備的數(shù)據(jù) 挖掘工具之一。
[0化9] 在利用訓(xùn)練集進行模型訓(xùn)練之前,需要對數(shù)據(jù)進行預(yù)處理,主要包括特征選擇、數(shù) 據(jù)清洗和數(shù)據(jù)變換。特征選擇主要是刪除一些包含無用信息的特征,從而減少存儲和計算 開銷;數(shù)據(jù)清洗一方面是刪除屬性特征值缺失過多的記錄,另一方面是填充缺失值;數(shù)據(jù) 變換主要是對數(shù)據(jù)集進行數(shù)據(jù)標準化、規(guī)范化和離散化處理。經(jīng)過特征選擇、數(shù)據(jù)清洗和數(shù) 據(jù)變換等數(shù)據(jù)預(yù)處理后,得到最終的實驗標準數(shù)據(jù)集,包括訓(xùn)練集、測試集0328和測試集 0417,如表1所示。
[0060] 表1預(yù)處理后的數(shù)據(jù)集特征
[0061]
【權(quán)利要求】
1. 一種云計算平臺的硬盤故障預(yù)測方法,其特征在于,包括以下步驟: 步驟一,根據(jù)硬盤維修記錄,將故障預(yù)測時間窗口內(nèi)發(fā)生故障的硬盤的SMART日志數(shù) 據(jù)標記為故障硬盤樣本,將沒有發(fā)生故障的硬盤的SMART日志數(shù)據(jù)標記為正常硬盤樣本; 其中,根據(jù)硬盤任一時刻的SMART觀測值,預(yù)測該硬盤從該時刻起的一段時間內(nèi)是否 會發(fā)生故障,該段時間就是硬盤故障預(yù)測時間窗口; 步驟二,對正常硬盤樣本采用基于密度的含噪聲應(yīng)用空間聚類算法進行聚類,去除聚 類簇之外的噪音樣本,保留聚成簇的正常硬盤樣本; 步驟三,將去噪后的正常硬盤樣本采用K-means算法進行聚類,從而將其劃分為k個不 相交子集,并分別與故障硬盤樣本合并成k個原始訓(xùn)練集,其中k為K-means聚類的個數(shù), k的取值為小于樣本數(shù)量的自然數(shù); 步驟四,對每個原始訓(xùn)練集中的故障硬盤樣本根據(jù)少數(shù)樣本合成過采樣技術(shù)算法進行 過采樣,使得訓(xùn)練集中故障硬盤樣本與正常硬盤樣本的數(shù)量一致,從而得到k個平衡訓(xùn)練 集; 步驟五,分別采用徑向基函數(shù)內(nèi)核的LIBSVM工具在k個平衡訓(xùn)練集上訓(xùn)練支持向量機 模型,得到集成分類器的k個支持向量機子分類器; 步驟六,對測試樣本集采用基于密度的含噪聲應(yīng)用空間聚類算法進行聚類,刪除聚成 簇的樣本,保留聚類簇之外噪音樣本,并將刪除的樣本預(yù)測為正常硬盤樣本; 步驟七,將剩余的噪音樣本分別用訓(xùn)練階段得到的k個支持向量機子分類器預(yù)測,并 投票確定分類結(jié)果,若對一個測試樣本判斷為故障硬盤樣本的投票數(shù)超過設(shè)定的閾值,則 預(yù)測為故障,否則預(yù)測為正常。
2. 根據(jù)權(quán)利要求1所述的一種云計算平臺的硬盤故障預(yù)測方法,其特征在于,步驟二 中,采用基于密度的含噪聲應(yīng)用空間聚類算法對正常硬盤樣本進行聚類包括以下步驟: 步驟(21)任選正常硬盤樣本集中一個未被訪問的樣本p,檢查樣本p半徑Eps的鄰域 內(nèi)樣本對象的數(shù)量,若大于等于設(shè)定的最少包含樣本數(shù)目Minpts,則建立新簇C,將樣本p 及其半徑為Eps的鄰域內(nèi)的所有樣本對象加入簇C ;若小于樣本數(shù)目Minpts,則將樣本p標 記為噪音樣本; 步驟(22)任選簇C中一個未訪問的樣本q,檢查樣本q的半徑為Eps的鄰域,若其鄰域 內(nèi)樣本對象的數(shù)量大于等于設(shè)定的最少包含樣本數(shù)目Minpts,則將樣本q及其鄰域內(nèi)的樣 本加入簇C ; 步驟(23)重復(fù)步驟(22),直到簇C中的所有樣本對象均被訪問過; 步驟(24)重復(fù)步驟(21)?(23),直到正常硬盤樣本集中的所有樣本對象均被訪問過, 且均被加入一個簇或標記為噪音; 其中Eps表示半徑,其取值為正實數(shù),Minpts表示最少包含樣本數(shù)目,其取值為小于樣 本數(shù)量的自然數(shù)。
3. 根據(jù)權(quán)利要求2所述的一種云計算平臺的硬盤故障預(yù)測方法,其特征在于,步驟三 中,采用K-means算法對去噪后的正常硬盤樣本進行聚類包括以下步驟: 步驟(31)任選正常硬盤樣本集中k個樣本對象為初始聚類中心,其中k為設(shè)定的聚類 個數(shù); 步驟(32)計算正常硬盤樣本集中所有樣本到k個聚類中心的距離,并將每個樣本劃歸 到最近距離的聚類; 步驟(33)重新計算k個聚類的聚類中心,聚類中心為該聚類中所有樣本對象的均值; 步驟(34)重復(fù)步驟(32)?(33),直到滿足收斂條件。
4. 根據(jù)權(quán)利要求1所述的一種云計算平臺的硬盤故障預(yù)測方法,其特征在于,步驟四 中,采用少數(shù)樣本合成過采樣技術(shù)算法對故障硬盤樣本進行過采樣包括以下步驟: 步驟(41)計算訓(xùn)練集中故障硬盤樣本的數(shù)量T,并設(shè)定過采樣比例N和最近鄰的數(shù)量 111,令&=?11)(?(以100)州2=^^% 100,其中FLOOR為向下取整函數(shù),%為取余操作; 步驟(42)將待采樣故障硬盤樣本集S初始化為空,首先重復(fù)隊次向S中加入所有故 障硬盤樣本,然后令T' = (N2/100)*T,并從故障硬盤樣本中隨機選擇T'個樣本加入S; 步驟(43)對于待采樣故障硬盤樣本集S中的每個故障硬盤樣本p,在訓(xùn)練集中尋找當 前故障硬盤樣本P的m個最近鄰故障硬盤樣本,隨機選擇其中一個近鄰故障硬盤樣本q,生 成當前樣本P的一個人工樣本,具體生成過程為:計算當前樣本P的特征向量和樣本q的特 征向量的差值,并乘以一個〇?1之間的隨機數(shù),再加上當前樣本P的特征向量,作為新生 成人工樣本的特征向量。
5. 根據(jù)權(quán)利要求4所述的一種云計算平臺的硬盤故障預(yù)測方法,其特征在于,步驟五 中,采用LIBSVM工具在采樣后的平衡訓(xùn)練集上訓(xùn)練模型,步驟為:首先按照LIBSVM軟件包 所要求的格式準備數(shù)據(jù)集,并對數(shù)據(jù)進行簡單的縮放操作,之后考慮選用徑向基核函數(shù),采 用交叉驗證選擇最佳參數(shù)C與g,其中C為懲罰參數(shù),g為核參數(shù),最后采用最佳參數(shù)C與g 對整個訓(xùn)練集進行訓(xùn)練獲取支持向量機模型,并利用獲取的模型進行測試與預(yù)測。將步驟 四中將得到的k個平衡訓(xùn)練集分別作為輸入數(shù)據(jù)集,采用徑向基內(nèi)核,按照上述步驟訓(xùn)練 得到k個支持向量機子分類器,用于故障硬盤的預(yù)測。
【文檔編號】G06F11/34GK104503874SQ201410837805
【公開日】2015年4月8日 申請日期:2014年12月29日 優(yōu)先權(quán)日:2014年12月29日
【發(fā)明者】周嵩, 王景峰, 柏文陽, 宋云華 申請人:南京大學