一种交易并发数控制方法及其相关设备
文献发布时间:2023-06-19 11:32:36
技术领域
本申请涉及数据处理技术领域,尤其涉及一种交易并发数控制方法及其相关设备。
背景技术
目前,基于高可用设计的分布式系统容易产生“雪崩”效应,该效应具体可以为:若该分布式系统中某个组件(如,服务器)处理速度变慢,则会导致该分布式系统的处理速度被拖慢,从而导致该分布式系统无法正常提供服务。
然而,如何避免分布式系统的处理速度被拖慢是一项亟待解决的技术问题。
发明内容
为了解决现有技术中存在的以上技术问题,本申请提供一种交易并发数控制方法及其相关设备,能够有效地控制分布式系统中各个服务器的交易并发数上限,从而能够有效地降低处理速度变慢的组件(例如,服务器)对上述分布式系统的影响,进而能够有效地避免分布式系统的处理速度被拖慢。
为了实现上述目的,本申请实施例提供的技术方案如下:
本申请实施例提供一种交易并发数控制方法,所述交易并发数控制方法应用于分布式系统,所述分布式系统包括N个服务器;
所述方法包括:
获取第i个服务器的当前资源使用数据;其中,i为正整数,i≤N,N为正整数;
在确定所述第i个服务器的当前资源使用数据达到第一熔断条件,且确定所述第i个服务器的交易并发数上限高于单服务器并发数阈值之后,按照第一比例降低所述第i个服务器的交易并发数上限;
在确定所述第i个服务器的当前资源使用数据达到第一恢复条件,且确定所述第i个服务器的交易并发数上限低于单服务器并发数目标值之后,按照第一比例增加所述第i个服务器的交易并发数上限。
在一种可能的实施方式中,若所述当前资源使用数据包括当前CPU使用率,则所述第一熔断条件为当前CPU使用率高于第一阈值,且所述第一恢复条件为当前CPU使用率低于第二阈值;
或者,
若所述当前资源使用数据包括当前内存使用率,则所述第一熔断条件为当前内存使用率高于第三阈值,且所述第一恢复条件为当前内存使用率低于第四阈值;
或者,
若所述当前资源使用数据包括当前CPU使用率和当前内存使用率,则所述第一熔断条件为当前CPU使用率高于第一阈值或者当前内存使用率高于第三阈值,且所述第一恢复条件为当前CPU使用率低于第二阈值或者当前内存使用率低于第四阈值。
在一种可能的实施方式中,所述方法还包括:
在确定所述N个服务器中至少存在第一数量第一目标服务器,且确定所述分布式系统的交易并发数上限高于第一系统并发数阈值之后,按照第二比例降低所述分布式系统的交易并发数上限,并根据降低后的所述分布式系统的交易并发数上限,更新各个服务器的交易并发数上限,以使所述降低后的所述分布式系统的交易并发数上限等于更新后的N个服务器的交易并发数上限之和;其中,第一目标服务器的当前资源使用数据达到第二熔断条件;
在确定所述N个服务器中至少存在第二数量第二目标服务器,且确定所述分布式系统的交易并发数上限低于第一系统并发数目标值之后,按照第二比例增加所述分布式系统的交易并发数上限,并根据降低后的所述分布式系统的交易并发数上限,更新各个服务器的交易并发数上限,以使所述增加后的所述分布式系统的交易并发数上限等于更新后的N个服务器的交易并发数上限之和;其中,第二目标服务器的当前资源使用数据达到第二恢复条件。
在一种可能的实施方式中,若所述当前资源使用数据包括当前CPU使用率,则所述第二熔断条件为当前CPU使用率高于第五阈值,且所述第二恢复条件为当前CPU使用率低于第六阈值;
或者,
若所述当前资源使用数据包括当前内存使用率,则所述第二熔断条件为当前内存使用率高于第七阈值,且所述第二恢复条件为当前内存使用率低于第八阈值;
或者,
若所述当前资源使用数据包括当前CPU使用率和当前内存使用率,则所述第二熔断条件为当前CPU使用率高于第五阈值或者当前内存使用率高于第七阈值,且所述第二恢复条件为当前CPU使用率低于第六阈值或者当前内存使用率低于第八阈值。
在一种可能的实施方式中,若所述分布式系统处理M个交易,则所述方法还包括:
获取第j个交易码的系统内部成功率;其中,所述第j个交易码用于唯一标识所述第j个交易;j为正整数,j≤M,M为正整数;
在确定所述第j个交易码的系统内部成功率低于第一系统成功率阈值,且确定所述第j个交易码的系统并发数上限高于所述第j个交易码的系统并发数阈值之后,按照第三比例降低所述第j个交易码的交易并发数上限;
在确定所述第j个交易码的系统内部成功率高于第二系统成功率阈值,且确定所述第j个交易码的系统并发数上限低于所述第j个交易码的系统并发数目标值之后,按照第三比例增加所述第j个交易码的交易并发数上限。
在一种可能的实施方式中,若所述分布式系统处理M个交易且第j个交易由所述分布式系统中G
获取第j个交易码的第g个服务器成功率;其中,所述第j个交易码用于唯一标识所述第j个交易;j为正整数,j≤M,M为正整数;g为正整数,g≤G
在确定所述第j个交易码的第g个服务器成功率低于第一服务器成功率阈值,且确定所述第j个交易码的第g个服务器并发数上限高于所述第j个交易码的第g个服务器并发数阈值之后,按照第四比例降低所述第j个交易码的第g个服务器并发数上限;
在确定所述第j个交易码的第g个服务器成功率高于第二服务器成功率阈值,且确定所述第j个交易码的第g个服务器并发数上限低于所述第j个交易码的第g个服务器并发数目标值之后,按照第四比例增加所述第j个交易码的第g个服务器并发数上限。
在一种可能的实施方式中,若所述分布式系统处理M个交易,则所述方法还包括:
获取第j个交易码的系统内部处理时间;其中,所述第j个交易码用于唯一标识所述第j个交易;j为正整数,j≤M,M为正整数;
在确定所述第j个交易码的系统内部处理时间高于第一系统处理时间阈值,且确定所述第j个交易码的系统并发数上限高于所述第j个交易码的系统并发数阈值之后,按照第三比例降低所述第j个交易码的交易并发数上限;
在确定所述第j个交易码的系统内部处理时间低于第二系统处理时间阈值,且确定所述第j个交易码的系统并发数上限低于所述第j个交易码的系统并发数目标值之后,按照第三比例增加所述第j个交易码的交易并发数上限。
在一种可能的实施方式中,若所述分布式系统处理M个交易且第j个交易由所述分布式系统中G
获取第j个交易码的第g个服务器处理时间;其中,所述第j个交易码用于唯一标识所述第j个交易;j为正整数,j≤M,M为正整数;g为正整数,g≤G
在确定所述第j个交易码的第g个服务器处理时间高于第一服务器处理时间阈值,且确定所述第j个交易码的第g个服务器并发数上限高于所述第j个交易码的第g个服务器并发数阈值之后,按照第四比例降低所述第j个交易码的第g个服务器并发数上限;
在确定所述第j个交易码的第g个服务器处理时间低于第二服务器处理时间阈值,且确定所述第j个交易码的第g个服务器并发数上限低于所述第j个交易码的第g个服务器并发数目标值之后,按照第四比例增加所述第j个交易码的第g个服务器并发数上限。
在一种可能的实施方式中,若所述分布式系统处理M个交易且所述分布式系统使用由第h
获取第j个交易码对应的第f个关联交易响应时间;其中,所述第j个交易码用于唯一标识所述第j个交易;j为正整数,j≤M,M为正整数;f为正整数,f≤F
在确定所述第j个交易码对应的第f个关联交易响应时间超过第一关联交易响应时间阈值,且确定所述第j个交易码的系统并发数上限高于所述第j个交易码的系统并发数阈值之后,按照第三比例降低所述第j个交易码的交易并发数上限;
在确定所述第j个交易码对应的第f个关联交易响应时间低于第二关联交易响应时间阈值,且确定所述第j个交易码的系统并发数上限低于所述第j个交易码的系统并发数目标值之后,按照第三比例增加所述第j个交易码的交易并发数上限。
在一种可能的实施方式中,若所述分布式系统处理M个交易且所述分布式系统使用由第h
获取第j个交易码对应的第f个关联交易响应时间;其中,所述第j个交易码用于唯一标识所述第j个交易;j为正整数,j≤M,M为正整数;f为正整数,f≤F
在确定所述F
在确定所述F
在一种可能的实施方式中,若所述分布式系统处理M个交易且所述分布式系统使用由第h
获取第j个交易码对应的第f个关联交易系统成功率;其中,所述第j个交易码用于唯一标识所述第j个交易;j为正整数,j≤M,M为正整数;f为正整数,f≤F
在确定所述第j个交易码对应的第f个关联交易系统成功率低于第一关联交易系统成功率阈值,且确定所述第j个交易码的系统并发数上限高于所述第j个交易码的系统并发数阈值之后,按照第三比例降低所述第j个交易码的交易并发数上限;
在确定所述第j个交易码对应的第f个关联交易系统成功率高于第二关联交易系统成功率阈值,且确定所述第j个交易码的系统并发数上限低于所述第j个交易码的系统并发数目标值之后,按照第三比例增加所述第j个交易码的交易并发数上限。
在一种可能的实施方式中,若所述分布式系统处理M个交易且所述分布式系统使用由第h
获取第j个交易码对应的第f个关联交易系统成功率;其中,所述第j个交易码用于唯一标识所述第j个交易;j为正整数,j≤M,M为正整数;f为正整数,f≤F
在确定所述F
在确定所述F
本申请实施例还提供了一种交易并发数控制装置,所述交易并发数控制装置应用于分布式系统,所述分布式系统包括N个服务器;
所述交易并发数控制装置包括:
第一获取单元,用于获取第i个服务器的当前资源使用数据;其中,i为正整数,i≤N,N为正整数;
第一降低单元,用于在确定所述第i个服务器的当前资源使用数据达到第一熔断条件,且确定所述第i个服务器的交易并发数上限高于单服务器并发数阈值之后,按照第一比例降低所述第i个服务器的交易并发数上限;
第一增加单元,用于在确定所述第i个服务器的当前资源使用数据达到第一恢复条件,且确定所述第i个服务器的交易并发数上限低于单服务器并发数目标值之后,按照第一比例增加所述第i个服务器的交易并发数上限。
本申请实施例还提供了一种设备,所述设备包括处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行本申请实施例提供的交易并发数控制方法的任一实施方式。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行本申请实施例提供的交易并发数控制方法的任一实施方式。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行本申请实施例提供的交易并发数控制方法的任一实施方式。
与现有技术相比,本申请实施例至少具有以下优点:
本申请实施例提供的应用于分布式系统的交易并发数控制方法中,对于该分布式系统中的第i个服务器来说,获取该第i个服务器的当前资源使用数据,在确定该第i个服务器的当前资源使用数据达到第一熔断条件,且确定该第i个服务器的交易并发数上限高于单服务器并发数阈值之后,按照第一比例降低第i个服务器的交易并发数上限;在确定该第i个服务器的当前资源使用数据达到第一恢复条件,且确定该第i个服务器的交易并发数上限低于单服务器并发数目标值之后,按照第一比例增加该第i个服务器的交易并发数上限。其中,i为正整数,i≤N,N为正整数。
可见,本申请实施例可以依据分布式系统中各个服务器的当前资源使用数据分别对各个服务器进行交易并发数控制,以使各个服务器能够承接的最大交易数目能够更符合各个服务器的当前资源水平,如此能够有效地降低处理速度变慢的服务器对分布式系统的影响,从而能够有效地避免分布式系统的处理速度被拖慢。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种交易并发数控制方法的流程图;
图2为本申请实施例提供的一种交易并发数控制装置的结构示意图。
具体实施方式
为了便于理解和解释本申请技术方案,下面先对本申请涉及的技术名词进行介绍。
分布式系统可以包括N个服务器,而且该分布式系统可以处理M个交易。其中,N为正整数,且M为正整数。
交易并发数控制是指通过调整目标对象(例如,分布式系统、服务器、或交易等)的交易并发数的方式来防止分布式系统的交易处理速度变慢。
发明人在针对分布式系统的研究中发现,可以通过控制分布式系统中各个服务器的交易并发数的方式来调整各个服务器对分布式系统的影响,如此能够有效地降低处理速度变慢的组件(例如,服务器)对上述分布式系统的影响,进而能够有效地避免分布式系统的处理速度被拖慢。
基于此发现,本申请实施例提供了一种交易并发数控制方法,该方法包括:获取该第i个服务器的当前资源使用数据,在确定该第i个服务器的当前资源使用数据达到第一熔断条件,且确定该第i个服务器的交易并发数上限高于单服务器并发数阈值之后,按照第一比例降低第i个服务器的交易并发数上限;在确定该第i个服务器的当前资源使用数据达到第一恢复条件,且确定该第i个服务器的交易并发数上限低于单服务器并发数目标值之后,按照第一比例增加该第i个服务器的交易并发数上限。其中,i为正整数,i≤N,N为正整数。
可见,本申请实施例可以依据分布式系统中各个服务器的当前资源使用数据分别对各个服务器进行交易并发数控制,以使各个服务器能够承接的最大交易数目能够更符合各个服务器的当前资源水平,如此能够有效地降低处理速度变慢的服务器对分布式系统的影响,从而能够有效地避免分布式系统的处理速度被拖慢。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,该图为本申请实施例提供的一种交易并发数控制方法的流程图。
本申请实施例提供的交易并发数控制方法,包括S1-S3:
S1:获取第i个服务器的当前资源使用数据。其中,i为正整数,i≤N,N为正整数。
其中,第i个服务器的当前资源使用数据用于描述该第i个服务器在当前时刻下的资源水平(例如,资源使用程度等)。另外,本申请实施例不限定当前资源使用数据,例如,当前资源使用数据可以包括当前CPU(central processing unit,中央处理器)使用率和/或当前内存使用率。
此外,本申请实施例不限定第i个服务器的当前资源使用数据的获取方式,例如,可以根据第i个服务器在第一时间段内的资源使用信息,确定第i个服务器的当前资源使用数据。其中,第一时间段的截止时间点为当前时刻,而且该第一时间段的持续时长可以预先设定,也就是,第一时间段可以表示为[T
另外,本申请实施例也不限定第i个服务器的当前资源使用数据的获取时间,例如,可以按照预设时间间隔(如,L2)进行获取。
基于上述S1的相关内容可知,可以针对各个服务器按照预设时间间隔重复进行交易并发数控制;而且对于各个服务器的当前轮交易并发数控制过程来说,可以先获取各个服务器的当前资源使用数据(如,当前CPU使用率或者当前内存使用率),以便后续能够依据各个服务器的当前资源使用数据对各个服务器进行相应的交易并发数上限控制。
S2:在确定第i个服务器的当前资源使用数据达到第一熔断条件,且确定第i个服务器的交易并发数上限高于单服务器并发数阈值之后,按照第一比例降低第i个服务器的交易并发数上限。其中,i为正整数,i≤N,N为正整数。
其中,第一熔断条件是指对单个服务器进行交易并发数降低控制所需达到的条件;而且本申请实施例不限定第一熔断条件。为了便于理解,下面结合三个示例进行说明。
示例一,若当前资源使用数据包括当前CPU使用率,则第一熔断条件可以为当前CPU使用率高于第一阈值。
可见,在当前资源使用数据包括当前CPU使用率时,若第i个服务器的当前CPU使用率高于第一阈值,则表示该第i个服务器的当前资源使用数据达到第一熔断条件。
示例二,若当前资源使用数据包括当前内存使用率,则第一熔断条件为当前内存使用率高于第三阈值。
可见,在当前资源使用数据包括当前内存使用率时,若第i个服务器的当前内存使用率高于第三阈值,则表示该第i个服务器的当前资源使用数据达到第一熔断条件。
示例三,若当前资源使用数据包括当前CPU使用率和当前内存使用率,则第一熔断条件为当前CPU使用率高于第一阈值或者当前内存使用率高于第三阈值。
可见,在当前资源使用数据包括当前CPU使用率和当前内存使用率时,若第i个服务器的当前CPU使用率高于第一阈值,或者第i个服务器的当前内存使用率高于第三阈值,则表示该第i个服务器的当前资源使用数据达到第一熔断条件。
第i个服务器的交易并发数上限是指该第i个服务器能够同时处理的交易的最大个数。
单服务器并发数阈值是指预先设定的允许一个服务器同时处理的交易的最低个数;而且,本申请实施例不限定单服务器并发数阈值,例如,单服务器并发数阈值可以为0。
第一比例可以根据应用场景预先设定。
基于上述S2的相关内容可知,对于分布系统中第i个服务器的当前轮交易并发数控制过程来说,在获取到该第i个服务器的当前资源使用数据之后,可以判断该第i个服务器的当前资源使用数据是否达到第一熔断条件,若达到,则可以进一步判断第i个服务器的交易并发数上限是否高于单服务器并发数阈值,若高于,则可以按照第一比例降低该第i个服务器的交易并发数上限,以使降低后的第i个服务器的交易并发数上限=降低前的第i个服务器的交易并发数上限×(1-第一比例)。
需要说明的是,在一些情况下,若确定第i个服务器的当前资源使用数据达到第一熔断条件,但确定第i个服务器的交易并发数上限不高于单服务器并发数阈值,则可以将第i个服务器的交易并发数上限保持不变,以使该第i个服务器的交易并发数上限始终不会低于单服务器并发数阈值。
S3:在确定第i个服务器的当前资源使用数据达到第一恢复条件,且确定第i个服务器的交易并发数上限低于单服务器并发数目标值之后,按照第一比例增加第i个服务器的交易并发数上限。其中,i为正整数,i≤N,N为正整数。
其中,第一恢复条件是指对单个服务器进行交易并发数增加控制所需达到的条件;而且本申请实施例不限定第一恢复条件。为了便于理解,下面结合三个示例进行说明。
示例1,若当前资源使用数据包括当前CPU使用率,则第一恢复条件可以为当前CPU使用率低于第二阈值。
可见,在当前资源使用数据包括当前CPU使用率时,若第i个服务器的当前CPU使用率低于第二阈值,则表示该第i个服务器的当前资源使用数据达到第一恢复条件。
示例2,若当前资源使用数据包括当前内存使用率,则第一恢复条件可以为当前内存使用率低于第四阈值。
可见,在当前资源使用数据包括当前内存使用率时,若第i个服务器的当前内存使用率低于第四阈值,则表示该第i个服务器的当前资源使用数据达到第一恢复条件。
示例3,若当前资源使用数据包括当前CPU使用率和当前内存使用率,则第一恢复条件可以为当前CPU使用率低于第二阈值或者当前内存使用率低于第四阈值。
可见,在当前资源使用数据包括当前CPU使用率和当前内存使用率时,若第i个服务器的当前CPU使用率低于第二阈值,或者第i个服务器的当前内存使用率低于第四阈值,则表示该第i个服务器的当前资源使用数据达到第一恢复条件。
单服务器并发数目标值是指预先设定的允许一个服务器同时处理的交易的最高个数;而且,本申请实施例不限定单服务器并发数目标值。
基于上述S2的相关内容可知,对于分布系统中第i个服务器的当前轮交易并发数控制过程来说,在获取到该第i个服务器的当前资源使用数据之后,可以判断该第i个服务器的当前资源使用数据是否达到第一恢复条件,若达到,则可以进一步判断第i个服务器的交易并发数上限是否低于单服务器并发数目标值,若低于,则可以按照第一比例增加该第i个服务器的交易并发数上限,以使增加后的第i个服务器的交易并发数上限=增加前的第i个服务器的交易并发数上限×(1+第一比例)。
需要说明的是,在一些情况下,若确定第i个服务器的当前资源使用数据达到第一恢复条件,但确定第i个服务器的交易并发数上限等于单服务器并发数阈值,则可以将第i个服务器的交易并发数上限保持不变,以使该第i个服务器的交易并发数上限始终不会超过单服务器并发数目标值。
基于上述S1至S3的相关内容可知,对于该分布式系统中的第i个服务器来说,获取该第i个服务器的当前资源使用数据,在确定该第i个服务器的当前资源使用数据达到第一熔断条件,且确定该第i个服务器的交易并发数上限高于单服务器并发数阈值之后,按照第一比例降低第i个服务器的交易并发数上限;在确定该第i个服务器的当前资源使用数据达到第一恢复条件,且确定该第i个服务器的交易并发数上限低于单服务器并发数目标值之后,按照第一比例增加该第i个服务器的交易并发数上限。其中,i为正整数,i≤N,N为正整数。
可见,本申请实施例可以依据分布式系统中各个服务器的当前资源使用数据分别对各个服务器进行交易并发数控制,以使各个服务器能够承接的最大交易数目更符合各个服务器的当前资源水平,如此能够有效地降低处理速度变慢的服务器对分布式系统的影响,从而能够有效地避免分布式系统的处理速度被拖慢。
另外,为了能够更好地防止分布式系统的交易处理速度变慢,本申请实施例还提供了交易并发数控制方法的另一种可能的实施方式,在该实施方式中,该交易并发数控制方法除了包括上述S1-S3以外,可以还包括S4-S5:
S4:在确定N个服务器中至少存在第一数量第一目标服务器,且确定分布式系统的交易并发数上限高于第一系统并发数阈值之后,按照第二比例降低分布式系统的交易并发数上限,并根据降低后的分布式系统的交易并发数上限,更新各个服务器的交易并发数上限,以使降低后的分布式系统的交易并发数上限等于更新后的N个服务器的交易并发数上限之和。
其中,第一目标服务器的当前资源使用数据达到第二熔断条件。
第二熔断条件是指对分布式系统进行交易并发数降低控制时单个服务器所需达到的条件;而且本申请实施例不限定第二熔断条件。为了便于理解,下面结合三个示例进行说明。
示例一,若当前资源使用数据包括当前CPU使用率,则第二熔断条件可以为当前CPU使用率高于第五阈值。
可见,在当前资源使用数据包括当前CPU使用率时,若第q个服务器的当前CPU使用率高于第五阈值,则表示该第q个服务器的当前资源使用数据达到第二熔断条件。其中,q为正整数,q≤N,N为正整数。
需要说明的是,本申请实施例不限定第五阈值与上文第一阈值之间的大小关系,例如,在一种可能的实施方式下,第五阈值<上文第一阈值。
示例二,若当前资源使用数据包括当前内存使用率,则第二熔断条件为当前内存使用率高于第七阈值。
可见,在当前资源使用数据包括当前内存使用率时,若第q个服务器的当前内存使用率高于第三阈值,则表示该第q个服务器的当前资源使用数据达到第二熔断条件。其中,q为正整数,q≤N,N为正整数。
需要说明的是,本申请实施例不限定第七阈值与上文第二阈值之间的大小关系,例如,在一种可能的实施方式下,第七阈值<上文第二阈值。
示例三,若当前资源使用数据包括当前CPU使用率和当前内存使用率,则第二熔断条件为当前CPU使用率高于第五阈值或者当前内存使用率高于第七阈值。
可见,在当前资源使用数据包括当前CPU使用率和当前内存使用率时,若第q个服务器的当前CPU使用率高于第五阈值,或者第q个服务器的当前内存使用率高于第七阈值,则表示该第q个服务器的当前资源使用数据达到第二熔断条件。其中,q为正整数,q≤N,N为正整数。
第一数量可以根据应用场景预先设定。
分布式系统的交易并发数上限是指该分布式系统能够同时处理的交易的最大个数;而且分布式系统的交易并发数上限等于该分布式系统中第1个服务器的交易并发数上限至第N个服务器的交易并发数上限之和。
第一系统并发数阈值是指预先设定的允许分布式系统同时处理的交易的最低个数;而且,本申请实施例不限定第一系统并发数阈值,例如,第一系统并发数阈值可以为0。
第二比例可以根据应用场景预先设定。
基于上述S4的相关内容可知,对于分布式系统的当前轮交易并发数控制过程来说,在获取到该分布式系统中各个服务器的当前资源使用数据之后,先判断第q个服务器的当前资源使用数据是否达到第二熔断条件,若达到第二熔断条件,则将第q个服务器确定为第一目标服务器;其中,q为正整数,q≤N。然后,判断第一目标服务器的个数是否达到第一数量,若达到第一数量,则可以进一步判断分布式系统的交易并发数上限是否高于第一系统并发数阈值,若高于第一系统并发数阈值,则先按照第二比例降低分布式系统的交易并发数上限,以使降低后的分布式系统的交易并发数上限=降低前的分布式系统的交易并发数上限×(1-第二比例);再根据降低后的分布式系统的交易并发数上限,更新各个服务器的交易并发数上限,以使降低后的分布式系统的交易并发数上限等于更新后的N个服务器的交易并发数上限之和。
需要说明的是,在一些情况下,若确定N个服务器中至少存在第一数量第一目标服务器,但确定分布式系统的交易并发数上限不高于第一系统并发数阈值,则可以将分布式系统的交易并发数上限保持不变,以使该分布式系统的交易并发数上限始终不会低于第一系统并发数阈值。
S5:在确定N个服务器中至少存在第二数量第二目标服务器,且确定分布式系统的交易并发数上限低于第一系统并发数目标值之后,按照第二比例增加分布式系统的交易并发数上限,并根据降低后的分布式系统的交易并发数上限,更新各个服务器的交易并发数上限,以使增加后的分布式系统的交易并发数上限等于更新后的N个服务器的交易并发数上限之和。
其中,第二目标服务器的当前资源使用数据达到第二恢复条件。
第二恢复条件是指对分布式系统进行交易并发数增加控制时单个服务器所需达到的条件;而且本申请实施例不限定第二恢复条件。为了便于理解,下面结合三个示例进行说明。
示例1,若当前资源使用数据包括当前CPU使用率,则第二恢复条件可以为当前CPU使用率低于第六阈值。
可见,在当前资源使用数据包括当前CPU使用率时,若第q个服务器的当前CPU使用率低于第二阈值,则表示该第q个服务器的当前资源使用数据达到第二恢复条件。其中,q为正整数,q≤N。
示例2,若当前资源使用数据包括当前内存使用率,则第二恢复条件可以为当前内存使用率低于第八阈值。
可见,在当前资源使用数据包括当前内存使用率时,若第q个服务器的当前内存使用率低于第四阈值,则表示该第q个服务器的当前资源使用数据达到第二恢复条件。其中,q为正整数,q≤N。
示例3,若当前资源使用数据包括当前CPU使用率和当前内存使用率,则第二恢复条件可以为当前CPU使用率低于第六阈值或者当前内存使用率低于第八阈值。
可见,在当前资源使用数据包括当前CPU使用率和当前内存使用率时,若第q个服务器的当前CPU使用率低于第二阈值,或者第q个服务器的当前内存使用率低于第四阈值,则表示该第q个服务器的当前资源使用数据达到第二恢复条件。其中,q为正整数,q≤N。
第二数量可以根据应用场景预先设定。
第一系统并发数目标值是指预先设定的允许分布式系统同时处理的交易的最高个数;而且,本申请实施例不限定第一系统并发数目标值。
基于上述S4的相关内容可知,对于分布式系统的当前轮交易并发数控制过程来说,在获取到该分布式系统中各个服务器的当前资源使用数据之后,先判断第q个服务器的当前资源使用数据是否达到第二恢复条件,若达到第二恢复条件,则将第q个服务器确定为第二目标服务器;其中,q为正整数,q≤N。然后,判断第二目标服务器的个数是否达到第二数量,若达到第二数量,则可以判断分布式系统的交易并发数上限是否低于第一系统并发数目标值,若低于第一系统并发数目标值,则先按照第二比例增加分布式系统的交易并发数上限,以使增加后的分布式系统的交易并发数上限=增加前的分布式系统的交易并发数上限×(1+第二比例);再根据增加后的分布式系统的交易并发数上限,更新各个服务器的交易并发数上限,以使增加后的分布式系统的交易并发数上限等于更新后的N个服务器的交易并发数上限之和。
需要说明的是,在一些情况下,若确定N个服务器中至少存在第二数量第二目标服务器,但确定分布式系统的交易并发数上限等于第一系统并发数目标值,则可以将分布式系统的交易并发数上限保持不变,以使该分布式系统的交易并发数上限始终不会超过第一系统并发数目标值。
基于上述S4至S5的相关内容可知,本申请实施例可以依据分布式系统中各个服务器的当前资源使用数据对该分布式系统进行交易并发数控制,以使该分布式系统承接的最大交易数目更符合该分布式系统的交易处理能力,从而能够有效地避免分布式系统的交易处理速度被拖慢。
另外,为了能够更好地防止分布式系统的交易处理速度变慢,本申请实施例还提供了交易并发数控制方法的另一种可能的实施方式,在该实施方式中,若分布式系统处理M个交易,则该交易并发数控制方法除了包括上述S1-S5中全部或部分步骤以外,可以还包括S6-S8:
S6:获取第j个交易码的系统内部成功率。其中,j为正整数,j≤M,M为正整数。
第j个交易码用于唯一标识第j个交易;而且本申请实施例不限定第j个交易码。
第j个交易码的系统内部成功率是指分布式系统对第j个交易成功处理完成的概率;而且,本申请实施例不限定第j个交易码的系统内部成功率的获取方式,例如,可以根据分布式系统在第一时间段内的对第j个交易码的处理结果(例如,成功完成或者失败未完成),确定第j个交易码的系统内部成功率。
另外,本申请实施例也不限定第j个交易码的系统内部成功率的获取时间,例如,可以按照预设时间间隔(如,L2)进行获取。
基于上述S6的相关内容可知,可以针对分布式系统中各个交易按照预设时间间隔重复进行并发数控制;而且对于各个交易的当前轮并发数控制过程来说,可以先获取各个交易对应的交易码的系统内部成功率,以便后续能够依据各个交易码的系统内部成功率对各个交易进行相应的并发数控制。
S7:在确定第j个交易码的系统内部成功率低于第一系统成功率阈值,且确定第j个交易码的系统并发数上限高于第j个交易码的系统并发数阈值之后,按照第三比例降低第j个交易码的交易并发数上限。其中,j为正整数,j≤M,M为正整数。
其中,第一系统成功率阈值可以预先根据应用场景设定。
第j个交易码的系统并发数上限是指分布式系统能够同时处理第j个交易的最大个数。
第j个交易码的系统并发数阈值是指预先设定的允许分布式系统同时处理第j个交易的最低个数;而且本申请实施例不限定第j个交易码的系统并发数阈值,例如,第j个交易码的系统并发数阈值可以是0。
第三比例可以预先根据应用场景设定。
基于上述S7的相关内容可知,对于分布式系统中第j个交易的当前轮并发数控制过程来说,在获取到第j个交易码的系统内部成功率之后,可以判断该第j个交易码的系统内部成功率是否低于第一系统成功率阈值,若低于第一系统成功率阈值,则可以进一步判断第j个交易码的系统并发数上限是否高于第j个交易码的系统并发数阈值,若高于第j个交易码的系统并发数阈值,则可以按照第三比例降低第j个交易码的交易并发数上限,以使降低后的第j个交易码的交易并发数上限=降低前的第j个交易码的交易并发数上限×(1-第三比例)。
需要说明的是,在一些情况下,若确定第j个交易码的系统内部成功率低于第一系统成功率阈值,但确定第j个交易码的系统并发数上限不高于第j个交易码的系统并发数阈值,则将第j个交易码的系统并发数上限保持不变,以使第j个交易码的系统并发数上限始终不会低于第j个交易码的系统并发数阈值。
S8:在确定第j个交易码的系统内部成功率高于第二系统成功率阈值,且确定第j个交易码的系统并发数上限低于第j个交易码的系统并发数目标值之后,按照第三比例增加第j个交易码的交易并发数上限。其中,j为正整数,j≤M,M为正整数。
其中,第二系统成功率阈值可以预先根据应用场景设定。需要说明的是,本申请实施例不限定第二系统成功率阈值与上文第一系统成功率阈值之间的大小关系,例如,第二系统成功率阈值可以等于上文第一系统成功率阈值,也可以高于上文第一系统成功率阈值。
第j个交易码的系统并发数目标值是指预先设定的允许分布式系统同时处理第j个交易的最高个数;而且本申请实施例不限定第j个交易码的系统并发数目标值。
基于上述S8的相关内容来说,对于分布式系统中第j个交易的当前轮并发数控制过程来说,在获取到第j个交易码的系统内部成功率之后,可以判断该第j个交易码的系统内部成功率是否高于第二系统成功率阈值,若高于第二系统成功率阈值,则可以进一步判断第j个交易码的系统并发数上限是否低于第j个交易码的系统并发数目标值,若低于第j个交易码的系统并发数目标值,则可以按照第三比例增加第j个交易码的交易并发数上限,以使增加后的第j个交易码的交易并发数上限=增加前的第j个交易码的交易并发数上限×(1+第三比例)。
需要说明的是,在一些情况下,若确定第j个交易码的系统内部成功率高于第二系统成功率阈值,但确定第j个交易码的系统并发数上限不低于第j个交易码的系统并发数目标值,则将第j个交易码的系统并发数上限保持不变,以使第j个交易码的系统并发数上限始终不会超过第j个交易码的系统并发数目标值。
基于上述S6至S8的相关内容可知,本申请实施例可以依据分布式系统中各个交易的系统内部成功率对该分布式系统中各个交易进行系统并发数控制,以使该分布式系统针对各个交易同时承接的个数更符合该分布式系统针对该各个交易的处理能力,从而能够有效地避免分布式系统的交易处理速度被拖慢。
另外,为了能够更好地防止分布式系统的交易处理速度变慢,本申请实施例还提供了交易并发数控制方法的另一种可能的实施方式,在该实施方式中,若分布式系统处理M个交易且第j个交易由分布式系统中G
S9:获取第j个交易码的第g个服务器成功率。其中,j为正整数,j≤M,M为正整数;g为正整数,g≤G
其中,第j个交易码的第g个服务器成功率是指上述G
基于上述S9的相关内容可知,可以针对分布式系统中各个交易按照预设时间间隔重复进行并发数控制;而且对于各个交易的当前轮并发数控制过程来说,可以先获取第j个交易码的第g个服务器成功率,以便后续能够依据第j个交易码的第g个服务器成功率对该第j个交易进行相应的并发数控制。
S10:在确定第j个交易码的第g个服务器成功率低于第一服务器成功率阈值,且确定第j个交易码的第g个服务器并发数上限高于第j个交易码的第g个服务器并发数阈值之后,按照第四比例降低第j个交易码的第g个服务器并发数上限。其中,j为正整数,j≤M,M为正整数;g为正整数,g≤G
其中,第一服务器成功率阈值可以预先根据应用场景设定。
第j个交易码的第g个服务器并发数上限是指上述G
第j个交易码的第g个服务器并发数阈值是指预先设定的允许上述G
第四比例可以预先根据应用场景设定。
基于上述S10的相关内容可知,对于分布式系统中第j个交易的当前轮并发数控制过程来说,在获取到第j个交易码的第g个服务器成功率之后,可以判断该第j个交易码的第g个服务器成功率是否低于第一服务器成功率阈值,若低于第一服务器成功率阈值,则可以进一步判断第j个交易码的第g个服务器并发数上限是否高于第j个交易码的第g个服务器并发数阈值,若高于第j个交易码的第g个服务器并发数阈值,则可以按照第四比例降低第j个交易码的第g个服务器并发数上限,以使降低后的第j个交易码的第g个服务器并发数上限=降低前的第j个交易码的第g个服务器并发数上限×(1-第四比例)。
需要说明的是,在一些情况下,若确定第j个交易码的第g个服务器成功率低于第一服务器成功率阈值,但确定第j个交易码的第g个服务器并发数上限不高于第j个交易码的第g个服务器并发数阈值,则将第j个交易码的第g个服务器并发数上限保持不变,以使该第j个交易码的第g个服务器并发数上限始终不会低于第j个交易码的第g个服务器并发数阈值。
S11:在确定第j个交易码的第g个服务器成功率高于第二服务器成功率阈值,且确定第j个交易码的第g个服务器并发数上限低于第j个交易码的第g个服务器并发数目标值之后,按照第四比例增加第j个交易码的第g个服务器并发数上限。其中,j为正整数,j≤M,M为正整数;g为正整数,g≤G
其中,第二服务器成功率阈值可以预先根据应用场景设定。需要说明的是,本申请实施例不限定第二服务器成功率阈值与上文第一服务器成功率阈值之间的大小关系,例如,第二服务器成功率阈值可以等于上文第一服务器成功率阈值,也可以高于上文第一服务器成功率阈值。
第j个交易码的第g个服务器并发数目标值是指预先设定的允许上述G
基于上述S11的相关内容可知,对于分布式系统中第j个交易的当前轮并发数控制过程来说,在获取到第j个交易码的第g个服务器成功率之后,可以判断该第j个交易码的第g个服务器成功率是否高于第二服务器成功率阈值,若高于第二服务器成功率阈值,则可以进一步判断第j个交易码的第g个服务器并发数上限是否低于第j个交易码的第g个服务器并发数目标值,若低于第j个交易码的第g个服务器并发数目标值,则可以按照第四比例增加第j个交易码的第g个服务器并发数上限,以使增加后的第j个交易码的第g个服务器并发数上限=增加前的第j个交易码的第g个服务器并发数上限×(1+第四比例)。
需要说明的是,在一些情况下,若确定第j个交易码的第g个服务器成功率高于第二服务器成功率阈值,但确定第j个交易码的第g个服务器并发数上限不低于第j个交易码的第g个服务器并发数目标值,则将第j个交易码的第g个服务器并发数上限保持不变,以使该第j个交易码的第g个服务器并发数上限始终不会超过第j个交易码的第g个服务器并发数目标值。
基于上述S9至S11的相关内容可知,本申请实施例可以依据分布式系统中各个交易的服务器成功率对该分布式系统中各个交易进行服务器并发数控制,以使该分布式系统中服务器针对一个交易同时承接的个数更符合该服务器针对该交易的处理能力,如此能够有效地避免服务器的交易处理速度降低,从而能够有效地避免分布式系统的交易处理速度被拖慢。
另外,为了能够更好地防止分布式系统的交易处理速度变慢,本申请实施例还提供了交易并发数控制方法的另一种可能的实施方式,在该实施方式中,若分布式系统处理M个交易,则该交易并发数控制方法除了包括上述S1-S11中全部或部分步骤以外,可以还包括S12-S14:
S12:获取第j个交易码的系统内部处理时间;其中,j为正整数,j≤M,M为正整数。
第j个交易码的系统内部处理时间是指分布式系统对第j个交易进行处理所需消耗的时间;而且,本申请实施例不限定第j个交易码的系统内部处理时间的获取方式,例如,可以分布式系统在第一时间段内的对第j个交易码的处理时间,确定第j个交易码的系统内部处理时间。
另外,本申请实施例也不限定第j个交易码的系统内部处理时间的获取时间,例如,可以按照预设时间间隔(如,L2)进行获取。
基于上述S6的相关内容可知,可以针对分布式系统中各个交易按照预设时间间隔重复进行并发数控制;而且对于各个交易的当前轮并发数控制过程来说,可以先获取各个交易对应的交易码的系统内部处理时间,以便后续能够依据各个交易码的系统内部处理时间对各个交易进行相应的并发数控制。
S13:在确定第j个交易码的系统内部处理时间高于第一系统处理时间阈值,且确定第j个交易码的系统并发数上限高于第j个交易码的系统并发数阈值之后,按照第三比例降低第j个交易码的交易并发数上限。
其中,第一系统处理时间阈值可以预先根据应用场景设定。
基于上述S13的相关内容可知,对于分布式系统中第j个交易的当前轮并发数控制过程来说,在获取到第j个交易码的系统内部处理时间之后,可以判断该第j个交易码的系统内部处理时间是否高于第一系统处理时间阈值,若高于第一系统处理时间阈值,则可以进一步判断第j个交易码的系统并发数上限是否高于第j个交易码的系统并发数阈值,若高于第j个交易码的系统并发数阈值,则可以按照第三比例降低第j个交易码的交易并发数上限,以使降低后的第j个交易码的交易并发数上限=降低前的第j个交易码的交易并发数上限×(1-第三比例)。
需要说明的是,在一些情况下,若确定第j个交易码的系统内部处理时间高于第一系统处理时间阈值,但确定第j个交易码的系统并发数上限不高于第j个交易码的系统并发数阈值,则将第j个交易码的系统并发数上限保持不变,以使第j个交易码的系统并发数上限始终不会低于第j个交易码的系统并发数阈值。
S14:在确定第j个交易码的系统内部处理时间低于第二系统处理时间阈值,且确定第j个交易码的系统并发数上限低于第j个交易码的系统并发数目标值之后,按照第三比例增加第j个交易码的交易并发数上限。
其中,第二系统处理时间阈值可以预先根据应用场景设定。需要说明的是,本申请实施例不限定第二系统处理时间阈值与上文第一系统处理时间阈值之间的大小关系,例如,第二系统处理时间阈值可以等于上文第一系统处理时间阈值,也可以低于上文第一系统处理时间阈值。
基于上述S14的相关内容来说,对于分布式系统中第j个交易的当前轮并发数控制过程来说,在获取到第j个交易码的系统内部处理时间之后,可以判断该第j个交易码的系统内部处理时间是否低于第二系统处理时间阈值,若低于第二系统处理时间阈值,则可以进一步判断第j个交易码的系统并发数上限是否低于第j个交易码的系统并发数目标值,若低于第j个交易码的系统并发数目标值,则可以按照第三比例增加第j个交易码的交易并发数上限,以使增加后的第j个交易码的交易并发数上限=增加前的第j个交易码的交易并发数上限×(1+第三比例)。
需要说明的是,在一些情况下,若确定第j个交易码的系统内部处理时间低于第二系统处理时间阈值,但确定第j个交易码的系统并发数上限不低于第j个交易码的系统并发数目标值,则将第j个交易码的系统并发数上限保持不变,以使第j个交易码的系统并发数上限始终不会超过第j个交易码的系统并发数目标值。
基于上述S12至S14的相关内容可知,本申请实施例可以依据分布式系统中各个交易的系统内部处理时间对该分布式系统中各个交易进行系统并发数控制,以使该分布式系统针对各个交易同时承接的个数更符合该分布式系统针对该各个交易的处理能力,从而能够有效地避免分布式系统的交易处理速度被拖慢。
另外,为了能够更好地防止分布式系统的交易处理速度变慢,本申请实施例还提供了交易并发数控制方法的另一种可能的实施方式,在该实施方式中,若分布式系统处理M个交易且第j个交易由分布式系统中G
S15:获取第j个交易码的第g个服务器处理时间。其中,j为正整数,j≤M,M为正整数;g为正整数,g≤G
其中,第j个交易码的第g个服务器处理时间是指上述G
基于上述S15的相关内容可知,可以针对分布式系统中各个交易按照预设时间间隔重复进行并发数控制;而且对于各个交易的当前轮并发数控制过程来说,可以先获取第j个交易码的第g个服务器处理时间,以便后续能够依据第j个交易码的第g个服务器处理时间对该第j个交易进行相应的并发数控制。
S16:在确定所述第j个交易码的第g个服务器处理时间高于第一服务器处理时间阈值,且确定所述第j个交易码的第g个服务器并发数上限高于所述第j个交易码的第g个服务器并发数阈值之后,按照第四比例降低所述第j个交易码的第g个服务器并发数上限。其中,j为正整数,j≤M,M为正整数;g为正整数,g≤G
其中,第一服务器处理时间阈值可以预先根据应用场景设定。
基于上述S16的相关内容可知,对于分布式系统中第j个交易的当前轮并发数控制过程来说,在获取到第j个交易码的第g个服务器处理时间之后,可以判断该第j个交易码的第g个服务器处理时间是否高于第一服务器处理时间阈值,若高于第一服务器处理时间阈值,则可以进一步判断第j个交易码的第g个服务器并发数上限是否高于第j个交易码的第g个服务器并发数阈值,若高于第j个交易码的第g个服务器并发数阈值,则可以按照第四比例降低第j个交易码的第g个服务器并发数上限,以使降低后的第j个交易码的第g个服务器并发数上限=降低前的第j个交易码的第g个服务器并发数上限×(1-第四比例)。
需要说明的是,在一些情况下,若确定第j个交易码的第g个服务器处理时间高于第一服务器处理时间阈值,但确定第j个交易码的第g个服务器并发数上限不高于第j个交易码的第g个服务器并发数阈值,则将第j个交易码的第g个服务器并发数上限保持不变,以使该第j个交易码的第g个服务器并发数上限始终不会低于第j个交易码的第g个服务器并发数阈值。
S17:在确定所述第j个交易码的第g个服务器处理时间低于第二服务器处理时间阈值,且确定所述第j个交易码的第g个服务器并发数上限低于所述第j个交易码的第g个服务器并发数目标值之后,按照第四比例增加所述第j个交易码的第g个服务器并发数上限。其中,j为正整数,j≤M,M为正整数;g为正整数,g≤G
其中,第二服务器处理时间阈值可以预先根据应用场景设定。需要说明的是,本申请实施例不限定第二服务器处理时间阈值与上文第一服务器处理时间阈值之间的大小关系,例如,第二服务器处理时间阈值可以等于上文第一服务器处理时间阈值,也可以低于上文第一服务器处理时间阈值。
基于上述S17的相关内容可知,对于分布式系统中第j个交易的当前轮并发数控制过程来说,在获取到第j个交易码的第g个服务器处理时间之后,可以判断该第j个交易码的第g个服务器处理时间是否低于第二服务器处理时间阈值,若低于第二服务器处理时间阈值,则可以进一步判断第j个交易码的第g个服务器并发数上限是否低于第j个交易码的第g个服务器并发数目标值,若低于第j个交易码的第g个服务器并发数目标值,则可以按照第四比例增加第j个交易码的第g个服务器并发数上限,以使增加后的第j个交易码的第g个服务器并发数上限=增加前的第j个交易码的第g个服务器并发数上限×(1+第四比例)。
需要说明的是,在一些情况下,若确定第j个交易码的第g个服务器处理时间低于第二服务器处理时间阈值,但确定第j个交易码的第g个服务器并发数上限不低于第j个交易码的第g个服务器并发数目标值,则将第j个交易码的第g个服务器并发数上限保持不变,以使该第j个交易码的第g个服务器并发数上限始终不会超过第j个交易码的第g个服务器并发数目标值。
基于上述S15至S17的相关内容可知,本申请实施例可以依据分布式系统中各个交易的服务器处理时间对该分布式系统中各个交易进行服务器并发数控制,以使该分布式系统中服务器针对一个交易同时承接的个数更符合该服务器针对该交易的处理能力,如此能够有效地避免服务器的交易处理速度降低,从而能够有效地避免分布式系统的交易处理速度被拖慢。
另外,为了能够更好地防止分布式系统的交易处理速度变慢,本申请实施例还提供了交易并发数控制方法的另一种可能的实施方式,在该实施方式中,若分布式系统处理M个交易且该分布式系统使用由第h
S18:获取第j个交易码对应的第f个关联交易响应时间。其中,j为正整数,j≤M,M为正整数;f为正整数,f≤F
其中,第j个交易码对应的第f个关联交易响应时间是指在分布式系统处理第j个交易时由与该分布式系统具有关联关系的第h
需要说明的是,上述F
基于上述S18的相关内容可知,可以针对分布式系统中各个交易按照预设时间间隔重复进行并发数控制;而且对于各个交易的当前轮并发数控制过程来说,可以先获取第j个交易码对应的第f个关联交易响应时间,以便后续能够依据第j个交易码对应的第f个关联交易响应时间对该第j个交易进行相应的并发数控制。
S19:在确定第j个交易码对应的第f个关联交易响应时间超过第一关联交易响应时间阈值,且确定第j个交易码的系统并发数上限高于第j个交易码的系统并发数阈值之后,按照第三比例降低第j个交易码的交易并发数上限。其中,j为正整数,j≤M,M为正整数;f为正整数,f≤F
其中,第一关联交易响应时间阈值可以预先根据应用场景设定。
基于上述S19的相关内容可知,对于分布式系统中第j个交易的当前轮并发数控制过程来说,在获取到第j个交易码对应的第f个关联交易响应时间之后,可以判断该第j个交易码对应的第f个关联交易响应时间是否超过第一关联交易响应时间阈值,若超过第一关联交易响应时间阈值,则可以进一步判断第j个交易码的系统并发数上限是否高于第j个交易码的系统并发数阈值,若高于第j个交易码的系统并发数阈值,则可以按照第三比例降低第j个交易码的交易并发数上限,以使降低后的第j个交易码的交易并发数上限=降低前的第j个交易码的交易并发数上限×(1-第三比例)。
需要说明的是,在一些情况下,若确定第j个交易码对应的第f个关联交易响应时间超过第一关联交易响应时间阈值,但确定第j个交易码的系统并发数上限不高于第j个交易码的系统并发数阈值,则将第j个交易码的系统并发数上限保持不变,以使第j个交易码的系统并发数上限始终不会低于第j个交易码的系统并发数阈值。
S20:在确定第j个交易码对应的第f个关联交易响应时间低于第二关联交易响应时间阈值,且确定第j个交易码的系统并发数上限低于第j个交易码的系统并发数目标值之后,按照第三比例增加第j个交易码的交易并发数上限。其中,j为正整数,j≤M,M为正整数;f为正整数,f≤F
其中,第二关联交易响应时间阈值可以预先根据应用场景设定。需要说明的是,本申请实施例不限定第二关联交易响应时间阈值与上文第一关联交易响应时间阈值之间的大小关系,例如,第二关联交易响应时间阈值可以等于上文第一关联交易响应时间阈值,也可以低于上文第一关联交易响应时间阈值。
基于上述S20的相关内容来说,对于分布式系统中第j个交易的当前轮并发数控制过程来说,在获取到第j个交易码对应的第f个关联交易响应时间之后,可以判断该第j个交易码对应的第f个关联交易响应时间是否低于第二关联交易响应时间阈值,若低于第二关联交易响应时间阈值,则可以进一步判断第j个交易码的系统并发数上限是否低于第j个交易码的系统并发数目标值,若低于第j个交易码的系统并发数目标值,则可以按照第三比例增加第j个交易码的交易并发数上限,以使增加后的第j个交易码的交易并发数上限=增加前的第j个交易码的交易并发数上限×(1+第三比例)。
需要说明的是,在一些情况下,若确定第j个交易码对应的第f个关联交易响应时间低于第二关联交易响应时间阈值,但确定第j个交易码的系统并发数上限不低于第j个交易码的系统并发数目标值,则将第j个交易码的系统并发数上限保持不变,以使第j个交易码的系统并发数上限始终不会超过第j个交易码的系统并发数目标值。
基于上述S18至S20的相关内容可知,本申请实施例可以依据分布式系统中各个交易的关联交易响应时间对该分布式系统中各个交易进行系统并发数控制,以使该分布式系统针对各个交易同时承接的个数更符合该分布式系统针对该各个交易的处理能力,从而能够有效地避免分布式系统的交易处理速度被拖慢。
另外,为了能够更好地防止分布式系统的交易处理速度变慢,本申请实施例还提供了交易并发数控制方法的另一种可能的实施方式,在该实施方式中,若分布式系统处理M个交易且该分布式系统使用由第h
S21:获取第j个交易码对应的第f个关联交易响应时间;其中,j为正整数,j≤M,M为正整数;f为正整数,f≤F
需要说明的是,S21的相关内容请参见上文S18的相关内容。
S22:在确定F
其中,第一目标关联交易的响应时间超过第一关联交易响应时间阈值。
第三数量可以根据应用场景预先设定。
第h
第二系统并发数阈值是指预先设定的允许第h
第五比例可以根据应用场景预先设定。
基于上述S22的相关内容可知,对于第h
需要说明的是,在一些情况下,若确定F
S23:在确定F
其中,第二目标关联交易的响应时间低于第二关联交易响应时间阈值。
第四数量可以根据应用场景预先设定。
第二系统并发数目标值是指预先设定的允许第h
基于上述S23的相关内容可知,对于第h
需要说明的是,在一些情况下,若确定确定F
基于上述S21至S23的相关内容可知,本申请实施例可以依据分布式系统的各个关联系统中关联交易的响应时间对该分布式系统的各个关联系统进行系统并发数控制,以使该分布式系统的各个关联系统能够承接的关联交易的个数更符合该分布式系统的各个关联系统的交易处理能力,从而能够有效地避免分布式系统的交易处理速度被拖慢。
另外,为了能够更好地防止分布式系统的交易处理速度变慢,本申请实施例还提供了交易并发数控制方法的另一种可能的实施方式,在该实施方式中,若分布式系统处理M个交易且该分布式系统使用由第h
S24:获取第j个交易码对应的第f个关联交易系统成功率。其中,j为正整数,j≤M,M为正整数;f为正整数,f≤F
其中,第j个交易码对应的第f个关联交易系统成功率是指在分布式系统处理第j个交易时由与该分布式系统具有关联关系的第h
基于上述S24的相关内容可知,可以针对分布式系统中各个交易按照预设时间间隔重复进行并发数控制;而且对于各个交易的当前轮并发数控制过程来说,可以先获取第j个交易码对应的第f个关联交易系统成功率,以便后续能够依据第j个交易码对应的第f个关联交易系统成功率对该第j个交易进行相应的并发数控制。
S25:在确定第j个交易码对应的第f个关联交易系统成功率低于第一关联交易系统成功率阈值,且确定第j个交易码的系统并发数上限高于第j个交易码的系统并发数阈值之后,按照第三比例降低第j个交易码的交易并发数上限。其中,j为正整数,j≤M,M为正整数;f为正整数,f≤F
其中,第一关联交易系统成功率阈值可以预先根据应用场景设定。
基于上述S25的相关内容可知,对于分布式系统中第j个交易的当前轮并发数控制过程来说,在获取到第j个交易码对应的第f个关联交易系统成功率之后,可以判断该第j个交易码对应的第f个关联交易系统成功率是否低于第一关联交易系统成功率阈值,若低于第一关联交易系统成功率阈值,则可以进一步判断第j个交易码的系统并发数上限是否高于第j个交易码的系统并发数阈值,若高于第j个交易码的系统并发数阈值,则可以按照第三比例降低第j个交易码的交易并发数上限,以使降低后的第j个交易码的交易并发数上限=降低前的第j个交易码的交易并发数上限×(1-第三比例)。
需要说明的是,在一些情况下,若确定第j个交易码对应的第f个关联交易系统成功率低于第一关联交易系统成功率阈值,但确定第j个交易码的系统并发数上限不高于第j个交易码的系统并发数阈值,则将第j个交易码的系统并发数上限保持不变,以使第j个交易码的系统并发数上限始终不会低于第j个交易码的系统并发数阈值。
S26:在确定第j个交易码对应的第f个关联交易系统成功率高于第二关联交易系统成功率阈值,且确定第j个交易码的系统并发数上限低于第j个交易码的系统并发数目标值之后,按照第三比例增加第j个交易码的交易并发数上限。其中,j为正整数,j≤M,M为正整数;f为正整数,f≤F
其中,第二关联交易系统成功率阈值可以预先根据应用场景设定。需要说明的是,本申请实施例不限定第二关联交易系统成功率阈值与上文第一关联交易系统成功率阈值之间的大小关系,例如,第二关联交易系统成功率阈值可以等于上文第一关联交易系统成功率阈值,也可以高于上文第一关联交易系统成功率阈值。
基于上述S26的相关内容来说,对于分布式系统中第j个交易的当前轮并发数控制过程来说,在获取到第j个交易码对应的第f个关联交易系统成功率之后,可以判断该第j个交易码对应的第f个关联交易系统成功率是否高于第二关联交易系统成功率阈值,若高于第二关联交易系统成功率阈值,则可以进一步判断第j个交易码的系统并发数上限是否低于第j个交易码的系统并发数目标值,若低于第j个交易码的系统并发数目标值,则可以按照第三比例增加第j个交易码的交易并发数上限,以使增加后的第j个交易码的交易并发数上限=增加前的第j个交易码的交易并发数上限×(1+第三比例)。
需要说明的是,在一些情况下,若确定第j个交易码对应的第f个关联交易系统成功率高于第二关联交易系统成功率阈值,但确定第j个交易码的系统并发数上限不低于第j个交易码的系统并发数目标值,则将第j个交易码的系统并发数上限保持不变,以使第j个交易码的系统并发数上限始终不会超过第j个交易码的系统并发数目标值。
基于上述S24至S26的相关内容可知,本申请实施例可以依据分布式系统中各个交易的关联交易系统成功率对该分布式系统中各个交易进行系统并发数控制,以使该分布式系统针对各个交易同时承接的个数更符合该分布式系统针对该各个交易的处理能力,从而能够有效地避免分布式系统的交易处理速度被拖慢。
另外,为了能够更好地防止分布式系统的交易处理速度变慢,本申请实施例还提供了交易并发数控制方法的另一种可能的实施方式,在该实施方式中,若分布式系统处理M个交易且该分布式系统使用由第h
S27:获取第j个交易码对应的第f个关联交易系统成功率;其中,j为正整数,j≤M,M为正整数;f为正整数,f≤F
需要说明的是,S27的相关内容请参见上文S24的相关内容。
S28:在确定F
其中,第三目标关联交易的系统成功率低于第一关联交易系统成功率阈值。
第五数量可以根据应用场景预先设定。
基于上述S28的相关内容可知,对于第h
需要说明的是,在一些情况下,若确定F
S29:在确定F
其中,第四目标关联交易的系统成功率高于第二关联交易系统成功率阈值。
第六数量可以根据应用场景预先设定。
基于上述S29的相关内容可知,对于第h
需要说明的是,在一些情况下,若确定确定F
基于上述S27至S29的相关内容可知,本申请实施例可以依据分布式系统的各个关联系统中关联交易的系统成功率对该分布式系统的各个关联系统进行系统并发数控制,以使该分布式系统的各个关联系统能够承接的关联交易的个数更符合该分布式系统的各个关联系统的交易处理能力,从而能够有效地避免分布式系统的交易处理速度被拖慢。
另外,为了便于技术人员及时了解到分布式系统的交易处理信息,可以在执行完上述S1-S29中全部或者部分步骤之后,可以输出告警信息,以使该告警信息携带有针对并发数的控制类型(例如,针对XXX进行并发数增加和/或降低控制)。
基于上述方法实施例提供的交易并发数控制方法,本申请实施例还提供了一种交易并发数控制装置,下面结合附图进行解释和说明。
装置实施例提供的交易并发数控制装置的技术详情,请参照上述方法实施例。
参见图2,该图为本申请实施例提供的一种交易并发数控制装置的结构示意图。
本申请实施例提供的交易并发数控制装置200,所述交易并发数控制装置200应用于分布式系统,所述分布式系统包括N个服务器;
所述交易并发数控制装置200包括:
第一获取单元201,用于获取第i个服务器的当前资源使用数据;其中,i为正整数,i≤N,N为正整数;
第一降低单元202,用于在确定所述第i个服务器的当前资源使用数据达到第一熔断条件,且确定所述第i个服务器的交易并发数上限高于单服务器并发数阈值之后,按照第一比例降低所述第i个服务器的交易并发数上限;
第一增加单元203,用于在确定所述第i个服务器的当前资源使用数据达到第一恢复条件,且确定所述第i个服务器的交易并发数上限低于单服务器并发数目标值之后,按照第一比例增加所述第i个服务器的交易并发数上限。
在一种可能的实施方式中,若所述当前资源使用数据包括当前CPU使用率,则所述第一熔断条件为当前CPU使用率高于第一阈值,且所述第一恢复条件为当前CPU使用率低于第二阈值;
或者,
若所述当前资源使用数据包括当前内存使用率,则所述第一熔断条件为当前内存使用率高于第三阈值,且所述第一恢复条件为当前内存使用率低于第四阈值;
或者,
若所述当前资源使用数据包括当前CPU使用率和当前内存使用率,则所述第一熔断条件为当前CPU使用率高于第一阈值或者当前内存使用率高于第三阈值,且所述第一恢复条件为当前CPU使用率低于第二阈值或者当前内存使用率低于第四阈值。
在一种可能的实施方式中,所述交易并发数控制装置200还包括:
第二降低单元,用于在确定所述N个服务器中至少存在第一数量第一目标服务器,且确定所述分布式系统的交易并发数上限高于第一系统并发数阈值之后,按照第二比例降低所述分布式系统的交易并发数上限,并根据降低后的所述分布式系统的交易并发数上限,更新各个服务器的交易并发数上限,以使所述降低后的所述分布式系统的交易并发数上限等于更新后的N个服务器的交易并发数上限之和;其中,第一目标服务器的当前资源使用数据达到第二熔断条件;
第二增加单元,用于在确定所述N个服务器中至少存在第二数量第二目标服务器,且确定所述分布式系统的交易并发数上限低于第一系统并发数目标值之后,按照第二比例增加所述分布式系统的交易并发数上限,并根据降低后的所述分布式系统的交易并发数上限,更新各个服务器的交易并发数上限,以使所述增加后的所述分布式系统的交易并发数上限等于更新后的N个服务器的交易并发数上限之和;其中,第二目标服务器的当前资源使用数据达到第二恢复条件。
在一种可能的实施方式中,若所述当前资源使用数据包括当前CPU使用率,则所述第二熔断条件为当前CPU使用率高于第五阈值,且所述第二恢复条件为当前CPU使用率低于第六阈值;
或者,
若所述当前资源使用数据包括当前内存使用率,则所述第二熔断条件为当前内存使用率高于第七阈值,且所述第二恢复条件为当前内存使用率低于第八阈值;
或者,
若所述当前资源使用数据包括当前CPU使用率和当前内存使用率,则所述第二熔断条件为当前CPU使用率高于第五阈值或者当前内存使用率高于第七阈值,且所述第二恢复条件为当前CPU使用率低于第六阈值或者当前内存使用率低于第八阈值。
在一种可能的实施方式中,所述交易并发数控制装置200还包括:
第二获取单元,用于若所述分布式系统处理M个交易,则获取第j个交易码的系统内部成功率;其中,所述第j个交易码用于唯一标识所述第j个交易;j为正整数,j≤M,M为正整数;
第三降低单元,用于在确定所述第j个交易码的系统内部成功率低于第一系统成功率阈值,且确定所述第j个交易码的系统并发数上限高于所述第j个交易码的系统并发数阈值之后,按照第三比例降低所述第j个交易码的交易并发数上限;
第三增加单元,用于在确定所述第j个交易码的系统内部成功率高于第二系统成功率阈值,且确定所述第j个交易码的系统并发数上限低于所述第j个交易码的系统并发数目标值之后,按照第三比例增加所述第j个交易码的交易并发数上限。
在一种可能的实施方式中,所述交易并发数控制装置200还包括:
第三获取单元,用于若所述分布式系统处理M个交易且第j个交易由所述分布式系统中G
第四降低单元,用于在确定所述第j个交易码的第g个服务器成功率低于第一服务器成功率阈值,且确定所述第j个交易码的第g个服务器并发数上限高于所述第j个交易码的第g个服务器并发数阈值之后,按照第四比例降低所述第j个交易码的第g个服务器并发数上限;
第四增加单元,用于在确定所述第j个交易码的第g个服务器成功率高于第二服务器成功率阈值,且确定所述第j个交易码的第g个服务器并发数上限低于所述第j个交易码的第g个服务器并发数目标值之后,按照第四比例增加所述第j个交易码的第g个服务器并发数上限。
在一种可能的实施方式中,所述交易并发数控制装置200还包括:
第四获取单元,用于若所述分布式系统处理M个交易,则获取第j个交易码的系统内部处理时间;其中,所述第j个交易码用于唯一标识所述第j个交易;j为正整数,j≤M,M为正整数;
第五降低单元,用于在确定所述第j个交易码的系统内部处理时间高于第一系统处理时间阈值,且确定所述第j个交易码的系统并发数上限高于所述第j个交易码的系统并发数阈值之后,按照第三比例降低所述第j个交易码的交易并发数上限;
第五增加单元,用于在确定所述第j个交易码的系统内部处理时间低于第二系统处理时间阈值,且确定所述第j个交易码的系统并发数上限低于所述第j个交易码的系统并发数目标值之后,按照第三比例增加所述第j个交易码的交易并发数上限。
在一种可能的实施方式中,所述交易并发数控制装置200还包括:
第五获取单元,用于若所述分布式系统处理M个交易且第j个交易由所述分布式系统中G
第六降低单元,用于在确定所述第j个交易码的第g个服务器处理时间高于第一服务器处理时间阈值,且确定所述第j个交易码的第g个服务器并发数上限高于所述第j个交易码的第g个服务器并发数阈值之后,按照第四比例降低所述第j个交易码的第g个服务器并发数上限;
第六增加单元,用于在确定所述第j个交易码的第g个服务器处理时间低于第二服务器处理时间阈值,且确定所述第j个交易码的第g个服务器并发数上限低于所述第j个交易码的第g个服务器并发数目标值之后,按照第四比例增加所述第j个交易码的第g个服务器并发数上限。
在一种可能的实施方式中,所述交易并发数控制装置200还包括:
第六获取单元,用于若所述分布式系统处理M个交易且所述分布式系统使用由第h
第七降低单元,用于在确定所述第j个交易码对应的第f个关联交易响应时间超过第一关联交易响应时间阈值,且确定所述第j个交易码的系统并发数上限高于所述第j个交易码的系统并发数阈值之后,按照第三比例降低所述第j个交易码的交易并发数上限;
第七增加单元,用于在确定所述第j个交易码对应的第f个关联交易响应时间低于第二关联交易响应时间阈值,且确定所述第j个交易码的系统并发数上限低于所述第j个交易码的系统并发数目标值之后,按照第三比例增加所述第j个交易码的交易并发数上限。
在一种可能的实施方式中,所述交易并发数控制装置200还包括:
第七获取单元,用于若所述分布式系统处理M个交易且所述分布式系统使用由第h
第八降低单元,用于在确定所述F
第八增加单元,用于在确定所述F
在一种可能的实施方式中,所述交易并发数控制装置200还包括:
第八获取单元,用于若所述分布式系统处理M个交易且所述分布式系统使用由第h
第九降低单元,用于在确定所述第j个交易码对应的第f个关联交易系统成功率低于第一关联交易系统成功率阈值,且确定所述第j个交易码的系统并发数上限高于所述第j个交易码的系统并发数阈值之后,按照第三比例降低所述第j个交易码的交易并发数上限;
第九增加单元,用于在确定所述第j个交易码对应的第f个关联交易系统成功率高于第二关联交易系统成功率阈值,且确定所述第j个交易码的系统并发数上限低于所述第j个交易码的系统并发数目标值之后,按照第三比例增加所述第j个交易码的交易并发数上限。
在一种可能的实施方式中,所述交易并发数控制装置200还包括:
第九获取单元,用于若所述分布式系统处理M个交易且所述分布式系统使用由第h
第十降低单元,用于在确定所述F
第十增加单元,用于在确定所述F
基于上述交易并发数控制装置200的相关内容可知,对于该分布式系统中的第i个服务器来说,获取该第i个服务器的当前资源使用数据,在确定该第i个服务器的当前资源使用数据达到第一熔断条件,且确定该第i个服务器的交易并发数上限高于单服务器并发数阈值之后,按照第一比例降低第i个服务器的交易并发数上限;在确定该第i个服务器的当前资源使用数据达到第一恢复条件,且确定该第i个服务器的交易并发数上限低于单服务器并发数目标值之后,按照第一比例增加该第i个服务器的交易并发数上限。其中,i为正整数,i≤N,N为正整数。
可见,本申请实施例可以依据分布式系统中各个服务器的当前资源使用数据分别对各个服务器进行交易并发数控制,以使各个服务器能够承接的最大交易数目能够更符合各个服务器的当前资源水平,如此能够有效地降低处理速度变慢的服务器对分布式系统的影响,从而能够有效地避免分布式系统的处理速度被拖慢。
进一步地,本申请实施例还提供了一种设备,所述设备包括处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行本申请实施例提供的交易并发数控制方法的任一实施方式。
进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行本申请实施例提供的交易并发数控制方法的任一实施方式。
进一步地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行本申请实施例提供的交易并发数控制方法的任一实施方式。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
- 一种交易并发数控制方法及其相关设备
- 一种交易风险控制方法、装置以及相关设备和介质