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