メッセージのような何かがダイジェストしかし、それは徐々にファイルを記述する
-
27-10-2019 - |
質問
私が書いていたJavaプログラムを使用して周りのファイルやアップデートを転送する必要異種オペレーティング・システムと地理的に離れたノードのセットを持っています。現時点では私は、ファイルが変更された場合、再びファイル全体を送信する必要があります。異なっていて、のみ送信ファイルのセクションを決定する方法がある(これらのファイルは、必ずしもテキストではないことに注意してくださいが、彼らは、任意のフォーマットである可能性があり)。私は考えることができる唯一の方法は、ブロックにファイルを分割することで、ハッシュブロックとハッシュはそのように任意のがあり、それは必要がある唯一のブロックを要求したが、小さなブロックや大きなファイルのため、これは大きなオーバーヘッドで依頼者を送り返します特異なメッセージが必要に送信することをブロックのリスト?
を提供するために分析することができるように私のファイルを記述するいくつかのメッセージを送信する方法ほとんどの消化機能が全体のハッシュ出力を超える大規模な変更でデータ結果に小さな変更が、私は基本的にはすべてのオペレーティングシステム上で動作しますが、これの逆を必要とするように設計されています。
解決
私が正しくあなたの質問を理解していれば、
は、次の2つのシステムに同期したファイルを保持する必要があります。のみに行われた変更を送信することにより、2つのファイル(またはディレクトリ全体)を同期させることができます rsync
のと呼ばれるツールがありますファイルます。
あなたはまた、に興味がある可能性があり rsyncのアルゴリズムのます。
所属していません StackOverflow