具有单实例功能的备份应用程序

时间:2009-12-09 08:12:37

标签: file-upload single-instance

目前正在处理一个应用程序,它可以帮助您备份服务器上的文件(由公司自己托管),以便您可以在任何硬盘崩溃后恢复数据。我已经跨用户实现了单实例功能。

单一实例:已在服务器上传的文件不会再次上传。每当上传的确切文件的任何其他实例将不是实际上传但是一些数据库更改并链接到相同的先前上载的文件。

当同一个文件(之前尚未上传过)被多个用户同时上传时出现问题。对于某个实例,将无法检测到启动文件(因为数据库仅更新)成功上传/备份后)。一切正在运行。以这种方式实现单个实例的最佳方法是什么。

当我让所有实例按原样上传时,我在想。因此,该文件的多个实例将驻留在服务器上。但是,每当之后将对同一文件进行另一次备份时,我将删除所有先前的实例并将其与该实例链接起来。这不会让用户双重上传,而且一些光盘空间的成本也不会那么复杂(可能会在下一次上传相同的文件之前完成)

提前感谢您的想法。

1 个答案:

答案 0 :(得分:0)

在上传之前计算文件的哈希(签名)并将其存储在数据库中。 然后 - 开始上传。 如果一个类似的文件将在上传第一个文件时标记为上传(你会知道b / c你已经保存了哈希) - 你将保持第二个文件上传,直到第一个文件成功完成,然后链接,如果第1次失败,您可以转到第二个来源并上传。

相关问题