一种文件的增量升级发布方法和装置的制造方法
【技术领域】
[0001]本发明涉及互联网技术领域,具体涉及一种增量升级发布的方法和装置。
【背景技术】
[0002]当前,各种各样的应用软件在人们的工作和生活中起到越来越重要的角色。每种软件也会因为功能的改进和漏洞的修补,需要不断的进行升级。
[0003]而对于软件发布者来说,为了升级软件功能以不断适应用户的需求或者为了修补漏洞,需要对发发布的软件不断进行升级,发布新版本。
[0004]但是现有的软件升级方法就是将更新后版本的软件安装包重新发布一次,然后用户卸载之前的就版本,再安装新版本。这种全量升级方式由于每次都要重新发布新版本的完整安装包,每个客户端都需要下载该完整的安装包,因此耗费非常大的流量。
[0005]此外现有的软件升级也采用增量升级,但是如果没发布一个新版本都需要与之前发布的所有版本生成增量文件的话,需要很大的存储资源来存储增量文件,且随着版本号的增加每次升级所需要生成的增量文件的数量也成倍增长,消耗大量的资源。
【发明内容】
[0006]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种增量升级发布的方法和装置。
[0007]依据本发明的一个方面,提供了一种文件的增量升级发布方法,其中,该方法包括:
[0008]将指定文件的各级版本按照先后顺序从O开始进行整数编号;
[0009]预设一个或多个增量跳数;
[0010]每当发布该指定文件的一个新版本时,用每个增量跳数除以该新版本的编号,如果能够整除,则找到版本编号比该新版本的编号低该增量跳数的已发布版本;
[0011]生成该新版本的发布包与所找到的各已发布版本的发布包之间的增量文件,并根据当前以及之前生成的增量文件生成包含增量升级路径的增量升级列表;
[0012]发布所生成的增量文件,将所生成的增量升级列表下发到供客户端进行增量升级的配置文件中。
[0013]可选地,生成该新版本的发布包与所找到的各已发布版本的发布包之间的增量文件包括:
[0014]通过调用增量文件生成工具,生成该新版本的发布包与所找到的各已发布版本的发布包之间的增量文件。
[0015]可选地该方法进一步包括:将指定文件的编号为O的版本设置为起始版本;
[0016]所述增量升级列表中的增量升级路径包括:从起始版本开始的所有版本升级到该新版本的增量升级路径;。
[0017]可选地,增量升级列表中的每条增量升级路径包括:从对应的版本升级到该新版本所需经过的版本,以及对应所需的增量文件信息;
[0018]所述增量文件信息包括:增量文件的下载地址,或者从指定地址下载增量文件的MD5 值。
[0019]可选地,每条升级路径均为从升级开始版本升级到该新版本时,所需增量文件个数最少的路径。
[0020]可选地,该方法进一步包括:
[0021]将指定文件的编号为X的版本设置为起始版本;
[0022]其中,X = M*最大增量跳数;M为自然数且M= 1,…,N-1;
[0023]N为将从编号为O的版本到该新版本的路径,按照最大增量跳数切割后得到的块的数量。
[0024]可选地,所述一个或多个增量跳数中至少包括I。
[0025]可选地,在生成包含增量升级路径的增量升级列表之后,并在将所生成的增量升级列表下发到供客户端进行增量升级的配置文件中之前,该方法进一步包括如下中的一项或多项:
[0026]如果生成的一个增量文件的大小,大于第一预设阈值,则从增量升级列表中删除包含该增量文件的增量升级路径;
[0027]如果生成的一个增量文件的大小与当前发布版本的发布包的大小的比值,大于第二预设阈值,则从增量升级列表中删除包含该增量文件的增量升级路径;
[0028]如果一条增量升级路径上增量文件的大小总和,大于当前发布版本的发布包的大小,则从增量升级列表中删除该增量升级路径。
[0029]依据本发明的另一个方面,提供了一种文件的增量升级发布装置,其中,该装置包括:
[0030]设置单元,适于将指定文件的各级版本按照先后顺序从O开始进行整数编号;以及适于预设一个或多个增量跳数;
[0031]增量预处理单元,适于每当发布该指定文件的一个新版本时,用每个增量跳数除以该新版本的编号,如果能够整除,则找到版本编号比该新版本的编号低该增量跳数的已发布版本;
[0032]增量生成单元,适于生成该新版本的发布包与增量预处理单元所找到的各已发布版本的发布包之间的增量文件,并根据当前以及之前生成的增量文件生成包含增量升级路径的增量升级列表;
[0033]增量发布单元,适于发布所生成的增量文件,将所生成的增量升级列表下发到供客户端进行增量升级的配置文件中。
[0034]可选地,所述增量生成单元,适于通过调用增量文件生成工具,生成该新版本的发布包与增量预处理单元所找到的各已发布版本的发布包之间的增量文件。
[0035]可选地,所述设置单元,进一步适于将指定文件的编号为O的版本设置为起始版本;
[0036]所述增量生成单元生成的所述增量升级列表中的增量升级路径包括:从起始版本开始的所有版本升级到该新版本的增量升级路径;。
[0037]可选地,所述增量生成单元生成的增量升级列表中的每条增量升级路径包括:从对应的版本升级到该新版本所需经过的版本,以及对应所需的增量文件信息;
[0038]所述增量文件信息包括:增量文件的下载地址,或者从指定地址下载增量文件的MD5 值。
[0039]可选地,所述增量生成单元生成的增量升级列表中的每条升级路径均为,从升级开始版本升级到该新版本时,所需增量文件个数最少的路径。
[0040]可选地,所述设置单元,进一步适于将指定文件的编号为X的版本设置为起始版本;
[0041]其中,X = M*最大增量跳数;M为自然数且M= 1,…,N-1 ;
[0042]N为将从编号为O的版本到该新版本的路径,按照最大增量跳数切割后得到的块的数量。
[0043]可选地,所述设置单元预设的所述一个或多个增量跳数中至少包括I。
[0044]可选地,所述增量生成单元,在生成包含增量升级路径的增量升级列表之后,进一步适于执行如下中的一项或多项:
[0045]如果生成的一个增量文件的大小,大于第一预设阈值,则从增量升级列表中删除包含该增量文件的增量升级路径;
[0046]如果生成的一个增量文件的大小与当前发布版本的发布包的大小的比值,大于第二预设阈值,则从增量升级列表中删除包含该增量文件的增量升级路径;
[0047]如果一条增量升级路径上增量文件的大小总和,大于当前发布版本的发布包的大小,则从增量升级列表中删除该增量升级路径。
[0048]根据本发明的这种在增量发布时只生成当前发布版本的发布包与预设策略所确定的一个或多个已发布版本的发布包之间的增量文件,发布所生成的增量文件,以及将增量升级列表下发到供客户端进行增量升级的配置文件中的技术方案,解决了全部版本以全量发布时的流量耗费问题,并且每次增量发布时选择性地生成当前发布版本的发布包与一个或多个已发布版本的发布包之间的增量文件,而不是生成当前发布版本的发布包与所有已发布版本的发布包之间的增量文件,进一步减少了文件升级所需的资源。
[0049]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0050]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0051]图1示出了根据本发明一个实施例的一种文件的增量升级发布方法的流程图;
[0052]图2示出了根据本发明一个实施例的能升级到1.0.0.1030的版本路径;
[0053]图3示出了根据本发明一个实施例的能升级到1.0.0.1020的版本路径;
[0054]图4示出了根据本发明一个实施例的1.0.0.1020的明细升级路径;
[0055]图5示出了根据本发明一个实施例的1.0.0.1030的明细升级路径;
[0056]图6示出了根据本发明一个实施例的非连续版本重新编号的示意图;
[0057]图7示出了根据本发明一个实施例的连续版本重新编号的示意图;
[0058]图8示出了根据本发明一个实施例的大数据量版本升级示意图;
[0059]图9示出了根据本发明一个实施例的一种文件的升级发布方法的流程图;
[0060]图10示出了根据本发明一个实施例的一种文件的增量升级发布装置的结构图。
【具体实施方式】
[0061]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0062]在阐述本发明的方案之前,先给出本方案中的一些概念的解释。
[0063