流量控制方法、装置、电子设备及存储介质制造方法及图纸

技术编号:32517255 阅读:15 留言:0更新日期:2022-03-02 11:14
本申请公开了一种流量控制方法、装置、电子设备及存储介质,涉及数据处理领域。具体方案为:响应于客户端发起的业务请求,检测当前的网络流量值;将所述当前的网络流量值与限流阈值进行比对;响应于所述当前的网络流量值大于限流阈值,确定与当前时间信息对应的递增周期;其中,所述当前时间信息为所述当前的网络流量值大于所述限流阈值时所对应的时间信息;响应于在所述递增周期内未触发限流事件,基于所述预设的第一规则增大所述限流阈值。该方案通过对限流阈值进行渐进式调整,从而实现了渐进式限流的目的。进式限流的目的。进式限流的目的。

【技术实现步骤摘要】
流量控制方法、装置、电子设备及存储介质


[0001]本申请涉及互联网
,具体涉及数据处理领域,尤其涉及一种流量控制方法、装置、电子设备及存储介质。

技术介绍

[0002]对于秒杀、大促等在秒级内流量激增几十倍甚至上百倍的场景,流量会瞬间达到限流上限,基于现有的流量控制方式,系统需要经过一定的时间申请数据库连接、RPC(Remote Procedure Call,远程过程调用)连接等资源,但是在资源申请期间可能会由于资源不足的问题导致整个服务异常,甚至宕机。

技术实现思路

