(好吧,不要对我大喊大叫,这里已经很晚了:))
我正在研究 delta diff 工具(命令行工具或组件,只要我可以从Delphi 2010调用它们就可以了)
我有这个项目,我将文件上传到服务器,我需要优化上传,所以如果我只能上传 delta 文件而不是发送新文件,然后比较服务器上的新旧文件版本,那就太好了。
我在这里读到了 Duplicity
Duplicity 是 rdiff-backup 的一种变体,它允许在没有存储服务器合作的情况下进行备份,就像 Amazon S3 等简单的存储服务一样。它的工作原理是提前为每个块生成哈希,加密它们,并将它们存储在服务器上,然后在进行增量备份时检索它们。出于安全目的,其余数据也被加密存储。
这让我想到,是否有一种工具(或方法)可以基于新文件生成补丁或增量文件(我不确定正确的术语是什么) ,而无需访问原始文件?
我的意思是,假设我有这个文件,我修改过一次:
my-data.db
[ my-data.db ] modified --> [ delta-file-1.diff ]
有没有办法基于新文件构造 [ delta-file-1.diff ]而无需访问旧文件?(可能是通过为原始文件存储某种签名?)
我对此主题进行了很多研究(rdiff、PatchAPI、ZDelta、XDelta、MSDelta 等),但我找不到任何关于此的实际工作示例。
这些参考资料谈到了这一点,但我想听听是否有人可以指导我和/或建议更好的工具来回答我上面提出的问题。
Windows 补丁 API:在没有基础(源)文件的情况下压缩目标
提前致谢!