李 景 林
(貴州民族大學(xué)人文科技學(xué)院 貴州 貴陽 550025)
?
大數(shù)據(jù)環(huán)境下的網(wǎng)格動(dòng)態(tài)故障檢測(cè)研究
李 景 林
(貴州民族大學(xué)人文科技學(xué)院貴州 貴陽 550025)
摘要研究大數(shù)據(jù)環(huán)境下網(wǎng)格動(dòng)態(tài)故障檢測(cè)的方法。大數(shù)據(jù)來源范圍廣博,數(shù)據(jù)類型極復(fù)雜;數(shù)據(jù)的廣泛性,資源的高度異構(gòu)和不同地理上的分布,使網(wǎng)格故障發(fā)生成為影響系統(tǒng)應(yīng)用的主要問題。目前網(wǎng)格故障檢測(cè)方式,不能滿足網(wǎng)格動(dòng)態(tài)故障檢測(cè)需要。利用“灰色預(yù)測(cè)理論”的算法,依據(jù)動(dòng)態(tài)心跳的原理,設(shè)計(jì)動(dòng)態(tài)故障檢測(cè)架構(gòu),給出了預(yù)測(cè)模型;提出了網(wǎng)格動(dòng)態(tài)故障檢測(cè)方法。實(shí)驗(yàn)結(jié)果證實(shí)是有效的和準(zhǔn)確的,提出的動(dòng)態(tài)故障檢測(cè)算法優(yōu)于靜態(tài)故障檢測(cè)算法,解決了大數(shù)據(jù)環(huán)境下網(wǎng)格動(dòng)態(tài)故障檢測(cè)問題。
關(guān)鍵詞大數(shù)據(jù)網(wǎng)格故障檢測(cè)研究
0引言
大數(shù)據(jù)的處理定義為對(duì)廣泛異構(gòu)的數(shù)據(jù)進(jìn)行抽象的提取和集成,按照一定的標(biāo)準(zhǔn)進(jìn)行存儲(chǔ),利用數(shù)據(jù)分析技術(shù)對(duì)存儲(chǔ)的數(shù)據(jù)進(jìn)行分析處理,從中提取有用的數(shù)據(jù)并利用適當(dāng)?shù)姆绞綄⒔Y(jié)果提供給用戶??梢姶髷?shù)據(jù)是有多樣性的,也就是大數(shù)據(jù)的來源非常寬泛,數(shù)據(jù)類型多種多樣,異構(gòu)性的數(shù)據(jù),給大數(shù)據(jù)的運(yùn)行和處理帶來較多的困難。
由于大數(shù)據(jù)下的網(wǎng)格環(huán)境和位置分布,網(wǎng)格數(shù)據(jù)資源的異構(gòu),以及數(shù)據(jù)的動(dòng)態(tài)變化,集成了多個(gè)不同域的網(wǎng)格資源[1],這些資源為網(wǎng)格應(yīng)用提供大量的計(jì)算。也就是通過網(wǎng)格的計(jì)算執(zhí)行著數(shù)量巨大且復(fù)雜的應(yīng)用程序;在不同地域和管理當(dāng)中,使用著不同的網(wǎng)格資源,其使用機(jī)制和安全方法是各異的。多個(gè)應(yīng)用若同時(shí)匯集在多個(gè)結(jié)點(diǎn)資源上,故障有可能會(huì)出現(xiàn)在匯集的結(jié)點(diǎn)上,因此網(wǎng)格系統(tǒng)較傳統(tǒng)的計(jì)算平臺(tái)出錯(cuò)機(jī)率更大。
雖然學(xué)術(shù)界和工程界對(duì)網(wǎng)格動(dòng)態(tài)容錯(cuò)做了大量的研究,但在通用的錯(cuò)誤檢測(cè)機(jī)制、多樣錯(cuò)誤的處理策略與應(yīng)用程序代碼相分離機(jī)制等方面的研究尚存在問題,沒有解決或沒有較好的解決方案。因此,在某些專家對(duì)網(wǎng)格動(dòng)態(tài)容錯(cuò)機(jī)制進(jìn)行研究的基礎(chǔ)上,對(duì)網(wǎng)格動(dòng)態(tài)故障檢測(cè)機(jī)制及模型進(jìn)行了研究,在充分識(shí)別網(wǎng)格動(dòng)態(tài)容錯(cuò)技術(shù),依據(jù)“灰色預(yù)測(cè)”的理論,建立一種能有效預(yù)測(cè)網(wǎng)格資源需求量的模型,作為對(duì)已有網(wǎng)格資源的有效補(bǔ)充。在此基礎(chǔ)上,對(duì)預(yù)測(cè)模型做了改進(jìn),提高了預(yù)測(cè)模型的預(yù)測(cè)精度,提出了動(dòng)態(tài)故障檢測(cè)方法。本方法與Stelling、Abawajy等人的靜態(tài)層次結(jié)構(gòu)的故障檢測(cè)方法相比較,解決了網(wǎng)格故障檢測(cè)的技術(shù)難點(diǎn)。提出網(wǎng)格動(dòng)態(tài)故障檢測(cè)技術(shù)。通過實(shí)驗(yàn)室進(jìn)行實(shí)驗(yàn)以及實(shí)驗(yàn)結(jié)果與前人已用靜態(tài)方法相比較,表明本文提出的方法是有效的、正確的,可以將提出的方法應(yīng)用于大數(shù)據(jù)環(huán)境下網(wǎng)格的動(dòng)態(tài)故障檢測(cè)服務(wù)。
1固定心跳的故障檢測(cè)原理
在大數(shù)據(jù)環(huán)境下的網(wǎng)格資源中,一般情況下都采用了“心跳” (Heartbeat) 機(jī)制作為監(jiān)測(cè)方法。也就是每一個(gè)進(jìn)程p固定時(shí)間向故障檢測(cè)器發(fā)送心跳信源,以說明進(jìn)程是在正常運(yùn)行的。在設(shè)定的時(shí)間間隔te內(nèi),如果檢測(cè)器沒有收到其監(jiān)視進(jìn)程p的心跳信源,就要懷疑進(jìn)程p故障了。經(jīng)過一定的超時(shí)時(shí)限,還是沒有收到進(jìn)程p的心跳信源,那么進(jìn)程p可能發(fā)生故障(failure)了。

