sl對稱加密和簽名,為此,在步驟S50之前還包括步驟S45,updated進(jìn)程對升級包進(jìn)行解密,然后才進(jìn)行步驟S50以驗(yàn)證升級包的簽名是否合法。另外,在簽名合法時,更新文件的處理也不同于圖1所示的實(shí)施例。在圖2所示的實(shí)施例中,在升級包簽名合法時,步驟S60包括下述子步驟:S61,將0S-2的系統(tǒng)分區(qū)掛載到保存升級文件的目錄,然后進(jìn)行步驟S62,對待升級文件進(jìn)行校驗(yàn)如md5sum,以確保待升級文件版本正確及未被修改過。然后進(jìn)行步驟S63,用bspatch(補(bǔ)丁合成工具)和升級包中的補(bǔ)丁文件對待升級文件進(jìn)行更新。打過補(bǔ)丁后,文件內(nèi)容就更新到了新版本了,然后對打過補(bǔ)丁的文件的屬性重新賦值。
[0031 ]在實(shí)施例中,本發(fā)明也可適用于多系統(tǒng)的情況。例如,假設(shè)有3個系統(tǒng),一個SyberOS, 2個Android,分別稱為OS-1、0S-2和0S-3及分別運(yùn)行于3個容器中。用SyberOSSPOS-1升級0S-3即android-2時,也是先通過switch_ns節(jié)點(diǎn)將SyberOS切換到前臺,然后執(zhí)行命令lxc-stop-n android-2停掉android-2容器,然后按照圖1或圖2所示的流程進(jìn)行升級即可。
[0032]圖3示出了本發(fā)明裝置的一實(shí)施例,其用于在基于容器的多操作系統(tǒng)移動終端中對操作系統(tǒng)進(jìn)行升級,其中多個操作系統(tǒng)分別在不同容器中運(yùn)行,該裝置包括:系統(tǒng)切換單元10,用于將待升級操作系統(tǒng)切換到后臺及將非升級操作系統(tǒng)之一切換到前臺;容器停止單元20,用于停止待升級操作系統(tǒng)所在的容器;升級包下載單元30,用于使非升級操作系統(tǒng)從服務(wù)器下載待升級操作系統(tǒng)的升級包;升級確認(rèn)單元40,用于使用戶能進(jìn)行是否升級的確認(rèn);驗(yàn)證單元50,用于在用戶確認(rèn)升級時驗(yàn)證升級包的簽名是否合法;升級單元60,用于在簽名合法時用升級包中的升級文件蓋寫待升級操作系統(tǒng)的相應(yīng)文件;及容器啟動單元70,用于在升級單元完成升級后啟動待升級操作系統(tǒng)所在的容器。
[0033]圖4示出了本發(fā)明裝置的另一實(shí)施例,其包括圖3所示實(shí)施例的所有單元。但在圖4所示的實(shí)施例中,由于升級包為增量升級包,還包括解密單元45,用于在驗(yàn)證簽名之前對升級包進(jìn)行解密。此外,升級單元60包括:分區(qū)掛載子單元61,用于將待升級操作系統(tǒng)的系統(tǒng)分區(qū)掛載到保存升級包的目錄;校驗(yàn)子單元62,用于對升級文件進(jìn)行校驗(yàn)以確保升級文件版本正確及未被修改過;更新子單元63,用于用bspatch和升級包中的補(bǔ)丁文件對待升級文件進(jìn)行更新;賦值子單元64,用于對打過補(bǔ)丁的文件的屬性重新賦值。
[0034]—些優(yōu)選實(shí)施例已經(jīng)在前面進(jìn)行了說明,但是應(yīng)當(dāng)強(qiáng)調(diào)的是,本發(fā)明不局限于這些實(shí)施例,而是可以本發(fā)明主題范圍內(nèi)的其它方式實(shí)現(xiàn)。
【主權(quán)項】
1.一種基于容器的移動終端操作系統(tǒng)升級方法,其中多個操作系統(tǒng)分別在不同容器中運(yùn)行,其特征在于,所述方法包括: 將待升級操作系統(tǒng)切換到后臺,及將非升級操作系統(tǒng)之一切換到前臺; 停止待升級操作系統(tǒng)所在的容器; 所述非升級操作系統(tǒng)從服務(wù)器下載待升級操作系統(tǒng)的升級包; 在用戶確認(rèn)升級時驗(yàn)證所述升級包的簽名是否合法; 在所述簽名合法時用所述升級包中的升級文件蓋寫待升級操作系統(tǒng)的相應(yīng)文件;及 在升級完成后啟動待升級操作系統(tǒng)所在的容器。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述升級包為增量升級包時,在驗(yàn)證簽名之前還包括對升級包進(jìn)行解密。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述升級包為增量升級包時,所述蓋寫包括: 將待升級操作系統(tǒng)的系統(tǒng)分區(qū)掛載到保存升級包的目錄; 對升級文件進(jìn)行校驗(yàn)以確保升級文件版本正確及未被修改過; 用bspatch和升級包中的補(bǔ)丁文件對待升級文件進(jìn)行更新。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括: 對打過補(bǔ)丁的文件的屬性重新賦值。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述升級包為完整升級包時,所述蓋寫包括將升級包鏡像寫入到待升級操作系統(tǒng)的對應(yīng)分區(qū)。6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述切換通過設(shè)備節(jié)點(diǎn)進(jìn)行。7.—種基于容器的移動終端操作系統(tǒng)升級裝置,其中多個操作系統(tǒng)分別在不同容器中運(yùn)行,其特征在于,所述裝置包括: 系統(tǒng)切換單元,用于將待升級操作系統(tǒng)切換到后臺及將非升級操作系統(tǒng)之一切換到前臺; 容器停止單元,用于停止待升級操作系統(tǒng)所在的容器; 升級包下載單元,用于使所述非升級操作系統(tǒng)從服務(wù)器下載待升級操作系統(tǒng)的升級包; 升級確認(rèn)單元,用于使用戶能進(jìn)行是否升級的確認(rèn); 驗(yàn)證單元,用于在用戶確認(rèn)升級時驗(yàn)證所述升級包的簽名是否合法; 升級單元,用于在所述簽名合法時用所述升級包中的升級文件蓋寫待升級操作系統(tǒng)的相應(yīng)文件;及 容器啟動單元,用于在升級單元完成升級后啟動待升級操作系統(tǒng)所在的容器。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,在所述升級包為增量升級包時,所述裝置還包括解密單元,用于在驗(yàn)證簽名之前對升級包進(jìn)行解密。9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,在所述升級包為增量升級包時,所述升級單元包括: 分區(qū)掛載子單元,用于將待升級操作系統(tǒng)的系統(tǒng)分區(qū)掛載到保存升級包的目錄; 校驗(yàn)子單元,用于對升級文件進(jìn)行校驗(yàn)以確保升級文件版本正確及未被修改過; 更新子單元,用于用bspatch和升級包中的補(bǔ)丁文件對待升級文件進(jìn)行更新。10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述升級單元還包括:賦值子單元,用于對打過補(bǔ)丁的文件的屬性重新賦值。
【專利摘要】本申請公開了一種基于容器的移動終端操作系統(tǒng)升級方法,其中多個操作系統(tǒng)分別在不同容器中運(yùn)行,所述方法包括:將待升級操作系統(tǒng)切換到后臺,及將非升級操作系統(tǒng)之一切換到前臺;停止待升級操作系統(tǒng)所在的容器;所述非升級操作系統(tǒng)從服務(wù)器下載待升級操作系統(tǒng)的升級包;在用戶確認(rèn)升級時驗(yàn)證所述升級包的簽名是否合法;在所述簽名合法時用所述升級包中的升級文件蓋寫待升級操作系統(tǒng)的相應(yīng)文件;及在升級完成后啟動待升級操作系統(tǒng)所在的容器。本發(fā)明可實(shí)現(xiàn)在不重啟機(jī)器的情況下對操作系統(tǒng)進(jìn)行升級。
【IPC分類】G06F9/445
【公開號】CN105511920
【申請?zhí)枴緾N201510895570
【發(fā)明人】李立帥
【申請人】北京元心科技有限公司
【公開日】2016年4月20日
【申請日】2015年12月8日