摘" 要:該文主要探究面向工業(yè)大數(shù)據(jù)的數(shù)據(jù)采集和處理系統(tǒng)的設(shè)計要點,并對其功能實現(xiàn)情況和運行性能進行測試分析。該系統(tǒng)可從Modbus RTU和OPC服務(wù)數(shù)據(jù)庫中采集數(shù)據(jù),并暫存于MaxComputer和Golden RTDB中,系統(tǒng)調(diào)用數(shù)據(jù)完成基本信息計算、班組信息計算、峰谷平計算,處理結(jié)果以表格形式呈現(xiàn)。從測試情況來看,該系統(tǒng)的數(shù)據(jù)采集、處理等基本功能可以正常實現(xiàn),系統(tǒng)對工業(yè)大數(shù)據(jù)的單批次處理用時在50 ms以內(nèi),處理速度較快。
關(guān)鍵詞:工業(yè)大數(shù)據(jù);數(shù)據(jù)采集;舊數(shù)據(jù)遷移;Golden RTDB;存儲模式
中圖分類號:TP274.2" " " 文獻(xiàn)標(biāo)志碼:A" " " " " 文章編號:2095-2945(2024)33-0022-04
Abstract: This paper mainly explores the design points of a data acquisition and processing system for industrial big data, and tests and analyzes its functional realization and operating performance. The system can collect data from Modbus RTU and OPC service databases, and temporarily store it in MaxComputer and Golden RTDB. The system calls the data to complete basic information calculation, team information calculation, and peak-valley calculation, and the processing results are presented in table form. Judging from the test situation, the system's basic functions such as data acquisition and processing can be realized normally. The system takes less than 50 ms to process a single batch of industrial big data, and the processing speed is fast.
Keywords: industrial big data; data collection; old data migration; Golden RTDB; storage model
面向工業(yè)大數(shù)據(jù)的數(shù)據(jù)采集和處理系統(tǒng)可以采集溫度、壓力、電量等多種數(shù)據(jù),在數(shù)據(jù)計算分析的基礎(chǔ)上實現(xiàn)對工業(yè)設(shè)備運行工況和企業(yè)生產(chǎn)狀況的動態(tài)監(jiān)測??紤]到工業(yè)大數(shù)據(jù)來源廣、類型多、頻率高,在采集數(shù)據(jù)后需要將其存儲到專用的工業(yè)實時數(shù)據(jù)庫中,確保在數(shù)據(jù)處理時能夠從數(shù)據(jù)庫中快速、準(zhǔn)確地找到目標(biāo)數(shù)據(jù)。同時,該系統(tǒng)還應(yīng)滿足低延遲、高效率等要求,提高數(shù)據(jù)處理速度以滿足企業(yè)需要,從而體現(xiàn)數(shù)據(jù)采集和監(jiān)控應(yīng)用系統(tǒng)的實用價值。
1" 工業(yè)大數(shù)據(jù)中數(shù)據(jù)采集和處理系統(tǒng)的設(shè)計
1.1" 數(shù)據(jù)采集和處理系統(tǒng)的整體架構(gòu)
該系統(tǒng)采用B/S架構(gòu),包含了數(shù)據(jù)采集層、數(shù)據(jù)處理層、任務(wù)調(diào)度層和數(shù)據(jù)存儲層4部分,系統(tǒng)整體架構(gòu)如圖1所示。
任務(wù)調(diào)度層基于Azkaban批處理調(diào)度器完成數(shù)據(jù)計算,調(diào)度任務(wù)包括全量計算、生成測試數(shù)據(jù)等。由于Azkaban支持定時執(zhí)行功能,因此用戶可以自定義不同任務(wù)的執(zhí)行順序,達(dá)到系統(tǒng)資源的目的。數(shù)據(jù)采集層負(fù)責(zé)獲取企業(yè)工業(yè)生產(chǎn)中的各項傳感器數(shù)據(jù),數(shù)據(jù)源主要為Modbus RTU和OPC服務(wù)數(shù)據(jù)庫,前者用于存儲工業(yè)生產(chǎn)高頻數(shù)據(jù)(如停機次數(shù)),后者用于DCS控制系統(tǒng)數(shù)據(jù)(如電表的電量)。數(shù)據(jù)處理層是該系統(tǒng)的核心部分,用于處理采集到的海量數(shù)據(jù),包括計算班組信息、計算峰谷平電耗等。數(shù)據(jù)存儲層支持MaxComputer、Golden RTDB(Golden Real-Time Database,庚頓實時數(shù)據(jù)庫)以及國產(chǎn)關(guān)系數(shù)據(jù)庫3種存儲模式,可以將采集到的多源異構(gòu)數(shù)據(jù)進行分類存儲[1]。
1.2" 系統(tǒng)功能模塊的設(shè)計
1.2.1" 數(shù)據(jù)采集模塊設(shè)計
該模塊可以從不同數(shù)據(jù)源中獲取工業(yè)設(shè)備的實時數(shù)據(jù),如果選擇DAMENG數(shù)據(jù)庫作為數(shù)據(jù)源,可以獲取企業(yè)班組排班信息、殘次品率信息等;如果選擇OPC服務(wù)數(shù)據(jù)庫作為數(shù)據(jù)源,可以獲取電表電量、蒸汽壓力等企業(yè)設(shè)備運行參數(shù)。這里以國產(chǎn)Golden RTDB為例,數(shù)據(jù)獲取的實現(xiàn)方法如下:首先是設(shè)定數(shù)據(jù)采集頻率,系統(tǒng)默認(rèn)為1s/次,運行數(shù)據(jù)采集程序后讀取一個記錄著時間戳的設(shè)備數(shù)據(jù)并以該時間為標(biāo)志,每隔1 s從OPC Server數(shù)據(jù)庫中讀取一次數(shù)據(jù)記錄。將查詢到的數(shù)據(jù)暫時保存到內(nèi)存中,并將數(shù)據(jù)格式修改為V-T-Q格式,最后經(jīng)服務(wù)器端程序?qū)?shù)據(jù)壓縮傳輸?shù)胶蠖?,保存在Golden RTDB數(shù)據(jù)庫的對應(yīng)數(shù)據(jù)表和數(shù)據(jù)歸檔文件中。數(shù)據(jù)采集模塊設(shè)計架構(gòu)圖及數(shù)據(jù)處理架構(gòu)如圖2所示。
1.2.2" 數(shù)據(jù)處理模塊設(shè)計
該系統(tǒng)的數(shù)據(jù)處理模塊可完成企業(yè)基本信息計算(如設(shè)備狀態(tài)計算、班組信息計算)與能耗計算(電能計算、蒸汽計算),這里以電能計算為例,實現(xiàn)方法如下:首先將計算所需的企業(yè)基本信息同步到MaxComputer同名表中,然后從數(shù)據(jù)庫中調(diào)用小時單位能耗、班組單位能耗、峰谷平電耗等電能相關(guān)數(shù)據(jù)。其次,啟動Azkaban并在設(shè)定時間內(nèi)完成電能計算,將計算結(jié)果暫存到MaxComputer中,并同步到云端DAMENG結(jié)果表內(nèi),以便于工作人員可以隨時查看。在數(shù)據(jù)處理過程中,需要保證MaxComputer和云端DAMENG之間保持同步,本文在設(shè)計中以云端ECS作為兩者的中間媒介,通過以下方法實現(xiàn)同步:設(shè)置需要同步傳輸?shù)谋砻?,并驗證參數(shù)是否正確。如果參數(shù)錯誤直接結(jié)束同步程序;如果參數(shù)正確,則在云端ECS上新建一個臨時文件,并從云端DAMENG導(dǎo)出需要同步的數(shù)據(jù)。驗證導(dǎo)出是否成功,如果未能成功導(dǎo)出則結(jié)束同步程序,如果成功導(dǎo)出則清空MaxComputer的目標(biāo)表,并將導(dǎo)出的數(shù)據(jù)填入目標(biāo)表中[2]。最后使用Tunnel工具將目標(biāo)表的數(shù)據(jù)上傳至MaxComputer,即可完成數(shù)據(jù)同步,實現(xiàn)流程如圖3所示。
1.2.3" 舊數(shù)據(jù)遷移模塊設(shè)計
企業(yè)的歷史數(shù)據(jù)也蘊含商業(yè)價值,在新建數(shù)據(jù)采集和處理系統(tǒng)后需要將歷史數(shù)據(jù)遷移到該系統(tǒng)中,該功能可通過舊數(shù)據(jù)遷移模塊實現(xiàn)。遷移目標(biāo)有2個,即MaxComputer和Golden RTDB,前者適用于經(jīng)過計算后的數(shù)據(jù),后者適用于未經(jīng)處理的原始數(shù)據(jù),其整體的數(shù)據(jù)內(nèi)部流向架構(gòu)如圖4所示。同時,考慮到工業(yè)大數(shù)據(jù)具有數(shù)據(jù)總量大、類型多樣等特點,為了提高遷移效率采取分批遷移模式,每批次的時間為24 h。舊數(shù)據(jù)遷移的實現(xiàn)方法為:系統(tǒng)初始化后,在Linux系統(tǒng)的tmp目錄下新建臨時目錄,然后從DAMENG中選擇需要遷移的舊數(shù)據(jù)并下載到本地。使用awk文本處理命令對導(dǎo)出數(shù)據(jù)進行格式轉(zhuǎn)換,使其符合MaxComputer導(dǎo)入標(biāo)準(zhǔn),即可將機構(gòu)舊數(shù)據(jù)成功導(dǎo)入MaxComputer。按照同樣的方法,將導(dǎo)出數(shù)據(jù)轉(zhuǎn)換格式并使其符合Golden RTDB導(dǎo)入標(biāo)準(zhǔn),并將舊數(shù)據(jù)導(dǎo)入Golden RTDB。遍歷數(shù)據(jù)表,重復(fù)上述過程直到到達(dá)數(shù)據(jù)表的末尾,結(jié)束本次舊數(shù)據(jù)遷移程序[3]。舊數(shù)據(jù)的遷移流程如圖5所示。
1.3" 系統(tǒng)數(shù)據(jù)庫的設(shè)計
數(shù)據(jù)庫除滿足海量數(shù)據(jù)存儲需要外,還應(yīng)具有檢索準(zhǔn)確、響應(yīng)快速等特點,以滿足系統(tǒng)數(shù)據(jù)處理模塊的數(shù)據(jù)調(diào)用需求。選擇Golden RTDB并采取分級存儲模式,設(shè)計了專用格式數(shù)據(jù)表,將采集到的數(shù)據(jù)按照類型進行分別存儲[4]。結(jié)合工業(yè)大數(shù)據(jù)的常用類型,本系統(tǒng)的數(shù)據(jù)庫提供6類數(shù)據(jù)表,分別是企業(yè)表、班組表、設(shè)備表、區(qū)域表、峰谷平表和計量器表。這里以設(shè)備表(e_equipment)為例,包含了設(shè)備名稱、設(shè)備類型、設(shè)備功能描述等內(nèi)容,數(shù)據(jù)表的組成見表1。
2" 工業(yè)大數(shù)據(jù)中數(shù)據(jù)采集和處理系統(tǒng)的測試
2.1" 測試環(huán)境
為了驗證數(shù)據(jù)采集和處理機系統(tǒng)的功能實現(xiàn)情況和性能表現(xiàn),部署了系統(tǒng)并展開了測試。該系統(tǒng)的物理結(jié)構(gòu)分為云端和企業(yè)端,其中企業(yè)端的核心組成是數(shù)據(jù)采集服務(wù)器(包括Golden RTDB服務(wù)器和OPC Server服務(wù)器),云端的核心組成是云端ECS。系統(tǒng)的硬件環(huán)境見表2。
2.2" 系統(tǒng)功能測試
如上文所述,面相工業(yè)大數(shù)據(jù)的數(shù)據(jù)采集和處理系統(tǒng)可完成數(shù)據(jù)采集、處理、舊數(shù)據(jù)遷移等任務(wù),這里以O(shè)PC Server數(shù)據(jù)采集為例測試系統(tǒng)功能實現(xiàn)情況。在測試前創(chuàng)建云端數(shù)據(jù)表,并依次運行云端ECS后臺程序和DXP數(shù)據(jù)采集程序,正常情況下完成數(shù)據(jù)采集后會在云端 DAMENG數(shù)據(jù)庫企業(yè)班組表(e_course)中增加企業(yè)記錄。在程序運行結(jié)束后,測試人員打開云端企業(yè)班組表,可以看到表格中包含多條企業(yè)班組信息,包括班組ID(id)、所屬區(qū)域(area_id)、設(shè)備名稱(tag_name)、開始時間(begin_time)和結(jié)束時間(end_time)等,符合預(yù)期結(jié)果。測試結(jié)果表明,面向工業(yè)大數(shù)據(jù)的數(shù)據(jù)采集和處理系統(tǒng)可以正常實現(xiàn)數(shù)據(jù)采集功能。
2.2" 系統(tǒng)性能測試
由于工業(yè)大數(shù)據(jù)的總量大、來源廣泛,數(shù)據(jù)采集和處理系統(tǒng)不僅要實現(xiàn)采集、處理、舊數(shù)據(jù)遷移等基本功能,還要滿足快速處理和動態(tài)響應(yīng)等實際需求,提高系統(tǒng)的易用性[5]。本文設(shè)計試驗對系統(tǒng)的數(shù)據(jù)計算速度進行了驗證,根據(jù)結(jié)果判斷系統(tǒng)性能。從某企業(yè)的OPC Server數(shù)據(jù)庫中選取100萬條數(shù)據(jù),數(shù)據(jù)格式統(tǒng)一轉(zhuǎn)換為V-T-Q格式,運行系統(tǒng)分批次處理數(shù)據(jù)。在試驗1中,每批次處理數(shù)據(jù)量為100條;在試驗2中每批次處理數(shù)據(jù)量為500條,試驗3為1 000條,試驗4為5 000條,試驗5為10 000條,試驗6為20 000條,系統(tǒng)運行結(jié)果見表3。
由表3數(shù)據(jù)可知,該系統(tǒng)在處理數(shù)據(jù)時,隨著每批次數(shù)據(jù)量的增加計算用時也會增多,但是總體上來看單批次數(shù)據(jù)計算用時不超過50 ms,延遲較低,計算速度較快,滿足了工業(yè)大數(shù)據(jù)的處理要求。
3" 結(jié)束語
在大數(shù)據(jù)時代,工業(yè)大數(shù)據(jù)成為了一種寶貴資源,企業(yè)采集和利用海量數(shù)據(jù)對改進生產(chǎn)模式、提高生產(chǎn)效率以及增加企業(yè)經(jīng)濟效益有積極幫助。面向工業(yè)大數(shù)據(jù)的數(shù)據(jù)采集和處理系統(tǒng)不僅能獲取企業(yè)基本信息、班組信息、峰谷平電耗信息等多源異構(gòu)信息,還能在此基礎(chǔ)上展開計算、分析,幫助企業(yè)管理人員全面、準(zhǔn)確地掌握企業(yè)生產(chǎn)情況。在設(shè)計和應(yīng)用數(shù)據(jù)采集和處理系統(tǒng)時,還要提供舊數(shù)據(jù)遷移功能,降低系統(tǒng)響應(yīng)延遲,更好地發(fā)揮數(shù)據(jù)采集和處理系統(tǒng)在幫助企業(yè)改進管理和助力企業(yè)發(fā)展方面的作用。
參考文獻(xiàn):
[1] 馬文建,張毅果,陳凱.基于FMQL的多通道數(shù)據(jù)采集實驗平臺設(shè)計與實現(xiàn)[J].實驗科學(xué)與技術(shù),2024(22):35-36.
[2] 覃楨楨.基于旋轉(zhuǎn)門-數(shù)據(jù)平滑度自適應(yīng)算法的工業(yè)數(shù)據(jù)采集網(wǎng)關(guān)研究和設(shè)計[J].集成電路與嵌入式系統(tǒng),2022(6):15-17.
[3] 王華強,仝長亮.海洋測繪數(shù)據(jù)采集與處理系統(tǒng)的設(shè)計與研究[J].工業(yè)儀表與自動化裝置,2023(5):35-39.
[4] 張景然,王菡,宋華江.云邊協(xié)同的工業(yè)生產(chǎn)線數(shù)據(jù)采集與處理研究[J].信息與電腦,2023(5):206-208.
[5] 李佳佳,李嘉偉,范成名.基于物聯(lián)網(wǎng)技術(shù)的工業(yè)大數(shù)據(jù)采集與處理研究[J].長江信息通信,2023(9):91-93.