許萬晨
大慶油田信息技術公司物聯(lián)網(wǎng)分公司,黑龍江大慶 163000
在當前數(shù)據(jù)環(huán)境之下,網(wǎng)絡和計算機數(shù)據(jù)技術的深入發(fā)展與應用,成為了推動工業(yè)環(huán)境安全以及控制體系朝向縱深延展的重要力量。進一步體現(xiàn)在過程控制中,就是以組態(tài)軟件作為突出代表的監(jiān)督與控制體系的建立,而在這樣的體系中,實時數(shù)據(jù)庫的應用發(fā)揮著至關重要的價值。
實時數(shù)據(jù)庫在組態(tài)軟件環(huán)境中,與歷史數(shù)據(jù)庫以及其他告警、趨勢曲線分析等一同作用,形成最為核心的數(shù)據(jù)庫體系。進一步對相應的應用需求展開分析,可以發(fā)現(xiàn)實時數(shù)據(jù)庫所面臨的核心問題,在于如何通過自身工作效率的提升,實現(xiàn)數(shù)據(jù)呈現(xiàn)的實時特征,并且同時確保數(shù)據(jù)在多個上位機端呈現(xiàn)的一致性和準確性。從功能的角度看,實時數(shù)據(jù)庫作為工業(yè)控制系統(tǒng)中關鍵的數(shù)據(jù)管理與共享體系,除了必須要求能夠有效地面向各種下位機現(xiàn)場數(shù)據(jù)的采集,為應用程序提供統(tǒng)一穩(wěn)定的數(shù)據(jù)平臺以外,還應當不斷深入數(shù)據(jù)的存儲和管理工作細節(jié),關注數(shù)據(jù)的處理效率和一致性鎖定等環(huán)節(jié)。除此以外,必要的開放性也是組態(tài)體系的必然要求,標準化的接口和更好的兼容特征,同樣成為實時數(shù)據(jù)庫未來發(fā)展的必然要求。
在這樣的需求環(huán)境之下,一個典型的實時數(shù)據(jù)庫結(jié)構(gòu)參見圖1。
圖1 典型的實時數(shù)據(jù)庫結(jié)構(gòu)圖
在整個系統(tǒng)中,虛線框內(nèi)為數(shù)據(jù)庫核心,其兩端分別與數(shù)據(jù)采集和服務接口相連。其中數(shù)據(jù)采集接口進一步與數(shù)據(jù)前端,諸如分布式控制系統(tǒng)(DCS,Distributed Control System)以及可編程邏輯控制器(PLC,Programmable Logic Controller)和相關工作現(xiàn)場的儀表設備等。而服務接口則進一步與應用系統(tǒng)保持聯(lián)系,主要是工業(yè)控制用的各類程序,諸如工控組態(tài)、實時優(yōu)化以及各種數(shù)據(jù)統(tǒng)計和顯示軟件等。同時應用程序通過服務接口模塊間接調(diào)用包括告警、顯示以及現(xiàn)場控制等相關組態(tài)功能部分,實現(xiàn)具體的職能。
對于實時數(shù)據(jù)庫的實現(xiàn)技術體系而言,實時性、容錯性以及穩(wěn)定性都是其必須要做到的重要特征,為了保證這些特征的實現(xiàn),在實時數(shù)據(jù)庫體系中涉及到多個方面的核心技術,包括組件化的模塊設計、被動式內(nèi)核結(jié)構(gòu)等,但是對于實時數(shù)據(jù)庫而言,最為核心和關鍵的技術,仍然是高效的數(shù)據(jù)存取技術。
高效數(shù)據(jù)存取技術,在實時數(shù)據(jù)庫系統(tǒng)中表現(xiàn)為一個技術簇,其中包括多個方面,快速位號檢索、訪問同步及數(shù)據(jù)共享、高速數(shù)據(jù)讀寫等技術,是其中的突出表現(xiàn)。多項技術共同保證整個實時數(shù)據(jù)庫體系的高效特征。
快速位號檢索主要用于實現(xiàn)在海量位號中快速定位指定目標。在實際對于數(shù)據(jù)進行讀取的時候,大量外圍業(yè)務和應用會對存取位號提出頻繁要求,并且CPU的工作能力會因此而被占用。在工控領域中,通常采用字符串作為位號,但是這進一步加劇了處理速度的問題。因此實時數(shù)據(jù)庫為每個組態(tài)位號分配一個ID,用以實現(xiàn)高速檢索。同時實時數(shù)據(jù)庫系統(tǒng)采用了雙索引結(jié)構(gòu),主索引數(shù)據(jù)結(jié)構(gòu)為平衡二叉樹,以ID作為標志,并且葉節(jié)點為指向位號實例的指針;副主索引的數(shù)據(jù)結(jié)構(gòu)為可擴展線性數(shù)組,以位號的索引號作為數(shù)組下標,數(shù)組單元內(nèi)容為指向位號實例的指針。通過這樣的機制,結(jié)合ID的回收利用機制,實現(xiàn)對于位號的快速檢索。
在工控環(huán)境中,實時數(shù)據(jù)庫必然會面臨大量的并發(fā)訪問,如何有效處理這些并發(fā)訪問,確保及時反映,也是實時數(shù)據(jù)庫面臨的重要問題之一。與此同時,大量的數(shù)據(jù)更新,同樣也是對于實時數(shù)據(jù)庫的一種并發(fā)訪問需求體現(xiàn),同樣需要有所響應,并且還需要進一步將更新的數(shù)據(jù)結(jié)果反饋給應用領域。對此,實時數(shù)據(jù)庫負責數(shù)據(jù)服務的內(nèi)核模塊采用了COM的MTA模式,對于多客戶端的并發(fā)訪問能夠?qū)崿F(xiàn)有效支持。并且實時數(shù)據(jù)庫還會依據(jù)數(shù)據(jù)源對位號展開分組,并且組內(nèi)持有共享鎖,可以實現(xiàn)數(shù)據(jù)的同步與鎖定,避免因為大量訪問和讀寫而造成的數(shù)據(jù)混亂。
高速數(shù)據(jù)讀寫同樣是支持實時數(shù)據(jù)庫高速運行的核心技術之一。在讀寫的過程中,必然存在有必要的數(shù)據(jù)量需要留駐在內(nèi)存環(huán)境中,但是內(nèi)存本身的物理容量又限制了其留駐數(shù)據(jù)的總量。針對此種情況,實時數(shù)據(jù)庫系統(tǒng)會考察不同數(shù)據(jù)的訪問頻率,以數(shù)據(jù)挖掘的總體思路來實現(xiàn)頻繁訪問數(shù)據(jù)的內(nèi)存策略,并且進一步為了提升歷史數(shù)據(jù)的存取效率,采用對應的組態(tài)緩沖技術,不斷實現(xiàn)存取速度的優(yōu)化。
實時數(shù)據(jù)庫對于工控工作環(huán)境而言意義重大,其工作效率更是成為眾多技術中的核心問題。實際工作中唯有時時關注技術發(fā)展,切實分析實際環(huán)境需求,才能選擇良好的策略,推動整個組態(tài)軟件體系的發(fā)展。
[1]王荃,壘壹,李福中.工控組態(tài)軟件實時數(shù)據(jù)庫系統(tǒng)的設計與實現(xiàn)[J].計算機應用,2000,27(3).
[2]周東球.先進控制軟件系統(tǒng)實時數(shù)據(jù)庫的設計[J].微計算機信息,2003,19(10).