999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

工控組態(tài)軟件實時數(shù)據(jù)庫系統(tǒng)的開發(fā)與設(shè)計

2011-07-26 11:03:56侯立剛肖炎良
自動化儀表 2011年12期
關(guān)鍵詞:數(shù)據(jù)庫系統(tǒng)

張 勇 侯立剛 肖炎良 周 翔

(遼寧石油化工大學信息與控制工程學院,遼寧 撫順 113001)

0 引言

組態(tài)軟件是工業(yè)控制系統(tǒng)中實現(xiàn)分散控制和集中管理的核心,而實時數(shù)據(jù)庫又是組態(tài)軟件的核心。實時數(shù)據(jù)庫保存著系統(tǒng)運行時所產(chǎn)生的動態(tài)數(shù)據(jù)和系統(tǒng)正常運行所需的各種內(nèi)部信息,各功能模塊通過對實時數(shù)據(jù)庫中數(shù)據(jù)的存取和處理來完成系統(tǒng)所要求的各種功能。同時,實時數(shù)據(jù)庫也是聯(lián)系圖形系統(tǒng)、歷史數(shù)據(jù)系統(tǒng)、報表系統(tǒng)和報警系統(tǒng)的橋梁和紐帶[1]。實時數(shù)據(jù)庫及時準確地獲取現(xiàn)場數(shù)據(jù)是系統(tǒng)發(fā)揮作用的前提。鑒于商業(yè)性的原因,許多公司對實時數(shù)據(jù)庫技術(shù)嚴加保密。因此,有必要深入探討和研究實時數(shù)據(jù)庫的核心技術(shù),自行開發(fā)適用的實時數(shù)據(jù)庫系統(tǒng)。

1 實時數(shù)據(jù)庫系統(tǒng)概述

實時數(shù)據(jù)庫系統(tǒng)是指其數(shù)據(jù)和事務(wù)都具有顯式的定時特性或確定的定時限制的數(shù)據(jù)庫系統(tǒng),系統(tǒng)的正確性不僅依賴于事務(wù)的邏輯結(jié)果,而且依賴于該邏輯結(jié)果所產(chǎn)生的時間[2]。實時數(shù)據(jù)庫系統(tǒng)的主要目標是使盡量多的事務(wù)在規(guī)定的時間內(nèi)完成,而不是公平地分配系統(tǒng)資源,即系統(tǒng)寧可接收在時間限度內(nèi)不準確的數(shù)據(jù),也不接收超過時間限制的準確數(shù)據(jù)。實時數(shù)據(jù)庫系統(tǒng)的研究內(nèi)容包括實時數(shù)據(jù)庫及其事務(wù)調(diào)度系統(tǒng)。總的來說,實時數(shù)據(jù)庫系統(tǒng)具有以下幾個特點:時間約束性、事務(wù)調(diào)度、數(shù)據(jù)存儲的特殊性和數(shù)據(jù)的在線壓縮。

①時間約束性。實時數(shù)據(jù)庫的特點是在其數(shù)據(jù)和事務(wù)上都具有明確的時間限制,即其中的數(shù)據(jù)不僅要滿足數(shù)據(jù)庫的普通一致性,還要滿足時間一致性。在實時系統(tǒng)中,具有時間約束的數(shù)據(jù)主要是外部現(xiàn)場動態(tài)變化的數(shù)據(jù)和由這些數(shù)據(jù)導出或衍生的數(shù)據(jù)。因此,可將數(shù)據(jù)的時間約束分為兩類:數(shù)據(jù)的絕對一致性和數(shù)據(jù)的相互一致性。數(shù)據(jù)的絕對一致性是指實時數(shù)據(jù)庫的數(shù)據(jù)與外部數(shù)據(jù)(即環(huán)境數(shù)據(jù))相一致;相對一致性是要求從一組數(shù)據(jù)項導出另一組數(shù)據(jù)時,源數(shù)據(jù)項在時間上要盡量接近。

②事務(wù)調(diào)度。與傳統(tǒng)數(shù)據(jù)庫系統(tǒng)不同的是,為提高事務(wù)的吞吐率,實時數(shù)據(jù)庫是為了達到使盡量多的事務(wù)在規(guī)定期限內(nèi)完成而使用事務(wù)調(diào)度。實時數(shù)據(jù)庫中的實時事務(wù)調(diào)度大部分是建立在事務(wù)的優(yōu)先級之上的。因此,實時事務(wù)調(diào)度不僅要考慮事務(wù)的執(zhí)行時間,還要考慮事務(wù)的截止時間和緊迫程度等。

③數(shù)據(jù)存儲方式。由于實時數(shù)據(jù)庫系統(tǒng)中存儲和管理的數(shù)據(jù)具有實時性,因此其存儲方式也有別于傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)。在系統(tǒng)運行過程中,對實時性要求較高的數(shù)據(jù)應(yīng)存于內(nèi)存中,以實現(xiàn)讀取速度快、實時性良好等特點,易于數(shù)據(jù)的共享與傳遞;對實時性要求不高的非共享數(shù)據(jù)和共享數(shù)據(jù),可以存放于外存儲空間。因此,在設(shè)計實時數(shù)據(jù)庫時,需要妥善處理時間與存儲空間之間的矛盾,以保證系統(tǒng)的實時性。

④數(shù)據(jù)在線壓縮。在實際的數(shù)據(jù)存儲中,實時數(shù)據(jù)庫還要解決如何高效處理海量數(shù)據(jù)的問題。如果數(shù)據(jù)被原封不動地存儲,勢必需要大量內(nèi)存和磁盤空間以及耗費大量的CPU時間。因此,必須對實時數(shù)據(jù)進行在線壓縮存儲[3]。

2 數(shù)據(jù)庫的設(shè)計思想

2.1 數(shù)據(jù)的存儲策略

由于傳統(tǒng)數(shù)據(jù)庫基本上都是面向事務(wù)的,它所使用的數(shù)據(jù)表示方法、存儲模式和存取手段已不能滿足工控組態(tài)軟件對實時性的要求,因此有必要根據(jù)組態(tài)軟件,對不同類型的數(shù)據(jù)所要求的響應(yīng)速度和數(shù)據(jù)量的大小來定制存儲策略。對于工業(yè)現(xiàn)場中每個采樣周期都要更新、變化的實時性很強的數(shù)據(jù),可以將這些數(shù)據(jù)存于內(nèi)存數(shù)據(jù)庫,這樣就能滿足數(shù)據(jù)存取速度快、存取靈活的要求;對工控軟件并無特殊要求的非共享數(shù)據(jù)和共享數(shù)據(jù),這些數(shù)據(jù)是非實時性要求的,可存放于外存數(shù)據(jù)庫(如Access數(shù)據(jù)庫等),并且可通過實時數(shù)據(jù)庫提供的接口函數(shù)進行數(shù)據(jù)的操作;對需要長期保存的非共享數(shù)據(jù),如采樣值的數(shù)/模轉(zhuǎn)換系數(shù)、控制組態(tài)值等,可用文件管理系統(tǒng)進行直接存取[4]。

綜上所述,可通過使用外存數(shù)據(jù)庫(Access數(shù)據(jù)庫)、文件管理系統(tǒng)和內(nèi)存數(shù)據(jù)庫(實時數(shù)據(jù)庫)等多種存取方式、多種存儲介質(zhì)相結(jié)合的方法存儲數(shù)據(jù),以保證數(shù)據(jù)的共享性和獨立性。同時還能達到節(jié)約內(nèi)存、保證系統(tǒng)響應(yīng)速度的目的[5]。

2.2 數(shù)據(jù)庫的功能模塊

本文采用面向?qū)ο缶幊?object-oriented programming,OOP)技術(shù),將實時數(shù)據(jù)庫定義為類的形式,各功能模塊通過對實時數(shù)據(jù)庫的接口函數(shù)調(diào)用,實現(xiàn)與實時數(shù)據(jù)庫的關(guān)聯(lián)。

