2011-08-15 8 views
4

私は例Dropboxの同期はどのように機能しますか?

Dropboxのサーバに再びDropboxのファイルを置き換えるか、再アップロードせずに大規模なデータファイルを同期することが可能である方法を知りたい:暗号化されたzipアーカイブ

が、私は1ギガバイトの暗号化をしたと仮定私はそのzipアーカイブに追加マイコンピュータを完全に自分のコンピュータ上とDropboxのサーバ上で同期zipアーカイブファイル、

その後、自分のコンピュータ上のファイルを保存した5メガバイト程度のサイズのファイルをファイル、

のDropboxがすることができます再構築せずにZIPアーカイブファイルを同期する - ファイル全体をもう一度アップロードするのではなく、ちょっとした変更を加えてファイルを更新するだけです。

また、TrueCryptのコンテナがそのように

任意のキーワード、アイデア、話題、レビュー、リンクを動作しますが、コードが大幅に高く評価されます。

+0

これは想像できる最も簡単なトリックであり、プログラマーの考え方を完全に嫌うものです。進行状況バーを表示しないでください。ちょうどそれが起こるように、ユーザーには見えない。これはシェル拡張であるため、実際の更新が必要なときにWindowsがコピーを行っているように見えるようにするのは簡単です。そして、もちろん、遅い場合は、Windowsが吸うためです。エクスプローラの進行状況バーが表示されます。あなたは何が起こっているか見ることができないので、それを観察するにはWireSharkのようなツールが必要です。 –

+1

これは良い錯覚のトリックですが、マイケルが求めていることは分かりません。ファイルのどの部分が変更されたかを判断する方法について話しています.1Gbのデータを再アップロードする必要がないため、 5mbを変更しました。 –

+0

@Russ cあなたが正しく話している場合 –

答えて

1

ブロックレベルでハッシュを実行している可能性があります(遅くなりました)!

たとえば、64kセグメントごとにハッシュが生成され、異なるハッシュを持つ部分ごとにセグメント全体がアップロードされる場合があります。

+0

1Gbファイルがあり、そのファイルの暗号化されたzip(例えば500Mb)をDBフォルダに置くと、そのソースファイルの1バイトを変更するとコンテンツが完全に変更されるそれのすべての部分のZIP版とDBは再びロットをアップロードする必要があります。私。私は、圧縮されたファイル内でハッシュされたセグメントテクニックは動作しないと思います。 ZIPアーカイブの各ファイルが他のファイルを参照せずに圧縮/暗号化されているため、ファイルレベルで動作するはずです 確かに、ソリッドアーカイブ(http://en.wikipedia.org/wiki/Solid_compression)これの利点。 – rossmcm

7

Dropboxはrsyncアルゴリズムを使用して、ファイルA1からファイルA2までの違いを持つデルタファイルを生成します。 dropboxにはすでにファイルA1があるため、デルタ(通常はA2よりもはるかに小さい)のみがドロップボックスサーバーにアップロードされます。デルタファイルは、ファイルA1に適用され、ファイルA2に変換されます。

アルゴリズムの詳細については、こちらをご覧ください。 http://en.wikipedia.org/wiki/Rdiff-backup#Variations

デルタ作成の後ろにあるライブラリのソースコードは、ここにあります。 http://librsync.sourceforge.net/

+0

アップロードする前にDropboxでファイルをローカルで暗号化していませんか? – Kar

関連する問題