сначала обращается к инвентарной записи
Бесконечное Бесконечное
ожидание ожидание
Рис. 5.4 Схема блокировки, приводящая
к тупиковой ситуации
Общим способом предупреждения проблем, связанных с параллельной обработкой, является простая блокировка. В нашем примере первая транзакция должна заблокировать инвентарную запись об окороках, т.е. запретить доступ к ней других транзакций (рис.5.3) до тех пор, пока обработка первой транзакции не будет завершена. Когда запись заблокирована одним пользователем, никакой другой пользователь не может обращаться к ней для обновления.
Предположим, что и ЛЖИ, и КП хотят заказать окорока и индеек (рис.5.4). ЛЖИ сначала обращается к инвентарной записи об индейках. Поскольку эта запись заблокирована, то КП сначала обращается к инвентарной записи об окороках. Таким образом, обе записи заблокированы для доступа других пользователей. Затем и ЛЖИ, и КП заканчивают обработку записей об индейках и окороках и готовы обращаться к другой записи. Однако ни один из пользователей не завершил выполнение транзакции, поэтому обе записи остаются заблокированными.
Существует несколько способов справляться с взаимоблокировкой. Один подход – фиксировать порядок обращения к записям. Т.е., если требуется обращаться к записям А и В, то к ним всегда нужно обращаться именно в таком порядке. В нашем примере при требовании записей об окороках и индейках можно заставить систему всегда сначала обращаться к записи об окороках, а затем - к записи об индейках. Когда ЛЖИ закончит обработку, все записи, к которым обращались, будут разблокированы и готовы к работе КП. Однако в результате скорость работы может упасть, поскольку ожидание увеличивает время выполнения транзакций. Более того, если транзакция слишком долго ожидает разблокирования записи, она может быть отменена и ее придется запускать заново. Обычно все это приводит к недовольству пользователей информационной системой.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий