Bt-teh.ru

БТ Тех
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Работаем с файлами из облака прямо в Finder

Работаем с файлами из облака прямо в Finder

Favorite В закладки

Работаем с файлами из облака прямо в Finder

Штатными средствами без дополнительных программ.

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

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

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

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

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

Общий принцип подключения

Cloud_data_in_finder_2

Чтобы получить доступ к файлам из облака прямо в Finder делаем следующее:

  • в строке меню выбираем пункт Переход -> Подключение к серверу или нажимаем Command + K;
  • вводим адрес сетевого хранилища (зависит от облачного сервиса);
  • нажимаем кнопку Подключиться и указываем имя пользователя и пароль для авторизации.

Как видите, ничего сложного. Подключение происходит очень быстро, никаких сложных настроек и параметров. Остается узнать, как подключить то или иное облако прямо в Finder.

Dropbox

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

Без обид! Мы не говорим, что этого не будет никогда. Вы можете проголосовать за такую функцию, но в настоящий момент мы вовсю заняты другими разработками (не менее замечательными).

Google Drive

Еще одно зарубежное облако, которое не поддерживает WebDAV, но может быть подключено при помощи специального бесплатного сервиса. Достаточно зарегистрироваться на сайте dav-pocket и предоставить доступ к своей учетной записи Google.

Далее при подключении в Finder указываем адрес https://dav-pocket.appspot.com/docso и вводим логин/пароль от аккаунта в dav-pocket. К сожалению, сервис не отличается стабильностью и не всегда доступен.

Яндекс.Диск

Cloud_data_in_finder_1

Самый популярный отечественный облачный сервис официально поддерживает работу через WebDAV. Для подключения используем адрес https://webdav.yandex.ru.

Для авторизации вводим электронную почту и пароль от ящика, к которому привязано облако.

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

Облако Mail.ru

Другой наш почтово-облачный сервис не собирается реализовывать нормальную работу через WebDAV. Возможность подключаться к своему хранилищу по данному протоколу начали тестировать с 2014 года. Адрес https://webdav.cloud.mail.ru/ был периодически доступен для работы.

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

Box.com

Не самый распространенный сервис, предлагающий услуги облачного хранения данных, имеет возможность подключения через WebDAV. Принцип подключениям аналогичный предыдущим. Используем адрес https://dav.box.com/dav, логин и пароль от своей учетной записи.

Cloud_data_in_finder_3

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

Favorite В закладки

  • Твитнуть
  • Поделиться
  • Рассказать

Артём Суровцев

Люблю технологии и все, что с ними связано. Верю, что величайшие открытия человечества еще впереди!

Яндекс Диск. Как пользоваться и зачем?

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

Я расскажу, как пользоваться Яндекс Диском и на реальных примерах покажу зачем его вообще использовать, что в нём интересного и полезного!

1. Что такое Яндекс Диск?

Сначала в двух словах, что такое этот самый Диск.

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

2. Как пользоваться Яндекс Диском?

О том, как пользоваться Яндекс Диском я Вам сейчас подробно расскажу.

2.1. Зарегистрироваться в Яндекс

Чтобы начать использовать Яндекс Диск нужно создать себе в этой системе аккаунт. Если вы уже хоть раз регистрировались на Яндексе, то этот аккаунт вполне подойдёт и для Диска! Нужно просто выполнить вход используя свой логин и пароль.

входя в яндекс

Но в любом случае регистрация на Яндекс Диске ничем не отличается от процесса регистрации на других сайтах. И если вы хотите создать отдельный аккаунт, то нужно всего-то лишь ввести своё имя и фамилия, придумать логин и пароль и по желанию указать свой номер мобильника. Всё это делается на официальном сайте Яндекс Диска: https://passport.yandex.ru/registration

регистрация в яндексе

2.2. Скачать программу Яндекс Диск

Чтобы полноценно использовать Диск нам понадобится одноимённая программа Яндекс Диск. Для загрузки используйте кнопку Windows, в левом нижнем углу на официальном сайте.

скачать яндекс диск

