一种交换网络的拥塞管理方法及装置与流程

文档序号:15521435发布日期:2018-09-25 19:33阅读:126来源:国知局
本发明涉及交换网络的拥塞管理技术,尤其涉及一种交换网络的拥塞管理方法及装置。
背景技术
:交换系统是分组交换设备的核心部件,它由交换接入部分和交换网络组成,其中,交换接入部分包括源交换接入单元(switchaccessunit,sau)和目的sau,交换网是由多个交换单元(switchingunit,su)相互连接组成。源sau通过高速链路与su互联,su之间通过高速链路互联,su再通过高速链路与目的sau互联。在交换网络中,各个su相互连接,根据其连接方式,可以分为单级组网结构和三级无阻塞(clos)组网结构。三级clos组网如图1所示,它由三级su组成,图中有业务机框1、业务机框2和中心机框65,业务机框1上的源交换接入装置发出的信元,依次经过业务机框1上的su达到中心机框65,经过中心机框65的su交换到达业务机框2上的su,经过业务机框2上的su的交换,最终达到业务机框2上的各个目的sau。为了区分,这里把业务机框上与源sau相连的su叫做第一级su,中心机框上的su叫做第二级su,业务机框上与目的sau相连的su叫做第三级su。非对称交换网络是指,在交换网络相邻的两个级别之间,存在带宽不一致的情况,即在任意一个级别的节点到另一个级别所有的节点链路带宽不一致。三级clos非对称交换网络可以分为业务机框上的源交换接入装置与第一级交换装置之间非对称,第一级交换装置与第二级交换装置之间非对称,第二级交换装置与第三级交换装置非对称以及业务机框上的第三级交换装置与目的交换接入装置之间非对称;这里,一个业务机框可以放置多个交换装置,每个交换装置中可以包含多个su,因此,上述第一级su也称之为第一级交换装置su。如图2所示,业务机框和中心机框上的各个第一级su和第二级su的输入和输出带宽是一致的,但是在业务机框3上的第三级su2#处,其输入带宽大于输出带宽,其中虚线箭头线表示带宽较低或链路被断开,在其输入流量足够的情况下,业务机框3上的第三级su2#中会产生局部拥塞。当交换网络中一个或多个su出现局部拥塞后,其信元交换速度会落后于其他su,最终将导致整网流量下降,在拥塞程度严重时则有可能导致丢包,系统性能降低。为了解决上述非对称时产生拥塞和丢包的问题,传统的处理方法是采用关闭源端链路的方法来实现,具体方法为:当第二级交换装置与第三级交换装置之间的非对称时,即第二级交换装置的输入端和输出端带宽不匹配时,关闭第一级交换装置的发送链路来保证第二级交换装置输入和输出带宽一致,从而解决因第二级交换装置输入和输出带宽一致而造成网络拥塞和丢包的问题。但这种方法存在另一个问题:三级组网第二级交换装置做非对称,源带宽是以机框号为单位,关闭某源机框中与目的交换接入损失带宽相当的几条链路,被关闭的几条链路很可能属于同一个第一级交换装置;而一般组网结构下,第二级交换装置全可达,第一级交换装置和第二级交换装置之间也不可能全部链路关闭,关闭几条链路后的第一级交换装置仍然对目的交换接入可达,因此,源交换接入的流量会依旧均分到各个第一级交换装置上,而如果某一第一级交换装置的多条发送链路被关闭,那么在该第一级交换装置上将产生拥塞。如图2所示的非对称网络,第三级交换装置su2#发生非对称,在进行非对称处理时,会关闭中心机框66对应的链路,这样很可能造成第二级交换装置su3#或su4#的非对称。这里以第二级交换装置su3#为例,处理第二级交换装置的非对称的结果,会关闭业务机框1和业务机框2的链路。在关闭业务机框1的链路时,是按照第二级交换装置su3#所在的机框表上配置的链路号连续关断的,不同的产品应用时,机框表中的链路分布不是均匀分布的,对应的第一级交换装置是不同的,那么在多数的场景下,在关闭业务机框1的链路时,第一级交换装置su1#和su2#的链路不是被均匀关闭的,极端的情况下,只有第一级交换装置su1#的链路被关闭。当第一级交换装置su1#的有多条链路被关闭且未被完全关闭的情况下,业务机框1的原交换接入装置sau1#和sau2#是不能感知到与其连接的第一级交换装置su1#和su2#的链路变化情况的,他们依然会将流量均匀的发送到第一级交换装置su1#和su2#上,而在第一级交换装置su1#上由于输出链路多条被关闭,就造成了第一级交换装置su1#的非对称,进而造成整个交换网络拥塞,甚至丢包的问题。技术实现要素:本发明实施例期望提供一种交换网络的拥塞管理方法及装置,能够有效的解决了第一级交换装置非对称的问题。本发明的技术方案是这样实现的:本发明实施例提供了一种交换网络的拥塞管理方法,所述方法包括:读取交换状态表,所述交换状态表为m行、n列状态表;其中,所述交换状态表第1至m行的行序表示不同的第一级交换装置的编号,所述交换状态表第1至第n列的数据中至少包括标识放置所述第一级交换装置的机架标识信息,以及表示与所述第一级交换装置连接的拥塞管理装置中的链路信息,所述m和n均为正整数;根据所述交换状态表选取归属于机架j内的所有l个第一级交换装置,并获取与所述l个第一级交换装置对应的k条链路;其中,所述l和j为小于m的正整数,所述k为小于l与n之积的正整数;从所述k条链路中选取l条链路,并将所述l条链路的带宽逐次进行累加,将两次相邻的累加结果分别作为第一带宽累加值和第二带宽累加值;其中,所述第一带宽累加值为a条链路的带宽累加值,所述第二带宽累加值为b条链路的带宽累加值,所述a条链路和b条链路均为所述l条链路中的链路,所述a和b均为小于或等于l的正整数,且b=a+1;确定所述第一带宽累加值小于预设带宽、且所述第二带宽累加值大于或等于所述预设带宽时,关闭所述k条链路中除所述a条链路之外的链路。上述方案中,所述方法还包括:确定所述b等于所述l、且所述第二带宽累加值小于所述预设带宽时,从所述k条链路中选取除所述l条链路之外的k-l条链路;判断所述k-l是否大于所述l;若所述k-l小于或等于所述l时,将所述k-l条链路的带宽逐次进行累加,将两次相邻的累加结果分别作为第三带宽累加值和第四带宽累加值;其中,所述第三带宽累加值为c条链路的带宽累加值,所述第四带宽累加值为d条链路的带宽累加值,所述c条链路和d条链路均为所述k-l条链路中的链路,所述c和d为小于或等于k-l的正整数,且d=c+1;确定所述第三带宽累加值小于所述预设带宽、且所述第四带宽累加值大于或等于所述预设带宽时,关闭除所述k-l条链路中除所述c条链路之外的链路;确定所述d等于所述k-l、且所述第四带宽累加值小于所述预设带宽时,对所述j加一,将所计算的和值作为新的j值,并进行下一次根据所述交换状态表选取归属于机架j内的所有l个第一级交换装置的操作;若所述k-l大于所述l时,将所述k-l作为新的k值,并进行下一次从所述k条链路中选取l条链路的操作。上述方案中,所述方法还包括:所述交换状态表的第n列数据用于标识放置所述第一级交换装置的机架标识信息。上述方案中,所述方法还包括:检测所述拥塞管理装置中输入链路的带宽是否大于输出链路的带宽;确定所述输入链路的带宽大于所述输出链路的带宽时,读取所述交换状态表。上述方案中,所述读取所述交换状态表之后,所述方法还包括:将所读取的针对所述链路信息的数据进行前导零检测lzd、并重排,生成链路数据集。上述方案中,所述根据所述交换状态表选取归属于机架j内的所有l个第一级交换装置之后,所述方法还包括:从所述链路数据集中获取归属于所述l个第一级交换装置的数据;将所述归属于所述l个第一级交换装置的数据进行合并;所述获取与所述l个第一级交换装置对应的k条链路,包括:根据所合并的结果获取与所述l个第一级交换装置对应的k条链路。本发明实施例还提供了一种交换网络的拥塞管理装置,其特征在于,所述装置包括:读取模块,用于读取交换状态表,所述交换状态表为m行、n列状态表;其中,所述交换状态表第1至m行的行序表示不同的第一级交换装置的编号,所述交换状态表第1至第n列的数据中至少包括标识放置所述第一级交换装置的机架标识信息,以及表示与所述第一级交换装置连接的拥塞管理装置中的链路信息,所述m和n均为正整数;第一选择模块,用于根据所述交换状态表选取归属于机架j内的所有l个第一级交换装置,并获取与所述l个第一级交换装置对应的k条链路;其中,所述l和j为小于m的正整数,所述k为小于l与n之积的正整数;所述第一选择模块,还用于从所述k条链路中选取l条链路;第一累加模块,用于在所述第一选择模块从所述k条链路中选取l条链路之后,将所述l条链路的带宽逐次进行累加,将两次相邻的累加结果分别作为第一带宽累加值和第二带宽累加值;其中,所述第一带宽累加值为a条链路的带宽累加值,所述第二带宽累加值为b条链路的带宽累加值,所述a条链路和b条链路均为所述l条链路中的链路,所述a和b均为小于或等于l的正整数,且b=a+1;第一关闭模块,用于在确定所述第一带宽累加值小于预设带宽、且第二带宽累加值大于或等于所述预设带宽时,关闭所述k条链路中除所述a条链路之外的链路。上述方案中,所述装置还包括:第二选择模块,用于在确定所述b等于所述l、且所述第二带宽累加值小于所述预设带宽时,从所述k条链路中选取除所述l条链路之外的k-l条链路;判断模块,用于判断所述k-l是否大于所述l;第二累加模块,用于在所述判断模块判断出所述k-l小于或等于所述l时,将所述k-l条链路的带宽逐次进行累加,将两次相邻的累加结果分别作为第三带宽累加值和第四带宽累加值;其中,所述第三带宽累加值为c条链路的带宽累加值,所述第四带宽累加值为d条链路的带宽累加值,所述c条链路和d条链路均为所述k-l条链路中的链路,所述c和d为小于或等于k-l的正整数,且d=c+1;第二关闭模块,用于在确定所述第三带宽累加值小于所述预设带宽、且所述第四带宽累加值大于或等于所述预设带宽时,关闭除所述k-l条链路中除所述c条链路之外的链路;第一处理模块,用于在确定所述d等于所述k-l、且所述第四带宽累加值小于所述预设带宽时,对所述j加一,将所计算的和值作为新的j值,并进行下一次根据所述交换状态表选取归属于机架j内的所有l个第一级交换装置的操作;第二处理模块,用于在所述判断模块判断所述k-l大于所述l时,将所述k-l作为新的k值,并进行下一次从所述k条链路中选取l条链路的操作。上述方案中,所述交换状态表的第n列数据用于标识放置所述第一级交换装置的机架标识信息。上述方案中,所述装置还包括:检测模块,用于检测所述拥塞管理装置中输入链路的带宽是否大于输出链路的带宽;所述读取模块,还用于在确定所述输入链路的带宽大于所述输出链路的带宽时,读取所述交换状态表。上述方案中,所述装置还包括:第三处理模块,用于在所述读取模块读取所述交换状态表之后,将所读取的针对所述链路信息的数据进行前导零检测lzd、并重排,生成链路数据集。上述方案中,所述装置还包括:第三选择模块,用于在所述第一选择模块根据所述交换状态表选取归属于机架j内的所有l个第一级交换装置之后,从所述链路数据集中获取归属于所述l个第一级交换装置的数据;合并模块,用于将所述归属于所述l个第一级交换装置的数据进行合并;所述第一选择模块,具体用于根据所合并的结果获取与所述l个第一级交换装置对应的k条链路。本发明实施例提供的交换网络的拥塞管理方法及装置,读取交换状态表,所述交换状态表为m行、n列状态表;其中,所述交换状态表第1至m行的行序表示不同的第一级交换装置的编号,所述交换状态表第1至第n列的数据中至少包括标识放置所述第一级交换装置的机架标识信息,以及表示与所述第一级交换装置连接的拥塞管理装置中的链路信息,所述m和n均为正整数;根据所述交换状态表选取归属于机架j内的所有l个第一级交换装置,并获取与所述l个第一级交换装置对应的k条链路;其中,所述l和j为小于m的正整数,所述k为小于l与n之积的正整数;从所述k条链路中选取l条链路,并将所述l条链路的带宽逐次进行累加,将两次相邻的累加结果分别作为第一带宽累加值和第二带宽累加值;其中,所述第一带宽累加值为a条链路的带宽累加值,所述第二带宽累加值为b条链路的带宽累加值,所述a条链路和b条链路均为所述l条链路中的链路,所述a和b均为小于或等于l的正整数,且b=a+1;确定所述第一带宽累加值小于预设带宽、且所述第二带宽累加值大于或等于所述预设带宽时,关闭所述k条链路中除所述a条链路之外的链路。可见,本发明实施例可以将关闭的链路均匀的分布在不同的第一级交换单元上,从而解决了在第二级交换单元非对称时关闭的第一级交换单元链路不均衡而导致第一级交换单元拥塞的问题,保证了整网的流量水平,提高了系统的性能。附图说明图1为一种三级clos交换网络的结构示意图;图2为一种三级clos非对称交换网络的结构示意图;图3为本发明实施例一提供的一种交换网络的拥塞管理方法的实现流程示意图;图4为另一种三级clos非对称交换网络的结构示意图;图5为本发明实施例一提供的一种拥塞管理装置的组成结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。实施例一图3为本发明实施例一提供的一种交换网络的拥塞管理方法的实现流程示意图,如图3所示,本实施例的拥塞管理方法包括以下步骤:步骤101:读取交换状态表。这里,表1为交换状态表,所述交换状态表也可称之为扩展机架表,其中,所述交换状态表为m行、n列状态表,所述交换状态表第1至m行的行序表示不同的第一级交换装置的编号,所述交换状态表第1至第n列的数据中至少包括标识放置所述第一级交换装置的机架标识信息,以及表示与所述第一级交换装置连接的拥塞管理装置中的链路信息,所述m和n均为正整数。如图4所示,三级clos非对称交换网络的结构示意图,包括四个业务机框,即业务机框1至业务机框4,两个中心机框,即中心机框65和中心机框66,且每个业务机框上有4个源交换接入装置401和4个第一级交换装置402,或4个目的交换接入装置405和4个第三级交换装置404,且每个中心机框上有4个第二级交换装置403。本发明实施例中,所述机框也可以称之为机架。一般来说,一个交换装置包含多个交换单元,为了绘图和描述方便,在图4中,一个交换单元可视为一个交换装置、一个源交换接入单元可视为一个源交换接入装置和一个目的交换接入单元可视为一个目的交换接入装置。值得注意的是,为了区分,这里把业务机框上与源交换接入单元相连的交换单元叫做第一级交换单元,中心机框上的交换单元叫做第二级交换单元,业务机框上与目的交换接入单元相连的交换单元叫做第三级交换单元。相应的,配置第一级交换单元的交换装置为第一级交换装置,其它装置也类似,此处不再赘述。这里,所述非对称交换网络是指:在交换网络相邻的两个级别之间,存在带宽不一致的情况,即在任意一个级别的节点到另一个级别所有的节点链路带宽不一致。这里,所述拥塞管理装置为放置于中心机框上的第二级交换装置,本发明实施例中,出现第二级交换装置,指的是所述拥塞管理装置。序号123456789101112…1441451010000000000…002001010000000…003000000101100…004000000000010…015000000010000…006000001000000…007100000000001…01…………………………………………144000000000001…01表1进一步地,所述方法还包括:所述交换状态表的第n列数据用于标识放置所述第一级交换装置的机架标识信息,如表1所示。举例来说,首先,交换状态表中的行序号1至144表示编号为1至144的第一级交换装置号;其次,交换状态表第145列的数据标识放置所述第一级交换装置的机架标识信息,例如,第145列中的数据出现数字“1”,表示该数字“1”所在行的下一行所对应的第一级交换装置为另一个机架内的第一级交换装置,如第145列的第1至第4行中的数据为{0,0,0,1},第145列的第5至第7行中的数据为{0,0,1},说明第1至第4行对应的第一级交换装置放置在同一个机架内,而从第5行至第7行对应的第一级交换装置在另外一个机架内;最后,第1列至第144列中的数据表示与所述第一级交换装置连接的拥塞管理装置中的链路信息,0表示所述第一级交换装置与拥塞管理装置中无链路连接,1表示所述第一级交换装置与拥塞管理装置中有链路连接,例如,第1行第1列的数据为0,说明编号为1的第一级交换装置与拥塞管理装置有链路连接,而第1行第2列的数据为1,说明编号为1的第一级交换装置与拥塞管理装置有链路连接。值得注意的是,表1中的第1行是行序号为1的那一行,第一列为列序号为1的那一列。进一步地,所述读取所述交换状态表之前,所述方法还包括:检测所述拥塞管理装置中输入链路的带宽是否大于输出链路的带宽;当确定所述输入链路的带宽大于所述输出链路的带宽时,读取所述交换状态表。具体地,在每个业务机框中,交换接入单元和交换单元之间分别各有两条链路相连接,业务机框上交换单元和中心机框上的交换单元之间也分别各有两条链路相连,此时,在业务机框3上的交换单元2#和目的交换接入单元1#之间有一条链路断开,如图4所示,虚线箭头线表示链路断开,那么此时交换网络出现第三级交换单元-目的交换接入单元间非对称,在业务机框3上,第三极交换单元2#的输入带宽大于输出带宽,在此处可能产生局部拥塞,从而导致系统丢包,整网流量下降。当第三级交换单元-目的交换接入单元间非对称时,所以其处理方式是关闭第二级交换单元(中心机框66)的输出链路,关闭第二级的输出链路后,在第二级交换单元就出现了输入带宽大于输出带宽的问题,这同样会造成第二级交换单元的拥塞,需要做第二级交换装置的非对成处理,此时,读取所述交换状态表。进一步地,所述读取所述交换状态表之后,所述方法还包括:将所读取的针对所述链路信息的数据进行前导零检测(leadingzerodetection,lzd)、并重排,生成链路数据集。步骤102:根据所述交换状态表选取归属于机架j内的所有l个第一级交换装置,并获取与所述l个第一级交换装置对应的k条链路。这里,所述l和j为小于m的正整数,所述k为小于l与n之积的正整数。进一步地,所述根据所述交换状态表选取归属于机架j内的所有l个第一级交换装置之后,所述方法还包括:从所述链路数据集中获取归属于所述l个第一级交换装置的数据;将所述归属于所述l个第一级交换装置的数据进行合并;所述获取与所述l个第一级交换装置对应的k条链路,包括:根据所合并的结果获取与所述l个第一级交换装置对应的k条链路。这里,归属于所述l个第一级交换装置的数据指的是:由于行序号表示第一级交换装置,在交换状态表中,归属于同一个机架或机框中的l个第一级交换装置对应的数据,即交换状态表中的l行n列数据,所述l行的行序号表示所述l个第一级交换装置的编号。进一步地,根据所述交换状态表选取归属于机架j内的所有l个第一级交换装置,把归属于机架j内的第一级交换装置对应交换状态表(即l行n列交换状态表)的信息按行进行合并,获取与所述l个第一级交换装置对应的k条链路,得到关于链路的信息。举例来说,如表1所示,将第1行至第4行中的信息和并,得到机架-链路信息(rack_link),且rack_link={(z4,d11),(z3,d10),(z3,d9),(z3,d7),(z2,d5),(z2,d3),(z1,d2)},这里(z4,d11)表示与第一级交换装置4连接的拥塞管理装置中的第11号链路。前导零检测后,与第一级交换装置对应的链路数量lzdcnt结果合并为{1,3,2,1},即与第一级交换装置4对应的链路有1条,与第一级交换装置3对应的链路有3条,与第一级交换装置2对应的链路有2条,与第一级交换装置1对应的链路有1条。这里,z表示交换状态表的行,d表示交换状态表的列。步骤103:从所述k条链路中选取l条链路。举例来说,对于链路数为7条的链路rack_link={(z4,d11),(z3,d10),(z3,d9),(z3,d7),(z2,d5),(z2,d3),(z1,d2)},选取链路时,在每个第一级交换装置对应的链路中选择一条链路,得到rack_link(z1,d2)、rack_link(z2,d3)、rack_link(z3,d7)和rack_link(z4,d11)。一般来说,选择链路时,优选链路带宽较小的链路。步骤104:将所述l条链路的带宽逐次进行累加,将两次相邻的累加结果分别作为第一带宽累加值和第二带宽累加值。这里,所述第一带宽累加值为a条链路的带宽累加值,所述第二带宽累加值为b条链路的带宽累加值,所述a条链路和b条链路均为所述l条链路中的链路,所述a和b均为小于或等于l的正整数,且b=a+1。举例来说,四条链路rack_link(z1,d2)、rack_link(z2,d3)、rack_link(z3,d7)和rack_link(z4,d11)中,将其中两条链路rack_link(z1,d2)和rack_link(z2,d3)的带宽进行相加,得到第一带宽累加结果为l1,将三条链路rack_link(z1,d2)、rack_link(z2,d3)和rack_link(z3,d7)的带宽进行相加,得到第二带宽累加结果为l2。步骤105:判断所述第一带宽累加值、第二带宽累加值与所述预设带宽的大小。这里,所述预设带宽的确定方法为:通过轮询某个交换单元与其它交换单元相连的所有链路状态,并将所有链路的带宽累加,当所有的有效链路轮询结束后,累加结果即为输出带宽,将输出带宽作为所述预设带宽值。值得注意的是,所述预设带宽是拥塞管理装置或其它带宽测试器件通过上述方法确定的。步骤106:关闭所述k条链路中除所述a条链路之外的链路。具体地,当判断出所述第一带宽累加值小于预设带宽、且第二带宽累加值大于或等于所述预设带宽时,关闭所述k条链路中除所述a条链路之外的链路。举例来说,令所述预设带宽为w,链路rack_link(z1,d2)和rack_link(z2,d3)的带宽累加值l1小于w、rack_link(z1,d2)、rack_link(z2,d3)和rack_link(z3,d7)的带宽累加值l2大于w,此时,7条链路rack_link={(z4,d11),(z3,d10),(z3,d9),(z3,d7),(z2,d5),(z2,d3),(z1,d2)}中,保留链路rack_link(z1,d2)和rack_link(z2,d3),将链路rack_link(z3,d7)、rack_link(z3,d9)、rack_link(z3,d10)和rack_link(z4,d11)关闭,从而保证该第二集交换装置的输入带宽与输出带宽保持一致,进而避免网络拥塞的发生。步骤107:判断b是否等于l。当第一带宽累加值和第二带宽累加值均小于预设带宽时,需要判断l条链路的带宽是否累加完,即判断b是否等于l,当b等于l时,说明l条链路的带宽已经累加完;当b小于l时,说明l条链路还未完全累加完,此时,令a=a+1,b=b+1,然后需要返回执行步骤104,即所述将所述l条链路的带宽逐次进行累加,将两次相邻的累加结果分别作为第一带宽累加值和第二带宽累加值,如图3所示。步骤108:从所述k条链路中选取除所述l条链路之外的k-l条链路。具体地,当判断出b等于l时,则从所述k条链路中选取除所述l条链路之外的k-l条链路。举例来说,7条链路rack_link={(z4,d11),(z3,d10),(z3,d9),(z3,d7),(z2,d5),(z2,d3),(z1,d2)}中,已经选取了rack_link(z1,d2)、rack_link(z2,d3)、rack_link(z3,d7)和rack_link(z4,d11)4条链路出来,该4条链路的带宽累加值均小于所述预设带宽,因此,该4条链路均保留,重新获取剩下的3条链路,即链路rack_link(z4,d11)、rack_link(z3,d10)和rack_link(z3,d9)。步骤109:判断k-l是否大于l。这里,对于每次选取,一般是在每个第一级交换装置对应的链路中选取一条链路,即由l个交换装置,一般会选取l条链路。当k-l大于l时,进入步骤110;当k-l小于l时,则k-l条链路全被选取。步骤110:令k=k-l,并进行下一次从所述k条链路中选取l条链路的操作。具体地,当判断出k-l大于l时,将所述k-l作为新的k值,然后重新返回步骤103,即所述将所述l条链路的带宽逐次进行累加,将两次相邻的累加结果分别作为第一带宽累加值和第二带宽累加值,第一带宽累加值和第二带宽累加值分别为a、b条链路的带宽累加值的步骤步骤111:将所述k-l条链路的带宽逐次进行累加,将两次相邻的累加结果分别作为第三带宽累加值和第四带宽累加值。具体地,当判断出k-l小于或等于l时,将所述k-l条链路的带宽逐次进行累加,将两次相邻的累加结果分别作为第三带宽累加值和第四带宽累加值。这里,所述第三带宽累加值为c条链路的带宽累加值,所述第四带宽累加值为d条链路的带宽累加值,所述c条链路和d条链路均为所述k-l条链路中的链路,所述c和d为小于或等于k-l的正整数,且d=c+1。举例来说,在剩下的3条链路rack_link(z4,d11)、rack_link(z3,d10)和rack_link(z3,d9)中,对该3条链路的带宽依次进行累加,得到链路rack_link(z4,d11)和rack_link(z3,d10)的第三带宽累加值l3,以及链路rack_link(z4,d11)、rack_link(z3,d10)和rack_link(z3,d9)的第四带宽累加值l4。步骤112:判断所述第三带宽累加值是否小于所述预设带宽、且所述第四带宽累加值是否大于或等于所述预设带宽。步骤113:关闭除所述k-l条链路中除所述c条链路之外的链路。具体地,确定所述第三带宽累加值小于所述预设带宽、且所述第四带宽累加值大于或等于所述预设带宽时,关闭除所述k-l条链路中除所述c条链路之外的链路。举例来说,假设所述预设带宽为w,若得到链路rack_link(z4,d11)和rack_link(z3,d10)的第三带宽累加值l3小于w,以及链路rack_link(z4,d11)、rack_link(z3,d10)和rack_link(z3,d9)的第四带宽累加值l4大于w,此时,将三条链路中rack_link(z4,d11)、rack_link(z3,d10)和rack_link(z3,d9)的rack_link(z3,d9)进行关闭。步骤114:判断d是否等于k-l。当第三带宽累加值和第四带宽累加值均小于预设带宽时,需要判断k-l条链路的带宽是否累加完,即判断d是否等于l,当d等于k-l时,说明k-l条链路的带宽已经累加完;当d小于l时,说明k-l条链路还未完全累加完,此时,令k=k-l,然后需要返回执行步骤111,即所述将所述k-l条链路的带宽逐次进行累加,将两次相邻的累加结果分别作为第三带宽累加值和第四带宽累加值,第一带宽累加值和第二带宽累加值分别为a、b条链路的带宽累加值的这个步骤,这里的a值,如图3所示。步骤115:令j=j+1,然后进行下一次根据所述交换状态表选取归属于机架j内的所有l个第一级交换装置的操作。确定所述d等于所述k-l、且所述第四带宽累加值小于所述预设带宽时,将j进行加一,将所计算的和值作为新的j值,然后进行下一次根据所述交换状态表选取归属于机架j内的所有l个第一级交换装置的操作。为实现上述方法,本发明实施例一还提供了一种拥塞管理装置,如图4所示,所述拥塞管理装置包括:读取模块501、第一选择模块502、第一累加模块503和第一关闭模块504;其中,读取模块501,用于读取交换状态表,所述交换状态表为m行、n列状态表;其中,所述交换状态表第1至m行的行序表示不同的第一级交换装置的编号,所述交换状态表第1至第n列的数据中至少包括标识放置所述第一级交换装置的机架标识信息,以及表示与所述第一级交换装置连接的拥塞管理装置中的链路信息,所述m和n均为正整数;第一选择模块502,用于根据所述交换状态表选取归属于机架j内的所有l个第一级交换装置,并获取与所述l个第一级交换装置对应的k条链路;其中,所述l和j为小于m的正整数,所述k为小于l与n之积的正整数;第一选择模块502,还用于从所述k条链路中选取l条链路;第一累加模块503,用于在第一选择模块502从所述k条链路中选取l条链路之后,将所述l条链路的带宽逐次进行累加,将两次相邻的累加结果分别作为第一带宽累加值和第二带宽累加值;其中,所述第一带宽累加值为a条链路的带宽累加值,所述第二带宽累加值为b条链路的带宽累加值,所述a条链路和b条链路均为所述l条链路中的链路,所述a和b均为小于或等于l的正整数,且b=a+1;第一关闭模块504,用于在确定所述第一带宽累加值小于预设带宽、且第二带宽累加值大于或等于所述预设带宽时,关闭所述k条链路中除所述a条链路之外的链路。进一步地,所述装置还包括:第二选择模块505,用于在确定所述b等于所述l、且所述第二带宽累加值小于所述预设带宽时,从所述k条链路中选取除所述l条链路之外的k-l条链路;判断模块506,用于判断所述k-l是否大于所述l;第二累加模块507,用于在判断模块506判断出所述k-l小于或等于所述l时,将所述k-l条链路的带宽逐次进行累加,将两次相邻的累加结果分别作为第三带宽累加值和第四带宽累加值;其中,所述第三带宽累加值为c条链路的带宽累加值,所述第四带宽累加值为d条链路的带宽累加值,所述c条链路和d条链路均为所述k-l条链路中的链路,所述c和d为小于或等于k-l的正整数,且d=c+1;第二关闭模块508,用于在确定所述第三带宽累加值小于所述预设带宽、且所述第四带宽累加值大于或等于所述预设带宽时,关闭除所述k-l条链路中除所述c条链路之外的链路;第一处理模块509,用于在确定所述d等于所述k-l、且所述第四带宽累加值小于所述预设带宽时,对所述j加一,将所计算的和值作为新的j值,并进行下一次根据所述交换状态表选取归属于机架j内的所有l个第一级交换装置的操作;第二处理模块510,用于在所述判断模块判断所述k-l大于所述l时,将所述k-l作为新的k值,并进行下一次从所述k条链路中选取l条链路的操作。进一步地,所述交换状态表的第n列数据用于标识放置所述第一级交换装置的机架标识信息。进一步地,所述装置还包括:检测模块511,用于检测所述拥塞管理装置中输入链路的带宽是否大于输出链路的带宽;读取模块501,还用于在确定所述输入链路的带宽大于所述输出链路的带宽时,读取所述交换状态表。进一步地,所述装置还包括:第三处理模块512,用于在所述读取模块读取所述交换状态表之后,将所读取的针对所述链路信息的数据进行前导零检测lzd、并重排,生成链路数据集。进一步地,所述装置还包括:第三选择模块513,用于在第一选择模块502根据所述交换状态表选取归属于机架j内的所有l个第一级交换装置之后,从所述链路数据集中获取归属于所述l个第一级交换装置的数据;合并模块514,用于将所述归属于所述l个第一级交换装置的数据进行合并;第一选择模块502,具体用于根据所合并的结果获取与所述l个第一级交换装置对应的k条链路。由上述结构组成的拥塞管理装置,可以执行以下方法步骤:(1)读取模块501读取交换状态表。这里,表1为交换状态表,所述交换状态表也可称之为扩展机架表,其中,所述交换状态表为m行、n列状态表,所述交换状态表第1至m行的行序表示不同的第一级交换装置的编号,所述交换状态表第1至第n列的数据中至少包括标识放置所述第一级交换装置的机架标识信息,以及表示与所述第一级交换装置连接的拥塞管理装置中的链路信息,所述m和n均为正整数。如图4所示,三级clos非对称交换网络的结构示意图,包括四个业务机框,即业务机框1至业务机框4,两个中心机框,即中心机框65和中心机框66,且每个业务机框上有4个源交换接入装置401和4个第一级交换装置402,或4个目的交换接入装置405和4个第三级交换装置404,且每个中心机框上有4个第二级交换装置403。本发明实施例中,所述机框也可以称之为机架。一般来说,一个交换装置包含多个交换单元,为了绘图和描述方便,在图4中,一个交换单元可视为一个交换装置、一个源交换接入单元可视为一个源交换接入装置和一个目的交换接入单元可视为一个目的交换接入装置。值得注意的是,为了区分,这里把业务机框上与源交换接入单元相连的交换单元叫做第一级交换单元,中心机框上的交换单元叫做第二级交换单元,业务机框上与目的交换接入单元相连的交换单元叫做第三级交换单元。相应的,配置第一级交换单元的交换装置为第一级交换装置,其它装置也类似,此处不再赘述。这里,所述非对称交换网络是指:在交换网络相邻的两个级别之间,存在带宽不一致的情况,即在任意一个级别的节点到另一个级别所有的节点链路带宽不一致。这里,所述拥塞管理装置为放置于中心机框上的第二级交换装置,本发明实施例中,出现第二级交换装置,指的是所述拥塞管理装置。序号123456789101112…1441451010000000000…002001010000000…003000000101100…004000000000010…015000000010000…006000001000000…007100000000001…01…………………………………………144000000000001…01表1进一步地,所述方法还包括:所述交换状态表的第n列数据用于标识放置所述第一级交换装置的机架标识信息,如表1所示。举例来说,首先,交换状态表中的行序号1至144表示编号为1至144的第一级交换装置号;其次,交换状态表第145列的数据标识放置所述第一级交换装置的机架标识信息,例如,第145列中的数据出现数字“1”,表示该数字“1”所在行的下一行所对应的第一级交换装置为另一个机架内的第一级交换装置,如第145列的第1至第4行中的数据为{0,0,0,1},第145列的第5至第7行中的数据为{0,0,1},说明第1至第4行对应的第一级交换装置放置在同一个机架内,而从第5行至第7行对应的第一级交换装置在另外一个机架内;最后,第1列至第144列中的数据表示与所述第一级交换装置连接的拥塞管理装置中的链路信息,0表示所述第一级交换装置与拥塞管理装置中无链路连接,1表示所述第一级交换装置与拥塞管理装置中有链路连接,例如,第1行第1列的数据为0,说明编号为1的第一级交换装置与拥塞管理装置有链路连接,而第1行第2列的数据为1,说明编号为1的第一级交换装置与拥塞管理装置有链路连接。值得注意的是,表1中的第1行是行序号为1的那一行,第一列为列序号为1的那一列。进一步地,读取模块501读取所述交换状态表之前,所述方法还包括:检测模块511检测所述拥塞管理装置中输入链路的带宽是否大于输出链路的带宽;当确定所述输入链路的带宽大于所述输出链路的带宽时,读取模块501读取所述交换状态表。具体地,在每个业务机框中,交换接入单元和交换单元之间分别各有两条链路相连接,业务机框上交换单元和中心机框上的交换单元之间也分别各有两条链路相连,此时,在业务机框3上的交换单元2#和目的交换接入单元1#之间有一条链路断开,如图4所示,虚线箭头线表示链路断开,那么此时交换网络出现第三级交换单元-目的交换接入单元间非对称,在业务机框3上,第三极交换单元2#的输入带宽大于输出带宽,在此处可能产生局部拥塞,从而导致系统丢包,整网流量下降。当第三级交换单元-目的交换接入单元间非对称时,所以其处理方式是关闭第二级交换单元(中心机框66)的输出链路,关闭第二级的输出链路后,在第二级交换单元就出现了输入带宽大于输出带宽的问题,这同样会造成第二级交换单元的拥塞,需要做第二级交换装置的非对成处理,此时,读取模块501读取所述交换状态表。进一步地,读取模块501读取所述交换状态表之后,所述方法还包括:第三处理模块512将所读取的针对所述链路信息的数据进行lzd、并重排,生成链路数据集。(2)第一选择模块502根据所述交换状态表选取归属于机架j内的所有l个第一级交换装置,并获取与所述l个第一级交换装置对应的k条链路。这里,所述l和j为小于m的正整数,所述k为小于l与n之积的正整数。进一步地,第一选择模块502根据所述交换状态表选取归属于机架j内的所有l个第一级交换装置之后,所述方法还包括:第三选择模块513从所述链路数据集中获取归属于所述l个第一级交换装置的数据;合并模块514将所述归属于所述l个第一级交换装置的数据进行合并;第一选择模块502获取与所述l个第一级交换装置对应的k条链路包括:第一选择模块502根据所合并的结果获取与所述l个第一级交换装置对应的k条链路。这里,归属于所述l个第一级交换装置的数据指的是:由于行序号表示第一级交换装置,在交换状态表中,归属于同一个机架或机框中的l个第一级交换装置对应的数据,即交换状态表中的l行n列数据,所述l行的行序号表示所述l个第一级交换装置的编号。进一步地,第三选择模块513根据所述交换状态表选取归属于机架j内的所有l个第一级交换装置,合并模块514把归属于机架j内的第一级交换装置对应交换状态表(即l行n列交换状态表)的信息按行进行合并,第一选择模块502获取与所述l个第一级交换装置对应的k条链路,得到关于链路的信息。举例来说,如表1所示,将第1行至第4行中的信息和并,得到rack_link={(z4,d11),(z3,d10),(z3,d9),(z3,d7),(z2,d5),(z2,d3),(z1,d2)},这里(z4,d11)表示与第一级交换装置4连接的拥塞管理装置中的第11号链路。进行前导零检测后,与第一级交换装置对应的链路数量lzdcnt结果合并为{1,3,2,1},即与第一级交换装置4对应的链路有1条,与第一级交换装置3对应的链路有3条,与第一级交换装置2对应的链路有2条,与第一级交换装置1对应的链路有1条。这里,z表示交换状态表的行,d表示交换状态表的列。(3)第一选择模块502从所述k条链路中选取l条链路。举例来说,对于链路数为7条的链路rack_link={(z4,d11),(z3,d10),(z3,d9),(z3,d7),(z2,d5),(z2,d3),(z1,d2)},第一选择模块502选取链路时,在每个第一级交换装置对应的链路中选择一条链路,得到rack_link(z1,d2)、rack_link(z2,d3)、rack_link(z3,d7)和rack_link(z4,d11)。一般来说,第一选择模块502选择链路时,优选链路带宽较小的链路。(4)第一累加模块503将所述l条链路的带宽逐次进行累加,将两次相邻的累加结果分别作为第一带宽累加值和第二带宽累加值。这里,所述第一带宽累加值为a条链路的带宽累加值,所述第二带宽累加值为b条链路的带宽累加值,所述a条链路和b条链路均为所述l条链路中的链路,所述a和b均为小于或等于l的正整数,且b=a+1。举例来说,四条链路rack_link(z1,d2)、rack_link(z2,d3)、rack_link(z3,d7)和rack_link(z4,d11)中,第一累加模块503将其中两条链路rack_link(z1,d2)和链路rack_link(z2,d3)的带宽进行相加,得到第一带宽累加结果为l1,将三条链路rack_link(z1,d2)、链路rack_link(z2,d3)和链路rack_link(z3,d7)的带宽进行相加,得到第二带宽累加结果为l2。(5)判断模块506判断所述第一带宽累加值、第二带宽累加值与所述预设带宽的大小。这里,所述预设带宽的确定方法为:通过轮询某个交换单元与其它交换单元相连的所有链路状态,并将所有链路的带宽累加,当所有的有效链路轮询结束后,累加结果即为输出带宽,将输出带宽作为所述预设带宽值。值得注意的是,所述预设带宽是拥塞管理装置或其它带宽测试器件通过上述方法确定的。(6)第一关闭模块504关闭所述k条链路中除所述a条链路之外的链路。具体地,当判断模块506判断出所述第一带宽累加值小于预设带宽、且第二带宽累加值大于或等于所述预设带宽时,第一关闭模块504关闭所述k条链路中除所述a条链路之外的链路。举例来说,令所述预设带宽为w,链路rack_link(z1,d2)和rack_link(z2,d3)的带宽累加值l1小于w、且链路rack_link(z1,d2)、rack_link(z2,d3)和rack_link(z3,d7)的带宽累加值l2大于w,此时,7条链路rack_link={(z4,d11),(z3,d10),(z3,d9),(z3,d7),(z2,d5),(z2,d3),(z1,d2)}中,保留链路rack_link(z1,d2)和rack_link(z2,d3),将链路rack_link(z3,d7)、rack_link(z3,d9)、rack_link(z3,d10)和rack_link(z4,d11)关闭,从而保证该第二集交换装置的输入带宽与输出带宽保持一致,进而避免网络拥塞的发生。(7)判断模块506判断b是否等于l。当第一带宽累加值和第二带宽累加值均小于预设带宽时,需要判断l条链路的带宽是否累加完,即判断b是否等于l,当b等于l时,说明l条链路的带宽已经累加完;当b小于l时,说明l条链路还未完全累加完,此时,令a=a+1,b=b+1,然后需要返回执行步骤(4),即所述将所述l条链路的带宽逐次进行累加,将两次相邻的累加结果分别作为第一带宽累加值和第二带宽累加值,如图3所示。(8)第二选择模块505从所述k条链路中选取除所述l条链路之外的k-l条链路。具体地,当判断模块506判断出b等于l时,第二选择模块505从所述k条链路中选取除所述l条链路之外的k-l条链路。举例来说,7条链路rack_link={(z4,d11),(z3,d10),(z3,d9),(z3,d7),(z2,d5),(z2,d3),(z1,d2)}中,已经选取了rack_link(z1,d2)、rack_link(z2,d3)、rack_link(z3,d7)和rack_link(z4,d11)4条链路出来,该4条链路的带宽累加值均小于所述预设带宽,因此,该4条链路均保留,重新获取剩下的3条链路,即链路rack_link(z4,d11)、rack_link(z3,d10)和rack_link(z3,d9)。(9)判断模块506判断k-l是否大于l。这里,对于每次选取,一般是在每个第一级交换装置对应的链路中选取一条链路,即由l个交换装置,一般会选取l条链路。当k-l大于l时,进入步骤(10);当k-l小于l时,则k-l条链路全被选取。(10)第二处理模块510令k=k-l,并进行下一次从所述k条链路中选取l条链路的操作。具体地,当判断模块506判断出k-l大于l时,第二处理模块510将所述k-l作为新的k值,然后重新返回步骤(3),即所述将所述l条链路的带宽逐次进行累加,将两次相邻的累加结果分别作为第一带宽累加值和第二带宽累加值,第一带宽累加值和第二带宽累加值分别为a、b条链路的带宽累加值的步骤(11)第二累加模块507将所述k-l条链路的带宽逐次进行累加,将两次相邻的累加结果分别作为第三带宽累加值和第四带宽累加值。具体地,当判断模块506判断出k-l小于或等于l时,第二累加模块507将所述k-l条链路的带宽逐次进行累加,将两次相邻的累加结果分别作为第三带宽累加值和第四带宽累加值。这里,所述第三带宽累加值为c条链路的带宽累加值,所述第四带宽累加值为d条链路的带宽累加值,所述c条链路和d条链路均为所述k-l条链路中的链路,所述c和d为小于或等于k-l的正整数,且d=c+1。举例来说,在剩下的3条链路rack_link(z4,d11)、rack_link(z3,d10)和rack_link(z3,d9)中,对该3条链路的带宽依次进行累加,得到链路rack_link(z4,d11)和rack_link(z3,d10)的第三带宽累加值l3,以及链路rack_link(z4,d11)、rack_link(z3,d10)和rack_link(z3,d9)的第四带宽累加值l4。(12)判断模块506判断所述第三带宽累加值是否小于所述预设带宽、且所述第四带宽累加值是否大于或等于所述预设带宽。(13)第二关闭模块508关闭除所述k-l条链路中除所述c条链路之外的链路。具体地,确定所述第三带宽累加值小于所述预设带宽、且所述第四带宽累加值大于或等于所述预设带宽时,第二关闭模块508关闭除所述k-l条链路中除所述c条链路之外的链路。举例来说,假设所述预设带宽为w,若得到链路rack_link(z4,d11)和rack_link(z3,d10)的第三带宽累加值l3小于w,以及链路rack_link(z4,d11)、rack_link(z3,d10)和rack_link(z3,d9)的第四带宽累加值l4大于w,此时,第二关闭模块508将三条链路中rack_link(z4,d11)、rack_link(z3,d10)和rack_link(z3,d9)的rack_link(z3,d9)进行关闭。(14)判断模块506判断d是否等于k-l。当第三带宽累加值和第四带宽累加值均小于预设带宽时,需要判断k-l条链路的带宽是否累加完,即判断d是否等于l,当d等于k-l时,说明k-l条链路的带宽已经累加完;当d小于l时,说明k-l条链路还未完全累加完,此时,令k=k-l,然后需要返回执行步骤(11),即所述将所述k-l条链路的带宽逐次进行累加,将两次相邻的累加结果分别作为第三带宽累加值和第四带宽累加值,第一带宽累加值和第二带宽累加值分别为a、b条链路的带宽累加值的这个步骤,这里的a值,如图3所示。(15)第一处理模块509令j=j+1,然后进行下一次根据所述交换状态表选取归属于机架j内的所有l个第一级交换装置的操作。确定所述d等于所述k-l、且所述第四带宽累加值小于所述预设带宽时,第一处理模块509将j进行加一,将所计算的和值作为新的j值,然后进行下一次根据所述交换状态表选取归属于机架j内的所有l个第一级交换装置的操作。通过本发明实施例的方案,当某个第二级交换装置发生非对称时,可以通过查找交换状态表,确定该第二级交换装置与第一级交换装置之间的链路连接关系,然后选取相应链路的带宽进行累加,带宽累加值刚好等于或大于门限带宽值时,保留当前已经进行累加的链路,其它链路关闭。从而保证了将关闭的链路均匀的分布在不同的第一级交换装置上,从而解决了在第二级交换装置非对称时关闭的第一级交换装置链路不均衡而导致第一级交换装置拥塞的问题,保证了整网的流量水平,同时也保证了不造成带宽的浪费,提高了系统的性能。在实际应用中,所述拥塞管理装置的读取模块501、第一选择模块502、第一累加模块503、第一关闭模块504、第二选择模块505、判断模块506、第二累加模块507、第二关闭模块508、第一处理模块509、第二处理模块510、检测模块511、第三处理模块512、第三选择模块513和合并模块514均可由位于拥塞管理装置中的中央处理器(cpu)、微处理器(mpu)、数字信号处理器(dsp)、或现场可编程门阵列(fpga)等实现。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1