Dropboxは、ローカルファイルを上書きするタイミングとクラウドファイルを上書きするタイミングをどのように決定しますか?


10

Dropboxが自分のコンピューターで認識しているファイルのクラウドバージョンとは異なるファイルを検出した場合、ローカルファイルをクラウドファイルで上書きして同期するか、クラウドファイルを上書きして同期するかをどのように決定しますかローカルファイル?

言い換えると:

  • サーバーコピーとファイルのローカルコピーが異なる場合、

  • Dropboxプログラムが起動して同期が完了すると、

  • これらの2つのファイルは同じになります。

これらの2つのファイルも、古いファイルの1つと同一です。私の質問はどちらですか---古いサーバーコピーまたは古いローカルコピー?どうやって決めるの?


うーん、あなたの言い換えがそれをより明確にするかどうかわかりません。しかし、Dropboxはファイルチェックサム(および場合によっては変更日)の(バージョン)を使用して、ファイルをアップロードする必要があるかどうかを確認すると思います。(ローカルデータベースに古いものがあります)。チェックサムが異なる場合は、アップロードされます。オンラインの場合、ローカルデータベースに新しい日付と古いバージョンとは異なるチェックサムのバージョンがある場合、他の誰かがファイルを変更している必要があり、ファイルは「競合するコピー」を追加して名前が変更されます。(もちろん、これは推測であり、オンラインでの確認はまだわかりません)
Rik

回答:


5

私はこれの専門性を知りませんが、私と私のアシスタントが2つの異なるコンピューターを異なる時間にオン/オフする共通のドロップボックスを操作する状況があります。

あなたの質問への答えは、クラウドに接続すると、Dropboxが(どういうわけか)現在クラウド上にあるバージョンが最初にコンピューターから同期されたことを知っているということです。したがって、コンピューターのバージョンが異なる場合、それはクラウドに同期されるバージョンです。

2台のコンピューター(AとBなど)が同じDropboxを使用していて、それぞれがオフラインで変更を行う場合、最初のコンピューターの電源がオンになり(コンピューターAであるとしましょう)、クラウドへの更新の同期が生成されます。したがって、AとCloudに同じバージョン(Aアップデートを含む)が存在するようになります。

コンピューターBの電源が入ると、DropboxはコンピューターBのファイルのバージョンが現在のクラウドバージョン(通常)と異なるだけでなく、Dropboxが前回同期したときのバージョンと異なることを認識します。したがって、BのファイルをAバージョンに同期する場合、Bの変更は失われます。つまり、Dropboxがすることは、Bバージョンのコピーを作成し、ファイル名に「Bの競合ファイル」を追加することです。次に、Bの元のファイルがAアップデートに同期されます。B更新を含む競合ファイルは、クラウドに同期され、Aに戻されます。

削除、および選択的同期に起因する競合は、同様の方法で処理されます

コンピュータの1つが電源を切る前にファイルを閉じない場合にも、競合が発生します。開いているファイルでは同期は行われないため、この場合、Bの更新が同期される更新となり、Aの開いているファイルは競合として終了します。これは調和させるのに大変な苦痛になる可能性がありますが、これはDropboxの問題ではなく、私たちの責任です。

お役に立てれば。


1

この質問に答え始める部分的な情報があります。これが経験豊富なユーザーにとってどれほど役立つかはわかりませんが、私のような新しいユーザーがこのレポートを参考にすると思います。

余談ですが、これを解決すると、信じられないほど基本的な質問に公式または信頼できる回答がないことにさらに戸惑います。利用可能なドキュメントやディスカッションがないことから、Dropboxのユーザーは、Dropboxが実際に行うことはすべて、それらの状況下で期待されていたとおりに行うことに問題がないことがわかります。(つまり、ユーザーがDropboxを持っていることを具体的に期待しているとは言いません)

Dropboxの動作例:

私の例では、コンピューターAとコンピューターBの両方の電源が同時にオンになることはありません。1人のユーザーが自宅や職場で共同作業をせず、他のコンピューターに戻る前に各コンピューターの電源がオフになっているとします。

1台のコンピューターのドロップボックスフォルダーがクラウドドロップボックスフォルダーと同一でない場合はどうなりますか?わかりやすくするためにdropbox.exe、1台のコンピューターに空のドロップボックスフォルダーがある場合の反応を想像してみます。ウィルdropbox.exe(それはローカルのDropboxフォルダ内にそれらの新しいコピーを作成する手段)「期限が切れ」(それはクラウドのDropboxフォルダから削除されます手段)、または「削除」として、これらの不足しているファイルを検討してください。

  1. 動作が明らかに明らかな状況から始めます。 コンピュータAはオンで、コンピュータBはオフです。場合はdropbox.exe実行されていて、変更がAに対して行われ、その後、これらは、クラウドフォルダに伝播され、その逆はありません。したがって、現時点では、Aのフォルダーが空になると、これらの欠落ファイル/フォルダーは「削除」と見なされ、クラウドフォルダーは空になります。

  2. Bに空のドロップボックスフォルダーがあり、Aがファイルを作成してクラウドドロップボックスフォルダーに同期するとします。コンピューターBに切り替えると、dropbox.exeBの空のドロップボックスフォルダーが「古い」と解釈され、クラウドフォルダーからの新しいコピーがBに作成されます。

  3. さて、あまり明白ではありません 。Bに変更を加え、これらの変更をクラウドドロップボックスフォルダーに同期するとします。コンピューターAに切り替え、---最初に実行せずにdropbox.exe--- Aのドロップボックスフォルダー内のものを削除すると、dropbox.exeその後何が実行されますか?この状況でdropbox.exeは、欠落しているファイル/フォルダーは、クラウドドロップボックスフォルダーに伝達される新しい削除として解釈されます。

