CN103699408A - 一种软件升级的方法和设备 - Google Patents
一种软件升级的方法和设备 Download PDFInfo
- Publication number
- CN103699408A CN103699408A CN201310680784.2A CN201310680784A CN103699408A CN 103699408 A CN103699408 A CN 103699408A CN 201310680784 A CN201310680784 A CN 201310680784A CN 103699408 A CN103699408 A CN 103699408A
- Authority
- CN
- China
- Prior art keywords
- apk
- software
- version
- terminal device
- file
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例提供一种软件升级的方法和设备。涉及通信技术领域,能够为终端设备提供APK增量升级包,以减少该终端设备在升级软件时消耗的流量和时间。该方法包括:软件更新服务器在接收到已安装于终端设备的软件的标识信息和版本信息时,根据该软件的标识信息确定第一APK,并在确定该软件的版本低于该第一APK的版本时,获取与该版本信息表示的版本相同的第二APK,并在根据该第二APK与该第一APK的差异得到APK增量升级包后,向该终端设备发送软件升级消息,以便该终端设备在根据该软件升级消息下载该APK增量升级包后,调用安装程序利用该APK增量升级包对该软件进行升级。本发明实施例用于升级软件。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种软件升级的方法和设备。
背景技术
随着终端设备技术的快速发展,用户在终端设备中安装和使用软件越来越普及,由于软件的功能随着用户需求的变化而变化,当软件的功能发生变化或该软件添加新的功能时,终端设备需要对该软件进行升级。
现有技术中,采用安卓操作系统的终端设备在进行软件升级时,该终端设备下载比该软件版本更高的APK(Android Package,安卓安装包),并通过调用该终端设备的安装程序对该更高版本的APK进行相应的安装操作,完成该软件由较低版本到较高版本的升级。其中,软件的开发商将该软件更高版本的APK安装包上传到软件更新服务器,该软件更新服务器在接收到该移动终端的软件升级请求消息时,根据该软件升级请求消息中的软件版本信息确定移动终端上当前安装的该软件的版本低于该APK安装包的版本,并向该终端设备发送软件升级响应消息,以便该终端设备根据该软件升级响应消息从该软件更新服务器下载该APK安装包。
由上可知,该终端设备在软件升级时,必须将对应该软件的高版本的APK安装包下载下来,这样,随着APK安装包越来越大,增加了该终端设备进行升级软件消耗的流量和时间。
发明内容
本发明提供一种软件升级的方法和设备,能够为终端设备提供APK增量升级包,以减少该终端设备在升级软件时消耗的流量和时间。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种软件升级的方法,包括:
软件更新服务器接收终端设备发送的已安装于所述终端设备的软件的标识信息和版本信息,并根据所述软件的标识信息确定第一安卓安装包APK;
在根据所述软件的版本信息确定所述软件的版本低于所述第一APK的版本时,获取第二APK,其中,所述第二APK的版本与所述版本信息表示的版本相同;
根据所述第二APK与所述第一APK的差异得到APK增量升级包,并向所述终端设备发送软件升级消息,以便所述终端设备在根据所述软件升级消息下载所述APK增量升级包后,调用安装程序利用所述APK增量升级包对所述软件进行升级。
在第一方面的第一种可能的实现方式中,所述根据所述第二APK与所述第一APK的差异得到APK增量升级包包括:
根据所述第二APK确定所述第一APK中的更新文件,其中,所述更新文件包括所述第一APK中的新增文件和更改文件,并将所述新增文件和所述更改文件组成所述APK增量升级包。
结合第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:
获取所述APK增量升级包中的更新文件清单信息;
所述向所述终端设备发送软件升级消息包括:
向所述终端设备发送所述更新文件清单信息,以便所述终端设备根据所述更新文件清单信息下载所述更新文件。
结合第一种可能的实现方式或者第二种可能的实现方式,在第三种可能的实现方式中,所述方法还包括,获取对应所述APK增量升级包的操作指令集,并将所述操作指令集发送至所述终端设备;
所述向所述终端设备发送软件升级消息,以便所述终端设备在根据所述软件升级消息下载所述APK增量升级包后,调用安装程序利用所述APK增量升级包对所述软件进行升级包括:
向所述终端设备发送软件升级消息,以便所述终端设备在根据所述软件升级消息下载所述APK增量升级包后,调用安装程序利用所述APK增量升级包和所述操作指令集对所述软件进行升级。
结合第三种可能的实现方式,在第四种可能的实现方式中,所述更新文件清单信息包括更新文件对应的下载路径,以便所述终端设备根据所述下载路径下载对应的更新文件。
本发明第二方面提供一种软件更新服务器,包括:
接收单元,用于接收终端设备发送的已安装于所述终端设备的软件的标识信息和版本信息,并根据所述软件的标识信息确定第一安卓安装包APK;
处理单元,用于在根据所述接收单元接收到的软件的版本信息确定所述软件的版本低于所述第一APK的版本时,获取第二APK,其中,所述第二APK的版本与所述版本信息表示的版本相同;
所述处理单元还用于,根据所述第二APK与所述第一APK的差异得到APK增量升级包;
发送单元,用于在所述处理单元得到所述APK增量升级包后,向所述终端设备发送软件升级消息,以便所述终端设备在根据所述软件升级消息下载所述APK增量升级包后,调用安装程序利用所述APK增量升级包对所述软件进行升级。
在第二方面的第一种可能的实现方式中,所述处理单元还用于,根据所述第二APK确定所述第一APK中的更新文件,其中,所述更新文件包括所述第一APK中的新增文件和更改文件,并将所述新增文件和所述更改文件组成所述APK增量升级包。
结合第一种可能的实现方式,在第二种可能的实现方式中,所述处理单元具体用于,获取所述APK增量升级包中的更新文件清单信息;所述发送单元具体用于,向所述终端设备发送所述更新文件清单信息,以便所述终端设备根据所述更新文件清单信息下载所述更新文件。
结合第一种可能的实现方式或者第二种可能的实现方式,在第三种可能的实现方式中,所述处理单元具体用于,获取对应所述APK增量升级包的操作指令集,所述发送单元具体用于,将所述操作指令集发送至所述终端设备,以便所述终端设备在根据所述软件升级消息下载所述APK增量升级包后,调用安装程序利用所述APK增量升级包和所述操作指令集对所述软件进行升级。
结合第三种可能的实现方式,在第四种可能的实现方式中,所述更新文件清单信息包括更新文件对应的下载路径,以便所述终端设备根据所述下载路径下载对应的更新文件。
采用上述方案,软件更新服务器在接收到终端设备发送的已安装于该终端设备的软件的标识信息和版本信息时,根据该软件的标识信息确定第一APK,并在根据该软件的版本信息确定该软件的版本低于该第一APK的版本时,获取与该版本信息表示的版本相同的第二APK,该软件更新服务器根据该第二APK与该第一APK的差异得到APK增量升级包,并向该终端设备发送软件升级消息,以便该终端设备在根据该软件升级消息下载该APK增量升级包后,调用安装程序利用所述APK增量升级包对该软件进行升级。由于该APK增量升级包为该第一APK与该第二APK不同的部分,因此该APK增量升级包的数据量小于该第一APK,这样,终端设备在进行软件升级时,只需要下载该APK增量升级包,无需下载完整的该第一APK,从而减少了下载所消耗的流量和时间。
附图说明
图1为本发明实施例提供的一种软件升级的方法的流程示意图;
图2为本发明实施例提供的另一种软件升级的方法的流程示意图;
图3为本发明实施例提供的一种软件更新服务器。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种软件升级的方法,如图1所示,该方法包括:
S101、软件更新服务器接收终端设备发送的已安装于该终端设备的软件的标识信息和版本信息,并根据该软件的标识信息确定第一安卓安装包APK。
具体地,用户在对终端设备中安装的软件进行升级时,该终端设备向软件更新服务器发送该软件的标识信息和版本信息,其中,该终端设备的操作系统为安卓操作系统,该软件更新服务器存储有软件开发者或开发商上传的对应该软件的不同版本的APK,则该软件更新服务器根据该软件的标识信息在不同版本的APK中确定第一APK,该第一APK可以是该软件更新服务器中对应该软件的版本最高的APK。
示例的,该软件的标识信息为的该软件的名称:xx,该软件更新服务器中存储有对应该软件的多个不同版本的安装包,例如xx_1.APK、xx_2.APK和xx_3.APK,则该软件更新服务器在接收到该终端设备发送的该软件的标识信息xx时,根据该软件的标识信息xx确定对应该软件的安装包xx_1.APK、xx_2.APK和xx_3.APK,并确定版本最高的xx_3.APK为该第一APK。
S102、该软件更新服务器在根据该软件的版本信息确定该软件的版本低于该第一APK的版本时,获取第二APK。
其中,该第二APK的版本与该版本信息表示的版本相同。
具体地,该软件更新服务器根据该软件的版本信息比较该软件的版本与该第一APK的版本,若该软件的版本在该第一APK的版本以上,则该软件更新服务器确定该软件的版本已经是最高版本,无需进行版本升级;若该软件的版本低于该第一APK的版本,则该软件更新服务器确定该软件需要更新并获取与该软件同版本的第二APK。
示例地,该第一APK为xx_3.APK,即该第一APK的版本为第三版,若该软件的版本为第三版,则该软件更新服务器在确定该版本信息表示的版本与该第一APK的版本相同时,该软件更新服务器确定该软件无需进行版本升级;若该软件的版本为第二版,则该软件更新服务器在确定该版本信息表示的版本低于该第一APK的版本时,该软件更新服务器确定该软件可以进行版本升级,并获取与该版本信息表示的版本相同的xx_2.APK,即第二APK。
S103、该软件更新服务器根据该第二APK与该第一APK的差异得到APK增量升级包,并向该终端设备发送软件升级消息,以便该终端设备在根据该软件升级消息下载该APK增量升级包后,调用安装程序利用该APK增量升级包对该软件进行升级。
可选地,该软件更新服务器根据该第二APK确定该第一APK中的更新文件,其中,该更新文件包括该第一APK中的新增文件和更改文件,并将该新增文件和该更改文件组成该APK增量升级包。
进一步地,该软件更新服务器获取该APK增量升级包中的更新文件清单信息,并将该更新文件清单信息发送至该终端设备,以便该终端设备根据该更新文件清单信息下载该更新文件。
具体地,该软件更新服务器将该第二APK与该第一APK进行比较,可能有以下四种情况:
1、存在该第一APK中的安装文件A,不存在于该第二APK中,则该第一APK中增加了该安装文件A;
2、存在该第二APK中的安装文件B,不存在于该第一APK中,则该第一APK中删除了该安装文件B;
3、该第一APK与该第二APK中都存在安装文件C,但该第一APK与该第二APK中对应该安装文件C的存储信息不同,则该第一APK修改了该安装文件C;
4、该第一APK与该第二APK中都存在安装文件D,且该第一APK与该第二APK中对应该安装文件D的存储信息相同,则该安装文件D在该第一APK与该第二APK中保持不变。
这样,该软件更新服务器确定符合该情况1的安装文件A为该新增文件,符合情况3的安装文件A为该更改文件,则该软件更新服务器将该新增文件和该更改文件合并压缩成该APK增量升级包。另外,该软件更新服务器在确定该新增文件和该更改文件时,记录该新增文件的标识信息和该更改文件的标识信息,获得该更新文件清单信息。
可选地,该更新文件清单信息还包括更新文件对应的下载路径,以便该终端设备根据该下载路径下载对应的更新文件。
进一步地,该软件更新服务器获取对应该APK增量升级包的操作指令集,以便该终端设备在下载该APK增量升级包后,根据该操作指令集和该APK增量升级包对该软件进行升级。
其中,该软件更新服务器可以通过向该终端设备发送软件升级消息将该更新文件清单信息和该操作指令集传送至该终端设备,也就是说,该软件升级消息包括该更新文件清单信息和该操作指令集。
需要说明的是,该终端设备在下载该APK增量升级包后,需要将该终端设备中用于安装该软件的第三APK与该APK增量升级包合并生成一个新的第四APK,其中,该第三APK的版本与该第二APK的版本相同,该第四APK的版本与该第一APK的版本相同。
具体地,该终端设备在接收到该软件更新服务器发送的软件升级消息后,按照该软件升级消息中的更新文件清单信息从该软件更新服务器中下载该APK增量升级包,并根据该软件升级消息中的操作指令集对该APK增量升级包进行操作,例如,根据上述该第二APK与该第一APK进行比较的四种情况,对于情况1中的安装文件A,该终端设备需要执行对应该安装文件A的插入操作,将该安装文件A插入到该第三APK中;对于情况2中的安装文件B,该终端设备需要执行对应该安装文件B的删除操作,将该安装文件B从该第三APK中删除;对于情况3中的安装文件C,该终端设备需要执行对应该安装文件C的替换操作,将该第三APK中的安装文件C替换为该APK增量更新包中的安装文件C。这样,该终端设备通过该操作指令集将该第三APK与该APK增量更新包合并为一个新的第四APK,则该终端设备通过调用安装程序对该第四APK进行安装操作,完成该软件更高版本的安装,使得该软件由低版本升级为高版本。
采用上述方案,软件更新服务器在接收到终端设备发送的已安装于该终端设备的软件的标识信息和版本信息时,根据该软件的标识信息确定第一APK,并在根据该软件的版本信息确定该软件的版本低于该第一APK的版本时,获取与该版本信息表示的版本相同的第二APK,该软件更新服务器根据该第二APK与该第一APK的差异得到APK增量升级包,并向该终端设备发送软件升级消息,以便该终端设备在根据该软件升级消息下载该APK增量升级包后,调用安装程序利用所述APK增量升级包对该软件进行升级。由于该APK增量升级包为该第一APK与该第二APK不同的部分,因此该APK增量升级包的数据量小于该第一APK,这样,终端设备在进行软件升级时,只需要下载该APK增量升级包,无需下载完整的该第一APK,从而减少了下载所消耗的流量和时间。
本发明提供一种软件升级的方法,如图2所示,该方法包括:
S201、软件更新服务器获取已安装于终端设备的软件的标识信息和版本信息。
具体地,用户在对终端设备中安装的软件进行升级时,该终端设备向软件更新服务器发送该软件的标识信息和版本信息,其中,该终端设备的操作系统为安卓操作系统,该软件更新服务器存储有软件开发者或开发商上传的对应该软件的不同版本的APK。
S202、该软件更新服务器根据该软件的标识信息确定第一APK。
具体地,该软件更新服务器根据该软件的标识信息在不同版本的APK中确定第一APK,其中,该第一APK可以是该软件更新服务器中对应该软件的版本最高的APK。
示例的,该软件的标识信息为的该软件的名称:xx,该软件更新服务器中存储有对应该软件的多个不同版本的安装包,例如xx_1.APK、xx_2.APK和xx_3.APK,则该软件更新服务器在接收到该终端设备发送的该软件的标识信息xx时,根据该软件的标识信息xx确定对应该软件的安装包xx_1.APK、xx_2.APK和xx_3.APK,并确定版本最高的xx_3.APK为该第一APK。
S203、该软件更新服务器根据该软件的版本信息在确定该软件的版本低于该第一APK的版本时,获取与该版本信息表示的版本相同的第二APK。
具体地,该软件更新服务器根据该软件的版本信息比较该软件的版本与该第一APK的版本,若该软件的版本在该第一APK的版本以上,则该软件更新服务器确定该软件的版本已经是最高版本,无需进行版本升级;若该软件的版本低于该第一APK的版本,则该软件更新服务器确定该软件需要更新并获取与该软件同版本的第二APK。
示例地,该第一APK为xx_3.APK,即该第一APK的版本为第三版,若该软件的版本为第三版,则该软件更新服务器在确定该版本信息表示的版本与该第一APK的版本相同时,该软件更新服务器确定该软件无需进行版本升级;若该软件的版本为第二版,则该软件更新服务器在确定该版本信息表示的版本低于该第一APK的版本时,该软件更新服务器确定该软件可以进行版本升级,并获取与该版本信息标识的版本相同的xx_2.APK,即第二APK。
S204、该软件更新服务器将该第二APK与该第一APK进行比较,得到新增文件和更改文件。
具体地,该软件更新服务器将该第二APK与该第一APK进行比较,可能有以下四种情况:
1、存在该第一APK中的安装文件A,不存在于该第二APK中,则该第一APK中增加了该安装文件A;
2、存在该第二APK中的安装文件B,不存在于该第一APK中,则该第一APK中删除了该安装文件B;
3、该第一APK与该第二APK中都存在安装文件C,但该第一APK与该第二APK中对应该安装文件C的存储信息不同,则该第一APK修改了该安装文件C;
4、该第一APK与该第二APK中都存在安装文件D,且该第一APK与该第二APK中对应该安装文件D的存储信息相同,则该安装文件D在该第一APK与该第二APK中保持不变。
这样,该软件更新服务器确定符合该情况1的安装文件A为该新增文件,符合情况3的安装文件A为该更改文件。
S205、该软件更新服务器将该新增文件和该更改文件合并为APK增量升级包,并获取更新文件清单信息。
其中,该更新文件包括该新增文件和该更改文件。
该软件更新服务器在确定该新增文件和该更改文件时,记录该新增文件的标识信息和该更改文件的标识信息,获得该更新文件清单信息。
可选地,该更新文件清单信息还包括更新文件对应的下载路径,以便该终端设备根据该下载路径下载对应的更新文件。
S206、该软件更新服务器获取对应该APK增量升级包的操作指令集,并向该终端设备发送软件升级消息。
其中,该软件升级消息包括该更新文件清单信息和该操作指令集。
S207、该终端设备根据该更新文件清单信息从该软件更新服务器下载该APK增量升级包,并按照该操作指令将该APK增量升级包与第三APK合并为第四APK。
需要说明的是,该终端设备在下载该APK增量升级包后,需要将该终端设备中用于安装该软件的第三APK与该APK增量升级包合并生成一个新的第四APK,其中,该第三APK的版本与该第二APK的版本相同,该第四APK的版本与该第一APK的版本相同。
S208、该终端设备调用安装程序利用该第四APK安装该软件的更高版本,完成该软件的升级。
具体地,该终端设备在接收到该软件更新服务器发送的软件升级消息后,按照该软件升级消息中的更新文件清单信息从该软件更新服务器中下载该APK增量升级包,并根据该软件升级消息中的操作指令对该APK增量升级包进行操作,例如,根据上述该第二APK与该第一APK进行比较的四种情况,对于情况1中的安装文件A,该终端设备需要执行对应该安装文件A的插入操作,将该安装文件A插入到该第三APK中;对于情况2中的安装文件B,该终端设备需要执行对应该安装文件B的删除操作,将该安装文件B从该第三APK中删除;对于情况3中的安装文件C,该终端设备需要执行对应该安装文件C的替换操作,将该第三APK中的安装文件C替换为该APK增量更新包中的安装文件C。这样,该终端设备通过该操作指令将该第三APK与该APK增量更新包合并为一个新的第四APK,则该终端设备通过调用安装程序对该第四APK进行安装操作,完成该软件更高版本的安装,使得该软件由低版本升级为高版本。
通过上述步骤,由于该APK增量升级包为该第一APK与该第二APK不同的部分,因此该APK增量升级包小于该第一APK,这样,终端设备在进行软件升级时,只需要下载该APK增量升级包,无需下载完整的该第一APK,从而减少了下载所消耗的流量和时间。
另外,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本发明实施例提供一种软件更新服务器30,如图3所示,该软件更新服务器30包括:
接收单元31,用于接收终端设备发送的已安装于该终端设备的软件的标识信息和版本信息,并根据该软件的标识信息确定第一安卓安装包APK。
处理单元32,用于在根据该接收单元31接收到的软件的版本信息确定该软件的版本低于该第一APK的版本时,获取第二APK。
其中,该第二APK的版本与该版本信息表示的版本相同。
该处理单元32还用于,根据该第二APK与该第一APK的差异得到APK增量升级包。
发送单元33,用于在该处理单元32得到该APK增量升级包后,向该终端设备发送软件升级消息,以便该终端设备在根据该软件升级消息下载该APK增量升级包后,调用安装程序利用该APK增量升级包对该软件进行升级。
具体地,用户在对终端设备中安装的软件进行升级时,该终端设备向软件更新服务器发送该软件的标识信息和版本信息,其中,该终端设备的操作系统为安卓操作系统,该软件更新服务器存储有软件开发者或开发商上传的对应该软件的不同版本的APK,则该软件更新服务器根据该软件的标识信息在不同版本的APK中确定第一APK,该第一APK可以是该软件更新服务器中对应该软件的版本最高的APK。
示例的,该软件的标识信息为的该软件的名称:xx,该软件更新服务器中存储有对应该软件的多个不同版本的安装包,例如xx_1.APK、xx_2.APK和xx_3.APK,则该软件更新服务器在接收到该终端设备发送的该软件的标识信息xx时,根据该软件的标识信息xx确定对应该软件的安装包xx_1.APK、xx_2.APK和xx_3.APK,并确定版本最高的xx_3.APK为该第一APK。
进一步地,该软件更新服务器根据该软件的版本信息比较该软件的版本与该第一APK的版本,若该软件的版本在该第一APK的版本以上,则该软件更新服务器确定该软件的版本已经是最高版本,无需进行版本升级;若该软件的版本低于该第一APK的版本,则该软件更新服务器确定该软件需要更新并获取与该软件同版本的第二APK。
示例地,该第一APK为xx_3.APK,即该第一APK的版本为第三版,若该软件的版本为第三版,则该软件更新服务器在确定该版本信息表示的版本与该第一APK的版本相同时,该软件更新服务器确定该软件无需进行版本升级;若该软件的版本为第二版,则该软件更新服务器在确定该版本信息表示的版本低于该第一APK的版本时,该软件更新服务器确定该软件可以进行版本升级,并获取与该版本信息表示的版本相同的xx_2.APK,即第二APK。
可选地,该处理单元32具体用于,根据该第二APK确定该第一APK中的更新文件,其中,该更新文件包括该第一APK中的新增文件和更改文件,并将该新增文件和该更改文件组成该APK增量升级包。
进一步地,该处理单元32还用于,获取该APK增量升级包中的更新文件清单信息,该发送单元33具体用于,将该更新文件清单信息发送至该终端设备,以便该终端设备根据该更新文件清单信息下载该更新文件。
具体地,该软件更新服务器将该第二APK与该第一APK进行比较,可能有以下四种情况:
1、存在该第一APK中的安装文件A,不存在于该第二APK中,则该第一APK中增加了该安装文件A;
2、存在该第二APK中的安装文件B,不存在于该第一APK中,则该第一APK中删除了该安装文件B;
3、该第一APK与该第二APK中都存在安装文件C,但该第一APK与该第二APK中对应该安装文件C的存储信息不同,则该第一APK修改了该安装文件C;
4、该第一APK与该第二APK中都存在安装文件D,且该第一APK与该第二APK中对应该安装文件D的存储信息相同,则该安装文件D在该第一APK与该第二APK中保持不变。
这样,该软件更新服务器确定符合该情况1的安装文件A为该新增文件,符合情况3的安装文件A为该更改文件,则该软件更新服务器将该新增文件和该更改文件合并压缩成该APK增量升级包。另外,该软件更新服务器在确定该新增文件和该更改文件时,记录该新增文件的标识信息和该更改文件的标识信息,获得该更新文件清单信息。
可选地,该更新文件清单信息还包括更新文件对应的下载路径,以便该终端设备根据该下载路径下载对应的更新文件。
进一步地,该处理单元32具体用于,获取对应该APK增量升级包的操作指令集,该发送单元33具体用于,将该操作指令集发送至该终端设备,以便该终端设备在下载该APK增量升级包后,根据该操作指令集和该APK增量升级包对该软件进行升级。
需要说明的是,该终端设备在下载该APK增量升级包后,需要将该终端设备中用于安装该软件的第三APK与该APK增量升级包合并生成一个新的第四APK,其中,该第三APK的版本与该第二APK的版本相同,该第四APK的版本与该第一APK的版本相同。
具体地,该终端设备在接收到该软件更新服务器发送的软件升级消息后,按照该软件升级消息中的更新文件清单信息从该软件更新服务器中下载该APK增量升级包,并根据该软件升级消息中的操作指令集对该APK增量升级包进行操作,例如,根据上述该第二APK与该第一APK进行比较的四种情况,对于情况1中的安装文件A,该终端设备需要执行对应该安装文件A的插入操作,将该安装文件A插入到该第三APK中;对于情况2中的安装文件B,该终端设备需要执行对应该安装文件B的删除操作,将该安装文件B从该第三APK中删除;对于情况3中的安装文件C,该终端设备需要执行对应该安装文件C的替换操作,将该第三APK中的安装文件C替换为该APK增量更新包中的安装文件C。这样,该终端设备通过该操作指令集将该第三APK与该APK增量更新包合并为一个新的第四APK,则该终端设备通过调用安装程序对该第四APK进行安装操作,完成该软件更高版本的安装,使得该软件由低版本升级为高版本。
采用上述软件更新服务器,该软件更新服务器在接收到终端设备发送的已安装于该终端设备的软件的标识信息和版本信息时,根据该软件的标识信息确定第一APK,并在根据该软件的版本信息确定该软件的版本低于该第一APK的版本时,获取与该版本信息表示的版本相同的第二APK,该软件更新服务器根据该第二APK与该第一APK的差异得到APK增量升级包,并向该终端设备发送软件升级消息,以便该终端设备在根据该软件升级消息下载该APK增量升级包后,调用安装程序利用所述APK增量升级包对该软件进行升级。由于该APK增量升级包为该第一APK与该第二APK不同的部分,因此该APK增量升级包的数据量小于该第一APK,这样,终端设备在进行软件升级时,只需要下载该APK增量升级包,无需下载完整的该第一APK,从而减少了下载所消耗的流量和时间。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
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所述的软件更新服务器,其特征在于,所述更新文件清单信息包括更新文件对应的下载路径,以便所述终端设备根据所述下载路径下载对应的更新文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310680784.2A CN103699408A (zh) | 2013-12-12 | 2013-12-12 | 一种软件升级的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310680784.2A CN103699408A (zh) | 2013-12-12 | 2013-12-12 | 一种软件升级的方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103699408A true CN103699408A (zh) | 2014-04-02 |
Family
ID=50360947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310680784.2A Pending CN103699408A (zh) | 2013-12-12 | 2013-12-12 | 一种软件升级的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103699408A (zh) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104216749A (zh) * | 2014-09-10 | 2014-12-17 | 广州金山网络科技有限公司 | 一种应用程序的更新方法及装置 |
CN104615470A (zh) * | 2015-03-04 | 2015-05-13 | 成都维远艾珏信息技术有限公司 | 一种嵌入式设备程序更新方法 |
CN104615461A (zh) * | 2015-01-24 | 2015-05-13 | 刘勇 | 一种移动终端及其应用程序更新的方法 |
CN105094926A (zh) * | 2015-08-28 | 2015-11-25 | 张为坚 | 一种软件更新方法及系统 |
CN105205074A (zh) * | 2014-06-25 | 2015-12-30 | 优视科技有限公司 | 文件增量升级方法及系统 |
WO2016000102A1 (zh) * | 2014-06-12 | 2016-01-07 | 华为技术有限公司 | 应用传送方法、终端和应用服务器 |
CN105468396A (zh) * | 2014-09-11 | 2016-04-06 | 深圳Tcl数字技术有限公司 | 差分包生成方法、升级方法、生成装置及Linux终端 |
CN105760183A (zh) * | 2014-12-15 | 2016-07-13 | 北京奇虎科技有限公司 | 文件处理方法、装置及通信系统 |
CN105930197A (zh) * | 2016-06-28 | 2016-09-07 | 乐视控股(北京)有限公司 | 一种软件升级的方法及电子设备 |
WO2016192197A1 (zh) * | 2015-06-02 | 2016-12-08 | 中兴通讯股份有限公司 | 一种终端的软件升级方法、装置、系统和计算机存储介质 |
CN106257423A (zh) * | 2016-08-04 | 2016-12-28 | 微鲸科技有限公司 | 软件升级方法以及用户终端 |
CN106648721A (zh) * | 2015-11-04 | 2017-05-10 | 西安中兴新软件有限责任公司 | 一种软件升级方法及装置 |
CN106897052A (zh) * | 2015-12-24 | 2017-06-27 | 北京奇虎科技有限公司 | Apk文件压缩方法及装置 |
CN107341035A (zh) * | 2017-07-12 | 2017-11-10 | 合肥思博特软件开发有限公司 | 一种安卓手机软件更新系统及其方法 |
CN109032650A (zh) * | 2018-08-02 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种软件升级方法、装置及计算机可读存储介质 |
CN109656588A (zh) * | 2018-11-14 | 2019-04-19 | 中国电力科学研究院有限公司 | 一种远程快速实现用电信息采集终端软件更新的方法及系统 |
CN110096302A (zh) * | 2018-01-31 | 2019-08-06 | 阿里巴巴集团控股有限公司 | 软件数据储存、升级方法、装置、设备和存储介质 |
CN111158716A (zh) * | 2019-12-20 | 2020-05-15 | 中国平安财产保险股份有限公司 | 版本升级调用方法、装置、计算机系统及可读存储介质 |
CN111611003A (zh) * | 2020-05-26 | 2020-09-01 | 网神信息技术(北京)股份有限公司 | 离线升级方法、装置、电子设备和计算机可读存储介质 |
CN111610988A (zh) * | 2020-05-26 | 2020-09-01 | 网神信息技术(北京)股份有限公司 | 用于软件管理的处理方法和装置 |
CN112463177A (zh) * | 2020-12-11 | 2021-03-09 | 百富计算机技术(深圳)有限公司 | 一种软件的更新包的生成方法 |
CN112567339A (zh) * | 2018-06-20 | 2021-03-26 | 罗伯特·博世有限公司 | 用于更新目标设备上的软件的方法 |
WO2021238053A1 (zh) * | 2020-05-29 | 2021-12-02 | 歌尔股份有限公司 | 耳机及其程序升级方法、控制装置和可读存储介质 |
CN114090048A (zh) * | 2021-11-27 | 2022-02-25 | 深圳市元征科技股份有限公司 | 一种软件升级方法及装置 |
CN117492803A (zh) * | 2023-12-28 | 2024-02-02 | 深圳市一诺智控科技有限公司 | 一种智能门锁pcba软件升级方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101017435A (zh) * | 2006-04-14 | 2007-08-15 | 北京瑞星国际软件有限公司 | 一种用于软件升级的方法及装置 |
CN101110788A (zh) * | 2006-07-20 | 2008-01-23 | 阿里巴巴公司 | 升级客户端软件的方法及系统 |
US20090037900A1 (en) * | 2007-07-30 | 2009-02-05 | Ocz Technology Group, Inc. | Method for optimizing memory modules for user-specific environments |
CN101697133A (zh) * | 2009-10-26 | 2010-04-21 | 中兴通讯股份有限公司 | 软件升级方法、软件升级系统以及客户端 |
CN102546675A (zh) * | 2010-12-08 | 2012-07-04 | 鸿富锦精密工业(深圳)有限公司 | 软件升级系统及方法 |
CN103095838A (zh) * | 2013-01-16 | 2013-05-08 | 福州博远无线网络科技有限公司 | 一种通过下载增量升级包来升级安卓智能手机软件的方法 |
-
2013
- 2013-12-12 CN CN201310680784.2A patent/CN103699408A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101017435A (zh) * | 2006-04-14 | 2007-08-15 | 北京瑞星国际软件有限公司 | 一种用于软件升级的方法及装置 |
CN101110788A (zh) * | 2006-07-20 | 2008-01-23 | 阿里巴巴公司 | 升级客户端软件的方法及系统 |
US20090037900A1 (en) * | 2007-07-30 | 2009-02-05 | Ocz Technology Group, Inc. | Method for optimizing memory modules for user-specific environments |
CN101697133A (zh) * | 2009-10-26 | 2010-04-21 | 中兴通讯股份有限公司 | 软件升级方法、软件升级系统以及客户端 |
CN102546675A (zh) * | 2010-12-08 | 2012-07-04 | 鸿富锦精密工业(深圳)有限公司 | 软件升级系统及方法 |
CN103095838A (zh) * | 2013-01-16 | 2013-05-08 | 福州博远无线网络科技有限公司 | 一种通过下载增量升级包来升级安卓智能手机软件的方法 |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016000102A1 (zh) * | 2014-06-12 | 2016-01-07 | 华为技术有限公司 | 应用传送方法、终端和应用服务器 |
CN105205074B (zh) * | 2014-06-25 | 2019-03-26 | 优视科技有限公司 | 文件增量升级方法及系统 |
US9917697B2 (en) | 2014-06-25 | 2018-03-13 | Uc Mobile Co., Ltd. | Performing incremental upgrade on APK base file corresponding to APK eigenvalue value |
CN105205074A (zh) * | 2014-06-25 | 2015-12-30 | 优视科技有限公司 | 文件增量升级方法及系统 |
WO2015196623A1 (zh) * | 2014-06-25 | 2015-12-30 | 优视科技有限公司 | 文件增量升级方法及系统 |
CN104216749A (zh) * | 2014-09-10 | 2014-12-17 | 广州金山网络科技有限公司 | 一种应用程序的更新方法及装置 |
CN105468396A (zh) * | 2014-09-11 | 2016-04-06 | 深圳Tcl数字技术有限公司 | 差分包生成方法、升级方法、生成装置及Linux终端 |
CN105760183A (zh) * | 2014-12-15 | 2016-07-13 | 北京奇虎科技有限公司 | 文件处理方法、装置及通信系统 |
CN104615461B (zh) * | 2015-01-24 | 2017-12-12 | 上海彩亿信息技术有限公司 | 一种移动终端及其应用程序更新的方法 |
CN104615461A (zh) * | 2015-01-24 | 2015-05-13 | 刘勇 | 一种移动终端及其应用程序更新的方法 |
CN104615470A (zh) * | 2015-03-04 | 2015-05-13 | 成都维远艾珏信息技术有限公司 | 一种嵌入式设备程序更新方法 |
WO2016192197A1 (zh) * | 2015-06-02 | 2016-12-08 | 中兴通讯股份有限公司 | 一种终端的软件升级方法、装置、系统和计算机存储介质 |
CN105094926A (zh) * | 2015-08-28 | 2015-11-25 | 张为坚 | 一种软件更新方法及系统 |
CN106648721A (zh) * | 2015-11-04 | 2017-05-10 | 西安中兴新软件有限责任公司 | 一种软件升级方法及装置 |
CN106897052A (zh) * | 2015-12-24 | 2017-06-27 | 北京奇虎科技有限公司 | Apk文件压缩方法及装置 |
CN105930197A (zh) * | 2016-06-28 | 2016-09-07 | 乐视控股(北京)有限公司 | 一种软件升级的方法及电子设备 |
CN106257423A (zh) * | 2016-08-04 | 2016-12-28 | 微鲸科技有限公司 | 软件升级方法以及用户终端 |
CN107341035A (zh) * | 2017-07-12 | 2017-11-10 | 合肥思博特软件开发有限公司 | 一种安卓手机软件更新系统及其方法 |
CN110096302A (zh) * | 2018-01-31 | 2019-08-06 | 阿里巴巴集团控股有限公司 | 软件数据储存、升级方法、装置、设备和存储介质 |
CN110096302B (zh) * | 2018-01-31 | 2024-03-01 | 斑马智行网络(香港)有限公司 | 软件数据储存、升级方法、装置、设备和存储介质 |
CN112567339A (zh) * | 2018-06-20 | 2021-03-26 | 罗伯特·博世有限公司 | 用于更新目标设备上的软件的方法 |
CN109032650A (zh) * | 2018-08-02 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种软件升级方法、装置及计算机可读存储介质 |
CN109656588A (zh) * | 2018-11-14 | 2019-04-19 | 中国电力科学研究院有限公司 | 一种远程快速实现用电信息采集终端软件更新的方法及系统 |
CN111158716A (zh) * | 2019-12-20 | 2020-05-15 | 中国平安财产保险股份有限公司 | 版本升级调用方法、装置、计算机系统及可读存储介质 |
CN111611003A (zh) * | 2020-05-26 | 2020-09-01 | 网神信息技术(北京)股份有限公司 | 离线升级方法、装置、电子设备和计算机可读存储介质 |
CN111610988A (zh) * | 2020-05-26 | 2020-09-01 | 网神信息技术(北京)股份有限公司 | 用于软件管理的处理方法和装置 |
WO2021238053A1 (zh) * | 2020-05-29 | 2021-12-02 | 歌尔股份有限公司 | 耳机及其程序升级方法、控制装置和可读存储介质 |
CN112463177A (zh) * | 2020-12-11 | 2021-03-09 | 百富计算机技术(深圳)有限公司 | 一种软件的更新包的生成方法 |
WO2022121505A1 (zh) * | 2020-12-11 | 2022-06-16 | 百富计算机技术(深圳)有限公司 | 一种软件的更新包的生成方法 |
CN114090048A (zh) * | 2021-11-27 | 2022-02-25 | 深圳市元征科技股份有限公司 | 一种软件升级方法及装置 |
CN117492803A (zh) * | 2023-12-28 | 2024-02-02 | 深圳市一诺智控科技有限公司 | 一种智能门锁pcba软件升级方法及系统 |
CN117492803B (zh) * | 2023-12-28 | 2024-03-26 | 深圳市一诺智控科技有限公司 | 一种智能门锁pcba软件升级方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103699408A (zh) | 一种软件升级的方法和设备 | |
CN102790961B (zh) | 应用程序的更新方法、移动终端和服务器 | |
US20090063179A1 (en) | System and method for customizing user interfaces of electronic devices | |
CN104834555A (zh) | 调用功能模块的方法、相关装置及装置修复方法 | |
CN104035800A (zh) | 一种增量包生成方法、版本升级方法、装置以及系统 | |
CN103825925A (zh) | 应用程序升级方法、系统及其客户端 | |
CN103995721A (zh) | 一种应用程序的升级方法、装置及系统 | |
CN104239098A (zh) | 软件的自动升级方法、装置及移动终端 | |
CN106598678A (zh) | 向终端设备提供应用程序安装包的方法及装置 | |
CN104216719A (zh) | 一种android系统的升级方法和装置 | |
CN102215480A (zh) | 一种基于云计算的差分空中软件升级方法 | |
CN104063225A (zh) | 锁屏主题开发方法及装置 | |
CN104834541A (zh) | 功能模块挂载方法、挂载系统及更新挂载系统的方法 | |
CN103793248A (zh) | 一种应用程序升级的方法及装置 | |
CN104102501A (zh) | 一种移动终端及其升级方法 | |
CN104572207A (zh) | 一种基于智能配件的app扩展使用方法及智能配件 | |
CN105100144A (zh) | 更新应用的方法及装置 | |
CN105245567A (zh) | 一种处理更新请求的方法和服务器系统 | |
CN105224421A (zh) | 一种数据备份方法、装置及电子设备 | |
CN104504587A (zh) | 广告监测方法及装置、电子设备 | |
CN109032617B (zh) | 一种自动删除安装包的控制方法及控制装置 | |
CN103686821A (zh) | 根据移动终端唯一标识进行应用程序流量统计的控制方法 | |
CN110221857A (zh) | 应用程序的问题修复方法、装置、电子设备及存储介质 | |
CN104202471A (zh) | 基于移动终端的固件升级处理方法、系统及移动终端 | |
CN104182532A (zh) | 终端文件的清理方法、装置及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140402 |
|
RJ01 | Rejection of invention patent application after publication |