亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種報文分流方法和網(wǎng)絡設備的制作方法

文檔序號:7890459閱讀:318來源:國知局
專利名稱:一種報文分流方法和網(wǎng)絡設備的制作方法
技術(shù)領域
本發(fā)明涉及通信技術(shù)領域,特別涉及一種報文分流方法和網(wǎng)絡設備。
技術(shù)背景
現(xiàn)有多核設備中,將CPUO用作控制核,運行操作系統(tǒng);將其他CPU用作數(shù)據(jù)核,負責數(shù)據(jù)接收和轉(zhuǎn)發(fā)。流量在數(shù)據(jù)核上的分配越均勻,越能充分利用CPU資源,性能越好。目前的流量分配,通常是根據(jù)報文五元組,即源IP地址、目的IP地址、協(xié)議號、源端口號和目的端口號,進行分流,同一條流的報文進入同一個CPU處理,多條流分配到不同的CPU上處理。因此,一種好的分流方法,可以讓流量盡可能均勻地分配在多個數(shù)據(jù)核上,對多核網(wǎng)絡設備性能起著至關重要的作用。
現(xiàn)有實現(xiàn)分流的方法的具體流程為接收報文,提取報文的五元組。報文五元組為源IP地址、目的IP地址、協(xié)議號、源端口號和目的端口號。根據(jù)該五元組進行CRC32哈希,將哈希值模數(shù)據(jù)核個數(shù)并將模結(jié)果加1,得到數(shù)值與CPU隊列匹配,由于CPU隊列與CPU 一一對應,因此將接收的報文分配到匹配的CPU隊列所對應的數(shù)據(jù)核進行處理。由于對模的結(jié)果進行了加1處理,因此結(jié)果不存在與匹配隊列0的報文,即不需要有報文分配到CPUO 控制核進行處理。
現(xiàn)有實現(xiàn)方法中的模運算,是計算復雜度很高的運算。目前多核處理器的CPU個數(shù)通常為2K(k = 2,3,...),那么數(shù)據(jù)核的個數(shù)為2Κ_1,因此不能使用與運算取代模運算。 這種使用模運算實現(xiàn)報文分流方法既消耗資源又影響性能,如果資源不夠,將無法實現(xiàn)報文分流。發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種報文分流方法和網(wǎng)絡設備,能夠提高報文分流效率,降低資源消耗。
為解決上述技術(shù)問題,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的
—種報文分流方法,預設隊列號為0到2Κ_1的隊列,預設數(shù)值,所述預設數(shù)值按從大到小排序為M1, ...,Mi, ...,Μη,其中,M1根據(jù)隊列號為0的隊列上的流量與總流量的比值 1/2 1 的范圍確定,M2,...,Mi,...,Mn 根據(jù) M1 確定,K、n、LM1,... ,Mi,...,Mn 為自然數(shù), Mlri > Mn = 2,所述方法包括
接收報文,根據(jù)報文類型提取所述接收報文的元組信息,并根據(jù)所述提取的元組信息進行均衡運算,將均衡運算值按照每份K比特數(shù)劃分;
在均衡運算值劃分的份數(shù)中,獲取M1份K比特數(shù),并進行求和運算,將所述求和運算的結(jié)果劃分為M2份K比特數(shù);
獲取所述M2份K比特數(shù),并進行求和運算,將所述M2份K比特數(shù)求和運算的結(jié)果劃分為M3份K比特數(shù),并獲取所述M3份K比特數(shù)進行求和運算,以此類推,直到獲取Mn份K 比特數(shù)并進行求和運算,將所述Mn份K比特數(shù)進行求和運算的結(jié)果劃分為Mn份K比特數(shù),獲取當前Mn份K比特數(shù)進行求和運算;
將所述接收的報文分配到隊列號與當前1份K比特數(shù)求和運算的結(jié)果相同的隊列中。
一種報文分流方法,預設隊列號為1到2Κ_1的隊列,預設數(shù)值,所述預設數(shù)值從大到小排序為M1,. . . ,Mi,.. .,Μη,其中,M1根據(jù)非均衡流量與總流量的比值1/2-1的范圍確定, M2, ...,Mi, ...,Mn 根據(jù) M1 確定,K、n、i,M1, ...,Mi, ...,Mn 為自然數(shù),Mlri > Mn = 2,所述方法包括
接收報文,根據(jù)報文類型提取所述接收報文的元組信息,并根據(jù)所述提取的元組信息進行均衡運算,將均衡運算值按照每份K比特數(shù)劃分;
在均衡運算值劃分的份數(shù)中,獲取M1份K比特數(shù),并進行求和運算,將所述求和運算的結(jié)果劃分為M2份K比特數(shù);
獲取所述M2份K比特數(shù),并進行求和運算,將所述M2份K比特數(shù)求和運算的結(jié)果劃分為M3份K比特數(shù),并獲取所述M3份K比特數(shù)進行求和運算,以此類推,直到獲取Mn份 K比特數(shù)并進行求和運算,將所述Mn份K比特數(shù)據(jù)進行求和運算的結(jié)果劃分為Mn份K比特數(shù),獲取當前Mn份K比特數(shù)進行求和運算;
若當前Mn份K比特數(shù)求和運算的結(jié)果不為0,則將所述接收的報文分配到隊列號與當前軋份1(比特數(shù)求和運算的結(jié)果相同的隊列中;若當前1份1(比特數(shù)求和運算的結(jié)果為0,將所述報文按照預定策略固定分配到隊列號為1到2K-1之一的隊列中。
一種網(wǎng)絡設備,所述網(wǎng)絡設備包括配置單元、接收單元、運算單元、處理單元、確定單元和隊列單元;
所述配置單元,用于在所述隊列單元中設置隊列號為0到2Κ_1的隊列,預設數(shù)值, 所述預設數(shù)值按從大到小排序為M1, ...,Mi, ...,Μη,其中,M1根據(jù)隊列號為0的隊列上的流量與總流量的比值1/2%的范圍確定,M2, ...,Mi, ...,Mn根據(jù)M1確定,K、n、i, M1,..., Mi, ...,Mn 為自然數(shù),Mlri > Mn = 2 ;
所述接收單元,用于接收報文;
所述運算單元,用于根據(jù)所述接收單元接收的報文類型提取所述接收報文的元組信息,并根據(jù)所述提取的元組信息進行均衡運算;
所述處理單元,用于將所述運算單元均衡運算值按照每份K比特數(shù)劃分;在均衡運算值劃分的份數(shù)中,獲取所述配置單元設置的M1份K比特數(shù),并進行求和運算,將所述求和運算的結(jié)果劃分為所述配置單元設置的M2份K比特數(shù);獲取所述M2份K比特數(shù),并進行求和運算,將所述M2份K比特數(shù)求和運算的結(jié)果劃分為所述配置單元設置的M3份K比特數(shù),并獲取所述禮份1(比特數(shù)進行求和運算,以此類推,直到獲取所述配置單元設置的^份 K比特數(shù)并進行求和運算,將所述Mn份K比特數(shù)據(jù)進行求和運算的結(jié)果劃分為Mn份K比特數(shù),并獲取當前Mn份K比特數(shù)進行求和運算;
所述確定單元,用于將所述接收單元接收的報文分配到所述隊列單元中隊列號與所述處理單元獲取當前Mn份K比特數(shù)求和運算的結(jié)果相同的隊列。
一種網(wǎng)絡設備,所述網(wǎng)絡設備包括配置單元、接收單元、運算單元、處理單元、確定單元和隊列單元;
所述配置單元,用于在所述隊列單元中設置隊列號為1到2Κ_1的隊列,預設數(shù)值,所述預設數(shù)值按從大到小排序為M1, ...,Mi, ...,Mn,其中,M1根據(jù)非均衡流量占與總流量的比值 1/2 1 的范圍確定,M2, . . .,Mi,...,Mn 根據(jù) M1 確定,LruLM1,...,Mi,...,Mn 為自然數(shù),Mlri > Mn = 2 ;所述接收單元,用于接收報文;所述運算單元,用于根據(jù)所述接收單元接收的報文類型提取所述接收報文的元組信息,并根據(jù)所述提取的元組信息進行均衡運算;所述處理單元,用于將所述運算單元均衡運算值按照每份K比特數(shù)劃分;在均衡運算值劃分的份數(shù)中,獲取所述配置單元設置的M1份K比特數(shù),并進行求和運算,將所述求和運算的結(jié)果劃分為所述配置單元設置的M2份K比特數(shù);獲取所述M2份K比特數(shù),并進行求和運算,將所述M2份K比特數(shù)求和運算的結(jié)果劃分為所述配置單元設置的M3份K比特數(shù),并獲取所述禮份1(比特數(shù)進行求和運算,以此類推,直到獲取所述配置單元設置的^份 K比特數(shù)并進行求和運算,將所述Mn份K比特數(shù)據(jù)進行求和運算的結(jié)果劃分為Mn份K比特數(shù),并獲取當前Mn份K比特數(shù)進行求和運算;所述確定單元,用于若當前^份1(比特數(shù)求和運算的結(jié)果不為0,則將所述接收的報文分配到所述隊列單元中隊列號與所述處理單元獲取當前Mn份K比特數(shù)進行求和運算的結(jié)果相同的隊列;若當前1份1(比特數(shù)求和運算的結(jié)果為0,將所述報文按照預定策略固定分配到所述隊列單元中隊列號為1到2K-1之一的隊列中。綜上所述,本發(fā)明通過加法計算替代現(xiàn)有的模計算,對均衡運算的結(jié)果進行有限次分段進位相加,將接收的報文分配到隊列號與分段進位相加的結(jié)果相同的隊列中,能夠提高報文分流效率,降低資源消耗。


圖1為本發(fā)明實施例一中報文分流方法流程示意圖;圖2為本發(fā)明實施例二中報文分流方法流程示意圖;圖3為本發(fā)明實施例中3個加法器實現(xiàn)報文分流示意圖;圖4為本發(fā)明實施例中4個加法器實現(xiàn)報文分流示意圖;圖5為應用于本發(fā)明具體實施例一報文分流技術(shù)的網(wǎng)絡設備結(jié)構(gòu)示意圖;圖6為應用于本發(fā)明具體實施例二報文分流技術(shù)的網(wǎng)絡設備結(jié)構(gòu)示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明所述方案作進一步地詳細說明。本發(fā)明實施例一提出一種報文分流方法,預設隊列號為0到2Κ_1的隊列,預設數(shù)值,所述預設數(shù)值按從大到小排序為M1, ...,Mi, ...,Mn,其中,M1根據(jù)隊列號為0的隊列上的流量與總流量的比值1/2 1的范圍確定,M2, ...,Mi,...,Mn根據(jù)M1確定,K、n、i,M1,..., Mi, ...,Mn 為自然數(shù),Mlri >Mn= 2。參見圖1,圖1為本發(fā)明實施例一中報文分流方法流程示意圖。具體步驟為步驟101,接收報文,根據(jù)報文類型提取所述接收報文的元組信息,并根據(jù)所述提取的元組信息進行均衡運算,將均衡運算值按照每份K比特數(shù)劃分。
本步驟中報文類型不同,提取報文的元組信息將不同。若報文為IP報文時,提取報文的元組信息為源IP地址、目的IP地址、協(xié)議號、源端口號和目的端口號;若報文為(多協(xié)議標簽交換)MPLS報文,則提取的元組信息為標簽和協(xié)議號。在具體實現(xiàn)時,根據(jù)報文類型進行提取,其他報文實現(xiàn)方式類似,這里不再一一例舉。本步驟中的均衡運算,是將運算值平均分配到某個區(qū)間,能達到該運算效果的算法都可以實現(xiàn),如哈希算法。通用的CRC32算法使運算的結(jié)果平均分配到0到232-1區(qū)間。具體使用何種均衡算法根據(jù)實際需要確定,使用任何均衡算法不影響本發(fā)明實施例的實現(xiàn)。步驟102,在均衡運算值劃分的份數(shù)中,獲取M1份K比特數(shù),并進行求和運算,將所述求和運算的結(jié)果劃分為M2份K比特數(shù)。步驟103,獲取所述M2份K比特數(shù),并進行求和運算,將所述M2份K比特數(shù)求和運算的結(jié)果劃分為M3份K比特數(shù),并獲取所述M3份K比特數(shù)進行求和運算,以此類推,直到獲取Mn份K比特數(shù)并進行求和運算,將所述Mn份K比特數(shù)進行求和運算的結(jié)果劃分為Mn份K 比特數(shù),獲取當前Mn份K比特數(shù)進行求和運算。本步驟中,每次取的份數(shù)為上次計算結(jié)果能劃分的份數(shù),直到取到預設的最小值的份數(shù)Mn時,將這最小值份數(shù)Mn的K比特數(shù)進行求和運算,并將求和結(jié)果再次劃分為最小值份數(shù)Mn的K比特數(shù),再次將再次劃分的最小值份數(shù)K比特數(shù)進行求和運算,保證最后一次求和運算的結(jié)果值為隊列號0到2K-1中的一個。步驟104,將所述接收的報文分配到隊列號與當前^份1(比特數(shù)求和運算的結(jié)果相同的隊列中。在現(xiàn)有的多核網(wǎng)絡設備中,一般包括一個控制核和多個數(shù)據(jù)核,其中,多個數(shù)據(jù)核負責對報文的處理,如何使報文均勻分配在各個數(shù)據(jù)核上進行處理,即如何實現(xiàn)報文分流
至關重要。實施例一中的報文分流方法可應用于包括2Κ_1個數(shù)據(jù)核的網(wǎng)絡設備中,所述隊列號為0到2Κ-1的隊列中的1到2Κ-1的隊列與所述2Κ-1個數(shù)據(jù)核一一對應,所述隊列號為 0的隊列與所述隊列號為Q的隊列對應的數(shù)據(jù)核相對應,其中,1 < Q < 2K-1,Q為自然數(shù); 2Κ-1個數(shù)據(jù)核處理與其相對應的隊列中的報文。其中,在具體實現(xiàn)時Q為1到2Κ_1之間任意自然數(shù),但需預先指定其中一個,匹配到隊列號為0的隊列時,都將報文固定分配給該隊列號為Q的隊列,從而使相應報文最終被同一個數(shù)據(jù)核進行處理,以免出現(xiàn)元組信息相同的報文被分配到不同的數(shù)據(jù)核進行處理。本發(fā)明實施例二還提出一種報文分流方法,預設隊列號為1到2Κ_1的隊列,預設數(shù)值,所述預設數(shù)值按從大到小排序為M1, ...,Mi, ...,Mn,其中,M1根據(jù)非均衡流量與總流量的占比值 1/2 1 的范圍確定,M2, ...,Mi, ...,Μη 根據(jù) M1 確定,K、IuLM1, ...,Mi, ...,Mn 為自然數(shù),Mlri > Mn= 2。其中,非均衡流量的流量與總流量的占比值指最終運算的結(jié)果為 0的流量與總流量的比值。參見圖2,圖2為本發(fā)明實施例二中報文分流方法流程示意圖。具體步驟為步驟201,接收報文,根據(jù)報文類型提取所述接收報文的元組信息,并根據(jù)所述提取的元組信息進行均衡運算,將均衡運算值按照每份K比特數(shù)劃分。本步驟中根據(jù)報文類型提取所述接收報文的元組信息,并根據(jù)所述提取的元組信息進行均衡運算同上文描述,這里不再贅述。
步驟202,在均衡運算值劃分的份數(shù)中,獲取M1份K比特數(shù),并進行求和運算,將所述求和運算的結(jié)果劃分為M2份K比特數(shù)。步驟203,獲取所述M2份K比特數(shù),并進行求和運算,將所述M2份K比特數(shù)求和運算的結(jié)果劃分為M3份K比特數(shù),并獲取所述M3份K比特數(shù)進行求和運算,以此類推,直到獲取1份1(比特數(shù)并進行求和運算,將所述1份1(比特數(shù)據(jù)進行求和運算的結(jié)果劃分為^份 K比特數(shù),獲取當前Mn份K比特數(shù)進行求和運算。步驟204,若當前Mn份K比特數(shù)求和運算的結(jié)果不為0,則將所述接收的報文分配到隊列號與當前1份1(比特數(shù)求和運算的結(jié)果相同的隊列中;若當前1份1(比特數(shù)求和運算的結(jié)果為0,將所述報文按照預定策略固定分配到隊列號為1到2K-1之一的隊列中。其中,預定策略為預先設定運算結(jié)果為0時,將運算結(jié)果為0的報文分配給隊列號為1到2Κ-1 之一的隊列中,但是,必須預先確定要分配給的隊列號。如將運算結(jié)果為0的報文都分配給隊列號為1的隊列。實施例二中的報文分流方法可應用于包括2Κ_1個數(shù)據(jù)核的網(wǎng)絡設備中,所述隊列號為1到2Κ-1的隊列與所述2Κ-1個數(shù)據(jù)核一一對應;所述2Κ-1個數(shù)據(jù)核處理與其相對應的隊列中的報文。實施例一和實施例二中,將均衡運算值按照每份K比特數(shù)劃分的方法為可以將均衡運算值從低位到高位按照每份K比特數(shù)劃分,最高位份不夠K比特數(shù)時補0為K比特或者不夠K比特數(shù)時不計最高位份;也可以從高位到低位按照每份比特數(shù)劃分,最低位份不夠K比特數(shù)時補0為K比特或者不夠K比特數(shù)時不計最低位份。在均衡運算值劃分的份數(shù)中,獲取M1份K比特數(shù)的方法為在均衡運算值劃分的份數(shù)中,隨機選取M1份K比特數(shù),也可以從低位到高位,或者從高位到低位順序取M1份K比特數(shù)。本發(fā)明具體實現(xiàn)時,預設的M1份一般小于均衡運算值劃分K比特數(shù)的份數(shù),因此, 在這里如果最高位份或最低位份不夠K比特數(shù)時不計最高位份或最低位份的實現(xiàn)方式完全不影響最終的分配結(jié)果。其中較佳的一種實現(xiàn)方式為,將均衡運算值從低位到高位按照每份K比特數(shù)劃分,最高位份不夠K比特數(shù)時補0為K比特,在均衡運算值劃分的份數(shù)中按照從低位到高位的順序取M1份K比特數(shù)。。另一種較佳的實現(xiàn)方式為將均衡運算值從低位到高位按照每份K比特數(shù)劃分, 最高位份不夠K比特數(shù)時不計最高位份;在均衡運算值劃分的份數(shù)中按照從低位到高位或從高到低位的順序取M1份K比特數(shù)。本發(fā)明的上述具體實施例中,M2, ...,Mi, ...,Mn根據(jù)M1確定的方法為Mi = Rlog2 MwGii-…/足],其中「]表示向上取整,其中,1 < i-1 <η。由于Mlri
> Mn = 2,因此根據(jù)上述計算公式計算得Mn為2時不再計算,并將Mn = 2作為該組預設值的結(jié)束值。假設網(wǎng)絡設備包括7個數(shù)據(jù)核時,則K為3,當1/2%的范圍為不大于1/227時,設置M1為9,η為2,并根據(jù)M1確定M2為2 ;當1/2%的范圍為不大于W時,設置M1為8,η 為2,并根據(jù)M1確定M2為2 ;當1/2·1的范圍為不大于1/23°時,設置M1為10,η為3,并根據(jù) M1確定M2為3,M3確定為2。其中,當1/2%的范圍為不大于1/224時,M1為8、9或10等都可以,為了計算方便,以及資源節(jié)省,一般實現(xiàn)時可以取最少份數(shù)8。取最小份數(shù)至少有以下兩個優(yōu)點第一,獲取的份數(shù)減少了,進行加法運算減少了。第二,獲取的份數(shù)減少了,K比特加法器的個數(shù)也可能少了。由于M2, ...,Mi, ...,Mn由M1確定的,若M1設置為8,
M2 = [[Iog2 M1 (2Κ-1)]/Κ] = [[Iog2 8(23 -1}]/3] =2 ,因此需要 3 個加法器實現(xiàn)。參見圖 3,圖
3為本發(fā)明實施例中3個加法器實現(xiàn)報文分流示意圖。圖3中,η為8,以哈希值為32比特為例,通過3個加法器即可實現(xiàn)。若M1 設置為 10, M2 =「「log2M1^-1)]/X] =「「l0g210(23-1)]/3]=3 ,
厘3 =「「1明2 (2£-1)]/^ =「「1明2 3(23 -1)]/3]=2,因此需要4個加法器實現(xiàn)。參見圖4,圖
4為本發(fā)明實施例中4個加法器實現(xiàn)報文分流示意圖。圖4中η為10,同樣以哈希值32比特為例,圖4中通過4個加法器即可實現(xiàn)。在具體實施例中以網(wǎng)絡設備分流IP報文為例,下面結(jié)合附圖,例舉具體實施例詳細說明本發(fā)明是如何實現(xiàn)報文分流的。該網(wǎng)絡設備包括7個數(shù)據(jù)核,設隊列號為O到7,其中,隊列號為1到7的隊列與數(shù)據(jù)核一一對應,隊列號為O的隊列與隊列號為5的隊列相對應。如果該網(wǎng)絡設備使用的是哈希算法是CRC32,若隊列號為O的隊列上的流量與總流量的比值的范圍為1/2W不大于1/227時,設置虬為9、10或11,但是根據(jù)上文討論的取份數(shù)值最小的較優(yōu)原則,在滿足了系統(tǒng)的要求,即隊列O分得的流量較少時,不影響平均分配的情況下,該實施例中取M1為9即可。由于M1為9,則η為2,M2為2。網(wǎng)絡設備預先配置完成之后,接收到IP報文,提取該IP報文的五元組信息源IP 地址、目的IP地址、協(xié)議號、源端口號和目的端口號。通過CRC32獲得哈希結(jié)果值。若使用CRC32算法計算的結(jié)果H = 12372576545 (octal)。將H從低位到高位劃分成11份3比特數(shù),則從H八進制的低位到高位依次5,4,5,6,...,1。最后的1只有2比特有效,用0補充成3比特,值不變。從劃分的11份中取M1份,即9份,這里從低位開始選擇前9份5,4,5,6,. . .,3。使用3比特加法器將這9份分段相加,得到的結(jié)果為M(octal),此結(jié)果再劃分成 M2份,即2份。再取上次結(jié)果劃分的2份并相加結(jié)果為11 (octal)。由于已取得預設最小值禮,所以將上次結(jié)果再次劃分2份3比特數(shù),再相加值就是隊列號,得到的隊列號為2。將該IP報文分配到隊列號為2的隊列中,與該隊列相對應的數(shù)據(jù)核處理隊列號為2的隊列中的報文。若最終計算結(jié)果為O時,則該IP報文分配到與隊列號為5的隊列中,與該隊列相對應的數(shù)據(jù)核處理隊列號為5的隊列中的報文。上文已經(jīng)討論過,隊列號為O的隊列上的流量占總流量的比值是在可接受范圍內(nèi),即該流量相對是較小的,不影響要達到的平均分配?;谕瑯拥陌l(fā)明構(gòu)思,本發(fā)明還提出一種可應用前述報文分流的網(wǎng)絡設備。參見圖5,圖5為應用于本發(fā)明具體實施例一報文分流技術(shù)的網(wǎng)絡設備結(jié)構(gòu)示意圖。該網(wǎng)絡設備包括配置單元501、接收單元502、運算單元503、處理單元504、確定單元505和隊列單元 506。
配置單元501,用于在隊列單元506中設置隊列號為0到2K_1的隊列,預設數(shù)值, 所述預設數(shù)值按從大到小排序為M1, ...,Mi, ...,Μη,其中,M1根據(jù)隊列號為0的隊列上的流量與總流量的比值1/2%的范圍確定,M2, ...,Mi, ...,Mn根據(jù)M1確定,K、n、i, M1,..., Mi, ...,Mn 為自然數(shù),Mlri >Mn= 2。接收單元502,用于接收報文。運算單元503,用于根據(jù)接收單元502接收的報文類型提取所述接收報文的元組信息,并根據(jù)所述提取的元組信息進行均衡運算。處理單元504,用于將運算單元503均衡運算值按照每份K比特數(shù)劃分;在均衡運算值劃分的份數(shù)中,獲取配置單元501設置的M1份K比特數(shù),并進行求和運算,將所述求和運算的結(jié)果劃分為配置單元501設置的M2份K比特數(shù);獲取所述M2份K比特數(shù),并進行求和運算,將所述M2份K比特數(shù)求和運算的結(jié)果劃分為配置單元501設置的M3份K比特數(shù),并獲取所述M3份K比特數(shù)進行求和運算,以此類推,直到獲取配置單元501設置的Mn份K比特數(shù)并進行求和運算,將所述Mn份K比特數(shù)據(jù)進行求和運算的結(jié)果劃分為Mn份K比特數(shù), 并獲取當前Mn份K比特數(shù)進行求和運算。確定單元505,用于將接收單元502接收的報文分配到隊列單元506中隊列號與處理單元504獲取當前Mn份K比特數(shù)求和運算的結(jié)果相同的隊列中。進一步,該網(wǎng)絡設備包括2Κ_1個數(shù)據(jù)核507。配置單元501,進一步用于設置所述隊列號為0到2Κ_1的隊列中的1到2Κ_1的隊列與所述2Κ-1個數(shù)據(jù)核一一對應,所述隊列號為0的隊列與所述隊列號為Q的隊列對應的數(shù)據(jù)核相對應,其中,1 < Q < 2K-1,Q為自然數(shù)。數(shù)據(jù)核507,用于處理隊列單元506中與其對應的隊列中的報文。較佳地,處理單元504,用于將均衡運算值從低位到高位按照每份K比特數(shù)劃分,最高位份不夠K比特數(shù)時補0為K比特數(shù);在所述均衡運算值劃分的份數(shù)中按照從低位到高位的順序取M1份K比特數(shù)。較佳地,處理單元504,用于將均衡運算值從低位到高位按照每份K比特數(shù)劃分,最高位份不夠K比特數(shù)時不計最高位份;在所述均衡運算值劃分的份數(shù)中按照從低位到高位或從高位到低位的順序取M1份K比特數(shù)。較佳地,配置單元501,用于通過風=^log2MHpii -1)]/足]確定 M2,. . · ,Mi,.. ·,Μη,其中,
「1表示向上取整,1 < 1-1 ^ η。較佳地,配置單元501,用于若數(shù)據(jù)核506個數(shù)為7時,K為3 ;當1/2·1的范圍為不大于 1/224時,設置M1為8,η為2 ;當1/2%的范圍為不大于1/227時,設置M1為9,η為2 ;當1/2鄉(xiāng)的范圍為不大于1/23°時,設置M1為10,η為3,并根據(jù)M1確定M2為3。參見圖6,圖6為應用于本發(fā)明具體實施例二報文分流技術(shù)的網(wǎng)絡設備結(jié)構(gòu)示意圖。該網(wǎng)絡設備包括配置單元601、接收單元602、運算單元603、處理單元604、確定單元605和隊列單元606。配置單元601,用于在隊列單元606中設置隊列號為1到2K_1的隊列,預設數(shù)值, 所述預設數(shù)值按從大到小排序為M1, ...,Mi, ...,Μη,其中,M1根據(jù)非均衡流量與總流量的占比值 1/2 1 的范圍確定,M2, . . .,Mi,...,Mn 根據(jù) M1 確定,K、n、LM1,...,Mi,...,Mn 為自然數(shù),Mlri > Mn = 2。接收單元602,用于接收報文。運算單元603,用于根據(jù)接收單元602接收的報文類型提取所述接收報文的元組信息,并根據(jù)所述提取的元組信息進行均衡運算。處理單元604,用于將運算單元603均衡運算值按照每份K比特數(shù)劃分;在均衡運算值劃分的份數(shù)中,獲取配置單元601設置的M1份K比特數(shù),并進行求和運算,將所述求和運算的結(jié)果劃分為配置單元601設置的M2份K比特數(shù);獲取所述M2份K比特數(shù),并進行求和運算,將所述禮份1(比特數(shù)求和運算的結(jié)果劃分為配置單元601設置的禮份1(比特數(shù),并獲取所述M3份K比特數(shù)進行求和運算,以此類推,直到獲取配置單元601設置的Mn份K比特數(shù)并進行求和運算,將所述Mn份K比特數(shù)據(jù)進行求和運算的結(jié)果劃分為Mn份K比特數(shù), 并獲取當前Mn份K比特數(shù)進行求和運算。確定單元605,用于若當前Mn份K比特數(shù)求和運算的結(jié)果不為0,則將所述接收的報文分配到隊列單元606中隊列號與處理單元604獲取當前Mn份K比特數(shù)進行求和運算的結(jié)果相同的隊列;若當前1份1(比特數(shù)求和運算的結(jié)果為0,將所述報文按照預定策略固定分配到隊列單元606中隊列號為1到2Κ-1之一的隊列中。進一步的,該網(wǎng)絡設備包括2Κ-1個數(shù)據(jù)核607。配置單元601,進一步用于設置所述隊列號為1到2Κ_1的隊列與所述2Κ_1個數(shù)據(jù)核607——對應;數(shù)據(jù)核607,用于處理隊列單元中與其對應的隊列中的報文。較佳地,處理單元604,用于將均衡運算值從低位到高位按照每份K比特數(shù)劃分,最高位份不夠K比特數(shù)時補0為K比特數(shù);在所述均衡運算值劃分的份數(shù)中按照從低位到高位的順序取M1份K比特數(shù)。較佳地,處理單元604,用于將均衡運算值從低位到高位按照每份K比特數(shù)劃分,最高位份不夠K比特數(shù)時不計最高位份;在所述均衡運算值劃分的份數(shù)中按照從低位到高位或從高位到低位的順序取M1份K比特數(shù)。較佳地,配置單元601,用于通過 M1 = ^log2MHpii _1)]/足]確定 M2,. . .,Mi;. · .,Μη,其中,
「1表示向上取整,1 < 1-1 ^ η。較佳地,配置單元601,用于若數(shù)據(jù)核606個數(shù)為7時,K為3 ;當1/2·1的范圍為不大于 1/224時,設置M1為8,η為2 ;當1/2%的范圍為不大于1/227時,設置M1為9,η為2 ;當1/2% 的范圍為不大于1/23°時,設置M1為10,η為3,并根據(jù)M1確定M2為3。
上述實施例的單元可以集成于一體,也可以分離部署;可以合并為一個單元,也可以進一步拆分成多個子單元。綜上所述,本發(fā)明通過加法計算替代現(xiàn)有的模計算,對均衡運算值進行有限次分段進位相加,將接收的報文分配到隊列號與分段進位相加的結(jié)果相同的隊列中,能夠降低資源消耗,提高報文分流效率。該方法可應用于包括多核的網(wǎng)絡設備中,能將報文流量盡可能地均勻分配在多個數(shù)據(jù)核上。以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種報文分流方法,其特征在于,預設隊列號為0到2K-1的隊列,預設數(shù)值,所述預設數(shù)值按從大到小排序為M1, ...,Mi, ...,Μη,其中,M1根據(jù)隊列號為0的隊列上的流量與總流量的比值1/2 1的范圍確定,M2, ... , Mi, ...,Μη根據(jù)M1確定,K、IuLM1, ...,Mi,..., Mn為自然數(shù),Mlri > Mn = 2,所述方法包括接收報文,根據(jù)報文類型提取所述接收報文的元組信息,并根據(jù)所述提取的元組信息進行均衡運算,將均衡運算值按照每份K比特數(shù)劃分;在均衡運算值劃分的份數(shù)中,獲取M1份K比特數(shù),并進行求和運算,將所述求和運算的結(jié)果劃分為M2份K比特數(shù);獲取所述M2份K比特數(shù),并進行求和運算,將所述M2份K比特數(shù)求和運算的結(jié)果劃分為M3份K比特數(shù),并獲取所述M3份K比特數(shù)進行求和運算,以此類推,直到獲取Mn份K比特數(shù)并進行求和運算,將所述Mn份K比特數(shù)進行求和運算的結(jié)果劃分為Mn份K比特數(shù),獲取當前Mn份K比特數(shù)進行求和運算;將所述接收的報文分配到隊列號與當前仏份K比特數(shù)求和運算的結(jié)果相同的隊列中。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法可應用于包括2Κ-1個數(shù)據(jù)核的網(wǎng)絡設備中,所述隊列號為0到2Κ-1的隊列中的1到2Κ-1的隊列與所述2Κ-1個數(shù)據(jù)核一一對應,所述隊列號為0的隊列與所述隊列號為Q的隊列對應的數(shù)據(jù)核相對應,其中, 1彡Q彡2K-1,Q為自然數(shù);所述2K-1個數(shù)據(jù)核處理與其相對應的隊列中的報文。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述將均衡運算值按照每份K比特數(shù)劃分的方法為將均衡運算值從低位到高位按照每份K比特數(shù)劃分,最高位份不夠K比特數(shù)時補0為K比特數(shù);在所述均衡運算值劃分的份數(shù)中,獲取M1份K比特數(shù)的方法為在均衡運算值劃分的份數(shù)中按照從低位到高位的順序取M1份K比特數(shù)。
4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述將均衡運算值按照每份K比特數(shù)劃分的方法為將均衡運算值從低位到高位按照每份K比特數(shù)劃分,最高位份不夠K比特數(shù)時不計最高位份;在所述均衡運算值劃分的份數(shù)中,獲取禮份1(比特數(shù)的方法為在均衡運算值劃分的份數(shù)中按照從低位到高位或從高到低位的順序取M1份K比特數(shù)。
5.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述M2, · · ·為,· · ·,Mn根據(jù)M1確定的方法為=Mi = Rlog2MiJ2ii -I}]/叫,其中「]表示向上取整,其中,1 < i-1 ^ η。
6.根據(jù)權(quán)利要求2所述的方法,其特征在于,若數(shù)據(jù)核個數(shù)為7時,K為3; 當1/2 的范圍為不大于1/224時,則M1為8,η為2 ;當1/2 的范圍為不大于1/227時,則M1為9,η為2 ; 當1/2%的范圍為不大于1/230時,則M1為10,η為3,并根據(jù)M1確定M2為3。
7.一種報文分流方法,其特征在于,預設隊列號為1到2Κ-1的隊列,預設數(shù)值,所述預設數(shù)值從大到小排序為M1, ...,Mi,...,Mn,其中,M1根據(jù)非均衡流量與總流量的比值1/2-1 的范圍確定,M2, ...,Mi, ...,Mn 根據(jù) M1 確定,K、n、i,M1, ...,Mi, ...,Mn 為自然數(shù),Mlri >Mn = 2,所述方法包括接收報文,根據(jù)報文類型提取所述接收報文的元組信息,并根據(jù)所述提取的元組信息進行均衡運算,將均衡運算值按照每份K比特數(shù)劃分;在均衡運算值劃分的份數(shù)中,獲取M1份K比特數(shù),并進行求和運算,將所述求和運算的結(jié)果劃分為M2份K比特數(shù);獲取所述M2份K比特數(shù),并進行求和運算,將所述M2份K比特數(shù)求和運算的結(jié)果劃分為M3份K比特數(shù),并獲取所述M3份K比特數(shù)進行求和運算,以此類推,直到獲取Mn份K比特數(shù)并進行求和運算,將所述Mn份K比特數(shù)據(jù)進行求和運算的結(jié)果劃分為Mn份K比特數(shù), 獲取當前Mn份K比特數(shù)進行求和運算;若當前Mn份K比特數(shù)求和運算的結(jié)果不為0,則將所述接收的報文分配到隊列號與當前1份1(比特數(shù)求和運算的結(jié)果相同的隊列中;若當前Mn份K比特數(shù)求和運算的結(jié)果為 0,將所述報文按照預定策略固定分配到隊列號為1到2K-1之一的隊列中。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述方法可應用于包括2Κ-1個數(shù)據(jù)核的網(wǎng)絡設備中,所述隊列號為1到2Κ-1的隊列與所述2Κ-1個數(shù)據(jù)核一一對應;所述2Κ-1個數(shù)據(jù)核處理與其相對應的隊列中的報文。
9.根據(jù)權(quán)利要求7或8所述的方法,其特征在于,所述將均衡運算值按照每份K比特數(shù)劃分的方法為將均衡運算值從低位到高位按照每份K比特數(shù)劃分,最高位份不夠K比特數(shù)時補0為K比特數(shù);在所述均衡運算值劃分的份數(shù)中,獲取M1份K比特數(shù)的方法為在均衡運算值劃分的份數(shù)中按照從低位到高位的順序取M1份K比特數(shù)。
10.根據(jù)權(quán)利要求7或8所述的方法,其特征在于,所述將均衡運算值按照每份K比特數(shù)劃分的方法為將均衡運算值從低位到高位按照每份K比特數(shù)劃分,最高位份不夠K比特數(shù)時不計最高位份;在所述均衡運算值劃分的份數(shù)中,獲取禮份1(比特數(shù)的方法為在均衡運算值劃分的份數(shù)中按照從低位到高位或從高到低位的順序取M1份K比特數(shù)。
11.根據(jù)權(quán)利要求7或8所述的方法,其特征在于, 所述M2, ...,Mi, ...,Mn根據(jù)M1確定的方法為Mi = Rlog2 MwK-1)]/叫,其中「]表示向上取整,其中,1 < I-I^n0
12.根據(jù)權(quán)利要求8所述的方法,其特征在于,若數(shù)據(jù)核個數(shù)為7時,K為3; 當1/2 的范圍為不大于1/224時,則M1為8,η為2 ;當1/2 的范圍為不大于1/227時,則M1為9,η為2 ; 當1/2%的范圍為不大于1/230時,則M1為10,η為3,并根據(jù)M1確定M2為3。
13.—種網(wǎng)絡設備,其特征在于,所述網(wǎng)絡設備包括配置單元、接收單元、運算單元、 處理單元、確定單元和隊列單元;所述配置單元,用于在所述隊列單元中設置隊列號為0到2Κ-1的隊列,預設數(shù)值,所述預設數(shù)值按從大到小排序為M1,. . . ,Mi,.. .,Μη,其中,M1根據(jù)隊列號為0的隊列上的流量與總流量的比值1/2 1的范圍確定,M2, ... , Mi, ...,Μη根據(jù)M1確定,K、IuLM1, ...,Mi,..., Mn為自然數(shù),Mlri > Mn= 2 ;所述接收單元,用于接收報文;所述運算單元,用于根據(jù)所述接收單元接收的報文類型提取所述接收報文的元組信息,并根據(jù)所述提取的元組信息進行均衡運算;所述處理單元,用于將所述運算單元均衡運算值按照每份K比特數(shù)劃分;在均衡運算值劃分的份數(shù)中,獲取所述配置單元設置的M1份K比特數(shù),并進行求和運算,將所述求和運算的結(jié)果劃分為所述配置單元設置的M2份K比特數(shù);獲取所述M2份K比特數(shù),并進行求和運算,將所述M2份K比特數(shù)求和運算的結(jié)果劃分為所述配置單元設置的M3份K比特數(shù),并獲取所述M3份K比特數(shù)進行求和運算,以此類推,直到獲取所述配置單元設置的Mn份K比特數(shù)并進行求和運算,將所述Mn份K比特數(shù)據(jù)進行求和運算的結(jié)果劃分為Mn份K比特數(shù), 并獲取當前Mn份K比特數(shù)進行求和運算;所述確定單元,用于將所述接收單元接收的報文分配到所述隊列單元中隊列號與所述處理單元獲取當前Mn份K比特數(shù)求和運算的結(jié)果相同的隊列。
14.根據(jù)權(quán)利要求13所述的網(wǎng)絡設備,其特征在于,所述網(wǎng)絡設備包括2K-1個數(shù)據(jù)核; 所述配置單元,進一步用于設置所述隊列號為0到2Κ-1的隊列中的1到2Κ-1的隊列與所述2Κ-1個數(shù)據(jù)核一一對應,所述隊列號為0的隊列與所述隊列號為Q的隊列對應的數(shù)據(jù)核相對應,其中,1 < Q < 2K-1,Q為自然數(shù);所述數(shù)據(jù)核,用于處理所述隊列單元中與其對應的隊列中的報文。
15.根據(jù)權(quán)利要求13或14所述的網(wǎng)絡設備,其特征在于,所述處理單元,用于將均衡運算值從低位到高位按照每份K比特數(shù)劃分,最高位份不夠K比特數(shù)時補0為K比特數(shù);在所述均衡運算值劃分的份數(shù)中按照從低位到高位的順序取M1份K比特數(shù)。
16.根據(jù)權(quán)利要求13或14所述的網(wǎng)絡設備,其特征在于,所述處理單元,用于將均衡運算值從低位到高位按照每份K比特數(shù)劃分,最高位份不夠K比特數(shù)時不計最高位份;在所述均衡運算值劃分的份數(shù)中按照從低位到高位或從高位到低位的順序取M1份K比特數(shù)。
17.根據(jù)權(quán)利13或14所述的網(wǎng)絡設備,其特征在于,所述配置單元,用于通過M1 =「「log2 Mw爐-I}]/叫確定M2, · · · ,Mi, · · ·,Mn,其中,「]表示向上取整,1≤i-1≤η。
18.根據(jù)權(quán)利要求14所述的網(wǎng)絡設備,其特征在于,所述配置單元,用于若數(shù)據(jù)核個數(shù)為7時,K為3 ;當1/2 的范圍為不大于1/224時,設置M1為8,η為2 ;當1/2%的范圍為不大于1/227時,設置M1為9,η為2 ;當1/2%的范圍為不大于1/230時,設置M1為10,η為3,并根據(jù)M1確定M2為3。
19.一種網(wǎng)絡設備,其特征在于,所述網(wǎng)絡設備包括配置單元、接收單元、運算單元、 處理單元、確定單元和隊列單元;所述配置單元,用于在所述隊列單元中設置隊列號為1到2Κ-1的隊列,預設數(shù)值,所述預設數(shù)值按從大到小排序為M1,. ..,Mi;. ..,Μη,其中,M1根據(jù)非均衡流量占與總流量的比值 HIkmi 的范圍確定,M2, ...,Mi, ...,Mn 根據(jù) M1 確定,K、n、i,M1, ...,Mi, ...,Mn 為自然數(shù), Mlri > Mn = 2 ;所述接收單元,用于接收報文;所述運算單元,用于根據(jù)所述接收單元接收的報文類型提取所述接收報文的元組信息,并根據(jù)所述提取的元組信息進行均衡運算;所述處理單元,用于將所述運算單元均衡運算值按照每份K比特數(shù)劃分;在均衡運算值劃分的份數(shù)中,獲取所述配置單元設置的M1份K比特數(shù),并進行求和運算,將所述求和運算的結(jié)果劃分為所述配置單元設置的M2份K比特數(shù);獲取所述M2份K比特數(shù),并進行求和運算,將所述M2份K比特數(shù)求和運算的結(jié)果劃分為所述配置單元設置的M3份K比特數(shù),并獲取所述M3份K比特數(shù)進行求和運算,以此類推,直到獲取所述配置單元設置的Mn份K比特數(shù)并進行求和運算,將所述Mn份K比特數(shù)據(jù)進行求和運算的結(jié)果劃分為Mn份K比特數(shù), 并獲取當前Mn份K比特數(shù)進行求和運算;所述確定單元,用于若當前1份1(比特數(shù)求和運算的結(jié)果不為0,則將所述接收的報文分配到所述隊列單元中隊列號與所述處理單元獲取當前Mn份K比特數(shù)進行求和運算的結(jié)果相同的隊列;若當前1份1(比特數(shù)求和運算的結(jié)果為0,將所述報文按照預定策略固定分配到所述隊列單元中隊列號為1到2K-1之一的隊列中。
20.根據(jù)權(quán)利要求19所述的網(wǎng)絡設備,其特征在于,所述網(wǎng)絡設備包括2Κ-1個數(shù)據(jù)核; 所述配置單元,進一步用于設置所述隊列號為1到2Κ-1的隊列與所述2Κ-1個數(shù)據(jù)核--對應;所述數(shù)據(jù)核,用于處理所述隊列單元中與其對應的隊列中的報文。
21.根據(jù)權(quán)利要求19或20所述的網(wǎng)絡設備,其特征在于,所述處理單元,用于將均衡運算值從低位到高位按照每份K比特數(shù)劃分,最高位份不夠K比特數(shù)時補0為K比特數(shù);用于在所述均衡運算值劃分的份數(shù)中按照從低位到高位的順序取M1份K比特數(shù)。
22.根據(jù)權(quán)利要求19或20所述的網(wǎng)絡設備,其特征在于,所述處理單元,用于將均衡運算值從低位到高位按照每份K比特數(shù)劃分,最高位份不夠K比特數(shù)時不計最高位份;用于在所述均衡運算值劃分的份數(shù)中按照從低位到高位或從高位到低位的順序取M1份K比特數(shù)。
23.根據(jù)權(quán)利19或20所述的網(wǎng)絡設備,其特征在于,所述配置單元,用于通過M1 = Rlog2U^ - I}]/叫確定M2, · · ·,Mi; · · ·,Μη,其中,「]表示向上取整,1彡i-1彡η。
24.根據(jù)權(quán)利要求20所述的網(wǎng)絡設備,其特征在于,所述配置單元,用于若數(shù)據(jù)核個數(shù)為7時,K為3 ;當1/2%的范圍為不大于1/224時,設置M1為8,η為2 ;當1/2%的范圍為不大于1/227時,設置M1為9,η為2 ;當1/2%的范圍為不大于1/230時,設置M1為10,η為3,并根據(jù)M1確定M2為3。
全文摘要
本發(fā)明公開了一種報文分流方法,通過加法計算替代現(xiàn)有的模計算,對均衡運算的結(jié)果進行有限次分段進位相加,將接收的報文分配到隊列號與分段進位相加的結(jié)果相同的隊列中。基于同樣的發(fā)明構(gòu)思,本發(fā)明還提出一種網(wǎng)絡設備,能夠提高報文分流效率,降低資源消耗。
文檔編號H04L12/56GK102546441SQ201210049250
公開日2012年7月4日 申請日期2012年2月29日 優(yōu)先權(quán)日2012年2月29日
發(fā)明者鄧士恩 申請人:杭州華三通信技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1