Dropbox 同步如何工作?

发布于 2024-11-29 16:45:21 字数 335 浏览 1 评论 0原文

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

示例:加密的 zip 存档

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

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

dropbox 能够同步 zip 存档文件,而无需再次重新上传整个文件,而只是将其更新为这我做了一点小改变。

TrueCrypt 容器也以这种方式工作

任何关键字、想法、主题、评论、链接、代码都将受到高度赞赏。

I want to know how dropBox is able to synchronize the large data files without replacing or re-uploading the files again to the dropbox server

Example: an encrypted zip archive

Suppose I've a 1GB encrypted zip archive file Fully synchronized on my computer and on the dropbox servers,

On my computer I added to that zip archive file a file of size about 5MB then saved the file on my computer,

dropbox is able to synchronize zip archive file without re-uploading the whole file again instead it just update it with the small change I've done.

Also TrueCrypt containers works in that manner

Any keywords, ideas, topics, reviews, links, code is greatly appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

绅士风度i 2024-12-06 16:45:21

Dropbox 使用 rsync 算法生成文件 A1 到文件 A2 之间存在差异的增量文件。由于 dropbox 已有文件 A1,因此仅将增量(通常比 A2 小得多)上传到 dropbox 服务器。然后可以将增量文件应用到文件 A1,将其转换为文件 A2。

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

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

Dropbox uses the rsync algorithm to generate delta files with the difference from file A1 to file A2. Only the delta(usually much smaller than A2) is uploaded to the dropbox servers since dropbox already has file A1. The delta file can then be applied to file A1, turning it into file A2.

You can learn more about the algorithm here.
http://en.wikipedia.org/wiki/Rdiff-backup#Variations

The source code for the library behind the delta creation can be found here.
http://librsync.sourceforge.net/

北渚 2024-12-06 16:45:21

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

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

My first thought (it's late sorry!) is that it might be performing a hash at a block level.

For example, it might generate a hash for each 64k segment and then uploads the whole segment for each portion that has a different hash.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文