CN104951348B - 一种可中断的recovery升级方法及装置 - Google Patents
一种可中断的recovery升级方法及装置 Download PDFInfo
- Publication number
- CN104951348B CN104951348B CN201510419447.7A CN201510419447A CN104951348B CN 104951348 B CN104951348 B CN 104951348B CN 201510419447 A CN201510419447 A CN 201510419447A CN 104951348 B CN104951348 B CN 104951348B
- Authority
- CN
- China
- Prior art keywords
- upgrading
- upgrade
- state
- recovery
- terminal
- 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.)
- Expired - Fee Related
Links
- 238000011084 recovery Methods 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000001514 detection method Methods 0.000 claims abstract description 7
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种可中断的recovery升级方法及装置,该方法包括以下步骤:在recovery升级过程中,每执行一条升级命令,则将升级前的文件先备份到system分区下的backup目录,并生成一个新的升级脚本,在每执行完一条升级命令时分别对应地往升级脚本中写入一条状态恢复命令;当接收到中断升级的指令时,检测系统当前执行到第几条升级命令,并在该条升级命令执行完成后,停止当前的升级过程;执行当前写入到升级脚本中的每一条状态恢复命令,对应获取备份到backup目录中的升级前的文件进行反转升级,使系统在执行完成升级脚本中的所有状态恢复命令后恢复到升级前的状态,其可实现升级中断,便于用户操作。
Description
技术领域
本发明涉及Android系统升级技术领域,更具体地说,是涉及一种可中断的recovery升级方法及装置。
背景技术
随着智能手机的普及,智能手机已成为了人们生活不可或缺的一部分。目前,现有的智能手机一般安装有Android系统、IOS系统或其他手机系统。其中,Android系统具有recovery升级功能,可以在recovery模式下进行系统升级,保证系统的不断更新完善,给用户以最好的体验。但是在recovery模式中的升级过程是不可中断的,如果用户将手机升级到一定阶段时,突然想取消升级,那么就没有办法了,一旦执行了升级,只能坐等其升级完成,这给用户带来了极大的不便。
发明内容
本发明的目的在于克服现有技术中的上述缺陷,提供一种可中断的recovery升级方法及装置,其便于用户操作,避免了因误操作等情况导致的系统隐患问题发生。
为实现上述目的,本发明的第一方面提供了一种可中断的recovery升级方法,包括以下步骤:
在终端的recovery升级过程中,每执行一条升级命令,则将升级前的文件先备份到system分区下的backup目录,并生成一个新的升级脚本,在每执行完一条升级命令时分别对应地往所述升级脚本中写入一条状态恢复命令;
当接收到中断升级的指令时,检测系统当前执行到第几条升级命令,并在该条升级命令执行完成后,停止当前的升级过程;
执行当前写入到所述升级脚本中的每一条状态恢复命令,对应获取备份到backup目录中的升级前的文件进行反转升级,使系统在执行完成所述升级脚本中的所有状态恢复命令后恢复到升级前的状态。
作为优选的,在上述方法中,所述中断升级的指令是由终端检测到连续点击返回键的事件发生,且连续点击返回键的次数达到预设的次数阈值以及相邻两次点击返回键的时间差不超过预设的时间阈值时而生成。
作为优选的,在上述方法中,所述次数阈值设置为5次。
作为优选的,在上述方法中,当反转升级开始时,系统的升级进度条由反转升级前的正向播放变为反向播放,以显示恢复到升级前的状态的进度。
作为优选的,在上述方法中,所述在终端的recovery升级过程中执行的升级命令所指定的升级包由本地终端通过蓝牙连接方式连接到另一终端,从而通过另一终端根据本地终端的软体版本号信息下载而获得,或者,由本地终端直接通过连接OTA服务器下载而获得。
本发明的第二方面提供了一种可中断的recovery升级装置,该装置包括:
备份模块,用于在终端的recovery升级过程中,每执行一条升级命令,则将升级前的文件先备份到system分区下的backup目录;
升级脚本模块,用于生成一个新的升级脚本,在每执行完一条升级命令时分别对应地往所述升级脚本中写入一条状态恢复命令;
中断指令生成模块,用于生成中断升级的指令;
升级停止模块,用于当接收到中断升级的指令时,检测系统当前执行到第几条升级命令,并在该条升级命令执行完成后,停止当前的升级过程;
恢复模块,用于执行当前写入到所述升级脚本中的每一条状态恢复命令,对应获取备份到backup目录中的升级前的文件进行反转升级,使系统在执行完成所述升级脚本中的所有状态恢复命令后恢复到升级前的状态。
作为优选的,在上述装置中,所述中断指令生成模块进一步用于当终端检测到连续点击返回键的事件发生,且连续点击返回键的次数达到预设的次数阈值以及相邻两次点击返回键的时间差不超过预设的时间阈值时,则生成中断升级的指令。
作为优选的,在上述装置中,所述次数阈值设置为5次。
作为优选的,在上述装置中,该装置还包括:
进度条显示模块,用于当反转升级开始时,使系统的升级进度条由反转升级前的正向播放变为反向播放,以显示恢复到升级前的状态的进度。
作为优选的,在上述装置中,所述在终端的recovery升级过程中执行的升级命令所指定的升级包由本地终端通过蓝牙连接方式连接到另一终端,从而通过另一终端根据本地终端的软体版本号信息下载而获得,或者,由本地终端直接通过连接OTA服务器下载而获得。
与现有技术相比,本发明的有益效果在于:
本发明在用户中断升级时能够检测系统当前执行到第几条升级命令,并在该条升级命令执行完成后,停止当前的升级过程,之后执行当前写入到升级脚本中的每一条状态恢复命令,对应获取备份到system分区下的backup目录中的升级前的文件进行反转升级,使系统在执行完成所述升级脚本中的所有状态恢复命令后恢复到升级前的状态,运用本发明之后,用户可以在想要取消升级时执行中断操作,让系统回归到升级前的状态,其便于用户操作,避免了因误操作等情况导致的系统隐患问题发生。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例所述的一种可中断的recovery升级方法的流程图;
图2是本发明实施例所述的一种可中断的recovery升级装置的结构框图;
图3是本发明实施例所述的另一种可中断的recovery升级装置的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明的实施例一提供了一种可中断的recovery升级方法,下面结合附图对本实施例进行详细说明。图1是本发明实施例一的方法流程图,请参考图1,本发明实施例的方法包括以下步骤:
步骤S101、在终端的recovery升级过程中,每执行一条升级命令,则将升级前的文件先备份到system分区下的backup目录,并生成一个新的升级脚本,在每执行完一条升级命令时分别对应地往所述升级脚本中写入一条状态恢复命令;
本发明实施例中,上述终端的操作系统为Android(即安卓)系统。该recovery升级过程在Recovery模式下进行,其中,Recovery模式指的是一种可以对搭载Android系统的智能终端内部的数据或系统进行修改的模式。在这个模式下,用户可以刷入新的Android系统,或者对已有的Android系统进行备份或升级,也可以在此恢复出厂设置。
具体的,在recovery升级过程中新建的升级脚本可以为update_contrary_script升级脚本。其中,所述状态恢复命令的内容可以为当系统从A1状态升级到A2状态,那么先将A1状态的文件备份保存起来,若后面要中断升级,则恢复到A1状态。
在终端的recovery升级过程中执行的升级命令所指定的升级包可以由本地终端直接通过连接OTA服务器下载而获得。当然,也可以由本地终端通过蓝牙连接方式连接到另一终端,从而通过另一终端根据本地终端的软体版本号信息下载而获得,即可通过一个可承受高流量的终端A给另一个不可承受高流量的终端B进行recovery升级。
举例而言,终端A为可承受高流量的终端,终端B为不可承受高流量的终端,终端B可以利用终端A对自身进行recovery升级,此时需要终端A、B通过蓝牙建立连接,终端B向终端A发起请求,要进行recovery升级,同时终端B将自身的软体版本号信息记录到一个文件recovery.txt中,此文件在后台通过蓝牙发送给终端A,当终端A获取到终端B发来的recovery.txt文件,对其进行解析,通过解析出的版本号信息,从OTA服务器下载其对应的升级包到终端A的本地磁盘,下载完毕后,通过蓝牙将下载下来的升级包发送给终端B,同时发送recovery升级命令给终端B,升级命令中指定终端B的升级包位置,记位置为T,当终端B的系统获取到这些升级命令,重启进入recovery模式,则可以利用位置T的升级包进行升级。
步骤S102、当接收到中断升级的指令时,检测系统当前执行到第几条升级命令,并在该条升级命令执行完成后,停止当前的升级过程;
具体操作时,所述中断升级的指令可以由当终端检测到连续点击返回键的事件发生,且连续点击返回键的次数达到预设的次数阈值以及相邻两次点击返回键的时间差不超过预设的时间阈值时而生成。其中,所述次数阈值可以设置为5次,当然也可以为其他次数,只要能够防止误操作即可,非本实施为限。此外,所述时间差可以自定义,比如设置为0.3秒。
步骤S103、执行当前写入到所述升级脚本中的每一条状态恢复命令,对应获取备份到backup目录中的升级前的文件进行反转升级,使系统在执行完成所述升级脚本中的所有状态恢复命令后恢复到升级前的状态。
具体的,当第N条升级命令执行完成后,此时update_contrary_script升级脚本中写入有相应条数的状态恢复命令,若检测到上述连续点击返回键的事件,此时系统就会根据升级脚本中的命令进行反转升级。比如:原来正常的升级是要将系统从A1状态升级到A2状态,那么反转升级就要把系统从A2状态升级到A1状态,相当于一个恢复的过程。
其中,在正常的升级过程中,升级进度条是从左向右播放的,可以让用户观察到升级的进度,而当反转升级开始时,系统的升级进度条则会由正向播放变为反向播放(即从右向左播放),以显示恢复到升级前的状态的进度,便于用户观察。
运用本发明的方法之后,用户可以在想要取消升级时执行中断操作,让系统回归到升级前的状态,其便于用户操作,避免了因误操作等情况导致的系统隐患问题发生。
实施例二
本发明的实施例二提供了一种可中断的recovery升级装置,请参考图2,本发明实施例的装置包括备份模块1、升级脚本模块2、中断指令生成模块3、升级停止模块4和恢复模块5,下面将对上述各模块的原理进行详细的说明。
备份模块1,用于在终端的recovery升级过程中,每执行一条升级命令,则将升级前的文件先备份到system分区下的backup目录。
其中,在终端的recovery升级过程中执行的升级命令所指定的升级包可以由本地终端直接通过连接OTA服务器下载而获得。当然,也可以由本地终端通过蓝牙连接方式连接到另一终端,从而通过另一终端根据本地终端的软体版本号信息下载而获得。
升级脚本模块2,用于生成一个新的升级脚本,在每执行完一条升级命令时分别对应地往所述升级脚本中写入一条状态恢复命令。
具体的,在recovery升级过程中新建的升级脚本可以为update_contrary_script升级脚本。其中,所述状态恢复命令的内容可以为当系统从A1状态升级到A2状态,那么先将A1状态的文件备份保存起来,若后面要中断升级,则恢复到A1状态。
中断指令生成模块3,用于生成中断升级的指令。
在实际操作时,所述中断指令生成模块3可以进一步用于当终端检测到连续点击返回键的事件发生,且连续点击返回键的次数达到预设的次数阈值以及相邻两次点击返回键的时间差不超过预设的时间阈值时,则生成中断升级的指令。其中,所述次数阈值可以设置为5次,当然也可以为其他次数,只要能够防止误操作即可,非本实施为限。此外,所述时间差可以自定义,比如设置为0.3秒。
升级停止模块4,用于当接收到中断升级的指令时,检测系统当前执行到第几条升级命令,并在该条升级命令执行完成后,停止当前的升级过程;
恢复模块5,用于执行当前写入到所述升级脚本中的每一条状态恢复命令,对应获取备份到backup目录中的升级前的文件进行反转升级,使系统在执行完成所述升级脚本中的所有状态恢复命令后恢复到升级前的状态。
如图3所示,作为优选的实施方式,在另一实施中,该装置还可以包括:
进度条显示模块6,用于当反转升级开始时,使系统的升级进度条由反转升级前的正向播放变为反向播放,以显示恢复到升级前的状态的进度。
运用本发明的装置之后,用户可以在想要取消升级时执行中断操作,让系统回归到升级前的状态,其便于用户操作,避免了因误操作等情况导致的系统隐患问题发生。
需要说明的是,上述实施例提供的一种可中断的recovery升级装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。此外,该终端可以是手机、平板电脑、人机交互终端或其他带有Android系统的移动终端设备。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (6)
1.一种可中断的recovery升级方法,其特征在于,该方法包括以下步骤:
在终端的recovery升级过程中,每执行一条升级命令,则将升级前的文件先备份到system分区下的backup目录,并生成一个新的升级脚本,在每执行完一条升级命令时分别对应地往所述升级脚本中写入一条状态恢复命令;所述状态恢复命令的内容为当系统从A1状态升级到A2状态时,先将A1状态的文件备份保存起来,若后面要中断升级,则恢复到A1状态;
当接收到中断升级的指令时,检测系统当前执行到第几条升级命令,并在该条升级命令执行完成后,停止当前的升级过程;所述中断升级的指令是由终端检测到点击返回键的事件发生,且点击返回键的次数达到预设阈值以及相邻两次点击返回键的时间差在预设阈值范围时生成;
执行当前写入到所述升级脚本中的每一条状态恢复命令,对应获取备份到backup目录中的升级前的文件进行反转升级,使系统在执行完成所述升级脚本中的所有状态恢复命令后恢复到升级前的状态;
在正常的升级过程中,升级进度条是从左向右播放的,而当反转升级开始时,系统的升级进度条则会由正向播放变为反向播放,以显示恢复到升级前的状态的进度。
2.根据权利要求1所述的一种可中断的recovery升级方法,其特征在于,所述次数阈值设置为5次。
3.根据权利要求1所述的一种可中断的recovery升级方法,其特征在于,所述在终端的recovery升级过程中执行的升级命令所指定的升级包由本地终端通过蓝牙连接方式连接到另一终端,从而通过另一终端根据本地终端的软体版本号信息下载而获得,或者,由本地终端直接通过连接OTA服务器下载而获得。
4.一种可中断的recovery升级装置,其特征在于,该装置包括:
备份模块,用于在终端的recovery升级过程中,每执行一条升级命令,则将升级前的文件先备份到system分区下的backup目录;
升级脚本模块,用于生成一个新的升级脚本,在每执行完一条升级命令时分别对应地往所述升级脚本中写入一条状态恢复命令;所述状态恢复命令的内容为当系统从A1状态升级到A2状态时,先将A1状态的文件备份保存起来,若后面要中断升级,则恢复到A1状态;
中断指令生成模块,用于生成中断升级的指令,还用于当终端检测到点击返回键的事件发生,且点击返回键的次数达到预设阈值以及相邻两次点击返回键的时间差在预设阈值范围时生成中断升级的指令;
升级停止模块,用于当接收到中断升级的指令时,检测系统当前执行到第几条升级命令,并在该条升级命令执行完成后,停止当前的升级过程;
恢复模块,用于执行当前写入到所述升级脚本中的每一条状态恢复命令,对应获取备份到backup目录中的升级前的文件进行反转升级,使系统在执行完成所述升级脚本中的所有状态恢复命令后恢复到升级前的状态;
进度条显示模块,用于当反转升级开始时,使系统的升级进度条由反转升级前的正向播放变为反向播放,以显示恢复到升级前的状态的进度。
5.根据权利要求4所述的一种可中断的recovery升级装置,其特征在于,所述次数阈值设置为5次。
6.根据权利要求4所述的一种可中断的recovery升级装置,其特征在于,所述在终端的recovery升级过程中执行的升级命令所指定的升级包由本地终端通过蓝牙连接方式连接到另一终端,从而通过另一终端根据本地终端的软体版本号信息下载而获得,或者,由本地终端直接通过连接OTA服务器下载而获得。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510419447.7A CN104951348B (zh) | 2015-07-16 | 2015-07-16 | 一种可中断的recovery升级方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510419447.7A CN104951348B (zh) | 2015-07-16 | 2015-07-16 | 一种可中断的recovery升级方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104951348A CN104951348A (zh) | 2015-09-30 |
CN104951348B true CN104951348B (zh) | 2018-12-11 |
Family
ID=54166017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510419447.7A Expired - Fee Related CN104951348B (zh) | 2015-07-16 | 2015-07-16 | 一种可中断的recovery升级方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104951348B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105610966B (zh) * | 2016-01-20 | 2020-09-01 | 深圳高新兴物联科技有限公司 | 物联网终端及其升级方法 |
CN107577591A (zh) * | 2016-07-05 | 2018-01-12 | 中兴通讯股份有限公司 | 一种自动化测试异常保护的方法、装置及系统 |
CN106201614A (zh) * | 2016-07-11 | 2016-12-07 | 天津中兴智联科技有限公司 | 一种可对多种同类软件进行链式升级的通用方法及系统 |
CN106789280A (zh) * | 2016-12-27 | 2017-05-31 | Tcl集团股份有限公司 | 一种基于Android系统的升级保护方法及系统、移动终端 |
CN107656747B (zh) * | 2017-09-07 | 2021-01-08 | 维沃移动通信有限公司 | 一种数据升级方法及移动终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1946226A (zh) * | 2006-10-20 | 2007-04-11 | 华为技术有限公司 | 电信设备升级的方法、设备及升级引擎单元 |
CN101925094A (zh) * | 2009-06-17 | 2010-12-22 | 中兴通讯股份有限公司 | 网元管理系统的更新系统及方法 |
CN102609328A (zh) * | 2012-01-29 | 2012-07-25 | 华为终端有限公司 | 系统差分升级方法和装置、移动终端 |
-
2015
- 2015-07-16 CN CN201510419447.7A patent/CN104951348B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1946226A (zh) * | 2006-10-20 | 2007-04-11 | 华为技术有限公司 | 电信设备升级的方法、设备及升级引擎单元 |
CN101925094A (zh) * | 2009-06-17 | 2010-12-22 | 中兴通讯股份有限公司 | 网元管理系统的更新系统及方法 |
CN102609328A (zh) * | 2012-01-29 | 2012-07-25 | 华为终端有限公司 | 系统差分升级方法和装置、移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN104951348A (zh) | 2015-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104951348B (zh) | 一种可中断的recovery升级方法及装置 | |
CN105262627A (zh) | 一种固件升级方法、装置及系统 | |
CN102662798A (zh) | 一种android系统恢复数据的方法及终端 | |
CN102243594A (zh) | 一种嵌入式linux系统软件安全远程升级的方法 | |
CN104885055A (zh) | 一种应用数据同步的方法及装置 | |
CN102609328A (zh) | 系统差分升级方法和装置、移动终端 | |
CN105242990A (zh) | 基于云平台的数据备份方法和装置 | |
CN109634638B (zh) | 一种集群软件升级方法、装置、设备及介质 | |
CN105975367B (zh) | 移动设备的测试方法和装置 | |
CN107967207B (zh) | 用户界面交互功能的测试方法和装置 | |
CN104166577A (zh) | 一种移动终端系统升级的方法和装置 | |
CN109002313A (zh) | 基于ota的软件升级方法、装置、设备及存储介质 | |
CN104484240A (zh) | 一种终端数据存储的方法及装置 | |
US20150242282A1 (en) | Mechanism to update software packages | |
CN103309713A (zh) | 系统升级的方法、装置及设备 | |
CN104461631A (zh) | 一种系统ota升级方法和装置 | |
WO2011109049A1 (en) | Method and apparatus of backing-up subversion repository | |
CN103997684A (zh) | 一种更新操作系统方法和装置 | |
CN103634668A (zh) | 智能电视中的系统升级方法和装置 | |
CN107396185B (zh) | 升级方法及系统 | |
CN104484241A (zh) | 一种对终端系统文件进行备份与恢复的方法及装置 | |
CN112130889A (zh) | 资源的管理方法和装置、存储介质、电子装置 | |
CN111130856A (zh) | 一种服务器配置方法、系统、设备及计算机可读存储介质 | |
CN103914310A (zh) | 麻醉机升级方法及装置 | |
CN109428936B (zh) | App的升级方法、装置、系统、电子设备及存储介质 |
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 | ||
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. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181211 |