Algorithmus :: VectorClocks.

Erzeugen einer teilweisen Reihenfolge von Ereignissen in einem verteilten System.
Jetzt downloaden

Algorithmus :: VectorClocks. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Takeru INOUE
  • Website des Verlags:
  • http://search.cpan.org/~takeru/

Algorithmus :: VectorClocks. Stichworte


Algorithmus :: VectorClocks. Beschreibung

Erzeugen einer teilweisen Reihenfolge von Ereignissen in einem verteilten System. Algorithmus :: VectorClocks ist ein Perl-Modul zum Erzeugen einer Teilreihenfolge von Ereignissen in einem verteilten System.Synopsis verwenden Algorithmus :: VectorClocks; ### Im Server A ### Algorithmus :: VectorClocks-> ID ('A'); mein $ vc_a = Algorithmus :: VectorClocks-> NEU; $ vc_a-> Inkrement; # gleich wie $ vc_a ++ meine $ serialized_a = $ vc_a-> serialize; # Wie "$ vc_a" # # Senden Sie eine Nachricht mit $ serialized_a an den Server B ### im Server B ### Algorithmus :: VectorClocks-> ID ('B'); mein $ vc_b = Algorithmus :: VectorClocks-> Neu; # Erhalten Sie die Nachricht mit $ serialized_a vom Server A $ VC_B-> Merge ($ serialized_a); # wie $ vc_b + = $ serialized_a $ vc_b-> Inkrement; meine $ serialized_b = $ vc_b-> serialize; ### in Client ### # ruft $ serialized_a und $ serialized_b my @res = order_vector_clocks ab ({a => $ serialized_a, b => $ serialized_b, b => $ serialized_b}); $ re ; # 'B' ist der neueste $ re ; # 'A'vector-Takte ist ein Algorithmus zum Erzeugen einer Teilreihenfolge von Ereignissen in einem verteilten System. Wie in Lamport-Zeitstempeln enthalten Interprozessnachrichten den Status der logischen Uhr des Sendenprozesses. Vector Takt eines Systems von n-Prozessen ist ein Array von n logischen Takten, ein pro-prozess, einer lokalen Kopie, deren in jedem Prozess in jedem Prozess mit den folgenden Regeln für Uhraktualisierungen aufbewahrt wird: * Anfänglich alle Uhren sind Null * Jedes Mal ein Prozess erlebt Es erhöht ein internes Ereignis, es erhöht seine eigene logische Uhr in dem Vektor um ein * bei jedem Vorbereitungen, wenn sich ein Prozess auf eine Nachricht vorbereitet, er inkrementiert seine eigene logische Uhr im Vektor um eins und sendet dann seinen gesamten Vektor zusammen mit der gesendeten Nachricht * Jedes Mal, wenn ein Prozess eine Nachricht empfängt, erhöht er seine eigene logische Uhr in dem Vektor um eins und aktualisiert jedes Element in seinem Vektor, indem er das Maximum des Werts in seiner eigenen Vektoruhr und den Wert in dem Vektor in der empfangenen Nachricht (für jedes Element). Anforderungen: · Perl.


Algorithmus :: VectorClocks. Zugehörige Software