国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ARM平臺(tái)的嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)

2014-09-24 17:05李賀朱廷劭徐新國(guó)
物聯(lián)網(wǎng)技術(shù) 2014年7期

李賀+朱廷劭+徐新國(guó)

摘 要:根據(jù)對(duì)嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù)的分析,設(shè)計(jì)出基于專用文件系統(tǒng)的嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù),該文件系統(tǒng)以塊為單位進(jìn)行存儲(chǔ),使用<點(diǎn)、時(shí)間、數(shù)值>來(lái)表示一條具有完整意義的數(shù)據(jù),根據(jù)數(shù)據(jù)特點(diǎn),建立了針對(duì)實(shí)時(shí)數(shù)據(jù)存儲(chǔ)的文件系統(tǒng)索引結(jié)構(gòu),最后完成了專用文件系統(tǒng)在嵌入式Linux上的運(yùn)行,它提供專用的調(diào)用接口進(jìn)行讀寫。

關(guān)鍵詞:ARM;實(shí)時(shí)數(shù)據(jù)庫(kù);專用文件系統(tǒng);Linux;

中圖分類號(hào):TP391文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2014)07-0075-03

0引言

嵌入式系統(tǒng)是一種“完全嵌入受控件內(nèi)部,為特定應(yīng)用而設(shè)計(jì)的專用計(jì)算機(jī)系統(tǒng)”。據(jù)不完全統(tǒng)計(jì),目前世界上嵌入式處理器的品種總量超過(guò)一千多種,流行的體系結(jié)構(gòu)也有30多個(gè)系列。但是沒(méi)有一種微處理器和微處理器公司可以主導(dǎo)嵌入式系統(tǒng)。由于嵌入式系統(tǒng)設(shè)計(jì)的差異性極大,因此選擇也是多樣化的。ARM是近年來(lái)在嵌入式系統(tǒng)很有影響力的微處理制造商,ARM的設(shè)計(jì)非常適用于小的嵌入式系統(tǒng)。

嵌入式系統(tǒng)必須根據(jù)應(yīng)用需求對(duì)軟硬件進(jìn)行剪裁,滿足應(yīng)用系統(tǒng)的功能、可靠性等要求。隨著嵌入式系統(tǒng)的廣泛應(yīng)用及嵌入式操作系統(tǒng)的不斷普及,嵌入式環(huán)境下的數(shù)據(jù)管理問(wèn)題成為系統(tǒng)的重要環(huán)節(jié),工業(yè)系統(tǒng)要求嚴(yán)格的時(shí)間性,要求在一定的時(shí)刻或時(shí)間段內(nèi)對(duì)外部采集數(shù)據(jù)按照順序進(jìn)行存儲(chǔ),并及時(shí)作出響應(yīng)。所處理的數(shù)據(jù)往往是“短暫”的,只在一定的時(shí)間段內(nèi)有效,過(guò)時(shí)則沒(méi)有任何意義,傳統(tǒng)的嵌入式數(shù)據(jù)庫(kù)主要用于處理永久性數(shù)據(jù),設(shè)計(jì)時(shí)主要強(qiáng)調(diào)維護(hù)數(shù)據(jù)的完整性、一致性,提高系統(tǒng)的吞吐量和降低系統(tǒng)代價(jià),沒(méi)有考慮與數(shù)據(jù)處理相關(guān)聯(lián)的時(shí)間因素,因而傳統(tǒng)的嵌入式數(shù)據(jù)庫(kù)無(wú)法滿足工業(yè)實(shí)時(shí)應(yīng)用的需求,因此我們開(kāi)發(fā)了一款嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng),實(shí)現(xiàn)了與操作系統(tǒng)的融合,建立屬于實(shí)時(shí)數(shù)據(jù)庫(kù)獨(dú)有的緩沖區(qū)管理,將數(shù)據(jù)庫(kù)的歸檔文件建立在專用的文件系統(tǒng)之上,該文件系統(tǒng)提供獨(dú)立的訪問(wèn)接口及管理磁盤空間。

1嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù)分析

嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)是指在嵌入式設(shè)備中獨(dú)立運(yùn)行的數(shù)據(jù)庫(kù)系統(tǒng), 用以處理大量的, 時(shí)效性強(qiáng)且有嚴(yán)格時(shí)序的數(shù)據(jù), 它以高可靠性、高實(shí)時(shí)性和高信息吞吐量為目標(biāo), 其數(shù)據(jù)的正確性不僅依賴于邏輯結(jié)果, 而是依賴于邏輯結(jié)果產(chǎn)生的時(shí)間。由于嵌入式系統(tǒng)沒(méi)有充足的硬件資源支持,要求數(shù)據(jù)庫(kù)管理系統(tǒng)占用最小的內(nèi)存和磁盤空間。如果用Linux自帶的文件系統(tǒng)或大型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),都不可避免地產(chǎn)生大量的冗余數(shù)據(jù)、數(shù)據(jù)管理效率低下等問(wèn)題。所以,它們不能應(yīng)用于嵌入式系統(tǒng)的數(shù)據(jù)管理。嵌入式環(huán)境下設(shè)計(jì)的實(shí)時(shí)數(shù)據(jù)庫(kù)必須包含高效的存取機(jī)制,數(shù)據(jù)安全性機(jī)制,數(shù)據(jù)庫(kù)日志管理等功能。在實(shí)際設(shè)計(jì)中更關(guān)心系統(tǒng)的實(shí)時(shí)性,開(kāi)銷大小,系統(tǒng)性能,可靠性等。

嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)按照與嵌入式應(yīng)用的關(guān)系可以分為兩類[1]: 一類是獨(dú)立于具體的應(yīng)用, 它將數(shù)據(jù)庫(kù)直接建立在內(nèi)存之中, 專門為嵌入式系統(tǒng)數(shù)據(jù)管理而編寫的實(shí)時(shí)數(shù)據(jù)庫(kù); 另一類是針對(duì)具體的應(yīng)用而設(shè)計(jì)開(kāi)發(fā)的嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)。本文的實(shí)現(xiàn)屬于后者,介紹針對(duì)工業(yè)數(shù)據(jù)處理的嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù)。

基于專用文件系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)基本思想是將數(shù)據(jù)庫(kù)技術(shù)引入文件系統(tǒng),目前有兩種實(shí)現(xiàn)方式:一種是搭建一個(gè)基于現(xiàn)有數(shù)據(jù)庫(kù)的文件系統(tǒng),其中數(shù)據(jù)庫(kù)充當(dāng)了新文件系統(tǒng)的基石。另一種是對(duì)傳統(tǒng)文件系統(tǒng)進(jìn)行改造,將文件系統(tǒng)設(shè)計(jì)成一個(gè)“數(shù)據(jù)庫(kù)”,文件系統(tǒng)與數(shù)據(jù)庫(kù)完全融合。它不同于傳統(tǒng)的文件系統(tǒng),其改造使得其文件的組織和訪問(wèn)發(fā)生重大的變化,因?yàn)槲募到y(tǒng)更加數(shù)據(jù)庫(kù)化,包含“文件”、“目錄”這樣的概念也可能發(fā)生改變。對(duì)于文件的組織和訪問(wèn),或者說(shuō)數(shù)據(jù)的組織和訪問(wèn),也會(huì)更加側(cè)重于數(shù)據(jù)庫(kù)的方式,它會(huì)對(duì)各種數(shù)據(jù)提供統(tǒng)一訪問(wèn)存儲(chǔ)機(jī)制,以此來(lái)獲得有效而靈活的數(shù)據(jù)查詢機(jī)制。本文使用了后者的實(shí)現(xiàn)方式,將數(shù)據(jù)庫(kù)與專用文件系統(tǒng)進(jìn)行融合,提供了統(tǒng)一的訪問(wèn)接口。

2嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù)文件系統(tǒng)的設(shè)計(jì)模型

2.1實(shí)時(shí)數(shù)據(jù)特點(diǎn)[2]

