專利名稱:一種實現重疊網絡負載均衡的方法和物理節點的制作方法
技術領域:
本發明涉及互聯網領域的重疊網絡構造技術,尤其涉及一種實現重疊網絡負載均 衡的方法和物理節點。
背景技術:
隨著互聯網技術的不斷發展,新的需求和問題也不斷涌現。在保持底層的互聯網 不變的前提下,通過重疊網絡來提供所需的性能是網絡演進的一種方法。重疊網絡架構在 互聯網上層,以無縫持續演進的方式構建,形成一張多層的覆蓋網絡基礎設施,不但可以為 底層網絡運營商提供對網絡的分布式控制與管理支撐,為政府提供對網絡行為監管和治理 的支撐,還可以通過對頂層應用提供的網絡服務接口和編程開發接口,支持包括對等(P2P, Peer to Peer)網絡在內的各種的全新應用服務。支持各種P2P應用是重疊網絡的最重要的一個用途,它通過節點提供網絡地址 轉換(NAT,Network Address Translation)穿透輔助、以及重疊網分布式哈希表(DHT, Distributed Hash Table)組網及其分布式資源索引功能,支持有組織的P2P重疊網,從而 為P2P應用的開發和運行提供了一套公共的基礎設施。也就是說,節點可以用DHT協議結 成重疊網,典型的如Chord協議,組成一個結構化的P2P網絡,從而提供一個面向整個互聯 網的全局的資源管理和服務提供平臺。在結構化的P2P網絡中,如基于Chord環的P2P網絡,通常采用一致的哈希函數將 資源標識符(ID)和節點ID映射到一個統一的空間,然后將資源存儲在與資源ID最接近的 后繼節點ID所屬的服務器節點上。根據對基于Chord環的P2P網絡的測試,需要至少數千 數量級的服務器節點,才能保證負荷的基本均衡。因此對于物理節點數遠低于上述數量級 的系統,需要采用特殊的負載均衡策略。在真實的P2P結構化網絡中,物理節點由于計算能 力、網絡帶寬、磁盤大小等情況而造成負載能力不盡相同,也就是物理節點的異構性問題。 如何能公平的分配物理節點負責的ID域,同時,更好的利用系統每一物理節點的資源,充 分發揮每一個物理節點的能力,從而使得每個物理節點的負載趨于一致,最終使得整個系 統達到負載均衡,這是一個在重疊網絡P2P應用中值得研究的問題。在現有的技術方案中,負載均衡大致可分為兩種方法,一種是采用虛擬服務器 (VS, Virtual server)的方案,這是一種兼顧物理節點異構性的地址空間均衡方案。但這 種方案是在假設到達系統的資源對象大小是相等的、且資源是均勻分布在系統的地址空間 上的這一前提下的,偏離了真實的資源對象分布場景,并且無法避免VS保持路由信息的額 外開銷。另一種方案是不使用VS,采用資源遷移的方案,這種方式能較好的反映真實資源分 布場景,但當資源頻繁的遷移時,將會帶來較大的帶寬消耗和索引維護開銷。
發明內容
有鑒于此,本發明的主要目的在于提供一種實現重疊網絡負載均衡的方法和物理 節點,實現重疊網絡負載均衡,并且,既具有采用VS方法的靈活性,又能適應真實的應用場景,同時也減少了維護VS的開銷。為達到上述目的,本發明的技術方案是這樣實現的本發明提供的一種實現重疊網絡負載均衡的方法,該方法包括各物理節點檢測自身負荷,確定自身為低負荷物理節點(L節點)或高負荷物理節 點(H節點),并得到相應的剩余負載量或超載量;L節點將自身為L節點和剩余負載量通知鄰居物理節點;H節點在查詢到鄰居物理節點有L節點、且L節點的剩余負載量不小于H節點的超 載量時,將自身負載率最高的VS的負載全部或部分遷移到所述L節點的VS上。上述方案中,在各物理節點檢測自身負荷之前,該方法進一步包括將每個物理節 點根據負載能力大小虛擬成η個邏輯節點VS,每一個VS負責重疊網絡上的不同地址空間。上述方案中,所述確定自身為L節點或H節點并得到相應的剩余負載量或超載量, 具體為預先對各物理節點設定低負荷門限和高負荷門限,各物理節點檢測自身負荷,當自 身的負載量小于低負荷門限時,標記自身為L節點,并根據高負荷門限得到剩余負載量;當 自身的負載量大于高負荷門限時,標記自身為H節點,根據高負荷門限得到超載量。上述方案中,該方法進一步包括H節點的超載量大于L節點的剩余負載量時,所 述H節點在虛擬的所有VS中選擇一個VS,在查詢到所述VS當前所在物理節點為L節點時, 根據所述L節點的剩余負載量,判斷是否不小于自身的超載量,若判斷結果為是,則將自身 負載率最高的VS的負載全部或部分遷移到L節點的VS上;若判斷結果為否,則繼續選擇下 一個VS進行判斷。上述方案中,所述將自身負載率最高的VS的負載全部或部分遷移到L節點的VS 上,具體為將自身虛擬出的負載率最高的VS的負載量與所述L節點的剩余負載量進行比 較,若負載率最高的VS的負載量不大于所述L節點的剩余負載量,則將負載率最高的VS的 節點ID賦給所述L節點啟動的新的VS ;若負載率最高的VS的負載量大于所述L節點的剩 余負載量,則將負載率最高的VS所負責的一段地址空間的負載率最高的ID賦給所述L節 點啟動的新的VS。上述方案中,該方法進一步包括在物理節點加入重疊網絡時,所述物理節點將自 身虛擬出的每一個VS都加入到當前負載率較高的區域去分擔負載;和/或,在物理節點退出重疊網絡時,所述物理節點通知自身各VS對應的后繼節 點所要轉入的負載大小,判斷各后繼節點接收所述負載后的負載量是否會超過高負荷門 限,如果超過,則將所要退出的VS和后繼節點的負載轉入合適的L節點啟動的VS中;如果 不會超過,則將所要退出的VS的負載轉入后繼節點;和/或,L節點查詢到所在物理設備上的所有VS的相鄰VS的物理節點存在L節 點時,將相鄰VS的物理節點為L節點的VS作為退出節點,將所述相鄰VS作為其后繼節點, 在退出節點的負載量不大于后繼節點當前所在的L節點的剩余負載量時,將退出節點的負 載轉入后繼節點。本發明提供的一種實現重疊網絡負載均衡的物理節點,該物理節點包括負荷確 定模塊、查找模塊、比較模塊、負載遷移模塊、狀態通知模塊、負載接收模塊;其中,負荷確定模塊,用于檢測自身負荷,確定為L節點或H節點,并得到相應的剩余負 載量或超載量,在自身為H節點時,通知鄰居狀態模塊;在自身為L節點時,通知狀態通知模塊;鄰居狀態模塊,用于在查詢到鄰居物理節點有L節點時,通知比較模塊;比較模塊,用于在比較出自身的超載量不大于L節點的剩余負載量時,通知負載 遷移模塊;負載遷移模塊,用于將自身虛擬出的負載率最高的VS的負載全部或部分遷移到 所述L節點的VS上;狀態通知模塊,用于將自身為L節點和剩余負載量通知鄰居物理節點;負載接收模塊,用于啟動VS接收鄰居物理節點為H節點遷移的負載。上述方案中,所述比較模塊,進一步用于在比較出自身的超載量大于L節點的剩 余負載量時,在自身虛擬的所有VS中按順序選擇一個VS,在查詢到所述VS當前所在物理節 點為L節點時,根據所述L節點的剩余負載量,判斷是否不小于自身的超載量,若判斷結果 為是,則通知負載遷移模塊;若判斷結果為否,則繼續選擇下一個VS進行判斷。上述方案中,所述物理節點,進一步包括加入模塊、和/或退出模塊、和/或聚合 模塊,其中,加入模塊,用于在加入重疊網絡時,將自身虛擬出的每一個VS都加入到當前負載 率較高的區域去分擔負載;退出模塊,用于在自身退出重疊網絡時,通知各VS對應的后繼節點所要轉入的負 載大小,判斷各后繼節點接收所述負載后的負載量是否會超過高負荷門限,如果超過,則將 所要退出的VS和后繼節點的負載轉入合適的L節點啟動的VS中;如果不會超過,則將所要 退出的VS的負載轉入后繼節點;聚合模塊,用于在負荷確定模塊確定自身為L節點后,如果查詢到所在物理設備 上所有VS的相鄰VS的物理節點存在L節點,,則將相鄰VS的物理節點為L節點的VS作為 退出節點,將所述相鄰VS作為其后繼節點,在退出節點的負載量不大于后繼節點當前所在 的L節點的剩余負載量時,將退出節點的負載轉入后繼節點。本發明提供了一種實現重疊網絡負載均衡的方法和物理節點,各物理節點檢測自 身負荷,確定自身為L節點或H節點,并得到相應的剩余負載量或超載量;L節點將自身為L 節點和剩余負載量通知鄰居物理節點;H節點在查詢到鄰居物理節點有L節點、且L節點的 剩余負載量不小于H節點的超載量時,將自身虛擬出的負載率最高的VS的負載全部或部分 遷移到所述L節點的VS上;如此,可以實現重疊網絡負載均衡,并且,既具有采用VS方法的 靈活性,又能適應真實的應用場景,同時也減少了維護VS的開銷。
圖1為本發明實施例實現一種重疊網絡負載均衡的方法的流程示意圖;圖2為本發明實施例實現物理節點加入重疊網絡的方法的流程示意圖;圖3為本發明實施例實現對相鄰、且分別在兩個L節點上的兩個VS進行聚合的方 法的流程示意圖;圖4為本發明實施例實現一種重疊網絡負載均衡的物理節點的結構示意圖。
具體實施例方式本技術方案的基本思想是各物理節點檢測自身負荷,確定自身為L節點或H節 點,并得到相應的剩余負載量或超載量;L節點將自身為L節點和剩余負載量通知鄰居物理 節點;H節點在查詢到鄰居物理節點有L節點、且L節點的剩余負載量不小于H節點的超載 量時,將自身虛擬出的負載率最高的VS的負載全部或部分遷移到所述L節點的VS上。下面通過附圖及具體實施例對本技術方案做進一步的詳細說明。本實施例實現一種重疊網絡負載均衡的方法,如圖1所示,該方法包括以下幾個 步驟步驟101 各物理節點檢測自身負荷,根據設定的低負荷門限和高負荷門限,確定 自身為L節點或H節點,并得到相應的剩余負載量或超載量;具體的,將每個物理節點根據負載能力大小虛擬成η個VS,每一個VS負責重疊 網絡上的不同地址空間,所述η取自然數,為了增大負載均勻的概率,可以將這η個地址空 間盡量散落在重疊網絡上的不連續區域內,預先對各物理節點設定低負荷門限和高負荷門 限,各物理節點不斷地檢測自身負荷,當自身的負載量小于低負荷門限時,標記自身為L節 點,并根據高負荷門限得到剩余負載量,將剩余負載量和自身為L節點通知鄰居的物理節 點;當自身的負載量大于高負荷門限時,標記自身為H節點,根據高負荷門限得到超載量, 并對鄰居的L節點通知的剩余負載量和自身為L節點進行記錄;例如,預先設定低負荷門限為巧‘和高負荷門限巧Λ ,物理節點i檢測自身的負載量 為Wi,若巧< W;,物理節點i標記自身為L節點,剩余負載量(RL)為-.RL = Wi'- W1,將自身為 L節點和RL通知鄰居的物理節點;若巧>Wth,物理節點i標記自身為H節點,超載量(OL) 為-.OL = W1-W,,并對鄰居的L節點通知的RL和自身為L節點進行記錄;其中,當物理節點 i上的負載量服從正態分布時,所述可以為物理節點i的額定負荷的50%,巧/1可以為物 理節點i的額定負荷的150% ;進一步的,在獲得超載量時,為了不讓物理節點很快再次進入高負荷狀態,需要設 定一個負載緩沖值r,則超載量OZ = W1-Wt-V0步驟102 :H節點獲取自身虛擬出的負載率最高的VS(VSj);具體的,H節點計算各VS的負載率,并比較得到一個負載率最大的VS,所述第i個 VS的負載率Pvsi參見式⑴
W,、Ksl=-J1 ⑴其中,Wvsi為第i個VS的負載量,Cli為第i個VS負責的地址空間長度;在對各個 VS的負載率進行比較后,得到負載率最大的VS為VSj ;步驟103 :H節點查詢記錄中的鄰居節點是否有L節點,如果有,則執行步驟104 ; 否則,執行步驟105;步驟104 :H節點判斷各個L節點的剩余負載量是否有不小于H節點自身的超載量 的,即是否有RL >= 0L,如果有,則執行步驟106 ;如果沒有,則執行步驟105 ;步驟105 :H節點在自身虛擬的所有VS中按順序選擇一個VS,在該VS當前所在物 理節點為L節點時,根據該L節點的RL,判斷是否有RL > = 0L,如果RL > = 0L,則執行步驟106 ;如果RL < 0L,則重新執行本步驟;以基于Chord環的P2P網絡為例,H節點在自身虛擬的所有VS的Finger表中按 順序選擇一個VS,向所述VS發送FindLoad消息,查詢所述VS當前所在物理節點是否為L 節點,在該VS當前所在物理節點為L節點時,計算是否有RL > = 0L,如果RL > = 0L,則執 行步驟106 ;如果RL < 0L,則重新執行本步驟;在該VS當前所在物理節點不為L節點時,也 重新執行本步驟;其中,如果所有物理節點均無法分擔H節點的0L,則遷移過程失敗。步驟106 將VSj的負載量(Wvsj)與RL進行比較,若RL > =Wvsj,則執行步驟107 ; 若RL < Wvsj,則執行步驟108 ;步驟107 =H節點通知該L節點啟動一個新的VS為VSn,將VSj的負載全部遷移到 VSn,也就是將VSj的節點ID賦給VSn,結束流程;步驟108 =H節點通知該L節點啟動一個新的VS為VSn,將VSj所負責的一段地址 空間的負載率最高的ID作為VSn的節點ID,VSj的該部分地址空間的負載遷移到VSn ;具體的,H節點通知該L節點啟動一個新的VS為VSn,根據H節點的VS資源散列 表獲得VSn的節點ID,即計算VS資源散列表中各ID對應的負載率,將對應負載率最高的 ID作為VSn的節點ID ;所述VS資源散列表設置在每個VS中,用于存放各ID對應的資源大 小,如表1所示。 表1其中,ν表示某個VS的節點ID,該VS的前驅節點(predecessor)的ID為vp。進一步的,當有物理節點加入重疊網絡時,上述方法還包括將加入的物理節點的 每一個VS都加入到當前負載率較高的區域去分擔負載,其中,為了盡量減少VS的增多所帶 來的路由開銷,保持一個VS大粒度的原則,本發明先只讓一個物理節點的1 2個VS加入, 所述1個和2個的選取由物理節點自身能力決定。具體的,在加入一個VS時,如圖2所示, 包括以下幾個步驟步驟201 新加入的VS在重疊網絡的地址空間內,隨機確定一個或多個VS的節點ID ;本步驟中,如果隨機確定 執行步驟202 ;下文以隨機確定
卜VS的節點ID,則直接作為新加入的VS的節點ID,不
個VS的節點ID進行說明,
步驟202 查找到這三個節點ID所對應的后繼節點,分別設為Ni、N2、N3,由Ni、 N2、N3的資源散列表獲得三個節點ID對應的負載率,分別為PID1、PID2、PID3,將對應最大 負載率的節點ID作為新加入的VS的節點ID ;其中,在假設PIDl為最大,PIDl對應的節點ID為ID1,則IDl就是加入的點,將 IDl作為所要加入的VS的節點ID。所述將IDl作為所要加入的VS的節點ID,具體為在基于Chord環的P2P網絡中, 將IDl賦給新加入的VS,作為其節點ID,執行Chord協議的join (IDl)函數,將新加入的VS 加入到Chord環中。進一步的,當有物理節點退出重疊網絡時,上述方法還包括退出的物理節點的各 VS通知其對應的后繼節點所要轉入的負載大小,判斷各后繼節點接收所述負載后的負載量 是否會超過高負荷門限,如果超過,則將所要退出的VS和后繼節點的負載轉入合適的L節 點啟動的新的VS中,所要退出的VS和后繼節點均退出;如果不會超過,則將所要退出的VS 的負載轉入后繼節點;其中,所述將所要退出的VS和后繼節點的負載轉入合適的L節點啟 動的新的VS中,具體為退出的物理節點將所要退出的VS的負載量和后繼節點的負載量的 總和作為超載量,查找剩余負載量不小于所述超載量的L節點,將所要退出的VS的負載和 其后繼節點的負載轉入該L節點啟動的新的VS中;隨著系統中VS的增多,會增大物理節點維護路由信息的開銷。為盡可能保持VS 的大粒度,減少利用不足的VS數量,上述方法進一步還包括對相鄰、且分別在兩個L節點 上的兩個VS進行聚合,如圖3所示,該方法包括以下幾個步驟步驟301 :L節點查詢所在物理設備上所有VS的相鄰VS的物理節點是否存在L節 點,如果存在,則執行步驟302,如果不存在,執行步驟304 ;步驟302 =L節點將相鄰VS的物理節點為L節點的VS作為退出節點,將所述相鄰 VS作為其后繼節點,所述L節點判斷退出節點的負載量是否不大于后繼節點當前所在的L 節點的剩余負載量,如果判斷為是,則執行步驟303,否則,執行步驟304 ;步驟303 將退出節點的負載轉入后繼節點,退出節點退出;所述將退出節點的負載轉入后繼節點,一般是,將退出節點的負載信息通過報文 轉入后繼節點;所述退出節點退出,一般是,退出節點下線。步驟304:結束流程。為了實現上述方法,本技術方案還提供了一種實現重疊網絡負載均衡的物理節點 的實施例,如圖4所示,該物理節點包括負荷確定模塊41、鄰居狀態模塊42、比較模塊43、 負載遷移模塊44、狀態通知模塊45、負載接收模塊46 ;其中,負荷確定模塊41,用于檢測自身負荷,根據設定的低負荷門限和高負荷門限,確定 自身為L節點或H節點,并得到相應的剩余負載量或超載量,在自身為H節點時,通知鄰居 狀態模塊42 ;在自身為L節點時,通知狀態通知模塊45 ;鄰居狀態模塊42,用于在查詢到鄰居物理節點有L節點時,通知比較模塊43 ;比較模塊43,用于在比較出自身的超載量不大于L節點的剩余負載量時,通知負 載遷移模塊44 ;負載遷移模塊44,用于將自身虛擬出的負載率最高的VS的負載全部或部分遷移 到所述L節點的VS上;
具體的,所述負載遷移模塊44將自身虛擬出的負載率最高的VS的負載量與所述 L節點的剩余負載量進行比較,若負載率最高的VS的負載量不大于所述L節點的剩余負載 量,則將負載率最高的VS的節點ID賦給所述L節點的負載接收模塊啟動的VS ;若負載率 最高的VS的負載量大于所述L節點的剩余負載量,則將負載率最高的VS所負責的一段地 址空間的負載率最高的ID賦給所述L節點的負載接收模塊46啟動的VS,具體過程參見步 驟 108 ;狀態通知模塊45,用于將自身為L節點和剩余負載量通知鄰居物理節點;負載接收模塊46,用于啟動一個新的VS,接收鄰居物理節點為H節點遷移的負 載;所述比較模塊43,進一步用于在比較出自身的超載量大于L節點的剩余負載量 時,在自身虛擬的所有VS中按順序選擇一個VS,在查詢到該VS當前所在物理節點為L節 點時,根據該L節點的剩余負載量,判斷是否不小于自身的超載量,若判斷結果為是,則通 知負載遷移模塊44 ;若判斷結果為否,則繼續選擇下一個VS進行判斷;其中,在選擇完所有 VS仍沒有符合條件的時侯,結束操作;進一步的,所述物理節點,進一步包括加入模塊47、和/或退出模塊48、和/或聚 合模塊49,其中,加入模塊47,用于在加入重疊網絡時,將自身虛擬出的每一個VS都加入到當前負 載率較高的區域去分擔負載;以加入一個VS為例,所述加入模塊47在重疊網絡的地址空間內,隨機確定一個或 多個VS的節點ID ;其中,如果隨機確定一個VS的節點ID,則直接作為新加入的VS的節點 ID ;下面以隨機確定三個VS的節點ID進行說明。所述加入模塊47查找到這三個節點ID所對應的后繼節點,分別設為Ni、N2、N3, 由N1、N2、N3的資源散列表獲得三個節點ID對應的負載率,分別為PID1、PID2、PID3,將對 應最大負載率的節點ID作為新加入的VS的節點ID ;退出模塊48,用于在自身退出重疊網絡時,通知各VS對應的后繼節點所要轉入的 負載大小,判斷各后繼節點接收所述負載后的負載量是否會超過高負荷門限,如果超過,則 將所要退出的VS和后繼節點的負載轉入合適的L節點啟動的新的VS中;如果不會超過,則 將所要退出的VS的負載轉入后繼節點;聚合模塊49,用于在負荷確定模塊確定自身為L節點后,如果查詢到所在物理設 備上所有VS的相鄰VS的物理節點存在L節點,則將相鄰VS的物理節點為L節點的VS作 為退出節點,將所述相鄰VS作為其后繼節點,判斷退出節點的負載量是否不大于后繼節點 當前所在的L節點的剩余負載量,如果判斷為是,則將退出節點的負載轉入后繼節點;如果 判斷為否,則結束操作。以上所述,僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍,凡在 本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護 范圍之內。
權利要求
一種實現重疊網絡負載均衡的方法,其特征在于,該方法包括各物理節點檢測自身負荷,確定自身為低負荷物理節點(L節點)或高負荷物理節點(H節點),并得到相應的剩余負載量或超載量;L節點將自身為L節點和剩余負載量通知鄰居物理節點;H節點在查詢到鄰居物理節點有L節點、且L節點的剩余負載量不小于H節點的超載量時,將自身負載率最高的虛擬服務器(VS)的負載全部或部分遷移到所述L節點的VS上。
2.根據權利要求1所述的方法,其特征在于,在各物理節點檢測自身負荷之前,該方法 進一步包括將每個物理節點根據負載能力大小虛擬成η個邏輯節點VS,每一個VS負責重 疊網絡上的不同地址空間。
3.根據權利要求1所述的方法,其特征在于,所述確定自身為L節點或H節點并得到相 應的剩余負載量或超載量,具體為預先對各物理節點設定低負荷門限和高負荷門限,各物 理節點檢測自身負荷,當自身的負載量小于低負荷門限時,標記自身為L節點,并根據高負 荷門限得到剩余負載量;當自身的負載量大于高負荷門限時,標記自身為H節點,根據高負 荷門限得到超載量。
4.根據權利要求3所述的方法,其特征在于,該方法進一步包括Η節點的超載量大于 L節點的剩余負載量時,所述H節點在虛擬的所有VS中選擇一個VS,在查詢到所述VS當前 所在物理節點為L節點時,根據所述L節點的剩余負載量,判斷是否不小于自身的超載量, 若判斷結果為是,則將自身負載率最高的VS的負載全部或部分遷移到L節點的VS上;若判 斷結果為否,則繼續選擇下一個VS進行判斷。
5.根據權利要求1所述的方法,其特征在于,所述將自身負載率最高的VS的負載全部 或部分遷移到L節點的VS上,具體為將自身虛擬出的負載率最高的VS的負載量與所述 L節點的剩余負載量進行比較,若負載率最高的VS的負載量不大于所述L節點的剩余負載 量,則將負載率最高的VS的節點ID賦給所述L節點啟動的新的VS ;若負載率最高的VS的 負載量大于所述L節點的剩余負載量,則將負載率最高的VS所負責的一段地址空間的負載 率最高的ID賦給所述L節點啟動的新的VS。
6.根據權利要求1至5任一項所述的方法,其特征在于,該方法進一步包括在物理節 點加入重疊網絡時,所述物理節點將自身虛擬出的每一個VS都加入到當前負載率較高的 區域去分擔負載;和/或,在物理節點退出重疊網絡時,所述物理節點通知自身各VS對應的后繼節點所 要轉入的負載大小,判斷各后繼節點接收所述負載后的負載量是否會超過高負荷門限,如 果超過,則將所要退出的VS和后繼節點的負載轉入合適的L節點啟動的VS中;如果不會超 過,則將所要退出的VS的負載轉入后繼節點;和/或,L節點查詢到所在物理設備上的所有VS的相鄰VS的物理節點存在L節點時, 將相鄰VS的物理節點為L節點的VS作為退出節點,將所述相鄰VS作為其后繼節點,在退 出節點的負載量不大于后繼節點當前所在的L節點的剩余負載量時,將退出節點的負載轉 入后繼節點。
7.一種實現重疊網絡負載均衡的物理節點,其特征在于,該物理節點包括負荷確定 模塊、查找模塊、比較模塊、負載遷移模塊、狀態通知模塊、負載接收模塊;其中,負荷確定模塊,用于檢測自身負荷,確定為L節點或H節點,并得到相應的剩余負載量或超載量,在自身為H節點時,通知鄰居狀態模塊;在自身為L節點時,通知狀態通知模塊; 鄰居狀態模塊,用于在查詢到鄰居物理節點有L節點時,通知比較模塊; 比較模塊,用于在比較出自身的超載量不大于L節點的剩余負載量時,通知負載遷移 模塊;負載遷移模塊,用于將自身虛擬出的負載率最高的VS的負載全部或部分遷移到所述L 節點的VS上;狀態通知模塊,用于將自身為L節點和剩余負載量通知鄰居物理節點; 負載接收模塊,用于啟動VS接收鄰居物理節點為H節點遷移的負載。
8.根據權利要求7所述的物理節點,其特征在于,所述比較模塊,進一步用于在比較出 自身的超載量大于L節點的剩余負載量時,在自身虛擬的所有VS中按順序選擇一個VS,在 查詢到所述VS當前所在物理節點為L節點時,根據所述L節點的剩余負載量,判斷是否不 小于自身的超載量,若判斷結果為是,則通知負載遷移模塊;若判斷結果為否,則繼續選擇 下一個VS進行判斷。
9.根據權利要求7或8所述的物理節點,其特征在于,所述物理節點,進一步包括加 入模塊、和/或退出模塊、和/或聚合模塊,其中,加入模塊,用于在加入重疊網絡時,將自身虛擬出的每一個VS都加入到當前負載率較 高的區域去分擔負載;退出模塊,用于在自身退出重疊網絡時,通知各VS對應的后繼節點所要轉入的負載大 小,判斷各后繼節點接收所述負載后的負載量是否會超過高負荷門限,如果超過,則將所要 退出的VS和后繼節點的負載轉入合適的L節點啟動的VS中;如果不會超過,則將所要退出 的VS的負載轉入后繼節點;聚合模塊,用于在負荷確定模塊確定自身為L節點后,如果查詢到所在物理設備上所 有VS的相鄰VS的物理節點存在L節點,,則將相鄰VS的物理節點為L節點的VS作為退出 節點,將所述相鄰VS作為其后繼節點,在退出節點的負載量不大于后繼節點當前所在的L 節點的剩余負載量時,將退出節點的負載轉入后繼節點。全文摘要
本發明公開了一種實現重疊網絡負載均衡的方法,各物理節點檢測自身負荷,確定自身為低負荷物理節點(L節點)或高負荷物理節點(H節點),并得到相應的剩余負載量或超載量;L節點將自身為L節點和剩余負載量通知鄰居物理節點;H節點在查詢到鄰居物理節點有L節點、且L節點的剩余負載量不小于H節點的超載量時,將自身虛擬出的負載率最高的VS的負載全部或部分遷移到所述L節點的VS上;本發明同時還公開了一種實現重疊網絡負載均衡的物理節點,通過本發明的方案,可以實現重疊網絡負載均衡,并且,既具有采用VS方法的靈活性,又能適應真實的應用場景,同時也減少了維護VS的開銷。
文檔編號H04L29/06GK101883113SQ20101021926
公開日2010年11月10日 申請日期2010年6月25日 優先權日2010年6月25日
發明者周旭, 張棪, 王治平, 聶曉文 申請人:中興通訊股份有限公司;中國科學院聲學研究所