[發明專利]區塊鏈系統、數據存儲方法、數據存儲裝置和設備及介質在審
| 申請號: | 201911383919.2 | 申請日: | 2019-12-28 |
| 公開(公告)號: | CN111159295A | 公開(公告)日: | 2020-05-15 |
| 發明(設計)人: | 胡聰聰 | 申請(專利權)人: | 深圳市網心科技有限公司 |
| 主分類號: | G06F16/27 | 分類號: | G06F16/27;G06F16/22;G06F16/2458 |
| 代理公司: | 深圳市深佳知識產權代理事務所(普通合伙) 44285 | 代理人: | 王兆林 |
| 地址: | 518052 廣東省深圳市前海深港合作區前*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 區塊 系統 數據 存儲 方法 裝置 設備 介質 | ||
本申請提供一種區塊鏈系統、數據存儲方法、裝置和電子設備及計算機可讀存儲介質,區塊鏈系統包括:多個共識節點和多個同步節點,多個共識節點為共識輕量節點,用于對接收到的待共識的區塊數據進行共識,并以KV鍵值對形式存儲當前已通過共識的區塊數據;多個同步節點包括至少一個全量節點,全量節點用于以MPT樹形式存儲從共識節點同步的已通過共識的區塊數據。本申請中同步節點至少包括一個以MPT樹形式存儲從共識節點同步的已通過共識的區塊數據,保存了歷史數據,共識節點均為共識輕量節點,以KV鍵值對形式存儲當前已通過共識的區塊數據,因此在進行讀寫操作時均會只觸發一次磁盤操作,解決了讀寫放大的問題,降低了整體讀寫開銷。
技術領域
本申請涉及存儲技術領域,特別涉及一種區塊鏈系統、數據存儲方法、數據存儲裝置和電子設備及計算機可讀存儲介質。
背景技術
區塊鏈技術是利用塊鏈式數據結構來驗證與存儲數據、利用分布式節點共識算法來生成和更新數據、利用密碼學的方式保證數據傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數據的一種全新的分布式基礎架構與計算方式。
相關技術中,利用MPT存儲結構進行數據存儲,在實際的區塊鏈項目中,隨著數據量的增長,MPT高度會持續增長。在查詢狀態過程中,如果內存狀態樹中缺少某節點,則需要從底層數據庫中加載數據到內存中。隨著數據量的增大、查詢延時越來越大,如果key對應的value被修改,對應葉子節點到根節點路徑上所有節點都要更新并寫到磁盤,造成寫放大;并且,如果應用層讀一個key,可能會觸發底層讀取一系列的節點構建MPT樹最終找到存儲在葉子節點中的value,造成讀放大。
因此,如何提供一種解決上述技術問題的方案是本領域技術人員目前需要解決的問題。
發明內容
本申請的目的是提供一種區塊鏈系統、數據存儲方法、數據存儲裝置、電子設備和計算機可讀存儲介質,能夠解決讀寫放大的問題,提升區塊鏈系統的運行性能。其方案如下:
為實現上述目的,本申請公開了一種區塊鏈系統,包括:多個共識節點和多個同步節點,其中,
所述多個共識節點為共識輕量節點,用于對接收到的待共識的區塊數據進行共識,并以KV鍵值對形式存儲當前已通過共識的區塊數據;
所述多個同步節點包括至少一個全量節點,所述全量節點用于以MPT樹形式存儲從所述共識節點同步的已通過共識的區塊數據。
可選的,所述多個同步節點還包括至少一個同步輕量節點,所述同步輕量節點用于接收外部交易數據,并將所述外部交易數據轉發至所述多個共識節點。
可選的,所述同步輕量節點,還用于以所述KV鍵值對形式存儲預設時間段內已通過共識的區塊數據。
可選的,所述全量節點,還用于當接收到歷史數據查詢指令時,提取與所述歷史數據查詢指令對應的歷史區塊數據。
可選的,所述共識輕量節點,還用于將所述當前已通過共識的區塊數據存儲至wal文件,以使所述區塊鏈系統發生異常且重啟后,所述共識輕量節點根據所述wal文件進行數據恢復。
為實現上述目的,本申請公開了一種數據存儲方法,應用于區塊鏈系統中的共識節點,包括:
接收待共識的區塊數據;
對所述區塊數據進行共識;
將當前通過共識的區塊數據以KV鍵值對形式存儲。
可選的,所述將當前通過共識的區塊數據以KV鍵值對形式存儲之后,還包括:
將所述當前已通過共識的區塊數據存儲至wal文件;
當所述區塊鏈系統發生異常且重啟后,所述共識節點根據所述wal文件進行數據恢復。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市網心科技有限公司,未經深圳市網心科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911383919.2/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





