| Algoritme :: vectorclocks Een gedeeltelijke bestellen van gebeurtenissen in een gedistribueerd systeem genereren. |
Download nu |
Algoritme :: vectorclocks Rangschikking & Samenvatting
- Vergunning:
- Perl Artistic License
- Naam uitgever:
- Takeru INOUE
- Uitgever website:
- http://search.cpan.org/~takeru/
Algoritme :: vectorclocks Tags
Algoritme :: vectorclocks Beschrijving
Een gedeeltelijk bestellen van gebeurtenissen in een gedistribueerd systeem genereren. Algoritme :: Vectorclocks is een Perl-module voor het genereren van een gedeeltelijke bestellingen van gebeurtenissen in een gedistribueerd systeem. Synopsis Gebruik algoritme :: vectorclocks; ### in server A ### algoritme :: vectorclocks-> ID ('A'); mijn $ vc_a = algoritme :: vectorclocks-> nieuw; $ vc_a-> increment; # hetzelfde als $ vc_a ++ mijn $ serialized_a = $ vc_a-> serialiseren; # hetzelfde als "$ vc_a" # Stuur een bericht met $ serialized_a naar server b ### in server b ### algoritme :: vectorclocks-> id ('b'); mijn $ vc_b = algoritme :: vectorclocks-> nieuw; # Ontvang het bericht met $ Serialized_a van Server A $ VC_B-> Merge ($ Serialized_a); # hetzelfde als $ vc_b + = $ serialized_a $ vc_b-> increment; mijn $ serialized_b = $ vc_b-> serialiseren; ### in client ### # Herstal $ serialized_a en $ serialized_b my @res = order_vector_clocks ({a => $ serialized_a, b => $ serialized_b}); $ Res ; # 'B' is de nieuwste $ res ; # 'A'Vector Clocks is een algoritme voor het genereren van een gedeeltelijke bestellingen van gebeurtenissen in een gedistribueerd systeem. Net zoals in Lamport Timestamps, bevatten interprocess-berichten de staat van de logische klok van het verzendende proces. Vectorklok van een systeem van n-processen is een reeks n logische klokken, één per proces, waarvan een lokale kopie wordt gehouden in elk proces met de volgende regels voor klokupdates: * Aanvankelijk zijn alle klokken nul * telkens wanneer een proceservaringen Een intern evenement, het verhoogt zijn eigen logische klok in de vector met één * telkens wanneer een proces zich voorbereidt om een bericht te verzenden, het verhoogt zijn eigen logische klok in de vector met één en stuurt dan zijn hele vector samen met het bericht dat wordt verzonden * Telkens wanneer een proces een bericht ontvangt, verhoogt het zijn eigen logische klok in de vector met één en werkt elk element in zijn vector bij door het maximale van de waarde in zijn eigen vectorklok en de waarde in de vector in het ontvangen bericht te nemen (voor elk element). Vereisten: · Perl
Algoritme :: vectorclocks Gerelateerde software