實(shí)時(shí)數(shù)據(jù)自然是與時(shí)間緊密相關(guān)的,工業(yè)上嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù)所存儲(chǔ)的數(shù)據(jù)通常是基于時(shí)間的連續(xù)模擬量或者數(shù)字量,如:溫度、流量、壓力、閥門開(kāi)關(guān)等,這些數(shù)據(jù)有以下幾個(gè)特點(diǎn):

(1)時(shí)效性

每個(gè)記錄的值都與時(shí)間有關(guān)聯(lián),數(shù)據(jù)隨時(shí)間不斷添加入數(shù)據(jù)庫(kù),這些數(shù)據(jù)的順序按照時(shí)間來(lái)排序的,以后不會(huì)被重新排序,而每秒中的數(shù)據(jù)都有可能發(fā)生改變。因此,在記錄數(shù)據(jù)值得過(guò)程中必須記錄其相應(yīng)的時(shí)間。在數(shù)據(jù)查找時(shí),也必須確定其時(shí)間點(diǎn),否則數(shù)據(jù)就沒(méi)有存在的意義。

(2)數(shù)據(jù)格式

與關(guān)系型數(shù)據(jù)庫(kù)中的元組不同,工業(yè)數(shù)據(jù)每一條數(shù)據(jù)只包含一條記錄,數(shù)據(jù)格式相對(duì)簡(jiǎn)單,固定和獨(dú)立。從應(yīng)用角度來(lái)看,保存的數(shù)據(jù)有I/O整型、離散型、實(shí)數(shù)型、開(kāi)關(guān)量等。但從數(shù)據(jù)存儲(chǔ)技術(shù)方面看,都可歸納為1字節(jié),2字節(jié),4字節(jié)這三種情況,每一條記錄的屬性比較少,不存在記錄點(diǎn)與記錄點(diǎn)之間的依賴關(guān)系,沒(méi)有類似關(guān)系數(shù)據(jù)庫(kù)中數(shù)據(jù)間的復(fù)雜關(guān)系,它記錄格式少,關(guān)系簡(jiǎn)單,可以采用統(tǒng)一的結(jié)構(gòu)化管理。

(3)數(shù)據(jù)時(shí)間間隔

在工業(yè)現(xiàn)場(chǎng)中,某些記錄點(diǎn)變化頻率非???,而有些則是很長(zhǎng)一段時(shí)間才會(huì)發(fā)生變化,根據(jù)這個(gè)特點(diǎn),設(shè)計(jì)實(shí)時(shí)數(shù)據(jù)庫(kù)時(shí)必須兼顧細(xì)分要求。

根據(jù)實(shí)時(shí)數(shù)據(jù)的特點(diǎn),可以發(fā)現(xiàn)將實(shí)時(shí)數(shù)據(jù)存入關(guān)系型數(shù)據(jù)庫(kù)既浪費(fèi)系統(tǒng)資源,又無(wú)法滿足其對(duì)實(shí)時(shí)性的要求,因此,我們?cè)O(shè)計(jì)了實(shí)時(shí)數(shù)據(jù)庫(kù)文件系統(tǒng)用于存儲(chǔ)一定格式的工業(yè)數(shù)據(jù),其數(shù)據(jù)格式設(shè)定為三元組<點(diǎn)號(hào)、時(shí)間、數(shù)值>,其中“點(diǎn)號(hào)”代表工業(yè)現(xiàn)場(chǎng)的單值采樣設(shè)備,“時(shí)間”代表設(shè)備狀態(tài)的采樣時(shí)刻,“數(shù)值”代表設(shè)備的工作狀態(tài)或計(jì)量值。每一個(gè)數(shù)值由時(shí)間和點(diǎn)號(hào)確定,如果沒(méi)有確定的時(shí)間與點(diǎn)號(hào),數(shù)據(jù)則沒(méi)有任何意義。

2.2嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù)文件系統(tǒng)設(shè)計(jì)框架

