專利名稱:一種推送視頻及數(shù)據(jù)內(nèi)容的方法、系統(tǒng)及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻點(diǎn)播技術(shù),特別涉及一種推送視頻及數(shù)據(jù)內(nèi)容的方法、系統(tǒng)及設(shè)備。
背景技術(shù):
推送視頻點(diǎn)播(PV0D, Push Video On Demand)業(yè)務(wù)是一種新型數(shù)字電視增值業(yè)
務(wù),它以推送技術(shù)為基礎(chǔ),利用空閑的廣播信道,在不妨礙電視用戶正常收看節(jié)目的前提
下,將各種擴(kuò)展服務(wù)內(nèi)容自動推送到用戶數(shù)字電視接收終相連的存儲設(shè)備中,用戶可以選
擇在任意時段從數(shù)字電視接收終相連的存儲設(shè)備中讀取相關(guān)文件,以享受數(shù)字電視運(yùn)營商
提供的各種擴(kuò)展服務(wù)內(nèi)容,實(shí)現(xiàn)本地點(diǎn)播。上述擴(kuò)展服務(wù)內(nèi)容可以是音頻、視頻,也可以是
其他數(shù)據(jù)內(nèi)容,例如網(wǎng)頁、圖片等。 目前存在如下兩種PV0D的實(shí)現(xiàn)方案 第一、基于準(zhǔn)視頻點(diǎn)播(NVOD, Near Video On Demand)擴(kuò)展的個人視頻錄像機(jī)實(shí) 現(xiàn)方案。 服務(wù)器端每隔一段時間在某一頻道從頭播放同一套節(jié)目,即每隔一段時間在該 頻道向數(shù)字電視接收終推送相同的視頻流,推送的方式與普通節(jié)目視頻流的推送方式相 同,用戶在發(fā)出點(diǎn)播某一套節(jié)目的點(diǎn)播信號后,中間交換設(shè)備將數(shù)字電視接收終與最近將 要從頭開始播放該套節(jié)目的頻道連通,然后數(shù)字電視接收終利用個人視頻錄像機(jī)(PVR, Personal Video Recorder)技術(shù)中的電子節(jié)目指南(EPG,Electronic Program Guide)對
節(jié)目時段(例如節(jié)目開始時間、節(jié)目持續(xù)時間)的描述,對該套節(jié)目的視頻流進(jìn)行實(shí)時錄 制、創(chuàng)建視頻流文件并存儲。 該方案只適用于服務(wù)器端推送視頻流的情況,另外由于對某個視頻流的錄制受限 于當(dāng)前EPG的描述,無法做到十分精確,無法做到對未接收完成的數(shù)據(jù)的斷點(diǎn)續(xù)傳。
第二、基于數(shù)字存儲媒體命令與控制(DSM-CC, Dsca Storage MediaCommand and Control)的實(shí)現(xiàn)方案。 服務(wù)器端利用DSM-CC數(shù)據(jù)分段對推送的數(shù)據(jù)進(jìn)行分段封裝,然后進(jìn)行輪播,數(shù)字 電視接收終端根據(jù)DSM-CC協(xié)議,接收分段封裝的DSM-CC數(shù)據(jù),并分段進(jìn)行文件創(chuàng)建,在成 功創(chuàng)建文件后,進(jìn)行數(shù)據(jù)解析并保存數(shù)據(jù)。 該方案雖然解決了第一種方案中只能實(shí)時錄制視頻流的情況,但由于DSM-CC協(xié) 議的復(fù)雜性,使得數(shù)字電視接收終端對數(shù)據(jù)的解析效率大大降低,無法快速有效的保存數(shù) 據(jù),例如,對于較大的數(shù)據(jù),數(shù)字電視接收終在接收該數(shù)據(jù)的同時需要創(chuàng)建該數(shù)據(jù)文件,而 創(chuàng)建數(shù)據(jù)文件需要花費(fèi)較多時間和占用較多資源,從而降低了數(shù)字電視接收終的數(shù)據(jù)接收 速度、解析效率以及保存數(shù)據(jù)的速度;進(jìn)而對數(shù)字電視接收終設(shè)備的硬件配置有較高的要 求,包括要求中央處理器(CPU, Central Processing Unit)的性能更強(qiáng),同步動態(tài)隨機(jī)接入 存儲器(SD廳,Synchronous Dynamic Random Access Memory)的容量更大,閃存(FLASH) 的容量也更大等,增加了硬件的成本。
發(fā)明內(nèi)容
本發(fā)明提供一種推送視頻及數(shù)據(jù)內(nèi)容的方法,能夠支持任意格式數(shù)據(jù)的推送、提
高數(shù)字電視接收終端接收速率。 本發(fā)明提供一種推送視頻及數(shù)據(jù)內(nèi)容的系統(tǒng),能夠支持任意格式數(shù)據(jù)的推送、提
高數(shù)字電視接收終端接收速率。 本發(fā)明提供一種推送視頻及數(shù)據(jù)內(nèi)容的服務(wù)器端設(shè)備,能夠支持任意格式數(shù)據(jù)的 推送、提高數(shù)字電視接收終端接收速率。 本發(fā)明提供一種接收視頻及數(shù)據(jù)內(nèi)容的數(shù)字電視接收終端設(shè)備,能夠支持任意格
式數(shù)據(jù)的推送、提高數(shù)字電視接收終端接收速率。 本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的 —種推送視頻及數(shù)據(jù)內(nèi)容的方法,該方法包括 服務(wù)器端為待播發(fā)的推送視頻點(diǎn)播PV0D內(nèi)容文件創(chuàng)建對應(yīng)的PV0D描述文件,所
述PV0D描述文件包含該P(yáng)V0D內(nèi)容文件的描述信息; 服務(wù)器端循環(huán)播發(fā)輸出PV0D描述文件和PV0D內(nèi)容文件; 數(shù)字電視接收終端接收PVOD描述文件并進(jìn)行處理,在處理過程中判斷是否存儲 有上一輪PVOD描述文件,如果是,匹配目前接收的PVOD描述文件以及已存儲的上一輪PVOD 描述文件,創(chuàng)建上一輪PVOD描述文件中未推送的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容 文件并分配相應(yīng)的存儲空間,如果數(shù)字電視接收終端沒有存儲上一輪PV0D描述文件,根據(jù) 接收的PV0D描述文件創(chuàng)建所有未推送的PV0D內(nèi)容文件并分配相應(yīng)的存儲空間;
數(shù)字電視接收終端接收PV0D內(nèi)容文件,根據(jù)創(chuàng)建的未推送的PV0D內(nèi)容文件以及 需要更新的PV0D內(nèi)容文件從接收的PV0D內(nèi)容文件中解析對應(yīng)PV0D內(nèi)容文件的數(shù)據(jù)包并 保存到已創(chuàng)建的相應(yīng)PVOD內(nèi)容文件中。 所述服務(wù)器端為待播發(fā)的推送視頻點(diǎn)播PV0D內(nèi)容文件創(chuàng)建對應(yīng)的PV0D描述文件 包括 服務(wù)器端獲取所有需要推送的PV0D內(nèi)容文件的描述信息,按照獲取的PV0D內(nèi)容 文件在數(shù)字電視接收終端的存儲結(jié)構(gòu)組織PVOD內(nèi)容文件的描述信息,將描述PVOD內(nèi)容文 件的概要信息的描述信息封裝為PV0D描述文件。 所述PVOD描述文件中的描述信息包括各PV0D內(nèi)容文件名稱、數(shù)字電視接收終端 存儲的相對路徑、文件大小、文件的日期時間屬性以及所有的PVOD數(shù)據(jù)包中實(shí)際數(shù)據(jù)長度 閥值。 所述服務(wù)器端輸出PVOD內(nèi)容文件包括服務(wù)器端按照PVOD描述文件中的PVOD數(shù) 據(jù)包中實(shí)際數(shù)據(jù)長度閥值和PVOD內(nèi)容文件大小將各具體PVOD內(nèi)容文件封裝為PVOD數(shù)據(jù) 包后再進(jìn)行數(shù)據(jù)的傳輸打包,然后輸出。 所述根據(jù)接收的PVOD描述文件創(chuàng)建所有未推送的PVOD內(nèi)容文件并分配相應(yīng)的存 儲空間的步驟進(jìn)一步包括 刪除數(shù)字電視接收終上的存儲設(shè)備上存儲PVOD內(nèi)容文件的根目錄下的所有文件 和目錄。 所述創(chuàng)建上一輪PVOD描述文件中未推送的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件并分配相應(yīng)的存儲空間的步驟進(jìn)一步包括 更改存儲的PVOD描述文件名稱; 將接收的PVOD描述文件保存為當(dāng)前PVOD描述文件; 比較當(dāng)前存儲的PVOD描述文件和更名的PVOD描述文件,在數(shù)字電視接收終存儲 設(shè)備的PVOD內(nèi)容文件存儲目錄中,刪除更名的PVOD描述文件中不存在描述的PVOD內(nèi)容文 件,并刪除更名的PVOD描述文件中存在描述但當(dāng)前存儲的PVOD描述文件中不存在描述的 PVOD內(nèi)容文件,并刪除更名的PVOD描述文件中和當(dāng)前存儲的PVOD描述文件中均存在描述、 但描述大小或文件日期時間不一致的PVOD內(nèi)容文件。
所述方法進(jìn)一步包括 遍歷數(shù)字電視接收終存儲設(shè)備中已存儲的PVOD內(nèi)容文件,刪除當(dāng)前存儲的PVOD 描述文件中不存在描述的PVOD內(nèi)容文件,及刪除當(dāng)前存儲的PVOD描述文件中存在描述、但 大小或文件的日期時間屬性與當(dāng)前存儲的PVOD描述文件中描述不一致的PVOD內(nèi)容文件。
所述創(chuàng)建未推送的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件并分配相應(yīng)的存 儲空間包括 根據(jù)接收的PVOD描述文件中的描述,創(chuàng)建內(nèi)容為空的接收的PVOD描述文件中有
描述但數(shù)字電視接收終存儲設(shè)備中PVOD內(nèi)容文件存儲目錄不存在的PVOD內(nèi)容文件以及需
要更新的PVOD內(nèi)容文件的空文件并分配大小,并創(chuàng)建對應(yīng)該文件的狀態(tài)文件。 所述利用創(chuàng)建的未推送的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件從接收的
PVOD內(nèi)容文件中解析對應(yīng)PVOD內(nèi)容文件的內(nèi)容數(shù)據(jù)并保存到數(shù)字電視接收終端存儲設(shè)備
包括 判斷數(shù)字電視接收終存儲設(shè)備中是否已存在根據(jù)接收的PVOD描述文件描述的 PVOD內(nèi)容文件的完整接收文件,如存在即停止接收該P(yáng)VOD內(nèi)容文件的保存,并判斷根據(jù)接 收的PVOD描述文件的描述的PVOD內(nèi)容文件是否已全部接收,如已完成接收則結(jié)束整個接 收過程,否則繼續(xù)接收PVOD內(nèi)容文件的過程; 在上一步的判斷中如不存在已完成接收的PVOD內(nèi)容文件,則判斷數(shù)字電視接收 終存儲設(shè)備中是否已存在根據(jù)接收的PVOD描述文件創(chuàng)建的PVOD內(nèi)容文件的空文件或未接 收完成的PVOD內(nèi)容文件,如果不是,繼續(xù)執(zhí)行建立具有PVOD內(nèi)容文件名稱的空文件,并建 立對應(yīng)的狀態(tài)文件,然后將從當(dāng)前接收的PVOD內(nèi)容文件中解析出的內(nèi)容數(shù)據(jù)存儲到該空 文件中,該空文件成為未接收完成的PVOD內(nèi)容文件,并更新狀態(tài)文件中的記載;
否則獲取對應(yīng)該接收的PVOD內(nèi)容文件的狀態(tài)文件,并進(jìn)一步通過狀態(tài)文件中的 記載判斷出當(dāng)前接收的PVOD內(nèi)容文件中的內(nèi)容數(shù)據(jù)沒有保存過,如未保存,則將從當(dāng)前接 收的PVOD內(nèi)容文件數(shù)據(jù)包中解析出的內(nèi)容數(shù)據(jù)存儲到該空文件中,并更新狀態(tài)文件中對 該接收的PVOD內(nèi)容文件中的內(nèi)容數(shù)據(jù)的記載;如已保存則放棄該次PVOD內(nèi)容文件的保存, 繼續(xù)PVOD內(nèi)容文件的接收過程。
進(jìn)一步包括 記錄當(dāng)前接收的PVOD內(nèi)容文件中的內(nèi)容數(shù)據(jù)的版本信息、PVOD內(nèi)容文件總數(shù)目 及已經(jīng)推送完成的內(nèi)容文件數(shù)目; 在確定該P(yáng)VOD數(shù)據(jù)版本沒有被更新、與數(shù)字電視接收終相連的存儲設(shè)備中存在 與該P(yáng)VOD內(nèi)容文件名稱相同的PVOD內(nèi)容文件、臨時推送文件已存在后,判斷該P(yáng)VOD內(nèi)容文件是否已接收完畢,如果沒有,繼續(xù)執(zhí)行接收包含PV0D內(nèi)容文件的PV0D數(shù)據(jù)包的步驟。
所述推送文件包括片段總數(shù)、已存片段數(shù)以及推送標(biāo)識區(qū), 推送標(biāo)識區(qū),包含與PV0D內(nèi)容文件片段總數(shù)對應(yīng)的推送標(biāo)識分區(qū),每個推送標(biāo)識 分區(qū)包含一個字節(jié),對應(yīng)一個PV0D內(nèi)容文件的一個片段,并設(shè)置第n個推送標(biāo)識分區(qū)的字 節(jié)為0表示還未接收對應(yīng)PV0D內(nèi)容文件的第n個片段數(shù)據(jù); 所述判斷該P(yáng)V0D內(nèi)容文件是否已接收完畢,如果沒有,繼續(xù)執(zhí)行接收包含PVOD內(nèi) 容文件的PVOD數(shù)據(jù)包的步驟包括數(shù)字電視接收終端判斷存儲的對應(yīng)的PVOD內(nèi)容文件是 否存在臨時推送文件后綴,如果存在,繼續(xù)接收PVOD數(shù)據(jù)包,訪問推送狀態(tài)文件,如果相應(yīng) PVOD內(nèi)容文件對應(yīng)的片段還未進(jìn)行存儲,則存儲對應(yīng)的片段,并將推送狀態(tài)文件中的相應(yīng) 推送標(biāo)識分區(qū)的字節(jié)數(shù)據(jù)設(shè)置為l,同時更新已存片段數(shù)。 —種推送視頻及數(shù)據(jù)內(nèi)容的系統(tǒng),該系統(tǒng)包括服務(wù)器端設(shè)備和數(shù)字電視接收終 端設(shè)備,其中, 服務(wù)器端設(shè)備,將描述待推送視頻點(diǎn)播PVOD內(nèi)容文件中的描述信息封裝為PVOD 描述文件并輸出,且將待推送PVOD內(nèi)容文件輸出; 數(shù)字電視接收終端設(shè)備,接收PVOD描述文件并進(jìn)行處理,判斷是否存儲有上一輪 PVOD描述文件,如果是,匹配目前接收的PVOD描述文件以及已存儲的上一輪PVOD 描述文 件,創(chuàng)建上一輪PVOD描述文件中未推送的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件并 分配相應(yīng)的存儲空間,如果數(shù)字電視接收終端沒有存儲上一輪PVOD描述文件,根據(jù)接收的 PVOD描述文件創(chuàng)建未推送的PVOD內(nèi)容文件并分配相應(yīng)的存儲空間;利用創(chuàng)建的未推送的 PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件從接收的PVOD內(nèi)容文件數(shù)據(jù)包中解析對應(yīng) PVOD內(nèi)容文件的內(nèi)容數(shù)據(jù)并保存到與數(shù)字電視接收終相連存儲設(shè)備創(chuàng)建的相應(yīng)PVOD內(nèi)容 文件中。 所述PVOD描述文件的內(nèi)容為所述對服務(wù)器端所有推送的PVOD內(nèi)容文件的概況進(jìn) 行描述的描述數(shù)據(jù)。 —種推送視頻及數(shù)據(jù)內(nèi)容的服務(wù)器端設(shè)備,該服務(wù)器端設(shè)備包括推送視頻點(diǎn)播 PVOD描述文件處理模塊、PVOD內(nèi)容文件處理模塊和輸出模塊,其中 PVOD描述文件處理模塊,遍歷所有需要推送的PVOD內(nèi)容文件生成一個描述所有 PVOD內(nèi)容文件概要信息的PVOD描述文件,輸出至輸出模塊; PVOD內(nèi)容文件處理模塊,將所述PVOD內(nèi)容文件中的內(nèi)容數(shù)據(jù)封裝為PVOD內(nèi)容文 件數(shù)據(jù)包,輸出至輸出模塊; 輸出模塊,按照設(shè)置好的PVOD描述文件和PVOD內(nèi)容文件數(shù)據(jù)包在同一個播發(fā)資 源中互斥循環(huán)輸出,每隔一段間隔在PVOD內(nèi)容文件數(shù)據(jù)包的輸出中插入一次PVOD描述文 件輸出的播出策略,將接收的PVOD描述文件和接收的PVOD內(nèi)容文件進(jìn)行傳輸打包后輸出。
—種接收推送視頻及數(shù)據(jù)內(nèi)容的數(shù)字電視接收終端設(shè)備,該數(shù)字電視接收終端設(shè) 備包括接收模塊、處理選擇模塊、PVOD描述文件處理模塊、PVOD內(nèi)容文件處理模塊以及存 儲模塊;其中, 接收模塊,接收被打包好的PVOD描述文件和PVOD內(nèi)容文件數(shù)據(jù)包,輸出至處理選 擇模塊; 處理選擇模塊,用于判斷接收的為PVOD描述文件時,輸出至PVOD描述文件處理模塊;判斷接收的為PVOD內(nèi)容文件數(shù)據(jù)包時,輸出至PVOD內(nèi)容文件處理模塊;
PVOD描述文件處理模塊,對接收到的PVOD描述文件進(jìn)行處理,獲取未推送的PVOD 內(nèi)容文件以及需要更新的PVOD內(nèi)容文件,通知存儲模塊創(chuàng)建所述未推送的PVOD內(nèi)容文件 以及需要更新的PVOD內(nèi)容文件,并分配相應(yīng)的存儲空間,并將接收到的PVOD描述文件發(fā)送 至存儲模塊; PVOD內(nèi)容文件處理模塊;接收PVOD內(nèi)容文件,從接收的PVOD內(nèi)容文件數(shù)據(jù)包中 獲取與存儲模塊創(chuàng)建的未推送的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件相對應(yīng)的 PVOD內(nèi)容文件,輸出至存儲模塊已創(chuàng)建的相應(yīng)PVOD內(nèi)容文件中; 存儲模塊,接收PVOD描述文件處理模塊發(fā)送的通知,創(chuàng)建未推送的PVOD內(nèi)容文件 以及需要更新的PVOD內(nèi)容文件,并在創(chuàng)建完成后存儲PVOD描述文件,接收PVOD內(nèi)容文件 處理模塊輸出的PVOD內(nèi)容文件,將未推送的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件 存儲至相應(yīng)的已創(chuàng)建的未推送PVOD內(nèi)容文件或需要更新的PVOD內(nèi)容文件中。
所述PVOD描述文件處理模塊進(jìn)一步用于在通知存儲模塊創(chuàng)建未推送的PVOD內(nèi)容 文件以及需要更新的PVOD內(nèi)容文件并分配相應(yīng)的存儲空間時,通知存儲模塊創(chuàng)建相應(yīng)的 狀態(tài)文件;所述PVOD內(nèi)容文件處理模塊進(jìn)一步用于在輸出未推送的PVOD內(nèi)容文件以及需 要更新的PVOD內(nèi)容文件至存儲模塊已創(chuàng)建的相應(yīng)PVOD內(nèi)容文件中時,通知存儲模塊更新 相應(yīng)的狀態(tài)文件; PVOD內(nèi)容文件處理模塊,在確定從接收的PVOD內(nèi)容文件中獲取與存儲模塊創(chuàng)建 的未推送的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件相對應(yīng)的PVOD內(nèi)容文件已完成 接收后,向存儲模塊輸出刪除相應(yīng)狀態(tài)文件的指示;
存儲模塊根據(jù)接收的指示刪除相應(yīng)狀態(tài)文件。 進(jìn)一步包括PVOD內(nèi)容文件更新模塊,接收來自處理選擇模塊的PVOD描述文件,
刪除存儲目錄下所有PVOD內(nèi)容文件和文件目錄。 所述存儲模塊進(jìn)一步存儲有上一輪PVOD描述文件; 所述數(shù)字電視接收終端設(shè)備進(jìn)一步包括PVOD內(nèi)容文件更新模塊,接收來自處理 選擇模塊的PVOD描述文件,遍歷存儲模塊中已存儲的PVOD內(nèi)容文件,刪除上一輪接收的 PVOD描述文件中不存在描述的已存儲的PVOD內(nèi)容文件,及刪除上一輪PVOD描述文件中 存在描述、但大小或創(chuàng)建修改時間與當(dāng)前接收的PVOD描述文件中描述不一致的已存儲的 PVOD內(nèi)容文件;比較當(dāng)前接收的描述文件和存儲的上一輪PVOD描述文件,刪除已存儲的 PVOD描述文件中存在描述但當(dāng)前接收的PVOD描述文件中不存在描述的已存儲的PVOD內(nèi)容 文件,并刪除已存儲的PVOD描述文件中和接收的PVOD描述文件中均存在描述、但描述大小 或創(chuàng)建修改時間不一致的已存儲的PVOD內(nèi)容文件。 由以上技術(shù)方案可以看出,本發(fā)明提供的方法、系統(tǒng)及設(shè)備與現(xiàn)有第一種解決方 案相比,由于推送的視頻及數(shù)據(jù)內(nèi)容用文件形式存儲,可以支持任意格式數(shù)據(jù)的推送;本發(fā) 明提供的方法、系統(tǒng)及設(shè)備與現(xiàn)有第二種解決方案相比,由于設(shè)置了對服務(wù)器端所有PVOD 內(nèi)容文件的概況進(jìn)行描述的PVOD描述文件,服務(wù)器循環(huán)播發(fā)輸出PVOD描述文件和PVOD內(nèi) 容文件,數(shù)字電視接收終首先接收PVOD描述文件,數(shù)字電視接收終端對接收的PVOD描述文 件進(jìn)行處理,在處理過程中判斷是否存儲有上一輪PVOD描述文件,如果是,匹配目前接收 的PVOD描述文件以及已存儲的上一輪PVOD描述文件,創(chuàng)建未推送以及需要更新的PVOD內(nèi)容文件并分配相應(yīng)的存儲空間,從而使得數(shù)字電視接收終端能夠根據(jù)PVOD描述文件中的 內(nèi)容快速接收并解析PVOD內(nèi)容文件中的數(shù)據(jù),快速有效的保存數(shù)據(jù),提高了接收速率。
圖1為本發(fā)明中推送視頻及數(shù)據(jù)內(nèi)容的方法流程圖;
圖2為本發(fā)明實(shí)施例中服務(wù)器端的推送流程示意圖; 圖3為本發(fā)明實(shí)施例中數(shù)字電視接收終端的接收推送文件的流程示意圖; 圖4為本發(fā)明數(shù)字電視接收終端對接收的PVOD描述文件進(jìn)行處理的流程示意
圖; 圖5為本發(fā)明實(shí)施例中數(shù)字電視接收終端接收PVOD內(nèi)容文件中的數(shù)據(jù)包的流程 示意圖; 圖6為本發(fā)明實(shí)施例PVOD內(nèi)容文件與推送狀態(tài)文件的對應(yīng)關(guān)系示意圖; 圖7為本發(fā)明推送視頻及數(shù)據(jù)內(nèi)容的系統(tǒng)結(jié)構(gòu)示意圖 圖8為本發(fā)明推送視頻及數(shù)據(jù)內(nèi)容的服務(wù)器端設(shè)備結(jié)構(gòu)示意圖; 圖9為本發(fā)明推送視頻及數(shù)據(jù)內(nèi)容的數(shù)字電視接收終端設(shè)備結(jié)構(gòu)示意圖。
具體實(shí)施例方式
為使本發(fā)明的目的和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步的 詳細(xì)說明。
圖1為本發(fā)明中推送視頻及數(shù)據(jù)內(nèi)容的方法流程圖,圖1所示流程包括 步驟101 :服務(wù)器端將描述待推送PVOD內(nèi)容文件的描述信息封裝為PVOD描述文件。 本步驟中,服務(wù)器端為待播發(fā)的PVOD內(nèi)容文件創(chuàng)建對應(yīng)的PVOD描述文件,所述
PVOD描述文件包含該P(yáng)VOD內(nèi)容文件的描述信息,關(guān)于描述信息,后續(xù)在詳細(xì)說明。 步驟102 :服務(wù)器端輸出PVOD描述文件和PVOD內(nèi)容文件。 本步驟中,服務(wù)器端循環(huán)播發(fā)輸出PVOD描述文件和PVOD內(nèi)容文件。 步驟103 :數(shù)字電視接收終端對接收到的PVOD描述文件進(jìn)行處理,創(chuàng)建未推送的
PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件并分配相應(yīng)的存儲空間。 本步驟中,數(shù)字電視接收終端接收PVOD描述文件并進(jìn)行處理,在處理過程中判斷
是否存儲有上一輪PVOD描述文件,如果是,匹配目前接收的PVOD描述文件以及已存儲的上
一輪PVOD描述文件,創(chuàng)建上一輪PVOD描述文件中未推送的PVOD內(nèi)容文件以及需要更新的
PVOD內(nèi)容文件并分配相應(yīng)的存儲空間,如果數(shù)字電視接收終端沒有存儲上一輪PVOD描述
文件,根據(jù)接收的PVOD描述文件創(chuàng)建所有未推送的PVOD內(nèi)容文件并分配相應(yīng)的存儲空間。 步驟104 :數(shù)字電視接收終端接收PVOD內(nèi)容文件,利用創(chuàng)建的未推送的PVOD內(nèi)容
文件以及需要更新的PVOD內(nèi)容文件從接收的PVOD內(nèi)容文件數(shù)據(jù)包中解析對應(yīng)PVOD內(nèi)容
文件的內(nèi)容數(shù)據(jù)并保存到數(shù)字電視接收終相連的存儲設(shè)備。 由上述可見,本發(fā)明提供的推送視頻及數(shù)據(jù)內(nèi)容的方法,由于推送的描述信息、視 頻及數(shù)據(jù)內(nèi)容用文件形式存儲,可以支持任意格式數(shù)據(jù)的推送;進(jìn)一步地,由于設(shè)置了對服 務(wù)器端所有PVOD內(nèi)容文件的概況進(jìn)行描述的PVOD描述文件,PVOD內(nèi)容文件和PVOD描述文件循環(huán)推送至數(shù)字電視接收終端,數(shù)字電視接收終端預(yù)先接收PVOD描述文件進(jìn)行處理, 在處理過程中判斷是否存儲有上一輪PVOD描述文件,如果是,匹配目前接收的PVOD描述文 件以及已存儲的上一輪PVOD描述文件,創(chuàng)建上一輪PVOD描述文件中未推送的PVOD內(nèi)容文 件以及需要更新的PVOD內(nèi)容文件并分配相應(yīng)的存儲空間,如果數(shù)字電視接收終端沒有存 儲上一輪PVOD描述文件,根據(jù)接收的PVOD描述文件創(chuàng)建所有未推送的PVOD內(nèi)容文件并分 配相應(yīng)的存儲空間,從而使得數(shù)字電視接收終端在多次接收PVOD內(nèi)容文件的數(shù)據(jù)包時,不 需要多次創(chuàng)建該P(yáng)VOD內(nèi)容文件和每次調(diào)整PVOD內(nèi)容文件大小,減少了創(chuàng)建與調(diào)整文件大 小的時間以及CPU資源,從而能夠根據(jù)PVOD描述文件中的內(nèi)容快速接收并解析PVOD內(nèi)容 文件中的數(shù)據(jù),快速有效的保存數(shù)據(jù)到PVOD內(nèi)容文件的準(zhǔn)確位置,提高了接收速率;進(jìn)一 步地,由于只需要對未推送的以及需要更新的PVOD內(nèi)容文件進(jìn)行接收和存儲,縮短了整個 接收過程的時間、提高了接收效率、降低了對硬件容量的要求,從而降低了硬件的成本。
下面介紹本發(fā)明所提供方法的一個實(shí)施例。 在本實(shí)施例中,服務(wù)器端待推送的文件包含兩種PVOD描述文件和PVOD內(nèi)容文 件。其中PVOD內(nèi)容文件中包括對應(yīng)音視頻及數(shù)據(jù)內(nèi)容的內(nèi)容數(shù)據(jù),PVOD描述文件中包括 對服務(wù)器端所有PVOD內(nèi)容文件的概況進(jìn)行描述的描述信息。數(shù)字電視接收終端先接收服 務(wù)器端推送的PVOD描述文件,并根據(jù)接收的PVOD描述文件、或接收的PVOD描述文件與已 存儲的PVOD描述文件,進(jìn)行處理后,再根據(jù)處理結(jié)果接收服務(wù)器端推送的PVOD內(nèi)容文件中 相應(yīng)的內(nèi)容數(shù)據(jù)。 圖2為本發(fā)明實(shí)施例中服務(wù)器端的推送流程示意圖,該流程開始之前,在服務(wù)器 端利用個人計算機(jī)(PC,Personal Computer)及通用網(wǎng)頁編輯工具創(chuàng)建PVOD內(nèi)容文件的內(nèi) 容網(wǎng)站,該網(wǎng)站中的所有內(nèi)容都以PVOD內(nèi)容文件的形式按數(shù)字電視接收終存儲結(jié)構(gòu)組織 并可將其置于推送目錄(如pvocLroot目錄)下的任意目錄下,每個PVOD內(nèi)容文件的路徑 都為相對路徑。 當(dāng)服務(wù)器端將PVOD內(nèi)容文件組織好之后觸發(fā)PVOD播發(fā)器推送操作,圖2所示流 程開始,該流程包括 步驟201,遍歷所有的PV0D內(nèi)容文件,生成對應(yīng)所有PVOD內(nèi)容文件的PVOD描述文 件并循環(huán)發(fā)送。 本步驟中,PVOD描述文件中的描述信息描述所有PVOD內(nèi)容文件的文件信息,即 PVOD內(nèi)容文件的概況,至少包括PVOD數(shù)據(jù)包中實(shí)際數(shù)據(jù)長度閥值、各PVOD內(nèi)容文件名稱 (包含路徑信息,例如,相對數(shù)字電視接收終目錄pvocLstb目錄路徑的內(nèi)容文件的路徑)、 各PVOD內(nèi)容文件大小以及各PVOD內(nèi)容文件日期時間屬性等。 描述信息組織順序與PVOD內(nèi)容文件在數(shù)字電視接收終端的存儲結(jié)構(gòu)相同,PVOD
內(nèi)容文件在數(shù)字電視接收終端的存儲結(jié)構(gòu)由服務(wù)器端決定。 PVOD描述文件中的描述信息的一個具體實(shí)施例格式如下所示 pre_create_file_size 60KB dir. index, html, time = 2009-04-24 09:12:34, size = 4987
dir. /Moivemoive.html, time = 2009-04—24 09:12:34, size = 2987
12
dir. /Movie/wfclwfcl.html, time = 2009-04-24 09:12:34, size = 2345
wfcll. ts,time = 2009-04-24 10:11:34, size = 2000000000
wfcl2. ts, time = 2009-04-24 19:16:34, size = 2000000000
上述格式的簡要解釋如下 l)pre_Create_file_SiZe用于描述需要數(shù)字電視接收終端PVOD數(shù)據(jù)包中實(shí)際數(shù) 據(jù)長度閥值,所有PV0D數(shù)據(jù)包中含有的實(shí)際數(shù)據(jù)的長度最大為該閥值60KB。在應(yīng)用中必 須設(shè)置該閥值,該閥值需要作為劃分PVOD內(nèi)容文件為PVOD數(shù)據(jù)包個數(shù)的大小依據(jù)。PVOD 數(shù)據(jù)包中實(shí)際數(shù)據(jù)長度閥值也可作為其他作用,例如需要為超過閥值60KB的PVOD內(nèi)容文 件在數(shù)字電視接收終端創(chuàng)建相應(yīng)文件并分配空間,這樣,可以減少數(shù)字電視接收終在接收 到PVOD內(nèi)容文件時才創(chuàng)建該內(nèi)容文件,需要花費(fèi)較多時間和占用較多資源的問題;而對于 未超過PVOD數(shù)據(jù)包中實(shí)際數(shù)據(jù)長度閥值的PVOD內(nèi)容文件,可直接存儲而不用創(chuàng)建相應(yīng)文 件并分配空間。PVOD數(shù)據(jù)包中實(shí)際數(shù)據(jù)長度閥值根據(jù)實(shí)際需要進(jìn)行設(shè)置。
2) index, html文件的相對路徑為pvod_stb目錄,日期時間屬性為2009-04-24 09:12:34,文件的內(nèi)容大小為4987字節(jié); 3)moive.html文件的相對路徑為pvod_stb目錄的子目錄Moive,創(chuàng)建時間為 2009-04-24 09:12:34, Moive文件的內(nèi)容大小為2987字節(jié); 4) wfcl. html文件的相對路徑為pvod_stb目錄的子目錄Moive的子目錄wfcl ,創(chuàng) 建時間為2009-04-24 09:12:34,文件的內(nèi)容大小為2345字節(jié);同在一個目錄下保存的還 有創(chuàng)建時間為2009-04-24 10:11:34、文件的內(nèi)容大小為2000000000字節(jié)的文件wfcll. ts,以及創(chuàng)建時間為2009-04-24 19:16:34、文件的內(nèi)容大小為2000000000字節(jié)的文件 wfcl2. ts。 步驟202,將PVOD內(nèi)容文件按照PVOD描述文件中設(shè)置的PVOD數(shù)據(jù)包中實(shí)際數(shù)據(jù) 長度閥值封裝成PVOD內(nèi)容文件數(shù)據(jù)包后打包并發(fā)送。 本步驟中,服務(wù)器端輸出的每個數(shù)據(jù)中都可以包含本次數(shù)據(jù)的版本信息,用于描 述本次數(shù)據(jù)的版本號,版本信息的作用是在數(shù)字電視接收終端檢測到版本變化時重新啟動 PVOD數(shù)據(jù)接收過程。 服務(wù)器端按照PVOD描述文件中設(shè)置的pre—create—file—size值,將各具體PVOD
內(nèi)容文件封裝成PVOD內(nèi)容文件數(shù)據(jù)包后打包后發(fā)送至數(shù)字電視接收終端。 舉例來說,按照前述PVOD描述文件中的描述數(shù)據(jù)(PVOD數(shù)據(jù)包中實(shí)際數(shù)據(jù)長度閥
值),打包形成的PVOD數(shù)據(jù)包如表1所示。 表l
wfclLtswfcl2.ts包i包2包k包1包2包n 表l中,k和n為自然數(shù),依據(jù)每個PVOD文件的大小以及pre—create—file—size確 定,每個PVOD內(nèi)容文件除最后一個數(shù)據(jù)包外,其他數(shù)據(jù)包中的大小都是pre—create—file—size,最后一個包的實(shí)際數(shù)據(jù)最大長度為pre_Create_f ile_siZe。而且,服務(wù)器端發(fā)送每個 PVOD內(nèi)容文件的數(shù)據(jù)包的順序可以是隨機(jī)的。 實(shí)際應(yīng)用中,服務(wù)器端發(fā)送PVOD描述文件和PVOD內(nèi)容文件之間的間隔包數(shù)或時 間可以由服務(wù)提供商根據(jù)實(shí)際需要設(shè)定。 圖3為本發(fā)明實(shí)施例中數(shù)字電視接收終端接收推送文件的流程示意圖。參見圖3, 該流程包括 步驟301,數(shù)字電視接收終端接收PVOD描述文件,刪除需要刪除和需要更新的 PVOD內(nèi)容文件,獲取并創(chuàng)建未推送的以及需要更新的PVOD內(nèi)容文件并分配相應(yīng)的存儲空 間。 本步驟中,數(shù)字電視接收終端在接收PVOD內(nèi)容文件前,先接收PVOD描述文件,并 對接收的PVOD描述文件進(jìn)行處理。 本步驟中,如果數(shù)字電視接收終端已存儲有服務(wù)器端以前發(fā)送的PVOD描述文件, 即上一輪PVOD描述文件,則可以根據(jù)目前接收的PVOD描述文件以及已存儲的PVOD描述文 件,進(jìn)行處理,也就是將目前接收的PVOD描述文件與已存儲的上一輪PVOD描述文件進(jìn)行比 較、匹配,獲取并創(chuàng)建上一輪PVOD描述文件中未推送的PVOD內(nèi)容文件以及需要更新的PVOD 內(nèi)容文件并分配相應(yīng)的存儲空間。如果數(shù)字電視接收終端沒有存儲服務(wù)器端上一輪發(fā)送 的PVOD描述文件,則可以根據(jù)接收的PVOD描述文件,遍歷數(shù)字電視接收終相連的存儲設(shè)備 pVOd_stb目錄下的所有PVOD內(nèi)容文件,獲取并創(chuàng)建未推送的PVOD內(nèi)容文件以及需要更新 的PVOD內(nèi)容文件并分配相應(yīng)的存儲空間。 實(shí)際應(yīng)用中,獲取并創(chuàng)建未推送的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件 可以不需要待推送的PVOD內(nèi)容文件大小滿足任何條件;當(dāng)然,也可以要求PVOD內(nèi)容文件大 小滿足一定條件,對于不滿足條件的PVOD內(nèi)容文件,則不需要預(yù)先創(chuàng)建。例如,如果待推送 的PVOD內(nèi)容文件大小超過描述信息中攜帶的PVOD數(shù)據(jù)包中實(shí)際數(shù)據(jù)長度閥值,則可以為 超過PVOD數(shù)據(jù)包中實(shí)際數(shù)據(jù)長度閥值的該P(yáng)VOD內(nèi)容文件創(chuàng)建相應(yīng)文件。
上述的獲取并創(chuàng)建未推送的以及需要更新的PVOD內(nèi)容文件并分配相應(yīng)的存儲空 間,具體來說,根據(jù)接收的PVOD描述文件的描述,創(chuàng)建接收的PVOD描述文件中有描述,但數(shù) 字電視接收終相連的存儲設(shè)備中不存在的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件, 具體要求如下 a)根據(jù)接收的PVOD描述文件中的描述創(chuàng)建具備該P(yáng)VOD內(nèi)容文件的文件名稱,即 臨時推送文件的空文件并分配大小,創(chuàng)建時加上擴(kuò)展名.dwn,例如,將a. ts創(chuàng)建為a. ts. dwn,同時創(chuàng)建對應(yīng)該空文件的推送狀態(tài)文件,文件擴(kuò)展名為.sta,例如,將a. ts創(chuàng)建為 a. ts. sta,該推送狀態(tài)文件用來描述推送的狀態(tài),例如,哪些偏移值對應(yīng)的數(shù)據(jù)已經(jīng)推送至 數(shù)字電視接收終端相連的存儲設(shè)備中; b)將空文件創(chuàng)建或修改時間設(shè)置為接收的PVOD描述文件中描述PVOD內(nèi)容文件的 "文件日期時間"屬性值。 本步驟中預(yù)先創(chuàng)建空文件的目的在于避免數(shù)字電視接收終端在接收與數(shù)字電視 接收終端相連的存儲設(shè)備中不存在的PVOD內(nèi)容文件時,對較大文件的創(chuàng)建花費(fèi)太多時間, 從而影響接收速度及解析效率,甚至來不及存儲該內(nèi)容文件,同時預(yù)先創(chuàng)建PVOD內(nèi)容文件 并分配空間,可在接收PVOD內(nèi)容文件之前明確數(shù)字電視接收終相連的存儲空間是否足夠保存所有PVOD內(nèi)容文件,如不能則不接收PVOD內(nèi)容文件并報告失敗。 步驟302,數(shù)字電視接收終端接收PVOD內(nèi)容文件,利用創(chuàng)建的未推送以及需要更
新的PVOD內(nèi)容文件從接收的PVOD內(nèi)容文件數(shù)據(jù)包中解析數(shù)據(jù)并進(jìn)行相應(yīng)存儲。 本步驟中,從接收的PVOD內(nèi)容文件中解析出的內(nèi)容數(shù)據(jù)存儲在數(shù)字電視接收終
相連的存儲設(shè)備中創(chuàng)建的相應(yīng)PVOD內(nèi)容文件中。 如前所述,如果未推送的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件是根據(jù)PVOD內(nèi)容文件大小超過PVOD數(shù)據(jù)包中實(shí)際數(shù)據(jù)長度閥值來創(chuàng)建的,當(dāng)接收到PVOD內(nèi)容文件時,解析接收的PVOD內(nèi)容文件大小超過PVOD數(shù)據(jù)包中實(shí)際數(shù)據(jù)長度閥值的PVOD內(nèi)容文
件中的內(nèi)容數(shù)據(jù),并保存到數(shù)字電視接收終存儲設(shè)備中已創(chuàng)建的未推送的以及需要更新的PVOD內(nèi)容文件中。 本實(shí)施例中,可以對PVOD內(nèi)容文件大小未超過PVOD數(shù)據(jù)包中實(shí)際數(shù)據(jù)長度閥值的PVOD內(nèi)容文件,在接收前不創(chuàng)建PVOD內(nèi)容文件也不分配空間,因而,當(dāng)接收到PVOD內(nèi)容文件,當(dāng)接收的PVOD內(nèi)容文件大小未超過PVOD數(shù)據(jù)包中實(shí)際數(shù)據(jù)長度閥值時,可直接從接收的PVOD內(nèi)容文件數(shù)據(jù)包中解析內(nèi)容數(shù)據(jù),創(chuàng)建PVOD內(nèi)容文件并保存到數(shù)字電視接收終存儲設(shè)備。 數(shù)字電視接收終存儲設(shè)備可以為具備通用總線協(xié)議(USB,UniversalSerial Bus)接口的存儲設(shè)備,例如U盤或USB硬盤,這樣通過數(shù)字電視接收終上的USB接口 ,該存儲設(shè)備可以和數(shù)字電視接收終連接。 圖4為本發(fā)明數(shù)字電視接收終端對接收的PV0D描述文件進(jìn)行處理的流程示意圖。參見圖4,該流程包括 步驟401,檢測是否存儲有上一輪PVOD描述文件,如果有,執(zhí)行步驟402,否則,執(zhí)行步驟403 ; 步驟402,更改存儲的上一輪PVOD描述文件名稱; 本步驟中,更改存儲的上一輪PVOD描述文件名稱以避免與待接收的PVOD描述文
件名稱相同而導(dǎo)致被覆蓋。例如,假設(shè)已存儲的PVOD描述文件為/pvocLstb/files. dat,則
將/pvod_stb/files. dat更改為/pvod_stb/f iles_old. dat,執(zhí)行步驟403。 步驟403,保存新接收的PVOD描述文件(如files, dat); 本步驟中,PVOD描述文件包含描述本次傳輸?shù)腜VOD內(nèi)容文件的所有信息。 步驟404,根據(jù)接收的PVOD描述文件獲取未推送的PVOD內(nèi)容文件以及需要更新的
PVOD內(nèi)容文件; 本步驟中,為了進(jìn)一步釋放數(shù)字電視接收終端相連的設(shè)備的存儲空間、以及減少數(shù)字電視接收終接收與已存在的PVOD內(nèi)容文件相同名稱、大小及創(chuàng)建時間的PVOD內(nèi)容文件而導(dǎo)致的資源開銷大的問題,在獲取未推送的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件前,可以先刪除數(shù)字電視接收終端一些舊的PVOD內(nèi)容文件,同時保留了不需要更新的文件,減少了接收與保存時間,支持了續(xù)傳。 數(shù)字電視接收終端判斷是否存儲有上一輪PVOD描述文件,如果數(shù)字電視接收終
端沒有存儲上一輪PVOD描述文件,釋放數(shù)字電視接收終端存儲空間的方式如下 遍歷pvocLstb目錄下的所有PVOD內(nèi)容文件,刪除所有PVOD內(nèi)容文件和所有的文
件目錄。
15
如果數(shù)字電視接收終端已存儲有PVOD描述文件,釋放數(shù)字電視接收終端存儲空間的方式如下 —、數(shù)字電視接收終相連的存儲設(shè)備中存儲的PVOD描述文件(fileS_old. dat)與當(dāng)前接收的PVOD描述文件(files, dat)相一致,則表明數(shù)字電視接收終端不需要服務(wù)器端推送PVOD內(nèi)容文件,因而,數(shù)字電視接收終端不需要接收PVOD內(nèi)容文件,則結(jié)束該流程。
二、數(shù)字電視接收終相連的存儲設(shè)備中存儲的files—old.dat與當(dāng)前接收的files, dat不一至文 刪除files, dat中沒有描述、和/或,與files, dat中描述不一致的數(shù)字電視接收終端存儲的PVOD內(nèi)容文件,包括 對比files_old. dat和files, dat,按照以下規(guī)則刪除數(shù)字電視接收終端存儲的PVOD內(nèi)容文件 a) files_old. dat中有、但files, dat中沒有描述的PVOD內(nèi)容文件; b)files_old. dat與files, dat都有,但大小、和/或,創(chuàng)建時間不相同的PVOD內(nèi)
容文件。 進(jìn)一步地,為了預(yù)留后續(xù)PVOD內(nèi)容文件充足的存儲空間,還可以進(jìn)一步按照以下規(guī)則刪除數(shù)字電視接收終端存儲的PVOD內(nèi)容文件 c)在files, dat中沒有描述的其他PVOD內(nèi)容文件,但文件擴(kuò)展名為.dwn與.sta的PVOD內(nèi)容文件要特別處理,其中.dwn為未完成推送的PVOD內(nèi)容文件的文件擴(kuò)展名,.sta為未完成推送的PVOD內(nèi)容文件所對應(yīng)狀態(tài)文件的文件擴(kuò)展名,如a. ts. dwn應(yīng)當(dāng)作a. ts處理,以避免將下載了半截的PVOD內(nèi)容文件刪除,又如a. ts. sta應(yīng)當(dāng)作a. ts處理,以避免將下載了半截的狀態(tài)文件刪除了。以及刪除當(dāng)前存儲的PVOD描述文件中存在描述、但大小或創(chuàng)建修改時間與當(dāng)前存儲的PVOD描述文件中描述不一致的PVOD內(nèi)容文件。這樣就支持了上一次未下載完成的PVOD內(nèi)容文件在下次繼續(xù)接收,完成斷點(diǎn)接收功能。
步驟405,根據(jù)接收的PVOD描述文件(files, dat)的描述,創(chuàng)建接收的PVOD描述文件(files, dat)中有描述,但與數(shù)字電視接收終端相連的存儲設(shè)備中不存在的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件。 步驟406,刪除存儲的更改了 PVOD描述文件名稱的PVOD描述文件(fileS_old.dat)。 本步驟中,如果沒有存儲上一輪PVOD描述文件(fileS_old. dat),則不作處理。
步驟407,記錄此次PVOD數(shù)據(jù)的版本信息、PVOD內(nèi)容文件總數(shù)目及已經(jīng)推送完成的內(nèi)容文件數(shù)目,即步驟404中利用遍歷方式時,與files, dat中描述一致的PVOD內(nèi)容文件數(shù)目,便于信息統(tǒng)計和監(jiān)控內(nèi)容數(shù)據(jù)的更新。 至此,數(shù)字電視接收終端對接收的PVOD描述文件進(jìn)行處理的流程結(jié)束。 后續(xù)中,數(shù)字電視接收終端接收并解析PVOD內(nèi)容文件中的內(nèi)容數(shù)據(jù)并保存在預(yù)
先分配的文件空間中。 實(shí)際應(yīng)用中,如果在執(zhí)行接收PVOD內(nèi)容文件時,發(fā)現(xiàn)數(shù)字電視接收終相連的存儲設(shè)備中既有file, dat,又有fileS_old. dat,則說明在前一輪次推送中的步驟403前出錯(如斷電),PVOD描述文件的處理過程未完成。此時應(yīng)該將后續(xù)接收的PVOD描述文件存為file, dat,再從步驟404開始執(zhí)行;如果數(shù)字電視接收終相連的存儲設(shè)備中只有files_old. dat,沒有files, dat,由于無法進(jìn)行PVOD內(nèi)容文件的信息比較,此時應(yīng)該刪除所有的PVOD內(nèi)容文件,接收新的PVOD描述文件,保存為files, dat,再從步驟404開始執(zhí)行。
上述數(shù)字電視接收終端接收并解析PVOD內(nèi)容文件中的內(nèi)容數(shù)據(jù)并保存在預(yù)先分配的文件空間中的具體實(shí)現(xiàn)流程如圖5所示。 圖5為本發(fā)明實(shí)施例中數(shù)字電視接收終端接收PVOD內(nèi)容文件中的數(shù)據(jù)包的流程示意圖。參見圖5,預(yù)先解析PV0D描述文件得到待接收的內(nèi)容文件總個數(shù)(記為n Total),例如,從前述步驟407中獲取,該流程包括 步驟501 :接收包含PVOD內(nèi)容文件的PVOD數(shù)據(jù)包,進(jìn)行PVOD數(shù)據(jù)包回調(diào)處理,執(zhí)行步驟502。 本步驟中,對PVOD內(nèi)容文件進(jìn)行封裝形成PVOD數(shù)據(jù)包,進(jìn)行PVOD數(shù)據(jù)包回調(diào)處理為現(xiàn)有技術(shù),可參見相關(guān)技術(shù)文獻(xiàn),在此不再贅述。 本步驟中,數(shù)字電視接收終每次開始接收服務(wù)器端推送的數(shù)據(jù)前,必須先接收到
PVOD描述文件中的描述數(shù)據(jù),然后才開始接收PVOD內(nèi)容文件中的內(nèi)容數(shù)據(jù)。 步驟502,對接收的PVOD數(shù)據(jù)包進(jìn)行校驗(yàn),如果校驗(yàn)正確,執(zhí)行步驟503,否則執(zhí)行
步驟501。 本步驟中,對接收的PVOD數(shù)據(jù)包進(jìn)行校驗(yàn)的流程也為現(xiàn)有技術(shù)。 步驟503,解析PVOD數(shù)據(jù)包中封裝的PVOD內(nèi)容文件名稱、路徑、和PVOD數(shù)據(jù)版本
信息,判斷該P(yáng)VOD數(shù)據(jù)版本是否已被更新,如果已更新,則接收新的PVOD描述文件,并解析
得到待接收的PVOD內(nèi)容文件個數(shù)和版本信息,執(zhí)行步驟501 ;如果PVOD數(shù)據(jù)版本未更新,
執(zhí)行步驟504。 步驟504,判斷數(shù)字電視接收終相連的存儲設(shè)備中是否存在與該P(yáng)VOD內(nèi)容文件名稱相同的PVOD內(nèi)容文件,如果是,說明該P(yáng)VOD內(nèi)容文件已完成接收,執(zhí)行步驟518,否則執(zhí)行步驟505。 步驟505,判斷推送狀態(tài)文件(xxx. ts. sta)是否存在,如果存在,執(zhí)行步驟507,如果不存在,執(zhí)行步驟506。 本步驟中,數(shù)字電視接收終端判斷相連存儲設(shè)備中是否已存在根據(jù)接收的PVOD描述文件創(chuàng)建的空文件,如果是,獲取對應(yīng)該接收的PVOD內(nèi)容文件的狀態(tài)文件,并進(jìn)一步通過狀態(tài)文件中的記載判斷出當(dāng)前接收的PVOD內(nèi)容文件中的內(nèi)容數(shù)據(jù)沒有保存過時,將從當(dāng)前收的PVOD內(nèi)容文件中解析出的內(nèi)容數(shù)據(jù)存儲到該空文件中,并更新狀態(tài)文件中的記載。 步驟506,創(chuàng)建新的推送狀態(tài)文件,執(zhí)行步驟507。 本步驟中,數(shù)字電視接收終端判斷相連存儲設(shè)備中是否已存在根據(jù)接收的PVOD描述文件創(chuàng)建的空文件,如果不是,繼續(xù)執(zhí)行建立具有PVOD內(nèi)容文件名稱的空文件,并建立對應(yīng)的狀態(tài)文件,然后將從當(dāng)前接收的PVOD內(nèi)容文件中解析出的內(nèi)容數(shù)據(jù)存儲到該空文件中,并更新狀態(tài)文件中的記載。 步驟507,判斷臨時推送文件(例如,xxx. ts. dwn)是否存在,如果存在,執(zhí)行步驟509,如果不存在,執(zhí)行步驟508。 步驟508,創(chuàng)建新的臨時推送文件,執(zhí)行步驟510。 步驟509,判斷臨時推送文件.dwn中對應(yīng)數(shù)據(jù)是否已存儲,如果已存儲,執(zhí)行步驟512 ;如果未存儲,執(zhí)行步驟510。 步驟510,將相應(yīng)PVOD內(nèi)容文件的內(nèi)容數(shù)據(jù)寫入預(yù)先分配的臨時推送文件存儲空 間。 步驟511,更新推送狀態(tài)文件(.sta)的狀態(tài)。 本步驟中,對于某個PVOD內(nèi)容文件(例如,xxx. ts),推送時,其中已經(jīng)推送的文件 片段信息記錄在同目錄的推送狀態(tài)文件(例如,xxx. ts. sta)中。 步驟512,判斷該P(yáng)V0D內(nèi)容文件是否已接收完畢,如果沒有,返回執(zhí)行步驟501 ;如 果已接收完畢,執(zhí)行步驟513。 本步驟中,比較已存片段數(shù)與片段總數(shù),如果相等,則表示接收完畢。 步驟513,校驗(yàn)接收的PVOD內(nèi)容文件是否正確,如果接收正確,執(zhí)行步驟515 ;否
則,執(zhí)行步驟514。 步驟514,刪除推送狀態(tài)文件xxx. ts. sta和臨時推送文件(xxx. ts. dwn),執(zhí)行步 驟501 ; 步驟515,將臨時推送文件更名為推送文件,執(zhí)行步驟516 ; 本步驟中,可將PVOD內(nèi)容文件的.dwn的后綴去掉,例如,將臨時推送文件xxx. ts. dwn更名為推送文件xxx. ts.。 步驟516,刪除推送狀態(tài)文件xxx. ts. sta,執(zhí)行步驟517 ; 步驟517,將接收的內(nèi)容文件總個數(shù)n Total減一,執(zhí)行步驟518 ; 步驟518,判斷n Total是否等于零,如果是,執(zhí)行步驟519 ;否則,返回執(zhí)行步驟
501。 步驟519, PVOD內(nèi)容文件中的內(nèi)容數(shù)據(jù)接收完畢。 至此,結(jié)束接收PV0D內(nèi)容文件中的內(nèi)容數(shù)據(jù)并保存在設(shè)備中的流程。 圖6為本發(fā)明實(shí)施例PVOD內(nèi)容文件與推送狀態(tài)文件(.sta)的對應(yīng)關(guān)系示意圖,
參見圖6,包括PV0D內(nèi)容文件和推送狀態(tài)文件(.sta),其中, PVOD內(nèi)容文件,包含若干個文件片斷(片段(offset)0、片段l、片段2、……、片 段n),除最后一個片斷外,其余片斷均按照PV0D數(shù)據(jù)包中實(shí)際數(shù)據(jù)長度閥值進(jìn)行劃分(例
如60KB); 推送狀態(tài)文件.sta,包含片段總數(shù)、已存片段數(shù)以及推送標(biāo)識區(qū), 推送標(biāo)識區(qū),包含與PV0D內(nèi)容文件片段總數(shù)對應(yīng)的推送標(biāo)識分區(qū),每個推送標(biāo)識
分區(qū)包含一個字節(jié),對應(yīng)一個PVOD內(nèi)容文件的一個片段(60KB的片段數(shù)據(jù)),如果推送標(biāo)識
區(qū)中第n個推送標(biāo)識分區(qū)的字節(jié)為0,則表示還未接收對應(yīng)PV0D內(nèi)容文件的第n個片段數(shù)
據(jù),如果推送標(biāo)識區(qū)中第k個推送標(biāo)識分區(qū)的字節(jié)為l,則表示已完成接收對應(yīng)PVOD內(nèi)容文
件的第k個片段數(shù)據(jù)。 這樣,可以計算出一個PV0D內(nèi)容文件所需的推送狀態(tài)文件.sta大小,計算公式 為(PV0D內(nèi)容文件大小+601 -18)/601(8,例如,對于一個大小為2GB的PV0D內(nèi)容文件來 說,所需的推送狀態(tài)文件.sta大小約為34. 6KB。 實(shí)際應(yīng)用中,步驟509至步驟512中,具體來說,數(shù)字電視接收終端接收到PV0D數(shù) 據(jù)包時,判斷存儲的對應(yīng)的PV0D內(nèi)容文件是否存在.dwn后綴,如果存在,表示還未完成推 送,則
繼續(xù)接收PVOD數(shù)據(jù)包,訪問推送狀態(tài)文件.sta,如果相應(yīng)PVOD內(nèi)容文件對應(yīng)的片 段還未進(jìn)行存儲,則存儲對應(yīng)的片段,并將推送狀態(tài)文件.sta中的相應(yīng)推送標(biāo)識分區(qū)的字 節(jié)數(shù)據(jù)設(shè)置為1,同時更新已存片段數(shù)(加1)。 基于上述方法,本發(fā)明還提出了一種推送視頻及數(shù)據(jù)內(nèi)容的系統(tǒng)。 圖7為本發(fā)明推送視頻及數(shù)據(jù)內(nèi)容的系統(tǒng)結(jié)構(gòu)示意圖,參見圖7,該系統(tǒng)包括服
務(wù)器端設(shè)備和數(shù)字電視接收終端設(shè)備,其中, 服務(wù)器端設(shè)備,將描述待推送PVOD內(nèi)容文件中的描述信息封裝為PVOD描述文件 并輸出,將待推送PVOD內(nèi)容文件輸出; 本實(shí)施例中,可以在PVOD描述文件中攜帶PVOD內(nèi)容文件大小以及PVOD數(shù)據(jù)包中 實(shí)際數(shù)據(jù)長度閥值。 數(shù)字電視接收終端設(shè)備,對接收到的PVOD描述文件進(jìn)行處理,刪除需要刪除和需 要更新的PV0D內(nèi)容文件,獲取并創(chuàng)建未推送的以及需要更新的PVOD內(nèi)容文件,并分配相應(yīng) 的存儲空間;接收PV0D內(nèi)容文件,利用創(chuàng)建的未推送的以及需要更新的PVOD內(nèi)容文件從接 收的PVOD內(nèi)容文件數(shù)據(jù)包中解析內(nèi)容數(shù)據(jù)并保存到與數(shù)字電視接收終端相連存儲設(shè)備。
本實(shí)施例中,數(shù)字電視接收終端設(shè)備接收PVOD描述文件,判斷是否存儲有上一輪 PVOD描述文件,如果是,匹配目前接收的PVOD描述文件以及已存儲的上一輪PVOD描述文 件,創(chuàng)建上一輪PVOD描述文件中未推送的PVOD內(nèi)容文件名稱以及需要更新的PVOD內(nèi)容文 件名稱并分配相應(yīng)的存儲空間,如果數(shù)字電視接收終端沒有存儲上一輪PVOD描述文件,根 據(jù)接收的PVOD描述文件創(chuàng)建未推送的PVOD內(nèi)容文件并分配相應(yīng)的存儲空間;接收PVOD內(nèi) 容文件,利用創(chuàng)建的未推送的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件從接收的PVOD 內(nèi)容文件中解析對應(yīng)PVOD內(nèi)容文件的內(nèi)容數(shù)據(jù)并保存到與數(shù)字電視接收終端相連存儲設(shè) 備創(chuàng)建的相應(yīng)PVOD內(nèi)容文件中。 如前所述,如果數(shù)字電視接收終端設(shè)備預(yù)先創(chuàng)建的未推送的以及需要更新的PVOD 內(nèi)容文件是根據(jù)PVOD數(shù)據(jù)包中實(shí)際數(shù)據(jù)長度閥值進(jìn)行的,則 數(shù)字電視接收終端設(shè)備,對接收到的PVOD描述文件進(jìn)行處理,刪除需要刪除和需 要更新的PVOD內(nèi)容文件,獲取并創(chuàng)建PVOD內(nèi)容文件大小超過PVOD數(shù)據(jù)包中實(shí)際數(shù)據(jù)長度 閥值的未推送的以及需要更新的PVOD內(nèi)容文件,并分配相應(yīng)的存儲空間;接收PVOD內(nèi)容文 件,如果未推送以及需要更新的PVOD內(nèi)容文件大小超過PVOD數(shù)據(jù)包中實(shí)際數(shù)據(jù)長度閥值, 利用創(chuàng)建的未推送的及需要更新的PVOD內(nèi)容文件從接收的PVOD內(nèi)容文件中解析內(nèi)容數(shù) 據(jù)并保存到與數(shù)字電視接收終端相連存儲設(shè)備,對PVOD內(nèi)容文件大小未超過PVOD數(shù)據(jù)包 中實(shí)際數(shù)據(jù)長度閥值的未推送以及需要更新的PVOD內(nèi)容文件,從接收的PVOD內(nèi)容文件中 解析內(nèi)容數(shù)據(jù),創(chuàng)建相應(yīng)的PVOD內(nèi)容文件并保存到與數(shù)字電視接收終端相連的存儲設(shè)備。 也就是說,本實(shí)施例中,數(shù)字電視接收終端設(shè)備接收PVOD描述文件,判斷是否存儲有上一 輪PVOD描述文件,如果是,匹配目前接收的PVOD描述文件以及已存儲的上一輪PVOD描述 文件,創(chuàng)建上一輪PVOD描述文件中未推送的PVOD內(nèi)容文件名稱以及需要更新的PVOD內(nèi)容 文件名稱并分配相應(yīng)的存儲空間,如果數(shù)字電視接收終端沒有存儲上一輪PVOD描述文件, 根據(jù)接收的PVOD描述文件創(chuàng)建未推送的PVOD內(nèi)容文件并分配相應(yīng)的存儲空間,所述未推 送的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件大小超過PVOD數(shù)據(jù)包中實(shí)際數(shù)據(jù)長度 閥值;接收PVOD內(nèi)容文件,如果PVOD內(nèi)容文件大小超過所述PVOD數(shù)據(jù)包中實(shí)際數(shù)據(jù)長度
19閥值,利用創(chuàng)建的未推送的以及需要更新的PVOD內(nèi)容文件從接收的PVOD內(nèi)容文件中解析 對應(yīng)PVOD內(nèi)容文件的內(nèi)容數(shù)據(jù)并保存到與數(shù)字電視接收終端相連的存儲設(shè)備中已創(chuàng)建的 相應(yīng)PVOD內(nèi)容文件中,如果PVOD內(nèi)容文件大小未超過所述PVOD數(shù)據(jù)包中實(shí)際數(shù)據(jù)長度閥 值,從接收的PVOD內(nèi)容文件數(shù)據(jù)中解析內(nèi)容數(shù)據(jù),直接在數(shù)字電視接收終端相連的存儲設(shè) 備上創(chuàng)建相應(yīng)PVOD內(nèi)容文件并保存到與數(shù)字電視接收終端相連的存儲設(shè)備。
與方法中已提到的內(nèi)容相同,系統(tǒng)中的待推送PVOD文件包括PVOD描述文件和 PVOD內(nèi)容文件,待推送PVOD描述文件中的描述信息為對服務(wù)器端所有PVOD內(nèi)容文件的概 況進(jìn)行描述的描述數(shù)據(jù)。 基于圖7,本發(fā)明還提出了一種推送視頻及數(shù)據(jù)內(nèi)容的服務(wù)器端設(shè)備以及數(shù)字電 視接收終端設(shè)備。 圖8為本發(fā)明推送視頻及數(shù)據(jù)內(nèi)容的服務(wù)器端設(shè)備結(jié)構(gòu)示意圖,參見圖8,該服務(wù) 器端設(shè)備包括PVOD描述文件處理模塊、PVOD內(nèi)容文件處理模塊和輸出模塊,其中,
PVOD描述文件處理模塊,遍歷所有PVOD內(nèi)容文件生成一個描述PVOD內(nèi)容文件概 要信息的PVOD描述文件,輸出至輸出模塊; PVOD內(nèi)容文件處理模塊,將所述PVOD內(nèi)容文件中的內(nèi)容數(shù)據(jù)封裝為PVOD內(nèi)容文 件,輸出至輸出模塊; 輸出模塊,按照設(shè)置的策略,將接收的PVOD描述文件輸出,將接收的PVOD內(nèi)容文 件輸出。 本實(shí)施例中,輸出模塊按照設(shè)置好的PVOD描述文件和PVOD內(nèi)容文件數(shù)據(jù)包在同 一個播發(fā)資源中互斥循環(huán)輸出,每隔一段間隔在PVOD內(nèi)容文件數(shù)據(jù)包的輸出中插入一次 PVOD描述文件輸出的播出策略,將接收的PVOD描述文件和接收的PVOD內(nèi)容文件進(jìn)行傳輸 打包后輸出。 與方法中已提到的內(nèi)容相同,PVOD描述文件至少包括PVOD數(shù)據(jù)包中實(shí)際數(shù)據(jù)長 度閥值、各PVOD內(nèi)容文件名稱、路徑、大小、以及創(chuàng)建日期等。 圖9為本發(fā)明推送視頻及數(shù)據(jù)內(nèi)容的數(shù)字電視接收終端設(shè)備結(jié)構(gòu)示意圖,參見圖 9,該數(shù)字電視接收終端設(shè)備包括接收模塊、處理選擇模塊、PVOD描述文件處理模塊、PVOD 內(nèi)容文件處理模塊以及存儲模塊,其中, 接收模塊,接收PVOD描述文件和PVOD內(nèi)容文件,輸出至處理選擇模塊; 處理選擇模塊,用于判斷接收的為PVOD描述文件時,輸出至PVOD描述文件處理模
塊;判斷接收的為PVOD內(nèi)容文件時,輸出至PVOD內(nèi)容文件處理模塊; PVOD描述文件處理模塊,對接收到的PVOD描述文件進(jìn)行處理,刪除需要刪除和需 要更新的PVOD內(nèi)容文件,獲取未推送的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件,通 知存儲模塊創(chuàng)建未推送的以及需要更新的PVOD內(nèi)容文件并分配相應(yīng)的存儲空間,并將接 收到的PVOD描述文件發(fā)送至存儲模塊; PVOD內(nèi)容文件處理模塊;接收PVOD內(nèi)容文件,從接收的PVOD內(nèi)容文件數(shù)據(jù)包中 獲取與存儲模塊創(chuàng)建的未推送的以及需要更新的的PVOD內(nèi)容文件,輸出至存儲模塊;
存儲模塊,接收PVOD描述文件處理模塊發(fā)送的通知,創(chuàng)建未推送的文件以及需要 更新的PVOD內(nèi)容文件,并在創(chuàng)建完成后存儲PVOD描述文件,接收PVOD內(nèi)容文件處理模塊 輸出的PVOD內(nèi)容文件,對未推送的以及需要更新的PVOD內(nèi)容文件存儲至相應(yīng)的已創(chuàng)建的
20未推送PV0D內(nèi)容文件或需要更新的PVOD內(nèi)容文件中。 本實(shí)施例中,PVOD內(nèi)容文件處理模塊如果確定PVOD內(nèi)容文件沒有超過需要創(chuàng)建 的PV0D內(nèi)容文件的文件大小閥值,可不為該P(yáng)VOD內(nèi)容文件創(chuàng)建空文件,接收直接創(chuàng)建并存 儲接收的該P(yáng)VOD內(nèi)容文件中的內(nèi)容數(shù)據(jù),與現(xiàn)有技術(shù)處理流程相同,在此不再贅述。
本實(shí)施例中,PVOD描述文件處理模塊進(jìn)一步用于在通知存儲模塊創(chuàng)建未推送的以 及需要更新的PVOD內(nèi)容文件并分配相應(yīng)的存儲空間時,通知存儲模塊創(chuàng)建相應(yīng)的狀態(tài)文 件; PVOD內(nèi)容文件處理模塊,在確定從接收的PVOD內(nèi)容文件中獲取與存儲模塊創(chuàng)建 的未推送的以及需要更新的PVOD內(nèi)容文件相對應(yīng)的PVOD內(nèi)容文件后,向存儲模塊輸出更 新相應(yīng)狀態(tài)文件的指示,在確定PVOD內(nèi)容文件已完成接收的時候向存儲模塊輸出刪除相 應(yīng)狀態(tài)文件的指示; 存儲模塊根據(jù)接收的指示更新相應(yīng)狀態(tài)文件或刪除相應(yīng)狀態(tài)文件。 較佳地,存儲模塊為與數(shù)字電視接收終端設(shè)備相連的U盤、USB硬盤、數(shù)字電視接
收終端內(nèi)部硬盤、同步動態(tài)隨機(jī)接入存儲器或閃存。 上述數(shù)字電視接收終端設(shè)備還可以進(jìn)一步包括PVOD內(nèi)容文件更新模塊, PVOD內(nèi)容文件更新模塊,接收來自處理選擇模塊的PVOD描述文件,遍歷存儲模塊
中已存儲的PVOD內(nèi)容文件,刪除存儲目錄下所有PVOD內(nèi)容文件和文件目錄。 上述存儲模塊進(jìn)一步存儲有上一輪PVOD描述文件,數(shù)字電視接收終端設(shè)備進(jìn)一
步包括PVOD內(nèi)容文件更新模塊, PVOD內(nèi)容文件更新模塊,接收來自選擇處理模塊的PVOD描述文件,,遍歷存儲模 塊中已存儲的PVOD內(nèi)容文件,刪除上一輪接收的PVOD描述文件中不存在描述的已存儲的 PVOD內(nèi)容文件,刪除上一輪接收的PVOD描述文件中不存在描述的已存儲的PVOD內(nèi)容文件, 及刪除上一輪PVOD描述文件中存在描述、但大小或創(chuàng)建修改時間與當(dāng)前接收的PVOD描述 文件中描述不一致的已存儲的PVOD內(nèi)容文件;比較當(dāng)前接收的描述文件和存儲的上一輪 PVOD描述文件,刪除已存儲的PVOD描述文件中存在描述但當(dāng)前接收的PVOD描述文件中不 存在描述的已存儲的PVOD內(nèi)容文件,并刪除已存儲的PVOD描述文件中和接收的PVOD描述 文件中均存在描述、但描述大小或文件的日期時間屬性不一致的已存儲的PVOD內(nèi)容文件。
所應(yīng)說明的是,本發(fā)明提供的系統(tǒng)、服務(wù)端設(shè)備以及數(shù)字電視接收終端設(shè)備按照 本發(fā)明提供的方法執(zhí)行操作,具體的執(zhí)行順序及步驟這里不再贅述,本發(fā)明的數(shù)字電視接 收終端包括但不限于機(jī)頂盒、數(shù)字電視一體機(jī)、電視手機(jī)等具有接收數(shù)字電視功能的終
丄山順。 綜上所述,以上僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。 凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的 保護(hù)范圍之內(nèi)。
權(quán)利要求
一種推送視頻及數(shù)據(jù)內(nèi)容的方法,其特征在于,該方法包括服務(wù)器端為待播發(fā)的推送視頻點(diǎn)播PVOD內(nèi)容文件創(chuàng)建對應(yīng)的PVOD描述文件,所述PVOD描述文件包含該P(yáng)VOD內(nèi)容文件的描述信息;服務(wù)器端循環(huán)播發(fā)輸出PVOD描述文件和PVOD內(nèi)容文件;數(shù)字電視接收終端接收PVOD描述文件并進(jìn)行處理,在處理過程中判斷是否存儲有上一輪PVOD描述文件,如果是,匹配目前接收的PVOD描述文件以及已存儲的上一輪PVOD描述文件,創(chuàng)建上一輪PVOD描述文件中未推送的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件并分配相應(yīng)的存儲空間,如果數(shù)字電視接收終端沒有存儲上一輪PVOD描述文件,根據(jù)接收的PVOD描述文件創(chuàng)建所有未推送的PVOD內(nèi)容文件并分配相應(yīng)的存儲空間;數(shù)字電視接收終端接收PVOD內(nèi)容文件,根據(jù)創(chuàng)建的未推送的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件從接收的PVOD內(nèi)容文件中解析對應(yīng)PVOD內(nèi)容文件的數(shù)據(jù)包并保存到已創(chuàng)建的相應(yīng)PVOD內(nèi)容文件中。
2. 如權(quán)利要求1所述的方法,其特征在于,所述服務(wù)器端為待播發(fā)的推送視頻點(diǎn)播 PVOD內(nèi)容文件創(chuàng)建對應(yīng)的PVOD描述文件包括服務(wù)器端獲取所有需要推送的PVOD內(nèi)容文件的描述信息,按照獲取的PVOD內(nèi)容文件 在數(shù)字電視接收終端的存儲結(jié)構(gòu)組織PVOD內(nèi)容文件的描述信息,將描述PVOD內(nèi)容文件的 概要信息的描述信息封裝為PVOD描述文件。
3. 如權(quán)利要求2所述的方法,其特征在于,所述PV0D描述文件中的描述信息包括各 PVOD內(nèi)容文件名稱、數(shù)字電視接收終端存儲的相對路徑、文件大小、文件的日期時間屬性以 及所有的PVOD數(shù)據(jù)包中實(shí)際數(shù)據(jù)長度閥值。
4. 如權(quán)利要求3所述的方法,其特征在于,所述服務(wù)器端輸出PVOD內(nèi)容文件包括服 務(wù)器端按照PVOD描述文件中的PVOD數(shù)據(jù)包中實(shí)際數(shù)據(jù)長度閥值和PVOD內(nèi)容文件大小將 各具體PVOD內(nèi)容文件封裝為PVOD數(shù)據(jù)包后再進(jìn)行數(shù)據(jù)的傳輸打包,然后輸出。
5. 如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)接收的PVOD描述文件創(chuàng)建所有未 推送的PVOD內(nèi)容文件并分配相應(yīng)的存儲空間的步驟進(jìn)一步包括刪除數(shù)字電視接收終上的存儲設(shè)備上存儲PVOD內(nèi)容文件的根目錄下的所有文件和目錄。
6. 如權(quán)利要求1所述的方法,其特征在于,所述創(chuàng)建上一輪PVOD描述文件中未推送的 PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件并分配相應(yīng)的存儲空間的步驟進(jìn)一步包括更改存儲的PVOD描述文件名稱;將接收的PVOD描述文件保存為當(dāng)前PVOD描述文件;比較當(dāng)前存儲的PVOD描述文件和更名的PVOD描述文件,在數(shù)字電視接收終存儲設(shè)備 的PVOD內(nèi)容文件存儲目錄中,刪除更名的PVOD描述文件中不存在描述的PVOD內(nèi)容文件, 并刪除更名的PVOD描述文件中存在描述但當(dāng)前存儲的PVOD描述文件中不存在描述的PVOD 內(nèi)容文件,并刪除更名的PVOD描述文件中和當(dāng)前存儲的PVOD描述文件中均存在描述、但描 述大小或文件日期時間不一致的PVOD內(nèi)容文件。
7. 如權(quán)利要求6所述的方法,其特征在于,所述方法進(jìn)一步包括 遍歷數(shù)字電視接收終存儲設(shè)備中已存儲的PVOD內(nèi)容文件,刪除當(dāng)前存儲的PVOD描述文件中不存在描述的PVOD內(nèi)容文件,及刪除當(dāng)前存儲的PVOD描述文件中存在描述、但大小或文件的日期時間屬性與當(dāng)前存儲的PVOD描述文件中描述不一致的PVOD內(nèi)容文件。
8. 如權(quán)利要求1所述的方法,其特征在于,所述創(chuàng)建未推送的PVOD內(nèi)容文件以及需要 更新的PVOD內(nèi)容文件并分配相應(yīng)的存儲空間包括根據(jù)接收的PVOD描述文件中的描述,創(chuàng)建內(nèi)容為空的接收的PVOD描述文件中有描述 但數(shù)字電視接收終存儲設(shè)備中PVOD內(nèi)容文件存儲目錄不存在的PVOD內(nèi)容文件以及需要更 新的PVOD內(nèi)容文件的空文件并分配大小,并創(chuàng)建對應(yīng)該文件的狀態(tài)文件。
9. 如權(quán)利要求1所述的方法,其特征在于,所述利用創(chuàng)建的未推送的PVOD內(nèi)容文件以 及需要更新的PVOD內(nèi)容文件從接收的PVOD內(nèi)容文件中解析對應(yīng)PVOD內(nèi)容文件的內(nèi)容數(shù) 據(jù)并保存到數(shù)字電視接收終端存儲設(shè)備包括判斷數(shù)字電視接收終存儲設(shè)備中是否已存在根據(jù)接收的PVOD描述文件描述的PVOD 內(nèi)容文件的完整接收文件,如存在即停止接收該P(yáng)VOD內(nèi)容文件的保存,并判斷根據(jù)接收的 PVOD描述文件的描述的PVOD內(nèi)容文件是否已全部接收,如已完成接收則結(jié)束整個接收過 程,否則繼續(xù)接收PVOD內(nèi)容文件的過程;在上一步的判斷中如不存在已完成接收的PVOD內(nèi)容文件,則判斷數(shù)字電視接收終存 儲設(shè)備中是否已存在根據(jù)接收的PVOD描述文件創(chuàng)建的PVOD內(nèi)容文件的空文件或未接收完 成的PVOD內(nèi)容文件,如果不是,繼續(xù)執(zhí)行建立具有PVOD內(nèi)容文件名稱的空文件,并建立對 應(yīng)的狀態(tài)文件,然后將從當(dāng)前接收的PVOD內(nèi)容文件中解析出的內(nèi)容數(shù)據(jù)存儲到該空文件 中,該空文件成為未接收完成的PVOD內(nèi)容文件,并更新狀態(tài)文件中的記載;否則獲取對應(yīng)該接收的PVOD內(nèi)容文件的狀態(tài)文件,并進(jìn)一步通過狀態(tài)文件中的記載 判斷出當(dāng)前接收的PVOD內(nèi)容文件中的內(nèi)容數(shù)據(jù)沒有保存過,如未保存,則將從當(dāng)前接收的 PVOD內(nèi)容文件數(shù)據(jù)包中解析出的內(nèi)容數(shù)據(jù)存儲到該空文件中,并更新狀態(tài)文件中對該接收 的PVOD內(nèi)容文件中的內(nèi)容數(shù)據(jù)的記載;如已保存則放棄該次PVOD內(nèi)容文件的保存,繼續(xù) PVOD內(nèi)容文件的接收過程。
10. 如權(quán)利要求9所述的方法,其特征在于,進(jìn)一步包括記錄當(dāng)前接收的PVOD內(nèi)容文件中的內(nèi)容數(shù)據(jù)的版本信息、PVOD內(nèi)容文件總數(shù)目及已 經(jīng)推送完成的內(nèi)容文件數(shù)目;在確定該P(yáng)VOD數(shù)據(jù)版本沒有被更新、與數(shù)字電視接收終相連的存儲設(shè)備中存在與該 PVOD內(nèi)容文件名稱相同的PVOD內(nèi)容文件、臨時推送文件已存在后,判斷該P(yáng)VOD內(nèi)容文件是 否已接收完畢,如果沒有,繼續(xù)執(zhí)行接收包含PVOD內(nèi)容文件的PVOD數(shù)據(jù)包的步驟。
11. 如權(quán)利要求IO所述的方法,其特征在于,所述推送文件包括片段總數(shù)、已存片段 數(shù)以及推送標(biāo)識區(qū),推送標(biāo)識區(qū),包含與PVOD內(nèi)容文件片段總數(shù)對應(yīng)的推送標(biāo)識分區(qū),每個推送標(biāo)識分區(qū) 包含一個字節(jié),對應(yīng)一個PVOD內(nèi)容文件的一個片段,并設(shè)置第n個推送標(biāo)識分區(qū)的字節(jié)為 0表示還未接收對應(yīng)PVOD內(nèi)容文件的第n個片段數(shù)據(jù);所述判斷該P(yáng)VOD內(nèi)容文件是否已接收完畢,如果沒有,繼續(xù)執(zhí)行接收包含PVOD內(nèi)容文 件的PVOD數(shù)據(jù)包的步驟包括數(shù)字電視接收終端判斷存儲的對應(yīng)的PVOD內(nèi)容文件是否存 在臨時推送文件后綴,如果存在,繼續(xù)接收PVOD數(shù)據(jù)包,訪問推送狀態(tài)文件,如果相應(yīng)PVOD 內(nèi)容文件對應(yīng)的片段還未進(jìn)行存儲,則存儲對應(yīng)的片段,并將推送狀態(tài)文件中的相應(yīng)推送 標(biāo)識分區(qū)的字節(jié)數(shù)據(jù)設(shè)置為l,同時更新已存片段數(shù)。
12. —種推送視頻及數(shù)據(jù)內(nèi)容的系統(tǒng),其特征在于,該系統(tǒng)包括服務(wù)器端設(shè)備和數(shù)字 電視接收終端設(shè)備,其中,服務(wù)器端設(shè)備,將描述待推送視頻點(diǎn)播PV0D內(nèi)容文件中的描述信息封裝為PV0D描述 文件并輸出,且將待推送PVOD內(nèi)容文件輸出;數(shù)字電視接收終端設(shè)備,接收PVOD描述文件并進(jìn)行處理,判斷是否存儲有上一輪PVOD 描述文件,如果是,匹配目前接收的PVOD描述文件以及已存儲的上一輪PVOD描述文件,創(chuàng) 建上一輪PVOD描述文件中未推送的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件并分配 相應(yīng)的存儲空間,如果數(shù)字電視接收終端沒有存儲上一輪PVOD描述文件,根據(jù)接收的PVOD 描述文件創(chuàng)建未推送的PVOD內(nèi)容文件并分配相應(yīng)的存儲空間;利用創(chuàng)建的未推送的PVOD 內(nèi)容文件以及需要更新的PVOD內(nèi)容文件從接收的PVOD內(nèi)容文件數(shù)據(jù)包中解析對應(yīng)PVOD 內(nèi)容文件的內(nèi)容數(shù)據(jù)并保存到與數(shù)字電視接收終相連存儲設(shè)備創(chuàng)建的相應(yīng)PVOD內(nèi)容文件 中。
13. 如權(quán)利要求12所述的系統(tǒng),其特征在于,所述PV0D描述文件的內(nèi)容為所述對服務(wù) 器端所有推送的PVOD內(nèi)容文件的概況進(jìn)行描述的描述數(shù)據(jù)。
14. 一種推送視頻及數(shù)據(jù)內(nèi)容的服務(wù)器端設(shè)備,其特征在于,該服務(wù)器端設(shè)備包括推 送視頻點(diǎn)播PVOD描述文件處理模塊、PVOD內(nèi)容文件處理模塊和輸出模塊,其中PVOD描述文件處理模塊,遍歷所有需要推送的PVOD內(nèi)容文件生成一個描述所有PVOD 內(nèi)容文件概要信息的PVOD描述文件,輸出至輸出模塊;PVOD內(nèi)容文件處理模塊,將所述PVOD內(nèi)容文件中的內(nèi)容數(shù)據(jù)封裝為PVOD內(nèi)容文件數(shù) 據(jù)包,輸出至輸出模塊;輸出模塊,按照設(shè)置好的PVOD描述文件和PVOD內(nèi)容文件數(shù)據(jù)包在同一個播發(fā)資源中 互斥循環(huán)輸出,每隔一段間隔在PVOD內(nèi)容文件數(shù)據(jù)包的輸出中插入一次PVOD描述文件輸 出的播出策略,將接收的PVOD描述文件和接收的PVOD內(nèi)容文件進(jìn)行傳輸打包后輸出。
15. —種接收推送視頻及數(shù)據(jù)內(nèi)容的數(shù)字電視接收終端設(shè)備,其特征在于,該數(shù)字電視 接收終端設(shè)備包括接收模塊、處理選擇模塊、PVOD描述文件處理模塊、PVOD內(nèi)容文件處理 模塊以及存儲模塊;其中,接收模塊,接收被打包好的PVOD描述文件和PVOD內(nèi)容文件數(shù)據(jù)包,輸出至處理選擇模塊;處理選擇模塊,用于判斷接收的為PVOD描述文件時,輸出至PVOD描述文件處理模塊; 判斷接收的為PVOD內(nèi)容文件數(shù)據(jù)包時,輸出至PVOD內(nèi)容文件處理模塊;PVOD描述文件處理模塊,對接收到的PVOD描述文件進(jìn)行處理,獲取未推送的PVOD內(nèi)容 文件以及需要更新的PVOD內(nèi)容文件,通知存儲模塊創(chuàng)建所述未推送的PVOD內(nèi)容文件以及 需要更新的PVOD內(nèi)容文件,并分配相應(yīng)的存儲空間,并將接收到的PVOD描述文件發(fā)送至存 儲模塊;PVOD內(nèi)容文件處理模塊;接收PVOD內(nèi)容文件,從接收的PVOD內(nèi)容文件數(shù)據(jù)包中獲取 與存儲模塊創(chuàng)建的未推送的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件相對應(yīng)的PVOD 內(nèi)容文件,輸出至存儲模塊已創(chuàng)建的相應(yīng)PVOD內(nèi)容文件中;存儲模塊,接收PVOD描述文件處理模塊發(fā)送的通知,創(chuàng)建未推送的PVOD內(nèi)容文件以及 需要更新的PVOD內(nèi)容文件,并在創(chuàng)建完成后存儲PVOD描述文件,接收PVOD內(nèi)容文件處理模塊輸出的PVOD內(nèi)容文件,將未推送的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件存儲 至相應(yīng)的已創(chuàng)建的未推送PVOD內(nèi)容文件或需要更新的PVOD內(nèi)容文件中。
16. 如權(quán)利要求15所述的數(shù)字電視接收終端設(shè)備,其特征在于,所述PV0D描述文件處 理模塊進(jìn)一步用于在通知存儲模塊創(chuàng)建未推送的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容 文件并分配相應(yīng)的存儲空間時,通知存儲模塊創(chuàng)建相應(yīng)的狀態(tài)文件;所述PVOD內(nèi)容文件處 理模塊進(jìn)一步用于在輸出未推送的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件至存儲模 塊已創(chuàng)建的相應(yīng)PVOD內(nèi)容文件中時,通知存儲模塊更新相應(yīng)的狀態(tài)文件;PVOD內(nèi)容文件處理模塊,在確定從接收的PVOD內(nèi)容文件中獲取與存儲模塊創(chuàng)建的未 推送的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件相對應(yīng)的PVOD內(nèi)容文件已完成接收 后,向存儲模塊輸出刪除相應(yīng)狀態(tài)文件的指示;存儲模塊根據(jù)接收的指示刪除相應(yīng)狀態(tài)文件。
17. 如權(quán)利要求15所述的數(shù)字電視接收終端設(shè)備,其特征在于,進(jìn)一步包括PVOD內(nèi)容 文件更新模塊,接收來自處理選擇模塊的PVOD描述文件,刪除存儲目錄下所有PVOD內(nèi)容文 件和文件目錄。
18. 如權(quán)利要求15所述的數(shù)字電視接收終端設(shè)備,其特征在于,所述存儲模塊進(jìn)一步 存儲有上一輪PVOD描述文件;所述數(shù)字電視接收終端設(shè)備進(jìn)一步包括PVOD內(nèi)容文件更新模塊,接收來自處理選擇 模塊的PVOD描述文件,遍歷存儲模塊中已存儲的PVOD內(nèi)容文件,刪除上一輪接收的PVOD 描述文件中不存在描述的已存儲的PVOD內(nèi)容文件,及刪除上一輪PVOD描述文件中存在描 述、但大小或創(chuàng)建修改時間與當(dāng)前接收的PVOD描述文件中描述不一致的已存儲的PVOD內(nèi) 容文件;比較當(dāng)前接收的描述文件和存儲的上一輪PVOD描述文件,刪除已存儲的PVOD描述 文件中存在描述但當(dāng)前接收的PVOD描述文件中不存在描述的已存儲的PVOD內(nèi)容文件,并 刪除已存儲的PVOD描述文件中和接收的PVOD描述文件中均存在描述、但描述大小或創(chuàng)建 修改時間不一致的已存儲的PVOD內(nèi)容文件。
全文摘要
本發(fā)明公開了一種推送視頻及數(shù)據(jù)內(nèi)容方法、系統(tǒng)及設(shè)備,服務(wù)器端將描述PVOD(Push Video On Demand,推送視頻點(diǎn)播)內(nèi)容文件的信息封裝為PVOD描述文件;服務(wù)器端循環(huán)播發(fā)輸出PVOD描述文件和PVOD內(nèi)容文件;數(shù)字電視接收終端先對接收到的PVOD描述文件進(jìn)行處理,并創(chuàng)建未推送的以及需要更新的PVOD內(nèi)容文件并分配相應(yīng)的存儲空間;數(shù)字電視接收終端然后接收PVOD內(nèi)容文件,利用創(chuàng)建的未推送的PVOD內(nèi)容文件以及需要更新的PVOD內(nèi)容文件從接收的PVOD內(nèi)容文件數(shù)據(jù)包中解析數(shù)據(jù)并保存。本發(fā)明能夠支持任意格式數(shù)據(jù)的推送,使得接收速率快,硬件配置要求較低。
文檔編號H04N7/173GK101707697SQ20091025396
公開日2010年5月12日 申請日期2009年12月9日 優(yōu)先權(quán)日2009年12月9日
發(fā)明者何忠明, 王麟 申請人:深圳市同洲電子股份有限公司