不同平台下生成patch差分包
增量更新算法官网
bspatch
http://www.daemonology.net/bsdiff/
bzip2
http://www.bzip.org/downloads.html
一、增量更新原理
在计算机世界,所有的文件都可以用二进制来表示。增量更新通过哈夫曼算法将新旧文件对比,生成一个差分包(经过压缩)。旧的文件通过与差分包解压后进行合并即可得到新的文件。
哈夫曼算法
比较两个文件,若文件相同只保存索引,若文件不同则保持索引和内容
二、Windows平台差分工具
下载bsdiff,可以通过官网下载,也可以通过以下链接下载
https://download.youkuaiyun.com/download/cx1229/10844285
解压之后,Release文件夹下已经提供了.exe可执行文件,可以直接用命令提示符来生成差分包。
用法:使用CMD输入
bsdiff.exe oldfile newfile patchfile
使用Visual Studio来生成差分工具。
新建一个C++空项目,将所有的c、cpp和h文件拷贝进去,这里我创建了一个include的文件夹用来放置头文件,还有一个src文件夹用来放置源文件。运行之后即可生成.exe差分工具。