孫潔,連暢
(華北理工大學(xué) 電氣工程學(xué)院,河北 唐山 063210)
基于云計算的風(fēng)機故障監(jiān)測系統(tǒng)的應(yīng)用
孫潔,連暢
(華北理工大學(xué) 電氣工程學(xué)院,河北 唐山 063210)
故障定位;云計算;HBase; MapReduce;K_均值
故障監(jiān)測是保障風(fēng)機安全運行的重要手段之一。為了實時監(jiān)測風(fēng)機運行狀態(tài)并提高故障定位準(zhǔn)確率,通過研究風(fēng)機的故障特征,對云計算的原理以及其系統(tǒng)結(jié)構(gòu)進(jìn)行了分析,并提出了基于云計算的風(fēng)機故障監(jiān)測系統(tǒng)的應(yīng)用。研究結(jié)果表明,該系統(tǒng)通過HBase實現(xiàn)了對海量監(jiān)測信息的存儲,達(dá)到對風(fēng)機狀態(tài)實時監(jiān)測的目的,并利用 MapReduce實現(xiàn)基于改進(jìn)的K_均值聚類算法的風(fēng)機故障定位。實驗驗證了風(fēng)機故障監(jiān)測系統(tǒng)的可行性,同時基于云計算的風(fēng)機故障監(jiān)測系統(tǒng)提高了故障定位的準(zhǔn)確率。
隨著科技的不斷進(jìn)步和飛速發(fā)展,風(fēng)機也向著高速化、復(fù)雜化和智能化的方向發(fā)展,其結(jié)構(gòu)和組成的復(fù)雜化也在不斷增加。一方面,如果風(fēng)機故障時有發(fā)生,企業(yè)將會遭受非常嚴(yán)重的經(jīng)濟(jì)損失,甚至還會導(dǎo)致人身傷害和環(huán)境污染等后果,不僅如此,風(fēng)機系統(tǒng)在發(fā)生故障時將產(chǎn)生海量的信息,早已經(jīng)超出現(xiàn)有方法的存儲能力[1]。因此,對風(fēng)機狀態(tài)實時監(jiān)測和故障定位對于保證風(fēng)機穩(wěn)定運行具有重要意義。
近年來,隨著云計算在海量數(shù)據(jù)存儲和并行計算能力上的優(yōu)越性越來越受到人們關(guān)注,基于云計算開發(fā)的應(yīng)用也越來越多,這就為解決風(fēng)機故障監(jiān)測問題提供了可能[2]。因此,該項研究將云計算技術(shù)實際應(yīng)用到風(fēng)機故障監(jiān)測系統(tǒng)中,設(shè)計并實現(xiàn)了故障監(jiān)測數(shù)據(jù)的分布式存儲;實現(xiàn)基于改進(jìn)的K_均值聚類算法對風(fēng)機故障定位的并行計算,為風(fēng)機的實時監(jiān)測與故障定位提供了很好的解決方案。最后,給出實例驗證,結(jié)果達(dá)到預(yù)期效果。
風(fēng)機作為一種旋轉(zhuǎn)工程機械,其核心部分為轉(zhuǎn)子組件。在工作時,轉(zhuǎn)子都處于高速旋轉(zhuǎn)的狀態(tài),會產(chǎn)生一定的損耗,這時往往就會產(chǎn)生機械振動,而振動的不斷加劇一般都是風(fēng)機發(fā)生故障的主要原因,風(fēng)機故障一旦發(fā)生就會影響正常的生產(chǎn),增加風(fēng)機的運行成本。風(fēng)機故障主要包括如下特征[3]:
(1)隨機性。風(fēng)機系統(tǒng)故障往往表現(xiàn)為載荷不穩(wěn)定和振動頻率多變,引起這些狀況的因素有很多種,呈現(xiàn)出無規(guī)律可循和隨機性特征。(2)多樣性。風(fēng)機故障種類較多,常見故障有很多,例如轉(zhuǎn)子不平衡、轉(zhuǎn)子不對中、油膜振蕩、油膜渦動和風(fēng)機的喘振等問題。(3)復(fù)雜性。不同的影響因素會導(dǎo)致相同的故障結(jié)果,給故障定位帶來了很大的麻煩,研究故障準(zhǔn)確定位是一個復(fù)雜的過程。
Hadoop是Apache開源組織的一個分布式計算框架,可以在廉價的硬件設(shè)備組成的集群上運行應(yīng)用程序,為應(yīng)用程序提供穩(wěn)定可靠的接口,構(gòu)建的分布式系統(tǒng)具有高可靠性、低成本和良好擴展性的優(yōu)點。Hadoop項目的核心部分是MapReduce和HBase,分別是Google云計算核心技術(shù)MapReduce和BigTable的開源實現(xiàn)。通過綜合分析,采用的基礎(chǔ)平臺為Hadoop基礎(chǔ)平臺,并將該平臺進(jìn)行擴展,運用的是HBase分布式實時數(shù)據(jù)存儲和MapReduce的并行運算方式,最終實現(xiàn)風(fēng)機故障監(jiān)測的Hadoop 分布式計算系統(tǒng)。
2.1 風(fēng)機狀態(tài)監(jiān)測數(shù)據(jù)表設(shè)計
對風(fēng)機設(shè)備進(jìn)行準(zhǔn)確故障定位的前提是獲得充足的數(shù)據(jù)信息,如果沒有足夠的數(shù)據(jù)信息來源,就無法查明設(shè)備的故障原因和故障部位,這樣就需要建立強大的數(shù)據(jù)庫存儲這些數(shù)據(jù)信息。風(fēng)機故障監(jiān)測系統(tǒng)中的數(shù)據(jù)存儲是數(shù)據(jù)庫系統(tǒng)中的重要功能,主要目的是對數(shù)據(jù)采集端上傳的數(shù)據(jù)進(jìn)行實時存儲和更新,從而實現(xiàn)對風(fēng)機狀態(tài)實時監(jiān)測的目的。HBase是面向列存儲的分布式數(shù)據(jù)庫系統(tǒng),它可以完成高性能的并發(fā)讀寫操作,非常適合應(yīng)用于大規(guī)模數(shù)據(jù)集的實時存儲。HBase的處理目標(biāo)是數(shù)據(jù)量非常龐大的表,不僅可以在普通的計算機上對10億行數(shù)據(jù)進(jìn)行處理,還能夠處理數(shù)百萬列元素的數(shù)據(jù)表[4]。
在風(fēng)機數(shù)據(jù)庫系統(tǒng)中最關(guān)鍵的設(shè)計是數(shù)據(jù)庫中的表,風(fēng)機數(shù)據(jù)存儲表存儲的是采集的監(jiān)測數(shù)據(jù)和數(shù)據(jù)參數(shù)信息,如風(fēng)機各個組件振動信息。它的主要存儲內(nèi)容是編號(主鍵)、時間、機組設(shè)備、釆樣頻率、設(shè)備轉(zhuǎn)速、采樣點數(shù)等,其中監(jiān)測數(shù)據(jù)信息是實時變化的,數(shù)據(jù)參數(shù)信息是不變的。風(fēng)機數(shù)據(jù)存儲表結(jié)構(gòu)設(shè)計如表1所示。
表1 風(fēng)機數(shù)據(jù)存儲表結(jié)構(gòu)
表中包含有兩個列族,其中基本信息列族存儲的是風(fēng)機狀態(tài)數(shù)據(jù)的參數(shù)信息,數(shù)據(jù)列族存儲的是風(fēng)機具體數(shù)據(jù)信息,通過這些信息的實時更新變化來實現(xiàn)對風(fēng)機狀態(tài)的實時監(jiān)測。
2.2 原K_均值聚類故障定位算法
風(fēng)機故障監(jiān)測系統(tǒng)中的故障定位功能一直都是監(jiān)測系統(tǒng)中不可或缺的部分。故障定位是從風(fēng)機產(chǎn)生的海量運行數(shù)據(jù)中診斷出故障特征數(shù)據(jù),同時進(jìn)行故障評測并產(chǎn)生相應(yīng)的結(jié)果,以反映風(fēng)機狀態(tài)和故障情況的過程[5]。
風(fēng)機故障的部位是隨機不可確定的,并且風(fēng)機故障數(shù)據(jù)總是隱藏在海量的數(shù)據(jù)中,因此用傳統(tǒng)的定位算法對故障數(shù)據(jù)進(jìn)行準(zhǔn)確診斷則有很大的難度。K_均值聚類算法具有運算簡單高效、收斂速度快、便于處理大型數(shù)據(jù)集等優(yōu)點,很適合對風(fēng)機運行數(shù)據(jù)進(jìn)行挖掘和自適應(yīng)識別。因此,該項研究將采用一種基于改進(jìn)的K_均值聚類故障定位算法,以便進(jìn)一步提高風(fēng)機故障定位的準(zhǔn)確性和定位效率。
針對傳統(tǒng)的K_均值聚類算法中的聚類數(shù)目k和聚類初始中心都是隨機選擇的,導(dǎo)致了原始數(shù)據(jù)迭代數(shù)的增加,且容易陷入局部最優(yōu)的問題。該項研究將引入半監(jiān)督學(xué)習(xí)的思想,即為通過小部分標(biāo)記的數(shù)據(jù)指導(dǎo)訓(xùn)練大量未標(biāo)記的數(shù)據(jù)進(jìn)行非監(jiān)督的學(xué)習(xí),從而達(dá)到對傳統(tǒng)算法的改進(jìn)。
在半監(jiān)督聚類算法中,由于已知標(biāo)記點存在誤差,如果所選擇的標(biāo)記點誤差較大但卻作為了初始聚類中心,就會導(dǎo)致運算結(jié)果出現(xiàn)更大的誤差,因此,采用了基于改進(jìn)的半監(jiān)督K_均值聚類算法,在很大程度上克服了上述問題。假設(shè)風(fēng)機運行時產(chǎn)生的數(shù)據(jù)集有N個樣本,表示為X={x1,x2,…,xn},其中數(shù)據(jù)N中有m個數(shù)據(jù)被標(biāo)記,即為風(fēng)機存儲表中各組件的數(shù)據(jù)參數(shù)信息,并且將其中m個數(shù)據(jù)記作訓(xùn)練數(shù)據(jù)集T,同時把數(shù)據(jù)集T劃分為D類(m≤N,mgt;D),即為T={y1,y2,…,yD},應(yīng)用文獻(xiàn)[6]中的自適應(yīng)K_均值聚類算法對所標(biāo)記的樣本集進(jìn)行無監(jiān)督聚類,得到最佳聚類數(shù)k和對應(yīng)的聚類中心點集W={l1,l2,…,lk}。
基于改進(jìn)的半監(jiān)督K_均值聚類故障定位算法實現(xiàn)步驟如下所示:
2.3 并行故障定位算法的MapReduce實現(xiàn)
云計算提供的MapReduce編程模型能較好地處理大規(guī)模數(shù)據(jù),因此也被越來越多地應(yīng)用在故障定位中。MapReduce不僅是一個編程模型,還是一個對處理超大數(shù)據(jù)集的算法模型的相關(guān)實現(xiàn),并且以函數(shù)的方式提供了Map和Reduce操作來完成并行計算。MapReduce在執(zhí)行任務(wù)時,首先運用的是Map操作來接收輸入的key/value值,然后會產(chǎn)生中間key/value值的集合,最后將全部具有同樣的key值的value值分別傳遞給Reduce操作,進(jìn)行合并中間數(shù)據(jù)操作,輸出聚類結(jié)果[7]。
使用MapReduce編程模型對改進(jìn)后的半監(jiān)督K_均值聚類算法進(jìn)行并行實現(xiàn),MapReduce實現(xiàn)算法具體流程如圖1所示
圖1 故障定位算法的MapReduce實現(xiàn)過程
Map函數(shù)執(zhí)行過程:
輸入:Map函數(shù)接收聚類中心數(shù)據(jù)文件,文件中保存著待聚類的所有樣本和上一次迭代的聚類中心,輸入的鍵值對(key1,value1)表示(樣本向量所在索引,樣本向量)。
輸出:Map函數(shù)根據(jù)所有樣本點到聚類中心點的距離,來求取樣本距離最近的聚類中心的聚類類別W。輸出中間結(jié)果鍵值對(key2,value2)表示(聚類類別W,樣本向量)
Reduce函數(shù)執(zhí)行過程:
輸入:Reduce函數(shù)輸入所接收的是由Map函數(shù)計算得到的中間鍵值對(key2,value2),將所有相同key2的鍵值對送到Reduce函數(shù)計算。
輸出:Reduce函數(shù)計算value2中屬于類別W的所有樣本的平均值avg,即為新的聚類中心。輸出結(jié)果(key3,value3)表示(聚類類別為W樣本向量,新的聚類中心)。
每執(zhí)行完一次K_均值聚類MapReduce的任務(wù),都會產(chǎn)生新的聚類中心,通過與上一次的迭代中心進(jìn)行比較,如果變化小于了期望值,可以判斷聚類不再發(fā)生變化,輸出聚類結(jié)果。否則,將新的聚類中心替代上一次迭代的中心,然后重新執(zhí)行MapReduce任務(wù),直到滿足終止條件。
實驗在Linux環(huán)境下建立Hadoop2.0集群環(huán)境,實驗集群由4個節(jié)點組成,使用了4臺聯(lián)想PC機,其中1臺服務(wù)器用來管理其他工作節(jié)點,作為主控制節(jié)點(Master),另外3臺P 機用來運行MapReduce任務(wù),作為工作節(jié)點(Slave)。對運行的風(fēng)機的5個監(jiān)測組件產(chǎn)生的特征數(shù)據(jù)提取500個樣本,每種監(jiān)測組件為100個樣本,在每種監(jiān)測組件中選取20組的信息作為標(biāo)記信息,一共100組,剩余的400組則作為測試樣本,設(shè)誤差期望值E為10-3。利用改進(jìn)前的半監(jiān)督K_均值聚類故障定位算法和改進(jìn)后的半監(jiān)督K_均值聚類故障定位算法分別對故障進(jìn)行定位實驗,實驗性能對比結(jié)果如表2所示。
表2 改進(jìn)的半監(jiān)督K_均值聚類故障定位算法與原始算法的定位性能對比
從上述結(jié)果可以看出該算法對風(fēng)機故障定位的優(yōu)勢,改進(jìn)的半監(jiān)督K_均值聚類故障定位算法相對改進(jìn)前其性能更加穩(wěn)定,故障定位的準(zhǔn)確率也有了大幅度的提高。
(1)基于云計算的風(fēng)機故障監(jiān)測系統(tǒng)為風(fēng)機狀態(tài)實時監(jiān)測和故障定位提供了新思路,運用HBase對風(fēng)機各組件的數(shù)據(jù)信息實時進(jìn)行存儲進(jìn)而達(dá)到對風(fēng)機的實時監(jiān)測,利用 MapReduce對改進(jìn)的半監(jiān)督K_均值聚類算法進(jìn)行并行計算,進(jìn)而實現(xiàn)了對風(fēng)機故障的準(zhǔn)確定位。
(2)實例仿真證明該風(fēng)機故障監(jiān)測系統(tǒng)對風(fēng)機狀態(tài)和故障定位可靠,提升風(fēng)機的故障定位效率。
[1] 呂茂超,華鋼,劉晶晶.基于LabVIEW的風(fēng)機故障監(jiān)測診斷系統(tǒng)的設(shè)計[J].煤礦安全,2011,42(10):51-53.
[2] 徐飛.基于云計算的設(shè)備故障診斷系統(tǒng)研究[J].電子設(shè)計工程,2015,23(10):5-7.
[3] 向東,王福忠.礦用通風(fēng)機振動故障分析及檢測研究[J].煤礦機械,2015,36(1):273-275.
[4] 范建永,龍明,熊偉.基于HBase的矢量空間數(shù)據(jù)分布式存儲研究[J].地理與地理信息科學(xué),2012,28(5):39-42.
[5] 費賢舉.基于改進(jìn)K均值聚類的機械故障智能檢測[J].計算機測量與控制,2015,23(4):1 121-1 123.
[6] 孫建凱.數(shù)據(jù)挖掘中半監(jiān)督K均值聚類算法的研究[D].杭州:浙江理工大學(xué),2013.
[7] 饒君,吳斌,東昱曉.MapReduce環(huán)境下的并行復(fù)雜網(wǎng)絡(luò)鏈路預(yù)測[J].軟件學(xué)報,2012,23(12):3 175-3 186.
ApplicationofFaultMonitoringSystemofFanBasedonCloudComputing
SUN Jie, LIAN Chang
(College of Electrical Engineering, North China University of Science and Technology Tangshan 063009,China)
fault location; cloud computing; HBase; MapReduce; K_ mean
Fault monitoring is one of the important means to ensure the safe operation of the fan. In order to improve the efficiency of wind turbine condition monitoring and fault location accuracy, through the research of the fault characteristics of wind machine, the principle of cloud computing and its system structure were analyzed, the application of fan fault monitoring system based on cloud computing was put forward. The results show that the system realizes the storage of massive monitoring information through HBase, and achieves the purpose of real-time monitoring of the state of the fan, By using MapReduce the fault location of the fan based on the improved K_ mean clustering algorithm is realized. The feasibility of fault monitoring system of fan is verified by the experimental results, and by the fan fault monitoring system based on cloud computing, the accuracy of fault location is improved.
2095-2716(2017)04-0101-04
2017-05-10
2017-09-15
河北省自然科學(xué)基金項目(F2013209326)。
TP301
A