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

技术编号:17413713 阅读:20 留言:0更新日期:2018-03-07 09:28
本申请公开了一种流量控制方法及装置,首先可监测负载,之后判断监测得到的负载是否高于预设的阈值,若是,则根据预先配置的各接口的优先级,选择至少一个接口,减少通过选择的接口接收的业务请求的数量,以进行流量限制,若否,则同样根据预先配置的各接口的优先级,选择至少一个接口,增加通过选择的接口接收的业务请求的数量。

A flow control method and device

The invention discloses a flow control method and device, capable of monitoring the first load, then judge whether the load is higher than a preset threshold, monitoring if, according to the interface of the pre configured priority, select at least one interface, reducing the number of receiving the service request through the interface of choice, to make traffic restrictions if not, the same, according to the interface of the pre configured priority, select at least one interface, the increase in the number of business through the interface of choice for the received request.

【技术实现步骤摘要】
一种流量控制方法及装置
本申请涉及信息
,尤其涉及一种流量控制方法及装置。
技术介绍
目前,当设备接收到的业务请求远大于设备处理业务能力的上限时,会导致设备负载过高。若设备持续在高负载状态下工作,则可能导致设备性能下降、响应速度变慢、甚至设备宕机等问题。于是,在现有技术中,通常采用预先为接收业务请求的各接口分别配置流量限制的方法,限制各接口单位时间内可接收的业务请求的数量,从而避免由于接收超过设备处理业务能力上限的业务请求导致的设备宕机的问题。具体的,通常可由工作人员根据经验、设备处理业务的能力等等,确定各接口的流量上限。在需要时再配置至对应的接口,使得配置了流量上限的各接口,可根据配置的流量上限,拒绝接收超过该流量上限的业务请求。基于现有技术,本申请提供一种新的流量控制方法。
技术实现思路
本说明书实施例提供一种流量控制方法及装置,用于解决现有技术在进行流量控制时,难以动态的对各接口进行流量控制,导致设备资源浪费的问题。本说明书实施例采用下述技术方案:一种流量控制方法,包括:监测负载;判断所述负载是否高于预设阈值;若是,则根据预先配置的各接口的优先级,选择至少一个接口,减少通过选择的接口接收的业务请求的数量;若否,则根据所述预先配置的各接口的优先级,选择至少一个接口,增加通过选择的接口接收的业务请求的数量。一种流量控制装置,包括:监测模块,监测负载;判断执行模块,判断所述负载是否高于预设阈值,若是,则根据预先配置的各接口的优先级,选择至少一个接口,减少通过选择的接口接收的业务请求的数量,若否,则根据所述预先配置的各接口的优先级,选择至少一个接口,增加通过选择的接口接收的业务请求的数量。一种服务器,所述服务器包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:监测负载;判断所述负载是否高于预设阈值;若是,则根据预先配置的各接口的优先级,选择至少一个接口,减少通过选择的接口接收的业务请求的数量;若否,则根据所述预先配置的各接口的优先级,选择至少一个接口,增加通过选择的接口接收的业务请求的数量。本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:通过本说明书提供的方法,可根据为各接口预先配置的优先级,对不同的接口接收业务请求的数量进行不同程度的限制,从而在面对大量业务请求时,既可以避免接收业务请求的数量过大导致负载过高的问题,同时又可以避免预先限制各接口接收业务请求的数量与实际各接口接收的业务请求的数量情况存在差异,导致的流量限制不够精准,设备资源浪费的问题。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本说明书实施例提供的一种流量控制过程;图2a为本说明书实施例提供的一种减少接口接收业务请求的数量示意图;图2b为本说明书实施例提供的一种增加接口接收业务请求的数量示意图;图3为本说明书实施例提供的一种流量控制详细过程;图4为本说明书实施例提供的一种流量控制装置的结构示意图;图5为本说明书实施例提供的一种服务器的结构示意图。具体实施方式在现有技术中,通常设备会配置至少一个接口,用于接收外部(如,用户终端、第三方设备)的业务请求。而维护设备的工作人员通常在预见未来一段时间内设备的负载会超过该设备处理业务能力的上限时(如,促销季、节假日时用户访问可能有大幅度增加),可以根据设备处理业务能力的上限,为该设备的各接口分别设置不完全相同的流量限制(如,限制各接口单位时间内可接收的业务请求的数量),以避免由于设备的负载过高导致的负面影响。并在设备的负载恢复正常之后,再解除为各接口设置的流量限制。需要说明的是在本说明书中,流量是指在单位时间内,接收的业务请求的数量。例如,假设设备A配置有接口a以及接口b,并分别用于接收不同的业务请求。该设备A处理业务能力的上限为每分钟处理10个业务请求。进一步假设,由工作人员为接口a以及接口b设置的流量限制均为:每分钟接收5个务请求。则在一分钟内无论向该设备A发送多少业务请求,通过该接口a以及接口b,该设备A在一分钟内最多只接收10个业务请求并进行处理。进一步地,由于单台设备处理业务的能力有限,而业务的增长通常远高于设备性能的增长,所以为了应对快速增加的业务量,通常会以多台设备组成的系统(如,分布式服务器),接收业务请求并进行业务处理。并且,由于不同的业务所需要调用的数据、需要进行的计算、业务流程等等可能不完全相同,所以为了方便业务管理以及更有效的利用设备资源,通常可采用以不同的接口接收不同类型业务的业务请求。于是,服务器中通常存在多个接口。并且,各接口用于接收不完全相同业务的业务请求。但是,由于对于不同业务的业务请求的处理耗时不完全相同,单位时间内接收的不同业务的业务请求的数量也可能不完全相同,并且上述处理耗时以及单位时间内的业务请求的数量都是动态变化的,所以通过对接口进行流量限制的方法难以适应实际情况,有可能导致设备资源的浪费、过多业务请求被拒绝等问题。例如,登录请求与支付请求的耗时可能不同,前者可从数据库中调用数据进行身份验证,耗时通常较短,而后者通常涉及与第三方服务器之间的数据传输,所以耗时通常较长。并且单位时间内接收的支付请求的数量可能出现大幅度井喷的情况(如,促销期内用户购买的商品增加),而相对的登录请求的数量通常不会出现大幅度的变化。进一步假设,服务器通过接口a接收支付请求,通过接口b接收登录请求,该服务器每分钟处理业务请求的上限为15个,由工作人员配置的流量限制为:接口a每分钟10个,接口b每分钟5个。当出现交易高峰时,服务器每分钟接收到15个支付请求以及2个登录请求。则每分钟接口a可能拒绝接收5个支付请求,但是服务器每分钟仅处理了12个业务请求,并没有达到每分钟处理15个业务请求的处理能力的上限,造成了资源浪费。于是,本说明书各实施例提供一种流量控制方法,解决现有技术在进行流量控制时,难以动态的对各接口进行流量控制,导致设备资源浪费的问题。为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。以下结合附图,详细说明本申请各实施例提供的技术方案。图1为说明书实施例提供的一种流量控制过程,具体可包括以下步骤:S102:监测负载。在本说明书一个或多个实施例中,监测的负载可以是服务提供方的服务器的负载。该服务器可通过预设的接口接收业务请求,并执行对应的业务,为用户提供相应的服务。并且,具体可由服务器中安装的用于进行流量控制的程序或者硬件,监测该服务器的负载以及执行后续步骤的操作,本说明书对此不做限定。具体的,正如前述的,服务器中可配置有多个接口用于接收不同业务的业务请求。于是在本说明书一个或多个实施例中,可根据需要配置各接口的优先级。其中,各接口的优先级可以与各接口接收的业务请求对应的业务的重要程度对应。不同业务的重要程度可以不完全一致,可以以数值的方式本文档来自技高网...
一种流量控制方法及装置

【技术保护点】
一种流量控制方法,包括:监测负载;判断所述负载是否高于预设阈值;若是,则根据预先配置的各接口的优先级,选择至少一个接口,减少通过选择的接口接收的业务请求的数量;若否,则根据所述预先配置的各接口的优先级,选择至少一个接口,增加通过选择的接口接收的业务请求的数量。

【技术特征摘要】
1.一种流量控制方法,包括:监测负载;判断所述负载是否高于预设阈值;若是,则根据预先配置的各接口的优先级,选择至少一个接口,减少通过选择的接口接收的业务请求的数量;若否,则根据所述预先配置的各接口的优先级,选择至少一个接口,增加通过选择的接口接收的业务请求的数量。2.如权利要求1所述的方法,监测负载,具体包括:按照预设的周期,监测中央处理器CPU使用率和/或CPU负载。3.如权利要求2所述的方法,判断所述负载是否高于预设阈值,具体包括:根据预设的CPU使用率对应的第一阈值,判断监测得到的所述CPU使用率,是否高于所述第一阈值;和/或根据预设的CPU负载对应的第二阈值,判断监测得到的所述CPU负载是否高于所述第二阈值。4.如权利要求1所述的方法,当判断所述负载高于预设阈值时,根据预先配置的各接口的优先级,选择至少一个接口,具体包括:根据所述预先配置的各接口优先级,按照从低到高的顺序,选择至少一个接口。5.如权利要求1所述的方法,当判断所述负载不高于预设阈值时,根据所述预先配置的各接口的优先级,选择至少一个接口,具体包括:根据所述预先配置的各接口优先级,按照从高到低的顺序,选择至少一个接口。6.如权利要求1至5任一项所述的方法,所述优先级包括:为各接口配置的权重值以及各接口处理业务请求的耗时;其中,所述权重值越高,则优先级越高;当权重值相同时,所述耗时越短,则优先级越高。7.如权利要求5所述的方法,当判断所述负载不高于预设阈值时,根据所述预先配置的各接口的优先级,选择至少一个接口,具体包括:从各接口中,确定被减少接收业务请求的数量的接口;按照确定出的各接口的优先级从高到低的顺序,从所述确定出的各接口中选择至少一个接口。8.如权利要求1所述的方法,当判断所述负载高于预设阈值时,选择至少一个接口,具体包括:根据预先配置的各接口的流量下限,从各接口中确定流量不小于所述流量下限的接口;按照确定出的各接口的优先级从低到高的顺序,选择至少一个接口。9.如权利要求1所述的方法,减少通过选择的接口接收的业务请求的数量,具体包括:判断所述选择的接口接收的业务请求的数量是否高于预设的流量上限;若是,则将所述选择的接口接收的业务请求的数量减少至所述流量上限;若否,则按照预设的流量步长,减少通过选择的接口接收的业务请求的数量。10.如权利要求1所述的方法,增加通过选择的接口接收的业务请求的数量,具体包括:根据预设的流量步长,增加通过所述选择出的接口接收的业务请求的数量;判断增加后所述选择的接口接收的业务请求的数量是否不高于预设的流量上限;若是,则按照增加后的数量,限制所述选择出的接口接收的业务请求的数量;若否,则不限制所述选择出的接口接收的业务请求的数量。11.一种流量控制装置,包括:监测模块,监测负载;判断执行模块,判断所述负载是否高于预设阈值,若是...

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

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

1