业务传输速率的控制方法及装置、系统与流程

文档序号:17150201发布日期:2019-03-19 23:21阅读:178来源:国知局
业务传输速率的控制方法及装置、系统与流程

本发明涉及网络通信领域,具体而言,涉及一种业务传输速率的控制方法及装置、系统。



背景技术:

如图1所示,企业出口处分布式部署多台业务网关设备,从因特网(Internet)进来的流量数据在出口路由器上通过等价路由负载分担到这多台业务网关(例如图1中的业务网关A、B、C)上。由于抗分布式拒绝服务(Distributed Denial of Service,简称为DDoS)攻击或带宽限制等需求,需要在业务网关上对到各个目的主机的业务传输速率(又称为流量)进行限制,确保进入内网的业务传输速率不会超过用户购买的带宽,以免对内网链路造成冲击。

但是对于这种分布式部署的场景,由于每台业务网关独立进行限流(即对业务传输速率进行限制),所以需要考虑如何确保经过多台业务网关并行限流之后的总流量(即同一目的地址的总业务传输速率)符合预期的阈值。

但是针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种业务传输速率的控制方法及装置、系统,以至少解决分布式环境下尚无有效的保证经过多台业务网关的并行限流后的总流量符合预期的阈值的技术方案的技术问题。

根据本发明实施例的一个方面,提供了一种业务传输速率的控制方法,包括:获取分布式环境中的业务网关组中各个业务网关上报的业务传输速率信息,其中,所述各个业务网关为向同一目的地址并行传输业务数据,并依据各自的限流阈值对所述业务数据的业务传输速率进行限制的网关;所述业务传输速率信息用于指示每个业务网关上针对所述目的地址的业务传输速率;对于所述业务网关组中的每个业务网关,判断所述业务传输速率信息所指示的业务传输速率是否大于与所述业务网关对应的所述限流阈值;在至少一个判断结果为是时,将为所述各个业务网关分配的所述限流阈值调整为指定值,得到指定阈值,其中,所述指定值满足以下条件:所述各个业务网关上所述指定值的总和不大于运营商为所述目的地址分配的带宽;将所述指定阈值下发给所述各个业务网关。

根据本发明实施例的另一方面,还提供了另一种业务传输速率的控制方法,包括:业务网关组中的各个业务网关接收指定阈值,其中,所述各个业务网关为向同一目的地址并行传输业务数据,并依据各自的限流阈值对所述业务数据的业务传输速率进行限制的网关,所述指定阈值通过以下方式确定:在所述业务网关组中任一业务网关上的所述业务传输速率大于与所述业务网关对应的限流阈值时,将为所述各个业务网关分配的所述限流阈值调整为指定值,得到所述指定阈值,其中,所述指定值满足以下条件:所述各个业务网关上所述指定值的总和不大于运营商为所述目的地址分配的带宽;所述业务网关依据所述指定阈值对本地的所述业务数据传输速率进行限制;其中,在业务网关组中的各个业务网关接收指定阈值之前,所述各个业务网关上报本地针对目的地址的业务传输速率信息。

根据本发明实施例的另一方面,还提供了一种业务传输速率的控制装置,包括:获取模块,用于获取分布式环境中的业务网关组中各个业务网关上报的业务传输速率信息,其中,所述各个业务网关为向同一目的地址并行传输业务数据,并依据各自的限流阈值对所述业务数据的业务传输速率进行限制的网关;所述业务传输速率信息用于指示每个业务网关上针对所述目的地址的业务传输速率;判断模块,用于对于所述业务网关组中的每个业务网关,判断所述业务传输速率信息所指示的业务传输速率是否大于与所述业务网关对应的所述限流阈值;调整模块,用于在所述判断模块输出的至少一个判断结果为是时,将为所述各个业务网关分配的所述限流阈值调整为指定值,得到指定阈值,其中,所述指定值满足以下条件:所述各个业务网关上所述指定值的总和不大于运营商为所述目的地址分配的带宽;发送模块,用于将所述指定阈值下发给所述各个业务网关。

根据本发明实施例的另一方面,还提供了另一种业务传输速率的控制装置,应用于业务网关组中的业务网关,其中,所述业务网关组中各个业务网关为向同一目的地址并行传输业务数据,并依据各自的限流阈值对所述业务数据的业务传输速率进行限制的网关,所述装置包括:接收模块,用于接收指定阈值,其中,所述指定阈值通过以下方式确定:在所述业务网关组中任一业务网关上的所述业务传输速率大于与所述业务网关对应的限流阈值时,将为所述各个业务网关分配的所述限流阈值调整为指定值,得到所述指定阈值,其中,所述指定值满足以下条件:所述各个业务网关上所述指定值的总和不大于运营商为所述目的地址分配的带宽;限制模块,用于依据所述指定阈值对本地的所述业务数据传输速率进行限制;所述装置还包括:发送模块,用于在接收指定阈值之前,上报本地针对目的地址的业务传输速率信息。

