У второго клиента:
Таблица_1
Дата/Время |
Содержимое таблицы |
Идентификация изменения |
20.12.15/19-45 |
Колесо |
начальные данные |
20.12.15/18-15 |
Диск |
начальные данные |
25.12.15/12-47 |
Стол |
обновление |
Таблица_2
Дата/Время |
Содержимое таблицы |
Идентификация изменения |
20.12.15/19-45 |
Колесо |
начальные данные |
20.12.15/18-15 |
Диск |
начальные данные |
21.12.15/10-21 |
Окно |
начальные данные |
25.12.15/12-47 |
Тумба |
вставка |
Таблица_3
Дата/Время |
Содержимое таблицы |
Идентификация изменения |
25.12.15/12-45 |
Чайник |
обновление |
25.12.15/12-48 |
Телевизор |
обновление |
21.12.15/10-21 |
Окно |
начальные данные |
Его Журнал транзакций:
Дата и время изменения |
Изменяемая таблица |
Тип |
Данные до изменений |
Данные после изменений |
Клиент внесший изменения |
||||||
25.12.15/12-45 |
Таблица_3 |
обновление
|
|
|
id2 |
||||||
25.12.15/12-46 |
Таблица_2 |
вставка |
|
|
id2 |
||||||
25.12.15/12-47 |
Таблица_1 |
обновление |
|
|
id2 |
||||||
25.12.15/12-48 |
Таблица_3 |
обновление
|
|
|
id2 |
Начало работы репликатора.
1) Отключаем клиентов от их ПБД.
2) На сервер отправляются Журналы транзакций клиентов.
3) Журналы транзакций клиентов объединяются в Журнал транзакций.
4) Журнал упорядочивается по полю " Дата и время изменения "
Журнал выглядит следующим образом:
Дата и время изменения |
Изменяемая таблица |
Тип |
Данные до изменений |
Данные после изменений |
Клиент внесший изменения |
||||||
25.12.15/12-45 |
Таблица_3 |
обновление
|
|
|
id2 |
||||||
25.12.15/12-45 |
Таблица_3 |
удаление
|
|
|
id1 |
||||||
25.12.15/12-46 |
Таблица_3 |
удаление
|
|
|
id1 |
||||||
25.12.15/12-46 |
Таблица_3 |
удаление
|
|
|
id1 |
||||||
25.12.15/12-46 |
Таблица_3 |
вставка |
|
|
id1 |
||||||
25.12.15/12-47 |
Таблица_2 |
удаление
|
|
|
id1 |
||||||
25.12.15/12-47 |
Таблица_2 |
вставка |
|
|
id2 |
||||||
25.12.15/12-47 |
Таблица_1 |
обновление
|
|
|
id2 |
||||||
25.12.15/12-48 |
Таблица_1 |
обновление
|
|
|
id1 |
||||||
25.12.15/12-48 |
Таблица_3 |
обновление
|
|
|
id2 |
Журнал обрабатывается в соответствии с описанным выше алгоритмом и приобретает следующий вид:
Дата и время изменения |
Изменяемая таблица |
Тип |
Данные до изменений |
Данные после изменений |
Клиент внесший изменения |
||||||
25.12.15/12-45 |
Таблица_3 |
обновление
|
|
|
id2 |
||||||
25.12.15/12-45 |
Таблица_3 |
удаление
|
|
- |
id1 |
||||||
25.12.15/12-46 |
Таблица_3 |
удаление
|
|
- |
id1 |
||||||
25.12.15/12-46 |
Таблица_3 |
вставка |
- |
|
id1 |
||||||
25.12.15/12-47 |
Таблица_2 |
удаление
|
|
- |
id1 |
||||||
25.12.15/12-47 |
Таблица_2 |
вставка |
- |
|
id2 |
||||||
25.12.15/12-47 |
Таблица_1 |
обновление
|
|
|
id2 |
||||||
25.12.15/12-48 |
Таблица_1 |
обновление
|
|
|
id1 |