[發(fā)明專利]一種數(shù)據(jù)存儲方法、裝置、設(shè)備及存儲介質(zhì)有效
| 申請?zhí)枺?/td> | 201811604187.0 | 申請日: | 2018-12-26 |
| 公開(公告)號: | CN109710190B | 公開(公告)日: | 2022-03-08 |
| 發(fā)明(設(shè)計)人: | 肖偉 | 申請(專利權(quán))人: | 百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 孟金喆 |
| 地址: | 100085 北京市*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù) 存儲 方法 裝置 設(shè)備 介質(zhì) | ||
本發(fā)明實施例公開了一種數(shù)據(jù)存儲方法、裝置、設(shè)備及存儲介質(zhì)。其中,該方法包括:獲取數(shù)據(jù)處理請求;根據(jù)所述數(shù)據(jù)處理請求確定當前版本標識;根據(jù)所述數(shù)據(jù)處理請求,確定用于處理數(shù)據(jù)的目標鍵值對,且對所述目標鍵值對值域中的數(shù)據(jù)進行處理;將新產(chǎn)生的目標鍵值對寫入內(nèi)存存儲空間,其中,內(nèi)存存儲空間中的鍵值對的鍵域存儲有鍵標識和版本標識,且新產(chǎn)生的目標鍵值對的鍵域中的版本標識為當前版本標識。采用本發(fā)明實施例的技術(shù)方案,為鍵值對的鍵域中增加了版本標識,從而能夠記錄各次鍵值對更新所對應(yīng)的版本,可以根據(jù)版本標識選擇所需數(shù)據(jù),為區(qū)塊鏈的數(shù)據(jù)存儲提供了一種新思路。
技術(shù)領(lǐng)域
本發(fā)明實施例涉及計算機數(shù)據(jù)存儲技術(shù),尤其涉及一種數(shù)據(jù)存儲方法、裝置、設(shè)備及存儲介質(zhì)。
背景技術(shù)
目前的區(qū)塊鏈系統(tǒng)所采用的底層數(shù)據(jù)存儲技術(shù)有多種,其中比較廣泛采用的一種就是鍵值對(Key Value,簡稱KV)存儲系統(tǒng)。KV存儲系統(tǒng)在區(qū)塊鏈系統(tǒng)上層軟件的控制下,支持區(qū)塊鏈系統(tǒng)的數(shù)據(jù)讀寫等訪問處理。
在KV存儲系統(tǒng)中,會使用到很多KV分別存儲區(qū)塊鏈系統(tǒng)所需存儲的各種數(shù)據(jù),有些KV會隨著區(qū)塊的產(chǎn)生而需要修改。例如,在區(qū)塊鏈網(wǎng)絡(luò)中發(fā)起事務(wù)處理請求后,需要區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點執(zhí)行事務(wù)處理請求中的智能合約,智能合約的執(zhí)行需要基于一些已有數(shù)據(jù),同時也需要修改一些已有數(shù)據(jù)。如對于轉(zhuǎn)賬功能的智能合約,需要讀取轉(zhuǎn)入賬戶和轉(zhuǎn)出賬戶的KV,其中,KV的鍵域(key)可以存儲賬戶名稱,值域(value)可以存儲賬戶余額的數(shù)值;在智能合約運行后,會根據(jù)轉(zhuǎn)賬數(shù)額來修改轉(zhuǎn)入賬戶和轉(zhuǎn)出賬戶的value值。實際上,區(qū)塊產(chǎn)生過程會涉及大量KV的變化。
目前區(qū)塊鏈節(jié)點會為KV存儲系統(tǒng)建立索引,以方便訪問數(shù)據(jù),但是索引會由于KV的變化而發(fā)生大量變化,這通常由KV存儲系統(tǒng)本身采用的索引方式所決定。由于區(qū)塊鏈系統(tǒng)上層軟件的數(shù)據(jù)處理需要,會產(chǎn)生新增KV、刪除KV或修改KV的調(diào)整,則相應(yīng)的需要調(diào)整KV的索引。
如果出現(xiàn)區(qū)塊鏈的分叉而導致某些區(qū)塊鏈節(jié)點本地存儲的區(qū)塊鏈數(shù)據(jù)要進行回滾和重做時,回滾操作要把底層KV存儲系統(tǒng)中的存儲數(shù)據(jù)逐步還原到分叉點,然后再在新的區(qū)塊鏈里面執(zhí)行重做命令,即重新執(zhí)行所有事務(wù)的業(yè)務(wù)邏輯,產(chǎn)生的區(qū)塊數(shù)據(jù)再插入到KV存儲系統(tǒng)中,這勢必導致巨大的資源開銷。
存儲空間可區(qū)分為磁盤存儲和內(nèi)存存儲,眾所周知,由于內(nèi)存支持隨機尋址,與各種需要隨機尋址的數(shù)據(jù)結(jié)構(gòu)的需求是匹配的,所以數(shù)據(jù)訪問速度比磁盤存儲更高,并且能夠提供豐富的數(shù)據(jù)結(jié)構(gòu)支持。
鑒于內(nèi)存存儲的上述好處,所以越來越多的區(qū)塊數(shù)據(jù),特別是需要高速訪問的數(shù)據(jù)會存儲到內(nèi)存空間中。因此,內(nèi)存存儲與磁盤存儲一樣,存在因為區(qū)塊鏈分叉而導致的區(qū)塊回滾情況。在內(nèi)存空間中重做區(qū)塊數(shù)據(jù),同樣是耗時的,需要解決此問題。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種數(shù)據(jù)存儲方法、裝置、設(shè)備及存儲介質(zhì),以優(yōu)化KV存儲系統(tǒng)的內(nèi)存存儲方式,以改善內(nèi)存存儲系統(tǒng)的性能。
第一方面,本發(fā)明實施例提供了一種數(shù)據(jù)存儲方法,該方法包括:
獲取數(shù)據(jù)處理請求;
根據(jù)所述數(shù)據(jù)處理請求確定當前版本標識;
根據(jù)所述數(shù)據(jù)處理請求,確定用于處理數(shù)據(jù)的目標鍵值對,且對所述目標鍵值對值域中的數(shù)據(jù)進行處理;
將新產(chǎn)生的目標鍵值對寫入內(nèi)存存儲空間,其中,內(nèi)存存儲空間中的鍵值對的鍵域存儲有鍵標識和版本標識,且新產(chǎn)生的目標鍵值對的鍵域中的版本標識為當前版本標識。
第二方面,本發(fā)明實施例還提供了一種數(shù)據(jù)存儲裝置,該方法包括:
處理請求獲取模塊,用于獲取數(shù)據(jù)處理請求;
當前標識確定模塊,用于根據(jù)所述數(shù)據(jù)處理請求確定當前版本標識;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司,未經(jīng)百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811604187.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字數(shù)據(jù)處理
G06F3-00 用于將所要處理的數(shù)據(jù)轉(zhuǎn)變成為計算機能夠處理的形式的輸入裝置;用于將數(shù)據(jù)從處理機傳送到輸出設(shè)備的輸出裝置,例如,接口裝置
G06F3-01 .用于用戶和計算機之間交互的輸入裝置或輸入和輸出組合裝置
G06F3-05 .在規(guī)定的時間間隔上,利用模擬量取樣的數(shù)字輸入
G06F3-06 .來自記錄載體的數(shù)字輸入,或者到記錄載體上去的數(shù)字輸出
G06F3-09 .到打字機上去的數(shù)字輸出
G06F3-12 .到打印裝置上去的數(shù)字輸出
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





