Apps data sync что это за программа

DataSync API, или как мы решили вопрос хранения и синхронизации пользовательских данных

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

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

«Где бы в такую базу ни были сохранены данные – на телефоне, в браузере, на планшете, – они не потеряются и будут актуальны, – говорит руководитель разработки облачных сервисов Яндекса Владимир Русинов. – На практике такая схема обеспечивает миллион новых возможностей. Точки на картах, закладки и история – одинаковые во всех браузерах, общая таблица рекордов на iPhone и Android-планшете и т.д. При этом сам Яндекс, разумеется, не будет иметь доступа к информации ваших пользователей».

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

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

Прямо сейчас вы можете начать использовать HTTP API и JavaScript SDK, а в ближайшем будущем мы выпустим специальные мобильные библиотеки для iOS и Android.

Источник

Apps data sync что это за программа

Для функционирования программы необходимы права root пользователя.

Краткое описание:
Синхронизация приложений и файлов между устройствами. Поддержка WiFi, Dropbox и FTP.

Описание:
DataSync позволяет вам синхронизировать данные между Android устройствами. Это означает что вы можете играть в игру на телефоне, синхронизировать данные и продолжить игру на планшете с того же места.

Особенности:
— Синхронизация файлов и папок, а также сохраненных игр и данных приложений
— Интуитивный интерфейс, совместимый с планшетами и ICS
— Быстрая, мультипоточная синхронизация
— Автоматическое определение устройства
— Поддержка Dropbox и FTP
— Ярлык быстрой синхронизации

Над чем сейчас ведется работа:
— Всплывающие подсказки
— Автоматическая синхронизация по расписанию

По всем найденным багам автор просит писать ему на e-mail, обязуется ответить всем.

Русский интерфейс: Неизвестно

Версия в шапке сильно устарела. Самые последние изменения:

DataSync Beta 3.0.3
Полностью переписанная версия, пока в beta:
Market

— Improved and simplified the UI:
— Properly implemented the (contextual) ActionBar
— Split manual and list-based syncing, default page can be set
— Consistent (holo-themed) style across all platforms and activities
— Improved tablet-UI, especially in portrait mode

— Improved syncing and scheduling:
— Added «Safe two-way» syncing for everyone
— Improved automatic two-way syncing with conflict/first sync checks
— Brand new status page and notifications
— Scheduled syncs only start after the previous sync completed
— Add multiple lists to a single scheduled sync
— Bluetooth syncing does not require pairing on newer devices

— Entirely new features:
— Edit and rename lists
— FTP syncing (yes, it’s back)
— NFC-powered bluetooth syncing
— Automatic device-to-device list syncing
— Support for background syncing (notification will show)

Источник

Apps data sync что это за программа

Для функционирования программы необходимы права root пользователя.

Краткое описание:
Синхронизация приложений и файлов между устройствами. Поддержка WiFi, Dropbox и FTP.

Описание:
DataSync позволяет вам синхронизировать данные между Android устройствами. Это означает что вы можете играть в игру на телефоне, синхронизировать данные и продолжить игру на планшете с того же места.

Особенности:
— Синхронизация файлов и папок, а также сохраненных игр и данных приложений
— Интуитивный интерфейс, совместимый с планшетами и ICS
— Быстрая, мультипоточная синхронизация
— Автоматическое определение устройства
— Поддержка Dropbox и FTP
— Ярлык быстрой синхронизации

Над чем сейчас ведется работа:
— Всплывающие подсказки
— Автоматическая синхронизация по расписанию

По всем найденным багам автор просит писать ему на e-mail, обязуется ответить всем.

Русский интерфейс: Неизвестно

Версия в шапке сильно устарела. Самые последние изменения:

DataSync Beta 3.0.3
Полностью переписанная версия, пока в beta:
Market

— Improved and simplified the UI:
— Properly implemented the (contextual) ActionBar
— Split manual and list-based syncing, default page can be set
— Consistent (holo-themed) style across all platforms and activities
— Improved tablet-UI, especially in portrait mode

— Improved syncing and scheduling:
— Added «Safe two-way» syncing for everyone
— Improved automatic two-way syncing with conflict/first sync checks
— Brand new status page and notifications
— Scheduled syncs only start after the previous sync completed
— Add multiple lists to a single scheduled sync
— Bluetooth syncing does not require pairing on newer devices

— Entirely new features:
— Edit and rename lists
— FTP syncing (yes, it’s back)
— NFC-powered bluetooth syncing
— Automatic device-to-device list syncing
— Support for background syncing (notification will show)

Источник

DataSync API от Яндекс.Диска: облако для приложений и структурированных данных

