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

一種實現重疊網絡負載均衡的方法和物理節(jié)點的制作方法

文檔序號:7753351閱讀:254來源:國知局
專利名稱:一種實現重疊網絡負載均衡的方法和物理節(jié)點的制作方法
技術領域
本發(fā)明涉及互聯網領域的重疊網絡構造技術,尤其涉及一種實現重疊網絡負載均 衡的方法和物理節(jié)點。
背景技術
隨著互聯網技術的不斷發(fā)展,新的需求和問題也不斷涌現。在保持底層的互聯網 不變的前提下,通過重疊網絡來提供所需的性能是網絡演進的一種方法。重疊網絡架構在 互聯網上層,以無縫持續(xù)演進的方式構建,形成一張多層的覆蓋網絡基礎設施,不但可以為 底層網絡運營商提供對網絡的分布式控制與管理支撐,為政府提供對網絡行為監(jiān)管和治理 的支撐,還可以通過對頂層應用提供的網絡服務接口和編程開發(fā)接口,支持包括對等(P2P, Peer to Peer)網絡在內的各種的全新應用服務。支持各種P2P應用是重疊網絡的最重要的一個用途,它通過節(jié)點提供網絡地址 轉換(NAT,Network Address Translation)穿透輔助、以及重疊網分布式哈希表(DHT, Distributed Hash Table)組網及其分布式資源索引功能,支持有組織的P2P重疊網,從而 為P2P應用的開發(fā)和運行提供了一套公共的基礎設施。也就是說,節(jié)點可以用DHT協議結 成重疊網,典型的如Chord協議,組成一個結構化的P2P網絡,從而提供一個面向整個互聯 網的全局的資源管理和服務提供平臺。在結構化的P2P網絡中,如基于Chord環(huán)的P2P網絡,通常采用一致的哈希函數將 資源標識符(ID)和節(jié)點ID映射到一個統一的空間,然后將資源存儲在與資源ID最接近的 后繼節(jié)點ID所屬的服務器節(jié)點上。根據對基于Chord環(huán)的P2P網絡的測試,需要至少數千 數量級的服務器節(jié)點,才能保證負荷的基本均衡。因此對于物理節(jié)點數遠低于上述數量級 的系統,需要采用特殊的負載均衡策略。在真實的P2P結構化網絡中,物理節(jié)點由于計算能 力、網絡帶寬、磁盤大小等情況而造成負載能力不盡相同,也就是物理節(jié)點的異構性問題。 如何能公平的分配物理節(jié)點負責的ID域,同時,更好的利用系統每一物理節(jié)點的資源,充 分發(fā)揮每一個物理節(jié)點的能力,從而使得每個物理節(jié)點的負載趨于一致,最終使得整個系 統達到負載均衡,這是一個在重疊網絡P2P應用中值得研究的問題。在現有的技術方案中,負載均衡大致可分為兩種方法,一種是采用虛擬服務器 (VS, Virtual server)的方案,這是一種兼顧物理節(jié)點異構性的地址空間均衡方案。但這 種方案是在假設到達系統的資源對象大小是相等的、且資源是均勻分布在系統的地址空間 上的這一前提下的,偏離了真實的資源對象分布場景,并且無法避免VS保持路由信息的額 外開銷。另一種方案是不使用VS,采用資源遷移的方案,這種方式能較好的反映真實資源分 布場景,但當資源頻繁的遷移時,將會帶來較大的帶寬消耗和索引維護開銷。

發(fā)明內容
有鑒于此,本發(fā)明的主要目的在于提供一種實現重疊網絡負載均衡的方法和物理 節(jié)點,實現重疊網絡負載均衡,并且,既具有采用VS方法的靈活性,又能適應真實的應用場景,同時也減少了維護VS的開銷。為達到上述目的,本發(fā)明的技術方案是這樣實現的本發(fā)明提供的一種實現重疊網絡負載均衡的方法,該方法包括各物理節(jié)點檢測自身負荷,確定自身為低負荷物理節(jié)點(L節(jié)點)或高負荷物理節(jié) 點(H節(jié)點),并得到相應的剩余負載量或超載量;L節(jié)點將自身為L節(jié)點和剩余負載量通知鄰居物理節(jié)點;H節(jié)點在查詢到鄰居物理節(jié)點有L節(jié)點、且L節(jié)點的剩余負載量不小于H節(jié)點的超 載量時,將自身負載率最高的VS的負載全部或部分遷移到所述L節(jié)點的VS上。上述方案中,在各物理節(jié)點檢測自身負荷之前,該方法進一步包括將每個物理節(jié) 點根據負載能力大小虛擬成η個邏輯節(jié)點VS,每一個VS負責重疊網絡上的不同地址空間。上述方案中,所述確定自身為L節(jié)點或H節(jié)點并得到相應的剩余負載量或超載量, 具體為預先對各物理節(jié)點設定低負荷門限和高負荷門限,各物理節(jié)點檢測自身負荷,當自 身的負載量小于低負荷門限時,標記自身為L節(jié)點,并根據高負荷門限得到剩余負載量;當 自身的負載量大于高負荷門限時,標記自身為H節(jié)點,根據高負荷門限得到超載量。上述方案中,該方法進一步包括H節(jié)點的超載量大于L節(jié)點的剩余負載量時,所 述H節(jié)點在虛擬的所有VS中選擇一個VS,在查詢到所述VS當前所在物理節(jié)點為L節(jié)點時, 根據所述L節(jié)點的剩余負載量,判斷是否不小于自身的超載量,若判斷結果為是,則將自身 負載率最高的VS的負載全部或部分遷移到L節(jié)點的VS上;若判斷結果為否,則繼續(xù)選擇下 一個VS進行判斷。上述方案中,所述將自身負載率最高的VS的負載全部或部分遷移到L節(jié)點的VS 上,具體為將自身虛擬出的負載率最高的VS的負載量與所述L節(jié)點的剩余負載量進行比 較,若負載率最高的VS的負載量不大于所述L節(jié)點的剩余負載量,則將負載率最高的VS的 節(jié)點ID賦給所述L節(jié)點啟動的新的VS ;若負載率最高的VS的負載量大于所述L節(jié)點的剩 余負載量,則將負載率最高的VS所負責的一段地址空間的負載率最高的ID賦給所述L節(jié) 點啟動的新的VS。上述方案中,該方法進一步包括在物理節(jié)點加入重疊網絡時,所述物理節(jié)點將自 身虛擬出的每一個VS都加入到當前負載率較高的區(qū)域去分擔負載;和/或,在物理節(jié)點退出重疊網絡時,所述物理節(jié)點通知自身各VS對應的后繼節(jié) 點所要轉入的負載大小,判斷各后繼節(jié)點接收所述負載后的負載量是否會超過高負荷門 限,如果超過,則將所要退出的VS和后繼節(jié)點的負載轉入合適的L節(jié)點啟動的VS中;如果 不會超過,則將所要退出的VS的負載轉入后繼節(jié)點;和/或,L節(jié)點查詢到所在物理設備上的所有VS的相鄰VS的物理節(jié)點存在L節(jié) 點時,將相鄰VS的物理節(jié)點為L節(jié)點的VS作為退出節(jié)點,將所述相鄰VS作為其后繼節(jié)點, 在退出節(jié)點的負載量不大于后繼節(jié)點當前所在的L節(jié)點的剩余負載量時,將退出節(jié)點的負 載轉入后繼節(jié)點。本發(fā)明提供的一種實現重疊網絡負載均衡的物理節(jié)點,該物理節(jié)點包括負荷確 定模塊、查找模塊、比較模塊、負載遷移模塊、狀態(tài)通知模塊、負載接收模塊;其中,負荷確定模塊,用于檢測自身負荷,確定為L節(jié)點或H節(jié)點,并得到相應的剩余負 載量或超載量,在自身為H節(jié)點時,通知鄰居狀態(tài)模塊;在自身為L節(jié)點時,通知狀態(tài)通知模塊;鄰居狀態(tài)模塊,用于在查詢到鄰居物理節(jié)點有L節(jié)點時,通知比較模塊;比較模塊,用于在比較出自身的超載量不大于L節(jié)點的剩余負載量時,通知負載 遷移模塊;負載遷移模塊,用于將自身虛擬出的負載率最高的VS的負載全部或部分遷移到 所述L節(jié)點的VS上;狀態(tài)通知模塊,用于將自身為L節(jié)點和剩余負載量通知鄰居物理節(jié)點;負載接收模塊,用于啟動VS接收鄰居物理節(jié)點為H節(jié)點遷移的負載。上述方案中,所述比較模塊,進一步用于在比較出自身的超載量大于L節(jié)點的剩 余負載量時,在自身虛擬的所有VS中按順序選擇一個VS,在查詢到所述VS當前所在物理節(jié) 點為L節(jié)點時,根據所述L節(jié)點的剩余負載量,判斷是否不小于自身的超載量,若判斷結果 為是,則通知負載遷移模塊;若判斷結果為否,則繼續(xù)選擇下一個VS進行判斷。上述方案中,所述物理節(jié)點,進一步包括加入模塊、和/或退出模塊、和/或聚合 模塊,其中,加入模塊,用于在加入重疊網絡時,將自身虛擬出的每一個VS都加入到當前負載 率較高的區(qū)域去分擔負載;退出模塊,用于在自身退出重疊網絡時,通知各VS對應的后繼節(jié)點所要轉入的負 載大小,判斷各后繼節(jié)點接收所述負載后的負載量是否會超過高負荷門限,如果超過,則將 所要退出的VS和后繼節(jié)點的負載轉入合適的L節(jié)點啟動的VS中;如果不會超過,則將所要 退出的VS的負載轉入后繼節(jié)點;聚合模塊,用于在負荷確定模塊確定自身為L節(jié)點后,如果查詢到所在物理設備 上所有VS的相鄰VS的物理節(jié)點存在L節(jié)點,,則將相鄰VS的物理節(jié)點為L節(jié)點的VS作為 退出節(jié)點,將所述相鄰VS作為其后繼節(jié)點,在退出節(jié)點的負載量不大于后繼節(jié)點當前所在 的L節(jié)點的剩余負載量時,將退出節(jié)點的負載轉入后繼節(jié)點。本發(fā)明提供了一種實現重疊網絡負載均衡的方法和物理節(jié)點,各物理節(jié)點檢測自 身負荷,確定自身為L節(jié)點或H節(jié)點,并得到相應的剩余負載量或超載量;L節(jié)點將自身為L 節(jié)點和剩余負載量通知鄰居物理節(jié)點;H節(jié)點在查詢到鄰居物理節(jié)點有L節(jié)點、且L節(jié)點的 剩余負載量不小于H節(jié)點的超載量時,將自身虛擬出的負載率最高的VS的負載全部或部分 遷移到所述L節(jié)點的VS上;如此,可以實現重疊網絡負載均衡,并且,既具有采用VS方法的 靈活性,又能適應真實的應用場景,同時也減少了維護VS的開銷。


