趙虎
【摘要】 基于MapReduce的故障診斷方法將MapReduce運用到故障診斷中,有效解決了故障診斷過程中大數(shù)據(jù)的處理問題,大大提高了故障診斷的效率。本文對故障診斷技術(shù)的發(fā)展進行了闡述,針對故障診斷方法的不足闡述了將MapReduce運用其中的優(yōu)勢。將診斷算法分為迭代和非迭代,使用不同的MapReduce模型分別實現(xiàn)。
【關(guān)鍵詞】 MapReduce 云計算 故障診斷 診斷算法
引言
隨著設(shè)備復雜化程度的提高,故障診斷[1]過程中處理的數(shù)據(jù)規(guī)模越來越大,嚴重制約了故障診斷的效率,如何解決診斷大數(shù)據(jù)就成了亟待解決的問題。MapReduce計算模型[2]是云計算的關(guān)鍵技術(shù),能組織集群來處理大規(guī)模數(shù)據(jù)集,對于大規(guī)模數(shù)據(jù)的快速處理有著巨大的優(yōu)勢。本文在診斷算法研究基礎(chǔ)上,根據(jù)算法運算特點,給出了算法MapReduce化實現(xiàn)的方法。
一、故障診斷技術(shù)
故障診斷技術(shù)是由于建立監(jiān)控系統(tǒng)的需要而發(fā)展起來的[3]。其發(fā)展至今經(jīng)歷了3個階段[4],
第一是依靠專家或維修人員的個人經(jīng)驗及簡單儀表進行的故障診斷工作;
第二是以傳感器技術(shù)動態(tài)測試技術(shù)為手段,以信號分析和建模處理為基礎(chǔ)的現(xiàn)代診斷技術(shù);
近年來,隨著計算機技術(shù)智能信息處理技術(shù)的發(fā)展,故障診斷技術(shù)進入了新的發(fā)展階段:數(shù)據(jù)處理優(yōu)化建模與知識處理相融合的智能診斷技術(shù)。
根據(jù)故障診斷算法計算過程是否迭代,可將其分為迭代算法和非迭代算法。迭代算法采用迭代式MapReduce框架實現(xiàn),非迭代算法采用傳統(tǒng)MapReduce框架實現(xiàn)。
二、MapReduce模型及算法實現(xiàn)
2.1 傳統(tǒng)MapReduce框架
針對非迭代診斷算法,直接將算法代入MapReduce中。Map和Reduce函數(shù)根據(jù)算法由用戶定義,兩個階段具體工作如下。
Map階段:Map節(jié)點讀取輸入數(shù)據(jù),Map函數(shù)采用非迭代診斷算法的計算公式,將輸入數(shù)據(jù)用Map函數(shù)處理后輸出中間鍵值對
Reduce階段:Reduce節(jié)點收集Map節(jié)點的輸出
2.2迭代式MapReduce框架
在迭代程序中,每次迭代計算的輸出是下次迭代的輸入。采用傳統(tǒng)MapReduce框架進行計算時,每次迭代對應一個MapReduce計算過程,需要多次對任務(wù)進行提交,計算效率低。迭代式MapReduce框架[5]利用通信模塊進行迭代結(jié)果的數(shù)據(jù)傳輸,一次任務(wù)提交即可完成整個計算。因此,對于迭代程序的處理,可采用迭代式MapReduce框架來實現(xiàn)。
迭代式MapReduce框架在傳統(tǒng)框架上增加了ComMonitor模塊和Transmode模塊。ComMonitor模塊運行在NameNode節(jié)點,負責為各個節(jié)點提供通信地址、監(jiān)控節(jié)點間的通信,保證每個計算任務(wù)獲得相應的通信地址。Transmode模塊運行在用戶指定的DataNode節(jié)點,運行前需向ComMonitor模塊進行注冊。通過心跳來更新通信信息,并負責節(jié)點間數(shù)據(jù)的接收和傳送。
迭代診斷算法的MapReduce化實現(xiàn)在非迭代算法實現(xiàn)基礎(chǔ)上,利用通信模塊將每次迭代計算結(jié)果傳送至原Map節(jié)點,供下一輪job使用。一次任務(wù)提交即可完成整個算法實現(xiàn)。
三、結(jié)束語
大數(shù)據(jù)時代的到來,對故障診斷的實時性和準確性提出了巨大的挑戰(zhàn)?;谠朴嬎愕墓收显\斷方法就是在這個背景下產(chǎn)生的。
本文對故障診斷技術(shù)的發(fā)展進行了闡述,重點研究了兩種MapReduce模型,以及診斷算法在其中的實現(xiàn)。通過分析將診斷算法分為迭代和非迭代,迭代算法采用迭代式MapReduce框架實現(xiàn),非迭代算法通過傳統(tǒng)MapReduce框架實現(xiàn)。
參 考 文 獻
[1]李娟, 周東華, 司小勝, 等. 微小故障診斷方法綜述[J]. 控制理論與應用, 2012, 29(12):1517-1529.
[2]DEAN J, GHEMAWAT S. MapReduce: Simplified Data Processing on Large Clusters[J]. Communications of the ACM, 2008, 51(1): 107-113.
[3]周東華, 席裕庚. 故障檢測與診斷技術(shù)[J]. 控制理論與應用, 1991, 8(1):1-7.
[4]李偉.復雜系統(tǒng)的智能故障診斷技術(shù)現(xiàn)狀及其發(fā)展趨勢[J].計算機仿真, 2004, 21(10):4-7.
[5]金偉健, 王春枝. 適于進化算法的迭代式MapReduce框架[J]. 計算機應用, 2013, 33(12):3591-3595.