紀(jì)曉婷, 朱明超, 賴鈺聰, 白廣智, 張浩銘
(北京理工大學(xué)珠海學(xué)院, 廣東 珠海 519088)
當(dāng)代工業(yè)物聯(lián)網(wǎng)大數(shù)據(jù)處理技術(shù)的價值在于技術(shù)進(jìn)步,促使工業(yè)大數(shù)據(jù)成為商業(yè)中有價值的驅(qū)動因素。作為智能制造的三駕馬車之一,工業(yè)大數(shù)據(jù)分析已被大多數(shù)制造公司認(rèn)可和接受。隨著企業(yè)用戶所需存儲的臨時文件數(shù)量的不斷增加,目前已有的文件存儲設(shè)備空間已經(jīng)不能滿足業(yè)務(wù)需求。大數(shù)據(jù)所帶來的數(shù)據(jù)量驚人、數(shù)據(jù)形式多樣,工業(yè)實(shí)時檢測、采集數(shù)據(jù)時存在存儲容量不足、高并發(fā)性能查詢不足、擴(kuò)展性差等缺陷,而傳統(tǒng)的數(shù)據(jù)分析處理難以完成。當(dāng)前國內(nèi)的Hadoop 大數(shù)據(jù)處理平臺可能比較雜亂,大數(shù)據(jù)的應(yīng)用開發(fā)過于偏向底層,面臨的問題就是學(xué)習(xí)難度大,所涉及的技術(shù)面也是非常廣泛,這在很大程度上制約了大數(shù)據(jù)的普及,也是工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)處理平臺面臨的突出問題。
為踐行《中國制造2025》,貢獻(xiàn)一個世界級的工業(yè)物聯(lián)網(wǎng)大數(shù)據(jù)平臺,通過設(shè)計Hadoop 處理大數(shù)據(jù)平臺,運(yùn)用Hadoop 對大數(shù)據(jù)進(jìn)行處理,并運(yùn)用于智慧工廠中,能夠更為有效地集成國家在工業(yè)領(lǐng)域的信息資源,為國家工業(yè)治理提供重要數(shù)據(jù)基礎(chǔ)和決策支撐。以工業(yè)互聯(lián)網(wǎng)為基礎(chǔ)的工業(yè)大數(shù)據(jù)分析技術(shù)及應(yīng)用,將成為推動智能制造,提升制造業(yè)生產(chǎn)效率與競爭力的關(guān)鍵要素,是實(shí)施流程管理智能化、生產(chǎn)過程智能化、制造模式智能化的重要基礎(chǔ)。
Hadoop 是一套開源軟件平臺,利用服務(wù)器集群,根據(jù)用戶的自定義業(yè)務(wù)邏輯,對海量的工業(yè)數(shù)據(jù)進(jìn)行分布式處理。Hadoop 的核心組件有:HDFS(分布式文件系統(tǒng))、YARN(運(yùn)算資源調(diào)度系統(tǒng))、MapReduce(分布式運(yùn)算編程框架)等,如圖1 所示。對數(shù)據(jù)平臺建設(shè)進(jìn)行分析,包括:數(shù)據(jù)平臺收集、儲存和計算分析單元以及數(shù)據(jù)平臺資源統(tǒng)計分析系統(tǒng)。
1)HDFS(分布式文件系統(tǒng))是一個高度容錯性的系統(tǒng),它被設(shè)計成適合運(yùn)行在通用硬件(commodity hardware)上的分布式文件系統(tǒng)(Distributed File System),它適合部署在廉價的機(jī)器上,能提供高吞吐量的數(shù)據(jù)訪問,適合應(yīng)用于大規(guī)模數(shù)據(jù)集上。
2)YARN(運(yùn)算資源調(diào)度系統(tǒng))主要由Resource Manager、Node Manager、Application Master 和Container等組件構(gòu)成。
3)MapReduce(分布式運(yùn)算編程框架):MapReduce 是計算模型,被用于大數(shù)據(jù)量的計算。其中Map對數(shù)據(jù)集上的獨(dú)立元素進(jìn)行指定的操作,生成“鍵值對”形式的中間結(jié)果。Reduce 則對中間結(jié)果中相同“鍵”的所有“值”進(jìn)行規(guī)約,以得到最終結(jié)果。MapReduce 按功能劃分,非常適合在大量計算機(jī)組成的分布式并行環(huán)境里進(jìn)行數(shù)據(jù)處理。
數(shù)據(jù)儲存分析計算層總體采用Hadoop 集群搭建,數(shù)據(jù)平臺以Hadoop 集群為載體,數(shù)據(jù)平臺的存儲主要依托于Hadoop 的分布式文件系統(tǒng)HDFS 以及以HDFS 為基礎(chǔ)的可實(shí)時讀取的分布式列式存儲數(shù)據(jù)庫HBase。HDFS 可以用于保存基本上是順序訪問的海量數(shù)據(jù),而HBase 的主要優(yōu)勢是快速隨機(jī)訪問數(shù)據(jù)。Hadoop 處理的數(shù)據(jù)運(yùn)行在一組分布的計算機(jī)上,分布式計算和分布式存儲都采用主從架構(gòu)。在開發(fā)過程中,應(yīng)該從非分布式的(即本地)模式到單點(diǎn)偽分布式模式,最后到全分布式模式。
近年來,科學(xué)技術(shù)不斷更新與發(fā)展,人們開始從數(shù)據(jù)應(yīng)用的角度重新認(rèn)識在物聯(lián)網(wǎng)的設(shè)備幫助下所采集的數(shù)據(jù),通過對數(shù)據(jù)的分析,技術(shù)人員發(fā)現(xiàn)需要采集的數(shù)據(jù)在于對需求度的精準(zhǔn)而不是采集數(shù)據(jù)的“多而雜”。根據(jù)收集到的數(shù)據(jù)以及查閱文獻(xiàn)可得知,在搭建工業(yè)物聯(lián)網(wǎng)環(huán)境時,首先應(yīng)考慮數(shù)據(jù)在工業(yè)上的應(yīng)用價值,然后根據(jù)相對應(yīng)的技術(shù)進(jìn)行采集、分析數(shù)據(jù)內(nèi)容,最后構(gòu)造出符合實(shí)際情況應(yīng)用的工業(yè)物聯(lián)網(wǎng)環(huán)境和技術(shù)。
當(dāng)前,將處理大數(shù)據(jù)的技術(shù)應(yīng)用于工業(yè)物聯(lián)網(wǎng)領(lǐng)域上,仍面臨著很大的挑戰(zhàn),需要解決容量不足,拓展情況差等問題。如果按照以往的數(shù)據(jù)庫處理方式,在數(shù)據(jù)處理和兼容性處理方面難以滿足工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)的存儲需要,通過工業(yè)物聯(lián)網(wǎng)則對數(shù)據(jù)的兼容性和擴(kuò)展性提供了保障。通過使用大數(shù)據(jù)技術(shù)采集和收集信息來進(jìn)行處理,形成了一種新型的檔案管理,也完善了數(shù)據(jù)的集成處理方式。
針對工業(yè)大機(jī)器生產(chǎn)運(yùn)作過程中的因網(wǎng)絡(luò)問題、設(shè)備故障等出現(xiàn)的異常數(shù)據(jù),由于數(shù)據(jù)質(zhì)量低下導(dǎo)致變量間的函數(shù)關(guān)系發(fā)生改變,進(jìn)而影響工業(yè)物聯(lián)網(wǎng)大數(shù)據(jù)的分析。為了提高數(shù)據(jù)質(zhì)量,對數(shù)據(jù)進(jìn)行有效的處理并檢測出異常情況尤為重要。在“互聯(lián)網(wǎng)+”時代,各行各業(yè)在發(fā)展的過程中都涉及大量數(shù)據(jù),如何存儲數(shù)據(jù)、挖掘數(shù)據(jù)、提煉海量數(shù)據(jù)中有用的信息,應(yīng)用云計算技術(shù)就能很好地解決這個問題。
工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)所需要的技術(shù)將依附于云平臺[1],該技術(shù)包括對工業(yè)現(xiàn)場的大型設(shè)備、機(jī)器進(jìn)行數(shù)據(jù)采集、云端上層數(shù)據(jù)分布式存儲和智能分析處理等。
1)分布式存儲:負(fù)責(zé)將數(shù)據(jù)服務(wù)層的數(shù)據(jù)進(jìn)行持久化服務(wù),當(dāng)大量數(shù)據(jù)遇到存儲問題時,分布式存儲系統(tǒng)會快速處理解決。與此同時,為實(shí)現(xiàn)對數(shù)據(jù)管理的方便,該服務(wù)提供傳統(tǒng)關(guān)系型、列式數(shù)據(jù)庫以及數(shù)據(jù)倉庫等存儲服務(wù)。
2)分布式計算:為本平臺的分布式計算提供核心服務(wù)支持,以穩(wěn)定可靠的分布式多機(jī)并行方式,保障系統(tǒng)整體計算任務(wù)的高效性。是本平臺提供對大數(shù)據(jù)運(yùn)算的核心,是提升系統(tǒng)計算速度的關(guān)鍵所在。
3)智能預(yù)測分析:為工業(yè)企業(yè)提供智能預(yù)測分析服務(wù)。以相關(guān)統(tǒng)計學(xué)算法、機(jī)器學(xué)習(xí)或者神經(jīng)網(wǎng)絡(luò)預(yù)測算法為核心,實(shí)現(xiàn)工業(yè)企業(yè)的智能分析決策。
工業(yè)生產(chǎn)處理過程中產(chǎn)生的數(shù)據(jù)量龐大,傳統(tǒng)的數(shù)據(jù)處理的方式,不論在存儲還是處理上,都跟不上時代的發(fā)展,數(shù)據(jù)存儲空間不足、數(shù)據(jù)處理性能效率低下。因此,分布式存儲計算系統(tǒng)的應(yīng)用優(yōu)勢逐漸被重視。目前對于工業(yè)數(shù)據(jù)的處理使用較多的技術(shù)以Hadoop 和Spark[2]為主。Hadooop 為數(shù)據(jù)處理提供了獨(dú)特的數(shù)據(jù)存儲以及數(shù)據(jù)運(yùn)算的功能,在大量的單節(jié)點(diǎn)數(shù)據(jù)存儲方式上有效解決數(shù)據(jù)運(yùn)算及處理的問題。
針對工業(yè)生產(chǎn)中“多而雜”的數(shù)據(jù),對數(shù)據(jù)進(jìn)行篩選、歸納,并采用Hadoop 技術(shù),平臺數(shù)據(jù)以Hadoop 的分布式存儲(HDFS)以及分布式計算(MapReduce)??焖匐S機(jī)訪問數(shù)據(jù)后,HDFS 將保存時序性的海量數(shù)據(jù)。數(shù)據(jù)平臺的計算技術(shù)依賴于MapReduce 計算框架,不僅可以處理大規(guī)模的數(shù)據(jù),而且可以隱藏一些較為繁瑣的細(xì)節(jié),具有良好的伸縮性,在數(shù)據(jù)處理方面具有顯著的優(yōu)勢。針對工業(yè)物聯(lián)網(wǎng)異常的數(shù)據(jù),基于Hadoop 技術(shù)對工業(yè)物聯(lián)網(wǎng)數(shù)據(jù)進(jìn)行處理,對處理的數(shù)據(jù)保存多個副本,并且提供容錯機(jī)制。
通過采用Hadoop 技術(shù)對數(shù)據(jù)進(jìn)行分布式存儲,本身對多種數(shù)據(jù)存儲組件進(jìn)行了一定的整合,保證了云端數(shù)據(jù)分布式存儲子系統(tǒng)對于各種數(shù)據(jù)的多種類型存儲方式的支持[3-5]。此外,以計算機(jī)集群統(tǒng)一提供存儲磁盤的方式,很好地解決了大量的數(shù)據(jù)在單個計算機(jī)上存儲的容量問題,這種設(shè)計大大提升了云端數(shù)據(jù)分布式存儲系統(tǒng)數(shù)據(jù)存儲功能的可靠性和安全性。
以Hadoop 處理數(shù)據(jù)技術(shù)為基礎(chǔ),構(gòu)建企業(yè)云存儲平臺,通過集群技術(shù)與HDFS 框架等技術(shù),最終完成大量數(shù)據(jù)的分布式存儲。采用基于Hadoop 框架下的YARN 和MapReduce 計算分析所收集到的大數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)的存儲系統(tǒng)以及工業(yè)大數(shù)據(jù)的統(tǒng)一訪問與管理。根據(jù)工業(yè)物聯(lián)網(wǎng)大數(shù)據(jù)的處理技術(shù)的需求,對技術(shù)的功能進(jìn)行分析,并與Hadoop 的技術(shù)相對應(yīng),實(shí)現(xiàn)基于Hadoop 的處理方式,將數(shù)據(jù)云平臺設(shè)計為數(shù)據(jù)采集層、數(shù)據(jù)儲存分析計算層和數(shù)據(jù)平臺監(jiān)控統(tǒng)計分析層,將此技術(shù)運(yùn)用于工業(yè),對工業(yè)數(shù)據(jù)進(jìn)行統(tǒng)一收集,通過使用Hadoop 平臺實(shí)現(xiàn)數(shù)據(jù)與其他端口的實(shí)時互通,實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)闹悄芑捅憬莼?。同時Hadoop 作為大數(shù)據(jù)平臺的重要部分,能夠?qū)崿F(xiàn)對不同實(shí)時數(shù)據(jù)的儲存與解析,幫助操作人員完成對數(shù)據(jù)的實(shí)時監(jiān)視與處理,對異常的數(shù)據(jù)能夠自主檢測,對大量的數(shù)據(jù)實(shí)現(xiàn)智能化融合展示,運(yùn)用于智慧工廠中,構(gòu)建智能工廠大數(shù)據(jù)分析和處理平臺,通過MindSphere 向下連接現(xiàn)場設(shè)備,實(shí)現(xiàn)人機(jī)交互,使生產(chǎn)過程更高效、更智能[6-9]。
基于Hadoop 的大數(shù)據(jù)平臺搭建和數(shù)據(jù)處理過程,大量雜亂的數(shù)據(jù)被導(dǎo)入到HDFS 后,經(jīng)MapReduce 進(jìn)行處理操作,經(jīng)過過濾、轉(zhuǎn)換、聚合,將其數(shù)據(jù)結(jié)果導(dǎo)入到外部系統(tǒng)中。
具體實(shí)現(xiàn)過程如下:
1)MindSphere 數(shù)據(jù)采集:MindShpere 的數(shù)據(jù)采集向上與MindSphere 的云端進(jìn)行連接,向下與西門子的眾多具有以太網(wǎng)通訊的硬件產(chǎn)品以及支持通用協(xié)議的其他品牌產(chǎn)品進(jìn)行通訊,完成數(shù)據(jù)的采集與傳輸。假如設(shè)備的通訊協(xié)議比較特殊,用戶可以基于nano 中的開源軟件自行開發(fā)設(shè)備通訊與數(shù)據(jù)采集程序。成功采集的數(shù)據(jù)是雜亂、低價值的,需要通過Hadoop 框架下的云計算進(jìn)行提取整理成可視化、高價值的數(shù)據(jù)。
2)Hadoop 處理大數(shù)據(jù):數(shù)據(jù)被導(dǎo)入HDFS 中,存儲在HDFS 中的文件被分成塊,然后將這些塊復(fù)制到多個計算機(jī)中客戶端,向名稱節(jié)點(diǎn)發(fā)送寫數(shù)據(jù)請求,儲存在HDFS 的數(shù)據(jù)經(jīng)歷輸入(Input)、輸入分片(Split),在進(jìn)行Map 階段之前,MapReduce 框架會根據(jù)輸入文件計算輸入分片,每個輸入分片會對應(yīng)一個Map 任務(wù)。
MapReduce 的本質(zhì)就是把一組鍵值對<K1,V1>經(jīng)過Map 階段映射成新的鍵值對<K2,V2>,經(jīng)過Shuffle/Sort 階段進(jìn)行排序和“洗牌”,把鍵值對排序,同時把相同的鍵的值整合。經(jīng)過Reduce 階段,把整合后的鍵值對組進(jìn)行邏輯處理,輸出到新的鍵值對<K3,V3>,如圖3 所示。
Hadoop 是一個開源的云技術(shù)平臺,允許使用簡單的編程模型在跨計算機(jī)集群的分布式環(huán)境中存儲和處理大數(shù)據(jù)。因此,基于Hadoop 平臺對工業(yè)生產(chǎn)過程的數(shù)據(jù)進(jìn)行篩選、歸納有著得天獨(dú)厚的優(yōu)勢。
基于Hadoop 對工業(yè)物聯(lián)網(wǎng)的運(yùn)用,Mindsphere智慧工廠應(yīng)運(yùn)而生,智慧工廠的根基就是大數(shù)據(jù)綜合平臺,Hadoop 對工廠設(shè)備大量的數(shù)據(jù)進(jìn)行處理和分析并及時反饋,可以使設(shè)備運(yùn)行更加智能化和高效化。