王曉東
摘 要:實時應(yīng)用有很強的時間性,所處理的數(shù)據(jù)也往往具有一定的時效性。實時數(shù)據(jù)庫是實時系統(tǒng)和數(shù)據(jù)庫技術(shù)相結(jié)合的產(chǎn)物,本文介紹了實時數(shù)據(jù)庫的基本概念和特征,以及事務(wù)模型和數(shù)據(jù)庫管理系統(tǒng)。
關(guān)鍵詞:實時;實時數(shù)據(jù)庫;事務(wù)
一、引言
傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)不考慮有關(guān)數(shù)據(jù)及其處理的定時限制,無法滿足實時應(yīng)用的需要。傳統(tǒng)的實時系統(tǒng)不涉及維護大量共享數(shù)據(jù)及其完整性和一致性,尤其是時間一致性。只有將兩者的概念、技術(shù)、方法和機制有機結(jié)合形成的實時數(shù)據(jù)庫,才能同時支持定時和一致性。在傳統(tǒng)數(shù)據(jù)庫中,事務(wù)的原子性和可串行化是普遍接受的正確性和一致性標準。實時數(shù)據(jù)庫系統(tǒng)和傳統(tǒng)數(shù)據(jù)庫有著根本性的不同,其本質(zhì)的區(qū)別在于數(shù)據(jù)與事務(wù)的定時限制,實時事務(wù)由可見性、正確性、可恢復(fù)性、永久性和可預(yù)報性等特性確定。
二、特征
實時數(shù)據(jù)庫的特征主要體現(xiàn)在數(shù)據(jù)和事務(wù)的時間相關(guān)方面。在實時數(shù)據(jù)庫中,數(shù)據(jù)隨外部環(huán)境的變化而快速變化,其值只在一定的時間是有效的。因此系統(tǒng)除了維護數(shù)據(jù)庫數(shù)據(jù)值的正確性和相容性之外,還必須同時維護數(shù)據(jù)值與外部環(huán)境實際狀態(tài)的一致性,以及數(shù)據(jù)用來決策或者推導(dǎo)新數(shù)據(jù)時,在時間上的相互一致性。綜上所述,實時數(shù)據(jù)庫的數(shù)據(jù)特征主要有內(nèi)部一致性、外部一致性、相互一致性、時間一致性和狀態(tài)正確性。內(nèi)部一致性是指當(dāng)前數(shù)值滿足預(yù)先定義的數(shù)據(jù)庫內(nèi)部狀態(tài)的完整性和一致性限制,這就是傳統(tǒng)意義上的數(shù)據(jù)正確性。外部一致性是指實時數(shù)據(jù)庫中的數(shù)據(jù)應(yīng)與外部數(shù)據(jù)相一致,即要求數(shù)據(jù)庫中的數(shù)據(jù)能及時地反映外部環(huán)境的狀態(tài)。相互一致性要求用來導(dǎo)出新數(shù)據(jù)的一組數(shù)據(jù)在時間上應(yīng)盡量接近,外部一致性和相互一致性都是關(guān)于時間的,因此統(tǒng)稱時間一致性。狀態(tài)正確性要求既是內(nèi)部一致又是時間一致的數(shù)據(jù),才是正確的。
由于實時任務(wù)往往有內(nèi)部結(jié)構(gòu)和相互之間的聯(lián)系,導(dǎo)致實時數(shù)據(jù)庫事務(wù)表現(xiàn)出了許多與傳統(tǒng)事務(wù)不同的特征,主要有定時性、語義相關(guān)性和實時事務(wù)正確性。定時性是實時數(shù)據(jù)庫事務(wù)的根本特點,它包含定時限制和定時正確性兩方面的含義。定時限制即事務(wù)的執(zhí)行有顯式的時限,要求實時數(shù)據(jù)庫必須有時間處理機制。實時事務(wù)有不同的定時限制,其中最重要的是截止時間、到達時間和期望執(zhí)行時間。定時正確性即事務(wù)能按指定的時間要求正確執(zhí)行,它需要權(quán)衡定時限制與數(shù)據(jù)一致性要求等多方面因素,提供合適的調(diào)度和并發(fā)控制算法。
語義相關(guān)性是指實時數(shù)據(jù)庫事務(wù)之間存在各種關(guān)系,包括結(jié)構(gòu)關(guān)系、數(shù)據(jù)與通信關(guān)系和時間關(guān)系等等。雖然實時事務(wù)正確性與傳統(tǒng)事務(wù)一樣,也包括數(shù)據(jù)庫狀態(tài)正確性和事務(wù)執(zhí)行正確性兩個方面,但是其含義和內(nèi)容有很大不同。數(shù)據(jù)庫狀態(tài)正確性包含內(nèi)部一致和時間一致,事務(wù)執(zhí)行正確性則包含其結(jié)果正確性、行為正確性、結(jié)構(gòu)正確性和時間正確性。
三、實時事務(wù)
實時數(shù)據(jù)庫與普通數(shù)據(jù)庫的根本性區(qū)別在于數(shù)據(jù)和事務(wù)的定時限制,而數(shù)據(jù)的定時限制最終也要轉(zhuǎn)化成事務(wù)的定時限制。實時事務(wù)的分類有許多標準,一般來說可按關(guān)鍵性、功能、時間和數(shù)據(jù)方式等進行分類。按關(guān)鍵性分類有硬實時事務(wù)、軟實時事務(wù)和固實時事務(wù),按功能分類有控制事務(wù)、數(shù)據(jù)接收事務(wù)和數(shù)據(jù)處理事務(wù),按時間分類有周期事務(wù)、非周期事務(wù)和離散事務(wù),按數(shù)據(jù)方式分類有只讀事務(wù)、只寫事務(wù)和更新事務(wù)。
與傳統(tǒng)數(shù)據(jù)庫事務(wù)不同,實時數(shù)據(jù)庫事務(wù)還有以下幾個主要特性。(!)功能替代性,功能替代導(dǎo)致事務(wù)執(zhí)行路徑的不確定性,但是增強了實時事務(wù)的健壯性。(2)結(jié)構(gòu)復(fù)雜性,事務(wù)間以及事務(wù)內(nèi)部可能存在著多種結(jié)構(gòu),例如嵌套、分層、合并、分裂和協(xié)同通信等等。(3)語義相關(guān)性,由于事務(wù)間存在著多種關(guān)系,使得事務(wù)間存在各種相關(guān)性,例如結(jié)構(gòu)相關(guān)、數(shù)據(jù)相關(guān)、時間相關(guān)和行為相關(guān)等等。(4)結(jié)果補償性,當(dāng)實時事務(wù)夭折時,需要一種補償活動來抵消它的影響。(5)執(zhí)行依賴性,它是由實時事務(wù)的結(jié)構(gòu)復(fù)雜性和語義相關(guān)性引起的。實時事務(wù)在執(zhí)行時存在著各種依賴關(guān)系,一般分為開始依賴、提交依賴、夭折依賴、成功依賴和外部依賴等等。
四、數(shù)據(jù)庫管理系統(tǒng)
實時數(shù)據(jù)庫管理系統(tǒng)為了滿足數(shù)據(jù)和事務(wù)定時限制要求,需要具有新的特性。其設(shè)計的基本原則是寧要部分正確而及時的信息,也不要絕對正確但過時的信息。實時數(shù)據(jù)庫管理系統(tǒng)除了一般數(shù)據(jù)庫管理系統(tǒng)的功能之外,還具有以下功能特性。(?。?shù)據(jù)庫狀態(tài)的最新性,即盡可能保持數(shù)據(jù)庫的狀態(tài)為不斷變化的現(xiàn)實世界當(dāng)前最真實狀態(tài)的映像。(2)數(shù)據(jù)值的時間一致性,即確保事務(wù)讀取的數(shù)據(jù)是時間一致的。(3)事務(wù)處理的實時性,即確保事務(wù)的及時處理,使其定時限制尤其是執(zhí)行的截止期得以滿足。
描述實時數(shù)據(jù)庫管理系統(tǒng)運作原理的執(zhí)行模型包括以下幾種。(!)任務(wù)/事務(wù)模型。傳統(tǒng)的事務(wù)模型對實時數(shù)據(jù)庫已不適用,需要具有內(nèi)部構(gòu)造和彼此相關(guān)性的復(fù)雜事務(wù)模型,即嵌套、合并/分裂、通信和合并事務(wù)模型等。實時數(shù)據(jù)庫管理系統(tǒng)必須支持這種復(fù)雜事務(wù),處理事務(wù)間的結(jié)構(gòu)、行為和時間相關(guān)性。(2)資源模型。它確定系統(tǒng)資源的類型及其管理策略,包括分配、使用與回收策略。實時數(shù)據(jù)庫管理系統(tǒng)必須采用基于優(yōu)先級和考慮定時限制尤其是截止期的分配策略。(3)負載模型。它規(guī)定各種類型事務(wù)的到達(或在系統(tǒng)中生成)、執(zhí)行期限以及頻率的分布,包括周期、非周期和零星事務(wù),以及軟或硬事務(wù)及其延遲的代價計算等等。(4)調(diào)度模型。它確定事務(wù)的優(yōu)先級分配策略、調(diào)度算法、互相沖突的解決(并發(fā)控制)策略及其機制,控制事務(wù)正確、有效地執(zhí)行。實時數(shù)據(jù)庫管理系統(tǒng)的調(diào)度模型還應(yīng)有一定的可調(diào)度性預(yù)測能力,以及應(yīng)急處理能力。(5)執(zhí)行的正確性。實時數(shù)據(jù)庫管理系統(tǒng)不但要確保事務(wù)執(zhí)行結(jié)果(包括返回數(shù)據(jù)的狀態(tài)及產(chǎn)生的數(shù)據(jù)庫狀態(tài))的正確性,還要保證其執(zhí)行在結(jié)構(gòu)、行為和時間上的正確,即要正確實現(xiàn)事務(wù)間的結(jié)構(gòu)、行為、時間相關(guān)性及執(zhí)行依賴性。
五、結(jié)語
實時數(shù)據(jù)庫需要采集大量實時系統(tǒng)的數(shù)據(jù),進而經(jīng)過處理形成實時數(shù)據(jù)庫系統(tǒng)中的歷史數(shù)據(jù)。實時數(shù)據(jù)庫更為側(cè)重信息的及時性,它的查詢與事務(wù)處理都有與之相聯(lián)系的定時限制,結(jié)果產(chǎn)生的時間與結(jié)果本身一樣重要。事務(wù)必須維護數(shù)據(jù)庫對象的時間一致性,所以有時間限制與之聯(lián)系。實時數(shù)據(jù)庫提供維護數(shù)據(jù)有效性和事務(wù)及時性的機制,一般只存取數(shù)據(jù)庫當(dāng)前有效的信息。
參考文獻:
[1] 湯庸. 高級數(shù)據(jù)庫技術(shù)與應(yīng)用[M].北京:高等教育出版社, 2008.