Update-Protokoll in zwei Phasen

In Computernetzwerken und Datenbanken ist Aktualisierungsprotokoll in zwei Phasen ein verteilter Algorithmus, der alle Knoten in einem verteilten System umfasst, um eine Transaktion zu validieren.

Das Protokoll wird von allen Knoten, die die Transaktion bestätigt oder nicht Abtreibung, auch im Fall von Netzwerkausfällen oder durch den Knoten abgeleitet.
Jedoch auf der Basis der Arbeit von Skeen und Braker getan, das Protokoll wird nicht mehr als ein Fehler zu einer Zeit, zu behandeln.
Die beiden Phasen des Algorithmus sind die Phase der Überprüfungsanforderung, wobei der Koordinator für die Vorbereitung aller Gruppen verantwortlich und erfordern eine Validierung und der Validierungsphase, wobei der Koordinator die Transaktion abgeschlossen in allen Gruppen. Seit den 80er Jahren wurde die Technologie-Upgrade in zwei Phasen für die automatische Steuerung verwendet wird, um die Validierung und / oder Wiederherstellung Aktivitäten in Bezug auf Transaktionen in einem verteilten Datenbanksystem überwachen. Der Technologie-Upgrade zwei Phasen wird verwendet, wenn Daten-Updates, um gleichzeitig in mehreren Datenbanken in einem verteilten System auftreten müssen. In verteilten Datenbanksystemen Updates in zwei Phasen sie sind entworfen, um die Integrität und Genauigkeit der Daten durch synchronisierte Aufnahmen von jeder Partei zu einer Transaktion zu gewährleisten. Es wird gezeigt, dass die Aktualisierung in beiden Phasen ist eine Lösung, bei der Datenintegrität in einem verteilten System erforderlich. Der Technologie-Upgrade zwei Phasen ist vor allem für Hotelbuchungen und Flüge, Transaktionen von Waren, Bank- und Kreditkarten verwendet.

Annahmen

Das Protokoll arbeitet wie folgt: ein Knoten als der Koordinator, die die Hauptstelle ist, bezeichnet, während die übrigen Knoten in dem Netzwerk als Gruppen bezeichnet. Das Protokoll annimmt, daß es eine Lagerung stabil an jedem Knoten mit einer Vorausschreibprotokoll, dass kein Knoten systematisch beschädigt, dass die Daten in dem Schreib-Ahead-Protokoll nie verloren geht oder beschädigt wird, und dass jedes Paar von Knoten kann mit jedem kommunizieren, von ihnen. Die letztere Annahme ist nicht sehr restriktiv, da das Kommunikationsnetzwerk kann typischerweise umgeleitet werden. Die ersten zwei Annahmen stattdessen sind stärker, weil, wenn ein Knoten vollständig zerstört wird, können Daten verloren gehen. Das Protokoll wird durch den Koordinator initiiert, nachdem der letzte Punkt der Transaktion erreicht worden ist. Die Gruppen dann mit einer Nachricht zu antworten oder stimme eine Meldung je nach Erfolg der Abtreibung.

Vorbereitungsphase / Anfrage

  • Der Koordinator sendet eine Anfrage-Nachricht Validierung für alle Gruppen.
  • Die Gruppen führen die Transaktion an den Punkt, wo er erforderlich war Validierung. Sie verfügen jeweils schrieb einen Brief an ihren Undo-Log und ihre Redo-Log.
  • Jede Gruppe reagiert mit einer Meldung, ich stimme, wenn die Transaktion erfolgreich war, oder eine Meldung der Abtreibung, wenn die Transaktion fehlgeschlagen.
  • Der Koordinator erwartet, um eine Nachricht aus jeder Gruppe zu empfangen.

Validierungsphase

Erfolg

Wenn der Koordinator erhält eine Nachricht aus allen Gruppen einig während die Validierung:

  • Der Koordinator sendet eine Nachricht der Validierung für alle Gruppen.
  • Jede Gruppe komplettiert Operationen und Blöcke und gibt alle Ressourcen während der Transaktion angewendet.
  • Jede Gruppe sendet eine Antwort an den Koordinator.
  • Der Koordinator vervollständigt die Transaktion, wenn die Antwort empfangen wurde.

Scheitern

Wenn mindestens eine Gruppe eine Nachricht der Abtreibung sendet während des Überprüfungsanforderung:

  • Der Koordinator sendet eine Nachricht, wobei jede Gruppe.
  • Jede Gruppe vervollständigt die Transaktion mit der 'Undo-Log, und gibt die Ressourcen und die während der Transaktion angewendet blockiert.
  • Jede Gruppe sendet eine Antwort an den Koordinator.
  • Der Koordinator vervollständigt die Transaktion, wenn die Antwort empfangen wurde.

Nachteile

Der größte Nachteil des Zweiphasenaktualisierungsprotokoll ist ein Protokoll-Blocker ist. Ein Protokoll wird blockiert, beim Warten auf eine Nachricht. Dies bedeutet, dass andere Verfahren, die für Ressourcen gesperrt durch Verriegelungsverfahren aufgebracht zu konkurrieren, müssen warten, bis die Blöcke werden nicht freigegeben. Die einzelnen Knoten werden auch weiterhin warten, bis die anderen Seiten sind gescheitert. Wenn der Koordinator dauerhaft fehlschlägt, werden einige Gruppen nie ihre Transaktion zu lösen. Daraus folgt, dass die Ressourcen für immer verbunden. Wenn eine Gruppe hat eine Mitteilung an den Koordinator einverstanden gesendet wird, bis ein Validierungs blockiert werden oder ein Containment empfangen wird: Der Algorithmus kann auf unbestimmte Zeit wie folgt blockiert werden. Wenn der Koordinator ist dauerhaft außer Betrieb ist, wird die Gruppe auf unbestimmte Zeit gesperrt werden, es sei denn, Sie erhalten eine umfassende Entscheidungs ​​Validierung / Abtreibung durch eine andere Gruppe. Wenn der Koordinator sendet den "Antrag auf Validierung" Gruppen, wird er blockiert, bis alle Gruppen haben ihre lokalen Entscheidungs ​​gesendet werden. Darüber hinaus, wenn eine Gruppe ist dauerhaft beschädigt werden, der Koordinator nicht auf unbestimmte Zeit blockiert werden: Da der Koordinator ist derjenige, der entscheidet, ob die Entscheidung durch die Einführung einer Pause bestätigt oder abgebrochen wird, kann die Dauersperre vermieden werden: Wenn der Koordinator Er hat sich nicht erhalten alle Nachrichten zu erwarten, wenn die Pause vorbei ist, wird für die Abtreibung zu entscheiden. Diese konservative Verhalten seitens des Protokolls beinhaltet einen weiteren Nachteil: Es wird von dem Fall der Abtreibung als von dem Fall der Beendigung beeinflusst. Viele Datenbankrecherchen wurden, um maximalen Nutzen aus dem Update-Protokoll in zwei Phasen, ohne die Kosten zu bekommen gemacht.

Update-Protokoll in zwei Phasen

Eine häufige Variante des 2PC in einem verteilten System ist der Baum 2PC-Protokoll. Bei dieser Variante ist der Koordinator die Wurzel eines Baumes der Kommunikation, während die Gruppen sind die anderen Knoten. Die Nachrichten aus der Koordinator werden "unter" dem Baum propagiert, während die Nachrichten an den Koordinator werden von einer Gruppe aus allen Gruppen darunter "gesammelt", bevor es sendet die entsprechende Mitteilung an den oben Welle .

Das Aktualisierungsprotokoll in beiden Phasen ist eine Variante des Protokolls Baum 2PC ohne vorbestimmten Koordinator. D2PC hat eine optimale Zeit: Eingriff mit dem Koordinator und jede Gruppe in der kürzest möglichen Zeit, so dass Kurzmitteilungen der gesperrten Ressourcen.

  0   0
Vorherige Artikel Luigi Rizzi ferat
Nächster Artikel FC Dynamo Kyiv

In Verbindung Stehende Artikel

Kommentare - 0

Keine Kommentare

Fügen Sie einen Kommentar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Zeichen übrig: 3000
captcha