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