一种文件的升级发布方法和装置的制造方法_3

文档序号:9274565阅读:来源:国知局
gt;2,
[0100]…
[0101]1.0.0.1020->20
[0102]B)导入版本时,会拿新版本的内部编号去分别除下增量跳数里配置的数(I, 5,10,20),能够除尽的会找向前找相应跳数的节点生成一个增量文件(这里称为diff文件),例如
[0103]1.线上已存在一个全量发布的1.0.0.1000版本,编号为0,新导入一个版本1.0.0.1001,编号为 1:
[0104]1% I = 0,可以除尽,则会向前找I个跳数和1.0.0.1000版本生成一个diff
[0105]diff = 1.0.0.1000->1.0.0.1001
[0106]依次类推,导入1.0.0.1002版本,编号为2,会和1.0.0.1001版本生成diff
[0107]diff = 1.0.0.1001->1.0.0.1002
[0108]diff = 1.0.0.1002->1.0.0.1003
[0109]diff = 1.0.0.1003->1.0.0.1004
[0110]i1.当导入1.0.0.1005版本时,编号为5,会发现5% 5 = 0,则会向前找5个跳数再生成一个增量,则会产生两个diff:
[0111]diff = 1.0.0.1004->1.0.0.1005
[0112]diff = 1.0.0.1000->1.0.0.1005
[0113]依次类推,导入1.0.0.1010 版本时,10% 10 = O, 10% 5 = 0,10% I = 0,
[0114]则会生成三个diff:
[0115]diff = 1.0.0.1009->1.0.0.1010
[0116]diff = 1.0.0.1005->1.0.0.1010
[0117]diff = 1.0.0.1000->1.0.0.1010
[0118]导入1.0.0.1020 版本时,20% 20 = O, 20% 10 = O, 20% 5 = 0,20% I = 0,
[0119]生成四个diff:
[0120]diff = 1.0.0.1019->1.0.0.1020
[0121]diff = 1.0.0.1015->1.0.0.1020
[0122]diff = 1.0.0.1010->1.0.0.1020
[0123]diff = 1.0.0.1000->1.0.0.1020
[0124]C)增量跳数默认为(1,5,10,20),也可根据特殊需求向审批组申请修改为其他值。
[0125]在本发明的一个实施例中,所设置的一个或多个增量跳数中至少包括1以保证从任何版本都可以增量升级到新版本。
[0126]在本发明的一个实施例中,文件发布平台可以在界面中提供设置项,以供用户设置前述的第一预设值、第二预设值和增量跳数。此外还可以提供设置项对一个文件是否进行增量发布进行控制,以及还可以对指定文件的一个版本是否进行增量发布进行控制。当指定文件的一个版本被设置成全量发布时,进行增量发布,但仍按照既定策略生成相应的增量文件,以保持后续版本的增量发布特性。
[0127]图2示出了根据本发明一个实施例的一种文件的升级发布方法的流程图。如图2所示,以指定的某个文件的各版本发布为例,该方法包括:
[0128]步骤S201,导入当前发布版本的发布包。
[0129]步骤S202,判断是否为初始版本,是则执行步骤S203,否则执行步骤S204。
[0130]步骤S203,得到全量发布用的结果。执行步骤S211。
[0131]步骤S204,判断是否需要使用全量发布,是则执行步骤S203,否则执行步骤S205。
[0132]本步骤中根据前述的al、a2和a3的方式进行判断。
[0133]步骤S205,根据预设策略确定一个或多个已发布版本,生成相应的增量文件。例如根据前述的预设增量跳数的方法。
[0134]步骤S206,判断用户是否自定义勾选了一个或多个已发布版本,是则执行步骤S207,否则执行步骤S208。
[0135]步骤S207,生成当前发布版本的发布包与用户自定义勾选的一个或多个已发布版本的发布包之间的增量文件。
[0136]步骤S208,生成增量升级列表。
[0137]步骤S209,优化增量升级列表中的增量升级路径。
[0138]本步骤中根据前述的bl、b2、b3中所述的方法进行优化。
[0139]步骤S210,得到增量发布用的结果。
[0140]步骤S211,进行测试验证。
[0141]步骤S212,判断测试验证是否通过,是则执行步骤S214,否则执行步骤S213。
[0142]步骤S213,进行回退处理,返回步骤S201。
[0143]步骤S214,进行增量或全量发布。
[0144]综上可以看出,本发明中的升级发布方法,减少了各个版本之间增量的冗余性,可以重复利用生成的增量文件,减少生成的增量文件的大小,节省磁盘空间和带宽,减少计算的复杂度,更方便管理与维护。
[0145]图3示出了根据本发明一个实施例的一种文件的升级发布装置的结构图。如图3所示,该文件的升级发布装置300包括:
[0146]导入单元310,适于导入指定文件的当前发布版本的发布包;
[0147]判断单元320,适于在当前发布版本为该指定文件的初始版本时,通知全量发布单元,以及适于在当前发布版本为该指定文件的升级版本时,通知增量发布单元;
[0148]全量发布单元330,适于在当前发布版本为该指定文件的初始版本时,将该发布包进行全量发布;
[0149]增量发布单元340,适于在当前发布版本为该指定文件的升级版本时,根据预设策略确定需要当前发布版本与之生成增量的该指定文件的一个或多个已发布版本;生成当前发布版本的发布包与所确定的一个或多个已发布版本的发布包之间的增量文件,并根据当前以及之前生成的增量文件生成包含增量升级路径的增量升级列表;发布所生成的增量文件,将所生成的增量升级列表下发到供客户端进行增量升级的配置文件中。
[0150]图3所示的装置,解决了全部版本以全量发布时的流量耗费问题,并且每次增量发布时选择性地生成当前发布版本的发布包与一个或多个已发布版本的发布包之间的增量文件,而不是生成当前发布版本的发布包与所有已发布版本的发布包之间的增量文件,进一步减少了文件升级所需的资源。
[0151]图4示出了根据本发明又一个实施例的一种文件的升级发布装置的结构图。如图4所示,该文件的升级发布装置400包括:
[0152]导入单元410,适于导入指定文件的当前发布版本的发布包;
[0153]判断单元420,适于在当前发布版本为该指定文件的初始版本时,通知全量发布单元,以及适于在当前发布版本为该指定文件的升级版本时,通知增量发布单元;
[0154]全量发布单元430,适于在当前发布版本为该指定文件的初始版本时,将该发布包进行全量发布;
[0155]增量发布单元440,适于在当前发布版本为该指定文件的升级版本时,根据预设策略确定需要当前发布版本与之生成增量的该指定文件的一个或多个已发布版本;生成当前发布版本的发布包与所确定的一个或多个已发布版本的发布包之间的增量文件,并根据当前以及之前生成的增量文件生成包含增量升级路径的增量升级列表;发布所生成的增量文件,将所生成的增量升级列表下发到供客户端进行增量升级的配置文件中。
[0156]在本发明的一个实施例中,所述判断单元420,适于在当前发布版本为该指定文件的升级版本时,在向增量发布单元发布通知之前进一步适于判断是否需要使用全量发布,是则通知全量发布单元进行全量发布。
[0157]在本发明的一个实施例中,所述判断单元420,适于在当前发布版本的发布包是已下线版本的重新导入包时,确定需要使用全量发布;或者,在该指定文件未开启增量升级发布时,确定需要使用全量发布;或者,在当前发布版本所支持的操作系统位数与之前已发布版本所支持的操作系统位数不同时,确定使用全量发布。
[0158]在本发明的一个实施例中,所述增量升级单元生成的增量升级列表包括:从不同的已发布版本升级到当前发布版本的增量升级路径;
[0159]其中,每条增量升级路径包括:从对应的已发布的版本升级到当前发布版本所需经过的版本,以及对应所需的增量文件信息。
[0160]在本发明的一个实施例中,所述增量升级单元生成的增量升级列表中的所述增量文件信息包括:增量文件的下载地址,或者从指定地址下载增量文件的MD5值。
[0161 ] 在本发明的一个实施例中,所述增量升级单元440,在生成包含增量升级路径的增量升级列表之后,并在将所生成的增量升级列表下发到供客户端进行增量升级的配置文件中之前,进一步适于执行如下中的一项或多项:
[0162]如果生成的一个增量文件的大小,大于第一预设阈值,则从增量升级列表中删除包含该增量文件的增量升级路径;
[0163]如果生成的一个增量文件的大小与当前发布版本的发布包的大小的比值,大于第二预设阈值,则从增量升级列表中删除包含该增量文件的增量升级路径;
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1