專利名稱:一種用于p2p文件傳輸?shù)目臻e節(jié)點協(xié)助方法
技術領域:
本發(fā)明屬于網(wǎng)絡文件傳輸技術領域,具體涉及一種用于P2P文件傳輸?shù)目臻e節(jié)點協(xié)助方法。
背景技術:
P2P (Peer-to-Peer,對等)技術,又稱為對等網(wǎng)絡技術,是一種在終端設備用戶之間、不經(jīng)過中間設備直接交換信息的技術。這些終端設備用戶作為節(jié)點,它們之間的關系是平等、直接聯(lián)系的,每個節(jié)點都具有信息處理和提供的功能。需要相同文件的節(jié)點通過加入同一個P2P網(wǎng)絡組成一個P2P文件傳輸網(wǎng)絡。P2P文件傳輸技術解決了傳統(tǒng)客戶/服務器(C/幻模式難以突破的服務器和帶寬瓶頸。傳統(tǒng)的文件分發(fā)方是大多采用客戶/服務器(c/幻模式,在這種模式下,當用戶需要得到某個完整的文件時,服務器以點對點推送的方式直接把文件發(fā)送給用戶。當需要某個文件的用戶數(shù)量大幅增加,這種C/S模式服務器需要同時把文件內容推送給多個用戶,其缺陷便會明顯地顯現(xiàn)出來,如服務器帶寬不足、處理能力沒有辦法跟上等,從而形成服務器瓶頸,系統(tǒng)的可擴展性差。而另一方面,普通用戶只利用了自身的下載帶寬得到文件數(shù)據(jù), 而并沒有充分利用到他們的上傳帶寬,浪費了這些帶寬資源。而P2P文件傳輸技術可以充分利用所有參與文件交換的用戶的帶寬、處理能力和存儲資源,將數(shù)據(jù)分散存儲和處理,從而使得文件傳輸?shù)乃俣鹊玫酱蠓岣?,使得大?guī)模的文件交換成為可能。在普通的P2P文件傳輸網(wǎng)絡中,每個節(jié)點都是獨立、平等的,它們之間相互連接, 構成一個P2P網(wǎng)絡,稱為P2P網(wǎng)絡拓撲。目前P2P網(wǎng)絡拓撲結構包括三類鏈狀結構、樹狀結構和網(wǎng)狀結構。而應用最為廣泛的P2P網(wǎng)絡拓撲是網(wǎng)狀結構。網(wǎng)狀結構是指構成重疊網(wǎng)的網(wǎng)絡邏輯拓撲為隨機拓撲,每個節(jié)點均和多個節(jié)點相連并建成鄰居關系,對等鄰居節(jié)點之間也不存在嚴格的父子關系。網(wǎng)狀結構不需專用設備, 也無固定拓撲維護,每個節(jié)點根據(jù)鄰居節(jié)點網(wǎng)絡狀況、數(shù)據(jù)信息決定數(shù)據(jù)轉發(fā)方向。因此, 此機制適合于異構模式的互連網(wǎng)環(huán)境,每個節(jié)點可與多個節(jié)點交換數(shù)據(jù),無預先指定的父子關系,因此維護負載低。其代價就是服務質量無法預期,傳輸時延大,可管理性差。網(wǎng)狀結構最大有優(yōu)勢是對帶寬的利用,可以相對更為充分地利用每個節(jié)點的上傳帶寬。從全局看,如果不考慮服務器的作用,那么全部節(jié)點可以得到的下載帶寬之和應該等于全部節(jié)點的上傳帶寬之和。因此,提高每個節(jié)點的下載速度一定程度上就等同于提高每個節(jié)點上傳帶寬和效率。但在真實網(wǎng)絡中,一般的用戶大多使用非對稱的網(wǎng)絡接入方式,例如ADSL。通過這種非對稱方式,一般用戶可以得到比較高的下載帶寬以及相對小的上傳帶寬。在C/S模式中這種方式比較高效,但在P2P文件交換網(wǎng)絡中,這種非對稱的網(wǎng)絡接入用戶只能提供相對小的上傳帶寬,從而使得整個網(wǎng)絡面臨上傳帶寬的瓶頸。而同時,網(wǎng)絡中存在很多沒有被利用的上傳帶寬。一方面,一些用戶在下載完成自己所需要的文件數(shù)據(jù)后,并不會急于退出P2P客戶端下載器,這些用戶可以看作依然存在于P2P網(wǎng)絡中,但上傳帶寬和下載帶寬都是空閑的。另一方面,網(wǎng)絡中存在一些設備,它們擁有上傳和下載帶寬以及存儲容量,但并不主動需求數(shù)據(jù),例如家庭服務網(wǎng)關、數(shù)字機頂盒等。這些空閑的用戶和設備都可以看作網(wǎng)絡中的空閑節(jié)點。本發(fā)明的創(chuàng)作目的就是針對這些空閑節(jié)點,讓這些空閑節(jié)點下載少量的數(shù)據(jù),并充分地利用他們的上傳帶寬,從而提高整個網(wǎng)絡的上傳帶寬,減少普通用戶的下載時間。
發(fā)明內容
本發(fā)明所要解決的技術問題是如何充分利用空閑節(jié)點的上傳帶寬,緩解P2P文件傳輸網(wǎng)絡中上傳帶寬和下載帶寬不對稱的問題。為解決上述技術問題,本發(fā)明采用的技術方案如下一種用于P2P文件傳輸?shù)目臻e節(jié)點協(xié)助方法,包括以下步驟(1)空閑節(jié)點隨機加入一個P2P文件傳輸網(wǎng)絡;(2)所述空閑節(jié)點與普通節(jié)點建立連接;(3)所述空閑節(jié)點每隔預設時間選擇部分數(shù)據(jù)進行下載,并為沒有該部分數(shù)據(jù)且與該空閑節(jié)點連接的所有普通節(jié)點提供上傳。本發(fā)明所述方法,通過將空閑節(jié)點加入到P2P文件傳輸網(wǎng)絡,并選擇性地下載少量數(shù)據(jù),為普通節(jié)點提供較多的數(shù)據(jù)上傳,從而擴大了整體網(wǎng)絡的上傳帶寬,降低了普通節(jié)點下載文件所需要的時間。
圖1是具體實施方式
中P2P網(wǎng)絡結構示意圖;圖2是具體實施方式
中空閑節(jié)點協(xié)助方法的流程圖;圖3是具體實施方式
中空閑節(jié)點與一個普通節(jié)點連接方式1的流程圖;圖4是具體實施方式
中空閑節(jié)點與一個普通節(jié)點連接方式2的流程圖;圖5是實施例1中空閑節(jié)點選擇數(shù)據(jù)塊下載和上傳的流程圖;圖6是實施例2中空閑節(jié)點選擇數(shù)據(jù)片段下載和上傳的流程圖;圖7是實施例3中空閑節(jié)點選擇數(shù)據(jù)片段下載和上傳的流程圖。
具體實施例方式下面結合具體實施方式
和附圖對本發(fā)明進行詳細描述。圖1是本實施方式中P2P網(wǎng)絡結構示意圖。索引服務器與多個P2P文件傳輸網(wǎng)絡連接(圖1中只示出了與一個P2P文件傳輸網(wǎng)絡的連接),每個P2P文件傳輸網(wǎng)絡包括若干節(jié)點,節(jié)點之間的拓撲關系為網(wǎng)狀結構,即每個節(jié)點均和多個節(jié)點連接并建成鄰居關系。節(jié)點可以是網(wǎng)絡中的主機,也可以是網(wǎng)絡設備,如家庭服務網(wǎng)關、數(shù)字機頂盒等。每個節(jié)點都安裝有P2P客戶端下載器。本實施方式中,P2P文件傳輸網(wǎng)絡中的節(jié)點分為普通節(jié)點和空閑節(jié)點。普通節(jié)點是指需要當前網(wǎng)絡中的文件數(shù)據(jù),且沒有空閑帶寬的節(jié)點;空閑節(jié)點是指不需要當前網(wǎng)絡中的文件數(shù)據(jù),且存在空閑帶寬的節(jié)點。索引服務器是一個公開地址的服務器,用于記錄不同的P2P文件傳輸網(wǎng)絡以及這些網(wǎng)絡中節(jié)點的節(jié)點信息,包括節(jié)點的IP地址、節(jié)點號等,從而協(xié)助節(jié)點加入P2P文件傳輸網(wǎng)絡。
圖2是本實施方式中空閑節(jié)點協(xié)助方法的流程圖,主要包括以下步驟(1)空閑節(jié)點隨機加入一個P2P文件傳輸網(wǎng)絡。在由普通節(jié)點構成的一個P2P文件傳輸網(wǎng)絡中,索引服務器保存了該網(wǎng)絡中全部節(jié)點的節(jié)點信息,包括節(jié)點的IP地址,用于幫助新加入的空閑節(jié)點找到已經(jīng)在網(wǎng)絡中的其他節(jié)點。索引服務器自身的地址是公開的,任何節(jié)點都可以與之交互,獲取其他節(jié)點的信肩、ο當P2P客戶端下載器探測到其所在的節(jié)點出現(xiàn)空閑時,空閑節(jié)點需要首先與索引服務器進行交互??臻e節(jié)點首先與索引服務器建立連接,然后給索引服務器發(fā)送空閑節(jié)點進入消息,用于標記自身是空閑節(jié)點。索引服務器在收到空閑節(jié)點進入消息后,不記錄空閑節(jié)點的節(jié)點信息,從而不會主動選擇空閑節(jié)點返回給普通節(jié)點,而是從自身記錄下的P2P 文件傳輸網(wǎng)絡中隨機選擇一個,將空閑節(jié)點加入該網(wǎng)絡。索引服務器不主動將空閑節(jié)點返回給普通節(jié)點,能夠減少對普通節(jié)點請求相鄰的其他普通節(jié)點的干擾。否則如果索引服務器返回過多的空閑節(jié)點給普通節(jié)點,而空閑節(jié)點自身只擁有少量的數(shù)據(jù),則普通節(jié)點難以從相鄰的普通節(jié)點獲得需要的數(shù)據(jù),反而降低了下載效率。(2)空閑節(jié)點與普通節(jié)點建立連接。空閑節(jié)點加入一個P2P文件傳輸網(wǎng)絡后,從該網(wǎng)絡的所有節(jié)點中,隨機選擇m個普通節(jié)點,(m的取值一般在[10,30]之間,最佳值為20個),把它們的節(jié)點信息返回給空閑節(jié)點,空閑節(jié)點分別與m個普通節(jié)點建立連接。當P2P文件傳輸網(wǎng)絡中出現(xiàn)超過一個空閑節(jié)點時,可能會有多個空閑節(jié)點請求與一個普通節(jié)點建立連接。但普通節(jié)點并不需要與過多的空閑節(jié)點建立連接,因為空閑節(jié)點的下載存在重復性。為了減少碰撞的概率,普通節(jié)點需要對空閑節(jié)點進行選擇,選擇的依據(jù)是空閑節(jié)點與普通節(jié)點之間的傳輸延遲時間。這樣,可以使得空閑節(jié)點與普通節(jié)點之間的數(shù)據(jù)傳輸更為有效??臻e節(jié)點在得到索引服務器隨機選出的m個普通節(jié)點信息后,依次請求跟這m個普通節(jié)點建立連接。首先分別向m個普通節(jié)點發(fā)送handshake (握手)消息,在handshake 消息中標記自己是空閑節(jié)點。每個普通節(jié)點在接到handshake消息之后,需要對空閑節(jié)點進行選擇,選擇的過程可以采用如下兩種方式之一(a)如圖3所示,普通節(jié)點接到空閑節(jié)點發(fā)送的handshake消息后,先與空閑節(jié)點
建立連接。假設普通節(jié)點為普通節(jié)點p,空閑節(jié)點為空閑節(jié)點a??臻e節(jié)點a與普通節(jié)點ρ建立連接后,普通節(jié)點P統(tǒng)計與其連接的所有空閑節(jié)點數(shù)量M。如果M彡n(n為正整數(shù),其范圍優(yōu)選在[1,5]之間),則保持與空閑節(jié)點a的連接, 結束連接過程。如果M = n+1,則普通節(jié)點A向與其連接的所有空閑節(jié)點發(fā)送探測消息,其內容可以是固定大小(例如256KB)的任意數(shù)據(jù),記錄下探測消息的發(fā)送時間并等待自動回復。當空閑節(jié)點接收到探測消息后,把探測消息再返回給普通節(jié)點P,普通節(jié)點P記錄下回復時間,減去其發(fā)送時間后作為普通節(jié)點ρ與該空閑節(jié)點的傳輸延遲時間。如果普通節(jié)點 P沒有收到空閑節(jié)點返回的探測消息,則認為普通節(jié)點P與該空閑節(jié)點的傳輸延遲時間為無窮大。當普通節(jié)點發(fā)出探測消息后,經(jīng)過一段時間(該段時間一般可以設在1至5秒之間,優(yōu)選設為3秒)后沒有收到空閑節(jié)點返回的探測消息,便認為普通節(jié)點與空閑節(jié)點的傳輸延遲時間為無窮大。從與普通節(jié)點P連接的全部空閑節(jié)點中選擇傳輸延遲時間最大的一個,發(fā)送取消連接消息,并與之斷開連接。(b)如圖4所示,普通節(jié)點ρ接到空閑節(jié)點發(fā)送的handshake消息后,先統(tǒng)計與其連接的所有空閑節(jié)點數(shù)量M。如果M <n(n為正整數(shù),其范圍優(yōu)選在[1,5]之間),則直接與空閑節(jié)點a建立連接。否則,普通節(jié)點P獲得其與空閑節(jié)點a的傳輸延遲時間,以及與當前和其連接的所有空閑節(jié)點的傳輸延時時間。由于此時普通節(jié)點P與空閑節(jié)點a尚未建立連接,因此普通節(jié)點P與空閑節(jié)點a的傳輸延遲時間可采用如下方式獲得普通節(jié)點P向空閑節(jié)點a發(fā)送UDP^ser Datagram Protocol,用戶數(shù)據(jù)包協(xié)議)探測包,例如ping (Packet Internet Grope,因特網(wǎng)包探索器)包,記錄下發(fā)送時間后,等待空閑節(jié)點自動返回UDP響應包;當普通節(jié)點P收到UDP響應包后,記錄下收到時間,將響應包的收到時間與探測包的發(fā)送時間之差作為傳輸延遲時間。如果普通節(jié)點P沒有收到UDP響應包,則認為普通節(jié)點 P與空閑節(jié)點a的傳輸延遲時間為無窮大。如果采用已有的UDP探測包(如ping包),那么超時時間是被設置好的,大概為1秒。當然,該值也可以另外設置。由于UDP探測包數(shù)據(jù)較少,所以超時時間應該設置小一些,一般在1至3秒之間,優(yōu)選為2秒。普通節(jié)點ρ與其他空閑節(jié)點的傳輸延遲時間通過與空閑節(jié)點a同樣的方式獲得。如果空閑節(jié)點a的傳輸延遲時間最大,則普通節(jié)點P不與其進行連接;否則從當前與其連接的所有空閑節(jié)點中選出傳輸延遲時間最大的空閑節(jié)點,與其斷開連接,并與空閑節(jié)點a建立連接。(3)空閑節(jié)點選擇部分數(shù)據(jù)進行下載以及上傳。普通節(jié)點在與空閑節(jié)點建立連接后,并不直接向空閑節(jié)點請求數(shù)據(jù),空閑節(jié)點也并非時時刻刻都進行數(shù)據(jù)傳輸,而是每隔t (5 20,優(yōu)選為10)秒啟動一次數(shù)據(jù)選擇過程, 選擇部分數(shù)據(jù)下載并上傳給沒有該部分數(shù)據(jù)且與該空閑節(jié)點連接的所有普通節(jié)點。在每個P2P文件傳輸網(wǎng)絡中,被傳輸?shù)奈募ǔ1环殖扇舾蓚€等大小的chunk (數(shù)據(jù)塊),最后一個chunk大小可能小于前面chunk的大小。每個chunk又可以分成若干個等大小的piece (數(shù)據(jù)片段),最后一個piece的大小可能小于前面piece的大小。節(jié)點之間每一次的數(shù)據(jù)傳輸都以Piece為單位。由于空閑節(jié)點并不需要完整的文件,因此空閑節(jié)點只需選擇部分數(shù)據(jù)進行下載和上傳即可。但該部分數(shù)據(jù)的數(shù)據(jù)量不宜過多,否則會影響到普通節(jié)點的數(shù)據(jù)下載。本實施方式中,空閑節(jié)點選擇部分數(shù)據(jù)的方式有如下三種實施例1如圖5所示,本實施例中,空閑節(jié)點選擇一個chunk進行下載和上傳??臻e節(jié)點與普通節(jié)點建立連接后,用一個節(jié)點列表記錄與該空閑節(jié)點連接的所有普通節(jié)點的信息,將與空閑節(jié)點連接的所有普通節(jié)點稱為該空閑節(jié)點的鄰居節(jié)點。并用 bitmap (位圖)記錄該空閑節(jié)點的所有鄰居節(jié)點擁有chunk的情況,每一個鄰居節(jié)點對應一個位圖。當空閑節(jié)點與普通節(jié)點的連接關系變更時,更新節(jié)點列表。例如,當空閑節(jié)點接收到普通節(jié)點發(fā)送的取消連接消息時,將普通節(jié)點從其節(jié)點列表中刪除,如圖3和圖4所示。 當空閑節(jié)點的鄰居節(jié)點擁有chunk的情況發(fā)生變化時,將變更信息發(fā)送給空閑節(jié)點,空閑節(jié)點以此變更鄰居節(jié)點擁有chunk的情況。
8
每隔5秒的時間段,每個空閑節(jié)點進行一次chunk選擇。從尚未下載完的全部 chunk中,選擇一個可以使得空閑節(jié)點的上傳帶寬更充分利用的chunk。一個空閑節(jié)點選擇 chunk的過程如下對于P2P文件傳輸網(wǎng)絡中當前傳輸文件的每一個尚未下載完的chunk, 空閑節(jié)點首先遍歷一次節(jié)點列表和位圖,記錄下?lián)碛性揷hunk的節(jié)點個數(shù)Iiheve,以及沒有該 chunk的節(jié)點個數(shù)nmiss,然后按照如下公式計算出該chunk對應的放大比β
權利要求
1.一種用于P2P文件傳輸?shù)目臻e節(jié)點協(xié)助方法,包括以下步驟(1)空閑節(jié)點隨機加入一個P2P文件傳輸網(wǎng)絡;(2)所述空閑節(jié)點與普通節(jié)點建立連接;(3)所述空閑節(jié)點每隔預設時間選擇部分數(shù)據(jù)進行下載,并為沒有該部分數(shù)據(jù)且與該空閑節(jié)點連接的所有普通節(jié)點提供上傳。
2.如權利要求1所述的方法,其特征在于步驟(1)中所述空閑節(jié)點隨機加入一個P2P 文件傳輸網(wǎng)絡的方法如下空閑節(jié)點與索引服務器建立連接,將空閑節(jié)點消息發(fā)送給索引服務器,并在消息中標識自身是空閑節(jié)點;索引服務器接到空閑節(jié)點消息后,隨機選擇一個與該索引服務器連接的P2P文件傳輸網(wǎng)絡,將空閑節(jié)點加入該網(wǎng)絡。
3.如權利要求2所述的方法,其特征在于步驟O)中所述空閑節(jié)點與普通節(jié)點建立連接的過程如下當空閑節(jié)點加入一個P2P文件傳輸網(wǎng)絡后,索引服務器從該網(wǎng)絡中隨機選擇m個普通節(jié)點,將該m個普通節(jié)點信息返回給空閑節(jié)點;空閑節(jié)點分別與m個普通節(jié)點建立連接;其中,m < 30。
4.如權利要求3所述的方法,其特征在于所述m= 20。
5.如權利要求3或4所述的方法,其特征在于空閑節(jié)點與m個普通節(jié)點建立連接的過程如下首先空閑節(jié)點分別向m個普通節(jié)點發(fā)送握手消息,在握手消息中標記自己是空閑節(jié)點;每個普通節(jié)點在接到握手消息之后,與該空閑節(jié)點建立連接;然后每個普通節(jié)點判斷與該普通節(jié)點連接的所有空閑節(jié)點數(shù)量M ;如果M不大于閾值n,則結束;否則,獲得該普通節(jié)點和與其連接的所有空閑節(jié)點之間的傳輸延遲時間,選擇傳輸延遲時間最大的空閑節(jié)點,發(fā)送取消連接信息,并與其斷開連接。
6.如權利要求5所述的方法,其特征在于獲得普通節(jié)點和與其連接的所有空閑節(jié)點之間的傳輸延遲時間的方式如下設普通節(jié)點為普通節(jié)點P,普通節(jié)點P向與其連接的所有空閑節(jié)點發(fā)送探測消息,所述探測消息為固定大小的任意數(shù)據(jù),記錄下探測消息的發(fā)送時間并等待自動回復;當空閑節(jié)點接收到探測消息后,把探測消息再返回給普通節(jié)點P,普通節(jié)點P記錄下回復時間,減去其發(fā)送時間后作為普通節(jié)點P與該空閑節(jié)點的傳輸延遲時間;如果普通節(jié)點 P沒有收到空閑節(jié)點返回的探測消息,則普通節(jié)點P與該空閑節(jié)點的傳輸延遲時間為無窮大。
7.如權利要求3或4所述的方法,其特征在于空閑節(jié)點與m個普通節(jié)點建立連接的過程如下設空閑節(jié)點為空閑節(jié)點a,首先空閑節(jié)點a分別向m個普通節(jié)點發(fā)送握手消息,在握手消息中標記自己是空閑節(jié)點;每個普通節(jié)點在接到握手消息之后,進行如下操作設普通節(jié)點為普通節(jié)點P,普通節(jié)點P判斷與其連接的所有空閑節(jié)點數(shù)量M ;如果M小于閾值n,則與空閑節(jié)點a直接建立連接;否則,獲得空閑節(jié)點a和普通節(jié)點P之間的傳輸延遲時間,以及當前與普通節(jié)點P連接的所有空閑節(jié)點的傳輸延時時間;如果空閑節(jié)點a的傳輸延遲時間最大,則普通節(jié)點P不與其進行連接;否則從當前與其連接的所有空閑節(jié)點中選出傳輸延遲時間最大的空閑節(jié)點, 發(fā)送取消連接信息,與其斷開連接,并與空閑節(jié)點a建立連接。
8.如權利要求7所述的方法,其特征在于所述獲得空閑節(jié)點a和普通節(jié)點P之間的傳輸延遲時間,以及當前與普通節(jié)點P連接的所有空閑節(jié)點的傳輸延時時間的方式如下普通節(jié)點P向空閑節(jié)點發(fā)送UDP探測包,記錄下發(fā)送時間后,等待空閑節(jié)點自動返回 UDP響應包;當普通節(jié)點ρ收到UDP響應包后,記錄下收到時間,將UDP響應包的收到時間與UDP探測包的發(fā)送時間之差作為普通節(jié)點與該空閑節(jié)點的傳輸延遲時間;如果普通節(jié)點 P沒有收到空閑節(jié)點返回的UDP響應包,則普通節(jié)點ρ與該空閑節(jié)點的傳輸延遲時間為無窮大。
9.如權利要求1所述的方法,其特征在于步驟(2)中,空閑節(jié)點與普通節(jié)點建立連接后,用一個節(jié)點列表記錄與該空閑節(jié)點連接的所有普通節(jié)點的信息;當空閑節(jié)點與普通節(jié)點的連接關系變更時,更新空閑節(jié)點中的節(jié)點列表。
10.如權利要求9所述的方法,其特征在于步驟(3)中,空閑節(jié)點用位圖記錄與其連接的所有普通節(jié)點擁有所述部分數(shù)據(jù)的情況;當普通節(jié)點擁有所述部分數(shù)據(jù)的情況發(fā)生變化時,空閑節(jié)點變更位圖中與其連接的普通節(jié)點擁有所述部分數(shù)據(jù)的情況。
11.如權利要求10所述的方法,其特征在于步驟(3)中所述預設時間為t秒, 5彡t彡20。
12.如權利要求11所述的方法,其特征在于所述t= 10。
13.如權利要求10所述的方法,其特征在于步驟(3)中所述部分數(shù)據(jù)為P2P文件傳輸網(wǎng)絡中當前正在傳輸文件的一個數(shù)據(jù)塊。
14.如權利要求13所述的方法,其特征在于步驟(3)中一個空閑節(jié)點選擇一次數(shù)據(jù)塊進行下載的過程如下首先按照如下公式計算出P2P文件傳輸網(wǎng)絡中當前傳輸文件尚未下載完的每一個數(shù)據(jù)塊對應的放大比β
15.如權利要求10所述的方法,其特征在于步驟(3)中所述部分數(shù)據(jù)為P2P文件傳輸網(wǎng)絡中當前正在傳輸文件的一個數(shù)據(jù)塊的一個數(shù)據(jù)片段。
16.如權利要求15所述的方法,其特征在于步驟(3)中一個空閑節(jié)點選擇一次數(shù)據(jù)片段進行下載的過程如下首先按照如下公式計算出P2P文件傳輸網(wǎng)絡中當前傳輸文件尚未下載完的每一個數(shù)據(jù)塊中的每個數(shù)據(jù)片段對應的放大比β,
17.如權利要求10所述的方法,其特征在于步驟(3)中所述部分數(shù)據(jù)為P2P文件傳輸網(wǎng)絡中當前正在傳輸文件的一個數(shù)據(jù)塊的最后一個數(shù)據(jù)片段。
18.如權利要求17所述的方法,其特征在于步驟(3)中一個空閑節(jié)點選擇一次數(shù)據(jù)塊進行下載的過程如下首先按照如下公式計算出P2P文件傳輸網(wǎng)絡中當前傳輸文件尚未下載完的每一個數(shù)據(jù)塊對應的放大比β
19.如權利要求11至18之一所述的方法,其特征在于步驟(3)中所述上傳的方式如下空閑節(jié)點以“推”的方式將下載的部分數(shù)據(jù)發(fā)送給沒有該部分數(shù)據(jù)且與該空閑節(jié)點連接的所有普通節(jié)點。
全文摘要
本發(fā)明公開了一種用于P2P文件傳輸?shù)目臻e節(jié)點協(xié)助方法,屬于網(wǎng)絡文件傳輸技術領域。由于互聯(lián)網(wǎng)的上傳帶寬和下載帶寬的非對稱性,傳統(tǒng)的P2P文件傳輸網(wǎng)絡會受到上傳帶寬較小的限制。本發(fā)明所述方法首先將空閑節(jié)點隨機加入一個P2P文件傳輸網(wǎng)絡;然后空閑節(jié)點與普通節(jié)點建立連接;空閑節(jié)點每隔預設時間選擇部分數(shù)據(jù)進行下載,并為沒有該部分數(shù)據(jù)且與該空閑節(jié)點連接的所有普通節(jié)點提供上傳。本發(fā)明所述方法擴大了整體網(wǎng)絡的上傳帶寬,降低了普通節(jié)點下載文件所需要的時間。
文檔編號H04L29/06GK102244670SQ201010176409
公開日2011年11月16日 申請日期2010年5月13日 優(yōu)先權日2010年5月13日
發(fā)明者勞豐, 張行功, 藍善禎, 郭宗明 申請人:北京北大方正電子有限公司, 北京大學, 北大方正集團有限公司