CN113326132B - 一种信息调节方法、设备及存储介质 - Google Patents
一种信息调节方法、设备及存储介质 Download PDFInfo
- Publication number
- CN113326132B CN113326132B CN202110624327.6A CN202110624327A CN113326132B CN 113326132 B CN113326132 B CN 113326132B CN 202110624327 A CN202110624327 A CN 202110624327A CN 113326132 B CN113326132 B CN 113326132B
- Authority
- CN
- China
- Prior art keywords
- data transmission
- transmission interface
- current limiting
- value
- current
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Feedback Control In General (AREA)
Abstract
本申请实施例公开了一种信息调节方法,该方法包括:确定当前处于限流模式的至少一个第一数据传输接口;确定每一所述第一数据传输接口的限流参数对应的第一当前限流阈值,得到至少一个第一当前限流阈值;对至少一个所述第一当前限流阈值进行中央处理器CPU占用率分析,确定对应的每一所述第一数据传输接口的待调整限流阈值;调整每一所述第一数据传输接口的所述限流参数的值为对应的所述待调整限流阈值。本申请实施例还公开了一种信息调节设备和存储介质。
Description
技术领域
本申请涉及人工智能领域,尤其涉及一种信息调节方法、设备及存储介质。
背景技术
随着计算机技术的飞速发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性和实时性要求,也对技术提出了更高的要求。在通信过程中,为了保证为用户提供较好的业务服务,在业务流程实现过程中,通常采用限流的方式来防止突如其来的数据流量洪峰造成通信系统或通信下游系统资源耗尽而崩溃。目前常用的限流阈值配置过程中,通常采用单接口压测的方式测得单机单接口每秒处理的交易笔数(Transactions Per Second,TPS)的CPU占用率后,计算所有接口的目标TPS与单机单接口单TPS的CPU占用率的乘积后求累加和,然后以单机CPU不超过45%为基准线,得出单机器的单机限流配置。
但是,目前上述配置过程中,实现单口压测时,不能完全还原实际生产环境,导致单接口压测得出的单机单接口TPS的CPU占用率与实际生产环境中的实际CPU占用率有一定的误差,导致得到的单机限流配置误差较大,且设置的单机限流配置误差实时性较差。
申请内容
为解决上述技术问题,本申请实施例期望提供一种信息调节方法、设备及存储介质,解决了目前限流配置过程灵活性较低的问题,实现了一种智能自动调节限流阈值的实现方法,通过对全部数据传输接口的实时传输情况对数据传输接口的限流参数值进行动态调整,有效提高了限流配置过程的灵活性和调节效率。
本申请的技术方案是这样实现的:
第一方面,一种信息调节方法,所述方法包括:
确定当前处于限流模式的至少一个第一数据传输接口;
确定每一所述第一数据传输接口的限流参数对应的第一当前限流阈值,得到至少一个第一当前限流阈值;
对至少一个所述第一当前限流阈值进行中央处理器CPU占用率分析,确定对应的每一所述第一数据传输接口的待调整限流阈值;
调整每一所述第一数据传输接口的所述限流参数的值为对应的所述待调整限流阈值。
第二方面,一种信息调节设备,所述设备包括:存储器、处理器和通信总线;其中:
所述存储器,用于存储可执行指令;
所述通信总线,用于实现所述处理器和所述存储器之间的通信连接;
所述处理器,用于执行所述存储器中存储的信息调节程序,实现如上述任一项所述的信息调节方法的步骤。
第三方面,一种存储介质,所述存储介质上存储有信息调节程序,所述信息调节程序被处理器执行时实现如上述任一项所述的信息调节方法的步骤。
本申请实施例中,确定当前处于限流模式的至少一个第一数据传输接口后,确定每一第一数据传输接口的限流参数对应的第一当前限流阈值,得到至少一个第一当前限流阈值,并对至少一个第一当前限流阈值进行CPU占用率分析,来确定对应的每一数据传输接口的待调整限流阈值,以将每一第一数据传输接口的限流参数值调整为待调整限流阈值,解决了目前限流配置过程灵活性较低的问题,实现了一种智能自动调节限流阈值的实现方法,通过对全部数据传输接口的实时传输情况对数据传输接口的限流参数值进行动态调整,有效提高了限流配置过程的灵活性和调节效率。
附图说明
图1为本申请实施例提供的一种信息调节方法的流程示意图;
图2为本申请实施例提供的另一种信息调节方法的流程示意图;
图3为本申请实施例提供的又一种信息调节方法的流程示意图;
图4为本申请另一实施例提供的一种信息调节方法的流程示意图;
图5为本申请另一实施例提供的另一种信息调节方法的流程示意图;
图6为本申请实施例提供的一种实现信息调节方法的系统架构示意图;
图7为本申请实施例提供的一种信息调节设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请的实施例提供一种信息调节方法,参照图1所示,方法应用于信息调节设备,该方法包括以下步骤:
步骤101、确定当前处于限流模式的至少一个第一数据传输接口。
在本申请实施例中,第一数据传输接口通常指的是信息调节设备提供的与外部互联网系统进行通信的接口,用于接收外部应用发送的请求信息。限流模式指的是数据传输接口的当前请求数量超过数据传输接口处理请求的上限阈值时,对数据传输接口进行限流的一种方式,限流的方式例如可以是使超出上限阈值的请求稍后处理,或将超出上限阈值的请求发送至同类的其他接口处理。这样,可以防止由于请求过多导致信息调节设备提供的服务系统崩溃的情况,有效保证了信息调节设备能够正常持续稳定的提供服务。信息调节设备通常可以是服务器设备,可以用于运行提供服务的服务系统,也可以是运行一些具有大量信息交互的应用系统的电子设备。
步骤102、确定每一第一数据传输接口的限流参数对应的第一当前限流阈值,得到至少一个第一当前限流阈值。
在本申请实施例中,每一第一数据传输接口的限流参数对应的第一当前限流阈值可以是预先设置的一个限流上限值。
步骤103、对至少一个第一当前限流阈值进行CPU占用率分析,确定对应的每一第一数据传输接口的待调整限流阈值。
在本申请实施例中,采用预设的分析方法对每一第一当前限流值进行CPU占用率分析,确定得到对应的每一数据传输接口的待调整限流阈值,其中,预设的分析方法可以是已训练好的目标神经网络模型,也可以是一些已经确定好的权重系数的线性算法,例如可以是已确定权重系数的矩阵运算算法、多项式回归算法或岭回归算法等。
步骤104、调整每一第一数据传输接口的限流参数的值为对应的待调整限流阈值。
在本申请实施例中,由于每一第一数据传输接口当前处于限流模式,因此,对每一第一数据传输接口的限流参数的值进行相应的动态调整,其中,调整后的待调整限流阈值能够使信息调节设备的CPU的占用率不超过CPU的预设占用率,从而保证信息调节设备的运行效率。
本申请实施例中,确定当前处于限流模式的至少一个第一数据传输接口后,确定每一第一数据传输接口的限流参数对应的第一当前限流阈值,得到至少一个第一当前限流阈值,并对至少一个第一当前限流阈值进行CPU占用率分析,来确定对应的每一数据传输接口的待调整限流阈值,以将每一第一数据传输接口的限流参数值调整为待调整限流阈值,解决了目前限流配置过程灵活性较低的问题,实现了一种智能自动调节限流阈值的实现方法,通过对全部数据传输接口的实时传输情况对数据传输接口的限流参数值进行动态调整,有效提高了限流配置过程的灵活性和调节效率。
基于前述实施例,本申请的实施例提供一种信息调节方法,参照图2所示,该方法应用于信息调节设备,该方法包括以下步骤:
步骤201、确定当前时刻处于数据传输模式的至少一个第二数据传输接口。
在本申请实施例中,信息调节设备可以是银行提供银行各种业务服务的服务器设备,数据传输模式指的是接口存活且接口能够正常传输数据信息的模式。至少一个第二数据传输接口指的是信息调节设备当前用于提供服务的存活的所有数据传输接口。示例性的,假设信息调节设备确定当前时刻处于数据传输模式的至少一个第二数据传输接口为接口1、接口2、接口3、接口4和接口5。
步骤202、确定每一第二数据传输接口的限流参数对应的第一当前限流阈值。
在本申请实施例中,信息调节设备确定每一第二数据传输接口针对其限流参数设置的第一当前限流阈值。示例性的,确定得到接口1的第一当前限流阈值为a1、接口2的第一当前限流阈值为a2、接口3的第一当前限流阈值为a3、接口4的第一当前限流阈值为a4和接口5的第一当前限流阈值为a5。
步骤203、确定每一第二数据传输接口的当前请求数量值。
在本申请实施例中,信息调节设备确定至少一个第二数据传输接口包括的每一第二数据传输接口的当前请求数量值,得到至少一个当前请求数量值。示例性的,确定得到接口1的当前请求数量值为q1、接口2的当前请求数量值为q2、接口3的当前请求数量值为q3、接口4的当前请求数量值为q4和接口5的当前请求数量值为q5。
步骤204、从至少一个第二数据传输接口中,确定当前请求数量值大于对应的第一当前限流阈值的第二数据传输接口,得到至少一个第一数据传输接口。
在本申请实施例中,将每一第二数据传输接口的当前请求数量值与其对应的第一当前限流阈值进行比较,得到当前请求数量值大于对应的第一当前限流阈值的第二数据传输接口,并将当前请求数量值大于对应的第一当前限流阈值的第二数据传输接口确定为至少一个第一数据传输接口。其中,至少一个第一数据传输接口包括一个第一数据传输接口的情况和至少两个第一数据传输接口的情况。
需说明的是,针对至少一个第二数据传输接口,存在每一当前请求数量值均小于对应的第一当前限流阈值的情况,即一个第一数据传输接口也确定不到,也就是说无需对至少一个第二数据传输接口进行限流操作。
步骤205、确定每一第一数据传输接口的限流参数对应的第一当前限流阈值,得到至少一个第一当前限流阈值。
在本申请实施例中,每一第一数据传输接口对应的第一当前限流阈值可以是直接从确定的至少一个第二数据传输接口对应的第一当前限流阈值中获取到的。示例性的,假设确定的至少一个第一数据传输接口为至少一个第二数据传输接口即接口1、接口2、接口3、接口4和接口5中的接口2、接口4和接口5,对应的可以确定至少一个第一数据传输接口包括的每一第一数据传输接口的限流参数对应的第一当前限流阈值依次为:接口2对应的第一当前限流阈值为a2、接口4对应的第一当前限流阈值为a4和接口5对应的第一当前限流阈值为a5。
步骤206、对至少一个第一当前限流阈值进行CPU占用率分析,确定对应的每一第一数据传输接口的待调整限流阈值。
在本申请实施例中,对接口2对应的第一当前限流阈值为a2、接口4对应的第一当前限流阈值为a4和接口5对应的第一当前限流阈值为a5进行分析,确定得到接口2对应的待调整限流阈值,接口4对应的待调整限流阈值和接口5对应的待调整限流阈值。在确定每一第一数据传输接口的待调整限流阈值时,可以是对对应的每一第一数据传输接口的第一当前限流阈值进行分别独立分析确定得到的。但在一些应用场景下,由于每一数据传输接口的限流阈值的调整均会对信息调节设备的CPU占用率造成较大的影响,因此,在调整每一第一数据传输接口的限流参数的值时,可能需要对信息调节设备的全部数据传输接口的限流参数的值进行全局分析,来确定每一第一数据传输接口的待调整限流阈值。
步骤207、调整每一第一数据传输接口的限流参数的值为对应的待调整限流阈值。
在本申请实施例中,信息调节设备确定每一第一数据传输接口的待调整限流阈值后,将每一第一数据传输接口的限流参数的值调整为对应的待调整限流阈值,而至少一个第二数据传输接口中除至少一个第一数据传输接口外的接口的限流参数的值则不进行调整。
需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。
本申请实施例中,确定当前处于限流模式的至少一个第一数据传输接口后,确定每一第一数据传输接口的限流参数对应的第一当前限流阈值,得到至少一个第一当前限流阈值,并对至少一个第一当前限流阈值进行CPU占用率分析,来确定对应的每一数据传输接口的待调整限流阈值,以将每一第一数据传输接口的限流参数值调整为待调整限流阈值,解决了目前限流配置过程灵活性较低的问题,实现了一种智能自动调节限流阈值的实现方法,通过对全部数据传输接口的实时传输情况对数据传输接口的限流参数值进行动态调整,有效提高了限流配置过程的灵活性和调节效率。
本申请的实施例提供一种信息调节方法,参照图3所示,该方法应用于信息调节设备,该方法包括以下步骤:
步骤301、确定当前时刻处于数据传输模式的至少一个第二数据传输接口。
步骤302、确定每一第二数据传输接口的限流参数对应的第一当前限流阈值。
步骤303、确定每一第二数据传输接口的当前请求数量值。
步骤304、从至少一个第二数据传输接口中,确定当前请求数量值大于对应的第一当前限流阈值的第二数据传输接口,得到至少一个第一数据传输接口。
步骤305、确定每一第一数据传输接口的限流参数对应的第一当前限流阈值,得到至少一个第一当前限流阈值。
步骤306、获取已训练好的目标神经网络模型。
在本申请实施例中,已训练好的目标神经网络模型可以是对反向传播(BackPropagation,BP)神经网络采用大量历史数据进行模型训练得到的。其中,历史数据包括每一数据传输接口的限流阈值,和在每一数据传输接口的限流阈值的前提下,对应的信息调节设备的CPU占用率。
其中,步骤306可以由以下步骤来实现:获取历史样本数据;对历史样本数据进行清洗,剔除误差数据,得到目标样本数据;采用目标样本数据对初始化神经网络模型进行模型训练,得到目标神经网络模型。
步骤307、确定每一第一数据传输接口的预设步进值。
在本申请实施例中,每一第一数据传输接口的预设步进值可以是预先设置的,也可以是根据实际情况进行计算得到的。
步骤308、基于至少一个第一数据传输接口的第一当前限流阈值、对应的每一第一数据传输接口的预设步进值,采用目标神经网络模型进行CPU占用率预测处理,确定对应的每一第一数据传输接口的待调整限流阈值。
在本申请实施例中,采用每一第一数据传输接口的预设步进值对对应的每一第一数据传输接口的第一当前限流阈值进行调整后,输入至目标神经网络模型的输入层,以便目标神经网络模型对基于每一第一数据传输接口的预设步进值对对应的第一数据传输接口的第一当前限流阈值调整后的知进行预测,然后根据预测结果,来确定对应的每一第一数据传输接口的待调整限流阈值。
步骤309、调整每一第一数据传输接口的限流参数的值为对应的待调整限流阈值。
基于前述实施例,在本申请其他实施例中,步骤307可以由步骤307a或307b~307c来实现;其中,在至少一个第一数据传输接口的数量为1时,选择执行步骤307a,在至少一个第一数据传输接口的数量大于或等于2时,选择执行步骤307b~307c:
步骤307a、若至少一个第一数据传输接口包括一个第一数据传输接口,确定第一数据传输接口对应的预设步进值为单位步进值。
在本申请实施例中,单位步进值可以是预先设置好的一个正整数值,例如单位步进值可以是1。
步骤307b、若至少一个第一数据传输接口包括至少两个第一数据传输接口,确定至少两个第一数据传输接口的第一当前限流阈值之间的比例关系。
在本申请实施例中,在至少一个第一数据传输接口的数量大于或等于2时,对至少一个第一数据传输接口的第一当前限流阈值进行比例计算,得到对应的比例关系。示例性的,在至少一个第一数据传输接口为接口2、接口4和接口5时,由于接口2对应的第一当前限流阈值为a2、接口4对应的第一当前限流阈值为a4和接口5对应的第一当前限流阈值为a5,因此,可以确定得到至少一个第一数据传输接口的第一当前限流阈值之间的比例关系可以记为接口2:接口4:接口5=a2:a4:a5,假设a2:a4:a5=1:2:1。
步骤307c、基于比例关系和单位步进值,确定每一第一数据传输接口对应的预设步进值。
在本申请实施例中,假设单位步进值为1时,对应的根据比例关系a2:a4:a5=1:2:1和单位步进值1,确定得到接口2的预设步进值为1,接口4的预设步进值为2,接口5的预设步进值为1。
基于前述实施例,在本申请其他实施例中,步骤308可以由步骤308a~308h,或步骤308a和308i~308p来实现;其中,若至少一个第一数据传输接口的第一接口数量与至少一个第二数据传输接口的第二接口数量相同,选择执行步骤308a~308h,若第二接口数量大于第一接口数量,步骤308a和308i~308p:
步骤308a、确定每一第一数据传输接口的第一当前限流阈值与对应的预设步进值的和值,得到至少一个第一参考限流阈值。
在本申请实施例中,在至少一个第一数据传输接口的数量等于1时,该第一数据传输接口的第一参考限流阈值=第一数据传输接口的第一当前限流阈值+预设步进值,其中,预设步进值为单位步进值。示例性的,第一数据传输接口的第一参考限流阈值为第一当前限流阈值+1。
在至少一个第一数据传输接口的数量大于或等于2时,第一参考限流阈值的计算公式可以记为:第一参考限流阈值=第一当前限流阈值+预设步进值,这样,接口2对应的第一参考限流阈值a21为a2+1,接口4对应的第一参考限流阈值a41为a4+2,接口5对应的第一参考限流阈值a51为a5+1。
步骤308b、若至少一个第一数据传输接口的第一接口数量与至少一个第二数据传输接口的第二接口数量相同,通过目标神经网络模型,对至少一个第一参考限流阈值进行中央处理器(Central Processing Unit,CPU)占用率预测,得到第一预测占用率。
在本申请实施例中,至少一个第一数据传输接口的第一接口数量与至少一个第二数据传输接口的第二接口数量相同,表明信息调节设备的全部数据传输接口的当前请求数量值均超过了其对应的第一当前限流阈值,需对全部数据传输接口的限流参数进行调节。此时,若至少一个第一数据传输接口的第一接口数量为1时,至少一个第二数据传输接口的第二数量也为1。将与至少一个第一数据传输接口对应的至少一个第一参考限流阈值输入至目标神经网络模型的输入层,通过目标神经网络模型预测在至少一个第一参考限流阈值的情况下,信息调节设备对应的中央处理器(Central Processing Unit,CPU)的占用率,得到第一预测占用率。
步骤308c、获取当前时刻CPU的当前占用率。
在本申请实施例中,当前时刻CPU的当前占用率为至少一个第二数据传输接口包括的每一第二数据传输数据传输接口的限流参数为第一当前限流阈值时,信息调节设备对应的实际CPU占用率。
步骤308d、确定第一预测占用率与当前占用率之间的第一差值。
在本申请实施例中,第一差值=第一预测占用率-当前占用率。
其中,信息调整设备执行步骤308d之后,可以选择执行步骤308e,或者选择执行步骤308f~308h;其中,若第一差值大于或等于目标误差,选择执行步骤308e,若第一差值小于目标误差,选择执行步骤308f~308h:
步骤308e、若第一差值大于或等于目标误差,确定每一第一数据传输接口的待调整限流阈值为对应的第一参考限流阈值。
在本申请实施例中,目标误差为根据大量实验得到的一个误差经验值,或者是用户根据实际需求设定的一个误差经验值,在实际使用过程中,目标误差可以进行不断的校正调整。在第一差值大于或等于目标误差时,确定调整得到的每一第一参考限流阈值符合要求,因此,确定每一第一数据传输接口的待调整限流阈值为对应的第一参考限流阈值。
示例性的,至少一个第一数据传输接口的第一接口数量与至少一个第二数据传输接口的第二接口数量相同时,即接口1、接口2、接口3、接口4和接口5均处于限流模式时,假设至少一个第一数据传输接口对应的第一当前限流阈值分别为:接口1的第一当前限流阈值为a1、接口2的第一当前限流阈值为a2、接口3的第一当前限流阈值为a3、接口4的第一当前限流阈值为a4和接口5的第一当前限流阈值为a5,对应的,确定的接口1的预设步进值为b1、接口2的预设步进值为b2、接口3的预设步进值为b3、接口4的预设步进值为b4和接口5的预设步进值为b5,因此,确定得到的接口1的第一参考限流阈值为a11=a1+b1、接口2的第一参考限流阈值为a21=a2+b2、接口3的第一参考限流阈值为a31=a3+b3、接口4的第一参考限流阈值为a41=a4+b4和接口5的第一参考限流阈值为a51=a5+b5,此时,若通过目标神经网络模型对a11、a21、a31、a41和a51进行预测后,得到的第一预测占用率与当前占用率的第一差值大于或等于目标误差时,确定接口1的待调整限流阈值为a11、接口2的待调整限流阈值为a21、接口3的待调整限流阈值为a31、接口4的待调整限流阈值为a41和接口5的待调整限流阈值为a51。
步骤308f、若第一差值小于目标误差,确定每一第一参考限流阈值与对应的预设步进值的和值,得到至少一个第二参考限流阈值。
在本申请实施例中,若第一差值小于目标误差,继续对每一第一参考限流阈值与对应的预设步进值进行求和处理,得到至少一个第二参考限流阈值。示例性的,对应的,可以确定接口1的第二参考限流阈值为a12=a11+b1=a1+2b1、接口2的第二参考限流阈值为a22=a21+b2=a2+2b2、接口3的第二参考限流阈值为a32=a31+b3=a3+2b3、接口4的第二参考限流阈值为a42=a41+b4=a4+2b4、和接口5的第二参考限流阈值为a52=a51+b5=a5+2b5。
步骤308g、更新至少一个第一参考限流阈值为至少一个第二参考限流阈值。
在本申请实施例中,将计算得到的接口1的第二参考限流阈值a12=a1+2b1赋值给接口1的第一参考限流阈值a11、接口2的第二参考限流阈值a22=a2+2b2赋值给接口2的第一参考限流阈值a21、接口3的第二参考限流阈值a32=a3+2b3赋值给接口3的第一参考限流阈值a31、接口4的第二参考限流阈值a42=a4+2b4赋值给接口4的第一参考限流阈值a41、和接口5的第二参考限流阈值a52=a5+2b5赋值给接口5的第一参考限流阈值a51。
步骤308h、返回执行“通过目标神经网络模型,对至少一个第一参考限流阈值进行CPU占用率预测,得到第一预测占用率”,直至循环n次后,在第一差值大于或等于目标误差的情况下,或者n大于或等于第一预设次数的情况下,确定每一第一数据传输接口的待调整限流阈值为对应的更新后的第一参考限流阈值。
其中,更新后的第一参考限流阈值为对应的第一数据传输接口对应的预设步进值的n倍与对应的第一当前限流阈值的和值,n为大于或等于1的正整数。
在本申请实施例中,通过目标神经网络模型,对更新后的接口1的a11、接口2的a21、接口3的a31、接口4的a41和接口5的a51进行预测,得到对应的第一预测占用率,然后确定该第一预测占用率与当前占用率之间的第一参考差值。
若第一参考差值大于或等于目标误差,确定每一第一数据传输接口的待调整限流阈值为对应的更新后的第一参考限流阈值,即若第一参考差值大于或等于目标误差,确定对接口1的待调整限流阈值为a11=a1+2b1、接口2的待调整限流阈值为a21=a2+2b2、接口3的待调整限流阈值为a31=a3+2b3、接口4的待调整限流阈值为a41=a4+2b4和接口5的待调整限流阈值为a51=a5+2b5。
若第一参考差值小于目标误差,再次计算更新后的a11、a21、a31、a41和a51与各自对应的预设步进值的和值,得到接口1的第二参考限流阈值为a12=a1+3b1、接口2的第二参考限流阈值为a22=a2+3b2、接口3的第二参考限流阈值为a32=a3+3b3、接口4的第二参考限流阈值为a42=a4+3b4、和接口5的第二参考限流阈值为a52=a5+3b5,然后将a12=a1+3b1赋值给a11、a22=a2+3b2赋值给a21、a32=a3+3b3赋值给a31、a42=a4+3b4赋值给a41、a52=a5+3b5赋值给a51后,继续采用目标神经网络模型对更新后的a11、a21、a31、a41和a51进行CPU占用率预测处理,得到对应的预测占用率与当前占用率的差值,若对应的预测占用率与当前占用率的差值大于或等于目标差值,确定各接口对应的待调整限流阈值为更新后的a11、a21、a31、a41和a51,否则,继续重复执行前述步骤,直至更新后的a11、a21、a31、a41和a51通过目标神经网络模型预测得到的预测占用率与同一时间对应的当前占用率的差值大于或等于目标误差,或者得到更新后的a11、a21、a31、a41和a51的迭代次数超过第一预设次数时,结束操作。
其中,第一预设次数为根据大量实验得到的一个次数经验值,也可以是用户根据实际需求设定的一个次数经验值。
步骤308i、若第二接口数量大于第一接口数量,确定至少一个第三数据传输接口的第一当前限流阈值。
其中,至少一个第三数据传输接口为至少一个第二数据传输接口中除至少一个第一数据传输接口外的数据传输接口。
在本申请实施例中,第二接口数量大于第一接口数量,表明至少一个第一数据传输接口是至少一个第二数据传输接口中包括的部分数据传输接口,即只有部分传输接口处于限流模式时,确定信息调节设备中未处于限流模式的至少一个第三数据传输接口,并确定至少一个第三数据传输接口的第一当前限流阈值。其中,至少一个第二数据传输接口由至少一个第一数据传输接口与至少一个第三数据传输接口组成。
步骤308j、通过目标神经网络模型,对至少一个第一参考限流阈值和至少一个第三数据传输接口的第一当前限流阈值进行CPU占用率预测,得到第二预设占用率。
在本申请实施例中,由于至少一个第二数据传输接口当前正在传输数据,因此,至少一个第二数据传输接口的请求流量均对信息调节设备的CPU的占用率有影响,因此,在采用目标神经网络模型进行CPU的占用率预测时,需考虑至少一个第二数据传输接口的限流参数。因此,在通过目标神经网络模型确定至少一个第一数据传输接口的限流参数时,也需要将至少一个第三数据传输接口的第一当前限流阈值进行输入,来得到准确的至少一个第一数据传输接口的待调整限流阈值。
步骤308k、获取当前时刻CPU的当前占用率。
步骤308l、确定第二预设占用率与当前占用率之间的第二差值。
其中,信息调节设备执行步骤308l之后,可以选择执行步骤308m,或者选择执行步骤308n~308p;其中,若第二差值大于或等于目标误差,选择执行步骤308m,若第二差值小于或等于目标误差,选择执行步骤308n~308p:
步骤308m、若第二差值大于或等于目标误差,确定每一第一数据传输接口的待调整限流阈值为对应的第一参考限流阈值。
步骤308n、若第二差值小于目标误差,确定每一第一参考限流阈值与对应的预设步进值的和值,得到至少一个第二参考限流阈值。
步骤308o、更新至少一个第一参考限流阈值为至少一个第二参考限流阈值。
步骤308p、返回执行步骤308j,直至循环m次后,在第二差值大于或等于目标误差的情况下,或者m大于或等于第二预设次数的情况下,确定每一第一数据传输接口的待调整限流阈值为对应的更新后的第一参考限流阈值。
其中,更新后的第一参考限流阈值为对应的第一数据传输接口对应的预设步进值的m倍与对应的第一当前限流阈值的和值,m为大于或等于1的正整数。
基于前述实施例,在本申请其他实施例中,信息调节设备执行步骤308之后,还用于执行以下步骤:若检测到至少一个第二数据传输接口中存在处于限流模式的接口,返回执行“确定当前处于限流模式的至少一个第一数据传输接口”,直至至少一个第二数据传输接口中处于限流模式的接口的数量为零,或者将至少一个第二数据传输接口中包括的更新后的至少一个第一数据传输接口对应的限流参数调整为对应的第一待调整限流阈值时,确定的CPU的第一实际占用率大于或等于预设占用率。
在本申请实施例中,不停地对每一数据传输接口的工作模式即是否处于限流模式进行检查,一旦检测到至少一个第二数据传输接口中存在处于限流模式的接口,则从步骤301开始重复执行,对处于限流模式的数据传输接口的限流参数进行调整,来保证数据传输的效率。
基于前述实施例,在本申请其他实施例中,参照图4所示,信息调节设备执行步骤309之后,还可以用于执行步骤310~312:
步骤310、获取每一第一数据传输接口的限流参数的值为待调整限流阈值时对应的CPU的第一实际占用率。
在本申请实施例中,信息调节设备将至少一个第一数据传输接口的限流参数的值调整为对应的待调整限流阈值后,由于信息调节设备的数据传输接口仍然在接收服务请求,以提供对应的服务,因此,信息调节设备可以采集到在调整每一第一数据传输接口的限流参数的值为对应的待调整限流阈值的情况下,对应的信息调节设备的CPU的第一实际占用率。
步骤311、确定每一第一数据传输接口的限流参数的值为待调整限流阈值时,通过目标神经网络模型预测得到的对应的目标预测占用率。
在本申请实施例中,在每一第一数据传输接口的限流参数的值为待调整限流阈值时对应的目标预测占用率可以根据前述实现过程中确定得到,若第一差值大于或等于目标误差,可以确定目标预测占用率为第一预测占用率;若第二差值大于或等于目标误差,可以确定目标预测占用率为第二预测占用率。
步骤312、基于目标预测占用率和第一实际占用率,更新目标神经网络模型。
在本申请实施例中,信息调节设备根据调整至少一个第一数据传输接口后得到的第一实际占用率,进行反馈处理,对目标神经网络模型进行更新调节,以使目标神经网络模型更加符合实际应用场景,保证目标神经网络模型的准确性,有效保证了预测过程的可靠性。
基于前述实施例,在本申请其他实施例中,参照图5所示,信息调节设备执行步骤303之后,还用于执行步骤313~314:
步骤313、若检测到至少一个第二数据传输接口中,每一第二数据传输接口的当前请求数量值小于对应的第一当前限流阈值,确定每一第一当前限流阈值与预设比值的乘积,得到对应的反馈限流阈值。
其中,反馈限流阈值小于第一当前限流阈值。
在本申请实施例中,预设比值是一个根据大量实验得到的比值经验值,也可以是用户根据实际需求进行设定的一个比值经验值。若信息调节设备包括的至少一个第二数据传输接口均无需进行限流处理,确定每一第一当前限流阈值与预设比值的乘积,得到对应的反馈限流阈值。示例性的,在至少一个第二数据传输接口对应的至少一个第一当前限流阈值依次为:接口1的第一当前限流阈值为a1、接口2的第一当前限流阈值为a2、接口3的第一当前限流阈值为a3、接口4的第一当前限流阈值为a4和接口5的第一当前限流阈值为a5,对应的,预设比值为γ时,对应的针对接口1的反馈限流阈值记为γ*a1、接口2的反馈限流阈值记为γ*a2、接口3的反馈限流阈值记为γ*a3、接口4的反馈限流阈值记为γ*a4和接口5的反馈限流阈值记为γ*a5。
步骤314、若检测到至少一个第二数据传输接口中,每一第二数据传输接口的当前请求数量值均小于对应的反馈限流阈值,调整每一第二数据传输接口的限流参数的值为初始化限流阈值。
在本申请实施例中,初始化限流阈值为信息调节设备针对每一第二数据传输接口设置的默认限流阈值,可以是在信息调节设备初始设置时,用户自行设备的,也可以是信息调节设备的系统自己默认设置的。示例性的,由于接口1的当前请求数量值为q1、接口2的当前请求数量值为q2、接口3的当前请求数量值为q3、接口4的当前请求数量值为q4和接口5的当前请求数量值为q5,因此,在q1<γ*a1、q2<γ*a2、q3<γ*a3、q4<γ*a4且q5<γ*a5时,调整每一第二数据传输接口的限流参数的值为初始化限流阈值。
基于前述实施例,本申请实施例提供一种实现信息调节方法的系统架构图,参照图6所示,至少包括:配置模块41、采集模块42、训练模块43、调整模块44、数据库45、远程字典服务(Remote Dictionary Server,Redis)46和应用服务器代理(Agent)47;其中:
配置模块41,用于向服务运行维护人员(简称运维人员)提供用于填写每一数据传输接口的配置信息及可调整标记位的填写接口。配置信息至少包括前述初始化限流阈值。假设有三个第二数据传输接口A、B和C,针对三个第二数据传输接口A、B和C的配置信息提交后,将针对三个第二数据传输接口A、B和C的配置信息写入数据库45中预先设置的用于记录每一第二数据传输接口的配置信息的配置表rate_config,将针对三个第二数据传输接口A、B和C的初始化限流阈值写入数据库45中预先设置的用于记录每一第二数据传输接口的初始化限流阈值的agent_upload_data_log表中,其中,每一第二数据传输接口的初始化限流阈值的命名方式可以记为“接口名_limit”。
需说明的是,在可调整标记位标记为可调整时,才执行本申请提供的信息调节方法,若可调整标记位标记为不可调整时,不执行本申请提供的信息调节方法。
数据库45中,还包括用于记录针对每一第二数据传输接口每一时间片接收到的请求数量值,每一第二数据传输接口每一时间片接收到的请求数量值的命名方式为记为“接口名_request_cnt”;用于记录每一时间片每一第二数据传输接口的限流阈值、每一第二数据传输接口的请求数量和CPU占用率的agent_upload_data_cal表。
采集模块42,用于接收应用服务器代理47传回的每一时间片的数据,可以是JavaScript对象简谱(JavaScript Object Notation,JSON)数据。示例性的,采集模块42接收到的JSON数据格式可以如下所示:
采集模块42接收到上述数据后,对其进行解析并将解析得到的数据写入数据库45中的agent_upload_data_log数据表中。采集模块42将解析得到的数据写入数据库45中的agent_upload_data_log数据表中包括:创建异步任务一,异步任务一查询在该时间片的Redis 46中记录的各个第二数据请求接口的请求数量即前述当前请求数量值,创建异步任务时确保任务表中无对应的时间切片任务;创建异步任务二,首先,异步任务二分别计算该时间片针对A数据传输接口的被限流值A_limit_sum、B数据传输接口的被限流值B_limit_sum、C数据传输接口的限流值C_limit_sum,需说明的是,以A数据传输接口为例进行说明,A数据传输接口的被限流值A_limit_sum是根据A数据传输接口在该时间片的请求数量与A数据传输接口在该时间片时的限流阈值确定得到的,在A数据传输接口在该时间片的请求数量小于或等于A数据传输接口在该时间片时的限流阈值时,确定A_limit_sum为0,在A数据传输接口在该时间片的请求数量大于A数据传输接口在该时间片时的限流阈值时,确定A_limit_sum为A数据传输接口在该时间片的请求数量减去A数据传输接口在该时间片时的限流阈值的差值;其次,计算该时间片CPU占用率的平均值cpu_avg;然后,查询该时间片的Redis 46中的各个数据传输接口的请求数量得到A_request_cnt、B_request_cnt、C_request_cnt;最后,将time_stamp、A_limit_sum、B_limit_sum、C_limit_sum、cpu_avg、A_request_cnt、B_request_cnt、C_request_cnt写入到数据库45中预先设置的agent_upload_data_cal表中。
训练模块43,用于对BP初始化神经网络模型进行模型训练,得到目标神经网络模型,并对目标神经网络模型不断的进行模型更新。
训练模块43由定时任务驱动,例如可以是每小时训练一次。训练模块43具体实现流程如下所示:
(一)数据选取及清洗
获取数据库45包括的agent_upload_data_cal表中时间片在一段时间例如是距离当前时刻两天内的所有数据,得到第一数据集。若agent_upload_data_cal表中包括的数据的时长不足两天,停止本次训练。
根据前述描述可知,A_limit_sum是A数据传输接口在某一时间片对应的被限流值、B_limit_sum是B数据传输接口在某一时间片对应的被限流值和C_limit_sum是C数据传输接口在某一时间片对应的被限流值,如果某个数据传输接口的被限流值大于0,代表在该时间片时该数据传输接口出现限流。限流是在应用底层做请求拒绝的,此时应用几乎不消耗资源,因此这部分数据需要剔除,否则影响计算准确性。这样,遍历第一数据集,判断每一组A_limit_sum、B_limit_sum和C_limit_sum中的至少一个被限流值是否存在大于0的情况,若存在至少一个数据传输接口的被限流值大于0,确定判断条件成立,将包括判断条件成立的每一组A_limit_sum、B_limit_sum和C_limit_sum从第一数据集中剔除,最终得到第二数据集。
在实际运行环境中,同一运行系统中的服务器设备的规格是一致的,处理的联机请求数量几乎相等,因此CPU利用率差额不超过5%。遍历第二数据集,以时间片time_stamp为索引,查询agent_upload_data_log中对应时间片是否存在该时间片某一服务器CPU占用率与该时间片所有服务器的平均CPU占用率cpu_avg的差值超过0.05的。如果存在某一服务器的CPU占用率超过平均CPU占用率cpu_avg,将该时间片该服务器的数据从第二数据集中剔除,得到第三数据集。选取第三数据集中A_request_cnt、B_request_cnt、C_request_cnt和cpu_avg即前述第一实际CPU占用率字段,形成新的第四数据集。
(二)BP神经网络模型训练
BP神经网络模型的输入变量个数为配置表rate_config中包括的数据传输接口的数量;隐含层数量至少为2,输出变量个数为1。示例性的,如前述JSON数据格式所示,共有三个接口,则BP神经网络模型输入变量个数为3,假设隐含层数量为3。
对BP神经网络模型的权重系数和偏置系数初始化过程:将第四数据集中的每一组A_request_cnt、B_request_cnt和C_request_cnt输入至BP神经网络模型的输入层;期望输出:与第四数据集中每一组A_request_cnt、B_request_cnt和C_request_cnt对应的cpu_avg;训练输出为输入A_request_cnt、B_request_cnt、C_request_cnt至BP神经网络模型的输入层后,BP神经网络模型的输出层输出预测CPU占用率Y_cpu_avg;计算误差Err=cpu_avg-Y_cpu_avg,根据误差Err来更新BP神经网络模型的权重系数与偏置系数,直至更新后的BP神经网络模型计算得到的预测CPU占用率与对应的cpu_avg之间的误差小于或等于5%时,确定此时对应的更新后的BP神经网络模型为前述目标神经网络模型。
调整模块44,用于基于负反馈原理,自动灰度调整每一数据传输接口的限流阈值配置。
(1)调整模块44检查agent_upload_data_cal最近一条服务器代理46上报的数据,检查各个数据传输接口的被限流值是否大于0,即各个数据传输接口的数据请求数量是否大于各个数据传输接口的限流阈值。若存在数据传输接口的被限流值大于0,限流阈值调整任务启动,获取目标神经网络模型作为本次调整的运营模型,针对不同数据传输接口出现限流的情况,可以分为单接口出现被限流和多接口出现限流,采用以下两种调整方式:
针对单接口出现被限流的情况:假设B数据传输接口出现限流,首先,循环将被限流的B数据传输接口的原配置的限流阈值增加单位步进值例如1来更新B_request_cnt,A数据传输接口A_request_cnt为原配置的限流阈值,C数据传输接口C_request_cnt为原配置的限流阈值,将A_request_cnt、更新后的B_request_cnt和C_request_cnt输入至目标神经网络模型中,得到第一预测CPU占用率,同时计算第一预测CPU占用率与当前时间片的cpu_avg之间的差值,若差值大于或等于0.05,结束;否则,重复上述步骤,不断调整B数据传输接口的B_request_cnt,直至通过目标神经网络模型预测得到的第三预测CPU占用率与cpu_avg之间的差值大于0.05,循环终止,并确定更新后的B_request_cnt作为B数据传输接口的最新限流阈值,然后,将更新后的B_request_cnt的最新限流阈值下发配置至各个应用;最后,将调整后的配置、对应的预测CPU占用率存储于数据库45。
针对多接口出现被限流的情况:假设A数据传输接口和B数据传输接口同时出现限流时,首先,计算A数据传输接口和B数据传输接口的初始限流阈值的比例,假设A:B=1:3,循环开始,每次循环将被限流的数据传输接口按比例增加预设步进值,假设单位步进值为1,则A数据传输接口原配置的限流阈值增加1作为A_request_cnt,则B数据传输接口原配置的限流阈值增加3作为B_request_cnt,C数据传输接口的C_request_cnt为原配置的限流阈值,这样,将更新后的A_request_cnt、B_request_cnt和C_request_cnt输入值目标神经网络模型中,得到第一预测CPU占用率,同时计算预测CPU占用率与当前时间片的cpu_avg差值,这样,不断的采用A数据传输接口的预设步进值和B数据传输接口的预设步进值进行调整,进行循环处理,直至预测到的第三预测CPU占用率与cpu_avg之间的差值大于或等于0.05,或迭代次数达到预设次数例如10000,循环终止,从而可以得到最新的A数据传输接口对应的限流阈值和B数据传输接口对应的限流阈值。然后将最新的A数据传输接口对应的限流阈值和B数据传输接口对应的限流阈值下发配置至各个应用,最后,将调整后的配置、对应的第三预测CPU占用率存储于数据库45。
(2)调整模块44将更新后的配置下发至各应用后,在下一时间周期例如从当前周期开始的5秒后,采集应用服务器代理47上报的最新数据,得到此次更新后的配置对应的第一实际CPU占用率,并计算第一实际CPU占用率与对应的第三预测CPU占用率之间的误差,并将该误差负反馈于目标神经网络模型,对目标神经网络模型进行模型训练更新,以得到更新后的目标神经网络模型。
(3)调整模块44检查(2)中应用服务器代理47上报至agent_upload_data_cal表的数据,检查各个数据传输接口的被限流值是否大于0。如果依旧存在有数据传输接口的被限流值大于0,则仍存在限流,可以重复(1)和(2),直至(2)中采集的最新实际CPU占用率超过75%或不存在被限流的数据传输接口,则调整模块44调整任务终止,并初始化监测任务。
(4)调整模块44还用于对agent_upload_data_cal最近一条应用服务器代理47上报的数据进行检测时,若检测到各个数据传输接口的请求数量值例如A_request_cnt、B_request_cnt和C_request_cnt均小于各自对应的当前限流阈值的一半即前述预设比值为50%时,将各个数据传输接口的限流阈值恢复至配置表rate_config中的初始化限流阈值。
这样,实现负反馈限流阈值调整,能够在出现限流时临时使用生产空闲的25%~30%的CPU资源,有效降低限流的影响,为扩容争取时间。在一些应用场景中,为了保证运行的稳定,满足业务系统的容灾要求,通常控制CPU实际占用率在45%左右。若由于存在限流的情况进行对各个数据传输接口的限流阈值调高后,导致CPU实际占用率升高,若长时间以各个数据传输接口的较高限流阈值运行时,在后期存在请求量快速上涨时,存在部分请求处理过慢的现象。为了避免此种风险,本申请还提出在检测到各个数据传输接口的请求数量值均小于各个数据传输接口的当前限流阈值的一半时,将各个数据传输接口的限流参数的值恢复至配置表rate_config中的初始化限流阈值。
需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。
本申请实施例中,确定当前处于限流模式的至少一个第一数据传输接口后,确定每一第一数据传输接口的限流参数对应的第一当前限流阈值,得到至少一个第一当前限流阈值,并对至少一个第一当前限流阈值进行CPU占用率分析,来确定对应的每一第一数据传输接口的待调整限流阈值,以将每一第一数据传输接口的限流参数值调整为待调整限流阈值,解决了目前限流配置过程灵活性较低的问题,实现了一种智能自动调节限流阈值的实现方法,通过对全部数据传输接口的实时传输情况对数据传输接口的限流参数值进行动态调整,有效提高了限流配置过程的灵活性和调节效率。
基于前述实施例,本申请的实施例提供一种信息调节设备,该信息调节设备可以应用于图1~5对应的实施例提供的信息调节方法中,参照图7所示,该信息调节设备5可以包括:处理器51、存储器52和通信总线53,其中:
存储器52,用于存储可执行指令;
通信总线53,用于实现处理器51和存储器52之间的通信连接;
处理器51,用于执行存储器52中存储的信息调节程序,以实现以下步骤:
确定当前处于限流模式的至少一个第一数据传输接口;
确定每一第一数据传输接口的限流参数对应的第一当前限流阈值,得到至少一个第一当前限流阈值;
对至少一个第一当前限流阈值进行中央处理器CPU占用率分析,确定对应的每一第一数据传输接口的待调整限流阈值;
调整每一第一数据传输接口的限流参数的值为对应的待调整限流阈值。
在本申请其他实施例中,处理器执行步骤确定当前处于限流模式的至少一个第一数据传输接口时,可以通过以下步骤来实现:
确定当前时刻处于数据传输模式的至少一个第二数据传输接口;
确定每一第二数据传输接口的限流参数对应的第一当前限流阈值;
确定每一第二数据传输接口的当前请求数量值;
从至少一个第二数据传输接口中,确定当前请求数量值大于对应的第一当前限流阈值的第二数据传输接口,得到至少一个第一数据传输接口。
在本申请其他实施例中,处理器执行步骤对至少一个第一当前限流阈值进行中央处理器CPU占用率分析,确定对应的每一第一数据传输接口的待调整限流阈值时,可以通过以下步骤来实现:
获取已训练好的目标神经网络模型;
确定每一第一数据传输接口的预设步进值;
基于至少一个第一数据传输接口的第一当前限流阈值、对应的每一第一数据传输接口的预设步进值,采用目标神经网络模型进行CPU占用率预测处理,确定对应的每一第一数据传输接口的待调整限流阈值。
在本申请其他实施例中,处理器执行步骤确定每一第一数据传输接口对应的预设步进值时,可以通过以下步骤来实现:
若至少一个第一数据传输接口包括一个第一数据传输接口,确定第一数据传输接口对应的预设步进值为单位步进值;
若至少一个第一数据传输接口包括至少两个第一数据传输接口,确定至少两个第一数据传输接口的第一当前限流阈值之间的比例关系;
基于比例关系和单位步进值,确定每一第一数据传输接口对应的预设步进值。
在本申请其他实施例中,处理器执行步骤基于至少一个第一数据传输接口的第一当前限流阈值、对应的每一第一数据传输接口的预设步进值,采用目标神经网络模型进行CPU占用率预测处理,确定对应的每一第一数据传输接口的待调整限流阈值时,可以通过以下步骤来实现:
确定每一第一数据传输接口的第一当前限流阈值与对应的预设步进值的和值,得到至少一个第一参考限流阈值;
若至少一个第一数据传输接口的第一接口数量与至少一个第二数据传输接口的第二接口数量相同,通过目标神经网络模型,对至少一个第一参考限流阈值进行CPU占用率预测,得到第一预测占用率;
获取当前时刻CPU的当前占用率;
确定第一预测占用率与当前占用率之间的第一差值;
若第一差值大于或等于目标误差,确定每一第一数据传输接口的待调整限流阈值为对应的第一参考限流阈值。
在本申请其他实施例中,处理器还用于执行以下步骤:
若第一差值小于目标误差,确定每一第一参考限流阈值与对应的预设步进值的和值,得到至少一个第二参考限流阈值;
更新至少一个第一参考限流阈值为至少一个第二参考限流阈值;
返回执行“通过目标神经网络模型,对至少一个第一参考限流阈值进行CPU占用率预测,得到第一预测占用率”,直至循环n次后,在第一差值大于或等于目标误差的情况下,或者n大于或等于第一预设次数的情况下,确定每一第一数据传输接口的待调整限流阈值为对应的更新后的第一参考限流阈值;其中,更新后的第一参考限流阈值为对应的第一数据传输接口对应的预设步进值的n倍与对应的第一当前限流阈值的和值,n为大于或等于1的正整数。
在本申请其他实施例中,处理器还用于执行以下步骤:
若第二接口数量大于第一接口数量,确定至少一个第三数据传输接口的第一当前限流阈值;其中,至少一个第三数据传输接口为至少一个第二数据传输接口中除至少一个第一数据传输接口外的数据传输接口;
通过目标神经网络模型,对至少一个第一参考限流阈值和至少一个第三数据传输接口的第一当前限流阈值进行CPU占用率预测,得到第二预设占用率;
获取当前时刻CPU的当前占用率;
确定第二预设占用率与当前占用率之间的第二差值;
若第二差值大于或等于目标误差,确定每一第一数据传输接口的待调整限流阈值为对应的第一参考限流阈值。
在本申请其他实施例中,处理器还用于执行以下步骤:
若第二差值小于目标误差,确定每一第一参考限流阈值与对应的预设步进值的和值,得到至少一个第二参考限流阈值;
更新至少一个第一参考限流阈值为至少一个第二参考限流阈值;
返回执行“通过目标神经网络模型,对至少一个第一参考限流阈值和至少一个第三数据传输接口的第一当前限流阈值进行CPU占用率预测,得到第二预测占用率”,直至循环m次后,在第二差值大于或等于目标误差的情况下,或者m大于或等于第二预设次数的情况下,确定每一第一数据传输接口的待调整限流阈值为对应的更新后的第一参考限流阈值;其中,更新后的第一参考限流阈值为对应的第一数据传输接口对应的预设步进值的m倍与对应的第一当前限流阈值的和值,m为大于或等于1的正整数。
在本申请其他实施例中,处理器执行步骤调整每一第一数据传输接口的限流参数的值为对应的待调整限流阈值之后,还用于执行以下步骤:
若检测到至少一个第二数据传输接口中存在处于限流模式的接口,返回执行“确定当前处于限流模式的至少一个第一数据传输接口”,直至至少一个第二数据传输接口中处于限流模式的接口的数量为零,或者将至少一个第二数据传输接口中包括的更新后的至少一个第一数据传输接口对应的限流参数调整为对应的第一待调整限流阈值后,确定的CPU的第一实际占用率大于或等于预设占用率。
在本申请其他实施例中,处理器执行步骤调整每一第一数据传输接口的限流参数的值为对应的待调整限流阈值之后,还用于执行以下步骤:
获取每一第一数据传输接口的限流参数的值为待调整限流阈值时对应的CPU的第一实际占用率;
确定每一第一数据传输接口的限流参数的值为待调整限流阈值时,通过目标神经网络模型预测得到的对应的目标预测占用率;
基于目标预测占用率和第一实际占用率,更新目标神经网络模型。
在本申请其他实施例中,处理器执行步骤确定每一第二数据传输接口的当前请求数量值之后,还用于执行以下步骤:
若检测到至少一个第二数据传输接口中,每一第二数据传输接口的当前请求数量值小于对应的第一当前限流阈值,确定每一第一当前限流阈值与预设比值的乘积,得到对应的反馈限流阈值;其中,反馈限流阈值小于第一当前限流阈值;
若检测到至少一个第二数据传输接口中,每一第二数据传输接口的当前请求数量值均小于对应的反馈限流阈值,调整每一第二数据传输接口的限流参数的值为初始化限流阈值。
需要说明的是,本申请实施例中个或者多个程序可被一个或者多个处理器的步骤的解释说明,可以参照1~5对应的实施例提供的方法实现过程,此处不再赘述。
本申请实施例中,确定当前处于限流模式的至少一个第一数据传输接口后,确定每一第一数据传输接口的限流参数对应的第一当前限流阈值,得到至少一个第一当前限流阈值,并对至少一个第一当前限流阈值进行CPU占用率分析,来确定对应的每一数据传输接口的待调整限流阈值,以将每一第一数据传输接口的限流参数值调整为待调整限流阈值,解决了目前限流配置过程灵活性较低的问题,实现了一种智能自动调节限流阈值的实现方法,通过对全部数据传输接口的实时传输情况对数据传输接口的限流参数值进行动态调整,有效提高了限流配置过程的灵活性和调节效率。
基于前述实施例,本申请的实施例提供一种计算机可读存储介质,简称为存储介质,该计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现如图1~5对应的实施例提供的信息调节方法实现过程,此处不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。
Claims (11)
1.一种信息调节方法,其特征在于,所述方法包括:
确定当前处于限流模式的至少一个第一数据传输接口;
确定每一所述第一数据传输接口的限流参数对应的第一当前限流阈值,得到至少一个第一当前限流阈值;
对至少一个所述第一当前限流阈值进行中央处理器CPU占用率分析,确定对应的每一所述第一数据传输接口的待调整限流阈值;
调整每一所述第一数据传输接口的所述限流参数的值为对应的所述待调整限流阈值;
其中,所述确定当前处于限流模式的至少一个第一数据传输接口,包括:
确定当前时刻处于数据传输模式的至少一个第二数据传输接口;
确定每一所述第二数据传输接口的限流参数对应的第一当前限流阈值;
确定每一所述第二数据传输接口的当前请求数量值;
从至少一个所述第二数据传输接口中,确定所述当前请求数量值大于对应的所述第一当前限流阈值的第二数据传输接口,得到至少一个所述第一数据传输接口;
其中,所述对至少一个所述第一当前限流阈值对中央处理器CPU占用率分析,确定对应的每一所述第一数据传输接口的待调整限流阈值,包括:
获取已训练好的目标神经网络模型;
确定每一所述第一数据传输接口的预设步进值;
基于至少一个所述第一数据传输接口的所述第一当前限流阈值、对应的每一所述第一数据传输接口的所述预设步进值,采用所述目标神经网络模型进行CPU占用率预测处理,确定对应的每一所述第一数据传输接口的所述待调整限流阈值。
2.根据权利要求1所述的方法,其特征在于,所述确定每一所述第一数据传输接口对应的预设步进值,包括:
若至少一个所述第一数据传输接口包括一个所述第一数据传输接口,确定所述第一数据传输接口对应的预设步进值为单位步进值;
若至少一个所述第一数据传输接口包括至少两个所述第一数据传输接口,确定至少两个所述第一数据传输接口的所述第一当前限流阈值之间的比例关系;
基于所述比例关系和所述单位步进值,确定每一所述第一数据传输接口对应的所述预设步进值。
3.根据权利要求1或2所述的方法,其特征在于,所述基于至少一个所述第一数据传输接口的所述第一当前限流阈值、对应的每一所述第一数据传输接口的所述预设步进值,采用所述目标神经网络模型进行CPU占用率预测处理,确定对应的每一所述第一数据传输接口的所述待调整限流阈值,包括:
确定每一所述第一数据传输接口的所述第一当前限流阈值与对应的所述预设步进值的和值,得到至少一个第一参考限流阈值;
若至少一个所述第一数据传输接口的第一接口数量与至少一个所述第二数据传输接口的第二接口数量相同,通过所述目标神经网络模型,对至少一个所述第一参考限流阈值进行CPU占用率预测,得到第一预测占用率;
获取所述当前时刻CPU的当前占用率;
确定所述第一预测占用率与所述当前占用率之间的第一差值;
若所述第一差值大于或等于目标误差,确定每一所述第一数据传输接口的所述待调整限流阈值为对应的所述第一参考限流阈值。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述第一差值小于所述目标误差,确定每一所述第一参考限流阈值与对应的所述预设步进值的和值,得到至少一个第二参考限流阈值;
更新所述至少一个第一参考限流阈值为所述至少一个第二参考限流阈值;
返回执行所述“通过所述目标神经网络模型,对至少一个所述第一参考限流阈值进行CPU占用率预测,得到第一预测占用率”,直至循环n次后,在所述第一差值大于或等于所述目标误差的情况下,或者n大于或等于第一预设次数的情况下,确定每一所述第一数据传输接口的所述待调整限流阈值为对应的更新后的第一参考限流阈值;其中,更新后的所述第一参考限流阈值为对应的所述第一数据传输接口对应的预设步进值的n倍与对应的所述第一当前限流阈值的和值,n为大于或等于1的正整数。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述第二接口数量大于所述第一接口数量,确定至少一个第三数据传输接口的第一当前限流阈值;其中,至少一个所述第三数据传输接口为至少一个所述第二数据传输接口中除至少一个所述第一数据传输接口外的数据传输接口;
通过所述目标神经网络模型,对至少一个所述第一参考限流阈值和至少一个所述第三数据传输接口的第一当前限流阈值进行CPU占用率预测,得到第二预设占用率;
获取所述当前时刻CPU的当前占用率;
确定所述第二预设占用率与所述当前占用率之间的第二差值;
若所述第二差值大于或等于所述目标误差,确定每一所述第一数据传输接口的所述待调整限流阈值为对应的所述第一参考限流阈值。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述第二差值小于所述目标误差,确定每一所述第一参考限流阈值与对应的所述预设步进值的和值,得到至少一个第二参考限流阈值;
更新所述至少一个第一参考限流阈值为所述至少一个第二参考限流阈值;
返回执行所述“通过所述目标神经网络模型,对至少一个所述第一参考限流阈值和至少一个所述第三数据传输接口的第一当前限流阈值进行CPU占用率预测,得到第二预测占用率”,直至循环m次后,在所述第二差值大于或等于所述目标误差的情况下,或者m大于或等于第二预设次数的情况下,确定每一所述第一数据传输接口的所述待调整限流阈值为对应的更新后的第一参考限流阈值;其中,更新后的所述第一参考限流阈值为对应的所述第一数据传输接口对应的预设步进值的m倍与对应的所述第一当前限流阈值的和值,m为大于或等于1的正整数。
7.根据权利要求1所述的方法,其特征在于,所述调整每一所述第一数据传输接口的所述限流参数的值为对应的所述待调整限流阈值之后,所述方法还包括:
若检测到至少一个所述第二数据传输接口中存在处于限流模式的接口,返回执行“确定当前处于限流模式的至少一个第一数据传输接口”,直至至少一个所述第二数据传输接口中处于限流模式的接口的数量为零,或者将至少一个所述第二数据传输接口中包括的更新后的至少一个第一数据传输接口对应的所述限流参数调整为对应的待调整限流阈值后,确定的CPU的第一实际占用率大于或等于预设占用率。
8.根据权利要求1所述的方法,其特征在于,所述调整每一所述第一数据传输接口的所述限流参数的值为对应的所述待调整限流阈值之后,所述方法还包括:
获取每一所述第一数据传输接口的所述限流参数的值为所述待调整限流阈值时对应的CPU的第一实际占用率;
确定每一所述第一数据传输接口的所述限流参数的值为所述待调整限流阈值时,通过所述目标神经网络模型预测得到的对应的目标预测占用率;
基于所述目标预测占用率和所述第一实际占用率,更新所述目标神经网络模型。
9.根据权利要求1所述的方法,其特征在于,所述确定每一所述第二数据传输接口的当前请求数量值之后,所述方法还包括:
若检测到至少一个所述第二数据传输接口中,每一所述第二数据传输接口的当前请求数量值小于对应的所述第一当前限流阈值,确定每一所述第一当前限流阈值与预设比值的乘积,得到对应的反馈限流阈值;其中,所述反馈限流阈值小于所述第一当前限流阈值;
若检测到至少一个所述第二数据传输接口中,每一所述第二数据传输接口的当前请求数量值均小于对应的所述反馈限流阈值,调整每一所述第二数据传输接口的所述限流参数的值为初始化限流阈值。
10.一种信息调节设备,其特征在于,所述设备包括:存储器、处理器和通信总线;其中:
所述存储器,用于存储可执行指令;
所述通信总线,用于实现所述处理器和所述存储器之间的通信连接;
所述处理器,用于执行所述存储器中存储的信息调节程序,实现如权利要求1至9中任一项所述的信息调节方法的步骤。
11.一种存储介质,其特征在于,所述存储介质上存储有信息调节程序,所述信息调节程序被处理器执行时实现如权利要求1至9中任一项所述的信息调节方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110624327.6A CN113326132B (zh) | 2021-06-04 | 2021-06-04 | 一种信息调节方法、设备及存储介质 |
PCT/CN2021/136434 WO2022252546A1 (zh) | 2021-06-04 | 2021-12-08 | 一种信息调节方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110624327.6A CN113326132B (zh) | 2021-06-04 | 2021-06-04 | 一种信息调节方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113326132A CN113326132A (zh) | 2021-08-31 |
CN113326132B true CN113326132B (zh) | 2023-06-09 |
Family
ID=77421052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110624327.6A Active CN113326132B (zh) | 2021-06-04 | 2021-06-04 | 一种信息调节方法、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113326132B (zh) |
WO (1) | WO2022252546A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113326132B (zh) * | 2021-06-04 | 2023-06-09 | 深圳前海微众银行股份有限公司 | 一种信息调节方法、设备及存储介质 |
CN114553775B (zh) * | 2022-02-15 | 2024-04-26 | 维沃移动通信有限公司 | 流量控制方法、装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107222426A (zh) * | 2016-03-21 | 2017-09-29 | 阿里巴巴集团控股有限公司 | 控流的方法、装置及系统 |
CN109842565A (zh) * | 2018-12-15 | 2019-06-04 | 平安科技(深圳)有限公司 | 接口限流方法、装置、电子设备及存储介质 |
CN110198272A (zh) * | 2018-10-12 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 一种流量控制方法及装置、存储介质 |
CN112433919A (zh) * | 2020-11-25 | 2021-03-02 | 深圳前海微众银行股份有限公司 | 一种信息告警方法、设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10581745B2 (en) * | 2017-12-11 | 2020-03-03 | International Business Machines Corporation | Dynamic throttling thresholds |
CN109039937B (zh) * | 2018-09-26 | 2023-05-12 | 深圳壹账通智能科技有限公司 | 动态限流方法、装置、计算机设备和存储介质 |
CN113326132B (zh) * | 2021-06-04 | 2023-06-09 | 深圳前海微众银行股份有限公司 | 一种信息调节方法、设备及存储介质 |
-
2021
- 2021-06-04 CN CN202110624327.6A patent/CN113326132B/zh active Active
- 2021-12-08 WO PCT/CN2021/136434 patent/WO2022252546A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107222426A (zh) * | 2016-03-21 | 2017-09-29 | 阿里巴巴集团控股有限公司 | 控流的方法、装置及系统 |
CN110198272A (zh) * | 2018-10-12 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 一种流量控制方法及装置、存储介质 |
CN109842565A (zh) * | 2018-12-15 | 2019-06-04 | 平安科技(深圳)有限公司 | 接口限流方法、装置、电子设备及存储介质 |
CN112433919A (zh) * | 2020-11-25 | 2021-03-02 | 深圳前海微众银行股份有限公司 | 一种信息告警方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113326132A (zh) | 2021-08-31 |
WO2022252546A1 (zh) | 2022-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113326132B (zh) | 一种信息调节方法、设备及存储介质 | |
US11636379B2 (en) | Distributed cluster training method and apparatus | |
CN104809051B (zh) | 用于预测计算机应用中的异常和故障的方法和装置 | |
CN109740755B (zh) | 一种基于梯度下降法的数据处理方法及相关装置 | |
CN108833458B (zh) | 一种应用推荐方法、装置、介质及设备 | |
CN111429142B (zh) | 一种数据处理方法、装置及计算机可读存储介质 | |
CN103455842B (zh) | 贝叶斯算法和MapReduce相结合的信任度量方法 | |
CN114500339B (zh) | 一种节点带宽监测方法、装置、电子设备及存储介质 | |
CN113989561A (zh) | 基于异步联邦学习的参数聚合更新方法、设备及系统 | |
CN110992432B (zh) | 基于深度神经网络最小方差梯度量化压缩及图像处理方法 | |
CN110896357A (zh) | 流量预测方法、装置和计算机可读存储介质 | |
CN113962161A (zh) | 基于黑寡妇优化算法的最优QoS服务选择方法及装置 | |
US8631054B2 (en) | Scaled exponential smoothing | |
CN114817178A (zh) | 工业互联网数据存储方法、系统、存储介质及电子设备 | |
CN116781343A (zh) | 一种终端可信度的评估方法、装置、系统、设备及介质 | |
CN110738327B (zh) | 一种快充桩设备风险评估方法及系统 | |
CN108537322A (zh) | 神经网络层间激活值量化方法及装置 | |
CN110134575B (zh) | 一种服务器集群的服务能力计算方法及装置 | |
CN109508433B (zh) | 基于匹配算法性能调整的负载波动应对方法和系统 | |
KR102539223B1 (ko) | 엣지 컴퓨팅 환경에서 ami 데이터 스트림 가속처리를 위한 딥 러닝 방법 | |
CN112488600A (zh) | 订单预测方法 | |
CN117939572B (zh) | 电力物联网终端接入方法 | |
CN108513697A (zh) | 信道容量预测方法及装置、无线信号发送设备及传输系统 | |
CN117933752A (zh) | 基于贝叶斯估计的任务完成率预测方法及装置 | |
CN116244607A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |