CN107222426A - 控流的方法、装置及系统 - Google Patents
控流的方法、装置及系统 Download PDFInfo
- Publication number
- CN107222426A CN107222426A CN201610161957.3A CN201610161957A CN107222426A CN 107222426 A CN107222426 A CN 107222426A CN 201610161957 A CN201610161957 A CN 201610161957A CN 107222426 A CN107222426 A CN 107222426A
- Authority
- CN
- China
- Prior art keywords
- flow control
- control valve
- valve value
- value
- predetermined
- 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
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/29—Flow control; Congestion control using a combination of thresholds
-
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2475—Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- 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/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种控流的方法、装置及系统。其中,该方法包括:检测访问终端发起访问业务系统的访问请求,获取限流条件数据;根据限流条件数据确定新的流控阀值;使用新的流控阀值更新当前的流控阀值。本发明解决了现有技术中由于限流策略为固定限流策略,使得在特殊情况下固定的限流策略与业务系统的运行状态不符导致业务系统崩溃的技术问题。
Description
技术领域
本发明涉及网络应用技术领域,具体而言,涉及一种控流的方法、装置及系统。
背景技术
在网络应用中,为了应对突发异常流量对于应用系统的影响,现有技术中常用的方法是采取流控或降级措施,即通过网关多维度地限制客户端访问者的请求,从而达到流控的目的,例如,限制每个客户端IP在每分钟内的访问次数、限制某个API在每分钟内的访问次数或限制某个用户对于某个API(Application Programming Interface,应用程序编程接口)的访问频率等。
现有技术中通常采用的控流的方法为静态的限流策略,即,现有技术中的限流策略是通过配置系统或配置文件直接配置完成的,是固定不变的限流规则。图1是根据现有技术的一种控流系统的系统结构示意图,该系统结构可以提供如下控流方法对应的实现步骤:
A、客户端向网关发起访问请求;
B、网关获取预先配置好的流控规则;
C、网关使用预先配置好的流控规则对客户端进行限流控制;
D、网关将经过限流控制的访问请求发送至应用系统。
然而在一些特殊场景下,例如某个区域的API出现了问题,或者被访问的应用程序的内部的压力比较大引起系统的响应时间较长,在上述情况下如果继续按照原有固定的限流策略进行限流,并有大量的访问请求的话,对被访问的应用系统来说,可能直接导致系统崩溃。
针对现有技术中由于限流策略为固定限流策略,使得在特殊情况下固定的限流策略与业务系统的运行状态不符导致业务系统崩溃的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种控流的方法、装置及系统,以至少解决现有技术中由于限流策略为固定限流策略,使得在特殊情况下固定的限流策略与业务系统的运行状态不符导致业务系统崩溃的技术问题。
根据本发明实施例的一个方面,提供了一种控流的方法,包括:检测访问终端发起访问业务系统的访问请求,获取限流条件数据;根据限流条件数据确定新的流控阀值;使用新的流控阀值更新当前的流控阀值。
根据本发明实施例的另一方面,还提供了一种控流的装置,包括:分析模块,用于检测访问终端发起访问业务系统的访问请求,获取限流条件数据;确定模块,用于根据限流条件数据确定新的流控阀值;更新模块,用于使用新的流控阀值更新当前的流控阀值。
根据本发明实施例的另一方面,还提供了一种限流的系统,包括:访问终端,向业务系统发起访问请求;分析系统终端,与所述访问终端通讯,检测所述访问终端发起所述访问业务系统的访问请求,则获取限流条件数据,根据所述限流条件数据确定新的流控阀值,并使用所述新的流控阀值更新所述当前的流控阀值。
由于限流条件数据中至少包括了当前的流控阀值,因此根据限流条件获得的新的流控阀值是与当前的限流条件对应的流控阀值,可以认为,动态的新的流控阀值能够与当前的限流条件数据相对应。
容易注意到的是,当业务系统的运行状态发生变动(例如:某个API出现故障、业务系统运行压力过大等)或终端对业务系统进行异常访问时,分析系统根据限流条件数据的变动发生变动,从而得到新的流控阀值,网关采用新的流控阀值对终端的访问请求进行限流;由于新的流控阀值与当前业务系统的运行状态(业务系统的运行状态体现于限流条件数据)相匹配,因此新的流控阀值也是与当前业务系统的运行状态相匹配的流控阀值,避免了业务系统的运行状态处于变动的状态但流控阀值为固定阀值导致的流控阀值与业务系统的运行状态不匹配的问题,从而避免了由于业务系统的运行状态和流控阀值不匹配导致的业务系统崩溃的问题。
由此,本申请提供的上述实施例的方案解决了现有技术中由于限流策略为固定限流策略,使得在特殊情况下固定的限流策略与业务系统的运行状态不符导致业务系统崩溃的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据现有技术的一种控流系统的系统结构示意图;
图2是根据本申请实施例1的一种控流方法的计算机终端的硬件结构框图;
图3是根据本发明实施例1的控流的方法的流程图;
图4是根据本发明实施例1的一种可选的控流的方法的示意图;
图5是根据本申请实施例1的一种可选的控流的方法的信息交互图;
图6是根据本申请实施例2的一种控流的装置的示意图;
图7是根据本申请实施例2的一种可选的控流的装置的示意图;
图8是根据本申请实施例2的一种可选的控流的装置的示意图;
图9是根据本申请实施例2的一种可选的控流的装置的示意图;
图10是根据本申请实施例2的一种可选的控流的装置的示意图;
图11是根据本申请实施例3的一种可选的控流的系统的结构图;
图12是根据本申请实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
API:API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码。
日至系统:日志系统时用于记录硬盘、软件和系统问题的信息,同时还可以监视系统发生问题的原因。
实施例1
根据本发明实施例,提供了一种控流的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图2是根据本申请实施例1的一种控流的方法的计算机终端的硬件结构框图。如图2所示,计算机终端20可以包括一个或多个(图中仅示出一个)处理器202(处理器202可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器204、以及用于通信功能的传输模块206。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端20还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
存储器204可用于存储应用软件的软件程序以及模块,如本发明实施例中的控流的方法对应的程序指令/模块,处理器202通过运行存储在存储器204内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器204可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器204可进一步包括相对于处理器202远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端20。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置206用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端20的通信供应商提供的无线网络。在一个实例中,传输装置206包括一个网络适配器(Network Interface Controller,NIC),其可与其他网络设备相连从而可与互联网进行通讯。
在上述运行环境下,本申请提供了如图3所示的控流的方法。图3是根据本发明实施例1的控流的方法的流程图,如图3所示的方法可以包括如下步骤:
步骤S21,检测访问终端发起访问业务系统的访问请求,获取限流条件数据。
在上述步骤中,访问终端可以是任意通过网络访问业务系统的终端,例如:智能手机、平板电脑、计算机等终端设备;业务系统可以是终端通过互联网访问的服务器提供的业务服务,例如:订单系统、物流系统等。
结合图4所示的示例,在检测访问终端发起访问业务系统的访问请求,可以通过图4所示的业务系统来获取当前的限流条件数据,其中,本发明该实施例中的分析系统可以是一台独立的服务器/计算设备或耦合于其他服务器/计算设备中的应用软件,访问终端可以是一种具有应用功能的客户端,访问终端可以通过网关将访问请求透传至业务系统,然后通过业务系统或者进一步通过日志系统转发至分析系统,当前状态下,在客户端向网关发送访问请求时,此时网关可以从已有的流控规则中获取当前的流控阈值来对访问请求进行限流控制,在将访问请求成功透过网关发送至业务系统之后,此时分析系统就可以成功检测到访问终端发起的访问请求,从而触发获取限流条件数据。
步骤S23,根据限流条件数据确定新的流控阀值。
流控阀值用于表征网关所允许的最大的访问值,即在某一终端访问目标业务系统的访问值大于流控阀值的情况下,网关将禁止访问终端继续访问目标业务系统,其中,访问值可以是在预设时间内终端访问目标业务系统的次数、终端访问目标业务系统的频率、某一固定IP地址访问业务系统的次数或频率以及某一API访问业务系统的次数或频率。
在上述步骤中,新的流控阀值为分析系统根据限流条件数据确定的,由于限流条件数据为动态数据,因此新的流控阀值也为动态数据。
结合图4所示的示例,在一种可选的实施例中,可以通过分析系统来获得的新的流控阀值,其中,新的流控阀值可以是在当前流控阀值的基础上升高或者降低得到的流控阀值,分析系统将新的流控阀值会更新至当前的流控规则中。
步骤S25,使用新的流控阀值更新当前的流控阀值,其中,可以通过图4所示的可选实施例中的分析系统来执行该步骤。
在一种可选的实施例中,以业务系统为订单系统为例,在某一用户通过网关向目标订单系统发送访问请求的情况下,分析系统根据获取的限流条件数据,确定当前订单系统内部运行压力过大,需要降低流控阀值,以防过大的访问请求使订单系统崩溃,在分析系统得到新的流控阀值后,采用较低新的流控阀值来替代当前的流控阀值,网关设备则采用新的流控阀值来对用户的访问进行限流。
此处需要说明的是,由于新的流控阀值为分析系统根据限流条件数据确定,并将当前的流控阀值替换为新的流控阀值,因此采用上述方案确定的流控阀值是根据限流条件数据变动的动态流控阀值。
由于限流条件数据中可以包括当前的流控阀值,因此根据限流条件数据获得的新的流控阀值是与当前的限流条件数据对应的流控阀值,可以认为,动态的新的流控阀值能够与当前的限流条件数据相对应。
容易注意到的是,当业务系统的运行状态发生变动(例如:某个API出现故障、业务系统运行压力过大等)或终端对业务系统进行异常访问时,分析系统根据限流条件数据的变动发生变动,从而得到新的流控阀值,网关采用新的流控阀值对终端的访问请求进行限流;由于新的流控阀值与当前业务系统的运行状态(业务系统的运行状态体现于限流条件数据)相匹配,因此新的流控阀值也是与当前业务系统的运行状态相匹配的流控阀值,避免了业务系统的运行状态处于变动的状态但流控阀值为固定阀值导致的流控阀值与业务系统的运行状态不匹配的问题,从而避免了由于业务系统的运行状态和流控阀值不匹配导致的业务系统崩溃的问题。
由此,本申请提供的上述实施例一的方案解决了现有技术中由于限流策略为固定限流策略,使得在特殊情况下固定的限流策略与业务系统的运行状态不符导致业务系统崩溃的技术问题。
在本申请上述实施例中,限流条件数据包括:当前的流控阀值,限流条件数据还包括:历史流控数据和业务系统的负载数据中的一个或二者的组合。
容易注意到的是,上述实施例提供的方案可以单一的从历史流控数据或从业务系统的负载数据来得到新的流控阀值;也可以从历史流控数据和业务系统负载数据这两个维度的限流条件数据来得到新的流控阀值,兼顾业务系统的历史控流情况以及业务系统的负载情况,从而使得分析系统既能够以历史流控数据为基础得到新流控阀值,又能够获取与业务系统的负载情况相对应新的流控阀值。
在本申请上述实施例中,历史流控数据可以包括:统计的限流次数和限流频率中的一个或二者的组合,其中,负载数据包括:任务处理值或CPU占用率。
在一种可选的实施例中,结合图4所示的示例,分析系统可以从日志系统中进行日志采集,得到上述限流条件数据中的历史流控数据,同时还需访问当前应用系统负载来获取到各个业务系统的业务负载数据。
在上述实施例中,历史流控数据所包括的限流次数和/或限流频率可以是某一终端被限流过的次数和/或在预设时间内某一终端被限流过的频率;业务服务集群可以是业务系统中运行的多个服务器构成的服务器集群,多个服务器用于同时处理业务系统的访问请求;任务处理值用于表示业务系统当前执行任务的任务值,CPU占用率用于表示当前业务系统所运行的程序占用的CPU的资源,当CPU占用率越高时,可以认为CPU已经被占用的资源越多,能够继续用来处理新的访问请求的资源越少。
在本申请上述实施例中,流控阀值为如下任意一个数据值:访问用户的流控阀值、访问终端地址的流控阀值、API接口的流控阀值,步骤S25,根据限流条件数据确定新的流控阀值,包括:
步骤S251,判断统计的限流次数是否超过预定次数,和/或限流频率是否超出预定频率值。
步骤S253,如果统计的限流次数超过预定次数,和/或限流频率超出预定频率值,则将流控阀值下降至第一预定流控阀值。
此处需要说明的是,访问用户的流控阀值可以是用户对某一固定业务系统的访问频率或访问次数;访问终端地址的流控阀值可以是某一访问终端地址对某一固定业务系统的访问频率或访问次数;API接口的流控阀值可以是API接口访问某一固定业务系统的访问频率或访问次数。
在一种可选的实施例中,以预定次数为1000次,限流频率为20次/秒为例,在流控阀值为访问用户的流控阀值的示例中,该访问用户访问某一业务系统超过流控阀值的次数为1243次,平均每秒超过控流阀值的次数为17.3次,因此该访问用户的流控阀值超过了预定次数,在上述情况下,将当前的流控阀值降低至第一预定流控阀值,以限制上述访问用户的访问请求。
此处需要说明的是,在上述步骤中,限流次数和限流频率均为判断的条件,即限流次数和限流频率中任意一个值超过了对应的预设值,都将会引起流控阀值的下降。
此处还需要说明的是,本实施例上述步骤采用判断限流次数的方式来确定是否降低流控阀值,目的在于在某一访问用户、访问终端或API接口被多次限流的情况下,该访问用户、访问终端或API接口为其访问的业务系统带了了较大的访问压力,并可以怀疑上述访问为恶意访问,为了防止上述访问用户、访问终端或API接口继续对业务系统进行高频率正常访问或恶意访问,分析系统在当前流控阀值的基础上降低新的流控阀值,以达到进一步限流的技术效果。
在本申请上述实施例中,业务系统包括多个业务服务器,每个业务服务器的负载数据实时更新,步骤S25,根据限流条件数据确定新的流控阀值,包括:
步骤S255,如果业务系统中超过预定数量的业务服务器的任务处理值大于等于第一预定值,或CPU占用率大于等于第二预定值,则将流控阀值下降至第二预定流控阀值。
步骤S257,如果业务系统中超过预定数量的业务服务器的任务处理值小于等于第三预定值,或CPU占用率小于等于第四预定值,则将流控阀值提高至第三预定流控阀值。
在上述步骤中,第一预定值可以是业务处理器在正常运行的基础上能够处理的较大任务处理值,第二预定值可以是CPU在正常运行的基础上能够使用的较大的CPU占用率,因此在业务系统中超过预定数量的业务服务器的任务处理值大于等于第一预定值,或CPU占用率大于等于第二预定值的情况下,如果继续使用当前的流控阀值,即使部分业务服务器或CPU超出负荷运行,则会出现部分业务服务器或CPU出现故障或崩溃的事件。
第三预定值可以是业务服务器较为空闲时的任务处理直,第四预定值可以是CPU较为空闲时的CPU占用率,即在业务系统中超过预定数量的业务服务器的任务处理值小于等于第三预定值,或CPU占用率小于等于第四预定值的情况下,可以认为业务处理器集群或CPU为较为空闲的状态,仍然以当前的流控阀值进行限流会产生一定的资源浪费,业务服务器或CPU以较空闲的状态运行,而通过网关对业务系统进行访问的用户、地址或API均由于限流不能对业务系统进行访问,因此分析系统根据上述限流条件数据提高流控阀值,以使其他用户、地址或API能够尽快对业务系统进行访问。
仍旧结合图4所示的示例,在一种可选的实施例中,上述方案可以实现分析系统获取动态的流控策略,其中,上述动态的流控策略中包含了根据当前可以获取到的历史流控数据和/或业务系统的负载数据得到新的流控数据的方法,或预先设定的与历史流控数据和/或业务系统负载数据对应的新的流控阀值。(例如:以4核4G的业务服务器为例,如果50%以上的业务服务器均出现losd>4,或cpu>100%的情况,则将新的流控阀值在当前流控阀值的基础上下降10%,如果50%以上的业务服务器均出现losd<0.5,或cpu<50%的情况,,则将新的流控阀值在当前阀值的基础上调10%。)
由此可知,本申请上述步骤所实现的实施例可以实现,分析系统根据获取的历史流量数据和业务系统负责数据对流控规则中设置的流控策略进行动态调整。
下面采用一种可选的实施例对上述示例进行详细说明,以第一预定值为20000,第二预定值为85%,第三预定值为8000,第四预定值为50%为例,在获取业务系统中的20个业务服务器有12个业务服务器的任务处理值大于200000,CPU的占用率为83%的情况下,分析系统将设置小于当前流控阀值的新的流控阀值;在获取业务系统中的20个业务服务器有3个业务服务器的任务处理值小于8000,CPU的占用率为46%的情况下,分析系统将设置大于当前流控阀值的新的流控阀值。
此处需要说明的是,业务系统中包括多个业务服务器,在对业务服务器的任务处理值与第三预定值进行比较时,将业务系统中的每个业务服务器的任务处理值与第三预定值进行比较,其中,分析系统存储有预定数量,当任务处理值大于等于第一预定值的业务服务器的数量超过预定数量时,可以认为当前的流控阀值过大,业务处理器集群和CPU不能够处理当前的访问请求。
此处还需要说明的是每个业务服务器的负载数据是实时更新的,分析系统在获取业务服务器的任务处理值时,获取的均为业务服务器最新的任务处理值。
在本申请上述实施例中,限流条件数据至少还包括:预先设定的限流控制优先级,步骤S25,根据限流条件数据确定新的流控阀值,包括:
步骤S259,在根据历史流控数据确定将流控阀值调整至第一预定流控阀值,并根据业务系统的负载数据确定将流控阀值调整至第二预定流控阀值或第三预定流控阀值的情况下,如果限流控制优先级为历史流控数据的优先级高于负载数据的优先级,则将第一预定流控阀值作为新的流控阀值。
在本申请上述步骤中,分析系统根据历史流控数据确定将流控阀值调整至第一预定流控阀值,根据业务系统的负载数据确定将流控阀值调整至第二预定流控阀值或第三预定流控阀值,而新的控流阀值只能是唯一控流阀值,因此需要对限流控制优先级做判断,选择限流控制优先级较高的数据对应的控流阀值作为新的控流阀值。
在一种可选的实施例中,在业务系统内部服务器运行稳定的情况下,可以设置历史流控数据的优先级为较高优先级;在另一种可选的实施例中,还可以选择较大的流控阀值为新的流控阀值。
在本申请上述实施例中,步骤S259,如果限流控制优先级为负载数据的优先级高于历史流控数据的优先级,将第二预定流控阀值或第三预定流控阀值作为新的流控阀值。
此处需要说明的是,关于历史流控数据的优先级和负载数据的优先级,本申请不做具体限定,可以根据实际需求选择历史流控数据和负载数据的优先级。
在一种可选的实施例中,在业务系统内部服务器压力较大的情况下,可以设置负载数据的优先级为较高优先级;在另一种可选的实施例中,还可以选择较大的流控阀值为新的流控阀值。
在本申请上述实施例中,步骤S21,在分析系统读取限流条件数据之前,上述方法还包括:
步骤S27,访问终端通过网关将访问请求发送给业务系统,其中,网关用于使用当前的流控阀值对访问请求进行限流控制。
步骤S29,业务系统将访问请求和进行限流控制时得到的流控数据写入日志系统,其中,日志系统用于记录历史流控数据;其中,在日志系统写入访问请求的情况下,日志系统将历史流控数据发送至分析系统。
在本申请上述实施例中,日志系统用于记录和存储历史流控数据,以使分析系统根据历史流控数据得到新的流控阀值。在一种可选的实施例中,日志系统以表格的方式呈现历史流控数据。
结合图4所示的示例可知,上述步骤S27和步骤29可以实现访问终端(可以是客户端)通过网关将访问请求透传至业务系统,该业务系统可以是部署了应用软件的应用系统,在业务系统将访问请求和进行限流控制时得到的流控数据直接写入日志系统之后,或日至系统通过对应用系统进行日志采集得到访问请求和进行限流控制时得到的流控数据之后,可以将历史流控数据发送至分析系统,从而分析系统可以通过接收到的日志内容得到历史流控数据。
此处需要说明的是,在本申请中的日志系统用于记录历史流控数据,但并不去限定本发明中的日志系统对其他数据的记录。
在本申请上述实施例中,步骤S25,在分析系统使用新的流控阀值更新当前的流控阀值之后,方法还包括:
步骤S211,网关从分析系统获取到更新后的流控阀值,或者分析系统将更新后的流控阀值发送给网关,使得网关使用更新后的流控阀值对访问终端进行限流控制。
在一种可选的实施例中,分析系统根据限流条件数据获得新的流控阀值,网关从分析系统中获取新的流控阀值,并使用新的流控阀值对访问终端进行限流;在另一种可选的实施例中,分析系统将根据限流条件数据获得新的流控阀值发送至网关,以使网关对访问终端进行限流控制。
在本申请上述实施例中,网关对访问请求进行如下任意一个或多个处理:协议转换处理、参数转换处理、访问控制处理和限流控制处理。
在本申请上述实施例中,结合图4所示的实施例,上述实施例可以实现通过网关在经过协议转换、参数转换、访问控制、流量控制等处理后将访问请求发送至业务系统,其中,协议处理用于使协议不相同的网络进行互连,参数转换处理用于对不同的通讯格式、数据格式或语言的进行转换,访问控制可以是对访问终端进行鉴权,以确认该访问终端是否有权访问该业务系统,或该访问终端有权访问的信息项,限制流量处理用于限定用户终端在访问业务系统是的速率,以防止瞬时访问高峰使业务系统和CPU崩溃,从而确保业务系统正常运行。
综上可知,本申请提供的实施例一中的控流的方法可以实现当业务系统的运行状态发生变动或终端对业务系统进行异常访问时,分析系统根据限流条件数据的变动发生变动,从而得到新的流控阀值,网关采用新的流控阀值对终端发起的新的访问请求进行限流,从而避免了由于业务系统的运行状态和流控阀值不匹配导致的业务系统崩溃的问题。下面结合图5所示,就本申请的方案应用在一种浏览器客户端的访问进行控流的应用场景所实现的功能进行详细描述。
图5是根据本申请实施例1的一种可选的控流的方法的信息交互图,结合图5所示,包括如下步骤:
步骤S501,访问终端向网关发送访问请求。
在上述步骤中,访问终端可以是浏览器客户端的载体,在用户打开浏览器进行访问时,可以实现访问终端向网关发送访问请求的功能。
步骤S503,网关经过协议转换、参数转换、访问控制和流量控制后将访问请求发送至业务系统终端。
步骤S505,业务系统终端将访问请求发送至日志系统终端。
步骤S507,日志系统终端将历史流控数据发送至分析系统终端。
步骤S509,业务服务器将负载数据发送至分析系统终端。
步骤S5011,分析系统终端根据历史流控数据以及业务系统中每个业务服务器的负载数据确定新的流控阀值。
在上述步骤中,在分析系统根据历史流控数据得到的新的流控阈值与根据业务服务器获得的流控阈值不相同的情况下,需要根据预先设定的优先级来确定新的流控阀值,在历史流控数据具有较高优先级的情况下,确认分析系统根据历史流控数据得到的新的流控阀值为新的流控阀值,否则,确认分析系统根据业务服务器获得的流控阀值为新的流控阀值。
步骤S5013,网关获取分析系统终端确认的新的流控阀值,根据新的流控阀值对访问终端进行限流控制。
在上述步骤中,分析系统将新的流控阀值发送至网关,使新的流控阀值替换当前流控阀值,网关使用新的流控阀值对访问终端的访问请求进行限流控制,使得控流的方法与当前限流条件相对应。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种控流的装置,图6是根据本申请实施例2的一一种控流的装置的示意图,如图6所示,该装置包括:分析模块60,确定模块62和更新模块64。
分析模块60,用于检测访问终端发起访问业务系统的访问请求,获取限流条件数据;确定模块62,用于根据限流条件数据确定新的流控阀值;更新模块64,用于使用新的流控阀值更新当前的流控阀值。
在上述步骤中,访问终端可以是任意通过网络访问业务系统的终端,例如:智能手机、平板电脑、计算机等终端设备;业务系统可以是终端通过互联网访问的服务器提供的业务服务,例如:订单系统、物流系统等。
流控阀值用于表征网关所允许的最大的访问值,即在某一终端访问目标业务系统的访问值大于流控阀值的情况下,网关将禁止访问终端继续访问目标业务系统,其中,访问值可以是在预设时间内终端访问目标业务系统的次数、终端访问目标业务系统的频率、某一固定IP地址访问业务系统的次数或频率以及某一API访问业务系统的次数或频率。
在一种可选的实施例中,以业务系统为订单系统为例,在某一用户通过网关向目标订单系统发送访问请求的情况下,分析系统根据获取的限流条件数据,确定当前订单系统内部运行压力过大,需要降低流控阀值,以防过大的访问请求使订单系统崩溃,在分析系统得到新的流控阀值后,采用较低新的流控阀值来替代当前的流控阀值,网关设备则采用新的流控阀值来对用户的访问进行限流。
此处需要说明的是,由于新的流控阀值为分析系统根据限流条件数据确定,并将当前的流控阀值替换为新的流控阀值,因此采用上述方案确定的流控阀值是根据限流条件数据变动的动态流控阀值。
由于限流条件数据中至少包括了当前的流控阀值,因此根据限流条件获得的新的流控阀值是与当前的限流条件对应的流控阀值,可以认为,动态的新的流控阀值能够与当前的限流条件数据相对应。
容易注意到的是,当业务系统的运行状态发生变动(例如:某个API出现故障、业务系统运行压力过大等)或终端对业务系统进行异常访问时,分析系统根据限流条件数据的变动发生变动,从而得到新的流控阀值,网关采用新的流控阀值对终端的访问请求进行限流;由于新的流控阀值与当前业务系统的运行状态(业务系统的运行状态体现于限流条件数据)相匹配,因此新的流控阀值也是与当前业务系统的运行状态相匹配的流控阀值,避免了业务系统的运行状态处于变动的状态但流控阀值为固定阀值导致的流控阀值与业务系统的运行状态不匹配的问题,从而避免了由于业务系统的运行状态和流控阀值不匹配导致的业务系统崩溃的问题。
由此,本申请提供的上述实施例一的方案解决了现有技术中由于限流策略为固定限流策略,使得在特殊情况下固定的限流策略与业务系统的运行状态不符导致业务系统崩溃的技术问题。
在本申请上述实施例中,上述限流条件包括:当前的流控阀值,上述限流条件数据至少还包括:历史流控数据和业务系统的负载数据中的一个或二者的组合。
容易注意到的是,上述实施例提供的方案可以单一的从历史流控数据或从业务系统的负载数据来得到新的流控阀值;也可以从历史流控数据和业务系统这两个维度的限流条件数据来得到新的流控阀值,兼顾业务系统的历史控流情况以及业务系统的负载情况,从而使得分析系统既能够以历史流控数据为基础得到新流控阀值,又能够获取与业务系统的负载情况相对应新的流控阀值。
在本申请上述实施例中,历史流控数据包括:统计的限流次数和限流频率中的一个或二者的组合,负载数据包括:任务处理值或CPU占用率。
在本申请上述实施例中,流控阀值为如下任意一个数据值:访问用户的流控阀值、访问终端地址的流控阀值、API接口的流控阀值,其中,结合图7所示,上述确定模块62包括:
判断模块70,用于判断统计的限流次数是否超过预定次数,和/或限流频率是否超出预定频率值;第一下降模块72,用于如果统计的限流次数超过预定次数,和/或限流频率超出预定频率值,则将流控阀值下降至第一预定流控阀值。
此处需要说明的是,访问用户的流控阀值可以是用户对某一固定业务系统的访问频率或访问次数;访问终端地址的流控阀值可以是某一访问终端地址对某一固定业务系统的访问频率或访问次数;API接口的流控阀值可以是API接口访问某一固定业务系统的访问频率或访问次数。
在一种可选的实施例中,以预定次数为1000次,限流频率为20次/秒为例,在流控阀值为访问用户的流控阀值的示例中,该访问用户访问某一业务系统超过流控阀值的次数为1243次,平均每秒超过控流阀值的次数为17.3次,因此该访问用户的流控阀值超过了预定次数,在上述情况下,将当前的流控阀值降低至第一预定流控阀值,以限制上述访问用户的访问请求。
此处需要说明的是,在上述步骤中,限流次数和限流频率均为判断的条件,即限流次数和限流频率中任意一个值超过了对应的预设值,都将会引起流控阀值的下降。
此处还需要说明的是,本实施例上述步骤采用判断限流次数的方式来确定是否降低流控阀值,目的在于在某一访问用户、访问终端或API接口被多次限流的情况下,该访问用户、访问终端或API接口为其访问的业务系统带了了较大的访问压力,并可以怀疑上述访问为恶意访问,为了防止上述访问用户、访问终端或API接口继续对业务系统进行高频率正常访问或恶意访问,分析系统在当前流控阀值的基础上降低新的流控阀值,以达到进一步限流的技术效果。
在本申请上述实施例中,业务系统包括多个业务服务器,每个业务服务器的负载数据实时更新,其中,结合图8所示,上述确定模块62包括:
第二下降模块80,用于如果业务系统中超过预定数量的业务服务器的任务处理值大于等于第一预定值,或CPU占用率大于等于第二预定值,则将流控阀值下降至第二预定流控阀值;提高模块82,用于如果业务系统中超过预定数量的业务服务器的任务处理值小于等于第三预定值,或CPU占用率小于等于第四预定值,则将流控阀值提高至第三预定流控阀值。
在本申请上述实施例中,限流条件数据至少还包括:预先设定的限流控制优先级,其中,结合图9所示,上述确定模块62还包括:
第一确认模块90,用于在根据历史流控数据确定将流控阀值调整至第一预定流控阀值,并根据业务系统的负载数据确定将流控阀值调整至第二预定流控阀值或第三预定流控阀值的情况下,如果限流控制优先级为历史流控数据的优先级高于负载数据的优先级,则将第一预定流控阀值作为新的流控阀值。
本申请上述步骤中,分析系统根据历史流控数据确定将流控阀值调整至第一预定流控阈值,根据业务系统的负载数据确定将流控阀值调整至第二预定流控阀值或第三预定流控阀值,而新的控流阀值只能是唯一控流阀值,因此需要对限流控制优先级做判断,选择限流控制优先级较高的数据对应的控流阀值作为新的控流阀值。
在一种可选的实施例中,在业务系统内部服务器运行稳定的情况下,可以设置历史流控数据的优先级为较高优先级;在另一种可选的实施例中,还可以选择较大的流控阀值为新的流控阀值。
在本申请上述实施例中,结合图10所示,确定模块62还包括:
第二确认模块100,用于如果限流控制优先级为负载数据的优先级高于历史流控数据的优先级,将第二预定流控阀值或第三预定流控阀值作为新的流控阀值。
此处需要说明的是,关于历史流控数据的优先级和负载数据的优先级,本申请不做具体限定,可以根据实际需求选择历史流控数据和负载数据的优先级。
在一种可选的实施例中,在业务系统内部服务器压力较大的情况下,可以设置负载数据的优先级为较高优先级;在另一种可选的实施例中,还可以选择较大的流控阀值为新的流控阀值。
第三预定值可以是业务服务器较为空闲时的任务处理直,第四预定值可以是CPU较为空闲时的CPU占用率,即在业务系统中超过预定数量的业务服务器的任务处理值小于等于第三预定值,或CPU占用率小于等于第四预定值的情况下,可以认为业务处理器集群或CPU为较为空闲的状态,仍然以当前的流控阀值进行限流会产生一定的资源浪费,业务服务器或CPU以较空闲的状态运行,而通过网关对业务系统进行访问的用户、地址或API均由于限流不能对业务系统进行访问,因此分析系统根据上述限流条件数据提高流控阀值,以使其他用户、地址或API能够尽快对业务系统进行访问。
在一种可选的实施例中,以第一预定值为20000,第二预定值为85%,第三预定值为8000,第四预定值为50%为例,在获取业务系统中的20个业务服务器有12个业务服务器的任务处理值大于200000,CPU的占用率为83%的情况下,分析系统将设置小于当前流控阀值的新的流控阀值;在获取业务系统中的20个业务服务器有3个业务服务器的任务处理值小于8000,CPU的占用率为46%的情况下,分析系统将设置大于当前流控阀值的新的流控阀值。
此处需要说明的是,业务系统中包括多个业务服务器,在对业务服务器的任务处理值与第三预定值进行比较时,将业务系统中的每个业务服务器的任务处理值与第三预定值进行比较,其中,分析系统存储有预定数量,当任务处理值大于等于第一预定值的业务服务器的数量超过预定数量时,可以认为当前的流控阀值过大,业务处理器集群和CPU不能够处理当前的访问请求。
此处还需要说明的是每个业务服务器的负载数据是实时更新的,分析系统在获取业务服务器的任务处理值时,获取的均为业务服务器最新的任务处理值。
实施例3
根据本申请实施例,还提供了一种控流的系统,如图11所示,该系统可以包括:访问终端110和分析系统终端112。
访问终端110,向业务系统发起访问请求。
分析系统终端112,与访问终端通讯,检测访问终端发起访问业务系统终端的访问请求,获取限流条件数据,根据限流条件数据确定新的流控阀值,并使用新的流控阀值更新当前的流控阀值,其中,限流条件数据至少包括:当前的流控阀值。
在一种可选的实施例中,以业务系统终端114为订单系统为例,在某一用户通过网关116向目标订单系统发送访问请求的情况下,分析系统终端根据获取的限流条件数据,确定当前订单系统内部运行压力过大,需要降低流控阀值,以防过大的访问请求使订单系统崩溃,在分析系统得到新的流控阀值后,采用较低新的流控阀值来替代当前的流控阀值,网关设备则采用新的流控阀值来对用户的访问进行限流。
此处需要说明的是,由于新的流控阀值为分析系统根据限流条件数据确定,并将当前的流控阀值替换为新的流控阀值,因此采用上述方案确定的流控阀值是根据限流条件数据变动的动态流控阀值。
由于限流条件数据中至少包括了当前的流控阀值,因此根据限流条件获得的新的流控阀值是与当前的限流条件对应的流控阀值,可以认为,动态的新的流控阀值能够与当前的限流条件数据相对应。
容易注意到的是,当业务系统终端的运行状态发生变动(例如:某个API出现故障、业务系统终端运行压力过大等)或终端对业务系统终端进行异常访问时,分析系统根据限流条件数据的变动发生变动,从而得到新的流控阀值,网关采用新的流控阀值对终端的访问请求进行限流;由于新的流控阀值与当前业务系统终端的运行状态(业务系统终端的运行状态体现于限流条件数据)相匹配,因此新的流控阀值也是与当前业务系统终端的运行状态相匹配的流控阀值,避免了业务系统终端的运行状态处于变动的状态但流控阀值为固定阀值导致的流控阀值与业务系统终端的运行状态不匹配的问题,从而避免了由于业务系统终端的运行状态和流控阀值不匹配导致的业务系统终端崩溃的问题。
由此,本申请提供的上述实施例3的方案解决了现有技术中由于限流策略为固定限流策略,使得在特殊情况下固定的限流策略与业务系统终端的运行状态不符导致业务系统终端崩溃的技术问题。
在本申请上述实施例中,上述限流条件包括:所述当前的流控阀值,所述限流条件数据还包括:历史流控数据和所述业务系统的负载数据中的一个或二者的组合。
容易注意到的是,上述实施例提供的方案可以单一的从历史流控数据或从业务系统的负载数据来得到新的流控阀值;也可以从历史流控数据和业务系统负载数据这两个维度的限流条件数据来得到新的流控阀值,兼顾业务系统的历史控流情况以及业务系统的负载情况,从而使得分析系统既能够以历史流控数据为基础得到新流控阀值,又能够获取与业务系统的负载情况相对应新的流控阀值。
在本申请上述实施例中,上述历史流控数据包括:统计的限流次数和限流频率中的一个或二者的组合,所述负载数据包括:任务处理值或CPU占用率。
在本申请上述实施例中,分析系统终端还用于判断统计的限流次数是否超过预定次数,和/或限流频率是否超出预定频率值,如果统计的限流次数超过预定次数,和/或限流频率超出预定频率值,则将流控阀值下降至第一预定流控阀值。
在上述系统中,历史流控数据由日志系统终端118对访问请求日志进行采集得到,并将历史流控数据发送至分析系统终端。
此处需要说明的是,访问用户的流控阀值可以是用户对某一固定业务系统终端的访问频率或访问次数;访问终端地址的流控阀值可以是某一访问终端地址对某一固定业务系统终端的访问频率或访问次数;API接口的流控阀值可以是API接口访问某一固定业务系统终端的访问频率或访问次数。
在一种可选的实施例中,以预定次数为1000次,限流频率为20次/秒为例,在流控阀值为访问用户的流控阀值的示例中,该访问用户访问某一业务系统终端超过流控阀值的次数为1243次,平均每秒超过控流阀值的次数为17.3次,因此该访问用户的流控阀值超过了预定次数,在上述情况下,将当前的流控阀值降低至第一预定流控阀值,以限制上述访问用户的访问请求。
此处需要说明的是,在上述系统中,限流次数和限流频率均为判断的条件,即限流次数和限流频率中任意一个值超过了对应的预设值,都将会引起流控阀值的下降。
此处还需要说明的是,本实施例上述系统采用判断限流次数的方式来确定是否降低流控阀值,目的在于在某一访问用户、访问终端或API接口被多次限流的情况下,该访问用户、访问终端或API接口为其访问的业务系统终端带了了较大的访问压力,并可以怀疑上述访问为恶意访问,为了防止上述访问用户、访问终端或API接口继续对业务系统终端进行高频率正常访问或恶意访问,分析系统在当前流控阀值的基础上降低新的流控阀值,以达到进一步限流的技术效果。
在本申请上述实施例中,分析系统终端还用于如果业务系统中超过预定数量的业务服务器的任务处理值大于等于第一预定值,或CPU占用率大于等于第二预定值,则将流控阀值下降至第二预定流控阀值,如果业务系统中超过预定数量的业务服务器的任务处理值小于等于第三预定值,或CPU占用率小于等于第四预定值,则将流控阀值提高至第三预定流控阀值。
在上述系统中,业务服务器的负载数据由业务服务器1110发送至分析系统终端。
在上述系统中,第一预定值可以是业务处理器在正常运行的基础上能够处理的较大任务处理值,第二预定值可以是CPU在正常运行的基础上能够使用的较大的CPU占用率,因此在业务系统中超过预定数量的业务服务器的任务处理值大于等于第一预定值,或CPU占用率大于等于第二预定值的情况下,如果继续使用当前的流控阀值,即使部分业务服务器或CPU超出负荷运行,则会出现部分业务服务器或CPU出现故障或崩溃的事件。
第三预定值可以是业务服务器较为空闲时的任务处理直,第四预定值可以是CPU较为空闲时的CPU占用率,即在业务系统中超过预定数量的业务服务器的任务处理值小于等于第三预定值,或CPU占用率小于等于第四预定值的情况下,可以认为业务处理器集群或CPU为较为空闲的状态,仍然以当前的流控阀值进行限流会产生一定的资源浪费,业务服务器或CPU以较空闲的状态运行,而通过网关对业务系统终端进行访问的用户、地址或API均由于限流不能对业务系统终端进行访问,因此分析系统根据上述限流条件数据提高流控阀值,以使其他用户、地址或API能够尽快对业务系统终端进行访问。
此处需要说明的是,业务系统中包括多个业务服务器,在对业务服务器的任务处理值与第三预定值进行比较时,将业务系统中的每个业务服务器的任务处理值与第三预定值进行比较,其中,分析系统存储有预定数量,当任务处理值大于等于第一预定值的业务服务器的数量超过预定数量时,可以认为当前的流控阀值过大,业务处理器集群和CPU不能够处理当前的访问请求。
此处还需要说明的是每个业务服务器的负载数据是实时更新的,分析系统在获取业务服务器的任务处理值时,获取的均为业务服务器最新的任务处理值。
在本申请上述实施例中,上述系统还包括:
网关116,分别于与访问终端和分析系统终端通讯,用于使用当前的流控阀值对访问请求进行限流控制,并从分析系统终端获取到更新后的流控阀值,或者接收分析系统终端发送的更新后的流控阀值,使用更新后的流控阀值对访问终端进行限流控制。
在一种可选的实施例中,分析系统根据限流条件数据获得新的流控阀值,网关从分析系统中获取新的流控阀值,并使用新的流控阀值对访问终端进行限流;在另一种可选的实施例中,分析系统将根据限流条件数据获得新的流控阀值发送至网关,以使网关对访问终端进行限流控制。
实施例4
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行应用程序的控流的方法中以下步骤的程序代码:检测访问终端发起访问业务系统的访问请求,获取限流条件数据;根据限流条件数据确定新的流控阀值;使用新的流控阀值更新当前的流控阀值。
可选地,图12是根据本发明实施例的一种计算机终端的结构框图。如图12所示,该计算机终端1200可以包括:一个或多个(图中仅示出一个)处理器1202、存储器1204、传输装置1206、访问终端110和业务系统终端114。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的控流的方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的控流的方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:检测访问终端发起访问业务系统的访问请求,获取限流条件数据;根据限流条件数据确定新的流控阀值;使用新的流控阀值更新当前的流控阀值。
可选的,上述处理器还可以执行如下步骤的程序代码:限流条件数据包括:当前的流控阀值,限流条件数据还包括:历史流控数据和业务系统的负载数据中的一个或二者的组合。
可选的,上述处理器还可以执行如下步骤的程序代码:历史流控数据包括:统计的限流次数和限流频率中的一个或二者的组合,负载数据包括:任务处理值或CPU占用率。
可选的,上述处理器还可以执行如下步骤的程序代码:流控阀值为如下任意一个数据值:访问用户的流控阀值、访问终端地址的流控阀值、API接口的流控阀值,其中,根据限流条件数据确定新的流控阀值,包括:判断统计的限流次数是否超过预定次数,和/或限流频率是否超出预定频率值;如果统计的限流次数超过预定次数,和/或限流频率超出预定频率值,则将流控阀值下降至第一预定流控阀值。
可选的,上述处理器还可以执行如下步骤的程序代码:业务系统包括多个业务服务器,每个业务服务器的负载数据实时更新,其中,根据限流条件数据确定新的流控阀值,包括:
如果业务系统中超过预定数量的业务服务器的任务处理值大于等于第一预定值,或CPU占用率大于等于第二预定值,则将流控阀值下降至第二预定流控阀值;如果业务系统中超过预定数量的业务服务器的任务处理值小于等于第三预定值,或CPU占用率小于等于第四预定值,则将流控阀值提高至第三预定流控阀值。
可选的,上述处理器还可以执行如下步骤的程序代码:限流条件数据至少还包括:预先设定的限流控制优先级,其中,根据限流条件数据确定新的流控阀值,包括:在根据历史流控数据确定将流控阀值调整至第一预定流控阀值,并根据业务系统的负载数据确定将流控阀值调整至第二预定流控阀值或第三预定流控阀值的情况下,如果限流控制优先级为历史流控数据的优先级高于负载数据的优先级,则将第一预定流控阀值作为新的流控阀值。
可选的,上述处理器还可以执行如下步骤的程序代码:如果限流控制优先级为负载数据的优先级高于历史流控数据的优先级,将第二预定流控阀值或第三预定流控阀值作为新的流控阀值。
可选的,上述处理器还可以执行如下步骤的程序代码:访问终端通过网关将访问请求发送给业务系统,其中,网关用于使用当前的流控阀值对访问请求进行限流控制;业务系统将访问请求和进行限流控制时得到的流控数据写入日志系统,其中,日志系统用于记录历史流控数据;其中,在日志系统写入访问请求的情况下,日志系统将历史流控数据发送至分析系统。
可选的,上述处理器还可以执行如下步骤的程序代码:网关从分析系统获取到更新后的流控阀值,或者分析系统将更新后的流控阀值发送给网关,使得网关使用更新后的流控阀值对访问终端进行限流控制。
可选的,上述处理器还可以执行如下步骤的程序代码:网关对访问请求进行如下任意一个或多个处理:协议转换处理、参数转换处理、访问控制处理和限流控制处理。
由于限流条件数据中至少包括了当前的流控阀值,因此根据限流条件获得的新的流控阀值是与当前的限流条件对应的流控阀值,可以认为,动态的新的流控阀值能够与当前的限流条件数据相对应。
容易注意到的是,当业务系统的运行状态发生变动(例如:某个API出现故障、业务系统运行压力过大等)或终端对业务系统进行异常访问时,分析系统根据限流条件数据的变动发生变动,从而得到新的流控阀值,网关采用新的流控阀值对终端的访问请求进行限流;由于新的流控阀值与当前业务系统的运行状态(业务系统的运行状态体现于限流条件数据)相匹配,因此新的流控阀值也是与当前业务系统的运行状态相匹配的流控阀值,避免了业务系统的运行状态处于变动的状态但流控阀值为固定阀值导致的流控阀值与业务系统的运行状态不匹配的问题,从而避免了由于业务系统的运行状态和流控阀值不匹配导致的业务系统崩溃的问题。
由此,本申请提供的上述实施例的方案解决了现有技术中由于限流策略为固定限流策略,使得在特殊情况下固定的限流策略与业务系统的运行状态不符导致业务系统崩溃的技术问题。本领域普通技术人员可以理解,图12所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图12其并不对上述电子装置的结构造成限定。例如,计算机终端1200还可包括比图12中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图12所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
实施例5
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的控流的方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:检测访问终端发起访问业务系统的访问请求,获取限流条件数据;根据限流条件数据确定新的流控阀值;使用新的流控阀值更新当前的流控阀值。
可选的,上述处理器还可以执行如下步骤的程序代码:限流条件数据包括:当前的流控阀值,限流条件数据还包括:历史流控数据和业务系统的负载数据中的一个或二者的组合。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:历史流控数据包括:统计的限流次数和限流频率中的一个或二者的组合,负载数据包括:任务处理值或CPU占用率。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:流控阀值为如下任意一个数据值:访问用户的流控阀值、访问终端地址的流控阀值、API接口的流控阀值,其中,根据限流条件数据确定新的流控阀值,包括:判断统计的限流次数是否超过预定次数,和/或限流频率是否超出预定频率值;如果统计的限流次数超过预定次数,和/或限流频率超出预定频率值,则将流控阀值下降至第一预定流控阀值。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:业务系统包括多个业务服务器,每个业务服务器的负载数据实时更新,其中,根据限流条件数据确定新的流控阀值,包括:如果业务系统中超过预定数量的业务服务器的任务处理值大于等于第一预定值,或CPU占用率大于等于第二预定值,则将流控阀值下降至第二预定流控阀值;如果业务系统中超过预定数量的业务服务器的任务处理值小于等于第三预定值,或CPU占用率小于等于第四预定值,则将流控阀值提高至第三预定流控阀值。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:限流条件数据至少还包括:预先设定的限流控制优先级,其中,根据限流条件数据确定新的流控阀值,包括:在根据历史流控数据确定将流控阀值调整至第一预定流控阀值,并根据业务系统的负载数据确定将流控阀值调整至第二预定流控阀值或第三预定流控阀值的情况下,如果限流控制优先级为历史流控数据的优先级高于负载数据的优先级,则将第一预定流控阀值作为新的流控阀值。
可选的,上述处理器还可以执行如下步骤的程序代码:如果限流控制优先级为负载数据的优先级高于历史流控数据的优先级,将第二预定流控阀值或第三预定流控阀值作为新的流控阀值。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:访问终端通过网关将访问请求发送给业务系统,其中,网关用于使用当前的流控阀值对访问请求进行限流控制;业务系统将访问请求和进行限流控制时得到的流控数据写入日志系统,其中,日志系统用于记录历史流控数据;其中,在日志系统写入访问请求的情况下,日志系统将历史流控数据发送至分析系统。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:网关从分析系统获取到更新后的流控阀值,或者分析系统将更新后的流控阀值发送给网关,使得网关使用更新后的流控阀值对访问终端进行限流控制。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:网关对访问请求进行如下任意一个或多个处理:协议转换处理、参数转换处理、访问控制处理和限流控制处理。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (25)
1.一种控流的方法,其特征在于,包括:
检测访问终端发起访问业务系统的访问请求,获取限流条件数据;
根据所述限流条件数据确定新的流控阀值;
使用所述新的流控阀值更新当前的流控阀值。
2.根据权利要求1所述的方法,其特征在于,所述限流条件数据包括:所述当前的流控阀值,所述限流条件数据还包括:历史流控数据和所述业务系统的负载数据中的一个或二者的组合。
3.根据权利要求2所述的方法,其特征在于,所述历史流控数据包括:统计的限流次数和限流频率中的一个或二者的组合,所述负载数据包括:任务处理值或CPU占用率。
4.根据权利要求3所述的方法,其特征在于,所述流控阀值为如下任意一个数据值:访问用户的流控阀值、访问终端地址的流控阀值、API接口的流控阀值,其中,根据所述限流条件数据确定新的流控阀值,包括:
判断所述统计的限流次数是否超过预定次数,和/或所述限流频率是否超出预定频率值;
如果所述统计的限流次数超过所述预定次数,和/或所述限流频率超出所述预定频率值,则将所述流控阀值下降至第一预定流控阀值。
5.根据权利要求3所述的方法,其特征在于,所述业务系统包括多个业务服务器,其中,根据所述限流条件数据确定新的流控阀值,包括:
如果所述业务系统中超过预定数量的业务服务器的任务处理值大于等于第一预定值,或所述CPU占用率大于等于第二预定值,则将所述流控阀值下降至第二预定流控阀值;
如果所述业务系统中超过预定数量的业务服务器的任务处理值小于等于第三预定值,或所述CPU占用率小于等于第四预定值,则将所述流控阀值提高至第三预定流控阀值。
6.根据权利要求4或5所述的方法,其特征在于,所述限流条件数据至少还包括:预先设定的限流控制优先级,其中,根据所述限流条件数据确定新的流控阀值,包括:
在根据所述历史流控数据确定将所述流控阀值调整至第一预定流控阀值,并根据所述业务系统的负载数据确定将所述流控阀值调整至第二预定流控阀值或第三预定流控阀值的情况下,如果所述限流控制优先级为所述历史流控数据的优先级高于所述负载数据的优先级,则将所述第一预定流控阀值作为所述新的流控阀值。
7.根据权利要求6所述的方法,其特征在于,如果所述限流控制优先级为所述负载数据的优先级高于所述历史流控数据的优先级,将所述第二预定流控阀值或所述第三预定流控阀值作为所述新的流控阀值。
8.根据权利要求4或5所述的方法,其特征在于,
如果第一预定流控阀值大于第二预定流控阀值,则将所述第一预定流控阀值作为所述新的流控阀值,否则,将所述第二预定流控阀值或第三预定流控阀值作为所述新的流控阀值。
9.根据权利要求1所述的方法,其特征在于,在读取限流条件数据之前,所述方法还包括:
所述访问终端通过网关将所述访问请求发送给所述业务系统,其中,所述网关用于使用所述当前的流控阀值对所述访问请求进行限流控制;
所述业务系统将所述访问请求和进行所述限流控制时得到的流控数据写入日志系统,其中,所述日志系统用于记录历史流控数据;
其中,在日志系统写入所述访问请求的情况下,所述日志系统将所述历史流控数据发送至分析系统。
10.根据权利要求9所述的方法,其特征在于,在使用所述新的流控阀值更新所述当前的流控阀值之后,所述方法还包括:
所述网关获取到更新后的流控阀值,或者将所述更新后的流控阀值发送给所述网关,使得所述网关使用所述更新后的流控阀值对所述访问终端进行限流控制。
11.根据权利要求9所述的方法,其特征在于,所述网关对所述访问请求进行如下任意一个或多个处理:协议转换处理、参数转换处理、访问控制处理和限流控制处理。
12.一种控流的装置,其特征在于,包括:
分析模块,用于检测访问终端发起访问业务系统的访问请求,获取限流条件数据;
确定模块,用于根据所述限流条件数据确定新的流控阀值;
更新模块,用于使用所述新的流控阀值更新当前的流控阀值。
13.根据权利要求12所述的装置,其特征在于,所述限流条件数据包括:所述当前的流控阀值,所述限流条件数据至少还包括:历史流控数据和业务系统的负载数据中的一个或二者的组合。
14.根据权利要求13所述的装置,其特征在于,所述历史流控数据包括:统计的限流次数和限流频率中的一个或二者的组合,所述负载数据包括:任务处理值或CPU占用率。
15.根据权利要求14所述的装置,其特征在于,所述流控阀值为如下任意一个数据值:访问用户的流控阀值、访问终端地址的流控阀值、API接口的流控阀值,其中,所述确定模块包括:
判断模块,用于判断所述统计的限流次数是否超过预定次数,和/或所述限流频率是否超出预定频率值;
第一下降模块,用于如果所述统计的限流次数超过所述预定次数,和/或所述限流频率超出所述预定频率值,则将所述流控阀值下降至第一预定流控阀值。
16.根据权利要求14所述的装置,其特征在于,所述业务系统包括多个业务服务器,其中,所述确定模块包括:
第二下降模块,用于如果所述业务系统中超过预定数量的业务服务器的任务处理值大于等于第一预定值,或所述CPU占用率大于等于第二预定值,则将所述流控阀值下降至第二预定流控阀值;
提高模块,用于如果所述业务系统中超过预定数量的业务服务器的任务处理值小于等于第三预定值,或所述CPU占用率小于等于第四预定值,则将所述流控阀值提高至第三预定流控阀值。
17.根据权利要求15或16所述的装置,其特征在于,所述限流条件数据至少还包括:预先设定的限流控制优先级,其中,所述确定模块包括:
第一确认模块,用于在根据所述历史流控数据确定将所述流控阀值调整至第一预定流控阀值,并根据所述业务系统的负载数据确定将所述流控阀值调整至第二预定流控阀值或第三预定流控阀值的情况下,如果所述限流控制优先级为所述历史流控数据的优先级高于所述负载数据的优先级,则将所述第一预定流控阀值作为所述新的流控阀值。
18.根据权利要求17所述的装置,其特征在于,所述确定模块还包括:第二确认模块,用于如果所述限流控制优先级为所述负载数据的优先级高于所述历史流控数据的优先级,将所述第二预定流控阀值或所述第三预定流控阀值作为所述新的流控阀值。
19.根据权利要求15或16所述的装置,其特征在于,所述确定模块包括:
第三确认模块,用于如果第一预定流控阀值大于第二预定流控阀值,则将所述第一预定流控阀值作为所述新的流控阀值;
第四确认模块,用于如果所述第一预定流控阀值小于等于所述第二预定流控阀值,则将所述第二预定流控阀值或第三预定流控阀值作为所述新的流控阀值。
20.一种控流的系统,其特征在于,包括:
访问终端,向业务系统发起访问请求;
分析系统终端,与所述访问终端通讯,检测访问终端发起访问所述业务系统的访问请求,获取限流条件数据,根据所述限流条件数据确定新的流控阀值,并使用所述新的流控阀值更新当前的流控阀值。
21.根据权利要求20所述的系统,其特征在于,所述限流条件包括:所述当前的流控阀值,所述限流条件数据还包括:历史流控数据和所述业务系统的负载数据中的一个或二者的组合。
22.根据权利要求21所述的系统,其特征在于,所述历史流控数据包括:统计的限流次数和限流频率中的一个或二者的组合,所述负载数据包括:任务处理值或CPU占用率。
23.根据权利要求22所述的系统,其特征在于,
所述分析系统终端还用于判断统计的限流次数是否超过预定次数,和/或限流频率是否超出预定频率值,如果所述统计的限流次数超过所述预定次数,和/或所述限流频率超出所述预定频率值,则将所述流控阀值下降至第一预定流控阀值。
24.根据权利要求22所述的系统,其特征在于,
所述分析系统终端还用于如果业务系统中超过预定数量的业务服务器的任务处理值大于等于第一预定值,或CPU占用率大于等于第二预定值,则将所述流控阀值下降至第二预定流控阀值,如果所述业务系统中超过预定数量的业务服务器的任务处理值小于等于第三预定值,或所述CPU占用率小于等于第四预定值,则将所述流控阀值提高至第三预定流控阀值。
25.根据权利要求20所述的系统,其特征在于,所述系统还包括:
网关,分别于与所述访问终端和所述分析系统终端通讯,用于使用所述当前的流控阀值对所述访问请求进行限流控制,并从所述分析系统终端获取到更新后的流控阀值,或者接收所述分析系统终端发送的所述更新后的流控阀值,使用所述更新后的流控阀值对所述访问终端进行限流控制。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610161957.3A CN107222426B (zh) | 2016-03-21 | 2016-03-21 | 控流的方法、装置及系统 |
US15/461,223 US10291538B2 (en) | 2016-03-21 | 2017-03-16 | Flow control in connection with an access request |
PCT/US2017/022879 WO2017165211A1 (en) | 2016-03-21 | 2017-03-17 | Flow control in connection with an access request |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610161957.3A CN107222426B (zh) | 2016-03-21 | 2016-03-21 | 控流的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107222426A true CN107222426A (zh) | 2017-09-29 |
CN107222426B CN107222426B (zh) | 2021-07-20 |
Family
ID=59856185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610161957.3A Active CN107222426B (zh) | 2016-03-21 | 2016-03-21 | 控流的方法、装置及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10291538B2 (zh) |
CN (1) | CN107222426B (zh) |
WO (1) | WO2017165211A1 (zh) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073465A (zh) * | 2017-12-29 | 2018-05-25 | 中国平安人寿保险股份有限公司 | 动态限流方法、Nginx服务器、存储介质及装置 |
CN108306874A (zh) * | 2018-01-29 | 2018-07-20 | 口碑(上海)信息技术有限公司 | 服务接口访问限流方法及装置 |
CN108366060A (zh) * | 2018-02-07 | 2018-08-03 | 平安普惠企业管理有限公司 | 服务器访问方法、装置、设备及计算机可读存储介质 |
CN108566304A (zh) * | 2018-04-26 | 2018-09-21 | 努比亚技术有限公司 | 接口控制方法、电子设备及计算机可读存储介质 |
CN108768779A (zh) * | 2018-06-04 | 2018-11-06 | 杭州迪普科技股份有限公司 | 网络资源的统计方法及装置 |
CN109150744A (zh) * | 2018-09-21 | 2019-01-04 | 福建南威软件有限公司 | 一种基于api状态的网关服务调度升降级方法 |
CN109587069A (zh) * | 2018-12-11 | 2019-04-05 | 北京首汽智行科技有限公司 | 一种基于api网关的限流方法及系统 |
CN109842565A (zh) * | 2018-12-15 | 2019-06-04 | 平安科技(深圳)有限公司 | 接口限流方法、装置、电子设备及存储介质 |
CN110198274A (zh) * | 2019-06-21 | 2019-09-03 | 苏宁云计算有限公司 | 一种集群流量的控制方法及其系统 |
WO2019232925A1 (zh) * | 2018-06-04 | 2019-12-12 | 平安科技(深圳)有限公司 | 热点数据迁移流控方法、装置、电子设备及存储介质 |
CN111083060A (zh) * | 2020-03-04 | 2020-04-28 | 郑州智利信信息技术有限公司 | 一种网络流量控制方法 |
CN111262791A (zh) * | 2020-01-08 | 2020-06-09 | 江苏满运软件科技有限公司 | 一种流量管控方法、装置、电子设备及存储介质 |
CN111585831A (zh) * | 2020-03-30 | 2020-08-25 | 福建天泉教育科技有限公司 | 异常应用的处理方法、存储介质 |
CN111580961A (zh) * | 2020-04-28 | 2020-08-25 | 北京达佳互联信息技术有限公司 | 访问请求处理方法、装置、服务器及存储介质 |
CN111726303A (zh) * | 2019-03-22 | 2020-09-29 | 阿里巴巴集团控股有限公司 | 一种流量控制方法、装置以及计算设备 |
CN112685192A (zh) * | 2019-10-18 | 2021-04-20 | 北京国双科技有限公司 | 数据的获取方法、装置、客户端及计算机可读存储介质 |
CN112783641A (zh) * | 2019-11-11 | 2021-05-11 | 马上消费金融股份有限公司 | 一种服务接口流控方法及装置 |
CN112929290A (zh) * | 2021-02-02 | 2021-06-08 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种限流方法、装置、系统、存储介质和设备、以及网关 |
CN112953945A (zh) * | 2021-02-24 | 2021-06-11 | 中国工商银行股份有限公司 | 访问请求处理方法和系统 |
CN113037862A (zh) * | 2021-03-30 | 2021-06-25 | 北京三快在线科技有限公司 | 业务请求的处理方法、装置、设备及存储介质 |
CN113326132A (zh) * | 2021-06-04 | 2021-08-31 | 深圳前海微众银行股份有限公司 | 一种信息调节方法、设备及存储介质 |
CN113347041A (zh) * | 2021-06-21 | 2021-09-03 | 深圳壹账通智能科技有限公司 | 动态限流熔断配置方法、装置、设备及存储介质 |
CN113419856A (zh) * | 2021-06-23 | 2021-09-21 | 平安银行股份有限公司 | 智能限流方法、装置、电子设备及存储介质 |
CN114116235A (zh) * | 2022-01-26 | 2022-03-01 | 杭州米络星科技(集团)有限公司 | 流量控制方法、装置、电子设备及计算机可读存储介质 |
CN114553791A (zh) * | 2022-01-19 | 2022-05-27 | 浙江百应科技有限公司 | 一种外部接口限流方法、装置、电子设备以及存储介质 |
CN115396379A (zh) * | 2022-08-24 | 2022-11-25 | 北京沃东天骏信息技术有限公司 | 用于业务服务端的流量控制方法、装置、设备和介质 |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107222426B (zh) * | 2016-03-21 | 2021-07-20 | 阿里巴巴集团控股有限公司 | 控流的方法、装置及系统 |
CN108390908A (zh) * | 2018-01-10 | 2018-08-10 | 努比亚技术有限公司 | 一种数据请求处理方法、装置及计算机可读存储介质 |
CN108459879B (zh) * | 2018-01-17 | 2021-08-17 | 宇龙计算机通信科技(深圳)有限公司 | 一种防止终端死机的方法、终端 |
WO2019178761A1 (zh) * | 2018-03-21 | 2019-09-26 | 华为技术有限公司 | 应用编程接口api网关集群的控制方法和api网关集群 |
WO2020005812A1 (en) | 2018-06-29 | 2020-01-02 | Walmart Apollo, Llc | Body mounted camera system for monitoring deliveries |
CN109150740B (zh) * | 2018-08-01 | 2019-09-10 | 武汉绿色网络信息服务有限责任公司 | 一种分布式网络流量控制方法和装置 |
CN111245732B (zh) * | 2018-11-29 | 2024-04-19 | 阿里巴巴集团控股有限公司 | 一种流量控制方法、装置及设备 |
CN111385214B (zh) * | 2018-12-27 | 2023-11-17 | 阿里巴巴集团控股有限公司 | 一种流量控制方法、装置及设备 |
CN111698273B (zh) * | 2019-03-15 | 2024-04-09 | 北京京东尚科信息技术有限公司 | 处理请求的方法和装置 |
CN109995669B (zh) * | 2019-04-09 | 2024-05-03 | 深圳前海微众银行股份有限公司 | 分布式限流方法、装置、设备及可读存储介质 |
CN110120973A (zh) * | 2019-04-28 | 2019-08-13 | 华为技术有限公司 | 一种请求控制方法、相关设备及计算机存储介质 |
CN110535777B (zh) * | 2019-08-12 | 2022-07-12 | 新华三大数据技术有限公司 | 访问请求控制方法、装置、电子设备以及可读存储介质 |
CN110838987B (zh) * | 2019-10-08 | 2022-07-05 | 福建天泉教育科技有限公司 | 队列限流方法、存储介质 |
CN110768912B (zh) * | 2019-10-21 | 2022-11-18 | 中国民航信息网络股份有限公司 | Api网关限流方法及装置 |
CN110932988A (zh) * | 2019-10-31 | 2020-03-27 | 北京三快在线科技有限公司 | 流量控制方法、装置、电子设备及可读存储介质 |
CN111163123A (zh) * | 2019-11-25 | 2020-05-15 | 北京同邦卓益科技有限公司 | 一种服务请求的处理方法及装置 |
CN110996352B (zh) * | 2019-12-20 | 2023-12-26 | 众安在线财产保险股份有限公司 | 一种流量控制方法、装置、计算机设备及存储介质 |
CN111246457A (zh) * | 2019-12-30 | 2020-06-05 | 珠海格力电器股份有限公司 | 一种应用程序检查方法、装置及客户端 |
CN111224886B (zh) * | 2020-01-17 | 2023-10-20 | 中国平安人寿保险股份有限公司 | 一种网络流量的管控方法及系统 |
US11018957B1 (en) * | 2020-03-04 | 2021-05-25 | Granulate Cloud Solutions Ltd. | Enhancing performance in network-based systems |
CN113630310B (zh) * | 2020-05-06 | 2024-02-02 | 北京农信数智科技有限公司 | 一种分布式高可用网关系统 |
CN111835823B (zh) * | 2020-05-28 | 2023-03-24 | 福建天泉教育科技有限公司 | 一种访问限流方法及终端 |
CN111817974B (zh) * | 2020-06-09 | 2022-11-15 | 平安科技(深圳)有限公司 | 基于令牌桶的接口限流方法、装置、系统及可读存储介质 |
CN111970132B (zh) * | 2020-06-29 | 2023-05-26 | 百度在线网络技术(北京)有限公司 | Ota数据包下发流量的控制方法、装置及服务器 |
CN112003790B (zh) * | 2020-08-26 | 2021-06-01 | 上海松鼠课堂人工智能科技有限公司 | 智能学校使用网络流量的分配方法 |
CN112134954A (zh) * | 2020-09-22 | 2020-12-25 | 京东数字科技控股股份有限公司 | 服务请求处理方法、装置、电子设备及存储介质 |
CN112367266A (zh) * | 2020-10-29 | 2021-02-12 | 北京字节跳动网络技术有限公司 | 限流方法、装置、电子设备和计算机可读介质 |
CN112291158A (zh) * | 2020-10-30 | 2021-01-29 | 北京字节跳动网络技术有限公司 | 一种流量控制方法及装置 |
CN112491837B (zh) * | 2020-11-17 | 2022-09-06 | 北京航空航天大学杭州创新研究院 | 基于工业互联网设备状态的安全控制方法和装置 |
CN112367268B (zh) * | 2020-11-24 | 2022-07-05 | 苏宁云计算有限公司 | 用于微服务的限流方法及装置 |
CN112615792B (zh) * | 2020-12-10 | 2023-10-13 | 北京房天下嘉居网络技术有限公司 | 接口限流方法及装置 |
CN112769657B (zh) * | 2020-12-26 | 2022-07-26 | 度小满科技(北京)有限公司 | 一种流量控制方法及装置 |
CN112612618B (zh) * | 2020-12-30 | 2022-07-19 | 深圳我家云网络科技有限公司 | 接口限流方法、装置、计算机设备和存储介质 |
CN112804160B (zh) * | 2021-01-26 | 2023-06-06 | 北京嘀嘀无限科技发展有限公司 | 基于应用程序的限流方法、装置、设备、介质及产品 |
CN113163008B (zh) * | 2021-04-19 | 2023-03-24 | 深圳市欧瑞博科技股份有限公司 | 网络服务系统的连接智能管理方法、装置及其相关设备 |
CN113179222A (zh) * | 2021-04-30 | 2021-07-27 | 康键信息技术(深圳)有限公司 | 热点数据的限流控制方法、装置、设备及存储介质 |
CN113890853B (zh) * | 2021-09-27 | 2024-04-19 | 北京字跳网络技术有限公司 | 一种限流方法、装置、存储介质及电子设备 |
CN114095201B (zh) * | 2021-10-08 | 2023-12-19 | 网宿科技股份有限公司 | 基于边缘计算的流量控制方法及装置,电子设备,存储介质 |
CN114039925B (zh) * | 2021-10-28 | 2023-11-28 | 北京思特奇信息技术股份有限公司 | 短信网关系统中基于优先级的动态流量控制方法 |
CN113973087B (zh) * | 2021-11-24 | 2024-01-05 | 中国银联股份有限公司 | 一种网页访问限流方法、装置及计算机可读存储介质 |
CN114338639A (zh) * | 2021-12-20 | 2022-04-12 | 上海万物新生环保科技集团有限公司 | 一种Nginx流量限制预警的方法及设备 |
CN114553775B (zh) * | 2022-02-15 | 2024-04-26 | 维沃移动通信有限公司 | 流量控制方法、装置 |
CN114745328B (zh) * | 2022-02-16 | 2023-12-26 | 多点生活(成都)科技有限公司 | 一种网关动态限流方法及其构成的实时限流方法 |
CN114760250B (zh) * | 2022-03-18 | 2023-11-03 | 福建天晴数码有限公司 | 一种服务网关通过分层限流保障高可用的方案及系统 |
CN114745329B (zh) * | 2022-03-30 | 2024-03-22 | 青岛海尔科技有限公司 | 流量控制方法和装置、存储介质及电子装置 |
CN117478610B (zh) * | 2023-12-27 | 2024-03-12 | 成都新希望金融信息有限公司 | 全局流量控制方法、装置、电子设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080002732A1 (en) * | 2002-05-09 | 2008-01-03 | Broadcom Corporation | Dynamic adjust multicast drop threshold to provide fair handling between multicast and unicast frames |
CN101610220A (zh) * | 2009-06-18 | 2009-12-23 | 中兴通讯股份有限公司 | 一种控制业务下发流量的方法及系统 |
CN103369601A (zh) * | 2013-07-15 | 2013-10-23 | 厦门卓讯信息技术有限公司 | 为手机客户端提供大并发处理及流量控制的方法 |
CN103701709A (zh) * | 2013-12-13 | 2014-04-02 | 北京京东尚科信息技术有限公司 | 一种流量控制方法及系统 |
CN103731323A (zh) * | 2014-01-23 | 2014-04-16 | 中国联合网络通信集团有限公司 | 一种监控移动互联网业务流量的方法和装置 |
CN103873282A (zh) * | 2012-12-14 | 2014-06-18 | 中国移动通信集团福建有限公司 | 一种实现p2p流量优化的方法及装置 |
US20140173018A1 (en) * | 2012-12-13 | 2014-06-19 | Futurewei Technologies, Inc. | Content Based Traffic Engineering in Software Defined Information Centric Networks |
CN104159254A (zh) * | 2014-07-22 | 2014-11-19 | 大唐移动通信设备有限公司 | 一种网络拥塞处理方法和系统 |
US20150188797A1 (en) * | 2013-12-27 | 2015-07-02 | Guy Satat | Adaptive admission control for on die interconnect |
CN105024933A (zh) * | 2014-04-22 | 2015-11-04 | 腾讯科技(深圳)有限公司 | 请求包发送频率的控制方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
US9391919B2 (en) | 2013-08-14 | 2016-07-12 | International Business Machines Corporation | Adaptive algorithm for cloud admission policies |
CN107222426B (zh) * | 2016-03-21 | 2021-07-20 | 阿里巴巴集团控股有限公司 | 控流的方法、装置及系统 |
-
2016
- 2016-03-21 CN CN201610161957.3A patent/CN107222426B/zh active Active
-
2017
- 2017-03-16 US US15/461,223 patent/US10291538B2/en active Active
- 2017-03-17 WO PCT/US2017/022879 patent/WO2017165211A1/en active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080002732A1 (en) * | 2002-05-09 | 2008-01-03 | Broadcom Corporation | Dynamic adjust multicast drop threshold to provide fair handling between multicast and unicast frames |
CN101610220A (zh) * | 2009-06-18 | 2009-12-23 | 中兴通讯股份有限公司 | 一种控制业务下发流量的方法及系统 |
US20140173018A1 (en) * | 2012-12-13 | 2014-06-19 | Futurewei Technologies, Inc. | Content Based Traffic Engineering in Software Defined Information Centric Networks |
CN103873282A (zh) * | 2012-12-14 | 2014-06-18 | 中国移动通信集团福建有限公司 | 一种实现p2p流量优化的方法及装置 |
CN103369601A (zh) * | 2013-07-15 | 2013-10-23 | 厦门卓讯信息技术有限公司 | 为手机客户端提供大并发处理及流量控制的方法 |
CN103701709A (zh) * | 2013-12-13 | 2014-04-02 | 北京京东尚科信息技术有限公司 | 一种流量控制方法及系统 |
US20150188797A1 (en) * | 2013-12-27 | 2015-07-02 | Guy Satat | Adaptive admission control for on die interconnect |
CN103731323A (zh) * | 2014-01-23 | 2014-04-16 | 中国联合网络通信集团有限公司 | 一种监控移动互联网业务流量的方法和装置 |
CN105024933A (zh) * | 2014-04-22 | 2015-11-04 | 腾讯科技(深圳)有限公司 | 请求包发送频率的控制方法及装置 |
CN104159254A (zh) * | 2014-07-22 | 2014-11-19 | 大唐移动通信设备有限公司 | 一种网络拥塞处理方法和系统 |
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073465A (zh) * | 2017-12-29 | 2018-05-25 | 中国平安人寿保险股份有限公司 | 动态限流方法、Nginx服务器、存储介质及装置 |
CN108306874A (zh) * | 2018-01-29 | 2018-07-20 | 口碑(上海)信息技术有限公司 | 服务接口访问限流方法及装置 |
CN108366060A (zh) * | 2018-02-07 | 2018-08-03 | 平安普惠企业管理有限公司 | 服务器访问方法、装置、设备及计算机可读存储介质 |
CN108366060B (zh) * | 2018-02-07 | 2021-01-05 | 平安普惠企业管理有限公司 | 服务器访问方法、装置、设备及计算机可读存储介质 |
CN108566304A (zh) * | 2018-04-26 | 2018-09-21 | 努比亚技术有限公司 | 接口控制方法、电子设备及计算机可读存储介质 |
WO2019232925A1 (zh) * | 2018-06-04 | 2019-12-12 | 平安科技(深圳)有限公司 | 热点数据迁移流控方法、装置、电子设备及存储介质 |
CN108768779A (zh) * | 2018-06-04 | 2018-11-06 | 杭州迪普科技股份有限公司 | 网络资源的统计方法及装置 |
CN109150744A (zh) * | 2018-09-21 | 2019-01-04 | 福建南威软件有限公司 | 一种基于api状态的网关服务调度升降级方法 |
CN109587069A (zh) * | 2018-12-11 | 2019-04-05 | 北京首汽智行科技有限公司 | 一种基于api网关的限流方法及系统 |
CN109842565A (zh) * | 2018-12-15 | 2019-06-04 | 平安科技(深圳)有限公司 | 接口限流方法、装置、电子设备及存储介质 |
CN111726303A (zh) * | 2019-03-22 | 2020-09-29 | 阿里巴巴集团控股有限公司 | 一种流量控制方法、装置以及计算设备 |
CN111726303B (zh) * | 2019-03-22 | 2024-01-02 | 阿里巴巴集团控股有限公司 | 一种流量控制方法、装置以及计算设备 |
CN110198274A (zh) * | 2019-06-21 | 2019-09-03 | 苏宁云计算有限公司 | 一种集群流量的控制方法及其系统 |
CN112685192A (zh) * | 2019-10-18 | 2021-04-20 | 北京国双科技有限公司 | 数据的获取方法、装置、客户端及计算机可读存储介质 |
CN112783641A (zh) * | 2019-11-11 | 2021-05-11 | 马上消费金融股份有限公司 | 一种服务接口流控方法及装置 |
CN111262791A (zh) * | 2020-01-08 | 2020-06-09 | 江苏满运软件科技有限公司 | 一种流量管控方法、装置、电子设备及存储介质 |
CN111083060A (zh) * | 2020-03-04 | 2020-04-28 | 郑州智利信信息技术有限公司 | 一种网络流量控制方法 |
CN111585831A (zh) * | 2020-03-30 | 2020-08-25 | 福建天泉教育科技有限公司 | 异常应用的处理方法、存储介质 |
CN111585831B (zh) * | 2020-03-30 | 2022-10-21 | 福建天泉教育科技有限公司 | 异常应用的处理方法、存储介质 |
CN111580961A (zh) * | 2020-04-28 | 2020-08-25 | 北京达佳互联信息技术有限公司 | 访问请求处理方法、装置、服务器及存储介质 |
CN111580961B (zh) * | 2020-04-28 | 2023-12-26 | 北京达佳互联信息技术有限公司 | 访问请求处理方法、装置、服务器及存储介质 |
CN112929290A (zh) * | 2021-02-02 | 2021-06-08 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种限流方法、装置、系统、存储介质和设备、以及网关 |
CN112929290B (zh) * | 2021-02-02 | 2023-02-24 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种限流方法、装置、系统、存储介质和设备、以及网关 |
CN112953945A (zh) * | 2021-02-24 | 2021-06-11 | 中国工商银行股份有限公司 | 访问请求处理方法和系统 |
CN112953945B (zh) * | 2021-02-24 | 2022-09-27 | 中国工商银行股份有限公司 | 访问请求处理方法和系统 |
CN113037862B (zh) * | 2021-03-30 | 2022-07-29 | 北京三快在线科技有限公司 | 业务请求的处理方法、装置、设备及存储介质 |
CN113037862A (zh) * | 2021-03-30 | 2021-06-25 | 北京三快在线科技有限公司 | 业务请求的处理方法、装置、设备及存储介质 |
WO2022252546A1 (zh) * | 2021-06-04 | 2022-12-08 | 深圳前海微众银行股份有限公司 | 一种信息调节方法、设备及存储介质 |
CN113326132A (zh) * | 2021-06-04 | 2021-08-31 | 深圳前海微众银行股份有限公司 | 一种信息调节方法、设备及存储介质 |
CN113326132B (zh) * | 2021-06-04 | 2023-06-09 | 深圳前海微众银行股份有限公司 | 一种信息调节方法、设备及存储介质 |
CN113347041A (zh) * | 2021-06-21 | 2021-09-03 | 深圳壹账通智能科技有限公司 | 动态限流熔断配置方法、装置、设备及存储介质 |
CN113347041B (zh) * | 2021-06-21 | 2022-03-01 | 深圳壹账通智能科技有限公司 | 动态限流熔断配置方法、装置、设备及存储介质 |
CN113419856A (zh) * | 2021-06-23 | 2021-09-21 | 平安银行股份有限公司 | 智能限流方法、装置、电子设备及存储介质 |
CN114553791A (zh) * | 2022-01-19 | 2022-05-27 | 浙江百应科技有限公司 | 一种外部接口限流方法、装置、电子设备以及存储介质 |
CN114116235A (zh) * | 2022-01-26 | 2022-03-01 | 杭州米络星科技(集团)有限公司 | 流量控制方法、装置、电子设备及计算机可读存储介质 |
CN115396379A (zh) * | 2022-08-24 | 2022-11-25 | 北京沃东天骏信息技术有限公司 | 用于业务服务端的流量控制方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107222426B (zh) | 2021-07-20 |
US20170272371A1 (en) | 2017-09-21 |
US10291538B2 (en) | 2019-05-14 |
WO2017165211A1 (en) | 2017-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107222426A (zh) | 控流的方法、装置及系统 | |
CN106844137A (zh) | 服务器的监控方法和装置 | |
CN109408227A (zh) | 负载均衡方法、装置及存储介质 | |
CN109672627A (zh) | 基于集群服务器的业务处理方法、平台、设备及存储介质 | |
CN109687992A (zh) | 服务节点的监控方法、装置、设备及计算机可读存储介质 | |
CN110460541A (zh) | 应用于web服务器的限流方法及装置 | |
CN104135378B (zh) | 对物联网网关进行管理控制的方法及物联网网关管控实体 | |
CN106961364A (zh) | 心跳检测方法及应用服务器 | |
CN106130972B (zh) | 资源访问控制方法和装置 | |
CN106716971A (zh) | 管理经过分类的网络流 | |
CN106789751A (zh) | 基于资源可用性的网络路由 | |
CN106713168A (zh) | 一种流量控制方法及系统 | |
CN107666473A (zh) | 一种攻击检测的方法及控制器 | |
CN107172204A (zh) | 高可用高负载的工单处理系统及工单处理方法 | |
CN106101264A (zh) | 内容分发网络日志推送方法、装置和系统 | |
CN106790388A (zh) | 一种进行数据更新的方法和移动终端 | |
CN110188121A (zh) | 业务数据监控方法、装置、计算机设备及存储介质 | |
CN107241387A (zh) | 数据请求的处理方法、装置及系统 | |
EP4376386A1 (en) | Electronic device and operation method for deploying application | |
CN107682162A (zh) | 电子设备、网络共享方法及装置 | |
CN105592134B (zh) | 一种负载分担的方法和装置 | |
CN112787828B (zh) | 一种应用程序的流量统计方法、设备、移动电子设备 | |
CN107360207B (zh) | 界面提交方法、界面提交装置、存储介质及电子装置 | |
CN107666401A (zh) | 一种配置信息获取方法及终端 | |
CN108062247A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230517 Address after: Room 1-2-A06, Yungu Park, No. 1008 Dengcai Street, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province Patentee after: Aliyun Computing Co.,Ltd. Address before: Box 847, four, Grand Cayman capital, Cayman Islands, UK Patentee before: ALIBABA GROUP HOLDING Ltd. |
|
TR01 | Transfer of patent right |