專(zhuān)利名稱(chēng):一種p2p流媒體下載方法、系統(tǒng)及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實(shí)施例涉及通信技術(shù)領(lǐng)域,尤其涉及一種P2P(Peer to Peer,點(diǎn)到點(diǎn))流媒 體下載方法、系統(tǒng)及裝置。
背景技術(shù):
流媒體服務(wù)是在IP (Internet Protocol,國(guó)際互聯(lián)網(wǎng)協(xié)議)網(wǎng)上基于流式傳輸技 術(shù),向用戶(hù)提供實(shí)時(shí)音視頻媒體播放的業(yè)務(wù)。由于無(wú)需等待文件下載完成就可實(shí)現(xiàn)在線(xiàn)觀 看,因此流媒體應(yīng)用受到用戶(hù)的普遍歡迎,而近年來(lái)更是隨著寬帶網(wǎng)絡(luò)的普及而快速增長(zhǎng)。目前,IP網(wǎng)上的流媒體服務(wù)主要基于C/S (Client/Server,客戶(hù)端/服務(wù)器)架構(gòu) 實(shí)現(xiàn)。在流媒體用戶(hù)數(shù)量少、業(yè)務(wù)量不大的情況下,基于C/S架構(gòu)實(shí)現(xiàn)的流媒體服務(wù)系統(tǒng)結(jié) 構(gòu)比較簡(jiǎn)單,使用比較方便。但隨著流媒體用戶(hù)的快速增長(zhǎng),基于C/S架構(gòu)的實(shí)現(xiàn)方式也日 益顯現(xiàn)出流媒體服務(wù)器數(shù)量隨用戶(hù)數(shù)增加而線(xiàn)性增加、容易出現(xiàn)服務(wù)器單點(diǎn)故障?,F(xiàn)有技術(shù)中可以采用P2P技術(shù)實(shí)現(xiàn)流媒體服務(wù),以避免流媒體服務(wù)器數(shù)量過(guò)多及 服務(wù)器單點(diǎn)故障的問(wèn)題。P2P技術(shù)是通過(guò)參與系統(tǒng)節(jié)點(diǎn)(peer)之間的直接交互來(lái)實(shí)現(xiàn)系 統(tǒng)資源和信息的共享。P2P系統(tǒng)強(qiáng)調(diào)節(jié)點(diǎn)之間的對(duì)等性,信息資源分散存儲(chǔ)在各個(gè)參與節(jié) 點(diǎn),每個(gè)參與節(jié)點(diǎn)兼有服務(wù)器和客戶(hù)端兩種身份,都可以請(qǐng)求服務(wù)和提供服務(wù),內(nèi)容傳輸直 接在節(jié)點(diǎn)間進(jìn)行,避免了 C/S架構(gòu)中容易出現(xiàn)的網(wǎng)絡(luò)和服務(wù)器瓶頸問(wèn)題。因此,相比C/S架 構(gòu)而言,P2P技術(shù)能夠充分利用網(wǎng)絡(luò)終端的空閑資源,大大降低了系統(tǒng)的建設(shè)和運(yùn)營(yíng)成本, 同時(shí),節(jié)點(diǎn)越多服務(wù)資源也越多,系統(tǒng)因此具有良好的可擴(kuò)展性和高度的自適應(yīng)性,能夠滿(mǎn) 足各種突發(fā)環(huán)境下的業(yè)務(wù)需求。BitTorrent (BT,比特流下載)是一個(gè)多點(diǎn)下載的源碼公開(kāi)的P2P軟件,應(yīng)用于P2P 系統(tǒng)中的節(jié)點(diǎn)之間的媒體流下載,BitTorrent下載軟件采用了多點(diǎn)對(duì)多點(diǎn)的原理?,F(xiàn)有技術(shù)中的BitTorrent中的分片選擇算法如圖1所示,當(dāng)BitTorrent啟動(dòng)一 個(gè)新的下載任務(wù)后,前N個(gè)分片的下載是隨意挑選的,N的大小由用戶(hù)根據(jù)網(wǎng)絡(luò)狀況決定, 這個(gè)過(guò)程稱(chēng)為“隨機(jī)優(yōu)先下載”;其它分片不會(huì)選擇下載,直到開(kāi)始選擇的前N個(gè)分片已經(jīng) 下載完成,這個(gè)過(guò)程稱(chēng)為“未完成的下載”。當(dāng)前N個(gè)分片下載完成后,BitTorrent將根據(jù) “稀缺優(yōu)先下載”策略選擇系統(tǒng)中的稀缺分片下載。然而,現(xiàn)有技術(shù)中的BitTorrent協(xié)議是針對(duì)文件下載設(shè)計(jì)的,在文件下載中,分 片下載可以無(wú)序,并且沒(méi)有下載時(shí)間要求。但是在P2P流媒體中,為了保證觀看的連續(xù)性, 必須保證媒體分片在觀看之前全部完成下載,P2P流媒體中的分片選擇和下載算法必須滿(mǎn) 足流媒體的實(shí)時(shí)特性。因此,BitTorrent中的分片選擇算法不適合用在P2P流媒體系統(tǒng)中。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了 一種P2P流媒體下載方法、系統(tǒng)及裝置,提高現(xiàn)有P2P流媒體 系統(tǒng)中視頻/音頻數(shù)據(jù)的下載效率。本發(fā)明實(shí)施例提供了 一種P2P流媒體下載方法,應(yīng)用于包括索弓I track服務(wù)器和至少兩個(gè)P2P客戶(hù)端的流媒體系統(tǒng)中,其中一個(gè)P2P客戶(hù)端從其他P2P客戶(hù)端下載流媒體, 所述方法包括所述P2P客戶(hù)端從所述track服務(wù)器獲取下載興趣列表,所述下載興趣列表記錄 整個(gè)系統(tǒng)的所有媒體分片序號(hào);所述P2P客戶(hù)端根據(jù)所述下載興趣列表生成稀缺下載列表和順序下載列表,所述 稀缺下載列表根據(jù)稀缺程度記錄媒體分片序號(hào),所述順序下載列表根據(jù)順序記錄媒體分片 序號(hào);所述P2P客戶(hù)端根據(jù)下載窗口長(zhǎng)度交替從其他P2P客戶(hù)端下載所述順序下載列表 和所述稀缺下載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片;其中,所述下載順序下載列表中 的媒體分片序號(hào)對(duì)應(yīng)的媒體分片為從所述順序下載列表選擇與下載窗口長(zhǎng)度對(duì)應(yīng)的媒體 分片序號(hào)下載;所述下載稀缺下載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片為從所述稀缺下 載列表選擇與下載窗口長(zhǎng)度對(duì)應(yīng)的媒體分片序號(hào)按自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度進(jìn)行下載。本發(fā)明實(shí)施例提供了 一種P2P流媒體下載系統(tǒng),包括track服務(wù)器和至少兩個(gè)P2P 客戶(hù)端,其中一個(gè)P2P客戶(hù)端從其他P2P客戶(hù)端下載流媒體,所述P2P客戶(hù)端,用于從所述track服務(wù)器獲取下載興趣列表,所述下載興趣列表 記錄有整個(gè)系統(tǒng)的所有媒體分片序號(hào);根據(jù)所述下載興趣列表生成稀缺下載列表和順序下 載列表,所述稀缺下載列表根據(jù)稀缺程度記錄媒體分片序號(hào),所述順序下載列表根據(jù)順序 記錄媒體分片序號(hào);根據(jù)下載窗口長(zhǎng)度交替從其他P2P客戶(hù)端下載所述順序下載列表和所 述稀缺下載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片;其中,所述下載順序下載列表中的媒 體分片序號(hào)對(duì)應(yīng)的媒體分片為從所述順序下載列表選擇與下載窗口長(zhǎng)度對(duì)應(yīng)的媒體分片 序號(hào)下載;所述下載稀缺下載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片為從所述稀缺下載列 表選擇與下載窗口長(zhǎng)度對(duì)應(yīng)的媒體分片序號(hào)按自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度進(jìn)行下載。本發(fā)明實(shí)施例提供了 一種P2P客戶(hù)端,應(yīng)用于包括track服務(wù)器和至少兩個(gè)P2P 客戶(hù)端的流媒體系統(tǒng)中,所述P2P客戶(hù)端包括列表維護(hù)模塊,用于從所述track服務(wù)器獲取下載興趣列表,所述下載興趣列表 記錄有整個(gè)系統(tǒng)所有媒體分片序號(hào),根據(jù)所述下載興趣列表生成稀缺下載列表和順序下載 列表,所述稀缺下載列表根據(jù)稀缺程度記錄媒體分片序號(hào),所述順序下載列表根據(jù)順序記 錄媒體分片序號(hào);下載模塊,用于根據(jù)下載窗口長(zhǎng)度交替從其他P2P客戶(hù)端下載所述順序下載列表 和所述稀缺下載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片;其中,所述下載順序下載列表中 的媒體分片序號(hào)對(duì)應(yīng)的媒體分片為從所述順序下載列表選擇與下載窗口長(zhǎng)度對(duì)應(yīng)的媒體 分片序號(hào)下載;所述下載稀缺下載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片為從所述稀缺下 載列表選擇與下載窗口長(zhǎng)度對(duì)應(yīng)的媒體分片序號(hào)按自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度進(jìn)行下載;切換模塊,用于根據(jù)平均下載速率ADR和當(dāng)前下載速率TDR確定當(dāng)前下載速率的 狀態(tài),根據(jù)所述當(dāng)前下載速率狀態(tài)調(diào)節(jié)下載窗口長(zhǎng)度和自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度。與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn)本發(fā)明實(shí)施例中,根據(jù)節(jié)點(diǎn)目前的下載速率情況,自適應(yīng)地調(diào)整下載窗口長(zhǎng)度,從 而實(shí)現(xiàn)“順序優(yōu)先下載”和“稀缺優(yōu)先下載”兩個(gè)策略之間的平衡,當(dāng)下載速率大于用戶(hù)觀看 速率,可以使用冗余資源下載稀缺分片,當(dāng)下載速率不大于用戶(hù)觀看速率,進(jìn)行順序下載,保證用戶(hù)觀看效果,總體上提高P2P流媒體系統(tǒng)中視頻/音頻數(shù)據(jù)的下載效率。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可 以根據(jù)這些附圖獲得其他的附圖。圖1是現(xiàn)有技術(shù)中BitTorrent中的分片選擇算法示意圖;圖2是本發(fā)明實(shí)施例中一種P2P流媒體下載方法流程圖;圖3是本發(fā)明實(shí)施例中下載狀態(tài)估計(jì)器工作流程圖;圖4是本發(fā)明實(shí)施例中下載速率狀態(tài)估計(jì)示意圖;圖5是本發(fā)明實(shí)施例中自適應(yīng)分片選擇和下載算法示意圖;圖6是本發(fā)明實(shí)施例中下載窗口 N和M大小調(diào)節(jié)示意圖;圖7是本發(fā)明實(shí)施例中了一種P2P客戶(hù)端結(jié)構(gòu)圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例是本發(fā)明實(shí)施例一部分實(shí)施例,而不是全部的實(shí)施例?;?于本發(fā)明實(shí)施例中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的 所有其他實(shí)施例,都屬于本發(fā)明實(shí)施例保護(hù)的范圍。本發(fā)明實(shí)施例提供了一種P2P流媒體下載方法,應(yīng)用于包括track(索引)服務(wù)器 和至少兩個(gè)P2P客戶(hù)端的流媒體系統(tǒng)中,其中一個(gè)P2P客戶(hù)端從其他P2P客戶(hù)端下載流媒 體,所述方法如圖2所示,包括以下步驟步驟201,所述P2P客戶(hù)端從所述track服務(wù)器獲取下載興趣列表,所述下載興趣 列表記錄有整個(gè)系統(tǒng)的所有媒體分片序號(hào);所述P2P客戶(hù)端可以根據(jù)該媒體分片序號(hào)去其 他P2P客戶(hù)端下載對(duì)應(yīng)的媒體分片。其中,去其他P2P客戶(hù)端下載對(duì)應(yīng)的媒體分片有兩種 情況,一種是所述P2P客戶(hù)端不知道需要下載的媒體分片具體在哪個(gè)P2P客戶(hù)端,則向所有 連接的P2P客戶(hù)端發(fā)送下載請(qǐng)求,當(dāng)某個(gè)P2P客戶(hù)端經(jīng)過(guò)匹配查找獲得對(duì)應(yīng)媒體分片,則下 載給所述P2P客戶(hù)端;另一種情況是所述P2P客戶(hù)端知道媒體分片序號(hào)對(duì)應(yīng)的媒體分片所 屬P2P客戶(hù)端,即下載興趣列表包括媒體分片序號(hào)及對(duì)應(yīng)的源流媒體所在P2P客戶(hù)端地址, 所述P2P客戶(hù)端可以從對(duì)應(yīng)的P2P客戶(hù)端下載對(duì)應(yīng)的媒體分片。步驟202,所述P2P客戶(hù)端根據(jù)所述下載興趣列表生成稀缺下載列表和順序下載 列表,所述稀缺下載列表根據(jù)稀缺程度記錄媒體分片序號(hào),所述順序下載列表根據(jù)順序記 錄媒體分片序號(hào);這些媒體分片序號(hào)與其他P2P客戶(hù)端上的媒體分片對(duì)應(yīng)。根據(jù)所述下載興趣列表生成稀缺下載列表,具體為,將下載興趣列表中的媒體分 片序號(hào)對(duì)應(yīng)的媒體分片按照拷貝數(shù)劃分,將對(duì)應(yīng)的媒體分片序號(hào)存儲(chǔ)到不同子表,舉例來(lái) 說(shuō),假定媒體流文件被分成15個(gè)媒體分片,P2P客戶(hù)端維護(hù)的“稀缺下載列表”為[□,[5, 6,7,8,9,10,11,12,13,14],
],數(shù)字代表媒體分片序號(hào)。擁有相同的拷貝數(shù)的 媒體分片的序號(hào)記錄在同一個(gè)子表中。也就是說(shuō),在第一個(gè)子表中的媒體分片有0份拷貝,在第二個(gè)子表中的媒體分片有1份拷貝,依此類(lèi)推。當(dāng)該P(yáng)2P客戶(hù)端從其他P2P客戶(hù)端下 載媒體分片時(shí),按照“稀缺優(yōu)先下載”的策略,將選擇只有1份拷貝的子表中的媒體分片進(jìn) 行下載。在這個(gè)例子中,子表[5,6,7,8,9,10,11,12,13,14]中的媒體分片將被選擇下載。擁有拷貝份數(shù)為1的第二個(gè)子表中的媒體分片首先根據(jù)序號(hào)大小按順序排序。然 后根據(jù)自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度(N)選擇第二個(gè)子表中最開(kāi)始的與自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度對(duì)應(yīng) 的N個(gè)媒體分片進(jìn)入下載候選名單。而這N個(gè)媒體分片中則按照隨機(jī)算法隨機(jī)選擇一個(gè) 媒體分片進(jìn)行下載。舉例來(lái)說(shuō),假定只有1個(gè)拷貝的媒體分片的子表為[5,6,7,8,9,10, 11,12,13,14],當(dāng)適應(yīng)調(diào)節(jié)窗口長(zhǎng)度為3時(shí),將從下載候選名單[5,6,7]中按照隨機(jī)算法選 擇一個(gè)媒體分片進(jìn)行下載,假設(shè)媒體分片6被選擇,當(dāng)媒體分片6下載完成后,整個(gè)子表變 為[5,7,8,9,10,11,12,13,14],然后下一個(gè)要下載的媒體分片將從候選名單[5,7,8]中選 定,以此類(lèi)推。步驟203,所述P2P客戶(hù)端根據(jù)下載窗口長(zhǎng)度交替從其他P2P客戶(hù)端下載所述順序 下載列表和所述稀缺下載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片;其中,所述下載順序下 載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片為從所述順序下載列表選擇與下載窗口長(zhǎng)度對(duì) 應(yīng)的媒體分片序號(hào)下載;所述下載稀缺下載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片為從所 述稀缺下載列表選擇與下載窗口長(zhǎng)度對(duì)應(yīng)的媒體分片序號(hào)按自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度進(jìn)行下 載。如下圖3所示,P2P客戶(hù)端開(kāi)始時(shí),選擇最開(kāi)始的下載窗口長(zhǎng)度對(duì)應(yīng)個(gè)數(shù)的媒體分 片以“順序優(yōu)先下載”方式下載,直到這些媒體分片下載完成;然后P2P客戶(hù)端根據(jù)“稀缺優(yōu) 先下載”算法選擇下載窗口長(zhǎng)度對(duì)應(yīng)個(gè)數(shù)的媒體分片進(jìn)行下載;之后兩種下載方式循環(huán)交 替。切換條件為下載窗口長(zhǎng)度,下載窗口長(zhǎng)度根據(jù)下載速率估計(jì)算法進(jìn)行自適應(yīng)調(diào)節(jié),可以 很好地實(shí)現(xiàn)“順序優(yōu)先下載”和“稀缺優(yōu)先下載”兩個(gè)策略之間的平衡,提高P2P流媒體系 統(tǒng)中視頻/音頻數(shù)據(jù)的下載效率。所述兩種下載方式循環(huán)交替的切換條件為下載窗口長(zhǎng)度,所述下載窗口長(zhǎng)度和所 述自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度根據(jù)下載速率狀態(tài)進(jìn)行自適應(yīng)調(diào)節(jié)。其中,下載速率狀態(tài)為當(dāng)前下載速率相對(duì)平均下載速率的比率,如下圖4所示,而 不是根據(jù)下載速率的絕對(duì)值定義。圖4中的實(shí)線(xiàn)表示平均下載速率,而虛線(xiàn)代表當(dāng)前下載 速度。如果當(dāng)前下載速率高于平均下載速率,則下載速率狀態(tài)被認(rèn)為處于“高速下載”狀態(tài), 否則,被認(rèn)為處于“低速下載”狀態(tài)。P2P客戶(hù)端使用以下統(tǒng)計(jì)方法估計(jì)下載速率的狀態(tài),如 圖5所示,包括以下步驟步驟501,P2P客戶(hù)端維護(hù)兩個(gè)參數(shù),ADR(Average Download Ratio,平均下載速 率)和TDR(Temporary Download Ratio,臨時(shí)下載速率),使用加權(quán)轉(zhuǎn)移平均算法。通過(guò)給 加權(quán)轉(zhuǎn)移平均算法分配不同的參數(shù),ADR可以表示平均下載速率,TDR可以表示當(dāng)前下載速 率。初始時(shí),ADR(O) = 0 ;TDR(O) =0。步驟502,P2P客戶(hù)端準(zhǔn)備從其他P2P客戶(hù)端下載媒體分片。步驟503,P2P客戶(hù)端通過(guò)使用下面公式計(jì)算ADR ADR (η) = α *TDR(n) + (1_ α ) *ADR(n_l) (1)其中,濾波常量α的值,表示濾波的程度,即過(guò)濾的強(qiáng)度,在(0,1)范圍內(nèi)。步驟504,Ρ2Ρ客戶(hù)端判斷TDR (n)-ADR (η)是否大于第一閾值δ b,其中,Sb代表高速下載狀態(tài)時(shí)的閾值,在(0,1)范圍內(nèi);如果大于Sb,說(shuō)明當(dāng)前下載速率高于平均下載 速率,轉(zhuǎn)步驟507,如果不大于Sb,轉(zhuǎn)步驟505。步驟505,P2P客戶(hù)端判斷ADR(n)-TDR(η)是否大于第二閾值δ g,其中,δ g代表 低速下載狀態(tài)時(shí)的閾值,在(0,1)范圍內(nèi);如果大于Sg,說(shuō)明當(dāng)前下載速率低于平均下載 速率,轉(zhuǎn)步驟506,如果不大于δ g,轉(zhuǎn)步驟502,繼續(xù)進(jìn)行媒體分片下載。步驟506,下載流為低速下載流,轉(zhuǎn)步驟508。步驟507,下載流為高速下載流,轉(zhuǎn)步驟508。步驟508,P2P客戶(hù)端獲取下載狀態(tài)。自適應(yīng)分片選擇和下載算法具體實(shí)現(xiàn)流程如下P2P客戶(hù)端根據(jù)ADR和TDR的值 確定當(dāng)前下載速率的狀態(tài),然后相應(yīng)調(diào)節(jié)下載窗口長(zhǎng)度和自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度。當(dāng)TDR大 于ADR,且差值大于高速下載狀態(tài)時(shí)的閾值時(shí),表明當(dāng)前下載速率處于“高速下載”狀態(tài),這 時(shí)P2P客戶(hù)端增加自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度和下載窗口長(zhǎng)度。在該狀態(tài)下,自適應(yīng)算法下載策 略更接近于“稀缺優(yōu)先下載”策略,優(yōu)先下載稀缺分片。經(jīng)過(guò)一段時(shí)期后,當(dāng)ADR大于TDR, 且差值大于低速下載狀態(tài)時(shí)的閾值時(shí),表明信道目前處于“低速下載”狀態(tài),P2P客戶(hù)端此 時(shí)相應(yīng)減小自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度和下載窗口長(zhǎng)度,下載窗口長(zhǎng)度采用除法遞減方式,以保 證算法迅速切換到“稀缺優(yōu)先下載”策略,而自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度采用減法遞減的方式,自 適應(yīng)算法下載策略更接近于“順序優(yōu)先下載”策略,優(yōu)先下載離當(dāng)前播放分片距離更近的分 片。這些閾值根據(jù)特定的系統(tǒng)可以選取不同值。例如,設(shè)高速下載狀態(tài)時(shí)的閾值為5Mbit/s,低速下載狀態(tài)時(shí)的閾值為3Mbit/s。 對(duì)下載速率進(jìn)行長(zhǎng)期檢測(cè),獲得平均下載速率為50Mbit/s,在某個(gè)預(yù)設(shè)時(shí)間點(diǎn)檢測(cè)到當(dāng)前 下載速率為46Mbit/s,則當(dāng)前下載速率比平均下載速率小4Mbit/s,而4Mbit/s大于低速下 載狀態(tài)時(shí)的閾值3Mbit/s,則說(shuō)明下載狀態(tài)為低速下載。又如,在另一個(gè)預(yù)設(shè)時(shí)間點(diǎn)檢測(cè)到 當(dāng)前下載速率為56Mbit/s,則當(dāng)前下載速率比平均下載速率大6Mbit/s,而6Mbit/s大于高 速下載狀態(tài)時(shí)的閾值5Mbit/s,則說(shuō)明下載狀態(tài)為高速下載。根據(jù)上面描述的算法,給出自適應(yīng)下載算法的實(shí)現(xiàn)流程框圖,如下圖6所示,包括 以下步驟步驟601,初始狀態(tài),將自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度調(diào)整值的初始值設(shè)為0,即Nds (0) = 0, 將下載窗口長(zhǎng)度調(diào)整值的初始值設(shè)為0,即Mds(O) = 0 ;將自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度的初始值設(shè) 為一個(gè)常數(shù),即N(O) =Nb,將下載窗口長(zhǎng)度的初始值設(shè)為另一個(gè)常數(shù),即M(O) =Mb。其中, Nb值為l,Mb值為一個(gè)大于1的常數(shù)。Nb和Mb是為了保證自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度和下載窗口 長(zhǎng)度初始時(shí)不會(huì)過(guò)小使用的調(diào)整參數(shù),也可以使用其他常數(shù)。步驟602,開(kāi)始從其他P2P客戶(hù)端下載媒體分片;步驟603,P2P客戶(hù)端判斷是否獲得下載狀態(tài)反饋信息,如果沒(méi)收到,轉(zhuǎn)步驟602, 繼續(xù)從其他P2P客戶(hù)端下載媒體分片,如果收到,轉(zhuǎn)步驟604 ;步驟604,P2P客戶(hù)端判斷下載狀態(tài)是否為低速下載,如果是,轉(zhuǎn)步驟606,如果不 是,轉(zhuǎn)步驟605。步驟605,將下載窗口長(zhǎng)度的調(diào)整值和自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度的調(diào)整值遞增,其中,自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度的當(dāng)前調(diào)整值=自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度的前一個(gè)調(diào)整值 +1,即 NDS(n) = Nds (n-l)+l ;
所述下載窗口長(zhǎng)度調(diào)整值的當(dāng)前調(diào)整值=下載窗口長(zhǎng)度的前一個(gè)調(diào)整值+1,即 Mds (n) =MDS(n-l)+l。其中,遞增可以采用本實(shí)施例中的加1,也可以加2、加3等。步驟606,將自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度的調(diào)整值以減法方式遞減,如當(dāng)前自適應(yīng)調(diào)節(jié)窗 口長(zhǎng)度為前一個(gè)自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度減1,即Nds (n) = NDS(n-l)-l ;將下載窗口以除法方式 遞減,如當(dāng)前下載窗口長(zhǎng)度為前一個(gè)下載窗口長(zhǎng)度的調(diào)整值除2,即Mds (n) = Mds (η-1) /2。 當(dāng)然,自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度的調(diào)整值和下載窗口長(zhǎng)度的調(diào)整值可以使用其他方式遞減,如 減2、減3等,或除2、除3等,只要保證下載窗口長(zhǎng)度的調(diào)整值的減小幅度大于自適應(yīng)調(diào)節(jié) 窗口長(zhǎng)度的調(diào)整值的減小幅度,使下載策略更接近于“稀缺優(yōu)先下載”策略,優(yōu)先下載稀缺 分片。步驟607,獲得自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度和下載窗口長(zhǎng)度的當(dāng)前值自適應(yīng)調(diào)節(jié)窗口 長(zhǎng)度=自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度調(diào)整值+第一參數(shù),所述第一參數(shù)為1 ;即N (n) = Nds (η)+Nb (2)下載窗口長(zhǎng)度=下載窗口長(zhǎng)度調(diào)整值+第二參數(shù),所述第二參數(shù)為大于1的常數(shù), 即M (n) =Mds (η)+Mb (3)其中,Nb值為1,Mb值為一個(gè)大于1的常數(shù)。下面根據(jù)圖6基本原理舉例說(shuō)明假設(shè)當(dāng)前下載窗口長(zhǎng)度為7,自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度為3。正常情況下,即當(dāng)前下載 狀態(tài)即不是高速下載,也不是低速下載時(shí),Ρ2Ρ客戶(hù)端根據(jù)下載窗口長(zhǎng)度7交替從其他Ρ2Ρ 客戶(hù)端下載所述順序下載列表和所述稀缺下載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片,其 中,下載稀缺下載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片時(shí),以自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度3確 定媒體分片序號(hào)侯選名單。當(dāng)?shù)谝粫r(shí)刻測(cè)得下載狀態(tài)為高速下載,則將下載窗口長(zhǎng)度調(diào)節(jié)為8,將自適應(yīng)調(diào)節(jié) 窗口長(zhǎng)度調(diào)節(jié)為4,此時(shí),Ρ2Ρ客戶(hù)端根據(jù)下載窗口長(zhǎng)度8交替從其他Ρ2Ρ客戶(hù)端下載所述 順序下載列表和所述稀缺下載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片,其中,下載稀缺下 載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片時(shí),以自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度4確定媒體分片序號(hào) 侯選名單。如果在第二時(shí)刻下載狀態(tài)保持高速下載,則可以將下載窗口長(zhǎng)度和自適應(yīng)調(diào)節(jié) 窗口長(zhǎng)度繼續(xù)遞增。當(dāng)?shù)诙r(shí)刻測(cè)得下載狀態(tài)為低速下載,則將下載窗口長(zhǎng)度調(diào)節(jié)為4(按除法遞 減),將自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度調(diào)節(jié)為3 (按減法遞減),此時(shí),Ρ2Ρ客戶(hù)端根據(jù)下載窗口長(zhǎng)度 4交替從其他Ρ2Ρ客戶(hù)端下載所述順序下載列表和所述稀缺下載列表中的媒體分片序號(hào)對(duì) 應(yīng)的媒體分片,其中,下載稀缺下載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片時(shí),以自適應(yīng)調(diào) 節(jié)窗口長(zhǎng)度3確定媒體分片序號(hào)侯選名單。如果在第三時(shí)刻下載狀態(tài)保持低速下載,則可 以將下載窗口長(zhǎng)度和自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度繼續(xù)遞減。上述進(jìn)行除法遞減時(shí),如果結(jié)果不為 整數(shù),則進(jìn)行取整。本發(fā)明實(shí)施例提供了 一種Ρ2Ρ流媒體下載系統(tǒng),包括track服務(wù)器和至少兩個(gè)P2P 客戶(hù)端,其中一個(gè)P2P客戶(hù)端從其他P2P客戶(hù)端下載流媒體,所述P2P客戶(hù)端,用于從所述 track服務(wù)器獲取下載興趣列表,所述下載興趣列表記錄有整個(gè)系統(tǒng)的所有媒體分片序號(hào); 根據(jù)所述下載興趣列表生成稀缺下載列表和順序下載列表,所述稀缺下載列表根據(jù)稀缺程度記錄媒體分片序號(hào),所述順序下載列表根據(jù)順序記錄媒體分片序號(hào);根據(jù)下載窗口長(zhǎng)度 交替從其他P2P客戶(hù)端下載所述順序下載列表和所述稀缺下載列表中的媒體分片序號(hào)對(duì) 應(yīng)的媒體分片;其中,所述下載順序下載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片為從所述 順序下載列表選擇與下載窗口長(zhǎng)度對(duì)應(yīng)的媒體分片序號(hào)下載;所述下載稀缺下載列表中的 媒體分片序號(hào)對(duì)應(yīng)的媒體分片為從所述稀缺下載列表選擇與下載窗口長(zhǎng)度對(duì)應(yīng)的媒體分 片序號(hào)按自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度進(jìn)行下載本發(fā)明實(shí)施例還提供了 一種P2P客戶(hù)端,應(yīng)用于包括track服務(wù)器和至少兩個(gè)P2P 客戶(hù)端的流媒體系統(tǒng)中,所述P2P客戶(hù)端如圖7所示,包括列表維護(hù)模塊710,用于從所述track服務(wù)器獲取下載興趣列表,所述下載興趣列 表記錄有整個(gè)系統(tǒng)的所有媒體分片序號(hào),根據(jù)所述下載興趣列表生成稀缺下載列表和順序 下載列表,所述稀缺下載列表根據(jù)稀缺程度記錄媒體分片序號(hào),所述順序下載列表根據(jù)順 序記錄媒體分片序號(hào);下載模塊720,與列表維護(hù)模塊710連接,用于根據(jù)下載窗口長(zhǎng)度交替從其他P2P 客戶(hù)端下載所述順序下載列表和所述稀缺下載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片;其 中,所述下載順序下載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片為從所述順序下載列表選擇 與下載窗口長(zhǎng)度對(duì)應(yīng)的媒體分片序號(hào)下載;所述下載稀缺下載列表中的媒體分片序號(hào)對(duì)應(yīng) 的媒體分片為從所述稀缺下載列表選擇與下載窗口長(zhǎng)度對(duì)應(yīng)的媒體分片序號(hào)按自適應(yīng)調(diào) 節(jié)窗口長(zhǎng)度進(jìn)行下載;切換模塊730,與下載模塊720連接,用于根據(jù)平均下載速率ADR和當(dāng)前下載速率 TDR確定當(dāng)前下載速率的狀態(tài),根據(jù)所述當(dāng)前下載速率狀態(tài)調(diào)節(jié)下載窗口長(zhǎng)度和自適應(yīng)調(diào) 節(jié)窗口長(zhǎng)度。切換模塊730,具體用于,當(dāng)TDR大于ADR,且差值大于第一閾值時(shí),表明當(dāng)前下載速率處于高速下載狀態(tài), 增加下載窗口長(zhǎng)度和自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度,優(yōu)先下載稀缺媒體分片;當(dāng)ADR大于TDR,且差值大于第二閾值時(shí),表明當(dāng)前下載速率處于低速下載狀態(tài), 減小下載窗口長(zhǎng)度和自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度,其中,下載窗口長(zhǎng)度以除法遞減,自適應(yīng)調(diào)節(jié)窗 口長(zhǎng)度以減法遞減,優(yōu)先下載離當(dāng)前播放分片距離更近的媒體分片。ADR的當(dāng)前值通過(guò)使用下面的權(quán)移動(dòng)平均濾波算法計(jì)算ADR (η) = α *TDR(n) + (1_ α ) *ADR(n_l)其中,濾波常量α的值,表示濾波的程度,即過(guò)濾的強(qiáng)度,在(0,1)范圍內(nèi)。切換模塊730,具體用于,所述增加自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度時(shí),自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度=自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度調(diào)整值+第一參數(shù),所述第一參數(shù)為 1 ;其中,所述自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度的當(dāng)前調(diào)整值=自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度的前一個(gè)調(diào) 整值+1 ;所述增加下載窗口長(zhǎng)度時(shí),下載窗口長(zhǎng)度=下載窗口長(zhǎng)度調(diào)整值+第二參數(shù),所述第二參數(shù)為大于1的常 數(shù);
其中,所述下載窗口長(zhǎng)度調(diào)整值的當(dāng)前調(diào)整值=下載窗口長(zhǎng)度的前一個(gè)調(diào)整值 +1 ;所述減小自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度時(shí),自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度=自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度調(diào)整值+第一參數(shù),所述第一參數(shù)為 1 ;其中,所述自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度的當(dāng)前調(diào)整值=自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度的前一個(gè)調(diào) 整值-1 ;所述減小下載窗口長(zhǎng)度時(shí),下載窗口長(zhǎng)度=下載窗口長(zhǎng)度調(diào)整值+第二參數(shù),所述第二參數(shù)為大于1的常 數(shù);其中,所述下載窗口長(zhǎng)度調(diào)整值的當(dāng)前調(diào)整值=下載窗口長(zhǎng)度的前一個(gè)調(diào)整值/2。本發(fā)明實(shí)施例中,根據(jù)節(jié)點(diǎn)目前的下載速率情況,自適應(yīng)地調(diào)整下載窗口長(zhǎng)度,從 而實(shí)現(xiàn)“順序優(yōu)先下載”和“稀缺優(yōu)先下載”兩個(gè)策略之間的平衡,當(dāng)下載速率大于用戶(hù)觀看 速率,可以使用冗余資源下載稀缺分片,當(dāng)下載速率不大于用戶(hù)觀看速率,進(jìn)行順序下載, 保證用戶(hù)觀看效果,總體上提高P2P流媒體系統(tǒng)中視頻/音頻數(shù)據(jù)的下載效率。通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明實(shí)施例 可以通過(guò)硬件實(shí)現(xiàn),也可以借助軟件加必要的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理 解,本發(fā)明實(shí)施例的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該軟件產(chǎn)品可以存儲(chǔ)在一 個(gè)非易失性存儲(chǔ)介質(zhì)(可以是⑶-ROM,U盤(pán),移動(dòng)硬盤(pán)等)中,包括若干指令用以使得一臺(tái) 計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的 方法。本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施例的示意圖,附圖中的模塊或流 程并不一定是實(shí)施本發(fā)明所必須的。本領(lǐng)域技術(shù)人員可以理解實(shí)施例中的裝置中的模塊可以按照實(shí)施例描述進(jìn)行分 布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一個(gè)或多個(gè)裝置中。上 述實(shí)施例的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。以上公開(kāi)的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但是,本發(fā)明實(shí)施例并非局限于此,任 何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明實(shí)施例的保護(hù)范圍。
權(quán)利要求
一種P2P流媒體下載方法,應(yīng)用于包括索引track服務(wù)器和至少兩個(gè)P2P客戶(hù)端的流媒體系統(tǒng)中,其特征在于,所述方法包括所述P2P客戶(hù)端從所述track服務(wù)器獲取下載興趣列表,所述下載興趣列表記錄整個(gè)系統(tǒng)的所有媒體分片序號(hào);所述P2P客戶(hù)端根據(jù)所述下載興趣列表生成稀缺下載列表和順序下載列表,所述稀缺下載列表根據(jù)稀缺程度記錄媒體分片序號(hào),所述順序下載列表根據(jù)順序記錄媒體分片序號(hào);所述P2P客戶(hù)端根據(jù)下載窗口長(zhǎng)度交替從其他P2P客戶(hù)端下載所述順序下載列表和所述稀缺下載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片;其中,所述下載順序下載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片為從所述順序下載列表選擇與下載窗口長(zhǎng)度對(duì)應(yīng)的媒體分片序號(hào)下載;所述下載稀缺下載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片為從所述稀缺下載列表選擇與下載窗口長(zhǎng)度對(duì)應(yīng)的媒體分片序號(hào)按自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度進(jìn)行下載。
2.如權(quán)利要求1所述的方法,其特征在于,所述下載窗口長(zhǎng)度和所述自適應(yīng)調(diào)節(jié)窗口 長(zhǎng)度根據(jù)下載速率狀態(tài)進(jìn)行自適應(yīng)調(diào)節(jié)。
3.如權(quán)利要求2所述的方法,其特征在于,所述下載窗口長(zhǎng)度和自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度 根據(jù)下載速率狀態(tài)進(jìn)行自適應(yīng)調(diào)節(jié),具體包括P2P客戶(hù)端根據(jù)平均下載速率ADR和當(dāng)前下載速率TDR確定當(dāng)前下載速率的狀態(tài); P2P客戶(hù)端根據(jù)所述當(dāng)前下載速率的狀態(tài)調(diào)節(jié)下載窗口長(zhǎng)度和自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度。
4.如權(quán)利要求3所述的方法,其特征在于,所述P2P客戶(hù)端根據(jù)所述當(dāng)前下載速率的狀 態(tài)調(diào)節(jié)下載窗口長(zhǎng)度和自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度,具體包括當(dāng)TDR大于ADR,且差值大于第一閾值時(shí),增加下載窗口長(zhǎng)度和自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度; 當(dāng)ADR大于TDR,且差值大于第二閾值時(shí),減小下載窗口長(zhǎng)度和自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度, 其中,下載窗口長(zhǎng)度以除法遞減,自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度以減法遞減。
5.如權(quán)利要求3或4所述的方法,其特征在于, ADR的當(dāng)前值通過(guò)以下公式計(jì)算ADR(η) = α *TDR(n) + (l-a )*ADR(n-l) 其中,濾波常量α的值,表示濾波的程度,在(0,1)范圍內(nèi)。
6.如權(quán)利要求4所述的方法,其特征在于, 所述增加自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度時(shí),自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度=自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度調(diào)整值+第一參數(shù),所述第一參數(shù)為1 ; 其中,所述自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度的當(dāng)前調(diào)整值=自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度的前一個(gè)調(diào)整值+1 ; 所述增加下載窗口長(zhǎng)度時(shí),下載窗口長(zhǎng)度=下載窗口長(zhǎng)度調(diào)整值+第二參數(shù),所述第二參數(shù)為大于1的常數(shù); 其中,所述下載窗口長(zhǎng)度調(diào)整值的當(dāng)前調(diào)整值=下載窗口長(zhǎng)度的前一個(gè)調(diào)整值+1 ; 所述減小自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度時(shí),自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度=自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度調(diào)整值+第一參數(shù),所述第一參數(shù)為1 ; 其中,所述自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度的當(dāng)前調(diào)整值=自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度的前一個(gè)調(diào)整所述減小下載窗口長(zhǎng)度時(shí),下載窗口長(zhǎng)度=下載窗口長(zhǎng)度調(diào)整值+第二參數(shù),所述第二參數(shù)為大于1的常數(shù); 其中,所述下載窗口長(zhǎng)度調(diào)整值的當(dāng)前調(diào)整值=下載窗口長(zhǎng)度的前一個(gè)調(diào)整值/2。
7.—種P2P流媒體下載系統(tǒng),包括track服務(wù)器和至少兩個(gè)P2P客戶(hù)端,其特征在于, 所述P2P客戶(hù)端,用于從所述track服務(wù)器獲取下載興趣列表,所述下載興趣列表記錄有整個(gè)系統(tǒng)的所有媒體分片序號(hào);根據(jù)所述下載興趣列表生成稀缺下載列表和順序下載列 表,所述稀缺下載列表根據(jù)稀缺程度記錄媒體分片序號(hào),所述順序下載列表根據(jù)順序記錄 媒體分片序號(hào);根據(jù)下載窗口長(zhǎng)度交替從其他P2P客戶(hù)端下載所述順序下載列表和所述稀 缺下載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片;其中,所述下載順序下載列表中的媒體分 片序號(hào)對(duì)應(yīng)的媒體分片為從所述順序下載列表選擇與下載窗口長(zhǎng)度對(duì)應(yīng)的媒體分片序號(hào) 下載;所述下載稀缺下載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片為從所述稀缺下載列表選 擇與下載窗口長(zhǎng)度對(duì)應(yīng)的媒體分片序號(hào)按自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度進(jìn)行下載。
8.—種P2P客戶(hù)端,應(yīng)用于包括track服務(wù)器和至少兩個(gè)P2P客戶(hù)端的流媒體系統(tǒng)中, 其特征在于,所述P2P客戶(hù)端包括列表維護(hù)模塊,用于從所述track服務(wù)器獲取下載興趣列表,所述下載興趣列表記錄 有整個(gè)系統(tǒng)所有媒體分片序號(hào),根據(jù)所述下載興趣列表生成稀缺下載列表和順序下載列 表,所述稀缺下載列表根據(jù)稀缺程度記錄媒體分片序號(hào),所述順序下載列表根據(jù)順序記錄 媒體分片序號(hào);下載模塊,用于根據(jù)下載窗口長(zhǎng)度交替從其他P2P客戶(hù)端下載所述順序下載列表和所 述稀缺下載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片;其中,所述下載順序下載列表中的媒 體分片序號(hào)對(duì)應(yīng)的媒體分片為從所述順序下載列表選擇與下載窗口長(zhǎng)度對(duì)應(yīng)的媒體分片 序號(hào)下載;所述下載稀缺下載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片為從所述稀缺下載列 表選擇與下載窗口長(zhǎng)度對(duì)應(yīng)的媒體分片序號(hào)按自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度進(jìn)行下載;切換模塊,用于根據(jù)平均下載速率ADR和當(dāng)前下載速率TDR確定當(dāng)前下載速率的狀態(tài), 根據(jù)所述當(dāng)前下載速率狀態(tài)調(diào)節(jié)下載窗口長(zhǎng)度和自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度。
9.如權(quán)利要求8所述的P2P客戶(hù)端,其特征在于,所述切換模塊,具體用于,當(dāng)TDR大于ADR,且差值大于第一閾值時(shí),增加下載窗口長(zhǎng)度和自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度; 當(dāng)ADR大于TDR,且差值大于第二閾值時(shí),減小下載窗口長(zhǎng)度和自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度, 其中,下載窗口長(zhǎng)度以除法遞減,自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度以減法遞減。
10.如權(quán)利要求8或9所述的P2P客戶(hù)端,其特征在于, ADR的當(dāng)前值通過(guò)以下公式計(jì)算ADR(η) = α *TDR(n) + (l-a )*ADR(n-l) 其中,濾波常量α的值,表示濾波的程度,在(0,1)范圍內(nèi)。
11.如權(quán)利要求9所述的P2P客戶(hù)端,其特征在于,所述切換模塊,具體用于, 所述增加自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度時(shí),自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度=自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度調(diào)整值+第一參數(shù),所述第一參數(shù)為1 ; 其中,所述自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度的當(dāng)前調(diào)整值=自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度的前一個(gè)調(diào)整值 所述增加下載窗口長(zhǎng)度時(shí),下載窗口長(zhǎng)度=下載窗口長(zhǎng)度調(diào)整值+第二參數(shù),所述第二參數(shù)為大于1的常數(shù); 其中,所述下載窗口長(zhǎng)度調(diào)整值的當(dāng)前調(diào)整值=下載窗口長(zhǎng)度的前一個(gè)調(diào)整值+1 ; 所述減小自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度時(shí),自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度=自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度調(diào)整值+第一參數(shù),所述第一參數(shù)為1 ; 其中,所述自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度的當(dāng)前調(diào)整值=自適應(yīng)調(diào)節(jié)窗口長(zhǎng)度的前一個(gè)調(diào)整 值-1;所述減小下載窗口長(zhǎng)度時(shí),下載窗口長(zhǎng)度=下載窗口長(zhǎng)度調(diào)整值+第二參數(shù),所述第二參數(shù)為大于1的常數(shù); 其中,所述下載窗口長(zhǎng)度調(diào)整值的當(dāng)前調(diào)整值=下載窗口長(zhǎng)度的前一個(gè)調(diào)整值/2。
全文摘要
本發(fā)明實(shí)施例公開(kāi)了一種P2P流媒體下載方法、系統(tǒng)及裝置,所述方法包括P2P客戶(hù)端從track服務(wù)器獲取下載興趣列表,下載興趣列表記錄整個(gè)系統(tǒng)的所有媒體分片序號(hào);所述P2P客戶(hù)端根據(jù)所述下載興趣列表生成稀缺下載列表和順序下載列表,所述稀缺下載列表根據(jù)稀缺程度記錄媒體分片序號(hào),所述順序下載列表根據(jù)順序記錄媒體分片序號(hào);所述P2P客戶(hù)端根據(jù)下載窗口長(zhǎng)度交替從其他P2P客戶(hù)端下載所述順序下載列表和所述稀缺下載列表中的媒體分片序號(hào)對(duì)應(yīng)的媒體分片。本發(fā)明提高了現(xiàn)有P2P流媒體系統(tǒng)中視頻/音頻數(shù)據(jù)的分發(fā)效率。
文檔編號(hào)H04L29/08GK101997890SQ20091009159
公開(kāi)日2011年3月30日 申請(qǐng)日期2009年8月28日 優(yōu)先權(quán)日2009年8月28日
發(fā)明者吳亦川, 廖洪鑾, 彭晉, 段曉東, 金鑫, 魏冰 申請(qǐng)人:中國(guó)移動(dòng)通信集團(tuán)公司