在系統(tǒng)架構(gòu)方面,從操作系統(tǒng)內(nèi)核結(jié)構(gòu)的角度來(lái)看,數(shù)據(jù)庫(kù)文件系統(tǒng)放在操作系統(tǒng)的內(nèi)核之內(nèi),將數(shù)據(jù)庫(kù)技術(shù)與文件系統(tǒng)技術(shù)深度結(jié)合[3]。圖1所示為實(shí)時(shí)數(shù)據(jù)庫(kù)文件系統(tǒng)在操作系統(tǒng)中存在形式。

圖1嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù)文件系統(tǒng)的存在形式

嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù)文件系統(tǒng)不使用一般文件系統(tǒng)中的文件目錄結(jié)構(gòu),而是建立針對(duì)實(shí)時(shí)數(shù)據(jù)的索引結(jié)構(gòu),以便實(shí)現(xiàn)對(duì)磁盤數(shù)據(jù)的高效讀寫,它的數(shù)據(jù)接口是通過(guò)在操作系統(tǒng)中建立新的系統(tǒng)調(diào)用來(lái)實(shí)現(xiàn)的,使用了Linux中現(xiàn)有的磁盤驅(qū)動(dòng)程序,通過(guò)VFS完成在Linux環(huán)境下文件系統(tǒng)的注冊(cè)和安裝。嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù)文件系統(tǒng)的基本原型如圖2所示。

圖2嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù)文件系統(tǒng)(ERTFS)的體系結(jié)構(gòu)

該結(jié)構(gòu)提供了對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行讀寫的調(diào)用接口:其中數(shù)據(jù)寫(rt_write)可更新一組塊數(shù)據(jù),包括磁盤塊號(hào)以及寫進(jìn)該塊的數(shù)據(jù)內(nèi)容,可將數(shù)據(jù)寫入磁盤。數(shù)據(jù)讀(rt_read)則用于讀出某一磁盤塊數(shù)據(jù),或者讀出一批磁盤塊數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)則以完整的塊數(shù)據(jù)為基礎(chǔ),在文件系統(tǒng)內(nèi)部不對(duì)塊內(nèi)數(shù)據(jù)進(jìn)行任何處理,而對(duì)塊數(shù)據(jù)內(nèi)容的規(guī)整必須在文件系統(tǒng)之上完成。嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù)文件系統(tǒng)的數(shù)據(jù)處理流程如圖3所示。

圖3數(shù)據(jù)處理的流程圖

數(shù)據(jù)存儲(chǔ)時(shí)根據(jù)點(diǎn)號(hào)分配磁盤塊,查看磁盤塊空間是否寫滿,若寫滿則分配新的磁盤塊,然后為磁盤塊分配緩沖塊,將數(shù)據(jù)庫(kù)拷貝到緩沖塊,通過(guò)Linux的塊設(shè)備驅(qū)動(dòng)程序進(jìn)行寫入磁盤,同時(shí)維護(hù)索引區(qū)。數(shù)據(jù)讀取時(shí)主要根據(jù)點(diǎn)號(hào)和時(shí)間進(jìn)行讀取,如果沒(méi)有確定的時(shí)間點(diǎn),數(shù)據(jù)沒(méi)有任何意義。

2.3文件結(jié)構(gòu)

嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù)文件系統(tǒng)的通過(guò)點(diǎn)號(hào)進(jìn)行索引,每個(gè)點(diǎn)號(hào)指向?qū)?yīng)的數(shù)據(jù)簇,它的數(shù)據(jù)組織方式如圖4所示。

圖4按照點(diǎn)時(shí)間管理數(shù)據(jù)

嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù)文件系統(tǒng)以點(diǎn)作為索引,在對(duì)某一點(diǎn)的數(shù)據(jù)進(jìn)行訪問(wèn)時(shí),需要獲取該點(diǎn)的點(diǎn)信息,按照鏈表的方式來(lái)索引到指定的數(shù)據(jù)簇,在數(shù)據(jù)簇內(nèi),查詢命中的數(shù)據(jù)塊,將數(shù)據(jù)從數(shù)據(jù)區(qū)讀取或者存入,采用這種索引結(jié)構(gòu),可以減少數(shù)據(jù)的訪問(wèn)時(shí)間,提高了實(shí)時(shí)數(shù)據(jù)的查詢能力。其中點(diǎn)所指向的數(shù)據(jù)塊基本信息如圖5所示。

