一种流量控制方法、装置、设备及可读存储介质与流程

文档序号:18791845发布日期:2019-09-29 18:57阅读:142来源:国知局
一种流量控制方法、装置、设备及可读存储介质与流程

本公开涉及广告投放技术领域,特别是涉及一种流量控制方法、装置、设备及可读存储介质。



背景技术:

随着互联网的高度发展,移动互联网产品成为用户的主要应用移动通信应用产品,通常面向用户的移动互联网产品一般由客户端和服务器端构成,客户端发送网络请求,服务端处理网络请求并返回客户端展示,而在业务高峰期,为了把客户端请求流量限制在服务端系统所能接受的合理范围之内,会通过限流技术进行流量控制,不至于让系统被高流量击垮来保证系统的稳定性。

现有技术中,采用处理业务请求的服务端根据当前服务状况和网络流量值,计算出限流的有效时间,并将信息在请求结果中返回给客户端,客户端根据请求中返回的有效时间信息,在指定时间内停止发送网络请求达到限流的目的。

然而,当某些情况下由于客户端流量过大导致处理业务请求的服务器所在机房入口带宽打满或服务器网卡打满甚至被压垮的事件,服务端无法将限流信息返回给客户端,客户端也无法正常进行限流工作,服务也就无法从流量过大导致的异常中恢复,对公司业务造成重大影响;并且简单通过服务端通知客户端限流的方式,本身并没有对用户或设备进行差异化处理,也无法感知客户端属性信息,策略单一,达到限流目的同时可能也对用户造成了比较大伤害。



技术实现要素:

鉴于上述问题,提出了本公开实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种流量控制方法和相应的一种流量控制装置。

为了解决上述问题,第一方面,本公开实施例公开了一种流量控制方法,应用于客户端,应用于流量控制系统,所述流量控制系统包括配置服务器和客户端,所述配置服务器中存储有预置的流量控制策略与流量控制指令的对应关系,该方法包括:

所述客户端接收所述配置服务器发送所述流量控制策略与流量控制指令的对应关系;

所述客户端根据所述流量控制策略,获取所述客户端属性信息;

若所述客户端属性信息与所述流量控制策略匹配,则执行所述流量控制指令。

根据本公开的第二方面,提供了一种流量控制装置,应用于客户端,应用于流量控制系统,所述流量控制系统包括配置服务器和客户端,所述配置服务器中存储有预置的流量控制策略与流量控制指令的对应关系,该装置包括:

对应关系接收模块,用于所述客户端接收所述配置服务器发送所述流量控制策略与流量控制指令的对应关系;

客户端属性信息获取模块,用于所述客户端根据所述流量控制策略,获取所述客户端属性信息;

限流方案执行模块,用于若所述客户端属性信息与所述流量控制策略匹配,则执行所述流量控制指令。

根据本公开的第三方面,提供了一种设备,包括:

处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如前述的流量控制方法。

根据本公开的第四方面,提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够实现前述的流量控制方法。

本公开实施例包括以下优点:该方案应用于客户端,应用于流量控制系统,所述流量控制系统包括配置服务器和客户端,所述配置服务器中存储有预置的流量控制策略与流量控制指令的对应关系,该方法首先所述客户端接收所述配置服务器发送所述流量控制策略与流量控制指令的对应关系,并所述客户端根据所述流量控制策略,获取所述客户端属性信息,若所述客户端属性信息与所述流量控制策略匹配,则执行所述流量控制指令。实现了基于客户端自身运行状态,实现多种限流方案控制流量的目的,具备根据客户端不同情况进行流量限制时,完成的流量工作的同时减少对用户的伤害。

附图说明

图1是本公开的一种流量控制方法实施例的步骤流程图;

图2是本公开的一种流量控制方法实施例的步骤流程图;

图2a是本公开的流量控制系统架构图;

图2b是本公开的梯度限流方案示意图;

图3是本公开的一种流量控制装置实施例的结构框图;

