一种软件升级的方法和设备的制作方法

文档序号:6523491阅读:160来源:国知局
一种软件升级的方法和设备的制作方法
【专利摘要】本发明实施例提供一种软件升级的方法和设备。涉及通信【技术领域】,能够为终端设备提供APK增量升级包,以减少该终端设备在升级软件时消耗的流量和时间。该方法包括:软件更新服务器在接收到已安装于终端设备的软件的标识信息和版本信息时,根据该软件的标识信息确定第一APK,并在确定该软件的版本低于该第一APK的版本时,获取与该版本信息表示的版本相同的第二APK,并在根据该第二APK与该第一APK的差异得到APK增量升级包后,向该终端设备发送软件升级消息,以便该终端设备在根据该软件升级消息下载该APK增量升级包后,调用安装程序利用该APK增量升级包对该软件进行升级。本发明实施例用于升级软件。
【专利说明】一种软件升级的方法和设备
【技术领域】
[0001]本发明涉及通信【技术领域】,尤其涉及一种软件升级的方法和设备。
【背景技术】
[0002]随着终端设备技术的快速发展,用户在终端设备中安装和使用软件越来越普及,由于软件的功能随着用户需求的变化而变化,当软件的功能发生变化或该软件添加新的功能时,终端设备需要对该软件进行升级。
[0003]现有技术中,采用安卓操作系统的终端设备在进行软件升级时,该终端设备下载比该软件版本更高的APK (Android Package,安卓安装包),并通过调用该终端设备的安装程序对该更高版本的APK进行相应的安装操作,完成该软件由较低版本到较高版本的升级。其中,软件的开发商将该软件更高版本的APK安装包上传到软件更新服务器,该软件更新服务器在接收到该移动终端的软件升级请求消息时,根据该软件升级请求消息中的软件版本信息确定移动终端上当前安装的该软件的版本低于该APK安装包的版本,并向该终端设备发送软件升级响应消息,以便该终端设备根据该软件升级响应消息从该软件更新服务器下载该APK安装包。
[0004]由上可知,该终端设备在软件升级时,必须将对应该软件的高版本的APK安装包下载下来,这样,随着APK安装包越来越大,增加了该终端设备进行升级软件消耗的流量和时间。

【发明内容】

[0005]本发明提供一种软件升级的方法和设备,能够为终端设备提供APK增量升级包,以减少该终端设备在升级软件时消耗的流量和时间。
[0006]为达到上述目的,本发明的实施例采用如下技术方案:
[0007]第一方面,提供一种软件升级的方法,包括:
[0008]软件更新服务器接收终端设备发送的已安装于所述终端设备的软件的标识信息和版本信息,并根据所述软件的标识信息确定第一安卓安装包APK ;
[0009]在根据所述软件的版本信息确定所述软件的版本低于所述第一 APK的版本时,获取第二 APK,其中,所述第二 APK的版本与所述版本信息表示的版本相同;
[0010]根据所述第二 APK与所述第一 APK的差异得到APK增量升级包,并向所述终端设备发送软件升级消息,以便所述终端设备在根据所述软件升级消息下载所述APK增量升级包后,调用安装程序利用所述APK增量升级包对所述软件进行升级。
[0011]在第一方面的第一种可能的实现方式中,所述根据所述第二 APK与所述第一 APK的差异得到APK增量升级包包括:
[0012]根据所述第二 APK确定所述第一 APK中的更新文件,其中,所述更新文件包括所述第一 APK中的新增文件和更改文件,并将所述新增文件和所述更改文件组成所述APK增量升级包。[0013]结合第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:
[0014]获取所述APK增量升级包中的更新文件清单信息;
[0015]所述向所述终端设备发送软件升级消息包括:
[0016]向所述终端设备发送所述更新文件清单信息,以便所述终端设备根据所述更新文件清单信息下载所述更新文件。
[0017]结合第一种可能的实现方式或者第二种可能的实现方式,在第三种可能的实现方式中,所述方法还包括,获取对应所述APK增量升级包的操作指令集,并将所述操作指令集发送至所述终端设备;
[0018]所述向所述终端设备发送软件升级消息,以便所述终端设备在根据所述软件升级消息下载所述APK增量升级包后,调用安装程序利用所述APK增量升级包对所述软件进行升级包括:
[0019]向所述终端设备发送软件升级消息,以便所述终端设备在根据所述软件升级消息下载所述APK增量升级包后,调用安装程序利用所述APK增量升级包和所述操作指令集对所述软件进行升级。
[0020]结合第三种可能的实现方式,在第四种可能的实现方式中,所述更新文件清单信息包括更新文件对应的下载路径,以便所述终端设备根据所述下载路径下载对应的更新文件。
[0021]本发明第二方面提供一种软件更新服务器,包括:
[0022]接收单元,用于接收终端设备发送的已安装于所述终端设备的软件的标识信息和版本信息,并根据所述软件的标识信息确定第一安卓安装包APK ;
[0023]处理单元,用于在根据所述接收单元接收到的软件的版本信息确定所述软件的版本低于所述第一APK的版本时,获取第二APK,其中,所述第二APK的版本与所述版本信息表示的版本相同;
[0024]所述处理单元还用于,根据所述第二 APK与所述第一 APK的差异得到APK增量升级包;
[0025]发送单元,用于在所述处理单元得到所述APK增量升级包后,向所述终端设备发送软件升级消息,以便所述终端设备在根据所述软件升级消息下载所述APK增量升级包后,调用安装程序利用所述APK增量升级包对所述软件进行升级。
[0026]在第二方面的第一种可能的实现方式中,所述处理单元还用于,根据所述第二 APK确定所述第一 APK中的更新文件,其中,所述更新文件包括所述第一 APK中的新增文件和更改文件,并将所述新增文件和所述更改文件组成所述APK增量升级包。
[0027]结合第一种可能的实现方式,在第二种可能的实现方式中,所述处理单元具体用于,获取所述APK增量升级包中的更新文件清单信息;所述发送单元具体用于,向所述终端设备发送所述更新文件清单信息,以便所述终端设备根据所述更新文件清单信息下载所述更新文件。
[0028]结合第一种可能的实现方式或者第二种可能的实现方式,在第三种可能的实现方式中,所述处理单元具体用于,获取对应所述APK增量升级包的操作指令集,所述发送单元具体用于,将所述操作指令集发送至所述终端设备,以便所述终端设备在根据所述软件升级消息下载所述APK增量升级包后,调用安装程序利用所述APK增量升级包和所述操作指令集对所述软件进行升级。
[0029]结合第三种可能的实现方式,在第四种可能的实现方式中,所述更新文件清单信息包括更新文件对应的下载路径,以便所述终端设备根据所述下载路径下载对应的更新文件。
[0030]采用上述方案,软件更新服务器在接收到终端设备发送的已安装于该终端设备的软件的标识信息和版本信息时,根据该软件的标识信息确定第一 APK,并在根据该软件的版本信息确定该软件的版本低于该第一 APK的版本时,获取与该版本信息表不的版本相同的第二 APK,该软件更新服务器根据该第二 APK与该第一 APK的差异得到APK增量升级包,并向该终端设备发送软件升级消息,以便该终端设备在根据该软件升级消息下载该APK增量升级包后,调用安装程序利用所述APK增量升级包对该软件进行升级。由于该APK增量升级包为该第一 APK与该第二 APK不同的部分,因此该APK增量升级包的数据量小于该第一APK,这样,终端设备在进行软件升级时,只需要下载该APK增量升级包,无需下载完整的该第一 APK,从而减少了下载所消耗的流量和时间。
【专利附图】

【附图说明】
[0031]图1为本发明实施例提供的一种软件升级的方法的流程示意图;
[0032]图2为本发明实施例提供的另一种软件升级的方法的流程示意图;
[0033]图3为本发明实施例提供的一种软件更新服务器。
【具体实施方式】
[0034]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0035]本发明实施例提供一种软件升级的方法,如图1所示,该方法包括:
[0036]S101、软件更新服务器接收终端设备发送的已安装于该终端设备的软件的标识信息和版本信息,并根据该软件的标识信息确定第一安卓安装包APK。
[0037]具体地,用户在对终端设备中安装的软件进行升级时,该终端设备向软件更新服务器发送该软件的标识信息和版本信息,其中,该终端设备的操作系统为安卓操作系统,该软件更新服务器存储有软件开发者或开发商上传的对应该软件的不同版本的APK,则该软件更新服务器根据该软件的标识信息在不同版本的APK中确定第一 APK,该第一 APK可以是该软件更新服务器中对应该软件的版本最高的APK。
[0038]示例的,该软件的标识信息为的该软件的名称:xx,该软件更新服务器中存储有对应该软件的多个不同版本的安装包,例如xx_l.APK、xx_2.APK和XX_3.APK,则该软件更新服务器在接收到该终端设备发送的该软件的标识信息XX时,根据该软件的标识信息XX确定对应该软件的安装包xx_l.APK、xx_2.APK和xx_3.APK,并确定版本最高的xx_3.APK为该第一 APK。
[0039]S102、该软件更新服务器在根据该软件的版本信息确定该软件的版本低于该第一APK的版本时,获取第二 APK。[0040]其中,该第二 APK的版本与该版本信息表示的版本相同。
[0041]具体地,该软件更新服务器根据该软件的版本信息比较该软件的版本与该第一APK的版本,若该软件的版本在该第一 APK的版本以上,则该软件更新服务器确定该软件的版本已经是最高版本,无需进行版本升级;若该软件的版本低于该第一 APK的版本,则该软件更新服务器确定该软件需要更新并获取与该软件同版本的第二 APK。
[0042]示例地,该第一 APK为xx_3.APK,即该第一 APK的版本为第三版,若该软件的版本为第三版,则该软件更新服务器在确定该版本信息表示的版本与该第一 APK的版本相同时,该软件更新服务器确定该软件无需进行版本升级;若该软件的版本为第二版,则该软件更新服务器在确定该版本信息表示的版本低于该第一 APK的版本时,该软件更新服务器确定该软件可以进行版本升级,并获取与该版本信息表示的版本相同的xx_2.APK,即第二APK。
[0043]S103、该软件更新服务器根据该第二 APK与该第一 APK的差异得到APK增量升级包,并向该终端设备发送软件升级消息,以便该终端设备在根据该软件升级消息下载该APK增量升级包后,调用安装程序利用该APK增量升级包对该软件进行升级。
[0044]可选地,该软件更新服务器根据该第二 APK确定该第一 APK中的更新文件,其中,该更新文件包括该第一 APK中的新增文件和更改文件,并将该新增文件和该更改文件组成该APK增量升级包。
[0045]进一步地,该软件更新服务器获取该APK增量升级包中的更新文件清单信息,并将该更新文件清单信息发送至该终端设备,以便该终端设备根据该更新文件清单信息下载该更新文件。
[0046]具体地,该软件更新服务器将该第二 APK与该第一 APK进行比较,可能有以下四种情况:
[0047]1、存在该第一 APK中的安装文件A,不存在于该第二 APK中,则该第一 APK中增加了该安装文件A ;
[0048]2、存在该第二 APK中的安装文件B,不存在于该第一 APK中,则该第一 APK中删除了该安装文件B ;
[0049]3、该第一 APK与该第二 APK中都存在安装文件C,但该第一 APK与该第二 APK中对应该安装文件C的存储信息不同,则该第一 APK修改了该安装文件C ;
[0050]4、该第一 APK与该第二 APK中都存在安装文件D,且该第一 APK与该第二 APK中对应该安装文件D的存储信息相同,则该安装文件D在该第一 APK与该第二 APK中保持不变。
[0051]这样,该软件更新服务器确定符合该情况I的安装文件A为该新增文件,符合情况3的安装文件A为该更改文件,则该软件更新服务器将该新增文件和该更改文件合并压缩成该APK增量升级包。另外,该软件更新服务器在确定该新增文件和该更改文件时,记录该新增文件的标识信息和该更改文件的标识信息,获得该更新文件清单信息。
[0052]可选地,该更新文件清单信息还包括更新文件对应的下载路径,以便该终端设备根据该下载路径下载对应的更新文件。
[0053]进一步地,该软件更新服务器获取对应该APK增量升级包的操作指令集,以便该终端设备在下载该APK增量升级包后,根据该操作指令集和该APK增量升级包对该软件进行升级。[0054]其中,该软件更新服务器可以通过向该终端设备发送软件升级消息将该更新文件清单信息和该操作指令集传送至该终端设备,也就是说,该软件升级消息包括该更新文件清单信息和该操作指令集。
[0055]需要说明的是,该终端设备在下载该APK增量升级包后,需要将该终端设备中用于安装该软件的第三APK与该APK增量升级包合并生成一个新的第四APK,其中,该第三APK的版本与该第二 APK的版本相同,该第四APK的版本与该第一 APK的版本相同。
[0056]具体地,该终端设备在接收到该软件更新服务器发送的软件升级消息后,按照该软件升级消息中的更新文件清单信息从该软件更新服务器中下载该APK增量升级包,并根据该软件升级消息中的操作指令集对该APK增量升级包进行操作,例如,根据上述该第二APK与该第一 APK进行比较的四种情况,对于情况I中的安装文件A,该终端设备需要执行对应该安装文件A的插入操作,将该安装文件A插入到该第三APK中;对于情况2中的安装文件B,该终端设备需要执行对应该安装文件B的删除操作,将该安装文件B从该第三APK中删除;对于情况3中的安装文件C,该终端设备需要执行对应该安装文件C的替换操作,将该第三APK中的安装文件C替换为该APK增量更新包中的安装文件C。这样,该终端设备通过该操作指令集将该第三APK与该APK增量更新包合并为一个新的第四APK,则该终端设备通过调用安装程序对该第四APK进行安装操作,完成该软件更高版本的安装,使得该软件由低版本升级为高版本。
[0057]采用上述方案,软件更新服务器在接收到终端设备发送的已安装于该终端设备的软件的标识信息和版本信息时,根据该软件的标识信息确定第一 APK,并在根据该软件的版本信息确定该软件的版本低于该第一 APK的版本时,获取与该版本信息表不的版本相同的第二 APK,该软件更新服务器根据该第二 APK与该第一 APK的差异得到APK增量升级包,并向该终端设备发送软件升级消息,以便该终端设备在根据该软件升级消息下载该APK增量升级包后,调用安装程序利用所述APK增量升级包对该软件进行升级。由于该APK增量升级包为该第一 APK与该第二 APK不同的部分,因此该APK增量升级包的数据量小于该第一APK,这样,终端设备在进行软件升级时,只需要下载该APK增量升级包,无需下载完整的该第一 APK,从而减少了下载所消耗的流量和时间。
[0058]本发明提供一种软件升级的方法,如图2所示,该方法包括:
[0059]S201、软件更新服务器获取已安装于终端设备的软件的标识信息和版本信息。
[0060]具体地,用户在对终端设备中安装的软件进行升级时,该终端设备向软件更新服务器发送该软件的标识信息和版本信息,其中,该终端设备的操作系统为安卓操作系统,该软件更新服务器存储有软件开发者或开发商上传的对应该软件的不同版本的APK。
[0061]S202、该软件更新服务器根据该软件的标识信息确定第一 APK。
[0062]具体地,该软件更新服务器根据该软件的标识信息在不同版本的APK中确定第一APK,其中,该第一 APK可以是该软件更新服务器中对应该软件的版本最高的APK。
[0063]示例的,该软件的标识信息为的该软件的名称:xx,该软件更新服务器中存储有对应该软件的多个不同版本的安装包,例如xx_l.APK、xx_2.APK和XX_3.APK,则该软件更新服务器在接收到该终端设备发送的该软件的标识信息XX时,根据该软件的标识信息XX确定对应该软件的安装包xx_l.APK、xx_2.APK和xx_3.APK,并确定版本最高的xx_3.APK为该第一 APK。[0064]S203、该软件更新服务器根据该软件的版本信息在确定该软件的版本低于该第一APK的版本时,获取与该版本信息表示的版本相同的第二 APK。
[0065]具体地,该软件更新服务器根据该软件的版本信息比较该软件的版本与该第一APK的版本,若该软件的版本在该第一 APK的版本以上,则该软件更新服务器确定该软件的版本已经是最高版本,无需进行版本升级;若该软件的版本低于该第一 APK的版本,则该软件更新服务器确定该软件需要更新并获取与该软件同版本的第二 APK。
[0066]示例地,该第一 APK为xx_3.APK,即该第一 APK的版本为第三版,若该软件的版本为第三版,则该软件更新服务器在确定该版本信息表示的版本与该第一 APK的版本相同时,该软件更新服务器确定该软件无需进行版本升级;若该软件的版本为第二版,则该软件更新服务器在确定该版本信息表示的版本低于该第一 APK的版本时,该软件更新服务器确定该软件可以进行版本升级,并获取与该版本信息标识的版本相同的xx_2.APK,即第二APK。
[0067]S204、该软件更新服务器将该第二 APK与该第一 APK进行比较,得到新增文件和更改文件。
[0068]具体地,该软件更新服务器将该第二 APK与该第一 APK进行比较,可能有以下四种情况:
[0069]1、存在该第一 APK中的安装文件A,不存在于该第二 APK中,则该第一 APK中增加了该安装文件A ;
[0070]2、存在该第二 APK中的安装文件B,不存在于该第一 APK中,则该第一 APK中删除了该安装文件B ;
[0071 ] 3、该第一 APK与该第二 APK中都存在安装文件C,但该第一 APK与该第二 APK中对应该安装文件C的存储信息不同,则该第一 APK修改了该安装文件C ;
[0072]4、该第一 APK与该第二 APK中都存在安装文件D,且该第一 APK与该第二 APK中对应该安装文件D的存储信息相同,则该安装文件D在该第一 APK与该第二 APK中保持不变。
[0073]这样,该软件更新服务器确定符合该情况I的安装文件A为该新增文件,符合情况3的安装文件A为该更改文件。
[0074]S205、该软件更新服务器将该新增文件和该更改文件合并为APK增量升级包,并获取更新文件清单信息。
[0075]其中,该更新文件包括该新增文件和该更改文件。
[0076]该软件更新服务器在确定该新增文件和该更改文件时,记录该新增文件的标识信息和该更改文件的标识信息,获得该更新文件清单信息。
[0077]可选地,该更新文件清单信息还包括更新文件对应的下载路径,以便该终端设备根据该下载路径下载对应的更新文件。
[0078]S206、该软件更新服务器获取对应该APK增量升级包的操作指令集,并向该终端设备发送软件升级消息。
[0079]其中,该软件升级消息包括该更新文件清单信息和该操作指令集。
[0080]S207、该终端设备根据该更新文件清单信息从该软件更新服务器下载该APK增量升级包,并按照该操作指令将该APK增量升级包与第三APK合并为第四APK。
[0081]需要说明的是,该终端设备在下载该APK增量升级包后,需要将该终端设备中用于安装该软件的第三APK与该APK增量升级包合并生成一个新的第四APK,其中,该第三APK的版本与该第二 APK的版本相同,该第四APK的版本与该第一 APK的版本相同。
[0082]S208、该终端设备调用安装程序利用该第四APK安装该软件的更高版本,完成该软件的升级。
[0083]具体地,该终端设备在接收到该软件更新服务器发送的软件升级消息后,按照该软件升级消息中的更新文件清单信息从该软件更新服务器中下载该APK增量升级包,并根据该软件升级消息中的操作指令对该APK增量升级包进行操作,例如,根据上述该第二 APK与该第一 APK进行比较的四种情况,对于情况I中的安装文件A,该终端设备需要执行对应该安装文件A的插入操作,将该安装文件A插入到该第三APK中;对于情况2中的安装文件B,该终端设备需要执行对应该安装文件B的删除操作,将该安装文件B从该第三APK中删除;对于情况3中的安装文件C,该终端设备需要执行对应该安装文件C的替换操作,将该第三APK中的安装文件C替换为该APK增量更新包中的安装文件C。这样,该终端设备通过该操作指令将该第三APK与该APK增量更新包合并为一个新的第四APK,则该终端设备通过调用安装程序对该第四APK进行安装操作,完成该软件更高版本的安装,使得该软件由低版本升级为高版本。
[0084]通过上述步骤,由于该APK增量升级包为该第一 APK与该第二 APK不同的部分,因此该APK增量升级包小于该第一 APK,这样,终端设备在进行软件升级时,只需要下载该APK增量升级包,无需下载完整的该第一 APK,从而减少了下载所消耗的流量和时间。
[0085]另外,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0086]本发明实施例提供一种软件更新服务器30,如图3所示,该软件更新服务器30包括:
[0087]接收单元31,用于接收终端设备发送的已安装于该终端设备的软件的标识信息和版本信息,并根据该软件的标识信息确定第一安卓安装包APK。
[0088]处理单元32,用于在根据该接收单元31接收到的软件的版本信息确定该软件的版本低于该第一 APK的版本时,获取第二 APK。
[0089]其中,该第二 APK的版本与该版本信息表示的版本相同。
[0090]该处理单元32还用于,根据该第二APK与该第一APK的差异得到APK增量升级包。
[0091]发送单元33,用于在该处理单元32得到该APK增量升级包后,向该终端设备发送软件升级消息,以便该终端设备在根据该软件升级消息下载该APK增量升级包后,调用安装程序利用该APK增量升级包对该软件进行升级。
[0092]具体地,用户在对终端设备中安装的软件进行升级时,该终端设备向软件更新服务器发送该软件的标识信息和版本信息,其中,该终端设备的操作系统为安卓操作系统,该软件更新服务器存储有软件开发者或开发商上传的对应该软件的不同版本的APK,则该软件更新服务器根据该软件的标识信息在不同版本的APK中确定第一 APK,该第一 APK可以是该软件更新服务器中对应该软件的版本最高的APK。
[0093]示例的,该软件的标识信息为的该软件的名称:xx,该软件更新服务器中存储有对应该软件的多个不同版本的安装包,例如xx_l.APK、xx_2.APK和XX_3.APK,则该软件更新服务器在接收到该终端设备发送的该软件的标识信息XX时,根据该软件的标识信息XX确定对应该软件的安装包xx_l.APK、xx_2.APK和xx_3.APK,并确定版本最高的xx_3.APK为该第一 APK。
[0094]进一步地,该软件更新服务器根据该软件的版本信息比较该软件的版本与该第一APK的版本,若该软件的版本在该第一 APK的版本以上,则该软件更新服务器确定该软件的版本已经是最高版本,无需进行版本升级;若该软件的版本低于该第一 APK的版本,则该软件更新服务器确定该软件需要更新并获取与该软件同版本的第二 APK。
[0095]示例地,该第一 APK为xx_3.APK,即该第一 APK的版本为第三版,若该软件的版本为第三版,则该软件更新服务器在确定该版本信息表示的版本与该第一 APK的版本相同时,该软件更新服务器确定该软件无需进行版本升级;若该软件的版本为第二版,则该软件更新服务器在确定该版本信息表示的版本低于该第一 APK的版本时,该软件更新服务器确定该软件可以进行版本升级,并获取与该版本信息表示的版本相同的xx_2.APK,即第二APK。
[0096]可选地,该处理单元32具体用于,根据该第二 APK确定该第一 APK中的更新文件,其中,该更新文件包括该第一 APK中的新增文件和更改文件,并将该新增文件和该更改文件组成该APK增量升级包。
[0097]进一步地,该处理单元32还用于,获取该APK增量升级包中的更新文件清单信息,该发送单元33具体用于,将该更新文件清单信息发送至该终端设备,以便该终端设备根据该更新文件清单信息下载该更新文件。
[0098]具体地,该软件更新服务器将该第二 APK与该第一 APK进行比较,可能有以下四种情况:
[0099]1、存在该第一 APK中的安装文件A,不存在于该第二 APK中,则该第一 APK中增加了该安装文件A ;
[0100]2、存在该第二 APK中的安装文件B,不存在于该第一 APK中,则该第一 APK中删除了该安装文件B ;
[0101 ] 3、该第一 APK与该第二 APK中都存在安装文件C,但该第一 APK与该第二 APK中对应该安装文件C的存储信息不同,则该第一 APK修改了该安装文件C ;
[0102]4、该第一 APK与该第二 APK中都存在安装文件D,且该第一 APK与该第二 APK中对应该安装文件D的存储信息相同,则该安装文件D在该第一 APK与该第二 APK中保持不变。
[0103]这样,该软件更新服务器确定符合该情况I的安装文件A为该新增文件,符合情况3的安装文件A为该更改文件,则该软件更新服务器将该新增文件和该更改文件合并压缩成该APK增量升级包。另外,该软件更新服务器在确定该新增文件和该更改文件时,记录该新增文件的标识信息和该更改文件的标识信息,获得该更新文件清单信息。
[0104]可选地,该更新文件清单信息还包括更新文件对应的下载路径,以便该终端设备根据该下载路径下载对应的更新文件。
[0105]进一步地,该处理单元32具体用于,获取对应该APK增量升级包的操作指令集,该发送单元33具体用于,将该操作指令集发送至该终端设备,以便该终端设备在下载该APK增量升级包后,根据该操作指令集和该APK增量升级包对该软件进行升级。[0106]需要说明的是,该终端设备在下载该APK增量升级包后,需要将该终端设备中用于安装该软件的第三APK与该APK增量升级包合并生成一个新的第四APK,其中,该第三APK的版本与该第二 APK的版本相同,该第四APK的版本与该第一 APK的版本相同。
[0107]具体地,该终端设备在接收到该软件更新服务器发送的软件升级消息后,按照该软件升级消息中的更新文件清单信息从该软件更新服务器中下载该APK增量升级包,并根据该软件升级消息中的操作指令集对该APK增量升级包进行操作,例如,根据上述该第二APK与该第一 APK进行比较的四种情况,对于情况I中的安装文件A,该终端设备需要执行对应该安装文件A的插入操作,将该安装文件A插入到该第三APK中;对于情况2中的安装文件B,该终端设备需要执行对应该安装文件B的删除操作,将该安装文件B从该第三APK中删除;对于情况3中的安装文件C,该终端设备需要执行对应该安装文件C的替换操作,将该第三APK中的安装文件C替换为该APK增量更新包中的安装文件C。这样,该终端设备通过该操作指令集将该第三APK与该APK增量更新包合并为一个新的第四APK,则该终端设备通过调用安装程序对该第四APK进行安装操作,完成该软件更高版本的安装,使得该软件由低版本升级为高版本。
[0108]采用上述软件更新服务器,该软件更新服务器在接收到终端设备发送的已安装于该终端设备的软件的标识信息和版本信息时,根据该软件的标识信息确定第一 APK,并在根据该软件的版本信息确定该软件的版本低于该第一 APK的版本时,获取与该版本信息表示的版本相同的第二 APK,该软件更新服务器根据该第二 APK与该第一 APK的差异得到APK增量升级包,并向该终端设备发送软件升级消息,以便该终端设备在根据该软件升级消息下载该APK增量升级包后,调用安装程序利用所述APK增量升级包对该软件进行升级。由于该APK增量升级包为该第一 APK与该第二 APK不同的部分,因此该APK增量升级包的数据量小于该第一 APK,这样,终端设备在进行软件升级时,只需要下载该APK增量升级包,无需下载完整的该第一 APK,从而减少了下载所消耗的流量和时间。
[0109]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
【权利要求】
1.一种软件升级的方法,其特征在于,包括: 软件更新服务器接收终端设备发送的已安装于所述终端设备的软件的标识信息和版本信息,并根据所述软件的标识信息确定第一安卓安装包APK ; 在根据所述软件的版本信息确定所述软件的版本低于所述第一 APK的版本时,获取第二APK,其中,所述第二 APK的版本与所述版本信息表示的版本相同; 根据所述第二 APK与所述第一 APK的差异得到APK增量升级包,并向所述终端设备发送软件升级消息,以便所述终端设备在根据所述软件升级消息下载所述APK增量升级包后,调用安装程序利用所述APK增量升级包对所述软件进行升级。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第二APK与所述第一 APK的差异得到APK增量升级包包括: 根据所述第二 APK确定所述第一 APK中的更新文件,其中,所述更新文件包括所述第一APK中的新增文件和更改文件,并将所述新增文件和所述更改文件组成所述APK增量升级包。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括: 获取所述APK增量升级包中的更新文件清单信息; 所述向所述终端设备 发送软件升级消息包括: 向所述终端设备发送所述更新文件清单信息,以便所述终端设备根据所述更新文件清单信息下载所述更新文件。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括,获取对应所述APK增量升级包的操作指令集,并将所述操作指令集发送至所述终端设备; 所述向所述终端设备发送软件升级消息,以便所述终端设备在根据所述软件升级消息下载所述APK增量升级包后,调用安装程序利用所述APK增量升级包对所述软件进行升级包括: 向所述终端设备发送软件升级消息,以便所述终端设备在根据所述软件升级消息下载所述APK增量升级包后,调用安装程序利用所述APK增量升级包和所述操作指令集对所述软件进行升级。
5.根据权利要求4所述的方法,其特征在于,所述更新文件清单信息包括更新文件对应的下载路径,以便所述终端设备根据所述下载路径下载对应的更新文件。
6.一种软件更新服务器,其特征在于,包括: 接收单元,用于接收终端设备发送的已安装于所述终端设备的软件的标识信息和版本信息,并根据所述软件的标识信息确定第一安卓安装包APK ; 处理单元,用于在根据所述接收单元接收到的软件的版本信息确定所述软件的版本低于所述第一 APK的版本时,获取第二 APK,其中,所述第二 APK的版本与所述版本信息表示的版本相同; 所述处理单元还用于,根据所述第二 APK与所述第一 APK的差异得到APK增量升级包; 发送单元,用于在所述处理单元得到所述APK增量升级包后,向所述终端设备发送软件升级消息,以便所述终端设备在根据所述软件升级消息下载所述APK增量升级包后,调用安装程序利用所述APK增量升级包对所述软件进行升级。
7.根据权利要求6所述的软件更新服务器,其特征在于,所述处理单元还用于,根据所述第二 APK确定所述第一 APK中的更新文件,其中,所述更新文件包括所述第一 APK中的新增文件和更改文件,并将所述新增文件和所述更改文件组成所述APK增量升级包。
8.根据权利要求7所述的软件更新服务器,其特征在于,所述处理单元具体用于,获取所述APK增量升级包中的更新文件清单信息;所述发送单元具体用于,向所述终端设备发送所述更新文件清单信息,以便所述终端设备根据所述更新文件清单信息下载所述更新文件。
9.根据权利要求7或8所述的软件更新服务器,其特征在于,所述处理单元具体用于,获取对应所述APK增量升级包的操作指令集,所述发送单元具体用于,将所述操作指令集发送至所述终端设备,以便所述终端设备在根据所述软件升级消息下载所述APK增量升级包后,调用安装程序利用所述APK增量升级包和所述操作指令集对所述软件进行升级。
10.根据权利要求9所述的软件更新服务器,其特征在于,所述更新文件清单信息包括更新文件对应的下载路径,以`便所述终端设备根据所述下载路径下载对应的更新文件。
【文档编号】G06F9/445GK103699408SQ201310680784
【公开日】2014年4月2日 申请日期:2013年12月12日 优先权日:2013年12月12日
【发明者】刘兴福, 陈浩, 张力文, 李志纲, 袁斌 申请人:乐视网信息技术(北京)股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1