專利名稱:調(diào)度服務(wù)器的主備實(shí)現(xiàn)方法及調(diào)度服務(wù)器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù),尤其涉及調(diào)度服務(wù)器的主備實(shí)現(xiàn)技術(shù)及提供調(diào)度 服務(wù)技術(shù)。
技術(shù)背景傳統(tǒng)的客戶端/服務(wù)器(C/S, client/server)架構(gòu)如圖1所示,每個客戶端 (client)都直接從應(yīng)用服務(wù)器獲得數(shù)據(jù)。但是,對于下載、視頻點(diǎn)播、直播等應(yīng)用,應(yīng)用服務(wù)器需要向客戶端傳 輸大量的數(shù)據(jù)。為了減輕傳輸大量數(shù)據(jù)給應(yīng)用服務(wù)器和承載網(wǎng)絡(luò)帶來的負(fù)擔(dān), 本領(lǐng)域技術(shù)人員發(fā)展了點(diǎn)對點(diǎn)(P2P, Peer To Peer)技術(shù)。如圖2所示,在 P2P技術(shù)中,客戶端不僅可以從應(yīng)用服務(wù)器獲得數(shù)據(jù),當(dāng)其他客戶端獲得同樣 的數(shù)據(jù)后,所述客戶端還可以從所述其他客戶端獲得數(shù)據(jù),這樣就可以減輕 應(yīng)用服務(wù)器和承載網(wǎng)絡(luò)的壓力。采用P2P技術(shù)需要在客戶端之間建立P2P拓樸關(guān)系,即,建立客戶端之 間的數(shù)據(jù)傳輸關(guān)系。 一般來說,P2P的拓樸管理可以分為集中式拓樸管理和分 布式拓樸管理。對于集中式拓樸管理,由調(diào)度服務(wù)器指定客戶端之間的數(shù)據(jù) 傳輸關(guān)系;對于分布式拓樸管理,由調(diào)度服務(wù)器為某個客戶端提供一組候選 客戶端,由所述客戶端與客戶端協(xié)商建立數(shù)據(jù)傳輸關(guān)系。在集中式拓樸管理技術(shù)中,調(diào)度服務(wù)器需要保存客戶端之間的數(shù)據(jù)傳輸 關(guān)系,可以說,調(diào)度服務(wù)器在集中式拓樸管理技術(shù)中起著極其重要的作用, 如果調(diào)度服務(wù)器發(fā)生故障,就會使客戶端無法加入P2P拓樸關(guān)系中,已加入 P2P拓樸關(guān)系中的客戶端也無法在需要時調(diào)整拓樸關(guān)系。為避免調(diào)度服務(wù)器由 于發(fā)生故障等原因?qū)е碌呢?fù)面后果,調(diào)度服務(wù)器需要采用冗余備份機(jī)制,即, 部署兩臺或兩臺以上的調(diào)度服務(wù)器,當(dāng)其中一臺調(diào)度服務(wù)器失效時,其它調(diào) 度服務(wù)器還可以繼續(xù)為客戶端提供服務(wù)。傳統(tǒng)的冗余備份機(jī)制包括如下3種實(shí)現(xiàn)方式l.共享存儲的冗余備份在這種實(shí)現(xiàn)方式中,P2P拓樸關(guān)系數(shù)據(jù)保存到一個永久存儲裝置中,當(dāng)有需要時,每個調(diào)度服務(wù)器都可以從該永久存儲裝置獲得P2P拓樸關(guān)系數(shù)據(jù)。例如,當(dāng)主調(diào)度服務(wù)器失效時,其他調(diào)度服務(wù)器可以從該永久存儲裝置獲得P2P拓樸關(guān)系數(shù)據(jù),作為主調(diào)度服務(wù)器,繼續(xù)在原有的P2P拓樸關(guān)系基礎(chǔ)上 維護(hù)P2P拓樸關(guān)系。雖然上述實(shí)現(xiàn)方式可以實(shí)現(xiàn)調(diào)度服務(wù)器的主備切換,但發(fā)明人經(jīng)過仔細(xì) 分析后發(fā)現(xiàn)訪問永久存儲裝置要比訪問內(nèi)存的性能低很多;另外,P2P拓樸 關(guān)系的每次變化都要寫入永久存儲裝置中,這將嚴(yán)重影響調(diào)度服務(wù)器的性能; 此外,使用永久存儲裝置會增加成本,并且永久存儲裝置本身也存在失效的 風(fēng)險。2. 實(shí)時完全同步的冗余備份在這種實(shí)現(xiàn)方式中,主調(diào)度服務(wù)器實(shí)時將P2P拓樸關(guān)系數(shù)據(jù)傳輸?shù)剿?的備調(diào)度服務(wù)器保存,當(dāng)主備切換后,備調(diào)度服務(wù)器根據(jù)實(shí)時同步得到的數(shù) 據(jù),在原有的P2P拓樸關(guān)系基礎(chǔ)上維護(hù)P2P拓樸關(guān)系。雖然上述實(shí)現(xiàn)方式也能夠?qū)崿F(xiàn)調(diào)度服務(wù)器的主備切換,但發(fā)明人經(jīng)過仔 細(xì)分析后發(fā)現(xiàn)由于P2P拓樸關(guān)系數(shù)據(jù)量很大,所以網(wǎng)絡(luò)傳輸開銷也會很大, 以支持10萬在線客戶端、每個客戶端使用IO字節(jié)為例,為傳輸P2P拓樸關(guān) 系數(shù)據(jù),就得需要1M字節(jié)的傳輸空間;另外,為了保證P2P拓樸關(guān)系數(shù)據(jù) 的一致性,在同步過程中,主調(diào)度服務(wù)器不能修改拓樸,必須等待同步完成 后,才可以繼續(xù)為客戶端提供調(diào)度功能,這樣就嚴(yán)重影響了調(diào)度服務(wù)器的性 能。3. 實(shí)時增量同步的冗余備份在這種實(shí)現(xiàn)方式中,主調(diào)度服務(wù)器在每次修改P2P拓樸關(guān)系時,只將P2P 拓樸關(guān)系數(shù)據(jù)中修改的部分發(fā)給備調(diào)度服務(wù)器。雖然上述實(shí)現(xiàn)方式仍然能夠?qū)崿F(xiàn)調(diào)度服務(wù)器的主備切換,但發(fā)明人經(jīng)過 仔細(xì)分析后發(fā)現(xiàn)這種方式實(shí)現(xiàn)起來非常復(fù)雜,會增加軟件出錯的概率,由 于P2P拓樸關(guān)系數(shù)據(jù)是相互關(guān)聯(lián)的, 一個地方出錯,就可能造成整個P2P拓 樸關(guān)系不可用;其次,某些情況下,P2P拓樸關(guān)系數(shù)據(jù)還是需要完全同步的, 例如,在備調(diào)度服務(wù)器發(fā)生故障的情況下,主調(diào)度服務(wù)器需要等備調(diào)度服務(wù) 器恢復(fù)后, 一次性的將P2P拓樸關(guān)系數(shù)據(jù)同步到備調(diào)度服務(wù)器;有時,主調(diào) 度服務(wù)器也可以將所有修改的數(shù)據(jù)保存下來,待備調(diào)度服務(wù)器恢復(fù)后,再將所有修改的數(shù)據(jù)同步到備調(diào)度服務(wù)器,但如果備調(diào)度服務(wù)器恢復(fù)時間過長, 那么累積的修改的數(shù)據(jù)可能會超過一次性同步的數(shù)據(jù)量,甚至超過主調(diào)度服 務(wù)器所能使用的最大空間。由此可見,上述幾種冗余備份機(jī)制都存在性能、成本或可靠性方面的缺陷。發(fā)明內(nèi)容本發(fā)明實(shí)施例要解決的技術(shù)問題在于提供一種調(diào)度服務(wù)器的主備實(shí)現(xiàn)方 法、備調(diào)度服務(wù)器、調(diào)度服務(wù)器系統(tǒng)、提供調(diào)度服務(wù)的方法及調(diào)度服務(wù)器, 用以在達(dá)到調(diào)度服務(wù)器冗余備份目的的同時,解決上述幾種冗余備份機(jī)制存 在的缺陷。為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供一種調(diào)度服務(wù)器的主備實(shí)現(xiàn)方法,包括確定主調(diào)度服務(wù)器是否能為客戶端提供調(diào)度服務(wù);如果主調(diào)度服 務(wù)器不能為客戶端提供調(diào)度服務(wù),則在無須獲得主調(diào)度服務(wù)器維護(hù)的P2P拓 樸關(guān)系數(shù)據(jù)的條件下,備調(diào)度服務(wù)器使用新的P2P拓樸關(guān)系為客戶端提供調(diào) 度服務(wù)。本發(fā)明實(shí)施例還提供一種備調(diào)度服務(wù)器,包括第一檢測單元,用于檢 測主調(diào)度服務(wù)器是否能為客戶端提供調(diào)度服務(wù);調(diào)度服務(wù)提供單元,用于如 果第一檢測單元確定出主調(diào)度服務(wù)器不能為客戶端提供調(diào)度服務(wù),則在無須 獲得主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系數(shù)據(jù)的條件下,使用新的P2P拓樸關(guān) 系為客戶端提供調(diào)度服務(wù)。本發(fā)明實(shí)施例還提供一種調(diào)度服務(wù)器系統(tǒng),包括主調(diào)度服務(wù)器,用于 為客戶端提供調(diào)度服務(wù);至少一個備調(diào)度服務(wù)器,當(dāng)所述主調(diào)度服務(wù)器不能 為客戶端提供調(diào)度服務(wù)時,其中的一個備調(diào)度服務(wù)器在無須獲得主調(diào)度服務(wù) 器維護(hù)的P2P拓樸關(guān)系數(shù)據(jù)的條件下,使用新的P2P拓樸關(guān)系為客戶端提供 調(diào)度服務(wù)。本發(fā)明實(shí)施例還提供一種調(diào)度服務(wù)器提供調(diào)度服務(wù)的方法,包括在重 新工作時,確定是否能夠獲得原來維護(hù)的P2P拓樸關(guān)系數(shù)據(jù);如果不是,則 使用新的P2P拓樸關(guān)系為客戶端提供調(diào)度服務(wù)。本發(fā)明實(shí)施例還提供一種調(diào)度服務(wù)器,包括確定單元,在重新工作時, 用于確定是否能夠獲得原來維護(hù)的P2P拓樸關(guān)系數(shù)據(jù);調(diào)度服務(wù)提供單元,用于在所述確定單元確定不能獲得原來維護(hù)的P2P拓樸關(guān)系數(shù)據(jù)后,使用新 的P2P拓樸關(guān)系為客戶端提供調(diào)度服務(wù)。本發(fā)明實(shí)施例還提供一種調(diào)度服務(wù)器提供調(diào)度服務(wù)的方法,包括與客 戶端進(jìn)行消息交互;如果所述客戶端需要加入所述調(diào)度服務(wù)器當(dāng)前維護(hù)的P2P 拓樸關(guān)系中,則將所述調(diào)度服務(wù)器用于識別所述客戶端的信息提供給所述客 戶端。本發(fā)明實(shí)施例還提供一種調(diào)度服務(wù)器,包括消息交互單元,用于與客 戶端進(jìn)行消息交互;信息提供單元,用于如果所述客戶端需要加入所述調(diào)度 服務(wù)器當(dāng)前維護(hù)的P2P拓樸關(guān)系中,則將所述調(diào)度服務(wù)器用于識別所述客戶 端的信息提供給所述客戶端。在本發(fā)明的調(diào)度服務(wù)器的主備實(shí)現(xiàn)實(shí)施例中,如果主備調(diào)度服務(wù)器發(fā)生 切換,則備調(diào)用服務(wù)器無須獲得主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系數(shù)據(jù),當(dāng) 然,備調(diào)用服務(wù)器也無須存儲主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系數(shù)據(jù)。這樣, 雖然備調(diào)用服務(wù)器不能對主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系進(jìn)行維護(hù),但仍 然可以保證P2P拓樸關(guān)系中的上下級節(jié)點(diǎn)正常傳輸數(shù)據(jù),當(dāng)其中的一個節(jié)點(diǎn) 需要加入備調(diào)用服務(wù)器維護(hù)的P2P拓樸關(guān)系時,只需將這個節(jié)點(diǎn)加入備調(diào)用 服務(wù)器維護(hù)的P2P拓樸關(guān)系中即可。所以,本發(fā)明的實(shí)施例無需備調(diào)度服務(wù) 器具有存儲P2P拓樸關(guān)系數(shù)據(jù)的存儲裝置,節(jié)省了成本;本發(fā)明的實(shí)施例也 無需主調(diào)度服務(wù)器向備調(diào)度服務(wù)器同步P2P拓樸關(guān)系數(shù)據(jù),從而提高了點(diǎn)對 點(diǎn)數(shù)據(jù)傳輸?shù)目煽啃?。在本發(fā)明的調(diào)度服務(wù)器提供調(diào)度服務(wù)的一個實(shí)施例中,如果調(diào)度服務(wù)器 重新工作,即使不能獲得原來維護(hù)的P2P拓樸關(guān)系數(shù)據(jù),但仍然可以使用新 的P2P拓樸關(guān)系為客戶端提供調(diào)度服務(wù),從而解決了一旦調(diào)度服務(wù)器不能獲 得原來維護(hù)的P2P拓樸關(guān)系數(shù)據(jù)就不能提供調(diào)度服務(wù)的問題。在本發(fā)明的調(diào)度服務(wù)器提供調(diào)度服務(wù)的另 一個實(shí)施例中,只要客戶端需 要加入所述調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系中時,就將調(diào)度服務(wù)器用于識別 所述客戶端的信息提供給所述客戶端,這樣就能保證調(diào)度服務(wù)器為客戶端提 供調(diào)度服務(wù)時,能確定客戶端是否已在其維護(hù)的P2P拓樸關(guān)系中,從而提供 相應(yīng)的調(diào)度服務(wù)。
圖1為現(xiàn)有的客戶端/服務(wù)器架構(gòu)示意圖; 圖2為現(xiàn)有的P2P凄t據(jù)傳輸示意圖; 圖3為本發(fā)明實(shí)施例的調(diào)度服務(wù)器的主備實(shí)現(xiàn)方法流程圖; 圖4為本發(fā)明實(shí)施例的調(diào)度服務(wù)系統(tǒng)的結(jié)構(gòu)示意圖; 圖5為本發(fā)明實(shí)施例的P2P終端加入P2P拓樸關(guān)系時的處理流程圖。
具體實(shí)施方式
示,所述方法包括步驟S301:確定主調(diào)度服務(wù)器是否能為客戶端提供調(diào)度 服務(wù);步驟S302:如果主調(diào)度服務(wù)器不能為客戶端提供調(diào)度服務(wù),則在無須 獲得主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系數(shù)據(jù)的條件下,備調(diào)度服務(wù)器使用新 的P2P拓樸關(guān)系為客戶端提供調(diào)度服務(wù)。新的P2P拓樸關(guān)系是相對于主調(diào)度 服務(wù)器維護(hù)的P2P拓樸關(guān)系來說的,備調(diào)度服務(wù)器使用的新的P2P拓樸關(guān)系 實(shí)質(zhì)可以指備調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系。當(dāng)備調(diào)度服務(wù)器開始工作但 還沒有與任何客戶端進(jìn)行消息交互時,其維護(hù)的P2P拓樸關(guān)系中只有內(nèi)容服 務(wù)器,隨著更多的客戶端加入到備調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系時,P2P 拓樸關(guān)系中的節(jié)點(diǎn)才增多。備調(diào)度服務(wù)器確定主調(diào)度服務(wù)器是否能為客戶端提供調(diào)度服務(wù)可以由多 種方式實(shí)現(xiàn)。例如,可以檢測主調(diào)度服務(wù)器是否發(fā)生故障或者是否過載,如 果是,則確定主調(diào)度服務(wù)器不能為客戶端提供調(diào)度服務(wù)。再例如,可以判斷 是否收到主調(diào)度服務(wù)器或其他網(wǎng)絡(luò)實(shí)體發(fā)出的主調(diào)度服務(wù)器發(fā)生故障或者是 否過載的消息,如果是,則確定主調(diào)度服務(wù)器不能為客戶端提供調(diào)度服務(wù)。備調(diào)度服務(wù)器使用新的P2P拓樸關(guān)系為客戶端提供調(diào)度服務(wù)可以由多種 方式實(shí)現(xiàn)。例如,如果客戶端需要加入新的P2P拓樸關(guān)系中,則將所述客戶 端加入到新的P2P拓樸關(guān)系中。新的主調(diào)度服務(wù)器確定客戶端需要加入新的P2P拓樸關(guān)系中之前,需要 確定客戶端是否需要加入新的P2P拓樸關(guān)系中,具體可以有多種方式實(shí)現(xiàn)。 例如,獲得客戶端上報的信息,根據(jù)所述信息確定客戶端是否需要加入新的 P2P拓樸關(guān)系。具體的,新的主調(diào)度服務(wù)器可以首先確定所述客戶端是否在新 的P2P拓樸關(guān)系中,如果不是,則確定所述客戶端是否需要加入新的P2P拓 樸關(guān)系中。確定所述客戶端是否在新的P2P拓樸關(guān)系中也可以由多種方式實(shí)現(xiàn)。例如,新的主調(diào)度服務(wù)器判斷所述客戶端上報的用于標(biāo)識新的P2P拓樸關(guān)系的P2P拓樸版本信息和/或用于標(biāo)識客戶端的客戶端信息是否與當(dāng)前的 P2P拓樸版本信息和/或分配給所述客戶端的客戶端信息一致,如果是,則確 定所述客戶端在新的P2P拓樸關(guān)系中,否則,確定所述客戶端不在新的P2P 拓樸關(guān)系中。再例如,新的主調(diào)度服務(wù)器向與其進(jìn)行消息交互的客戶端提供 用于標(biāo)識新的P2P拓樸關(guān)系的P2P拓樸版本信息和/或用于標(biāo)識客戶端的客戶 端信息,由所述客戶端檢查其自身是否在新的P2P拓樸關(guān)系中;如果獲得所 述客戶端上報的所述客戶端在新的P2P拓樸關(guān)系中的信息,則確定所述客戶 端在新的P2P拓樸關(guān)系中;如果獲得所述客戶端上"^艮的所述客戶端不在新的 P2P拓樸關(guān)系中的信息,則確定所述客戶端不在新的P2P拓樸關(guān)系中??蛻舳松蠄蟮男畔⒖梢园ㄐ枰尤隤2P拓樸關(guān)系的信息、上級節(jié)點(diǎn)發(fā) 生異常的信息、更換上級節(jié)點(diǎn)的請求信息或自身信息等信息。自身信息例如 是自身的負(fù)荷信息、自身是否在P2P拓樸關(guān)系中的信息或自身在哪個P2P拓 樸關(guān)系中的信息。下面舉例說明。假設(shè)原主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系 中的客戶端上報了其仍然在原主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系中、但自身 的負(fù)荷較重的信息,那么新的主調(diào)度服務(wù)器就可以根據(jù)其上報的信息,確定 應(yīng)該將所述客戶端加入新的P2P拓樸關(guān)系中,以減少所述客戶端的自身負(fù)荷, 當(dāng)然,由于新的主調(diào)度服務(wù)器之前并沒有獲得原主調(diào)度服務(wù)器維護(hù)的P2P拓 樸關(guān)系的數(shù)據(jù),所以新的主調(diào)度服務(wù)器會將所述客戶端當(dāng)作一個新的客戶端 來處理??蛻舳松蠄蟮男畔⒁部梢园ㄓ糜跇?biāo)識新的P2P拓樸關(guān)系的P2P拓樸版 本信息和/或用于標(biāo)識客戶端的客戶端信息,P2P拓樸版本信息可以是一個標(biāo) 識,稱為P2P拓樸版本號,客戶端信息也可以是一個標(biāo)識,稱為客戶端標(biāo)識。 在所有的調(diào)度服務(wù)器中,新的主調(diào)度服務(wù)器可以利用P2P拓樸版本信息和/或 客戶端信息識別客戶端。這種情況下,如果客戶端上報了 P2P拓樸版本信息 和/或客戶端信息,則新的主調(diào)度服務(wù)器就可以根據(jù)P2P拓樸版本信息和/或客 戶端信息,判斷客戶端是否在新的P2P拓樸關(guān)系中,如果不是,再確定所述 客戶端是否需要加入新的P2P拓樸關(guān)系中。新的主調(diào)度服務(wù)器確定客戶端需要加入新的P2P拓樸關(guān)系中后,可以為 客戶端指定上級節(jié)點(diǎn)。這樣,客戶端就可以從上級節(jié)點(diǎn)獲得P2P數(shù)據(jù)。為客戶端指定上級節(jié)點(diǎn)的同時或之后,還可以將用于標(biāo)識新的主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系的P2P拓樸版本信息和/或用于標(biāo)識客戶端的客戶端 信息提供給客戶端。需要說明的是,P2P拓樸版本信息和客戶端信息可以整合 為一種信息,即,將P2P拓樸版本信息和客戶端信息提供給客戶端時,只需 提供一種信息即可,這種信息既包括P2P拓樸版本信息的內(nèi)容,又包括客戶 端信息的內(nèi)容。將客戶端加入新的P2P拓樸關(guān)系中之后,每次與客戶端交互 時,交互的消息都可以攜帶P2P拓樸版本信息和/或客戶端信息。需要說明的 是,客戶端信息也可以由客戶端上報,而無須新的主調(diào)度服務(wù)器提供客戶端 信息。例如,如果客戶端需要加入新的P2P拓樸關(guān)系中,則可以記錄客戶端 自己產(chǎn)生并上報的用于標(biāo)識客戶端的客戶端信息。另外,如果客戶端需要加入新的P2P拓樸關(guān)系中,則可以記錄客戶端的 信息。這里的客戶端的信息不局限于用于標(biāo)識客戶端的客戶端信息,也可以 是指其他類型的與客戶端相關(guān)的信息。備調(diào)度服務(wù)器使用新的P2P拓樸關(guān)系為客戶端提供調(diào)度服務(wù)的另一種實(shí) 現(xiàn)方式為,如果原主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系中的客戶端不需要加入 新的P2P拓樸關(guān)系中,則原主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系中的客戶端仍 然在原主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系中獲得P2P數(shù)據(jù)。確定原主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系中的客戶端不需要加入新的 P2P拓樸關(guān)系中之前,需要確定原主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系中的客 戶端是否需要加入新的P2P拓樸關(guān)系中,具體可以由多種方式實(shí)現(xiàn)。其中的 一種方式為,獲得原主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系中的客戶端上報的信 息;根據(jù)所述信息確定所述原主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系中的客戶端 是否需要加入新的P2P拓樸關(guān)系中。備調(diào)度服務(wù)器使用新的P2P拓樸關(guān)系為 客戶端提供調(diào)度服務(wù)的另一種實(shí)現(xiàn)方式為,如果需要將原來處于一個P2P拓 樸關(guān)系中的客戶端加入新的P2P拓樸關(guān)系中,則可以指示客戶端在指定的時 間到達(dá)后再退出原來的P2P拓樸關(guān)系。例如,可以指示客戶端在30秒之后再 退出原來的P2P拓樸關(guān)系,當(dāng)30秒過后,客戶端退出原來的P2P拓樸關(guān)系, 加入新的主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系。上述方法可以由多種形式的裝置實(shí)現(xiàn),其中的一種備調(diào)度服務(wù)器,包括 第一檢測單元,用于檢測主調(diào)度服務(wù)器是否能為客戶端提供調(diào)度服務(wù);調(diào)度服務(wù)提供單元,用于如果第一檢測單元確定出主調(diào)度服務(wù)器不能為客戶端提 供調(diào)度服務(wù),則在無須獲得主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系數(shù)據(jù)的條件下,使用新的P2P拓樸關(guān)系為客戶端提供調(diào)度服務(wù)。調(diào)度服務(wù)提供單元包括第二檢測單元,用于檢測客戶端是否需要加入 新的P2P拓樸關(guān)系中;P2P拓樸關(guān)系處理單元,用于如果第二^r測單元^r測 出客戶端需要加入新的P2P拓樸關(guān)系中,則將客戶端加入新的P2P拓樸關(guān)系 中。第二^r測單元可以包括信息獲得單元,用于獲得客戶端上報的信息; 確定單元,用于根據(jù)所述信息確定客戶端是否需要加入新的P2P拓樸關(guān)系。備調(diào)度服務(wù)器還可以包括信息記錄單元,用于如果第二檢測單元檢測 出客戶端需要加入新的P2P拓樸關(guān)系中,則記錄客戶端的信息。除提供上述方法和備調(diào)度服務(wù)器外,本發(fā)明還提供一種調(diào)度服務(wù)器系統(tǒng), 包括主調(diào)度服務(wù)器,用于為客戶端提供調(diào)度服務(wù);至少一個備調(diào)度服務(wù)器, 當(dāng)所述主調(diào)度服務(wù)器不能為客戶端提供調(diào)度服務(wù)時,其中的一個備調(diào)度服務(wù) 器在無須獲得主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系數(shù)據(jù)的條件下,使用新的P2P 拓樸關(guān)系為客戶端提供調(diào)度服務(wù)。調(diào)度服務(wù)器系統(tǒng)還可以包括消息轉(zhuǎn)發(fā)裝置,用于轉(zhuǎn)發(fā)客戶端與能夠?yàn)榭?戶端提供調(diào)度服務(wù)的調(diào)度服務(wù)器之間的消息,其中,當(dāng)所述主調(diào)度服務(wù)器不 能為客戶端提供調(diào)度服務(wù)、其中的一個備調(diào)度服務(wù)器為客戶端提供調(diào)度服務(wù) 時,所述消息轉(zhuǎn)發(fā)裝置轉(zhuǎn)發(fā)所述為客戶端提供調(diào)度服務(wù)的備調(diào)度服務(wù)器與客 戶端之間的消息。消息轉(zhuǎn)發(fā)裝置可以是交換機(jī)等設(shè)備,也可以是獨(dú)立于交換 機(jī)的獨(dú)立設(shè)備。需要說明的是,上面提到的備調(diào)度服務(wù)器可以不僅僅是指主調(diào)度服務(wù)器 的備用調(diào)度服務(wù)器,其還可以是指正在維護(hù)其他P2P拓樸關(guān)系的調(diào)度服務(wù)器, 或者說,調(diào)度服務(wù)器的主備關(guān)系都是相對的。本發(fā)明實(shí)施例還提供一種調(diào)度服務(wù)器提供調(diào)度服務(wù)的方法,包括在重 新工作時,確定是否能夠獲得原來維護(hù)的P2P拓樸關(guān)系數(shù)據(jù);如果不是,則 使用新的P2P拓樸關(guān)系為客戶端提供調(diào)度服務(wù)。重新工作可以是指,調(diào)度服 務(wù)器之前已經(jīng)為客戶端提供調(diào)度服務(wù),但由于某種或某些原因?qū)е抡{(diào)度服務(wù) 器出現(xiàn)死機(jī)或關(guān)機(jī)等異?,F(xiàn)象,致使調(diào)度服務(wù)器不能再提供調(diào)度服務(wù),調(diào)度 服務(wù)器通過重新啟動等方式處理異常后,再重新開始提供調(diào)度服務(wù)。不能獲得原來維護(hù)的P2P拓樸關(guān)系數(shù)據(jù)也可以有很多種原因,例如,調(diào)度服務(wù)器在不能繼續(xù)提供調(diào)度服務(wù)之前,沒有保存P2P拓樸關(guān)系數(shù)據(jù),這樣,當(dāng)調(diào)度服 務(wù)器重新啟動后,就無法獲得原來維護(hù)的P2P拓樸關(guān)系lt據(jù)。新的P2P拓樸 關(guān)系是相對于調(diào)度服務(wù)器原來維護(hù)的P2P拓樸關(guān)系來說的。當(dāng)調(diào)度服務(wù)器重 新開始工作但還沒有與任何客戶端進(jìn)行消息交互時,其維護(hù)的新的P2P拓樸關(guān)系中只有內(nèi)容服務(wù)器,隨著更多的客戶端加入到調(diào)度服務(wù)器維護(hù)的新的P2P 拓樸關(guān)系時,新的P2P拓樸關(guān)系中的節(jié)點(diǎn)才增多。使用新的P2P拓樸關(guān)系為客戶端提供調(diào)度服務(wù)可以有多種方式實(shí)現(xiàn)。例 如,如果客戶端需要加入新的P2P拓樸關(guān)系中,則可以將所述客戶端加入到 新的P2P拓樸關(guān)系中。確定客戶端需要加入新的P2P拓樸關(guān)系中之前,可以先確定客戶端是否 需要加入新的P2P拓樸關(guān)系中。確定客戶端是否需要加入新的P2P拓樸關(guān)系 中也可以由多種方式實(shí)現(xiàn)。例如,獲得客戶端上報的信息;根據(jù)所述信息確 定所述客戶端是否需要加入新的P2P拓樸關(guān)系。根據(jù)所述信息確定所述客戶端是否需要加入新的主調(diào)度服務(wù)器維護(hù)的 P2P拓樸關(guān)系之前,還可以確定所述客戶端是否在新的P2P拓樸關(guān)系中,如 果不是,則再確定所述客戶端是否需要加入新的P2P拓樸關(guān)系中。確定所述客戶端是否在新的P2P拓樸關(guān)系中也可以由多種方式實(shí)現(xiàn)。例 如,判斷所述客戶端上4艮的用于標(biāo)識新的P2P拓樸關(guān)系的P2P拓樸版本信息 和/或用于標(biāo)識客戶端的客戶端信息是否與當(dāng)前的P2P拓樸版本信息和/或分 配給所述客戶端的客戶端信息一致,如果是,則確定所述客戶端在新的P2P 拓樸關(guān)系中,否則,確定所述客戶端不在新的P2P拓樸關(guān)系中。再例如,向 與調(diào)度服務(wù)器進(jìn)行消息交互的客戶端提供用于標(biāo)識新的主調(diào)度服務(wù)器維護(hù)的 P2P拓樸關(guān)系的P2P拓樸版本信息和/或用于標(biāo)識客戶端的客戶端信息,由所 述客戶端檢查其自身是否在新的P2P拓樸關(guān)系中;如果獲得所述客戶端上報 的所述客戶端在新的P2P拓樸關(guān)系中的信息,則確定所述客戶端在新的P2P 拓樸關(guān)系中;如果獲得所ii^戶端上報的所述客戶端不在新的P2P拓樸關(guān)系 中的信息,則確定所述客戶端不在新的P2P拓樸關(guān)系中。使用新的P2P拓樸關(guān)系為客戶端提供調(diào)度服務(wù)的另一種方式為,如果原 來維護(hù)的P2P拓樸關(guān)系中的客戶端不需要加入新的P2P拓樸關(guān)系中,則原來維護(hù)的P2P拓樸關(guān)系中的客戶端仍然在原來維護(hù)的P2P拓樸關(guān)系中獲得P2P 數(shù)據(jù)。確定原來維護(hù)的P2P拓樸關(guān)系中的客戶端不需要加入新的P2P拓樸關(guān)系 中之前,還可以確定原來維護(hù)的P2P拓樸關(guān)系中的客戶端是否需要加入新的 P2P拓樸關(guān)系中。確定原來維護(hù)的P2P拓樸關(guān)系中的客戶端是否需要加入新 的P2P拓樸關(guān)系中的一種方式為,獲得原來維護(hù)的P2P拓樸關(guān)系中的客戶端 上報的信息;根據(jù)所述信息確定所述原來維護(hù)的P2P拓樸關(guān)系中的客戶端是 否需要加入新的P2P拓樸關(guān)系中。上述方法實(shí)施例可以由多種形式的裝置實(shí)現(xiàn),其中的一種調(diào)度服務(wù)器包 括確定單元,在重新工作時,用于確定是否能夠獲得原來維護(hù)的P2P拓樸 關(guān)系數(shù)據(jù);調(diào)度服務(wù)提供單元,用于在所述確定單元確定不能獲得原來維護(hù) 的P2P拓樸關(guān)系數(shù)據(jù)后,使用新的P2P拓樸關(guān)系為客戶端提供調(diào)度服務(wù)。調(diào)度服務(wù)提供單元可以包括檢測單元,用于檢測客戶端是否需要加入 新的P2P拓樸關(guān)系中;P2P拓樸關(guān)系處理單元,用于如果所述才企測單元4企測 出客戶端需要加入新的P2P拓樸關(guān)系中,則將所述客戶端加入新的P2P拓樸 關(guān)系中。檢測單元可以包括信息獲得單元,用于獲得客戶端上報的信息;確定 單元,用于根據(jù)所述信息確定所述客戶端是否需要加入新的P2P拓樸關(guān)系。本發(fā)明實(shí)施例還提供一種調(diào)度服務(wù)器提供調(diào)度服務(wù)的方法,包括與客 戶端進(jìn)行消息交互;如果所述客戶端需要加入所述調(diào)度服務(wù)器當(dāng)前維護(hù)的P2P 拓樸關(guān)系中,則將所述調(diào)度服務(wù)器用于識別所述客戶端的信息提供給所述客 戶端。將所述調(diào)度服務(wù)器用于識別所述客戶端的信息提供給所述客戶端之后, 獲得的所述客戶端發(fā)送的所有或部分消息中可以攜帶所述調(diào)度服務(wù)器用于識 別所述客戶端的信息。將所述調(diào)度服務(wù)器用于識別所述客戶端的信息提供給所述客戶端之后, 如果再次與所述客戶端進(jìn)行消息交互,則還可以再次將所述調(diào)度服務(wù)器用于 識別所述客戶端的信息提供給所述客戶端,由所述客戶端檢查其自身是否在 新的P2P拓樸關(guān)系中;如果獲得所M戶端上報的所述客戶端在新的P2P拓 樸關(guān)系中的信息,則確定所述客戶端在新的P2P拓樸關(guān)系中;如果獲得所述客戶端上報的所述客戶端不在新的P2P拓樸關(guān)系中的信息,則確定所述客戶 端不在新的P2P拓樸關(guān)系中。將所述調(diào)度服務(wù)器用于識別所述客戶端的信息提供給所述客戶端之后, 如果再次與所述客戶端進(jìn)行消息交互,則根據(jù)所述客戶端上報的消息中攜帶 的所述調(diào)度服務(wù)器用于識別所述客戶端的信息,確定所述客戶端是否在新的 P2P拓樸關(guān)系中。所述用于識別客戶端的信息包括所述調(diào)度服務(wù)器當(dāng)前維護(hù)的P2P拓樸關(guān) 系的P2P拓樸版本信息和/或用于標(biāo)識所述客戶端的客戶端信息提供給所述客 戶端。上述方法可以由多種形式的裝置實(shí)現(xiàn),其中的一種調(diào)度服務(wù)器可以包括 消息交互單元,用于與客戶端進(jìn)行消息交互;信息提供單元,用于如果客戶 端需要加入所述調(diào)度服務(wù)器當(dāng)前維護(hù)的P2P拓樸關(guān)系中,則將所述調(diào)度服務(wù) 器用于識別所述客戶端的信息提供給客戶端。下面對本發(fā)明的實(shí)施例進(jìn)4于詳細(xì)i兌明。如圖4所示,調(diào)度服務(wù)器1、調(diào)度服務(wù)器2及消息轉(zhuǎn)發(fā)裝置組成一個調(diào)度 服務(wù)器系統(tǒng),與P2P終端(即上文提到的客戶端)進(jìn)行交互。在同一時刻, 調(diào)度服務(wù)器1和調(diào)度服務(wù)器2中只有一個調(diào)度服務(wù)器接收并處理P2P終端的 請求,并且備調(diào)度服務(wù)器需要監(jiān)控主調(diào)度服務(wù)器是否失效。如果備調(diào)度服務(wù) 器發(fā)現(xiàn)主調(diào)度服務(wù)器失效,備調(diào)度服務(wù)器就需要作為主調(diào)度服務(wù)器,與P2P 終端進(jìn)行交互,原來的主調(diào)度服務(wù)器恢復(fù)后,可以作為備調(diào)度服務(wù)器。對于 P2P終端而言,與其交互的是調(diào)度服務(wù)器裝置,而不是調(diào)度服務(wù)器1和調(diào)度服 務(wù)器2。每個調(diào)度服務(wù)器都包括終端請求處理器、服務(wù)側(cè)終端拓樸管理器、終端 拓樸單元、終端拓樸版本號管理器和監(jiān)控單元。其中,終端請求處理器負(fù)責(zé) 接收并處理P2P終端的請求,服務(wù)側(cè)終端拓樸管理器負(fù)責(zé)查詢和更新P2P終 端的拓樸,終端拓樸單元負(fù)責(zé)保存P2P終端的拓樸,終端拓樸版本號管理器 負(fù)責(zé)維護(hù)P2P終端當(dāng)前的拓樸版本號(即上文^是到的P2P拓樸版本信息),監(jiān) 控單元負(fù)責(zé)檢測對端是否失效、觸發(fā)主備切換以及進(jìn)行主備調(diào)度服務(wù)器之間 的數(shù)據(jù)同步,其中,同步的數(shù)據(jù)指配置參數(shù)等少量數(shù)據(jù),不包含大數(shù)據(jù)量的 P2P拓樸關(guān)系數(shù)據(jù)。P2P終端包括終端側(cè)拓樸管理器、終端標(biāo)識單元和終端拓樸版本號管理 器。終端側(cè)拓樸管理器負(fù)責(zé)與調(diào)度服務(wù)器裝置交互,更新上級節(jié)點(diǎn)信息。每個P2P終端都有一個唯一的終端標(biāo)識(即上文提到的用于標(biāo)識客戶端的客戶 端信息),終端標(biāo)識單元負(fù)責(zé)保存終端標(biāo)識。每個P2P終端在第一次加入P2P 拓樸關(guān)系時,都會從調(diào)度服務(wù)器裝置得到一個終端拓樸版本號,終端拓樸版 本號單元負(fù)責(zé)保存終端拓樸版本號。每個調(diào)度服務(wù)器啟動時,終端拓樸版本號管理器需要更新終端拓樸版本 號,以標(biāo)識這次啟動后新建的P2P拓樸關(guān)系。每次生成新的拓樸版本號時, 必須保證新的拓樸版本號在一段時間內(nèi)不與主備調(diào)度服務(wù)器之前用過的所有 拓樸版本號重復(fù), 一種簡單的實(shí)現(xiàn)方式是,將當(dāng)前時間(可以精確到秒)與 服務(wù)器的網(wǎng)卡地址組合作為拓樸版本號。當(dāng)P2P終端加入P2P拓樸關(guān)系時,處理流程如圖5所示 步驟S501: P2P終端向調(diào)度服務(wù)器裝置發(fā)送加入P2P拓樸關(guān)系的請求, 所述請求中包括P2P終端的信息,例如P2P終端的IP地址、網(wǎng)卡地址及上下 行帶寬等信息。步驟S502:調(diào)度服務(wù)器裝置中的消息轉(zhuǎn)發(fā)裝置收到請求后,將請求轉(zhuǎn)發(fā) 給主調(diào)度服務(wù)器。步驟S503:主調(diào)度服務(wù)器的終端請求處理器收到請求后,為P2P終端分 配一個唯一的終端標(biāo)識。步驟S504:終端請求處理器調(diào)用服務(wù)側(cè)終端拓樸管理器,將P2P終端加 入P2P拓樸關(guān)系中。步驟S505:服務(wù)側(cè)終端拓樸管理器記錄P2P終端的信息,根據(jù)拓樸管理 策略為P2P終端指定上級節(jié)點(diǎn)。步驟S506:終端請求處理器將服務(wù)側(cè)終端拓樸管理器返回的拓樸信息以 及為P2P終端分配的拓樸版本號返回給P2P終端。步驟S507: P2P終端收到調(diào)度服務(wù)器裝置返回的信息后,終端側(cè)拓樸管 理器解析這些信息,將信息中的終端標(biāo)識保存在終端標(biāo)識單元中,將信息中 的終端拓樸版本號保存在終端拓樸版本號單元,之后,按照信息中的指示連 接上級節(jié)點(diǎn),并從上級節(jié)點(diǎn)獲取數(shù)據(jù)。終端側(cè)拓樸管理器連接上級節(jié)點(diǎn)后,可以向調(diào)度服務(wù)器裝置發(fā)送拓樸更新請求,具體可以參見圖5的步驟S508-S510。步驟S508:終端側(cè)拓樸管理器向調(diào)度服務(wù)器裝置發(fā)送拓樸更新請求。 步驟S509:主調(diào)度服務(wù)器的終端請求處理器收到拓樸更新請求后,調(diào)用服務(wù)側(cè)終端拓樸管理器更新拓樸。步驟S510:服務(wù)側(cè)終端拓樸管理器將更新后的拓樸記錄到終端拓樸部件中。P2P終端加入P2P拓樸關(guān)系后,可能因?yàn)楦鞣N原因需要與調(diào)度服務(wù)器再 次交互。例如,P2P終端發(fā)現(xiàn)上級節(jié)點(diǎn)失效,需要連接新的上級節(jié)點(diǎn);P2P終 端需要將自身負(fù)荷情況提供給調(diào)度服務(wù)器,以便調(diào)度服務(wù)器決策是否將所述 P2P終端作為其它P2P終端的上級節(jié)點(diǎn)。P2P終端加入P2P拓樸關(guān)系后,每 次向調(diào)度服務(wù)器發(fā)送消息時,消息中都可以攜帶終端拓樸版本號。當(dāng)主調(diào)度服務(wù)器失效導(dǎo)致主備切換時,備調(diào)度服務(wù)器啟動,作為新的主 調(diào)度服務(wù)器為P2P終端提供調(diào)度服務(wù)。新的主調(diào)度服務(wù)器啟動時,使用新的 終端拓樸版本號作為當(dāng)前的終端拓樸版本號,原來的P2P拓樸關(guān)系可以繼續(xù) 存在,即,并不需要完全調(diào)整P2P拓樸關(guān)系,只有當(dāng)P2P終端需要加入新的 主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系時,才將P2P終端加入新的主調(diào)度服務(wù)器 維護(hù)的P2P拓樸關(guān)系。例如,如果原主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系中的 P2P終端由于上級節(jié)點(diǎn)退出等原因?qū)е聼o法使用原來的P2P拓樸關(guān)系繼續(xù)獲 取數(shù)據(jù),則退出原來的P2P拓樸關(guān)系,加入新的P2P拓樸關(guān)系。具體的,新 的主調(diào)度服務(wù)器可以將當(dāng)前的終端拓樸版本號和P2P終端發(fā)出的消息中攜帶 的終端拓樸版本號進(jìn)行比較,判斷P2P終端所在的P2P拓樸關(guān)系是否是新的 主調(diào)度服務(wù)器當(dāng)前維護(hù)的P2P拓樸關(guān)系,如果是,則將P2P終端加入新的主 調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系,否則,可以根據(jù)請求的內(nèi)容等因素進(jìn)行如 下不同的處理1. 如果P2P終端上報自身信息(例如當(dāng)前的上下行帶寬),則新的主調(diào)度 服務(wù)器可以忽略這一請求,P2P終端可以繼續(xù)依靠原來的P2P拓樸關(guān)系獲取 數(shù)據(jù);2. 如果P2P終端上報其上級節(jié)點(diǎn)異常和/或自行調(diào)整了上級節(jié)點(diǎn),則由于 P2P終端可能已經(jīng)自行更換了上級節(jié)點(diǎn),新的主調(diào)度服務(wù)器也可以忽略這一請 求,讓P2P終端自行維護(hù)P2P拓樸關(guān)系;3. 如果P2P終端需要退出P2P拓樸關(guān)系,則新的主調(diào)度服務(wù)器可以忽略 這一請求;4. 如果P2P終端需要再次加入P2P拓樸關(guān)系,則新的主調(diào)度服務(wù)器將P2P 終端加入新的主調(diào)度服務(wù)器維護(hù)的某個P2P拓樸關(guān)系,并向P2P終端返回新 的終端拓樸版本號,P2P終端更新保存的終端拓樸版本號;5. 如果P2P終端因?yàn)槠渖霞壒?jié)點(diǎn)故障需要調(diào)整上級節(jié)點(diǎn),則新的主調(diào)度服 務(wù)器可以向P2P終端返回終端拓樸版本號錯誤的消息,P2P終端收到錯誤消 息后,斷開與其它終端的所有連接,重新請求加入新的P2P拓樸關(guān)系。由于 一個P2P終端的退出可能引起其下級終端退出,而其下級終端的退出可能又 會引起更多的P2P終端的退出,這種鏈鎖反應(yīng)可能會導(dǎo)致新的主調(diào)度服務(wù)器 在一段時間內(nèi)超負(fù)荷運(yùn)行。為避免這種連鎖反應(yīng),P2P終端可以在退出原來的 P2P拓樸關(guān)系前,隨機(jī)等待一段時間后,再退出原來的P2P拓樸關(guān)系,之后 再加入新的P2P拓樸關(guān)系,這樣就避免了大量的P2P終端在短時間內(nèi)集中向 新的主調(diào)度服務(wù)器發(fā)送請求,減輕了新的主調(diào)度服務(wù)器的負(fù)擔(dān)。在實(shí)際應(yīng)用中,終端拓樸版本號與終端標(biāo)識可以不是相互獨(dú)立的標(biāo)識, 而是可以整合為一個標(biāo)識,例如,終端拓樸版本號可以作為終端標(biāo)識的一部 分,新的主調(diào)度服務(wù)器為P2P終端分配終端標(biāo)識時,^是供的終端標(biāo)識就包括 了終端拓樸版本號。另外,終端標(biāo)識可以由調(diào)度服務(wù)器指定,也可以由P2P 終端自^f亍上才艮一個可以唯一標(biāo)識其自身的終端標(biāo)識,例如P2P終端的網(wǎng)卡地 址。在實(shí)際應(yīng)用中,不論何種情況下,新的主調(diào)度服務(wù)器只要發(fā)現(xiàn)P2P終端 所在的P2P拓樸關(guān)系不是新的主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系,都可以要 求P2P終端重新加入P2P拓樸關(guān)系。在實(shí)際應(yīng)用中,可以由新的主調(diào)度服務(wù)器識別P2P終端是否在新的主調(diào) 度服務(wù)器維護(hù)的P2P拓樸關(guān)系中;在調(diào)度服務(wù)器主動向P2P終端發(fā)送攜帶有 當(dāng)前的終端拓樸版本號的消息的情況下,也可以由P2P終端來檢查其自身是 否在新的主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系中。在實(shí)際應(yīng)用中,如果確定在某些場景下可以不檢查終端拓樸版本號(例 如P2P終端上報當(dāng)前的上下行帶寬),則P2P終端向新的主調(diào)度服務(wù)器發(fā)送的 消息中也可以不攜帶終端拓樸版本號。在調(diào)度服務(wù)器的主備實(shí)現(xiàn)實(shí)施例中,備調(diào)度服務(wù)器既可以是指沒有維護(hù)任何P2P拓樸關(guān)系的調(diào)度服務(wù)器,即,作為主調(diào)度服務(wù)器的專用備調(diào)度服務(wù) 器,也可以是指正在維護(hù)其他P2P拓樸關(guān)系的調(diào)度服務(wù)器,即,并不是作為 主調(diào)度服務(wù)器的專用備調(diào)度服務(wù)器,而是維護(hù)其他P2P拓樸關(guān)系的主調(diào)度服 務(wù)器,當(dāng)需要主備切換時,正在維護(hù)其他P2P拓樸關(guān)系的調(diào)度服務(wù)器相當(dāng)于 新的主調(diào)度服務(wù)器,為原主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系中的P2P終端提 供調(diào)度服務(wù)。最后需要說明的是,調(diào)度服務(wù)器提供調(diào)度服務(wù)的實(shí)施例可以應(yīng)用于很多 種場景。例如,當(dāng)主調(diào)度服務(wù)器發(fā)生故障,備調(diào)度服務(wù)器啟動時,備調(diào)度服 務(wù)器可以使用這種實(shí)施例。再例如,當(dāng)一個調(diào)度服務(wù)器由于原來維護(hù)的P2P 拓樸關(guān)系丟失等原因,需要重新建立P2P拓樸關(guān)系時,也可以使用這種實(shí)施例。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普 通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤 飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種調(diào)度服務(wù)器的主備實(shí)現(xiàn)方法,其特征在于,包括確定主調(diào)度服務(wù)器是否能為客戶端提供調(diào)度服務(wù);如果主調(diào)度服務(wù)器不能為客戶端提供調(diào)度服務(wù),則在無須獲得主調(diào)度服務(wù)器維護(hù)的P2P拓?fù)潢P(guān)系數(shù)據(jù)的條件下,備調(diào)度服務(wù)器使用新的P2P拓?fù)潢P(guān)系為客戶端提供調(diào)度服務(wù)。
2. 如權(quán)利要求1所述的調(diào)度服務(wù)器的主備實(shí)現(xiàn)方法,其特征在于,確定主 調(diào)度服務(wù)器是否能為客戶端提供調(diào)度服務(wù)具體為檢測主調(diào)度服務(wù)器是否發(fā) 生故障或者是否過載,如果是,則確定主調(diào)度服務(wù)器不能為客戶端提供調(diào)度 服務(wù)。
3. 如權(quán)利要求1所述的調(diào)度服務(wù)器的主備實(shí)現(xiàn)方法,其特征在于,備調(diào)度 服務(wù)器使用新的P2P拓樸關(guān)系為客戶端提供調(diào)度服務(wù)具體包括如果客戶端 需要加入新的P2P拓樸關(guān)系中,則將所述客戶端加入到新的P2P拓樸關(guān)系中。
4. 如權(quán)利要求3所述的調(diào)度服務(wù)器的主備實(shí)現(xiàn)方法,其特征在于,確定客 戶端需要加入新的P2P拓樸關(guān)系中之前還包括確定客戶端是否需要加入新 的P2P拓樸關(guān)系中,按照下述方式確定客戶端是否需要加入新的P2P拓樸關(guān) 系中獲得客戶端上報的信息;根據(jù)所述信息確定所述客戶端是否需要加入新的P2P拓樸關(guān)系。
5. 如權(quán)利要求4所述的調(diào)度服務(wù)器的主備實(shí)現(xiàn)方法,其特征在于,根據(jù)所 述信息確定所述客戶端是否需要加入新的主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系 之前,還包括確定所述客戶端是否在新的P2P拓樸關(guān)系中,如果不是,則 確定所述客戶端是否需要加入新的P2P拓樸關(guān)系中。
6. 如權(quán)利要求5所述的調(diào)度服務(wù)器的主備實(shí)現(xiàn)方法,其特征在于,所述信 息包括用于標(biāo)識新的主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系的P2P拓樸版本信息 和/或用于標(biāo)識客戶端的客戶端信息。
7. 如權(quán)利要求4所述的調(diào)度服務(wù)器的主備實(shí)現(xiàn)方法,其特征在于,所述信 息包括下列信息之一需要加入P2P拓樸關(guān)系的信息、上級節(jié)點(diǎn)發(fā)生異常的 信息、更換上級節(jié)點(diǎn)的請求信息和自身信息。
8. 如權(quán)利要求5所述的調(diào)度服務(wù)器的主備實(shí)現(xiàn)方法,其特征在于,按照下述方式確定所述客戶端是否在新的P2P拓樸關(guān)系中判斷所述客戶端上報的用于標(biāo)識新的P2P拓樸關(guān)系的P2P拓樸版本信息 和/或用于標(biāo)識客戶端的客戶端信息是否與當(dāng)前的P2P拓樸版本信息和/或分 配給所述客戶端的客戶端信息一致;如果是,則確定所述客戶端在新的P2P拓樸關(guān)系中,否則,確定所述客 戶端不在新的P2P拓樸關(guān)系中。
9. 如權(quán)利要求5所述的調(diào)度服務(wù)器的主備實(shí)現(xiàn)方法,其特征在于,按照下 述方式確定所述客戶端是否在新的P2P拓樸關(guān)系中向與備調(diào)度服務(wù)器進(jìn)行消息交互的客戶端提供用于標(biāo)識新的P2P拓樸關(guān) 系的P2P拓樸版本信息和/或用于標(biāo)識客戶端的客戶端信息,由所述客戶端檢 查其自身是否在新的P2P拓樸關(guān)系中;如果獲得所述客戶端上才艮的所述客戶端在新的P2P拓樸關(guān)系中的信息, 則確定所述客戶端在新的P2P拓樸關(guān)系中;如果獲得所述客戶端上才艮的所述 客戶端不在新的P2P拓樸關(guān)系中的信息,則確定所述客戶端不在新的P2P拓 樸關(guān)系中。
10. 如權(quán)利要求3所述的調(diào)度服務(wù)器的主備實(shí)現(xiàn)方法,其特征在于,將所 述需要加入新的P2P拓樸關(guān)系的客戶端加入到新的P2P拓樸關(guān)系中具體包括 為所述需要加入新的P2P拓樸關(guān)系的客戶端指定上級節(jié)點(diǎn)。
11. 如權(quán)利要求IO所述的調(diào)度服務(wù)器的主備實(shí)現(xiàn)方法,其特征在于,將所 述需要加入新的P2P拓樸關(guān)系的客戶端加入到新的P2P拓樸關(guān)系中具體包括 將用于標(biāo)識新的P2P拓樸關(guān)系的P2P拓樸版本信息和/或用于標(biāo)識客戶端的客 戶端信息提供給客戶端。
12. 如權(quán)利要求11所述的調(diào)度服務(wù)器的主備實(shí)現(xiàn)方法,其特征在于,將用 于標(biāo)識新的P2P拓樸關(guān)系的P2P拓樸版本信息和用于標(biāo)識客戶端的客戶端信 息提供給客戶端具體為將所述P2P拓樸版本信息和所述客戶端信息整合為 一種信息提供給客戶端。
13. 如權(quán)利要求11或12所述的調(diào)度服務(wù)器的主備實(shí)現(xiàn)方法,其特征在于, 將所述客戶端加入新的P2P拓樸關(guān)系中之后,接收到的所述客戶端發(fā)出的所 有或部分消息攜帶有P2P拓樸版本信息和/或客戶端信息。
14. 如權(quán)利要求3或10所述的調(diào)度服務(wù)器的主備實(shí)現(xiàn)方法,其特征在于,如果客戶端需要加入新的P2P拓樸關(guān)系中,則記錄所述客戶端的信息。
15. 如權(quán)利要求3所述的調(diào)度服務(wù)器的主備實(shí)現(xiàn)方法,其特征在于,如果 客戶端需要加入新的P2P拓樸關(guān)系中,則記錄所述客戶端產(chǎn)生并上報的用于 標(biāo)識客戶端的客戶端信息。
16. 如權(quán)利要求1所述的調(diào)度服務(wù)器的主備實(shí)現(xiàn)方法,其特征在于,備調(diào) 度服務(wù)器使用新的P2P拓樸關(guān)系為客戶端提供調(diào)度服務(wù)具體包括如果主調(diào) 度服務(wù)器維護(hù)的P2P拓樸關(guān)系中的客戶端不需要加入新的P2P拓樸關(guān)系中, 則主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系中的客戶端仍然在主調(diào)度服務(wù)器維護(hù)的 P2P拓樸關(guān)系中獲得P2P數(shù)據(jù)。
17. 如權(quán)利要求16所述的調(diào)度服務(wù)器的主備實(shí)現(xiàn)方法,其特征在于,確定 主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系中的客戶端不需要加入新的P2P拓樸關(guān)系 中之前還包括確定主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系中的客戶端是否需要 加入新的P2P拓樸關(guān)系中,按照下述方式確定主調(diào)度服務(wù)器維護(hù)的P2P拓樸 關(guān)系中的客戶端是否需要加入新的P2P拓樸關(guān)系中獲得主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系中的客戶端上報的信息; 根據(jù)所述信息確定所述主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系中的客戶端是 否需要加入新的P2P拓樸關(guān)系中。
18. 如權(quán)利要求1或3所述的調(diào)度服務(wù)器的主備實(shí)現(xiàn)方法,其特征在于, 備調(diào)度服務(wù)器使用新的P2P拓樸關(guān)系為客戶端提供調(diào)度服務(wù)具體為如果需 要將原來處于一個P2P拓樸關(guān)系中的客戶端加入新的P2P拓樸關(guān)系中,則指 示所述客戶端在指定的時間到達(dá)后再退出原來的P2P拓樸關(guān)系。
19. 如權(quán)利要求1所述的調(diào)度服務(wù)器的主備實(shí)現(xiàn)方法,其特征在于,所述 備調(diào)度服務(wù)器為正在維護(hù)其他P2P拓樸關(guān)系的調(diào)度月良務(wù)器。
20. —種備調(diào)度服務(wù)器,其特征在于,包括第一檢測單元,用于檢測主調(diào)度服務(wù)器是否能為客戶端提供調(diào)度服務(wù); 調(diào)度服務(wù)提供單元,用于如果第一檢測單元確定出主調(diào)度服務(wù)器不能為 客戶端提供調(diào)度服務(wù),則在無須獲得主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān)系數(shù)據(jù) 的條件下,使用新的P2P拓樸關(guān)系為客戶端提供調(diào)度服務(wù)。
21. 如權(quán)利要求20所述的備調(diào)度服務(wù)器,其特征在于,所述調(diào)度服務(wù)提供 單元包括第二檢測單元,用于檢測客戶端是否需要加入新的P2P拓樸關(guān)系中; P2P拓樸關(guān)系處理單元,用于如果所述第二檢測單元檢測出客戶端需要加 入新的P2P拓樸關(guān)系中,則將所述客戶端加入新的P2P拓樸關(guān)系中。
22. 如權(quán)利要求21所述的備調(diào)度服務(wù)器,其特征在于,所述第二檢測單元 包括信息獲得單元,用于獲得客戶端上報的信息;確定單元,用于根據(jù)所述信息確定所述客戶端是否需要加入新的P2P拓 樸關(guān)系。
23. —種調(diào)度服務(wù)器系統(tǒng),其特征在于,包括 主調(diào)度服務(wù)器,用于為客戶端提供調(diào)度服務(wù);至少一個備調(diào)度服務(wù)器,當(dāng)所述主調(diào)度服務(wù)器不能為客戶端提供調(diào)度服 務(wù)時,其中的一個備調(diào)度服務(wù)器在無須獲得主調(diào)度服務(wù)器維護(hù)的P2P拓樸關(guān) 系數(shù)據(jù)的條件下,使用新的P2P拓樸關(guān)系為客戶端提供調(diào)度服務(wù)。
24. 如權(quán)利要求23所述的調(diào)度服務(wù)系統(tǒng),其特征在于,還包括消息轉(zhuǎn)發(fā) 裝置,用于轉(zhuǎn)發(fā)客戶端與能夠?yàn)榭蛻舳颂峁┱{(diào)度服務(wù)的調(diào)度服務(wù)器之間的消 息,其中,當(dāng)所述主調(diào)度服務(wù)器不能為客戶端提供調(diào)度服務(wù)、其中的一個備 調(diào)度服務(wù)器為客戶端提供調(diào)度服務(wù)時,所述消息轉(zhuǎn)發(fā)裝置轉(zhuǎn)發(fā)所述為客戶端 提供調(diào)度服務(wù)的備調(diào)度服務(wù)器與客戶端之間的消息。
25. —種調(diào)度服務(wù)器提供調(diào)度服務(wù)的方法,其特征在于,包括 在重新工作時,確定是否能夠獲得原來維護(hù)的P2P拓樸關(guān)系數(shù)據(jù); 如果不是,則使用新的P2P拓樸關(guān)系為客戶端提供調(diào)度服務(wù)。
26. 如權(quán)利要求25所述的調(diào)度服務(wù)器提供調(diào)度服務(wù)的方法,其特征在于, 使用新的P2P拓樸關(guān)系為客戶端提供調(diào)度服務(wù)具體包括如果客戶端需要加 入新的P2P拓樸關(guān)系中,則將所述客戶端加入到新的P2P拓樸關(guān)系中。
27. 如權(quán)利要求26所述的調(diào)度服務(wù)器提供調(diào)度服務(wù)的方法,其特征在于, 確定客戶端需要加入新的P2P拓樸關(guān)系中之前還包括確定客戶端是否需要 加入新的P2P拓樸關(guān)系中,按照下述方式確定客戶端是否需要加入新的P2P拓樸關(guān)系中獲得客戶端上報的信息;根據(jù)所述信息確定所述客戶端是否需要加入新的P2P拓樸關(guān)系。
28. 如權(quán)利要求27所述的調(diào)度服務(wù)器提供調(diào)度服務(wù)的方法,其特征在于, 根據(jù)所述信息確定所述客戶端是否需要加入新的主調(diào)度服務(wù)器維護(hù)的P2P拓 樸關(guān)系之前,還包括確定所述客戶端是否在新的P2P拓樸關(guān)系中,如果不 是,則確定所述客戶端是否需要加入新的P2P拓樸關(guān)系中。
29. 如權(quán)利要求28所述的調(diào)度服務(wù)器提供調(diào)度服務(wù)的方法,其特征在于, 按照下述方式確定所述客戶端是否在新的P2P拓樸關(guān)系中判斷所述客戶端上報的用于標(biāo)識新的P2P拓樸關(guān)系的P2P拓樸版本信息 和/或用于標(biāo)識客戶端的客戶端信息是否與當(dāng)前的P2P拓樸版本信息和/或分 配給所述客戶端的客戶端信息一致;如果是,則確定所述客戶端在新的P2P拓樸關(guān)系中,否則,確定所述客 戶端不在新的P2P拓樸關(guān)系中。
30. 如權(quán)利要求28所述的調(diào)度服務(wù)器提供調(diào)度服務(wù)的方法,其特征在于, 按照下述方式確定所述客戶端是否在新的P2P拓樸關(guān)系中向與調(diào)度服務(wù)器進(jìn)行消息交互的客戶端提供用于標(biāo)識新的主調(diào)度服務(wù)器 維護(hù)的P2P拓樸關(guān)系的P2P拓樸版本信息和/或用于標(biāo)識客戶端的客戶端信 息,由所述客戶端檢查其自身是否在新的P2P拓樸關(guān)系中;如果獲得所述客戶端上報的所述客戶端在新的P2P拓樸關(guān)系中的信息, 則確定所述客戶端在新的P2P拓樸關(guān)系中;如果獲得所述客戶端上報的所述 客戶端不在新的P2P拓樸關(guān)系中的信息,則確定所述客戶端不在新的P2P拓 樸關(guān)系中。
31. 如權(quán)利要求25所述的調(diào)度服務(wù)器提供調(diào)度服務(wù)的方法,其特征在于, 使用新的P2P拓樸關(guān)系為客戶端提供調(diào)度服務(wù)具體包括如果原來維護(hù)的P2P 拓樸關(guān)系中的客戶端不需要加入新的P2P拓樸關(guān)系中,則原來維護(hù)的P2P拓 樸關(guān)系中的客戶端仍然在原來維護(hù)的P2P拓樸關(guān)系中獲得P2P數(shù)據(jù)。
32. 如權(quán)利要求31所述的調(diào)度服務(wù)器提供調(diào)度服務(wù)的方法,其特征在于, 確定原來維護(hù)的P2P拓樸關(guān)系中的客戶端不需要加入新的P2P拓樸關(guān)系中之 前還包括確定原來維護(hù)的P2P拓樸關(guān)系中的客戶端是否需要加入新的P2P 拓樸關(guān)系中,按照下述方式確定原來維護(hù)的P2P拓樸關(guān)系中的客戶端是否需 要加入新的P2P拓樸關(guān)系中獲得原來維護(hù)的P2P拓樸關(guān)系中的客戶端上報的信息;根據(jù)所述信息確定所述原來維護(hù)的P2P拓樸關(guān)系中的客戶端是否需要加 入新的P2P拓樸關(guān)系中。
33. —種調(diào)度服務(wù)器,其特征在于,包括確定單元,在重新工作時,用于確定是否能夠獲得原來維護(hù)的P2P拓樸 關(guān)系數(shù)據(jù);調(diào)度服務(wù)提供單元,用于在所述確定單元確定不能獲得原來維護(hù)的P2P 拓樸關(guān)系數(shù)據(jù)后,使用新的P2P拓樸關(guān)系為客戶端提供調(diào)度服務(wù)。
34. 如權(quán)利要求32所述的調(diào)度服務(wù)器,其特征在于,所述調(diào)度服務(wù)提供單 元包括檢測單元,用于檢測客戶端是否需要加入新的P2P拓樸關(guān)系中; P2P拓樸關(guān)系處理單元,用于如果所述檢測單元檢測出客戶端需要加入新 的P2P拓樸關(guān)系中,則將所述客戶端加入新的P2P拓樸關(guān)系中。
35. 如權(quán)利要求34所述的備調(diào)度服務(wù)器,其特征在于,所述檢測單元包括 信息獲得單元,用于獲得客戶端上報的信息;確定單元,用于根據(jù)所述信息確定所述客戶端是否需要加入新的P2P拓 樸關(guān)系。
36. —種調(diào)度服務(wù)器提供調(diào)度服務(wù)的方法,其特征在于,包括 與客戶端進(jìn)行消息交互;如果所述客戶端需要加入所述調(diào)度服務(wù)器當(dāng)前維護(hù)的P2P拓樸關(guān)系中, 則將所述調(diào)度服務(wù)器用于識別所述客戶端的信息提供給所述客戶端。
37. 如權(quán)利要求36所述的提供調(diào)度服務(wù)的方法,其特征在于,將所述調(diào)度 服務(wù)器用于識別所述客戶端的信息提供給所述客戶端之后,獲得的所述客戶 端發(fā)送的所有或部分消息中攜帶所述調(diào)度服務(wù)器用于識別所述客戶端的信 息。
38. 如權(quán)利要求36所述的提供調(diào)度服務(wù)的方法,其特征在于,將所述調(diào)度 服務(wù)器用于識別所述客戶端的信息提供給所述客戶端之后,如果再次與所述 客戶端進(jìn)行消息交互,則還包括再次將所述調(diào)度服務(wù)器用于識別所述客戶端的信息提供給所述客戶端, 由所述客戶端檢查其自身是否在新的P2P拓樸關(guān)系中;如果獲得所述客戶端上報的所述客戶端在新的P2P拓樸關(guān)系中的信息,則確定所述客戶端在新的P2P拓樸關(guān)系中;如果獲得所述客戶端上4艮的所述 客戶端不在新的P2P拓樸關(guān)系中的信息,則確定所述客戶端不在新的P2P拓 樸關(guān)系中。
39. 如權(quán)利要求36或37所述的提供調(diào)度服務(wù)的方法,其特征在于,將所 述調(diào)度服務(wù)器用于識別所述客戶端的信息提供給所述客戶端之后,如果再次 與所述客戶端進(jìn)行消息交互,則根據(jù)所述客戶端上報的消息中攜帶的所述調(diào) 度服務(wù)器用于識別所述客戶端的信息,確定所述客戶端是否在新的P2P拓樸 關(guān)系中。
40. 如權(quán)利要求36或37所述的提供調(diào)度服務(wù)的方法,其特征在于,所述 用于識別客戶端的信息包括所述調(diào)度服務(wù)器當(dāng)前維護(hù)的P2P拓樸關(guān)系的P2P 拓樸版本信息和/或用于標(biāo)識所述客戶端的客戶端信息提供給所述客戶端。
41. 一種調(diào)度服務(wù)器,其特征在于,包括 消息交互單元,用于與客戶端進(jìn)行消息交互;信息提供單元,用于如果所述客戶端需要加入所述調(diào)度服務(wù)器當(dāng)前維護(hù) 的P2P拓樸關(guān)系中,則將所述調(diào)度服務(wù)器用于識別所述客戶端的信息提供給 所述客戶端。
全文摘要
本發(fā)明提供一種調(diào)度服務(wù)器的主備實(shí)現(xiàn)方法,包括確定主調(diào)度服務(wù)器是否能為客戶端提供調(diào)度服務(wù);如果主調(diào)度服務(wù)器不能為客戶端提供調(diào)度服務(wù),則在無須獲得主調(diào)度服務(wù)器維護(hù)的P2P拓?fù)潢P(guān)系數(shù)據(jù)的條件下,備調(diào)度服務(wù)器使用新的P2P拓?fù)潢P(guān)系為客戶端提供調(diào)度服務(wù)。本發(fā)明還提供備調(diào)度服務(wù)器、調(diào)度服務(wù)器系統(tǒng)、調(diào)度服務(wù)器提供調(diào)度服務(wù)的方法及調(diào)度服務(wù)器。本發(fā)明無需備調(diào)度服務(wù)器具有存儲P2P拓?fù)潢P(guān)系數(shù)據(jù)的存儲裝置,節(jié)省了成本;本發(fā)明也無需主調(diào)度服務(wù)器向備調(diào)度服務(wù)器同步P2P拓?fù)潢P(guān)系數(shù)據(jù),從而提高了點(diǎn)對點(diǎn)數(shù)據(jù)傳輸?shù)目煽啃浴?br>
文檔編號H04L29/08GK101262369SQ200810088808
公開日2008年9月10日 申請日期2008年3月28日 優(yōu)先權(quán)日2008年3月28日
發(fā)明者兌繼英, 曹彥東, 李耀輝 申請人:華為技術(shù)有限公司