Показаны сообщения с ярлыком Google Disk. Показать все сообщения
Показаны сообщения с ярлыком Google Disk. Показать все сообщения

воскресенье, 24 февраля 2019 г.

ODrive – клиент синхронизации с Диском Google для Ubuntu и производных

На днях мой родственник прислал мне интересную ссылку на клиент синхронизации с Диском Google для Ubuntu и её производных. Так как Linux Mint и является такой производной, то мне стало интересно "пощупать" данное решение.

Скачать можно пакет deb, App.Image или snap с сайта github.

Мной был скачан пакет deb, который и был установлен на Linux Mint 19.1 xfce.

Запуск установленного ПО был произведен из меню с секции "Прочее":


Если такой пункт у Вас отсутствует, то запустить можно из терминала командой

"/opt/OpenDrive/odrive" %U

При первом запуске в системном лотке (трее, подставке рабочего стола) появился значок программы, а на экране отобразилась форма настройки:



После нажатия на кнопку "Next" было предложено соединиться с учётной записью Google и определить каталог для синхронизации.


Сначала необходимо соединиться с аккаунтом Google. При выполнении дальнейших действий не все элементы управления помещаются в окно. Поэтом обращайте внимание на движок справа.





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



Если вдруг после начала синхронизации Вы получите такую же ошибку как и у меня,


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



Сначала уведомление об игнорировании 4-х файлов не вызвало обеспокоенности, но со временем она стала возрастать. А после завершения процесса синхронизации и вовсе приобрела характеристику "неприемлемо". При этом значок состояния показывал, что синхронизация завершена.




Дальнейшее разбирательство показало, что не были синхронизированы 4 ранее созданных формы опроса, которые отображаются в Диске Google при доступе через браузер:


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


При вызове контекстного меню (клик правой кнопкой по значку) отобразились пункты:


Preferences ... (предпочтения) – вызывает окно настроек ODrive. Окно настроек включает в себя имя учётной записи Google и расположение каталога синхронизации на жёстком диске.

Launch on startup – запускать при старте компьютера. По умолчанию галочка не проставлена.

Quit ODrive  – завершить работу приложения.

При удалении или добавлении файлов уведомления отображаются через оповещения, например:



Настройки приложения, кэш и журналы работы расположены в ~/.config/odrive


Для назначения эмблем Drive на каталоги скачайте архив zip, содержащий эмблемы Диска Google и Odrive, и воспользуйтесь приёмами их добавления к существующим эмблемам: для Linux Mint 18 или для Linux Mint 19.

Для полного удаления приложения из системы выполните в терминале

sudo apt purge -y odrive && rm -fr ~/.config/odrive

Как указано на сайте omgubuntu.co.uk, в отличие от имеющихся решений, Odrive бесплатен для использования: free, open-source Electron application

Недостатком ODrive является невозможность настроить выборочную синхронизацию каталогов. Клиент синхронизирует всё.

четверг, 25 октября 2018 г.

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

Данная публикация имеет поясняющий характер и ставит своей целью, по возможности, простыми словами и максимально доходчиво (как просят, "для чайников"), объяснить суть и механизм совместной работы с использованием ресурсов облачного хранения данных, таких как Dropbox, pCloud, Диск Яндекс, Облако@Mail.Ru, Google Диск и т.п.

"Облако", если говорить с технической точки зрения, является онлайн-хранилищем, состоящим из большого количества серверов, объединённых в огромную сеть (облачное хранилище данных).

Облачное хранение данных следует понимать как хранение данных в системах, в которых данные распределены по большому числу серверов, объединённых в так называемые кластеры.

Кла́стер (англ. cluster – скопление) – объединение нескольких однородных элементов, которое может рассматриваться как самостоятельная единица, обладающая определёнными свойствами. В сфере информационных технологий под кластером следует понимать группу вычислительных узлов, объединённых высокоскоростными каналами связи, представляющих с точки зрения пользователя единый аппаратный ресурс (подробности).

Так как потребителю не известно на каких именно участках кластеров хранятся его данные, а известна только точка его соединения с массивом кластеров, то такую реализацию назвали "облаком". Cloud – облако (англ.)

