一种弹性限流的方法及装置制造方法及图纸

技术编号:21308673 阅读:43 留言:0更新日期:2019-06-12 10:51
本发明专利技术适用于网络控制的技术领域,提供了一种弹性限流的方法及装置,包括:根据预设速率向令牌桶投放令牌,并在向令牌桶投放令牌的过程中每隔第一预设时长统计所述第一预设时长内的请求响应异常率;根据所述请求响应异常率动态调整所述令牌的当前投放速率以及所述令牌桶的当前容量。本发明专利技术通过请求响应异常率和请求失败率动态调整令牌的发放速率和令牌桶的容量,实现了弹性限制请求流量的方式,与传统的令牌桶算法相比具有较高的灵活性。

A Method and Device for Elastic Current Limitation

The invention is applicable to the technical field of network control, and provides a method and device for flexible current limiting, including: putting tokens into token buckets according to preset rate, and counting the abnormal rate of request response within the first preset time interval in the process of putting tokens into token buckets; dynamically adjusting the current release of the tokens according to the abnormal rate of request response. Rate and current capacity of the token bucket. The invention dynamically adjusts the token issuing rate and the capacity of the token bucket by the request response exception rate and the request failure rate, realizes the flexible way of limiting the request flow, and has higher flexibility compared with the traditional token bucket algorithm.

【技术实现步骤摘要】
一种弹性限流的方法及装置
本专利技术属于网络控制
,尤其涉及一种弹性限流的方法及装置、终端设备、计算机可读存储介质。
技术介绍
令牌桶算法最初来源于计算机网络,在网络传输数据时,为了防止网络拥塞,需限制流出网络的流量,使流量以比较均匀的速度向外发送。令牌桶算法就实现了这个功能,可控制发送到网络上数据的数目,并允许突发数据的发送。令牌桶算法是网络流量整形(TrafficShaping)和速率限制(RateLimiting)中最常使用的一种算法。典型情况下,令牌桶算法用来控制发送到网络上的数据的数目,并允许突发数据的发送。大小固定的令牌桶可自行以恒定的速率源源不断地产生令牌。如果令牌不被消耗,或者被消耗的速度小于产生的速度,令牌就会不断地增多,直到把桶填满。后面再产生的令牌就会从桶中溢出。最后桶中可以保存的最大令牌数永远不会超过桶的大小。传送到令牌桶的数据包需要消耗令牌。不同大小的数据包,消耗的令牌数量不一样。令牌桶这种控制机制基于令牌桶中是否存在令牌来指示什么时候可以发送流量。如果令牌桶中存在令牌,则允许发送流量;而如果令牌桶中不存在令牌,则不允许发送流量。因此,如果突发门限被合理地配置并且令牌桶中有足够的令牌,那么流量就可以以峰值速率发送。传统的令牌桶算法虽然能有效的限制数据传输速率,但是在固定时间内传输速率最大只能是令牌桶大小的上限。不能根据实际情况自动调整令牌桶大小或令牌发放速度,导致限流灵活性较差。
技术实现思路
有鉴于此,本专利技术实施例提供了一种弹性限流的方法及装置,以解决现有技术中限流灵活性较差的技术问题。本专利技术实施例的第一方面提供了一种弹性限流的方法,包括:根据预设速率向令牌桶投放令牌,并在向令牌桶投放令牌的过程中每隔第一预设时长统计所述第一预设时长内的请求响应异常率;根据所述请求响应异常率动态调整所述令牌的当前投放速率以及所述令牌桶的当前容量。本专利技术实施例的第二方面提供了一种弹性限流的装置,包括:统计单元,用于在向令牌桶投放令牌的过程中每隔第一预设时长统计所述第一预设时长内的请求响应异常率;控制单元,用于根据预设速率向令牌桶投放令牌;根据所述请求响应异常率动态调整所述令牌的当前投放速率以及所述令牌桶的当前容量。本专利技术实施例的第三方面提供了一种弹性限流的终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面和/或第二方面所述方法的步骤。本专利技术实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面和/或第二方面所述方法的步骤。本专利技术实施例与现有技术相比存在的有益效果是:在本专利技术中,首先,根据请求响应异常率动态降低令牌的发放速率和令牌桶的容量,防止流量过载。其次,根据请求失败率动态提升令牌的发放速率和令牌桶的容量,进而放大流量入口。通过上述请求响应异常率和请求失败率的反馈调节实现弹性控制流量,与传统的令牌桶算法相比具有较高的灵活性。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种弹性限流的方法实现流程图;图2是本专利技术实施例提供的一种弹性限流的方法中步骤S102具体实现流程示意图;图3是本专利技术实施例提供的一种弹性限流的方法中步骤S203具体实现流程示意图;图4是本专利技术实施例提供的一种弹性限流的方法中的反馈调节的实现流程示意图;图5是本专利技术实施例提供的一种弹性限流的装置的示意图;图6是本专利技术实施例提供的一种弹性限流的终端设备的示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本专利技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本专利技术。如在本专利技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本专利技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。随着网络技术的发展,IP业务不断快速增长。提高信息在IP网络上传输的质量是IP网发展中的一个关键所在。IPQoS技术的开发,目的就是为用户请求提供端到端的服务质量保证,通过数据包分类、拥塞管理、拥挤避免、速率限制和流量整形技术来实现服务质量控制,在其速率限制和流量整形中,主要使用了令牌桶算法来评估单位时间内请求的通过量是否超过规定值。而传统的令牌桶算法中的令牌桶容量和令牌的投放速率为固定的数值,这种令牌桶处理方式在突发流量的处理能力上就显得较弱,也就是说当存在较大的突发流量时,令牌桶可能会由于没有足够令牌无法处理请求,且请求处理流程不连续,有时会因为令牌数量不足而造成请求丢弃。面对大量的网络请求时就显得十分局限,灵活性较差。为了解决传统令牌桶算法灵活性较差的技术问题,本专利技术提出了一种弹性限流的方法,请参见图1,图1是本专利技术实施例提供的一种弹性限流的方法实现流程图。如图1所示的一种弹性限流的方法包括:S101,根据预设速率向令牌桶投放令牌,并在向令牌桶投放令牌的过程中每隔第一预设时长统计所述第一预设时长内的请求响应异常率。所述令牌桶是网络设备的内部存储池,用于容纳所述令牌,所述令牌则是以预设速率填充至所述令牌桶的虚拟信息包。而每个请求都需要匹配相应数量的所述令牌才能发送至服务器。所述令牌桶填满的时间长短是由所述令牌桶容量以及所述令牌的投放速率共同决定。所述预设速率是指以预设的恒定速率向令牌桶投放令牌。例如:将所述令牌的预设速率设置为8000bit/s,即每秒将8000个令牌放入桶中,当每通过一个请求就需从所述令牌桶中移除对应数量的令牌。当所述令牌桶中所述令牌耗尽的时候,后续请求都被视为超出流量限制,而超出的流量就要采取额外的处理,所述处理包括延迟或丢弃等。所述请求响应异常是由于服务器访问量过大造成服务器响应异常。而引起请求响应异常的原因很多,本专利技术实施例中所述请求响应异常的原因包括但不限于响应超时、HTTP500错误等。所本文档来自技高网...

【技术保护点】
1.一种弹性限流的方法,其特征在于,所述方法包括:根据预设速率向令牌桶投放令牌,并在向令牌桶投放令牌的过程中每隔第一预设时长统计所述第一预设时长内的请求响应异常率;根据所述请求响应异常率动态调整所述令牌的当前投放速率以及所述令牌桶的当前容量。

【技术特征摘要】
1.一种弹性限流的方法,其特征在于,所述方法包括:根据预设速率向令牌桶投放令牌,并在向令牌桶投放令牌的过程中每隔第一预设时长统计所述第一预设时长内的请求响应异常率;根据所述请求响应异常率动态调整所述令牌的当前投放速率以及所述令牌桶的当前容量。2.如权利要求1所述的方法,其特征在于,所述根据所述请求响应异常率动态调整所述令牌的投放速率以及所述令牌桶容量,包括:根据所述请求响应异常率降低所述令牌的当前投放速率以及所述令牌桶的当前容量。3.如权利要求2所述的方法,其特征在于,所述根据所述请求响应异常率降低所述令牌的投放速率以及所述令牌桶的容量,包括:降低所述令牌的当前投放速率的百分比以及降低所述令牌桶的当前容量的百分比,均等于或大于所述请求响应异常率。4.如权利要求1所述的方法,其特征在于,所述根据所述请求响应异常率动态调整所述令牌的当前投放速率以及所述令牌桶的当前容量,包括:当所述响应异常率大于预设阈值时,根据所述请求响应异常率降低所述令牌的当前投放速率以及所述令牌桶的当前容量;当所述响应异常率小于或等于所述预设阈值时,则统计第二预设时长内的请求失败率;根据所述请求失败率动态调整所述令牌的当前投放速率以及所述令牌桶的当前容量。5.如权利要求4所述的方法,其特征在于,所述根据所述请求失败率动态调整所述令牌的当前投放速率以及所述令牌桶的当前容量,包括:...

【专利技术属性】
技术研发人员:唐科
申请(专利权)人:深圳市融汇通金科技有限公司
类型:发明
国别省市:广东,44

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

1