CN105068834B - ***升级方法及装置 - Google Patents
***升级方法及装置 Download PDFInfo
- Publication number
- CN105068834B CN105068834B CN201510471363.8A CN201510471363A CN105068834B CN 105068834 B CN105068834 B CN 105068834B CN 201510471363 A CN201510471363 A CN 201510471363A CN 105068834 B CN105068834 B CN 105068834B
- Authority
- CN
- China
- Prior art keywords
- file
- upgrade
- patch file
- upgrading
- patch
- 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
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种***升级方法及装置。其中,所述方法包括:在恢复模式下,利用获取到的***升级包中的第一补丁文件对第一***文件进行升级;在第一***文件升级操作完成后结束所述恢复模式,根据升级后的第一***文件启动***;利用所述***升级包中的第二补丁文件对第二***文件进行升级。本发明实施例提供的技术方案,能够对现有的***升级机制进行优化,加快recovery模式下的升级时间,提升用户体验。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及***升级方法及装置。
背景技术
目前,各式各样的安装有操作***的智能终端蜂拥而现,例如智能手机、平板电脑或个人数字助理等。为满足用户需求,提升用户对智能终端的使用体验,往往需要对操作***进行升级。其中,升级过程可以通过无线或有线两种方式实现。
OTA(Over the Air Technology,空中下载技术)作为一种无线升级技术,能够为智能终端用户提供多元化和个性化的操作***升级服务。运营商在发布操作***升级版本后,通常是将操作***升级包存储于OTA服务器中,智能终端会基于本机的操作***版本,利用空中接口从OTA服务器获取相应的升级包,以对操作***进行升级。
但是,在现有技术中,智能终端操作***的升级过程全部是在recovery(恢复)模式下完成的。随着智能终端功能越来越多,内置的应用程序也会越来越多,从而导致system(***)分区也随着增大,从而在升级时需要的patch(补丁)文件也增多;同时,不同厂商也会自我增加分区以满足个性化定制操作***的需求,如增加第一分区来存放一些驱动文件,增加第二分区存放静态的开机图片文件,增加第三分区存放通话功能模块文件等,这些分区中的文件也需要升级。以上原因会导致升级包容量较大,使得停留在recovery模式下进行操作***升级的时间会较长,用户体验较差。
发明内容
本发明实施例提供一种***升级方法及装置,以对现有的***升级机制进行优化,缩短recovery模式下的升级时间,提升用户体验。
一方面,本发明实施例提供了一种***升级方法,该方法包括:
在恢复模式下,利用获取到的***升级包中的第一补丁文件对第一***文件进行升级;
在第一***文件升级操作完成后结束所述恢复模式,根据升级后的第一***文件启动***;
利用所述***升级包中的第二补丁文件对第二***文件进行升级。
另一方面,本发明实施例还提供了一种***升级装置,该装置包括:
第一升级单元,用于在恢复模式下,利用获取到的***升级包中的第一补丁文件对第一***文件进行升级;
***启动单元,用于在第一***文件升级操作完成后结束所述恢复模式,根据升级后的第一***文件启动***;
第二升级单元,用于利用所述***升级包中的第二补丁文件对第二***文件进行升级。
在本发明实施例中,为解决背景技术中存在的技术问题,提供了一种分阶段对***进行升级的方案,将部分升级操作放在非recovery模式下加以执行,从而可以缩短recovery模式下的升级时间,提升用户体验。
附图说明
图1是本发明实施例一提供的一种***升级方法的流程示意图;
图2是本发明实施例三提供的一种***升级方法的流程示意图;
图3是本发明实施例四提供的一种***升级装置的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1是本发明实施例一提供的一种***升级方法的流程示意图。该方法可以由***升级装置来执行,所述装置由软件实现,应用于诸如智能手机、平板电脑或个人数字助理等之类的安装有操作***的智能终端上。参见图1,本实施例提供的***升级方法所包括的执行操作具体如下。
S110、在恢复模式下,利用获取到的***升级包中的第一补丁文件对第一***文件进行升级。
***升级包可以为基于OTA从服务器获取到的***升级包,或者基于有线方式从其他设备获取到的***升级包。例如,***升级装置所应用的智能终端为智能手机,***升级包为从台式电脑这一其他设备获取得到。其中,***升级包为用于对智能终端上的操作***进行升级的数据包。
***升级包中包括:第一补丁文件和第一升级脚本;以及,第二补丁文件和第二升级脚本。第一补丁文件为启动智能终端的操作***所必需的各补丁文件;第二补丁文件为不影响智能终端的操作***的启动的各补丁文件,也即为启动智能终端的操作***非必需的各补丁文件。
在恢复模式下,可先对第一升级脚本进行编译,以生成第一可执行程序;而后执行第一可执行程序,以利用获取到的***升级包中的第一补丁文件对第一***文件进行升级。其中,第一***文件为智能终端上启动操作***所必需的待升级的旧版本***文件(简称第一旧版本文件),例如可包括:智能终端的操作***内核文件、开机图片文件等。如果升级方式是增量升级方式,第一补丁文件为与第一***文件对应的新版本***文件(简称第一新版本文件);如果升级方式是全量升级方式,第一补丁文件为对所述第一新版本文件和第一旧版本文件进行差分计算确定得到的差分文件。
S120、在第一***文件升级操作完成后结束恢复模式,根据升级后的第一***文件启动***。具体为启动操作***。
S130、利用***升级包中的第二补丁文件对第二***文件进行升级。
具体的,可先对第二升级脚本进行编译,以生成第二可执行程序;而后执行第二可执行程序,以利用获取到的***升级包中的第二补丁文件对第二***文件进行升级。其中,第二***文件为智能终端上启动操作***非必需的待升级的旧版本***文件(简称第二旧版本文件)。如果升级方式是增量升级方式,第二补丁文件为与第二***文件对应的新版本***文件(简称第二新版本文件);如果升级方式是全量升级方式,第二补丁文件为对所述第二新版本文件和第二旧版本文件进行差分计算确定得到的差分文件。
作为本实施例的一种具体实施方式,可在根据升级后的第一***文件启动***的过程中,当***内核启动的第一个用户级进程(也即init进程)被执行时,通过该进程利用***升级包中的第二补丁文件对第二***文件进行升级。需要说明的是,还可在其他状态下利用***升级包中的第二补丁文件对第二***文件进行升级,只要保证该状态为除恢复模式状态之外的其他状态即可。
本实施例提供了一种分阶段对***进行升级的方案,将部分升级操作放在非recovery模式下加以执行,从而可以缩短recovery模式下的升级时间,提升用户体验。
实施例二
本实施例在上述实施例一的基础上,对“利用所述***升级包中的第二补丁文件对第二***文件进行升级”的操作进行优化,并增加升级校验的操作。
具体的,本实施例提供的***升级方法,在实施例一提供的***升级方法的基础上,还包括:在恢复模式下,提取所述***升级包中的第二补丁文件,存储至存储空间的数据分区。
相应的,利用***升级包中的第二补丁文件对第二***文件进行升级,包括:加载数据分区存储的第二补丁文件;利用加载到的第二补丁文件对第二***文件进行升级。当然,本领域的普通技术人员应理解,还可将第二补丁文件存储至存储空间的其他分区,例如为***分区。
优选的,在对第二***文件进行升级之后,还包括:将数据分区存储的第二补丁文件进行删除。
使用数据分区而非其他分区来存储***升级包中的第二补丁文件,其原因在于:通常情况下,数据分区的存储空间较大,即使第二补丁文件为全量升级方式所对应的容量较大的第二新版本文件,也能够完整地存储第二补丁文件,这样有利于升级过程中对第二补丁文件的加载速度。
如果将第二补丁文件存储在存储空间较小的***分区,则很可能因该***分区的存储空间不足,而将第二补丁文件的中部分子文件存储至其他分区,这样会导致后续升级时对第二补丁文件的读取速度。当然,也可在对智能终端上的存储空间进行分区时,本身就将***分区的存储空间分配大一些,以在恢复模式下能够将全部的第二补丁文件存储在***分区,但是这样会造成存储资源的极大浪费,因为智能终端的存储空间是设定的,如果***分区的存储空间大了,数据分区的存储空间也就相应小了,也即该数据分区所要存储的智能终端用户的联系人、短信、设置、用户安装的应用程序等数据量也就少了,严重影响用户体验。
另外,本实施例提供的方案,在利用获取到的***升级包中的第一补丁文件对第一***文件进行升级之前,还包括:在恢复模式下,对***升级包中的各补丁文件进行升级校验;如果升级校验成功,则执行利用获取到的***升级包中的第一补丁文件对第一***文件进行升级的操作。
具体的,***升级包中还包括与各补丁文件一一对应的校验文件。利用校验文件能够对与之对应的补丁文件进行解析生成第一校验码,对于该补丁文件对应的***文件进行解析生成第二校验码。如果检测到第一校验码与第二校验码相匹配,则判定对该补丁文件的升级校验成功。
实施例三
图2是本发明实施例三提供的一种***升级方法的流程示意图。本实施例可以以上述所有实施例为基础,提供了一种优选实例。该方法由***升级装置来执行,所述装置由软件实现,应用于安装有安卓操作***的智能手机或平板电脑上。参见图2,本实施例提供的***升级方法所包括的执行操作具体如下。
S210、基于空中下载技术从服务器获取***升级包。
***升级包中可包括两个文件夹。第一文件夹内包括第一补丁文件、第一升级脚本和第一校验文件;第二文件夹为自定义custom文件夹,包括第二补丁文件、第二升级脚本和第二校验文件。其中,第一升级脚本的格式与已有技术中***升级包包含的升级脚本格式相同,对其进行编译能够生成可运行在恢复模式下的第一可执行程序;第二升级脚本的格式与已有的***升级包中的升级脚本格式不同,为sh脚本,对其进行编译能够生成可运行在启动***过程中init进程下的第二可执行程序。
S220、启动进入恢复模式。之后,可先根据第一校验文件和第二校验文件对相应的补丁文件进行升级校验,如果校验成功,则执行操作S230。
S230、对第一升级脚本进行编译以生成第一可执行程序,并运行该程序以利用第一补丁文件对第一***文件进行升级。
S240、提取***升级包中的第二补丁文件,存储至存储空间的数据分区。
在本实施例中,并不对操作S230和操作S240的先后执行顺序做具体限定,这两个操作还可同时被执行,或者操作S240先于操作230执行。
S250、在第一***文件升级操作完成后结束恢复模式,根据升级后的第一***文件启动***。
其中,在第一***文件升级操作完成后,会自动将第二升级脚本进行编译以生成第二可执行程序,存放至system/bin目录下。
S260、在根据升级后的第一***文件启动***的过程中,当***内核启动的第一个用户级进程被执行时,通过该进程运行第二可执行程序以读取数据分区中的第二补丁文件对第二***文件进行升级。
S270、将数据分区存储的第二补丁文件进行删除。
实施例四
图3是本发明实施例四提供的***升级装置的结构示意图。参见图3,该装置的具体结构如下:
第一升级单元310,用于在恢复模式下,利用获取到的***升级包中的第一补丁文件对第一***文件进行升级;
***启动单元320,用于在第一***文件升级操作完成后结束所述恢复模式,根据升级后的第一***文件启动***;
第二升级单元330,用于利用所述***升级包中的第二补丁文件对第二***文件进行升级。
示例性的,所述第二升级单元330,具体用于:
在根据升级后的第一***文件启动***的过程中,当***内核启动的第一个用户级进程被执行时,通过该进程利用所述***升级包中的第二补丁文件对第二***文件进行升级。
示例性的,本实施例提供的***升级装置还包括:存储单元340,用于在所述恢复模式下,提取所述***升级包中的第二补丁文件,存储至存储空间的数据分区;
所述第二升级单元330,具体用于:加载所述数据分区存储的第二补丁文件;利用加载到的第二补丁文件对第二***文件进行升级。
示例性的,本实施例提供的***升级装置还包括:删除单元350,用于在所述第二升级单元330对第二***文件进行升级之后,将所述数据分区存储的第二补丁文件进行删除。
在本实施例提供的上述技术方案的基础上,本实施例提供的***升级装置还包括:校验单元300,用于在所述第一升级单元310利用获取到的***升级包中的第一补丁文件对第一***文件进行升级之前:
在所述恢复模式下,对所述***升级包中的各补丁文件进行升级校验;
如果升级校验成功,则执行利用获取到的***升级包中的第一补丁文件对第一***文件进行升级的操作。
在本实施例提供的上述技术方案的基础上,所述***升级包为基于空中下载技术从服务器获取到的***升级包。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种***升级方法,其特征在于,包括:
在恢复模式下,利用获取到的***升级包中的第一补丁文件对第一***文件进行升级;
在第一***文件升级操作完成后结束所述恢复模式,根据升级后的第一***文件启动***;
利用所述***升级包中的第二补丁文件对第二***文件进行升级;
其中,利用所述***升级包中的第二补丁文件对第二***文件进行升级,包括:
在根据升级后的第一***文件启动***的过程中,当***内核启动的第一个用户级进程被执行时,通过该进程利用所述***升级包中的第二补丁文件对第二***文件进行升级。
2.根据权利要求1所述的方法,其特征在于,还包括:在所述恢复模式下,提取所述***升级包中的第二补丁文件,存储至存储空间的数据分区;
利用所述***升级包中的第二补丁文件对第二***文件进行升级,包括:
加载所述数据分区存储的第二补丁文件;利用加载到的第二补丁文件对第二***文件进行升级。
3.根据权利要求2所述的方法,其特征在于,在对第二***文件进行升级之后,还包括:将所述数据分区存储的第二补丁文件进行删除。
4.根据权利要求1-3中任一项所述的方法,其特征在于,在利用获取到的***升级包中的第一补丁文件对第一***文件进行升级之前,还包括:
在所述恢复模式下,对所述***升级包中的各补丁文件进行升级校验;
如果升级校验成功,则执行利用获取到的***升级包中的第一补丁文件对第一***文件进行升级的操作。
5.根据权利要求1-3中任一项所述的方法,其特征在于,所述***升级包为基于空中下载技术从服务器获取到的***升级包。
6.一种***升级装置,其特征在于,包括:
第一升级单元,用于在恢复模式下,利用获取到的***升级包中的第一补丁文件对第一***文件进行升级;
***启动单元,用于在第一***文件升级操作完成后结束所述恢复模式,根据升级后的第一***文件启动***;
第二升级单元,用于利用所述***升级包中的第二补丁文件对第二***文件进行升级;
所述第二升级单元,具体用于:
在根据升级后的第一***文件启动***的过程中,当***内核启动的第一个用户级进程被执行时,通过该进程利用所述***升级包中的第二补丁文件对第二***文件进行升级。
7.根据权利要求6所述的装置,其特征在于,还包括:存储单元,用于在所述恢复模式下,提取所述***升级包中的第二补丁文件,存储至存储空间的数据分区;
所述第二升级单元,具体用于:加载所述数据分区存储的第二补丁文件;利用加载到的第二补丁文件对第二***文件进行升级。
8.根据权利要求7所述的装置,其特征在于,还包括:删除单元,用于在所述第二升级单元对第二***文件进行升级之后,将所述数据分区存储的第二补丁文件进行删除。
9.根据权利要求6-8中任一项所述的装置,其特征在于,还包括:校验单元,用于在所述第一升级单元利用获取到的***升级包中的第一补丁文件对第一***文件进行升级之前:
在所述恢复模式下,对所述***升级包中的各补丁文件进行升级校验;
如果升级校验成功,则执行利用获取到的***升级包中的第一补丁文件对第一***文件进行升级的操作。
10.根据权利要求6-8中任一项所述的装置,其特征在于,所述***升级包为基于空中下载技术从服务器获取到的***升级包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510471363.8A CN105068834B (zh) | 2015-08-04 | 2015-08-04 | ***升级方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510471363.8A CN105068834B (zh) | 2015-08-04 | 2015-08-04 | ***升级方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105068834A CN105068834A (zh) | 2015-11-18 |
CN105068834B true CN105068834B (zh) | 2018-02-09 |
Family
ID=54498212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510471363.8A Active CN105068834B (zh) | 2015-08-04 | 2015-08-04 | ***升级方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105068834B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105867962A (zh) * | 2015-12-07 | 2016-08-17 | 乐视移动智能信息技术(北京)有限公司 | ***升级的方法和装置 |
CN105577451A (zh) * | 2016-01-29 | 2016-05-11 | 贵阳海信电子有限公司 | 云电视***的升级方法及装置 |
CN107341024B (zh) * | 2016-04-28 | 2020-02-14 | 华为技术有限公司 | ***升级方法和***升级装置 |
CN107526574A (zh) * | 2016-06-20 | 2017-12-29 | 阿里巴巴集团控股有限公司 | ***启动模式的控制方法及装置 |
CN107783776B (zh) * | 2016-08-26 | 2021-10-15 | 斑马智行网络(香港)有限公司 | 固件升级包的处理方法及装置、电子设备 |
CN106681761B (zh) * | 2016-12-13 | 2020-12-01 | 深圳市恒扬数据股份有限公司 | 一种交互式升级的方法及*** |
CN112463199A (zh) * | 2019-09-09 | 2021-03-09 | 青岛海信移动通信技术股份有限公司 | 一种***升级方法及终端 |
CN111459524A (zh) * | 2020-04-02 | 2020-07-28 | 安谋科技(中国)有限公司 | 软件的升级方法、装置、*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889042A (zh) * | 2006-07-17 | 2007-01-03 | 华为技术有限公司 | 一种终端升级方法及*** |
CN101425018A (zh) * | 2008-12-05 | 2009-05-06 | 深圳创维数字技术股份有限公司 | 基于分段式的嵌入式固件升级方法及装置 |
CN102650947A (zh) * | 2012-04-01 | 2012-08-29 | 广东欧珀移动通信有限公司 | 一种Android手持设备连续增量的空中升级方法 |
CN102880495A (zh) * | 2012-10-15 | 2013-01-16 | 华为终端有限公司 | 移动终端及其软件升级方法 |
CN103533431A (zh) * | 2012-08-15 | 2014-01-22 | Tcl集团股份有限公司 | 基于智能电视的实现***升级的方法、***及智能电视 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8635492B2 (en) * | 2011-02-15 | 2014-01-21 | International Business Machines Corporation | State recovery and lockstep execution restart in a system with multiprocessor pairing |
-
2015
- 2015-08-04 CN CN201510471363.8A patent/CN105068834B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889042A (zh) * | 2006-07-17 | 2007-01-03 | 华为技术有限公司 | 一种终端升级方法及*** |
CN101425018A (zh) * | 2008-12-05 | 2009-05-06 | 深圳创维数字技术股份有限公司 | 基于分段式的嵌入式固件升级方法及装置 |
CN102650947A (zh) * | 2012-04-01 | 2012-08-29 | 广东欧珀移动通信有限公司 | 一种Android手持设备连续增量的空中升级方法 |
CN103533431A (zh) * | 2012-08-15 | 2014-01-22 | Tcl集团股份有限公司 | 基于智能电视的实现***升级的方法、***及智能电视 |
CN102880495A (zh) * | 2012-10-15 | 2013-01-16 | 华为终端有限公司 | 移动终端及其软件升级方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105068834A (zh) | 2015-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105068834B (zh) | ***升级方法及装置 | |
CN105100191B (zh) | 一种云编译实现Java应用安装的方法、装置及*** | |
CN102915247B (zh) | Apk插件化管理方法 | |
CN106658475B (zh) | 一种空中下载技术升级方法和装置 | |
US8972973B2 (en) | Firmware update discovery and distribution | |
CN103229144B (zh) | 预热软件安装 | |
CN110597542B (zh) | 软件自动ota升级方法及装置、电子设备 | |
EP2864872B1 (en) | Automatic provisioning of a software platform to a device ecosystem | |
CN104375856A (zh) | 应用更新方法和装置 | |
CN106484450A (zh) | 一种软件升级方法及装置 | |
CN104699515B (zh) | 一种基于Android操作***的升级方法和智能终端 | |
CN105354065B (zh) | 一种多产品软件升级方法及终端 | |
CN108089873A (zh) | 一种应用组件即时更新的方法及终端 | |
CN102830989A (zh) | 阅读器提供服务的方法、阅读器及终端 | |
CN107729042A (zh) | 移动应用升级方法及装置、存储介质、电子设备 | |
CN111290801A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN109947450A (zh) | ***文件升级方法、装置、移动终端及可读存储介质 | |
CN104598237B (zh) | 一种在升级模式下生成用户界面的方法和装置 | |
CN104731626B (zh) | 应用的安装方法及装置 | |
CN104598281B (zh) | 用于升级电子设备的***的方法 | |
CN107656745A (zh) | 一种数据处理方法、终端及计算机可读介质 | |
CN106445601A (zh) | 一种插件升级的方法及装置 | |
CN115951920A (zh) | 移动设备升级方法、装置、存储单元和移动设备 | |
CN105354066A (zh) | Ota下载的方法、装置及智能终端 | |
KR20070022439A (ko) | 이동통신 단말기에서 실행되는 데이터 업데이트 방법 |
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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18 Patentee after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd. Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18 Patentee before: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |