CN114237681A - 基于逆向差分逻辑的文件差分升级方法及其*** - Google Patents
基于逆向差分逻辑的文件差分升级方法及其*** Download PDFInfo
- Publication number
- CN114237681A CN114237681A CN202111544659.XA CN202111544659A CN114237681A CN 114237681 A CN114237681 A CN 114237681A CN 202111544659 A CN202111544659 A CN 202111544659A CN 114237681 A CN114237681 A CN 114237681A
- Authority
- CN
- China
- Prior art keywords
- differential
- version
- file
- server
- difference
- 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
- 238000000034 method Methods 0.000 title claims abstract description 15
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 6
- 230000006837 decompression Effects 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明提出了基于逆向差分逻辑的文件差分升级方法,利用新版本和每个旧版本之间的差分对比,得到不同分类文件夹的差分升级包。文件差分升级***包括设备端和服务器端,服务器端包括版本管理服务器和文件分发服务器,版本管理服务器发送差分化更新文件列表至设备端,设备端向文件分发服务器逐个请求差分升级包的下载。采用了逆向差分逻辑进行差分打包,使得差分升级包包含所有的发生更新的文件,且这些文件实现了分类,保证了一个升级文件只被设备端下载一次并只执行一次文件替换操作,从而能够有效缩减差分升级包的尺寸,也能够提升文件升级的效率,简化了设备端进行版本更新操作的逻辑。
Description
技术领域
本发明涉及互联网技术领域,特别涉及基于逆向差分逻辑的文件差分升级方法及其***。
背景技术
文件差分升级技术在各类***软件和互联网应用中被广泛地使用,用于避免整包数据升级时更新数据量大、占用网络宽带时间长的问题。
传统方法都是基于正向的差分逻辑,即在服务端存储每个升级版本相对于之前一个旧版本的差分部分;在客户端更新文件时,需要逐个遍历并下载本地版本与服务端最新版本之间的每个差分版本,进而在本地对每个差分版本进行解析,最终实现版本的在线升级更新。
上述方法简单直观,可操作性强,但也有一些明显的缺陷:一方面,在差分打包时,需要针对所有文件进行遍历,并对差异化的部分进行打包,执行效率较低;另一方面,对于同一个文件在多个升级版本中被反复编辑的情形,会导致该文件被多次下载到本地,并反复多次执行对该文件的替换操作,这样一方面增加了更新的数据量和网络传输时间,另一方面也增加了设备端解析更新版本的时间以及功耗。进一步地,传统方法在进行多次升级操作以后,服务端将累积数量庞大的升级资源包,随着时间的推移,会给运营管理造成越来越大的困难。
发明内容
针对背景技术中指出的问题,本发明提出基于逆向差分逻辑的文件差分升级方法、文件差分升级***。
基于逆向差分逻辑的文件差分升级方法,其包括以下步骤:
S1.服务器端对初始版本中的各个文件按照分类原则进行分类,并将相同分类的文件放入同一个文件夹,形成多个分类文件夹,其中分类原则可编辑;
S2.在旧版本更新时,针对每个分类文件夹,服务器分别计算出新版本相对于每个旧版本之间的差分部分,并将每个分类文件夹所对应的差分部分分别进行打包并形成多个差分升级包,生成差分化更新文件列表,同时将新版本的全部文件进行全量打包形成版本升级包,其中初始版本作为第一个旧版本;
S3.分别判断每个分类文件夹中的差分升级包个数是否超过差分距离,其中差分距离为可定义的差分升级包个数的最大值;
S4.若没有超过差分距离,服务器将差分化更新文件列表、版本升级包发送至版本管理服务器,同时将差分升级包发送至文件分发服务器;
S5.若超过差分距离,针对每个分类文件夹,服务器删除相应分类文件夹过去所有的旧版本及对应的差分升级包后,将新版本的差分升级包放入相应的分类文件夹中,并保留新版本的版本升级包,服务器将差分化更新文件列表、版本升级包发送至版本管理服务器,同时将差分升级包发送至文件分发服务器。
根据本发明中文件差分升级方法的一个实施例,所述分类原则包括功能逻辑原则、更新频度原则。
基于逆向差分逻辑的文件差分升级***,其包括设备端和服务器端,服务器端包括版本管理服务器和文件分发服务器,版本管理服务器和文件分发服务器通过内网进行通信连接,版本管理服务器和文件分发服务器分别通过网关与设备端进行通信连接;
服务器端用于获取新版本的版本升级包、新版本和旧版本之间的差分计算、差分升级包的生成,其中,版本升级包、差分计算后的差分化更新文件列表均发送至版本管理服务器,差分升级包发送至文件分发服务器。
根据本发明中文件差分升级***的一个实施例,版本管理服务器接收设备端定期发送的版本升级检查指令,并获取版本是否存在更新,若存在版本更新,版本管理服务器将差分化更新文件列表发送至设备端。
根据本发明中文件差分升级***的一个实施例,设备端接收到差分化更新文件列表后,并向文件分发服务器发出请求差分升级包下载指令,文件分发服务器将差分升级包发送至设备端。
根据本发明中文件差分升级***的一个实施例,设备端更新版本时,定期发送本地版本号至版本管理服务器;若存在版本更新,设备端接收差分化更新文件列表后,根据差分化更新文件列表中的列表项目,逐个向文件分发服务器发出请求差分升级包下载指令;断点续传机制式地接收差分升级包,直至接收全部的差分升级包;设备端执行差分升级包的解压覆盖操作。
根据本发明中文件差分升级***的一个实施例,设备端进行解压覆盖操作时,将差分升级包解压形成缓冲文件,并存入新建的临时缓冲文件夹;用缓冲文件替换设备端本地文件;删除临时缓冲文件夹;设备端将更新后的版本号设为本地版本号。
综上所述,本发明的有益效果为:
1.首先根据分类原则对文件进行分类,对未发生更新的分类文件夹不进行差分比较,从而减少了差分文件的打包时间,大幅地提升了服务端的差分升级包的打包效率;
2.采用了逆向差分逻辑进行差分打包,使得差分升级包包含所有的发生更新的文件,且这些文件实现了分类,保证了一个升级文件只被设备端下载一次并只执行一次文件替换操作,从而能够有效缩减差分升级包的尺寸,也能够提升文件升级的效率,简化了设备端进行版本更新操作的逻辑;
3.设置了差分距离的概念,超过差分距离时,服务器端可删除所有的历史差分版本及历史版本升级包,从而避免服务端出现差分资源包数量过度膨胀的问题;
4.设备端接收独立的差分升级包(每个差分升级包对应于一个分类文件夹),因此可以容易地实现基于数据分块的断点续传,提升了设备端下载升级版本时的稳定性和效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的差分计算流程图;
图2为本发明实施例的设备端版本更新流程图;
图3为本发明实施例的***流程图;
图4为本发明实施例的设备端解压覆盖操作流程图;
图5为传统方法的正向差分逻辑和本发明实施例的逆向差分逻辑对比图。。
具体实施方式
请参阅图1至图5。须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
首先说明一下本发明的设计初衷:传统的正向差分逻辑版本升级技术存在着更新数据量大、设备端与服务器端之间的网络传输速率慢等问题,为了解决上述问题,本发明提供了基于逆向差分逻辑的文件差分升级方法、文件差分升级***的具体实施方式。
基于逆向差分逻辑的文件差分升级方法,如图1所示,为本实施例的差分计算流程图,其包括以下步骤:
S1.服务器端对初始版本中的各个文件按照分类原则进行分类,分类原则包括功能逻辑原则、更新频度原则等,分类原则可根据实际应用情况进行编辑,并将相同分类的文件放入同一个文件夹,形成多个分类文件夹,由于每个升级版本内部可能包含多个与分类对应的差分升级文件,因此,在打包操作时的差分化比较只需在有更新的分类文件夹中进行,无需针对未发生变化的分类文件夹进行任何差分比较,可以有效地提高打包效率。
S2.在旧版本更新时,针对每个分类文件夹,服务器分别计算出新版本相对于每个旧版本之间的差分部分,并将每个分类文件夹所对应的差分部分分别进行打包并形成多个单独的差分升级包,生成“差分化更新文件列表”,在“差分化更新文件列表”中记载着发生更新的项目目录,同时将新版本的全部文件进行全量打包形成版本升级包,其中初始版本作为第一个旧版本;
S3.分别判断每个分类文件夹中的差分升级包个数是否超过差分距离,其中差分距离为可定义的差分升级包个数的最大值;
S4.若没有超过差分距离,服务器将差分化更新文件列表、版本升级包发送至版本管理服务器,同时将差分升级包发送至文件分发服务器;
S5.若超过差分距离,针对每个分类文件夹,服务器删除相应分类文件夹过去所有的旧版本及对应的差分升级包后,将新版本的差分升级包放入相应的分类文件夹中,并保留新版本的版本升级包,这个新版本的差分升级包和版本升级包在下一次版本升级时,可以继续进行差分对比。然后,服务器将差分化更新文件列表、版本升级包发送至版本管理服务器,同时将差分升级包发送至文件分发服务器。
采用上述方法应用在文件差分升级***中。具体地,文件差分升级***,如图3所示,为本实施例中的***流程图。其包括设备端和服务器端。
服务器端包括版本管理服务器和文件分发服务器,版本管理服务器和文件分发服务器通过内网进行通信连接,版本管理服务器和文件分发服务器分别通过网关与设备端进行通信连接;
服务器端用于获取新版本的版本升级包、新版本和旧版本之间的差分计算、差分升级包的生成。上述的版本升级包包括新版本的所有文件。
其中,版本升级包、差分计算后的差分化更新文件列表均发送至版本管理服务器,差分升级包发送至文件分发服务器。
版本管理服务器接收设备端定期发送的版本升级检查指令,并获取版本是否存在更新,若存在版本更新,版本管理服务器将差分化更新文件列表发送至设备端。
设备端接收到差分化更新文件列表后,并向文件分发服务器发出请求差分升级包下载指令,文件分发服务器将差分升级包发送至设备端。
因此,针对于设备端来说,如图2所示,为本实施例的设备端版本更新流程图。具体地,设备端在更新版本时,定期发送本地版本号至版本管理服务器;若存在版本更新,设备端接收差分化更新文件列表后,根据差分化更新文件列表中的列表项目,逐个向文件分发服务器发出请求差分升级包下载指令;断点续传机制式地接收差分升级包,直至接收全部的差分升级包;设备端执行差分升级包的解压覆盖操作。
在设备端进行解压覆盖操作时,如图4所示,将差分升级包解压形成缓冲文件,并存入新建的临时缓冲文件夹;用缓冲文件替换设备端本地文件;删除临时缓冲文件夹;设备端将更新后的版本号设为本地版本号。
如图5所示,为传统方法的正向差分逻辑和本实施例的逆向差分逻辑对比图。
在正向差分逻辑中:每个新版本和旧版本(本地版本)进行差分对比,得到差分部分,设备端接收差分部分,因此,设备端需要逐个接收本地版本与每个新版本之间的每个差分版本,因此,同一个文件可能多次被下载替换。
在逆向差分逻辑中:新版本和每个旧版本(本地版本,设备端未更新的一次更新版本、二次更新版本等等)进行差分对比,得到差分部分,设备端接收差分部分,因此,设备端只需接收一个分类的差分升级包,避免了设备端下载多个差分版本。
综上所述,本实施例首先根据分类原则对文件进行分类,对未发生更新的分类文件夹不进行差分比较,从而减少了差分文件的打包时间,大幅地提升了服务端的差分升级包的打包效率;采用了逆向差分逻辑进行差分打包,使得差分升级包包含所有的发生更新的文件,且这些文件实现了分类,保证了一个升级文件只被设备端下载一次并只执行一次文件替换操作,从而能够有效缩减差分升级包的尺寸,也能够提升文件升级的效率,简化了设备端进行版本更新操作的逻辑;设置了差分距离的概念,超过差分距离时,服务器端可删除所有的历史差分版本及历史版本升级包,从而避免服务端出现差分资源包数量过度膨胀的问题;设备端接收独立的差分升级包(每个差分升级包对应于一个分类文件夹),因此可以容易地实现基于数据分块的断点续传,提升了设备端下载升级版本时的稳定性和效率。
以上所述的仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.基于逆向差分逻辑的文件差分升级方法,其特征在于,包括以下步骤:
S1.服务器端对初始版本中的各个文件按照分类原则进行分类,并将相同分类的文件放入同一个文件夹,形成多个分类文件夹,其中分类原则可编辑;
S2.在旧版本更新时,针对每个分类文件夹,服务器分别计算出新版本相对于每个旧版本之间的差分部分,并将每个分类文件夹所对应的差分部分分别进行打包并形成多个差分升级包,生成差分化更新文件列表,同时将新版本的全部文件进行全量打包形成版本升级包,其中初始版本作为第一个旧版本;
S3.分别判断每个分类文件夹中的差分升级包个数是否超过差分距离,其中差分距离为可定义的差分升级包个数的最大值;
S4.若没有超过差分距离,服务器将差分化更新文件列表、版本升级包发送至版本管理服务器,同时将差分升级包发送至文件分发服务器;
S5.若超过差分距离,针对每个分类文件夹,服务器删除相应分类文件夹过去所有的旧版本及对应的差分升级包后,将新版本的差分升级包放入相应的分类文件夹中,并保留新版本的版本升级包,服务器将差分化更新文件列表、版本升级包发送至版本管理服务器,同时将差分升级包发送至文件分发服务器。
2.根据权利要求1所述的基于逆向差分逻辑的文件差分升级方法,其特征在于,所述分类原则包括功能逻辑原则、更新频度原则。
3.基于逆向差分逻辑的文件差分升级***,包括设备端和服务器端,其特征在于,
服务器端包括版本管理服务器和文件分发服务器,版本管理服务器和文件分发服务器通过内网进行通信连接,版本管理服务器和文件分发服务器分别通过网关与设备端进行通信连接;
服务器端用于获取新版本的版本升级包、新版本和旧版本之间的差分计算、差分升级包的生成,其中,版本升级包、差分计算后的差分化更新文件列表均发送至版本管理服务器,差分升级包发送至文件分发服务器。
4.根据权利要求3所述的基于逆向差分逻辑的文件差分升级***,其特征在于,版本管理服务器接收设备端定期发送的版本升级检查指令,并获取版本是否存在更新,若存在版本更新,版本管理服务器将差分化更新文件列表发送至设备端。
5.根据权利要求4所述的基于逆向差分逻辑的文件差分升级***,其特征在于,设备端接收到差分化更新文件列表后,并向文件分发服务器发出请求差分升级包下载指令,文件分发服务器将差分升级包发送至设备端。
6.根据权利要求3所述的基于逆向差分逻辑的文件差分升级***,其特征在于,设备端更新版本时,定期发送本地版本号至版本管理服务器;
若存在版本更新,设备端接收差分化更新文件列表后,根据差分化更新文件列表中的列表项目,逐个向文件分发服务器发出请求差分升级包下载指令;
断点续传机制式地接收差分升级包,直至接收全部的差分升级包;
设备端执行差分升级包的解压覆盖操作。
7.根据权利要求6所述的基于逆向差分逻辑的文件差分升级***,其特征在于,
设备端进行解压覆盖操作时,将差分升级包解压形成缓冲文件,并存入新建的临时缓冲文件夹;
用缓冲文件替换设备端本地文件;
删除临时缓冲文件夹;
设备端将更新后的版本号设为本地版本号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111544659.XA CN114237681A (zh) | 2021-12-16 | 2021-12-16 | 基于逆向差分逻辑的文件差分升级方法及其*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111544659.XA CN114237681A (zh) | 2021-12-16 | 2021-12-16 | 基于逆向差分逻辑的文件差分升级方法及其*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114237681A true CN114237681A (zh) | 2022-03-25 |
Family
ID=80757575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111544659.XA Pending CN114237681A (zh) | 2021-12-16 | 2021-12-16 | 基于逆向差分逻辑的文件差分升级方法及其*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114237681A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103259672A (zh) * | 2012-02-17 | 2013-08-21 | 阿里巴巴集团控股有限公司 | 软件升级方法和*** |
WO2014180388A1 (zh) * | 2013-12-13 | 2014-11-13 | 中兴通讯股份有限公司 | 差分升级包的制作方法及装置、***差分升级方法及装置 |
CN106250143A (zh) * | 2016-07-27 | 2016-12-21 | 杭州联络互动信息科技股份有限公司 | 一种可穿戴设备的ota升级方法以及装置 |
CN106484454A (zh) * | 2015-09-02 | 2017-03-08 | 中兴通讯股份有限公司 | 差分升级包的处理方法及装置,升级方法、***及装置 |
CN111381858A (zh) * | 2018-12-29 | 2020-07-07 | 深圳Tcl新技术有限公司 | 一种应用程序升级方法、服务器及终端设备 |
-
2021
- 2021-12-16 CN CN202111544659.XA patent/CN114237681A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103259672A (zh) * | 2012-02-17 | 2013-08-21 | 阿里巴巴集团控股有限公司 | 软件升级方法和*** |
WO2014180388A1 (zh) * | 2013-12-13 | 2014-11-13 | 中兴通讯股份有限公司 | 差分升级包的制作方法及装置、***差分升级方法及装置 |
CN106484454A (zh) * | 2015-09-02 | 2017-03-08 | 中兴通讯股份有限公司 | 差分升级包的处理方法及装置,升级方法、***及装置 |
CN106250143A (zh) * | 2016-07-27 | 2016-12-21 | 杭州联络互动信息科技股份有限公司 | 一种可穿戴设备的ota升级方法以及装置 |
CN111381858A (zh) * | 2018-12-29 | 2020-07-07 | 深圳Tcl新技术有限公司 | 一种应用程序升级方法、服务器及终端设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7930692B2 (en) | Updating information in network devices | |
US20020099726A1 (en) | Method and system for distribution of file updates | |
CN103336703B (zh) | 生成升级包的方法、服务器、软件升级方法、移动终端 | |
US20020042833A1 (en) | Streaming of archive files | |
US6807559B1 (en) | System and method for applet management | |
US20040054800A1 (en) | Content synchronization frameworks using dynamic attributes and file bundles for connected devices | |
CN103188097A (zh) | 一种实现补丁管理的方法、装置及*** | |
CN101795392A (zh) | 下载应用数据的方法、数字电视接收终端及*** | |
CN108008971A (zh) | 一种基于html5的离线压缩包下载实现移动app模块升级的方法 | |
CN112711612B (zh) | 数据处理方法、装置和存储介质及电子装置 | |
CN112506584B (zh) | 资源文件加载方法、装置、设备、存储介质以及产品 | |
CN113064685A (zh) | 一种h5页面加载方法及装置 | |
CN111857772A (zh) | 终端边缘应用程序远程传输及动态加载方法及设备 | |
CN102520994A (zh) | 流式加载虚拟文件方法及*** | |
CN114237681A (zh) | 基于逆向差分逻辑的文件差分升级方法及其*** | |
US20230237043A1 (en) | Accelerating change data capture determination using row bitsets | |
CN108429779A (zh) | 一种基于移动端的应用***的下载方法及*** | |
CN114265667A (zh) | 一种容器端口映射的管理方法、***、设备及存储介质 | |
CN115134235A (zh) | 微服务网关插件动态加载方法、装置、***及其存储介质 | |
CN110430279B (zh) | 文件下载控制方法及装置 | |
CN112416386A (zh) | 软件升级的方法、装置、***以及介质 | |
CN114338395A (zh) | 一种c/s通信网管方法、存储介质、电子设备及*** | |
CN110007937B (zh) | 一种***更新的方法和*** | |
CN112612504B (zh) | 一种java安装包管理方法 | |
CN114691183A (zh) | 基于嵌入式gpu的星载软件增量更新方法及星上处理平台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |