web-dev-qa-db-ja.com

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

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

言い換えると:

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

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

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

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

10
Ein

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

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

Dropboxの動作例:

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

1台のコンピューターのドロップボックスフォルダーがクラウドドロップボックスフォルダーと同一でない場合はどうなりますか?明確にするために、1台のコンピューターにドロップボックスフォルダーがある場合のdropbox.exeの反応を想像することをお勧めします。 dropbox.exeは、これらの欠落ファイルを「削除」(クラウドドロップボックスフォルダーから削除することを意味します)または「古い」(ローカルドロップボックスフォルダー内にそれらの新しいコピーを作成することを意味します)と見なします。

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

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

  3. あまり目立たないように: Bにいくつかの変更を加え、これらの変更をクラウドドロップボックスフォルダーに同期するとします。コンピューターAに切り替えて---最初にdropbox.exeを実行せずに--- Aのドロップボックスフォルダー内のものを削除した場合、後でdropbox.exeを実行するとどうなりますか?この状況では、dropbox.exeは、欠落しているファイル/フォルダーを、クラウドドロップボックスフォルダーに伝達する必要がある新しい削除と解釈します。

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

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

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

1
Ein

私はこれの専門性を知りませんが、私と私のアシスタントは、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の問題ではなく、私たちの責任です。

お役に立てれば。

5
Margie