负载均衡方法、装置及系统的制作方法

文档序号:7998433阅读:224来源:国知局
负载均衡方法、装置及系统的制作方法
【专利摘要】本发明公开了一种负载均衡方法、装置及系统。其中,该负载均衡方法包括:对多条链路中的每条链路进行累加计数,得到累加计数值;对多条链路的累加计数值进行大小比较,得到比较结果;根据比较结果确定多条链路的负载情况,并根据负载情况对多条链路进行负载均衡。通过本发明,达到了在实际应用中能够对数量较大的链路进行负载均衡,提高负载均衡的工作频率的效果。
【专利说明】负载均衡方法、装置及系统

【技术领域】
[0001] 本发明涉及通信领域,具体而言,涉及一种负载均衡方法、装置及系统。

【背景技术】
[0002] 在交换网中,负载均衡是一项重要的技术指标,负载均衡的功能是在各个链路间 进行比较,选择出负载较轻的链路用于当前信元的发送。在实际组网过程中,各个设备都是 多链路可达的,需要在多条链路之间保持负载均衡,避免某些链路负荷过重而另一些链路 比较空闲的情况,以达到充分利用带宽的目的。
[0003] 早期的交换芯片一般只支持定长信元,只要保证各个链路通过的信元个数一样, 即可达到负载均衡的目的。但是定长信元效率较低,人们又提出了变长信元方式,这种方法 尽可能利用有限的带宽传送有效数据,极大提高了传送效率。但此时如果仍然采用定长信 元的负载均衡方式,虽然各个链路通过的信元个数一样,但由于信元长度不一样,是无法保 证链路间流量均等的。显然,定长信元的负载均衡方式不适用于变长信元模式,要实现变长 信元的负载均衡,必须考虑各个信元的长度。
[0004] 而且,定长信元的负载均衡方式对于链路数较少的应用比较容易实现,而对于链 路数较多的应用,由于比较规模较大导致工作频率比较低,因此需要考虑提高工作频率的 方法。
[0005] 针对相关技术中定长信元的负载均衡方式不适用于变长信元模式且功率效率较 低的问题,目前尚未提出有效的解决方案。


【发明内容】

[0006] 本发明提供了一种负载均衡方法及装置,以至少解决上述问题。
[0007] 根据本发明的一个方面,提供了一种负载均衡方法,包括:对多条链路中的每条链 路进行累加计数,得到累加计数值;对多条链路的累加计数值进行大小比较,得到比较结 果;根据比较结果确定多条链路的负载情况,并根据负载情况对多条链路进行负载均衡。
[0008] 优选地,对多条链路中的每条链路进行累加计数的同时,还包括:对多条链路中的 每条链路进行深度计数,得到深度计数值。
[0009] 优选地,在对多条链路中的每条链路进行累加计数之后,包括:对多条链路的累加 计数值进行检测,当多条链路中有一条链路的累加计数值达到预定计数阈值时,将每条链 路的当前累加计数值分别初始化为每条链路的当前深度计数值,得到初始化累加计数值。 [0010] 优选地,对多条链路的累加计数值进行大小比较,包括:对多条链路的初始化累加 计数值进行比较,得到比较结果。
[0011] 优选地,根据比较结果确定多条链路的负载情况,并根据负载情况对多条链路进 行负载均衡,包括:根据比较结果确定负载比例低于预定比例阈值的链路为负载较轻链路; 将当前需要发送的信元通过负载较轻链路进行发送。
[0012] 根据本发明的另一方面,提供了一种负载均衡装置,包括:计数模块,用于对多条 链路中的每条链路进行累加计数;比较模块,用于对多条链路的累加计数值进行大小比较, 得到比较结果;确定模块,用于根据比较结果确定多条链路的负载情况。
[0013] 优选地,计数模块还用于对多条链路中的每条链路进行深度计数,得到深度计数 值。
[0014] 优选地,该装置还包括:检测模块,用于对多条链路的累加计数值进行检测,当多 条链路中有一条链路的累加计数值达到预定计数阈值时,将每条链路的当前累加计数值分 别初始化为每条链路的当前深度计数值,得到初始化累加计数值。
[0015] 优选地,比较模块还用于对多条链路的初始化累加计数值进行比较,得到比较结 果。
[0016] 优选地,确定模块包括:确定单元,用于根据比较结果确定负载比例低于预定比例 阈值的链路为负载较轻链路;发送单元,用于将当前需要发送的信元通过负载较轻链路进 行发送。
[0017] 优选地,计数模块的个数与多条链路的条数是相同的。
[0018] 根据本发明的还一方面,提供了一种负载均衡系统,包括:上述负载均衡装置。
[0019] 通过本发明,采用通过对每条链路的信元长度进行实施检测以确定链路的负载情 况的方式,解决了定长信元的负载均衡方式不适用于变长信元模式且功率效率较低的问 题,进而达到了在实际应用中能够对数量较大的链路进行负载均衡,提高负载均衡的工作 频率的效果。

