CN115914124A - 一种自适应的多维度流量限速方法、装置、设备及介质 - Google Patents

一种自适应的多维度流量限速方法、装置、设备及介质 Download PDF

Info

Publication number
CN115914124A
CN115914124A CN202211584498.1A CN202211584498A CN115914124A CN 115914124 A CN115914124 A CN 115914124A CN 202211584498 A CN202211584498 A CN 202211584498A CN 115914124 A CN115914124 A CN 115914124A
Authority
CN
China
Prior art keywords
retention rate
speed limit
value
preset time
preset
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
Application number
CN202211584498.1A
Other languages
English (en)
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202211584498.1A priority Critical patent/CN115914124A/zh
Publication of CN115914124A publication Critical patent/CN115914124A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开提供了一种自适应的多维度流量限速方法、装置、设备及介质,涉及人工智能领域,尤其涉及云计算、云存储和云数据库领域,可应用于智能云场景下。具体实现方案为:当指定维度的请求量触发限速时,按照保留率对指定维度的请求进行限速处理,保留率为无需延迟处理的请求量与当前待处理的总请求量之间的比值;每隔第一预设时长,将保留率降低保留率惩罚值;如果在第二预设时长内未再次触发限速,则每隔第一预设时长将保留率增大恢复值,直至保留率恢复至100%或者在第三预设时长内未再次触发限速,则停止对指定维度的限速处理。可以实现平滑限速,避免流量振荡。

Description

