[发明专利]区块链状态数据同步方法及装置、电子设备有效
申请号: | 201910703834.1 | 申请日: | 2019-07-31 |
公开(公告)号: | CN110493325B | 公开(公告)日: | 2020-12-29 |
发明(设计)人: | 卓海振;陆钟豪;俞本权 | 申请(专利权)人: | 创新先进技术有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L9/32;G06F16/27;G06F16/22 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 周嗣勇 |
地址: | 开曼群岛大开曼岛*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 状态 数据 同步 方法 装置 电子设备 | ||
一种区块链状态数据同步方法,区块链中的账户状态数据被组织成Merkle状态树在数据库中存储;所述Merkle状态树包括由各区块链账户的最新账户状态组织成的当前Merkle状态树;以及,由各区块链账户的历史账户状态组织成的历史Merkle状态树;所述方法包括:接收针对所述Merkle状态树的数据同步指令;响应于所述数据同步指令,实时获取所述区块链中的其它节点设备的数据库中存储的最新区块的当前Merkle状态树;将获取到的所述最新区块的当前Merkle状态树存储至本地数据库,以完成针对所述Merkle状态树的实时数据同步。
技术领域
本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种区块链状态数据同步方法及装置、电子设备。
背景技术
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
发明内容
本说明书中提出一种区块链状态数据同步方法,所述区块链中的账户状态数据被组织成Merkle状态树在数据库中存储;所述Merkle状态树包括由各区块链账户的最新账户状态组织成的当前Merkle状态树;以及,由各区块链账户的历史账户状态组织成的历史Merkle状态树;所述方法包括:
接收针对所述Merkle状态树的数据同步指令;
响应于所述数据同步指令,实时获取所述区块链中的其它节点设备的数据库中存储的最新区块的当前Merkle状态树;
将获取到的所述最新区块的当前Merkle状态树存储至本地数据库,以完成针对所述Merkle状态树的实时数据同步。
可选的,还包括:
响应于所述数据同步指令,在后台离线获取其它节点设备的数据库中存储的各区块的历史Merkle状态树;
将获取到的各区块的历史Merkle状态树存储至本地数据库,以完成针对所述Merkle状态树中的历史Merkle状态树的离线数据同步。
可选的,还包括:
确定所述其它节点设备存储的Merkle状态树对应的最新区块的第一区块号,是否小于所述区块链的最新区块的第二区块号;
如果是,重新执行从所述第一区块号至所述第二区块号之间所有区块中的交易,以对同步至本地数据库的所述当前Merkle状态树和所述历史Merkle状态树上的数据节点进行更新。
可选的,还包括:
在目标区块中的交易执行完毕后,基于与所述目标区块中的交易相关的目标账户更新后的最新账户状态,生成与所述目标区块的当前Merkle状态树对应的更新数据节点;基于所述目标账户更新前的历史账户状态,生成与所述目标区块的历史Merkle状态树对应的历史数据节点;
基于生成的所述更新数据节点对本地数据库中存储的所述目标区块的上一区块的当前Merkle状态树上,与所述目标账户对应的数据节点进行修改更新,以得到所述目标区块的当前Merkle状态树;以及,
基于生成的所述历史数据节点和复用的本地数据库中存储的所述目标区块的上一区块的历史Merkle状态树上与所述目标账户对应的数据节点以外的其它数据节点,为所述目标区块创建历史Merkle状态树。
可选的,所述当前Merkle状态树上的数据节点被组织成B+树的数据结构在数据库中存储;所述历史Merkle状态树上的数据节点被组织成LSM树的数据结构在数据库中存储。
可选的,所述数据库为Key-Value数据库;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于创新先进技术有限公司,未经创新先进技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910703834.1/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置