线上流量管控方法及系统技术方案

技术编号:15880215 阅读:38 留言:0更新日期:2017-07-25 18:19
本发明专利技术公开了一种线上流量管控方法及系统。本发明专利技术针对单个接口对于多个客户端的流量分别采用独立配置的令牌桶算法进行管控,每个令牌桶算法均配置有包含预设时长和预设数量在内的配置参数,并配置为每经过预设时长产生预设数量的令牌,针对各个客户端的令牌桶算法采用相互独立配置的配置参数,针对各个客户端的令牌桶算法中的预设时长、预设数量不完全相同。本发明专利技术能够在一定程度上提升系统性能,并且可基于单个客户端需要的流量进行令牌桶的配置,在某一客户端突发异常调用时,客户端集群中的其他客户端不会受到任何影响,大大提高了线上应用的稳定性,还能实现更精细的流量管控。

Method and system for on-line traffic control

The invention discloses a method and a system for managing and controlling on-line traffic flow. This invention is directed to a single interface for multiple client traffic using the token bucket algorithm independent configuration control, each token bucket is equipped with preset length and configuration parameters including preset number, and configuration for each preset period produced after a preset number of tokens in the token bucket algorithm of each client by each other independent configuration parameter configuration, the default token bucket algorithm of each client in time, the quantity is not exactly the same. The invention can improve the system performance in a certain extent, and can be the token bucket traffic based on individual client needs in a client configuration, unexpected call, other client clusters in the client will not be affected in any way, greatly improving the stability of line should be used, but also to achieve more precise flow control.

【技术实现步骤摘要】
线上流量管控方法及系统
本专利技术涉及线上流量管控的
,尤其涉及基于令牌桶算法的线上流量管控方法及系统。
技术介绍
在线上流量管控中,令牌桶算法是最常使用的一种算法。现有的线上流量管控,一般采用传统的令牌桶算法,其采用大小固定的令牌桶,并自行以恒定的速率源源不断地产生令牌,如果令牌没被消耗,或者被消耗的速度小于产生的速度,令牌就会不断地增多,直到把桶填满,达到最大值。此后不再产生新的令牌,最后桶中可以保存的最大令牌数永远不会超过桶的大小。采用现有的线上流量管控方式的缺点之一在于,其对于客户端的流量管控或者说是流量限制,只能从整体上进行,这导致当某个客户端突发异常调用时,会使得其他试图调用同一接口的客户端的流量被挤占,从而导致这一接口相关的应用或服务的性能下降,甚至瘫痪。这使得线上应用或是服务的稳定性欠佳,客户端集群容易受到个别客户端异常或者恶意访问的影响。
技术实现思路
本专利技术要解决的技术问题是为了克服现有技术中的线上流量管控方式,在某一客户端突发异常调用时,会导致客户端集群中的其他客户端受到极大的影响,造成线上应用稳定性不高的缺陷,提出一种线上流量管控方法及系统。本专利技术是通过下述技术方案来解决上述技术问题的:本专利技术提供了一种线上流量管控方法,其特点在于,所述线上流量管控方法针对单个接口对于多个客户端的流量分别采用独立配置的令牌桶算法进行管控,每个令牌桶算法均配置有包含预设时长和预设数量在内的配置参数,并配置为每经过预设时长产生预设数量的令牌,针对各个客户端的令牌桶算法采用相互独立配置的配置参数,针对各个客户端的令牌桶算法中的预设时长、预设数量不完全相同。本领域技术人员应当理解,除本专利技术中详加描述的部分,本专利技术中的令牌桶算法的其他部分,与现有技术中令牌桶算法应用的典型情况是相似的,在此不再赘述。较佳地,针对各个客户端的令牌桶算法中的预设时长及预设数量根据相应客户端在预设的过往时间段内的流量统计数据进行设置。较佳地,针对各个客户端的令牌桶算法中的预设时长相同、预设数量不完全相同。较佳地,针对各个客户端的令牌桶算法中的预设数量根据相应客户端在预设的过往时间段内的流量统计数据进行设置。较佳地,所述接口为SOA接口。本专利技术还提供了一种线上应用的线上流量管控系统,其特点在于,所述线上应用包括SOA接口,每个SOA接口对多个客户端产生线上流量,针对每个SOA接口,所述线上流量管控系统设置有一一对应于所述多个客户端的多个管控单元,每个管控单元分别配置有独立的令牌桶算法,每个令牌桶算法各自配置有包含预设时长和预设数量在内的配置参数,并配置为每经过预设时长产生预设数量的令牌,各个令牌桶算法中的预设时长、预设数量不完全相同。较佳地,针对每个SOA接口的各个客户端的令牌桶算法中的预设时长及预设数量根据相应客户端在预设的过往时间段内的流量统计数据进行设置。较佳地,针对各个客户端的令牌桶算法中的预设时长相同、预设数量不完全相同。较佳地,针对每个SOA接口的各个客户端的令牌桶算法中的预设数量根据相应客户端在预设的过往时间段内的流量统计数据进行设置。较佳地,所述线上应用包括SOA接口,所述线上应用采用了如上所述的线上流量管控系统。在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本专利技术各较佳实例。本专利技术的积极进步效果在于:本专利技术的线上流量管控方法及系统,避免了轮询算法和timer算法,在一定程度上提升了系统性能,并且可基于单个客户端需要的流量进行令牌桶的配置,在某一客户端突发异常调用时,客户端集群中的其他客户端不会受到任何影响,大大提高了线上应用的稳定性。并且对于各个客户端的流量限制,可以精确到每若干毫秒固定产出多少个令牌,实现更精细的流量管控。附图说明图1为本专利技术一较佳实施例的线上流量管控方法的流程示意图。具体实施方式下面结合附图给出本专利技术较佳实施例,以详细说明本专利技术的技术方案,但并不因此将本专利技术限制在所述的实施例范围之中。参考图1所示,本专利技术一较佳实施例的一种线上流量管控方法,针对单个接口对于多个客户端的流量分别采用独立配置的令牌桶算法进行管控,每个令牌桶算法均配置有包含预设时长和预设数量在内的配置参数,并配置为每经过预设时长产生预设数量的令牌,针对各个客户端的令牌桶算法采用相互独立配置的配置参数,针对各个客户端的令牌桶算法中的预设时长、预设数量不完全相同。根据本专利技术的一个方面,所述接口为SOA接口。根据本专利技术的一个方面,所述令牌桶算法相比于现有技术中的令牌桶算法的一个重要差别在于,针对不同的客户端独立配置,从而排除了客户端集群中的某个客户端对于接口的调用出现异常或者要求的数据流量过大时,对于客户端集群中的其他客户端造成的不利影响。根据本专利技术的另一个方面,所述令牌桶算法相比于现有技术中的令牌桶算法的一个重要差别在于,其配置为每经过预设时长产生预设数量的令牌,即每超出一个固定的时间片段就固定产生若干个访问令牌,这不同于传统算法中采用的以恒定速率源源不断地在规定大小的令牌桶中产生令牌。这有助于提高系统效率。举例来说,在一个优选实施方式中,对于单个接口的三个不同的客户端,相应的令牌桶算法分别配置为,每3毫秒的时间片段过后产生5个令牌、每3毫秒的时间片段过后产生15个令牌、以及每2毫秒的时间片段过后产生5个令牌,从而对三个客户端实现不同的流量管控方式。在一些优选实施方式中,针对各个客户端的令牌桶算法中的预设时长及预设数量根据相应客户端在预设的过往时间段内的流量统计数据进行设置。在一些优选实施方式中,针对各个客户端的令牌桶算法中的预设时长相同、预设数量不完全相同,针对各个客户端的令牌桶算法中的预设数量根据相应客户端在预设的过往时间段内的流量统计数据进行设置。例如,在过去一天内的流量统计显示,某个接口的两个客户端中的访问量呈2:1的比例关系。因此,可将针对这两个客户端的令牌桶算法中的预设时长及预设数量配置为,预设时长相同,预设数量呈2:1的比例关系。或者,也可将针对这两个客户端的令牌桶算法中的预设时长及预设数量配置为,预设时长呈1:4的比例关系,预设数量呈1:2的比例关系。应理解的是,在实际配置的数值上,本领域技术人员可基于各个客户端的流量的预期,进行配置,以使得流量管控策略能够既尽可能满足客户端的正常访问,又不留下过多的剩余令牌,以充分利用资源。本专利技术一较佳实施例的线上流量管控系统应用于一线上应用,所述线上应用包括SOA接口,每个SOA接口对多个客户端产生线上流量,针对每个SOA接口,所述线上流量管控系统设置有一一对应于所述多个客户端的多个管控单元,每个管控单元分别配置有独立的令牌桶算法,每个令牌桶算法各自配置有包含预设时长和预设数量在内的配置参数,并配置为每经过预设时长产生预设数量的令牌,各个令牌桶算法中的预设时长、预设数量不完全相同。在一些优选实施方式中,针对每个SOA接口的各个客户端的令牌桶算法中的预设时长及预设数量根据相应客户端在预设的过往时间段内的流量统计数据进行设置。在一些优选实施方式中,针对各个客户端的令牌桶算法中的预设时长相同、预设数量不完全相同。在一些优选实施方式中,针对每个SOA接口的各个客户端的令牌桶算法中的预设数量根据相应客户端在预设的过往时间段内的流量统计数据进行设置。在本专利技术的另外一些优选本文档来自技高网...
线上流量管控方法及系统

