Министерство образования и науки рф Новосибирский государственный технический университет
Курсовая работа по дисциплине: Базы данных
Вариант:2
Группа:ПМИ-11
Студент: Говоров Р.К.
Преподаватель: Стасышин В.М.
Новосибирск 2015
Вариант задания
Схема репликации:
Многонаправленное тиражирование “Центр-филиалы”. Изменение (вставка, модификация, удаление), выполненное в одной из ПБД, тиражируются в ЦБД, после чего изменения реплицируются во все другие ПБД.
Запуск репликатора:
Через определенный интервал времени в секундах, задаваемый при запуске программы РД.
Разрешение коллизий:
В пользу более раннего обновления.
Общее описание спроектированной схемы репликации
В данной работе предполагается, что Центральная БД(ЦБД) находится на сервере, а Побочные БД(ПБД) находятся у клиентов.
Предполагается, что в начальном состоянии Центральная БД и Побочные БД полностью идентичны.
Через определенное время после начала работы Репликатора сервер закрывает клиентам доступ к их ПБД. После этого клиенты отправляют на сервер Журналы Изменений своих ПБД. Сервер применяет изменения на ЦБД. После этого происходит синхронизация ЦБД и всех ПБД.
Алгоритм репликации
1) Закрытие доступа клиентов к их ПБД.
2) Отправка клиентами Журналов Изменений на сервер.
3) Объединение всех Журналов Изменений в один.
4) Обработка Объединенного Журнала Изменений(ОЖИ).
5) Применение ОЖИ к ЦБД.
6) Сохранение изменений(резервная копия) и внесение информации из ОЖИ в Итоговый Журнал(в целях безопасности).
7) Отправка ОЖИ клиентам.
8) Применение ОЖИ к ПБД.
9) Обнуление клиентских Журналов Изменений.
10) Открытие доступа клиентов к их ПБД.
3.1. Структура Журнала Изменений
Журнал Изменений - это таблица имеющая следующий формат:
Дата и время внесения изменений |
Таблица в которую были внесены изменения |
Тип изменения |
Вид строки до внесения изменений |
Вид строки после внесения изменений |
ID клиента внесшего изменения |
3.1.1. Схема работы с Журналом Изменений
1) Каждое изменение внесенное клиентом в его ПБД регистрируется в клиентском Журнале изменений, в формате соответствующем формату Журнала.
2) После начала репликации все Журналы всех клиентов отправляются на сервер.
3) На сервере все Журналы Изменений объединяются в Объединенный Журнал Изменений.
4) Таблица ОЖИ упорядочивается по полю "Дата и время внесения изменений" в порядке "от раннего к позднему".
5) Из таблицы ОЖИ удаляются элементы по принципу:
Выбирается первый элемент таблицы ОЖИ.
Поочередно проверяются все оставшиеся элементы таблицы ОЖИ.
Если найден элемент для которого поле "Вид строки до внесения изменений" совпадает с таким же полем у выбранного элемента, то найденный элемент удаляется.
Если проверена вся таблица ОЖИ, то выбирается следующий элемент таблицы.
Если был выбран последний элемент таблицы, то п.6, иначе п.2.
Алгоритм завершен. Теперь в ОЖИ не осталось элементов, которые могли бы вызвать коллизию.
6) В ЦБД вносятся изменения в соответствии с ОЖИ.
7) ОЖИ отправляется клиентам, для внесения изменений в их ПБД.