国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種p2p系統(tǒng)中物理拓?fù)湎嚓P(guān)的鄰居節(jié)點(diǎn)選取方法

      文檔序號(hào):7700359閱讀:159來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):一種p2p系統(tǒng)中物理拓?fù)湎嚓P(guān)的鄰居節(jié)點(diǎn)選取方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域,具體地說(shuō),本發(fā)明涉及一種P2P系統(tǒng)中物理 拓?fù)湎嚓P(guān)的節(jié)點(diǎn)選取方法。
      背景技術(shù)
      近年來(lái),隨著寬帶通信和多媒體技術(shù)的迅猛發(fā)展,在線直播,視頻點(diǎn)播,文件下 載等各種互聯(lián)網(wǎng)應(yīng)用也應(yīng)運(yùn)而生,對(duì)傳統(tǒng)的客戶(hù)端/服務(wù)器(C/S)模式的服務(wù)系統(tǒng)提出
      了新的挑戰(zhàn),隨著用戶(hù)規(guī)模的增大,傳統(tǒng)的客戶(hù)端/服務(wù)器(c/s)模式的服務(wù)系統(tǒng)需要
      消耗更多的軟硬件資源,已經(jīng)不能滿(mǎn)足大規(guī)模用戶(hù)的需求,因此基于P2P的服務(wù)系 統(tǒng)迅速發(fā)展并逐漸成為相對(duì)成熟的應(yīng)用。
      從功能上看,P2P系統(tǒng)一般主要有2類(lèi)邏輯層構(gòu)成1 )覆蓋網(wǎng)層(Overlay Layer), 該層主要是描述P2P服務(wù)系統(tǒng)中節(jié)點(diǎn)之間如何組織,為進(jìn)一步選擇合作節(jié)點(diǎn)和數(shù)據(jù) 交互打下基礎(chǔ);2)數(shù)據(jù)調(diào)度層(Data Schedule Layer),該層主要負(fù)責(zé)合作節(jié)點(diǎn)之間 如何進(jìn)行數(shù)據(jù)調(diào)度,滿(mǎn)足節(jié)點(diǎn)正常服務(wù)需求的同時(shí)最大化節(jié)點(diǎn)服務(wù)能力,從而提高 系統(tǒng)整體性能。
      目前,大多數(shù)傳統(tǒng)的P2P系統(tǒng)在選擇合作節(jié)點(diǎn)時(shí)沒(méi)有采用有效的方法來(lái)選擇物理 網(wǎng)絡(luò)中實(shí)際相鄰的節(jié)點(diǎn), 一般采用樹(shù)形或者網(wǎng)狀拓?fù)鋪?lái)構(gòu)造覆蓋網(wǎng)層,當(dāng)新節(jié)點(diǎn)加 入系統(tǒng)時(shí),根據(jù)網(wǎng)絡(luò)中其他節(jié)點(diǎn)的服務(wù)能力,新節(jié)點(diǎn)采用某種方法加入到己有的網(wǎng) 絡(luò),節(jié)點(diǎn)之間是依靠服務(wù)能力松散的連接在一起的,這樣若選取的節(jié)點(diǎn)在物理網(wǎng)絡(luò) 中距離比較遠(yuǎn),數(shù)據(jù)交換時(shí)延時(shí)較大,單位時(shí)間內(nèi)節(jié)點(diǎn)收到的數(shù)據(jù)包會(huì)變少,若不 能滿(mǎn)足播放需求節(jié)點(diǎn)就會(huì)向網(wǎng)絡(luò)中其他節(jié)點(diǎn)繼續(xù)請(qǐng)求數(shù)據(jù),這樣在一定程度上增加 了調(diào)度負(fù)擔(dān)。

      發(fā)明內(nèi)容
      本發(fā)明的目的是通過(guò)基于地標(biāo)(Landmark)節(jié)點(diǎn)的網(wǎng)絡(luò)測(cè)量的方式來(lái)估算出網(wǎng)絡(luò) 中節(jié)點(diǎn)之間的延時(shí),并構(gòu)建物理拓?fù)湎嚓P(guān)的覆蓋網(wǎng)層,使P2P系統(tǒng)能選擇物理位置 臨近的節(jié)點(diǎn)作為鄰居節(jié)點(diǎn)來(lái)進(jìn)行數(shù)據(jù)調(diào)度,從而提供一種能縮短數(shù)據(jù)包在網(wǎng)絡(luò)中的 傳輸延時(shí),提高數(shù)據(jù)交換效率的鄰居節(jié)點(diǎn)選取方法。
      為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提供的P2P系統(tǒng)中物理拓?fù)湎嚓P(guān)的鄰居節(jié)點(diǎn)選取方法,包括如下步驟
      1) 確定一組地標(biāo)節(jié)點(diǎn);
      2) 以每個(gè)地標(biāo)節(jié)點(diǎn)為中心建立群,所述群包括群首節(jié)點(diǎn)和成員節(jié)點(diǎn);所述地標(biāo) 節(jié)點(diǎn)為群首節(jié)點(diǎn),群內(nèi)的各成員節(jié)點(diǎn)到所述群首節(jié)點(diǎn)的延時(shí)均小于預(yù)定的閾值;所 述群首節(jié)點(diǎn)存儲(chǔ)群內(nèi)延時(shí)表,所述群內(nèi)延時(shí)表記錄所屬群內(nèi)各成員節(jié)點(diǎn)至該群首節(jié) 點(diǎn)的延時(shí),并且群內(nèi)各成員節(jié)點(diǎn)至該群首節(jié)點(diǎn)的延時(shí)按所述延時(shí)大小依序排列;
      3) 某請(qǐng)求節(jié)點(diǎn)向該請(qǐng)求節(jié)點(diǎn)所屬群的群首節(jié)點(diǎn)請(qǐng)求鄰居節(jié)點(diǎn)列表;
      4) 所述群首節(jié)點(diǎn)根據(jù)所述群內(nèi)延時(shí)表向所述請(qǐng)求節(jié)點(diǎn)返回鄰居節(jié)點(diǎn)列表。 其中,所述步驟l)包括如下子步驟
      11) 在P2P系統(tǒng)初始化時(shí),部署若干節(jié)點(diǎn)作為地標(biāo)節(jié)點(diǎn);P2P系統(tǒng)中的索引服務(wù) 器將地標(biāo)節(jié)點(diǎn)存儲(chǔ)在地標(biāo)節(jié)點(diǎn)列表中;
      12) 每個(gè)節(jié)點(diǎn)在首次加入P2P系統(tǒng)時(shí),首先和索引服務(wù)器聯(lián)系,所述索引服務(wù)器 根據(jù)預(yù)先設(shè)定的在線時(shí)長(zhǎng)閾值和鄰居節(jié)點(diǎn)個(gè)數(shù)閾值,從所有在線節(jié)點(diǎn)列表中選擇若 干節(jié)點(diǎn)作為地標(biāo)節(jié)點(diǎn)并加入所述地標(biāo)節(jié)點(diǎn)列表;
      13) 當(dāng)某地標(biāo)節(jié)點(diǎn)退出時(shí),索引服務(wù)器將所述地標(biāo)節(jié)點(diǎn)從地標(biāo)節(jié)點(diǎn)列表中刪除。 其中,所述步驟2)中,所述群內(nèi)還設(shè)置備份地標(biāo)節(jié)點(diǎn),當(dāng)群首節(jié)點(diǎn)失效時(shí),所
      述備份地標(biāo)節(jié)點(diǎn)充當(dāng)所屬群的群首節(jié)點(diǎn)。
      其中,所述步驟2)中,每個(gè)節(jié)點(diǎn)在加入P2P系統(tǒng)時(shí),首先和索引服務(wù)器聯(lián)系, 獲取地標(biāo)節(jié)點(diǎn)地址,所述節(jié)點(diǎn)測(cè)量該節(jié)點(diǎn)至所有地標(biāo)節(jié)點(diǎn)間的延時(shí),找出與本地延 時(shí)最小的地標(biāo)節(jié)點(diǎn)并加入所述延時(shí)最小的地標(biāo)節(jié)點(diǎn)所屬的群。
      其中,所述步驟4)中,所述群首節(jié)點(diǎn)將群內(nèi)延時(shí)最小的若干個(gè)節(jié)點(diǎn)加入鄰居節(jié) 點(diǎn)列表,并將鄰居節(jié)點(diǎn)列表返回給所述請(qǐng)求節(jié)點(diǎn)。
      其中,所述步驟4)中,當(dāng)鄰居節(jié)點(diǎn)列表內(nèi)的鄰居節(jié)點(diǎn)數(shù)目不足時(shí),請(qǐng)求節(jié)點(diǎn)找 出與本地延時(shí)次小的地標(biāo)節(jié)點(diǎn)并加入所述延時(shí)次小的地標(biāo)節(jié)點(diǎn)所屬的群,然后進(jìn)入所 述步驟3)。
      其中,所述步驟2)中,所述群首節(jié)點(diǎn)記錄所屬群內(nèi)各節(jié)點(diǎn)的延時(shí)矢量,所述節(jié) 點(diǎn)的延時(shí)矢量記錄該節(jié)點(diǎn)至所有地標(biāo)節(jié)點(diǎn)的延時(shí)。 其中,還包括步驟5),所述步驟5)如下
      設(shè)鄰居節(jié)點(diǎn)列表中的鄰居節(jié)點(diǎn)數(shù)目為A ,請(qǐng)求節(jié)點(diǎn)獲得鄰居節(jié)點(diǎn)列表后, 51)請(qǐng)求節(jié)點(diǎn)P從A個(gè)節(jié)點(diǎn)中選出W個(gè)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)交換,剩余的A — w個(gè)節(jié) 點(diǎn)作為備份節(jié)點(diǎn),隨著數(shù)據(jù)調(diào)度的進(jìn)行,在進(jìn)行數(shù)據(jù)調(diào)度的同時(shí)統(tǒng)計(jì)合作節(jié)點(diǎn)的延時(shí)信息,若鄰居節(jié)點(diǎn)列表中某節(jié)點(diǎn)《與請(qǐng)求節(jié)點(diǎn)P交互延時(shí)超過(guò)預(yù)先設(shè)定的閾值, 則節(jié)點(diǎn)P會(huì)給節(jié)點(diǎn)《發(fā)送一個(gè)貧瘠服務(wù)消息;
      52) 節(jié)點(diǎn)^在累計(jì)收到的貧瘠服務(wù)消息超出預(yù)先設(shè)定的閾值時(shí),所述節(jié)點(diǎn)9重新 測(cè)量本地至所有地標(biāo)節(jié)點(diǎn)間的延時(shí),找出與本地延時(shí)最小的地標(biāo)節(jié)點(diǎn)并加入所述延 時(shí)最小的地標(biāo)節(jié)點(diǎn)所屬的群;
      53) 當(dāng)節(jié)點(diǎn)P鄰居列表內(nèi)的節(jié)點(diǎn)不能滿(mǎn)足服務(wù)時(shí),節(jié)點(diǎn)P重新向群首發(fā)送鄰居 節(jié)點(diǎn)請(qǐng)求信息,該請(qǐng)求信息附有節(jié)點(diǎn)P已有的鄰居節(jié)點(diǎn)信息,避免群首返回重復(fù)的 鄰居節(jié)點(diǎn)。
      相對(duì)于現(xiàn)有技術(shù),本發(fā)明具有如下技術(shù)效果
      1、 本發(fā)明根據(jù)節(jié)點(diǎn)之間的時(shí)延來(lái)構(gòu)建拓?fù)渚W(wǎng)絡(luò),能快速選取延時(shí)較小的節(jié)點(diǎn)做 為合作節(jié)點(diǎn)(即鄰居節(jié)點(diǎn)),進(jìn)而提高數(shù)據(jù)交換效率。
      2、 本發(fā)明分散存儲(chǔ)節(jié)點(diǎn)延時(shí)信息,降低了索引服務(wù)器壓力,實(shí)現(xiàn)了負(fù)載均衡。
      3、 本發(fā)明中,節(jié)點(diǎn)在進(jìn)行合作的同時(shí)監(jiān)測(cè)數(shù)據(jù)包傳輸延時(shí),能夠?qū)ν負(fù)渚W(wǎng)絡(luò)的 結(jié)構(gòu)進(jìn)行實(shí)時(shí)維護(hù),同時(shí)也降低維護(hù)開(kāi)銷(xiāo)。


      圖1為P2P服務(wù)系統(tǒng)結(jié)構(gòu)和主要流程示意圖; 圖2為節(jié)點(diǎn)加入系統(tǒng)流程圖; 圖3為節(jié)點(diǎn)選擇流程圖; 圖4為鄰居節(jié)點(diǎn)維護(hù)流程圖。
      具體實(shí)施例方式
      (1)地標(biāo)節(jié)點(diǎn)的選擇
      每個(gè)節(jié)點(diǎn)在首次加入系統(tǒng)時(shí)首先和索引服務(wù)器聯(lián)系,索引服務(wù)器(Index Server) 負(fù)責(zé)記錄節(jié)點(diǎn)在線時(shí)長(zhǎng),節(jié)點(diǎn)的鄰居個(gè)數(shù)等基本信息,根據(jù)節(jié)點(diǎn)的基本信息,IS從 所有在線節(jié)點(diǎn)列表中選擇若干服務(wù)能力較強(qiáng)的節(jié)點(diǎn)作為地標(biāo)節(jié)點(diǎn)(一般來(lái)說(shuō)在線時(shí) 間越長(zhǎng),鄰居節(jié)點(diǎn)個(gè)數(shù)越多,服務(wù)能力越強(qiáng)。具體實(shí)現(xiàn)上,可以先設(shè)定閾值,當(dāng)某 一在線節(jié)點(diǎn)在線時(shí)間和鄰居節(jié)點(diǎn)個(gè)數(shù)均超過(guò)所述閾值時(shí),將該在線節(jié)點(diǎn)作為地標(biāo)節(jié) 點(diǎn))。為增加系統(tǒng)穩(wěn)定性,在初始階段可以事先部署若干節(jié)點(diǎn)作為地標(biāo)節(jié)點(diǎn)。為了避 免作為地標(biāo)節(jié)點(diǎn)退出,而造成群內(nèi)節(jié)點(diǎn)脫離系統(tǒng),在下一節(jié)中描述了一種地標(biāo)節(jié)點(diǎn) 備份方式,當(dāng)某地標(biāo)節(jié)點(diǎn)退出時(shí),告知索引服務(wù)器,索引服務(wù)器更新地標(biāo)節(jié)點(diǎn)列表。(2) 分布式距離信息存儲(chǔ)
      設(shè)節(jié)點(diǎn)集合為C = {。|/ = 0,l,2, m},地標(biāo)節(jié)點(diǎn)集合為丄=V) I 乂 = 0,1,2".."},節(jié)點(diǎn)。到j(luò):的延時(shí)矢量《=I y = 0,l,2""w}表示,其中《為節(jié)點(diǎn)c,.到G的延時(shí),即《de/"y(c,.,/》,則總的延時(shí)集合為D = {《|/ = 0,l,2,...m}。本實(shí)施例中,地標(biāo)節(jié)點(diǎn)是從節(jié)點(diǎn)集合c中選取的,因此
      地標(biāo)節(jié)點(diǎn)也是節(jié)點(diǎn)集合c:中的元素。
      若Z)統(tǒng)一存儲(chǔ)在索引服務(wù)器上來(lái)進(jìn)行節(jié)點(diǎn)選取,可能會(huì)因索引服務(wù)器壓力過(guò)大而造成單點(diǎn)故障,本實(shí)施例將《分散存儲(chǔ)在特定的地標(biāo)節(jié)點(diǎn)上。
      對(duì)V(.e丄, -"lc^^minW.o,《,《2".4力),c,.eQ,即^是滿(mǎn)足
      如下條件的節(jié)點(diǎn)c,的集合節(jié)點(diǎn)c,到(.的延時(shí)比到其他地標(biāo)節(jié)點(diǎn)的延時(shí)都要小。稱(chēng)集合"卩'為^所屬的群,^為群首節(jié)點(diǎn)。群首節(jié)點(diǎn)^記錄群內(nèi)每個(gè)節(jié)點(diǎn)(包括成員節(jié)
      點(diǎn)和地標(biāo)節(jié)點(diǎn))到丄的延時(shí)矢量S,即群首節(jié)點(diǎn)^記錄延時(shí)矢量集合
      》乂'={《1^6^/》。群首節(jié)點(diǎn)('還記錄群所包含的節(jié)點(diǎn)數(shù)目s, s=|t/; I。
      為增加系統(tǒng)可靠性,本實(shí)施例中從"y選取"個(gè)節(jié)點(diǎn)("=1,2),來(lái)作為('的備
      份節(jié)點(diǎn)結(jié)合,將。y保存在該備份節(jié)點(diǎn)上,若('失效退出,則備份節(jié)點(diǎn)充當(dāng)新的地標(biāo)節(jié)點(diǎn)。
      (3) 鄰居節(jié)點(diǎn)選擇算法
      根據(jù)三角不等式原理,直覺(jué)的距離概念如下假設(shè)要估測(cè)節(jié)點(diǎn)^和C,的距離,
      如果有足夠多的地標(biāo)節(jié)點(diǎn)/,則3/;. e丄,
      使得, <formula>formula see original document page 7</formula>其中
      /^e丄(本實(shí)施例中,延時(shí)沒(méi)有方向概念,e至/的延時(shí)就是/至e的延時(shí))。
      根據(jù)(2)中的存儲(chǔ)方式,本實(shí)施例作如下變換<formula>formula see original document page 7</formula> 即 <formula>formula see original document page 7</formula>,其中《<=&<=《,..《.
      對(duì)任意兩個(gè)矢量^/ <^ff',意指滿(mǎn)足如下條件存在^ eL, < ^&,否則,
      若^4>^4不成立,則"^=^4-于是有
      A'=^ce"flfCD,), 艮卩乃/=(《',4',《'".4'), 其 中
      S, <=《,j'.
      由上所述,參照?qǐng)D3若節(jié)點(diǎn)pet/"則有如下節(jié)點(diǎn)選取算法來(lái)選取p的合作節(jié)
      點(diǎn)
      步驟3.1,按照[/;內(nèi)節(jié)點(diǎn)到群首(的延時(shí)的升序來(lái)選擇有服務(wù)能力的節(jié)點(diǎn)。步驟3.2,如果返回的鄰居節(jié)點(diǎn)數(shù)目不夠,選擇與節(jié)點(diǎn)P延時(shí)次小的群首/y,更新
      ";為新的群首,返回步驟3.1。如果返回的鄰居節(jié)點(diǎn)數(shù)目足夠,進(jìn)行下一步的數(shù)據(jù)調(diào)度。
      (4) 節(jié)點(diǎn)的加入和離開(kāi)
      節(jié)點(diǎn)P加入系統(tǒng)時(shí),首先和索引服務(wù)器聯(lián)系,獲取地標(biāo)節(jié)點(diǎn)列表信息,節(jié)點(diǎn)測(cè)量和地標(biāo)節(jié)點(diǎn)間的延時(shí)并加入與自己延時(shí)最小的地標(biāo)節(jié)點(diǎn)為首的群,根據(jù)(3)返回所需要的合作節(jié)點(diǎn)列表。
      節(jié)點(diǎn)P離開(kāi)系統(tǒng)時(shí),首先告知鄰居節(jié)點(diǎn),鄰居節(jié)點(diǎn)將該節(jié)點(diǎn)從自己的列表中刪除,之后再通知該群群首節(jié)點(diǎn),群首節(jié)點(diǎn)將P從列表中刪除,并定期向索引服務(wù)器報(bào)告,索引服務(wù)器刪除掉退出節(jié)點(diǎn)。
      (5) 鄰居節(jié)點(diǎn)的維護(hù)節(jié)點(diǎn)P獲得合作節(jié)點(diǎn)列表后,見(jiàn)圖4:
      1)節(jié)點(diǎn)P從A;個(gè)節(jié)點(diǎn)中選出w個(gè)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)交換,剩余的A: — w個(gè)節(jié)點(diǎn)作為
      備份節(jié)點(diǎn),隨著數(shù)據(jù)調(diào)度的進(jìn)行,在進(jìn)行數(shù)據(jù)調(diào)度的同時(shí)統(tǒng)計(jì)合作節(jié)點(diǎn)的延時(shí)信息,若某節(jié)點(diǎn)《與節(jié)點(diǎn)P交互的服務(wù)質(zhì)量較差(一般是指延時(shí)過(guò)大,具體實(shí)現(xiàn)上,可以通過(guò)設(shè)定閾值的方式判定是否延時(shí)過(guò)大),節(jié)點(diǎn)P會(huì)給節(jié)點(diǎn)《發(fā)送一個(gè)貧瘠服務(wù)(POOR—SERVICE)的消息。2) 節(jié)點(diǎn)《在累計(jì)收到若干貧瘠服務(wù)消息后會(huì)重新進(jìn)行節(jié)點(diǎn)距離測(cè)量,確保自己在正確的群中。
      3) 當(dāng)節(jié)點(diǎn)P鄰居列表內(nèi)的節(jié)點(diǎn)不能滿(mǎn)足服務(wù)時(shí),節(jié)點(diǎn)P會(huì)重新向群首發(fā)送鄰居節(jié)點(diǎn)請(qǐng)求信息,該請(qǐng)求信息附有節(jié)點(diǎn)P已有的鄰居節(jié)點(diǎn)信息,避免群首返回重復(fù)的鄰居節(jié)點(diǎn)。
      參見(jiàn)圖l、圖2,本實(shí)施例中實(shí)現(xiàn)鄰居節(jié)點(diǎn)選取的步驟如下
      步驟l,節(jié)點(diǎn)P加入系統(tǒng)時(shí),首先聯(lián)系索引服務(wù)器(Index Server)節(jié)點(diǎn),獲得地標(biāo)節(jié)點(diǎn)列表。如圖1中的L1, L2, L3為地標(biāo)節(jié)點(diǎn)。
      步驟2,節(jié)點(diǎn)P向每個(gè)地標(biāo)節(jié)點(diǎn)發(fā)送探測(cè)報(bào)文(PING—MSG),地標(biāo)節(jié)點(diǎn)返回響應(yīng)報(bào)文(PONG_MSG),并記錄節(jié)點(diǎn)到各個(gè)地標(biāo)節(jié)點(diǎn)之間的延時(shí)。若經(jīng)過(guò)一定時(shí)間仍未收到響應(yīng)報(bào)文,則不再等待,繼續(xù)進(jìn)行下一步驟。
      步驟3,節(jié)點(diǎn)P到地標(biāo)節(jié)點(diǎn)的時(shí)延值構(gòu)成一個(gè)矢量,節(jié)點(diǎn)向時(shí)延值最小的地標(biāo)節(jié)點(diǎn)發(fā)送JOIN一CLUSTER消息,申請(qǐng)加入以該地標(biāo)節(jié)點(diǎn)為首的群(cluster),圖1中方框內(nèi)的節(jié)點(diǎn)為一個(gè)群。群首間維護(hù)一張一跳到達(dá)路由表(Landmark Route Table),該路由表存儲(chǔ)在索引服務(wù)器上。當(dāng)?shù)貥?biāo)節(jié)點(diǎn)發(fā)生變化時(shí),將通知索引服務(wù)器,索引服務(wù)器更新地標(biāo)節(jié)點(diǎn)列表并通知其他地標(biāo)節(jié)點(diǎn)更新路由表。
      步驟4,收到JOIN—CLUSTER消息的地標(biāo)節(jié)點(diǎn)從自己管轄的群內(nèi)按照一定算法(參見(jiàn)具體實(shí)現(xiàn)方法3)選取合作節(jié)點(diǎn)并返回。
      下面通過(guò)一個(gè)更加具體的實(shí)例來(lái)說(shuō)明本發(fā)明提供的方法的具體應(yīng)用場(chǎng)景在本場(chǎng)景中有以下設(shè)備,索引服務(wù)器,數(shù)據(jù)源服務(wù)器,3個(gè)地標(biāo)節(jié)點(diǎn)L1,L2,L3以及以其為群首的群。
      假設(shè)此時(shí)用戶(hù)P啟動(dòng)客戶(hù)端軟件,希望收看某頻道節(jié)目,下面描述P如何通過(guò)本發(fā)明的方法獲得較近的鄰居節(jié)點(diǎn)并進(jìn)行收看,以及退出等過(guò)程的步驟
      (1) 用戶(hù)節(jié)點(diǎn)P點(diǎn)擊某頻道后連接索引服務(wù)器,獲得地標(biāo)節(jié)點(diǎn)列表。
      (2) 用戶(hù)節(jié)點(diǎn)P測(cè)量與各個(gè)地標(biāo)節(jié)點(diǎn)的距離,根據(jù)測(cè)量結(jié)果,發(fā)現(xiàn)與地標(biāo)節(jié)點(diǎn)L3較近,則向該地標(biāo)節(jié)點(diǎn)發(fā)送JOIN—CLUSTER消息。
      (3) L3收到JOIN—CLUSTER消息后,將節(jié)點(diǎn)P加入到自己的群節(jié)點(diǎn)列表中,并存儲(chǔ)節(jié)點(diǎn)P到其他各個(gè)地標(biāo)節(jié)點(diǎn)的時(shí)延。
      (4) L3根據(jù)具體實(shí)現(xiàn)方法(3)來(lái)選擇鄰居節(jié)點(diǎn)。
      (5) 如果L3群內(nèi)的節(jié)點(diǎn)不滿(mǎn)足P節(jié)點(diǎn)的需求,則L3通過(guò)Landmark Route Table向距離P節(jié)點(diǎn)次近的地標(biāo)節(jié)點(diǎn)L2發(fā)送節(jié)點(diǎn)請(qǐng)求信息。(6) L2重復(fù)L3使用的節(jié)點(diǎn)選取算法,直到節(jié)點(diǎn)P獲得足夠的鄰居節(jié)點(diǎn)。
      (7) 節(jié)點(diǎn)P退出后,向P鄰居節(jié)點(diǎn)發(fā)送退出消息,同時(shí)向L3發(fā)送退出消息。
      (8) L3定期向索引服務(wù)器發(fā)送該群內(nèi)有哪些節(jié)點(diǎn)(不僅有L3,可能還有其他節(jié)點(diǎn))退出了網(wǎng)絡(luò),索引服務(wù)器將這些節(jié)點(diǎn)從索引服務(wù)器中刪掉。
      通過(guò)基于地標(biāo)(Landmark)節(jié)點(diǎn)的網(wǎng)絡(luò)測(cè)量的方式來(lái)估算出網(wǎng)絡(luò)中節(jié)點(diǎn)之間的延時(shí),并構(gòu)建物理拓?fù)湎嚓P(guān)的覆蓋網(wǎng)層,使P2P系統(tǒng)能選擇物理位置臨近的節(jié)點(diǎn)作為鄰居節(jié)點(diǎn)來(lái)進(jìn)行數(shù)據(jù)調(diào)度,這樣能縮短數(shù)據(jù)包在網(wǎng)絡(luò)中的傳輸延時(shí),提高數(shù)據(jù)交換效率。同時(shí)在存儲(chǔ)節(jié)點(diǎn)到地標(biāo)節(jié)點(diǎn)的延時(shí)表是分散存儲(chǔ)在地標(biāo)節(jié)點(diǎn)而不是索引服
      務(wù)器上,避免索引服務(wù)器頻繁的受到節(jié)點(diǎn)請(qǐng)求和更新信息,實(shí)現(xiàn)了負(fù)載均衡。再者,本發(fā)明地標(biāo)節(jié)點(diǎn)之間可以互相通信,能彼此交換鄰居節(jié)點(diǎn),從而避免形成孤島。
      權(quán)利要求
      1、一種P2P系統(tǒng)中物理拓?fù)湎嚓P(guān)的鄰居節(jié)點(diǎn)選取方法,包括如下步驟1)確定一組地標(biāo)節(jié)點(diǎn);2)以每個(gè)地標(biāo)節(jié)點(diǎn)為中心建立群,所述群包括群首節(jié)點(diǎn)和成員節(jié)點(diǎn);所述地標(biāo)節(jié)點(diǎn)為群首節(jié)點(diǎn),群內(nèi)的各成員節(jié)點(diǎn)到所述群首節(jié)點(diǎn)的延時(shí)均小于預(yù)定的閾值;所述群首節(jié)點(diǎn)存儲(chǔ)群內(nèi)延時(shí)表,所述群內(nèi)延時(shí)表記錄所屬群內(nèi)各成員節(jié)點(diǎn)至該群首節(jié)點(diǎn)的延時(shí),并且群內(nèi)各成員節(jié)點(diǎn)至該群首節(jié)點(diǎn)的延時(shí)按所述延時(shí)大小依序排列;3)某請(qǐng)求節(jié)點(diǎn)向該請(qǐng)求節(jié)點(diǎn)所屬群的群首節(jié)點(diǎn)請(qǐng)求鄰居節(jié)點(diǎn)列表;4)所述群首節(jié)點(diǎn)根據(jù)所述群內(nèi)延時(shí)表向所述請(qǐng)求節(jié)點(diǎn)返回鄰居節(jié)點(diǎn)列表。
      2、 根據(jù)權(quán)利要求1所述的鄰居節(jié)點(diǎn)選取方法,其特征在于,所述步驟l)包括如下子步驟11) 在P2P系統(tǒng)初始化時(shí),部署若干節(jié)點(diǎn)作為地標(biāo)節(jié)點(diǎn);P2P系統(tǒng)中的索引服務(wù)器將地標(biāo)節(jié)點(diǎn)存儲(chǔ)在地標(biāo)節(jié)點(diǎn)列表中;12) 每個(gè)節(jié)點(diǎn)在首次加入P2P系統(tǒng)時(shí),首先和索引服務(wù)器聯(lián)系,所述索引服務(wù)器根據(jù)預(yù)先設(shè)定的在線時(shí)長(zhǎng)閾值和鄰居節(jié)點(diǎn)個(gè)數(shù)閾值,從所有在線節(jié)點(diǎn)列表中選擇若干節(jié)點(diǎn)作為地標(biāo)節(jié)點(diǎn)并加入所述地標(biāo)節(jié)點(diǎn)列表;13) 當(dāng)某地標(biāo)節(jié)點(diǎn)退出時(shí),索引服務(wù)器將所述地標(biāo)節(jié)點(diǎn)從地標(biāo)節(jié)點(diǎn)列表中刪除。
      3、 根據(jù)權(quán)利要求1所述的鄰居節(jié)點(diǎn)選取方法,其特征在于,所述步驟2)中,所述群內(nèi)還設(shè)置備份地標(biāo)節(jié)點(diǎn),當(dāng)群首節(jié)點(diǎn)失效時(shí),所述備份地標(biāo)節(jié)點(diǎn)充當(dāng)所屬群的群首節(jié)點(diǎn)。
      4、 根據(jù)權(quán)利要求1所述的鄰居節(jié)點(diǎn)選取方法,其特征在于,所述步驟2)中,每個(gè)節(jié)點(diǎn)在加入P2P系統(tǒng)時(shí),首先和索引服務(wù)器聯(lián)系,獲取地標(biāo)節(jié)點(diǎn)地址,所述節(jié)點(diǎn)測(cè)量該節(jié)點(diǎn)至所有地標(biāo)節(jié)點(diǎn)間的延時(shí),找出與本地延時(shí)最小的地標(biāo)節(jié)點(diǎn)并加入所述延時(shí)最小的地標(biāo)節(jié)點(diǎn)所屬的群。
      5、 根據(jù)權(quán)利要求4所述的鄰居節(jié)點(diǎn)選取方法,其特征在于,所述步驟4)中,所述群首節(jié)點(diǎn)將群內(nèi)延時(shí)最小的若干個(gè)節(jié)點(diǎn)加入鄰居節(jié)點(diǎn)列表,并將鄰居節(jié)點(diǎn)列表返回給所述請(qǐng)求節(jié)點(diǎn)。
      6、 根據(jù)權(quán)利要求5所述的鄰居節(jié)點(diǎn)選取方法,其特征在于,所述步驟4)中,當(dāng)鄰居節(jié)點(diǎn)列表內(nèi)的鄰居節(jié)點(diǎn)數(shù)目不足時(shí),請(qǐng)求節(jié)點(diǎn)找出與本地延時(shí)次小的地標(biāo)節(jié)點(diǎn)并加入所述延時(shí)次小的地標(biāo)節(jié)點(diǎn)所屬的群,然后進(jìn)入所述步驟3)。
      7、 根據(jù)權(quán)利要求1所述的鄰居節(jié)點(diǎn)選取方法,其特征在于,所述步驟2)中, 所述群首節(jié)點(diǎn)記錄所屬群內(nèi)各節(jié)點(diǎn)的延時(shí)矢量,所述節(jié)點(diǎn)的延時(shí)矢量記錄該節(jié)點(diǎn)至 所有地標(biāo)節(jié)點(diǎn)的延時(shí)。
      8、 根據(jù)權(quán)利要求1所述的鄰居節(jié)點(diǎn)選取方法,其特征在于,還包括步驟5),所 述步驟5)如下設(shè)鄰居節(jié)點(diǎn)列表中的鄰居節(jié)點(diǎn)數(shù)目為* ,請(qǐng)求節(jié)點(diǎn)獲得鄰居節(jié)點(diǎn)列表后,[51) 請(qǐng)求節(jié)點(diǎn)^從A個(gè)節(jié)點(diǎn)中選出W個(gè)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)交換,剩余的A一^個(gè)節(jié) 點(diǎn)作為備份節(jié)點(diǎn),隨著數(shù)據(jù)調(diào)度的進(jìn)行,在進(jìn)行數(shù)據(jù)調(diào)度的同時(shí)統(tǒng)計(jì)合作節(jié)點(diǎn)的延 時(shí)信息,若鄰居節(jié)點(diǎn)列表中某節(jié)點(diǎn)《與請(qǐng)求節(jié)點(diǎn)^交互延時(shí)超過(guò)預(yù)先設(shè)定的閾值, 則節(jié)點(diǎn)^會(huì)給節(jié)點(diǎn)《發(fā)送一個(gè)貧瘠服務(wù)消息;[52) 節(jié)點(diǎn)《在累計(jì)收到的貧瘠服務(wù)消息超出預(yù)先設(shè)定的閾值時(shí),所述節(jié)點(diǎn)《重 新測(cè)量本地至所有地標(biāo)節(jié)點(diǎn)間的延時(shí),找出與本地延時(shí)最小的地標(biāo)節(jié)點(diǎn)并加入所述 延時(shí)最小的地標(biāo)節(jié)點(diǎn)所屬的群;[53) 當(dāng)節(jié)點(diǎn)^鄰居列表內(nèi)的節(jié)點(diǎn)不能滿(mǎn)足服務(wù)時(shí),節(jié)點(diǎn)^重新向群首發(fā)送鄰居 節(jié)點(diǎn)請(qǐng)求信息,該請(qǐng)求信息附有節(jié)點(diǎn)^已有的鄰居節(jié)點(diǎn)信息,避免群首返回重復(fù)的 鄰居節(jié)點(diǎn)。
      全文摘要
      本發(fā)明涉及一種P2P系統(tǒng)中物理拓?fù)湎嚓P(guān)的鄰居節(jié)點(diǎn)選取方法,包括如下步驟1)確定一組地標(biāo)節(jié)點(diǎn);2)以每個(gè)地標(biāo)節(jié)點(diǎn)為中心建立群,所述群包括群首節(jié)點(diǎn)和成員節(jié)點(diǎn);所述地標(biāo)節(jié)點(diǎn)為群首節(jié)點(diǎn),從群內(nèi)的各成員節(jié)點(diǎn)到所述群首節(jié)點(diǎn)的延時(shí)均小于預(yù)定的閾值;所述群首節(jié)點(diǎn)存儲(chǔ)群內(nèi)延時(shí)表,所述群內(nèi)延時(shí)表記錄所屬群內(nèi)各成員節(jié)點(diǎn)至該群首節(jié)點(diǎn)的延時(shí),并按所述延時(shí)大小依序排列;3)某請(qǐng)求節(jié)點(diǎn)向該節(jié)點(diǎn)所屬群的群首節(jié)點(diǎn)請(qǐng)求鄰居節(jié)點(diǎn)列表;4)所述群首節(jié)點(diǎn)根據(jù)所述群內(nèi)延時(shí)表向所述請(qǐng)求節(jié)點(diǎn)返回鄰居節(jié)點(diǎn)列表。本發(fā)明能夠使P2P系統(tǒng)提高數(shù)據(jù)交換效率、實(shí)現(xiàn)負(fù)載均衡、降低維護(hù)開(kāi)銷(xiāo)。
      文檔編號(hào)H04L29/08GK101645925SQ20091008429
      公開(kāi)日2010年2月10日 申請(qǐng)日期2009年5月15日 優(yōu)先權(quán)日2009年5月15日
      發(fā)明者浩 任, 馮偵探, 王勁林, 杭 蘇, 蘇少煒, 魯逸峰 申請(qǐng)人:中國(guó)科學(xué)院聲學(xué)研究所
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1