【摘要】 為解決現有工業數據處理方案的不足,將大數據技術引入到CIMS的監測和分析中;借助消息中間件完成HDFS分布式環境下的可靠通信,并利用Hadoop的MapReduce框架保證監測和分析的實時性。另外,還借助系統動力學方法對要建立的CIMS監測和分析平臺進行建模,以分析監測和分析平臺的瓶頸,提高監測和分析性能。
【關鍵詞】 大數據 HDFS MapReduce CIMS
一、研究背景
工業化和計算機技術的發展,使制造系統每天產生的數據量不斷增加,整個制造業產生的數據量遠高于其他行業[1]。面對日益復雜的制造業生產系統,通過保存其運行過程中的中間數據,并對數據進行研究,能夠解決當前的系統建模手段無法解決的問題。傳統的數據分析方案一般先將數據保存到關系型數據庫中,然后借助聯機分析、處理等手段為決策提供支持[2]。
當面對制造業的海量數據時,可能會有如下缺陷[3]:
(1)數據來自不同地區的工作站、傳感器等,而且數據格式不統一,既有結構化數據,也有非結構化數據,不利于處理;
(2)聯機分析處理過程中會有大量的數據移動操作,當數據量達到PB級時,大量數據移動造成的開銷變得難以接受。
因此,有必要研究并實現一個能夠合并存儲異構數據、并且可以完成基于大數據的CIMS數據分析處理的平臺。本文將Hadoop大數據技術引入到CIMS海量工業數據的監測和分析中。
二、研究現狀
范劍青[4]闡述了大數據獨有的特點,說明大數據提供的海量數據給統計、處理以及統計估算和檢驗帶來的問題。Jiang 等人[5]對電子商務網站的大量商品數據進行分析處理,提出了基于Hadoop的協同過濾算法。
Duke能源公司模擬大數據解決方案,使維護專家遠程觀看設備和記錄異常指數,甚至可以及時采取糾正操作,但還不能真正實現大數據分析和處理平臺。通用電氣(GE)于2013年推出其大數據分析平臺,用以將云平臺中的工業機器產生的海量數據轉化為實時信息,此平臺可以認為是第一個能夠真正管理工業海量數據的平臺,但是難以處理來自多個數據源的數據。美國國家儀器公司和IBM聯手推出InfoSphereStreams大數據解決方案,能夠以很高的數據吞吐率分析來自多個數據源的信息,但其處理帶有一定的數據延時,實時性不佳。
為解決海量數據處理時的實時性問題,本文擬采用開源的Storm流處理技術,并借助類SQL和Piglatin等過程化語言擴展,以實時監控整個大數據平臺。
三、大數據技術在CIMS監測與分析平臺中的設計
工業應用數據在數據量上遠超普通應用,其海量數據存儲的要求超過了傳統的關系型數據庫的存儲能力。另外,工業應用數據也由傳統的結構化數據擴展到結構化、半結構化以及非結構化數據并存,對這些數據格式以及數據類型都存在不同的工業數據進行采集、分析和處理的方式有別于傳統方式,因此需要對監測和分析平臺進行設計,從軟件結構、通信方式以及數據存儲方式等各個方面進行分析。
3.1 CIMS海量數據監測與分析平臺的設計
在將大數據技術應用于CIMS海量數據的監測與分析時,海量的工業數據不再存放在傳統的關系型數據庫,而是存放到HDFS分布式文件系統上。因此,軟件結構設計要與Hadoop的HDFS文件系統相對應。
3.1.1 軟件結構
本文設計的CIMS海量工業數據監測和分析平臺(以下簡稱“平臺”)采用Master-slave主從架構,Hadoop集群的NameNode節點作為監測和分析平臺的管理節點,完成數據采集、數據分析等各功能的功能模塊是工作節點。管理節點管理整個集群的相關信息,并維護包括節點的主機名、IP地址等機器狀態。工作節點可以根據工業應用的需求進行靈活的配置,也可以動態增加或減少。
平臺主要分為如下部分[6]:客戶端、消息中間件、數據查詢模塊、數據分析模塊、數據采集模塊以及Hadoop集群。客戶端接收用戶請求,向平臺發出任務請求;數據采集模塊、數據查詢模塊以及數據分析模塊是平臺的功能組件,分別提供工業大數據分析流程中的對應功能[7]:數據采集模塊對外提供數據的訪問接口,其功能是從不同的數據源獲取數據,并將這些數據存儲到Hadoop的HDFS文件系統上。
數據查詢模塊從HDFS文件系統中查詢數據的存儲索引,并返回給數據分析模塊;數據分析模塊中實現不同的數據分析配置方法,并交由MapReduce框架分布式地實現數據分析任務。
3.1.2 系統功能模塊
平臺中監測和分析的數據一般都是離散數據,所以選擇消息中間件作為通信管理模塊,消息中間件實現平臺中各個模塊間的通信。
以功能節點上線為例,由于管理節點存儲了所有節點的狀態信息,所以為保證整個集群信息的一致性,功能節點上線時需要先向管理節點注冊其信息,管理節點會向消息中間件訂閱“注冊”這一主題,消息中間件接收到訂閱請求后會創建相應的隊列,并持續監聽此隊列的消息情況。消息隊列中的消息是以文本格式存在的,本文的消息傳遞方式采用XML。平臺中的操作請求都會發送給任務管理模塊,由其解析后,再發送給相應的功能模塊執行。
數據采集模塊從基于HDFS文件系統的Hbase數據庫中獲取來自客戶端的數據,由于工業數據的采集并發量可能比較大,因此要在采集端部署大量數據庫;除此之外,ETL工具負責將異構數據源的數據抽取處理進行數據清洗。Hadoop上的數據分析模塊能夠完成多維分析,由于MapReduce的具備很強的并行處理能力,因此分析維度的增加并不會使數據分析的開銷顯著增加,這無疑是傳統的數據分析平臺所無可比擬的。
3.1.3 數據存儲方式
傳統的關系型數據庫不能很好的支持結構化和半結構化的數據,HDFS分布式文件系統克服了這一缺陷,將非結構化數據和結構化數據都以文件形式存放,實現了廉價而又可靠數據存儲。
工業數據可能來自多個不同的數據源,平臺借助中間件屏蔽了它們之間的異構性,然后將這些原本異構的數據存儲到HDFS文件系統中。這種異構數據存儲方式不需要昂貴的存儲設備,廉價的服務器即可組成可靠的存儲集群;另外,存儲集群節點同時還是Hadoop集群的工作節點,提高了數據存儲節點的利用率[8]。
四、大數據技術在CIMS監測與分析平臺的性能優化
軟件工程思想中,不能只設計軟件的結構,同時要對軟件進行不斷優化。平臺集中了多個數據來源的數據,因此平臺間的數據傳遞吞吐量比較大;另外,平臺各個組件間的網絡依賴關系比較復雜,合理分配網絡資源對提升平臺性能有重要的影響。
系統動力學研究復雜系統的結構、功能以及動態行為模式,可以利用系統動力學的相關原理和方法,對本文設計的平臺進行模擬仿真研究。
在進行實際的大數據平臺仿真分析時,為搭建Hadoop集群本文配置4臺服務器,其中一臺作為NameNode,其他服務器作為DataNode。具體的配置信息如表1所示:

