一种区块链的异常处置方法及装置制造方法及图纸

技术编号:32349246 阅读:17 留言:0更新日期:2022-02-20 02:13
一种区块链的异常处置方法及装置,应用于微服务架构的区块链,其中,所述区块链的微服务架构中用于将交易打包成块的控制器、与用于对块进行共识的共识器相解耦,所述区块链采用的共识机制中至少包括领导者角色和跟随者角色;所述方法包括:所述区块链领导者节点的共识器检测同节点的控制器是否处于异常状态;若所述控制器处于异常状态,向参与所述共识机制的其他跟随者节点发送更换领导者请求;收到所述更换领导者请求的跟随者节点发起领导者角色投票,以在所述投票于所述共识机制内被通过之后,成为新的领导者节点。应用上述方案,可以对领导者节点共识器正常但控制器异常的情况进行处置,保障共识机制的稳定运行。保障共识机制的稳定运行。保障共识机制的稳定运行。

【技术实现步骤摘要】
一种区块链的异常处置方法及装置


[0001]本说明书涉及区块链
,尤其涉及一种区块链的异常处置方法及装置。

技术介绍

[0002]区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的技术;人们开发了诸多共识算法体系,以保障共同参与“记账”的若干计算设备上计算、存储的一致性,其中一类公式算法体系中,可以包括领导者角色和跟随者角色;在实际业务中,如果个别扮演跟随者角色的计算机出现故障,共识通常仍然能够完成,但如果扮演领导者角色的计算设备出现故障,就有可能导致共识失败或者挂起。
[0003]在相关技术中,部分共识算法体系中可以包括故障处置算法,其具体表现为,如果发现扮演领导者角色的计算设备无响应的时间超过阈值,则自动移交领导者角色,使其他未出现故障的计算设备成为新的领导者,从而保证共识能够稳定运行。
[0004]但是,在部分区块链架构下,上述故障处置算法无法正确识别出出现故障的领导者计算设备,导致故障的领导者计算设备长时间无法提供正常功能,共识无法继续。

技术实现思路

[0005]有鉴于此,本说明书公开了一种区块链的异常处置方法和装置。
[0006]根据本说明书实施例的第一方面,公开了一种区块链的异常处置方法,应用于微服务架构的区块链,其中,所述区块链的微服务架构中用于将交易打包成块的控制器、与用于对块进行共识的共识器相解耦,所述区块链采用的共识机制中至少包括领导者角色和跟随者角色;所述方法包括:所述区块链领导者节点的共识器检测同节点的控制器是否处于异常状态;若所述控制器处于异常状态,向参与所述共识机制的其他跟随者节点发送更换领导者请求;收到所述更换领导者请求的跟随者节点发起领导者角色投票,以在所述投票于所述共识机制内被通过之后,成为新的领导者节点。
[0007]可选的,所述检测同节点的控制器是否处于异常状态,包括:尝试从同节点的控制器获取新提案信息;若无法获取到新提案信息,或者获取到的新提案信息内容不合法,则确定所述同节点的控制器处于异常状态。
[0008]可选的,所述向参与所述共识机制的其他跟随者节点发送更换领导者请求,包括:对参与所述共识机制的其他跟随者节点进行筛选,得到候选节点;向所述候选节点发送更换领导者请求。
[0009]可选的,所述筛选包括:基于节点状态记录,筛选得到活跃指标达到预设阈值、且已存放有最新共识状态
的跟随者节点。
[0010]可选的,所述筛选包括:向参与所述共识机制的其他跟随者节点发送控制器异常检查消息,以使参与所述共识机制的其他跟随者节点对对应的控制器进行异常检查,并反馈所述异常检查的结果;根据所述异常检查的结果,筛选得到对应的控制器不处于异常状态的跟随者节点。
[0011]可选的,所述筛选包括:基于预设的优先级列表,筛选得到优先级最高的候选节点;其中,所述优先级列表为基于节点的计算性能、和/或存储性能、和/或通信性能对节点进行优先级排序的列表。
[0012]可选的,所述区块链采用的共识机制包括Raft机制;所述更换领导者请求包括领导者节点超时消息。
[0013]根据本说明书实施例的第二方面,公开了一种区块链的异常处置装置,应用于微服务架构的区块链,其中,所述区块链的微服务架构中用于将交易打包成块的控制器、与用于对块进行共识的共识器相解耦,所述区块链采用的共识机制中至少包括领导者角色和跟随者角色;所述装置包括:检测模块,被配置为使所述区块链领导者节点的共识器检测同节点的控制器是否处于异常状态;发送模块,被配置为在所述控制器处于异常状态的情况下,向参与所述共识机制的其他跟随者节点发送更换领导者请求;投票模块,被配置为使收到所述更换领导者请求的跟随者节点发起领导者角色投票,以在所述投票于所述共识机制内被通过之后,成为新的领导者节点。
[0014]根据本说明书实施例的第三方面,公开了一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现上述任一方面实施例所述的方法。
[0015]根据本说明书实施例的第四方面,公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方面实施例所述的方法。
[0016]以上技术方案中,由于区块链领导者节点的共识器可以主动检测同节点的控制器是否处于异常状态,并在所述控制器处于异常状态的情况下,启动共识机制内的领导者角色迁移的流程,使得领导者角色迁移到其他节点上,因此,即使区块链采用了控制器与共识器相解耦的微服务架构,在仅控制器出现了故障而共识器未出现故障、传统故障检测和处置算法无法生效的情况下,上述控制器出现故障、但共识器未出现故障的原领导者节点也能够被本方案检测到并进行处置,从而保证共识体系的正常运行。
附图说明
[0017]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书文本一同用于解释原理。
[0018]图1是本说明书示出的一种区块链共识异常的情景示例图;图2是本说明书示出的一种区块链的异常处置方法的流程示例图;图3是本说明书示出的一种区块链的异常处置装置的结构示例图;
图4是本说明书示出的一种用于区块链的异常处置的计算机设备的结构示例图。
具体实施方式
[0019]为了使本
的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
[0020]下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与本说明书的一些方面相一致的系统和方法的例子。
[0021]在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0022]应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0023]区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链的异常处置方法,应用于微服务架构的区块链,其特征在于,所述区块链的微服务架构中用于将交易打包成块的控制器、与用于对块进行共识的共识器相解耦,所述区块链采用的共识机制中至少包括领导者角色和跟随者角色;所述方法包括:所述区块链领导者节点的共识器检测同节点的控制器是否处于异常状态;若所述控制器处于异常状态,向参与所述共识机制的其他跟随者节点发送更换领导者请求;收到所述更换领导者请求的跟随者节点发起领导者角色投票,以在所述投票于所述共识机制内被通过之后,成为新的领导者节点。2.根据权利要求1所述的方法,其特征在于,所述检测同节点的控制器是否处于异常状态,包括:尝试从同节点的控制器获取新提案信息;若无法获取到新提案信息,或者获取到的新提案信息内容不合法,则确定所述同节点的控制器处于异常状态。3.根据权利要求1所述的方法,其特征在于,所述向参与所述共识机制的其他跟随者节点发送更换领导者请求,包括:对参与所述共识机制的其他跟随者节点进行筛选,得到候选节点;向所述候选节点发送更换领导者请求。4.根据权利要求3所述的方法,其特征在于,所述筛选包括:基于节点状态记录,筛选得到活跃指标达到预设阈值、且已存放有最新共识状态的跟随者节点。5.根据权利要求3所述的方法,其特征在于,所述筛选包括:向参与所述共识机制的其他跟随者节点发送控制器异常检查消息,以使参与所述共识机制的其他跟随者节点对对应的控制器进行异常检查,并反馈所述异常检查的结果;根据所述异常...

【专利技术属性】
技术研发人员:王晓亮王福音
申请(专利权)人:北京溪塔科技有限公司
类型:发明
国别省市:

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

1