Як працює версія версії для завантаження / завантаження великих файлів? [зачинено]


28

У мене є безкоштовний акаунт для папки (2 Гб), і мені було цікаво, як працює версія версій великих файлів.

У мене є повна резервна копія всіх моїх веб-файлів, на сайтах яких є трохи більше 1 ГБ. Після первинного завантаження 1 Гб, кожен раз, коли він синхронізується, з'ясовуватиметься дельта файлу, чи доведеться знову завантажувати все для його версії?

Було б здорово завжди мати актуальну версію великого файлу, але я не хочу щоразу вбивати пропускну здатність, завантажуючи 1 Гб.

Чи можливо це?

Спасибі,

Відповіді:


36

Dropbox використовує алгоритм бінарного розбиття, щоб розділити всі файли на блоки та завантажувати лише ті блоки, яких у хмарі ще немає. Все це робиться локально на вашому комп’ютері.

Dropbox не просто використовує ваші файли, які ви вже завантажили, він об'єднує файли всіх людей в одну базу даних блоків і перевіряє кожен локальний хеш блоку щодо цієї бази даних.

Це означає, що якщо хтось інший завантажив той самий файл, що і ви (скажімо, наприклад, останню версію ISO Ubuntu), завантаження здасться миттєвим, оскільки нічого не потрібно завантажувати, але якщо ви оновлюєте файл, який регулярно змінюється, наприклад ваш файл резервної копії, тоді завантажуються лише зміни. Якщо ви завантажуєте абсолютно унікальний файл, тоді вам доведеться почекати, поки він все завантажиться.


4
Будь-які посилання на це? Це досить цікаво
STW

1
Команда Dropbox раз у раз розмовляє про це на форумах (особливо Arash F, хоча в наші дні вони дуже зайняті).
Moo

3
Чи означає це, що він також завантажуватиме лише змінені блоки зашифрованого файлу (наприклад, том TrueCrypt)?
Буде М

1
Буде - так, я вважаю, що досить багато людей користуються TrueCrypt у своїх папках Dropbox з великим успіхом.
Moo

1
Остання частина відповіді ви більше не відповідає дійсності. Після дебале "Dropship" було внесено зміни. Цілком ймовірно, що вони все ще знімаються всередині, але якщо ви помістите "windows8.iso" (що, шанси, принаймні хтось уже зробив) у свою папку, вам доведеться завантажувати кожен байт.
DanO

10

Що для цього варто, Dropbox стверджує, що створює хеші на кожні 4 Мб кожного файлу. Таким чином, якщо ви зміните суміжний 2 Мб файлу 100 МБ, ймовірно, потрібно буде завантажити лише 4 МБ (або 8 МБ, якщо ви перейдете на другий блок 4 МБ), щоб повторно синхронізувати файл.

Хеші, які ми використовуємо, призначені лише для фрагментів файлів 4 МБ

Джерело: https://blogs.dropbox.com/tech/2016/05/inside-the-magic-pocket/


не ясно, однак чи 4 Мб до або після стиснення та інших операцій
Вальтер Трос

2

Також важливо підкреслити, що він не завантажує весь файл відразу, коли ви його зміните. Наприклад, якщо у вас є унікальний файл вагою 2 Гб, скажімо, для зашифрованого дискового накопичувача, який ви тримаєте (як, наприклад, при використанні truecrypt або pgpdisk), і ви змінюєте лише пару файлів всередині зашифрованого диска, випадна скрипка завантажуватиме лише блоки що фактично змінилося. Так, наприклад, якщо ви завантажите файл pgpdisk з 2 Гб в папку, а потім зміните, скажімо, 100 Мб цього 2 ГБ, то папка буде досить розумною, щоб виявити та оновити лише те, що змінилося . Таким чином, ви не витрачаєте на пропускну здатність завантаження речі, які вже є.

Ще одна особливість, над якою я бачив, як працює команда dropbox, - це зробити dropbox для виявлення інших примірників, що працюють у вашій локальній мережі, і синхронізувати інформацію між ними. Наприклад, у вас ноутбук і настільний комп’ютер, і обидва мають однаковий обліковий запис, і ви оновлюєте свої файли на робочому столі - і робочий стіл миттєво синхронізується з "хмарою" - коли ви підключаєте ноутбук, а не збираєтесь хмара, dropbox замість цього завантажуватиме diff безпосередньо з настільного комп’ютера, і не витрачає на пропускну здатність завантаження. Це ще належить - але буде приємною особливістю!


1
Вони випустили експериментальну збірку із можливостями синхронізації з одноранговими до однолітків протягом вихідних.
Moo

1
Зараз це стабільна особливість.
Віліам
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.