Как сделать синхронизацию папки с яндекс диском
Яндекс.Диск – это хранилище для файлов (облако) от компании Яндекс. Получить его может любой желающий после регистрации. Бесплатно выделяется 10 ГБ места. Навсегда!
На заметку . Облачное хранилище – это современный файлообменник. Информация там хранится не в одном каком-то месте, а на множестве небольших серверов, которые находятся в разных концах земного шара. Главное достоинство – крайне низкая вероятность потери данных.
Облако — это удобно, ведь для доступа к сохраненной информации нужно просто иметь интернет. Это позволяет легко получать и передавать разные файлы, в том числе и большого размера.
Основы облачных вычислений
Можно поделиться любым файлом или папкой на компьютере. Если выбрать файл или папку, которые еще не загружены на Диск, программа автоматически загрузит их на сервер в корневую папку Диска и скопирует публичную ссылку в буфер обмена.
Можно поделиться файлом или папкой через меню программы. Необходимо нажать значок Диска в трее (области уведомлений) и выбрать пункт меню Общий доступ → Выбрать файл или папку и получить публичную ссылку (рис. 4.26).
Откроется диалоговое окно, в котором можно выбрать любой файл или папку на компьютере. Скопированную ссылку можно вставить в письмо, разместить в социальной сети и т.д.
Открытие доступа к папке
Программа откроет в браузере страницу настройки доступа. На этой странице можно выбрать знакомых, которым нужно открыть доступ, и определить их права.
Для экономии места на компьютере можно отключить синхронизацию одной или нескольких папок с сервером Яндекс.Диска. Эти папки будут удалены с компьютера, но останутся доступными на странице сервиса и в других приложениях Яндекс.Диска.
Управление синхронизацией доступно только для папок, расположенных непосредственно в папке Диска. Например, можно изменить настройки синхронизации для папки Яндекс.Диск/Музыка, но не для вложенной папки Яндекс.Диск/Музыка/Избранное.
Чтобы отключить синхронизацию папки необходимо выполнить следующие действия (рис. 4.28):
Синхронизацию папки также можно отключить через контекстное меню. Нужно открыть папку Яндекс.Диска и нажать на нужной папке правой кнопкой мыши. В появившемся меню выбрать пункт Яндекс.Диск → Отключить синхронизацию папки (рис. 4.29).
Загрузка файлов в папку с отключенной синхронизацией
Настройка автозагрузки фото и видео
Загрузка файлов
Необходимо подключить устройство к компьютеру и дождаться появления диалогового окна с предложением автозагрузки (рис. 4.31).
Отключение автозагрузки
Для отключения автозагрузки фото- и видеофайлов для всех устройств необходимо выполнить следующие действия (рис. 4.33):
В этом посте я расскажу, почему так получилось: чего мы не смогли предвидеть, когда придумывали первую версию ПО Яндекс.Диска, и как создавали новую.
Прежде всего, о самой задаче синхронизации. Технически говоря, она состоит в том, чтобы в папке Яндекс.Диска на компьютере пользователя и в облаке был один и тот же набор файлов. То есть такие действия пользователя, как переименование, удаление, копирование, добавление и изменение файлов, должны синхронизироваться с облаком автоматически.
Почему это не так просто, как кажется на первый взгляд?
Теоретически задача может показаться достаточно простой, но в реальности мы сталкиваемся с разными сложными ситуациями. Например, человек переименовал папку на своем компьютере, мы это детектировали и послали команду на бекенд. Однако никто из пользователей не ждет, пока бекенд подтвердит успешность переименования. Человек сразу открывает свою локально переименованную папку, создает в ней подпапку, и, к примеру, переносит в нее часть файлов. Мы попали в ситуацию, в которой невозможно сразу выполнить все необходимые операции синхронизации в облаке. Сначала надо дождаться завершения первой операции и только потом можно продолжать.
Ситуация может стать еще сложнее, если с одним аккаунтом одновременно работают несколько пользователей или у них есть общая папка. А это случается достаточно часто в организациях, использующих Яндекс.Диск. Представьте себе, что в предыдущем примере в тот момент, когда мы получили от бекенда подтверждение первого переименования, другой пользователь берет и переименовывает эту папку еще раз. В этом случае опять нельзя сразу выполнить действия, которые уже совершил первый пользователь у себя на компьютере. Папка, в которой он работал локально, на бекенде в это время уже называется по-другому.
Бывают случаи, когда файл на компьютере пользователя нельзя назвать так же, как он называется в облаке. Это может произойти, если в имени есть символ, который не может использоваться локальной файловой системой, или в том случае, когда пользователя приглашают в общую папку, а у него есть своя папка с таким именем. В таких случаях нам приходится использовать локальные псевдонимы и отслеживать их связь с объектами в облаке.
Прошлая версия алгоритма
В прошлой версии десктопного ПО Яндекс.Диска для поиска изменений использовался алгоритм сравнения деревьев. Любое другое решение на тот момент не позволяло реализовать поиск перемещений и переименований, так как бэкэнд не имел уникальных идентификаторов объектов.
В этой версии алгоритма мы использовали три основных дерева: локальное (Local Index), облачное (Remote Index) и последнее синхронизированное (Stable Index). Кроме этого, чтобы предотвратить повторную генерацию уже поставленных в очередь операций синхронизации, использовались ещё два вспомогательных дерева: локальное ожидаемое и облачное ожидаемое (Expected Remote Index и Expected Local Index). В этих вспомогательных деревьях хранилось ожидаемое состояние локальной файловой системы и облака, после выполнения всех операций синхронизации, которые уже поставлены в очередь.
Процедура сравнения деревьев в старом алгоритме выглядела следующим образом:
- Если локальное ожидаемое дерево и облачное ожидаемое дерево пусты, инициализируем их, копируя последнее синхронизированное дерево;
- Сравниваем локальное дерево с облачным ожидаемым и по результатам сравнения отдельных узлов добавляем в очередь операции синхронизации в облаке (создание коллекций, передача файлов в облако, перемещение и удаление в облаке);
- Для всех операций, которые поставлены в очередь на предыдущем шаге, фиксируем их будущий эффект в ожидаемом облачном дереве;
- Сравниваем облачное дерево с локальным ожидаемым и по результатам сравнения отдельных узлов добавляем в очередь операции синхронизации с локальной файловой системой (создание директорий, скачивание файлов из облака, перемещение и удаление локальных файлов и директорий);
- Для всех операций, которые поставлены в очередь на предыдущем шаге, фиксируем их будущий эффект в ожидаемом локальном дереве;
- Если в очередь попадают одновременные операции с одним и тем же файлом или директорией (например, передача файла в облако и скачивание этого же файла из облака), то фиксируем конфликт — файл изменился в двух местах;
- После того, как операция синхронизации выполнена в облаке или с локальной файловой системой, заносим её результат в последнее синхронизированное дерево;
- Когда очередь операций синхронизации становится пустой, удаляем локальное ожидаемое и облачное ожидаемое дерево. Синхронизация закончена, и они нам больше не понадобятся.
Почему нам пришлось придумывать новый алгоритм
Главными проблемами алгоритма сравнения деревьев стали большое потребление памяти и необходимость сравнения деревьев целиком даже при небольших изменениях, что приводило к большой нагрузке на процессор. Во время обработки изменений даже одного файла использование оперативной памяти возрастало примерно на 35%. Допустим, у пользователя было 20 000 файлов. Тогда при простом переименовании одного файла размером 10Кб потребление памяти вырастало скачкообразно — со 116Мб до 167МБ.
Также мы хотели увеличить максимальное количество файлов, с которым без проблем может работать пользователь. Несколько десятков и даже сотен тысяч файлов может оказаться, к примеру, у фотографа, который хранит в Яндекс.Диске результаты фотосессий. Эта задача стала особенно актуальной, когда у людей появилась возможность купить дополнительное место на Яндекс.Диске.
В разработке тоже хотелось кое-что поменять. Отладка старой версии вызывала трудности, так как данные о состояниях одного элемента находились в разных деревьях.
К этому времени на бекенде появились id объектов, с помощью которых можно было более эффективно решить задачу обнаружения перемещений — ранее мы использовали пути.
Новый алгоритм
Мы решили изменить структуру хранения данных и заменить три дерева (Local Index, Remote Index, Stable Index) на одно, что должно было привести к снижению избыточности в главной структуре данных. Из-за того что ключом в дереве является путь к элементу файловой системы, в результате объединения значительно сократился объем используемой оперативной памяти.
Еще мы отказались от использования вспомогательных деревьев во время синхронизации, потому что каждый элемент дерева в новой версии хранит все нужные данные. Это изменение структуры сильно упростило отладку кода.
Так как мы понимали, что это серьезное изменение, то создали прототип, подтвердивший эффективность нового решения. Рассмотрим на примере, как меняются данные в дереве во время синхронизации нового файла.
- После того как пользователь добавил в папку Диска новый файл, программа обнаружила его и добавила в дерево новый элемент. У этого элемента известно только одно состояние – local. Так как stable и remote состояния отсутствуют, память под них не выделяется;
- Программа выполняет upload файла. Из облака приходит push, подтверждающий появление нового файла, и в дерево добавляется remote состояние;
- Состояния local и remote сравниваются. Так как они совпадают, добавляется stable состояние;
- Состояния 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 файлов.
Он был представлен в апреле 2012 года в качестве бета-версии, но только сейчас обзавелся большей частью заявленных возможностей. Хотите узнать как пользоваться Яндекс Диском? Тогда читайте дальше.
Проще всего Диск описывает сам Яндекс:
Важная особенность: Яндекс Диск нельзя отключить от вашего веб-профиля Яндекса, он является его неотемлемой частью. В будущем он будет обростать дополнительным функционалом и теснее интегрироваться с другими веб-приложениями Яндекса и не только.
Есть также специальное приложение Яндекс Диска для Windows 8, можете ознакомиться с ним в этой статье про программы для Windows 8.
Ниже на небольшом видео показан процесс регистрации нового пользователя через социальную сеть Вконтакте, но можно выбрать и другую. Также было скачено и установлено приложение Яндекс Диска для Windows:
Основные возможности сервиса Яндекс Диск отлично показаны на этом изображении:
Стартовый объем хранилища 3 ГБ, но буквально за пару минут его можно увеличить до десяти гигабайт. Как увеличить Яндекс Диск? Сделать это очень просто. Нужно:
Процесс загрузки установки приложения для Windows был продемонстрирован в первом видео, остальные два пункта не должны вызвать у вас трудностей.
Таким образом, выполнив три простых шага, у нас получается целых 10GB облачного хранилища. Для сравнения, чтобы получить аналогичный объем пространства в Dropbox, нужно пригласить и активировать 15 друзей. Максимальный объем облачного хранилища, который можно получить, привлекая друзей – еще 10 ГБ. В суме должно выйти 20 ГБ. Неплохо.
Возможности приложения для ПК
Для полноценной работы с Яндекс.Диском нужно скачать приложение себе на компьютер, а также на другие устройства, с которыми выработаете. Процесс установки почти такой же, как у Dropbox.
Местоположение папки для синхронизации файлов можно будет поменять только после установки. Ели у вас на диске С:/ мало свободного места, то нужно обязательно ее переместить. Для этого нужно щелкнуть по белому значку диска НЛО в трее(значок Яндекс.Диска), выбрать настройки и уже там проделать нужные изменения.
Программа не имеет самостоятельного интерфейса, а только в форме контекстного меню. Из него можно открыть папку диска, посмотреть объем свободного пространства, включить или выключить синхронизацию, изменить настройки программы и еще несколько мелких опций.
Собственно, сказать про приложение больше нечего. Оно почти полностью повторяет интерфейс своего заокеанского конкурента Dropbox, и в этом нет ничего плохого.
Как правильно удалить Яндекс Диск?
Если вам нужно удалить Яндекс Диск с компьютера, то сначала нужно в его настройках отключить его от компьютера, а потом уже удалять приложение полностью пирвычным способом. На втором видеоролике показано, где находится эта настройка.
Как настроить выборочную синхронизацию папок?
Для экономии места на компьютере можно отключить синхронизацию одной или нескольких папок с сервером Яндекс.Диска. Эти папки будут удалены с компьютера, но останутся доступными на странице сервиса и в других приложениях Яндекс.Диска.
Управление синхронизацией доступно только для папок, расположенных непосредственно в папке Диска. Например, вы можете изменить настройки синхронизации для папки Яндекс.Диск/Музыка , но не для вложенной папки Яндекс.Диск/Музыка/Избранное .
Синхронизация папки не может быть отключена, пока в ней синхронизированы не все файлы (папка помечена значком).
Отключение синхронизации папки
Чтобы отключить синхронизацию папки, выполните следующие действия:
Синхронизацию папки также можно отключить через контекстное меню. Откройте папку Яндекс.Диска и нажмите на нужной папке правой кнопкой мыши. В появившемся меню выберите пункт Яндекс.Диск →Отключить синхронизацию папки.
Веб-интерфейс
Веб-интерфейс довольно простой, в нем можно осуществлять основные операции с файлами, такие как копирование, перемещение, переименование и удаление. Интересно то, что сервис поддерживает открытие основных форматов офисных документов, а для музыки предусмотрен мини-плеер.
Как поделиться файлом?
Есть еще функция просмотра вложений с писем, которая выделена отдельным пунктом. Пока не совсем понятно, зачем она нужна, так как можно только скачать или просмотреть файлы. Переместить их в другие папки нельзя. Возможно, в будущем функционал расширят.
Через веб-интерфейс можно загрузить файлы размером не больше 2 ГБ. Для загрузки файлов больше 2 ГБ нужно воспользоваться программой для ПК.
Присутствуют фильтры, которые позволяют отсортировать файлы по типу, размеру и времени добавления. Также можно упорядочить файлы по тем же параметрам, что и для фильтров. Режим отображения файлов можно выбрать в форме списка или сетки иконок. Для картинок доступен просмотр в виде эскизов.
Как увеличить размер Яндекс Диска?
Выводы
Многие говорят, что Яндекс Диск это прямой конкурент Dropbox, но мне кажется, что это не так. Скорее всего Яндекс Диск можно считать конкурентом Google Drive, и вот почему: они оба поисковики, имеют схожие почтовые, видео и социальные сервисы, которые все больше и больше интегрируются между собой. А Dropbox можно отнести к чисто сервису синхронизации файлов, который уже конкурирует с SygarSync и другими подобными сервисами.
В следующий раз поговорим об очень интересном сервисе синхронизации файлов по имени SkyDrive.
Как настроить синхронизацию документов с компом на Yandex.disk
Во времена короновирусные послали нас всех работать работу на удаленку. И тут выяснилось, что большая часть нужных документов надежно зарыта в папках на рабочем компе. Сколько бы бэкапов на внешний диск не сделал, всегда найдется то, что останется в недосягаемости.
и решила я все-таки осовить средство облачного хранения Яндекс Диск, спустя 5 лет с его появления.
Как устанавливать да скачивать программку на комп написано уже не мало, поэтому не буду повторяться. Тем не менее, уточню один нюанс.
У нас на работе выход в интернеты настроен через прокси-сервер. Поэтому напрямую скачать установочный файл с офсайта у меня не получалось, пришлось обращаться в свою техподдержку. Оказалось, что для скачивания надо прописать адрес прокси-сервера в настройках Яндекс Браузера, чтобы скачать программку. Так что если у вас возникли подобные проблемы - обратите внимание, возможно их можно решить таким образом.
Поскольку я уже не столь юна и ум мой не настолько гибок, как раньше, установив Яндекс Браузер, я долго тупила, как же расшарить рабочую папку, шоб изменения файлов в ней обновлялась и на компе, и в облаке. Пришлось порыться в интернетах и посмотреть Ютубчик. Ну, собсна, ларчик-то просто открывался.
Открываем папку Яндекс Диска на компутере, копируем в нее рабочую папку. На компе по умолчанию она сохраняется и синхронизируется на системном диске в папке пользователя.
Меня это не очень устраивало, тк у нас принято хранить файлы не на системном диске, а на диске D, поэтому я порылась в настройках самой папки Яндекс Диска и изменила расположение папки для синхронизации папки с рабочими документами.
Вот, собственно и все. Теперь я могу работать с файлами на Яндекс Диске, а они будут синхронизироваться в папку Ядиска на диске D рабочего компа. Ну и домашнего, если захочу. В общем, ничего сложного!
Рекомендую, очень удобно оказалось.
Особенно, когда вы молодая мать. Которая в любой момент может остаться дома работать на удаленке по причине больничного:)
В данной заметке мы коснемся Яндекс.диска, у которого пока нет возможности выбора определенных папок для синхронизации, расположенных в разных местах (к примеру на дисках C и D). Вам придется все копировать в одну папку, которая и будет синхронизироваться с облаком Яндекса.
Символьные ссылки (Symbolic links)
Вкратце — это некий аналог ярлыка Windows. Он создается в любом месте, и может ссылаться на папку или файл. Яндекс.диск воспринимает символьные ссылки как реальную папку и обрабатывает ее. Поэтому самое простое — создать символьные ссылки на те папки, которые Вы не хотите копировать напрямую на Яндекс.диск.
Для того, чтобы создать символьную ссылку, мы рекомендуем использовать программу Link Shell Extension, она встраивается в проводник Windows и пользоваться ей очень просто.
К слову, данный метод не работает (на момент написания статьи) с Skydrive и Google drive.
Читайте также: