掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及区块链技术、服务降级技术,特别涉及一种区块链系统自适应服务降级方法、设备及存储介质。

背景技术

目前传统系统的服务降级方法都是当服务器压力剧增的情况下,根据当前业务情况及流量对一些服务和页面有策略的降级,如关闭某些非核心功能等,以此释放服务器资源以保证核心任务的正常运行。但是,有别于传统系统,区块链系统的各项功能都是实现链上数据具有不可篡改特性的必要保障,各项功能紧密相关,缺一不可。同时,区块链系统各节点的数据需要保持一致,无法通过横向扩展服务器的方式提升系统处理效率从而释放服务器压力,因此传统系统的服务降级方法不能并有效的满足区块链系统释放压力,提升处理性能的需求。

发明内容

本发明的目的在于针对现有技术的不足,提供一种适用于区块链系统的自适应服务降级方法,可以在保证系统功能完整的情况下应对服务压力剧增的情况。

根据本发明的第一方面,提供一种区块链系统自适应服务降级方法,包括以下步骤:

(1)针对区块链系统中每条区块链在参数配置中心设置默认的共识算法和服务降级时的共识算法以及系统处理压力值参数;

(2)性能监控服务器采集区块链系统的性能指标数据;

(3)根据性能指标数据实时计算区块链集群和不同区块链的系统处理压力值;

(4)根据预设参数判断当前区块链系统的系统处理压力值是否超过阀值,如果超过阀值,则将共识算法切换为预设的吞吐量更高的共识算法;

(5)根据预设参数判断当前处于降级服务的区块链是否已经得到压力缓解,如果已经缓解则恢复区块链共识算法。

进一步地,所述区块链共识算法包括RBFT、RAFT、CZBFT等共识算法。

进一步地,所述用于服务降级时的共识算法一般选取比当前共识算法在吞吐量上有明显提升的共识算法,从而可以通过提升吞吐量的方法加快业务处理速度,降低系统处理压力。

进一步地,所述区块链系统的性能指标包括节点CPU使用率、内存使用率、业务处理TPS等。

进一步地,所述判断当前区块链系统的系统处理压力值是否超过阀值,可以从整体区块链系统处理性能和具体单一区块链处理性能两个方面进行判断。

进一步地,首先判断整体区块链系统处理压力值是否超过阀值,如果超过阀值则获取当前系统处理压力值最大的区块链调整区块链共识算法,否则继续判断是否存在超过系统处理压力值阀值的区块链,如果存在则调整区块链共识算法。

进一步地,调整区块链共识算法过程中,将需要调整的区块链共识算法写入参数配置中心,由参数配置中心同步到受管区块链集群使之生效,同步需要将调整情况在性能监控服务器中存储形成待恢复区块链列表和区块链运行状态。

进一步地,所述参数配置中心负责设置各类参数,并实时推送到性能监控服务器和具体区块链系统集群;设置的参数包括:系统处理压力值阀值、区块链参数表和性能指标相关参数。

进一步地,所述区块链参数表用于设置区块链的默认共识算法、服务降级开关、服务降级间隔时间以及在不同系统处理压力值范围下适用的服务降级共识算法。

进一步地,所述性能指标相关参数包括性能指标、性能指标得分和性能指标权重;根据所有性能指标的得分与权重乘积的加和,得到系统处理压力值。

进一步地,受管的区块链系统集群在接收到参数配置中心推送的共识算法参数后,与当前系统中区块链使用的共识算法比较,如果不一致则会切换区块链使用的共识算法,并在下一笔业务开始采用新共识算法进行共识。

根据本发明的第二方面,提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述区块链系统自适应服务降级方法的步骤。

根据本发明的第三方面,提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述区块链系统自适应服务降级方法的步骤。

本发明的有益效果是:本发明能够自动识别压力并对系统处理效率进行动态调节,从而释放区块链系统的处理压力,保证系统的稳定运行。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1为本发明实施例中的区块链系统自适应服务降级系统结构图。

图2为本发明实施例中的区块链系统自适应服务降级方法流程图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

为实现区块链系统的服务降级,本发明实施例提供一种区块链系统自适应服务降级方法。如图1所示为区块链系统自适应服务降级系统结构图。

参数配置中心服务器主要负责设置各类参数,并实时推送到性能监控服务器和具体区块链系统集群。

性能监控服务器负责从区块链集群中定期采集性能指标数据,通过实时计算区块链系统的系统处理压力值,并根据预设参数选择合适的共识算法,通过参数配置中心推送至区块链系统集群,实现动态调整区块链共识算法,从而实现通过调整共识算法的方法调整区块链系统的处理性能,达到有效降低系统处理性能压力的效果。

图2是本发明实施例中的区块链系统自适应服务降级方法的流程示意图。如图2所示,该区块链系统自适应服务降级方法可以包括以下内容:

步骤S1000:初始化参数设置。

具体的,需要提前在参数配置中心设置系统处理压力值阀值、区块链参数表(如表1)和性能指标相关参数。

进一步地,所述系统处理压力值分为整体系统和区块链两类,由各类性能指标计算得出。针对整体系统类的系统处理压力值阀值可以按照CPU使用率达到85%,内存使用率达到85%时的系统处理压力值设置,也可以按具体性能需求设置。

进一步地,所述区块链参数表用于设置区块链的默认共识算法、服务降级开关、服务降级间隔时间以及在不同系统处理压力值范围下适用的服务降级共识算法,具体示例见表1。其中,系统处理压力值范围越大,共识算法的吞吐量也要越大,这样才能起到有效提升区块链业务处理速度,缓解系统处理压力的效果,具体示例见表1。

表1:区块链参数表示例

进一步地,所述性能指标相关参数包括性能指标、性能指标得分和性能指标权重。

其中:

1.性能指标分为整体系统类和区块链类两类。整体系统类性能指标可以包括CPU使用率、内存使用率、IO读写性能等,区块链类性能指标可以包括业务处理性能、区块产生速度、区块写入速度等。

2.性能指标1权重+性能指标2权重+...+性能指标n权重=1,n为性能指标总数。

3.性能指标得分可按需设置,在此以10分为例,对每个性能指标单独设置得分标准。以“CPU使用率”为例,当0%

步骤S1001:参数推送。

具体的,初始化参数设置完成生效后由参数配置中心服务器主动推送至受管的区块链系统集群和性能监控服务器。性能监控服务器在接收到新的参数后会更新当前服务器内缓存的参数信息。受管的区块链系统集群在接收到共识算法参数后会与当前系统中区块链使用的共识算法比较,如果不一致则会切换区块链使用的共识算法,并在下一笔业务开始采用新共识算法进行共识。

步骤S2000:性能监控数据采集。

具体的,性能监控数据采集主要是由性能监控服务器按照预设的监控周期从被监控的区块链集群中采集性能指标数据,并在服务器中进行缓存用于后续计算。其中监控周期一般可以按分钟、小时的维度进行设置。

步骤S3000:区块链系统处理压力值计算与更新。

具体的,根据收集到的性能指标数据计算出整体系统的系统处理压力值和每一条区块链的系统处理压力值并更新性能监控服务器中缓存数据。

进一步地,系统处理压力值可通过如下方法计算,也可以按需选择其他计算方法。

参考计算方法:

系统处理压力值=性能指标1得分×性能指标1权重+性能指标2得分×性能指标2权重+...+性能指标n得分×性能指标n权重

步骤S4000:判断整体系统处理压力值是否超过阀值。

具体的,根据步骤S3000计算出的整体系统类系统处理压力值去匹配预设的参数值。如果超过阀值则执行步骤S4001;否则执行步骤S5000。

步骤S4001:获取当前系统处理压力值最大的区块链。

具体的,从当前区块链系统中选择出系统处理压力值最大、自动服务降级开关为开且距离上次降级调整时间间隔超过预设的服务降级间隔时间的区块链进行区块链共识算法调整。

进一步的,需根据当前区块链的系统处理压力值选择合适的服务降级共识算法。

进一步的,如果当前使用的共识算法已经为预设的服务降级共识算法中吞吐量最高的共识算法,则按照上述同样规则循环对后续排名的区块链进行筛选,直至筛选出满足条件的区块链并进入步骤S4002。如果最终无法筛选出满足条件的区块链则说明已经无法通过区块链系统自身的服务降级来降低业务处理压力,需要通过服务限流等其他方法来释放系统压力。

步骤S4002:调整区块链共识算法。

具体的,将需要调整的区块链共识算法写入参数配置中心,由参数配置中心同步到受管区块链集群使之生效。同步需要将调整情况在性能监控服务器中存储形成待恢复区块链列表和区块链运行状态,以便后续释放使用。

步骤S5000:判断是否存在超过系统处理压力值阀值的区块链。

具体的,在没有触发整体区块链系统压力的情况下需要进一步检测每一条区块链是否存在超过系统处理压力值阀值的情况。如果存在则执行步骤S5001,否则执行步骤S6000。

步骤S5001:调整区块链共识算法。

具体的,需根据当前区块链的系统处理压力值选择合适的服务降级共识算法。如当前区块链适用的共识算法已经为预设的服务降级共识算法中吞吐量最高的共识算法,则说明已经无法通过区块链系统自身的服务降级来降低业务处理压力,需要通过服务限流等其他方法来释放系统压力。否则调整共识算法,具体操作同步骤S4002。

步骤S6000:判断是否存在压力缓解需要恢复共识算法的区块链。

具体的,当系统处理压力值降低时需要及时的恢复默认的共识算法或选择合适的服务降级使用的共识算法,因此需要遍历待恢复区块链列表,并依次使用区块链当前的系统处理压力值与预设的系统处理压力值范围、系统处理压力值阀值进行比对并选择合适的共识算法。

步骤S6001:恢复区块链共识算法。

具体的,根据步骤S6000获取的区块链和共识算法与现有区块链共识算法进行比对,如果不一致则将之写入参数配置中心,由参数配置中心同步到受管区块链集群使之生效。同时更新待恢复区块链列表和区块链运行状态。

在一个实施例中,提出了一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中区块链系统自适应服务降级方法中的步骤。

在一个实施例中,提出了一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述各实施例中区块链系统自适应服务降级方法中的步骤。其中,存储介质可以为非易失性存储介质。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。

以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

相关技术
  • 区块链系统自适应服务降级方法、设备及存储介质
  • 区块链系统中排除双花的方法、计算机可读存储介质和区块链系统
技术分类

06120113098847