Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Festschreibe-Protokoll (1) Globales Zwei-Phasen-Festschreibe-Protokoll (2- Phasen-Commit, 2PC): Phase 1: –Koordinator benachrichtigt Ressourcen, dass Commit.

Ähnliche Präsentationen


Präsentation zum Thema: "Festschreibe-Protokoll (1) Globales Zwei-Phasen-Festschreibe-Protokoll (2- Phasen-Commit, 2PC): Phase 1: –Koordinator benachrichtigt Ressourcen, dass Commit."—  Präsentation transkript:

1 Festschreibe-Protokoll (1) Globales Zwei-Phasen-Festschreibe-Protokoll (2- Phasen-Commit, 2PC): Phase 1: –Koordinator benachrichtigt Ressourcen, dass Commit eingeleitet werden soll (sog. "Prepare"-Nachricht). –Ressourcen wickeln ggf. ausstehende Datenzugriffe der TA ab, treffen Vorbereitungen für lokales Festschreiben und melden dann Bereitschaft zum Commit an Koordinator. –Koordinator wartet Rückmeldungen aller Ressourcen ab. Phase 2: –Sobald positive Rückmeldungen von allen Ressourcen vorliegen, sendet Koordinator Commit-Nachricht. –Ressourcen schreiben Transaktion lokal fest, geben bei Anwendung von 2PL lokal gehaltene Sperren frei.

2 Festschreibe-Protokoll (3) Spielregel 1: Kein Dienstgeber kann zum Festschreiben einer Transaktion gezwungen werden. TA-Koordinator benötigt Zustimmung aller beteiligten transaktionalen Dienstgeber zum globalen Commit. Spielregel 2: Eine Transaktion darf nur festgeschrieben werden, wenn alle geschriebenen Werte lokal persistent sind. Dienstgeber dürfen Zustimmung zum Commit nur erteilen, nachdem alle lokalen Änderungen festgeschrieben sind. Spielregel 3: Beteiligte Dienstgeber müssen über das Festschreiben einer Transaktion informiert werden. TA-Koordinator muss Teilnehmerliste und Commit der TA auf stabilem Speicher halten, bis Teilnehmer informiert wurden.

3 Festschreiben/Rücksetzen: 2PC mit Voting Ressource antwortet auf Prepare-Nachricht mit –VoteCommit, wenn sie mit Commit einverstanden ist, –VoteRollback, wenn sie mit Commit nicht einverstanden ist. Nur wenn VoteCommit-Antworten von allen beteiligten Ressourcen vorliegen, darf Koordinator Commit-Nachricht senden. Bei Ausbleiben von Antworten oder mindestens einer VoteRollback-Antwort muss Koordinator Abort-Nachricht senden ("presumed abort").

4 Verpflichtungen beim Voting (1) Ressource garantiert mit VoteCommit-Antwort, dass –die Transaktion aus lokaler Sicht keine inkonsistente Zustandsänderung der Ressource bewirkt hat, –die Transaktion jederzeit nach Absenden der Antwort in die lokale äquivalente serielle Historie eingebaut werden kann, –die Ressource vor Eintreffen der Antwort des Koordinators keine andere Transaktion festschreiben wird, die in der lokalen äquivalenten seriellen Historie nach dieser Transaktion laufen müsste, –alle von der Transaktion geschriebenen Werte sowie die Adresse des Koordinators persistent vorliegen, –die Ressource bei einem Wiederanlauf das Schicksal der Transaktion in Erfahrung bringen und die Transaktion ggf. wiederholen wird.

5 Verpflichtungen beim Voting (2) Koordinator garantiert gegenüber Ressourcen, die mit VoteCommit antworten, dass er sie mindestens bei einem Festschreiben der Transaktion unterrichten wird. Ressourcen, die VoteRollback antworten, garantieren, dass sie die lokalen Änderungen der Transaktion rückgängig machen und anschließend ihre Sperren freigeben werden. Sie erhalten keine weitere Antwort vom Koordinator.

6 Festschreiben von Transaktionen Wenn Koordinator in 1. Protokollphase VoteCommit-Antworten von allen beteiligten Ressourcen erhalten hat, kann in 2. Protokollphase Festschreiben der TA erfolgen. Rücksetzen von Transaktionen ist Standardannahme, daher ist Rücksetzprotokoll vergleichsweise einfach: –Ressourcen, die VoteRollback geantwortet haben, setzen Transaktionen sofort lokal zurück und vergessen sie dann. –Ressourcen, die eine Abort-Nachricht vom Koordinator erhalten, tun dies ebenfalls.

7 Terminierung In das 2PC ist eine Rücksetz-Protokoll zur Fehlerbehandlung einzubauen. Besonderes Problem dabei: Unsicherheitsfenster der Ressourcen. –Ressourcen, die VoteCommit geantwortet und (noch) keine Antwort vom Koordinator erhalten haben (sie sind im Unsicherheitsfenster), können ihn nach dem Transaktionsausgang fragen. –Terminierungsproblem: Gibt es keine klare Antwort, muss die Ressource auf das Ergebnis der Transaktion warten und deren Sperren weiterhin halten. –Erfordert eigene Terminierungs-Protokolle.


Herunterladen ppt "Festschreibe-Protokoll (1) Globales Zwei-Phasen-Festschreibe-Protokoll (2- Phasen-Commit, 2PC): Phase 1: –Koordinator benachrichtigt Ressourcen, dass Commit."

Ähnliche Präsentationen


Google-Anzeigen