新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 嵌入式實時數(shù)據(jù)庫技術(shù)研究

嵌入式實時數(shù)據(jù)庫技術(shù)研究

——
作者:劉 震,羅 欣 時間:2005-09-10 來源:EDN電子設(shè)計技術(shù) 收藏

嵌入式實時數(shù)據(jù)庫技術(shù)研究

本文引用地址:http://butianyuan.cn/article/8454.htm

隨著嵌入式系統(tǒng)的廣泛應用及嵌入式實時操作系統(tǒng)的不斷普及,嵌入式環(huán)境下的數(shù)據(jù)管理問題成為系統(tǒng)中的重要環(huán)節(jié),構(gòu)建嵌入式實時數(shù)據(jù)庫系統(tǒng)(RTDBS)成為嵌入式開發(fā)中必須解決的問題。這里所說的嵌入式RTDBS[1][2]是指可在嵌入式設(shè)備中獨立運行的一種數(shù)據(jù)庫系統(tǒng),用以處理大量的、時效性強且有嚴格時序的數(shù)據(jù),它以高可靠性、高實時性和高信息吞吐量為目標,其數(shù)據(jù)的正確性不僅依賴于邏輯結(jié)果,而且依賴于邏輯結(jié)果產(chǎn)生的時間。圖1是一個嵌入式應用的基本構(gòu)架,整個嵌入式RTDBS構(gòu)建于實時操作系統(tǒng)之上。由于嵌入式實時數(shù)據(jù)庫系統(tǒng)在運行環(huán)境和運行方式上與常見的企業(yè)級數(shù)據(jù)庫管理系統(tǒng)有很大差別,因此,傳統(tǒng)的企業(yè)數(shù)據(jù)庫如Oracle、Sybase等在實時嵌入式環(huán)境下很難發(fā)揮作用,尤其在一些實時性要求很高的控制系統(tǒng)中,傳統(tǒng)數(shù)據(jù)庫更顯得無能為力。因此,伴隨著各種商用嵌入式實時操作系統(tǒng)的出現(xiàn),研究嵌入式環(huán)境下的實時數(shù)據(jù)庫系統(tǒng)成為嵌入式軟件中的一項重要內(nèi)容。

圖1  嵌入式應用基本結(jié)構(gòu)

       嵌入式RTDBS內(nèi)涵及其體系結(jié)構(gòu)         

       目前嵌入式系統(tǒng)開發(fā)中,在實時數(shù)據(jù)庫問題上的多數(shù)看法是,嵌入式RTDBS從本質(zhì)上說是一個“內(nèi)存數(shù)據(jù)庫”,是一個由應用程序管理的內(nèi)存緩沖池,它在系統(tǒng)中的作用就是一個供多個實時任務共同使用的共享數(shù)據(jù)區(qū)。這種數(shù)據(jù)庫實際上是一個嵌入在用戶應用軟件中的與應用程序不可分割的部分,其功能主要是數(shù)據(jù)的存和取,不具有獨立性,不是一個真正意義上的數(shù)據(jù)庫系統(tǒng)。一個完整的嵌入式實時數(shù)據(jù)庫系統(tǒng)除了包括內(nèi)存數(shù)據(jù)庫外,還應當含有歷史數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)DBMS及提供給用戶的接口函數(shù),整個數(shù)據(jù)庫可由DBMS完成對數(shù)據(jù)庫的具體配置及各種操作,例如系統(tǒng)運行前根據(jù)實際需要對內(nèi)存數(shù)據(jù)庫中的記錄節(jié)點進行增減等配置操作。目前的嵌入式實時數(shù)據(jù)庫系統(tǒng)可分為兩大類,一類是商用級的嵌入式實時數(shù)據(jù)庫系統(tǒng),它獨立于具體的應用軟件,如提供的eXtremeDB內(nèi)存式實時數(shù)據(jù)庫,這是一種專門為嵌入式系統(tǒng)數(shù)據(jù)庫管理而編寫的實時數(shù)據(jù)庫,它將數(shù)據(jù)庫直接建立在內(nèi)存之中,并根據(jù)應用特征產(chǎn)生數(shù)據(jù)庫API,用戶可方便的調(diào)用這些接口函數(shù)管理整個數(shù)據(jù)庫系統(tǒng);另一類是用戶針對具體的應用對象而自行設(shè)計開發(fā)的嵌入式實時數(shù)據(jù)庫系統(tǒng),這種數(shù)據(jù)庫一般是嵌入到應用軟件中作為應用程序的一部分,不具有獨立性,目前測控系統(tǒng)中用戶開發(fā)的實時數(shù)據(jù)庫大都屬于這種情況。

       

