專利名稱:一種基于數字電視終端中間件的數據管理方法及裝置的制作方法
技術領域:
本發明涉及數字電視中間件技術領域,尤其涉及一種基于數字電視終端中間件的數據管理方法及裝置。
背景技術:
中間件是指居于數字電視終端的實時操作系統與應用程序中間的軟件部分,中間件的目的是使機頂盒的基本和通用功能以API (ApplicationProgramming Interface,應用程序編程接口)的形式提供給數字電視終端生產廠家,以實現數字電視交互功能的標準化,同時使服務項目(以應用程序的形式通過傳輸信道)下載到數字電視終端的數據量減到最小,中間件對于數字電視終端的進一步簡化和標準化都是非常有利的。本文中,“數字電視終端”是一個寬泛的概念,是指位于數字電視系統中面向用戶的終端,例如,機頂盒,或者集成了機頂盒功能的數字電視等。網絡融合的趨勢下,新一代的電視產業的終端(如雙向互動數字機頂盒、互聯網電視或智能電視)不僅僅是再單向的接收推送過來的信息,更可以主動的完成于運營平臺的交互,就如手機上的應用商城一樣,可以不斷從運營平臺通過網絡下載訂購新增的業務或者應用。現今具有終端平臺無關性的中間件,即是為了屏蔽和運營平臺交互的協議細節, 搭載應用運行所需的引擎,從而可以使設備提供商更快的利用中間件完成與運營平臺的對接,使應用開發者獲取通過中間件和運營平臺獲取更豐厚的回報,使電視運營商更低成本的部署,積攢更多的用戶。而作為滿足上述功能的關鍵軟件部分中間件,其內置在非便攜設備中,需要能夠穩定的運行,可靠的升級,從而可以不斷的豐富自身的功能,做到高擴展性。現有技術中還未有針對中間件特性進行升級等數據處理的方案。
發明內容
本發明實施例提供一種基于數字電視終端中間件的數據管理方法及裝置,從而根據中間件特性對中間件進行有針對性的數據管理。為此,本發明實施例采用如下技術方案—種基于數字電視終端中間件的數據管理方法,包括以下步驟判斷數字電視終端的中間件的獨立性;如果所述中間件獨立,則單獨針對所述中間件進行數據備份或軟件升級;如果所述中間件不獨立,則對整機軟件進行數據備份或軟件升級過程中,同時完成對所述中間件的數據備份或軟件升級。其中,在單獨針對所述中間件進行數據備份或軟件升級之后,還包括步驟調用中間件與數字電視整機軟件之間的接口,對整機軟件進行數據備份或軟件升級。其中,所述判斷數字電視終端的中間件的獨立性的過程為在啟動所述數字電視終端時,讀取數字電視終端的系統參數中的中間件獨立性標識,從而確定中間件是否獨立。其中,所述對所述中間件進行數據備份或升級的過程為通過調用底層接口確定是否需要對中間件進行數據備份,如果需要,則優先執行數據備份過程,如果不需要,才執行軟件升級過程。其中,所述對所述中間件進行數據備份的過程為基于中間件的當前主通道和至少一個備份通道,將主通道中的信息拷貝到至少一個備份通道上。其中,所述軟件升級的過程為服務器執行軟件版本檢測,當確定有比當前中間件或者整機軟件更新版本的軟件時,將最新軟件的信息發送給數字電視終端進行中間件或整機軟件的更新。一種基于數字電視終端中間件的數據管理裝置,包括中間件獨立性判斷單元,用于判斷數字電視終端的中間件的獨立性;數據管理單元,用于根據所述中間件獨立性對中間件的數據進行管理,其中,如果所述中間件獨立,則單獨針對所述中間件進行數據備份或軟件升級;如果所述中間件不獨立,則對整機軟件進行數據備份或軟件升級過程中,同時完成對所述中間件的數據備份或軟件升級。其中,所述數據管理單元,在中間件獨立時,在單獨針對所述中間件進行數據備份或軟件升級后,進一步調用中間件與數字電視整機軟件之間的接口,對整機軟件進行數據備份或軟件升級。其中,所述中間件獨立性判斷單元,通過在啟動所述數字電視終端時,讀取數字電視終端的系統參數中的中間件獨立性標識,來確定中間件的獨立性。其中,所述數據管理單元還用于對中間件的數據備份和軟件升級的執行順序進行控制,其中,當通過調用底層接口確定需要對中間件進行數據備份時,優先執行數據備份過程,否則,才執行軟件升級過程。可見,本發明方案采用的是統一的升級和備份框架,兼顧了中間件是否具有獨立性兩種情況,加大了中間件所處終端軟件架構中的位置的靈活性,滿足了中間件獨立時的安全穩定性,并提供了整機軟件升級機制,并可以使整機軟件通過中間件和運營平臺交互, 完成自身的升級,可解決現今中間件的升級以及整機軟件升級的技術問題。
圖1為本發明基于數字電視終端中間件的數據管理方法的流程圖;圖2為本發明中間件和整機軟件存儲的結構示意圖;圖3為本發明中間件所在數字電視終端和運營平臺交互示意圖;圖4為本發明中間件的數據管理的主要流程圖。
具體實施例方式本發明設計目的為根據中間件特性,適配中間件與整機軟件的融合模式,提供與運營平臺交互的數字電視終端中間件的數據管理方案,確保其可以穩定、安全地運行,其中,數據管理是指軟件升級或數據備份等操作。另外,本發明提供的方案中,還包括了數字電視終端整機軟件的管理流程,如果整機軟件需要升級,遵照升級方案中的升級框架,完成相應接口的實現,即可實現整機軟件升級,其中,整機軟件是中間件除外,終端中其他需要升級的軟件部分的總稱。中間件獨立性指的是,中間件僅可獲取自身所處的存儲路徑,并擁有對此路徑的控制權,即中間件可自行安排此路徑下自身文件的部署,而除了一套移植層接口,整機軟件及其運行機制對于中間件是完全不可見的。具有獨立性的中間件通過自身存儲及運行機制來保證穩定運行并可安全升級。當整機軟件及運行機制對中間件完全開放或者部分開放時,中間件可以融入到整機軟件之中,此時中間件非獨立,其升級則依靠整機軟件自身的機制來確保。本發明中的升級方案,兼顧了中間件獨立和非獨立時不同的升級方式,適配了中間件和整機軟件不同的融合形式,為中間件開發者在移植到新終端時提供更大的靈活性, 中間件開發者可以自身的角色來選擇融合形式,并可靈活的根據需要布置中間件在終端存儲設備中的位置。參見圖1,為本發明基于數字電視終端中間件的數據管理方法的流程圖,包括SlOl 判斷數字電視終端的中間件的獨立性;S102 如果中間件獨立,則單獨針對中間件進行數據備份或軟件升級;S103 如果中間件不獨立,則對整機軟件進行數據備份或軟件升級過程中,同時完成對中間件的數據備份或軟件升級。關于獨立性的判別過程為在啟動所述數字電視終端時,讀取數字電視終端的系統參數中的中間件獨立性標識,從而確定中間件是否獨立。例如,可通過系統參數root_ path的值來判斷,為空,則表明不具有獨立性,不為空,則指明中間件的存儲目錄。優選地,在S102之后還可進一步執行步驟調用中間件與數字電視整機軟件之間的接口,對整機軟件進行數據備份或軟件升級。從而通過中間件和運營平臺交互,完成整機軟件的升級。可見,本發明提供一種完善的基于中間件的數據處理方案,該方案充分考慮到中間件與終端平臺軟件的融合方式,適配了軟件間的融合方式,從而為中間件的植入提供了更高的靈活性,適用于各種融合方式下的中間件植入。因中間件會為了修復BUG及增添新的功能而不斷升級,故保證中間件可以穩定、正常地升級是十分重要的,而整機軟件的升級,是通過調用移植層接口來是實現的,其安全穩定型由整機軟件提供者保證。下面通過具體實施例對本發明進行詳細介紹。首先,明確中間件與整機軟件的融合形式,當整機軟件及運行機制對中間件完全開放或者部分開放時,中間件可以放棄獨立性,而選擇融入到整機軟件之中。而對于整機軟件完全是黑盒子的情形,則只能采用使中間件具有獨立性,運行依賴于整機軟件提供的一套接口。這取決于開發者及開發形式。中間件的開發者和整機軟件的開發者在有的實際產品中可能是分開的,也可能是同一批開發者身兼二職。有的情況是整機軟件僅需接入到運營平臺,其自身將提供更個性的功能,有的情況則是利用中間件與整機軟件更好的融合性, 更多的依賴中間件的框架訂制更豐富的功能。如中間件具有獨立性,則僅需要終端設備提供足夠的存儲空間來保存中間件軟件,中間件在其具有權限的路徑下以目錄形式實現至少兩個通道,同時,通過非易失性存儲設備保存和更新通道狀態(如EEPR0M)。如圖2所示為中間件和整機軟件存儲的結構,圖中,a部分表示非獨立中間件與整機軟件結構,b部分表示獨立中間件與整機軟件結構。如圖3所示,為數字電視終端與運營平臺交互對中間件進行數據管理的示意圖,圖3中,中間件所在數字電視終端可包括OAM(OperationAdministration and Maintenance,操作管理維護)模塊、啟動進程(STARTUP)模塊、接口模塊、核心服務模塊、設備移植模塊、OSAL(Operating SystemAbstraction Layer,操作系統抽象層)任務模塊以及 HAL (Hardware AbstractionLayer,硬件抽象層)存儲更新模塊等。對中間件的數據管理, 除了包括從運營平臺的服務器端下載新版本并完成本地更新的過程外,還需要在異常情況下,確保自身的穩定運行。故而數據管理至少提供一個升級和備份框架,從而屏蔽整機軟件部分的數目和下載位置,軟件存儲形式及整機軟件升級過程的狀態變更的細節,要求移植層提供所需的升級和備份接口,通過調用相應的接口,來完成整機軟件的升級和備份。同時升級框架在需要時維護著中間件的啟動狀態及版本信息,可以確保自身在出現異常情況時恢復到正常狀態,并可選擇實現中間件自身通過網絡完成升級。本發明的數據管理方案,創新之一就在于適配了中間件在整機軟件中位置,可自身維護升級狀態,可化為整機軟件的一部分實現升級,從而提高了對終端設備的適應性,在移植時更具靈活性,給開發者提供了更多的選擇。一、具有獨立性的中間件的數據管理方案此時,中間件擁有對自身部署的控制權限,首先單獨對中間件進行數據管理,然后,可進一步對整機軟件進行管理。(1)單獨對中間件進行數據管理單獨升級中間件可以確保中間件在整機軟件不具備升級條件或升級失敗時依然能夠進入到最新版本,從而獲取更豐富的功能和用戶體驗。中間件的數據管理方案的主要流程如圖4所示。S401 啟動后,判斷中間件是否需要備份?如果需要,執行S402的備份流程,否則,執行S403的升級流程。具體地,可通過調用底層接口來確定是否需要備份中間件信息。可見,對中間件進行數據管理的原則為優先執行數據備份過程,在不需要備份的情況下才執行軟件升級過程。升級和備份流程不會在同一次啟動中進行,簡化了對運行狀態的處理。(1. 1)備份流程中間件采用雙通道(或多通道)來保證自身正常運行,在安裝目錄下會存在兩個通道A和B來存儲中間件,A作為主通道,而B作為備份通道,通過啟動進程維護通道啟動狀態的狀態機來實現中間件升級和本地通道間的備份(同步)。備份的過程即是一個通道的數據復制到另一個通道的過程。一個具體實現例子如下中間件軟件若存于DEST分區,采取目錄形式的雙備份A通道目錄名為osA ;B通道目錄名為osB。入口為boot可執行文件,boot不參與升級,為固定的啟動代碼,其根據啟動標志決定中間件從哪個目錄啟動。由boot決定啟動哪個通道中啟動腳本,通過腳本將整個中間件啟動起來。安裝軟件時,先將軟件包下載至臨時存儲位置,并校驗。修改通道標志為“寫操作”,隨后將osB目錄下所有內容刪除,備份;將軟件包解壓到osB目錄,備份;修改通道標志為“未驗證”,刪除下載的軟件包。在中間件啟動之前,由boot判斷相關的啟動標志來決定啟動哪個通道的軟件。
啟動標志共三個。需確保安全存儲DpathAorB 從哪個通道啟動,1為A,2為B ;2)updateA =A通道標志,6正常;1寫操作;2未驗證;3失敗;3)updateB =B通道標志,6正常;1寫操作;2未驗證;3失敗。備份流程主要遵循的原則如下1)備份動作優先于升級動作,每次啟動只進行一個動作;2)A通道啟動時,可觸發升級動作;3)如未啟動通道狀態不正常,觸發備份動作。(1.2)升級流程軟件升級的過程為運營平臺中的服務器執行軟件版本檢測過程,當檢測到比當前軟件更新版本的軟件時,將最新軟件的信息發送給數字電視終端進行軟件更新。本領域技術人員了解,整個終端具有統一命名規則的版本號,亦可稱為大版本號, 對應于每一個軟件部分,不管是整機軟件還是中間件自身,均有自身的版本號,亦可稱為小版本號。在服務器版本檢測的過程中,會將終端的大版本號上報,同時接收到服務器端傳回的版本號,如兩版本號不同,則代表有升級需求,此時,終端還需下載整個升級軟件列表,以供后續升級動作中,各軟件部分升級所需。當中間件獨立時,可升級中間件并更新其小版本號,通道狀態。升級流程遵循下述幾條原則1)從通道A啟動成功后,才開始進行升級動作,即通道B始終作為新版本的試用通道;2)備份動作優先于升級動作,每次啟動只完成備份或升級;3)兩通道標志均為“正常”時,優先啟動通道A ;4)處于未驗證的通道優先于“正常”通道啟動,啟動前置標志為“失敗”;5) “正常通道”啟動前,將要啟動的通道標志設置為“失敗”;6)任一通道啟動失敗一次,切換到另一通道啟動;7)兩通道標志均為“失敗”后,輪流啟動兩通道;8)啟動前,規范兩標志位,如不屬于所使用的值,則置為“失敗”;9)啟動成功后,將啟動通道的標志置為“正常”。(2)對整機軟件的數據管理在單獨對中間件進行備份或升級后,可進一步調用接口升級整機軟件,并觸發相應整機軟件狀態信息的更改,從而完成備份或者升級。具體過程和原則可參見上述對中間件的數據管理。二、中間件不具有獨立性的數據管理方案此時,中間件融合在整機軟件之中,中間件自身的數據管理包括在整機軟件數據管理接口內部,數據管理過程遵循整機軟件的整體框架,只是不再單獨針對中間件進行中間件的升級、備份以及狀態維護動作。不具有獨立性的中間件,升級過程如同其他的整機軟件部分,均通過底層接口自行維護其運行信息。在整機軟件的升級包中,包含了中間件的所有內容。此時,很適合整機軟件開發時,已確定好了軟件架構和異常狀態保護,可以方便嵌入中間件作為其中的一個部分。
需要說明的是,當升級整機軟件時,首先需要獲取本地軟件信息,包括軟件序號、 版本號、升級順序和軟件包下載路徑(全路徑+文件名)等。對比服務器上軟件部分的版本號,可以決定是否升級對應的軟件部分,此時需注意兩點,首先,當中間件獨立時,中間件將作為第一個軟件部分,各整機軟件部分的序號需加1,再則當軟件包下載路徑為空時,表明此時不具備下載軟件包的存儲環境,需返回相應的錯誤,具體錯誤提示信息,可訂制。其次, 當所有需升級的軟件部分升級完畢后,更新大版本號,此更新動作受底層控制,最后更新啟動狀態參數,因升級后可能存在軟件下次啟動時啟動狀態的變更,通過此接口,滿足潛在的需求,完善整個升級流程。由上述可知,中間件升級將對移植層提出下列幾個功能要求1)獲取整機軟件信息,包括軟件部分數據、對應與運營平臺的軟件序號、下載路徑、升級順序和當前版本;2)給定軟件包位置,相應的整機軟件部分升級實現;3)獲取和更新終端的大版本號;4)整機軟件啟動狀態更新,包括正常啟動、開始升級、結束升級、開始備份和結束備份這幾個狀態;5)整機軟件的備份判斷和實現。與上述方法相對應,本發明還提供一種基于數字電視終端中間件的數據管理裝置,具體地,該裝置可以是指數字電視終端,也可以是指數字電視終端中的功能實體,只要能完成該裝置的功能即可,在實現方式上,可通過硬件、軟件或軟硬件結合實現。該裝置至少包括中間件獨立性判斷單元和數據管理單元,其中中間件獨立性判斷單元,用于判斷數字電視終端的中間件的獨立性;數據管理單元,用于根據中間件獨立性對中間件的數據進行管理,其中,如果中間件獨立,則單獨針對中間件進行數據備份或軟件升級;如果中間件不獨立,則對整機軟件進行數據備份或軟件升級過程中,同時完成對中間件的數據備份或軟件升級。優選地,在中間件獨立時,數據管理單元在單獨針對所述中間件進行數據備份或軟件升級后,進一步調用中間件與數字電視整機軟件之間的接口,對整機軟件進行數據備份或軟件升級。具體地,中間件獨立性判斷單元的工作過程是,通過在啟動所述數字電視終端時, 讀取數字電視終端的系統參數中的中間件獨立性標識,來確定中間件的獨立性。優選地,數據管理單元還用于對中間件的數據備份和軟件升級的執行順序進行控制,其中,當通過調用底層接口確定需要對中間件進行數據備份時,優先執行數據備份過程,否則,才執行軟件升級過程。可見,本發明方案采用的是統一的升級和備份框架,兼顧了中間件是否具有獨立性兩種情況,加大了中間件所處終端軟件架構中的位置的靈活性,滿足了中間件獨立時的安全穩定性,并提供了整機軟件升級機制,并可以使整機軟件通過中間件和運營平臺交互, 完成自身的升級,可解決現今中間件的升級以及整機軟件升級的技術問題。以上所述僅是本發明的優選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護范圍。
權利要求
1.一種基于數字電視終端中間件的數據管理方法,其特征在于,包括判斷數字電視終端的中間件的獨立性;如果所述中間件獨立,則單獨針對所述中間件進行數據備份或軟件升級;如果所述中間件不獨立,則對整機軟件進行數據備份或軟件升級過程中,同時完成對所述中間件的數據備份或軟件升級。
2.根據權利要求1所述方法,其特征在于,在單獨針對所述中間件進行數據備份或軟件升級之后,還包括調用中間件與數字電視整機軟件之間的接口,對整機軟件進行數據備份或軟件升級。
3.根據權利要求1所述方法,其特征在于,所述判斷數字電視終端的中間件的獨立性的過程為在啟動所述數字電視終端時,讀取數字電視終端的系統參數中的中間件獨立性標識, 從而確定中間件是否獨立。
4.根據權利要求1、2或3所述方法,其特征在于,所述對所述中間件進行數據備份或升級的過程為通過調用底層接口確定是否需要對中間件進行數據備份,如果需要,則優先執行數據備份過程,如果不需要,才執行軟件升級過程。
5.根據權利要求4所述方法,其特征在于,所述對所述中間件進行數據備份的過程為基于中間件的當前主通道和至少一個備份通道,將主通道中的信息拷貝到至少一個備份通道上。
6.根據權利要求4所述方法,其特征在于,所述軟件升級的過程為服務器執行軟件版本檢測,當確定有比當前中間件或者整機軟件更新版本的軟件時, 將最新軟件的信息發送給數字電視終端進行中間件或整機軟件的更新。
7.一種基于數字電視終端中間件的數據管理裝置,其特征在于,包括中間件獨立性判斷單元,用于判斷數字電視終端的中間件的獨立性;數據管理單元,用于根據所述中間件獨立性對中間件的數據進行管理,其中,如果所述中間件獨立,則單獨針對所述中間件進行數據備份或軟件升級;如果所述中間件不獨立,則對整機軟件進行數據備份或軟件升級過程中,同時完成對所述中間件的數據備份或軟件升級。
8.根據權利要求7所述裝置,其特征在于,所述數據管理單元,在中間件獨立時,在單獨針對所述中間件進行數據備份或軟件升級后,進一步調用中間件與數字電視整機軟件之間的接口,對整機軟件進行數據備份或軟件升級。
9.根據權利要求7所述裝置,其特征在于,所述中間件獨立性判斷單元,通過在啟動所述數字電視終端時,讀取數字電視終端的系統參數中的中間件獨立性標識,來確定中間件的獨立性。
10.根據權利要求7、8或9所述裝置,其特征在于,所述數據管理單元還用于對中間件的數據備份和軟件升級的執行順序進行控制,其中,當通過調用底層接口確定需要對中間件進行數據備份時,優先執行數據備份過程,否則,才執行軟件升級過程。
全文摘要
本發明公開了一種基于數字電視終端中間件的數據管理方法及裝置,其中的方法包括判斷數字電視終端的中間件的獨立性;如果所述中間件獨立,則單獨針對所述中間件進行數據備份或軟件升級;如果所述中間件不獨立,則對整機軟件進行數據備份或軟件升級過程中,同時完成對所述中間件的數據備份或軟件升級。通過本發明,可解決現今中間件的升級以及整機軟件升級的技術問題,采用的是統一的升級和備份框架,兼顧了中間件是否具有獨立性兩種情況,加大了中間件所處終端軟件架構中的位置的靈活性,滿足了中間件獨立時的安全穩定性,并提供了整機軟件升級機制,并可以使整機軟件通過中間件和運營平臺交互,完成自身的升級。
文檔編號H04N21/43GK102164314SQ20111003261
公開日2011年8月24日 申請日期2011年1月30日 優先權日2011年1月30日
發明者李鑫 申請人:青島海信傳媒網絡技術有限公司