CN116541167A - 系统流量控制方法、装置、电子设备及计算机可读介质 - Google Patents

系统流量控制方法、装置、电子设备及计算机可读介质 Download PDF

Info

Publication number
CN116541167A
CN116541167A CN202310480739.6A CN202310480739A CN116541167A CN 116541167 A CN116541167 A CN 116541167A CN 202310480739 A CN202310480739 A CN 202310480739A CN 116541167 A CN116541167 A CN 116541167A
Authority
CN
China
Prior art keywords
throughput
predicted
value
decision factor
decision
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.)
Pending
Application number
CN202310480739.6A
Other languages
English (en)
Inventor
李芳�
林志农
戚桂凤
吴奔
马杰
时丹丹
代路伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Construction Bank Corp
CCB Finetech Co Ltd
Original Assignee
China Construction Bank Corp
CCB Finetech Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Construction Bank Corp, CCB Finetech Co Ltd filed Critical China Construction Bank Corp
Priority to CN202310480739.6A priority Critical patent/CN116541167A/zh
Publication of CN116541167A publication Critical patent/CN116541167A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications

Abstract

本申请公开了系统流量控制方法、装置、电子设备及计算机可读介质,涉及资源管理技术领域,该方法包括:获取系统的运行数据;将运行数据输入至智能决策模型,得到决策因子峰值、系统吞吐量峰值和与决策因子峰值对应的加权策略,计算得到第一预测吞吐量;调用事件驱动机制,准实时采集系统的决策因子信息,基于决策因子信息更新决策因子峰值和系统吞吐量峰值;基于更新后的决策因子峰值和系统吞吐量峰值,计算得到第二预测吞吐量;响应于第二预测吞吐量与第一预测吞吐量不一致,根据第二预测吞吐量调整系统的吞吐量策略,以对系统的流量进行控制。实现根据系统智能决策的结果,及时调整流量控制、熔断降级等吞吐量策略,提高系统的最大吞吐量。

Description

