一種ota多包升級的校驗(yàn)方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及終端的在線升級領(lǐng)域,尤其涉及一種OTA多包升級的校驗(yàn)方法及裝置。
【背景技術(shù)】
[0002]手機(jī)、數(shù)字電視機(jī)頂盒等終端采用空中下載技術(shù)(Over-the-Air Technology ,OTA)對軟件版本進(jìn)行更新升級。OTA升級包括單包升級和多包升級,其中單包升級是指終端從在先版本升級到目標(biāo)版本(在先版本為終端當(dāng)前使用的系統(tǒng)版本),而多包升級則是終端從在先版本經(jīng)過多個中間版本連續(xù)依次升級到目標(biāo)版本。
[0003]為了避免刷入其他非法版本導(dǎo)致終端無法正常使用,在OTA單包升級前,終端需要對OTA升級包進(jìn)行校驗(yàn)?,F(xiàn)有OTA單包升級的校驗(yàn)方法,如圖1所示,在升級前校驗(yàn)終端內(nèi)存中的系統(tǒng)指紋信息是否與升級包中在先版本或者目標(biāo)版本的系統(tǒng)指紋信息匹配,只要與在先版本和目標(biāo)版本中至少一個的系統(tǒng)指紋信息匹配則認(rèn)為校驗(yàn)通過,執(zhí)行升級操作。進(jìn)入升級操作后,目標(biāo)版本的patch文件(patch文件為目標(biāo)版本的引導(dǎo)分區(qū)和恢復(fù)分區(qū)相對于在先版本的差分文件)將被打到系統(tǒng)分區(qū),啟動開機(jī)流程,再將系統(tǒng)分區(qū)的patch文件打到恢復(fù)recovery分區(qū)。這時(shí)終端由在先版本升級到目標(biāo)版本,終端中的系統(tǒng)指紋信息也由在先版本的指紋信息變?yōu)槟繕?biāo)版本的指紋信息。若與在先版本和目標(biāo)版本的系統(tǒng)指紋信息均不匹配則校驗(yàn)失敗,退出升級,終端仍舊為在先版本。
[0004]然而,現(xiàn)有的OTA多包升級中,并沒有對升級包進(jìn)行校驗(yàn),一旦將終端不同版本的升級包混淆,便會導(dǎo)致升級失敗。針對以上問題,若采用現(xiàn)有的單包校驗(yàn)方法進(jìn)行校驗(yàn),則由于單包校驗(yàn)方法中,內(nèi)存中的指紋信息必須經(jīng)過開機(jī)后才會變?yōu)槟繕?biāo)版本的指紋信息,而OTA多包升級過程中,升級到目標(biāo)版本前并無開機(jī)過程,這樣整個OTA多包升級過程使用的校驗(yàn)版本始終為在先版本。當(dāng)中間版本之間升級時(shí),由于沒有中間版本的指紋信息,從而出現(xiàn)校驗(yàn)失敗,導(dǎo)致移動終端無法實(shí)現(xiàn)多包連續(xù)升級,因此需要一種適用于多包升級的校驗(yàn)方法。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供了一種OTA多包連續(xù)升級的校驗(yàn)方法及裝置,用以解決無法實(shí)現(xiàn)對OTA多包連續(xù)升級的校驗(yàn)問題。
[0006]為達(dá)到上述目的,本發(fā)明實(shí)施例提供了一種OTA多包升級的校驗(yàn)方法,包括:
將終端的系統(tǒng)分區(qū)掛載為只讀,并獲取預(yù)先存儲于所述終端的系統(tǒng)分區(qū)中的系統(tǒng)指紋信息;
基于從所述終端的系統(tǒng)分區(qū)中所獲取的系統(tǒng)指紋信息與從寄存器中讀取的OTA升級包中的系統(tǒng)指紋信息的校驗(yàn)結(jié)果,以判斷是否進(jìn)行OTA多包升級。
[0007]一種OTA多包升級的校驗(yàn)裝置,包括:
獲取單元,用于將終端的系統(tǒng)分區(qū)掛載為只讀,并獲取預(yù)先存儲于所述終端的系統(tǒng)分區(qū)中的系統(tǒng)指紋信息; 校驗(yàn)單元,用于基于從系統(tǒng)分區(qū)中所獲取的系統(tǒng)指紋信息與從寄存器中讀取的OTA升級包中的系統(tǒng)指紋信息的校驗(yàn)結(jié)果,以判斷是否進(jìn)行OTA多包升級。
[0008]本發(fā)明實(shí)施例提供了一種OTA多包升級的校驗(yàn)方法及裝置,將終端的系統(tǒng)指紋信息存儲于系統(tǒng)分區(qū)下。當(dāng)終端由當(dāng)前版本經(jīng)若干中間版本升級到目標(biāo)版本時(shí),從終端的系統(tǒng)分區(qū)中獲取當(dāng)前版本的系統(tǒng)指紋信息,以與從寄存器所讀取的OTA升級包中的系統(tǒng)指紋信息進(jìn)行校驗(yàn),其中所述OTA升級包中的系統(tǒng)指紋信息包括當(dāng)前版本和中間版本的系統(tǒng)指紋信息,若校驗(yàn)成功,則將所述OTA升級包中的patch文件拷貝到系統(tǒng)分區(qū)下。系統(tǒng)分區(qū)升級完成,此時(shí)無需開機(jī),系統(tǒng)分區(qū)中的系統(tǒng)指紋信息就會變?yōu)樗鲋虚g版本的系統(tǒng)指紋信息,終端可以繼續(xù)根據(jù)所述中間版本的系統(tǒng)指紋信息進(jìn)行下一個升級包的校驗(yàn),以完成下一版本的升級。因此避免了現(xiàn)有技術(shù)中必須開機(jī)才能將內(nèi)存中的系統(tǒng)指紋信息變?yōu)橹虚g版本的系統(tǒng)指紋信息,一旦系統(tǒng)指紋信息不匹配造成校驗(yàn)失敗,將退出多包連續(xù)升級進(jìn)而導(dǎo)致整個升級失敗。
【附圖說明】
[0009]為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0010]圖1為現(xiàn)有技術(shù)提供的一種OTA單包升級的校驗(yàn)方法流程示意圖;
圖2為本發(fā)明實(shí)施例提供的一種OTA多包連續(xù)升級的校驗(yàn)方法流程示意圖;
圖3為OTA客戶端檢測下載OTA升級包的具體流程示意圖;
圖4為本發(fā)明實(shí)施例提供的另一種OTA多包連續(xù)升級的校驗(yàn)方法流程示意圖;
圖5為本發(fā)明實(shí)施例提供的一種OTA多包連續(xù)升級的校驗(yàn)裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0011]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0012]由于人們對終端的性能要求越來越高,生產(chǎn)廠商會針對同一型號的終端可能會制作多個版本,同時(shí)又為了實(shí)現(xiàn)將當(dāng)前版本一次性升級到目標(biāo)版本,就需要制作各個版本到目標(biāo)版本的差分升級包。例如:目前目標(biāo)版本由V4升級到V5,則生產(chǎn)廠商便需要在服務(wù)器端已有V2-V1,V3-V1,V4-V1,V3-V2,V4-V2,V4-V3差分升級包的基礎(chǔ)上,增加配置V5-V1,V5-V2,V5-V3,V5-V4這四個差分升級包,從而各個版本的終端用戶可以通過下載對應(yīng)的差分升級包,實(shí)現(xiàn)一次性升級到目標(biāo)版本,但這種升級方法使得生產(chǎn)廠商需要制作大量的差分升級包。若目標(biāo)版本為Vn(n為正整數(shù)),則生產(chǎn)廠商需要制作n(n-l)/2種差分包,開發(fā)成本大。
[0013]因此,針對升級版本跨度較大時(shí),采用OTA多包連續(xù)升級的方法,即從當(dāng)前終端正在使用的版本經(jīng)中間版本連續(xù)升級到目標(biāo)版本,這樣生產(chǎn)廠商針對每一個最新版本只需要制作與低一級的版本的差分升級包。例如:目前目標(biāo)版本由V4升級到V5,生產(chǎn)廠商便需要在服務(wù)器端已有¥2-¥1,¥3-¥2,¥4-¥3差分升級包的基礎(chǔ)上,增加配置¥5-¥4這一個差分升級包,減少需要制作和測試的升級包的數(shù)量,降低生產(chǎn)成本。
[0014]針對以上多包升級方法,本發(fā)明提出了一種OTA多包連續(xù)升級的校驗(yàn)方法,將終端中的系統(tǒng)指紋信息存儲在系統(tǒng)分區(qū)即system分區(qū)下,這樣在多包連續(xù)升級時(shí),只要將差分包中的patch文件(patch文件為目標(biāo)版本的boot分區(qū)和recovery分區(qū)相對于在先版本的差分文件)拷貝到system分區(qū)。這時(shí)system分區(qū)升級完成,無需開機(jī),system分區(qū)中的系統(tǒng)指紋信息就會變?yōu)槟繕?biāo)版本的系統(tǒng)指紋信息。這樣就可以避免了現(xiàn)有技術(shù)中必須開機(jī)才能將內(nèi)存中的系統(tǒng)指紋信息變?yōu)槟繕?biāo)版本的系統(tǒng)指紋信息,而一旦系統(tǒng)指紋信息不匹配造成校驗(yàn)失敗,退出多包連續(xù)升級進(jìn)而導(dǎo)致整個升級失敗。
[0015]參閱圖2,圖2為本發(fā)明實(shí)施例提供的一種OTA多包升級的校驗(yàn)方法,如圖2所示,所述校驗(yàn)方法包括:
步驟201,將終端的系統(tǒng)分區(qū)掛載為只讀,并獲取預(yù)先存儲于所述終端的系統(tǒng)分