圖1 Stelling故障檢測(cè)架構(gòu)
Stelling等人曾采用層次結(jié)構(gòu)的故障檢測(cè)方法,提出層次結(jié)構(gòu)的網(wǎng)格故障檢測(cè)架構(gòu),如圖1所示。檢測(cè)為兩層方式,一是數(shù)據(jù)監(jiān)視層,二是數(shù)據(jù)收集層。監(jiān)視層的工作主要是監(jiān)視網(wǎng)格主機(jī)上的程序,為數(shù)據(jù)收集層提供心跳的信源;數(shù)據(jù)收集層一旦接收到信源后,要判定有無故障發(fā)生且是哪些部件發(fā)生故障,然后告訴主機(jī)有發(fā)生故障的部件。因?yàn)檫@是簡(jiǎn)單的兩層結(jié)構(gòu),監(jiān)視層向所有的數(shù)據(jù)層收集器發(fā)布心跳信息,可能會(huì)引起系統(tǒng)流量增加;另外,Stelling等人的故障檢測(cè)是在靜止?fàn)顟B(tài)下進(jìn)行的,不能適應(yīng)網(wǎng)格動(dòng)態(tài)的變化[2]。針對(duì)上述不足,Abawajy補(bǔ)充了故障檢測(cè)方法,彌補(bǔ)Stelling等人方法的缺陷[3]。故障檢測(cè)工作交由系列故障監(jiān)視器去進(jìn)行,將故障監(jiān)視器按照三層以上的結(jié)構(gòu)方式進(jìn)行排列,故障監(jiān)視器的主要任務(wù)就是監(jiān)視對(duì)應(yīng)的節(jié)點(diǎn),分別在不同的級(jí)別實(shí)現(xiàn)對(duì)應(yīng)用程序狀態(tài)的監(jiān)控,Abawajy這種方法雖然解決了Stelling方法的不足,由于Abawajy結(jié)構(gòu)方式受到靜態(tài)性質(zhì)的限制,該方法還是不能夠解決網(wǎng)格的動(dòng)態(tài)性故障檢測(cè)問題。
由于Stelling等人的故障檢測(cè)方法只能滿足擴(kuò)展性、低流量問題,不能夠解決動(dòng)態(tài)性需求。因此,對(duì)網(wǎng)格故障的檢測(cè),需要系統(tǒng)地設(shè)計(jì)出網(wǎng)格動(dòng)態(tài)故障檢測(cè)方法,既滿足擴(kuò)展性和低流量需求,還能滿足動(dòng)態(tài)性的要求,也就是能夠隨網(wǎng)格環(huán)境的變化和需要而動(dòng)態(tài)性地改變網(wǎng)格故障檢測(cè)方法[4]。
2動(dòng)態(tài)故障檢測(cè)架構(gòu)原理
根據(jù)動(dòng)態(tài)心跳機(jī)制的原理[5~7],提出一種基于灰色理論的故障檢測(cè)方法,建立了動(dòng)態(tài)心跳信息到達(dá)時(shí)間的預(yù)測(cè)模型,并作出了檢測(cè)算法。提出三層動(dòng)態(tài)故障檢測(cè)架構(gòu)見圖2所示。

圖2 三層動(dòng)態(tài)故障檢測(cè)架構(gòu)圖
消息收集層:將被監(jiān)視進(jìn)程的心跳信息到達(dá)時(shí)間提交至消息判定層,按信息到達(dá)順序進(jìn)行排序,提供于動(dòng)態(tài)預(yù)計(jì)層進(jìn)行動(dòng)態(tài)性預(yù)測(cè),供消息判定層決策。
動(dòng)態(tài)預(yù)計(jì)層:將來自消息收集層的結(jié)果提供消息判定層,并預(yù)計(jì)被監(jiān)視進(jìn)程下一次的心跳消息到達(dá)時(shí)間,將預(yù)計(jì)情況一并上交。
消息判定層:根據(jù)消息收集層和動(dòng)態(tài)預(yù)計(jì)層提供的信息,對(duì)被監(jiān)視進(jìn)程的心跳消息進(jìn)行監(jiān)控,并以此判定被監(jiān)視進(jìn)程有否故障。
3動(dòng)態(tài)故障檢測(cè)模型
以心跳信息到達(dá)時(shí)間建立預(yù)測(cè)模型[8]。根據(jù)當(dāng)前心跳信息的到達(dá)時(shí)間,預(yù)計(jì)下一次心跳信息到達(dá)的時(shí)間[9]如下:
1) 設(shè)立心跳信息到達(dá)時(shí)間序列
為被監(jiān)視節(jié)點(diǎn)每一次出現(xiàn)的心跳信息增加一個(gè)序列號(hào)。n次連續(xù)心跳信息到達(dá)的時(shí)間原始序列t(0),即:
t(0)=(t(0)(1),t(0)(2),t(0)(3),…,t(0)(n))
(1)
2) 對(duì)原始序列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)模型
對(duì)累加生成序列t(1)立一階微分方程得如式(4)所示:
(4)
則為信息模型,其中a和b為灰作用量參數(shù)。
對(duì)信息模型采用最小二階乘法求解,可得:
(5)
其中:
(6)
并且:
(7)
Tn=[t(0)(2),t(0)(3),t(0)(4),…,t(0)(n)]T
(8)
(9)
4) 下一次心跳信息的到達(dá)時(shí)間。

(10)
對(duì)一階微分方程GM(1,1)的灰色模型進(jìn)行修正,補(bǔ)充條件來提高預(yù)測(cè)精度,建立動(dòng)態(tài)的網(wǎng)格預(yù)測(cè)模型:

