摘 要:伴隨著科技的飛速發(fā)展,許多的移動終端設(shè)備逐漸出現(xiàn)在大家的眼前,并得到了很好的應(yīng)用,同時,嵌入式數(shù)據(jù)庫的應(yīng)用對移動終端設(shè)備的用戶顯得尤為的重要。對于嵌入式數(shù)據(jù)庫的研究與開發(fā)也成為了我們所要關(guān)注的重點(diǎn)。
關(guān)鍵詞:嵌入式數(shù)據(jù)庫;數(shù)據(jù)引擎;構(gòu)件
中圖分類號:TP311.13
1 嵌入式數(shù)據(jù)庫應(yīng)用的背景及意義
在人們的日常生活中,嵌入式系統(tǒng)的應(yīng)用隨處可見,其在軟件中的應(yīng)用越來越多,對開發(fā)軟件所投入的也越來越多。在微電子和存儲技術(shù)飛速發(fā)展的今天,對于嵌入式系統(tǒng)的內(nèi)存的需求也越來越大,同時嵌入式系統(tǒng)所要處理的數(shù)據(jù)量就隨之而不斷的增加,程序開發(fā)人員不得不將運(yùn)用于企業(yè)級的處理數(shù)據(jù)庫的技術(shù)應(yīng)用到嵌入式系統(tǒng)中,因此,數(shù)據(jù)庫技術(shù)在嵌入式系統(tǒng)的應(yīng)用也就應(yīng)運(yùn)而生。
2 嵌入式數(shù)據(jù)庫具有的特點(diǎn)
嵌入式數(shù)據(jù)庫在國外已經(jīng)有了30多年的發(fā)展史,其中典型的代表有Empress數(shù)據(jù)庫。Empress數(shù)據(jù)庫所體現(xiàn)出來的特點(diǎn)都是嵌入式數(shù)據(jù)庫所具有的特點(diǎn)。嵌入式數(shù)據(jù)庫與企業(yè)級的數(shù)據(jù)庫是不同的,下面筆者介紹了Empress嵌入式數(shù)據(jù)庫的主要特點(diǎn)。
2.1 嵌入性。在嵌入式數(shù)據(jù)庫當(dāng)中,其主要的特點(diǎn)就是它的嵌入性,該數(shù)據(jù)庫不僅僅能夠在軟件中使用,同時還能夠應(yīng)用與很多的硬件設(shè)備中去。開發(fā)人員可以將Empress數(shù)據(jù)庫嵌入到所要發(fā)布的產(chǎn)品當(dāng)中,成為產(chǎn)品的一部分,而客戶使用產(chǎn)品時是感受不到數(shù)據(jù)庫的存在的,也不需要去對數(shù)據(jù)庫進(jìn)行維護(hù)。Empress數(shù)據(jù)庫的實(shí)時性是通過嵌入式和數(shù)據(jù)引擎等的技術(shù)結(jié)合來完成的。
2.2 伸縮性。由于客戶的需求都是各不相同的,嵌入式的場合對硬件、軟件的平臺要求都是不一樣的。因此,嵌入式數(shù)據(jù)庫必須能夠在各種不同的平臺上運(yùn)行。數(shù)據(jù)庫Empress所能夠支持的平臺大概能有6000多個。
2.3 多線程和多進(jìn)程。簡單的編程已經(jīng)不能夠?qū)崿F(xiàn)現(xiàn)在社會中所應(yīng)用的嵌入式系統(tǒng),隨著代碼量的增加,功能需求越來越多,其未來的發(fā)展必然要使用多線程和多進(jìn)程。
3 20%和80%
在應(yīng)用場合上,嵌入式和服務(wù)器架構(gòu)或者是PC的應(yīng)用是不同的。有很多的組件以及標(biāo)準(zhǔn)存在于嵌入式系統(tǒng)中,因此在應(yīng)用的時候其一些特殊化問題也頻繁出現(xiàn)。無論用戶所需的產(chǎn)品多么成熟,組件多么完善,它們都只能對客戶的80%的需求進(jìn)行實(shí)現(xiàn),剩下20%不能完成的需求,是由產(chǎn)品的供應(yīng)商和使用者兩者共同來解決的。這20%的問題當(dāng)中有很多特殊要求的功能,筆者在下文介紹了其中兩個問題:
3.1 在不同的環(huán)境和平臺下的移植。很多的操作系統(tǒng)都聲明說本系統(tǒng)支持接口POSIX,但是在有些操作系統(tǒng)上是不能夠高效率的運(yùn)行實(shí)時嵌入式數(shù)據(jù)庫的。一些高的實(shí)時性操作還需要CPU來進(jìn)行處理,因此,在客戶還沒有使用嵌入式數(shù)據(jù)庫時,就應(yīng)該提前在客戶的應(yīng)用環(huán)境中移植數(shù)據(jù)庫。
3.2 在客戶平臺上,保證客戶所提出的性能指標(biāo)。很多嵌入式的應(yīng)用場合相當(dāng)?shù)目量?,所以在客戶的平臺中,我們要使得嵌入式數(shù)據(jù)庫能夠完成客戶所提出的要求。在客戶平臺上對嵌入式數(shù)據(jù)庫所做的性能測試分析報告則是對其功能實(shí)現(xiàn)的客觀評價。同時,開發(fā)人員也可以優(yōu)化一些數(shù)據(jù)的處理辦法。
4 嵌入式數(shù)據(jù)庫的種類
我們常用的嵌入式數(shù)據(jù)庫由很多種,其分類的標(biāo)準(zhǔn)也有很多種。根據(jù)對象不同可分為軟件嵌入數(shù)據(jù)庫、內(nèi)存數(shù)據(jù)庫以及設(shè)備嵌入數(shù)據(jù)庫。也可以粗略的分為嵌入數(shù)據(jù)庫、小型C/S結(jié)構(gòu)的數(shù)據(jù)庫以及移動數(shù)據(jù)庫。筆者將數(shù)據(jù)庫按下列方式劃分出來:
4.1 小型C/S數(shù)據(jù)庫。它相當(dāng)于企業(yè)級數(shù)據(jù)庫的縮小版本,可以應(yīng)用于一些對實(shí)時性沒有太高要求的設(shè)備之中。這種數(shù)據(jù)庫僅僅是和操作系統(tǒng)相關(guān),它所支持的都是常見的一些移動的操作系統(tǒng),比如Windows CE或者Linux等。
4.2 應(yīng)用于軟件的嵌入數(shù)據(jù)庫。開發(fā)人員將數(shù)據(jù)庫以組件的形式嵌入到相應(yīng)的軟件當(dāng)中,當(dāng)一個系統(tǒng)對數(shù)據(jù)庫中數(shù)據(jù)的準(zhǔn)確性、安全性以及處理速度有一個相對較高的要求時,我們都會應(yīng)用使用該數(shù)據(jù)庫。用戶在使用軟件的時候是不能感受到數(shù)據(jù)庫的存在的,也無需擔(dān)心對數(shù)據(jù)庫的維護(hù)。
4.3 應(yīng)用于設(shè)備中的嵌入數(shù)據(jù)庫。這一類型的數(shù)據(jù)庫是在設(shè)備中嵌入關(guān)系型數(shù)據(jù)庫,用來對各種數(shù)據(jù)的處理。這種數(shù)據(jù)庫通常是應(yīng)用于實(shí)時性要求很高的操作系統(tǒng)中。
5 嵌入式數(shù)據(jù)庫包含的構(gòu)件
每個嵌入式數(shù)據(jù)庫所含有的構(gòu)件大體上都是一樣的,其中構(gòu)件的數(shù)量很多,下面是筆者以嵌入式數(shù)據(jù)庫Empress為例,介紹了數(shù)據(jù)庫所包含的一些構(gòu)件。
5.1 用戶接口級構(gòu)件。該類的構(gòu)件的主要功能是便于用戶操作和訪問數(shù)據(jù)庫。
5.2 應(yīng)用級構(gòu)件。這一類的構(gòu)件會隨著不同的應(yīng)用而進(jìn)行相應(yīng)的添加或裁剪,它主要包括了一些應(yīng)用所必需的一類構(gòu)件。
5.3 引擎級構(gòu)件。這一類構(gòu)件主要包括了索引、事務(wù)處理、可配置數(shù)據(jù)庫內(nèi)核、存儲介質(zhì)引擎、多進(jìn)程/多任務(wù)以及斷電恢復(fù)管理等。
6 應(yīng)用現(xiàn)狀
在國外,嵌入式數(shù)據(jù)庫的研究已經(jīng)有30年的歷史,其在很多的領(lǐng)域都有所應(yīng)用,筆者針對Empress數(shù)據(jù)庫在各個領(lǐng)域的應(yīng)用,簡單的介紹一下。
6.1 醫(yī)療領(lǐng)域。在歐洲和北美的一些國家,廠商通過對Empress數(shù)據(jù)庫的使用,開發(fā)出了一套電子病歷系統(tǒng),結(jié)構(gòu)完整,應(yīng)用廣泛。還在醫(yī)療器械中嵌入了數(shù)據(jù)庫,比如醫(yī)學(xué)圖像、血液分析等裝置。
6.2 軍事設(shè)備和系統(tǒng)。一些著名的軍事機(jī)構(gòu)和全球著名的武器生產(chǎn)商將Empress數(shù)據(jù)庫運(yùn)用到他們的系統(tǒng)控制裝置、戰(zhàn)士武器、軍艦裝置、火箭和導(dǎo)彈裝置中。這些場合用的數(shù)據(jù)庫有很多的安全設(shè)定和特化設(shè)定,基本上嚴(yán)格按照每個客戶的技術(shù)標(biāo)準(zhǔn)的要求來特化引擎級構(gòu)件。生產(chǎn)商通過對Empress數(shù)據(jù)庫的使用,在軍事設(shè)備上嵌入了很多的智能化功能,如系統(tǒng)的控制裝置、軍艦、坦克等大型武器設(shè)備上都有所應(yīng)用。對這些場合所應(yīng)用的數(shù)據(jù)庫,開發(fā)人員完善了很多安全設(shè)定等問題,根據(jù)客戶的不同需求標(biāo)準(zhǔn),對引擎級構(gòu)建進(jìn)行嚴(yán)格的特化。
6.3 工業(yè)控制。隨著工業(yè)控制技術(shù)的發(fā)展,采用Empress嵌入式數(shù)據(jù)庫即能夠進(jìn)行高速的數(shù)據(jù)采集,也能夠快速的反饋。正因?yàn)槿绱?,在一些核電站監(jiān)控裝置、化學(xué)工廠系統(tǒng)監(jiān)控裝置、電話制造系統(tǒng)監(jiān)控裝置、汽車引擎監(jiān)控裝置及工業(yè)級機(jī)器人中有廣泛應(yīng)用。
6.4 網(wǎng)絡(luò)通訊。由于互聯(lián)網(wǎng)飛速的發(fā)展,對于一些網(wǎng)絡(luò)設(shè)備的處理速度和解決問題的難度的要求也是越來越高,所以嵌入式數(shù)據(jù)庫的發(fā)展也是現(xiàn)在社會多必須做到的。一些嵌入式數(shù)據(jù)庫已經(jīng)在很多的網(wǎng)絡(luò)當(dāng)中有所應(yīng)用。如Empress數(shù)據(jù)庫,其在路由器、VoIP交換機(jī)、互聯(lián)網(wǎng)裝置等方面都有應(yīng)用。
7 未來的展望
在中國這個計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)迅速發(fā)展的國家,各種消費(fèi)電子、移動終端、通信等一體化的步伐越來越快。個人以及家庭對很多電子設(shè)備的使用也大大的增加。特別是在中國的一些沿海城市,這些地區(qū)科技發(fā)展更快,幾乎可以預(yù)見,在中國未來的紀(jì)念內(nèi),對于消費(fèi)電子的使用及應(yīng)用將會大幅度發(fā)展,并且也將迅速的擴(kuò)大所使用的領(lǐng)域,嵌入式數(shù)據(jù)庫必將存在于我們?nèi)粘I町?dāng)中的諸多環(huán)節(jié)之中。
參考文獻(xiàn):
[1]李國徽,楊兵.移動環(huán)境下支持實(shí)時事務(wù)處理的數(shù)據(jù)預(yù)取[J].計(jì)算機(jī)學(xué)報,2008(10).
[2]萬瑪寧,關(guān)永.嵌入式數(shù)據(jù)庫典型技術(shù)SQLite和Berkeley DB的研究[J].微計(jì)算機(jī)信息,2006(02):91-95.
[3]朱文靜.嵌入式數(shù)據(jù)庫系統(tǒng)安全機(jī)制研究[D].江蘇科技大學(xué),2010.
作者單位:渤海船舶職業(yè)學(xué)院 信息學(xué)院,遼寧葫蘆島 125000;吉林大學(xué)公共計(jì)算機(jī)教學(xué)與研究中心,長春 130000