2011-10-31 55 views
0

基本上我需要同步两个文件夹/文件结构,当文件夹和文件移动并经常更改时。他们都记录了变化的历史,并且可以通过请求查询变化量。我已经有了一些,因为我认为当问题出现时,可靠的自制同步算法会随时调整。我想知道这个问题是否存在数学背景,并且可能是我可以重新使用和改进我的系统的一些构建良好的理论和模式。同步算法

+0

['rsync'](http://en.wikipedia.org/wiki/Rsync)是怎么回事? –

+0

甚至在维基百科上描述了rsync背后的理论。那里有很好的搜索技能,@aloneguid。 :) – bzlm

+0

感谢,让我试试,可能是搜索一个错误的关键字;( –

回答

0

不知道我理解你的问题,但也许Longest common subsequence problem这是diff程序的基础:找出两种状态(即在你的情况下的文件夹/文件)之间的区别和编码翻译状态A到状态B(需要添加,修改和删除两个位置具有相同结构的文件)。如果其中一个位置是“黄金”副本(或“主”),另一个位置是“奴隶”,则此类解决方案有效:从属服务器必须达到主服务器的状态。当情况是主 - 主(两个站点都接受写入)时,解决这个问题要困难得多,而且您需要某种自动化的冲突解决方案。