Как происходит обмен данными между пользователями через "облако" ?

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


Например, user-1 имеет в облаке 4 папки,


а user-2 имеет в облаке 3 папки


user-1 одну из папок даёт в доступ пользователю user-2 (синего цвета). В терминологии ресурсов облачного хранения данных такое действие называется "приглашение".


user-2 принимает приглашение в папку и у него в облаке становится тоже 4 папки. Полученная от user-1 в доступ папка помечена оранжевым цветом.


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


Соответственно, эти изменения будут также переданы на компьютеры user-1 и user-2 при очередном сеансе связи их клиентов с облаком.


Получается, что после завершения синхронизации содержание жёлтой папки, владельцем которой является user-1, станет идентичным содержанию бирюзовой папки, владельцем которой является user-2, и наоборот:


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

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

Для своего функционирования такая схема не требует завершения всех операций синхронизации в течение сеанса связи с Интернет. В процессе синхронизации клиент постоянно вычисляет содержание папки клиента и соответствующей ей папки облака, а также отслеживает отметку времени, назначенной каждому файлу и каждой папке. На основании этой информации клиент производит запись или удаление данных в той папке клиента или облака, отметка времени которой старше (то есть более ранняя). Если в течение сеанса работы с Интернет процесс синхронизации не был завершён, то при следующем сеансе он будет продолжен. Такой процесс условно можно назвать "докачкой данных". Учитывая указанное, процессу можно сопоставить термин "асинхронная репликация".

Репликация (англ. replication) – механизм синхронизации содержимого нескольких копий объекта (файла, папки). В процессе репликации происходит копирование данных из одного источника на другой (или на множество других) и наоборот. Иными словами, изменения, сделанные в одной копии объекта, распространяются в другие копии.

При синхронной репликации, если данная реплика (копия объекта, обновляемая автоматически при обновлении оригинала) обновляется, все другие реплики того же фрагмента данных также должны быть обновлены в одной и той же транзакции (транза́кция (англ. transaction, от лат. transactio 
 соглашение, договор) – минимальная логически осмысленная операция, которая имеет смысл и может быть совершена только полностью, см. wiki). Можно сказать, что на практике существует лишь одна версия данных.

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

В философской концепции развития по спирали, user-1 и user-2 осуществляют обмен данными через общую сетевую папку (Shared folder), как раньше это происходило в локальной сети. Но если в том случае для осуществления информационного обмена user-1 и user-2 должны были быть расположены не далее 80 метров друг от друга (максимальная дальность передачи информации, при которой гарантируется качественная связь без применения специальных усилителей-повторителей), то теперь их географическое местоположение значения не имеет.

воскресенье, 18 марта 2018 г.

Проблема с отображением занятого места на Google Диск

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

При полностью синхронизированных данных ПК с облаком разбежка составила более 4 Гб. При этом после операции очистки Корзины через браузер указанное значение не изменилось.

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


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

При удалении по вкладке "Недавние" приходилось несколько раз перезапускать Google Диск через браузер. В частности, на одном из промежуточных этапов при отсутствии отображения каких-либо файлов по вкладке "Недавние" и полной очистке Корзины отображаемое занимаемое место значительно отличалось от реального размера синхронизируемых данных. При общем объёме синхронизируемых данных в 996 Мб занимаемое данными место на Google Диске всё ещё составляло 2,8 Гб.


Точно такая же ситуация наблюдалась и с той учётной записью Google, с диском которой ранее осуществлялась совместная работа. Там также пришлось удалять данные вручную.

Результатом попыток "вспомнить всё" явилось предположение, что непонятно где "болтающиеся" данные раньше отображались на вкладке "Компьютеры",


после которой была ещё вкладка "Мой компьютер", и в ней – наименования синхронизируемых папок ПК вне пределов папки Диска Google.

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

Странная, на мой взгляд, реализация системы хранения данных при совместной работе в папках общего доступа. Такого не наблюдается в других облачных решениях, таких как Яндекс.Диск, MEGA, pCloud.

