Как синхронизировать яндекс диск с компьютером

Обновлено: 07.07.2024




Дополнительная информация, рекомендации

При размещении файлов в облачных хранилищах и последующем удалении файлов с компьютера в обязательном порядке предварительно необходимо отключать синхронизацию, а сберегаемые файлы дублировать в хранилищах других компаний. Конечно, это довольно хлопотно, но обеспечит надежное сохранение ваших файлов.

Иценко Александр Иванович

Статьи по схожей тематике: 1. Как бесплатно увеличить объем жесткого диска.

Возможность синхронизировать все свои данные между устройствами – сегодня это наиболее востребованная функция во всех браузерах, социальных сетях и прочих сервисов, где все держится вокруг аккаунта пользователя. Получить доступ к данным возможно только при знании личной информации пользователя, которая необходима для входа в аккаунт.


Как настраивать синхронизацию Яндекс Браузера

Чтобы узнать как включить и настроить синхронизацию, для начала разобраться, зачем она нужна. С помощью синхронизации вы сможете:

  • Синхронизировать закладки, историю, пароли, формы автозаполнения и настройки браузера;
  • Заходить и смотреть закладки и вкладки на любых устройствах;
  • Если устройство внезапно выключится, данные не потеряются, так как они уже хранятся на серверах разработчиков;
  • Совершать звонки с телефона на номера, которые вы ранее нашли в интернете.

Способ включения синхронизации всего лишь один, а вот вариантов как ее настраивать – несколько. Поэтому сегодня рассмотрим именно их.

Вариант 1: Включение синхронизации

Чтобы данная функция Яндекс Браузера была работоспособна, необходимо проделать следующие действия:

Вариант 2: Изменение пунктов синхронизации

Эта возможность также покажет вам, какая информация передается на подключенные устройства, а какая – нет. Следуйте следующему короткому порядку действий:

Система выведет на экран список опций, которые возможно синхронизировать между устройствами. Вам остается лишь выбрать необходимые.

Вариант 3: Удаление данных и отключение возможности синхронизации

Я пробовал работать с облачными дисками:

Всеми ими (кроме Mega и OneDrive) пользуюсь и сейчас. Иногда.

Но лидер по удобству и постоянный мой помощник, это Яндекс.Диск.

Что представляет собой облачный сервис Яндекс.Диск?

Объясню совсем просто.

Где-то в другой галактике там, в другом городе, далеко, есть принадлежащее Яндексу здание. В нем устроены комнаты для мощных серверов, которые хранят терабайты данных.

На каком-то сервере выделяется место и под ваши файлы. Для этого нужно только завести себе аккаунт в Яндексе. Ну, проще говоря, почтовый ящик.

как работает яндекс.диск

Первое преимущество Яндекс.Диска — все элементы управления абсолютно логичны. Не нужно никаких инструкций. Всё понятно с первого взгляда.

Второе преимущество — достаточный для большинства нужд бесплатный объем под хранение файлов. Сразу дают 10 Гб. За приглашения друзей еще 10 Гб. За включение опции автозагрузки фото с мобильного телефона — еще 32 Гб. Итого можно без трудов подключить 42 Гб, а если с приглашениями, то 52 Гб.

Да, есть облака, где сразу дают 100 Гб бесплатно, но они уступают в удобстве Яндекс.Диску.

Как сделать автозагрузку фото из смартфона в облако Яндекс.Диска

Ставите на свой смартфон Яндекс.Диск из Google Play.

На смартфоне он выглядит вот так —

Безлимит для фото я не включаю, потому что тогда фото не будут синхронизироваться с десктопным Яндекс.Диском.

Далее заходим в настройки —

И вот тут выбираем, как будем Автозагружать на облачный Яндекс.Диск фото — только по Wi-Fi, по Wi-Fi+мобильному трафику.

У меня тариф на мобиле с безлимитным интернетом, поэтому вообще насчет Wi-Fi не беспокоюсь. Ставлю «По любой сети».

Если у вас на мобиле интернет лимитированный, то ставьте «Загружать только по Wi-Fi»

