欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種資源受限設(shè)備和數(shù)據(jù)訪問方法

文檔序號:6337603閱讀:441來源:國知局
專利名稱:一種資源受限設(shè)備和數(shù)據(jù)訪問方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)管理技術(shù),尤其是涉及一種資源受限設(shè)備和數(shù)據(jù)訪問方法。
背景技術(shù)
傳統(tǒng)的資源受限設(shè)備,其運算能力通常很弱,一般只有8位CPU,存儲空間也非常小,一般不超過幾K字節(jié),其上的應(yīng)用較為簡單,通常只是用來存儲和處理一些簡單必備的數(shù)據(jù)信息,處理的數(shù)據(jù)量較小,應(yīng)用的開發(fā)相對封閉,并且沒有太多的I/O操作。這種資源受限設(shè)備的一個典型代表就是智能卡。與其類似的設(shè)備還有USB KEY、SD卡以及直接集成在PC主板上的安全集成電路芯片等。下文為描述方便,將以智能卡為典型代表來描述在資源受限設(shè)備上的數(shù)據(jù)管理系統(tǒng)和方法。圖1是一個現(xiàn)有的智能卡體系結(jié)構(gòu)的描述。現(xiàn)有的智能卡包括應(yīng)用模塊、數(shù)據(jù)管理平臺、操作系統(tǒng)和硬件平臺四部分,應(yīng)用模塊可以包含一個或多個應(yīng)用,數(shù)據(jù)管理平臺, 接收應(yīng)用模塊發(fā)出的數(shù)據(jù)訪問請求,通過平臺內(nèi)部一系列的操作,把獲得的數(shù)據(jù)返回給應(yīng)用模塊?,F(xiàn)有的數(shù)據(jù)管理平臺包括應(yīng)用接口、模式管理模塊、數(shù)據(jù)管理模塊、索引管理模塊和操作系統(tǒng)接口。其中,模式管理模塊管理配置數(shù)據(jù),索引管理模塊用于管理索引數(shù)據(jù),數(shù)據(jù)管理模塊,用于管理應(yīng)用數(shù)據(jù),其中,模式管理模塊定義配置數(shù)據(jù)的存儲結(jié)構(gòu),并根據(jù)數(shù)據(jù)訪問請求對配置數(shù)據(jù)進行模式操作;索引管理模塊定義索引數(shù)據(jù)的存儲結(jié)構(gòu),并根據(jù)數(shù)據(jù)訪問請求對索引數(shù)據(jù)進行索引操作;數(shù)據(jù)管理模塊定義應(yīng)用數(shù)據(jù)的存儲結(jié)構(gòu),并根據(jù)數(shù)據(jù)訪問請求對應(yīng)用數(shù)據(jù)進行數(shù)據(jù)操作。操作系統(tǒng)接口,用于為模式管理模塊、索引管理模塊和數(shù)據(jù)管理模塊提供操作系統(tǒng)的文件訪問接口,使模式管理模塊訪問配置數(shù)據(jù)、數(shù)據(jù)管理模塊訪問應(yīng)用數(shù)據(jù)、索引管理模塊訪問索引數(shù)據(jù)?,F(xiàn)有的模式管理模塊、索引管理模塊和數(shù)據(jù)管理模塊對各自管理的配置數(shù)據(jù)、索引數(shù)據(jù)、以及應(yīng)用數(shù)據(jù)都分別采用各自模塊定義的存儲結(jié)構(gòu),不便于智能卡上存儲數(shù)據(jù)的
統(tǒng)一管理。

發(fā)明內(nèi)容
本發(fā)明提供一種資源受限設(shè)備以及數(shù)據(jù)訪問方法,能夠加快數(shù)據(jù)訪問速度,提高內(nèi)存資源的利用率。一種資源受限設(shè)備,包括數(shù)據(jù)管理平臺,數(shù)據(jù)管理平臺包括應(yīng)用接口、模式管理模塊、數(shù)據(jù)管理模塊、索引管理模塊、操作系統(tǒng)接口,以及數(shù)據(jù)統(tǒng)一接口,其中數(shù)據(jù)統(tǒng)一接口,用于對模式管理模塊、索引管理模塊、數(shù)據(jù)管理模塊定義統(tǒng)一的數(shù)據(jù)存儲結(jié)構(gòu),并向應(yīng)用接口提供統(tǒng)一的數(shù)據(jù)訪問接口 ;以及所述模式管理模塊,用于根據(jù)數(shù)據(jù)統(tǒng)一接口定義的數(shù)據(jù)存儲結(jié)構(gòu)管理配置數(shù)據(jù);所述數(shù)據(jù)管理模塊,用于根據(jù)數(shù)據(jù)統(tǒng)一接口定義的數(shù)據(jù)存儲結(jié)構(gòu)管理應(yīng)用數(shù)據(jù);所述索引管理模塊,用于根據(jù)數(shù)據(jù)統(tǒng)一接口定義的數(shù)據(jù)存儲結(jié)構(gòu)管理索引數(shù)據(jù);所述操作系統(tǒng)接口,用于為模式管理模塊、數(shù)據(jù)管理模塊、索引管理模塊提供訪問存儲介質(zhì)的接口函數(shù),使模式管理模塊能夠通過接口函數(shù)訪問存儲介質(zhì)中的配置數(shù)據(jù),索引管理模塊能夠通過接口函數(shù)訪問存儲介質(zhì)中的索引數(shù)據(jù),數(shù)據(jù)管理模塊能夠通過接口函數(shù)訪問存儲介質(zhì)中的應(yīng)用數(shù)據(jù)。一種數(shù)據(jù)訪問方法,包括數(shù)據(jù)管理平臺接收應(yīng)用模塊發(fā)出的數(shù)據(jù)訪問請求,所述數(shù)據(jù)管理平臺設(shè)置在資源受限設(shè)備中;數(shù)據(jù)管理平臺根據(jù)數(shù)據(jù)訪問請求管理配置數(shù)據(jù)、索引數(shù)據(jù)或者應(yīng)用數(shù)據(jù),其中,配置數(shù)據(jù)、索引數(shù)據(jù)、應(yīng)用數(shù)據(jù)采用統(tǒng)一的數(shù)據(jù)存儲結(jié)構(gòu)。本發(fā)明實施例提供的資源受限設(shè)備,能夠通過數(shù)據(jù)統(tǒng)一接口對模式管理模塊、索引管理模塊、數(shù)據(jù)管理模塊定義統(tǒng)一的數(shù)據(jù)存儲結(jié)構(gòu),并且各模塊根據(jù)數(shù)據(jù)統(tǒng)一接口定義的數(shù)據(jù)存儲結(jié)構(gòu)管理各自的數(shù)據(jù)。使得智能卡上存儲的數(shù)據(jù)是采用統(tǒng)一的數(shù)據(jù)結(jié)構(gòu),能夠?qū)χ悄芸ㄉ洗鎯Φ臄?shù)據(jù)進行統(tǒng)一管理,加快數(shù)據(jù)的訪問速度,并提高內(nèi)存資源的利用率。


圖1為現(xiàn)有的智能卡體系結(jié)構(gòu)圖;圖2為本發(fā)明實施例的一種資源受限設(shè)備的基本組成結(jié)構(gòu);圖3為本發(fā)明實施例的另一種資源受限設(shè)備的硬件結(jié)構(gòu);圖如為本發(fā)明實施例數(shù)據(jù)管理平臺的結(jié)構(gòu)圖;圖4b為本發(fā)明實施例提供的另一種數(shù)據(jù)管理平臺的結(jié)構(gòu)圖;圖5為本發(fā)明實施例提供的緩存區(qū)的數(shù)據(jù)結(jié)構(gòu)示意圖;圖6為本發(fā)明實施例提供的數(shù)據(jù)訪問方法流程圖。
具體實施例方式本發(fā)明實施例提供一種資源受限設(shè)備,對現(xiàn)有的智能卡中的數(shù)據(jù)管理平臺中的模式管理模塊、數(shù)據(jù)管理模塊以及索引管理模塊統(tǒng)一定義數(shù)據(jù)存儲結(jié)構(gòu),以便智能卡上存儲數(shù)據(jù)的統(tǒng)一管理。進一步,本發(fā)明實施例中還采用CACHE接口,統(tǒng)一對配置數(shù)據(jù)、索引數(shù)據(jù)、 應(yīng)用數(shù)據(jù)在內(nèi)存中設(shè)置緩存,并在需要對配置數(shù)據(jù)、索引數(shù)據(jù)或者應(yīng)用數(shù)據(jù)進行操作時,在緩存中進行相應(yīng)的操作,加快數(shù)據(jù)訪問速度,提高內(nèi)存資源的利用率。本發(fā)明實施例所描述的資源受限設(shè)備的典型代表是智能卡。智能卡的基本組成結(jié)構(gòu)如圖2所示,包括中央處理單元(CPU)、只讀存儲器(ROM)、隨機訪問存儲器(RAM)、非易失性存儲器(NVM)、以及輸入輸出(I/O)通道,這些功能部件通過總線(BUQ連接在一起。 ROM中存放CPU要執(zhí)行的指令,這里的ROM也可以是閃存FLASH或者其他非易失性存儲器; 為便于本專利的描述,這里以ROM為例來進行表述。另外,本發(fā)明實施例也適用于大容量智能卡,這種大容量智能卡的組成結(jié)構(gòu)如圖3 所示,該組成結(jié)構(gòu)包含與圖2所描述的結(jié)構(gòu)外,還包含一個FLASH控制器,該FLASH控制器與一塊大容量的FLASH存儲器相連。該大容量FLASH存儲器可能是NAND FLASH,也可能是 NOR FLASH或者其他非易失性存儲器,通常具有較大的存儲容量,從幾兆字節(jié)到幾G字節(jié)不等。為更迅速地訪問這種大容量存儲器,圖3中的I/O通道會包含一種或幾種快速數(shù)據(jù)接口,如 USB、MMC 接口。
5
下面通過具體的實施例來描述本發(fā)明。實施例一描述本發(fā)明的資源受限設(shè)備。實施例二描述本發(fā)明的數(shù)據(jù)訪問方法。實施例一本實施例公開了一種資源受限設(shè)備,資源受限設(shè)備包括數(shù)據(jù)管理平臺,用于定義數(shù)據(jù)的存儲結(jié)構(gòu),并向應(yīng)用模塊提供統(tǒng)一的數(shù)據(jù)訪問接口 ;操作系統(tǒng)模塊,用于提供文件管理、內(nèi)存管理以及其他系統(tǒng)功能模塊,以便數(shù)據(jù)管理平臺利用這些系統(tǒng)功能存取數(shù)據(jù);硬件平臺,用于提供基本的硬件支持。應(yīng)用模塊可設(shè)置在資源受限設(shè)備中,也可以設(shè)置在資源受限設(shè)備之外,與資源受限設(shè)備相連。數(shù)據(jù)管理平臺與應(yīng)用模塊和操作系統(tǒng)相連,接收應(yīng)用模塊傳遞來的數(shù)據(jù)訪問請求,解析并執(zhí)行數(shù)據(jù)訪問請求,執(zhí)行過程中調(diào)用操作系統(tǒng)模塊進行數(shù)據(jù)讀寫操作。如圖如所示,數(shù)據(jù)管理平臺包括應(yīng)用接口、數(shù)據(jù)統(tǒng)一接口,模式管理模塊、數(shù)據(jù)管理模塊、索引管理模塊、操作系統(tǒng)接口。 應(yīng)用接口,向應(yīng)用模塊提供數(shù)據(jù)訪問接口,應(yīng)用模塊通過調(diào)用應(yīng)用接口,實現(xiàn)對應(yīng)用數(shù)據(jù)的訪問;數(shù)據(jù)統(tǒng)一接口,用于對模式管理模塊、索引管理模塊、數(shù)據(jù)管理模塊定義統(tǒng)一的數(shù)據(jù)存儲結(jié)構(gòu),并向應(yīng)用接口提供統(tǒng)一的數(shù)據(jù)訪問接口 ;其中,數(shù)據(jù)統(tǒng)一接口定義的數(shù)據(jù)存儲結(jié)構(gòu)可以是B-樹,B+樹或者是其他的數(shù)據(jù)存儲結(jié)構(gòu),該接口定義統(tǒng)一的數(shù)據(jù)存儲結(jié)構(gòu)的目的是方便對各模塊管理的配置數(shù)據(jù)、索引數(shù)據(jù)以及應(yīng)用數(shù)據(jù)進行統(tǒng)一的管理,并通過數(shù)據(jù)統(tǒng)一接口對應(yīng)用接口提供統(tǒng)一的數(shù)據(jù)訪問接口。對于上層而言,數(shù)據(jù)統(tǒng)一接口屏蔽了內(nèi)部結(jié)構(gòu),通過該接口使其對外提供數(shù)據(jù)操作功能。模式管理模塊,根據(jù)數(shù)據(jù)統(tǒng)一接口定義的數(shù)據(jù)存儲結(jié)構(gòu)管理配置數(shù)據(jù);索引管理模塊,根據(jù)數(shù)據(jù)統(tǒng)一接口定義的數(shù)據(jù)存儲結(jié)構(gòu)管理索引數(shù)據(jù);數(shù)據(jù)管理模塊,根據(jù)數(shù)據(jù)統(tǒng)一接口定義的數(shù)據(jù)存儲結(jié)構(gòu)管理應(yīng)用數(shù)據(jù);操作系統(tǒng)接口,用于為模式管理模塊、數(shù)據(jù)管理模塊、索引管理模塊提供訪問存儲介質(zhì)的接口函數(shù),使模式管理模塊能夠通過接口函數(shù)訪問存儲介質(zhì)中的配置數(shù)據(jù),索引管理模塊能夠通過接口函數(shù)訪問存儲介質(zhì)中的索引數(shù)據(jù),數(shù)據(jù)管理模塊能夠通過接口函數(shù)訪問存儲介質(zhì)中的應(yīng)用數(shù)據(jù)。采用上述資源受限設(shè)備,數(shù)據(jù)統(tǒng)一接口能夠為模式管理模塊、索引管理模塊、操作系統(tǒng)模塊定義統(tǒng)一的數(shù)據(jù)存儲結(jié)構(gòu),并且各模塊能夠根據(jù)該數(shù)據(jù)存儲結(jié)構(gòu)管理各自的數(shù)據(jù),便于資源受限設(shè)備上存儲數(shù)據(jù)的統(tǒng)一管理,提高資源受限設(shè)備的數(shù)據(jù)訪問速度,以及提高資源受限設(shè)備的處理效率。較佳地,如圖4b所示,上述數(shù)據(jù)管理平臺還包括緩存CACHE接口,封裝在模式管理模塊、索引管理模塊、數(shù)據(jù)管理模塊和操作系統(tǒng)接口之間,用于統(tǒng)一對存儲介質(zhì)中的配置數(shù)據(jù)、索引數(shù)據(jù)、應(yīng)用數(shù)據(jù)在內(nèi)存中設(shè)置緩存,并在模式管理模塊需要對存儲介質(zhì)中的配置數(shù)據(jù)操作、索引管理模塊需要對存儲介質(zhì)中的索引數(shù)據(jù)操作或者數(shù)據(jù)管理模塊需要對存儲介質(zhì)中的應(yīng)用數(shù)據(jù)操作時,統(tǒng)一在緩存中進行相應(yīng)的操作;以及操作系統(tǒng)接口,用于為CACHE接口提供訪問存儲介質(zhì)的接口函數(shù),使得CACHE接口
6能夠訪問存儲介質(zhì)上的配置數(shù)據(jù)、應(yīng)用數(shù)據(jù)以及索引數(shù)據(jù)。其中,當(dāng)模式管理模塊、索引管理模塊、數(shù)據(jù)管理模塊需要對各自管理的數(shù)據(jù)進行操作時,則直接調(diào)用CACHE接口在緩存區(qū)中進行相應(yīng)的操作,并臨時保存在內(nèi)存的緩存中, 直到需要回寫時,再將緩存中的內(nèi)容寫回存儲介質(zhì)中。當(dāng)內(nèi)存中的緩存使用完畢(即內(nèi)存中的緩存已寫滿)時,對緩存中的緩存塊進行替換,替換是指將該緩存塊釋放,用來緩存新的數(shù)據(jù)。其中,當(dāng)需要被替換的緩存塊的數(shù)據(jù)被修改過,則調(diào)用操作系統(tǒng)接口將該緩存塊的數(shù)據(jù)寫回存儲介質(zhì)中。較佳地,可以使用最近最少使用算法對緩存中的緩存塊進行替換。較佳地,數(shù)據(jù)統(tǒng)一接口為B+TREE接口,定義的統(tǒng)一的數(shù)據(jù)存儲結(jié)構(gòu)為B+TREE結(jié)構(gòu),則B+TREE接口能夠通過B+TREE算法對配置數(shù)據(jù)、索引數(shù)據(jù)、應(yīng)用數(shù)據(jù)進行統(tǒng)一管理。下面詳細說明B+TREE接口對模式管理模塊、數(shù)據(jù)管理模塊、索引管理模塊的統(tǒng)一調(diào)度。資源受限設(shè)備中的數(shù)據(jù)管理平臺根據(jù)外部的應(yīng)用模塊(比如PC端的應(yīng)用程序) 發(fā)出的數(shù)據(jù)訪問請求(包括刪除記錄、插入記錄、更新記錄、索引操作、配置數(shù)據(jù)操作等), 通過應(yīng)用接口、B+TREE接口調(diào)用不同的模塊。刪除記錄、插入記錄、更新記錄、查詢記錄屬于數(shù)據(jù)管理模塊,索引操作屬于索引管理模塊,配置數(shù)據(jù)操作屬于模式管理模塊。這三個模塊B+TREE接口統(tǒng)一調(diào)度。在本發(fā)明中對所有模塊數(shù)據(jù)的操作都對應(yīng)對B+TREE的操作。例如下述幾個最基本的操作都將對應(yīng)如下的B+TREE操作CREATE TABLE (創(chuàng)建表)_ 創(chuàng)建一個 Table B+TREE (表 B+TREE);CREATE INDEX (創(chuàng)建索引)-創(chuàng)建一個 Index B+TREE (索引 B+TREE);DROP TABLE (刪除表)-刪除一個 TABLE B+TREE (以及相關(guān)的 hdexB+TREE);INSERT RECORD (插入記錄)-將記錄插入到Table B+TREE節(jié)點中,如果關(guān)聯(lián)索引, 還需要將相關(guān)字段插入hdex B+TREE節(jié)點;SELECT RECORD (查詢記錄)-查詢 hdex B+TREE 獲得記錄 R0WID,再查詢 Table B+TREE獲得記錄內(nèi)容。如果沒有關(guān)聯(lián)索引,則需要遍歷TableB+TREE的每一個ROWID ;UPDATE RECORD (更新記錄)-查詢到記錄后修改節(jié)點記錄內(nèi)容;DELETE RECORD (刪除記錄)-查詢到記錄后刪除節(jié)點記錄內(nèi)容。由于B+TREE本身具有一些特性,以上操作中還將涉及若干B+TREE專有操作插入數(shù)據(jù)導(dǎo)致增加節(jié)點、刪除數(shù)據(jù)導(dǎo)致刪除節(jié)點、平衡樹結(jié)構(gòu)導(dǎo)致的增加和刪除節(jié)點、因增加或者刪除節(jié)點導(dǎo)致根節(jié)點的變化、插入或者刪除數(shù)據(jù)導(dǎo)致導(dǎo)航節(jié)點KEY值更新、因節(jié)點數(shù)據(jù)更新導(dǎo)致關(guān)聯(lián)節(jié)點(父節(jié)點、兄弟節(jié)點)的數(shù)據(jù)更新等。以上各種屬性的獲取或者操作都通過B+TREE接口對模式管理模塊、數(shù)據(jù)管理模塊、索引管理模塊進行調(diào)度完成。對上層而言,屏蔽了內(nèi)部結(jié)構(gòu),通過B+TREE接口即可提供統(tǒng)一的數(shù)據(jù)訪問接口。并且采用B+TREE數(shù)據(jù)存儲結(jié)構(gòu),加快了數(shù)據(jù)的訪問速度,提高了智能卡系統(tǒng)的處理效率。下面詳細介紹一下本發(fā)明實施例中的CACHE接口的功能。CACHE接口,統(tǒng)一為配置數(shù)據(jù)、索引數(shù)據(jù)、應(yīng)用數(shù)據(jù)對應(yīng)在內(nèi)存中分配緩存,加快數(shù)據(jù)訪問速度,提高內(nèi)存資源的利用率。CACHE接口,負責(zé)維護內(nèi)存數(shù)據(jù)和外存數(shù)據(jù)的映射關(guān)系,并管理內(nèi)存數(shù)據(jù)緩存區(qū)的層次,負責(zé)直接讀寫外存。當(dāng)模式管理模塊、數(shù)據(jù)管理模塊或者索引管理模塊需要讀取數(shù)據(jù)或者需要修改數(shù)據(jù)時,會調(diào)用CACHE接口在內(nèi)存中的緩存區(qū)中進行“邏輯上”修改,修改結(jié)果暫時保存在內(nèi)存中,外存數(shù)據(jù)并沒有立即被修改。而外存數(shù)據(jù)被“物理上”修改也是由CACHE接口完成修改時機是由CACHE接口采用的緩存塊置換算法決定的。緩存塊的數(shù)據(jù)結(jié)構(gòu)是由“緩存塊結(jié)構(gòu)”組成的單向鏈表。鏈表頭指針page_CaChe_ link位于緩存管理結(jié)構(gòu)體中,每一個“緩存塊結(jié)構(gòu)”包括緩存塊數(shù)據(jù)和屬性控制兩部分。其中,緩存塊數(shù)據(jù)大小和系統(tǒng)定義的頁面數(shù)據(jù)大小一致,用于整體緩存一個外存數(shù)據(jù)塊的全部數(shù)據(jù)。如圖5所示,為本發(fā)明實施例提供的緩存區(qū)的數(shù)據(jù)結(jié)構(gòu)示意圖。屬性控制用于表示該緩存塊數(shù)據(jù)狀態(tài)。包括NEXT CACHE,PAGENUMBER以及相應(yīng)白勺Mt生 Dirty、Lock、Valid、Reserved。其中NEXT CACHE(下一緩存塊),下一個緩存塊結(jié)構(gòu)的起始內(nèi)存地址,占4個字節(jié);PAGE NUMBER(頁面號)對應(yīng)的外存頁面號(即對應(yīng)的外存數(shù)據(jù)塊);Dirty 數(shù)據(jù)是否為臟,占1字節(jié)。若為TRUE(0x01)表示緩存塊中的數(shù)據(jù)被寫過, 需要回寫,否則FALSE(0x00)表示其內(nèi)容沒有被改過,不需要回寫。需要回寫的緩存塊數(shù)據(jù)不一定立即被會回寫到外存中,Dirty標記為TRUE只是表示早晚需要被回寫。具體的回寫時機由回寫算法控制(一般回寫發(fā)生在被替換前)。不需要回寫的緩存塊是隨時被替換的。Lock 緩存塊數(shù)據(jù)是否被鎖住,占1字節(jié)。若為TRUE(0x01)表示緩存塊中的數(shù)據(jù)被鎖住,不可替換該數(shù)據(jù)塊。否則FALSE(OxOO)表示其內(nèi)容沒有被鎖住,可以隨時替換。由于某些操作會導(dǎo)致對同一個數(shù)據(jù)塊的多次在緩存層“邏輯上”的寫,并且這些寫可能間隔一定時間,如果這一系列對同一緩存塊的寫沒有全部完成前,該緩存塊被從內(nèi)存中置換出去, 則外存將會被“物理的”寫過多次,因此,會嚴重降低智能卡系統(tǒng)的處理效率。因此,Lock的作用是暫時抑制置換的發(fā)生,以降低物理寫操作的次數(shù),從而提高系統(tǒng)處理效率。Valid 緩存塊數(shù)據(jù)是否可用,占1字節(jié)。若為TRUE(OxOl)表示緩存塊的內(nèi)容可用,否則為FALSE(0x00)表示內(nèi)容不可用。當(dāng)緩存塊中的內(nèi)容是可用時,緩存塊可讀(即數(shù)據(jù)可被高層函數(shù)訪問)。而當(dāng)緩存塊中的內(nèi)容是不可用時,緩存塊不可讀(即數(shù)據(jù)不能被高層函數(shù)訪問了,因為這些數(shù)據(jù)可能不是數(shù)據(jù)庫的真實數(shù)據(jù)了)。例如當(dāng)外存發(fā)生事務(wù)回滾操作后,某些緩存塊中的內(nèi)容與外存不一致時,可將該緩存塊的Valid項置為FALSE,即緩存塊數(shù)據(jù)無用,無需寫回外存,隨時可以被讀取的任何頁面數(shù)據(jù)覆蓋。又例如,某個緩存塊剛被創(chuàng)建,其中的數(shù)據(jù)顯然也是無用的,可以立刻被讀取的塊數(shù)據(jù)覆蓋。不可用的緩存塊是可以優(yōu)先被替換的緩存塊。RESERVED 保留字節(jié)。本發(fā)明實施例中采用LRU (Least Recently Used,最近最少使用)算法決策緩存塊的置換。越靠近鏈表前端的緩存塊,最近使用的頻率越少,越應(yīng)該被置換出去。正常情況下,置換總是發(fā)生在鏈表的第一個緩存塊(即第一個節(jié)點)。但是,如果第一個緩存塊被鎖住,則置換位置將順延。此外,被標記為不可用的緩存塊需要優(yōu)先被置換,需要移到鏈表頭部。采用最近最少使用算法,能夠根據(jù)緩存塊的使用頻率進行緩存塊的替換,提高了資源的利用率,并避免對存儲介質(zhì)的頻繁操作,同時提高數(shù)據(jù)訪問速度。
實施例二本發(fā)明實施例還提供一種數(shù)據(jù)訪問方法,如圖6所示,包括S601、數(shù)據(jù)管理平臺接收應(yīng)用程序發(fā)出的數(shù)據(jù)訪問請求,所述數(shù)據(jù)管理平臺設(shè)置在資源受限設(shè)備中;S602、數(shù)據(jù)管理平臺根據(jù)數(shù)據(jù)訪問請求管理數(shù)據(jù);其中,數(shù)據(jù)包括如下之一或其組合配置數(shù)據(jù)、索引數(shù)據(jù)或者應(yīng)用數(shù)據(jù),并且,配置數(shù)據(jù)、索引數(shù)據(jù)、應(yīng)用數(shù)據(jù)采用統(tǒng)一的數(shù)據(jù)存儲結(jié)構(gòu);較佳地,統(tǒng)一的數(shù)據(jù)存儲結(jié)構(gòu)為B+TREE結(jié)構(gòu)。數(shù)據(jù)管理平臺的應(yīng)用接口將數(shù)據(jù)訪問請求傳遞給B+TREE接口,B+TREE接口將數(shù)據(jù)訪問請求傳遞給模式管理模塊、數(shù)據(jù)管理模塊、索引管理模塊。模式管理模塊、數(shù)據(jù)管理模塊、索引管理模塊根據(jù)數(shù)據(jù)訪問請求管理操作數(shù)據(jù),其中,操作包括模式操作、索引操作、數(shù)據(jù)操作。其中,在執(zhí)行管理操作的過程中,當(dāng)需要對配置數(shù)據(jù)、索引數(shù)據(jù)或者應(yīng)用數(shù)據(jù)進行操作時,將需要讀寫的數(shù)據(jù)通過CACHE接口調(diào)用操作系統(tǒng)接口讀取到內(nèi)存的緩存中,并在緩存中進行相應(yīng)的操作,并暫時保存在內(nèi)存中。當(dāng)需要寫回存儲介質(zhì)時,CACHE接口則調(diào)用操作系統(tǒng)接口,將緩存中的數(shù)據(jù)寫回存儲介質(zhì)。較佳地,當(dāng)數(shù)據(jù)管理平臺確定內(nèi)存中的緩存使用完畢時,使用最近最少使用算法對緩存中的緩存塊進行替換。并且,數(shù)據(jù)管理平臺在確定需要替換的緩存塊數(shù)據(jù)被修改過, 則調(diào)用操作系統(tǒng)接口將該緩存塊中的數(shù)據(jù)寫回存儲介質(zhì)中。具體方法的詳細內(nèi)容可以同時參考裝置的實施例,這里不再詳細描述。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。盡管已描述了本發(fā)明的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1.一種資源受限設(shè)備,包括數(shù)據(jù)管理平臺,其特征在于,所述數(shù)據(jù)管理平臺包括應(yīng)用接口、模式管理模塊、數(shù)據(jù)管理模塊、索引管理模塊、操作系統(tǒng)接口,以及數(shù)據(jù)統(tǒng)一接口,其中所述數(shù)據(jù)統(tǒng)一接口,用于對模式管理模塊、索引管理模塊、數(shù)據(jù)管理模塊定義統(tǒng)一的數(shù)據(jù)存儲結(jié)構(gòu),并向應(yīng)用接口提供統(tǒng)一的數(shù)據(jù)訪問接口 ;所述模式管理模塊,用于根據(jù)數(shù)據(jù)統(tǒng)一接口定義的數(shù)據(jù)存儲結(jié)構(gòu)管理配置數(shù)據(jù);所述數(shù)據(jù)管理模塊,用于根據(jù)數(shù)據(jù)統(tǒng)一接口定義的數(shù)據(jù)存儲結(jié)構(gòu)管理應(yīng)用數(shù)據(jù);所述索引管理模塊,用于根據(jù)數(shù)據(jù)統(tǒng)一接口定義的數(shù)據(jù)存儲結(jié)構(gòu)管理索引數(shù)據(jù);所述操作系統(tǒng)接口,用于為模式管理模塊、數(shù)據(jù)管理模塊、索引管理模塊提供訪問存儲介質(zhì)的接口函數(shù),使模式管理模塊能夠通過接口函數(shù)訪問存儲介質(zhì)中的配置數(shù)據(jù),索引管理模塊能夠通過接口函數(shù)訪問存儲介質(zhì)中的索引數(shù)據(jù),數(shù)據(jù)管理模塊能夠通過接口函數(shù)訪問存儲介質(zhì)中的應(yīng)用數(shù)據(jù)。
2.如權(quán)利要求1所述的設(shè)備,其特征在于,所述數(shù)據(jù)統(tǒng)一接口為B+TREE接口,所述統(tǒng)一的數(shù)據(jù)存儲結(jié)構(gòu)為B+TREE結(jié)構(gòu)。
3.如權(quán)利要求1或2所述的設(shè)備,其特征在于,所述數(shù)據(jù)管理平臺還包括緩存CACHE 接口,用于統(tǒng)一對存儲介質(zhì)中的配置數(shù)據(jù)、索引數(shù)據(jù)、應(yīng)用數(shù)據(jù)在內(nèi)存中設(shè)置緩存,并在需要對配置數(shù)據(jù)、索引數(shù)據(jù)或者應(yīng)用數(shù)據(jù)進行操作時,在緩存中進行相應(yīng)的操作,以及所述操作系統(tǒng)接口,用于為CACHE接口提供訪問存儲介質(zhì)的接口函數(shù)。
4.如權(quán)利要求3所述的設(shè)備,其特征在于,所述CACHE接口,還用于在內(nèi)存中的緩存使用完畢時,使用最近最少使用算法對緩存中的緩存塊進行替換。
5.如權(quán)利要求3所述的設(shè)備,其特征在于,所述CACHE接口,還用于在確定需要替換的緩存塊中的數(shù)據(jù)被修改過,將所述緩存塊中的數(shù)據(jù)調(diào)用所述操作系統(tǒng)接口寫回存儲介質(zhì)中。
6.一種數(shù)據(jù)訪問方法,其特征在于,包括數(shù)據(jù)管理平臺接收應(yīng)用程序發(fā)出的數(shù)據(jù)訪問請求,所述數(shù)據(jù)管理平臺設(shè)置在資源受限設(shè)備中;數(shù)據(jù)管理平臺根據(jù)所述數(shù)據(jù)訪問請求管理數(shù)據(jù),其中,所述數(shù)據(jù)包括如下之一或其組合配置數(shù)據(jù)、索引數(shù)據(jù)或者應(yīng)用數(shù)據(jù),并且配置數(shù)據(jù)、索引數(shù)據(jù)、應(yīng)用數(shù)據(jù)采用統(tǒng)一的數(shù)據(jù)存儲結(jié)構(gòu)。
7.如權(quán)利要求6所述的方法,其特征在于,所述數(shù)據(jù)存儲結(jié)構(gòu)為B+TREE結(jié)構(gòu)。
8.如權(quán)利要求6或7所述的方法,其特征在于,所述數(shù)據(jù)管理平臺根據(jù)所述數(shù)據(jù)訪問請求管理數(shù)據(jù),具體為所述數(shù)據(jù)管理平臺在需要對所述數(shù)據(jù)進行操作時,將需要操作的數(shù)據(jù)塊讀取到內(nèi)存中的緩存中,在所述緩存中進行相應(yīng)的操作。
9.如權(quán)利要求8所述的方法,其特征在于,還包括所述數(shù)據(jù)管理平臺在確定內(nèi)存中的緩存使用完畢時,使用最近最少使用算法對緩存中的緩存塊進行替換。
10.如權(quán)利要求9所述的方法,其特征在于,還包括所述數(shù)據(jù)管理平臺在確定需要替換的緩存塊中的數(shù)據(jù)被修改過,則調(diào)用操作系統(tǒng)接口將該緩存塊中的數(shù)據(jù)寫回存儲介質(zhì)中。
全文摘要
本發(fā)明涉及數(shù)據(jù)管理技術(shù),公開了一種資源受限設(shè)備和數(shù)據(jù)訪問方法,能夠加快數(shù)據(jù)訪問速度,提高內(nèi)存資源的利用率。本發(fā)明的資源受限設(shè)備包括數(shù)據(jù)管理平臺,數(shù)據(jù)管理平臺包括應(yīng)用接口、模式管理模塊、數(shù)據(jù)管理模塊、索引管理模塊、操作系統(tǒng)接口,以及數(shù)據(jù)統(tǒng)一接口,其中數(shù)據(jù)統(tǒng)一接口,用于對模式管理模塊、索引管理模塊、數(shù)據(jù)管理模塊定義統(tǒng)一的數(shù)據(jù)存儲結(jié)構(gòu),并向應(yīng)用接口提供統(tǒng)一的數(shù)據(jù)訪問接口;模式管理模塊,根據(jù)數(shù)據(jù)統(tǒng)一接口定義的數(shù)據(jù)存儲結(jié)構(gòu)管理配置數(shù)據(jù);索引管理模塊,用于根據(jù)數(shù)據(jù)統(tǒng)一接口定義的數(shù)據(jù)存儲結(jié)構(gòu)管理索引數(shù)據(jù);數(shù)據(jù)管理模塊,用于根據(jù)數(shù)據(jù)統(tǒng)一接口定義的數(shù)據(jù)存儲結(jié)構(gòu)管理應(yīng)用數(shù)據(jù)。
文檔編號G06F12/12GK102169418SQ20101057216
公開日2011年8月31日 申請日期2010年12月3日 優(yōu)先權(quán)日2010年12月3日
發(fā)明者徐中華, 王國猛 申請人:北京握奇數(shù)據(jù)系統(tǒng)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
灌阳县| 东丽区| 高唐县| 庆元县| 吉水县| 阳山县| 辉南县| 嘉义县| 诸暨市| 岳阳市| 凤翔县| 屏南县| 江门市| 襄城县| 石首市| 长丰县| 罗甸县| 荣昌县| 雷山县| 安庆市| 大关县| 吉安市| 桑植县| 新龙县| 瓦房店市| 分宜县| 开鲁县| 广灵县| 襄城县| 卓资县| 合阳县| 府谷县| 余姚市| 张北县| 富顺县| 尼勒克县| 东乡县| 昔阳县| 潞西市| 天峨县| 土默特右旗|