一种自适应的多维度流量限速方法、装置、设备及介质
技术领域
本公开涉及人工智能技术领域,尤其涉及云计算、云存储和云数据库技术领域,可应用于智能云场景下。
背景技术
对于存在用户流量的系统,为了保护服务模块,当接收到的某一用户的流量超过预设的限制时,可以对该用户的流量进行延迟处理,以防止服务模块过载。
发明内容
本公开提供了一种自适应的多维度流量限速方法、装置、设备及介质。
根据本公开的一方面,提供了一种自适应的多维度流量限速方法,包括:
当指定维度的请求量触发限速时,按照保留率对所述指定维度的请求进行限速处理,所述保留率为无需延迟处理的请求量与当前待处理的总请求量之间的比值;
每隔第一预设时长,将所述保留率降低保留率惩罚值;
如果在第二预设时长内未再次触发限速,则每隔所述第一预设时长将所述保留率增大恢复值,直至所述保留率恢复至100%或者在第三预设时长内未再次触发限速,则停止对所述指定维度的限速处理;所述第一预设时长小于所述第二预设时长,且所述第二预设时长小于所述第三预设时长。
根据本公开的第二方面,提供了一种自适应的多维度流量限速装置,包括:
限速模块,用于当指定维度的请求量触发限速时,按照保留率对所述指定维度的请求进行限速处理,所述保留率为无需延迟处理的请求量与当前待处理的总请求量之间的比值;
惩罚模块,用于每隔第一预设时长,将所述保留率降低保留率惩罚值;
恢复模块,用于如果在第二预设时长内未再次触发限速,则每隔所述第一预设时长将所述保留率增大恢复值,直至所述保留率恢复至100%或者在第三预设时长内未再次触发限速,则触发所述限速模块停止对所述指定维度的限速处理;所述第一预设时长小于所述第二预设时长,且所述第二预设时长小于所述第三预设时长。
根据本公开的第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的方法。
根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行第一方面所述的方法。
根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现第一方面所述的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是本公开实施例提供的一种自适应的多维度流量限速方法流程图;
图2是本公开实施例提供的对流量延迟处理的示例性示意图;
图3是本公开实施例提供的采用本公开实施例的一种自适应的多维度流量限速方法的流量限速效果的示例性示意图;
图4是本公开实施例提供的一种自适应的多维度流量限速装置结构示意图;
图5是用来实现本公开实施例的一种自适应的多维度流量限速方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
目前,当某一用户的流量超过一定限制后,可以对该用户的所有流量延迟一段时间后再处理,在到达延迟后的时间后,大概率会再次触发限速,如此反复,将导致流量震荡,使得服务模块有过载的风险,且使得用户的请求无法被及时响应,影响用户体验。
为了更好地进行流量限速,本公开实施例提供了一种自适应的多维度流量限速方法,该方法可以由限速器执行,其中,该限速器可以被部署在一台服务器中,以对访问该服务器的用户进行流量限速。或者在分布式服务集群中,该限速器可以连接多个提供同种服务的服务模块,以对访问该种服务的用户进行流量限速。
如图1所示,该方法包括:
S101、当指定维度的请求量触发限速时,按照保留率对指定维度的请求进行限速处理,保留率为无需延迟处理的请求量与当前待处理的总请求量之间的比值。
其中,指定维度可以为用户维度、用户的每秒查询率(Query Per Second,QPS)维度和/或用户的访问带宽维度等,本公开实施例对此不作限定。并且指定维度的请求量触发限速的条件可基于服务模块的实际处理能力进行设置。
作为示例,若保留率(reservedRate)为70%,则需要在指定维度上,对70%的请求直接处理,对剩余30%的请求进行延迟处理。
延迟的时长可以为预设的延迟最小值与延迟最大值之间的一个随机值,如图2所示,图2示出的横轴代表时间,当指定维度的请求量触发限速时,参见向上的箭头,部分请求被直接处理,无需延迟;参见向右的三个弧形箭头,剩余的请求被延迟处理,延迟的时长为延迟最小值(delayMin)与延迟最大值(delayMax)之间的延迟间隙(delayGap)内的随机值。图2中的3个弧形箭头用于表示各请求的延迟时长可以不同,实际实现中,不限于图2中3个弧形箭头指示的三种延迟时长。
需要说明的是,本公开实施例中的请求量是指需要被限速的请求的数量,或者为需要被限速的请求所请求的资源量,该请求量也可称为流量。
S102、每隔第一预设时长,将保留率降低保留率惩罚值。
其中,第一预设时长可以为毫秒级。保留率的初始值以及保留率惩罚值(reservedRatePunish)的初始值为预先设置的值。
作为示例,第一预设时长可以为500ms,保留率的初始值为70%,保留率惩罚值可以为5%,则保留率从70%开始,每隔500ms降低5%。也就是说,在刚触发限速的500ms内,按照保留率70%对指定维度的请求进行限速处理,在下一个500ms按照保留率65%对指定维度的请求进行限速处理,然后在下一个500ms按照保留率5%对指定维度的请求进行限速处理,以此类推。
S103、如果在第二预设时长内未再次触发限速,则每隔第一预设时长将保留率增大恢复值,直至保留率恢复至100%或者在第三预设时长内未再次触发限速,则停止对指定维度的限速处理。
其中,第一预设时长小于第二预设时长,且第二预设时长小于第三预设时长。
第一预设时长和第二预设时长均可以为秒级,作为示例,第一预设时长可以为3秒,第二预设时长可以为60秒。
可以理解的是,由于后续还会继续接收到新的请求,且延迟处理的请求到达延迟时长后,仍需要被处理,所以限速器需要实时判断指定维度的请求量是否再次触发限速。需要说明是,每次判断是否触发限速时,需综合当前接收到的新的请求和当前到达延迟时长的请求的总请求量进行判断,若当前的总请求量满足限速条件,则触发限速。
其中,限速器可以以令牌桶的形式实现。
如果持续3秒均未再次触发限速,则可将保留率逐步增加,以逐步取消限速。其中,恢复值小于保留率惩罚值,作为示例,恢复值(recoverRate)可以为1%,即可在当前的保留率基础上,每隔500ms将保留率增加1%。
采用该方法,当指定维度的请求量触发限速时,可以按照保留率对指定维度的请求进行限速处理,也就是按照保留率对一部分请求正常处理,对另一部分请求进行延迟处理,且后续可以每隔第一预设时长,减少正常处理的请求量所占比例,可以避免瞬间限速力度过大。且如果在第二预设时长内未再次触发限度,还可逐步增大保留率,以平滑恢复对指定维度的请求的处理,如此,既避免了限速力度过大导致的流量震荡,又可以平滑调整限速力度,能够在保护服务模块的同时,尽快恢复正常服务能力。
在本公开的一些实施例中,指定维度的请求量触发限速的条件为:指定维度的请求量参数达到限速阈值,该请求量参数用于表征指定维度的请求量。
例如,若指定维度为用户维度,则请求量参数可以为QPS;若指定维度为用户请求的缓存空间维度,则请求量参数可以为用户请求的缓存空间大小;再例如,若指定维度为用户的访问带宽维度,则请求量参数可以为用户的访问带宽。当然,指定维度还可以基于实际需求进行设置,不限于上述列举的三种维度。
当指定维度的请求量触发限速时,在按照保留率对指定维度的请求进行限速处理之前,可以将限速阈值增大预设阈值。
其中,限速阈值的初始值可以小于服务模块的最大处理能力,以请求量参数为QPS为例,假设服务模块最大能够支持单个用户的QPS为2000,则可将限速阈值设置为1500。
另外,将限速阈值增大预设阈值后,不能超出服务模块的最大处理能力,例如,可以将限速阈值从1500增加到2000。
并且,在停止对指定维度的限速处理之后,还可以将限速阈值恢复值限速阈值的初始值。即在上述例子中,可以将限速阈值再次恢复至1500。
采用本公开实施例,在开始进行限速时,将限速阈值增大预设阈值,可以避免在限速处理过程中频繁触发新的限速,可以提高服务模块处理流量的速度,提高应对突发流量的能力,既在面对高流量的情况下保护了服务模块,又能使得服务模块在允许范围内逐步按照最大处理能力处理流量,能够更快恢复至不限速的状态。且在停止限速后,还可将限速阈值恢复至初始值,以避免服务模块过载。
在本公开的一些实施例中,还提供了在限速阶段再次触发限速后的处理方法,具体的,在按照保留率对指定维度的请求进行限速处理之后,该方法还包括:
如果在第四预设时长内再次触发限速,或者在每隔第一预设时长将保留率增大恢复值过程中再次触发限速,则将保留率按照第一预设比例降低,并将恢复值降低第二预设比例。其中,第一预设比例大于保留率惩罚值,且第四预设时长处于第一预设时长和第二预设时长之间。作为示例,第四预设时长可以为1秒。
也就是说,本公开实施例中有两种需要进行限速惩罚的场景。
场景一为:在确定需要对指定维度的请求量开始进行限速处理后,在第四预设时长内该指定维度的请求量再次触发限速。
场景二为:如果在第二预设时长内未再次触发限速,但在每隔第一预设时长将保留率增大恢复值的过程中,该指定维度的请求量再次触发限速。
上述两种场景对应的惩罚措施均为将保留率按照第一预设比例降低,并将恢复值降低第二预设比例。
例如,可以将保留率在当前值的基础上降低20%,将恢复值在当前值的基础上降低0.4%。或者可以将当前的保留率和当前的恢复值均进行减半。
如此,在再次触发限速的情况下,说明短时间内到达的流量较多,通过加大限速的力度的方式,可以避免后续频繁触发限速而造成流量震荡。通过降低保留率,可以使得被延迟处理的请求量变多,降低服务模块当前的处理压力,且通过降低恢复值,可以使得后续保留率更加缓慢的增长,即更加平滑地放开限速的限制,在保护服务模块的前提下,使得服务模块能够逐步处理延迟后的请求,实现平滑限速的效果。
需要说明的是,在按照保留率对指定维度的请求进行限度处理之后,该方法还包括:如果在第五预设时长内再次触发限速,则忽略再次触发的限速,第五预设时长小于第四预设时长。作为示例,第五预设时长可以为500ms。
即,如果两次触发限速之间的时间间隔小于第五预设时长,则忽略最新触发的限速,即不执行上述实施例中介绍的惩罚措施,可以防止由于流量抖动导致的限速过猛。
还需说明的是,本公开实施例中的保留率的最小值为保留率下限值(reservedRateMin),在上述任一实施例中,若降低后的保留率小于等于该保留率下限值,则将保留率调整为该保留率下限值,且不再继续降低保留率。如此可以避免限速力度过大,进而避免出现用户的请求长时间得不到响应的情况。
作为示例,保留率下限值的初始值可以为20%。
在本公开的一些实施例中,在按照保留率对指定维度的请求进行限速处理之后,该方法还包括:
如果在第四预设时长内再次触发限速,或者在每隔第一预设时长将保留率增大恢复值过程中再次触发限速,则将保留率下限值降低第三预设比例。
也就是说,在上述实施例介绍的两种需要进行限速惩罚的场景中,惩罚措施还包括将保留率下限值降低第三预设比例。
例如,第三预设比例可以为5%,假设当前的保留率下限值为20%,则可将保留率下限值降低为15%。进而,在后续每隔第一预设时长,将保留率降低保留率惩罚值的过程中,保留率最低可以被降低为15%,且如果后续再次出现上述两种场景,则在将保留率再次按照第一预设比例降低时,保留率最低也可被降低为15%。
采用该方法,在重复触发限速的情况下,说明出现了持续高流量的情况,通过降低保留率下限值,可以使得后续的限速力度更大,防止出现服务模块过载的问题,提高了对服务模块的保护能力。
在上述实施例的基础上,在停止对指定维度的限速处理后,还需将保留率调整为保留率的初始值,将恢复值调整为恢复值的初始值,并将保留率下限值调整为保留率下限值的初始值。
需要说明的是,保留率的初始值、恢复值的初始值以及保留率下限值的初始值均为预先设置的值。
在停止对指定维度的限速处理之后,说明已成功完成了对突发流量的处理,那么可以将上述限速过程中调整过的参数均恢复为初始值,以便下次再对指定维度进行限速处理时,利用各参数的初始值进行平滑限速,避免限速力度过大或过小。
如图3所示,图3为是本公开实施例提供的采用本公开实施例的一种自适应的多维度流量限速方法的流量限速效果的示例性示意图,图3中横坐标为时间,纵坐标为每秒查询率。
在第17秒时,用户流量突增,触发了对用户流量的限速。其中,第17秒左右出现的是毫秒级的流量突增,而图3的横轴以秒为单位,所以图3中未示出流量大幅上升的效果。
在流量突增后,参见图3中的第一个波谷,对用户流量进行限速后,又逐步降低限速力度,直至停止限速。在30秒之前,再次出现了流量突增,并触发了限速。从图3中可以看出,每次出现波峰后,都会按照保留率进行限速处理,而不会直接将所有流量均进行限速处理,且在每个波谷之后,用户流量均是缓慢增加,不会瞬间完全恢复到未限速之前的状态,从而避免了流量震荡的问题。
基于相同的构思,本公开实施例提供了一种自适应的多维度流量限速装置,如图4所示,包括:
限速模块401,用于当指定维度的请求量触发限速时,按照保留率对指定维度的请求进行限速处理,保留率为无需延迟处理的请求量与当前待处理的总请求量之间的比值。
惩罚模块402,用于每隔第一预设时长,将保留率降低保留率惩罚值。
恢复模块403,用于如果在第二预设时长内未再次触发限速,则每隔第一预设时长将保留率增大恢复值,直至保留率恢复至100%或者在第三预设时长内未再次触发限速,则触发限速模块401停止对指定维度的限速处理;第一预设时长小于第二预设时长,且第二预设时长小于第三预设时长。
可选的,限速模块401,还用于:
如果在第四预设时长内再次触发限速,或者在每隔所述第一预设时长将保留率增大恢复值过程中再次触发限速,则将保留率按照第一预设比例降低,并将恢复值降低第二预设比例。
其中,第一预设比例大于保留率惩罚值,且第四预设时长处于第一预设时长和第二预设时长之间。
可选的,保留率的最小值为保留率下限值。
可选的,限速模块401,还用于:
如果在第四预设时长内再次触发限速,或者在每隔第一预设时长将保留率增大恢复值过程中再次触发限速,则将保留率下限值降低第三预设比例。
可选的,限速模块401,还用于:
如果在第五预设时长内再次触发限速,则忽略再次触发的限速,第五预设时长小于第四预设时长。
可选的,恢复模块403,还用于:
将保留率调整为保留率的初始值,将恢复值调整为恢复值的初始值,并将保留率下限值调整为保留率下限值的初始值。
可选的,指定维度的请求量触发限速的条件为指定维度的请求量参数达到限速阈值,请求量参数用于表征指定维度的请求量;
限速模块401,还用于在按照保留率对指定维度的请求进行限速处理之前,将限速阈值增大预设阈值。
恢复模块403,还用于在停止对指定维度的限速处理后,将限速阈值恢复至限速阈值的初始值。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
需要说明的是,本实施例中的请求并不是针对某一特定用户的请求,并不能反映出某一特定用户的个人信息。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图5所示,设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM 503中,还可存储设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如一种自适应的多维度流量限速方法。例如,在一些实施例中,一种自适应的多维度流量限速方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM 503并由计算单元501执行时,可以执行上文描述的一种自适应的多维度流量限速方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行一种自适应的多维度流量限速方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (17)

1.一种自适应的多维度流量限速方法,包括:
当指定维度的请求量触发限速时,按照保留率对所述指定维度的请求进行限速处理,所述保留率为无需延迟处理的请求量与当前待处理的总请求量之间的比值;
每隔第一预设时长,将所述保留率降低保留率惩罚值;
如果在第二预设时长内未再次触发限速,则每隔所述第一预设时长将所述保留率增大恢复值,直至所述保留率恢复至100%或者在第三预设时长内未再次触发限速,则停止对所述指定维度的限速处理;所述第一预设时长小于所述第二预设时长,且所述第二预设时长小于所述第三预设时长。
2.根据权利要求1所述的方法,在所述按照保留率对所述指定维度的请求进行限速处理之后,所述方法还包括:
如果在第四预设时长内再次触发限速,或者在每隔所述第一预设时长将所述保留率增大恢复值过程中再次触发限速,则将所述保留率按照第一预设比例降低,并将所述恢复值降低第二预设比例;
其中,所述第一预设比例大于所述保留率惩罚值,且所述第四预设时长处于所述第一预设时长和所述第二预设时长之间。
3.根据权利要求1或2所述的方法,其中,所述保留率的最小值为保留率下限值。
4.根据权利要求3所述的方法,在所述按照保留率对所述指定维度的请求进行限速处理之后,所述方法还包括:
如果在所述第四预设时长内再次触发限速,或者在每隔所述第一预设时长将所述保留率增大恢复值过程中再次触发限速,则将所述保留率下限值降低第三预设比例。
5.根据权利要求2所述的方法,在所述按照保留率对所述指定维度的请求进行限速处理之后,所述方法还包括:
如果在第五预设时长内再次触发限速,则忽略再次触发的限速,所述第五预设时长小于所述第四预设时长。
6.根据权利要求4所述的方法,在所述停止对所述指定维度的限速处理之后,所述方法还包括:
将所述保留率调整为所述保留率的初始值,将所述恢复值调整为所述恢复值的初始值,并将所述保留率下限值调整为所述保留率下限值的初始值。
7.根据权利要求1所述的方法,其中,所述指定维度的请求量触发限速的条件为所述指定维度的请求量参数达到限速阈值,所述请求量参数用于表征所述指定维度的请求量;在所述按照保留率对所述指定维度的请求进行限速处理之前,所述方法还包括:
将所述限速阈值增大预设阈值;
在所述停止对所述指定维度的限速处理之后,所述方法还包括:
将所述限速阈值恢复至所述限速阈值的初始值。
8.一种自适应的多维度流量限速装置,包括:
限速模块,用于当指定维度的请求量触发限速时,按照保留率对所述指定维度的请求进行限速处理,所述保留率为无需延迟处理的请求量与当前待处理的总请求量之间的比值;
惩罚模块,用于每隔第一预设时长,将所述保留率降低保留率惩罚值;
恢复模块,用于如果在第二预设时长内未再次触发限速,则每隔所述第一预设时长将所述保留率增大恢复值,直至所述保留率恢复至100%或者在第三预设时长内未再次触发限速,则触发所述限速模块停止对所述指定维度的限速处理;所述第一预设时长小于所述第二预设时长,且所述第二预设时长小于所述第三预设时长。
9.根据权利要求8所述的装置,所述限速模块,还用于:
如果在第四预设时长内再次触发限速,或者在每隔所述第一预设时长将所述保留率增大恢复值过程中再次触发限速,则将所述保留率按照第一预设比例降低,并将所述恢复值降低第二预设比例;
其中,所述第一预设比例大于所述保留率惩罚值,且所述第四预设时长处于所述第一预设时长和所述第二预设时长之间。
10.根据权利要求8或9所述的装置,其中,所述保留率的最小值为保留率下限值。
11.根据权利要求10所述的装置,所述限速模块,还用于:
如果在所述第四预设时长内再次触发限速,或者在每隔所述第一预设时长将所述保留率增大恢复值过程中再次触发限速,则将所述保留率下限值降低第三预设比例。
12.根据权利要求9所述的装置,所述限速模块,还用于:
如果在第五预设时长内再次触发限速,则忽略再次触发的限速,所述第五预设时长小于所述第四预设时长。
13.根据权利要求11所述的装置,所述恢复模块,还用于:
将所述保留率调整为所述保留率的初始值,将所述恢复值调整为所述恢复值的初始值,并将所述保留率下限值调整为所述保留率下限值的初始值。
14.根据权利要求8所述的装置,其中,所述指定维度的请求量触发限速的条件为所述指定维度的请求量参数达到限速阈值,所述请求量参数用于表征所述指定维度的请求量;
所述限速模块,还用于在按照保留率对所述指定维度的请求进行限速处理之前,将所述限速阈值增大预设阈值;
所述恢复模块,还用于在停止对所述指定维度的限速处理后,将所述限速阈值恢复至所述限速阈值的初始值。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的方法。
17.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-7中任一项所述的方法。
CN202211584498.1A 2022-12-09 2022-12-09 一种自适应的多维度流量限速方法、装置、设备及介质 Pending CN115914124A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211584498.1A CN115914124A (zh) 2022-12-09 2022-12-09 一种自适应的多维度流量限速方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211584498.1A CN115914124A (zh) 2022-12-09 2022-12-09 一种自适应的多维度流量限速方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN115914124A true CN115914124A (zh) 2023-04-04

Family

ID=86493695

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211584498.1A Pending CN115914124A (zh) 2022-12-09 2022-12-09 一种自适应的多维度流量限速方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN115914124A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100271947A1 (en) * 2009-04-27 2010-10-28 Sonus Networks, Inc. Adaptive rate control based on overload signals
CN113472674A (zh) * 2021-07-12 2021-10-01 多点生活(成都)科技有限公司 一种流量控制方法、装置、存储介质及电子设备
CN113660173A (zh) * 2021-08-16 2021-11-16 北京字节跳动网络技术有限公司 一种流量控制方法、装置、计算机设备及存储介质
CN114124820A (zh) * 2021-11-15 2022-03-01 京东科技控股股份有限公司 流量控制方法、装置、电子设备及存储介质
CN114500661A (zh) * 2021-12-22 2022-05-13 新奥新智科技有限公司 一种限流设备、方法、装置及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100271947A1 (en) * 2009-04-27 2010-10-28 Sonus Networks, Inc. Adaptive rate control based on overload signals
CN113472674A (zh) * 2021-07-12 2021-10-01 多点生活(成都)科技有限公司 一种流量控制方法、装置、存储介质及电子设备
CN113660173A (zh) * 2021-08-16 2021-11-16 北京字节跳动网络技术有限公司 一种流量控制方法、装置、计算机设备及存储介质
CN114124820A (zh) * 2021-11-15 2022-03-01 京东科技控股股份有限公司 流量控制方法、装置、电子设备及存储介质
CN114500661A (zh) * 2021-12-22 2022-05-13 新奥新智科技有限公司 一种限流设备、方法、装置及存储介质

Similar Documents

Publication Publication Date Title
KR101823539B1 (ko) 개인용 전자 디바이스와 외부 서비스들 간의 헤비 트래픽 부하를 조절하는 방법 및 시스템
CN112965823B (zh) 调用请求的控制方法、装置、电子设备和存储介质
CN114448989A (zh) 调整消息分发的方法、装置、电子设备、存储介质及产品
CN110753004B (zh) 一种数据传输动态限流方法、系统、装置及可读存储介质
CN114124820B (zh) 流量控制方法、装置、电子设备及存储介质
CN116661960A (zh) 一种批量任务处理方法、装置、设备以及存储介质
CN113360266B (zh) 任务处理方法和装置
CN112579396A (zh) 软件系统动态限流方法、装置及设备
CN115914124A (zh) 一种自适应的多维度流量限速方法、装置、设备及介质
CN112887407A (zh) 用于分布式集群的作业流量控制方法和装置
CN115914119A (zh) 一种文件下载限流方法及装置
CN115543416A (zh) 一种配置更新方法、装置、电子设备及存储介质
CN115002033A (zh) 一种流量控制方法、装置、设备、存储介质及计算机产品
CN115190180A (zh) 在网络资源请求骤增时的网络资源请求调度方法和装置
CN114513468A (zh) 一种Sentinel中流量防护方法、装置、设备、存储介质及产品
CN113225265A (zh) 流量控制方法、装置、设备和计算机存储介质
CN117082083B (zh) 一种基于分布式物联网架构的数据存储方法、装置及介质
CN115086300B (zh) 一种视频文件调度方法和装置
CN114428646B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN113961581B (zh) 查询处理方法、装置、电子设备及存储介质
CN114553775B (zh) 流量控制方法、装置
CN112764931B (zh) 请求处理方法、装置、设备、存储介质及程序产品
CN117194113A (zh) 一种容器快照的生成方法、装置、设备及介质
CN113965206A (zh) 压缩方法、装置、电子设备以及存储介质
CN117728999A (zh) Web访问流量控制方法、装置、设备以及存储介质

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