Sync Server Verwaltung


Der Synchronisationsprozess

Der Synchronisationsprozess kann in eine oder zwei Richtungen ablaufen. In diesem Abschnitt wird die Zweiwegesynchronisationen vorgestellt. Der Zweiwegesynchronisationsprozess besteht aus den folgenden beiden Schritten:

Dieser aus zwei Phasen bestehende Vorgang wird als Synchronisationssitzung bezeichnet.

Von der mobilen Einheit zur Quellendatenbank

Abbildung 2 zeigt, wie von einem Benutzer übergebene Änderungen bei der Synchronisation auf die Quellendatenbank angewendet werden. Die Nummerierung in der Abbildung entspricht den nachfolgenden Erläuterungen:

Abbildung 2. Änderungen, die von einem Benutzer für die Synchronisation übergeben wurden, werden auf die Quellendatenbank angewendet.

Änderungen, die von einem Benutzer für die Synchronisation übergeben wurden, werden auf die Quellendatenbank angewendet

  1. Der Mitarbeiter eines mobilen Pflegediensts aktualisiert die Blutdruckwerte eines Patienten in einer lokalen Kopie der Tabelle MPKRANKENAKTE auf einer Palm OS-Einheit. Der Mitarbeiter beendet die zum Editieren der Tabelle verwendete Anwendung und tippt anschließend das Symbol IBM Sync an, um die Clientsynchronisationssoftware auf der mobilen Einheit zu starten. Sobald die Clientsynchronisationsanwendung gestartet ist, wählt der Mitarbeiter den Namen der zu synchronisierenden Anwendung aus und tippt Synchronisieren an, um die Synchronisation anzufordern.
  2. Die Anforderung wird authentifiziert und in eine Eingabewarteschlange auf dem Mittlersystem gestellt. Die Clientsynchronisationssoftware auf der mobilen Einheit wartet auf eine Synchronisationsantwort vom Quellenserver (siehe Von der Quellendatenbank zur mobilen Einheit).
  3. Benutzer können nur diejenigen Daten und Dateien synchronisieren, für die sie zugriffsberechtigt sind.
  4. Die Daten werden in eine Zwischenspeichertabelle geschrieben. Zwischenspeichertabellen erhöhen die Leistung bei der Verarbeitung von Synchronisationsanforderungen, weil Änderungen zwischengespeichert werden können, während andere Aktualisierungsvorgänge ausgeführt werden.
  5. Die Daten werden aus der Zwischenspeichertabelle in die Spiegeltabelle (in diesem Beispiel S_MPKRANKENAKTE) kopiert, und etwaige Aktualisierungskonflikte werden behoben. Änderungen an der Spiegeltabelle werden im DB2-Protokoll aufgezeichnet.
  6. Das Capture-Programm von DB2 DataPropagator wird gestartet. Dieses Programm erfasst die Änderungen der Spiegeltabelle aus dem DB2-Protokoll und schreibt sie in eine CD-Tabelle (Change Data Table).
  7. Das Apply-Programm von DB2 DataPropagator wird gestartet und wendet die Änderungen aus der CD-Tabelle auf die Quellentabelle MPKRANKENAKTE in der Datenbank MPFLEGE auf dem Quellensystem an.

Von der Quellendatenbank zur mobilen Einheit

Abbildung 3 zeigt, wie die Änderungen in einer Quellentabelle beim Synchronisieren auf eine DB2 Everyplace-Tabelle auf der mobilen Einheit des Benutzers angewendet werden. Sync Server sendet alle relevanten Quellendatenänderungen an den Benutzer, die seit der letzten, vom Benutzer ausgeführten Synchronisation vorgenommen wurden. Sync Server übermittelt nur diejenigen geänderten Daten, für die der Benutzer zugriffsberechtigt ist.

Die Nummerierung in der Abbildung entspricht den nachfolgenden Erläuterungen.

Abbildung 3. Änderungen an der Quellendatenbank werden auf die mobile Datenbank angewendet.

Änderungen an der Quellendatenbank werden auf die mobile Datenbank angewendet

  1. Das ständig auf dem Quellensystem ausgeführte Capture-Programm von DB2 DataPropagator erfasst die an der Quellentabelle MPKRANKENAKTE vorgenommenen Änderungen aus dem DB2-Protokoll und schreibt sie in die CD-Tabelle.
  2. Das Apply-Programm von DB2 DataPropagator wendet die Änderungen aus der CD-Tabelle auf die Spiegeltabelle S_MPKRANKENAKTE an. Wenn Aktualisierungskonflikte angegeben werden, werden sie in diesem Schritt des Synchronisationsprozesses behoben.
  3. Die an den Daten vorgenommenen Änderungen werden in einer Synchronisationsantwortnachricht an eine Ausgabewarteschlange auf dem Mittlersystem übermittelt.
  4. Die Clientsynchronisationssoftware ruft die Antwortnachricht der Synchronisation aus der Ausgabewarteschlange ab. Die Clientabfrageanforderung wird authentifiziert.
  5. Die Datenänderungen werden auf die lokale Kopie der Tabelle auf dem Client angewendet. Die Synchronisationssitzung wird beendet.

Abbrechen einer Synchronisation

Eine Synchronisation kann aus mehreren Synchronisationssitzungen bestehen. Wenn Sie den Synchronisationsprozess abbrechen und später erneut starten, versucht Sync Server die erste Synchronisationssitzung, die nicht abgeschlossen wurde, wieder aufzunehmen (anstatt nochmals ganz neu zu beginnen).

Es sei beispielsweise angenommen, dass Sie eine Synchronisation von 100 Datensätzen für eine und von 50 Datensätzen für eine weitere Subskription anfordern. Wenn die 100 Datensätze der ersten Subskription abgeschlossen sind, wenn Sie den Prozess abbrechen, werden nur die nächsten 50 Datensätze synchronisiert, wenn Sie die Synchronisation neu starten. Der Grund dafür ist, dass die erste Synchronisationssitzung abgeschlossen wurde.

Wenn Sie die Synchronisation im Laufe einer Synchronisationssitzung abbrechen, werden die Datensätze dieser Sitzung nicht synchronisiert. Wenn dann der Benutzer alle geänderten Datensätze von der Einheit an den Server sendet, aber die Übertragung während der Antwort des Servers abbricht, nimmt der Server die Antwort in dem Moment wieder auf, wo der Benutzer eine neue Verbindung zu Sync Server herstellt.

Konfliktbehandlung

Manchmal stehen Änderungen, die von einem Client an DB2 Everyplace Sync Server übergeben werden, im Widerspruch zu Änderungen, die von anderen Clients an den Quellentabellen vorgenommen wurden oder gerade vorgenommen werden. Sync Server überwacht die Versionen aller Datensätze in den Tabellen einer Replikationssubskription. Alle Clients werden in ähnlicher Weise überwacht, um eine Version jedes Datensatzes für die letzte Synchronisation jedes Clients mit jeder Tabelle aufzubewahren. Anhand dieser Informationen kann Sync Server feststellen, ob ein Client beim Aktualisieren versucht, veraltete Datensätze in eine Tabellenzeile zu schreiben. Ist dies der Fall, wird die Aktualisierungsanforderung zurückgewiesen.

Konfliktvermeidung erfolgt beim Zwischenspeichern von Daten in den Spiegeltabellen des Mittlersystems, wie aus Abbildung 4 hervorgeht. Dieser Schritt wird im nächsten Replikationszyklus ausgeführt. Konflikte aufgrund von Clientaktualisierungen werden erst nach Rückgabe von Antwortnachrichten an den Client während der Synchronisation erkannt. Zurückgewiesene Clientänderungen werden erst bei der nächsten Synchronisation an den Client zurückgemeldet. Basiert eine Clientänderung auf einem veralteten Datensatz, wird eine korrekte Version des betreffenden Datensatzes in der ursprünglichen Synchronisationsanforderung zurückgegeben.

Abbildung 4. Konfliktbehebung durch Sync Server

Konfliktbehebung durch Sync Server

Der Client, dessen Aktualisierung zurückgewiesen wurde, empfängt sowohl den zurückgewiesenen Datensatz als auch die richtige Version dieses Datensatzes. Der zurückgewiesene Datensatz wird im Protokoll des Clients aufgezeichnet. Die richtige Version dieses Datensatzes ersetzt den ursprünglichen (zurückgewiesenen) Datensatz in der DB2 Everyplace-Datenbank des Clients.

Wenn DataPropagator die geänderten Daten von der Mittlerdatenbank auf die Quellendatenbank anwendet, können aber noch weitere Konflikte auftreten. Informationen zur Erkennung und Behebung solcher Konflikte finden Sie im DB2 Universal Database Replikation Benutzer- und Referenzhandbuch und im Handbuch DB2 Universal Database Systemverwaltung.


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]