světNotes.cz

Unread Marks - 3
Novinky
26.05.2004 - Miroslav Uhlár

Synchronizáciu UT si demonštrujeme na príklade, keď používateľ pristupuje k replikám aplikácie na dvoch serveroch (A1, A2).


Chronologický sled udalostí:

KrokPoužívateľUJ
(Klient)
UT
(A1)
UT
(A2)
1.Otvorí databázu A1
2.Prečíta dokument D1Doplní sa záznam o prečítaní D1Odstráni sa D1 zo zoznamu nečítaných
3.Otvorí databázu A2Aktualizuje sa podľa UJ, teda odstráni sa D1 zo zoznamu nečítaných
4.Označí D1 ako nečítanýDoplní sa záznam o neprečítaní D1Doplní sa D1 do zoznamu nečítaných
5.Otvorí databázu A1Aktualizuje sa podľa UJ, teda doplní sa D1 do zoznamu nečítaných

Obsah jednotlivých komponentov:

KrokPoužívateľUJ
(Klient)
UT
(A1)
UT
(A2)
1.Otvorí databázu A1......
D1
D2
...
...
D1
D2
...
2.Prečíta dokument D1...
D1 - Read
...
...
D1
D2
...
...
D1
D2
...
3.Otvorí databázu A2...
D1 - Read
...
...
D1
D2
...
...
D1
D2
...
4.Označí D1 ako nečítaný...
D1 - Read
D1 - Unread
...
...
D1
D2
...
...
D1
D2
...
5.Otvorí databázu A1...
D1 - Read
D1 - Unread
...
...
D1
D2
...
...
D1
D2
...


Popisovaný mechanizmus je síce trošku komplikovaný, no zdá sa pre distribuované prostredie funkčný. Bohužiaľ, zdanie klame. Existujú reprodukovateľné situácie, kedy synchronizácia zlyháva. Bližšie už v nasledujúcej kapitole.