專利名稱:一種p2p直播視頻節(jié)點數(shù)據(jù)共享的方法、裝置及代理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種P2P直播;現(xiàn)頻節(jié)點^t據(jù)共享的 方法、裝置及代理系統(tǒng)。
背景技術(shù):
作為對等(P2P, Peer to Peer)網(wǎng)絡(luò)技術(shù)和網(wǎng)絡(luò)多媒體服務(wù)的結(jié)合,P2P 視頻直播已經(jīng)成為目前互聯(lián)網(wǎng)最熱門的服務(wù)之一。在實際使用中,P2P視頻直 播節(jié)目的選擇在很多場合下,尤其是在相同局域網(wǎng)內(nèi),有著很強的一致性。 例如各種大型賽事,晚會,重要事件的跟蹤報道等,如果能夠有效地整合這 些收看相同節(jié)目的P2P節(jié)點的資源,使這些資源能夠得到合理的共享,對整 體上改善這些節(jié)點的視頻播放質(zhì)量以及一定程度上緩解P2P流量對整個互聯(lián) 網(wǎng)的傳輸壓力都將具有十分積;〖及的意義。
現(xiàn)有技術(shù)中提供一種實現(xiàn)P2P視頻流數(shù)據(jù)共享的方法,其是將一臺能夠 接收視頻直播數(shù)據(jù)的主機充當(dāng)分流服務(wù)器,該分流服務(wù)器將接收到的視頻流 緩存在本地,并以微軟媒體服務(wù)器協(xié)議(MMS, Microsoft Media Server Protocol)或?qū)崟r傳llT協(xié)i義(RTP, Real-time Transport Protocol)等協(xié)議形式供 局域網(wǎng)其他節(jié)點收看。
在實踐過程中,發(fā)明人經(jīng)過研究發(fā)現(xiàn)上述現(xiàn)有技術(shù)中,由于所有共享 的視頻播放均依賴分流服務(wù)器,而分流服務(wù)器本身也是P2P網(wǎng)絡(luò)的普通節(jié)點, 其播放質(zhì)量受自身所在P2P網(wǎng)絡(luò)中各種因素的限制,因此可靠性較差。此外, 該分流服務(wù)器的分流能力受到其系統(tǒng)性能的限制,因此擴展性也相對較差。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種P2P直播視頻節(jié)點數(shù)據(jù)共享的方法、裝置及代理系 統(tǒng),能夠改善P2P視頻直播的性能,優(yōu)化播放質(zhì)量,提高可靠性和擴展性。 本發(fā)明實施例提供以下技術(shù)方案
本發(fā)明實施例提供一種P2P直播視頻節(jié)點數(shù)據(jù)共享的方法,包括 從網(wǎng)絡(luò)流數(shù)據(jù)包中將P2P視頻流數(shù)據(jù)包分離出來;
若所述P2P視頻流數(shù)據(jù)包中包括視頻數(shù)據(jù)請求包,則在緩存區(qū)中查找預(yù)先存儲的數(shù)據(jù)中是否包含有所述視頻數(shù)據(jù)請求包中所請求的影音數(shù)據(jù),當(dāng)在 所述緩存區(qū)中查找到所述視頻數(shù)據(jù)請求的影音數(shù)據(jù)時,提取并發(fā)送給發(fā)送視 頻數(shù)據(jù)請求包的用戶。
本發(fā)明實施例提供一種P2P直播視頻節(jié)點數(shù)據(jù)共享的裝置,包括 數(shù)據(jù)包鑒別模塊,用于從網(wǎng)絡(luò)流數(shù)據(jù)包中將P2P視頻流數(shù)據(jù)包分離出來; 請求處理模塊,用于若所述P2P視頻流數(shù)據(jù)包中包括視頻數(shù)據(jù)請求包,
則在緩存區(qū)中查找預(yù)先存儲的數(shù)據(jù)中是否包含有所述視頻數(shù)據(jù)請求包中所請
求的影音數(shù)據(jù),當(dāng)在所述緩存區(qū)中查找到所述視頻數(shù)據(jù)請求的影音數(shù)據(jù)時,
提取并發(fā)送給發(fā)送視頻數(shù)據(jù)請求包的用戶。
本發(fā)明實施例還提供一種代理系統(tǒng),包括如上所述的P2P直播視頻節(jié)點
數(shù)據(jù)共享的裝置。
本發(fā)明涉及對P2P視頻直播的性能改善,尤其涉及在局域網(wǎng)環(huán)境下的P2P 視頻直播服務(wù)整體播放質(zhì)量的優(yōu)化。其通過對P2P視頻流中視頻數(shù)據(jù)請求包 進行分析處理,將影音數(shù)據(jù)在用戶之間得到共享,使得在同一局域網(wǎng)內(nèi)收看 同 一 節(jié)目的節(jié)點聚類,進而使這些節(jié)點有較多的機會從同 一局域網(wǎng)的緩存中 下載或上傳播放該節(jié)目所必需的影音數(shù)據(jù),大大減少每個節(jié)點從局域網(wǎng)外部 節(jié)點獲取數(shù)據(jù)的需求,也減少其獲取影音數(shù)據(jù)的平均時間,還減少由原本從 外部網(wǎng)絡(luò)節(jié)點中下栽或上傳數(shù)據(jù)所產(chǎn)生的丟包延時等問題而給播放質(zhì)量帶來 的損害。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實 施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面 描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講, 在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例一提供的系統(tǒng)部署示意圖2是本發(fā)明實施例二提供的P2P直播視頻節(jié)點數(shù)據(jù)共享的方法流程圖; 圖3是本發(fā)明實施例三提供的P2P直播視頻節(jié)點數(shù)據(jù)共享的方法具體流 程圖;圖4是本發(fā)明實施例四提供的可用數(shù)據(jù)信息包具體處理流程圖; 圖5是本發(fā)明實施例四提供的可用數(shù)據(jù)信息包整合處理示意圖; 圖6是本發(fā)明實施例五提供的視頻數(shù)據(jù)下載請求包具體處理流程圖; 圖7是本發(fā)明實施例六提供的P2P直播視頻節(jié)點數(shù)據(jù)共享的裝置結(jié)構(gòu)圖; 圖8是本發(fā)明實施例七提供的可用信息聚合模塊具體結(jié)構(gòu)圖; 圖9是本發(fā)明實施例八提供的請求處理模塊具體結(jié)構(gòu)圖; 圖IO是本發(fā)明實施例九提供的代理系統(tǒng)架構(gòu)圖。
具體實施例方式
本發(fā)明實施例提供一種P2P直播視頻節(jié)點數(shù)據(jù)共享的方法、裝置及系統(tǒng), 能夠改善P2P視頻直播的性能,優(yōu)化播放質(zhì)量,提高可靠性和擴展性。為使 本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,下面參照附圖并舉實施例, 對本發(fā)明進一步詳細說明。
正如上述背景技術(shù)分析的情況,在同一局域網(wǎng)內(nèi)使用P2P視頻服務(wù)的節(jié) 點之間的影音數(shù)據(jù)以及其他可用數(shù)據(jù)信息無法共享,具體來說, 一方面,當(dāng) 同一局域網(wǎng)內(nèi)有多個節(jié)點收看相同節(jié)目時,它們將從局域網(wǎng)外部節(jié)點下載大 量重復(fù)的冗余數(shù)據(jù),不但使下載數(shù)據(jù)的平均延時受到網(wǎng)絡(luò)傳輸中丟包和延時 等因素的很大影響,而且對互聯(lián)網(wǎng)骨干網(wǎng)絡(luò)也造成了許多不必要的資源占用; 另一方面,由于節(jié)點無法有效得知同一局域網(wǎng)內(nèi)的其他節(jié)點的可用凝:據(jù)信息, 其發(fā)送的視頻數(shù)據(jù)下載請求極大的依賴于外部節(jié)點提供的可用數(shù)據(jù)信息,因 此其影音數(shù)據(jù)的下載可能會由于外部節(jié)點的可用數(shù)據(jù)信息更新較慢或者不能 夠及時到達而受到影響。
為此,本發(fā)明提出了在需要進行P2P視頻直播性能優(yōu)化的局域網(wǎng)和互聯(lián) 網(wǎng)(Internet)之間部署一個代理系統(tǒng),如圖1所示,為本發(fā)明實施例一提供 的系統(tǒng)部署示意圖。該代理系統(tǒng)介于基于802.11b的無線局域網(wǎng)和Internet之 間,用于對經(jīng)過該代理系統(tǒng)的影音數(shù)據(jù)進行緩存,以及對數(shù)據(jù)請求包和/或可 用數(shù)據(jù)信息包做相應(yīng)的處理,這樣可以將同 一局域網(wǎng)內(nèi)收看同 一節(jié)目的用戶 聚類,從而使這些用戶能夠協(xié)同下載播放該節(jié)目所必須的影音數(shù)據(jù),從而大 大減少每個節(jié)點用戶從局域網(wǎng)外部節(jié)點用戶獲取數(shù)據(jù)的需求。如圖2所示,為本發(fā)明實施例二 P2P直播視頻節(jié)點數(shù)據(jù)共享的方法流程
圖,包括以下過程
步驟201、從網(wǎng)絡(luò)流數(shù)據(jù)包中將P2P視頻流數(shù)據(jù)包分離出來;
步驟202、若所述P2P視頻流數(shù)據(jù)包中包括視頻數(shù)據(jù)請求包,則在緩存區(qū) 中查找預(yù)先存儲的數(shù)據(jù)中是否包含有所述視頻數(shù)據(jù)請求包中所請求的影音數(shù) 據(jù),當(dāng)在所述緩存區(qū)中查找到所述視頻數(shù)據(jù)請求的影音數(shù)據(jù)時,提取并發(fā)送 給發(fā)送視頻數(shù)據(jù)請求包的用戶。
本發(fā)明實施例解決了在同一局域網(wǎng)內(nèi)使用P2P視頻服務(wù)的節(jié)點之間實現(xiàn) 影音數(shù)據(jù)等信息共享的問題。
需要說明的是,上述流程中還可以包括對所述P2P視頻流數(shù)據(jù)包中的 可用數(shù)據(jù)信息包進行整合處理,包括對由外部用戶發(fā)送給所述局域網(wǎng)內(nèi)的目 標(biāo)用戶的所述P2P視頻流數(shù)據(jù)包中的可用數(shù)據(jù)信息包進行整合處理,將經(jīng)過 整合處理后的可用數(shù)據(jù)信息包發(fā)送給所述局域網(wǎng)內(nèi)的目標(biāo)用戶。
這樣,可以有效的解決同一局域網(wǎng)內(nèi)的節(jié)點無法有效得知其他節(jié)點的可 用數(shù)據(jù)信息的問題,從而大大增加緩存區(qū)內(nèi)影音數(shù)據(jù)被請求的幾率,縮短了 局域網(wǎng)內(nèi)部節(jié)點下載影音數(shù)據(jù)的平均時間。
如圖3所示,為本發(fā)明實施例三P2P直播視頻節(jié)點數(shù)據(jù)共享的方法流程 圖,包括以下過程
步驟301、基于深度包檢測(DPI, Deep Packet Inspection )技術(shù)對網(wǎng)絡(luò)流 數(shù)據(jù)包的應(yīng)用層負載進行檢測,通過P2P視頻流數(shù)據(jù)包的特征信息,將P2P 視頻流數(shù)據(jù)包從'網(wǎng)絡(luò)流數(shù)據(jù)包中分離出來;
步驟302、對于所述P2P視頻流數(shù)據(jù)包中的影音數(shù)據(jù)包,按照所述影音數(shù) 據(jù)包所屬的節(jié)目流及在節(jié)目流中的播放順序,保存在緩存區(qū)中相應(yīng)的位置;
需要說明的是,考慮到視頻直播實時的特性,影音數(shù)據(jù)包的保存僅僅針 對最新一段時間,而過于陳舊的信息將被替換,從而用較小的代價完成完整 的功能。
流數(shù)據(jù)包中的可用數(shù)據(jù)信息包進行整合處理,之后再將經(jīng)過整合處理的可用
8數(shù)據(jù)信息包發(fā)送給所述局域網(wǎng)內(nèi)的目標(biāo)用戶;
所述P2P視頻流數(shù)據(jù)包中的可用數(shù)據(jù)信息包;然后,獲取所述可用數(shù)據(jù)信息 包中所標(biāo)識的數(shù)據(jù)塊的標(biāo)識信息,根據(jù)緩存的與該標(biāo)識信息所標(biāo)識的數(shù)據(jù)塊 為同一播放順序的影音數(shù)據(jù)塊的位置信息,生成緩存區(qū)的可用數(shù)據(jù)信息;再 對接收的所述可用數(shù)據(jù)信息包和生成的緩存區(qū)的可用數(shù)據(jù)信息進行整合修 改;最后,將修改后的可用數(shù)據(jù)信息包發(fā)送給所述局域網(wǎng)內(nèi)的目標(biāo)用戶。
這樣,目標(biāo)節(jié)點所獲得的整合后的可用數(shù)據(jù)信息包既包含了原始鄰居節(jié) 點的可用數(shù)據(jù)信息,又包含了緩存區(qū)中相應(yīng)數(shù)據(jù)的可用數(shù)據(jù)信息,從而為目 標(biāo)節(jié)點提供了更為有效的進行視頻數(shù)據(jù)下載的選擇。
此處需要說明的是,所述可用數(shù)據(jù)信息包能夠表明影音數(shù)據(jù)塊的位置信 息,其表現(xiàn)的形式有很多,例如用以表明影音數(shù)據(jù)塊的位置信息的索引信息, 本發(fā)明對其表現(xiàn)形式不作限制。
步驟304、對所述P2P視頻流數(shù)據(jù)包中的視頻數(shù)據(jù)請求包進行分析處理, 在緩存區(qū)中查找預(yù)先存儲的數(shù)據(jù)中是否包含有所述視頻數(shù)據(jù)請求包中所請求 的影音數(shù)據(jù),當(dāng)在所述緩存區(qū)中查找到所述視頻數(shù)據(jù)請求的影音數(shù)據(jù)時,提 耳又并發(fā)送給發(fā)送視頻數(shù)據(jù)請求包的用戶。
具體而言,首先,對所述P2P視頻流數(shù)據(jù)包中的視頻數(shù)據(jù)請求包進行分 析,獲得影音數(shù)據(jù)塊的播放順序信息;然后,根據(jù)所述播放順序信息在緩存 區(qū)中查找預(yù)先存儲的所述視頻數(shù)據(jù)請求的影音數(shù)據(jù),需要說明的是,所述緩 存區(qū)中預(yù)先存儲的影音數(shù)據(jù)是每次對網(wǎng)絡(luò)流數(shù)據(jù)包的應(yīng)用層負載進行檢測而 分離出來的影音數(shù)據(jù)包;若在所述緩存區(qū)中查找到所述視頻數(shù)據(jù)請求的影音 數(shù)據(jù),則將該影音數(shù)據(jù)提取并發(fā)送給發(fā)送視頻數(shù)據(jù)請求包的用戶。同時,可 以對被請求的用戶屏蔽該視頻數(shù)據(jù)請求。若沒有查找到所述視頻數(shù)據(jù)請求的 影音數(shù)據(jù),則可以將該視頻數(shù)據(jù)請求繼續(xù)發(fā)送給被請求的用戶。
這樣,可以減少由于網(wǎng)絡(luò)不穩(wěn)定而帶來的風(fēng)險,從整體上也減少了數(shù)據(jù) 的下載時間。
為了更加具體地闡述可用數(shù)據(jù)信息包和視頻數(shù)據(jù)請求包的具體處理過程,下面通過兩個實施例加以進一步闡述。
如圖4所示,為本發(fā)明實施例四可用數(shù)據(jù)信息包的處理流程圖,包括以
下過程
步驟401、對收到的來自外部節(jié)點發(fā)送給局域網(wǎng)內(nèi)的目標(biāo)節(jié)點的可用凄史據(jù) 信息包進行解析,讀取該可用數(shù)據(jù)信息包中所標(biāo)識的數(shù)據(jù)塊的標(biāo)識信息;
步驟402、根據(jù)該可用數(shù)據(jù)信息包中的標(biāo)識信息在緩存區(qū)中找到與該標(biāo)識 信息所標(biāo)識的數(shù)據(jù)塊為同 一播放順序位置的影音數(shù)據(jù)塊;
步驟403、提取緩存區(qū)中基于所述同一播放順序位置的影音數(shù)據(jù)塊的位置 信息而生成的可用數(shù)據(jù)信息;需要說明的是,所述可用數(shù)據(jù)信息的生成方式 有很多種,例如,將存儲有影音數(shù)據(jù)的位標(biāo)記為1,沒有存儲影音數(shù)據(jù)的位標(biāo) 記為0;本發(fā)明對于可用數(shù)據(jù)信息的具體生成方式不作限定。
步驟404、將接收的可用數(shù)據(jù)信息包和緩存區(qū)生成的可用數(shù)據(jù)信息進行整 合修改;
具體而言,可以如圖5所示,對接收的可用數(shù)據(jù)信息包中的信息與緩存 區(qū)生成的可用數(shù)據(jù)信息,按位進行"或"操作,得到整合修改后的可用數(shù)據(jù)^息。
步驟405、將修改后的可用數(shù)據(jù)信息包發(fā)送給所述局域網(wǎng)內(nèi)的目標(biāo)用戶。 需要說明的是,通過本實施例對可用數(shù)據(jù)信息包進行整合處理后,再發(fā) 送給局域網(wǎng)內(nèi)的目標(biāo)用戶,這樣可以有效解決緩存區(qū)中存儲的信息,即同一 局域網(wǎng)內(nèi)節(jié)點的可用數(shù)據(jù)信息,對內(nèi)部節(jié)點不可見的問題,從而大大增加了 緩存區(qū)內(nèi)影音數(shù)據(jù)被請求的幾率,也大大縮短了局域網(wǎng)內(nèi)部節(jié)點下載影音數(shù) 據(jù)的平均時間。
所述的視頻數(shù)據(jù)請求包可以包括視頻數(shù)據(jù)下載請求包和視頻數(shù)據(jù)上傳 請求包。下面以視頻數(shù)據(jù)下載請求包為例具體說明其處理過程,由于視頻數(shù) 據(jù)上傳請求包的處理過程是視頻數(shù)據(jù)下載請求包的逆過程,故可以參考視頻 數(shù)據(jù)下載請求包的處理過程,本文不作過多說明。
如圖6所示,為本發(fā)明實施例五視頻數(shù)據(jù)下載請求包的處理流程圖,具 體包括以下過程步驟601 、對接收的來自局域網(wǎng)內(nèi)部的視頻數(shù)據(jù)下載請求包進行分析,獲
得影音數(shù)據(jù)塊的播放順序信息;
步驟602、利用所述播放順序信息在緩存區(qū)中查找所述視頻數(shù)據(jù)下載請求 對應(yīng)的影音數(shù)據(jù),若查找到所述視頻數(shù)據(jù)下栽請求的影音數(shù)據(jù)則轉(zhuǎn)入步驟 603,否則轉(zhuǎn)入步驟605;
步驟603、 ^是取緩存區(qū)中相應(yīng)的影音數(shù)據(jù);
步驟604、將提取的影音數(shù)據(jù)發(fā)送給發(fā)送下載視頻數(shù)據(jù)請求的用戶;對被 請求的用戶屏蔽該^見頻數(shù)據(jù)下載請求;
步驟605、將該視頻數(shù)據(jù)下載請求繼續(xù)發(fā)送給被請求的用戶。
顯然,當(dāng)同一局域網(wǎng)內(nèi)收看的P2P視頻節(jié)目越集中,在緩存中查找命中 的可能性就越大,在減少由于網(wǎng)絡(luò)不穩(wěn)定而帶來的風(fēng)險,以及減少數(shù)據(jù)的下 載時間等方面發(fā)揮的作用也就越明顯。
如圖7所示,為本發(fā)明實施例六提供的P2P直播視頻節(jié)點數(shù)據(jù)共享的裝 置結(jié)構(gòu)圖,包括數(shù)據(jù)包鑒別模塊710、請求處理模塊730,其中
所述數(shù)據(jù)包鑒別模塊710 ,用于從網(wǎng)絡(luò)流數(shù)據(jù)包中將P2P視頻流數(shù)據(jù)包分 離出來;
所述請求處理模塊730,用于若所述數(shù)據(jù)包鑒別模塊710分離出的P2P 視頻流數(shù)據(jù)包中包括視頻數(shù)據(jù)請求包,則在緩存區(qū)中查找預(yù)先存儲的數(shù)據(jù)中 是否包含有所述視頻數(shù)據(jù)請求包中所請求的影音數(shù)據(jù),當(dāng)在所述緩存區(qū)中查 找到所述視頻數(shù)據(jù)請求的影音數(shù)據(jù)時,提取并發(fā)送給發(fā)送視頻數(shù)據(jù)請求包的 用戶。
此外,所述裝置還可以進一步包括數(shù)據(jù)維護模塊720,其中, 所述數(shù)據(jù)維護模塊720,用于若所述數(shù)據(jù)包鑒別模塊710分離出的P2P 視頻流數(shù)據(jù)包中包括影音數(shù)據(jù)包,則將所述影音數(shù)據(jù)包保存在緩存區(qū)中;其 中,所述數(shù)據(jù)維護模塊720可以按照所述影音數(shù)據(jù)包所屬的節(jié)目流及在節(jié)目 流中的播放順序?qū)⒂耙魯?shù)據(jù)包保存在緩存區(qū)中相應(yīng)的位置。
另外,需要說明的是,所述數(shù)據(jù)包鑒別模塊710在分離數(shù)據(jù)包時,可以 基于深度包檢測技術(shù)對網(wǎng)絡(luò)流數(shù)據(jù)包的應(yīng)用層負載進行檢測,通過P2P視頻
ii流數(shù)據(jù)包的特征信息,將P2P視頻流數(shù)據(jù)包從網(wǎng)絡(luò)流數(shù)據(jù)包中分離出來。
此外,本發(fā)明實施例六的結(jié)構(gòu)還可以作進一步的改進,其中還包括可 用信息聚合模塊740,用于對所述數(shù)據(jù)包鑒別模塊710分離出的P2P視頻流數(shù) 據(jù)包中的可用數(shù)據(jù)信息包進行整合處理,包括對由外部用戶發(fā)送給所述局域 網(wǎng)內(nèi)的目標(biāo)用戶的所述P2P視頻流數(shù)據(jù)包中的可用數(shù)據(jù)信息包進行整合處理, 將經(jīng)過整合處理后的可用數(shù)據(jù)信息包發(fā)送給所述局域網(wǎng)內(nèi)的目標(biāo)用戶。
如圖8所示,為本發(fā)明實施例七提供的可用信息聚合模塊的結(jié)構(gòu)圖,包括 接收單元800、獲取單元810、生成單元820、修改單元830、發(fā)送單元840,其 中
所述接收單元800,用于接收由外部用戶發(fā)送給所述局域網(wǎng)內(nèi)的目標(biāo)用戶 的所述P2P視頻流數(shù)據(jù)包中的可用數(shù)據(jù)信息包;
所述獲取單元810,用于獲取所述可用數(shù)據(jù)信息包中所標(biāo)識的數(shù)據(jù)塊的標(biāo)
所述生成單元820,用于根據(jù)緩存的與該標(biāo)識信息所標(biāo)識的數(shù)據(jù)塊為同一 播放順序的影音數(shù)據(jù)塊的位置信息,生成緩存區(qū)的可用數(shù)據(jù)信息;
所述修改單元830,用于對接收的所述可用數(shù)據(jù)信息包和生成的緩存區(qū)的 可用數(shù)據(jù)信息進行整合修改;
所述發(fā)送單元840,用于將修改后的可用數(shù)據(jù)信息包發(fā)送給所述局域網(wǎng)內(nèi) 的目標(biāo)用戶。
如圖9所示,為本發(fā)明實施例八提供的請求處理沖莫塊的具體結(jié)構(gòu)圖,包 括獲得單元910、查找單元920、及處理單元930;其中
所述獲得單元910,用于對所述P2P視頻流數(shù)據(jù)包中的視頻數(shù)據(jù)請求包進 行分析,獲得影音數(shù)據(jù)塊的播放順序信息;
所述查找單元920,用于根據(jù)所述播放順序信息在緩存區(qū)中查找所述視頻 數(shù)據(jù)請求的影音數(shù)據(jù);
所述處理單元930,用于若所述查找單元920查找到所述視頻數(shù)據(jù)請求的 影音數(shù)據(jù),則將該影音數(shù)據(jù)提取并發(fā)送給發(fā)送視頻數(shù)據(jù)請求包的用戶,也可 以對被請求的用戶屏蔽該視頻數(shù)據(jù)請求;若所述查找單元920沒有查找到所述視頻數(shù)據(jù)請求的影音數(shù)據(jù),則所述處理單元930用于將該一見頻數(shù)據(jù)請求繼
續(xù)發(fā)送給被請求的用戶。
需要說明的是,所述視頻數(shù)據(jù)請求包可以包括視頻數(shù)據(jù)下載請求包和 視頻數(shù)據(jù)上傳請求包。
如圖IO所示,為本發(fā)明實施例九提供的代理系統(tǒng)架構(gòu)圖。其中,數(shù)據(jù)包 鑒別才莫塊1010通過應(yīng)用深度包檢測:技術(shù),對Internet網(wǎng)絡(luò)流和無線局域網(wǎng)網(wǎng) 絡(luò)流數(shù)據(jù)包的應(yīng)用層負載進行檢測,通過P2P視頻流數(shù)據(jù)包的一系列特征信 息,將P2P視頻流數(shù)據(jù)包從網(wǎng)絡(luò)流中分離出來,并根據(jù)P2P視頻流數(shù)據(jù)包的 不同類型分別交由系統(tǒng)中其他模塊處理。具體而言,數(shù)據(jù)維護模塊1020將數(shù) 據(jù)包鑒別模塊IOIO分離出來的影音數(shù)據(jù)包按照其所屬的節(jié)目流及其在流中播 放順序保存在影音數(shù)據(jù)緩存區(qū)中相應(yīng)的位置。此外,數(shù)據(jù)維護模塊1020還對 外提供了方便靈活的數(shù)據(jù)查詢和提取的接口 ,包括為請求處理模塊1040查詢 獲取特定位置影音數(shù)據(jù)的接口 ,以及為可用信息聚合^t塊1030提取緩存區(qū)中 特定數(shù)據(jù)塊的可用信息的接口??捎眯畔⒕酆夏K1030處理由外部節(jié)點發(fā)送 給局域網(wǎng)內(nèi)部節(jié)點的P2P視頻直播流中的可用數(shù)據(jù)信息(即本節(jié)點可以供下 載的數(shù)據(jù)的元信息)包,將其與系統(tǒng)緩存區(qū)中該節(jié)目的可用數(shù)據(jù)信息進行整 合修改,將經(jīng)過整合處理后的可用數(shù)據(jù)信息包轉(zhuǎn)發(fā)給局域網(wǎng)內(nèi)的目標(biāo)節(jié)點。 這樣,目標(biāo)節(jié)點所獲得的整合后的可用數(shù)據(jù)信息包中,既包含了其原始鄰居 節(jié)點的可用數(shù)據(jù)信息,又包含了緩存區(qū)中相應(yīng)數(shù)據(jù)的可用數(shù)據(jù)信息,從而能 夠更有效地拓寬數(shù)據(jù)下載的選擇。請求處理模塊1040對由內(nèi)部節(jié)點發(fā)送給為 外部節(jié)點視頻數(shù)據(jù)下載或上傳請求包進行處理,在對應(yīng)節(jié)目的緩存區(qū)中檢測 所請求的數(shù)據(jù)是否已被局域網(wǎng)內(nèi)其他節(jié)點所下載或上傳,如果不存在,則把
該視頻數(shù)據(jù)下載或上傳請求包繼續(xù)轉(zhuǎn)發(fā)給目標(biāo)節(jié)點,如果已經(jīng)存在,則直接 把這部分數(shù)據(jù)回復(fù)給請求節(jié)點,而對目標(biāo)節(jié)點屏蔽掉該視頻數(shù)據(jù)下載或上傳 請求,從而減少了由于網(wǎng)絡(luò)不穩(wěn)定性帶來的風(fēng)險,整體上減少了數(shù)據(jù)的下載 或上傳時間。
在一個應(yīng)用了本發(fā)明技術(shù)方案的局域網(wǎng)下,有若干個收看某相同體育賽 事直播的P2P視頻直播節(jié)點,這些節(jié)點從局域網(wǎng)外部的P2P節(jié)點下載的最近的影音數(shù)據(jù)都被緩存在如圖10所示的代理系統(tǒng)中為該節(jié)目分配的緩存區(qū)內(nèi), 由于P2P傳輸?shù)奶匦?,各?jié)點接收到的影音數(shù)據(jù)的順序不盡相同,因此緩存 區(qū)中的影音數(shù)據(jù)相當(dāng)于該局域網(wǎng)中每個節(jié)點自身緩存區(qū)中數(shù)據(jù)的超集,那么 代理系統(tǒng)中的緩存區(qū)就相當(dāng)于一個能夠提供該節(jié)目的影音數(shù)據(jù)下載的潛在超 級節(jié)點,而由于可用信息聚合機制的存在,代理系統(tǒng)緩沖區(qū)中的可用數(shù)據(jù)信 息會實時顯式地發(fā)送給局域網(wǎng)內(nèi)的節(jié)點,因此該潛在的超級節(jié)點已經(jīng)暴露給 局域網(wǎng)內(nèi)的節(jié)點。這樣,當(dāng)局域網(wǎng)中某個節(jié)點需要請求下載數(shù)據(jù)時,若這部 分數(shù)據(jù)確實已經(jīng)被該局域網(wǎng)下的其他節(jié)點緩存在代理系統(tǒng)中,則該請求就能 直接由代理系統(tǒng)處理并直接返回所需數(shù)據(jù),而不需要再發(fā)送給局域網(wǎng)外部的 節(jié)點,從而減少了數(shù)據(jù)獲取的時間。因此,當(dāng)該局域網(wǎng)下收看該體育賽事直 播的節(jié)點越多,則代理系統(tǒng)緩存區(qū)的影音數(shù)據(jù)就越完整,其功能也就越明顯。
綜上所述,本文提供了一種P2P直播視頻節(jié)點數(shù)據(jù)共享的方法、裝置及
系統(tǒng),能夠?qū)o線局域網(wǎng)內(nèi)收看同一節(jié)目的用戶的影音數(shù)據(jù)和可用數(shù)據(jù)信息 整合起來,并讓其在用戶之間得到共享,從而使這些節(jié)點在播放過程中,有 較多的機會從同 一局域網(wǎng)的緩存中下載或上傳數(shù)據(jù),進而減少其獲取影音數(shù) 據(jù)的平均時間,也減少由原本從外部網(wǎng)絡(luò)節(jié)點中下載或上傳數(shù)據(jù)所產(chǎn)生的丟 包延時等問題而給播放質(zhì)量帶來的損害。通過對比實驗得知,在沒用采用本
發(fā)明技術(shù)方案的情況下,視頻節(jié)點的普遍啟動時間在40秒以上;而在采用了 本發(fā)明技術(shù)方案的情況下,-f見頻節(jié)點的平均啟動延時減少到20秒以內(nèi),而針 對新加入的視頻節(jié)點的啟動延時減少得會更為明顯。
驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算 機可讀存儲介質(zhì)中,該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。 另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理模塊中, 也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個沖莫 塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模 塊的形式實現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實現(xiàn)并作為獨立 的產(chǎn)品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質(zhì)中。上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
以上對本發(fā)明所提供的P2P直播視頻節(jié)點數(shù)據(jù)共享的方法、裝置及系統(tǒng)
闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方案;同時,對于本領(lǐng)
域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應(yīng)用范圍上均會 有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1、一種P2P直播視頻節(jié)點數(shù)據(jù)共享的方法,其特征在于,包括從網(wǎng)絡(luò)流數(shù)據(jù)包中將P2P視頻流數(shù)據(jù)包分離出來;若所述P2P視頻流數(shù)據(jù)包中包括視頻數(shù)據(jù)請求包,則在緩存區(qū)中查找預(yù)先存儲的數(shù)據(jù)中是否包含有所述視頻數(shù)據(jù)請求包中所請求的影音數(shù)據(jù),當(dāng)在所述緩存區(qū)中查找到所述視頻數(shù)據(jù)請求的影音數(shù)據(jù)時,提取并發(fā)送給發(fā)送視頻數(shù)據(jù)請求包的用戶。
2、 根據(jù)權(quán)利要求1所述的P2P直播視頻節(jié)點數(shù)據(jù)共享的方法,其特征在于,所述緩存區(qū)中預(yù)先存儲的數(shù)據(jù)包括預(yù)先接收的P2P視頻流數(shù)據(jù)中分離出的影音數(shù)據(jù)包,其中,按照所述影音數(shù)據(jù)包所屬的節(jié)目流及在節(jié)目流中的播放順序?qū)⒂耙魯?shù)據(jù)包保存在緩存區(qū)中相應(yīng)的位置。
3、 根據(jù)權(quán)利要求1所述的P2P直播視頻節(jié)點數(shù)據(jù)共享的方法,其特征在于,還包括對由外部用戶發(fā)送給所述局域網(wǎng)內(nèi)的目標(biāo)用戶的所述P2P ^L頻流數(shù)據(jù)包中的可用數(shù)據(jù)信息包進行整合處理,將經(jīng)過整合處理后的可用數(shù)據(jù)信息包發(fā)送給所述局域網(wǎng)內(nèi)的目標(biāo)用戶。
4、 根據(jù)權(quán)利要求3所述的P2P直播視頻節(jié)點數(shù)據(jù)共享的方法,其特征在據(jù)包中的可用數(shù)據(jù)信息包進行整合處理,將經(jīng)過整合處理后的可用數(shù)據(jù)信息包發(fā)送給所述局域網(wǎng)內(nèi)的目標(biāo)用戶包括據(jù)包中的可用數(shù)據(jù)信息包;獲取所述可用數(shù)據(jù)信息包中所標(biāo)識的數(shù)據(jù)塊的標(biāo)識信息;根據(jù)緩存的與該標(biāo)識信息所標(biāo)識的數(shù)據(jù)塊為同 一播放順序的影音數(shù)據(jù)塊的位置信息,生成緩存區(qū)的可用數(shù)據(jù)信息;對接收的所述可用數(shù)據(jù)信息包和緩存區(qū)中生成的可用數(shù)據(jù)信息進行整合修改;將修改后的可用數(shù)據(jù)信息包發(fā)送給所述局域網(wǎng)內(nèi)的目標(biāo)用戶。
5、 根據(jù)權(quán)利要求1所述的P2P直播視頻節(jié)點數(shù)據(jù)共享的方法,其特征在于,所述若所述P2P視頻流數(shù)據(jù)包中包括視頻數(shù)據(jù)請求包,則在緩存區(qū)中查找預(yù)先存儲的數(shù)據(jù)中是否包含有所述視頻數(shù)據(jù)請求包中所請求的影音數(shù)據(jù),當(dāng)在所述緩存區(qū)中查找到所述視頻數(shù)據(jù)請求的影音數(shù)據(jù)時,提取并發(fā)送給發(fā)送視頻數(shù)據(jù)請求包的用戶包括對所述P2P視頻流數(shù)據(jù)包中的視頻數(shù)據(jù)請求包進行分析,獲得影音數(shù)據(jù)塊的播放順序信息;根據(jù)所述播放順序信息在緩存區(qū)中查找所述視頻數(shù)據(jù)請求的影音數(shù)據(jù);若查找到所述視頻數(shù)據(jù)請求的影音數(shù)據(jù),則將該影音數(shù)據(jù)提取并發(fā)送給發(fā)送視頻數(shù)據(jù)請求包的用戶。
6、 根據(jù)權(quán)利要求1至5任一所述的P2P直播視頻節(jié)點數(shù)據(jù)共享的方法,其特征在于,該方法還包括若在所述緩存區(qū)中查找到所述視頻數(shù)據(jù)請求的影音數(shù)據(jù),則對被請求的用戶屏蔽該視頻數(shù)據(jù)請求;若沒有查找到所述視頻數(shù)據(jù)請求的影音數(shù)據(jù),則將該視頻數(shù)據(jù)請求繼續(xù)發(fā)送給被請求的用戶。
7、 一種P2P直播視頻節(jié)點數(shù)據(jù)共享的裝置,其特征在于,包括數(shù)據(jù)包鑒別模塊,用于從網(wǎng)絡(luò)流數(shù)據(jù)包中將P2P視頻流數(shù)據(jù)包分離出來;請求處理模塊,用于若所述P2P視頻流數(shù)據(jù)包中包括視頻數(shù)據(jù)請求包,則在緩存區(qū)中查找預(yù)先存儲的數(shù)據(jù)中是否包含有所述視頻數(shù)據(jù)請求包中所請求的影音數(shù)據(jù),當(dāng)在所述緩存區(qū)中查找到所述視頻數(shù)據(jù)請求的影音數(shù)據(jù)時,提取并發(fā)送給發(fā)送視頻數(shù)據(jù)請求包的用戶。
8、 根據(jù)權(quán)利要求7所述的P2P直播視頻節(jié)點數(shù)據(jù)共享的裝置,其特征在于,所述裝置還包括可用信息聚合模塊,用于對由外部用戶發(fā)送給所述局域網(wǎng)內(nèi)的目標(biāo)用戶的所述P2P視頻流數(shù)據(jù)包中的可用數(shù)據(jù)信息包進行整合處理,將經(jīng)過整合處理后的可用數(shù)據(jù)信息包發(fā)送給所述局域網(wǎng)內(nèi)的目標(biāo)用戶。
9、 根據(jù)權(quán)利要求8所述的P2P直播視頻節(jié)點數(shù)據(jù)共享的裝置,其特征在于,所述可用信息聚合模塊包括P2P視頻流數(shù)據(jù)包中的可用數(shù)據(jù)信息包; 獲取單元,用于獲取所述可用數(shù)據(jù)信息包中所標(biāo)識的數(shù)據(jù)塊的標(biāo)識信息;生成單元,用于根據(jù)緩存的與該標(biāo)識信息所標(biāo)識的數(shù)據(jù)塊為同 一播放順 序的影音數(shù)據(jù)塊的位置信息,生成緩存區(qū)的可用數(shù)據(jù)信息;修改單元,用于對接收的所述可用數(shù)據(jù)信息包和緩存區(qū)中生成的可用數(shù) 據(jù)信息進行整合修改;發(fā)送單元,用于將修改后的可用數(shù)據(jù)信息包發(fā)送給所述局域網(wǎng)內(nèi)的目標(biāo) 用戶。
10、 4艮據(jù)權(quán)利要求7所述的P2P直播視頻節(jié)點數(shù)據(jù)共享的裝置,其特征 在于,所述裝置還包括數(shù)據(jù)維護模塊,用于將預(yù)先接收的所述P2P視頻流數(shù)據(jù)包中分離出的影 音數(shù)據(jù)包,按照所述影音數(shù)據(jù)包所屬的節(jié)目流及在節(jié)目流中的播放順序?qū)⒂?音數(shù)據(jù)包保存在緩存區(qū)中相應(yīng)的位置。
11、 根據(jù)權(quán)利要求7所述的P2P直播視頻節(jié)點數(shù)據(jù)共享的裝置,其特征 在于,所述請求處理模塊包括獲得單元,用于對所述P2P視頻流數(shù)據(jù)包中的視頻數(shù)據(jù)下載請求包進行 分析,獲得影音數(shù)據(jù)塊的播放順序信息;查找單元,用于根據(jù)所述播放順序信息在緩存區(qū)中查找所述視頻數(shù)據(jù)下 載請求的影音數(shù)據(jù);處理單元,若所述查找單元查找到所述視頻數(shù)據(jù)下載請求的影音數(shù)據(jù), 用于將該影音數(shù)據(jù)提取并發(fā)送給發(fā)送視頻數(shù)據(jù)下載請求包的用戶。
12、 根據(jù)權(quán)利要求11所述的P2P直播視頻節(jié)點數(shù)據(jù)共享的裝置,其特征 在于,若所述查找單元查找到所述視頻數(shù)據(jù)請求的影音數(shù)據(jù),所述處理單元 還用于對被請求的用戶屏蔽該一見頻數(shù)據(jù)請求;若所述查找單元沒有查找到所述視頻數(shù)據(jù)請求的影音數(shù)據(jù),所述處理單 元還用于將該視頻數(shù)據(jù)請求繼續(xù)發(fā)送給被請求的用戶。
13、 一種代理系統(tǒng),其特征在于,包括如權(quán)利要求7至12任意一項所述 的P2P直播;現(xiàn)頻節(jié)點數(shù)據(jù)共享的裝置。
全文摘要
本發(fā)明公開一種P2P直播視頻節(jié)點數(shù)據(jù)共享的方法、裝置及代理系統(tǒng)。所述方法包括從網(wǎng)絡(luò)流數(shù)據(jù)包中將P2P視頻流數(shù)據(jù)包分離出來;若所述P2P視頻流數(shù)據(jù)包中包括視頻數(shù)據(jù)請求包,則在緩存區(qū)中查找預(yù)先存儲的數(shù)據(jù)中是否包含有所述視頻數(shù)據(jù)請求包中所請求的影音數(shù)據(jù),當(dāng)在所述緩存區(qū)中查找到所述視頻數(shù)據(jù)請求的影音數(shù)據(jù)時,提取并發(fā)送給發(fā)送視頻數(shù)據(jù)請求包的用戶。本發(fā)明能夠改善P2P視頻直播的性能,優(yōu)化播放質(zhì)量,提高可靠性和擴展性。
文檔編號H04N7/173GK101635831SQ20091016712
公開日2010年1月27日 申請日期2009年8月24日 優(yōu)先權(quán)日2009年8月24日
發(fā)明者珉 楊, 可 林, 林科文, 毛迪林, 欽 汪, 臧斌宇, 武 蔣 申請人:成都市華為賽門鐵克科技有限公司;復(fù)旦大學(xué)