随机负载均衡的方法及装置与流程

文档序号:14864082发布日期:2018-07-04 09:52阅读:162来源:国知局
随机负载均衡的方法及装置与流程

本发明涉及大容量数据交换领域,尤其涉及一种随机负载均衡的方法及装置。



背景技术:

在交换系统中,交换网络实现了交换接入装置之间的数据交换。随着应用的发展,交换芯片的组网变复杂,容量变大,serdes链路数也随之增多,出现了例如128×128,168×168,192×192,256×256等大容量交换芯片;为了满足芯片主频的要求,交换芯片都做成多平面的形式。

在多级交换中,每个交换设备有多个路由平面,在进行数据交换时,不同平面需要同时做负载均衡;数据在交换系统中以信元为单位进行传输,同一个交换装置的不同输入链路接收发往不同接入装置的信元;若多条输出链路均可到达目的接入装置,按照传统的负载均衡方式,图1为传统多平面的负载均衡方法示意图,如图1所示,假设交换芯片的链路数为96×96,平面0、平面1、平面2、平面3均可以通过0~23号链路到达接入装置,4个平面同时做负载均衡时,产生的输出链路均为0;那么,发往接入装置的信元全部送往0号链路,导致链路0堵塞,1~23号链路带宽浪费;这样就会导致多平面共振,无法保证多个路由平面的信元均衡的分配在所有可以到达的链路上,使到达某个装置的数据流一直在一条或某几条链路中传输,从而导致信元在某个交换装置的拥堵,使交换能力下降,同时导致了数据流的局部拥塞和带宽的浪费。



技术实现要素:

有鉴于此,本发明实施例期望提供一种随机负载均衡的方法及装置,以实现多个路由平面的所有信元都能均衡的分配在可以到达的链路上、保证整个网络的流量均衡的目的,提高带宽的利用率和系统的性能。

为达到上述目的,本发明的技术方案是这样实现的:

本发明提供一种随机负载均衡的方法,所述方法包括:

在一轮n次负载均衡中,利用二选一选择器及在所有平面中的唯一一个伪随机数,对第当前次负载均衡的m个可选择的输出链路进行处理,得到一个第当前次负载均衡的有效输出链路;所述n、m为正整数;

将所述一个第当前次负载均衡的有效输出链路的链路号在所述第当前次负载均衡的m个可选择的链路号掩码表中屏蔽,并确定第下一次负载均衡的m-1个可选择的输出链路;

直到所述可选择的链路号掩码表中的所有链路号都被屏蔽为止;

将所述可选择的链路号掩码表中被屏蔽的链路号还原,进行下一轮负载均衡。

上述方案中,所述利用二选一选择器及在所有平面中的唯一一个伪随机数,对第当前次负载均衡的m个可选择的输出链路进行处理,得到一个第当前次负载均衡的有效输出链路,包括:

在所述第当前次及一个平面中,利用二选一选择器及在所有平面中的唯一一个伪随机数,对所述m个可选择的输出链路进行k级输出链路的分组,得到所述一个第当前次负载均衡的有效输出链路;所述k为正整数。

上述方案中,所述在所述第当前次及一个平面中,利用二选一选择器及在所有平面中的唯一一个伪随机数,对所述m个可选择的输出链路进行k级输出链路的分组,得到所述一个第当前次负载均衡的有效输出链路,包括:

所述在所述第当前次及一个平面中,利用二选一选择器及在所有平面中的唯一一个伪随机数,对所述m个可选择的输出链路进行k级相邻输出链路的两两分组;

若第k级的输出链路数m为偶数,则将第k级的m个输出链路进行相邻输出链路的两两分组,利用二选一选择器及所述在所有平面中的唯一一个伪随机数得到第k+1级的m/2个输出链路,直到所述m/2=1为止,得到所述m/2=1所对应的一个有效输出链路;所述m小于等于m;

若第k级的输出链路数m为奇数,则将第k级的m-1个输出链路进行相邻输出链路的两两分组,利用二选一选择器及所述在所有平面中的唯一一个伪随机数得到第k+1级的(m-1)/2个输出链路及第k级剩余的1个输出链路,直到所述m=3为止,得到(m-1)/2+1=2个输出链路,利用二选一选择器及在一次随机负载中的唯一一个伪随机数在所述(m-1)/2+1=2个输出链路中确定出对应的一个有效输出链路;所述m小于等于m。

