Microsoft Sync Framework - Microsoft Sync Framework
Microsoft Sync Framework это синхронизация данных платформа от Microsoft которые можно использовать для синхронизации данных в нескольких хранилищах данных. Sync Framework включает в себя транспортно-независимую архитектуру, в которой поставщики синхронизации для конкретных хранилищ данных, смоделированные на основе ADO.NET API поставщика данных, можно подключить. Sync Framework можно использовать для автономного доступа к данным, работая с кэшированным набором данных и отправляя изменения в основную базу данных в пакете, а также для синхронизации изменений с источником данных для всех потребителей (синхронизация публикации / подписки) и пиринговый синхронизация нескольких источников данных. Sync Framework имеет встроенные возможности для обнаружения конфликтов - независимо от того, были ли измененные данные уже обновлены - и может помечать их для ручной проверки или использовать определенные политики, чтобы попытаться разрешить конфликт. Службы синхронизации включают встроенный SQL Server Compact база данных для хранения метаданные об отношениях синхронизации, а также о каждой попытке синхронизации. Платформа синхронизации API появляется как в управляемый код, для использования с .NET Framework приложения, а также неуправляемый код для использования с COM Приложения. Планировалось отправить с Visual Studio 2008 в конце ноября 2007 г.[1]
Архитектура
Среда выполнения Sync Framework обеспечивает функциональность синхронизации, не привязываясь к каким-либо хранилищам данных или протоколам передачи данных. Предоставляя конкретный источник данных провайдеры синхронизации, может поддерживаться любой источник данных. Например, с помощью подходящих поставщиков синхронизации файлы могут быть синхронизированы на компьютерах, обновления проекта синхронизированы между участниками проекта или мультимедиа синхронизированы между устройствами. Sync Framework поставляется с тремя поставщиками: Службы Microsoft Sync Services для ADO.NET, Службы синхронизации для файловых систем, и Службы синхронизации для SSE. Службы синхронизации можно использовать для синхронизации устройств путем предоставления поставщиков для устройства. Аналогичным образом программное обеспечение PIM, такое как Microsoft Office Outlook и медиа-библиотеки, такие как Проигрыватель Windows Media также может поддерживаться подходящими поставщиками.
Поставщики используются для перечисления элементов в хранилище данных, каждый из которых идентифицируется идентификатором элемента. Кроме того, они также должны поддерживать метаданные синхронизации и состояние хранилища данных, чтобы изменения можно было быстро перечислить. Метаданные поддерживаются для каждого экземпляра хранилища данных (копия), к которому привязан провайдер. Сохраняемые метаданные включают идентификатор реплики, количество тактов (представляющих прогрессию во времени), журнал конфликтов, надгробный журнал, и набор изменений, произошедших в хранилище данных (знание). Пара идентификатора реплики и счетчика тактов составляет версия
и кодирует состояние хранилища данных до этого времени. Sync Framework определяет набор операций для Знание
объект для реплики: Содержит
который определяет, есть ли в магазине указанное изменение, Союз
объединить два набора знаний, Проект
для проецирования знаний для подмножества элементов, и Исключать
для создания нового набора знаний без изменений для подмножества элементов. Метаданными управляет служба хранения метаданных который использует внутрипроцессный SQL Server Compact база данных для хранения метаданных для каждого поставщика.
Службы синхронизации API работает, создавая сеанс синхронизации, представленный Сессия
объект. Сеанс синхронизации синхронизирует данные между двумя поставщиками синхронизации - одним для исходного хранилища данных, а другим - для места назначения. Экземпляры обоих провайдеров передаются в Сессия
объект. Во время сеанса синхронизации поставщик назначения отправляет набор знаний магазина. Поставщик источника сравнивает сведения о месте назначения с изменениями, заданными в источнике, чтобы перечислить изменения и затем передать их в место назначения. Поставщик назначения проверяет, не противоречат ли изменения, объединяет изменения и обновляет знания.
- Синхронизация моментальных снимков (синхронизация только для загрузки): данные в источнике данных (или его подмножестве) синхронизируются с клиентами.
- Синхронизация только для загрузки: данные в клиенте объединяются с исходной репликой.
- Двунаправленная синхронизация: оба источника данных можно изменять независимо, и изменения синхронизируются друг с другом. N-уровневая синхронизация достигается за счет выполнения нескольких двунаправленных синхронизаций.
Службы синхронизации для ADO.NET
Microsoft Sync Services для ADO.NET - это поставщик синхронизации для синхронизации между базами данных с использованием ADO.NET. ADO.NET Наборы данных синхронизируются между источником и местом назначения, которые затем сохраняются на сервере базы данных. Он также может поддерживать источники данных, кроме реляционная база данных, как База данных XML или же веб-сервис пока предоставляется прокси-сервер для абстрагирования источника данных и для него доступен поставщик данных.
Службы синхронизации для ADO.NET Provider предназначен для использования в автономных приложениях, где данные из центральной базы данных кэшируются локально. Приложение работает с кэшированными данными, и изменения загружаются пакетно. Кроме того, поставщик также может использоваться для совместных приложений, где каждое приложение будет работать со своим локальным набором данных, который будет периодически синхронизироваться в пиринговый манера с другими участниками. Локально наборы данных могут храниться либо с помощью SQL Server Compact база данных или любой другой сервер базы данных, поддерживающий ADO.NET. Службы синхронизации для ADO.NET позволяют отслеживать инкрементные изменения, что позволяет реплицировать только изменения, а не всю копию.
Службы синхронизации для файловых систем
Поставщик служб синхронизации для файловых систем используется для синхронизации двух расположений файловой системы, которые могут быть либо локальными папками, либо общими сетевыми ресурсами. Помимо зеркального отображения новых файлов, также синхронизируются изменения в существующих файлах. Изменения в файлах обнаруживаются с помощью отметок времени или, необязательно, с помощью хеширование содержимое файла. Обнаруживаются конфликтующие изменения в одном и том же файле, и их можно настроить на автоматическое разрешение. В случае конфликтующих обновлений одного и того же файла более новые изменения будут сохранены. Если файл удален в одной реплике, но обновлен в другой, обновление будет иметь приоритет над удалением. Если два файла с разным содержимым создаются с одинаковым именем на двух репликах, во время операции синхронизации будет сохранен созданный позже файл. Если операция переименования привела к тому, что файлы получили одно и то же имя, оба сохраняются путем переименования одного из них. Любое удаление можно настроить для перемещения файла в Корзина, чтобы его можно было восстановить при необходимости. Поставщик служб синхронизации для файловых систем также предоставляет предварительный просмотр режим, который перечисляет действия, которые будут предприняты для операции синхронизации, без фактического выполнения операций, с целью позволить пользователям просматривать изменения, которые будут внесены. Синхронизация выполняется в пиринговый манера. Ни Sync Framework, ни поставщик служб синхронизации для файловых систем не выполняют никакой аутентификации перед доступом к файлам; поэтому любая аутентификация - это работа приложения, использующего Sync Framework API. Файлы передаются без шифрования. Чтобы использовать шифрование при передаче, необходимо использовать настраиваемые поставщики, использующие зашифрованное TCP-соединение. Поставщик служб синхронизации для файловых систем также поддерживает статические фильтры для исключения файлов на основе подстановочные знаки или атрибуты. Во-первых ОСАГО выпуск, однако поставщик служб синхронизации для файловых систем не синхронизирует ни NTFS дескрипторы безопасности или же Альтернативные потоки данных.
Службы синхронизации для FeedSync
Службы синхронизации для FeedSync поставщик может использоваться для синхронизации реплик путем создания FeedSync включено подача, либо в RSS или же АТОМ форматы, на которые затем могут подписаться заинтересованные стороны. Провайдер также можно использовать для извлечения элементов из FeedSync передать и объединить изменения обратно в хранилище данных. Службы синхронизации для FeedSync использует другого поставщика для подключения к хранилищу данных.
Службы синхронизации для FeedSync предоставляют службы, которые можно использовать для синхронизации данных реплики с каналами RSS и Atom. (Реплика - это конкретный репозиторий информации, которая должна быть синхронизирована.) Используя службу производителя FeedSync, приложение синхронизации может работать с поставщиком синхронизации для создания списка элементов из реплики и помещения их в поток RSS или Atom XML. Затем эти элементы могут быть опубликованы для заинтересованных подписчиков. Точно так же служба потребителя FeedSync помогает приложению синхронизации принимать входной поток RSS или XML Atom, извлекать из него элементы и затем использовать поставщика синхронизации для применения только соответствующих изменений к реплике. Поскольку Sync Framework лежит в основе обмена элементами каналов, два канала могут иметь перекрестную подписку и легко синхронизироваться друг с другом как одноранговые узлы в сообществе синхронизации. (Сообщество синхронизации - это набор реплик, которые поддерживают синхронизацию своих данных друг с другом.)
Лицензирование
Microsoft Sync Framework распространяется бесплатно на устройства Windows и Windows Mobile. Поддержка других платформ доступна через коммерческие комплекты лицензирования и портирования.[2]
Смотрите также
Примечания
- ^ «Microsoft: Sync Framework - это не Google Gears». 2007-11-06. Архивировано из оригинал на 2015-06-19. Получено 2015-06-19.
- ^ «Microsoft Sync Framework (MSF) - часто задаваемые вопросы». Получено 24 июля 2016.