系統動力學分析軟件系統的基本思路是把與系統相關的網絡變量轉換為因果圖及流圖,因果圖表征了變量間的相互影響關系,流圖說明了變量的反饋積累;然后利用DYNAMO方程描述變量間的關系。因果圖反應了平臺中的反饋回路的正負極性,表示出系統元素間基本的相互影響關系。
基于以上分析,對本文設計的平臺進行系統動力學分析如下:由于平臺是一個非線性時變系統,影響其性能的因素不僅包括管理節點、消息中間件、Hadoop集群等,還包含網絡帶寬、服務器配置等客觀因素。根據系統建模目的,可以知道系統邊界應該包括如下因素:用戶請求數目、數據采集模塊采集到的輸入數據、消息中間件隊列中的消息數量、消息中間件路由消息的延遲、Hadoop集群的性能等。
平臺的系統邊界確定后,接下來需要分析系統邊界內的元素間的影響關系,以及它們之間是否有因果關系。經分析可知,用戶請求的增加會導致消息中間件隊列中的消息增加,而消息中間件路由消息的延遲降低會降低系統中消息傳遞的整體時延。
消息中間件的工作性能和系統各個模塊的工作時延組成正反饋回路,說明消息中間件和系統模塊是正相關的,所以平臺整體性能的提升依賴于消息中間件和系統模塊的合理資源配置。
消息中間件的各種配置參數,比如響應速度、吞吐量等參數對提升平臺的分析性能影響很大,在優化消息中間件的各種參數后,比較本文設計的基于大數據的數據分析平臺和傳統的工業數據平臺的性能,在同時對PB級別的工業數據進行分析時,當CPU數目相同時,響應速度的結果如表2所示:

對于不同的數據級別,兩種大數據平臺的處理效果如表3所示:
由結果可知,在處理相同的數據量時,在響應速度的性能上,本文設計的工業數據分析平臺要優于傳統的數據分析平臺。
當處理不同的數據量時,隨著數據量的增加,傳統的大數據處理平臺的處理時間也呈現顯著增加,而本文設計的大數據處理平臺處理時間是線性的,明顯優于傳統大數據處理平臺。
五、總結與展望
本文首先介紹了Hadoop大數據技術,分析了其HDFS文件系統和MapReduce計算框架;
接下來對基于大數據技術的CIMS海量工業數據監測和分析平臺進行設計,從軟件結構、通信方式以及數據存儲方式等各個方面進行了分析。最后利用系統動力學的原理,對影響平臺性能的因素進行了研究。
與Duke能源公司模擬的大數據解決方案相比,本文設計的平臺已經能夠采集、分析并處理海量數據,真正意義上在工業領域引入了大數據技術;而且此平臺還能夠處理來自多個數據源的數據,比通用電氣的大數據分析平臺具備一定的優勢。

參 考 文 獻
[1] 韓燕波,趙卓峰.面向大規模感知數據的實時數據流處理方法及關鍵技術[J].計算機集成制造系統.2013,19(3):641-653.
[2] 鄧華鋒,劉云生,肖迎元. 分布式數據流處理系統的動態負載平衡技術[J]. 計算機科學. 2007(07)
[3] 胡茂勝.基于數據中心模式的分布式異構空間數據無縫集成技術研究[D].武漢:中國地質大學,2012.
[4] 楊林青,李湛,牟雁超等.面向大規模數據集的并行化Top-k Skyline查詢算法[J].計算機科學與探索.2014, 12(26).
[5] J.Jiang, J. Lu, G. Zhang, and G. Long. Scaling-up item-based collaborative filtering recommendation algorithm based on hadoop. SERVICES, pp. 490 -497, 2011.
[6] 王黎維,黃澤謙,羅敏,彭智勇. 集成對象代理數據庫的科學工作流服務框架中的數據跟蹤[J]. 計算機學報. 2008(05)
[7] 多雪松,張晶,高強. 基于Hadoop的海量數據管理系統[J]. 微計算機信息. 2010(13)
[8] 陳康,鄭緯民. 云計算:系統實例與研究現狀[J]. 軟件學報. 2009(05)