數(shù)據(jù)簇塊號(hào)

開(kāi)始時(shí)間

結(jié)束時(shí)間

已使用數(shù)據(jù)塊數(shù)

前一數(shù)據(jù)簇指針

后一數(shù)據(jù)簇指針

其他信息

數(shù)據(jù)塊索引信息(開(kāi)始時(shí)間,結(jié)束時(shí)間,數(shù)據(jù)塊大小)

……

數(shù)據(jù)塊索引信息(開(kāi)始時(shí)間,結(jié)束時(shí)間,數(shù)據(jù)塊大?。?/p>

圖5數(shù)據(jù)文件基本信息

圖5中,數(shù)據(jù)塊索引信息將記錄數(shù)據(jù)塊信息,每個(gè)數(shù)據(jù)塊存儲(chǔ)固定數(shù)目的實(shí)時(shí)數(shù)據(jù),為了節(jié)約存儲(chǔ)空間,塊內(nèi)的每個(gè)時(shí)間值只保存偏移量,即實(shí)際時(shí)間減去該塊數(shù)據(jù)起始時(shí)間。圖6所示為數(shù)據(jù)塊的存儲(chǔ)結(jié)構(gòu)。

圖6數(shù)據(jù)塊的存儲(chǔ)結(jié)構(gòu)

3性能測(cè)試

測(cè)試選取的嵌入式ARM開(kāi)發(fā)板選取YLE2440,處理器為Samsung S2C2440A, 主頻400 MHz;外部存儲(chǔ)器Nor FLASH:2 MB;Nand FLASH: 64 MB[4];存取介質(zhì)選取8GB的惠普優(yōu)盤進(jìn)行讀寫。實(shí)驗(yàn)過(guò)程中將實(shí)時(shí)數(shù)據(jù)庫(kù)文件系統(tǒng)正常編譯到了嵌入式Linux內(nèi)核中,內(nèi)核能夠穩(wěn)定的工作,格式化程序能夠?qū)?yōu)盤進(jìn)行格式化,經(jīng)過(guò)格式化后的優(yōu)盤能夠掛載到實(shí)時(shí)數(shù)據(jù)庫(kù)文件系統(tǒng)上,能夠?qū)ζ溥M(jìn)行數(shù)據(jù)讀和寫。

4結(jié)語(yǔ)

本文通過(guò)對(duì)嵌入式數(shù)據(jù)庫(kù)的分析,提出了針對(duì)實(shí)時(shí)數(shù)據(jù)的嵌入式實(shí)時(shí)數(shù)據(jù)的框架結(jié)構(gòu),介紹了其文件系統(tǒng)在Linux內(nèi)核中的存在形態(tài)以及其數(shù)據(jù)讀取接口,根據(jù)實(shí)時(shí)數(shù)據(jù)的特點(diǎn)設(shè)計(jì)了通過(guò)點(diǎn)進(jìn)行索引的文件結(jié)構(gòu),在數(shù)據(jù)文件內(nèi)部,按照時(shí)間段分簇的方式來(lái)歸類同一時(shí)間段內(nèi)的數(shù)據(jù)。通過(guò)本文的闡述,讀者可以大致明白如何設(shè)計(jì)實(shí)時(shí)數(shù)據(jù)庫(kù)以及實(shí)現(xiàn)特有文件系統(tǒng)。

參 考 文 獻(xiàn)

[1]馬新娜. 嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的研究與設(shè)計(jì)[J].微計(jì)算機(jī)信息,2006(23):100-101.

[2]張永軍. 一個(gè)實(shí)時(shí)歷史數(shù)據(jù)存儲(chǔ)文件結(jié)構(gòu)的設(shè)計(jì)[J].自動(dòng)化博覽,2008(4):92-94.

