rsync 算法是一种远程块级增量备份/同步算法。源于UNIX 的一个命令。想了解详细,点这里。
看完后我画的图:
不难知道,同步这类算法,需要保证目的文件和源文件数据相同。最少需要传输的数据为:“新数据”和“新数据”所在位置。这样才能够更新了原来的旧数据为新数据。
rsync 算法可以保证所需传输的数据最少(当对旧数据的修改为连续的,或者两最近位置修改大于n bits),因为通过上图可知,每次移动一比特的行为保证了区分每个不同的bit 都被找出来了。
可以改进的地方有进行相同块位置比较方法的改进,可以减少第一次rsync 发送HashTable 的数据量和与源数据比对计算速度。
和江老师谈的最大收获就是“I didn’t focus on my focus!”。