konspekt - Tartu Ülikool
konspekt - Tartu Ülikool
konspekt - Tartu Ülikool
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
t1<br />
c1<br />
c2<br />
FE1 RH1 RH2 RH3 FE2<br />
Joonis 10.3: Totaalne ja põhjuslik päringujärjestus.<br />
Sünkro-järjestus on vajalik, kuna totaalse järjestuse ja põhjusliku järjestuse<br />
päringud võidakse töödelda suvalises järjekorras. Olgu meil päringud Ö ja Ö .<br />
Kui Ö on sünkrojärjestuses, siis kas Ö töödeldakse enne Ö või Ö töödeldakse<br />
enne Ö kõikides replika haldajates sõltumata päringu Ö tüübist.<br />
Näide sünkro-järjestuse kasutamisest on joonisel 10.4. Näitest näeme, kuidas<br />
sünkropäring × määrab põhjusliku järjestuse päringu ja totaalse järjestuse päringu<br />
Ø omavahelise järjestuse, samas ja Ø omavaheline järjestus ei ole määratud.<br />
10.3.3 Päringujärjestuste realiseerimine<br />
Vaatleme kahte põhilist tehnikat:<br />
1. “Ootejärjekord” - päringut ei töödelda replika haldaja poolt enne, kui järjestuse<br />
tingimused on rahuldatud.<br />
Päringut replika haldajas nimetatakse stabiilseks, kui kõik<br />
eelnevad päringud on töödeldud.<br />
Lisaks nõuame kahe omaduse täidetust.<br />
¯ Ohutuse omadus ütleb, et ühtegi teadet ei tõsteta “toimus enne” järjekorrast<br />
töötlemisjärjekorda väljaspool järjekorda. Kui päring on töödeldud,<br />
ei saa “eelmine” päring enam saabuda.<br />
¯ Elususe omadus ütleb et ükski teade ei tohi lõpmatult jääda “toimus<br />
enne” järjekorda.<br />
103<br />
t2<br />
c3<br />
aeg<br />
c1<br />
t1<br />
t2<br />
FE1 RH1 RH2 RH3 FE2<br />
Joonis 10.4: Sünkro-järjestuse kasutamine.<br />
2. Päringute järjekorra realisatsioon on kasutatav [täiendustega] järjestatud grupiside<br />
realiseerimiseks.<br />
Totaalne päringujärjestus Loomulik lähenemine on varustada iga päring identifikaatoriga,<br />
mille aluselt saab iga replika haldaja teha järjestamise otsuse.<br />
ID võib genereerida spetsiaalne protsess – järjendaja. Kõik teated käivad enne<br />
replika haldajasse sattumist läbi järjendaja, mis omistab identifikaatori ja saadab<br />
teated edasi replika haldajatesse. Replika haldaja hoiab teateid ootejärjekorras,<br />
kuni teade on jõudnud ootejärjekorra algusse.<br />
Järjendaja on sellises skeemis pudelikael ja tõrkekoht.<br />
Järjendaja asemel võime kasutada ka protokolli identifikaatori kokkuleppimiseks.<br />
Vaatleme siinkohal näidet ISIS süsteemis kasutatavast realisatsioonist. Näidet<br />
illustreerib joonis 10.5<br />
Iga replika haldaja salvestab viimase enda pakutud ID È ÑÜ ja suurima lõpliku<br />
ID ÑÜ. Replika haldaja pakub frontendile identifikaatorit, mida viimane kasutab<br />
lõpliku identifikaatori arvutamiseks. Algoritm on järgmine:<br />
1. FE saadab päringu ajutise identifikaatoriga igasse replika haldajasse. Ajutine<br />
identifikaator on suurem igast eelnevast identifikaatorist.<br />
2. Iga replika haldaja vastab. Haldaja vastab ettepanekuga valida identifikaatoriks<br />
max ÑÜÈÑÜ Æ, kus Æ on replika haldajate arv. Iga<br />
replika haldaja omistab päringule pakutud identifikaatori ja paneb päringu<br />
104<br />
s<br />
c2<br />
aeg