Dropbox 同步技术名称是什么

Dropbox 同步技术名称是什么

我记得 Dropbox 曾经(我认为现在仍然)有一种在同步文件时使用较少数据的方法。
它比较原始文件和新版本之间的字节差异,并且仅上传/下载更改(类似于 git)。
我只是不记得这种技术的名字了!它类似于“字节差异”或“差异比较”...

答案1

您要查找的一般术语是“delta”(即两个值之间的差异),或更具体地说是“delta压缩”或“delta传输”。

总体思路并非 Dropbox 所特有——数十个程序中使用了各种增量更新方法(例如 Git、rsync、Windows Update、Debian 的“apt update”)。

  • 其中一些方法直接接受两个输入(旧的和新的),并产生某种“增量补丁“稍后可将其应用于旧文件以获取新文件。通常这些方法可以处理插入/删除的数据以及直接更改,但它要求发送者同时拥有两个版本。(示例:'bsdiff' 和 'xdelta3' 工具;Debian 的“apt update”pdiffs;Git 的“object/pack/*.pack”文件。)

  • 其他软件使用该术语来表示仅确定文件的哪些固定大小部分已更改并下载必要部分的方法。文件同步程序通常会这样做,因为它不需要将两个版本放在同一个位置,而是客户端和服务器交互地交换哈希列表。缺点是它们通常无法处理插入/删除。(示例:Dropbox、Syncthing、使用 Merkle 哈希树的各种对等程序,如 BitTorrent 或 ed2k。)

Git 在不同的环境中使用这两种技术。

相关内容