Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

Microsoft Sync Framework - это платформа синхронизации данных от Microsoft, которую можно использовать для синхронизации данных в нескольких хранилищах данных. Sync Framework включает в себя архитектуру, не зависящую от транспорта, в которую могут быть включены поставщики синхронизации для конкретных хранилищ данных, смоделированные на основе API поставщика данных ADO.NET . Sync Framework можно использовать для автономного доступа к данным, работая с кэшированным набором данных и отправка изменений в основную базу данных в пакете, а также для синхронизации изменений в источнике данных для всех потребителей (синхронизация публикации / подписки) и в одноранговой сетисинхронизация нескольких источников данных. Sync Framework имеет встроенные возможности для обнаружения конфликтов - независимо от того, были ли уже обновлены изменяемые данные - и может помечать их для ручной проверки или использовать определенные политики, чтобы попытаться разрешить конфликт. Службы синхронизации включают встроенную базу данных SQL Server Compact для хранения метаданных о взаимосвязях синхронизации, а также о каждой попытке синхронизации. API Sync Framework представлен как в управляемом коде для использования с приложениями .NET Framework , так и в неуправляемом коде для использования с приложениями COM . Он был запланирован к поставке с Visual Studio 2008 в конце ноября 2007 года. [1]

Архитектура [ править ]

Архитектура Sync Framework

Среда выполнения Sync Framework обеспечивает функциональность синхронизации, не привязываясь к каким-либо хранилищам данных или протоколам передачи данных. Предоставляя поставщиков синхронизации для конкретных источников данных, можно поддерживать любой источник данных. Например, с помощью подходящих поставщиков синхронизации файлы могут быть синхронизированы на компьютерах, обновления проекта синхронизированы между участниками проекта или медиафайлы синхронизированы между устройствами. Sync Framework поставляется с тремя поставщиками: Microsoft Sync Services для ADO.NET , Sync Services для файловых систем и Sync Services для SSE . Службы синхронизации можно использовать для синхронизации устройств, предоставляя для устройства поставщики. Аналогичным образом программное обеспечение PIM, такое как Microsoft Office Outlookи библиотеки мультимедиа, такие как Windows Media Player, также могут поддерживаться подходящими поставщиками.

Поставщики используются для перечисления элементов в хранилище данных, каждый из которых идентифицируется идентификатором элемента. Кроме того, они также должны поддерживать метаданные синхронизации и состояние хранилища данных, чтобы изменения можно было быстро перечислить. Метаданные поддерживаются для каждого экземпляра хранилища данных ( реплики ), к которому подключен поставщик. Поддерживаемые метаданные включают идентификатор реплики, счетчик тактов (представляющий прогрессию во времени), журнал конфликтов, журнал захоронений и набор изменений, произошедших в хранилище данных ( знания ). Пара идентификатора реплики и счетчика тактов составляет versionи кодирует состояние хранилища данных до этого времени. Sync Framework определяет набор операций для Knowledgeобъекта реплики:Containsкоторый определяет, содержит ли магазин указанное изменение, Unionчтобы объединить два набора знаний, Projectспроецировать знания для подмножества элементов и Excludeсоздать новый набор знаний без изменений для подмножества элементов. Метаданными управляет служба хранения метаданных, которая использует внутрипроцессную базу данных SQL Server Compact для хранения метаданных для каждого поставщика.

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

  1. Синхронизация моментальных снимков (синхронизация только для загрузки): данные в источнике данных (или его подмножестве) синхронизируются с клиентами.
  2. Синхронизация только для загрузки: данные в клиенте объединяются с исходной репликой.
  3. Двунаправленная синхронизация: оба источника данных можно изменять независимо, и изменения синхронизируются друг с другом. N-уровневая синхронизация достигается за счет выполнения нескольких двунаправленных синхронизаций.

Службы синхронизации для ADO.NET [ править ]

Службы синхронизации для архитектуры ADO.NET

Службы Microsoft Sync Services для ADO.NET - это поставщик синхронизации для синхронизации между базами данных с помощью ADO.NET . Наборы данных ADO.NET синхронизируются между источником и местом назначения, а затем сохраняются на сервере базы данных. Он также может поддерживать источники данных, отличные от реляционной базы данных , такие как база данных XML или веб-служба, если предоставляется прокси-сервер для абстрагирования источника данных и для него доступен поставщик данных.

