Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 是否有任何同步算法/参考可用于同步目录?_Algorithm_Synchronization - Fatal编程技术网

Algorithm 是否有任何同步算法/参考可用于同步目录?

Algorithm 是否有任何同步算法/参考可用于同步目录?,algorithm,synchronization,Algorithm,Synchronization,我计划写一个程序,通过互联网在多台计算机上实时同步一个文件夹。我想知道是否有任何同步算法来处理文件同步冲突,即计算机A尝试保存文件,而计算机B已删除该文件。您给出的示例正是为什么同步被认为是一个难题 计算机A已删除了计算机B仍保留的文件。现在:您如何知道文件是在B上添加的,应该复制到A,还是在A上删除,应该在B上删除?你真的不知道。许多同步系统都有可能发生冲突的变化,这些变化需要人工解决 已经构建了许多用于同步的工具,包括: 版本控制系统,如CVS、Subversion、Mercurial、g

我计划写一个程序,通过互联网在多台计算机上实时同步一个文件夹。我想知道是否有任何同步算法来处理文件同步冲突,即计算机A尝试保存文件,而计算机B已删除该文件。

您给出的示例正是为什么同步被认为是一个难题

计算机A已删除了计算机B仍保留的文件。现在:您如何知道文件是在B上添加的,应该复制到A,还是在A上删除,应该在B上删除?你真的不知道。许多同步系统都有可能发生冲突的变化,这些变化需要人工解决

已经构建了许多用于同步的工具,包括:

  • 版本控制系统,如CVS、Subversion、Mercurial、git、Performance等
  • 独立的单向同步程序。它们不能处理任何一方的更改,但可以使目标目录看起来与源目录完全相同。这比完整的拷贝好,因为它更快,但基本上是一样的。示例包括Windows上的rsync、ROBOCOPY和XCOPY/MIR
  • 易于使用的internet同步工具可同步多台计算机上的文件夹。示例包括Windows Live文件夹和Dropbox。这些应用程序通常通过在子目录中创建两个版本的额外副本来解决冲突,以便您以后可以对其进行排序。他们真的认为会有很少的冲突
  • 复杂应用程序中的内置同步,例如Microsoft Exchange中的电子邮件/联系人/日历同步、Lotus Notes等

您可能还想调查一下。它是一个多向文件同步工具,使用rsync算法确保只发送文件的更改部分