CN109787911B - 负载分担的方法、控制面实体和转发器 - Google Patents
负载分担的方法、控制面实体和转发器 Download PDFInfo
- Publication number
- CN109787911B CN109787911B CN201811505039.3A CN201811505039A CN109787911B CN 109787911 B CN109787911 B CN 109787911B CN 201811505039 A CN201811505039 A CN 201811505039A CN 109787911 B CN109787911 B CN 109787911B
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- equal
- repeater
- service processing
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 116
- 238000012545 processing Methods 0.000 claims abstract description 296
- 238000013507 mapping Methods 0.000 claims description 196
- 238000005538 encapsulation Methods 0.000 claims description 123
- 238000004590 computer program Methods 0.000 claims description 15
- 238000004806 packaging method and process Methods 0.000 claims description 9
- 238000003780 insertion Methods 0.000 claims description 8
- 230000037431 insertion Effects 0.000 claims description 8
- 238000007726 management method Methods 0.000 description 236
- 238000010586 diagram Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 11
- 238000004064 recycling Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
- H04L47/522—Dynamic queue service slot or variable bandwidth allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种负载分担的方法、控制面实体和转发器,其中,所述方法包括:控制面将承载报文的总带宽分为多份等份带宽;所述控制面为转发器分配一份或者多份的等份带宽,将分配的所述一份或者多份的等份带宽与所述转发器相关联,以及,将分配的所述一份或者多份的等份带宽与业务处理实例相关联;所述控制面接收所述转发器发送的报文,将所述报文通过与所述转发器相关联的等份带宽转发至对应的业务处理实例。本发明实施例中,转发器上的报文流量到达控制面只能占用分配的所有等份带宽的带宽值,而且等份带宽上的报文流量只能转发到关联的业务处理实例,避免影响其他转发器的流量。
Description
技术领域
本发明实施例涉及但不限于一种负载分担的方法、控制面实体、集群管理组件、负载分担器、转发器管理组件、转发器和计算机可读存储介质。
背景技术
BRAS(Broadband Remote Access Server,宽带接入服务器)是一种面向宽带网络应用的接入网关。它是宽带接入网和骨干网之间的桥梁,提供基本的接入手段和宽带接入网的管理功能。它位于网络的边缘,提供宽带接入服务、实现多种业务的汇聚与转发,能满足不同用户对传输容量和带宽利用率的要求,因此是宽带用户接入的核心设备。BRAS对于接入的用户首先进行认证,认证通过允许用户访问宽带网络,认证失败拒绝用户接入。
软件定义BRAS,集中控制面一般部署在通用服务器上,转发在转发器上,转发器组成转发池,业务处理可以在池上进行负载负担。图1为转发面和控制面的架构图。
转发面由多个转发器组成,这些转发器受控制面的控制。控制面包括LB(loadbalance,负载分担器)、多个业务处理实例、集群管理组件和转发器管理组件。LB是控制面的入口,所有的上送报文,上报数据/事件都经过LB,上送报文经过LB实施负载分担策略,然后根据负载分担策略选定业务处理实例并转发报文到该实例进行控制业务处理。由于转发面管理的多个转发器,上报的报文数量比较多,所以要求LB有较强的IO(Input/Output,输入/输出)和CPU(Central Processing Unit,中央处理器)计算能力。转发器管理组件管理转发器,转发器上报的数据/事件也通过LB直接发送到转发器管理组件。整个控制面是个集群系统,系统的管理由集群管理组件负责。
该系统的上报报文的处理转发存在下面的情况:
转发面的转发器上的业务不是均匀的,有的转发器业务量大,有的业务量小,业务量的业务报文流量较大,上送到控制面的LB会占用较多的带宽,其他的转发器上送的报文流量得不到转发,影响其他转发器上业务处理。更有甚者,恶意攻击者对系统进行饿死攻击,发送大量的非法报文,冲击控制面和饿死正常工作的转发器。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供了一种负载分担的方法、控制面实体、集群管理组件、负载分担器、转发器管理组件、转发器和计算机可读存储介质,以合理分配转发器带宽。
本发明实施例提供了一种负载分担的方法,包括:
控制面将承载报文的总带宽分为多份等份带宽;
所述控制面为转发器分配一份或者多份的等份带宽,将分配的所述一份或者多份的等份带宽与所述转发器相关联,以及,将分配的所述一份或者多份的等份带宽与业务处理实例相关联;
所述控制面接收所述转发器发送的报文,将所述报文通过与所述转发器相关联的等份带宽转发至对应的业务处理实例。
本发明实施例还提供一种负载分担的方法,包括:
集群管理组件将负载分担器LB承载报文的总带宽分为多份等份带宽;
所述集群管理组件为转发器分配一份或者多份的等份带宽,所述一份或者多份的等份带宽与所述转发器相关联,以及,将分配的所述一份或者多份的等份带宽与业务处理实例相关联,以使所述转发器向LB发送的报文通过与所述转发器相关联的等份带宽转发至对应的业务处理实例。
本发明实施例还提供一种负载分担的方法,包括:
LB接收转发器发送的报文;其中,所述转发器与一份或者多份的等份带宽相关联,所述一份或者多份的等份带宽与业务处理实例相关联;
所述LB将所述报文通过与所述转发器相关联的等份带宽转发至对应的业务处理实例。
本发明实施例还提供一种负载分担的方法,包括:
转发器管理组件确定集群管理组件为所述转发器分配的一份或者多份的等份带宽;
所述转发器管理组件将分配的所述一份或者多份的等份带宽与所述转发器相关联,以使所述转发器向LB发送的报文通过与所述转发器相关联的等份带宽转发至对应的业务处理实例。
本发明实施例还提供一种负载分担的方法,包括:
转发器获取上送报文封装表;其中,所述上送报文封装表指示所述转发器与一份或者多份的等份带宽相关联;
所述转发器根据所述上送报文封装表,将所述报文发送至LB,以使所述报文通过与所述转发器相关联的等份带宽转发至对应的业务处理实例。
本发明实施例还提供一种控制面实体,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述负载分担的方法。
本发明实施例还提供一种集群管理组件,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述负载分担的方法。
本发明实施例还提供一种负载分担器LB,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述负载分担的方法。
本发明实施例还提供一种转发器管理组件,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述负载分担的方法。
本发明实施例还提供一种转发器,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述负载分担的方法。
本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行所述负载分担的方法。
本发明实施例包括:将承载报文的总带宽分为多份等份带宽;为转发器分配一份或者多份的等份带宽,将分配的所述一份或者多份的等份带宽与所述转发器相关联,以及,将分配的所述一份或者多份的等份带宽与业务处理实例相关联;接收所述转发器发送的报文,将所述报文通过与所述转发器相关联的等份带宽转发至对应的业务处理实例。本发明实施例中,转发器上的报文流量到达控制面只能占用分配的所有等份带宽的带宽值,而且等份带宽上的报文流量只能转发到关联的业务处理实例,避免影响其他转发器的流量。
在阅读并理解了附图和详细描述后,可以明白其他方面。
附图说明
图1为软件定义BRAS的转发面和控制面的架构图;
图2为本发明实施例的系统架构图;
图3为本发明实施例的负载分担的方法(应用于控制面)的流程图;
图4为本发明实施例的步骤103的流程图;
图5为本发明实施例的携带映射标识的报文转发流程示意图;
图6为本发明另一实施例的负载分担的方法(应用于控制面)的流程图;
图7为本发明实施例的LB上送报文转发动态调整示意图;
图8为本发明实施例的系统启动及运行经过三个阶段示意图;
图9为本发明实施例的负载分担的方法(应用于集群管理组件)的流程图;
图10为本发明实施例的集群管理组件的组成示意图;
图11为本发明实施例的负载分担的方法(应用于LB)的流程图;
图12为本发明另一实施例的负载分担的方法(应用于LB)的流程图;
图13为本发明实施例的步骤802的流程图;
图14为本发明实施例的LB的组成示意图;
图15为本发明实施例的负载分担的方法(应用于转发器管理组件)的流程图;
图16为本发明实施例的转发器管理组件的组成示意图;
图17为本发明实施例的业务处理实例的组成示意图;
图18为本发明实施例的负载分担的方法(应用于转发器)的流程图;
图19为本发明实施例的转发器的组成示意图;
图20为本发明应用实例的PPPoE Client接入组网示意图;
图21为本发明应用实例的分配一个等份带宽后的上送报文转发到业务处理单元的流程示意图;
图22为本发明应用实例的检测到发生性能问题自动调节转发器的带宽的流程示意图;
图23为本发明应用实例的业务处理实例接口出现丢包自动调整业务处理实例流程示意图;
图24为本发明应用实例的封装类型为替换的流程示意图;
图25为本发明应用实例的封装类型为插入到尾部的流程示意图;
图26为本发明应用实例的将映射标识映射为其他报文的字段的流程示意图;
图27为本发明应用实例的两个转发器的PPPoE接入组网示意图;
图28为本发明应用实例的转发器上送报文流量限制在范围内的流程示意图;
图29为本发明实施例的控制面实体的组成示意图;
图30为本发明实施例的集群管理组件的组成示意图;
图31为本发明实施例的LB的组成示意图;
图32为本发明实施例的转发器管理组件的组成示意图;
图33为本发明实施例的转发器的组成示意图。
具体实施方式
下文中将结合附图对本发明的实施例进行详细说明。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
目前,存在有些转发器报文流量过大,而有些转发器上送的报文流量得不到转发的情况。在LB接收端带宽保证的情况下,由于负载分担策略的原因,转发到业务处理实例不均匀,造成有的业务处理实例负担较重,有的较轻,而且负载较重的业务处理实例的业务不能调节到其他业务处理实例,影响业务的可用性。
如果采用人工配置修改,则灵活性差,业务调整时间长、人工调整稍不注意就会引起配置错误,引起业务恶化甚至不可用。
如图2所示,为本发明实施例的系统架构图,本发明实施例中,把LB上的带宽按照一定粒度分成等份下的带宽,一份或者多份的等份带宽和转发器相关联,并且一份或者多份的等份带宽和业务处理实例相关联,转发器上的报文流量到达LB只能占用分配的等份带宽,等份带宽上的报文流量只能转发到关联的业务处理实例。
如图3所示,本发明实施例的负载分担的方法,应用于控制面,包括:
步骤101,将承载报文的总带宽分为多份等份带宽。
在一实施例中,将承载报文的总带宽按照预设的粒度分为多份等份带宽。
其中,集群管理组件根据用户策略定义的粒度,把LB的总带宽分割成多个等份带宽,并对每个等份带宽分配一个ID(标识),每个等份带宽的ID具有唯一性不能和其他的等份带宽相同。
在一实施例中,步骤101之后,所述方法还包括:
根据等份带宽生成调度单元,每份等份带宽对应一个调度单元,通过所述调度单元进行带宽限速,所述调度单元限速的带宽值为对应的等份带宽的带宽值。
所述调度单元位于LB中,具体实施包括但不限于:通用服务器的软件实现、可编程硬件实现、硬件电路实现。这些实施方式具体与业务场景、性能及成本考虑有关。
步骤102,为转发器分配一份或者多份的等份带宽,将分配的所述一份或者多份的等份带宽与所述转发器相关联,以及,将分配的所述一份或者多份的等份带宽与业务处理实例相关联。
在一实施例中,所述为转发器分配一份或者多份的等份带宽,包括:
根据所述转发器的带宽需求,确定所述转发器需要的最小等份带宽个数,为所述转发器分配最小个数的等份带宽。
其中,转发器管理组件分析估计转发器的转发器带宽需求,把转发器带宽需求通知给集群管理组件。集群管理组件根据转发器带宽需求,计算转发器需要的最小等份带宽个数、最大等份带宽个数以及默认等份带宽权重,然后分配最小个数的等份带宽,把分配的等份带宽ID和等份带宽权重通知转发器管理组件。
在一实施例中,所述将分配的所述一份或者多份的等份带宽与所述转发器相关联,包括:
为所述转发器分配关联的等份带宽的标识和等份带宽权重,根据所述等份带宽的标识和等份带宽权重生成上送报文封装表,将所述上送报文封装表发送至所述转发器。
其中,转发器管理组件收到给转发器分配的等份带宽ID和等份带宽权重,生成上送报文封装表。
在一实施例中,所述根据所述等份带宽的标识和等份带宽权重生成上送报文封装表,包括:
根据所述等份带宽的标识确定映射标识,根据所述映射标识和等份带宽权重生成所述上送报文封装表。
所述上送报文封装表规定了上送报文携带的字段,该字段标识一个等份带宽,使用等份带宽ID根据映射策略(mapping policy,简称为MP)生成该字段,该字段叫做映射标识(mapping identity,简称为MI)。
所述映射策略可以包括但不限于如下策略:
第一种映射策略:将所述等份带宽的标识作为映射标识。
这种映射策略直接在报文封装等份带宽ID,这种情况下MI就是等份带宽ID。
第二种映射策略:将所述等份带宽的标识映射成预设的报文标识,将所述预设的报文标识作为映射标识。
这种映射策略把等份带宽ID映射成标准的报文字段,如:VLAN ID(Virtual LocalArea NetworkIdentifier,虚拟局域网标识)、MPLS label(Multiprotocol LabelSwitching label,多协议标签交换标签)、隧道ID、VxLAN VNI(Virtual ExtensibleNetwork Identifier,虚拟扩展局域网网络标识)等。
在一实施例中,所述上送报文封装表还携带封装类型(encapsulation type,简称为ET)。
所述上送报文封装表还规定了封装类型,对于所述的第一种映射策略,封装类型用于指示封装所述映射标识的协议,也就是使用何种协议扩展封装等份带宽ID。对于第二种映射策略,封装类型用于指示通过插入或替换的方式封装所述映射标识。
当上送报文在封装之前不包含映射策略定义的标准报文字段,则按照标准协议插入该映射标识。当上送报文在封装之前已包含映射策略定义的标准报文字段,封装类型规定映射标识封装是插入还是替换。
所述插入是指当上送报文在封装之前已经包含该映射策略定义的标准报文字段时,也插入映射标识。这时,所述封装类型还用于指示插入的顺序。所述顺序是指插入在头部还是尾部。
所述替换是指当上送报文在封装之前已经包含映射策略定义的报文字段时,把已包含报文字段删除替换为映射标识。由于有些标准协议的字段在报文中只能出现一次,所以对于这种映射标识的封装类型只有替换。
所述映射策略和封装类型可以由人工配置指定,配置指定时通知了集群管理组件和转发器管理组件,集群管理组件把映射策略和封装类型通知LB。由于转发器上可能分配多个等份带宽ID,所以上送报文封装表中规定了映射标识封装的选择权重,所述映射标识封装的选择权重为等份带宽的权重。转发器根据所述等份带宽权重,为上送报文选择映射标识。选择的方法包括但不限于:轮询、哈希等方法。同时,选择映射标识时,权重大的上送报文选择几率高,对于权重小的映射标识上送报文选择几率低。转发器管理组件把生成的上送报文封装表通知转发器,转发器接收所述的表项保存,当需要上送报文到控制面时,上送报文查询上送报文封装表进行映射标识的封装并发送报文到控制面。
在一实施例中,所述方法还包括:
根据所述转发器关联的等份带宽和映射标识的对应关系,以及等份带宽与调度单元的对应关系,生成调度单元查询表项,所述调度单元查询表项组成调度单元查询表。
其中,转发器管理组件把每个转发器的等份带宽ID和映射标识的对应关系通知集群管理组件,集群管理组件根据等份带宽ID查询到调度单元,生成调度单元查询表项,表项的关键字为映射标识,查询结果为调度单元,把调度单元查询表项通知LB,LB接收到调度单元查询表项添加到调度单元查询表。
在一实施例中,所述将分配的所述一份或者多份的等份带宽与业务处理实例相关联,包括:根据所述转发器关联的等份带宽和映射标识的对应关系,以及映射标识与业务处理实例的对应关系生成业务处理实例转发表。
其中,集群管理组件生成业务处理实例转发表,表项的关键字为映射标识,查询结果为业务处理实例。一般业务处理实例的处理能力较强,所以初始时可以多个转发器对应一个业务处理实例。也就是,业务处理实例转发表中的表项存在不同映射标识查询到相同业务处理实例的情况。
步骤103,接收所述转发器发送的报文,将所述报文通过与所述转发器相关联的等份带宽转发至对应的业务处理实例。
本发明实施例中,转发器上的报文流量到达控制面只能占用分配的所有等份带宽的带宽值,而且等份带宽上的报文流量只能转发到关联的业务处理实例,避免影响其他转发器的流量。
如图4所示,在一实施例中,所述步骤103包括:
步骤201,接收转发器发送的报文,根据映射策略和封装类型,确定所述报文中携带的映射标识,根据所述映射标识查询调度单元查询表,确定对应的调度单元,通过所述调度单元对所述报文进行调度。
步骤202,在所述调度单元的调度结果为通过时,通过所述映射标识查询业务处理实例转发表,确定对应的业务处理实例,将所述报文转发至所述业务处理实例。
步骤203,在所述调度单元的调度结果为丢弃时,丢弃所述报文,对丢弃的报文进行统计计数。
如图5所示,为携带映射标识的报文转发流程示意图。其中,携带映射标识的报文转发到控制面的LB,先查询映射策略和封装类型,然后根据映射策略和封装类型从报文中解析出映射标识,使用映射标识作为关键字到调度单元查询表中查找到调度单元,报文输入到查询到的调度单元对报文进行调度,调度结果有两种结果:通过或者丢弃。当结果为通过时,使用映射标识作为关键字查询业务处理实例转发表,获取到目的业务处理实例,最后把报文转发到目的业务处理实例进行控制业务处理。当为丢弃时,对丢弃报文进行统计计数。
控制面的集群管理组件获取LB和业务处理实例的性能数据。LB的性能数据包括:调度队列的每个调度单元的总带宽、当前占用带宽、丢包数;业务处理实例的性能数据包括:接口的总带宽、当前占用带宽、丢包数、CPU使用率、内存使用率。LB上的总带宽一般不会变化,在LB初始化完成后把总带宽通知集群管理组件,然后集群管理组件就可以计算出每个调度单元的总带宽,后续集群管理组件不用再获取LB的调度单元总带宽。业务处理实例的接口总带宽,一般不会变化,在业务处理实例初始化完成后通知集群管理组件接口的总带宽,后续集群管理组件不用再获取业务处理实例的接口总带宽。其他性能数据由集群管理组件实时监控。
监控的方法有拉方式和推方式:拉方式是集群管理组件定时查询LB和每个业务处理实例的性能数据,这种方式集群管理组件可以控制获取性能数据频率,集群管理组件不会工作过载,但是实时性较差;推方式是LB或者业务处理实例当感知到性能数据变化时,主动通知集群管理组件变化的性能数据,这种方式实时性高,但是当性能数据变化剧烈时,向集群管理组件发送的数据较多,有造成集群管理组件工作超载的风险。
当集群管理组件检测到LB或者业务处理实例的性能变化时,对于LB关注调度单元的丢包计数增加,对于业务处理实例接口丢包计数、CPU利用率增高超过定义的阈值、内存使用率超过定义的阈值,集群管理组件动态调整LB的上送报文转发,减轻和解决性能问题。
如图6所示,在一实施例中,所述方法还包括:
步骤104,根据负载情况实时调整所述转发器对应的等份带宽,以及业务处理实例数量中的至少之一。
本发明实施例通过自动监控调整机制,根据负载情况调节转发器的占用带宽,提高了带宽利用率和系统吞吐量。
其中,可分为三种情况:
第一种情况:负载情况包括调度单元的丢包情况,调整转发器对应的等份带宽。
其中,在确定所述转发器对应的调度单元丢包时,根据丢包数和丢包时长确定需要增加的带宽;根据需要增加的带宽调整所述转发器对应的等份带宽的权重,或者,增加所述转发器对应的等份带宽。
参照图7,这种情况下,动态调整可包括如下步骤:
步骤301,LB初始化完成后通知集群管理组件LB的总带宽,集群管理组件根据用户策略定义的粒度,把LB的带宽分割成多个等份带宽,为每个等份带宽分配调度单元,每个调度单元设置的带宽为所对应的等份带宽的带宽值。
步骤302,当集群管理组件检测到LB的等份带宽的调度单元有丢包时,LB主动上报或者集群管理组件查询当前LB出现丢包的等份带宽的调度单元的性能数据,在集群管理组件触发上送报文转发动态调整处理。集群管理组件根据调度单元上的丢包计数和考虑时间因素,计算出转发器上需要增加的带宽。对新增的这部分带宽有两种增加方案:把新增带宽迁移到该转发器的其他调度单元上(根据需要增加的带宽调整所述转发器对应的等份带宽的权重);转发器分配新的等份带宽,这样就增加了该转发器的上送报文在LB上转发的总的带宽,避免该转发器上送报文的丢包。
步骤303,集群管理组件判断是迁移到其他调度单元,新增带宽迁移到其他调度单元的条件:当转发器存在其他分配的等份带宽,且其他分配的等份带宽剩余的带宽可以满足新增带宽。通过减少产生丢包的调度单元的等份带宽的权重或者增加其他等份带宽的权重来调节转发器的上送报文选择等份带宽调度单元。
步骤304,集群管理组件把变化权重的等份带宽ID和新的权重值通知转发器管理组件。
步骤305,转发器管理组件接收等份带宽ID和权重值,根据等份带宽ID查询到映射标识,对映射标识设置新的选择权重值,也就是等份带宽的权重值。更新转发器的上送报文封装表,设置所述的映射标识新的选择权重,并通知转发器更新上送报文封装表。
步骤306,当丢包所在调度单元所属的转发器只有一个等份带宽,或者转发器上其他等份带宽所剩带宽不满足需新增的带宽,且转发器的总等份带宽没有到达可分配的上限,则进行为转发器新增等份带宽处理。集群管理组件从LB总的带宽分配等份带宽,获取等份带宽的ID和等份带宽权重。如果转发器的总等份带宽达到了可分配的上限,不能继续调整,可给出告警退出调整流程。
步骤307,集群管理组件获取等份带宽ID和等份带宽权重通知转发器管理组件。转发器管理组件根据映射策略和封装策略,为该等份带宽生成映射标识,指定等份带宽的权重为该映射标识的选择权重。生成新的上送报文封装表条目,所述的映射标识和选择权重添加到条目中。
步骤308,把新增的上送报文封装表条目通知转发器,转发器接收并添加到本地的上送报文封装表中。
步骤309,转发器管理组件通知集群管理组件映射标识。集群管理组件为新增的等份带宽新增调度单元查询表条目,填入等份带宽的映射标识和调度单元。集群管理组件为新增的等份带宽分配业务处理实例:当新增等份带宽所属的转发器关联的业务处理实例有空余的处理能力,则选择该业务处理实例为新增的等份带宽的业务处理实例;否则,为该新增等份带宽分配新的业务处理实例。集群管理组件生成业务处理实例转发表条目,添加新增等份带宽的映射标识和为新增等份带宽选择或者新增的业务处理实例。
步骤310,转发器管理组件通知LB新生成的调度单元查询表条目,LB接收调度单元查询表条目,添加到本地的调度单元查询条目中。
步骤311,转发器管理组件通知LB新生成的业务处理实例转发表条目,LB接收控制实例转发表条目,添加到本地的业务处理实例转发表中。
第二种情况:所述负载情况包括业务处理实例的性能情况,调整所述转发器对应的等份带宽,以及业务处理实例数量中的至少之一。
其中,在业务处理实例出现性能问题时,确定需要增加的业务处理实例能力;
根据需要增加的业务处理实例能力,执行如下至少之一操作:
调整与所述出现性能问题的业务处理实例关联的等份带宽的权重;
增加业务处理实例,将出现性能问题的业务处理实例关联的等份带宽中的一份或多份关联至增加的业务处理实例;
增加等份带宽和业务处理实例。
其中,所述性能问题可以包括但不限于:接口出现丢包、CPU利用率超过预设的阈值、内存利用率超过预设的阈值。
参照图7,这种情况下,动态调整可包括如下步骤:
步骤401,当集群中的每个业务处理实例初始化完成后,业务处理实例通知集群管理组件业务处理实例的接口总带宽,集群管理组件接收到每个业务处理实例的接口总带宽保存。
步骤402,业务处理实例出现性能问题:接口出现丢包、CPU利用率超过定义的阈值、内存利用率超过预设的阈值。通过业务处理实例主动通知集群管理组件或者集群管理组件定时查询业务处理实例的性能数据,集群管理组件触发业务处理实例调整处理。集群管理组件计算出需新增的业务处理实例能力,检查需新增业务处理实例的转发器上其他业务处理实例剩余的能力是否可以满足新增的业务处理实例能力。如果满足则调整和业务处理实例相关联的等份带宽的权重,使出现性能问题的业务处理实例的上送报文转发到该转发器的其他业务处理实例上进行处理;如果不满足,检查出现性能问题的业务实例是否关联多个等份带宽,如果关联多个等份带宽,则只新增等份带宽,把出现问题的业务处理实例的部分等份带宽的上送报文迁移到新增的业务处理实例;如果没有关联多个等份带宽,新增等份带宽和业务处理处理实例,让出现问题的业务处理实例的部分上送报文处理切换到新增的等份带宽和业务处理实例上。
步骤403,集群管理组件判断转发器其他的业务处理实例剩余能力满足需要新增的业务处理实例能力,调整转发器的业务处理实例相关联的等份带宽的权重,可以增加除出现性能问题的业务处理实例的其他业务处理实例相关联等份带宽的权重,也可以减小出现性能问题的业务处理实例的相关联的等份带宽的权重。
步骤404~步骤405和步骤304~步骤305相同,不再赘述。
步骤406,集群管理组件判断转发器其他的业务处理实例剩余能力不满足需要新增的业务处理实例能力,集群管理组件从LB的总的带宽分配新的等份带宽和业务处理实例,并获取分配的等份带宽的权重。
步骤407~步骤408和步骤307~步骤308相同,不再赘述。
步骤409,转发器管理组件通知集群管理组件映射标识。集群管理组件为新增的等份带宽新增调度单元查询表条目,填入等份带宽的映射标识和调度单元。集群管理组件生成业务处理实例转发表条目,添加新增等份带宽的映射标识和为新增等份带宽新增的业务处理实例。
步骤410~步骤411和步骤310~步骤311相同,不再赘述。
第三种情况,所述负载情况包括调度单元占用的带宽情况,回收分配给转发器的等份带宽。
这种情况下,当转发器的用户量较少,确定分配给转发器的等份带宽是否需要回收。
其中,获取每个调度单元占用的带宽;在所述转发器关联的调度单元大于一个时,根据所述转发器关联的调度单元占用的带宽,确定是否回收所述转发器关联的等份带宽。
集群管理组件监控转发器相关联的每个等份带宽的调度单元,获取每个调度单元的占用的带宽。如果转发器关联的调度单元只有一个,则不进行等份带宽回收。当大于一个时,首先从所有调度单元获取占用带宽最小的调度单元,然后计算其他剩余调度单元的剩余带宽合,如果剩余带宽合大于等于所述调度单元的占用带宽,则进行等份带宽回收流程。也就是说,根据在所述转发器关联的所有调度单元中,除占用带宽最小的调度单元之外的其他调度单元的剩余带宽之和大于所述占用带宽最小的调度单元的占用带宽,确定回收所述占用带宽最小的调度单元关联的等份带宽。
所述转发器关联的等份带宽回收后,检查该转发器的回收后剩余的所有等份带宽是否需要回收,如果剩余等份带宽满足回收条件则继续回收,直到该转发器只剩余一个等份带宽或者转发器的每个调度单元的占用带宽都大于其他等调度单元剩余的带宽的和。
所述回收所述转发器关联的等份带宽,可包括:
标识待回收的等份带宽为空闲,回收所述空闲的等份带宽的映射标识,删除所述空闲的等份带宽相关的上送报文封装表条目,并通知所述转发器删除所述空闲的等份带宽相关的上送报文封装表条目,删除所述空闲的等份带宽相关的调度单元查询表条目和业务处理实例转发表条目。
其中,集群管理组件标识该等份带宽为空闲,通知转发器管理组件回收等份带宽的映射标识,回收映射标识后,删除相关的上送协议报文封装表条目,并通知转发器删除上送协议报文封装表条目。集群管理组件删除等份带宽相关联的调度单元查询表条目和业务处理实例转发表条目,并通知LB删除所述调度单元查询表条目和业务处理实例转发表条目。
本发明实施例通过对LB上的带宽精细化的划分,每个转发器的在LB上的带宽根据负载情况实时调整,这样既可以做到某个转发器不耗空LB带宽,又做到了LB带宽的充分利用。同时,通过实时监控业务处理实例的负载情况,并动态调整工作负载,避免了具体一个业务处理实例出现超载情况。
如图8所示,本发明实施例的系统启动及运行经过三个阶段:
步骤501,集群发现阶段,该阶段为启动第一阶段。控制面所管理的一个或者多个转发器启动后向转发器管理组件通告加入,转发器管理组件接收每个转发器的加入通告,注册转发器信息。在控制面内部,转发器组件、LB、一个或者多个业务处理实例向集群管理组件通告加入,集群管理组件接收组件加入通告,注册组件信息。
步骤502,配置和初始化阶段,进行配置及配置后进行系统初始化。配置主要是:等份带宽的粒度、等份带宽的映射策略和封装策略、业务处理实例CPU使用率阈值、业务处理实例内存使用率阈值。根据发现的转发器信息、LB性能数据信息、业务处理实例性能数据信息和配置数据,为转发器分配等份带宽,根据等份带宽生成LB的转发上送报文的表项,可以包括:映射策略和封装策略表、调度单元查询表、业务处理实例转发表,转发器上送报文在LB通过查询这些表项进行转发。同时生成转发器的上送报文转发到LB时的与等份带宽对应的上送报文封装表,上送报文根据映射标识的选择权重选择合适的映射标识,根据封装类型上送报文封装映射标识转发到LB。
步骤503,自动调整阶段,实时监控LB的性能数据和业务处理实例的性能数据,当出现性能问题时,进行转发器的上送报文的转发和业务处理调整,解决性能问题。可以包括:调整转发器上的与等份带宽对应的映射标识的选择权重,调整流量;或者为转发器新增等份带宽和业务处理实例调整分配给转发器的带宽和业务处理能力来解决性能问题。自动调整阶段是个迭代的阶段,一次调整可能不能做的最优的性能优化,继而根据性能数据递归调整多次,直到最优地解决性能问题。自动调整阶段也可增加人工智能(AI)技术,智能、自动、灵活的进行性能优化。
下面分别对每个组成部件分别进行描述。
如图9所示,本发明实施例的负载分担的方法,应用于集群管理组件,包括:
步骤601,集群管理组件将负载分担器LB承载报文的总带宽分为多份等份带宽。
在一实施例中,所述集群管理组件将LB承载报文的总带宽按照预设的粒度分为多份等份带宽。
其中,集群管理组件根据用户策略定义的粒度,把LB的总带宽分割成多个等份带宽,并对每个等份带宽分配一个ID,每个等份带宽的ID具有唯一性不能和其他的等份带宽相同。
在一实施例中,步骤601之后,所述方法还包括:
所述集群管理组件指示所述LB根据等份带宽生成调度单元,每份等份带宽对应一个调度单元,以使所述LB通过所述调度单元进行带宽限速,所述调度单元限速的带宽值为对应的等份带宽的带宽值。
所述调度单元位于LB中,具体实施包括但不限于:通用服务器的软件实现、可编程硬件实现、硬件电路实现。这些实施方式具体与业务场景、性能及成本考虑有关。
步骤602,所述集群管理组件为转发器分配一份或者多份的等份带宽,所述一份或者多份的等份带宽与所述转发器相关联,以及,将分配的所述一份或者多份的等份带宽与业务处理实例相关联,以使所述转发器向LB发送的报文通过与所述转发器相关联的等份带宽转发至对应的业务处理实例。
在一实施例中,所述集群管理组件为所述转发器分配一份或者多份的等份带宽,包括:
所述集群管理组件根据所述转发器的带宽需求,确定所述转发器需要的最小等份带宽个数,为所述转发器分配最小个数的等份带宽。
其中,集群管理组件根据转发器管理组件发送的转发器带宽需求,计算转发器需要的最小等份带宽个数、最大等份带宽个数以及默认等份带宽权重,然后分配最小个数的等份带宽。
在一实施例中,所述集群管理组件为转发器分配一份或者多份的等份带宽,还包括:
所述集群管理组件为所述一份或者多份的等份带宽分配等份带宽的标识和等份带宽权重,将所述等份带宽的标识和等份带宽权重发送至转发器管理组件,以使所述转发器管理组件生成上送报文封装表。
所述上送报文封装表规定了上送报文携带的字段,该字段标识一个等份带宽,使用等份带宽ID根据映射策略生成该字段,该字段为映射标识。
一实施例中,所述方法还包括:
所述集群管理组件根据所述转发器关联的等份带宽和映射标识的对应关系,以及等份带宽与调度单元的对应关系,生成调度单元查询表项,所述调度单元查询表项组成调度单元查询表。
其中,集群管理组件根据等份带宽ID查询到调度单元,生成调度单元查询表项,表项的关键字为映射标识,查询结果为调度单元,把调度单元查询表项通知LB。
在一实施例中,所述将分配的所述一份或者多份的等份带宽与业务处理实例相关联,包括:
所述集群管理组件根据所述转发器关联的等份带宽和映射标识的对应关系,以及映射标识与业务处理实例的对应关系生成业务处理实例转发表。
其中,集群管理组件生成业务处理实例转发表,表项的关键字为映射标识,查询结果为业务处理实例。一般业务处理实例的处理能力较强,所以初始时可以多个转发器对应一个业务处理实例。也就是,业务处理实例转发表中的表项存在不同映射标识查询到相同业务处理实例的情况。
在一实施例中,所述方法还包括:
所述集群管理组件根据所述LB的负载情况实时调整所述转发器对应的等份带宽。
其中,所述LB的负载情况包括LB的调度单元的丢包情况,所述集群管理组件根据所述LB的负载情况实时调整所述转发器对应的等份带宽,包括:
所述集群管理组件在确定所述转发器对应的调度单元丢包时,根据丢包数和丢包时长确定需要增加的带宽;
所述集群管理组件根据需要增加的带宽调整所述转发器对应的等份带宽的权重,或者,增加所述转发器对应的等份带宽。
在一实施例中,所述LB的负载情况包括LB的调度单元的带宽情况,所述集群管理组件根据所述LB的负载情况实时调整所述转发器对应的等份带宽,包括:
所述集群管理组件获取每个调度单元占用的带宽;
在所述转发器关联的调度单元大于一个时,所述集群管理组件根据所述转发器关联的调度单元占用的带宽,确定是否回收所述转发器关联的等份带宽。
在一实施例中,所述集群管理组件根据所述转发器关联的调度单元占用的带宽,确定是否回收所述转发器关联的等份带宽,包括:
所述集群管理组件根据在所述转发器关联的所有调度单元中,除占用带宽最小的调度单元之外的其他调度单元的剩余带宽之和大于所述占用带宽最小的调度单元的占用带宽,确定回收所述占用带宽最小的调度单元关联的等份带宽。
在一实施例中,所述方法还包括:
所述集群管理组件根据业务处理实例的负载情况实时调整所述转发器对应的等份带宽,以及业务处理实例数量中的至少之一。
在一实施例中,所述业务处理实例的负载情况包括所述业务处理实例的性能情况,所述集群管理组件根据业务处理实例的负载情况实时调整所述转发器对应的等份带宽,以及业务处理实例数量中的至少之一,包括:
所述集群管理组件在业务处理实例出现性能问题时,确定需要增加的业务处理实例能力;
所述集群管理组件根据需要增加的业务处理实例能力,执行如下至少之一操作:
调整与所述出现性能问题的业务处理实例关联的等份带宽的权重;
增加业务处理实例,将出现性能问题的业务处理实例关联的等份带宽中的一份或多份关联至增加的业务处理实例;
增加等份带宽和业务处理实例。
集群管理组件管理LB上报的带宽,同时管理业务处理实例的性能。如图10所示,集群管理组件可包括:组件管理模块701和转发管理模块702。
其中,所述组件管理模块701可用于:
1、组件的加入和离开管理,所述组件包括LB、所有业务处理实例和转发器管理组件。
2、监控LB和所有业务处理实例的性能数据。所述LB性能数据包括:LB连接转发器的总的带宽;调度队列的所有调度单元的总带宽、已使用带宽以及丢包数。所述业务处理实例性能数据包括:接口带宽、接口已使用带宽和丢包数;CPU使用率、内存使用率。
3、将性能数据发送给集群管理组件的转发管理模块702。
所述转发管理模块702可用于:
1、接收用户配置。所述配置可包括:等份带宽的映射策略和封装类型;业务处理实例的CPU使用率超限阈值;业务处理实例的内存使用率超限阈值;等份带宽的粒度。通知LB用户配置的映射策略和封装类型。
2、接收集群管理组件的组件管理模块71发送的LB和业务处理实例性能数据。
3、根据LB总带宽和配置的等份带宽粒度,生成等份带宽池,并为每个等份带宽分配唯一的ID;为每个等份带宽生成调度单元,调度单元的带宽设置成等份带宽的带宽值,调度单元加入到调度队列。
4、接收转发器管理组件请求分配等份带宽请求,请求消息中携带请求等份带宽的转发器信息。根据转发器信息为请求的每个转发器分配最少等份带宽个数和最大等份带宽个数。返回转发器管理组件请求的转发器最少个数的等份带宽以及每个等份带宽的ID和等份带宽初始权重。
5、接收转发器管理组件发送的为转发器分配的每个等份带宽的映射标识。生成每个等份带宽的调度单元查询表条目,条目填入等份带宽的映射标识和等份带宽的调度单元,通知LB添加调度单元查询表条目。为每个通知的映射标识所属的等份带宽分配业务处理实例,生成业务处理实例转发表条目,填入等份带宽的映射标识和业务处理实例,通知LB添加业务处理实例转发表条目。
6、查看集群管理组件的组件管理模块71通知的LB上等份带宽的调度单元是否有丢包,有丢包判断丢包的调度单元上有性能问题,触发LB转发调整处理。根据调度单元的丢包数,加上丢包的时间因素,计算出需新增的带宽。获取调度单元所属的转发器:调度单元属于具体的某个等份带宽,等份带宽又属于某个转发器。计算转发器上所有除出现性能问题的其他调度单元的所剩余的带宽,如果计算出的剩余带宽满足需要新增的带宽,则调整转发器的等份带宽的权重:出现性能问题的等份带宽减少权重或者未有性能问题的等份带宽增加权重,重新计算的等份带宽权重通知转发器管理组件。如果计算出的剩余带宽不满足新增的带宽,则为该转发器分配新的等份带宽,通知转发器管理组件新分配的等份带宽ID和权重,并接收转发器管理组件返回的等份带宽映射标识。生成新分配的等份带宽的调度单元查询表条目,添加返回的映射标识和等份带宽的调度单元。为新增等份带宽分配业务处理实例,根据转发器的所有业务处理实例剩余能力是否满足新增的等份带宽,如果满足则采用为转发器已分配的业务处理实例,否则选择新的业务处理实例,生成业务处理实例转发表条目,填入等份带宽的映射标识和选取的业务处理实例。
7、查看集群管理组件的组件管理模块通知的业务处理实例的接口有丢包,或者CPU使用率超过用户定义的超限阈值,或者内存使用率超过用户定义的超限阈值,判断业务处理实例出现性能问题,触发业务处理实例工作负载调整处理。根据性能数据计算出现性能问题的业务处理实例需要新增的能力。检查所述业务处理实例所属的转发器其他业务处理实例剩余的能力是否可以满足需要新增能力,调整所述转发器的业务处理实例关联的等份带宽权重,较小出现性能问题的业务处理实例关联的等份带宽的权重,或者增加其他业务处理实例的相关联的等份带宽的权重,把变化的等份带宽权重通知转发器管理组件。当所述的转发器的其他业务实例的剩余能力不满足新增能力时,分配新的等份带宽和新的业务处理实例,通知转发器管理组件等份带宽ID和权重,接收转发器管理组件根据等份带宽ID和权重、映射策略、封装策略生成的映射标识。生成新的调度单元查询表条目,填入分配的等份带宽对应的映射标识和等份带宽的调度单元,把生成的所述条目通知LB。生成新的业务处理实例转发表条目,填入分配的等份带宽对应的映射标识和新的业务处理实例,把生成的所述条目通知LB。
8、接收转发器管理组件的等份带宽删除请求,删除请求的等份带宽,删除等份带宽相关的调度单元查询表和业务处理实例转发表。并通知LB删除所述的调度单元查询表和业务处理实例转发表。
如图11所示,本发明实施例的负载分担的方法,应用于LB,包括:
步骤801,LB接收转发器发送的报文;其中,所述转发器与一份或者多份的等份带宽相关联,所述一份或者多份的等份带宽与业务处理实例相关联。
如图12所示,在一实施例中,步骤801之前,所述方法还包括:
步骤800,所述LB根据集群管理组件的指示,根据等份带宽生成调度单元,每份等份带宽对应一个调度单元;所述LB通过所述调度单元进行带宽限速,所述调度单元限速的带宽值为对应的等份带宽的带宽值。
所述调度单元位于LB中,具体实施包括但不限于:通用服务器的软件实现、可编程硬件实现、硬件电路实现。这些实施方式具体与业务场景、性能及成本考虑有关。
步骤802,所述LB将所述报文通过与所述转发器相关联的等份带宽转发至对应的业务处理实例。
如图13所示,在一实施例中,步骤802,包括:
步骤901,所述LB根据映射策略和封装类型,确定所述报文中携带的映射标识,根据所述映射标识查询调度单元查询表,确定对应的调度单元,通过所述调度单元对所述报文进行调度。
步骤902,在所述调度单元的调度结果为通过时,所述LB通过所述映射标识查询业务处理实例转发表,确定对应的业务处理实例,将所述报文转发至所述业务处理实例。
步骤903,在所述调度单元的调度结果为丢弃时,所述LB丢弃所述报文,对丢弃的报文进行统计计数。
在一实施例中,所述LB还向集群管理组件通告实时性能数据,所述性能数据包括:调度单元的占用带宽、调度单元的丢包计数,丢包计数的时间因素等。
在一实施例中,所述LB接收集群管理组件的通知,添加或者删除调度单元查询表条目。
在一实施例中,所述LB接收集群管理组件的通知,添加或者删除业务处理实例转发表条目。
如图14所示,本发明实施的LB包括:转发模块1001和资源管理模块1002。
所述转发模块1001可用于:
1、接收LB的资源管理模块1002发送的调度单元查询表条目的添加和删除请求,添加或者删除本模块相关调度单元查询表条目。
2、接收LB的资源管理模块1002发送的业务实例转发表条目的添加和删除请求,添加或者删除本模块相关业务实例转发表条目。
3、接收LB的资源管理模块1002发送的映射策略表和封装类型表添加和删除请求,添加或者删除本模块的映射策略和封装类型表。
4、接收转发器上送报文,根据映射策略和封装策略,从报文解析报文获取映射标识,使用映射标识作为关键字查询调度单元查询表获取调度单元,把报文输入到调度单元,调度进行转发调度,当调度单元的所剩的带宽可以通过该报文时,查询业务处理转发表,否则报文丢弃并统计计数。使用报文的映射标识作为关键字查询业务处理转发表,获取具体的业务处理实例,把报文转发到业务处理实例进行处理。
所述资源管理模块1002可用于:
1、向集群管理组件通告LB的离开和加入。
2、向集群管理组件通告LB加入时总带宽。
3、接收集群管理组件发送的生成等份带宽调度单元请求,生成等份带宽的调度单元,设置调度单元的带宽为等份带宽的带宽值。
4、向集群管理组件通告LB实时性能数据,性能数据包括:调度单元的占用带宽、调度单元的丢包计数,丢包计数的时间因素等
5、接收集群管理组件通知的映射策略表和封装策略表添加或者删除请求,通知LB的转发模块添加或者删除映射策略表和封装策略表
6、接收集群管理组件通知的调度单元查询表条目的添加或者删除请求,通知LB的转发模块添加或者删除调度单元查询表条目。
7、接收集群管理组件通知的业务处理实例转发表条目的添加或者删除请求,通知LB的转发模块添加或者删除业务处理实例转发表条目。
如图15所示,本发明实施的负载分担的方法,应用于转发器管理组件,包括:
步骤1101,转发器管理组件确定集群管理组件为所述转发器分配的一份或者多份的等份带宽。
在一实施例中,步骤1101之前,所述方法还包括:所述转发器管理组件确定转发器的带宽需求,将所述带宽需求告知集群管理组件。
其中,转发器管理组件分析估计转发器的转发器带宽需求,把转发器带宽需求通知给集群管理组件。
转发器管理组件接收集群管理组件的通知,获知集群管理组件为所述转发器分配的一份或者多份的等份带宽的等份带宽ID和等份带宽权重。
步骤1102,所述转发器管理组件将分配的所述一份或者多份的等份带宽与所述转发器相关联,以使所述转发器向LB发送的报文通过与所述转发器相关联的等份带宽转发至对应的业务处理实例。
在一实施例中,所述转发器管理组件将分配的所述一份或者多份的等份带宽与所述转发器相关联,包括:
所述转发器管理组件接收集群管理组件为所述一份或者多份的等份带宽分配等份带宽的标识和等份带宽权重,根据所述等份带宽的标识和等份带宽权重生成上送报文封装表,将所述上送报文封装表发送至所述转发器。
在一实施例中,所述根据所述等份带宽的标识和等份带宽权重生成上送报文封装表,包括:
所述转发器管理组件根据所述等份带宽的标识确定映射标识,所述上送报文封装表包含所述映射标识和等份带宽权重。
在一实施例中,所述方法还包括:
所述转发器管理组件根据集群管理组件的通知,更新所述上送报文封装表,并通知所述转发器更新所述上送报文封装表。
控制面的转发器管理组件发现转发器,并管理转发器上报的性能。如图16所示,本发明实施例的转发器管理组件包括:资源管理模块1201和转发管理模块1202。
所述资源管理模块1201可用于:
1、检测转发器的加入和离开,转发器加入后请求转发器管理组件的转发管理模块1202分配转发器的LB转发带宽,转发器离开后请求转发器管理组件的转发管理模块1202撤销转发器的LB转发带宽。
2、接收转发器上报的转发器资源信息。
3、接收转发器管理组件的转发管理模块的转发器资源查询请求,返回转发器的资源信息。
所述转发管理模块1202可用于:
1、接收用户配置的等份带宽映射策略和封装策略。
2、接收转发器的资源管理模块1201的分配LB转发带宽请求,到资源管理模块1201查询加入转发器的资源信息,计算需要的最小和最大LB转发带宽。
3、请求集群管理组件分配转发器的LB转发带宽,请求消息中携带需要的最小和最大LB转发带宽。
4、接收集群管理组件一个或者多个分配的等份带宽ID和等份带宽权重,根据等份带宽策略生成映射标识,指定映射标识的选择权重为等份带宽权重。为每个等份带宽生成转发器的上送报文封装表条目,条目中填入等份带宽生成的映射标识、封装策略和选择权重,生成的所述上送报文封装表条目通知转发器。生成的等份带宽的映射标识通知集群管理组件。
5、接收集群管理组件通知的等份带宽的权重修改请求,根据等份带宽ID查询到等份带宽的映射标识,设置所述的映射标识的选择权重为新的等份带宽权重,并更新转发器的上送报文封装表中相关映射标识的选择权重,并通知转发器更新所述的上送报文封装表条目的选择权重字段。
6、接收转发器的资源管理模块的撤销LB转发带宽请求,释放转发器相关的所有上送报文封装表条目,通知转发器删除所有上送报文封装条目。通知集群管理组件释放为转发器分配的等份带宽。
如图17所示,本发明实施例的业务处理实例包括:业务处理模块1301和资源管理模块1302。
所述业务处理模块1301可用于:
1、接收上送报文,进行业务处理。
所述资源管理模块1302可用于:
1、向集群管理组件通告业务处理实例加入和离开。
2、业务处理实例加入时,向集群管理组件通告接口带宽。
3、实时收集业务处理实例的接口已使用带宽、接口丢包计数,丢包计数统计的时间因素、CPU使用率、内容使用率等,向集群管理组件通告。
如图18所示,本发明实施例的负载分担的方法,应用于转发器,包括:
步骤1401,转发器获取上送报文封装表;其中,所述上送报文封装表指示所述转发器与一份或者多份的等份带宽相关联。
步骤1402,所述转发器根据所述上送报文封装表,将所述报文发送至LB,以使所述报文通过与所述转发器相关联的等份带宽转发至对应的业务处理实例。
在一实施例中,所述上送报文封装表包含映射标识和等份带宽权重,所述转发器根据所述上送报文封装表,将所述报文发送至LB,包括:
所述转发器根据所述等份带宽权重,为所述报文选择相应的等份带宽,根据选择的等份带宽确定对应的映射标识,将所述映射标识按照预设的封装策略,封装入所述报文中,发送至所述LB。
在一实施例中,所述方法还包括:
所述转发器根据转发器管理组件的通知,更新所述上送报文封装表。
如图19所示,本发明实施例的转发器包括:转发模块1501和资源管理模块1502。
所述转发模块1501可用于:
1、根据接收转发器组件的资源管理模块1502通知的上送报文封装表条目添加或删除消息,添加或者删除本模块上的上送报文封装表条目。
2、接收转发器组件的资源管理模块1502通知的上送报文封装表条目选择权重的更新消息,根据映射标识查询到具体条目,更新选择权重字段。
3、识别上送报文,查询上送报文封装表,根据选择权重选择合适的条目,获取需封装的映射标识,根据封装类型把映射标识封装到上送报文,转发封装后到的报文到控制面的LB。
所述资源管理模块1502可用于:
1、向转发器管理组件通告转发器加入和离开。
2、向转发器管理组件通告转发器加入。
3、转发器离开时,向转发器管理组件通告删除转发器的所有等份带宽。
4、接收转发器管理组件通知的上送报文封装表条目添加或删除,向转发器组件的转发管理模块通知添加或者删除上送报文封装表条目
5、接收转发器管理组件通知的上送报文封装表条目选择权重的更新消息,向转发器组件的转发管理模块通知更新上送报文封装表条目中的选择权重。
综上所述,采用本发明实施例,通过分配一定个数范围的等份带宽,可以控制总的转发器的上送报文流量,避免影响其他转发器的流量,而且通过自动监控调整机制,根据系统负载调节转发器的占用带宽,提高了带宽利用率和系统吞吐量。
下面以一些应用实例进行说明。
如图20所示,为一种实施方式的组网图:多个PPPoE(Point-to-Point ProtocolOver Ethernet,基于以太网的点对点通讯协议)Client(客户端)接入到运营商的接入网中,接入网向上连接转发器,转发器位于城域网的边缘层,vBRAS的控制面位于城域网中的数据中心。PPPoE client通过转发器把PPPoE接入报文上送到vBRAS的控制面,完成PPPoEclient的接入控制。控制面由两个业务处理实例组成,PPPoE client的协议上送报文在业务处理实例中处理。
在集群发现阶段、配置和初始化阶段,设置的等份带宽的粒度为每秒钟处理10个上送报文,划分了30个等份带宽,对应于生成了30个等份带宽的调度单元。转发器发现后,集群管理组件分配最小等份带宽个数为1,最大等份带宽个数为10,等份带宽的权重为10。转发器管理组件的映射策略为把等份带宽ID映射成VLAN,转发器的分配的第一个等份带宽的映射标识为VLAN 10,封装策略为插入到原有报文VLAN字段的后面。该等份带宽的上送报文转发到业务处理实例1进行处理。
图21为分配一个等份带宽后的上送报文转发到业务处理单元的流程示意图。
步骤1601,PPPoE client发出PPPoE协议报文,转发器收到PPPoE协议报文。
步骤1602,在转发器上查询上送报文封装表,因为转发器只分配了一个等份带宽,所以获取到的映射标识为VLAN 10,封装策略为插入到报文中,如果报文中已存在VLAN,则在已存在的VLAN的后面插入VLAN 10。
步骤1603,封装VLAN 10的PPPoE报文转发到控制面的LB。
步骤1604,根据映射策略和封装策略,从报文中解析出等份带宽的映射标识VLAN10,使用VLAN 10查询调度单元查询表,获取调度单元对报文进行调度,当前调度单元并发的协议报文数小于10个,所以剩余带宽能够满足该报文,则报文进行转发,使用VLAN 10查询业务处理实例查询表,获取业务处理实例1。
步骤1605,PPPoE协议报文转发到业务处理实例1,PPPoE协议报文在业务处理实例1上进行处理。
当等份带宽的调度单元的带宽不能满足接受到的报文后,调度单元将报文丢弃并对丢包报文进行统计,集群管理组件检测到调度单元有丢包则进行调整处理,解决报文在LB的转发性能问题。
图22为检测到发生性能问题自动调节转发器的带宽的流程图。
步骤1701,PPPoE client发出PPPoE协议报文,转发器收到PPPoE协议报文。
步骤1702,转发器在PPPoE协议报文中插入等份带宽的映射标识VLAN10,然后把报文转发到LB。
步骤1703,LB从报文中根据映射策略和封装策略解析出映射标识VLAN10,用VLAN10查询调度单元,查询到调度单元对PPPoE报文进行调度,由于调度单元现在的已经并发了10个协议报文,所以带宽使用已达到上限,所以不能转发该协议报文,报文进行丢弃处理,并统计丢包计数。
步骤1704,集群管理组件监控到LB的调度单元有丢包,触发业务报文转发自动调整。
步骤1705,集群管理组件为转发器分配新的等份带宽,随之分配了该等份带宽的调度单元,该调度单元的总带宽为等份带宽的带宽值。
步骤1706,集群管理组件把等份带宽的ID和权重通知转发器管理组件。
步骤1707,转发器管理组件为转发器新的等份带宽根据映射策略生成映射标识VLAN 20。
步骤1708,转发器管理组件生成转发器上的上送报文封装表条目,添加新生成的映射标识VLAN 20、权重和封装策略,通知转发器添加生成的上送报文封装表条目。
步骤1709,转发器管理组件把生成的映射标识VLAN 20通知集群管理组件。
步骤1710,集群管理组件生成新的等份带宽的调度单元查询表条目,添加映射标识VLAN 20和等份带宽的调度单元,并通知LB添加所述条目,所述调度单元查询表条目查询关键字为映射标识VLAN 20,查询结果为调度单元。业务处理实例1还有剩余能力,新生成的等份带宽的业务处理实例选择业务处理实例1,生成新的等份带宽的业务处理实例转发表条目,添加映射标识VLAN 20和业务处理实例1,并通知LB添加所述条目,所述业务处理实例转发表条目的查询关键字为映射标识VLAN 20,查询结果为业务处理实例1。
步骤1711,PPPoE client的协议报文在调整之前报文丢弃,PPPoE client重传PPPoE协议报文,重传报文转发到转发器。
步骤1712,转发器的上送报文封装表有两个条目,映射标识分别为VLAN 10和VLAN20的,根据转发器上的封装表的选择策略,选择VLAN 20进行映射标识的封装,封装后的报文转发到LB。
步骤1713,LB从报文中解析出映射标识VLAN 20,通过VLAN 20查询调度单元,由于调度单元的等份带宽是新增的,调度单元有充足带宽转发协议报文。然后,根据映射标识VLAN 20查询业务处理实例转发表,目的业务处理实例为业务处理实例1,转发PPPoE协议报文到业务处理实例1进行处理。
多个等份带宽关联到一个业务处理实例,业务处理实例的工作可能过载,实际表现为业务处理实例的接口出现丢包,CPU使用率冲高、内存使用率冲高。图23为业务处理实例接口出现丢包时,自动调整业务处理实例流程图。
步骤1801,PPPoE client发出PPPoE协议报文,转发器收到PPPoE协议报文。
步骤1802,转发器在PPPoE协议报文中插入等份带宽的映射标识VLAN 20,然后把报文转发到LB。
步骤1803,LB从报文中根据映射策略和封装策略解析出映射标识VLAN 20,用VLAN20查询调度单元,查询到调度单元对PPPoE报文进行调度,调度单元的可用带宽满足PPPoE协议报文,然后转发到业务处理实例1。
步骤1804,业务处理实例1的接口带宽占尽,丢弃PPPoE协议报文,并统计丢包计数。
步骤1805,集群管理组件监控到业务处理实例1接口出现丢包,触发进行业务处理实例调整流程。
步骤1806,业务处理实例1接口出现丢包,增加业务处理实例2分担业务处理实例1的工作负载,因为关联业务实例1的等份带宽有两个,所以选取映射标识为VLAN 20的等份带宽关联业务处理实例2。
步骤1807,集群管理组件使用VLAN 20作为关键字查询业务处理实例转发表,获取转发条目,更新业务处理实例为业务处理实例2,通知LB更新所述的业务处理实例转发表条目。
步骤1808,PPPoE client的协议报文在调整之前报文丢弃,PPPoE client重传PPPoE协议报文,重传报文转发到转发器。
步骤1809,转发器在PPPoE协议报文中封装映射标识VLAN 20,转发到LB。
步骤1810,LB从协议报文中解析出映射标识VLAN 20,查询到等份带宽对应的调度单元,调度单元有可用带宽转发协议报文,协议报文通过VLAN20查找业务处理实例转发表,获取目的业务处理实例为业务处理实例2,PPPoE协议报文送到业务处理实例2进行处理。
当DHCP(Dynamic Host Configuration Protocol,动态主机设置协议)协议报文已经携带VLAN,同时映射标识的映射策略为封装VLAN,这时就需要考虑具体的封装类型。图24为封装类型为替换的流程示意图。
步骤1901,DHCP客户端申请地址,发出DHCP协议报文。
步骤1902,转发器收到DHCP协议报文。查询上送报文封装表,查询等份带宽映射标识及封装类型。映射标识为封装VLAN200,封装类型为替换。原报文携带VLAN100,由于封装类型为替换,所以先剥掉VLAN100,然后封装VLAN200。
步骤1903,转发器发送DHCP协议报文到LB,携带VLAN200。
步骤1904,LB上根据映射策略和封装类型,解析出VLAN 200,将VLAN200作为映射标识查询调度单元查询表,经过调度单元的调度后报文为转发,查询业务处理实例查询表,获取业务处理实例1。
步骤1905,LB发送DHCP协议报文到业务处理实例1。
图25为封装类型为插入到尾部的流程示意图。
步骤2001,DHCP客户端申请地址,发出DHCP协议报文。
步骤2002,转发器收到DHCP协议报文。查询上送报文封装表,查询等份带宽映射标识及封装类型。映射标识为封装VLAN200,封装类型为插入到尾部。原报文携带VLAN100,由于封装类型为插入到尾部,所以在VLAN100后封装VLAN200。
步骤2003,转发器发送DHCP协议报文到LB,携带VLAN100和VLAN200。
步骤2004,LB上根据映射策略和封装类型定位映射标识是报文的VLAN100后的VLAN200,解析出VLAN 200,VLAN200作为映射标识查询调度单元查询表,经过调度单元的调度后报文为转发,查询业务处理实例查询表,获取业务处理实例1。
步骤2005,LB发送DHCP协议报文到业务处理实例1。
协议报文携带映射标识处理映射为VLAN,也可以指定映射为其他报文的字段。例如,专线用户通过ARP(Address Resolution Protocol,地址解析协议)上线,协议报文在转发器和LB之间通过VxLAN隧道传输,可以把映射标识映射成VxLAN的VNI。图26为流程示意图。
步骤2101,专线用户发出ARP协议报文。
步骤2102,转发器收到ARP协议报文。查询上送报文封装表,查询等份带宽映射标识及封装类型。映射标识为封装VNI 10。协议报文进行VxLAN封装后,设置VNI为10。
步骤2103,转发器发送ARP协议报文到LB,该ARP协议报文已进行VxLAN封装,VNI为10。
步骤2104,LB收到VxLAN封装的ARP协议报文,进行VxLAN解封装,获取VNI 10,根据映射策略和封装类型,确定VNI 10为映射标识,根据VNI 10查询调度单元查询表,经过调度单元的调度后报文为转发,查询业务处理实例查询表,获取业务处理实例1。
步骤2105,LB发送ARP协议报文到业务处理实例1。
多个转发器向相同的控制面上送报文,如果其中的转发器流量较大,占用控制面入口LB较多的带宽,影响其他转发器的上送报文。设置每个转发器的最大等份带宽个数,可以限制每个转发器的上送报文的最大流量,这样可以保证不影响其他转发器。如图27,LB上有20个等份带宽,转发器1分配等份带宽为1~10个等份带宽,转发器2分配等份带宽为1~10个等份带宽。如图28为转发器上送报文流量限制在范围内的流程图。
步骤2201,初始化阶段分别为转发器1和转发器2分配1个等份带宽。
步骤2202,转发器1的上送报文流量转发到LB,上送流量不超过分配的等份带宽。
步骤2203,LB转发转发器1的上送报文流量到业务处理实例。
步骤2204,转发器1的上送报文流量转发到LB,上送流量超过分配的等份带宽。
步骤2205,LB上调度转发器1的上送报文流量,由于流量超过了分配的等份带宽,超过部分丢弃,并统计丢包计数。
步骤2206,集群管理组件监控发现LB转发转发器1的上送报文出现丢包,分配一个新的等份带宽。
步骤2207,转发器1的上送报文流量转发到LB,由于转发器1分配了一个新的等份带宽,所以上送流量不超过分配的等份带宽。
步骤2208,LB转发转发器1的上送报文流量到业务处理实例。
重复步骤2204~步骤2208 9次,直到为转发器1分配了10个等份带宽。
步骤2209,LB上调度转发器1的上送报文流量,由于流量超过了分配的等份带宽,超过部分丢弃,并统计丢包计数
步骤2210,由于已经为转发器1分配了10个等份带宽,到达了分配的上限不能再分配等份带宽。
步骤2211,转发器2上送报文转发到LB。
步骤2212,转发器2已分配了一个等份带宽,可以满足上送报文的调度转发,上送报文转发到业务处理实例。
如图29所示,本发明实施例还提供一种控制面实体,包括:存储器2301、处理器2302及存储在存储器2301上并可在处理器2302上运行的计算机程序2303,所述处理器2302执行所述程序时实现如图3所示的负载分担的方法。
如图30所示,本发明实施例还提供一种集群管理组件,包括:存储器2401、处理器2402及存储在存储器2401上并可在处理器2402上运行的计算机程序2403,所述处理器2402执行所述程序时实现如图9所示的负载分担的方法。
如图31所示,本发明实施例还提供一种LB,包括:存储器2501、处理器2502及存储在存储器2501上并可在处理器2502上运行的计算机程序2503,所述处理器2502执行所述程序时实现如图11所示的负载分担的方法。
如图32所示,本发明实施例还提供一种转发器管理组件,包括:存储器2601、处理器2602及存储在存储器2601上并可在处理器2602上运行的计算机程序2603,所述处理器2602执行所述程序时实现如图15所示的负载分担的方法。
如图33所示,本发明实施例还提供一种转发器,包括:存储器2701、处理器2702及存储在存储器2701上并可在处理器2702上运行的计算机程序2703,所述处理器2702执行所述程序时实现如图18所示的负载分担的方法。
本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行所述负载分担的方法。
在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (38)
1.一种负载分担的方法,包括:
控制面将承载报文的总带宽分为多份等份带宽;
所述控制面为转发器分配一份或者多份的等份带宽,将分配的所述一份或者多份的等份带宽与所述转发器相关联,以及,将分配的所述一份或者多份的等份带宽与业务处理实例相关联;
所述控制面接收所述转发器发送的报文,将所述报文通过与所述转发器相关联的等份带宽转发至对应的业务处理实例;
其中,所述将分配的所述一份或者多份的等份带宽与所述转发器相关联,具体包括:
所述控制面为所述转发器分配关联的等份带宽的标识和等份带宽权重,根据所述等份带宽的标识和等份带宽权重生成上送报文封装表,将所述上送报文封装表发送至所述转发器。
2.如权利要求1所述的方法,其特征在于,所述控制面将承载报文的总带宽分为多份等份带宽,包括:
所述控制面将承载报文的总带宽按照预设的粒度分为多份等份带宽。
3.如权利要求1所述的方法,其特征在于,所述控制面为转发器分配一份或者多份的等份带宽,包括:
所述控制面根据所述转发器的带宽需求,确定所述转发器需要的最小等份带宽个数,为所述转发器分配最小个数的等份带宽。
4.如权利要求1所述的方法,其特征在于,所述根据所述等份带宽的标识和等份带宽权重生成上送报文封装表,包括:
所述控制面根据所述等份带宽的标识确定映射标识,根据所述映射标识和等份带宽权重生成所述上送报文封装表。
5.如权利要求4所述的方法,其特征在于,所述控制面根据所述等份带宽的标识确定映射标识包括如下至少之一:
所述控制面将所述等份带宽的标识作为映射标识;
所述控制面将所述等份带宽的标识映射成预设的报文标识,将所述预设的报文标识作为映射标识。
6.如权利要求5所述的方法,其特征在于,所述上送报文封装表还携带封装类型,
所述控制面在将所述等份带宽的标识作为映射标识时,所述封装类型用于指示封装所述映射标识的协议;
所述控制面在将所述预设的报文标识作为映射标识时,所述封装类型用于指示通过插入或替换的方式封装所述映射标识。
7.如权利要求6所述的方法,其特征在于,所述封装类型用于指示通过插入的方式封装所述映射标识时,所述封装类型还用于指示插入的顺序。
8.如权利要求1所述的方法,其特征在于,所述将承载报文的总带宽分为多份等份带宽之后,所述方法还包括:
所述控制面根据等份带宽生成调度单元,每份等份带宽对应一个调度单元,通过所述调度单元进行带宽限速,所述调度单元限速的带宽值为对应的等份带宽的带宽值。
9.如权利要求8所述的方法,其特征在于,所述控制面接收所述转发器发送的报文,将所述报文通过与所述转发器相关联的等份带宽转发至对应的业务处理实例,包括:
所述控制面接收转发器发送的报文,根据映射策略和封装类型,确定所述报文中携带的映射标识,根据所述映射标识查询调度单元查询表,确定对应的调度单元,通过所述调度单元对所述报文进行调度;其中,所述调度单元查询表根据所述转发器关联的等份带宽和映射标识的对应关系,以及等份带宽与调度单元的对应关系生成;
在所述调度单元的调度结果为通过时,所述控制面通过所述映射标识查询业务处理实例转发表,确定对应的业务处理实例,将所述报文转发至所述业务处理实例;其中,所述业务处理实例转发表根据所述转发器关联的等份带宽和映射标识的对应关系,以及映射标识与业务处理实例的对应关系生成。
10.如权利要求9所述的方法,其特征在于,所述方法还包括:
在所述调度单元的调度结果为丢弃时,所述控制面丢弃所述报文,对丢弃的报文进行统计计数。
11.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述控制面根据负载情况实时调整所述转发器对应的等份带宽,以及业务处理实例数量中的至少之一。
12.如权利要求11所述的方法,其特征在于,所述负载情况包括调度单元的丢包情况,所述根据负载情况实时调整所述转发器对应的等份带宽,包括:
所述控制面在确定所述转发器对应的调度单元丢包时,根据丢包数和丢包时长确定需要增加的带宽;
所述控制面根据需要增加的带宽调整所述转发器对应的等份带宽的权重,或者,增加所述转发器对应的等份带宽。
13.如权利要求12所述的方法,其特征在于,所述方法还包括:
所述控制面在增加所述转发器对应的等份带宽时,当所述转发器对应的等份带宽个数达到最大等份带宽个数,不再继续调整。
14.如权利要求11所述的方法,其特征在于,所述负载情况包括业务处理实例的性能情况,所述控制面根据负载情况实时调整所述转发器对应的等份带宽,以及业务处理实例数量中的至少之一,包括:
在业务处理实例出现性能问题时,所述控制面确定需要增加的业务处理实例能力;
所述控制面根据需要增加的业务处理实例能力,执行如下至少之一操作:
所述控制面调整与所述出现性能问题的业务处理实例关联的等份带宽的权重;
所述控制面增加业务处理实例,将出现性能问题的业务处理实例关联的等份带宽中的一份或多份关联至增加的业务处理实例;
增加等份带宽和业务处理实例。
15.如权利要求14所述的方法,其特征在于,所述性能问题包括如下至少之一:
接口出现丢包、中央处理单元CPU利用率超过预设的阈值、内存利用率超过预设的阈值。
16.如权利要求11所述的方法,其特征在于,所述控制面在调整所述转发器对应的等份带宽时,所述方法还包括:
所述控制面根据调整的等份带宽,生成上送报文封装表项,发送给所述转发器,以使所述转发器更新上送报文封装表。
17.如权利要求11所述的方法,其特征在于,所述根据负载情况实时调整所述转发器对应的等份带宽,以及业务处理实例数量中的至少之一时,所述方法还包括如下操作至少之一:
所述控制面更新调度单元查询表;
所述控制面更新业务处理实例转发表。
18.如权利要求11所述的方法,其特征在于,所述负载情况包括调度单元占用的带宽情况,所述控制面根据负载情况实时调整所述转发器对应的等份带宽,包括:
所述控制面获取每个调度单元占用的带宽;
在所述转发器关联的调度单元大于一个时,所述控制面根据所述转发器关联的调度单元占用的带宽,确定是否回收所述转发器关联的等份带宽。
19.如权利要求18所述的方法,其特征在于,所述控制面根据所述转发器关联的调度单元占用的带宽,确定是否回收所述转发器关联的等份带宽,包括:
所述控制面根据在所述转发器关联的所有调度单元中,除占用带宽最小的调度单元之外的其他调度单元的剩余带宽之和大于所述占用带宽最小的调度单元的占用带宽,确定回收所述占用带宽最小的调度单元关联的等份带宽。
20.如权利要求18所述的方法,其特征在于,所述控制面回收所述转发器关联的等份带宽,包括:
所述控制面标识待回收的等份带宽为空闲,回收所述空闲的等份带宽的映射标识;
所述控制面删除所述空闲的等份带宽相关的上送报文封装表条目,并通知所述转发器删除所述空闲的等份带宽相关的上送报文封装表条目;
所述控制面删除所述空闲的等份带宽相关的调度单元查询表条目和业务处理实例转发表条目。
21.一种负载分担的方法,包括:
集群管理组件将负载分担器LB承载报文的总带宽分为多份等份带宽;
所述集群管理组件为转发器分配一份或者多份的等份带宽,所述一份或者多份的等份带宽与所述转发器相关联,以及,将分配的所述一份或者多份的等份带宽与业务处理实例相关联,以使所述转发器向LB发送的报文通过与所述转发器相关联的等份带宽转发至对应的业务处理实例;
其中,所述集群管理组件为转发器分配一份或者多份的等份带宽之后,所述方法还包括:
所述集群管理组件为所述一份或者多份的等份带宽分配等份带宽的标识和等份带宽权重,将所述等份带宽的标识和等份带宽权重发送至转发器管理组件,以使所述转发器管理组件生成上送报文封装表。
22.如权利要求21所述的方法,其特征在于,所述集群管理组件将LB承载报文的总带宽分为多份等份带宽之后,所述方法还包括:
所述集群管理组件指示所述LB根据等份带宽生成调度单元,每份等份带宽对应一个调度单元,以使所述LB通过所述调度单元进行带宽限速,所述调度单元限速的带宽值为对应的等份带宽的带宽值。
23.如权利要求21所述的方法,其特征在于,所述方法还包括:
所述集群管理组件根据所述LB的负载情况实时调整所述转发器对应的等份带宽。
24.如权利要求23所述的方法,其特征在于,所述LB的负载情况包括LB的调度单元的丢包情况,所述集群管理组件根据所述LB的负载情况实时调整所述转发器对应的等份带宽,包括:
所述集群管理组件在确定所述转发器对应的调度单元丢包时,根据丢包数和丢包时长确定需要增加的带宽;
所述集群管理组件根据需要增加的带宽调整所述转发器对应的等份带宽的权重,或者,增加所述转发器对应的等份带宽。
25.如权利要求23所述的方法,其特征在于,所述LB的负载情况包括LB的调度单元的带宽情况,所述集群管理组件根据所述LB的负载情况实时调整所述转发器对应的等份带宽,包括:
所述集群管理组件获取每个调度单元占用的带宽;
在所述转发器关联的调度单元大于一个时,所述集群管理组件根据所述转发器关联的调度单元占用的带宽,确定是否回收所述转发器关联的等份带宽。
26.如权利要求21所述的方法,其特征在于,所述方法还包括:
所述集群管理组件根据业务处理实例的负载情况实时调整所述转发器对应的等份带宽,以及业务处理实例数量中的至少之一。
27.一种负载分担的方法,包括:
LB接收转发器发送的报文;其中,所述转发器与一份或者多份的等份带宽相关联,所述一份或者多份的等份带宽与业务处理实例相关联;
所述LB将所述报文通过与所述转发器相关联的等份带宽转发至对应的业务处理实例;
其中,所述LB将所述报文通过与所述转发器相关联的等份带宽转发至对应的业务处理实例,具体包括:
所述LB根据映射策略和封装类型,确定所述报文中携带的映射标识,根据所述映射标识查询调度单元查询表,确定对应的调度单元,通过所述调度单元对所述报文进行调度;
在所述调度单元的调度结果为通过时,所述LB通过所述映射标识查询业务处理实例转发表,确定对应的业务处理实例,将所述报文转发至所述业务处理实例。
28.如权利要求27所述的方法,其特征在于,所述LB接收转发器发送的报文之前,所述方法还包括:
所述LB根据集群管理组件的指示,根据等份带宽生成调度单元,每份等份带宽对应一个调度单元;所述LB通过所述调度单元进行带宽限速,所述调度单元限速的带宽值为对应的等份带宽的带宽值。
29.一种负载分担的方法,包括:
转发器管理组件确定集群管理组件为所述转发器分配的一份或者多份的等份带宽;
所述转发器管理组件将分配的所述一份或者多份的等份带宽与所述转发器相关联,以使所述转发器向LB发送的报文通过与所述转发器相关联的等份带宽转发至对应的业务处理实例;
其中,所述转发器管理组件将分配的所述一份或者多份的等份带宽与所述转发器相关联,具体包括:
所述转发器管理组件接收集群管理组件为所述一份或者多份的等份带宽分配等份带宽的标识和等份带宽权重,根据所述等份带宽的标识和等份带宽权重生成上送报文封装表,将所述上送报文封装表发送至所述转发器。
30.如权利要求29所述的方法,其特征在于,所述转发器管理组件确定集群管理组件为所述转发器分配的一份或者多份的等份带宽之前,所述方法还包括:
所述转发器管理组件确定转发器的带宽需求,将所述带宽需求告知集群管理组件。
31.一种负载分担的方法,包括:
转发器获取上送报文封装表;其中,所述上送报文封装表指示所述转发器与一份或者多份的等份带宽相关联;
所述转发器根据所述上送报文封装表,将所述报文发送至LB,以使所述报文通过与所述转发器相关联的等份带宽转发至对应的业务处理实例;
其中,所述上送报文封装表包含映射标识和等份带宽权重,所述转发器根据所述上送报文封装表,将所述报文发送至LB,具体包括:
所述转发器根据所述等份带宽权重,为所述报文选择相应的等份带宽,根据选择的等份带宽确定对应的映射标识,将所述映射标识按照预设的封装策略,封装入所述报文中,发送至所述LB。
32.如权利要求31所述的方法,其特征在于,所述方法还包括:
所述转发器根据转发器管理组件的通知,更新所述上送报文封装表。
33.一种控制面实体,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~20中任意一项所述负载分担的方法。
34.一种集群管理组件,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求21~26中任意一项所述负载分担的方法。
35.一种负载分担器LB,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求27~28中任意一项所述负载分担的方法。
36.一种转发器管理组件,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求29~30中任意一项所述负载分担的方法。
37.一种转发器,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求31~32中任意一项所述负载分担的方法。
38.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1~32中任意一项所述负载分担的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811505039.3A CN109787911B (zh) | 2018-12-10 | 2018-12-10 | 负载分担的方法、控制面实体和转发器 |
PCT/CN2019/124319 WO2020119682A1 (zh) | 2018-12-10 | 2019-12-10 | 负载分担的方法、控制面实体和转发器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811505039.3A CN109787911B (zh) | 2018-12-10 | 2018-12-10 | 负载分担的方法、控制面实体和转发器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109787911A CN109787911A (zh) | 2019-05-21 |
CN109787911B true CN109787911B (zh) | 2021-05-04 |
Family
ID=66496837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811505039.3A Active CN109787911B (zh) | 2018-12-10 | 2018-12-10 | 负载分担的方法、控制面实体和转发器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109787911B (zh) |
WO (1) | WO2020119682A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109787911B (zh) * | 2018-12-10 | 2021-05-04 | 中兴通讯股份有限公司 | 负载分担的方法、控制面实体和转发器 |
CN115696455A (zh) * | 2021-07-27 | 2023-02-03 | 华为技术有限公司 | 一种流控处理的方法及通信装置 |
CN116700956B (zh) * | 2023-05-23 | 2024-02-23 | 海易科技(北京)有限公司 | 请求处理方法、装置、电子设备和计算机可读介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8488447B2 (en) * | 2006-06-30 | 2013-07-16 | Centurylink Intellectual Property Llc | System and method for adjusting code speed in a transmission path during call set-up due to reduced transmission performance |
CN105100142B (zh) * | 2014-05-04 | 2018-10-09 | 新华三技术有限公司 | 软件定义网络协议报文的传输控制方法及装置 |
US9369200B1 (en) * | 2014-12-18 | 2016-06-14 | Juniper Networks, Inc. | Network controller having predictable analytics and failure avoidance in packet-optical networks |
CN110896371B (zh) * | 2016-02-14 | 2022-07-26 | 华为技术有限公司 | 一种虚拟网络设备及相关方法 |
CN106055380B (zh) * | 2016-05-20 | 2019-04-26 | 郑州丞极信息科技有限责任公司 | 一种业务服务器的整合方法及系统 |
CN107666419B (zh) * | 2016-07-28 | 2020-12-11 | 中兴通讯股份有限公司 | 一种虚拟宽带接入方法、控制器和系统 |
CN107786613B (zh) * | 2016-08-30 | 2020-05-12 | 新华三技术有限公司 | 宽带远程接入服务器bras转发实现方法和装置 |
CN106941456B (zh) * | 2017-05-17 | 2019-08-30 | 华中科技大学 | 一种软件定义网络中控制平面的负载均衡方法及系统 |
CN107979539B (zh) * | 2017-10-30 | 2021-12-03 | 新华三技术有限公司 | 报文处理方法及装置 |
CN109787911B (zh) * | 2018-12-10 | 2021-05-04 | 中兴通讯股份有限公司 | 负载分担的方法、控制面实体和转发器 |
-
2018
- 2018-12-10 CN CN201811505039.3A patent/CN109787911B/zh active Active
-
2019
- 2019-12-10 WO PCT/CN2019/124319 patent/WO2020119682A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2020119682A1 (zh) | 2020-06-18 |
CN109787911A (zh) | 2019-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11895154B2 (en) | Method and system for virtual machine aware policy management | |
US11381507B2 (en) | Virtual network device and related method | |
EP3435606B1 (en) | Message processing method, computing device, and message processing apparatus | |
CN109787911B (zh) | 负载分担的方法、控制面实体和转发器 | |
US20170310588A1 (en) | Data forwarding method, device, and system in software-defined networking | |
US11706088B2 (en) | Analyzing and configuring workload distribution in slice-based networks to optimize network performance | |
WO2017080517A1 (en) | Systems and methods for network slice management | |
CN107306232B (zh) | 网络设备、控制器、队列管理方法及流量管理芯片 | |
US10721744B2 (en) | Resource reallocation | |
US20160021005A1 (en) | Communication system, control apparatus and communication apparatus | |
US20220286409A1 (en) | Method and apparatus for configuring quality of service policy for service, and computing device | |
CN109005126B (zh) | 数据流的处理方法、设备和计算机可读存储介质 | |
US11811879B2 (en) | Networking connection management based on container identification | |
US20170310493A1 (en) | Network entity and service policy management method | |
JP2015122680A (ja) | 論理ネットワークの構築方法、および、ネットワークシステム | |
US20240007315A1 (en) | Deterministic assignment of overlay multicast traffic | |
US9749240B2 (en) | Communication system, virtual machine server, virtual network management apparatus, network control method, and program | |
CN112995349A (zh) | 地址管理方法、服务器和计算机可读存储介质 | |
CN108683598B (zh) | 一种非对称网络流量处理方法和处理装置 | |
CN114124737B (zh) | 一种控制用户设备接入网络的方法及装置 | |
CN111416776B (zh) | 传输数据的方法和网络设备 | |
US20170063725A1 (en) | Control method, control device, and storage medium | |
US20210216348A1 (en) | Management of virtual machine applications based on resource usage by networking processes of a hypervisor | |
CN114915590A (zh) | 一种报文转发的方法、装置和存储介质 | |
WO2015045575A1 (ja) | ネットワークシステム、管理方法、及び、ネットワークマネージャ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |