CN105511920B - 一种基于容器的移动终端操作系统升级方法和装置 - Google Patents

一种基于容器的移动终端操作系统升级方法和装置 Download PDF

Info

Publication number
CN105511920B
CN105511920B CN201510895570.6A CN201510895570A CN105511920B CN 105511920 B CN105511920 B CN 105511920B CN 201510895570 A CN201510895570 A CN 201510895570A CN 105511920 B CN105511920 B CN 105511920B
Authority
CN
China
Prior art keywords
operating system
upgrade
upgrade package
upgraded
upgrading
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510895570.6A
Other languages
English (en)
Other versions
CN105511920A (zh
Inventor
李立帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yuanxin Information Technology Group Co.,Ltd.
Original Assignee
Beijing Yuanxin Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Yuanxin Science and Technology Co Ltd filed Critical Beijing Yuanxin Science and Technology Co Ltd
Priority to CN201510895570.6A priority Critical patent/CN105511920B/zh
Publication of CN105511920A publication Critical patent/CN105511920A/zh
Application granted granted Critical
Publication of CN105511920B publication Critical patent/CN105511920B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种基于容器的移动终端操作系统升级方法,其中多个操作系统分别在不同容器中运行,所述方法包括:将待升级操作系统切换到后台,及将非升级操作系统之一切换到前台;停止待升级操作系统所在的容器;所述非升级操作系统从服务器下载待升级操作系统的升级包;在用户确认升级时验证所述升级包的签名是否合法;在所述签名合法时用所述升级包中的升级文件盖写待升级操作系统的相应文件;及在升级完成后启动待升级操作系统所在的容器。本发明可实现在不重启机器的情况下对操作系统进行升级。

Description

一种基于容器的移动终端操作系统升级方法和装置
技术领域
本申请涉及电数字数据处理领域,尤其涉及一种在基于容器的多操作系统移动终端中进行操作系统升级的方法和装置。
背景技术
目前,行业内对移动终端如手机操作系统升级的方案主要有2种。一种是完整升级,即将一个完整的操作系统镜像(通常几百M大小)写入到存储设备。另一种是增量升级,即仅仅更新两个版本之间的差异文件,升级包通常很小。然而,这两种方案均需要重启手机、进入升级recovery模式才能进行升级,升级完成后需要再次重启手机。
发明内容
本申请的目标在于提供一种不需要重启机器即可对操作系统进行升级的方法和装置。
本申请的目标由一种基于容器的移动终端操作系统升级方法实现,其中多个操作系统分别在不同容器中运行,该方法包括:
将待升级操作系统切换到后台,及将非升级操作系统之一切换到前台;
停止待升级操作系统所在的容器;
所述非升级操作系统从服务器下载待升级操作系统的升级包;
在用户确认升级时验证所述升级包的签名是否合法;
在所述签名合法时用所述升级包中的升级文件盖写待升级操作系统的相应文件;及
在升级完成后启动待升级操作系统所在的容器。
本申请的目标还由一种基于容器的移动终端操作系统升级装置实现,其中多个操作系统分别在不同容器中运行,其该装置包括:
系统切换单元,用于将待升级操作系统切换到后台及将非升级操作系统之一切换到前台;
容器停止单元,用于停止待升级操作系统所在的容器;
升级包下载单元,用于使所述非升级操作系统从服务器下载待升级操作系统的升级包;
升级确认单元,用于使用户能进行是否升级的确认;
验证单元,用于在用户确认升级时验证所述升级包的签名是否合法;
升级单元,用于在所述签名合法时用所述升级包中的升级文件盖写待升级操作系统的相应文件;及
容器启动单元,用于在升级单元完成升级后启动待升级操作系统所在的容器。
基于Linux容器技术,可以在同一个移动终端设备上同时运行2个以上操作系统,在bootfs(启动文件系统)启动时使各个操作系统分别运行于不同容器中,各个操作系统共享kernel(内核)。本发明在进行系统升级时,把待升级操作系统切换到后台,然后停掉待升级操作系统所在的容器。而用当前运行于前台的操作系统对后台操作系统进行升级,升级成功后再把后台操作系统所在的容器启动起来。在整个升级过程中,移动终端均不需要重启。
除非明确指出,在此所用的单数形式“一”、“该”均包括复数含义(即具有“至少一”的意思)。应当进一步理解,说明书中使用的术语“具有”、“包括”和/或“包含”表明存在所述的特征、步骤、操作、元件和/或部件,但不排除存在或增加一个或多个其他特征、步骤、操作、元件、部件和/或其组合。如在此所用的术语“和/或”包括一个或多个列举的相关项目的任何及所有组合。除非明确指出,在此公开的任何方法的步骤不必精确按照所公开的顺序执行。
附图说明
本发明将在下面参考附图并结合优选实施例进行更完全地说明。
图1为根据本发明方法的一实施例的流程图。
图2为根据本发明方法的另一实施例的流程图。
图3为根据本发明装置的一实施例的结构示意图。
图4为根据本发明装置的另一实施例的结构示意图。
为清晰起见,这些附图均为示意性及简化的图,它们只给出了对于理解本发明所必要的细节,而省略其他细节。
具体实施方式
通过下面给出的详细描述,本发明的适用范围将显而易见。然而,应当理解,在详细描述和具体例子表明本发明优选实施例的同时,它们仅为说明目的给出。
基于Linux容器技术,可以在同一个移动终端设备如手机上同时运行2个以上操作系统,如2个或3个以上操作系统。在此以2个为例进行说明。在bootfs启动时,把第一操作系统OS-1如SyberOS和第二操作系统OS-2如Android分别运行于不同容器中,两个操作系统共享内核kernel。
图1示出了本发明方法的一实施例,其用于在基于容器的具有如上所述的操作系统的移动终端中用OS-1作为运行态系统来升级OS-2,该方法开始于步骤S10,通过设备节点/proc/dev_ns/switch_ns将OS-2切换到后台,及将OS-1切换到前台。具体地,切换通过控制容器前后台切换的节点switch_ns进行,各容器只需向其写入1,即切换到前台,写入0,即切换到后台。之后,处理进行到步骤S20,执行命令lxc-stop–n android停止待升级操作系统OS-2所在的容器。之后,处理进行到步骤S30,OS-1中有一个otad进程负责与服务器通信并从服务器下载OS-2的升级包,在此该升级包为完整升级包,下载后存放在内置sdcard目录上。之后,处理进行到步骤S40,弹出提示框提示用户是否确认升级。如果用户点击确认升级,处理进行到步骤S50,发送dbus给updated进程指示可以更新了。由于完整升级包比较大,没有使用对称加密,只进行了签名,在此只利用pubkey验证升级包的签名是否合法。合法则允许进入下一步升级流程,不合法则提示用户升级包非法,结束升级。在签名合法时,处理进行到步骤S60,将升级包中的镜像写入到OS-2所在的分区。之后,处理进行到步骤S70,执行命令lxc-start–n android再次启动OS-2所在的容器。可见,在整个升级过程中,均不需要重新启动移动终端。
图2示出了本发明方法的另一实施例,其类似于图1所示的实施例,但该实施例适用于升级包为增量升级包的情形即其中OS-2的升级包为增量升级包。由于增量升级包经过openssl对称加密和签名,为此,在步骤S50之前还包括步骤S45,updated进程对升级包进行解密,然后才进行步骤S50以验证升级包的签名是否合法。另外,在签名合法时,更新文件的处理也不同于图1所示的实施例。在图2所示的实施例中,在升级包签名合法时,步骤S60包括下述子步骤:S61,将OS-2的系统分区挂载到保存升级文件的目录,然后进行步骤S62,对待升级文件进行校验如md5sum,以确保待升级文件版本正确及未被修改过。然后进行步骤S63,用bspatch(补丁合成工具)和升级包中的补丁文件对待升级文件进行更新。打过补丁后,文件内容就更新到了新版本了,然后对打过补丁的文件的属性重新赋值。
在实施例中,本发明也可适用于多系统的情况。例如,假设有3个系统,一个SyberOS,2个Android,分别称为OS-1、OS-2和OS-3及分别运行于3个容器中。用SyberOS即OS-1升级OS-3即android-2时,也是先通过switch_ns节点将SyberOS切换到前台,然后执行命令lxc-stop-n android-2停掉android-2容器,然后按照图1或图2所示的流程进行升级即可。
图3示出了本发明装置的一实施例,其用于在基于容器的多操作系统移动终端中对操作系统进行升级,其中多个操作系统分别在不同容器中运行,该装置包括:系统切换单元10,用于将待升级操作系统切换到后台及将非升级操作系统之一切换到前台;容器停止单元20,用于停止待升级操作系统所在的容器;升级包下载单元30,用于使非升级操作系统从服务器下载待升级操作系统的升级包;升级确认单元40,用于使用户能进行是否升级的确认;验证单元50,用于在用户确认升级时验证升级包的签名是否合法;升级单元60,用于在签名合法时用升级包中的升级文件盖写待升级操作系统的相应文件;及容器启动单元70,用于在升级单元完成升级后启动待升级操作系统所在的容器。
图4示出了本发明装置的另一实施例,其包括图3所示实施例的所有单元。但在图4所示的实施例中,由于升级包为增量升级包,还包括解密单元45,用于在验证签名之前对升级包进行解密。此外,升级单元60包括:分区挂载子单元61,用于将待升级操作系统的系统分区挂载到保存升级包的目录;校验子单元62,用于对升级文件进行校验以确保升级文件版本正确及未被修改过;更新子单元63,用于用bspatch和升级包中的补丁文件对待升级文件进行更新;赋值子单元64,用于对打过补丁的文件的属性重新赋值。
一些优选实施例已经在前面进行了说明,但是应当强调的是,本发明不局限于这些实施例,而是可以本发明主题范围内的其它方式实现。

Claims (10)

1.一种基于容器的移动终端操作系统升级方法,其中多个操作系统分别在不同容器中运行,其特征在于,所述方法包括:
将待升级操作系统切换到后台,及将非升级操作系统之一切换到前台;
停止待升级操作系统所在的容器;
所述非升级操作系统从服务器下载待升级操作系统的升级包;
在用户确认升级时验证所述升级包的签名是否合法;
在所述签名合法时用所述升级包中的升级文件盖写待升级操作系统的相应文件;及
在升级完成后启动待升级操作系统所在的容器。
2.根据权利要求1所述的方法,其特征在于,在所述升级包为增量升级包时,在验证签名之前还包括对升级包进行解密。
3.根据权利要求1所述的方法,其特征在于,在所述升级包为增量升级包时,所述盖写包括:
将待升级操作系统的系统分区挂载到保存升级包的目录;
对升级文件进行校验以确保升级文件版本正确及未被修改过;
用bspatch和升级包中的补丁文件对待升级文件进行更新。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
对打过补丁的文件的属性重新赋值。
5.根据权利要求1所述的方法,其特征在于,在所述升级包为完整升级包时,所述盖写包括将升级包镜像写入到待升级操作系统的对应分区。
6.根据权利要求1所述的方法,其特征在于,所述切换通过设备节点进行。
7.一种基于容器的移动终端操作系统升级装置,其中多个操作系统分别在不同容器中运行,其特征在于,所述装置包括:
系统切换单元,用于将待升级操作系统切换到后台及将非升级操作系统之一切换到前台;
容器停止单元,用于停止待升级操作系统所在的容器;
升级包下载单元,用于使所述非升级操作系统从服务器下载待升级操作系统的升级包;
升级确认单元,用于使用户能进行是否升级的确认;
验证单元,用于在用户确认升级时验证所述升级包的签名是否合法;
升级单元,用于在所述签名合法时用所述升级包中的升级文件盖写待升级操作系统的相应文件;及
容器启动单元,用于在升级单元完成升级后启动待升级操作系统所在的容器。
8.根据权利要求7所述的装置,其特征在于,在所述升级包为增量升级包时,所述装置还包括解密单元,用于在验证签名之前对升级包进行解密。
9.根据权利要求7所述的装置,其特征在于,在所述升级包为增量升级包时,所述升级单元包括:
分区挂载子单元,用于将待升级操作系统的系统分区挂载到保存升级包的目录;
校验子单元,用于对升级文件进行校验以确保升级文件版本正确及未被修改过;
更新子单元,用于用bspatch和升级包中的补丁文件对待升级文件进行更新。
10.根据权利要求9所述的装置,其特征在于,所述升级单元还包括:
赋值子单元,用于对打过补丁的文件的属性重新赋值。
CN201510895570.6A 2015-12-08 2015-12-08 一种基于容器的移动终端操作系统升级方法和装置 Active CN105511920B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510895570.6A CN105511920B (zh) 2015-12-08 2015-12-08 一种基于容器的移动终端操作系统升级方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510895570.6A CN105511920B (zh) 2015-12-08 2015-12-08 一种基于容器的移动终端操作系统升级方法和装置

Publications (2)

Publication Number Publication Date
CN105511920A CN105511920A (zh) 2016-04-20
CN105511920B true CN105511920B (zh) 2019-05-14

Family

ID=55719927

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510895570.6A Active CN105511920B (zh) 2015-12-08 2015-12-08 一种基于容器的移动终端操作系统升级方法和装置

Country Status (1)

Country Link
CN (1) CN105511920B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445615A (zh) * 2016-10-12 2017-02-22 北京元心科技有限公司 多系统ota升级的方法及装置
CN107608735A (zh) * 2017-09-27 2018-01-19 郑州云海信息技术有限公司 一种容器镜像集成方法及其装置
CN110297653A (zh) * 2019-07-02 2019-10-01 浪潮云信息技术有限公司 一种容器服务升级的方法
US11017846B2 (en) * 2019-08-26 2021-05-25 Micron Technology, Inc. Updating program files of a memory device using a differential write operation
CN111813595A (zh) * 2020-05-20 2020-10-23 北京元心科技有限公司 操作系统修复方法、系统及相应设备、存储介质
CN113132154B (zh) * 2021-03-23 2023-01-31 北京网聚云联科技有限公司 一种基于eBPF技术的容器化应用平滑升级方法及系统
CN113342378B (zh) * 2021-06-25 2022-08-02 浪潮通用软件有限公司 一种基于文件系统更新的镜像生成方法、设备及介质
CN117270915A (zh) * 2023-11-20 2023-12-22 成都豪杰特科技有限公司 一种基于信息安全的软件升级方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102129375A (zh) * 2010-01-12 2011-07-20 中国移动通信集团公司 一种移动终端系统升级的方法和设备
CN103049289A (zh) * 2012-12-10 2013-04-17 广东欧珀移动通信有限公司 基于Android系统实现虚拟多系统的方法及装置
CN103677989A (zh) * 2013-12-13 2014-03-26 Tcl集团股份有限公司 一种利用linux内核实现多系统的装置及方法
CN103927227A (zh) * 2014-04-16 2014-07-16 乐视致新电子科技(天津)有限公司 多操作系统的切换方法和装置、及智能电视
CN104991811A (zh) * 2015-08-07 2015-10-21 北京元心科技有限公司 隔离系统切换时进程运行状态的调整方法以及智能终端

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252369A (zh) * 2013-06-27 2014-12-31 上海博泰悦臻电子设备制造有限公司 车载设备及其双系统备份方法及装置
CN103744693B (zh) * 2013-12-13 2017-12-08 乐视致新电子科技(天津)有限公司 一种多系统切换方法及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102129375A (zh) * 2010-01-12 2011-07-20 中国移动通信集团公司 一种移动终端系统升级的方法和设备
CN103049289A (zh) * 2012-12-10 2013-04-17 广东欧珀移动通信有限公司 基于Android系统实现虚拟多系统的方法及装置
CN103677989A (zh) * 2013-12-13 2014-03-26 Tcl集团股份有限公司 一种利用linux内核实现多系统的装置及方法
CN103927227A (zh) * 2014-04-16 2014-07-16 乐视致新电子科技(天津)有限公司 多操作系统的切换方法和装置、及智能电视
CN104991811A (zh) * 2015-08-07 2015-10-21 北京元心科技有限公司 隔离系统切换时进程运行状态的调整方法以及智能终端

Also Published As

Publication number Publication date
CN105511920A (zh) 2016-04-20

Similar Documents

Publication Publication Date Title
CN105511920B (zh) 一种基于容器的移动终端操作系统升级方法和装置
CN105573780B (zh) 一种基于容器的移动终端操作系统升级方法和装置
CN108074177B (zh) 数据对账方法、系统和计算机可读存储介质
US20150100955A1 (en) Method and System for Updating Software
CN106658475B (zh) 一种空中下载技术升级方法和装置
US9984255B2 (en) Methods and apparatus to enable runtime checksum verification of block device images
CN106126203B (zh) 一种ota开机加速方法及系统
CN109062598B (zh) 一种安全的ota升级方法及系统
CN105094913B (zh) 系统、基带固件和系统应用升级方法及装置
CN105159704A (zh) 一种批量部署操作系统的方法及装置
CN104657174A (zh) 一种用于动态实现应用功能的方法和装置
CN106201607A (zh) 一种软件版本的升级方法及设备
CN107783776B (zh) 固件升级包的处理方法及装置、电子设备
CN102945176A (zh) 终端设备开机、升级方法和设备
CN107992308A (zh) 一种安卓终端应用程序的插件化管理方法
CN110913015A (zh) 一种云手机app的分布式快捷安装方法、系统及介质
CN105867973A (zh) 应用程序中so文件的加载方法及系统
CN105808278A (zh) 一种客户端版本升级方法及装置
CN106303709B (zh) 一种机顶盒及其应用程序升级方法、系统
US20170039053A1 (en) Field update of boot loader using regular device firmware update procedure
KR102083751B1 (ko) 보안 요소에서의 객체들을 관리하기 위한 방법
CN107147519B (zh) 设备升级的方法、装置和系统
CN105260209A (zh) 一种程序热更新解决方法
CN105700918A (zh) 一种系统升级方法及装置
CN105468395A (zh) 更新方法、装置及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210218

Address after: 101300 room 153, 1 / F, building 17, 16 Caixiang East Road, Nancai Town, Shunyi District, Beijing

Patentee after: Yuanxin Information Technology Group Co.,Ltd.

Address before: 100176 room 2222, building D, building 33, 99 Kechuang 14th Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing

Patentee before: BEIJING YUANXIN SCIENCE & TECHNOLOGY Co.,Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20160420

Assignee: Beijing Yuanxin Junsheng Technology Co.,Ltd.

Assignor: Yuanxin Information Technology Group Co.,Ltd.

Contract record no.: X2021110000018

Denomination of invention: A mobile terminal operating system upgrade method and device based on container

Granted publication date: 20190514

License type: Common License

Record date: 20210531