• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      三層度量模型BerkeleyDB與SQLite系統(tǒng)評(píng)測(cè)研究

      2015-03-07 05:40:14陳亞峰郭一帆
      中國(guó)測(cè)試 2015年7期
      關(guān)鍵詞:數(shù)據(jù)類型體系結(jié)構(gòu)評(píng)測(cè)

      陳亞峰,郭一帆

      (1.河南省輕工業(yè)學(xué)校,河南 鄭州 450000;2.河南建筑職業(yè)技術(shù)學(xué)院,河南 鄭州 450000)

      三層度量模型BerkeleyDB與SQLite系統(tǒng)評(píng)測(cè)研究

      陳亞峰1,郭一帆2

      (1.河南省輕工業(yè)學(xué)校,河南 鄭州 450000;2.河南建筑職業(yè)技術(shù)學(xué)院,河南 鄭州 450000)

      針對(duì)在嵌入式系統(tǒng)設(shè)計(jì)時(shí)難以抉擇采用何種數(shù)據(jù)庫(kù)的現(xiàn)狀,提出適用于嵌入式數(shù)據(jù)庫(kù)評(píng)測(cè)的三層質(zhì)量特性度量模型及其指標(biāo)體系。在分析嵌入式數(shù)據(jù)庫(kù)系統(tǒng)特點(diǎn)的基礎(chǔ)上,參考目標(biāo)問題度量(goal-question-metric,GQM)范式,建立包含質(zhì)量特性、質(zhì)量子特性和子特性的度量元三層度量評(píng)測(cè)模型和指標(biāo)體系。依據(jù)該模型分析闡述Berkeley DB和SQLite的系統(tǒng)性能,驗(yàn)證該評(píng)測(cè)模型。通過仿真實(shí)驗(yàn),進(jìn)一步驗(yàn)證其有效性。結(jié)論表明能為開發(fā)者在實(shí)際應(yīng)用中選擇何種嵌入式數(shù)據(jù)庫(kù)提供參考。

      嵌入式數(shù)據(jù)庫(kù);三層度量模型;Berkeley DB;SQLite;系統(tǒng)評(píng)測(cè)

      0 引 言

      隨著嵌入式系統(tǒng)的應(yīng)用日益廣泛,僅適用于PC機(jī)、體積龐大、延時(shí)較長(zhǎng)的數(shù)據(jù)庫(kù)技術(shù)已不能滿足嵌入式系統(tǒng)開發(fā)的需求[1]。不同的嵌入式數(shù)據(jù)庫(kù)在體系結(jié)構(gòu)、計(jì)算能力、存儲(chǔ)方法等方面的性能千差萬(wàn)別,在嵌入式系統(tǒng)設(shè)計(jì)時(shí)決定采用何種數(shù)據(jù)庫(kù),需要設(shè)計(jì)者有一個(gè)切實(shí)的系統(tǒng)評(píng)測(cè)結(jié)果[2]。同時(shí),合適的評(píng)測(cè)方案能提高測(cè)試效率,避免目標(biāo)系統(tǒng)遇到的不能保證可靠性、實(shí)時(shí)性、并發(fā)性等瓶頸,此外完善的嵌入式數(shù)據(jù)庫(kù)的評(píng)測(cè)需要更多細(xì)致的工作。目前,國(guó)外通用的數(shù)據(jù)庫(kù)測(cè)試是事物處理性能委員會(huì)(TPC)組織[3]制定的測(cè)試標(biāo)準(zhǔn)和規(guī)范,對(duì)嵌入式數(shù)據(jù)庫(kù)則無對(duì)應(yīng)的標(biāo)準(zhǔn)和規(guī)范。嵌入式實(shí)時(shí)測(cè)試領(lǐng)域中,比較有代表性的有CodeTest、LogiScope,專門針對(duì)嵌入式數(shù)據(jù)庫(kù)的測(cè)試工具較少。國(guó)內(nèi)李慶誠(chéng)和董潔等[4-5]針對(duì)嵌入式數(shù)據(jù)庫(kù)已展開相關(guān)研究,但未形成成熟的理論體系。

      基于此,本文建立了基于三層質(zhì)量度量模型的嵌入式數(shù)據(jù)庫(kù)評(píng)測(cè)比較模型和指標(biāo)體系,并針對(duì)應(yīng)用較為廣泛、技術(shù)較為穩(wěn)定的Berkeley DB和SQLite進(jìn)行了驗(yàn)證。

      1 嵌入式數(shù)據(jù)庫(kù)系統(tǒng)

      嵌入式數(shù)據(jù)庫(kù)通常與嵌入式操作系統(tǒng)及其應(yīng)用集成在一起,由程序直接調(diào)用相應(yīng)的API就可實(shí)現(xiàn)對(duì)數(shù)據(jù)的存取。在特定的開發(fā)環(huán)境下,嵌入式數(shù)據(jù)庫(kù)系統(tǒng)具有如下特點(diǎn):

      1)體積適當(dāng)。由于嵌入式系統(tǒng)自身的特點(diǎn),對(duì)數(shù)據(jù)的存儲(chǔ)和程序的運(yùn)行都具有較強(qiáng)的空間限制,所以嵌入式數(shù)據(jù)庫(kù)就必須占用盡量少的ROM、RAM和CPU等系統(tǒng)資源。因此,要求嵌入式數(shù)據(jù)庫(kù)具有微小內(nèi)核,以便實(shí)現(xiàn)嵌入系統(tǒng)的功能。

      2)系統(tǒng)的可靠性、可管理性和安全性是對(duì)所有數(shù)據(jù)庫(kù)普遍的要求,嵌入式數(shù)據(jù)庫(kù)系統(tǒng)也不例外。同時(shí)由于嵌入式系統(tǒng)自身的特點(diǎn)和嵌入式數(shù)據(jù)庫(kù)運(yùn)行存在的要求,使得對(duì)嵌入式數(shù)據(jù)庫(kù)在此方面的要求更加苛刻。

      3)可移植性。由于嵌入式系統(tǒng)的開發(fā)和應(yīng)用平臺(tái)種類繁多,為了得到更加廣泛的應(yīng)用,嵌入式數(shù)據(jù)庫(kù)應(yīng)該具備較好的移植性和平臺(tái)無關(guān)性。

      4)具備運(yùn)行速度快、資源利用率高以及開發(fā)環(huán)境盡可能簡(jiǎn)化等性能要求。

      5)多任務(wù)、多數(shù)據(jù)類型的支持需求。嵌入式數(shù)據(jù)庫(kù)總是與操作系統(tǒng)集成應(yīng)用,由于不需要獨(dú)立的數(shù)據(jù)庫(kù)引擎,使得嵌入式數(shù)據(jù)庫(kù)必須適應(yīng)嵌入式操作系統(tǒng)的要求,必須支持多任務(wù)、多數(shù)據(jù)類型。

      6)在功能上,嵌入式數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)該支持對(duì)記錄的插入、刪除、修改和查詢等操作,支持表的創(chuàng)建、刪除、排序、索引、歸并等操作。

      7)基于對(duì)數(shù)據(jù)庫(kù)本身的要求,嵌入式數(shù)據(jù)庫(kù)還必須支持?jǐn)?shù)據(jù)庫(kù)的備份和恢復(fù)以及維護(hù)等工作[6]。

      2 三層質(zhì)量框架度量模型

      對(duì)于一個(gè)系統(tǒng)軟件的評(píng)測(cè)首先要制定具體的測(cè)試方案,該方案取決于所采用的評(píng)測(cè)度量模型[7]。在分析嵌入式數(shù)據(jù)庫(kù)系統(tǒng)特點(diǎn)的基礎(chǔ)上,參考目標(biāo)問題度量(goal-question-metric,GQM)范式[8],構(gòu)建了三層質(zhì)量框架度量模型。

      三層質(zhì)量框架度量模型是將評(píng)測(cè)指標(biāo)框架分為要評(píng)測(cè)的質(zhì)量特性、質(zhì)量子特性和子特性的度量元,然后根據(jù)評(píng)測(cè)需要構(gòu)建度量模型的方法,其結(jié)構(gòu)如圖1所示。

      圖1 三層質(zhì)量框架度量模型的結(jié)構(gòu)圖

      首先確定的第1層是被評(píng)測(cè)系統(tǒng)的質(zhì)量特性(quality character,QC),每一個(gè)質(zhì)量特性代表了被評(píng)測(cè)對(duì)象質(zhì)量的一個(gè)方面,根據(jù)GJB 2434——1995《軍用軟件測(cè)試與評(píng)估通用要求》的規(guī)定,一般包括功能性、可靠性、易用性、效率、可維護(hù)性和可移植性6個(gè)方面。

      其次確定第2層,即各質(zhì)量特性細(xì)化后的子特性。例如,根據(jù)GJB 2434——1995的規(guī)定,一般功能性的子特性包括合適性、準(zhǔn)確性、互用性、依從性和安全性5個(gè)方面。可靠性的子特性包括成熟性、容錯(cuò)性和易恢復(fù)性等方面。與確定質(zhì)量特性框架指標(biāo)的原則一樣,該層可根據(jù)系統(tǒng)的特點(diǎn)和評(píng)測(cè)的目的選擇其中若干個(gè)指標(biāo)進(jìn)行評(píng)測(cè)即可。

      再次確定指標(biāo)框架的第3層,即被評(píng)測(cè)系統(tǒng)要測(cè)試的子特性的度量元(measurement flement,ME)以便進(jìn)行定量測(cè)評(píng)。度量元可用文字表述來表明子特性的滿足程度,或用分級(jí)表述來表明子特性的等級(jí),也可用屬性表述來表明子特性是否滿足等。根據(jù)這些要素對(duì)系統(tǒng)進(jìn)行打分評(píng)定,綜合各要素的評(píng)分就可以得到相應(yīng)的子特性值和特性值。

      最后,給要評(píng)測(cè)的質(zhì)量特性(質(zhì)量子特性)規(guī)定一個(gè)衡量標(biāo)準(zhǔn),即定義質(zhì)量需求。同時(shí)定義評(píng)價(jià)等級(jí)和綜合評(píng)測(cè)準(zhǔn)則和方法。

      3 嵌入式數(shù)據(jù)庫(kù)系統(tǒng)評(píng)測(cè)框架體系

      嵌入式數(shù)據(jù)庫(kù)除了具有傳統(tǒng)數(shù)據(jù)庫(kù)的一般特性外,還具備不同的應(yīng)用特性和設(shè)計(jì)特性。在衡量其優(yōu)劣時(shí)還必須考慮嵌入式特性,因此在設(shè)計(jì)嵌入式數(shù)據(jù)庫(kù)評(píng)測(cè)時(shí),質(zhì)量特性包括應(yīng)用特性、嵌入式特性和設(shè)計(jì)特性3個(gè)方面。

      3.1 應(yīng)用特性

      應(yīng)用特性包括支持語(yǔ)言接口、適用系統(tǒng)、適用場(chǎng)合、成本高低和易用性5個(gè)子特性,其度量元分別為支持的語(yǔ)言及其數(shù)量,支持平臺(tái)系統(tǒng)及其數(shù)量,適合微、小、中、大型系統(tǒng)中的類型,是否開源或免費(fèi),難、中、易程度等。

      支持語(yǔ)言接口:不僅要有應(yīng)用于嵌入式場(chǎng)合的C/C++接口,同時(shí)為便于嵌入式數(shù)據(jù)庫(kù)產(chǎn)品的標(biāo)準(zhǔn)化,也要有SQL語(yǔ)言。

      適用系統(tǒng):要適應(yīng)嵌入式系統(tǒng)廣闊的應(yīng)用空間,嵌入式數(shù)據(jù)庫(kù)應(yīng)支持多平臺(tái)。

      適用場(chǎng)合:嵌入式數(shù)據(jù)庫(kù)需要根據(jù)不同場(chǎng)合選型。成本高低:低成本是嵌入式數(shù)據(jù)庫(kù)必須考慮的。易用性:一種軟件是否易用、友好是衡量該軟件質(zhì)量的一個(gè)重要體現(xiàn)及推廣階段重點(diǎn)考慮的因素。

      3.2 嵌入式特性

      嵌入式特性包括精簡(jiǎn)性、移植性、擴(kuò)展性、管理性、高效和開發(fā)難易6個(gè)子特性,其度量元分別為占用空間大?。↘B),支持平臺(tái)及數(shù)量,是否支持?jǐn)U展,是否需要管理,基本操作效率,最大數(shù)據(jù)量,并發(fā)訪問量,開發(fā)難、中、易程度等。

      精簡(jiǎn)性:目標(biāo)代碼在達(dá)到一定嵌入式性能指標(biāo)下,應(yīng)盡可能降低其尺寸,以減少對(duì)有限內(nèi)存資源的占用量。

      移植性:嵌入式領(lǐng)域中,種類繁多,必須做到接口盡量簡(jiǎn)單,便于系統(tǒng)的移植。

      擴(kuò)展性:為驗(yàn)證軟件與其所在環(huán)境的依賴程度,需要對(duì)嵌入式數(shù)據(jù)庫(kù)進(jìn)行可擴(kuò)展性評(píng)測(cè)。

      可管理性:通常不需要人工參與,因此嵌入式數(shù)據(jù)庫(kù)需要實(shí)現(xiàn)零管理。

      高效性:通常從數(shù)據(jù)處理能力和并發(fā)控制能力兩個(gè)方面衡量。

      3.3 設(shè)計(jì)特性

      設(shè)計(jì)特性包括體系結(jié)構(gòu)、數(shù)據(jù)類型、存儲(chǔ)方式、存儲(chǔ)模式、DB模式、SQL支持、開發(fā)語(yǔ)言、可靠性8個(gè)子特性,其度量元分別為是否簡(jiǎn)潔清晰,支持的數(shù)據(jù)類型,支持的存儲(chǔ)方式,支持的存儲(chǔ)模式,是否為DB模式,是否支持SQL,開發(fā)的語(yǔ)言種類,錯(cuò)誤處理、加密強(qiáng)弱等。

      體系結(jié)構(gòu):一般為系統(tǒng)屬性,體現(xiàn)其設(shè)計(jì)思想。

      數(shù)據(jù)類型:決定了數(shù)據(jù)被訪問和操作的方式。

      存儲(chǔ)方式:整個(gè)實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的高性能就是以內(nèi)存數(shù)據(jù)庫(kù)作為底層支持的,所以存儲(chǔ)方式是衡量因素。

      存儲(chǔ)模式:索引結(jié)構(gòu)重點(diǎn)解決時(shí)空開銷,合適的存儲(chǔ)模式可以有效使用有限資源來加快執(zhí)行速度。

      DB模式:將數(shù)據(jù)庫(kù)服務(wù)器作為函數(shù)的形式,能解決進(jìn)程間通信帶來的系統(tǒng)開銷,剔除不定性從而提高運(yùn)行效率。

      SQL支持:考察其對(duì)SQL語(yǔ)言的支持程度以及對(duì)開放數(shù)據(jù)庫(kù)互連(open database connectivity,ODBC)的支持程度。

      可靠性:錯(cuò)誤處理能力以及加密強(qiáng)弱。

      4 Berkeley DB和SQLite系統(tǒng)性能評(píng)測(cè)

      4.1 Berkeley DB系統(tǒng)性能分析

      Berkeley DB是一個(gè)適合嵌入式應(yīng)用領(lǐng)域的數(shù)據(jù)庫(kù)[9],在從嵌入式系統(tǒng)到大型系統(tǒng)的多種場(chǎng)合均有很好的適用性,能夠運(yùn)行在Unix、Linux、Win32、WinCE、VxWorks、PIOSIX system等操作系統(tǒng)。Berkeley DB以源代碼的形式開源發(fā)放,大部分均可以免費(fèi)從www.sleepycat.com網(wǎng)站上下載,并可以自由應(yīng)用于其他開放源代碼的項(xiàng)目中。它為數(shù)據(jù)訪問和管理提供了簡(jiǎn)單的函數(shù)調(diào)用,支持的API語(yǔ)言有C、C++、Java和Dbm/Ndbm等,支持的腳本語(yǔ)言有Perl、Tel和PHP等。但是,從易用性的角度來講,Berkeley DB的設(shè)計(jì)較為復(fù)雜。

      BerkeleyDB本身很精簡(jiǎn)(文本空間少于300 KB),它支持高并發(fā)度,工作容量可為上萬(wàn)個(gè)用戶同時(shí)提供服務(wù),單文件的容量也達(dá)到了256TB,它采用內(nèi)進(jìn)程執(zhí)行模型,調(diào)用API函數(shù)簡(jiǎn)單,管理幾乎零開銷。傳統(tǒng)的數(shù)據(jù)庫(kù)一般作為獨(dú)立服務(wù)器工作,而Berkeley DB是軟件開發(fā)庫(kù),開發(fā)者將它嵌入到應(yīng)用程序中,應(yīng)用程序本身就是一個(gè)服務(wù)器。因?yàn)橹皇抢们度胧綌?shù)據(jù)庫(kù)開發(fā)來實(shí)現(xiàn)定制的數(shù)據(jù)庫(kù)邏輯,避免了與應(yīng)用服務(wù)器進(jìn)程間的通信開銷,所以Berkeley DB具有較高運(yùn)行效率。Berkeley DB可以運(yùn)行于幾乎所有的Unix和Linux系統(tǒng)及其變種系統(tǒng)、Windows操作系統(tǒng)以及多種嵌入式實(shí)時(shí)操作系統(tǒng)之上,在32位和64位系統(tǒng)上均可以運(yùn)行,具備很強(qiáng)的移植性,已經(jīng)被許多高端的因特網(wǎng)服務(wù)器、臺(tái)式機(jī)、掌上電腦、機(jī)頂盒、網(wǎng)絡(luò)交換機(jī)以及其他一些應(yīng)用領(lǐng)域所采用。在用Berkeley DB開發(fā)時(shí),要求開發(fā)者具有一定的專業(yè)水準(zhǔn)。

      Berkeley DB由5個(gè)子系統(tǒng)構(gòu)成,包括數(shù)據(jù)存取(access methods)管理子系統(tǒng)、內(nèi)存池(memory pool)管理子系統(tǒng)、事務(wù)(transaction)管理子系統(tǒng)、鎖(locking)子系統(tǒng)和日志(logging)管理子系統(tǒng),其體系結(jié)構(gòu)如圖2所示。

      圖2 Berkeley DB體系結(jié)構(gòu)

      Berkeley DB不是關(guān)系型數(shù)據(jù)庫(kù),不能應(yīng)用標(biāo)準(zhǔn)的SQL語(yǔ)句對(duì)數(shù)據(jù)庫(kù)操作,而是需要調(diào)用專用的API。這些API提供了查詢、插入、刪除等功能。在大多數(shù)場(chǎng)合只需按照統(tǒng)一的接口標(biāo)準(zhǔn)進(jìn)行調(diào)用就可以完成基本操作。Berkeley DB提供的開發(fā)語(yǔ)言接口主要是C和Java兩種語(yǔ)言。Berkeley DB提供了專門的函數(shù)來捕獲錯(cuò)誤代碼并將之轉(zhuǎn)變成具體的錯(cuò)誤描述。當(dāng)有錯(cuò)誤發(fā)生時(shí),首先由函數(shù)db-strerror返回指向錯(cuò)誤消息的指針,該函數(shù)對(duì)于系統(tǒng)錯(cuò)誤和Berkeley DB自身的錯(cuò)誤都可以處理;然后再由Db-err或Db-errx來格式化輸出錯(cuò)誤信息。整體而言,Berkeley DB的加密功能也是比較強(qiáng)的。

      4.2 SQLite系統(tǒng)的性能分析

      SQLite嵌入式數(shù)據(jù)庫(kù)也提供了源代碼,可以從www.sqlite.org網(wǎng)站上完全免費(fèi)下載,要在眾多的硬件平臺(tái)進(jìn)行移植[10],可以根據(jù)不同平臺(tái)對(duì)源碼進(jìn)行交叉編碼來實(shí)現(xiàn)。SQLite高速、有效、可升級(jí),可以運(yùn)行于ARM/Linux到SPARC/Solaris等多種中小型系統(tǒng)硬件平臺(tái)上。SQLite嵌入式數(shù)據(jù)庫(kù)與POSIX和Win32系統(tǒng)兼容,支持語(yǔ)言較多,如C、Tel等。

      SQLite嵌入式數(shù)據(jù)庫(kù)體積足夠小,總共不到3萬(wàn)行C代碼和占用不大于250KB的空間容量,支持大至2TB數(shù)據(jù)庫(kù)。它支持ACID事務(wù)、零配置、數(shù)據(jù)庫(kù)文件,可以在不同字節(jié)順序的機(jī)器間自由共享。它的速度較快、移植性強(qiáng)、開發(fā)環(huán)境簡(jiǎn)單,但由于自身設(shè)計(jì)需求,其擴(kuò)展性較弱,不支持XML;其并發(fā)性也不夠高,僅僅對(duì)單用戶寫操作具備并發(fā)性。

      SQLite有著優(yōu)雅、標(biāo)準(zhǔn)化的設(shè)計(jì),其邏輯架構(gòu)采用流式設(shè)計(jì),體系結(jié)構(gòu)模塊簡(jiǎn)潔、關(guān)系清晰,主要分為頂層、SQL編譯和底層3大模塊,細(xì)分為8個(gè)子模塊,SQLite體系結(jié)構(gòu)如圖3所示。

      由圖可以看到,SQLite的8個(gè)子模塊分別為接口、標(biāo)記處理器、分析器、分析器生成器、虛擬機(jī)、B-樹驅(qū)動(dòng)、頁(yè)面高速緩存和操作系統(tǒng)接口。SQLite體系結(jié)構(gòu)的核心是虛擬數(shù)據(jù)庫(kù)引擎(virtual database engine,VDBE),它完成與數(shù)據(jù)操作相關(guān)的全部任務(wù),并且是客戶和存儲(chǔ)之間信息交換的中間單元。

      圖3 SQLite體系結(jié)構(gòu)

      作為基于關(guān)系數(shù)據(jù)庫(kù)模式的SQLite,支持絕大多數(shù)標(biāo)準(zhǔn)的SQL92語(yǔ)句[11]。在很大程度上實(shí)現(xiàn)了ANSI SQL92標(biāo)準(zhǔn),特別是支持視圖、觸發(fā)器、事務(wù),支持嵌套SQL。在操作語(yǔ)句上更類似關(guān)系型數(shù)據(jù)庫(kù)的產(chǎn)品,非常方便。此外,SQLite也有API的概念,而且極易于使用。與Berkeley DB提供的存儲(chǔ)模式不同,SQLite只提供BTree存儲(chǔ)數(shù)據(jù)的模式,存儲(chǔ)方式也只能是ASCII碼,即對(duì)二進(jìn)制數(shù)據(jù)不能直接保存,必須進(jìn)行轉(zhuǎn)化為ASCII碼后才能保存。

      SQLite支持C語(yǔ)言開發(fā),其數(shù)據(jù)類型屬于無數(shù)據(jù)類型。雖然在生成表結(jié)構(gòu)的時(shí)候,要生成每個(gè)域的數(shù)據(jù)類型,但是SQLite并不做任何檢查,開發(fā)人員要靠自己的程序來控制輸入和讀出數(shù)據(jù)類型。SQLite的錯(cuò)誤處理是非常粗略的,其加密功能也相對(duì)較弱。

      表1 Berkeley DB與SQLite的評(píng)測(cè)比較

      4.3 Berkeley DB與SQLite的評(píng)測(cè)比較

      依據(jù)評(píng)測(cè)模型及其框架體系和前面的分析,對(duì)Berkeley DB與SQLite系統(tǒng)性能進(jìn)行了評(píng)測(cè),其結(jié)果如表1所示??芍咴趹?yīng)用特性、嵌入式特性和設(shè)計(jì)特性各自具有不同的特點(diǎn),在不同的應(yīng)用場(chǎng)合有不同的應(yīng)用價(jià)值。在具體設(shè)計(jì)嵌入式系統(tǒng)時(shí),可以根據(jù)實(shí)際需要選擇合適的數(shù)據(jù)庫(kù)。

      4.4 仿真實(shí)驗(yàn)

      為進(jìn)一步驗(yàn)證該評(píng)測(cè)模型,進(jìn)行了仿真實(shí)驗(yàn)。實(shí)驗(yàn)環(huán)境:平臺(tái)為L(zhǎng)inux PC機(jī),處理器3.0 GHz,內(nèi)存容量2.0GHz,分別調(diào)用數(shù)據(jù)庫(kù)提供的不同API函數(shù)。首先進(jìn)行打開(Open)、增加(Add)、更新(Update)、刪除(Remove)、關(guān)閉(Close)等操作,然后進(jìn)行查詢(Getonly)操作。測(cè)試的次數(shù)為5次,操作完成的單位為ms。測(cè)試結(jié)果如表2、表3和表4所示。

      表2 Berkeley DB的測(cè)試結(jié)果

      表3 SQLite的測(cè)試結(jié)果

      表4 Berkeley DB與SQLite的測(cè)試結(jié)果對(duì)比

      可知,二者各操作完成的時(shí)間相差很大,原因是體系結(jié)構(gòu)、存儲(chǔ)模式等方面的差異。比如Berkeley DB體系結(jié)構(gòu)為包含式架構(gòu)由5個(gè)子系統(tǒng)組成,同時(shí)存儲(chǔ)時(shí)需要調(diào)用專用的API導(dǎo)致完成時(shí)間較長(zhǎng),而SQLite為流式架構(gòu)由3大模塊組成,所以打開和關(guān)閉數(shù)據(jù)庫(kù)、更新和查詢記錄時(shí)Berkeley DB明顯慢于SQLite;由于Berkeley DB的存儲(chǔ)方式為原樣存儲(chǔ),而SQLite還需要轉(zhuǎn)換格式,增加記錄時(shí)SQLite速度卻低于Berkeley DB。

      5 結(jié)束語(yǔ)

      從目前廣泛應(yīng)用的Berkeley DB和SQLite兩個(gè)嵌入式數(shù)據(jù)庫(kù)入手,利用構(gòu)建的三層度量模型對(duì)二者的系統(tǒng)性能進(jìn)行闡述和分析,并在此基礎(chǔ)上進(jìn)行評(píng)測(cè)比較和仿真實(shí)驗(yàn),為開發(fā)者在實(shí)際應(yīng)用中選擇何種嵌入式數(shù)據(jù)庫(kù)提供重要的參考。本研究的創(chuàng)新主要在于:1)對(duì)Berkeley DB和SQLite兩個(gè)開源嵌入式數(shù)據(jù)庫(kù)系統(tǒng)性能的分析闡述全面詳盡;2)建立了基于三層質(zhì)量度量模型的嵌入式數(shù)據(jù)庫(kù)評(píng)測(cè)模型和指標(biāo)體系;3)基于三層質(zhì)量度量模型對(duì)Berkeley DB和SQLite系統(tǒng)性能評(píng)測(cè)比較和仿真實(shí)驗(yàn),驗(yàn)證了該模型的有效性,同時(shí)為開發(fā)者在實(shí)際應(yīng)用中選擇何種嵌入式數(shù)據(jù)庫(kù)提供重要的參考。

      [1]李明月.基于嵌入式數(shù)據(jù)庫(kù)的分布式應(yīng)用與實(shí)現(xiàn)[D].長(zhǎng)春:吉林大學(xué),2011.

      [2]張欽伍.實(shí)施系統(tǒng)級(jí)軟件確認(rèn)評(píng)測(cè)的構(gòu)想[J].計(jì)算機(jī)工程與科學(xué),2000,22(5):100-103.

      [3]TPC-B measures throughput in terms of how many transactions per second a system can perform[EB/OL]. http://www.tpc.org/tpcb/default.asp,2009.

      [4]李慶誠(chéng),盧濤,劉嘉欣.嵌入式數(shù)據(jù)庫(kù)評(píng)測(cè)框架構(gòu)建研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(1):123-125.

      [5]董潔,賀紅衛(wèi),耿鴻月,等.嵌入式數(shù)據(jù)庫(kù)測(cè)試技術(shù)的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(12):2733-2735.

      [6]黃布毅,張曉華.基于ARM-Linux的SQLite嵌入式數(shù)據(jù)庫(kù)技術(shù)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2005(4):21-24.

      [7]金澈清,錢衛(wèi)寧,周敏奇,等.數(shù)據(jù)管理系統(tǒng)評(píng)測(cè)基準(zhǔn):從傳統(tǒng)數(shù)據(jù)庫(kù)到新興大數(shù)據(jù)[J].計(jì)算機(jī)學(xué)報(bào),2014(11):78-79.

      [8]Olsson T,Runeson P.V-GQM:a feedback approach to validation of a GQM study[C]∥Proc of the 7th International Software Matric Symposium,Washtington,2001:236-245.

      [9]萬(wàn)瑪寧,關(guān)永,韓相軍.嵌入式數(shù)據(jù)庫(kù)典型技術(shù)SQLite與Berkeley DB的研究[J].微計(jì)算機(jī)信息,2006,22(2):91-93.

      [10]郝瑞.基于虛擬可信平臺(tái)的軟件可信性研究[D].太原:太原理工大學(xué),2013.

      [11]康小芳.SQLite第三版總覽[EB/OL].http:∥www.sqlite.org/ appfileformat.html.

      Research of the evaluation of Berkeley DB and SQLite system based on the three-layer measurement model

      CHEN Yafeng1,GUO Yifan2
      (1.He’nan Light Industry School,Zhengzhou 450000,China;2.He’nan Technical College of Construction,Zhengzhou 450000,China)

      In view of the design of embedded system is hard to decide which database was choosen,three layers of quality measurement model and its index system are proposed,which is suitable for embedded database evaluation.Based on the analysis of embedded database system character and GQM(goal-question-metric)method,one three layer quality measurement model and index system are established,which contains quality characteristics,quality characteristics and the characteristics of measurement.Based on the analysis of the performance of the system of the Berkeley DB and SQLite,that evaluation method is appropriate.The validity is further verified by simulation experiments.Results show that can provide important reference when the developer chooses what kind of embedded database in practice.

      embedded database;three layer measurement model;Berkeley DB;SQLite;system evaluation

      A

      :1674-5124(2015)07-0099-05

      10.11857/j.issn.1674-5124.2015.07.023

      2014-10-10;

      :2014-12-18

      河南省信息技術(shù)教育研究重點(diǎn)項(xiàng)目(ITE12051)作者簡(jiǎn)介:陳亞峰(1982-),男,河南項(xiàng)城市人,講師,碩士,主要從事嵌入式系統(tǒng)研究。

      猜你喜歡
      數(shù)據(jù)類型體系結(jié)構(gòu)評(píng)測(cè)
      詳談Java中的基本數(shù)據(jù)類型與引用數(shù)據(jù)類型
      次時(shí)代主機(jī)微軟XSX全方位評(píng)測(cè)(下)
      次時(shí)代主機(jī)微軟XSX全方位評(píng)測(cè)(上)
      如何理解數(shù)據(jù)結(jié)構(gòu)中的抽象數(shù)據(jù)類型
      攻坡新利器,TOKEN VENTOUS評(píng)測(cè)
      Canyon Ultimate CF SLX 8.0 DI2評(píng)測(cè)
      基于粒計(jì)算的武器裝備體系結(jié)構(gòu)超網(wǎng)絡(luò)模型
      作戰(zhàn)體系結(jié)構(gòu)穩(wěn)定性突變分析
      基于DODAF的裝備體系結(jié)構(gòu)設(shè)計(jì)
      基于云計(jì)算的航天器控制系統(tǒng)自組織體系結(jié)構(gòu)
      新兴县| 乌兰察布市| 灵台县| 嘉祥县| 萍乡市| 泉州市| 墨江| 上栗县| 桂林市| 安宁市| 奉贤区| 沐川县| 黑龙江省| 余姚市| 淮南市| 五河县| 洪泽县| 岑巩县| 晋江市| 云浮市| 闵行区| 禹城市| 霍林郭勒市| 玉山县| 牡丹江市| 吐鲁番市| 黔南| 霍城县| 金山区| 松江区| 南陵县| 平潭县| 博爱县| 河池市| 昭平县| 石景山区| 宝兴县| 永顺县| 芜湖县| 淮北市| 万宁市|