Разработка прототипа системы управления объектно-ориентированной базой данных



         

Состояние пользовательских транзакций на объектах


Каждый объект O в системе хранит состояние каждой пользовательской транзакции в системе. Состояние пользовательской транзакции (т.е. операции на DBIO) может принимать одно из следующих значений:

Никогда не активировалась (Never Activated)

Любая пользовательская транзакция, которая не воздействовала на O прямо или косвенно, находится в этом состоянии на O. Это эквивалентно тому, что не имеется никакой информации о пользовательской транзакции в O.

Завершена

(Completed)

Пользовательская транзакция находится в состоянии Завершена на O, если операция вызванная ей на O закончила выполнение всех своих шагов.

Находится в точке проверки (Chekpoint)

Пользовательская транзакция не произвела никаких действий с тех пор, как оказалась в точке проверки.

Задержана для проверки (BlockedForCheckPoint)

Пользовательская транзакция ожидает выполнения условий, которые будут удовлетворять переводу ее в Точку проверки.

Выполняется (Executing)

Пользовательская транзакция выполняется на O, если операция op(O), вызванная этой транзакцией выполняется.

Рис 4: Диаграмма переходов транзакции из состояния в состояние

Таблица 4: Пример изменения состояния транзакции при ее выполнении

Действия

Новое состояние транзакции

Никогда не активировалась

Объект O получил запрос на выполнение op(O) впервые для транзакции Tr(op(O)) и op(O) начинает выполняться

Выполняется

Операция транзакции достигла описанной для нее точки проверки,  все остальные активные операции на O "никогда не активировались" в точке проверки

Находится в точке проверки

Операция транзакции достигла описанной для нее точки проверки, но активные операции не находятся в своих точках проверки

Блокирована для точки провер­ки

Tr(op(O)) закончила все свои шаги

Завершена

Таким образом, если объект имеет точки проверки, описанные для своих операций, то операции встречаются (рандеву) в точке проверки. Если операции в точке проверки произведены успешно, то в будущем нет необходимости любой операции откатываться (rollback) за точку проверки.




Содержание  Назад  Вперед