專利名稱:一種文件下載的方法、服務(wù)器、下載端和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,特別涉及一種文件下載的方法、服務(wù)器、下載端和 系統(tǒng)。
背景技術(shù):
目前,文件下載已成互聯(lián)網(wǎng)的主要應(yīng)用之一,隨著各類待下載文件如游戲軟件、其 它應(yīng)用軟件所占空間越來越大,文件下載已成為占用服務(wù)器帶寬最多的應(yīng)用之一。軟件企 業(yè)和組織不得不為文件的下載支付昂貴的硬件成本和帶寬成本。傳統(tǒng)文件下載方式主要是通過URL登錄下載服務(wù)器中對應(yīng)的網(wǎng)頁頁面,從網(wǎng)頁頁 面提供的待下載文件的鏈接地址處直接從下載服務(wù)器中下載待下載的文件。但此種方式下 載速度慢、占用較高的服務(wù)器帶寬。為了解決傳統(tǒng)文件下載方式中存在的問題,人們開始使用P2P (Peer-to-Peer,對 等網(wǎng)絡(luò))方式下載文件,目前主要有以下兩種P2P方式下載文件的方法第一種、使用多源下載工具從下載服務(wù)器中下載待下載的文件,例如,通過 URL (Uniform Resource Locator,統(tǒng)一資源定位符)登錄下載服務(wù)器中對應(yīng)的網(wǎng)頁頁面,使 用迅雷或旋風(fēng)等多源下載工具從該網(wǎng)頁頁面提供的待下載文件的鏈接地址處下載待下載 文件。第二種、使用Bt (Bit torrent,文件分發(fā)協(xié)議)或Emule (電驢)文件共享系統(tǒng)從 參與的所有客戶端中下載待下載文件。在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有P2P下載方式至少存在以下問題在上述第一種方法中多源下載工具占用較高的服務(wù)器帶寬,并且多源下載工具 容量較大,在下載之前要先安裝多源下載工具,占用了用戶資源。在上述第二種方法中無法保證下載速度,并且在下載之前也要先安裝Bt或 Emule文件共享系統(tǒng),占用了用戶資源。
發(fā)明內(nèi)容
為了在下載文件時,減少對服務(wù)器帶寬和用戶資源的占用以及提高下載速度,本 發(fā)明實施例提供了一種文件下載的方法、服務(wù)器、下載端和系統(tǒng)。所述技術(shù)方案如下一種文件下載的方法,所述方法包括P2P服務(wù)器接收待下載文件的文件名;所述P2P服務(wù)器根據(jù)所述文件名,獲取下載信息,并返回所述下載信息給下載端, 所述下載信息包括所述待下載文件至少包括的片段總數(shù)、正在下載所述待下載文件的Peer 和所述Peer中存儲的所述待下載文件包括的片號;所述下載端根據(jù)所述待下載文件包括的片段總數(shù)和所述Peer中存儲的所述待下 載文件包括的片號,從下載服務(wù)器和所述正在下載所述待下載文件的Peer中下載所述待 下載文件。
一種服務(wù)器,所述服務(wù)器包括接收模塊,用于接收待下載文件的文件名;獲取模塊,用于根據(jù)所述文件名,獲取下載信息,所述下載信息至少包括所述待下 載文件包括的片段總數(shù)、正在下載所述待下載文件的Peer和所述Peer中存儲的所述待下 載文件包括的片號;發(fā)送模塊,用于發(fā)送所述下載信息給下載端。一種下載端,所述下載端包括接收模塊,用于接收下載信息,所述下載信息至少包括所述待下載文件包括的片 段總數(shù)、正在下載所述待下載文件的Peer和所述Peer中存儲的所述待下載文件包括的片 號;下載模塊,用于根據(jù)所述待下載文件包括的片段總數(shù)和所述Peer中存儲的所述 待下載文件包括的片號,從下載服務(wù)器和所述正在下載所述待下載文件的Peer中下載所 述待下載文件。一種文件下載的系統(tǒng),所述系統(tǒng)包括下載端和P2P服務(wù)器;所述P2P服務(wù)器,用于接收待下載文件的文件名;根據(jù)所述文件名,獲取下載信 息,并返回所述下載信息給下載端,所述下載信息至少包括所述待下載文件包括的片段總 數(shù)、正在下載所述待下載文件的Peer和所述Peer中存儲的所述待下載文件包括的片號;所述下載端,用于根據(jù)所述待下載文件包括的片段總數(shù)和所述Peer中存儲的所 述待下載文件包括的片號,從下載服務(wù)器和所述正在下載所述待下載文件的Peer中下載 所述待下載文件。通過P2P服務(wù)器接收待下載文件的文件名,根據(jù)文件名,獲取下載信息,并返回該 下載信息給下載端,下載端從下載服務(wù)器和下載信息包括的正在下載待下載文件的Peer 中下載待下載文件。其中,由于下載端直接下載文件,從而減少占用用戶資源;由于從下載 服務(wù)器和Peer中同時下載文件,所以減少占用下載服務(wù)器的帶寬資源并提高下載速度。
圖1是本發(fā)明實施例1提供的一種文件下載的方法流程圖;圖2是本發(fā)明實施例1提供的一種P2P網(wǎng)絡(luò)架構(gòu)示意圖;圖3是本發(fā)明實施例1提供的一種文件下載的方法詳細(xì)流程圖;圖4是本發(fā)明實施例2提供的一種服務(wù)器的示意圖;圖5是本發(fā)明實施例3提供的一種下載端的示意圖;圖6是本發(fā)明實施例4提供的一種文件下載的系統(tǒng)框圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方 式作進(jìn)一步地詳細(xì)描述。實施例1如圖1所示,本發(fā)明實施例提供了一種文件下載的方法,包括步驟101 :P2P服務(wù)器接收待下載文件的文件名;
步驟102 :P2P服務(wù)器根據(jù)接收的文件名,獲取下載信息,并返回該下載信息給下 載端,其中,該下載信息至少包括待下載文件包括的片段總數(shù)、正在下載待下載文件的Peer 和該Peer中存儲的待下載文件包括的片號;步驟103 下載端根據(jù)待下載文件包括的片段總數(shù)和該Peer中存儲的待下載文件 包括的片號,從下載服務(wù)器和正在下載待下載文件的Peer中下載待下載文件。其中,下載端可以為P2P網(wǎng)絡(luò)中的某個Peer或運行在某個Peer中的下載程序等, 每個下載端都有對應(yīng)的一個Peer,所以下載端下載文件實質(zhì)上就是下載端對應(yīng)的Peer在 下載文件。在本發(fā)明實施例中,P2P服務(wù)器接收待下載文件的文件名,根據(jù)文件名,獲取下載 信息,并返回該下載信息給下載端,下載端從下載服務(wù)器和下載信息包括的正在下載待下 載文件的Peer中下載待下載文件。其中,由于下載端直接下載文件,從而減少占用用戶資 源;由于從下載服務(wù)器和Peer中同時下載文件,所以減少占用下載服務(wù)器的帶寬資源并提 高下載速度。為了對上述方法進(jìn)行詳細(xì)說明,請參見圖2,為本發(fā)明實施例提供的一種P2P網(wǎng)絡(luò) 架構(gòu)示意圖,包括下載服務(wù)器、P2P服務(wù)器和Peer (分別為PeerA、PeerB和PeerC)。其中, 下載服務(wù)器用于存儲文件;P2P服務(wù)器用于存儲文件名與片段總數(shù)的對應(yīng)關(guān)系以及Peer與 文件信息的對應(yīng)關(guān)系,文件由片段組成,且每個片段都有自身的片號。基于上述圖2所提供的P2P網(wǎng)絡(luò)架構(gòu),參見圖3,本發(fā)明實施例提供的方法的詳細(xì) 過程,具體包括步驟201 下載端從待下載文件的下載地址中獲取待下載文件的文件名,并將獲 取的文件名發(fā)送給P2P服務(wù)器;其中,待下載文件的下載地址中包含有待下載文件的文件名,具體地,下載端從待 下載文件的下載地址中讀取文件名,并將該文件名發(fā)送給P2P服務(wù)器。其中,下載端可以從下載服務(wù)器獲取待下載文件的下載地址。例如,以PeerA為下 載端為例進(jìn)行說明,下載端從下載服務(wù)器中獲取待下載文件的下載地址IP3,其中,IP3為 "www.文件3. com",且在IP3中包含有待下載文件的文件名即文件3,從IP3中讀取文件3, 并將文件3發(fā)送給P2P服務(wù)器。步驟202 :P2P服務(wù)器接收待下載文件的文件名,查找待下載文件包括的片段總 數(shù),并返回給下載端;具體地,P2P服務(wù)器接收待下載文件的文件名,根據(jù)該文件名,從自身存儲的文件 名與片段總數(shù)的對應(yīng)關(guān)系中查找出待下載文件包括的片段總數(shù),并將待下載文件包括的片 段總數(shù)返回給下載端。其中,文件名與片段總數(shù)的對應(yīng)關(guān)系中的每條記錄用于表示某個文件與該文件包 括的所有片段的總數(shù),如表1所示的文件名與片段總數(shù)的對應(yīng)關(guān)系,表1的第二行表示的含 義為文件1和該文件1包括所有片段總數(shù)3,即文件1包括三個片段。文件名和片段總數(shù)的 對應(yīng)關(guān)系是運營商事先建立的,包括下載服務(wù)器中的每個文件的文件名和其包括的片段總 數(shù)的對應(yīng)關(guān)系。表 權(quán)利要求
1.一種文件下載的方法,其特征在于,所述方法包括P2P服務(wù)器接收待下載文件的文件名;所述P2P服務(wù)器根據(jù)所述文件名,獲取下載信息,并返回所述下載信息給下載端,所述 下載信息至少包括所述待下載文件包括的片段總數(shù)、正在下載所述待下載文件的Peer和 所述Peer中存儲的所述待下載文件包括的片號;所述下載端根據(jù)所述待下載文件包括的片段總數(shù)和所述Peer中存儲的所述待下載文 件包括的片號,從下載服務(wù)器和所述正在下載所述待下載文件的Peer中下載所述待下載 文件。
2.如權(quán)利要求1所述的方法,其特征在于,所述P2P服務(wù)器根據(jù)所述文件名,獲取下載 信息,具體包括根據(jù)所述文件名,查找所述待下載文件包括的片段總數(shù)和正在下載所述待下載文件的 所有Peer ;從所述查找的所有Peer中選擇一個所述正在下載所述待下載文件的Peer,獲取所述 Peer中存儲所述待下載文件包括的片號。
3.如權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述文件名,查找所述待下載文件 包括的片段總數(shù)和正在下載所述待下載文件的所有Peer,具體包括根據(jù)所述文件名,從文件名與片段總數(shù)的對應(yīng)關(guān)系中,查找對應(yīng)的片段總數(shù);根據(jù)所述文件名,從Peer與文件信息的對應(yīng)關(guān)系中,查找對應(yīng)的所有Peer。
4.如權(quán)利要求1所述的方法,其特征在于,所述下載端根據(jù)所述待下載文件包括的片 段總數(shù)和所述Peer中存儲的所述待下載文件包括的片號,從下載服務(wù)器和所述正在下載 所述待下載文件的Peer中下載所述待下載文件,具體包括根據(jù)所述片段總數(shù),確定所述待下載文件包括的所有片號;從所述待下載文件包括的所有片號中,選擇一個還未下載的片號,將所述片號作為第 一待下載片號,從所述下載服務(wù)器中下載所述第一待下載片號的片段;從所述Peer中存儲的所述待下載文件包括的片號中,選擇一個還未下載的片號,將所 述片號作為第二待下載片號,從所述Peer中下載所述第二待下載片號的片段。
5.如權(quán)利要求1-4任意權(quán)利要求所述的方法,其特征在于,當(dāng)所述下載端下載所述待 下載文件時,所述方法還包括所述下載端向所述P2P服務(wù)器上報所述待下載文件的文件名和正在下載的片段的片號;相應(yīng)地,所述P2P服務(wù)器判斷Peer與文件信息的對應(yīng)關(guān)系中是否存在包括所述下載端對應(yīng)的 Peer和所述文件名的對應(yīng)關(guān)系,如果否,存儲所述下載端對應(yīng)的Peer、所述上報的文件名 和所述上報的片號;如果是,將所述上報的片號存儲在所述對應(yīng)關(guān)系中。
6.如權(quán)利要求1-4任意權(quán)利要求所述的方法,其特征在于,當(dāng)所述下載端下載完所述 待下載文件時,所述方法還包括所述下載端向所述P2P服務(wù)器上報所述待下載文件的文件名和結(jié)束信息;相應(yīng)地,所述P2P服務(wù)器根據(jù)所述結(jié)束信息,將包括所述下載端對應(yīng)的Peer和所述文件名的對應(yīng)關(guān)系刪除。
7.如權(quán)利要求1-4任意權(quán)利要求所述的方法,其特征在于,所述下載端為下載器。
8.如權(quán)利要求7所述的方法,其特征在于,在P2P服務(wù)器接收待下載文件的文件名前, 還包括執(zhí)行所述下載器。
9.如權(quán)利要求8所述的方法,其特征在于,在執(zhí)行所述下載器前,先從所述下載服務(wù)器 下載所述下載器至需下載待下載文件的Peer。
10.一種服務(wù)器,其特征在于,所述服務(wù)器包括 接收模塊,用于接收待下載文件的文件名;獲取模塊,用于根據(jù)所述文件名,獲取下載信息,所述下載信息至少包括所述待下載文 件包括的片段總數(shù)、正在下載所述待下載文件的Peer和所述Peer中存儲的所述待下載文 件包括的片號;發(fā)送模塊,用于發(fā)送所述下載信息給下載端。
11.如權(quán)利要求10所述的服務(wù)器,其特征在于,所述獲取模塊具體包括查找單元,用于根據(jù)所述文件名,查找所述待下載文件包括的片段總數(shù)和正在下載所 述待下載文件的所有Peer;選擇單元,用于從所述查找的所有Peer中選擇一個所述正在下載所述待下載文件的 Peer,獲取所述Peer中存儲所述待下載文件包括的片號。
12.如權(quán)利要求11所述的服務(wù)器,其特征在于,所述查找單元具體包括第一查找子單元,用于根據(jù)所述文件名,從文件名與片段總數(shù)的對應(yīng)關(guān)系中,查找對應(yīng) 的片段總數(shù);第二查找子單元,用于根據(jù)所述文件名,從Peer與文件信息的對應(yīng)關(guān)系中,查找對應(yīng) 的所有Peer。
13.如權(quán)利要求10-12任意權(quán)利要求所述的服務(wù)器,其特征在于,所述服務(wù)器還包括 第一存儲模塊,用于當(dāng)下載端上報所述待下載文件的文件名和正在下載的片段的片號時,判斷Peer與文件信息的對應(yīng)關(guān)系中是否存在包括所述下載端對應(yīng)的Peer和所述文件 名的對應(yīng)關(guān)系,如果否,存儲所述下載端對應(yīng)的Peer、所述上報的文件名和所述上報的片 號;如果是,將所述上報的片號存儲在所述對應(yīng)關(guān)系中。
14.如權(quán)利要求10-12任意權(quán)利要求所述的服務(wù)器,其特征在于,所述服務(wù)器還包括 第一刪除模塊,用于當(dāng)下載端上報所述待下載文件的文件名和結(jié)束信息時,根據(jù)所述結(jié)束信息,將包括所述下載端對應(yīng)的Peer和所述文件名的對應(yīng)關(guān)系刪除。
15.一種下載端,其特征在于,所述下載端包括接收模塊,用于接收下載信息,所述下載信息至少包括所述待下載文件包括的片段總 數(shù)、正在下載所述待下載文件的Peer和所述Peer中存儲的所述待下載文件包括的片號;下載模塊,用于根據(jù)所述待下載文件包括的片段總數(shù)和所述Peer中存儲的所述待下 載文件包括的片號,從下載服務(wù)器和所述正在下載所述待下載文件的Peer中下載所述待 下載文件。
16.如權(quán)利要求15所述的下載端,其特征在于,所述下載模塊具體包括 確定單元,用于根據(jù)所述片段總數(shù),確定所述待下載文件包括的所有片號;第一下載單元,用于從所述待下載文件包括的所有片號中,選擇一個還未下載的片號,將所述片號作為第一待下載片號,從所述下載服務(wù)器中下載所述第一待下載片號的片段;第二下載單元,用于從所述Peer中存儲的所述待下載文件包括的片號中,選擇一個還 未下載的片號,將所述片號作為第二待下載片號,從所述Peer中下載所述第二待下載片號 的片段。
17.如權(quán)利要求15或16所述的下載端,其特征在于,所述下載端還包括第一上報模塊,用于當(dāng)正在下載所述待下載文件時,向P2P服務(wù)器上報所述待下載文 件的文件名和正在下載的片段的片號。
18.如權(quán)利要求15或16所述的下載端,其特征在于,所述下載端還包括第二上報模塊,用于當(dāng)下載完所述待下載文件時,向P2P服務(wù)器上報所述待下載文件 的文件名和結(jié)束信息。
19.一種文件下載的系統(tǒng),其特征在于,所述系統(tǒng)包括下載端和P2P服務(wù)器;所述P2P服務(wù)器,用于接收待下載文件的文件名;根據(jù)所述文件名,獲取下載信息,并 返回所述下載信息給所述下載端,所述下載信息至少包括所述待下載文件包括的片段總 數(shù)、正在下載所述待下載文件的Peer和所述Peer中存儲的所述待下載文件包括的片號;所述下載端,用于根據(jù)所述待下載文件包括的片段總數(shù)和所述Peer中存儲的所述待 下載文件包括的片號,從下載服務(wù)器和所述正在下載所述待下載文件的Peer中下載所述 待下載文件。
全文摘要
本發(fā)明公開了一種文件下載的方法、服務(wù)器、下載端和系統(tǒng),屬于網(wǎng)絡(luò)通信技術(shù)領(lǐng)域。所述方法包括P2P服務(wù)器接收待下載文件的文件名;所述P2P服務(wù)器根據(jù)所述文件名,獲取下載信息,并返回所述下載信息給下載端,所述下載信息至少包括所述待下載文件包括的片段總數(shù)、正在下載所述待下載文件的Peer和所述Peer中存儲的所述待下載文件包括的片號;所述下載端根據(jù)所述待下載文件包括的片段總數(shù)和所述Peer中存儲的所述待下載文件包括的片號,從下載服務(wù)器和所述正在下載所述待下載文件的Peer中下載所述待下載文件。所述系統(tǒng)包括P2P服務(wù)器和下載端。本發(fā)明能夠在下載文件時,減少對服務(wù)器帶寬和用戶資源的占用以及提高下載速度。
文檔編號H04L29/08GK102055786SQ200910237450
公開日2011年5月11日 申請日期2009年11月6日 優(yōu)先權(quán)日2009年11月6日
發(fā)明者王志華, 邵穎哲 申請人:騰訊科技(深圳)有限公司