上述方案中,所述利用二选一选择器及在所有平面中的唯一一个伪随机数,对第当前次负载均衡的m个可选择的输出链路进行处理,包括:

根据所述在所有平面中的唯一一个伪随机数产生选择信号;所述所有平面中的唯一一个伪随机数为二进制数,所述所有平面中的唯一一个伪随机数的位宽为所述选择信号的个数;

根据所述选择信号所对应的信号位对所述二选一选择器的两个输入端所对应的两个可选择的输出链路进行选择,得到一个输出端所对应的一个可选择的输出链路。

上述方案中,所述根据所述选择信号所对应的信号位对所述二选一选择器的两个输入端所对应的两个可选择的输出链路进行选择,得到一个输出端所对应的一个可选择的输出链路,包括:

若所述二选一选择器的两个输入端所对应的两个可选择的输出链路中只有一个有效时,则将所述有效的输出链路作为所述输出端所对应的一个可选择的输出链路;

若所述二选一选择器的两个输入端所对应的两个可选择的输出链路中两个都有效或两个都无效时,则根据所述选择信号所对应的信号位的预设规则确定所述输出端所对应的一个可选择的输出链路。

上述方案中,所述根据所述选择信号所对应的信号位的预设规则确定所述输出端所对应的一个可选择的输出链路,包括:

所述选择信号所对应的信号位为1时,将所述二选一选择器的第一输入端所对应的可选择的输出链路确定为所述输出端所对应的一个可选择的输出链路;或,所述选择信号所对应的信号位为1时,将所述二选一选择器的第二输入端所对应的可选择的输出链路确定为所述输出端所对应的一个可选择的输出链路。

上述方案中,所述方法还包括:

根据预设随机函数产生在一轮负载均衡中的所有平面中的唯一一个伪随机数。

本发明提供一种随机负载均衡的装置,所述装置包括:

处理模块,用于在一轮n次负载均衡中,利用二选一选择器及在所有平面中的唯一一个伪随机数,对第当前次负载均衡的m个可选择的输出链路进行处理,得到一个第当前次负载均衡的有效输出链路;所述n、m为正整数;

确定模块,用于将所述一个第当前次负载均衡的有效输出链路的链路号在所述第当前次负载均衡的m个可选择的链路号掩码表中屏蔽,并确定第下一次负载均衡的m-1个可选择的输出链路;直到所述可选择的链路号掩码表中的所有链路号都被屏蔽为止;

还原模块,用于将所述可选择的链路号掩码表中被屏蔽的链路号还原,进行下一轮负载均衡。

上述方案中,所述处理模块,具体用于在所述第当前次及一个平面中,利用二选一选择器及在所有平面中的唯一一个伪随机数,对所述m个可选择的输出链路进行k级输出链路的分组,得到所述一个第当前次负载均衡的有效输出链路;所述k为正整数。

上述方案中,所述处理模块,还具体用于在所述第当前次及一个平面中,利用二选一选择器及在所有平面中的唯一一个伪随机数,对所述m个可选择的输出链路进行k级相邻输出链路的两两分组;

若第k级的输出链路数m为偶数,则将第k级的m个输出链路进行相邻输出链路的两两分组,利用二选一选择器及所述在所有平面中的唯一一个伪随机数得到第k+1级的m/2个输出链路,直到所述m/2=1为止,得到所述m/2=1所对应的一个有效输出链路;所述m小于等于m;

若第k级的输出链路数m为奇数,则将第k级的m-1个输出链路进行相邻输出链路的两两分组,利用二选一选择器及所述在所有平面中的唯一一个伪随机数得到第k+1级的(m-1)/2个输出链路及第k级剩余的1个输出链路,直到所述m=3为止,得到(m-1)/2+1=2个输出链路,利用二选一选择器及在一次随机负载中的唯一一个伪随机数在所述(m-1)/2+1=2个输出链路中确定出对应的一个有效输出链路;所述m小于等于m。

上述方案中,所述处理模块,还具体用于根据所述在所有平面中的唯一一个伪随机数产生选择信号;所述所有平面中的唯一一个伪随机数为二进制数,所述所有平面中的唯一一个伪随机数的位宽为所述选择信号的个数;

根据所述选择信号所对应的信号位对所述二选一选择器的两个输入端所对应的两个可选择的输出链路进行选择,得到一个输出端所对应的一个可选择的输出链路。

上述方案中,所述处理模块,还具体用于若所述二选一选择器的两个输入端所对应的两个可选择的输出链路中只有一个有效时,则将所述有效的输出链路作为所述输出端所对应的一个可选择的输出链路;

若所述二选一选择器的两个输入端所对应的两个可选择的输出链路中两个都有效或两个都无效时,则根据所述选择信号所对应的信号位的预设规则确定所述输出端所对应的一个可选择的输出链路。

上述方案中,所述处理模块,还具体用于所述选择信号所对应的信号位为1时,将所述二选一选择器的第一输入端所对应的可选择的输出链路确定为所述输出端所对应的一个可选择的输出链路;或,所述选择信号所对应的信号位为1时,将所述二选一选择器的第二输入端所对应的可选择的输出链路确定为所述输出端所对应的一个可选择的输出链路。

上述方案中,所述装置还包括:

产生模块,用于根据预设随机函数产生在一轮负载均衡中的所有平面中的唯一一个伪随机数。

本发明实施例所提供的一种随机负载均衡的方法及装置,通过在一轮n次负载均衡中,利用二选一选择器及在所有平面中的唯一一个伪随机数,对第当前次负载均衡的m个可选择的输出链路进行处理,得到一个第当前次负载均衡的有效输出链路;所述n、m为正整数;将所述一个第当前次负载均衡的有效输出链路的链路号在所述第当前次负载均衡的m个可选择的链路号掩码表中屏蔽,并确定第下一次负载均衡的m-1个可选择的输出链路;直到所述可选择的链路号掩码表中的所有链路号都被屏蔽为止;将所述可选择的链路号掩码表中被屏蔽的链路号还原,进行下一轮负载均衡;实现了多个路由平面的所有信元都能均衡的分配在可以到达的链路上、保证整个网络的流量均衡的目的,提高了带宽的利用率和系统的性能。

附图说明

图1为传统多平面的负载均衡方法示意图;

图2为本发明随机负载均衡的方法实施例一的流程图;

图3为本发明随机负载均衡的方法实施例二的流程图;

图4为本发明随机负载均衡的方法实施例的二选一选择器的结构示意图;

图5为本发明随机负载均衡的方法实施例的96×96交换装置的路由平面的随机负载均衡结构示意图;

图6为使用本发明随机负载均衡的方法实施例二的负载均衡信元流向示意图;

图7为本发明随机负载均衡的装置实施例的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

实施例一

图2为本发明随机负载均衡的方法实施例一的流程图;如图2所示,本发明实施例提供的随机负载均衡的方法可以包括如下步骤:

步骤201:在一轮n次负载均衡中,利用二选一选择器及在所有平面中的唯一一个伪随机数,对第当前次负载均衡的m个可选择的输出链路进行处理,得到一个第当前次负载均衡的有效输出链路;所述n、m为正整数。

在一轮n次负载均衡中,在第当前次及一个平面中利用二选一选择器及在所有平面中的唯一一个伪随机数,对第当前次负载均衡的m个可选择的输出链路进行k级输出链路的分组,得到一个第当前次负载均衡的有效输出链路;其中,k为正整数。

具体的,在一轮n次负载均衡中,首先根据预设随机函数产生在一轮负载均衡中的所有平面中的唯一一个伪随机数,并根据该伪随机数产生选择信号;其中,所述伪随机数为二进制数,其位宽为所述选择信号的个数。

例如,负载均衡中的路由平面的个数为a,每个路由平面进行一次负载均衡所需要的选择信号的个数为b,则在a个路由平面均进行一次负载均衡的一个周期内,首先根据预设随机函数f(x)产生该周期内的唯一一个伪随机数y,并根据y产生a*b个选择信号,其中,伪随机数y的位宽为a*b。

然后,在第当前次及一个平面中,利用二选一选择器及根据在所有平面中的唯一一个伪随机数产生的选择信号对第当前次负载均衡的m个可选择的输出链路进行k级相邻输出链路的两两分组,得到一个第当前次负载均衡的有效输出链路。

进一步的,在第当前次负载均衡中,对一个路由平面进行负载均衡时,对于第k级输出链路,根据第k级输出链路数m的奇偶性进行分组,具体为:

