本技术涉及计算机,具体而言,涉及一种请求控制方法、电子设备、存储介质及计算机程序产品。
背景技术:
1、在微服务架构下,当系统面临大量用户访问,负载过高时,通常采用负载均衡策略将请求均匀的分发给同一个服务的不同服务节点进行处理。但由于不同的请求实际在处理时所用资源不一,而负载均衡策略只能感知分发请求之前服务节点的负载情况,无法感知服务节点实际处理请求时的情况,从而导致服务节点在处理请求的过程出现崩溃的现象,影响服务节点处理请求的稳定性。
技术实现思路
1、本技术实施例的目的在于提供一种请求控制方法、电子设备、存储介质及计算机程序产品,用以从服务节点出发,基于自身处理请求的实际情况控制接收的请求数量,以最大化利用服务节点资源的基础上,提高服务节点处理请求的稳定性。
2、第一方面,本技术实施例提供一种请求控制方法,该方法应用于服务节点,该方法包括:按预设时间间隔统计资源利用率;若资源利用率不小于第一预设利用率阈值,则执行防御策略;防御策略表征服务节点不再接收请求,并只对正在处理的请求继续处理;基于防御策略执行过程中统计到的资源利用率的变化情况生成服务节点的请求接收策略;请求接收策略表征在一个请求接收周期内服务节点接收请求的数量;根据请求接收策略对接收的请求进行控制。
3、本技术实施例通过按照预设时间间隔统计资源利用率,以了解服务节点的实时状态,并在资源利用率大于第一预设利用率阈值时,执行防御策略,使得服务节点不再接收新请求,并只对正在处理的请求进行处理,以避免新请求的进入对服务节点造成压力,从而提高了服务节点处理请求的稳定性。进一步,根据防御策略执行过程中统计到的资源利用率的变化情况生成的服务节点的请求接收策略对接收的请求进行控制,使服务节点的资源得到充分利用的情况下避免出现崩溃的现象,提高服务节点的稳定性,以此提高服务节点处理请求的稳定性。
4、在一些实施例中,基于防御策略执行过程中统计到的资源利用率的变化情况生成服务节点的请求接收策略,包括:若最新统计的资源利用率小于第二预设利用率阈值,则继续接收请求;将开始继续接收请求的时间作为开始时间;在接收请求的过程中,若最新统计的资源利用率不小于第三预设利用率阈值,则停止接收请求;将停止接收请求的时间作为结束时间;第二预设利用率阈值小于第三预设利用率阈值;第三预设利用率阈值小等于第一预设利用率阈值;开始时间至结束时间构成第一个请求接收周期;基于第一个请求接收周期的时间长度和处理请求过程中的资源利用率生成服务节点的请求接收策略。
5、本技术实施例基于防御策略执行过程中统计到的资源利用率的变化情况来确定什么时候继续接收请求和停止接收请求,使得服务节点不会出现崩溃的现象,其资源也不会被闲置,从而在最大程度利用服务节点资源的基础上,提高服务节点处理请求的稳定性。
6、在一些实施例中,基于第一个请求接收周期的时间长度和处理请求过程中的资源利用率生成服务节点的请求接收策略,包括:若最新统计的资源利用率在小于第二预设利用率阈值之前存在不小于第一预设利用率阈值的情况,则获取资源利用率第一次上升至第一预设利用率阈值的第一时间,以及资源利用率在小于第二预设利用率阈值之前最后一次下降至第一预设利用率阈值以下的第二时间;若第一时间和第二时间的时间差大于或等于第一个请求接收周期的时间长度,则基于第一个请求接收周期内接收的请求数量生成服务节点的请求接收策略。
7、本技术实施例通过判断第一时间和第二时间的时间差与第一个请求接收周期的时间长度的大小,来确定服务节点是否长时间处于高负荷的状态,以基于第一个请求接收周期内接收的请求数量生成服务节点的请求接收策略,通过请求接收策略控制接收的请求,提高服务节点的稳定性,以此提高服务节点处理请求的稳定性。
8、在一些实施例中,基于第一个请求接收周期内接收的请求数量生成服务节点的请求接收策略,包括:按预设区间大小将第一个请求接收周期的时间长度划分为多个区间;确定每个区间的中位时间点;基于第一个请求周期内的中位时间点对应的接收到的请求数量和预设区间大小,确定服务节点在当前请求接收周期对应区间中每个时间点接收的请求数量。
9、本技术实施例中,第一时间和第二时间的时间差大于或等于第一个请求接收周期的时间长度,表明服务节点长时间处于高负荷的状态,此时通过降低当前请求接收周期内接收的请求数量,减轻服务节点的负载压力,提高服务节点的稳定性,以此提高服务节点处理请求的稳定性。
10、在一些实施例中,该方法还包括:若第一时间和第二时间的时间差小于第一个请求接收周期的时间长度,则获取资源利用率在小于第二预设利用率阈值之前最后一次下降至第四预设利用率阈值以下的第三时间;第四预设利用率阈值大于第二预设利用率阈值,小于第三预设利用率阈值;基于第一时间、第二时间、第三时间和第一个请求接收周期内接收的请求数量生成服务节点的请求接收策略。
11、本技术实施例在第一时间和第二时间的时间差小于第一个请求接收周期的时间长度,基于第一时间、第二时间、第三时间和第一个请求接收周期内接收的请求数量生成服务节点的请求接收策略,使得生成的请求接收策略是基于服务节点处理请求的实际情况生成的,从而能更有效的控制接收的请求,提高服务节点的稳定性,以此提高服务节点处理请求的稳定性。
12、在一些实施例中,基于第一时间、第二时间、第三时间和第一个请求接收周期内接收的请求数量生成服务节点的请求接收策略,包括:将开始时间和第三时间的中心时间点作为第一中点;第一时间和第二时间的中心时间点作为第二中点;若第二中点与第一中点的绝对差值小于预设阈值;则基于第二中点、开始时间、结束时间和第三时间确定控制点;以控制点为中心,确定控制点在第一个请求接收周期中预设时间长度内接收的第一请求数量;将第一请求数量乘以预设比例,获得以控制点为中心,当前请求接收周期内预设时间长度内接收的请求数量。
13、本技术实施例在第一时间和第二时间的时间差小于第一个请求接收周期的时间长度时,计算控制点,并在当前请求接收周期内,只降低控制点附近的时间区域接收的请求数量,从而在最大程度利用服务节点资源的基础上,提高服务节点处理请求的稳定性。
14、在一些实施例中,该方法还包括:若最新统计的资源利用率在小于第二预设利用率阈值之前不存在大于或等于第一预设利用率阈值的情况,则将第一个请求接收周期内接收的请求数量乘以预设倍数获得当前请求接收周期接收的请求数量。
15、本技术实施例中,在第一个请求接收周期接收请求后,若服务节点处理请求的过程中,其资源利用率始终不存在大于或等于第一预设利用率阈值的情况,表明服务节点的资源利用率一直存在空闲,因此,在当前请求接收周期可以增加接收的请求数量,以最大化利用服务节点的资源的情况下,提高服务节点处理请求的稳定性。
16、在一些实施例中,执行防御策略,包括:向上游调用方返回预设提示消息,以使上游调用方基于预设提示消息稍后重新发起请求;以及,若服务节点的内存中存在还未进行处理的待处理请求,将待处理请求进行删除。
17、本技术实施例通过执行防御策略避免还未处理的请求或者接收新的请求再对服务节点造成压力,以此对服务节点进行保护,提高服务节点的稳定性,以此提高服务节点处理请求的稳定性。
18、在一些实施例中,根据请求接收策略对接收的请求进行控制,包括:若上游调用方下发的请求数量大于请求接收策略中的请求数量,则基于请求处理过程中的资源利用率生成下一个请求接收周期的请求接收策略,直至最新统计的资源利用率小于第五预设利用率阈值,且下一个请求接收周期内上游调用方下发的请求数量小于或等于对应请求接收周期的请求接收策略中的请求数量,接收上游调用方下发的所有请求。
19、本技术实施例在上游调用方下发的请求数量大于请求接收策略中的请求数量时,迭代生成请求接收策略,直至服务节点资源利用率小于第五预设利用率阈值,且上游调用方下发的请求数量小于请求接收策略中的请求数量为止,使得最大化利用服务节点资源的情况下,维持服务节点的稳定性,以此提高服务节点处理请求的稳定性。
20、第二方面,本技术实施例提供一种请求控制装置,该装置包括:统计模块,用于按预设时间间隔统计资源利用率;执行模块,用于若资源利用率不小于第一预设利用率阈值,则执行防御策略;防御策略表征服务节点不再接收请求,并只对正在处理的请求继续处理;生成模块,用于基于防御策略执行过程中统计到的资源利用率的变化情况生成服务节点的请求接收策略;请求接收策略表征在一个请求接收周期内服务节点接收请求的数量;控制模块,用于根据请求接收策略对接收的请求进行控制。
21、第三方面,本技术实施例提供一种电子设备,包括:处理器、存储器、存储介质和总线,其中,所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面的方法步骤。
22、第四方面,本技术实施例提供一种非暂态计算机可读存储介质,包括:所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的方法步骤。
23、第五方面,本技术实施例提供一种计算机程序产品,包括:计算机程序,所述计算机程序被处理器运行时执行第一方面的方法步骤。
24、本技术的有益效果如下:
25、本技术通过按照预设时间间隔统计资源利用率,以了解服务节点的实时状态,并在资源利用率大于第一预设利用率阈值时,执行防御策略,使得服务节点不再接收新请求,并只对正在处理的请求进行处理,以避免新请求的进入对服务节点造成压力,从而提高了服务节点处理请求的稳定性。进一步,根据防御策略执行过程中统计到的资源利用率的变化情况生成的服务节点的请求接收策略对接收的请求进行控制,使服务节点的资源得到充分利用的情况下避免出现崩溃的现象,提高服务节点的稳定性,以此提高服务节点处理请求的稳定性。
26、本技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术实施例了解。
1.一种请求控制方法,其特征在于,所述方法应用于服务节点,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述防御策略执行过程中统计到的资源利用率的变化情况生成所述服务节点的请求接收策略,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一个请求接收周期的时间长度和处理请求过程中的资源利用率生成所述服务节点的请求接收策略,包括:
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一个请求接收周期内接收的请求数量生成所述服务节点的请求接收策略,包括:
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述基于所述第一时间、所述第二时间、所述第三时间和所述第一个请求接收周期内接收的请求数量生成所述服务节点的请求接收策略,包括:
7.根据权利要求3所述的方法,其特征在于,所述方法还包括:
8.根据权利要求1所述的方法,其特征在于,所述执行防御策略,包括:
9.根据权利要求1-8任一所述的方法,其特征在于,所述根据所述请求接收策略对接收的请求进行控制,包括:
10.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如权利要求1至9任一所述的方法。
11.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至9任一所述的方法。
12.一种计算机程序产品,其特征在于,包括:计算机程序,所述计算机程序被处理器运行时执行如权利要求1至9任一所述的方法。
