李 景 林
(貴州民族大學人文科技學院 貴州 貴陽 550025)
?
大數(shù)據(jù)環(huán)境下的網(wǎng)格動態(tài)故障檢測研究
李 景 林
(貴州民族大學人文科技學院貴州 貴陽 550025)
摘要研究大數(shù)據(jù)環(huán)境下網(wǎng)格動態(tài)故障檢測的方法。大數(shù)據(jù)來源范圍廣博,數(shù)據(jù)類型極復雜;數(shù)據(jù)的廣泛性,資源的高度異構和不同地理上的分布,使網(wǎng)格故障發(fā)生成為影響系統(tǒng)應用的主要問題。目前網(wǎng)格故障檢測方式,不能滿足網(wǎng)格動態(tài)故障檢測需要。利用“灰色預測理論”的算法,依據(jù)動態(tài)心跳的原理,設計動態(tài)故障檢測架構,給出了預測模型;提出了網(wǎng)格動態(tài)故障檢測方法。實驗結果證實是有效的和準確的,提出的動態(tài)故障檢測算法優(yōu)于靜態(tài)故障檢測算法,解決了大數(shù)據(jù)環(huán)境下網(wǎng)格動態(tài)故障檢測問題。
關鍵詞大數(shù)據(jù)網(wǎng)格故障檢測研究
0引言
大數(shù)據(jù)的處理定義為對廣泛異構的數(shù)據(jù)進行抽象的提取和集成,按照一定的標準進行存儲,利用數(shù)據(jù)分析技術對存儲的數(shù)據(jù)進行分析處理,從中提取有用的數(shù)據(jù)并利用適當?shù)姆绞綄⒔Y果提供給用戶??梢姶髷?shù)據(jù)是有多樣性的,也就是大數(shù)據(jù)的來源非常寬泛,數(shù)據(jù)類型多種多樣,異構性的數(shù)據(jù),給大數(shù)據(jù)的運行和處理帶來較多的困難。
由于大數(shù)據(jù)下的網(wǎng)格環(huán)境和位置分布,網(wǎng)格數(shù)據(jù)資源的異構,以及數(shù)據(jù)的動態(tài)變化,集成了多個不同域的網(wǎng)格資源[1],這些資源為網(wǎng)格應用提供大量的計算。也就是通過網(wǎng)格的計算執(zhí)行著數(shù)量巨大且復雜的應用程序;在不同地域和管理當中,使用著不同的網(wǎng)格資源,其使用機制和安全方法是各異的。多個應用若同時匯集在多個結點資源上,故障有可能會出現(xiàn)在匯集的結點上,因此網(wǎng)格系統(tǒng)較傳統(tǒng)的計算平臺出錯機率更大。
雖然學術界和工程界對網(wǎng)格動態(tài)容錯做了大量的研究,但在通用的錯誤檢測機制、多樣錯誤的處理策略與應用程序代碼相分離機制等方面的研究尚存在問題,沒有解決或沒有較好的解決方案。因此,在某些專家對網(wǎng)格動態(tài)容錯機制進行研究的基礎上,對網(wǎng)格動態(tài)故障檢測機制及模型進行了研究,在充分識別網(wǎng)格動態(tài)容錯技術,依據(jù)“灰色預測”的理論,建立一種能有效預測網(wǎng)格資源需求量的模型,作為對已有網(wǎng)格資源的有效補充。在此基礎上,對預測模型做了改進,提高了預測模型的預測精度,提出了動態(tài)故障檢測方法。本方法與Stelling、Abawajy等人的靜態(tài)層次結構的故障檢測方法相比較,解決了網(wǎng)格故障檢測的技術難點。提出網(wǎng)格動態(tài)故障檢測技術。通過實驗室進行實驗以及實驗結果與前人已用靜態(tài)方法相比較,表明本文提出的方法是有效的、正確的,可以將提出的方法應用于大數(shù)據(jù)環(huán)境下網(wǎng)格的動態(tài)故障檢測服務。
1固定心跳的故障檢測原理
在大數(shù)據(jù)環(huán)境下的網(wǎng)格資源中,一般情況下都采用了“心跳” (Heartbeat) 機制作為監(jiān)測方法。也就是每一個進程p固定時間向故障檢測器發(fā)送心跳信源,以說明進程是在正常運行的。在設定的時間間隔te內,如果檢測器沒有收到其監(jiān)視進程p的心跳信源,就要懷疑進程p故障了。經(jīng)過一定的超時時限,還是沒有收到進程p的心跳信源,那么進程p可能發(fā)生故障(failure)了。
圖1 Stelling故障檢測架構
Stelling等人曾采用層次結構的故障檢測方法,提出層次結構的網(wǎng)格故障檢測架構,如圖1所示。檢測為兩層方式,一是數(shù)據(jù)監(jiān)視層,二是數(shù)據(jù)收集層。監(jiān)視層的工作主要是監(jiān)視網(wǎng)格主機上的程序,為數(shù)據(jù)收集層提供心跳的信源;數(shù)據(jù)收集層一旦接收到信源后,要判定有無故障發(fā)生且是哪些部件發(fā)生故障,然后告訴主機有發(fā)生故障的部件。因為這是簡單的兩層結構,監(jiān)視層向所有的數(shù)據(jù)層收集器發(fā)布心跳信息,可能會引起系統(tǒng)流量增加;另外,Stelling等人的故障檢測是在靜止狀態(tài)下進行的,不能適應網(wǎng)格動態(tài)的變化[2]。針對上述不足,Abawajy補充了故障檢測方法,彌補Stelling等人方法的缺陷[3]。故障檢測工作交由系列故障監(jiān)視器去進行,將故障監(jiān)視器按照三層以上的結構方式進行排列,故障監(jiān)視器的主要任務就是監(jiān)視對應的節(jié)點,分別在不同的級別實現(xiàn)對應用程序狀態(tài)的監(jiān)控,Abawajy這種方法雖然解決了Stelling方法的不足,由于Abawajy結構方式受到靜態(tài)性質的限制,該方法還是不能夠解決網(wǎng)格的動態(tài)性故障檢測問題。
由于Stelling等人的故障檢測方法只能滿足擴展性、低流量問題,不能夠解決動態(tài)性需求。因此,對網(wǎng)格故障的檢測,需要系統(tǒng)地設計出網(wǎng)格動態(tài)故障檢測方法,既滿足擴展性和低流量需求,還能滿足動態(tài)性的要求,也就是能夠隨網(wǎng)格環(huán)境的變化和需要而動態(tài)性地改變網(wǎng)格故障檢測方法[4]。
2動態(tài)故障檢測架構原理
根據(jù)動態(tài)心跳機制的原理[5~7],提出一種基于灰色理論的故障檢測方法,建立了動態(tài)心跳信息到達時間的預測模型,并作出了檢測算法。提出三層動態(tài)故障檢測架構見圖2所示。
圖2 三層動態(tài)故障檢測架構圖
消息收集層:將被監(jiān)視進程的心跳信息到達時間提交至消息判定層,按信息到達順序進行排序,提供于動態(tài)預計層進行動態(tài)性預測,供消息判定層決策。
動態(tài)預計層:將來自消息收集層的結果提供消息判定層,并預計被監(jiān)視進程下一次的心跳消息到達時間,將預計情況一并上交。
消息判定層:根據(jù)消息收集層和動態(tài)預計層提供的信息,對被監(jiān)視進程的心跳消息進行監(jiān)控,并以此判定被監(jiān)視進程有否故障。
3動態(tài)故障檢測模型
以心跳信息到達時間建立預測模型[8]。根據(jù)當前心跳信息的到達時間,預計下一次心跳信息到達的時間[9]如下:
1) 設立心跳信息到達時間序列
為被監(jiān)視節(jié)點每一次出現(xiàn)的心跳信息增加一個序列號。n次連續(xù)心跳信息到達的時間原始序列t(0),即:
t(0)=(t(0)(1),t(0)(2),t(0)(3),…,t(0)(n))
(1)
2) 對原始序列t(0)作累加處理(AGO)
得到累加生成序列t(1)為:
t(1)=(t(1)(1),t(1)(2),t(1)(3),…,t(1)(n))
(2)
其中:
(3)
3) 建立GM(1,1)模型
對累加生成序列t(1)立一階微分方程得如式(4)所示:
(4)
則為信息模型,其中a和b為灰作用量參數(shù)。
對信息模型采用最小二階乘法求解,可得:
(5)
其中:
(6)
并且:
(7)
Tn=[t(0)(2),t(0)(3),t(0)(4),…,t(0)(n)]T
(8)
(9)
4) 下一次心跳信息的到達時間。
(10)
對一階微分方程GM(1,1)的灰色模型進行修正,補充條件來提高預測精度,建立動態(tài)的網(wǎng)格預測模型:
2) K+1時心跳到達后,將序列t(0)中去掉t(0)(1),加入t(0)(K+1),構成新動態(tài)預測序列:
建立了新陳代謝的GM(1,1) 模型,因此預測為最近一次心跳消息,能夠表明故障檢測的動態(tài)變化情況。
4網(wǎng)格故障檢測算法描述
為便于描述算法,在此給出進程p和q的算法原理過程。p定時向q發(fā)送心跳信息,算法如下:
Initializationbegins:
p心跳信息已經(jīng)到達時刻T[i];
‖T[i]‖= n;
Task1:
在i.Δi時刻,p向q發(fā)送心跳信息;
//Δi每次時間間隔
Task2:
在Tm時,
IFj < n
{T [i] = Tm ;
i ++ ;
IF i = n
T(0)=(T(0),T(1),T(2),…,T(n-1));
//將達時間作為原始序列模型
//第n+1次心跳信息到達的時間
}
else
{For (j=0; j T[i]=T[i+1]; T[n-1]=Tm; //改變序列值。在獲得n+1時的數(shù)據(jù)后,對模型進行補充提高 } Task3: 對給出的算法說明如下: Task1:被監(jiān)視進程上pj的故障檢測組件向監(jiān)視進程qi上的故障檢測組件發(fā)送心跳信息。 Task3 : qi沒有接收pj所發(fā)送的信息,就認為pj故障了;若qi收到了pj發(fā)送出的信息,qi就會將pj消除。 5實驗結果及分析 5.1實驗條件 動態(tài)故障檢測實驗由兩臺異地計算機構成,其配置為:PIV2.4GHz處理器,1GHz內存,操作系統(tǒng)為Linux9。所有消息均采用UserDatagramProtocol協(xié)議傳送,實驗時間為36小時。 5.2實驗結果 Chen[10]等人依據(jù)質量標準(QoS),與Keceive算法為對比,其動態(tài)故障檢測算法評價標準為: 1) 故障檢測時間:pj發(fā)生故障開始到qi已經(jīng)認為pj故障發(fā)生這一時段。 2) 故障出錯率:故障檢測過程所產(chǎn)生出的誤判斷出錯的多少。 實驗一:以心跳消息量數(shù)為100,本文算法(Ours)與Chen[9]算法(基于層次結構的靜態(tài)心跳算法)的故障檢測時間比較,結果見圖3所示。 圖3 本文算法與chen算法比較 實驗二:以心跳信息到達時間大小相比較。通過心跳信息量的變化,對故障出錯率的影響,結果見圖4。 5.3實驗解析 由圖4可見,故障檢測在時間耗費方面,比Chen所消耗的時長要低,解決了流量較低問題。 圖4 心跳信息到達時間對出錯率的影響 圖4表明,隨n值的增加故障檢測出錯率呈下降低的趨勢,曲線逐漸趨于直線,故障檢測的出錯率沒有較大的變化,出錯率低而平穩(wěn),動態(tài)地擴展了網(wǎng)格資源。 綜上所述,本文提出的網(wǎng)格動態(tài)故障檢測的方法最終是符合要求的,在心跳消息處理上,也就是發(fā)送的消息都是可以收到的。因此以上實驗充分證明了大數(shù)據(jù)環(huán)境下網(wǎng)格的動態(tài)故障檢測方法是有效的和正確的,解決了前述的難點,證實了網(wǎng)格動態(tài)故障檢測方法滿足擴展性、低流量和動態(tài)性的要求。 6結語 大數(shù)據(jù)下的網(wǎng)格系統(tǒng)復雜環(huán)境以及廣闊地理分布,使得網(wǎng)格應用中故障的發(fā)生影響了網(wǎng)格的發(fā)展和應用,因此本文根據(jù)動態(tài)心跳原理,給出動態(tài)故障檢測基本算法,進行了廣域網(wǎng)的實驗,驗證算法的準確性。實驗確定的心跳消息到達時間和平均誤差率上,與Stelling、Abawajy等人的故障檢測方法作對照,本文實驗的心跳消息到達時間方面要少些、誤差率小些,解決了擴展性、動態(tài)性和低流量問題,可以用于大數(shù)據(jù)環(huán)境下網(wǎng)格的動態(tài)故障檢測服務。 參考文獻 [1] 王濤.基于語義網(wǎng)格的稅務信息系統(tǒng)研究[J].計算機應用與軟件,2012,29(1):125-127. [2]CheJW,TougS,AguileraMK.OnthequailityOfserviceoffailuredetectors[J].IEEEOnComputers,2008:13-33. [3]ChenW,TouegS.Onthequalityofserviceoffailuredetectors[J].IEEETransactionsonComputers,2008 51(1):61-80. [4] 李景林.網(wǎng)格環(huán)境下的故障檢測服務研究[J].計算機應用與軟件,2010,27(6):120-122,131. [5]JoergDecker,JoergSchneider.HeuristicSchedulingofGridWorkflowsSupportingCo-AllocationandAdvanceReservation[C]//Proc.ofthe7thCCGrid,2007:335-343 [6]StellingP,DematteisC,FosterI,etal.Afaultdetectionserviceforwideareadistributedcomputations[J].ClusterComputing,2009(2):107-118. [7]LanierWatkin,WilliamHRobinson,RaheemBeyah.APassiveSolutiontotheCPUResourceDiscoveryProbleminClusterGridNetworks[J].IEEETransa-ctionsonParallelAndDistriduledSystems,2011(3):1-5. [8] 劉思峰,黨耀國,方志耕.灰色系統(tǒng)理論及其應用(第五版)[M].北京:科學出版社,2010. [9] 吳東波,呂君文.一種改進的二次失效檢測算法[J].計算機工程與應用,2014,50(14):96-99. [10]Foster.TheGrid:ANewInfrastructurefor21CenturyScience[J].Today,2009(2):45-47. RESEARCH ON DYNAMIC GRID FAULT DETECTION IN BIG DATA ENVIRONMENT Li Jinglin (College of Humaniyes and Sciences,Guizhou Minzu University,Guiyang 550025,Guizhou,China) AbstractWe study the method of dynamic grid fault detection in big data environment.The source range of big data is extensive,the data types are extremely complex; the extensiveness of data,the highly heterogeneous resources and the different geographical distribution make the grid fault occurrence become the major problem affecting system applications.Current grid fault detection mode can not meet the needs of dynamic grid fault detection.We use “grey prediction theory” algorithm and based on the principle of dynamic heartbeat to have designed the dynamic fault detection architecture,and give the prediction model; we propose the dynamic grid fault detection method.Experimental results prove that it is effective and accurate,the proposed dynamic fault detection algorithm outperforms the static fault detection algorithm,it solves the problem of dynamic grid fault detection in big data environment. KeywordsBig dataGridFaultDetectionResearch 收稿日期:2015-01-31。貴州省科學技術基金項目(黔科合J字[2010]2106號)。李景林,教授級高工,主研領域:網(wǎng)格計算,BIM應用,物流技術。 中圖分類號TP391 文獻標識碼A DOI:10.3969/j.issn.1000-386x.2016.06.013