2) K+1時(shí)心跳到達(dá)后,將序列t(0)中去掉t(0)(1),加入t(0)(K+1),構(gòu)成新動(dòng)態(tài)預(yù)測(cè)序列:
建立了新陳代謝的GM(1,1) 模型,因此預(yù)測(cè)為最近一次心跳消息,能夠表明故障檢測(cè)的動(dòng)態(tài)變化情況。
4網(wǎng)格故障檢測(cè)算法描述
為便于描述算法,在此給出進(jìn)程p和q的算法原理過程。p定時(shí)向q發(fā)送心跳信息,算法如下:
Initializationbegins:
p心跳信息已經(jīng)到達(dá)時(shí)刻T[i];
‖T[i]‖= n;
Task1:
在i.Δi時(shí)刻,p向q發(fā)送心跳信息;
//Δi每次時(shí)間間隔
Task2:
在Tm時(shí),
IFj < n
{T [i] = Tm ;
i ++ ;
IF i = n
T(0)=(T(0),T(1),T(2),…,T(n-1));
//將達(dá)時(shí)間作為原始序列模型

//第n+1次心跳信息到達(dá)的時(shí)間
}
else
{For (j=0; j T[i]=T[i+1]; T[n-1]=Tm; //改變序列值。在獲得n+1時(shí)的數(shù)據(jù)后,對(duì)模型進(jìn)行補(bǔ)充提高 } Task3: 對(duì)給出的算法說明如下: Task1:被監(jiān)視進(jìn)程上pj的故障檢測(cè)組件向監(jiān)視進(jìn)程qi上的故障檢測(cè)組件發(fā)送心跳信息。 Task3 : qi沒有接收pj所發(fā)送的信息,就認(rèn)為pj故障了;若qi收到了pj發(fā)送出的信息,qi就會(huì)將pj消除。 5實(shí)驗(yàn)結(jié)果及分析 5.1實(shí)驗(yàn)條件 動(dòng)態(tài)故障檢測(cè)實(shí)驗(yàn)由兩臺(tái)異地計(jì)算機(jī)構(gòu)成,其配置為:PIV2.4GHz處理器,1GHz內(nèi)存,操作系統(tǒng)為L(zhǎng)inux9。所有消息均采用UserDatagramProtocol協(xié)議傳送,實(shí)驗(yàn)時(shí)間為36小時(shí)。 5.2實(shí)驗(yàn)結(jié)果 Chen[10]等人依據(jù)質(zhì)量標(biāo)準(zhǔn)(QoS),與Keceive算法為對(duì)比,其動(dòng)態(tài)故障檢測(cè)算法評(píng)價(jià)標(biāo)準(zhǔn)為: 1) 故障檢測(cè)時(shí)間:pj發(fā)生故障開始到qi已經(jīng)認(rèn)為pj故障發(fā)生這一時(shí)段。 2) 故障出錯(cuò)率:故障檢測(cè)過程所產(chǎn)生出的誤判斷出錯(cuò)的多少。 實(shí)驗(yàn)一:以心跳消息量數(shù)為100,本文算法(Ours)與Chen[9]算法(基于層次結(jié)構(gòu)的靜態(tài)心跳算法)的故障檢測(cè)時(shí)間比較,結(jié)果見圖3所示。 圖3 本文算法與chen算法比較 實(shí)驗(yàn)二:以心跳信息到達(dá)時(shí)間大小相比較。通過心跳信息量的變化,對(duì)故障出錯(cuò)率的影響,結(jié)果見圖4。 5.3實(shí)驗(yàn)解析 由圖4可見,故障檢測(cè)在時(shí)間耗費(fèi)方面,比Chen所消耗的時(shí)長(zhǎng)要低,解決了流量較低問題。 圖4 心跳信息到達(dá)時(shí)間對(duì)出錯(cuò)率的影響 圖4表明,隨n值的增加故障檢測(cè)出錯(cuò)率呈下降低的趨勢(shì),曲線逐漸趨于直線,故障檢測(cè)的出錯(cuò)率沒有較大的變化,出錯(cuò)率低而平穩(wěn),動(dòng)態(tài)地?cái)U(kuò)展了網(wǎng)格資源。 綜上所述,本文提出的網(wǎng)格動(dòng)態(tài)故障檢測(cè)的方法最終是符合要求的,在心跳消息處理上,也就是發(fā)送的消息都是可以收到的。因此以上實(shí)驗(yàn)充分證明了大數(shù)據(jù)環(huán)境下網(wǎng)格的動(dòng)態(tài)故障檢測(cè)方法是有效的和正確的,解決了前述的難點(diǎn),證實(shí)了網(wǎng)格動(dòng)態(tài)故障檢測(cè)方法滿足擴(kuò)展性、低流量和動(dòng)態(tài)性的要求。 6結(jié)語 大數(shù)據(jù)下的網(wǎng)格系統(tǒng)復(fù)雜環(huán)境以及廣闊地理分布,使得網(wǎng)格應(yīng)用中故障的發(fā)生影響了網(wǎng)格的發(fā)展和應(yīng)用,因此本文根據(jù)動(dòng)態(tài)心跳原理,給出動(dòng)態(tài)故障檢測(cè)基本算法,進(jìn)行了廣域網(wǎng)的實(shí)驗(yàn),驗(yàn)證算法的準(zhǔn)確性。實(shí)驗(yàn)確定的心跳消息到達(dá)時(shí)間和平均誤差率上,與Stelling、Abawajy等人的故障檢測(cè)方法作對(duì)照,本文實(shí)驗(yàn)的心跳消息到達(dá)時(shí)間方面要少些、誤差率小些,解決了擴(kuò)展性、動(dòng)態(tài)性和低流量問題,可以用于大數(shù)據(jù)環(huán)境下網(wǎng)格的動(dòng)態(tài)故障檢測(cè)服務(wù)。 參考文獻(xiàn) [1] 王濤.基于語義網(wǎng)格的稅務(wù)信息系統(tǒng)研究[J].計(jì)算機(jī)應(yīng)用與軟件,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)境下的故障檢測(cè)服務(wù)研究[J].計(jì)算機(jī)應(yīng)用與軟件,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] 劉思峰,黨耀國(guó),方志耕.灰色系統(tǒng)理論及其應(yīng)用(第五版)[M].北京:科學(xué)出版社,2010. [9] 吳東波,呂君文.一種改進(jìn)的二次失效檢測(cè)算法[J].計(jì)算機(jī)工程與應(yīng)用,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。貴州省科學(xué)技術(shù)基金項(xiàng)目(黔科合J字[2010]2106號(hào))。李景林,教授級(jí)高工,主研領(lǐng)域:網(wǎng)格計(jì)算,BIM應(yīng)用,物流技術(shù)。 中圖分類號(hào)TP391 文獻(xiàn)標(biāo)識(shí)碼A DOI:10.3969/j.issn.1000-386x.2016.06.013


