CN117478600A - 服务于高并发多中心业务中台的流量控制方法与系统 - Google Patents
服务于高并发多中心业务中台的流量控制方法与系统 Download PDFInfo
- Publication number
- CN117478600A CN117478600A CN202311832797.7A CN202311832797A CN117478600A CN 117478600 A CN117478600 A CN 117478600A CN 202311832797 A CN202311832797 A CN 202311832797A CN 117478600 A CN117478600 A CN 117478600A
- Authority
- CN
- China
- Prior art keywords
- frequency
- service
- center
- current
- flow control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 92
- 230000008569 process Effects 0.000 claims abstract description 37
- 238000012545 processing Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 abstract description 12
- 230000015556 catabolic process Effects 0.000 abstract description 6
- 230000007246 mechanism Effects 0.000 abstract description 6
- 210000004556 brain Anatomy 0.000 description 56
- 230000000875 corresponding effect Effects 0.000 description 43
- 238000012544 monitoring process Methods 0.000 description 43
- 230000006870 function Effects 0.000 description 13
- 230000002159 abnormal effect Effects 0.000 description 12
- 230000003993 interaction Effects 0.000 description 12
- 238000005457 optimization Methods 0.000 description 8
- 230000001276 controlling effect Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000010223 real-time analysis Methods 0.000 description 4
- 238000011084 recovery Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000008713 feedback mechanism Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 238000006424 Flood reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开的一种服务于高并发多中心业务中台的流量控制方法与系统,其中方法包括:获取业务频次上下限值、当次可预支基准数以及业务最大可使用频次、时间节点对应的已预支未使用的频次,以及时间节点对应的未预支的频次;基于时间节点结合已预支未使用的频次,以及未预支的频次计算时间节点对应的平均未使用频次;基于业务最大可使用频次、平均未使用频次以及cpu使用率,内存使用率以及io使用率计算得到当前时段内可使用频次,以及当次可预支频次,完成流量控制。本发明通过流量控制机制,可以有效限制并发请求的数量和频率,避免系统过载和崩溃;合理地分配和调度流量,使系统能够平稳处理业务请求,提高响应速度和性能稳定性。
Description
技术领域
本发明涉及数据处理技术领域,更具体的,涉及一种服务于高并发多中心业务中台的流量控制方法与系统。
背景技术
在现代企业的数字化转型过程中,业务中台的建设和运维面临着一系列挑战。其中,与业务中台并发大、流量控制和流量监控相关的问题成为了一大难题,需要寻求解决方案以推动业务的稳定运行和持续发展。
随着企业规模的扩大和业务复杂性的增加,业务中台面临着日益增长的并发请求。大量的业务流量同时涌入业务中台,给系统的性能和稳定性带来了巨大的压力。为了保证业务中台的正常运行,必须实施有效的流量控制机制,以限制并发请求的数量和频率,防止系统过载和崩溃。
同时,流量监控也是业务中台建设中的重要环节。通过对业务中台的流量进行实时监控和分析,可以及时发现潜在的性能瓶颈和故障点,采取相应的措施进行调整和优化。流量监控可以提供对业务中台运行状态的全面了解,为问题排查和系统优化提供有力支持。
发明内容
本发明的目的是提供一种服务于高并发多中心业务中台的流量控制方法与系统,通过流量控制机制,可以有效限制并发请求的数量和频率,避免系统过载和崩溃,合理地分配和调度流量,使系统能够平稳处理业务请求,提高响应速度和性能稳定性。
本发明第一方面提供了一种服务于高并发多中心业务中台的流量控制方法,包括以下步骤:
获取业务频次上下限值、当次可预支基准数以及业务最大可使用频次、时间节点对应的已预支未使用的频次,以及时间节点对应的未预支的频次;
基于所述时间节点结合所述已预支未使用的频次,以及所述未预支的频次计算时间节点对应的平均未使用频次;
基于所述业务最大可使用频次、所述平均未使用频次以及cpu使用率,内存使用率以及io使用率计算得到当前时段内可使用频次;
基于所述当前时段内可使用频次、所述业务频次上下限值以及所述当次可预支基准数计算得到当次可预支频次,完成流量控制。
本方案中,所述方法还包括:获取业务预支初始规则,其中,所述业务预支初始规则中包括时间节点与预支频次的使用关系其中,所述获取业务预支初始规则,具体包括:
上报服务器IP的服务端口以识别业务类型标识,其中,所述业务类型标识具有唯一性;
基于所述业务类型标识在业务中台的数据库中加载配置数据,其中,所述配置数据包括若干个限制规则;
结合当前服务的整体负载情况结合所述限制规则得到所述业务预支初始标识,其中,所述整体负载情况至少包括cpu使用率,内存使用率以及io使用率。
本方案中,所述方法还包括:
通过当前进程缓存判断当前时间段是否已经达到了业务频次上限,其中,若达到上限业务,服务端接口直接响应超速情况,不做后续业务处理;
判断当前进程缓存中是否有已预支频次,其中,若有则直接获取所述已预支未使用的频次对请求进行放行;
当前进程缓存中没有预支频次且没有超过业务频次上限,则识别频次请求,其中,将所述当次可预支频次放入进程内缓存,供后续限制使用。
本方案中,所述获取业务频次上下限值、当次可预支基准数以及业务最大可使用频次、时间节点对应的已预支未使用的频次,以及时间节点对应的未预支的频次,具体包括:
从所述业务预支初始规则中获取业务频次上下限值以及当次可预支基准数;
从业务中台的配置中心获取所述业务最大可使用频次Fmax;
从业务中台的流量控件获取预设数量值的已预支未使用的频次Fa1,Fa2,Fa3,Fa4,Fa5;
从业务中台的流控中心获取对应预设数量值的未预支频次Fb1,Fb2,Fb3,Fb4,Fb5;
从业务中台的监控中心获取所述cpu使用率C,所述内存使用率M以及所述io使用率I。
本方案中,所述基于所述时间节点结合所述已预支未使用的频次,以及所述未预支的频次计算时间节点对应的平均未使用频次的计算式如下:
Fn0(Fa, Fb) = Σ(i=1,5)(Fa_i + Fb_i) / 10;
其中,Fn0为上一个时间段内业务未使用频次, Fai为已预支未使用的频次,Fbi为未预支频次。
本方案中,所述基于所述业务最大可使用频次、所述平均未使用频次以及cpu使用率,内存使用率以及io使用率计算得到当前时段内可使用频次的计算式如下:
F(Fmax,Fn0,C,M,I)= min(Fmax, max(0, Fmax × (1 - 0.5 × (Fn0 / Fmax))× Σ(i=1,3)(1 - max(0, Ci - 0.7) / 0.3)^i × Σ(j=1,3)(1 - max(0, Mj - 0.7)/ 0.3)^j × Σ(k=1,3)(1 - max(0, Ik - 0.7) / 0.3)^k));
其中,Fmax为业务频次限制时间段内的最大可使用频次,Fn0为上一个时间段内业务未使用频次,C为当前业务的cup使用率,M为当前业务的内存使用率,I为io使用率,i、j、k为参数因子。
本发明第二方面还提供一种服务于高并发多中心业务中台的流量控制系统,包括存储器和处理器,所述存储器中包括服务于高并发多中心业务中台的流量控制方法程序,所述服务于高并发多中心业务中台的流量控制方法程序被所述处理器执行时实现如下步骤:
获取业务频次上下限值、当次可预支基准数以及业务最大可使用频次、时间节点对应的已预支未使用的频次,以及时间节点对应的未预支的频次;
基于所述时间节点结合所述已预支未使用的频次,以及所述未预支的频次计算时间节点对应的平均未使用频次;
基于所述业务最大可使用频次、所述平均未使用频次以及cpu使用率,内存使用率以及io使用率计算得到当前时段内可使用频次;
基于所述当前时段内可使用频次、所述业务频次上下限值以及所述当次可预支基准数计算得到当次可预支频次,完成流量控制。
本方案中,所述方法还包括:获取业务预支初始规则,其中,所述业务预支初始规则中包括时间节点与预支频次的使用关系其中,所述获取业务预支初始规则,具体包括:
上报服务器IP的服务端口以识别业务类型标识,其中,所述业务类型标识具有唯一性;
基于所述业务类型标识在业务中台的数据库中加载配置数据,其中,所述配置数据包括若干个限制规则;
结合当前服务的整体负载情况结合所述限制规则得到所述业务预支初始标识,其中,所述整体负载情况至少包括cpu使用率,内存使用率以及io使用率。
本方案中,所述方法还包括:
通过当前进程缓存判断当前时间段是否已经达到了业务频次上限,其中,若达到上限业务,服务端接口直接响应超速情况,不做后续业务处理;
判断当前进程缓存中是否有已预支频次,其中,若有则直接获取所述已预支未使用的频次对请求进行放行;
当前进程缓存中没有预支频次且没有超过业务频次上限,则识别频次请求,其中,将所述当次可预支频次放入进程内缓存,供后续限制使用。
本方案中,所述获取业务频次上下限值、当次可预支基准数以及业务最大可使用频次、时间节点对应的已预支未使用的频次,以及时间节点对应的未预支的频次,具体包括:
从所述业务预支初始规则中获取业务频次上下限值以及当次可预支基准数;
从业务中台的配置中心获取所述业务最大可使用频次Fmax;
从业务中台的流量控件获取预设数量值的已预支未使用的频次Fa1,Fa2,Fa3,Fa4,Fa5;
从业务中台的流控中心获取对应预设数量值的未预支频次Fb1,Fb2,Fb3,Fb4,Fb5;
从业务中台的监控中心获取所述cpu使用率C,所述内存使用率M以及所述io使用率I。
本方案中,所述基于所述时间节点结合所述已预支未使用的频次,以及所述未预支的频次计算时间节点对应的平均未使用频次的计算式如下:
Fn0(Fa, Fb) = Σ(i=1,5)(Fa_i + Fb_i) / 10;
其中,Fn0为上一个时间段内业务未使用频次, Fai为已预支未使用的频次,Fbi为未预支频次。
本方案中,所述基于所述业务最大可使用频次、所述平均未使用频次以及cpu使用率,内存使用率以及io使用率计算得到当前时段内可使用频次的计算式如下:
F(Fmax,Fn0,C,M,I)= min(Fmax, max(0, Fmax × (1 - 0.5 × (Fn0 / Fmax))× Σ(i=1,3)(1 - max(0, Ci - 0.7) / 0.3)^i × Σ(j=1,3)(1 - max(0, Mj - 0.7)/ 0.3)^j × Σ(k=1,3)(1 - max(0, Ik - 0.7) / 0.3)^k));
其中,Fmax为业务频次限制时间段内的最大可使用频次,Fn0为上一个时间段内业务未使用频次,C为当前业务的cup使用率,M为当前业务的内存使用率,I为io使用率,i、j、k为参数因子。
本发明第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中包括机器的一种服务于高并发多中心业务中台的流量控制方法程序,所述服务于高并发多中心业务中台的流量控制方法程序被处理器执行时,实现如上述任一项所述的一种服务于高并发多中心业务中台的流量控制方法的步骤。
本发明公开的一种服务于高并发多中心业务中台的流量控制方法与系统,通过流量控制机制,可以有效限制并发请求的数量和频率,避免系统过载和崩溃,合理地分配和调度流量,使系统能够平稳处理业务请求,提高响应速度和性能稳定性;以及通过实时监控和分析流量数据,可以及时发现性能瓶颈和异常情况,借助流量监控工具,可以识别瓶颈组件、高负载区域或低效率操作,并针对性地进行性能优化,提高整体系统的效率和吞吐量。
附图说明
图1示出了本发明一种服务于高并发多中心业务中台的流量控制方法的流程图;
图2示出了本发明一种服务于高并发多中心业务中台的流量控制系统的框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
实现有效的流量控制和流量监控并非易事。由于业务中台的复杂性和规模庞大且大部分业务中台都有多节点容灾需求,传统的流量控制和监控方法往往无法满足需求。因此,研究和开发适应业务中台特点的流量控制和监控技术成为迫切的需求。这些技术需要具备高效、可扩展和智能化的特点,能够适应不断变化的业务需求和流量模式。其中,图1示出了本申请一种服务于高并发多中心业务中台的流量控制方法的流程图。
如图1所示,本申请公开了一种服务于高并发多中心业务中台的流量控制方法,包括以下步骤:
S102,获取业务频次上下限值、当次可预支基准数以及业务最大可使用频次、时间节点对应的已预支未使用的频次,以及时间节点对应的未预支的频次;
S104,基于所述时间节点结合所述已预支未使用的频次,以及所述未预支的频次计算时间节点对应的平均未使用频次;
S106,基于所述业务最大可使用频次、所述平均未使用频次以及cpu使用率,内存使用率以及io使用率计算得到当前时段内可使用频次;
S108,基于所述当前时段内可使用频次、所述业务频次上下限值以及所述当次可预支基准数计算得到当次可预支频次,完成流量控制。
需要说明的是,于本实施例中,应对高并发多中心业务中台的流量控制,重点在于如何计算得到当前时间段内可预支频次,即对应为所述当次可预支频次,因此,对于本实施例来说,首先获取业务频次上下限值、当次可预支基准数以及业务最大可使用频次、时间节点对应的已预支未使用的频次,以及时间节点对应的未预支的频次,而后基于所述时间节点结合所述已预支未使用的频次,以及所述未预支的频次计算时间节点对应的平均未使用频次;再基于所述业务最大可使用频次、所述平均未使用频次以及cpu使用率,内存使用率以及io使用率计算得到当前时段内可使用频次;最后基于所述当前时段内可使用频次、所述业务频次上下限值以及所述当次可预支基准数计算得到当次可预支频次,从而能够完成流量控制。
根据本发明实施例,所述方法还包括:获取业务预支初始规则,其中,所述业务预支初始规则中包括时间节点与预支频次的使用关系其中,所述获取业务预支初始规则,具体包括:
上报服务器IP的服务端口以识别业务类型标识,其中,所述业务类型标识具有唯一性;
基于所述业务类型标识在业务中台的数据库中加载配置数据,其中,所述配置数据包括若干个限制规则;
结合当前服务的整体负载情况结合所述限制规则得到所述业务预支初始标识,其中,所述整体负载情况至少包括cpu使用率,内存使用率以及io使用率。
需要说明的是,于本实施例中,业务中台在管理中心可视化平台使用DSL(领域特定语言)配置流量限制规则。一个业务中台在管理中心可以根据业务需要配置多个限制规则,在流量控件中配置响应的标识即可。将配置规则保存到数据库,并通知配置中心进行加载;配置中心通过接口通知或者定时任务加载刷新数据库中的配置数据,将加载的配置数据缓存到一级和二级缓存中,另外,业务服务嵌入流量控件,当数据第一次触发流控,会在智控大脑进行注册并保持连接,上报服务器IP,服务端口,应用标识,业务类型标识从智控大脑获取当前连接唯一标识,以及流量控件定时将当前服务的整体负载情况同步到智控大脑,上传信息包括连接唯一标识,cup使用率,内存使用率,io使用率等基本监控信息。
根据本发明实施例,所述方法还包括:
通过当前进程缓存判断当前时间段是否已经达到了业务频次上限,其中,若达到上限业务,服务端接口直接响应超速情况,不做后续业务处理;
判断当前进程缓存中是否有已预支频次,其中,若有则直接获取所述已预支未使用的频次对请求进行放行;
当前进程缓存中没有预支频次且没有超过业务频次上限,则识别频次请求,其中,将所述当次可预支频次放入进程内缓存,供后续限制使用。
需要说明的是,于本实施例中,利用业务接口流控组件对流量进行流控限制,其中,通过当前进程缓存判断当前时间段是否已经达到了频次上限;达到上限业务接口直接响应超速情况,不做后续业务处理。通过判断当前进程缓存中是否有已预支频次,有则直接获取,对请求进行放行。如果当前进程缓存中没有预支频次且没有超过频次上限,则发起获取预支频次请求。将获取的频次放入进程内缓存,供后续限制使用。如果可预支频次达到上限制,则保存当前进程缓存,现在当前时间段后续请求。
根据本发明实施例,所述获取业务频次上下限值、当次可预支基准数以及业务最大可使用频次、时间节点对应的已预支未使用的频次,以及时间节点对应的未预支的频次,具体包括:
从所述业务预支初始规则中获取业务频次上下限值以及当次可预支基准数;
从业务中台的配置中心获取所述业务最大可使用频次Fmax;
从业务中台的流量控件获取预设数量值的已预支未使用的频次Fa1,Fa2,Fa3,Fa4,Fa5;
从业务中台的流控中心获取对应预设数量值的未预支频次Fb1,Fb2,Fb3,Fb4,Fb5;
从业务中台的监控中心获取所述cpu使用率C,所述内存使用率M以及所述io使用率I。
需要说明的是,于本实施例中,数据准备阶段包括如下:1)从配置中心中获取业务预支初始规则:{[S0,S1)|L0}{[S1,S2)|L1}{[S2,S3)|L2}...{[Sm,)|Lm}S0...Sm:业务频次上下限制L0...Lm:当次可预支基准数;2)从配置中心获取业务最大可使用频次Fmax;3)从流量控件获取前“5”个时间节点已预支未使用的频次Fa1,Fa2,Fa3,Fa4,Fa5;4)从流控中心获取前“5”个时间点未预支的频次Fb1,Fb2,Fb3,Fb4,Fb5;5)从监控中心获取cup使用率C,内存使用率M,io使用率I,以及6)从流控中心获取当前时间段已预支频次Fn1。
根据本发明实施例,所述基于所述时间节点结合所述已预支未使用的频次,以及所述未预支的频次计算时间节点对应的平均未使用频次的计算式如下:
Fn0(Fa, Fb) = Σ(i=1,5)(Fa_i + Fb_i) / 10;
其中,Fn0为上一个时间段内业务未使用频次, Fai为已预支未使用的频次,Fbi为未预支频次。
需要说明的是,于本实施例中,获取业务前“5”个时间节点未使用频次Fn0(Fa,Fb) = Σ(i=1,5)(Fa_i + Fb_i) / 10,其中,Fa为前“5”个时间节点已预支未使用的频次;Fb为前“5”个时间点未预支的频次;通过过去时频次使用情况计算出平均未使用频次。
根据本发明实施例,所述基于所述业务最大可使用频次、所述平均未使用频次以及cpu使用率,内存使用率以及io使用率计算得到当前时段内可使用频次的计算式如下:
F(Fmax,Fn0,C,M,I)= min(Fmax, max(0, Fmax × (1 - 0.5 × (Fn0 / Fmax))× Σ(i=1,3)(1 - max(0, Ci - 0.7) / 0.3)^i × Σ(j=1,3)(1 - max(0, Mj - 0.7)/ 0.3)^j × Σ(k=1,3)(1 - max(0, Ik - 0.7) / 0.3)^k));
其中,Fmax为业务频次限制时间段内的最大可使用频次,Fn0为上一个时间段内业务未使用频次,C为当前业务的cup使用率,M为当前业务的内存使用率,I为io使用率,i、j、k为参数因子。
需要说明的是,于本实施例中,当前时间段内实际可使用频次与业务上一个时间段未使用频次为正相关,当业务上一个时间段未使用频次占业务频次限制时间段最大可使用频次50% 则业务上一个时间段未使用频次每减少10%,当前时间段内实际可使用频次基于业务频次限制时间段最大可使用频次减少10%,直到当前时间段内实际可使用频次等于业务频次限制时间段最大可使用频次的50%则不在减少;当前时间段内实际可使用频次与cup使用率,当前业务内存使用率,io使用率都为负相关,其中某一个如果大于70%,则每增加10%,当前时间段内实际可使用频次基于业务频次限制时间段最大可使用频次减少减少一半,直到等于100%则当前时间段内实际可使用频次为“0”。
值得一提的是,计算当次可预支频次的逻辑如下:
Ln(F, S, L) = Σ(n=0,len(S)-1) (if S[n] <= F < S[n+1] then L[n] else0)
L(Ln,Fn1) = if Fn1>=Ln then Ln else if 0<Fn1<Ln then Fn1 else 0。
需要说明的是,其中F为当前时间段内实际可使用频次,S为业务频次上下限制规则,L为当次可预支基准数,Fn1业务当前时间段剩余可预支频次,以及,通过循环匹配业务频次上下限制规则S,获取当次可预支最大频次Ln,通过对比业务当前时间段剩余可预支频次计算得到当次可预支频次。
值得一提的是,本申请还提供一种服务于高并发多中心业务中台的流量控制装置,其中,所述装置包括智控大脑和流量控件,其中,所述智控大脑用于流量控制和流量监控,所述流量控件用于提供对流量的精确控制和管理。
需要说明的是,于本实施例中,智控大脑是一个中心服务,专门用于流量控制装置的流量控制和流量监控,具备智能化控制的能力,可以对全局业务中台的流量进行精确管理。
具体地,以下是智控大脑的主要服务功能描述:1)注册中心:注册中心承担着记录和管理流量控件长连接的任务。当流量控件与其他系统或服务建立长连接时,它会负责注册和记录这些连接的信息,包括连接的标识和相关参数。通过注册中心的记录,我们可以清晰地了解当前活跃的连接情况,以及与流量控件建立的长连接的详细信息。除了注册和记录功能,注册中心还负责监控连接状态。它会实时监测连接的可用性和稳定性,并及时发现连接异常或中断的情况。当检测到连接状态异常时,注册中心将采取相应的措施,控制连接的重新建立或释放,以确保连接的稳定性和可靠性。2)配置中心:配置中心的主要任务是加载和管理管理中心的配置数据。它会将配置数据加载到缓存中,以提供快速访问的能力。通过将配置数据缓存起来,其他智控大脑服务可以直接从缓存中获取配置数据,避免了频繁的配置数据读取操作,提高了系统的响应速度和性能。3)监控中心:监控中心承担着对业务中台服务流量的监控任务。它会实时监测各个业务中台服务的流量情况,包括请求量、响应时间、并发连接数等关键指标。通过对流量数据的监控,我们能够及时发现流量波动或异常情况,以便采取相应的措施进行调整和优化。除了监控功能,监控中心还具备实时分析能力。它会对监控到的流量数据进行分析和处理,提取出必要的信息和指标。这些数据和指标可能包括流量趋势、热门接口、异常请求等。通过实时分析,监控中心能够深入了解流量的特征和趋势,为业务中台提供有价值的数据支持。4)流控中心:作为智控大脑的核心控制服务,流控中心承担着对业务中台流量的智能控制任务。它会根据事先设定的规则配置和流量控件提供的反馈信息,预测业务中台服务的负载情况和频次使用率。通过智能分析和判断,流控中心能够对业务中台的流量进行精确的控制。流控中心依靠规则配置和流量控件的反馈数据来实现智能控制。规则配置是事先设定的一系列规则和策略,用于指导流控中心的决策和控制行为。而流量控件反馈的业务中台服务负载预测和频次使用率信息则为流控中心提供了实时的数据支持,使其能够基于实际情况做出智能决策。通过流控中心的智能控制,我们能够实现对业务中台流量的精细化管理。它利用规则配置和流量控件反馈数据,能够根据业务中台服务的负载情况和频次使用率,灵活地进行流量控制。这样可以避免业务中台的过载和性能下降,同时最大程度地提高系统的稳定性和可用性。5)容灾中心:当业务中台有多个部署机房,在做容灾切换时需要保留原有节点频次数据,容灾中心通过消息队列的方式定时同步频次数据。6)管理中心:对整个流量控件的配置管控以及生产记录数据分析查看等功能。
相应地,流量控制组件充当了另一个关键角色,可以监测和调整传入的流量,并根据预定的规则和策略对其进行管理。通过在服务中嵌入流量控制组件,业务中台能够实现对请求的限流、速率控制、优先级分配等功能。其中,流量控件主要模块的功能描述如下:1)DSL解释器:用于解析自定义DSL配置的规则,DSL配置规则案例如下。
DSL规则:
{[0,500)|0}{[500,1000)|10}{[1000,3000)|20}{[3000,)|50}
规则说明:
{[0,500)|0}大于等于“0”小于“500”的不进行预支,直接请求智控大脑进行预支,{[500,1000)|5}大于等于“500”小于等于“1000”的本地缓存预支“5”,大于“3000”的本地缓存预支“50”。依此规则类推,需要业务中台综合考虑处理服务器台数,与智控大脑是时延等情况定指标。
以及2)流控模块:流控模块是业务中台服务与智控大脑之间的关键组件,其主要功能是从智控大脑获取流量控制可执行频次,并根据这些频次对业务中台接口请求进行精确的频次限制。通过与智控大脑的交互,流控模块获取到了流量控制的可执行频次,这是基于智控大脑的智能决策和算法计算得出的。这些频次代表了业务中台在特定时间段内可以执行的请求次数上限。基于这些频次限制,流控模块将对业务中台的接口请求进行精细化的频次管理。流控模块会对每个接口请求进行频次限制的判断和处理。它会根据智控大脑提供的频次限制信息,结合实际的请求情况,决定是否允许该请求执行。如果请求次数超过了设定的频次限制,流控模块将采取相应的措施进行限制,例如拒绝请求、延迟执行或者排队等待。3)智控大脑连接模块:智控大脑连接模块采用长连接方式与智控大脑进行高速数据交互,旨在提高流量控制与智控大脑之间的交互效率。为了保证连接的稳定性,我们引入定时检查连接心跳策略和失败重连机制。同时,该连接模块还负责解析智控大脑返回的数据,确保数据的准确性和可用性。通过采用长连接方式,流量控制与智控大脑之间可以实时传递数据,避免了频繁建立和断开连接的开销,提高了数据交互的效率和速度。为了保障连接的稳定性,我们定期进行连接心跳检查,确保连接处于正常状态。如果检测到连接异常或中断,我们会立即触发失败重连机制,尝试重新建立连接,以确保数据交互的持续性和可靠性。在数据交互过程中,智控大脑连接模块负责对从智控大脑传回的数据进行解析。这包括对数据的结构化处理、解码和验证,以确保接收到的数据可信且准确无误。通过解析智控大脑传回的数据,我们能够获取关键信息,为后续的流量控制决策和业务优化提供有价值的参考。4)监控反馈模块:监控反馈模块是负责监测服务负载情况以及业务中台服务中频次使用率的关键组件,通过长连接与智控大脑进行实时反馈。该监控反馈模块承担着监控和收集服务负载情况的任务,以确保业务中台的稳定性和性能。它会实时监测各个服务的负载情况,包括请求量、响应时间、并发连接数等指标。通过对这些指标的监控,我们能够及时发现服务负载过高或异常的情况,并采取相应的措施进行调整和优化,以保障整个系统的正常运行。同时,监控反馈模块还负责监测业务中台服务中频次使用率的情况。它会实时收集和统计各个接口的频次使用情况,并将这些数据通过长连接传输给智控大脑。这种实时的反馈机制可以让智控大脑了解到业务中台服务的频次使用情况,以便进行更准确的决策和调整。
图2示出了本发明一种服务于高并发多中心业务中台的流量控制系统的框图。
如图2所示,本发明公开了一种服务于高并发多中心业务中台的流量控制系统,包括存储器和处理器,所述存储器中包括服务于高并发多中心业务中台的流量控制方法程序,所述服务于高并发多中心业务中台的流量控制方法程序被所述处理器执行时实现如下步骤:
获取业务频次上下限值、当次可预支基准数以及业务最大可使用频次、时间节点对应的已预支未使用的频次,以及时间节点对应的未预支的频次;
基于所述时间节点结合所述已预支未使用的频次,以及所述未预支的频次计算时间节点对应的平均未使用频次;
基于所述业务最大可使用频次、所述平均未使用频次以及cpu使用率,内存使用率以及io使用率计算得到当前时段内可使用频次;
基于所述当前时段内可使用频次、所述业务频次上下限值以及所述 当次可预支基准数计算得到当次可预支频次,完成流量控制。
需要说明的是,于本实施例中,应对高并发多中心业务中台的流量控制,重点在于如何计算得到当前时间段内可预支频次,即对应为所述当次可预支频次,因此,对于本实施例来说,首先获取业务频次上下限值、当次可预支基准数以及业务最大可使用频次、时间节点对应的已预支未使用的频次,以及时间节点对应的未预支的频次,而后基于所述时间节点结合所述已预支未使用的频次,以及所述未预支的频次计算时间节点对应的平均未使用频次;再基于所述业务最大可使用频次、所述平均未使用频次以及cpu使用率,内存使用率以及io使用率计算得到当前时段内可使用频次;最后基于所述当前时段内可使用频次、所述业务频次上下限值以及所述当次可预支基准数计算得到当次可预支频次,从而能够完成流量控制。
根据本发明实施例,所述方法还包括:获取业务预支初始规则,其中,所述业务预支初始规则中包括时间节点与预支频次的使用关系其中,所述获取业务预支初始规则,具体包括:
上报服务器IP的服务端口以识别业务类型标识,其中,所述业务类型标识具有唯一性;
基于所述业务类型标识在业务中台的数据库中加载配置数据,其中,所述配置数据包括若干个限制规则;
结合当前服务的整体负载情况结合所述限制规则得到所述业务预支初始标识,其中,所述整体负载情况至少包括cpu使用率,内存使用率以及io使用率。
需要说明的是,于本实施例中,业务中台在管理中心可视化平台使用DSL(领域特定语言)配置流量限制规则。一个业务中台在管理中心可以根据业务需要配置多个限制规则,在流量控件中配置响应的标识即可。将配置规则保存到数据库,并通知配置中心进行加载;配置中心通过接口通知或者定时任务加载刷新数据库中的配置数据,将加载的配置数据缓存到一级和二级缓存中,另外,业务服务嵌入流量控件,当数据第一次触发流控,会在智控大脑进行注册并保持连接,上报服务器IP,服务端口,应用标识,业务类型标识从智控大脑获取当前连接唯一标识,以及流量控件定时将当前服务的整体负载情况同步到智控大脑,上传信息包括连接唯一标识,cup使用率,内存使用率,io使用率等基本监控信息。
根据本发明实施例,所述方法还包括:
通过当前进程缓存判断当前时间段是否已经达到了业务频次上限,其中,若达到上限业务,服务端接口直接响应超速情况,不做后续业务处理;
判断当前进程缓存中是否有已预支频次,其中,若有则直接获取所述已预支未使用的频次对请求进行放行;
当前进程缓存中没有预支频次且没有超过业务频次上限,则识别频次请求,其中,将所述当次可预支频次放入进程内缓存,供后续限制使用。
需要说明的是,于本实施例中,利用业务接口流控组件对流量进行流控限制,其中,通过当前进程缓存判断当前时间段是否已经达到了频次上限;达到上限业务接口直接响应超速情况,不做后续业务处理。通过判断当前进程缓存中是否有已预支频次,有则直接获取,对请求进行放行。如果当前进程缓存中没有预支频次且没有超过频次上限,则发起获取预支频次请求。将获取的频次放入进程内缓存,供后续限制使用。如果可预支频次达到上限制,则保存当前进程缓存,现在当前时间段后续请求。
根据本发明实施例,所述获取业务频次上下限值、当次可预支基准数以及业务最大可使用频次、时间节点对应的已预支未使用的频次,以及时间节点对应的未预支的频次,具体包括:
从所述业务预支初始规则中获取业务频次上下限值以及当次可预支基准数;
从业务中台的配置中心获取所述业务最大可使用频次Fmax;
从业务中台的流量控件获取预设数量值的已预支未使用的频次Fa1,Fa2,Fa3,Fa4,Fa5;
从业务中台的流控中心获取对应预设数量值的未预支频次Fb1,Fb2,Fb3,Fb4,Fb5;
从业务中台的监控中心获取所述cpu使用率C,所述内存使用率M以及所述io使用率I。
需要说明的是,于本实施例中,数据准备阶段包括如下:1)从配置中心中获取业务预支初始规则:{[S0,S1)|L0}{[S1,S2)|L1}{[S2,S3)|L2}...{[Sm,)|Lm}S0...Sm:业务频次上下限制L0...Lm:当次可预支基准数;2)从配置中心获取业务最大可使用频次Fmax;3)从流量控件获取前“5”个时间节点已预支未使用的频次Fa1,Fa2,Fa3,Fa4,Fa5;4)从流控中心获取前“5”个时间点未预支的频次Fb1,Fb2,Fb3,Fb4,Fb5;5)从监控中心获取cup使用率C,内存使用率M,io使用率I,以及6)从流控中心获取当前时间段已预支频次Fn1。
根据本发明实施例,所述基于所述时间节点结合所述已预支未使用的频次,以及所述未预支的频次计算时间节点对应的平均未使用频次的计算式如下:
Fn0(Fa, Fb) = Σ(i=1,5)(Fa_i + Fb_i) / 10;
其中,Fn0为上一个时间段内业务未使用频次, Fai为已预支未使用的频次,Fbi为未预支频次。
需要说明的是,于本实施例中,获取业务前“5”个时间节点未使用频次Fn0(Fa,Fb) = Σ(i=1,5)(Fa_i + Fb_i) / 10,其中,Fa为前“5”个时间节点已预支未使用的频次;Fb为前“5”个时间点未预支的频次;通过过去时频次使用情况计算出平均未使用频次。
根据本发明实施例,所述基于所述业务最大可使用频次、所述平均未使用频次以及cpu使用率,内存使用率以及io使用率计算得到当前时段内可使用频次的计算式如下:
F(Fmax,Fn0,C,M,I)= min(Fmax, max(0, Fmax × (1 - 0.5 × (Fn0 / Fmax))× Σ(i=1,3)(1 - max(0, Ci - 0.7) / 0.3)^i × Σ(j=1,3)(1 - max(0, Mj - 0.7)/ 0.3)^j × Σ(k=1,3)(1 - max(0, Ik - 0.7) / 0.3)^k));
其中,Fmax为业务频次限制时间段内的最大可使用频次,Fn0为上一个时间段内业务未使用频次,C为当前业务的cup使用率,M为当前业务的内存使用率,I为io使用率,i、j、k为参数因子。
需要说明的是,于本实施例中,当前时间段内实际可使用频次与业务上一个时间段未使用频次为正相关,当业务上一个时间段未使用频次占业务频次限制时间段最大可使用频次50% 则业务上一个时间段未使用频次每减少10%,当前时间段内实际可使用频次基于业务频次限制时间段最大可使用频次减少10%,直到当前时间段内实际可使用频次等于业务频次限制时间段最大可使用频次的50%则不在减少;当前时间段内实际可使用频次与cup使用率,当前业务内存使用率,io使用率都为负相关,其中某一个如果大于70%,则每增加10%,当前时间段内实际可使用频次基于业务频次限制时间段最大可使用频次减少减少一半,直到等于100%则当前时间段内实际可使用频次为“0”。
值得一提的是,计算当次可预支频次的逻辑如下:
Ln(F, S, L) = Σ(n=0,len(S)-1) (if S[n] <= F < S[n+1] then L[n] else0)
L(Ln,Fn1) = if Fn1>=Ln then Ln else if 0<Fn1<Ln then Fn1 else 0。
需要说明的是,其中F为当前时间段内实际可使用频次,S为业务频次上下限制规则,L为当次可预支基准数,Fn1业务当前时间段剩余可预支频次,以及,通过循环匹配业务频次上下限制规则S,获取当次可预支最大频次Ln,通过对比业务当前时间段剩余可预支频次计算得到当次可预支频次。
值得一提的是,本申请还提供一种服务于高并发多中心业务中台的流量控制装置,其中,所述装置包括智控大脑和流量控件,其中,所述智控大脑用于流量控制和流量监控,所述流量控件用于提供对流量的精确控制和管理。
需要说明的是,于本实施例中,智控大脑是一个中心服务,专门用于流量控制装置的流量控制和流量监控,具备智能化控制的能力,可以对全局业务中台的流量进行精确管理。
具体地,以下是智控大脑的主要服务功能描述:1)注册中心:注册中心承担着记录和管理流量控件长连接的任务。当流量控件与其他系统或服务建立长连接时,它会负责注册和记录这些连接的信息,包括连接的标识和相关参数。通过注册中心的记录,我们可以清晰地了解当前活跃的连接情况,以及与流量控件建立的长连接的详细信息。除了注册和记录功能,注册中心还负责监控连接状态。它会实时监测连接的可用性和稳定性,并及时发现连接异常或中断的情况。当检测到连接状态异常时,注册中心将采取相应的措施,控制连接的重新建立或释放,以确保连接的稳定性和可靠性。2)配置中心:配置中心的主要任务是加载和管理管理中心的配置数据。它会将配置数据加载到缓存中,以提供快速访问的能力。通过将配置数据缓存起来,其他智控大脑服务可以直接从缓存中获取配置数据,避免了频繁的配置数据读取操作,提高了系统的响应速度和性能。3)监控中心:监控中心承担着对业务中台服务流量的监控任务。它会实时监测各个业务中台服务的流量情况,包括请求量、响应时间、并发连接数等关键指标。通过对流量数据的监控,我们能够及时发现流量波动或异常情况,以便采取相应的措施进行调整和优化。除了监控功能,监控中心还具备实时分析能力。它会对监控到的流量数据进行分析和处理,提取出必要的信息和指标。这些数据和指标可能包括流量趋势、热门接口、异常请求等。通过实时分析,监控中心能够深入了解流量的特征和趋势,为业务中台提供有价值的数据支持。4)流控中心:作为智控大脑的核心控制服务,流控中心承担着对业务中台流量的智能控制任务。它会根据事先设定的规则配置和流量控件提供的反馈信息,预测业务中台服务的负载情况和频次使用率。通过智能分析和判断,流控中心能够对业务中台的流量进行精确的控制。流控中心依靠规则配置和流量控件的反馈数据来实现智能控制。规则配置是事先设定的一系列规则和策略,用于指导流控中心的决策和控制行为。而流量控件反馈的业务中台服务负载预测和频次使用率信息则为流控中心提供了实时的数据支持,使其能够基于实际情况做出智能决策。通过流控中心的智能控制,我们能够实现对业务中台流量的精细化管理。它利用规则配置和流量控件反馈数据,能够根据业务中台服务的负载情况和频次使用率,灵活地进行流量控制。这样可以避免业务中台的过载和性能下降,同时最大程度地提高系统的稳定性和可用性。5)容灾中心:当业务中台有多个部署机房,在做容灾切换时需要保留原有节点频次数据,容灾中心通过消息队列的方式定时同步频次数据。6)管理中心:对整个流量控件的配置管控以及生产记录数据分析查看等功能。
相应地,流量控制组件充当了另一个关键角色,可以监测和调整传入的流量,并根据预定的规则和策略对其进行管理。通过在服务中嵌入流量控制组件,业务中台能够实现对请求的限流、速率控制、优先级分配等功能。其中,流量控件主要模块的功能描述如下:1)DSL解释器:用于解析自定义DSL配置的规则,DSL配置规则案例如下。
DSL规则:
{[0,500)|0}{[500,1000)|10}{[1000,3000)|20}{[3000,)|50}
规则说明:
{[0,500)|0}大于等于“0”小于“500”的不进行预支,直接请求智控大脑进行预支,{[500,1000)|5}大于等于“500”小于等于“1000”的本地缓存预支“5”,大于“3000”的本地缓存预支“50”。依此规则类推,需要业务中台综合考虑处理服务器台数,与智控大脑是时延等情况定指标。
以及2)流控模块:流控模块是业务中台服务与智控大脑之间的关键组件,其主要功能是从智控大脑获取流量控制可执行频次,并根据这些频次对业务中台接口请求进行精确的频次限制。通过与智控大脑的交互,流控模块获取到了流量控制的可执行频次,这是基于智控大脑的智能决策和算法计算得出的。这些频次代表了业务中台在特定时间段内可以执行的请求次数上限。基于这些频次限制,流控模块将对业务中台的接口请求进行精细化的频次管理。流控模块会对每个接口请求进行频次限制的判断和处理。它会根据智控大脑提供的频次限制信息,结合实际的请求情况,决定是否允许该请求执行。如果请求次数超过了设定的频次限制,流控模块将采取相应的措施进行限制,例如拒绝请求、延迟执行或者排队等待。3)智控大脑连接模块:智控大脑连接模块采用长连接方式与智控大脑进行高速数据交互,旨在提高流量控制与智控大脑之间的交互效率。为了保证连接的稳定性,我们引入定时检查连接心跳策略和失败重连机制。同时,该连接模块还负责解析智控大脑返回的数据,确保数据的准确性和可用性。通过采用长连接方式,流量控制与智控大脑之间可以实时传递数据,避免了频繁建立和断开连接的开销,提高了数据交互的效率和速度。为了保障连接的稳定性,我们定期进行连接心跳检查,确保连接处于正常状态。如果检测到连接异常或中断,我们会立即触发失败重连机制,尝试重新建立连接,以确保数据交互的持续性和可靠性。在数据交互过程中,智控大脑连接模块负责对从智控大脑传回的数据进行解析。这包括对数据的结构化处理、解码和验证,以确保接收到的数据可信且准确无误。通过解析智控大脑传回的数据,我们能够获取关键信息,为后续的流量控制决策和业务优化提供有价值的参考。4)监控反馈模块:监控反馈模块是负责监测服务负载情况以及业务中台服务中频次使用率的关键组件,通过长连接与智控大脑进行实时反馈。该监控反馈模块承担着监控和收集服务负载情况的任务,以确保业务中台的稳定性和性能。它会实时监测各个服务的负载情况,包括请求量、响应时间、并发连接数等指标。通过对这些指标的监控,我们能够及时发现服务负载过高或异常的情况,并采取相应的措施进行调整和优化,以保障整个系统的正常运行。同时,监控反馈模块还负责监测业务中台服务中频次使用率的情况。它会实时收集和统计各个接口的频次使用情况,并将这些数据通过长连接传输给智控大脑。这种实时的反馈机制可以让智控大脑了解到业务中台服务的频次使用情况,以便进行更准确的决策和调整。
本发明第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中包括一种服务于高并发多中心业务中台的流量控制方法程序,所述服务于高并发多中心业务中台的流量控制方法程序被处理器执行时,实现如上述任一项所述的一种服务于高并发多中心业务中台的流量控制方法的步骤。
本发明公开的一种服务于高并发多中心业务中台的流量控制方法与系统,通过流量控制机制,可以有效限制并发请求的数量和频率,避免系统过载和崩溃,合理地分配和调度流量,使系统能够平稳处理业务请求,提高响应速度和性能稳定性;以及通过实时监控和分析流量数据,可以及时发现性能瓶颈和异常情况,借助流量监控工具,可以识别瓶颈组件、高负载区域或低效率操作,并针对性地进行性能优化,提高整体系统的效率和吞吐量。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种服务于高并发多中心业务中台的流量控制方法,其特征在于,包括以下步骤:
获取业务频次上下限值、当次可预支基准数以及业务最大可使用频次、时间节点对应的已预支未使用的频次,以及时间节点对应的未预支的频次;
基于所述时间节点结合所述已预支未使用的频次,以及所述未预支的频次计算时间节点对应的平均未使用频次;
基于所述业务最大可使用频次、所述平均未使用频次以及cpu使用率,内存使用率以及io使用率计算得到当前时段内可使用频次;
基于所述当前时段内可使用频次、所述业务频次上下限值以及所述当次可预支基准数计算得到当次可预支频次,完成流量控制。
2.根据权利要求1所述的一种服务于高并发多中心业务中台的流量控制方法,其特征在于,所述方法还包括:获取业务预支初始规则,其中,所述业务预支初始规则中包括时间节点与预支频次的使用关系其中,所述获取业务预支初始规则,具体包括:
上报服务器IP的服务端口以识别业务类型标识,其中,所述业务类型标识具有唯一性;
基于所述业务类型标识在业务中台的数据库中加载配置数据,其中,所述配置数据包括若干个限制规则;
结合当前服务的整体负载情况结合所述限制规则得到所述业务预支初始标识,其中,所述整体负载情况至少包括cpu使用率,内存使用率以及io使用率。
3.根据权利要求1所述的一种服务于高并发多中心业务中台的流量控制方法,其特征在于,所述方法还包括:
通过当前进程缓存判断当前时间段是否已经达到了业务频次上限,其中,若达到上限业务,服务端接口直接响应超速情况,不做后续业务处理;
判断当前进程缓存中是否有已预支频次,其中,若有则直接获取所述已预支未使用的频次对请求进行放行;
当前进程缓存中没有预支频次且没有超过业务频次上限,则识别频次请求,其中,将所述当次可预支频次放入进程内缓存,供后续限制使用。
4.根据权利要求2所述的一种服务于高并发多中心业务中台的流量控制方法,其特征在于,所述获取业务频次上下限值、当次可预支基准数以及业务最大可使用频次、时间节点对应的已预支未使用的频次,以及时间节点对应的未预支的频次,具体包括:
从所述业务预支初始规则中获取业务频次上下限值以及当次可预支基准数;
从业务中台的配置中心获取所述业务最大可使用频次Fmax;
从业务中台的流量控件获取预设数量值的已预支未使用的频次Fa1,Fa2,Fa3,Fa4,Fa5;
从业务中台的流控中心获取对应预设数量值的未预支频次Fb1,Fb2,Fb3,Fb4,Fb5;
从业务中台的监控中心获取所述cpu使用率C,所述内存使用率M以及所述io使用率I。
5.根据权利要求4所述的一种服务于高并发多中心业务中台的流量控制方法,其特征在于,所述基于所述时间节点结合所述已预支未使用的频次,以及所述未预支的频次计算时间节点对应的平均未使用频次的计算式如下:
Fn0(Fa, Fb) = Σ(i=1,5)(Fa_i + Fb_i) / 10;
其中,Fn0为上一个时间段内业务未使用频次, Fai为已预支未使用的频次,Fbi为未预支频次。
6.根据权利要求5所述的一种服务于高并发多中心业务中台的流量控制方法,其特征在于,所述基于所述业务最大可使用频次、所述平均未使用频次以及cpu使用率,内存使用率以及io使用率计算得到当前时段内可使用频次的计算式如下:
F(Fmax,Fn0,C,M,I)= min(Fmax, max(0, Fmax × (1 - 0.5 × (Fn0 / Fmax)) ×Σ(i=1,3)(1 - max(0, Ci - 0.7) / 0.3)^i × Σ(j=1,3)(1 - max(0, Mj - 0.7) /0.3)^j × Σ(k=1,3)(1 - max(0, Ik - 0.7) / 0.3)^k));
其中,Fmax为业务频次限制时间段内的最大可使用频次,Fn0为上一个时间段内业务未使用频次,C为当前业务的cup使用率,M为当前业务的内存使用率,I为io使用率,i、j、k为参数因子。
7.一种服务于高并发多中心业务中台的流量控制系统,其特征在于,包括存储器和处理器,所述存储器中包括服务于高并发多中心业务中台的流量控制方法程序,所述服务于高并发多中心业务中台的流量控制方法程序被所述处理器执行时实现如下步骤:
获取业务频次上下限值、当次可预支基准数以及业务最大可使用频次、时间节点对应的已预支未使用的频次,以及时间节点对应的未预支的频次;
基于所述时间节点结合所述已预支未使用的频次,以及所述未预支的频次计算时间节点对应的平均未使用频次;
基于所述业务最大可使用频次、所述平均未使用频次以及cpu使用率,内存使用率以及io使用率计算得到当前时段内可使用频次;
基于所述当前时段内可使用频次、所述业务频次上下限值以及所述当次可预支基准数计算得到当次可预支频次,完成流量控制。
8.根据权利要求7所述的一种服务于高并发多中心业务中台的流量控制系统,其特征在于,所述方法还包括:获取业务预支初始规则,其中,所述业务预支初始规则中包括时间节点与预支频次的使用关系其中,所述获取业务预支初始规则,具体包括:
上报服务器IP的服务端口以识别业务类型标识,其中,所述业务类型标识具有唯一性;
基于所述业务类型标识在业务中台的数据库中加载配置数据,其中,所述配置数据包括若干个限制规则;
结合当前服务的整体负载情况结合所述限制规则得到所述业务预支初始标识,其中,所述整体负载情况至少包括cpu使用率,内存使用率以及io使用率。
9.根据权利要求8所述的一种服务于高并发多中心业务中台的流量控制系统,其特征在于,所述方法还包括:
通过当前进程缓存判断当前时间段是否已经达到了业务频次上限,其中,若达到上限业务,服务端接口直接响应超速情况,不做后续业务处理;
判断当前进程缓存中是否有已预支频次,其中,若有则直接获取所述已预支未使用的频次对请求进行放行;
当前进程缓存中没有预支频次且没有超过业务频次上限,则识别频次请求,其中,将所述当次可预支频次放入进程内缓存,供后续限制使用。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括一种服务于高并发多中心业务中台的流量控制方法程序,所述服务于高并发多中心业务中台的流量控制方法程序被处理器执行时,实现如权利要求1至6中任一项所述的一种服务于高并发多中心业务中台的流量控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311832797.7A CN117478600B (zh) | 2023-12-28 | 2023-12-28 | 服务于高并发多中心业务中台的流量控制方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311832797.7A CN117478600B (zh) | 2023-12-28 | 2023-12-28 | 服务于高并发多中心业务中台的流量控制方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117478600A true CN117478600A (zh) | 2024-01-30 |
CN117478600B CN117478600B (zh) | 2024-03-08 |
Family
ID=89624236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311832797.7A Active CN117478600B (zh) | 2023-12-28 | 2023-12-28 | 服务于高并发多中心业务中台的流量控制方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117478600B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110955528A (zh) * | 2019-12-31 | 2020-04-03 | 智业软件股份有限公司 | 一种外联业务处理高并发请求的系统和方法 |
CN113765814A (zh) * | 2020-11-09 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 网络访问的限流方法及装置 |
CN114640700A (zh) * | 2020-11-30 | 2022-06-17 | 腾讯科技(深圳)有限公司 | 一种调用频次控制方法及装置 |
WO2023103527A1 (zh) * | 2021-12-10 | 2023-06-15 | 深圳前海微众银行股份有限公司 | 一种访问频次的预测方法及装置 |
-
2023
- 2023-12-28 CN CN202311832797.7A patent/CN117478600B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110955528A (zh) * | 2019-12-31 | 2020-04-03 | 智业软件股份有限公司 | 一种外联业务处理高并发请求的系统和方法 |
CN113765814A (zh) * | 2020-11-09 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 网络访问的限流方法及装置 |
CN114640700A (zh) * | 2020-11-30 | 2022-06-17 | 腾讯科技(深圳)有限公司 | 一种调用频次控制方法及装置 |
WO2023103527A1 (zh) * | 2021-12-10 | 2023-06-15 | 深圳前海微众银行股份有限公司 | 一种访问频次的预测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117478600B (zh) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3072260B1 (en) | Methods, systems, and computer readable media for a network function virtualization information concentrator | |
CN112162865B (zh) | 服务器的调度方法、装置和服务器 | |
CN108039964B (zh) | 基于网络功能虚拟化的故障处理方法及装置、系统 | |
EP2563062B1 (en) | Long connection management apparatus and link resource management method for long connection communication | |
EP2815538B1 (en) | Method and apparatus for rapid disaster recovery preparation in a cloud network | |
CN107544839B (zh) | 虚拟机迁移系统、方法及装置 | |
US20130024568A1 (en) | Management communication | |
US20070130330A1 (en) | System for inventing computer systems and alerting users of faults to systems for monitoring | |
CN110830283B (zh) | 故障检测方法、装置、设备和系统 | |
CN109960634B (zh) | 一种应用程序监控方法、装置及系统 | |
KR20130083032A (ko) | 클라우드 환경에서 서비스품질 보장을 위한 서비스수준협약 관리방법 | |
EP4080924A1 (en) | Injecting analytics into network repository function (nrf) for automated management of 5g | |
US9667552B2 (en) | Real-time SLA impact analysis | |
CN102984184A (zh) | 一种分布式系统的服务负载均衡方法及装置 | |
CN112311896B (zh) | 健康检查方法、装置、设备及计算机可读存储介质 | |
CN106649856A (zh) | 一种数据库访问装置、系统及方法 | |
CN106506278B (zh) | 一种服务可用性监控方法及装置 | |
CN109726151B (zh) | 用于管理输入输出栈的方法、设备和介质 | |
CN107846294B (zh) | 一种主备服务切换方法及装置 | |
CN107426012B (zh) | 一种基于超融合架构的故障恢复方法及其装置 | |
CN117478600B (zh) | 服务于高并发多中心业务中台的流量控制方法与系统 | |
CN113760634A (zh) | 一种数据处理方法和装置 | |
CN117221085A (zh) | 一种网络故障预警方法、装置、电子设备及存储介质 | |
CN116886286A (zh) | 大数据认证服务自适应方法、装置和设备 | |
KR100970211B1 (ko) | 인증 서비스 시스템에서 별도의 감시자를 통해 서비스상태를 감시하는 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |