專利名稱:采用p2p技術(shù)下載文件的方法和系統(tǒng)、客戶端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,特別是涉及一種采用P2P技術(shù)下載文件的方法和系統(tǒng)、一種客戶端。
背景技術(shù):
P2P (點對點,Peer-to-Peer)技術(shù)是一種對等互聯(lián)網(wǎng)絡(luò)技術(shù),在P2P網(wǎng)絡(luò)中每個節(jié)點的地位都是對等的,既是服務(wù)器又是客戶端,每個節(jié)點在享受其它節(jié)點提供的服務(wù)的同時,也在為其它節(jié)點提供服務(wù)。由于P2P技術(shù)充分利用了各節(jié)點的計算能力,因而它在擴展性、擴展承保等方面存在極大的優(yōu)勢。近年來,文件共享、流媒體等各種基于P2P技術(shù)的互聯(lián)網(wǎng)應(yīng)用發(fā)展迅猛, P2P下載流量已占據(jù)全球互聯(lián)網(wǎng)總數(shù)據(jù)流量的70%以上,P2P技術(shù)已成為寬帶互聯(lián)網(wǎng)重要的媒體交付技術(shù)?,F(xiàn)有采用P2P技術(shù)下載文件的方法,通常包括如下步驟步驟Al、客戶端A開始針對某文件資源的下載任務(wù);步驟A2、客戶端A得到P2P服務(wù)器的IP (網(wǎng)絡(luò)之間互連的協(xié)議,Internet Protocol)列表;步驟A3、依據(jù)所述P2P服務(wù)器的IP列表,客戶端A隨機選擇其中一臺P2P服務(wù)器進行登陸;步驟A4、該客戶端A向該臺P2P服務(wù)器發(fā)送攜帶該文件資源信息的查詢請求;步驟A5、該臺P2P服務(wù)器向客戶端A返回該文件資源的種子節(jié)點;步驟A6、客戶端A與所述該文件資源的種子節(jié)點連接,進行該文件資源的分享。但是,由于隨機選擇P2P服務(wù)器的緣故,下載同一文件資源的客戶端容易登錄到不同的P2P服務(wù)器上,這就使得客戶端A與所連接種子節(jié)點的臨近屬性下降,使得客戶端A 與所連接種子節(jié)點之間的共享效率降低,表現(xiàn)在下載速度慢、連接時間長等,從而嚴重影響 P2P下載效率。特別地,對于升級,漏洞補丁修復(fù)等業(yè)務(wù)需求,可能會出現(xiàn)百萬甚至千萬個客戶端集中采用P2P技術(shù)下載一個文件資源的情況,此時,客戶端之間的共享效率更低,P2P下載效率更低??傊枰绢I(lǐng)域技術(shù)人員迫切解決的一個技術(shù)問題就是如何能夠提高上述情形下的共享效率和P2P下載效率。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種采用P2P技術(shù)下載文件的方法和系統(tǒng)、一種客戶端,能夠提高文件資源的共享效率和P2P下載效率。為了解決上述問題,本發(fā)明公開了一種采用P2P技術(shù)下載文件的方法,包括客戶端向P2P系統(tǒng)發(fā)送攜帶文件資源信息的服務(wù)器查詢請求;
該客戶端接收所述P2P系統(tǒng)返回的P2P服務(wù)器的IP列表;該客戶端根據(jù)自身所屬IP地址段,從所述P2P服務(wù)器的IP列表中選擇網(wǎng)絡(luò)連接最佳的一個P2P服務(wù)器,并依據(jù)所選擇P2P服務(wù)器獲取文件資源的種子信息;該客戶端依據(jù)所述文件資源的種子信息,進行該文件資源的分享。優(yōu)選的,所述P2P服務(wù)器的IP列表中包括多個P2P服務(wù)器的IP地址;所述該客戶端根據(jù)自身所屬IP地址段,從所述P2P服務(wù)器的IP列表中選擇網(wǎng)絡(luò)連接最佳的一個P2P服務(wù)器的步驟,包括從IP地址段信息庫中查詢客戶端所屬IP地址段的物理所在地和網(wǎng)絡(luò)運營商,其中,所述IP地址段信息庫包括多個IP地址段以及每個IP地址段對應(yīng)的物理所在地和網(wǎng)絡(luò)運營商;
針對所述P2P服務(wù)器的IP列表中各P2P服務(wù)器的IP地址,該客戶端確定相應(yīng)的所屬IP地址段,并從所述IP地址段信息庫中查詢各所屬IP地址段的物理所在地和網(wǎng)絡(luò)運營商;依據(jù)該客戶端所屬IP地址段和各P2P服務(wù)器的IP地址的物理所在地和網(wǎng)絡(luò)運營商,從所述P2P服務(wù)器的IP列表中選擇物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的一個P2P 服務(wù)器的IP地址。優(yōu)選的,所述該客戶端根據(jù)自身所屬IP地址段,從所述P2P服務(wù)器的IP列表中選擇網(wǎng)絡(luò)連接最佳的一個P2P服務(wù)器的步驟,包括該客戶端根據(jù)自身所屬IP地址段,從所述P2P服務(wù)器的IP列表中選擇物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址;針對客戶端所屬IP地址段執(zhí)行選擇算法,從所述物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址中選擇一者。優(yōu)選的,所述針對客戶端所屬IP地址段執(zhí)行選擇算法,從所述物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址中選擇一者的步驟,包括對所述物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址進行排序,得到排序結(jié)果;對該客戶端所屬IP地址段進行數(shù)字運算,并進行取整,得到取整后的數(shù)字運算結(jié)果; 計算所述取整后的數(shù)字運算結(jié)果對IP數(shù)目的取模結(jié)果,其中,所述IP數(shù)目為所述物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址的數(shù)目;依據(jù)所述取模結(jié)果,從所述排序結(jié)果中選擇一者。優(yōu)選的,所述數(shù)字運算包括數(shù)字加密運算或者數(shù)字摘要運算。優(yōu)選的,所述文件資源信息包括文件資源的網(wǎng)頁地址。另一方面,本發(fā)明還提供了一種采用P2P技術(shù)下載文件的系統(tǒng),包括客戶端和P2P 系統(tǒng),所述P2P系統(tǒng)進一步包括P2P服務(wù)器,其中,所述客戶端,包括服務(wù)器查詢模塊,用于向所述P2P系統(tǒng)發(fā)送攜帶文件資源信息的服務(wù)器查詢請求;IP列表接收模塊,用于接收所述P2P系統(tǒng)返回的P2P服務(wù)器的IP列表;
選擇模塊,用于根據(jù)自身所屬IP地址段,從所述P2P服務(wù)器的IP列表中選擇網(wǎng)絡(luò)連接最佳的一個P2P服務(wù)器;種子信息獲取模塊,用于依據(jù)所選擇P2P服務(wù)器獲取文件資源的種子信息;及下載模塊,用于依據(jù)所述文件資源的種子信息,進行該文件資源的分享;所述P2P系統(tǒng),還包括服務(wù)器查詢處理模塊,用于對所述服務(wù)器查詢請求進行處理,得到相應(yīng)的P2P服務(wù)器的IP列表,并返回給所述客戶端。優(yōu)選的,所述P2P服務(wù)器的IP列表中包括多個P2P服務(wù)器的IP地址;所述選擇模塊,包括 第一查詢子模塊,用于從IP地址段信息庫中查詢客戶端所屬IP地址段的物理所在地和網(wǎng)絡(luò)運營商,其中,所述IP地址段信息庫包括多個IP地址段以及每個IP地址段對應(yīng)的物理所在地和網(wǎng)絡(luò)運營商;第二查詢子模塊,用于針對所述P2P服務(wù)器的IP列表中各P2P服務(wù)器的IP地址, 該客戶端確定相應(yīng)的所屬IP地址段,并從所述IP地址段信息庫中查詢各所屬IP地址段的物理所在地和網(wǎng)絡(luò)運營商;選擇子模塊,用于依據(jù)該客戶端所屬IP地址段和各P2P服務(wù)器的IP地址的物理所在地和網(wǎng)絡(luò)運營商,從所述P2P服務(wù)器的IP列表中選擇物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的一個P2P服務(wù)器的IP地址。優(yōu)選的,所述選擇模塊,包括第一選擇子模塊,用于該客戶端根據(jù)自身所屬IP地址段,從所述P2P服務(wù)器的IP 列表中選擇物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址;第二選擇子模塊,用于針對客戶端所屬IP地址段執(zhí)行選擇算法,從所述物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址中選擇一者。優(yōu)選的,所述第二選擇子模塊,包括排序單元,用于對所述物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址進行排序,得到排序結(jié)果;取整單元,用于對該客戶端所屬IP地址段進行數(shù)字運算,并進行取整,得到取整后的數(shù)字運算結(jié)果;取模單元,用于計算所述取整后的數(shù)字運算結(jié)果對IP數(shù)目的取模結(jié)果,其中,所述IP數(shù)目為所述物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址的數(shù)目;及選擇單元,用于依據(jù)所述取模結(jié)果,從所述排序結(jié)果中選擇一者。優(yōu)選的,所述數(shù)字運算包括數(shù)字加密運算或者數(shù)字摘要運算。另一方面,本發(fā)明還提供了一種客戶端,包括服務(wù)器查詢模塊,用于向所述P2P系統(tǒng)發(fā)送攜帶文件資源信息的服務(wù)器查詢請求;IP列表接收模塊,用于接收所述P2P系統(tǒng)返回的P2P服務(wù)器的IP列表;選擇模塊, 用于從所述P2P服務(wù)器的IP列表中選擇網(wǎng)絡(luò)連接最佳的一個P2P服務(wù)器;種子信息獲取模塊,用于依據(jù)所選擇P2P服務(wù)器獲取文件資源的種子信息;及
下載模塊,用于依據(jù)所述文件資源的種子信息,進行該文件資源的分享。與現(xiàn)有 技術(shù)相比,本發(fā)明具有以下優(yōu)點本發(fā)明的客戶端在從P2P服務(wù)器的IP列表選擇P2P服務(wù)器時,不是隨機選擇,而是根據(jù)自身所屬IP地址段,從所述P2P服務(wù)器的IP列表中選擇網(wǎng)絡(luò)連接最佳的一個P2P 服務(wù)器;一方面,由于客戶端在下載文件資源的過程中,需要定時與P2P服務(wù)器交互共享該文件資源的提供客戶端信息,所述網(wǎng)絡(luò)連接最佳(例如,物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的一個P2P服務(wù)器的就近接入)的接入策略,能夠大大提高客戶端與P2P服務(wù)器之間的交互速度,從而能夠提高該文件資源的共享效率和P2P下載效率;另一方面,由于本發(fā)明針對客戶端所屬IP地址段執(zhí)行選擇算法,使得P2P服務(wù)器的選擇結(jié)果僅僅取決于客戶端所屬IP地址段,這樣,具有相同IP地址段的不同客戶端的選擇結(jié)果是相同的,能夠保證具有相同IP地址段的不同客戶端登錄到相同的P2P服務(wù)器;這樣,本發(fā)明的客戶端所選擇P2P服務(wù)器具有的資源提供客戶端之間同樣具有最佳的網(wǎng)絡(luò)連接(例如,屬于相同的IP地址段,且處于相同網(wǎng)絡(luò)運營商),所選擇P2P服務(wù)器能夠提供與欲下載客戶端處于相同IP地址段和相同網(wǎng)絡(luò)運營商的資源提供端也即種子節(jié)點;因此,能夠大大提高欲下載客戶端與所連接種子節(jié)點的臨近屬性,使得欲下載客戶端與所連接種子節(jié)點之間的共享效率大大提高,從而大大提高P2P下載效率。
圖1是本發(fā)明一種采用P2P技術(shù)下載文件的方法實施例的流程圖;圖2是本發(fā)明一種采用P2P技術(shù)下載文件的系統(tǒng)實施例的結(jié)構(gòu)圖;圖3是本發(fā)明一種客戶端實施例的結(jié)構(gòu)圖。
具體實施例方式為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實施方式
對本發(fā)明作進一步詳細的說明。本發(fā)明實施例的核心構(gòu)思之一在于客戶端在從P2P服務(wù)器的IP列表選擇P2P服務(wù)器時,不是隨機選擇,而是遵循如下原則1、具有相同IP地址段的不同客戶端選擇相同的P2P服務(wù)器,使得所選擇P2P服務(wù)器具有的資源提供客戶端屬于相同的IP地址段;2、網(wǎng)絡(luò)連接最佳的接入策略,例如,可以采取物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的就近接入策略。一方面,由于客戶端在下載文件資源的過程中,需要定時與P2P服務(wù)器交互共享該文件資源的提供客戶端信息,所述網(wǎng)絡(luò)連接最佳的接入策略能夠大大提高客戶端與P2P 服務(wù)器之間的交互速度,從而能夠提高該文件資源的共享效率和P2P下載效率;另一方面,由于所選擇P2P服務(wù)器具有的資源提供客戶端之間同樣具有最佳的網(wǎng)絡(luò)連接(例如,屬于相同的IP地址段,且處于相同網(wǎng)絡(luò)運營商);這樣,在接收到客戶端的種子查詢請求時,能夠提供與請求發(fā)起客戶端處于相同IP地址段和相同網(wǎng)絡(luò)運營商的資源提供端也即種子節(jié)點,因此,能夠大大提高請求發(fā)起客戶端與所連接種子節(jié)點的臨近屬性,使得請求發(fā)起客戶端與所連接種子節(jié)點之間的共享效率大大提高,從而大大提高P2P 下載效率。參照圖1,示出了本發(fā)明一種采用P2P技術(shù)下載文件的方法實施例的流程圖,具體可以包括步驟101、客戶端向P2P系統(tǒng)發(fā)送攜帶文件資源信息的服務(wù)器查詢請求;本發(fā)明可以適用于各種文件的下載,如視頻文件、文檔文件、程序文件等,本發(fā)明尤其適用于對于升級、漏洞補丁修復(fù)等熱點文件的下載,以大大提高文件的共享效率和P2P 下載效率。 在本發(fā)明的一種優(yōu)選實施例中,所述文件資源信息可以包括文件資源的URL(網(wǎng)頁地址,Uniform Resource Locator)。例如,用戶欲通過BT(比特流,BitTorren)下載某視頻文件,點擊該視頻文件的下載地址,則代表向BT系統(tǒng)發(fā)送了攜帶該視頻文件的URL地址的服務(wù)器查詢請求。步驟102、該客戶端接收所述P2P系統(tǒng)返回的P2P服務(wù)器的IP列表;在實際中,可通過對所述服務(wù)器查詢請求進行域名解析,得到相應(yīng)的P2P服務(wù)器的IP列表;這里的域名解析可直接由P2P系統(tǒng)完成,也可由P2P請求域名解析服務(wù)器來完成,由于對所述服務(wù)器查詢請求進行處理得到相應(yīng)的P2P服務(wù)器的IP列表,屬于本領(lǐng)域的公知常識,故在此不作贅述。P2P服務(wù)器的IP列表的表現(xiàn)形式為IP的集合,如{116. 21. 170. 34 ; 116. 227. 24. 132 ;117. 88. 214. 74 ;121. 10. 105. 151 ;121. 10. 105. 151},集合中的元素一般以數(shù)組的形式進行存儲。步驟103、該客戶端根據(jù)自身所屬IP地址段,從所述P2P服務(wù)器的IP列表中選擇網(wǎng)絡(luò)連接最佳的一個P2P服務(wù)器,并依據(jù)所選擇P2P服務(wù)器獲取文件資源的種子信息;因特網(wǎng)是全世界范圍內(nèi)的計算機聯(lián)為一體而構(gòu)成的通信網(wǎng)絡(luò)的總稱。為了通信的方便,給每一臺計算機都事先分配一個標識地址也即IP地址。根據(jù)TCP/IP(傳輸控制協(xié)議 / 因特網(wǎng)互聯(lián)協(xié)議,Transmission Control Protocol/Internet Protocol)規(guī)定,IP 地址是由32位二進制數(shù)組成,而且在因特網(wǎng)范圍內(nèi)是唯一的。例如,某臺聯(lián)在因特網(wǎng)上的計算機的 IP 地址為1101001001001001 1000110000000010為了方便記憶,就將組成計算機的IP地址的32位二進制分成四段,每段8位,中間用小數(shù)點隔開,然后將每八位二進制轉(zhuǎn)換成十進制數(shù),這樣上述計算機的IP地址就變成了 210· 73. 140. 2。由于網(wǎng)絡(luò)中包含的計算機有可能不一樣多,有的網(wǎng)絡(luò)可能含有較多的計算機,也有的網(wǎng)絡(luò)包含較少的計算機,于是人們按照網(wǎng)絡(luò)規(guī)模的大小,把32位地址信息設(shè)成三種定位的劃分方式,這三種劃分方法分別對應(yīng)于A類、B類、C類IP地址段。1.A類IP地址段一個A類IP地址段是指,在IP地址的四段號碼中,第一段號碼為網(wǎng)絡(luò)號碼,剩下的三段號碼為本地計算機的號碼。如果用二進制表示IP地址的話,A類IP地址段就由1字節(jié)的網(wǎng)絡(luò)地址和3字節(jié)主機地址組成,網(wǎng)絡(luò)地址的最高位必須是“0”。A類IP地址段中網(wǎng)絡(luò)的標識長度為7位,主機標識的長度為24位,A類網(wǎng)絡(luò)地址數(shù)量較少,可以用于主機數(shù)達 1600多萬臺的大型網(wǎng)絡(luò)。
2· B類IP地址段一個B 類IP地址段是指,在IP地址的四段號碼中,前兩段號碼為網(wǎng)絡(luò)號碼,B類 IP地址就由2字節(jié)的網(wǎng)絡(luò)地址和2字節(jié)主機地址組成,網(wǎng)絡(luò)地址的最高位必須是“10”。B 類IP地址中網(wǎng)絡(luò)的標識長度為14位,主機標識的長度為16位,B類網(wǎng)絡(luò)地址適用于中等規(guī)模的網(wǎng)絡(luò),每個網(wǎng)絡(luò)所能容納的計算機數(shù)為6萬多臺。3. C類IP地址段一個C類IP地址段是指,在IP地址的四段號碼中,前三段號碼為網(wǎng)絡(luò)號碼,剩下的一段號碼為本地計算機的號碼。如果用二進制表示IP地址的話,C類IP地址就由3字節(jié)的網(wǎng)絡(luò)地址和1字節(jié)主機地址組成,網(wǎng)絡(luò)地址的最高位必須是“110”。C類IP地址段中網(wǎng)絡(luò)的標識長度為21位,主機標識的長度為8位,C類網(wǎng)絡(luò)地址數(shù)量較多,適用于小規(guī)模的局域網(wǎng)絡(luò),每個網(wǎng)絡(luò)最多只能包含254臺計算機。C類IP的私有地址范圍一般為192. 168. 0. 0 192. 168. 255. 255 ;這樣,如果一個客戶端的IP地址為192. 168. 100. 155,則認為其自身所屬IP地址段為192. 168. 100.0。關(guān)于從所述P2P服務(wù)器的IP列表中選擇一臺P2P服務(wù)器進行登陸,本發(fā)明可以提供如下方案方案一、所述P2P服務(wù)器的IP列表中可以包括多個P2P服務(wù)器的IP地址;此時,所述選擇步驟可以進一步包括子步驟Bi、從IP地址段信息庫中查詢客戶端所屬IP地址段的物理所在地和網(wǎng)絡(luò)運營商,其中,所述IP地址段信息庫具體可以包括多個IP地址段以及每個IP地址段對應(yīng)的物理所在地和網(wǎng)絡(luò)運營商;在實際中,每個IP地址段對應(yīng)的物理所在地和網(wǎng)絡(luò)運營商可通過分析多個已知的IP地址的物理所在地信息得到;其中,已知的IP地址的物理所在地信息可通過各種方式獲取,如網(wǎng)絡(luò)用戶資源提交,網(wǎng)絡(luò)服務(wù)供應(yīng)商提交等,本發(fā)明對已知的IP地址的物理所在地信息的獲取方式不加以限制。例如,如下為網(wǎng)通在全國各地的IP地址段示例60. 0. 0. 0-60. 10. 255. 255——河北60. 12. 0. 0-60. 12. 255. 2555——浙江60. 13. 0. 0-60. 13. 63. 2555——甘肅60. 13. 128. 0-60. 13. 255. 2555——新疆60. 16. 0. 0-60. 23. 255. 2555——遼寧60. 24. 0. 0-60. 30. 255. 2555——天津60. 31. 0. 0-60. 31. 255. 2555——內(nèi)蒙古60. 208. 0. 0-60. 217. 255. 2555——山東60. 220. 0. 0-60. 223. 255. 2555——陜西61. 48. 0. 0-61. 51. 255. 2555——北京61. 52. 0. 0-61. 54. 255. 2555——河南又如,如下為電信在全國各地的IP地址段示例61.1295——上海
61.130——浙江61.1315——福建61.132——江蘇61.1335——山東
61.134——陜西61.1355——北京子步驟B2、針對所述P2P服務(wù)器的IP列表中各P2P服務(wù)器的IP地址,該客戶端確定相應(yīng)的所屬IP地址段,并從所述IP地址段信息庫中查詢各所屬IP地址段的物理所在地和網(wǎng)絡(luò)運營商;子步驟B3、依據(jù)該客戶端所屬IP地址段和各P2P服務(wù)器的IP地址的物理所在地和網(wǎng)絡(luò)運營商,從所述P2P服務(wù)器的IP列表中選擇物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的一個P2P服務(wù)器的IP地址。在具體實現(xiàn)中,可采用二維列表來存儲一個物理所在地到另一個物理所在地的距離,例如,北京到北京的距離為0,北京到天津的距離為137公里,北京到上海的距離為1088 公里等。這樣,可首先從所述P2P服務(wù)器的IP列表中選擇處于相同網(wǎng)絡(luò)運營商的一個或多個P2P服務(wù)器的IP地址,然后,再從中選擇距離最短的一個P2P服務(wù)器的IP地址。方案二、在本發(fā)明的一種優(yōu)選實施例中,所述選擇步驟,可進一步包括子步驟Cl、該客戶端根據(jù)自身所屬IP地址段,從所述P2P服務(wù)器的IP列表中選擇物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址;子步驟C2、針對客戶端所屬IP地址段執(zhí)行選擇算法,從所述物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址中選擇一者。由于本優(yōu)選實施例針對客戶端所屬IP地址段執(zhí)行選擇算法,使得子步驟C2的選擇結(jié)果僅僅取決于客戶端所屬IP地址段,這樣,具有相同IP地址段的不同客戶端的選擇結(jié)果是相同的,能夠保證具有相同IP地址段的不同客戶端選擇相同的P2P服務(wù)器。在本發(fā)明的另一種優(yōu)選實施例中,所述子步驟C2可以進一步包括子步驟C21、對所述物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的 IP地址進行排序,得到排序結(jié)果;子步驟C22、對該客戶端所屬IP地址段進行數(shù)字運算,并進行取整,得到取整后的數(shù)字運算結(jié)果;子步驟C23、計算所述取整后的數(shù)字運算結(jié)果對IP數(shù)目的取模結(jié)果,其中,所述IP 數(shù)目為所述物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址的數(shù)目;子步驟C24、依據(jù)所述取模結(jié)果,從所述排序結(jié)果中選擇一者。例如,該客戶端的IP地址段(61. 133)處于山東電信,子步驟Cl選擇了 M個山東電信的P2P服務(wù)器的IP地址;那么,子步驟C21可按從大到小或者從小到大對這M個IP地址進行排序,子步驟C22對61. 133進行數(shù)字計算并進行取整運算得到N,子步驟C23進行 N% M(取模運算)得到P,即選擇排序后的M個IP地址中的第P個。在本發(fā)明實施例中,優(yōu)選的是,所述數(shù)字運算可以包括數(shù)字加密運算或者數(shù)字摘要運算。例如,數(shù)字加密運算可以進一步包括DES(對稱算法,Data Encryption Standard),IDEA(國際數(shù)據(jù)力口密算法,International Data Encryption Algorithm), DSA(數(shù)字摘要算法,Digital Signature Algorithm)等,所述數(shù)字摘要運算可以進一步包括SHA (安全 Hash 編碼法,Secure Hash Algorithm),MD5 (消息摘要算法第五版,Message Digest Algorithm5)等。需要說明的是,直接選擇選擇排序后的M個IP地址中的第P個屬于選擇算法的一個示例,實際上,在各客戶端執(zhí)行的選擇算法相同的前提下,選擇第P-I或P+1個都是可行的。
可以理解,除了除了數(shù)字加密運算和數(shù)字摘要運算外,本領(lǐng)域技術(shù)人員還可以根據(jù)實際需要,采用其它數(shù)字運算,本發(fā)明的宗旨是針對所屬IP地址段執(zhí)行選擇算法,使得 P2P服務(wù)器的的選擇結(jié)果僅僅取決于客戶端所屬IP地址段,以保證具有相同IP地址段的不同客戶端選擇相同的P2P服務(wù)器;本發(fā)明并不會對具體的選擇算法和數(shù)字運算加以限制。在選擇了一個P2P服務(wù)器后,可采用多種已有技術(shù)手段,獲取文件資源的種子信息,例如,該客戶端可首先向所選擇P2P服務(wù)器發(fā)送攜帶該文件資源信息的種子查詢請求, 然后,接收所選擇P2P服務(wù)器返回的文件資源的種子信息。可以理解,本領(lǐng)域技術(shù)人員可以根據(jù)實際需要,采用其它技術(shù)手段,本發(fā)明的宗旨是使得所選擇P2P服務(wù)器具有的資源提供客戶端之間具有最佳的網(wǎng)絡(luò)連接(例如,屬于相同的IP地址段,且處于相同網(wǎng)絡(luò)運營商);這樣,在接收到客戶端的種子查詢請求時,能夠提供與請求發(fā)起客戶端處于相同IP地址段和相同網(wǎng)絡(luò)運營商的資源提供端也即種子節(jié)點,因此,能夠大大提高請求發(fā)起客戶端與所連接種子節(jié)點的臨近屬性,而不會對獲取文件資源的種子信息的具體手段加以限制。步驟104、該客戶端依據(jù)所述文件資源的種子信息,進行該文件資源的分享。為使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明,以下通過一個具體的示例說明本發(fā)明采用P2P技術(shù)下載文件的詳細過程,該示例涉及客戶端A下載殺毒軟件升級文件,具體可以包括步驟Sl、客戶端A向P2P系統(tǒng)發(fā)送服務(wù)器查詢請求,該服務(wù)器查詢請求攜帶有殺毒軟件升級文件的URL地址;步驟S2、P2P系統(tǒng)通過域名解析,得到與該服務(wù)器查詢請求相應(yīng)的P2P服務(wù)器的IP 列表,并返回給客戶端A ;步驟S3、客戶端A接收所述P2P系統(tǒng)返回的P2P服務(wù)器的IP列表;步驟S4、客戶端A根據(jù)自身所屬IP地址段,從所述P2P服務(wù)器的IP列表中選擇物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的一個P2P服務(wù)器進行登陸,具體可以包括子步驟S41、客戶端A根據(jù)自身所屬IP地址段,從所述P2P服務(wù)器的IP列表中選擇了 M個山東電信的P2P服務(wù)器的IP地址;子步驟S42、客戶端A按從大到小的順序?qū)@M個IP地址進行排序,得到排序結(jié)果;子步驟S43、客戶端A對自身所屬IP地址段進行MD5計算,取MD5運算結(jié)果的最后四個字節(jié),進行取整運算得到N ;子步驟S44、計算M得到到P ;子步驟S44、選擇排序后的M個IP地址中的第P個,記該第P個P2P服務(wù)器為P2P 服務(wù)器A;
假設(shè)與客戶端A處于相同IP地址段的客戶端B-客戶端Z,也通過執(zhí)行步驟S1-S4 選擇了 P2P服務(wù)器A。步驟S5、該客戶端向P2P服務(wù)器A發(fā)送種子查詢請求,該種子查詢請求攜帶有該殺毒軟件升級文件的URL地址;步驟S6、P2 P服務(wù)器A對所述種子查詢請求進行處理,得到相應(yīng)的殺毒軟件升級文件的種子信息(例如,種子節(jié)點客戶端B-客戶端H),并返回給客戶端A ;步驟S7、客戶端A與所述該殺毒軟件升級文件的種子節(jié)點客戶端B-客戶端H連接,進行該殺毒軟件升級文件的分享。與前述方法實施例相應(yīng),本發(fā)明還提供了一種采用P2P技術(shù)下載文件的系統(tǒng),參照圖2,具體可以包括客戶端201和P2P系統(tǒng)202,所述P2P系統(tǒng)202可以進一步包括P2P 服務(wù)器221,其中,所述客戶端201,具體可以包括服務(wù)器查詢模塊211,用于向所述P2P系統(tǒng)發(fā)送攜帶文件資源信息的服務(wù)器查詢請求;IP列表接收模塊212,用于接收所述P2P系統(tǒng)返回的P2P服務(wù)器的IP列表;選擇模塊213,用于根據(jù)自身所屬IP地址段,從所述P2P服務(wù)器的IP列表中選擇網(wǎng)絡(luò)連接最佳的一個P2P服務(wù)器;種子信息獲取模塊214,用于依據(jù)所選擇P2P服務(wù)器獲取文件資源的種子信息;及下載模塊215,用于依據(jù)所述文件資源的種子信息,進行該文件資源的分享;所述P2P系統(tǒng)202,還可以包括服務(wù)器查詢處理模塊222,用于對所述服務(wù)器查詢請求進行處理,得到相應(yīng)的P2P 服務(wù)器的IP列表,并返回給所述客戶端。在本發(fā)明的一種優(yōu)選實施例中,所述P2P服務(wù)器的IP列表中可以包括多個P2P服務(wù)器的IP地址;相應(yīng)地,所述選擇模塊213,可以進一步包括第一查詢子模塊,用于從IP地址段信息庫中查詢客戶端所屬IP地址段的物理所在地和網(wǎng)絡(luò)運營商,其中,所述IP地址段信息庫包括多個IP地址段以及每個IP地址段對應(yīng)的物理所在地和網(wǎng)絡(luò)運營商;第二查詢子模塊,用于針對所述P2P服務(wù)器的IP列表中各P2P服務(wù)器的IP地址, 該客戶端確定相應(yīng)的所屬IP地址段,并從所述IP地址段信息庫中查詢各所屬IP地址段的物理所在地和網(wǎng)絡(luò)運營商;選擇子模塊,用于依據(jù)該客戶端所屬IP地址段和各P2P服務(wù)器的IP地址的物理所在地和網(wǎng)絡(luò)運營商,從所述P2P服務(wù)器的IP列表中選擇物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的一個P2P服務(wù)器的IP地址。在本發(fā)明的又一種優(yōu)選實施例中,所述選擇模塊213,具體可以包括第一選擇子模塊,用于該客戶端根據(jù)自身所屬IP地址段,從所述P2P服務(wù)器的IP 列表中選擇物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址;第二選擇子模塊,用于針對客戶端所屬IP地址段執(zhí)行選擇算法,從所述物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址中選擇一者。
在本發(fā)明實施例中優(yōu)選的是,所述第二選擇子模塊,可以進一步包括 排序單元,用于對所述物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器
的IP地址進行排序,得到排序結(jié)果;取整單元,用于對該客戶端所屬IP地址段進行數(shù)字運算,并進行取整,得到取整后的數(shù)字運算結(jié)果;取模單元,用于計算所述取整后的數(shù)字運算結(jié)果對IP數(shù)目的取模結(jié)果,其中,所述IP數(shù)目為所述物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址的數(shù)目;及選擇單元,用于依據(jù)所述取模結(jié)果,從所述排序結(jié)果中選擇一者。在本發(fā)明實施例中優(yōu)選的是,所述數(shù)字運算包括數(shù)字加密運算或者數(shù)字摘要運
笪 弁。在具體實現(xiàn)中,所述種子信息獲取模塊214可以進一步包括種子查詢模塊,用于向所選擇P2P服務(wù)器發(fā)送攜帶該文件資源信息的種子查詢請求;種子接收模塊,用于接收所選擇P2P服務(wù)器返回的文件資源的種子信息;相應(yīng)地,所述P2P服務(wù)器221,可以進一步包括種子查詢處理模塊,用于對所述種子查詢請求進行處理,得到相應(yīng)的文件資源的種子信息,并返回給所述客戶端。本發(fā)明還提供了一種客戶端實施例,參照圖3,具體可以包括服務(wù)器查詢模塊301,用于向所述P2P系統(tǒng)發(fā)送攜帶文件資源信息的服務(wù)器查詢請求;IP列表接收模塊302,用于接收所述P2P系統(tǒng)返回的P2P服務(wù)器的IP列表;選擇模塊303,用于選擇模塊,用于根據(jù)自身所屬IP地址段,從所述P2P服務(wù)器的 IP列表中選擇網(wǎng)絡(luò)連接最佳的一個P2P服務(wù)器;種子信息獲取模塊304,用于依據(jù)所選擇P2P服務(wù)器獲取文件資源的種子信息;及下載模塊305,用于依據(jù)所述文件資源的種子信息,進行該文件資源的分享。在本發(fā)明的一種優(yōu)選實施例中,所述P2P服務(wù)器的IP列表中可以包括多個P2P服務(wù)器的IP地址;相應(yīng)地,所述選擇模塊303,可以進一步包括第一查詢子模塊,用于從IP地址段信息庫中查詢客戶端所屬IP地址段的物理所在地和網(wǎng)絡(luò)運營商,其中,所述IP地址段信息庫包括多個IP地址段以及每個IP地址段對應(yīng)的物理所在地和網(wǎng)絡(luò)運營商;第二查詢子模塊,用于針對所述P2P服務(wù)器的IP列表中各P2P服務(wù)器的IP地址, 該客戶端確定相應(yīng)的所屬IP地址段,并從所述IP地址段信息庫中查詢各所屬IP地址段的物理所在地和網(wǎng)絡(luò)運營商;選擇子模塊,用于依據(jù)該客戶端所屬IP地址段和各P2P服務(wù)器的IP地址的物理所在地和網(wǎng)絡(luò)運營商,從所述P2P服務(wù)器的IP列表中選擇物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的一個P2P服務(wù)器的IP地址。在本發(fā)明的又一種優(yōu)選實施例中,所述選擇模塊303,具體可以包括
第一選擇子模塊,用于該客戶端根據(jù)自身所屬IP地址段,從所述P2P服務(wù)器的IP 列表中選擇物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址;第二選擇子模塊,用于針對客戶端所屬IP地址段執(zhí)行選擇算法,從所述物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址中選擇一者。在本發(fā)明實施例中優(yōu)選的是,所述第二選擇子模塊,可以進一步包括排序單元,用于對所述物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址進行排序,得到排序結(jié)果;取整單元,用于對該客戶端所屬IP地址段進行數(shù)字運算,并進行取整,得到取整后的數(shù)字運算結(jié)果;取模單元,用于計算所述取整后的數(shù)字運算結(jié)果對IP數(shù)目的取模結(jié)果,其中,所述IP數(shù)目為所述物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址的數(shù)目;及
選擇單元,用于依據(jù)所述取模結(jié)果,從所述排序結(jié)果中選擇一者。在本發(fā)明實施例中優(yōu)選的是,所述數(shù)字運算包括數(shù)字加密運算或者數(shù)字摘要運
笪弁。對于采用P2P技術(shù)下載文件的系統(tǒng)和客戶端實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。以上對本發(fā)明所提供的一種采用P2P技術(shù)下載文件的方法和系統(tǒng)、一種客戶端, 進行了詳細介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1.一種采用P2P技術(shù)下載文件的方法,其特征在于,包括客戶端向P2P系統(tǒng)發(fā)送攜帶文件資源信息的服務(wù)器查詢請求; 該客戶端接收所述P2P系統(tǒng)返回的P2P服務(wù)器的IP列表;該客戶端根據(jù)自身所屬IP地址段,從所述P2P服務(wù)器的IP列表中選擇網(wǎng)絡(luò)連接最佳的一個P2P服務(wù)器,并依據(jù)所選擇P2P服務(wù)器獲取文件資源的種子信息; 該客戶端依據(jù)所述文件資源的種子信息,進行該文件資源的分享。
2.如權(quán)利要求1所述的方法,其特征在于,所述P2P服務(wù)器的IP列表中包括多個P2P 服務(wù)器的IP地址;所述該客戶端根據(jù)自身所屬IP地址段,從所述P2P服務(wù)器的IP列表中選擇網(wǎng)絡(luò)連接最佳的一個P2P服務(wù)器的步驟,包括從IP地址段信息庫中查詢客戶端所屬IP地址段的物理所在地和網(wǎng)絡(luò)運營商,其中,所述IP地址段信息庫包括多個IP地址段以及每個IP地址段對應(yīng)的物理所在地和網(wǎng)絡(luò)運營商;針對所述P2P服務(wù)器的IP列表中各P2P服務(wù)器的IP地址,該客戶端確定相應(yīng)的所屬IP 地址段,并從所述IP地址段信息庫中查詢各所屬IP地址段的物理所在地和網(wǎng)絡(luò)運營商; 依據(jù)該客戶端所屬IP地址段和各P2P服務(wù)器的IP地址的物理所在地和網(wǎng)絡(luò)運營商, 從所述P2P服務(wù)器的IP列表中選擇物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的一個P2P服務(wù)器的IP地址。
3.如權(quán)利要求1所述的方法,其特征在于,所述該客戶端根據(jù)自身所屬IP地址段,從所述P2P服務(wù)器的IP列表中選擇網(wǎng)絡(luò)連接最佳的一個P2P服務(wù)器的步驟,包括該客戶端根據(jù)自身所屬IP地址段,從所述P2P服務(wù)器的IP列表中選擇物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址;針對客戶端所屬IP地址段執(zhí)行選擇算法,從所述物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址中選擇一者。
4.如權(quán)利要求3所述的方法,其特征在于,所述針對客戶端所屬IP地址段執(zhí)行選擇算法,從所述物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址中選擇一者的步驟,包括對所述物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址進行排序, 得到排序結(jié)果;對該客戶端所屬IP地址段進行數(shù)字運算,并進行取整,得到取整后的數(shù)字運算結(jié)果; 計算所述取整后的數(shù)字運算結(jié)果對IP數(shù)目的取模結(jié)果,其中,所述IP數(shù)目為所述物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址的數(shù)目; 依據(jù)所述取模結(jié)果,從所述排序結(jié)果中選擇一者。
5.如權(quán)利要求3所述的方法,其特征在于,所述數(shù)字運算包括數(shù)字加密運算或者數(shù)字摘要運算。
6.如權(quán)利要求1所述的方法,其特征在于,所述文件資源信息包括文件資源的網(wǎng)頁地址。
7.一種采用P2P技術(shù)下載文件的系統(tǒng),其特征在于,包括客戶端和P2P系統(tǒng),所述P2P 系統(tǒng)進一步包括P2P服務(wù)器,其中,所述客戶端,包括服務(wù)器查詢模塊,用于向所述P2P系統(tǒng)發(fā)送攜帶文件資源信息的服務(wù)器查詢請求; IP列表接收模塊,用于接收所述P2P系統(tǒng)返回的P2P服務(wù)器的IP列表; 選擇模塊,用于根據(jù)自身所屬IP地址段,從所述P2P服務(wù)器的IP列表中選擇網(wǎng)絡(luò)連接最佳的一個P2P服務(wù)器;種子信息獲取模塊,用于依據(jù)所選擇P2P服務(wù)器獲取文件資源的種子信息;及下載模塊,用于依據(jù)所述文件資源的種子信息,進行該文件資源的分享; 所述P2P系統(tǒng),還包括服務(wù)器查詢處理模塊,用于對所述服務(wù)器查詢請求進行處理,得到相應(yīng)的P2P服務(wù)器的IP列表,并返回給所述客戶端。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述P2P服務(wù)器的IP列表中包括多個P2P 服務(wù)器的IP地址;所述選擇模塊,包括第一查詢子模塊,用于從IP地址段信息庫中查詢客戶端所屬IP地址段的物理所在地和網(wǎng)絡(luò)運營商,其中,所述IP地址段信息庫包括多個IP地址段以及每個IP地址段對應(yīng)的物理所在地和網(wǎng)絡(luò)運營商;第二查詢子模塊,用于針對所述P2P服務(wù)器的IP列表中各P2P服務(wù)器的IP地址,該客戶端確定相應(yīng)的所屬IP地址段,并從所述IP地址段信息庫中查詢各所屬IP地址段的物理所在地和網(wǎng)絡(luò)運營商;選擇子模塊,用于依據(jù)該客戶端所屬IP地址段和各P2P服務(wù)器的IP地址的物理所在地和網(wǎng)絡(luò)運營商,從所述P2P服務(wù)器的IP列表中選擇物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的一個P2P服務(wù)器的IP地址。
9.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述選擇模塊,包括第一選擇子模塊,用于該客戶端根據(jù)自身所屬IP地址段,從所述P2P服務(wù)器的IP列表中選擇物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址;第二選擇子模塊,用于針對客戶端所屬IP地址段執(zhí)行選擇算法,從所述物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址中選擇一者。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述第二選擇子模塊,包括排序單元,用于對所述物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP 地址進行排序,得到排序結(jié)果;取整單元,用于對該客戶端所屬IP地址段進行數(shù)字運算,并進行取整,得到取整后的數(shù)字運算結(jié)果;取模單元,用于計算所述取整后的數(shù)字運算結(jié)果對IP數(shù)目的取模結(jié)果,其中,所述IP 數(shù)目為所述物理位置最臨近且處于相同網(wǎng)絡(luò)運營商的多個P2P服務(wù)器的IP地址的數(shù)目;及選擇單元,用于依據(jù)所述取模結(jié)果,從所述排序結(jié)果中選擇一者。
11.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述數(shù)字運算包括數(shù)字加密運算或者數(shù)字摘要運算。
12.—種客戶端,其特征在于,包括服務(wù)器查詢模塊,用于向所述P2P系統(tǒng)發(fā)送攜帶文件資源信息的服務(wù)器查詢請求;IP列表接收模塊,用于接收所述P2P系統(tǒng)返回的P2P服務(wù)器的IP列表;選擇模塊,用于從所述P2P服務(wù)器的IP列表中選擇網(wǎng)絡(luò)連接最佳的一個P2P服務(wù)器; 種子信息獲取模塊,用于依據(jù)所選擇P2P服務(wù)器獲取文件資源的種子信息;及下載模塊,用于依據(jù)所述文件資源的種子信息,進行該文件資源的分享。
全文摘要
本發(fā)明提供了一種采用P2P技術(shù)下載文件的方法和系統(tǒng)、一種客戶端,其中的方法具體包括客戶端向P2P系統(tǒng)發(fā)送攜帶文件資源信息的服務(wù)器查詢請求;該客戶端接收所述P2P系統(tǒng)返回的P2P服務(wù)器的IP列表;該客戶端根據(jù)自身所屬IP地址段,從所述P2P服務(wù)器的IP列表中選擇網(wǎng)絡(luò)連接最佳的一個P2P服務(wù)器,并依據(jù)所選擇P2P服務(wù)器獲取文件資源的種子信息;該客戶端依據(jù)所述文件資源的種子信息,進行該文件資源的分享。本發(fā)明能夠提高文件資源的共享效率和P2P下載效率。
文檔編號H04L29/08GK102223411SQ20111016108
公開日2011年10月19日 申請日期2011年6月15日 優(yōu)先權(quán)日2011年6月15日
發(fā)明者李濤, 趙化強, 魯小鎖 申請人:奇智軟件(北京)有限公司