System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及流量控制,尤其涉及一种流量控制方法、装置、设备及存储介质。
技术介绍
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、根据所述服务实时响应数据以及所述局部异常检测数据得到比例系数,其中,所述比例系数为平均响应时间和局部异常平均响应时间的比例;
27、根据所述流控阈值、所述服务实时响应数据、所述局部异常检测数据以及所述比例系数进行计算,得到单位周期流控趋势;
28、根据所述单位周期流控趋势进行计算,得到流控总趋势。
29、可选地,所述根据所述流控总趋势实时调节流控状态,以实现全链路自主流量控制,包括:
30、根据所述流控总趋势将所述流控阈值更新到通讯中间件;
31、通过所述通讯中间件根据所述流控阈值更新上下游服务的流控阈值,得到上下游服务更新后的流控阈值;
32、根据所述上下游服务更新后的流控阈值进行流控状态调节,并监听不同的业务消息队列,得到消息队列堆积数量;
33、当所述消息队列堆积数量超过预设阈值时,将新的流控阈值更新至所述通讯中间件,以使所述上下游服务拉取所述新的流控阈值并更新,以实现全链路自主流量控制。
34、此外,为实现上述目的,本专利技术还提出一种流量控制装置,所述流量控制装置包括:
35、获取模块,用于获取服务的自身业务特性数据以及历史周期性数据;
36、计算模块,用于基于所述自身业务特性数据以及所述历史周期性数据进行计算,得到服务的流控阈值;
37、所述计算模块,还用于计算所述服务的服务实时响应数据以及局部异常检测数据;
38、所述计算模块,还用于根据所述流控阈值、所述服务实时响应数据以及所述局部异常检测数据进行计算,得到流控总趋势;
39、控制模块,用于根据所述流控总趋势实时调节流控状态,以实现全链路自主流量控制。
40、此外,为实现上述目的,本专利技术还提出一种流量控制设备,所述流量控制设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的流量控制程序,所述流量控制程序配置为实现如上文所述的流量控制方法的步骤。
41、此外,为实现上述目的,本专利技术还提出一种存储介质,所述存储介质上存储有流量控制程序,所述流量控制程序被处理器执行时实现如上文所述的流量控制方法的步骤。
42、本专利技术通过获取服务的自身业务特性数据以及历史周期性数据;基于自身业务特性数据以及历史周期性数据进行计算,得到服务的流控阈值;计算服务的服务实时响应数据以及局部异常检测数据;根据流控阈值、服务实时响应数据以及局部异常检测数据进行计算,得到流控总趋势;根据流控总趋势实时调节流控状态,以实现全链路自主流量控制。通过上述方式,通过计算服务的流控阈值并根据流控阈值计算流控总趋势,从而调节流控状态以实现全链路自主流量控制,解决了流控策略单一导致流控效果差以及单一服务流控无法保障系统持续稳定运行的问题,提高限流阈值调整的准确度和流控效果,实现自主地全链路流量控制。
本文档来自技高网...【技术保护点】
1.一种流量控制方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述计算所述服务的服务实时响应数据以及局部异常检测数据,包括:
3.如权利要求2所述的方法,其特征在于,所述计算所述服务的平均响应时间,并根据所述平均响应时间得到服务实时响应数据,包括:
4.如权利要求3所述的方法,其特征在于,所述计算所述服务的局部异常平均响应时间,并根据所述服务的局部异常平均响应时间得到局部异常检测数据,包括:
5.如权利要求1所述的方法,其特征在于,所述获取服务的自身业务特性数据以及历史周期性数据,包括:
6.如权利要求1所述的方法,其特征在于,所述根据所述流控阈值、所述服务实时响应数据以及所述局部异常检测数据进行计算,得到流控总趋势,包括:
7.如权利要求1至6中任一项所述的方法,其特征在于,所述根据所述流控总趋势实时调节流控状态,以实现全链路自主流量控制,包括:
8.一种流量控制装置,其特征在于,所述流量控制装置包括:
9.一种流量控制设备,其特征在于,所述流量控制设备包
10.一种存储介质,其特征在于,所述存储介质上存储有流量控制程序,所述流量控制程序被处理器执行时实现如权利要求1至7中任一项所述的流量控制方法。
...【技术特征摘要】
1.一种流量控制方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述计算所述服务的服务实时响应数据以及局部异常检测数据,包括:
3.如权利要求2所述的方法,其特征在于,所述计算所述服务的平均响应时间,并根据所述平均响应时间得到服务实时响应数据,包括:
4.如权利要求3所述的方法,其特征在于,所述计算所述服务的局部异常平均响应时间,并根据所述服务的局部异常平均响应时间得到局部异常检测数据,包括:
5.如权利要求1所述的方法,其特征在于,所述获取服务的自身业务特性数据以及历史周期性数据,包括:
6.如权利要求1所述的方法,其特征在于,所述根据所述流控阈值、所述服...
【专利技术属性】
技术研发人员:魏森炳,李幸锋,
申请(专利权)人:招商银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。