CN111930507A - 限流方法及装置 - Google Patents

限流方法及装置 Download PDF

Info

Publication number
CN111930507A
CN111930507A CN202010821324.7A CN202010821324A CN111930507A CN 111930507 A CN111930507 A CN 111930507A CN 202010821324 A CN202010821324 A CN 202010821324A CN 111930507 A CN111930507 A CN 111930507A
Authority
CN
China
Prior art keywords
current limiting
current
data
application program
adjustment algorithm
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
Application number
CN202010821324.7A
Other languages
English (en)
Other versions
CN111930507B (zh
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202010821324.7A priority Critical patent/CN111930507B/zh
Publication of CN111930507A publication Critical patent/CN111930507A/zh
Application granted granted Critical
Publication of CN111930507B publication Critical patent/CN111930507B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • 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
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5013Request control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/506Constraint
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

本发明提供的一种限流方法及装置,通过利用服务器最新时间区间内的状态数据和运行数据,对应生成系统健康状态得分和交易健康状态得分,并且结合状态数据和运行数据来确定限流调整算法,从而可以针对性地进行限流操作,可以实现自适应限流,大大提高限流的便携性、精确性和可靠性。

Description

限流方法及装置
技术领域
本发明涉及物品传送技术领域,尤其涉及一种限流方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
IT系统的处理和负载能力是有限的。特别是对于大规模分布式微服务集群架构时代,倡导微服务的正确拆分、复用和组合。非常常见的场景是各个服务互相之间嵌套调用,调用链路更加错综复杂。为了保障系统的安全性和可靠性,能有效避免突发流量对整个系统的影响,必须进行不同维度和规则的限流来提升应用的稳定性。目前业界限流方案中,限流值的确定方法大多为基于存量交易量评估或压力测试确定,很难做到准确评估,也无法根据生产实时访问情况和系统实时的健康程度等关键指标进行实时、动态的限流调整。因此需要实现一种基于实时动态调整限流的装置及方法来实现自动化实时计算和调整限流值,以在保障系统在提供最大处理能力的情况下保障系统的安全性和可靠性。
发明内容
为了解决上述问题的至少一个,本发明实施例提供了一种限流方法,包括:
采集服务器最新时间区间内的状态数据和运行数据;
基于所述状态数据和运行数据选取限流调整算法,并根据所述状态数据和运行数据生成系统健康状态得分和交易健康状态得分;
根据所述系统健康状态得分、所述交易健康状态得分以及对应的权重,生成限流步长;
结合所述限流调整算法和所述限流步长对所述服务器中的应用程序进行限流操作。
在优选的实施例中,还包括:
按照预设的重要性程度与应用程序的对应关系,对所述服务器内的每个应用程序按照重要性程度从小到大进行排序,生成应用程序序列;
所述结合所述限流调整算法和所述限流步长对所述服务器中的应用程序进行限流操作,包括:
根据所述应用程序序列中每个应用程序的预设步长系数,结合所述限流步长生成对应每个应用程序的单个限流步长;
根据每个应用程序的单个限流步长,对每个应用程序进行限流。
在优选的实施例中,还包括:
根据当前响应时间、持续时间以及控制周期调节所述权重。
在优选的实施例中,所述根据当前响应时间、持续时间以及控制周期调节所述权重,包括:
判断当前响应时间是否小于设定响应时间,当前TPS是否小于TPS上限,当前持续时间是否超过指定控制周期;
若均为是,则以线性增长的方式调高所述运行数据对应的权重。
在优选的实施例中,所述根据当前响应时间、持续时间以及控制周期调节所述权重,包括:
若当前控制周期内,cpu和内存占比均大于警报平均阈值,小于警报最大值,则以指数级增长的方式调高所述状态数据对应的权重。
在优选的实施例中,所述基于所述状态数据和运行数据选取限流调整算法,包括:
将所述状态数据和所述运行数据输入到预设的选取神经网络模型,所述选取神经网络模型输出所述限流调整算法的唯一标识;
根据所述唯一标识选取对应的所述限流调整算法。
在优选的实施例中,还包括:
建立所述神经网络模型;
利用已标记出所述唯一标识的包括所述状态数据和所述运行数据的数据集合组成一训练数据,其中,多个已标记的训练数据组成训练数据集。
本发明另一方面提供一种限流装置,包括:
采集模块,采集服务器最新时间区间内的状态数据和运行数据;
算法选取模块,基于所述状态数据和运行数据选取限流调整算法,并根据所述状态数据和运行数据生成系统健康状态得分和交易健康状态得分;
步长生成模块,根据所述系统健康状态得分、所述交易健康状态得分以及对应的权重,生成限流步长;
限流模块,结合所述限流调整算法和所述限流步长对所述服务器中的应用程序进行限流操作。
本发明实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一所述方法。
本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述第一方面任一所述方法的计算机程序。
综上所述,本发明提供的一种限流方法及装置,通过利用服务器最新时间区间内的状态数据和运行数据,对应生成系统健康状态得分和交易健康状态得分,并且结合状态数据和运行数据来确定限流调整算法,从而可以针对性地进行限流操作,可以实现自适应限流,大大提高限流的便携性、精确性和可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中提供的一种限流方法流程示意图;
图2为本发明实施例中提供的一种限流系统框图;
图3为适用于实现本发明中的限流方法的计算机设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
虽然本发明提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本发明实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行。
图1示出了本发明实施例中一种限流方法,包括:
S1:采集服务器最新时间区间内的状态数据和运行数据;
S2:基于所述状态数据和运行数据选取限流调整算法,并根据所述状态数据和运行数据生成系统健康状态得分和交易健康状态得分;
S3:根据所述系统健康状态得分、所述交易健康状态得分以及对应的权重,生成限流步长;
S4:结合所述限流调整算法和所述限流步长对所述服务器中的应用程序进行限流操作。
本发明提供的一种限流方法,通过利用服务器最新时间区间内的状态数据和运行数据,对应生成系统健康状态得分和交易健康状态得分,并且结合状态数据和运行数据来确定限流调整算法,从而可以针对性地进行限流操作,可以实现自适应限流,大大提高限流的便携性、精确性和可靠性。
本发明中,运行数据包括:服务器的运行指标数据,例如程序反馈的指标数据、网络指标数据等,状态数据包括:内存状态、cpu状态以及GPU状态等软硬件实时情况数据,本发明在此不做赘述。
在一些实施例中,还包括:
S5:按照预设的重要性程度与应用程序的对应关系,对所述服务器内的每个应用程序按照重要性程度从小到大进行排序,生成应用程序序列;
该实施例中,步骤S4具体包括:
S41:根据所述应用程序序列中每个应用程序的预设步长系数,结合所述限流步长生成对应每个应用程序的单个限流步长;
S42:根据每个应用程序的单个限流步长,对每个应用程序进行限流。
具体而言,每个应用程序根据系统自身需要以及用户定义出重要性程度,然后对该重要性程度进行排序,排序靠前的重要性程度越高,应当对其进行较低限度的限流或者不限流,排序靠后的重要性程度较低,可以加大其限流步长。
该实施例中,通过对每个应用程序设置预设步长系数,进而可以通过统一的步长不同的系数来调控每个应用程序对应的实际步长,从而调节各个应用程序的限流比例。
在一些实施例中,还包括:
S6:根据当前响应时间、持续时间以及控制周期调节所述权重。
举例而言,该步骤具体包括:
S61:判断当前响应时间是否小于设定响应时间,当前TPS是否小于TPS上限,当前持续时间是否超过指定控制周期;
S62:若均为是,则以线性增长的方式调高所述运行数据对应的权重。
亦或者,在一些实施例中,该步骤具体包括:
S63:若当前控制周期内,cpu和内存占比均大于警报平均阈值,小于警报最大值,则以指数级增长的方式调高所述状态数据对应的权重。
该实施例中,举例而言,由于系统健康状态得分指标(CPU、内存、网络延时等)H1对于系统承载交易的能力有全局上的重大影响,因此其权重值w1必须高于交易健康状态指标H2的权重值w2。当响应时间小于Ts,TPS小于上限TPSmax,并且持续时间超过指定控制周期,则调大并发数w2。w2值是线性一致的。但对于系统健康得分指标H1来说,若当前控制周期内,CPU或内存的占用比例大于警报平均阈值Zavg,小于Zmax,则w1的值为指数级增大。不同级别的健康指标权重值设置可以有效提升限流的实时、动态调整的精确度,更有效的维护系统稳定性。
在一些实施例中,限流调整算法的选取可以利用深度学习进行,也即步骤S2具体包括:
S21:将所述状态数据和所述运行数据输入到预设的选取神经网络模型,所述选取神经网络模型输出所述限流调整算法的唯一标识;
S22:根据所述唯一标识选取对应的所述限流调整算法。
该实施例中,基于神经网络模型选取限流调整算法,通过将状态数据和运行数据输入到模型中,进而能够匹配出最契合的限流调整算法,达到最优化限流调整的目的。
在一些实施例中,神经网络模型可以在线或离线建立和/或训练,也即,本发明可以包括神经网络模型的建立步骤,即本发明的限流方法还包括:
建立所述神经网络模型;
利用已标记出所述唯一标识的包括所述状态数据和所述运行数据的数据集合组成一训练数据,其中,多个已标记的训练数据组成训练数据集。
可以理解,本发明基于IT系统负载能力的实时、动态调整限流值的实现方法解决了限流阈值无法事先精确设置,且无法根据系统动态的健康程序实时进行调节的问题,提供了一种更加便捷、精确、动态自适应的限流阈值设置方案,并且根据交易核心程度指标,达到对于核心交易对外服务的守护作用,在保障系统在提供最大处理能力的情况下保障系统的安全性和可靠性。
基于相同的发明构思,本发明进一步提供一种限流装置,如图2所示,包括:
采集模块1,采集服务器最新时间区间内的状态数据和运行数据;
算法选取模块2,基于所述状态数据和运行数据选取限流调整算法,并根据所述状态数据和运行数据生成系统健康状态得分和交易健康状态得分;
步长生成模块3,根据所述系统健康状态得分、所述交易健康状态得分以及对应的权重,生成限流步长;
限流模块4,结合所述限流调整算法和所述限流步长对所述服务器中的应用程序进行限流操作。
本发明提供的一种限流装置,通过利用服务器最新时间区间内的状态数据和运行数据,对应生成系统健康状态得分和交易健康状态得分,并且结合状态数据和运行数据来确定限流调整算法,从而可以针对性地进行限流操作,可以实现自适应限流,大大提高限流的便携性、精确性和可靠性。
从硬件层面来说,为了本发明提供一种用于实现所述限流方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现服务器、装置、分布式消息中间件集群装置、各类数据库以及用户终端等相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例中的限流方法的实施例,以及,限流方法装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
图3为本发明实施例的电子设备9600的系统构成的示意框图。如图3所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图3是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,限流方法功能可以被集成到中央处理器9100中。例如,中央处理器9100可以被配置为进行如下控制:
S1:采集服务器最新时间区间内的状态数据和运行数据;
S2:基于所述状态数据和运行数据选取限流调整算法,并根据所述状态数据和运行数据生成系统健康状态得分和交易健康状态得分;
S3:根据所述系统健康状态得分、所述交易健康状态得分以及对应的权重,生成限流步长;
S4:结合所述限流调整算法和所述限流步长对所述服务器中的应用程序进行限流操作。
从上述描述可知,本发明的实施例提供的电子设备,通过利用服务器最新时间区间内的状态数据和运行数据,对应生成系统健康状态得分和交易健康状态得分,并且结合状态数据和运行数据来确定限流调整算法,从而可以针对性地进行限流操作,可以实现自适应限流,大大提高限流的便携性、精确性和可靠性。
在另一个实施方式中,限流方法装置可以与中央处理器9100分开配置,例如可以将限流方法配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现限流方法功能。
如图3所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图3中所示的所有部件;此外,电子设备9600还可以包括图3中没有示出的部件,可以参考现有技术。
如图3所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本发明的实施例还提供能够实现上述实施例中的执行主体可以为服务器的限流方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的限流方法的全部步骤。
从上述描述可知,本发明的实施例提供的计算机可读存储介质,通过利用服务器最新时间区间内的状态数据和运行数据,对应生成系统健康状态得分和交易健康状态得分,并且结合状态数据和运行数据来确定限流调整算法,从而可以针对性地进行限流操作,可以实现自适应限流,大大提高限流的便携性、精确性和可靠性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种限流方法,其特征在于,包括:
采集服务器最新时间区间内的状态数据和运行数据;
基于所述状态数据和运行数据选取限流调整算法,并根据所述状态数据和运行数据生成系统健康状态得分和交易健康状态得分;
根据所述系统健康状态得分、所述交易健康状态得分以及对应的权重,生成限流步长;
结合所述限流调整算法和所述限流步长对所述服务器中的应用程序进行限流操作。
2.根据权利要求1所述的限流方法,其特征在于,还包括:
按照预设的重要性程度与应用程序的对应关系,对所述服务器内的每个应用程序按照重要性程度从小到大进行排序,生成应用程序序列;
所述结合所述限流调整算法和所述限流步长对所述服务器中的应用程序进行限流操作,包括:
根据所述应用程序序列中每个应用程序的预设步长系数,结合所述限流步长生成对应每个应用程序的单个限流步长;
根据每个应用程序的单个限流步长,对每个应用程序进行限流。
3.根据权利要求1所述的限流方法,其特征在于,还包括:
根据当前响应时间、持续时间以及控制周期调节所述权重。
4.根据权利要求1所述的限流方法,其特征在于,所述根据当前响应时间、持续时间以及控制周期调节所述权重,包括:
判断当前响应时间是否小于设定响应时间,当前TPS是否小于TPS上限,当前持续时间是否超过指定控制周期;
若均为是,则以线性增长的方式调高所述运行数据对应的权重。
5.根据权利要求1所述的限流方法,其特征在于,所述根据当前响应时间、持续时间以及控制周期调节所述权重,包括:
若当前控制周期内,cpu和内存占比均大于警报平均阈值,小于警报最大值,则以指数级增长的方式调高所述状态数据对应的权重。
6.根据权利要求1所述的限流方法,其特征在于,所述基于所述状态数据和运行数据选取限流调整算法,包括:
将所述状态数据和所述运行数据输入到预设的选取神经网络模型,所述选取神经网络模型输出所述限流调整算法的唯一标识;
根据所述唯一标识选取对应的所述限流调整算法。
7.根据权利要求1所述的限流方法,其特征在于,还包括:
建立所述神经网络模型;
利用已标记出所述唯一标识的包括所述状态数据和所述运行数据的数据集合组成一训练数据,其中,多个已标记的训练数据组成训练数据集。
8.一种限流装置,其特征在于,包括:
采集模块,采集服务器最新时间区间内的状态数据和运行数据;
算法选取模块,基于所述状态数据和运行数据选取限流调整算法,并根据所述状态数据和运行数据生成系统健康状态得分和交易健康状态得分;
步长生成模块,根据所述系统健康状态得分、所述交易健康状态得分以及对应的权重,生成限流步长;
限流模块,结合所述限流调整算法和所述限流步长对所述服务器中的应用程序进行限流操作。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至7任一所述方法的计算机程序。
CN202010821324.7A 2020-08-14 2020-08-14 限流方法及装置 Active CN111930507B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010821324.7A CN111930507B (zh) 2020-08-14 2020-08-14 限流方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010821324.7A CN111930507B (zh) 2020-08-14 2020-08-14 限流方法及装置

Publications (2)

Publication Number Publication Date
CN111930507A true CN111930507A (zh) 2020-11-13
CN111930507B CN111930507B (zh) 2023-09-08

Family

ID=73310415

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010821324.7A Active CN111930507B (zh) 2020-08-14 2020-08-14 限流方法及装置

Country Status (1)

Country Link
CN (1) CN111930507B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579396A (zh) * 2020-12-25 2021-03-30 上海安畅网络科技股份有限公司 软件系统动态限流方法、装置及设备
CN113014506A (zh) * 2021-02-10 2021-06-22 中国工商银行股份有限公司 一种生产运维方法、装置及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106921583A (zh) * 2016-12-07 2017-07-04 阿里巴巴集团控股有限公司 网络设备流量控制方法及装置
CN110297698A (zh) * 2018-03-22 2019-10-01 财付通支付科技有限公司 一种多优先级动态限流方法、装置、服务器及存储介质
CN110535784A (zh) * 2018-05-23 2019-12-03 北京三快在线科技有限公司 基于置信区间的流量管理方法和装置以及计算设备
CN110753131A (zh) * 2019-11-04 2020-02-04 网易(杭州)网络有限公司 微服务分布式限流方法及装置、存储介质和电子设备
CN110996352A (zh) * 2019-12-20 2020-04-10 众安在线财产保险股份有限公司 一种流量控制方法、装置、计算机设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106921583A (zh) * 2016-12-07 2017-07-04 阿里巴巴集团控股有限公司 网络设备流量控制方法及装置
CN110297698A (zh) * 2018-03-22 2019-10-01 财付通支付科技有限公司 一种多优先级动态限流方法、装置、服务器及存储介质
CN110535784A (zh) * 2018-05-23 2019-12-03 北京三快在线科技有限公司 基于置信区间的流量管理方法和装置以及计算设备
CN110753131A (zh) * 2019-11-04 2020-02-04 网易(杭州)网络有限公司 微服务分布式限流方法及装置、存储介质和电子设备
CN110996352A (zh) * 2019-12-20 2020-04-10 众安在线财产保险股份有限公司 一种流量控制方法、装置、计算机设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579396A (zh) * 2020-12-25 2021-03-30 上海安畅网络科技股份有限公司 软件系统动态限流方法、装置及设备
CN113014506A (zh) * 2021-02-10 2021-06-22 中国工商银行股份有限公司 一种生产运维方法、装置及系统
CN113014506B (zh) * 2021-02-10 2023-04-07 中国工商银行股份有限公司 一种生产运维方法、装置及系统

Also Published As

Publication number Publication date
CN111930507B (zh) 2023-09-08

Similar Documents

Publication Publication Date Title
CN111782470B (zh) 分布式容器日志数据处理方法及装置
CN105843572B (zh) 一种信息处理方法及可形变的电子设备
CN111930507B (zh) 限流方法及装置
CN105141587A (zh) 一种虚拟玩偶互动方法及装置
CN113240444A (zh) 银行客服坐席推荐方法及装置
CN103929692B (zh) 一种音频信息处理方法及电子设备
CN111736772A (zh) 分布式文件系统的存储空间数据处理方法及装置
CN112035066B (zh) 日志保留时长的计算方法及装置
CN114257532B (zh) 服务端状态探测方法及装置
CN104104793A (zh) 一种音频处理方法及装置
CN111339282A (zh) 智能在线应答方法及智能客服系统
CN114124962A (zh) 多机房消息负载均衡处理方法及装置
CN113746840A (zh) Json格式报文生成方法及装置
CN113434423B (zh) 接口测试方法及装置
CN112820302B (zh) 声纹识别方法、装置、电子设备和可读存储介质
CN114003388A (zh) 大数据计算引擎任务参数确定方法及装置
CN108512731B (zh) 一种设备参数的配置方法、移动终端及设备
KR20210029731A (ko) 모바일 환경에서의 외국어 학습 관리 시스템
CN107767857B (zh) 一种信息播放方法、第一电子设备和计算机存储介质
CN111953847A (zh) 客户端消息风险提醒方法、装置及系统
CN104079586A (zh) 一种信息交互方法及装置
CN110737421A (zh) 一种处理方法和装置
CN112766698B (zh) 应用业务压力确定方法及装置
US10293250B2 (en) Game device, game system, control method, and control program
CN115545162A (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