專利名稱:聚合鏈路負載分擔(dān)方法和裝置的制作方法
技術(shù)領(lǐng)域:
本申請涉及網(wǎng)絡(luò)通信技術(shù),特別涉及聚合鏈路負載分擔(dān)方法和裝置。
背景技術(shù):
在集群中的任一設(shè)備在通過聚合鏈路轉(zhuǎn)發(fā)數(shù)據(jù)流時,都是采用本地優(yōu)先的原則進行的,即集群中的設(shè)備接收到通過聚合鏈路轉(zhuǎn)發(fā)的數(shù)據(jù)流時,優(yōu)先選擇本設(shè)備上屬于該聚合鏈路的成員鏈路進行數(shù)據(jù)流的轉(zhuǎn)發(fā)。如圖1所示,主設(shè)備(Master)和備設(shè)備(Standby)通過堆疊鏈路比如智能彈性架構(gòu)(IRF !Intelligent Resilient Framework)鏈路互聯(lián)形成集群,其中,集群中的Master、Standby與匯聚設(shè)備之間的鏈路聚合在一起形成聚合鏈路。對于Master,如果收到需要通過聚合鏈路轉(zhuǎn)發(fā)的下行數(shù)據(jù)流,則Master在本地存在屬于該聚合鏈路的成員鏈路時,即使Standby上也存在屬于該聚合鏈路中的成員鏈路,Master也只會通過本設(shè)備上屬于該聚合鏈路的成員鏈路發(fā)送該下行數(shù)據(jù)流到下行方向的匯聚設(shè)備,具體如圖1所示。同樣,對于Standby,其收到需要通過聚合鏈路轉(zhuǎn)發(fā)的下行數(shù)據(jù)流時,也會優(yōu)先選擇本設(shè)備上屬于該聚合鏈路的成員鏈路轉(zhuǎn)發(fā)該下行數(shù)據(jù)流到下行方向的匯聚設(shè)備。而當(dāng)集群中的設(shè)備比如Master或者Standby收到需要通過聚合鏈路轉(zhuǎn)發(fā)的下行數(shù)據(jù)流時,如果本設(shè)備本地存在屬于該聚合鏈路的成員鏈路、但該成員鏈路中有部分不可用(DOWN),則基于本地優(yōu)先原則,本設(shè)備會集中通過屬于該聚合鏈路的正常成員鏈路轉(zhuǎn)發(fā)下行數(shù)據(jù)流,這會出現(xiàn)成員鏈路擁塞的現(xiàn)象。以Master收到需要通過聚合鏈路轉(zhuǎn)發(fā)的下行數(shù)據(jù)流為例,如圖2所示,Master本地屬于該聚合鏈路的成員鏈路中有兩條成員鏈路比如鏈路I和鏈路2D0WN不可用,而其他兩條成員鏈·路比如鏈路3和鏈路4可用,且每條可用的成員鏈路允許的流量帶寬為10M,則如果下行數(shù)據(jù)流超過20M,就會出現(xiàn)可用成員鏈路擁塞的現(xiàn)象。
發(fā)明內(nèi)容
本申請?zhí)峁┝司酆湘溌坟撦d分擔(dān)方法和裝置,以避免鏈路擁塞,實現(xiàn)集群中聚合鏈路的負載分擔(dān)。本申請?zhí)峁┑募夹g(shù)方案包括:—種聚合鏈路負載分擔(dān)方法,所述聚合鏈路包含集群中不同成員設(shè)備連接至匯聚設(shè)備的成員鏈路,所述集群中相鄰成員設(shè)備之間通過堆疊鏈路連接,所述集群中的成員設(shè)備細分為主設(shè)備Master和至少一個備設(shè)備Standby,所述方法包括:所述集群中的Master每隔設(shè)定收集周期收集所述集群中各個設(shè)備本地可用聚合成員鏈路的出方向利用率;所述各個設(shè)備本地可用聚合成員鏈路為各個設(shè)備本地屬于所述聚合鏈路的可用成員鏈路;所述Master每隔所述設(shè)定收集周期收集所述集群中各個設(shè)備本地可用堆疊成員鏈路的出方向利用率,所述各個設(shè)備本地可用堆疊成員鏈路為各個設(shè)備本地屬于堆疊鏈路的可用成員鏈路;所述Master利用收集的所述集群中各個設(shè)備本地的可用聚合成員鏈路出方向利用率、以及可用堆疊成員鏈路出方向利用率驗證所述聚合鏈路是否滿足設(shè)定的聚合鏈路失衡條件;如果是,所述Master從所述集群中識別出滿足設(shè)定重載條件的重載設(shè)備,并在所述重載設(shè)備存在相鄰的、且滿足設(shè)定輕載條件的輕載設(shè)備時,選擇所述重載設(shè)備連接至所述輕載設(shè)備的至少一條可用堆疊成員鏈路與所述重載設(shè)備本地的可用聚合成員鏈路一起均衡負擔(dān)數(shù)據(jù)流的轉(zhuǎn)發(fā)。。優(yōu)選地,所述聚合鏈路失衡條件包括:所述集群中存在滿足設(shè)定重載條件的重載設(shè)備;所述集群中與所述重載設(shè)備相鄰的至少一個設(shè)備滿足設(shè)定輕載條件;
所述集群中重載設(shè)備與相鄰的一個輕載設(shè)備的本地可用聚合成員鏈路數(shù)量之差滿足設(shè)定偏差閾值;所述集群中從所述重載設(shè)備至所述重載設(shè)備相鄰的一個輕載設(shè)備的至少一條可用堆疊成員鏈路的出方向利用率滿足設(shè)定的可用堆疊成員鏈路出方向利用率閾值。優(yōu)選地,所述滿足設(shè)定重載條件的重載設(shè)備為:本地各個可用聚合成員鏈路的出方向利用率均大于等于設(shè)定的聚合成員鏈路出方向利用率上限閾值的設(shè)備;所述滿足設(shè)定輕載條件的輕載設(shè)備為:本地各個可用聚合成員鏈路的出方向利用率均小于等于設(shè)定的聚合成員鏈路出方向利用率下限閾值的設(shè)備。優(yōu)選地,Master選擇所述重載設(shè)備連接至所述輕載設(shè)備的至少一條可用堆疊成員鏈路與所述重載設(shè)備本地的可用聚合成員鏈路一起均衡負擔(dān)數(shù)據(jù)流的轉(zhuǎn)發(fā)包括:Master選擇所述重載設(shè)備連接至所述輕載設(shè)備的至少一條可用堆疊成員鏈路加入至所述重載設(shè)備本地的聚合鏈路表,以使重載設(shè)備接收到需要通過聚合鏈路轉(zhuǎn)發(fā)的數(shù)據(jù)流時,利用本地聚合鏈路表中所有鏈路均衡分擔(dān)該數(shù)據(jù)流。優(yōu)選地,Master選擇所述重載設(shè)備連接至所述輕載設(shè)備的至少一條可用堆疊成員鏈路加入至所述重載設(shè)備本地的聚合鏈路表包括:Master從所述重載設(shè)備本地至相鄰輕載設(shè)備的所有可用堆疊成員鏈路中識別出滿足以下條件的可用堆疊成員鏈路:出方向利用率滿足設(shè)定的可用堆疊鏈路出方向利用率閾值;Master比較M+X與L,其中,M為所述重載設(shè)備本地可用聚合成員鏈路的數(shù)量,X為Master識別出的可用堆疊成員鏈路的數(shù)量,L為預(yù)先針對重載設(shè)備設(shè)定的最多可用鏈路的
數(shù)量;如果M+X〈=L,選擇識別出的所有可用堆疊成員鏈路加入所述重載設(shè)備本地的聚合鏈路表;如果M+X>L,從識別出的所有可用堆疊成員鏈路中選擇出前Y條可用堆疊成員鏈路加入所述重載設(shè)備本地的聚合鏈路表,所述Y滿足M+Y〈=L。優(yōu)選地,該方法進一步包括:所述Master實時檢測所述重載設(shè)備本地是否新增加了可用聚合成員鏈路,當(dāng)Master檢測出所述重載設(shè)備本地未增加可用聚合成員鏈路時,檢測所述重載設(shè)備本地是否存在滿足以下條件I的至少兩條可用聚合成員鏈路:出方向利用率小于等于設(shè)定的第一鏈路出方向利用率下限閾值,當(dāng)檢測出重載設(shè)備本地存在至少兩條滿足條件I的可用聚合成員鏈路時,Master通知重載設(shè)備在本地聚合鏈路表中刪除可用堆疊成員鏈路;當(dāng)Master檢測出所述重載設(shè)備本地新增加了可用聚合成員鏈路時,進一步檢測重載設(shè)備本地是否存在滿足以下條件2的至少兩條可用聚合成員鏈路:出方向利用率小于等于設(shè)定的第二鏈路出方向利用率下限閾值,如果是,Master通知重載設(shè)備在本地聚合鏈路表中刪除可用堆疊成員鏈路;其中,所述第二鏈路出方向利用率下限閾值大于第一鏈路出方向利用率下限閾值。一種聚合鏈路負載分擔(dān)裝置,所述聚合鏈路包含集群中不同成員設(shè)備本地連接至匯聚設(shè)備的成員鏈路,所述集群中相鄰成員設(shè)備之間通過堆疊鏈路連接,所述集群中的成員設(shè)備細分為主設(shè)備Master和至少一個備設(shè)備Standby,所述裝置為所述集群中的Master,包括:收集單元,用于每隔設(shè)定收集周期收集所述集群中各個設(shè)備本地可用聚合成員鏈路的出方向利用率,所述各個設(shè)備本地可用聚合成員鏈路為各個設(shè)備本地屬于所述聚合鏈路的可用成員鏈路;以及用于每隔所述設(shè)定收集周期收集所述集群中各個設(shè)備本地可用堆疊成員鏈路的出方向利用率,所述各個設(shè)備本地可用堆疊成員鏈路為各個設(shè)備本地屬于堆疊鏈路的可用成員鏈路;驗證單元,用于利用收集的所述集群中各個設(shè)備本地的可用聚合成員鏈路出方向利用率、以及可用堆疊成員鏈路出方向利用率驗證所述聚合鏈路是否滿足設(shè)定的聚合鏈路失衡條件;處理單元,用于在所述驗證單元的驗證結(jié)果為是時,從所述集群中識別出滿足設(shè)定重載條件的重載設(shè) 備,并在所述重載設(shè)備存在相鄰的、且滿足設(shè)定輕載條件的輕載設(shè)備時,選擇所述重載設(shè)備連接至所述輕載設(shè)備的至少一條可用堆疊成員鏈路與所述重載設(shè)備本地的可用聚合成員鏈路一起均衡負擔(dān)數(shù)據(jù)流的轉(zhuǎn)發(fā)。優(yōu)選地,所述聚合鏈路失衡條件包括:所述集群中存在滿足設(shè)定重載條件的重載設(shè)備;所述集群中與所述重載設(shè)備相鄰的至少一個設(shè)備滿足設(shè)定輕載條件;所述集群中重載設(shè)備與相鄰的一個輕載設(shè)備的本地可用聚合成員鏈路數(shù)量之差滿足設(shè)定偏差閾值;所述集群中從所述重載設(shè)備至所述重載設(shè)備相鄰的一個輕載設(shè)備的至少一條可用堆疊成員鏈路的出方向利用率滿足設(shè)定的可用堆疊成員鏈路出方向利用率閾值。優(yōu)選地,所述滿足設(shè)定重載條件的重載設(shè)備為:本地各個可用聚合成員鏈路的出方向利用率均大于等于設(shè)定的聚合成員鏈路出方向利用率上限閾值的設(shè)備;所述滿足設(shè)定輕載條件的輕載設(shè)備為:本地各個可用聚合成員鏈路的出方向利用率均小于等于設(shè)定的聚合成員鏈路出方向利用率下限閾值的設(shè)備。優(yōu)選地,所述處理單元選擇所述重載設(shè)備連接至所述輕載設(shè)備的至少一條可用堆疊成員鏈路與所述重載設(shè)備本地的可用聚合成員鏈路一起均衡負擔(dān)數(shù)據(jù)流的轉(zhuǎn)發(fā)包括:選擇所述重載設(shè)備連接至所述輕載設(shè)備的至少一條可用堆疊成員鏈路加入至所述重載設(shè)備本地的聚合鏈路表,以使重載設(shè)備接收到需要通過聚合鏈路轉(zhuǎn)發(fā)的數(shù)據(jù)流時,利用本地聚合鏈路表中所有鏈路均衡分擔(dān)該數(shù)據(jù)流;其中,選擇所述重載設(shè)備連接至所述輕載設(shè)備的至少一條可用堆疊成員鏈路加入至所述重載設(shè)備本地的聚合鏈路表包括:從所述重載設(shè)備本地至相鄰輕載設(shè)備的所有可用堆疊成員鏈路中識別出滿足以下條件的可用堆疊成員鏈路:出方向利用率滿足設(shè)定的可用堆疊鏈路出方向利用率閾值;比較M+X與L,其中,M為所述重載設(shè)備本地可用聚合成員鏈路的數(shù)量,X為Master識別出的可用堆疊成員鏈路的數(shù)量,L為預(yù)先針對重載設(shè)備設(shè)定的最多可用鏈路的數(shù)量;如果M+X〈=L,選擇識別出的所有可用堆疊成員鏈路加入所述重載設(shè)備本地的聚合鏈路表;如果M+X>L,從識別出的所有可用堆疊成員鏈路中選擇出前Y條可用堆疊成員鏈路加入所述重載設(shè)備本地的聚合鏈路表,所述Y滿足M+Y〈=L。優(yōu)選地,該裝置進一步包括:檢測單元,用于實時檢測所述重載設(shè)備本地是否新增加了可用聚合成員鏈路,當(dāng)檢測出所述重載設(shè)備本地未增加可用聚合成員鏈路時,檢測所述重載設(shè)備本地是否存在滿足以下條件I的至少兩條可用聚合成員鏈路:出方向利用率小于等于設(shè)定的第一鏈路出方向利用率下限閾值,當(dāng)檢測出重載設(shè)備本地存在至少兩條滿足條件I的可用聚合成員鏈路時,通知重載設(shè)備在本地聚合鏈路表中刪除可用堆疊成員鏈路;當(dāng)檢測出所述重載設(shè)備本地新增加了可用聚合成員鏈路時,進一步檢測重載設(shè)備本地是否存在滿足以下條件2的至少兩條可用聚合成員鏈路:出方向利用率小于等于設(shè)定的第二鏈路出方向利用率下限閾值,如果是,Master通知重載設(shè)備在本地聚合鏈路表中刪除可用堆疊成員鏈路;其中,所述第二鏈路出方向利用率下限閾值大于第一鏈路出方向利用率下限閾值。由以上技術(shù)方案可以看出,本發(fā)明中,Master通過利用收集的所述集群中各個設(shè)備本地的可用聚合成員鏈路出方向利用率、可用堆疊成員鏈路出方向利用率驗證所述聚合鏈路滿足設(shè)定的聚合鏈路失衡條件時,選擇所述集群中滿足設(shè)定重載條件的重載設(shè)備至所述重載設(shè)備相鄰的、且滿足設(shè)定輕載條件的輕載設(shè)備的至少一條堆疊鏈路與所述重載設(shè)備本地的可用聚合成員鏈路一起均衡負擔(dān)數(shù)據(jù)流的轉(zhuǎn)發(fā),這樣就能避免集群中設(shè)備在部分成員鏈路DOWN時基于本地優(yōu)先原則轉(zhuǎn)發(fā)數(shù)據(jù)流引起的成員鏈路擁塞的現(xiàn)象。
圖1為集群中聚合鏈路本地優(yōu)先轉(zhuǎn)發(fā)數(shù)據(jù)流示意圖;圖2為集群中聚合鏈路中部分成員鏈路故障數(shù)據(jù)流轉(zhuǎn)發(fā)示意圖;圖3為本發(fā)明實施例提供的方法流程圖;圖4為本發(fā)明實施例應(yīng)用的集群結(jié)構(gòu)示意圖;圖5為本發(fā)明實施例提供的聚合鏈路負載分擔(dān)示意
圖6為本發(fā)明實施例提供的裝置結(jié)構(gòu)圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述。為避免集群中的設(shè)備比如Master或者Standby在本地屬于聚合鏈路的部分成員鏈路DOWN時該設(shè)備基于本地優(yōu)先原則轉(zhuǎn)發(fā)數(shù)據(jù)流引起的成員鏈路擁塞的現(xiàn)象,本發(fā)明需要提前發(fā)現(xiàn)聚合鏈路失衡,充分利用集群中設(shè)備之間的堆疊鏈路帶寬,以智能地達到聚合鏈路負載分擔(dān)的目的。下面對本發(fā)明提供的方法進行描述:參見圖3,圖3為本發(fā)明實施例提供的聚合鏈路負載分擔(dān)方法流程圖。在該方法中,聚合鏈路包含集群中不同成員設(shè)備本地連接至匯聚設(shè)備的成員鏈路,這里,集群中的成員設(shè)備基于擔(dān)任的角色細分為Master和至少一個Standby。如圖3所示,該流程可包括以下步驟:步驟301,Master每隔設(shè)定收集周期收集所述集群中各個設(shè)備本地的可用聚合成員鏈路的出方向利用率。這里,可用聚合成員鏈路是指聚合鏈路中無故障的成員鏈路。以如圖1所示的集群為例,在圖1所示的集群中僅包含如下兩個設(shè)備:設(shè)備I和設(shè)備2,其中,設(shè)備I為Master,設(shè)備2為Standby,則基于步驟301,作為Master的設(shè)備I每隔設(shè)定收集周期在集群中收集本設(shè)備I本地可用聚合成員鏈路比如圖1中的鏈路1、鏈路2、鏈路3、鏈路4的出方向利用率、以及收集設(shè)備2本地可用聚合成員鏈路的出方向利用率。
而以如圖4所示的集群為例,在圖4所示的集群中包含以下三個設(shè)備:設(shè)備1、設(shè)備2、設(shè)備3,其中,設(shè)備I為Master,設(shè)備2、設(shè)備3均為Standby,則基于步驟301,作為Master的設(shè)備I每隔設(shè)定收集周期在集群中收集本設(shè)備I本地可用聚合成員鏈路,比如圖1中的鏈路1、鏈路2、鏈路3、鏈路4的出方向利用率、收集設(shè)備2本地可用聚合成員鏈路的出方向利用率、以及收集設(shè)備3本地可用聚合成員鏈路的出方向利用率。本發(fā)明僅以圖1、圖4所示集群為例,其他結(jié)構(gòu)的集群原理類似,這里不再一一贅述。在本發(fā)明中,設(shè)定收集周期可預(yù)先設(shè)置,其在設(shè)置時需要考慮盡可能保證數(shù)據(jù)流轉(zhuǎn)發(fā)的不中斷,具體可依據(jù)經(jīng)驗設(shè)置,比如設(shè)置60秒等。需要說明的是,在集群中,作為Master的設(shè)備可能會因故障而與作為Standby的設(shè)備進行主備切換,針對這種情況,則原作為Standby的設(shè)備在新切換為Master后會按照步驟301執(zhí)行。步驟302,Master每隔設(shè)定收集周期收集所述集群中各個設(shè)備本地可用堆疊成員鏈路的出方向利用率。這里,可用堆疊成員鏈路是指堆疊鏈路中未DOWN的成員鏈路。以如圖1所示的集群為例,在圖1所示的集群中僅包含如下兩個設(shè)備:設(shè)備I和設(shè)備2,其中,設(shè)備I和設(shè)備2之間通過堆疊鏈路連接,設(shè)備I為Master,設(shè)備2為Standby,則基于步驟302,作為Master的設(shè)備I每隔設(shè)定收集周期在集群中收集設(shè)備I本地屬于從設(shè)備I連接至設(shè)備2的堆疊鏈路的可用堆疊成員鏈路,比如圖1中從設(shè)備I連接至設(shè)備2的鏈路a、b、c、d出方向利用率,同時,也收集設(shè)備2本地屬于從設(shè)備2連接至設(shè)備I的堆疊鏈路的可用堆疊成員鏈路,比如圖1中從設(shè)備2連接至設(shè)備I的鏈路a、b、c、d的出方向利用率。以如圖4所示的集群為例,在圖4所示的集群中包含如下三個設(shè)備:設(shè)備1、設(shè)備
2、設(shè)備3,其中,設(shè)備I為Master,設(shè)備2、設(shè)備3均為Standby,設(shè)備1、設(shè)備2之間通過堆疊鏈路連接,設(shè)備2、設(shè)備3之間通過堆疊鏈路連接;則基于步驟302,作為Master的設(shè)備I每隔設(shè)定收集周期收集集群中設(shè)備I本地屬于從設(shè)備I連接至設(shè)備2的堆疊鏈路的可用堆疊成員鏈路比如圖4中從設(shè)備I連接至設(shè)備2的鏈路al、bl、cl、dl出方向利用率、收集設(shè)備2本地屬于從設(shè)備2連接至設(shè)備I的堆疊鏈路的可用堆疊成員鏈路比如圖4中從設(shè)備2連接至設(shè)備I的鏈路al、bl、cl、dl出方向利用率、收集設(shè)備2本地屬于從設(shè)備2連接至設(shè)備3的堆疊鏈路的可用堆疊成員鏈路比如圖4中從設(shè)備2連接至設(shè)備3的鏈路a2、b2、c2、d2出方向利用率、以及收集設(shè)備3本地屬于從設(shè)備3連接至設(shè)備2的堆疊鏈路的可用堆疊成員鏈路比如圖4中從設(shè)備3連接至設(shè)備2的鏈路a2、b2、c2、d2出方向利用率。本發(fā)明僅以圖1、圖4所示集群為例,其他結(jié)構(gòu)的集群原理類似,這里不再一一贅述。從步驟302可以看出,步驟302中Master收集可用堆疊成員鏈路出方向利用率的周期與步驟301中Master收集可用聚合成員鏈路出方向利用率的周期相同,這能夠保證一旦發(fā)現(xiàn)聚合鏈路失衡及時利用集群中設(shè)備之間的堆疊鏈路,具體見下述步驟304,這里暫不贅述。
·
作為本發(fā)明一個實施例,本發(fā)明中,Master收集所述集群中各個設(shè)備本地可用聚合成員鏈路的出方向利用率和可用堆疊成員鏈路的出方向利用率可通過軟件設(shè)計實現(xiàn)。其中,在具體實現(xiàn)時,需要所述集群中各個設(shè)備在本地啟動一個定時器比如I秒定時器,以固定時間比如I秒為間隔統(tǒng)計本地各個可用聚合成員鏈路、以及本地各個可用堆疊成員鏈路上的數(shù)據(jù)流量?;诖?,上述步驟301中,Master每隔設(shè)定收集周期收集所述集群中各個設(shè)備本地可用聚合成員鏈路的出方向利用率具體為:Master在當(dāng)前到達設(shè)定收集周期(假如該周期為時間點tl至?xí)r間點t2之間的一段時間)時,從所述集群中的各個設(shè)備獲取時間點tl和t2時該各個設(shè)備本地可用聚合成員鏈路轉(zhuǎn)發(fā)的數(shù)據(jù)流量;Master按照以下公式I計算所述集群中各個設(shè)備本地可用聚合成員鏈路的出方向利用率為:V1=(U12 _U11)/(L1X (t2 - tl))。(公式 I)其中,Vl為Master收集的所述集群中一設(shè)備本地任一可用聚合成員鏈路(為便于描述,這里以可用聚合成員鏈路I為例描述)的出方向利用率,U12為在時間點t2時統(tǒng)計的經(jīng)由該可用聚合成員鏈路I轉(zhuǎn)發(fā)的數(shù)據(jù)流量,Ull為在時間點tl時統(tǒng)計的經(jīng)由該可用聚合成員鏈路I轉(zhuǎn)發(fā)的數(shù)據(jù)流量,LI為可用聚合成員鏈路I被預(yù)定義的流量帶寬。同樣,上述步驟302中,Master每隔設(shè)定收集周期收集所述集群中各個設(shè)備本地可用堆疊成員鏈路的出方向利用率具體為:Master在當(dāng)前到達設(shè)定收集周期(假如該周期為時間點tl至?xí)r間點t2之間的一段時間)時,從所述集群中的各個設(shè)備獲取時間點tl和t2時該各個設(shè)備本地可用堆疊成員鏈路轉(zhuǎn)發(fā)的數(shù)據(jù)流量;Master按照以下公式2收集所述集群中每一設(shè)備本地可用堆疊成員鏈路的出方向利用率為:V2=(U22 _U21)/(L2X (t2 - tl))。(公式 2)其中,V2為Master收集的所述集群中一設(shè)備本地任一可用堆疊成員鏈路(為便于描述,這里以可用堆疊成員鏈路I為例描述)的出方向利用率,U22為在時間點t2時統(tǒng)計的經(jīng)由該可用堆疊成員鏈路I轉(zhuǎn)發(fā)的數(shù)據(jù)流量,U21為在時間點tl時統(tǒng)計的經(jīng)由該可用堆疊成員鏈路I轉(zhuǎn)發(fā)的數(shù)據(jù)流量,L2為可用堆疊成員鏈路I被預(yù)先定義的流量帶寬。。以上簡單描述了Master如何收集所述集群中各個設(shè)備本地可用聚合成員鏈路的出方向利用率和可用堆疊成員鏈路的出方向利用率。需要說明的是,上面的描述只是對Master收集所述集群中各個設(shè)備本地可用聚合成員鏈路的出方向利用率和可用堆疊成員鏈路的出方向利用率的一種舉例,并非限定本發(fā)明,在不改進本發(fā)明思想的前提下,還可采用其他方式實現(xiàn)Master收集所述集群中各個設(shè)備本地可用聚合成員鏈路的出方向利用率和可用堆疊成員鏈路的出方向利用率。
步驟303,Master利用收集的所述集群中各個設(shè)備本地的可用聚合成員鏈路出方向利用率、以及各個設(shè)備本地的可用堆疊成員鏈路出方向利用率驗證所述聚合鏈路是否滿足設(shè)定的聚合鏈路失衡條件,如果是,執(zhí)行步驟304。這里,設(shè)定的聚合鏈路失衡條件可根據(jù)實際情況設(shè)置。作為本發(fā)明的一個優(yōu)選實施例,設(shè)定的聚合鏈路失衡條件可包括以下4個條件:條件1:集群中存在滿足設(shè)定重載條件的設(shè)備。這里,設(shè)定重載條件的設(shè)備是指本地各個可用聚合成員鏈路的出方向利用率均大于等于設(shè)定的聚合成員鏈路出方向利用率上限閾值的設(shè)備,在本發(fā)明中將滿足設(shè)定重載條件的設(shè)備簡稱重載設(shè)備,以下均以重載設(shè)備進行描述。條件2:集群中與所述重載設(shè)備相鄰的至少一個設(shè)備滿足設(shè)定輕載條件。這里,滿足設(shè)定輕載條件的設(shè)備是指本地各個可用聚合成員鏈路的出方向利用率均小于等于設(shè)定的聚合成員鏈路出方向利用率下限閾值的設(shè)備。在本發(fā)明中,設(shè)定的聚合成員鏈路出方向利用率上限閾值大于設(shè)定的聚合成員鏈路出方向利用率下限閾值,比如設(shè)定的成員鏈路出方向利用率上限閾值為90%,而設(shè)定的成員鏈路出方向利用率下限閾值為50%。需要說明的是,在本發(fā)明中將滿足設(shè)定輕載條件的設(shè)備簡稱輕載設(shè)備,以下均以輕載設(shè)備進行描述。條件3:集群中所述重載設(shè)備本地的可用聚合成員鏈路數(shù)量與相鄰的輕載設(shè)備本地的可用聚合成員鏈路數(shù)量之差滿足設(shè)定偏差閾值;條件4:集群中從所述重載設(shè)備至所述重載設(shè)備相鄰的一個輕載設(shè)備之間的至少一條可用堆疊成員鏈路的出方向利用率滿足設(shè)定的可用堆疊成員鏈路出方向利用率閾值。以上對聚合鏈路失衡條件進行了描述。需要說明的是,在本發(fā)明中,上述針對聚合鏈路失衡條件的限定僅是一種舉例,并非用于限定本發(fā)明,本發(fā)明在實現(xiàn)時還可僅包括條件1、條件2、條件4?;蛘咂渌麑崿F(xiàn)形式,這里不再一一舉例描述。還需要說明的是,在本發(fā)明中,當(dāng)步驟303的驗證結(jié)果為否時,作為本發(fā)明的一個實施例,本發(fā)明可不執(zhí)行任何操作,仍按現(xiàn)有技術(shù)中設(shè)備的本地鏈路優(yōu)先原則進行數(shù)據(jù)流的轉(zhuǎn)發(fā)。步驟304,Master從所述集群中識別出滿足設(shè)定重載條件的重載設(shè)備,并在所述重載設(shè)備存在相鄰的、且滿足設(shè)定輕載條件的輕載設(shè)備時,選擇所述重載設(shè)備連接至所述輕載設(shè)備的至少一條可用堆疊成員鏈路與所述重載設(shè)備本地的可用聚合成員鏈路一起均衡負擔(dān)數(shù)據(jù)流的轉(zhuǎn)發(fā)。本發(fā)明中,針對集群中的每一設(shè)備,都會在該設(shè)備本地配置一個聚合鏈路表,其中,該聚合鏈路表中記錄了該設(shè)備本地的可用聚合成員鏈路,基于此,本步驟304具體為:Master選擇所述重載設(shè)備連接至所述輕載設(shè)備的至少一條可用堆疊成員鏈路加入至所述重載設(shè)備本地的聚合鏈路表,以使重載設(shè)備接收到需要通過聚合鏈路轉(zhuǎn)發(fā)的數(shù)據(jù)流時,利用本地聚合鏈路表中所有鏈路均衡分擔(dān)該數(shù)據(jù)流。作為本發(fā)明的一個優(yōu)選實施例,Master可通過以下步驟選擇所述集群中從重載設(shè)備本地至該重載設(shè)備相鄰的輕載設(shè)備的至少一條可用堆疊鏈路加入所述重載設(shè)備本地的聚合鏈路表:步驟1,Master從所述重載設(shè)備連接至相鄰輕載設(shè)備的所有可用堆疊成員鏈路中識別出滿足以下條件的可用堆疊成員鏈路:出方向利用率滿足設(shè)定的可用堆疊鏈路出方向利用率閾值;步驟2,Master比較M+X與L,其中,M為所述重載設(shè)備本地可用聚合成員鏈路的數(shù)量,X為Master在步驟I識別出的可用堆疊成員鏈路的數(shù)量,L為預(yù)先針對重載設(shè)備設(shè)定的最多可用鏈路的數(shù)量;如果M+X〈=L,選擇步驟I識別出的所有可用堆疊成員鏈路加入所述重載設(shè)備本地的聚合鏈路表;如果M+X>L,從步驟I識別出的可用堆疊成員鏈路中選擇出前Y條可用堆疊成員鏈路加入所述重載設(shè)備本地的聚合鏈路表,所述Y滿足M+Y〈=L。通過以上步驟I和步驟2可以看出,本發(fā)明中,一旦集群中有重載設(shè)備,則可以選擇從重載設(shè)備至相鄰的輕載設(shè)備的至少一條可用堆疊成員鏈路與所述重載設(shè)備本地的可用聚合成員鏈路一起均衡分擔(dān)數(shù)據(jù)流的轉(zhuǎn)發(fā)。這里,從重載設(shè)備至相鄰的輕載設(shè)備的至少一條可用堆疊成員鏈路只是臨時與重載設(shè)備本地的可用聚合成員鏈路一起負載分擔(dān)數(shù)據(jù)流的轉(zhuǎn)發(fā),不影響本堆疊成員鏈路本身的流量轉(zhuǎn)發(fā)。并且,基于步驟I和步驟2,能夠保證重載設(shè)備至相鄰輕載設(shè)備的至少一條可用堆疊成員鏈路在臨時與重載設(shè)備本地的可用聚合成員鏈路一起負載分擔(dān)數(shù)據(jù)流轉(zhuǎn)發(fā)時,不會出現(xiàn)與本可用堆疊成員原有流量轉(zhuǎn)發(fā)相擁塞的現(xiàn)象。至此,完成圖3所示流程。下面以圖1所示的集群為例對圖3所示流程進行描述:如圖1所示,在圖1所示的集群中僅包含如下兩個設(shè)備:設(shè)備I和設(shè)備2,其中,設(shè)備I和設(shè)備2之間通過堆疊鏈路連接,設(shè)備I本地存在屬于從設(shè)備I至設(shè)備2的堆疊鏈路的4條可用堆疊成員鏈路,且該4條可用堆疊成員鏈路被預(yù)先定義的流量帶寬均為10。假如作為Master的設(shè)備I本地屬于聚合鏈路的可用聚合成員鏈路中有兩條鏈路即鏈路I和鏈路2D0WN,而其他兩條鏈路即鏈路3和鏈路4可用,且這兩條可用的鏈路3和鏈路4被預(yù)先定義的流量帶寬均為10M,則當(dāng)設(shè)備I收到需要通過聚合鏈路轉(zhuǎn)發(fā)的數(shù)據(jù)流為40M,按照現(xiàn)有方式設(shè)備I就會通過本地屬于聚合鏈路的兩條可用聚合成員鏈路即鏈路3和鏈路4分另Ij分擔(dān)20M的數(shù)據(jù)流,而由于鏈路3和鏈 路4均最多只能承載IOM的流量,這就會出現(xiàn)圖2所示的鏈路擁塞,即:該40M的數(shù)據(jù)流就會引起鏈路3和鏈路4發(fā)生擁塞。
而如果采用本發(fā)明,則在設(shè)備I為重載設(shè)備、且與設(shè)備I通過堆疊鏈路連接且作為Standby的設(shè)備2為輕載設(shè)備時,作為Master的設(shè)備I按照上述步驟304選擇出從設(shè)備I至設(shè)備2的兩條可用堆疊成員鏈路即鏈路a、鏈路b加入至設(shè)備I本地的聚合鏈路表,如此,當(dāng)設(shè)備I收到需要通過聚合鏈路轉(zhuǎn)發(fā)的40M的數(shù)據(jù)流時,設(shè)備I就會通過本地聚合鏈路表記錄的屬于聚合鏈路的兩條可用成員鏈路即鏈路3和鏈路4、以及從設(shè)備I至設(shè)備2的2條可用堆疊成員鏈路即鏈路a、鏈路b —起分擔(dān)轉(zhuǎn)發(fā)該40M的數(shù)據(jù)流,具體如圖5所示,這顯然不會出現(xiàn)集群中設(shè)備在部分成員鏈路DOWN時基于本地優(yōu)先原則轉(zhuǎn)發(fā)數(shù)據(jù)流引起的成員鏈路擁塞的現(xiàn)象。需要說明的是,本發(fā)明中,集群中的Master在將重載設(shè)備至相鄰輕載設(shè)備的至少一條可用堆疊成員鏈路加入至重載設(shè)備本地的聚合鏈路表后,該Master還可進一步執(zhí)行以下步驟:Master實時檢測所述重載設(shè)備本地是否新增加了屬于所述聚合鏈路的可用聚合成員鏈路;當(dāng)Master檢測出所述重載設(shè)備本地未增加可用聚合成員鏈路時,Master檢測重載設(shè)備本地是否存在至少兩條滿足以下條件I的至少兩條可用聚合成員鏈路:出方向利用率小于等于設(shè)定的第一鏈路出方向利用率下限閾值,當(dāng)檢測出重載設(shè)備本地存在至少兩條滿足條件I的可用聚合成員鏈路時,則說明重載設(shè)備此時不再重載,無需再用之前選擇的可用堆疊成員鏈路轉(zhuǎn)發(fā)數(shù)據(jù)流,基于此,Master可通知重載設(shè)備在本地聚合鏈路表中刪除可用堆疊成員鏈路,僅使用本地可用聚合成員鏈路轉(zhuǎn)發(fā)數(shù)據(jù)流,即重載設(shè)備恢復(fù)了通過本地可用聚合成員鏈路優(yōu)先轉(zhuǎn)發(fā)數(shù)據(jù)流,這節(jié)省堆疊鏈路的帶寬,而如果重載設(shè)備本地不存在滿足條件I的至少兩條聚合成員鏈路,則Master不執(zhí)行任何操作,仍然如上所述,重載設(shè)備通過本地聚合鏈路表記錄的可用堆疊成員鏈路和可用聚合成員鏈路一起均衡分擔(dān)數(shù)據(jù)流。當(dāng)Master檢測出所述重載設(shè)備本地新增加了可用聚合成員鏈路時,進一步檢測重載設(shè)備本地是否存在滿足以下條件2的至少兩條可用聚合成員鏈路:出方向利用率小于等于設(shè)定的第二鏈路出方向利用率`下限閾值,如果重載設(shè)備本地存在滿足條件2的至少兩條可用聚合成員鏈路,則說明重載設(shè)備此時不再重載,無需再用之前選擇的可用堆疊成員鏈路轉(zhuǎn)發(fā)數(shù)據(jù)流,基于此,Master可通知重載設(shè)備在本地聚合鏈路表中刪除可用堆疊成員鏈路,僅使用本地可用聚合成員鏈路轉(zhuǎn)發(fā)數(shù)據(jù)流,即重載設(shè)備恢復(fù)了通過本地可用聚合成員鏈路優(yōu)先轉(zhuǎn)發(fā)數(shù)據(jù)流,這節(jié)省堆疊鏈路的帶寬,而如果重載設(shè)備本地不存在滿足條件2的至少兩條聚合成員鏈路,則Master不執(zhí)行任何操作,仍然如上所述,重載設(shè)備通過本地聚合鏈路表記錄的可用堆疊成員鏈路和可用聚合成員鏈路一起均衡分擔(dān)數(shù)據(jù)流;在上面描述中,所述第二鏈路出方向利用率下限閾值大于第一鏈路出方向利用率下限閾值,比如,第二鏈路出方向利用率下限閾值為30%,第一鏈路出方向利用率下限閾值為 10% ;以上對本發(fā)明提供的方法進行了描述,下面對本發(fā)明提供的裝置進行描述:參見圖6,圖6為本發(fā)明實施例提供的聚合鏈路負載分擔(dān)裝置結(jié)構(gòu)圖。這里,所述聚合鏈路包含集群中不同成員設(shè)備本地連接至匯聚設(shè)備的成員鏈路,所述集群中相鄰成員設(shè)備之間通過堆疊鏈路連接,所述集群中的成員設(shè)備細分為主設(shè)備Master和至少一個備設(shè)備Standby,如圖6所示,所述裝置為所述集群中的Master,包括:收集單元,用于每隔設(shè)定收集周期收集所述集群中各個設(shè)備本地可用聚合成員鏈路的出方向利用率,所述各個設(shè)備本地可用聚合成員鏈路為各個設(shè)備本地屬于所述聚合鏈路的可用成員鏈路;以及用于每隔所述設(shè)定收集周期收集所述集群中各個設(shè)備本地可用堆疊成員鏈路的出方向利用率,所述各個設(shè)備本地可用堆疊成員鏈路為各個設(shè)備本地屬于堆疊鏈路的可用成員鏈路;驗證單元,用于利用收集的所述集群中各個設(shè)備本地的可用聚合成員鏈路出方向利用率、以及可用堆疊成員鏈路出方向利用率驗證所述聚合鏈路是否滿足設(shè)定的聚合鏈路失衡條件;處理單元,用于在所述驗證單元的驗證結(jié)果為是時,從所述集群中識別出滿足設(shè)定重載條件的重載設(shè)備,并在所述重載設(shè)備存在相鄰的、且滿足設(shè)定輕載條件的輕載設(shè)備時,選擇所述重載設(shè)備連接至所述輕載設(shè)備的至少一條可用堆疊成員鏈路與所述重載設(shè)備本地的可用聚合成員鏈路一起均衡負擔(dān)數(shù)據(jù)流的轉(zhuǎn)發(fā)。作為本發(fā)明的一個優(yōu)選實施例,所述聚合鏈路失衡條件包括:所述集群中存在滿足設(shè)定重載條件的重載設(shè)備;所述集群中與所述重載設(shè)備相鄰的至少一個設(shè)備滿足設(shè)定輕載條件;所述集群中重載設(shè)備與相鄰的一個輕載設(shè)備的本地可用聚合成員鏈路數(shù)量之差滿足設(shè)定偏差閾值;所述集群中從所述重載設(shè)備至所述重載設(shè)備相鄰的一個輕載設(shè)備的至少一條可用堆疊成員鏈路的出方向利用率滿足設(shè)定的可用堆疊成員鏈路出方向利用率閾值。作為本發(fā)明的一個優(yōu)選實施例,所述滿足設(shè)定重載條件的重載設(shè)備為:本地各個可用成員鏈路的出方向利用率均大于等于設(shè)定的成員鏈路出方向利用率上限閾值的設(shè)備;所述滿足設(shè)定輕載條件的輕載設(shè)備為:本地各個可用成員鏈路的出方向利用率均小于等于設(shè)定的成員鏈路出方向利用率下限閾值的設(shè)備。作為本發(fā)明的一個優(yōu)選實施例,所述處理單元選擇所述重載設(shè)備連接至所述輕載設(shè)備的至少一條可用堆 疊成員鏈路與所述重載設(shè)備本地的可用聚合成員鏈路一起均衡負擔(dān)數(shù)據(jù)流的轉(zhuǎn)發(fā)包括:選擇所述重載設(shè)備連接至所述輕載設(shè)備的至少一條可用堆疊成員鏈路加入至所述重載設(shè)備本地的聚合鏈路表,以使重載設(shè)備接收到需要通過聚合鏈路轉(zhuǎn)發(fā)的數(shù)據(jù)流時,利用本地聚合鏈路表中所有鏈路均衡分擔(dān)該數(shù)據(jù)流;其中,選擇所述重載設(shè)備連接至所述輕載設(shè)備的至少一條可用堆疊成員鏈路加入至所述重載設(shè)備本地的聚合鏈路表包括:從所述重載設(shè)備本地至相鄰輕載設(shè)備的所有可用堆疊成員鏈路中識別出滿足以下條件的可用堆疊成員鏈路:出方向利用率滿足設(shè)定的可用堆疊鏈路出方向利用率閾值;比較M+X與L,其中,M為所述重載設(shè)備本地可用聚合成員鏈路的數(shù)量,X為Master識別出的可用堆疊成員鏈路的數(shù)量,L為預(yù)先針對重載設(shè)備設(shè)定的最多可用鏈路的數(shù)量;如果M+X〈=L,選擇識別出的所有可用堆疊成員鏈路加入所述重載設(shè)備本地的聚合鏈路表;
如果M+X>L,從識別出的所有可用堆疊成員鏈路中選擇出前Y條可用堆疊成員鏈路加入所述重載設(shè)備本地的聚合鏈路表,所述Y滿足M+Y〈=L。優(yōu)選地,如圖6所示,該裝置進一步包括:檢測單元,用于實時檢測所述重載設(shè)備本地是否新增加了可用聚合成員鏈路,當(dāng)Master檢測出所述重載設(shè)備本地未增加可用聚合成員鏈路時,檢測所述重載設(shè)備本地是否存在滿足以下條件I的至少兩條可用聚合成員鏈路:出方向利用率小于等于設(shè)定的第一鏈路出方向利用率下限閾值,當(dāng)檢測出重載設(shè)備本地存在至少兩條滿足條件I的可用聚合成員鏈路時,通知重載設(shè)備在本地聚合鏈路表中刪除可用堆疊成員鏈路;當(dāng)檢測出所述重載設(shè)備本地新增加了可用聚合成員鏈路時,進一步檢測重載設(shè)備本地是否存在滿足以下條件2的至少兩條可用聚合成員鏈路:出方向利用率小于等于設(shè)定的第二鏈路出方向利用率下限閾值,如果重載設(shè)備本地存在滿足條件2的至少兩條可用聚合成員鏈路,通知重載設(shè)備在本地聚合鏈路表中刪除可用堆疊成員鏈路;其中,所述第二鏈路出方向利用率下限閾值大于第一鏈路出方向利用率下限閾值。至此,完成圖6所示的裝置描述。由以上技術(shù)方案可以看出,本發(fā)明中,Master通過利用收集的所述集群中各個設(shè)備本地的可用聚合成員鏈路出方向利用率、可用堆疊成員鏈路出方向利用率驗證所述聚合鏈路滿足設(shè)定的聚合鏈路失衡條件時,選擇所述集群中滿足設(shè)定重載條件的重載設(shè)備至所述重載設(shè)備相鄰的、且滿 足設(shè)定輕載條件的輕載設(shè)備的至少一條堆疊鏈路與所述重載設(shè)備本地的可用聚合成員鏈路一起均衡負擔(dān)數(shù)據(jù)流的轉(zhuǎn)發(fā),這樣就能避免集群中設(shè)備在部分成員鏈路DOWN時基于本地優(yōu)先原則轉(zhuǎn)發(fā)數(shù)據(jù)流引起的成員鏈路擁塞的現(xiàn)象。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。
權(quán)利要求
1.一種聚合鏈路負載分擔(dān)方法,所述聚合鏈路包含集群中不同成員設(shè)備連接至匯聚設(shè)備的成員鏈路,所述集群中相鄰成員設(shè)備之間通過堆疊鏈路連接,所述集群中的成員設(shè)備細分為主設(shè)備Master和至少一個備設(shè)備Standby,其特征在于,所述方法包括: 所述集群中的Master每隔設(shè)定收集周期收集所述集群中各個設(shè)備本地可用聚合成員鏈路的出方向利用率;所述各個設(shè)備本地可用聚合成員鏈路為各個設(shè)備本地屬于所述聚合鏈路的可用成員鏈路; 所述Master每隔所述設(shè)定收集周期收集所述集群中各個設(shè)備本地可用堆疊成員鏈路的出方向利用率,所述各個設(shè)備本地可用堆疊成員鏈路為各個設(shè)備本地屬于堆疊鏈路的可用成員鏈路; 所述Master利用收集的所述集群中各個設(shè)備本地的可用聚合成員鏈路出方向利用率、以及可用堆疊成員鏈路出方向利用率驗證所述聚合鏈路是否滿足設(shè)定的聚合鏈路失衡條件; 如果是,所述Master從所述集群中識別出滿足設(shè)定重載條件的重載設(shè)備,并在所述重載設(shè)備存在相鄰的、且滿足設(shè)定輕載條件的輕載設(shè)備時,選擇所述重載設(shè)備連接至所述輕載設(shè)備的至少一條可用堆疊成員鏈路與所述重載設(shè)備本地的可用聚合成員鏈路一起均衡負擔(dān)數(shù)據(jù)流的轉(zhuǎn)發(fā)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述聚合鏈路失衡條件包括: 所述集群中存在滿足設(shè)定重載條件的重載設(shè)備; 所述集群中與所述重載設(shè)備相鄰的至少一個設(shè)備滿足設(shè)定輕載條件; 所述集群中重載設(shè)備與相鄰的一個輕載設(shè)備的本地可用聚合成員鏈路數(shù)量之差滿足設(shè)定偏差閾值; 所述集群中從所述重載設(shè)備至所述重載設(shè)備相鄰的一個輕載設(shè)備的至少一條可用堆疊成員鏈路的出方向利用率滿足設(shè)定的可用堆疊成員鏈路出方向利用率閾值。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述滿足設(shè)定重載條件的重載設(shè)備為:本地各個可用聚 合成員鏈路的出方向利用率均大于等于設(shè)定的聚合成員鏈路出方向利用率上限閾值的設(shè)備; 所述滿足設(shè)定輕載條件的輕載設(shè)備為:本地各個可用聚合成員鏈路的出方向利用率均小于等于設(shè)定的聚合成員鏈路出方向利用率下限閾值的設(shè)備。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述Master選擇所述重載設(shè)備連接至所述輕載設(shè)備的至少一條可用堆疊成員鏈路與所述重載設(shè)備本地的可用聚合成員鏈路一起均衡負擔(dān)數(shù)據(jù)流的轉(zhuǎn)發(fā)包括: Master選擇所述重載設(shè)備連接至所述輕載設(shè)備的至少一條可用堆疊成員鏈路加入至所述重載設(shè)備本地的聚合鏈路表,以使重載設(shè)備接收到需要通過聚合鏈路轉(zhuǎn)發(fā)的數(shù)據(jù)流時,利用本地聚合鏈路表中所有鏈路均衡分擔(dān)該數(shù)據(jù)流。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,Master選擇所述重載設(shè)備連接至所述輕載設(shè)備的至少一條可用堆疊成員鏈路加入至所述重載設(shè)備本地的聚合鏈路表包括: Master從所述重載設(shè)備連接至相鄰輕載設(shè)備的所有可用堆疊成員鏈路中識別出滿足以下條件的可用堆疊成員鏈路:出方向利用率滿足設(shè)定的可用堆疊鏈路出方向利用率閾值;Master比較M+X與L,其中,M為所述重載設(shè)備本地可用聚合成員鏈路的數(shù)量,X為Master識別出的可用堆疊成員鏈路的數(shù)量,L為預(yù)先針對重載設(shè)備設(shè)定的最多可用鏈路的數(shù)量; 如果M+X〈=L,選擇識別出的所有可用堆疊成員鏈路加入所述重載設(shè)備本地的聚合鏈路表; 如果M+X>L,從識別出的所有可用堆疊成員鏈路中選擇出前Y條可用堆疊成員鏈路加入所述重載設(shè)備本地的聚合鏈路表,所述Y滿足M+Y〈=L。
6.根據(jù)權(quán)利要求4或5所述的方法,其特征在于,該方法進一步包括: 所述Master實時檢測所述重載設(shè)備本地是否新增加了可用聚合成員鏈路, 當(dāng)Master檢測出所述重載設(shè)備本地未增加可用聚合成員鏈路時,檢測所述重載設(shè)備本地是否存在滿足以下條件I的至少兩條可用聚合成員鏈路:出方向利用率小于等于設(shè)定的第一鏈路出方向利用率下限閾值,當(dāng)檢測出重載設(shè)備本地存在至少兩條滿足條件I的可用聚合成員鏈路時,Master通知重載設(shè)備在本地聚合鏈路表中刪除可用堆疊成員鏈路; 當(dāng)Master檢測出所述重載設(shè)備本地新增加了可用聚合成員鏈路時,進一步檢測重載設(shè)備本地是否存在滿足以下條件2的至少兩條可用聚合成員鏈路:出方向利用率小于等于設(shè)定的第二鏈路出方向利用率下限閾值,如果是,Master通知重載設(shè)備在本地聚合鏈路表中刪除可用堆疊成員鏈路; 其中,所述第二鏈路出方向利用率下限閾值大于第一鏈路出方向利用率下限閾值。
7.一種聚合鏈路負載分擔(dān)裝置`,所述聚合鏈路包含集群中不同成員設(shè)備本地連接至匯聚設(shè)備的成員鏈路,所述集群中相鄰成員設(shè)備之間通過堆疊鏈路連接,所述集群中的成員設(shè)備細分為主設(shè)備Master和至少一個備設(shè)備Standby,其特征在于,所述裝置為所述集群中的Master,包括: 收集單元,用于每隔設(shè)定收集周期收集所述集群中各個設(shè)備本地可用聚合成員鏈路的出方向利用率,所述各個設(shè)備本地可用聚合成員鏈路為各個設(shè)備本地屬于所述聚合鏈路的可用成員鏈路;以及用于每隔所述設(shè)定收集周期收集所述集群中各個設(shè)備本地可用堆疊成員鏈路的出方向利用率,所述各個設(shè)備本地可用堆疊成員鏈路為各個設(shè)備本地屬于堆疊鏈路的可用成員鏈路; 驗證單元,用于利用收集的所述集群中各個設(shè)備本地的可用聚合成員鏈路出方向利用率、以及可用堆疊成員鏈路出方向利用率驗證所述聚合鏈路是否滿足設(shè)定的聚合鏈路失衡條件; 處理單元,用于在所述驗證單元的驗證結(jié)果為是時,從所述集群中識別出滿足設(shè)定重載條件的重載設(shè)備,并在所述重載設(shè)備存在相鄰的、且滿足設(shè)定輕載條件的輕載設(shè)備時,選擇所述重載設(shè)備連接至所述輕載設(shè)備的至少一條可用堆疊成員鏈路與所述重載設(shè)備本地的可用聚合成員鏈路一起均衡負擔(dān)數(shù)據(jù)流的轉(zhuǎn)發(fā)。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述聚合鏈路失衡條件包括: 所述集群中存在滿足設(shè)定重載條件的重載設(shè)備; 所述集群中與所述重載設(shè)備相鄰的至少一個設(shè)備滿足設(shè)定輕載條件; 所述集群中重載設(shè)備與相鄰的一個輕載設(shè)備的本地可用聚合成員鏈路數(shù)量之差滿足設(shè)定偏差閾值;所述集群中從所述重載設(shè)備至所述重載設(shè)備相鄰的一個輕載設(shè)備的至少一條可用堆疊成員鏈路的出方向利用率滿足設(shè)定的可用堆疊成員鏈路出方向利用率閾值。
9.根據(jù)權(quán)利要求7或8所述的裝置,其特征在于,所述滿足設(shè)定重載條件的重載設(shè)備為:本地各個可用聚合成員鏈路的出方向利用率均大于等于設(shè)定的聚合成員鏈路出方向利用率上限閾值的設(shè)備; 所述滿足設(shè)定輕載條件的輕載設(shè)備為:本地各個可用聚合成員鏈路的出方向利用率均小于等于設(shè)定的聚合成員鏈路出方向利用率下限閾值的設(shè)備。
10.根據(jù)權(quán)利要求7或8所述的裝置,其特征在于,所述處理單元選擇所述重載設(shè)備連接至所述輕載設(shè)備的至少一條可用堆疊成員鏈路與所述重載設(shè)備本地的可用聚合成員鏈路一起均衡負擔(dān)數(shù)據(jù)流的轉(zhuǎn)發(fā)包括:選擇所述重載設(shè)備連接至所述輕載設(shè)備的至少一條可用堆疊成員鏈路加入至所述重載設(shè)備本地的聚合鏈路表,以使重載設(shè)備接收到需要通過聚合鏈路轉(zhuǎn)發(fā)的數(shù)據(jù)流時,利用本地聚合鏈路表中所有鏈路均衡分擔(dān)該數(shù)據(jù)流; 其中,選擇所述重載設(shè)備連接至所述輕載設(shè)備的至少一條可用堆疊成員鏈路加入至所述重載設(shè)備本地的聚合鏈路表包括: 從所述重載設(shè)備本地至相鄰輕載設(shè)備的所有可用堆疊成員鏈路中識別出滿足以下條件的可用堆疊成員鏈路:出方向利用率滿足設(shè)定的可用堆疊鏈路出方向利用率閾值; 比較M+X與L,其中,M為所述重載設(shè)備本地可用聚合成員鏈路的數(shù)量,X為Master識別出的可用堆疊成員鏈路的數(shù)量,L為預(yù)先針對重載設(shè)備設(shè)定的最多可用鏈路的數(shù)量; 如果M+X〈=L,選擇識別出的所有可用堆疊成員鏈路加入所述重載設(shè)備本地的聚合鏈路表; 如果M+X>L,從識別出的所有可用堆疊成員鏈路中選擇出前Y條可用堆疊成員鏈路加入所述重載設(shè)備本地的聚合鏈路表,所述Y滿足M+Y〈=L。
11.根據(jù)權(quán)利要求7所述的裝置,其特征在于,該裝置進一步包括: 檢測單元,用于實時檢測所述重載設(shè)備本地是否新增加了可用聚合成員鏈路; 當(dāng)Master檢測出所述重載設(shè)備本地未增加可用聚合成員鏈路時,檢測所述重載設(shè)備本地是否存在滿足以下條件I的至少兩條可用聚合成員鏈路:出方向利用率小于等于設(shè)定的第一鏈路出方向利用率下限閾值,當(dāng)檢測出重載設(shè)備本地存在至少兩條滿足條件I的可用聚合成員鏈路時,Master通知重載設(shè)備在本地聚合鏈路表中刪除可用堆疊成員鏈路; 當(dāng)檢測出所述重載設(shè)備本地新增加了可用聚合成員鏈路時,進一步檢測重載設(shè)備本地是否存在滿足以下條件2的至少兩條可用聚合成員鏈路:出方向利用率小于等于設(shè)定的第二鏈路出方向利用率下限閾值,如果是,Master通知重載設(shè)備在本地聚合鏈路表中刪除可用堆疊成員鏈路; 其中,所述第二鏈路出方向利用率下限閾值大于第一鏈路出方向利用率下限閾值。
全文摘要
本申請?zhí)峁┝司酆湘溌坟撦d分擔(dān)方法和裝置。本發(fā)明中,集群中的Master在驗證所述聚合鏈路滿足設(shè)定的聚合鏈路失衡條件時,從所述集群中識別出滿足設(shè)定重載條件的重載設(shè)備,并在所述重載設(shè)備存在相鄰的、且滿足設(shè)定輕載條件的輕載設(shè)備時,選擇所述重載設(shè)備連接至所述輕載設(shè)備的至少一條可用堆疊成員鏈路與重載設(shè)備本地的可用聚合成員鏈路一起分擔(dān)數(shù)據(jù)流的轉(zhuǎn)發(fā)。這樣能避免集群中設(shè)備在部分成員鏈路DOWN時基于本地優(yōu)先原則轉(zhuǎn)發(fā)數(shù)據(jù)流引起的成員鏈路擁塞的現(xiàn)象。
文檔編號H04L12/803GK103248581SQ20131018998
公開日2013年8月14日 申請日期2013年5月20日 優(yōu)先權(quán)日2013年5月20日
發(fā)明者陳亮 申請人:杭州華三通信技術(shù)有限公司