Для синхронизации данных в приложениях не подходят обычные «файловые» облачные хранилища. Слишком много проблем с консистентностью данных приходится решать самим авторам приложений. Поэтому сегодня мы открываем всем желающим технологию DataSync API, которую команда Яндекс.Диска разрабатывала для собственных сервисов Яндекса. Она позволяет синхронизировать структурированные данные между облачным хранилищем и устройствами. API использует логин Яндекса, который есть почти у каждого пользователя интернета в России и у многих в других странах. DataSync мультиплатформенный и не завязан только на Android или iOS.

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

Уже более двух лет Яндекс.Браузер работает на технологиях синхронизации Я.Диска. В ближайшем будущем другие крупные сервисы Яндекса начнут объединять свои платформы на DataSync. Под катом — больше подробностей о том, как он устроен, зачем нужен, и примеры, на которых можно посмотреть и попробовать, как всё работает.

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

Раньше у пользователя было только одно устройство и только один способ взаимодействовать с интернет-сервисом – пойти на сайт. И для разработчика все было просто. База-Код-Веб-интерфейс. Где-то в недрах сайта работала база данных, где разработчик сохранял нужные ему данные, и откуда их забирал, отображая на одном единственном устройстве пользователя, а точнее — в браузере его компьютера.

Однако времена сильно изменились, и теперь у человека может быть множество устройств, а один сервис может быть представлен целым набором приложений. Это сильно усложнило жизнь разработчика. У него всего стало больше: интерфейсов, баз, логики и даже языков программирования. Но самое ужасное — это данные. На каких-то устройствах есть локальные копии данных, которые живут на сервере и других устройствах, и их все необходимо синхронизировать между собой. Это вовсе не простая задача: возможны конфликты, потеря данных, потеря связи, требуется нормальная скорость работы на всех устройствах – и много другое.

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

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

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

Во внутренней документации на проект написано так: «DataSync API — это хранилище произвольных структурированных данных, привязанных к пользователю или паре пользователь + приложение. Оно заточено под возможность синхронизации между пользовательскими устройствами и нормальную работу в условиях плохой мобильной сети».

Для внешнего разработчика наша база данных очень похожа на популярную noSQL базу MongoDB — суть та же. Она состоит из коллекций, коллекции — из объектов. Объект — это набор key-value полей. Но мы поставили перед собой задачу сделать так, чтобы разработчик не думал о том, как ему связывать данные на разных устройствах и в облаке, а просто работал с нашим API, в то время как вся синхронизация данных происходила магическим образом. Конечно же, такая «магия» возможна, когда вы используете и облако, и клиентскую часть нашего «синхронизирующего» SDK.

И тут хочется чуть подробнее рассказать, какие проблемы и как мы решали, чтобы она случилась.

Конфликты

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

Прозрачная работа без сети

Мобильное приложение (да и многие другие) не может рассчитывать на стабильную связь, а данные сервиса могут измениться в любой момент. Это не должно быть проблемой для того, кто использует нашу облачную базу. Очевидно это так же очень важно учитывать в нашем SDK. Мы решили эту проблему такой схемой действий:

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

Как устроен API

Идентификатором состояния БД является номер ревизии. В API реализована схема контроля ревизий, что позволяет отслеживать и фиксировать конфликтные ситуации. При создании БД ревизия равна нулю, при дальнейшем получении каких-либо изменений для данной базы номер ревизии будет увеличиваться на единицу. Любые изменения осуществляются за счет отправки дельты обновлений. С её помощью можно создавать, удалять и редактировать записи.

Конфликтом считается такая ситуация, при которой клиент отправляет на сервер ревизию младше существующей на нём. В таком случае сервер смотрит на номер пришедший ревизии и отправляет набор изменений до существующей версии.

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

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

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

Заключение

Начать использовать HTTP API и JS SDK вы можете уже сейчас. В ближайшем будущем мы выпустим SDK для Android и iOS.

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

Источник

Общие сведения

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

Синхронизация данных осуществляется через промежуточное хранилище (в дальнейшем хранилище синхронизации). Хранилище синхронизации размещается на серверах Яндекса. Оно используется для хранения текущего состояния данных приложения, а также истории всех изменений. Задача разработчика заключается в том, чтобы реализовать синхронизацию локальных данных приложения (данных, которые хранятся, например, в памяти приложения) с данными из хранилища синхронизации.

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

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

Для доступа к хранилищу требуется OAuth-авторизация.

API поддерживает два формата обмена данными: JSON и Protocol Buffer.

Источник

Операционные системы и программное обеспечение