一种应用升级方法及终端与流程

文档序号:11154419阅读:376来源:国知局
一种应用升级方法及终端与制造工艺

本发明涉及计算机技术领域,具体涉及一种应用升级方法及终端。



背景技术:

随着信息技术快速发展,终端(如手机、平板电脑等)使用越来越普及,已成为用户生活中不可或缺的一部分。

现有技术中,在对应用升级过程中,往往需要对应用的用户接口(User Interface,UI)界面、数据库进行更新,因而,在应用升级过程中,无法使用该应用。尤其是,对于一个应用的主应用及其分身应用而言,在该应用升级过程中,其主应用及其分身应用均不可使用,因而,导致在升级过程中无法正常使用该应用。



技术实现要素:

本发明实施例提供了一种应用升级方法及终端,可在应用升级过程中,正常使用其主应用和分身应用。

本发明实施例第一方面提供了一种应用升级方法,包括:

在目标应用的主应用接收到该目标应用的升级包时,根据所述升级包在所述主应用的第一更新目录下合成所述主应用的第一源数据和第一升级包数据;

在所述第一升级包数据合成成功时,向所述目标应用的分身应用发送升级成功消息;

在所述目标应用的分身应用的第二更新目录下合成所述分身应用的第二源数据和第二升级包数据,其中,所述第二升级包数据为所述第一升级包数据中与所述分身应用对应的数据。

结合本发明实施例第一方面,在第一方面的第一种可能实施方式中,所述在所述目标应用的分身应用的第二更新目录下合成所述分身应用的第二源数据和第二升级包数据,包括:

在所述目标应用的分身应用的第二更新目录下,读取所述第一升级包数据;

根据所述分身应用的应用标识从所述第一升级包数据中提取所述第二升级包数据;

根据所述第二升级包数据合成所述分身应用的第二源数据。

结合本发明实施例第一方面或第一方面的第一种可能实施方式,在第一方面的第二种可能实施方式中,所述在所述目标应用的分身应用的第二更新目录下合成所述分身应用的第二源数据和第二升级包数据之后,所述方法还包括:

在下次启动所述目标应用时,检测所述主应用的第一源数据与所述主应用的当前源数据是否一致;

在所述主应用的第一源数据与所述主应用的当前源数据不一致时,利用所述第一源数据更新所述主应用的当前源数据。

结合本发明实施例第一方面的第二种可能实施方式,在第一方面的第三种可能实施方式中,在所述利用所述第一源数据更新所述目标应用的当前源数据之后,所述方法还包括:

在下次启动所述目标应用时,获取所述目标应用的源数据;

检测所述第一更新目录的数据与所述目标应用的源数据是否一致;

在所述第一更新目录的数据与所述目标应用的源数据一致时,删除所述第一更新目录的数据。

结合本发明实施例第一方面或第一方面的第一种可能实施方式,在第一方面的第四种可能实施方式中,所述在所述目标应用的分身应用的第二更新目录下合成所述分身应用的第二源数据和第二升级包数据之后,所述方法还包括:

检测当前时间是否处于预设时间段;

在所述当前时间处于所述预设时间段时,检测所述分身应用的第二源数据与所述分身应用的当前源数据是否一致;

在所述分身应用的第二源数据与所述分身应用的当前源数据不一致时,利用所述第二源数据更新所述分身应用的当前源数据。

本发明实施例第二方面提供了一种终端,包括:

第一合成单元,用于在目标应用的主应用接收到该目标应用的升级包时,根据所述升级包在所述主应用的第一更新目录下合成所述主应用的第一源数据和第一升级包数据;

发送单元,用于在所述第一升级包数据合成成功时,向所述目标应用的分身应用发送升级成功消息;

第二合成单元,用于在所述目标应用的分身应用的第二更新目录下合成所述分身应用的第二源数据和第二升级包数据,其中,所述第二升级包数据为所述第一升级包数据中与所述分身应用对应的数据。

结合本发明实施例第二方面,在第二方面的第一种可能实施方式中,所述第二合成单元包括:

读取模块,用于在所述目标应用的分身应用的第二更新目录下,读取所述第一升级包数据;

提取模块,用于根据所述分身应用的应用标识从所述第一升级包数据中提取所述第二升级包数据;

合成模块,用于根据所述第二升级包数据合成所述分身应用的第二源数据。

结合本发明实施例第二方面或第二方面的第一种可能实施方式,在第二方面的第二种可能实施方式中,所述终端还包括:

第一检测单元,用于在所述第二合成单元在所述目标应用的分身应用的第二更新目录下合成所述分身应用的第二源数据和第二升级包数据之后,所在下次启动所述目标应用时,检测所述主应用的第一源数据与所述主应用的当前源数据是否一致;

第一更新单元,用于在所述第一检测单元的检测结果为所述主应用的第一源数据与所述主应用的当前源数据不一致时,利用所述第一源数据更新所述主应用的当前源数据。

结合本发明实施例第二方面的第二种可能实施方式,在第二方面的第三种可能实施方式中,所述终端还包括:

获取单元,用于在所述第一更新单元利用所述第一源数据更新所述目标应用的当前源数据之后,下次启动所述目标应用时,获取所述目标应用的源数据;

第二检测单元,用于检测所述第一更新目录的数据与所述目标应用的源数据是否一致;

删除单元,用于在所述第二检测单元的检测结果为所述第一更新目录的数据与所述目标应用的源数据一致时,删除所述第一更新目录的数据。

结合本发明实施例第二方面或第二方面的第一种可能实施方式,在第二方面的第四种可能实施方式中,所述终端还包括:

第三检测单元,用于在所述第二合成单元在所述目标应用的分身应用的第二更新目录下合成所述分身应用的第二源数据和第二升级包数据之后,检测当前时间是否处于预设时间段;

所述第三检测单元,还具体用于:

在所述第三检测单元的检测结果为所述当前时间处于所述预设时间段时,检测所述分身应用的第二源数据与所述分身应用的当前源数据是否一致;

第二更新单元,用于在所述第三检测单元的检测结果为所述分身应用的第二源数据与所述分身应用的当前源数据不一致时,利用所述第二源数据更新所述分身应用的当前源数据。

实施本发明实施例,具有如下有益效果:

可以看出,通过上述本发明实施例,在目标应用的主应用接收到该目标应用的升级包时,根据升级包在主应用的第一更新目录下合成主应用的第一源数据和第一升级包数据,在第一升级包数据合成成功时,向目标应用的分身应用发送升级成功消息,在目标应用的分身应用的第二更新目录下合成分身应用的第二源数据和第二升级包数据,其中,第二升级包数据为第一升级包数据中与分身应用对应的数据。如此,可在应用升级过程中,正常使用其主应用和分身应用。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种应用升级方法的第一实施例流程示意图;

图2是本发明实施例提供的一种应用升级方法的第二实施例流程示意图;

图3是本发明实施例提供的一种应用升级方法的第三实施例流程示意图;

图4a是本发明实施例提供的一种终端的第一实施例结构示意图;

图4b是本发明实施例提供的图4a所描述的终端的第二合成单元的结构示意图;

图4c是本发明实施例提供的图4a所描述的终端的又一结构示意图;

图4d是本发明实施例提供的图4c所描述的终端的又一结构示意图;

图4e是本发明实施例提供的图4a所描述的终端的又一结构示意图;

图5是本发明实施例提供的一种终端的第二实施例结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

本发明实施例所描述的终端可以包括智能手机(如Android手机、iOS手机、Windows Phone手机等)、平板电脑、掌上电脑、笔记本电脑、移动互联网设备(MID,Mobile Internet Devices)或穿戴式设备等,上述终端仅是举例,而非穷举,包含但不限于上述终端。

需要说明的是,现有技术中,应用双开作为应用分身的一个特例,其主要是指通过软件方式,同时运行两个相同应用程序,即包含一个主应用和一个分身应用,例如,以微信多开为例,即在一部手机上同时安装多个微信并且可保证多个账户同时使用无需反复登陆。比如,一部手机同时打开3个微信应用(其中,1个主应用,2个分身应用),分别进行好友聊天、微商做生意、发朋友圈等,均互不干扰,不会被手机上另一微信挤掉。

可选地,上述分身应用可为主应用的镜像应用。或者,对任一应用而言,可将其分为两部分,一部分为主应用,一部分为分身应用,两部分合成才是一个完整应用,主应用用于进行一些权限较低的操作,而分身应用则用于专门针对权限较高的操作,因而,分身应用安全性更高。或者,某一应用的主应用为一完整的应用,分身应用只是其一部分。

可选地,为了使用户便于区别主应用和分身应用,可将主应用和分身应用的名称,图标图片,图标颜色或者图标大小等中的至少一个进行区别设置。例如,以微信的名称为例:主应用名称可为微信1,分身应用名称可为微信2、微信3,另外,当分身应用均隐藏或者伪装时,则主应用名称可直接为微信,本发明实施例中,隐藏的意思是指某一应用对应的图标在桌面无法找到,伪装的意思是指某一应用的图标伪装成其他图标,例如,将微信图标伪装为支付宝图标,如此,具有一定的迷惑性,当然,伪装的图标可选择使用频率低的应用的图标,如此,不容易引起其他用户注意。另外,分身应用可以和主应用共用一个数据库,当然,主应用和分身应用也可以由不同的数据库,具体依据实际情况而定。

可选地,终端可预先将某一个应用设置为主应用和分身应用,当然,分身应用的个数可以为至少一个,用户在使用终端时,可在终端上同时打开主应用和至少一个分身应用。进一步地,可以设置主应用和分身应用分别接收不同的信息,例如,主应用可接收一些非私密信息,分身应用可以接收一些私密信息,还可以将分身应用进行隐藏,使分身应用无法在界面上直接看到,需要查看分身应用时,可通过预设方式(例如,进行身份验证)打开分身应用,或者,将分身应用接收到的信息进行加密,在查看该信息时,需要打开该分身应用,并对该信息进行解密,从而,在解密成功后,才可以查看该信息。

进一步需要说明的是,本发明实施例中所描述的应用可包含主应用和至少一个分身应用。其中,主应用可处在常规模式下,而分身应用则可处于常规模式或者安全模式下,其中,常规模式与安全模式为相对的两种模式,通常情况下,用户主要在常规模式下运行应用。因此,在某一应用包含主应用和一个分身应用时,可包含两种情况,一种情况可为主应用在常规模式下,分身应用也在常规模式下,另一种情况可为主应用在常规模式下,分身应用则在安全模式下。在某一应用包含主应用和多个分身应用时,可包含如下三种情况,第一种情况可为:主应用和所有分身应用均在常规模式下,第二种情况可为:主应用和所有分身应用均在安全模式下,第三种情况可为:主应用处于常规模式下,部分分身应用处于常规模式下,其他的分身应用处于安全模式下。

请参阅图1,为本发明实施例提供的一种应用升级方法的第一实施例流程示意图。本实施例中所描述的应用升级方法,包括以下步骤:

101、在目标应用的主应用接收到该目标应用的升级包时,根据所述升级包在所述主应用的第一更新目录下合成所述主应用的第一源数据和第一升级包数据。

其中,目标应用可包括但不仅限于:视频应用(如腾讯视频、爱奇艺、优酷等)、社交应用(如微信、微博、QQ等)、游戏应用(如愤怒的小鸟、斗地主等)、支付应用(如支付宝、苹果支付等)。上述目标应用可由用户指定或者系统默认,例如,将使用频率大于预设频率阈值的应用作为目标应用,预设频率阈值可由用户指定。上述目标应用可包含主应用和至少一个分身应用,本发明实施例中仅以一个分身应用的情况加以说明,至少目标应用包含多个分身应用的情况,可以以此类推。

可选地,在目标应用的主应用接收到该目标应用的升级包时,可在主应用的数据目录里面创建一个第一更新目录,并在该第一更新目录下,根据该升级包合成第一源数据和第一升级包数据。上述升级包中可包括但不仅限于:目标应用在升级后的版本号,升级后的用户接口(User Interface,UI)界面资源,更新的数据库等等。因而,可根据升级包合成第一源数据(包含更新后的源数据),和第一升级包数据(不仅包含主应用的升级包数据,还包括分身应用的数据包数据)。

102、在所述第一升级包数据合成成功时,向所述目标应用的分身应用发送升级成功消息。

可选地,在第一升级包数据合成成功,则主应用升级成功,由于目标应用的主应用的源数据不需要立刻更新,从而,不会中断用户使用主应用。

可选地,在第一升级包数据合成失败,则可向目标应用的分身应用发送升级失败的消失,或者,可不向目标应用的分身应用发送任何消息。则分身应用此时,无法进行更新。

103、在所述目标应用的分身应用的第二更新目录下合成所述分身应用的第二源数据和第二升级包数据,其中,所述第二升级包数据为所述第一升级包数据中与所述分身应用对应的数据。

可选地,在目标应用的分身应用接收到步骤102中的升级成功消息,可在该分身应用的数据目录里面创建一个第二更新目录,在该第二更新目录下合成分身应用的第二源数据和第二升级包数据,其中,该第二升级包数据为第一升级包数据中与分身应用对应的数据。

可选地,在分身应用也升级成功后,可生成一个目标应用升级成功的成功标记。

可选地,上述步骤103中,在所述目标应用的分身应用的第二更新目录下合成所述分身应用的第二源数据和第二升级包数据,可包括如下步骤:

31)、在所述目标应用的分身应用的第二更新目录下,读取所述第一升级包数据;

32)、根据所述分身应用的应用标识从所述第一升级包数据中提取所述第二升级包数据;

33)、根据所述第二升级包数据合成所述分身应用的第二源数据。

其中,第一升级包数据可存储在目标应用对应的指定文件夹(例如,安装文件所在的文件夹)中,可从该指定文件夹中读取第一升级包数据。上述分身应用的应用标识主要用于识别是哪个分身应用,应用标识可为应用名称。例如,目标应用包含主应用、分身应用1和分身应用2,主应用可对应一个应用标识、分身应用1可对应一个应用标识、分身应用2可对应一个应用标识,当然,不同的应用,其应用标识不一样。因而,可根据分身应用的应用标识从第一升级数据包中提取第二升级包数据。进一步地,可根据第二升级包数据合成该分身应用的第二源数据。

可选地,步骤101之前,目标应用的主应用可在联网状态下周期性地向服务器端发出升级请求,检查服务器上面是否发布了该目标应用的新版本。当该主应用检测到服务器端有新版本时,可弹出一个让用户选择下载升级包的对话框,该对话框包括下载和取消两个功能。当主应用的升级包下载下来后,可弹出一个让用户选择是否立刻升级的对话框,对话框包括:立刻升级和稍后升级两个功能。如果用户选择稍后升级,该对话框会在一个小时之后再次弹出。然后,主应用和分身应用分别根据该升级包进行升级操作。例如,主应用的相关数据(版本号、数据库等)的更新和UI界面的更新相关进行相应更新,分身应用相关数据的更新(版本号、数据库等)和UI界面的更新相关处理逻辑。

例如,目标应用的主应用把升级包下载到特定的目录(该目标可为主应用的数据目标)下面,检测到这个升级包后,会在主应用的数据目录里面创建一个update_main目录,当用户选择立刻升级时,主应用会在update_main目录下面合成主应用源数据+升级包的数据,即升级后主应用的数据;当主应用在update_main目录下面合成数据成功后(即升级成功后),会通知分身应用(即向分身应用发送一个升级成功消息),这时分身应用也会在自己的数据目录下面创建一个update_avatar目录(与上述update_main目录累死),可提取上述升级包里面跟分身应用相关的patch数据,然后在分身应用数据目录的update_avatar目录中合成分身应用+升级包中跟分身应用相关的patch的数据信息,合成成功后,即分身应用升级成功。

可以看出,通过上述本发明实施例,在目标应用的主应用接收到该目标应用的升级包时,根据升级包在主应用的第一更新目录下合成主应用的第一源数据和第一升级包数据,在第一升级包数据合成成功时,向目标应用的分身应用发送升级成功消息,在目标应用的分身应用的第二更新目录下合成分身应用的第二源数据和第二升级包数据,其中,第二升级包数据为第一升级包数据中与分身应用对应的数据。如此,可在应用升级过程中,正常使用其主应用和分身应用。

与上述一致地,请参阅图2,为本发明实施例提供的一种应用升级方法的第二实施例流程示意图。本实施例中所描述的应用升级方法,包括以下步骤:

201、在目标应用的主应用接收到该目标应用的升级包时,在所述主应用的第一更新目录下合成所述主应用的第一源数据和第一升级包数据。

202、在所述第一升级包数据合成成功时,向所述目标应用的分身应用发送升级成功消息。

203、在所述目标应用的分身应用的第二更新目录下合成所述分身应用的第二源数据和第二升级包数据,其中,所述第二升级包数据为所述第一升级包数据中与所述分身应用对应的数据。

其中,上述步骤201-步骤203可参照图1所描述的应用升级方法的对应步骤101-步骤103。

204、在下次启动所述目标应用时,检测所述主应用的第一源数据与所述主应用的当前源数据是否一致。

205、在所述目标应用的第一源数据与所述目标应用的当前源数据不一致时,利用所述第一源数据更新所述目标应用的当前源数据。

其中,在检测到下次启动上述目标应用时,可获取该主应用的当前源数据,进一步,判断该当前源数据与第一源数据是否一致,在当前源数据与第一源数据一致时,不更新当前源数据,在当前源数据与第一源数据是不一致,可利用第一源数据更新主应用的当前源数据,即将第一源数据与当前源数据进行比对,得到存在于第一源数据,而当前源数据中不包含的这部分数据,将该部分数据更新到当前源数据中,或者,将第一源数据覆盖当前源数据。如此,可实现对主应用的UI界面进行更新。

206、在下次启动所述目标应用时,获取所述目标应用的源数据。

其中,由于目标应用再次启动,则可获取此时目标应用的源数据,该源数据相对于步骤204中的目标应用的当前源数据不一样,因为,在不同时刻启动目标应用时,读取的目标应用的源数据可不一样。

207、检测所述第一更新目录的数据与所述目标应用的源数据是否一致。

208、在所述第一更新目录的数据与所述目标应用的源数据一致时,删除所述第一更新目录的数据。

其中,可进一步检测第一更新目录的数据与目标应用的源数据是否一致,若第一更新目录的数据与目标应用的源数据一致时,删除第一更新目录的数据。同时,也可以进一步删除升级成功的成功标记。当然,也可以删除第一升级数据包。

例如,主应用在进程P1(当前正在运行)的状态下在update_main目录合成升级包成功后,并不会立即加载这个目录下面的数据信息,而是一直使用主应用是之前的数据信息,即主应用更新之前的源数据;等该主应用下次启动即在进程P2(下次启动)的状态下,启动时会去检测是否有update_main目录,比较update_main目录下的数据跟源数据是否一样,若主应用升级成功,成功的话,可去加载升级之后的数据信息(即加载update_main目录的数据),此时,正常运行后,主应用会把update_main里面的数据信息覆盖升级之前的源数据;等主应用在下下次启动即进程P3(上述下次启动的下次启动)的状态下,比较update_main目录的数据与此时的源数据是否一致,一致的话,就会删除update_main里面的数据信息,同时删除升级成功的标记。当然,后续主应用的升级可采用上述方式进行。

可选地,上述步骤204-步骤208同样适应于对分身应用,因而,在此不再赘述。

可以看出,通过上述本发明实施例,在目标应用的主应用接收到该目标应用的升级包时,根据升级包在主应用的第一更新目录下合成主应用的第一源数据和第一升级包数据,在第一升级包数据合成成功时,向目标应用的分身应用发送升级成功消息,在目标应用的分身应用的第二更新目录下合成分身应用的第二源数据和第二升级包数据,其中,第二升级包数据为第一升级包数据中与分身应用对应的数据。如此,可在应用升级过程中,正常使用其主应用和分身应用。在下次启动目标应用时,在主应用的第一源数据与主应用的当前源数据不一致时,利用第一源数据更新主应用的当前源数据,如此,在下一次启动过程中,可以完成对主应用的UI界面进行更新。在下次启动目标应用时,获取目标应用的源数据,在第一更新目录的数据与目标应用的源数据一致时,删除第一更新目录的数据。

与上述一致地,请参阅图3,为本发明实施例提供的一种应用升级方法的第三实施例流程示意图。本实施例中所描述的应用升级方法,包括以下步骤:

301、在目标应用的主应用接收到该目标应用的升级包时,根据所述升级包在所述主应用的第一更新目录下合成所述主应用的第一源数据和第一升级包数据。

302、在所述第一升级包数据合成成功时,向所述目标应用的分身应用发送升级成功消息。

303、在所述目标应用的分身应用的第二更新目录下合成所述分身应用的第二源数据和第二升级包数据,其中,所述第二升级包数据为所述第一升级包数据中与所述分身应用对应的数据。

其中,上述步骤301-步骤303可参照图1所描述的应用升级方法的对应步骤101-步骤103。

304、检测当前时间是否处于预设时间段。

可选地,上述预设时间段可由用户指定,或者,系统默认。例如,预设时间段可为晚上12点-3点。预设时间段可为用户很少使用终端的时间段。

305、在所述当前时间处于所述预设时间段时,检测所述分身应用的第二源数据与所述目标应用的当前源数据是否一致。

306、在所述目标应用的第二源数据与所述目标应用的当前源数据不一致时,利用所述第二源数据更新所述分身应用的当前源数据。

其中,在当前时间处于预设时间段时,可检测分身应用的第二源数据与分身应用的当前源数据是否一致,在分身应用的第二源数据与分身应用的当前源数据不一致时,可利用第二源数据更新分身应用的当前源数据。在当前源数据与第二源数据一致时,不更新当前源数据,在当前源数据与第二源数据是不一致,可利用第二源数据更新分身应用的当前源数据,即将第二源数据与当前源数据进行比对,得到存在于第二源数据,而当前源数据中不包含的这部分数据,将该部分数据更新到当前源数据中,或者,将第二源数据覆盖当前源数据。如此,可实现对分身应用的UI界面进行更新。

可以看出,通过上述本发明实施例,在目标应用的主应用接收到该目标应用的升级包时,根据升级包在主应用的第一更新目录下合成主应用的第一源数据和第一升级包数据,在第一升级包数据合成成功时,向目标应用的分身应用发送升级成功消息,在目标应用的分身应用的第二更新目录下合成分身应用的第二源数据和第二升级包数据,其中,第二升级包数据为第一升级包数据中与分身应用对应的数据。如此,可在应用升级过程中,正常使用其主应用和分身应用。在当前时间处于预设时间段时,且分身应用的第二源数据与分身应用的当前源数据不一致时,利用第二源数据更新分身应用的当前源数据,如此,在下一次启动过程中,可以完成对主应用的UI界面进行更新。

与上述一致地,以下为实施上述本发明实施例提供的应用升级方法的装置,具体如下:

请参阅图4a,为本发明实施例提供的一种终端的实施例结构示意图。本实施例中所描述的终端,包括:第一合成单元401、发送单元402和第二合成单元403,具体如下:

第一合成单元401,用于在目标应用的主应用接收到该目标应用的升级包时,根据所述升级包在所述主应用的第一更新目录下合成所述主应用的第一源数据和第一升级包数据;

发送单元402,用于在所述第一升级包数据合成成功时,向所述目标应用的分身应用发送升级成功消息;

第二合成单元403,用于在所述目标应用的分身应用的第二更新目录下合成所述分身应用的第二源数据和第二升级包数据,其中,所述第二升级包数据为所述第一升级包数据中与所述分身应用对应的数据。

可选地,如图4b所示,图4b为图4a所描述的终端的第二合成单元402的具体细化结构,所述第二合成单元402可包括:读取模块4021、提取模块4022和合成模块4023,具体如下:

读取模块4021,用于在所述目标应用的分身应用的第二更新目录下,读取所述第一升级包数据;

提取模块4022,用于根据所述分身应用的应用标识从所述第一升级包数据中提取所述第二升级包数据;

合成模块4023,用于根据所述第二升级包数据合成所述分身应用的第二源数据。

可选地,如图4c所示,图4c为图4a所描述的终端的变型结构,其与图4a所描述的终端相比较,其还可以包括:第一检测单元404和第一更新单元405,具体如下:

第一检测单元404,用于在所述第二合成单元在所述目标应用的分身应用的第二更新目录下合成所述分身应用的第二源数据和第二升级包数据之后,所在下次启动所述目标应用时,检测所述主应用的第一源数据与所述主应用的当前源数据是否一致;

第一更新单元405,用于在所述第一检测单元404的检测结果为所述主应用的第一源数据与所述主应用的当前源数据不一致时,利用所述第一源数据更新所述主应用的当前源数据。

可选地,如图4d所示,图4d为图4b所描述的终端的变型结构,其与图4b所描述的终端相比较,其还可以包括:获取单元406、第二检测单元407和删除单元408,具体如下:

获取单元406,用于在所述第一更新单元405利用所述第一源数据更新所述目标应用的当前源数据之后,下次启动所述目标应用时,获取所述目标应用的源数据;

第二检测单元407,用于检测所述第一更新目录的数据与所述目标应用的源数据是否一致;

删除单元408,用于在所述第二检测单元407的检测结果为所述第一更新目录的数据与所述目标应用的源数据一致时,删除所述第一更新目录的数据。

