CN114143263B - 一种对用户请求进行限流的方法、设备及介质 - Google Patents

一种对用户请求进行限流的方法、设备及介质 Download PDF

Info

Publication number
CN114143263B
CN114143263B CN202111395989.7A CN202111395989A CN114143263B CN 114143263 B CN114143263 B CN 114143263B CN 202111395989 A CN202111395989 A CN 202111395989A CN 114143263 B CN114143263 B CN 114143263B
Authority
CN
China
Prior art keywords
current limiting
request
comparison result
call data
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.)
Active
Application number
CN202111395989.7A
Other languages
English (en)
Other versions
CN114143263A (zh
Inventor
张世旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur General Software Co Ltd
Original Assignee
Inspur General Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur General Software Co Ltd filed Critical Inspur General Software Co Ltd
Priority to CN202111395989.7A priority Critical patent/CN114143263B/zh
Publication of CN114143263A publication Critical patent/CN114143263A/zh
Application granted granted Critical
Publication of CN114143263B publication Critical patent/CN114143263B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请实施例公开了一种对用户请求进行限流的方法、设备及介质。获取用户发送的请求调用数据,并基于所述请求调用数据生成相应的请求报告;获取所述请求报告中的请求特征信息,并基于预置特征信息,对所述请求报告进行分类;获取不同类别的请求报告分别在第一时间段内所对应的请求调用次数,并将所述请求调用次数与限流阈值次数进行比对,得到比对结果;确定所述不同类别的请求报告在第二时间段内分别对应的多个比对结果,根据预设限流策略以及所述多个比对结果,对当前请求调用数据进行限流处理;其中,所述第二时间段由多个所述第一时间段组成。通过上述方法使得服务器得到合理的利用。

Description

一种对用户请求进行限流的方法、设备及介质
技术领域
本申请涉及网络通信技术领域,尤其涉及一种对用户请求进行限流的方法、设备及介质。
背景技术
随着互联网的高速发展,服务器的压力也是与日俱增,为保持服务器的可用性和稳定性,需要对进入服务器的请求进行限制,防止因流量暴增而导致的服务器运行缓慢或宕机。
目前互联网公司大部分都会使用多种限流方式,对nginx层,网关层,应用层等进行过滤。实现方式通常都是需要去设定固定的最大阀值或者固定某个速率,超过则开始限流。
但不同的请求数据其对应的特征数据是多维度的,只根据固定的最大阈值或者固定速率的方式对所有请求数据进行限流的方式,会导致服务器不能被充分利用或者导致服务器过载,使得服务器得不到合理的利用。
发明内容
本申请实施例提供了一种对用户请求进行限流的方法、设备及介质,用于解决如下技术问题:现有根据固定的最大阈值或者固定速率的方式对所有请求数据进行限流的方式,会导致服务器不能被充分利用或者导致服务器过载,使得服务器得不到合理的利用。
本申请实施例采用下述技术方案:
本申请实施例提供一种对用户请求进行限流的方法。包括,获取用户发送的请求调用数据,并基于请求调用数据生成相应的请求报告;获取请求报告中的请求特征信息,并基于预置特征信息,对请求报告进行分类;获取不同类别的请求报告分别在第一时间段内所对应的请求调用次数,并将请求调用次数与限流阈值次数进行比对,得到比对结果;确定不同类别的请求报告在第二时间段内分别对应的多个比对结果,根据预设限流策略以及多个比对结果,对当前请求调用数据进行限流处理;其中,第二时间段由多个第一时间段组成。
本申请实施例通过获取不同类别的请求报告分别在第一时间段内所对应的请求调用次数,并将请求调用次数与限流阈值次数进行比对。能够确定请求调用次数的瞬时峰值是否到达预设值,从而对短时间内的数据调用情况进行分析。其次,根据预设限流策略以及多个比对结果,对当前请求调用数据进行限流处理。不仅能够基于请求报告的特征进行不同的限流策略,使得限流效果更佳显著,也能够保证业务系统API的调用频次在正常范围内,保证互联网业务系统不会因为过多的异常请求调用,而导致服务器资源耗尽或者影响系统稳定性。
在本申请的一种实现方式中,根据预设限流策略以及多个比对结果,对当前请求调用数据进行限流处理,具体包括:根据比对结果,确定第二时间段内各类别的请求报告对应的第一比对结果数量;其中,第一比对结果为请求调用次数大于或等于限流阈值次数的结果;以及确定第二时间段内各类别的请求报告对应的第二比对结果数量;其中,第二比对结果为请求调用次数小于限流阈值次数的结果;基于第一比对结果数量、第二比对结果数量以及预设限流策略,对当前请求调用数据进行限流处理;其中,预设限流策略包括一票限流策略、全票限流策略以及加权平均值限流策略。
在本申请的一种实现方式中,基于第一比对结果数量、第二比对结果数量以及预设限流策略,对当前请求调用数据进行限流处理,具体包括:在预设限流策略为一票限流策略时,基于第一比对结果数量,对当前请求调用数据进行限流处理;或在预设限流策略为全票限流策略时,基于第二比对结果数量,对当前请求调用数据进行限流处理;或在预设限流策略为加权平均值限流策略时,基于预设限流条件权重值、第一比对结果数量与第二比对结果数量,对当前请求调用数据进行限流处理。
在本申请的一种实现方式中,在预设限流策略为一票限流策略时,基于第一比对结果数量,对当前请求调用数据进行限流处理,具体包括:在预设限流策略为一票限流策略时,确定不同类别的请求报告分别对应的第一比对结果数量;在第一比对结数量大于或等于一的情况下,对当前请求调用数据进行限流处理。
本申请实施例通过在第一比对结数量大于或等于一的情况下,对当前请求调用数据进行限流处理。考虑到对于请求数量较为敏感的系统,需要及时做限流处理,以确保系统的稳定运行。
在本申请的一种实现方式中,在预设限流策略为全票限流策略时,基于第二比对结果数量,对当前请求调用数据进行限流处理,具体包括:在预设限流策略为全票限流策略时,确定不同类别的请求报告分别对应的第二比对结果数量;在第二比对结数量为零的情况下,对当前请求调用数据进行限流处理。
本申请实施例通过在第二比对结数量为零的情况下,对当前请求调用数据进行限流处理。考虑到对请求数量相对不敏感的系统,能够接收较大数量的请求数据,从而使得服务器达到较大的利用率,确保工作效率。
在本申请的一种实现方式中,在预设限流策略为加权平均值限流策略时,基于预设限流条件权重值、第一比对结果数量与第二比对结果数量,对当前请求调用数据进行限流处理,具体包括:在预设限流策略为加权平均值限流策略时,确定不同类别的请求报告分别对应的第一比对结果数量,以及第二比对结果数量;基于预设限流条件权重值、第一比对结果数量与第二比对结果数量,得到加权平均值;将加权平均值与预设限流加权平均值进行比对,以通过比对结果对当前请求调用数据进行限流处理。
本申请实施例通过预设限流条件权重值计算加权平均值,根据加权平均值对当前系统是否进行限流处理进行计算。并将加权平均值与预设阈值进行比对,在不超过高预设阈值的情况下,能够继续接收请求数据,从而最大限度的确保服务器的工作量。另一方面在计算的加权平均值超过预设阈值的情况下,对当前请求做限流处理,从而及时限制服务器对请求数据的接收,确保服务器的稳定运行。
在本申请的一种实现方式中,获取请求报告中的请求特征信息之后,方法还包括:对特征信息,与请求报告对应的源请求建立反向索引,以通过反向索引将特征信息与源请求进行关联;在任一请求报告对应的请求调用数据被进行限流处理时,通过反向索引确定任一请求报告中的请求特征信息所对应的数据源,以对数据源进行限流处理。
在本申请的一种实现方式中,对不同类别的请求报告分别对应的请求调用数据进行限流处理之后,方法还包括:获取接收到请求调用数据的接收时间;确定当前时间与接收时间之间的已接收时长;若已接收时长大于预设时长时,对请求调用数据进行归档保存处理;若时长大于第二预设时长时,对请求调用数据进行删除处理。
本申请实施例提供一种对用户请求进行限流的设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够:获取用户发送的请求调用数据,并基于请求调用数据生成相应的请求报告;获取请求报告中的请求特征信息,并基于预置特征信息,对请求报告进行分类;获取不同类别的请求报告分别在第一时间段内所对应的请求调用次数,并将请求调用次数与限流阈值次数进行比对,得到比对结果;确定不同类别的请求报告在第二时间段内分别对应的多个比对结果,根据预设限流策略以及多个比对结果,对当前请求调用数据进行限流处理;其中,第二时间段由多个第一时间段组成。
本申请实施例提供的一种非易失性计算机存储介质,存储有计算机可执行指令,计算机可执行指令设置为:获取用户发送的请求调用数据,并基于请求调用数据生成相应的请求报告;获取请求报告中的请求特征信息,并基于预置特征信息,对请求报告进行分类;获取不同类别的请求报告分别在第一时间段内所对应的请求调用次数,并将请求调用次数与限流阈值次数进行比对,得到比对结果;确定不同类别的请求报告在第二时间段内分别对应的多个比对结果,根据预设限流策略以及多个比对结果,对当前请求调用数据进行限流处理;其中,第二时间段由多个第一时间段组成。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:本申请实施例通过获取不同类别的请求报告分别在第一时间段内所对应的请求调用次数,并将请求调用次数与限流阈值次数进行比对。能够确定请求调用次数的瞬时峰值是否到达预设值,从而对短时间内的数据调用情况进行分析。其次,根据预设限流策略以及多个比对结果,对当前请求调用数据进行限流处理。不仅能够基于请求报告的特征进行不同的限流策略,使得限流效果更佳显著,也能够保证业务系统API的调用频次在正常范围内,保证互联网业务系统不会因为过多的异常请求调用,而导致服务器资源耗尽或者影响系统稳定性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附
图中:
图1为本申请实施例提供的一种对用户请求进行限流的方法流程图;
图2为本申请实施例提供的一种对用户请求进行限流的流程框图;
图3为本申请实施例提供的一种对用户请求进行限流设备结构示意图。
具体实施方式
本申请实施例提供一种对用户请求进行限流的方法、设备及介质。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
随着互联网的高速发展,服务器的压力也是与日俱增,为保持服务器的可用性和稳定性,需要对进入服务器的请求进行限制,防止因流量暴增而导致的服务器运行缓慢或宕机。
目前互联网公司大部分都会使用多种限流方式,对nginx层,网关层,应用层进行过滤。实现方式上大部分情况下都是需要去设定固定的最大阀值或者固定某个速率,超过则开始限流。
但不同的请求数据其对应的特征数据是多维度的,只根据固定的最大阈值或者固定速率的方式对所有请求数据进行限流的方式,会导致服务器不能被充分利用或者导致服务器过载,使得服务器得不到合理的利用。
为了解决上述问题,本申请实施例提供一种对用户请求进行限流的方法、设备及介质。通过获取不同类别的请求报告分别在第一时间段内所对应的请求调用次数,并将请求调用次数与限流阈值次数进行比对。能够确定请求调用次数的瞬时峰值是否到达预设值,从而对短时间内的数据调用情况进行分析。其次,根据预设限流策略以及多个比对结果,对当前请求调用数据进行限流处理。不仅能够基于请求报告的特征进行不同的限流策略,使得限流效果更佳显著,也能够保证业务系统API的调用频次在正常范围内,保证互联网业务系统不会因为过多的异常请求调用,而导致服务器资源耗尽或者影响系统稳定性。
下面通过附图对本申请实施例提出的技术方案进行详细的说明。
图1为本申请实施例提供的一种对用户请求进行限流的方法流程图。如图1所示,对用户请求进行限流的方法包括如下步骤:
S101、对用户请求进行限流设备获取用户发送的请求调用数据,并基于所述请求调用数据生成相应的请求报告。
在本申请的一个实施例中,对用户请求进行限流设备中的请求限流收集器,通过与网关等组件获取到所有的请求调用记录。并根据相关的请求特征对请求进行存储和反向索引,方便后续的查询。
具体地,请求限流收集器从服务网关获取请求数据,并识别请求特征。其中,请求特征可以包括,请求发送的用户代理UserAgent,如浏览器版本、操作系统版本信息;请求发送的IP地址;请求发送代表的用户身份,如回话Cookie、令牌Token等;请求业务,如密码认证、短信发送、下单等;请求执行的结果,如成功或者失败;请求时间。
在本申请的一个实施例中,通过对用户请求进行限流设备中的请求限流报告生成器。定期对收集到的请求调用数据生成调用报告。
具体地,基于获取到的请求数据,确定其请求数据中的特征信息,并根据特征信息将请求调用数据生成相应的调用报告。其中,特征信息至少可以为请求发送的用户代理UserAgent、请求发送的IP地址、请求发送代表的用户身份、请求业务、请求执行的结果以及请求时间中的一项或多项。
进一步地,识别到请求特征后,请求限流收集器需要对相关特征信息做持久化保存。持久化保存可以方便通过建立的反向索引查找对应的请求记录,以及支持动态数据存储和解析,应对动态的请求特征维护和新的请求特征扩展。
在本申请的一个实施例中,对特征信息与请求报告对应的源请求建立反向索引,以通过反向索引将特征信息与源请求进行关联。在任一请求报告对应的请求调用数据被进行限流处理时,通过反向索引确定任一请求报告中的请求特征信息所对应的数据源,以对数据源进行限流处理。
具体地,通过请求特征建立反向索引关联到源请求,方便以此特征找到对应的请求记录。例如,若来自某个IP地址的请求数据数量大于设于阈值,则可以通过反向索引,通过接收到的数据特征反向查找到该数据对应的IP地址,从而可以对该IP地址的数据进行限流。
进一步地,识别到请求特征后,请求限流收集器需要对相关特征信息做持久化保存。并支持对老旧数据的过期清理,防止数据不断增长导致的存储空间耗尽。
S102、对用户请求进行限流设备获取所述请求报告中的请求特征信息,并基于预置特征信息,对所述请求报告进行分类。
在本申请的一个实施例中,基于生成的请求报告中的请求特征信息,以及预置的特征信息,对当前时间段内获取到的请求报告进行分类。其中,预置的特征信息可以为请求发送的用户代理UserAgent、请求发送的IP地址、请求发送代表的用户身份、请求业务、请求执行的结果以及请求时间中的一项或多项。
例如,在接收到请求数据后,确定出来自同一个IP地址的请求数据,或者确定出代表用户身份的请求数据,从而将接收到的请求数据进行分类统计。
S103、获取不同类别的请求报告分别在第一时间段内所对应的请求调用次数,并将所述请求调用次数与限流阈值次数进行比对,得到比对结果。
在本申请的一个实施例中,获取不同类别的请求报告
分别在较短时间内的请求调用的次数,并将每一类别对应的请求调用次数分别与限流阈值次数进行比对,并将比对结果进行记录。
具体地,若限流阈值次数为M,统计得到符合某一特征的请求调用次数为n。在n<M的情况下,表明调用次数未达到约束预制,可以标记为未达限流阈值。在n>=M的情况下,表明调用次数到达限流阈值次数,标记为达到限流阈值。
在多个第一时间段内,分别将符合某一特征的调用次数进行统计,并确定每一个第一时间段内统计的调用次数是否达到限流阈值次数。根据比对结果进行相应的限流策略,以对当前请求数据做限流处理。
S104、确定不同类别的请求报告在第二时间段内分别对应的多个比对结果,根据预设限流策略以及多个比对结果,对当前请求调用数据进行限流处理。其中,第二时间段由多个所述第一时间段组成。
在本申请的一个实施例中,根据比对结果,确定第二时间段内各类别的请求报告对应的第一比对结果数量。其中,第一比对结果为请求调用次数大于或等于限流阈值次数的结果。以及确定第二时间段内各类别的请求报告对应的第二比对结果数量。其中,第二比对结果为请求调用次数小于限流阈值次数的结果。基于第一比对结果数量、第二比对结果数量以及预设限流策略,对当前请求调用数据进行限流处理。其中,预设限流策略包括一票限流策略、全票限流策略以及加权平均值限流策略。
具体地,确定当前请求调用数据所对应的请求报告的类别。在预设限流策略为一票限流策略时,基于第一比对结果数量,对当前请求调用数据进行限流处理。或在预设限流策略为全票限流策略时,基于第二比对结果数量,对当前请求调用数据进行限流处理。或在预设限流策略为加权平均值限流策略时,基于预设限流条件权重值、第一比对结果数量与第二比对结果数量,对当前请求调用数据进行限流处理。
在本申请的一个实施例中,API请求的特征是丰富的维度的,所以对API请求的多个维护的统计决定了同一个API请求可能适用不同的限流策略。当不同的策略发生冲突时可以根据不同限流策略投票决定是否对当前请求限流。
在本申请的一个实施例中,在预设限流策略为一票限流策略时,确定不同类别的请求报告分别对应的第一比对结果数量。在第一比对结数量大于或等于一的情况下,对当前请求调用数据进行限流处理。
具体地,在预设限流策略为一票限流策略时,只要任一限流条件满足即可对当前请求做限流处理。即,针对符合某一特征的请求数据,在统计的多个第一时间段分别对应的比对结果中,只要有任一第一时间段的结果为达到限流阈值,就需要对当前符合该特征信息的数据进行限流处理。该策略适用于对请求数量较为敏感的系统,需要及时做限流处理。
在本申请的一个实施例中,在预设限流策略为全票限流策略时,确定不同类别的请求报告分别对应的第二比对结果数量。在第二比对结数量为零的情况下,对当前请求调用数据进行限流处理。
具体地,在预设限流策略为全票限流策略时,必须所有限流条件都满足,才对当前请求做限流处理。即,针对符合某一特征的请求数据,在统计的多个第一时间段分别对应的比对结果中,只有所有第一时间段的结果均为达到限流阈值,才可以对当前符合该特征信息的数据进行限流处理。该策略适用于对请求数量相对不敏感的系统。
在本申请的一个实施例中,在预设限流策略为加权平均值限流策略时,确定不同类别的请求报告分别对应的第一比对结果数量,以及第二比对结果数量。基于预设限流条件权重值、第一比对结果数量与第二比对结果数量,得到加权平均值。将加权平均值与预设限流加权平均值进行比对,以通过比对结果对当前请求调用数据进行限流处理。
具体地,在预设限流策略为加权平均值限流策略时,对每个限流条件赋予权重。例如,达到限流阈值次数为1,未达到限流阈值次数为0,最终计算所有结果的加权平均值。如果超过预设限流加权平均值,例如0.75,则认为多数投票通过,对当前请求做限流处理。
本申请实施例根据预设限流策略以及多个比对结果,对当前请求调用数据进行限流处理。不仅能够基于请求报告的特征进行不同的限流策略,使得限流效果更佳显著,也能够保证业务系统API的调用频次在正常范围内,保证互联网业务系统不会因为过多的异常请求调用,而导致服务器资源耗尽或者影响系统稳定性。
在本申请的一个实施例中,获取接收到请求调用数据的接收时间。确定当前时间与接收时间之间的已接收时长。若已接收时长大于预设时长时,对请求调用数据进行归档保存处理。若时长大于第二预设时长时,对请求调用数据进行删除处理。
具体地,API调用限流主要应对短时间内的请求数量,避免短时间内的请求尖峰或者恶意调用导致的系统资源消耗。对于历史数据则可以配置过期策略。
例如,从接收到请求数据已超过24小时,则将该进行自动归档保存处理。若从接收到请求数据已经超过7天,则对数据进行自动删除并释放磁盘空间。
图2为本申请实施例提供的一种对用户请求进行限流的流程框图。如图2所示,对用户请求进行限流的流程如下:
在本申请的一个实施例中,通过请求限流收集器,在互联网网关等组件中获取到请求调用数据。识别请求调用数据中的特征并建立反向索引,通过请求限流报告生成器,定期对收集到的请求调用数据生成请求报告。基于特征信息对请求报告进行分类统计。通过请求限流决策器可以配置请求限流策略,并在运行时判断请求是否违反相关的限流策略,如果已经违反策略则做限流处理,否则做正常响应。
图3为本申请实施例提供的一种对用户请求进行限流设备结构示意图。如图3所示,对用户请求进行限流设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取用户发送的请求调用数据,并基于所述请求调用数据生成相应的请求报告;
获取所述请求报告中的请求特征信息,并基于预置特征信息,对所述请求报告进行分类;
获取不同类别的请求报告分别在第一时间段内所对应的请求调用次数,并将所述请求调用次数与限流阈值次数进行比对,得到比对结果;
确定所述不同类别的请求报告在第二时间段内分别对应的多个比对结果,根据预设限流策略以及所述多个比对结果,对当前请求调用数据进行限流处理;其中,所述第二时间段由多个所述第一时间段组成。
本申请实施例提供一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
获取用户发送的请求调用数据,并基于所述请求调用数据生成相应的请求报告;
获取所述请求报告中的请求特征信息,并基于预置特征信息,对所述请求报告进行分类;
获取不同类别的请求报告分别在第一时间段内所对应的请求调用次数,并将所述请求调用次数与限流阈值次数进行比对,得到比对结果;
确定所述不同类别的请求报告在第二时间段内分别对应的多个比对结果,根据预设限流策略以及所述多个比对结果,对当前请求调用数据进行限流处理;其中,所述第二时间段由多个所述第一时间段组成。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请的实施例可以有各种更改和变化。凡在本申请实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (5)

1.一种对用户请求进行限流的方法,其特征在于,所述方法包括:
获取用户发送的请求调用数据,并基于所述请求调用数据生成相应的请求报告;
获取所述请求报告中的请求特征信息,并基于预置特征信息,对所述请求报告进行分类;
获取不同类别的请求报告分别在第一时间段内所对应的请求调用次数,并将所述请求调用次数与限流阈值次数进行比对,得到比对结果;
确定所述不同类别的请求报告在第二时间段内分别对应的多个比对结果,根据预设限流策略以及所述多个比对结果,对当前请求调用数据进行限流处理;其中,所述第二时间段由多个所述第一时间段组成;
所述根据预设限流策略以及所述多个比对结果,对当前请求调用数据进行限流处理,具体包括:
根据所述比对结果,确定所述第二时间段内各类别的请求报告对应的第一比对结果数量;其中,所述第一比对结果为所述请求调用次数大于或等于所述限流阈值次数的结果;以及
确定所述第二时间段内各类别的请求报告对应的第二比对结果数量;其中,所述第二比对结果为所述请求调用次数小于所述限流阈值次数的结果;
基于所述第一比对结果数量、所述第二比对结果数量以及所述预设限流策略,对当前请求调用数据进行限流处理;
其中,所述预设限流策略包括一票限流策略、全票限流策略以及加权平均值限流策略;
所述基于所述第一比对结果数量、所述第二比对结果数量以及所述预设限流策略,对当前请求调用数据进行限流处理,具体包括:
在所述预设限流策略为一票限流策略时,基于所述第一比对结果数量,对所述当前请求调用数据进行限流处理;或
在所述预设限流策略为全票限流策略时,基于所述第二比对结果数量,对所述当前请求调用数据进行限流处理;或
在所述预设限流策略为加权平均值限流策略时,基于预设限流条件权重值、所述第一比对结果数量与所述第二比对结果数量,对所述当前请求调用数据进行限流处理;
所述在所述预设限流策略为一票限流策略时,基于所述第一比对结果数量,对所述当前请求调用数据进行限流处理,具体包括:
在所述预设限流策略为一票限流策略时,确定所述不同类别的请求报告分别对应的第一比对结果数量;
在所述第一比对结数量大于或等于一的情况下,对所述当前请求调用数据进行限流处理;
所述在所述预设限流策略为全票限流策略时,基于所述第二比对结果数量,对所述当前请求调用数据进行限流处理,具体包括:
在所述预设限流策略为全票限流策略时,确定所述不同类别的请求报告分别对应的第二比对结果数量;
在所述第二比对结数量为零的情况下,对所述当前请求调用数据进行限流处理;
所述在所述预设限流策略为加权平均值限流策略时,基于预设限流条件权重值、所述第一比对结果数量与所述第二比对结果数量,对所述当前请求调用数据进行限流处理,具体包括:
在所述预设限流策略为加权平均值限流策略时,确定所述不同类别的请求报告分别对应的第一比对结果数量,以及第二比对结果数量;
基于预设限流条件权重值、所述第一比对结果数量与所述第二比对结果数量,得到加权平均值;
将所述加权平均值与预设限流加权平均值进行比对,以通过比对结果对所述当前请求调用数据进行限流处理。
2.根据权利要求1所述的一种对用户请求进行限流的方法,其特征在于,所述获取所述请求报告中的请求特征信息之后,所述方法还包括:
对所述特征信息,与所述请求报告对应的源请求建立反向索引,以通过所述反向索引将所述特征信息与所述源请求进行关联;
在任一请求报告对应的请求调用数据进行限流处理时,通过所述反向索引确定所述任一请求报告中的请求特征信息所对应的数据源,以对所述数据源进行限流处理。
3.根据权利要求1所述的一种对用户请求进行限流的方法,其特征在于,所述对所述不同类别的请求报告分别对应的请求调用数据进行限流处理之后,所述方法还包括:
获取接收到所述请求调用数据的接收时间;
确定当前时间与所述接收时间之间的已接收时长;
若所述已接收时长大于第一预设时长时,对所述请求调用数据进行归档保存处理;
若所述时长大于第二预设时长时,对所述请求调用数据进行删除处理。
4.一种对用户请求进行限流设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取用户发送的请求调用数据,并基于所述请求调用数据生成相应的请求报告;
获取所述请求报告中的请求特征信息,并基于预置特征信息,对所述请求报告进行分类;
获取不同类别的请求报告分别在第一时间段内所对应的请求调用次数,并将所述请求调用次数与限流阈值次数进行比对,得到比对结果;
确定所述不同类别的请求报告在第二时间段内分别对应的多个比对结果,根据预设限流策略以及所述多个比对结果,对当前请求调用数据进行限流处理;其中,所述第二时间段由多个所述第一时间段组成;
所述根据预设限流策略以及所述多个比对结果,对当前请求调用数据进行限流处理,具体包括:
根据所述比对结果,确定所述第二时间段内各类别的请求报告对应的第一比对结果数量;其中,所述第一比对结果为所述请求调用次数大于或等于所述限流阈值次数的结果;以及
确定所述第二时间段内各类别的请求报告对应的第二比对结果数量;其中,所述第二比对结果为所述请求调用次数小于所述限流阈值次数的结果;
基于所述第一比对结果数量、所述第二比对结果数量以及所述预设限流策略,对当前请求调用数据进行限流处理;
其中,所述预设限流策略包括一票限流策略、全票限流策略以及加权平均值限流策略;
所述基于所述第一比对结果数量、所述第二比对结果数量以及所述预设限流策略,对当前请求调用数据进行限流处理,具体包括:
在所述预设限流策略为一票限流策略时,基于所述第一比对结果数量,对所述当前请求调用数据进行限流处理;或
在所述预设限流策略为全票限流策略时,基于所述第二比对结果数量,对所述当前请求调用数据进行限流处理;或
在所述预设限流策略为加权平均值限流策略时,基于预设限流条件权重值、所述第一比对结果数量与所述第二比对结果数量,对所述当前请求调用数据进行限流处理;
所述在所述预设限流策略为一票限流策略时,基于所述第一比对结果数量,对所述当前请求调用数据进行限流处理,具体包括:
在所述预设限流策略为一票限流策略时,确定所述不同类别的请求报告分别对应的第一比对结果数量;
在所述第一比对结数量大于或等于一的情况下,对所述当前请求调用数据进行限流处理;
所述在所述预设限流策略为全票限流策略时,基于所述第二比对结果数量,对所述当前请求调用数据进行限流处理,具体包括:
在所述预设限流策略为全票限流策略时,确定所述不同类别的请求报告分别对应的第二比对结果数量;
在所述第二比对结数量为零的情况下,对所述当前请求调用数据进行限流处理;
所述在所述预设限流策略为加权平均值限流策略时,基于预设限流条件权重值、所述第一比对结果数量与所述第二比对结果数量,对所述当前请求调用数据进行限流处理,具体包括:
在所述预设限流策略为加权平均值限流策略时,确定所述不同类别的请求报告分别对应的第一比对结果数量,以及第二比对结果数量;
基于预设限流条件权重值、所述第一比对结果数量与所述第二比对结果数量,得到加权平均值;
将所述加权平均值与预设限流加权平均值进行比对,以通过比对结果对所述当前请求调用数据进行限流处理。
5.一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
获取用户发送的请求调用数据,并基于所述请求调用数据生成相应的请求报告;
获取所述请求报告中的请求特征信息,并基于预置特征信息,对所述请求报告进行分类;
获取不同类别的请求报告分别在第一时间段内所对应的请求调用次数,并将所述请求调用次数与限流阈值次数进行比对,得到比对结果;
确定所述不同类别的请求报告在第二时间段内分别对应的多个比对结果,根据预设限流策略以及所述多个比对结果,对当前请求调用数据进行限流处理;其中,所述第二时间段由多个所述第一时间段组成;
所述根据预设限流策略以及所述多个比对结果,对当前请求调用数据进行限流处理,具体包括:
根据所述比对结果,确定所述第二时间段内各类别的请求报告对应的第一比对结果数量;其中,所述第一比对结果为所述请求调用次数大于或等于所述限流阈值次数的结果;以及
确定所述第二时间段内各类别的请求报告对应的第二比对结果数量;其中,所述第二比对结果为所述请求调用次数小于所述限流阈值次数的结果;
基于所述第一比对结果数量、所述第二比对结果数量以及所述预设限流策略,对当前请求调用数据进行限流处理;
其中,所述预设限流策略包括一票限流策略、全票限流策略以及加权平均值限流策略;
所述基于所述第一比对结果数量、所述第二比对结果数量以及所述预设限流策略,对当前请求调用数据进行限流处理,具体包括:
在所述预设限流策略为一票限流策略时,基于所述第一比对结果数量,对所述当前请求调用数据进行限流处理;或
在所述预设限流策略为全票限流策略时,基于所述第二比对结果数量,对所述当前请求调用数据进行限流处理;或
在所述预设限流策略为加权平均值限流策略时,基于预设限流条件权重值、所述第一比对结果数量与所述第二比对结果数量,对所述当前请求调用数据进行限流处理;
所述在所述预设限流策略为一票限流策略时,基于所述第一比对结果数量,对所述当前请求调用数据进行限流处理,具体包括:
在所述预设限流策略为一票限流策略时,确定所述不同类别的请求报告分别对应的第一比对结果数量;
在所述第一比对结数量大于或等于一的情况下,对所述当前请求调用数据进行限流处理;
所述在所述预设限流策略为全票限流策略时,基于所述第二比对结果数量,对所述当前请求调用数据进行限流处理,具体包括:
在所述预设限流策略为全票限流策略时,确定所述不同类别的请求报告分别对应的第二比对结果数量;
在所述第二比对结数量为零的情况下,对所述当前请求调用数据进行限流处理;
所述在所述预设限流策略为加权平均值限流策略时,基于预设限流条件权重值、所述第一比对结果数量与所述第二比对结果数量,对所述当前请求调用数据进行限流处理,具体包括:
在所述预设限流策略为加权平均值限流策略时,确定所述不同类别的请求报告分别对应的第一比对结果数量,以及第二比对结果数量;
基于预设限流条件权重值、所述第一比对结果数量与所述第二比对结果数量,得到加权平均值;
将所述加权平均值与预设限流加权平均值进行比对,以通过比对结果对所述当前请求调用数据进行限流处理。
CN202111395989.7A 2021-11-23 2021-11-23 一种对用户请求进行限流的方法、设备及介质 Active CN114143263B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111395989.7A CN114143263B (zh) 2021-11-23 2021-11-23 一种对用户请求进行限流的方法、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111395989.7A CN114143263B (zh) 2021-11-23 2021-11-23 一种对用户请求进行限流的方法、设备及介质

Publications (2)

Publication Number Publication Date
CN114143263A CN114143263A (zh) 2022-03-04
CN114143263B true CN114143263B (zh) 2023-06-20

Family

ID=80390984

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111395989.7A Active CN114143263B (zh) 2021-11-23 2021-11-23 一种对用户请求进行限流的方法、设备及介质

Country Status (1)

Country Link
CN (1) CN114143263B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979273B (zh) * 2022-04-11 2024-03-29 中国人民财产保险股份有限公司 请求的限流方法、装置、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111381988A (zh) * 2020-03-24 2020-07-07 北京奇艺世纪科技有限公司 一种请求限速方法、装置、电子设备及存储介质
CN112134954A (zh) * 2020-09-22 2020-12-25 京东数字科技控股股份有限公司 服务请求处理方法、装置、电子设备及存储介质
CN113285883A (zh) * 2021-05-25 2021-08-20 挂号网(杭州)科技有限公司 一种访问请求的限流方法及装置、电子设备、存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111381988A (zh) * 2020-03-24 2020-07-07 北京奇艺世纪科技有限公司 一种请求限速方法、装置、电子设备及存储介质
CN112134954A (zh) * 2020-09-22 2020-12-25 京东数字科技控股股份有限公司 服务请求处理方法、装置、电子设备及存储介质
CN113285883A (zh) * 2021-05-25 2021-08-20 挂号网(杭州)科技有限公司 一种访问请求的限流方法及装置、电子设备、存储介质

Also Published As

Publication number Publication date
CN114143263A (zh) 2022-03-04

Similar Documents

Publication Publication Date Title
EP3379419B1 (en) Situation analysis
EP2563062B1 (en) Long connection management apparatus and link resource management method for long connection communication
US5751963A (en) Hierarchical network management system operating as a proxy agent for enhancing processing efficiency
EP3128420A1 (en) Service flow control method, controller and system in object-based storage system
US20080294780A1 (en) Automated adjustment of ip address lease time based on usage
CN106230997B (zh) 一种资源调度方法和装置
CN111614736A (zh) 网络内容资源调度方法、域名调度服务器及电子设备
CN112016030B (zh) 消息推送的方法、装置、服务器和计算机存储介质
US9667552B2 (en) Real-time SLA impact analysis
CN114143263B (zh) 一种对用户请求进行限流的方法、设备及介质
CN111381988A (zh) 一种请求限速方法、装置、电子设备及存储介质
US9621438B2 (en) Network traffic management
CN112306369A (zh) 一种数据处理方法、装置、服务器及存储介质
CN111182479A (zh) 信息发送的控制方法及装置
CN109120424B (zh) 一种带宽调度方法及装置
CN105893150B (zh) 接口调用频度控制、接口调用请求处理方法及装置
CN115665173B (zh) 一种基于MQ的WebSocket通信方法、系统和存储介质
CN109245943B (zh) 一种故障定位方法及装置
CN113419852B (zh) 微服务的请求响应方法、装置、设备及存储介质
CN111278039A (zh) 用户感知压抑识别方法、装置、设备及介质
CN109951811B (zh) 一种服务号码短信监控方法、装置及系统
CN111158899A (zh) 一种数据的采集方法、采集器、任务管理中心以及系统
CN110650135A (zh) 一种节点处理方法、相关设备及计算机可读存储介质
CN114844662B (zh) 一种网络安全策略管理方法、装置及设备
CN116166451B (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