專利名稱:一種基于機頂盒的電視節(jié)目錄制方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及機頂盒技術領域,尤其涉及的是一種基于機頂盒的電視節(jié)目錄制方法及系統(tǒng)。
背景技術:
隨著機頂盒的發(fā)展,以及內容服務的完善和提高,越來越多的用戶希望可以將電視節(jié)目錄制下來,或者定時錄制,錄制一些自己無法及時收看的節(jié)目。對于這樣的功能需求,就一定需要解決大量的錄制數(shù)據(jù)如何存儲的問題。對于目前機頂盒中對于節(jié)目錄制的存儲,主要有以下兩種做法
第一種常規(guī)做法是將節(jié)目錄制到本地的U盤、USB移動硬盤或者是內置硬盤中。對于該第一種方案,將節(jié)目錄制到本地的U盤中、USB移動硬盤或者是內置硬盤中,容量有限,無法錄制很長時間的節(jié)目。尤其是高清節(jié)目日益普及的今天,節(jié)目的錄制更需要超大的存儲空間。同時,本地的硬盤有一定幾率會被大量的數(shù)據(jù)讀寫而損毀,導致數(shù)據(jù)不可靠。第二種、.對于一些支持網(wǎng)絡功能的機頂盒可以由用戶手動將錄制文件存儲到網(wǎng)絡的服務器上。該第二種方案,依賴于一些專業(yè)的網(wǎng)絡存儲服務,可以在一定程度上緩解數(shù)據(jù)容量和可靠性問題,但是目前的這種做法依然存在一定缺陷。因為該第二種方法中對機頂盒會預置或者配置幾個專業(yè)的網(wǎng)絡存儲服務器,為了節(jié)省存儲空間,某一個特定的錄制文件會傳到某一個單一的服務器上,雖然這種用作數(shù)據(jù)存儲的服務器有專門的人員維護及使用專業(yè)硬件,但卻仍然存在著不低的故障率。為了降低這種故障率,會將同一個文件傳輸?shù)蕉鄠€服務器上,進行完全備份,大大提高了數(shù)據(jù)的可靠性,但是數(shù)據(jù)的冗余度以及帶寬的消耗又是成倍增加的,造成資源浪費。而且,現(xiàn)有技術中一般提供了網(wǎng)絡存儲功能的機頂盒,都需要用戶手動將錄制文件傳輸?shù)骄W(wǎng)絡服務器上,由于數(shù)據(jù)龐大,用戶必須忍耐長時間的網(wǎng)絡傳輸。因此,現(xiàn)有技術還有待于改進和發(fā)展。
發(fā)明內容
本發(fā)明要解決的技術問題在于,針對現(xiàn)有技術的上述缺陷,提供一種基于機頂盒的電視節(jié)目錄制方法及系統(tǒng),提供了一種實時、高可靠、利用網(wǎng)絡分布存儲錄制電視節(jié)目的方法及系統(tǒng),其可以最大限度的降低數(shù)據(jù)的冗余度,又可以大幅度提高數(shù)據(jù)可靠性,且實現(xiàn)
各易ο本發(fā)明解決技術問題所采用的技術方案如下 一種基于機頂盒的電視節(jié)目錄制方法,其中,包括步驟
A、機頂盒對電視節(jié)目進行錄制的同時,采用Erasure Code對在錄制中需存儲的電視節(jié)目數(shù)據(jù)進行編碼,并將編碼后的結果數(shù)據(jù)分散存儲在本地以及網(wǎng)絡服務器上。所述基于機頂盒的電視節(jié)目錄制方法,其中,所述步驟A具體包括
Al、在通過機頂盒對電視節(jié)目進行錄制的同時,將錄制中需存儲的電視節(jié)目數(shù)據(jù)文件分割成m個等長的數(shù)據(jù)塊;
A2、對該m個等長的數(shù)據(jù)塊進行編碼得到η個數(shù)據(jù)碎片;
A3、將該η個數(shù)據(jù)碎片在本地的本地存儲器和多個網(wǎng)絡服務器的網(wǎng)絡存儲器上進行分布存儲。所述基于機頂盒的電視節(jié)目錄制方法,其中,其還包括步驟Β、當需要重新獲取該錄制的電視節(jié)目的數(shù)據(jù)文件時,從本地存儲器以及多個網(wǎng)絡存儲器上獲得r個可用的數(shù)據(jù)碎片,并對該獲得的r個可用的數(shù)據(jù)碎片進行解碼重構得到該錄制的電視節(jié)目的原始數(shù)據(jù)對象,其中r大于等于m。所述基于機頂盒的電視節(jié)目錄制方法,其中,所述步驟A還包括采用Erasure Code對在錄制中需存儲的電視節(jié)目數(shù)據(jù)進行線性代數(shù)性質的編碼,并且編碼后的消息中任意長度等于原始消息的子消息,都具有解碼得到原始消息的編碼性質。 所述基于機頂盒的電視節(jié)目錄制方法,其中,采用Erasure code進行線性編碼時, 所述步驟A還包括
定義G為《 矩陣,其任意m行均為線性無關,G的任意《子矩陣可逆,則線性碼可以表示為y = Gx,其中χ = (X1, X2,…xm)為源數(shù)據(jù),即為m個等長的數(shù)據(jù)塊,y = (Yl, I2,…丫》為編碼后得到的數(shù)據(jù),即為進行線性編碼得到η個數(shù)據(jù)碎片。所述基于機頂盒的電視節(jié)目錄制方法,其中,所述步驟B還包括設y ’由y中任意 m個數(shù)據(jù)項組成,G’為G中相應的m行組成的子矩陣,則有y’ = G' χ => χ = G’_V’,完成解碼過程得到源數(shù)據(jù)X。所述基于機頂盒的電視節(jié)目錄制方法,其中,所述步驟A還包括步驟對于生成矩陣G的構造采用WXw的單位矩陣與(《 - ) χ 的Vandermonde矩陣或者Cauchy矩陣聯(lián)合得到,使構造的生成矩陣G的任意子矩陣均可逆。一種基于機頂盒的電視節(jié)目錄制系統(tǒng),其中,包括機頂盒,及與機頂盒通信連接的多個網(wǎng)絡服務器;
所述機頂盒包括
錄制存儲模塊,用于對電視節(jié)目進行錄制的同時,采用Erasure Code對在錄制中需存儲的電視節(jié)目數(shù)據(jù)進行編碼,并將編碼后的結果數(shù)據(jù)分散存儲在本地以及網(wǎng)絡服務器上。所述基于機頂盒的電視節(jié)目錄制系統(tǒng),其中,所述錄制存儲模塊進一步包括 分塊單元,用于在通過機頂盒對電視節(jié)目進行錄制的同時,將錄制中需存儲的電視節(jié)
目數(shù)據(jù)文件分割成m個等長的數(shù)據(jù)塊;
編碼單元,用于對該m個等長的數(shù)據(jù)塊進行編碼得到η個數(shù)據(jù)碎片; 分布存儲控制單元,將該η個數(shù)據(jù)碎片在本地的本地存儲器和多個網(wǎng)絡服務器的網(wǎng)絡存儲器上進行分布存儲。所述基于機頂盒的電視節(jié)目錄制系統(tǒng),其中,所述機頂盒還包括
數(shù)據(jù)還原模塊,用于當需要重新獲取該錄制的電視節(jié)目的數(shù)據(jù)文件時,從本地存儲器以及多個網(wǎng)絡存儲器上獲得r個可用的數(shù)據(jù)碎片,并對該獲得的r個可用的數(shù)據(jù)碎片進行解碼重構得到該錄制的電視節(jié)目的原始數(shù)據(jù)對象,其中r大于等于m。本發(fā)明所提供的基于機頂盒的電視節(jié)目錄制方法及系統(tǒng),主要應用于機頂盒的節(jié)目錄制中,由于采用結合本地存儲介質,以及網(wǎng)絡存儲服務器,將Erasure code應用到了
5錄制文件存儲的應用上,將編碼后生成的η個數(shù)據(jù)碎片均勻分布存儲到本地硬盤,以及網(wǎng)絡存儲器上,同時利用了本地的存儲高穩(wěn)定性(完全避免了網(wǎng)絡故障),以及網(wǎng)絡存儲的高可靠性(服務器存儲介質損壞幾率遠低于本地硬盤),在不高的數(shù)據(jù)冗余度下達到了數(shù)據(jù)的高可用性和可靠性;對錄制文件進行編碼并實時地進行網(wǎng)絡分布存儲,突破了本地硬盤容量的限制,充分利用現(xiàn)有的極為充足的網(wǎng)絡存儲資源,最大限度的降低數(shù)據(jù)的冗余度,又可以大幅度提高數(shù)據(jù)可靠性;并且本發(fā)明將數(shù)據(jù)處理和網(wǎng)絡傳輸完全在節(jié)目錄制時同時進行,做到了對用戶完全透明,大大提高了節(jié)目錄制存儲效率,同時保證了存儲的可靠性,為用戶提供了方便。
圖1是本發(fā)明實施例的基于機頂盒的電視節(jié)目錄制方法流程圖。圖2是本發(fā)明實施例的基于機頂盒的電視節(jié)目錄制方法Erasure code編碼/解碼過程結構示意圖。圖3是Erasure code的可用性走勢圖。圖4是本發(fā)明實施例的基于機頂盒的電視節(jié)目錄制系統(tǒng)原理框圖。
具體實施例方式本發(fā)明一種基于機頂盒的電視節(jié)目錄制方法及系統(tǒng),為使本發(fā)明的目的、技術方案及優(yōu)點更加清楚、明確,以下參照附圖并舉實施例對本發(fā)明進一步詳細說明。應當理解, 此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明實施例提供的一種基于機頂盒的電視節(jié)目錄制方法,主要利用機頂盒對電視節(jié)目進行錄制的同時,采用Erasure Code對在錄制中需存儲的電視節(jié)目數(shù)據(jù)進行編碼, 并將編碼后的結果數(shù)據(jù)分散存儲在本地以及網(wǎng)絡服務器上。本實施例中,結合本地存儲介質,以及網(wǎng)絡存儲服務器,并使用Erasure Code對文件進行編碼,將編碼后的結果分散存儲在本地以及網(wǎng)絡服務器上,而編碼和網(wǎng)絡傳輸過程是在節(jié)目錄制時同時進行,對于用戶,這個編碼和網(wǎng)絡傳輸過程幾乎是透明的。Erasure code作為一種FEC (Forward Error Correction)技術主要應用在網(wǎng)絡傳輸中避免包的丟失,本發(fā)明利用Erasure code在保證不高的數(shù)據(jù)冗余度的前提下而提高數(shù)據(jù)存儲的可靠性。具體如下所述。本發(fā)明中采用在進行節(jié)目錄制的同時,后臺同時對錄制文件進行編碼,并實時存儲到網(wǎng)絡服務器上,將數(shù)據(jù)傳輸這一行為完全透明于用戶。其中,較佳實施例提供的基于機頂盒的電視節(jié)目錄制方法,如圖1所示,主要包括以下步驟
步驟S110、在通過機頂盒對電視節(jié)目進行錄制的同時,將錄制中需存儲的電視節(jié)目數(shù)據(jù)文件分割成m個等長的數(shù)據(jù)塊;參見圖2,使用Erasure code,將錄制中需存儲的電視節(jié)目源數(shù)據(jù)(soure data)分割成m個等長的數(shù)據(jù)塊。步驟S120、對該m個等長的數(shù)據(jù)塊進行編碼得到η個數(shù)據(jù)碎片;參見圖2,將該m個等長的數(shù)據(jù)塊經過編碼器進行編碼得到η個數(shù)據(jù)碎片。該實施例中,采用Erasure Code對在錄制中需存儲的電視節(jié)目數(shù)據(jù)中分成m個等長的數(shù)據(jù)塊進行線性代數(shù)性質的編碼,并且編碼后的消息中任意長度等于原始消息的子消息,都具有解碼得到原始消息的編碼性質。
步驟S130、將該η個數(shù)據(jù)碎片在本地的本地存儲器和多個網(wǎng)絡服務器的網(wǎng)絡存儲器上進行分布存儲。步驟S140、當需要重新獲取該錄制的電視節(jié)目的數(shù)據(jù)文件時,從本地存儲器以及多個網(wǎng)絡存儲器上獲得r個可用的數(shù)據(jù)碎片,參見圖2,并對該獲得的r個可用的數(shù)據(jù)碎片通過解碼器進行解碼重構得到該錄制的電視節(jié)目的原始數(shù)據(jù)對象m,其中r大于等于m。采用Erasure code有多種實現(xiàn)方式,本實施例中使用其線性碼(利用線性代數(shù)性質的編碼)的實現(xiàn),并且具有MDS (maximal distance s印arable)編碼(編碼后的消息中任意長度等于原始消息的子消息都可以解碼得到原始消息的編碼稱為MDS編碼)性質,即r = m,本文如不特別指出,均為r = m。如圖2簡要描述了 Erasure code的編碼和解碼過程。Erasure code的線性碼實現(xiàn)關鍵是定義合適的生成矩陣(與源數(shù)據(jù)進行某種操作實現(xiàn)編碼的矩陣)。本實施例中較佳地采用,設G為《 矩陣,其任意m行均為線性無關,即G的任意子矩陣可逆,則線性碼可以表示為y = Gx,其中X = (xl,X2,…xm)為源數(shù)據(jù),具體
參見圖2中m個等長的數(shù)據(jù)塊,y = (yl, y2,…yn)為編碼后得到的數(shù)據(jù),參見圖2中進行線性編碼得到η個數(shù)據(jù)碎片。并設y’由y中任意m個數(shù)據(jù)項組成,G’為G中相應的m行組成的子矩陣,則有y’ =G' χ => χ = G' -ly’,完成解碼過程得到源數(shù)據(jù)χ。本實施例中對于生成矩陣G的構造可以使用mxm的單位矩陣與(《 - ) x 的 Vandermonde矩陣或者Cauchy矩陣聯(lián)合得到,顯然這樣構造的生成矩陣G的任意子矩陣均可逆。例如:m = 3,n = 5,使用Vandermonde矩陣構造G,則有具體的根據(jù)上述方法可以使用java和c++兩種語言實現(xiàn)的Erasure code編碼和解碼程序。由上可見,本發(fā)明實施例中的關鍵點就是將一種FEC技術,Erasure code利用在了對錄制文件進行分布式存儲之上,并且同時利用本地和網(wǎng)絡兩種存儲,利用二者各自優(yōu)點,達到了在較低數(shù)據(jù)冗余度下卻有相當高的數(shù)據(jù)可用性。而且大大提高了節(jié)目錄制效率, 用戶無需再長時間的等待將錄制文件傳輸?shù)骄W(wǎng)絡服務器上。本實施例中通過將Erasure code作為一種冗余機制來提高數(shù)據(jù)的可靠性,可以看作是完全備份和RAID機制的超集,(m = l,n = 2)的Erasure code相當于完全備份,RAID 5則可以描述成(m = 4,η = 5)的Erasure code系統(tǒng)。
假設Y1和y3丟失則可以通過下面的推導得到向量X完成解碼。
權利要求
1.一種基于機頂盒的電視節(jié)目錄制方法,其特征在于,包括步驟A、機頂盒對電視節(jié)目進行錄制的同時,采用Erasure Code對在錄制中需存儲的電視節(jié)目數(shù)據(jù)進行編碼,并將編碼后的結果數(shù)據(jù)分散存儲在本地以及網(wǎng)絡服務器上。
2.根據(jù)權利要求1所述基于機頂盒的電視節(jié)目錄制方法,其特征在于,所述步驟A具體包括Al、在通過機頂盒對電視節(jié)目進行錄制的同時,將錄制中需存儲的電視節(jié)目數(shù)據(jù)文件分割成m個等長的數(shù)據(jù)塊;A2、對該m個等長的數(shù)據(jù)塊進行編碼得到η個數(shù)據(jù)碎片;A3、將該η個數(shù)據(jù)碎片在本地的本地存儲器和多個網(wǎng)絡服務器的網(wǎng)絡存儲器上進行分布存儲。
3.根據(jù)權利要求2所述基于機頂盒的電視節(jié)目錄制方法,其特征在于,其還包括步驟 B、當需要重新獲取該錄制的電視節(jié)目的數(shù)據(jù)文件時,從本地存儲器以及多個網(wǎng)絡存儲器上獲得r個可用的數(shù)據(jù)碎片,并對該獲得的r個可用的數(shù)據(jù)碎片進行解碼重構得到該錄制的電視節(jié)目的原始數(shù)據(jù)對象,其中r大于等于m。
4.根據(jù)權利要求3所述基于機頂盒的電視節(jié)目錄制方法,其特征在于,所述步驟A還包括采用Erasure Code對在錄制中需存儲的電視節(jié)目數(shù)據(jù)進行線性代數(shù)性質的編碼,并且編碼后的消息中任意長度等于原始消息的子消息,都具有解碼得到原始消息的編碼性質。
5.根據(jù)權利要求4所述基于機頂盒的電視節(jié)目錄制方法,其特征在于,采用Erasure code進行線性編碼時,所述步驟A還包括定義G為《 Xw矩陣,其任意m行均為線性無關,G的任意·《>< 子矩陣可逆,則線性碼可以表示為y = Gx,其中χ = (X1, X2,…Xm)為源數(shù)據(jù),即為m個等長的數(shù)據(jù)塊,y = (Yl, y2,…yn)為編碼后得到的數(shù)據(jù),即為進行線性編碼得到η個數(shù)據(jù)碎片。
6.根據(jù)權利要求5所述基于機頂盒的電視節(jié)目錄制方法,其特征在于,所述步驟B還包括設y’由y中任意m個數(shù)據(jù)項組成,G’為G中相應的m行組成的子矩陣,則有y’ = G’ χ => χ = G' _V’,完成解碼過程得到源數(shù)據(jù)χ。
7.根據(jù)權利要求5所述基于機頂盒的電視節(jié)目錄制方法,其特征在于,所述步驟A還包括步驟對于生成矩陣G的構造采用的單位矩陣與(《 - ffl ) 的Vandermonde矩陣或者Cauchy矩陣聯(lián)合得到,使構造的生成矩陣G的任意《 〃《子矩陣均可逆。
8.一種基于機頂盒的電視節(jié)目錄制系統(tǒng),其特征在于,包括機頂盒,及與機頂盒通信連接的多個網(wǎng)絡服務器;所述機頂盒包括錄制存儲模塊,用于對電視節(jié)目進行錄制的同時,采用Erasure Code對在錄制中需存儲的電視節(jié)目數(shù)據(jù)進行編碼,并將編碼后的結果數(shù)據(jù)分散存儲在本地以及網(wǎng)絡服務器上。
9.根據(jù)權利要求8所述基于機頂盒的電視節(jié)目錄制系統(tǒng),其特征在于,所述錄制存儲模塊進一步包括分塊單元,用于在通過機頂盒對電視節(jié)目進行錄制的同時,將錄制中需存儲的電視節(jié)目數(shù)據(jù)文件分割成m個等長的數(shù)據(jù)塊;編碼單元,用于對該m個等長的數(shù)據(jù)塊進行編碼得到η個數(shù)據(jù)碎片;分布存儲控制單元,將該η個數(shù)據(jù)碎片在本地的本地存儲器和多個網(wǎng)絡服務器的網(wǎng)絡存儲器上進行分布存儲。
10.根據(jù)權利要求9所述基于機頂盒的電視節(jié)目錄制系統(tǒng),其特征在于,所述機頂盒還包括數(shù)據(jù)還原模塊,用于當需要重新獲取該錄制的電視節(jié)目的數(shù)據(jù)文件時,從本地存儲器以及多個網(wǎng)絡存儲器上獲得r個可用的數(shù)據(jù)碎片,并對該獲得的r個可用的數(shù)據(jù)碎片進行解碼重構得到該錄制的電視節(jié)目的原始數(shù)據(jù)對象,其中r大于等于m。
全文摘要
本發(fā)明公開了一種基于機頂盒的電視節(jié)目錄制方法及系統(tǒng),機頂盒對電視節(jié)目進行錄制的同時,采用ErasureCode對在錄制中需存儲的電視節(jié)目數(shù)據(jù)進行編碼,并將編碼后的結果數(shù)據(jù)分散存儲在本地以及網(wǎng)絡服務器上。其可以充分利用現(xiàn)有的極為充足的網(wǎng)絡存儲資源,最大限度的降低數(shù)據(jù)的冗余度,又可以大幅度提高數(shù)據(jù)可靠性;并且本發(fā)明將數(shù)據(jù)處理和網(wǎng)絡傳輸完全在節(jié)目錄制時同時進行,做到了對用戶完全透明,大大提高了節(jié)目錄制存儲效率,同時保證了存儲的可靠性,為用戶提供了方便。
文檔編號H04N21/274GK102427556SQ201110269329
公開日2012年4月25日 申請日期2011年9月13日 優(yōu)先權日2011年9月13日
發(fā)明者張大為 申請人:珠海邁科電子科技有限公司