系統(tǒng)固件升級包的生成方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,尤其涉及一種系統(tǒng)固件升級包的生成方法及裝置。
【背景技術(shù)】
[0002]隨著終端制造商發(fā)布新終端的節(jié)奏越來越快,上市終端的軟件版本難免存在一些漏洞或者亟待提高用戶體驗的部分,甚至?xí)幸恍┲旅收县酱迯?fù)。一般可以采用無線固件升級(Firmware Update Over the Air,簡稱FOTA)方法對終端設(shè)備的軟件進(jìn)行升級。
[0003]目前,固件升級通常分為兩種:一種是工廠刷機(jī)包,主要用于生產(chǎn)及售后;另外一種是無線下載(Over the Air,簡稱OTA)升級包,主要用于用戶自行升級。二者的升級機(jī)制完全不同,前者是基于設(shè)備的升級,即在開機(jī)引導(dǎo)程序中通過二進(jìn)制讀寫將鏡像文件寫到相應(yīng)的塊設(shè)備中;而后者是基于文件系統(tǒng)的升級,是在恢復(fù)模式(recovery)下對文件進(jìn)行升級,主要有兩種方式,OTA完整升級包升級和OTA差分升級包升級,其中,OTA完整升級包升級是將完整的新版本數(shù)據(jù)通過文件拷貝覆蓋式的升級,而OTA差分升級包升級則是將兩個新舊版本固件之間的差異數(shù)據(jù)通過打補(bǔ)丁的方式進(jìn)行升級。
[0004]現(xiàn)有的OTA升級包是根據(jù)OTA中間包制作相應(yīng)的OTA升級包。由于OTA升級包依賴于中間包,隨著系統(tǒng)版本的升級,OTA升級包越來越大,保存相應(yīng)的OTA中間包,會占用服務(wù)器大量資源,而且,由于一些主客觀原因(如硬盤損壞、系統(tǒng)中毒、人為誤操作等)可能會導(dǎo)致OTA中間包丟失或者破壞,此時終端就無法通過OTA升級包升級,用戶將無法通過OTA升級包升級到新的固件版本。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種系統(tǒng)固件升級包的生成方法及裝置,以克服現(xiàn)有技術(shù)中保存中間包會占用服務(wù)器大量資源,而且OTA中間包丟失或者破壞時,此時終端就無法通過OTA升級包升級的問題。
[0006]第一方面,本發(fā)明提供一種系統(tǒng)固件升級包的生成方法,包括:
[0007]獲取目標(biāo)升級文件系統(tǒng)中的源文件;所述源文件包括:系統(tǒng)鏡像文件、恢復(fù)模式下的鏡像文件、開機(jī)引導(dǎo)模式boot下的鏡像文件和協(xié)議文件;
[0008]分別獲取與所述目標(biāo)升級文件系統(tǒng)中的源文件對應(yīng)的目標(biāo)文件;
[0009]獲取所述目標(biāo)升級文件系統(tǒng)的配置文件;
[0010]將所述目標(biāo)文件和所述配置文件打包生成所述目標(biāo)升級文件系統(tǒng)對應(yīng)的無線下載OTA中間包,并根據(jù)所述OTA中間包生成所述目標(biāo)升級文件系統(tǒng)對應(yīng)的OTA升級包。
[0011]第二方面,本發(fā)明提供一種系統(tǒng)固件升級包的生成裝置,包括:
[0012]第一獲取模塊,用于獲取目標(biāo)升級文件系統(tǒng)中的源文件;所述源文件包括:系統(tǒng)鏡像文件、恢復(fù)模式下的鏡像文件、開機(jī)引導(dǎo)模式boot下的鏡像文件和協(xié)議文件;
[0013]第二獲取模塊,用于分別獲取與所述目標(biāo)升級文件系統(tǒng)中的源文件對應(yīng)的目標(biāo)文件;
[0014]第三獲取模塊,用于獲取所述目標(biāo)升級文件系統(tǒng)的配置文件;
[0015]處理模塊,用于將所述目標(biāo)文件和所述配置文件打包生成所述目標(biāo)升級文件系統(tǒng)對應(yīng)的無線下載OTA中間包,并根據(jù)所述OTA中間包生成所述目標(biāo)升級文件系統(tǒng)對應(yīng)的OTA升級包。
[0016]本發(fā)明系統(tǒng)固件升級包的生成方法及裝置,通過獲取目標(biāo)升級文件系統(tǒng)中的源文件;所述源文件包括:系統(tǒng)鏡像文件、恢復(fù)模式下的鏡像文件、開機(jī)引導(dǎo)模式boot下的鏡像文件和協(xié)議文件;分別獲取與所述目標(biāo)升級文件系統(tǒng)中的源文件對應(yīng)的目標(biāo)文件;將所述目標(biāo)文件和配置文件打包生成所述目標(biāo)升級文件系統(tǒng)對應(yīng)的OTA中間包,并根據(jù)所述OTA中間包生成所述目標(biāo)升級文件系統(tǒng)對應(yīng)的OTA升級包,相比現(xiàn)有技術(shù)而言,無需保存中間包,可以直接從工廠刷機(jī)包或終端的相關(guān)物理分區(qū)中獲取目標(biāo)升級文件系統(tǒng)的源文件,不會占用服務(wù)器大量資源,而且OTA中間包丟失或者破壞時,也可以根據(jù)源文件獲取目標(biāo)文件,并根據(jù)目標(biāo)文件生成OTA中間包,最終根據(jù)OTA中間包生成OTA升級包,避免了 OTA中間包丟失或者破壞時,終端就無法通過OTA升級包升級,用戶將無法通過OTA升級包升級到新的固件版本的問題。
【附圖說明】
[0017]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0018]圖1為本發(fā)明系統(tǒng)固件升級包的生成方法一實施例的流程示意圖;
[0019]圖2A為本發(fā)明系統(tǒng)固件升級包的生成裝置一實施例的結(jié)構(gòu)示意圖;
[0020]圖2B為本發(fā)明系統(tǒng)固件升級包的生成裝置另一實施例的結(jié)構(gòu)示意圖
[0021]圖3為本發(fā)明系統(tǒng)固件升級包的生成設(shè)備一實施例的結(jié)構(gòu)示意圖。
【具體實施方式】
[0022]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0023]本發(fā)明實施例的系統(tǒng)固件升級包的生成方法可以應(yīng)用于對終端的系統(tǒng)固件進(jìn)行升級處理,具體實施例中以對終端的安卓系統(tǒng)為例進(jìn)行說明。
[0024]下面以具體地實施例對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明。下面這幾個具體的實施例可以相互結(jié)合,對于相同或相似的概念或過程可能在某些實施例不再贅述。
[0025]圖1為本發(fā)明系統(tǒng)固件升級包的生成方法一實施例的流程示意圖。如圖1所示,本實施例的方法,包括:
[0026]步驟101、獲取目標(biāo)升級文件系統(tǒng)中的源文件;源文件包括:系統(tǒng)鏡像文件、恢復(fù)模式下的鏡像文件、開機(jī)引導(dǎo)模式boot下的鏡像文件和協(xié)議文件;
[0027]步驟102、分別獲取與目標(biāo)升級文件系統(tǒng)中的源文件對應(yīng)的目標(biāo)文件;
[0028]步驟103、獲取目標(biāo)升級文件系統(tǒng)的配置文件;
[0029]步驟104、將目標(biāo)文件和配置文件打包生成目標(biāo)升級文件系統(tǒng)對應(yīng)的OTA中間包,并根據(jù)OTA中間包生成目標(biāo)升級文件系統(tǒng)對應(yīng)的OTA升級包。
[0030]在實際應(yīng)用中,OTA升級包依賴于中間包,但由于一些主客觀原因(如硬盤損壞、系統(tǒng)中毒、人為誤操作等)導(dǎo)致OTA中間包丟失或者破壞,此時終端就無法通過OTA升級包升級,用戶將無法通過OTA升級到新的固件版本,另外,隨著終端的系統(tǒng)版本的升級,OTA升級包越來越大,占用服務(wù)器大量資源,如果每發(fā)布一個版本都要保存相應(yīng)的OTA中間包,對服務(wù)器資源要求非常高,而且由于中間包的拷貝需要借助文件傳輸協(xié)議(File TransferProtocol,簡稱FTP),由于拷貝本身及FTP的穩(wěn)定性問題,可能在這過程中造成數(shù)據(jù)丟失損毀等情況,而中間包不同于工廠刷機(jī)包,沒有辦法測試其功能性、完整性,另外,開發(fā)人員也可能因為自身原因存在誤刪除或者忘記備份OTA中間包的問題,一旦出現(xiàn)問題,后期基于此中間包制作OTA升級包時就會存在問題。這樣就要求開發(fā)人員在備份OTA中間包的時,務(wù)必保證其完整性,這對服務(wù)器資源和人力資源是一種巨大的浪費。
[0031]而在本發(fā)明實施例中,可以無需保存中間包,具體來說,在制作OTA升級包時,獲取目標(biāo)升級文件系統(tǒng)中的源文件;源文件包括:系統(tǒng)鏡像文件、恢復(fù)模式下的鏡像文件、開機(jī)引導(dǎo)模式boot下的鏡像文件和協(xié)議文件。
[0032]然后分別確定與目標(biāo)升級文件系統(tǒng)中的源文件對應(yīng)的目標(biāo)文件;如源文件中的系統(tǒng)鏡像文件對應(yīng)的系統(tǒng)文件、源文件中的恢復(fù)模式下的鏡像文件對應(yīng)的恢復(fù)模式下的虛擬硬盤及內(nèi)核文件、源文件中的boot下的鏡像文件對應(yīng)的boot下的虛擬硬盤及內(nèi)核文件,源文件中的協(xié)議文件對應(yīng)的目標(biāo)文件。
[0033]將目標(biāo)文件和配置文件打包生成目標(biāo)升級文件系統(tǒng)對應(yīng)的無線下載OTA中間包,并根據(jù)OTA中間包生成目標(biāo)升級文件系統(tǒng)對應(yīng)的OTA升級包。
[0034]需要說明的是,本發(fā)明實施例中的OTA升級包包括OTA完整升級包和OTA差分升級包。OTA升級包一般通過服務(wù)器上供終端下載、運行以完成對終端的文件系統(tǒng)的升級的。終端在出廠時已經(jīng)自帶了一定的文件系統(tǒng),此時的文件系統(tǒng)為待升級文件系統(tǒng),升級時是將該待升級文件系統(tǒng)升級為目標(biāo)升級文件系統(tǒng)。
[0035]其中,目標(biāo)升級文件系統(tǒng)中的目標(biāo)文件,如包括文件夾SYSTEM、RE⑶VERY、RA