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