專利名稱::一種重疊網(wǎng)絡(luò)及其構(gòu)建方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,特別涉及一種適用于多源對(duì)等網(wǎng)絡(luò)流媒體直播系統(tǒng)的重疊網(wǎng)絡(luò)及其構(gòu)建方法,以及該重疊網(wǎng)絡(luò)中對(duì)等節(jié)點(diǎn)的發(fā)現(xiàn)方法和該重疊網(wǎng)絡(luò)中的用戶節(jié)點(diǎn)。
背景技術(shù):
:隨著互聯(lián)網(wǎng)的廣泛普及和多媒體技術(shù)的不斷成熟,如何在Internet上向大規(guī)模并發(fā)用戶群提供高質(zhì)量的流媒體直播服務(wù)已經(jīng)成為促進(jìn)互聯(lián)網(wǎng)發(fā)展的關(guān)鍵應(yīng)用。最近幾年,研究者提出了基于對(duì)等網(wǎng)絡(luò)技術(shù)(P2P,Peer-to-Peer)的流媒體直播系統(tǒng)。其基本思想是,把與IP組播相關(guān)的數(shù)據(jù)路由、復(fù)制、轉(zhuǎn)發(fā)等功能轉(zhuǎn)移到成員主機(jī)(用戶節(jié)點(diǎn))的應(yīng)用層(而不是路由器)實(shí)現(xiàn),在用戶節(jié)點(diǎn)之間構(gòu)建一個(gè)實(shí)現(xiàn)組播功能的重疊網(wǎng)絡(luò)。作為當(dāng)前最熱門的互聯(lián)網(wǎng)技術(shù),基于對(duì)等網(wǎng)絡(luò)的流媒體直播系統(tǒng)已經(jīng)被廣泛應(yīng)用于各種領(lǐng)域,例如視頻會(huì)議(ESM應(yīng)用軟件)、網(wǎng)絡(luò)電視(PPLive應(yīng)用軟件、PPstream應(yīng)用軟件)等。根據(jù)其源節(jié)點(diǎn)提供數(shù)據(jù)的方式,基于對(duì)等網(wǎng)絡(luò)的流媒體直播系統(tǒng)可分為兩種單源流媒體直播系統(tǒng)和多源流媒體直播系統(tǒng)。參見圖l,單源流媒體直播系統(tǒng)是指所有轉(zhuǎn)播用戶節(jié)點(diǎn)和流媒體服務(wù)器構(gòu)成一棵組播樹來(lái)進(jìn)行數(shù)據(jù)傳輸。流媒體服務(wù)器以及接收/提供相同頻道內(nèi)容的用戶節(jié)點(diǎn)稱為對(duì)等節(jié)點(diǎn)。每個(gè)對(duì)等節(jié)點(diǎn)既是數(shù)據(jù)的接收者,也是數(shù)據(jù)的提供者。流媒體服務(wù)器是一個(gè)特殊的節(jié)點(diǎn),只作為數(shù)據(jù)的提供者,稱為源節(jié)點(diǎn)。單源流媒體直播系統(tǒng)構(gòu)成的樹結(jié)構(gòu)中的每個(gè)對(duì)等節(jié)點(diǎn)有且只有一個(gè)數(shù)據(jù)源提供者,即流媒體服務(wù)器。圖1中,粗實(shí)線表示數(shù)據(jù)的流動(dòng)方向。參見圖2,多源流媒體直播系統(tǒng)是指所有轉(zhuǎn)播用戶節(jié)點(diǎn)和流媒體服務(wù)器構(gòu)成一個(gè)網(wǎng)狀(Mesh)結(jié)構(gòu)來(lái)進(jìn)行數(shù)據(jù)傳輸。網(wǎng)狀結(jié)構(gòu)上的每個(gè)對(duì)等節(jié)點(diǎn)可以同時(shí)具有多個(gè)數(shù)據(jù)源提供者,接收者分別向不同數(shù)據(jù)源請(qǐng)求不同的數(shù)據(jù)塊。多源系統(tǒng)通過(guò)多個(gè)數(shù)據(jù)源聯(lián)合提供數(shù)據(jù)給單個(gè)接收者,不僅可以有效提高每個(gè)用戶節(jié)點(diǎn)的接收質(zhì)量,而且能夠緩解對(duì)等網(wǎng)絡(luò)中由于用戶節(jié)點(diǎn)頻繁加入/退出導(dǎo)致的動(dòng)態(tài)性問(wèn)題。多源流媒體直播系統(tǒng)的典型代表是香港科技大學(xué)張欣研等人提出的DONet(DataDrivenOverlayNetwork,數(shù)據(jù)驅(qū)動(dòng)的重疊網(wǎng)絡(luò))。在D0Net中,對(duì)等節(jié)點(diǎn)信息的維護(hù)和管理如下在DONet中每個(gè)節(jié)點(diǎn)都具有一個(gè)全局唯一的標(biāo)識(shí)符(例如IP地址),同時(shí)維護(hù)一個(gè)緩存mCache,用以存儲(chǔ)系統(tǒng)中其它對(duì)等節(jié)點(diǎn)的信息。每個(gè)節(jié)點(diǎn)會(huì)和raCache中維護(hù)的其它某些對(duì)等節(jié)點(diǎn)建立協(xié)作關(guān)系,這些建立協(xié)作關(guān)系的對(duì)等節(jié)點(diǎn)稱為伙伴節(jié)點(diǎn)。在動(dòng)態(tài)系統(tǒng)中,為了創(chuàng)建和維護(hù)mCache,每個(gè)節(jié)點(diǎn)需要周期性地發(fā)送宣告自己存活的消息,消息格式為(se《—"w/w,/c,www_;ar加er,"me—to一//ve),其中se《—wtww是消息的序歹lj號(hào),W是節(jié)點(diǎn)的標(biāo)識(shí),聰w—戸r"^是節(jié)點(diǎn)的伙伴數(shù),"'柳—to—/z've是該消息剩余的生存時(shí)間。當(dāng)節(jié)點(diǎn)收到一個(gè)新的成員信息時(shí),它會(huì)在mCache中找到對(duì)應(yīng)/j的成員信息記錄,如果w《—m^7大于記錄中的化《—?jiǎng)t更新此條記錄。如果沒(méi)有找到對(duì)應(yīng)W的記錄,則在mCache中添加一條記錄存儲(chǔ)該成員信息。在mCache中,每條成員信息記錄包含5項(xiàng)yeg_ww/w,,wm/w—/wr"/er,h'/we——//ve,/"W—w/7i/a^—。D0Net中節(jié)點(diǎn)信息維護(hù)的一個(gè)關(guān)鍵問(wèn)題是如何創(chuàng)建和更新mCache。盡管D0Net與傳統(tǒng)基于gossip的方案相比是一個(gè)輕量級(jí)可擴(kuò)展的協(xié)議,即每個(gè)節(jié)點(diǎn)只維護(hù)系統(tǒng)中部分對(duì)等節(jié)點(diǎn)的信息,但是可以看到隨著加入系統(tǒng)時(shí)間的增加,每個(gè)節(jié)點(diǎn)維護(hù)的mCache中對(duì)等節(jié)點(diǎn)的個(gè)數(shù)會(huì)隨之增加,從而導(dǎo)致內(nèi)存開銷增加。此外,D0Net中每個(gè)節(jié)點(diǎn)周期性地發(fā)送宣告自己存活的membership消息擴(kuò)散帶來(lái)的控制開銷也較大,并且SCAM協(xié)議的實(shí)現(xiàn)復(fù)雜度也較高。在D0Net中,當(dāng)有新用戶節(jié)點(diǎn)加入時(shí),它首先與源節(jié)點(diǎn)建立連接(Contact),源節(jié)點(diǎn)從本地維護(hù)的mCache中隨機(jī)選擇一個(gè)節(jié)點(diǎn)作為代理節(jié)點(diǎn)(d印uty),把新用戶節(jié)點(diǎn)的加入請(qǐng)求轉(zhuǎn)發(fā)給該代理節(jié)點(diǎn),新用戶節(jié)點(diǎn)從代理節(jié)點(diǎn)處獲得伙伴節(jié)點(diǎn)信息,并與這些伙伴節(jié)點(diǎn)交換數(shù)據(jù)有效性信息,進(jìn)行數(shù)據(jù)傳輸。由于采用隨機(jī)選擇代理節(jié)點(diǎn)和伙伴節(jié)點(diǎn)而沒(méi)有考慮節(jié)點(diǎn)的傳輸性能,可能使得新用戶節(jié)點(diǎn)初始時(shí)選擇的伙伴節(jié)點(diǎn)的傳輸性能較差,從而導(dǎo)致總的接收帶寬不能滿足流媒體的傳輸要求。為了提高節(jié)點(diǎn)的接收質(zhì)量,D0Net中每個(gè)節(jié)點(diǎn)會(huì)周期性地從其mCache中隨機(jī)選擇一組節(jié)點(diǎn)作為新的伙伴節(jié)點(diǎn)重新建立伙伴關(guān)系,以探測(cè)具有更好傳輸性能的節(jié)點(diǎn)。該優(yōu)化選擇機(jī)制雖然能夠一定程度上改善接收質(zhì)量,但是會(huì)周期性地引入控制開銷,而且受到SCAM協(xié)議本身特點(diǎn)的限制,由于節(jié)點(diǎn)信息是按概率轉(zhuǎn)發(fā)和維護(hù)的,尋找具有更好傳輸性能節(jié)點(diǎn)的過(guò)程比較緩慢。
發(fā)明內(nèi)容為了使重疊網(wǎng)絡(luò)在啟動(dòng)初期具有較好的傳輸性能,便于擴(kuò)展且加快發(fā)現(xiàn)對(duì)等節(jié)點(diǎn)速度,本發(fā)明實(shí)施例提供了一種重疊網(wǎng)絡(luò)及其構(gòu)建方法、對(duì)等節(jié)點(diǎn)的發(fā)現(xiàn)方法以及用戶節(jié)點(diǎn)。所述技術(shù)方案如下一種重疊網(wǎng)絡(luò)的構(gòu)建方法,所述方法包括以下步驟為每個(gè)直播頻道創(chuàng)建一個(gè)轉(zhuǎn)播節(jié)點(diǎn)列表,在所述轉(zhuǎn)播節(jié)點(diǎn)列表中維護(hù)所述直播頻道對(duì)應(yīng)的部分對(duì)等節(jié)點(diǎn)信息;為每個(gè)直播頻道創(chuàng)建一個(gè)分布式哈希表環(huán),在所述分布式哈希表環(huán)上通過(guò)每個(gè)對(duì)等節(jié)點(diǎn)的分布式指針表維護(hù)所述直播頻道對(duì)應(yīng)的所有對(duì)等節(jié)點(diǎn)信息。一種重疊網(wǎng)絡(luò)中對(duì)等節(jié)點(diǎn)的發(fā)現(xiàn)方法,所述方法包括以下步驟希望接收某個(gè)頻道數(shù)據(jù)的新用戶節(jié)點(diǎn)向轉(zhuǎn)播節(jié)點(diǎn)列表査找該頻道對(duì)應(yīng)的對(duì)等節(jié)點(diǎn)信息;所述新用戶節(jié)點(diǎn)接收到根據(jù)度量參數(shù)選擇的所述頻道對(duì)應(yīng)的轉(zhuǎn)播節(jié)點(diǎn)列表中的優(yōu)選對(duì)等節(jié)點(diǎn)信息,對(duì)所述優(yōu)選節(jié)點(diǎn)進(jìn)行性能探測(cè)后,把所述優(yōu)選對(duì)等節(jié)點(diǎn)作為備選父節(jié)點(diǎn);所述新用戶節(jié)點(diǎn)根據(jù)多參數(shù)父節(jié)點(diǎn)選擇策略,從所述備選父節(jié)點(diǎn)中選擇滿足系統(tǒng)性能要求的最少數(shù)量的優(yōu)選對(duì)等節(jié)點(diǎn)作為父節(jié)點(diǎn),并向所述父節(jié)點(diǎn)分別發(fā)起對(duì)不同數(shù)據(jù)塊的傳輸請(qǐng)求。一種重疊網(wǎng)絡(luò),所述重疊網(wǎng)絡(luò)包括目錄服務(wù)器、流媒體服務(wù)器和用戶節(jié)點(diǎn);所述目錄服務(wù)器用于為每個(gè)直播頻道創(chuàng)建一個(gè)轉(zhuǎn)播節(jié)點(diǎn)列表,所述轉(zhuǎn)播節(jié)點(diǎn)列表中維護(hù)所述直播頻道對(duì)應(yīng)的部分對(duì)等節(jié)點(diǎn)信息;所述流媒體服務(wù)器和用戶節(jié)點(diǎn)構(gòu)成分布式哈希表環(huán),每個(gè)直播頻道對(duì)應(yīng)一個(gè)分布式哈希表環(huán),在所述分布式哈希表環(huán)上通過(guò)每個(gè)對(duì)等節(jié)點(diǎn)的分布式指針表維護(hù)所述直播頻道對(duì)應(yīng)的所有對(duì)等節(jié)點(diǎn)信息。一種重疊網(wǎng)絡(luò)中的用戶節(jié)點(diǎn),所述用戶節(jié)點(diǎn)包括對(duì)等節(jié)點(diǎn)査找模塊、備選父節(jié)點(diǎn)存儲(chǔ)模塊和父節(jié)點(diǎn)選擇模塊;所述對(duì)等節(jié)點(diǎn)查找模塊用于向目錄服務(wù)器查找希望接收的頻道數(shù)據(jù)對(duì)應(yīng)的轉(zhuǎn)播節(jié)點(diǎn)列表中的優(yōu)選對(duì)等節(jié)點(diǎn)信息,并將所述優(yōu)選對(duì)等節(jié)點(diǎn)信息發(fā)送到所述備選父節(jié)點(diǎn)存儲(chǔ)模塊;所述備選父節(jié)點(diǎn)存儲(chǔ)模塊用于在接收到所述優(yōu)選對(duì)等節(jié)點(diǎn)信息,對(duì)所述優(yōu)選節(jié)點(diǎn)進(jìn)行性能探測(cè)后,存儲(chǔ)所述優(yōu)選對(duì)等節(jié)點(diǎn)信息;所述父節(jié)點(diǎn)選擇模塊用于根據(jù)多參數(shù)父節(jié)點(diǎn)選擇策略,從所述備選父節(jié)點(diǎn)存儲(chǔ)模塊中選擇滿足系統(tǒng)性能要求的最少數(shù)量的優(yōu)選對(duì)等節(jié)點(diǎn)作為父節(jié)點(diǎn),并向所述父節(jié)點(diǎn)分別發(fā)起對(duì)不同數(shù)據(jù)塊的傳輸請(qǐng)求。本發(fā)明實(shí)施例采用混合的對(duì)等節(jié)點(diǎn)維護(hù)機(jī)制,通過(guò)分布式哈希表環(huán)按一定規(guī)則分布式地維護(hù)全部對(duì)等節(jié)點(diǎn)信息,當(dāng)用戶節(jié)點(diǎn)數(shù)目增加時(shí),內(nèi)存開銷不會(huì)急劇增加,提高了系統(tǒng)的擴(kuò)展性。由于分布式哈希表環(huán)是結(jié)構(gòu)化分布式的維護(hù),相對(duì)于DONet的非結(jié)構(gòu)化的維護(hù)方式,維護(hù)開銷是受控的,使維護(hù)開銷保持在較低的等級(jí)。通過(guò)在目錄服務(wù)器上集中式地維護(hù)部分優(yōu)選節(jié)點(diǎn)的信息,加快了新用戶節(jié)點(diǎn)發(fā)現(xiàn)其它對(duì)等節(jié)點(diǎn)信息的速度,縮短了系統(tǒng)的啟動(dòng)延時(shí),并且用戶節(jié)點(diǎn)在啟動(dòng)初期就能獲得較好的接收質(zhì)量。由于用戶節(jié)點(diǎn)只在加入系統(tǒng)時(shí)才從目錄服務(wù)器獲取對(duì)等節(jié)點(diǎn)信息,因此能夠有效避免目錄服務(wù)器成為系統(tǒng)的單點(diǎn)瓶頸。圖1是現(xiàn)有技術(shù)提供的單源對(duì)等網(wǎng)絡(luò)流媒體直播系統(tǒng)示意圖2是現(xiàn)有技術(shù)提供的多源對(duì)等網(wǎng)絡(luò)流媒體直播系統(tǒng)示意圖3是本發(fā)明實(shí)施例1提供的重疊網(wǎng)絡(luò)構(gòu)建方法的流程圖4是本發(fā)明實(shí)施例1提供的對(duì)等節(jié)點(diǎn)信息混合維護(hù)模式的結(jié)構(gòu)示意圖5是本發(fā)明實(shí)施例1提供的節(jié)點(diǎn)數(shù)為6的DHT環(huán)的示意圖6是本發(fā)明實(shí)施例1提供的新用戶節(jié)點(diǎn)加入DHT環(huán)的時(shí)序示意圖7是本發(fā)明實(shí)施例1提供的新用戶節(jié)點(diǎn)(N=20)加入DHT環(huán)后的結(jié)構(gòu)示意圖8是本發(fā)明實(shí)施例2提供的對(duì)等節(jié)點(diǎn)的發(fā)現(xiàn)方法的流程圖9是本發(fā)明實(shí)施例2提供的多參數(shù)父節(jié)點(diǎn)選擇策略方法的流程圖10是本發(fā)明實(shí)施例3提供的重疊網(wǎng)絡(luò)的結(jié)構(gòu)示意圖11是本發(fā)明實(shí)施例4提供的重疊網(wǎng)絡(luò)中的用戶節(jié)點(diǎn)結(jié)構(gòu)示意圖。具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。實(shí)施例1本發(fā)明實(shí)施例提供了一種用于多源對(duì)等網(wǎng)絡(luò)流媒體直播系統(tǒng)的重疊網(wǎng)絡(luò)的構(gòu)建方法,包括為每個(gè)直播頻道創(chuàng)建一個(gè)轉(zhuǎn)播節(jié)點(diǎn)列表,在轉(zhuǎn)播節(jié)點(diǎn)列表中維護(hù)直播頻道對(duì)應(yīng)的部分對(duì)等節(jié)點(diǎn)信息;為每個(gè)直播頻道創(chuàng)建一個(gè)分布式哈希表環(huán),在分布式哈希表環(huán)上通過(guò)每個(gè)對(duì)等節(jié)點(diǎn)的分布式指針表維護(hù)直播頻道對(duì)應(yīng)的所有對(duì)等節(jié)點(diǎn)信息。在該重疊網(wǎng)絡(luò)構(gòu)建方法中,對(duì)等節(jié)點(diǎn)信息的維護(hù)和發(fā)現(xiàn)機(jī)制可以采用基于一個(gè)結(jié)合了目錄服務(wù)器和DHT(DistributedHashTable,分布式哈希表)環(huán)的網(wǎng)絡(luò)架構(gòu)。在該架構(gòu)下,對(duì)等節(jié)點(diǎn)信息采用混合的維護(hù)模式,它包括在目錄服務(wù)器上集中式地維護(hù)部分優(yōu)選對(duì)等節(jié)點(diǎn)的信息,以及為每個(gè)直播頻道創(chuàng)建一個(gè)DHT環(huán),用戶節(jié)點(diǎn)根據(jù)所希望接收的頻道分別加入不同的DHT環(huán),在DHT環(huán)上通過(guò)每個(gè)對(duì)等節(jié)點(diǎn)的分布式指針表,分布式地維護(hù)所有對(duì)等節(jié)點(diǎn)信息。參見圖3,上述方法具體步驟如下步驟101:設(shè)置目錄服務(wù)器,在目錄服務(wù)器上,為其上所發(fā)布的每個(gè)頻道,創(chuàng)建并維護(hù)一個(gè)正在轉(zhuǎn)播該頻道數(shù)據(jù)的部分優(yōu)選對(duì)等節(jié)點(diǎn)信息的列表,稱為轉(zhuǎn)播節(jié)點(diǎn)列表。當(dāng)一個(gè)流媒體服務(wù)器希望向Internet用戶節(jié)點(diǎn)提供流媒體服務(wù)時(shí),它需要把所發(fā)布頻道的相關(guān)信息向目錄服務(wù)器注冊(cè),也就是把頻道信息(頻道名稱、內(nèi)容介紹、創(chuàng)建時(shí)間、編碼速率)和本節(jié)點(diǎn)信息(IP地址、端口號(hào)、上行鏈路帶寬、子節(jié)點(diǎn)數(shù)、存活時(shí)間)發(fā)送給目錄服務(wù)器。當(dāng)目錄服務(wù)器接受該流媒體服務(wù)器的注冊(cè)以后,會(huì)把發(fā)布頻道的相關(guān)信息在Web上顯示出來(lái),以提供給用戶節(jié)點(diǎn)査看和點(diǎn)擊。參見圖4,本發(fā)明實(shí)施例提供的多源對(duì)等網(wǎng)絡(luò)流媒體直播系統(tǒng)的重疊網(wǎng)絡(luò)的構(gòu)建方法中用于對(duì)等節(jié)點(diǎn)信息混合維護(hù)模式的結(jié)構(gòu)示意圖。圖4中目錄服務(wù)器的IP地址是眾所周知的固定地址(例如202.38.72.133)。目錄服務(wù)器為在本機(jī)上注冊(cè)的每個(gè)頻道創(chuàng)建一個(gè)轉(zhuǎn)播節(jié)點(diǎn)列表,用以存儲(chǔ)正在轉(zhuǎn)播該頻道的優(yōu)選的部分對(duì)等節(jié)點(diǎn)信息。參見表1,該表內(nèi)容中,上半部分包括流媒體服務(wù)器及該頻道對(duì)應(yīng)的用戶節(jié)點(diǎn)的節(jié)點(diǎn)信息,下半部分包括流媒體服務(wù)器向目錄服務(wù)器注冊(cè)的頻道信息。表l<table>tableseeoriginaldocumentpage10</column></row><table>在轉(zhuǎn)播節(jié)點(diǎn)列表的創(chuàng)建過(guò)程中,首先獲知的是提供每個(gè)頻道的流媒體服務(wù)的流媒體服務(wù)器,然后新加入的用戶節(jié)點(diǎn)需要向目錄服務(wù)器請(qǐng)求,當(dāng)目錄服務(wù)器獲知的對(duì)等節(jié)點(diǎn)數(shù)目超過(guò)轉(zhuǎn)播節(jié)點(diǎn)列表所能維護(hù)的最大節(jié)點(diǎn)數(shù)目時(shí),就不再接收新的用戶節(jié)點(diǎn)。步驟102:為每個(gè)直播頻道創(chuàng)建一個(gè)分布式哈希表環(huán),在分布式哈希表環(huán)上維護(hù)直播頻道對(duì)應(yīng)的所有對(duì)等節(jié)點(diǎn)信息,分布式哈希表環(huán)上的每個(gè)對(duì)等節(jié)點(diǎn)通過(guò)分布式指針表實(shí)現(xiàn)對(duì)等節(jié)點(diǎn)信息的維護(hù)。由所有接收相同頻道的對(duì)等節(jié)點(diǎn)(包括流媒體服務(wù)器)自組織成一個(gè)環(huán)狀結(jié)構(gòu),稱為DHT環(huán),環(huán)上的每個(gè)對(duì)等節(jié)點(diǎn)通過(guò)分布式指針表的形式實(shí)現(xiàn)對(duì)部分對(duì)等節(jié)點(diǎn)信息的維護(hù),DHT環(huán)上所有節(jié)點(diǎn)聯(lián)合起來(lái)就維護(hù)了所有節(jié)點(diǎn)的信息。參見圖4中的DHT環(huán)1,是由所有接收頻道1的對(duì)等節(jié)點(diǎn)(包括頻道1的服務(wù)器)自組織而成,環(huán)上的每個(gè)對(duì)等節(jié)點(diǎn)都維護(hù)一個(gè)指針表,正是通過(guò)指針表的形式實(shí)現(xiàn)對(duì)對(duì)等節(jié)點(diǎn)信息的分布式維護(hù)。其中,指針表的存儲(chǔ)規(guī)則如下節(jié)點(diǎn)標(biāo)識(shí)符為N,則指針表中第1項(xiàng)維護(hù)的是圓環(huán)上節(jié)點(diǎn)標(biāo)識(shí)符大于或等于N+^的第一個(gè)對(duì)等節(jié)點(diǎn)(以2"*為模)的信息,以此類推,指針表中第i項(xiàng)維護(hù)的是圓環(huán)上節(jié)點(diǎn)標(biāo)識(shí)符大于或等于N+2"的第一個(gè)對(duì)等節(jié)點(diǎn)的信息。參見表2,指針表中每個(gè)對(duì)等節(jié)點(diǎn)維護(hù)如下參數(shù)該節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)標(biāo)識(shí)符、IP地址、端口號(hào)、上行鏈路帶寬、存活時(shí)間、子節(jié)點(diǎn)數(shù)目。表2<table>tableseeoriginaldocumentpage11</column></row><table>參見圖5,提供了一個(gè)n=6的DHT環(huán)的示例,環(huán)中分布了6個(gè)節(jié)點(diǎn),并給出了節(jié)點(diǎn)標(biāo)識(shí)符N-20的對(duì)等節(jié)點(diǎn)的指針表,例如N=41的對(duì)等節(jié)點(diǎn)是環(huán)上緊接在N=20+2。)mod26=21之后的第一個(gè)節(jié)點(diǎn),所以Nz20的對(duì)等節(jié)點(diǎn)所維護(hù)的指針表的第l項(xiàng)是N:41的對(duì)等節(jié)點(diǎn)的信息;同理,因?yàn)镹=63的對(duì)等節(jié)點(diǎn)是環(huán)上節(jié)點(diǎn)標(biāo)識(shí)符大于或等于N-(20+2s)mod2e-52的第一個(gè)節(jié)點(diǎn),所以N=20的對(duì)等節(jié)點(diǎn)所維護(hù)的指針表的第6項(xiàng)是N=63的對(duì)等節(jié)點(diǎn)的信息。其中,N=41,N=63的對(duì)等節(jié)點(diǎn)都稱為N-20的對(duì)等節(jié)點(diǎn)的后繼節(jié)點(diǎn),N=41的對(duì)等節(jié)點(diǎn)又稱為第l后繼節(jié)點(diǎn)。參見圖6,提供了具體的新用戶節(jié)點(diǎn)(202.38.75.11)加入DHT環(huán)的時(shí)序圖,假設(shè)DHT環(huán)11上已有5個(gè)對(duì)等節(jié)點(diǎn)。'(1)新用戶節(jié)點(diǎn)(202.38.75.11)登錄到目錄服務(wù)器(202.38.72.133)進(jìn)行査找,并請(qǐng)求相關(guān)fe息;(2)目錄服務(wù)器把該頻道對(duì)應(yīng)的轉(zhuǎn)播節(jié)點(diǎn)列表中的對(duì)等節(jié)點(diǎn)信息<202.38.64.62、202.38.64.10、210.45.121.107、211.86.149.94、148.233.229.235>返回給新用戶節(jié)點(diǎn);(3)新用戶節(jié)點(diǎn)使用哈希函數(shù)哈希自己的IP地址(202.38.75.11)得到本節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)符N:20,然后隨機(jī)選擇一個(gè)節(jié)點(diǎn)^=43,1=202.38.64.10)作為搜索起始節(jié)點(diǎn),向其發(fā)起搜索請(qǐng)求,搜索節(jié)點(diǎn)標(biāo)識(shí)符為關(guān)鍵字(key=21,22,24,28,36,52)的后繼節(jié)點(diǎn)信息;(4)N43在收到請(qǐng)求后,首先判斷搜索關(guān)鍵字key=21,22,24,28,36,52位于本節(jié)點(diǎn)標(biāo)識(shí)符N43與第1后繼節(jié)點(diǎn)標(biāo)識(shí)符N46所標(biāo)識(shí)的區(qū)間之外,于是查找指針表,發(fā)現(xiàn)key=21,22,24,28,36位于N63和N41標(biāo)識(shí)的區(qū)間之內(nèi)(過(guò)DHT環(huán)的NO點(diǎn)),于是把對(duì)key=21,22,24,28,36的搜索請(qǐng)求轉(zhuǎn)交給N63,而key=52位于N46和N63標(biāo)識(shí)的區(qū)間之內(nèi),于是把對(duì)key=52的搜索請(qǐng)求轉(zhuǎn)交給N46;(5)N63收到對(duì)key=21,22,24,28,36的搜索請(qǐng)求,查找指針表,發(fā)現(xiàn)key=21,22,24,28,36位于N5和N41標(biāo)識(shí)的區(qū)間之內(nèi),于是把搜索請(qǐng)求轉(zhuǎn)交給N5,N5發(fā)現(xiàn)key=21,22,24,28,36位于N5和它的第1后繼節(jié)點(diǎn)N41標(biāo)識(shí)的區(qū)間內(nèi),于是把N41作為key=21,22,24,28,36的后繼節(jié)點(diǎn)信息返回給新用戶節(jié)點(diǎn);同樣,N46發(fā)現(xiàn)key二52位于N46和它的第l后繼節(jié)點(diǎn)N63標(biāo)識(shí)的區(qū)間內(nèi),于是把N63作為key=52的后繼節(jié)點(diǎn)信息返回給新用戶節(jié)點(diǎn);(6)新用戶節(jié)點(diǎn)在收到返回的后繼節(jié)點(diǎn)信息以后,初始化本地指針表key-21,22,24,28,36—N41,key=52—N63;'(7)新用戶節(jié)點(diǎn)向N41和N63分別發(fā)送應(yīng)答消息,請(qǐng)求這些后繼節(jié)點(diǎn)經(jīng)將自己的信息加入它們所維護(hù)的反向指針表;(8)N41和N63在收到應(yīng)答消息以后,把N20的信息加入到自己維護(hù)的反向指針表中;(9)N41和N63向N20發(fā)出反向確認(rèn);(10)N20在第一次收到后繼節(jié)點(diǎn)發(fā)來(lái)的反向確認(rèn)消息以后,查找指針表中第1后繼節(jié)點(diǎn)的信息N41,向其發(fā)出查找消息;(11)N41在收到査找消息以后,判斷N20是自己的新前驅(qū)節(jié)點(diǎn),于是査找自己反向指針表中的所有節(jié)點(diǎn)〈N5,N41,N43,N46,N63〉,向這些節(jié)點(diǎn)發(fā)出更新請(qǐng)求,把N20的信息告訴這些節(jié)點(diǎn);(12)N5收到更新消息后,査看指針表,發(fā)現(xiàn)需要把key:6,7,9,13對(duì)應(yīng)的后繼節(jié)點(diǎn)信息更新為N20;同樣N41發(fā)現(xiàn)需要把key=9對(duì)應(yīng)的后繼節(jié)點(diǎn)信息更新為N20;N43發(fā)現(xiàn)需要把key=ll對(duì)應(yīng)的后繼節(jié)點(diǎn)信息更新為N20;N46發(fā)現(xiàn)需要把key=14對(duì)應(yīng)的后繼節(jié)點(diǎn)信息更新為N20;N63發(fā)現(xiàn)需要把key=15對(duì)應(yīng)的后繼節(jié)點(diǎn)信息更新為N20;(13)N5,N41,N43,N46,N63發(fā)現(xiàn)N20是指針表中新出現(xiàn)的節(jié)點(diǎn),于是通知N20把自己加入N20維護(hù)的反向指針表;(14)N41、N43、N46分別發(fā)現(xiàn)N41從自己的指針表中消失,于是通知N41把N41、N43、N46從N41維護(hù)的反向指針表中刪除。參見圖7,提供了新用戶節(jié)點(diǎn)(N=20)加入DHT環(huán)后的結(jié)構(gòu)示意圖。上述兩個(gè)步驟實(shí)現(xiàn)了對(duì)等節(jié)點(diǎn)信息的混合維護(hù)模式,除了由目錄服務(wù)器集中式地維護(hù)部分優(yōu)選對(duì)等節(jié)點(diǎn)的信息之外,還通過(guò)一個(gè)環(huán)狀結(jié)構(gòu)(DHT環(huán))來(lái)對(duì)所有對(duì)等節(jié)點(diǎn)的信息進(jìn)行分布式維護(hù)。其中每個(gè)頻道對(duì)應(yīng)一個(gè)DHT環(huán),每個(gè)環(huán)都與目錄服務(wù)器保持連接。步驟103:探測(cè)分布式哈希表環(huán)上維護(hù)的對(duì)等節(jié)點(diǎn)信息,根據(jù)度量參數(shù)更新轉(zhuǎn)播節(jié)點(diǎn)列表。由于在目錄服務(wù)器上,為每個(gè)頻道都維護(hù)一個(gè)轉(zhuǎn)播節(jié)點(diǎn)列表,每當(dāng)新用戶節(jié)點(diǎn)加入時(shí)都首先獲得轉(zhuǎn)播節(jié)點(diǎn)列表中維護(hù)的對(duì)等節(jié)點(diǎn)信息。如果始終保持這些對(duì)等節(jié)點(diǎn)的信息不變,將可能使這些節(jié)點(diǎn)成為潛在的性能瓶頸。采用選擇策略根據(jù)度量參數(shù)來(lái)更新每個(gè)頻道的轉(zhuǎn)播節(jié)點(diǎn)列表。其具體步驟如下-(1)目錄服務(wù)器每隔一個(gè)定時(shí)周期,就從轉(zhuǎn)播節(jié)點(diǎn)列表中隨機(jī)選擇一個(gè)對(duì)等節(jié)點(diǎn)作為目標(biāo)節(jié)點(diǎn),向其發(fā)出更新請(qǐng)求;(2)目標(biāo)節(jié)點(diǎn)收到請(qǐng)求后,把本節(jié)點(diǎn)維護(hù)的所有對(duì)等節(jié)點(diǎn)信息,即本節(jié)點(diǎn)的本地指針表、反向指針表、備選父節(jié)點(diǎn)列表中維護(hù)的所有對(duì)等節(jié)點(diǎn)信息返回給目錄服務(wù)器;(3)對(duì)于目錄服務(wù)器來(lái)說(shuō),若新獲知的對(duì)等節(jié)點(diǎn)數(shù)目到達(dá)要求(例如10個(gè)),則停止探測(cè),并按照選擇策略,即選擇度量參數(shù)對(duì)所有獲知的節(jié)點(diǎn)進(jìn)行排序,把性能較差的對(duì)等節(jié)點(diǎn)的信息從轉(zhuǎn)播節(jié)點(diǎn)列表中刪除,對(duì)轉(zhuǎn)播節(jié)點(diǎn)列表進(jìn)行更新;若未達(dá)到要求,則重復(fù)上述步驟(1)(2)直到新獲知的對(duì)等節(jié)點(diǎn)數(shù)目滿足要求或者重復(fù)次數(shù)達(dá)到設(shè)定要求為止。其中,使用以下參數(shù)或這些參數(shù)的組合作為選擇策略的度量參數(shù)(1)轉(zhuǎn)播用戶節(jié)點(diǎn)的存活時(shí)間,即該用戶節(jié)點(diǎn)接收這個(gè)頻道的時(shí)間長(zhǎng)度,建議保留存活時(shí)間較長(zhǎng)的轉(zhuǎn)播用戶節(jié)點(diǎn);(2)轉(zhuǎn)播用戶節(jié)點(diǎn)的上行鏈路帶寬,即該用戶節(jié)點(diǎn)能夠?yàn)槠渌脩艄?jié)點(diǎn)提供數(shù)據(jù)傳輸?shù)膸?,建議保留上行鏈路帶寬較大的轉(zhuǎn)播用戶節(jié)點(diǎn);(3)轉(zhuǎn)播用戶節(jié)點(diǎn)的上行鏈路帶寬與子節(jié)點(diǎn)數(shù)目的比值,即扇出帶寬,扇出帶寬越大,說(shuō)明轉(zhuǎn)播用戶節(jié)點(diǎn)能提供給其每個(gè)子節(jié)點(diǎn)的輸出帶寬越大,傳輸性能越好,因此建議保留扇出帶寬較大的轉(zhuǎn)播用戶節(jié)點(diǎn)。實(shí)施例2本發(fā)明實(shí)施例提供了一種重疊網(wǎng)絡(luò)中對(duì)等節(jié)點(diǎn)的發(fā)現(xiàn)方法,包括-希望接收某個(gè)頻道數(shù)據(jù)的新用戶節(jié)點(diǎn)向轉(zhuǎn)播節(jié)點(diǎn)列表査找該頻道對(duì)應(yīng)的對(duì)等節(jié)點(diǎn)信息;新用戶節(jié)點(diǎn)接收到根據(jù)度量參數(shù)選擇的頻道對(duì)應(yīng)的轉(zhuǎn)播節(jié)點(diǎn)列表中的優(yōu)選對(duì)等節(jié)點(diǎn)信息,對(duì)優(yōu)選節(jié)點(diǎn)進(jìn)行性能探測(cè)后,把優(yōu)選對(duì)等節(jié)點(diǎn)作為備選父節(jié)點(diǎn);新用戶節(jié)點(diǎn)根據(jù)多參數(shù)父節(jié)點(diǎn)選擇策略,從備選父節(jié)點(diǎn)中選擇滿足系統(tǒng)性能要求的最少數(shù)量的優(yōu)選對(duì)等節(jié)點(diǎn)作為父節(jié)點(diǎn),并向父節(jié)點(diǎn)分別發(fā)起對(duì)不同數(shù)據(jù)塊的傳輸請(qǐng)求。參見圖8,本實(shí)施例提供的一種重疊網(wǎng)絡(luò)中對(duì)等節(jié)點(diǎn)的發(fā)現(xiàn)方法的具體實(shí)施步驟-步驟201:新用戶節(jié)點(diǎn)希望接收某個(gè)頻道的數(shù)據(jù)時(shí),登錄到目錄服務(wù)器查找該頻道對(duì)應(yīng)的對(duì)等節(jié)點(diǎn)信息,以獲取合適轉(zhuǎn)播節(jié)點(diǎn)。步驟202:新用戶節(jié)點(diǎn)在接收到目錄服務(wù)器根據(jù)度量參數(shù)選擇的頻道對(duì)應(yīng)的轉(zhuǎn)播節(jié)點(diǎn)列表中的優(yōu)選對(duì)等節(jié)點(diǎn)信息后,對(duì)獲知的M個(gè)對(duì)等節(jié)點(diǎn)分別進(jìn)行性能探測(cè)。其中,在實(shí)際情況中,為了防止多個(gè)節(jié)點(diǎn)突然離開的現(xiàn)象,一般轉(zhuǎn)播節(jié)點(diǎn)列表維護(hù)的節(jié)點(diǎn)數(shù)目較多,例如40個(gè)或者更多,而返回給新用戶節(jié)點(diǎn)的節(jié)點(diǎn)數(shù)目一般較少,例如10個(gè)。其中,性能參數(shù)包括對(duì)等節(jié)點(diǎn)存活時(shí)間,節(jié)點(diǎn)間的端到端延時(shí),對(duì)等節(jié)點(diǎn)的上行鏈路帶寬,子節(jié)點(diǎn)數(shù)目等。步驟203:新用戶節(jié)點(diǎn)在探測(cè)到上述性能參數(shù)后,把這些信息存入自己的備選父節(jié)點(diǎn)列表中。新用戶節(jié)點(diǎn)可獲知當(dāng)前網(wǎng)絡(luò)上活躍的其它對(duì)等節(jié)點(diǎn)的信息。其中,由于對(duì)等網(wǎng)絡(luò)中的節(jié)點(diǎn)可能會(huì)頻繁地加入和退出,各節(jié)點(diǎn)的性能也可能動(dòng)態(tài)變化,因此用戶節(jié)點(diǎn)需要對(duì)本地維護(hù)的備選父節(jié)點(diǎn)列表進(jìn)行周期更新,在本發(fā)明實(shí)施例中,可以采用一種關(guān)聯(lián)查詢策略,使用戶節(jié)點(diǎn)可以從DHT環(huán)上搜索到更多的活躍對(duì)等節(jié)點(diǎn)的信息。具體步驟如下(1)用戶節(jié)點(diǎn)從備選父節(jié)點(diǎn)列表中隨機(jī)選擇一個(gè)節(jié)點(diǎn)作為目標(biāo)節(jié)點(diǎn),向其發(fā)出査詢請(qǐng)求;(2)目標(biāo)節(jié)點(diǎn)收到請(qǐng)求后,把自己指針表中維護(hù)的所有對(duì)等節(jié)點(diǎn)信息返回給用戶節(jié)點(diǎn);(3)對(duì)于用戶節(jié)點(diǎn)來(lái)說(shuō),若新獲知的對(duì)等節(jié)點(diǎn)數(shù)目到達(dá)要求,則停止探測(cè);若未達(dá)到要求,則重復(fù)步驟(l)(2)直到新獲知的對(duì)等節(jié)點(diǎn)數(shù)目滿足要求或者迭代搜索次數(shù)達(dá)到限制值為止。(4)當(dāng)用戶節(jié)點(diǎn)獲知的對(duì)等節(jié)點(diǎn)數(shù)目小于備選父節(jié)點(diǎn)列表所能維護(hù)的最大節(jié)點(diǎn)數(shù)目,則將新獲知的對(duì)等節(jié)點(diǎn)加入到備選父節(jié)點(diǎn)列表;當(dāng)用戶節(jié)點(diǎn)獲知的對(duì)等節(jié)點(diǎn)數(shù)目超過(guò)備選父節(jié)點(diǎn)列表所能維護(hù)的最大節(jié)點(diǎn)數(shù)目,需要按照實(shí)施例1提供的選擇策略對(duì)應(yīng)的度量參數(shù)(如對(duì)等節(jié)點(diǎn)的上行鏈路帶寬與子節(jié)點(diǎn)數(shù)目的比值,即扇出帶寬)對(duì)這些節(jié)點(diǎn)的性能進(jìn)行評(píng)估,根據(jù)評(píng)估結(jié)果,將性能較差的節(jié)點(diǎn)從備選父節(jié)點(diǎn)列表中刪除。用戶節(jié)點(diǎn)只在加入系統(tǒng)時(shí)才從目錄服務(wù)器獲取對(duì)等節(jié)點(diǎn)信息,其它時(shí)候可以通過(guò)本步驟中對(duì)備選父節(jié)點(diǎn)列表的更新方法,在DHT環(huán)上探測(cè)對(duì)等節(jié)點(diǎn)信息,因此能夠有效避免目錄服務(wù)器成為系統(tǒng)的單點(diǎn)瓶頸。由于采用了關(guān)聯(lián)查詢方式,査詢方式簡(jiǎn)單,能夠保持較低的査詢開銷。步驟204:新用戶節(jié)點(diǎn)從本地維護(hù)的備選父節(jié)點(diǎn)列表中,按照多參數(shù)父節(jié)點(diǎn)選擇策略,選擇滿足系統(tǒng)性能要求的最少數(shù)量的優(yōu)選對(duì)等節(jié)點(diǎn)作為父節(jié)點(diǎn)數(shù),即選擇出MIN個(gè)對(duì)等節(jié)點(diǎn)存入一個(gè)本地維護(hù)的父節(jié)點(diǎn)列表,作為自己的數(shù)據(jù)源提供者。步驟205:新用戶節(jié)點(diǎn)把這MIN個(gè)對(duì)等節(jié)點(diǎn)作為父節(jié)點(diǎn),分別發(fā)起對(duì)不同數(shù)據(jù)塊的傳輸請(qǐng)求。用戶節(jié)點(diǎn)在與MIN個(gè)對(duì)等節(jié)點(diǎn)分別建立數(shù)據(jù)傳輸連接以后,還可以發(fā)起對(duì)父節(jié)點(diǎn)進(jìn)行的優(yōu)化選擇。同時(shí)對(duì)MIN個(gè)連接進(jìn)行性能監(jiān)控,當(dāng)發(fā)生異常情況時(shí),例如,監(jiān)測(cè)到MIN個(gè)連接的總的接收速率不滿足流媒體的性能要求,用戶節(jié)點(diǎn)會(huì)通過(guò)多參數(shù)父節(jié)點(diǎn)選擇策略,從備選父節(jié)點(diǎn)列表中選擇對(duì)等節(jié)點(diǎn),逐一增加父節(jié)點(diǎn)數(shù)目,直到傳輸速率滿足要求,或者重新選擇新的父節(jié)點(diǎn)以代替原有的父節(jié)點(diǎn)。其基本步驟如下(1)用戶節(jié)點(diǎn)在與多個(gè)父節(jié)點(diǎn)建立連接后,會(huì)對(duì)每個(gè)連接的數(shù)據(jù)傳輸速率進(jìn)行監(jiān)控;(2)若在監(jiān)控周期內(nèi)檢測(cè)到總的接收速率沒(méi)有到達(dá)該頻道要求的傳輸速率時(shí),并且父節(jié)點(diǎn)數(shù)目小于系統(tǒng)允許的最大父節(jié)點(diǎn)數(shù)MAX,則根據(jù)多參數(shù)父節(jié)點(diǎn)選擇策略從備選父節(jié)點(diǎn)列表中選擇一個(gè)新的對(duì)等節(jié)點(diǎn)加入父節(jié)點(diǎn)列表,同時(shí)建立一條新的數(shù)據(jù)傳輸連接;(3)若父節(jié)點(diǎn)數(shù)目已經(jīng)達(dá)到MAX,則用戶節(jié)點(diǎn)從備選父節(jié)點(diǎn)列表中選擇一個(gè)新的對(duì)等節(jié)點(diǎn)并建立連接,若在下一個(gè)監(jiān)控周期內(nèi),新連接的傳輸速率高于舊連接中最小的傳輸速率,則把新對(duì)等節(jié)點(diǎn)代替最小傳輸速率對(duì)應(yīng)的父節(jié)點(diǎn),然后更新相應(yīng)的父節(jié)點(diǎn)列表。當(dāng)監(jiān)測(cè)到某個(gè)父節(jié)點(diǎn)的數(shù)據(jù)傳輸速率顯著下降(可能由節(jié)點(diǎn)崩潰或者網(wǎng)絡(luò)擁塞等多種原因造成),并且在一段時(shí)間內(nèi)沒(méi)有恢復(fù),則會(huì)從備選父節(jié)點(diǎn)列表中重新選擇一個(gè)新的對(duì)等節(jié)點(diǎn)來(lái)代替該節(jié)點(diǎn),將該節(jié)點(diǎn)從自己的備選節(jié)點(diǎn)列表中刪除。上述多參數(shù)父節(jié)點(diǎn)選擇策略如下,選取第一度量參數(shù),將備選父節(jié)點(diǎn)根據(jù)第一度量參數(shù)的性能順序排列;比較按序排列的相鄰兩個(gè)備選父節(jié)點(diǎn)的第一度量參數(shù),如果相鄰兩個(gè)備選父節(jié)點(diǎn)的第一度量參數(shù)的差值大于預(yù)先設(shè)定的第一度量參數(shù)門限值,則選擇第一度量參數(shù)較大的備選父節(jié)點(diǎn)作為父節(jié)點(diǎn),否則,從選擇策略中選取第二度量參數(shù),比較相鄰兩個(gè)備選父節(jié)點(diǎn)的第二度量參數(shù);如果相鄰兩個(gè)備選父節(jié)點(diǎn)的第二度量參數(shù)的差值大于預(yù)先設(shè)定的第二度量參數(shù)門限值,則選擇第二度量參數(shù)較大的備選父節(jié)點(diǎn)作為父節(jié)點(diǎn),否則,選擇第一度量參數(shù)較大的備選父節(jié)點(diǎn)作為父節(jié)點(diǎn)。參見圖9,下面以一個(gè)具體實(shí)施例對(duì)上述多參數(shù)父節(jié)點(diǎn)選擇策略進(jìn)行闡述。每個(gè)備選父節(jié)點(diǎn)P(i)由一個(gè)3元組標(biāo)識(shí)〈IP(i),Bc(i),T(i)〉。其中,i是任一正整數(shù),用以標(biāo)號(hào)區(qū)別備選父節(jié)點(diǎn),IP(i)是備選父節(jié)點(diǎn)的IP地址,Bc(i)是備選父節(jié)點(diǎn)的扇出帶寬,作為第一度量參數(shù),T(i)是備選父節(jié)點(diǎn)的存活時(shí)間,作為第二度量參數(shù),N為備選節(jié)點(diǎn)數(shù)目,ABc、△T均為預(yù)先設(shè)定的門限值。步驟301:計(jì)算所有備選父節(jié)點(diǎn)的扇出帶寬Bc(i),并以Bc(i)為度量參數(shù),把備選父節(jié)點(diǎn)按序排列P(j),其中j的取值范圍為l至N。在本具體實(shí)施例中,以備選父節(jié)點(diǎn)根據(jù)度量參數(shù)扇出帶寬值按降序排列為例。步驟302:設(shè)置參數(shù)j,使其初始數(shù)值為l。步驟303:比較兩個(gè)備選父節(jié)點(diǎn)P(j)和P(j+1)的扇出帶寬Bc(j)和Bc(j+1),判斷Bc(j)-Bc(j+1)是否大于ABc,若是,則說(shuō)明備選父節(jié)點(diǎn)P(j)的扇出帶寬Bc(j)更滿足選擇策略要求,執(zhí)行步驟307;否則,Bc(j)-Bc(j+l)不大于ABc,說(shuō)明扇出帶寬Bc(j)和扇出帶寬BcG+l)差別不滿足預(yù)先設(shè)定的扇出帶寬門限值,即P(j)和P(j+l)的扇出帶寬差別不大,則需要進(jìn)一步根據(jù)存活時(shí)間作為度量參數(shù)進(jìn)行選擇,即執(zhí)行步驟304。步驟304:比較兩個(gè)備選父節(jié)點(diǎn)P(j)和P(j+1)的存活時(shí)間T(j)和T(j+1),判斷IT(JKT(j+l)1是否大于AT,若是,說(shuō)明T(j)和T(j+l)的之間的差別滿足預(yù)先設(shè)定的門限值。但需要進(jìn)一步從P(j)和P(j+l)中選擇出存活時(shí)間較長(zhǎng)的備選父節(jié)點(diǎn),即則執(zhí)行步驟305,否則,說(shuō)明P(j)和P(j+1)的存活時(shí)間差別不大,則選擇扇出帶寬較大的P(j)作為父節(jié)點(diǎn),即執(zhí)行步驟307。步驟305:判斷T(j)是否大于T(j+1),若是,說(shuō)明P(j)的存活時(shí)間大于P(j+l)的存活時(shí)間,則執(zhí)行步驟307,否則,說(shuō)明P(j)的存活時(shí)間不大于P(j+l)的存活時(shí)間,則執(zhí)行步驟306。步驟306:選擇P(j+1)作為父節(jié)點(diǎn)并交換P(j+1)和P(j)的位置。步驟307:選擇P(j)作為父節(jié)點(diǎn)。步驟308:判斷j是否小于N-l,若是,則令j叫+l,即執(zhí)行步驟309;當(dāng)j-N-l時(shí),結(jié)束選擇策略。步驟309,設(shè)置參數(shù)j的數(shù)值加l,返回繼續(xù)進(jìn)行迭代。上述實(shí)施例中多參數(shù)父節(jié)點(diǎn)選擇策略是以扇出帶寬和存活時(shí)間作為選擇的度量參數(shù),也可以采用其它性能參數(shù),例如轉(zhuǎn)播用戶的上行鏈路帶寬等。實(shí)施例3參見圖IO,本實(shí)施例提供了一種重疊網(wǎng)絡(luò),包括目錄服務(wù)器401、流媒體服務(wù)器402和用戶節(jié)點(diǎn)403,其中目錄服務(wù)器401,用于為每個(gè)直播頻道創(chuàng)建一個(gè)轉(zhuǎn)播節(jié)點(diǎn)列表,在轉(zhuǎn)播節(jié)點(diǎn)列表中維護(hù)直播頻道對(duì)應(yīng)的部分對(duì)等節(jié)點(diǎn)信息。流媒體服務(wù)器402,用于與用戶節(jié)點(diǎn)403構(gòu)成分布式哈希表環(huán),其中每個(gè)直播頻道對(duì)應(yīng)一個(gè)分布式哈希表環(huán),在分布式哈希表環(huán)上維護(hù)該直播頻道對(duì)應(yīng)的所有對(duì)等節(jié)點(diǎn)信息,分布式哈希表環(huán)上的每個(gè)對(duì)等節(jié)點(diǎn)通過(guò)分布式指針表實(shí)現(xiàn)對(duì)等節(jié)點(diǎn)信息的維護(hù)。用戶節(jié)點(diǎn)403,用于與流媒體服務(wù)器402構(gòu)成分布式哈希表環(huán),其中每個(gè)直播頻道對(duì)應(yīng)一個(gè)分布式哈希表環(huán),在分布式哈希表環(huán)上維護(hù)該直播頻道對(duì)應(yīng)的所有對(duì)等節(jié)點(diǎn)信息,分布式哈希表環(huán)上的每個(gè)對(duì)等節(jié)點(diǎn)通過(guò)分布式指針表實(shí)現(xiàn)對(duì)等節(jié)點(diǎn)信息的維護(hù),并用于在重疊網(wǎng)絡(luò)中請(qǐng)求和提供數(shù)據(jù)。在實(shí)際應(yīng)用中,上述目錄服務(wù)器401和流媒體服務(wù)器402所實(shí)現(xiàn)的功能,可以使用一臺(tái)服務(wù)器實(shí)現(xiàn)。實(shí)施例4參見圖ll,本發(fā)明實(shí)施例提供了一種重疊網(wǎng)絡(luò)中的用戶節(jié)點(diǎn),包括對(duì)等節(jié)點(diǎn)査找模塊501,用于向目錄服務(wù)器401查找希望接收的頻道數(shù)據(jù)對(duì)應(yīng)的轉(zhuǎn)播節(jié)點(diǎn)列表中的優(yōu)選對(duì)等節(jié)點(diǎn)信息,并將優(yōu)選對(duì)等節(jié)點(diǎn)信息發(fā)送到備選父節(jié)點(diǎn)存儲(chǔ)模塊502。備選父節(jié)點(diǎn)存儲(chǔ)模塊502,用于在接收到優(yōu)選對(duì)等節(jié)點(diǎn)信息,對(duì)優(yōu)選對(duì)等節(jié)點(diǎn)進(jìn)行性能探測(cè)后,存儲(chǔ)優(yōu)選對(duì)等節(jié)點(diǎn)信息。父節(jié)點(diǎn)選擇模塊503,用于根據(jù)多參數(shù)父節(jié)點(diǎn)選擇策略,從備選父節(jié)點(diǎn)存儲(chǔ)模塊502中選擇滿足系統(tǒng)性能要求的最少數(shù)量的優(yōu)選對(duì)等節(jié)點(diǎn)作為父節(jié)點(diǎn),并向父節(jié)點(diǎn)分別發(fā)起對(duì)不同數(shù)據(jù)塊的傳輸請(qǐng)求。進(jìn)一步,用戶節(jié)點(diǎn)還可以包括備選父節(jié)點(diǎn)更新模塊,用于從備選父節(jié)點(diǎn)存儲(chǔ)模塊502中隨機(jī)選擇一個(gè)或多個(gè)節(jié)點(diǎn)作為目標(biāo)節(jié)點(diǎn),向目標(biāo)節(jié)點(diǎn)發(fā)出査詢請(qǐng)求;接收到目標(biāo)節(jié)點(diǎn)返回的所維護(hù)的所有對(duì)等節(jié)點(diǎn)信息后,如果用戶節(jié)點(diǎn)新獲知的對(duì)等節(jié)點(diǎn)數(shù)目到達(dá)設(shè)定要求,則停止探測(cè),如果用戶節(jié)點(diǎn)獲知的對(duì)等節(jié)點(diǎn)數(shù)目小于所能維護(hù)的備選父節(jié)點(diǎn)的最大節(jié)點(diǎn)數(shù),則將新獲知的對(duì)等節(jié)點(diǎn)加入到備選父節(jié)點(diǎn)中;否則將度量參數(shù)性能較差的節(jié)點(diǎn)從備選父節(jié)點(diǎn)中刪除。進(jìn)一步,用戶節(jié)點(diǎn)還可以包括父節(jié)點(diǎn)優(yōu)化模塊,用于對(duì)用戶節(jié)點(diǎn)與父節(jié)點(diǎn)的連接進(jìn)行性能監(jiān)控,當(dāng)發(fā)生異常情況時(shí),根據(jù)多參數(shù)父節(jié)點(diǎn)選擇策略從備選父節(jié)點(diǎn)中選擇對(duì)等節(jié)點(diǎn),逐一增加父節(jié)點(diǎn)數(shù)目,直到性能滿足要求,或者重新選擇新的父節(jié)點(diǎn)以代替原有的父節(jié)點(diǎn)。以上實(shí)施例提供的技術(shù)方案中部分步驟可以通過(guò)軟件實(shí)現(xiàn),軟件存儲(chǔ)在可讀取的存儲(chǔ)介質(zhì)上,如計(jì)算機(jī)的軟盤,硬盤或光盤等。本發(fā)明實(shí)施例提供的技術(shù)方案采用混合的對(duì)等節(jié)點(diǎn)維護(hù)機(jī)制,通過(guò)DHT環(huán)按一定規(guī)則分布式地維護(hù)全部對(duì)等節(jié)點(diǎn)信息,當(dāng)用戶節(jié)點(diǎn)數(shù)目增加時(shí),內(nèi)存開銷不會(huì)急劇增加,提高了系統(tǒng)的擴(kuò)展性。由于DHT環(huán)是結(jié)構(gòu)化分布式的維護(hù),相對(duì)于DONet的非結(jié)構(gòu)化的維護(hù)方式,維護(hù)開銷是受控的,使維護(hù)開銷保持在較低的等級(jí)。通過(guò)在目錄服務(wù)器上集中式地維護(hù)部分優(yōu)選節(jié)點(diǎn)的信息,加快了新用戶節(jié)點(diǎn)發(fā)現(xiàn)其它對(duì)等節(jié)點(diǎn)信息的速度,縮短了系統(tǒng)的啟動(dòng)延時(shí),并且用戶節(jié)點(diǎn)在啟動(dòng)初期就能獲得較好的接收質(zhì)量。由于用戶節(jié)點(diǎn)只在加入系統(tǒng)時(shí)才從目錄服務(wù)器獲取對(duì)等節(jié)點(diǎn)信息,其它時(shí)候可以通過(guò)在D'HT環(huán)上探測(cè)對(duì)等節(jié)點(diǎn)信息,因此能夠有效避免目錄服務(wù)器成為系統(tǒng)的單點(diǎn)瓶頸。由于采用了關(guān)聯(lián)査詢方式,查詢方式簡(jiǎn)單,能夠保持較低的査詢開銷。通過(guò)對(duì)父節(jié)點(diǎn)的優(yōu)化選擇,每個(gè)用戶節(jié)點(diǎn)總是試圖最大化自己總的接收帶寬,即能夠最大化各用戶節(jié)點(diǎn)的接收質(zhì)量,從而提高了帶寬利用率。而且,任意節(jié)點(diǎn)的離開對(duì)存在的節(jié)點(diǎn)影響不大,提高了系統(tǒng)的健壯性。由于父節(jié)點(diǎn)的優(yōu)化選擇機(jī)制的周期相對(duì)于現(xiàn)有技術(shù)中的優(yōu)化周期較長(zhǎng),因而節(jié)省了控制開銷。并且在父節(jié)點(diǎn)的優(yōu)化選擇的過(guò)程中,在監(jiān)測(cè)到父節(jié)點(diǎn)的數(shù)據(jù)傳輸性能下降時(shí)才從備選父節(jié)點(diǎn)列表中選擇新的父節(jié)點(diǎn)代替該數(shù)據(jù)傳輸性能下降的父節(jié)點(diǎn),所以相對(duì)于現(xiàn)有技術(shù),不再產(chǎn)生周期控制,進(jìn)一步節(jié)省了控制開銷。.另外,本發(fā)明實(shí)施例提供的技術(shù)方案能夠支持每個(gè)接收端自適應(yīng)地重新選擇父節(jié)點(diǎn)或者增加新的父節(jié)點(diǎn),因而能夠有效適應(yīng)重疊網(wǎng)絡(luò)環(huán)境的動(dòng)態(tài)性,增強(qiáng)各用戶接收質(zhì)量的平滑性。以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求1.一種重疊網(wǎng)絡(luò)的構(gòu)建方法,其特征在于,所述方法包括以下步驟為每個(gè)直播頻道創(chuàng)建一個(gè)轉(zhuǎn)播節(jié)點(diǎn)列表,在所述轉(zhuǎn)播節(jié)點(diǎn)列表中維護(hù)所述直播頻道對(duì)應(yīng)的部分對(duì)等節(jié)點(diǎn)信息;為每個(gè)直播頻道創(chuàng)建一個(gè)分布式哈希表環(huán),在所述分布式哈希表環(huán)上通過(guò)每個(gè)對(duì)等節(jié)點(diǎn)的分布式指針表維護(hù)所述直播頻道對(duì)應(yīng)的所有對(duì)等節(jié)點(diǎn)信息。2.如權(quán)利要求1所述的重疊網(wǎng)絡(luò)的構(gòu)建方法,其特征在于,所述為每個(gè)直播頻道創(chuàng)建一個(gè)轉(zhuǎn)播節(jié)點(diǎn)列表的步驟具體包括接收流媒體服務(wù)器注冊(cè)的所發(fā)布頻道的相關(guān)信息;為在本機(jī)上注冊(cè)的每個(gè)頻道創(chuàng)建一個(gè)轉(zhuǎn)播節(jié)點(diǎn)列表,用以存儲(chǔ)正在轉(zhuǎn)播該頻道的對(duì)等節(jié)點(diǎn)信息。3.如權(quán)利要求1所述的重疊網(wǎng)絡(luò)的構(gòu)建方法,其特征在于,所述方法還包括探測(cè)所述分布式哈希表環(huán)上維護(hù)的對(duì)等節(jié)點(diǎn)信息,根據(jù)度量參數(shù)更新所述轉(zhuǎn)播節(jié)點(diǎn)列表的步驟。4.如權(quán)利要求3所述的重疊網(wǎng)絡(luò)的構(gòu)建方法,其特征在于,所述探測(cè)所述分布式哈希表環(huán)上維護(hù)的對(duì)等節(jié)點(diǎn)信息的步驟具體包括每隔一個(gè)定時(shí)周期從轉(zhuǎn)播節(jié)點(diǎn)列表中隨機(jī)選擇一個(gè)對(duì)等節(jié)點(diǎn)作為目標(biāo)節(jié)點(diǎn),向所述目標(biāo)節(jié)點(diǎn)發(fā)出更新請(qǐng)求;接收所述目標(biāo)節(jié)點(diǎn)返回的本節(jié)點(diǎn)所維護(hù)的所有對(duì)等節(jié)點(diǎn)信息,如果新獲知的對(duì)等節(jié)點(diǎn)數(shù)目到達(dá)設(shè)定要求,則停止探測(cè)。5.如權(quán)利要求3或4所述的重疊網(wǎng)絡(luò)的構(gòu)建方法,其特征在于,所述根據(jù)度量參數(shù)更新所述轉(zhuǎn)播節(jié)點(diǎn)列表的步驟具體包括選擇轉(zhuǎn)播用戶節(jié)點(diǎn)的存活時(shí)間、轉(zhuǎn)播用戶節(jié)點(diǎn)的上行鏈路帶寬、扇出帶寬之一或其組合作為度量參數(shù);根據(jù)選擇的度量參數(shù)對(duì)所有獲知的節(jié)點(diǎn)進(jìn)行排序,把性能較差的對(duì)等節(jié)點(diǎn)的信息從轉(zhuǎn)播節(jié)點(diǎn)列表中刪除。6.—種重疊網(wǎng)絡(luò)中對(duì)等節(jié)點(diǎn)的發(fā)現(xiàn)方法,其特征在于,所述方法包括以下步驟希望接收某個(gè)頻道數(shù)據(jù)的新用戶節(jié)點(diǎn)向轉(zhuǎn)播節(jié)點(diǎn)列表査找該頻道對(duì)應(yīng)的對(duì)等節(jié)點(diǎn)信息;所述新用戶節(jié)點(diǎn)接收到根據(jù)度量參數(shù)選擇的所述頻道對(duì)應(yīng)的轉(zhuǎn)播節(jié)點(diǎn)列表中的優(yōu)選對(duì)等節(jié)點(diǎn)信息,對(duì)所述優(yōu)選節(jié)點(diǎn)進(jìn)行性能探測(cè)后,把所述優(yōu)選對(duì)等節(jié)點(diǎn)作為備選父節(jié)點(diǎn);所述新用戶節(jié)點(diǎn)根據(jù)多參數(shù)父節(jié)點(diǎn)選擇策略,從所述備選父節(jié)點(diǎn)中選擇滿足系統(tǒng)性能要求的最少數(shù)量的優(yōu)選對(duì)等節(jié)點(diǎn)作為父節(jié)點(diǎn),并向所述父節(jié)點(diǎn)分別發(fā)起對(duì)不同數(shù)據(jù)塊的傳輸請(qǐng)求。7.如權(quán)利要求6所述的重疊網(wǎng)絡(luò)中對(duì)等節(jié)點(diǎn)的發(fā)現(xiàn)方法,其特征在于,所述方法還包括以下步驟用戶節(jié)點(diǎn)從所述備選父節(jié)點(diǎn)中隨機(jī)選擇一個(gè)或多個(gè)節(jié)點(diǎn)作為目標(biāo)節(jié)點(diǎn),向所述目標(biāo)節(jié)點(diǎn)發(fā)出査詢請(qǐng)求;所述用戶節(jié)點(diǎn)接收到所述目標(biāo)節(jié)點(diǎn)返回的所維護(hù)的所有對(duì)等節(jié)點(diǎn)信息后,如果所述用戶節(jié)點(diǎn)新獲知的對(duì)等節(jié)點(diǎn)數(shù)目到達(dá)設(shè)定要求,則停止探測(cè),如果所述用戶節(jié)點(diǎn)獲知的對(duì)等節(jié)點(diǎn)數(shù)目小于所能維護(hù)的備選父節(jié)點(diǎn)的最大節(jié)點(diǎn)數(shù),則將所述新獲知的對(duì)等節(jié)點(diǎn)加入到備選父節(jié)點(diǎn)中;否則將度量參數(shù)性能較差的備選父節(jié)點(diǎn)刪除。8.如權(quán)利要求6所述的重疊網(wǎng)絡(luò)中對(duì)等節(jié)點(diǎn)的發(fā)現(xiàn)方法,其特征在于,所述方法還包括以下步驟對(duì)用戶節(jié)點(diǎn)與所述父節(jié)點(diǎn)的連接進(jìn)行性能監(jiān)控,當(dāng)發(fā)生異常情況時(shí),則根據(jù)多參數(shù)父節(jié)點(diǎn)選擇策略從所述備選父節(jié)點(diǎn)中選擇對(duì)等節(jié)點(diǎn),逐一增加父節(jié)點(diǎn)數(shù)目,直到所述性能滿足要求,或者重新選擇新的父節(jié)點(diǎn)以代替原有的父節(jié)點(diǎn)。9.如權(quán)利要求8所述的重疊網(wǎng)絡(luò)中對(duì)等節(jié)點(diǎn)的發(fā)現(xiàn)方法,其特征在于,所述多參數(shù)父節(jié)點(diǎn)選擇策略具體包括從度量參數(shù)中選取第一度量參數(shù),將備選父節(jié)點(diǎn)根據(jù)所述第一度量參數(shù)的性能進(jìn)行順序排列;比較所述按序排列的相鄰兩個(gè)備選父節(jié)點(diǎn)的第一度量參數(shù),如果所述相鄰兩個(gè)備選父節(jié)點(diǎn)的第一度量參數(shù)的性能差值大于預(yù)先設(shè)定的第一度量參數(shù)門限值,則選擇第一度量參數(shù)性能較優(yōu)的備選父節(jié)點(diǎn)作為父節(jié)點(diǎn),否則,從度量參數(shù)中選取第二度量參數(shù),比較所述相鄰兩個(gè)備選父節(jié)點(diǎn)的第二度量參數(shù)性能;如果所述相鄰兩個(gè)備選父節(jié)點(diǎn)的第二度量參數(shù)的性能差值大于預(yù)先設(shè)定的第二度量參數(shù)門限值,則選擇第二度量參數(shù)性能較優(yōu)的備選父節(jié)點(diǎn)作為父節(jié)點(diǎn),否則,選擇第一度量參數(shù)性能較優(yōu)的備選父節(jié)點(diǎn)作為父節(jié)點(diǎn)。10.如權(quán)利要求7-9中任意一項(xiàng)所述的重疊網(wǎng)絡(luò)中對(duì)等節(jié)點(diǎn)的發(fā)現(xiàn)方法,其特征在于,所述度量參數(shù)包括以下條件之一或組合轉(zhuǎn)播用戶節(jié)點(diǎn)的存活時(shí)間;轉(zhuǎn)播用戶節(jié)點(diǎn)的上行鏈路帶寬;扇出帶寬。11.一種重疊網(wǎng)絡(luò),其特征在于,所述重疊網(wǎng)絡(luò)包括目錄服務(wù)器、流媒體服務(wù)器和用戶節(jié)點(diǎn);所述目錄服務(wù)器用于為每個(gè)直播頻道創(chuàng)建一個(gè)轉(zhuǎn)播節(jié)點(diǎn)列表,所述轉(zhuǎn)播節(jié)點(diǎn)列表中維護(hù)所述直播頻道對(duì)應(yīng)的部分對(duì)等節(jié)點(diǎn)信息;所述流媒體服務(wù)器和用戶節(jié)點(diǎn)構(gòu)成分布式哈希表環(huán),每個(gè)直播頻道對(duì)應(yīng)一個(gè)分布式哈希表環(huán),在所述分布式哈希表環(huán)上通過(guò)每個(gè)對(duì)等節(jié)點(diǎn)的分布式指針表維護(hù)所述直播頻道對(duì)應(yīng)的所有對(duì)等節(jié)點(diǎn)信息。12.—種重疊網(wǎng)絡(luò)中的用戶節(jié)點(diǎn),其特征在于,所述用戶節(jié)點(diǎn)包括對(duì)等節(jié)點(diǎn)査找模塊、備選父節(jié)點(diǎn)存儲(chǔ)模塊和父節(jié)點(diǎn)選擇模塊;'所述對(duì)等節(jié)點(diǎn)査找模塊用于向目錄服務(wù)器査找希望接收的頻道數(shù)據(jù)對(duì)應(yīng)的轉(zhuǎn)播節(jié)點(diǎn)列表中的優(yōu)選對(duì)等節(jié)點(diǎn)信息,并將所述優(yōu)選對(duì)等節(jié)點(diǎn)信息發(fā)送到所述備選父節(jié)點(diǎn)存儲(chǔ)模塊;所述備選父節(jié)點(diǎn)存儲(chǔ)模塊用于在接收到所述優(yōu)選對(duì)等節(jié)點(diǎn)信息,對(duì)所述優(yōu)選節(jié)點(diǎn)進(jìn)行性能探測(cè)后,存儲(chǔ)所述優(yōu)選對(duì)等節(jié)點(diǎn)信息;所述父節(jié)點(diǎn)選擇模塊用于根據(jù)多參數(shù)父節(jié)點(diǎn)選擇策略,從所述備選父節(jié)點(diǎn)存儲(chǔ)模塊中選擇滿足系統(tǒng)性能要求的最少數(shù)量的優(yōu)選對(duì)等節(jié)點(diǎn)作為父節(jié)點(diǎn),并向所述父節(jié)點(diǎn)分別發(fā)起對(duì)不同數(shù)據(jù)塊的傳輸請(qǐng)求。13.如權(quán)利要求12所述的重疊網(wǎng)絡(luò)中的用戶節(jié)點(diǎn),所述用戶節(jié)點(diǎn)還包括備選父節(jié)點(diǎn)更新模塊,用于從所述備選父節(jié)點(diǎn)存儲(chǔ)模塊中隨機(jī)選擇一個(gè)或多個(gè)節(jié)點(diǎn)作為目標(biāo)節(jié)點(diǎn),向所述目標(biāo)節(jié)點(diǎn)發(fā)出査詢請(qǐng)求;接收到所述目標(biāo)節(jié)點(diǎn)返回的所維護(hù)的所有對(duì)等節(jié)點(diǎn)信息后,如果所述用戶節(jié)點(diǎn)新獲知的對(duì)等節(jié)點(diǎn)數(shù)目到達(dá)設(shè)定要求,則停止探測(cè),如果所述用戶節(jié)點(diǎn)獲知的對(duì)等節(jié)點(diǎn)數(shù)目小于所能維護(hù)的備選父節(jié)點(diǎn)的最大節(jié)點(diǎn)數(shù),則將所述新獲知的對(duì)等節(jié)點(diǎn)加入到備選父節(jié)點(diǎn)中;否則將度量參數(shù)性能較差的備選父節(jié)點(diǎn)刪除。14.如權(quán)利要求12所述的重疊網(wǎng)絡(luò)中的用戶節(jié)點(diǎn),所述用戶節(jié)點(diǎn)還包括父節(jié)點(diǎn)優(yōu)化模塊,用于對(duì)用戶節(jié)點(diǎn)與所述父節(jié)點(diǎn)的連接進(jìn)行性能監(jiān)控,當(dāng)發(fā)生異常情況時(shí),根據(jù)多參數(shù)父節(jié)點(diǎn)選擇策略從所述備選父節(jié)點(diǎn)中選擇對(duì)等節(jié)點(diǎn),逐一增加父節(jié)點(diǎn)數(shù)目,直到所述性能滿足要求,或者重新選擇新的父節(jié)點(diǎn)以代替原有的父節(jié)點(diǎn)。全文摘要本發(fā)明公開了一種重疊網(wǎng)絡(luò)及其構(gòu)建方法、對(duì)等節(jié)點(diǎn)的發(fā)現(xiàn)方法以及用戶節(jié)點(diǎn),屬于網(wǎng)絡(luò)通信領(lǐng)域。所述構(gòu)建方法包括為每個(gè)直播頻道創(chuàng)建一個(gè)轉(zhuǎn)播節(jié)點(diǎn)列表,為每個(gè)直播頻道創(chuàng)建一個(gè)分布式哈希表環(huán)。所述發(fā)現(xiàn)方法包括向轉(zhuǎn)播節(jié)點(diǎn)列表查找頻道對(duì)應(yīng)的對(duì)等節(jié)點(diǎn)信息;對(duì)優(yōu)選節(jié)點(diǎn)進(jìn)行性能探測(cè),把優(yōu)選對(duì)等節(jié)點(diǎn)作為備選父節(jié)點(diǎn);選擇滿足系統(tǒng)性能要求的最少數(shù)量的優(yōu)選對(duì)等節(jié)點(diǎn)作為父節(jié)點(diǎn),向父節(jié)點(diǎn)分別發(fā)起對(duì)不同數(shù)據(jù)塊的傳輸請(qǐng)求。所述重疊網(wǎng)絡(luò)包括目錄服務(wù)器、流媒體服務(wù)器和用戶節(jié)點(diǎn)。所述用戶節(jié)點(diǎn)包括對(duì)等節(jié)點(diǎn)查找模塊、備選父節(jié)點(diǎn)存儲(chǔ)模塊和父節(jié)點(diǎn)選擇模塊。本發(fā)明通過(guò)所述的技術(shù)方案,在啟動(dòng)初期具有較好的傳輸性能,便于擴(kuò)展且能夠加快發(fā)現(xiàn)對(duì)等節(jié)點(diǎn)速度。文檔編號(hào)H04L12/56GK101378325SQ20071014584公開日2009年3月4日申請(qǐng)日期2007年8月31日優(yōu)先權(quán)日2007年8月31日發(fā)明者劉夢(mèng)娟,劉芳林,洪佩琳,胡新宇申請(qǐng)人:華為技術(shù)有限公司