系统流量控制方法、装置、电子设备及计算机可读介质
技术领域
本申请涉及资源管理技术领域,尤其涉及一种系统流量控制方法、装置、电子设备及计算机可读介质。
背景技术
目前,随着国家数字货币金融业务的发展,钱包作为数字货币的核心,面临越来越大的挑战,同一种钱包转帐业务涉及多个的系统调用。在跨系统、多组件、多机房、硬件、软件、带宽、业务量等多重因素下,在保障钱包系统稳定的基础上,系统的动态吞吐量往往不是最优。现有的流量控制、熔断降级、反向压力等等是根据既定的策略,仅针对各自的管理范围进行控制,缺乏对系统自身的综合性动态调控管理。
在实现本申请过程中,发明人发现现有技术中至少存在如下问题:
现有的流量控制、熔断降级、反向压力等等是根据既定的策略,仅针对各自的管理范围进行控制,缺乏对系统自身的综合性动态调控管理。
发明内容
有鉴于此,本申请实施例提供一种系统流量控制方法、装置、电子设备及计算机可读介质,能够解决现有的流量控制、熔断降级、反向压力等等是根据既定的策略,仅针对各自的管理范围进行控制,缺乏对系统自身的综合性动态调控管理的问题。
为实现上述目的,根据本申请实施例的一个方面,提供了一种系统流量控制方法,包括:
获取系统的运行数据;
将运行数据输入至智能决策模型,以得到决策因子峰值、系统吞吐量峰值和与决策因子峰值对应的加权策略,进而计算得到第一预测吞吐量;
调用事件驱动机制,准实时采集系统的决策因子信息,进而基于决策因子信息更新决策因子峰值和系统吞吐量峰值;
基于更新后的决策因子峰值和系统吞吐量峰值,计算得到第二预测吞吐量;
响应于第二预测吞吐量与第一预测吞吐量不一致,根据第二预测吞吐量调整系统的吞吐量策略,以对系统的流量进行控制。
可选地,在根据第二预测吞吐量调整系统的吞吐量策略之前,方法还包括:
确定第二预测吞吐量和第一预测吞吐量的差值;
响应于差值大于第一预设阈值,执行吞吐量策略调整进程。
可选地,方法还包括:
响应于差值小于第一预设阈值,返回无需处理标识。
可选地,述将运行数据输入至智能决策模型,以得到决策因子峰值、系统吞吐量峰值和与决策因子峰值对应的加权策略,包括:
确定系统的交易占比;
基于交易占比,确定决策因子峰值。
可选地,基于交易占比,确定决策因子峰值,包括:
对于每一个交易占比,计算对应的决策因子值;
确定各决策因子值对应的决策因子;
对于每一个决策因子,确定对应的决策因子值集合;
将决策因子值集合中最大的决策因子值确定为决策因子对应的决策因子峰值。
可选地,将运行数据输入至智能决策模型,以得到决策因子峰值、系统吞吐量峰值和与决策因子峰值对应的加权策略,还包括:
确定在预测外呼请求值为mock值时,根据交易占比发起压力测试得到的预测接入请求最高值;
将预测接入请求最高值确定为系统吞吐量峰值。
可选地,将运行数据输入至智能决策模型,以得到决策因子峰值、系统吞吐量峰值和与决策因子峰值对应的加权策略,还包括:
确定在预测接入请求值为mock值时,根据交易占比发起压力测试得到的预测外呼请求最高值;
将预测外呼请求最高值确定为系统吞吐量峰值。
可选地,在计算得到第一预测吞吐量之后,方法还包括:
响应于第一预测吞吐量大于第二预设阈值,返回系统异常标识,根据上一轮接入请求值、上一轮呼出请求值和预设的步长增长因子,确定当前系统的预测接入请求值和预测外呼请求值,进而基于当前系统的预测接入请求值和预测外呼请求值调整当前系统的吞吐量策略;
响应于第一预测吞吐量小于第二预设阈值,返回系统正常标识,根据上一轮接入请求值、上一轮呼出请求值、第一预测吞吐量和预设的步长增长因子,确定当前系统的预测接入请求值和预测外呼请求值,进而基于当前系统的预测接入请求值和预测外呼请求值调整当前系统的吞吐量策略。
另外,本申请还提供了一种系统流量控制装置,包括:
获取单元,被配置成获取系统的运行数据;
第一预测吞吐量计算单元,被配置成将运行数据输入至智能决策模型,以得到决策因子峰值、系统吞吐量峰值和与决策因子峰值对应的加权策略,进而计算得到第一预测吞吐量;
更新单元,被配置成调用事件驱动机制,准实时采集系统的决策因子信息,进而基于决策因子信息更新决策因子峰值和系统吞吐量峰值;
第二预测吞吐量计算单元,被配置成基于更新后的决策因子峰值和系统吞吐量峰值,计算得到第二预测吞吐量;
流量控制单元,被配置成响应于第二预测吞吐量与第一预测吞吐量不一致,根据第二预测吞吐量调整系统的吞吐量策略,以对系统的流量进行控制。
可选地,流量控制单元进一步被配置成:
确定第二预测吞吐量和第一预测吞吐量的差值;
响应于差值大于第一预设阈值,执行吞吐量策略调整进程。
可选地,流量控制单元进一步被配置成:
响应于差值小于第一预设阈值,返回无需处理标识。
可选地,第一预测吞吐量计算单元进一步被配置成:
确定系统的交易占比;
基于交易占比,确定决策因子峰值。
可选地,第一预测吞吐量计算单元进一步被配置成:
对于每一个交易占比,计算对应的决策因子值;
确定各决策因子值对应的决策因子;
对于每一个决策因子,确定对应的决策因子值集合;
将决策因子值集合中最大的决策因子值确定为决策因子对应的决策因子峰值。
可选地,第一预测吞吐量计算单元进一步被配置成:
确定在预测外呼请求值为mock值时,根据交易占比发起压力测试得到的预测接入请求最高值;
将预测接入请求最高值确定为系统吞吐量峰值。
可选地,第一预测吞吐量计算单元进一步被配置成:
确定在预测接入请求值为mock值时,根据交易占比发起压力测试得到的预测外呼请求最高值;
将预测外呼请求最高值确定为系统吞吐量峰值。
可选地,系统流量控制装置还包括调整单元,被配置成:
响应于第一预测吞吐量大于第二预设阈值,返回系统异常标识,根据上一轮接入请求值、上一轮呼出请求值和预设的步长增长因子,确定当前系统的预测接入请求值和预测外呼请求值,进而基于当前系统的预测接入请求值和预测外呼请求值调整当前系统的吞吐量策略;
响应于第一预测吞吐量小于第二预设阈值,返回系统正常标识,根据上一轮接入请求值、上一轮呼出请求值、第一预测吞吐量和预设的步长增长因子,确定当前系统的预测接入请求值和预测外呼请求值,进而基于当前系统的预测接入请求值和预测外呼请求值调整当前系统的吞吐量策略。
另外,本申请还提供了一种系统流量控制电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述的系统流量控制方法。
另外,本申请还提供了一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现如上述的系统流量控制方法。
为实现上述目的,根据本申请实施例的又一个方面,提供了一种计算机程序产品。
本申请实施例的一种计算机程序产品,包括计算机程序,程序被处理器执行时实现本申请实施例提供的系统流量控制方法。
上述发明中的一个实施例具有如下优点或有益效果:本申请通过获取系统的运行数据;将运行数据输入至智能决策模型,以得到决策因子峰值、系统吞吐量峰值和与决策因子峰值对应的加权策略,进而计算得到第一预测吞吐量;调用事件驱动机制,准实时采集系统的决策因子信息,进而基于决策因子信息更新决策因子峰值和系统吞吐量峰值;基于更新后的决策因子峰值和系统吞吐量峰值,计算得到第二预测吞吐量;响应于第二预测吞吐量与第一预测吞吐量不一致,根据第二预测吞吐量调整系统的吞吐量策略,以对系统的流量进行控制。在不调整或者微调现有流量控制、熔断降级的功能代码的前提下,根据系统智能决策的结果,及时调整流量控制、熔断降级等吞吐量策略,提高系统的最大吞吐量。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本申请,不构成对本申请的不当限定。其中:
图1是根据本申请第一实施例的系统流量控制方法的主要流程的示意图;
图2是根据本申请第二实施例的系统流量控制方法的主要流程的示意图;
图3是根据本申请第三实施例的系统流量控制方法的应用场景示意图;
图4是根据本申请实施例的系统流量控制装置的主要单元的示意图;
图5是本申请实施例可以应用于其中的示例性系统架构图;
图6是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
图1是根据本申请第一实施例的系统流量控制方法的主要流程的示意图,如图1所示,系统流量控制方法包括:
步骤S101,获取系统的运行数据。
本实施例中,系统流量控制方法的执行主体(例如,可以是服务器)可以通过有线连接或无线连接的方式,获取系统的运行数据。系统的运行数据,例如,当前的系统交易的交易量、交易占比等数据。系统交易,是指交易者运用交易系统来帮助解决交易过程中的信息收集、信息处理、交易决策、交易计划、交易执行等问题的系统性的交易方法。交易占比,可以为系统的每一交易对应的交易量与总交易量的比值。
执行主体可以实时获取或者在预设时间获取系统的运行数据,以有效监控系统的运行数据,实现最佳的系统资源利用,提高系统的应用程序效率,实现在保障系统稳定性的基础上,动态调整系统的吞吐量。
步骤S102,将运行数据输入至智能决策模型,以得到决策因子峰值、系统吞吐量峰值和与决策因子峰值对应的加权策略,进而计算得到第一预测吞吐量。
执行主体可以调用智能决策模型以根据输入的运行数据计算得到决策因子峰值、系统吞吐量峰值和与决策因子峰值对应的加权策略,进而基于计算得到决策因子峰值、系统吞吐量峰值和与决策因子峰值对应的加权策略计算得到第一预测吞吐量。第一预测吞吐量是直接由首次获取的系统的运行数据预测得到的系统的吞吐量。
具体地,将运行数据输入至智能决策模型,以得到决策因子峰值、系统吞吐量峰值和与决策因子峰值对应的加权策略,包括:
确定系统的交易占比;基于交易占比,确定决策因子峰值。
执行主体可以调用智能决策模型,以根据运行数据中的交易量计算得到每一交易对应的交易占比。如表1所示:
表1
交易 T0 T1 T2 T3 T4 T5 T…
交易占比 P0 P1 P2 P3 P4 P5 P…
决策因子E0 E00 E01 E02 E03 E04 E05 E0…
决策因子E1 E10 E11 E12 E13 E14 E15 E1…
决策因子E2 E20 E21 E22 E23 E24 E25 E2…
决策因子E… E...0 E...1 E...2 E...3 E...4 E...5 E……
示例的:
具体地,基于交易占比,确定决策因子峰值,包括:
对于每一个交易占比(例如P0),计算对应的决策因子值(例如,P0对应的E00、E10、E20、…,当然还有其他交易占比对应的决策因子值,如表1所示,在此不再赘述);确定各决策因子值对应的决策因子(例如决策因子E0、决策因子E1、决策因子E2、…);对于每一个决策因子(例如对于决策因子E0),确定对应的决策因子值集合(例如E00、E01、E02、E03、E04、E05、。。。);将决策因子值集合中最大的决策因子值(E0max=Max(E00,E01,E02,…E0n),(i=0,1,2,…,n),例如E02)确定为决策因子对应的决策因子峰值E02
示例的,根据表1中的数据,决策因子峰值的通用表达式为:Eimax=Max(Ei0,Ei1,Ei2,…Ein),(i=0,1,2,…)。
具体地,将运行数据输入至智能决策模型,以得到决策因子峰值、系统吞吐量峰值和与决策因子峰值对应的加权策略,还包括:
确定在预测外呼请求值为mock值时,根据交易占比发起压力测试得到的预测接入请求最高值;将预测接入请求最高值确定为系统吞吐量峰值。
本申请实施例中的mock的含义为对于不容易构造或者获取的对象,用一个虚拟的对象来创建以便测试的测试方法。
每秒处理的事务数目(Transactions Per Second,TPS),一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程(完整处理,即客户端发起请求到得到响应)。
示例的,定义H:预测接入请求TPS,K:预测外呼请求TPS。
Hmax:在K为mock状态下,根据交易占比Pi发起压力测试,取TPS最高值为系统吞吐量峰值。
Hlast:上一轮接入的TPS值。
一个系统吞吐量通常由TPS、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它消耗导致系统性能下降。
具体地,将运行数据输入至智能决策模型,以得到决策因子峰值、系统吞吐量峰值和与决策因子峰值对应的加权策略,还包括:
确定在预测接入请求值为mock值时,根据交易占比发起压力测试得到的预测外呼请求最高值;将预测外呼请求最高值确定为系统吞吐量峰值。
Kmax:在H为mock状态下,根据交易占比Pi发起压力测试,取TPS最高值为系统吞吐量峰值。
Klast:上一轮外呼的TPS值。TPS(Transactions Per Second)为系统吞吐量,也就是事务数/秒,是软件测试结果的测量单位,一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。
执行主体可以针对相关决策因子,初始化对应的加权策略矩阵。如表2所示:
表2
示例的,吞吐量智能预测的过程如下:
初始化智能决策参数信息,后续根据“事后跟踪”步骤更新。
定义F:步长增长因子,范围0.00~0.99。根据二八定定律,默认为0.2。
吞吐量智能预测公式(1)如下所示:
其中,Wi为加权策略,Eimax为决策因子上限值,也称为决策因子峰值,Ei为当前系统的决策因子值。
如果P>=1,代表有系统异常,则:
H=Min(Hlast,Hlast*(1-F));
K=Min(Klast,Klast*(1-F));
如果P<1,代表有系统正常,则:
H=Max(Hmax,Hlast*P*(1+F));
K=Max(Kmax,Klast*P*(1+F))。
其中,Hlast:上一轮接入TPS值;Klast:上一轮外呼TPS值。
具体地,在计算得到第一预测吞吐量之后,方法还包括:
响应于第一预测吞吐量大于第二预设阈值,返回系统异常标识,根据上一轮接入请求值、上一轮呼出请求值和预设的步长增长因子,确定当前系统的预测接入请求值和预测外呼请求值,进而基于当前系统的预测接入请求值和预测外呼请求值调整当前系统的吞吐量策略;
响应于第一预测吞吐量小于第二预设阈值,返回系统正常标识,根据上一轮接入请求值、上一轮呼出请求值、第一预测吞吐量和预设的步长增长因子,确定当前系统的预测接入请求值和预测外呼请求值,进而基于当前系统的预测接入请求值和预测外呼请求值调整当前系统的吞吐量策略。
步骤S103,调用事件驱动机制,准实时采集系统的决策因子信息,进而基于决策因子信息更新决策因子峰值和系统吞吐量峰值。
示例的,通过epoll事件驱动机制,准实时(准实时:在要求的时间内必须到达,否则数据无效,不会对系统造成巨大的损失)采集影响系统吞吐量的因子信息(例如反向压力、TPS、QPS、RT、系统交易失败比例、系统负载等信息),并与将运行数据输入至智能决策模型得到的决策因子数据(Ei)比较,得到比较结果,比较结果例如可以是二者的差值或者偏离度。IO:输入/输出(Input/Output)。epoll是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。在获取事件的时候,epoll无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入已就绪队列的描述符集合就行了。epoll除了提供select/poll那种IO事件的水平触发(Level Triggered)外,还提供了边缘触发(Edge Triggered),这就使得用户空间程序有可能缓存IO状态,减少epoll_wait/epoll_pwait的调用,提高应用程序效率。QPS(Queries Per Second)意思是“每秒查询率”,是一台服务器每秒能够响应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。执行主体可以根据比较结果确定是否更新将运行数据输入至智能决策模型得到的决策因子峰值和系统吞吐量峰值。TPS即Transactions PerSecond的缩写,表示每秒处理的事务数目。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程(完整处理,即客户端发起请求到得到响应)。QPS即Queries PerSecond的缩写,表示每秒能处理查询数目(完整处理,即客户端发起请求到得到响应),是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。RT:平均响应时间。
步骤S102,基于更新后的决策因子峰值和系统吞吐量峰值,计算得到第二预测吞吐量。
具体地,执行主体可以将更新后的重新输入至智能决策模型,以使智能决策模型基于更新后的决策因子峰值和系统吞吐量峰值重新计算预测的吞吐量,即为第二预测吞吐量。
步骤S103,响应于第二预测吞吐量与第一预测吞吐量不一致,根据第二预测吞吐量调整系统的吞吐量策略,以对系统的流量进行控制。
当执行主体确定第二预测吞吐量与第一预测吞吐量不一致时,表明系统吞吐量需要更新,则基于新的第二预测吞吐量调整系统的流量控制、熔断降级策略等吞吐量策略。其中,流量控制(Flow Control),为根据流量、并发线程数、响应时间等指标,把第二预测吞吐量作为门限阈值限制系统的交易流量,将系统的流量调整成合适的形状,避免应用被瞬时的流量高峰冲垮,从而保障应用的高可用性,达到削峰填谷的效果。由于调用关系的复杂性,如果调用链路中的某个资源不稳定,最终会导致请求发生堆积。熔断降级策略会在调用链路中某个资源出现不稳定状态时(例如,当前系统资源调用的交易流量(即当前系统吞吐量)超过第二预测吞吐量时,调用超时或异常报警策略),对这个资源的调用进行限制,让请求快速失败,避免影响到其它的资源而导致级联错误。
执行主体通过首先根据系统的运行数据预测得到一个吞吐量,然后通过定时获取最新的系统运行数据以不断优化预测得到的吞吐量,从而可以有效提高系统的资源利用率以及提高系统的应用程序的业务处理效率,实现在保障系统稳定性的基础上,动态调整系统的吞吐量。
本实施例通过获取系统的运行数据;将运行数据输入至智能决策模型,以得到决策因子峰值、系统吞吐量峰值和与决策因子峰值对应的加权策略,进而计算得到第一预测吞吐量;调用事件驱动机制,准实时采集系统的决策因子信息,进而基于决策因子信息更新决策因子峰值和系统吞吐量峰值;基于更新后的决策因子峰值和系统吞吐量峰值,计算得到第二预测吞吐量;响应于第二预测吞吐量与第一预测吞吐量不一致,根据第二预测吞吐量调整系统的吞吐量策略,以对系统的流量进行控制。在不调整或者微调现有流量控制、熔断降级的功能代码的前提下,根据系统智能决策的结果,及时调整流量控制、熔断降级等吞吐量策略,提高系统的最大吞吐量。
图2是根据本申请第二实施例的系统流量控制方法的主要流程示意图,如图2所示,系统流量控制方法包括:
步骤S201,获取系统的运行数据。
具体地,执行主体可以每隔预设时间获取系统的运行数据,以便于对系统的吞吐量进行动态调控。当然,执行主体也可以在接收到系统资源交易超时或者未响应时,获取系统的运行数据,以定位系统资源交易超时或者未响应的故障原因。本申请实施例对系统的运行数据的获取时机不做具体限定。
步骤S202,将运行数据输入至智能决策模型,以得到决策因子峰值、系统吞吐量峰值和与决策因子峰值对应的加权策略,进而计算得到第一预测吞吐量。
智能决策模型中可以存储有已编译完成的用于基于运行数据计算决策因子峰值、系统吞吐量峰值和决策因子峰值对应的加权策略的计算机程序,在执行主体将运行数据输入至智能决策模型中时,智能决策模型可以调用其中的程序对运行数据进行数据分析和处理,以得到决策因子峰值、系统吞吐量峰值和与决策因子峰值对应的加权策略,进而计算得到第一预测吞吐量。并且智能决策模型还可以由神经网络模型训练得到,进而可以实现较为精准的吞吐量的预测。
步骤S203,调用事件驱动机制,准实时采集系统的决策因子信息,进而基于决策因子信息更新决策因子峰值和系统吞吐量峰值。
事件驱动机制,例如可以是epoll事件驱动机制。epoll是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入已就绪队列的描述符集合就行了。epoll除了提供select/poll那种IO事件的水平触发(Level Triggered)外,还提供了边缘触发(Edge Triggered),这就使得用户空间程序有可能缓存IO状态,减少epoll_wait/epoll_pwait的调用,提高应用程序效率。IO:输入/输出(Input/Output)。
步骤S204,基于更新后的决策因子峰值和系统吞吐量峰值,计算得到第二预测吞吐量。
步骤S205,响应于第二预测吞吐量与第一预测吞吐量不一致。
步骤S206,确定第二预测吞吐量和第一预测吞吐量的差值。
步骤S207,响应于差值大于第一预设阈值,执行吞吐量策略调整进程。
步骤S208,根据第二预测吞吐量调整系统的吞吐量策略,以对系统的流量进行控制。
具体地,方法还包括:
响应于差值小于第一预设阈值,返回无需处理标识。
执行主体通过将第二预测吞吐量与第一预测吞吐量的差值与第一预设阈值进行比较,在二者差值大于第一预设阈值时才进行吞吐量策略的调整,从而可以避免只要第二预测吞吐量和第一预测吞吐量有差别即调整吞吐量策略而造成的系统计算资源的浪费,在保证系统较高的资源利用率、保障系统稳定性、动态调整系统的吞吐量的前提下,避免频繁占用较多的系统的计算资源。
执行主体在得到第二预测吞吐量后,可以将第二预测吞吐量与第一预测吞吐量进行比较,当二者的差值大于第一预设阈值(本申请实施例对第一预设阈值的具体数值不做限定)时,表明可以对系统的吞吐量策略进行调整,则执行吞吐量调整进程,根据第二预测吞吐量调整系统的吞吐量策略,以对系统的流量进行控制。当响应于差值小于第一预设阈值,表明此时二者的差异可以忽略不计,无需频繁地在具有微笑差别时就进行系统的吞吐量策略的调整,以节省系统的计算资源,在兼顾系统吞吐量的同时提升系统的计算性能,具体地,执行主体可以返回无需处理标识,例如success或者null等,本申请实施例对该返回的具体内容不做限定。
图3是根据本申请第三实施例的系统流量控制方法的应用场景示意图。本申请实施例的系统流量控制方法,可以应用于对系统的吞吐量进行动态调控的场景。如图3所示,获取系统的运行数据301。服务器302将运行数据301输入至智能决策模型303,以得到决策因子峰值304、系统吞吐量峰值305和与决策因子峰值对应的加权策略306,进而计算得到第一预测吞吐量307。服务器302调用事件驱动机制308,准实时采集系统的决策因子信息309,进而基于决策因子信息309更新决策因子峰值304和系统吞吐量峰值305以得到更新后的决策因子峰值310和更新后的系统吞吐量峰值311并对应更新加权策略得到更新后的加权策略312。服务器302基于更新后的决策因子峰值310和系统吞吐量峰值311以及更新后的决策因子峰值310对应的更新后的加权策略312,计算得到第二预测吞吐量313。服务器302响应于第二预测吞吐量313与第一预测吞吐量307不一致,根据第二预测吞吐量313调整系统的吞吐量策略314,以对系统的流量315进行控制。
图4是根据本申请实施例的系统流量控制装置的主要单元的示意图。如图4所示,系统流量控制装置包括获取单元401、第一预测吞吐量计算单元402、更新单元403、第二预测吞吐量计算单元404和流量控制单元405。
获取单元401,被配置成获取系统的运行数据。
第一预测吞吐量计算单元402,被配置成将运行数据输入至智能决策模型,以得到决策因子峰值、系统吞吐量峰值和与决策因子峰值对应的加权策略,进而计算得到第一预测吞吐量。
更新单元403,被配置成调用事件驱动机制,准实时采集系统的决策因子信息,进而基于决策因子信息更新决策因子峰值和系统吞吐量峰值。
第二预测吞吐量计算单元404,被配置成基于更新后的决策因子峰值和系统吞吐量峰值,计算得到第二预测吞吐量。
流量控制单元405,被配置成响应于第二预测吞吐量与第一预测吞吐量不一致,根据第二预测吞吐量调整系统的吞吐量策略,以对系统的流量进行控制。
在一些实施例中,流量控制单元405进一步被配置成:确定第二预测吞吐量和第一预测吞吐量的差值;响应于差值大于第一预设阈值,执行吞吐量策略调整进程。
在一些实施例中,流量控制单元405进一步被配置成:响应于差值小于第一预设阈值,返回无需处理标识。
在一些实施例中,第一预测吞吐量计算单元402进一步被配置成:确定系统的交易占比;基于交易占比,确定决策因子峰值。
在一些实施例中,第一预测吞吐量计算单元402进一步被配置成:对于每一个交易占比,计算对应的决策因子值;确定各决策因子值对应的决策因子;对于每一个决策因子,确定对应的决策因子值集合;将决策因子值集合中最大的决策因子值确定为决策因子对应的决策因子峰值。
在一些实施例中,第一预测吞吐量计算单元402进一步被配置成:确定在预测外呼请求值为mock值时,根据交易占比发起压力测试得到的预测接入请求最高值;将预测接入请求最高值确定为系统吞吐量峰值。
在一些实施例中,第一预测吞吐量计算单元402进一步被配置成:确定在预测接入请求值为mock值时,根据交易占比发起压力测试得到的预测外呼请求最高值;将预测外呼请求最高值确定为系统吞吐量峰值。
在一些实施例中,系统流量控制装置还包括图4中未示出的调整单元,被配置成:响应于第一预测吞吐量大于第二预设阈值,返回系统异常标识,根据上一轮接入请求值、上一轮呼出请求值和预设的步长增长因子,确定当前系统的预测接入请求值和预测外呼请求值,进而基于当前系统的预测接入请求值和预测外呼请求值调整当前系统的吞吐量策略;响应于第一预测吞吐量小于第二预设阈值,返回系统正常标识,根据上一轮接入请求值、上一轮呼出请求值、第一预测吞吐量和预设的步长增长因子,确定当前系统的预测接入请求值和预测外呼请求值,进而基于当前系统的预测接入请求值和预测外呼请求值调整当前系统的吞吐量策略。
需要说明的是,在本申请系统流量控制方法和系统流量控制装置在具体实施内容上具有相应关系,故重复内容不再说明。
图5示出了可以应用本申请实施例的系统流量控制方法或系统流量控制装置的示例性系统架构500。
如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备501、502、503可以是具有征系统流量控制处理屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所获取系统的运行数据提供支持的后台管理服务器(仅为示例)。后台管理服务器可以获取系统的运行数据;将运行数据输入至智能决策模型,以得到决策因子峰值、系统吞吐量峰值和与决策因子峰值对应的加权策略,进而计算得到第一预测吞吐量;调用事件驱动机制,准实时采集系统的决策因子信息,进而基于决策因子信息更新决策因子峰值和系统吞吐量峰值;基于更新后的决策因子峰值和系统吞吐量峰值,计算得到第二预测吞吐量;响应于第二预测吞吐量与第一预测吞吐量不一致,根据第二预测吞吐量调整系统的吞吐量策略,以对系统的流量进行控制。在不调整或者微调现有流量控制、熔断降级的功能代码的前提下,根据系统智能决策的结果,及时调整流量控制、熔断降级等吞吐量策略,提高系统的最大吞吐量。
需要说明的是,本申请实施例所提供的系统流量控制方法一般由服务器505执行,相应地,系统流量控制装置一般设置于服务器505中。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图6,其示出了适于用来实现本申请实施例的终端设备的计算机系统600的结构示意图。图6示出的终端设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有计算机系统600操作所需的各种程序和数据。CPU601、ROM602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶征信授权查询处理器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本申请公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、第一预测吞吐量计算单元、更新单元、第二预测吞吐量计算单元和流量控制单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备获取系统的运行数据;将运行数据输入至智能决策模型,以得到决策因子峰值、系统吞吐量峰值和与决策因子峰值对应的加权策略,进而计算得到第一预测吞吐量;调用事件驱动机制,准实时采集系统的决策因子信息,进而基于决策因子信息更新决策因子峰值和系统吞吐量峰值;基于更新后的决策因子峰值和系统吞吐量峰值,计算得到第二预测吞吐量;响应于第二预测吞吐量与第一预测吞吐量不一致,根据第二预测吞吐量调整系统的吞吐量策略,以对系统的流量进行控制。在不调整或者微调现有流量控制、熔断降级的功能代码的前提下,根据系统智能决策的结果,及时调整流量控制、熔断降级等吞吐量策略,提高系统的最大吞吐量。
本申请的计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本申请实施例中的系统流量控制方法。
根据本申请实施例的技术方案,在不调整或者微调现有流量控制、熔断降级的功能代码的前提下,根据系统智能决策的结果,及时调整流量控制、熔断降级等吞吐量策略,提高系统的最大吞吐量。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (16)

