【摘要】組態軟件廣泛的應用于工業過程控制中,決策者如何能夠隨時查看生產過程數據,以便快速地做出更為正確的商業決策,是企業信息化建設的重點。生產過程數據是很重要的資源,如果不能解決生產過程數據實時有效傳遞的問題,將無法充分保障決策管理者的投資,以便使企業獲得最大的利潤。控制系統要求能夠迅速反應當前的生產狀態,具有嚴格的實時性,傳統的關系型數據庫不能實時反映當前有效期內數據的情況,不適合時間關鍵型的應用領域,需要設計專門的實時數據庫來解決這類問題。
【關鍵詞】組態軟件實時數據庫事務處理歷史數據庫
1組態軟件的研究
組態軟件是工業現場廣泛應用的專業軟件,具有數據采集、顯示、控制、通信等功能,是工業系統的最終實現工具。
組態軟件的主要功能模塊有提供多種通信協議的FO模塊,可生成可被調用工程數據文件的組態配置模塊,供后臺運行使用的實時數據采集模塊,數據分析和處理模塊,實時監測運行情況的監測控制模塊,歷史數據處理模塊。
隨著工業的發展,組態軟件的功能也日益增多、增強,數據量也不斷擴大,數據之間的關系也越來越復雜。而數據庫技術在商業領域中取得巨大成功,帶來巨大的效益。用數據庫技術來管理、處理組態軟件中的數據成為人們普遍開發應用的課題。但這些數據的顯著特點是具有時間特性,且有效時間是短暫的,過時則失效。而以關系數據庫為代表的傳統數據庫的設計目標則是維護數據的正確性、保證系統的低代價和提供友好的用戶接口。這種數據庫系統對傳統的商務和事務型應用是非常有效的、成功的,但對于滿足新要求的實時數據和實時事務的應用要求卻難以勝任。所以,需要對數據庫技術和實時技術的結合進行研究,設計具有顯式定時限制的實時數據庫系統。
2實時數據庫的基本概念
實時數據庫系統RTDBS(Real-Time Database System)是數據和事務都有定時特性或確定的定時限制的數據庫系統。系統的正確性不僅依賴于邏輯結果,還依賴于邏輯結果產生的時間。實時數據庫是用于處理數據不斷變化的系統,這與傳統的數據庫管理不受時間影響的持久性數據具有很大的差別,這包含了對短暫有效數據的定時存取。傳統的數據庫系統目的在于處理永久性效據,其設計與開發強調維護數據的完整性、一致性,提高系統的吞吐量和降低系統成本代價,不考慮與數據及其處理相關聯的定時限制,因而傳統的商務型和管理事務型DBMS不能滿足這種實時應用的需求。因此,只有將數據庫與實時系統兩者的概念、技術、方法與機制集成在一起的實時數據庫系統才能同時支持定時性和一致性要求,以適用新型領域的應用。
從數據庫的角度看,一個過程控制系統由三個子系統組成:被控系統、執行控制系統、數據系統。在實時數據庫中,數據的值隨時依外部環境狀態的變化而頻繁地改變,一個數據值只在一定的時間內是有效的,許多事務又只能使用有效數據。設計事務調度策略時,事務的時間約束是一個重要的因素,時間要求苛刻的事務,在不影響實時數據庫一致性的前提下,應該盡早的調度運行。對于實時數據庫中的每一個數據對象,有內部一致性、外部一致性和相互一致性三個特征。為了使事務滿足它們的時效性,應當將事務的時間信息加入到調度中來,事務越緊急應越早的投入運行。一個實時數據對象和非實時對象之間的主要差別就在實時數據對象存在一個數據有效的時間范圍,超出這個時間范圍,數據的效用將降低。
3組態軟件實時數據庫的實現
實時數據庫技術是實時系統和數據庫技術相結合的產物,我們希望利用數據庫技術來解決實時系統中的數據管理問題。提高數據庫系統的實時性有很多行之有效的好辦法,改善系統的硬件配置,使用經過專門設計的計算機系統來提升計算機整體性能,提高數據檢索和數據處理的速度,使數據庫運行在內存中,然后針對內存中的數據庫設計專門的數據結構和數據處理算法可以極大的改善數據庫的處理效率,提高系統的實時性。
數據庫邏輯結構設計是指從數據庫的概念模型出發,設計表示為邏輯模式的數據庫邏輯結構。邏輯結構設計與DBMS采用的數據模型(如關系模型、層次模型、網狀模型)密切相關。MysQL數據庫管理系統是從于關系數據模型的,關系數據庫是按照二維表組織和存儲的相互關聯的關系(表)的集合,關系數據庫模式是關系模式的集合。
數據庫邏輯設計只是規定了數據庫中存放的應用數據的邏輯結構,這種邏輯結構與數據庫的具體物理實現無關。因此,在數據庫物理結構設計階段,需要進一步考慮數據在實際數據庫管理系統、硬件環境和操作系統平臺下的具體存儲結構和數據存取方式,即數據庫的物理結構。
將與平臺無關的描述數據庫邏輯結構的關系模式轉換為所選定的具體數據庫管理系統(DBMS)可支持的基本關系表以完成數據庫邏輯模式的實現。選擇或配置基本關系表的文件組織形式。MySQL5中有三種主要的表類型:MyISAM、InnoDB和HEAP,這三種類型各有特點,使用場合不同。MyISAM數據表類型的特點是成熟、穩定和易于管理,存取率非常高、占用空間比較少,數據記錄的提取和恢復工作比其他的數據表容易;InnoDB表功能比較完善,但是占用空間量相對大很多;HEAP數據表只存在于內存中,所以數據的存取速度非常快。根據數據庫的特點,歷史數據庫選擇MyISAM表類型,實時數據庫選擇HEAP表類型。
在實時數據庫系統中,事務分類方法有很多種,從事務處理數據的方式上來劃分,可以分為:只讀、只寫和更新事務。這種分類方法對于分析數據庫的并發控制比較方便。
組態軟件實時數據庫是一個軟實時系統,對于事務截止期(deadiine)的限制并不是非常嚴格。事務調度的目標是當并發度高、負載大的時候,讓最重要的一類事務先滿足截止期的要求,并盡量滿足多數事務的時間限制。事務根據緊迫性要求分為兩類,一類是實時事務,另一類為非實時事務,由兩個事務隊列來管理。當事務請求到來的時候,先根據事務的性質將事務分配到這兩個隊列中,形成兩個調度序列。在事務執行時候,通過設定優先級管理模塊優,把實時事務隊列中的事務投入運行。
結束語
實時數據庫的基礎理論和具體實現在國內外都還處在不成熟階段,沒有統一的工業標準。設計一個完整的實時數據庫還有許多方面需要進一步學習與研究。
組態軟件實時數據庫具有重要的基礎性作用,在充分學習和研究實時數據庫領域的現有的基礎理論前提下,從實時數據庫的普遍性概念和設計思路入手,分析了實時數據庫的功能需求。針對過程控制領域對組態軟件提出的實時性要求,通過采用自主開發的實時數據庫和成熟的傳統關系數據庫相結合的方式來存儲和管理數據,從而發揮兩個數據庫的各自優點。
實時數據庫的設計能顯著提高系統的響應速度,比基于磁盤的數據庫有更高的存取效率,滿足組態軟件實時性的要求。