專利名稱:一種軟件升級過程中節省存儲空間的方法、裝置及機頂盒的制作方法
技術領域:
本發明屬于數字機頂盒領域,尤其涉及一種軟件升級過程中節省存儲空間的方法、裝置及機頂盒。
背景技術:
隨著數字電視技術的發展和數字電視的推廣,越來越多的數字電視終端進入千家萬戶,而對于數字電視終端來說,升級是其必不可少的一個功能。現有技術中,軟件升級方法包括如下步驟1、用戶進入菜單選擇空中升級,用戶輸入特定頻點,啟動升級功能;2、在該特定頻點對應的碼流中,檢測是否有新版本的升級軟件;3、將新版本的升級軟件下載到本機的內存中;4、擦除舊版本的升級軟件,并將新版本的升級軟件寫入到FLASH中的升級軟件區。圖1為現有技術FLASH存儲區域示意圖,可見,在FLASH中除了存有升級軟件,還存有保護軟件。該保護軟件的用途為,當進行第4步時,舊版本的升級軟件已擦除,而新版本的升級軟件正在寫入,寫入過程通常需要幾分鐘,如在此時機頂盒突然斷電,因為新版本的升級軟件還不完整,機頂盒上電后無法正常啟動,所以保護軟件會運行,使機頂盒啟動升級功能,重新檢測、下載新版本的升級軟件,直到將它寫入FLASH中,機頂盒通過該新版本的升級軟件運行起來,完成本次升級。保護軟件僅在升級過程突然斷電的情況下使用,但是現有技術保護軟件始終保存在FLASH中,占用了一定的存儲空間。而FLASH的價格較貴,如果能節省一部分的存儲空間, 就可以保存一些更常用的軟件,節省出一塊FLASH,從而降低成本。從第1步驟中可見,機頂盒需要與用戶進行交互來啟動升級功能,即需要用戶按遙控器或按機頂盒前面板按鍵來觸發升級功能。用戶在看電視時,必須中斷畫面,進入到升級畫面,升級過程需要用戶等待,從而影響用戶的感官體驗。
發明內容
本發明要解決的技術問題是,在保證能正常進行軟件升級的情況下,節省FLASH 的存儲空間。為解決上述技術問題,本發明提出了一種軟件升級過程中節省存儲空間的方法, 包括A、啟動升級功能,檢測碼流中是否有新版本的升級軟件;B、當檢測到有新版本的升級軟件時,將新版本的升級軟件及保護軟件一起下載到內存中;C、將所述內存中的保護軟件存入所述FLASH中;D、將所述內存中新版本的升級軟件覆蓋FLASH中舊版本的升級軟件;
E、軟件升級完成后,將FLASH中的保護軟件刪除。另,本發明還提出了一種軟件升級過程中節省存儲空間的裝置,包括檢測模塊,用于檢測碼流中是否有新版本的升級軟件;下載模塊,用于當所述檢測模塊檢測到有新版本的升級軟件時,將新版本的升級軟件及保護軟件一起下載到內存中;保護軟件處理模塊,用于將所述內存中的保護軟件存入所述FLASH中,并用于在軟件升級完成后,將FLASH中的保護軟件刪除;升級軟件處理模塊,用于將所述內存中新版本的升級軟件覆蓋FLASH中舊版本的升級軟件。另,本發明還提出了一種包括上述軟件升級過程中節省存儲空間的裝置的機頂
品.ο綜上所述,本發明產生了如下技術效果1、保護軟件不占用固定的FLASH空間,因此機頂盒可以使用容量更小、更便宜的 FLASH,從而節省成本;2、機頂盒在待機模式下可自動進行軟件升級,不需要人機交互,從而不影響用戶的使用。
圖1為現有技術FLASH存儲區域示意圖;圖2為本發明方法流程圖;圖3為本發明升級軟件過程中FLASH存儲區域示意圖;圖4為本發明升級軟件完成后FLASH存儲區域示意圖;圖5為本發明保護軟件寫入FLASH過程中,斷電后的處理方法流程圖;圖6為本發明升級軟件寫入FLASH過程中,斷電后的處理方法流程圖;圖7為本發明將升級軟件寫入FLASH的用戶數據區的方法流程圖;圖8為本發明將內存中的用戶數據寫入FLASH的用戶數據區的示意圖;圖9為本發明裝置的結構框圖。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。如圖2、本發明提出了一種軟件升級過程中節省存儲空間的方法,包括A、啟動升級功能,檢測碼流中是否有新版本的升級軟件;B、當檢測到有新版本的升級軟件時,將新版本的升級軟件及保護軟件一起下載到內存中;C、將所述內存中的保護軟件存入所述FLASH中;D、將所述內存中新版本的升級軟件覆蓋FLASH中舊版本的升級軟件;E、軟件升級完成后,將FLASH中的保護軟件刪除。
5
在步驟A檢測碼流中是否有新版本的升級軟件,具體包括搜索所有的頻點,檢測所有的頻點對應的碼流中是否有新版本的升級軟件。圖3為本發明升級軟件過程中FLASH存儲區域示意圖,圖4為本發明升級軟件完成后FLASH存儲區域示意圖,可見,保護軟件最終不占用FLASH的物理空間,保護軟件被加載在廣播電視節目的碼流中。當機頂盒處于待機狀態時,會自動對DVB-T的所有頻點進行搜索,并檢測碼流中是否存在新版本的升級軟件,如果有,從碼流中將新版本的升級軟件及保護軟件兩種不同的二進制程序數據文件下載下來,將保護軟件寫入到FLASH的一塊空白區域中,軟件升級完成后,將FLASH中的保護軟件刪除,從而節省了 FLASH的存儲空間。下面描述在機頂盒突然斷電時,機頂盒的處理方法。如圖5所示,如果在進行C步驟的過程中,機頂盒突然斷電,則C之后還包括當機頂盒上電后,所述FLASH中舊版本的升級軟件控制機頂盒正常運行,當滿足啟動升級功能的條件時,跳轉到A繼續執行。所述啟動升級功能的條件為,機頂盒處于待機模式。機頂盒在待機模式下可自動進行軟件升級,不需要人機交互,從而不影響用戶的使用。機頂盒突然斷電,導致保護軟件還未寫入FLASH,當機頂盒重新處于待機模式時, 又會啟動升級功能,重新檢測、下載、寫入,完成軟件升級。如圖6所示,如果在進行D步驟的過程中,機頂盒突然斷電,則D之后還包括當機頂盒上電后,所述FLASH中保護軟件控制機頂盒跳轉到A繼續執行。機頂盒突然斷電,導致升級軟件還未寫入FLASH,但保護軟件已寫入,此時因為新版本的升級軟件還不完整,機頂盒上電后無法正常啟動,所以保護軟件會運行,使機頂盒啟動升級功能,重新檢測、下載新版本的升級軟件,直到將它寫入FLASH中,機頂盒通過該新版本的升級軟件運行起來,完成本次升級。以下結合具體實施例對本發明的實現進行詳細描述實施例一如圖7、圖8所示,所述步驟C具體包括將FLASH的用戶數據區中的用戶數據暫時轉移到內存中;將所述內存中的保護軟件存入所述FLASH的用戶數據區;所述步驟E具體包括軟件升級完成后,將FLASH中用戶數據區的保護軟件刪除,將內存中的所述用戶數據存入所述FLASH用戶數據區。該方法使得在沒有多余的FLASH空白區域時,同樣能實現在FLASH中暫存保護軟件,從而順利完成軟件升級。實施例二如圖9所示,本發明還提出了一種軟件升級過程中節省存儲空間的裝置,包括檢測模塊,用于檢測碼流中是否有新版本的升級軟件;下載模塊,用于當所述檢測模塊檢測到有新版本的升級軟件時,將新版本的升級軟件及保護軟件一起下載到內存中;保護軟件處理模塊,用于將所述內存中的保護軟件存入所述FLASH中,并用于在軟件升級完成后,將FLASH中的保護軟件刪除;升級軟件處理模塊,用于將所述內存中新版本的升級軟件覆蓋FLASH中舊版本的升級軟件。進一步地,所述保護軟件,用于在機頂盒突然斷電又上電后,啟動檢測模塊。
進一步地,所述裝置還包括用戶數據處理模塊,用于將FLASH的用戶數據區中的用戶數據暫時轉移到內存中,并用于當所述內存中新版本的升級軟件覆蓋FLASH中舊版本的升級軟件后,將內存中的所述用戶數據存入所述FLASH用戶數據區。實施例三該本發明還提出了一種包括上述軟件升級過程中節省存儲空間的裝置的機頂盒。由上可見,本發明方法和現有技術采用的方法主要區別點在于1、現有技術采用的方法中需在FLASH中保存一份保護軟件,占用FLASH的物理存儲空間;而本發明方法保護軟件從碼流中獲得。2、現有技術采用的方法中,對用戶數據不進行移動;而本發明方法,在空中升級過程中需對用戶數據進行備份及恢復。3、現有技術采用的方法中,廣播電視播放端播放的碼流中僅包含升級軟件;而本發明方法,廣播電視播放端播放的碼流中,包含保護軟件及升級軟件,當進行空中升級時, 需要將保護軟件及升級軟件同時打包到碼流中,從而在下載數據時,機頂盒可同時獲得保護軟件及升級軟件。所以,采用本發明方法,保護軟件不占用固定的FLASH空間,因此機頂盒可以使用容量更小、更便宜的FLASH,從而節省成本;機頂盒在待機模式下可自動進行軟件升級,不需要人機交互,從而不影響用戶的使用。以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種軟件升級過程中節省存儲空間的方法,其特征在于,包括A、啟動升級功能,檢測碼流中是否有新版本的升級軟件;B、當檢測到有新版本的升級軟件時,將新版本的升級軟件及保護軟件一起下載到內存中;C、將所述內存中的保護軟件存入所述FLASH中;D、將所述內存中新版本的升級軟件覆蓋FLASH中舊版本的升級軟件;E、軟件升級完成后,將FLASH中的保護軟件刪除。
2.如權利要求1所述軟件升級過程中節省存儲空間的方法,其特征在于,如果在進行C 步驟的過程中,機頂盒突然斷電,則C之后還包括當機頂盒上電后,所述FLASH中舊版本的升級軟件控制機頂盒正常運行,當滿足啟動升級功能的條件時,跳轉到A繼續執行。
3.如權利要求2所述軟件升級過程中節省存儲空間的方法,其特征在于,所述啟動升級功能的條件為,機頂盒處于待機模式。
4.如權利要求1所述軟件升級過程中節省存儲空間的方法,其特征在于,如果在進行D 步驟的過程中,機頂盒突然斷電,則D之后還包括當機頂盒上電后,所述FLASH中保護軟件控制機頂盒跳轉到A繼續執行。
5.如權利要求1所述軟件升級過程中節省存儲空間的方法,其特征在于,所述步驟C具體包括將FLASH的用戶數據區中的用戶數據暫時轉移到內存中;將所述內存中的保護軟件存入所述FLASH的用戶數據區;所述步驟E具體包括軟件升級完成后,將FLASH中用戶數據區的保護軟件刪除,將內存中的所述用戶數據存入所述FLASH用戶數據區。
6.如權利要求1所述軟件升級過程中節省存儲空間的方法,其特征在于,所述步驟A檢測碼流中是否有新版本的升級軟件,具體包括搜索所有的頻點,檢測所有的頻點對應的碼流中是否有新版本的升級軟件。
7.一種軟件升級過程中節省存儲空間的裝置,其特征在于,包括檢測模塊,用于檢測碼流中是否有新版本的升級軟件;下載模塊,用于當所述檢測模塊檢測到有新版本的升級軟件時,將新版本的升級軟件及保護軟件一起下載到內存中;保護軟件處理模塊,用于將所述內存中的保護軟件存入所述FLASH中,并用于在軟件升級完成后,將FLASH中的保護軟件刪除;升級軟件處理模塊,用于將所述內存中新版本的升級軟件覆蓋FLASH中舊版本的升級軟件。
8.如權利要求7所述節省存儲空間的裝置,其特征在于,所述保護軟件,用于在機頂盒突然斷電又上電后,啟動檢測模塊。
9.如權利要求7所述節省存儲空間的裝置,其特征在于,所述裝置還包括用戶數據處理模塊,用于將FLASH的用戶數據區中的用戶數據暫時轉移到內存中,并用于當所述內存中新版本的升級軟件覆蓋FLASH中舊版本的升級軟件后,將內存中的所述用戶數據存入所述FLASH用戶數據區。
10. 一種機頂盒,其特征在于,所述機頂盒包括如權利要求7-9任一項所述節省存儲空間的裝置。
全文摘要
本發明屬于數字機頂盒領域,尤其涉及一種軟件升級過程中節省存儲空間的方法、裝置及機頂盒,本發明節省存儲空間的方法,包括啟動升級功能,檢測碼流中是否有新版本的升級軟件;當檢測到有新版本的升級軟件時,將新版本的升級軟件及保護軟件一起下載到內存中;將所述內存中的保護軟件存入所述FLASH中;將所述內存中新版本的升級軟件覆蓋FLASH中舊版本的升級軟件;軟件升級完成后,將FLASH中的保護軟件刪除。采用本發明,保護軟件不占用固定的FLASH空間,因此機頂盒可以使用容量更小、更便宜的FLASH,從而節省成本。
文檔編號G06F9/445GK102262554SQ201110226000
公開日2011年11月30日 申請日期2011年8月5日 優先權日2011年8月5日
發明者付琪琳 申請人:深圳市九洲電器有限公司