系統(tǒng)運行時按用戶組態(tài)好的數(shù)據(jù)文件生成不同類型的實時數(shù)據(jù)類對象。這些類建立的對象分別對應(yīng)于現(xiàn)場的每個實時量。由于實時量很多,為了能夠方便地管理這些對象,完成對數(shù)據(jù)的各種操作管理,將管理程序的所有功能封裝成一個專用的類Mdataunit,用Mdataunit類將這些實時數(shù)據(jù)庫的各個對象聚集起來,以便管理。具體的聚集方法是:首先根據(jù)不同的數(shù)據(jù)類建立起不同的List鏈表,通過鏈表將這些不同的結(jié)構(gòu)連接起來;然后把這些建立起來的鏈表作為Mdataunit的數(shù)據(jù)成員進行管理。現(xiàn)將實時數(shù)據(jù)庫類的各操作函數(shù)定義為以下幾個模塊,如圖1所示。

圖1 實時數(shù)據(jù)庫類Fig.1 Category of real-time database

部分實時數(shù)據(jù)庫類的設(shè)計程序如下。

2.3 事務(wù)調(diào)度系統(tǒng)

實時數(shù)據(jù)庫系統(tǒng)事務(wù)調(diào)度如圖2所示。

圖2 實時數(shù)據(jù)庫系統(tǒng)事務(wù)調(diào)度Fig.2 Transaction scheduling of real-time database system

在組態(tài)軟件系統(tǒng)進入運行環(huán)境時,還要進行現(xiàn)場數(shù)據(jù)采集、數(shù)據(jù)處理、圖形顯示和報警事務(wù)等操作,所有的事務(wù)要求并行處理。如果等待時間過長,將無法滿足實時性要求,這就需要一個事務(wù)調(diào)度并按照事務(wù)的優(yōu)先級統(tǒng)一調(diào)度,完成各事務(wù)的協(xié)調(diào)工作,以滿足系統(tǒng)實時性要求[6]。為此,先建立三個優(yōu)先級:實時數(shù)據(jù)請求類、趨勢數(shù)據(jù)請求類和歷史數(shù)據(jù)類。在進行調(diào)度時,根據(jù)先到先服務(wù)的原則將任務(wù)放置于不同的優(yōu)先級隊列中,然后以不同的優(yōu)先級進行調(diào)度,在同一隊列中采用時間片輪轉(zhuǎn)算法實現(xiàn)服務(wù)先后。

時間片輪轉(zhuǎn)法是一種經(jīng)典的調(diào)度算法,其基本思想是將處理機的處理時間劃分成一個個的時間片,就緒隊列中的諸進程按所分配的時間片輪流使用處理機資源。進程調(diào)度程序總是選擇就緒隊列中的第一個進程,當進程分配的時間片用完時,這個進程就被強迫讓出處理機,并且進入就緒隊列的末尾重新排隊,等待下一次調(diào)度。同時,進程調(diào)度又去選擇就緒隊列中的下一個進程,分配給它一個時間片,以投入運行。如此循環(huán)往復,實現(xiàn)實時調(diào)度各事務(wù)。

3 數(shù)據(jù)模型的建立

工業(yè)控制中的數(shù)據(jù)包括現(xiàn)場采集的數(shù)據(jù)、組態(tài)參數(shù)、計算數(shù)據(jù)、屬性數(shù)據(jù)和控制數(shù)據(jù)等。這些數(shù)據(jù)既有模擬量、數(shù)字量,也有字符型量。本文選用VC++作為開發(fā)工具,利用面向?qū)ο蠹夹g(shù),將實時數(shù)據(jù)庫中的數(shù)據(jù)對象類分為模擬量、數(shù)字量和字符串三種,分別定義為模擬量類CAnalog、數(shù)字量類CDigital和字符串類CMystring。所有的類均派生自CObject類。CObject類是Windows系統(tǒng)下用于表示對象的最基本類,是一個抽象類。實時數(shù)據(jù)庫定義的所有域都是相應(yīng)實時數(shù)據(jù)庫類的屬性。此外,每種實時數(shù)據(jù)庫類由特定的成員函數(shù)進行屬性的處理。下面給出模擬量類定義的部分程序,其他類的定義基本相似。

4 動態(tài)鏈接庫

為了節(jié)省內(nèi)存、提高程序的執(zhí)行效率,本文利用動態(tài)鏈接庫(dynamic link library,DLL)和全局內(nèi)存共享技術(shù)來建立系統(tǒng)運行時的實時數(shù)據(jù)庫。動態(tài)鏈接庫DLL是Windows中的一種特殊的程序單元,被稱為非任務(wù)的可執(zhí)行模塊,它們由調(diào)用者的任務(wù)所驅(qū)動。動態(tài)鏈接是相對于靜態(tài)鏈接來定義的,靜態(tài)鏈接是由連接程序?qū)㈧o態(tài)連接庫中的函數(shù)或資源在連接時拷貝給每個運行程序[7-8]。

在VC++6.0新建窗口中擴展生成DLL的VC程序框架,在生成的程序框架中定義動態(tài)鏈接庫的數(shù)據(jù)結(jié)構(gòu)后,把實時數(shù)據(jù)封裝為一個類 CVariable-Database[8],它是 MFC 中的類 CDatabase的派生。所有數(shù)據(jù)庫接口訪問函數(shù)定義為類CVariableDatabase的成員函數(shù)。將CVariableDatabase類作為輸出類,便于管理和維護。下面是動態(tài)鏈接庫類的具體實現(xiàn)。

5 數(shù)據(jù)庫接口

實時數(shù)據(jù)庫接口是系統(tǒng)提供給用戶的一個開放的接口規(guī)范,它允許用戶利用該接口直接訪問實時數(shù)據(jù)庫。這就為用戶開發(fā)輸入輸出接口驅(qū)動程序和用戶算法模塊提供了方便快捷的途徑[9-10]。動態(tài)鏈接庫中的類CVariableDatabase的實現(xiàn),為數(shù)據(jù)庫提供了一套實時數(shù)據(jù)庫接口,用于實現(xiàn)用戶與實時數(shù)據(jù)庫之間的高速數(shù)據(jù)傳遞和對實時數(shù)據(jù)庫的讀寫、查詢和管理等功能。

由于系統(tǒng)直接利用這些接口函數(shù)實現(xiàn)和實時數(shù)據(jù)庫的數(shù)據(jù)交換,因此,系統(tǒng)不但具有全面的開放性和二次開發(fā)的功能,且其實時性也大大優(yōu)于其他數(shù)據(jù)交換協(xié)議。

6 結(jié)束語

組態(tài)軟件中的實時數(shù)據(jù)庫技術(shù)是當前較新的數(shù)據(jù)庫研究方向,有很大的發(fā)展空間與潛力。本文采用面向?qū)ο蟮脑O(shè)計思想,將實時數(shù)據(jù)庫的操作以類的方式實現(xiàn),并且利用類的繼承、派生和重載等特性提高程序質(zhì)量;利用動態(tài)鏈接庫和全局內(nèi)存共享技術(shù)來建立系統(tǒng)實時數(shù)據(jù)庫,并為用戶提供一組接口函數(shù)實現(xiàn)數(shù)據(jù)庫的訪問,大大提高了實時數(shù)據(jù)庫系統(tǒng)的實時性與開放性。

[1]王荃,金海東,李福中.工控組態(tài)軟件實時數(shù)據(jù)庫系統(tǒng)的設(shè)計與實現(xiàn)[J].化工自動化及儀表,2000,27(3):40 -43.

[2]王成光,蘇宏業(yè),褚健.石化企業(yè)大型實時數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)設(shè)計[J].化工自動化及儀表,2002,29(5):7 -11.

[3]錢笑宇,張彥武.工業(yè)實時數(shù)據(jù)庫的研究和設(shè)計[J].計算機工程,2005,31(5):98 -132.

[4]張會彥,周麗虹.新型構(gòu)件化組態(tài)軟件中實時數(shù)據(jù)庫設(shè)計與實現(xiàn)[J].計算機應(yīng)用于軟件,2009,26(7):153 -174.

