增量升级检测方法、管理方法、终端及增量升级管理平台的制作方法

文档序号:8282625阅读:331来源:国知局
增量升级检测方法、管理方法、终端及增量升级管理平台的制作方法
【技术领域】
[0001]本发明实施例涉及计算机技术领域,尤其涉及增量升级检测方法、管理方法、终端及增量升级管理平台。
【背景技术】
[0002]ROOT 存在于 UNIX 系统和类 UNIX 系统(如 Debian、Redhat、Ubuntu 等版本的 Linux系统以及Android系统)中,超级用户一般命名为root,相当于Windows系统中的system用户。root是系统中唯一的超级用户,具有系统中所有的权限,如启动或停止一个进程,删除或增加用户,启用或者禁用硬件等。
[0003]目前,终端用户可采用root工具来获得root权限,从而可以卸载掉终端出厂自带而用户感觉没有在使用的应用程序,也可以使用一些普通用户无法使用特定的管理软件,如安全管家等。
[0004]采用root工具获得root权限后,root工具通常会给终端上的一些系统文件加上“_i”位,以对这些文件进行锁定。此时,如果采用增量升级的方式对系统进行升级,则很容易导致升级后的应用出现挂掉、乱码,甚至不开机的严重异常现象。而全量升级方式由于是直接通过格式化系统分区,以新版本的完整升级包来替换旧版本的原始包,因此即便是root工具对一些文件进行了锁定,也不会影响升级。故需要这样一种机制,以能够阻止用户进行增量升级,但是又不会影响到全量升级。
[0005]在现有技术中,一种实现方式是在系统升级界面加入检测机制,对于已经采用root工具获得过root权限的终端而言,则禁止检测到终端的系统版本,或者能检测到新的系统版本,但是不允许下载增量升级包。但是,这种方式并不能够完全杜绝增量升级的情况。例如,用户在一台未获得过root权限的第一部手机上检测更新并下载了增量升级包,再将该增量升级包拷贝到已经采用root工具获得过root权限的第二部手机上,进而在第二部手机上利用增量升级包进行升级。
[0006]另一种实现方式则是在系统恢复流程中检测终端是否采用root工具获得过root权限,如果是,则不允许安装升级包。具体的,由于系统恢复流程无法区分增量升级包和全量升级包,因此为阻止用户进行增量升级,该方式在检测到终端采用root工具获得过root权限后,直接拒绝安装升级包,无论该升级包是增量升级包,还是全量升级包。但是,因为系统恢复流程本身属于一种恢复机制,用户在终端出现问题的情况下,是需要安装全量升级包将终端恢复到正常状态的。

【发明内容】

