專利名稱:一種p2p流媒體直播方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)流媒體技術(shù)領(lǐng)域,尤其涉及一種P2P(Peer toPeer,對等)網(wǎng)絡(luò)流 媒體直播方法和系統(tǒng)。
背景技術(shù):
流媒體是指采用流式傳輸?shù)姆绞皆贗nternet/Intranet播放的媒體格式。流式傳 輸將整個音頻、視頻或三維媒體等多媒體內(nèi)容經(jīng)過特定的壓縮方式生成壓縮包,由媒體服 務(wù)器向用戶終端實(shí)時傳送??蛻舳藷o需下載完整媒體內(nèi)容即可播放該媒體。與單純的下載 方式相比,這種對多媒體文件邊下載邊播放的流式傳輸方式不僅使啟動延時大幅度縮短, 系統(tǒng)緩存容量需求也大大降低,極大地減少了用戶等待時間。流媒體應(yīng)用越來越普及,但對帶寬資源要求高且服務(wù)時間長,傳統(tǒng)C/S模式服務(wù) 器很容易成為系統(tǒng)瓶頸。IP組播采用多個節(jié)點(diǎn)共享媒體流的方式減輕服務(wù)器和網(wǎng)絡(luò)負(fù)載, 但由于部署原因很難在hternet上廣泛實(shí)施;CDN(Content Delivery Network,內(nèi)容分發(fā) 網(wǎng)絡(luò))采用代理緩存節(jié)點(diǎn)的方式將服務(wù)和內(nèi)容推向網(wǎng)絡(luò)“邊緣”,但部署昂貴且存在瓶頸。 P2P流媒體通過利用普通節(jié)點(diǎn)的資源為其它節(jié)點(diǎn)提供服務(wù),在不改變現(xiàn)有網(wǎng)絡(luò)配置的前提 下具有良好的性價比,是一種具有廣泛應(yīng)用前景的流媒體分發(fā)方法。高清流媒體直播是指以流媒體的形式傳送高清的實(shí)時畫面和聲音,并還原播放為 視頻和音頻。然而要是以P2P方式承載的高清流媒體直播流暢播放,為減低客戶節(jié)點(diǎn)對服 務(wù)器的依賴,節(jié)點(diǎn)間需要相互共享數(shù)據(jù),而節(jié)點(diǎn)間的數(shù)據(jù)交互面臨節(jié)點(diǎn)數(shù)據(jù)完整問題。直播的數(shù)據(jù)對實(shí)時性要求較高,已過時的數(shù)據(jù)會被拋棄。當(dāng)由多個節(jié)點(diǎn)提供數(shù)據(jù) 的時候,需要解決如何實(shí)時獲取完整的數(shù)據(jù)以保證流媒體的流暢播放的問題。
發(fā)明內(nèi)容
本發(fā)明要解決的一個技術(shù)問題是提供一種P2P流媒體直播系統(tǒng)和方法,能夠保證 直播流媒體的流暢播放。本發(fā)明提供一種P2P流媒體直播方法,包括監(jiān)測直播流媒體的數(shù)據(jù)緩沖區(qū)的狀態(tài);當(dāng)所述數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)未填滿數(shù)據(jù)安全區(qū)域時,客戶節(jié)點(diǎn)優(yōu)先向補(bǔ)償服務(wù)器請 求對應(yīng)的直播流媒體數(shù)據(jù);當(dāng)所述數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)填滿所述數(shù)據(jù)安全區(qū)域時,所述客戶節(jié)點(diǎn)根據(jù)上層節(jié)點(diǎn)的評分向所述上層節(jié)點(diǎn)請求直播流媒體數(shù)據(jù);所述客戶節(jié)點(diǎn)停止向所述補(bǔ)償服務(wù)器請求直播流媒體數(shù)據(jù)。進(jìn)一步,上述客戶節(jié)點(diǎn)根據(jù)上層節(jié)點(diǎn)的評分向所述上層節(jié)點(diǎn)請求直播流媒體數(shù)據(jù) 的步驟包括客戶節(jié)點(diǎn)從索引服務(wù)器查詢流媒體直播的節(jié)點(diǎn)列表;客戶節(jié)點(diǎn)根據(jù)節(jié)點(diǎn)評分策略對節(jié)點(diǎn)列表中的上層節(jié)點(diǎn)進(jìn)行評分;
客戶節(jié)點(diǎn)根據(jù)上層節(jié)點(diǎn)的評分向上層節(jié)點(diǎn)按比例請求直播流媒體數(shù)據(jù)。進(jìn)一步,該方法還包括監(jiān)測所述直播流媒體數(shù)據(jù)的下載速度是否低于直播源碼率,如果低于,則所述客 戶節(jié)點(diǎn)向所述索引服務(wù)器請求新的節(jié)點(diǎn)列表,替換評分低的上層節(jié)點(diǎn);禾口/ 或所述客戶節(jié)點(diǎn)定期檢查當(dāng)前上層節(jié)點(diǎn)的評分,向所述索引服務(wù)器請求新的上層節(jié) 點(diǎn)以更新評分低的上層節(jié)點(diǎn)。禾P/或所述客戶節(jié)點(diǎn)判斷所述上層節(jié)點(diǎn)的數(shù)量是否滿足預(yù)定數(shù)量,當(dāng)不滿足時,向所述 索引服務(wù)器請求新的節(jié)點(diǎn)列表。本發(fā)明提供一種P2P流媒體直播系統(tǒng),包括索引服務(wù)器,用于基于頻道管理頻道所屬的數(shù)據(jù)節(jié)點(diǎn);接收了來自客戶節(jié)點(diǎn)的注 冊;接收來自客戶節(jié)點(diǎn)的對于頻道的數(shù)據(jù)節(jié)點(diǎn)查詢請求,向客戶節(jié)點(diǎn)發(fā)送所述頻道的數(shù)據(jù) 節(jié)占.
I— /、、、 內(nèi)容服務(wù)器,用于提供流媒體直播的原始數(shù)據(jù);補(bǔ)償服務(wù)器,用于接收來自客戶節(jié)點(diǎn)的緊急直播流媒體數(shù)據(jù)請求,向客戶節(jié)點(diǎn)發(fā) 送請求的數(shù)據(jù);客戶節(jié)點(diǎn),用于監(jiān)測流媒體直播的數(shù)據(jù)緩沖區(qū)的狀態(tài);當(dāng)所述數(shù)據(jù)緩沖區(qū)的數(shù)據(jù) 未填滿數(shù)據(jù)安全區(qū)域時,優(yōu)先向所述補(bǔ)償服務(wù)器請求對應(yīng)的直播流媒體數(shù)據(jù);當(dāng)所述數(shù)據(jù) 緩沖區(qū)的數(shù)據(jù)填滿所述數(shù)據(jù)安全區(qū)域時,根據(jù)上層節(jié)點(diǎn)的評分向所述上層節(jié)點(diǎn)請求直播流 媒體數(shù)據(jù),停止向所述補(bǔ)償服務(wù)器請求直播流媒體數(shù)據(jù)。進(jìn)一步,所述客戶節(jié)點(diǎn)還用于監(jiān)測所述直播數(shù)據(jù)的下載速度是否低于直播源碼 率,如果低于,則向所述索引服務(wù)器請求新的節(jié)點(diǎn)列表,替換評分低的上層節(jié)點(diǎn);和/ 或所述客戶節(jié)點(diǎn)還用于定期檢查當(dāng)前上層節(jié)點(diǎn)的評分,向所述索引服務(wù)器請求新的 上層節(jié)點(diǎn)以更新評分低的上層節(jié)點(diǎn)。禾P/或所述客戶節(jié)點(diǎn)還用于判斷所述上層節(jié)點(diǎn)的數(shù)量是否滿足預(yù)定數(shù)量,當(dāng)不滿足時, 向所述索引服務(wù)器請求新的節(jié)點(diǎn)列表。本發(fā)明的P2P流媒體直播系統(tǒng)和方法,提供了安全區(qū)域補(bǔ)償策略,通過補(bǔ)償服務(wù) 器向客戶節(jié)點(diǎn)提供緊急直播流媒體數(shù)據(jù),保證客戶節(jié)點(diǎn)上流媒體直播的流暢播放。
圖1示出本發(fā)明實(shí)施例的一種P2P流媒體直播系統(tǒng)的示意圖;圖2示出本發(fā)明實(shí)施例的一種P2P流媒體直播方法的流程圖;圖3示出本發(fā)明實(shí)施例中采用的一種安全區(qū)域補(bǔ)償策略示意圖;圖4示出本發(fā)明實(shí)施例的另一種P2P流媒體直播方法的流程圖;圖5示出本發(fā)明實(shí)施例中節(jié)點(diǎn)更新的示例的圖示。
具體實(shí)施例方式下面參照附圖對本發(fā)明進(jìn)行更全面的描述,其中說明本發(fā)明的示例性實(shí)施例。圖1示出本發(fā)明實(shí)施例的一種P2P流媒體直播系統(tǒng)的示意圖。如圖1所示,該直 播系統(tǒng)包括索引服務(wù)器(Tracker krver) 11、內(nèi)容服務(wù)器(Content krver) 12、補(bǔ)償服務(wù) 器13和客戶節(jié)點(diǎn)(如圖1所示,節(jié)點(diǎn)A、B、C)。其中,索引服務(wù)器11是P2P直播網(wǎng)絡(luò)的控 制者,用于基于頻道管理頻道所屬的數(shù)據(jù)節(jié)點(diǎn)(客戶節(jié)點(diǎn));接收了來自客戶節(jié)點(diǎn)的注冊; 并接收來自客戶節(jié)點(diǎn)的對于頻道的數(shù)據(jù)節(jié)點(diǎn)查詢請求,向客戶節(jié)點(diǎn)發(fā)送該頻道的數(shù)據(jù)節(jié)點(diǎn) 列表。內(nèi)容服務(wù)器12是P2P直播數(shù)據(jù)源的提供者,用于提供直播流媒體的原始數(shù)據(jù),客戶 節(jié)點(diǎn)可以向內(nèi)容服務(wù)器12請求直播流媒體數(shù)據(jù),由內(nèi)容服務(wù)器12發(fā)送給請求的客戶節(jié)點(diǎn)。 補(bǔ)償服務(wù)器13是緊急直播流媒體數(shù)據(jù)提供者,用于接收來自客戶節(jié)點(diǎn)的緊急直播流媒體 數(shù)據(jù)請求,向客戶節(jié)點(diǎn)發(fā)送請求的直播流媒體數(shù)據(jù)。當(dāng)客戶節(jié)點(diǎn)的數(shù)據(jù)不足時,向補(bǔ)償服務(wù) 器13請求直播流媒體數(shù)據(jù),以快速穩(wěn)定地獲取足夠數(shù)據(jù)實(shí)現(xiàn)流媒體的流暢播放??蛻艄?jié) 點(diǎn),用于監(jiān)測流媒體直播的數(shù)據(jù)緩沖區(qū)的狀態(tài);當(dāng)數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)未填滿數(shù)據(jù)安全區(qū)域 時,優(yōu)先向補(bǔ)償服務(wù)器請求對應(yīng)的直播數(shù)據(jù);當(dāng)數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)填滿數(shù)據(jù)安全區(qū)域時,根 據(jù)上層節(jié)點(diǎn)的評分向上層節(jié)點(diǎn)請求直播流媒體數(shù)據(jù),停止向補(bǔ)償服務(wù)器請求直播流媒體數(shù) 據(jù)。流媒體直播的數(shù)據(jù)通常以時間為基準(zhǔn)劃分成不同的數(shù)據(jù)塊,再以流水號的形式對 其進(jìn)行編號,流媒體直播對已編號的數(shù)據(jù)塊在P2P網(wǎng)絡(luò)中傳輸,并在接收端對數(shù)據(jù)進(jìn)行還 原播放。在本文中,也可以將一個直播流媒體稱為一個直播頻道??蛻艄?jié)點(diǎn)是P2P網(wǎng)絡(luò)中的基礎(chǔ)元素??蛻艄?jié)點(diǎn)在P2P網(wǎng)絡(luò)內(nèi)可以向其它節(jié)點(diǎn)請求 數(shù)據(jù)(下層節(jié)點(diǎn)功能),也可以向其它節(jié)點(diǎn)共享自身已擁有數(shù)據(jù)(上層節(jié)點(diǎn)功能)。其中, 索引服務(wù)器會控制客戶節(jié)點(diǎn)之間的連接,根據(jù)索引服務(wù)器對內(nèi)容服務(wù)器負(fù)載控制策略,減 輕內(nèi)容服務(wù)器的負(fù)擔(dān),有一部分的節(jié)點(diǎn)會被分配向內(nèi)容服務(wù)器請求數(shù)據(jù)(如圖1中A、B節(jié) 點(diǎn)),而另一部分的節(jié)點(diǎn)會向其它客戶節(jié)點(diǎn)請求數(shù)據(jù)(如圖1中C節(jié)點(diǎn)向A、B節(jié)點(diǎn)請求數(shù) 據(jù))。圖2示出本發(fā)明實(shí)施例的一種P2P流媒體直播方法的流程圖。如圖2所示,在步驟202,監(jiān)測直播流媒體的數(shù)據(jù)緩沖區(qū)的狀態(tài)。該數(shù)據(jù)緩沖區(qū)對 應(yīng)于媒體播放器的數(shù)據(jù)緩沖區(qū),客戶節(jié)點(diǎn)從上層節(jié)點(diǎn)下載的直播流媒體數(shù)據(jù),排序后存入 該數(shù)據(jù)緩沖區(qū)以提供給媒體播放器進(jìn)行播放。在步驟204,當(dāng)數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)未填滿數(shù)據(jù)安全區(qū)域時,客戶節(jié)點(diǎn)優(yōu)先向補(bǔ)償服 務(wù)器請求對應(yīng)的直播流媒體數(shù)據(jù)。對應(yīng)的直播流媒體數(shù)據(jù)指的是數(shù)據(jù)緩沖區(qū)中數(shù)據(jù)安全區(qū) 域中尚未填滿的數(shù)據(jù)。當(dāng)客戶節(jié)點(diǎn)發(fā)現(xiàn)下載的數(shù)據(jù)安全區(qū)域的數(shù)據(jù)不足的時候,直接向補(bǔ) 償服務(wù)器請求數(shù)據(jù)。在步驟206,當(dāng)數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)填滿數(shù)據(jù)安全區(qū)域時,客戶節(jié)點(diǎn)根據(jù)上層節(jié)點(diǎn)的 評分向上層節(jié)點(diǎn)請求直播流媒體數(shù)據(jù),客戶節(jié)點(diǎn)停止向補(bǔ)償服務(wù)器請求直播流媒體數(shù)據(jù)。 客戶節(jié)點(diǎn)登陸到有效的上層節(jié)點(diǎn),上層節(jié)點(diǎn)會定時通知所擁有的數(shù)據(jù),客戶節(jié)點(diǎn)根據(jù)上層 節(jié)點(diǎn)的評分,按比例請求數(shù)據(jù)(評分高的多請求,評分低的少請求或不請求)。圖3示出本發(fā)明實(shí)施例中采用的一種安全區(qū)域補(bǔ)償策略示意圖。在圖3的實(shí)施例 中,在客戶節(jié)點(diǎn)實(shí)現(xiàn)數(shù)據(jù)緩沖區(qū)隊(duì)列,下載的直播流媒體數(shù)據(jù)從隊(duì)列的末端插入,而播放器
6播放時從隊(duì)列前端獲取數(shù)據(jù)。以數(shù)據(jù)緩沖區(qū)隊(duì)列的前端為基準(zhǔn),其后一定區(qū)域?yàn)閿?shù)據(jù)安全 區(qū)域,當(dāng)數(shù)據(jù)緩沖區(qū)中數(shù)據(jù)安全區(qū)域的數(shù)據(jù)不足時,及時向補(bǔ)償服務(wù)器請求直播流媒體數(shù) 據(jù)。本領(lǐng)域的技術(shù)人員可以理解,數(shù)據(jù)安全區(qū)域的大小可以根據(jù)數(shù)據(jù)源的不同設(shè)置,例如, 碼率大的流媒體的數(shù)據(jù)安全區(qū)域也需要相應(yīng)增大。如圖3所示,在狀態(tài)1,作為起始時刻,數(shù) 據(jù)安全區(qū)域中的數(shù)據(jù)為空,客戶節(jié)點(diǎn)向補(bǔ)償服務(wù)器請求緊急數(shù)據(jù);在狀態(tài)2,數(shù)據(jù)安全區(qū)域 中的數(shù)據(jù)未滿,此時客戶節(jié)點(diǎn)繼續(xù)向補(bǔ)償服務(wù)器請求緊急數(shù)據(jù);在狀態(tài)3,數(shù)據(jù)安全區(qū)域中 的數(shù)據(jù)已滿,客戶節(jié)點(diǎn)轉(zhuǎn)向上層節(jié)點(diǎn)請求數(shù)據(jù),停止向補(bǔ)償服務(wù)器請求數(shù)據(jù);在狀態(tài)4,當(dāng) 上層節(jié)點(diǎn)不能滿足數(shù)據(jù)安全區(qū)域數(shù)據(jù)時,客戶節(jié)點(diǎn)再次向補(bǔ)償服務(wù)器請求緊急數(shù)據(jù);在狀 態(tài)5,當(dāng)數(shù)據(jù)安全區(qū)域的數(shù)據(jù)已滿時,客戶節(jié)點(diǎn)轉(zhuǎn)向上層節(jié)點(diǎn)請求數(shù)據(jù);在狀態(tài)6,如果上層 節(jié)點(diǎn)下載的數(shù)據(jù)能夠滿足數(shù)據(jù)安全區(qū)域時,持續(xù)向上層節(jié)點(diǎn)請求數(shù)據(jù)。本發(fā)明的P2P流媒體直播系統(tǒng)和方法,提供了安全區(qū)域補(bǔ)償策略,通過補(bǔ)償服務(wù) 器向客戶節(jié)點(diǎn)提供緊急直播流媒體數(shù)據(jù),保證客戶節(jié)點(diǎn)上流媒體直播的流暢播放。下面介紹本發(fā)明實(shí)施例中一種客戶節(jié)點(diǎn)評分及其對應(yīng)數(shù)據(jù)請求量的實(shí)現(xiàn)方法。首 先確定節(jié)點(diǎn)評分機(jī)制,例如設(shè)定最高分為10分,最低分為0分,分?jǐn)?shù)越高代表節(jié)點(diǎn)的響應(yīng)速 度越快,質(zhì)量越好。為上層節(jié)點(diǎn)設(shè)定初始評分,例如初始分?jǐn)?shù)為5分。當(dāng)客戶節(jié)點(diǎn)向上層節(jié) 點(diǎn)登陸后,上層節(jié)點(diǎn)會將擁有的最新數(shù)據(jù)塊定時通知客戶節(jié)點(diǎn),客戶節(jié)點(diǎn)會按照上層節(jié)點(diǎn) 最新數(shù)據(jù)塊的總數(shù)以及上層節(jié)點(diǎn)的評分,計算出向每個上層節(jié)點(diǎn)請求的數(shù)據(jù)量。向一個上 層節(jié)點(diǎn)請求的數(shù)據(jù)量的計算公式示例為請求數(shù)據(jù)量=上層節(jié)點(diǎn)的最新數(shù)據(jù)塊總數(shù)*(上層節(jié)點(diǎn)的評分/該客戶節(jié)點(diǎn)的所 有上層節(jié)點(diǎn)總評分)(1)向上層節(jié)點(diǎn)發(fā)出數(shù)據(jù)請求后,如果數(shù)據(jù)完整返回,則增加該上層節(jié)點(diǎn)的評分;反 之,數(shù)據(jù)返回不完整或沒有返回,則減少該上層節(jié)點(diǎn)的評分。評分的計算公式主要是考慮兩 個方面數(shù)據(jù)能否被下載和傳輸速率。例如,一種增加或減少的評分計算公式為增加或減少的評分=(數(shù)據(jù)能下載為1/數(shù)據(jù)不能下載為-1)X下載速率X權(quán)重(2)其中,公式O)中的權(quán)重可以根據(jù)經(jīng)驗(yàn)確定;在一些實(shí)施例中,可以不包含權(quán)重 項(xiàng)。一個節(jié)點(diǎn)的評分是其他節(jié)點(diǎn)對它評分之和。通過建立節(jié)點(diǎn)評分機(jī)制,客戶節(jié)點(diǎn)可以保留優(yōu)質(zhì)的上層節(jié)點(diǎn)和拋棄劣質(zhì)的上層節(jié) 點(diǎn),從而更準(zhǔn)確、有效地從優(yōu)質(zhì)數(shù)據(jù)節(jié)點(diǎn)中獲取直播流媒體數(shù)據(jù)。圖4示出本發(fā)明實(shí)施例的另一種P2P流媒體直播方法的流程圖。如圖4所示,在步驟402,客戶節(jié)點(diǎn)向索引服務(wù)器注冊登陸,查詢該直播頻道的節(jié) 點(diǎn)列表。在步驟404,客戶節(jié)點(diǎn)登錄返回的節(jié)點(diǎn)列表中的節(jié)點(diǎn),保存成為上層節(jié)點(diǎn),并根據(jù) 節(jié)點(diǎn)評分策略,對上層節(jié)點(diǎn)賦予初始分?jǐn)?shù)。在步驟406,起始時客戶節(jié)點(diǎn)向補(bǔ)償服務(wù)器請求直播頻道的數(shù)據(jù)。在步驟408,當(dāng)數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)填滿數(shù)據(jù)安全區(qū)域時客戶節(jié)點(diǎn)根據(jù)上層節(jié)點(diǎn)的 評分向上層節(jié)點(diǎn)請求流媒體數(shù)據(jù)??蛻艄?jié)點(diǎn)向上層節(jié)點(diǎn)登陸成功后請求數(shù)據(jù),以上層節(jié)點(diǎn)CN 102137124 A
說明書
5/6頁
的評分高低按比例向上層節(jié)點(diǎn)請求數(shù)據(jù)塊。在步驟410,定時檢查提供下載數(shù)據(jù)的當(dāng)前上層節(jié)點(diǎn)的評分,并向索引服務(wù)器請求 新的節(jié)點(diǎn)列表,替換評分低的當(dāng)前上層節(jié)點(diǎn)。在步驟412,定時監(jiān)測直播流媒體數(shù)據(jù)的下載速度與直播源碼率的比較情況,如果 下載速度比直播源碼率低,則向索引服務(wù)器請求新的節(jié)點(diǎn)列表,并將評分低的上層節(jié)點(diǎn)替 換。在步驟414,定時監(jiān)測上層節(jié)點(diǎn)的數(shù)量是否滿足標(biāo)準(zhǔn)節(jié)點(diǎn)數(shù)量,如果不滿足,則向 索引服務(wù)器請求新的節(jié)點(diǎn)列表,登陸上層節(jié)點(diǎn)以達(dá)到標(biāo)準(zhǔn)節(jié)點(diǎn)數(shù)量。根據(jù)本發(fā)明的數(shù)據(jù)安全區(qū)域策略,當(dāng)從上層節(jié)點(diǎn)下載的直播流媒體數(shù)據(jù)未能支持 數(shù)據(jù)安全區(qū)域所需的數(shù)據(jù)量時,轉(zhuǎn)向補(bǔ)償服務(wù)器請求數(shù)據(jù),以快速補(bǔ)齊所需的直播數(shù)據(jù),確 保流暢播放。需要指出,本發(fā)明并不限定圖4實(shí)施例中步驟410、412和414的順序,在其他的實(shí) 施例中,可以包括步驟410、412和414中的一個或者多個。本發(fā)明提供了節(jié)點(diǎn)評分策略和安全區(qū)域補(bǔ)償策略,以保障P2P高清流媒體直播流 暢播放。在P2P高清流媒體直播播放過程中,為了滿足高清碼流條件下的數(shù)據(jù)傳輸要求,用 戶節(jié)點(diǎn)通過節(jié)點(diǎn)評分策略,選擇網(wǎng)絡(luò)傳輸屬性優(yōu)質(zhì)的節(jié)點(diǎn),組成自己的上層節(jié)點(diǎn)隊(duì)列,同時 通過安全區(qū)域補(bǔ)償策略,實(shí)現(xiàn)數(shù)據(jù)緩沖區(qū)安全預(yù)警,做到數(shù)據(jù)智能功化補(bǔ)償,從而實(shí)現(xiàn)P2P 的高清流媒體直播流暢播放。圖5示出本發(fā)明實(shí)施例中節(jié)點(diǎn)更新的示例的圖示。在該實(shí)施例中,例如設(shè)定標(biāo)準(zhǔn) 節(jié)點(diǎn)數(shù)量為5。如圖5所示,步驟5(a),加入頻道直播,向索引服務(wù)器獲取可提供直播數(shù)據(jù)的上層 節(jié)點(diǎn),為上層節(jié)點(diǎn)賦予初始分?jǐn)?shù),例如5。步驟5(b),進(jìn)行上層節(jié)點(diǎn)的評分更新。向上層節(jié)點(diǎn)發(fā)出數(shù)據(jù)請求后,如果數(shù)據(jù)完整 返回,則將該節(jié)點(diǎn)的評分增加;反之,數(shù)據(jù)返回不完整或沒有返回,則將該節(jié)點(diǎn)的評分減少。 經(jīng)過評分更新,上層節(jié)點(diǎn)A的評分變?yōu)?,上層節(jié)點(diǎn)B、E的評分變?yōu)?,而上層節(jié)點(diǎn)C和D的 評分分別變?yōu)?和3。步驟5 (c),更新評分低的上層節(jié)點(diǎn)。定時檢查上層節(jié)點(diǎn)的評分,如果存在評分低于 閾值的上層節(jié)點(diǎn),則重新將索引服務(wù)器請求新的上層節(jié)點(diǎn),并將評分低的上層節(jié)點(diǎn)替換,例 如,用上層節(jié)點(diǎn)F、G替換上層節(jié)點(diǎn)C、D。為新加入的上層節(jié)點(diǎn)F、G賦予初始分?jǐn)?shù)5。步驟5 (d),定時檢查從上層節(jié)點(diǎn)下載數(shù)據(jù)的速度能否滿足直播數(shù)據(jù)源碼率需求, 如果不能滿足,向索引服務(wù)器請求新的數(shù)據(jù)節(jié)點(diǎn),并替換評分低的上層節(jié)點(diǎn)。由于上層節(jié)點(diǎn) 的數(shù)量超過了標(biāo)準(zhǔn)節(jié)點(diǎn)數(shù)量,所以并連接上層節(jié)點(diǎn)E、I。本發(fā)明提供的P2P流媒體直播系統(tǒng)和方法,節(jié)點(diǎn)之間有數(shù)據(jù)通知機(jī)制,上層節(jié)點(diǎn) 定時向下層節(jié)點(diǎn)通知自身擁有的數(shù)據(jù)。下層節(jié)點(diǎn)請求時,只請求上層節(jié)點(diǎn)已通知的數(shù)據(jù),如 果沒有收到數(shù)據(jù)通知,則直接向補(bǔ)償服務(wù)器請求數(shù)據(jù),對同一塊數(shù)據(jù),不會同時向多個節(jié)點(diǎn) 請求,從而高效利用了網(wǎng)絡(luò)資源,最低限度減少冗余數(shù)據(jù)的下載。實(shí)現(xiàn)數(shù)據(jù)安全區(qū)域策略, 預(yù)先檢測緩沖區(qū)數(shù)據(jù)不足的情況,通過補(bǔ)償服務(wù)器快速下載缺少的數(shù)據(jù)塊,及時快速下載 缺少的數(shù)據(jù),從而提供足夠的數(shù)據(jù)實(shí)現(xiàn)流暢的還原播放,保證播放流暢。根據(jù)數(shù)據(jù)源碼率, 自動調(diào)整最優(yōu)下載速度。引入節(jié)點(diǎn)評分策略,根據(jù)數(shù)據(jù)源碼率自動調(diào)整對上層節(jié)點(diǎn)的數(shù)據(jù)請求量,從而調(diào)整下載速度。 本發(fā)明的描述是為了示例和描述起見而給出的,而并不是無遺漏的或者將本發(fā)明 限于所公開的形式。很多修改和變化對于本領(lǐng)域的普通技術(shù)人員而言是顯然的。選擇和描 述實(shí)施例是為了更好說明本發(fā)明的原理和實(shí)際應(yīng)用,并且使本領(lǐng)域的普通技術(shù)人員能夠理 解本發(fā)明從而設(shè)計適于特定用途的帶有各種修改的各種實(shí)施例。
權(quán)利要求
1.一種P2P流媒體直播方法,其特征在于,包括 監(jiān)測直播流媒體的數(shù)據(jù)緩沖區(qū)的狀態(tài);當(dāng)所述數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)未填滿數(shù)據(jù)安全區(qū)域時,客戶節(jié)點(diǎn)優(yōu)先向補(bǔ)償服務(wù)器請求對 應(yīng)的直播流媒體數(shù)據(jù);當(dāng)所述數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)填滿所述數(shù)據(jù)安全區(qū)域時, 所述客戶節(jié)點(diǎn)根據(jù)上層節(jié)點(diǎn)的評分向所述上層節(jié)點(diǎn)請求直播流媒體數(shù)據(jù); 所述客戶節(jié)點(diǎn)停止向所述補(bǔ)償服務(wù)器請求直播流媒體數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的P2P流媒體直播方法,其特征在于,所述客戶節(jié)點(diǎn)根據(jù)上層節(jié) 點(diǎn)的評分向所述上層節(jié)點(diǎn)請求直播流媒體數(shù)據(jù)的步驟包括所述客戶節(jié)點(diǎn)從索引服務(wù)器查詢所述流媒體直播的節(jié)點(diǎn)列表; 所述客戶節(jié)點(diǎn)根據(jù)節(jié)點(diǎn)評分策略對所述節(jié)點(diǎn)列表中的上層節(jié)點(diǎn)進(jìn)行評分; 所述客戶節(jié)點(diǎn)根據(jù)所述上層節(jié)點(diǎn)的評分向所述上層節(jié)點(diǎn)按比例請求直播流媒體數(shù)據(jù)。
3.根據(jù)權(quán)利要求1或2所述的P2P流媒體直播方法,其特征在于,還包括監(jiān)測所述直播流媒體數(shù)據(jù)的下載速度是否低于直播源碼率,如果低于,則所述客戶節(jié) 點(diǎn)向所述索引服務(wù)器請求新的節(jié)點(diǎn)列表,替換評分低的上層節(jié)點(diǎn)。
4.根據(jù)權(quán)利要求1或2所述的P2P流媒體直播方法,其特征在于,還包括所述客戶節(jié)點(diǎn)定期檢查當(dāng)前上層節(jié)點(diǎn)的評分,向所述索引服務(wù)器請求新的上層節(jié)點(diǎn)以 更新評分低的上層節(jié)點(diǎn)。
5.根據(jù)權(quán)利要求1或2所述的P2P流媒體直播方法,其特征在于,還包括所述客戶節(jié)點(diǎn)判斷所述上層節(jié)點(diǎn)的數(shù)量是否滿足預(yù)定數(shù)量,當(dāng)不滿足時,向所述索引 服務(wù)器請求新的節(jié)點(diǎn)列表。
6.一種P2P流媒體直播系統(tǒng),其特征在于,包括索引服務(wù)器,用于基于頻道管理頻道所屬的數(shù)據(jù)節(jié)點(diǎn);接收了來自客戶節(jié)點(diǎn)的注冊; 接收來自客戶節(jié)點(diǎn)的對于頻道的數(shù)據(jù)節(jié)點(diǎn)查詢請求,向客戶節(jié)點(diǎn)發(fā)送所述頻道的數(shù)據(jù)節(jié)點(diǎn);內(nèi)容服務(wù)器,用于提供流媒體直播的原始數(shù)據(jù);補(bǔ)償服務(wù)器,用于接收來自客戶節(jié)點(diǎn)的緊急直播流媒體數(shù)據(jù)請求,向客戶節(jié)點(diǎn)發(fā)送請 求的數(shù)據(jù);客戶節(jié)點(diǎn),用于監(jiān)測流媒體直播的數(shù)據(jù)緩沖區(qū)的狀態(tài);當(dāng)所述數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)未填 滿數(shù)據(jù)安全區(qū)域時,優(yōu)先向所述補(bǔ)償服務(wù)器請求對應(yīng)的直播流媒體數(shù)據(jù);當(dāng)所述數(shù)據(jù)緩沖 區(qū)的數(shù)據(jù)填滿所述數(shù)據(jù)安全區(qū)域時,根據(jù)上層節(jié)點(diǎn)的評分向所述上層節(jié)點(diǎn)請求直播流媒體 數(shù)據(jù),停止向所述補(bǔ)償服務(wù)器請求直播流媒體數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的P2P流媒體直播系統(tǒng),其特征在于,所述客戶節(jié)點(diǎn)還用于監(jiān)測 所述直播流媒體數(shù)據(jù)的下載速度是否低于直播源碼率,如果低于,則向所述索引服務(wù)器請 求新的節(jié)點(diǎn)列表,替換評分低的上層節(jié)點(diǎn)。
8.根據(jù)權(quán)利要求6所述的P2P流媒體直播系統(tǒng),其特征在于,所述客戶節(jié)點(diǎn)還用于定 期檢查當(dāng)前上層節(jié)點(diǎn)的評分,向所述索引服務(wù)器請求新的上層節(jié)點(diǎn)以更新評分低的上層節(jié) 點(diǎn)。
9.根據(jù)權(quán)利要求6所述的P2P流媒體直播系統(tǒng),其特征在于,所述客戶節(jié)點(diǎn)還用于判斷所述上層節(jié)點(diǎn)的數(shù)量是否滿足預(yù)定數(shù)量,當(dāng)不滿足時,向所述索引服務(wù)器請求新的節(jié)點(diǎn)列表。
全文摘要
本發(fā)明公開一種P2P流媒體直播方法和系統(tǒng)。該方法包括監(jiān)測直播流媒體的數(shù)據(jù)緩沖區(qū)的狀態(tài);當(dāng)數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)未填滿數(shù)據(jù)安全區(qū)域時,客戶節(jié)點(diǎn)優(yōu)先向補(bǔ)償服務(wù)器請求對應(yīng)的直播流媒體數(shù)據(jù);當(dāng)數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)填滿數(shù)據(jù)安全區(qū)域時,客戶節(jié)點(diǎn)根據(jù)上層節(jié)點(diǎn)的評分向上層節(jié)點(diǎn)請求直播流媒體數(shù)據(jù)。本發(fā)明的方法和系統(tǒng),用戶節(jié)點(diǎn)通過節(jié)點(diǎn)評分策略,選擇網(wǎng)絡(luò)傳輸屬性優(yōu)質(zhì)的節(jié)點(diǎn),組成自己的節(jié)點(diǎn)隊(duì)列,以滿足高清碼流條件下的數(shù)據(jù)傳輸要求;通過安全區(qū)域補(bǔ)償策略,實(shí)現(xiàn)數(shù)據(jù)緩沖量安全預(yù)警,做到數(shù)據(jù)智能功化補(bǔ)償,從而實(shí)現(xiàn)P2P的高清流媒體直播流暢播放。
文檔編號H04N21/24GK102137124SQ20101010169
公開日2011年7月27日 申請日期2010年1月27日 優(yōu)先權(quán)日2010年1月27日
發(fā)明者龐濤, 張志健, 梁潔, 武娟, 黃海, 龍斌 申請人:中國電信股份有限公司