[发明专利]一种默克尔状态树同步方法、设备及存储介质在审
申请号: | 201911109998.8 | 申请日: | 2019-11-14 |
公开(公告)号: | CN111026806A | 公开(公告)日: | 2020-04-17 |
发明(设计)人: | 林敬;王志文;曹兢;李斌;吴思进 | 申请(专利权)人: | 杭州复杂美科技有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/22 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310000 浙江省杭州市西湖*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 克尔 状态 同步 方法 设备 存储 介质 | ||
本发明公开了一种默克尔状态树同步方法、设备及存储介质,涉及区块链等技术领域。将指定区块链网络中指定区块高度的默克尔状态树划分成一个以上的分支子树,并为所述一个以上的分支子树编号形成分支子树前缀列表;获取所述指定区块链网络中的区块链节点列表,将分支子树前缀列表的每项分别作为一个下载请求按顺序发送给区块链节点;接收到所有的下载结果后,拼凑成完整的默克尔状态树。用多个区块链节点平衡IO负载,向多个区块链节点并发进行下载,可以更高效。
技术领域
本发明涉及区块链等技术领域,尤其涉及一种默克尔状态树同步方法、设备及存储介质。
背景技术
当前区块链系统中,通常会利用默克尔树(Merkle Tree)、默克尔平衡二叉树(MAVL)、Merkle Patricia Tries(MPT)树等对区块链的状态数据(如账户余额等)进行存储,利用这些数据结构,可以对区块链账户进行有效管理,保证整个区块链账户的全局一致性,现有的同步方案,主要是通过对端节点,获取区块数据,然后通过对交易进行回放,来进行区块链节点同步。
现有的同步方案,主要是通过从对端节点获取交易数据,然后对交易数据进行回放,进行区块链数据的同步,在该种方案下,同步数据比较缓慢。有些改进的方案如中国发明专利申请,公布号CN109542979A及公布号为CN108243253A、以及以太坊快速同步通过从某一个高度,获取区块链的状态的方案,这些方案都对同步速度有较大改善,但是这些会给对端节点造成较大压力,如从对端节点获取Merkle树节点时候,也会直接在数据库中查找,需要消耗较多IO资源,且没有具体的快速将特定高度的所有状态数据存储下来的方案。对于客户端来说,无法快速获取到最新的账户状态。
发明内容
1.发明要解决的技术问题
为了克服上述技术问题,本发明提供了一种默克尔状态树同步方法、设备及存储介质。用多个区块链节点平衡IO负载,向多个区块链节点并发进行下载,可以更高效。
2.技术方案
为解决上述问题,本发明提供的技术方案为:
一种默克尔状态树同步方法,包括:将指定区块链网络中指定区块高度的默克尔状态树划分成一个以上的分支子树,并为所述一个以上的分支子树编号形成分支子树前缀列表;获取所述指定区块链网络中的区块链节点列表,将分支子树前缀列表的每项分别作为一个下载请求按顺序发送给区块链节点;接收到所有的下载结果后,拼凑成完整的默克尔状态树。
可选地,所述将指定区块链网络中指定区块高度的默克尔状态树划分成一个以上的分支子树,并为所述一个以上的分支子树编号形成分支子树前缀列表,进一步为:获取指定区块链网络中指定区块高度的默克尔状态树的高度H;根据区块链节点一次可下载的数据量大小E,预期的叶子节点大小F计算区块链节点一次可下载的默克尔状态树叶子节点数Size:Size=INT(E/F);计算分支子树的高度H1:H1=log(Size);计算为分支子树编号所需的二进制位数N:N=H-H1;从左到右为默克尔状态树中包含Size个叶子节点的分支子树编号,对应的十进制数字分别为:0、1、2、、、、、、、2N-1、2N-1;将除了分支子树之外的其余默克尔状态树节点作为一个优先下载请求,每个分支子树分别作为一个下载请求,放入分支子树前缀列表。
可选地,所述下载请求包括分支子树编号和分支子树高度H1。
可选地,包括:当区块链节点数小于下载请求数时,按照除了分支子树之外的其余默克尔状态树节点作为一个下载请求优先发送到区块链节点,其余下载请求按照顺序向每个区块链节点遍历发送下载请求。
可选地,包括:当下载超时,则重新向其他可以正常下载的区块链节点发送下载请求,直到收到所有的下载结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州复杂美科技有限公司,未经杭州复杂美科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911109998.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电线杆卸运扶正装置
- 下一篇:一种数字图像处理帧率控制方法及装置