曾浩+吳小朋+王敏
一、前言
在互聯網和寬帶網發展的過程中,出現了網絡電視(IPTV),它是互聯網業務和傳統電視業務融合后產生的新業務。它給消費者帶來的是集生活與信息于一體的網絡方式。IPTV 將是下一帶網絡中最重要的業務之一,也是人們信息化生活中的重要組成部分,對 IPTV 機頂盒的研究,可謂意義深遠。
在對機頂盒研究的過程中,升級系統是IPTV機頂盒軟件系統中較重要的功能模塊,升級系統性能的好壞不但直接影響用戶對產品的操作使用,也同時影響運營商對IPTV業務的運營和推廣。在系統的升級過程中,機頂盒的自修復機制對于保證其穩定性和可靠性至關重要。所謂機頂盒的自修復機制是指機頂盒在升級過程中遇到斷電、系統崩潰、出現壞塊等異常情況時自我修復系統,從而保證在不需要維護人員參與的情況下,仍能使用戶正常體驗IPTV業務的機制。
二、研究與分析
通過研究分析,目前用于機頂盒的自修復機制中,大致分為以下幾種策略:第一是Flash空間劃分大多采取主、備分區的方式,主分區存放包含升級功能和正常業務功能的系統,備份分區用于存放只包含升級功能的系統。這種方式的優點是當機頂盒斷電造成工作于主分區的系統崩潰時,從備份分區直接進入升級系統,恢復主系統。而且節省了Flash空間,一定程度上解決了機頂盒升級時斷電造成系統崩潰的問題,但是仍然存在不足。如果在對Flash進行多次擦寫后備份分區出現壞塊導致不可用時,只要斷電,整個系統就會崩潰,并且無法自我修復,用戶便無法正常體驗IPTV業務。第二種是將Flash從邏輯上劃分為引導區,升級分區,工作分區和備份分區。將系統引導信息存入引導區,將只具有升級功能的系統存放到升級分區,將包含升級功能和正常業務功能的系統存入工作分區,將升級成功后工作分區中的系統備份放入備份分區。然后重新設計引導加載程序,設計了一套新的自修復機制。其優點是Flash中三個分區的系統構成了一套完整的自修復機制,保證了各種情況下,機頂盒都能夠完成自動升級,并且保證了用戶能夠正常體驗IPTV業務;缺點是基于改進Flash劃分的新的Boot Loader的框架設計復雜繁瑣。第三中就是將Flash劃分為引導區、主分區和備份區,其中引導區包括引導加載程序和引導參數,主分區包括升級功能和業務功能,備份區包含升級功能。
綜上所述,通過分析研究,本課題采用主備分區的Flash分區方式以及一種斷電保護機制。傳統的升級是reboot recovery后進入recovery模式,確保/backup分區里存的是最近并且是可以正常升級成功的包。但是,若在刷系統的過程中斷電,系統只擦出一半,那么系統將不能啟動,也就不會進入/backup,所以需要一種斷電保護機制。其中,reboot recovery命令只是讓系統從recovery進入,但卻不會改變boot env中的值,這種斷電保護機制是將boot env中的值設置成包的路徑,那么下次檢測到這個值還是路徑,它就會進入recovery模式,直到升級成功后將env中的值清空。系統進入recovery后,將升級包復制寫入/backup分區,設置kt_key 的值為升級路徑,然后將升級包寫入系統。下圖是斷電保護機制的流程圖。
機頂盒終端啟動時,首先將引導區信息載入內存,并根據標志有效性的值判斷升級分區,工作分區和備份分區中的系統是否正常。使用中通常包括如下情形:
(1)當判斷出主分區中的系統正常時,使用該系統從升級服務器下載升級文件,進行正常的升級,如果升級過程中出現斷電情況,則啟動斷電保護機制,進行升級系統。(2)當判斷出主分區中的系統被破壞,而備份分區中的系統正常時,可以使用備份分區中的系統進行升級,如果升級過程中出現斷電情況,則啟動斷電保護機制,進行升級系統。(3)當判斷出主分區和升級分區中的系統都被破壞時,將系統恢復到被破壞之前的使用狀態,保證用戶的正常使用。
三、總結
從以上三種情況中可以看出,Flash中兩個分區的系統以及一種斷電保護機制構成了一套完整的自修復機制,保證了各種情況下,機頂盒都能夠完成自動升級,并且保證了用戶總能夠正常體驗IPTV業務,因此該自我修復機制具有高可靠性和高穩定性。通過對機頂盒正常升級時斷電,恢復供電后,查看系統能否正常開啟,能否重新升級,重新升級后,檢查機頂盒配置頁面中參數是否改變。測試結果表明,本升級方案很好地解決了機頂盒自我修復問題,同時廣大用戶對使用效果反映良好。
參 考 文 獻
[1]馮忠信,陳光等.機頂盒Flash分區信息丟失故障分析.中國有線電視,2011年09期
[2]鄭文靜,李明強,舒繼武.flash存儲技術,計算機研究與發展,2010年4期
[3]曾浩,呂華,王銘偉.IPTV機頂盒升級方案的設計與實現.電視設計.2010(05):54-56
[4]何寶宏,淺析IPTV的幾個關鍵問題,中國電信網,2005,8:10~14