什么是定期保存文件并确保备份文件的好算法

时间:2013-08-05 11:15:05

标签: algorithm file backup

我们的一个进程(Writer)将定期创建一个文件。鉴于其他进程(让我们称之为读者)将在不同时间读取此文件,会出现以下问题。

a)当Writer写入文件时,同时Reader(独立于Writer)不读取同一文件的不完整版本。 ?
b)我们应该创建一个备份文件(file.bin~)吗?当我们将旧文件(file.bin)重命名为备份文件(file.bin~)并创建新文件(file.bin)时会发生什么?

这有点类似于备份程序,当有人用编辑器保存文件时备份文件。

总结:在创建所有文件保存和备份文件的同时,如何确保Reader程序永远不会获得不完整的文件(另外,如何确保Reader程序始终获得完整的文件?)

谢谢,

1 个答案:

答案 0 :(得分:0)

  1. 找一种让读者知道作家正在写作的方法,这样他们就可以停止阅读了。 (或者让作者等待读者完成)
  2. 让编写器将数据写入新文件(file_new.bin)
  3. 将旧文件(file.bin)复制/移动到新位置(file_old.bin)
  4. 将旧文件(file.bin)替换为新文件(file_new.bin)
  5. 您可以考虑保留旧版本(file_old.bin)进行简单备份(或者将其发送到带有日期戳等的单独文件夹(或服务器)以进行更高级的备份)或者只是将其删除以节省存储空间