CN114553784A - 限流处理方法及装置 - Google Patents
限流处理方法及装置 Download PDFInfo
- Publication number
- CN114553784A CN114553784A CN202210087028.8A CN202210087028A CN114553784A CN 114553784 A CN114553784 A CN 114553784A CN 202210087028 A CN202210087028 A CN 202210087028A CN 114553784 A CN114553784 A CN 114553784A
- Authority
- CN
- China
- Prior art keywords
- current limiting
- limiting object
- rule
- configuration file
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title description 4
- 238000000034 method Methods 0.000 claims abstract description 46
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000004458 analytical method Methods 0.000 claims abstract description 17
- 238000013515 script Methods 0.000 claims description 10
- 230000003068 static effect Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 101100368725 Bacillus subtilis (strain 168) tagF gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
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/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种限流处理方法及装置。具体技术方案包括:利用预先设置的标签解析规则对访问请求进行解析,得到至少一个标签信息;将所述至少一个标签信息在限流对象配置文件中进行匹配,如果匹配到限流对象,则从限流规则配置文件中查询所匹配到限流对象对应的限流规则,按照查询到的限流规则对所述访问请求进行限流处理。本申请能够实现限流对象的灵活配置。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种限流处理方法及装置。
背景技术
限流是为了解决系统资源与访问流量出现的矛盾,保证有限的资源能够正常服务,因此按照预设的规则进行流量限制的一种方法。限流作为一种常用能力,业界已有一些实现方案。对于限流对象的设置往往采用静态定义的方式,即需要预先设计好需要限流的对象,然后在编码阶段写入代码。然而在很多场景下,无法预先定义好需要限流的所有对象,每次增加对象都需要对代码进行改动,并影响线上服务,显然成本较高。如果预先定义好所有对象的组合,则会增加设计难度,在对象数量很多的情况下,则会造成数据量爆炸,影响服务性能。
发明内容
有鉴于此,本申请提供了一种限流处理方法、装置、设备和计算机可读存储介质,以便于实现限流对象的灵活配置。
本申请提供了如下方案:
根据第一方面,提供了一种限流处理方法,包括:
利用预先设置的标签解析规则对访问请求进行解析,得到至少一个标签信息;
将所述至少一个标签信息在限流对象配置文件中进行匹配,其中,所述限流对象配置文件包括至少一个限流对象的信息,所述限流对象的信息包括预设标签或预设标签的组合;
如果匹配到限流对象,则从限流规则配置文件中查询所匹配到限流对象对应的限流规则,按照查询到的限流规则对所述访问请求进行限流处理。
根据本申请实施例中一可实现的方式,该方法还包括:
若未匹配到限流对象,则转发所述访问请求。
根据本申请实施例中一可实现的方式,所述标签包括请求访问索引、应用服务标识、服务节点标识、页面标识或用户标识。
根据本申请实施例中一可实现的方式,所述利用预先设置的标签解析规则对访问请求进行解析的处理由预先写入服务侧接入设备的静态代码执行,或者,由传递并运行于所述服务侧接入设备的动态脚本执行。
根据本申请实施例中一可实现的方式,该方法还包括:
获取对所述限流对象配置文件的更新指令;
依据所述更新指令,在所述限流对象配置文件中增加、删除或修改限流对象的信息。
根据本申请实施例中一可实现的方式,该方法还包括:
获取对所述限流规则配置文件的更新指令;
依据所述更新指令,在所述限流规则配置文件中增加、删除或修改限流对象对应的限流规则的信息。
根据第二方面,还提供了一种限流处理装置,包括:
解析单元,被配置为利用预先设置的标签解析规则对访问请求进行解析,得到至少一个标签信息;
匹配单元,被配置为将所述至少一个标签信息在限流对象配置文件中进行匹配,其中,所述限流对象配置文件包括至少一个限流对象的信息,所述限流对象的信息包括预设标签或预设标签的组合;
限流单元,被配置为如果所述匹配单元匹配到限流对象,则从限流规则配置文件中查询所述匹配单元匹配到的限流对象对应的限流规则,按照查询到的限流规则对所述访问请求进行限流处理。
根据本申请实施例中一可实现的方式,还包括:
第一配置单元,被配置为获取对所述限流对象配置文件的更新指令;依据所述更新指令,在所述限流对象配置文件中增加、删除或修改限流对象的信息。
根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述的方法的步骤。
根据第四方面,提供了一种电子设备,其特征在于,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行上述第一方面中任一项所述的方法的步骤。
根据本申请提供的具体实施例,本申请所提供的技术方案可以具备以下优点:
1)本申请中限流对象以配置文件的形式配置,仅需要从访问请求中解析出标签信息后将标签信息与限流对象配置文件进行匹配即可确定是否需要对访问请求进行限流处理。相比较将限流对象在编码阶段写入代码的方式,显然使用配置文件对限流对象进行定义的形式更加灵活。
2)需要增加、删除或修改限流对象时,仅需要对限流对象配置文件进行修改即可,无需进行代码级别的修改,时间成本和设计成本较低。一套代码能够满足各异的服务场景需求,极大丰富了限流的应用场景。
3)本申请中在编码阶段仅需要进行标签解析规则的配置,无需对所有资源组合进行预先配置,数量级大大减小,降低了对设备服务性能的影响。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了可以应用本申请实施例的示例性系统架构;
图2为本申请实施例提供的主要方法流程图;
图3为本申请实施例提供的限流对象配置文件的示意图;
图4示出根据一个实施例的限流处理装置的示意性框图;
图5示例性的展示出了电子设备的架构。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
图1示出了可以应用本申请实施例的示例性系统架构。如图1所示,该系统架构可以包括终端设备101和102,网络103、服务器104和服务侧接入设备105。网络103用以在终端设备101、102和服务器104之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101和102通过网络103与服务器104交互。终端设备101和102上可以安装有各种应用,例如网页浏览器应用、通信类应用、搜索类应用等。终端设备101和102可以通过发送访问请求的方式从服务器104处获取相应的服务或数据。在本申请实施例中,为了实现流量限制,在服务侧接入设备105处设置了限流功能。也就是说,本申请实施例提供的限流处理装置设置于服务侧接入设备105,用以对访问服务器104的流量进行限制。
服务器104可以是单一服务器,也可以是多个服务器构成的服务器群组,还可以是云服务器。云服务器又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPs,Ⅵirtual Private Server)服务中存在的管理难度大,服务扩展性弱的缺陷。服务器104用以响应于终端设备101和102的访问请求,为终端设备101和102提供服务或数据。服务器104中可以具有一定的存储空间,用以存储和维护有数据库、文件等数据形式。
在此需要说明的是,上述系统架构是较为常见的系统架构,而发往服务器104的访问请求除了来自终端设备101和102之外,也可以来自于其他网络设备,例如来自其他服务器等。
应该理解,图1中的终端设备、网络、服务器和服务侧接入设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络、服务器和服务侧接入设备。
图2为本申请实施例提供的主要方法流程图,该方法可以由图1所示架构中服务侧接入设备执行。如图2中所示,该方法可以包括以下步骤:
步骤201:利用预先设置的标签解析规则对访问请求进行解析,得到至少一个标签信息。
步骤202:将至少一个标签信息在限流对象配置文件中进行匹配,如果匹配到限流对象,则执行步骤203;否则执行步骤204。
步骤203:从限流规则配置文件中查询所匹配到限流对象对应的限流规则,按照查询到的限流规则对访问请求进行限流处理。
步骤204:转发该访问请求。
可以看出,本申请中限流对象以配置文件的形式配置,仅需要从访问请求中解析出标签信息后将标签信息与限流对象配置文件进行匹配即可确定是否需要对访问请求进行限流处理。相比较将限流对象在编码阶段写入代码的方式,显然使用配置文件对限流对象进行定义的形式更加灵活,能够灵活对限流对象进行增、删、修改等操作。
下面对上述方法流程中的各步骤进行详细描述。首先对结合实施例对上述步骤201即“利用预先设置的标签解析规则对访问请求进行解析,得到至少一个标签信息”进行详细描述。
对于服务端接入设备而言会接收到发往服务器的访问请求,由服务端接入设备对该访问请求进行限流判断和处理。具体地,可以在服务端接入设备中设置解码器,由解码器实现本步骤中对访问请求的解析处理。
作为其中一种可实现的方式,上述解码器可以采用静态代码的形式预先写入服务侧接入设备。例如在服务器侧接入设备中写入静态代码,该静态代码包含解码器的处理逻辑,包括标签解析规则。该标签解析规则可以体现为解码器对访问请求进行的具体解析逻辑,例如解码器从访问请求的什么位置(例如是否是包头中、具体的字段等等)获取标签信息,采用什么样的解析方法获取标签信息,等等。服务器侧接入设备接收到访问请求后,由解码器依据上述标签解析规则从访问请求中获取标签信息。
作为另一种可实现的方式,上述解码器可以采用动态脚本的形式,由其他设备传递给服务侧接入设备并运行于服务侧接入设备。例如,开发人员在一终端设备上将动态脚本传递给服务侧接入设备,由服务侧接入设备运行该动态脚本,并在接收到访问请求后,由该动态脚本即解析器依据标签解析规则从访问请求中解析出至少一个标签。其中,该动态脚本中包含标签解析规则。服务器侧接入设备接收到访问请求后,由上述动态脚本依据上述标签解析规则从访问请求中获取标签信息。
解析得到的标签信息可以包括资源信息或其他形式的对象信息。其中,资源可以是任意需要保护的对象,可以是一段代码、一个方法、一个接口、一系列接口的组合等。
其中,资源信息可以包括诸如请求访问索引、应用服务标识、服务节点标识、页面标识等等。其他形式的对象信息可以包括诸如用户标识、用户端主机信息、用户端的证书信息等等。
例如,访问请求目的是访问服务器的存储空间时,例如访问数据库中具体的表格,那么在访问请求中会包含请求访问索引(index),该请求访问索引会指向存储具体表格的信息。由于在很多场景下需要对访问具体表格的流量进行限流,可以将该请求访问索引作为标签解析出来。
再例如,访问请求要获取具体的应用服务(app),则在访问请求中会携带应用服务标识。由于在很多场景下需要对具体应用服务的访问进行限流,可以将该应用服务标识作为标签解析出来。
再例如,同一个应用服务可能会由多个服务节点(例如不同的服务器,或者不同的虚拟服务器节点)进行负载均衡或者就近等策略提供服务,这种情况下,访问请求中也可能会携带指示服务节点的信息即服务节点标识。需要说明的是,该服务节点标识不一定是在终端设备发送的原始的访问请求中携带,也可能是经过负载均衡设备或其他网络设备处理后添加至访问请求中。由于在很多场景下需要对具体服务节点的访问进行限流,可以将服务节点标识作为标签解析出来。
再例如,访问请求是由具体用户发送来的,在很多场景下需要针对具体用户的访问进行限流,例如依据不同级别用户、不同地区用户等进行限流,因此可以将用户标识作为标签解析出来。
除了上述几种可能较为常用的标签类型之外,还可以是其他类型的标签,在此不做一一列举。
下面结合实施例对上述步骤202即“将至少一个标签信息在限流对象配置文件中进行匹配”进行详细描述。
在本实施例中采用配置文件的形式预先定义限流对象,即限流对象配置文件中包括至少一个限流对象的信息,限流对象的信息包括预设标签或预设标签的组合。
如图3所示,例如,如果需要对请求访问索引index a进行限流,则在限流对象配置文件中配置限流对象信息为index a。例如,限流对象tag1,其key为index,value值为a。
如果后续需要增加对具体某个应用服务标识例如app b,仅需要在限流对象配置文件中增加配置限流对象信息app b。例如,限流对象tag2,其key为app,value值为b。
再例如,需要对访问请求访问索引index a上具体某个服务节点node c的资源进行限流,则在限流对象配置文件中配置限流对象为标签组合。例如,限流对象tag3,其key为index和node的组合,value值分别为c和a。
可以看出,后续需要增加、删除或修改限流对象时,仅需要对限流对象配置文件进行修改即可,无需进行代码级别的修改,实现更加灵活,成本也较低。
当在步骤201中从访问请求中解析出至少一个标签后,将该标签在限流对象配置文件中进行匹配,如果存在标签与限流对象配置文件中的限流对象信息一致,则认为匹配成功。例如,从访问请求中解析出app b、node d、user f等标签后,其中app b能够与限流对象配置文件中的限流对象tag2的key、value值一致,则认为匹配成功,需要对该访问请求进行限流,即执行步骤203。
再例如,如果从访问请求中解析出app g、node d、user f等标签后,没有一个标签能够与限流对象配置文件中的限流对象信息一致,则认为匹配失败,无需对该访问请求进行限流,即执行步骤204。
上述标签与限流对象信息匹配的方式可以是精确匹配、正则匹配、前后缀匹配等方式。除了上述情况之外,还有一些比较特殊的限流对象设置方式,例如需要对非app b之外的所有应用服务标识进行限流,则可以在限流对象配置文件中配置限流对象tag4,其value值为!app b。其中“!”符号表示“非”、“不等于”、“不包含”的含义。这种情况下,采用的匹配方式就可以为否定匹配,即匹配不等于app b的标签。
上述限流对象配置文件可以采用任意的配置文件格式,例如jason格式、xml格式等,只要能够进行流畅的序列化和反序列化处理即可。
下面结合实施例对上述步骤203即“从限流规则配置文件中查询所匹配到限流对象对应的限流规则,按照查询到的限流规则对访问请求进行限流处理”进行详细描述。
除了限流对象配置文件之外,还存在另一种配置文件即限流规则配置文件。限流规则配置文件包含的是针对限流对象设置的限流规则。具体的限流规则可以依据服务需求量、服务提供能力、服务策略等方面进行灵活设置。
例如,在某些时段服务需求量过大,则可以针对不同用户进行限流处理,限制级别较低用户的访问流量。
再例如,受限于服务器性能的影响,服务提供能力出现不足,则可以通过配置限流策略限制对目前性能较差服务器的访问流量。
再例如,根据一些经营、商业策略等,可以限制对特定请求访问索引的访问流量。
上述的限流规则可以包括诸如拒绝访问、分时段拒绝访问、以一定概率拒绝访问、依据队列状况拒绝访问等等。
例如,如果查询出限流对象对应的限流规则为拒绝访问,则丢弃该访问请求。
再例如,如果查询出限流对象对应的限流规则为分时段拒绝访问,则确定请求发送时间或当前时间是否落入拒绝访问的时段,如果是,则丢弃该访问请求,否则转发该访问请求。
再例如,如果查询出限流对象对应的限流规则为以一定概率拒绝访问,则依据概率确定是否拒绝该访问请求,如果是,则丢弃该访问请求;否则,转发该访问请求。
除了上述限流规则之外,还可以采用其他限流规则,本实施例在此不做穷举。
同样地,上述限流规则配置文件可以根据实际需求进行限流规则的增加、删除、修改等。
作为一种可实现的方式,对于上述限流对象配置文件和限流规则配置文件而言,若需要对限流对象信息或限流规则进行增加、删除或修改等处理,则用户可以通过客户端或浏览器向服务侧接入设备发送针对限流对象配置文件或限流规则配置文件的更新指令,由服务侧接入设备依据该更新指令在限流对象配置文件中增加、删除或修改限流对象信息,或者依据该更新指令在限流规则配置文件中增加、删除或修改限流规则。
为了方便对本申请上述实施例的理解,在此列举一个具体的应用场景:
搜索引擎服务的提供方在很大程度上提供了引流的角色,即将用户的访问流量引导至具体的应用服务,例如用户在搜索引擎上进行搜索后,可能通过搜索结果访问具体的第三方应用服务的页面。但搜索引擎服务的提供方并不了解各应用服务对限流的实际需求,有的应用服务对服务节点的访问量有限制,有的应用服务对请求访问索引的访问量有限制,有的应用服务则对某一功能服务的访问量有限制。因此,如果在搜索引擎服务侧接入设备通过静态代码的形式配置限流对象,则一旦改动限流对象就涉及到对代码的改动,时间成本和设计成本都是很高的。如果将所有可预期的资源组合都作为限流对象预先写入静态代码,则组合数量是极其庞大的。搜索引擎引流的资源是海量的,数以万计,其资源组合的数量是不可接受的,会造成数据量爆炸,影响搜索引擎服务侧接入设备的性能。
通过本申请实施例中提供的方式,仅需要预先设置标签解析逻辑即标签解析规则,将所有可能的资源或其他对象以标签形式预置于搜索引擎服务侧接入设备,可以以静态代码的形式,也可以以动态脚本的形式,而限流对象以配置文件的形式进行配置。
例如,当需要对app a进行限流时,在配置文件中配置限流对象app a。搜索引擎服务侧接入设备接收到访问请求后,对访问请求进行标签解析,假设解析出以下标签:app a、indexb、user c、node d……。
利用上述解析得到的标签分别到配置文件中进行匹配。其中app a能够匹配到限流对象,因此确定需要对该访问请求进行限流。进一步利用匹配得到的限流对象app a查询限流规则配置恩建,确定对应的限流规则。假设查询到的限流规则为在8点到10点之间拒绝访问,则看当前时间是否落入8点到10点,如果是,则拒绝该访问请求,否则可以继续转发该访问请求。
当需要对限流对象进行增加、删除或修改时,仅需要修改限流对象配置文件即可,例如在限流对象配置文件中增加限流对象appb,无需重写代码。
由于增加、修改、删除限流对象无需重写代码,仅需灵活配置限流对象配置文件,因此限流的应用场景也得到了极大的丰富,使得一套代码能够满足各异的服务场景需求。
另外,标签的预先配置相比较所有资源组合的配置而言,数量级大大减小,降低了对搜索引擎服务侧接入设备的性能影响。例如,存在1万个app资源,若采用现有技术的方式,需要资源组合的数量是2的万次方级别的,显然是不可接受的。但若采用本申请的标签配置方式,则仅需要配置访问请求中携带应用程序标识的位置即可,显然数量级是不可同日而语的。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
根据另一方面的实施例,提供了一种限流处理装置。图4示出根据一个实施例的限流处理装置的示意性框图,该装置设置于图1所示架构中的服务侧接入设备,可以为位于服务侧接入设备的应用,或者还可以为位于服务侧接入设备的应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,本申请实施例对此不进行特别限定。如图4所示,该装置400包括:解析单元401、匹配单元402和限流单元403,还可以进一步包括:转发单元404、第一配置单元405和第二配置单元406。其中各组成单元的主要功能如下:
解析单元401,被配置为利用预先设置的标签解析规则对访问请求进行解析,得到至少一个标签信息。
其中,预设的标签解析规则包括预设的标签解析规则。该标签解析规则可以体现为解码器对访问请求进行的具体解析逻辑,例如从访问请求的什么位置获取标签解析规则。
解析得到的标签可以包括资源信息或其他形式的对象信息。其中,资源可以是任意需要保护的对象,可以是一段代码、一个方法、一个接口、一系列接口的组合等。
其中,资源信息可以包括诸如请求访问索引、应用服务标识、服务节点标识、页面标识等等。其他形式的对象信息可以包括诸如用户标识、用户端主机信息、用户端的证书信息等等。
作为一种可实现的方式,该解析单元401可以体现为预先写入服务侧接入设备的静态代码,或者体现为传递并运行于服务侧接入设备的动态脚本。
匹配单元402,被配置为将至少一个标签信息在限流对象配置文件中进行匹配。
其中,限流对象配置文件包括至少一个限流对象的信息,限流对象的信息包括预设标签或预设标签的组合。
上述匹配单元402采用的匹配方式可以是精确匹配、正则匹配、前后缀匹配、否定匹配等方式。
限流单元403,被配置为如果匹配单元402匹配到限流对象,则从限流规则配置文件中查询匹配单元402匹配到的限流对象对应的限流规则,按照查询到的限流规则对访问请求进行限流处理。
限流规则配置文件包含的是针对限流对象设置的限流规则。具体的限流规则可以依据服务需求量、服务提供能力、服务策略等方面进行灵活设置。
转发单元404,被配置为如果匹配单元402未匹配到限流对象,则转发该访问请求。这样访问请求就能够正常到达目的设备,实现访问。
上述的限流规则可以包括诸如拒绝访问、分时段拒绝访问、以一定概率拒绝访问、依据队列状况拒绝访问等等。限流单元403依据限流规则确定出对访问请求进行丢弃处理的,丢弃访问请求。依据限流规则确定对访问请求进行继续转发的,由转发单元404将访问请求进行转发,使得访问请求正常到达目的设备。
作为一种可实现的方式,对于上述限流对象配置文件和限流规则配置文件而言,若需要对限流对象信息或限流规则进行增加、删除或修改等处理,则用户可以通过客户端或浏览器向服务侧接入设备发送针对限流对象配置文件或限流规则配置文件的更新指令。
第一配置单元405,被配置为获取对限流对象配置文件的更新指令;依据该更新指令,在限流对象配置文件中增加、删除或修改限流对象的信息。
第二配置单元406,被配置为获取对限流规则配置文件的更新指令;依据该更新指令,在限流规则配置文件中增加、删除或修改限流规则。
需要说明的是,本申请实施例中可能会涉及到对用户数据的使用,在实际应用中,可以在符合所在国的适用法律法规要求的情况下(例如,用户明确同意,对用户切实通知,等),在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。
另外,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述方法实施例中任一项所述的方法的步骤。
以及一种电子设备,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行前述方法实施例中任一项所述的方法的步骤。
其中,图5示例性的展示出了电子设备的架构,具体可以包括处理器510,视频显示适配器511,磁盘驱动器512,输入/输出接口513,网络接口514,以及存储器520。上述处理器510、视频显示适配器511、磁盘驱动器512、输入/输出接口513、网络接口514,与存储器520之间可以通过通信总线530进行通信连接。
其中,处理器510可以采用通用的CPU、微处理器、应用专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器520可以采用ROM(Read Only Memory,只读存储器)、RAM(RandomAccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器520可以存储用于控制电子设备500运行的操作系统521,用于控制电子设备500的低级别操作的基本输入输出系统(BIOS)522。另外,还可以存储网页浏览器523,数据存储管理系统524,以及限流处理装置525等等。上述限流处理装置525就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器520中,并由处理器510来调用执行。
输入/输出接口513用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
网络接口514用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线530包括一通路,在设备的各个组件(例如处理器510、视频显示适配器511、磁盘驱动器512、输入/输出接口513、网络接口514,与存储器520)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器510、视频显示适配器511、磁盘驱动器512、输入/输出接口513、网络接口514,存储器520,总线530等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本申请所提供的限流处理方法和限流处理装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.限流处理方法,该方法包括:
利用预先设置的标签解析规则对访问请求进行解析,得到至少一个标签信息;
将所述至少一个标签信息在限流对象配置文件中进行匹配,其中,所述限流对象配置文件包括至少一个限流对象的信息,所述限流对象的信息包括预设标签或预设标签的组合;
如果匹配到限流对象,则从限流规则配置文件中查询所匹配到限流对象对应的限流规则,按照查询到的限流规则对所述访问请求进行限流处理。
2.根据权利要求1所述的方法,该方法还包括:
若未匹配到限流对象,则转发所述访问请求。
3.根据权利要求1所述的方法,其中,所述标签包括请求访问索引、应用服务标识、服务节点标识、页面标识或用户标识。
4.根据权利要求1所述的方法,其中,所述利用预先设置的标签解析规则对访问请求进行解析的处理由预先写入服务侧接入设备的静态代码执行,或者,由传递并运行于所述服务侧接入设备的动态脚本执行。
5.根据权利要求1至4中任一项所述的方法,该方法还包括:
获取对所述限流对象配置文件的更新指令;
依据所述更新指令,在所述限流对象配置文件中增加、删除或修改限流对象的信息。
6.根据权利要求1至4中任一项所述的方法,该方法还包括:
获取对所述限流规则配置文件的更新指令;
依据所述更新指令,在所述限流规则配置文件中增加、删除或修改限流对象对应的限流规则的信息。
7.限流处理装置,该装置包括:
解析单元,被配置为利用预先设置的标签解析规则对访问请求进行解析,得到至少一个标签信息;
匹配单元,被配置为将所述至少一个标签信息在限流对象配置文件中进行匹配,其中,所述限流对象配置文件包括至少一个限流对象的信息,所述限流对象的信息包括预设标签或预设标签的组合;
限流单元,被配置为如果所述匹配单元匹配到限流对象,则从限流规则配置文件中查询所述匹配单元匹配到的限流对象对应的限流规则,按照查询到的限流规则对所述访问请求进行限流处理。
8.根据权利要求7所述的装置,还包括:
第一配置单元,被配置为获取对所述限流对象配置文件的更新指令;依据所述更新指令,在所述限流对象配置文件中增加、删除或修改限流对象的信息。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210087028.8A CN114553784A (zh) | 2022-01-25 | 2022-01-25 | 限流处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210087028.8A CN114553784A (zh) | 2022-01-25 | 2022-01-25 | 限流处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114553784A true CN114553784A (zh) | 2022-05-27 |
Family
ID=81670829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210087028.8A Pending CN114553784A (zh) | 2022-01-25 | 2022-01-25 | 限流处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114553784A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115037789A (zh) * | 2022-06-09 | 2022-09-09 | 中国工商银行股份有限公司 | 限流方法、装置、设备、存储介质和程序产品 |
CN115037799A (zh) * | 2022-06-01 | 2022-09-09 | 阿里巴巴(中国)有限公司 | 限流方法、装置、设备及介质 |
CN115118669A (zh) * | 2022-06-23 | 2022-09-27 | 中国民航信息网络股份有限公司 | 一种运价请求的限流方法及系统 |
CN115190177A (zh) * | 2022-07-29 | 2022-10-14 | 中国工商银行股份有限公司 | 请求处理方法、装置、计算机设备、存储介质和程序产品 |
CN115514713A (zh) * | 2022-09-16 | 2022-12-23 | 苏州浪潮智能科技有限公司 | 一种业务处理方法、系统、装置及可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050066617A (ko) * | 2003-12-26 | 2005-06-30 | 한국전자통신연구원 | 라우터에서의 트래픽 조절기의 파라미터 및 서비스 클래스정의 규칙 테이블의 동적 관리 방법 |
US20180314845A1 (en) * | 2017-04-26 | 2018-11-01 | International Business Machines Corporation | Environmental security controls to prevent unauthorized access to files, programs, and objects |
CN109376061A (zh) * | 2018-09-03 | 2019-02-22 | 杭州东方通信软件技术有限公司 | 一种信息处理方法及系统 |
CN109962860A (zh) * | 2017-12-22 | 2019-07-02 | 南京欣网互联网络科技有限公司 | 一种应用于电信运营商电子渠道的软件系统访问限流方法 |
CN110049017A (zh) * | 2019-03-22 | 2019-07-23 | 口碑(上海)信息技术有限公司 | 异构平台之间的消息互通装置及方法 |
CN111106948A (zh) * | 2019-10-28 | 2020-05-05 | 中国通信服务股份有限公司 | 基于配置的指令适配方法 |
CN112600801A (zh) * | 2020-12-03 | 2021-04-02 | 深圳奥哲网络科技有限公司 | 一种流量访问控制方法、设备及存储介质 |
CN113220723A (zh) * | 2021-04-27 | 2021-08-06 | 深圳市云网万店科技有限公司 | 一种流量控制方法、装置、计算机设备及存储介质 |
CN113220482A (zh) * | 2021-04-30 | 2021-08-06 | 北京达佳互联信息技术有限公司 | 调用请求处理方法、装置、电子设备及存储介质 |
US20220019684A1 (en) * | 2020-07-15 | 2022-01-20 | Jpmorgan Chase Bank, N.A. | Method and system for filtering database queries |
-
2022
- 2022-01-25 CN CN202210087028.8A patent/CN114553784A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050066617A (ko) * | 2003-12-26 | 2005-06-30 | 한국전자통신연구원 | 라우터에서의 트래픽 조절기의 파라미터 및 서비스 클래스정의 규칙 테이블의 동적 관리 방법 |
US20180314845A1 (en) * | 2017-04-26 | 2018-11-01 | International Business Machines Corporation | Environmental security controls to prevent unauthorized access to files, programs, and objects |
CN109962860A (zh) * | 2017-12-22 | 2019-07-02 | 南京欣网互联网络科技有限公司 | 一种应用于电信运营商电子渠道的软件系统访问限流方法 |
CN109376061A (zh) * | 2018-09-03 | 2019-02-22 | 杭州东方通信软件技术有限公司 | 一种信息处理方法及系统 |
CN110049017A (zh) * | 2019-03-22 | 2019-07-23 | 口碑(上海)信息技术有限公司 | 异构平台之间的消息互通装置及方法 |
CN111106948A (zh) * | 2019-10-28 | 2020-05-05 | 中国通信服务股份有限公司 | 基于配置的指令适配方法 |
US20220019684A1 (en) * | 2020-07-15 | 2022-01-20 | Jpmorgan Chase Bank, N.A. | Method and system for filtering database queries |
CN112600801A (zh) * | 2020-12-03 | 2021-04-02 | 深圳奥哲网络科技有限公司 | 一种流量访问控制方法、设备及存储介质 |
CN113220723A (zh) * | 2021-04-27 | 2021-08-06 | 深圳市云网万店科技有限公司 | 一种流量控制方法、装置、计算机设备及存储介质 |
CN113220482A (zh) * | 2021-04-30 | 2021-08-06 | 北京达佳互联信息技术有限公司 | 调用请求处理方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
王磊 等: "业务识别规则集中管理解决方案研究", 《邮电设计技术》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115037799A (zh) * | 2022-06-01 | 2022-09-09 | 阿里巴巴(中国)有限公司 | 限流方法、装置、设备及介质 |
CN115037799B (zh) * | 2022-06-01 | 2024-01-05 | 阿里巴巴(中国)有限公司 | 限流方法、装置、设备及介质 |
CN115037789A (zh) * | 2022-06-09 | 2022-09-09 | 中国工商银行股份有限公司 | 限流方法、装置、设备、存储介质和程序产品 |
CN115037789B (zh) * | 2022-06-09 | 2024-03-26 | 中国工商银行股份有限公司 | 限流方法、装置、设备、存储介质和程序产品 |
CN115118669A (zh) * | 2022-06-23 | 2022-09-27 | 中国民航信息网络股份有限公司 | 一种运价请求的限流方法及系统 |
CN115190177A (zh) * | 2022-07-29 | 2022-10-14 | 中国工商银行股份有限公司 | 请求处理方法、装置、计算机设备、存储介质和程序产品 |
CN115190177B (zh) * | 2022-07-29 | 2024-06-04 | 中国工商银行股份有限公司 | 请求处理方法、装置、计算机设备、存储介质和程序产品 |
CN115514713A (zh) * | 2022-09-16 | 2022-12-23 | 苏州浪潮智能科技有限公司 | 一种业务处理方法、系统、装置及可读存储介质 |
CN115514713B (zh) * | 2022-09-16 | 2023-07-25 | 苏州浪潮智能科技有限公司 | 一种业务处理方法、系统、装置及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114553784A (zh) | 限流处理方法及装置 | |
US8626786B2 (en) | Dynamic language checking | |
CN108427731B (zh) | 页面代码的处理方法、装置、终端设备及介质 | |
CN110119292B (zh) | 系统运行参数查询方法、匹配方法、装置及节点设备 | |
CN107797823B (zh) | 业务规则管理方法、装置、存储介质和计算机设备 | |
CN113360519B (zh) | 数据处理方法、装置、设备和存储介质 | |
CN110209700B (zh) | 一种数据流关联方法、装置、电子设备及存储介质 | |
JP2022031625A (ja) | 情報をプッシュするための方法および装置、電子機器、記憶媒体並びにコンピュータプログラム | |
CN110851136A (zh) | 数据获取方法、装置、电子设备及存储介质 | |
CN112269706A (zh) | 接口参数校验方法、装置、电子设备以及计算机可读介质 | |
CN110019444B (zh) | 一种操作请求处理方法、装置、设备及系统 | |
CN108959294B (zh) | 一种访问搜索引擎的方法和装置 | |
CN107633080B (zh) | 一种用户任务处理方法及装置 | |
CN113536177B (zh) | 一种页面跳转方法、装置、服务器和存储介质 | |
KR20210000041A (ko) | 로그 데이터의 실시간 분석 방법 및 그 장치 | |
CN113220949B (zh) | 一种隐私数据识别系统的构建方法及装置 | |
CN114374745A (zh) | 一种协议格式的处理方法及系统 | |
CN113312540A (zh) | 信息处理方法、装置、设备、系统及可读存储介质 | |
CN113691403A (zh) | 拓扑节点配置方法、相关装置及计算机程序产品 | |
CN113393288A (zh) | 订单处理信息生成方法、装置、设备和计算机可读介质 | |
CN116560665B (zh) | 数据生成和处理的方法和装置、信用卡营销规则引擎系统 | |
CN115309612B (zh) | 一种监控数据的方法和装置 | |
CN113765868B (zh) | 一种业务处理方法和装置 | |
CN116050375B (zh) | 政策文件相似度比较方法、装置、系统及电子设备 | |
CN115878659A (zh) | 一种生成sql语句的方法、装置、设备及可读存储介质 |
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 |