国产精品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>

      一種實(shí)現(xiàn)點(diǎn)對點(diǎn)網(wǎng)絡(luò)連通的方法及裝置的制作方法

      文檔序號:7923664閱讀:198來源:國知局
      專利名稱:一種實(shí)現(xiàn)點(diǎn)對點(diǎn)網(wǎng)絡(luò)連通的方法及裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及計算機(jī)及通信領(lǐng)域,特別是涉及實(shí)現(xiàn)點(diǎn)對點(diǎn)網(wǎng)絡(luò)連通的方法及 裝置。
      背景技術(shù)
      隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,互聯(lián)網(wǎng)已普及到全世界。人們可以根據(jù)自己的需要 上傳或下載數(shù)據(jù)。為了提高數(shù)據(jù)傳輸效率和緩解服務(wù)器的壓力,技術(shù)人員提出
      了點(diǎn)對點(diǎn)(Peer To Peer, P2P )網(wǎng)絡(luò)。P2P網(wǎng)絡(luò)是由許多個節(jié)點(diǎn)(peer)組成, P2P網(wǎng)絡(luò)中的任一個節(jié)點(diǎn)都可以直接或間接的與其它節(jié)點(diǎn)相連。若將P2P網(wǎng)絡(luò) 中的節(jié)點(diǎn)抽象為點(diǎn),將節(jié)點(diǎn)與節(jié)點(diǎn)之間的連接關(guān)系抽象為連線,則一個P2P網(wǎng) 絡(luò)可構(gòu)成一張連通圖。
      然而,目前的P2P網(wǎng)絡(luò)不能保證在每一時刻整個網(wǎng)絡(luò)中的所有節(jié)點(diǎn)或大部 分節(jié)點(diǎn)(如95%以上的節(jié)點(diǎn))構(gòu)成一張連通圖。因此,在P2P網(wǎng)絡(luò)中廣播某個 消息時,部分節(jié)點(diǎn)將無法接收到該消息。
      為了解決上述問題,現(xiàn)有技術(shù)在廣播消息時,通過服務(wù)器向所有節(jié)點(diǎn)發(fā)送 該消息。該方法需要對所有節(jié)點(diǎn)進(jìn)行遍歷,當(dāng)節(jié)點(diǎn)的數(shù)量較大時,不僅影響消 息的廣播速度,不能保證及時性,還耗費(fèi)較多的服務(wù)器資源。

      發(fā)明內(nèi)容
      本發(fā)明實(shí)施例提供一種實(shí)現(xiàn)點(diǎn)對點(diǎn)網(wǎng)絡(luò)連通的方法及裝置,用于實(shí)現(xiàn)點(diǎn)對 點(diǎn)網(wǎng)絡(luò)的連通,以提高點(diǎn)對點(diǎn)網(wǎng)絡(luò)的數(shù)據(jù)傳輸效率。 一種實(shí)現(xiàn)點(diǎn)對點(diǎn)網(wǎng)絡(luò)連通的方法,包括以下步驟
      點(diǎn)對點(diǎn)網(wǎng)絡(luò)中每一節(jié)點(diǎn)將自身的標(biāo)識與該節(jié)點(diǎn)所有鄰居節(jié)點(diǎn)的標(biāo)識進(jìn)行 比較,判斷所述每一節(jié)點(diǎn)是否滿足預(yù)設(shè)條件;將所述每一節(jié)點(diǎn)中滿足預(yù)設(shè)條件的節(jié)點(diǎn)作為第 一節(jié)點(diǎn),將所述第 一節(jié)點(diǎn)連 接到滿足預(yù)設(shè)規(guī)則的第二節(jié)點(diǎn)。
      一種節(jié)點(diǎn)設(shè)備,包括
      比較模塊,用于將自身的第一標(biāo)識與自身的所有鄰居節(jié)點(diǎn)的標(biāo)識進(jìn)行比 較,判斷是否滿足預(yù)設(shè)條件;
      控制模塊,用于當(dāng)滿足預(yù)設(shè)條件時,控制自身連接到滿足預(yù)設(shè)規(guī)則的第二 節(jié)點(diǎn)。
      一種點(diǎn)對點(diǎn)網(wǎng)絡(luò)系統(tǒng),包括第一節(jié)點(diǎn)、第一節(jié)點(diǎn)的鄰居節(jié)點(diǎn)和第二節(jié)點(diǎn);
      其中
      第一節(jié)點(diǎn),用于將自身的第一標(biāo)識與自身的所有鄰居節(jié)點(diǎn)的標(biāo)識進(jìn)行比 較,判斷是否滿足預(yù)設(shè)條件;當(dāng)滿足預(yù)設(shè)條件時,向滿足預(yù)設(shè)規(guī)則的第二節(jié)點(diǎn) 發(fā)送連接請求以請求建立連接;
      第一節(jié)點(diǎn)的鄰居節(jié)點(diǎn),用于連接第一節(jié)點(diǎn);
      第二節(jié)點(diǎn),用于接收連接請求。
      本發(fā)明實(shí)施例使P2P網(wǎng)絡(luò)中每個節(jié)點(diǎn)主動進(jìn)行自我檢測,通過判斷自身標(biāo) 識與鄰居結(jié)點(diǎn)的標(biāo)識之間是否滿足預(yù)設(shè)的條件來發(fā)現(xiàn)自身是否有可能處于孤 島,當(dāng)滿足預(yù)設(shè)條件,即可能處于孤島時,主動請求與鄰居節(jié)點(diǎn)以外的節(jié)點(diǎn)建 立連接,來減少自身成為孤島的可能,使整個P2P網(wǎng)絡(luò)連通,以提高P2P網(wǎng)絡(luò) 的消息的廣播速度,保證及時性。


      圖1為本發(fā)明實(shí)施例中P2P網(wǎng)絡(luò)系統(tǒng)的結(jié)構(gòu)圖2為本發(fā)明實(shí)施例中連通P2P網(wǎng)絡(luò)的主要方法流程圖3為本發(fā)明實(shí)施例中收到拒絕連接時連通P2P網(wǎng)絡(luò)的方法流程圖4為本發(fā)明實(shí)施例中收到同意連接時連通P2P網(wǎng)絡(luò)的方法流程圖5為本發(fā)明實(shí)施例中節(jié)點(diǎn)設(shè)備的主要結(jié)構(gòu)圖6為本發(fā)明實(shí)施例中節(jié)點(diǎn)設(shè)備的詳細(xì)結(jié)構(gòu)圖。
      具體實(shí)施例方式
      本發(fā)明實(shí)施例中令點(diǎn)對點(diǎn)網(wǎng)絡(luò)中每個節(jié)點(diǎn)主動進(jìn)行自檢,通過判斷自身的 標(biāo)識是否是鄰居節(jié)點(diǎn)中的最小標(biāo)識,來確定自身是否有可能處于孤島,其中孤
      島是指該節(jié)點(diǎn)無法直接或間接的與P2P網(wǎng)絡(luò)中的根節(jié)點(diǎn)連接。當(dāng)某個節(jié)點(diǎn)發(fā)現(xiàn) 自身可能處于孤島時,主動請求與鄰居節(jié)點(diǎn)以外的節(jié)點(diǎn)連接。這樣可以使除根 節(jié)點(diǎn)以外的每個節(jié)點(diǎn)均與小于自身標(biāo)識的節(jié)點(diǎn)連接,這樣除根節(jié)點(diǎn)以外的每個 節(jié)點(diǎn)都有指向根節(jié)點(diǎn)的一條路徑,則所有節(jié)點(diǎn)所在的P2P網(wǎng)絡(luò)構(gòu)成了一張連通 圖,以提高P2P網(wǎng)絡(luò)的消息的廣播速度,保證及時性。
      優(yōu)選實(shí)施例中將# 節(jié)點(diǎn)定為P2P網(wǎng)絡(luò)中標(biāo)識最小的節(jié)點(diǎn)或?yàn)镻2P網(wǎng)絡(luò)中標(biāo) 識最大的節(jié)點(diǎn),該節(jié)點(diǎn)通常為服務(wù)器。某個節(jié)點(diǎn)的鄰居節(jié)點(diǎn)是指與該某個節(jié)點(diǎn) 有連接關(guān)系的節(jié)點(diǎn)。除根節(jié)點(diǎn)以外的每個節(jié)點(diǎn)都固定配置有根節(jié)點(diǎn)的標(biāo)識。本 實(shí)施例中將節(jié)點(diǎn)的MAC地址作為節(jié)點(diǎn)的標(biāo)識,以唯一標(biāo)識每個節(jié)點(diǎn),并且通 過該標(biāo)識可與相應(yīng)的節(jié)點(diǎn)通信。
      參見圖1,本實(shí)施例中P2P網(wǎng)絡(luò)系統(tǒng)包括根節(jié)點(diǎn)101和若干個其它節(jié)點(diǎn)。 其它節(jié)點(diǎn)可以是客戶端或服務(wù)器。其它節(jié)點(diǎn)包括第一節(jié)點(diǎn)102、第一節(jié)點(diǎn)102 的鄰居節(jié)點(diǎn)103和第二節(jié)點(diǎn)104。
      第一節(jié)點(diǎn)102用于將自身的第一標(biāo)識與自身的所有鄰居節(jié)點(diǎn)的標(biāo)識進(jìn)行比 較,判斷是否滿足預(yù)設(shè)條件;當(dāng)滿足預(yù)設(shè)條件時,向滿足預(yù)設(shè)規(guī)則的第二節(jié)點(diǎn) 發(fā)送連接請求以請求建立連接。若根節(jié)點(diǎn)為點(diǎn)對點(diǎn)網(wǎng)絡(luò)標(biāo)識最小的節(jié)點(diǎn),則第 二節(jié)點(diǎn)為標(biāo)識小于第一節(jié)點(diǎn)的第一標(biāo)識的節(jié)點(diǎn)。第一節(jié)點(diǎn)102用于將自身的第 一標(biāo)識與自身的所有鄰居節(jié)點(diǎn)103的標(biāo)識進(jìn)行比較,若第一標(biāo)識小于第一節(jié)點(diǎn) 的所有鄰居節(jié)點(diǎn)103的標(biāo)識,則從根節(jié)點(diǎn)101或鄰居節(jié)點(diǎn)103處,獲得第二節(jié) 點(diǎn)104的第二標(biāo)識,其中該第二標(biāo)識小于第一標(biāo)識,并且第二節(jié)點(diǎn)104不屬于 第一節(jié)點(diǎn)的鄰居節(jié)點(diǎn)103,以及向第二節(jié)點(diǎn)104發(fā)送連接請求,來請求與第二 節(jié)點(diǎn)104建立連接。若才艮節(jié)點(diǎn)為點(diǎn)對點(diǎn)網(wǎng)絡(luò)標(biāo)識最大的節(jié)點(diǎn),則第二節(jié)點(diǎn)為標(biāo) 識大于第一標(biāo)識的節(jié)點(diǎn)。第一節(jié)點(diǎn)102用于將自身的第一標(biāo)識與自身的所有鄰居節(jié)點(diǎn)103的標(biāo)識進(jìn)行比較,若第一標(biāo)識大于第一節(jié)點(diǎn)的所有鄰居節(jié)點(diǎn)103的 標(biāo)識,則/人#^節(jié)點(diǎn)101或鄰居節(jié)點(diǎn)103處,獲^^第二節(jié)點(diǎn)104的第二標(biāo)識,其 中該第二標(biāo)識大于第一標(biāo)識,并且第二節(jié)點(diǎn)104不屬于第一節(jié)點(diǎn)的鄰居節(jié)點(diǎn) 103,以及向第二節(jié)點(diǎn)104發(fā)送連接請求,來請求與第二節(jié)點(diǎn)104建立連接。
      根節(jié)點(diǎn)101用于向第一節(jié)點(diǎn)102發(fā)送第二標(biāo)識。
      第一節(jié)點(diǎn)的鄰居節(jié)點(diǎn)103用于向第一節(jié)點(diǎn)102發(fā)送第二標(biāo)識。
      第二節(jié)點(diǎn)104用于接收第一節(jié)點(diǎn)102發(fā)送的連接請求。
      第二節(jié)點(diǎn)104可能同意第一節(jié)點(diǎn)102的連接請求,也可能拒絕第一節(jié)點(diǎn)102 的連接請求。若第二節(jié)點(diǎn)104同意與第一節(jié)點(diǎn)102建立連接,則第二節(jié)點(diǎn)104 的鄰居節(jié)點(diǎn)的數(shù)量可能超過最大數(shù)量限制,第二節(jié)點(diǎn)104需要斷開與一個鄰居 節(jié)點(diǎn)(第三節(jié)點(diǎn)105)的連接。若第二節(jié)點(diǎn)104拒絕與第一節(jié)點(diǎn)102建立連接, 則第一節(jié)點(diǎn)102需要重新從根節(jié)點(diǎn)101或鄰居節(jié)點(diǎn)103處獲得標(biāo)識,并嘗試與 該標(biāo)識對應(yīng)的節(jié)點(diǎn)建立連接。
      參見圖2,本實(shí)施例中連通P2P網(wǎng)絡(luò)的主要方法流程如下
      步驟201:第一節(jié)點(diǎn)102將自身的第一標(biāo)識與自身的所有鄰居節(jié)點(diǎn)103的 標(biāo)識進(jìn)行比較,判斷是否滿足預(yù)設(shè)條件。
      步驟202:當(dāng)滿足預(yù)設(shè)條件時,第一節(jié)點(diǎn)102向滿足預(yù)設(shè)規(guī)則的第二節(jié)點(diǎn) 104發(fā)送連接請求以請求建立連接。當(dāng)不滿足預(yù)設(shè)條件時第一節(jié)點(diǎn)102 —定不 會處于孤島,可結(jié)束流程。
      第二節(jié)點(diǎn)104可能為標(biāo)識大于第一標(biāo)識的節(jié)點(diǎn),也可能為標(biāo)識小于第一標(biāo) 識的節(jié)點(diǎn)。下面以第二節(jié)點(diǎn)104的第二標(biāo)識小于第一標(biāo)識為例進(jìn)行說明。
      第二節(jié)點(diǎn)104可能同意或拒絕第一節(jié)點(diǎn)102的連接請求,則后續(xù)有多種實(shí) 現(xiàn)方式,下面通過兩個實(shí)施例來詳細(xì)介紹連通P2P網(wǎng)絡(luò)的方法。
      參見圖3,本實(shí)施例中第二節(jié)點(diǎn)104拒絕第一節(jié)點(diǎn)102的連接請求時,連 通P2P網(wǎng)絡(luò)的方法流程如下
      步驟301:第一節(jié)點(diǎn)102將自身的第一標(biāo)識與自身的所有鄰居節(jié)點(diǎn)103的標(biāo)識進(jìn)行比較。本實(shí)施例中除根節(jié)點(diǎn)以外的每個節(jié)點(diǎn)均周期性的執(zhí)行此步?;?br> 者當(dāng)有鄰居節(jié)點(diǎn)103請求與第一節(jié)點(diǎn)102斷開連接時,第一節(jié)點(diǎn)102需要執(zhí)行 此步。
      若第一標(biāo)識不小于第一節(jié)點(diǎn)102的所有鄰居節(jié)點(diǎn)103的標(biāo)識,則確定第一 節(jié)點(diǎn)102—定不是孤島,可結(jié)束流程。
      步驟302:若第一標(biāo)識小于所有鄰居節(jié)點(diǎn)103的標(biāo)識,則第一節(jié)點(diǎn)102向 根節(jié)點(diǎn)101或鄰居節(jié)點(diǎn)103發(fā)送節(jié)點(diǎn)標(biāo)識請求,請求獲得小于第一標(biāo)識的標(biāo)識。
      步驟303:第一節(jié)點(diǎn)102根據(jù)根節(jié)點(diǎn)101或鄰居節(jié)點(diǎn)103返回的標(biāo)識消息, 獲得小于第一標(biāo)識的第二標(biāo)識。此步驟有多種具體實(shí)現(xiàn)方式,如第一種方式 根節(jié)點(diǎn)101或鄰居節(jié)點(diǎn)103僅將小于第一標(biāo)識的第二標(biāo)識發(fā)送給第一節(jié)點(diǎn)102。 如第二種方式,根節(jié)點(diǎn)101或鄰居節(jié)點(diǎn)103將自身的所有鄰居節(jié)點(diǎn)的標(biāo)識發(fā)送 給第一節(jié)點(diǎn)102,由第一節(jié)點(diǎn)102從中確定小于第一標(biāo)識的第二標(biāo)識。其中, 第二標(biāo)識可以是根節(jié)點(diǎn)的標(biāo)識。
      步驟304:第一節(jié)點(diǎn)102向第二節(jié)點(diǎn)104發(fā)送連接請求。
      步驟305:第二節(jié)點(diǎn)104收到連接請求后,判斷自身的鄰居節(jié)點(diǎn)的數(shù)量是 否已達(dá)到最大數(shù)量門限,若已達(dá)到,則繼續(xù)步驟306,否則繼續(xù)步驟307。
      步驟306:第二節(jié)點(diǎn)104向第一節(jié)點(diǎn)102返回表示拒絕連接的拒絕消息。 第一節(jié)點(diǎn)102根據(jù)拒絕消息重新向根節(jié)點(diǎn)101或鄰居節(jié)點(diǎn)103發(fā)送節(jié)點(diǎn)標(biāo)識請 求,即重復(fù)步驟302。
      步驟307:第二節(jié)點(diǎn)104向第一節(jié)點(diǎn)102返回表示同意連接的同意消息。
      在步驟302中,第一節(jié)點(diǎn)102有多個鄰居節(jié)點(diǎn)103,第一節(jié)點(diǎn)102可以向 任一個鄰居節(jié)點(diǎn)103發(fā)送節(jié)點(diǎn)標(biāo)識請求。若第一節(jié)點(diǎn)102將節(jié)點(diǎn)標(biāo)識請求發(fā)送 給鄰居節(jié)點(diǎn)103中最大標(biāo)識的鄰居節(jié)點(diǎn)103,則最大標(biāo)識的鄰居節(jié)點(diǎn)103的鄰 居節(jié)點(diǎn)的標(biāo)識可能均大于第一節(jié)點(diǎn)102,因此較佳的,本實(shí)施例中第一節(jié)點(diǎn)102 將節(jié)點(diǎn)標(biāo)識請求發(fā)送給鄰居節(jié)點(diǎn)103中標(biāo)識第二小的鄰居節(jié)點(diǎn)103。若在步驟 306中標(biāo)識第二小的鄰居節(jié)點(diǎn)103拒絕了連接請求,則第一節(jié)點(diǎn)102將節(jié)點(diǎn)標(biāo)識請求發(fā)送給標(biāo)識第三小的鄰居節(jié)點(diǎn)103,以此類推?;蛘?,若在步驟303中 采用了第二種方式,第一節(jié)點(diǎn)102可以從獲得的標(biāo)識中再選擇一個第二標(biāo)識, 并嘗試與該第二標(biāo)識對應(yīng)的節(jié)點(diǎn)建立連接,若第一節(jié)點(diǎn)102與獲得的標(biāo)識中所 有標(biāo)識對應(yīng)的節(jié)點(diǎn)均連4妄失敗,再將節(jié)點(diǎn)標(biāo)識^清求發(fā)送^^鄰居節(jié)點(diǎn)103中標(biāo)識 第二小的鄰居節(jié)點(diǎn)103。
      參見圖4,本實(shí)施例中第二節(jié)點(diǎn)104同意第一節(jié)點(diǎn)102的連接請求時,連 通P2P網(wǎng)絡(luò)的方法流程如下
      步驟401:第一節(jié)點(diǎn)102將自身的第一標(biāo)識與自身的所有鄰居節(jié)點(diǎn)103的 標(biāo)識進(jìn)行比專交。
      若第一標(biāo)識不小于第一節(jié)點(diǎn)102的所有鄰居節(jié)點(diǎn)103的標(biāo)識,則確定第一 節(jié)點(diǎn)102—定不是孤島,可結(jié)束流程。
      步驟402:若第一標(biāo)識小于所有鄰居節(jié)點(diǎn)103的標(biāo)識,則第一節(jié)點(diǎn)102向 根節(jié)點(diǎn)101或鄰居節(jié)點(diǎn)103發(fā)送節(jié)點(diǎn)標(biāo)識請求,請求獲得小于第一標(biāo)識的標(biāo)識。
      步驟403:第一節(jié)點(diǎn)102根據(jù)根節(jié)點(diǎn)101或鄰居節(jié)點(diǎn)103返回的標(biāo)識消息, 獲得小于第 一標(biāo)識的第二標(biāo)識。
      步驟404:第一節(jié)點(diǎn)102向第二節(jié)點(diǎn)104發(fā)送連接請求。
      步驟405:第二節(jié)點(diǎn)104收到連接請求后,判斷自身的鄰居節(jié)點(diǎn)的數(shù)量是 否已達(dá)到最大數(shù)量門限,若已達(dá)到,則繼續(xù)步驟406,否則繼續(xù)步驟408。
      步驟406:第二節(jié)點(diǎn)104從自身的鄰居節(jié)點(diǎn)中確定第三節(jié)點(diǎn)105,并向第 三節(jié)點(diǎn)105發(fā)送斷開請求,請求與第三節(jié)點(diǎn)105斷開連接。
      若第三節(jié)點(diǎn)105的第三標(biāo)識大于第二節(jié)點(diǎn)104的第二標(biāo)識,則第三節(jié)點(diǎn)105 與標(biāo)識小于第三標(biāo)識的節(jié)點(diǎn)斷開連接,故第三節(jié)點(diǎn)105可能成為孤島。為避免 該問題,繼續(xù)步驟407。
      步驟407:第二節(jié)點(diǎn)104向第三節(jié)點(diǎn)105發(fā)送標(biāo)識消息,該標(biāo)識消息攜帶 有第二節(jié)點(diǎn)104的所有鄰居節(jié)點(diǎn)的標(biāo)識,或者攜帶有第二節(jié)點(diǎn)104的鄰居節(jié)點(diǎn) 中小于第三節(jié)點(diǎn)105的第三標(biāo)識的標(biāo)識?;蛘撸跀嚅_請求中攜帶第二節(jié)點(diǎn)104的所有鄰居節(jié)點(diǎn)的標(biāo)識,或者攜帶第二節(jié)點(diǎn)104的鄰居節(jié)點(diǎn)中小于第三節(jié)點(diǎn)
      105的第三標(biāo)識的標(biāo)識。
      發(fā)送標(biāo)識消息與發(fā)送斷開請求之間無嚴(yán)格的先后順序,也可以同時發(fā)送,
      相當(dāng)于在斷開請求中攜帶標(biāo)識。
      第二節(jié)點(diǎn)104在第三節(jié)點(diǎn)105同意斷開連接后,繼續(xù)步驟408。 步驟408:第二節(jié)點(diǎn)104向第一節(jié)點(diǎn)102返回表示同意連接的同意消息。 在步驟407之前,第二節(jié)點(diǎn)104可以詢問第三節(jié)點(diǎn)105,向其發(fā)送詢問消
      息,問第三節(jié)點(diǎn)105的標(biāo)識是否均小于第三節(jié)點(diǎn)105鄰居節(jié)點(diǎn)的標(biāo)識,若收到
      第三節(jié)點(diǎn)105的肯定答復(fù),則執(zhí)行步驟407,否則繼續(xù)步驟408。
      通過以上描述了解了連通P2P網(wǎng)絡(luò)的實(shí)現(xiàn)過程,實(shí)施例中的第一節(jié)點(diǎn)102、
      第二節(jié)點(diǎn)104和第三節(jié)點(diǎn)105等,均是相同的節(jié)點(diǎn),即各節(jié)點(diǎn)具有相同的功能,
      只是各節(jié)點(diǎn)在不同場景下發(fā)揮的作用不同,下面對P2P網(wǎng)絡(luò)中節(jié)點(diǎn)設(shè)備的功能
      和內(nèi)部結(jié)構(gòu)進(jìn)行介紹。
      參見圖5,本實(shí)施例中節(jié)點(diǎn)設(shè)備包括比較模塊501、控制模塊502和接口
      模塊503。
      比較模塊501用于將自身的第一標(biāo)識與自身的所有鄰居節(jié)點(diǎn)103的標(biāo)識進(jìn) 行比較。。
      控制模塊502用于生成各種消息或請求,在第一標(biāo)識小于自身的所有鄰居 節(jié)點(diǎn)的標(biāo)識的情況下,生成用于請求從根節(jié)點(diǎn)101或鄰居節(jié)點(diǎn)103處獲得標(biāo)識 的節(jié)點(diǎn)標(biāo)識請求,請求獲得的標(biāo)識小于第一標(biāo)識,并且請求獲得的標(biāo)識所對應(yīng) 的節(jié)點(diǎn)不屬于第一節(jié)點(diǎn)102的鄰居節(jié)點(diǎn)103。
      接口模塊503用于接收或發(fā)送各種消息或請求,接收根節(jié)點(diǎn)101或鄰居節(jié) 點(diǎn)103返回的第二標(biāo)識,并將控制模塊502生成的連接請求發(fā)送給第二節(jié)點(diǎn), 來請求與第二節(jié)點(diǎn)建立連接。
      節(jié)點(diǎn)設(shè)備還包括用于保存鄰居標(biāo)識等數(shù)據(jù)的存儲模塊504,參見圖6所示。
      接口模塊503還用于接收連接請求。則所述節(jié)點(diǎn)設(shè)備還包括數(shù)量模塊505,用于判斷自身的鄰居節(jié)點(diǎn)的數(shù)量是否達(dá)到預(yù)設(shè)的最大數(shù)量??刂颇K502 還用于在自身的鄰居節(jié)點(diǎn)的數(shù)量未達(dá)到最大數(shù)量的情況下,同意連接請求;在 自身的鄰居節(jié)點(diǎn)的數(shù)量達(dá)到最大數(shù)量的情況下,從自身的鄰居節(jié)點(diǎn)中確定第三 節(jié)點(diǎn),并生成用于斷開與第三節(jié)點(diǎn)的連接的斷開請求,以及同意連接請求;或 者,在自身的鄰居節(jié)點(diǎn)的數(shù)量達(dá)到最大數(shù)量的情況下,生成拒絕連接請求的拒 絕消息;在接口模塊503收到拒絕消息的情況下,重新生成節(jié)點(diǎn)標(biāo)識請求。其 中,較佳的,控制模塊502用于從自身的鄰居節(jié)點(diǎn)中確定標(biāo)識小于自身標(biāo)識的 第三節(jié)點(diǎn)。
      控制模塊502還用于在生成斷開請求前或者在生成斷開請求的同時,生成 并指示接口模塊503將攜帶有自身的鄰居節(jié)點(diǎn)的標(biāo)識的標(biāo)識消息發(fā)送給第三節(jié) 點(diǎn);以及在接口模塊503收到斷開請求和標(biāo)識消息的情況下,生成連接請求。
      控制模塊502還用于在生成標(biāo)識消息之前,生成并指示接口模塊503將用 于詢問第三節(jié)點(diǎn)的標(biāo)識是否均小于第三節(jié)點(diǎn)鄰居節(jié)點(diǎn)的標(biāo)識的詢問消息,并通 過接口模塊收到第三節(jié)點(diǎn)的肯定答復(fù)。
      本發(fā)明實(shí)施例是以根節(jié)點(diǎn)為P2P網(wǎng)絡(luò)中標(biāo)識最小的節(jié)點(diǎn)為例進(jìn)行的說明, 也可以將根節(jié)點(diǎn)設(shè)為P2P網(wǎng)絡(luò)中標(biāo)識最大的節(jié)點(diǎn),則除^^艮節(jié)點(diǎn)以外的每個節(jié)點(diǎn) 主動與大于自身標(biāo)識的節(jié)點(diǎn)連接,也可以得到連通的P2P網(wǎng)絡(luò)。
      用于實(shí)現(xiàn)本發(fā)明實(shí)施例的軟件可以存儲于軟盤、硬盤、光盤和閃存等存儲介質(zhì)。
      本發(fā)明實(shí)施例使P2P網(wǎng)絡(luò)中除根節(jié)點(diǎn)以外的每個節(jié)點(diǎn)主動進(jìn)行自我檢測, 通過判斷自身標(biāo)識與鄰居結(jié)點(diǎn)的標(biāo)識之間是否滿足預(yù)設(shè)的條件來發(fā)現(xiàn)自身是 否有可能處于孤島,當(dāng)滿足預(yù)設(shè)條件,即可能處于孤島時,主動請求與鄰居節(jié) 點(diǎn)以外的節(jié)點(diǎn)建立連接,來減少自身成為孤島的可能,使整個P2P網(wǎng)絡(luò)連通, 以提高P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸效率。本發(fā)明實(shí)施例還考慮到當(dāng)?shù)谝还?jié)點(diǎn)請求與第 二節(jié)點(diǎn)建立連接時,第二節(jié)點(diǎn)同意或拒絕連接的情況,為了避免第一節(jié)點(diǎn)成為 孤島,則強(qiáng)制第二節(jié)點(diǎn)與第一節(jié)點(diǎn)連接,并在節(jié)點(diǎn)的鄰居數(shù)量一定的情況下,使第二節(jié)點(diǎn)斷開與其它鄰居節(jié)點(diǎn)的連接,以保證其與第一節(jié)點(diǎn)的連接。鑒于第 二節(jié)點(diǎn)斷開與其它鄰居節(jié)點(diǎn)的連接可能導(dǎo)致該其它鄰居節(jié)點(diǎn)成為孤島,本發(fā)明 實(shí)施例還使第二節(jié)點(diǎn)將包括標(biāo)識的列表發(fā)送給該其它鄰居節(jié)點(diǎn),使該其它鄰居
      節(jié)點(diǎn)嘗試與其它節(jié)點(diǎn)建立連接,以減少成為孤島的可能,保證整個P2P網(wǎng)絡(luò)的連通。
      明的精神和范圍。這樣,倘若對本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求 及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
      權(quán)利要求
      1、一種實(shí)現(xiàn)點(diǎn)對點(diǎn)網(wǎng)絡(luò)連通的方法,其特征在于,包括以下步驟點(diǎn)對點(diǎn)網(wǎng)絡(luò)中每一節(jié)點(diǎn)將自身的標(biāo)識與該節(jié)點(diǎn)所有鄰居節(jié)點(diǎn)的標(biāo)識進(jìn)行比較,判斷所述每一節(jié)點(diǎn)是否滿足預(yù)設(shè)條件;將所述每一節(jié)點(diǎn)中滿足預(yù)設(shè)條件的節(jié)點(diǎn)作為第一節(jié)點(diǎn),將所述第一節(jié)點(diǎn)連接到滿足預(yù)設(shè)規(guī)則的第二節(jié)點(diǎn)。
      2、 如權(quán)利要求1所述的方法,其特征在于,所述預(yù)設(shè)條件為第一節(jié)點(diǎn)的 第一標(biāo)識小于第一節(jié)點(diǎn)的所有鄰居節(jié)點(diǎn)的標(biāo)識,所述預(yù)設(shè)規(guī)則為第二節(jié)點(diǎn)的第 二標(biāo)識小于第 一標(biāo)識。
      3、 如權(quán)利要求1所述的方法,其特征在于,所述預(yù)設(shè)條件為第一節(jié)點(diǎn)的 第 一標(biāo)識大于第 一節(jié)點(diǎn)的所有鄰居節(jié)點(diǎn)的標(biāo)識,所述預(yù)i殳MJ'j為第二節(jié)點(diǎn)的第 二標(biāo)識大于第一標(biāo)識。
      4、 如權(quán)利要求2或3所述的方法,其特征在于,所述點(diǎn)對點(diǎn)網(wǎng)絡(luò)中具有 一根節(jié)點(diǎn),所述將所述第一節(jié)點(diǎn)連接到滿足預(yù)設(shè)規(guī)則的第二節(jié)點(diǎn)的過程包括: 所述第一節(jié)點(diǎn)從根節(jié)點(diǎn)或鄰居節(jié)點(diǎn)處獲得第二標(biāo)識,并根據(jù)第二標(biāo)識向第二節(jié) 點(diǎn)發(fā)送連接請求以請求與第二節(jié)點(diǎn)建立連接。
      5、 如權(quán)利要求4所述的方法,其特征在于,第二節(jié)點(diǎn)收到連接請求后, 判斷自身的鄰居節(jié)點(diǎn)的數(shù)量是否達(dá)到預(yù)設(shè)的最大數(shù)量;若未達(dá)到最大數(shù)量,則同意與第一節(jié)點(diǎn)連接;若達(dá)到最大數(shù)量,則從自身的鄰居節(jié)點(diǎn)中斷開與第三節(jié)點(diǎn)的連接后,同意 與第一節(jié)點(diǎn)連接;或者,拒絕與第一節(jié)點(diǎn)連接,第一節(jié)點(diǎn)重復(fù)從根節(jié)點(diǎn)或鄰居 節(jié)點(diǎn)處獲得節(jié)點(diǎn)的步驟。
      6、 如權(quán)利要求5所述的方法,其特征在于,第二節(jié)點(diǎn)在斷開與第三節(jié)點(diǎn) 的連接前,將自身的鄰居節(jié)點(diǎn)的標(biāo)識發(fā)送給第三節(jié)點(diǎn);第三節(jié)點(diǎn)依據(jù)收到的標(biāo) 識發(fā)送連接請求。
      7、 如權(quán)利要求1所述的方法,其特征在于,所述點(diǎn)對點(diǎn)網(wǎng)絡(luò)中具有一根節(jié)點(diǎn),所述第二節(jié)點(diǎn)為根節(jié)點(diǎn)。
      8、 如權(quán)利要求1或2或3所述的方法,其特征在于,所述方法將每一節(jié) 點(diǎn)的MAC地址作為節(jié)點(diǎn)的標(biāo)識。
      9、 一種節(jié)點(diǎn)設(shè)備,其特征在于,包括比較模塊,用于將自身的第一標(biāo)識與自身的所有鄰居節(jié)點(diǎn)的標(biāo)識進(jìn)行比 較,判斷是否滿足預(yù)設(shè)條件;控制模塊,用于當(dāng)滿足預(yù)設(shè)條件時,控制自身連接到滿足預(yù)設(shè)規(guī)則的第二 節(jié)點(diǎn)。
      10、 如權(quán)利要求9所述的節(jié)點(diǎn)設(shè)備,其特征在于,所述預(yù)設(shè)條件為第一標(biāo) 識小于自身的所有鄰居節(jié)點(diǎn)的標(biāo)識,所述預(yù)設(shè)規(guī)則為第二節(jié)點(diǎn)的第二標(biāo)識小于 第一標(biāo)識。
      11、 如權(quán)利要求9所述的節(jié)點(diǎn)設(shè)備,其特征在于,所述預(yù)設(shè)條件為第一標(biāo) 識大于自身的所有鄰居節(jié)點(diǎn)的標(biāo)識,所述預(yù)設(shè)規(guī)則為第二節(jié)點(diǎn)的第二標(biāo)識大于 第一標(biāo)識。
      12、 如權(quán)利要求10或11所述的節(jié)點(diǎn)設(shè)備,其特征在于,所述點(diǎn)對點(diǎn)網(wǎng)絡(luò) 中具有一根節(jié)點(diǎn),所述節(jié)點(diǎn)設(shè)備還包括接口模塊,用于從根節(jié)點(diǎn)或鄰居節(jié)點(diǎn)處獲得第二標(biāo)識,并根據(jù)第二標(biāo)識向 第二節(jié)點(diǎn)發(fā)送連接請求以請求與第二節(jié)點(diǎn)建立連接。
      13、 如權(quán)利要求12所述的節(jié)點(diǎn)設(shè)備,其特征在于,接口模塊還用于接收 連接請求5所述節(jié)點(diǎn)設(shè)備還包括數(shù)量模塊,用于判斷自身的鄰居節(jié)點(diǎn)的數(shù)量是否達(dá) 到預(yù)設(shè)的最大數(shù)量;控制模塊還用于在自身的鄰居節(jié)點(diǎn)的數(shù)量未達(dá)到最大數(shù)量的情況下,同意 連接請求;在自身的鄰居節(jié)點(diǎn)的數(shù)量達(dá)到最大數(shù)量的情況下,從自身的鄰居節(jié) 點(diǎn)中確定第三節(jié)點(diǎn),并生成用于斷開與第三節(jié)點(diǎn)的連接的斷開請求,以及同意 連接請求;或者,在自身的鄰居節(jié)點(diǎn)的數(shù)量達(dá)到最大數(shù)量的情況下,生成拒絕連接請求的拒絕消息;在接口模塊收到拒絕消息的情況下,重新生成節(jié)點(diǎn)標(biāo)識 請求。
      14、 如權(quán)利要求13所述的節(jié)點(diǎn)設(shè)備,其特征在于,控制模塊還用于在生 成斷開請求前或者在生成斷開請求的同時,生成并指示接口模塊將攜帶有自身 的鄰居節(jié)點(diǎn)的標(biāo)識的標(biāo)識消息發(fā)送給第三節(jié)點(diǎn);以及在接口模塊收到斷開請求 和標(biāo)識消息的情況下,生成連接請求。
      15、 如權(quán)利要求9或10或11所述的節(jié)點(diǎn)設(shè)備,其特征在于,所述節(jié)點(diǎn)標(biāo) 識為每一節(jié)點(diǎn)的MAC地址。
      16、 一種點(diǎn)對點(diǎn)網(wǎng)絡(luò)系統(tǒng),其特征在于,包括第一節(jié)點(diǎn)、第一節(jié)點(diǎn)的鄰 居節(jié)點(diǎn)和第二節(jié)點(diǎn);其中第一節(jié)點(diǎn),用于將自身的第一標(biāo)識與自身的所有鄰居節(jié)點(diǎn)的標(biāo)識進(jìn)行比 較,判斷是否滿足預(yù)設(shè)條件;當(dāng)滿足預(yù)設(shè)條件時,向滿足預(yù)設(shè)規(guī)則的第二節(jié)點(diǎn) 發(fā)送連接請求以請求建立連接;第一節(jié)點(diǎn)的鄰居節(jié)點(diǎn),用于連接第一節(jié)點(diǎn);第二節(jié)點(diǎn),用于接收連接請求。
      全文摘要
      本發(fā)明公開了一種實(shí)現(xiàn)點(diǎn)對點(diǎn)網(wǎng)絡(luò)連通的方法,用于實(shí)現(xiàn)點(diǎn)對點(diǎn)網(wǎng)絡(luò)的連通,以提高點(diǎn)對點(diǎn)網(wǎng)絡(luò)的數(shù)據(jù)傳輸效率。所述方法包括點(diǎn)對點(diǎn)網(wǎng)絡(luò)中每一節(jié)點(diǎn)將自身的標(biāo)識與該節(jié)點(diǎn)所有鄰居節(jié)點(diǎn)的標(biāo)識進(jìn)行比較,判斷所述每一節(jié)點(diǎn)是否滿足預(yù)設(shè)條件;將所述每一節(jié)點(diǎn)中滿足預(yù)設(shè)條件的節(jié)點(diǎn)作為第一節(jié)點(diǎn),將所述第一節(jié)點(diǎn)連接到滿足預(yù)設(shè)規(guī)則的第二節(jié)點(diǎn)。本發(fā)明還公開了用于實(shí)現(xiàn)所述方法的裝置和系統(tǒng)。
      文檔編號H04L29/08GK101448021SQ200810189489
      公開日2009年6月3日 申請日期2008年12月29日 優(yōu)先權(quán)日2008年12月29日
      發(fā)明者研 鄭, 錢姚鋒, 成 陳, 顧生華 申請人:深圳市迅雷網(wǎng)絡(luò)技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1