在本发明实施例中,采用在各个业务网关上报的针对同一目的地址的业务传输速率中存在大于限流阈值的业务传输速率时,对所述各个业务网关上用于限制所述目的地址的业务传输速率的阈值进行动态调整,以实现对目的地址的业务传输速率进行限制的目的,从而实现了保证经过多台业务网关并行限流之后的总流量(即同一目的地址的总业务传输速率)符合预期的阈值的技术效果,进而解决了分布式环境下尚无有效的保证经过多台业务网关的并行限流后的总流量符合预期的阈值的技术方案的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据相关技术的一种分布式网络环境的网络架构图;

图2是本发明实施例的一种业务传输速率的控制方法的计算机终端的硬件结构框图;

图3是根据本发明实施例1的业务传输速率的控制方法的流程图;

图4是根据本发明实施例的一种可选的基于集中式控制方案的业务传输速率的控制方法的流程示意图;

图5是根据本发明实施例的一种可选的基于集中式控制方案的业务传输速率的控制流程示意图;

图6为根据本发明实施例的一种可选的基于集中式控制方案中业务网关(SGW)上的控制面处理流程示意图;

图7为根据本发明实施例的一种可选的基于集中式控制方案中SGW上的数据面处理流程示意图;

图8是根据本发明实施例的一种可选的基于分布式控制方案的业务传输速率的控制流程示意图;

图9为根据本发明实施例的一种可选的基于分布式控制方案中SGW上的控制面处理流程示意图;

图10为根据本发明实施例的一种可选的基于分布式控制方案中SGW上的数据面处理流程示意图;

图11是根据本发明实施例的一种可选的业务传输速率的控制装置的结构示意图;

图12是根据本发明实施例的一种可选的业务传输速率的控制装置的另一结构示意图;

图13是根据本发明实施例的另一种可选的业务传输速率的控制方法的流程示意图;

图14是根据本发明实施例的另一种可选的业务传输速率的控制装置的结构示意图;

图15是根据本发明实施例的一种可选的业务传输速率的控制系统的结构示意图;

图16是根据本发明实施例的一种计算机终端的结构框图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

针对分布式部署场景中,如何确保经过多台业务网关并行限流之后的总流量(即同一目的地址的总业务传输速率)符合预期的阈值的技术问题,相关技术中提供了两种解决方案:

1、在出口路由器上选择合适的哈希算法,使流量尽可能均匀分配到每台业务网关上,然后给每台业务网关配置均分之后的限流阈值;

2、在出口路由器上选择基于目的IP的哈希算法,使到达同一个目的IP的流量都只经过同一台业务网关处理,然后在相应的业务网关上配置实际的限流阈值;

但是,方案1和方案2均存在一定的缺陷:

对于方案1:该方案依赖路由器所能支持的负载分担算法,只有路由器支持逐包负载分担并且配置此算法之后,才能比较均匀的将流量分配每个业务上。但是逐包负载分担容易造成报文的乱序,占用服务器端的处理性能,另外如果业务网关上需要建立流表监控连接状态,则不能使用逐包负载分担。而逐流负载分担无法保证将流量均匀的分配到每台业务网关上,这样,如果某个业务网关上流入的流量小于均分之后的限流阈值,就会导致限速之后的总流量小于预期的限流阈值。

对于方案2:该方案需要将相同的目的IP的流量分配到相同的业务网关上进行处理,这就导致当某个目的IP流量比较大时,容易消耗掉对应的业务网关的处理性能,进而影响到这台业务网关上其它目的IP的流量。

针对上述问题,本发明实施例提供了一种不需要特定的负载分担方式的情况下实现业务传输速率的控制的技术方案,以下结合具体实施例详细说明。

实施例1

根据本发明实施例,提供了一种业务传输速率的控制方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请实施例1所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图2是本发明实施例的一种业务传输速率的控制方法的计算机终端的硬件结构框图。如图2所示,计算机终端20可以包括一个或多个(图中仅示出一个)处理器202(处理器202可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器204、以及用于通信功能的传输模块206。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端20还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。

存储器204可用于存储应用软件的软件程序以及模块,如本发明实施例中的业务传输速率的控制方法对应的程序指令/模块,处理器202通过运行存储在存储器204内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的漏洞检测方法。存储器204可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器204可进一步包括相对于处理器202远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端20。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输模块206用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端20的通信供应商提供的无线网络。在一个实例中,传输模块206包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块206可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

在上述运行环境下,本申请提供了如图3所示的业务传输速率的控制方法。图3是根据本发明实施例1的业务传输速率的控制方法的流程图。如图3所示,该方法包括步骤S302-S308:

步骤S302,获取分布式环境中的业务网关组中各个业务网关上报的业务传输速率信息,其中,上述各个业务网关为向同一目的地址并行传输业务数据,并依据各自的限流阈值对业务数据的业务传输速率进行限制的网关;业务传输速率信息用于指示每个业务网关上针对目的地址的业务传输速率;

在一个可选实施例中,对于同一目的地址的业务传输速率可以表现为:用于对该目的地址的业务数据进行分流传输的各个业务网关上的速率之和,例如网关组中为同一目的地址的业务数据进行分流传输的业务网关数量为5,这5个业务网关上针对上述目的地址的业务传输速率分别为:10k/s、20k/s、40k/s、50k/s、70k/s,则对于该目的地址而言,该目的地址的业务传输速率应为:(10+20+40+50+70)k/s,即190k/s。

可选地,该步骤获取上述业务传输速率信息的方式有多种,例如在采用集中式控制方案时,可以通过一个集中式控制设备(即控制中心)接收业务网关组中各个业务网关上报的上述业务传输速率信息;在采用分布式控制方案时,可以由上述业务网关组中按照预设规则(例如采用哈希算法)选择的一个业务网关接收上述业务传输速率信息。

需要说明的是,本发明实施例中业务网关组中的各个业务网关是可以同时接收来自多个目的地址的业务数据的,本发明实施例为描述方便,可以仅考虑针对同一目的地址的业务数据的业务传输速率,但是,并不限于本发明实施例中所示实现方式。

在一个可选实施例中,上述业务传输速率信息可以表现为表示业务传输速率大小的值,还可以表现为一个指示信息,该指示信息用于指示上述业务传输速率,例如利用在本地存储的映射关系表(该映射关系表存储有所述指示信息与业务传输速率的对应关系)来得到上述业务传输速率。

需要说明的是,业务网关组是由分布式环境中的业务网关组成,可以是对同一目的IP的业务数据进行分流的业务网关,即用于分担同一目的地址的流量(此处可以表现为业务数据)的业务网关。

步骤S304,对于业务网关组中的每个业务网关,判断业务传输速率信息所指示的业务传输速率是否大于与业务网关对应的限流阈值;

可选地,上述限流阈值可以是预先设置的,也可以是由上述各个业务网关预先分配的,对于后者,可以表现为以下实现形式:在获取分布式环境中业务网关组上报的业务传输速率信息之前,为业务网关组中各个业务网关分配上述限流阈值,其中,为各个业务网关分配的限流阈值是相同的。

步骤S306,在至少一个判断结果为是时,将为各个业务网关分配的限流阈值调整为指定值,得到指定阈值,其中,指定值满足以下条件:各个业务网关上指定值的总和不大于运营商为目的地址分配的带宽;这样,由于指定阈值的总和不大于运营商为目的地址分配的带宽,因此,可以保证目的地址的业务传输速率不会超过上述带宽。事实上,为各个网关分配的限流阈值的总和一般是根据运营商为目的地址分配的带宽确定的,即限流阈值的总和不大于上述带宽。

在一个可选实施例中,指定阈值可以按照以下处理过程确定:获取每个业务网关上的业务传输速率在总业务传输速率中的占比,其中,该总业务传输速率为业务网关组中所有业务网关上针对目的地址的传输速率进行取和运算得到;按照占比与带宽确定为业务网关组中各个业务网关重新分配的指定阈值。具体地,上述实现过程的原理可以用以下公式表示:

Th=(x/S)*B,其中,Th为指定阈值,x表示业务网关组中每个业务网关上的业务传输速率,S表示总业务传输速率,B为常数,与运营商为上述目的地址分配的带宽相等,也可以表现为业务网关组中各个业务网关上针对上述目的地址的限流阈值的总和。

另外,从上述内容也可以看出,限流阈值和指定阈值并不是针对一个设备而言的,而是针对上述业务网关组中与目的地址对应的所有业务网关而言的,即限流阈值和指定阈值均可以理解为一组阈值或一种类型的阈值。

步骤S308,将指定阈值下发给上述业务网关组中的各个业务网关,这样,业务网关便可以根据指定阈值对针对上述目的地址的业务传输速率进行限制,从而实现限流。

在一个可选实施例中,业务网关可以为真实的业务网关设备,或者,分布式设备中可以进行独立作业的业务单元,对于后者,可以表现为具有多个独立CPU的设备,或者具有多个线卡的线卡插入式设备。另外,业务网关可以同时支持对多个目的地址的业务传输速率的限制。

需要说明的是,本发明实施例中的目的地址可以表现为IP地址,或者用于指示IP地址的标识等,但不限于此。

正如上面,步骤S302可以通过集中式控制方案和分布式控制方案实现,而事实上,本发明实施例中提供的业务传输速率的控制方法也是可以应用于分布式环境中的集中式控制设备或者业务网关组中的指定业务网关中的,其中,集中式控制设备为分布式环境中除业务网关组中的业务网关之外的设备。

对于集中式控制设备,可以为在分布式环境中新增加的一类设备,也可以是可以实现集中式控制的其它设备,此处并不作限定。对于指定业务网关通过以下方式确定:对所述目的地址进行哈希运算,得到与所述目的地址对应的哈希值;从所述业务网关组中选择与所述哈希值对应的业务网关作为所述指定业务网关。

其中,哈希算法是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出。

在一个可选实施例中,上述选择过程可以采用以下方式实现:

通过一定hash算法f(key)将不同目的IP的流量(即业务传输速率)计算分摊到这几个业务网关上,算法函数中的key即输入参数在这里为目的IP地址。例如共有4个业务网关,则可以采用折叠法的hash算法,将32bit的目的IP地址转换成2bit的hash值,hash值为0的目的IP则将其流量数据送给业务网关A,hash值为1的目的IP则将其流量数据送给业务网关B,hash值为2的目的IP则将其流量数据送给业务网关C,hash值为3的目的IP则将其流量数据送给业务网关D。

需要说明的是,上述两种控制方案仅是控制逻辑不同,即一种是集中式控制,一种是分布式控制,但是,这两种控制方式的主要设计思想是相同的,即根据每台业务网关上的流量大小(即业务传输速率)动态调整其对应的限流阈值(即对业务传输速率进行限制的阈值)。以下针对上述两种控制方案,结合具体实施例详细说明。

方案1,集中式控制方案

该控制方案中,数据收集、阈值的实时计算及其下发都在一台集中式的控制中心(即集中式控制设备)上实现。每台业务网关定时向控制设备上报每个目的IP的流量大小(即业务传输速率的大小),如图4所示,该控制方案的具体实现过程如下:

S402:初始时,控制中心根据业务网关(SGW)的个数将每个目的IP的实际限流阈值(相当于上述实施例中所述的限流阈值的总和B,一般与运营商为上述目的地址分配的带宽相等)均分为Limit_Threshold/N,然后向每个SGW下发目的IP地址均分之后的限流阈值(即图3所示实施例中的限流阈值),其中,N表示SGW的个数,为正整数;

S404:每个SGW对目的IP地址的业务传输速率(也可以为流量)进行实时统计,并定时向(比如5s)集中式控制设备上报针对目的IP地址的业务传输速率;

S406:集中式控制设备实时对流量信息进行分析和汇总,当发现某个SGW上某个目的IP地址的业务传输速率超过限流阈值之后,立即根据每个SGW上报上来的数据为每个SGW计算新的限流阈值(即指定阈值)。计算方法为:假定每个SGW上报上来某个目的IP的业务传输速率分别为DIP_SGW1_Rate,DIP_SGW2_Rate,DIP_SGWN_Rate,叠加得到该目的IP地址的总传输速率(DIP_Total_Rate),之后根据每个SGW上所承载的速率比例大小计算出指定阈值,例如SGW1上的指定阈值将是(DIP_SGW1_Rate/DIP_Total_Rate)*Limit_Threshold,并将每个SGW上对应的指定阈值下发到相应的SGW上,其中,Limit_Threshold为上述目的IP地址的总阈值,可以为运营商为该目的IP地址分配的带宽,例如,该目的IP地址对应的用户订制的带宽为10M/S,此时总阈值Limit_Threshold为10M/S,并且,DIP_SGW1_Rate,DIP_SGW2_Rate······DIP_SGWN_Rate的总和不会超过10M/S;

S408:下发指定阈值(DIP_SGWN_Rate/DIP_Total_Rate)*Limit_Threshold)以使SGW根据指定阈值进行限流(即对目的IP地址在该SGW上的业务传输速率进行限制)