скачать диск

Также там есть версии для Mac OS и для Linux.

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

2.3. Выполнить вход в аккаунт и настроить синхронизацию

Теперь давайте выполним вход в программу. Вводим свой логин и пароль от Яндекса.

вход, авторизация, яндекс диск, программа

Теперь программа будет запускаться вместе с компьютером и постоянно « висеть » в области уведомлений, возле часов.

Отсюда можно переходить в настройки, включать или отключать синхронизацию и тому подобное.

Сейчас нас интересует пункт Настройки .

Открыв Настройки нам нужно на вкладке Основные выбрать диск, на котором будут храниться все наши файлы и отсюда же они будут синхронизироваться.

2.4. Протестировать Яндекс Диск: работа с файлами и папками

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

Читать еще:  Onedrive синхронизация других папок

У нас открылась папка Яндекс Диска:

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

Сейчас папка пуста, но это легко исправить. Можно создать любой файл или папку, закинуть сюда песню или фильм и тому подобное.

синхронизация, яндекс диск

Для примера я создал 2 папки, скинул немного музыки и добавил свои фото. Всё это синхронизируется в « облако », то есть на сервера.

Я могу легко поделиться со своими друзьями любыми загруженным сюда файлами. Просто кликаем по файлу правой кнопкой мыши и выбираем пункт « Яндекс Диск: скопировать публичную ссылку ».

Через пару секунд в буфер обмена попадает ссылка, по которой будет доступен выбранный файл.

Перейдя в браузере по этой ссылке, мы можем убедиться, что всё работает.

Теперь можно отправлять эту ссылку своим друзьям!

2.5. Установить Яндекс Диск на смартфон

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

Внутри также будут лежать наши файлы, и мы можем с ними работать. При нормальной скорости интернета, можно спокойно: смотреть видео, которые загружены в наш Диск, слушать музыку, листать фотографии и тому подобное.

3. Зачем использовать Яндекс Диск

С учётом того сколько всего интересного я вам рассказал, Вы итак уже наверно поняли зачем использовать Яндекс Диск. Но всё равно давайте пробежимся по пунктам

3.1. Получать доступ к своим файлам с любых устройств

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

Также, как мы уже ранее увидели, можно получать доступ со смартфона. Я показывал на примере iPhone, но на Andoid устройствах, естественно можно проделать тоже самое.

И что самое важное, есть веб-версия Яндекс Диска, по адресу https://disk.yandex.ru. Можно войти на сайт через любой браузер, выполнить вход в аккаунт и работать со своими файлами. При этом устанавливать программу будет не обязательно.

яндекс диск, веб-версия, сайт яндекс диск

3.2. Хранить резервные копии

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

3.3. Переносить файлы

Например, я, используя Яндекс Диск, очень часто переношу через него файлы на свой телефон. У меня в Диске есть специальная папка, которая называется iPhone , и в неё я скидываю фотки или музыку, которые мне нужно потом залить на телефон и также само наоборот!

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

3.4. Создавать скриншоты

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

Откройте Настройки программы и перейдите на вкладку Скриншоты .

создание скриншотов в яндекс диск

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

4. Дополнительная информация по Яндекс Диску

То, что не было сказано ранее, но тоже стоит знать. Об этом расскажу в дополнительной информации.

4.1. Сколько дают гигабайт?

Сразу после подключения к Яндекс Диску для хранения ваших файлов даётся 10 гигабайт памяти.

4.2. Как получить больше гигабайт?

Увеличить объём Диска можно путём покупки дополнительных гигабайт. Либо же если не хочется платить, то можно следить за различными акциями, в период которых за различные задания выдаются дополнительные гигабайты. Например, я недавно получил 32 ГБ памяти за то, что в установленном приложении на iPhone я включил автозагрузку фотографий ( а после получения гигабайт — отключил ).

полученное место в яндекс диск

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

Как не тупануть?

