ВУЗ:
Составители:
Рубрика:
51
Транзакция А Время Транзакция В
-
-
Извлечение кортежа р
(задание S-блокировки
для р)
-
-
-
-
Обновление кортежа р
(задание Х-блокировки
для р)
Ожидание
Ожидание
Ожидание
Ожидание
Ожидание
Ожидание
|
|
t
1
|
|
t
2
|
|
t
3
|
|
t
4
|
|
|
↓
-
-
-
-
-
Извлечение кортежа р
(задание S-блокировки
для р)
-
-
-
-
Обновление кортежа р
(задание Х-блокировки
для р)
Ожидание
Ожидание
Ожидание
Рис. 5.6. Хотя обновления не утрачиваются, но в момент времени t
4
возникает тупиковая
ситуация
Проблема незафиксированной зависимости
На рис. 5.7 и 5.8 приведены в измененном виде примеры, показанные ранее на рис.
5.2 и 5.3 соответственно. Они демонстрируют чередующееся выполнение операций
согласно описанному выше протоколу блокировки. Операция для транзакции А в момент
времени t
2
(извлечение на рис. 5.7 и обновление на рис. 5.8) не будет выполнена. Дело в
том, что она является неявным запросом с заданием блокировки для кортежа p, а этот
запрос вступает в конфликт с Х-блокировкой, уже заданной транзакцией В.
Транзакция А Время Транзакция В
-
-
-
-
-
Извлечение кортежа р
(задание S-блокировки для
р)
Ожидание
Ожидание
Ожидание
Итог: извлечение кортежа р
(задание S-блокировки для
р)
-
|
|
t
1
|
|
t
2
|
|
t
3
|
t
4
|
↓
-
-
Обновление кортежа р
(задание Х-блокировки для р)
-
-
-
-
Окончание или отмена
выполнения
(снятие Х-блокировки для р)
Рис. 5.7. Транзакция А предохраняется от выполнения операций
с незафиксированным изменением в момент времени t
2
Таким образом, транзакция А переходит в состояние ожидания до тех пор, пока не
будет прекращено выполнение транзакции В (до операции окончания или отмены вы-
Транзакция А Время Транзакция В
- | -
- | -
Извлечение кортежа р t1 -
(задание S-блокировки | -
для р) | -
- t2 Извлечение кортежа р
- | (задание S-блокировки
- | для р)
- t3 -
Обновление кортежа р | -
(задание Х-блокировки | -
для р) t4 -
Ожидание | Обновление кортежа р
Ожидание | (задание Х-блокировки
Ожидание | для р)
Ожидание ↓ Ожидание
Ожидание Ожидание
Ожидание Ожидание
Рис. 5.6. Хотя обновления не утрачиваются, но в момент времени t4 возникает тупиковая
ситуация
Проблема незафиксированной зависимости
На рис. 5.7 и 5.8 приведены в измененном виде примеры, показанные ранее на рис.
5.2 и 5.3 соответственно. Они демонстрируют чередующееся выполнение операций
согласно описанному выше протоколу блокировки. Операция для транзакции А в момент
времени t2 (извлечение на рис. 5.7 и обновление на рис. 5.8) не будет выполнена. Дело в
том, что она является неявным запросом с заданием блокировки для кортежа p, а этот
запрос вступает в конфликт с Х-блокировкой, уже заданной транзакцией В.
Транзакция А Время Транзакция В
- | -
- | -
- t1 Обновление кортежа р
- | (задание Х-блокировки для р)
- | -
Извлечение кортежа р t2 -
(задание S-блокировки для | -
р) | -
Ожидание t3 Окончание или отмена
Ожидание | выполнения
Ожидание t4 (снятие Х-блокировки для р)
Итог: извлечение кортежа р |
(задание S-блокировки для ↓
р)
-
Рис. 5.7. Транзакция А предохраняется от выполнения операций
с незафиксированным изменением в момент времени t2
Таким образом, транзакция А переходит в состояние ожидания до тех пор, пока не
будет прекращено выполнение транзакции В (до операции окончания или отмены вы-
51
Страницы
- « первая
- ‹ предыдущая
- …
- 49
- 50
- 51
- 52
- 53
- …
- следующая ›
- последняя »
