一種基於流的鏈路匯聚負載均衡的方法及裝置製造方法
2023-06-05 16:57:46 4
一種基於流的鏈路匯聚負載均衡的方法及裝置製造方法
【專利摘要】本發明公開了一種基於流的鏈路匯聚負載均衡的方法及裝置,該方法主要包括:對業務數據流進行識別,按照預設的流特徵分類規則對業務數據流進行分類,確定業務數據流所屬的流類型;對與所述確定的流類型匹配的業務數據流進行計數,確定業務數據流在其所屬的流類型中的編號;對鏈路匯聚時的物理鏈路進行編號,將業務數據流發送到與其編號相同的匯聚物理鏈路。本申請方案主要採用將數據業務根據流特徵分為多種流類型,對每種流類型按照加一計數取模的方式將業務數據流均衡得分布到每條物理鏈路,提高鏈路的利用率和轉發效率。
【專利說明】一種基於流的鏈路匯聚負載均衡的方法及裝置
【技術領域】
[0001]本發明屬於數據通信領域的負載均衡方法,具體涉及一種基於流的鏈路匯聚負載均衡的方法及裝置的設計。
【背景技術】
[0002]在一個系統中,當多條物理鏈路匯聚成一個邏輯鏈路時,整個鏈路的承載能力將增大,為了能夠更加充分利用鏈路資源,客戶往往希望能夠均勻的將數據分配到每一條物理鏈路上。
[0003]經過檢索發現,目前現有技術普遍採用的是HASH算法,通過這種離散算法將數據流量分布到每一條物理鏈路上;其特點是,當HASH算法的要素越多,長度越長,HASH結果越離散,分布到每條物理鏈路上的數據越平均,但是這是一個極限的理想情況,在實際使用中很容易出現要素不夠多、長度不夠長的情況,造成大部分數據業務還是被分布到同一條物理鏈路,超出該物理鏈路的承載能力,而其他的物理鏈路卻沒有或者只有很少量的業務,造成了因為沒有充分利用每一條鏈路,而導致數據丟失的問題。
[0004]針對於上述問題,目前迫切需要尋找一種更加合理的負載算法,從而有效的利用每一條物理鏈路,這對於保護數據流量充分資源有非常重大的作用。
【發明內容】
[0005]本發明所要解決的技術問題是為了解決現有技術中數據分配方法不能均衡的利用每條物理鏈路的問題而提出一種基於流的鏈路匯聚負載均衡的方法及裝置。
[0006]本發明解決其技術問題採用的技術方案是:一種基於流的鏈路匯聚負載均衡的方法,包括:
[0007]A、對業務數據流進行識別,按照預設的流特徵分類規則對業務數據流進行分類,確定業務數據流所屬的流類型;
[0008]B、對與所述確定的流類型匹配的業務數據流進行計數,確定業務數據流在其所屬的流類型中的編號;
[0009]C、對鏈路匯聚時的物理鏈路進行編號,將業務數據流發送到與其編號相同的匯聚物理鏈路。
[0010]進一步的,所述步驟A中預設的流特徵分類規則,包括入埠、源MAC地址、目的MAC地址、VLAN ID,802.1P值、以太協議類型值、DSCP值、IP優先級、IP版本號、IP頭部標誌位、IP頭部協議欄位、IP頭部源IP位址、IP頭部目的IP位址、TCP源埠號、TCP目的埠號、UDP源埠號、UDP目的埠號以及報文長度中的至少一種流特徵。
[0011]進一步的,在所述步驟B中,,每一種確定的流類型對應一個計數器,所述計數器初始值為0,當每一流類型中出現新的業務數據流時,對該業務數據流進行編號;
[0012]若所述業務數據流的編號記為M,所述計數器的值記為Xi,所述鏈路匯聚物理鏈路的個數記為I,則M= (Xi+!)mod (I);完成對所述業務數據流編號後,更新該流類型對應計數器的值,令Xi = M,等待下一個業務數據流的到來;
[0013]若業務數據流沒有出現新的流類型時,則其對應的Xi的值不變。
[0014]進一步的,在進行所述步驟C匯聚物理鏈路對業務數據流的發送中,記錄當前發送的業務數據流的流類型和對應的物理鏈路的出接口,當與記錄的流類型相同的業務數據流到來時,將業務數據流直接發送到記錄的對應出接口上,完成業務數據流的發送。
[0015]進一步的,每一種確定的流類型對應一個老化定時器,當該流類型有業務數據流量時,刷新老化定時器以重新計時,當該流類型沒有業務數據流量時,老化定時器超時則將記錄與該流類型對應的出接口刪除。
[0016]為了解決技術問題,本發明還提供了一種基於流的鏈路匯聚負載均衡的裝置,包括:業務數據流識別分類模塊、業務數據流編號計數模塊、鏈路發送模塊;
[0017]所述業務數據流識別分類模塊,用於對業務數據流進行識別,按照預設的流特徵分類規則對業務數據流進行分類,確定該業務數據流所屬的流類型;
[0018]所述業務數據流計數編號模塊,用於對所述業務數據流識別分類模塊中與確定的流類型匹配的業務數據流進行計數,確定業務數據流在其所屬的流類型中的編號;
[0019]所述鏈路發送模塊,用於對鏈路匯聚時的物理鏈路進行編號,將業務數據流發送到與其編號相同的匯聚物理鏈路。
[0020]進一步的,所述業務數據流計數編號模塊確定的每一種流類型對應一計數器,所述計數器的初始值為0,當每一流類型中出現新的業務數據流時,對該業務數據流進行編號;
[0021]若所述業務數據流的編號記為M,所述計數器的值記為Xi,所述鏈路匯聚物理鏈路的個數記為I,則M= (Xi+Dmodd),完成對所述業務數據流編號後,更新該流類型對應計數器的值,令Xi = M,等待下一個業務數據流的到來;
[0022]若業務數據流沒有出現新的流類型時,則其對應的Xi的值不變。
[0023]進一步的,所述鏈路發送模塊還用於,當匯聚物理鏈路對業務數據流的發送中,記錄當前發送的業務數據流的流類型和對應的物理鏈路的出接口,當與記錄的流類型相同的業務數據流到來時,將業務數據流直接發送到記錄的對應出接口上,完成業務數據流的發送。
[0024]進一步的,所述鏈路發送模塊還用於,為每一種確定的流類型對應一個老化定時器,當該流類型有業務數據流量時,刷新老化定時器以重新計時,當該流類型沒有業務數據流量時,老化定時器超時則將記錄與該流類型對應的出接口刪除。
[0025]本發明的有益效果:本發明一種基於流的鏈路匯聚負載均衡的方法及裝置,採用將數據業務根據流特徵分為多種流類型,對每種流類型按照加一計數取模的方式將業務數據流均衡得分布到每條物理鏈路,避免了通過採用HASH算法將數據業務HASH到同一物理鏈路上,均衡負載,提高鏈路的利用率和轉發效率;並且能夠更加合理利用每條物理鏈路,保護數據流量,充分利用鏈路資源。
【專利附圖】
【附圖說明】
[0026]圖1為本發明實施例的一種基於流的鏈路匯聚負載均衡的方法的系統框圖;
[0027]圖2為本發明實施例的一種基於流的鏈路匯聚負載均衡的方法中對業務數據流進行計數編號的流程框圖;
[0028]圖3為本發明實施例的一種基於流的鏈路匯聚負載均衡的方法中業務數據流發送過程的流程框圖;
[0029]圖4為本發明實施例的一種基於流的鏈路匯聚負載均衡的裝置的系統框圖。
【具體實施方式】
[0030]下面結合附圖和具體的實施例對本發明作進一步的闡述。
[0031]如圖1所示為本發明實施例的一種基於流的鏈路匯聚負載均衡的方法的系統框圖,包括:
[0032]S1、對業務數據流進行識別,按照預設的流特徵對業務數據流進行分類,確定該業務數據流所屬的流類型;
[0033]S2、對所述步驟SI中確定的該流類型的業務數據流進行計數,確定該業務數據流在其所屬的流類型中的編號,記為M ;
[0034]S3、對鏈路匯聚時的物理鏈路進行編號,將編號為M的業務數據流發送到與該編號M值相同的匯聚物理鏈路。
[0035]本發明一種基於流的鏈路匯聚負載均衡的方法通過對業務數據流按照預設的流特徵分類規則進行分類,其中,所述預設的分類規則總的流特徵包括入埠、源MAC (MediaAccess Control,媒體訪問控制)地址、目的MAC 地址、VLAN (Virtual Local Area Network)ID,802.1P 值、以太協議類型值、DSCP (Differentiated Services Code Point,差分服務代碼點)值、IP優先級、IP版本號、IP頭部標誌位、IP頭部協議欄位、IP頭部源IP位址、IP頭部目的IP位址、TCP (Transmiss1n Control Protocol,傳輸控制協議)源埠號、TCP目的埠號、UDP(User Datagram Protocol,用戶數據報協議)源埠號、UDP目的埠號、報文長度中的一種或者若干種,在具體的實際操作中可以按照用戶預先指定的流特徵進行分類,將業務數據流分成幾組不同流類型;例如,如果按照業務數據流的入埠的進行分類,則屬於不同的入埠的業務數據流會按照入埠的不同分到對應的流類型中;同樣地,當用戶指定的分類流特徵為目的MAC地址或者VLAN ID,則將業務數據流按照不同的目的MAC地址、不同的VLAN ID進行對應的分類;通過上述分類,可以將業務數據流均衡地分配到每條物理鏈路,避免出現物理鏈路之間數據業務分配的不均,從而能夠更加充分利用每條物理鏈路,提高資源利用率。
[0036]在完成所述步驟SI對業務數據流的識別分類後,需要對該流類型的業務數據流進行計數,確定該業務數據流在其所屬的流類型中的編號記為M,其具體過程為:
[0037]如圖2所示為所述步驟S2對業務數據流進行計數編號的流程框圖,其中,M為業務數據流的編號,在每一流類型中,每條到來的業務數據流都有自己的對應的編號M ;同時,每一種確定的流類型對應一計數器,若所述計數器的值記為Xi,其中Xi的初始值為0,i為對應流類型的編號,當每一種流類型中出現新的業務數據流時,對該業務數據流進行編號;
[0038]所述業務數據流的編號M為:M = (Xi+DmocKl),其中,I為鏈路匯聚物理鏈路的個數,(Χ,+DmocKl)表示(Xi+Ι)與⑴進行的取模餘數運算;完成編號後,更新該流類型中計數器的值,令Xi = M,等待下一個業務數據流的到來;
[0039]若業務數據流沒有出現新的流類型時,則其對應的Xi的值不變。
[0040]通過上述計數取模運算,每條業務數據流在通過流特徵分類後,都會有屬於自己的編號記為M,根據上述運算,M的取值範圍為:0 < M < I,即保證了後續過程在業務數據流分配到對應的物理鏈路上的有效性,同時保障了計數值X的範圍也在O < X < I內,避免出現每一流類型中數據業務量過大的情況。
[0041]在完成所述步驟S2對業務數據流的計數、編號後,則將該業務數據流發送到與自己本身編號M相同的鏈路匯聚物理鏈路,如圖3所示為所述步驟S3業務數據流發送過程的流程框圖,其中,所述物理鏈路在進行鏈路匯聚時會有自己的鏈路編號,若記為N,0 < N< I,其中I為鏈路匯聚物理鏈路的個數;將編號為M的業務數據流發送到與該編號M值相同的編號為N的匯聚物理鏈路,即取鏈路編號值為N = M的匯聚物理鏈路進行業務數據流的發送。
[0042]並且,在進行所述步驟S3匯聚物理鏈路對業務數據流的發送中,記錄編號為M的業務數據流的流類型和物理鏈路的出接口,當與流類型相同的業務數據流到來時,將業務數據流直接發送到記錄的出接口上,完成業務數據流的發送。
[0043]通過上述對發送該業務數據流的流類型和物理鏈路的出接口進行記錄的方法,當系統中物理鏈路減少時,因為系統記錄的是發送業務數據流的物理鏈路的出接口,若該出接口消失,則該出接口上記錄的業務數據流的信息會丟失,在進行業務數據流分類的過程中會重新開始識別這些數據業務,重新記錄該業務數據流的流類型和出接口 ;而其他出接口上業務數據流信息仍然存在,不會因為物理鏈路的減少而受到影響。
[0044]同樣地,當系統中的物理鏈路增加時,以前物理鏈路出接口記錄的業務數據流信息仍然保持不變,不受影響,在識別到新的業務數據流時,則還是按照上述所述步驟S2及所述步驟S3將該新的業務數據流分配到對應的物理鏈路。
[0045]若記錄每條業務數據流的流類型和出接口,則可能會造成系統的負擔;為了解決上述問題,本發明通過為記錄的每一種流類型設置一個老化定時器,當該流類型有業務數據流量時,刷新清零老化定時器,當該流類型沒有業務數據流量時,老化定時器超時則將記錄的該流類型和出接口刪除。從而減輕系統的負擔,保障表項不會太多。
[0046]針對上述方法,本發明還提供了一種基於流的鏈路匯聚負載均衡的裝置,其系統框圖如圖4所示,具體包括:業務數據流識別分類模塊、業務數據流編號計數模塊、鏈路發送模塊;
[0047]所述業務數據流識別分類模塊用於對業務數據流進行識別,按照預設的流特徵對業務數據流進行分類,確定該業務數據流所屬的流類型;
[0048]所述業務數據流計數編號模塊用於對所述業務數據流識別分類模塊中確定的該流類型的業務數據流進行計數,確定該業務數據流在其所屬的流類型中的編號M ;
[0049]所述鏈路發送模塊用於對鏈路匯聚時的物理鏈路進行編號,將編號為M的業務數據流發送到與該編號M值相同的匯聚物理鏈路。
[0050]其中,所述業務數據流識別分類模塊中預設的流特徵包括:入埠、源MAC地址、目的MAC地址、VLAN ID,802.1P值、以太協議類型值、DHCP值、IP優先級、IP版本號、IP頭部標誌位、IP頭部協議欄位、IP頭部源IP位址、IP頭部目的IP位址、TCP源埠號、TCP目的埠號、UDP源埠號、UDP目的埠號以及報文長度中的至少一種流特徵;具體可根據用戶指定進行相應的設定。
[0051]所述業務數據流計數編號模塊的每一種確定的流類型對應一計數器,若所述計數器的值記為Xi,其中Xi的初始值為0,i為對應流類型的編號,當每一流類型中出現新的業務數據流時,對該業務數據流進行編號;
[0052]所述業務數據流的編號M為:M = (Xi+DmocKl),其中,I為鏈路匯聚物理鏈路的個數,(Χ,+DmocKl)表示(Xi+Ι)與⑴進行的餘數運算;完成編號後,更新該流類型中計數器的值,令Xi = M,等待下一個業務數據流的到來;
[0053]若業務數據流沒有出現新的流類型時,則其對應的Xi的值不變。
[0054]在所述鏈路發送模塊中,物理鏈路在進行鏈路匯聚時會有自己的鏈路編號N,O < N < I,其中I為鏈路匯聚物理鏈路的個數;將編號為M的業務數據流發送到與該編號M值相同的編號為N的匯聚物理鏈路,即取鏈路編號值為N = M的匯聚物理鏈路進行業務數據流的發送。
[0055]本領域的普通技術人員將會意識到,這裡所述的實施例是為了幫助讀者理解本發明的原理,應被理解為本發明的保護範圍並不局限於這樣的特別陳述和實施例。本領域的普通技術人員可以根據本發明公開的這些技術啟示做出各種不脫離本發明實質的其它各種具體變形和組合,這些變形和組合仍然在本發明的保護範圍內。
【權利要求】
1.一種基於流的鏈路匯聚負載均衡的方法,其特徵在於,包括: A、對業務數據流進行識別,按照預設的流特徵分類規則對業務數據流進行分類,確定業務數據流所屬的流類型; B、對與所述確定的流類型匹配的業務數據流進行計數,確定業務數據流在其所屬的流類型中的編號; C、對鏈路匯聚時的物理鏈路進行編號,將業務數據流發送到與其編號相同的匯聚物理鏈路。
2.如權利要求1所述的方法,其特徵在於,所述步驟A中預設的流特徵分類規則中,包括入埠、源MAC地址、目的MAC地址、VLAN ID,802.1P值、以太協議類型值、DSCP值、IP優先級、IP版本號、IP頭部標誌位、IP頭部協議欄位、IP頭部源IP位址、IP頭部目的IP位址、TCP源埠號、TCP目的埠號、UDP源埠號、UDP目的埠號以及報文長度中的至少一種流特徵。
3.如權利要求1所述的方法,其特徵在於,在所述步驟B中,每一種確定的流類型對應一個計數器,所述計數器初始值為0,當每一流類型中出現新的業務數據流時,對該業務數據流進行編號; 若所述業務數據流的編號記為M,所述計數器的值記為Xi,所述鏈路匯聚物理鏈路的個數記為I,則M= (Χ,+DmocKl);完成對所述業務數據流編號後,更新該流類型對應計數器的值,令Xi = M,等待下一個業務數據流的到來; 若業務數據流沒有出現新的流類型時,則其對應的Xi的值不變。
4.如權利要求1-3任一項所述的方法,其特徵在於,在進行所述步驟C匯聚物理鏈路對業務數據流的發送中,記錄當前發送的業務數據流的流類型和對應的物理鏈路的出接口,當與記錄的流類型相同的業務數據流到來時,將業務數據流直接發送到記錄的對應出接口上,完成業務數據流的發送。
5.如權利要求4所述的方法,其特徵在於,每一種確定的流類型對應一個老化定時器,當該流類型有業務數據流量時,刷新老化定時器以重新計時,當該流類型沒有業務數據流量時,老化定時器超時則將記錄與該流類型對應的出接口刪除。
6.一種基於流的鏈路匯聚負載均衡的裝置,其特徵在於,包括:業務數據流識別分類模塊、業務數據流編號計數模塊、鏈路發送模塊; 所述業務數據流識別分類模塊,用於對業務數據流進行識別,按照預設的流特徵分類規則對業務數據流進行分類,確定該業務數據流所屬的流類型; 所述業務數據流計數編號模塊,用於對所述業務數據流識別分類模塊中與確定的流類型匹配的業務數據流進行計數,確定業務數據流在其所屬的流類型中的編號; 所述鏈路發送模塊,用於對鏈路匯聚時的物理鏈路進行編號,將業務數據流發送到與其編號相同的匯聚物理鏈路。
7.如權利要求6所述的裝置,其特徵在於,所述業務數據流識別分類模塊中預設的流特徵分類規則中,包括入埠、源MAC地址、目的MAC地址、VLAN ID,802.1P值、以太協議類型值、DSCP值、IP優先級、IP版本號、IP頭部標誌位、IP頭部協議欄位、IP頭部源IP位址、IP頭部目的IP位址、TCP源埠號、TCP目的埠號、UDP源埠號、UDP目的埠號以及報文長度中的至少一種流特徵。
8.如權利要求6所述的裝置,其特徵在於,所述業務數據流計數編號模塊確定的每一種流類型對應一計數器,所述計數器的初始值為O,當每一流類型中出現新的業務數據流時,對該業務數據流進行編號; 若所述業務數據流的編號記為M,所述計數器的值記為Xi,所述鏈路匯聚物理鏈路的個數記為I,則M= (Xi+Dmodd),完成對所述業務數據流編號後,更新該流類型對應計數器的值,令Xi = M,等待下一個業務數據流的到來; 若業務數據流沒有出現新的流類型時,則其對應的Xi的值不變。
9.如權利要求7-8任一項所述的裝置,其特徵在於,所述鏈路發送模塊還用於,當匯聚物理鏈路對業務數據流的發送中,記錄當前發送的業務數據流的流類型和對應的物理鏈路的出接口,當與記錄的流類型相同的業務數據流到來時,將業務數據流直接發送到記錄的對應出接口上,完成業務數據流的發送。
10.如權利要求9所述的裝置,其特徵在於,所述鏈路發送模塊還用於,為每一種確定的流類型對應一個老化定時器,當該流類型有業務數據流量時,刷新老化定時器以重新計時,當該流類型沒有業務數據流量時,老化定時器超時則將記錄與該流類型對應的出接口刪除。
【文檔編號】H04L12/803GK104135445SQ201410364927
【公開日】2014年11月5日 申請日期:2014年7月29日 優先權日:2014年7月29日
【發明者】陳可 申請人:邁普通信技術股份有限公司