CN114237681A - 基于逆向差分逻辑的文件差分升级方法及其*** - Google Patents

基于逆向差分逻辑的文件差分升级方法及其*** Download PDF

Info

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
Application number
CN202111544659.XA
Other languages
English (en)
Inventor
高伟亚
谢小军
刘钢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuren Intelligent Technology Hangzhou Co ltd
Original Assignee
Zhuren Intelligent Technology Hangzhou Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhuren Intelligent Technology Hangzhou Co ltd filed Critical Zhuren Intelligent Technology Hangzhou Co ltd
Priority to CN202111544659.XA priority Critical patent/CN114237681A/zh
Publication of CN114237681A publication Critical patent/CN114237681A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File 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所述的基于逆向差分逻辑的文件差分升级***,其特征在于,
设备端进行解压覆盖操作时,将差分升级包解压形成缓冲文件,并存入新建的临时缓冲文件夹;
用缓冲文件替换设备端本地文件;
删除临时缓冲文件夹;
设备端将更新后的版本号设为本地版本号。
CN202111544659.XA 2021-12-16 2021-12-16 基于逆向差分逻辑的文件差分升级方法及其*** Pending CN114237681A (zh)

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)

* Cited by examiner, † Cited by third party
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新技术有限公司 一种应用程序升级方法、服务器及终端设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
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