CN115037799B - 限流方法、装置、设备及介质 - Google Patents
限流方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115037799B CN115037799B CN202210623393.6A CN202210623393A CN115037799B CN 115037799 B CN115037799 B CN 115037799B CN 202210623393 A CN202210623393 A CN 202210623393A CN 115037799 B CN115037799 B CN 115037799B
- Authority
- CN
- China
- Prior art keywords
- restrictor
- resource request
- resource
- default
- specified
- 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
- 230000000670 limiting effect Effects 0.000 title claims abstract description 94
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000012545 processing Methods 0.000 claims abstract description 40
- 238000004590 computer program Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 5
- 230000002829 reductive effect Effects 0.000 description 15
- 230000000694 effects Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000002411 adverse Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
Abstract
本申请提供一种限流方法、装置、设备及介质,该限流方法包括:接收针对目标资源进行目标操作的资源请求;根据默认限流器和资源请求,生成与资源请求匹配的衍生限流器,衍生限流器属于指定限流器,指定限流器为针对指定资源的限流器,默认限流器为针对未指定资源的限流器;通过与资源请求匹配的衍生限流器,对资源请求进行限流处理。从而,为资源请求动态生成合适的限流器,而无需为每个资源请求分别设置限流器,减少了限流器的数量。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种限流方法、装置、设备及介质。
背景技术
在业务系统中,为保证业务正常运行和保护业务中的资源不被破坏,需要为业务中的资源设置相应的限流器,即设置相应的限流策略。
通常的,为每个资源分别设置对应的一个或多个限流器。比如,在搜索引擎中,对每张表设置用于限制每秒查询率(Queries Per Second,QPS)的限流器和用于限制每秒处理事物数(Transactions Per Second,TPS)的限流器。
然而,在资源数量较多时,上述方式中限流器的数量过多。比如,在表的数量数目很多时,比如上千上万时,就需要设置上千上万个限流器。
发明内容
本申请提供一种限流方法、装置、设备及介质,用以解决资源数量较多时限流器数量过多的问题。
第一方面,本申请实施例提供一种限流方法,包括:接收针对目标资源进行目标操作的资源请求;根据默认限流器和资源请求,生成与资源请求匹配的衍生限流器,衍生限流器属于指定限流器,指定限流器为针对指定资源的限流器,默认限流器为针对未指定资源的限流器;通过与资源请求匹配的衍生限流器,对资源请求进行限流处理。
第二方面,本申请实施例提供一种限流装置,包括:接收单元,用于接收针对目标资源进行目标操作的资源请求;生成单元,用于根据默认限流器和资源请求,生成与资源请求匹配的衍生限流器,衍生限流器属于指定限流器,指定限流器为针对指定资源的限流器,默认限流器为针对未指定资源的限流器;限流单元,用于通过与资源请求匹配的衍生限流器,对资源请求进行限流处理。
第三方面,本申请实施例提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使电子设备能够执行本申请第一方面提供的限流方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请第一方面提供的限流方法。
第五方面,本申请实施例提供一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行本申请第一方面提供的限流方法。
由上述技术方案可见,本申请实施例中,按照限流器的种类,限流器可包含指定限流器和默认限流器,指定限流器为针对指定资源的限流器,默认限流器为针对未指定资源的限流器。在接收资源请求后,可以基于默认限流器和资源请求,生成与资源请求匹配的衍生限流器,衍生限流器属于指定限流器。通过与资源请求匹配的衍生限流器,对资源请求进行限流处理。因此,基于默认限流器为资源灵活生成相应的指定限流器,无需对每个资源都设置限流器,减少了限流器的数量,解决了资源过多导致设置的限流器过多的问题。进一步的,解决了限流器过多带来的限流器不易管理、业务逻辑复杂、业务出错概率上升等诸多不良影响。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的限流方法的场景示意图;
图2为本申请实施例提供的限流方法的流程示意图一;
图3为本申请实施例提供的限流方法的流程示意图二;
图4为本申请实施例提供的限流方法的流程示意图三;
图5为本申请实施例提供的限流方法的流程示意图四;
图6为本申请实施例提供的限流方法的流程示例图;
图7为本申请实施例提供的限流装置70的结构框图;
图8为本申请示例性实施例提供的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。
首先,对本申请实施例涉及的部分用语进行解释:
限流:对物联网(Internet of Things,IoT)设备对资源的处理操作进行流量控制,其中,对资源的处理操作比如对资源的查询、写入、读取等操作。
限流器:对资源提供限流行为的虚拟装置,即对针对资源的处理操作进行限流处理的虚拟装置。以表为例,为表的查询操作设置相应的限流器,在限流器中设置了每秒查询率(Queries Per Second,QPS),基于QPS对表的查询操作进行限流处理。通常的,设备可从配置中心获取与限流相关的配置参数(比如QPS的限流值、资源的资源标签),将配置参数解析为限流规则(又可称为限流策略、限流逻辑),基于限流规则构建得到限流器。
指定限流器:针对指定资源的限流器,即为指定资源提供限流行为的限流器。换句话说,指定限流器适用于一个资源。比如,表a对应的指定限流器为表a提供限流服务,无法为除表a以外的其他资源提供限流服务。
默认限流器:针对未指定资源的限流器。在默认限流器中,主要记录限流逻辑,限流逻辑可适用于未指定资源,进一步的,限流逻辑可适用于至少一类资源,而不仅仅是某一个资源。换句话说,默认限流器具有通用性,用于针对未指定资源执行默认限流行为,在限流过程中,默认限流器起到兜底作用,为不存在匹配的指定限流器的资源提供限流服务。
相关技术中,在业务系统中为每个资源分别设置对应的限流器。
申请人发现,上述方式存在以下不足之处:一、需要通过管控链路监听每个资源的生命周期,基于每个资源的生命周期触发限流器的变更动作,比如,在新建一个资源时,创建该资源对应的限流器,在删除一个资源时,移除该资源对应的限流器,导致业务逻辑复杂,出错概率上升;二、业务管理十分复杂,限流器的管理也十分复杂,比如,在表的默认QPS需从10变化20,则需要对每个表对应的限流器进行更新;三、限流器的数量与资源的数量成正比,随着资源数量的增多,限流器数量也增多,容易造成限流器数量的大量膨胀,占用较多计算机资源,导致业务系统的性能下降。
为解决上述问题,本申请实施例提供了一种限流方法、装置、设备及介质。在本申请实施例中,限流器包括指定限流器和默认限流器,在接收到针对目标资源进行目标操作的资源请求后,根据默认限流器和资源请求,生成与资源请求匹配的衍生限流器,通过与资源请求匹配的衍生限流器,对资源请求进行限流处理,其中,衍生限流器属于指定限流器。可见,本申请实施例具有如下优点:无需针对每个资源分别设置指定限流器,而是通过可以具有一定通用性的默认限流器来生成合适的衍生限流器,有效地减少了限流器的数量;由于默认限流器无需基于资源的生命周期进行构建和移除,所以也降低了业务逻辑的复杂性,降低了出错概率;通过更新默认限流器,基于默认限流器生成的衍生限流器也能够得到更新,提高了限流器管理效率,降低了限流器管理复杂度,也降低了业务管理复杂度。
其中,在本申请实施例中,限流方法的执行主体可以为电子设备,电子设备可以为终端或者服务器。
图1为本申请实施例提供的限流方法的应用场景示意图。如图1所示,以服务器执行限流方法为例,在该应用场景中,包括至少一个设备端(图1以两个为例)和服务器,服务器配置有限流器,限流器可以为服务器本地资源或者与服务器连接的远程数据库(图1未示出)中的资源提供限流服务。
设备端可以是任何具有一定数据处理能力的计算设备,进一步的,数据处理能力包括通信能力,设备端可以是任何具备一定通信能力的物联网设备,能够与服务器进行通信,以请求对服务器上的资源进行相应操作。此时,设备端的基本结构可以包括:至少一个处理器。处理器的数量取决于设备端的配置和类型。设备端也可以包括存储器,该存储器可以为易失性的,例如RAM,也可以为非易失性的,例如只读存储器(Read-Only memory,简称ROM)、闪存等,或者也可以同时包括两种类型。存储器内通常存储有操作系统(OperatingSystem,简称OS)、一个或多个应用程序,也可以存储有程序数据等。除了处理单元和存储器之外,设备端还包括一些基本配置,例如网卡芯片、IO总线、显示组件以及一些外围设备等。可选的,一些外围设备可以包括,例如键盘、鼠标、输入笔、打印机等。其它外围设备在本领域中是众所周知的,在此不做赘述。可选的,设备端可以为PC(personal computer)终端、手持终端(例如:智能手机、平板电脑)等。
在物理实现上,服务器可以是任何能够提供计算服务,响应服务请求,并进行处理的设备,例如:可以是集群服务器、常规服务器、云服务器、云主机、虚拟中心等。服务器的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。
其中,设备端可与服务器进行网络连接,该网络连接可以是无线或有线网络连接。若设备端与服务器是通信连接,该移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、WiMax、5G等中的任意一种。
本申请实施例中,设备端可以向服务器发送资源请求,服务器可以基于限流器,对资源请求进行限流处理,以对资源起到保护作用。具体的,服务器主要用于:确定适合资源请求的限流器,通过限流器对资源请求进行限流处理。其中,限流器包括指定限流器和默认限流器。尤其,限流装置可在不存在与资源请求匹配的指定限流器的情况下,基于默认限流器和资源请求,生成与资源请求匹配的衍生限流器,有效减少了限流器数量。
上述只是示例性的一个应用场景。本申请实施例可以应用于互联网中任何需要对资源操作进行限流的限流场景中,比如,可以适用于终端上应用程序或者进程触发的对终端本地资源的资源请求进行限流的限流场景。
下面,结合附图,通过具体实施例对本申请的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为本申请实施例提供的限流方法的流程示意图一。如图2所示,本申请实施例提供的目标限流方法,包括:
S201,接收针对目标资源进行目标操作的资源请求。
其中,目标操作可包括针对目标资源的交互操作。
其中,目标资源的资源类型可以为软硬件资源等计算资源(比如CPU资源),也可以为与业务相关的数据资源(比如与业务相关的表)。
作为示例的,目标资源为网站,目标操作可为针对该网站的访问操作、编辑操作、输入操作等,相应地,资源请求可为针对该网站的访问请求、编辑请求、输入请求等;目标资源为表,目标操作为针对该表的查询操作、写入操作、读取操作、删除操作等,相应地,资源请求可为针对该表的查询请求、写入请求、读取请求、删除请求等。
本实施例中,可接收来自至少一个其他设备的资源请求,比如,服务器可以接收来自至少一个终端的资源请求;和/或,可以接收来自本地进程所触发的资源请求。在资源请求中,可包括目标资源的资源标签和对目标资源进行目标操作的指令,因此,基于资源请求,可以确定资源请求所针对的目标资源和针对目标资源所请求执行的目标操作。
S202,根据默认限流器和资源请求,生成与资源请求匹配的衍生限流器。
其中,指定限流器和默认限流器的含义可参数前述用语解释。指定限流器和默认限流器可以由用户设置,也可以系统默认或者由系统生成。比如,用户可以基于业务需求为针对表a的资源请求设置查询流量为10qps的指定限流器,也可以基于业务需求为针对至少一类表的资源请求设置查询流量为10qps的默认限流器;又如,开发人员预先在业务系统中构建了指定限流器和默认限流器。衍生限流器为基于默认限流器生成的指定限流器。
本实施例中,由于默认限流器是针对不指定资源的限流器,具有一定的通用性,所以在接收到针对目标资源进行目标操作的资源请求后,可基于资源请求所反映出的目标资源的资源信息,以默认限流器为限流器模板,构建与资源请求匹配的衍生限流器,即生成针对该资源请求的指定限流器。
可选的,目标资源的资源信息包含目标资源的资源标签。
基于目标资源的资源信息包含目标资源的资源标签,S202的一种可能的实现方式包括:基于目标资源的资源标签和默认限流器,生成与资源请求匹配的衍生限流器。从而,提高为资源请求生成指定限流器的准确性。
本实现方式中,可基于资源请求,确定目标资源的资源标签,比如从资源请求中获取目标资源的资源标签。以默认限流器为限流器模板,基于目标资源的资源标签,构建与资源请求匹配的衍生限流器。一种方式中,限流器包含资源标签和限流逻辑(又可称为限流规则、限流策略,进一步的,限流逻辑可以体现为限流值,比如10qps),可通过在限流器模板的基础上添加目标资源的资源标签,得到与资源请求匹配的衍生限流器。其中,在衍生限流器中,目标资源的资源标签可用于体现衍生限流器与资源请求的匹配关系。
进一步可选的,目标资源的资源标签可包括如下一种或多种:目标资源的资源标识(比如表的表名)、与目标资源相关的业务标识(比如目标资源所在的业务节点的节点名称)、目标资源所属客户端的客户端标识(比如目标资源所属应用程序的应用程序名称)。
可选的,默认限流器为多个时,不同默认限流器的优先级不同,可基于优先级最高的默认限流器和资源请求,生成与资源请求匹配的衍生限流器。从而,提高衍生限流器的准确性。
S203、通过与资源请求匹配的衍生限流器,对资源请求进行限流处理。
其中,限流处理可包括如下任一种:响应、拒绝响应、延迟响应,即对资源请求进行限流处理包括如下任一种:响应资源请求、拒绝资源请求、延迟响应资源请求(比如处理完优先级更高的其他请求后再响应该资源请求)。
本实施例中,在确定与资源请求匹配的衍生限流器后,针对资源请求,执行与资源请求匹配的衍生限流器中的限流逻辑,实现对资源请求的限流处理。在一种方式中,在执行限流逻辑的过程中,可判断目标资源当前的流量值是否满足限流逻辑所规定的限流条件(比如是否位于限流逻辑规定的流量范围),若满足,则可响应资源请求,否则,可拒绝响应或者延迟响应资源请求。在此对具体的限流逻辑不做限制。
本申请实施例中,限流器的类型包括指定限流器和默认限流器,根据默认限流器和资源请求,生成与目标资源匹配的衍生限流器,通过与目标资源匹配的衍生限流器对资源请求进行限流处理。如此,基于默认限流器实现指定限流器的动态生成,而无需针对每个资源分别设置指定限流器,此外,默认限流器也无需基于资源的生命周期进行创建和移除,默认限流器的更新即可实现衍生限流器的更新,有效地减少了限流器数量,避免了限流器数量与资源数量呈正比增加所带来的业务逻辑复杂、出错率提升等诸多不良影响。
图3为本申请实施例提供的限流方法的流程示意图二。如图3所示,本申请实施例提供的限流方法,包括:
S301,接收针对目标资源进行目标操作的资源请求。
其中,S301的实现原理和技术效果可参照前述实施例,不再赘述。
S302,确定指定限流器集合中是否存在与资源请求匹配的指定限流器。
其中,设置有包含指定限流器的指定限流器集合。
其中,指定限流器集合中不存在与资源请求匹配的指定限流器,包括如下情况:指定限流器集合中指定限流器的数目为零、指定限流器集合中指定限流器的数目不为零但不存在与资源请求匹配的指定限流器。比如,在业务系统中不存在指定限流器,自然不存在与资源请求A匹配的指定限流器;又如,在业务系统中存在指定限流器,但均与资源请求A不匹配。
其中,与资源请求匹配的指定限流器,可以体现为资源请求与指定限流器的对应关系,即与资源请求对应的指定限流器。
本实现方式中,若指定限流器集合中不存在指定限流器,则可直接确定指定限流器集合中不存在与资源请求匹配的指定限流器,若指定限流器集合中存在指定限流器,则可基于资源请求,确定目标资源的资源信息,基于匹配规则,将目标资源的资源信息与指定限流器集合中的指定限流器进行匹配,确定指定限流器集合中是否存在与资源请求匹配的指定限流器。其中,如果存在与资源请求匹配的指定限流器,则可执行S305,否则可执行S303。
可选的,目标资源的资源信息包含目标资源的资源标签,与资源请求匹配的指定限流器中包含目标资源的资源标签,此时,S302的一种可能的实现方式包括:确定指定限流器集合中是否存在包含目标资源的资源标签的指定限流器;如果指定限流器集合中存在包含目标资源的资源标签的指定限流器,则确定指定限流器集合中存在与目标资源匹配的指定限流器,否则指定限流器集合中确定不存在与目标资源匹配的指定限流器。从而,提高确定与目标资源匹配的限流器的准确性。当然,也可以通过其他匹配规则来确定指定限流器集合中是否存在与资源匹配的指定限流器,比如,可以基于资源请求与指定限流器集合中指定限流器的限流器标识的对应关系确定,不一一详述。
S303、根据默认限流器和资源请求,生成与资源请求匹配的衍生限流器。
S304、通过与资源请求匹配的衍生限流器,对资源请求进行限流处理。
其中,S303~S304的实现原理和技术效果可参照前述实施例,不再赘述。
S305、通过与资源请求匹配的指定限流器,对资源请求进行限流处理。
本实施例中,在指定限流器集合中存在与资源请求匹配的指定限流器的情况下,可针对资源请求,执行与资源请求匹配的指定限流器中的限流逻辑,实现对资源请求的限流处理。在一种方式中,在执行限流逻辑的过程中,可判断目标资源当前的流量值是否满足限流逻辑所规定的限流条件(比如是否位于限流逻辑规定的流量范围),若满足,则可响应资源请求,否则,可拒绝响应或者延迟响应资源请求。在此对具体的限流逻辑不做限制。
本申请实施例中,接收到针对目标资源进行目标操作的资源请求后,确定指定限流器集合中是否存在与资源请求匹配的指定限流器,若存在,则通过与资源请求匹配的指定限流器,对资源请求进行限流处理,否则,根据资源请求和默认限流器,生成与资源请求匹配的衍生限流器,通过衍生限流器对资源请求进行限流处理。从而,提高了限流器的灵活性,即提高了对资源请求进行限流的灵活性,而无需为每个资源分别设置对应的限流器,默认限流器也无需基于资源的生命周期进行创建和移除,默认限流器的更新即可实现衍生限流器的更新,有效地减少了限流器数量,避免了限流器数量与资源数量呈正比增加所带来的业务逻辑复杂、出错率提升等诸多不良影响。
在一些实施例中,指定限流器包括设置的用户限流器和/或在历史时间中基于默认限流器生成的衍生限流器,换句话说,用户限流器和衍生限流器均属于指定限流器。此时,指定限流器集合可包括用户限流器集合和/或衍生限流器集合。其中,用户限流器可由用户预先设置,用户可以是业务系统的开发人员、管理人员和/或使用人员,比如,用户可以基于使用业务系统的实际体验来设置用户限流器,用户限流器的优先级高于默认限流器和衍生限流器,以提高限流准确性和用户体验。衍生限流器可基于默认限流器生成并存储得到,比如,在上一次资源请求的时候生成并存储。
基于指定限流器集合包括用户限流器集合和/或衍生限流器集合,图4为本申请实施例提供的限流方法的流程示意图三。如图4所示,本申请实施例提供的限流方法,包括:
S401,接收针对目标资源进行目标操作的资源请求。
其中,S401的实现原理和技术效果可参照前述实施例,不再赘述。
S402,在用户限流器集合和/或衍生限流器集合中,确定是否存在与资源请求匹配的指定限流器。
本实施例中,在指定限流器集合包括用户限流器集合的情况下,可在用户限流器集合中确定是否存在与资源请求匹配的用户限流器;在指定限流器集合包括衍生限流器的情况下,可在衍生限流器集合中确定是否存在与资源请求匹配的衍生限流器;在指定限流器集合包括用户限流器集合和衍生限流器集合的情况下,则可在用户限流器和衍生限流器中,确定是否存在与资源匹配的指定限流器。如果在用户限流器集合中存在与资源请求匹配的用户限流器或者在衍生限流器集合中存在与资源请求匹配的衍生限流器,则确定存在与资源请求匹配的指定限流器,执行S405,否则确定不存在与资源请求匹配的指定限流器,执行S403。
可选的,用户限流器在限流器中的优先级最高,基于此,S402的一种可能的实现方式包括:确定用户限流器集合中是否存在与资源请求匹配的用户限流器;如果用户限流器集合中不存在与资源请求的用户限流器,则确定衍生限流器集合中是否存在与资源请求匹配的衍生限流器。从而,优先基于用户为目标资源设置的用户限流器对资源请求进行限流,提高限流准确性和用户体验。
本可选方式中,在用户限流器集合中,确定是否存在与资源请求匹配的用户限流器,该与资源请求匹配的用户限流器即与资源请求匹配的指定限流器。如果存在,则了执行S405。否则,在衍生限流器集合中,确定是否存在与资源请求匹配的衍生限流器,该与资源请求匹配的衍生限流器即与资源请求匹配的指定限流器。如果衍生限流器集合中存在与资源请求匹配的限流器,则执行S405,否则执行S403。其中,限流器与资源请求的匹配过程可参照前述实施例,不再赘述。
S403、根据默认限流器和资源请求,生成与资源请求匹配的衍生限流器。
S404、通过与资源请求匹配的衍生限流器,对资源请求进行限流处理。
其中,S403~S404的实现原理和技术效果可参照前述实施例,不再赘述。
S405、通过用户限流器集合和/或衍生限流器集合中与资源请求匹配的指定限流器,对资源请求进行限流处理。
本实施例中,在用户限流器集合或者衍生限流器集合中存在与资源请求匹配的限流器的情况下,可针对资源请求,执行与资源请求匹配的指定限流器中的限流逻辑,实现对资源请求的限流处理。
本申请实施例中,限流器的类型包括指定限流器和默认限流器,指定限流器的类型又可分为用户限流器和衍生限流器。基于多种限流器,提高了限流器的灵活性,其中包括基于默认限流器已经生成的衍生限流器,实现对默认限流器的充分利用,有效地减少了限流器数量,尤其是需要预先设置的用户限流器的数量,减少了限流器创建、移除的复杂度,避免了限流器数量与资源数量呈正比增加所带来的业务逻辑复杂、出错率提升等诸多不良影响。
在一些实施例中,与资源请求匹配的衍生限流器可基于与资源请求匹配的默认限流器生成。基于此,图5为本申请实施例提供的限流方法的流程示意图四。如图5所示,本申请实施例提供的限流方法,包括:
S501、接收针对目标资源进行目标操作的资源请求。
其中,S501的实现原理和技术效果可参照前述实施例,不再赘述。
S502、根据资源请求,确定默认限流器集合中是否存在与资源请求匹配的默认限流器。
本实施例中,可基于资源请求,确定目标资源的资源信息;基于匹配规则,将目标资源的资源信息与默认限流器集合中的默认限流器进行匹配,确定默认限流器集合中是否存在与资源请求匹配的默认限流器。其中,由于默认限流器可适用于至少一类资源,在一种方式中,可以通过确定目标资源是否位于默认限流器所适应的资源范围内,换句话说,可以通过确定目标资源是否属于默认限流器所适用的资源,来实现目标资源信息与默认限流器的匹配。
可选的,默认限流器中可包括至少一个资源标签,在默认限流器中,至少一个资源标签未限定取值,使得默认限流器可以适用于未指定资源。
比如,在默认限流器中包含目标资源的两个资源标签,其中一个资源标签为资源标识,另一个资源标签为应用程序标识,资源标识的取值为a,应用程序标识为未限定取值,则默认限流器可以适用于资源标识为a且与任意应用程序相关的资源请求。此时,资源标识为a也可以理解为一个资源类别,默认限流器适用于针对资源标识为a的这一类资源的资源请求。
作为示例的,默认限流器D1可表示为D1:{index:**,qps:5}。
其中,“**”表示通用符,也表示未指定取值,index表示表名。可见,默认限流器D1限定所有未声明指定限流器(即不存在匹配的指定限流器)的表的访问流量为5qps,即与所有未声明指定限流器的访问请求匹配。
又作为示例的,默认限流器D2可表示为D2:{index:**,app_name:m,qps:5}。
其中,app_name表示应用程序标识。可见,默认限流器D2限定与标识为m的应用程序相关且未声明指定限流器的表的访问流量为5qps。
基于默认限流器中至少一个资源标签未限定取值,目标资源的资源信息包含目标资源的资源标签,S502的一种可能的实现方式可包括:根据目标资源的资源标签和默认限流器中的资源标签,确定默认限流器集合中存在与资源请求匹配的默认限流器。从而,通过资源标签,提高确定与资源请求匹配的默认限流器的准确性。
本实现方式中,可将目标资源的资源标签与默认限流器集合中默认限流器中的资源标签进行匹配,如果匹配成功,则确定该默认限流器为与资源请求匹配的默认限流器。在目标资源的资源标签为多个的情况下,可要求目标资源的每个资源标签与默认限流器中的资源标签匹配成功。资源标签的匹配成功是指资源标签的取值匹配,其中,默认限流器中未限定取值的资源标签可以匹配目标资源中同一资源标签下的任意取值。
作为示例的,默认限流器D2:{index:**,app_name:m,qps:5},针对表a进行操作的资源请求A中包含的资源标签表示为:{index:a,app_name:m},针对表a进行操作的资源请求B中包含的资源标签表示为;{index:a,app_name:k},则可以确定:一,资源请求A中资源标签“index”的取值“a”与默认限流器D2中资源标签“index”的取值“**”匹配,资源请求A中资源标签“app_name”的取值“m”与默认限流器D2中资源标签“app_name”的取值“m”匹配,可以确定资源请求A与默认限流器D2匹配;二,资源请求B中资源标签“index”的取值“b”与默认限流器D2中资源标签“index”的取值“**”匹配,资源请求B中资源标签“app_name”的取值“k”与默认限流器D2中资源标签“app_name”的取值“m”不匹配,可以确定资源请求B与默认限流器D2不匹配。
S503、如果默认限流器集合中存在与资源请求匹配的默认限流器,则根据默认限流器集合中与资源请求匹配的默认限流器和资源请求,生成与资源请求匹配的衍生限流器。
本实施例中,如果默认限流器集合中存在与资源请求匹配的默认限流器,则可基于资源请求所反映出的目标资源的资源信息,以与资源请求匹配的默认限流器为限流器模板,生成与资源请求匹配的衍生限流器。其中,衍生限流器中包含目标资源的资源信息和来自默认限流器的限流逻辑。
可选的,在限流逻辑为限流值的情况,新增衍生限流器包含来自默认限流器的限流值。和/或,在目标资源的资源信息为目标资源的资源标签的情况下,新增衍生限流器包含目标资源的资源标签。
可选的,基于默认限流器中至少一个资源标签未限定取值,S503的一种可能的实现方式包括:以与资源请求匹配的默认限流器为限流器模板,将未限定取值的资源标签更新为目标资源的资源标签。进一步的,还可添加与资源请求匹配的默认限流器的限流器标识,得到与资源请求匹配的衍生限流器。其中,添加与资源请求匹配的默认限流器的限流器标识,可实现与资源请求匹配的衍生限流器和与资源请求匹配的默认限流器的映射关系,该映射关系有利于提高管理衍生限流器的便捷性。
本实现方式中,与资源请求匹配的默认限流器所包含的资源标签,除了未指定取值的资源标签之外,剩余资源标签的取值与目标资源的资源标签(即资源请求中的资源标签)的取值一致,因此,以与资源请求匹配的默认限流器为限流器模板,新增衍生限流器,将新增的衍生限流器中未指定取值的资源标签的取值,更新为目标资源的同一资源标签的取值,使得新增的衍生限流器与资源请求匹配。进一步的,可在新增的衍生限流器中,添加与资源请求匹配的默认限流器的限流器标识。最后得到与资源请求匹配的衍生限流器。
作为示例的,针对表c进行查询操作的资源请求C和针对表d进行查询操作的资源请求D均不存在与之匹配的指定限流器,但存在与之匹配的默认限流器D1:{index:**,qps:5}。此时,基于默认限流器D1和资源请求C,可生成与资源请求C匹配的衍生限流器L1:{index:c,qps:5,p:D1};基于默认限流器D1和资源请求D,可生成与资源请求D匹配的衍生限流器L2:{index:d,qps:5,p:D1}。其中,“p:D1”表示衍生限流器L1和衍生限流器L2的父节点(即生成衍生限流器的默认限流器)为默认限流器D1。
进一步可选的,生成与资源请求匹配的衍生限流器后,可保存该衍生限流器,保存的衍生限流器可用于对未来与之匹配的资源请求进行限流。
可选的,如果默认限流器集合中与资源请求匹配的默认限流器为多个,则可在与资源请求匹配的多个默认限流器中确定优先级最高的默认限流器,根据优先级最高的默认限流器和资源请求,生成与资源请求匹配的衍生限流器。从而,基于默认限流器的有限期,提高生成的衍生限流器的准确性,进而提高对资源请求进行限流处理的准确性。
其中,默认限流器之间的优先级高低通过比较默认限流器得到。
本可选方式中,针对与资源请求匹配的默认限流器,可通过比较两两默认限流器中的资源标签,来确定该两两默认限流器之间的优先级高低。
一种优先级高低的确定方式可为:可通过比较两两默认限流器中未限定取值的资源标签的数量,来确定该两两默认限流器之间的优先级高低。进一步的,如果第一默认限流器中未限定取值的资源标签少于第二默认限流器中未限定取值的资源标签,则确定第一默认限流器优先级高于第二默认限流器,否则,确定第一默认限流器优先级低于第二默认限流器。
又一种优先级高低的确定方式可为:可通过比较两两默认限流器中未限定取值的资源标签的重要程度,来确定该两两默认限流器之间的优先级高低。进一步的,如果第一默认限流器中未限定取值的资源标签的重要程度高于第二默认限流器中未限定取值的资源标签,则确定第一默认限流器优先级低于第二默认限流器,否则确定第一默认限流器优先级高于第二默认限流器。
其中,第一默认限流器和第二默认限流器均为与资源请求匹配的限流器。资源标签的重要程度可以预先设定,比如,可设置资源标识的重要程度高于应用程序标识的重要程度。
S504、通过与资源请求匹配的衍生限流器,对资源请求进行限流处理。
其中,S504的实现原理和技术效果,可参照前述实施例,不再赘述。
本申请实施例中,限流器的类型包括指定限流器和默认限流器,指定限流器的类型又可分为用户限流器和衍生限流器。在默认限流器集合中存在与资源请求匹配的默认限流器的情况下,基于与资源请求匹配的默认限流器和资源请求,生成与资源请求匹配的衍生限流器,通过与资源请求匹配的衍生限流器对资源请求进行限流处理。从而,既减少了限流器数量,又能够灵活生成准确地适用于资源请求的限流器,减少了限流器创建、移除的复杂度,避免了限流器数量与资源数量呈正比增加所带来的业务逻辑复杂、出错率提升等诸多不良影响。
作为示例的,如图6所示,图6为本申请实施例提供的限流方法的方法流程示例图。如图6所示,接收到针对目标资源进行目标操作的资源请求后,在匹配器中进行资源请求与限流器的匹配。其中,匹配过程如下:
将资源请求与用户限流器进行匹配,若匹配成功,则通过限流器(即匹配成功的用户限流器)对资源请求执行限流逻辑;若未匹配成功,则将资源请求与衍生限流器(已有的衍生限流器,或称为已存储的衍生限流器、在历史时间生成的衍生限流器)进行匹配;若资源请求与衍生限流器匹配成功,则通过限流器(即匹配成功的衍生限流器)对资源请求执行限流逻辑;若资源请求与衍生限流器未匹配成功,则将资源请求与默认限流器进行匹配;若资源请求与默认限流器匹配成功,则可在衍生限流器生成器中,基于与资源请求匹配成功的默认限流器,新增衍生限流器,通过限流器(即新增的衍生限流器)对资源请求执行限流操作;若资源请求与默认限流器未匹配成功,则将资源请求发送至后端。同样的,在限流操作后,也可以在后端基于限流结果做下一步操作,在此对后端的操作不做限制。
基于前述实施例,可以理解的,衍生限流器为默认限流器在目标资源下的具象,具体的限流逻辑由衍生限流器执行,同样的,衍生限流器为默认限流器在具体资源下的具象,具体的限流逻辑由衍生限流器执行。
在一些实施例中,在指定限流器集合包括衍生限流器集合的情况下,还可对衍生限流器集合进行管理操作,以使得衍生限流器能够得到有序管理,并能够在有序管理下充分用于限流,避免给业务系统带来不良影响。
进一步的,对管理操作包括如下至少一种:管理操作一、在衍生限流器集合中,移除与用户限流器集合中的用户限流器重叠的衍生限流器,此时,指定限流器集合还包括用户限流器集合;管理操作二、响应于默认限流器的更新,在衍生限流器集合中,更新与默认限流器对应的衍生限流器;管理操作三、在衍生限流器集合中,回收预设时长内未被访问的衍生限流器。
在管理操作一中,用户限流器由用户设置,衍生限流器基于默认限流器生成,可见用户限流器与衍生限流器可能发生重叠,比如,针对表a进行访问操作的资源请求,存在与之匹配的衍生限流器,用于限制表a的访问流量小于5qps,用户在不知道该衍生限流器的存在的情况下,设置了用于限制表a的访问流量小于5qps的用户限流器。因此,为避免先流程重复,可响应于用户限流器的设置(包括用户限流器的新增、更新),在衍生限流器集合中,确定是否有与用户限流器匹配的衍生限流器,若存在,则移除该衍生限流器。
其中,两个限流器的重叠是指两个限流器中的资源标签和限流值均一致。
可选的,在移除衍生限流器的过程中,可将衍生限流器中与当前已通过的流量相关的上下文信息传递至与该衍生限流器重复的用户限流器中。
本可选方式中,限流器中可记载有当前通过的流量,比如,衍生限流器L3:{index:e,qps:5,qps’:3,p:D1}中,记载有表e当前通过的访问流量qps’为3。由于新设置的用户限流器中当前通过的流量为零,在移除与该用户限流器重复的衍生限流器时,可将该衍生限流器中当前通过的流量设置为该用户限流器中当前通过的流量,避免限流器移除导致流量的误放,提高限流的准确性。
比如,在设置的用户限流器中限流值为100qps,在与该用户限流器重复的衍生限流器中记载可当前秒的查询率已达到80,如果此时直接删除衍生限流器,由于用户限流器是新建的,认为当前秒的查询率为0,会继续限流至100qps,造成实际的查询率为180qps,大于用户限流器中的100qps。所以,在移除衍生限流器时,可将衍生限流器中记载的80传递到至用户限流器。
在管理操作二中,衍生限流器中记载有生成该衍生限流器的默认限流器与该衍生限流器的对应关系,因此,在检测到默认限流器更新的情况下,可基于该对应关系,在衍生限流器集合中查找与更新的默认限流器对应的衍生限流器,基于更新的默认限流器,更新与默认限流器对应的衍生限流器。如此,实现了衍生限流器的批量更新,提高了衍生限流器的管理效率。
可选的,通过在衍生限流器中记载生成该衍生限流器的默认限流器的限流器标识的方式,记载默认限流器与衍生限流器的对应关系。
例如,将默认限流器D1中的qps更新为10时,可以将记载有D1这一限流器标识的衍生限流器L1~L3中的qps更新为10。
在管理操作三中,在一段时间内,并不是所有资源都会被访问,所以存在一些长时间未被访问的衍生限流器,即长时间未执行过限流逻辑(或者未运行)的衍生限流器,可以通过回收衍生限流器集合中预设时长内未被访问的衍生限流器,减少限流器数量,提高业务系统的系统性能。这些回收的衍生限流器在相关资源被再次访问时可再基于默认限流器生成。
图7为本申请实施例提供的限流装置70的结构框图。如图7所示,限流装置70包括:接收单元71、生成单元72和限流单元73,其中:
接收单元71,用于接收针对目标资源进行目标操作的资源请求;
生成单元72,用于根据默认限流器和资源请求,生成与资源请求匹配的衍生限流器,衍生限流器属于指定限流器,指定限流器为针对指定资源的限流器,默认限流器为针对未指定资源的限流器;
限流单元73,用于通过与资源请求匹配的衍生限流器,对资源请求进行限流处理。
在本申请的一个实施例中,默认限流器与资源请求匹配,在根据默认限流器和资源请求,生成与资源请求匹配的衍生限流器之前,生成单元72还用于:根据资源请求,确定默认限流器集合中存在默认限流器。
在本申请的一个实施例中,默认限流器中至少一个资源标签未限定取值,在根据默认限流器和资源请求,生成与资源请求匹配的衍生限流器的过程中,生成单元72具体用于:以默认限流器为限流器模板,将未限定取值的资源标签更新为目标资源的资源标签,并添加默认限流器的限流器标识,得到与资源请求匹配的衍生限流器。
在本申请的一个实施例中,设置有指定限流器集合,在根据默认限流器和资源请求,生成与资源请求匹配的衍生限流器的过程中,生成单元72具体用于:确定指定限流器集合中是否存在与资源请求匹配的指定限流器;在不存在与资源请求匹配的指定限流器的情况下,根据默认限流器和资源请求,生成与资源请求匹配的衍生限流器。
在本申请的一个实施例中,指定限流器集合包括用户限流器集合和/或衍生限流器集合,在确定指定限流器集合中是否存在与资源请求匹配的指定限流器的过程中,生成单元72具体用于:在用户限流器集合和/或衍生限流器集合中,确定是否存在与资源请求匹配的指定限流器。
在本申请的一个实施例中,在用户限流器集合和/或衍生限流器集合中,确定是否存在与资源请求匹配的指定限流器的过程中,确定单元74具体用于:确定用户限流器集合中是否存在与资源请求匹配的用户限流器;如果用户限流器集合中不存在与资源请求的用户限流器,则确定衍生限流器中是否存在与资源请求匹配的衍生限流器。
在本申请的一个实施例中,限流单元73还用于:在存在与资源请求匹配的指定限流器的情况下,通过与资源请求匹配的指定限流器,对资源请求进行限流处理。
在本申请的一个实施例中,限流装置还包括:管理单元74,用于对衍生限流器集合进行管理操作。其中,管理操作包括如下至少一种:在衍生限流器集合中,移除与用户限流器集合中的用户限流器重叠的衍生限流器;响应于默认限流器的更新,在衍生限流器集合中,更新与默认限流器对应的衍生限流器;在衍生限流器集合中,回收预设时长内未被访问的衍生限流器。
本申请实施例提供的限流装置,用于执行上述任一方法实施例中的技术方案,其实现原理和技术效果类似,在此不再赘述。
图8为本申请实施例提供的电子设备的硬件结构示意图。如图8所示,本申请实施例的电子设备80可以包括:至少一个处理器81(图8中仅示出了一个处理器);以及,与至少一个处理器通信连接的存储器82。其中,存储器82存储有可被至少一个处理器81执行的指令,指令被至少一个处理器81执行,以使电子设备80能够执行前述任一方法实施例中的技术方案。
可选的,存储器82既可以是独立的,也可以跟处理器81集成在一起。
当存储器82是独立于处理器81之外的器件时,电子设备80还包括:总线83,用于连接存储器82和处理器81。
可选的,电子设备80为服务器。
本申请实施例提供的电子设备可以执行前述任一方法实施例的技术方案,其实现原理和技术效果类似,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当计算机程序被处理器执行时用于实现前述任一方法实施例中的技术方案。
本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前述任一方法实施例中的技术方案。
本申请实施例还提供了一种芯片,包括:处理模块与通信接口,该处理模块能执行前述方法实施例中的技术方案。
进一步地,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行前述方法实施例中的技术方案。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备中。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (11)
1.一种限流方法,其特征在于,包括:
接收针对目标资源进行目标操作的资源请求;
根据默认限流器和所述资源请求,生成与所述资源请求匹配的衍生限流器,所述衍生限流器属于指定限流器,所述指定限流器为针对指定资源的限流器,所述默认限流器为针对未指定资源的限流器;
通过与所述资源请求匹配的衍生限流器,对所述资源请求进行限流处理。
2.根据权利要求1所述的限流方法,其特征在于,所述默认限流器与所述资源请求匹配,所述根据默认限流器和所述资源请求,生成与所述资源请求匹配的衍生限流器之前,还包括:
根据所述资源请求,确定默认限流器集合中存在所述默认限流器。
3.根据权利要求1所述的限流方法,其特征在于,所述默认限流器中至少一个资源标签未限定取值,所述根据默认限流器和所述资源请求,生成与所述资源请求匹配的衍生限流器,包括:
以所述默认限流器为限流器模板,将未限定取值的资源标签更新为所述目标资源的资源标签,并添加所述默认限流器的限流器标识,得到与所述资源请求匹配的衍生限流器。
4.根据权利要求1至3中任一项所述的限流方法,其特征在于,设置有指定限流器集合,所述根据默认限流器和所述资源请求,生成与所述资源请求匹配的衍生限流器,包括:
确定所述指定限流器集合中是否存在与所述资源请求匹配的指定限流器;
在不存在与所述资源请求匹配的指定限流器的情况下,根据默认限流器和所述资源请求,生成与所述资源请求匹配的衍生限流器。
5.根据权利要求4所述的限流方法,其特征在于,所述指定限流器集合包括用户限流器集合和/或衍生限流器集合,所述确定所述指定限流器集合中是否存在与所述资源请求匹配的指定限流器,包括:
在所述用户限流器集合和/或所述衍生限流器集合中,确定是否存在与所述资源请求匹配的指定限流器。
6.根据权利要求5所述的限流方法,其特征在于,所述在所述用户限流器集合和/或所述衍生限流器集合中,确定是否存在与所述资源请求匹配的指定限流器,包括:
确定所述用户限流器集合中是否存在与所述资源请求匹配的用户限流器;
如果所述用户限流器集合中不存在与所述资源请求的用户限流器,则确定所述衍生限流器中是否存在与所述资源请求匹配的衍生限流器。
7.根据权利要求4所述的限流方法,其特征在于,所述确定所述指定限流器集合中是否存在与所述资源请求匹配的指定限流器之后,还包括:
在存在与所述资源请求匹配的指定限流器的情况下,通过与所述资源请求匹配的指定限流器,对所述资源请求进行限流处理。
8.根据权利要求5所述的限流方法,其特征在于,所述限流方法还包括:
对所述衍生限流器集合进行管理操作;
所述管理操作包括如下至少一种:
在所述衍生限流器集合中,移除与所述用户限流器集合中的用户限流器重叠的衍生限流器;
响应于所述默认限流器的更新,在所述衍生限流器集合中,更新与所述默认限流器对应的衍生限流器;
在所述衍生限流器集合中,回收预设时长内未被访问的衍生限流器。
9.一种限流装置,其特征在于,包括:
接收单元,用于接收针对目标资源进行目标操作的资源请求;
生成单元,用于根据默认限流器和所述资源请求,生成与所述资源请求匹配的衍生限流器,所述衍生限流器属于指定限流器,所述指定限流器为针对指定资源的限流器,所述默认限流器为针对未指定资源的限流器;
限流单元,用于与所述资源请求匹配的衍生限流器,对所述资源请求进行限流处理。
10.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述电子设备能够执行权利要求1至8中任一项所述的限流方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的限流方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210623393.6A CN115037799B (zh) | 2022-06-01 | 2022-06-01 | 限流方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210623393.6A CN115037799B (zh) | 2022-06-01 | 2022-06-01 | 限流方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115037799A CN115037799A (zh) | 2022-09-09 |
CN115037799B true CN115037799B (zh) | 2024-01-05 |
Family
ID=83122678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210623393.6A Active CN115037799B (zh) | 2022-06-01 | 2022-06-01 | 限流方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115037799B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108092915A (zh) * | 2017-12-01 | 2018-05-29 | 顺丰科技有限公司 | 一种用户服务质量流量控制方法及装置 |
WO2018157109A1 (en) * | 2017-02-27 | 2018-08-30 | Ebay Inc. | Rate limiter |
CN110351357A (zh) * | 2019-07-08 | 2019-10-18 | 中国平安人寿保险股份有限公司 | 服务器限流方法、装置、计算机设备以及存储介质 |
CN110401720A (zh) * | 2019-07-31 | 2019-11-01 | 中国工商银行股份有限公司 | 信息处理方法、装置、系统、应用服务器和介质 |
CN111726303A (zh) * | 2019-03-22 | 2020-09-29 | 阿里巴巴集团控股有限公司 | 一种流量控制方法、装置以及计算设备 |
CN112615792A (zh) * | 2020-12-10 | 2021-04-06 | 北京房天下嘉居网络技术有限公司 | 接口限流方法及装置 |
CN112910975A (zh) * | 2021-01-21 | 2021-06-04 | 北京字跳网络技术有限公司 | 请求的处理方法、装置和电子设备 |
CN113381969A (zh) * | 2020-03-09 | 2021-09-10 | 北京达佳互联信息技术有限公司 | 资源访问控制方法、装置及设备和存储介质 |
CN113489702A (zh) * | 2021-06-29 | 2021-10-08 | 网易(杭州)网络有限公司 | 接口限流方法、装置和电子设备 |
US11228609B1 (en) * | 2019-04-25 | 2022-01-18 | F5 Networks, Inc. | Methods for managing HTTP requests using extended SYN cookie and devices thereof |
CN114553784A (zh) * | 2022-01-25 | 2022-05-27 | 阿里巴巴(中国)有限公司 | 限流处理方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10135831B2 (en) * | 2011-01-28 | 2018-11-20 | F5 Networks, Inc. | System and method for combining an access control system with a traffic management system |
US20120331125A1 (en) * | 2011-06-22 | 2012-12-27 | International Business Machines Corporation | Resource Use Management System |
US11288601B2 (en) * | 2019-03-21 | 2022-03-29 | International Business Machines Corporation | Self-learning selection of information-analysis runtimes |
-
2022
- 2022-06-01 CN CN202210623393.6A patent/CN115037799B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018157109A1 (en) * | 2017-02-27 | 2018-08-30 | Ebay Inc. | Rate limiter |
CN108092915A (zh) * | 2017-12-01 | 2018-05-29 | 顺丰科技有限公司 | 一种用户服务质量流量控制方法及装置 |
CN111726303A (zh) * | 2019-03-22 | 2020-09-29 | 阿里巴巴集团控股有限公司 | 一种流量控制方法、装置以及计算设备 |
US11228609B1 (en) * | 2019-04-25 | 2022-01-18 | F5 Networks, Inc. | Methods for managing HTTP requests using extended SYN cookie and devices thereof |
CN110351357A (zh) * | 2019-07-08 | 2019-10-18 | 中国平安人寿保险股份有限公司 | 服务器限流方法、装置、计算机设备以及存储介质 |
CN110401720A (zh) * | 2019-07-31 | 2019-11-01 | 中国工商银行股份有限公司 | 信息处理方法、装置、系统、应用服务器和介质 |
CN113381969A (zh) * | 2020-03-09 | 2021-09-10 | 北京达佳互联信息技术有限公司 | 资源访问控制方法、装置及设备和存储介质 |
CN112615792A (zh) * | 2020-12-10 | 2021-04-06 | 北京房天下嘉居网络技术有限公司 | 接口限流方法及装置 |
CN112910975A (zh) * | 2021-01-21 | 2021-06-04 | 北京字跳网络技术有限公司 | 请求的处理方法、装置和电子设备 |
CN113489702A (zh) * | 2021-06-29 | 2021-10-08 | 网易(杭州)网络有限公司 | 接口限流方法、装置和电子设备 |
CN114553784A (zh) * | 2022-01-25 | 2022-05-27 | 阿里巴巴(中国)有限公司 | 限流处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115037799A (zh) | 2022-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11474972B2 (en) | Metadata query method and apparatus | |
CN111767143A (zh) | 交易数据处理方法、装置、设备及系统 | |
CN112597153B (zh) | 一种基于区块链的数据存储方法、装置及存储介质 | |
US11100047B2 (en) | Method, device and computer program product for deleting snapshots | |
US10915534B2 (en) | Extreme value computation | |
CN111767270A (zh) | 数据迁移方法、装置、服务器及存储介质 | |
EP4052126A1 (en) | Management of multiple physical function non-volatile memory devices | |
CN113157198A (zh) | 管理缓存的方法、设备和计算机程序产品 | |
CN115037799B (zh) | 限流方法、装置、设备及介质 | |
CN111897819A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN113132241B (zh) | Acl模板动态配置方法及装置 | |
CN109271564A (zh) | 保单查询方法及设备 | |
CN110825521B (zh) | 一种内存使用管理方法、装置及存储介质 | |
CN111897612A (zh) | 页面更新方法、装置、电子设备及存储介质 | |
CN112261168A (zh) | 一种多ip端口段用户信息查找方法、终端设备及存储介质 | |
CN111343101A (zh) | 服务器限流方法、装置、电子设备及可读存储介质 | |
CN111585897B (zh) | 请求路由管理方法、系统、计算机系统及可读存储介质 | |
CN113806249B (zh) | 一种对象存储有序列举方法、装置、终端及存储介质 | |
CN117271440B (zh) | 一种基于freeRTOS文件信息存储方法、读取方法及相关设备 | |
CN116303125B (zh) | 请求调度方法、缓存、装置、计算机设备及存储介质 | |
CN114168275B (zh) | 任务调度方法、系统、终端设备及存储介质 | |
CN115495622A (zh) | 一种协议数据服务规则的匹配方法及其相关设备 | |
CN114116803A (zh) | 大数据文件的处理方法、装置、设备及存储介质 | |
CN108256989B (zh) | 准备金系统的数据显示方法及系统 | |
CN114911410A (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 |