1.一种系统流量控制方法,其特征在于,包括:
获取系统的运行数据;
将所述运行数据输入至智能决策模型,以得到决策因子峰值、系统吞吐量峰值和与所述决策因子峰值对应的加权策略,进而计算得到第一预测吞吐量;
调用事件驱动机制,准实时采集所述系统的决策因子信息,进而基于所述决策因子信息更新所述决策因子峰值和所述系统吞吐量峰值;
基于更新后的决策因子峰值和系统吞吐量峰值,计算得到第二预测吞吐量;
响应于所述第二预测吞吐量与所述第一预测吞吐量不一致,根据所述第二预测吞吐量调整所述系统的吞吐量策略,以对所述系统的流量进行控制。
2.根据权利要求1所述的方法,其特征在于,在所述根据所述第二预测吞吐量调整所述系统的吞吐量策略之前,所述方法还包括:
确定所述第二预测吞吐量和所述第一预测吞吐量的差值;
响应于所述差值大于第一预设阈值,执行吞吐量策略调整进程。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
响应于所述差值小于第一预设阈值,返回无需处理标识。
4.根据权利要求1所述的方法,其特征在于,所述将所述运行数据输入至智能决策模型,以得到决策因子峰值、系统吞吐量峰值和与所述决策因子峰值对应的加权策略,包括:
确定所述系统的交易占比;
基于所述交易占比,确定决策因子峰值。
5.根据权利要求4所述的方法,其特征在于,所述基于所述交易占比,确定决策因子峰值,包括:
对于每一个交易占比,计算对应的决策因子值;
确定各所述决策因子值对应的决策因子;
对于每一个决策因子,确定对应的决策因子值集合;
将所述决策因子值集合中最大的决策因子值确定为所述决策因子对应的决策因子峰值。
6.根据权利要求4所述的方法,其特征在于,所述将所述运行数据输入至智能决策模型,以得到决策因子峰值、系统吞吐量峰值和与所述决策因子峰值对应的加权策略,还包括:
确定在预测外呼请求值为mock值时,根据所述交易占比发起压力测试得到的预测接入请求最高值;
将所述预测接入请求最高值确定为系统吞吐量峰值。
7.根据权利要求4所述的方法,其特征在于,所述将所述运行数据输入至智能决策模型,以得到决策因子峰值、系统吞吐量峰值和与所述决策因子峰值对应的加权策略,还包括:
确定在预测接入请求值为mock值时,根据所述交易占比发起压力测试得到的预测外呼请求最高值;
将所述预测外呼请求最高值确定为系统吞吐量峰值。
8.根据权利要求1所述的方法,其特征在于,在所述计算得到第一预测吞吐量之后,所述方法还包括:
响应于所述第一预测吞吐量大于第二预设阈值,返回系统异常标识,根据上一轮接入请求值、上一轮呼出请求值和预设的步长增长因子,确定当前系统的预测接入请求值和预测外呼请求值,进而基于所述当前系统的预测接入请求值和预测外呼请求值调整当前系统的吞吐量策略;
响应于所述第一预测吞吐量小于第二预设阈值,返回系统正常标识,根据上一轮接入请求值、上一轮呼出请求值、所述第一预测吞吐量和预设的步长增长因子,确定当前系统的预测接入请求值和预测外呼请求值,进而基于所述当前系统的预测接入请求值和预测外呼请求值调整当前系统的吞吐量策略。
9.一种系统流量控制装置,其特征在于,包括:
获取单元,被配置成获取系统的运行数据;
第一预测吞吐量计算单元,被配置成将所述运行数据输入至智能决策模型,以得到决策因子峰值、系统吞吐量峰值和与所述决策因子峰值对应的加权策略,进而计算得到第一预测吞吐量;
更新单元,被配置成调用事件驱动机制,准实时采集所述系统的决策因子信息,进而基于所述决策因子信息更新所述决策因子峰值和所述系统吞吐量峰值;
第二预测吞吐量计算单元,被配置成基于更新后的决策因子峰值和系统吞吐量峰值,计算得到第二预测吞吐量;
流量控制单元,被配置成响应于所述第二预测吞吐量与所述第一预测吞吐量不一致,根据所述第二预测吞吐量调整所述系统的吞吐量策略,以对所述系统的流量进行控制。
10.根据权利要求9所述的装置,其特征在于,所述流量控制单元进一步被配置成:
确定所述第二预测吞吐量和所述第一预测吞吐量的差值;
响应于所述差值大于第一预设阈值,执行吞吐量策略调整进程。
11.根据权利要求10所述的装置,其特征在于,所述流量控制单元进一步被配置成:
响应于所述差值小于第一预设阈值,返回无需处理标识。
12.根据权利要求9所述的装置,其特征在于,所述第一预测吞吐量计算单元进一步被配置成:
确定所述系统的交易占比;
基于所述交易占比,确定决策因子峰值。
13.根据权利要求12所述的装置,其特征在于,所述第一预测吞吐量计算单元进一步被配置成:
对于每一个交易占比,计算对应的决策因子值;
确定各所述决策因子值对应的决策因子;
对于每一个决策因子,确定对应的决策因子值集合;
将所述决策因子值集合中最大的决策因子值确定为所述决策因子对应的决策因子峰值。
14.一种系统流量控制电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一项所述的方法。
15.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-8中任一项所述的方法。
16.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8中任一项所述的方法。
CN202310480739.6A 2023-04-28 2023-04-28 系统流量控制方法、装置、电子设备及计算机可读介质 Pending CN116541167A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310480739.6A CN116541167A (zh) 2023-04-28 2023-04-28 系统流量控制方法、装置、电子设备及计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310480739.6A CN116541167A (zh) 2023-04-28 2023-04-28 系统流量控制方法、装置、电子设备及计算机可读介质

