BSDiff差量更新

BSDiff是一个差量更新算法,由BSDiff与BSPatch组成,它在服务器端将oldfile与newfile运行BSDiff算法做二进制数据差分产生patch文件,在客户端运行BSPatch算法,将旧文件和patch包合成新文件。

优势

1)节约流量
之前每次升级都需要下载一个完整新版本资源包,一般情况下,两次迭代之间的资源包差别很小,现在每次升级只需要下载一个很小的差分包就可以了。

2)提高资源包更新成功率
由于移动设备所处的环境网络情况复杂多变,稳定性不可预测。因此较小的差分包可以较快的完成资源包的升级,同时下载时间的减少,也降低了网络出错的概率,可以有效的提高用户资源包升级成功的概率。

基本流程:

1、在服务器端,生成新旧文件的差分包;
2、在客户端,下载旧文件的patch文件,运行BSPatch对旧文件差分包进行合成,得到新的文件;
3、校验新合成的文件是否完整,MD5或SHA1是否正确;