【专利附图】

【附图说明】
[0020] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0021] 图1是根据本发明实施例的负载均衡方法流程图;
[0022] 图2是根据本发明实施例的负载均衡装置的结构框图;
[0023] 图3是根据本发明优选实施例一的负载均衡装置的结构框图;
[0024] 图4是根据本发明优选实施例二的负载均衡装置的结构框图;
[0025] 图5是根据本发明优选实施例二的负载均衡装置的计数模块和检测模块实现示 意图;
[0026] 图6是根据本发明优选实施例二的负载均衡装置的比较模块的实现示意图;
[0027] 图7是根据本发明实施例的负载均衡系统的结构框图。

【具体实施方式】
[0028] 下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0029] 本发明针对变长信元引入累加器的概念,对各条链路通过的信元长度进行统计, 实时记录链路通过的流量,这样就能够真实反映各条链路的负载情况。同时,针对大规模比 较器引入流水比较的概念,减小比较器的规模以获得较高的工作频率。
[0030] 以下实施例主要适用于通过多个链路进行变长信元发送的场景,在这些场景中传 统的定长信元的负载均衡方式很难实现对变长信元的发送,而且当链路数目特别大时的工 作效率比较低。当然,以下实施例也并不局限于此,还可以适用于其他负载均衡较难实现的 场景中。
[0031] 本发明提供了一种负载均衡方法,图1是根据本发明实施例的负载均衡方法流程 图,如图1所示,该方法主要包括以下步骤(步骤S102-步骤S106):
[0032] 步骤S102,对多条链路中的每条链路进行累加计数,得到累加计数值;
[0033] 步骤S104,对多条链路的累加计数值进行大小比较,得到比较结果;
[0034] 步骤S106,根据比较结果确定多条链路的负载情况,并根据负载情况对多条链路 进行负载均衡。
[0035] 通过上述步骤,能够实时获取到各个链路的负载情况,进而确定出拥塞链路和较 为空闲链路,通过空闲链路发送当前需要发送的信元。
[0036] 在本实施例中,在执行步骤S102 (即对多条链路中的每条链路进行累加计数)的 同时,还可以对多条链路中的每条链路进行深度计数,得到深度计数值。
[0037] 优选地,在执行步骤S102之后,还可以对多条链路的累加计数值进行检测,当多 条链路中有一条链路的累加计数值达到预定计数阈值时,将每条链路的当前累加计数值分 别初始化为每条链路的当前深度计数值,得到初始化累加计数值。
[0038] 在本实施例中,在执行步骤S104时,可以采用以下方式实现:对多条链路的初始 化累加计数值进行比较,得到比较结果。优选地,步骤S106可以通过以下方式来实现:根据 比较结果确定负载比例低于预定比例阈值的链路为负载较轻链路;将当前需要发送的信元 通过负载较轻链路进行发送。
[0039] 通过本实施例提供的负载均衡方法,能解决定长信元的负载均衡方式不适用于变 长信元模式且功率效率较低的问题,而且理论上能实现任意个数链路的选择,在实际应用 中能够支持对数量较大的链路进行负载均衡,进而获得较高的工作频率。
[0040] 本实施例还提供了一种负载均衡装置,该装置用于实现上述负载均衡方法,图2 是根据本发明实施例的负载均衡装置的结构框图,如图2所示,该负载均衡装置包括:计数 模块10、比较模块20以及确定模块30。其中,计数模块10,用于对多条链路中的每条链路 进行累加计数;比较模块20,用于对多条链路的累加计数值进行大小比较,得到比较结果; 确定模块30,用于根据比较结果确定多条链路的负载情况。
[0041] 在本实施例中,计数模块10还用于对多条链路中的每条链路进行深度计数,得到 深度计数值。
[0042] 图3是根据本发明优选实施例一的负载均衡装置的结构框图,如图3所示,该负载 均衡装置还包括:检测模块40,用于对多条链路的累加计数值进行检测,当多条链路中有 一条链路的累加计数值达到预定计数阈值时,将每条链路的当前累加计数值分别初始化为 每条链路的当前深度计数值,得到初始化累加计数值。
[0043] 在本优选实施例中,比较模块20还用于对多条链路的初始化累加计数值进行比 较,得到比较结果。
[0044] 在本优选实施例中,确定模块30包括:确定单元32,用于根据比较结果确定负载 比例低于预定比例阈值的链路为负载较轻链路;发送单元34,用于将当前需要发送的信元 通过负载较轻链路进行发送。
[0045] 优选地,计数模块的个数与多条链路的条数是相同的。
[0046] 通过本实施例提供的负载均衡装置,能解决定长信元的负载均衡方式不适用于变 长信元模式且功率效率较低的问题,而且理论上能实现任意个数链路的选择,在实际应用 中能够支持对数量较大的链路进行负载均衡,进而获得较高的工作频率。
[0047] 下面结合图4至图6以及优选实施例二对上述负载均衡装置进行更加详细的描 述。
[0048] 图4是根据本发明优选实施例二的负载均衡装置的结构框图,如图4所示,本优选 实施例二提供的负载均衡装置主要包括:计数模块、比较模块和检测模块三个部分,以下对 这三个模块的功能和设置进行进一步的说明。
[0049] (1)为每条链路分配一个计数模块(计数器)。每个计数模块能够实时统计当前各 条链路通过的流量,每输入一个信元计数模块为该条链路分配的计数模块就增加相应的字 节长度,这样每个计数模块都能真实地表征当前链路的流量情况。但是,在实际应用中,各 链路的计数器不可能无限大,计数器总有计满的时候,所以计数器必然存在一个复位重新 计数的动作。由于各个链路的流量有差异,各个计数器不一定同时计满,当有些计数器计满 而有些计数器还没计满时,复位就存在问题。通常有以下两种方法来解决该计数器复位问 题:第一种:只要某一个计数器计满,则将所有计数器都翻转为0 ;第二种:等待所有计数器 计到满后才同时翻转为0。对于第一种方法,其在翻转时忽略了各个计数器中剩余的长度, 不能完全反应链路的流量,产生的影响是可能某些链路存储的实际信元长度越来越大而其 他链路实际存储长度较小或某条链路实际通过信元个数远远大约其他链路的情况,容易使 链路流量变得不均衡;对于第二种方法,在实现过程中难度较大,因为各个计数器并不一定 同时计满,假如所有链路的计数器中只有一个计数器没计满而其他计数器都已计满,如果 此后再来的信元是走其它已满的链路而不是走未满的链路,则"全满翻转"条件就无法满 足。
[0050] 这种情况下,可以采用如下的方法来解决计数器的复位问题:即采用累加计数器 加缓存深度计数器的方式,其中累加计数器统计的是当前链路通过了所有信元的总长度, 输入一个信元就增加相应的长度;缓存深度计数器统计的是当前链路的实时深度,输入一 个信元就加相应的长度,输出一个信元就减相应的长度。
[0051] 对于检测模块而言,每当检测到只要有一个累加器计到满,则通知所有的累加器 进行翻转,但是翻转后各个累加器的初值不是清为0,而是采用各自缓存深度计数器的值作 为初值,计数模块同时把每条链路的累加器的实时值送给比较模块。
[0052] 比较模块(其本质是一个比较器)根据收到的累加器的值进行比较,选择负载较轻 的链路发送信元。对于个数较多且数据位宽较宽的大型比较器一般很难一拍完成,这里可 以采用流水分级的方式将大的比较器拆分为多个小的比较器,再分拍完成,以获得较高的 工作频率。比较模块比较出的最小的加器的实时值对应的链路就是当前负载较轻的链路。
[0053] 其中,检测模块主要负责执行两个工作:第一个工作是对多个累加器进行实时检 测,一旦某个累加器达到最大值就发出复位信号,通知所有的累加器进行翻转;第二个工作 是通知当前选择链路对应的缓存深度计数器减去输出信元的长度。
[0054] 下面结合图5和图6对图1所示的负载均衡装置进行更进一步的描述。
[0055] 假设当前有128条链路,负载均衡装置包含三个模块:计数模块、比较模块以及检 测模块。其中,计数模块和检测模块实现结构如图5所示(图5是根据本发明优选实施例 二的负载均衡装置的计数模块和检测模块实现示意图),cnt为累加计数器,len为缓存深 度计数器,detect为检测模块。其中,图5中的cnt (累加计数器),len (缓存深度计数器) 以及detect (检测模块)的工作过程如下:(1)接收前端送来的信元,对应链路的cnt就增 加相应的长度;接收detect模块送来的复位信号,cnt复位,初值置为len ;将cnt的值送 给比较模块进行比较;(2)接收前端送来的信元,对应链路的len也增加相应的长度;接收 detect模块送来的选择信号,对应的len减去输出信元的长度;(3) detect模块实时监控 所有的cnt,一旦检测到某个cnt计满,则给所有的cnt发复位信号;根据当前的输出链路 号将输出的信元长度送给对应的len进行减操作;(4)比较模块接收cnt送来的值进行比 较,选择最小值对应的链路进行信元发送;同时将该链路号和发送信元长度送给detect模 块进行译码选择。
[0056] 图6是根据本发明优选实施例二的负载均衡装置的比较模块的实现示意图,如图 6所示,对应128条链路就有128个累加器,假设每个累加器20bit位宽,可采用4级流水的 方法,第一级分为32个4输入的比较器,第二级分为8个4输入的比较器,第三级分为2个 4输入的比较器,第四级只需一个2输入的比较器。
[0057] 通过这种方式,就将一个大规模的比较器拆分为了多个小规模的比较器,提高了 工作频率。如果频率不够,还可以将比较器进一步拆分,频率可以进一步提高。
[0058] 采用上述实施例提供的负载均衡方法和负载均衡装置,通过对多条链路中的每条 链路进行累加计数,再对多条链路的累加计数值进行大小比较,进而根据得到比较结果确 定多条链路的负载情况的方式,能够解决定长信元的负载均衡方式不适用于变长信元模式 且功率效率较低的问题,而且理论上能实现任意个数链路的选择,在实际应用中能够支持 对数量较大的链路进行负载均衡,进而获得较高的工作频率。
[0059] 本实施例还提供了一种负载均衡系统,图7是根据本发明实施例的负载均衡系统 的结构框图,如图7所示,该负载均衡系统包括上述负载均衡装置。通过本负载均衡系统, 能够解决定长信元的负载均衡方式不适用于变长信元模式且功率效率较低的问题。
[0060] 从以上的描述中,可以看出,本发明实现了如下技术效果:通过对多条链路中的每 条链路进行累加计数,再对多条链路的累加计数值进行大小比较,进而根据得到比较结果 确定多条链路的负载情况的方式,可以根据链路拥塞情况实现链路调整,避免出现某些链 路负荷过重,而另一些链路非常空闲的情况,提高了带宽利用率,且能适应变长信元工作情 况,解决由于链路数较多而导致工作频率不高的问题。
[0061] 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示 出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或 步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。 [〇〇62] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1. 一种负载均衡方法,其特征在于,包括: 对多条链路中的每条链路进行累加计数,得到累加计数值; 对所述多条链路的累加计数值进行大小比较,得到比较结果; 根据所述比较结果确定所述多条链路的负载情况,并根据所述负载情况对所述多条链 路进行负载均衡。
2. 根据权利要求1所述的方法,其特征在于,对多条链路中的每条链路进行累加计数 的同时,还包括: 对所述多条链路中的每条链路进行深度计数,得到深度计数值。
3. 根据权利要求2所述的方法,其特征在于,在对多条链路中的每条链路进行累加计 数之后,包括: 对所述多条链路的累加计数值进行检测,当所述多条链路中有一条链路的累加计数值 达到预定计数阈值时,将所述每条链路的当前累加计数值分别初始化为所述每条链路的当 前深度计数值,得到初始化累加计数值。
4. 根据权利要求3所述的方法,其特征在于,对所述多条链路的累加计数值进行大小 比较,包括: 对所述多条链路的初始化累加计数值进行比较,得到所述比较结果。
5. 根据权利要求1至4中任一项所述的方法,其特征在于,根据所述比较结果确 定所述多条链路的负载情况,并根据所述负载情况对所述多条链路进行负载均衡,包 括: 根据所述比较结果确定负载比例低于预定比例阈值的链路为负载较轻链路; 将当前需要发送的信元通过所述负载较轻链路进行发送。
6. -种负载均衡装置,其特征在于,包括: 计数模块,用于对多条链路中的每条链路进行累加计数; 比较模块,用于对所述多条链路的累加计数值进行大小比较,得到比较结果; 确定模块,用于根据所述比较结果确定所述多条链路的负载情况。
7. 根据权利要求6所述的装置,其特征在于,所述计数模块还用于对所述多条链路中 的每条链路进行深度计数,得到深度计数值。
8. 根据权利要求7所述的装置,其特征在于,所述装置还包括: 检测模块,用于对所述多条链路的累加计数值进行检测,当所述多条链路中有一条链 路的累加计数值达到预定计数阈值时,将所述每条链路的当前累加计数值分别初始化为所 述每条链路的当前深度计数值,得到初始化累加计数值。
9. 根据权利要求8所述的装置,其特征在于,所述比较模块还用于对所述多条链路的 初始化累加计数值进行比较,得到所述比较结果。
10. 根据权利要求6至9中任一项所述的装置,其特征在于,所述确定模块包括: 确定单元,用于根据所述比较结果确定负载比例低于预定比例阈值的链路为负载较轻链 路; 发送单元,用于将当前需要发送的信元通过所述负载较轻链路进行发送。
11. 根据权利要求10所述的装置,其特征在于,所述计数模块的个数与所述多条链路 的条数是相同的。
12. -种负载均衡系统,其特征在于,包括:权利要求6至11中任一项所述的负载均衡 装直。
【文档编号】H04L12/803GK104113485SQ201310135369
【公开日】2014年10月22日 申请日期:2013年4月17日 优先权日:2013年4月17日
【发明者】袁春, 缪众林, 仲建锋, 王晓明 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1