資訊頻道

      嵌入式數(shù)據(jù)庫的現(xiàn)狀和未來

        1.嵌入式數(shù)據(jù)庫產(chǎn)生及運用的必然性
        嵌入式系統(tǒng)在現(xiàn)代人的生活中隨處可見,其中軟件的比例越來越大,軟件開發(fā)的投入也越來越大。
        隨著微電子技術(shù)和存儲技術(shù)的不斷發(fā)展,嵌入式系統(tǒng)的內(nèi)存和各種永久存儲介質(zhì)容量都在不斷增加。這也就意味著嵌入式系統(tǒng)內(nèi)數(shù)據(jù)處理量會不斷增加,那么大量的數(shù)據(jù)如何處理問題變得非常現(xiàn)實。人們不得不將原本在企業(yè)級運用的復(fù)雜的數(shù)據(jù)庫處理技術(shù)引入到嵌入式系統(tǒng)當中去,應(yīng)用于嵌入式系統(tǒng)的數(shù)據(jù)庫技術(shù)也就應(yīng)運而生。
        但是,事情總是比想象復(fù)雜。在嵌入式的世界,無論是通訊領(lǐng)域的嵌入式設(shè)備還是其它領(lǐng)域中,各種中間環(huán)節(jié)逐漸設(shè)備化,成為獨立的相對封閉的系統(tǒng),對外留有接口。設(shè)備中數(shù)據(jù)種類和處理方法有一定的共同規(guī)律也有自己的特殊規(guī)律。這使得嵌入式數(shù)據(jù)庫不能像企業(yè)級數(shù)據(jù)庫那樣幾乎是一個解決方案走遍天下,而是有著很大的差異性。同時,也為嵌入式數(shù)據(jù)庫的合理運用帶來了挑戰(zhàn),這是嵌入式數(shù)據(jù)庫差異化的一個基本原因。
        隨著嵌入式系統(tǒng)的擴大,嵌入式產(chǎn)品的開發(fā)不再像過去那樣幾個人就可以完成整個系統(tǒng)的開發(fā),需要更多的人組成團隊進行合作。嵌入式軟件的需求分析和品質(zhì)管理也變得越來越復(fù)雜,開發(fā)周期也逐漸拉長。為了解決這些問題,引進第三方成熟的中間件或解決方案也變得非常現(xiàn)實。專業(yè)的嵌入式數(shù)據(jù)庫廠商也逐漸進入了人們的視野。因為,運用成熟的嵌入式數(shù)據(jù)處理中間件可以降低開發(fā)成本、縮短開發(fā)周期,使開發(fā)者能夠?qū)⒏嗟木Ψ旁跇I(yè)務(wù)邏輯的處理上,而不用花大把的金錢和精力來處理數(shù)據(jù),對整個社會的資源也是一種節(jié)約。
        2.嵌入式數(shù)據(jù)庫的基本特點
        按照馬克思的哲學(xué)理論,事物發(fā)展的進程可以用螺旋式上升來描述。嵌入式數(shù)據(jù)庫和我們現(xiàn)在常見的企業(yè)級數(shù)據(jù)庫的基本關(guān)系也是一個螺旋上升式的關(guān)系。雖然,從名字上看,二者有著太多的相似性,但卻有著本質(zhì)的根本性的區(qū)別。外在的形式的相似性,并不能代表二者的實現(xiàn)方式和運用方式的相似。恰恰相反,嵌入式數(shù)據(jù)庫的實現(xiàn)和運用方式和企業(yè)級的數(shù)據(jù)庫有著很大的區(qū)別。
        在國外,嵌入式數(shù)據(jù)庫已經(jīng)發(fā)展了30多年,典型的代表是Empress嵌入式數(shù)據(jù)庫。它的特點也基本代表了現(xiàn)階段嵌入式實時數(shù)據(jù)庫的基本特點。下面就介紹一下Empress嵌入式數(shù)據(jù)庫所具有的區(qū)別于企業(yè)級數(shù)據(jù)庫的幾個主要特點。
        嵌入性是嵌入式數(shù)據(jù)庫的基本特性。嵌入式數(shù)據(jù)庫不僅可以嵌入到其他的軟件當中,也可以嵌入到硬件設(shè)備當中。Empress的方法之一就是使數(shù)據(jù)庫以組件的形式存在,并發(fā)布給客戶,客戶只需要像調(diào)用自己定義的函數(shù)那樣調(diào)用相應(yīng)的函數(shù)就可以創(chuàng)建表、插入刪除數(shù)據(jù)等常規(guī)的數(shù)據(jù)庫操作。客戶在自己的產(chǎn)品發(fā)布時,可以將Empress數(shù)據(jù)庫編譯到自己的產(chǎn)品內(nèi),變成自己產(chǎn)品的一部分,最終用戶是感受不到數(shù)據(jù)庫的存在的,也不用特意去維護數(shù)據(jù)庫。
        實時性和嵌入性是分不開的。只有具有了嵌入性的數(shù)據(jù)庫才能夠第一時間得到系統(tǒng)的資源,對系統(tǒng)的請求在第一時間內(nèi)做出響應(yīng)。但是,并不是具有嵌入性就一定具有實時性。要想嵌入式數(shù)據(jù)庫具有很好的實時性,必須做很多額外的工作。比如:Empress實時數(shù)據(jù)庫將嵌入性和高速的數(shù)據(jù)引擎、定時功能以及防斷片處理等措施整合在一起來保證最基本的實時性。當然,不同的場合實時性要求比較高時,除了軟件的實時性外,硬件的實時性也是必須的,具體情況需要有具體和切實的解決方案,不能一概而論。
        移動性是目前在國內(nèi)提的比較多的一個說法,這和目前國內(nèi)移動設(shè)備的大規(guī)模應(yīng)用有關(guān)。可以這么說,具有嵌入性的數(shù)據(jù)庫一定具有比較好的移動性,但是具有比較好的移動性的數(shù)據(jù)庫,不一定具有嵌入性。比如,一個小型的C/S結(jié)構(gòu)的數(shù)據(jù)庫也可以運用在移動設(shè)備上,而具有移動性。但這個數(shù)據(jù)庫本身是一個獨立存在的實體,需要額外的運行資源,本質(zhì)上講和企業(yè)級數(shù)據(jù)庫區(qū)別不大。所以不具有嵌入性,也基本上不具備實時性。Empress是優(yōu)秀的嵌入式實時數(shù)據(jù)庫,毫無疑問也是非常優(yōu)秀的移動數(shù)據(jù)庫。
        伸縮性在嵌入式場合顯得尤為重要。首先嵌入式場合硬件和軟件的平臺都是千差萬別,基本都是客戶根據(jù)需要自己選擇的結(jié)果。
        所以嵌入式場合的數(shù)據(jù)庫必須能夠支持非常多的平臺,如Empress目前支持6000多種平臺。同時,數(shù)據(jù)存儲要支持常見的存儲設(shè)備,如CF/Flash/HD等。多進程和多線程是必備的,現(xiàn)在的嵌入式系統(tǒng)已經(jīng)遠遠不是當初的簡單的編程,代碼量增大,功能日益復(fù)雜,所以必然要支持多線程和多進程。C/C++和SQL接口的支持也是必備的,作為數(shù)據(jù)庫當然要有大家熟悉的SQL,但同時不要忘記嵌入式場合用的最多的標準的C/C++接口。某種程度上說,嵌入式場合的數(shù)據(jù)比企業(yè)級應(yīng)用的數(shù)據(jù)還要復(fù)雜,所以要支持各種類型的數(shù)據(jù),如多媒體數(shù)據(jù)和空間數(shù)據(jù)等,要支持各種數(shù)據(jù)結(jié)構(gòu),除了傳統(tǒng)的關(guān)系型,還要能處理樹狀結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu)。
        當然,肯定要具備企業(yè)級數(shù)據(jù)庫所具有的一些共性。比如,一致性是數(shù)據(jù)庫所必需的特性。通過事務(wù)、鎖功能和數(shù)據(jù)同步等多種技術(shù)保證數(shù)據(jù)庫內(nèi)的各個表內(nèi)的數(shù)據(jù)的一致性,同時也保證數(shù)據(jù)庫和其他同步或鏡像數(shù)據(jù)庫內(nèi)數(shù)據(jù)的一致性。安全性也是必不可少的。在保證物理信息本身的安全的同時,也要保證用戶私有信息的安全。
        3.80%和20%
        嵌入式的應(yīng)用場合和通用PC或服務(wù)器架構(gòu)上的應(yīng)用有著很大的不同。嵌入式系統(tǒng)中雖然也有不少的標準和組件,但種類繁多,環(huán)境千差萬別,應(yīng)用特殊化的地方非常之多。所以在嵌入式場合無論成熟的產(chǎn)品和組件一般只能夠滿足客戶的80%的要求。余下20%的要求是需要產(chǎn)品提供方和客戶共同來努力解決的特化的部分。當然,每個行業(yè)都有自己的特點,如果能夠為某個行業(yè)提供完整的特殊化解決方案,那么在同行業(yè)中特化的部分也就不會再有這么高的比例。
        這些特殊化工作比較多,下面列舉一兩個:
        針對不同平臺和環(huán)境的移植。雖然大部分操作系統(tǒng)都聲稱支持標準的POSIX接口,但實際上要在上面高效運行實時的嵌入式數(shù)據(jù)庫還是比較困難的。有的實時性非常高的操作可能還需要直接調(diào)用CPU的處理指令。所以最好在客戶使用嵌入式數(shù)據(jù)庫之前,將數(shù)據(jù)庫移植到客戶的環(huán)境中去。對于那些部分支持,或者不支持POSIX標準的操作系統(tǒng)就只能做移植了。
        在客戶平臺上做出性能測試報告和優(yōu)化。嵌入式場合很多應(yīng)用是非常苛刻的,所以必須保障嵌入式數(shù)據(jù)庫在客戶的平臺上能夠達到客戶要求的性能指標。最佳的評價方就是嵌入式數(shù)據(jù)庫的提供方在客戶平臺上做的性能測試報告,并在必要的地方對數(shù)據(jù)處理方式進行優(yōu)化。
        根據(jù)應(yīng)用的要求實現(xiàn)個性化的功能。既然數(shù)據(jù)統(tǒng)一由數(shù)據(jù)庫引擎進行管理,那么許多特殊的功能在這一層實現(xiàn)是最佳的選擇。所以,嵌入式數(shù)據(jù)庫進入一個新的行業(yè)以后,都會產(chǎn)生一些新的應(yīng)用構(gòu)件。這些構(gòu)件直接和引擎打交道,同時對用戶層留有接口。
        這種差異化也導(dǎo)致了嵌入式數(shù)據(jù)庫的技術(shù)支持變得比較重要,廠家一般都會提供有償或無償?shù)募夹g(shù)支持。
        4.嵌入式數(shù)據(jù)庫的分類
        嵌入式數(shù)據(jù)庫的分類方法很多,可以按照嵌入的對象不同分為:軟件嵌入數(shù)據(jù)庫、設(shè)備嵌入數(shù)據(jù)庫、內(nèi)存數(shù)據(jù)庫。也有人將它們粗略的分為:嵌入數(shù)據(jù)庫、移動數(shù)據(jù)庫、小型的C/S結(jié)構(gòu)數(shù)據(jù)庫等。筆者更偏向于按照下面的方式進行劃分:
        小型C/S數(shù)據(jù)庫。這種數(shù)據(jù)庫其實是企業(yè)級數(shù)據(jù)庫的一個縮小版,縮小以后可以在一些實時性要求不高的設(shè)備內(nèi)運行。它只和操作系統(tǒng)有關(guān),一般只能支持一些常見的移動操作系統(tǒng),如,Linux和WindowsCE系列。
        面向軟件嵌入數(shù)據(jù)庫。它將數(shù)據(jù)庫作為組件嵌入到其他的軟件系統(tǒng)中。一般用在對數(shù)據(jù)庫的安全性、穩(wěn)定性和速度要求比較高的系統(tǒng)中。這種結(jié)構(gòu)資源消耗低,最終用戶不用維護數(shù)據(jù)庫,甚至感受不到數(shù)據(jù)的存在。
        面向設(shè)備嵌入數(shù)據(jù)庫。它將關(guān)系型數(shù)據(jù)庫嵌入到設(shè)備當中去,作為設(shè)備數(shù)據(jù)處理的核心組件。這種場合要求數(shù)據(jù)庫有很高的實時性和穩(wěn)定性,一般運行在實時性非常高的操作系統(tǒng)當中。為了達到這些要求有的廠商采用關(guān)系型的數(shù)據(jù)結(jié)構(gòu),有的采用非關(guān)系型的數(shù)據(jù)結(jié)構(gòu)。有時候甚至直接和硬件打交道。當然,這種結(jié)構(gòu)在實時性要求不高的移動場合更能夠勝任。
        內(nèi)存數(shù)據(jù)庫。數(shù)據(jù)庫直接在內(nèi)存內(nèi)運行,數(shù)據(jù)處理更加高速,不過安全性等方面需要額外的手段來保障。
        當然,相同類型的嵌入式數(shù)據(jù)庫肯定會有很多不同的版本。如,Empress具有上述所有種類的嵌入式數(shù)據(jù)庫,且每種都有很多版本,就在一年前剛剛針對日本市場比較特殊的操作系統(tǒng)iTRON開發(fā)了一個專用的嵌入式數(shù)據(jù)庫版本。
        5.嵌入式數(shù)據(jù)庫的構(gòu)件
        嵌入式數(shù)據(jù)庫包含的構(gòu)件很多,不過大部分嵌入式數(shù)據(jù)庫包含的構(gòu)件差別是不大的,以Empress嵌入式數(shù)據(jù)庫為例包括以下一些構(gòu)件。    用戶接口級構(gòu)件。這些構(gòu)件主要是方便用戶對數(shù)據(jù)庫進行操作和訪問。如,標準的C語言應(yīng)用程序接口(CKERNELAPI);標準的SQL語句(EMBEDDEDSQL);JDBC/ODBC接口;數(shù)據(jù)流處理(DataStreaming)、網(wǎng)絡(luò)處理(EmbeddedNetworkAPI)以及數(shù)據(jù)恢復(fù)處理(DataRecoveryAPI)等。
        應(yīng)用級構(gòu)件。該部分的構(gòu)件包括一些主要應(yīng)用所必需的構(gòu)件,當然隨著應(yīng)用的不同,構(gòu)件也是可以裁剪和添加的。
        引擎級構(gòu)件。主要包含事務(wù)處理(Transaction)、索引(Index)、多進程/多任務(wù)(MultiProc/TaskAccess)、可配置數(shù)據(jù)庫內(nèi)核(ConfigurableDatabaseKernel)、斷電恢復(fù)管理(PowerDownRecovery)和存儲介質(zhì)引擎(StorageEngine)。但具體的Empress產(chǎn)品中遠不止這么多。
        6.應(yīng)用現(xiàn)狀
        嵌入式數(shù)據(jù)庫在國外已經(jīng)有30年的歷史,應(yīng)用領(lǐng)域也非常廣泛,下面僅結(jié)合Empress嵌入式數(shù)據(jù)庫的部分應(yīng)用,介紹一些大家感興趣的領(lǐng)域。
        醫(yī)療領(lǐng)域
        北美和歐洲的一些著名的廠商利用Empress的數(shù)據(jù)庫開發(fā)過完整的電子病歷系統(tǒng),同時將數(shù)據(jù)庫嵌入到醫(yī)療器械當中。如,血液分析裝置、乳癌的檢測裝置、醫(yī)學(xué)圖像裝置等。這樣醫(yī)療系統(tǒng)的各個環(huán)節(jié)可以無縫地和各種醫(yī)療設(shè)備進行數(shù)據(jù)交流,并輕松地處理這些設(shè)備送過來的數(shù)據(jù)信息,在必要的時候共享給有權(quán)限查看的用戶。
        軍事設(shè)備和系統(tǒng)
        一些著名的軍事機構(gòu)和全球著名的武器生產(chǎn)商將Empress數(shù)據(jù)庫運用到他們的系統(tǒng)控制裝置、戰(zhàn)士武器、軍艦裝置、火箭和導(dǎo)彈裝置中。這些場合用的數(shù)據(jù)庫有很多的安全設(shè)定和特化設(shè)定,基本上嚴格按照每個客戶的技術(shù)標準的要求來特化引擎級構(gòu)件。具體的應(yīng)用級的構(gòu)件由客戶自己完成。
        地理信息系統(tǒng)
        地理信息包括的范圍很廣,在國外地理信息系統(tǒng)已經(jīng)發(fā)展了很多年,國內(nèi)這幾年也逐漸加大對地理信息系統(tǒng)方面的投入。Empress在地理信息系統(tǒng)方面的應(yīng)用非常廣泛。如,空間數(shù)據(jù)分析系統(tǒng)、衛(wèi)星天氣數(shù)據(jù)、龍卷風和颶風監(jiān)控及預(yù)測、大氣研究監(jiān)測裝置、天氣數(shù)據(jù)監(jiān)測、相關(guān)衛(wèi)星氣象和海洋數(shù)據(jù)的采集裝置、導(dǎo)航系統(tǒng)等等。幾乎涉及到地理信息的方方面面。
        工業(yè)控制
        工業(yè)控制的一個基本方式是一個反饋的閉環(huán)或半閉環(huán)的控制方式。隨著工業(yè)控制技術(shù)的發(fā)展,簡單的數(shù)據(jù)采集方式和反饋方式基本上很難滿足要求。采用Empress嵌入式數(shù)據(jù)庫即能夠進行高速的數(shù)據(jù)采集,也能夠快速的反饋。正因為如此,在一些核電站監(jiān)控裝置、化學(xué)工廠系統(tǒng)監(jiān)控裝置、電話制造系統(tǒng)監(jiān)控裝置、汽車引擎監(jiān)控裝置及工業(yè)級機器人中有廣泛應(yīng)用。
        網(wǎng)絡(luò)通訊
        隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡(luò)越來越普及,網(wǎng)絡(luò)設(shè)備的處理能力越來越強、各種要求也越來越高,運用嵌入式數(shù)據(jù)庫也成了必然趨勢。我們現(xiàn)在日常見到的很多網(wǎng)絡(luò)設(shè)備和系統(tǒng)都已經(jīng)使用了嵌入式數(shù)據(jù)庫。Empress在一些企業(yè)內(nèi)部互聯(lián)網(wǎng)裝置、網(wǎng)絡(luò)傳輸?shù)姆植际焦芾硌b置、語音郵件追蹤系統(tǒng)、VoIP交換機、路由器、基站控制器等系統(tǒng)中都有應(yīng)用。
        空間探索
        一些全球著名的機構(gòu)將Empress用在一些著名的空間探索裝置中,如大家熟知的一些太陽系內(nèi)行星的探測器等。
        消費類電子
        目前在中國消費類電子比較火熱,它包含的范圍也非常廣。如:個人消費相關(guān)的PND、移動電話、PDA、SmartPhone、數(shù)碼產(chǎn)品等;信息家電和智能辦公相關(guān)的機頂盒、家用多媒體盒、互聯(lián)網(wǎng)電視接收裝置、打印機、一體機等;還有汽車電子等。在歐美和日本Empress不僅在這些方面已經(jīng)有不少的成功應(yīng)用和技術(shù)積累,還正在和亞太的一些著名廠商積極展開新的合作和研發(fā),目前已經(jīng)取得實質(zhì)性的成果。
        當然,嵌入式數(shù)據(jù)庫的應(yīng)用應(yīng)該遠不止這么多,不過筆者只能結(jié)合自己的經(jīng)驗向大家介紹一些我了解的,同時也是關(guān)注比較多的領(lǐng)域。
        7.未來的展望
        未來的世界是一個“普適計算”或“泛在計算”(PervasiveComputing或UbiquitousComputing)的世界。“普適計算”指的就是,“無論何時何地,只要您需要,就可以通過某種設(shè)備訪問到所需的信息”。有一篇關(guān)于泛在計算領(lǐng)域著名的學(xué)者——坂村健先生的采訪,標題就是“讓整個世界變成一臺巨型計算機”。
        “普適計算”的世界將是繼互聯(lián)網(wǎng)之后給我們帶來的另一個技術(shù)世界。在這個世界里有各種各樣的設(shè)備(稱為:計算節(jié)點),他們無時無刻地作為一個相對獨立的單元參與整個世界的計算,能夠滿足人們?nèi)粘I畹男畔⒌男枰km然這一天的到來還要依賴于微電子技術(shù)、RFID技術(shù)、智能傳感器網(wǎng)絡(luò)、軟件技術(shù)等高、新、尖技術(shù)的發(fā)展。但我們可以預(yù)感到這一天會慢慢逼近。
        從某種意義上講,“普適計算”也可以描述成嵌入式設(shè)備處理大量信息的計算。這正是嵌入式數(shù)據(jù)庫誕生和發(fā)展的原動力。所以,我可以很明顯地感覺到嵌入式數(shù)據(jù)庫必將廣泛地被應(yīng)用。
        目前在中國Internet迅速普及和發(fā)展,并向個人和家庭不斷擴展,使消費電子、計算機、通信(3C)一體化趨勢日趨明顯。中國的產(chǎn)業(yè)結(jié)構(gòu)正在從低附加值的制造業(yè)向高附加值的高新技術(shù)領(lǐng)域過渡。尤其在一些發(fā)展較快的地區(qū),如上海,必將抓住這個大的潮流加速自己的發(fā)展。我們幾乎可以預(yù)見,在未來幾年中國的消費類電子必然會蓬勃發(fā)展,應(yīng)用的領(lǐng)域會越來越廣泛,嵌入式數(shù)據(jù)庫將會隨著這些無處不在的計算節(jié)點而滲透到我們生活的每一個環(huán)節(jié)中。
        目前,國內(nèi)的許多嵌入式軟件技術(shù)人員經(jīng)過數(shù)據(jù)處理的困惑,經(jīng)過開源的摸索,經(jīng)過自主開發(fā)的嘗試,許多開發(fā)者正逐漸意識到商用數(shù)據(jù)庫的必要性。商用嵌入式數(shù)據(jù)庫正在被逐漸被正確認識和接受。

      文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

      主站蜘蛛池模板: 日韩人妻无码一区二区三区99| 国99精品无码一区二区三区 | 免费高清av一区二区三区| 一区二区三区精品视频| 亚洲.国产.欧美一区二区三区 | 一区二区三区无码视频免费福利| 精产国品一区二区三产区| 色国产精品一区在线观看| 精品国产一区二区三区在线观看| 波多野结衣一区在线| 好爽毛片一区二区三区四无码三飞 | 国产一区二区三区樱花动漫| 国产小仙女视频一区二区三区 | 中文字幕一区精品| 白丝爆浆18禁一区二区三区| 亚洲熟女乱综合一区二区| 日韩AV无码一区二区三区不卡| 欧美人妻一区黄a片| 在线精品一区二区三区电影| 精产国品一区二区三产区| 日韩视频在线一区| 日韩精品电影一区亚洲| 一区二区免费在线观看| 国产精品主播一区二区| 中文乱码精品一区二区三区| 成人区精品人妻一区二区不卡| 国产亚洲一区区二区在线| 国产亚洲综合一区柠檬导航| 免费视频一区二区| 99无码人妻一区二区三区免费| 无码乱码av天堂一区二区| 精品国产一区二区三区久久狼| 日韩AV片无码一区二区不卡| 国产精品福利区一区二区三区四区| 亚洲国产成人久久一区WWW| 亚洲色精品aⅴ一区区三区| 少妇激情AV一区二区三区| 亚洲欧洲无码一区二区三区| 国产无吗一区二区三区在线欢| 久久亚洲中文字幕精品一区| 国产成人一区二区三区视频免费 |