圖2 嵌入式RTDBS系統(tǒng)結(jié)構(gòu)

       圖2所示的是一個嵌入式實時數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu),同傳統(tǒng)的數(shù)據(jù)庫一樣,它仍然是一種三級模式的結(jié)構(gòu)體系,即用戶模式、邏輯模式和存儲模式。在嵌入式環(huán)境下構(gòu)建實時數(shù)據(jù)庫系統(tǒng),應該完成以下功能:高效的數(shù)據(jù)存取機制、數(shù)據(jù)安全性控制、實時事務管理機制、數(shù)據(jù)庫的恢復機制等,設(shè)計中更關(guān)心的是系統(tǒng)的實時性、開銷大小、系統(tǒng)性能、可靠性、可預知性和底層控制能力,即如何針對選用的實時OS和嵌入式硬件平臺設(shè)計合理的數(shù)據(jù)模型和物理結(jié)構(gòu),重點放在如何高效的利用嵌入式系統(tǒng)的有限資源、如何提高數(shù)據(jù)的存取速度、如何進行數(shù)據(jù)保護、數(shù)據(jù)交換、查詢/ 事務處理算法的優(yōu)化、事務的優(yōu)先級分派、事務調(diào)度和并發(fā)控制等等。

       嵌入式RTDBS的數(shù)據(jù)模型   

       嵌入式實時數(shù)據(jù)庫系統(tǒng)的關(guān)鍵是數(shù)據(jù)模型的確立,它決定了數(shù)據(jù)被訪問和操作的方式,應用程序的性能和可靠性也大部分取決于此。目前嵌入式環(huán)境下的數(shù)據(jù)庫系統(tǒng)多數(shù)采用了關(guān)系模型結(jié)構(gòu),這也是商用數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)模型,該模型結(jié)構(gòu)是利用二維關(guān)系表來實現(xiàn)數(shù)據(jù)存儲,利用索引訪問和查詢數(shù)據(jù),這種模型結(jié)構(gòu)是建立在嚴格的數(shù)學基礎(chǔ)上的,結(jié)構(gòu)簡單靈活,獨立性好,但在嵌入式環(huán)境下的內(nèi)存開銷和數(shù)據(jù)冗余較大,用戶必須對其進行優(yōu)化,增加了開發(fā)數(shù)據(jù)庫系統(tǒng)的難度;有些嵌入式數(shù)據(jù)庫則采用了網(wǎng)狀模型結(jié)構(gòu),該模型通過指針來確定數(shù)據(jù)間的顯式連接關(guān)系,它比關(guān)系模型中利用冗余數(shù)據(jù)和索引文件要節(jié)約大量的存儲空間,具有一定的數(shù)據(jù)獨立性和共享特性,運行效率較高,而且由于它避免了索引操作,比關(guān)系型數(shù)據(jù)庫模式要節(jié)省存儲空間,數(shù)據(jù)操作速度也更快。但是這種模型結(jié)構(gòu)比較復雜,尤其當嵌入式系統(tǒng)規(guī)模增大時,其數(shù)據(jù)庫的結(jié)構(gòu)變得非常龐大,可能會影響到系統(tǒng)的實時性能。圖3所示的是在相同數(shù)目的記錄下,關(guān)系模型和網(wǎng)狀模型的系統(tǒng)開銷比較,從圖中可以看出,網(wǎng)狀模型因為避免了索引操作使得其開銷要小于關(guān)系模型。但是在實際應用中,應當根據(jù)實時系統(tǒng)的綜合性能選取數(shù)據(jù)庫模型,通常可采用網(wǎng)狀加關(guān)系或?qū)哟渭雨P(guān)系的混合模型結(jié)構(gòu)以彌補兩種結(jié)構(gòu)之間的缺陷,如CENTURA公司的嵌入式實時數(shù)據(jù)庫RDM(Raima Database Management),它將網(wǎng)狀和關(guān)系模型的優(yōu)點結(jié)合起來,避免了不必要的索引開銷,顯著地減少系統(tǒng)存儲空間、I/O操作和CPU周期,由于其快速而且可靠性高的特點,廣泛應用于許多嵌入式產(chǎn)品中。

圖3  關(guān)系和網(wǎng)狀模型開銷比較



關(guān)鍵詞: 美國McObject公司

評論


技術(shù)專區(qū)

關(guān)閉