К слову, в конце февраля Яндекс реализовал функцию, которая раньше присутствовала только в pCloud: при совместной работе папка, которую Вам дал в доступ другой пользователь, больше не занимает Вашего дискового пространства.


воскресенье, 17 декабря 2017 г.

Google Диск. Практическая реализация синхронизации и совместной работы в Windows с папками Google Диска на ПК

Рассмотрение данного вопроса связано с выбором наиболее удачной модели совместной работы с синхронизируемыми на ПК папками с точки зрения удобства настройки и потребления системных ресурсов.

Для Google Диск всемирно известная корпорация добра выпускает десктопные клиенты синхронизации только для Windows, Mac, Android и IOS. И так как выпуск десктопного клиента для Linux Google в течение длительного времени упорно игнорирует, то данное облако долгое время оставалось вне области моих интересов.

Так с некоторых пор называют компанию Google Inc, ту самую корпорацию, которая известна по своим знаменитым продуктам – поисковику, почтовому сервису, облачному сервису, картам и многому прочему.
Назвали ее так в противовес "Корпорации зла", Microsoft Corporation, которая навязчиво предлагает лишь свои стандарты и решения. Гугл же потихоньку отбирает рынок у монополиста.
(источник: Большой вопрос.ru)


После произведённого ребрендинга десктопное приложение для персонального использования стало называться "Автозагрузка и синхронизация", а для бизнеса – "Клиент Google Диска". Предметом данной публикации является рассмотрение работы с приложением "Автозагрузка и синхронизация".

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

Настройка клиента

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





Вы можете оставить настройки как есть или произвести выборочную настройку. Нажмите ссылку "Изменить" и укажите свои предпочтения.



В расширенных настройках Вы можете исключить синхронизацию некоторых типов файлов по их расширению, например, tmp и bak.

Слева от ссылки "Изменить" имеется кнопка выбора папки для синхронизации с Диском, которая будет расположена за пределами пространства папки Google Диск. Например, я желаю синхронизировать с Google Диском папку Exchange, расположенную в C:\Data



Папка Google Диск расположена в папке профиля пользователя системы.


Google считает, что все имевшиеся на Диске папки (Мой Диск) до установки клиента будут синхронизироваться именно с этой папкой профиля пользователя. А все дополнительные объекты, которые будут указаны для синхронизации, расположены в папке Диска "Компьютеры".


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




Обратите внимание на предыдущий рисунок. После кнопки OK Вы видите ссылку "Изменить", нажав на которую Вы получите возможность указать не путь, предлагаемый по умолчанию  (C:\Users\папка_профиля_пользователя\Google Диск), а выбранную папку, расположение которой м.б. на другом логическом разделе (диск D, диск E и т.п.) Ниже можно настроить синхронизацию не всех папок облака Google Диск, а только некоторых.


То, что будет указано (см. рисунок выше) будет скачиваться в папку Google Диск папки профиля пользователя системы.

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


Если никакие папки для синхронизации указаны не были, то клиент в папку Google Диск загрузит те файлы, которые находятся отдельно, то есть не в папках, а в корне Диска. На рисунке ниже, например, в корне Диска располагается файл GK.jpg


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



Для сранения, запущенный клиент Диска.Яндекс, судя по диспетчеру задач, в состоянии покоя ведёт себя скромнее (15-19 КБ):


Справедливости ради необходимо отметить, что когда Google совсем "успокоится", то есть в течение некоторого времени будет находиться в состоянии отсутствия активных передач, то и его потребление ресурсов становится вполне приемлемым.


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

В одной из предыдущих публикаций для этой предлагалось использовать программу Startup Delayer. Если в настройках данного ПО обратиться к свойствам объекта GoogleDriveSync, то можно увидеть, что его запуск осуществляется с ключом /autostart.



Попробуем убрать этот ключ, указать задержку запуска и перезагрузить систему.




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



 Примечание.  После 2-й или 3-й перезагрузки Вы можете наблюдать, что задержка не сработает. Обратившись в Startup Delayer к списку автозагружаемых приложений Вы можете с удивлением обнаружить, что у Вас имеется 2 записи GoogleDriveSync: настроенная на задержку и запускаемая при старте системы с нулевой задержкой, т.е. восстановленная. Это связано с тем, что такая запись автостарта с ключом /autostart присутствует в реестре. Удалите в Startup Delayer "восстановленную" запись. Изменение будет записано в реестр и больше такой ситуации повторяться не будет.

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

Если подвести к значку курсор, то будет отображена всплывающая подсказка:


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



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


Как видно на рисунке выше, синхронизация происходит в несколько потокоа, то есть одновременно обрабатываются 5 файлов. При этом число "готовых" файлов, помеченных зелёным, будет варьироваться в пределах 1-2, а число скачиваемых (загружаемых), помеченных синим анимационным кружочком, 3-4 Диспетчер задач покажет Вам, что число процессов googledrivesync.exe по сравнению с состоянием покоя также выросло.


Признаком завершения синхронизации данных является изменение состояния значка.


Совместная работа с папками общего доступа

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

Выделите папку и нажмите правую кнопку мыши. В выпадающем меню кликните на "Совместный доступ".


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


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


Чтобы включить её в состав своих синхронизируемых клиентом данных необходимо (опять же в браузере) через правый клик мыши скомандовать "Добавить на Мой Диск" или попробовать перетащить а "Мой Диск" мышкой (может зависеть от браузера) и впоследствии даже в "Мое устройство ПК".






Если теперь обратиться к настройкам клиента, то можно убедиться в том, что данная папка доступна для синхронизации на ПК в папке Google Диск.

Щёлкните по значку клиента и далее на 4 вертикальных точки. Дальше всё будет понятно интуитивно.





Эта папка (JoinedEx) будет находиться в папке Google Диск Вашего ПК и помечена как папка с совместным доступом (в рассматриваемом примере на Windows 7 – синий силуэт):


Увы, но в первом эксперименте в папку облака "Мое устройство ПК" переместить её не представилось возможным, хотя в дальнейшем в браузерах Chrome (Chromium) этот шаг осуществить получилось.


Вам необходимо будет иметь в виду, что на системном диске Windows (как правило, это C, но могут быть и варианты) необходимо иметь достаточно свободного дискового пространства для нормальной работы с Google Диском. Но если Вы внимательно читали описанное выше, то в самом начале настройки клиента имеется возможность указания другого расположения папки Google Диск на ПК. Однако эта настройка осуществляется только на начальном этапе. Если вы пожелаете всё переделать, то после деинсталляции клиента Вам придётся удалить сопутствующие ему скрытые папки и хорошо вычистить реестр.

При работе с папкой совместного доступа с правом "Перемещение и изменение" избегайте желания её переименовать, как это Вы могли делать в Диск.Яндекс или Dropbox. Как только Вы её переименуете, то изменения будут реплицированы на пространство папок Вашего респондента или всех респондентов, работающих с этой папкой. На примере ниже на своём ПК переименовываю JoinedEx в JoinedR2. Это изменение приводит к переименованию папки JoinedEx на Google Диске того, кто предоставил эту папку мне в доступ.



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

Для проверки совместной работы в папку JoinedEx были помещены несколько файлов:


После завершения процесса синхронизации эти же файлы отображались на Google Диске другого аккаунта:


После всех синхронизаций диспетчер задач отображал мне сначала 5, а потом 4 процесса с различающимися расходами ресурсов. Лично для меня такое непостоянство так и осталось "тайной мадридского двора".



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




Можно отметить, что назначение папок для синхронизации можно произвести через правое контекстное меню Проводника. Например, добавим папку Books fb2.




К тем папкам, которые уже синхронизируются клиентом, также применимы операции при помощи правого контекстного меню мыши:




В качестве своего ряда заключения.

Описанное выше было выполнено на виртуальной машине. На реальном ПК показатели отдельных процессов googledrivesync.exe достигали значений в 280-320 КБ. Такое потребление ресурсов наблюдалось в случае большого числа (более 9 тысяч) файлов в очереди на обработку.

Синхронизирующиеся и синхронизированные папки в Проводнике были помечены синими и зелёными эмблемами соответственно: