一种增量升级方法及应用其的服务器技术

技术编号:13448383 阅读:54 留言:0更新日期:2016-08-01 16:51
本申请实施例公开了一种增量升级方法及应用其的服务器,其在生成增量文件之前,首先对比各个发行渠道的旧版文件,得到差异文件集合,再根据该差异文件集合和目标文件生成对应的增量文件,将该增量文件发送至客户端,即可将客户端应用的来自任一发行渠道的旧版文件增量升级至目标文件;因此,应用本申请实施例实现增量升级时,同版本不同发行渠道的文件复用同一增量文件,不需针对每个发行渠道的旧版文件预设增量文件或在客户端请求增量升级时临时计算所需的增量文件,不仅可以节省服务器的存储空间,还可以提高增量升级效率。

【技术实现步骤摘要】
一种增量升级方法及应用其的服务器
本申请涉及数据处理
,特别是涉及一种增量升级方法及应用其的服务器。
技术介绍
版本升级是指对操作系统或软件旧版本的漏洞进行完善,或者对软件添加新的应用功能的更新,使软件更加完善好用。增量升级为一种常用的版本升级方法,其基本原理为:服务器比较应用程序的旧版本文件和新版本文件(即目标文件),生成用于记录所述旧版本文件和新版本文件之间的差异信息的增量文件;客户端下载所述增量文件,并将所述增量文件与自身的旧版本文件进行合并,得到对应的新版本文件,安装后该新版本文件后即完成版本升级。相对于通过下载整个新版本文件来执行升级的方式,上述增量升级方法消耗的数据流量更少、占用的时间更短、升级效率更高,因而得到广泛应用。通常的,同一应用程序的同一版本文件会因发行渠道不同而有所差异,例如:对于UC浏览器的安装程序,GooglePlay发行的1.0版本文件APK1a中存在文件x,而百度手机助手发行的1.0版本文件APK1b中不存在文件x;UC应用商店发行的1.0版本文件APK1c和APK1a中都存在名称为y的文件,但内容不同。另外,针对特定发行渠道的安装文件得到的增量文件只能对该发行渠道的文件进行增量升级,例如,要将UC浏览器的1.0版本文件增量升级至2.0版本的目标文件APK2,需要将APK1a、APK1b和APK1c分别与APK2对比,得到的APK1a和APK2之间的增量文件CLa用于实现由APK1a至APK2的增量升级,APK1b和APK2之间的增量文件CLb用于实现由APK1b至APK2的增量升级,APK1c和APK2之间的增量文件CLc用于实现由APK1c至APK2的增量升级。因此,现有增量升级方法需要服务器端针对每个发行渠道的旧版本文件分别与目标文件对比,得到对应的增量文件。但实际应用中应用程序的发行渠道多种多样,不同发行渠道对应的增量文件不可复用,如果在增量升级过程中针对当前待升级的旧文件与目标文件对比得到当前情况所需的增量文件,则必将影响增量升级效率;如果预先计算并存储各个版本各个渠道对应的增量文件,则需要占用大量的服务器存储空间。
技术实现思路
为了解决上述技术问题,本申请实施例公开了如下技术方案:本申请第一方面,提供一种增量升级方法,包括:比较目标应用程序的各个旧版文件中的子文件,得到包含所述各个旧版文件中所有非公共子文件的差异文件集合;其中,所述各个旧版文件的版本号相同、发行渠道不同;根据所述目标应用程序的目标文件和所述差异文件集合确定增量文件;将所述增量文件发送至客户端,以供所述客户端将自有的所述旧版文件与所述增量文件合并得到所述目标文件。结合第一方面,在本申请第一方面第一种可能的实现方式中,所述根据所述目标应用程序的目标文件和所述差异文件集合确定增量文件的步骤,包括:针对所述目标文件中的每个目标子文件,判断所述差异文件集合中是否存在对应的差异子文件;将存在对应的差异子文件的第一目标子文件写入所述增量文件。结合第一方面第一种可能的实现方式,在本申请第一方面第二种可能的实现方式中,所述增量升级方法还包括:在所述比较目标应用程序的各个旧版文件中的子文件的步骤中,获取包含所述各个旧版文件中所有公共子文件的公共文件集合;所述根据所述目标应用程序的目标文件和所述差异文件集合确定增量文件的步骤,还包括:对于不存在对应的差异子文件的第二目标子文件,判断所述第二目标子文件在所述公共文件集合中是否存在对应的公共子文件;如果存在对应的公共子文件,则将所述第二目标子文件和对应的公共子文件执行差异计算得到差异数据,将所述差异数据写入所述增量文件;如果不存在对应的公共子文件,则将所述第二目标子文件写入所述增量文件。结合第一方面第一种可能的实现方式,在本申请第一方面第三种可能的实现方式中,所述根据所述目标应用程序的目标文件和所述差异文件集合确定增量文件的步骤,还包括:对于不存在对应的差异子文件的第二目标子文件,判断所述第二目标子文件在所述对比旧版文件中是否存在对应的旧版子文件;其中,所述对比旧版文件为任一个发行渠道对应的旧版文件;如果存在对应的旧版子文件,则将所述第二目标子文件和对应的旧版子文件执行差异计算得到差异数据,将所述差异数据写入所述增量文件;如果不存在对应的旧版子文件,则将所述第二目标子文件写入所述增量文件。本申请第二方面,提供一种服务器,包括:差异文件获取单元,用于比较目标应用程序的各个旧版文件中的子文件,得到包含所述各个旧版文件中所有非公共子文件的差异文件集合;其中,所述各个旧版文件的版本号相同、发行渠道不同;增量文件生成单元,用于根据所述目标应用程序的目标文件和所述差异文件集合确定增量文件;发送单元,用于将所述增量文件发送至客户端,以供所述客户端将自有的所述旧版文件与所述增量文件合并得到所述目标文件。结合第二方面,在本申请第二方面第一种可能的实现方式中,所述增量文件生成单元包括:第一判断单元,用于针对所述目标文件中的每个目标子文件,判断所述差异文件集合中是否存在对应的差异子文件;第一写入单元,用于将存在对应的差异子文件的第一目标子文件写入所述增量文件。结合第二方面第一种可能的实现方式,在本申请第二方面第二种可能的实现方式中,所述服务器还包括:公共文件获取单元,用于获取包含所述各个旧版文件中所有公共子文件的公共文件集合;所述增量文件生成单元还包括:第二判断单元,用于对于不存在对应的差异子文件的第二目标子文件,判断所述第二目标子文件在所述公共文件集合中是否存在对应的公共子文件;第二写入单元,用于在存在对应的公共子文件时,将所述第二目标子文件和对应的公共子文件执行差异计算得到差异数据,将所述差异数据写入所述增量文件;第三写入单元,用于在不存在对应的公共子文件时,将所述第二目标子文件写入所述增量文件。结合第二方面第一种可能的实现方式,在本申请第二方面第三种可能的实现方式中,所述增量文件生成单元还包括:第三判断单元,用于对于不存在对应的差异子文件的第二目标子文件,判断所述第二目标子文件在所述对比旧版文件中是否存在对应的旧版子文件;其中,所述对比旧版文件为任一个发行渠道对应的旧版文件;第四写入单元,用于在存在对应的旧版子文件时,将所述第二目标子文件和对应的旧版子文件执行差异计算得到差异数据,将所述差异数据写入所述增量文件;第五写入单元,用于在不存在对应的旧版子文件时,将所述第二目标子文件写入所述增量文件。本申请第三方面,提供一种服务器,包括:处理器,以及用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:比较目标应用程序的各个旧版文件中的子文件,得到包含所述各个旧版文件中所有非公共子文件的差异文件集合;其中,所述各个旧版文件的版本号相同、发行渠道不同;根据所述目标应用程序的目标文件和所述差异文件集合确定增量文件;将所述增量文件发送至客户端,以供所述客户端将自有的所述旧版文件与所述增量文件合并得到所述目标文件。结合第三方面,在本申请第三方面第一种可能的实现方式中,为实现根据所述目标应用程序的目标文件和所述差异文件集合确定增量文件,所述处理器被配置为:针对所述目标文件中的每个目标子文件,判断所述差异文件集合中是否存在对应的差异子文件;将存在对应的差异子文件的第一目标子文件本文档来自技高网
...

【技术保护点】
一种增量升级方法,其特征在于,包括:比较目标应用程序的各个旧版文件中的子文件,得到包含所述各个旧版文件中所有非公共子文件的差异文件集合;其中,所述各个旧版文件的版本号相同、发行渠道不同;根据所述目标应用程序的目标文件和所述差异文件集合确定增量文件;将所述增量文件发送至客户端,以供所述客户端将自有的所述旧版文件与所述增量文件合并得到所述目标文件。

【技术特征摘要】
1.一种增量升级方法,其特征在于,包括:比较目标应用程序的各个旧版文件中的子文件,得到包含所述各个旧版文件中所有非公共子文件的差异文件集合;其中,所述各个旧版文件的版本号相同、发行渠道不同;针对目标应用程序的目标文件中的每个目标子文件,判断所述差异文件集合中是否存在对应的差异子文件;将存在对应的差异子文件的第一目标子文件写入增量文件;对于不存在对应的差异子文件的第二目标子文件,判断所述第二目标子文件在对比旧版文件中是否存在对应的旧版子文件;其中,所述对比旧版文件为任一个发行渠道对应的旧版文件;如果存在对应的旧版子文件,则将所述第二目标子文件和对应的旧版子文件执行差异计算得到差异数据,将所述差异数据写入所述增量文件;如果不存在对应的旧版子文件,则将所述第二目标子文件写入所述增量文件;将所述增量文件发送至客户端,以供所述客户端将自有的所述旧版文件与所述增量文件合并得到所述目标文件。2.一种服务器,其特征在于,包括:差异文件获取单元,用于比较目标应用程序的各个旧版文件中的子文件,得到包含所述...

【专利技术属性】
技术研发人员:梁捷孙晓治
申请(专利权)人:广州市动景计算机科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1