我知道有幾個程序可以通過網絡同步文件。他們中沒有一個做我一直在想的東西。讓我解釋一下我想達到什麼......有效地通過網絡複製文件的算法
在我的網絡多臺計算機共享相同的文件。例如,quickbooks文件被多臺計算機訪問,並且它是一個大文件。還有來自outlook large的pst文件。每晚我們都會通過已更改文件的網絡創建備份。我認爲如果複製一個1 GB的文件,如果它有一些小的修改,就不會使它變得更加複雜。所以我想提出一個比較文件部分的算法。
例如,讓我們說,Outlook的PST文件由一個字節:
1, 2, 3, 4, 5, 6, 7, 8, 9
如果我收到一封電子郵件,該字節現在是:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10 for example
現在,而不是發送整個文件它會更容易只發送字節10
所以在現實中的文件有數千字節的,所以我會做文件的每兆字節的校驗所以現在我的表應該看起來像:
aaa1, aaa2, aaa3, abf8, etc...
如果現在接收電子郵件的PST文件時有一個表:
aaa1, aaa2, aaa3, 7a8b, etc ... then I know that the first 3 megabits are the same and I should send just one megabite instead of the entire file...
我覺得這個算法將工作的偉大,如果是對文件的末尾,但在現實中添加的內容字節可能會在文件的開始處發生更改,我的算法無法正常工作。例如,如果一個字節是在文件中的所有十六進制代碼將改變的開頭加入...
我怎樣才能使算法更有效率?這將是很好,如果我可以把文件的部分,而不是整個文件