數(shù)字機頂盒的軟件升級系統(tǒng)及方法
【專利摘要】本發(fā)明公開了一種數(shù)字機頂盒的軟件升級系統(tǒng)及方法,包括機頂盒,機頂盒內(nèi)部具有機頂盒軟件模塊,其特征在于:所述機頂盒軟件模塊內(nèi)部將容易更新的軟件模塊制作成動態(tài)鏈接庫,所述機頂盒內(nèi)部設有與動態(tài)鏈接庫相配合的描述文件,所述機頂盒軟件模塊電通信連接有后臺線程監(jiān)控模塊,后臺線程監(jiān)控模塊還電通信連接有CRC校驗模塊。本發(fā)明將經(jīng)常更新的軟件模塊整合制成一個動態(tài)鏈接庫,后臺線程監(jiān)控模塊實時監(jiān)測機頂盒版本信息并搜索最新機頂盒版本,描述文件、私有描述表可以進行版本信息的比較,以便于下載最新的機頂盒版本數(shù)據(jù);本發(fā)明大大減少了軟件升級數(shù)據(jù),縮短了升級時間,減少了對網(wǎng)絡資源的占用,降低了軟件升級風險,方便了機頂盒用戶。
【專利說明】 數(shù)字機頂盒的軟件升級系統(tǒng)及方法
【技術領域】
[0001]本發(fā)明涉及機頂盒軟件升級【技術領域】,尤其涉及一種數(shù)字機頂盒的軟件升級系統(tǒng)及方法。
【背景技術】
[0002]目前,數(shù)字電視大多通過機頂盒實現(xiàn)信號接收和傳輸,機頂盒內(nèi)部具有機頂盒軟件模塊,在機頂盒出廠時,廠家會安裝全部的機頂盒軟件到機頂盒中,此時機頂盒的安裝版本為當前最新版本。隨著機頂盒技術的不斷發(fā)展,機頂盒的版本將研發(fā)出新的版本以供客戶選擇更新、加載。而機頂盒受到局限性,無法人為進行版本,傳統(tǒng)的機頂盒需要到專門的維修部門才能完成機頂盒的更新,傳統(tǒng)的機頂盒沒有一種可以自動搜索版本信息,更不能自動下載升級數(shù)據(jù),不能智能化、自動化地完成機頂盒的版本更新。傳統(tǒng)的機頂盒中可能有一些能夠實現(xiàn)自動更新,而通常涉及到更新、升級的內(nèi)容機頂盒內(nèi)部的一個或幾個軟件模塊進行升級,但此種機頂盒的升級方法是將整個機頂盒軟件都進行升級,這樣造成升級數(shù)據(jù)大,時間長,占用網(wǎng)絡資源多,因此所帶來的升級風險就會增加。
【發(fā)明內(nèi)容】
[0003]針對現(xiàn)有技術存在的不足之處,本發(fā)明的目的在于提供一種數(shù)字機頂盒的軟件升級系統(tǒng)及方法,本發(fā)明將經(jīng)常更新的軟件模塊整合制成一個動態(tài)鏈接庫,后臺線程監(jiān)控模塊實時監(jiān)測機頂盒版本信息并搜索最新機頂盒版本,描述文件、私有描述表可以進行版本信息的比較,以便于下載最新的機頂盒版本數(shù)據(jù);本發(fā)明大大減少了軟件升級數(shù)據(jù),縮短了升級時間,減少了對網(wǎng)絡資源的占用,降低了軟件升級風險,方便了機頂盒用戶。
[0004]本發(fā)明的目的通過下述技術方案實現(xiàn):
[0005]一種數(shù)字機頂盒的軟件升級系統(tǒng),包括機頂盒,機頂盒內(nèi)部具有機頂盒軟件模塊,其特征在于:所述機頂盒軟件模塊內(nèi)部將容易更新的軟件模塊制作成動態(tài)鏈接庫,所述機頂盒內(nèi)部設有與動態(tài)鏈接庫相配合的描述文件,所述機頂盒軟件模塊電通信連接有后臺線程監(jiān)控模塊,后臺線程監(jiān)控模塊還電通信連接有CRC校驗模塊;
[0006]所述描述文件用于記錄動態(tài)鏈接庫的名稱、所在路徑、庫ID號、版本信息;
[0007]所述后臺線程監(jiān)控模塊用于機頂盒開機時檢測是否有版本更新;
[0008]在后臺線程監(jiān)控模塊檢測到有版本更新時,則下載升級數(shù)據(jù),同時所述CRC校驗模塊對更新、升級數(shù)據(jù)進行CRC校驗。
[0009]一種數(shù)字機頂盒的軟件升級方法,數(shù)字機頂盒包括軟件升級系統(tǒng),該系統(tǒng)包括機頂盒,機頂盒內(nèi)部具有機頂盒軟件模塊,所述機頂盒軟件模塊內(nèi)部將容易更新的軟件模塊制作成動態(tài)鏈接庫,所述機頂盒內(nèi)部設有與動態(tài)鏈接庫相配合的描述文件,所述機頂盒軟件模塊電通信連接有后臺線程監(jiān)控模塊,后臺線程監(jiān)控模塊還電通信連接有CRC校驗模塊;
[0010]其軟件升級方法如下:[0011]a、機頂盒的機頂盒軟件模塊是基于Linux操作系統(tǒng),機頂盒軟件模塊內(nèi)部將容易更新的軟件模塊制作成動態(tài)鏈接庫,機頂盒軟件模塊啟動的同時加載動態(tài)鏈接庫;在機頂盒中對動態(tài)鏈接庫建立一個描述文件,該描述文件的描述信息有:動態(tài)鏈接庫名稱、所在路徑、庫ID號、版本信息;
[0012]b、在與機頂盒的數(shù)字電視前端建立一個私有描述表,該私有描述表的描述內(nèi)容包括:軟硬件版本號、機頂盒序列號范圍、動態(tài)鏈接庫ID和版本、升級頻點參數(shù)和升級數(shù)據(jù)PID, CRC校驗值等信息;
[0013]C、機頂盒內(nèi)部的后臺線程監(jiān)控模塊在機頂盒開機時檢測機頂盒是否有版本更新,如果檢測到機頂盒的軟件版本號增加則分析對應庫ID號的動態(tài)鏈接庫版本是否更新,如果有更新則下載升級數(shù)據(jù);所述CRC校驗模塊對升級數(shù)據(jù)進行CRC校驗,校驗成功后備份對應庫ID號的動態(tài)鏈接庫,然后再刪除動態(tài)鏈接庫,將下載的升級數(shù)據(jù)拷貝到對應的路徑下,并修改動態(tài)鏈接庫的名稱和信息;
[0014]d、控制機頂盒重啟,加載完所有動態(tài)鏈接庫成功后,將備份的動態(tài)鏈接庫刪除,更新機頂盒所記錄的動態(tài)鏈接庫的版本號。
[0015]所述步驟c中的后臺線程監(jiān)控模塊檢測到的機頂盒版本更新信息傳輸至私有描述表并請求數(shù)字電視前端的私有描述表,私有描述表進行分析數(shù)據(jù),并與機頂盒的廠商ID和硬件版本號進行比較;如果兩者數(shù)據(jù)相等,則比較描述表與機頂盒中的軟件版本信息,如果機頂盒版本更新信息大于或等于機頂盒軟件版本信息,則動態(tài)鏈接庫根據(jù)動態(tài)鏈接庫ID號動態(tài)庫的版本號,并且進入步驟C1 ;如果機頂盒版本更新信息小于機頂盒軟件版本信息,則停止或重新開始步驟c ;
[0016]步驟C1:下載升級數(shù)據(jù)至機頂盒中,并保存升級數(shù)據(jù)進入步驟d。
[0017]本發(fā)明的升級流程詳細如下:
[0018]在完成步驟C1的下載升級數(shù)據(jù)至機頂盒中,并保存升級數(shù)據(jù)后,CRC校驗模塊對升級數(shù)據(jù)進行CRC校驗,當校驗通過后,即將升級數(shù)據(jù)備份到動態(tài)鏈接庫中,然后將下載的升級數(shù)據(jù)寫入到機頂盒的文件之中,并重命名文件名稱,最后結束升級過程。
[0019]本發(fā)明較現(xiàn)有技術相比,具有以下優(yōu)點及有益效果:
[0020](I)本發(fā)明將經(jīng)常更新的軟件模塊整合制成一個動態(tài)鏈接庫,后臺線程監(jiān)控模塊實時監(jiān)測機頂盒版本信息并搜索最新機頂盒版本,描述文件、私有描述表可以進行版本信息的比較,以便于下載最新的機頂盒版本數(shù)據(jù);本發(fā)明大大減少了軟件升級數(shù)據(jù),縮短了升級時間,減少了對網(wǎng)絡資源的占用,降低了軟件升級風險,方便了機頂盒用戶。
[0021 ] (2)本發(fā)明的CRC校驗模塊可以對下載的升級數(shù)據(jù)進行CRC校驗,增加了升級數(shù)據(jù)的準確性,保證數(shù)據(jù)的無病毒。
【專利附圖】
【附圖說明】
[0022]圖1為本數(shù)字機頂盒的軟件升級系統(tǒng)的原理結構框圖;
[0023]圖2為本數(shù)字機頂盒的軟件升級方法的升級流程示意圖;
[0024]圖3為本數(shù)字機頂盒的軟件升級方法的數(shù)據(jù)下載保存流程示意圖;
[0025]圖4為本實施例的動態(tài)鏈接庫的相關信息;
[0026]圖5為本實施例的私有描述表的描述信息?!揪唧w實施方式】
[0027]下面結合實施例對本發(fā)明作進一步地詳細說明:
[0028]實施例
[0029]如圖1所示,一種數(shù)字機頂盒的軟件升級系統(tǒng),包括機頂盒,機頂盒內(nèi)部具有機頂盒軟件模塊,所述機頂盒軟件模塊內(nèi)部將容易更新的軟件模塊制作成動態(tài)鏈接庫,所述機頂盒內(nèi)部設有與動態(tài)鏈接庫相配合的描述文件,所述機頂盒軟件模塊電通信連接有后臺線程監(jiān)控模塊,后臺線程監(jiān)控模塊還電通信連接有CRC校驗模塊;
[0030]所述描述文件用于記錄動態(tài)鏈接庫的名稱、所在路徑、庫ID號、版本信息;
[0031]所述后臺線程監(jiān)控模塊用于機頂盒開機時檢測是否有版本更新;
[0032]在后臺線程監(jiān)控模塊檢測到有版本更新時,則下載升級數(shù)據(jù),同時所述CRC校驗模塊對更新、升級數(shù)據(jù)進行CRC校驗。
[0033]如圖2所示,一種數(shù)字機頂盒的軟件升級方法,數(shù)字機頂盒包括軟件升級系統(tǒng),該系統(tǒng)包括機頂盒,機頂盒內(nèi)部具有機頂盒軟件模塊,所述機頂盒軟件模塊內(nèi)部將容易更新的軟件模塊制作成動態(tài)鏈接庫,所述機頂盒內(nèi)部設有與動態(tài)鏈接庫相配合的描述文件,所述機頂盒軟件模塊電通信連接有后臺線程監(jiān)控模塊,后臺線程監(jiān)控模塊還電通信連接有CRC校驗模塊;
[0034]其軟件升級方法如下:
[0035]a、機頂盒的機頂盒軟件模塊是基于Linux操作系統(tǒng),機頂盒軟件模塊內(nèi)部將容易更新的軟件模塊制作成動態(tài)鏈接庫,機頂盒軟件模塊啟動的同時加載動態(tài)鏈接庫;在機頂盒中對動態(tài)鏈接庫建立一個描述文件,該描述文件的描述信息有:動態(tài)鏈接庫名稱、所在路徑、庫ID號、版本信息;
[0036]請參加圖4,本發(fā)明在機頂盒中建立一個文件用來保存機頂盒軟件中可能需要升級的動態(tài)鏈接庫的相關信息:
[0037]名稱:機頂盒文件系統(tǒng)中動態(tài)鏈接庫的名稱,如sample_l.so
[0038]所在路徑:機頂盒文件系統(tǒng)中動態(tài)鏈接庫在文件系統(tǒng)中的路徑,如:/usr/lib/
[0039]ID號:給動態(tài)鏈接庫分配一個ID號,用以在區(qū)分每一個庫,也便于前端表格數(shù)據(jù)發(fā)送,如 ID 號為 0010 代表 /usr/lib/sample」.so
[0040]版本號:描述動態(tài)鏈接庫的當前版本。
[0041]b、在與機頂盒的數(shù)字電視前端建立一個私有描述表,該私有描述表的描述內(nèi)容包括:軟硬件版本號、機頂盒序列號范圍、動態(tài)鏈接庫ID和版本、升級頻點參數(shù)和升級數(shù)據(jù)PID, CRC校驗值等信息;
[0042]請參加圖5,本發(fā)明在數(shù)字電視前端建立一個私有描述表,該私有描述表主要描述信息有:
[0043]廠家ID或機頂盒型號ID:用以區(qū)分機頂盒廠家或機頂盒型號。
[0044]頻點參數(shù):用來下載升級數(shù)據(jù)的頻點參數(shù),頻點參數(shù)跟機頂盒類型有關,例如有線數(shù)字機頂盒的參數(shù)有頻率、符號率和調(diào)制方式。
[0045]起始序列號:升級機頂盒序列號的起始值
[0046]終止序列號:升級機頂盒序列號的終止值,與起始序列號一起用來控制升級機頂盒的范圍。
[0047]軟件版本號:機頂盒軟件版本號,注意與動態(tài)鏈接庫版本號區(qū)分開來。
[0048]硬件版本號:機頂盒硬件版本號。
[0049]動態(tài)鏈接庫個數(shù):需升級動態(tài)鏈接庫個數(shù),例如有N個動態(tài)鏈接庫需升級。
[0050]動態(tài)鏈接庫I的ID號:用來標識動態(tài)鏈接庫I。
[0051]動態(tài)鏈接庫I的版本號:動態(tài)鏈接庫I版本號。
[0052]動態(tài)鏈接庫I的升級數(shù)據(jù)PID:標識一路升級數(shù)據(jù),用于下載動態(tài)鏈接庫I。
[0053]......[0054]動態(tài)鏈接庫N的ID號:用來標識動態(tài)鏈接庫N。
[0055]動態(tài)鏈接庫N的版本號:動態(tài)鏈接庫N版本號。
[0056]動態(tài)鏈接庫N的升級數(shù)據(jù)PID:標識一路升級數(shù)據(jù),用于下載動態(tài)鏈接庫N。
[0057]C、機頂盒內(nèi)部的后臺線程監(jiān)控模塊在機頂盒開機時檢測機頂盒是否有版本更新,如果檢測到機頂盒的軟件版本號增加則分析對應庫ID號的動態(tài)鏈接庫版本是否更新,如果有更新則下載升級數(shù)據(jù);所述CRC校驗模塊對升級數(shù)據(jù)進行CRC校驗,校驗成功后備份對應庫ID號的動態(tài)鏈接庫,然后再刪除動態(tài)鏈接庫,將下載的升級數(shù)據(jù)拷貝到對應的路徑下,并修改動態(tài)鏈接庫的名稱和信息;
[0058]d、控制機頂盒重啟,加載完所有動態(tài)鏈接庫成功后,將備份的動態(tài)鏈接庫刪除,更新機頂盒所記錄的動態(tài)鏈接庫的版本號。
[0059]所述步驟c中的后臺線程監(jiān)控模塊檢測到的機頂盒版本更新信息傳輸至私有描述表并請求數(shù)字電視前端的私有描述表,私有描述表進行分析數(shù)據(jù),并與機頂盒的廠商ID和硬件版本號進行比較;如果兩者數(shù)據(jù)相等,則比較描述表與機頂盒中的軟件版本信息,如果機頂盒版本更新信息大于或等于機頂盒軟件版本信息,則動態(tài)鏈接庫根據(jù)動態(tài)鏈接庫ID號動態(tài)庫的版本號,并且進入步驟C1 ;如果機頂盒版本更新信息小于機頂盒軟件版本信息,則停止或重新開始步驟c ;
[0060]步驟C1:下載升級數(shù)據(jù)至機頂盒中,并保存升級數(shù)據(jù)進入步驟d。
[0061]如圖3所示,本發(fā)明的升級流程詳細如下:
[0062]在完成步驟C1的下載升級數(shù)據(jù)至機頂盒中,并保存升級數(shù)據(jù)后,CRC校驗模塊對升級數(shù)據(jù)進行CRC校驗,當校驗通過后,即將升級數(shù)據(jù)備份到動態(tài)鏈接庫中,然后將下載的升級數(shù)據(jù)寫入到機頂盒的文件之中,并重命名文件名稱,最后結束升級過程。
[0063]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【權利要求】
1.一種數(shù)字機頂盒的軟件升級系統(tǒng),包括機頂盒,機頂盒內(nèi)部具有機頂盒軟件模塊,其特征在于:所述機頂盒軟件模塊內(nèi)部將容易更新的軟件模塊制作成動態(tài)鏈接庫,所述機頂盒內(nèi)部設有與動態(tài)鏈接庫相配合的描述文件,所述機頂盒軟件模塊電通信連接有后臺線程監(jiān)控模塊,后臺線程監(jiān)控模塊還電通信連接有CRC校驗模塊; 所述描述文件用于記錄動態(tài)鏈接庫的名稱、所在路徑、庫ID號、版本信息; 所述后臺線程監(jiān)控模塊用于機頂盒開機時檢測是否有版本更新; 在后臺線程監(jiān)控模塊檢測到有版本更新時,則下載升級數(shù)據(jù),同時所述CRC校驗模塊對更新、升級數(shù)據(jù)進行CRC校驗。
2.一種數(shù)字機頂盒的軟件升級方法,其特征在于:數(shù)字機頂盒包括軟件升級系統(tǒng),該系統(tǒng)包括機頂盒,機頂盒內(nèi)部具有機頂盒軟件模塊,所述機頂盒軟件模塊內(nèi)部將容易更新的軟件模塊制作成動態(tài)鏈接庫,所述機頂盒內(nèi)部設有與動態(tài)鏈接庫相配合的描述文件,所述機頂盒軟件模塊電通信連接有后臺線程監(jiān)控模塊,后臺線程監(jiān)控模塊還電通信連接有CRC校驗模塊; 其軟件升級方法如下: a、機頂盒的機頂盒軟件模塊是基于Linux操作系統(tǒng),機頂盒軟件模塊內(nèi)部將容易更新的軟件模塊制作成動態(tài)鏈接庫,機頂盒軟件模塊啟動的同時加載動態(tài)鏈接庫;在機頂盒中對動態(tài)鏈接庫建立一個描述文件,該描述文件的描述信息有:動態(tài)鏈接庫名稱、所在路徑、庫ID號、版本信息; b、在與機頂盒的數(shù)字電視前端建立一個私有描述表,該私有描述表的描述內(nèi)容包括:軟硬件版本號、機頂盒序列號范圍、動態(tài)鏈接庫ID和版本、升級頻點參數(shù)和升級數(shù)據(jù)PID、CRC校驗值等信息; C、機頂盒內(nèi)部的后臺線程監(jiān)控模塊在機頂盒開機時檢測機頂盒是否有版本更新,如果檢測到機頂盒的軟件版本號增加則分析對應庫ID號的動態(tài)鏈接庫版本是否更新,如果有更新則下載升級數(shù)據(jù);所述CRC校驗模塊對升級數(shù)據(jù)進行CRC校驗,校驗成功后備份對應庫ID號的動態(tài)鏈接庫,然后再刪除動態(tài)鏈接庫,將下載的升級數(shù)據(jù)拷貝到對應的路徑下,并修改動態(tài)鏈接庫的名稱和信息; d、控制機頂盒重啟,加載完所有動態(tài)鏈接庫成功后,將備份的動態(tài)鏈接庫刪除,更新機頂盒所記錄的動態(tài)鏈接庫的版本號。
3.根據(jù)權利要求2所述的數(shù)字機頂盒的軟件升級方法,其特征在于:所述步驟c中的后臺線程監(jiān)控模塊檢測到的機頂盒版本更新信息傳輸至私有描述表并請求數(shù)字電視前端的私有描述表,私有描述表進行分析數(shù)據(jù),并與機頂盒的廠商ID和硬件版本號進行比較;如果兩者數(shù)據(jù)相等,則比較描述表與機頂盒中的軟件版本信息,如果機頂盒版本更新信息大于或等于機頂盒軟件版本信息,則動態(tài)鏈接庫根據(jù)動態(tài)鏈接庫ID號動態(tài)庫的版本號,并且進入步驟C1 ;如果機頂盒版本更新信息小于機頂盒軟件版本信息,則停止或重新開始步驟c; 步驟C1:下載升級數(shù)據(jù)至機頂盒中,并保存升級數(shù)據(jù)進入步驟d。
【文檔編號】H04N21/443GK104038819SQ201410238641
【公開日】2014年9月10日 申請日期:2014年5月30日 優(yōu)先權日:2014年5月30日
【發(fā)明者】胡華君, 魏建軍 申請人:四川長虹電器股份有限公司