一种增量更新方法、装置及系统制造方法及图纸

技术编号:39239885 阅读:6 留言:0更新日期:2023-10-30 11:52
本申请公开了一种增量更新方法、装置及系统,所述方法包括:检测到页面的业务代码发生更新,对所述业务代码进行打包,得到第一文件;判断所述第一文件的大小是否达到阈值;若所述第一文件的大小未达到所述阈值,则使用第二文件对所述业务代码进行增量更新;若所述第一文件的大小达到所述阈值,则使用增量更新算法对所述第一文件和第二文件进行比较处理,得到增量补丁文件;将所述增量补丁文件上传至服务器,接收所述服务器发送的第三文件,使用所述第三文件对所述业务代码进行增量更新。本申请通过设置阈值的方法,来平衡直接文件更新或文件内容增量更新,运用更近灵活;使用的增量更新算法也更加简洁方便,提高了增量更新的效率。率。率。

【技术实现步骤摘要】
一种增量更新方法、装置及系统


[0001]本申请涉及信息技术(Internet Technology,IT)
,尤其涉及一种增量更新方法、装置及系统。

技术介绍

[0002]现有技术中,解释型编程(JavaScript,JS)源代码压缩之后一般直接使用远程同步(Rsync)命令进行文件更新,如基于渐进式框架VUE开发,当页面代码有变动并重新打包时,打包工具Webpack只会更新有变动的文件;而当JS源码压缩之后较大时,需要采用Rsync算法或者Lcs算法对文件具体内容进行差异(Diff)对比。上述方法容易有以下问题:需要手动切换仅对文件增量或者对文件内容增量;当文件内容较大时,采用Rsync算法进行增量更新,一个插入字符可能会完全打断原有的文件信息,造成增量包有一些不必要的插入删减数据操作;而使用Lcs动态规划算法,空间和时间复杂度都较高,只适合文件本身内容较少的情况使用,否则反而会使更新时间变长。

技术实现思路

[0003]为解决上述技术问题,本申请实施例提供了一种增量更新的方、装置、系统及计算机可读存储介质。
[0004]本申请实施例的技术方案是这样实现的:
[0005]一方面,本申请实施例提供了一种增量更新方法,应用于网页web端,所述方法包括:
[0006]检测到页面的业务代码发生更新,对所述业务代码进行打包,得到第一文件;
[0007]判断所述第一文件的大小是否达到阈值;
[0008]若所述第一文件的大小未达到所述阈值,则使用第二文件对所述业务代码进行增量更新;
[0009]若所述第一文件的大小达到所述阈值,则使用增量更新算法对所述第一文件和第二文件进行比较处理,得到增量补丁文件;将所述增量补丁文件上传至服务器,接收所述服务器发送的第三文件,使用所述第三文件对所述业务代码进行增量更新;
[0010]其中,所述第二文件为在检测到所述页面的业务代码发生更新之前对所述页面的业务代码进行打包得到的文件;所述第三文件为所述服务器根据所述增量补丁文件和所述第二文件生成的文件。
[0011]另一方面,本申请实施例提供了一种增量更新方法,应用于服务器,所述方法包括:
[0012]获取web端的页面的业务代码,查询所述业务代码发生更新后,从所述web端获取对发生更新的业务代码打包生成的第一文件,并判断所述第一文件的大小是否达到阈值;
[0013]若所述第一文件的大小未达到阈值,则将所述第一文件发送给所述web端,用于所述web端对所述业务代码进行增量更新;
[0014]若所述第一文件的大小达到阈值,则从所述web端获取增量补丁文件,将所述增量补丁文件与第二文件合并,得到第三文件并发送给web端,用于所述web端对所述业务代码进行增量更新;
[0015]其中,所述第二文件为在检测到所述页面的业务代码发生更新之前对所述页面的业务代码进行打包得到的文件;所述增量补丁文件是所述web端使用增量更新算法对所述第一文件和所述第二文件进行比较处理得到的。
[0016]另一方面,本申请实施例提供了一种增量更新装置,应用于web端,所述装置包括:
[0017]检测单元,用于检测到页面的业务代码发生更新;
[0018]打包单元,用于对所述业务代码进行打包,得到第一文件;
[0019]更新单元,用于判断所述第一文件的大小是否达到阈值;若所述第一文件的大小未达到所述阈值,则使用第二文件对所述业务代码进行增量更新;若所述第一文件的大小达到所述阈值,则使用增量更新算法对所述第一文件和第二文件进行比较处理,得到增量补丁文件;将所述增量补丁文件上传至服务器,接收所述服务器发送的第三文件,使用所述第三文件对所述业务代码进行增量更新;
[0020]其中,所述第二文件为在检测到所述页面的业务代码发生更新之前对所述页面的业务代码进行打包得到的文件;所述第三文件为所述服务器根据所述增量补丁文件和所述第二文件生成的文件。
[0021]另一方面,本申请实施例提供了一种增量更新装置,应用于服务器,所述装置包括:
[0022]获取单元,用于获取web端的页面的业务代码,查询所述业务代码发生更新后,从所述web端获取对发生更新的业务代码打包生成的第一文件;
[0023]更新单元,用于判断所述第一文件的大小是否达到阈值;若所述第一文件的大小未达到阈值,则将所述第一文件发送给所述web端,用于所述web端对所述业务代码进行增量更新;若所述第一文件的大小达到阈值,则从所述web端获取增量补丁文件,将所述增量补丁文件与第二文件合并,得到第三文件并发送给web端,用于所述web端对所述业务代码进行增量更新;
[0024]其中,所述第二文件为在检测到所述页面的业务代码发生更新之前对所述页面的业务代码进行打包得到的文件;所述增量补丁文件是所述web端使用增量更新算法对所述第一文件和所述第二文件进行比较处理得到的。
[0025]另一方面,本申请实施例提供了一种增量更新系统,所述增量更新系统包括web端和服务器;其中,所述web端用于执行上述一种应用于web端的增量更新方法,所述服务器用于执行上述一种应用于服务器的增量更新方法。
[0026]另一方面,本申请实施例提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序使得计算机执行上述一种应用于web端的增量更新方法,或者上述一种应用于服务器的增量更新方法。
[0027]本申请实施例提供的技术方案中,检测到页面的业务代码发生更新,对所述业务代码进行打包,得到第一文件;判断所述第一文件的大小是否达到阈值;若所述第一文件的大小未达到所述阈值,则使用第二文件对所述业务代码进行增量更新;若所述第一文件的大小达到所述阈值,则使用增量更新算法对所述第一文件和第二文件进行比较处理,得到
增量补丁文件;将所述增量补丁文件上传至服务器,接收所述服务器发送的第三文件,使用所述第三文件对所述业务代码进行增量更新。本申请通过设置阈值的方法,来平衡直接文件更新或文件内容增量更新,运用更近灵活;采用的增量算法更加快捷简便,降低算法时间复杂度和空间复杂度,减少了增量更新的时间和内存占用,极大地提升了用户体验。
附图说明
[0028]图1为本申请实施例提供的一种增量更新方法的流程示意图;
[0029]图2为本申请实施例提供的一种增量更新方法的流程示意图一;
[0030]图3为本申请实施例提供的使用增量更新算法进行比较处理的流程示意图一;
[0031]图4为本申请实施例提供的使用增量更新算法进行比较处理的流程示意图二;
[0032]图5为本申请实施例提供的一种增量更新方法的流程示意图三;
[0033]图6为本申请实施例提供的一种增量更新装置的结构示意图一;
[0034]图7为本申请实施例提供的一种增量更新装置的结构示意图二;
[0035]图8为本申请实施例提供的一种增量更新系统的结构示意图。
具体实施方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种增量更新方法,其特征在于,应用于网页web端,所述方法包括:检测到页面的业务代码发生更新,对所述业务代码进行打包,得到第一文件;判断所述第一文件的大小是否达到阈值;若所述第一文件的大小未达到所述阈值,则使用第二文件对所述业务代码进行增量更新;若所述第一文件的大小达到所述阈值,则使用增量更新算法对所述第一文件和第二文件进行比较处理,得到增量补丁文件;将所述增量补丁文件上传至服务器,接收所述服务器发送的第三文件,使用所述第三对所述业务代码进行增量更新;其中,所述第二文件为在检测到所述页面的业务代码发生更新之前对所述页面的业务代码进行打包得到的文件;所述第三文件为所述服务器根据所述增量补丁文件和所述第二文件生成的文件。2.根据权利要求1的方法,其特征在于,所述使用增量更新算法对所述第一文件和第二文件进行比较处理,得到增量补丁文件,包括:查找所述第一文件相对于所述第二文件不同的至少一个数据块;使用Hirschberg算法计算所述至少一个数据块中的每个数据块对应的增量;将所述至少一个数据块中的每个数据块对应的增量相加,得到增量补丁文件。3.根据权利要求2的方法,其特征在于,所述查找所述第一文件相对于所述第二文件不同的至少一个数据块,包括:对所述第二文件进行分块,得到第二分块文件,所述第二分块文件包括N1个旧数据块,N1为正整数;根据所述第二文件分块对所述第一文件进行滚动查找,以实现对所述第一文件进行分块,得到第一分块文件;其中,所述第一分块文件包括N2个旧数据块和N3个新数据块,或者所述第一分块文件包括N3个新数据块,N2和N3为正整数;对比所述第二分块文件和所述第一分块文件,确定出所述第一文件相对于所述第二文件不同的数据块为所述N3个新数据块。4.根据权利要求3的方法,其特征在于,所述方法还包括:以所述第一分块文件作为目标对象,在所述目标对象中确定出分界区块;依据所述分界区块对所述目标对象进行分割,得到至少两个区域;将所述每个区域作为目标对象继续执行上述分割操作,直至所述每个区域的数据块的数量满足所述Hirschberg算法计算增量的最优范围。5.一种增量更新的方法,其特征在于,应用于服务器,所述方法包括:获取web端的页面的业务代码,查询所述业务代码发生更新后,从所述web端获取对所述发生更新的业务代码打包生成的第一文件,并判断所述第一文件的大小是否达到阈值;若所述第一文件的大小未达到阈值,则将所述第一文件发送给所述web端,用于所述web端对所述业务代码进行增量更...

【专利技术属性】
技术研发人员:赵心影
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

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

1