我打算編寫一個程序,通過互聯網在多臺計算機上實時同步一個文件夾。我想知道是否有任何同步算法來處理文件同步衝突,即計算機A試圖保存文件,而計算機B已刪除該文件。有沒有同步算法/參考可用於同步目錄?
2
A
回答
8
你給出的例子正是爲什麼同步被認爲是一個難題。
計算機A已刪除計算機B仍有的文件。現在:你怎麼知道文件是否被添加到B上,並且應該被複制到A上,或者在A上被刪除,並且應該在B上被刪除?你沒有,真的。許多同步系統有可能發生相互衝突的變化,這些變化需要人工解決。
許多工具已經建成做到同步,包括:
- 版本控制系統,如CVS,Subversion的,水銀,GIT中,Perforce公司等
- 獨立,單向同步方案。他們無法處理任何一方的更改,但可以使目標目錄與源目錄完全相同。這比完整的COPY要好,因爲它速度更快,但它基本上是一樣的。例子包括Windows上的rsync,ROBOCOPY和XCOPY/MIR。
- 易於使用的互聯網同步工具,可以同步多臺機器上的文件夾。例子包括Windows Live文件夾和Dropbox。這些應用程序通常通過在子目錄中創建兩個版本的額外副本來解決衝突,以便稍後將其排除。他們真的認爲將會有非常少的衝突。在複雜的應用
- 內置的同步,例如,電子郵件/聯繫人/日曆中的Microsoft Exchange同步的Lotus Notes等
3
你也可能想看看Unison。它是一個多向文件同步工具,它使用rsync算法確保只發送文件的變化部分。
相關問題
- 1. 同步算法
- 2. 同步算法
- 3. Visual Studio「項目」參考同步問題
- 4. 同步Fx:Succeesfully同步,但沒有數據同步
- 5. 有沒有辦法同步這個?
- 6. 有沒有辦法同步檢查套接字可用數據?
- 7. 同步線程 - 沒有UI
- 8. xbee之間沒有同步
- 9. Process.StandardOutput.ReadLine()沒有正確「同步」
- 10. AXIS:OperationDesc沒有同步到一個方法
- 11. 記錄中屬性同步的算法
- 12. 同步條目順序的算法
- 13. 有沒有辦法同步不同的Word文檔的部分?
- 14. 哲學家同步算法
- 15. 同步的「參考」或實例
- 16. .NET CLR - 對象參考同步
- 17. 等同於靜態同步方法的同步塊?
- 18. 同步所有方法的類將表現爲同步塊?
- 19. ConcurrentModificationException的具有同步和非同步方法
- 20. 異口同聲地同步在目錄中的文件,但沒有文件夾
- 21. 有沒有辦法使用fs同步函數與browserify?
- 22. 有沒有使用nexus同步儲存庫的方法?
- 23. 從同步塊調用此同步方法可以嗎?
- 24. 使用lsyncd同步多個目錄
- 25. 同步不同步
- 26. 有沒有辦法同步等待在Javascript中完成遞歸異步函數?
- 27. 從同步區(有效的Java項目)
- 28. 異步方法調用同步方法
- 29. 在同步方法內同步(this)塊
- 30. 同步方法VS同步塊