Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Initial





состояние сайта:= “инициализация”

Endi

Event

if message.code = “включить данные в БД” then

Begin

start; write(“начало транзакции”);

L:= Æ;

out “приготовиться к изменениям”;

состояние сайта:= “ожидание”;

schedule (TimeOut, T)

End

else if message.code = “готов” then

Begin

Include(L, message.id);

if L = S then

Begin

L:= Æ; out “общее обновление”;

состояние сайта:= “обновление”

End

End

else if message.code = “выполнено” then

Begin

Include(L, message.id);

if L = S then

Begin

write(“транзакция завершена”);

состояние сайта:= “завершено”

End

End

else if message.code = “не готов” then

Begin

write(“не готов менеджер копии”);

out “общий возврат”;

End

else if message.code = “не выполнено” then

Begin

write(“не выполнил менеджер копии”);

out “общий возврат”;

End

else if message.code = “отказ принят” then

Begin

Include(L, message.id);

if L = S then

Begin

write(“отказы подтверждены”);

состояние сайта:= “завершено”

End

End

Endc

ende;

event TimeOut;

write(“время истекло”);

состояние сайта:= “завершено”;

out “общий возврат”;

ende.

 

Менеджер сайта – владельца исходной базы данных получает сообщение “включить данные в БД” при необходимости корректировки копий. Менеджер заносит соответствующую запись “начало транзакции” в свой журнал, готовит структуру данных (L:= Æ) для занесения в нее в будущем информации о готовности периферийных сайтов и рассылает всем сообщение “приготовиться к изменениям”. Кроме этого, менеджер устанавливает предельное время (T) для проведения всего процесса.

Менеджеры mj сайтов начинают присылать сообщения о своей готовности. Идентификаторы этих сайтов заносятся в множество L. Если все сайты готовы, то при приходе последнего сообщения выполнится условие L = S, т.е. множество сайтов, сообщивших о своей готовности, совпадает с множеством всех сайтов.

После этого менеджер M отправляет всем mj сообщение “общее обновление”. Далее идет процесс, похожий на предыдущий. Только теперь менеджеры mj проводят обновления и сообщают об этом словом “выполнено”. Если все выполнят обновления, то транзакция завершается.

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

Рутины менеджеров копий:

routine m

Date: 2015-09-18; view: 345; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.008 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию