区块链的共识节点更新方法、装置、电子设备及介质制造方法及图纸

技术编号:33202783 阅读:15 留言:0更新日期:2022-04-24 00:42
本申请提供一种区块链的共识节点更新方法、装置、电子设备及介质。该方法包括:区块链在主节点列表内的节点之间进行共识时,缓存区块链的主节点列表中每个节点在共识的每个阶段回复消息包的超时情况,主节点列表中的节点为区块链的共识节点;确定主节点列表中的异常节点,异常节点为在共识的连续两个阶段回复消息包均超时的节点;根据异常节点与区块链中容错节点的关系,更新主节点列表。不仅提升了共识的效率,而且还可以节省区块链的节点运维成本。本。本。

【技术实现步骤摘要】
区块链的共识节点更新方法、装置、电子设备及介质


[0001]本申请涉及通信技术,尤其涉及一种区块链的共识节点更新方法、装置、电子设备及介质。

技术介绍

[0002]随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Finteh)转变,区块链(Block Chain)技术也不例外,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。
[0003]现有技术中在部署区块链网络时,机构间为保证可用性,一般会为本机构部署两个或以上的共识节点,共识节点中性能较好的节点作为主节点,其他性能相对较低的节点,作为备用节点,即容错节点。在这种情况下,区块链网络中共识节点中有接近一半的共识节点是备用节点,在由(3*F+1)个节点构成的系统中,例如,满足2F+1个共识节点共识正常时,另外F个共识节点是用于冗余来保证共识容错的。因此,该2F+1个共识节点采用性能较好的节点,作为主节点,该F个冗余的共识节点作为所有机构的容错节点,来保证共识网络的共识。
[0004]然而现有技术中,为了保证容错节点数为F,在切换群首(leader)节点时只能在3F+1个节点中选择leader节点,无法保证leader节点为主节点的概率,会导致区块链的共识效率下降。

技术实现思路

