專利名稱:一種雙向機頂盒的大網(wǎng)升級方法
一種雙向機頂盒的大網(wǎng)升級方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種機頂盒的升級方法。背景技術(shù):
近年來,隨著有線數(shù)字電視的推廣,有線數(shù)字電視機頂盒逐漸走進千家萬戶。但是機頂盒的需求可以說是日新月異,別說幾年前的機頂盒,就是上半年的機頂盒和下半年的需求相差也會非常的大,因此大網(wǎng)升級的方法目前被廣電廣泛使用。然而大網(wǎng)升級的升級應(yīng)用可以使得用戶手中的機頂盒能夠跟著需求的步伐前進,但是大網(wǎng)升級也容易出現(xiàn)問題,導致部分機頂盒升級失敗或者在大網(wǎng)升級的時候從未開機,等開機后大網(wǎng)信號已經(jīng)停止了升級信息等等情況。像目前出現(xiàn)升級問題一般都是由廣電或者機頂盒廠家派工程師上門進行手動升級,由于升級出現(xiàn)問題的地域不確定性,即使一個大網(wǎng)幾萬臺盒子只要幾百臺出現(xiàn)問題,可能由于分布廣而分散,也要花費大量的人力物力去解決這個問題,而且對廣電乃至機頂盒廠家的信譽也會造成不良影響。
發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題,在于提供一種雙向機頂盒的大網(wǎng)升級方法,它能夠?qū)崿F(xiàn)機頂盒自動在網(wǎng)絡(luò)中找到最新的應(yīng)用程序并升級自身軟件,節(jié)省了維護成本。本發(fā)明是這樣實現(xiàn)的一種雙向機頂盒的大網(wǎng)升級方法,其特征在于具體包括如下步驟步驟10、機頂盒開機后進入loader程序,檢驗自己的應(yīng)用程序是否正常,若異常則進入步驟20,若正常則繼續(xù)檢測所在子網(wǎng)中的其它機頂盒是否存在高版本號應(yīng)用程序的標識,若存在,則根據(jù)用戶選擇進入步驟20或者步驟30,若不存在,則直接進入步驟30 ;步驟20、機頂盒搜索到所在子網(wǎng)中在線的其它機頂盒,向其發(fā)送獲取應(yīng)用程序版本號的請求,得到其應(yīng)用程序版本號后與自己的應(yīng)用程序版本號進行比較,若不高于自己的應(yīng)用程序版本號,則繼續(xù)搜索下一臺在線機頂盒,若高于自己的應(yīng)用程序版本號,則發(fā)送獲取應(yīng)用程序數(shù)據(jù)的請求,收到其應(yīng)用程序數(shù)據(jù)后,寫入自己FLASH中的應(yīng)用程序,若升級失敗,則繼續(xù)搜索下一臺在線機頂盒,若升級成功,進入步驟30 ;步驟30、機頂盒正常啟動應(yīng)用程序,應(yīng)用程序中創(chuàng)建網(wǎng)絡(luò)互助線程,所述網(wǎng)絡(luò)互助線程用于響應(yīng)步驟20中其它機頂盒發(fā)送的獲取應(yīng)用程序版本號的請求、獲取應(yīng)用程序數(shù)據(jù)的請求。進一步的,所述步驟30中的網(wǎng)絡(luò)互助線程具體包括如下步驟步驟301 機頂盒根據(jù)自己的IP地址獲取所在子網(wǎng)段;步驟302 機頂盒搜索所在子網(wǎng)段內(nèi)的其它機頂盒,并判斷其是否在線,若在線, 則發(fā)送獲取其應(yīng)用程序版本號的請求,將得到的應(yīng)用程序版本號與自己的應(yīng)用程序版本號進行比較,若不高于自己的應(yīng)用程序版本號,則繼續(xù)搜索下一臺在線機頂盒,直到整個子網(wǎng)遍歷完成,若高于自己的應(yīng)用程序版本號,則將該應(yīng)用程序版本號進行標識,并跳出遍歷, 下次機頂盒開機的時候直接按照該應(yīng)用程序版本號進行升級;步驟303 機頂盒檢測是否有其它機頂盒發(fā)出的獲取應(yīng)用程序版本號的請求,若有,則將自身的應(yīng)用程序版本號發(fā)送給對方,若沒有,則進入步驟304 ;步驟304 機頂盒檢測是否有其它機頂盒發(fā)出的獲取應(yīng)用程序數(shù)據(jù)的請求,若有, 則將自身的應(yīng)用程序數(shù)據(jù)從Flash中讀取出來發(fā)送給對方,若沒有,則將網(wǎng)絡(luò)互助線程休眠后,再執(zhí)行步驟303。進一步的,所述機頂盒檢驗自己的應(yīng)用程序是否正常的時候,具體包括檢驗跳轉(zhuǎn)次數(shù)是否大于等于三,若是,則說明應(yīng)用程序已經(jīng)破壞,若不是,則說明應(yīng)用程序正常;且, 當機頂盒跳轉(zhuǎn)到應(yīng)用程序之前,將跳轉(zhuǎn)次數(shù)加一,當機頂盒正常啟動應(yīng)用程序之后,將跳轉(zhuǎn)次數(shù)清零。進一步的,所述步驟20以及步驟302中,所述機頂盒在搜索所在子網(wǎng)中在線的其它機頂盒的時候,是按照機頂盒的IP地址由小到大進行搜索。本發(fā)明具有如下優(yōu)點本發(fā)明提供了一種雙向機頂盒的大網(wǎng)升級方法,在loader以及在應(yīng)用程序中加入網(wǎng)絡(luò)通信功能,使得升級失敗的機頂盒能夠在loader中與升級成功的機頂盒進行通信, 升級成功的機頂盒當收到升級失敗的機頂盒在loader中發(fā)出的請求時,將自己的應(yīng)用程序從Flash中讀取出來并通過網(wǎng)絡(luò)發(fā)送給對方。當升級失敗的機頂盒收到自己發(fā)出去請求的回應(yīng)時,將收到的應(yīng)用程序數(shù)據(jù)寫入對應(yīng)的Flash地址中,因此利用機頂盒的雙向功能, 使得大網(wǎng)中的機頂盒都能互相通信,從而使升級成功的機頂盒能夠通過網(wǎng)絡(luò)將升級信息傳遞給未升級或者升級失敗的機頂盒,使的這些機頂盒能夠升級正常;本發(fā)明使廣電在播發(fā)升級碼流時不需要考慮大概要播發(fā)多長時間才能升級完成所有機頂盒,在升級過程中如果升級碼流停播,用戶停電或者信號異常等情況導致其無法完成升級的情況時,用戶只要再次打開機頂盒,機頂盒會自動在網(wǎng)絡(luò)中找到最新的應(yīng)用程序并升級自身軟件,而不需要廣電或機頂盒廠家工程師上門去手動升級解決問題,這在分布范圍較廣而用戶數(shù)量龐大的大網(wǎng)升級中有很大的現(xiàn)實意義,能夠節(jié)省維護成本。
下面參照附圖結(jié)合實施例對本發(fā)明作進一步的說明。圖1為本發(fā)明機頂盒在loader程序的流程示意圖。圖2為本發(fā)明機頂盒在網(wǎng)絡(luò)升級模式的流程示意圖。圖3為本發(fā)明機頂盒在網(wǎng)絡(luò)互助線程中的流程示意圖。
具體實施方式請參閱圖1至圖3所示,對本發(fā)明的實施例進行詳細的說明。一種雙向機頂盒的大網(wǎng)升級方法,具體包括如下步驟步驟10 參閱圖1所示,機頂盒開機后,首先進入loader程序,開始檢驗跳轉(zhuǎn)次數(shù)是否大于等于三,若是,則說明應(yīng)用程序已經(jīng)破壞,直接進入網(wǎng)絡(luò)協(xié)助升級模式;若不是,則說明應(yīng)用程序正常,繼續(xù)檢測所在子網(wǎng)中的其它機頂盒是否存在高版本號應(yīng)用程序,若存在,則彈出提示框提示用戶是否升級,如果用戶選擇升級,則進入網(wǎng)絡(luò)協(xié)助升級模式,如果用戶選擇否或者10秒內(nèi)無動作,則表示不升級,將跳轉(zhuǎn)次數(shù)加一后,直接跳轉(zhuǎn)到應(yīng)用程序進行正常開機。步驟20 請參閱圖2所示,進入網(wǎng)絡(luò)升級模式后,機頂盒搜索到所在子網(wǎng)中在線的其它機頂盒,搜索的時候按照機頂盒的IP地址由小到大進行搜索。找到后,向其發(fā)送獲取應(yīng)用程序版本號的請求,得到其應(yīng)用程序版本號后與自己的應(yīng)用程序版本號進行比較, 若比自己的應(yīng)用程序版本號一樣或者更低的話,則繼續(xù)搜索下一臺在線機頂盒,若高于自己的應(yīng)用程序版本號,則發(fā)送獲取應(yīng)用程序數(shù)據(jù)的請求,收到其應(yīng)用程序數(shù)據(jù)后,寫入自己 FLASH中的應(yīng)用程序。若升級失敗,則繼續(xù)搜索下一臺在線機頂盒,若升級成功,將跳轉(zhuǎn)次數(shù)加一后開始跳轉(zhuǎn)到應(yīng)用程序進行正常開機。步驟30 請參閱圖3所示,正常啟動應(yīng)用程序,將跳轉(zhuǎn)次數(shù)清零,創(chuàng)建網(wǎng)絡(luò)互助線程,主線程繼續(xù)執(zhí)行正常的應(yīng)用程序,而網(wǎng)絡(luò)互助線程創(chuàng)建成功后,則開始遍歷所在子網(wǎng)中所有雙向機頂盒的應(yīng)用程序版本號,具體步驟如下步驟301 機頂盒根據(jù)自己的IP地址獲取所在子網(wǎng)段;步驟302 機頂盒搜索所在子網(wǎng)段內(nèi)的其它機頂盒,并判斷其是否在線,若在線, 則發(fā)送獲取其應(yīng)用程序版本號的請求,將得到的應(yīng)用程序版本號與自己的應(yīng)用程序版本號進行比較,若不高于自己的應(yīng)用程序版本號,則繼續(xù)搜索下一臺在線機頂盒,直到整個子網(wǎng)遍歷完成,若高于自己的應(yīng)用程序版本號,則將該應(yīng)用程序版本號置為TRUE,并跳出遍歷, 下次機頂盒開機的時候直接按照該應(yīng)用程序版本號進行升級;步驟303 機頂盒檢測是否有其它機頂盒發(fā)出的獲取應(yīng)用程序版本號的請求,若有,則將自身的應(yīng)用程序版本號發(fā)送給對方,若沒有,則進入步驟304 ;步驟304 機頂盒檢測是否有其它機頂盒發(fā)出的獲取應(yīng)用程序數(shù)據(jù)的請求,若有, 則將自身的應(yīng)用程序數(shù)據(jù)從Flash中讀取出來發(fā)送給對方,若沒有,則將網(wǎng)絡(luò)互助線程休眠1秒后,再執(zhí)行步驟303。以上所述,僅為本發(fā)明較佳實施例而已,故不能依此限定本發(fā)明實施的范圍,即依本發(fā)明專利范圍及說明書內(nèi)容所作的等效變化與修飾,皆應(yīng)仍屬本發(fā)明涵蓋的范圍內(nèi)。
權(quán)利要求
1.一種雙向機頂盒的大網(wǎng)升級方法,其特征在于具體包括如下步驟步驟10、機頂盒開機后進入loader程序,檢驗自己的應(yīng)用程序是否正常,若異常則進入步驟20,若正常則繼續(xù)檢測所在子網(wǎng)中的其它機頂盒是否存在高版本號應(yīng)用程序的標識,若存在,則根據(jù)用戶選擇進入步驟20或者步驟30,若不存在,則直接進入步驟30 ;步驟20、機頂盒搜索到所在子網(wǎng)中在線的其它機頂盒,向其發(fā)送獲取應(yīng)用程序版本號的請求,得到其應(yīng)用程序版本號后與自己的應(yīng)用程序版本號進行比較,若不高于自己的應(yīng)用程序版本號,則繼續(xù)搜索下一臺在線機頂盒,若高于自己的應(yīng)用程序版本號,則發(fā)送獲取應(yīng)用程序數(shù)據(jù)的請求,收到其應(yīng)用程序數(shù)據(jù)后,寫入自己FLASH中的應(yīng)用程序,若升級失敗,則繼續(xù)搜索下一臺在線機頂盒,若升級成功,進入步驟30 ;步驟30、機頂盒正常啟動應(yīng)用程序,應(yīng)用程序中創(chuàng)建網(wǎng)絡(luò)互助線程,所述網(wǎng)絡(luò)互助線程用于響應(yīng)步驟20中其它機頂盒發(fā)送的獲取應(yīng)用程序版本號的請求、獲取應(yīng)用程序數(shù)據(jù)的請求,并用于所在子網(wǎng)中的其它機頂盒是否存在高版本號應(yīng)用程序。
2.根據(jù)權(quán)利要求1所述的一種雙向機頂盒的大網(wǎng)升級方法,其特征在于所述步驟30 中的網(wǎng)絡(luò)互助線程具體包括如下步驟步驟301 機頂盒根據(jù)自己的IP地址獲取所在子網(wǎng)段;步驟302 機頂盒搜索所在子網(wǎng)段內(nèi)的其它機頂盒,并判斷其是否在線,若在線,則發(fā)送獲取其應(yīng)用程序版本號的請求,將得到的應(yīng)用程序版本號與自己的應(yīng)用程序版本號進行比較,若不高于自己的應(yīng)用程序版本號,則繼續(xù)搜索下一臺在線機頂盒,直到整個子網(wǎng)遍歷完成,若高于自己的應(yīng)用程序版本號,則將該應(yīng)用程序版本號進行標識,并跳出遍歷,下次機頂盒開機的時候直接按照該應(yīng)用程序版本號進行升級;步驟303 機頂盒檢測是否有其它機頂盒發(fā)出的獲取應(yīng)用程序版本號的請求,若有,則將自身的應(yīng)用程序版本號發(fā)送給對方,若沒有,則進入步驟304;步驟304 機頂盒檢測是否有其它機頂盒發(fā)出的獲取應(yīng)用程序數(shù)據(jù)的請求,若有,則將自身的應(yīng)用程序數(shù)據(jù)從Flash中讀取出來發(fā)送給對方,若沒有,則將網(wǎng)絡(luò)互助線程休眠后, 再執(zhí)行步驟303。
3.根據(jù)權(quán)利要求2所述的一種雙向機頂盒的大網(wǎng)升級方法,其特征在于所述機頂盒檢驗自己的應(yīng)用程序是否正常的時候,具體包括檢驗跳轉(zhuǎn)次數(shù)是否大于等于三,若是,則說明應(yīng)用程序已經(jīng)破壞,若不是,則說明應(yīng)用程序正常;且,當機頂盒跳轉(zhuǎn)到應(yīng)用程序之前, 將跳轉(zhuǎn)次數(shù)加一,當機頂盒正常啟動應(yīng)用程序之后,將跳轉(zhuǎn)次數(shù)清零。
4.根據(jù)權(quán)利要求2所述的一種雙向機頂盒的大網(wǎng)升級方法,其特征在于所述步驟20 以及步驟302中,所述機頂盒在搜索所在子網(wǎng)中在線的其它機頂盒的時候,是按照機頂盒的IP地址由小到大進行搜索。
全文摘要
本發(fā)明提供一種雙向機頂盒的大網(wǎng)升級方法,包括如下步驟10、機頂盒開機后進入loader程序,檢驗應(yīng)用程序是否正常,異常則進入20,否則檢測是否存在高版本號應(yīng)用程序的標識,若存在則根據(jù)用戶選擇進入20,否則直接進入30;20、搜索所在子網(wǎng)中在線的其它機頂盒,得到其版本號后與自己的進行比較,若高于,則發(fā)送獲取應(yīng)用程序數(shù)據(jù)的請求,否則繼續(xù)搜索下一臺在線機頂盒,收到其應(yīng)用程序數(shù)據(jù)后,寫入自己FLASH中的應(yīng)用程序,若成功,進入30;30、機頂盒正常啟動應(yīng)用程序,應(yīng)用程序中創(chuàng)建網(wǎng)絡(luò)互助線程。本發(fā)明能夠?qū)崿F(xiàn)機頂盒自動在網(wǎng)絡(luò)中找到最新的應(yīng)用程序并升級自身軟件,節(jié)省了維護成本。
文檔編號H04N21/458GK102572594SQ20111044080
公開日2012年7月11日 申請日期2011年12月23日 優(yōu)先權(quán)日2011年12月23日
發(fā)明者劉斌 申請人:福建新大陸通信科技股份有限公司