[發明專利]狀態數據存儲方法、狀態數據同步方法、設備和存儲介質有效
| 申請號: | 201911074006.2 | 申請日: | 2019-11-06 |
| 公開(公告)號: | CN110837505B | 公開(公告)日: | 2022-07-19 |
| 發明(設計)人: | 柳宇航;王志文;曹兢;李斌;吳思進 | 申請(專利權)人: | 杭州復雜美科技有限公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F16/27 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 310000 浙江省杭州市西湖*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 狀態 數據 存儲 方法 同步 設備 介質 | ||
本發明提供一種狀態數據存儲方法、狀態數據同步方法、設備和存儲介質,該存儲方法包括:將待存儲的狀態數據存入默克爾狀態樹的第一葉子節點時,將第一葉子節點的指針信息配置為指向第一葉子節點在默克爾狀態樹中第一側的第二葉子節點;將第一葉子節點在默克爾狀態樹中第二側的第三葉子節點的指針信息配置為指向第一葉子節點。本申請大幅減少了狀態數據快速同步所耗費的讀寫資源和網絡資源。
技術領域
本申請涉及區塊鏈技術領域,具體涉及一種狀態數據存儲方法、狀態數據同步方法、設備和存儲介質。
背景技術
當前區塊鏈系統中,通常會利用默克爾樹(Merkle Tree)、默克爾平衡二叉樹(MAVL Tree)、MPT等對區塊鏈的狀態數據(例如賬戶余額等數據)進行存儲,利用這些數據結構,可以對區塊鏈賬戶進行有效管理,保證整個區塊鏈賬戶的全局一致性。
現有的狀態數據同步方案,主要是通過向對端節點獲取區塊數據,然后通過對交易進行回放,來進行區塊鏈節點同步。該方案的缺陷在于同步非常緩慢。
針對上述問題,有些改進方案提出了通過同步某一區塊高度的默克爾樹的全部節點以跳過該區塊高度之前的交易回放,從而實現快速同步。然而該類方案由于需要同步某一高度的默克爾樹的全部節點(當區塊高度上升到一定高度后,默克爾樹的節點數量的數量級非常高),導致需要耗費節點大量的讀寫(IO)資源,以及大量的網絡資源(傳輸全部節點所需)。
發明內容
鑒于現有技術中的上述缺陷或不足,期望提供一種大幅減少狀態數據快速同步所耗費的讀寫資源和網絡資源的狀態數據存儲方法、狀態數據同步方法、設備和存儲介質。
第一方面,本發明提供一種狀態數據存儲方法,默克爾狀態樹的葉子節點中存有用于指向另一葉子節點的指針信息,該方法包括:
將待存儲的狀態數據存入默克爾狀態樹的第一葉子節點時,將第一葉子節點的指針信息配置為指向第一葉子節點在默克爾狀態樹中第一側的第二葉子節點;
將第一葉子節點在默克爾狀態樹中第二側的第三葉子節點的指針信息配置為指向第一葉子節點。
優選地,第一側為左側(右側),當第一葉子節點為默克爾狀態樹中最左側(最右側)的葉子節點時,將第一葉子節點的指針信息配置為指向默克爾狀態樹中最右側(最左側)的葉子節點,并在第一葉子節點中存儲左側(右側)端點標識信息;當第一葉子節點為默克爾狀態樹中最右側(最左側)的葉子節點時,將默克爾狀態樹中最左側(最右側)的葉子節點的指針信息配置為指向第一葉子節點,并在第一葉子節點中存儲右側(左側)端點標識信息。
第二方面,本發明提供一種狀態數據同步方法,區塊鏈中的各節點通過如上述第一方面提供的狀態數據存儲方法存儲狀態數據,該同步方法包括:
根據當前的區塊高度確定同步高度;
向同步對象節點請求同步高度的葉子節點鏈表,以供同步對象節點:
讀取同步高度的默克爾狀態樹的第一端的第四葉子節點;
根據所讀取葉子節點的指針信息讀取下一葉子節點,直至讀取到同步高度的默克爾狀態樹的第二端的第五葉子節點;
根據所讀取的各葉子節點生成同步高度的葉子節點鏈表并返回;
根據葉子節點鏈表生成同步高度的默克爾狀態樹。
其中,當第一側為左側時,第一端為最右端,第二端為最左端;當第一側為右側時,第一端為最左端,第二端為最右端。
第三方面,本發明提供另一種狀態數據同步方法,區塊鏈中的各節點通過如上述第一方面提供的狀態數據存儲方法存儲狀態數據,該同步方法包括:
響應于第一節點請求同步高度的葉子節點鏈表,讀取同步高度的默克爾狀態樹的第一端的第四葉子節點;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州復雜美科技有限公司,未經杭州復雜美科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201911074006.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:穩定代幣清償方法、設備和存儲介質
- 下一篇:一種新型鋼管接長裝置及安裝方法
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





