本發(fā)明屬于數(shù)字設(shè)備軟件升級(jí)技術(shù)領(lǐng)域,特別涉及l(fā)inux系統(tǒng)智能電視軟件升級(jí)方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)在生活中的滲透,智能設(shè)備的普及,智能電視的概念及推廣的進(jìn)一步深入人心,市場上對(duì)于智能電視的需求和期望日益迫切。智能電視的一個(gè)很大的特點(diǎn)就是系統(tǒng)會(huì)時(shí)常進(jìn)行更新升級(jí),但系統(tǒng)升級(jí)包往往較大,會(huì)占用較長的下載時(shí)間,使用recovery系統(tǒng)進(jìn)行升級(jí),可以比對(duì)出版本差異部分,大大減小升級(jí)包的大小。但網(wǎng)絡(luò)升級(jí)都會(huì)存在一定幾率的升級(jí)失敗風(fēng)險(xiǎn),如果升級(jí)失敗,則會(huì)導(dǎo)致系統(tǒng)無法啟動(dòng),需要上門維修,增加了產(chǎn)品維護(hù)的成本。由于recovery在升級(jí)需進(jìn)行嚴(yán)格的版本管理,如果本地版本被改動(dòng),則在進(jìn)行recovery升級(jí)時(shí),則會(huì)導(dǎo)致升級(jí)失敗。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是:提出一種linux系統(tǒng)智能電視軟件升級(jí)方法,在不改變硬件設(shè)備的條件下,提高linux智能電視軟件升級(jí)的容錯(cuò)率,減少上門維護(hù)的成本。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
linux系統(tǒng)智能電視軟件升級(jí)方法,包括:
a.linux系統(tǒng)智能電視向服務(wù)器上報(bào)軟件本地版本號(hào);
b.從服務(wù)器上下載當(dāng)前版本號(hào)需下載的差分升級(jí)包;
c.系統(tǒng)對(duì)所述差分升級(jí)包進(jìn)行校驗(yàn),若校驗(yàn)成功,則重啟后進(jìn)入recovery升級(jí)系統(tǒng),進(jìn)入步驟d;若校驗(yàn)失敗,則結(jié)束流程;
d.解壓差分升級(jí)包后,逐一對(duì)文件進(jìn)行校驗(yàn),若校驗(yàn)成功,則整合文件對(duì)軟件進(jìn)行升級(jí),結(jié)束流程;若某個(gè)文件校驗(yàn)失敗導(dǎo)致升級(jí)失敗,則進(jìn)入步驟e;
e.重新指定升級(jí)包地址,指向備份升級(jí)包,并重啟系統(tǒng),再次進(jìn)入recovery升級(jí)系統(tǒng);
f.升級(jí)系統(tǒng)解壓備份升級(jí)包,對(duì)系統(tǒng)進(jìn)行升級(jí)。
作為進(jìn)一步優(yōu)化,還方法還包括步驟:
g.在升級(jí)完成后,重啟進(jìn)入系統(tǒng)時(shí),軟件版本號(hào)恢復(fù)為0,當(dāng)服務(wù)器檢測(cè)到系統(tǒng)軟件版本為0,則會(huì)告知電視設(shè)備下載最新版本的完整升級(jí)包進(jìn)行升級(jí)。
作為進(jìn)一步優(yōu)化,步驟e中,所述備份升級(jí)包的版本號(hào)為0,預(yù)先存儲(chǔ)在系統(tǒng)分區(qū)之中。
作為進(jìn)一步優(yōu)化,步驟f中,所述備份升級(jí)包為完整的升級(jí)包,通過文件覆蓋方式升級(jí)。
本發(fā)明的有益效果是:
采用recovery升級(jí)方式,可以減少升級(jí)包的大小,提高升級(jí)效率,同時(shí),在分區(qū)中保存?zhèn)浞菹到y(tǒng)升級(jí)包,在遇到升級(jí)失敗無法恢復(fù)的情況時(shí),升級(jí)備份升級(jí)包,恢復(fù)系統(tǒng)軟件后再進(jìn)行升級(jí),提高linux智能電視軟件升級(jí)的容錯(cuò)率,減少上門維護(hù)的成本。
附圖說明
圖1為實(shí)施例中的linux系統(tǒng)智能電視軟件升級(jí)方法流程圖。
具體實(shí)施方式
recovery差分升級(jí)過程中,如果某一個(gè)文件被人為修改或文件損壞,就會(huì)出現(xiàn)升級(jí)失敗的問題,升級(jí)失敗后系統(tǒng)則無法正常啟動(dòng),售后需上門維修才可。針對(duì)此問題,本發(fā)明提供一種linux系統(tǒng)智能電視軟件升級(jí)方法,提高電視端升級(jí)系統(tǒng)的健壯性,為后續(xù)智能電視軟件更新提供了可靠的保障,節(jié)省了售后維護(hù)的成本。其核心思想為:采用recovery升級(jí)方式,并定制一種備份升級(jí)策略,將升級(jí)包存放于系統(tǒng)分區(qū)中,在升級(jí)失敗時(shí),使用備份升級(jí)包對(duì)系統(tǒng)進(jìn)行升級(jí),避免了升級(jí)失敗后產(chǎn)品無法正常使用的問題。
下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明的方案做進(jìn)一步的描述;
如圖1所示,本實(shí)施例中的linux系統(tǒng)智能電視軟件升級(jí)方法,包括以下步驟:
a.linux系統(tǒng)智能電視向服務(wù)器上報(bào)軟件本地版本號(hào);
b.從服務(wù)器上下載當(dāng)前版本號(hào)需下載的差分升級(jí)包;
c.系統(tǒng)對(duì)所述差分升級(jí)包進(jìn)行校驗(yàn),若校驗(yàn)成功,則重啟后進(jìn)入recovery升級(jí)系統(tǒng),進(jìn)入步驟d;若校驗(yàn)失敗,則結(jié)束流程;
d.解壓差分升級(jí)包后,逐一對(duì)文件進(jìn)行校驗(yàn),若校驗(yàn)成功,則整合文件對(duì)軟件進(jìn)行升級(jí),結(jié)束流程;若某個(gè)文件校驗(yàn)失敗導(dǎo)致升級(jí)失敗,則進(jìn)入步驟e;
e.重新指定升級(jí)包地址,指向備份升級(jí)包,并重啟系統(tǒng),再次進(jìn)入recovery升級(jí)系統(tǒng);
f.升級(jí)系統(tǒng)解壓備份升級(jí)包,對(duì)系統(tǒng)進(jìn)行升級(jí);
g.在升級(jí)完成后,重啟進(jìn)入系統(tǒng)時(shí),軟件版本號(hào)恢復(fù)為0,當(dāng)服務(wù)器檢測(cè)到系統(tǒng)軟件版本為0,則會(huì)告知電視設(shè)備下載最新版本的完整升級(jí)包進(jìn)行升級(jí)。
本發(fā)明在具體實(shí)施上,要在linux系統(tǒng)智能電視實(shí)現(xiàn)上述升級(jí)方案需要進(jìn)行以下工作:
1、移植android的recovery升級(jí)系統(tǒng)至linux系統(tǒng),并結(jié)合平臺(tái)架構(gòu),在recovery啟動(dòng)文件中對(duì)接相應(yīng)系統(tǒng)參數(shù)配置。主要內(nèi)容包括:
(1)flash、板卡、屏參等硬件參數(shù)配置。
(2)根據(jù)flash分區(qū)存儲(chǔ)內(nèi)容,調(diào)整升級(jí)包制作策略。
(3)mboot啟動(dòng)recovery流程調(diào)整。
(4)recovery顯示界面的linux方案實(shí)現(xiàn)。
2、定制升級(jí)包版本管理策略,依據(jù)智能電視平臺(tái)的機(jī)芯、機(jī)型、客戶、屏參以及發(fā)布版本時(shí)間,設(shè)置軟件版本號(hào)。編譯的升級(jí)包,附帶相應(yīng)的軟件版本號(hào)信息,確保升級(jí)包統(tǒng)一管理。升級(jí)包由服務(wù)器統(tǒng)一編譯,并備份至固定目錄。發(fā)布新的升級(jí)包時(shí),通過升級(jí)包制作腳本,與之前備份升級(jí)包進(jìn)行比對(duì),編譯出相對(duì)應(yīng)的差分升級(jí)包。
3、定制升級(jí)包下載校驗(yàn)策略,在下載服務(wù)器升級(jí)策略上配置新發(fā)布的升級(jí)包,以及不同版本需對(duì)應(yīng)下載的升級(jí)包,本地電視上傳自己的版本信息,獲取應(yīng)下載的升級(jí)包。下載完成后,會(huì)比對(duì)升級(jí)文本中的校驗(yàn)碼,驗(yàn)證升級(jí)包的完整性。
4、在電視產(chǎn)品出廠時(shí),確定投入生產(chǎn)的產(chǎn)品軟件基礎(chǔ)版本,先將版本號(hào)設(shè)置為0,并編譯形成完整的備份升級(jí)包,命名為update_backup.zip。然后再次按照正常版本號(hào)發(fā)布規(guī)則,修改版本號(hào),再次編譯,將版本號(hào)為0的備份升級(jí)包一同編譯到升級(jí)文件中,對(duì)出廠產(chǎn)品進(jìn)行升級(jí)。產(chǎn)品升級(jí)后,版本號(hào)為0的備份升級(jí)包,則被預(yù)先存儲(chǔ)在系統(tǒng)分區(qū)之中。
在用戶使用智能電視的過程中,當(dāng)網(wǎng)絡(luò)升級(jí)更新時(shí),會(huì)按照本地版本號(hào),選擇需要下載的更新包,系統(tǒng)升級(jí)后版本號(hào)也會(huì)隨之更新。
有新版本發(fā)布后,通過網(wǎng)絡(luò)更新,下載版本號(hào)匹配的升級(jí)包至系統(tǒng)分區(qū)中。下載的升級(jí)包校驗(yàn)完成后,將升級(jí)包文件名重命名為update.zip,并重啟進(jìn)入recovery系統(tǒng)進(jìn)行升級(jí),默認(rèn)訪問升級(jí)包文件名為update.zip。在升級(jí)過程中,如果遇到升級(jí)失敗,此時(shí)系統(tǒng)自動(dòng)將需要訪問的升級(jí)的包名稱修替換為備份升級(jí)包文件名update_backup.zip,即出廠時(shí),預(yù)先存放在系統(tǒng)分區(qū)中的版本號(hào)為0的備份份升級(jí)包。重啟系統(tǒng),再次進(jìn)入recovery系統(tǒng)升級(jí)。
通過升級(jí)備份升級(jí)包恢復(fù)到0版本后,在升級(jí)上報(bào)時(shí),服務(wù)器檢測(cè)到系統(tǒng)版本為0,則會(huì)告知設(shè)備下載最新版本的完整升級(jí)包進(jìn)行升級(jí),以保證系統(tǒng)的正常升級(jí)。