[3]郭瑞.力數(shù)實(shí)時(shí)數(shù)據(jù)庫(kù)實(shí)時(shí)文件系統(tǒng)的研究[D].北京:華北計(jì)算機(jī)系統(tǒng)工程研究所,2012.

[4]張廣斌. 基于Linux的嵌入式數(shù)據(jù)庫(kù)系統(tǒng)研究與實(shí)現(xiàn)[D]. 成都:西南交通大學(xué),2008.

[5]孫磊. 基于ARM Linux的嵌入式數(shù)據(jù)庫(kù)SQLite的移植開(kāi)發(fā)[D]. 昆明:昆明理工大學(xué),2008.

作者簡(jiǎn)介:李 賀(1989—),男,河南人,碩士研究生。主要研究方向?yàn)榍度胧綌?shù)據(jù)庫(kù)。

————————————————

收稿日期:2014-04-03

圖4按照點(diǎn)時(shí)間管理數(shù)據(jù)

嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù)文件系統(tǒng)以點(diǎn)作為索引,在對(duì)某一點(diǎn)的數(shù)據(jù)進(jìn)行訪問(wèn)時(shí),需要獲取該點(diǎn)的點(diǎn)信息,按照鏈表的方式來(lái)索引到指定的數(shù)據(jù)簇,在數(shù)據(jù)簇內(nèi),查詢命中的數(shù)據(jù)塊,將數(shù)據(jù)從數(shù)據(jù)區(qū)讀取或者存入,采用這種索引結(jié)構(gòu),可以減少數(shù)據(jù)的訪問(wèn)時(shí)間,提高了實(shí)時(shí)數(shù)據(jù)的查詢能力。其中點(diǎn)所指向的數(shù)據(jù)塊基本信息如圖5所示。

數(shù)據(jù)簇塊號(hào)

開(kāi)始時(shí)間

結(jié)束時(shí)間

已使用數(shù)據(jù)塊數(shù)

前一數(shù)據(jù)簇指針

后一數(shù)據(jù)簇指針

其他信息

數(shù)據(jù)塊索引信息(開(kāi)始時(shí)間,結(jié)束時(shí)間,數(shù)據(jù)塊大?。?/p>

……

數(shù)據(jù)塊索引信息(開(kāi)始時(shí)間,結(jié)束時(shí)間,數(shù)據(jù)塊大?。?/p>

圖5數(shù)據(jù)文件基本信息

圖5中,數(shù)據(jù)塊索引信息將記錄數(shù)據(jù)塊信息,每個(gè)數(shù)據(jù)塊存儲(chǔ)固定數(shù)目的實(shí)時(shí)數(shù)據(jù),為了節(jié)約存儲(chǔ)空間,塊內(nèi)的每個(gè)時(shí)間值只保存偏移量,即實(shí)際時(shí)間減去該塊數(shù)據(jù)起始時(shí)間。圖6所示為數(shù)據(jù)塊的存儲(chǔ)結(jié)構(gòu)。

圖6數(shù)據(jù)塊的存儲(chǔ)結(jié)構(gòu)

3性能測(cè)試

測(cè)試選取的嵌入式ARM開(kāi)發(fā)板選取YLE2440,處理器為Samsung S2C2440A, 主頻400 MHz;外部存儲(chǔ)器Nor FLASH:2 MB;Nand FLASH: 64 MB[4];存取介質(zhì)選取8GB的惠普優(yōu)盤進(jìn)行讀寫。實(shí)驗(yàn)過(guò)程中將實(shí)時(shí)數(shù)據(jù)庫(kù)文件系統(tǒng)正常編譯到了嵌入式Linux內(nèi)核中,內(nèi)核能夠穩(wěn)定的工作,格式化程序能夠?qū)?yōu)盤進(jìn)行格式化,經(jīng)過(guò)格式化后的優(yōu)盤能夠掛載到實(shí)時(shí)數(shù)據(jù)庫(kù)文件系統(tǒng)上,能夠?qū)ζ溥M(jìn)行數(shù)據(jù)讀和寫。

4結(jié)語(yǔ)

本文通過(guò)對(duì)嵌入式數(shù)據(jù)庫(kù)的分析,提出了針對(duì)實(shí)時(shí)數(shù)據(jù)的嵌入式實(shí)時(shí)數(shù)據(jù)的框架結(jié)構(gòu),介紹了其文件系統(tǒng)在Linux內(nèi)核中的存在形態(tài)以及其數(shù)據(jù)讀取接口,根據(jù)實(shí)時(shí)數(shù)據(jù)的特點(diǎn)設(shè)計(jì)了通過(guò)點(diǎn)進(jìn)行索引的文件結(jié)構(gòu),在數(shù)據(jù)文件內(nèi)部,按照時(shí)間段分簇的方式來(lái)歸類同一時(shí)間段內(nèi)的數(shù)據(jù)。通過(guò)本文的闡述,讀者可以大致明白如何設(shè)計(jì)實(shí)時(shí)數(shù)據(jù)庫(kù)以及實(shí)現(xiàn)特有文件系統(tǒng)。

參 考 文 獻(xiàn)

[1]馬新娜. 嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的研究與設(shè)計(jì)[J].微計(jì)算機(jī)信息,2006(23):100-101.

[2]張永軍. 一個(gè)實(shí)時(shí)歷史數(shù)據(jù)存儲(chǔ)文件結(jié)構(gòu)的設(shè)計(jì)[J].自動(dòng)化博覽,2008(4):92-94.

[3]郭瑞.力數(shù)實(shí)時(shí)數(shù)據(jù)庫(kù)實(shí)時(shí)文件系統(tǒng)的研究[D].北京:華北計(jì)算機(jī)系統(tǒng)工程研究所,2012.

[4]張廣斌. 基于Linux的嵌入式數(shù)據(jù)庫(kù)系統(tǒng)研究與實(shí)現(xiàn)[D]. 成都:西南交通大學(xué),2008.

[5]孫磊. 基于ARM Linux的嵌入式數(shù)據(jù)庫(kù)SQLite的移植開(kāi)發(fā)[D]. 昆明:昆明理工大學(xué),2008.

作者簡(jiǎn)介:李 賀(1989—),男,河南人,碩士研究生。主要研究方向?yàn)榍度胧綌?shù)據(jù)庫(kù)。

————————————————

收稿日期:2014-04-03

圖4按照點(diǎn)時(shí)間管理數(shù)據(jù)

嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù)文件系統(tǒng)以點(diǎn)作為索引,在對(duì)某一點(diǎn)的數(shù)據(jù)進(jìn)行訪問(wèn)時(shí),需要獲取該點(diǎn)的點(diǎn)信息,按照鏈表的方式來(lái)索引到指定的數(shù)據(jù)簇,在數(shù)據(jù)簇內(nèi),查詢命中的數(shù)據(jù)塊,將數(shù)據(jù)從數(shù)據(jù)區(qū)讀取或者存入,采用這種索引結(jié)構(gòu),可以減少數(shù)據(jù)的訪問(wèn)時(shí)間,提高了實(shí)時(shí)數(shù)據(jù)的查詢能力。其中點(diǎn)所指向的數(shù)據(jù)塊基本信息如圖5所示。

數(shù)據(jù)簇塊號(hào)

開(kāi)始時(shí)間

結(jié)束時(shí)間

已使用數(shù)據(jù)塊數(shù)

前一數(shù)據(jù)簇指針

后一數(shù)據(jù)簇指針

其他信息

數(shù)據(jù)塊索引信息(開(kāi)始時(shí)間,結(jié)束時(shí)間,數(shù)據(jù)塊大?。?/p>

……

數(shù)據(jù)塊索引信息(開(kāi)始時(shí)間,結(jié)束時(shí)間,數(shù)據(jù)塊大?。?/p>

圖5數(shù)據(jù)文件基本信息

圖5中,數(shù)據(jù)塊索引信息將記錄數(shù)據(jù)塊信息,每個(gè)數(shù)據(jù)塊存儲(chǔ)固定數(shù)目的實(shí)時(shí)數(shù)據(jù),為了節(jié)約存儲(chǔ)空間,塊內(nèi)的每個(gè)時(shí)間值只保存偏移量,即實(shí)際時(shí)間減去該塊數(shù)據(jù)起始時(shí)間。圖6所示為數(shù)據(jù)塊的存儲(chǔ)結(jié)構(gòu)。

圖6數(shù)據(jù)塊的存儲(chǔ)結(jié)構(gòu)

3性能測(cè)試

測(cè)試選取的嵌入式ARM開(kāi)發(fā)板選取YLE2440,處理器為Samsung S2C2440A, 主頻400 MHz;外部存儲(chǔ)器Nor FLASH:2 MB;Nand FLASH: 64 MB[4];存取介質(zhì)選取8GB的惠普優(yōu)盤進(jìn)行讀寫。實(shí)驗(yàn)過(guò)程中將實(shí)時(shí)數(shù)據(jù)庫(kù)文件系統(tǒng)正常編譯到了嵌入式Linux內(nèi)核中,內(nèi)核能夠穩(wěn)定的工作,格式化程序能夠?qū)?yōu)盤進(jìn)行格式化,經(jīng)過(guò)格式化后的優(yōu)盤能夠掛載到實(shí)時(shí)數(shù)據(jù)庫(kù)文件系統(tǒng)上,能夠?qū)ζ溥M(jìn)行數(shù)據(jù)讀和寫。

4結(jié)語(yǔ)

本文通過(guò)對(duì)嵌入式數(shù)據(jù)庫(kù)的分析,提出了針對(duì)實(shí)時(shí)數(shù)據(jù)的嵌入式實(shí)時(shí)數(shù)據(jù)的框架結(jié)構(gòu),介紹了其文件系統(tǒng)在Linux內(nèi)核中的存在形態(tài)以及其數(shù)據(jù)讀取接口,根據(jù)實(shí)時(shí)數(shù)據(jù)的特點(diǎn)設(shè)計(jì)了通過(guò)點(diǎn)進(jìn)行索引的文件結(jié)構(gòu),在數(shù)據(jù)文件內(nèi)部,按照時(shí)間段分簇的方式來(lái)歸類同一時(shí)間段內(nèi)的數(shù)據(jù)。通過(guò)本文的闡述,讀者可以大致明白如何設(shè)計(jì)實(shí)時(shí)數(shù)據(jù)庫(kù)以及實(shí)現(xiàn)特有文件系統(tǒng)。

參 考 文 獻(xiàn)

[1]馬新娜. 嵌入式實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)的研究與設(shè)計(jì)[J].微計(jì)算機(jī)信息,2006(23):100-101.

[2]張永軍. 一個(gè)實(shí)時(shí)歷史數(shù)據(jù)存儲(chǔ)文件結(jié)構(gòu)的設(shè)計(jì)[J].自動(dòng)化博覽,2008(4):92-94.

[3]郭瑞.力數(shù)實(shí)時(shí)數(shù)據(jù)庫(kù)實(shí)時(shí)文件系統(tǒng)的研究[D].北京:華北計(jì)算機(jī)系統(tǒng)工程研究所,2012.

[4]張廣斌. 基于Linux的嵌入式數(shù)據(jù)庫(kù)系統(tǒng)研究與實(shí)現(xiàn)[D]. 成都:西南交通大學(xué),2008.

[5]孫磊. 基于ARM Linux的嵌入式數(shù)據(jù)庫(kù)SQLite的移植開(kāi)發(fā)[D]. 昆明:昆明理工大學(xué),2008.

作者簡(jiǎn)介:李 賀(1989—),男,河南人,碩士研究生。主要研究方向?yàn)榍度胧綌?shù)據(jù)庫(kù)。

————————————————

收稿日期:2014-04-03