一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向联盟链的交叉容错方法与流程

2021-10-19 22:29:00 来源:中国专利 TAG:容错 区块 交叉 面向 方法

技术特征:
1.一种面向联盟链的交叉容错方法,其特征在于,包括以下步骤:s1、fabric中实现xraft排序后端;s2、各个xraft orderer group内选举产生自己的leader节点,而后各group内的leader按顺时针向下一个group发生本组的leader标识消息s3、议员之间运行xraft算法,产生自己的leader节点;s4、shard master集群内部故障处理,将通知该故障节点所在group的leader重新推举新的议员节点;s5、处理负载和故障;所述s5具体包括:步骤1:对于每个group维持这样一个元组<capacity(k),active degree(k),dependency(k)>,其中capacity(k)表示一段时间内第k个group收到的请求总数,active degree(k)表示第k个group单位时间内平均处理的事务,dependency(k)表示第k组请求对shard master的依赖情况;步骤2:系统依据公式对负载过重的group内的议员进行调整。2.根据权利要求1所述的一种面向联盟链的交叉容错方法,其特征在于,所述s1中包括以下步骤:s11:实现chain接口和consentersupport接口;s12:读取xraft配置参数,初始化xraft集群;s13:在chain接口的order方法中,调用xraft算法,接收消息,并在各个节点同步数据;s14:在consentersupport的blockcutter方法中,获取xraft的commitlog,进行区块打包;s15:适配consenter、chain及consentersupport内的方法。3.根据权利要求1所述的一种面向联盟链的交叉容错方法,其特征在于,步骤s2包括以下步骤:s21:如果下一个group内尚未产生leader节点,则忽略该消息;s22:产生leader节点后,该组内的任何一个非leader节点收到该消息后都转发给本组的leader节点,leader节点收到m
gl
消息后,根据已知的group配置信息和签名验证消息的合法性;s23:验证通过后,记录group x的leader为j,并附带t 1个成员的投票信息发往下一个组;s24:在继续发往下一个组之前leader节点可以把上一个组的投票信息去除,只保留自己组的投票,同时将本组的leader信息附加在内往下传递;s25:消息的合法性验证过程也只验证上一组的投票信息与原始签名,直至发送该消息的leader节点收到了自己发送的m
gl
消息,该leader节点可以确定其他组内已经产生leader节点并且均已知道group x的leader为j;s26:leader节点收到自己发送过的m
gl
消息后检查是否附带有其他group的leader信息,如果附有其他leader信息,则记录该信息并将附带的信息继续往下发送。
4.根据权利要求1所述的一种面向联盟链的交叉容错方法,其特征在于,步骤s3包括以下步骤:s31:leader依据自己所在group内的配置信息随机产生一个节点s作为议员,并为该议员收集本组内的t 1个签名信息形成s32:该消息由leader节点发送给下一组的leader,收到该消息的leader节点检查消息的合法性并且如果本组内已经产生议员节点,则把该消息公布给本组的议员节点;s33:直至leader收到了自己发送的m
s
消息,则通知本组议员节点,当议员节点收集到|group|个议员信息后,则与其他group的议员共同组成逻辑上的shard master集群。5.根据权利要求1所述的一种面向联盟链的交叉容错方法,其特征在于,步骤s4中,议员推选算法包括以下步骤:s41:当xraft group内的leader节点失效时,该组内的议员节点将报告该信息,并等待新的leader产生;s42:议员节点将对本组内的负载情况进行监测和其他议员节点的响应速度进行监测;s43:当发现某个议员节点由于本组的负载响应速度变慢时,可以向负载较轻的group申请临时议员节点,该议员节点变为master组内的passive节点;s44:当负载恢复后,该议员节点重新恢复active状态,停用临时议员节点。6.根据权利要求1所述的一种面向联盟链的交叉容错方法,其特征在于,所述s5中,包括以下公式:score(k)=wl(k)
·
e

dependency(k)
ꢀꢀꢀꢀ
(2)按公式(1)对每个group负载进行计算,当系统中某个group的wl(k)大于某个预置的参数α时,则说明该group负载过高,group负载过高,按公式(2)对每个group的情况进行评价,然后从k个group内选择得分较高的委派leader节点再指定一个临时议员加入到shard master组代替负载过高的group的议员。7.根据权利要求6所述的一种面向联盟链的交叉容错方法,其特征在于,每个group内至少有一个节点作为议员节点;每个group内至少同时有两个节点处于正常工作状态。8.根据权利要求1所述的一种面向联盟链的交叉容错方法,其特征在于,步骤s3中算法为以下算法:

技术总结
本发明涉及区块链应用技术领域,公开了一种面向联盟链的交叉容错方法,其包括以下步骤:Fabric中实现XRaft排序后端;各个XRaft Orderer group内选举产生自己的Leader节点,而后各group内的Leader按顺时针向下一个group发生本组的Leader标识消息;议员之间运行XRaft算法,产生自己的Leader节点。本发明可以定位到具体的故障节点,从而简单的将该故障节点隔离为Passive节点,提高了故障恢复的速度,减少了全局配置信息的变更,在小范围内进行一致性检查,降低了算法视图变更的复杂度。降低了算法视图变更的复杂度。降低了算法视图变更的复杂度。


技术研发人员:闵炜 肖烽 张宗立 吴刚
受保护的技术使用者:东北大学
技术研发日:2021.06.30
技术公布日:2021/10/18
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