數(shù)字電視設備接收大數(shù)量電子節(jié)目指南信息的實現(xiàn)方法
【技術領域】
[0001]本發(fā)明涉及通訊和存儲技術領域,具體涉及一種數(shù)字電視接收機接收存儲大量節(jié)目指南信息的技術。
【背景技術】
[0002]數(shù)字電視接收機在使用中,我們需要從運營商前端獲取電子節(jié)目指南信息。隨著數(shù)字電視的發(fā)展,運營商在前端投入越來越多的節(jié)目,而每個節(jié)目又有相應的電子節(jié)目指南信息,所以電子節(jié)目指南信息數(shù)據(jù)也越來越大,導致需要越來越大的內(nèi)存來存儲這些信息,會增加成本。而且一旦接收機投放市場,其存儲容量就確定了,而前端的數(shù)據(jù)越來越多,會導致這些接收機在投放后越來越不滿足需求。
【發(fā)明內(nèi)容】
[0003]本發(fā)明克服了現(xiàn)有技術的不足,提供一種數(shù)字電視設備接收大數(shù)量電子節(jié)目指南信息的實現(xiàn)方法,用于解決在有限內(nèi)存上無法收取保存大量指南信息的技術問題。
[0004]考慮到現(xiàn)有技術的上述問題,根據(jù)本發(fā)明公開的一個方面,本發(fā)明采用以下技術方案:
[0005]—種數(shù)字電視設備接收大數(shù)量電子節(jié)目指南信息的實現(xiàn)方法,它包括:
[0006]( i )在數(shù)字電視接收機獲得數(shù)據(jù)流的情況下,從數(shù)據(jù)流中分析出所包含節(jié)目的ts id、original network id、service id、event id,根據(jù)所分析出的 id 去查找、及判斷指定節(jié)目的event信息是否已經(jīng)存儲;如果沒有存儲,則存儲這段數(shù)據(jù);如果已經(jīng)存儲,則判斷這段數(shù)據(jù)是否重復,如果沒重復則繼續(xù)存儲,如果重復則丟棄該段數(shù)據(jù);
[0007]( ii )以及預先分析一段需要保存的節(jié)目指南數(shù)據(jù),如果其數(shù)據(jù)長度小于指定的內(nèi)存空間大小m,則直接保存;如果其數(shù)據(jù)長度大于m,則把數(shù)據(jù)每指定一個長度η進行壓縮存放直到這段數(shù)據(jù)壓縮存放完畢;
[0008]( iii )在對應的電子節(jié)目指南信息數(shù)據(jù)需要更新的情況下,則把已經(jīng)保存的數(shù)據(jù)釋放,重新壓縮保存;
[0009]( IV )在應用需要調(diào)用指定節(jié)目的電子節(jié)目指南信息來顯示的情況下,則根據(jù)節(jié)目的original network id、service id去查找對應的數(shù)據(jù)壓縮包,解壓獲得需要顯示的數(shù)據(jù)。
[0010]為了更好地實現(xiàn)本發(fā)明,進一步的技術方案是:
[0011]根據(jù)本發(fā)明的一個實施方案,所述步驟(i )中:已經(jīng)存儲的數(shù)據(jù)會在數(shù)據(jù)庫中以鏈表的結構存儲,要判斷是否已經(jīng)存儲,需要把節(jié)目的ts id、original network id、service id、event id 和數(shù)據(jù)庫中對應的節(jié)目的 ts id、original network id、 serviceid、event id比較,如果全部相同,就認為已經(jīng)存儲,否則需要繼續(xù)存儲。
[0012]根據(jù)本發(fā)明的另一個實施方案,所述步驟(ii )中:根據(jù)不同的數(shù)據(jù)類型和大小采取不同的壓縮比例。
[0013]根據(jù)本發(fā)明的另一個實施方案,在存儲數(shù)據(jù)為字符串數(shù)據(jù)的情況下,壓縮比例在1:5至1:10之間。
[0014]本發(fā)明還可以是:
[0015]根據(jù)本發(fā)明的另一個實施方案,通過內(nèi)存拷貝的方式把數(shù)據(jù)放入到該內(nèi)存空間內(nèi),在使用時,如果能從該內(nèi)存空間中讀取到正確的數(shù)據(jù),即認為存儲的數(shù)據(jù)是正確的。
[0016]與現(xiàn)有技術相比,本發(fā)明的有益效果之一是:
[0017]本發(fā)明的一種數(shù)字電視設備接收大數(shù)量電子節(jié)目指南信息的實現(xiàn)方法,通過采用數(shù)據(jù)壓縮的方式,將電子節(jié)目指南信息數(shù)據(jù)進行分析、壓縮后,保存在內(nèi)存中,需要顯示的時候再去解壓指定的指南信息來顯示的方法,解決在有限內(nèi)存上無法收取保存大量指南信息的問題;可以在有限內(nèi)存上存儲大量電子節(jié)目指南信息,達到小內(nèi)存保存大數(shù)據(jù)的效果,節(jié)約數(shù)字電視接收的生產(chǎn)成本。
【附圖說明】
[0018]為了更清楚的說明本申請文件實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術的描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅是對本申請文件中一些實施例的參考,對于本領域技術人員來講,在不付出創(chuàng)造性勞動的情況下,還可以根據(jù)這些附圖得到其它的附圖。
[0019]圖1示出了根據(jù)本發(fā)明一個實施例的存儲數(shù)據(jù)的具體流程示意圖。
[0020]圖2示出了根據(jù)本發(fā)明一個實施例的獲取數(shù)據(jù)并存儲的流程示意圖。
[0021]圖3示出了根據(jù)本發(fā)明一個實施例的數(shù)據(jù)更新流程示意圖。
[0022]圖4示出了根據(jù)本發(fā)明一個實施例的應用使用數(shù)據(jù)流程示意圖。
【具體實施方式】
[0023]下面結合實施例對本發(fā)明作進一步地詳細說明,但本發(fā)明的實施方式不限于此。
[0024]參見圖1?圖4所示,一種數(shù)字電視設備接收大數(shù)量電子節(jié)目指南信息的實現(xiàn)方法,具體包括如下步驟:
[0025]步驟1:當數(shù)字電視接收機獲得數(shù)據(jù)流時,從數(shù)據(jù)流中分析出所包含節(jié)目的tsid、original network id、service id、event id,根據(jù)這幾個id去查找,并判斷指定節(jié)目的該event信息是否已經(jīng)存儲。如果沒有存儲,則存儲這段數(shù)據(jù);如果已經(jīng)存儲,則判斷這段數(shù)據(jù)是否重復,如果沒重復則繼續(xù)存儲,如果重復則丟棄該段數(shù)據(jù)。已經(jīng)存儲的數(shù)據(jù)會在數(shù)據(jù)庫中以鏈表的結構存儲,要判斷是否已經(jīng)存儲,需要把節(jié)目的ts id、originalnetwork id、service id、event id 和數(shù)據(jù)庫中對應的節(jié)目的 ts id、original networkid、service id、event id比較,如果全部相同,就認為已經(jīng)存儲,否則需要繼續(xù)存儲。
[0026]步驟2:預先分析一段需要保存的節(jié)目指南數(shù)據(jù),如果其數(shù)據(jù)長度小于指定的內(nèi)存空間大小m,則可以直接保存。如果其數(shù)據(jù)長度大于m,則把數(shù)據(jù)每指定一個長度n進行壓縮存放直到這段數(shù)據(jù)壓縮存放完畢。所有的數(shù)據(jù)都可以被壓縮,只是壓縮比例大小不同;壓縮比例和要壓縮的數(shù)據(jù)類型和大小有關,就epg中存儲的字符串數(shù)據(jù)而言,壓縮比例在1:5到1:10左右仰是內(nèi)存空間大小,通過內(nèi)存拷貝的方式把數(shù)據(jù)放入到該空間內(nèi)即可,在使用時,如果能從該內(nèi)存中讀取到正確的數(shù)據(jù),即認為存儲的數(shù)據(jù)是正確的;n是可配置的。
[0027]步驟3:如果對應的電子節(jié)目指南信息數(shù)據(jù)要更新,則把已經(jīng)保存的數(shù)據(jù)釋放,重新壓縮保存。
[0028]步驟4:當應用需要調(diào)用指定節(jié)目的電子節(jié)目指南信息來顯示,則根據(jù)節(jié)目的original network id、service id去查找對應的數(shù)據(jù)壓縮包,解壓獲得需要顯示的數(shù)據(jù)。采取這些措施后,一般可以擴大5-10倍的節(jié)目信息。
[0029]本發(fā)明可以在有限內(nèi)存上存儲大量電子節(jié)目指南信息,達到小內(nèi)存保存大數(shù)據(jù)的效果,節(jié)約數(shù)字電視接收的生產(chǎn)成本。
[0030]—具體實施例,本發(fā)明所述的數(shù)字電視接收機收取大量節(jié)目指南信息的技術中:
[0031]a.分配4K字節(jié)的內(nèi)存空間,指定長度超過4K字節(jié)則需要壓縮保存。
[0032]b.數(shù)字電視接收機接收到電子節(jié)目指南數(shù)據(jù)流,分析該數(shù)據(jù)流中包含的節(jié)目參數(shù)及對應事件參數(shù) ts id、original network id、service id、event id,通過這幾個 id 去內(nèi)存中查找事件信息是否已經(jīng)存儲,如果已經(jīng)存儲則丟棄,否則就對事件信息數(shù)據(jù)流進行疊