摘要:隨著科技進(jìn)步,傳統(tǒng)手動操作正逐步被自動化系統(tǒng)替代,自動化測控系統(tǒng)應(yīng)運(yùn)而生,相關(guān)系統(tǒng)需實時獲取、存儲大量數(shù)據(jù),以實現(xiàn)對生產(chǎn)過程的準(zhǔn)確監(jiān)測。而實時數(shù)據(jù)庫作為具備高性能特點(diǎn)的數(shù)據(jù)存儲和管理技術(shù),由于其特點(diǎn)所在,已成為當(dāng)前廣泛應(yīng)用的技術(shù)之一。
關(guān)鍵詞:自動化測控系統(tǒng);實時數(shù)據(jù)庫;時間戳;數(shù)據(jù)訪問;數(shù)據(jù)管理
doi:10.3969/J.ISSN.1672-7274.2024.09.003
中圖分類號:TP 1-3 文獻(xiàn)標(biāo)志碼:A 文章編碼:1672-7274(2024)09-000-03+
Design and Research of Real-time Database in Automatic Measurement and Control System
LUO Chang
(School of International Education, Henan University of Science and Technology, Luoyang 471000, China)
Abstract: With the progress of science and technology, the traditional manual operation is gradually replaced by automatic system, automatic measurement and control system came into being, the relevant system needs to obtain and store a large amount of data in real time to achieve accurate monitoring of the production process. As a high performance data storage and management technology, real-time database has become one of the most widely used technologies because of its characteristics.
Keywords: automatic measurement and control system; real-time database; time stamp; data access; data management
0 引言
隨著科技發(fā)展,自動化測控技術(shù)在各領(lǐng)域已得到廣泛應(yīng)用,自動化測控系統(tǒng)中實時數(shù)據(jù)庫作為測控基礎(chǔ)運(yùn)行中不可或缺的數(shù)據(jù)存儲工具,對系統(tǒng)性能有著較大影響。因此,設(shè)計高效穩(wěn)定的實時數(shù)據(jù)庫對自動化測控系統(tǒng)正常運(yùn)行至關(guān)重要。
1 自動化測控系統(tǒng)的發(fā)展現(xiàn)狀
自動化測控系統(tǒng)在各領(lǐng)域已得到廣泛應(yīng)用。目前,自動化測控系統(tǒng)已通過集成傳感器、執(zhí)行器等設(shè)備,能實時采集、處理數(shù)據(jù),根據(jù)特定控制算法來實現(xiàn)對生產(chǎn)過程的智能監(jiān)控。自動化測控系統(tǒng)的出現(xiàn)滿足了人們對生產(chǎn)過程的高精尖需求,這是由于傳統(tǒng)人工操作存在著諸多局限性,易受人為因素影響、反應(yīng)速度較慢等因素影響。自動化測控系統(tǒng)的引入,有效克服了相關(guān)問題,提供了智能、高效的生產(chǎn)管理方式。
2 實時數(shù)據(jù)庫的設(shè)計要求
2.1 實時數(shù)據(jù)庫的功能要求
2.1.1 數(shù)據(jù)存儲與檢索功能
在自動化測控系統(tǒng)中數(shù)據(jù)存儲與檢索功能能實現(xiàn)實時數(shù)據(jù)處理。為確保系統(tǒng)能在最大程度上予以運(yùn)轉(zhuǎn),處理大量實時數(shù)據(jù),需采用支持快速存儲檢索的實時數(shù)據(jù)庫,數(shù)據(jù)存儲功能設(shè)計應(yīng)考慮數(shù)據(jù)量大、更新頻繁的特點(diǎn),且需具備高性能存儲能力,能快速接收存儲傳感器采集到的實時數(shù)據(jù)[1]。此外,數(shù)據(jù)存儲還應(yīng)具備可擴(kuò)展性,適應(yīng)系統(tǒng)規(guī)模擴(kuò)大與數(shù)據(jù)量增加。其次,數(shù)據(jù)檢索功能在自動化測控系統(tǒng)中能迅速響應(yīng)用戶查詢請求,提供實時監(jiān)測結(jié)果與分析報告。
2.1.2 數(shù)據(jù)完整性和一致性要求
在自動化測控系統(tǒng)中,數(shù)據(jù)完整性能保障系統(tǒng)穩(wěn)定運(yùn)行。通常情況下,數(shù)據(jù)完整性需要確保源數(shù)據(jù)不被篡改,從根源上數(shù)據(jù)準(zhǔn)確性,而數(shù)據(jù)一致原則則是確保多應(yīng)用程序或多數(shù)據(jù)庫間,數(shù)據(jù)值必須始終能夠“相互轉(zhuǎn)換”,實現(xiàn)數(shù)據(jù)層面上的量綱化[2]。為確保數(shù)據(jù)的一致完整,實時數(shù)據(jù)庫還需相關(guān)技術(shù)手段。例如,基于數(shù)據(jù)校驗技術(shù)對數(shù)據(jù)進(jìn)行驗證,確保其符合規(guī)定格式,識別數(shù)據(jù)中擬存在錯誤信息。除技術(shù)手段,數(shù)據(jù)的完整一致實現(xiàn)還需人員進(jìn)行嚴(yán)格的規(guī)范操作。例如,對數(shù)據(jù)進(jìn)行訪問控制,限制僅授權(quán)用戶才能對數(shù)據(jù)進(jìn)行修改。同時,需制定操作規(guī)范,明確數(shù)據(jù)操作流程,避免不必要數(shù)據(jù)沖突。
2.1.3 并發(fā)控制和事務(wù)管理
并發(fā)控制需對并發(fā)操作進(jìn)行協(xié)調(diào)管理,避免數(shù)據(jù)沖突。常見并發(fā)控制技術(shù)通常由鎖定機(jī)制、時間戳機(jī)制和樂觀并發(fā)控制等方法得以實現(xiàn)。鎖定機(jī)制能借助數(shù)據(jù)加鎖,防止多用戶同時修改同一數(shù)據(jù);時間戳機(jī)制則是基于為各數(shù)據(jù)操作分配時間戳,避免同一數(shù)據(jù)被并發(fā)修改。事務(wù)管理也能保證數(shù)據(jù)正確性和一致性,事務(wù)需一系列數(shù)據(jù)操作集合,操作要么全部執(zhí)行成功,要么全部回溯。從事實層面來說,則會將多數(shù)據(jù)操作封裝成單一事務(wù),保證數(shù)據(jù)原始性能不會被篡改。除技術(shù)手段,事務(wù)管理與并發(fā)控制實現(xiàn)還需對人員進(jìn)行規(guī)范控制。
2.2 實時數(shù)據(jù)庫的性能要求
2.2.1 數(shù)據(jù)讀寫速度
在自動化測控系統(tǒng)中,數(shù)據(jù)讀寫速度是實時數(shù)據(jù)庫的關(guān)鍵性能指標(biāo),實時數(shù)據(jù)庫需配備較高數(shù)據(jù)讀寫速度,滿足實時數(shù)據(jù)采集處理需求。就數(shù)據(jù)讀取而言,快速讀取速度能確保及時獲取傳感器、儀器等設(shè)備采集到數(shù)據(jù)。在自動化測控系統(tǒng)中,傳感器難以高頻率輸出數(shù)據(jù),因此實時數(shù)據(jù)庫被要求在短時間內(nèi)完成大量數(shù)據(jù)讀取操作,可通過優(yōu)化數(shù)據(jù)索引機(jī)制、高效查詢算法來實現(xiàn)。同時,還可以考慮采用分布式存儲和并行處理等策略,提高數(shù)據(jù)讀取的并發(fā)性和效率。
2.2.2 響應(yīng)時間
首先,對于實時數(shù)據(jù)采集來說,快速的響應(yīng)時間可以確保及時獲取傳感器、儀器等設(shè)備采集到數(shù)據(jù)。在自動化測控系統(tǒng)中,傳感器可能以極高的頻率產(chǎn)生數(shù)據(jù),因此實時數(shù)據(jù)庫需要能夠在短時間內(nèi)完成數(shù)據(jù)的接收和保存。通過優(yōu)化數(shù)據(jù)存儲結(jié)構(gòu)、采用高效的數(shù)據(jù)寫入算法和使用硬件加速技術(shù),可以提高實時數(shù)據(jù)采集的響應(yīng)速度[3]。
其次,對于用戶查詢來說,快速的響應(yīng)時間可以保證用戶能夠及時獲取最新的數(shù)據(jù)和查詢結(jié)果。在自動化測控系統(tǒng)中,用戶可能需要實時監(jiān)測設(shè)備狀態(tài)、查詢歷史數(shù)據(jù)或者進(jìn)行實時分析等操作,因此實時數(shù)據(jù)庫需要能夠在短時間內(nèi)響應(yīng)用戶的查詢請求。
此外,實時數(shù)據(jù)庫還需要具備高并發(fā)能力,能夠同時處理多個查詢請求。在自動化測控系統(tǒng)中,可能存在多個用戶同時進(jìn)行數(shù)據(jù)查詢和修改操作,因此實時數(shù)據(jù)庫需要能夠并行處理這些請求,以避免響應(yīng)時間延遲和系統(tǒng)性能下降。
2.2.3 存儲容量
在自動化測控系統(tǒng)中,存儲容量是技術(shù)人員所需考慮的因素。存儲容量需據(jù)系統(tǒng)需求確定,針對小型自動化測控系統(tǒng)而言,存儲容量需求有限,采用簡單存儲設(shè)備進(jìn)行數(shù)據(jù)存儲。而針對大型自動化測控系統(tǒng)而言,則要求使用分布式存儲系統(tǒng)(高性能硬盤、固態(tài)硬盤)來滿足,并使用RAID技術(shù)來提高存儲性能,滿足存儲需求[4]。在此基礎(chǔ)上,數(shù)據(jù)難免會隨著時間推移而增加,因此實時數(shù)據(jù)庫需要能支持?jǐn)?shù)據(jù)動態(tài)擴(kuò)展。對此,系統(tǒng)可引入自動擴(kuò)容技術(shù)優(yōu)化算法,實現(xiàn)實時數(shù)據(jù)庫動態(tài)擴(kuò)展。
2.3 實時數(shù)據(jù)庫的可靠性要求
2.3.1 數(shù)據(jù)備份與恢復(fù)
在自動化測控系統(tǒng)中,為應(yīng)對數(shù)據(jù)丟失,實時數(shù)據(jù)庫需制定完全備份、增量備份等備份策略。實現(xiàn)數(shù)據(jù)的完全備份,或是備份重要數(shù)據(jù),提高備份效率。備份時,需考慮備份介質(zhì)選擇,如磁帶、云存儲等及備份周期與備份時段規(guī)劃,確保備份全面性。當(dāng)數(shù)據(jù)損壞時,實時數(shù)據(jù)庫被要求具備快速數(shù)據(jù)恢復(fù)能力,為應(yīng)對此挑戰(zhàn),在實時操作中可采用數(shù)據(jù)庫鏡像技術(shù),實現(xiàn)數(shù)據(jù)快速恢復(fù),保證數(shù)據(jù)的一致完整。
2.3.2 容錯性和故障恢復(fù)
實時數(shù)據(jù)的容錯性與故障恢復(fù)能力,能應(yīng)對系統(tǒng)故障情況,確保系統(tǒng)穩(wěn)定運(yùn)行。從概念出發(fā),容錯性代指實時數(shù)據(jù)庫在面對硬件故障等異常情況時的自我修復(fù)能力,為提高容錯性,實時數(shù)據(jù)庫便能采用冗余存儲備份,使用冗余存儲技術(shù),如RAID(冗余磁盤陣列)技術(shù),將數(shù)據(jù)分布在多磁盤上,當(dāng)某磁盤發(fā)生故障時,系統(tǒng)仍然能繼續(xù)工作[5]。
3 實時數(shù)據(jù)庫8pJe/j3dV4Tf9VvjATxzDA==設(shè)計方案的驗證與實現(xiàn)
3.1 設(shè)計方案的建立
(1)需求分析與概念設(shè)計:使用數(shù)據(jù)流層次結(jié)構(gòu)分析法(Structured Analysis,SA)進(jìn)行需求分析,理解表達(dá)系統(tǒng)功能需求。其中,需求分析成果主要基于數(shù)據(jù)流圖(Data Flow Diagram,DFD)來展示,描述描繪系統(tǒng)中數(shù)據(jù)流向與處理過程。在需求分析基礎(chǔ)上,將用戶需求抽象化并構(gòu)建為信息概念模型,采用實體-關(guān)系(Entity-Relationship,E-R)模型來完成,側(cè)重基于屬性、實體及其間聯(lián)系展現(xiàn)信息組織方式。通過對實體間關(guān)系深入分析,E-R模型能確保設(shè)計數(shù)據(jù)庫既滿足用戶實際需求,又具良好可擴(kuò)展性。
(2)邏輯結(jié)構(gòu)設(shè)計:概念結(jié)構(gòu)轉(zhuǎn)換為特定數(shù)據(jù)庫管理系統(tǒng)(DBMS)所支持的數(shù)據(jù)模型,由高層次概念表示,如實體-關(guān)系(E-R)圖,過渡到由特定數(shù)據(jù)庫系統(tǒng)支持的數(shù)據(jù)模型,如關(guān)系模型、網(wǎng)狀模型或?qū)哟文P?。在將E-R圖轉(zhuǎn)換為關(guān)系模型過程中,將概念模型中實體關(guān)系映射到關(guān)系模型表格中。實體通常被轉(zhuǎn)換為表格,實體屬性被轉(zhuǎn)換為表格的列,實體間關(guān)系則基于主鍵外鍵方式在表格間建立聯(lián)系。接著,一般的網(wǎng)狀模型需進(jìn)一步轉(zhuǎn)換為特定DBMS支持?jǐn)?shù)據(jù)模型,各種DBMS需對數(shù)據(jù)模型進(jìn)行特定要求支持,轉(zhuǎn)換過程需考慮目標(biāo)DBMS特定語法和功能,確保數(shù)據(jù)模型在該系統(tǒng)中有效高效。最后,進(jìn)行數(shù)據(jù)模型優(yōu)化,調(diào)整數(shù)據(jù)結(jié)構(gòu),優(yōu)化索引策略,或調(diào)整存儲過程和觸發(fā)器,以適應(yīng)特定的應(yīng)用需求和操作特點(diǎn)。
(3)數(shù)據(jù)同步與實時更新:使用類似于Canal工具捕獲數(shù)據(jù)庫變更,對事件進(jìn)行業(yè)務(wù)需求相關(guān)處理,或利用BulkLoad方法進(jìn)行數(shù)據(jù)同步(參照圖1)。
Canal等工具是用來監(jiān)控捕獲數(shù)據(jù)庫變更事件,通過模擬數(shù)據(jù)庫日志文件,捕獲變更事件,將其轉(zhuǎn)化為特定格式數(shù)據(jù)。在實際應(yīng)用中,捕獲到的數(shù)據(jù)變更被進(jìn)一步用于數(shù)據(jù)備份、緩存更新、搜索引擎優(yōu)化等業(yè)務(wù)場景。其次,BulkLoad等數(shù)據(jù)同步方法需基于批量處理機(jī)制來實行,優(yōu)化數(shù)據(jù)導(dǎo)入過程,減少網(wǎng)絡(luò)傳輸和I/O操作次數(shù),并支持對數(shù)據(jù)同步過程中的細(xì)粒度控制(數(shù)據(jù)過濾、轉(zhuǎn)換和加載策略)定制,適應(yīng)不同業(yè)務(wù)需求。
3.2 系統(tǒng)實施與測試
(1)需求分析。假設(shè)我們正在設(shè)計用于工廠自動化檢測系統(tǒng)的實時數(shù)據(jù)庫,系統(tǒng)負(fù)責(zé)收集各種傳感器(如溫度、壓力、速度傳感器)的數(shù)據(jù),并實時監(jiān)控設(shè)備狀態(tài),其中需要滿足一個具體需求,數(shù)據(jù)需實時更新(工程自動化檢測中常采用10~50 s每次),支持高并發(fā)訪問和數(shù)據(jù)完整性功能。
(2)概念設(shè)計。采用實體-關(guān)系模型的映射模型,定義實體如“傳感器”“檢測數(shù)據(jù)”“設(shè)備”等。其中所有實體都有其屬性,如傳感器有ID、類型、位置等屬性。針對實體-關(guān)系模型的映射模型的描述,我們采用E-R圖來闡述,描述實體間關(guān)系。例如,一個設(shè)備可能有多個傳感器,檢測數(shù)據(jù)與特定傳感器關(guān)聯(lián)。
(3)邏輯結(jié)構(gòu)設(shè)計。數(shù)據(jù)庫模型:選擇關(guān)系數(shù)據(jù)庫模型,因其易于處理復(fù)雜查詢且廣泛支持。關(guān)系模式:將“傳感器”實體轉(zhuǎn)換為“傳感器”關(guān)系模式,屬性包括ID、類型、位置等。
(4)數(shù)據(jù)同步與實時更新。數(shù)據(jù)采集:使用MQTT協(xié)議從傳感器收集數(shù)據(jù)。數(shù)據(jù)處理與存儲:使用Apache Kafka等消息隊列處理傳感器數(shù)據(jù)流,然后使用Canal等工具同步到數(shù)據(jù)庫。
(5)驗證與實現(xiàn)。測試案例:設(shè)定具體的測試場景,如模擬傳感器數(shù)據(jù)變化,驗證數(shù)據(jù)是否能實時反映在數(shù)據(jù)庫中。性能評估:測試系統(tǒng)在高并發(fā)條件下的響應(yīng)時間和數(shù)據(jù)處理能力。
(6)技術(shù)流數(shù)據(jù)示例。由于研究主要針對傳感器等設(shè)備的數(shù)據(jù)收集,為此我們采用JSON格式生成一個具體案例(如圖2所示)。
其中消息隊列處理采用Kafka,主題選擇sensor_data;消息格式與傳感器數(shù)據(jù)格式相同。數(shù)據(jù)庫同步使用Canal監(jiān)聽Kafka主題變更,將數(shù)據(jù)實時同步到數(shù)據(jù)庫。示例如圖3所示。
4 結(jié)束語
本文通過對自動化測控系統(tǒng)中實時數(shù)據(jù)庫的設(shè)計研究,基于此前相關(guān)學(xué)者針對此方面的基礎(chǔ)研究,提出了基于時間戳改進(jìn)的一種數(shù)據(jù)存儲結(jié)構(gòu),設(shè)計了相應(yīng)數(shù)據(jù)訪問與管理算法。未來的研究可以進(jìn)一步優(yōu)化和改進(jìn)該設(shè)計,以滿足不斷發(fā)展的自動化測控系統(tǒng)的需求。
參考文獻(xiàn)
[1] 王欣.基于實時數(shù)據(jù)庫的企業(yè)信息化平臺的設(shè)計[J].信息與電腦(理論版),2023,35(13):200-202.
[2] 陳雙全.自動化測控系統(tǒng)實時數(shù)據(jù)庫設(shè)計[J].電腦與電信,2021(08):49-51.
[3] 宋海橋.測控系統(tǒng)整機(jī)自動化測試平臺的設(shè)計[J].測試技術(shù)學(xué)報,2017,31(03):201-205.
[4] 張?zhí)希娏ο到y(tǒng)實時數(shù)據(jù)庫的自動化測試研究與應(yīng)用[J].科技尚品,2016 (01):186-187.
[5] 潘閩南.自動化控制技術(shù)在現(xiàn)代電力系統(tǒng)中的應(yīng)用[J].科技創(chuàng)新與應(yīng)用,2014(02):142.