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.

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

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

Saved successfully!

Ooh no, something went wrong!