开发者

How does Dropbox synchronization work?

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.


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/


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