12.08.2013 Views

konspekt - Tartu Ülikool

konspekt - Tartu Ülikool

konspekt - Tartu Ülikool

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

eegli 2 nõuded täidetud.<br />

Tuletame siinkohal meelde esimese reegli konfliktsituatsioonide vältimiseks:<br />

1. Ì ei või kirjutada, kui andmeid on lugenud Ì ja Ì Ì .<br />

Seda reeglit antud meetod rikub juhul kui meil on andmeid, mille lugemise<br />

ajatempel on suurem, kui Ì ajatempel ja kui selle vertsiooni kirjutamise ajatempel<br />

on väiksem, kui Ì ajatempel.<br />

Ì kontroll<br />

ÑÜÚÖ×Ñ lugemise ajatempel Ì ?<br />

teosta kirjutamine ajutisele versioonile Ì ajatempliga.<br />

<br />

katkesta Ì .<br />

Ì kontroll<br />

Joonis 12.10: Mitmeversiooniline ajatempliga järjestamise kirjutamise reegel<br />

Mitmeversiooniline ajatempliga järjestamise kirjutamise reegel Kuna iga<br />

potentsiaalselt konfliktne lugemise operatsioon suunatakse värskeimale andmebloki<br />

versioonile, kontrollib server versiooni ÑÜÚÖ×Ñ kirjutamise ajatemplit.<br />

Kontrolli algoritm konfliktide tuvastamiseks on toodud joonisel 12.10. Testitakse<br />

transaktsiooni Ì kirjutamist andmeblokile .<br />

Ì<br />

Ì <br />

Ì <br />

Ì <br />

Ì <br />

Ì<br />

Ì<br />

kinnitatud<br />

Ì<br />

Ì <br />

Ì Ì Ì Ì Ì <br />

ajutine<br />

aeg<br />

Ì : kirjutamise tempel<br />

Ì : lugemise tempel<br />

Joonis 12.11: Hiline kirjutamine<br />

135<br />

Illustreerimaks näidet, kus hiline kirjutamine katkestatakse, vaatame joonist<br />

12.11. Andmetest on juba olemas kinnitatud versioonid kirjutamise ajatemplitega<br />

Ì ja Ì . Serverile laekub nüüd järgnev operatsioonide järjend:<br />

Ì lugemine; Ì kirjutamine; Ì lugemine; Ì kirjutamine<br />

1. Ì loeb Ì kirjutamistempliga märgitud versiooni, sellele blokile lisandub<br />

lugemise templi väärtuseks Ì .<br />

2. Ì kirjutab, andmetest luuakse uus ajutine versioon, kirjutamise templi väärtuseks<br />

Ì .<br />

3. Ì loeb Ì kirjutamistempliga märgitud versiooni, sellele blokile lisandub<br />

lugemise templi väärtuseks Ì .<br />

4. Ì soovib kirjutada, selleks valitakse kirjutamise templi järgi viimane versioon<br />

andmetest, aga sinna ei saa kirjutada, kuna lugemise ajatempel Ì on<br />

suurem, kui Ì . Transaktsioon Ì tuleb katkestada.<br />

Kui transaktsioon katkestatakse, kustutatakse kõik selle transaktsiooni loodud<br />

andmeversioonid. Edukalt lõpetanud transaktsiooni andmed tuleb säilitada.<br />

136

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!