專利名稱:用于下載點對點傳輸數(shù)據(jù)分片的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在通信網(wǎng)絡(luò)中的終端設(shè)備下載數(shù)據(jù)的方法和裝置,尤其 涉及基于點到點協(xié)議的終端設(shè)備從其對等終端設(shè)備處下載數(shù)據(jù)分片的 方法和裝置。
背景技術(shù):
流媒體技術(shù)是指用戶通過網(wǎng)絡(luò)或者特定數(shù)字信道邊下載邊播放 多媒體數(shù)據(jù)的工作方式,而傳統(tǒng)多媒體技術(shù)是客戶端從服務(wù)器下載 完整的文件后進行播放。流媒體技術(shù)采用了流式傳輸方式,將整個 多媒體文件壓縮解析成多個壓縮包,向客戶端順序傳送,用戶可以 一邊解壓播放前面?zhèn)魉瓦^來的壓縮包, 一邊下載后續(xù)的壓縮包,從 而節(jié)省了時間。隨著計算機技術(shù)的發(fā)展,流媒體技術(shù)越來越廣泛地
應(yīng)用于VoD (Video on demand )視頻點播,并達到空前的熱度。
隨著IPTV的VoD的發(fā)展,傳統(tǒng)的客戶/服務(wù)器模式的流媒體系 統(tǒng)暴露出很多問題,其一是實現(xiàn)流媒體系統(tǒng)的帶寬和服務(wù)器成本昂 貴,其二是能支持同時觀看的用戶數(shù)目有限,例如, 一個通常的帶 寬為100M的服務(wù)器只能承受300人同時觀看300kbps的視頻廣播, 而且隨著用戶數(shù)的增加會對服務(wù)器造成較大的沖擊,這容易引起服 務(wù)器故障,造成系統(tǒng)癱瘓。通過引入CDN ( Content delivery Network -內(nèi)容分發(fā)網(wǎng))技術(shù)可以緩解上述問題,其核心思想是將內(nèi)容從中 心推到邊緣靠近用戶的地方,這樣不但有效地提高了用戶訪問內(nèi)容 的服務(wù)質(zhì)量,而且還能減輕中心設(shè)備和骨干網(wǎng)絡(luò)的壓力。通過CDN 技術(shù),將內(nèi)容服務(wù)從原來的單一 中心服務(wù)結(jié)構(gòu)變?yōu)榉植际椒?wù)結(jié)構(gòu), 用戶在點擊節(jié)目的時候,從靠近用戶的邊緣服務(wù)器上就可以獲取所 需要的媒體內(nèi)容,用戶在快進,快退和拖拉等播放操作的時候,還是在同 一個服務(wù)器上獲取資源。但是CDN技術(shù)仍需要投入大量硬件 成本,隨著用戶數(shù)的增加,需要相應(yīng)投入更多的邊緣服務(wù)器和帶寬, 而且邊緣服務(wù)其與中心服務(wù)器的協(xié)調(diào)和維護,以及邊緣服務(wù)器的優(yōu) 化布點都是比較復(fù)雜的課題。
近年來,隨著P2P (Peer-to-Peer)技術(shù)的迅速發(fā)展,P2P在流媒 體方面的應(yīng)用也越來越多。利用P2P的對等特點,用戶節(jié)點作為客 戶端的同時,也協(xié)助服務(wù)器來分發(fā)流媒體內(nèi)容,以分擔(dān)服務(wù)器的負 擔(dān),同時增加了系統(tǒng)的可擴展性,使媒體數(shù)據(jù)的分布性增強。換句 話說,用戶節(jié)點肩負了客戶端和服務(wù)器的雙重使命。
作為P2P技術(shù)的一種應(yīng)用方向,P2P實時流媒體技術(shù)實現(xiàn)了用 戶在線觀看直播,具有非常良好的發(fā)展前景。實時流媒體傳輸處理 的是無限大小的媒體,客戶端播放的是臨時收到的媒體分塊。媒體 分塊從媒體源端發(fā)出到最后在客戶端播放器中播放出來會具有 一定 的延時,這包括媒體源端從獲得數(shù)據(jù)到發(fā)送出去的延遲,網(wǎng)絡(luò)傳輸 延遲以及客戶端從接收數(shù)據(jù)到在媒體播放器中播放出的延遲。實時 流媒體要求上述延時必須有上限要求,當(dāng)然越小越好,否則用戶會 看到過期的內(nèi)容。網(wǎng)絡(luò)上實時流媒體傳輸通常針對 一 些熱點問題, 用戶會大規(guī)模同時收看相同的內(nèi)容,實時流媒體分發(fā)的目標(biāo)在于實 現(xiàn)高流暢度,低延遲,此外還需注意的特性是系統(tǒng)的可擴展性,低 控制負荷、高容錯性和高網(wǎng)絡(luò)帶寬利用效率。
流媒體數(shù)據(jù)是以數(shù)據(jù)分片的方式進行分發(fā)的,如何對待下載數(shù) 據(jù)分片進行調(diào)度,也即為各待下載數(shù)據(jù)分片選擇合適的提供者(即 對等節(jié)點),以實現(xiàn)在一個高度分散、動態(tài)和異構(gòu)的P2P網(wǎng)絡(luò)中有 效下載流媒體數(shù)據(jù),以使得用戶獲得最優(yōu)的流媒體播放是目前P2P 實時流媒體分發(fā)面臨的主要挑戰(zhàn)之一 。
在現(xiàn)有技術(shù)中,通常用戶節(jié)點會按照數(shù)據(jù)分片的時間先后順序 進行下載,它會向多個可用的鄰居節(jié)點同時發(fā)出下載某數(shù)據(jù)分片的 請求,在完成此數(shù)據(jù)分片的下載后,再進行緊接著的下一數(shù)據(jù)分片 的下載?,F(xiàn)有的為待下載分片分配對等節(jié)點的調(diào)度方法有輪叫調(diào)度
(Round Robin Scheduling)算法就是以輪叫的方式依次將請求調(diào) 度不同的對等節(jié)點(此時假定本對等節(jié)點與其他對等節(jié)點的傳輸?shù)?性能是相同的),即每次調(diào)度執(zhí)行i = (i + 1) mod n,并選出第i 個對等節(jié)點以供該分片進行下載。算法的優(yōu)點是其簡潔性,它無需
記錄當(dāng)前所有連接的狀態(tài)。該方法的缺點是,其一,沒有考慮各個 節(jié)點之間的異構(gòu)性,也即本節(jié)點與各個不同的對等節(jié)點之間的連接 性能的差異性;其二,如由于網(wǎng)絡(luò)的動蕩或者對等節(jié)點出現(xiàn)問題, 導(dǎo)致某數(shù)據(jù)分片的下載具有很大延時甚至未能成功,造成后續(xù)數(shù)據(jù) 分片不能及時下載到,從而導(dǎo)致在用戶端播放的不連貫甚至停滯。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)的上述缺點,本發(fā)明提出了一種在基于點到點協(xié)
多次更新本終端設(shè)備與其多個對等終端設(shè)備之間的傳輸性能相關(guān)信息; 并在下載各個未下載數(shù)據(jù)分片時,根據(jù)當(dāng)時的性能相關(guān)信息,為各個未 下載數(shù)據(jù)分片選擇當(dāng)時最優(yōu)的對等終端設(shè)備進行下載。
根據(jù)本發(fā)明的第 一 個方面,提供了 一種在基于點對點傳輸協(xié)議的 終端設(shè)備中用于下載分片的方法,其中,該方法包括以下步驟多 次更新本終端設(shè)備與其多個對等終端設(shè)備之間的傳輸性能相關(guān)信 息;其中,還包括以下步驟i.從當(dāng)前多個未下載的分片中選擇一 個或多個分片作為一個或多個目標(biāo)下載分片,根據(jù)最近一次更新的 本終端設(shè)備與所述多個對等終端設(shè)備之間的傳輸性能相關(guān)信息,由 所述多個對等終端設(shè)備中為所述一個或多個目標(biāo)下載分片選擇各自 相應(yīng)的對等終端設(shè)備,以確定所述一個或多個目標(biāo)下載分片的最新 的對等終端選擇結(jié)果信息;ii.當(dāng)滿足預(yù)定條件時,重復(fù)步驟i,直至 所有所需的未下載分片下載完畢(也即當(dāng)前的下載隊列暫時為空); 還包括以下步驟基于一個或多個目標(biāo)下載分片的最新的對等終端 選擇結(jié)果信息下載所述各個目標(biāo)下載分片。
8根據(jù)本發(fā)明的第二個方面,提供了 一種在基于點對點傳輸協(xié)議的
終端設(shè)備中用于下載分片的下載裝置,其中,包括更新裝置,用 于多次更新本終端設(shè)備與其多個對等終端設(shè)備之間的傳輸性能相關(guān) 信息;還包括確定裝置,用于從當(dāng)前多個未下載的分片中選擇一 個或多個分片作為一個或多個目標(biāo)下載分片,根據(jù)最近一次更新的 本終端設(shè)備與所述多個對等終端設(shè)備之間的傳輸性能相關(guān)信息,按 照預(yù)定的下載所要達到的目的,由所述多個對等終端設(shè)備中為所述 一個或多個目標(biāo)下載分片選擇各自相應(yīng)的對等終端設(shè)備,以確定所 述一個或多個目標(biāo)下載分片的最新的對等終端選擇結(jié)果信息;判斷 裝置,當(dāng)滿足預(yù)定條件時,重復(fù)確定裝置所執(zhí)行的操作,直至所有 未下載分片下載完畢;還包括分片下載裝置,用于基于一個或多 個目標(biāo)下載分片的最新的對等終端選擇結(jié)果信息下載所述各個目標(biāo) 下載分片。
采用本發(fā)明提供的技術(shù)方案,能夠根據(jù)本終端設(shè)備與對等終端設(shè) 備之間傳輸性能的動態(tài)變化,優(yōu)選地,按照本終端設(shè)備中分片的優(yōu) 先級,為各個待傳輸?shù)臄?shù)據(jù)分片擇傳輸當(dāng)時最合適的對等終端設(shè)備 進行下載。本方案實時地考慮各個終端設(shè)備之間由于異構(gòu)性導(dǎo)致的 傳輸性能差異,和由于網(wǎng)絡(luò)的動蕩或者對等節(jié)點出現(xiàn)問題導(dǎo)致的傳 輸失效或者恢復(fù),盡可能快地完成傳輸任務(wù)。
通過參照附圖閱讀以下所作的對非限制性實施例的詳細描述,本發(fā) 明的其它特征、目的和優(yōu)點將會變得更明顯。在附圖中,相同和相似 的附圖標(biāo)記代表相同或相似的裝置或方法步驟。
圖1是根據(jù)本發(fā)明一個具體實施例,終端設(shè)備從其對等終端設(shè)備處 下載分片的基于點到點傳輸?shù)木W(wǎng)絡(luò)邏輯拓樸示意圖2是根據(jù)本發(fā)明一個具體實施例,終端設(shè)備多次更新本終端設(shè)備 與其多個對等終端設(shè)備之間的傳輸性能相關(guān)信息,根據(jù)最新的傳輸性能 相關(guān)信息,為所述選定的目標(biāo)下載分片選擇相應(yīng)的對等終端設(shè)備,并按該選擇結(jié)果下載目標(biāo)下載分片的系統(tǒng)方法的流程圖3為根據(jù)本發(fā)明的一個具體實施例的,按照初始的默認設(shè)置為分 片選擇對應(yīng)的對等終端設(shè)備的示意圖4為根據(jù)本發(fā)明的一個具體實施例的,按照檢測的下載速率,為 分片選擇對應(yīng)的對等終端設(shè)備的示意圖5是根據(jù)本發(fā)明一個具體實施例,為目標(biāo)傳輸分片確定能最 早將其傳輸完成的對等終端設(shè)備的算法的一個例子;
圖6是根據(jù)本發(fā)明一個具體實施例,在基于點到點協(xié)議的終端設(shè)備
中用于下栽點對點傳輸數(shù)據(jù)分片的下載裝置的結(jié)構(gòu)框圖。
具體實施例方式
下面將參照圖1至圖2,從系統(tǒng)方法的角度對本發(fā)明的多個具體實 施例進行詳述。
圖1是根據(jù)本發(fā)明一個具體實施例,終端設(shè)備從其對等終端設(shè)備處 下載分片的網(wǎng)絡(luò)邏輯拓樸示意圖。
圖2是根據(jù)本發(fā)明一個具體實施例,終端設(shè)備多次更新本終端設(shè)備 與其多個對等終端設(shè)備之間的傳輸性能相關(guān)信息,根據(jù)最新的傳輸性能
該選擇結(jié)果下載目標(biāo)下載分片的系統(tǒng)方法的流程圖。下面將參照附圖1 和附圖2,對本發(fā)明的方法進行詳述。 第一實施例
在本實施例中,我們假設(shè)終端設(shè)備1的所有的對等終端設(shè)備2、 3 和4均具有終端設(shè)備1所要下載的所有的分片。
情形一所有的分片均具有相同的下載優(yōu)先級,例如,所述分片可 以是文件的分片。由于文件分片只有在完整地組合成一個整體時才有意 義,缺少任何一個分片都不能使文件正常工作,所以各個分片具有相同 的優(yōu)先級。因此,在這種情形中,分片下載最優(yōu)的結(jié)果是從各個對等終 端設(shè)備文件分別下載的分片盡量早地同時下載完畢。
在本實施例中,終端設(shè)備1多次更新本終端設(shè)備1與它的對等終端設(shè)備2、對等終端設(shè)備3、對等終端設(shè)備4(為便于說明,我們以本終端 設(shè)備有3個對等終端設(shè)備為例進行說明,在實際應(yīng)用中,本終端設(shè)備的 對等終端設(shè)備的個數(shù)不僅限于此)之間的傳輸性能相關(guān)信息,根據(jù)最新 的傳輸性能相關(guān)信息,為所述選定的目標(biāo)下載分片選擇相應(yīng)的對等終端 設(shè)備,并按該選擇結(jié)果下載目標(biāo)下載分片。具體的流程如圖2所示。
首先,在終端設(shè)備l與其各個對等終端設(shè)備的連接的初始化時,首 先設(shè)定終端設(shè)備1與其各個對等終端設(shè)備2、對等終端設(shè)備3、對等終 端設(shè)備4之間的傳輸性能相同。所述傳輸性能包括終端設(shè)備1從其對等 終端設(shè)備2、對等終端設(shè)備3、對等終端設(shè)備4下載數(shù)據(jù)分片的下載速 率(即單位時間可以下載的分片的個數(shù))或終端設(shè)備1從向某一對等終 端設(shè)備發(fā)起請求到接收到來自該對等終端設(shè)備的分片的時間間隔,或者 可以用速率的倒數(shù)來描述,即下載每個分片所需要的時間(以下先從傳 輸性能為下載速度的倒數(shù)角度進行相應(yīng)的描述)。
為了便于說明,我們將各個待下載的分片標(biāo)記為A、 B、 C、 D、 E、 F、 G、 H、 I、 J,為IO個待下載分片。其中不同的字母并不代表先后次序 或優(yōu)先級的次序,僅是為了指代方便。在實際系統(tǒng)中,未下載分片的數(shù) 量通常是十分巨大的,終端設(shè)備一般從大量的未下載分片中每次選取一 定數(shù)量的分片作為其目前的目標(biāo)下載分片,在短時間內(nèi)對這若干待下載 分片進行下載,并根據(jù)這些下載分片的一部分或全部的下載完成情況, 將剩余的未下載分片中部分分片作為目標(biāo)下載分片并進行逐步下載完 所有分片。
O.l個分片(對應(yīng)的倒數(shù)為每個分片需要10秒),然后按照該速率為調(diào) 度池中的分片資源進行調(diào)度,以選擇所對應(yīng)的對等終端設(shè)備。如圖3所
所以終端設(shè)備1為每個對等終端設(shè)備分配個數(shù)相近(或相同個數(shù))的分 片進行下載。也即,分片A、 D、 G、 J分配給對等終端設(shè)備2,將B、 E、 H分配給對等終端設(shè)備3,將C、 F、 I分配給對等終端設(shè)備4。此時,能 夠近似地保證終端設(shè)備1從對等終端設(shè)備2、對等終端設(shè)備3、對等終端設(shè)備4分別下載的分片同時下載完畢。
而后,在步驟S30中,本終端設(shè)備將根據(jù)上述各個分片的對等終端 設(shè)備的選擇,從各個對應(yīng)的對等終端設(shè)備處按照隊列的從頭到尾的順序 下載各個目標(biāo)下載分片。我們認為在同一時間,本終端設(shè)備l從一個對 等終端設(shè)備處只能下載一個目標(biāo)下載分片。也即,從對等節(jié)點2處下載 分片A,從對等節(jié)點3處下載分片B,從對等節(jié)點4處下載分片D。
優(yōu)選的,步驟S30可以細化為步驟S301和步驟S302。即在步驟S301 中,本終端設(shè)備l首先為當(dāng)前需要下載的一個或多個目標(biāo)下載分片向
為其選擇的對等終端設(shè)備發(fā)送下載請求。
而后在步驟S302中,本終端設(shè)備1分別接收來自為所述一個或多
個目標(biāo)下載分片所選擇的對等終端設(shè)備的分片。
在下載數(shù)據(jù)分片的同時,終端設(shè)備根據(jù)數(shù)據(jù)分片的下載情況, 更新終端設(shè)備與各個對等終端設(shè)備的下載速率。
在步驟S101中,終端設(shè)備1檢測一個或多個目標(biāo)下載分片的從
為其選擇的對等終端設(shè)備處下載的下載速度。
然后,在步驟S102中,終端設(shè)備1根據(jù)步驟S101中檢測到一個
或多個目標(biāo)下載分片的從為其選擇的對等終端設(shè)備處下載的下載速 度,確定本終端設(shè)備與上述一個或多個目標(biāo)下載分片的為其選擇的 終端設(shè)備之間的傳輸性能相關(guān)信息。
優(yōu)選的,步驟S101中,終端設(shè)備1可以在每次從其一個對等終 端設(shè)備處下載數(shù)據(jù)分片后,根據(jù)該次下載速率更新本終端設(shè)備1與 該對等終端設(shè)備之間的數(shù)據(jù)分片下載速率;也可以在滿足預(yù)定條件 時,才根據(jù)當(dāng)次下載速率更新本終端設(shè)備1與該對等終端設(shè)備之間 的數(shù)據(jù)分片下載速率。其中,所述的預(yù)定條件包括
a) 上一次數(shù)據(jù)分片下載速率更新的時間與當(dāng)前時間的間隔達 到一定閾值。即可以為下載設(shè)一個定時器,每次定時器到期都重新 啟動下載;
b) 從該對等終端設(shè)備下載的數(shù)據(jù)分片的數(shù)量達到一定閾值。 例如,如圖4所示,假設(shè)每隔10秒,終端設(shè)備1均會更新與各
12個對等終端設(shè)備之前的下載速度。終端設(shè)備1檢測到了與對等終端
設(shè)備2之間的下載速率為每個分片5秒,即10秒內(nèi)終端設(shè)備1已經(jīng) 從對等終端設(shè)備處下載了分片A和分片D;終端設(shè)備l檢測到了與 對等終端設(shè)備3之間的下載速率為每個分片5秒,即此時終端設(shè)備1 已經(jīng)從對等終端設(shè)備3處下載了分片B和分片E;而終端設(shè)備1檢 測到了與對等終端設(shè)備4之間的下載速率仍為每個分片10秒,即此 時終端設(shè)備l已經(jīng)從對等終端設(shè)備處下載了分片C。
由于從各個對等終端設(shè)備下載數(shù)據(jù)分片的下載過程是一個多次 發(fā)生的過程,則根據(jù)上述多次下載過程檢測并更新本終端設(shè)備1與該 對等終端設(shè)備之間的數(shù)據(jù)分片下載速率也是 一 個多次發(fā)生的過程。
在檢測并更新本終端設(shè)備與各個對等終端設(shè)備之間的傳輸性能
相關(guān)信息的同時,在步驟S20中,首先終端設(shè)備根據(jù)之前的分片下載完成情況,從當(dāng)前多個未下載分片中選擇一個或多個分片作為一
個或多個目標(biāo)下載分片,然后根據(jù)最近檢測并更新的本終端設(shè)備1 與各個對等終端設(shè)備之間的數(shù)據(jù)分片下載速率,終端設(shè)備1按預(yù)定
規(guī)則i將目標(biāo)下載分片分配到各個對等終端上,以保證終端設(shè)備l從 對等終端設(shè)備2、對等終端設(shè)備3、對等終端設(shè)備4分別下載的目標(biāo)下 載分片同時下載完畢。其中預(yù)定規(guī)則i包括
對于所有對等設(shè)備和所有目標(biāo)下載分片,從某個對等終端設(shè)備 下載的目標(biāo)下載分片的數(shù)量與本終端設(shè)備到該對等終端設(shè)備下載的 下載速率成正比(或近似成正比)。此時,為每個對等終端設(shè)備分 配與其下載速度近似成正比的個數(shù)的分片(也即下載任務(wù)),能夠 保證(或近似地保證)終端設(shè)備1從對等終端設(shè)備2、對等終端設(shè)備3、 對等終端設(shè)備4分別下載的分片同時下載完畢。
也即,因為在當(dāng)前時刻檢測的終端設(shè)備1與對等終端設(shè)備2、 3的 下載速度均為每個分片5秒,是對等終端設(shè)備4的2倍,所以為對等終 端設(shè)備2和3均分配相同的分片下載任務(wù),且為對等終端設(shè)備4的2倍。 也即,先將定時器到期時的前一次分片選擇對等終端設(shè)備的結(jié)果清空, 然后,重新按照更新的下載性能信息(此處為下載速度)為分片選擇對應(yīng)的對等終端設(shè)備進行下載。此時,分片A、 B、 C、 D、 E已下載完畢, 即從調(diào)度的隊列中移出,從分片F(xiàn)開始進行分配。此時,將分片F(xiàn)、 G、 L、 0分配給對等終端設(shè)備2,將分片H、 I、 M、 N分配給對等終端設(shè)備3, 將J、 K分配給對等終端設(shè)備4進行下載。
上述過程的目的在于以實時變化的本終端設(shè)備與各個對等終端 設(shè)備之間的傳輸性能,多次更新未傳輸?shù)臄?shù)據(jù)分片的對等終端設(shè)備 選擇結(jié)果,使得其中該選擇結(jié)果對于當(dāng)時待傳輸?shù)臄?shù)據(jù)分片在選擇 當(dāng)時是最優(yōu)的傳輸方案。上述過程多次重復(fù)進行,直至所有未下載 分片下載完畢。其中重復(fù)的時間間隔根據(jù)預(yù)定條件判斷,優(yōu)選的, 預(yù)定條件包括
-自 一 個或多個目標(biāo)下載分片的最新對等終端選擇結(jié)果信息確 定后,已經(jīng)經(jīng)過了預(yù)定長度的時間;
-所述一個或多個目標(biāo)下載分片下載完畢,需要重新選取目標(biāo)下 載分片并進行下載。
在上述為未傳輸分片選擇最優(yōu)對等終端設(shè)備的同時,本終端設(shè) 備在步驟S30中為各個目標(biāo)下載分片進行下載時,均按照當(dāng)時最近更新 的該數(shù)據(jù)分片的對等終端設(shè)備選擇結(jié)果下載。
以上詳細說明了所有待傳輸?shù)姆制环窒螺d優(yōu)先級的情況,下 面將詳細說明待傳輸分片具有不同的下載優(yōu)先級的情況。
情形二各個分片均具有不同的下載優(yōu)先級,例如,所述分片可 以是流媒體中的音視頻數(shù)據(jù)分片,且假設(shè)終端設(shè)備1的所有的對等終端 設(shè)備2、 3和4均具有終端設(shè)備1所要下載的所有的分片。流媒體數(shù)據(jù) 分片的播放時間越接近當(dāng)前時間的,為了保證播放的連續(xù)性,本終端設(shè) 備對該分片的需求就越強烈,因此該分片相比播放時間相差較遠的分片 就具有更高的下載優(yōu)先級。因此,在這種情形中,分片下載最優(yōu)的結(jié)果 是當(dāng)前所有分片中,下載優(yōu)先級越高的越早下載完畢。在實際系統(tǒng)中, 未下載分片的數(shù)量通常是十分巨大的,終端設(shè)備一般從大量的未下載分 片中每次選取一定數(shù)量的分片作為其目前的目標(biāo)下載分片,在短時間內(nèi)對這若干待下載分片進行下載,并根據(jù)這些下載分片的完成情況,將剩 余的未下栽分片中部分分片作為目標(biāo)下載分片并進行逐步下載直至下 載完所有分片。
在這種情況下,本終端設(shè)備所進行的操作與上述情形 一有相似之處。
首先,在終端設(shè)備1與其各個對等終端設(shè)備的連接的初始化時,
首先設(shè)定終端設(shè)備1與其各個對等終端設(shè)備2、對等終端設(shè)備3、對等 終端設(shè)備4之間的傳輸性能相同。
為了便于說明,我們將各個待下載的分片標(biāo)記為1、 2、 3、 4、 5、 6、 7、 8、 9、 10,為IO個待下載分片。注意,其中數(shù)字從小到大代表
下載的先后次序或優(yōu)先級的次序。
因為初始化時默認的各個對等終端設(shè)備與本終端設(shè)備之間的傳輸 性能相同,所以終端設(shè)備1按照優(yōu)先級順序?qū)⒏鱾€分片分配給不同的對 等終端設(shè)備。也即,將分片1分配給對等終端設(shè)備2,將分片2分配給 對等終端設(shè)備3,將分片3分配給對等終端設(shè)備4,該三個分片默認同 時下載完畢。終端設(shè)備l又將其后的分片4分配給終端設(shè)備2,將分片 5分配給對等終端設(shè)備3,將分片6分配給對等終端設(shè)備4。依次類推, 直至分配完所有的數(shù)據(jù)分片到所對應(yīng)的對等終端設(shè)備。此時,能夠近似 的保證各個分片按照其不同的優(yōu)先級順序依次下載完畢。
而后,本終端設(shè)備1將根據(jù)上述目標(biāo)下載分片的對等終端設(shè)備的 選擇,在步驟S30進行下載。
在下載數(shù)據(jù)分片的同時,終端設(shè)備與上述情形一類似的,多次 在步驟SIOI中,檢測下載分片的從為其選擇的對等終端設(shè)備處下載 的下載速度。而后在步驟S102中,根據(jù)下載數(shù)據(jù)分片速率更新本終 端設(shè)備1與該對等終端設(shè)備之間的數(shù)據(jù)分片下載速率。
在檢測并更新本終端設(shè)備與各個對等終端設(shè)備之間的傳輸性能 相關(guān)信息的同時,終端設(shè)備多次在步驟S20中,首先根據(jù)之前的下 載分片下載完成情況,從當(dāng)前多個未下載分片中選擇一個或多個分 片作為 一 個或多個目標(biāo)下載分片,然后根據(jù)最近檢測并更新的本終
15端設(shè)備1與各個對等終端設(shè)備之間的數(shù)據(jù)分片下載速率,終端設(shè)備1 按預(yù)定規(guī)則ii將目標(biāo)下載分片分配到各個對等終端上,以保證終端設(shè) 備l中未下載的優(yōu)先級越高的目標(biāo)下載分片越早下載完成。
其中,所述預(yù)定規(guī)則ii包括
按照各個分片預(yù)定的下載優(yōu)先級,依次為各個目標(biāo)下載分片確 定一個能最早將該分片傳輸?shù)奖窘K端設(shè)備1的對等終端設(shè)備,并將 該最早完成該分片傳輸?shù)膶Φ仍O(shè)備分配給該分片以下載。該分片由 本終端設(shè)備1與其到該對等終端設(shè)備間建立的連接所傳輸。
優(yōu)選的,該確定過程根據(jù)當(dāng)前本終端設(shè)備1與其所有對等設(shè)備 之間的連4妾的可用時間(available time ),及各條連接的下載速率。 其中,所述連接的可用時間為該連接正在傳輸?shù)姆制念A(yù)測完成時 間,若該連接當(dāng)前沒有傳輸任何分片,則其可用時間為當(dāng)前時間; 所述下載速率為本終端設(shè)備從該連接對應(yīng)的對等設(shè)備下載分片的速 率。以下將描述該確定過程的流程
對當(dāng)前所有可用連接,計算該分片經(jīng)各條連接傳輸?shù)奖窘K端設(shè) 備1的耗時;并估算當(dāng)前各條連接的可用時間。然后,將各條連接 的可用時間與其對應(yīng)的傳輸本分片的傳輸耗時相加,得到該分片經(jīng)
;成時間最早的所:應(yīng)的對等設(shè)備就是所尋找的;能i早將該分片
傳輸?shù)奖窘K端設(shè)備1的對等終端設(shè)備。而后,由于該對等終端設(shè)備 及該連接已被分配給該分片,則將該最早預(yù)測完成時間作為該連接 的新的可用時間,以便使用同樣的方法,為下一個分片尋找最早將 下一個分片傳輸?shù)奖窘K端設(shè)備的對等終端設(shè)備,直至為所有的分片 都找到其對應(yīng)的能將其最早傳輸完畢的對等終端設(shè)備。
圖5示例了該算法過程的一個例子,其中當(dāng)前時間以0ms記。 本終端設(shè)備的對等終端設(shè)備2、 3和4與本終端設(shè)備連接的可用時間 分別為50ms、 40ms和50ms,目標(biāo)傳輸分片從該三個對等終端設(shè)備 處下載所需的時間分別為60ms、 50ms和50ms,則該目標(biāo)傳輸分片 的預(yù)測完成時間分別為110ms、 90ms和100ms。其中預(yù)測完成時間
16最短的90ms所對應(yīng)的對等終端設(shè)備3被選擇為該目標(biāo)傳輸分片的下 載源,同時對等終端設(shè)備3與本終端設(shè)備之間連接的可用時間將更 新為90ms。
上述過程的目的是根據(jù)實時變化的本終端設(shè)備與各個對等終端 設(shè)備之間的傳輸性能,多次更新未傳輸?shù)臄?shù)據(jù)分片的對等終端設(shè)備 選擇結(jié)果,使得其中該選擇結(jié)果對于當(dāng)時待傳輸?shù)臄?shù)據(jù)分片在選擇 當(dāng)時是最優(yōu)的傳輸方案。上述過程多次重復(fù)進行,直至所有未下載 分片下載完畢。
在上述為未傳輸分片選擇最優(yōu)對等終端設(shè)備的同時,本終端設(shè) 備在步驟S30中為各個目標(biāo)下載分片進行下載時,均按照下載當(dāng)時最近 更新的該數(shù)據(jù)分片的對等終端設(shè)備選擇結(jié)果下載。
作為上述實施例的變形,在步驟SIO中,終端設(shè)備l多次向其各 個對等終端設(shè)備發(fā)送ping包及接收響應(yīng)的時間,更新本終端設(shè)備與 各個對等終端設(shè)備之間的數(shù)據(jù)分片下載速率。該多次發(fā)送ping包及 接收響應(yīng)之間可以由終端設(shè)備1按一定規(guī)則進行。所述的一定規(guī)則 包括
—周期性地發(fā)送ping包及接收響應(yīng)。 由于終端設(shè)備1多次向其各個對等終端設(shè)備發(fā)送ping包及接收 響應(yīng)是一個多次發(fā)生的過程,則根據(jù)上述多次發(fā)送ping包及接收響 應(yīng)的過程更新本終端設(shè)備1與各個對等終端設(shè)備之間的數(shù)據(jù)分片下 載速率也是一個多次發(fā)生的過程。
以上實施例認為終端設(shè)備1的所有的對等終端設(shè)備2、 3和4均具 有終端設(shè)備1所要下載的所有的分片。
第二實施例
作為上述實施例的變形,終端設(shè)備1的對等終端設(shè)備2、 3和4并 不都具有終端設(shè)備1所要下載的所有的分片,即各個對等終端設(shè)備中可 能含有終端設(shè)備1所要下載的所有的分片中的一部分。情形三
終端設(shè)備1所要下載的目標(biāo)下載分片均具有相同的下載優(yōu)先級。 在終端設(shè)備l與其各個對等終端設(shè)備的連接的初始化時,首先設(shè)定終端
設(shè)備1與其各個對等終端設(shè)備2、對等終端設(shè)備3、對等終端設(shè)備4之 間的傳輸性能相同。在為各個下載優(yōu)先級相同的目標(biāo)下載分片選擇對 等終端設(shè)備下載源時,優(yōu)先對擁有該數(shù)據(jù)分片的對等終端設(shè)備數(shù)量最少 的數(shù)據(jù)分片進行分配,以此決定各個分片分配優(yōu)先級。而后根據(jù)分配 優(yōu)先級,依次為各個數(shù)據(jù)分片確定一個能最早將該分片傳輸?shù)奖窘K 端設(shè)備的對等終端設(shè)備,并將該最早完成該分片傳輸?shù)膶Φ仍O(shè)備分 配給該分片以下載。該分片由本終端設(shè)備與其到該對等終端設(shè)備間 建立的連接所傳輸。
優(yōu)選的,該確定過程根據(jù)當(dāng)前本終端設(shè)備與其所有對等設(shè)備之 間的連接的可用時間。所述連接的可用時間為該連接正在傳輸?shù)姆?片的預(yù)測完成時間,若該連接當(dāng)前沒有傳輸任何分片,則其可用時 間為當(dāng)前時間。以下將描述該確定過程的流程
對各條可傳輸該分片的連接(即擁有該分片的各個對等終端設(shè) 備與本終端設(shè)備之間的連接),計算該分片經(jīng)各條連接傳輸?shù)奖窘K
端設(shè)備的耗時,由于終端設(shè)備l與其各個對等終端設(shè)備2、對等終端設(shè) 備3、對等終端設(shè)備4之間的傳輸性能相同,則傳輸所有數(shù)據(jù)分片的 耗時相同;并估算當(dāng)前各條連接的可用時間。然后,將各條連接的 可用時間與其對應(yīng)的傳輸本分片的傳輸耗時相加,得到該分片經(jīng)各
成時間最早的所對應(yīng)的對等設(shè)備就是所尋找的能最早將該分片傳輸 到本終端設(shè)備的對等終端設(shè)備。而后,由于該對等終端設(shè)備及該連
接已被分配給該分片,則將該最早預(yù)測完成時間作為該連接的新的 可用時間,以便使用同樣的方法,為下一個分片尋找最早將下一個 分片傳輸?shù)奖窘K端設(shè)備的對等終端設(shè)備,直至為所有的分片都找到 其對應(yīng)的能將其最早傳輸完畢的對等終端設(shè)備。
在為所有目標(biāo)下載分片確定其對等終端設(shè)備后,由于具有不同分配優(yōu)先級各個分片本身不具有下載優(yōu)先級,則在若干對應(yīng)于同一對 等終端設(shè)備的數(shù)據(jù)分片中沒有確定的傳輸?shù)捻樞颉?br>
在 一 個變化的實施例中,終端設(shè)備仍按照將各條連接的可用時 間與其對應(yīng)的傳輸本分片的傳輸耗時相加,得到該分片經(jīng)各條連接
從各個對等設(shè)備下載完成的預(yù)測完成時間,其中分片預(yù)測完成時間
最早的所對應(yīng)的對等設(shè)備就是所尋找的可能最早將該分片傳輸?shù)奖?終端設(shè)備1的對等終端設(shè)備。若此時該最優(yōu)選的對等終端設(shè)備不具 備該分片的資源,則按分片預(yù)測完成時間從早到晚順序搜索剩余的 連接,直至找到具備該分片的對等終端設(shè)備,將其作為該分片建立 連接的對等終端設(shè)備。。
在步驟S30進行下載。
而后終端設(shè)備進行的操作與情形一中類似,在步驟S10中檢測 數(shù)據(jù)分片的傳輸情況并以此更新本終端設(shè)備與其各個對等終端設(shè)備 之間的傳輸性能信息。
同時,終端設(shè)備在步驟S40中,多次獲取所述多個對等終端設(shè) 備中每個對等終端設(shè)備的分片資源擁有信息,其中,所述多個對等
終端設(shè)備中每個對等終端設(shè)備的分片資源擁有信息包括該對等終端 設(shè)備所擁有的分片資源的情況。該分片資源擁有信息可以由本終端 設(shè)備向其各個對等終端設(shè)備查詢獲取,或者由各個終端設(shè)備向本終 端設(shè)備推送獲取,也可以由點對點傳輸?shù)目刂圃O(shè)備從對等終端設(shè)備 處查詢而后推送給本終端設(shè)備。
在檢測并更新本終端設(shè)備與各個對等終端設(shè)備之間的傳輸性能 相關(guān)信息和多次獲取所述多個對等終端設(shè)備中每個對等終端設(shè)備的 分片資源擁有信息的同時,在步驟S20中,終端設(shè)備首先根據(jù)之前 的分片下載完成情況,從當(dāng)前多個未下載分片中選擇一個或多個分 片作為 一 個或多個目標(biāo)下載分片,而后根據(jù)最近檢測并更新的本終 端設(shè)備1與各個對等終端設(shè)備之間的數(shù)據(jù)分片下載速率,以及各個 對等終端設(shè)備的分片資源擁有信息按預(yù)定規(guī)則i'將目標(biāo)下載分片分配到各個對等終端上,以保證終端設(shè)備1從對等終端設(shè)備2、對等終 端設(shè)備3、對等終端設(shè)備4分別下載的目標(biāo)下載分片同時下載完畢。
其中預(yù)定規(guī)則i'包括優(yōu)先對擁有該數(shù)據(jù)分片的對等終端設(shè)備數(shù) 量最少的數(shù)據(jù)分片進行分配,以此決定各個目標(biāo)下載分片的分配優(yōu)先 級。而后根據(jù)分配優(yōu)先級,依次為各個數(shù)據(jù)分片確定一個能最早將該 分片傳輸?shù)奖窘K端設(shè)備的對等終端設(shè)備,并將該最早完成該分片傳 輸?shù)膶Φ仍O(shè)備分配給該分片以下載。
上述確定對等終端設(shè)備的方法如下對各條可傳輸該分片的連
接(即擁有該分片的各個對等終端設(shè)備與本終端設(shè)備之間的連接),
計算該分片經(jīng)該各條連接傳輸?shù)奖窘K端設(shè)備的耗時;并估算當(dāng)前各
條連接的可用時間。然后,將各條連接的可用時間與其對應(yīng)的傳輸
本分片的傳輸耗時相加,得到該分片經(jīng)各條連接從各個對等設(shè)備下
載完成的預(yù)測完成時間,其中分片預(yù)測完成時間最早的所對應(yīng)的對
等設(shè)備就是所尋找的能最早將該分片傳輸?shù)奖窘K端設(shè)備的對等終端
設(shè)備。而后,由于該對等終端設(shè)備及該連接已一皮分配給該分片,則
將該最早預(yù)測完成時間作為該連接的新的可用時間,以使j吏用同樣
的方法,為下一個分片尋找最早將下一個分片傳輸?shù)奖窘K端設(shè)備的
對等終端設(shè)備,直至為所有的分片都找到其對應(yīng)的能將其最早傳輸 完畢的對等終端設(shè)備。
在上述為未傳輸分片選擇最優(yōu)對等終端設(shè)備的同時,本終端設(shè) 備和情形一類似,在步驟S30中為各個目標(biāo)下載分片進行下載時,均按 照下載當(dāng)時最近更新的該數(shù)據(jù)分片的對等終端設(shè)備選擇結(jié)果下載。
情形四
該情形下終端設(shè)備1所要下載的所有的分片均具有不相同的下載 優(yōu)先級。在終端設(shè)備l與其各個對等終端設(shè)備的連接的初始化時,首先 設(shè)定終端設(shè)備1與其各個對等終端設(shè)備2、對等終端設(shè)備3、對等終端 設(shè)備4之間的傳輸性能相同。在為各個下載優(yōu)先級不同的數(shù)據(jù)分片選擇 對等終端設(shè)備下載源時,優(yōu)先對下載優(yōu)先級高的(首要的考慮因素),而擁有該數(shù)據(jù)分片的對等終端設(shè)備數(shù)量最少的數(shù)據(jù)分片進行分配,以此 決定各個分片分配優(yōu)先級。而后根據(jù)分配優(yōu)先級,依次為各個數(shù)據(jù)分 片確定一個能最早將該分片傳輸?shù)奖窘K端設(shè)備的對等終端設(shè)備,并 將該最早完成該分片傳輸?shù)膶Φ仍O(shè)備分配給該分片以下載。該分片 由本終端設(shè)備與其到該對等終端設(shè)備間建立的連接所傳輸。
驟S30進行下載。
而后,終端設(shè)備進行的操作與情形三類似,在步驟S10中,多 次檢測并更新本終端設(shè)備與各個對等終端設(shè)備之間的傳輸性能相關(guān) 信息;在步驟S40中,多次獲取所述多個對等終端設(shè)備中每個對等 終端設(shè)備的分片資源擁有信息。
在檢測并更新本終端設(shè)備與各個對等終端設(shè)備之間的傳輸性能 相關(guān)信息和多次獲取所述多個對等終端設(shè)備中每個對等終端設(shè)備的 分片資源擁有信息的同時,在步驟S20中,終端設(shè)備首先根據(jù)之前 的分片下載完成情況,從當(dāng)前多個未下載分片中選擇一個或多個分 片作為 一 個或多個目標(biāo)下載分片,而后根據(jù)最近檢測并更新的本終 端設(shè)備1與各個對等終端設(shè)備之間的數(shù)據(jù)分片下載速率,以及各個 對等終端設(shè)備的分片資源擁有信息按預(yù)定規(guī)則ii'將目標(biāo)下載分片分 配到各個對等終端上,以保證終端設(shè)備1從對等終端設(shè)備2、對等終 端設(shè)備3、對等終端設(shè)備4分別下載的目標(biāo)下載分片同時下載完畢。
其中,所述預(yù)定規(guī)則ii'是按照各個分片預(yù)定的下載優(yōu)先級,以 及所述多個對等終端設(shè)備中每個對等終端設(shè)備的分片資源擁有信 息,依次為目標(biāo)下載分片確定一個能最早將該分片傳輸?shù)奖窘K端設(shè) 備的對等終端設(shè)備,并將該最早完成該分片傳輸?shù)膶Φ仍O(shè)備分配給 該分片以下載。
優(yōu)選的,該確定過程根據(jù)當(dāng)前本終端設(shè)備與擁有該數(shù)據(jù)分片的 各個對等設(shè)備之間的連接的可用時間,及各條連接的下載速率。其 中,所述連接的可用時間為該連接正在傳輸?shù)姆制念A(yù)測完成時間, 若該連接當(dāng)前沒有傳輸任何分片,則其可用時間為當(dāng)前時間;所述下載速率為本終端設(shè)備從該連接對應(yīng)的對等設(shè)備下載分片的速率。
以下將描述該確定過程的流程
對與該數(shù)據(jù)分片對應(yīng)的各條可用連接(即當(dāng)前本終端設(shè)備與擁 有該數(shù)據(jù)分片的各個對等設(shè)備之間的連接),計算該分片經(jīng)各條連 接傳輸?shù)奖窘K端設(shè)備的耗時;并估算當(dāng)前各條連接的可用時間。然 后,將各條連接的可用時間與其對應(yīng)的傳輸本分片的傳輸耗時相加, 得到該分片經(jīng)各條連接從各個對等設(shè)備下載完成的預(yù)測完成時間, 其中分片預(yù)測完成時間最早的所對應(yīng)的對等設(shè)備就是所尋找的能最 早將該分片傳輸?shù)奖窘K端設(shè)備的對等終端設(shè)備。而后,由于該對等 終端設(shè)備及該連接已被分配給該分片,則將該最早預(yù)測完成時間作 為該連接的新的可用時間,以便使用同樣的方法,為下一個分片尋 找最早將下一個分片傳輸?shù)奖窘K端設(shè)備的對等終端設(shè)備,直至為所 有的分片都找到其對應(yīng)的能將其最早傳輸完畢的對等終端設(shè)備。
在上述為未傳輸分片選擇最優(yōu)對等終端設(shè)備的同時,本終端設(shè)備 和情形一類似,在步驟S30中為各個目標(biāo)下載分片進行下載時,均按照 下載當(dāng)時最近更新的該數(shù)據(jù)分片的對等終端設(shè)備選擇結(jié)果下載。
以上兩個實施例及其變化例詳細說明了在多種分片傳輸和分片擁 有情況下,終端設(shè)備多次更新本終端設(shè)備與其多個對等終端設(shè)備之間的 傳輸性能相關(guān)信息,根據(jù)最新的傳輸性能相關(guān)信息和分片擁有信息,為 所述選定的目標(biāo)下載分片選擇相應(yīng)的對等終端設(shè)備,并按該選擇結(jié)果下 載目標(biāo)下載分片的系統(tǒng)方法。本領(lǐng)域的普通技術(shù)人員應(yīng)能理解,在數(shù)據(jù) 分片具有相同或不同下載優(yōu)先級,同時對等節(jié)點擁有或不完全擁有本終 端設(shè)備所需的全部數(shù)據(jù)分片的情況下,可用來為各個數(shù)據(jù)分片選擇對等 節(jié)點的算法是多種多樣的,不受本實施例中所詳述的算法例所限。
本領(lǐng)域的普通技術(shù)人員應(yīng)能理解本發(fā)明不限于第 一和第二實施例 所基于的圖1所示的基于點對點傳輸?shù)木W(wǎng)絡(luò)邏輯拓樸結(jié)構(gòu)和數(shù)據(jù)分片 數(shù)量,對于其他基于點對點傳輸?shù)木W(wǎng)絡(luò)邏輯拓樸結(jié)構(gòu)和數(shù)據(jù)分片的情 況,本發(fā)明的方法同樣適用。
圖6是根據(jù)本發(fā)明一個具體實施例,在基于點到點協(xié)議的終端設(shè)備中用于下栽點對點傳輸數(shù)據(jù)分片的下載裝置io的結(jié)構(gòu)框圖。該下載
裝置10包括更新裝置1000,也包括分片對等終端設(shè)備確定裝置101 和判斷裝置102,還包括分片下載裝置103。其中,更新裝置IOOO 進一步包括下載速度檢測裝置IOOO和傳輸性能相關(guān)信息確定裝置 1001。分片下載裝置103進一步包括下載請求發(fā)送裝置1030和分片 接收裝置1031。優(yōu)選的,下載裝置IO還包括分片資源擁有信息獲取 裝置104 (圖中未示出)。
下面將參照附圖2與圖6,對位于終端設(shè)備中的下載裝置10用于 從其對等終端設(shè)備下載分片的過程進行詳細說明。
第三實施例
在本實施例中,我們假設(shè)終端設(shè)備1的所有的對等終端設(shè)備2、 3 和4均具有終端設(shè)備1所要下載的所有的分片,同時所有的分片均具有 相同的下載優(yōu)先級。在這種情形中,分片下載最優(yōu)的結(jié)果是從各個對等 終端設(shè)備文件分別下載的分片同時下載完畢。
首先,在終端設(shè)備1與其各個對等終端設(shè)備的連接的初始化時, 首先設(shè)定終端設(shè)備1與其各個對等終端設(shè)備2、對等終端設(shè)備3、對等 終端設(shè)備4之間的傳輸性能相同。
終端設(shè)備1將當(dāng)前所有目標(biāo)下載分片平均分配給3個對等終端設(shè) 備,近似地保證終端設(shè)備1從對等終端設(shè)備2、對等終端設(shè)備3、對等 終端設(shè)備4分別下載的目標(biāo)下載分片同時下載完畢。
而后,分片下載裝置103將根據(jù)上述各個分片的對等終端設(shè)備選 擇,從各個對等終端設(shè)備處從先到后下載各個數(shù)據(jù)分片。我們認為在同
一時間,本終端設(shè)備從一個對等終端設(shè)備處只能下載一個數(shù)據(jù)分片。 優(yōu)選的,下載請求發(fā)送裝置1030將各個數(shù)據(jù)分片的下載請求發(fā)
送給該分片對應(yīng)的對等終端設(shè)備,同時分片接收裝置1031從各個對
等終端設(shè)備處接收其發(fā)送來的對應(yīng)的數(shù)據(jù)分片。
在下載數(shù)據(jù)分片的同時,更新裝置100多次更新本終端設(shè)備與
其多個對等終端設(shè)備之間的傳輸性能相關(guān)信息。
其中,下載速度檢測裝置IOOO檢測一個或多個目標(biāo)下載分片的從為其選擇的對等終端設(shè)備處下載的下載速度。
而后,傳輸性能相關(guān)信息確定裝置1001,用于根據(jù)下載速度檢 測裝置1000檢測出的上述 一 個或多個目標(biāo)下載分片的從為其選擇的
對等終端設(shè)備處下載的下載速度,確定本終端設(shè)備與上述一個或多 個目標(biāo)下載分片的為其選擇的終端設(shè)備之間的傳輸性能相關(guān)信息。
優(yōu)選的,更新裝置ioo可以在每次從其一個對等終端設(shè)備處下載 數(shù)據(jù)分片后,根據(jù)該次下載速率更新終端設(shè)備1與該對等終端設(shè)備
之間的數(shù)據(jù)分片下載速率;也可以在滿足預(yù)定條件時,才根據(jù)當(dāng)次 下載速率更新終端設(shè)備1與該對等終端設(shè)備之間的數(shù)據(jù)分片下載速 率。其中,所述的預(yù)定條件包括
-上一次數(shù)據(jù)分片下載速率更新的時間與當(dāng)前時間的間隔達到 一定閾值;
-從該對等終端設(shè)備下載的數(shù)據(jù)分片的數(shù)量達到 一 定閾值。 由于從各個對等終端設(shè)備下載數(shù)據(jù)分片的下載過程是一個多次 發(fā)生的過程,則根據(jù)上述更新裝置IOO檢測下載過程并更新終端設(shè)備 1與該對等終端設(shè)備之間的數(shù)據(jù)分片下載速率也是一個多次發(fā)生的 過程。
在更新裝置100檢測并更新本終端設(shè)備與各個對等終端設(shè)備之 間的傳輸性能相關(guān)信息的同時,分片對等終端設(shè)備確定裝置101首 先從未下載的數(shù)據(jù)分片中選取一個或多個作為目標(biāo)下載分片,而后 根據(jù)最近檢測并更新的終端設(shè)備1與各個對等終端設(shè)備之間的數(shù)據(jù) 分片下載速率,終端設(shè)備1按預(yù)定規(guī)則i將目標(biāo)下載分片分配到各個 對等終端上,以保證終端設(shè)備1從對等終端設(shè)備2、對等終端設(shè)備3、 對等終端設(shè)備4分別下載的目標(biāo)下載分片同時下載完畢。其中預(yù)定規(guī) 則i包括
對于所有對等設(shè)備和所有目標(biāo)下載分片,從某個對等終端設(shè)備 下載的目標(biāo)下載分片的數(shù)量與本終端設(shè)備到該對等終端設(shè)備下載的 下載速率成正比(或近似成正比)。此時,能夠保證(或近似地保證) 終端設(shè)備1從對等終端設(shè)備2、對等終端設(shè)備3、對等終端設(shè)備4分別
24分片對等終端設(shè)備確定裝置101用于根據(jù)實時變化的本終端設(shè)
備與各個對等終端設(shè)備之間的傳輸性能,多次更新目標(biāo)下載分片的 對等終端設(shè)備選擇結(jié)果,使得該選擇結(jié)果對于目標(biāo)下載分片在選擇
當(dāng)時是最優(yōu)的傳輸方案。分片對等終端設(shè)備確定裝置101多次重復(fù)
運行,直至所有未下載分片下載完畢。其中重復(fù)的時間間隔根據(jù)由
判斷裝置102根據(jù)預(yù)定條件判斷,優(yōu)選的,預(yù)定條件包括
-自 一個或多個目標(biāo)下載分片的最新對等終端選擇結(jié)果信息確 定后,已經(jīng)經(jīng)過了預(yù)定長度的時間;
-所述一個或多個目標(biāo)下載分片下載完畢,需要重新選取目標(biāo)下 載分片并進行下載。
在上述分片對等終端設(shè)備確定裝置101為目標(biāo)下載分片選擇最 優(yōu)對等終端設(shè)備的同時,分片下載裝置103為各個目標(biāo)下載分片進行 下載時,均按照下載當(dāng)時最近更新的該目標(biāo)下載分片的對等終端設(shè)備 選擇結(jié)果下載。
作為本實施例的一個變化例,終端設(shè)備待下載的各個分片具有不 同的下載優(yōu)先級。在這種情形中,分片下載最優(yōu)的結(jié)果是從各個對等終 端設(shè)備文件分別下載的分片同時下載完畢。
首先,在終端設(shè)備1與其各個對等終端設(shè)備的連接的初始化時, 首先設(shè)定終端設(shè)備1與其各個對等終端設(shè)備2、對等終端設(shè)備3、對等 終端設(shè)備4之間的傳輸性能相同。
為了便于說明,我們將各個待下載的分片標(biāo)記為1、 2、 3、 4、 5、 6、 7、 8、 9、 10,為IO個待下載分片。注意,其中數(shù)字從小到大代表 下載的先后次序或優(yōu)先級的次序。
因為默認的各個對等終端設(shè)備與本終端設(shè)備之間的傳輸性能相 同,所以終端設(shè)備1依優(yōu)先級順序?qū)⒏鱾€分片分配給不同的對等終端設(shè) 備。也即,將分片1分配給對等終端設(shè)備2,將分片2分配給對等終端 設(shè)備3,將分片3分配給對等終端設(shè)備4,該三個分片默認同時下載完 畢。終端設(shè)備l又將其后的分片4分配給終端設(shè)備2,將分片5分配給
25對等終端設(shè)備3,將分片6分配給對等終端設(shè)備4。依次類推,直至分 配完所有的數(shù)據(jù)分片到所對應(yīng)的對等終端設(shè)備。此時,能夠近似的保證 各個分片按照其不同的優(yōu)先級順序依次下載完畢。
而后,分片下載裝置103將根據(jù)上述各個分片的對等終端設(shè)備選 擇進行下栽。
在下栽數(shù)據(jù)分片的同時,更新裝置100多次更新本終端設(shè)備與 其多個對等終端設(shè)備之間的傳輸性能相關(guān)信息。
在檢測并更新本終端設(shè)備與各個對等終端設(shè)備之間的傳輸性能 相關(guān)信息的同時,分片對等終端設(shè)備確定裝置101從未下載的數(shù)據(jù) 分片中選取一個或多個作為目標(biāo)下載分片,然后根據(jù)最近檢測并更 新的終端設(shè)備1與各個對等終端設(shè)備之間的數(shù)據(jù)分片下載速率,終 端設(shè)備按預(yù)定規(guī)則ii將目標(biāo)下載分片分配到各個對等終端上,以保 證終端設(shè)備1中目標(biāo)下載分片的優(yōu)先級越高的數(shù)據(jù)分片越早下載完成。 分片對等終端設(shè)備確定裝置101多次重復(fù)運行,直至所有未下載分 片下載完畢。其中重復(fù)的時間間隔根據(jù)由判斷裝置102
其中,所述預(yù)定規(guī)則ii包括
按照各個目標(biāo)下載分片預(yù)定的下載優(yōu)先級,依次為各個數(shù)據(jù)分片 確定一個能最早將該分片傳輸?shù)奖窘K端設(shè)備的對等終端設(shè)備,并將 該最早完成該分片傳輸?shù)膶Φ仍O(shè)備分配給該分片以下載。該分片由 本終端設(shè)備與其到該對等終端設(shè)備間建立的連接所傳輸。
優(yōu)選的,該確定過程根據(jù)當(dāng)前本終端設(shè)備與其所有對等設(shè)備之 間的連接的可用時間,及各條連接的下載速率。其中,所述連接的 可用時間為該連接正在傳輸?shù)姆制念A(yù)測完成時間,若該連接當(dāng)前 沒有傳輸任何分片,則其可用時間為當(dāng)前時間;所述下載速率為本 終端設(shè)備從該連接對應(yīng)的對等設(shè)備下載分片的速率。以下將描述該 確定過程的流程
對當(dāng)前所有可用連接,計算該分片經(jīng)各條連接傳輸?shù)奖窘K端設(shè) 備的耗時;并估算當(dāng)前各條連接的可用時間。然后,將各條連接的 可用時間與其對應(yīng)的傳輸本分片的傳輸耗時相加,得到該分片經(jīng)各條連接從各個對等設(shè)備下載完成的預(yù)測完成時間,其中分片預(yù)測完 成時間最早的所對應(yīng)的對等設(shè)備就是所尋找的能最早將該分片傳輸 到本終端設(shè)備的對等終端設(shè)備。而后,由于該對等終端設(shè)備及該連
接已被分配給該分片,則將該最早預(yù)測完成時間作為該連接的新的 可用時間,以便使用同樣的方法,為下一個分片尋找最早將下一個 分片傳輸?shù)奖窘K端設(shè)備的對等終端設(shè)備,直至為所有的分片都找到 其對應(yīng)的能將其最早傳輸完畢的對等終端設(shè)備。
在上述分片對等終端設(shè)備確定裝置101為目標(biāo)下載分片選擇最 優(yōu)對等終端設(shè)備的同時,分片下載裝置103為各個目標(biāo)下載分片進行 下載時,均按照下載當(dāng)時最近更新的該目標(biāo)下載分片的對等終端設(shè)備 選擇結(jié)果下載。
作為上述實施例的變形,更新裝置100多次向其各個對等終端 設(shè)備發(fā)送ping包及接收響應(yīng)的時間,更新本終端設(shè)備與各個對等終 端設(shè)備之間的數(shù)據(jù)分片下載速率。該多次發(fā)送ping包及4妄收響應(yīng)之 間可以由終端設(shè)備1按一定規(guī)則進行。所述的一定規(guī)則包括 -周期性地發(fā)送ping包及接收響應(yīng)。
由于終端設(shè)備l多次向其各個對等終端設(shè)備發(fā)送ping包及接收 響應(yīng)是一個多次發(fā)生的過程,則根據(jù)上述多次發(fā)送ping包及接收響 應(yīng)的過程更新終端設(shè)備1與各個對等終端設(shè)備之間的數(shù)據(jù)分片下載 速率也是一個多次發(fā)生的過程。
以上實施例認為終端設(shè)備1的所有的對等終端設(shè)備2、 3和4均具 有終端設(shè)備1所要下載的所有的分片。
第四實施例
在本實施例中,我們假設(shè)終端設(shè)備1的對等終端設(shè)備2、 3和4并 不都具有終端設(shè)備1所要下載的所有的分片,即各個對等終端設(shè)備中可 能含有終端設(shè)備l所要下載的所有的分片中的一部分。同時,終端設(shè)備 1所要下栽的目標(biāo)下載分片均具有相同的下載優(yōu)先級。
在終端設(shè)備l與其各個對等終端設(shè)備的連接的初始化時,首先設(shè)定終端設(shè)備1與其各個對等終端設(shè)備2、對等終端設(shè)備3、對等終端設(shè)備4 之間的傳輸性能相同。在為各個下載優(yōu)先級相同的目標(biāo)下載分片選擇 對等終端設(shè)備下載源時,優(yōu)先對擁有該數(shù)據(jù)分片的對等終端設(shè)備數(shù)量最 少的數(shù)據(jù)分片進行分配,以此決定各個分片分配優(yōu)先級。而后根據(jù)分 配優(yōu)先級,依次為各個數(shù)據(jù)分片確定一個能最早將該分片傳輸?shù)奖窘K 端設(shè)備的對等終端設(shè)備,并將該最早完成該分片傳輸?shù)膶Φ仍O(shè)備分 配給該分片以下載。該分片由本終端設(shè)備與其到該對等終端設(shè)備間 建立的連接所傳輸。
優(yōu)選的,該確定過程根據(jù)當(dāng)前本終端設(shè)備與其所有對等設(shè)備之 間的連接的可用時間。所述連接的可用時間為該連接正在傳輸?shù)姆?片的預(yù)測完成時間,若該連接當(dāng)前沒有傳輸任何分片,則其可用時 間為當(dāng)前時間。以下將描述該確定過程的流程
對各條可傳輸該分片的連接(即擁有該分片的各個對等終端設(shè) 備與本終端設(shè)備之間的連接),計算該分片經(jīng)各條連接傳輸?shù)奖窘K 端設(shè)備的耗時,由于終端設(shè)備1與其各個對等終端設(shè)備2、對等終端設(shè) 備3、對等終端設(shè)備4之間的傳輸性能相同,則傳輸所有數(shù)據(jù)分片的 耗時相同;并估算當(dāng)前各條連接的可用時間。然后,將各條連接的 可用時間與其對應(yīng)的傳輸本分片的傳輸耗時相加,得到該分片經(jīng)各
成時間最早的所對應(yīng)的對等設(shè)備就是所尋找的能最早將該分片傳輸 到本終端設(shè)備的對等終端設(shè)備。而后,由于該對等終端設(shè)備及該連
接已被分配給該分片,則將該最早預(yù)測完成時間作為該連接的新的
可用時間,以便使用同樣的方法,為下一個分片尋找最早將下一個
分片傳輸?shù)奖窘K端設(shè)備的對等終端設(shè)備,直至為所有的分片都找到
其對應(yīng)的能將其最早傳輸完畢的對等終端設(shè)備。
在為所有目標(biāo)下載分片確定其對等終端設(shè)備后,由于具有不同
分配優(yōu)先級各個分片本身不具有下載優(yōu)先級,則在若干對應(yīng)于同 一對 等終端設(shè)備的數(shù)據(jù)分片中沒有確定的傳輸?shù)捻樞颉?br>
而后,分片下載裝置103將根據(jù)上述各個分片的對等終端設(shè)備選擇,從各個對等終端設(shè)備處從先到后下載各個數(shù)據(jù)分片。
更新裝置100檢測數(shù)據(jù)分片的傳輸情況并以此更新本終端設(shè)備
與其各個對等終端設(shè)備之間的傳輸性能信息。
同時,分片資源擁有信息獲取裝置104多次獲取所述多個對等 終端設(shè)備中每個對等終端設(shè)備的分片資源擁有信息,其中,所述多 個對等終端設(shè)備中每個對等終端設(shè)備的分片資源擁有信息包括該對 等終端設(shè)備所擁有的分片資源的情況。該分片資源擁有信息可以由 本終端設(shè)備向其各個對等終端設(shè)備查詢獲取,或者由各個終端設(shè)備 向本終端設(shè)備推送獲取,也可以由點對點傳輸?shù)目刂圃O(shè)備從對等終 端設(shè)備處查詢而后推送給本終端設(shè)備。
在更新裝置100檢測并更新本終端設(shè)備與各個對等終端設(shè)備之 間的傳輸性能相關(guān)信息和分片資源擁有信息獲取裝置104多次獲取 所述多個對等終端設(shè)備中每個對等終端設(shè)備的分片資源擁有信息的 同時,分片對等終端設(shè)備確定裝置101首先根據(jù)之前的分片下載完 成情況,從當(dāng)前多個未下載分片中選擇一個或多個分片作為一個或 多個目標(biāo)下載分片,而后根據(jù)最近檢測并更新的終端設(shè)備1與各個 對等終端設(shè)備之間的數(shù)據(jù)分片下載速率,以及各個對等終端設(shè)備的 分片資源擁有信息按預(yù)定規(guī)則i'將目標(biāo)下載分片分配到各個對等終 端上,以保證終端設(shè)備1從對等終端設(shè)備2、對等終端設(shè)備3、對等終 端設(shè)備4分別下載的目標(biāo)下載分片同時下載完畢。分片對等終端設(shè)備 確定裝置101多次重復(fù)運行,直至所有未下載分片下載完畢。其中 重復(fù)的時間間隔根據(jù)由判斷裝置102。
其中預(yù)定規(guī)則i,包括優(yōu)先對擁有該數(shù)據(jù)分片的對等終端設(shè)備數(shù) 量最少的數(shù)據(jù)分片進行分配,以此決定各個目標(biāo)下載分片的分配優(yōu)先 級。而后根據(jù)分配優(yōu)先級,依次為各個數(shù)據(jù)分片確定一個能最早將該 分片傳輸?shù)奖窘K端設(shè)備的對等終端設(shè)備,并將該最早完成該分片傳 輸?shù)膶Φ仍O(shè)備分配給該分片以下載。
上述確定對等終端設(shè)備的方法如下對各條可傳輸該分片的連 接(即擁有該分片的各個對等終端設(shè)備與本終端設(shè)備之間的連接),計算該分片經(jīng)該各條連接傳輸?shù)奖窘K端設(shè)備的耗時;并估算當(dāng)前各 條連接的可用時間。然后,將各條連接的可用時間與其對應(yīng)的傳輸 本分片的傳輸耗時相加,得到該分片經(jīng)各條連接從各個對等設(shè)備下 載完成的預(yù)測完成時間,其中分片預(yù)測完成時間最早的所對應(yīng)的對 等設(shè)備就是所尋找的能最早將該分片傳輸?shù)奖窘K端設(shè)備的對等終端 設(shè)備。而后,由于該對等終端設(shè)備及該連接已被分配給該分片,則 將該最早預(yù)測完成時間作為該連接的新的可用時間,以便使用同樣 的方法,為下一個分片尋找最早將下一個分片傳輸?shù)奖窘K端設(shè)備的 對等終端設(shè)備,直至為所有的分片都找到其對應(yīng)的能將其最早傳輸
完畢的對等終端設(shè)備。
在上述分片對等終端設(shè)備確定裝置101為目標(biāo)下載分片選擇最 優(yōu)對等終端設(shè)備的同時,分片下載裝置103為各個目標(biāo)下載分片進行 下載時,均按照下載當(dāng)時最近更新的該目標(biāo)下載分片的對等終端設(shè)備 選擇結(jié)果下載。
作為本實施例的一個變化例,終端設(shè)備l所要下載的所有的分片均
具有不相同的下載優(yōu)先級。
在終端設(shè)備l與其各個對等終端設(shè)備的連接的初始化時,首先設(shè)定
終端設(shè)備1與其各個對等終端設(shè)備2、對等終端設(shè)備3、對等終端設(shè)備4 之間的傳輸性能相同。在為各個下載優(yōu)先級不同的數(shù)據(jù)分片選擇對等終 端設(shè)備下載源時,優(yōu)先對下載優(yōu)先級高的,而擁有該數(shù)據(jù)分片的對等終 端設(shè)備數(shù)量最少的數(shù)據(jù)分片進行分配,以此決定各個分片分配優(yōu)先級。 而后根據(jù)分配優(yōu)先級,依次為各個數(shù)據(jù)分片確定一個能最早將該分片 傳輸?shù)奖窘K端設(shè)備的對等終端設(shè)備,并將該最早完成該分片傳輸?shù)?對等設(shè)備分配給該分片以下載。該分片由本終端設(shè)備與其到該對等 終端設(shè)備間建立的連接所傳輸。
而后,分片下載裝置103將根據(jù)上述各個分片的對等終端設(shè)備選 擇,從各個對等終端設(shè)備處從先到后下載各個數(shù)據(jù)分片。
更新裝置100檢測數(shù)據(jù)分片的傳輸情況并以此更新本終端設(shè)備 與其各個對等終端設(shè)備之間的傳輸性能信息。同時,分片資源擁有信息獲取裝置104多次獲取所述多個對等 終端設(shè)備中每個對等終端設(shè)備的分片資源擁有信息。
在更新裝置100檢測并更新本終端設(shè)備與各個對等終端設(shè)備之 間的傳輸性能相關(guān)信息和分片資源擁有信息獲取裝置104獲取所述 多個對等終端設(shè)備中每個對等終端設(shè)備的分片資源擁有信息的同 時,分片對等終端設(shè)備確定裝置101首先根據(jù)之前的分片下載完成 情況,從當(dāng)前多個未下載分片中選擇一個或多個分片作為一個或多 個目標(biāo)下載分片,而后根據(jù)最近檢測并更新的終端設(shè)備1與各個對 等終端設(shè)備之間的數(shù)據(jù)分片下載速率,以及各個對等終端設(shè)備的分 片資源擁有信息按預(yù)定規(guī)則ii'將目標(biāo)下載分片分配到各個對等終端 上,以保證終端設(shè)備1從對等終端設(shè)備2、對等終端設(shè)備3、對等終端 設(shè)備4分別下載的目標(biāo)下載分片同時下載完畢。分片對等終端設(shè)備確 定裝置101多次重復(fù)運行,直至所有未下載分片下載完畢。其中重 復(fù)的時間間隔根據(jù)由判斷裝置102。
其中,所述預(yù)定規(guī)則ii'是按照各個目標(biāo)下載分片預(yù)定的下載優(yōu) 先級,以及所述多個對等終端設(shè)備中每個對等終端設(shè)備的分片資源 擁有信息,依次為目標(biāo)下載分片確定一個能最早將該分片傳輸?shù)奖?終端設(shè)備的對等終端設(shè)備,并將該最早完成該分片傳輸?shù)膶Φ仍O(shè)備 分配給該分片以下載。
優(yōu)選的,該確定過程根據(jù)當(dāng)前本終端設(shè)備與擁有該數(shù)據(jù)分片的 各個對等設(shè)備之間的連接的可用時間,及各條連接的下載速率。其 中,所述連接的可用時間為該連接正在傳輸?shù)姆制念A(yù)測完成時間, 若該連接當(dāng)前沒有傳輸任何分片,則其可用時間為當(dāng)前時間;所述 下載速率為本終端設(shè)備從該連接對應(yīng)的對等設(shè)備下載分片的速率。 以下將描述該確定過程的流程
對與該數(shù)據(jù)分片對應(yīng)的各條可用連接(即當(dāng)前本終端設(shè)備與擁 有該數(shù)據(jù)分片的各個對等設(shè)備之間的連接),計算該分片經(jīng)各條連 接傳輸?shù)奖窘K端設(shè)備的耗時;并估算當(dāng)前各條連接的可用時間。然 后,將各條連接的可用時間與其對應(yīng)的傳輸本分片的傳輸耗時相加,
31其中分片預(yù)測完成時間最早的所對應(yīng)的對等設(shè)備就是所尋找的能最 早將該分片傳輸?shù)奖窘K端設(shè)備的對等終端設(shè)備。而后,由于該對等 終端設(shè)備及該連接已被分配給該分片,則將該最早預(yù)測完成時間作 為該連接的新的可用時間,以便使用同樣的方法,為下一個分片尋 找最早將下一個分片傳輸?shù)奖窘K端設(shè)備的對等終端設(shè)備,直至為所 有的分片都找到其對應(yīng)的能將其最早傳輸完畢的對等終端設(shè)備。
在上述分片對等終端設(shè)備確定裝置101為目標(biāo)下載分片選擇最 優(yōu)對等終端設(shè)備的同時,分片下載裝置103為各個目標(biāo)下載分片進行 下載時,均按照下載當(dāng)時最近更新的該目標(biāo)下載分片的對等終端設(shè)備 選擇結(jié)果下載。
以上兩個實施例及其變化例詳細說明了在多種分片傳輸和分片擁 有情況下,位于終端設(shè)備中的下載裝置1多次更新本終端設(shè)備與其多個 對等終端設(shè)備之間的傳輸性能相關(guān)信息,根據(jù)最新的傳輸性能相關(guān)信息
備,并按該選擇結(jié)果下載目標(biāo)下載分片的過程。本領(lǐng)域的普通技術(shù)人員 應(yīng)能理解,在數(shù)據(jù)分片具有相同或不同下載優(yōu)先級,同時對等節(jié)點擁有 或不完全擁有本終端設(shè)備所需的全部數(shù)據(jù)分片的情況下,分片對等終 端設(shè)備確定裝置101用來為各個數(shù)據(jù)分片選擇對等節(jié)點的算法是多種 多樣的,不受本實施例中所詳述的算法例所限。
本領(lǐng)域的普通技術(shù)人員應(yīng)能理解本發(fā)明不限于第一和第二實施例 所基于的圖1所示的基于點對點傳輸?shù)木W(wǎng)絡(luò)邏輯拓樸結(jié)構(gòu)和數(shù)據(jù)分片 數(shù)量,對于其他基于點對點傳輸?shù)木W(wǎng)絡(luò)邏輯拓樸結(jié)構(gòu)和數(shù)據(jù)分片的情 況,本發(fā)明的方法同樣適用。以上對本發(fā)明的實施例進行了描述,但 是本發(fā)明并不局限于特定的系統(tǒng)、方法和裝置,本領(lǐng)域內(nèi)技術(shù)人員 可以在所附權(quán)利要求的范圍內(nèi)做出各種變形或修改。
3權(quán)利要求
1. 一種在基于點對點傳輸協(xié)議的終端設(shè)備中用于下載分片的方法,其中,包括以下步驟A. 多次更新本終端設(shè)備與其多個對等終端設(shè)備之間的傳輸性能相關(guān)信息;其中,還包括以下步驟i. 從當(dāng)前多個未下載分片中選擇一個或多個分片作為一個或多個目標(biāo)下載分片,根據(jù)最近一次更新的本終端設(shè)備與所述多個對等終端設(shè)備之間的傳輸性能相關(guān)信息,由所述多個對等終端設(shè)備中為所述一個或多個目標(biāo)下載分片選擇各自相應(yīng)的對等終端設(shè)備,以確定所述一個或多個目標(biāo)下載分片的最新的對等終端選擇結(jié)果信息;ii. 當(dāng)滿足預(yù)定條件時,重復(fù)步驟i,直至所有未下載分片下載完畢;其中,還包括以下步驟M. 基于一個或多個目標(biāo)下載分片的最新對等終端選擇結(jié)果信息下載所述各個目標(biāo)下載分片。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟ii中的預(yù)定條件包括以下各項中的任 一 項-自一個或多個目標(biāo)下載分片的最新對等終端選擇結(jié)果信息確定后,已經(jīng)經(jīng)過了預(yù)定長度的時間;-所述一個或多個目標(biāo)下載分片下載完畢。
3. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述步驟i還包括以下步驟i,.根據(jù)最近一次更新的本終端設(shè)備與所述多個對等終端設(shè)備之間的傳輸性能相關(guān)信息以及所述多個下載目標(biāo)分片的優(yōu)先級信息,由所述多個對等終端設(shè)備中為多個未下載的分片中的一個或多個目標(biāo)下載分片選擇各自相應(yīng)的對等終端設(shè)備,以確定所述一個或多個目標(biāo)下載分片的最新對等終端選擇結(jié)果信息。
4. 根據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于,還包括以下步驟-多次獲取所述多個對等終端設(shè)備中每個對等終端設(shè)備的分片資源擁有信息,其中,所述多個對等終端設(shè)備中每個對等終端設(shè)備的分片資源擁有信息包括該對等終端設(shè)備所擁有的分片資源的情況;其中,所述步驟i還包括從當(dāng)前多個未下載分片中選擇一個或多個分片作為一個或多個目標(biāo)下載分片,根據(jù)最近一次更新的本終端設(shè)備與所述多個對等終端設(shè)備之間的傳輸性能相關(guān)信息,以及最近一次獲取的所述多個對等終端設(shè)備中每個對等終端設(shè)備的分片資源擁有信息,由所述多個對等終端設(shè)備中為所述一個或多個目標(biāo)下載分片選擇各自相應(yīng)的對等終端設(shè)備,以確定所述一個或多個目標(biāo)下載分片的最新的對等終端選擇結(jié)果信息。
5. 根據(jù)權(quán)利要求1至4中任一項所述的方法,其特征在于,所述步驟M還包括-為一個或多個目標(biāo)下載分片向為其選擇的對等終端設(shè)備發(fā)送下載請求;-分別接收來自為所述一個或多個目標(biāo)下載分片所選擇的對等終端設(shè)備的分片。
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述步驟A還包括以下步驟-檢測所述一個或多個目標(biāo)下載分片的從為其選擇的對等終端設(shè)備處下載的下載速度;-根據(jù)所述一個或多個目標(biāo)下載分片的從為其選擇的對等終端設(shè)備處下載的下載速度,確定本終端設(shè)備與所述一個或多個目標(biāo)下載分片的為其選擇的終端設(shè)備之間的傳輸性能相關(guān)信息。
7. —種在基于點對點傳輸協(xié)議的終端設(shè)備中用于下載分片的下載裝置,其中,包括更新裝置,用于多次更新本終端設(shè)備與其多個對等終端設(shè)備之間的傳輸性能相關(guān)信息;還包括確定裝置,用于從當(dāng)前多個未下載分片中選擇一個或多個分片作為一個或多個目標(biāo)下載分片,根據(jù)最近一次更新的本終端設(shè)備與所述多個對等終端設(shè)備之間的傳輸性能相關(guān)信息,由所述多個對等終端設(shè)備中為所述一個或多個目標(biāo)下載分片選擇各自相應(yīng)的對等終端設(shè)備,以確定所述一個或多個目標(biāo)下載分片的最新的對等終端選擇結(jié)果信息;判斷裝置,用于當(dāng)滿足預(yù)定條件時,重復(fù)確定裝置所執(zhí)行的操作,直至所有未下載分片下載完畢;其中,還包括分片下載裝置,用于基于一個或多個目標(biāo)下載分片的最新對等終端選擇結(jié)果信息下載所述各個目標(biāo)下栽分片。
8. 根據(jù)權(quán)利要求7所述的下載裝置,其特征在于,所述重復(fù)裝置中的預(yù)定條件包括以下各項中的任 一 項-自 一個或多個目標(biāo)下載分片的最新的對等終端選擇結(jié)果信息確定后,已經(jīng)經(jīng)過了預(yù)定長度的時間;-所述一個或多個目標(biāo)下載分片下載完畢。
9. 根據(jù)權(quán)利要求7或8所述的下載裝置,其特征在于,所述確定裝置還用于根據(jù)最近一次更新的本終端設(shè)備與所述多個對等終端設(shè)備之間的傳輸性能相關(guān)信息以及所述多個下載目標(biāo)分片的優(yōu)先級信息,由所述多個對等終端設(shè)備中為多個未下載的分片中的一個或多個目標(biāo)下載分片選擇各自相應(yīng)的對等終端設(shè)備,以確定所述一個或多個目標(biāo)下載分片的最新對等終端選擇結(jié)果信息。
10. 根據(jù)權(quán)利要求7至9中任一項所述的下載裝置,其特征在于,還包括分片資源擁有信息獲取裝置,用于多次獲取所述多個對等終端設(shè)備中每個對等終端設(shè)備的分片資源擁有信息,其中,所述多個對等終端設(shè)備中每個對等終端設(shè)備的分片資源擁有信息包括該對等終端設(shè)備所擁有的分片資源的情況;其中,所述確定裝置還用于從當(dāng)前多個未下載分片中選擇一 個或多個分片作為一個或多個目標(biāo)下載分片,根據(jù)最近一次更新的 本終端設(shè)備與所述多個對等終端設(shè)備之間的傳輸性能相關(guān)信息,以 及最近一次獲取的所述多個對等終端設(shè)備中每個對等終端設(shè)備的分 片資源擁有信息,由所述多個對等終端設(shè)備中為所述一個或多個目 標(biāo)下載分片選擇各自相應(yīng)的對等終端設(shè)備,以確定所述一個或多個 目標(biāo)下載分片的最新的對等終端選擇結(jié)果信息。
11. 根據(jù)權(quán)利要求7至10中任一項所述的下載裝置,其特征在于,所述分片下載裝置還包括下載請求發(fā)送裝置,用于為一個或多個目標(biāo)下載分片向為其選 擇的對等終端設(shè)備發(fā)送下載請求;分片接收裝置,用于分別接收來自為所述一個或多個目標(biāo)下載 分片所選擇的對等終端設(shè)備的分片。
12. 根據(jù)權(quán)利要求11所述的下載裝置,其特征在于,所述更新 裝置還包括下載速度檢測裝置,用于檢測一個或多個目標(biāo)下載分片的從為 其選擇的對等終端設(shè)備處下載的下載速度;傳輸性能相關(guān)信息確定裝置,用于根據(jù)上述 一 個或多個目標(biāo)下 載分片的從為其選擇的對等終端設(shè)備處下載的下載速度,確定本終 端設(shè)備與上述一個或多個目標(biāo)下載分片的為其選擇的終端設(shè)備之間 的傳輸性能相關(guān)信息。
13. —種終端設(shè)備,其特征在于,包括根據(jù)權(quán)利要求7至12中任 一項所述的在基于點對點傳輸協(xié)議中用于下載分片的下載裝置。
全文摘要
本發(fā)明提供了用于下載點對點傳輸數(shù)據(jù)分片的方法和裝置。根據(jù)本發(fā)明的技術(shù)方案,終端設(shè)備根據(jù)其與對等終端設(shè)備之間傳輸性能的動態(tài)變化,優(yōu)選地,也按照本終端設(shè)備中分片的優(yōu)先級,為各個待傳輸?shù)臄?shù)據(jù)分片選擇傳輸當(dāng)時最合適的對等終端設(shè)備進行下載。本方案實時地考慮各個終端設(shè)備之間由于異構(gòu)性導(dǎo)致的傳輸性能差異,和由于網(wǎng)絡(luò)的動蕩導(dǎo)致的傳輸速率變化變化,盡可能快地完成傳輸任務(wù)。本發(fā)明解決了現(xiàn)有技術(shù)中,分片傳輸不能實時考慮傳輸性能異構(gòu)性和網(wǎng)絡(luò)動蕩的問題。
文檔編號H04L29/08GK101478556SQ20071017389
公開日2009年7月8日 申請日期2007年12月31日 優(yōu)先權(quán)日2007年12月31日
發(fā)明者張小兵, 王聞宇, 琰 黃 申請人:突觸計算機系統(tǒng)(上海)有限公司