摘要:隨著工業(yè)控制系統(tǒng)的智能化和自動(dòng)化程度不斷提高,工控?cái)?shù)據(jù)存儲(chǔ)成為關(guān)鍵的任務(wù),該文以StarRocks搭建工控?cái)?shù)據(jù)存儲(chǔ)平臺(tái)為目標(biāo),研究與解決工控?cái)?shù)據(jù)存儲(chǔ)和管理的問(wèn)題。首先通過(guò)合理的硬件配置和網(wǎng)絡(luò)環(huán)境,設(shè)計(jì)了工控?cái)?shù)據(jù)的適用模型,并將其映射到StarRocks的表結(jié)構(gòu)中。其次采用合適的數(shù)據(jù)接入和采集方案,從工業(yè)控制系統(tǒng)中獲取實(shí)時(shí)數(shù)據(jù)并導(dǎo)入到StarRocks中。并通過(guò)使用StarRocks進(jìn)行數(shù)據(jù)處理和分析,提供了實(shí)時(shí)的查詢(xún)和多維分析功能。工控?cái)?shù)據(jù)存儲(chǔ)平臺(tái)在實(shí)時(shí)監(jiān)控、故障診斷和生產(chǎn)優(yōu)化等方面有著巨大的應(yīng)用價(jià)值。
關(guān)鍵詞:StarRocks;數(shù)據(jù)存儲(chǔ);Flink
doi:10.3969/J.ISSN.1672-7274.2024.08.038
中圖分類(lèi)號(hào):TP 311.13" " " " " " " " "文獻(xiàn)標(biāo)志碼:A" " " " " " 文章編碼:1672-7274(2024)08-0-03
Building an Industrial Control Data Storage Platform Based on StarRocks
HUI Derong1, JI Kang2
(1. Xinjiang Security Technology Co., Ltd., Karamay 834000, China;
2. Xinjiang Oilfield Company Gas Storage Co., Ltd., Hutubi 831200, China)
Abstract: With the continuous improvement of intelligence and automation in industrial control systems, the storage of industrial control data has become a key task. The article aims to build an industrial control data storage platform using StarRocks, and studies and solves the problems of industrial control data storage and management. Firstly, a suitable model for industrial control data was designed through reasonable hardware configuration and network environment, and mapped to the table structure of StarRocks. Secondly, appropriate data access and collection schemes are adopted to obtain real-time data from industrial control systems and import it into StarRocks. And by using StarRocks for data processing and analysis, it provides real-time query and multi-dimensional analysis functions. The industrial control data storage platform has enormous application value in real-time monitoring, fault diagnosis, and production optimization.
Keywords: starRocks; data storage; flink
1" "工控?cái)?shù)據(jù)存儲(chǔ)平臺(tái)概述
工控?cái)?shù)據(jù)存儲(chǔ)平臺(tái)是針對(duì)工業(yè)控制系統(tǒng)而設(shè)計(jì)的數(shù)據(jù)存儲(chǔ)解決方案。它能夠提供可靠、高效的數(shù)據(jù)存儲(chǔ)和管理能力,幫助工控系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)的采集、存儲(chǔ)、處理和分析。
基于StarRocks搭建的工控?cái)?shù)據(jù)存儲(chǔ)平臺(tái)能夠滿足以上要求。其具有高性能的列存儲(chǔ)、分布式架構(gòu)和并行計(jì)算能力,可以實(shí)現(xiàn)工業(yè)數(shù)據(jù)的快速寫(xiě)入和查詢(xún)。同時(shí),StarRocks還具備良好的可伸縮性和穩(wěn)定性,可以適應(yīng)不斷增長(zhǎng)的數(shù)據(jù)規(guī)模和用戶訪問(wèn)量。
總之,工控?cái)?shù)據(jù)存儲(chǔ)平臺(tái)的建立為工業(yè)領(lǐng)域提供了強(qiáng)大的數(shù)據(jù)支持和分析能力,助力企業(yè)實(shí)現(xiàn)智能化生產(chǎn)和管理,提升生產(chǎn)效率和質(zhì)量,推動(dòng)工業(yè)領(lǐng)域的數(shù)字化轉(zhuǎn)型和創(chuàng)新發(fā)展[1]。
2" "StarRocks在工控?cái)?shù)據(jù)存儲(chǔ)領(lǐng)域的優(yōu)勢(shì)
在工控?cái)?shù)據(jù)存儲(chǔ)領(lǐng)域,StarRocks具有以下幾個(gè)優(yōu)勢(shì):
第一,高性能的實(shí)時(shí)數(shù)據(jù)處理和查詢(xún)。StarRocks采用列存儲(chǔ)和MPP架構(gòu),能夠?qū)崿F(xiàn)高性能的數(shù)據(jù)處理和查詢(xún)能力。對(duì)于工控系統(tǒng)中產(chǎn)生的大量實(shí)時(shí)數(shù)據(jù),StarRocks能夠快速存儲(chǔ)、分析和查詢(xún),滿足對(duì)實(shí)時(shí)性要求較高的場(chǎng)景。
第二,彈性伸縮性和擴(kuò)展性。StarRocks的分布式架構(gòu)和橫向擴(kuò)展能力使得它具備高度的彈性伸縮性。無(wú)論是存儲(chǔ)容量的擴(kuò)展還是計(jì)算資源的增加,其都可以通過(guò)簡(jiǎn)單地添加新的節(jié)點(diǎn)來(lái)實(shí)現(xiàn),而不會(huì)影響已有系統(tǒng)的性能和穩(wěn)定性。
第三,多維分析和復(fù)雜計(jì)算能力。StarRocks內(nèi)置了多種數(shù)據(jù)分析和計(jì)算功能,如聚合函數(shù)、窗口函數(shù)、多維分析等。這使得用戶可以方便地進(jìn)行復(fù)雜的數(shù)據(jù)分析和計(jì)算,在工控系統(tǒng)的優(yōu)化和決策中獲得準(zhǔn)確的洞察。
第四,實(shí)時(shí)監(jiān)測(cè)和故障診斷。由于StarRocks支持實(shí)時(shí)數(shù)據(jù)處理和查詢(xún),工控系統(tǒng)可以及時(shí)監(jiān)測(cè)設(shè)備狀態(tài)、生產(chǎn)過(guò)程和能源消耗等重要指標(biāo)。這有助于快速發(fā)現(xiàn)潛在問(wèn)題,實(shí)施故障診斷和預(yù)防性維護(hù)。
第五,數(shù)據(jù)安全和隱私保護(hù)。StarRocks提供了多種安全機(jī)制,包括用戶認(rèn)證、權(quán)限管理、數(shù)據(jù)加密等,確保工控?cái)?shù)據(jù)的安全性和隱私保護(hù)。用戶可以根據(jù)需求設(shè)置不同的權(quán)限級(jí)別,限制數(shù)據(jù)的訪問(wèn)和操作,保護(hù)敏感信息。
第六,開(kāi)源生態(tài)系統(tǒng)和社區(qū)支持。作為一個(gè)開(kāi)源項(xiàng)目,StarRocks具有活躍的社區(qū)和豐富的生態(tài)系統(tǒng)。用戶可以獲得來(lái)自社區(qū)的技術(shù)支持、參與功能擴(kuò)展和Bug修復(fù),并借助豐富的生態(tài)系統(tǒng)集成其他工控系統(tǒng)組件,構(gòu)建完整的解決方案。
總體而言,StarRocks在高性能實(shí)時(shí)數(shù)據(jù)處理、彈性伸縮性、多維分析能力、數(shù)據(jù)安全性和開(kāi)放性等方面具有優(yōu)勢(shì),是一個(gè)適合工控?cái)?shù)據(jù)存儲(chǔ)的解決方案。它可以幫助工控系統(tǒng)實(shí)現(xiàn)高效、可靠的數(shù)據(jù)存儲(chǔ)和分析,提升系統(tǒng)的智能化和優(yōu)化水平[2]。
3" "設(shè)計(jì)與實(shí)施
3.1 硬件配置和網(wǎng)絡(luò)環(huán)境
本項(xiàng)目采用6臺(tái)PowerEdge R750型服務(wù)器,網(wǎng)卡采用萬(wàn)兆網(wǎng)卡,進(jìn)行搭建,操作系統(tǒng)采用openEuler 22.03 LTS SP3操作系統(tǒng)(也可使用紅帽RHEL系統(tǒng)),JDK環(huán)境為jdk-17,StarRocks版本為3.1.11,MySQL管理工具版本為5.7.44。系統(tǒng)架構(gòu)如圖1所示。
StarRocks整體架構(gòu)分為兩類(lèi)進(jìn)程。
第一,F(xiàn)E(Frontend)進(jìn)程,負(fù)責(zé)用戶請(qǐng)求的接入、查詢(xún)解析規(guī)劃、元數(shù)據(jù)的管理、節(jié)點(diǎn)管理相關(guān)工作。FE分為L(zhǎng)eader、Follwer、ObServer三種角色。從所有節(jié)點(diǎn)中選出一個(gè)Leader FE節(jié)點(diǎn),只有Leader FE節(jié)點(diǎn)可以寫(xiě)入元數(shù)據(jù),F(xiàn)ollower和Observer只有讀取權(quán)限。Follower和Observer將元數(shù)據(jù)寫(xiě)入請(qǐng)求路由到Leader,Leader更新完成元數(shù)據(jù)后同步給Follower和Observer,其他Follower FE節(jié)點(diǎn)只能根據(jù)Leader FE節(jié)點(diǎn)的日志更新元數(shù)據(jù)。必須有半數(shù)以上的Follower節(jié)點(diǎn)同步成功才算作元數(shù)據(jù)寫(xiě)入成功。Observer主要用于擴(kuò)展集群的查詢(xún)并發(fā)能力,可選部署。Observe不參與選主,不會(huì)增加集群的選主壓力。
第二,BE(Backend)進(jìn)程,主要負(fù)責(zé)數(shù)據(jù)存儲(chǔ)、查詢(xún)計(jì)劃的執(zhí)行,也被稱(chēng)為CN(Compute Node)。BE是后端節(jié)點(diǎn),負(fù)責(zé)數(shù)據(jù)存儲(chǔ)和SQL計(jì)算等工作[3]。
3.2 數(shù)據(jù)模型設(shè)計(jì)與表管理
3.2.1 數(shù)據(jù)模型設(shè)計(jì)
數(shù)據(jù)存儲(chǔ)模型采用四層分層架構(gòu),來(lái)保障數(shù)據(jù)的安全性與屏蔽對(duì)原始數(shù)據(jù)影響的目的。分層分別為:
(1)數(shù)據(jù)源層:ODS(Operational Data Store),存放未經(jīng)過(guò)處理的原始數(shù)據(jù),結(jié)構(gòu)上與源系統(tǒng)保持一致,是數(shù)倉(cāng)的數(shù)據(jù)準(zhǔn)備區(qū)。
(2)數(shù)據(jù)倉(cāng)庫(kù)層:DW(Data Warehouse)基于維度建模型理論進(jìn)行構(gòu)建,存放維度模型中的事實(shí)表,保存各業(yè)務(wù)過(guò)程最小粒度的操作記錄。
(3)數(shù)據(jù)輕匯總層:DM(Data Mention)建設(shè)通用性維度和指標(biāo),主要表數(shù)據(jù)還是明細(xì)數(shù)據(jù),部分?jǐn)?shù)據(jù)為匯總數(shù)據(jù),主要增強(qiáng)指標(biāo)性復(fù)用性。
(4)數(shù)據(jù)應(yīng)用層:App(Application)存放各項(xiàng)統(tǒng)計(jì)指標(biāo)結(jié)果,采用在StarRocks中建立數(shù)據(jù)庫(kù)與分配權(quán)限的方式提供給App程序使用,一是為了簡(jiǎn)化開(kāi)發(fā);二是方便管理。其中DW層與DM層數(shù)由BI分析服務(wù)器根據(jù)實(shí)際生產(chǎn)業(yè)務(wù),經(jīng)過(guò)查詢(xún)與清洗ODS層的數(shù)據(jù)生成[4]。
3.2.2 表設(shè)計(jì)實(shí)例
3.2.2.1 創(chuàng)建SCADA實(shí)時(shí)數(shù)據(jù)庫(kù)數(shù)據(jù)塊類(lèi)型配置表
創(chuàng)建配置表的目的,是應(yīng)用層通過(guò)管理與查詢(xún)數(shù)倉(cāng)中的數(shù)據(jù)對(duì)SCADA系統(tǒng)的配置信息從而給出指導(dǎo)性配置參數(shù)。也是調(diào)度下發(fā)參數(shù)表的無(wú)紙化途徑,這里處于對(duì)工控?cái)?shù)據(jù)安全的考慮,應(yīng)用層不能直接對(duì)SCADA系統(tǒng)數(shù)進(jìn)行修改等操作。采取的方式為定時(shí)(每天晚上2點(diǎn))將SCADA系統(tǒng)配置參數(shù)信息通過(guò)OPC UA協(xié)議將靜態(tài)配置參數(shù)同步至數(shù)倉(cāng)。若需要修改參數(shù)時(shí),管理人員只需要通過(guò)APP層錄入修改過(guò)的參數(shù)并通過(guò)工作流發(fā)出任務(wù),相關(guān)管理人員接到發(fā)出的任務(wù)后,且經(jīng)過(guò)審批后將所需要修改的參數(shù)數(shù)據(jù)導(dǎo)出為文本格式(SCV),交由相關(guān)負(fù)責(zé)人,將配置數(shù)據(jù)更新至SCADA系統(tǒng),形成數(shù)據(jù)修改閉環(huán)。
3.2.2.2 創(chuàng)建SCADA_DB_TAG_CONFIGURE表
該表為SCADA實(shí)時(shí)數(shù)據(jù)庫(kù)模擬量輸入塊、模擬量輸出、數(shù)字量輸入等標(biāo)簽配置表,主要功能為配置實(shí)時(shí)數(shù)據(jù)標(biāo)簽屬性,如添加或修改標(biāo)簽,設(shè)置標(biāo)簽高低報(bào)警值、設(shè)置標(biāo)簽變位報(bào)警、設(shè)置標(biāo)簽描述、是否取反操作等。
3.2.2.3 創(chuàng)建SCADA實(shí)時(shí)數(shù)據(jù)數(shù)據(jù)存儲(chǔ)表
首先,創(chuàng)建ODS_SCADA_DB_VALUE表。該表為SCADA實(shí)時(shí)數(shù)據(jù)庫(kù)標(biāo)簽變量數(shù)據(jù)存儲(chǔ)表,主要功能為實(shí)時(shí)存儲(chǔ)標(biāo)簽變量數(shù)據(jù)(時(shí)間序列)。包含的字段有標(biāo)簽名稱(chēng)、數(shù)據(jù)類(lèi)型、值、時(shí)間戳與質(zhì)量。通過(guò)OPC UA從SCADA系統(tǒng)獲取數(shù)據(jù)寫(xiě)入此表,該類(lèi)型的表為ods層增量數(shù)據(jù)表,需要永久保存。
其次,創(chuàng)建ODS_SCADA_DB_TAG_ALARM表。該表為存儲(chǔ)SCADA系統(tǒng)實(shí)時(shí)報(bào)警值以及操作記錄等數(shù)據(jù),通過(guò)ETL/PDI-Kettle工具從SCADA系統(tǒng)報(bào)警數(shù)據(jù)庫(kù)(SQL Server庫(kù))中提取增量數(shù)據(jù)同步至此表表。該類(lèi)型的表為ods層增量數(shù)據(jù)表,需要永久保存[5]。
綜上所述,其他表根據(jù)實(shí)際需求,按照數(shù)據(jù)分層結(jié)構(gòu)進(jìn)行創(chuàng)建,遵循分層架構(gòu)可以減少重復(fù)開(kāi)發(fā),為后續(xù)的數(shù)據(jù)清洗工作和權(quán)限控制等帶來(lái)便利。
3.2.3 數(shù)據(jù)接入和采集方案
在該項(xiàng)目工業(yè)環(huán)境中數(shù)據(jù)的主要來(lái)源為SCADA系統(tǒng),其中現(xiàn)場(chǎng)DCS、PLC、RTU、流量計(jì)等工控設(shè)備的數(shù)據(jù)采集均由SCADA系統(tǒng)完成。SCADA系統(tǒng)對(duì)外提供OPC UA數(shù)據(jù)通信接口,與此同時(shí)SCADA系統(tǒng)的Historian歷史數(shù)據(jù)庫(kù)對(duì)外提供ETL工具接口。其他系統(tǒng)的數(shù)據(jù)通過(guò)ETL工具從系統(tǒng)數(shù)據(jù)中提取與加載[6]。如管道泄漏檢測(cè)系統(tǒng)數(shù)據(jù)存儲(chǔ)數(shù)據(jù)庫(kù)為MariaDB,直接利用ETL工具進(jìn)行數(shù)據(jù)同步與轉(zhuǎn)存儲(chǔ),數(shù)據(jù)流向如圖2所示。
4" "結(jié)束語(yǔ)
基于StarRocks搭建的工控?cái)?shù)據(jù)存儲(chǔ)平臺(tái)具有高性能、可擴(kuò)展性和靈活性等優(yōu)勢(shì),能夠滿足工業(yè)控制系統(tǒng)對(duì)實(shí)時(shí)數(shù)據(jù)存儲(chǔ)和分析的需求。該平臺(tái)能夠?yàn)楣た仡I(lǐng)域的數(shù)據(jù)管理和決策支持提供有效的解決方案,并為工業(yè)企業(yè)的智能化轉(zhuǎn)型打下堅(jiān)實(shí)的基礎(chǔ)。本文的研究和實(shí)踐,旨在幫助工控系統(tǒng)開(kāi)發(fā)人員和研究人員了解和應(yīng)用基于StarRocks的工控?cái)?shù)據(jù)存儲(chǔ)平臺(tái)。希望此平臺(tái)的建立能夠?yàn)楣I(yè)領(lǐng)域的數(shù)據(jù)存儲(chǔ)和分析帶來(lái)新的機(jī)遇,提升工控系統(tǒng)的效率和智能化水平,推動(dòng)工業(yè)互聯(lián)網(wǎng)的發(fā)展進(jìn)程。
參考文獻(xiàn)
[1] 薛振文,李彤,牛帆.大數(shù)據(jù)時(shí)代數(shù)據(jù)倉(cāng)庫(kù)技術(shù)的發(fā)展及應(yīng)用[J].中國(guó)傳媒科技,2023(10):154-158.
[2] 陳雨婕.基于大數(shù)據(jù)平臺(tái)的公客服務(wù)可視化BI分析研究[J].無(wú)錫職業(yè)技術(shù)學(xué)院學(xué)報(bào),2023,22(6):87-92.
[3] 韋統(tǒng)邊,吳江波,蘇德,等.基于Flink實(shí)時(shí)預(yù)警功能的實(shí)現(xiàn)[J].汽車(chē)電器,2023(8):49-50,53.
[4] 張寧,賈自艷,史忠植.?dāng)?shù)據(jù)倉(cāng)庫(kù)中ETL技術(shù)的研究[J].計(jì)算機(jī)工程與應(yīng)用,2002(24):213-216.
[5] 徐俊剛,裴瑩.?dāng)?shù)據(jù)ETL研究綜述[J].計(jì)算機(jī)科學(xué),2011,38(4):15-20.
[6] 尤玉林,張憲民.一種可靠的數(shù)據(jù)倉(cāng)庫(kù)中ETL策略與架構(gòu)設(shè)計(jì)[J].計(jì)算機(jī)工程與應(yīng)用,2005(10):172-174,229.
作者簡(jiǎn)介:恵德榮(1987—),男,漢族,甘肅蘭州人,助理工程師,本科,研究方向?yàn)闄C(jī)械電子工業(yè)(產(chǎn)品)設(shè)計(jì)。
姬" "康(1987—),男,漢族,河南永城人,中級(jí)工程師,本科,研究方向?yàn)橛蜌馓锏孛婀こ獭?/p>