[发明专利]一种区块链的节点同步方法及装置有效
申请号: | 201810713057.4 | 申请日: | 2018-06-29 |
公开(公告)号: | CN108924223B | 公开(公告)日: | 2020-11-06 |
发明(设计)人: | 杨文玉;高春盟 | 申请(专利权)人: | 北京金山安全软件有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/751 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 宋合成 |
地址: | 100085 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 节点 同步 方法 装置 | ||
1.一种区块链的节点同步方法,其特征在于,包括:
获取多个与待同步节点相临近的节点的信息,以及多个与所述待同步节点的异或节点相临近的节点的信息,根据获取的节点的信息确定候选节点,其中,所述待同步节点的异或节点是指:节点标识为所述待同步节点的节点标识的异或值的节点;
从所述候选节点中选择第一预定义数量的节点作为新增节点;
根据所述新增节点的信息更新所述待同步节点的路由表,得到更新后的路由表;
根据所述更新后的路由表对所述待同步节点进行同步;其中,根据所述更新后的路由表中的各个节点的数据吞吐量历史数据、同步成功率历史数据以及存储的区块链的总难度确定用于同步的目标节点来对所述待同步节点进行同步。
2.根据权利要求1所述的区块链的节点同步方法,其特征在于,所述获取多个与待同步节点相临近的节点的信息,以及多个与所述待同步节点的异或节点相临近的节点的信息,根据获取的节点的信息确定候选节点,包括:
向所述待同步节点的路由表中的各个节点发送查找节点请求,其中,所述查找节点请求包括:请求目标节点返回其路由表中,距离所述待同步节点最近的M个节点的信息,以及请求目标节点返回其路由表中,距离所述待同步节点的异或节点最近的M个节点的信息;M为预定义的正整数;
获取所述路由表中的各个节点返回的信息;
根据所述路由表中的各个节点返回的信息,确定候选节点。
3.根据权利要求2所述的区块链的节点同步方法,其特征在于,所述向待同步节点的路由表中的各个节点发送查找节点请求,还包括:
在开始发送查找节点请求后,进行计时;
当计时结果达到第一预定义时长时,停止发送查找节点请求。
4.根据权利要求1所述的区块链的节点同步方法,其特征在于,所述获取多个与待同步节点相临近的节点的信息,以及多个与所述待同步节点的异或节点相临近的节点的信息,根据获取的节点的信息确定候选节点,包括:
从所述待同步节点存储的,包含区块链系统的所有节点的全局路由表中,获取所有节点的信息,其中,所述全局路由表包括:区块链网络所有节点的节点标识、节点网际协议地址以及节点的当前状态信息;
根据所述所有节点的信息,确定所述所有节点中距离所述待同步节点最近的M个节点的信息,以及距离所述待同步节点的异或节点最近的M个节点的信息;M为预定义的正整数;
将所述距离所述待同步节点最近的M个节点和距离所述待同步节点的异或节点最近的M个节点作为候选节点。
5.根据权利要求4所述的区块链的节点同步方法,其特征在于,还包括:
每隔第二预定义时长,对所述全局路由表进行更新,获取最新的节点信息。
6.根据权利要求1所述的区块链的节点同步方法,其特征在于,所述从所述候选节点中选择第一预定义数量的节点作为新增节点,包括:
根据各个所述候选节点中存储的区块链的总难度值,选择存储的区块链的总难度值最高的第一预定义数量的节点作为新增节点。
7.根据权利要求1所述的区块链的节点同步方法,其特征在于,所述根据所述更新后的路由表对所述待同步节点进行同步,包括:
获取所述更新后的路由表的所有节点中存储的区块链的总难度值;
将所述存储的区块链的总难度值最高的节点作为目标同步节点;
根据所述目标同步节点对待同步节点的区块链数据进行同步。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山安全软件有限公司,未经北京金山安全软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810713057.4/1.html,转载请声明来源钻瓜专利网。