S410:,重复步骤S402-S408,每个周期调整一次阈值,直至所有SGW上的业务传输速率均小于限流阈值(即SGW上输出的针对目的IP地址的总业务传输速率小于限流阈值)。

其中图4中的SGW表示业务网关或者分布式设备中独立作业的业务单元,ICS表示集中式控制系统,即控制设备。

其中,对于集中式控制设备的控制流程如图5所示,包括以下处理步骤:

步骤S502,向业务网关组中的所有业务网关(SGW)下发初始限流阈值(即限流阈值);

步骤S504,接收每个SGW上报的业务传输速率;

步骤S506,对相同目的IP地址的业务传输速率进行汇总;

步骤S508,判断某个SGW上的业务传输速率是否大于对应的限流阈值,如果是,转步骤S510,否则转步骤S504;

步骤S510,根据当前的业务传输速率在总业务传输速率(即定制带宽)中的比例,计算每个SGW针对目的IP地址的指定阈值;

步骤S512,向每个SGW下发更新后的指定阈值。

其中,各个SGW上的控制面处理流程如图6所示,包括以下处理步骤:

步骤S602,判断是否有消息输入,如果是,转步骤S604,否则等待;

步骤S604,接收集中式控制设备下发的指定阈值;

步骤S606,将针对目的IP地址的限流阈值更新为指定阈值。

其中,各个SGW上的数据面处理流程如图7所示,包括以下处理步骤:

步骤S702,接收报文;

步骤S704,统计目的IP地址的业务传输速率(即流量);

步骤S706,判断业务传输速率是否超过限流阈值,如果是,则转步骤S708,否则转步骤S702;

步骤S708,进行限流处理,即对业务传输速率进行限制;

步骤S710,发送流量日志;

步骤S712,业务网关进行其他处理,转步骤S704,其中,此处其他处理可以表现为数据转发等,例如在业务网关为防火墙设备时,该其他处理可以表现为网络地址转换(Network Address Translation,简称为NAT)、虚拟专用网络(Virtual PrivateNetwork,简称为VPN)访问。

方案2,分布式控制方案

通过一定的哈希方式,将不同目的IP的数据收集、实时计算及阈值下发分布在不同的业务网关上实现,同时,确保同一个目的IP的阈值计算集中在一个业务网关上处理,其它业务网关上针对该目的IP的流量日志都统一上报到这台业务网关上。如图8所示,具体实现过程如下:

步骤S802:初始时,管理员向每个SGW配置为目的IP配置相同的限流阈值(即限流阈值),同时在每个SGW上创建相同的SGW组,并将所有SGW都加入到该SGW组;

步骤S804:每个SGW对目的IP的业务传输速率进行实时统计,并基于目的IP地址进行哈希运算,按照运算结果从SGW组中选择一个SGW处理该目的IP地址的阈值计算并定时向该SGW上报该目的IP地址的业务传输速率,例如每个SGW都将目的IP地址为IP-A的业务传输速率发送给SGW2(下面的步骤都以IP-A和SGW2为例进行阐述);

步骤S806:SGW2对IP-A的业务传输速率进行分析和汇总,当发现某个SGW上IP-A的业务传输速率超过限流阈值之后,立即根据每个SGW上报上来的数据为每个SGW计算新的限流阈值(即指定阈值)。计算方法为:假定每个SGW上报上来IP-A的业务传输速率分别为DIP_SGW1_Rate,DIP_SGW2_Rate,DIP_SGWN_Rate,叠加得到IP-A的流量总值(用DIP_Total_Rate表示),之后根据每个SGW上所承载的流量比例大小(即业务传输速率在流量总值中的占比)计算出新的限流阈值。例如SGW1上的限流阈值将是(DIP_SGW1_Rate/DIP_Total_Rate)*Limit_Threshold,并将每个SGW上对应的新的限流阈值下发到相应的SGW上;

步骤S808:重复步骤S804-S808,即每个周期均调整一次阈值,直至所有SGW上的业务传输速率均小于限流阈值(指定阈值)。

其中,各个SGW上控制面处理流程如图9所示,包括以下步骤:

步骤S902,接收每个SGW上报的业务传输速率信息;

步骤S904,对相同目的IP地址的业务传输速率进行汇总;

步骤S906,判断是否某个SGW上的业务传输速率大于对应的限流阈值(即限流阈值),如果是,转步骤S908,否则,转步骤S902;

步骤S908,根据当前的业务传输速率在总业务传输速率中的比例,计算每个SGW针对目的IP地址的指定阈值;

步骤S910,向每个SGW下发更新后的上述指定阈值。

其中,各个SGW上的数据面处理流程如图10所示,包括以下步骤:

步骤S1002,接收报文;

步骤S1004,统计目的IP地址的业务传输速率(即流量);

步骤S1006,判断业务传输速率是否超过限流阈值,如果是,则转步骤S1008,否则转步骤S1010;

步骤S1008,进行限流处理,即对业务传输速率进行限制;

步骤S1010,对目的IP地址进行哈希运算,获取哈希值;

步骤S1012,根据哈希值从SGW组中选择对应的SGW;

步骤S1014,将业务传输速率发送到选择的SGW;

步骤S1016,业务网关进行其他处理。

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

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。

实施例2

根据本发明实施例,还提供了一种用于实施业务传输速率的控制方法的装置,该装置可以应用于计算机终端中,但是,该计算机终端完成的功能或结构不限于实施例1中的计算机终端中。例如,本实施例中的计算机终端可以表现为实施例1中的集中式控制设备或者SGW组中的指定业务网关,具体详见实施例1中的描述,此处不再赘述。如图11所示,该装置包括:

