Obiektowe modelowanie systemów informatycznych



Pobieranie 8,01 Mb.
Strona97/113
Data23.10.2017
Rozmiar8,01 Mb.
1   ...   93   94   95   96   97   98   99   100   ...   113

Metody sterowania współbieżnością transakcji na różnych poziomach izolacji.

Sterowanie współbieżnością transakcji realizuje się przez przetwarzanie historii niepoprawnych do historii szeregowalnych. Szeregowalność może być realizowana za dopomogą blokowania danych oraz metody znaczników czasowych.

Metody blokowania danych.

Blokowanie to jest protokół, który jest wykorzystywany dla równoległego dostępu do danych przez różnych transakcji. Z każdą daną X jest związana blokada (lock). Kiedy niektóra transakcja otrzyma dostęp do danych, mechanizm blokowania nie dopuści się dostęp do tych samych danych od innych transakcji.

Wyróżniają się dwa podstawowe typy blokad:

  • blokadę współdzieloną (shared lock),

  • blokadę wyłączną ( exclusive lock).

Operacje na danej nie powodujące jej uaktualnienia powinny być poprzedzone założeniem blokady współdzielonej. Operacje uaktua¼niające daną po¼inny być poprzedzonej założeniem na niej blokady wyłącznej.

Ze względu na proces blokowania, dane w bazie danych mogą występować w jednym z trzech stanów:



  • dana nie zablokowana - 0

  • dana zablokowana dla odczytu - Read (współdzieloną - shared lock)

  • dana zablokowana dla zapisu - Write (wyłączną - exclusive lock).

Blokada może być ustalona dla różnych poziomów detalizacji danych:

Realne blokada realizuje się za dopomogą oddzielnych bitów w polu danych. Wartość tych bitów odpowiada typu blokady. Mechanizm blokowania zawiera zasoby sterowania kolejkami dla blokowania danych.

Główne reguły protokołu blokowania danych:



  • Transakcja która ustaliła się blokadę danej „dla odczytu” (Read) może tylko czytać oraz nie może tę daną uaktualnić.

  • Transakcja która ustaliła się blokadę danej „dla zapisu” (Write) może czytać oraz uaktualnić tę daną.

  • Transakcja realizuje się zgodnie z protokółem blokowania dwóch fazowego(two-phase locking): wszystkie operacje blokowania poprzedzają pierwszą operację odblokowania.

Operacja czytania transakcji nie jest operacją konfliktową, dlatego blokada „dla odczytu” (Read) jednej danej może być ustalona jednoczesne przez wielu transakcji. Natomiast blokada „dla zapisu” (

1   ...   93   94   95   96   97   98   99   100   ...   113


©operacji.org 2017
wyślij wiadomość

    Strona główna