專利名稱:對等連接網(wǎng)絡(luò)中的種子創(chuàng)建、文件下載方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及對等連接(peer to peer, P2P)技術(shù)領(lǐng)域,更具體地,涉及 對等連接網(wǎng)絡(luò)中的種子創(chuàng)建、文件下載方法和系統(tǒng)。
背景技術(shù):
計(jì)算機(jī)網(wǎng)絡(luò)發(fā)展演化過程是在集中和分布之間擺動。早期的計(jì)算機(jī)使用 模式是眾多用戶共享大型計(jì)算機(jī),以后發(fā)展了個人計(jì)算機(jī),從集中走向分布。 在互聯(lián)網(wǎng)上存在類似情況,開始采用客戶機(jī)(瀏覽器)-服務(wù)器方式,使用 網(wǎng)站上集中的服務(wù)器。進(jìn)一步發(fā)展將走向分布式,集中的服務(wù)器將變成分布 的,每一個用戶終端既是客戶機(jī)又是服務(wù)器,這就是對等連接(peer to peer, P2P)模式。近年來,互聯(lián)網(wǎng)上P2P業(yè)務(wù)發(fā)展迅速,已經(jīng)成為寬帶互if關(guān)網(wǎng)業(yè)務(wù)的主流。 P2P技術(shù)將各個用戶互相結(jié)合成一個網(wǎng)絡(luò),共享其中的帶寬,共同處理其中 的信息。與傳統(tǒng)的客戶機(jī)-服務(wù)器模式不同,P2P工作方式中,每一個客戶 終端既是客戶機(jī)又是服務(wù)器。以共享下載文件為例,下載同一個文件的眾多 用戶中的每一個用戶終端只需要下載文件的一個片段,然后各個用戶互相交換片段,最終每個用戶都能得到完整的文件。在現(xiàn)有技術(shù)中,數(shù)據(jù)發(fā)布方根據(jù)原始文件的完整內(nèi)容一次創(chuàng)建P2P種子 文件,并通過網(wǎng)絡(luò)保存該P(yáng)2P種子文件到種子下載服務(wù)器或者其他客戶端。 當(dāng)客戶端有下載需要時(shí),從種子下載服務(wù)器或者其他客戶端下載該種子文 件,然后再根據(jù)種子文件的內(nèi)容,校驗(yàn)下載的原始文件數(shù)據(jù)。然而,這種技術(shù)中需要完整的原始文件才能創(chuàng)建種子文件,這就降低了 數(shù)據(jù)發(fā)布方發(fā)布種子文件和數(shù)據(jù)接收方獲取數(shù)據(jù)的速度。而且,這種技術(shù)中P2P客戶必須下載完整的種子文件后才能開始P2P分享與信息交換,P2P分享的時(shí)間將會較長,從而還降低了用戶體驗(yàn)。 發(fā)明內(nèi)容本發(fā)明實(shí)施例提出 一種對等連接網(wǎng)絡(luò)中的種子創(chuàng)建方法,數(shù)據(jù)發(fā)布方能 夠提高發(fā)布種子文件的速度。本發(fā)明實(shí)施例還提出了 一種對等連接網(wǎng)絡(luò)中的文件下載方法,數(shù)據(jù)接收 方能夠提高獲取數(shù)據(jù)的速度。本發(fā)明實(shí)施例還提出了 一種對等連接網(wǎng)絡(luò)中的文件下載系統(tǒng),降低分享 的時(shí)間,增強(qiáng)用戶體-瞼。本發(fā)明實(shí)施例的4支術(shù)方案如下一種對等連接網(wǎng)絡(luò)中的種子創(chuàng)建方法,該方法包括設(shè)置分段文件數(shù)據(jù)長度;當(dāng)獲取的文件數(shù)據(jù)大小等于所述分段文件數(shù)據(jù)長度時(shí),創(chuàng)建針對該已獲 取文件數(shù)據(jù)的種子;將所述種子發(fā)布到網(wǎng)絡(luò)側(cè)。一種對等連接網(wǎng)絡(luò)中的文件下載方法,預(yù)先設(shè)置分段文件數(shù)據(jù)長度,該方 法還包括當(dāng)獲取的文件數(shù)據(jù)大小等于所述分段文件數(shù)據(jù)長度時(shí),創(chuàng)建針對該已獲取 文件數(shù)據(jù)的種子,并將所述種子發(fā)布到網(wǎng)絡(luò)側(cè);客戶端從網(wǎng)絡(luò)側(cè)獲取所述種子,并根據(jù)所述種子下載校驗(yàn)該已獲取文件 數(shù)據(jù)。一種對等連接網(wǎng)絡(luò)中的文件下載系統(tǒng),該系統(tǒng)包括第一客戶端、第二客戶 端和種子下載服務(wù)器,其中第 一客戶端,用于當(dāng)獲取的文件數(shù)據(jù)大小等于預(yù)先設(shè)置的分段文件數(shù)據(jù)長度時(shí),創(chuàng)建針對該已獲取文件數(shù)據(jù)的種子,并將所述種子發(fā)布到種子下載服務(wù) 器;種子下載服務(wù)器,用于存儲種子;第二客戶端,用于從種子下載服務(wù)器獲取種子,并根據(jù)所述種子下載校 驗(yàn)該已獲取文件數(shù)據(jù)。在上述技術(shù)方案中,首先設(shè)置分段文件數(shù)據(jù)長度,然后當(dāng)獲取的文件數(shù) 據(jù)大小等于分段文件數(shù)據(jù)長度時(shí),創(chuàng)建針對該已獲取文件數(shù)據(jù)的種子并將創(chuàng) 建的種子發(fā)布到網(wǎng)絡(luò)側(cè),客戶端再從網(wǎng)絡(luò)側(cè)獲取種子,并根據(jù)種子下載校驗(yàn) 該已獲取文件數(shù)據(jù)。由此可見,應(yīng)用本發(fā)明實(shí)施例以后,當(dāng)獲取的文件數(shù)據(jù) 到達(dá)一定大小即可創(chuàng)建與上報(bào)種子,并不需要完整的原始文件才能創(chuàng)建種子 文件,因此數(shù)據(jù)發(fā)布方能夠提高發(fā)布種子文件的速度,而且數(shù)據(jù)接收方也能 夠提高獲取數(shù)據(jù)的速度,并且能夠降低分享時(shí)間,增強(qiáng)用戶體驗(yàn)。
圖1為根據(jù)本發(fā)明實(shí)施例的對等連接網(wǎng)絡(luò)中的文件下載方法流程圖; 圖2為根據(jù)本發(fā)明實(shí)施例的對等連接網(wǎng)絡(luò)中的文件下載系統(tǒng)結(jié)構(gòu)圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)表達(dá)得更加清楚明白,下面結(jié)合附 圖及具體實(shí)施例對本發(fā)明再作進(jìn)一 步詳細(xì)的說明。圖1為根據(jù)本發(fā)明實(shí)施例的對等連接網(wǎng)絡(luò)中的文件下載方法流程圖。如圖1所示,該方法包括兩部分,步驟101 ~步驟103為對等連接網(wǎng)絡(luò) 中的種子創(chuàng)建方法流程。步驟104為客戶端下載根據(jù)步驟101 ~步驟103所 創(chuàng)建的種子后,執(zhí)行文件下載的流程。步驟101:首先設(shè)置分段文件數(shù)據(jù)長度。數(shù)據(jù)發(fā)布方期望發(fā)布的文件數(shù)據(jù)一般較大,此處預(yù)先設(shè)置分段文件數(shù)據(jù) 長度。數(shù)據(jù)發(fā)布方可以是P2P網(wǎng)絡(luò)中的數(shù)據(jù)發(fā)布服務(wù)器,也可以是普通的 P2P客戶端。數(shù)據(jù)發(fā)布服務(wù)器中一般已經(jīng)存儲有數(shù)據(jù)文件,并不需要通過網(wǎng) 絡(luò)來獲取期望發(fā)布的數(shù)據(jù)文件,因此此處數(shù)據(jù)發(fā)布方優(yōu)選為P2P客戶端。根據(jù)應(yīng)用情景的不同,可以調(diào)整分段文件數(shù)據(jù)長度的具體大小。比如, 如果期望發(fā)布的文件數(shù)據(jù)非常大,為了降低分段種子的數(shù)量,可以適當(dāng)提高 分段文件數(shù)據(jù)長度。步驟102~步驟103:當(dāng)獲取的文件數(shù)據(jù)大小等于所述分段文件數(shù)據(jù)長 度時(shí),創(chuàng)建針對該已獲取文件數(shù)據(jù)的種子,并將所述種子發(fā)布到網(wǎng)絡(luò)側(cè)。數(shù)據(jù)發(fā)布方期望將完整的文件數(shù)據(jù)發(fā)布到網(wǎng)絡(luò)側(cè)。由于網(wǎng)絡(luò)下載速度等 原因,如果等待數(shù)據(jù)發(fā)布方獲取完整的文件數(shù)據(jù)后再發(fā)布種子文件,這將降 低數(shù)據(jù)發(fā)布方和數(shù)據(jù)接收方的速度。因此,只要數(shù)據(jù)發(fā)布方獲取到了分段文 件數(shù)據(jù)長度的數(shù)據(jù)文件,就應(yīng)當(dāng)允許數(shù)據(jù)發(fā)布方創(chuàng)建針對該已獲取文件數(shù)據(jù) 的種子。比如,假設(shè)整體文件大小為215兆(M),預(yù)先設(shè)置的分段文件數(shù) 據(jù)長度為10M,那么只要數(shù)據(jù)發(fā)布方接收到IOM的數(shù)據(jù)后,就發(fā)布針對該 10M數(shù)據(jù)的種子并提供到網(wǎng)絡(luò)側(cè)。具體地,數(shù)據(jù)發(fā)布方每次接收到10M的 數(shù)據(jù)后,就發(fā)布針對該10M數(shù)據(jù)的種子并提供到網(wǎng)絡(luò)側(cè),直到最后將所有 的數(shù)據(jù)種子提供到網(wǎng)絡(luò)側(cè),數(shù)據(jù)發(fā)布方創(chuàng)建與發(fā)布種子的過程可以和客戶端 下載文件數(shù)據(jù)的過程同步進(jìn)行,從而能夠顯著提高獲取數(shù)據(jù)的速度,降低分 享的時(shí)間,增強(qiáng)用戶體驗(yàn)。在步驟102中,創(chuàng)建針對已獲取文件數(shù)據(jù)的種子可以包括首先對已獲 取文件數(shù)據(jù)進(jìn)行分塊,然后分別針對各個分塊文件數(shù)據(jù)生成哈希(HASH) 值;再根據(jù)生成的各個哈希值構(gòu)建所述針對該已獲取文件數(shù)據(jù)的種子。種子 文件中還可以包括數(shù)據(jù)文件整體大小、分塊數(shù)目等目前常見信息。另外,當(dāng)還沒有獲取的剩余文件數(shù)據(jù)大小小于分段文件數(shù)據(jù)長度時(shí),數(shù) 據(jù)發(fā)布方繼續(xù)獲取剩余文件數(shù)據(jù),并創(chuàng)建針對該剩余文件數(shù)據(jù)的種子,再將 剩余文件數(shù)據(jù)的種子發(fā)布到網(wǎng)絡(luò)側(cè)。比如,承接上例,假設(shè)整體文件大小為 215兆(M),經(jīng)過21次的發(fā)布種子,此時(shí)沒有創(chuàng)建種子的剩余文件大小為 5M,由于剩余文件數(shù)據(jù)大小(5M)小于分段文件數(shù)據(jù)長度(10M),此時(shí) 數(shù)據(jù)發(fā)布方繼續(xù)獲取該5M大小的剩余文件數(shù)據(jù),并直接創(chuàng)建針對該剩余文 件數(shù)據(jù)的種子,并發(fā)布到網(wǎng)絡(luò)側(cè),從而完整地將215兆文件制成種子并發(fā)布到網(wǎng)絡(luò)側(cè)。
至此,完成了對等連接網(wǎng)絡(luò)中的種子創(chuàng)建流程,從而可以實(shí)現(xiàn)當(dāng)數(shù)據(jù)發(fā) 布方獲取的原始數(shù)據(jù)到達(dá)一定的大小即可創(chuàng)建種子。
下面描述客戶端下載根據(jù)步驟101 ~步驟103所創(chuàng)建的種子,并執(zhí)行文 件下載的流程。
步驟104:客戶端從網(wǎng)絡(luò)側(cè)獲取所述種子,并根據(jù)所述種子下載校驗(yàn)該 已獲取文件數(shù)據(jù)。
首先,客戶端從網(wǎng)絡(luò)側(cè)獲取種子,然后根據(jù)該種子下載文件數(shù)據(jù)。由于
數(shù)據(jù)),因此該種子文件描述的是部分的文件信息??蛻舳烁鶕?jù)該種子判斷 是否能夠校驗(yàn)下載的數(shù)據(jù),如果可以則執(zhí)行校驗(yàn),如果不行則客戶端從網(wǎng)絡(luò) 側(cè)獲取另一個分段種子。比如,客戶端可以根據(jù)種子文件中的塊信息來決定 是否能夠執(zhí)行校驗(yàn)。在現(xiàn)有技術(shù)中,塊信息通常是完整的。在本發(fā)明實(shí)施例 中,根據(jù)約定,種子文件中的塊信息可以為全0、全1、 1與0間隔排列等 各種形式。客戶端獲取種子文件后,如果發(fā)現(xiàn)塊信息為約定的形式,則了解 到該種子文件對應(yīng)的下載文件不完整,因此將從網(wǎng)絡(luò)側(cè)去獲取另一個種子。 比如,假設(shè)約定塊信息為全O時(shí)表示該種子文件對應(yīng)的下載文件不完整,則 當(dāng)客戶端發(fā)現(xiàn)塊信息全O時(shí),從網(wǎng)絡(luò)側(cè)獲取另一個種子。
本發(fā)明實(shí)施例還提出了 一種對等連接網(wǎng)絡(luò)中的文件下載系統(tǒng)。 圖2為根據(jù)本發(fā)明實(shí)施例的對等連接網(wǎng)絡(luò)中的文件下載系統(tǒng)結(jié)構(gòu)圖。 如圖2所示,該系統(tǒng)包括第一客戶端201、第二客戶端202和種子下載 服務(wù)器203。
第一客戶端201,用于當(dāng)獲取的文件數(shù)據(jù)大小等于預(yù)先設(shè)置的分段文件數(shù) 據(jù)長度時(shí),創(chuàng)建針對該已獲取文件數(shù)據(jù)的種子,并將所述種子發(fā)布到種子下載 服務(wù)器203;
種子下載服務(wù)器203,用于存儲種子;
第二客戶端202,用于從種子下載服務(wù)器203獲取種子,并根據(jù)所述種子下載校驗(yàn)該已獲取文件數(shù)據(jù)。
在具體實(shí)現(xiàn)中,種子下載服務(wù)器203可以與第一客戶端201集成在一起, 也可以與第二客戶端202集成在一起。種子下載服務(wù)器203還可以位于對等 網(wǎng)絡(luò)中的其它任意實(shí)體中,本發(fā)明實(shí)施例對此并無限定。
其中,具體地,第一客戶端201,用于對所述已獲取文件數(shù)據(jù)進(jìn)行分塊, 分別針對各個分塊文件數(shù)據(jù)生成哈希值,并根據(jù)生成的各個哈希值構(gòu)建所述 針對該已獲取文件數(shù)據(jù)的種子。
進(jìn)一步地,第一客戶端201,用于當(dāng)還沒有獲取的剩余文件數(shù)據(jù)大小小 于所述分段文件數(shù)據(jù)長度時(shí),獲取所述剩余文件數(shù)據(jù),創(chuàng)建針對該剩余文件數(shù) 據(jù)的種子,并將所述剩余文件數(shù)據(jù)的種子發(fā)布到種子下載服務(wù)器203;
所述第二客戶端202,用于從種子下載服務(wù)器203獲取所述剩余文件數(shù) 據(jù)的種子,并根據(jù)所述剩余文件數(shù)據(jù)種子下載校驗(yàn)所述剩余文件數(shù)據(jù)。
綜上所述,在本發(fā)明實(shí)施例中,首先設(shè)置分段文件數(shù)據(jù)長度,然后當(dāng)獲 取的文件數(shù)據(jù)大小等于分段文件數(shù)據(jù)長度時(shí),創(chuàng)建針對該已獲取文件數(shù)據(jù)的 種子并將創(chuàng)建的種子發(fā)布到網(wǎng)絡(luò)側(cè),客戶端再從網(wǎng)絡(luò)側(cè)獲取種子,并根據(jù)種 子下載校驗(yàn)該已獲取文件數(shù)據(jù)。由此可見,應(yīng)用本發(fā)明實(shí)施例以后,當(dāng)獲取 的文件數(shù)據(jù)到達(dá)一定大小即可創(chuàng)建與上報(bào)種子,因此數(shù)據(jù)發(fā)布方能夠提高發(fā) 布種子文件的速度,而且數(shù)據(jù)接收方也能夠提高獲取數(shù)據(jù)的速度,并且能夠 降低分享時(shí)間,增強(qiáng)了用戶體驗(yàn)。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù) 范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等, 均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1. 一種對等連接網(wǎng)絡(luò)中的種子創(chuàng)建方法,其特征在于,該方法包括設(shè)置分段文件數(shù)據(jù)長度;當(dāng)獲取的文件數(shù)據(jù)大小等于所述分段文件數(shù)據(jù)長度時(shí),創(chuàng)建針對該已獲取文件數(shù)據(jù)的種子;將所述種子發(fā)布到網(wǎng)絡(luò)側(cè)。
2、 根據(jù)權(quán)利要求1所述的對等連接網(wǎng)絡(luò)中的種子創(chuàng)建方法,其特征在于, 所述創(chuàng)建針對已獲取文件數(shù)據(jù)的種子包括對所述已獲取文件數(shù)據(jù)進(jìn)行分塊; 分別針對各個分塊文件數(shù)據(jù)生成哈希HASH值; 根據(jù)生成的各個哈希值構(gòu)建所述針對該已獲取文件數(shù)據(jù)的種子。
3、 根據(jù)權(quán)利要求1或2所述的對等連接網(wǎng)絡(luò)中的種子創(chuàng)建方法,其特征在 于,該方法進(jìn)一步包括當(dāng)還沒有獲取的剩余文件數(shù)據(jù)大小小于所述分段文件數(shù)據(jù)長度時(shí),獲取所 述剩余文件數(shù)據(jù),并創(chuàng)建針對該剩余文件數(shù)據(jù)的種子; 將所述剩余文件數(shù)據(jù)的種子發(fā)布到網(wǎng)絡(luò)側(cè)。
4、 一種對等連接網(wǎng)絡(luò)中的文件下載方法,其特征在于,預(yù)先設(shè)置分段文件 數(shù)據(jù)長度,該方法還包括當(dāng)獲取的文件數(shù)據(jù)大小等于所述分段文件數(shù)據(jù)長度時(shí),創(chuàng)建針對該已獲取 文件數(shù)據(jù)的種子,并將所述種子發(fā)布到網(wǎng)絡(luò)側(cè);客戶端從網(wǎng)絡(luò)側(cè)獲取所述種子,并根據(jù)所述種子下載校驗(yàn)該已獲取文件數(shù)據(jù)。
5、 根據(jù)權(quán)利要求4所述的對等連接網(wǎng)絡(luò)中的文件下載方法,其特征在于, 所述創(chuàng)建針對已獲取文件數(shù)據(jù)的種子包括對所述已獲取文件數(shù)據(jù)進(jìn)行分塊;分別針對各個分塊文件數(shù)據(jù)生成哈希值;根據(jù)生成的各個哈希值構(gòu)建所述針對該已獲取文件數(shù)據(jù)的種子。
6、 根據(jù)權(quán)利要求4或5所述的對等連接網(wǎng)絡(luò)中的文件下載方法,其特征在 于,該方法進(jìn)一步包括當(dāng)還沒有獲取的剩余文件數(shù)據(jù)大小小于所述分段文件數(shù)據(jù)長度時(shí),獲取所 述剩余文件數(shù)據(jù),并創(chuàng)建針對該剩余文件數(shù)據(jù)的種子; 將所述剩余文件數(shù)據(jù)的種子發(fā)布到網(wǎng)絡(luò)側(cè);客戶端從網(wǎng)絡(luò)側(cè)獲取所述剩余文件數(shù)據(jù)的種子,并根據(jù)所述剩余文件數(shù)據(jù) 種子下載校驗(yàn)所述剩余文件數(shù)據(jù)。
7、 根據(jù)權(quán)利要求4或5所述的對等連接網(wǎng)絡(luò)中的文件下載方法,其特征在 于,該方法進(jìn)一步包括客戶端下載所述已獲取文件數(shù)據(jù)后,當(dāng)不能夠利用該種子沖t瞼文件數(shù)據(jù)時(shí), 從網(wǎng)絡(luò)側(cè)獲取另外的分段文件數(shù)據(jù)種子。
8、 一種對等連接網(wǎng)絡(luò)中的文件下載系統(tǒng),其特征在于,該系統(tǒng)包括第一客 戶端、第二客戶端和種子下載服務(wù)器,其中第一客戶端,用于當(dāng)獲取的文件數(shù)據(jù)大小等于預(yù)先設(shè)置的分段文件數(shù)據(jù)長 度時(shí),創(chuàng)建針對該已獲取文件數(shù)據(jù)的種子,并將所述種子發(fā)布到種子下載服務(wù) 器;種子下載服務(wù)器,用于存儲種子;第二客戶端,用于從種子下載服務(wù)器獲取種子,并根據(jù)所述種子下載校驗(yàn) 該已獲取文件數(shù)據(jù)。
9、 根據(jù)權(quán)利要求8所述的對等連接網(wǎng)絡(luò)中的文件下載系統(tǒng),其特征在于, 所述第一客戶端,用于對所述已獲取文件數(shù)據(jù)進(jìn)行分塊,分別針對各個分塊文件數(shù)據(jù)生成哈希值,并根據(jù)生成的各個哈希值構(gòu)建所述針對該已獲取文件 數(shù)據(jù)的種子。
10、 根據(jù)權(quán)利要求8或9所述的對等連接網(wǎng)絡(luò)中的文件下載系統(tǒng),其特征 在于,所述第一客戶端,用于當(dāng)還沒有獲取的剩余文件數(shù)據(jù)大小小于所述分段文件數(shù)據(jù)長度時(shí),獲取所述剩余文件數(shù)據(jù),創(chuàng)建針對該剩余文件數(shù)據(jù)的種子,并 將所述剩余文件數(shù)據(jù)的種子發(fā)布到種子下載服務(wù)器;所述第二客戶端,用于從種子下載服務(wù)器獲取所述剩余文件數(shù)據(jù)的種子, 并根據(jù)所述剩余文件數(shù)據(jù)種子下載校驗(yàn)所述剩余文件數(shù)據(jù)。
全文摘要
本發(fā)明實(shí)施例公開了對等連接網(wǎng)絡(luò)中的種子創(chuàng)建、文件下載方法和系統(tǒng)。包括設(shè)置分段文件數(shù)據(jù)長度;當(dāng)獲取的文件數(shù)據(jù)大小等于所述分段文件數(shù)據(jù)長度時(shí),創(chuàng)建針對該已獲取文件數(shù)據(jù)的種子;將所述種子發(fā)布到網(wǎng)絡(luò)側(cè);客戶端從網(wǎng)絡(luò)側(cè)獲取所述種子,并根據(jù)所述種子下載校驗(yàn)該已獲取文件數(shù)據(jù)。應(yīng)用本發(fā)明實(shí)施例以后,數(shù)據(jù)發(fā)布方能夠提高發(fā)布種子文件的速度,而且數(shù)據(jù)接收方也能夠提高獲取數(shù)據(jù)的速度,并且能夠降低分享的時(shí)間,增強(qiáng)用戶體驗(yàn)。
文檔編號H04L29/08GK101282363SQ20081009835
公開日2008年10月8日 申請日期2008年5月30日 優(yōu)先權(quán)日2008年5月30日
發(fā)明者華有為 申請人:騰訊科技(深圳)有限公司