bsdiff,


 

BSDiff是一个差量更新算法,它在服务器端运行BSDiff算法产生patch包,在客户端运行BSPatch算法,将旧文件和patch包合成新文件

算法介绍

 

安装步骤:

系统:centos

wget http://www.daemonology.net/bsdiff/bsdiff-4.3.tar.gz
tar zxvf bsdiff-4.3.tar.gz
cd bsdiff-4.3
修改Makefile 在倒数第一行 第三行 加TAB
然后执行make
make 会报错,确实zip库
执行下面命令安装(RHEL/CENTOS)
yum install bzip2-devel

编译完成后,会在目录下生成2个二进制文件:
bsdiff
bspatch
这2个二进制文件可以直接使用

也可以拷贝到/usr/local/sbin/下
cp bsdiff /usr/local/sbin/
cp bspatch /usr/local/sbin/

# bsdiff -h
bsdiff: usage: bsdiff oldfile newfile patchfile

# bspatch -h
bspatch: usage: bspatch oldfile newfile patchfile

 

 

扩展: 使用bsdiff 进行差分升级,还并不是最优的方式,google在它的Chromium项目中,对这个差分算法进行了优化,优化后的版本叫做小胡瓜Courgette,据说性能优化了很多不是一个数量级了,官方的一个例子:
Full update       10,385,920 bsdiff update     704,512 Courgette update      78,848

相关内容

    暂无相关文章