點對點p2p網絡節(jié)點選擇方法及點對點p2p重定向服務器的制造方法
【專利摘要】本發(fā)明提供一種點對點P2P網絡節(jié)點選擇方法及點對點P2P重定向服務器,所述方法包括:接收請求節(jié)點發(fā)送的下載請求,所述下載請求中包含所需下載文件的標識信息;根據所述標識信息,確定可提供下載服務的下載節(jié)點;獲取所述下載節(jié)點的網絡拓撲信息和響應延遲信息;根據各下載節(jié)點的網絡拓撲信息和響應延遲信息,確定各下載節(jié)點的通信成本;根據所述通信成本,從所述下載節(jié)點中選擇通信成本最小的至少一個下載節(jié)點,并生成下載節(jié)點列表;向所述請求節(jié)點反饋下載響應。本發(fā)明能提高P2P網絡的運行效率。
【專利說明】點對點P2P網絡節(jié)點選擇方法及點對點P2P重定向服務器
【技術領域】
[0001]本發(fā)明涉及點對點(Peer to Peer,簡稱P2P)技術,尤其涉及一種點對點P2P網絡節(jié)點選擇方法及點對點P2P重定向服務器,屬于互聯網領域。
【背景技術】
[0002]P2P技術中的網絡節(jié)點地位都是對等的,每個節(jié)點既為其它節(jié)點提供服務,也享用其它節(jié)點的服務。P2P技術能夠使得數據的傳輸更加高效,特別是在文件共享方面。
[0003]在現有技術中,為了實現P2P下載,主要有兩種方式,一種方式為請求節(jié)點向服務器發(fā)送下載請求,服務器根據所需下載文件哈希值選取域內下載節(jié)點并向請求節(jié)點返回下載響應,從而使得請求節(jié)點可以從選定的下載節(jié)點上進行數據下載;另一種方式為分布式哈希表(Distributed Hash Table,簡稱DHT)算法,即請求節(jié)點向中繼節(jié)點發(fā)送下載請求,中繼節(jié)點根據本地保存的節(jié)點信息隨機選取協(xié)同下載節(jié)點。
[0004]采用選擇域內下載節(jié)點的P2P節(jié)點選擇方法,很可能域外節(jié)點相對于選擇的域內節(jié)點來說能夠提供更好的服務;采用DHT算法的P2P節(jié)點選擇方法并未考慮下載節(jié)點間的流量和帶寬差異,因而選擇到的節(jié)點也并非最優(yōu)下載節(jié)點,同時中繼節(jié)點中保存的下載節(jié)點信息可能不是最新的,從而導致可用下載節(jié)點數下降。因此,現有技術無法為請求節(jié)點選擇更適于提供服務的下載節(jié)點,導致下載效率不高。
【發(fā)明內容】
[0005]本發(fā)明提供一種使網絡運行效率更高的點對點P2P網絡節(jié)點選擇方法及點對點P2P重定向服務器。
[0006]本發(fā)明的一個方面是提供一種P2P網絡節(jié)點選擇方法,包括:
[0007]接收請求節(jié)點發(fā)送的下載請求,所述下載請求中包含所需下載文件的標識信息;
[0008]根據所述標識信息,確定可提供下載服務的下載節(jié)點,所述下載節(jié)點包括所述請求節(jié)點所在的域內下載節(jié)點以及所述請求節(jié)點的域外下載節(jié)點;
[0009]獲取所述下載節(jié)點的網絡拓撲信息和響應延遲信息;
[0010]根據各下載節(jié)點的網絡拓撲信息和響應延遲信息,確定各下載節(jié)點的通信成本;
[0011]根據所述通信成本,從所述下載節(jié)點中選擇通信成本最小的至少一個下載節(jié)點,并生成下載節(jié)點列表;
[0012]向所述請求節(jié)點反饋下載響應,所述下載響應中包含所述下載節(jié)點列表,以使所述請求節(jié)點從所述下載節(jié)點列表中包含的下載節(jié)點上下載文件。
[0013]本發(fā)明的另一個方面是提供一種點對點P2P重定向(Peer-To-Peer Redirector,簡稱P2P重定向)服務器,用于實現上述P2P網絡節(jié)點選擇方法,包括:
[0014]接收模塊,用于接收請求節(jié)點發(fā)送的下載請求,所述下載請求中包含所需下載文件的標識信息;
[0015]確定模塊,用于根據所述標識信息,確定可提供下載服務的下載節(jié)點,所述下載節(jié)點包括所述請求節(jié)點所在的域內下載節(jié)點以及所述請求節(jié)點的域外下載節(jié)點;
[0016]獲取模塊,用于獲取所述下載節(jié)點的網絡拓撲信息和響應延遲信息;
[0017]計算模塊,用于根據各下載節(jié)點的網絡拓撲信息和響應延遲信息,確定各下載節(jié)點的通信成本;
[0018]列表生成模塊,用于根據所述通信成本,從所述下載節(jié)點中選擇通信成本最小的至少一個下載節(jié)點,并生成下載節(jié)點列表;
[0019]反饋模塊,用于向所述請求節(jié)點反饋下載響應,所述下載響應中包含所述下載節(jié)點列表,以使所述請求節(jié)點從所述下載節(jié)點列表中包含的下載節(jié)點上下載文件。
[0020]本發(fā)明的有益效果為:
[0021 ] 本發(fā)明通過將請求節(jié)點域外的下載節(jié)點與域內下載節(jié)點視為同等的下載節(jié)點,通過分析帶寬、跳數、延遲等因素對通信成本的影響預估請求節(jié)點與下載節(jié)點之間的通信成本來選擇對網絡整體運行影響更小的P2P下載節(jié)點,在對節(jié)點的選擇過程中考慮到下載節(jié)點接入下載節(jié)點所在域的通信成本或下載節(jié)點接入下載節(jié)點所在域的通信成本與請求節(jié)點所在域到下載節(jié)點所在域的通信成本之和,對通信成本的計算具體到節(jié)點。這種方法在不影響網絡整體運行的基礎上利用到了請求節(jié)點域外的豐富資源,提高了 P2P下載效率。
【專利附圖】
【附圖說明】
[0022]圖1為本發(fā)明P2P網絡節(jié)點選擇方法實施例一的流程圖;
[0023]圖2為本發(fā)明P2P網絡節(jié)點選擇方法實施例二的信令流程圖;
[0024]圖3為本發(fā)明P2P重定向服務器的結構示意圖。
【具體實施方式】
[0025]圖1為本發(fā)明P2P網絡節(jié)點選擇方法實施例一的流程圖,本發(fā)明P2P網絡節(jié)點選擇方法,包括:
[0026]S101、接收請求節(jié)點發(fā)送的下載請求,所述下載請求中包含所需下載文件的標識信息;所述標識信息可以為相關下載文件的哈希值,哈希值可以是一個128位的數據、可以唯一的標識一個文件。
[0027]S102、根據所述標識信息,確定可提供下載服務的下載節(jié)點,所述下載節(jié)點包括所述請求節(jié)點所在的域內下載節(jié)點以及所述請求節(jié)點的域外下載節(jié)點;所述域可以為自治系統(tǒng)(Autonomous System,簡稱 AS)域。
[0028]S103、獲取所述下載節(jié)點的網絡拓撲信息和響應延遲信息。
[0029]獲取所述下載節(jié)點的網絡拓撲信息,包括:向ISP(Internet Service Provider,簡稱ISP)服務器獲取所述下載節(jié)點的網絡拓撲信息;所述域內下載節(jié)點的網絡拓撲信息,包括所述下載節(jié)點接入該下載節(jié)點所在域的接入帶寬和丟包率;所述域外下載節(jié)點的網絡拓撲信息,包括所述下載節(jié)點接入該下載節(jié)點所在域的接入帶寬和丟包率,以及所述請求節(jié)點所在域到該下載節(jié)點所在域的域間帶寬和路由跳數。
[0030]獲取響應延遲信息包括獲取域內下載節(jié)點的響應延遲信息和獲取域外下載節(jié)點的響應延遲信息;
[0031]獲取域內下載節(jié)點的響應延遲信息,包括:[0032]向域內下載節(jié)點發(fā)送接入探測數據包;
[0033]接收所述域內下載節(jié)點返回的應答響應;
[0034]確定所述應答響應的接收時間與所述探測數據包的發(fā)送時間之間的時間差,所述時間差為所述域內下載節(jié)點接入所述域內下載節(jié)點所在域的接入延遲;
[0035]獲取域外下載節(jié)點的響應延遲信息,包括:
[0036]向所述域外下載節(jié)點所在域的服務器發(fā)送域間探測數據包,以使所述服務器將所述域間探測數據包發(fā)送給所述域外下載節(jié)點;
[0037]接收所述服務器返回的應答響應,所述應答響應為所述域外下載節(jié)點在接收到所述域間探測數據包后發(fā)送給所述服務器的;
[0038]確定所述應答響應的接收時間與所述域間探測數據包的發(fā)送時間之間的第一時間差,所述第一時間差 包括所述域外下載節(jié)點到所述域外下載節(jié)點所在域的接入延遲以及所述域外下載節(jié)點所在域到所述請求節(jié)點所在域的域間延遲;
[0039]確定所述域外下載節(jié)點所在域的服務器轉發(fā)域外下載節(jié)點返回的應答響應的時間與所述域外下載節(jié)點所在域的服務器向域外下載節(jié)點轉發(fā)域間探測數據包的轉發(fā)時間之間的第二時間差,所述第二時間差為域外下載節(jié)點到所述域外節(jié)點所在域的接入延遲;優(yōu)選的,所述第二時間差可以通過所述域外下載節(jié)點所在域的服務器為域間探測數據包或應答響應打時間戳來獲取,即所述域外下載節(jié)點所在域的服務器分別在向域外下載節(jié)點轉發(fā)域間探測數據包時和轉發(fā)域外下載節(jié)點的返回的應答響應時打上時間戳;
[0040]確定所述第一時間差與第二時間差之間的第三時間差,所述第三時間差為所述請求節(jié)點所在域到下載節(jié)點所在域的域間延遲。
[0041]S104、根據各下載節(jié)點的網絡拓撲信息和響應延遲信息,確定各下載節(jié)點的通信成本,包括:
[0042]根據域內下載節(jié)點的網絡拓撲信息和接入延遲,確定域內下載節(jié)點的通信成本,包括:
[0043]采用公式(I)確定域內下載節(jié)點的通信成本Costl:
[0044]Costl= η yBandWithj+η2XDelayj+η 3XLostj (I)
[0045]根據域外下載節(jié)點的網絡拓撲信息、域間延遲和接入延遲,確定域外下載節(jié)點的通信成本,包括:
[0046]采用公式(2)確定域外下載節(jié)點的通信成本Cost2:
【權利要求】
1.一種點對點P2P網絡節(jié)點選擇方法,其特征在于,包括: 接收請求節(jié)點發(fā)送的下載請求,所述下載請求中包含所需下載文件的標識信息; 根據所述標識信息,確定可提供下載服務的下載節(jié)點,所述下載節(jié)點包括所述請求節(jié)點所在的域內下載節(jié)點以及所述請求節(jié)點的域外下載節(jié)點; 獲取所述下載節(jié)點的網絡拓撲信息和響應延遲信息; 根據各下載節(jié)點的網絡拓撲信息和響應延遲信息,確定各下載節(jié)點的通信成本; 根據所述通信成本,從所述下載節(jié)點中選擇通信成本最小的至少一個下載節(jié)點,并生成下載節(jié)點列表; 向所述請求節(jié)點反饋下載響應,所述下載響應中包含所述下載節(jié)點列表,以使所述請求節(jié)點從所述下載節(jié)點列表中包含的下載節(jié)點上下載文件。
2.根據權利要求1所述的方法,其特征在于, 獲取域內下載節(jié)點的響應延遲信息,包括: 向域內下載節(jié)點發(fā)送接入探測數據包; 接收所述域內下載節(jié)點返回的應答響應; 確定所述應答響應的接收時間與所述接入探測數據包的發(fā)送時間之間的時間差,所述時間差為所述域內下載節(jié)點接入所述域內下載節(jié)點所在域的接入延遲; 獲取域外下載節(jié)點的響應延遲信息,包括: 向所述域外下載節(jié)點所在域的服務器發(fā)送域間探測數據包,以使所述服務器將所述域間探測數據包發(fā)送給所述域外下載節(jié)點; 接收所述服務器返回的應答響應,所述應答響應為所述域外下載節(jié)點在接收到所述域間探測數據包后發(fā)送給所述服務器的; 確定所述應答響應的接收時間與向所述域外下載節(jié)點所在域的服務器發(fā)送域間探測數據包的發(fā)送時間之間的第一時間差; 確定所述域外下載節(jié)點所在域的服務器接收域外下載節(jié)點返回的應答響應的時間與所述域外下載節(jié)點所在域的服務器向域外下載節(jié)點轉發(fā)域間探測數據包的轉發(fā)時間之間的第二時間差,所述第二時間差為域外下載節(jié)點到所述域外節(jié)點所在域的接入延遲; 確定所述第一時間與所述第二時間差之間的第三時間差,所述第三時間差為所述請求節(jié)點所在域到所述域外下載節(jié)點所在域的域間延遲。
3.根據權利要求1所述的方法,其特征在于,所述獲取所述下載節(jié)點的網絡拓撲信息,包括: 向互聯網服務提供商ISP服務器獲取所述下載節(jié)點的網絡拓撲信息。
4.根據權利要求1~3中任一項所述的方法,其特征在于,所述域內下載節(jié)點的網絡拓撲信息,包括所述域內下載節(jié)點接入該域內下載節(jié)點所在域的接入帶寬和丟包率; 相應的,所述根據域內下載節(jié)點的網絡拓撲信息和接入延遲信息,確定域內下載節(jié)點的通信成本,包括: 采用公式(I)確定域內下載節(jié)點的通信成本Costl: Costl= η i/BandWithj+Jl2XDelayj+Jl3XLostj (I) 所述域外下載節(jié)點的網絡拓撲信息,包括所述域外下載節(jié)點接入該域外下載節(jié)點所在域的接入帶寬和丟包率、以及所述請求節(jié)點所在域到該域外下載節(jié)點所在域的域間帶寬和路由跳數; 相應的,所述根據域外下載節(jié)點的網絡拓撲信息和接入延遲信息,確定域外下載節(jié)點的通信成本,包括: 采用公式(2)確定域外下載節(jié)點的通信成本Cost2:
5.根據權利要求1~3中任一項所述的方法,其特征在于,所述根據通信成本,從所述下載節(jié)點中選擇通信成本最小的至少一個下載節(jié)點,包括: 將所述域內下載節(jié)點和域外下載節(jié)點按照通信成本從小到大的順序排列,選取前N個下載節(jié)點; 或者, 將所述域內下載節(jié)點和域外下載節(jié)點按照通信成本從小到大的順序排列,選取下載節(jié)點總數的前a%個下載節(jié)點。
6.一種點對點P2P重定向服務器,其特征在于,包括: 接收模塊,用于接收請求節(jié)點發(fā)送的下載請求,所述下載請求中包含所需下載文件的標識信息; 確定模塊,用于根據所述標識信息,確定可提供下載服務的下載節(jié)點,所述下載節(jié)點包括所述請求節(jié)點所在的域內下載節(jié)點以及所述請求節(jié)點的域外下載節(jié)點; 獲取模塊,用于獲取所述下載節(jié)點的網絡拓撲信息和接入延遲信息; 計算模塊,用于根據各下載節(jié)點的網絡拓撲信息和接入延遲信息,確定各下載節(jié)點的通信成本; 列表生成模塊,用于根據所述通信成本,從所述下載節(jié)點中選擇通信成本最小的至少一個下載節(jié)點,并生成下載節(jié)點列表; 反饋模塊,用于向所述請求節(jié)點反饋下載響應,所述下載響應中包含所述下載節(jié)點列表,以使所述請求節(jié)點從所述下載節(jié)點列表中包含的下載節(jié)點上下載文件。
7.根據權利要求6所述的服務器,其特征在于,所述獲取模塊,具體用于: 向所述域內下載節(jié)點發(fā)送接入探測數據包、接收所述域內下載節(jié)點返回的應答響應和確定所述應答響應的接收時間與所述接入探測數據包的發(fā)送時間之間的時間差,所述時間差為所述域內下載節(jié)點接入所述域內下載節(jié)點所在域的接入延遲;向所述域外下載節(jié)點所在域的服務器發(fā)送域間探測數據包,以使所述服務器將所述域間探測數據包發(fā)送給所述域外下載節(jié)點、接收所述服務器返回的應答響應,所述應答響應為所述域外下載節(jié)點在接收到所述域間探測數據包后發(fā)送給所述服務器的、確定所述應答響應的接收時間與所述域間探測數據包的發(fā)送時間之間的第一時間差、確定所述域外下載節(jié)點所在域的服務器轉發(fā)域外下載節(jié)點返回的應答響應的時間與所述域外下載節(jié)點所在域的服務器向域外下載節(jié)點轉發(fā)域間探測數據包的轉發(fā)時間之間的第二時間差,所述第二時間差為域外下載節(jié)點到所述域外節(jié)點所在域的接入延遲、和確定所述第一時間差與所述第二時間差之間的第三時間差,所述第三時間差為所述請求節(jié)點所在域到所述域外下載節(jié)點所在域的域間延遲。
8.根據權利要求6所述的服務器,其特征在于,所述獲取模塊,具體用于: 向互聯網服務提供商ISP服務器獲取所述下載節(jié)點的網絡拓撲信息。
9.根據權利要求6~8中任一項所述的服務器,其特征在于, 所述域內下載節(jié)點的網絡拓撲信息,包括所述下載節(jié)點接入該下載節(jié)點所在域的接入帶寬和丟包率; 相應的,所述計算模塊,具體用于: 采用公式(I)確定域內下載節(jié)點的通信成本Costl:
Costl= η i/BandWithj+Jl2XDelayj+Jl3XLostj (I) 所述域外下載節(jié)點的網絡拓撲信息,包括所述下載節(jié)點接入該下載節(jié)點所在域的接入帶寬和丟包率、以及所述請求節(jié)點所在域到該下載節(jié)點所在域的域間帶寬和路由跳數;相應的,所述計算模塊,具體用于: 采用公式(2)確定域外下載節(jié)點的通信成本Cost2:
10.根據權利要求6~8中任一項所述的服務器,其特征在于,所述列表生成模塊,具體用于: 將所述域內下載節(jié)點和域外下載節(jié)點按照通信成本從小到大的順序排列并選取前N個或下載節(jié)點總數的前個下載節(jié)點。
【文檔編號】H04L29/08GK103957269SQ201410193290
【公開日】2014年7月30日 申請日期:2014年5月8日 優(yōu)先權日:2014年5月8日
【發(fā)明者】邢建兵, 王明會, 嚴斌峰, 劉敏, 王煜煒 申請人:中國聯合網絡通信集團有限公司