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