获取模块110,用于获取分布式环境中的业务网关组中各个业务网关上报的业务传输速率信息,其中,各个业务网关为向同一目的地址并行传输业务数据,并依据各自的限流阈值对业务数据的业务传输速率进行限制的网关;业务传输速率信息用于指示每个业务网关上针对目的地址的业务传输速率;

判断模块112,连接至获取模块110,用于对于业务网关组中的每个业务网关,判断业务传输速率信息所指示的业务传输速率是否大于与业务网关对应的限流阈值;

调整模块114,连接至判断模块112,用于在判断模块112输出的至少一个判断结果为是时,将为各个业务网关分配的限流阈值调整为指定值,得到指定阈值,其中,指定值满足以下条件:各个业务网关上指定值的总和不大于运营商为目的地址分配的带宽;

发送模块116,连接至调整模块114,用于将指定阈值下发给上述各个业务网关。

通过上述各个模块实现的功能,同样可以实现对目的地址的业务传输速率进行限制的目的,从而保证经过多台业务网关并行限流之后的总流量(即同一目的地址的总业务传输速率)符合预期的阈值。

可选地,如图12所示,调整模块114可以包括以下处理单元:

获取单元1140,用于获取每个业务网关上的业务传输速率在总业务传输速率中的占比,其中,总业务传输速率为业务网关组中所有业务网关上针对目的地址的业务传输速率进行取和运算得到;确定单元1142,连接至获取单元1140,用于按照占比与带宽确定为业务网关组中各个业务网关重新分配的指定阈值。

需要说明的是,本实施例的可选实施例可以参照实施例1中业务传输速率的控制方法中的实施例,此处不再赘述。

另外,本实施例中所涉及的各个模块可以通过软件或硬件来实现,对于后者,可以表现为以下形式:上述各个模块均位于同一处理器中,或者,上述各个模块位于不同的处理器中;或者,上述各个模块以任意组合的形式位于多个处理器中,但不限于以上表现形式。

实施例3

本实施例在业务网关侧提供一种业务传输速率的控制方法,如图13所示,该方法包括:

步骤S1302,业务网关组中的各个业务网关接收指定阈值,其中,各个业务网关为向同一目的地址并行传输业务数据,并依据各自的限流阈值对业务数据的业务传输速率进行限制的网关,指定阈值通过以下方式确定:

在业务网关组中任一业务网关上的业务传输速率大于与业务网关对应的限流阈值时,将为各个业务网关分配的限流阈值调整为指定值,得到指定阈值,其中,指定值满足以下条件:各个业务网关上指定值的总和不大于运营商为目的地址分配的带宽;

步骤S1304,业务网关依据指定阈值对本地的业务数据传输速率进行限制。

在一个可选实施例中,指定阈值可以通过以下方式确定:Th=(x/S)*B,其中,Th为指定阈值,x表示业务网关组中每个业务网关上的业务传输速率,S表示总业务传输速率,其中,总业务传输速率为业务网关组中所有业务网关上针对目的地址的传输速率进行取和运算得到。

可选地,本发明实施例提供的业务传输速率的控制方法可以通过一个控制中心或者业务网关组中的指定业务网关实现,例如,在业务网关组中的业务网关接收指定阈值之前,业务网关向分布式环境中的集中式控制设备或者业务网关组中的指定业务网关上报本地针对目的地址的业务传输速率。事实上,本实施例的上述处理过程体现了两种控制方案:集中式控制方案和分布式控制方案。关于这两种控制方案的具体实现方式可以参见实施例1中的描述,此处不再赘述。

可选地,在业务网关组中的业务网关接收指定阈值之前,业务网关获取限流阈值,并对该业务网关配置该限流阈值,其中,业务网关接收的限流阈值与业务网关组中的其它业务网关配置的限流阈值是相等的。需要说明的是,此处“获取”的含义包括但不限于:从第三方设备接收(例如集中式控制设备或其它业务网关等);本地配置(例如可以是由管理人员进行人工配置等)。

实施例4

本实施例提供一种业务传输速率的控制装置,用于实施实施例3中的业务传输速率的控制方法,该装置可以应用于业务网关组中的业务网关,其中,该业务网关组中的各个业务网关为针对同一目的地址的业务数据进行并行分流传输的网关;业务传输速率信息用于指示在业务网关上,针对目的地址的业务传输速率。如图14所示,该装置包括:

接收模块140,用于接收指定阈值;其中,该指定阈值通过以下方式确定:

