Dropbox同步如何工作?

Mic*_*mad 8 algorithm synchronization transfer dropbox file-transfer

我想知道dropBox如何能够同步大数据文件,而无需再次将文件替换或重新上传到Dropbox服务器

示例:加密的zip存档

假设我有1GB加密的zip存档文件在我的计算机和Dropbox服务器上完全同步,

在我的计算机上,我向该zip存档文件添加了一个大小约为5MB的文件,然后将该文件保存在我的计算机上,

dropbox能够同步zip存档文件而无需再次重新上传整个文件,而只是通过我所做的小改动来更新它.

TrueCrypt容器也以这种方式工作

任何关键字,想法,主题,评论,链接,代码都非常感谢.

G C*_*sta 8

Dropbox使用rsync算法生成delta文件,区别在于从文件A1到文件A2.由于dropbox已经有文件A1,因此只有delta(通常远小于A2)才会上传到Dropbox服务器.然后可以将增量文件应用于文件A1,将其转换为文件A2.

您可以在此处了解有关算法的更多信息. http://en.wikipedia.org/wiki/Rdiff-backup#Variations

可以在此处找到增量创建背后的库的源代码. http://librsync.sourceforge.net/


Rus*_*rke 1

我的第一个想法(对不起,已经晚了!)是它可能在块级别执行哈希。

例如,它可能为每个 64k 段生成一个哈希值,然后为具有不同哈希值的每个部分上传整个段。