[发明专利]一种区块同步方法、计算机设备和存储介质有效
申请号: | 202110476190.4 | 申请日: | 2021-04-29 |
公开(公告)号: | CN113157810B | 公开(公告)日: | 2023-02-03 |
发明(设计)人: | 邓泰生;顾费勇;曹崇瑞;胡志敏 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27 |
代理公司: | 深圳紫藤知识产权代理有限公司 44570 | 代理人: | 徐世俊 |
地址: | 310052 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 同步 方法 计算机 设备 存储 介质 | ||
本发明公开了一种区块同步方法、计算机设备和存储介质,可确定目标区块链节点的待获取区块;从目标区块链系统中选择至少两个区块链节点作为同步区块链节点;获取同步区块链节点的节点标识添加到同步节点队列中;按照该队列中节点标识的顺序,依次读取节点标识,并在每次读取节点标识后,确定待获取区块中需要从节点标识指示的同步区块链节点中同步的目标区块,获取该目标区块,由此,可通过队列的方式限定同步区块链节点的同步顺序,使得在同一时间内只从一个同步区块链节点获取目标区块,相较于相关技术,降低了维护庞大的区块列表的需求,有利于节约内存资源。
技术领域
本发明涉及区块链技术领域,具体涉及一种区块同步方法、计算机设备和存储介质。
背景技术
区块链是由一系列的区块相互连接形成的链式结构,在区块链系统中,不同的区块链节点一般会存储相同的区块链,而有些区块链节点因为是新增节点或者因为网络断开等原因,会存在存储的区块链与其他区块链节点中的区块链不一致的问题,这种时候,一般需要从其他区块链节点中同步区块。
相关技术中,缺少区块的区块链节点可以选择区块链节点进行区块同步,并在本地保存区块对应的区块列表,基于区块列表对接收的区块排序,按照顺序执行区块内的交易。这种区块同步方案需要维护区块列表,当该区块列表较大的时候,会消耗较多的内存资源。
发明内容
本发明实施例提供一种区块同步方法、装置、计算机设备和存储介质,可以降低区块同步对内存资源的消耗。
本发明实施例提供一种区块同步方法,该区块同步方法包括:
确定所述目标区块链节点的待获取区块;
从目标区块链系统中选择至少两个区块链节点,作为所述目标区块链节点的同步区块链节点,其中,所述目标区块链系统为所述目标区块链节点所属的区块链系统;
获取所述同步区块链节点的节点标识,将所述同步区块链节点的节点标识添加到同步节点队列中;
按照所述同步节点队列中所述节点标识的顺序,依次读取节点标识,并在每次读取节点标识后,确定所述待获取区块中需要从所述节点标识指示的同步区块链节点中同步的目标区块,从所述节点标识指示的同步区块链节点获取对应的目标区块。
本发明实施例提供一种区块同步装置,该区块同步装置包括:
同步区块确定单元,用于确定所述目标区块链节点的待获取区块;
同步节点确定单元,用于从目标区块链系统中选择至少两个区块链节点,作为所述目标区块链节点的同步区块链节点,其中,所述目标区块链系统为所述目标区块链节点所属的区块链系统;
队列管理单元,用于获取所述同步区块链节点的节点标识,将所述同步区块链节点的节点标识添加到同步节点队列中;
区块同步单元,用于按照所述同步节点队列中所述节点标识的顺序,依次读取节点标识,并在每次读取节点标识后,确定所述待获取区块中需要从所述节点标识指示的同步区块链节点中同步的目标区块,从所述节点标识指示的同步区块链节点获取对应的目标区块。
在一个可选的示例中,区块同步单元,用于:
从所述同步节点队列中取出位于队首的节点标识作为当前节点标识;
以所述当前节点标识指示的同步区块链节点为当前同步区块链节点,确定所述待获取区块中,需要从所述当前同步区块链节点中同步的目标区块;
从所述当前同步区块链节点获取所述目标区块;
若所述待获取区块中还存在未从同步区块链节点中获取的区块,将所述当前节点标识写入所述同步节点队列的队尾,返回执行所述从所述同步节点队列中取出位于队首的节点标识作为当前节点标识的步骤,直到所述待获取区块对应的目标区块全部获取完为止。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110476190.4/2.html,转载请声明来源钻瓜专利网。