許萬晨
大慶油田信息技術公司物聯網分公司,黑龍江大慶 163000
在當前數據環境之下,網絡和計算機數據技術的深入發展與應用,成為了推動工業環境安全以及控制體系朝向縱深延展的重要力量。進一步體現在過程控制中,就是以組態軟件作為突出代表的監督與控制體系的建立,而在這樣的體系中,實時數據庫的應用發揮著至關重要的價值。
實時數據庫在組態軟件環境中,與歷史數據庫以及其他告警、趨勢曲線分析等一同作用,形成最為核心的數據庫體系。進一步對相應的應用需求展開分析,可以發現實時數據庫所面臨的核心問題,在于如何通過自身工作效率的提升,實現數據呈現的實時特征,并且同時確保數據在多個上位機端呈現的一致性和準確性。從功能的角度看,實時數據庫作為工業控制系統中關鍵的數據管理與共享體系,除了必須要求能夠有效地面向各種下位機現場數據的采集,為應用程序提供統一穩定的數據平臺以外,還應當不斷深入數據的存儲和管理工作細節,關注數據的處理效率和一致性鎖定等環節。除此以外,必要的開放性也是組態體系的必然要求,標準化的接口和更好的兼容特征,同樣成為實時數據庫未來發展的必然要求。
在這樣的需求環境之下,一個典型的實時數據庫結構參見圖1。

圖1 典型的實時數據庫結構圖
在整個系統中,虛線框內為數據庫核心,其兩端分別與數據采集和服務接口相連。其中數據采集接口進一步與數據前端,諸如分布式控制系統(DCS,Distributed Control System)以及可編程邏輯控制器(PLC,Programmable Logic Controller)和相關工作現場的儀表設備等。而服務接口則進一步與應用系統保持聯系,主要是工業控制用的各類程序,諸如工控組態、實時優化以及各種數據統計和顯示軟件等。同時應用程序通過服務接口模塊間接調用包括告警、顯示以及現場控制等相關組態功能部分,實現具體的職能。
對于實時數據庫的實現技術體系而言,實時性、容錯性以及穩定性都是其必須要做到的重要特征,為了保證這些特征的實現,在實時數據庫體系中涉及到多個方面的核心技術,包括組件化的模塊設計、被動式內核結構等,但是對于實時數據庫而言,最為核心和關鍵的技術,仍然是高效的數據存取技術。
高效數據存取技術,在實時數據庫系統中表現為一個技術簇,其中包括多個方面,快速位號檢索、訪問同步及數據共享、高速數據讀寫等技術,是其中的突出表現。多項技術共同保證整個實時數據庫體系的高效特征。
快速位號檢索主要用于實現在海量位號中快速定位指定目標。在實際對于數據進行讀取的時候,大量外圍業務和應用會對存取位號提出頻繁要求,并且CPU的工作能力會因此而被占用。在工控領域中,通常采用字符串作為位號,但是這進一步加劇了處理速度的問題。因此實時數據庫為每個組態位號分配一個ID,用以實現高速檢索。同時實時數據庫系統采用了雙索引結構,主索引數據結構為平衡二叉樹,以ID作為標志,并且葉節點為指向位號實例的指針;副主索引的數據結構為可擴展線性數組,以位號的索引號作為數組下標,數組單元內容為指向位號實例的指針。通過這樣的機制,結合ID的回收利用機制,實現對于位號的快速檢索。
在工控環境中,實時數據庫必然會面臨大量的并發訪問,如何有效處理這些并發訪問,確保及時反映,也是實時數據庫面臨的重要問題之一。與此同時,大量的數據更新,同樣也是對于實時數據庫的一種并發訪問需求體現,同樣需要有所響應,并且還需要進一步將更新的數據結果反饋給應用領域。對此,實時數據庫負責數據服務的內核模塊采用了COM的MTA模式,對于多客戶端的并發訪問能夠實現有效支持。并且實時數據庫還會依據數據源對位號展開分組,并且組內持有共享鎖,可以實現數據的同步與鎖定,避免因為大量訪問和讀寫而造成的數據混亂。
高速數據讀寫同樣是支持實時數據庫高速運行的核心技術之一。在讀寫的過程中,必然存在有必要的數據量需要留駐在內存環境中,但是內存本身的物理容量又限制了其留駐數據的總量。針對此種情況,實時數據庫系統會考察不同數據的訪問頻率,以數據挖掘的總體思路來實現頻繁訪問數據的內存策略,并且進一步為了提升歷史數據的存取效率,采用對應的組態緩沖技術,不斷實現存取速度的優化。
實時數據庫對于工控工作環境而言意義重大,其工作效率更是成為眾多技術中的核心問題。實際工作中唯有時時關注技術發展,切實分析實際環境需求,才能選擇良好的策略,推動整個組態軟件體系的發展。
[1]王荃,壘壹,李福中.工控組態軟件實時數據庫系統的設計與實現[J].計算機應用,2000,27(3).
[2]周東球.先進控制軟件系統實時數據庫的設計[J].微計算機信息,2003,19(10).