[发明专利]一种数据增量更新方法有效
申请号: | 201510093396.3 | 申请日: | 2015-03-02 |
公开(公告)号: | CN104834539B | 公开(公告)日: | 2018-03-20 |
发明(设计)人: | 倪桂强;陈志龙;姜劲松;罗健欣;马遥;严英姿 | 申请(专利权)人: | 倪桂强;陈志龙;姜劲松;罗健欣;马遥;严英姿 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 深圳市威世博知识产权代理事务所(普通合伙)44280 | 代理人: | 何青瓦 |
地址: | 210007 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 增量 更新 方法 | ||
技术领域
本发明涉及计算机、智能设备、消费电子产品等数据更新领域,尤其涉及一种数据增量更新方法。
背景技术
随着智能手机、穿戴设备等消费电子产品提供的应用服务不断增多,系统更新、应用软件升级、安全漏洞修复等数据更新业务应用范围越来越广。其中,代码或数据的变化是软件新旧版本存在差异的主要原因,并且,新旧版本软件之间的差异信息往往远小于软件本身的大小。因此,使用数据增量方式进行更新是非常高效的,通过增量更新找到新旧文件之间的差异,并将该差异信息表述成增量文件,增量文件含有指令和数据,进行更新的设备使用增量文件可以将旧文件转化为新文件。
图1显示了现有技术中数据增量更新的基本流程:在服务器端存储着旧版本文件(软件或者数据)和新版文件,当某个新版本要被发布前,服务器比较新文件和旧文件,并将二者的差异信息表述为增量包的形式,增量包被压缩后得到增量压缩包,再通过通信网络传递给需要更新软件的设备,设备收到增量压缩包并解压,按照增量包中的指令和数据将旧文件转化为新文件。
图1所示的数据更新流程在实际应用中,会存在受限的网络带宽、按流量计算的费用、以及消费电子设备较小的内存和有限的电量等实际限制,而较小的增量压缩包能够减少流量费用和下载时间,应用增量包时较小的内存耗费和较少的CPU时钟周期能够减少生成新文件的时间、节省设备电量、降低对正在运行的其他应用程序的影响,最终提升用户体验。可以看出,消费电子设备数据增量更新方法的主要评价标准是:增量包、增量压缩包的大小和应用增量包的时间。因此,减小增量包和增量压缩包的大小,以及加快应用增量包的速度是数据更新方法中需要重点解决的问题。
在现有技术中,数据增量更新方法主要包括:T.Andrew在文献《Efficient Algorithms for Sorting and Synchronization》(Australian National University,1999)提出的RDIFF方法,C.Percival在文献《Naive differences of executable code》(University of Oxford,2003)提出的BSDIFF方法,以及D.Korn等作者在文献《The VCDIFF Generic Differencing and Compression Data Format》(RFC 3284(Proposed Standard),June.2002)提出的VCDIFF方法。
RDIFF方法主要将旧文件和新文件分成相同大小的连续多个数据块,计算每个数据块的哈希值,依据哈希值在新旧文件之间寻找相同的数据块,增量包中包括对旧文件某个数据块的引用,或者是一个完整的新数据块。该方法结构简单,计算速度快并且适用于解决RDC(Remote Differential Compression)问题,缺点是无法全面采集新旧文件之间所有的相似信息,应用该方法的软件有Rsync和rdiff-backup等。
BSDIFF方法是在新文件和旧文件之间寻找完全相同的数据段,接着逐字节延伸该数据段的前缀和后缀,尝试寻找近似但不完全相同的数据段,即近似数据段。BSDIFF方法中使用了N.S.Larsson和K.Sadakane提出的后缀数组排序算法,增量包中指令有ADD、INSERT、SEEK,ADD操作的参数是近似数据段长度和修正量,INSERT操作的参数是插入段长度和插入内容,SEEK操作的参数是旧文件读取指针的跳跃跨度。ADD操作的修正量参数是增量包的主要成分,新旧文件的相似程度与修正量中“0”的比例成正比,较高的“0”的比例使得增量压缩包小于新文件的大小。BSDIFF方法中的增量包较小,但是构造增量包和应用增量包的计算量较大,因此费时较多。目前BSDIFF方法是应用最广泛的增量更新算法,Bsdiff工具应用了BSDIFF方法。
VCDIFF方法是基于LZ77(Lempel-Ziv 77)压缩算法进行改进,实现增量更新。LZ77压缩算法主要是基于一个数据流中后面的数据段与前面的数据段相似或者相关进行数据压缩,借鉴LZ77压缩算法,VCDIFF方法将旧文件和新文件链接成一个数据流,应用LZ77压缩算法进行压缩,截取压缩流中表达新文件的部分作为增量包。VCDIFF方法的性能介于在RDIFF方法和BSDIFF方法之间,牺牲了部分压缩率,加快了执行的速度。Xdelta是应用VCDIFF方法的软件之一,并且该软件还在VCDIFF基础上进行了改进,优化了其中的指令集,进一步减小了增量压缩包的大小。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于倪桂强;陈志龙;姜劲松;罗健欣;马遥;严英姿,未经倪桂强;陈志龙;姜劲松;罗健欣;马遥;严英姿许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510093396.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种倒密封在连接装置上方的加长阀盖截止阀
- 下一篇:流量调节器单元
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置