一种系统限流方法、装置、设备、介质及程序产品与流程

未命名 08-15 阅读:112 评论:0


1.本发明涉及分布式技术领域,特别涉及一种系统限流方法、装置、设备、介质及程序产品。


背景技术:

2.互联网应用场景中,应用服务器可能收到不可预期的访问请求,比如营销活动裂变带来的突发流量。但每个系统都是有服务上限的,当流量超过系统服务极限能力时,系统将会出现卡死、崩溃的情况,如何保护系统不被高并发访问击穿,甚至造成雪崩引起关联系统故障成为一个研究课题。
3.为了保证系统的稳定性和可用性,在高并发或者瞬时高并发的情况下,可以采用限流策略来限制进入系统的流量。相关技术也提供了一些限流策略,例如,令牌桶算法。但是该算法中限流参数一旦确定就无法调整。如果该限流参数使得流量限制太大,则分布式系统承受不住,如果该限流参数使得流量限制太小,则分布式系统中服务器的性能得不到充分发挥,并且每台服务器的硬件条件存在差异性,将一套令牌桶的限流参数应用在不同的服务器上显然是不合适的。
4.此外,相关技术还提出通过定时获取服务器的中央处理单元(central processingunit,cpu)和内存的使用情况进行限流参数动态调整的限流策略。但是该策略对于系统的性能瓶颈仅观察cpu和内存情况,对于非cpu密集型计算的应用服务器以及非阻塞式输入输出(non-blockinginput/output,nio)处理模式的应用服务器效果不好,尤其是在容器化部署越来越多的情况下,该性能监控指标过于单一;另外,该策略聚焦于单个服务器的性能,无法从分布式系统全局角度考虑限流策略,而从分布式系统整体考虑,单个服务器性能并不能反应整体负载情况,导致针对分布式系统的限流效果不佳;并且,该策略也无法应对单服务器性能指标正常,但是分布式环境下后置关联系统性能出现问题的情况。


技术实现要素:

5.针对现有技术的上述问题,本发明的目的在于提供一种系统限流方法、装置、设备、介质及程序产品,能够实现对目标系统的入访流量及出访流量的动态限制,在有效保障目标系统稳定性的同时对关联系统也进行保护。
6.为了解决上述问题,本发明提供一种系统限流方法,包括:
7.获取目标系统的服务处理性能数据,所述服务处理性能数据用于表征所述目标系统对服务请求的处理能力,所述服务处理性能数据包括请求响应时间和请求成功率中的一项或者多项;
8.获取所述目标系统的第一限流参数,所述第一限流参数用于限制进入所述目标系统的流量;
9.基于所述服务处理性能数据对所述第一限流参数进行调整,以使得调整后的第一限流参数与所述目标系统对服务请求的处理能力相匹配。
10.进一步地,所述基于所述服务处理性能数据对所述第一限流参数进行调整包括:
11.获取所述服务处理性能数据对应的第一基准数据,所述第一基准数据基于所述目标系统在第一时间段内的历史服务处理性能数据确定;
12.计算所述服务处理性能数据相对于所述第一基准数据的第一变化率;
13.根据所述第一变化率确定所述第一限流参数的调整策略;
14.基于所述第一限流参数的调整策略对所述第一限流参数进行调整,得到调整后的第一限流参数。
15.进一步地,所述根据所述第一变化率确定所述第一限流参数的调整策略包括:
16.确定所述第一变化率所处的阈值范围;
17.根据所述第一变化率所处的阈值范围确定所述第一限流参数的调整阈值。
18.本发明另一方面提供一种系统限流方法,包括:
19.获取目标系统的外呼响应数据,所述外呼响应数据用于表征所述目标系统的关联系统对服务请求的处理能力,所述外呼响应数据包括外呼响应时间和外呼成功率中的一项或者多项;
20.获取所述目标系统的第二限流参数,所述第二限流参数用于限制所述目标系统出访所述关联系统的流量;
21.基于所述外呼响应数据对所述第二限流参数进行调整,以使得调整后的第二限流参数与所述关联系统对服务请求的处理能力相匹配。
22.进一步地,所述基于所述外呼响应数据对所述第二限流参数进行调整包括:
23.获取所述外呼响应数据对应的第二基准数据,所述第二基准数据基于所述目标系统在第二时间段内的历史外呼响应数据确定;
24.计算所述外呼响应数据相对于所述第二基准数据的第二变化率;
25.根据所述第二变化率确定所述第二限流参数的调整策略;
26.基于所述第二限流参数的调整策略对所述第二限流参数进行调整,得到调整后的第二限流参数。
27.进一步地,所述方法还包括:
28.获取所述目标系统的系统性能数据,所述系统性能数据用于表征所述目标系统的资源使用情况,所述系统性能数据包括cpu使用率、内存使用率和系统负载中的一项或者多项;
29.基于所述系统性能数据对所述第二限流参数进行调整,以使得调整后的第二限流参数与所述目标系统的资源使用情况相匹配。
30.进一步地,所述基于所述系统性能数据对所述第二限流参数进行调整包括:
31.确定所述系统性能数据所处的阈值范围;
32.根据所述系统性能数据所处的阈值范围确定所述第二限流参数的调整策略;
33.基于所述第二限流参数的调整策略对所述第二限流参数进行调整,得到调整后的第二限流参数。
34.本发明另一方面提供一种系统限流装置,包括:
35.第一数据获取模块,用于获取目标系统的服务处理性能数据,所述服务处理性能数据用于表征所述目标系统对服务请求的处理能力,所述服务处理性能数据包括请求响应
时间和请求成功率中的一项或者多项;
36.第一参数获取模块,用于获取所述目标系统的第一限流参数,所述第一限流参数用于限制进入所述目标系统的流量;
37.第一调整模块,用于基于所述服务处理性能数据对所述第一限流参数进行调整,以使得调整后的第一限流参数与所述目标系统对服务请求的处理能力相匹配。
38.本发明另一方面提供一种系统限流装置,包括:
39.第二数据获取模块,用于获取目标系统的外呼响应数据,所述外呼响应数据用于表征所述目标系统的关联系统对服务请求的处理能力,所述外呼响应数据包括外呼响应时间和外呼成功率中的一项或者多项;
40.第二参数获取模块,用于获取所述目标系统的第二限流参数,所述第二限流参数用于限制所述目标系统出访所述关联系统的流量;
41.第二调整模块,用于基于所述外呼响应数据对所述第二限流参数进行调整,以使得调整后的第二限流参数与所述关联系统对服务请求的处理能力相匹配。
42.本发明另一方面提供一种电子设备,包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上述的系统限流方法。
43.本发明另一方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上述的系统限流方法。
44.本发明另一方面提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上述的系统限流方法的步骤。
45.由于上述技术方案,本发明具有以下有益效果:
46.根据本发明实施例的系统限流方法,通过基于目标系统的服务处理性能数据,对用于限制进入所述目标系统的流量的第一限流参数进行调整,使得调整后的第一限流参数与所述目标系统对服务请求的处理能力相匹配,该方法从系统全局角度考虑限流策略,实现了对目标系统的入访流量的动态限制,使得限流发生时,入访流量的限流参数不再是固定设置,而是与目标系统的处理能力相关,从而有效保障了目标系统的稳定性。
47.根据本发明实施例的系统限流方法,通过基于目标系统的外呼响应数据和/或系统性能数据,对用于限制所述目标系统出访关联系统的流量的第二限流参数进行调整,使得调整后的第二限流参数与所述关联系统对服务请求的处理能力和/或所述目标系统的资源使用情况相匹配,该方法通过基于更全面的核心限流指标,动态调整目标系统出访流量的限流参数,实现了对目标系统的出访流量的动态限制,能够在保护目标系统的同时对关联系统也进行保护。
48.并且,根据本发明实施例的系统限流方法,通过针对入访流量和出访流量两个方向进行检测限流,能够更加全面保障自身系统,防止雪崩效应发生,并且相比于传统的入访限流更能保护关联系统。
附图说明
49.为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要
使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
50.图1是本发明一个实施例提供的实施环境示意图;
51.图2是本发明一个实施例提供的系统限流方法的流程图;
52.图3是本发明另一个实施例提供的系统限流方法的流程图;
53.图4是本发明另一个实施例提供的系统限流方法的流程图;
54.图5是本发明另一个实施例提供的系统限流方法的流程图;
55.图6是本发明另一个实施例提供的系统限流方法的流程图;
56.图7是本发明一个实施例提供的系统限流装置的结构示意图;
57.图8是本发明另一个实施例提供的系统限流装置的结构示意图;
58.图9是本发明一个实施例提供的电子设备的结构示意图。
具体实施方式
59.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
60.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
61.为了使本发明实施例公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明实施例进行进一步详细说明。本发明实施例的技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
62.应当理解,此处描述的具体实施例仅仅用以解释本发明实施例,并不用于限定本发明实施例。首先,本发明实施例对下述概念进行解释:
63.系统限流:系统限流是一种保护系统的主动防御方式,通过服务降级限制系统的流量接入,保证在高并发的场景下系统能稳定提供服务。
64.系统负载(loadaverage):在linux系统中,系统负载是对cpu工作量的度量,主要受cpu使用、内存使用、输入输出(input/output,io)三部分影响,是特定时间范围内系统运行队列中的平均线程数。
65.令牌:用于控制系统访问的资源,要让系统成功受理请求必须先获得令牌,获取不到令牌的请求无法及时响应,进入限流后置处理流程。
66.外呼:请求非本系统范围内的服务定义为外呼,比如请求第三方系统的服务。
67.参考说明书附图1,其示出了本发明一个实施例提供的系统限流方法的实施环境
示意图,如图1所示,该实施环境可以至少包括应用程序编程接口(applicationprogramminginterface,api)网关110、至少一个应用服务120和限流策略中心130。所述限流策略中心130和所述api网关110、所述至少一个应用服务120可以通过有线或无线通信方式进行直接或间接地通信连接,本发明实施例对此不做限制。
68.其中,所述api网关110可以用于控制入访流量,通过接受所述限流策略中心130下发的限流策略生成微服务、微服务下具体请求路径的入访令牌。具体地,所述api网关110可以包括第一指标采集器111、请求拦截器112、第一限流处理器113和入访令牌发生器114,服务请求在路由到微服务前进入所述请求拦截器112进行令牌获取,成功获取到访问令牌则继续向下路由转发,如果未成功获取到令牌,可以进入所述第一限流处理器113,进行排队或者直接丢弃请求。所述第一指标采集器111可以定时采集系统的服务处理性能数据,包括但不限于请求响应时间和请求成功率中的一项或者多项,并将采集的服务处理性能数据集中发送至所述限流策略中心130。
69.其中,所述应用服务120作为应用逻辑提供方,可以接受从所述api网关110转发过来的服务请求。所述应用服务120自身入访流量的保护由所述api网关110提供,而出访关联系统的流量保护由所述应用服务120提供。具体地,所述应用服务120可以包括第二指标采集器121、外呼拦截器122、第二限流处理器123和出访令牌发生器124,外呼请求在发送至关联系统前进入所述外呼拦截器122进行令牌获取,成功获取到访问令牌则继续发送,如果未成功获取到令牌,可以进入所述第二限流处理器123,进行排队或者直接丢弃请求。
70.与api网关不同,所述应用服务120不一定能获取到关联系统的cpu使用率、内存使用率、系统负载等性能指标,因此可以从系统的外呼响应时间和外呼成功率等维度进行指标采集,用于表征所述关联系统对服务请求的处理能力。即所述第二指标采集器121可以定时采集系统的外呼响应数据,包括但不限于外呼响应时间和外呼成功率中的一项或者多项,并将采集的外呼响应数据集中发送至所述限流策略中心130。
71.其中,所述限流策略中心130作为集中式的限流策略中心,用于完成指标数据收集、限流参数计算、限流参数分发等任务。所述限流策略中心130可以包括指标收集器131、限流参数计算器132和参数分发器133,所述指标收集器131可以接收所述第一指标采集器111发送的服务处理性能数据和所述第二指标采集器121发送的外呼响应数据,所述限流参数计算器132可以基于所述服务处理性能数据和所述外呼响应数据,与当前基准指标值进行计算,推算是否调整限流参数。在需要调整限流参数的情况下,可以采用本发明实施例提供的方法对限流参数进行调整,并通过所述参数分发器133将调整后的限流参数发送至所述api网关110和/或所述应用服务120。所述入访令牌发生器114和/或所述出访令牌发生器124可以根据接收到的对应的限流参数调整令牌发放数量或者令牌发放速率等信息。
72.在一个可能的实施例中,所述第二指标采集器121还可以定时采集系统的系统性能数据,包括但不限于cpu使用率、内存使用率和系统负载中的一项或者多项,并将采集的系统性能数据集中发送至所述限流策略中心130。所述指标收集器131还可以接收所述第二指标采集器121发送的系统性能数据,所述限流参数计算器132还可以基于所述系统性能数据确定是否调整限流参数。在需要调整限流参数的情况下,可以采用本发明实施例提供的方法对限流参数进行调整,并通过所述参数分发器133将调整后的限流参数发送至所述应用服务120。
73.需要说明的是,图1仅仅是一种示例。本领域技术人员可以理解,虽然图1中只示出了1个应用服务120,但并不构成对本发明实施例的限定,可以包括比图示更多或更少的应用服务120。
74.下面先对本发明实施例提供的入访流量的限流方法进行详细描述。
75.参考说明书附图2,其示出了本发明一个实施例提供的一种系统限流方法的流程,该方法可以应用于图1中的限流策略中心中,具体的如图2所示,所述方法可以包括以下步骤:
76.s210:获取目标系统的服务处理性能数据,所述服务处理性能数据用于表征所述目标系统对服务请求的处理能力,所述服务处理性能数据包括请求响应时间和请求成功率中的一项或者多项。
77.本发明实施例中,所述目标系统可以为单服务器的系统,也可以为分布式系统,所述目标系统可以为非cpu密集型计算的系统,也可以为nio处理模式的系统,本发明实施例对此不做具体限制。
78.本发明实施例中,所述服务处理性能数据可以包括但不限于请求响应时间和请求成功率等可以表征目标系统对请求本系统范围内的服务的服务请求的处理能力的数据,所述请求成功率可以为周期时间内的请求成功率。所述周期时间可以根据实际需要进行预先设置,例如可以设置为1小时、30分钟等,本发明实施例对此不做具体限制。具体地,请求响应时间越短、请求成功率越高表明目标系统对服务请求的处理能力越好,请求响应时间越长、请求成功率越低表明目标系统对服务请求的处理能力越差。
79.可选地,结合参考说明书附图3,可以由api网关定时采集所述目标系统的服务处理性能数据,并将采集到的服务处理性能数据发送至所述限流策略中心。示例性地,所述api网关可以在一个周期结束时,获取所述周期时间内请求成功的服务请求的数量,以及所有服务请求的数量,并通过(请求成功的服务请求的数量)
÷
(所有服务请求的数量)计算得到请求成功率发送至所述限流策略中心。
80.s220:获取所述目标系统的第一限流参数,所述第一限流参数用于限制进入所述目标系统的流量。
81.本发明实施例中,所述第一限流参数可以存储在所述限流策略中心,当获取到所述服务处理性能数据后,可以直接读取所述目标系统的第一限流参数。所述第一限流参数可以包括但不限于入访令牌的发放数量、入访令牌的发放速率等参数。
82.在一个可能的实施例中,所述第一限流参数也可以由api网关发送至所述限流策略中心。例如,api网关可以在发送所述服务处理性能数据的同时,将所述目标系统当前的第一限流参数一起发送至所述限流策略中心。
83.s230:基于所述服务处理性能数据对所述第一限流参数进行调整,以使得调整后的第一限流参数与所述目标系统对服务请求的处理能力相匹配。
84.本发明实施例中,可以基于所述服务处理性能数据,判断所述目标系统的第一限流参数是否匹配于所述目标系统对服务请求的处理能力。若匹配,则不做调整;若不匹配,则调整所述第一限流参数,以使得所述第一限流参数匹配于所述目标系统对服务请求的处理能力。例如,所述目标系统对服务请求的处理能力较好,而所述第一限流参数小,则两者不匹配,可以增大所述第一限流参数;所述目标系统对服务请求的处理能力较差,而所述第
一限流参数大,则两者也不匹配,可以减小所述第一限流参数。
85.在一个可能的实施例中,所述基于所述服务处理性能数据对所述第一限流参数进行调整可以包括:获取所述服务处理性能数据对应的第一基准数据,所述第一基准数据基于所述目标系统在第一时间段内的历史服务处理性能数据确定;计算所述服务处理性能数据相对于所述第一基准数据的第一变化率;根据所述第一变化率确定所述第一限流参数的调整策略;基于所述第一限流参数的调整策略对所述第一限流参数进行调整,得到调整后的第一限流参数。
86.具体地,可以获取所述目标系统在第一时间段内的历史服务处理性能数据,并计算得到历史服务处理性能数据的平均值,作为第一基准数据。其中,所述第一时间段可以根据实际需要进行预先设置,例如可以设置为1周、1天等,还可以设置为1周内的工作日、休息日等,本发明实施例对此不做具体限制。第一变化率的计算过程可以参考现有技术,本发明实施例在此不再赘述。
87.可以理解,本发明实施例通过基于请求响应时间、请求成功率等服务处理性能指标以及历史规律等多维度指标综合进行入访限流,能够使得调整后的第一限流参数更加符合目标系统自身的运行状况,从而充分发挥自身系统的服务能力。
88.具体地,可以基于所述第一变化率以及所述服务处理性能数据的类型确定一个调整阈值,并基于所述调整阈值对所述第一限流参数进行调整。可以理解,当所述服务处理性能数据的类型不同时,基于相同的第一变化率可以得到相同的调整阈值,也可以得到不同的调整阈值。
89.在一个可能的实施例中,所述根据所述第一变化率确定所述第一限流参数的调整策略可以包括:确定所述第一变化率所处的阈值范围;根据所述第一变化率所处的阈值范围确定所述第一限流参数的调整阈值。
90.具体地,针对不同类型的服务处理性能数据,可以预先设置所述第一变化率所处的阈值范围与所述调整阈值之间的对应关系,在确定所述第一变化率所处的阈值范围后,可以根据所述服务处理性能数据的类型对应的对应关系确定与所述阈值范围对应的调整阈值,作为所述第一限流参数的调整阈值。此后,可以根据所述调整阈值来对所述第一限流参数进行调整。
91.例如,在服务处理性能数据为请求响应时间的情况下,当请求响应时间相对于基准请求响应时间(作为第一基准数据的一个实例)的增长率(作为第一变化率的一个实例)不超过20%时,不调整所述第一限流参数;当请求响应时间相对于基准请求响应时间的增长率超过20%但不超过50%时,降低所述第一限流参数值10%(即调整阈值为-10%);当请求响应时间相对于基准请求响应时间的增长率超过50%但不超过100%时,降低所述第一限流参数值20%;当请求响应时间相对于基准请求响应时间的增长率超过100%但不超过150%时,降低所述第一限流参数值50%;当请求响应时间相对于基准请求响应时间的增长率超过150%时,降低所述第一限流参数值80%。相应地,当请求响应时间恢复时,也可以按照规则反向提高所述第一限流参数值。
92.又例如,在服务处理性能数据为请求成功率的情况下,当周期时间内请求成功率相对于基准请求成功率(作为第一基准数据的另一个实例)的下降率(作为第一变化率的另一个实例)不超过20%时,降低所述第一限流参数值40%(即调整阈值为-40%);当周期时
间内请求成功率相对于基准请求成功率的下降率超过20%但不超过50%时,降低所述第一限流参数值80%;当周期时间内请求成功率相对于基准请求成功率的下降率超过50%但不超过80%时,降低所述第一限流参数值90%;当周期时间内请求成功率相对于基准请求成功率的下降率超过80%时,降低所述第一限流参数值100%。相应地,当请求成功率恢复时,也可以按照规则反向提高所述第一限流参数值。
93.具体地,在确定所述第一限流参数的调整阈值后,可以根据所述第一限流参数以及所述调整阈值计算得到调整后的第一限流参数。
94.在一个可能的实施例中,结合参考说明书附图3,所述步骤s230之后还可以包括将所述调整后的第一限流参数发送至所述api网关的步骤。
95.可以理解,本发明实施例通过基于api网关限制系统入访流量,进行入访保护,能够从系统全局角度考虑限流策略,避免出现单服务器性能指标正常但整体系统性能指标异常的状况。
96.在一个可能的实施例中,还可以预先设置一个第一最大限流参数值和一个第一最小限流参数值,当计算得到的调整后的第一限流参数大于或等于所述第一最小限流参数值,并且小于或等于所述第一最大限流参数值时,可以将计算得到的调整后的第一限流参数作为最终的第一限流参数;当计算得到的调整后的第一限流参数小于所述第一最小限流参数值时,可以将所述第一最小限流参数值作为最终的第一限流参数;当计算得到的调整后的第一限流参数大于所述第一最大限流参数值时,可以将第一最大限流参数值作为最终的第一限流参数。其中,所述第一最大限流参数值和所述第一最小限流参数值可以根据系统性能进行预先设置,本发明实施例对此不做具体限制。
97.相应地,所述步骤s230之后还可以包括将最终的第一限流参数发送至所述api网关的步骤。
98.可以理解,本发明实施例通过预先设置最大限流参数和最小限流参数,能够保证所述第一限流参数始终处于合理的范围内,从而进一步保证目标系统的稳定性。
99.在一个可能的实施例中,所述目标系统中可以包括多条请求路径,因此所述服务处理性能数据可以包括多条请求路径对应的请求响应时间和/或请求成功率,所述第一限流参数也可以包括多条请求路径对应的第一限流参数。对于每条请求路径对应的第一限流参数,可以分别采用图2所示实施例提供的限流方法进行调整。
100.需要说明的是,当所述服务处理性能数据包括多种类型的数据时,可以采用图2所示实施例提供的限流方法先后对所述第一限流参数进行调整,得到调整后的第一限流参数。例如,当所述服务处理性能数据包括请求响应时间和请求成功率时,可以先基于请求响应时间对所述第一限流参数进行调整,再基于所述请求成功率对基于请求响应时间调整后的所述第一限流参数再次进行调整,从而得到调整后的第一限流参数。
101.需要说明的是,本发明实施例提供的系统限流方法可以单独进行,也可以在基于目标系统的系统性能数据进行参数调整的基础上进行,本发明实施例对此不做限制。可以理解,对于非cpu密集型的系统以及nio处理模式的系统,本发明实施例提供的系统限流方法的限流效果明显优于现有技术中基于系统性能数据进行参数调整的限流方法。
102.综上所述,根据本发明实施例的系统限流方法,通过基于目标系统的服务处理性能数据,对用于限制进入所述目标系统的流量的第一限流参数进行调整,使得调整后的第
一限流参数与所述目标系统对服务请求的处理能力相匹配,该方法从系统全局角度考虑限流策略,实现了对目标系统的入访流量的动态限制,使得限流发生时,入访流量的限流参数不再是固定设置,而是与目标系统的处理能力相关,从而有效保障了目标系统的稳定性。
103.为了降低分布式环境下后置关联系统性能出现问题对目标系统的影响,同时对关联系统也进行保护,本发明实施例还提供一种对出访流量进行限制的限流方法。下面对本发明实施例提供的出访流量的限流方法进行详细描述。
104.参考说明书附图4,其示出了本发明另一个实施例提供的一种系统限流方法的流程,该方法可以应用于图1中的限流策略中心中,具体的如图4所示,所述方法可以包括以下步骤:
105.s410:获取目标系统的外呼响应数据,所述外呼响应数据用于表征所述目标系统的关联系统对服务请求的处理能力,所述外呼响应数据包括外呼响应时间和外呼成功率中的一项或者多项。
106.本发明实施例中,由于不一定能获取到关联系统的cpu使用率、内存使用率、系统负载等性能指标,因此可以利用目标系统的外呼响应时间和外呼成功率等维度来表征关联系统对服务请求的处理能力。即所述外呼响应数据可以包括但不限于外呼响应时间和外呼成功率等可以表征关联系统对服务请求的处理能力的数据,所述外呼成功率也可以为周期时间内的请求成功率。其中,所述周期时间也可以根据实际需要进行预先设置,例如可以设置为1小时、30分钟等,本发明实施例对此不做具体限制。具体地,外呼响应时间越短、外呼成功率越高表明关联系统对服务请求的处理能力越好,外呼响应时间越长、外呼成功率越低表明关联系统对服务请求的处理能力越差。
107.可选地,结合参考说明书附图5,可以由应用服务定时采集所述目标系统的外呼响应数据,并将采集到的外呼响应数据发送至所述限流策略中心。示例性地,所述应用服务可以在一个周期结束时,获取所述周期时间内外呼成功的服务请求的数量,以及所有外呼请求的数量,并通过(外呼成功的服务请求的数量)
÷
(所有外呼请求的数量)计算得到外呼成功率发送至所述限流策略中心。
108.s420:获取所述目标系统的第二限流参数,所述第二限流参数用于限制所述目标系统出访所述关联系统的流量。
109.本发明实施例中,所述第二限流参数可以存储在所述限流策略中心,当获取到所述外呼响应数据后,可以直接读取所述目标系统的第二限流参数。所述第二限流参数可以包括但不限于出访令牌的发放数量、出访令牌的发放速率等参数。
110.在一个可能的实施例中,所述第二限流参数也可以由应用服务发送至所述限流策略中心。例如,应用服务可以在发送所述外呼响应数据的同时,将所述目标系统当前的第二限流参数一起发送至所述限流策略中心。
111.s430:基于所述外呼响应数据对所述第二限流参数进行调整,以使得调整后的第二限流参数与所述关联系统对服务请求的处理能力相匹配。
112.本发明实施例中,可以基于所述外呼响应数据,判断所述目标系统的第二限流参数是否匹配于所述关联系统对服务请求的处理能力。若匹配,则不做调整;若不匹配,则调整所述第二限流参数,以使得所述第二限流参数匹配于所述关联系统对服务请求的处理能力。例如,所述关联系统对服务请求的处理能力较好,而所述第二限流参数小,则两者不匹
配,可以增大所述第二限流参数;所述关联系统对服务请求的处理能力较差,而所述第二限流参数大,则两者也不匹配,可以减小所述第二限流参数。
113.在一个可能的实施例中,所述基于所述外呼响应数据对所述第二限流参数进行调整可以包括:获取所述外呼响应数据对应的第二基准数据,所述第二基准数据基于所述目标系统在第二时间段内的历史外呼响应数据确定;计算所述外呼响应数据相对于所述第二基准数据的第二变化率;根据所述第二变化率确定所述第二限流参数的调整策略;基于所述第二限流参数的调整策略对所述第二限流参数进行调整,得到调整后的第二限流参数。
114.具体地,可以获取所述目标系统在第二时间段内的历史外呼响应数据,并计算得到历史外呼响应数据的平均值,作为第二基准数据。其中,所述第二时间段也可以根据实际需要进行预先设置,例如可以设置为1周、1天等,还可以设置为1周内的工作日、休息日等,本发明实施例对此不做具体限制。第二变化率的计算过程可以参考现有技术,本发明实施例在此不再赘述。
115.可以理解,本发明实施例通过从关联系统的运行状况的角度出发,基于目标系统的外呼响应时间、外呼成功率等外呼响应数据指标以及历史规律等多维度指标综合进行出访限流,能够使得调整后的第二限流参数更加符合关联系统的运行状况,从而实现对关联系统的保护,降低关联系统的雪崩风险。
116.具体地,可以基于所述第二变化率以及所述外呼响应数据的类型确定一个调整阈值,并基于所述调整阈值对所述第二限流参数进行调整。可以理解,当所述外呼响应数据的类型不同时,基于相同的第二变化率可以得到相同的调整阈值,也可以得到不同的调整阈值。
117.具体地,针对不同类型的外呼响应数据,可以预先设置所述第二变化率所处的阈值范围与所述调整阈值之间的对应关系,在确定所述第二变化率所处的阈值范围后,可以根据所述外呼响应数据的类型对应的对应关系确定与所述阈值范围对应的调整阈值,作为所述第二限流参数的调整阈值。此后,可以根据所述调整阈值来对所述第二限流参数进行调整。
118.例如,在外呼响应数据为外呼响应时间的情况下,当外呼响应时间相对于基准外呼响应时间(作为第二基准数据的一个实例)的增长率(作为第二变化率的一个实例)不超过20%时,不调整所述第二限流参数;当外呼响应时间相对于基准外呼响应时间的增长率超过20%但不超过50%时,降低所述第二限流参数值10%(即调整阈值为-10%);当外呼响应时间相对于基准外呼响应时间的增长率超过50%但不超过100%时,降低所述第二限流参数值20%;当外呼响应时间相对于基准外呼响应时间的增长率超过100%但不超过150%时,降低所述第二限流参数值50%;当外呼响应时间相对于基准外呼响应时间的增长率超过150%时,降低所述第二限流参数值80%。相应地,当外呼响应时间恢复时,也可以按照规则反向提高所述第二限流参数值。
119.具体地,在确定所述第二限流参数的调整阈值后,可以根据所述第二限流参数以及所述调整阈值计算得到调整后的第二限流参数。
120.在一个可能的实施例中,结合参考说明书附图5,所述步骤s430之后还可以包括将所述调整后的第二限流参数发送至所述应用服务的步骤。
121.在一个可能的实施例中,还可以预先设置一个第二最大限流参数值和一个第二最
小限流参数值,当计算得到的调整后的第二限流参数大于或等于所述第二最小限流参数值,并且小于或等于所述第二最大限流参数值时,可以将计算得到的调整后的第二限流参数作为最终的第二限流参数;当计算得到的调整后的第二限流参数小于所述第二最小限流参数值时,可以将所述第二最小限流参数值作为最终的第二限流参数;当计算得到的调整后的第二限流参数大于所述第二最大限流参数值时,可以将第二最大限流参数值作为最终的第二限流参数。其中,所述第二最大限流参数值和所述第二最小限流参数值可以根据系统性能进行预先设置,本发明实施例对此不做具体限制。
122.相应地,所述步骤s430之后还可以包括将最终的第二限流参数发送至所述应用服务的步骤。
123.可以理解,本发明实施例通过预先设置最大限流参数和最小限流参数,能够保证所述第二限流参数也始终处于合理的范围内,从而进一步保证目标系统的稳定性。
124.在一个可能的实施例中,所述目标系统中可以包括多条请求路径,因此所述外呼响应数据可以包括多条请求路径对应的外呼响应时间和/或外呼成功率,所述第二限流参数也可以包括多条请求路径对应的第二限流参数。对于每条请求路径对应的第二限流参数,可以分别采用图4所示实施例提供的限流方法进行调整。
125.需要说明的是,当所述外呼响应数据包括多种类型的数据时,可以采用图4所示实施例提供的限流方法先后对所述第二限流参数进行调整,得到调整后的第二限流参数。例如,当所述外呼响应数据包括外呼响应时间和外呼成功率时,可以先基于外呼响应时间对所述第二限流参数进行调整,再基于所述外呼成功率对基于外呼响应时间调整后的所述第二限流参数再次进行调整,从而得到调整后的第二限流参数。
126.可以理解,本发明实施例通过动态诊断外部关联系统运行情况进行出访流量的动态限制,使得限流发生时,出访流量的限流参数也不再是固定设置,而是与关联系统的性能相关,能够在保护目标系统的同时对关联系统也进行保护,有效应对分布式环境下自身系统性能指标正常,但后置关联系统性能出现问题的情况。
127.在一个可能的实施例中,结合参考说明书附图6,还可以根据所述目标系统的性能数据来调整所述第二限流参数。具体地,如图6所示,所述方法可以包括以下步骤:
128.s610:获取所述目标系统的系统性能数据,所述系统性能数据用于表征所述目标系统的资源使用情况,所述系统性能数据包括cpu使用率、内存使用率和系统负载中的一项或者多项。
129.本发明实施例中,所述系统性能数据可以包括但不限于cpu使用率、内存使用率和系统负载等可以表征目标系统的资源使用情况的数据。具体地,cpu使用率越高、内存使用率越高或系统负载越高表明资源占用率越高,表明所述目标系统的可用资源越少;cpu使用率越低、内存使用率越低或系统负载越低表明资源占用率越低,表明所述目标系统的可用资源越多。
130.本发明实施例中,分布式系统中部署有多个服务器,每个服务器的硬件可以相同,也可以不相同,本发明实施例对此不做限定。分布式系统中的每个服务器都会启动一个进程去监控硬件的cpu使用率、内存使用率和系统负载。
131.可选地,结合参考说明书附图5(如图5中虚线部分内容所示),可以由应用服务定时采集所述目标系统的系统性能数据,并将采集到的系统性能数据发送至所述限流策略中
心。
132.s620:获取所述目标系统的第二限流参数,所述第二限流参数用于限制所述目标系统出访所述关联系统的流量。
133.需要说明的是,所述步骤s620的具体内容可以参考图4所示实施例所提供的系统限流方法的具体内容,本发明实施例在此不再赘述。
134.s630:基于所述系统性能数据对所述第二限流参数进行调整,以使得调整后的第二限流参数与所述目标系统的资源使用情况相匹配。
135.本发明实施例中,可以基于所述系统性能数据,判断所述目标系统的第二限流参数是否匹配于所述目标系统的资源使用情况。若匹配,则不做调整;若不匹配,则调整所述第二限流参数,以使得所述第二限流参数匹配于所述目标系统的资源使用情况。例如,所述目标系统的资源占用率较低,而所述第二限流参数小,则两者不匹配,可以增大所述第二限流参数;所述目标系统的资源占用率较高,而所述第二限流参数大,则两者也不匹配,可以减小所述第二限流参数。
136.可以理解,本发明实施例通过从自身运行状况的角度出发,基于目标系统的cpu使用率、内存使用率和系统负载等性能指标进行出访流量的动态限制,能够使得调整后的第二限流参数符合目标系统的运行状况,从而进一步提高目标系统的稳定性。
137.在一个可能的实施例中,所述基于所述系统性能数据对所述第二限流参数进行调整可以包括:确定所述系统性能数据所处的阈值范围;根据所述系统性能数据所处的阈值范围确定所述第二限流参数的调整策略;基于所述第二限流参数的调整策略对所述第二限流参数进行调整,得到调整后的第二限流参数。
138.具体地,可以基于所述系统性能数据所处的阈值范围以及所述系统性能数据的类型确定一个调整阈值,并基于所述调整阈值对所述第二限流参数进行调整。
139.示例性的,针对不同类型的系统性能数据,可以预先设置所述系统性能数据所处的阈值范围与所述调整阈值之间的对应关系,在确定所述系统性能数据所处的阈值范围后,可以根据所述系统性能数据的类型对应的对应关系确定与所述阈值范围对应的调整阈值,作为所述第二限流参数的调整阈值。此后,可以根据所述调整阈值来对所述第二限流参数进行调整。
140.例如,在系统性能数据为cpu使用率的情况下,当cpu使用率超过80%不超过90%时,可以降低所述第二限流参数值20%(即调整阈值为-20%);当cpu使用率超过90%时,可以降低所述第二限流参数值50%。相应地,当cpu使用率不超过20%,可以增加所述第二限流参数值50%;当cpu使用率超过20%不超过40%时,可以增加所述第二限流参数值20%。
141.在一个可能的实施例中,所述目标系统中可以包括多个应用服务,因此所述系统性能数据可以包括多个应用服务对应的cpu使用率、内存使用率和/或系统负载,所述第二限流参数也可以包括多个应用服务对应的第二限流参数。对于每个应用服务对应的第二限流参数,可以分别采用图6所示实施例提供的限流方法进行调整。
142.需要说明的是,当所述系统性能数据包括多种类型的数据时,可以采用图6所示实施例提供的限流方法先后对所述第二限流参数进行调整,得到调整后的第二限流参数。例如,当所述系统性能数据包括cpu使用率和系统负载时,可以先基于cpu使用率对所述第二限流参数进行调整,再基于所述系统负载对基于cpu使用率调整后的所述第二限流参数再
次进行调整,从而得到调整后的第二限流参数。
143.需要说明的是,本发明实施例中其他具体内容可以参考图4所示实施例所提供的系统限流方法的具体内容,本发明实施例在此不再赘述。
144.可以理解,本发明实施例通过动态诊断目标系统运行情况进行出访流量的动态限制,使得限流发生时,出访流量的限流参数也不再是固定设置,而是与目标系统的性能相关,从而有效保障了目标系统的稳定性。
145.综上所述,根据本发明实施例的系统限流方法,通过基于目标系统的外呼响应数据和/或系统性能数据,对用于限制所述目标系统出访关联系统的流量的第二限流参数进行调整,使得调整后的第二限流参数与所述关联系统对服务请求的处理能力和/或所述目标系统的资源使用情况相匹配,该方法通过基于更全面的核心限流指标,动态调整目标系统出访流量的限流参数,实现了对目标系统的出访流量的动态限制,能够在保护目标系统的同时对关联系统也进行保护。
146.需要说明的是,图2所示实施例所提供的系统限流方法、图4所示实施例所提供的系统限流方法和图6所示实施例所提供的系统限流方法可以单独进行,也可以两两并行进行或者三者并行进行,本发明实施例对此不做限制。
147.参考说明书附图7,其示出了本发明一个实施例提供的一种系统限流装置700的结构。如图7所示,所述装置700可以包括:
148.第一数据获取模块710,用于获取目标系统的服务处理性能数据,所述服务处理性能数据用于表征所述目标系统对服务请求的处理能力,所述服务处理性能数据包括请求响应时间和请求成功率中的一项或者多项;
149.第一参数获取模块720,用于获取所述目标系统的第一限流参数,所述第一限流参数用于限制进入所述目标系统的流量;
150.第一调整模块730,用于基于所述服务处理性能数据对所述第一限流参数进行调整,以使得调整后的第一限流参数与所述目标系统对服务请求的处理能力相匹配。
151.参考说明书附图8,其示出了本发明另一个实施例提供的一种系统限流装置800的结构。如图8所示,所述装置800可以包括:
152.第二数据获取模块810,用于获取目标系统的外呼响应数据,所述外呼响应数据用于表征所述目标系统的关联系统对服务请求的处理能力,所述外呼响应数据包括外呼响应时间和外呼成功率中的一项或者多项;
153.第二参数获取模块820,用于获取所述目标系统的第二限流参数,所述第二限流参数用于限制所述目标系统出访所述关联系统的流量;
154.第二调整模块830,用于基于所述外呼响应数据对所述第二限流参数进行调整,以使得调整后的第二限流参数与所述关联系统对服务请求的处理能力相匹配。
155.在一个可能的实施例中,所述装置800还可以包括:
156.第三数据获取模块,用于获取所述目标系统的系统性能数据,所述系统性能数据用于表征所述目标系统的资源使用情况,所述系统性能数据包括cpu使用率和系统负载中的一项或者多项;
157.所述第二调整模块830,还用于基于所述系统性能数据对所述第二限流参数进行调整,以使得调整后的第二限流参数与所述目标系统的资源使用情况相匹配。
158.需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与相应方法实施例属于同一构思,其具体实现过程详见对应方法实施例,这里不再赘述。
159.本发明一个实施例还提供了一种电子设备,该电子设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的系统限流方法。
160.存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
161.结合参考说明书附图9,所示为根据本发明一个实施例的电子设备900的框图。电子设备900可以包括一个或多个处理器902,与处理器902中的至少一个连接的系统控制逻辑908,与系统控制逻辑908连接的系统内存904,与系统控制逻辑908连接的非易失性存储器(nvm)906,以及与系统控制逻辑908连接的网络接口910。
162.处理器902可以包括一个或多个单核或多核处理器。处理器902可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器,基带处理器等)的任何组合。在本文的实施例中,处理器902可以被配置为执行根据如图2至图6所示的各种实施例的一个或多个实施例。
163.在一些实施例中,系统控制逻辑908可以包括任意合适的接口控制器,以向处理器902中的至少一个和/或与系统控制逻辑908通信的任意合适的设备或组件提供任意合适的接口。
164.在一些实施例中,系统控制逻辑908可以包括一个或多个存储器控制器,以提供连接到系统内存904的接口。系统内存904可以用于加载以及存储数据和/或指令。在一些实施例中设备900的内存904可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器(dram)。
165.nvm/存储器906可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,nvm/存储器906可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如hdd(harddiskdrive,硬盘驱动器),cd(compactdisc,光盘)驱动器,dvd(digitalversatiledisc,数字通用光盘)驱动器中的至少一个。
166.nvm/存储器906可以包括安装在设备900的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口910通过网络访问nvm/存储906。
167.特别地,系统内存904和nvm/存储器906可以分别包括:指令920的暂时副本和永久副本。指令920可以包括:由处理器902中的至少一个执行时导致设备900实施如图2至图6所
示的系统限流方法的指令。在一些实施例中,指令920、硬件、固件和/或其软件组件可另外地/替代地置于系统控制逻辑908,网络接口910和/或处理器902中。
168.网络接口910可以包括收发器,用于为设备900提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(如前端模块,天线等)进行通信。在一些实施例中,网络接口910可以集成于设备900的其他组件。例如,网络接口910可以集成于处理器902的通信模块,系统内存904,nvm/存储器906,和具有指令的固件设备(未示出)中的至少一种,当处理器902中的至少一个执行所述指令时,设备900实现图2至图6所示的各种实施例的一个或多个实施例。
169.网络接口910可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口910可以是网络适配器,无线网络适配器,电话调制解调器和/或无线调制解调器。
170.在一个实施例中,处理器902中的至少一个可以与用于系统控制逻辑908的一个或多个控制器的逻辑封装在一起,以形成系统封装(sip)。在一个实施例中,处理器902中的至少一个可以与用于系统控制逻辑908的一个或多个控制器的逻辑集成在同一管芯上,以形成片上系统(soc)。
171.设备900可以进一步包括:输入/输出(i/o)设备912。i/o设备912可以包括用户界面,使得用户能够与设备900进行交互;外围组件接口的设计使得外围组件也能够与设备900交互。在一些实施例中,设备900还包括传感器,用于确定与设备900相关的环境条件和位置信息的至少一种。
172.在一些实施例中,用户界面可包括但不限于显示器(例如,液晶显示器,触摸屏显示器等),扬声器,麦克风,一个或多个相机(例如,静止图像照相机和/或摄像机),手电筒(例如,发光二极管闪光灯)和键盘。
173.在一些实施例中,外围组件接口可以包括但不限于非易失性存储器端口、音频插孔和电源接口。
174.在一些实施例中,传感器可包括但不限于陀螺仪传感器,加速度计,近程传感器,环境光线传感器和定位单元。定位单元还可以是网络接口910的一部分或与网络接口910交互,以与定位网络的组件(例如,全球定位系统(gps)卫星)进行通信。
175.可以理解的是,本发明实施例示意的结构并不构成对电子设备900的具体限定。在本发明另一些实施例中,电子设备900可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
176.本发明一个实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质可设置于电子设备之中以保存用于实现一种系统限流方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的系统限流方法。
177.可选地,在本发明实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccess memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
178.本发明一个实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机
程序/指令,当计算机程序产品在电子设备上运行时,该计算机程序/指令被处理器加载并执行以实现上述各种可选实施例中提供的系统限流方法的步骤。
179.需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
180.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
181.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
182.以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种系统限流方法,其特征在于,包括:获取目标系统的服务处理性能数据,所述服务处理性能数据用于表征所述目标系统对服务请求的处理能力,所述服务处理性能数据包括请求响应时间和请求成功率中的一项或者多项;获取所述目标系统的第一限流参数,所述第一限流参数用于限制进入所述目标系统的流量;基于所述服务处理性能数据对所述第一限流参数进行调整,以使得调整后的第一限流参数与所述目标系统对服务请求的处理能力相匹配。2.根据权利要求1所述的方法,其特征在于,所述基于所述服务处理性能数据对所述第一限流参数进行调整包括:获取所述服务处理性能数据对应的第一基准数据,所述第一基准数据基于所述目标系统在第一时间段内的历史服务处理性能数据确定;计算所述服务处理性能数据相对于所述第一基准数据的第一变化率;根据所述第一变化率确定所述第一限流参数的调整策略;基于所述第一限流参数的调整策略对所述第一限流参数进行调整,得到调整后的第一限流参数。3.根据权利要求2所述的方法,其特征在于,所述根据所述第一变化率确定所述第一限流参数的调整策略包括:确定所述第一变化率所处的阈值范围;根据所述第一变化率所处的阈值范围确定所述第一限流参数的调整阈值。4.一种系统限流方法,其特征在于,包括:获取目标系统的外呼响应数据,所述外呼响应数据用于表征所述目标系统的关联系统对服务请求的处理能力,所述外呼响应数据包括外呼响应时间和外呼成功率中的一项或者多项;获取所述目标系统的第二限流参数,所述第二限流参数用于限制所述目标系统出访所述关联系统的流量;基于所述外呼响应数据对所述第二限流参数进行调整,以使得调整后的第二限流参数与所述关联系统对服务请求的处理能力相匹配。5.根据权利要求4所述的方法,其特征在于,所述基于所述外呼响应数据对所述第二限流参数进行调整包括:获取所述外呼响应数据对应的第二基准数据,所述第二基准数据基于所述目标系统在第二时间段内的历史外呼响应数据确定;计算所述外呼响应数据相对于所述第二基准数据的第二变化率;根据所述第二变化率确定所述第二限流参数的调整策略;基于所述第二限流参数的调整策略对所述第二限流参数进行调整,得到调整后的第二限流参数。6.根据权利要求4所述的方法,其特征在于,所述方法还包括:获取所述目标系统的系统性能数据,所述系统性能数据用于表征所述目标系统的资源使用情况,所述系统性能数据包括cpu使用率、内存使用率和系统负载中的一项或者多项;
基于所述系统性能数据对所述第二限流参数进行调整,以使得调整后的第二限流参数与所述目标系统的资源使用情况相匹配。7.根据权利要求6所述的方法,其特征在于,所述基于所述系统性能数据对所述第二限流参数进行调整包括:确定所述系统性能数据所处的阈值范围;根据所述系统性能数据所处的阈值范围确定所述第二限流参数的调整策略;基于所述第二限流参数的调整策略对所述第二限流参数进行调整,得到调整后的第二限流参数。8.一种系统限流装置,其特征在于,所述装置包括:第一数据获取模块,用于获取目标系统的服务处理性能数据,所述服务处理性能数据用于表征所述目标系统对服务请求的处理能力,所述服务处理性能数据包括请求响应时间和请求成功率中的一项或者多项;第一参数获取模块,用于获取所述目标系统的第一限流参数,所述第一限流参数用于限制进入所述目标系统的流量;第一调整模块,用于基于所述服务处理性能数据对所述第一限流参数进行调整,以使得调整后的第一限流参数与所述目标系统对服务请求的处理能力相匹配。9.一种系统限流装置,其特征在于,所述装置包括:第二数据获取模块,用于获取目标系统的外呼响应数据,所述外呼响应数据用于表征所述目标系统的关联系统对服务请求的处理能力,所述外呼响应数据包括外呼响应时间和外呼成功率中的一项或者多项;第二参数获取模块,用于获取所述目标系统的第二限流参数,所述第二限流参数用于限制所述目标系统出访所述关联系统的流量;第二调整模块,用于基于所述外呼响应数据对所述第二限流参数进行调整,以使得调整后的第二限流参数与所述关联系统对服务请求的处理能力相匹配。10.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1-7任意一项所述的系统限流方法。11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如权利要求1-7任意一项所述的系统限流方法。12.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现如权利要求1-7任意一项所述的系统限流方法。

技术总结
本发明涉及分布式技术领域,具体是一种系统限流方法、装置、设备、介质及程序产品,所述方法包括:获取目标系统的服务处理性能数据,所述服务处理性能数据用于表征所述目标系统对服务请求的处理能力,所述服务处理性能数据包括请求响应时间和请求成功率中的一项或者多项;获取所述目标系统的第一限流参数,所述第一限流参数用于限制进入所述目标系统的流量;基于所述服务处理性能数据对所述第一限流参数进行调整,以使得调整后的第一限流参数与所述目标系统对服务请求的处理能力相匹配。本发明的系统限流方法能够实现对目标系统的入访流量及出访流量的动态限制,在有效保障目标系统稳定性的同时对关联系统也进行保护。系统稳定性的同时对关联系统也进行保护。系统稳定性的同时对关联系统也进行保护。


技术研发人员:黄乐 夏棋 兰珣 刁彦文
受保护的技术使用者:建信金融科技有限责任公司
技术研发日:2023.05.31
技术公布日:2023/8/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