Publications (1)

Publication Number Publication Date
CN116541167A true CN116541167A (zh) 2023-08-04

Family

ID=87457075

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310480739.6A Pending CN116541167A (zh) 2023-04-28 2023-04-28 系统流量控制方法、装置、电子设备及计算机可读介质

Country Status (1)

Country Link
CN (1) CN116541167A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117459418A (zh) * 2023-12-25 2024-01-26 天津神州海创科技有限公司 一种实时数据采集存储方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117459418A (zh) * 2023-12-25 2024-01-26 天津神州海创科技有限公司 一种实时数据采集存储方法及系统
CN117459418B (zh) * 2023-12-25 2024-03-08 天津神州海创科技有限公司 一种实时数据采集存储方法及系统

Similar Documents

Publication Publication Date Title
CN110545246B (zh) 一种基于令牌桶的限流方法、装置和计算机可读介质
CN107592345B (zh) 交易限流装置、方法及交易系统
CN111786895A (zh) 动态全局限流的方法和装置
KR20080109412A (ko) 예측 기반 동적 쓰레드 풀 조정방법 및 이를 사용하는에이전트 플랫폼
CN112445857A (zh) 一种基于数据库的资源配额管理方法和装置
CN111858040A (zh) 一种资源调度方法和装置
WO2024016596A1 (zh) 容器集群调度的方法、装置、设备及存储介质
CN110796430A (zh) 一种逾期交易数据处理方法和装置
CN116541167A (zh) 系统流量控制方法、装置、电子设备及计算机可读介质
CN111355814B (zh) 一种负载均衡方法、装置及存储介质
CN109428926B (zh) 一种调度任务节点的方法和装置
CN112600761A (zh) 一种资源分配的方法、装置及存储介质
US20220413906A1 (en) Method, device, and program product for managing multiple computing tasks based on batch
CN111447113B (zh) 一种系统监控方法和装置
CN112948081B (zh) 延时处理任务的方法、装置、设备以及存储介质
CN113742389A (zh) 一种业务处理方法和装置
US9021109B1 (en) Controlling requests through message headers
CN112685481B (zh) 一种数据处理方法和装置
CN112667368A (zh) 一种任务数据处理方法和装置
CN114265692A (zh) 服务调度方法、装置、设备以及存储介质
CN116192752A (zh) 业务流量控制方法、装置、电子设备及存储介质
CN114374657A (zh) 一种数据处理方法和装置
CN115858147A (zh) 成本建模方法和装置
CN115567597A (zh) 一种支付结算系统的报文请求转发方法及装置
CN115421922A (zh) 一种分布式系统的限流方法、装置、设备、介质及产品

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