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