[0005]本申请提供一种区块链的共识节点更新方法、装置、电子设备及介质,用以解决现有技术中区块链的共识效率较低的技术问题。
[0006]第一方面,本申请提供一种区块链的共识节点更新方法,包括:
[0007]区块链在主节点列表内的节点之间进行共识时,缓存区块链的主节点列表中每个节点在共识的每个阶段回复消息包的超时情况,主节点列表中的节点为区块链的共识节点;确定主节点列表中的异常节点,异常节点为在共识的连续两个阶段回复消息包均超时的节点;根据异常节点与区块链中容错节点的关系,更新主节点列表。
[0008]本申请实施例中,通过设置主节点列表,利用主节点列表中的共识节点实现共识,提高了共识效率,并且在主节点列表中的节点发生异常时,更新主节点列表,不仅保证了区块链的共识的顺利进行,而且,相比于现有技术中在区块链所有的节点中选择leader节点,本申请实施例在主节点列表中选择leader节点进行共识,降低了leader节点为低性能节点的概率,不仅可以提升区块链的共识效率,而且还可以节省区块链的节点运维成本。
[0009]在一种可能的实施方式中,本申请实施例提供的区块链的共识节点更新方法,在缓存主节点列表中每个节点在共识的每个阶段回复消息包的超时情况之前,还包括:
[0010]配置区块链的主节点及主节点的容错节点,并将主节点添加至主节点列表中,主节点列表中的节点用于接收并回复消息包,容错节点用于同步消息包。
[0011]本申请实施例中,通过配置区块链的主节点,并将主节点添加至主节点列表中,降低了leader节点为低性能的容错节点的概率,不仅可以提升区块链的共识效率,而且还可以节省区块链的节点运维成本。
[0012]在一种可能的实施方式中,本申请实施例提供的区块链的共识节点更新方法,根据异常节点与区块链中容错节点的关系,更新主节点列表,包括:
[0013]确定异常节点的容错节点;将异常节点的容错节点添加至主节点列表。
[0014]本申请实施例中,通过将异常节点的容错节点添加至主节点列表加入主节点,保障了区块链在主节点发生异常时,下一轮共识的正常运行。
[0015]在一种可能的实施方式中,本申请实施例提供的区块链的共识节点更新方法,主节点列表中包括2F+1个主节点和1个容错节点,其中,F为正整数。
[0016]本申请实施例中,通过将主节点列表中设置2F+1个主节点和1个容错节点,通过降低leader节点为容错节点的概率,提升共识的效率,而且还可以节省区块链的节点运维成本,并且还可以在主节点列表中存在一个节点异常时的正常共识。
[0017]在一种可能的实施方式中,本申请实施例提供的区块链的共识节点更新方法,根据异常节点与区块链中容错节点的关系,更新主节点列表,包括:
[0018]若异常节点的当前数量n小于或等于m,则将区块链中的p个容错节点添加至主节点列表中,以使主节点列表中的节点数量为3n+1,其中,m为区块链在共识中所允许的最高容错节点数量。
[0019]本申请实施例中,通过在异常节点数量不超过最高错节点数量时,通过将区块链的容错节点添加至主节点列表中的方式,保证区块链的共识节点更新的顺利进行。
[0020]在一种可能的实施方式中,本申请实施例提供的区块链的共识节点更新方法,还包括:
[0021]若存在异常节点恢复正常,则根据当前的异常节点,在主节点列表中剔除部分容错节点。
[0022]本申请实施例在异常节点恢复正常时,在主节点列表中剔除部分容错节点,在保证区块链的共识正常运行的同时,提高了共识的效率。
[0023]在一种可能的实施方式中,本申请实施例提供的区块链的共识节点更新方法,根据当前的异常节点,在主节点列表中剔除部分容错节点,包括:
[0024]若异常节点全部恢复正常,则在主节点列表中剔除添加的p个容错节点。
[0025]在一种可能的实施方式中,本申请实施例提供的区块链的共识节点更新方法,根据当前的异常节点,在主节点列表中剔除部分容错节点,包括:
[0026]若异常节点部分恢复正常,则在主节点列表中剔除添加的部分容错节点,使主节点列表中的节点数量为3n+1,其中,n为异常节点的当前数量。
[0027]在一种可能的实施方式中,本申请实施例提供的区块链的共识节点更新方法,在根据异常节点与区块链中容错节点的关系,更新主节点列表之前,还包括:
[0028]主节点列表中的leader节点向区块链的容错节点发送消息包请求;容错节点接收到消息包请求之后,向leader节点发送消息包。
[0029]本申请实施例通过在主节点列表中的存在异常节点时,向容错节点发送消息包请求,保证了本轮共识的顺利进行。
[0030]下面介绍本申请实施例提供的区块链的共识节点更新装置、电子设备、计算机可读存储介质以及计算机程序产品,其内容和效果可参考本申请实施例提供的区块链的共识节点更新方法,不再赘述。
[0031]第二方面,本申请提供一种区块链的共识节点更新装置,包括:
[0032]缓存模块,用于区块链在主节点列表内的节点之间进行共识时,缓存主节点列表中每个节点在共识的每个阶段回复消息包的超时情况,主节点列表中的节点为区块链的共识节点。
[0033]确定模块,用于确定主节点列表中的异常节点,异常节点为在共识的连续两个阶段回复消息包均超时的节点。
[0034]处理模块,用于根据异常节点与区块链中容错节点的关系,更新主节点列表。
[0035]在一种可能的实施方式中,本申请实施例提供的区块链的共识节点更新装置,还包括:
[0036]配置模块,用于配置区本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链的共识节点更新方法,其特征在于,包括:区块链在主节点列表内的节点之间进行共识时,缓存所述主节点列表中每个节点在所述共识的每个阶段回复消息包的超时情况,所述主节点列表中的节点为所述区块链的共识节点;确定所述主节点列表中的异常节点,所述异常节点为在所述共识的连续两个阶段回复消息包均超时的节点;根据所述异常节点与所述区块链中容错节点的关系,更新所述主节点列表。2.根据权利要求1所述的方法,其特征在于,在所述缓存所述主节点列表中每个节点在所述共识的每个阶段回复消息包的超时情况之前,还包括:配置所述区块链的主节点及所述主节点的容错节点,并将所述主节点添加至所述主节点列表中,所述主节点列表中的节点用于接收并回复消息包,所述容错节点用于同步消息包。3.根据权利要求2所述的方法,其特征在于,根据所述异常节点与所述区块链中容错节点的关系,更新所述主节点列表,包括:确定所述异常节点的容错节点;将所述异常节点的容错节点添加至所述主节点列表。4.根据权利要求1

3任一项所述的方法,其特征在于,所述主节点列表中包括2F+1个主节点和1个容错节点,其中,所述F为正整数。5.根据权利要求4所述的方法,其特征在于,所述根据所述异常节点与所述区块链中容错节点的关系,更新所述主节点列表,包括:若所述异常节点的当前数量n小于或等于m,则将所述区块链中的p个所述容错节点添加至所述主节点列表中,以使所述主节点列表中的节点数量为3n+1,其中,所述m为所述区块链在所述共识中所允许的最高容错节点数量。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:若存在所述异常节点恢复正常,则根据当前的所述异常节点,在所述主节点列表中剔除部分所述容错节点。7.根据权利要求6所述的方法,其特征在于,所述根据当前的所述异常节点,在所述主节点列表中剔除部分所述容错节点,包括:若所述...

【专利技术属性】
技术研发人员:黎宁刘明臻周禄余勇冼祥斌钟绍柏张开翔范瑞彬
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1