[0003]本申请提供了一种流量控制方法、装置、电子设备及存储介质。通过周期性渐进式调整限流阈值,给系统一定的申请资源的时间,使其可以平稳地过渡到流量满负荷状态,从而可以避免出现服务器异常或者宕机的情况。
[0004]根据本申请的第一方面,提供了一种流量控制方法,包括:
[0005]响应于客户端发起的业务请求,检测当前的网络流量值;
[0006]将所述当前的网络流量值与限流阈值进行比对;
[0007]响应于所述当前的网络流量值大于限流阈值,
[0008]确定与当前时间信息对应的递增周期;其中,所述当前时间信息为所述当前的网络流量值大于所述限流阈值时所对应的时间信息;
[0009]响应于在所述递增周期内未触发限流事件,基于所述预设的第一规则增大所述限流阈值。
[0010]根据本申请的第二方面,提供了一种流量控制装置,包括:
[0011]第一检测模块,用于响应于客户端发起的业务请求,检测当前的网络流量值;
[0012]比对模块,用于将所述当前的网络流量值与限流阈值进行比对;
[0013]确定模块,用于确定与当前时间信息对应的递增周期;其中,所述当前时间信息为所述当前的网络流量值大于所述限流阈值时所对应的时间信息;
[0014]增大阈值模块,用于响应于在所述递增周期内未触发限流事件,基于所述预设的第一规则增大所述限流阈值。
[0015]根据本申请的第三方面,提供了一种电子设备,包括:
[0016]至少一个处理器;以及,
[0017]与所述至少一个处理器通信连接的存储器;其中,
[0018]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面所述的方法。
[0019]根据本申请的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行上述第一方面所述的方法。
[0020]根据本申请的技术方案,针对当前网络流量值大于限流阈值时,基于当前时间信息确定递增周期,并在该递增周期内未触发过限流事件时,以预设的方式增大限流阈值,来达到周期性地增加限流阈值,由于每个递增周期只允许一次增大限流阈值,所以可以通过使限流阈值渐进式增大,为资源的申请预留了一定的时间,使系统能平稳地过渡到满负荷状态。此外,本方案也解决了现有技术中在流量突发时可能出现服务器异常或者宕机的问题,不仅可以保障系统的安全,也可以提升用户体验。
[0021]应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0022]附图用于更好地理解本方案,不构成对本申请的限定。其中:
[0023]图1是本申请实施例所提供的一种流量控制方法的流程图;
[0024]图2是本申请实施例所提供的另一种流量控制方法的流程图;
[0025]图3是本申请实施例所提供的又一种流量控制方法的流程图;
[0026]图4是本申请实施例所提供的又一种流量控制方法的流程图;
[0027]图5是本申请实施例所提供的一种流量控制装置的结构框图;
[0028]图6是本申请实施例所提供的另一种流量控制装置的结构框图;
[0029]图7示出了可以用来实施本申请的实施例的示例电子设备700的示意性框图。
具体实施方式
[0030]以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0031]需要说明的是,目前用于系统限流的方式主要有计数器算法、漏斗算法和令牌桶算法,这些算法均是在系统运行之初,或者某个时间点人工设置的限流上限,且这个限流上限是固定的。对于秒杀、大促等在秒级内流量激增几十倍甚至上百倍的场景,流量会瞬时达到限流上限,虽然系统可以支持该流量,但是需要一定时间申请数据库连接、RPC连接等资源,所以在申请资源期间会由于资源补正的问题导致整个服务异常、甚至宕机。
[0032]为了解决上述问题,本申请提供了一种可以实现渐进式限流的流量控制方法、装置、电子设备及存储介质。
[0033]图1为本申请实施例提供的一种流量控制方法的流程图。需要说明的是,本申请实施例中的流量控制方法可以应用于本申请实施例中的流量控制装置,该装置可以配置于电子设备中。该流量控制方法可用于按业务线进行流量控制、按服务器进行流量控制、也可以是对于接口的流量控制,本申请对其应用场景不作限定。如图1所示,该方法包括:
[0034]步骤101,响应于客户端发起的业务请求,检测当前的网络流量值。
[0035]其中,当前的网络流量值可以根据应用场景来实时获取,在本申请实施例中可以使用当前时刻每秒业务请求的个数来表示业务请求的当前流量值。作为一种示例,该方法用于对某个业务线的网络请求进行流量控制,则在客户端发起该业务线的请求时,当前业
务请求的流量值为当前时刻该业务线的请求的个数。作为另一种示例,若该方法用于对每个服务器进行流量控制,则当前的网络流量值为每个服务器接收的客户端发送的业务请求的个数。
[0036]步骤102,将当前的网络流量值与限流阈值进行比对。
[0037]可以理解,由于本申请实施例中,限流阈值的大小是动态调整的,所以此处的限流阈值是指限流器当前时刻对应的最新限流阈值。
[0038]步骤103,响应于当前的网络流量值大于限流阈值,确定与当前时间信息对应的递增周期;其中,当前时间信息为当前的网络流量值大于限流阈值时所对应的时间信息。
[0039]在本申请实施例中,递增周期可以理解为,从开始进行流量控制的时刻开始,将时间以一定的时间间隔划分为多个周期,被划分的多个周期为递增周期,且每个递增周期内最多触发一次限流阈值增大。当前的网络流量值大于限流阈值的时刻在哪个递增周期,就在该递增周期内增加限流器的阈值,所以若业务请求对应的流量值持续增大,则限流阈值会平稳地增大,给系统申请资源预留了一定的时间,以使系统支持的业务请求量与当本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种流量控制方法,其特征在于,包括:响应于客户端发起的业务请求,检测当前的网络流量值;将所述当前的网络流量值与限流阈值进行比对;响应于所述当前的网络流量值大于限流阈值,确定与当前时间信息对应的递增周期;其中,所述当前时间信息为所述当前的网络流量值大于所述限流阈值时所对应的时间信息;响应于在所述递增周期内未触发限流事件,基于所述预设的第一规则增大所述限流阈值。2.根据权利要求1所述的方法,其特征在于,所述基于所述预设的第一规则增大所述限流阈值,包括:基于预设的递增比例或者递增数量,增大所述限流阈值。3.根据权利要求1所述的方法,其特征在于,还包括:基于增大后的限流阈值,对接收到的业务请求进行限流处理。4.根据权利要求3所述的方法,其特征在于,所述基于增大后的限流阈值,对接收到的业务请求进行限流处理,包括:获取预先配置的限流上限;将所述限流上限与增大后的限流阈值进行比对;响应于所述增大后的限流阈值小于或等于所述限流上限,基于所述增大后的限流阈值对接收到的业务请求进行限流处理。5.根据权利要求4所述的方法,其特征在于,还包括:响应于所述增大后的限流阈值大于所述限流上限,将所述增大后的限流阈值调整为所述限流上限,并基于所述限流上限对接收到的业务请求进行限流处理。6.根据权利要求1所述的方法,其特征在于,还包括:每隔N个递增周期,检测在所述N个递增周期内是否已触发限流事件;其中,N为正整数;响应于在所述N个递增周期内未触发限流事件,基于预设的第二规则减小所述限流阈值。7.根据权利要求6所述的方法,其特征在于,所述基于预设的第二规则减小所述限流阈值,包括:基于预设的递减比例或者递减数量减小所述限流阈值。8.根据权利要求6所述的方法,其特征在于,还包括:基于减小后的限流阈值,对接收到的业务请求进行限流处理。9.根据权利要求8所述的方法,其特征在于,所述基于减小后的限流阈值,对接收到的业务请求进行限流处理,包括:获取预先配置的限流下限;将所述限流下限与减小后的限流阈值进行比对;响应于所述减小后的限流阈值大于或等于所述限流下限,基于所述减小后的限流阈值对接收到的业务请求进行限流处理。10.根据权利要求9所述的方法,其特征在于,还包括:响应于所述减小后的限流阈值小于所述限流下限,将所述减小后的限流阈值调整为所
述限流下限,基于所述限流下限对接收到的业务请求进行限流处理。11.根据权利要求1所述的方法,其特征在于,还包括:响应于在所述递增周期内已触发限流事件,基于所述限流阈值对接收到的业务请求进行限流处理。12.一种流量控制装置,其特征在于,包括:第一检测模块,用于响应于客户端发起的业务请求,检测当前的网络流量值;比对模块,用于将所述当前的网络流量值与限流阈值进行比对;确定模块,用于响应于所述当前的网络流量值大于限流阈值,确定与当前时间信息对应的递增周期;...

【专利技术属性】
技术研发人员:郝应涛王美青吕军
申请(专利权)人:京东科技控股股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1