差量更新算法 xdelta

Apache
C/C++
跨平台
2019-08-07
红薯

Xdelta3是一种优秀的、被广泛使用的差量更新算法,它在操作上既有对新文件(targetfile)和旧文件(sourcefile)的差分(differencing)又有对产生的patch包进行压缩(compression),我们将产生patch包的过程统称为加密(encoding),而将合成新文件的过程统称为解密(decoding)。Xdelta3和经典的压缩算法LZ’77一样,也是将source file划分成一个个不相交而又连续的window,然后进行encoding和decoding。

设target file的大小为n,source file的大小为m,window的大小为w。由于Xdelta3在合成target file所消耗的时间为O(n),所消耗的内存大小为O(w),所以该压缩算法很适合被移植到手机中。

Xdelta3在产生patch包的时候,主要依靠三个方面:

  1. 采用Vcdiff格式编码,节省patch包字节;
  2. 从target file和source file的内容上做差分;
  3. 压缩patch包。
的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

[差量更新系列2]Xdelta3原理学习笔记

[差量更新系列2]Xdelta3原理学习笔记

2016/11/07 15:49
104
0
C语言常规优化策略--赋值语句优化

C语言常规优化策略 从理论上讲,程序的优化一般分为局部优化、循环优化和全局优化三个层次。所谓局部优化,重点在于删除程序中的无用赋值,利用语言的特性对基本赋值语句优化,局部优化一般不...

2013/04/24 16:27
77
0
原生JavaScript学习之 window对象(ES5标准)

1.window对象的定义 2.window对象的属性 3.window对象的方法 4.window对象的事件

2016/06/17 18:22
2.1K
5
tslib机制分析

tslib,其实从他的名字就可以看出它的,它是touchscreen的lib,其实这样还不够具体,其实它开始确实是为了touchscreen的鼠标驱动而发展起来的,且只是一个中间处理库,即将原始数据进行调整,...

2012/09/27 17:45
1K
0
命令行的艺术

熟练使用命令行是一种常常被忽视,或被认为难以掌握的技能,但实际上,它会提高你作为工程师的灵活性以及生产力。本文是一份我在 Linux 上工作时,发现的一些命令行使用技巧的摘要。有些技巧...

2016/01/04 10:08
83
0
这篇文章可以帮你掌握命令行的艺术

熟练地操作命令行是一项常常被我们忽视的技能,又或者说我们将它看的太过神秘。不过作为一名软件工程师,掌握这一技能可以很大程度上提升我们工作的 灵活性,提高工作效率。这篇文章是我在与...

2015/09/13 10:00
106
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部