CN113285883A - 一种访问请求的限流方法及装置、电子设备、存储介质 - Google Patents
一种访问请求的限流方法及装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN113285883A CN113285883A CN202110572166.0A CN202110572166A CN113285883A CN 113285883 A CN113285883 A CN 113285883A CN 202110572166 A CN202110572166 A CN 202110572166A CN 113285883 A CN113285883 A CN 113285883A
- Authority
- CN
- China
- Prior art keywords
- current limiting
- request
- user
- limiting
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 230000015654 memory Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 6
- 239000003814 drug Substances 0.000 description 25
- 229940079593 drug Drugs 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005096 rolling process Methods 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/215—Flow control; Congestion control using token-bucket
-
- 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/22—Traffic shaping
- H04L47/225—Determination of shaping rate, e.g. using a moving window
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供一种访问请求的限流方法及装置、电子设备、存储介质,本申请的访问请求的限流方法包括:接收用户请求;根据用户请求携带的接口信息,获取接口信息对应配置的限流模式和限流参数;根据限流模式和限流参数,对用户请求的请求数量进行限制。本申请实施例提供的技术方案根据用户访问请求对应的接口信息,可实现单机限流和集群限流两种限流模式,根据不同的限流模式配置不同的限流参数,对不同用户的访问请求进行限流,由此做到集群化限流,降低用户访问请求时的大流量对底层服务的冲击。
Description
技术领域
本申请涉及信息处理技术领域,具体而言,涉及一种访问请求的限流方法及装置、电子设备、计算机可读存储介质。
背景技术
云计算作为一种计算模式,云服务平台为用户提供便捷查询同时,面临复杂的网络环境,随着搜索业务快速增长,瞬时大量的流量容易压垮服务和集群,由于云平台服务负载能力有限,当存在大量非预期请求时,业务应用系统可能因为压力过大而崩溃,需要在搜索平台上开发限流功能,通过接口限流装置来避免崩溃发生。
例如,针对平台上的所有接口配置单机限流和集群限流,保证每秒流量在一个可控的范围,通过平台化配置可随时增加,删除,调整限流参数;根据对每个接口的流量监控并于限流平台打通,自动化的调整限流参数,限制流量会造成业务方请求失败,将限流平台与报警结合,限流请求及时报警给业务方。
此外,还可通过预先为应用程序接口设置令牌桶,在令牌桶中设置令牌,拦截外部请求,判断令牌桶中是否存在令牌,如果是,则从令牌桶中任一取出一个令牌,并允许调用,否则不允许所述请求调用,避免程序崩溃。
上述限流方法主要采用令牌桶算法,实现复杂,无法动态采用其他更有限的算法;其次,限流方法主要针对单机限流,没有集群限流,无法控制流量对底层服务的冲击;再者,限流配置需要配置在服务里,每次修改配置需要重启服务,操作复杂。
发明内容
本申请实施例的目的在于提供一种访问请求的限流方法,用以避免用户业务请求量过大时,系统或程序崩溃。
本申请实施例第一方面提供了一种访问请求的限流方法,包括:
接收用户请求;
根据所述用户请求携带的接口信息,获取所述接口信息对应配置的限流模式和限流参数;
根据所述限流模式和限流参数,对所述用户请求的请求数量进行限制。
在一实施方式中,所述根据所述限流模式和限流参数,对所述用户请求的请求数量进行限制,包括:
当所述限流模式为单机限流,根据所述限流参数指示的时间窗口和限流阈值,在所述时间窗口内所述用户请求的请求数量未超过所述限流阈值时,返回所述用户请求对应的数据。
在一实施例中,所述接口信息包括访问地址,在所述时间窗口内所述用户请求的请求数量未超过所述限流阈值时,返回所述用户请求对应的数据,包括:
根据不同用户请求的访问地址,在所述时间窗口内同一访问地址的请求数量未超过所述限流阈值时,判断是否对所述用户请求携带的请求参数进行限流;
若无需对所述请求参数进行限流,返回所述用户请求对应的数据。
在一实施例中,判断是否对所述用户请求携带的请求参数进行限流,包括:
判断所述请求参数是否属于所述访问地址对应的热点参数;
若属于,判断所述请求参数的请求数量是否超过次数阈值,若没有超过,确定无需对所述请求参数进行限流。
在一实施例中,所述根据所述限流模式和限流参数,对所述用户请求的请求数量进行限制,包括:
当所述限流模式为单机限流,根据所述限流参数指示的时间窗口和限流阈值,在所述时间窗口内所述用户请求的请求数量超过所述限流阈值时,返回请求异常提示信息,并提示限制服务警告。
在一实施例中,所述根据所述限流模式和限流参数,对所述用户请求的请求数量进行限制,包括:
当所述限流模式为集群限流模式时,根据所述限流参数指示的接口数量和总体阈值,计算得到阈值平均值;
当所述用户请求的请求数量超过所述阈值平均值,返回请求异常提示信息,并提示限制服务警告。
在一实施例中,所述根据所述限流模式和限流参数,对所述用户请求的请求数量进行限制,包括:
当所述限流模式为集群限流模式时,根据所述限流参数指示的总体阈值,若访问不同接口的用户请求的总数量大于所述总体阈值,返回请求异常提示信息,并提示限制服务警告。
本申请实施例第二方面提供一种访问请求的限流装置,包括:
接收模块,用于接收用户请求;
获取模块,用于根据所述用户请求携带的接口信息,获取所述接口信息对应配置的限流模式和限流参数;
限制模块,用于根据所述限流模式和限流参数,对所述用户请求的请求数量进行限制。
本申请实施例第三方面提供一种电子设备,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行本申请实施例第一方面及其任一项实施例的访问请求的限流方法。
本申请实施例第四方面提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成上述所述的访问请求的限流方法。
本申请上述实施例提供的技术方案根据用户访问请求对应的接口信息,可实现单机限流和集群限流两种限流模式,根据不同的限流模式配置不同的限流参数,对不同用户的访问请求进行限流,由此做到集群化限流,降低用户访问请求时的大流量对底层服务的冲击。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请一实施例提供的电子设备的结构示意图;
图2为本申请一实施例提供的访问请求的限流方法的流程示意图;
图3为本申请一实施例提供的搜索接口申请平台的示意图;
图4为本申请一实施例提供的热点参数限流方法的技术架构图;
图5为本申请一实施例提供的限流模式的界面示意图;
图6为本申请一实施例提供的访问请求的限流方法的技术架构图;
图7为本申请一实施例提供的访问请求的限流装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,其为本申请一实施例提供的电子设备100的结构示意图。该电子设备100包括:一个或多个处理器120、一个或多个存储处理器120可执行指令的存储器104。其中,所述处理器120被配置为执行本申请下述实施例提供的访问请求的限流方法。
所述处理器120可以是网关,也可以为智能终端,或者是包含中央处理单元(CPU)、图像处理单元(GPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元的设备,可以对所述电子设备100中的其它组件的数据进行处理,还可以控制所述电子设备100中的其它组件以执行期望的功能。
所述存储器104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器120可以运行所述程序指令,以实现下文所述的访问请求的限流方法。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
在一实施例中,图1所示电子设备100还可以包括输入装置106、输出装置108以及数据采集装置110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备100也可以具有其他组件和结构。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。所述输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。所述数据采集装置110可以采集对象的图像,并且将所采集的图像存储在所述存储器104中以供其它组件使用。示例性地,该数据采集装置110可以为摄像头。
在一实施例中,用于实现本申请实施例的访问请求的限流方法的示例电子设备100中的各器件可以集成设置,也可以分散设置,诸如将处理器120、存储器104、输入装置106和输出装置108集成设置于一体,而将数据采集装置110分离设置。
在一实施例中,用于实现本申请实施例的访问请求的限流方法的示例电子设备100可以被实现为诸如计算机、服务器等终端。
请参照图2,其为本申请一实施例提供的访问请求的限流方法的流程示意图。如图2所示,该方法包括步骤S210-步骤S230。
步骤S210:接收用户请求。
用户请求是指用户请求使用某一系统资源时,系统资源为用户提供的相应的请求服务。其中,系统资源可以是某一网站或搜索平台等。例如,用户请求访问“药品名称”的网站,点击“药品名称”对应的网络地址,服务器接收用户请求访问“药品名称”的网站的请求,为用户提供相应的多个药品的名称信息数据。
步骤S220:根据所述用户请求携带的接口信息,获取所述接口信息对应配置的限流模式和限流参数。
请参照图3,其为本申请一实施例提供的搜索接口申请平台的示意图。图3中,接口是指为用户提供服务的对接业务方,接口信息包括访问地址。用户在后台为接口配置限流参数,限流参数包括:接口分组、接口名称、限流窗口、限流阈值、限流算法、热点参数等。
其中,限流阈值指在限流窗口内每个服务限流的阈值。
访问请求的限流算法有4种,分别为:漏桶算法、令牌桶算法、滑动时间窗口算法和计数器算法,其中,计数器算法会有临界问题,在访问请求较均匀的场景下可以使用,但效果不好;漏桶算法在瞬时访问大流量的情况下,有大部分请求会被丢弃,一般在瞬时流量不大的情况下可以使用;令牌桶算法和滑动时间窗口算法在大多数环境下都比较适用,本申请中,根据需要在后台配置令牌桶算法和滑动时间窗口算法。
热点参数是指用户请求访问某一地址对应的关键词、关键信息等。例如“药品名称”的网站对应的关键词有“药品生产时间”、“药品生产厂家”等。
若用户请求访问一台服务器,针对一台服务器对应的接口信息,配置的限流模式为单机限流模式,配置的限流参数也是针对单机限流模式下的限流参数,这里所述的配置是指对接口的限流参数配置,将配置的限流参数发送并保存到配置中心,配置中心是具有监听功能、实施感知变更的组件,例如Zookeeper、Nacos、Apollo等组件,所有搜索服务节点监听配置中心变更,拉取配置中心的配置,并将对应的限流参数保存到内存中,每个服务节点的限流参数配置相同。
若用户请求访问多台服务器,针对多台服务器对应的接口信息,配置的限流模式为集群限流模式,此时配置的限流参数也是针对集群限流模式下的限流参数,将配置的限流参数配置保存后,发送到配置中心,每个服务节点监控拉取配置到本地缓存中,再将配置推送到中心化组件中,中心化组件是具有响应快、并发安全,用于配置存放、读取的一个组件,例如redis中间件等。
步骤S230:根据所述限流模式和限流参数,对所述用户请求的请求数量进行限制。
在一实施例中,步骤S230中,所述根据所述限流模式和限流参数,对所述用户请求的请求数量进行限制,包括:
当所述限流模式为单机限流,根据所述限流参数指示的时间窗口和限流阈值,在所述时间窗口内所述用户请求的请求数量未超过所述限流阈值时,返回所述用户请求对应的数据。
如前所述,当限流模式为单机限流时,根据配置的限流参数指示的时间窗口和限流阈值,判断在时间窗口内,用户请求的请求数量是否超过配置的限流阈值,若用户请求的请求数量未超过限流阈值,返回用户请求对应的数据。
本实施例中,根据单机限流模式,对应配置的限流参数中的限流算法使用滑动时间窗口算法。时间窗口即滑动时间窗口,它将时间窗口划分为更小的时间片段,每过一个时间片段,时间窗口就会往右滑动一格,每个时间片段都有独立的计数器。在计算整个时间窗口内的请求总数时会累加所有的时间片段内的计数器。时间窗口划分的越细,那么滑动窗口的滚动就越平滑,限流的统计就会越精确。例如,假设每5s为一个时间窗口,每1s为一个时间片段,时间片段作为缓存的key,原子类计数器作为缓存的value。每秒发送随机数量的请求,计算每个时间片段的前5秒内的累加请求数量,超出阈值则限流。
例如,多个不同用户请求访问同一“药品名称”网站,在5s内多个用户多次同时点击“药品名称”网站,次数达到5000次,而后台配置的限流阈值是5s内点击次数上限为10000次,此时,多个用户请求访问“药品名称”网站的请求数量未超过限流阈值,多个用户可以同时点击进入“药品名称”网站,获取相应的服务数据,例如获取“药品名称分类”、“药品生产时间”、“药品生产厂家“等信息数据。
在一实施例中,步骤S230中,所述根据所述限流模式和限流参数,对所述用户请求的请求数量进行限制,包括:
当所述限流模式为单机限流,根据所述限流参数指示的时间窗口和限流阈值,在所述时间窗口内所述用户请求的请求数量超过所述限流阈值时,返回请求异常提示信息,并提示限制服务警告。
当多个不同用户请求访问同一“药品名称”网站,在5s内多个用户多次同时点击“药品名称”网站,次数达到20000次,多个用户请求访问“药品名称”网站的请求数量超过5s内点击次数上限10000次的限流阈值,超过限流阈值部分的用户请求会被提示限制服务警告,在用户界面给出请求异常提示信息。
请参照图4,其为本申请一实施例提供的热点参数限流方法的技术架构图。在一实施例中,所述接口信息包括访问地址,在所述时间窗口内所述用户请求的请求数量未超过所述限流阈值时,返回所述用户请求对应的数据,包括:
根据不同用户请求的访问地址,在所述时间窗口内同一访问地址的请求数量未超过所述限流阈值时,判断是否对所述用户请求携带的请求参数进行限流;
判断所述请求参数是否属于所述访问地址对应的热点参数;
若属于,判断所述请求参数的请求数量是否超过次数阈值,若没有超过,确定无需对所述请求参数进行限流;
若无需对所述请求参数进行限流,返回所述用户请求对应的数据。
如前所述,多个用户请求访问同一“药品名称”网站,在5s内多个用户多次同时点击“药品名称”网站,次数达到5000次,未超过限流阈值10000次,此时,多个用户可以同时点击进入“药品名称”网站,服务器后台会进行判断,是否对用户请求携带的请求参数进行限流,判断用户请求参数是否属于访问地址对应的热点参数,例如,不同用户请求获取“药品名称分类”、“药品生产时间”、“药品生产厂家“等关键词所代表的热点参数,在5s内不同用户多次点击“药品名称分类”,次数达到2000次,未超过配置的次数阈值5000次,因此,后台不需要对用户对“药品名称分类”的访问请求进行限制。
在一实施例中,步骤S230中,所述根据所述限流模式和限流参数,对所述用户请求的请求数量进行限制,包括:
当所述限流模式为集群限流模式时,根据所述限流参数指示的接口数量和总体阈值,计算得到阈值平均值;
当所述用户请求的请求数量超过所述阈值平均值,返回请求异常提示信息,并提示限制服务警告。
请参照图5,其为本申请一实施例提供的限流模式的界面示意图。当勾选是否集群时,表示配置的限流模式为集群限流模式,若不勾选,则为单机限流模式。选择集群限流模式,配置集群限流模式对应的限流参数(包括单机均摊和总体阈值两种限流模式),配置保存后,发送到配置中心,每个服务节点监控拉取配置到本地缓存中,接着将配置推送到中心化组件中去,例如redis中间件。
在单机均摊模式下,根据集群限流模式,配置对应的限流参数,根据限流参数指示的接口数量或服务节点数量,将配置的限流总体阈值平均分配到每个接口数量或服务节点数量上,得到阈值平均值,在用户请求时,对用户请求的接口数量与分摊的阈值平均值进行比较,若用户请求的请求数量超过阈值平均值,超过限流阈值平均值部分的用户请求会被提示限制服务警告,在用户界面给出请求异常提示信息。
例如,10台服务器作为一个集群,对应的接口数量为10,配置的限流总体阈值为点击次数阈值100000次,则每台服务器分摊的限流阈值平均值则为10000次,当不同用户在同一台服务器上请求访问的请求数量为20000次时,提示限制服务警告,访问请求被限制。若不同用户在同一台服务器上请求访问的请求数量为5000次时,用户的访问请求将不会被限制。
在一实施例中,步骤S230中,所述根据所述限流模式和限流参数,对所述用户请求的请求数量进行限制,包括:
当所述限流模式为集群限流模式时,根据所述限流参数指示的总体阈值,若访问不同接口的用户请求的总数量大于所述总体阈值,返回请求异常提示信息,并提示限制服务警告。
在总体阈值模式下,根据集群限流模式,配置对应的限流参数,根据限流参数配置多台服务器对应接口的总体阈值。例如,10台服务器作为一个集群,对应的接口数量为10,为每台服务器对应的接口配置对应的限流阈值,每台服务器对应接口配置的限流阈值可以不相同,但要保证10台服务器对应接口配置的限流总体阈值为100000次。当不同用户访问10台不同服务器接口的请求总数量为200000次,超过限流总体阈值,提示限制服务警告,访问请求被限制。若不同用户在10台服务器上请求访问的请求数量为9000次时,用户的访问请求将不会被限制。
本实施例中,可以将总体阈值比作令牌桶,当不同用户请求访问时,每个请求到redis中间件中获取一个令牌桶,并且令牌数减1,当不同接口的用户获取了所有的令牌后,即超过了令牌桶中令牌的个数,因此后续的请求则配被限制。令牌桶算法为现有技术中常用的限流算法,在此不再赘述。
请参照图6,其本申请一实施例提供的访问请求的限流方法的技术架构图。用户请求访问某一地址,根据用户访问请求的接口信息,选择单机限流模式或是集群限流模式。当限流模式为单机限流时,将配置的限流参数发送并保存到配置中心,例如Zookeeper组件。根据配置的限流参数指示的时间窗口和限流阈值,判断在时间窗口内,用户请求的请求数量是否超过配置的限流阈值,若用户请求的请求数量未超过限流阈值,判断请求参数是否属于访问地址对应的热点参数;若属于,判断请求参数的请求数量是否超过次数阈值,若没有超过,确定无需对所述请求参数进行限流,返回用户请求对应的数据;若用户请求的请求数量超过限流阈值时,返回请求异常提示信息,并提示限制服务警告。
当限流模式为集群限流模式时,配置集群限流模式对应的限流参数(包括单机均摊和总体阈值两种限流模式),配置保存后,发送到配置中心,每个服务节点监控拉取配置到本地缓存中,接着将配置推送到中心化组件中去,例如redis中间件。单机均摊和总体阈值两种限流模式在前文中已经详细描述,在此不再赘述。
通过采用redis中间件,将限流参数配置放到中心化组件中,做到集群化限流,降低用户访问请求时的大流量对底层服务的冲击。开发的限流后台,可为每个接口配置对应的限流参数,并通过配置中心实时推送限流参数,实时生效,操作简单对服务无影响。
请参照图7,其为本申请一实施例提供的访问请求的限流装置的结构示意图。该装置包括:接收模块200、获取模块300、限制模块400。
接收模块200,用于接收用户请求;
获取模块300,用于根据所述用户请求携带的接口信息,获取所述接口信息对应配置的限流模式和限流参数;
限制模块400,用于根据所述限流模式和限流参数,对所述用户请求的请求数量进行限制。
上述装置中各个模块的功能和作用的实现过程具体详见上述访问请求的限流方法中对应步骤的实现过程,在此不再赘述。
在本申请所提供的几个实施例中,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种访问请求的限流方法,其特征在于,包括:
接收用户请求;
根据所述用户请求携带的接口信息,获取所述接口信息对应配置的限流模式和限流参数;
根据所述限流模式和限流参数,对所述用户请求的请求数量进行限制。
2.根据权利要求1所述的方法,其特征在于,所述根据所述限流模式和限流参数,对所述用户请求的请求数量进行限制,包括:
当所述限流模式为单机限流,根据所述限流参数指示的时间窗口和限流阈值,在所述时间窗口内所述用户请求的请求数量未超过所述限流阈值时,返回所述用户请求对应的数据。
3.根据权利要求2所述的方法,其特征在于,所述接口信息包括访问地址,在所述时间窗口内所述用户请求的请求数量未超过所述限流阈值时,返回所述用户请求对应的数据,包括:
根据不同用户请求的访问地址,在所述时间窗口内同一访问地址的请求数量未超过所述限流阈值时,判断是否对所述用户请求携带的请求参数进行限流;
若无需对所述请求参数进行限流,返回所述用户请求对应的数据。
4.根据权利要求3所述的方法,其特征在于,判断是否对所述用户请求携带的请求参数进行限流,包括:
判断所述请求参数是否属于所述访问地址对应的热点参数;
若属于,判断所述请求参数的请求数量是否超过次数阈值,若没有超过,确定无需对所述请求参数进行限流。
5.根据权利要求1所述的方法,其特征在于,所述根据所述限流模式和限流参数,对所述用户请求的请求数量进行限制,包括:
当所述限流模式为单机限流,根据所述限流参数指示的时间窗口和限流阈值,在所述时间窗口内所述用户请求的请求数量超过所述限流阈值时,返回请求异常提示信息,并提示限制服务警告。
6.根据权利要求1所述的方法,其特征在于,所述根据所述限流模式和限流参数,对所述用户请求的请求数量进行限制,包括:
当所述限流模式为集群限流模式时,根据所述限流参数指示的接口数量和总体阈值,计算得到阈值平均值;
当所述用户请求的请求数量超过所述阈值平均值,返回请求异常提示信息,并提示限制服务警告。
7.根据权利要求1所述的方法,其特征在于,所述根据所述限流模式和限流参数,对所述用户请求的请求数量进行限制,包括:
当所述限流模式为集群限流模式时,根据所述限流参数指示的总体阈值,若访问不同接口的用户请求的总数量大于所述总体阈值,返回请求异常提示信息,并提示限制服务警告。
8.一种访问请求的限流装置,其特征在于,包括:
接收模块,用于接收用户请求;
获取模块,用于根据所述用户请求携带的接口信息,获取所述接口信息对应配置的限流模式和限流参数;
限制模块,用于根据所述限流模式和限流参数,对所述用户请求的请求数量进行限制。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-7任意一项所述的访问请求的限流方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成权利要求1-7任意一项所述的访问请求的限流方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110572166.0A CN113285883A (zh) | 2021-05-25 | 2021-05-25 | 一种访问请求的限流方法及装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110572166.0A CN113285883A (zh) | 2021-05-25 | 2021-05-25 | 一种访问请求的限流方法及装置、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113285883A true CN113285883A (zh) | 2021-08-20 |
Family
ID=77281464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110572166.0A Pending CN113285883A (zh) | 2021-05-25 | 2021-05-25 | 一种访问请求的限流方法及装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113285883A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113726683A (zh) * | 2021-09-09 | 2021-11-30 | 海尔数字科技(青岛)有限公司 | 访问限流方法、装置、设备、存储介质及计算机程序产品 |
CN113923216A (zh) * | 2021-09-29 | 2022-01-11 | 阿里巴巴(中国)有限公司 | 一种分布式集群限流系统及方法和分布式集群节点 |
CN114095241A (zh) * | 2021-11-18 | 2022-02-25 | 中国电信股份有限公司 | 检测方法、装置及计算机可读存储介质 |
CN114143263A (zh) * | 2021-11-23 | 2022-03-04 | 浪潮通用软件有限公司 | 一种对用户请求进行限流的方法、设备及介质 |
CN114257550A (zh) * | 2021-12-31 | 2022-03-29 | 广州零世纪信息科技有限公司 | 接口访问流量的自动控制方法、装置、存储介质及服务器 |
CN114513461A (zh) * | 2022-02-11 | 2022-05-17 | 联仁健康医疗大数据科技股份有限公司 | 限流方法、装置、电子设备及存储介质 |
CN114745338A (zh) * | 2022-03-30 | 2022-07-12 | Oppo广东移动通信有限公司 | 流量控制方法、装置、存储介质以及服务器 |
CN114760250A (zh) * | 2022-03-18 | 2022-07-15 | 福建天晴数码有限公司 | 一种服务网关通过分层限流保障高可用的方案及系统 |
CN115002043A (zh) * | 2022-05-30 | 2022-09-02 | 重庆长安汽车股份有限公司 | 一种基于注册中心的分布式限流方法、设备及存储介质 |
CN115118785A (zh) * | 2022-08-29 | 2022-09-27 | 太平金融科技服务(上海)有限公司深圳分公司 | 服务器资源保护方法、装置、设备、介质和程序产品 |
CN115225579A (zh) * | 2022-06-09 | 2022-10-21 | 深圳金融电子结算中心有限公司 | 流量限制方法、系统、应用服务器及可读存储介质 |
CN115242718A (zh) * | 2022-06-21 | 2022-10-25 | 平安科技(深圳)有限公司 | 集群限流方法、装置、设备及介质 |
CN115442307A (zh) * | 2022-07-27 | 2022-12-06 | 交通银行股份有限公司 | 基于分布式key的限流方法、系统和计算机可读存储介质 |
CN116032597A (zh) * | 2022-12-26 | 2023-04-28 | 山东有人物联网股份有限公司 | 平台接口流量控制方法、装置、电子设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100192201A1 (en) * | 2009-01-29 | 2010-07-29 | Breach Security, Inc. | Method and Apparatus for Excessive Access Rate Detection |
CN110858843A (zh) * | 2018-08-22 | 2020-03-03 | 重庆小雨点小额贷款有限公司 | 业务请求处理方法、装置及计算机可读存储介质 |
CN112667467A (zh) * | 2020-12-23 | 2021-04-16 | 平安普惠企业管理有限公司 | 集群的自适应限流方法、装置、计算机设备及存储介质 |
-
2021
- 2021-05-25 CN CN202110572166.0A patent/CN113285883A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100192201A1 (en) * | 2009-01-29 | 2010-07-29 | Breach Security, Inc. | Method and Apparatus for Excessive Access Rate Detection |
CN110858843A (zh) * | 2018-08-22 | 2020-03-03 | 重庆小雨点小额贷款有限公司 | 业务请求处理方法、装置及计算机可读存储介质 |
CN112667467A (zh) * | 2020-12-23 | 2021-04-16 | 平安普惠企业管理有限公司 | 集群的自适应限流方法、装置、计算机设备及存储介质 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113726683A (zh) * | 2021-09-09 | 2021-11-30 | 海尔数字科技(青岛)有限公司 | 访问限流方法、装置、设备、存储介质及计算机程序产品 |
CN113726683B (zh) * | 2021-09-09 | 2023-08-15 | 海尔数字科技(青岛)有限公司 | 访问限流方法、装置、设备、存储介质及计算机程序产品 |
CN113923216A (zh) * | 2021-09-29 | 2022-01-11 | 阿里巴巴(中国)有限公司 | 一种分布式集群限流系统及方法和分布式集群节点 |
CN113923216B (zh) * | 2021-09-29 | 2023-12-15 | 阿里巴巴(中国)有限公司 | 一种分布式集群限流系统及方法和分布式集群节点 |
CN114095241A (zh) * | 2021-11-18 | 2022-02-25 | 中国电信股份有限公司 | 检测方法、装置及计算机可读存储介质 |
CN114143263B (zh) * | 2021-11-23 | 2023-06-20 | 浪潮通用软件有限公司 | 一种对用户请求进行限流的方法、设备及介质 |
CN114143263A (zh) * | 2021-11-23 | 2022-03-04 | 浪潮通用软件有限公司 | 一种对用户请求进行限流的方法、设备及介质 |
CN114257550A (zh) * | 2021-12-31 | 2022-03-29 | 广州零世纪信息科技有限公司 | 接口访问流量的自动控制方法、装置、存储介质及服务器 |
CN114257550B (zh) * | 2021-12-31 | 2024-01-30 | 广州零世纪信息科技有限公司 | 接口访问流量的自动控制方法、装置、存储介质及服务器 |
CN114513461A (zh) * | 2022-02-11 | 2022-05-17 | 联仁健康医疗大数据科技股份有限公司 | 限流方法、装置、电子设备及存储介质 |
CN114760250B (zh) * | 2022-03-18 | 2023-11-03 | 福建天晴数码有限公司 | 一种服务网关通过分层限流保障高可用的方案及系统 |
CN114760250A (zh) * | 2022-03-18 | 2022-07-15 | 福建天晴数码有限公司 | 一种服务网关通过分层限流保障高可用的方案及系统 |
CN114745338A (zh) * | 2022-03-30 | 2022-07-12 | Oppo广东移动通信有限公司 | 流量控制方法、装置、存储介质以及服务器 |
CN115002043A (zh) * | 2022-05-30 | 2022-09-02 | 重庆长安汽车股份有限公司 | 一种基于注册中心的分布式限流方法、设备及存储介质 |
CN115225579A (zh) * | 2022-06-09 | 2022-10-21 | 深圳金融电子结算中心有限公司 | 流量限制方法、系统、应用服务器及可读存储介质 |
CN115242718A (zh) * | 2022-06-21 | 2022-10-25 | 平安科技(深圳)有限公司 | 集群限流方法、装置、设备及介质 |
CN115242718B (zh) * | 2022-06-21 | 2024-01-30 | 平安科技(深圳)有限公司 | 集群限流方法、装置、设备及介质 |
CN115442307A (zh) * | 2022-07-27 | 2022-12-06 | 交通银行股份有限公司 | 基于分布式key的限流方法、系统和计算机可读存储介质 |
CN115118785A (zh) * | 2022-08-29 | 2022-09-27 | 太平金融科技服务(上海)有限公司深圳分公司 | 服务器资源保护方法、装置、设备、介质和程序产品 |
CN116032597A (zh) * | 2022-12-26 | 2023-04-28 | 山东有人物联网股份有限公司 | 平台接口流量控制方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113285883A (zh) | 一种访问请求的限流方法及装置、电子设备、存储介质 | |
US10783267B2 (en) | Centralized throttling service | |
US11734271B2 (en) | Data query method, apparatus and device | |
US9553781B2 (en) | Service level agreement based storage access | |
CN113343088A (zh) | 数据处理方法、系统、装置、设备及存储介质 | |
CN112165436A (zh) | 流量控制方法、装置及系统 | |
CN113094378A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN113282392A (zh) | 接口服务的调用方法、装置、电子设备及存储介质 | |
US11683391B2 (en) | Predicting microservices required for incoming requests | |
US10579676B2 (en) | Highly scalable fine grained rate limiting | |
CN112948223A (zh) | 一种监测运行情况的方法和装置 | |
US10601954B2 (en) | Sandboxing requests for web services | |
US11243979B1 (en) | Asynchronous propagation of database events | |
WO2023093194A1 (zh) | 一种云监控方法和云管理平台 | |
US10523712B1 (en) | Stochastic quantile estimation | |
WO2022134806A1 (zh) | 热点key的确定方法、装置、设备及存储介质 | |
CN116781568A (zh) | 数据监控告警方法、装置、设备及存储介质 | |
TW202321949A (zh) | 網頁訪問限流方法、裝置及電腦可讀存儲介質 | |
US11550692B2 (en) | Integrated event processing and policy enforcement | |
CN113138772B (zh) | 数据处理平台的构建方法、装置、电子设备和存储介质 | |
CN107295074A (zh) | 一种实现云资源显示的方法和装置 | |
CN114124757A (zh) | 参数调整方法、装置、相关设备及存储介质 | |
CN113609168A (zh) | 数据导出方法、装置、终端以及可读存储介质 | |
WO2019089401A1 (en) | Dynamic governance of exposing inquiries and notifications at client devices | |
CN111767137B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210820 |
|
RJ01 | Rejection of invention patent application after publication |