摘 要:該文探究一種面向生產(chǎn)制造的大數(shù)據(jù)分析平臺(tái)的設(shè)計(jì)要點(diǎn)及其功能實(shí)現(xiàn)方式。該平臺(tái)可以與分析數(shù)據(jù)庫、企業(yè)數(shù)據(jù)庫之間實(shí)現(xiàn)數(shù)據(jù)共享,通過收集、分析企業(yè)數(shù)據(jù),在產(chǎn)品質(zhì)量監(jiān)督和生產(chǎn)工藝改進(jìn)等方面發(fā)揮重要作用。在數(shù)據(jù)導(dǎo)入模塊應(yīng)用SQOOP技術(shù),提高數(shù)據(jù)導(dǎo)入導(dǎo)出速率;數(shù)據(jù)分析模塊應(yīng)用KNN分布式并行算法,通過批量化計(jì)算提高數(shù)據(jù)處理效率;基于Spark功能棧開發(fā)大數(shù)據(jù)集群功能模塊,基于Spring框架和MCV技術(shù)構(gòu)建平臺(tái)可視化模塊。通過數(shù)據(jù)快速分析和結(jié)果可視化呈現(xiàn),為用戶加強(qiáng)生成制造管理提供幫助。
關(guān)鍵詞:大數(shù)據(jù)分析;可視化;SQOOP技術(shù);大數(shù)據(jù)集群;生產(chǎn)工藝
中圖分類號(hào):TP311.13 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-2945(2024)31-0130-04
Abstract: This paper explores the design points and functional implementation methods of a big data analysis platform for manufacturing. The platform can realize data sharing with analytical databases and enterprise databases. By collecting and analyzing enterprise data, it plays an important role in product quality supervision and production process improvement. SQOOP technology is applied to the data import module to improve the data import and export rate; the data analysis module applies the KNN distributed parallel algorithm to improve data processing efqbTdgrkw8EYxkWvQSmVsXl4D8iFTnT5690H090AWhLY=ficiency through batch calculation; the big data cluster functional module is developed based on the Spark function stack, and the platform visualization module is built based on the Spring framework and MCV technology. Through rapid data analysis and visual presentation of results, users are helped to strengthen production manufacturing management.
Keywords: big data analysis; visualization; SQOOP technology; big data cluster; production process
在智能制造背景下,企業(yè)迫切需要加強(qiáng)生產(chǎn)制造管理,通過減少材料浪費(fèi)、提高產(chǎn)品質(zhì)量、優(yōu)化資源配置等方式,實(shí)現(xiàn)自身效益的最大化。大數(shù)據(jù)分析技術(shù)不僅支持對海量數(shù)據(jù)的批量化、高效化處理,而且還能通過數(shù)據(jù)的挖掘、整合等方式,發(fā)揮數(shù)據(jù)利用價(jià)值,輔助生產(chǎn)制造管理。在這一背景下,設(shè)計(jì)面向生產(chǎn)制造的大數(shù)據(jù)分析平臺(tái),以企業(yè)日常運(yùn)營中產(chǎn)生的海量數(shù)據(jù)作為分析對象,將分析結(jié)果在Web界面上實(shí)時(shí)、直觀呈現(xiàn),最終達(dá)到提高產(chǎn)品質(zhì)量、保證決策科學(xué)、優(yōu)化生產(chǎn)調(diào)度等目的。
1 面向生產(chǎn)制造的大數(shù)據(jù)分析平臺(tái)架構(gòu)
本文設(shè)計(jì)的大數(shù)據(jù)分析平臺(tái)主要包含HDFS分布式文件系統(tǒng)、Spark高級(jí)分布式計(jì)算框架、Hadoop分布式系統(tǒng)基礎(chǔ)架構(gòu)和SQOOP數(shù)據(jù)導(dǎo)入導(dǎo)出工具等,該平臺(tái)可以與分析數(shù)據(jù)庫、企業(yè)數(shù)據(jù)庫以及業(yè)務(wù)分析模塊、平臺(tái)管理模塊實(shí)現(xiàn)信息共享,整體架構(gòu)如圖1所示。
在大數(shù)據(jù)分析平臺(tái)中,HDFS可以為該平臺(tái)提供相對安全的數(shù)據(jù)保存環(huán)境,用于存儲(chǔ)企業(yè)待分析數(shù)據(jù)和數(shù)據(jù)分析結(jié)果;Spark可基于MLlib機(jī)器學(xué)習(xí)算法對數(shù)據(jù)庫中的海量數(shù)據(jù)進(jìn)行分布式計(jì)算,完成數(shù)據(jù)分析;Hadoop提供了多種功能模塊,如提高系統(tǒng)資源利用率的Yarn模塊、用于數(shù)據(jù)處理的MapReduce模塊等,滿足大數(shù)據(jù)分析、集群等需要;SQOOP實(shí)現(xiàn)了數(shù)據(jù)庫與HDFS之間的數(shù)據(jù)共享,提高了數(shù)據(jù)導(dǎo)入導(dǎo)出的速度。
2 大數(shù)據(jù)分析功能模塊設(shè)計(jì)與實(shí)現(xiàn)
2.1 數(shù)據(jù)獲取與存儲(chǔ)模塊
生產(chǎn)制造企業(yè)日常運(yùn)營中產(chǎn)生海量數(shù)據(jù),常規(guī)的導(dǎo)入導(dǎo)出方式具有效率低、安全性差等弊端,因此在設(shè)計(jì)中應(yīng)用了SQOOP技術(shù),其可以通過并行模式實(shí)現(xiàn)數(shù)據(jù)的批量化處理,從而極大地提高了數(shù)據(jù)導(dǎo)入效率。SQOOP的命令執(zhí)行流程如圖2所示。
由圖2可知,SQOOP工具啟動(dòng)運(yùn)行后進(jìn)入低功耗的待機(jī)狀態(tài),等待接收來自客戶端的指令。當(dāng)用戶從客戶端上編輯并發(fā)送shell命令后,該命令經(jīng)過任務(wù)解析器轉(zhuǎn)換成SQOOP可識(shí)別的MapReduce任務(wù),在SQL數(shù)據(jù)庫與Hadoop之間實(shí)現(xiàn)數(shù)據(jù)的相互傳遞,實(shí)現(xiàn)數(shù)據(jù)的導(dǎo)入導(dǎo)出?;赟QOOP的并行數(shù)據(jù)導(dǎo)入原理如下:用戶選擇需要導(dǎo)入的數(shù)據(jù)文件,如果數(shù)據(jù)量較大可以按時(shí)間劃分,分成多個(gè)Map任務(wù),保證每次導(dǎo)入的數(shù)據(jù)量相對一致,達(dá)到提高導(dǎo)入速率、降低系統(tǒng)能耗的效果。選擇Map任務(wù)、設(shè)定并行數(shù)量后,SQOOP工具自動(dòng)加載大數(shù)據(jù)平臺(tái)的配置信息,并將Map任務(wù)提交到大數(shù)據(jù)平臺(tái),開始進(jìn)行數(shù)據(jù)的導(dǎo)入,在全部Map任務(wù)導(dǎo)入后任務(wù)結(jié)束[1]。
2.2 大數(shù)據(jù)分析模塊
2.2.1 數(shù)據(jù)分析流程設(shè)計(jì)
該模塊是大數(shù)據(jù)分析平臺(tái)的關(guān)鍵組成,根據(jù)分析結(jié)果幫助企業(yè)管理者直觀掌握產(chǎn)品質(zhì)量以及提供產(chǎn)品供應(yīng)商或產(chǎn)品生產(chǎn)人員信息等。理論上來說,不同類型產(chǎn)品的數(shù)據(jù)也存在差異,需要根據(jù)產(chǎn)品的具體信息選擇相應(yīng)的數(shù)據(jù)分析算法。本文只探究基于大數(shù)據(jù)分析平臺(tái)的數(shù)據(jù)分析實(shí)現(xiàn)方法,不考慮具體算法。數(shù)據(jù)分析流程如圖3所示。
由圖3可知,選擇待分析的樣本數(shù)據(jù)進(jìn)行預(yù)處理,具體又分為2種操作,即數(shù)據(jù)清理和數(shù)據(jù)轉(zhuǎn)換。數(shù)據(jù)清理的目的是識(shí)別出樣本數(shù)據(jù)中的錯(cuò)誤數(shù)據(jù)、異常數(shù)據(jù)并將其刪除,是提升數(shù)據(jù)質(zhì)量的一種常用方法。完成數(shù)據(jù)清理后,噪聲減少、格式標(biāo)準(zhǔn),為下一步的特征提取創(chuàng)造了便利。數(shù)據(jù)轉(zhuǎn)換的目的是提高不同系統(tǒng)的兼容性,保證樣本數(shù)據(jù)從原始系統(tǒng)轉(zhuǎn)換到大數(shù)據(jù)分析平臺(tái)后可以被正常地解釋和使用。利用特征提取模塊從預(yù)處理后的數(shù)據(jù)中提取特征,判斷是否存在特征冗余。如果特征較少,可以直接進(jìn)行建模環(huán)節(jié)。如果特征較多、存在冗余,還需要增加一個(gè)特征降維步驟,達(dá)到縮小特征矩陣、減少模型訓(xùn)練時(shí)長的目的。常用的特征降維方法有PCA主成分分析法、LDA線性判別分析法等,本文在設(shè)計(jì)中選擇了PCA降維。根據(jù)提取到的特征值建立模型,建模方法有基于專家生產(chǎn)經(jīng)驗(yàn)的經(jīng)驗(yàn)?zāi)P?,基于特征?jì)算的數(shù)值模型等。對模型展開測試,根據(jù)測試表現(xiàn)作出評(píng)估評(píng)價(jià)。一方面可以驗(yàn)證模型的正確性,另一方面也能發(fā)現(xiàn)模型存在問題并進(jìn)行優(yōu)化。
2.2.2 數(shù)據(jù)分析功能的實(shí)現(xiàn)
本文設(shè)計(jì)的大數(shù)據(jù)分析模塊可滿足以下功能需求:①準(zhǔn)確判斷產(chǎn)品質(zhì)量狀態(tài);②提供生產(chǎn)設(shè)備、生產(chǎn)人員以及產(chǎn)品供應(yīng)商等相關(guān)信息;③篩選最優(yōu)原料供應(yīng)商,確定最優(yōu)原料供應(yīng)商搭配;④評(píng)估生產(chǎn)人員的業(yè)務(wù)能力和生產(chǎn)設(shè)備的應(yīng)用性能;⑤發(fā)現(xiàn)生產(chǎn)設(shè)備潛在故障。這里以產(chǎn)品質(zhì)量評(píng)價(jià)為例,介紹該功能的實(shí)現(xiàn)情況。產(chǎn)品評(píng)價(jià)功能模塊基于Spark平臺(tái)實(shí)現(xiàn),主要包含算法庫、RDD(Resilient Distributed Dataset)運(yùn)算、模型庫三部分[2]。算法庫中提供了可用于產(chǎn)品評(píng)價(jià)的數(shù)據(jù)清洗、特征提取等算法,如TruthFinder真值發(fā)現(xiàn)算法、多趟近鄰排序算法等。考慮到企業(yè)生產(chǎn)制造的產(chǎn)品類型較多、數(shù)據(jù)處理量較大,本文選用了K近鄰分類(KNN)算法,該算法屬于分布式并行算法,可對輸入的多個(gè)樣本數(shù)據(jù)進(jìn)行并行處理,從而提高了數(shù)據(jù)分析效率?;贙NN算法的產(chǎn)品質(zhì)量評(píng)價(jià)程序如圖4所示。
2.3 大數(shù)據(jù)集群功能模塊
生產(chǎn)制造企業(yè)的數(shù)據(jù)雖然在源源不斷地產(chǎn)生,但是數(shù)據(jù)分析卻是一個(gè)階段性需求,即每隔一定階段開展一次數(shù)據(jù)分析。為了節(jié)約系統(tǒng)能耗、減少資源浪費(fèi),當(dāng)不需要數(shù)據(jù)分析時(shí)大數(shù)據(jù)分析平臺(tái)要進(jìn)入低功耗待機(jī)狀態(tài),等到有新的數(shù)據(jù)分析需求時(shí)再重新喚醒[3]。為了實(shí)現(xiàn)上述功能,設(shè)計(jì)了大數(shù)據(jù)集群功能模塊。在功能設(shè)計(jì)中,選擇了Spark中的Spark SQL工具,該工具提供了一種抽象數(shù)據(jù)模型DataFrame,支持用戶使用SQL語句完成常規(guī)的數(shù)據(jù)分析,并提供了多樣化的分析方法,如csv、json及jdbc等。這里以jbdc為例,大數(shù)據(jù)集群功能實(shí)現(xiàn)代碼如圖5所示。
為了提高對Spark、Hadoop等集群任務(wù)的處理效率,設(shè)計(jì)了大數(shù)據(jù)集群服務(wù)控制器。該控制器可接收Web處理器發(fā)送的參數(shù),完成不同類型的任務(wù)。例如當(dāng)發(fā)送參數(shù)為“train”時(shí),大數(shù)據(jù)分析平臺(tái)提供模型訓(xùn)練服務(wù),將完成清洗與特征提取后的數(shù)據(jù)輸入到模型中,實(shí)現(xiàn)模型訓(xùn)練;當(dāng)發(fā)送參數(shù)為“predict”時(shí),大數(shù)據(jù)分析平臺(tái)提供預(yù)測服務(wù),根據(jù)用戶設(shè)定的條件從數(shù)據(jù)庫中調(diào)用符合用戶要求的產(chǎn)品模型,利用該模型完成數(shù)據(jù)的預(yù)處理和特征提取,最后使用該模型進(jìn)行數(shù)據(jù)評(píng)價(jià)。除此之外,還有import、deletedata、prepare等面向不同服務(wù)的參數(shù)。
2.4 平臺(tái)可視化模塊
2.4.1 可視化模塊處理流程設(shè)計(jì)
為了讓數(shù)據(jù)分析結(jié)果可視化呈現(xiàn),在設(shè)計(jì)大數(shù)據(jù)分析平臺(tái)時(shí)加入了可視化模塊,該模塊采用Spring框架,在軟件開發(fā)時(shí)只需要保證業(yè)務(wù)邏輯能順利實(shí)現(xiàn)即可,不受底層程序的限制,從而縮短了開發(fā)周期。在設(shè)計(jì)模式上,采用與Web應(yīng)用程序有較高兼容度的MVC(Model View Controller)設(shè)計(jì)模式??梢暬K的處理流程如下:用戶通過客戶端瀏覽器編輯并發(fā)送HTTP請求,前端控制器接收到來自客戶端瀏覽器的請求后,可以識(shí)別瀏覽器界面的參數(shù)信息,并根據(jù)該信息選擇相應(yīng)的業(yè)務(wù)模型,間接地實(shí)現(xiàn)了Web處理器與大數(shù)據(jù)集群的交互。使用業(yè)務(wù)模型完成數(shù)據(jù)處理后,再將處理結(jié)果反饋給控制器,并利用視圖模板對處理結(jié)果進(jìn)行渲染,渲染完畢后即可在Web瀏覽器的界面上進(jìn)行呈現(xiàn)[4]。上述處理流程如圖6所示。
2.4.2 生成數(shù)據(jù)分析報(bào)告
數(shù)據(jù)分析結(jié)果可以在Web網(wǎng)頁上可視化呈現(xiàn),但是無法保存。用戶想要獲取同樣的數(shù)據(jù)結(jié)果必須要再次調(diào)用數(shù)據(jù)庫,操作起來比較麻煩。另外,如果大數(shù)據(jù)平臺(tái)處于離線運(yùn)行模式無法正常加載數(shù)據(jù)會(huì)導(dǎo)致數(shù)據(jù)分析結(jié)果不能呈現(xiàn)。為了避免上述問題,本文提出了一種生成數(shù)據(jù)分析報(bào)告用于保存數(shù)據(jù)分析結(jié)果的方案,具體實(shí)現(xiàn)方式如下。
用戶通過客戶端瀏覽器發(fā)起一個(gè)查詢相關(guān)數(shù)據(jù)的請求,隨后該請求傳遞給前端控制器。前端控制器根據(jù)請求類型和請求內(nèi)容,把任務(wù)分發(fā)給對應(yīng)的數(shù)據(jù)展示處理器,與數(shù)據(jù)庫對接從中選擇相應(yīng)的數(shù)據(jù)結(jié)果,調(diào)用該結(jié)果并通過Ajax將其傳輸?shù)娇蛻舳藶g覽器上進(jìn)行可視化呈現(xiàn)[5]。
用戶從客戶端瀏覽器上選擇“生產(chǎn)分析報(bào)告”選型,調(diào)用Pyhnon攪拌獲取瀏覽器當(dāng)前界面數(shù)據(jù)并寫入.pdf格式的分析報(bào)告中。
將生成的PDF報(bào)告以文件形式保存到客戶端瀏覽器中,方便用戶隨時(shí)查看。
3 結(jié)束語
面向生產(chǎn)制造的大數(shù)據(jù)分析平臺(tái),在實(shí)時(shí)獲取企業(yè)生產(chǎn)數(shù)據(jù)的基礎(chǔ)上運(yùn)用KNN算法實(shí)現(xiàn)數(shù)據(jù)的分類分析,通過Spring MVC架構(gòu)將分析結(jié)果反饋給Web瀏覽器進(jìn)行可視化呈現(xiàn)。同時(shí),引入了Spark服務(wù)降低了平臺(tái)運(yùn)行能耗,優(yōu)化了用戶操作體驗(yàn)。將該平臺(tái)應(yīng)用到企業(yè)的生產(chǎn)制造管理中,滿足了節(jié)約生產(chǎn)成本、提高產(chǎn)品質(zhì)量的需求。
參考文獻(xiàn):
[1] 周波,李曉科,彭世宇.基于煙草生產(chǎn)大數(shù)據(jù)平臺(tái)的數(shù)據(jù)計(jì)算分析服務(wù)研究[J].網(wǎng)絡(luò)安全和信息化,2022(9):67-73.
[2] 劉平峰,陳坤.基于多維工業(yè)大數(shù)據(jù)的制造業(yè)服務(wù)化價(jià)值創(chuàng)造體系構(gòu)建[J].北京郵電大學(xué)學(xué)報(bào),2022,24(3):78-89.
[3] 鄧盛彪,張宏濤,孫勇.基于大數(shù)據(jù)的鍛造生產(chǎn)過程模型的搭建與分析[J].鍛壓技術(shù),2019(5):37-39.
[4] 關(guān)靜.基于大數(shù)據(jù)技術(shù)的機(jī)械機(jī)床制造數(shù)字化平臺(tái)設(shè)計(jì)[J].現(xiàn)代信息科技,2023(24):21-24.
[5] 李小賓.智能制造技術(shù)與系統(tǒng)可行性分析構(gòu)架[J].設(shè)備管理與維修,2022(16):40-42.