Итак, выбрали Автозагрузку — Яндекс увеличит вам бесплатный объем на 32 Гб.

Ставим Яндекс.Диск десктоп

Ставьте обязательно. Исключительно удобная штука. Тогда у вас на компьютере будет локальная копия всех файлов, которые хранятся в облачном Яндекс.Диске. А также все фото и видео с телефона.

Яндекс.Диск десктоп

Инсталлируйте, следуя указаниям программы-установщика.

У вас на Панели задач Windows появится вот такой значок —

Кликайте по нему и настройте ваш Яндекс.Диск десктоп —

как работает яндекс.диск десктоп
как работает яндекс.диск десктоп
как работает яндекс.диск десктоп

Обратите внимание на эту настройку —

как работает яндекс.диск десктоп

Я не ставлю безлимитную автозагрузку только потому, что тогда не будет синхронизации фото между мобилой и десктопом. Для меня это важно. Так более удобно, когда щелкнул смартом фото и знаешь, что через несколько минут оно уже на твоем компьютере.

На компьютере у вас появится папка Яндекс.Диска. Она по умолчанию на диске С, но ее можно без проблем перенести на другой диск. Так удобнее, когда у вас на компьютере физический диск разбит на 2 виртуальных. Например С и D. Или если у вас на компьютере 2 физических диска. На диск С ставят систему и программы, а на втором диске хранятся данные. Грамотно будет поставить первым диском твердотельный SSD. У него скорость примерно в 10 раз выше, чем у HDD диска. А вторым диском как раз ставим HDD. Он медленнее, но зато долговечнее и лучше подходит для хранения данных. В целом же, при таком «тандеме», скорость загрузки Windows и работы программ увеличивается в разы.

Перенос папки Яндекс.Диска с С на D делается на этой вкладке Настроек Яндекс.Диска десктоп —

как работает яндекс.диск десктоп

Еще одно преимущество десктопного Яндекс.Диска — вы можете работать в группе. То есть поставили себе Яндекс.Диск на десктоп. И ваш сотрудник/коллега тоже. Далее на облачном Яндекс.Диске делаете общими нужные папки. Для этого просто в облаке кликаете на нужной папке правой кнопкой мыши и далее Настроить доступ. Далее там всё будет интуитивно понятно, как делать.

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

Теперь если вы внести изменение в какой-то файл в этой папке, то этот же файл изменится в этой же папке у вашего коллеги. И наоборот.

Правила синхронизации на Яндекс.Диске. Как, что и где сохраняется и удаляется

Итак, если вы сделали всё, что я написал, то у вас:

  1. На Яндексе есть доступ к вашему облачному Яндекс.Диску
  2. На смартфоне установлен мобильный Яндекс.Диск
  3. На компьютере установлен Яндекс.Диск десктоп

Теперь если вы на смартфоне сделали фото, то оно автоматически копируется в облако и на компьютер. Также вы его наблюдаете в мобильном Яндекс.Диске.

работа синхронизации яндекс.диска

Если вы удалили фото с телефона (то есть из галереи, из той папки где хранятся фотки на телефоне), то это фото НЕ удаляется из облака, десктопа и его видно в мобильном Яндекс.Диске.

То есть если вы случайно удалили фото с телефона или просто потеряли телефон, или утопили его, или хряснули о пол, или телефон украли, то про фото можно не беспокоиться. Они лежат в облаке Яндекс.Диска и на вашем компьютере. Целые и невредимые.

Это же верно и в обратную сторону. То есть если вы удалили фото с папки в облаке Яндекс.Диска, то оно НЕ удаляется из галереи в телефоне.

То есть синхронизация с телефоном идет только в одну сторону — из телефона в облако. В обратную сторону — из облака в галерею телефона синхронизации нет. То есть, если вы загрузили в папку Фотокамера на облаке какое-то фото/видео, то оно НЕ появится в телефоне в галерее.

Важно! Всё то же самое, о чём я тут говорю про фото, происходит и с видео. Абсолютно.

Яндекс Диск – это популярное облачное хранилище, у которого есть своё приложение для компьютеров. С помощью последнего вы можете быстро передавать данные с компьютера прямо на виртуальный диск, работать с файлами, которые загружены на диске. Однако, чтобы всё это функционировало нормально, нужно настроить синхронизацию. С помощью синхронизации действия, которые вы произвели над файлом на своём компьютере, автоматически применяются к этому же файлу в облаке и наоборот.


Как происходит синхронизация в Яндекс Диске

Синхронизация приложения Яндекс Диска и облачного сервиса уже настроена в автоматическом режиме. За ходом процесс можно следить в системном трее. Напротив иконки приложения Яндекс Диска должен быть один из значков:

  • Зелёная иконка с галочкой – все файлы синхронизированы;
  • Синяя иконка со стрелками – синхронизация в процессе;
  • Красный крест – в процесс синхронизации произошла ошибка.

Аналогичные иконки вы можете видеть напротив файлов, которые расположены в директории Яндекс Диска на компьютере.

Если вам требуется забросить на Диск какой-либо большой файл, старая версия которого уже там есть, то вы можете заметить, что этот файл загрузился за пару секунд. Дело в том, что в таком случае на Диск загружается не весь файл полностью, а только те фрагменты, которые были изменены пользователем.

Однако синхронизация требует на системном диске, где по умолчанию ставится директория Яндекс Диска, наличие свободного места. Чтобы уменьшить требования к свободному месту на локальном жёстком диске рекомендуется отключить синхронизацию для некоторых папок. В таком случае данная папка будет автоматически удалена с директории, расположенной на компьютере, но при этом останется доступной в веб-интерфейсе Яндекс Диска. Синхронизация отключается следующим образом:

    В трее нажмите на иконку Яндекс Диска. Из контекстного меню вам нужно выбрать вариант «Настройки».



При необходимости вы можете отключить вообще всякую синхронизацию с Яндекс Диском. Для этого нажмите на иконку Яндекс Диска в трее и нажмите на кнопку паузы, которая обозначена подписью «Выключить синхронизацию».

С помощью функции синхронизации данных на Яндекс Диске вы можете вносить изменения в определённый документ на компьютере, но при этом эти же изменения будут импортироваться в облако. Благодаря этому вы сможете получить доступ к изменённому файлу с любого устройства, которое подключено к вашему аккаунту Яндекса.

Яндекс.Диск — один из немногих сервисов Яндекса, частью которого является программное обеспечение для десктопа. И одна из самых важных его составляющих — алгоритм синхронизации локальных файлов с их копией в облаке. Недавно нам пришлось его полностью поменять. Если старая версия с трудом переваривала даже несколько десятков тысяч файлов и к тому же не достаточно быстро реагировала на некоторые «сложные» действия пользователя, то новая, используя те же ресурсы, справляется с сотнями тысяч файлов.

В этом посте я расскажу, почему так получилось: чего мы не смогли предвидеть, когда придумывали первую версию ПО Яндекс.Диска, и как создавали новую.


Прежде всего, о самой задаче синхронизации. Технически говоря, она состоит в том, чтобы в папке Яндекс.Диска на компьютере пользователя и в облаке был один и тот же набор файлов. То есть такие действия пользователя, как переименование, удаление, копирование, добавление и изменение файлов, должны синхронизироваться с облаком автоматически.

Почему это не так просто, как кажется на первый взгляд?

Теоретически задача может показаться достаточно простой, но в реальности мы сталкиваемся с разными сложными ситуациями. Например, человек переименовал папку на своем компьютере, мы это детектировали и послали команду на бекенд. Однако никто из пользователей не ждет, пока бекенд подтвердит успешность переименования. Человек сразу открывает свою локально переименованную папку, создает в ней подпапку, и, к примеру, переносит в нее часть файлов. Мы попали в ситуацию, в которой невозможно сразу выполнить все необходимые операции синхронизации в облаке. Сначала надо дождаться завершения первой операции и только потом можно продолжать.

Ситуация может стать еще сложнее, если с одним аккаунтом одновременно работают несколько пользователей или у них есть общая папка. А это случается достаточно часто в организациях, использующих Яндекс.Диск. Представьте себе, что в предыдущем примере в тот момент, когда мы получили от бекенда подтверждение первого переименования, другой пользователь берет и переименовывает эту папку еще раз. В этом случае опять нельзя сразу выполнить действия, которые уже совершил первый пользователь у себя на компьютере. Папка, в которой он работал локально, на бекенде в это время уже называется по-другому.

Бывают случаи, когда файл на компьютере пользователя нельзя назвать так же, как он называется в облаке. Это может произойти, если в имени есть символ, который не может использоваться локальной файловой системой, или в том случае, когда пользователя приглашают в общую папку, а у него есть своя папка с таким именем. В таких случаях нам приходится использовать локальные псевдонимы и отслеживать их связь с объектами в облаке.

Прошлая версия алгоритма

В прошлой версии десктопного ПО Яндекс.Диска для поиска изменений использовался алгоритм сравнения деревьев. Любое другое решение на тот момент не позволяло реализовать поиск перемещений и переименований, так как бэкэнд не имел уникальных идентификаторов объектов.

В этой версии алгоритма мы использовали три основных дерева: локальное (Local Index), облачное (Remote Index) и последнее синхронизированное (Stable Index). Кроме этого, чтобы предотвратить повторную генерацию уже поставленных в очередь операций синхронизации, использовались ещё два вспомогательных дерева: локальное ожидаемое и облачное ожидаемое (Expected Remote Index и Expected Local Index). В этих вспомогательных деревьях хранилось ожидаемое состояние локальной файловой системы и облака, после выполнения всех операций синхронизации, которые уже поставлены в очередь.


Процедура сравнения деревьев в старом алгоритме выглядела следующим образом:

  1. Если локальное ожидаемое дерево и облачное ожидаемое дерево пусты, инициализируем их, копируя последнее синхронизированное дерево;
  2. Сравниваем локальное дерево с облачным ожидаемым и по результатам сравнения отдельных узлов добавляем в очередь операции синхронизации в облаке (создание коллекций, передача файлов в облако, перемещение и удаление в облаке);
  3. Для всех операций, которые поставлены в очередь на предыдущем шаге, фиксируем их будущий эффект в ожидаемом облачном дереве;
  4. Сравниваем облачное дерево с локальным ожидаемым и по результатам сравнения отдельных узлов добавляем в очередь операции синхронизации с локальной файловой системой (создание директорий, скачивание файлов из облака, перемещение и удаление локальных файлов и директорий);
  5. Для всех операций, которые поставлены в очередь на предыдущем шаге, фиксируем их будущий эффект в ожидаемом локальном дереве;
  6. Если в очередь попадают одновременные операции с одним и тем же файлом или директорией (например, передача файла в облако и скачивание этого же файла из облака), то фиксируем конфликт — файл изменился в двух местах;
  7. После того, как операция синхронизации выполнена в облаке или с локальной файловой системой, заносим её результат в последнее синхронизированное дерево;
  8. Когда очередь операций синхронизации становится пустой, удаляем локальное ожидаемое и облачное ожидаемое дерево. Синхронизация закончена, и они нам больше не понадобятся.

Почему нам пришлось придумывать новый алгоритм

Главными проблемами алгоритма сравнения деревьев стали большое потребление памяти и необходимость сравнения деревьев целиком даже при небольших изменениях, что приводило к большой нагрузке на процессор. Во время обработки изменений даже одного файла использование оперативной памяти возрастало примерно на 35%. Допустим, у пользователя было 20 000 файлов. Тогда при простом переименовании одного файла размером 10Кб потребление памяти вырастало скачкообразно — со 116Мб до 167МБ.

Также мы хотели увеличить максимальное количество файлов, с которым без проблем может работать пользователь. Несколько десятков и даже сотен тысяч файлов может оказаться, к примеру, у фотографа, который хранит в Яндекс.Диске результаты фотосессий. Эта задача стала особенно актуальной, когда у людей появилась возможность купить дополнительное место на Яндекс.Диске.

В разработке тоже хотелось кое-что поменять. Отладка старой версии вызывала трудности, так как данные о состояниях одного элемента находились в разных деревьях.

К этому времени на бекенде появились id объектов, с помощью которых можно было более эффективно решить задачу обнаружения перемещений — ранее мы использовали пути.

Новый алгоритм


Мы решили изменить структуру хранения данных и заменить три дерева (Local Index, Remote Index, Stable Index) на одно, что должно было привести к снижению избыточности в главной структуре данных. Из-за того что ключом в дереве является путь к элементу файловой системы, в результате объединения значительно сократился объем используемой оперативной памяти.


Еще мы отказались от использования вспомогательных деревьев во время синхронизации, потому что каждый элемент дерева в новой версии хранит все нужные данные. Это изменение структуры сильно упростило отладку кода.

Так как мы понимали, что это серьезное изменение, то создали прототип, подтвердивший эффективность нового решения. Рассмотрим на примере, как меняются данные в дереве во время синхронизации нового файла.

  1. После того как пользователь добавил в папку Диска новый файл, программа обнаружила его и добавила в дерево новый элемент. У этого элемента известно только одно состояние – local. Так как stable и remote состояния отсутствуют, память под них не выделяется;
  2. Программа выполняет upload файла. Из облака приходит push, подтверждающий появление нового файла, и в дерево добавляется remote состояние;
  3. Состояния local и remote сравниваются. Так как они совпадают, добавляется stable состояние;
  4. Состояния local и remote удаляются. Они больше не нужны, так как вся информация есть в stable.


На этом примере видно, что в новом алгоритме синхронизации обрабатываются только те элементы и события, данные об изменениях в которых были получены от файловой системы или облака, а не всё дерево целиком, как это было ранее. При необходимости будут обработаны родительские или дочерние узлы (например, в случае перемещения папки).

Другие улучшения

В новой версии мы поработали и над другими улучшениями, повлиявшими на производительность. Сохранение дерева сделали инкрементальным, что позволяет записывать в файл только последние изменения.

Яндекс.Диск использует дайджесты sha256 и MD5 для проверки целостности файлов, обнаружения изменившихся фрагментов и дедупликации файлов на бекенде. Так как эта задача сильно нагружает CPU, в новой версии реализация расчетов дайджеста была существенно оптимизирована. Скорость получения дайджеста файла увеличена примерно в два раза.

Цифры


Синхронизация уникальных 20000 файлов по 10Кб
Версия ПО Загрузка на CPU.
Расчет дайджестов
Нагрузка на CPU
upload
Использование оперативной памяти, Мб
Яндекс.Диск 1.3.3 28% (1 ядро 100%) Примерно 1% 102
Яндекс.Диск 1.2.7 48% (2 ядра 100%) Примерно 10% 368

Вычисление дайджестов уникальных 20000 файлов по 10кб (индексация)
Версия ПО Нагрузка на CPU Время, сек Использование оперативной памяти, Мб
Яндекс.Диск 1.3.3 25% (1 ядро 100%) 190 82
Яндекс.Диск 1.2.7 50% (2 ядра 100%) 200 245

Запуск с 20000 синхронизированных файлов по 10Кб
Версия ПО Нагрузка на CPU Время, сек Использование оперативной памяти, Мб
Яндекс.Диск 1.3.3 25% (1 ядро 100%) 10 55
Яндекс.Диск 1.2.7 50% (2 ядра 100%) 22 125

Upload 1Gb. Соединение Wi-Fi 10 МБит
Версия ПО Нагрузка на CPU Время, сек
Яндекс.Диск 1.3.3 5% 1106
Яндекс.Диск 1.2.7 5% 2530

Что получилось

Из примеров видно, что новая версия ПО Яндекс.Диска использует примерно в 3 раза меньше оперативной памяти и примерно в 2 раза меньше нагружает CPU. Обработка мелких изменений не приводит к увеличению объема используемой памяти.

В результате проделанных изменений существенно увеличилось количество файлов, с которым без проблем справляется программа. В версии для Windows – 300 000, а на Mac OS X — 900 000 файлов.

Читайте также: