ПКРПСиБД_ЛАБ10_СтепнаяЕВ (Лабораторные работы РИСиБД)

2015-08-23СтудИзба

Описание файла

Файл "ПКРПСиБД_ЛАБ10_СтепнаяЕВ" внутри архива находится в папке "Лабораторные работы РИСиБД". Документ из архива "Лабораторные работы РИСиБД", который расположен в категории "". Всё это находится в предмете "распределённые ис и базы данных" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "распределённые ис и базы данных" в общих файлах.

Онлайн просмотр документа "ПКРПСиБД_ЛАБ10_СтепнаяЕВ"

Текст из документа "ПКРПСиБД_ЛАБ10_СтепнаяЕВ"



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

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

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

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











Лабораторная работа №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 все равно будет исключен.

В следующем примере кода объект FileSyncScopeFilter используется для создания фильтра, исключающего все файлы с расширением LNK. Фильтр не имеет никакой связи с создающим его поставщиком. Чтобы подключить фильтр к поставщику, он должен быть передан одному из конструкторов класса FileSyncProvider или присвоен свойству ScopeFilter. В рассматриваемом образце приложения эта передача осуществляется в методе DetectChangesOnFileSystemReplica(), поскольку данный фильтр применим только для обнаружения изменений. Поскольку фильтр не зависит от поставщика, то в каждом сеансе синхронизации должен быть создан только один фильтр; поставщики не должны использовать другие фильтры, так как это может привести к расхождению данных.

Обработка конфликтов

Платформа Sync Framework обнаруживает и разрешает конфликты параллелизма и конфликты ограничений для файлов и папок. Конфликт параллелизма возникает в том случае, если один и тот же элемент изменился в обеих репликах после проведения последнего сеанса синхронизации между этими репликами. Конфликт ограничения возникает при добавлении на обеих репликах файла или папки с одним и тем же именем. Конфликты разрешаются путем сохранения файла или папки с последним по времени изменением или путем удаления (или перемещения) файла или папки с более старым изменением. Применительно к файлам предусмотрена также возможность задать, что победителем конфликта всегда является источник или назначение (независимо от того, где было сделано первое изменение). В следующем примере кода регистрируются обработчики событий ItemConflicting и ItemConstraint, которые доступны через объект SyncCallbacks. Вызываемые методы разрешают все конфликты в пользу источника и выводят данные на консоль.

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5280
Авторов
на СтудИзбе
419
Средний доход
с одного платного файла
Обучение Подробнее