在业务网关组中任一业务网关上的业务传输速率大于与业务网关对应的限流阈值时,将为各个业务网关分配的限流阈值调整为指定值,得到指定阈值,其中,指定值满足以下条件:各个业务网关上指定值的总和不大于运营商为目的地址分配的带宽;

限制模块142,连接至接收模块140,用于依据指定阈值对本地的上述业务数据传输速率进行限制。

可选地,上述指定阈值可以通过以下方式确定:Th=(x/S)*B,其中,Th为指定阈值,x表示业务网关组中每个业务网关上的业务传输速率,S表示总业务传输速率,总业务传输速率为业务网关组中所有业务网关上针对目的地址的传输速率进行取和运算得到。

需要说明的是,本实施例的可选实施例可以参照实施例1和3中业务传输速率的控制方法中的实施例,此处不再赘述。

另外,本实施例中所涉及的各个模块可以通过软件或硬件来实现,对于后者,可以表现为以下形式:接收模块140和限制模块142位于同一处理器中;或者,接收模块140和限制模块142分别位于第一处理器和第二处理器中。

实施例5

本实施例为集中式控制方案,即数据的收集汇总、阈值的计算下发等均在一台集中式控制设备上实现,本实施例提供了一种业务传输速率的控制系统,如图15所示,该控制系统包括:集中式控制设备150和业务网关组152,其中,

集中式控制设备150,用于接收业务网关组中的各个业务网关上报的业务传输速率信息,并在各个业务网关上的业务传输速率中存在大于限流阈值的业务传输速率时,将为各个业务网关分配的限流阈值调整为指定值,得到指定阈值;以及将指定阈值下发给各个业务网关;其中,各个业务网关为向同一目的地址并行传输业务数据,并依据各自的限流阈值对业务数据的业务传输速率进行限制的网关;业务传输速率信息用于指示每个业务网关上针对目的地址的业务传输速率;指定值满足以下条件:各个业务网关上指定值的总和不大于运营商为目的地址分配的带宽;

业务网关组152中的各个业务网关,用于上报业务传输速率信息并根据接收的指定阈值对每个业务网关上针对目的IP地址的业务传输速率进行限制。

需要说明的是,本实施例中的集中式控制设备和业务网关组的其他实现功能,可以参见实施例1-4中的相关描述,此处不再赘述。

实施例6

本实施例提供的方案为分布式控制方案,即通过预设规则(例如哈希运算规则),将不同目的地址的数据收集、实时计算及阈值下发等分布在不同的业务网关上实现,同时,确保同一个目的地址的阈值计算在一个业务网关上出来,其它业务网关上针对该目的地址的业务传输速率信息统一上报到该业务网关上。本发明实施例提供一种业务传输速率的控制系统,该系统包括:业务网关组,其中,

业务网关组中的指定业务网关,用于接收业务网关组中除指定业务网关之外的其他业务网关上报的业务传输速率信息;并在业务网关组中任一业务网关上的业务传输速率大于与业务网关对应的限流阈值时,将为各个业务网关分配的限流阈值调整为指定值,得到指定阈值;以及将指定阈值下发给其它业务网关;

其中,各个业务网关为向同一目的地址并行传输业务数据,并依据各自的限流阈值对业务数据的业务传输速率进行限制的网关;业务传输速率信息用于指示在业务网关上,针对目的地址的业务传输速率;指定值满足以下条件:各个业务网关上指定值的总和不大于运营商为目的地址分配的带宽。

可选地,指定业务网关为通过以下方式确定的业务网关:对目的地址的数据进行哈希运算,根据运算结果从业务网关组中选择出指定业务网关。

需要说明的是,本实施例中的集中式控制设备和业务网关组的其他实现功能,可以参见实施例1-4中的相关描述,此处不再赘述。

实施例7

本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。

可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。

在本实施例中,上述计算机终端可以执行业务传输速率的控制方法中以下步骤的程序代码:获取分布式环境中的业务网关组中各个业务网关上报的业务传输速率信息,其中,各个业务网关为向同一目的地址并行传输业务数据,并依据各自的限流阈值对业务数据的业务传输速率进行限制的网关;业务传输速率信息用于指示每个业务网关上针对目的地址的业务传输速率;对于业务网关组中的每个业务网关,判断业务传输速率信息所指示的业务传输速率是否大于与业务网关对应的限流阈值;在至少一个判断结果为是时,将为各个业务网关分配的限流阈值调整为指定值,得到指定阈值,其中,指定值满足以下条件:各个业务网关上指定值的总和不大于运营商为目的地址分配的带宽;将指定阈值下发给各个业务网关。

可选地,图16是根据本发明实施例的一种计算机终端的结构框图。如图16所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器161、存储器163、以及传输装置165。

其中,存储器163可用于存储软件程序以及模块,如本发明实施例中的安全漏洞检测方法和装置对应的程序指令/模块,处理器161通过运行存储在存储器163内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的系统漏洞攻击的检测方法。存储器163可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器163可进一步包括相对于处理器161远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

上述的传输装置165用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置165包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置165为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

其中,具体地,存储器163用于存储预设动作条件和预设权限用户的信息、以及应用程序。

处理器161可以通过传输装置调用存储器163存储的信息及应用程序,以执行下述步骤:获取每个业务网关上的业务传输速率在总业务传输速率中的占比,其中,总业务传输速率为业务网关组中所有业务网关上针对目的地址的传输速率进行取和运算得到;按照占比与带宽确定为业务网关组中各个业务网关重新分配的指定阈值。

可选的,上述处理器161还可以执行如下步骤的程序代码:按照哈希算法从业务网关组中选择一个业务网关作为指定业务网关。

采用本发明实施例,解决了分布式环境下尚无有效的保证经过多台业务网关的并行限流后的总流量符合预期的阈值的技术方案的技术问题。

本领域普通技术人员可以理解,图16所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图16其并不对上述电子装置的结构造成限定。例如,计算机终端A还可包括比图16中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图16所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。

实施例8

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例1所提供的业务传输速率的控制方法所执行的程序代码。

可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取分布式环境中的业务网关组中各个业务网关上报的业务传输速率信息,其中,各个业务网关为向同一目的地址并行传输业务数据,并依据各自的限流阈值对业务数据的业务传输速率进行限制的网关;业务传输速率信息用于指示每个业务网关上针对目的地址的业务传输速率;对于业务网关组中的每个业务网关,判断业务传输速率信息所指示的业务传输速率是否大于与业务网关对应的限流阈值;在至少一个判断结果为是时,将为各个业务网关分配的限流阈值调整为指定值,得到指定阈值,其中,指定值满足以下条件:各个业务网关上指定值的总和不大于运营商为目的地址分配的带宽;将指定阈值下发给各个业务网关。

此处需要说明的是,上述计算机终端群中的任意一个可以与网站服务器和扫描器建立通信关系,扫描器可以扫描计算机终端上php执行的web应用程序的值命令。

实施例9

本发明的实施例可以提供一种计算机终端,该计算机终端可以是与实施例7中所述计算机终端结构相同的终端,但是,功能与实施例7中所述计算机终端实现的功能不同。其具体结构可以参见图16所示,此处不再赘述。

在本实施例中,上述计算机终端可以执行业务传输速率的控制方法中以下步骤的程序代码:业务网关组中的各个业务网关接收指定阈值,其中,各个业务网关为向同一目的地址并行传输业务数据,并依据各自的限流阈值对业务数据的业务传输速率进行限制的网关,指定阈值通过以下方式确定:在业务网关组中任一业务网关上的业务传输速率大于与业务网关对应的限流阈值时,将为各个业务网关分配的限流阈值调整为指定值,得到指定阈值,其中,指定值满足以下条件:各个业务网关上指定值的总和不大于运营商为目的地址分配的带宽;业务网关依据指定阈值对本地的业务数据传输速率进行限制。

其中,图16所示计算机终端中的存储器163可用于存储软件程序以及模块,如本发明实施例中的业务传输速率的控制方法和装置对应的程序指令/模块。

处理器161可以通过传输装置调用存储器163存储的信息及应用程序,以执行下述步骤:业务网关向分布式环境中的集中式控制设备或者业务网关组中的指定业务网关上报本地针对目的地址的业务传输速率。

可选的,上述处理器161还可以执行如下步骤的程序代码:业务网关获取限流阈值并对业务网关配置限流阈值,其中,业务网关配置的限流阈值与业务网关组中的其它业务网关配置的限流阈值是相等的。

采用本发明实施例,解决了分布式环境下尚无有效的保证经过多台业务网关的并行限流后的总流量符合预期的阈值的技术方案的技术问题。

实施例10

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例1所提供的业务传输速率的控制方法所执行的程序代码。

可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:业务网关组中的各个业务网关接收指定阈值,其中,各个业务网关为向同一目的地址并行传输业务数据,并依据各自的限流阈值对业务数据的业务传输速率进行限制的网关,指定阈值通过以下方式确定:在业务网关组中任一业务网关上的业务传输速率大于与业务网关对应的限流阈值时,将为各个业务网关分配的限流阈值调整为指定值,得到指定阈值,其中,指定值满足以下条件:各个业务网关上指定值的总和不大于运营商为目的地址分配的带宽;业务网关依据指定阈值对本地的业务数据传输速率进行限制。

此处需要说明的是,上述计算机终端群中的任意一个可以与网站服务器和扫描器建立通信关系,扫描器可以扫描计算机终端上php执行的web应用程序的值命令。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的业务网关,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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