一種多協(xié)處理器負載均衡的方法、裝置及主處理器的制造方法
【技術(shù)領域】
[0001] 本發(fā)明涉及IPSec (Internet協(xié)議安全性)領域,特別是一種實現(xiàn)多協(xié)處理器負載 均衡的方法、裝置及主處理器。
【背景技術(shù)】
[0002] IPSec是一種開放標準的框架結(jié)構(gòu),通過使用加密的安全服務以確保在Internet 協(xié)議網(wǎng)絡上進行保密而安全的通訊。IPsec定義了在網(wǎng)際層使用的安全服務,其功能包括數(shù) 據(jù)加密、對網(wǎng)絡單元的訪問控制、數(shù)據(jù)源地址驗證、數(shù)據(jù)完整性檢查和防止重放攻擊。
[0003] 由于IPSec處理流程復雜,實時要求性高,對設備處理能力提出較高的要求。單個 主處理器(main processor,MP)的處理能力有限,而且設備通常不僅僅處理IPSec報文,還 需要承擔其他功能,因此需要配置多個協(xié)處理器(coprocessor,CP)專門進行IPSec報文處 理。
[0004] 當存在多個協(xié)處理器時,為協(xié)處理器分配虛接口則需要保證負載均衡。目前保證 協(xié)處理器負載均衡的方法是按照協(xié)處理器的虛接口數(shù)量來進行均衡分配的。由于不同虛接 口所對應的流量大小不同,因此,采用上述現(xiàn)有的分配方法并不能真正意義上的實現(xiàn)協(xié)處 理器的流量均衡。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明要解決的技術(shù)問題是提供一種實現(xiàn)多協(xié)處理器負載均衡的方法、裝置及主 處理器,能夠。
[0006] 為解決上述技術(shù)問題,本發(fā)明的實施例提供一種多協(xié)處理器負載均衡的方法,包 括:
[0007] 主處理器獲得每一個待分配的虛接口的流量權(quán)重;
[0008] 主處理器獲得每一個協(xié)處理器上的流量權(quán)重總值;其中,協(xié)處理器上的流量權(quán)重 總值為該協(xié)處理器上分配到的所有虛接口的流量權(quán)重之和;
[0009] 主處理器按順序?qū)⒘髁繖?quán)重大的待分配的虛接口分配給流量權(quán)重總值小的協(xié)處 理器。
[0010] 其中,主處理器按順序?qū)⒘髁繖?quán)重大的待分配的虛接口分配給流量權(quán)重總值小的 協(xié)處理器,包括:
[0011] 主處理器根據(jù)流量權(quán)重的大小對所有待分配的虛接口進行降序排列;
[0012] 主處理器根據(jù)流量權(quán)重總值的大小對所有協(xié)處理器進行升序排列;
[0013] 主處理器按照待分配的虛接口的排列順序,以及協(xié)處理器的排列順序,將流量權(quán) 重大的虛接口分配給流量權(quán)重總值小的協(xié)處理器。
[0014] 其中,所述待分配的虛接口為X個,協(xié)處理器為Y個;
[0015] 所述主處理器按照待分配的虛接口的排列順序,以及協(xié)處理器的排列順序,將流 量權(quán)重大的虛接口分配給流量權(quán)重總值小的協(xié)處理器,包括:
[0016] 當X大于Y時,主處理器在分配完第Y個待分配的虛接口后,根據(jù)流量權(quán)重總值的 大小對所有協(xié)處理器重新進行升序排列;
[0017] 主處理器根據(jù)待分配的虛接口的排列順序,以及協(xié)處理器新的排列順序,將流量 權(quán)重大的剩余待分配的虛接口分配給流量權(quán)重總值小的協(xié)處理器。
[0018] 其中,所述主處理器獲得每一個待分配的虛接口的流量權(quán)重,包括:
[0019] 主處理器根據(jù)待分配的虛接口對應的流量大小,量化出每一個待分配的虛接口的 流量權(quán)重。
[0020] 此外,本發(fā)明的另一實施例還提供一種多協(xié)處理器負載均衡的裝置,包括:
[0021] 第一獲取模塊,用于獲得每一個待分配的虛接口的流量權(quán)重;
[0022] 第二獲取模塊,用于獲得每一個協(xié)處理器上的流量權(quán)重總值;其中,協(xié)處理器上的 流量權(quán)重總值為該協(xié)處理器上分配到的所有虛接口的流量權(quán)重之和;
[0023] 分配模塊,用于按順序?qū)⒘髁繖?quán)重大的待分配的虛接口分配給流量權(quán)重總值小的 協(xié)處理器;其中,協(xié)處理器上的流量權(quán)重總值為該協(xié)處理器上分配到的所有虛接口的流量 權(quán)重之和。
[0024] 其中,所述分配模塊包括:
[0025] 第一排列子模塊,用于根據(jù)流量權(quán)重的大小對所有待分配的虛接口進行降序排 列;
[0026] 第二排列子模塊,用于根據(jù)流量權(quán)重總值的大小對所有協(xié)處理器進行升序排列;
[0027] 分配子模塊,用于按照待分配的虛接口的排列順序,以及協(xié)處理器的排列順序,將 流量權(quán)重大的虛接口分配給流量權(quán)重總值小的協(xié)處理器。
[0028] 其中,所述待分配的虛接口為X個,協(xié)處理器為Υ個;
[0029] 當X大于Υ時,第二排列子模塊在所述分配子模塊分配完第Υ個待分配的虛接口 后,根據(jù)流量權(quán)重總值的大小對所有協(xié)處理器重新進行升序排列;之后,控制所述第二排列 子模塊根據(jù)所述根據(jù)待分配的虛接口的排列順序,以及協(xié)處理器新的排列順序,將流量權(quán) 重大的剩余待分配的虛接口分配給流量權(quán)重總值小的協(xié)處理器。
[0030] 其中,所述第一獲取模塊具體根據(jù)待分配的虛接口對應的流量大小,量化出每一 個待分配的虛接口的流量權(quán)重。
[0031] 此外,本發(fā)明的另一實施例還提供一種主處理器,包括上述的多協(xié)處理器負載均 衡的裝置。
[0032] 本發(fā)明的上述技術(shù)方案的有益效果如下:
[0033] 在本發(fā)明的方案中,每個虛接口都對應有各自流量的流量權(quán)重,在為虛接口分配 協(xié)處理器時,維持各協(xié)處理器對應的流量權(quán)重總值的均衡,從而使得各協(xié)處理器對應處理 的流量達到均衡。與單純根據(jù)協(xié)處理器的虛接口數(shù)量進行分配的方法相比,負載均衡的效 果更明顯。
【附圖說明】
[0034] 圖1為本發(fā)明的多協(xié)處理器負載均衡的方法的步驟示意圖;
[0035] 圖2為本發(fā)明的多協(xié)處理器負載均衡的裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0036] 為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具 體實施例進行詳細描述。
[0037] 如圖1所示,本發(fā)明的實施例提供一種負載均衡的方法,包括:
[0038] 步驟11,主處理器獲得每一個待分配的虛接口的流量權(quán)重;
[0039] 步驟12,主處理器獲得每一個協(xié)處理器上的流量權(quán)重總值;其中,協(xié)處理器上的 流量權(quán)重總值為該協(xié)處理器上分配到的所有虛接口的流量權(quán)重之和;
[0040] 步驟13,主處理器按順序?qū)⒘髁繖?quán)重大的待分配的虛接口分配給流量權(quán)重總值小 的協(xié)處理器。
[0041] 通過上述描述可以知道,在本實施例的方法中,每個虛接口都對應有各自流量的 流量權(quán)重,在為虛接口分配協(xié)處理器時,維持各協(xié)處理器對應的流量權(quán)重總值的均衡,從而 使得各協(xié)處理器對應處理的流量達到均衡。與單純根據(jù)協(xié)處理器的虛接口數(shù)量進行分配的 方法相比,負載均衡的效果更明顯。
[0042] 具體地,在執(zhí)行步驟11中,主處理器根據(jù)待分配的虛接口對應的流量大小,量化 出每一個待分配的虛接口的流量權(quán)重。即,虛接口的流量權(quán)重的大小即可表示其對應的流 量大小。
[0043] 具體地,上述步驟13具體包括:
[0044] 步驟131,主處理器根據(jù)流量權(quán)重的大小對所有待分配的虛接口進行降序排列;
[0045] 步驟132,主處理器根據(jù)流量權(quán)重總值的大小對所有協(xié)處理器進行升序排列;
[0046] 步驟133,主處理器按照待分配的虛接口的排列順序,以及協(xié)處理器的排列順序, 將流量權(quán)重大的虛接口分配給流量權(quán)重總值小的協(xié)處理器;
[0047] 下面結(jié)合實施例對步驟131-步驟133進行詳細介紹。
[0048] 〈實施例一〉
[0049] 示例性地,在本實施例一中,假設有3個未配置有協(xié)處理器的虛接口,即虛接口 1-3,其對應的流量權(quán)重分別是5,8,4。某一設備共有3個協(xié)處理器,即當前流量權(quán)重總值為 10的協(xié)處理器1、流量權(quán)重總值為8的協(xié)處理器2以及流量權(quán)重總值為13的協(xié)處理器3。
[0050] 在配置虛接口時,對協(xié)處理器按照流量權(quán)重總值的大小進行升序排列,即協(xié)處理 器的排列次序為表一所不:
[0051]
[0052] 表一
[0053] 之后根據(jù)流量權(quán)重的大小,對未配置有協(xié)處理器的虛接口進行降序排列,其排列 次序如表二所示:
[0054]
[0055] 表二
[0056] 按照排列次序從表二中選取虛接口 2、1、3。之后將虛接口 2分配至表一中排列次 序第一的協(xié)處理器2,將虛接口 1分配至表一中排列次序第二的協(xié)處理器1,以及虛接口 3 分配至表一中排列次序第三的協(xié)處理器3。
[0057] 在虛接口 1、2、3全部配置完成后,協(xié)處理器1對應的流量權(quán)重總值為15,協(xié)處理器 2對應的流量權(quán)重總值為16,協(xié)處理器3對應的流量權(quán)重總值為17。由于流量權(quán)重總值即 代表著協(xié)處理器對應的所有虛接口的流量總大小,因此在配置結(jié)束后,協(xié)處理器在流量上 實現(xiàn)了負載均衡。
[0058] 此外,可在分配虛接口時,可動態(tài)更新協(xié)處理器的排列順序,下面介紹一個可行的 實現(xiàn)方式。
[0059] 在上述基礎上,所述待分配的虛接口為X個,協(xié)處理器為Y個;
[0060] 當X大于Y時,在執(zhí)行上述步驟133時,主處理器在分配完第Y個待分配的虛接口 后,根據(jù)流量權(quán)重總值的大小對所有協(xié)處理器重新進行升序排列;之后根據(jù)待分配的虛接 口的排列順序,以及協(xié)處理器新的排列順序,將流量權(quán)重大的剩余待分配的虛接口分配給 流量權(quán)重總值小的協(xié)處理器。
[0