[發明專利]區塊鏈狀態數據同步方法及裝置、電子設備有效
| 申請號: | 202110190300.0 | 申請日: | 2019-07-31 |
| 公開(公告)號: | CN112887421B | 公開(公告)日: | 2023-07-18 |
| 發明(設計)人: | 卓海振;陸鐘豪;俞本權 | 申請(專利權)人: | 創新先進技術有限公司 |
| 主分類號: | H04L67/1095 | 分類號: | H04L67/1095;H04L9/32;G06F16/27;G06F16/22 |
| 代理公司: | 北京博思佳知識產權代理有限公司 11415 | 代理人: | 周嗣勇 |
| 地址: | 開曼群島大開曼島*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 區塊 狀態 數據 同步 方法 裝置 電子設備 | ||
1.一種區塊鏈狀態數據同步方法,所述區塊鏈中的賬戶狀態數據被組織成Merkle狀態樹在數據庫中存儲;所述Merkle狀態樹包括由各區塊鏈賬戶的最新賬戶狀態組織成的當前Merkle狀態樹;以及,由各區塊鏈賬戶的歷史賬戶狀態組織成的歷史Merkle狀態樹;其中,所述當前Merkle狀態樹和所述歷史Merkle狀態樹,是兩顆獨立存在的Merkle狀態樹;所述當前Merkle狀態樹與所述歷史Merkle狀態樹之間并不存在數據節點的復用關系,所述方法包括:
接收針對所述Merkle狀態樹的數據同步指令;
響應于所述數據同步指令,實時獲取所述區塊鏈中的其它節點設備的數據庫中存儲的最新區塊的當前Merkle狀態樹;
將獲取到的所述最新區塊的當前Merkle狀態樹存儲至本地數據庫,以完成針對所述Merkle狀態樹的實時數據同步;
響應于所述數據同步指令,在后臺離線獲取其它節點設備的數據庫中存儲的各區塊的歷史Merkle狀態樹,將獲取到的各區塊的歷史Merkle狀態樹存儲至本地數據庫,以完成針對所述Merkle狀態樹中的歷史Merkle狀態樹的離線數據同步。
2.根據權利要求1所述的方法,還包括:
確定所述其它節點設備存儲的Merkle狀態樹對應的最新區塊的第一區塊號,是否小于所述區塊鏈的最新區塊的第二區塊號;如果是,重新執行從所述第一區塊號至所述第二區塊號之間所有區塊中的交易,以對同步至本地數據庫的所述當前Merkle狀態樹和所述歷史Merkle狀態樹上的數據節點進行更新。
3.根據權利要求1所述的方法,還包括:
在目標區塊中的交易執行完畢后,基于與所述目標區塊中的交易相關的目標賬戶更新后的最新賬戶狀態,生成與所述目標區塊的當前Merkle狀態樹對應的更新數據節點;基于所述目標賬戶更新前的歷史賬戶狀態,生成與所述目標區塊的歷史Merkle狀態樹對應的歷史數據節點;
基于生成的所述更新數據節點對本地數據庫中存儲的所述目標區塊的上一區塊的當前Merkle狀態樹上,與所述目標賬戶對應的數據節點進行修改更新,以得到所述目標區塊的當前Merkle狀態樹;以及,
基于生成的所述歷史數據節點和復用的本地數據庫中存儲的所述目標區塊的上一區塊的歷史Merkle狀態樹上與所述目標賬戶對應的數據節點以外的其它數據節點,為所述目標區塊創建歷史Merkle狀態樹。
4.根據權利要求1所述的方法,所述當前Merkle狀態樹上的數據節點被組織成B+樹的數據結構在數據庫中存儲;所述歷史Merkle狀態樹上的數據節點被組織成LSM樹的數據結構在數據庫中存儲。
5.根據權利要求1所述的方法,所述數據庫為Key-Value數據庫;
所述Merkle狀態樹上的數據節點以Key-Value鍵值對的形式存儲在所述數據庫中;其中,所述當前Merkle狀態樹上的數據節點的key為所述數據節點的節點ID;所述歷史Merkle狀態樹上的數據節點的key為所述數據節點包含的數據內容的hash值。
6.根據權利要求1所述的方法,所述數據庫為LevelDB數據庫;或者基于LevelDB架構的數據庫。
7.根據權利要求6所述的方法,所述數據庫為基于LevelDB架構的Rocksdb數據庫。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于創新先進技術有限公司,未經創新先進技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110190300.0/1.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