图4是本公开的一种流量控制装置实施例的结构框图。

具体实施方式

下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

实施例一

参照图1,示出了本公开的一种流量控制方法实施例的步骤流程图,该方法应用于客户端,应用于流量控制系统,所述流量控制系统包括配置服务器和客户端,所述配置服务器中存储有预置的流量控制策略与流量控制指令的对应关系,该方法具体可以包括如下步骤:

步骤101,所述客户端接收所述配置服务器发送所述流量控制策略与流量控制指令的对应关系;

本公开实施例中,在配置服务器中存储有预先设置好的流量控制策略与流量控制指令的对应关系,会定期发送至客户端,客户端接收该对应关系后,存储在本地。

步骤102,所述客户端根据所述流量控制策略,获取所述客户端属性信息;

本公开实施例中,客户端随时根据上述对应关系中的流量控制策略获取对应的客户端属性。具体地,根据上述预设限流客户端名单中规定的客户端属性,例如客户端所在业务场景、客户端发送流量请求时使用的端口,客户端标识号等属性信息。

当然,属性信息不限于上述描述,主要是为了以不同业务场景进行客户端分类标识的客户端标识信息,都可以作为上述属性信息,由相关技术人员根据具体情况设定,本发明实施例对属性信息的具体内容和形式不加以限制。

例如,其中,客户端的属性可以为非真机状态,或者运行属性,则针对当前属性匹配的限流策略可以是全局限流策略或者分级限流策略,在接收到限流执行请求后,则执行对针对该客户端当前属性信息的限流模式。

进一步地,客户端的属性信息还可以包括数据发送的延时信息,如服务器端的流量监测是由服务器端接收业务请求的能力确定的,正常情况下服务器接收业务请求并返回响应信息的时长为t,如果在超过2t时间后,客户端还没有接收到服务器端的响应信息,那么就可以认为服务器端出现流量过大现象,进而自动开启限流模式,但是,在某些情况下,由于客户端流量过大导致处理请求服务器所在机房入口带宽打满或服务器网卡打满甚至被压垮的事件,服务端无法将响应信息返回给客户端,在2t时间过后再开启限流模式,服务也就无法从流量过大导致的异常中快速恢复正常,对业务造成重大不利影响。

所以,本公开中可以动态监测网络环境,如果发现服务器数据出现异常,则向客户端发送限流请求,客户端根据当前属性执行对应该属性的限流策略。

其中,当接收到流量控制请求后,首先获取当前客户端的属性信息,以实现独立于业务请求服务的基于客户端上下文信息的限流方案。

其中,客户端的状态可以为非真机状态,也可以为运行状态,针对不同的状态执行对该客户端不同的限流模式。

当然,客户端属性信息不限于上述描述,本发明实施例对客户端属性信息的具体内容和形式不加以限制。

步骤104,若所述客户端属性信息与所述流量控制策略匹配,则执行所述流量控制指令。

本公开实施例中,根据上述得到的匹配的限流方案,执行该限流方案中的具体步骤。在每个客户端中存储的流量控制策略,每个流量控制策略中存储有针对不同客户端属性信息的不同流量限流方案。

因此,在获取客户端属性信息后,根据客户端属性信息在流量控制策略中确定一个或多个匹配的限流方案后,则执行该限流方案的具体内容。

例如,针对客户端属性信息是非真机状态的情况,匹配的限流方案为限制该客户端的所有流量请求,那么就对该客户端发出的任何流量请求进行屏蔽。

综上所述,在本公开实施例中实现了一种流量控制方法,应用于客户端,应用于流量控制系统,所述流量控制系统包括配置服务器和客户端,所述配置服务器中存储有预置的流量控制策略与流量控制指令的对应关系,通过在客户端所述客户端接收所述配置服务器发送所述流量控制策略与流量控制指令的对应关系;所述客户端根据所述流量控制策略,获取所述客户端属性信息;若所述客户端属性信息与所述流量控制策略匹配,则执行所述流量控制指令。解决了现有技术中无法感知客户端属性信息而进行限流操作,对用户造成较大伤害的问题。

实施例二

参照图2,示出了本公开的一种流量控制方法实施例的步骤流程图,该方法应用于客户端,应用于流量控制系统,所述流量控制系统包括配置服务器和客户端,所述配置服务器中存储有预置的流量控制策略与流量控制指令的对应关系,该方法具体可以包括如下步骤:

步骤201,所述客户端接收所述配置服务器发送所述流量控制策略与流量控制指令的对应关系;

此步骤与步骤101相同,在此不再详述。

优选地,所述客户端属性信息包括客户端运行状态、客户端硬件信息、客户端网络运营商信息中的一项或多项,所述客户端运行状态包括模拟状态、休眠状态或正在运行状态其中的一种。

步骤202,所述客户端根据所述流量控制策略,获取所述客户端属性信息;

具体地,当获取上述步骤中的流量控制策略与流量控制指令的对应关系后,还可以根据该流量控制策略中的预设限流客户端名单对应的业务场景进行限流操作。

例如,在业务场景是中午11点至14点,将使用外卖接口发送的数据进行限流控制,那么预设限流客户端名单中包含调用外卖接口的客户端名单,那么根据客户端属性确定该客户端是否会调用外卖业务接口,如果是,则该客户端属于该预设限流客户端名单,则执行限流操作。

进一步地,预设限流名单可以包含多个限流级别,如上例中提到的在业务场景是中午11点至14点的时间段中,对调用外卖接口的进行业务操作的客户端进行限流,可以分为多个级别,即生成多个限流级别的白名单,在白名单a中,包含在这段时间内历史流量较大的客户端,将其流量请求值限制在最高级别的预设阈值内,如每秒40个流量请求;在白名单b中,包含在这段时间内历史流量较小的客户端,将其流量请求值限制在最高级别的预设阈值内,如每秒20个流量请求内。如此对各种客户端进行分类限流,保护服务器端的服务质量的同时,降低对客户端的伤害。

步骤203,在所述流量控制策略中确定匹配所述模拟状态的预置限流方案为全局限流方案;

本公开实施例中,如图2a所示,在客户端预置的流量控制策略中包括限流器和客户端上下文,其中限流器中包括配置服务,实现具体的流量控制策略。

其中,基于不同业务场景对限流配置进行分组,同时通过阈值序列提供限流策略分级,独立的服务进行动态配置下发,并根据客户端设备类型、版本、所在网络等信息实现差异化控制。

例如,在图2a中的限流配置中,通过分组满足客户端不同业务场景的限流,限流接口提供黑名单和白名单两种配置实现不同限流范围的控制,同时提供多个限流的阈值(单位时间内请求个数)供客户端在限流决策时进行选择。

如上所述,实现了针对不同的时间范围,或者应用场景,实现不同客户端的限流模式。

步骤204,所述客户端执行所述全局限流方案,所述全局限流方案包括限制所述客户端的流量请求。

具体地,客户端在限流时结合获取到的限流配置及当前客户端上下文信息加权后确定进行分级限流决策,通常根据客户端所在设备的硬件信息可以确定该设备是真实设备还是虚拟设备。

其中,由于通过设备模拟器可以实现模拟真实设备的功能,而模拟设备中安装的客户端可能消耗大量流量,因此,对处于模拟状态的设备实行全局限流方案,全局限流方案即限制模拟设备的所有流量请求。

在本公开优选的实施例中,还可以包括:

步骤a1,在所述流量控制策略中确定匹配所述休眠状态的预置限流方案为阈值限流方案;

具体地,当客户端属性信息处于长时间无操作前台用户,采用较小的阈值进行限流(单位时间内允许请求的个数更少)。

具体地,对于长时间无操作前台的用户,当休眠时长超过预设阈值时,确定该客户端处于休眠状态,并在流量控制策略中确定匹配休眠状态的预置限流方案为阈值限流方案。

步骤a2,所述客户端执行所述阈值限流方案:

具体地,根据其休眠时长与限流阈值的预设关系,来确定对应该休眠时长的预设限流阈值。

步骤a3,获取所述客户端的休眠时长;

其中,根据最近操作时间(t2)距离当下(t1)的时长(t),以确定其无操作时长,即休眠时长。

步骤a4,根据所述休眠时长,确定预设限流阈值;

优选地,步骤a4,进一步包括:

子步骤a41,根据所述休眠时长与预设权重值的乘积,确定所述休眠时长的权重休眠值;

具体地,根据休眠时长为客户端预设休眠权重,该休眠权重由相关技术人员根据休眠时间的长短设置,预设权重值与休眠时长成正比,以梯度方式增长,例如,休眠时长在10秒内,对应第一权重,休眠时长在半分钟内,对应第二权重,以此类推。

当然,对于休眠权重的具体设置方法,本发明实施例对此不加以限制。

子步骤a42,获取预设阈值队列中的阈值个数;

子步骤a43,根据所述权重休眠值与所述阈值个数的比值,确定第一阈值个数;

子步骤a44,将所述阈值个数与所述第一阈值个数的差值,确定为阈值序号值;

子步骤a45,根据所述阈值序号值,在所述预设阈值队列中确定对应序号的预设限流阈值,其中,所述预设阈值队列中包括多个预设限流阈值,所述预设限流阈值在所述预设阈值队列中按照由大到小的序号存储,序号值大的所述预设限流阈值大于序号值小的所述预设限流阈值。

具体地,流量阈值r与休眠时间t的的对应关系如下列公式描述的:

r(单位时间内请求数)=c[|length(c)-(t1-t2)×w(权值)/length(c)|]

其中,c[i]代表配置返回的限流阈值序列中的第i个阈值,本身阈值序列是按照从小到大排列的,i越大阈值越大,单位时间内允许请求的个数也越大。length(c)代表阈值的个数,权值w用来根据实际的业务场景调整时间和阈值的比例关系。

可以理解地,通过上述公式得知,根据最近操作时间(t2)距离当下(t1)的时长(t),来确定限流的阈值(c[i])时,t越大,取得的c[i]越小,单位时间内允许的流量请求数也越小。

当然,上述c[i]中的流量阈值时预先设置的,i值代表流量阈值的序号值,序号值越大,流量阈值越大,即单位时间内允许的流量请求值越大,反之流量值越小。

可以理解地,流量阈值级别的设置是由相关技术人员根据实际使用场景进行设置,本发明实施例对于c[i]中流量阈值的具体内容不加以限制。

步骤a5,根据所述预设限流阈值限制所述客户端的流量请求值。

具体地,根据上述得到对应休眠时长t的流量限制阈值,限制对应客户端的流量请求值。

在本公开优选的实施例中,还可以包括:

步骤b1,在所述流量控制策略中确定匹配所述正在运行状态的预置限流方案为分级限流方案;

此步骤中,如果检测到客户端的状态为运行状态,即客户端正在执行进行点击、存储、浏览等操作状态时,在流量控制策略中确定对应的分级限流方案。

例如,对于正在操作的用户,优先进行较大阈值的限流,减少用户伤害;同时根据请求结果获得反馈,当长时间因为服务流量过载导致请求异常仍无法恢复时,进行多梯度(c[i-step])限流,优先保障服务从故障中快速恢复。

步骤b2,所述客户端执行所述分级限流方案:

步骤b3,获取所述客户端的流量请求值;

其中,如图2b描述的,初始会给处于运行状态的客户端一个阈值较高的流量限制,所以首先要获取当前客户端的流量请求值。

步骤b4,判断所述流量请求值是否超过初始预设值;

进一步地,判断当前的流量请求值是否超过上述较高的初始流量限制阈值。

步骤b5,如果所述流量请求值超过初始预设值,则以第一预设值限制所述客户端的流量请求值,其中所述初始预设值大于所述第一预设值;

其中,如图2b描述,如果当前流量请求值超过初始预设值,则以比初始流量值更小的阈值作为第一预设值,限制该客户端的流量请求,对当前客户端进行惩罚,即进一步降低该客户端的流量请求值。

步骤b6,如果所述流量请求值未超过初始预设值,则判断所述客户端的流量请求是否超时;

其中,如图2b描述,如果当前流量请求值未超过初始预设值,则判断当前客户端发送的流量请求是否在预设时间内得到响应,如果及时响应则未超时,否则超时。

步骤b7,如果所述流量请求超时,则以第二预设值限制所述客户端的流量请求值,其中,所述第一预设值大于所述第二预设值;

进一步地,如果流量请求超时,那么就降低流量请求预置为第二预设值,第二预设值小于第一预设值。

步骤b8,如果所述流量请求未超时,则根据初始预设值限制所述客户端的流量请求值。

其中,如果流量请求未超时,那么就以初始预设值限制客户端的流量请求。

如图2b中描述的i=i-step,i是预设流量阈值队列c[i]中的阈值序列值,即当第一次以初始流量阈值c[n]限制处于运行状态的客户端请求,n为c[i]中的最大值,对应的流量阈值也是最大流量值,当客户端流量请求值超过该值,则将流量限制降低为c[n-1]值,再验证流量请求是否超时,如果超时则继续将流量阈值降低为c[n-2]值。

以此类推,当流量请求在预设时间内未再超出预设阈值,则将当前的流量阈值增大为c[i+1],再验证流量请求是否超时,如超时则降低为c[i],如未超时则维持为c[i+1]预设时间段以后,再逐级上升至c[n],如此循环控制流量请求预置,以达到只能控制运行状态客户端的流量状态。

同样地,上述c[i]中的流量阈值时预先设置的,i值代表流量阈值的序号值,序号值越大,流量阈值越大,即单位时间内允许的流量请求值越大,反之流量值越小。

在本公开优选的实施例中,还可以包括:

步骤c1,获取所述流量控制策略中的预设限流设备信息,所述预设限流设备信息包括设备类型、设备版本、设备位置以及设备运营商信息其中的一种或几种;

具体地,限流配置的下发支持按照设备类型、应用版本、用户所在地区、运营商等维度,可以针对特定用户、特定版本等实现限流配置的差异化管理。

所以,可以根据客户端的所在设备信息对客户端进行限流操作。

其中,设备信息包括设备类型、设备版本、设备位置以及设备运营商信息其中的一种或几种。

步骤c2,若所述预设限流设备信息与所述客户端硬件信息中的任一种匹配,则限制所述设备信息对应设备上的所述客户端的流量请求。

例如,针对所有河南省的联通用户的客户端进行限流,那么就要获取客户端所在设备的设备类型、设备版本、设备位置以及设备运营商信息其中的一种或几种,以便判断客户端所在设备是否符合预设限流设备属性。

具体地,根据获取的设备属性信息确定该设备是符合预设限流设备属性的,则对该设备上的客户端的流量请求进行限制,其中,流量限制阈值是根据不同设备属性由相关技术人员进行预设。

例如,移动运营商的客户端流量限制为每秒100,联通运营商的客户端流量限制为每秒50。

当然,具体流量限制阈值根据现实应用由相关技术人员预先设置,本发明实施例针对具体预设限流属性对应的限流阈值不加以具体限制。

综上所述,在本公开实施例中实现了一种流量控制方法,应用于客户端,应用于流量控制系统,所述流量控制系统包括配置服务器和客户端,所述配置服务器中存储有预置的流量控制策略与流量控制指令的对应关系,所述客户端接收所述配置服务器发送所述流量控制策略与流量控制指令的对应关系;所述客户端根据所述流量控制策略,获取所述客户端属性信息;在客户端分别处于模拟状态、休眠状态和运行状态时,在客户端的流量控制策略中确定匹配的限流方案;若所述客户端属性信息与所述流量控制策略匹配,则执行所述流量控制指令。除此之外,还可以针对客户端所在设备和运营环境进行全局限流决策,实现了客户端基于自身运行状态、用户操作上下文、设备硬件信息及请求状况进行多梯度限流限流阈值选择和多级限流决策的目的。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开实施例并不受所描述的动作顺序的限制,因为依据本公开实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本公开实施例所必须的。

实施例三

参照图3,示出了本公开的一种流量控制装置实施例的结构框图,应用于客户端,应用于流量控制系统,所述流量控制系统包括配置服务器和客户端,所述配置服务器中存储有预置的流量控制策略与流量控制指令的对应关系,所述的装置包括:

对应关系接收模块301,用于所述客户端接收所述配置服务器发送所述流量控制策略与流量控制指令的对应关系;

客户端属性信息获取模块302,用于所述客户端根据所述流量控制策略,获取所述客户端属性信息;

限流方案执行模块303,用于若所述客户端属性信息与所述流量控制策略匹配,则执行所述流量控制指令。

综上所述,本实施例提供的一种流量控制装置,应用于客户端,应用于流量控制系统,所述流量控制系统包括配置服务器和客户端,所述配置服务器中存储有预置的流量控制策略与流量控制指令的对应关系,通过对应关系接收模块,用于所述客户端接收所述配置服务器发送所述流量控制策略与流量控制指令的对应关系;客户端属性信息获取模块,用于所述客户端根据所述流量控制策略,获取所述客户端属性信息;限流方案执行模块,用于若所述客户端属性信息与所述流量控制策略匹配,则执行所述流量控制指令。解决了现有技术中无法感知客户端属性信息而进行限流操作,对用户造成较大伤害的问题。

实施例四

参照图4,示出了本公开的一种流量控制装置实施例的结构框图,应用于客户端,应用于流量控制系统,所述流量控制系统包括配置服务器和客户端,所述配置服务器中存储有预置的流量控制策略与流量控制指令的对应关系,所述的装置包括:

对应关系接收模块301,用于所述客户端接收所述配置服务器发送所述流量控制策略与流量控制指令的对应关系;

优选地,所述客户端属性信息包括客户端运行状态、客户端硬件信息、客户端网络运营商信息中的一项或多项,所述客户端运行状态包括模拟状态、休眠状态或正在运行状态其中的一种。

客户端属性信息获取模块302,用于所述客户端根据所述流量控制策略,获取所述客户端属性信息;

限流方案执行模块303,用于若所述客户端属性信息与所述流量控制策略匹配,则执行所述流量控制指令。

优选地,所述限流方案执行模块303,包括:

全局限流方案确定子模块3031,用于在所述流量控制策略中确定匹配所述模拟状态的预置限流方案为全局限流方案;

全局限流方案执行子模块3032,用于所述客户端执行所述全局限流方案,所述全局限流方案包括限制所述客户端的流量请求。

优选地,所述限流方案执行模块303,包括:

阈值限流方案确定子模块,用于在所述流量控制策略中确定匹配所述休眠状态的预置限流方案为阈值限流方案;

阈值限流方案执行子模块,用于所述客户端执行所述阈值限流方案:

休眠时长获取子模块,用于获取所述客户端的休眠时长;

预设限流阈值确定子模块,用于根据所述休眠时长,确定预设限流阈值;

优选地,所述预设限流阈值确定子模块,进一步包括:

权重休眠值确定单元,用于根据所述休眠时长与预设权重值的乘积,确定所述休眠时长的权重休眠值;

阈值个数获取单元,用于获取预设阈值队列中的阈值个数;

第一阈值个数确定单元,用于根据所述权重休眠值与所述阈值个数的比值,确定第一阈值个数;

阈值序号值确定单元,用于将所述阈值个数与所述第一阈值个数的差值,确定为阈值序号值;

预设限流阈值确定单元,用于根据所述阈值序号值,在所述预设阈值队列中确定对应序号的预设限流阈值,其中,所述预设阈值队列中包括多个预设限流阈值,所述预设限流阈值在所述预设阈值队列中按照由大到小的序号存储,序号值大的所述预设限流阈值大于序号值小的所述预设限流阈值。

流量请求值限制子模块,用于根据所述预设限流阈值限制所述客户端的流量请求值。

优选地,所述限流方案执行模块303,包括:

分级限流方案确定子模块,用于在所述流量控制策略中确定匹配所述正在运行状态的预置限流方案为分级限流方案;

分级限流方案执行子模块,用于所述客户端执行所述分级限流方案:

流量请求值获取子模块,用于获取所述客户端的流量请求值;

第一判断子模块,用于判断所述流量请求值是否超过初始预设值;

流量限制子模块,用于如果所述流量请求值超过初始预设值,则以第一预设值限制所述客户端的流量请求值,其中所述初始预设值大于所述第一预设值;

第二判断子模块,用于如果所述流量请求值未超过初始预设值,则判断所述客户端的流量请求是否超时;

流量请求超时处理子模块,用于如果所述流量请求超时,则以第二预设值限制所述客户端的流量请求值,其中,所述第一预设值大于所述第二预设值;

流量请求限制子模块,用于如果所述流量请求未超时,则根据初始预设值限制所述客户端的流量请求值。

优选地,所述限流方案执行模块303,包括:

预设限流设备信息获取子模块,用于获取所述流量控制策略中的预设限流设备信息,所述预设限流设备信息包括设备类型、设备版本、设备位置以及设备运营商信息其中的一种或几种;

流量请求限制子模块,用于若所述预设限流设备信息与所述客户端硬件信息中的任一种匹配,则限制所述设备信息对应设备上的所述客户端的流量请求。

本公开实施例还提供一种设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上述的一个或多个所述的流量控制方法。

本公开实施例还提供一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如所述的流量控制方法。

综上所述,本公开实施例提供的一种流量控制装置,在本公开实施例中实现了一种流量控制方法,应用于客户端,对应关系接收模块,用于所述客户端接收所述配置服务器发送所述流量控制策略与流量控制指令的对应关系;客户端属性信息获取模块,用于所述客户端根据所述流量控制策略,获取所述客户端属性信息;若所述客户端属性信息与所述流量控制策略匹配,则执行所述流量控制指令。限流方案执行模块,用于若所述客户端属性信息与所述流量控制策略匹配,则执行所述流量控制指令。其中,所述客户端属性信息包括客户端运行状态、客户端硬件信息、客户端网络运营商信息中的一项或多项,所述客户端运行状态包括模拟状态、休眠状态或正在运行状态其中的一种。所以,还可以通过全局限流方案确定子模块,用于在所述流量控制策略中确定匹配所述模拟状态的预置限流方案为全局限流方案;全局限流方案执行子模块,用于所述客户端执行所述全局限流方案,所述全局限流方案包括限制所述客户端的流量请求。实现了基于客户端所在设备和运营环境进行全局限流决策,实现了客户端基于自身运行状态、用户操作上下文、设备硬件信息及请求状况进行多梯度限流限流阈值选择和多级限流决策的目的。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

其具有如下优点:

其一:客户端基于自身状态、用户操作上下文、设备硬件信息及请求状况等进行不同的限流决策,完成多级限流工作的同时减少对用户的伤害。

其二,通过动态配置分组及多维度下发策略,解决特定业务场景、特定设备或版本的限流问题,实现控制差异化。

其三、通过独立于业务服务的客户端限流,当业务服务因流量过大完全瘫痪时,客户端限流仍能发挥作用,保障业务服务从流量过大导致的异常中恢复。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本公开实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本公开实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本公开实施例是参照根据本公开实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本公开实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本公开所提供的一种流量控制方法、装置、设备及可读存储介质,进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1