專利名稱:一種視頻內(nèi)容服務(wù)系統(tǒng)和服務(wù)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及分布式流媒體系統(tǒng)的視頻內(nèi)容服務(wù),如IPTV (Internet Protocol Television,基于IP協(xié)議的電視業(yè)務(wù)或系統(tǒng))視頻內(nèi)容服務(wù)。
背景技術(shù):
分布式流媒體系統(tǒng)(如IPTV系統(tǒng))需要從多個(gè)內(nèi)容源接入海量的視頻內(nèi)容, 其容量將達(dá)幾百T甚至上千T,需要并發(fā)服務(wù)的用戶數(shù)達(dá)上千萬甚至上億規(guī)模, 原有基于傳統(tǒng)CDN (Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò))加集群流媒體服 務(wù)器的系統(tǒng)構(gòu)建方案無論在建設(shè)成本、存儲(chǔ)容量、網(wǎng)絡(luò)開銷、并發(fā)能力、可靠性、 可擴(kuò)展性和運(yùn)行維護(hù)上都已經(jīng)無法滿足電信級(jí)運(yùn)營需求。
傳統(tǒng)CDN系統(tǒng)采用分層次的樹形組網(wǎng)技術(shù),節(jié)點(diǎn)分成核心節(jié)點(diǎn)、次核心節(jié) 點(diǎn)和邊緣節(jié)點(diǎn),核心節(jié)點(diǎn)存有全部媒體內(nèi)容,次核心節(jié)點(diǎn)存有較大部分媒體內(nèi)容, 而邊緣節(jié)點(diǎn)只緩存部分熱點(diǎn)媒體內(nèi)容。三種節(jié)點(diǎn)存儲(chǔ)內(nèi)容一般按一定的比例進(jìn)行 配置。用戶請(qǐng)求服務(wù)則按照邊緣節(jié)點(diǎn)、次核心節(jié)點(diǎn)和核心節(jié)點(diǎn)的次序進(jìn)行,各自 承擔(dān)的服務(wù)比例也是預(yù)先設(shè)定。媒體內(nèi)容需要統(tǒng)一從核心節(jié)點(diǎn)接入。這種技術(shù)存 在以下幾個(gè)問題
1、 媒體容量擴(kuò)展性差當(dāng)媒體內(nèi)容容量需要增加時(shí),需要按比例擴(kuò)展各類 節(jié)點(diǎn)的容量,給媒體容量擴(kuò)展帶來困難;
2、 用戶規(guī)模擴(kuò)展性差當(dāng)用戶規(guī)模擴(kuò)展時(shí),不但需要增加或擴(kuò)展邊緣節(jié)點(diǎn) 的處理能力,還需要同步擴(kuò)展次核心節(jié)點(diǎn)和核心節(jié)點(diǎn)的處理能力,也給用戶規(guī)模 擴(kuò)展帶來困難;
3、 可靠性差樹形組網(wǎng)不可避免帶來單點(diǎn)故障問題;
4、 網(wǎng)絡(luò)帶寬消耗大由于樹形網(wǎng)絡(luò)的回聚效應(yīng),核心節(jié)點(diǎn)和次核心節(jié)點(diǎn)的 網(wǎng)絡(luò)帶寬消耗大;
5、 整個(gè)CDN網(wǎng)絡(luò)需要手工配置管理,運(yùn)行維護(hù)困難;
6、 以上因素導(dǎo)致網(wǎng)絡(luò)建設(shè)成本高。
傳統(tǒng)的集群流媒體服務(wù)器為了解決熱點(diǎn)內(nèi)容的服務(wù)能力,要求集群存儲(chǔ)多個(gè) 熱點(diǎn)內(nèi)容拷貝,同時(shí)輔以復(fù)雜的均衡調(diào)度和內(nèi)容實(shí)時(shí)調(diào)度策略,這樣不僅浪費(fèi)了
存儲(chǔ)空間,而且提高了系統(tǒng)復(fù)雜度和內(nèi)部調(diào)度開銷,降低了并發(fā)性能,最終都導(dǎo) 致建設(shè)的高成本。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)的上述缺陷,本發(fā)明提出一種不但大幅降低了網(wǎng)絡(luò)建設(shè)成本, 而且在存儲(chǔ)容量、網(wǎng)絡(luò)開銷、并發(fā)能力、可靠性、可擴(kuò)展性和運(yùn)行維護(hù)上都比傳 統(tǒng)方案具有明顯優(yōu)越的技術(shù)的視頻內(nèi)容服務(wù)系統(tǒng),并以此基礎(chǔ)上提供視頻內(nèi)容服 務(wù)方法。(基于P2P (PeertoPeer,對(duì)等網(wǎng)絡(luò)或業(yè)務(wù))
本發(fā)明中的視頻內(nèi)容服務(wù)系統(tǒng),包括視頻加載節(jié)點(diǎn)、視頻服務(wù)節(jié)點(diǎn)和視頻客 戶端;
所述視頻加載節(jié)點(diǎn)和所述視頻服務(wù)節(jié)點(diǎn)采用P2P協(xié)議構(gòu)成P2P-CDN網(wǎng)絡(luò), 所述視頻加載節(jié)點(diǎn)和視頻服務(wù)節(jié)點(diǎn)都是CDN節(jié)點(diǎn);所述視頻加載節(jié)點(diǎn)用于完成 媒體格式轉(zhuǎn)換、媒體接入控制、媒體存儲(chǔ)和提供媒體服務(wù);所述視頻服務(wù)節(jié)點(diǎn)用 于媒體存儲(chǔ)和提供媒體服務(wù);
所述CDN網(wǎng)絡(luò)被劃分成多個(gè)歸屬服務(wù)區(qū),每個(gè)客戶端配置歸屬CDN節(jié)點(diǎn);
所述視頻客戶端通過網(wǎng)絡(luò)與一個(gè)歸屬CDN節(jié)點(diǎn)相連;
用戶請(qǐng)求媒體播放時(shí),視頻客戶端根據(jù)P2P搜索協(xié)議向歸屬CDN節(jié)點(diǎn)發(fā)出 媒體搜索消息,歸屬CDN節(jié)點(diǎn)在整個(gè)P2P-CDN中選定服務(wù)節(jié)點(diǎn)返回給客戶端, 客戶端進(jìn)而向該服務(wù)節(jié)點(diǎn)進(jìn)行媒體服務(wù)請(qǐng)求,與控制單元建立控制鏈接,與多個(gè) 媒體單元建立多條數(shù)據(jù)鏈接,通過這些鏈接請(qǐng)求媒體數(shù)據(jù)。
所述CDN節(jié)點(diǎn)包括媒體控制單元(MCU)、媒體存儲(chǔ)傳輸單元(MSTU) 和交換單元(MSU);所述交換單元用于完成節(jié)點(diǎn)內(nèi)單元連通、流量匯聚和接入 控制列表;所述控制單元用于完成內(nèi)容調(diào)度、服務(wù)調(diào)度;所述媒體存儲(chǔ)傳輸單元
用于媒體存儲(chǔ)和傳輸。
每個(gè)客戶端可以配置兩個(gè)歸屬節(jié)點(diǎn)。
所述媒體控制單元(MCU)和交換單元(MSU)可以采用雙機(jī)備份,所述 媒體存儲(chǔ)傳輸單元(MSTU)可以采用N+l備份;所述媒體存儲(chǔ)傳輸單元(MSTU) 采用N+l備份的方式為每個(gè)媒體存儲(chǔ)傳輸單元(MSTU)的存儲(chǔ)被分成主存儲(chǔ)區(qū) 和備份存儲(chǔ)區(qū)兩個(gè)部分,媒體文件的各個(gè)分片交錯(cuò)存儲(chǔ)于各媒體存儲(chǔ)傳輸單元 (MSTU)的主存儲(chǔ)區(qū)中,同時(shí)每個(gè)分片都在其他媒體存儲(chǔ)傳輸單元(MSTU) 的備份區(qū)中存儲(chǔ)一份拷貝。
本發(fā)明中的視頻內(nèi)容服務(wù)方法,在包括CDN節(jié)點(diǎn)和視頻客戶端的視頻服務(wù) 系統(tǒng)中,所述CDN節(jié)點(diǎn)分成視頻加載節(jié)點(diǎn)、視頻服務(wù)節(jié)點(diǎn),所述視頻加載節(jié)點(diǎn) 和所述視頻服務(wù)節(jié)點(diǎn)采用P2P協(xié)議構(gòu)成P2P-CDN網(wǎng)絡(luò),所述CDN網(wǎng)絡(luò)被劃分 成多個(gè)歸屬服務(wù)區(qū),每個(gè)客戶端配置歸屬CDN節(jié)點(diǎn);所述視頻服務(wù)方法包括媒 體加載預(yù)處理、媒體分發(fā)和加載、媒體搜索和媒體傳輸播放過程
所述加載預(yù)處理是對(duì)來自內(nèi)容源的媒體文件進(jìn)行分析和處理,提取I幀索引
形成索引文件I-idx,并進(jìn)行流化和塊封裝;
所述媒體分發(fā)是在預(yù)處理將媒體格式轉(zhuǎn)換處理完成后,將媒體內(nèi)容分發(fā)到目
標(biāo)節(jié)點(diǎn)進(jìn)行媒體加載;
所述媒體搜索是在用戶請(qǐng)求媒體播放時(shí),視頻客戶端根據(jù)P2P搜索協(xié)議向 歸屬CDN節(jié)點(diǎn)發(fā)出媒體搜索消息,歸屬CDN節(jié)點(diǎn)在整個(gè)P2P-CDN網(wǎng)絡(luò)中選定 服務(wù)節(jié)點(diǎn)返回給客戶端,客戶端進(jìn)而向該服務(wù)節(jié)點(diǎn)進(jìn)行媒體服務(wù)請(qǐng)求,與控制單 元建立控制鏈接,與多個(gè)媒體單元建立多條數(shù)據(jù)鏈接,通過這些鏈接請(qǐng)求媒體數(shù) 據(jù);
所述媒體傳輸播放是指媒體內(nèi)容從節(jié)點(diǎn)傳輸?shù)娇蛻舳斯┯脩舨シ拧?br>
上述方法中,視頻數(shù)據(jù)可以通過加載節(jié)點(diǎn)處理分成等長的媒體塊,按等長塊 交錯(cuò)均勻存儲(chǔ)于CDN節(jié)點(diǎn)的多個(gè)媒體單元中,根據(jù)需要在P2P-CDN網(wǎng)絡(luò)中按 塊進(jìn)行媒體分發(fā)和存儲(chǔ)。
上述方法中,在有內(nèi)容的節(jié)點(diǎn)無法提供服務(wù)時(shí),可以讓有空閑服務(wù)能力的節(jié) 點(diǎn)實(shí)施邊拉邊放邊緩存的方式提供服務(wù),即有空閑能力的節(jié)點(diǎn)從一個(gè)或多個(gè)具備 內(nèi)容的節(jié)點(diǎn)請(qǐng)求媒體內(nèi)容,并用請(qǐng)求到的內(nèi)容為用戶進(jìn)行服務(wù),同時(shí)還把請(qǐng)求到 的內(nèi)容進(jìn)行緩存。
上述方法中,CDN節(jié)點(diǎn)之間可以以多源多鏈路的方式以媒體塊為傳輸單元
進(jìn)行傳輸,即目的節(jié)點(diǎn)的多個(gè)媒體存儲(chǔ)傳輸單元(MSTU)可以同時(shí)與其它多個(gè) 節(jié)點(diǎn)的媒體存儲(chǔ)傳輸單元(MSTU)建立多個(gè)傳輸鏈接傳輸媒體內(nèi)容,目的節(jié)點(diǎn) 的每個(gè)媒體存儲(chǔ)傳輸單元(MSTU)根據(jù)媒體存儲(chǔ)格式只請(qǐng)求需要存儲(chǔ)在本單元 的部分媒體塊序列,而各媒體存儲(chǔ)傳輸單元(MSTU)的請(qǐng)求量加總得到整個(gè)媒 體。
上述方法中,CDN節(jié)點(diǎn)與客戶端之間可以用同時(shí)多鏈路下拉式交錯(cuò)的媒體 傳輸方式,即客戶端與服務(wù)節(jié)點(diǎn)的各媒體存儲(chǔ)傳輸單元(MSTU)之間一直建立 并保持多個(gè)鏈接,客戶端交錯(cuò)通過各鏈接請(qǐng)求媒體塊內(nèi)容,使得每個(gè)用戶的在線 服務(wù)負(fù)載都同時(shí)均攤到各個(gè)媒體存儲(chǔ)傳輸單元(MSTU)。
上述方法中,在媒體搜索過程中,客戶端向歸屬節(jié)點(diǎn)發(fā)送査詢消息,歸屬節(jié) 點(diǎn)如果具備服務(wù)條件,則直接給客戶端返回消息;否則。歸屬節(jié)點(diǎn)向相鄰節(jié)點(diǎn)轉(zhuǎn) 發(fā)搜索請(qǐng)求,當(dāng)有節(jié)點(diǎn)具備服務(wù)條件,則直接給機(jī)頂盒返回消息,否則繼續(xù)轉(zhuǎn)發(fā)。
本發(fā)明可以帶來的有益效果包括以下幾個(gè)方面
1、 解決了 CDN網(wǎng)絡(luò)的規(guī)模擴(kuò)展性問題,解決了視頻流匯聚的漏斗效應(yīng)問 題,提高了網(wǎng)絡(luò)吞吐能力;
2、 解決了 CDN節(jié)點(diǎn)的能力擴(kuò)展問題,采用分布式集群技術(shù)解決了節(jié)點(diǎn)內(nèi) 多個(gè)媒體單元之間的資源共享問題,減少了內(nèi)容冗余分發(fā)流量和冗余存儲(chǔ)容量, 從而極大降低了節(jié)點(diǎn)構(gòu)建成本;
3、 充分利用客戶端能力,簡化了CDN節(jié)點(diǎn)的系統(tǒng)復(fù)雜性;
4、 采用P2P技術(shù),提高了系統(tǒng)可靠性問題,降低了系統(tǒng)維護(hù)成本;
圖1是本發(fā)明視頻內(nèi)容服務(wù)系統(tǒng)中的P2P-CDN組網(wǎng)邏輯圖2是P2P-CDN節(jié)點(diǎn)構(gòu)成示意圖3是媒體服務(wù)系統(tǒng)協(xié)議轉(zhuǎn)換流程;
圖4是媒體文件條帶化存儲(chǔ)及備份方案圖5是節(jié)點(diǎn)間的媒體傳輸機(jī)制示意圖6是服務(wù)節(jié)點(diǎn)與機(jī)頂盒之間的媒體傳輸機(jī)制示意;
圖7是P2P節(jié)目服務(wù)定位搜索示意圖; 圖8是媒體服務(wù)流程圖。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明的內(nèi)容進(jìn)行詳細(xì)介紹。
如圖1所示,組成P2P-CDN網(wǎng)絡(luò)的節(jié)點(diǎn)分加載節(jié)點(diǎn)和服務(wù)節(jié)點(diǎn)兩種。加載 節(jié)點(diǎn)的主要作用包括媒體格式轉(zhuǎn)換、媒體接入控制、媒體存儲(chǔ)和媒體服務(wù)功能。 它把流式媒體轉(zhuǎn)換成適合P2P傳輸?shù)膲K式媒體,同時(shí)為用戶和其他節(jié)點(diǎn)提供媒 體服務(wù)。服務(wù)節(jié)點(diǎn)只具備媒體存儲(chǔ)和媒體服務(wù)功能。加載節(jié)點(diǎn)和服務(wù)節(jié)點(diǎn)都可以 提供媒體服務(wù)。P2P-CDN與傳統(tǒng)CDN不同,節(jié)點(diǎn)之間是對(duì)等關(guān)系,沒有核心節(jié) 點(diǎn)和邊緣節(jié)點(diǎn)之分,可互相進(jìn)行媒體服務(wù)。
為提高服務(wù)質(zhì)量、減少帶寬開銷及便于工程規(guī)劃配置,CDN網(wǎng)絡(luò)被劃分成 多個(gè)歸屬服務(wù)區(qū)。區(qū)內(nèi)用戶(客戶端)首選歸屬節(jié)點(diǎn)進(jìn)行媒體服務(wù)和進(jìn)行媒體搜 索。每個(gè)用戶可配置兩個(gè)歸屬節(jié)點(diǎn),即雙歸結(jié)構(gòu),這樣可進(jìn)一步提高業(yè)務(wù)可靠性。 所謂歸屬節(jié)點(diǎn)是指歸屬服務(wù)區(qū)內(nèi)的服務(wù)節(jié)點(diǎn)。這里指的雙規(guī)結(jié)構(gòu)是指一個(gè)用戶可 以配置成屬于兩個(gè)歸屬區(qū), 一主一備,以提高可靠性。圖中只畫出一個(gè)歸屬區(qū), 沒有畫出兩個(gè)歸屬區(qū)的情況。
如圖2所示,CDN節(jié)點(diǎn)由媒體控制單元(MCU: Media Control Unit)、媒體 存儲(chǔ)傳輸單元(MSTU: Media Storage Transmission Unit)和交換單元(MSU)構(gòu)成。 MSU主要完成節(jié)點(diǎn)內(nèi)單元連通、流量匯聚和ACL (Access Control List,接入控 制列表)功能,類似于三層交換機(jī);MCU主要完成內(nèi)容調(diào)度、服務(wù)調(diào)度和其他 管理功能;MSTU主要承擔(dān)媒體存儲(chǔ)和傳輸任務(wù)。為保證系統(tǒng)可靠性,MCU和 MSU可采用雙機(jī)備份,MSTU則采用N+l備份保護(hù)。MCU和MSTU的實(shí)際硬 件可采用廉價(jià)的PC (Personal Computer,個(gè)人計(jì)算機(jī))刀片服務(wù)器。這種硬件 架構(gòu)設(shè)計(jì)系統(tǒng)可靠性高,空間占用小,而且采用標(biāo)準(zhǔn)單元,具有技術(shù)優(yōu)勢(shì)和成本 優(yōu)勢(shì)。
系統(tǒng)協(xié)議格式轉(zhuǎn)換流程如圖3所示,媒體文件由加載節(jié)點(diǎn)流化、分片,然后 經(jīng)CDN網(wǎng)絡(luò)的P2P傳輸層到達(dá)客戶端,客戶端經(jīng)過流恢復(fù)后進(jìn)行媒體播放。加 載節(jié)點(diǎn)和客戶端(如機(jī)頂盒)需要處理媒體格式,是對(duì)等通信端,服務(wù)節(jié)點(diǎn)則無 需處理媒體格式,是透明的分片傳輸。用戶采用拉方式實(shí)現(xiàn)"邊下載邊播放"。
圖4示出了跨MSTU的媒體內(nèi)容存儲(chǔ)方案。每個(gè)MSTU的存儲(chǔ)被分成主存
儲(chǔ)區(qū)和備份存儲(chǔ)區(qū)兩個(gè)部分,媒體文件的各個(gè)分片首先交錯(cuò)存儲(chǔ)于各MSTU的 主存儲(chǔ)區(qū)中,同時(shí)每個(gè)分片都在其他MSTU的備份區(qū)中存儲(chǔ)一份拷貝。這樣可 以避免了單MSTU失效的故障,實(shí)現(xiàn)N+1備份保護(hù)。
由于每個(gè)節(jié)點(diǎn)的MSTU數(shù)目不同,所以媒體內(nèi)容在節(jié)點(diǎn)間調(diào)度時(shí),需要重 新進(jìn)行排序存儲(chǔ),并形成存儲(chǔ)索引表。存儲(chǔ)索引表記錄了媒體起始?jí)K的存儲(chǔ)位置
和各刀片交織存儲(chǔ)次序(即刀片順序列表)。為了支持VCR (Video Cassette Recorder,盒式錄放像機(jī),這里指快進(jìn)快退暫停恢復(fù)等操作)操作,在媒體加 載時(shí),需要建立I幀索引,即建立I幀號(hào)與媒體塊號(hào)的對(duì)應(yīng)關(guān)系。客戶端根據(jù)I 幀索引可以定位到具體媒體塊,在快進(jìn)快退的VCR操作中,客戶端只需取得相 應(yīng)I幀所在的媒體塊即可,而無需取得全部數(shù)據(jù),從而在有限帶寬情況下支持 VCR操作。
一個(gè)媒體內(nèi)容需要經(jīng)過加載預(yù)處理、媒體分發(fā)、媒體搜索和媒體傳輸播放四 個(gè)階段。為了適合P2P傳輸和存儲(chǔ),加載節(jié)點(diǎn)首先進(jìn)行加載預(yù)處理,即對(duì)來自 內(nèi)容源的媒體文件進(jìn)行分析和處理,提取I幀索引形成索引文件I-idx,并進(jìn)行流 化和塊封裝。
媒體格式轉(zhuǎn)換處理完成后,將媒體內(nèi)容分發(fā)到目標(biāo)節(jié)點(diǎn)的MCU進(jìn)行媒體加 載。處理流程如下
1、 MCU根據(jù)本節(jié)點(diǎn)情況,選定存儲(chǔ)策略,包括MSTU數(shù)目、存儲(chǔ)順序及 MSTU的磁盤數(shù)目等,并在MCU中建立相關(guān)的存儲(chǔ)索引數(shù)據(jù)和存儲(chǔ)狀態(tài)設(shè)置。
2、 MCU根據(jù)存儲(chǔ)策略,指示各MSTU進(jìn)行媒體調(diào)度工作。
3、 MSTU收到指示后,建立相關(guān)存儲(chǔ)索引數(shù)據(jù)和存儲(chǔ)狀態(tài)設(shè)置,并向MCU 索要媒體分布信息。
4、 MSTU根據(jù)得到的媒體分布信息進(jìn)行媒體請(qǐng)求和傳輸。
5、 MCU從加載節(jié)點(diǎn)取得I幀索引和SDP (Session Description Protocol,會(huì) 話描述協(xié)議)信息并存儲(chǔ)。
6、 在傳輸期間,MSTU獨(dú)立監(jiān)控各數(shù)據(jù)源節(jié)點(diǎn)的服務(wù)狀態(tài)。發(fā)生異常報(bào)告 MCU處理。
7、 媒體內(nèi)容以條帶化方式存儲(chǔ)于節(jié)點(diǎn)的多個(gè)MSTU中。
8、 存儲(chǔ)完成后,MSTU更新索引數(shù)據(jù)狀態(tài),MCU中記錄節(jié)目號(hào)和I幀索引 及存儲(chǔ)索引數(shù)據(jù)。
因?yàn)榧虞d節(jié)點(diǎn)本身也是CDN節(jié)點(diǎn),具備存儲(chǔ)和服務(wù)功能,因此對(duì)一般節(jié)目其目標(biāo)節(jié)點(diǎn)就是加載節(jié)點(diǎn)自己,而對(duì)一些熱點(diǎn)節(jié)目則可以加載到多個(gè)目標(biāo)節(jié)點(diǎn)。 可設(shè)定節(jié)目熱檔期和有效期。在節(jié)目熱檔期間,CDN網(wǎng)絡(luò)備份多個(gè)拷貝,而熱 檔期過后,則根據(jù)一定的機(jī)制只保留一個(gè)拷貝,等有效期過后則清除媒體內(nèi)容或 進(jìn)行歸檔。
單個(gè)CDN節(jié)點(diǎn)不能容納所有的媒體內(nèi)容,采用P2P資源共享技術(shù)解決了全 網(wǎng)媒體共享的海量存儲(chǔ)問題。但P2P沒有解決熱點(diǎn)媒體的服務(wù)能力問題。如果 節(jié)目不區(qū)分熱度, 一概采用隨機(jī)分布則會(huì)造成以下兩個(gè)問題 一是傳輸路徑長造 成網(wǎng)絡(luò)資源的浪費(fèi)和點(diǎn)播響應(yīng)時(shí)間滯后;二是某些高熱度節(jié)目由于拷貝數(shù)少而影 響其服務(wù)能力;本發(fā)明采用以預(yù)測(cè)性調(diào)度為主、以反應(yīng)式調(diào)度為輔的策略。預(yù)測(cè) 性調(diào)度在媒體加載和分發(fā)階段;反應(yīng)式調(diào)度則是在媒體服務(wù)階段同時(shí)進(jìn)行。具 體提供如下兩種調(diào)度-
1、 P2P-CDN對(duì)外提供調(diào)度接口,由管理員根據(jù)業(yè)務(wù)統(tǒng)計(jì)和預(yù)測(cè)進(jìn)行手工調(diào) 度,例如根據(jù)業(yè)務(wù)系統(tǒng)的統(tǒng)計(jì)得出不同用戶區(qū)域、時(shí)段和日期對(duì)各類媒體內(nèi)容的 請(qǐng)求的業(yè)務(wù)量模型,同時(shí)根據(jù)對(duì)新加載內(nèi)容進(jìn)行分類和熱度預(yù)測(cè),人工下指令給 P2P-CDN系統(tǒng)進(jìn)行媒體加載和分發(fā)。
2、 在有內(nèi)容的節(jié)點(diǎn)無法提供服務(wù)時(shí),讓有空閑服務(wù)能力的節(jié)點(diǎn)實(shí)施邊拉邊 放邊緩存的服務(wù)方式,即有空閑能力的節(jié)點(diǎn)從一個(gè)或多個(gè)具備內(nèi)容的節(jié)點(diǎn)請(qǐng)求媒 體內(nèi)容,并把請(qǐng)求到的內(nèi)容為用戶進(jìn)行服務(wù),同時(shí)還把請(qǐng)求到的內(nèi)容進(jìn)行緩存, 等到完整緩存整個(gè)媒體內(nèi)容后,該節(jié)點(diǎn)就具備了該媒體的完整服務(wù)能力。
媒體內(nèi)容在節(jié)點(diǎn)之間傳輸及在節(jié)點(diǎn)與客戶端傳輸時(shí),采用多鏈方式進(jìn)行,傳 輸單元是媒體塊。圖5和圖6示出了這種多鏈的傳輸機(jī)制。
如圖5所示,目的節(jié)點(diǎn)的多個(gè)MSTU可以同時(shí)與其它多個(gè)節(jié)點(diǎn)的MSTU建 立多個(gè)傳輸鏈接,傳輸媒體內(nèi)容,目的節(jié)點(diǎn)的每個(gè)MSTU根據(jù)媒體存儲(chǔ)格式只 請(qǐng)求需要存儲(chǔ)在本單元的部分媒體塊序列,而各MSTU的請(qǐng)求量加總得到整個(gè) 媒體。因此,媒體傳輸量還是一份,但由于多鏈并發(fā)傳輸,傳輸效率得到大幅提冋。
如圖6所示,在媒體服務(wù)期間,客戶端與服務(wù)節(jié)點(diǎn)的各MSTU之間一直建 立并保持多個(gè)鏈接,客戶端交錯(cuò)通過各鏈接請(qǐng)求媒體塊內(nèi)容,使得每個(gè)用戶的在 線服務(wù)負(fù)載都同時(shí)均攤到各個(gè)MSTU,從而自然達(dá)到了負(fù)載均衡的目的。另外, 因?yàn)槊總€(gè)MSTU只承擔(dān)了一個(gè)在線服務(wù)的N (N為節(jié)點(diǎn)的MSTU數(shù))分之一負(fù) 荷,所以每個(gè)MSTU所能參與服務(wù)的用戶數(shù)也就增加了N倍。這樣整個(gè)節(jié)點(diǎn)服
務(wù)能力就是各MSTU的服務(wù)能力之和,自然達(dá)到了集群的目的。
用戶得到媒體服務(wù)之前需要先進(jìn)行媒體搜索。搜索方法如圖7所示。圖中實(shí) 線箭頭表示搜索消息,虛線箭頭表示應(yīng)答消息。機(jī)頂盒(客戶端)通過EPG (Electronic Program Guide,電子節(jié)目單系統(tǒng))得到媒體ID后,向歸屬節(jié)點(diǎn)發(fā)送 査詢消息,歸屬節(jié)點(diǎn)如果具備服務(wù)條件,則直接給機(jī)頂盒返回消息,否則歸屬節(jié) 點(diǎn)向相鄰節(jié)點(diǎn)轉(zhuǎn)發(fā)搜索請(qǐng)求,當(dāng)有節(jié)點(diǎn)具備服務(wù)條件時(shí),則直接給機(jī)頂盒返回消 息,否則繼續(xù)轉(zhuǎn)發(fā)。轉(zhuǎn)發(fā)次數(shù)由消息中的TTL (Time to Live,包生存時(shí)間,是 協(xié)議包中的一個(gè)字段)字段控制,重復(fù)消息由消息中記錄經(jīng)過的節(jié)點(diǎn)IP列表來 控制。
一個(gè)具體的媒體服務(wù)流程如圖8所示
1、 用戶通過機(jī)頂盒瀏覽節(jié)目單,選定觀看節(jié)目并向機(jī)頂盒發(fā)出播放請(qǐng)求;
2、 機(jī)頂盒根據(jù)媒體ID向歸屬節(jié)點(diǎn)發(fā)出媒體搜索請(qǐng)求;
3、 歸屬節(jié)點(diǎn)如果具備服務(wù)條件,則返回確認(rèn)消息,轉(zhuǎn)步驟7;
4、 歸屬節(jié)點(diǎn)如果不具備服務(wù)條件,則向相鄰節(jié)點(diǎn)轉(zhuǎn)發(fā)P2P搜索請(qǐng)求;
5、 其他具備服務(wù)條件的節(jié)點(diǎn)給機(jī)頂盒返回應(yīng)答消息,消息中包含了自身的 服務(wù)信息;
6、 機(jī)頂盒根據(jù)收到的消息,以一定策略選擇服務(wù)節(jié)點(diǎn);
7、 機(jī)頂盒向服務(wù)節(jié)點(diǎn)發(fā)起媒體服務(wù)連接請(qǐng)求;
8、 服務(wù)節(jié)點(diǎn)返回應(yīng)答消息,應(yīng)答消息中包含MSTU列表、I幀索引及節(jié)目 存儲(chǔ)方式等服務(wù)屬性信息;
9、 機(jī)頂盒應(yīng)答消息服務(wù)節(jié)點(diǎn)的多個(gè)MSTU建立多條P2P鏈接,進(jìn)行媒體傳 輸和播放。
若用戶在播放過程中,希望進(jìn)行VCR操作,則還包括以下步驟
10、 用戶對(duì)機(jī)頂盒提出VCR操作請(qǐng)求;
11、 機(jī)頂盒根據(jù)VCR操作類型,變換媒體請(qǐng)求方式,如是暫停,停止媒體 塊請(qǐng)求,如是快進(jìn),則根據(jù)I幀索引和服務(wù)節(jié)點(diǎn)媒體存儲(chǔ)信息調(diào)整請(qǐng)求的媒體塊; 同時(shí)根據(jù)VCR要求調(diào)整播放內(nèi)容和形式;
用戶觀看結(jié)束或手動(dòng)退出節(jié)目,機(jī)頂盒拆除P2P鏈接,服務(wù)會(huì)話結(jié)束。
權(quán)利要求
1、一種視頻內(nèi)容服務(wù)系統(tǒng),包括視頻加載節(jié)點(diǎn)、視頻服務(wù)節(jié)點(diǎn)和視頻客戶端;所述視頻加載節(jié)點(diǎn)和所述視頻服務(wù)節(jié)點(diǎn)采用P2P協(xié)議構(gòu)成P2P-CDN網(wǎng)絡(luò),所述視頻加載節(jié)點(diǎn)和視頻服務(wù)節(jié)點(diǎn)都是CDN節(jié)點(diǎn);所述視頻加載節(jié)點(diǎn)用于完成媒體格式轉(zhuǎn)換、媒體接入控制、媒體存儲(chǔ)和提供媒體服務(wù);所述視頻服務(wù)節(jié)點(diǎn)用于媒體存儲(chǔ)和提供媒體服務(wù);所述CDN網(wǎng)絡(luò)被劃分成多個(gè)歸屬服務(wù)區(qū),每個(gè)客戶端配置歸屬CDN節(jié)點(diǎn);所述視頻客戶端通過網(wǎng)絡(luò)與一個(gè)歸屬CDN節(jié)點(diǎn)相連;用戶請(qǐng)求媒體播放時(shí),視頻客戶端根據(jù)P2P搜索協(xié)議向歸屬CDN節(jié)點(diǎn)發(fā)出媒體搜索消息,歸屬CDN節(jié)點(diǎn)在整個(gè)P2P-CDN中選定服務(wù)節(jié)點(diǎn)返回給客戶端,客戶端進(jìn)而向該服務(wù)節(jié)點(diǎn)進(jìn)行媒體服務(wù)請(qǐng)求,與控制單元建立控制鏈接,與多個(gè)媒體單元建立多條數(shù)據(jù)鏈接,通過這些鏈接請(qǐng)求媒體數(shù)據(jù)。
2、 權(quán)利要求1所述的視頻內(nèi)容服務(wù)系統(tǒng),其特征在于,所述CDN節(jié)點(diǎn)包 括媒體控制單元、媒體存儲(chǔ)傳輸單元和交換單元;所述交換單元用于完成節(jié)點(diǎn)內(nèi) 單元連通、流量匯聚和接入控制列表;所述控制單元用于完成內(nèi)容調(diào)度、服務(wù)調(diào) 度;所述媒體存儲(chǔ)傳輸單元用于媒體存儲(chǔ)和傳輸。
3、 權(quán)利要求1所述的視頻內(nèi)容服務(wù)系統(tǒng),其特征在于,每個(gè)客戶端配置兩 個(gè)歸屬節(jié)點(diǎn)。
4、 權(quán)利要求1所述的視頻內(nèi)容服務(wù)系統(tǒng),其特征在于,所述媒體控制單元和交換單元采用雙機(jī)備份,所述媒體存儲(chǔ)傳輸單元釆用N+l備份;所述媒體存 儲(chǔ)傳輸單元采用N+l備份的方式為每個(gè)媒體存儲(chǔ)傳輸單元的存儲(chǔ)被分成主存儲(chǔ) 區(qū)和備份存儲(chǔ)區(qū)兩個(gè)部分,媒體文件的各個(gè)分片交錯(cuò)存儲(chǔ)于各媒體存儲(chǔ)傳輸單元 的主存儲(chǔ)區(qū)中,同時(shí)每個(gè)分片都在其他媒體存儲(chǔ)傳輸單元的備份區(qū)中存儲(chǔ)一份拷 貝。
5、 一種視頻內(nèi)容服務(wù)方法,在包括CDN節(jié)點(diǎn)和視頻客戶端的視頻服務(wù)系 統(tǒng)中,所述CDN節(jié)點(diǎn)分成視頻加載節(jié)點(diǎn)、視頻服務(wù)節(jié)點(diǎn),所述視頻加載節(jié)點(diǎn)和所述視頻服務(wù)節(jié)點(diǎn)采用P2P協(xié)議構(gòu)成P2P-CDN網(wǎng)絡(luò),所述CDN網(wǎng)絡(luò)被劃分成 多個(gè)歸屬服務(wù)區(qū),每個(gè)客戶端配置歸屬CDN節(jié)點(diǎn);所述視頻服務(wù)方法包括媒體 加載預(yù)處理、媒體分發(fā)和加載、媒體搜索和媒體傳輸播放過程所述加載預(yù)處理是對(duì)來自內(nèi)容源的媒體文件進(jìn)行分析和處理,提取I幀索引 形成索引文件I-idx,并進(jìn)行流化和塊封裝;所述媒體分發(fā)是在預(yù)處理將媒體格式轉(zhuǎn)換處理完成后,將媒體內(nèi)容分發(fā)到目 標(biāo)節(jié)點(diǎn)進(jìn)行媒體加載;所述媒體搜索是在用戶請(qǐng)求媒體播放時(shí),視頻客戶端根據(jù)P2P搜索協(xié)議向 歸屬CDN節(jié)點(diǎn)發(fā)出媒體搜索消息,歸屬CDN節(jié)點(diǎn)在整個(gè)P2P-CDN網(wǎng)絡(luò)中選定 服務(wù)節(jié)點(diǎn)返回給客戶端,客戶端進(jìn)而向該服務(wù)節(jié)點(diǎn)進(jìn)行媒體服務(wù)請(qǐng)求,與控制單 元建立控制鏈接,與多個(gè)媒體單元建立多條數(shù)據(jù)鏈接,通過這些鏈接請(qǐng)求媒體數(shù) 據(jù);所述媒體傳輸播放是指媒體內(nèi)容從節(jié)點(diǎn)傳輸?shù)娇蛻舳斯┯脩舨シ拧?br>
6、 權(quán)利要求5所述的視頻內(nèi)容服務(wù)方法,其特征在于,視頻數(shù)據(jù)通過加載 節(jié)點(diǎn)處理分成等長的媒體塊,按等長塊交錯(cuò)均勻存儲(chǔ)于CDN節(jié)點(diǎn)的多個(gè)媒體單 元中,根據(jù)需要在P2P-CDN網(wǎng)絡(luò)中按塊進(jìn)行媒體分發(fā)和存儲(chǔ)。
7、 權(quán)利要求5所述的視頻內(nèi)容服務(wù)方法,其特征在于,在有內(nèi)容的節(jié)點(diǎn)無 法提供服務(wù)時(shí),讓有空閑服務(wù)能力的節(jié)點(diǎn)實(shí)施邊拉邊放邊緩存的方式提供服務(wù), 即有空閑能力的節(jié)點(diǎn)從一個(gè)或多個(gè)具備內(nèi)容的節(jié)點(diǎn)請(qǐng)求媒體內(nèi)容,并用請(qǐng)求到的 內(nèi)容為用戶進(jìn)行服務(wù),同時(shí)還把請(qǐng)求到的內(nèi)容進(jìn)行緩存。
8、 權(quán)利要求5所述的視頻內(nèi)容服務(wù)方法,其特征在于,CDN節(jié)點(diǎn)之間以多 源多鏈路的方式以媒體塊為傳輸單元進(jìn)行傳輸,即目的節(jié)點(diǎn)的多個(gè)媒體存儲(chǔ)傳輸 單元可以同時(shí)與其它多個(gè)節(jié)點(diǎn)的媒體存儲(chǔ)傳輸單元建立多個(gè)傳輸鏈接傳輸媒體 內(nèi)容,目的節(jié)點(diǎn)的每個(gè)媒體存儲(chǔ)傳輸單元根據(jù)媒體存儲(chǔ)格式只請(qǐng)求需要存儲(chǔ)在本 單元的部分媒體塊序列,而各媒體存儲(chǔ)傳輸單元的請(qǐng)求量加總得到整個(gè)媒體。
9、 權(quán)利要求5所述的視頻內(nèi)容服務(wù)方法,其特征在于,CDN節(jié)點(diǎn)與客戶端 之間用同時(shí)多鏈路下拉式交錯(cuò)的媒體傳輸方式,即客戶端與服務(wù)節(jié)點(diǎn)的各媒體存儲(chǔ)傳輸單元之間一直建立并保持多個(gè)鏈接,客戶端交錯(cuò)通過各鏈接請(qǐng)求媒體塊內(nèi) 容,使得每個(gè)用戶的在線服務(wù)負(fù)載都同時(shí)均攤到各個(gè)媒體存儲(chǔ)傳輸單元。
10、權(quán)利要求5所述的視頻內(nèi)容服務(wù)方法,其特征在于,在媒體搜索過程中, 客戶端向歸屬節(jié)點(diǎn)發(fā)送査詢消息,歸屬節(jié)點(diǎn)如果具備服務(wù)條件,則直接給客戶端 返回消息;否則。歸屬節(jié)點(diǎn)向相鄰節(jié)點(diǎn)轉(zhuǎn)發(fā)搜索請(qǐng)求,當(dāng)有節(jié)點(diǎn)具備服務(wù)條件, 則直接給機(jī)頂盒返回消息,否則繼續(xù)轉(zhuǎn)發(fā)。
全文摘要
一種視頻內(nèi)容服務(wù)系統(tǒng)和服務(wù)方法,視頻加載節(jié)點(diǎn)和所述視頻服務(wù)節(jié)點(diǎn)采用P2P協(xié)議構(gòu)成P2P-CDN網(wǎng)絡(luò),CDN網(wǎng)絡(luò)被劃分成多個(gè)歸屬服務(wù)區(qū),每個(gè)客戶端配置歸屬CDN節(jié)點(diǎn);所述視頻客戶端通過網(wǎng)絡(luò)與一個(gè)歸屬CDN節(jié)點(diǎn)相連。用戶請(qǐng)求媒體播放時(shí),視頻客戶端根據(jù)P2P搜索協(xié)議向歸屬CDN節(jié)點(diǎn)發(fā)出媒體搜索消息,歸屬CDN節(jié)點(diǎn)在整個(gè)P2P-CDN中選定服務(wù)節(jié)點(diǎn)返回給客戶端,客戶端進(jìn)而向該服務(wù)節(jié)點(diǎn)進(jìn)行媒體服務(wù)請(qǐng)求,與控制單元建立控制鏈接,與多個(gè)媒體單元建立多條數(shù)據(jù)鏈接,通過這些鏈接請(qǐng)求媒體數(shù)據(jù)。本發(fā)明解決了CDN網(wǎng)絡(luò)的規(guī)模擴(kuò)展性等問題,提高了系統(tǒng)可靠性問題,降低了系統(tǒng)維護(hù)成本。
文檔編號(hào)H04N21/60GK101193294SQ20061015719
公開日2008年6月4日 申請(qǐng)日期2006年11月29日 優(yōu)先權(quán)日2006年11月29日
發(fā)明者田洪亮 申請(qǐng)人:中興通訊股份有限公司