基于时间窗口的限流方法、装置、服务器和存储介质制造方法及图纸

技术编号:35176996 阅读:17 留言:0更新日期:2022-10-12 17:44
本发明专利技术涉及人工智能技术,公开了一种基于时间窗口的限流方法、装置、服务器及存储介质,该方法包括:根据目标网络请求的请求时间,判断是否存在与目标网络请求匹配的第一时间窗口;若不存在,则创建与目标网络请求匹配的第二时间窗口;其中,第二时间窗口的时间起点为目标网络请求的请求时间;根据第二时间窗口的限流阈值,对第二时间窗口内的网络请求进行处理。本发明专利技术实施例提供的技术方案,时间窗口不在固定的物理时间创建完成,避免了无网络请求下对时间窗口的冗余维护,同时,确保了实际响应的网络请求数量不超过服务器的限流阈值,避免了服务器系统故障的发生,极大地减少了请求计数器的数量,减少了占用的服务器计算资源。减少了占用的服务器计算资源。减少了占用的服务器计算资源。

【技术实现步骤摘要】
基于时间窗口的限流方法、装置、服务器和存储介质


[0001]本专利技术实施例涉及人工智能领域,尤其涉及一种基于时间窗口的限流方法、装置、服务器和存储介质。

技术介绍

[0002]随着互联网技术的不断发展,网络中的通信流量呈现几何倍数的增长,为了避免网络请求超过服务器的最大承载能力,服务器通常通过时间窗口机制计算获取到的网络请求数量。
[0003]现有技术中,对于网络请求的数量统计具体是通过固定时间窗口或者滑动时间窗口的方式获取;其中,固定时间窗口是以固定的物理时间(例如,每日的零点)作为窗口起点,每个时间窗口的大小和位置固定,分别统计每个时间窗口中的网络请求数量;滑动时间窗口同样以固定的物理时间作为窗口起点,还将单位时间划分为多个时间段,每经过一个时间段,时间窗口就会向右滑动一格,进而累加窗口内所有时间段的计数器值。
[0004]然而上述计算方式,基于固定时间窗口的获取方式,往往造成一个窗口长度的物理时间内,实际响应的网络请求数量超过服务器的限流阈值,导致出现系统故障;基于滑动时间窗口的获取方式,则需要占用大量的服务器计算资源。

技术实现思路

[0005]本专利技术实施例提供了一种基于时间窗口的限流方法、装置、服务器和存储介质,以实现基于时间窗口的网络请求限流。
[0006]第一方面,本专利技术实施例提供了一种基于时间窗口的限流方法,包括:
[0007]响应于获取到目标网络请求,根据所述目标网络请求的请求时间,判断是否存在与所述目标网络请求匹配的第一时间窗口;
[0008]若不存在与所述目标网络请求匹配的第一时间窗口,则创建与所述目标网络请求匹配的第二时间窗口;其中,所述第二时间窗口的时间起点为所述目标网络请求的请求时间;
[0009]根据所述第二时间窗口的限流阈值,对所述第二时间窗口内的网络请求进行处理。
[0010]第二方面,本专利技术实施例提供了一种基于时间窗口的限流装置,包括:
[0011]第一时间窗口判断模块,用于响应于获取到目标网络请求,根据所述目标网络请求的请求时间,判断是否存在与所述目标网络请求匹配的第一时间窗口;
[0012]第二时间窗口创建模块,用于若不存在与所述目标网络请求匹配的第一时间窗口,则创建与所述目标网络请求匹配的第二时间窗口;其中,所述第二时间窗口的时间起点为所述目标网络请求的请求时间;
[0013]网络请求处理模块,用于根据所述第二时间窗口的限流阈值,对所述第二时间窗口内的网络请求进行处理。
[0014]第三方面,本专利技术实施例还提供了一种服务器,所述服务器包括:
[0015]一个或多个处理器;
[0016]存储装置,用于存储一个或多个程序;
[0017]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术任意实施例所述的基于时间窗口的限流方法。
[0018]第四方面,本专利技术实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时实现本专利技术任意实施例所述的基于时间窗口的限流方法。
[0019]本专利技术实施例提供的技术方案,根据获取到的目标网络请求的请求时间,在判断不存在与目标网络请求匹配的时间窗口时,以目标网络请求的请求时间为时间起点创建时间窗口,进而根据新创建时间窗口的限流阈值,对该时间窗口内的网络请求进行处理,本专利技术实施例中的时间窗口不在固定的物理时间创建完成,避免了无网络请求下对时间窗口的冗余维护,同时,相比于传统的固定时间窗口,确保了实际响应的网络请求数量不超过服务器的限流阈值,避免了服务器系统故障的发生,相比于传统的滑动时间窗口,极大地减少了请求计数器的数量,减少了占用的服务器计算资源。
附图说明
[0020]图1A是本专利技术实施例一提供的一种基于时间窗口的限流方法的流程图;
[0021]图1B是本专利技术实施例一提供的固定时间窗口的示意图;
[0022]图1C是本专利技术实施例一提供的滑动时间窗口的示意图;
[0023]图1D是本专利技术实施例一提供的时间窗口的示意图;
[0024]图2是本专利技术实施例二提供的一种基于时间窗口的限流方法的流程图;
[0025]图3是本专利技术实施例三提供的一种基于时间窗口的限流方法的流程图;
[0026]图4是本专利技术实施例四提供的一种基于时间窗口的限流装置的结构框图;
[0027]图5是本专利技术实施例五提供的一种服务器的结构框图。
具体实施方式
[0028]下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。
[0029]实施例一
[0030]图1A为本专利技术实施例一提供的一种基于时间窗口的限流方法的流程图,本实施例可适用于不存在与目标网络请求匹配的时间窗口时,创建与目标网络请求匹配的时间窗口,并根据新创建时间窗口的限流阈值,对该时间窗口内的网络请求进行处理,该方法可以由本专利技术实施例中基于时间窗口的限流装置来执行,该装置可以通过软件和/或硬件实现,并集成在服务器中,典型的,可以集成在电商平台的服务器中;
[0031]服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
[0032]该方法具体包括如下步骤:
[0033]S110、响应于获取到目标网络请求,根据所述目标网络请求的请求时间,判断是否存在与所述目标网络请求匹配的第一时间窗口。
[0034]图1B为传统技术方案中,基于固定时间窗口的限流方式,假设固定时间窗口的长度为500毫秒(ms),服务器的业务承受能力为每500ms最多承受10笔网络请求调用,而服务器在第300ms、400ms、500ms、600ms和700ms的时间点各有5笔调用,其他时间处于空窗期(即未获取到任何网络请求)。此时服务器会在第一个固定时间窗口内处理第300ms和400ms获取到的总共10笔调用,并且在第二固定时间处理第500ms和600ms获取到的总共10笔调用,直到第700ms获取到的调用会被限流,但实际上在500ms的连续物理时间(第300毫秒至第800毫秒)内,服务器实际处理了20笔调用,超过了服务器的限流阈值,存在较大的系统安全风险。
[0035]图1C为传统技术方案中,基于滑动时间窗口的限流方式,假设滑动时间窗口的长度为500ms,服务器的业务承受能力为每500ms最多承受10笔网络请求调用,滑动时间窗口被划分为多个单位分区(例如,单位分区为100ms),每一个单位分区内设置一个计数器,如果一个网络请求落在该单位分区内,则该单位分区内的计数器就会加1;每经过一个单位分区,滑动时间窗本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于时间窗口的限流方法,其特征在于,包括:响应于获取到目标网络请求,根据所述目标网络请求的请求时间,判断是否存在与所述目标网络请求匹配的第一时间窗口;若不存在与所述目标网络请求匹配的第一时间窗口,则创建与所述目标网络请求匹配的第二时间窗口;其中,所述第二时间窗口的时间起点为所述目标网络请求的请求时间;根据所述第二时间窗口的限流阈值,对所述第二时间窗口内的网络请求进行处理。2.根据权利要求1所述的方法,其特征在于,在判断是否存在与所述目标网络请求匹配的第一时间窗口后,还包括:若存在与所述目标网络请求匹配的第一时间窗口,则根据所述目标网络请求,更新所述第一时间窗口内的网络请求数量,并判断所述第一时间窗口内的网络请求数量,是否超过所述第一时间窗口的限流阈值;若未超过所述第一时间窗口的限流阈值,则响应所述目标网络请求;若超过所述第一时间窗口的限流阈值,则不响应所述目标网络请求,以及不响应所述第一时间窗口内位于所述目标网络请求之后的其它网络请求。3.根据权利要求1所述的方法,其特征在于,所述创建与所述目标网络请求匹配的第二时间窗口,包括:根据所述目标网络请求的请求时间,获取匹配的业务承载等级;根据所述业务承载等级,获取匹配的目标窗口长度和目标限流阈值;根据所述目标网络请求的请求时间、所述目标窗口长度和所述目标限流阈值,创建与所述目标网络请求匹配的第二时间窗口。4.根据权利要求3所述的方法,其特征在于,所述业务承载等级包括高承载等级、中承载等级和低承载等级;所述高承载等级的窗口长度等于所述中承载等级的窗口长度,所述高承载等级的限流阈值大于所述中承载等级的限流阈值;所述低承载等级的窗口长度小于所述中承载等级的窗口长度,所述低承载等级的限流阈值等于所述中承载等级的限流阈值。5.根据权利要求1所述的方法,其特征在于,在创建与所述目标网络请求匹配的第二时间窗口后,还包括:预先创建所述第二时间窗口的后置时间窗口;其中,所述后置时间窗口与所述第二时间窗口在时间序列上连续...

【专利技术属性】
技术研发人员:赵海涛
申请(专利权)人:平安付科技服务有限公司
类型:发明
国别省市:

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

1