可选地,如图4e所示,图4e为图4a所描述的终端的变型结构,其与图4a所描述的终端相比较,其还可以包括:第三检测单元409和第二更新单元410,具体如下:

第三检测单元409,用于在所述第二合成单元在所述目标应用的分身应用的第二更新目录下合成所述分身应用的第二源数据和第二升级包数据之后,检测当前时间是否处于预设时间段;

所述第三检测单元409,还具体用于:

在所述第三检测单元409的检测结果为所述当前时间处于所述预设时间段时,检测所述分身应用的第二源数据与所述分身应用的当前源数据是否一致;

第二更新单元410,用于在所述第三检测单元409的检测结果为所述分身应用的第二源数据与所述分身应用的当前源数据不一致时,利用所述第二源数据更新所述分身应用的当前源数据。

可以看出,通过上述本发明实施例所描述的终端,可在目标应用的主应用接收到该目标应用的升级包时,根据升级包在主应用的第一更新目录下合成主应用的第一源数据和第一升级包数据,在第一升级包数据合成成功时,向目标应用的分身应用发送升级成功消息,在目标应用的分身应用的第二更新目录下合成分身应用的第二源数据和第二升级包数据,其中,第二升级包数据为第一升级包数据中与分身应用对应的数据。如此,可在应用升级过程中,正常使用其主应用和分身应用。

请参阅图5,为本发明实施例提供的一种终端的第二实施例结构示意图。本实施例中所描述的终端,包括:至少一个输入设备1000;至少一个输出设备2000;至少一个处理器3000,例如CPU;和存储器4000,上述输入设备1000、输出设备2000、处理器3000和存储器4000通过总线5000连接。

其中,上述输入设备1000具体可为触控面板、物理按键或者鼠标。

上述输出设备2000具体可为显示屏。

上述存储器4000可以是高速RAM存储器,也可为非易失存储器(non-volatile memory),例如磁盘存储器。上述存储器4000用于存储一组程序代码,上述输入设备1000、输出设备2000和处理器3000用于调用存储器4000中存储的程序代码,执行如下操作:

上述处理器3000,用于:

在目标应用的主应用接收到该目标应用的升级包时,根据所述升级包在所述主应用的第一更新目录下合成所述主应用的第一源数据和第一升级包数据;

在所述第一升级包数据合成成功时,向所述目标应用的分身应用发送升级成功消息;

在所述目标应用的分身应用的第二更新目录下合成所述分身应用的第二源数据和第二升级包数据,其中,所述第二升级包数据为所述第一升级包数据中与所述分身应用对应的数据。

可选地,上述处理器3000在所述目标应用的分身应用的第二更新目录下合成所述分身应用的第二源数据和第二升级包数据,包括:

在所述目标应用的分身应用的第二更新目录下,读取所述第一升级包数据;

根据所述分身应用的应用标识从所述第一升级包数据中提取所述第二升级包数据;

根据所述第二升级包数据合成所述分身应用的第二源数据。

可选地,上述处理器3000在所述目标应用的分身应用的第二更新目录下合成所述分身应用的第二源数据和第二升级包数据之后,还具体用于:

在下次启动所述目标应用时,检测所述主应用的第一源数据与所述主应用的当前源数据是否一致;

在所述主应用的第一源数据与所述主应用的当前源数据不一致时,利用所述第一源数据更新所述主应用的当前源数据。

可选地,上述处理器3000,在所述利用所述第一源数据更新所述目标应用的当前源数据之后,还具体用于:

在下次启动所述目标应用时,获取所述目标应用的源数据;

检测所述第一更新目录的数据与所述目标应用的源数据是否一致;

在所述第一更新目录的数据与所述目标应用的源数据一致时,删除所述第一更新目录的数据。

可选地,上述处理器3000在所述目标应用的分身应用的第二更新目录下合成所述分身应用的第二源数据和第二升级包数据之后,还具体用于:

检测当前时间是否处于预设时间段;

在所述当前时间处于所述预设时间段时,检测所述分身应用的第二源数据与所述分身应用的当前源数据是否一致;

在所述分身应用的第二源数据与所述分身应用的当前源数据不一致时,利用所述第二源数据更新所述分身应用的当前源数据。

本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任何一种应用升级方法的部分或全部步骤。

尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。

本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。

本发明是参照本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1