一种流量控制方法和装置制造方法及图纸

技术编号:16761280 阅读:51 留言:0更新日期:2017-12-09 05:17
本申请提供了一种流量控制方法和装置,其中,该方法包括:在确定需要进行流量控制时,服务器端获取当前业务请求的平均响应时间;服务器端根据所述平均响应时间对流控阈值进行降级处理;服务器端采用降级处理后的流控阈值进行流量控制。利用本申请实施例提供的技术方案,可以解决现有技术中流控阈值为一固定值而导致的对系统的流控效果不好,无法自动适应系统负载状态变化的技术问题,达到了在业务平均响应时间过长时候通过对流控阈值的调整实现动态流控,从而有效减少业务响应时间以提高业务处理效率的目的。

A flow control method and device

The invention provides a flow control method and device, wherein, the method comprises the following steps: in determining the need for flow control, the server gets the average response time of the service request; the server according to the average response time of convection downgrade control threshold; the server adopts the downgrade threshold fluidic flow control. By using the technical scheme provided by the embodiment of the application, the existing technology can solve the flow control threshold is a fixed value in the system control effect is not good, can not automatically adapt to the technical problems of system load changes, to the average response time is too long when the business through the implementation of dynamic control flow control threshold adjustment, thereby effectively to reduce the response time to improve the efficiency of handling business purposes.

【技术实现步骤摘要】
一种流量控制方法和装置
本申请属于计算机网络
,尤其涉及一种流量控制方法和装置。
技术介绍
流量控制是一种利用软件或硬件方式来实现对电脑网络流量的控制的一种控制方式,流量控制可以有效的防止由于网络中瞬间的大量数据对网络带来的冲击,从而可以保证用户网络高效而稳定的运行。目前,流量控制技术主要有两种:1)传统的流控方式:通过路由器、交换机的QoS(QualityofService,服务质量)模块实现基于源地址、目的地址、源端口、目的端口以及协议类型的流量控制,可以称为四层流控;2)智能流控方式:这种流控方式是在应用层进行流控,属于七层流控。针对上述的七层流控方式可以在应用层感知,目前所采用的方式主要是进行流量阈值的监控和对流量的拦截,对超出流控阈值的流量进行拦截就认为流量控制完成。然而,系统的结构和情况是极为复杂的,如果仅采用预设一个固定的流控阈值进行流量控制,即,随后所有的流量控制都以该固定的流控阈值作为门限值,对于不超出该流控阈值的流量不进行拦截,对于超出该流控阈值的所有流量都进行拦截。这种控制方式显然比较死板,无法根据系统的实际情况和需要对系统进行较为全面和合理的保护。针对上述问题,目前尚未提出有效的解决方案。
技术实现思路
本申请目的在于提供一种流量控制方法和装置,可以实现动态流控的技术效果。本申请提供一种流量控制方法和装置是这样实现的:一种流量控制方法,所述方法包括:在确定需要进行流量控制时,服务器端获取当前业务请求的平均响应时间;所述服务器端根据所述平均响应时间对流控阈值进行降级处理;所述服务器端采用降级处理后的流控阈值进行流量控制。一种流量控制装置,位于服务器端,所述装置包括:获取模块,用于在确定需要进行流量控制的情况下,获取当前业务请求的平均响应时间;降级模块,用于根据所述平均响应时间对流控阈值进行降级处理;流控模块,用于采用降级处理后的流控阈值进行流量控制。本申请提供的流量控制方法和装置,在确定需要对系统进行流量控制的情况下,服务器端根据当前业务请求的平均响应时间确定是否需要对预设的流控阈值进行降级处理,即,流控阈值是一个动态变化的数值,而不是从始至终都采用一个固定的数值的方式。例如,如果平均响应时间过长那么就表明当前业务的处理速度太慢,用户等待时间太长,这时候就可以降低流控阈值,以便同时更多的业务被处理,以提高业务请求的处理速度,减少卡顿的感觉,这是现有的采用固定流控阈值所达不到的效果,通过上述方式有效解决了现有技术采用固定流控阈值进行流量控制而导致的系统流控效果不好,无法自动适应系统负载状态变化的技术问题,达到了动态流控的技术效果。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本申请提供的流量控制方法一种实施例的方法流程图;图2是本申请提供的流量控制方法时序交互示意图;图3是本申请提供的流量控制系统架构图;图4是本申请提供的流量控制装置一种实施例的模型结构示意图;图5是本申请提供的流量控制装置另一种实施例的模型结构示意图。具体实施方式为了使本
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。下面结合附图对本申请所述的流量控制方法和装置进行详细的说明。图1是本申请提出的流量控制方法的一种实施例的方法流程图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块结构。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例提供的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图1所示,本申请提供的流量控制方法的一种实施例可以包括:S1:在确定需要进行流量控制时,服务器端获取当前业务请求的平均响应时间对流控阈值进行降级处理;所有计算机网络中承载有对业务请求进行处理的结构都可以认为是一个系统,一旦有业务请求,那么也就会存在流量控制的问题,因为如果业务集中进行请求,服务器端的承载能力是有一个上限值的,因此,如果希望对所有的业务请求都进行处理,并且在可以接受的响应时间内处理,就必须要对系统入口流量进行限制,要不容易出现超负荷,或者是有些线程排队太久,都会影响系统性能,也会影响用户体验。因此,在系统对业务进行处理的过程中,就需要进行一个是否进行流量控制的判断,以便在必要的时候触发服务器端进行流量控制,在本例中,该系统可以是查询系统、数据计算系统、数据处理系统、数据转发系统等等,这里的系统是一个广义的概念,相应的,服务器端就是查询系统、数据计算系统、数据处理系统、数据转发系统的服务器。具体地,在实现的时候,服务器端可以通过获取系统入口的活动线程数确定是否需要进行流量控制,其中,系统入口可以理解为系统的输入端口,例如某个应用输入至该系统的接口,通过这个入口业务请求可以被送至系统中进行处理。线程是进程中执行运算的最小单位,也是执行处理机调度的基本单位。如果将进程理解为在逻辑上操作系统所完成的任务,那么线程表示完成该任务的许多可能的子任务之一。例如,假设用户启动了一个窗口中的数据库应用程序,操作系统就将对数据库的调用表示为一个进程。假设用户要从数据库中产生一份工资单报表,并传到一个文件中,这是一个子任务;在产生工资单报表的过程中,用户又可以输人数据库查询请求,这又是一个子任务。这样,操作系统则把每一个请求:工资单报表和新输人的数据查询表示为数据库进程中的独立的线程。线程可以在处理器上独立调度执行。所谓活动线程可以理解为还在跑的未被挂起的线程,也就是已启动并且尚未正常终止或中止的线程。因此入口活动线程数表明的是系统当前的负荷,基于入口活动线程数可以确定是否需要对系统进行流量控制。具体地,在确定是否进行流量控制的情况下,服务器端可以按照以下方式判断:获取当前预定时长内系统入口线程池的活动线程数和之前所述预定时长内系统入口的活动线程数;在当前预定时长内系统入口的活动线程数大于之前所述预定时长内系统入口的活动线程数预设倍数的情况下,确定需要进行流量控制。举例而言,如果预设时长为5分钟,预设倍数为1.5倍,检测到当前五分钟内的活动线程数为80,前五分钟内的活动线程数为40(或者是前五分钟的平均线程数为每分钟8个),那就表明当前时间周期的活动线程数相较于前一个周期的活动线程数达到设定的预设倍数,这个时候服务器端就需要启动动态流量控制了。在上述实施例中是以当前周期的活动线程总数与上一周期的活动线程总数进行的比较,在实际实现的时候,还可本文档来自技高网
...
一种流量控制方法和装置

【技术保护点】
一种流量控制方法,其特征在于,所述方法包括:在确定需要进行流量控制时,服务器端获取当前业务请求的平均响应时间;所述服务器端根据所述平均响应时间对流控阈值进行降级处理;所述服务器端采用降级处理后的流控阈值进行流量控制。

【技术特征摘要】
1.一种流量控制方法,其特征在于,所述方法包括:在确定需要进行流量控制时,服务器端获取当前业务请求的平均响应时间;所述服务器端根据所述平均响应时间对流控阈值进行降级处理;所述服务器端采用降级处理后的流控阈值进行流量控制。2.根据权利要求1所述的方法,其特征在于,在服务器端获取当前业务请求的平均响应时间之前,所述方法还包括:所述服务器端根据系统入口的活动线程数确定是否需要进行流量控制。3.根据权利要求2所述的方法,其特征在于,所述服务器端根据系统入口的活动线程数确定是否需要进行流量控制,包括:所述服务器端获取当前预定时长内系统入口的活动线程数和之前所述预定时长内系统入口的活动线程数;在当前预定时长内系统入口线程池的活动线程数大于之前所述预定时长内系统入口的活动线程数预设倍数的情况下,所述服务器端确定需要进行流量控制。4.根据权利要求1所述的方法,其特征在于,所述服务器端根据所述平均响应时间对流控阈值进行降级处理,包括:所述服务器端确定当前业务请求的平均响应时间是否超出预设时间阈值;如果超出,则对流控阈值进行降级处理。5.根据权利要求4所述的方法,其特征在于,所述服务器端对流控阈值进行降级处理,包括:所述服务器端按照预设的降级比例对所述流控阈值进行降级处理。6.根据权利要求4所述的方法,其特征在于,在所述服务器端采用降级处理后的流控阈值进行流量控制之后,还包括:所述服务器端获取从采用降级处理后的流控阈值进行流量控制之后的预设时长内的业务请求的平均响应时间;在从采用降级处理后的流控阈值进行流量控制之后的预设时长内的业务请求的平均响应时间超出所述预设时间阈值情况下,所述服务器端再次对流控阈值进行降级处理,直至从采用降级处理后的流控阈值进行流量控制之后的预设时长内的业务请求的平均响应时间小于所述预设时间阈值。7.根据权利要求4所述的方法,其特征在于,在所述服务器端采用降级处理后的流控阈值进行流量控制之后,还包括:所述服务器端确定当前业务请求的平均响应时间是否小于或等于所述预设时间阈值;如果小于或等于,所述服务器端对流控阈值进行升级处理,直至流控阈值恢复至流控预设值。8.根据权利要求1至7中任一项所述的方法,其特征在于,在所述服务器端采用降级处理后的流控阈值进行流量控制之后,所述方法还包括:所述服务器端检测是否有业务请求接入;在检测到有业务请求接入的情况下,所述服务器端向所述业务请求的业务应用返回当前有流量控制的通知消息;所述服务器端...

【专利技术属性】
技术研发人员:王星星刘义
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1