In che modo la versione di Dropbox / carica file di grandi dimensioni? [chiuso]


28

Ho un account Dropbox gratuito (2 GB) e mi chiedevo come funziona il controllo delle versioni di file di grandi dimensioni.

Ho un backup completo di tutti i miei file web che siti @ poco più di 1 GB. Dopo il caricamento iniziale di 1 GB, ogni volta che si sincronizza dropbox capirà il delta del file, o dovrà caricare di nuovo tutto alla versione?

Sarebbe bello avere sempre una versione aggiornata di un file di grandi dimensioni, ma non voglio uccidere la mia larghezza di banda caricando 1 GB ogni volta.

È possibile?

Grazie,

Risposte:


36

Dropbox utilizza un algoritmo diff binario per suddividere tutti i file in blocchi e caricare solo i blocchi che non ha già nel cloud. Tutto questo è fatto localmente sul tuo computer.

Dropbox non utilizza solo i file che hai già caricato, aggrega i file di tutti in un database di blocchi e controlla ogni hash di blocco locale rispetto a quel database.

Ciò significa che se qualcun altro ha caricato lo stesso file di te stesso (ad esempio l'ultima ISO di Ubuntu), il caricamento sembrerà istantaneo in quanto non c'è nulla da caricare, ma se stai aggiornando un file che cambia regolarmente, come il tuo file di backup, quindi vengono caricate solo le modifiche. Se carichi un file totalmente unico, devi aspettare che venga caricato tutto.


4
Qualche riferimento a questo? È piuttosto interessante
STW l'

1
Il team di Dropbox ne parla ogni tanto nei forum (specialmente Arash F, anche se al giorno d'oggi sono molto impegnati).
Moo,

3
Ciò significa che caricherà solo blocchi modificati di un file crittografato (ad esempio un volume TrueCrypt)?
Will M

1
Will - sì, credo che molte persone usino TrueCrypt nelle loro cartelle Dropbox con grande successo.
Moo,

1
L'ultima parte della tua risposta non è più vera. Dopo la debacle di "Dropship", furono apportate modifiche. È probabile che vengano ancora de-duplicati internamente, ma se inserisci "windows8.iso" (che, probabilmente, almeno qualcuno ha già fatto) nella tua cartella ora, dovrai caricare ogni byte.
DanO,

10

Per quello che vale, Dropbox afferma di creare hash su ogni 4 MB di ogni file. In questo modo, se si modificano 2 MB contigui di un file da 100 MB, sarà probabilmente necessario caricare solo 4 MB (o 8 MB se si attraversa un secondo blocco da 4 MB) per risincronizzare il file.

Gli hash che utilizziamo sono solo per i blocchi di file da 4 MB

Fonte: https://blogs.dropbox.com/tech/2016/05/inside-the-magic-pocket/


non è chiaro, tuttavia, se i 4 MB siano prima o dopo la compressione e altre operazioni
Walter Tross il

2

È anche importante evidenziare che non carica l'intero file in una sola volta quando lo si modifica. Ad esempio, se hai un file unico con una ponderazione di 2 GB, diciamo per un'unità disco crittografata che hai (come quando usi truecrypt o pgpdisk) e cambi solo un paio di file all'interno del disco crittografato, dropbox caricherà solo i blocchi che è effettivamente cambiato. Quindi, ad esempio, se carichi il tuo file pgpdisk con 2GB su dropbox e poi cambi solo diciamo 100 MB di questo 2GB, dropbox sarà abbastanza intelligente da rilevare e aggiornare solo ciò che è cambiato . Quindi non sprecare la larghezza di banda di upload che carica cose che sono già lì.

Un'altra caratteristica su cui ho visto il team di Dropbox sta lavorando è creare Dropbox per rilevare altre istanze di Dropbox in esecuzione sulla rete locale e sincronizzare le informazioni tra di loro. Ad esempio, hai un laptop e un desktop ed entrambi hanno lo stesso account dropbox e aggiorni i tuoi file sul desktop - e il desktop si sincronizza immediatamente con il "cloud" - quando colleghi il laptop, invece di andare a il cloud, dropbox scaricherà invece il diff direttamente dal tuo computer desktop e non sprecherà la larghezza di banda del download. Questo deve ancora venire - ma sarà una caratteristica dolce!


1
Nel fine settimana hanno rilasciato una build sperimentale con funzionalità di sincronizzazione peer to peer.
Moo,

1
Ora è una funzione stabile.
Wiliam,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.