DISKUSE
Zprávy v LotusScriptu 
11.09.2019 20:33

export vložených příloh z dokumentové knihovny 
05.08.2019 12:50

Kalkulačka  (1)
30.07.2019 13:19

Problém s polem From v mailech posílaných přes SMT... 
01.07.2019 16:30

ECL 
03.04.2019 16:10

Agent přestal fungovat (1)
18.03.2019 08:28

Načíst krátký text z webu 
17.03.2019 23:32

Indexy mimo DB (1)
19.02.2019 15:46


ŠKOLENÍ


REKLAMA


KOMENTÁŘE

Unread Marks - 2

Vytisknout článek

Druhý díl miniseriálu s podtitulem Architektúra Unread Marks.


Architektúra Unread Marks

Pri návrhu architektúry UM vychádzali jej tvorcovia z nasledujúcich axióm:

  • Pre každého používateľa bude existovať v databáze jeho vlastný index nečítaných dokumentov
  • Pre viac replík databázy sa tento index nebude prenášať
  • Pri aktívnej práci s databázou a budú informácie zapisovať aj lokálne (mimo databázu) tak, aby v prípade otvorenia inej repliky bol zosynchronizovaný index

Ako nástroj tejto architektúry použili dva komponenty:
  • Unread Journal (UJ)
  • Unread Table (UT)

Unread Journal je tabuľka záznamov o čítacích aktivitách klienta Notes. Inak povedané – je to akýsi "log". UJ je uložený mimo databázy v súbore Cache.ndk (resp. Cache.dsk) dátového adresára Notes klienta. Samotný obsah UJ predstavujú riadky s UNID číslami dokumentov, ktoré boli prečítané resp. boli označené ako neprečítané.

Pre ujasnenie - najdôležitejšie UJ fakty:
  • UJ nie je súčasťou databázy, ale klientského prostredia v súbore Cache.ndk
  • UJ obsahuje zoznam aktivít o čítaní dokumentov
  • Dokument je identifikovaný cez UNID, čo je jedinečné v rámci všetkých replík
  • UJ je limitovaná veľkosťou

Unread Table je tabuľka, v ktorej sú zapísané NoteID nečítaných dokumentov pre daného používateľa. Inak povedané: Koľko používateľov otvorilo databázu, toľko UT vzniklo. Jednotlivé UT sú uložené priamo v databáze vo forme špeciálnych dokumentov (Note), pričom ich identifikátorom je hierarchické meno používateľa. Pre zjednodušenie sa dajú porovnať s profile dokumentmi, ktorých kľúčom je @UserName. Na rozdiel od nich sa však počas replikácie neprenáša (rozdiel nastal vo verzii 6.03 – ale o tom až v ďalšej časti). Samotný obsah UT predstavujú riadky s číslami NoteID dokumentov, ktoré daným používateľom neboli prečítané (resp. neboli označené ako prečítané).

Takže ešte raz, najdôležitejšie UT fakty:
  • UT je súčasťou databázy, nie klientského prostredia
  • UT je jedinečná pre používateľa (@UserName)
  • UT sa nereplikuje medzi replikami databázy
  • UT obsahuje zoznam nečítaných dokumentov
  • Nečítaný dokument je identifikovaný cez NoteID, čo je však jednoznačné len v danej replike databázy

Prečo tak komplikovaný UM aparát? Odpoveď je jednoduchá: Distribuované prostredie Domino/Notes, kde je potrebné zabezpečiť používateľovi "jednotnú" informáciu o stave čítania/nečítania dokumentov, nezávisle od repliky. Keďže UT sa automaticky nereplikuje (až od istých verzií a aj to len pre workstation/server), bol ako synchronizačný "engine" použitý UJ. V nasledujúcej kapitole je na konkrétnom príklade objasnený mechanizmus synchronizácie.

Autor: Miroslav Uhlár
Datum: 24.05.2004


Sdílet článek Seznam komentářů

Zatím nebyl přidán žádný komentář. Buďte první!


Související články:
» 

Unread Marks - 4

 (Jak funguje..., 11.06.2004)

» 

Unread Marks - 3

 (Jak funguje..., 26.05.2004)

» 

Unread Marks - 1

 (Jak funguje..., 20.05.2004)

»