[5]楊華麗,石銳,胡捷,等.組態(tài)軟件中實時數(shù)據(jù)庫系統(tǒng)的設(shè)計和實現(xiàn)[J].實驗技術(shù)與管理,2007,24(3):80 -83.

[6]宋清昆,孫元娜,王學偉,等.組態(tài)軟件實時數(shù)據(jù)庫系統(tǒng)的設(shè)計[J].計算機應(yīng)用,2008,27(1):55 -57.

[7]闞宏進,劉希遠,李翠玲.基于VC++工控組態(tài)軟件實時數(shù)據(jù)庫系統(tǒng)的設(shè)計[J].甘肅工業(yè)大學學報,2001,27(4):73 -76.

[8]孫鑫,余安萍.VC++深入詳解[M].北京:電子工業(yè)出版社,2006.

[9]楊立保,許忠仁.組態(tài)軟件實時數(shù)據(jù)庫的研究與設(shè)計[J].自動化儀表,2009,30(8):19 -21.

[10]姜軍銀,侯立剛.基于COM技術(shù)的通用數(shù)據(jù)庫存取組件的設(shè)計[J].遼寧石油化工大學學報,2005,25(1):75-77.

猜你喜歡
數(shù)據(jù)庫系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數(shù)據(jù)庫
財經(jīng)(2017年15期)2017-07-03 22:40:49
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 五月天久久综合| 欧洲精品视频在线观看| 朝桐光一区二区| 国产中文在线亚洲精品官网| 欧美日本在线| 亚洲第一黄色网址| 精品视频91| 色天天综合| 老司机午夜精品网站在线观看| 国产精品永久久久久| 国产精品视频第一专区| 黄色在线不卡| 欧美日韩福利| 日韩国产高清无码| 亚洲性一区| 亚洲欧洲天堂色AV| 高潮毛片无遮挡高清视频播放 | 欧美 亚洲 日韩 国产| 国产第三区| 成人蜜桃网| 成人午夜网址| 久久青草视频| 亚洲第一成年人网站| 欧美国产日本高清不卡| 四虎成人精品在永久免费| 午夜视频日本| 亚洲码在线中文在线观看| a在线亚洲男人的天堂试看| 五月天香蕉视频国产亚| 亚洲中文字幕久久精品无码一区| 久久久久国产精品熟女影院| 一本久道热中字伊人| 精品一區二區久久久久久久網站| 97在线国产视频| 免费观看无遮挡www的小视频| 天堂va亚洲va欧美va国产| 国产成人做受免费视频| 九九九精品视频| www.99在线观看| AV网站中文| 亚洲永久色| 欧美国产精品拍自| 国产精品yjizz视频网一二区| 亚洲第一区欧美国产综合| 中文一级毛片| 午夜一级做a爰片久久毛片| 国产成人无码AV在线播放动漫| 妇女自拍偷自拍亚洲精品| 人妻夜夜爽天天爽| 午夜精品区| 午夜国产在线观看| 日韩不卡免费视频| 国产主播在线一区| 日韩毛片免费视频| 亚洲欧美不卡中文字幕| 亚洲精品第一页不卡| 久久精品中文字幕免费| 國產尤物AV尤物在線觀看| 国产亚洲高清视频| 九九香蕉视频| 欧美另类第一页| V一区无码内射国产| 亚洲无码不卡网| 一本无码在线观看| 亚洲熟女偷拍| 原味小视频在线www国产| 色AV色 综合网站| 国产女人在线视频| 超碰免费91| 免费观看亚洲人成网站| 国产三级a| 亚洲中文字幕无码爆乳| 欧美啪啪一区| 亚洲欧洲日本在线| 亚洲va欧美va国产综合下载| 国产欧美性爱网| 国产精品无码一二三视频| 日本人妻一区二区三区不卡影院| 免费看a级毛片| 超级碰免费视频91| 国产中文一区a级毛片视频| 国产女同自拍视频|