[0007]本发明实施例提供增量升级检测方法、管理方法、终端及增量升级管理平台,以实现一种能够在获得过root权限后的终端上阻止用户进行增量升级,但是又不会影响到全量升级的机制。
[0008]第一方面,本发明实施例提供了一种增量升级检测方法,该方法包括:
[0009]获取增量升级管理平台下发的增量升级包,其中所述增量升级包包括:用于检测所在终端用户是否获得过root权限的目标脚本命令以及与所述目标脚本命令对应的目标实现函数;
[0010]在根据所述增量升级包进行增量升级时,通过执行所述目标脚本命令和所述目标实现函数,来检测终端用户是否获得过root权限;
[0011]如果检测到终端用户获得过root权限,则终止增量升级,否则继续进行增量升级。
[0012]第二方面,本发明实施例还提供了一种增量升级管理方法,该方法包括:
[0013]接收终端发送的增量升级请求;
[0014]获取与所述增量升级请求对应的增量升级包,其中所述增量升级包包括用于检测终端用户是否获得过root权限的目标脚本命令以及与所述目标脚本命令对应的目标实现函数;
[0015]将获取的增量升级包下发至所述终端,以指示所述终端通过执行所述目标脚本命令和所述目标实现函数,来检测终端用户是否获得过root权限以及根据检测结果确定是否终止增量升级。
[0016]第三方面,本发明实施例还提供了一种终端,该终端包括:
[0017]增量升级包获取单元,用于获取增量升级管理平台下发的增量升级包,其中所述增量升级包包括:用于检测所在终端用户是否获得过root权限的目标脚本命令以及与所述目标脚本命令对应的目标实现函数;
[0018]root检测单元,用于在根据所述增量升级包进行增量升级时,通过执行所述目标脚本命令和所述目标实现函数,来检测终端用户是否获得过root权限;
[0019]增量升级确定单元,用于如果所述root检测单元检测到终端用户获得过root权限,则终止增量升级,否则继续进行增量升级。
[0020]第四方面,本发明实施例还提供了一种增量升级管理平台,该平台包括:
[0021]增量升级请求接收单元,用于接收终端发送的增量升级请求;
[0022]增量升级包获取单元,用于获取与所述增量升级请求对应的增量升级包,其中所述增量升级包包括用于检测终端用户是否获得过root权限的目标脚本命令以及与所述目标脚本命令对应的目标实现函数;
[0023]增量升级包下发单元,用于将获取的增量升级包下发至所述终端,以指示所述终端通过执行所述目标脚本命令和所述目标实现函数,来检测终端用户是否获得过root权限以及根据检测结果确定是否终止增量升级。
[0024]在本发明实施例提供的技术方案中,预先将用于检测终端用户是否获得过root权限的目标脚本命令以及与目标脚本命令对应的目标实现函数,添加至增量升级包,在终端根据增量升级包进行增量升级时,执行包中的添加内容以检测终端用户是否获得过root权限,在终端用户获得过root权限的情况下强行终止增量升级,从而可以在获得过root权限后的终端上阻止用户进行增量升级,但是又不会影响到全量升级,能够避免出现升级后的应用出现挂掉、乱码,甚至不开机的严重异常现象,大大提升了用户体验。
【附图说明】
[0025]图1是本发明实施例一提供的一种增量升级检测方法的流程示意图;
[0026]图2是本发明实施例二提供的一种增量升级管理方法的流程示意图;
[0027]图3是本发明实施例三提供的一种终端的结构示意图;
[0028]图4是本发明实施例四提供的一种增量升级管理平台的结构示意图;
[0029]图5是本发明实施例五提供的一种优选的增量升级方法的流程示意图。
【具体实施方式】
[0030]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0031]实施例一
[0032]图1是本发明实施例一提供的一种增量升级检测方法的流程示意图,该方法可以由终端来执行,其中所述终端为智能手机、平板电脑、个人数字助理等电子设备。参见图1,本实施例提供的增量升级检测方法具体包括如下操作:
[0033]操作110、获取增量升级管理平台下发的增量升级包。
[0034]在本实施例中,可预先向增量升级管理平台发起增量升级请求,该请求中可包括待升级对象的标识以及待升级对象的当前版本标识;然后,接收增量升级管理平台根据该增量升级请求返回的增量升级包。其中,待升级对象可以是终端的操作系统,或者是安装在终端上的设定的应用软件。在采用root工具获得root权限后,root工具通常会给终端上的操作系统文件或设定的应用软件进行锁定。当然,也可以是增量升级管理平台以设定的升级机制,主动向终端下发待升级对象的增量升级包。
[0035]在现有技术中,与待升级对象的增量升级包通常包括:被编译后的增量升级文件和用于执行增量升级的增量升级执行代码。具体的,在获取到对待升级对象的增量升级触发指令后,启动对增量升级包中的增量升级执行代码的运行,以完成如下操作:对增量升级文件进行解析;基于预设的差分算法将解析结果和本地存储的待升级对象的安装文件进行组合,得到新的安装文件;最后基于该新的安装文件完成对待升级对象的升级。
[0036]而在本实施例中,所获取的增量升级管理平台下发的增量升级包,在包含有上述现有技术中用于执行增量升级的增量升级执行代码(也即原始增量升级执行代码)之外,还进一步包括:用于检测所在终端用户是否获得过root权限的目标脚本命令以及与目标脚本命令对应的目标实现函数。
[0037]在本发明实施例中,原始增量升级执行代码包含两部分,第一部分是用于执行增量升级的批处理脚本指令(也即多条脚本指令);第二部分是与批处理脚本指令中各条脚本指令对应的实现函数。目标脚本命令被添加的位置可为位于原始增量升级执行代码的第一部分中最后一条批处理脚本指令之前的位置。目标实现函数可被添加至原始增量升级执
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1