Будьте внимательны. Из папки Яндекс Диска, которую мы выделили для этой программы на своём компьютере, нельзя удалять свои файлы . Некоторые могут подумать, что если они один раз добавили файлы в папку Яндекс Диска, то после этого они загрузятся на сервера Яндекса навсегда. НЕТ, ЭТО НЕ ТАК!

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

Что делать, если Яндекс Диск не синхронизируется

Яндекс Диск не синхронизируется: решение проблемы

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

Причины проблем с синхронизацией Диска и их решение

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

Причина 1: Синхронизация не включена

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

Читать еще:  Как включить синхронизацию календаря в outlook

Включение синхронизации Яндекс Диска

Причина 2: Неполадки интернет-соединения

Если в окне программы, Вы увидите сообщение «Ошибка соединения», значит, логично будет проверить, подключен ли компьютер к Интернету.

Ошибка соединения в программе Яндекс Диск

Для проверки интернет-соединения нажмите на значок «Сеть». При необходимости подключитесь к рабочей сети.

Подключение к беспроводной сети

Обратите также внимание на состояние текущего подключения. Здесь должен быть статус «Доступ к Интернету». В противном случае нужно обращаться к провайдеру, который обязан решить проблему с подключением.

Подключение с доступом в Интернет

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

Причина 3: Нет места в хранилище

Возможно, на Вашем Яндекс Диске попросту закончилось место, и новым файлам некуда загружаться. Чтобы это проверить, перейдите на страницу «облака» и посмотрите на шкалу его наполненности. Она расположена внизу боковой колонки.

Шкала наполненности Яндекс Диска

Для работы синхронизации хранилище нужно очистить или расширить.

Причина 4: Синхронизация блокируется антивирусом

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

Но помните, что не рекомендуется оставлять компьютер без защиты на длительное время. Если синхронизация не работает из-за антивируса, то лучше поставить Яндекс Диск в исключения.

Причина 5: Не синхронизируются отдельные файлы

Некоторые файлы могут не синхронизироваться потому что:

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

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

На заметку: файлы объёмом более 10 Гб на Яндекс Диск загрузить вообще нельзя.

Причина 6: Блокировка Яндекса на Украине

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

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

Сообщение об ошибке

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

Сообщение об ошибке в программе Яндекс Диск

Далее Вы попадёте на страницу с описанием возможных причин, внизу которой будет форма обратной связи. Заполните все поля, как можно подробнее описав проблему, и нажмите кнопку «Отправить».

Отправка сообщения в службу поддержки Яндекс

Вскорости Вы получите ответ от службы поддержки по Вашей проблеме.

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

ЗакрытьМы рады, что смогли помочь Вам в решении проблемы.

Помимо этой статьи, на сайте еще 12384 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

ЗакрытьОпишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Новый алгоритм синхронизации Яндекс.Диска: как не подавиться 900 000 файлов

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

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

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

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

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

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

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

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

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

Читать еще:  Синхронизация контактов samsung bluetooth

В этой версии алгоритма мы использовали три основных дерева: локальное (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 объектов, с помощью которых можно было более эффективно решить задачу обнаружения перемещений — ранее мы использовали пути.

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

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

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

  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.328% (1 ядро 100%)Примерно 1%102
Яндекс.Диск 1.2.748% (2 ядра 100%)Примерно 10%368

Вычисление дайджестов уникальных 20000 файлов по 10кб (индексация)

Версия ПОНагрузка на CPUВремя, секИспользование оперативной памяти, Мб
Яндекс.Диск 1.3.325% (1 ядро 100%)19082
Яндекс.Диск 1.2.750% (2 ядра 100%)200245

Запуск с 20000 синхронизированных файлов по 10Кб

Версия ПОНагрузка на CPUВремя, секИспользование оперативной памяти, Мб
Яндекс.Диск 1.3.325% (1 ядро 100%)1055
Яндекс.Диск 1.2.750% (2 ядра 100%)22125

Upload 1Gb. Соединение Wi-Fi 10 МБит

Версия ПОНагрузка на CPUВремя, сек
Яндекс.Диск 1.3.35%1106
Яндекс.Диск 1.2.75%2530

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

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

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

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector