[发明专利]一种减少节点碰撞的区块链节点负载均衡方法及装置有效
申请号: | 201910374945.2 | 申请日: | 2019-05-07 |
公开(公告)号: | CN110098920B | 公开(公告)日: | 2022-08-02 |
发明(设计)人: | 赵永光;洪晓光;孔兰菊;张世栋;李庆忠;钱进;肖宗水;于秋波;张宝晨 | 申请(专利权)人: | 山大地纬软件股份有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;H04L9/32;H04L67/1008 |
代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 黄晓燕 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 减少 节点 碰撞 区块 负载 均衡 方法 装置 | ||
本发明实施例公开了一种减少节点碰撞的区块链节点负载均衡方法及装置,钱包节点通过一致性哈希算法建立哈希环,将所有全账本节点和当前钱包节点均映射到哈希环上,钱包节点根据处于哈希环上的位置选择全账本节点,接收到请求的全账本节点根据自身负载情况,同时通过Chord环,选择负载未满的全账本节点与钱包节点建立通信,实现钱包节点的交易上链。有效的保证钱包节点大致平均地分配到系统所有的全账本节点并建立通信,保证了支撑全账本节点的服务器负载均衡,不会有服务器负载过多导致故障,也不会有服务器空闲浪费资源。
技术领域
本发明涉及区块链技术领域,具体地说是一种减少节点碰撞的区块链节点负载均衡方法及装置。
背景技术
区块链网络中包括全账本节点、目录节点和钱包节点。全账本节点是指拥有完整区块链账本的节点,需要占用内存同步所有的区块链数据,能够独立校验区块链上的所有交易并实时更新数据,主要负责区块链上交易的广播和验证,因此全账本节点一般运行在高性能的服务器上;目录节点是存储区块链上所有全账本节点数据(包括标识码、协议标识、IP和端口、地理位置信息等数据)的节点,负责向申请这些数据的区块链其他节点发送相关的全账本节点数据;钱包节点不保存所有区块的数据,只保存跟自己交易相关的数据,所以体积很小,可以运行在电脑,手机,网页等地方,但是不具备将自身交易上链的功能,因此需要通过与全账本节点进行通信来完成数据交换、交易上链等行为。
每当有新加入区块链网络的钱包节点时,该钱包节点首先需要向某个或某几个全账本节点发送通信请求,全账本节点才能对此钱包节点进行交易上链等服务,因此需要设计钱包节点与为其提供服务的全账本节点的通信方法。
现有技术套用中心化系统的节点分配方法,包括为全账本节点从零开始编号,利用新加入区块链网络的钱包节点id除以全账本节点数目的余数,并规定余数所对应的全账本节点向该钱包节点提供服务。这种方法可能出现余数都为同一数值或同几个数值的情况,导致所有钱包节点都只与某一个或某几个全账本节点进行通信,而其余全账本节点不与任何钱包节点进行通信。全账本节点向钱包节点提供服务需要占用自身服务器内存空间,因此套用上述方法就会导致一部分全账本节点与过多钱包节点建立通信,进行交易处理时占用大量服务器内存空间,造成支撑全账本节点的服务器负载过重,容易故障;而另一部分全账本节点不与任何钱包节点建立通信,其服务器长时间空闲,产生资源浪费。此外,如果采用上述方法,一旦某个全账本节点出现故障,则可用的全账本节点数目减少,所有的钱包节点都需要重新计算,进而重新确定为自己进行服务的全账本节点,因此需要区块链网络中大部分乃至全部节点都重新建立通信。
发明内容
本发明实施例中提供了一种减少节点碰撞的区块链节点负载均衡方法,以解决现有区块链中全账本节点负载不均衡,且应对全账本节点故障时操作繁琐的问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
本发明第一方面提供了一种减少节点碰撞的区块链节点负载均衡方法,包括以下步骤:
全账本节点获取目录节点中所有全账本节点数据,根据Chord协议构建Chord环,并将所有全账本节点按照哈希值的大小顺序映射到所述Chord环上;
当前钱包节点获取目录节点中所有全账本节点数据,根据一致性哈希算法构建哈希环,并将所有全账本节点和自身钱包节点按照哈希值的大小顺序映射到所述哈希环上;
在哈希环上,钱包节点从自身位置按顺时针方向,就近选取两个全账本节点,并对这两个全账本节点进行哈希校验;
钱包节点向上一步确定的两个全账本节点发送通信请求;
接收到通信请求的两个全账本节点,判断自身服务器的负载情况,在负载未满时,建立与当前钱包节点的通信关系,在负载已满时,沿Chord环的顺时针方向,向Chord环上的下一个全账本节点转发通信请求。
进一步地,所述对这两个全账本节点进行哈希校验的具体过程为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山大地纬软件股份有限公司,未经山大地纬软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910374945.2/2.html,转载请声明来源钻瓜专利网。