Второй общий подход к реализации механизма транзакций называется списком намерений. Этот метод заключается в том, что модифицируются самые файлы, а не их копии, но перед изменением любого блока ведется запись в специальный файл - газета регистрации, где отмечается, которая транзакция делает изменения, который файл и блок меняется и которые старое и новое значения изменяемого блока. Только после успешной записи у газету регистрации делаются изменения в исходном файле. Если транзакция фиксируется, то и об этом делается запись в газету регистрации, но старые значения измененных данных хранятся. Если транзакция перерывается, то информация газеты регистрации используется для приведения файла в исходное состояние, и это действие называется откатом.
В распределенных системах фиксация транзакций может возжелать взаимодействия нескольких процессов на разных машинах, каждая с который бережет некоторые переменные, файлы, базы данных. Для достижения свойства неделимости транзакций в распределенных системах используется специальный протокол, называемый протоколом двухфазной фиксации транзакций. Хотя он и не является единым протоколом такого рода, но он более всего широко используется.
Суть этого протокола составляется в такому. Один из процессов выполняет функции координатора (рисунок 3.8). Координатор начинает транзакцию, делая запись об этом в своей газете регистрации, потом он посылает всем подчиненным процессам, также исполняющим эту транзакцию, сообщение "подготовиться к фиксации". Когда подчиненные процессы получают это сообщение, то они проверяют, готовые ли они к фиксации, делают запись в своей газете и посылают координатору сообщения-ответ "готовая к фиксации". После этого подчиненные процессы остаются в состоянии готовности и ждут от координатора команду фиксации. Если хотя бы один из подчиненных процессов не откликнулся, то координатор откатывает подчиненные транзакции, включая и те, что подготовились к фиксации.
Выполнение второй фазы заключается в том, что координатор посылает команду "фиксировать" (commit) всем подчиненным процессам. Выполняя эту команду, последние фиксируют изменения и завершают подчиненные транзакции. В результате гарантируется одновременное синхронное завершение (удачное или неудачное) распределенной транзакции.
Рис. 3.8. Двухфазный протокол фиксации транзакции
Возможно стоит прочитать:
- Две группы пользователей
- Пользователи системы также не оставались в стороне.
- Экран разделов
- Область SEO Settings
- Обзорный список
- Меню
- Алгоритмы взаимного исключения
- Физическая организация и адрес файла
- Списки намерений
- Настройка существующего меню
- Пиктограмма Move, copy
- Корпоративные ОС
- Множества страниц
- Нити
- Одноранговые сетевые ОС и ОС с выделенными серверами
- Особенности методов построения
- Перевод пунктов меню
- Четыре модели организации связи доменов
- Использование магистрального протокола
- Реализации справочных систем
- Сетевой пакет DCE фирмы OSF
- Проблемы взаимодействия операционных систем в гетерогенных сетях
- Стандарт Opendoc
- Управление локальными ресурсами
- Выполнения подпрограмм
- Инсталляция Joomla!
- Шаг 7: завершение
- Загрузка Хаммпп
- Клиентская и серверная часта
- Рабочий поток
- Алгоритмы взаимного исключения
- Физическая организация и адрес файла
- Списки намерений
- Корпоративные ОС
- Множества страниц
- Нити
- Одноранговые сетевые ОС и ОС с выделенными серверами
- Особенности методов построения
- Четыре модели организации связи доменов
- Использование магистрального протокола
- Реализации справочных систем
- Сетевой пакет DCE фирмы OSF
- Проблемы взаимодействия операционных систем в гетерогенных сетях
- Стандарт Opendoc
- Управление локальными ресурсами
- Выполнения подпрограмм
- Joomla! — это целый мир!
- Привычки пользователей
- Диалоги
- Категория Описание
- Область Debug Settings
- Пиктограмма New
- Декоративные элементы
- Папки, флайеры, наклейки
- Алгоритмы взаимного исключения
- Физическая организация и адрес файла
- Кэширование диска
- Процессы и нити в распределенных системах
- Списки намерений
- Новый элемент
- Пиктограмма Trash
- Корпоративные ОС
- Нити
- Особенности методов построения
- Сетевые операционные системы
- Дерево каталогов в nds
- Множественные прикладные среды
- ООП эффективен
- Реализации справочных систем
- Страничное распределение
- Управление локальными ресурсами
- Вызов отдаленных процедур (RPC)
- ХАМРР для Windows
- Шаг 2: предустановочная проверка
- Контент и его термины
- Расширения и компоненты
- Алгоритмы взаимного исключения
- Физическая организация и адрес файла
- Кэширование диска
- Процессы и нити в распределенных системах
- Списки намерений
- Корпоративные ОС
- Нити
- Особенности методов построения
- Сетевые операционные системы
- Дерево каталогов в nds
- Множественные прикладные среды
- ООП эффективен
- Реализации справочных систем
- Страничное распределение
- Управление локальными ресурсами
- Вызов отдаленных процедур (RPC)
s#0