據(jù)記錄標(biāo)識及對應(yīng)的數(shù)據(jù)內(nèi)容寫入所述新的數(shù)據(jù)記錄中; 在所述新索引節(jié)點下記錄所述的目標(biāo)數(shù)據(jù)記錄標(biāo)識及所述新的數(shù)據(jù)記錄的虛擬地址。
12. 根據(jù)權(quán)利要求11所述的方法,其特征在于,還包括: 當(dāng)從所述空閑索引記錄根節(jié)點中選取一虛擬地址后,更新所述空閑索引記錄根節(jié)點指 向下一虛擬地址; 當(dāng)從所述空閑數(shù)據(jù)記錄根節(jié)點中選取一虛擬地址后,更新所述空閑數(shù)據(jù)記錄根節(jié)點指 向下一虛擬地址。
13. 根據(jù)權(quán)利要求10或11或12所述的方法,其特征在于,所述虛擬地址包括高16位 及低16位兩部分,所述高16位中記錄對應(yīng)的索引節(jié)點的地址相對數(shù)據(jù)頭的偏移,所述低16 位中記錄所述索引節(jié)點內(nèi)部的偏移。
14. 根據(jù)權(quán)利要求13所述的方法,其特征在于,采用如下公式計算所述目標(biāo)數(shù)據(jù)記錄 虛擬地址對應(yīng)的物理地址: 物理地址=(所述共享內(nèi)存基地址+所述數(shù)據(jù)頭大小+當(dāng)前數(shù)據(jù)記錄的位置*每條數(shù) 據(jù)記錄的大小+offset in record) 〇
15. 根據(jù)權(quán)利要求11所述的方法,其特征在于,還包括: 封裝所述共享內(nèi)存的數(shù)據(jù)訪問接口。
16. -種數(shù)據(jù)讀取裝置,其特征在于,所述裝置包括: 請求接收模塊,用于接收數(shù)據(jù)讀取請求,所述數(shù)據(jù)讀取請求包括目標(biāo)數(shù)據(jù)記錄標(biāo)識; 虛擬地址獲取模塊,用于在預(yù)設(shè)的關(guān)系數(shù)據(jù)表中匹配到所述目標(biāo)數(shù)據(jù)記錄標(biāo)識時,獲 得與所述目標(biāo)數(shù)據(jù)記錄標(biāo)識對應(yīng)的目標(biāo)數(shù)據(jù)記錄虛擬地址;其中,所述關(guān)系數(shù)據(jù)表包括多 個數(shù)據(jù)記錄標(biāo)識與對應(yīng)的數(shù)據(jù)記錄的虛擬地址的關(guān)聯(lián)關(guān)系; 物理地址計算模塊,用于計算所述目標(biāo)數(shù)據(jù)記錄虛擬地址對應(yīng)的物理地址,其中,所述 物理地址中存儲數(shù)據(jù)記錄標(biāo)識與對應(yīng)的數(shù)據(jù)內(nèi)容的鍵值對; 數(shù)據(jù)讀取模塊,用于從所述物理地址中獲得與所述目標(biāo)數(shù)據(jù)記錄標(biāo)識對應(yīng)的數(shù)據(jù)內(nèi) 容。
17. 根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述關(guān)系數(shù)據(jù)表保存在共享內(nèi)存中。
18. 根據(jù)權(quán)利要求17所述的裝置,其特征于,所述關(guān)系數(shù)據(jù)表包括數(shù)據(jù)頭、索引記錄以 及數(shù)據(jù)記錄; 所述數(shù)據(jù)頭進(jìn)一步包括索引根節(jié)點,空閑數(shù)據(jù)記錄索引根節(jié)點,空閑索引記錄根節(jié) 占. 其中,所述索引根節(jié)點用于記錄數(shù)據(jù)記錄標(biāo)識及對應(yīng)的已使用的索引節(jié)點的虛擬地 址; 所述索引記錄用于記錄所述索引節(jié)點的信息,所述索引節(jié)點的信息包括數(shù)據(jù)記錄標(biāo)識 與對應(yīng)的數(shù)據(jù)記錄的虛擬地址; 所述數(shù)據(jù)記錄用于記錄已寫入的數(shù)據(jù)記錄標(biāo)識和對應(yīng)的數(shù)據(jù)內(nèi)容; 所述空閑數(shù)據(jù)記錄索引根節(jié)點用于記錄未使用的數(shù)據(jù)記錄的虛擬地址; 所述空閑索引記錄根節(jié)點用于記錄未使用的索引節(jié)點的虛擬地址。
19. 根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述虛擬地址包括高16位及低16位兩 部分,所述高16位中記錄對應(yīng)的索引節(jié)點的地址相對數(shù)據(jù)頭的偏移,所述低16位中記錄所 述索引節(jié)點內(nèi)部的偏移。
20. 根據(jù)權(quán)利要求19所述的裝置,其特征在于,還包括: 地址獲取模塊,用于在所述索引根節(jié)點中匹配所述目標(biāo)數(shù)據(jù)記錄標(biāo)識,獲取對應(yīng)的索 引節(jié)點的虛擬地址; 計算模塊,用于計算所述索引節(jié)點的虛擬地址對應(yīng)的索引節(jié)點物理地址; 關(guān)系獲得模塊,用于在所述索引節(jié)點物理地址中獲得所述索引節(jié)點中記錄的數(shù)據(jù)記錄 標(biāo)識與所述數(shù)據(jù)記錄虛擬地址的關(guān)聯(lián)關(guān)系。
21. 根據(jù)權(quán)利要求19所述的裝置,其特征在于,采用如下公式計算所述目標(biāo)數(shù)據(jù)記錄 虛擬地址對應(yīng)的物理地址: 物理地址=(所述共享內(nèi)存基地址+所述數(shù)據(jù)頭大小+當(dāng)前數(shù)據(jù)記錄的位置*每條數(shù) 據(jù)記錄的大小+offset in record) 〇
22. 根據(jù)權(quán)利要求17所述的裝置,其特征在于,還包括: 封裝模塊,用于封裝所述共享內(nèi)存的數(shù)據(jù)訪問接口。
23. -種數(shù)據(jù)寫入裝置,其特征在于,所述裝置包括: 請求接收模塊,用于接收數(shù)據(jù)寫入請求,所述數(shù)據(jù)寫入請求包括目標(biāo)數(shù)據(jù)記錄標(biāo)識及 對應(yīng)的數(shù)據(jù)內(nèi)容; 判斷模塊,用于判斷在預(yù)設(shè)的關(guān)系數(shù)據(jù)表中是否匹配到所述目標(biāo)數(shù)據(jù)記錄標(biāo)識,其中, 所述關(guān)系數(shù)據(jù)表包括多個數(shù)據(jù)記錄標(biāo)識與對應(yīng)的數(shù)據(jù)記錄的虛擬地址的關(guān)聯(lián)關(guān)系,所述關(guān) 系數(shù)據(jù)表還包括空閑索引資源; 第一寫入模塊,用于在判定在預(yù)設(shè)的關(guān)系數(shù)據(jù)表中匹配到所述目標(biāo)數(shù)據(jù)記錄標(biāo)識時, 獲得與所述目標(biāo)數(shù)據(jù)記錄標(biāo)識對應(yīng)的目標(biāo)數(shù)據(jù)記錄虛擬地址,計算所述目標(biāo)數(shù)據(jù)記錄虛擬 地址對應(yīng)的物理地址,并將所述目標(biāo)數(shù)據(jù)的數(shù)據(jù)內(nèi)容寫入所述物理地址中的對應(yīng)位置; 第二寫入模塊,用于在判定在預(yù)設(shè)的關(guān)系數(shù)據(jù)表中沒有匹配到所述目標(biāo)數(shù)據(jù)記錄標(biāo)識 時,獲取所述空閑索引資源,并將所述目標(biāo)數(shù)據(jù)記錄標(biāo)識及對應(yīng)的數(shù)據(jù)內(nèi)容寫入所述空閑 索引資源中。
24. 根據(jù)權(quán)利要求23所述的裝置,其特征在于,所述關(guān)系數(shù)據(jù)表保存在共享內(nèi)存中。
25. 根據(jù)權(quán)利要求24所述的裝置,其特征于,所述關(guān)系數(shù)據(jù)表包括數(shù)據(jù)頭、索引記錄以 及數(shù)據(jù)記錄;所述數(shù)據(jù)頭進(jìn)一步包括索引根節(jié)點,空閑數(shù)據(jù)記錄索引根節(jié)點,空閑索引記錄 根節(jié)點; 其中,所述索引根節(jié)點用于記錄數(shù)據(jù)記錄標(biāo)識及對應(yīng)的已使用的索引節(jié)點的虛擬地 址; 所述索引記錄用于記錄所述已使用索引節(jié)點的信息,所述已使用索引節(jié)點的信息包括 數(shù)據(jù)記錄標(biāo)識與對應(yīng)的數(shù)據(jù)記錄的虛擬地址; 所述數(shù)據(jù)記錄用于記錄已寫入的數(shù)據(jù)記錄標(biāo)識和對應(yīng)的數(shù)據(jù)內(nèi)容; 所述空閑數(shù)據(jù)記錄索引根節(jié)點用于記錄未使用的數(shù)據(jù)記錄的虛擬地址; 所述空閑索引記錄根節(jié)點用于記錄未使用的索引節(jié)點的虛擬地址。
26. 根據(jù)權(quán)利要求25所述的裝置,其特征在于,所述空閑索引資源包括所述空閑索引 記錄根節(jié)點及所述空閑數(shù)據(jù)記錄根節(jié)點;所述第二寫入模塊包括: 第一選取子模塊,用于從所述空閑索引記錄根節(jié)點中選取一虛擬地址,將所述虛擬地 址對應(yīng)的索引節(jié)點作為新索引節(jié)點; 第二選取子模塊,用于從所述空閑數(shù)據(jù)記錄根節(jié)點中選取一虛擬地址,將所述虛擬地 址對應(yīng)的數(shù)據(jù)記錄作為新的數(shù)據(jù)記錄; 寫入子模塊,用于將所述目標(biāo)數(shù)據(jù)記錄標(biāo)識及對應(yīng)的數(shù)據(jù)內(nèi)容寫入所述新的數(shù)據(jù)記錄 中; 更新子模塊,用于在所述新索引節(jié)點下記錄所述的目標(biāo)數(shù)據(jù)記錄標(biāo)識及所述新的數(shù)據(jù) 記錄的虛擬地址。
27. 根據(jù)權(quán)利要求26所述的裝置,其特征在于,還包括: 第一更新模塊,用于更新所述空閑索引記錄根節(jié)點指向下一虛擬地址; 第二更新模塊,用于更新所述空閑數(shù)據(jù)記錄根節(jié)點指向下一虛擬地址。
28. 根據(jù)權(quán)利要求25或26或27所述的裝置,其特征在于,所述虛擬地址包括高16位 及低16位兩部分,所述高16位中記錄對應(yīng)的索引節(jié)點的地址相對數(shù)據(jù)頭的偏移,所述低16 位中記錄所述索引節(jié)點內(nèi)部的偏移。
29. 根據(jù)權(quán)利要求28所述的裝置,其特征在于,采用如下公式計算所述目標(biāo)數(shù)據(jù)記錄 虛擬地址對應(yīng)的物理地址: 物理地址=(所述共享內(nèi)存基地址+所述數(shù)據(jù)頭大小+當(dāng)前數(shù)據(jù)記錄的位置*每條數(shù) 據(jù)記錄的大小+offset in record) 〇
30.根據(jù)權(quán)利要求26所述的裝置,其特征在于,還包括: 封裝模塊,用于封裝所述共享內(nèi)存的數(shù)據(jù)訪問接口。
【專利摘要】本發(fā)明實施例提供了一種數(shù)據(jù)讀取及寫入的方法和裝置,其中所述數(shù)據(jù)讀取方法包括:接收數(shù)據(jù)讀取請求,所述數(shù)據(jù)讀取請求包括目標(biāo)數(shù)據(jù)記錄標(biāo)識;當(dāng)在預(yù)設(shè)的關(guān)系數(shù)據(jù)表中匹配到所述目標(biāo)數(shù)據(jù)記錄標(biāo)識時,獲得與所述目標(biāo)數(shù)據(jù)記錄標(biāo)識對應(yīng)的目標(biāo)數(shù)據(jù)記錄虛擬地址;其中,所述關(guān)系數(shù)據(jù)表包括多個數(shù)據(jù)記錄標(biāo)識與對應(yīng)的數(shù)據(jù)記錄的虛擬地址的關(guān)聯(lián)關(guān)系;計算所述目標(biāo)數(shù)據(jù)記錄虛擬地址對應(yīng)的物理地址,其中,所述物理地址中存儲數(shù)據(jù)記錄標(biāo)識與對應(yīng)的數(shù)據(jù)內(nèi)容的鍵值對;從所述物理地址中獲得與所述目標(biāo)數(shù)據(jù)記錄標(biāo)識對應(yīng)的數(shù)據(jù)內(nèi)容。本發(fā)明可以提高數(shù)據(jù)處理效率。
【IPC分類】G06F17-30
【公開號】CN104809183
【申請?zhí)枴緾N201510185480
【發(fā)明人】龍勇
【申請人】北京奇藝世紀(jì)科技有限公司
【公開日】2015年7月29日
【申請日】2015年4月17日