Репликатор начинает работу
1) Клиентам закрывается доступ к их ПБД.
2) На сервер отправляются Журналы Изменений клиентов.
3) Журналы Изменений клиентов объединяются в Общий Журнал Изменений.
4) ОЖИ упорядочивается по полю " Дата и время внесения изменений "
ОЖИ выглядит следующим образом:
Дата и время внесения изменений
| Таблица в которую были внесены изменения
| Тип изменения
| Вид строки до внесения изменений
| Вид строки после внесения изменений
| ID клиента внесшего изменения
| 15.12.14 / 12-05
| tab_3
| обновление
| 10.12.14 / 16-45
| "Идиот"
| начальная вставка
|
| 15.12.14 / 12-05
| "История России"
| обновление
|
| u2
| 15.12.14 / 12-10
| tab_3
| удаление
| 10.12.14 / 16-45
| "Идиот"
| начальная вставка
|
| -
| u1
| 15.12.14 / 12-11
| tab_3
| удаление
| 11.12.14 / 13-15
| "Шестая палата"
| начальная вставка
|
| -
| u1
| 15.12.14 / 12-12
| tab_3
| удаление
| 12.12.14 / 11-21
| "Евгений Онегин"
| начальная вставка
|
| -
| u1
| 15.12.14 / 12-15
| tab_3
| вставка
| -
| 15.12.14 / 12-15
| "Комбинаторная оптимизация"
| вставка
|
| u1
| 15.12.14 / 12-20
| tab_2
| удаление
| 11.12.14 / 13-15
| "Шестая палата"
| начальная вставка
|
| -
| u1
| 15.12.14 / 12-22
| tab_2
| вставка
| -
| 15.12.14 / 12-22
| "Так говорил Заратустра"
| вставка
|
| u2
| 15.12.14 / 12-30
| tab_1
| обновление
| 12.12.14 / 11-21
| "Евгений Онегин"
| начальная вставка
|
| 15.12.14 / 12-30
| "Вычислительные машины"
| обновление
|
| u2
| 15.12.14 / 12-45
| tab_1
| обновление
| 10.12.14 / 16-45
| "Идиот"
| начальная вставка
|
| 15.12.14 / 12-45
| "Фрактальная геометрия"
| обновление
|
| u1
| 15.12.14 / 12-45
| tab_3
| обновление
| 11.12.14 / 13-15
| "Шестая палата"
| начальная вставка
|
| 15.12.14 / 12-45
| "Русско-немецкий словарь"
| обновление
|
| u2
|
ОЖИ обрабатывается в соответствии с описанным выше алгоритмом и приобретает следующий вид:
Дата и время внесения изменений
| Таблица в которую были внесены изменения
| Тип изменения
| Вид строки до внесения изменений
| Вид строки после внесения изменений
| ID клиента внесшего изменения
| 15.12.14 / 12-05
| tab_3
| обновление
| 10.12.14 / 16-45
| "Идиот"
| начальная вставка
|
| 15.12.14 / 12-05
| "История России"
| обновление
|
| u2
| 15.12.14 / 12-11
| tab_3
| удаление
| 11.12.14 / 13-15
| "Шестая палата"
| начальная вставка
|
| -
| u1
| 15.12.14 / 12-12
| tab_3
| удаление
| 12.12.14 / 11-21
| "Евгений Онегин"
| начальная вставка
|
| -
| u1
| 15.12.14 / 12-15
| tab_3
| вставка
| -
| 15.12.14 / 12-15
| "Комбинаторная оптимизация"
| вставка
|
| u1
| 15.12.14 / 12-20
| tab_2
| удаление
| 11.12.14 / 13-15
| "Шестая палата"
| начальная вставка
|
| -
| u1
| 15.12.14 / 12-22
| tab_2
| вставка
| -
| 15.12.14 / 12-22
| "Так говорил Заратустра"
| вставка
|
| u2
| 15.12.14 / 12-30
| tab_1
| обновление
| 12.12.14 / 11-21
| "Евгений Онегин"
| начальная вставка
|
| 15.12.14 / 12-30
| "Вычислительные машины"
| обновление
|
| u2
| 15.12.14 / 12-45
| tab_1
| обновление
| 10.12.14 / 16-45
| "Идиот"
| начальная вставка
|
| 15.12.14 / 12-45
| "Фрактальная геометрия"
| обновление
|
| u1
|
5) В ЦБД вносятся изменения согласно ОЖИ.
После внесения изменений ЦБД выглядит следующим образом:
tab_1
Дата/Время
| Содержимое таблицы
| Идентификация изменения
| 15.12.14 / 12-45
| "Фрактальная геометрия"
| обновление
| 11.12.14 / 13-15
| "Шестая палата"
| начальная вставка
| 15.12.14 / 12-30
| "Вычислительные машины"
| обновление
| tab_2
Дата/Время
| Содержимое таблицы
| Идентификация изменения
| 10.12.14 / 16-45
| "Идиот"
| начальная вставка
| 12.12.14 / 11-21
| "Евгений Онегин"
| начальная вставка
| 15.12.14 / 12-22
| "Так говорил Заратустра"
| вставка
| tab_3
Дата/Время
| Содержимое таблицы
| Идентификация изменения
| 15.12.14 / 12-05
| "История России"
| обновление
| 15.12.14 / 12-15
| "Комбинаторная оптимизация"
| вставка
|
6) ЦБД сохраняется. Информация из ОЖИ сохраняется в Итоговом Журнале.
7) ОЖИ отправляется клиентам.
8) ОЖИ применяется к ПБД клиентов.
9) Клиентские Журналы изменений обнуляются.
10) Клиентам открывается доступ к их ПБД.
|