【技术保护点】
一种线上流量管控方法,其特征在于,所述线上流量管控方法针对单个接口对于多个客户端的流量分别采用独立配置的令牌桶算法进行管控,每个令牌桶算法均配置有包含预设时长和预设数量在内的配置参数,并配置为每经过预设时长产生预设数量的令牌,针对各个客户端的令牌桶算法采用相互独立配置的配置参数,针对各个客户端的令牌桶算法中的预设时长、预设数量不完全相同。

【技术特征摘要】
1.一种线上流量管控方法,其特征在于,所述线上流量管控方法针对单个接口对于多个客户端的流量分别采用独立配置的令牌桶算法进行管控,每个令牌桶算法均配置有包含预设时长和预设数量在内的配置参数,并配置为每经过预设时长产生预设数量的令牌,针对各个客户端的令牌桶算法采用相互独立配置的配置参数,针对各个客户端的令牌桶算法中的预设时长、预设数量不完全相同。2.如权利要求1所述的线上流量管控方法,其特征在于,针对各个客户端的令牌桶算法中的预设时长及预设数量根据相应客户端在预设的过往时间段内的流量统计数据进行设置。3.如权利要求1所述的线上流量管控方法,其特征在于,针对各个客户端的令牌桶算法中的预设时长相同、预设数量不完全相同。4.如权利要求3所述的线上流量管控方法,其特征在于,针对各个客户端的令牌桶算法中的预设数量根据相应客户端在预设的过往时间段内的流量统计数据进行设置。5.如权利要求1所述的线上流量管控方法,其特征在于,所述接口为SOA接口。6.一种线上应用的线上流量管控系统,其特征在于,所述线上应用包括SO...

【专利技术属性】
技术研发人员:陈树林
申请(专利权)人:携程旅游网络技术上海有限公司
类型:发明
国别省市:上海,31

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

1