Лабораторная работа 10 (ПКРПСиБД LAB10 Степная Е.В.)

Посмотреть архив целиком



Национальный исследовательский университет

«Московский Энергетический Институт»

Институт автоматики и вычислительной техники

Кафедра прикладной математики











Лабораторная работа №10

По дисциплине «Проектирование крупных программных систем и баз данных»

На тему «Microsoft Sync Framework»



Выполнила студентка

Группы А-13-08

Степная Е.В.



Проверил

Куриленко И.Е.









Москва, 2012



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

Sync Framework может применяться для:

1) синхронизации баз данных;

2) синхронизации файловых систем;

3) синхронизации хранилищ данных с помощью пользовательских поставщиков.

Технологии Sync Framework

Sync Framework включает следующие технологии.

Базовые компоненты Sync Framework. Используются для создания служб синхронизации для любого типа хранилищ данных.

  • Службы Microsoft Sync Services for ADO.NET. Используются для автономной и совместной синхронизации баз данных.

  • Служба хранилища метаданных. Используется для хранения метаданных синхронизации в облегченном хранилище данных.

  • Службы Sync Services for File Systems. Используются для синхронизации файлов и папок в файловой системе.

  • Службы Sync Services for FeedSync. Используются для синхронизации RSS-каналов и каналов Atom в локальном хранилище.

Преимущества использования метаданных

Sync Framework использует метаданные, включающие все необходимые для синхронизации сведения. Метаданные невелики и эффективны, компоненты Sync Framework выполняют множество задач с участием метаданных. Использование метаданных делает синхронизацию не зависящей от типа данных и способствует установлению равновесия между независимостью, взаимодействием и простотой. В следующей таблице приводится список и описание некоторых преимуществ использования метаданных Sync Framework.


Преимущество

Описание

Лаконичность

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

Эффективность

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

Точность

Sync Framework использует точное обнаружение конфликтов — без недостаточности или избыточности и без излишней отправки изменений. Это применимо как к неструктурированным данным, например к файлам, так и структурированным, например к подробному отслеживанию изменений.

Гибкость

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

Взаимодействие

Метаданные согласованы. Поэтому поддерживаются произвольно выбранные топологии.

Простота

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

Полезность

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



Высокоуровневая архитектура

Архитектура Sync Framework позволяет совместно использовать данные любому количеству устройств, служб и реплик приложений, воспринимая хранилища данных, механизмы передачи и схемы как набор строительных блоков. Строительными блоками Sync Framework являются среда выполнения, службы Metadata Services и поставщик. Среда выполнения обеспечивает синхронизацию для поставщиков. Поставщики используют службы Metadata Services для обработки и хранения метаданных.

На следующем рисунке показана высокоуровневая архитектура Sync Framework. Обратите внимание, что синхронизация осуществляется путем предоставления объекту сеанса синхронизации доступа к интерфейсам поставщика из хранилища данных. Например, хранилище данных адресной книги и хранилище данных устройства синхронизируют общие контакты. Сеанс синхронизации соединяет оба поставщика и вызывает API-интерфейс для определения изменений и необходимости их применения с помощью служб Metadata Services.

Среда выполнения

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

Службы Metadata Services

Этот компонент помогает приложениям работать с процессом синхронизации метаданных. Он освобождает приложения и поставщиков от необходимости понимать внутренние механизмы и подробности работы метаданных, например структуру знаний. Он также предоставляет службу хранения метаданных, необязательный компонент хранения метаданных для приложений, не имеющих логического местоположения для хранения метаданных синхронизации. Службы хранения метаданных используют упрощенное хранилище данных и выполняются в клиентском процессе. Доступ к службам Metadata Services обеспечивают как управляемые, так и неуправляемые интерфейсы. Дополнительные сведения см. в разделе Управление метаданными;

Поставщик

Поставщик использует уровень интерфейса, чтобы скрыть сложность своего хранилища данных от среды выполнения. Он является основной точкой интеграции в Sync Framework. Реализация поставщика — первоначальная задача разработки синхронизации пользовательских данных. Поставщик может реализовать управляемую или не управляемую версию интерфейса. Дополнительные сведения см. в разделе Службы синхронизации;

Синхронизация файловых систем

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

  1. Создает объект FileSyncProvider, представляющий каждую из папок.

  2. Передает два поставщика объекту SyncOrchestrator и указывает один из них в качестве поставщика источника, а другой — в качестве поставщика назначения.

  3. Вызывает Synchronize, чтобы начать сеанс синхронизации.

Пример

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

  • Как задать параметры синхронизации.

  • Как выполнить явное обнаружение изменения для реплики.

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

  • Как обрабатывать конфликты, которые могут возникнуть в процессе синхронизации.

  • Как синхронизировать две реплики.

Задание параметров синхронизации

Объект FileSyncOptions позволяет определить ряд параметров синхронизации файлов, в том числе задать способ обнаружения изменений и необходимость удаления элементов или их перемещения в корзину в процессе синхронизации. В следующем примере кода определены четыре параметра, три из которых связаны с операциями удаления элементов. Параметр ExplicitDetectChanges указывает на то, что платформа Sync Framework не будет выполнять обнаружение изменений, если приложение явным образом не вызвало метод DetectChanges. Объяснение приведено в разделе «Осуществление обнаружения изменений».

Осуществление обнаружения изменений

По умолчанию платформа Sync Framework выполняет обнаружение изменений в обеих репликах при каждом вызове метода Synchronize. Обнаружение изменений дает возможность платформе Sync Framework определить, какие элементы должны быть отправлены от источника к назначению, а какие из этих элементов конфликтуют (если есть). Параметр ExplicitDetectChanges позволяет управлять способом обнаружения изменений. В следующем примере кода обнаружение изменений вызывается для каждой реплики еще до вызова метода Synchronize. Этот пример иллюстрирует метод DetectChanges, преимущество которого заключается в том, что требует одного прохода обнаружения изменений, а не двух, как при выполнении двунаправленной синхронизации, показанной ниже в этом приложении.

Определение статического фильтра

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






Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.