状況2と3 dropbox.exeで、電源がオンになっていて、クラウドフォルダーとは異なる新しいコンピューターで同じ「新鮮な」状態になっているのは混乱しますが、動作は異なります。

dropbox.exe動作方法を説明するルールを作成したい場合、それが3つの変数の関数であると想定できないことは明らかです。(1)現在コンピューターに表示されているもの、(2)クラウドフォルダーに表示されているもの、(3 )クラウドフォルダーと最後に同期したコンピューター。(!!!)

おそらく、余分な変数は、Dropboxが各コンピューターがクラウドフォルダーに最後に同期したものを記憶していることです。状況2では、コンピューターBが最後に同期したときに、空のフォルダーが同期したと想定します。状況3では、Dropboxは、コンピューターAが最後に同期したときに、現在フォルダー内にあるものとは異なるフォルダーを同期したことを記憶しています。


1
dropbox.exeオフラインとオンラインでディレクトリをチェックするだけではありません。最後の段落で述べたように、Dropboxはローカルおよびオンラインに保存されているすべてのファイルの記録を保持するため、同期するタイミング/内容(およびいつ/何でないか)を正確に把握できます。私を見てみましょうDropboxの-dirの中をC:\Users\<name>\AppData\Roaming\Dropbox.dbxDropboxがその情報(日付だけでなく、チェックサムなど)を保持する多くのファイルが表示されます。(これらのファイルを削除すると、DropboxはDropboxディレクトリをオンラインとオフラインで深刻に混乱させます;)
Rik

Dropboxがまったく実行されていないときに、Dropboxがどのように変更を追跡することを期待しているのかわかりません。シナリオ2では、Dropboxにファイルを追加し、S3はDropboxからファイルを消去しています。これらは2つの異なるシナリオであり、異なる動作をする必要があります。混乱の原因がわからない。Dropboxは、Dropboxをオンにしたときに、クラウドとハードドライブの内容に基づいて最善の努力をします。Dropboxを使用する最良の方法は、常にオンにしておくことです。コンピュータの電源を切る必要がある場合は、削除に注意してください。少なくともDropBoxは30日間の復元を提供します。Dropboxが悪いと思うなら、OneDriveを試してみてください。

「DropboxがオフのときにどのようにDropboxを追跡することを期待しているのか、私にはわかりません」<-S3がS2とは異なる動作をすることを期待している場合、おそらくそれを期待しています。「コンピュータの電源を切る場合は、削除に注意してください」<-Dropboxユーザーとして、これはドキュメントで確認したい警告です。あなたはそれが何をすべきか正確に述べていないので、あなたは「それは異なる振る舞いをするべきである」と言うのはとても簡単です。気になるのは、実際に何をすべきかを記述しているドキュメントが見つからなかったことです。これがまさに私が混乱した理由です。変数が何であるかを推測し、それを誤解させることを余儀なくされました!
2014年

それは実際には非常に関連性の高い質問であり、私は質問をグーグルで探すことからここに来ました。容量が足りなくなったため、私のラップトップは少なくとも1年間Dropboxと完全に同期されていません。そこで、選択的同期を使用しました。これで、HDをより大きなSSDにアップグレードしました。すべてを再度同期したいと思います。ラップトップの一部のフォルダーで多くのファイルが欠落しており、Dropboxが同期時に何をすべきかを誤って解釈するのではないかと心配です。クラウドからローカルフォルダーにファイルを追加しますか?または、クラウドから不足しているファイルを削除しますか?よくわかりません!
marlar 2016年

-2

Dropbox FAQから:

Dropboxデスクトップアプリは常にファイルの変更をチェックしますが、モバイルアプリは通常、オンデマンドでのみ同期します。これにより、Dropboxがすべての帯域幅とスペースを消費するのを防ぎます。

これはどのように行うのですか?

それも彼らのサイトで言及されています

ファイルを転送する前に、新しいファイルを以前のバージョンと比較し、変更されたファイルの一部のみを送信します。これは「バイナリ差分」と呼ばれ、どのファイルタイプでも機能します。Dropboxは、ファイルを転送する前に(データや品質を失うことなく)ファイルを圧縮します。このようにして、Dropboxがファイルを再アップロードしたり、帯域幅を浪費したりする心配もありません。


1
私は、圧縮/差分とは関係のないより基本的な質問について質問しています...ローカルファイルが新しい「最新バージョン」になる時期と、ローカルファイルが「古くなっている」かどうかをどのように知るのですか?
アイン

これは差分とは無関係ではありません。Dropbox APIは、特定のファイルが「古くなった」ときにこれらの差分を比較し、特定のファイルを同期することを決定します。これ以外に私はもっと情報を見つけることができませんでした。Dropbox自体がクローズドソースであるため、これ以上の情報は公開されていません。
Karan Raj Baruah

おそらく混乱が生じているため、私は質問を編集して、私が尋ねていることを言い換えます。また、2番目の文を解析できません。
アイン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.