圖1為本發(fā)明實施例實現一種重疊網絡負載均衡的方法的流程示意圖;圖2為本發(fā)明實施例實現物理節(jié)點加入重疊網絡的方法的流程示意圖;圖3為本發(fā)明實施例實現對相鄰、且分別在兩個L節(jié)點上的兩個VS進行聚合的方 法的流程示意圖;圖4為本發(fā)明實施例實現一種重疊網絡負載均衡的物理節(jié)點的結構示意圖。
具體實施例方式本技術方案的基本思想是各物理節(jié)點檢測自身負荷,確定自身為L節(jié)點或H節(jié) 點,并得到相應的剩余負載量或超載量;L節(jié)點將自身為L節(jié)點和剩余負載量通知鄰居物理 節(jié)點;H節(jié)點在查詢到鄰居物理節(jié)點有L節(jié)點、且L節(jié)點的剩余負載量不小于H節(jié)點的超載 量時,將自身虛擬出的負載率最高的VS的負載全部或部分遷移到所述L節(jié)點的VS上。下面通過附圖及具體實施例對本技術方案做進一步的詳細說明。本實施例實現一種重疊網絡負載均衡的方法,如圖1所示,該方法包括以下幾個 步驟步驟101 各物理節(jié)點檢測自身負荷,根據設定的低負荷門限和高負荷門限,確定 自身為L節(jié)點或H節(jié)點,并得到相應的剩余負載量或超載量;具體的,將每個物理節(jié)點根據負載能力大小虛擬成η個VS,每一個VS負責重疊 網絡上的不同地址空間,所述η取自然數,為了增大負載均勻的概率,可以將這η個地址空 間盡量散落在重疊網絡上的不連續(xù)區(qū)域內,預先對各物理節(jié)點設定低負荷門限和高負荷門 限,各物理節(jié)點不斷地檢測自身負荷,當自身的負載量小于低負荷門限時,標記自身為L節(jié) 點,并根據高負荷門限得到剩余負載量,將剩余負載量和自身為L節(jié)點通知鄰居的物理節(jié) 點;當自身的負載量大于高負荷門限時,標記自身為H節(jié)點,根據高負荷門限得到超載量, 并對鄰居的L節(jié)點通知的剩余負載量和自身為L節(jié)點進行記錄;例如,預先設定低負荷門限為巧‘和高負荷門限巧Λ ,物理節(jié)點i檢測自身的負載量 為Wi,若巧< W;,物理節(jié)點i標記自身為L節(jié)點,剩余負載量(RL)為-.RL = Wi'- W1,將自身為 L節(jié)點和RL通知鄰居的物理節(jié)點;若巧>Wth,物理節(jié)點i標記自身為H節(jié)點,超載量(OL) 為-.OL = W1-W,,并對鄰居的L節(jié)點通知的RL和自身為L節(jié)點進行記錄;其中,當物理節(jié)點 i上的負載量服從正態(tài)分布時,所述可以為物理節(jié)點i的額定負荷的50%,巧/1可以為物 理節(jié)點i的額定負荷的150% ;進一步的,在獲得超載量時,為了不讓物理節(jié)點很快再次進入高負荷狀態(tài),需要設 定一個負載緩沖值r,則超載量OZ = W1-Wt-V0步驟102 :H節(jié)點獲取自身虛擬出的負載率最高的VS(VSj);具體的,H節(jié)點計算各VS的負載率,并比較得到一個負載率最大的VS,所述第i個 VS的負載率Pvsi參見式⑴
W,、Ksl=-J1 ⑴其中,Wvsi為第i個VS的負載量,Cli為第i個VS負責的地址空間長度;在對各個 VS的負載率進行比較后,得到負載率最大的VS為VSj ;步驟103 :H節(jié)點查詢記錄中的鄰居節(jié)點是否有L節(jié)點,如果有,則執(zhí)行步驟104 ; 否則,執(zhí)行步驟105;步驟104 :H節(jié)點判斷各個L節(jié)點的剩余負載量是否有不小于H節(jié)點自身的超載量 的,即是否有RL >= 0L,如果有,則執(zhí)行步驟106 ;如果沒有,則執(zhí)行步驟105 ;步驟105 :H節(jié)點在自身虛擬的所有VS中按順序選擇一個VS,在該VS當前所在物 理節(jié)點為L節(jié)點時,根據該L節(jié)點的RL,判斷是否有RL > = 0L,如果RL > = 0L,則執(zhí)行步驟106 ;如果RL < 0L,則重新執(zhí)行本步驟;以基于Chord環(huán)的P2P網絡為例,H節(jié)點在自身虛擬的所有VS的Finger表中按 順序選擇一個VS,向所述VS發(fā)送FindLoad消息,查詢所述VS當前所在物理節(jié)點是否為L 節(jié)點,在該VS當前所在物理節(jié)點為L節(jié)點時,計算是否有RL > = 0L,如果RL > = 0L,則執(zhí) 行步驟106 ;如果RL < 0L,則重新執(zhí)行本步驟;在該VS當前所在物理節(jié)點不為L節(jié)點時,也 重新執(zhí)行本步驟;其中,如果所有物理節(jié)點均無法分擔H節(jié)點的0L,則遷移過程失敗。步驟106 將VSj的負載量(Wvsj)與RL進行比較,若RL > =Wvsj,則執(zhí)行步驟107 ; 若RL < Wvsj,則執(zhí)行步驟108 ;步驟107 =H節(jié)點通知該L節(jié)點啟動一個新的VS為VSn,將VSj的負載全部遷移到 VSn,也就是將VSj的節(jié)點ID賦給VSn,結束流程;步驟108 =H節(jié)點通知該L節(jié)點啟動一個新的VS為VSn,將VSj所負責的一段地址 空間的負載率最高的ID作為VSn的節(jié)點ID,VSj的該部分地址空間的負載遷移到VSn ;具體的,H節(jié)點通知該L節(jié)點啟動一個新的VS為VSn,根據H節(jié)點的VS資源散列 表獲得VSn的節(jié)點ID,即計算VS資源散列表中各ID對應的負載率,將對應負載率最高的 ID作為VSn的節(jié)點ID ;所述VS資源散列表設置在每個VS中,用于存放各ID對應的資源大 小,如表1所示。 表1其中,ν表示某個VS的節(jié)點ID,該VS的前驅節(jié)點(predecessor)的ID為vp。進一步的,當有物理節(jié)點加入重疊網絡時,上述方法還包括將加入的物理節(jié)點的 每一個VS都加入到當前負載率較高的區(qū)域去分擔負載,其中,為了盡量減少VS的增多所帶 來的路由開銷,保持一個VS大粒度的原則,本發(fā)明先只讓一個物理節(jié)點的1 2個VS加入, 所述1個和2個的選取由物理節(jié)點自身能力決定。具體的,在加入一個VS時,如圖2所示, 包括以下幾個步驟步驟201 新加入的VS在重疊網絡的地址空間內,隨機確定一個或多個VS的節(jié)點ID ;本步驟中,如果隨機確定 執(zhí)行步驟202 ;下文以隨機確定
卜VS的節(jié)點ID,則直接作為新加入的VS的節(jié)點ID,不
個VS的節(jié)點ID進行說明,
步驟202 查找到這三個節(jié)點ID所對應的后繼節(jié)點,分別設為Ni、N2、N3,由Ni、 N2、N3的資源散列表獲得三個節(jié)點ID對應的負載率,分別為PID1、PID2、PID3,將對應最大 負載率的節(jié)點ID作為新加入的VS的節(jié)點ID ;其中,在假設PIDl為最大,PIDl對應的節(jié)點ID為ID1,則IDl就是加入的點,將 IDl作為所要加入的VS的節(jié)點ID。所述將IDl作為所要加入的VS的節(jié)點ID,具體為在基于Chord環(huán)的P2P網絡中, 將IDl賦給新加入的VS,作為其節(jié)點ID,執(zhí)行Chord協議的join (IDl)函數,將新加入的VS 加入到Chord環(huán)中。進一步的,當有物理節(jié)點退出重疊網絡時,上述方法還包括退出的物理節(jié)點的各 VS通知其對應的后繼節(jié)點所要轉入的負載大小,判斷各后繼節(jié)點接收所述負載后的負載量 是否會超過高負荷門限,如果超過,則將所要退出的VS和后繼節(jié)點的負載轉入合適的L節(jié) 點啟動的新的VS中,所要退出的VS和后繼節(jié)點均退出;如果不會超過,則將所要退出的VS 的負載轉入后繼節(jié)點;其中,所述將所要退出的VS和后繼節(jié)點的負載轉入合適的L節(jié)點啟 動的新的VS中,具體為退出的物理節(jié)點將所要退出的VS的負載量和后繼節(jié)點的負載量的 總和作為超載量,查找剩余負載量不小于所述超載量的L節(jié)點,將所要退出的VS的負載和 其后繼節(jié)點的負載轉入該L節(jié)點啟動的新的VS中;隨著系統中VS的增多,會增大物理節(jié)點維護路由信息的開銷。為盡可能保持VS 的大粒度,減少利用不足的VS數量,上述方法進一步還包括對相鄰、且分別在兩個L節(jié)點 上的兩個VS進行聚合,如圖3所示,該方法包括以下幾個步驟步驟301 :L節(jié)點查詢所在物理設備上所有VS的相鄰VS的物理節(jié)點是否存在L節(jié) 點,如果存在,則執(zhí)行步驟302,如果不存在,執(zhí)行步驟304 ;步驟302 =L節(jié)點將相鄰VS的物理節(jié)點為L節(jié)點的VS作為退出節(jié)點,將所述相鄰 VS作為其后繼節(jié)點,所述L節(jié)點判斷退出節(jié)點的負載量是否不大于后繼節(jié)點當前所在的L 節(jié)點的剩余負載量,如果判斷為是,則執(zhí)行步驟303,否則,執(zhí)行步驟304 ;步驟303 將退出節(jié)點的負載轉入后繼節(jié)點,退出節(jié)點退出;所述將退出節(jié)點的負載轉入后繼節(jié)點,一般是,將退出節(jié)點的負載信息通過報文 轉入后繼節(jié)點;所述退出節(jié)點退出,一般是,退出節(jié)點下線。步驟304:結束流程。為了實現上述方法,本技術方案還提供了一種實現重疊網絡負載均衡的物理節(jié)點 的實施例,如圖4所示,該物理節(jié)點包括負荷確定模塊41、鄰居狀態(tài)模塊42、比較模塊43、 負載遷移模塊44、狀態(tài)通知模塊45、負載接收模塊46 ;其中,負荷確定模塊41,用于檢測自身負荷,根據設定的低負荷門限和高負荷門限,確定 自身為L節(jié)點或H節(jié)點,并得到相應的剩余負載量或超載量,在自身為H節(jié)點時,通知鄰居 狀態(tài)模塊42 ;在自身為L節(jié)點時,通知狀態(tài)通知模塊45 ;鄰居狀態(tài)模塊42,用于在查詢到鄰居物理節(jié)點有L節(jié)點時,通知比較模塊43 ;比較模塊43,用于在比較出自身的超載量不大于L節(jié)點的剩余負載量時,通知負 載遷移模塊44 ;負載遷移模塊44,用于將自身虛擬出的負載率最高的VS的負載全部或部分遷移 到所述L節(jié)點的VS上;
具體的,所述負載遷移模塊44將自身虛擬出的負載率最高的VS的負載量與所述 L節(jié)點的剩余負載量進行比較,若負載率最高的VS的負載量不大于所述L節(jié)點的剩余負載 量,則將負載率最高的VS的節(jié)點ID賦給所述L節(jié)點的負載接收模塊啟動的VS ;若負載率 最高的VS的負載量大于所述L節(jié)點的剩余負載量,則將負載率最高的VS所負責的一段地 址空間的負載率最高的ID賦給所述L節(jié)點的負載接收模塊46啟動的VS,具體過程參見步 驟 108 ;狀態(tài)通知模塊45,用于將自身為L節(jié)點和剩余負載量通知鄰居物理節(jié)點;負載接收模塊46,用于啟動一個新的VS,接收鄰居物理節(jié)點為H節(jié)點遷移的負 載;所述比較模塊43,進一步用于在比較出自身的超載量大于L節(jié)點的剩余負載量 時,在自身虛擬的所有VS中按順序選擇一個VS,在查詢到該VS當前所在物理節(jié)點為L節(jié) 點時,根據該L節(jié)點的剩余負載量,判斷是否不小于自身的超載量,若判斷結果為是,則通 知負載遷移模塊44 ;若判斷結果為否,則繼續(xù)選擇下一個VS進行判斷;其中,在選擇完所有 VS仍沒有符合條件的時侯,結束操作;進一步的,所述物理節(jié)點,進一步包括加入模塊47、和/或退出模塊48、和/或聚 合模塊49,其中,加入模塊47,用于在加入重疊網絡時,將自身虛擬出的每一個VS都加入到當前負 載率較高的區(qū)域去分擔負載;以加入一個VS為例,所述加入模塊47在重疊網絡的地址空間內,隨機確定一個或 多個VS的節(jié)點ID ;其中,如果隨機確定一個VS的節(jié)點ID,則直接作為新加入的VS的節(jié)點 ID ;下面以隨機確定三個VS的節(jié)點ID進行說明。所述加入模塊47查找到這三個節(jié)點ID所對應的后繼節(jié)點,分別設為Ni、N2、N3, 由N1、N2、N3的資源散列表獲得三個節(jié)點ID對應的負載率,分別為PID1、PID2、PID3,將對 應最大負載率的節(jié)點ID作為新加入的VS的節(jié)點ID ;退出模塊48,用于在自身退出重疊網絡時,通知各VS對應的后繼節(jié)點所要轉入的 負載大小,判斷各后繼節(jié)點接收所述負載后的負載量是否會超過高負荷門限,如果超過,則 將所要退出的VS和后繼節(jié)點的負載轉入合適的L節(jié)點啟動的新的VS中;如果不會超過,則 將所要退出的VS的負載轉入后繼節(jié)點;聚合模塊49,用于在負荷確定模塊確定自身為L節(jié)點后,如果查詢到所在物理設 備上所有VS的相鄰VS的物理節(jié)點存在L節(jié)點,則將相鄰VS的物理節(jié)點為L節(jié)點的VS作 為退出節(jié)點,將所述相鄰VS作為其后繼節(jié)點,判斷退出節(jié)點的負載量是否不大于后繼節(jié)點 當前所在的L節(jié)點的剩余負載量,如果判斷為是,則將退出節(jié)點的負載轉入后繼節(jié)點;如果 判斷為否,則結束操作。以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍,凡在 本發(fā)明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護 范圍之內。
權利要求
一種實現重疊網絡負載均衡的方法,其特征在于,該方法包括各物理節(jié)點檢測自身負荷,確定自身為低負荷物理節(jié)點(L節(jié)點)或高負荷物理節(jié)點(H節(jié)點),并得到相應的剩余負載量或超載量;L節(jié)點將自身為L節(jié)點和剩余負載量通知鄰居物理節(jié)點;H節(jié)點在查詢到鄰居物理節(jié)點有L節(jié)點、且L節(jié)點的剩余負載量不小于H節(jié)點的超載量時,將自身負載率最高的虛擬服務器(VS)的負載全部或部分遷移到所述L節(jié)點的VS上。
2.根據權利要求1所述的方法,其特征在于,在各物理節(jié)點檢測自身負荷之前,該方法 進一步包括將每個物理節(jié)點根據負載能力大小虛擬成η個邏輯節(jié)點VS,每一個VS負責重 疊網絡上的不同地址空間。
3.根據權利要求1所述的方法,其特征在于,所述確定自身為L節(jié)點或H節(jié)點并得到相 應的剩余負載量或超載量,具體為預先對各物理節(jié)點設定低負荷門限和高負荷門限,各物 理節(jié)點檢測自身負荷,當自身的負載量小于低負荷門限時,標記自身為L節(jié)點,并根據高負 荷門限得到剩余負載量;當自身的負載量大于高負荷門限時,標記自身為H節(jié)點,根據高負 荷門限得到超載量。
4.根據權利要求3所述的方法,其特征在于,該方法進一步包括Η節(jié)點的超載量大于 L節(jié)點的剩余負載量時,所述H節(jié)點在虛擬的所有VS中選擇一個VS,在查詢到所述VS當前 所在物理節(jié)點為L節(jié)點時,根據所述L節(jié)點的剩余負載量,判斷是否不小于自身的超載量, 若判斷結果為是,則將自身負載率最高的VS的負載全部或部分遷移到L節(jié)點的VS上;若判 斷結果為否,則繼續(xù)選擇下一個VS進行判斷。
5.根據權利要求1所述的方法,其特征在于,所述將自身負載率最高的VS的負載全部 或部分遷移到L節(jié)點的VS上,具體為將自身虛擬出的負載率最高的VS的負載量與所述 L節(jié)點的剩余負載量進行比較,若負載率最高的VS的負載量不大于所述L節(jié)點的剩余負載 量,則將負載率最高的VS的節(jié)點ID賦給所述L節(jié)點啟動的新的VS ;若負載率最高的VS的 負載量大于所述L節(jié)點的剩余負載量,則將負載率最高的VS所負責的一段地址空間的負載 率最高的ID賦給所述L節(jié)點啟動的新的VS。
6.根據權利要求1至5任一項所述的方法,其特征在于,該方法進一步包括在物理節(jié) 點加入重疊網絡時,所述物理節(jié)點將自身虛擬出的每一個VS都加入到當前負載率較高的 區(qū)域去分擔負載;和/或,在物理節(jié)點退出重疊網絡時,所述物理節(jié)點通知自身各VS對應的后繼節(jié)點所 要轉入的負載大小,判斷各后繼節(jié)點接收所述負載后的負載量是否會超過高負荷門限,如 果超過,則將所要退出的VS和后繼節(jié)點的負載轉入合適的L節(jié)點啟動的VS中;如果不會超 過,則將所要退出的VS的負載轉入后繼節(jié)點;和/或,L節(jié)點查詢到所在物理設備上的所有VS的相鄰VS的物理節(jié)點存在L節(jié)點時, 將相鄰VS的物理節(jié)點為L節(jié)點的VS作為退出節(jié)點,將所述相鄰VS作為其后繼節(jié)點,在退 出節(jié)點的負載量不大于后繼節(jié)點當前所在的L節(jié)點的剩余負載量時,將退出節(jié)點的負載轉 入后繼節(jié)點。
7.一種實現重疊網絡負載均衡的物理節(jié)點,其特征在于,該物理節(jié)點包括負荷確定 模塊、查找模塊、比較模塊、負載遷移模塊、狀態(tài)通知模塊、負載接收模塊;其中,負荷確定模塊,用于檢測自身負荷,確定為L節(jié)點或H節(jié)點,并得到相應的剩余負載量或超載量,在自身為H節(jié)點時,通知鄰居狀態(tài)模塊;在自身為L節(jié)點時,通知狀態(tài)通知模塊; 鄰居狀態(tài)模塊,用于在查詢到鄰居物理節(jié)點有L節(jié)點時,通知比較模塊; 比較模塊,用于在比較出自身的超載量不大于L節(jié)點的剩余負載量時,通知負載遷移 模塊;負載遷移模塊,用于將自身虛擬出的負載率最高的VS的負載全部或部分遷移到所述L 節(jié)點的VS上;狀態(tài)通知模塊,用于將自身為L節(jié)點和剩余負載量通知鄰居物理節(jié)點; 負載接收模塊,用于啟動VS接收鄰居物理節(jié)點為H節(jié)點遷移的負載。
8.根據權利要求7所述的物理節(jié)點,其特征在于,所述比較模塊,進一步用于在比較出 自身的超載量大于L節(jié)點的剩余負載量時,在自身虛擬的所有VS中按順序選擇一個VS,在 查詢到所述VS當前所在物理節(jié)點為L節(jié)點時,根據所述L節(jié)點的剩余負載量,判斷是否不 小于自身的超載量,若判斷結果為是,則通知負載遷移模塊;若判斷結果為否,則繼續(xù)選擇 下一個VS進行判斷。
9.根據權利要求7或8所述的物理節(jié)點,其特征在于,所述物理節(jié)點,進一步包括加 入模塊、和/或退出模塊、和/或聚合模塊,其中,加入模塊,用于在加入重疊網絡時,將自身虛擬出的每一個VS都加入到當前負載率較 高的區(qū)域去分擔負載;退出模塊,用于在自身退出重疊網絡時,通知各VS對應的后繼節(jié)點所要轉入的負載大 小,判斷各后繼節(jié)點接收所述負載后的負載量是否會超過高負荷門限,如果超過,則將所要 退出的VS和后繼節(jié)點的負載轉入合適的L節(jié)點啟動的VS中;如果不會超過,則將所要退出 的VS的負載轉入后繼節(jié)點;聚合模塊,用于在負荷確定模塊確定自身為L節(jié)點后,如果查詢到所在物理設備上所 有VS的相鄰VS的物理節(jié)點存在L節(jié)點,,則將相鄰VS的物理節(jié)點為L節(jié)點的VS作為退出 節(jié)點,將所述相鄰VS作為其后繼節(jié)點,在退出節(jié)點的負載量不大于后繼節(jié)點當前所在的L 節(jié)點的剩余負載量時,將退出節(jié)點的負載轉入后繼節(jié)點。全文摘要
本發(fā)明公開了一種實現重疊網絡負載均衡的方法,各物理節(jié)點檢測自身負荷,確定自身為低負荷物理節(jié)點(L節(jié)點)或高負荷物理節(jié)點(H節(jié)點),并得到相應的剩余負載量或超載量;L節(jié)點將自身為L節(jié)點和剩余負載量通知鄰居物理節(jié)點;H節(jié)點在查詢到鄰居物理節(jié)點有L節(jié)點、且L節(jié)點的剩余負載量不小于H節(jié)點的超載量時,將自身虛擬出的負載率最高的VS的負載全部或部分遷移到所述L節(jié)點的VS上;本發(fā)明同時還公開了一種實現重疊網絡負載均衡的物理節(jié)點,通過本發(fā)明的方案,可以實現重疊網絡負載均衡,并且,既具有采用VS方法的靈活性,又能適應真實的應用場景,同時也減少了維護VS的開銷。
文檔編號H04L29/06GK101883113SQ20101021926
公開日2010年11月10日 申請日期2010年6月25日 優(yōu)先權日2010年6月25日
發(fā)明者周旭, 張棪, 王治平, 聶曉文 申請人:中興通訊股份有限公司;中國科學院聲學研究所
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1