[发明专利]一种共识流程恢复方法及相关节点有效
申请号: | 201810859769.7 | 申请日: | 2018-07-30 |
公开(公告)号: | CN110784331B | 公开(公告)日: | 2022-05-13 |
发明(设计)人: | 丁健;刘勋;曹朝 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L41/0668 | 分类号: | H04L41/0668;H04L67/1042;H04L9/40;G06Q40/04;H04L9/32 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 共识 流程 恢复 方法 相关 节点 | ||
本申请实施例提供一种共识流程恢复方法及相关节点,该方法应用于节点集群,节点集群包含多个节点,多个节点共同运行多个实例,针对每个实例,多个节点中存在一个节点作为该实例的主节点,其余的节点作为该实例的从节点;多个实例对应的多个主节点分别为不同的节点,该方法包括:多个节点中的一个或多个节点从一个或多个从实例中确定目标实例,目标实例的吞吐量比主实例的吞吐量高;第一节点与各个第二节点达成共识,以将目标实例替换主实例成为新的主实例,第二节点为运行目标实例的从节点,第一节点为运行目标实例的主节点。采用本申请实施例方法,能够解决一致性处理流程中的主节点故障后共识流程恢复速度较慢的问题,本申请可具体用于区块链技术中。
技术领域
本发明涉及大数据技术领域,尤其涉及一种共识流程恢复方法及相关节点。
背景技术
区块链是一种将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。现有执行区块链方案的节点集群在解决节点之间协商、决策如何生成新区块的问题时,使用实用拜占庭容错(practicalbyzantine fault tolerance,PBFT)算法进行共识,共识效率是区块链对外提供服务的核心能力。PBFT算法的核心理论是n=3f+1,其中,n是节点集群中的节点总数,f是允许出现故障的节点的最大数。即当出现拜占庭容错(如发送恶意错误信息)的节点不超过f个时,这节点集群中的没有出现拜占庭容错的其他节点最终都可以的得到正确的共识结果,也即是说,每个没有出现拜占庭容错的节点在收到2f+1条正确的消息后即可得出正确的共识结果。
该节点集群中包括一个主节点(primarynode),除该主节点之外的节点为从节点(backup node),主节点在共识过程中承担了更多的任务,例如,接收客户端(client)发送的数据处理请求,然后将该请求中的关键信息发送给节点集群中其他所有节点,以使节点集群中的节点对该数据进行共识。一旦该主节点出现故障,该节点集群中的节点就会重新选举出一个新的主节点,在选举的过程中通常采用基于竞争的选举方式,竞争过程中各个节点之间会进行大量的信息交互(因为节点集群中节点数量往往比较庞大),这个过程会持续一定的时间;如果在此期间有数据需要共识则需要等到新的主节点产生之后才会执行。也即是说,共识流程可能会因为主节点故障而出现中断,共识流程中断之后如何快速恢复是本领域的技术人员需要解决的技术问题。
发明内容
本发明实施例公开了一种共识流程恢复方法及相关节点,能够解决一致性处理流程中的主节点故障后共识流程恢复速度较慢的问题。
第一方面,本申请实施例提供一种集群系统,所述集群系统中包含多个节点,所述多个节点共同运行多个实例,其中所述多个实例中的每个实例由所述多个节点共同运行,并且所述多个实例中存在一个主实例和一个或多个从实例;针对每个实例,所述多个节点中存在一个节点作为所述每个实例对应的主节点;所述多个实例对应的多个主节点分别为不同的节点。
在上述集群系统中,多个节点共同运行着多个实例,且其中各个实例对应的主节点各不相同,因此当其中一个实例的主节点出现问题并不意味着其他的实例的主节点也出现问题,因此避免了集群系统因为其中一个实例故障而导致无法正常运行的问题。
在第一方面的第一种可能的实现方式中:第一节点向每一个第二节点发送业务请求;所述第一节点为所述多个实例中一个实例对应的主节点,所述第二节点为所述一个实例对应的从节点;所述第一节点接收所述第二节点返回的第一验证信息,所述第一验证信息中包括所述第二节点的签名,所述第一验证信息表示所述第二节点对所述业务请求验证通过;若所述第一节点接收到的所述第一验证信息的数量超过第二预设阈值,所述第一节点执行所述业务请求;所述第一节点向每一个所述第二节点发送第一确认信息,所述第一确认信息包括所述业务请求和所述第一节点接收到的所有的所述第一验证信息中的所述第二节点的签名;所述第一确认信息用于使得所述第二节点执行所述业务请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810859769.7/2.html,转载请声明来源钻瓜专利网。