一种应用升级方法、智能终端及升级系统的制作方法
【专利摘要】本发明的实施例提供一种应用升级方法、智能终端及升级系统,涉及通信领域,能够在需要升级的终端不进行升级包安装的前提下,升级该终端中的待升级应用,该应用升级方法包括:根据获取到安装于控制终端中的待升级应用的升级数据和程序源码生成程序升级代码,升级数据为待升级应用中需要升级功能的源码,程序升级代码为待升级应用升级后的可执行代码;根据程序升级代码与程序原始代码获取更新数据,程序原始代码为待升级应用升级前的可执行代码;将更新数据同步至控制终端,以便于控制终端根据更新数据对待升级应用进行升级。本发明的实施例用于升级终端中的应用。
【专利说明】
-种应用升级方法、智能终端及升级系统
技术领域
[0001] 本发明设及通信领域,尤其设及一种应用升级方法、智能终端及升级系统。
【背景技术】
[0002] 安卓(An化oid)系统是基于Linux的开源移动操作平台。目前An化Oid系统主要应 用在手机、平板电脑、电视机等智能设备上。智能设备在上市之后,Amlroid系统或应用程序 会逐渐出现升级版本。一般情况下,升级方式包括通过在智能设备中安装Android安装包 (An化oid Package,APK),或者通过空中下载技术(Over-the-Air Technology,0TA)对智能 设备进行升级。其中,通过安装APK升级,是使用Android软件开发工具包(Software Development Kit,SDK)将需要升级的系统或应用程序打包成一个安装程序文件格式,即 APK文件,并将APK文件直接传到An化Oid模拟器或An化Oid手机中执行安装,从而对相应的 系统或应用程序进行升级;通过OTA进行升级,是指智能设备可W直接通过信号通道接收升 级所需的数据,并根据升级所需的数据进行系统或者应用程序的更新升级。
[0003] 目前,An化Oid系统与运行在An化Oid系统中的应用程序需要进行更新时,可W针 对需要更新内容的差异,通过完整升级包升级或增量升级包升级两种方式来完成更新。其 中完整升级包包括Amlroid系统或应用程序进行完整安装所需的全部内容;而增量升级包 仅包括与升级前的Android系统或应用程序相比,进行更新的内容。智能设备根据需要进行 更新内容的不同,在需要更新内容较多时进行完整升级包升级,在需要更新内容较少时进 行增量升级包升级,从而减少更新过程而对网络资源与设备资源的占用。
[0004] 但随着技术发展与用户需求增长,Android系统逐渐开始应用在设备功能较为单 一的智能设备中。当对运些智能设备中一部分系统文件或应用程序文件需要进行升级时, 无论是通过安装增量升级包APK进行升级还是通过OTA安装增量升级包进行升级,都需要智 能设备提供一定的网络交互资源将增量升级包下载到智能设备中,并提供一定的设备运算 资源用于安装该增量升级包,但通常功能较为单一的智能设备出于成本控制的目的,往往 其处理能力与网络交互能力较弱,因此在该智能设备上通过安装增量升级包进行系统或应 用程序升级,可能会使该升级失败,或使该智能设备由于被升级过程占用较多设备资源与 网络资源,降低了该智能设备的性能,从而损害了智能设备的用户体验。
【发明内容】
[0005] 本发明的实施例提供的一种应用升级方法、智能终端及升级系统,能够在需要升 级的终端不进行升级包安装的前提下,升级该终端中的待升级应用。
[0006] 为达到上述目的,本申请采用如下技术方案:
[0007] 第一方面,本发明的实施例提供了一种应用升级方法,应用于智能终端,该方法包 括:
[000引根据获取到安装于控制终端中的待升级应用的升级数据和程序源码生成程序升 级代码,升级数据为待升级应用中需要升级功能的源码,程序升级代码为待升级应用升级 后的可执行代码;
[0009] 根据程序升级代码与程序原始代码获取更新数据,程序原始代码为待升级应用升 级前的可执行代码;
[0010] 将更新数据同步至控制终端,W便于控制终端根据更新数据对待升级应用进行升 级。
[0011] 第二方面,本发明的实施例提供了一种智能终端,该智能终端包括:
[0012] 处理单元,用于根据获取到安装于控制终端中的待升级应用的升级数据和程序源 码生成程序升级代码,升级数据为待升级应用中需要升级功能的源码,程序升级代码为对 待升级应用升级后的可执行代码;
[0013] 处理单元,还用于根据程序升级代码与程序原始代码获取更新数据,程序原始代 码为待升级应用升级前的可执行代码;
[0014] 同步单元,用于将更新数据同步至控制终端,W便于控制终端根据更新数据对待 升级应用进行升级。
[0015] 第=方面,本发明的实施例提供了一种升级系统,包括第二方面中提供智能终端 W及控制终端,控制终端安装有待升级应用,控制终端用于根据更新数据对待升级应用进 行升级。
[0016] 本发明的实施例提供的应用升级方法、智能终端及升级系统,通过智能终端获取 控制终端待升级应用中需要升级功能的源码,由于控制终端待升级应用中需要升级功能的 源码与待升级应用的升级安装包相比容量较小,因此控制终端执行上述步骤所消耗的网络 流量较少;其次在智能终端上根据控制终端待升级应用中需要升级功能的源码对控制终端 中待升级应用进行升级,并根据升级后待升级应用的可执行代码与待升级应用升级前的可 执行代码,获取控制终端中待升级应用的可执行代码需要更新的文件或数据,由于上述对 终端处理功能要求较高的步骤均在智能终端中完成,因此上述步骤不会消耗控制终端的终 端设备资源;之后将需要更新的文件或数据同步至控制终端,W便于控制终端根据需要更 新的文件或数据进行更新,上述步骤中控制终端在升级过程中下载的文件或数据容量较 小,与控制终端直接下载升级包进行升级相比,降低了下载过程所消耗的网络流量,同时控 制终端根据更新数据,对控制终端中待升级应用的可执行代码进行更新,与在控制终端中 运行待升级应用的升级安装包相比较,上述步骤所耗费的控制终端设备资源较少。因此本 发明实施例提供的应用升级方法使控制终端在不进行升级包安装的前提下,升级该控制终 端中的待升级应用,从而减少控制终端待升级应用的升级过程中所占用控制终端的设备资 源与网络资源,从而提高了控制终端的性能,改善了控制终端的用户体验。
【附图说明】
[0017] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述 中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些 实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W根据运些附 图获得其他的附图。
[0018] 图1为本发明的实施例所提供的一种升级系统的结构示意图;
[0019] 图2为本发明的另一实施例所提供的一种升级系统的结构示意图;
[0020] 图3为本发明的实施例所提供的一种应用升级方法的流程示意图;
[0021] 图4为本发明的另一实施例所提供的一种应用升级方法的流程示意图;
[0022] 图5为本发明的实施例所提供的一种智能终端的结构示意图;
[0023] 图6为本发明的实施例所提供的一种电视的结构示意图。
【具体实施方式】
[0024] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[00巧]安卓(An化oid)系统是基于Linux的开源移动操作平台。目前An化Oid系统主要应 用在手机、平板电脑、电视机等智能设备上。由于任何智能设备的系统,或运行在该智能设 备系统中的应用软件都有可能出现BUG和需要改进的地方,因此智能设备在上市之后,应用 在该智能设备上的An化Oid系统,或运行在该智能设备An化Oid系统中的应用程序会逐渐出 现升级版本,并在升级版本中消除已出现的BUG或进行需要的改进。升级版本的Amlroid系 统或应用程序可W采用Google公司开发的amlroid系统版本制作工具和软件进行制作。一 般情况下,升级方式包括通过在智能设备中安装AndrOid安装包(英文全称:Android F*ackage,简称:APK),或者通过空中下载技术(英文全称:Over-the-Air Technology,简称: OTA)对智能设备进行升级。其中,通过安装APK升级,是使用Amlroid软件开发工具包(英文 全称:Software Development Kit,简称:SDK)将需要升级的系统或应用程序打包成一个安 装程序文件格式,即APK文件,并将APK文件直接传到An化Oid模拟器或Amlroid手机中执行 安装,从而对相应的系统或应用程序进行升级;通过OTA进行升级,是指智能设备可W直接 通过信号通道接收升级所需的数据,并根据升级所需的数据进行系统或者应用程序的更新 升级。
[00%]目前,An化Oid系统与运行在An化Oid系统中的应用程序的功能愈加丰富,随之而 来的,Android系统安装包与应用程序安装包的容量也越来越大,因此当An化Oid系统与运 行在Amlroid系统中的应用程序需要进行更新时,可W针对需要更新内容的差异,通过完整 升级包升级或增量升级包升级两种方式来完成更新。其中完整升级包包括An化Oid系统或 应用程序进行完整安装所需的全部内容;而增量升级包仅包括与升级前的Amlroid系统或 应用程序相比,进行更新的内容,当智能设备接收到增量升级包后,将升级前的Amlroid系 统或应用程序与增量升级包进行组合,得到升级后的Amlroid系统或应用程序。智能设备根 据需要进行更新内容的不同,在需要更新内容较多时进行完整升级包升级,在需要更新内 容较少时进行增量升级包升级,从而减少更新过程而对网络资源与设备资源的占用。
[0027]但随着技术发展与用户需求增长,Android系统逐渐开始应用在设备功能较为单 一的智能设备中。当对运些智能设备中一部分系统文件或应用程序文件需要进行升级时, 无论是通过安装增量升级包APK进行升级还是通过OTA安装增量升级包进行升级,都需要智 能设备提供一定的网络交互资源将增量升级包下载到智能设备中,并提供一定的设备运算 资源用于安装该增量升级包,但通常功能较为单一的智能设备出于成本控制的目的,往往 其处理能力与网络交互能力较弱,因此在该智能设备上通过安装增量升级包进行系统或应 用程序升级,可能会使该升级失败,或使该智能设备由于被升级过程占用较多设备资源与 网络资源,降低了该智能设备的性能,从而损害了智能设备的用户体验。
[0028] 如附图1所示,通常情况下,控制终端12在需要对其自身上的应用进行升级时,控 制终端12根据需求从升级服务器11下载增量升级包或完整升级包,并在控制终端12上安装 增量升级包或完整升级包,从而对需要升级的应用进行升级。但当控制终端12与升级服务 器11网络交互能力较弱,或控制终端12的处理能力较弱时,会使控制终端12从升级服务器 11下载增量升级包或完整升级包的过程较慢或容易出现错误,或使控制终端12安装增量升 级包或完整升级包的过程较慢或容易出现错误,从而造成升级失败。因此通常情况下,控制 终端12会被升级过程占用较多的终端设备资源与网络资源,降低了该控制终端的性能,从 而损害了控制终端的用户体验。
[0029] 如附图2所示,针对上述问题,本发明的实施例提供了一种升级系统24,包括智能 终端23与控制终端22,其中智能终端23从升级服务器21或从其他装置或根据用户设定,获 取控制终端22中待升级应用的升级数据,并在智能终端23上对控制终端22中待升级应用进 行升级,并根据升级后待升级应用的可执行代码与待升级应用升级前的可执行代码,得到 更新数据,并将更新数据同步至控制终端22,使控制终端22根据更新数据更新待升级应用, 从而使控制终端22在不进行升级包安装的前提下,升级该控制终端22中的待升级应用,从 而使控制终端22中待升级应用的升级过程占用较少的控制终端22的设备资源与网络资源, 提高了控制终端22的性能,改善了控制终端22的用户体验。
[0030] 如附图3所示,本发明的实施例提供了一种应用升级方法,应用于上述智能终端, 该方法包括:
[0031] 301、根据获取到安装于控制终端中的待升级应用的升级数据和程序源码生成程 序升级代码。
[0032] 其中,待升级应用为安装于控制终端中的需要进行升级的应用,该应用安装在控 制终端中,待升级应用的升级数据为待升级应用中需要升级功能的源码,具体的,升级数据 可W为具体的二进制文件或者脚本文件,例如bin或者jar,升级数据可W为控制终端从其 他装置如升级服务器处下载,也可W为用户向控制终端输入;程序升级代码为待升级应用 进行升级后的可执行代码。其中应用为运行终端上的软件,应用可W为运行在终端的软件 平台上的应用软件,也可W为运行在终端上的操作平台软件。
[0033] 具体的,智能终端可W使用待升级应用的升级数据替换待升级应用的程序源码中 需要进行更新的程序源码,并对更新后的待升级应用的程序源码进行编译,从而得到程序 升级代码。
[0034] 302、根据程序升级代码与程序原始代码获取更新数据。
[0035] 其中,程序原始代码为待升级应用升级前的可执行代码,具体的,智能终端可W根 据待升级应用的程序源码进行编译,从而得到程序原始代码。
[0036] 智能终端根据程序升级代码与程序原始代码,获得程序升级代码与程序原始代码 相比较,程序原始代码中需要进行更新的代码,并将该需要进行更新的代码作为更新数据。 具体的,智能终端将程序升级代码与程序原始代码进行对比,从而获得程序升级代码与程 序原始代码存在差异的代码,并将该存在差异的代码作为更新数据。
[0037] 303、将更新数据同步至控制终端。
[0038] 智能终端将更新数据同步至控制终端,可W为智能终端通过有线或无线的方法将 将更新数据同步至控制终端。
[0039] 304、控制终端根据更新数据对待升级应用进行升级。
[0040] 其中,控制终端安装有待升级应用,控制终端根据更新数据对待升级应用进行升 级,可W为控制终端根据更新数据将控制终端中待升级应用的可执行代码中需要更新的文 件或数据进行更新,也可W控制终端根据更新数据将控制终端中与更新数据对应的文件进 行更新。
[0041] 本发明的实施例提供的一种应用升级方法,应用于智能终端,首先通过智能终端 获取控制终端待升级应用中需要升级功能的源码,由于控制终端待升级应用中需要升级功 能的源码与待升级应用的升级安装包相比容量较小,因此控制终端执行上述步骤所消耗的 网络流量较少;其次在智能终端上根据控制终端待升级应用中需要升级功能的源码对控制 终端中待升级应用进行升级,并根据升级后待升级应用的可执行代码与待升级应用升级前 的可执行代码,获取控制终端中待升级应用的可执行代码需要更新的文件或数据,由于上 述对终端处理功能要求较高的步骤均在智能终端中完成,因此上述步骤不会消耗控制终端 的终端设备资源;之后将需要更新的文件或数据同步至控制终端,W便于控制终端根据需 要更新的文件或数据进行更新,上述步骤中控制终端在升级过程中下载的文件或数据容量 较小,与控制终端直接下载升级包进行升级相比,降低了下载过程所消耗的网络流量,同时 控制终端根据控制终端中待升级应用的可执行代码需要更新的文件或数据,对控制终端中 待升级应用的可执行代码直接进行更新,上述步骤与在控制终端中运行升级安装包相比 较,所耗费的控制终端设备资源较少,因此本发明实施例提供的应用升级方法使控制终端 在不进行升级包安装的前提下,升级该控制终端中的待升级应用,从而减少控制终端待升 级应用的升级过程中所占用控制终端的设备资源与网络资源,从而提高了控制终端的性 能,改善了控制终端的用户体验。
[0042] 进一步的,如附图4所示,本发明的实施例提供了一种应用升级方法,应用于上述 智能终端,该方法包括:
[0043] 401、对程序源码进行校验。
[0044] 其中程序源码为控制终端中待升级应用升级前的程序源码,智能终端可W从其他 装置处或得程序源码,也可W在智能终端中预置程序源码。其中应用为运行终端上的软件, 应用可W为运行在终端的软件平台上的应用软件,也可W为运行在终端上的操作平台软 件。
[0045] 智能终端对程序源码进行校验,用于验证程序源码的正确性与有效性。具体的,智 能终端可W对程序源码进行奇偶校验,也可W对程序源码进行循环冗余校验(Cyclic Redundancy化eck,CRC),只要能够验证程序源码的正确性与有效性即可。
[0046] 优选的,智能终端在对程序源码进行校验前启动智能终端,并在启动成功后进行 启动成功消息广播,智能终端在收到启动成功消息后对程序源码进行校验。
[0047] 示例性的,智能终端通过如下程序获取智能终端中程序源码的储存路径,W便于 根据该路径获取程序源码:
[00481
[
[0050]当智能终端对程序源码校验成功使,执行如下步骤402。
[0051 ] 402、根据程序源码生成程序原始代码。
[0052] 其中程序原始代码为控制终端中待升级应用升级前的可执行代码,控制终端中待 升级应用在升级前W程序原始代码的形式储存在控制终端中。
[0053] 智能终端根据程序源码生成程序原始代码,可W为智能终端根据程序源码进行编 译,生成待升级应用在升级前的安装包,并在智能终端提供的虚拟安装环境中安装该安装 包,得到程序原始代码,其中智能终端提供的虚拟环境能够模拟控制终端的安装环境。智能 终端根据程序源码生成程序原始代码,也可W为智能终端根据程序源码直接生成程序原始 代码。
[0054] 403、根据待升级应用的升级数据和程序源码生成待升级应用的程序升级安装包。
[0055] 其中,待升级应用的升级数据为待升级应用中需要升级功能的源码,具体的,升级 数据可W为具体的二进制文件或者脚本文件,例如bin或者jar;程序升级代码为待升级应 用进行升级后的可执行代码。智能终端根据待升级应用的升级安装包生成程序升级代码。
[0056] 智能终端根据待升级应用的升级数据,将待升级应用升级前的程序源码中需要更 新的文件或数据进行更新,从而得到待升级应用升级后的程序源码,优选的,智能终端使用 待升级应用的升级数据直接替换待升级应用升级前的程序源码中需要更新的文件或数据。
[0057] 智能终端可W对待升级应用升级后的程序源码进行编译,从而生成待升级应用升 级后的程序安装包,也可W根据待升级应用升级后的程序源码直接生成待升级应用升级后 的程序安装包。
[0058] 示例性的,智能终端将待升级应用升级后的程序源码通过ADT打包工具打包,生成 待升级应用升级后的APK。
[0059] 404、安装待升级应用的升级安装包W获取程序升级代码。
[0060] 智能终端根据程序升级安装包,在虚拟安装环境中安装该安装包,得到程序升级 代码,其中智能终端提供的虚拟环境能够模拟控制终端的安装环境。
[0061] 405、根据程序升级代码与程序原始代码获取更新数据。
[0062] 具体的,智能终端根据程序升级代码与程序原始代码获取更新数据,可W为智能 终端将程序升级代码与程序原始代码进行对比,将程序升级代码中与程序原始代码中存在 差异的代码作为更新数据,也可W为智能终端将程序升级代码中与待升级应用所升级功能 相关的代码与程序原始代码进行对比,并将存在差异的代码作为更新数据。
[0063] 406、检测更新数据的权限。
[0064] 智能终端检测更新数据的权限是否满足条件。当满足条件时,执行步骤408,当不 满足条件是,执行步骤407。其中更新数据的权限满足条件可W是更新数据的权限高于权限 阔值,也可W为更新数据的权限处于预设权限阔值区间,只要更新数据的权限能够只允许 智能终端或控制终端中需要访问更新数据的模块、进程或线程对更新数据进行访问即可。 407、智能终端修改更新数据的权限。
[0065] 智能终端对更新数据的权限进行修改,只允许智能终端或控制终端中需要访问更 新数据的模块、进程或线程对更新数据进行访问,防止智能终端或控制终端中的恶意程序 对更新数据造成损害。
[0066] 更进一步的,控制终端根据更新数据的权限将更新数据拷贝至对应的储存空间。
[0067] 408、检测外界连接条件。
[0068] 其中,外界连接条件为智能终端在同步更新数据至控制终端中所需的连接或接口 的状态。
[0069] 具体的,外界连接条件可W包括智能终端与控制终端间的有线或无线连接的状 态,示例性的外界连接条件包括智能终端与控制终端间蓝牙连接的状态,外界连接条件可 W还包括智能终端的Java本地接口(Java Native Interface,JNI)的状态。
[0070] 当外界连接条件满足条件时,执行如下步骤409.
[0071] 409、将更新数据同步至控制终端。
[0072] 智能终端通过与控制终端之间的连接将更新数据同步至控制终端。优选的,控制 终端将更新数据拷贝至与更新数据的权限对应的分区。
[0073] 示例性的,智能终端通过如下程序将更新数据同步至控制终端:
[007
[007
[0076] 410、控制终端根据更新数据对待升级应用进行升级。
[0077] 控制终端根据收到的更新数据对控制终端上待升级应用进行升级,具体的,控制 终端使用更新数据替换待升级应用的可执行代码中对饮国的文件或数据。
[0078] 优选的,控制终端在待升级应用升级完成后,向用户提示升级结果。
[0079] 示例性的,控制终端通过如下程序获取更新数据储存路径,W便根据该储存路径 获取更新数据:
[0080] upgradeSl:a;rtNative(path)
[0081] 示例性的,控制终端通过如下程序获取升级结果,W便向用户提示该升级结果:
[0082;
[0083] 本发明的实施例提供的一种应用升级方法,应用于智能终端,首先对程序源码进 行校验,避免因程序源码出现错误导致对控制终端待升级应用升级失败。其次根据程序源 码生成程序原始代码,并根据待升级应用的升级数据和程序源码生成待升级应用的程序升 级安装包,从而根据程序升级安装包生成程序升级代码;其中由于待升级应用的升级数据 与待升级应用的升级安装包相比容量较小,因此上述步骤所消耗的控制终端网络流量较 少;之后根据程序升级安装包生成程序升级代码,并根据程序升级代码与程序原始代码获 取更新数据,由于上述对终端处理功能要求较高的步骤均在智能终端中完成,因此上述步 骤不会消耗控制终端较多的终端设备资源;之后修改更新数据的权限,防止智能终端或控 制终端中的恶意程序对更新数据造成损害;之后检测更新数据的权限,当更新数据的权限 满足条件时,检测智能终端的外界连接条件,避免因外界连接条件不满足条件导致同步失 败。当外界连接条件满足条件时,将更新数据同步至控制终端,使控制终端根据更新数据进 行升级;由于智能终端同步至控制终端的文件或数据容量较小,与控制终端直接下载升级 包进行升级相比,降低了下载过程所消耗的网络流量,同时控制终端根据控制终端中待升 级应用的可执行代码需要更新的文件或数据,对控制终端中待升级应用的可执行代码直接 进行更新,上述步骤与在控制终端中运行升级安装包相比较,所耗费的控制终端设备资源 较少,因此本发明实施例提供的应用升级方法使控制终端在不进行升级包安装的前提下, 升级该控制终端中的待升级应用,从而减少控制终端待升级应用的升级过程中所占用控制 终端的设备资源与网络资源,从而提高了控制终端的性能,改善了控制终端的用户体验。
[0084] 具体的,如附图5所示,本发明的实施例提供了一种智能终端501,该智能终端501 包括:
[0085] 处理单元502,用于根据获取到安装于控制终端中的待升级应用的升级数据和程 序源码生成程序升级代码,并根据程序升级代码与程序原始代码获取更新数据。
[0086] 其中,待升级应用为控制终端中需要进行升级的应用,该应用安装在控制终端中, 待升级应用的升级数据为待升级应用中需要升级功能的源码,具体的,升级数据可W为具 体的二进制文件或者脚本文件,例如bin或者jar,升级数据可W为控制终端从其他装置如 升级服务器处下载,也可W为用户向控制终端输入;程序升级代码为待升级应用进行升级 后的可执行代码。其中应用为运行终端上的软件,应用可W为运行在终端的软件平台上的 应用软件,也可W为运行在终端上的操作平台软件。
[0087] 具体的,处理单元502可W使用待升级应用的升级数据替换待升级应用的程序源 码中需要进行更新的程序源码,并对更新后的待升级应用的程序源码进行编译,从而得到 程序升级代码。
[0088] 程序原始代码为待升级应用升级前的可执行代码,具体的,处理单元502可W根据 待升级应用的程序源码进行编译,从而得到程序原始代码。
[0089] 示例性的,智能终端通过如下程序获取智能终端中程序源码的储存路径:
[0090]
[0091] 处理单元502根据程序升级代码与程序原始代码,获得程序升级代码与程序原始 代码相比较,程序原始代码中需要进行更新的代码,并将该需要进行更新的代码作为更新 数据。具体的,处理单元502将程序升级代码与程序原始代码进行对比,从而获得程序升级 代码与程序原始代码存在差异的代码,并将该存在差异的代码作为更新数据。
[0092] 同步单元503,用于将更新数据同步至控制终端,W便于控制终端根据更新数据对 待升级应用进行升级。
[0093] 同步单元503将更新数据同步至控制终端,可W为智能终端通过有线或无线的方 法将将更新数据同步至控制终端。
[0094] 控制终端安装有待升级应用,控制终端根据更新数据对待升级应用进行升级,可 W为控制终端根据更新数据将控制终端中待升级应用的可执行代码中需要更新的文件或 数据进行更新,也可W控制终端根据更新数据将控制终端中与更新数据对应的文件进行更 新。
[00M]示例性的,智能终端通过如下程序将更新数据同步至控制终端:
[0096
[0097] 示例性的,控制终端通过如下程序获取更新数据储存路径:
[0098] upgradeSl:a;rtNative(path)
[0099] 示例性的,控制终端通过如下程序获取升级结果:
[0100]
[0101] 本发明的实施例提供的一种智能终端,包括处理单元与同步单元,其中通过处理 单元获取控制终端待升级应用中需要升级功能的源码,由于控制终端待升级应用中需要升 级功能的源码与待升级应用的升级安装包相比容量较小,因此控制终端执行获得升级应用 中需要升级功能的源码所消耗的网络流量较少;其次通过处理单元根据控制终端待升级应 用中需要升级功能的源码对控制终端中待升级应用进行升级,并根据升级后待升级应用的 可执行代码与待升级应用升级前的可执行代码,获取控制终端中待升级应用的可执行代码 需要更新的文件或数据,由于上述对终端处理功能要求较高的处理过程均在智能终端中完 成,因此上述步骤不会消耗控制终端的终端设备资源;之后通过同步单元将需要更新的文 件或数据同步至控制终端,W便于控制终端根据需要更新的文件或数据进行更新,上述过 程中控制终端在升级过程中下载的文件或数据容量较小,与控制终端直接下载升级包进行 升级相比,降低了下载过程所消耗的网络流量,同时控制终端根据控制终端中待升级应用 的可执行代码需要更新的文件或数据,对控制终端中待升级应用的可执行代码直接进行更 新,上述过程与在控制终端中运行升级安装包相比较,所耗费的控制终端设备资源较少,因 此本发明实施例提供的智能终端使控制终端在不进行升级包安装的前提下,升级该控制终 端中的待升级应用,从而减少控制终端待升级应用的升级过程中所占用控制终端的设备资 源与网络资源,从而提高了控制终端的性能,改善了控制终端的用户体验。
[0102] 进一步的,处理单元502还用于根据待升级应用的升级数据和程序源码生成程序 升级安装包,并安装待升级应用的升级安装包W获取程序升级代码;
[0103] 其中程序升级安装包用于在智能终端中安装待升级应用升级后的可执行代码,待 升级应用的升级数据为待升级应用中需要升级功能的源码,具体的,升级数据可W为具体 的二进制文件或者脚本文件,例如bin或者jar;程序升级代码为待升级应用进行升级后的 可执行代码。智能终端根据待升级应用的升级安装包生成程序升级代码。
[0104] 智能终端根据待升级应用的升级数据,将待升级应用升级前的程序源码中需要更 新的文件或数据进行更新,从而得到待升级应用升级后的程序源码,优选的,智能终端使用 待升级应用的升级数据直接替换待升级应用升级前的程序源码中需要更新的文件或数据。
[0105] 智能终端可W对待升级应用升级后的程序源码进行编译,从而生成待升级应用升 级后的程序安装包,也可W根据待升级应用升级后的程序源码直接生成待升级应用升级后 的程序安装包。
[0106] 示例性的,智能终端将待升级应用升级后的程序源码通过ADT打包工具打包,生成 待升级应用升级后的APK。
[0107] 进一步的,处理单元502具体用于对程序源码进行校验,当校验成功时,根据程序 源码生成所述程序原始代码,根据程序升级代码与程序原始代码获取更新数据。
[0108] 其中程序源码为控制终端中待升级应用升级前的程序源码,智能终端可W从其他 装置处或得程序源码,也可W在智能终端中预置程序源码。其中应用为运行终端上的软件, 应用可W为运行在终端的软件平台上的应用软件,也可W为运行在终端上的操作平台软 件。
[0109] 智能终端对程序源码进行校验,用于验证程序源码的正确性与有效性。具体的,智 能终端可W对程序源码进行奇偶校验,也可W对程序源码进行循环冗余校验(Cyclic Redundancy化eck,CRC),只要能够验证程序源码的正确性与有效性即可。
[0110] 优选的,智能终端在对程序源码进行校验前启动智能终端,并在启动成功后进行 启动成功消息广播,智能终端在收到启动成功消息后对程序源码进行校验。
[0111] 程序原始代码为控制终端中待升级应用升级前的可执行代码,控制终端中待升级 应用在升级前W程序原始代码的形式储存在控制终端中。
[0112] 智能终端根据程序源码生成程序原始代码,可W为智能终端根据程序源码进行编 译,生成待升级应用在升级前的安装包,并在智能终端提供的虚拟安装环境中安装该安装 包,得到程序原始代码,其中智能终端提供的虚拟环境能够模拟控制终端的安装环境。智能 终端根据程序源码生成程序原始代码,也可W为智能终端根据程序源码直接生成程序原始 代码。
[0113] 进一步的,处理单元502,还用于对更新数据的权限进行校验,当更新数据的权限 满足条件时,将更新数据同步至智能终端,当更新数据的权限不满足条件时,修改更新数据 的权限。
[0114] 智能终端对更新数据的权限进行修改,只允许智能终端或控制终端中需要访问更 新数据的模块、进程或线程对更新数据进行访问,防止智能终端或控制终端中的恶意程序 对更新数据造成损害。
[0115] 更进一步的,控制终端根据更新数据的权限将更新数据拷贝至对应的储存空间。
[0116] 智能终端检测更新数据的权限是否满足条件。其中更新数据的权限满足条件可W 是更新数据的权限高于权限阔值,也可W为更新数据的权限处于预设权限阔值区间,只要 更新数据的权限能够只允许智能终端或控制终端中需要访问更新数据的模块、进程或线程 对更新数据进行访问即可。
[0117] 进一步的,处理单元502,还用于检测外界连接条件;
[0118] 同步单元,具体用于当智能终端的外界连接条件满足时,将更新数据同步至控制 终端。
[0119] 其中,外界连接条件为智能终端在同步更新数据至控制终端中所需的连接或接口 的状态。
[0120] 具体的,外界连接条件可W包括智能终端与控制终端间的有线或无线连接的状 态,示例性的外界连接条件包括智能终端与控制终端间蓝牙连接的状态,外界连接条件可 W还包括智能终端的Java本地接口(Java Native Interface,JNI)的状态。
[0121] 本发明的实施例提供的一种智能终端,包括处理单元与同步单元,其中通过处理 单元对程序源码进行校验,避免因程序源码出现错误导致对控制终端待升级应用升级失 败。通过处理单元根据程序源码生成程序原始代码,并根据待升级应用的升级数据和程序 源码生成待升级应用的程序升级安装包,从而根据程序升级安装包生成程序升级代码;其 中由于待升级应用的升级数据与待升级应用的升级安装包相比容量较小,因此处理单元所 消耗的控制终端网络流量较少;通过处理单元根据程序升级安装包生成程序升级代码,并 根据程序升级代码与程序原始代码获取更新数据,由于上述对终端处理功能要求较高的过 程均在智能终端中完成,因此上述过程不会消耗控制终端较多的终端设备资源;通过处理 单元修改更新数据的权限,防止智能终端或控制终端中的恶意程序对更新数据造成损害; 通过处理单元检测更新数据的权限,当更新数据的权限满足条件时,通过处理单元检测智 能终端的外界连接条件,避免因外界连接条件不满足条件导致同步失败。当外界连接条件 满足条件时,通过同步单元将更新数据同步至控制终端,使控制终端根据更新数据进行升 级;由于智能终端同步至控制终端的文件或数据容量较小,与控制终端直接下载升级包进 行升级相比,降低了下载过程所消耗的网络流量,同时控制终端根据控制终端中待升级应 用的可执行代码需要更新的文件或数据,对控制终端中待升级应用的可执行代码直接进行 更新,上述过程与在控制终端中运行升级安装包相比较,所耗费的控制终端设备资源较少, 因此本发明实施例提供的智能终端使控制终端在不进行升级包安装的前提下,升级该控制 终端中的待升级应用,从而减少控制终端待升级应用的升级过程中所占用控制终端的设备 资源与网络资源,从而提高了控制终端的性能,改善了控制终端的用户体验。
[0122] 进一步的,如附图2所示,本发明的实施例提供了一种升级系统24,包括上述实施 例中提供的智能终端23与控制终端22,其中控制终端22安装有待升级应用,控制终端22用 于根据智能终端23发来的更新数据进行升级。
[0123] 具体的,智能终端23可W从升级服务器21处下载待升级应用的升级数据,也可W 由用户将待升级应用的升级数据预置在智能终端23中。
[0124] 需要说明的是,本发明提供的实施例中的智能终端,可W为电视;同步单元503可 W由收发器件实现,如蓝牙接口或红外接口。处理单元502可W为单独设立的处理器,用于 控制同步单元503进行更新数据的同步,单独设立的处理器也可W集成在智能终端的某一 个处理器中实现,此外,也可W W程序代码的形式存储于智能终端的存储器中,由智能终端 的某一个处理器调用并执行W上处理单元502的功能。
[0125] 本发明提供的实施例中控制终端,可W为遥控器。
[01%] 运里所述的处理器可W是一个中央处理器(英文全称:central processing uni t,英文简称:CPU),或者是特定集成电路(英文全称:application specific integrated circuit,英文简称:ASIC),或者是被配置成实施本发明实施例的一个或多个 集成电路。
[0127]参照图6所示,本发明的实施例提供一种电视601,用于实施上述的应用升级方法, 其可W包括:处理器611、收发器612、存储器613和总线614;所述处理器611、收发器612、存 储器613通过所述总线614连接并完成相互间的通信;
[01%]需要说明的是,运里的处理器611可W是一个处理器,也可W是多个处理元件的统 称。例如,该处理器可W是中央处理器CPU,也可W是特定集成电路ASIC,或者是被配置成实 施本发明实施例的一个或多个集成电路,例如:一个或多个微处理器(英文全称:digital singnal processor,英文简称:DSP),或,一个或者多个现场可编程口阵列(英文全称: field programmable aate array,英文简称:FPGA)。
[0129] 存储器613可W是一个存储装置,也可W是多个存储元件的统称,且用于存储可执 行程序代码或接入网管理设备运行所需要参数、数据等。且存储器614可W包括随机存储器 (英文全称:random-access memory,英文简称:RAM),也可W包括非易失性存储器(英文全 称:non-volatile memory,英文简称:NVRAM),例如磁盘存储器,闪存(Flash)等。
[0130] 总线6 1 4可W是工业标准体系结构(英文全称:i n d U S t r y S t a n d a r d architecture,英文简称:ISA)总线、外部设备互连(英文全称:peripheral component,英 文简称:PCI)总线或扩展工业标准体系结构(英文全称:extended indust巧standard architecture,英文简称:EISA)总线等。该总线805可W分为地址总线、数据总线、控制总线 等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0131] 所述处理器611用于执行存储其中的程序,W结合收发器612执行上述方法实施例 中所提供的方法。
[0132] 具体的,所述处理器611可W用于执行存储其中的程序控制收发器612执行上述实 施例中智能终端的同步单元的功能。收发器612用于执行上述实施例中智能终端的同步单 元的功能。
[0133] 所属领域的技术人员可W清楚地了解到,为描述的方便和简洁,上述描述的系统、 装置和单元的具体工作过程,可W参考前述方法实施例中的对应过程,在此不再寶述。
[0134] 在本申请所提供的几个实施例中,应该理解到,所掲露的系统、终端和方法,可W 通过其它的方式实现。例如,W上所描述的终端实施例仅仅是示意性的,例如,所述单元的 划分,仅仅为一种逻辑功能划分,实际实现时可W有另外的划分方式,例如多个单元或组件 可W结合或者可W集成到另一个系统,或一些特征可W忽略,或不执行。另一点,所显示或 讨论的相互之间的禪合或直接禪合或通信连接可W是通过一些接口,终端或单元的间接禪 合或通信连接,可W是电性,机械或其它的形式。
[0135] 另外,在本发明各个实施例中的各功能单元可W集成在一个处理单元中,也可W 是各个单元单独物理存在,也可W两个或两个W上单元集成在一个单元中。
[0136] 所述功能如果W软件功能单元的形式实现并作为独立的产品销售或使用时,可W 存储在一个计算机可读取存储介质中。基于运样的理解,本发明的技术方案本质上或者说 对现有技术做出贡献的部分或者该技术方案的部分可WW软件产品的形式体现出来,该计 算机软件产品存储在一个存储介质中,包括若干指令用W使得一台计算机设备(可W是个 人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。 而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文简称:ROM,英文全称:ReacK)nly Memo巧)、随机存取存储器(英文简称:RAM,英文全称:Random Access Memcxry)、磁碟或者光 盘等各种可W存储程序代码的介质。
[0137] W上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明掲露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应所述W权利要求的保护范围为准。
【主权项】
1. 一种应用升级方法,应用于智能终端,其特征在于,所述应用升级方法包括: 根据获取到安装于控制终端中的待升级应用的升级数据和程序源码生成程序升级代 码,所述升级数据为所述待升级应用中需要升级功能的源码,所述程序升级代码为所述待 升级应用升级后的可执行代码; 根据所述程序升级代码与程序原始代码获取更新数据,所述程序原始代码为所述待升 级应用升级前的可执行代码; 将所述更新数据同步至控制终端,以便于所述控制终端根据更新数据对所述待升级应 用进行升级。2. 根据权利要求1所述的应用升级方法,其特征在于,所述根据待升级应用的升级数据 和程序源码生成程序升级代码,包括: 根据所述待升级应用的升级数据和程序源码生成所述待升级应用的升级安装包,并安 装所述待升级应用的升级安装包以获取程序升级代码。3. 根据权利要求1所述的应用升级方法,其特征在于,根据所述程序升级代码与程序原 始代码获取更新数据,包括: 对所述程序源码进行校验,当校验成功时,根据所述程序源码生成所述程序原始代码; 根据所述程序升级代码与程序原始代码获取更新数据。4. 根据权利要求1所述的应用升级方法,其特征在于,将所述更新数据同步至控制终端 前,还包括: 对所述更新数据的权限进行校验; 当所述更新数据的权限满足条件时,将所述更新数据同步至控制终端; 当所述更新数据的权限不满足条件时,修改所述更新数据的权限。5. 根据权利要求1所述的应用升级方法,其特征在于,将所述更新数据同步至控制终 端,包括: 检测外界连接条件; 当所述外界连接条件满足时,将所述更新数据同步至所述控制终端。6. -种智能终端,其特征在于,所述智能终端包括: 处理单元,用于根据获取到安装于控制终端中的待升级应用的升级数据和程序源码生 成程序升级代码,所述升级数据为所述待升级应用中需要升级功能的源码,所述程序升级 代码为对所述待升级应用升级后的可执行代码; 所述处理单元,还用于根据所述程序升级代码与程序原始代码获取更新数据,所述程 序原始代码为所述待升级应用升级前的可执行代码; 同步单元,用于将所述更新数据同步至控制终端,以便于所述控制终端根据所述更新 数据对所述待升级应用进行升级。7. 根据权利要求6所述的智能终端,其特征在于,所述处理单元,还用于根据所述待升 级应用的升级数据和程序源码生成所述待升级应用的升级安装包,并安装所述待升级应用 的升级安装包以获取程序升级代码。8. 根据权利要求6所述的智能终端,其特征在于,所述处理单元,具体用于: 对所述程序源码进行校验,当校验成功时,根据所述程序源码生成所述程序原始代码; 根据所述程序升级代码与程序原始代码获取更新数据。9. 根据权利要求6所述的智能终端,其特征在于,所述处理单元,还用于: 对所述更新数据的权限进行校验; 当所述更新数据的权限满足条件时,将所述更新数据同步至智能终端; 当所述更新数据的权限不满足条件时,修改所述更新数据的权限。10. 根据权利要求6所述的智能终端,其特征在于,所述处理单元,还用于: 检测所述智能终端的外界连接条件; 所述同步单元,具体用于: 当外界连接条件满足时,将所述更新数据同步至所述控制终端。11. 一种升级系统,其特征在于,包括权利要求6-10中任一种智能终端以及控制终端, 所述控制终端安装有待升级应用,所述控制终端用于根据更新数据对所述待升级应用进行 升级。
【文档编号】G06F9/445GK106020882SQ201610333465
【公开日】2016年10月12日
【申请日】2016年5月18日
【发明人】郑晴晴, 程晋, 白复东
【申请人】青岛海信电器股份有限公司