若m为偶数,则将第k级的m个输出链路进行相邻输出链路的两两分组,利用二选一选择器及所述在所有平面中的唯一一个伪随机数得到第k+1级的m/2个输出链路,直到所述m/2=1为止,得到m/2=1所对应的一个有效输出链路;其中,所述m小于等于m;

若m为奇数,则将第k级的m-1个输出链路进行相邻输出链路的两两分组,利用二选一选择器及所述在所有平面中的唯一一个伪随机数得到第k+1级的(m-1)/2个输出链路及第k级剩余的1个输出链路,直到m=3为止,得到(m-1)/2+1=2个输出链路,利用二选一选择器及在一次随机负载中的唯一一个伪随机数在(m-1)/2+1=2个输出链路中确定出对应的一个有效输出链路;其中,所述m小于等于m。

进一步的,在利用二选一选择器及根据在所有平面中的唯一一个伪随机数产生的选择信号对第当前次负载均衡的m个可选择的输出链路进行k级相邻输出链路的两两分组时,根据所述选择信号所对应的信号位对所述二选一选择器的两个输入端所对应的两个可选择的输出链路进行选择,其选择过程为:

若二选一选择器的两个输入端所对应的两个可选择的输出链路中只有一个有效时,则将有效的输出链路作为所述输出端所对应的一个可选择的输出链路;

若二选一选择器的两个输入端所对应的两个可选择的输出链路中两个都有效或两个都无效时,则根据选择信号所对应的信号位的预设规则确定所述输出端所对应的一个可选择的输出链路;具体为:选择信号所对应的信号位为1时,将二选一选择器的第一输入端所对应的可选择的输出链路确定为输出端所对应的一个可选择的输出链路;或,选择信号所对应的信号位为1时,将二选一选择器的第二输入端所对应的可选择的输出链路确定为输出端所对应的一个可选择的输出链路。

步骤202:将所述一个第当前次负载均衡的有效输出链路的链路号在所述第当前次负载均衡的m个可选择的链路号掩码表中屏蔽,并确定第下一次负载均衡的m-1个可选择的输出链路;直到所述可选择的链路号掩码表中的所有链路号都被屏蔽为止。

在得到一个第当前次负载均衡的有效输出链路之后,将该有效输出链路的链路号在所述第当前次负载均衡的m个可选择的链路号掩码表中屏蔽,未被屏蔽的链路将作为第下一次负载均衡的m-1个实际可选择的输出链路;直到可选择的链路号掩码表中的所有链路号都被屏蔽为止,完成一轮负载均衡。

步骤203:将所述可选择的链路号掩码表中被屏蔽的链路号还原,进行下一轮负载均衡。

在完成一轮负载均衡后,将所述可选择的链路号掩码表中被屏蔽的链路号还原,重新执行步骤201至步骤202,进行下一轮负载均衡。

本发明实施例提供的随机负载均衡的方法,通过在一轮n次负载均衡中,利用二选一选择器及在所有平面中的唯一一个伪随机数,对第当前次负载均衡的m个可选择的输出链路进行处理,得到一个第当前次负载均衡的有效输出链路;所述n、m为正整数;将所述一个第当前次负载均衡的有效输出链路的链路号在所述第当前次负载均衡的m个可选择的链路号掩码表中屏蔽,并确定第下一次负载均衡的m-1个可选择的输出链路;直到所述可选择的链路号掩码表中的所有链路号都被屏蔽为止;将所述可选择的链路号掩码表中被屏蔽的链路号还原,进行下一轮负载均衡;利用二选一选择器和负载均衡掩码的方式实现了多个路由平面的所有信元都能均衡的分配在可以到达的链路上、保证整个网络的流量均衡的目的,提高了带宽的利用率和系统的性能,可以用于各种方式的组网结构。

实施例二

图3为本发明随机负载均衡的方法实施例二的流程图;本实施例以96×96交换装置的路由平面的处理方式为例进行说明,该交换装置包含4个路由平面:平面0、平面1、平面2和平面3;4个路由平面所使用的二选一选择器的选择信号(select信号)通过同一个随机函数产生器产生,可选择的输出链路为96条;如图3所示,本发明实施例提供的随机负载均衡的方法可以包括如下步骤:

步骤301:将96条可选择的输出链路进行两两分组,分成48组,经过第一级选择后,产生48个输出链路。

将96条可选择的输出链路进行相邻链路的两两分组,总共可分成48组;对这48组可选择的输出链路利用48个二选一选择器进行第一级选择之后,得到48个输出链路。

图4为本发明随机负载均衡的方法实施例的二选一选择器的结构示意图;如图4所示,二选一选择器包括两个输入端、一个选择信号端和一个输出端;假设二选一选择器的输入分别为链路a和链路b,根据链路a、链路b和选择信号选择链路a和链路b中的一个作为输出链路输出;具体的,当链路a有效而链路b无效时,则选择链路a作为输出链路;当链路a无效而链路b有效时,则选择链路b作为输出链路;当链路a和链路b都有效时,则利用选择信号(select信号)的对应位来选择链路a或链路b作为输出链路;例如,可以预先设定当选择信号(select信号)的对应位为1时选择链路a作为输出链路;或者,也可以预先设定当选择信号(select信号)的对应位为1时选择链路b作为输出链路。

步骤302:将产生的48个输出链路进行两两分组,分成24组,经过第二级选择后,产生24个输出链路。

对96条可选择的输出链路进行第一级选择,产生48个输出链路之后,对这48个输出链路继续进行相邻输出链路的两两分组,总共可分成24组,然后对这24组输出链路利用24个二选一选择器进行第二级选择,得到24个输出链路。

步骤303:将产生的24个输出链路进行两两分组,分成12组,经过第三级选择后,产生12个输出链路。

对96条可选择的输出链路进行两级选择,产生24个输出链路之后,对这24个输出链路继续进行相邻输出链路的两两分组,分成12组,然后对这12组输出链路利用12个二选一选择器进行第三级选择,得到12个输出链路。

步骤304:将产生的12个输出链路进行两两分组,分成6组,经过第四级选择后,产生6个输出链路。

对96条可选择的输出链路进行三级选择,产生12个输出链路之后,对这12个输出链路继续进行相邻输出链路的两两分组,共分成6组,然后对这6组输出链路利用6个二选一选择器进行第四级选择,得到6个输出链路。

步骤305:将产生的6个输出链路进行两两分组,分成3组,经过第五级选择后,产生3个输出链路。

对96条可选择的输出链路进行四级选择,产生6个输出链路之后,对这6个输出链路继续进行相邻输出链路的两两分组,共分成3组,然后对这3组输出链路利用3个二选一选择器进行第五级选择,得到3个输出链路。

步骤306:将产生的3个输出链路分为2个一组和1个一组,并对2个一组的输出链路进行第六级选择,产生1个输出链路并剩余1个输出链路。

在对96条可选择的输出链路进行五级选择,产生3个输出链路之后,将这3个输出链路中的第1、2个输出链路或第2、3个输出链路分为第一组,剩下的一个输出链路为第二组;然后对第一组的2个输出链路利用1个二选一选择器进行第六级选择,产生出1个输出链路,同时剩余1个输出链路。

步骤307:将第六级产生的1个输出链路和第五级剩余的1个输出链路进行第七级选择,得到一个有效输出链路。

将第六级选择产生的1个输出链路和第五级剩余的1个输出链路作为一组,利用1个二选一选择器进行第七级选择,产生1个有效输出链路,该输出链路即为最终的一个有效负载均衡链路。

步骤308:将得到的一个有效输出链路的链路号在96个可选择输出链路的链路号掩码表中屏蔽,产生下一次负载均衡的可选择输出链路。

从96个可选择的输出链路中选择出最终的一个有效负载均衡链路之后,将该负载均衡链路的链路号在96个可选择输出链路的链路号掩码表中进行屏蔽,产生出下一次负载均衡的可选择输出链路。

例如,在得到一个有效负载均衡链路之后,可以将该有效负载均衡链路对应的位置为1,并反馈回负载均衡输入端,将该链路号在96条可选择的链路号掩码表中屏蔽,获得下一次负载均衡的可选择输出链路,这样,在进行下一次负载均衡时,被屏蔽掉的链路号将不会被选择到。

图5为本发明随机负载均衡的方法实施例的96×96交换装置的路由平面的随机负载均衡结构示意图;如图5所示,利用二选一选择器对96条可选择的输出链路进行七级相邻输出链路的两两分组和选择,最终产生一条输出链路作为有效负载均衡链路;同时产生相对应的掩码反馈回负载均衡的输入端,将该有效负载均衡链路的链路号在96个可选择输出链路的链路号掩码表中屏蔽,得到下一次负载均衡的可选择输出链路。

负载均衡在交换装置中的每个路由平面的处理过程是完全相同的;即对平面0、平面1、平面2和平面3均执行步骤301至步骤308,同步产生各自的一个有效负载均衡链路,发往交换装置的输出链路。

在上述过程中,每个路由平面需要48+24+12+6+3+1+1=95个选择信号(select信号),总共4个平面,则共需要4×95个选择信号;其中,选择信号(select信号)由伪随机数y产生,伪随机数y则由预设随机函数产生,比如,由预设随机函数f(x)=x^31+x^28+1产生;4个平面每完成一次负载均衡产生一个y,其位宽为选择信号(select信号)的个数,即为4×95。

这里需要说明的是,预设随机函数可根据实际需求进行设置,此处并不加以限定。

图6为使用本发明随机负载均衡的方法实施例二的负载均衡信元流向示意图;如图6所示,对于0~95号共96条可选择的输出链路,进行一次负载均衡之后,平面0产生的输出链路为0号链路,平面1产生的输出链路为1号链路,平面2产生的输出链路为2号链路,平面3产生的输出链路为3号链路,即4个平面可以分别负载均衡到不同的链路上,避免了多平面的共振。

步骤309:判断可选择的链路号掩码表中的所有链路号是否都被屏蔽。

在完成一次负载均衡之后,判断可选择的链路号掩码表中的所有链路号是否都被屏蔽,若可选择的链路号掩码表中的所有链路号未被全部屏蔽,则执行步骤310;若可选择的链路号掩码表中的所有链路号都已被屏蔽,则执行步骤311。

步骤310:进行下一次负载均衡。

当判断可选择的链路号掩码表中的所有链路号未被全部屏蔽时,本轮负载均衡未结束,则继续对平面0、平面1、平面2和平面3进行下一次负载均衡,即执行步骤301至步骤308。

步骤311:将可选择的链路号掩码表中被屏蔽的链路号还原,进行下一轮负载均衡。

当判断可选择的链路号掩码表中的所有链路号都已被屏蔽时,本轮负载均衡结束,这时,将可选择的链路号掩码表中被屏蔽的链路号还原,然后进行下一轮的负载均衡。

在上述过程中,进行同一轮负载均衡时,在一次负载均衡完成产生一个有效负载均衡链路之后,会根据该负载均衡链路的掩码表和可选择的输出链路产生下一次负载均衡的可选择输出链路,即会将产生的有效负载均衡链路的链路号在当前可选择的链路号掩码表中屏蔽,能够避免同一轮负载均衡两次随机到同一条链路;同时,每次随机的选择信号(select信号)不一样,从而能够有效避免多个路由平面产生共振,减少多路由平面负载均衡到同一条链路上的概率,最终达到负载均衡的目的。

本发明实施例提供的随机负载均衡的方法,通过对96条可选择的输出链路进行两两分组,经过第一级选择后,产生48个输出链路;将产生的48个输出链路进行两两分组,经过第二级选择后,产生24个输出链路;将产生的24个输出链路进行两两分组,经过第三级选择后,产生12个输出链路;将产生的12个输出链路进行两两分组,经过第四级选择后,产生6个输出链路;将产生的6个输出链路进行两两分组,经过第五级选择后,产生3个输出链路;将产生的3个输出链路分为2个一组和1个一组,并对2个一组的输出链路进行第六级选择,产生1个输出链路并剩余1个输出链路;将第六级产生的1个输出链路和第五级剩余的1个输出链路进行第七级选择,得到一个有效输出链路;将得到的一个有效输出链路的链路号在96个可选择输出链路的链路号掩码表中屏蔽,产生下一次负载均衡的可选择输出链路;判断可选择的链路号掩码表中的所有链路号是否都被屏蔽,若未被全部屏蔽,则进行下一次负载均衡;若都已被屏蔽,则将可选择的链路号掩码表中被屏蔽的链路号还原,进行下一轮负载均衡;避免了同一轮负载均衡两次随机到同一条链路,有效避免了多个路由平面产生共振,减少了多路由平面负载均衡到同一条链路上的概率,实现了多个路由平面的所有信元都能均衡的分配在可以到达的链路上、保证整个网络的流量均衡的目的,提高了带宽的利用率和系统的性能。

实施例三

图7为本发明随机负载均衡的装置实施例的结构示意图;如图7所示,本发明实施例提供的随机负载均衡的装置07包括:处理模块71、确定模块72、还原模块73;其中,

所述处理模块71,用于在一轮n次负载均衡中,利用二选一选择器及在所有平面中的唯一一个伪随机数,对第当前次负载均衡的m个可选择的输出链路进行处理,得到一个第当前次负载均衡的有效输出链路;所述n、m为正整数;

所述确定模块72,用于将所述一个第当前次负载均衡的有效输出链路的链路号在所述第当前次负载均衡的m个可选择的链路号掩码表中屏蔽,并确定第下一次负载均衡的m-1个可选择的输出链路;直到所述可选择的链路号掩码表中的所有链路号都被屏蔽为止;

所述还原模块73,用于将所述可选择的链路号掩码表中被屏蔽的链路号还原,进行下一轮负载均衡。

进一步的,所述处理模块71,具体用于在所述第当前次及一个平面中,利用二选一选择器及在所有平面中的唯一一个伪随机数,对所述m个可选择的输出链路进行k级输出链路的分组,得到所述一个第当前次负载均衡的有效输出链路;所述k为正整数。

进一步的,所述处理模块71,还具体用于在所述第当前次及一个平面中,利用二选一选择器及在所有平面中的唯一一个伪随机数,对所述m个可选择的输出链路进行k级相邻输出链路的两两分组;

若第k级的输出链路数m为偶数,则将第k级的m个输出链路进行相邻输出链路的两两分组,利用二选一选择器及所述在所有平面中的唯一一个伪随机数得到第k+1级的m/2个输出链路,直到所述m/2=1为止,得到所述m/2=1所对应的一个有效输出链路;所述m小于等于m;

若第k级的输出链路数m为奇数,则将第k级的m-1个输出链路进行相邻输出链路的两两分组,利用二选一选择器及所述在所有平面中的唯一一个伪随机数得到第k+1级的(m-1)/2个输出链路及第k级剩余的1个输出链路,直到所述m=3为止,得到(m-1)/2+1=2个输出链路,利用二选一选择器及在一次随机负载中的唯一一个伪随机数在所述(m-1)/2+1=2个输出链路中确定出对应的一个有效输出链路;所述m小于等于m。

进一步的,所述处理模块71,还具体用于根据所述在所有平面中的唯一一个伪随机数产生选择信号;所述所有平面中的唯一一个伪随机数为二进制数,所述所有平面中的唯一一个伪随机数的位宽为所述选择信号的个数;

根据所述选择信号所对应的信号位对所述二选一选择器的两个输入端所对应的两个可选择的输出链路进行选择,得到一个输出端所对应的一个可选择的输出链路。

进一步的,所述处理模块71,还具体用于若所述二选一选择器的两个输入端所对应的两个可选择的输出链路中只有一个有效时,则将所述有效的输出链路作为所述输出端所对应的一个可选择的输出链路;

若所述二选一选择器的两个输入端所对应的两个可选择的输出链路中两个都有效或两个都无效时,则根据所述选择信号所对应的信号位的预设规则确定所述输出端所对应的一个可选择的输出链路。

进一步的,所述处理模块71,还具体用于所述选择信号所对应的信号位为1时,将所述二选一选择器的第一输入端所对应的可选择的输出链路确定为所述输出端所对应的一个可选择的输出链路;或,所述选择信号所对应的信号位为1时,将所述二选一选择器的第二输入端所对应的可选择的输出链路确定为所述输出端所对应的一个可选择的输出链路。

进一步的,所述装置07,还包括:产生模块74;其中,

所述产生模块74,用于根据预设随机函数产生在一轮负载均衡中的所有平面中的唯一一个伪随机数。

本实施例的随机负载均衡的装置,可以用于执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

在实际应用中,所述随机负载均衡的装置07的处理模块71,确定模块72,还原模块73,产生模块74,均可由位于随机负载均衡的装置07中的中央处理器(centralprocessingunit,cpu)、微处理器(microprocessorunit,mpu)、数字信号处理器(digitalsignalprocessor,dsp)或现场可编程门阵列(fieldprogrammablegatearray,fpga)等实现。

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

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

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

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

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

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