ネットワーク経由でファイルを同期するいくつかのプログラムがあります。彼らのうちの何人かは、私が考えていることをしません。達成したいことを説明しましょう...ネットワークを介してファイルを効率的にコピーするためのアルゴリズム
私のネットワークでは、複数のコンピュータが同じファイルを共有しています。例えば、quickbooksファイルは複数のコンピュータからアクセスされ、大きなファイルです。また、Outlookからのpstファイルも大きくなっています。毎晩、変更されたファイルのネットワーク上でバックアップを作成します。私はいくつかのマイナーな変更があった場合、1GBのファイル全体をコピーすることはサンスとは思わないと思う。だから私は、ファイルの部分を比較するアルゴリズムを考え出したいと思います。例えば
のは、見通しのPSTファイルは、バイトで構成されていることを言わせて:私は、電子メールを受信した場合
1, 2, 3, 4, 5, 6, 7, 8, 9
バイトが今のようになります。
1, 2, 3, 4, 5, 6, 7, 8, 9, 10 for example
今
の代わりに、ファイル全体を送信することバイトだけを送信するのがより簡単になります。
実際にファイルには何千バイトものバイトがありますので、ファイルの各メガバイトのチェックサムを実行します。 :
aaa1, aaa2, aaa3, abf8, etc...
今電子メールを受信したときのように、PSTファイルは、テーブルを持っている場合:私は、コンテンツがファイルの終わりに向かって現実aに追加された場合、このアルゴリズムは素晴らしい仕事だろうと思い
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...
バイトはファイルの先頭で変更され、私のアルゴリズムは動作しません。たとえば、ファイルの先頭に1バイトが追加された場合、16進コードはすべて変更されます。
アルゴリズムをより効率的にするにはどうすればよいですか?