Поставщик служб синхронизации для ADO.NET предназначен для использования в автономных приложениях, где данные из центральной базы данных кэшируются локально. Приложение работает с кэшированными данными, и изменения выгружаются пакетно. Кроме того, поставщик может также использоваться для совместных приложений, где каждое приложение будет работать со своим локальным набором данных, который будет периодически синхронизироваться в одноранговой сети с другими участниками. Локально наборы данных могут храниться либо с помощью базы данных SQL Server Compact, либо с помощью любого другого сервера базы данных, поддерживающего ADO.NET. Службы синхронизации для ADO.NET допускают добавочное отслеживание изменений, что позволяет реплицировать только изменения, а не всю копию.

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

Поставщик служб синхронизации для файловых систем используется для синхронизации двух расположений файловой системы, которые могут быть либо локальными папками, либо общими сетевыми ресурсами. Помимо зеркального отображения новых файлов, также синхронизируются изменения в существующих файлах. Изменения в файлах обнаруживаются с помощью отметок времени или, при желании, с помощью хеширования.содержимое файла. Обнаруживаются конфликтующие изменения в одном и том же файле, и их можно настроить на автоматическое разрешение. В случае конфликтующих обновлений одного и того же файла более новые изменения будут сохранены. Если файл удален в одной реплике, но обновлен в другой, обновление будет иметь приоритет над удалением. Если два файла с разным содержимым созданы с одинаковым именем на двух репликах, во время операции синхронизации будет сохранен файл, созданный позже. Если операция переименования привела к тому, что файлы получили одно и то же имя, оба сохраняются путем переименования одного из них. Любое удаление можно настроить для перемещения файла в корзину , чтобы при необходимости его можно было восстановить. Поставщик служб синхронизации для файловых систем также предоставляет предварительный просмотррежим, который перечисляет действия, которые будут предприняты для операции синхронизации, без фактического выполнения операций, с целью позволить пользователям просматривать изменения, которые будут внесены. Синхронизация выполняется в одноранговой сети . Ни Sync Framework, ни поставщик служб синхронизации для файловых систем не выполняют никакой аутентификации перед доступом к файлам; поэтому любая аутентификация - это задача приложения, использующего Sync Framework API. Файлы передаются без шифрования. Чтобы использовать шифрование при передаче, необходимо использовать настраиваемые поставщики, использующие зашифрованное TCP-соединение. Поставщик служб синхронизации для файловых систем также поддерживает статические фильтры для исключения файлов на основе подстановочных знаков или атрибутов. В первой ОСАГОвыпуск, однако, поставщик служб синхронизации для файловых систем не синхронизирует ни дескрипторы безопасности NTFS, ни альтернативные потоки данных .

Службы синхронизации для FeedSync [ править ]

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

Службы синхронизации для FeedSync предоставляют службы, которые можно использовать для синхронизации данных реплики с каналами RSS и Atom. (Реплика - это конкретное хранилище информации, которая должна быть синхронизирована.) Используя службу производителя FeedSync, приложение синхронизации может работать с поставщиком синхронизации, чтобы создать список элементов из реплики и поместить их в поток RSS или Atom XML. Затем эти элементы могут быть опубликованы для заинтересованных подписчиков. Точно так же служба потребителя FeedSync помогает приложению синхронизации принимать входной поток RSS или XML Atom, извлекать из него элементы, а затем использовать поставщика синхронизации для применения только соответствующих изменений к реплике. Поскольку Sync Framework лежит в основе обмена элементами фида,два канала могут иметь перекрестную подписку и легко синхронизироваться друг с другом как одноранговые участники в сообществе синхронизации. (Сообщество синхронизации - это набор реплик, которые поддерживают синхронизацию своих данных друг с другом.)

Лицензирование [ править ]

Microsoft Sync Framework распространяется бесплатно на устройства Windows и Windows Mobile. Поддержка других платформ доступна через коммерческое лицензирование и комплекты для переноса. [2]

См. Также [ править ]

  • Сравнение программ для синхронизации файлов
  • FeedSync

Заметки [ править ]

  1. ^ «Microsoft: Sync Framework - это не Google Gears» . 2007-11-06. Архивировано из оригинала на 2015-06-19 . Проверено 19 июня 2015 .
  2. ^ «Microsoft Sync Framework (MSF) - FAQ» . Проверено 24 июля +2016 .

Внешние ссылки [ править ]

  • Центр разработчиков Microsoft Sync Framework
  • Представляем Microsoft Sync Framework: платформу синхронизации нового поколения - Code Magazine