需要在在线备份工具中实现版本控制

时间:2009-07-13 06:20:45

标签: version-control ftp backup

我正在开发一个应用程序,它将自动或手动执行PC中文件和文件夹的在线备份。目前,我只在服务器上保留该文件的最新版本。现在,我必须实现版本控制,以便只有更改可以转移到在线服务器,用户必须能够下载任何可用的版本备份服务器上的文件。

我需要为此执行重复数据删除。伙计们,虽然我能够使用固定的块大小来执行它,但是面临着为每个版本备份传输具有CRC信息的文件的开销。

我从未研究过这种技术,因此缺乏经验。我很想知道是否有任何可行的方法可以在应用程序中嵌入此功能而不会有太多痛苦。是否有任何第三方工具可以帮助执行相同的操作?请告诉我?

注意:我使用FTP协议传输数据。

1 个答案:

答案 0 :(得分:1)

有一个名为dump的程序可以执行类似的操作,但它可以在文件系统块而不是文件上运行。 rsync也可能是有意义的。

您需要跟踪包含多个版本的大量块以及它们如何适应原始文件的各种版本,因此您需要某种类型的数据库来跟踪此信息,以及一种有效的查询方式它确定需要传输给定文件中的哪些块。另请注意,如果使用朴素的阻塞和差异方案,在文件开头添加内容将导致所有块都是“新的”。

做得好这将是非常复杂的。我强烈建议您彻底研究已有的解决方案,如果您决定自己编写,请仔细考虑其设计的好处。