專利名稱:一種應(yīng)用于iptv的p2p代理點(diǎn)播系統(tǒng)及實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及IPTV的流媒體服務(wù)和P2P技術(shù)領(lǐng)域,尤其涉及一種應(yīng)用于IPTV的P2P 代理點(diǎn)播系統(tǒng)及實(shí)現(xiàn)方法。
背景技術(shù):
IPTV即交互式網(wǎng)絡(luò)電視,是一種利用寬帶有線電視網(wǎng),集互聯(lián)網(wǎng)、多媒體、通訊等多種技術(shù)于一體,向家庭用戶提供包括數(shù)字電視在內(nèi)的多種交互式服務(wù)的嶄新技術(shù)。在 IPTV系統(tǒng)中,用戶首先通過機(jī)頂盒進(jìn)行登錄、鑒權(quán)、訂購等操作,在相關(guān)操作完成后,用戶選中某個節(jié)目進(jìn)行觀看,這時候機(jī)頂盒會到流媒體服務(wù)器下拉數(shù)據(jù)進(jìn)行解碼播放,因此在 IPTV系統(tǒng)中,流媒體服務(wù)器是系統(tǒng)中提供媒體數(shù)據(jù)服務(wù)的核心。流媒體服務(wù)器在對用戶進(jìn)行服務(wù)時會涉及到磁盤I/O操作,在IPTV系統(tǒng)用戶量很大時,磁盤I/O操作就會非常頻繁。 目前存在的問題主要有以下幾個方面1.當(dāng)用戶點(diǎn)播一個節(jié)目時,有些流媒體服務(wù)器有能力(包括CPU、內(nèi)存和帶寬),但是其磁盤上沒有相應(yīng)的媒體數(shù)據(jù),因此無法對外提供服務(wù);2.當(dāng)大量的用戶點(diǎn)播一個節(jié)目時,有片源的流媒體服務(wù)器處于超負(fù)荷狀態(tài),頻繁的磁盤I/O操作對磁盤的損害比較大,因而現(xiàn)網(wǎng)的流媒體服務(wù)器的磁盤經(jīng)常會出現(xiàn)損壞故障。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種應(yīng)用于IPTV的P2P代理點(diǎn)播系統(tǒng)及實(shí)現(xiàn)方法,降低在大量用戶點(diǎn)播時系統(tǒng)中各流媒體服務(wù)器對其磁盤I/O的操作頻率,同時實(shí)現(xiàn)全網(wǎng)流媒體服務(wù)器的負(fù)載均衡。為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例采用以下技術(shù)方案?!N應(yīng)用于IPTV的P2P代理點(diǎn)播系統(tǒng),包括管理服務(wù)器、流媒體服務(wù)器和機(jī)頂盒,管理服務(wù)器包括流媒體服務(wù)器管理模塊,用于對所有媒體文件進(jìn)行分片并分布于各媒體服務(wù)器;還用于管理分片信息,在接收到P2P代理模塊的片源節(jié)點(diǎn)信息請求時向其返回所需的片源節(jié)點(diǎn)信息;所述媒體服務(wù)器包括存儲單元和P2P代理模塊;所述存儲單元,用于存儲分片數(shù)據(jù);所述P2P代理模塊,用于從管理服務(wù)器獲取存儲有當(dāng)前被點(diǎn)播的媒體文件的分片數(shù)據(jù)的片源節(jié)點(diǎn)信息,并通過P2P代理方式從各片源節(jié)點(diǎn)進(jìn)行內(nèi)容調(diào)度以獲取相關(guān)的分片數(shù)據(jù)。優(yōu)選地,所述存儲單元包括分布式分片存儲區(qū),設(shè)于磁盤,用于存儲被分布至本地的分片數(shù)據(jù),以供本地讀?。粍討B(tài)分片存儲區(qū),設(shè)于內(nèi)存,用于緩存點(diǎn)播熱度超過閾值的媒體文件的分片數(shù)據(jù), 以供本地讀取和/或?qū)ν膺M(jìn)行內(nèi)容調(diào)度時讀取。
優(yōu)選地,所述存儲單元還包括第一分片存儲區(qū),設(shè)于磁盤/內(nèi)存,用于存儲所有媒體文件的第一分片數(shù)據(jù)。優(yōu)選地,所述管理服務(wù)器還用于定期統(tǒng)計各媒體文件的點(diǎn)播熱度,針對其中的點(diǎn)播熱度超過閾值的媒體文件,觸發(fā)相應(yīng)的片源節(jié)點(diǎn)將相關(guān)的分片數(shù)據(jù)從分布式分片存儲區(qū)向動態(tài)分片存儲區(qū)中緩存。優(yōu)選地,所述動態(tài)分片存儲區(qū)的大小為2G。一種應(yīng)用于IPTV的P2P代理點(diǎn)播實(shí)現(xiàn)方法,包括管理服務(wù)器對所有媒體文件進(jìn)行分片并將其分布于各流媒體服務(wù)器;對于各流媒體服務(wù)器,在接收到本地的機(jī)頂盒的文件數(shù)據(jù)下拉請求時,從本地讀取相關(guān)的分片數(shù)據(jù)和/或通過P2P代理的方式從其他存儲有相關(guān)分片數(shù)據(jù)的流媒體服務(wù)器進(jìn)行內(nèi)容調(diào)度以獲取相關(guān)的分片數(shù)據(jù),然后將所獲得的分片數(shù)據(jù)提供給所述機(jī)頂盒。優(yōu)選地,所述將所有分片分布于各流媒體服務(wù)器的過程進(jìn)一步包括在每個流媒體服務(wù)器的第一分片存儲區(qū)中,存儲所有媒體文件的第一分片數(shù)據(jù); 在每個流媒體服務(wù)器的分布式分片存儲區(qū),存儲被分布至本地的分片數(shù)據(jù)。優(yōu)選地,上述方法還包括管理服務(wù)器定期統(tǒng)計各媒體文件的點(diǎn)播熱度,針對其中的點(diǎn)播熱度超過閾值的媒體文件,觸發(fā)相應(yīng)的片源節(jié)點(diǎn)將相關(guān)的分片數(shù)據(jù)從分布式分片存儲區(qū)向動態(tài)分片存儲區(qū)中緩存。優(yōu)選地,所述流媒體服務(wù)器從其他流媒體服務(wù)器進(jìn)行內(nèi)容調(diào)度的過程進(jìn)一步包括本地的P2P代理模塊向管理服務(wù)器發(fā)送片源節(jié)點(diǎn)信息請求以獲取存儲有相關(guān)分片數(shù)據(jù)的片源節(jié)點(diǎn)信息;在接收到片源節(jié)點(diǎn)信息后,本地的P2P代理模塊按序從各片源節(jié)點(diǎn)進(jìn)行握手;在與當(dāng)前的片源節(jié)點(diǎn)握手成功后向其發(fā)起P2P的分片數(shù)據(jù)請求,對端的P2P代理模塊從動態(tài)分片存儲區(qū)中讀取相關(guān)的分片數(shù)據(jù)后發(fā)送給本地的P2P代理模塊,本地的P2P代理模塊在接收到之后將該分片數(shù)據(jù)保存至本地的動態(tài)分片存儲區(qū)的同時寫入分布式分片存儲區(qū)。優(yōu)選地,上述方法中,所述P2P代理模塊在進(jìn)行內(nèi)容調(diào)度的過程中,每次進(jìn)行調(diào)度的內(nèi)容為整個分片數(shù)據(jù)或者部分分片數(shù)據(jù)。與現(xiàn)有技術(shù)相比,本本發(fā)明實(shí)施例具有以下有益效果本發(fā)明實(shí)施例實(shí)現(xiàn)了分布式流媒體服務(wù),即將多媒體文件分布在不同的節(jié)點(diǎn)上, 多個節(jié)點(diǎn)協(xié)同工作為用戶提供服務(wù),不同節(jié)點(diǎn)上的多媒體文件分塊,根據(jù)節(jié)點(diǎn)間文件的缺失情況和節(jié)點(diǎn)的負(fù)載情況進(jìn)行相應(yīng)的調(diào)度。本發(fā)明實(shí)施例通過P2P代理的方式將系統(tǒng)中所有的流媒體服務(wù)器的磁盤和內(nèi)存形成了一個整體進(jìn)行管理,從而避免了磁盤空間的浪費(fèi); 將系統(tǒng)中所有流媒體服務(wù)器的內(nèi)存形成了一個整體進(jìn)行管理,從而使得服務(wù)器的內(nèi)存能夠緩存更多的熱片,避免在高峰時刻大量用戶觀看熱片時導(dǎo)致的磁盤I/O的頻繁操作。
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本發(fā)明的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖1為本發(fā)明實(shí)施例中應(yīng)用于IPTV的P2P代理點(diǎn)播系統(tǒng)結(jié)構(gòu)示意圖2為本發(fā)明實(shí)施例中管理服務(wù)器的業(yè)務(wù)處理流程圖;圖3為本發(fā)明實(shí)施例中P2P代理點(diǎn)播實(shí)現(xiàn)方法流程圖;圖4為本發(fā)明實(shí)施例中P2P代理模塊進(jìn)行內(nèi)容調(diào)度的方法流程圖。
具體實(shí)施例方式為了使本發(fā)明所要解決的技術(shù)問題、技術(shù)方案及有益效果更加清楚、明白,以下結(jié)合附圖和實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。以目前流媒體服務(wù)器的配置4G內(nèi)存來說,其中2G的內(nèi)存用來緩存熱片內(nèi)容,IG的內(nèi)存用于跑服務(wù)程序。對于2G的內(nèi)存而言,可以緩存幾部片子的內(nèi)容是有限的,但假如系統(tǒng)中有1 00臺服務(wù)器,則共有200G的內(nèi)存,這塊內(nèi)存是比較大的,可以緩存大量的熱片。本發(fā)明針對這一特點(diǎn),提出來P2P代理技術(shù),所謂P2P代理,就是流媒體服務(wù)器在獲取媒體數(shù)據(jù)時,P2P代理獲取數(shù)據(jù)的方式不再是簡單的從磁盤讀取,其數(shù)據(jù)來源于三個方面從磁盤中直接讀取、從內(nèi)存中讀取、從其他服務(wù)器的內(nèi)存或者磁盤中進(jìn)行實(shí)時調(diào)度,P2P代理模塊會根據(jù)本地媒體文件存在情況決定三種數(shù)據(jù)獲取策略,P2P代理模塊封裝成相應(yīng)的庫,流媒體服務(wù)器調(diào)用相應(yīng)的庫接口函數(shù)就可以實(shí)現(xiàn)文件數(shù)據(jù)的獲取。通過P2P代理,可以實(shí)現(xiàn)將系統(tǒng)中所有流媒體服務(wù)器的磁盤和內(nèi)存進(jìn)行統(tǒng)一管理,系統(tǒng)中每個節(jié)點(diǎn)的存儲體為一個整體,完成所負(fù)責(zé)的所有用戶的服務(wù)工作,實(shí)現(xiàn)節(jié)點(diǎn)內(nèi)部刀片間的所有內(nèi)容共享。如圖1所示,本實(shí)施例中,P2P代理點(diǎn)播系統(tǒng)包括以下組成部分一個包含流媒體服務(wù)器管理模塊的管理服務(wù)器、多個流媒體服務(wù)器和多個機(jī)頂盒。機(jī)頂盒,用于到業(yè)務(wù)憑條進(jìn)行登錄、鑒權(quán)等操作,在鑒權(quán)成功后顯示EPG內(nèi)容,在用戶從EPG上選擇節(jié)目進(jìn)行播放時觸發(fā)其流播放模塊從本地的流媒體服務(wù)器下拉相應(yīng)的媒體數(shù)據(jù)。流媒體服務(wù)器,用于在接收到本地機(jī)頂盒的下拉請求時,根據(jù)熱點(diǎn)文件的缺失情況從本地的存儲單元直接讀取相應(yīng)的媒體數(shù)據(jù)和/或從其他流媒體服務(wù)器進(jìn)行內(nèi)容調(diào)度來獲取相關(guān)的媒體數(shù)據(jù),為機(jī)頂盒提供服務(wù)。該流媒體服務(wù)器包括存儲單元和P2P代理模塊;其中,存儲單元,用于存儲分片數(shù)據(jù),劃分為①第一分片存儲區(qū),設(shè)于磁盤/內(nèi)存,用于存儲所有媒體文件的第一分片數(shù)據(jù),以使得用戶在初始觀看節(jié)目時能夠獲得快速的響應(yīng)速度;②分布式分片存儲區(qū),設(shè)于磁盤,用于存儲被分布至本地的分片數(shù)據(jù),以供本地讀?。?③動態(tài)分片存儲區(qū),設(shè)于內(nèi)存,用于緩存部分分片數(shù)據(jù),以供本地讀取和/或?qū)ν膺M(jìn)行內(nèi)容調(diào)度時讀取;P2P代理模塊,用于從管理服務(wù)器獲取存儲有當(dāng)前被點(diǎn)播的媒體文件的分片數(shù)據(jù)的片源節(jié)點(diǎn)信息,并通過P2P代理方式從各片源節(jié)點(diǎn)進(jìn)行基于整個分片數(shù)據(jù)或者分片的部分?jǐn)?shù)據(jù)的內(nèi)容調(diào)度以獲取相關(guān)的媒體數(shù)據(jù)。流媒體服務(wù)器管理模塊,用于對所有媒體文件進(jìn)行分片并分布于各流媒體服務(wù)器;對分片信息進(jìn)行管理,為各P2P代理模塊提供片源節(jié)點(diǎn)信息服務(wù);定期統(tǒng)計各媒體文件的點(diǎn)播熱度,針對其中的熱片,觸發(fā)相應(yīng)的片源節(jié)點(diǎn)將相關(guān)的分片數(shù)據(jù)從分布式分片存儲區(qū)向動態(tài)分片存儲區(qū)中緩存。
如圖2所示,本實(shí)施例中,P2P代理點(diǎn)播系統(tǒng)中管理服務(wù)器的業(yè)務(wù)處理流程,包括以下步驟201、對所有媒體文件進(jìn)行分片,并將所有分片分布至各個媒體服務(wù)器。202、對于每個媒體服務(wù)器,在其第一分片存儲區(qū)存儲所有媒體文件的第一分片數(shù)據(jù),在其分布式分片存儲區(qū)存儲分布至本地的分片數(shù)據(jù)。203、定期統(tǒng)計各媒體文件的點(diǎn)播熱度,針對其中的熱片,查找其片源節(jié)點(diǎn),觸發(fā)該片源節(jié)點(diǎn)將其分布式分片存儲區(qū)中存儲的相關(guān)的分片數(shù)據(jù)緩存至動態(tài)分片存儲區(qū)。通過上述處理,由于所有媒體文件的第一分片都在各個流媒體服務(wù)器上存儲,所以用戶在初始觀看節(jié)目時能夠獲得快速的響應(yīng)速度;另外,由于熱片被緩存至內(nèi)存,本地用戶在點(diǎn)播時流媒體服務(wù)器可直接從內(nèi)存中讀取,從而減少了對磁盤I/O操作次數(shù)。如圖3所示,本實(shí)施例中,P2P代理點(diǎn)播過程包括以下步驟301、用戶打開機(jī)頂盒,機(jī)頂盒到業(yè)務(wù)平臺進(jìn)行登錄、鑒權(quán)等操作,業(yè)務(wù)平臺在通過鑒權(quán)后,將EPG的內(nèi)容在機(jī)頂盒上顯示。302、用戶從EPG上選擇某個節(jié)目進(jìn)行播放,觸發(fā)機(jī)頂盒的流播放模塊,機(jī)頂盒的流播放模塊向流媒體服務(wù)器發(fā)送媒體文件數(shù)據(jù)下拉請求。303、流媒體服務(wù)器在接收到機(jī)頂盒的媒體文件數(shù)據(jù)下拉請求后,若本流媒體服務(wù)器為片源,則直接從內(nèi)存或者磁盤中讀取相關(guān)的文件數(shù)據(jù),供通過P2P代理模塊獲取機(jī)頂盒需要的數(shù)據(jù)。如果本流媒體服務(wù)器不是片源,則執(zhí)行步驟304,采用P2P代理方式進(jìn)行內(nèi)
容調(diào)度。304、本地的P2P代理模塊會自動到存儲有片源的服務(wù)器上面進(jìn)行調(diào)度,調(diào)度回來的數(shù)據(jù)在存放到內(nèi)存中的同時寫到磁盤上。這樣既實(shí)現(xiàn)了快速的對用戶提供服務(wù),又實(shí)現(xiàn)了熱片在流媒體服務(wù)器之間的調(diào)度。305、機(jī)頂盒在接收到數(shù)據(jù)后,進(jìn)行解碼播放。如圖4所示,在上述步驟304中,P2P代理模塊進(jìn)行內(nèi)容調(diào)度的過程具體為401、請求方的P2P代理模塊首先向管理服務(wù)器申請哪些節(jié)點(diǎn)具有相關(guān)的分片數(shù)據(jù);402、在管理服務(wù)器返回相應(yīng)的節(jié)點(diǎn)后,請求方的P2P代理模塊和這些節(jié)點(diǎn)進(jìn)行握手,握手成功后發(fā)起P2P的分片數(shù)據(jù)請求;403、對端的P2P代理模塊在接收到分片數(shù)據(jù)請求消息后,從自身的內(nèi)存中將所需的數(shù)據(jù)讀取出來發(fā)送給請求方的P2P代理模塊;404、請求方的P2P代理模塊在接收到各個節(jié)點(diǎn)的分片數(shù)據(jù)回復(fù)消息后,將回復(fù)消息組裝成原始的分片數(shù)據(jù),然后將該分片數(shù)據(jù)保存到內(nèi)存中,流媒體服務(wù)器模塊從內(nèi)存中將相應(yīng)的數(shù)據(jù)讀取出來后為機(jī)頂盒提供數(shù)據(jù)服務(wù)。對于點(diǎn)播來說,難度比較大的就是雖然用戶看的是同一個節(jié)目,但是各個用戶的進(jìn)度不一樣,因此當(dāng)連到一臺媒體服務(wù)器上的所有用戶的觀看進(jìn)度差異比較大時,如果采用如上所述基于分片的內(nèi)容調(diào)度,則在惡劣情況下該流媒體服務(wù)器需要將整部片源全部在動態(tài)分片存儲區(qū)中緩存起來才能夠滿足對外服務(wù)。因此在此情況下,P2P代理模塊可細(xì)化調(diào)度的粒度,即在進(jìn)行某個熱片的內(nèi)存緩存時,僅僅是緩存該分片的部分?jǐn)?shù)據(jù)(這部分緩存的數(shù)據(jù)能夠滿足播放的需求),該分片的其他部分?jǐn)?shù)據(jù)在后續(xù)再實(shí)時地從其他流媒體服
7務(wù)器調(diào)度過來。假設(shè)分片的大小為24M,每個分片只需要緩存的部分?jǐn)?shù)據(jù)大小為2M,對于一部32XM = 768M的影片,則只需要32X2 = 64M內(nèi)存就可以為全網(wǎng)的用戶服務(wù),而一臺流媒體服務(wù)器可用于緩存熱片的內(nèi)存(即動態(tài)分片存儲區(qū))大小為2G,則可以緩存32部熱片,通過P2P代理的方式,可將所有流媒體服務(wù)器的內(nèi)存統(tǒng)一管理,假如有100臺流媒體服務(wù)器,則可以緩存3200部熱片,對于該3200部熱片,只需要一次磁盤讀寫就可以實(shí)現(xiàn)對全網(wǎng)用戶進(jìn)行服務(wù),大大減低了磁盤I/0操作。當(dāng)用戶量比較大時,管理服務(wù)器會進(jìn)行負(fù)載均衡,而現(xiàn)有技術(shù)中常規(guī)的負(fù)載均衡方式是將用戶平均分配到磁盤上具有該片源的流媒體服務(wù)器上面,如果這些流媒體服務(wù)器的負(fù)荷已經(jīng)比較大的話,會影響用戶的服務(wù),而這時系統(tǒng)中可能磁盤沒有片源的有些流媒體服務(wù)器卻處于空閑狀態(tài)。為了解決這個問題,本實(shí)施例中管理服務(wù)器在進(jìn)行負(fù)載均衡時, 只管該流媒體的服務(wù)器在CPU、內(nèi)存、磁盤IO方面的負(fù)荷考慮是否要調(diào)度,而不管該服務(wù)器是否有相關(guān)的片源,片源數(shù)據(jù)通過P2P代理方式獲取,這樣就能實(shí)現(xiàn)全網(wǎng)流媒體服務(wù)器的負(fù)載均衡。上述說明示出并描述了本發(fā)明的一個優(yōu)選實(shí)施例,但如前所述,應(yīng)當(dāng)理解本發(fā)明并非局限于本文所披露的形式,不應(yīng)看作是對其他實(shí)施例的排除,而可用于各種其他組合、 修改和環(huán)境,并能夠在本文所述發(fā)明構(gòu)想范圍內(nèi),通過上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識進(jìn)行改動。而本領(lǐng)域人員所進(jìn)行的改動和變化不脫離本發(fā)明的精神和范圍,則都應(yīng)在本發(fā)明所附權(quán)利要求的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種應(yīng)用于IPTV的P2P代理點(diǎn)播系統(tǒng),包括管理服務(wù)器、流媒體服務(wù)器和機(jī)頂盒,其特征在于,管理服務(wù)器包括流媒體服務(wù)器管理模塊,用于對所有媒體文件進(jìn)行分片并分布于各媒體服務(wù)器;還用于管理分片信息,在接收到P2P代理模塊的片源節(jié)點(diǎn)信息請求時向其返回所需的片源節(jié)點(diǎn)信息;所述媒體服務(wù)器包括存儲單元和P2P代理模塊;所述存儲單元,用于存儲分片數(shù)據(jù);所述P2P代理模塊,用于從管理服務(wù)器獲取存儲有當(dāng)前被點(diǎn)播的媒體文件的分片數(shù)據(jù)的片源節(jié)點(diǎn)信息,并通過P2P代理方式從各片源節(jié)點(diǎn)進(jìn)行內(nèi)容調(diào)度以獲取相關(guān)的分片數(shù)據(jù)。
2.如權(quán)利要求1所述的P2P代理點(diǎn)播系統(tǒng),其特征在于,所述存儲單元包括 分布式分片存儲區(qū),設(shè)于磁盤,用于存儲被分布至本地的分片數(shù)據(jù),以供本地讀取; 動態(tài)分片存儲區(qū),設(shè)于內(nèi)存,用于緩存點(diǎn)播熱度超過閾值的媒體文件的分片數(shù)據(jù),以供本地讀取和/或?qū)ν膺M(jìn)行內(nèi)容調(diào)度時讀取。
3.如權(quán)利要求2所述的P2P代理點(diǎn)播系統(tǒng),其特征在于,所述存儲單元還包括第一分片存儲區(qū),設(shè)于磁盤/內(nèi)存,用于存儲所有媒體文件的第一分片數(shù)據(jù)。
4.如權(quán)利要求1至3任一所述的P2P代理點(diǎn)播系統(tǒng),其特征在于,所述管理服務(wù)器還用于定期統(tǒng)計各媒體文件的點(diǎn)播熱度,針對其中的點(diǎn)播熱度超過閾值的媒體文件,觸發(fā)相應(yīng)的片源節(jié)點(diǎn)將相關(guān)的分片數(shù)據(jù)從分布式分片存儲區(qū)向動態(tài)分片存儲區(qū)中緩存。
5.如權(quán)利要求2所述的P2P代理點(diǎn)播系統(tǒng),其特征在于,所述動態(tài)分片存儲區(qū)的大小為2G。
6.一種應(yīng)用于IPTV的P2P代理點(diǎn)播實(shí)現(xiàn)方法,其特征在于,該方法包括 管理服務(wù)器對所有媒體文件進(jìn)行分片并將其分布于各流媒體服務(wù)器;對于各流媒體服務(wù)器,在接收到本地的機(jī)頂盒的文件數(shù)據(jù)下拉請求時,從本地讀取相關(guān)的分片數(shù)據(jù)和/或通過P2P代理的方式從其他存儲有相關(guān)分片數(shù)據(jù)的流媒體服務(wù)器進(jìn)行內(nèi)容調(diào)度以獲取相關(guān)的分片數(shù)據(jù),然后將所獲得的分片數(shù)據(jù)提供給所述機(jī)頂盒。
7.如權(quán)利要求6所述的P2P代理點(diǎn)播實(shí)現(xiàn)方法,其特征在于,所述將所有分片分布于各流媒體服務(wù)器的過程進(jìn)一步包括在每個流媒體服務(wù)器的第一分片存儲區(qū)中,存儲所有媒體文件的第一分片數(shù)據(jù);在每個流媒體服務(wù)器的分布式分片存儲區(qū),存儲被分布至本地的分片數(shù)據(jù)。
8.如權(quán)利要求7所述的P2P代理點(diǎn)播實(shí)現(xiàn)方法,其特征在于,該方法還包括管理服務(wù)器定期統(tǒng)計各媒體文件的點(diǎn)播熱度,針對其中的點(diǎn)播熱度超過閾值的媒體文件,觸發(fā)相應(yīng)的片源節(jié)點(diǎn)將相關(guān)的分片數(shù)據(jù)從分布式分片存儲區(qū)向動態(tài)分片存儲區(qū)中緩存。
9.如權(quán)利要求8所述的P2P代理點(diǎn)播實(shí)現(xiàn)方法,其特征在于,所述流媒體服務(wù)器從其他流媒體服務(wù)器進(jìn)行內(nèi)容調(diào)度的過程進(jìn)一步包括本地的P2P代理模塊向管理服務(wù)器發(fā)送片源節(jié)點(diǎn)信息請求以獲取存儲有相關(guān)分片數(shù)據(jù)的片源節(jié)點(diǎn)信息;在接收到片源節(jié)點(diǎn)信息后,本地的P2P代理模塊按序從各片源節(jié)點(diǎn)進(jìn)行握手;在與當(dāng)前的片源節(jié)點(diǎn)握手成功后向其發(fā)起P2P的分片數(shù)據(jù)請求,對端的P2P代理模塊從動態(tài)分片存儲區(qū)中讀取相關(guān)的分片數(shù)據(jù)后發(fā)送給本地的P2P代理模塊,本地的P2P代理模塊在接收到之后將該分片數(shù)據(jù)保存至本地的動態(tài)分片存儲區(qū)的同時寫入分布式分片存儲區(qū)。
10.如權(quán)利要求9所述的P2P代理點(diǎn)播實(shí)現(xiàn)方法,其特征在于,該方法中,所述P2P代理模塊在進(jìn)行內(nèi)容調(diào)度的過程中,每次進(jìn)行調(diào)度的內(nèi)容為整個分片數(shù)據(jù)或者部分分片數(shù)據(jù)。
全文摘要
本發(fā)明提供了一種應(yīng)用于IPTV的P2P代理點(diǎn)播系統(tǒng)及實(shí)現(xiàn)方法,所述方法包括管理服務(wù)器、流媒體服務(wù)器和機(jī)頂盒;管理服務(wù)器包括流媒體服務(wù)器管理模塊,用于對所有媒體文件進(jìn)行分片并分布于各媒體服務(wù)器;管理分片信息,在接收到P2P代理模塊的片源節(jié)點(diǎn)信息請求時向其返回所需的片源節(jié)點(diǎn)信息;媒體服務(wù)器包括存儲單元和P2P代理模塊;所述存儲單元,用于存儲分片數(shù)據(jù);P2P代理模塊,用于從管理服務(wù)器獲取存儲有當(dāng)前被點(diǎn)播的媒體文件的分片數(shù)據(jù)的片源節(jié)點(diǎn)信息,并通過P2P代理方式從各片源節(jié)點(diǎn)進(jìn)行內(nèi)容調(diào)度以獲取相關(guān)的分片數(shù)據(jù)。本發(fā)明合理利用了磁盤空間,避免了浪費(fèi);降低了高峰時刻大量用戶觀看時對磁盤I/O的操作頻率。
文檔編號H04N21/63GK102291629SQ20111025124
公開日2011年12月21日 申請日期2011年8月29日 優(yōu)先權(quán)日2011年8月29日
發(fā)明者季健 申請人:中興通訊股份有限公司