Jak wersja Dropbox / przesyła duże pliki? [Zamknięte]


28

Mam bezpłatne konto Dropbox (2 GB) i zastanawiałem się, jak działa wersja dużych plików.

Mam pełną kopię zapasową wszystkich moich plików internetowych, które witryny @ nieco ponad 1 GB. Po początkowym przesłaniu 1 GB, za każdym razem, gdy się zsynchronizuje, dropbox obliczy deltę pliku, czy będzie musiał ponownie przesłać całą rzecz, aby ją zaktualizować?

Byłoby fajnie mieć zawsze aktualną wersję dużego pliku, ale nie chcę zabijać mojej przepustowości przesyłając 1 GB za każdym razem.

czy to możliwe?

Dzięki,

Odpowiedzi:


36

Dropbox używa algorytmu binarnego mechanizmu różnicowego, aby rozbić wszystkie pliki na bloki i przesyłać tylko te bloki, których jeszcze nie ma w chmurze. Wszystko to odbywa się lokalnie na twoim komputerze.

Dropbox nie tylko korzysta z plików, które już przesłałeś, ale łączy wszystkie pliki w jedną bazę bloków i sprawdza hash każdego bloku lokalnego względem tej bazy danych.

Oznacza to, że jeśli ktoś inny przesłał ten sam plik co ty (np. Najnowszy system Ubuntu ISO), wówczas przesyłanie będzie wydawać się natychmiastowe, ponieważ nie ma nic do przesłania, ale jeśli aktualizujesz plik, który zmienia się regularnie, np. plik kopii zapasowej, wtedy tylko zmiany zostaną przesłane. Jeśli prześlesz całkowicie unikalny plik, musisz poczekać, aż wszystko się prześle.


4
Wszelkie odniesienia do tego? To dość interesujące
STW,

1
Zespół Dropbox od czasu do czasu rozmawia o tym na forach (szczególnie Arash F, chociaż są obecnie bardzo zajęci).
Moo

3
Czy to oznacza, że ​​przesyła tylko zmienione bloki zaszyfrowanego pliku (np. Wolumin TrueCrypt)?
Czy M

1
Czy - tak, wierzę, że wiele osób z dużym powodzeniem korzysta z TrueCrypt w swoich folderach Dropbox.
Moo

1
Ostatnia część odpowiedzi nie jest już prawdą. Po klęsce „Dropship” dokonano zmian. Prawdopodobnie nadal wewnętrznie usuwają duplikaty, ale jeśli umieścisz w swoim folderze plik „windows8.iso” (który, co najmniej ktoś już zrobił), będziesz musiał przesłać każdy bajt.
DanO,

10

Jeśli chodzi o wartość, Dropbox twierdzi, że tworzy skróty na każdym 4 MB każdego pliku. W ten sposób, jeśli zmienisz ciągły 2 MB pliku 100 MB, prawdopodobnie będziesz musiał przesłać tylko 4 MB (lub 8 MB, jeśli przejdziesz do drugiego bloku 4 MB), aby ponownie zsynchronizować plik.

Skróty, których używamy, dotyczą tylko fragmentów plików 4 MB

Źródło: https://blogs.dropbox.com/tech/2016/05/inside-the-magic-pocket/


nie jest jednak jasne, czy 4 MB są przed kompresją czy po kompresji i innych operacjach
Walter Tross

2

Ważne jest również podkreślenie, że nie zmienia on całego pliku na raz, gdy go zmienisz. Na przykład, jeśli masz unikalny plik o wadze 2 GB, powiedzmy, że w przypadku zaszyfrowanego dysku (np. Gdy korzystasz z truecrypt lub pgpdisk) zmienisz tylko kilka plików na zaszyfrowanym dysku, Dropbox prześle tylko bloki to skutecznie się zmieniło. Na przykład, jeśli prześlesz plik pgpdisk z 2 GB do Dropbox, a następnie zmienisz, powiedzmy 100 MB tego 2 GB, Dropbox będzie wystarczająco inteligentny, aby wykryć i zaktualizować tylko to, co się zmieniło . Dzięki temu nie marnujesz przepustowości na przesyłanie materiałów, które już tam są.

Inną funkcją, nad którą widziałem zespół Dropbox, jest sprawienie, aby Dropbox wykrywał kolejne przypadki działania Dropbox w sieci lokalnej i synchronizował informacje między nimi. Na przykład masz laptopa i komputer stacjonarny, i oba mają to samo konto Dropbox, i aktualizujesz swoje pliki na pulpicie - a pulpit natychmiast synchronizuje się z „chmurą” - po podłączeniu laptopa, zamiast przejść do chmura, dropbox zamiast tego pobierze różnicę bezpośrednio z komputera stacjonarnego i nie marnuje przepustowości pobierania. To dopiero nadejdzie - ale będzie to słodka funkcja!


1
W weekend wypuścili eksperymentalną wersję z funkcją synchronizacji peer-to-peer.
Moo

1
Teraz jest to stabilna funkcja.
Wiliam
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.