彭剛,何成,趙建煒,侯忠平
(1.華中科技大學(xué)自動化學(xué)院,湖北武漢430074;2.武漢卷煙廠,湖北武漢430051)
基于Hadoop的逆變器監(jiān)測與分析系統(tǒng)設(shè)計(jì)
彭剛1,何成1,趙建煒2,侯忠平2
(1.華中科技大學(xué)自動化學(xué)院,湖北武漢430074;2.武漢卷煙廠,湖北武漢430051)
逆變器是分布式發(fā)電系統(tǒng)中的重要環(huán)節(jié),其運(yùn)行狀況直接影響整個(gè)系統(tǒng)的工作可靠性。針對分布式發(fā)電系統(tǒng)中逆變器運(yùn)行時(shí)產(chǎn)生的龐大監(jiān)測數(shù)據(jù),傳統(tǒng)的存儲與分析方法難以適應(yīng)。以Hadoop集群為平臺,將監(jiān)測數(shù)據(jù)存儲到集群中的分布式數(shù)據(jù)庫,并對逆變器監(jiān)測數(shù)據(jù)進(jìn)行分析和評估,減少因逆變器故障給分布式發(fā)電系統(tǒng)帶來的損失。
逆變器;Hadoop集群;云存儲;K均值;模糊C均值
隨著全球經(jīng)濟(jì)發(fā)展和人口增長,人類對能源的消耗也急劇增加,隨之而來的是一系列的環(huán)境問題和能源危機(jī)。各國正積極發(fā)展清潔可再生能源,每年的裝機(jī)總量與日俱增。分布式發(fā)電系統(tǒng)的逆變器是風(fēng)、光再生能源轉(zhuǎn)化成電能的關(guān)鍵環(huán)節(jié),對其運(yùn)行監(jiān)測所產(chǎn)生的數(shù)據(jù)可以達(dá)到TB級甚至PB級,傳統(tǒng)的數(shù)據(jù)存儲方與分析方式不能勝任這樣大規(guī)模的數(shù)據(jù)處理[1-3]。本文通過對逆變器的電壓檢測、電流檢測、溫度檢測,采用云存儲技術(shù),利用Hadoop集群中分布式數(shù)據(jù)庫的存儲量大和存儲數(shù)據(jù)結(jié)構(gòu)的優(yōu)勢來存儲逆變器監(jiān)測數(shù)據(jù)[4-5],通過集群中的K均值和模糊C均值算法對逆變器監(jiān)測數(shù)據(jù)進(jìn)行分析和對比,為維護(hù)人員提供逆變器運(yùn)行狀態(tài)信息。監(jiān)測系統(tǒng)主要由監(jiān)測軟件、數(shù)據(jù)分析平臺和web在線監(jiān)測組成,總體框架如圖1所示。
圖1 監(jiān)測系統(tǒng)的總體框架
監(jiān)測軟件對分布式發(fā)電系統(tǒng)中不同區(qū)域的逆變器進(jìn)行運(yùn)行狀態(tài)信息采集,首先存儲到本地SQL Server數(shù)據(jù)庫,然后將數(shù)據(jù)傳輸?shù)骄W(wǎng)絡(luò)服務(wù)器和Hadoop集群上。瀏覽器通過訪問網(wǎng)絡(luò)服務(wù)器獲取逆變器的運(yùn)行信息,Hadoop集群中監(jiān)測數(shù)據(jù)會被存儲到分布式數(shù)據(jù)庫HBase中,同時(shí)Hadoop集群上通過聚類算法對監(jiān)測數(shù)據(jù)進(jìn)行分析,并將結(jié)果反饋給分布式發(fā)電系統(tǒng)運(yùn)維工作人員。
監(jiān)測軟件在整個(gè)系統(tǒng)中不僅起到數(shù)據(jù)中轉(zhuǎn)的作用,而且對網(wǎng)絡(luò)服務(wù)器和Hadoop集群上的數(shù)據(jù)分析提供數(shù)據(jù)支撐。監(jiān)測軟件與逆變器之間采用ModBus通信協(xié)議,保證了數(shù)據(jù)傳輸?shù)挠行院蛯?shí)時(shí)性,使用戶在本地能更加直觀和及時(shí)的查看逆變器的實(shí)時(shí)信息和歷史信息。監(jiān)測軟件功能包括逆變器的實(shí)時(shí)狀態(tài)顯示與數(shù)據(jù)查詢、數(shù)據(jù)備份和數(shù)據(jù)通信四部分。
(1)狀態(tài)顯示與數(shù)據(jù)查詢
監(jiān)測軟件不僅能顯示逆變器的實(shí)時(shí)信息,也能快速的監(jiān)測到逆變器的錯誤狀態(tài)信息。實(shí)時(shí)信息有交流輸出電壓電流、設(shè)備溫度、直流輸入電壓電流。故障信息有輸出電壓過高和過低、輸出電流過高、直流輸入過高和過低、溫度過高和過低等。數(shù)據(jù)查詢過程就是讀取數(shù)據(jù)庫中的歷史數(shù)據(jù),查詢條件可以按時(shí)間、按不同數(shù)據(jù)的特征等,并對異常信息進(jìn)行標(biāo)注。
(2)數(shù)據(jù)備份
本地?cái)?shù)據(jù)庫使用SQL Server數(shù)據(jù)庫,數(shù)據(jù)的存儲格式如表1所示。
表1 數(shù)據(jù)存儲格式
這個(gè)數(shù)據(jù)存儲格式也是網(wǎng)絡(luò)數(shù)據(jù)庫和Hadoop集群主機(jī)中MySql數(shù)據(jù)庫的監(jiān)測數(shù)據(jù)存儲格式。數(shù)據(jù)庫的備份可以有兩種方式:一是直接將數(shù)據(jù)庫進(jìn)行備份;二是將數(shù)據(jù)導(dǎo)出到本地文件系統(tǒng)進(jìn)行備份。
(3)數(shù)據(jù)通信
采用ModBus通信協(xié)議方便不同廠家生產(chǎn)的逆變器設(shè)備連成工業(yè)網(wǎng)絡(luò)進(jìn)行集中監(jiān)測。ModBus協(xié)議的通信格式分為ACSII(美國標(biāo)準(zhǔn)信息交換代碼)模式和RTU(遠(yuǎn)程終端單元)模式。ACSII模式中每8bit字節(jié)作為兩個(gè)ACSII字符傳輸,RTU模式中每8bit字節(jié)按照原值傳輸。在相同的波特率下,RTU模式的傳輸量比ACSII模式大。系統(tǒng)采用RTU模式進(jìn)行數(shù)據(jù)通信。通信過程中,監(jiān)測軟件周期性地向逆變器發(fā)送數(shù)據(jù)傳輸指令,逆變器將運(yùn)行數(shù)據(jù)傳輸給監(jiān)測軟件,監(jiān)測軟件對接收的數(shù)據(jù)進(jìn)行CRC校驗(yàn)并判斷,如果正確則顯示在實(shí)時(shí)界面上,否則丟棄這條數(shù)據(jù)。
2.1 Hadoop集群搭建
Hadoop集群的核心組成部分是HDFS分布式文件系統(tǒng)和MapReduce計(jì)算框架。HDFS分布式文件系統(tǒng)屬于主/從結(jié)構(gòu),主機(jī)負(fù)責(zé)MapReduce任務(wù)的管理和協(xié)調(diào),節(jié)點(diǎn)是實(shí)際數(shù)據(jù)存儲和計(jì)算的單元。MapReduce計(jì)算框架采用“分而治之”的思想,將大規(guī)模的數(shù)據(jù)操作分發(fā)給各個(gè)節(jié)點(diǎn)共同完成。系統(tǒng)采用三臺電腦搭建整個(gè)集群,一臺作為主機(jī),兩臺作為節(jié)點(diǎn)。集群部署環(huán)境配置表2所示。
表2 Hadoop集群部署環(huán)境
2.2 監(jiān)測數(shù)據(jù)在集群上的存儲與查詢
Hadoop集群上數(shù)據(jù)存儲在HDFS文件系統(tǒng),集群上有Hive數(shù)據(jù)庫和分布式數(shù)據(jù)庫HBase.在Hadoop集群上對數(shù)據(jù)進(jìn)行計(jì)算,無論是原始監(jiān)測數(shù)據(jù)還是計(jì)算后的數(shù)據(jù),它們都存儲在HDFS上,將監(jiān)測數(shù)據(jù)從MySql中導(dǎo)出為文本格式后,上傳到HDFS上進(jìn)行后期處理。HDFS上數(shù)據(jù)的存儲與查詢指令如表3所示。
表3 HDFS上存儲與查詢指令
Hive是目前大型數(shù)據(jù)倉庫的一個(gè)主流產(chǎn)品,針對上億條的數(shù)據(jù)進(jìn)行復(fù)雜查詢時(shí),傳統(tǒng)關(guān)系數(shù)據(jù)庫的性能遠(yuǎn)沒有Hive的效率高。Hive能與HDFS形成一個(gè)良好的交互,Hive中的數(shù)據(jù)可以從本地、HDFS、Hive其他表導(dǎo)入,同時(shí)也可以將數(shù)據(jù)導(dǎo)出到本地、HFDS、Hive其他表。本系統(tǒng)中通過Sqoop實(shí)現(xiàn)將MySql數(shù)據(jù)導(dǎo)入Hive中,實(shí)現(xiàn)大量數(shù)據(jù)的離線處理。而HBase是典型的分布式數(shù)據(jù),其與傳統(tǒng)關(guān)系數(shù)據(jù)庫最大的區(qū)別在于它是基于列存儲[6]。
在系統(tǒng)中我們使用Hive對監(jiān)測的歷史數(shù)據(jù)進(jìn)行分析查詢,HBase進(jìn)行監(jiān)測數(shù)據(jù)的實(shí)時(shí)查詢,最后綜合兩者的結(jié)果,Hive和HBase的區(qū)別如表4所示。
表4 Hive與HBase的區(qū)別
2.3 基于聚類方法的逆變器運(yùn)行分析
聚類就是按照一定的規(guī)則將具有最大相似度的數(shù)據(jù)分成一類。系統(tǒng)選擇K-Means算法和Fuzzy CMeans(FCM)算法,對逆變器運(yùn)行數(shù)據(jù)進(jìn)行分析。在Hadoop平臺下有兩種方式可以實(shí)現(xiàn)K均值算法和FCM算法,一種是通過Mahout機(jī)器學(xué)習(xí)軟件包中的K均值算法和FCM算法的API接口實(shí)現(xiàn);另一種是通過在Eclipse中通過MapReduce編寫算法[7-8]。Hadoop平臺下的Mahout機(jī)器學(xué)習(xí)工具封裝了許多經(jīng)典的協(xié)同過濾算法、聚類算法、模式挖掘算法。通過聚類算法可以找出逆變器的故障信息集和逆變運(yùn)行過程中滿負(fù)荷或者超負(fù)荷運(yùn)行的數(shù)據(jù),通過得到的數(shù)據(jù)對逆變器的運(yùn)行情況進(jìn)行評估,平衡分布式發(fā)電系統(tǒng)中的逆變器負(fù)荷,預(yù)防因逆變器長期超負(fù)荷運(yùn)行而造成的損壞。
本系統(tǒng)將存儲在HBase中的逆變器運(yùn)行參數(shù)導(dǎo)出到HDFS上,通過調(diào)用Mahout中的K均值算法和模糊C均值算法,對逆變器運(yùn)行數(shù)據(jù)進(jìn)行分類和分析。計(jì)算結(jié)果如圖2和圖3所示。
圖2K均值計(jì)算結(jié)果和可視化效果
圖3模糊C均值計(jì)算結(jié)果和可視化效果
圖2 和圖3中,cluster1代表逆變器異常狀態(tài),cluster2代表一個(gè)風(fēng)機(jī)負(fù)載運(yùn)行,cluster3代表兩個(gè)風(fēng)機(jī)負(fù)載運(yùn)行。K-Means聚類算法簡單快速,對處理大數(shù)據(jù)集特別是當(dāng)數(shù)據(jù)滿足團(tuán)狀密集時(shí),該算法有可伸縮性和高效率。使用K-Means算法得到的兩個(gè)確定的質(zhì)心(220.004,0.291)、(223.600,0.35),還有一類的質(zhì)心為[0:10.307],說明聚類中心是一簇點(diǎn),出現(xiàn)這種情況的原因是聚類中心從數(shù)據(jù)中抽取時(shí)就有部分點(diǎn)與聚類中心重合。運(yùn)行Fuzzy C-Means算法,三個(gè)質(zhì)心分別是(221.676,0.318)、(32.689,0)、(9.927,0).說明模糊C均值相比K均值對孤立的數(shù)據(jù)點(diǎn)表現(xiàn)更加敏感。
通過Hadoop集群上的聚類分析,可以推測哪些狀態(tài)是正常運(yùn)行,哪些是超負(fù)荷運(yùn)行,哪些可能是出現(xiàn)了異常,找到這些逆變器所在區(qū)域,就可以平衡分布式發(fā)電系統(tǒng)中的逆變器負(fù)荷,做到最大可能的預(yù)防因逆變器長期超負(fù)荷運(yùn)行而造成的損壞,從而降低逆變器損壞給分布式發(fā)電系統(tǒng)帶來的損失。
本文針對分布式發(fā)電系統(tǒng)中逆變器運(yùn)行時(shí)產(chǎn)生的龐大監(jiān)測數(shù)據(jù),充分利用Hadoop集群存儲量大、存儲數(shù)據(jù)結(jié)構(gòu)的優(yōu)勢,將逆變器監(jiān)測數(shù)據(jù)存儲到分布式數(shù)據(jù)庫HBase中,采用Mahout機(jī)器學(xué)習(xí)工具中的經(jīng)典聚類算法對監(jiān)測數(shù)據(jù)進(jìn)行聚類分析,幫助分布式發(fā)電系統(tǒng)運(yùn)維工作人員及時(shí)發(fā)現(xiàn)逆變的異常信息,并對逆變器的狀態(tài)進(jìn)行有效的評估,減少因逆變器故障產(chǎn)生的損失。
[1]陸悅.基于嵌入式的光伏逆變器監(jiān)測系統(tǒng)的研究[D].上海:上海交通大學(xué),2010.
[2]李剛,高軍偉,張彬,等.基于虛擬儀器技術(shù)的逆變器監(jiān)測系統(tǒng)設(shè)計(jì)[J].青島大學(xué)學(xué)報(bào)(工程技術(shù)版),2014,29(1):17-20.
[3]甘斌斌.基于STM32的中小功率逆變器無線監(jiān)控設(shè)備設(shè)計(jì)[D].合肥:安徽大學(xué),2012.
[4]Ghemawat s,Gobioff H,Leung S T.The google file system [C].Pro of the 19th ACM Symposium on Operating System Principles,2003:29-43.
[5]Dean J,Ghemawat S.MapReduce:Simplified data process ing on large clusters[C].Pro of the 6th Symposium on Oper ating System Design and Implementation,2004:137-150.
[6]譚潔清,毛錫軍.Hadoop云計(jì)算基礎(chǔ)架構(gòu)的搭建和hbase和hive的整合應(yīng)用[J].貴州科學(xué),2013,31(5):32-35.
[7]Zhao Weizhong,Ma Huifang,He Qing.Parallel K-Means clustering based on MapReduce[J].Lecture Notes in Computer Science,2009,5931:674-679.
[8]Wang Xuan.Clustering in the cloud:clustering algorithm to Hadoop MapReduce framework[D].Department of Computer Science,Texas State University,2010.
Design of Inverter Monitoring and Analysis System Based on Hadoop
PENG Gang1,HE Cheng1,ZHAO Jian-wei2,HOU Zhong-ping2
(1.School of Automation,Huazhong University of Science and Technology,Wuhan Hubei 430074,China;2.Wuhan Cigarette Factory,Wuhan Hubei 430051,China)
The inverter is an important part in distributed power system,and its running state directly affects the whole system.The traditional storage and analysis methods are difficult to apply to the large scale data generated during the operation of the inverter.An experimental platform of Hadoop clusters is established,whichstoredthe monitoring data to cluster in the distributed database,to analysis monitoring data of inverters,and reduce the loss caused by inverter fault to distributed power system.
inverter;Hadoop clusters;cloud storage;K-Means;fuzzy C-Means
TP391
A
1672-545X(2017)03-0076-03
2016-12-04
彭剛(1973-),男,湖北武漢人,副教授,研究方向:機(jī)器人與智能制造、嵌入式系統(tǒng)、功率變換。