DE3786956T2 - Verwaltung von registrierungsdaten in einem transaktionsorientierten System. - Google Patents
Verwaltung von registrierungsdaten in einem transaktionsorientierten System.Info
- Publication number
- DE3786956T2 DE3786956T2 DE87107475T DE3786956T DE3786956T2 DE 3786956 T2 DE3786956 T2 DE 3786956T2 DE 87107475 T DE87107475 T DE 87107475T DE 3786956 T DE3786956 T DE 3786956T DE 3786956 T2 DE3786956 T2 DE 3786956T2
- Authority
- DE
- Germany
- Prior art keywords
- transaction
- recovery
- trs
- commit
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000011084 recovery Methods 0.000 claims description 65
- 238000000034 method Methods 0.000 claims description 34
- 238000013507 mapping Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 5
- 101000682954 Homo sapiens Ribosome biogenesis regulatory protein homolog Proteins 0.000 description 2
- 102100023902 Ribosome biogenesis regulatory protein homolog Human genes 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/87—Monitoring of transactions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
- Die vorliegende Erfindung betrifft ein Verfahren zur Reduzierung der Anzahl und zur Verwaltung von Registrierungsdaten, auf die in einem transaktionsorientierten System, in dem gleichzeitig ablaufende, fehlerunabhängige Prozesse ein gemeinsames Protokoll benutzen, zugegriffen werden muß und die in diesem verarbeitet werden müssen.
- Wie von C. J. Date in "An Introduction to Data Base Systems", Vol. 1, 4th Edition, Addison-Wesley Publishing Co., Copyright 1986, in Kapitel 18 dargelegt, stellt eine "Transaktion" eine logische Arbeitseinheit dar, die sich auf eine Abfolge von Operationen bezieht, mit der ein konsistenter Zustand einer wiederherstellbaren Ressource in einen anderen konsistenten Zustand umgewandelt wird, ohne daß dabei unbedingt in allen Zwischenstadien die Konsistenz gewahrt bleibt. Für die Belange dieser Erörterung soll eine Datenbank als typisches Beispiel für eine wiederherstellbare Ressource herangezogen werden.
- Ein System, daß die Verarbeitung von Transaktionen unterstützt, stellt sicher, daß für den Fall, daß die Transaktion Aktualisierungen für die Datenbank ausführt und eine Störung auftritt, bevor die Transaktion zu ihrem normalen Abschluß kommt, diese Aktualisierungen rückgängig gemacht werden. Folglich wird die Transaktion entweder in ihrer Ganzheit ausgeführt oder sie wird vollständig rückgängig gemacht. Da eine Transaktion die Ausführung einer anwendungsspezifischen Abfolge von Operationen umfaßt, wird sie durch eine spezielle BEGIN-Transaktionsoperation eingeleitet und endet mit einer COMMIT-Operation oder einer ABORT-Operation. Die Operationen COMMIT und ABORT bilden den Schlüssel zur Schaffung einer Atomizität.
- Die COMMIT-Operation bezeichnet mehrere Attribute. Erstens zeigt sie an, daß eine Transaktion erfolgreich beendet wurde. Zweitens zeigt sie an, daß sich die Datenbank in einem Zustand der Konsistenz befindet. Schließlich zeigt die COMMIT-Operation an, daß alle von dieser Arbeitseinheit vorgenommenen Aktualisierungen jetzt festgeschrieben bzw. in den Zustand der Dauerhaftigkeit überführt werden können. Im Gegensatz dazu bezeichnet die ABORT- Operation einen nicht erfolgreichen Abschluß einer Transaktion. Das heißt, der ABORT (Abbruch) bedeutet, daß ein Fehler aufgetreten ist, daß sich die Datenbank möglicherweise in einem Zustand der Inkonsistenz befindet und daß sämtliche Aktualisierungen, die von der Transaktion vorgenommen wurden, "zurückgesetzt" oder rückgängig gemacht werden müssen.
- Transaktionen werden auf gespeicherten, programmgesteuerten Systeme ausgeführt, deren logische und physische Attribute allgemein als "Ressourcen" bezeichnet werden. Ferner kann von diesen Systemen gesagt werden, daß sie in verschiedenen Modi wie beispielsweise einem "Verarbeitungsmodus" oder, im Falle einer Störung, in einem oder mehreren "Wiederherstellungsmodi" arbeiten. Der Zugriff auf die Ressourcen und auch deren Einsatz wird über die Betriebssystemsoftware gesteuert. Dies sind die sogenannten "Ressourcen-Manager". In ähnlicher Weise werden die transaktionsorientierten Verarbeitungs- und Wiederherstellungsoperationen von der Betriebssystemsoftware gesteuert, was als "Transaktionsverarbeitung" und "Wiederherstellungs-Manager" bezeichnet wird.
- Wie von Deitel in "An Introduction to Operating Systems", Revised Ist Edition, Addison-Wesley Publishing Co., Copyright 1984, auf den Seiten 103-108 dargestellt, kann man sich Ressourcen-Manager wie "Monitorprogramme" vorstellen. Ein Monitorprogramm ist ein auf gemeinsamen Zugriff ausgerichtetes Gebilde, das sowohl Daten als auch Prozeduren enthält, die dazu benötigt werden, eine Zuordnung für eine bestimmte gemeinsam benutzte Ressource oder Gruppe von gemeinsam benutzten Ressourcen vorzunehmen. Das heißt, ein Monitorprogramm stellt einen Mechanismus dar, der die sichere und effektive gemeinsame Benutzung abstrakter Datenarten durch verschiedene Prozesse zuläßt.
- In einem transaktionsorientierten Datenbanksystem werden alle Änderungen an der Datenbank in ein Protokoll geschrieben, um die Wiederherstellung im Falle einer Unterbrechung zu unterstützen. Jede Transaktion verwendet die Grundelemente BEGIN (Beginn), COMMIT (Festschreibung), ABORT (Abbruch) und END (Ende) zur Begrenzung des Abschlusses (COMPLETION), des Widerrufs (UNDO) oder der Wiederholung (REDO) der einzelnen Transaktion.
- Es sei bemerkt, daß ein Prüfpunktsatz eine Liste aller Transaktionen darstellt, die zum Zeitpunkt des Prüfpunktes aktiv waren, und darüber hinaus die Registrierungsadresse des jeweils neuesten Protokollsatzes einer jeden Transaktion enthält. Eine Transaktion, deren Datensätze zur Wiederholung (REDO) derselben verwendet werden, ist eine Transaktion, die zwischen dem letzten Prüfpunkt und dem Auftreten eines Fehlers beendet (festgeschrieben) wurde, wohingegen eine Transaktion, deren Datensätze für den Widerruf (UNDO) derselben verwendet werden, eine Transaktion ist, die zum Zeitpunkt des Auftretens eines Fehlers nicht beendet war. Daher ist es bei einem REDO erforderlich, mit der Transaktion zu dem am kürzesten zurückliegenden COMMIT-Punkt zurückzukehren und Änderungen in das Protokoll zu schreiben, wohingegen es bei einem UNDO erforderlich ist, zum BEGIN-Punkt der Transaktion zurückzukehren.
- Es ist zu beachten, daß Transaktionen nicht nur die Arbeitseinheit definieren, sondern auch eine Wiederherstellungseinheit. Das System muß zum Zeitpunkt des Wiederanlaufs oder der Wiederherstellung wissen, für welche Transaktion ein UNDO und für welche ein REDO auszuführen ist. Der Prüfpunkt oder die Momentaufnahme, der bzw. die zu vorherbestimmten Zeitpunkten aufgenommen wird, listet sicher sämtliche Transaktionen auf, die zum Zeitpunkt der Aufnahme des Prüfpunktes im Gange waren. Daher kann das System, je nachdem, zu welchem Zeitpunkt ein Fehler aufgetreten ist, eine UNDO-Liste und eine REDO-Liste erstellen, indem es das Protokoll zunächst rückwärts durcharbeitet und dabei die Transaktionen in der UNDO-Liste rückgängig macht und anschließend das Protokoll wieder vorwärts durcharbeitet und die Transaktionen in der REDO-Liste wiederholt. Nur wenn sämtliche dieser Wiederherstellungsaktivitäten abgeschlossen sind, ist das System überhaupt in der Lage, neue Arbeit anzunehmen. Genaugenommen sind es der Prüfpunkt und die sich daran anschließende Protokollaktivität, die zur Bestätigung der UNDO- und REDO- Listen verarbeitet werden müssen.
- Zum Stand der Technik liegen mehrere Quellen vor, in denen fehlertolerante, transaktionsorientierte Datenbanksysteme beschrieben werden. Hierzu zählen:
- (1) Gawlick et al, US-Patentschrift 4.507.751, "Method and Apparatus for Logging Journal Data Using a Log Write Ahead Data Set", Patent erteilt am 26. März 1985.
- (2) Baker et al, US-Patentschrift 4.498.145, "Method and Apparatus for Assuring Atomicity of Multirow Update Operations in a Database System", Patent erteilt am 5. Februar, 1985.
- (3) Paradine et al, US-Patentschrift 4.159.517, "Journal Back-up Storage Control for a Data Processing System", Patent erteilt am 26. Juni 1979.
- (4) Reinsch et al, "Method for Restarting a Long-running, Fault-tolerant Operation in a Transaction-oriented Data Base System Without Burdening the System Log", gleichzeitig anhängige Patentanmeldung US S/N 06/835.396, angemeldet am 3. März 1986.
- Bei der gegenwärtige Protokollierungstechnik, die in den genannten Quellen dargestellt wird, werden sämtliche Registrierungsdaten, die von einem transaktionsorientierten System erzeugt werden, in einen einzigen Datenstrom geschrieben, der zu einem bestimmten Zeitpunkt physisch auf mehreren Direktzugriffsspeichergeräten oder Bandgeräten resident ist, wobei zu jedem Zeitpunkt immer nur auf eines dieser Geräte geschrieben wird. Die Patente von Gawlick, Baker und Paradine sowie die gleichzeitig anhängige Patentanmeldung von Reinsch beschreiben in dieser Reihenfolge (1) das Schreiben in ein Protokoll vor der Datensatzaktualisierung, (2) die Zwischenspeicherpufferung in ein Protokoll, (3) das gleichzeitige Schreiben in ein hartes und ein weiches Protokoll zur Gewährleistung einer ganzheitlichen Aktualisierung von mehreren Zeilen und (4) die Verwendung eines wiederanlauffähigen Ladedienstprogramms, in dem alle an der Datenbank vorgenommenen Änderungen zwecks Unterstützung einer Wiederherstellung im Falle einer Unterbrechung typischerweise in ein Protokoll geschrieben werden.
- Beim Stand der Technik werden ferner die Arten von Informationen, die zur Wiederherstellung eines Systems beim Auftreten eines Fehlers benötigt werden von denjenigen unterschieden, die zur Wiederherstellung einer Ressource beim Auftreten eines Fehlers herangezogen werden. Eine Systemwiederherstellung bedeutet, daß die Systemressourcen wieder in einen früheren Zustand der Konsistenz überführt werden, wohingegen die Ressourcenwiederherstellung die Neuerstellung eines konsistenten Abbildes einer Ressource im Anschluß an deren Verstümmelung bedeutet.
- Beim Stand der Technik werden bestimmte Bezeichnungen synonym verwendet. So kann beispielsweise der "Steuerstatus" und/oder der "Informationsstatus" einer Ressource oder eines Systems auch als "Abbild" derselben bzw. desselben bezeichnet werden. In der Transaktionsverarbeitung würde sich dies in den meisten Fällen auf die an Transaktionen erinnernden Datensätze beziehen.
- Die vorliegende Erfindung ist in den beiliegenden Ansprüchen definiert.
- Aufgabe dieser Erfindung ist es, ein Verfahren zur wirkungsvollen Bewerkstelligung einer protokollgestützten Datenwiederherstellung in transaktionsorientierten Systemen zu ersinnen. Hierzu gehört auch die Aufgabe, ein Verfahren zur Reduzierung der Anzahl der Registrierungsdaten zu ersinnen, auf die zur Bewerkstelligung der Datenwiederherstellung zugegriffen werden muß und die hierzu verarbeitet werden müssen.
- Die zuvor erwähnten Aufgaben werden durch ein Verfahren zum Schreiben von gekennzeichneten (untergliederten und klassifizierten) Datensätzen aus einem ersten Protokolldatenstrom in mehrere Wiederherstellungsdatenströme und Löschen der gekennzeichneten Datensätze aus dem ersten Datenstrom beim Abschluß der Wiederherstellungseinheit, um die erneute Verwendung des ersten Protokolldatenstrom zu ermöglichen, gelöst, wie es in Anspruch 1 definiert ist.
- Bei dem erfindungsgemäßen Verfahren wird die Wiederherstellung durch die Erzeugung zweier Datenstrukturen unterstützt. Dies sind die Datenströme TRS und RRS. Der Transaction Recovery Stream (Datenstrom zur Transaktionswiederherstellung, nachfolgend als TRS bezeichnet) wird zusammen mit dem Prüfpunkt und den Informationen zur Statusänderung dazu verwendet, die Umgebung zur Verwaltung von Transaktionen nach einer Störung wiederherzustellen. Der TRS enthält die Daten zur Bestimmung des Status der Wiederherstellungseinheit (unit of recovery, nachfolgend als UR bezeichnet), die Daten, die erforderlich sind, um ein ABORT (einen Abbruch) einer UR zu gewährleisten und die Daten, die erforderlich sind, um das COMMIT (die Festschreibung) einer UR sicherzustellen. Alle Daten, die für eine UR protokolliert wurden, werden in den TRS aufgenommen und Teil desselben.
- Der Resource Recovery Stream (Datenstrom zur Ressourcenwiederherstellung, nachfolgend als RRS bezeichnet) wird zur Vorwärtswiederherstellung von Ressourcen verwendet. Damit ist die Neuerstellung eines gültigen Abbilds einer Ressource ausgehend von einer gültigen Kopie der Ressource gemeint, die zu einem vorherbestimmten Zeitpunkt stattfindet. Auf der Basis eines UR COMMIT oder UR ABORT werden die zur Vorwärtswiederherstellung von Ressourcen benötigten Datensätze aus dem TRS in einen oder mehrere vorherbestimmte(n) RRS(s) kopiert.
- Der TRS stellt eine sehr dynamische Datenstruktur für Registrierungsdaten dar, die eine Behebung von Ressourcen-Inkonsistenzen erlaubt, die durch jene URs erzeugt wurden, die zum Zeitpunkt des Auftretens eines Fehlers aktiv waren. Der TRS ist das Repository (Depot) für protokollierte Daten, das aktiven URs zugeordnet wurde, wobei unter aktiven URs diejenigen Transaktionen zu verstehen sind, die zwischen den Begrenzungen BEGIN und END ausgeführt werden.
- An dieser Stelle sei daran erinnert, daß jede Transaktion die Grundelemente BEGIN, COMMIT, ABORT (REDO, UNDO) und END zur Begrenzung der Transaktion verwendet. REDOs gewährleisten die Rückkehr der Transaktion zum am kürzesten zurückliegenden COMMIT-Punkt, wohingegen UNDOs die Rückkehr zum BEGIN-Punkt der Transaktion sicherstellen.
- Wie zuvor bereits erwähnt, enthält der RRS Daten, die zur Vorwärtswiederherstellung ausgehend von einer Abbildkopie einer Ressource benötigt werden. Das erfindungsgemäße Verfahren erzeugt eine beliebige Anzahl von RRSs. Somit kann jede Anwendungssoftware, die auf das transaktionsorientierte Datenbanksystem zugreift, den Ressourcennamen festlegen. Daher kann auch jeder Schreibaufruf (WRITE) für das Protokoll die Ressource angeben, zu der ein bestimmter Datensatz gehören soll. Hierzu gehört auch die Auswahl der Semantik der Datensatzart, die die Bedingungen angibt, unter denen ein gegebener Datensatz aus einem TRS in einen RRS kopiert werden kann. Datensätze, die benötigt werden, um ein REDO einer Transaktion sicherzustellen, dürfen erst dann in den RRS kopiert werden, wenn die zugehörige UR den Status ENSURE-COMMIT (Festschreibung sicherstellen) annimmt. Datensätze, die benötigt werden, um ein UNDO einer Transaktion sicherzustellen, dürfen erst dann in den RRS kopiert werden, wenn die zugehörige UR in den Status ENSURE-ABORT (Abbruch sicherstellen) übergeht.
- Aus dem oben Erwähnten geht hervor, daß durch die Verwendung des erfindungsgemäßen Verfahrens und die ausschließliche Verwaltung von konsistenten Abbildern der Daten im RRS eine Reduzierung der Speicheranforderung für RRS-Daten erreicht wird. Dies ist deshalb so, weil die Datensätze zum UR-Status und die nicht festgeschriebenen Datensätze nicht in die gespeicherten Daten aufgenommen werden müssen. Darüber hinaus reduziert sich durch die Beseitigung uninteressanter Datensätze die Zahl der Ein- Ausgabe-Operationen bei der Ressourcenwiederherstellung. Schließlich verringert sich der Verarbeitungsaufwand bei der Wiederherstellung, da der UR-Status erst dann festgelegt werden muß, wenn die Abbilder der Daten für die Kopie verwendet werden.
- Die Erfindung wird nachstehend unter Bezugnahme auf die Figuren beschrieben, wobei
- Fig. 1 das Auftreten von Grundelementen, die eine Transaktion begrenzen, hinsichtlich deren Abschluß bezüglich des Eintreten eines Prüfpunkts und eines Systemausfalls gemäß dem Stand der Technik zeigt,
- die Fig. 2-3 eine Wiederherstellungseinheit (UR) und deren begrenzende Grundelemente zeigen, wobei die Wiederherstellung im einen Fall ein REDO und im anderen Fall ein UNDO von Transaktionen umfaßt,
- Fig. 4 eine schematische Darstellung des Prozesses der Vorwärtswiederherstellung einer Ressource zeigt,
- Fig. 5 eine höhere Steuerungsflußebene des Protokollierungsverfahrens gemäß der Erfindung aufzeigt,
- Fig. 6 das Format der Protokollsätze innerhalb des Transaction Recovery Streams (TSR) gemäß der Erfindung veranschaulicht,
- Fig. 7 eine Konkordanz zwischen Ressourcennamen und Resource Recovery Streams (RRSs) zeigt,
- die Fig. 8-11 Pseudocode-Beschreibungen der UR-Steuerfunktionen (BEGIN, COMMIT, ABORT und END) darstellen,
- Fig. 12 den höheren Pseudocode zeigt, der das Schreiben von Datensätzen zur Ressourcenwiederherstellung beschreibt und
- die Fig. 13-24 die Strukturierung des TRS und der RRSs einschließlich der Antwort auf COMMIT-/ABORT-Befehle, bis hin zum Löschen der der Datensätze der betroffenen Wiederherstellungseinheit (UR) aus dem TRS gemäß dem erfindungsgemäßen Verfahren veranschaulichen.
- In Fig. 1 sind die Beziehungen, die sich zwischen Transaktionsgrundelementen hinsichtlich des Zeitpunkts des Auftretens ergeben, in Bezug auf Prüfpunkte und Systemausfall dargestellt. Beim Eintreten einer Störung und damit eines Wiederanlaufs muß sich der Wiederherstellungs-Manager die Adresse des neuesten Prüfpunktsatzes aus einer Wiederanlaufdatei oder deren Äquivalent verschaffen, den Prüfpunktsatz im Systemprotokoll lokalisieren und damit fortfahren, das Protokoll von diesem Punkt an vorwärtsgerichtet bis zum Ende zu durchsuchen. Als Ergebnis dieses Vorgangs ist der Wiederherstellungs-Manager dann in der Lage, sowohl die Transaktionen zu bestimmen, die widerrufen werden müssen (UNDO), als auch die Transaktionen, die wiederholt werden müssen (REDO), um bei der Ressource wieder einen Zustand der Konsistenz herzustellen.
- Jede Transaktion ist einer von fünf Kategorien zugeordnet. Demgemäß waren Transaktionen vom Typ T1 abgeschlossen, bevor der Prüfpunkt zum Zeitpunkt Tp erreicht war. Bei Transaktionen vom Typ T2 lag der Start vor dem Zeitpunkt Tp und der Abschluß nach dem Zeitpunkt Tp, aber noch vor dem Zeitpunkt Ta, bei dem der Systemausfall eintrat. Transaktionen vom Typ T3 begannen ebenfalls vor dem Zeitpunkt Tp, waren jedoch nicht vor dem Zeitpunkt Ta abgeschlossen. Transaktionen vom Typ T4 begannen nach dem Zeitpunkt Tp, wurden jedoch vor Erreichen des Zeitpunkts Ta abgeschlossen. Transaktionen vom Typ T5 schließlich starteten nach dem Zeitpunkt Tp, waren jedoch bis zum Zeitpunkt Ta nicht abgeschlossen. Aus diesem Grunde werden die Transaktionen T2 und T4 einem REDO unterworfen, wohingegen die Transaktionen T3 und T5 einem UNDO unterzogen werden.
- Der Wiederherstellungs-Manager startet zwei Listen. Die UNDO- Liste enthält ursprünglich alle Transaktionen, die im Prüfpunktsatz aufgelistet sind, während die REDO-Liste zu Anfang keine Einträge enthält. Der Wiederherstellungs-Manager durchsucht das Protokoll vorwärts, beginnend beim Prüfpunktsatz. Wenn der Wiederherstellungs-Manager zu einer bestimmten Transaktion einen BEGIN-Transaktionssatz findet, fügt er diese Transaktion zur UNDO-Liste hinzu. Desgleichen verschiebt der Wiederherstellungs- Manager, wenn er einen COMMIT-Datensatz zu einer bestimmten Transaktion findet, diese Transaktion von der UNDO-Liste in die REDO-Liste.
- Der Wiederherstellungs-Manager arbeitet das Protokoll nochmals rückwärts durch und macht die in der UNDO-Liste enthaltenen Transaktionen rückgängig. Schließlich arbeitet er wieder vorwärts und wiederholt die in der REDO-Liste enthaltenen Transaktionen.
- Auf der Basis der obigen Beschreibung lassen sich ausgewählte Datensatzarten als REDOs oder UNDOs charakterisieren. Der Vollständigkeit halber sei auf die Fig. 2 und 3 eingegangen, die eine Wiederherstellungseinheit (UR) und deren begrenzende Grundelemente zeigen, wobei die Wiederherstellung im ersten Fall ein REDO und im zweiten Fall ein UNDO der Transaktionen bedeutet.
- In der folgenden Erörterung beziehen sich die Fig. 5-12 auf den Grundgedanken des Verfahrens, während die Fig. 13-24 ein Ausführungsbeispiel der Erfindung veranschaulichen.
- Es ist zu beachten, daß ein Protokoll beim Stand der Technik einen einzelnen Datenstrom darstellt, auf dem Daten, die für den Wiederanlauf des Systems benötigt werden, und Daten, die für die Wiederherstellung der Medien (Ressourcen) benötigt werden, aufgezeichnet sind. Bei dieser Erfindung wird anstelle der bloßen Verwendung einer serialisierten Aufzeichnung von Ereignissen der Datentyp eines wiederverwendbaren Transaction Recovery Streams (Datenstroms zur Transaktionswiederherstellung) und mehrerer Resource Recovery Streams (Datenströme zur Ressourcenwiederherstellung) herangezogen.
- In Fig. 5 wird die Beziehung zwischen dem Transaction Recovery Stream (TRS) und den verschiedenen Resource Recovery Streams (RRSs) gezeigt, die durch die UR-Grundelemente (BEGIN, COMMIT/ABORT, END) ausgelöst werden. Sobald eine Transaktion einen elementaren Konsistenzpunkt erreicht und die Änderungen derselben in der Ressource, beispielsweise einer Datenbank, objektiviert wurden, steht der Speicherplatz, der im TRS von all den Datensätzen belegt war, die sich auf die Transaktion beziehen, zur erneuten Verwendung zur Verfügung. Der zugehörige Protokoll-Manager (als "Registriereinrichtung" bezeichnet) verfügt über eine Abbildung von RRS-Namen/Ressourcennamen (siehe Fig. 7). Der Ressourcenname wird in einem WRITE-Aufruf für das Protokoll angegeben. Die Datenmenge, die zur Ressourcenwiederherstellung benötigt wird, ist in der Regel sehr umfangreich.
- Dies ist deshalb so, weil diese zur Wiederherstellung benötigten Daten ein Protokoll aller permanenten Änderungen darstellen, die an einer modifizierbaren Ressource vorgenommen wurden.
- Zurückkommend auf Fig. 5 ist offensichtlich, daß die Verschiebung der Daten aus dem TRS in den entsprechenden RRS und die Rückforderung von Speicherplatz innerhalb des TRS durch Auslöser der UR-Steuerung bewirkt wird, die von der Registrierungseinrichtung vorgegeben werden. Diese Auslöser sind:
- (1) BEGIN/END UR. Dieser gibt die Begrenzungen einer Wiederherstellungseinheit (UR) in Form einer Gruppe von atomischen Anwendungsprogramm-Aktualisierungen für eine Ressource an.
- (2) COMMIT UR. Dies ist ein Entscheidungspunkt, der anzeigt, daß eine atomischer Übergangspunkt erreicht wurde. Änderungen an der Ressource werden über Fehler hinweg vorgenommen.
- (3) ABORT UR. Dies ist ein Entscheidungspunkt, der anzeigt, daß Programmaktualisierungen widerrufen werden, für den Fall, daß die modifizierbare Ressource teilweise geändert wurde.
- Günstigerweise wird beim erfindungsgemäßen Verfahren der Speicherplatz im Protokoll wiederverwendet und ein Lesen der Datensätze zur Medienwiederherstellung während des Systemwiederanlaufs vermieden.
- In Fig. 6 ist das Format der Protokolldatensätze innerhalb des TRS dargestellt. Das UR ID-Feld definiert den Programmbereich, zu dem ein gegebener Protokolldatensatz gehört. Das Feld TYP kennzeichnet die Funktion der zugehörigen Daten während der Wiederherstellung. Die Typen können in zwei Kategorien unterteilt werden: UR-Steuerung und Ressourcenwiederherstellung. Der Status der UR-Steuersätze ändert sich in der UR. Die Statusänderungen werden dem Protokoll-Manager über Funktionsaufrufe mitgeteilt. Diese Funktionsaufrufe sind: BEGIN UR, COMMIT UR, ABORT UR und END UR. Jedes Ereignis erzeugt einen UR-Steuerprotokollsatz. Als UR-Steuersätze können folgenden Satzarten unterstützt werden: BEGIN, COMMIT, ABORT und END. Die Datensätze zur Ressourcenwiederherstellung zeichnen die Ressourcenänderungen auf. Als Datensätze zur Ressourcenwiederherstellung werden die Satzarten UNDO und REDO unterstützt. Die REDO-Sätze enthalten die Informationen, die zur Wiederholung der Ressourcenänderung benötigt werden.
- Es ist zu beachten, daß das Feld mit dem Ressourcennamen ausschließlich auf die Datensätze zur Ressourcenwiederherstellung anwendbar ist. Dieses Feld bezeichnet die Ressource, die modifiziert wird. Der Ressourcenname erscheint ebenfalls in der in Fig. 7 gezeigten RRS-Abbildungstabelle. Das Feld DATEN schließlich stellt die ressourcenspezifischen oder steuerungsspezifischen Daten dar, die von der Anwendung weitergereicht werden. Der Protokoll-Manager ist nicht sensitiv für das Format oder den Inhalt dieser Daten.
- Die nun folgende Fig. 7 zeigt die RRS-Abbildungstabelle. Die Wiederherstellungsdaten für eine Ressource werden in den in dieser Tabelle angegebenen Resource Recovery Stream (RRS) kopiert. Dabei ist zu beachten, daß ein RRS Daten für mehr als eine Ressource enthalten kann, daß heißt eine Eins-zu-n- Abbildung aufweist. Es sei hinzugesetzt, daß nicht wiederherstellbare Ressourcen durch die Bereitstellung einer Null- Ressourcen-RRS-Abbildung unterstützt werden. Somit ist die Ressource d dem Datenstrom RRS NULL zugeordnet. Datensätze für nicht wiederherstellbare Ressourcen stehen für die Transaktionswiederherstellung zur Verfügung, werden aber nicht in einen RRS übertragen.
- Die Fig. 8-11 zeigen Pseudocode-Darstellungen der UR-Steuerfunktionen. Bezeichnenderweise weist der Pseudocode-Ausdruck eine Form auf, deren Gebrauch typisch für den Entwurf von Steuerungs- und Datenfluß ist. Veranschaulicht wird dieser Gebrauch von Linger et al in "Structured Programming: Theory and Practice", The System Programming Series, Addison-Wesley Publishing Co., Copyright 1979, ISBN 0-201-14461-1, in den Kapiteln 4-5.
- In Fig. 8 ordnet der Pseudocode dem UR-Programmbereich eine ID zu und erstellt einen Protokollsatz im TRS. Zu irgendeinem Zeitpunkt innerhalb der Lebensdauer einer UR fällt die Entscheidung, diese durch ein COMMIT festzuschreiben oder durch ein ABORT abzubrechen. Erfolgt ein COMMIT, so wird die in Fig. 9 dargestellte COMMIT UR-Prozedur der Registriereinrichtung aufgerufen. Es sei daran erinnert, daß vor dem Erreichen des COMMIT- Punktes von verschiedenen Teilnehmern Datensätze in den Datenstrom TRS abgegeben wurden. Die Datensätze werden, sofern anwendbar, vom Transaktions-Manager oder Datenbank-Manager mit REDO/UNDO benannt, als Teil der Informationen, die an die Registriereinrichtung geliefert werden. Die Funktion der Grundelemente, wie sich diese im Steuersatz manifestieren und wie sie beantwortet werden, ist der nachstehend gezeigten Tabelle zu entnehmen: PROZEDUR UR-STEUERSATZ COPY (IM UNTERSCHIED ZU WRITE) BEGIN BEGIN TRS (Erstellen eines UR-Programmbereichs für Protokollsatz) COMMIT COMMIT/REDO TRS/RRS (REDO-Datensätze 1 : n abgebildet) ABORT ABORT/UNDO TRS/RRS (UNDO-Datensätze 1 : n in umgekehrter Abfolge abgebildet) END END TRS (Löschen aus TRS)
- Zu beachten ist, daß die ABORT-Prozedur symmetrisch zur COMMIT- Prozedur ist. Die Tabelle deckt die in den Fig. 8-11 dargestellten Prozeduren ab. Erkannt werden muß jedoch, daß die in Fig. 12 gezeigte WRITE-Prozedur auch mehrmals in einen Transaktionsdatenstrom eingebettet werden kann, nach dem Schema BEGIN . . . WRITE,WRITE, . . . COMMIT/ABORT END. Die WRITE-Prozedur stellt einen Datensatz vom Typ UNDO/REDO in den TRS, wenn der Datensatz einen Ressourcennamen enthält, der in der RRS- Abbildungstabelle enthalten ist.
- An diesem Punkt sind einige Bemerkungen angebracht. Erstens: der Ausdruck "1:n-Abbildung" bezieht sich auf einen UR-Programmbereich, der auf jeder der m Ressourcen definiert ist, die unter n RRSs aufgeteilt sind. Wenn m > n anwendbar ist, gibt es mindestens einen RRS, der die Datensätze/Wiederherstellungsdaten aus mindestens zwei Ressourcen enthält (siehe Fig. 4). Dies ist ein Beispiel für das "Pigeonhole"-Prinzip nach Dirichelet. Eine weitere Beobachtung ist hinsichtlich der Pseudocode-Prozeduren zu machen. Eine Reihe von Pseudocode-Prozeduren enthalten DO- Blöcke. Diese sind nicht mit DO-Schleifen gleichzusetzen.
- DO-Blöcke werden jeweils nur einmal vollständig ausgeführt. Das Ziel in Fig. 5 besteht somit darin, eine Wiederherstellungseinheit (UR) aufzubauen. Der Aufruf der Prozedur wird zwar extern gesteuert, aber vom Protokoll-Manager beantwortet. Dadurch wird der Datensatz in den TRS gestellt.
- In Fig. 13 sind zwei URs dargestellt: UR1 und UR2. Die URs werden im weiteren Verlauf die Ressourcen A, B, C und D verändern. In diesem Beispiel werden die zu UR1 gehörenden Daten durch ein COMMIT festgeschrieben, wohingegen bei UR2 ein Abbruch der Datenaktivität durch ein ABORT erfolgt. Bezeichnenderweise wird die Entscheidung, ob ein COMMIT oder ein ABORT erfolgt, außerhalb des Protokoll-Managers getroffen. Die an Beispielen veranschaulichten Aktivitäten umfassen: (1) die Übertragung von Daten aus dem TRS in die RRSs und (2) das anschließende Löschen der aus dem TRS übertragenen Daten als einer Funktion des END- Grundelements.
- In Fig. 13 wurden UR1 und UR2 durch entsprechende Pendants der BEGIN-Befehle erstellt und im TRS installiert. Nachdrücklich sei hier darauf hingewiesen, daß die Festlegung eines REDO/UNDO für einen Datensatz durch den Transaktions- oder den Datenbank- Manager, nicht aber durch den Protokoll-Manager bzw. die Registriereinrichtung erfolgt. Die Datensätze in Fig. 13 sind entsprechend ihrer Abfolge auf der linken Seite durchnumeriert. So aktualisieren beispielsweise die Datensätze 1-10 den TRS für UR1 und UR2. Satz 11 beschreibt einen ABORT von UR2 und löst das Kopieren der UNDO-Datensätze 6, 8 und 10 zu UR2 aus dem TRS in den entsprechenden RRS aus. In diesem Zusammenhang wird Datensatz 6 (Ressource A) in den Datenstrom RRS1 gestellt, wohingegen die Datensätze 8 und 10 (Ressource C) in den Datenstrom RRS2 gestellt werden. Die Zuordnung, wie sie in Fig. 14 dargestellt ist, entspricht den Vorgaben der RRS-Abbildungstabelle in Fig. 7. Von Interesse ist dabei, daß die UNDO-Datensätze in umgekehrter Abfolge in den Datenstrom RRS2 gestellt werden. Dies gestattet eine exakte Vorwärtsverarbeitung bei der Ressourcenwiederherstellung. In diesem Zusammenhang sei daran erinnert, daß der ABORT (eine Form der Rückgängigmachung) auf die Rücksetzung abzielt. Der Vollständigkeit halber sei darauf hingewiesen, daß UNDO-Datensätze nur dann im RRS stehen müssen, wenn die Transaktionsverwaltung Kopiervorgänge für die Datenbank bei gleichzeitig vorliegender Transaktionsaktivität unterstützt.
- Da die RRSs ausschließlich aus festgeschriebenen Abbildern bestehen, wird dann nur ein Teil der in der TRS-Satzfolge befindlichen Daten für die Ressourcenwiederherstellung benötigt. Im Falle eines ABORTs werden von insgesamt sieben UR2-Datensätzen im TRS nur drei UNDO UR2-Datensätze nach RRS 1 und 2 kopiert.
- In den Fig. 15 und 16 ist die für das erfindungsgemäße Verfahren erforderliche Antwort auf einen im TRS als Datensatz 14 aufgezeichneten UR1 COMMIT-Befehl gezeigt. Der COMMIT löst das Kopieren der UR1 REDO-Datensätze 4, 12 und 13 nach RRS1, RRS2 und NULL in dieser Reihenfolge aus. Es ist zu beachten, daß lediglich die Hälfte der im TRS enthaltenen Datensätze in den RRS kopiert werden, da jede Transaktion zum Zeitpunkt der Entscheidung entweder durch einen COMMIT oder einen ABORT gesteuert wird. Bei Steuerung durch einen CONMIT werden nur Datensätze vom Typ REDO in die RRSs kopiert, während bei ABORT nur Datensätze vom Typ UNDO in die RRSs kopiert werden.
- Wenn der Befehl END UR1 entgegengenommen wird, wie dies in Fig. 17 gezeigt ist, wird dadurch der Vorgang des Löschens von UR1-Datensätzen aus dem TRS ausgelöst. Wie in Fig. 18 gezeigt, sind die Inhalte der RRSs davon nicht betroffen. Bei der Ausführung des END-Befehls wird jede Spur von UR1 aus dem TRS gelöscht, wie in Fig. 19 zu sehen ist. Wie in Fig. 21 und 23 gezeigt bewirkt die Ausführung des END-Befehls für UR2 gleichfalls ein Löschen entsprechender Datensätze aus dem TRS. Die RRS-Datensatzabfolgen bleiben davon unberührt, wie die Fig. 20, 22 und 24 zeigen.
Claims (2)
1. Ein Verfahren zur Reduzierung der Anzahl von
Registrierungsdaten, auf die in einem transaktionsorientierten System
zugegriffen wird und die in diesem verarbeitet werden, in dem
gleichzeitig ablaufende, fehlerunabhängige Prozesse ein
gemeinsames Protokoll benutzen und in dem ferner jede Transaktion die
Grundelemente BEGIN, COMMIT, ABORT (REDO/UNDO) und END zur
Begrenzung der Transaktion verwendet, REDOs die Rückkehr der
Transaktion zum am kürzesten zurückliegenden COMMIT-Punkt
sicherstellen, während UNDOs die Rückkehr zum BEGIN-Punkt der
Transaktion sicherstellen, und das folgende Schritte umfaßt:
(a) das Einleiten der Aufzeichnung von Registrierungsdaten
in einer untergliederten Weise mittels einer
Wiederherstellungseinheit (UR) unter Verwendung eines BEGIN-Datensatzes in einem
Transaction Recovery Stream (TRS);
(b) das Klassifizieren und anschließende Schreiben von
Registrierungsdaten in den TRS in Abhängigkeit von deren
Funktion bei der Wiederherstellung (COMMIT, ABORT, REDO, UNDO);
(c) die Durchführung einer Eins-zu-n-Abbildung aller REDO-
Registrierungsdaten des UR-Programmbereichs aus dem TRS in zuvor
festgelegte, zugehörige Ressource Recovery Streams (RRSs) als
Reaktion auf die UR-Statusänderung COMMIT und die Durchführung
einer Eins-zu-n-Abbildung von UNDO-Registrierungsdaten des UR-
Programmbereichs aus dem TRS in zuvor festgelegte, zugehörige
RRSs als Reaktion auf die UR-Statusänderung ABORT; und
(d) beim Abschluß (END) der UR-Statusänderungen unter
Verwendung der RRSs, das Entfernen aller Registrierungsdaten,
die im Zusammenhang mit dem gegebenen UR-Programmbereich stehen,
aus dem TRS.
2. Ein Verfahren gemäß Anspruch 1, bei dem ein
UR-Programmbereich, der auf jeder einzelnen von m Ressourcen definiert ist,
unter n RRSs aufgeteilt wird, wobei m > n, so daß mindestens ein
RRS die Registrierungsdaten aus zwei Ressourcen enthält.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/880,387 US4878167A (en) | 1986-06-30 | 1986-06-30 | Method for managing reuse of hard log space by mapping log data during state changes and discarding the log data |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3786956D1 DE3786956D1 (de) | 1993-09-16 |
DE3786956T2 true DE3786956T2 (de) | 1994-03-17 |
Family
ID=25376152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE87107475T Expired - Fee Related DE3786956T2 (de) | 1986-06-30 | 1987-05-22 | Verwaltung von registrierungsdaten in einem transaktionsorientierten System. |
Country Status (4)
Country | Link |
---|---|
US (1) | US4878167A (de) |
EP (1) | EP0250847B1 (de) |
JP (1) | JPS6310252A (de) |
DE (1) | DE3786956T2 (de) |
Families Citing this family (165)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5065311A (en) * | 1987-04-20 | 1991-11-12 | Hitachi, Ltd. | Distributed data base system of composite subsystem type, and method fault recovery for the system |
JP2718031B2 (ja) * | 1987-07-17 | 1998-02-25 | 株式会社日立製作所 | 履歴情報取得方法 |
US5123104A (en) * | 1988-04-08 | 1992-06-16 | International Business Machines Corporation | Method and apparatus for concurrent modification of an index tree in a transaction processing system utilizing selective indication of structural modification operations |
US5043866A (en) * | 1988-04-08 | 1991-08-27 | International Business Machines Corporation | Soft checkpointing system using log sequence numbers derived from stored data pages and log records for database recovery |
US5067107A (en) * | 1988-08-05 | 1991-11-19 | Hewlett-Packard Company | Continuous computer performance measurement tool that reduces operating system produced performance data for logging into global, process, and workload files |
US5278983A (en) * | 1988-09-30 | 1994-01-11 | International Business Machines Corporation | Boundary representation solid modeling system |
US5159669A (en) * | 1988-12-15 | 1992-10-27 | Xerox Corporation | Automatically creating a second workspace operation record including history data and a unit ID based on a first workspace operation |
US5089958A (en) * | 1989-01-23 | 1992-02-18 | Vortex Systems, Inc. | Fault tolerant computer backup system |
GB2230626A (en) * | 1989-04-20 | 1990-10-24 | Croftlands Ltd | Computerised database system |
DE68927705T2 (de) * | 1989-06-13 | 1997-07-17 | Ibm | Verfahren zum Entfernen unbestätigter Änderungen an gespeicherten Daten durch ein Datenbankverwaltungssystem |
GB8915875D0 (en) * | 1989-07-11 | 1989-08-31 | Intelligence Quotient United K | A method of operating a data processing system |
US5454099A (en) * | 1989-07-25 | 1995-09-26 | International Business Machines Corporation | CPU implemented method for backing up modified data sets in non-volatile store for recovery in the event of CPU failure |
US5095421A (en) * | 1989-08-17 | 1992-03-10 | International Business Machines Corporation | Transaction processing facility within an operating system environment |
US5170480A (en) * | 1989-09-25 | 1992-12-08 | International Business Machines Corporation | Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time |
US5155850A (en) * | 1990-02-23 | 1992-10-13 | International Business Machines Corporation | Method and system for maintaining a time frame selective document history log in a data processing system |
US5201044A (en) * | 1990-04-16 | 1993-04-06 | International Business Machines Corporation | Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory |
GB2243467B (en) * | 1990-04-26 | 1994-03-09 | Int Union Of Crystallography | Handling data |
US5261089A (en) * | 1990-05-16 | 1993-11-09 | International Business Machines Corporation | Optimization of commit procedures by utilizing a two-phase commit procedure only when necessary |
JP3293839B2 (ja) * | 1990-05-16 | 2002-06-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 作業ユニットに合わせてコミット範囲を調整するコンピュータ・システム |
US5327532A (en) * | 1990-05-16 | 1994-07-05 | International Business Machines Corporation | Coordinated sync point management of protected resources |
US5319774A (en) * | 1990-05-16 | 1994-06-07 | International Business Machines Corporation | Recovery facility for incomplete sync points for distributed application |
JP2691081B2 (ja) * | 1990-05-16 | 1997-12-17 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータ・ネットワーク |
US5319773A (en) * | 1990-05-16 | 1994-06-07 | International Business Machines Corporation | Asynchronous resynchronization of a commit procedure |
US5165031A (en) * | 1990-05-16 | 1992-11-17 | International Business Machines Corporation | Coordinated handling of error codes and information describing errors in a commit procedure |
DE69126066T2 (de) * | 1990-06-29 | 1997-09-25 | Oracle Corp | Verfahren und Gerät zur Optimierung des Logbuchaufhebungsgebrauchs |
EP0465019B1 (de) * | 1990-06-29 | 1997-05-14 | Oracle Corporation | Verfahren und Gerät zur Verwaltung von Zustandsidentifizierern zur effizienten Wiederherstellung |
US5317730A (en) * | 1991-01-11 | 1994-05-31 | International Business Machines Corporation | System for modifying persistent database based upon set of data elements formed after selective insertion or deletion |
US5764877A (en) * | 1991-06-25 | 1998-06-09 | Digital Equipment Corporation | Media recovery with time-split B-trees |
US5325519A (en) * | 1991-10-18 | 1994-06-28 | Texas Microsystems, Inc. | Fault tolerant computer with archival rollback capabilities |
US5499367A (en) * | 1991-11-15 | 1996-03-12 | Oracle Corporation | System for database integrity with multiple logs assigned to client subsets |
US5278982A (en) * | 1991-12-23 | 1994-01-11 | International Business Machines Corporation | Log archive filtering method for transaction-consistent forward recovery from catastrophic media failures |
US5481710A (en) * | 1992-09-16 | 1996-01-02 | International Business Machines Corporation | Method of and system for providing application programs with an undo/redo function |
JP3378594B2 (ja) * | 1992-09-25 | 2003-02-17 | 富士通株式会社 | データベース再配置を行う処理装置 |
JPH06266597A (ja) * | 1993-03-11 | 1994-09-22 | Fujitsu Ltd | ログ取得方式 |
US5544359A (en) * | 1993-03-30 | 1996-08-06 | Fujitsu Limited | Apparatus and method for classifying and acquiring log data by updating and storing log data |
US7174352B2 (en) * | 1993-06-03 | 2007-02-06 | Network Appliance, Inc. | File system image transfer |
US5963962A (en) * | 1995-05-31 | 1999-10-05 | Network Appliance, Inc. | Write anywhere file-system layout |
US6604118B2 (en) | 1998-07-31 | 2003-08-05 | Network Appliance, Inc. | File system image transfer |
US6138126A (en) | 1995-05-31 | 2000-10-24 | Network Appliance, Inc. | Method for allocating files in a file system integrated with a raid disk sub-system |
GB2281644A (en) * | 1993-09-02 | 1995-03-08 | Ibm | Fault tolerant transaction-oriented data processing. |
JP2708386B2 (ja) | 1994-03-18 | 1998-02-04 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 同時更新及び複写手順を通して重複データベースを回復させる方法及び装置 |
GB9406564D0 (en) * | 1994-03-31 | 1994-05-25 | Int Computers Ltd | Database management system |
US5561795A (en) * | 1994-05-13 | 1996-10-01 | Unisys Corporation | Method and apparatus for audit trail logging and data base recovery |
US5590277A (en) * | 1994-06-22 | 1996-12-31 | Lucent Technologies Inc. | Progressive retry method and apparatus for software failure recovery in multi-process message-passing applications |
US5530802A (en) * | 1994-06-22 | 1996-06-25 | At&T Corp. | Input sequence reordering method for software failure recovery |
US5649152A (en) | 1994-10-13 | 1997-07-15 | Vinca Corporation | Method and system for providing a static snapshot of data stored on a mass storage system |
US5835953A (en) | 1994-10-13 | 1998-11-10 | Vinca Corporation | Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating |
US5832203A (en) * | 1995-01-23 | 1998-11-03 | Tandem Computers Incorporated | Method for providing recovery from a failure in a system utilizing distributed audit |
WO1996023269A1 (en) * | 1995-01-23 | 1996-08-01 | Tandem Computers Incorporated | System for maintenance of database integrity |
GB2301910B (en) * | 1995-06-07 | 1999-07-21 | Ibm | Management of units of work on a computer system log |
JP3085899B2 (ja) * | 1995-06-19 | 2000-09-11 | 株式会社東芝 | マルチプロセッサシステム |
US5991771A (en) * | 1995-07-20 | 1999-11-23 | Novell, Inc. | Transaction synchronization in a disconnectable computer and network |
US6192365B1 (en) | 1995-07-20 | 2001-02-20 | Novell, Inc. | Transaction log management in a disconnectable computer and network |
US5644698A (en) * | 1996-05-30 | 1997-07-01 | International Business Machines Corporation | Configurable reuse delay criterion for storage volumes |
US5878434A (en) * | 1996-07-18 | 1999-03-02 | Novell, Inc | Transaction clash management in a disconnectable computer and network |
KR100198805B1 (ko) * | 1996-11-22 | 1999-06-15 | 정선종 | 분석 단계에서 트랜잭션 테이블 초기화 기법을 이용한 댕글링 트랜잭션 발생 방지 방법 |
JPH10177508A (ja) * | 1996-12-18 | 1998-06-30 | G & G Pharma Kk | コンピュータ上のデータ格納構造 |
US5920875A (en) * | 1997-03-28 | 1999-07-06 | International Business Machines Corporation | Tail compression of a sparse log stream of a computer system |
US5956735A (en) * | 1997-03-28 | 1999-09-21 | International Business Machines Corporation | System of compressing the tail of a sparse log stream of a computer system |
US6076095A (en) * | 1997-03-28 | 2000-06-13 | International Business Machines Corporation | Method of one system of a multisystem environment taking over log entries owned by another system |
US6108667A (en) * | 1997-03-28 | 2000-08-22 | International Business Machines Corporation | System of compressing a log stream using a scratch pad of logically deleted entries |
US6125393A (en) * | 1997-03-28 | 2000-09-26 | International Business Machines Corporation | System of compressing the tail of a sparse log stream of a multisystem environment |
US5999935A (en) * | 1997-03-28 | 1999-12-07 | International Business Machines Corporation | Tail compression of a sparse log stream of a multisystem environment |
US5966708A (en) * | 1997-03-28 | 1999-10-12 | International Business Machines | Tail compression of a log stream using a scratch pad of logically deleted entries |
US6092084A (en) * | 1997-03-28 | 2000-07-18 | International Business Machines Corporation | One system of a multisystem environment taking over log entries owned by another system |
JP3778652B2 (ja) * | 1997-04-18 | 2006-05-24 | 株式会社日立製作所 | ログデータ収集管理方法及びその装置 |
US5925095A (en) * | 1997-05-12 | 1999-07-20 | International Business Machines Corporation | Method and a computer program product for client/server computing with support for both recoverable and non-recoverable clients |
US6574591B1 (en) * | 1998-07-31 | 2003-06-03 | Network Appliance, Inc. | File systems image transfer between dissimilar file systems |
US8631066B2 (en) * | 1998-09-10 | 2014-01-14 | Vmware, Inc. | Mechanism for providing virtual machines for use by multiple users |
US6952741B1 (en) | 1999-06-30 | 2005-10-04 | Computer Sciences Corporation | System and method for synchronizing copies of data in a computer system |
ATE283514T1 (de) * | 1999-06-30 | 2004-12-15 | Science Corp Comp | Verfahren und vorrichtung zum untersuchen von transaktionsaufzeichnungen in einem rechnersystem |
US7340426B1 (en) | 1999-07-30 | 2008-03-04 | Computer Sciences Corporation | Event-triggered transaction processing for electronic data interchange |
US6970844B1 (en) | 1999-08-27 | 2005-11-29 | Computer Sciences Corporation | Flow designer for establishing and maintaining assignment and strategy process maps |
US6961708B1 (en) | 1999-08-27 | 2005-11-01 | Computer Sciences Corporation | External interface for requesting data from remote systems in a generic fashion |
US7359863B1 (en) | 1999-09-30 | 2008-04-15 | Computer Sciences Corporation | Condition component framework for reinsurance |
US7693731B1 (en) | 1999-09-30 | 2010-04-06 | Computer Sciences Corporation | Business process framework for reinsurance |
US7571171B1 (en) | 1999-10-29 | 2009-08-04 | Computer Sciences Corporation | Smart trigger for use in processing business transactions |
US7546304B1 (en) | 1999-10-29 | 2009-06-09 | Computer Sciences Corporation | Configuring keys for use in processing business data |
US7526487B1 (en) | 1999-10-29 | 2009-04-28 | Computer Sciences Corporation | Business transaction processing systems and methods |
US7693844B1 (en) | 1999-10-29 | 2010-04-06 | Computer Sciences Corporation | Configuring processing relationships among entities of an organization |
US6925468B1 (en) | 1999-10-29 | 2005-08-02 | Computer Sciences Corporation | Configuring systems for generating business transaction reports using processing relationships among entities of an organization |
US7353196B1 (en) | 1999-10-29 | 2008-04-01 | Computer Sciences Corporation | Configuring dynamic database packageset switching for use in processing business transactions |
US7356541B1 (en) | 1999-10-29 | 2008-04-08 | Computer Sciences Corporation | Processing business data using user-configured keys |
US7363264B1 (en) | 1999-10-29 | 2008-04-22 | Computer Sciences Corporation | Processing business transactions using dynamic database packageset switching |
US7430514B1 (en) | 2000-06-23 | 2008-09-30 | Computer Sciences Corporation | System and method for processing insurance claims using a table of contents |
US7430515B1 (en) | 2000-06-23 | 2008-09-30 | Computer Sciences Corporation | System and method for externalization of formulas for assessing damages |
US7418400B1 (en) | 2000-06-23 | 2008-08-26 | Computer Sciences Corporation | Internet-enabled system and method for assessing damages |
US7571107B1 (en) | 2000-06-23 | 2009-08-04 | Computer Sciences Corporation | System and method for externalization of rules for assessing damages |
US7398219B1 (en) | 2000-06-23 | 2008-07-08 | Computer Sciences Corporation | System and method for displaying messages using a messages table |
US7095426B1 (en) | 2000-06-23 | 2006-08-22 | Computer Sciences Corporation | Graphical user interface with a hide/show feature for a reference system in an insurance claims processing system |
US7343307B1 (en) | 2000-06-23 | 2008-03-11 | Computer Sciences Corporation | Dynamic help method and system for an insurance claims processing system |
US7630909B2 (en) * | 2000-10-02 | 2009-12-08 | Computer Sciences Corporation | Computerized method and system for adjusting liability estimates in an accident liability assessment program |
US6968504B2 (en) | 2001-06-29 | 2005-11-22 | Microsoft Corporation | Automated document formatting tool |
US8832543B2 (en) * | 2001-06-29 | 2014-09-09 | Microsoft Corporation | Automated document formatting tool |
US7963899B2 (en) * | 2001-07-13 | 2011-06-21 | The Proctor & Gamble Company | Continuous in-line pleating apparatus and process |
WO2003055638A1 (en) * | 2001-12-24 | 2003-07-10 | Digimarc Id Systems, Llc | Laser etched security features for identification documents and methods of making same |
US7694887B2 (en) | 2001-12-24 | 2010-04-13 | L-1 Secure Credentialing, Inc. | Optically variable personalized indicia for identification documents |
ATE552120T1 (de) | 2001-12-24 | 2012-04-15 | L 1 Secure Credentialing Inc | Verdeckte variableninformationen auf id- dokumenten und verfahren zu ihrer herstellung |
US7815124B2 (en) | 2002-04-09 | 2010-10-19 | L-1 Secure Credentialing, Inc. | Image processing techniques for printing identification cards and documents |
US7085784B2 (en) * | 2002-01-10 | 2006-08-01 | International Business Machines Corporation | System and method for eliminating duplicate copies of activity history logs in bridging two or more backend database systems |
US7824029B2 (en) | 2002-05-10 | 2010-11-02 | L-1 Secure Credentialing, Inc. | Identification card printer-assembler for over the counter card issuing |
US7672860B2 (en) * | 2002-09-09 | 2010-03-02 | Computer Sciences Corporation | Computerized method and system for determining the contribution of defenses to premises liability for an accident |
US7702528B2 (en) * | 2002-09-09 | 2010-04-20 | Computer Sciences Corporation | Computerized method and system for determining breach of duty in premises liability for an accident |
US20040054557A1 (en) * | 2002-09-09 | 2004-03-18 | Stefan Wahlbin | Computerized method and system for estimating premises liability for an accident |
US20040054556A1 (en) * | 2002-09-09 | 2004-03-18 | Stephan Wahlbin | Computerized method and system for determining causation in premises liability for an accident |
US20040054558A1 (en) * | 2002-09-09 | 2004-03-18 | Stefan Wahlbin | Computerized method and system for determining claimant status in premises liability for an accident |
US20040085357A1 (en) * | 2002-10-31 | 2004-05-06 | Childress Allen B. | Method of generating a graphical display of a business rule and associated business rule elements |
US20040088199A1 (en) * | 2002-10-31 | 2004-05-06 | Childress Allen B. | Method of forming a business rule |
US7676387B2 (en) * | 2002-10-31 | 2010-03-09 | Computer Sciences Corporation | Graphical display of business rules |
US7451148B2 (en) | 2002-10-31 | 2008-11-11 | Computer Sciences Corporation | Method of modifying a business rule while tracking the modifications |
US7689442B2 (en) * | 2002-10-31 | 2010-03-30 | Computer Science Corporation | Method of generating a graphical display of a business rule with a translation |
US20040088195A1 (en) * | 2002-10-31 | 2004-05-06 | Childress Allen B. | Method of modifying a business rule |
AU2003298731A1 (en) | 2002-11-26 | 2004-06-18 | Digimarc Id Systems | Systems and methods for managing and detecting fraud in image databases used with identification documents |
US7702529B2 (en) * | 2002-11-27 | 2010-04-20 | Computer Sciences Corporation | Computerized method and system for estimating an effect on liability using claim data accessed from claim reporting software |
US7809586B2 (en) * | 2002-11-27 | 2010-10-05 | Computer Sciences Corporation | Computerized method and system for estimating an effect on liability using a comparison of the actual speed of a vehicle in an accident and time and distance traveled by the vehicles in a merging vehicle accident |
US7792690B2 (en) * | 2002-11-27 | 2010-09-07 | Computer Sciences Corporation | Computerized method and system for estimating an effect on liability of the speed of vehicles in an accident and time and distance traveled by the vehicles |
US7660725B2 (en) * | 2002-11-27 | 2010-02-09 | Computer Sciences Corporation | Computerized method and system for estimating an effect on liability based on the stopping distance of vehicles |
US7805321B2 (en) * | 2002-11-27 | 2010-09-28 | Computer Sciences Corporation | Computerized method and system for estimating liability for an accident from an investigation of the accident |
US7725334B2 (en) * | 2002-11-27 | 2010-05-25 | Computer Sciences Corporation | Computerized method and system for estimating liability for an accident using dynamic generation of questions |
US20040102984A1 (en) * | 2002-11-27 | 2004-05-27 | Stefan Wahlbin | Computerized method and system for estimating liability using recorded vehicle data |
US7818187B2 (en) * | 2002-11-27 | 2010-10-19 | Computer Sciences Corporation | Computerized method and system for estimating liability |
US20040103005A1 (en) * | 2002-11-27 | 2004-05-27 | Stefan Wahlbin | Computerized method and system for estimating monetary damages due to injuries in an accident from liability estimated using a computer system |
US7895063B2 (en) * | 2002-11-27 | 2011-02-22 | Computer Sciences Corporation | Computerized method and system for creating pre-configured claim reports including liability in an accident estimated using a computer system |
WO2004095348A2 (en) | 2003-04-16 | 2004-11-04 | Digimarc Corporation | Three dimensional data storage |
US20040215494A1 (en) * | 2003-04-24 | 2004-10-28 | Wahlbin Stefan L. | Method and system for determining monetary amounts in an insurance processing system |
US20050060205A1 (en) * | 2003-09-02 | 2005-03-17 | Woods Randall K. | Systems and methods for a graphical input display in an insurance processing system |
US7895064B2 (en) * | 2003-09-02 | 2011-02-22 | Computer Sciences Corporation | Graphical input display in an insurance processing system |
US7174479B2 (en) * | 2003-09-10 | 2007-02-06 | Microsoft Corporation | Method and system for rollback-free failure recovery of multi-step procedures |
US7730222B2 (en) | 2004-08-24 | 2010-06-01 | Symantec Operating System | Processing storage-related I/O requests using binary tree data structures |
US7631120B2 (en) | 2004-08-24 | 2009-12-08 | Symantec Operating Corporation | Methods and apparatus for optimally selecting a storage buffer for the storage of data |
US7904428B2 (en) | 2003-09-23 | 2011-03-08 | Symantec Corporation | Methods and apparatus for recording write requests directed to a data store |
US7296008B2 (en) | 2004-08-24 | 2007-11-13 | Symantec Operating Corporation | Generation and use of a time map for accessing a prior image of a storage device |
US7239581B2 (en) | 2004-08-24 | 2007-07-03 | Symantec Operating Corporation | Systems and methods for synchronizing the internal clocks of a plurality of processor modules |
US7577807B2 (en) | 2003-09-23 | 2009-08-18 | Symantec Operating Corporation | Methods and devices for restoring a portion of a data store |
US7991748B2 (en) | 2003-09-23 | 2011-08-02 | Symantec Corporation | Virtual data store creation and use |
US7577806B2 (en) | 2003-09-23 | 2009-08-18 | Symantec Operating Corporation | Systems and methods for time dependent data storage and recovery |
US7827362B2 (en) | 2004-08-24 | 2010-11-02 | Symantec Corporation | Systems, apparatus, and methods for processing I/O requests |
US7725760B2 (en) | 2003-09-23 | 2010-05-25 | Symantec Operating Corporation | Data storage system |
US7409587B2 (en) | 2004-08-24 | 2008-08-05 | Symantec Operating Corporation | Recovering from storage transaction failures using checkpoints |
US7287133B2 (en) | 2004-08-24 | 2007-10-23 | Symantec Operating Corporation | Systems and methods for providing a modification history for a location within a data store |
US20050108063A1 (en) * | 2003-11-05 | 2005-05-19 | Madill Robert P.Jr. | Systems and methods for assessing the potential for fraud in business transactions |
US7366801B2 (en) * | 2004-01-30 | 2008-04-29 | International Business Machines Corporation | Method for buffering work requests |
US7650606B2 (en) * | 2004-01-30 | 2010-01-19 | International Business Machines Corporation | System recovery |
US8140348B2 (en) * | 2004-01-30 | 2012-03-20 | International Business Machines Corporation | Method, system, and program for facilitating flow control |
JP4551096B2 (ja) * | 2004-02-03 | 2010-09-22 | 株式会社日立製作所 | ストレージサブシステム |
US20050192850A1 (en) * | 2004-03-01 | 2005-09-01 | Lorenz Scott K. | Systems and methods for using data structure language in web services |
JP4575762B2 (ja) * | 2004-06-03 | 2010-11-04 | 株式会社日立製作所 | データ処理方法および装置並びにストレージ装置およびその処理プログラム |
US7634687B2 (en) * | 2005-01-13 | 2009-12-15 | Microsoft Corporation | Checkpoint restart system and method |
EP1691290B1 (de) * | 2005-02-09 | 2007-10-10 | Deutsche Post AG | Verfahren zur Sicherung einer Datenbank und Vorrichtung zur Durchführung des Verfahrens |
JP4249719B2 (ja) * | 2005-03-29 | 2009-04-08 | 株式会社日立製作所 | バックアップシステム、プログラム及びバックアップ方法 |
WO2007047346A2 (en) | 2005-10-14 | 2007-04-26 | Symantec Operating Corporation | Technique for timeline compression in a data store |
US7882079B2 (en) * | 2005-11-30 | 2011-02-01 | Oracle International Corporation | Database system configured for automatic failover with user-limited data loss |
US7624129B2 (en) * | 2006-06-30 | 2009-11-24 | Microsoft Corporation | Dual logging of changes to a user preference in a computer device |
US8010391B2 (en) | 2007-06-29 | 2011-08-30 | Computer Sciences Corporation | Claims processing hierarchy for insured |
US8010390B2 (en) * | 2007-06-04 | 2011-08-30 | Computer Sciences Corporation | Claims processing of information requirements |
US8010389B2 (en) * | 2007-06-04 | 2011-08-30 | Computer Sciences Corporation | Multiple policy claims processing |
US8000986B2 (en) | 2007-06-04 | 2011-08-16 | Computer Sciences Corporation | Claims processing hierarchy for designee |
US7774646B2 (en) * | 2007-07-23 | 2010-08-10 | Netapp, Inc. | Surviving storage system takeover by replaying operations in an operations log mirror |
US8140483B2 (en) | 2007-09-28 | 2012-03-20 | International Business Machines Corporation | Transaction log management |
US20090187431A1 (en) * | 2008-01-18 | 2009-07-23 | Frank Scalet | Adjusting general damages values using equalization values |
JP5385545B2 (ja) * | 2008-04-17 | 2014-01-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | トランザクションの実行を制御する装置及び方法 |
US8381032B2 (en) * | 2008-08-06 | 2013-02-19 | O'shantel Software L.L.C. | System-directed checkpointing implementation using a hypervisor layer |
US10127119B1 (en) * | 2014-05-21 | 2018-11-13 | Veritas Technologies, LLC | Systems and methods for modifying track logs during restore processes |
JP7007017B2 (ja) * | 2018-03-22 | 2022-01-24 | Necソリューションイノベータ株式会社 | ストレージシステム、制御方法、及びプログラム |
US11176004B2 (en) * | 2019-04-01 | 2021-11-16 | Sap Se | Test continuous log replay |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4507751A (en) * | 1982-06-21 | 1985-03-26 | International Business Machines Corporation | Method and apparatus for logging journal data using a log write ahead data set |
US4648031A (en) * | 1982-06-21 | 1987-03-03 | International Business Machines Corporation | Method and apparatus for restarting a computing system |
US4498145A (en) * | 1982-06-30 | 1985-02-05 | International Business Machines Corporation | Method for assuring atomicity of multi-row update operations in a database system |
-
1986
- 1986-06-30 US US06/880,387 patent/US4878167A/en not_active Expired - Fee Related
-
1987
- 1987-05-22 EP EP87107475A patent/EP0250847B1/de not_active Expired - Lifetime
- 1987-05-22 DE DE87107475T patent/DE3786956T2/de not_active Expired - Fee Related
- 1987-06-18 JP JP62150368A patent/JPS6310252A/ja active Granted
Also Published As
Publication number | Publication date |
---|---|
DE3786956D1 (de) | 1993-09-16 |
JPS6310252A (ja) | 1988-01-16 |
EP0250847B1 (de) | 1993-08-11 |
EP0250847A2 (de) | 1988-01-07 |
US4878167A (en) | 1989-10-31 |
JPH0560617B2 (de) | 1993-09-02 |
EP0250847A3 (en) | 1989-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3786956T2 (de) | Verwaltung von registrierungsdaten in einem transaktionsorientierten System. | |
DE68927705T2 (de) | Verfahren zum Entfernen unbestätigter Änderungen an gespeicherten Daten durch ein Datenbankverwaltungssystem | |
DE3788444T2 (de) | Verfahren zum Wiederanlauf einer langlaufenden fehlertoleranten Operation in einem transaktionsorientierten Datenbasissystem. | |
DE69119222T2 (de) | Datensicherung und Beseitigung in einem Datenverarbeitungssystem | |
DE69126067T2 (de) | Verfahren und Gerät zur Verwaltung von Zustandsidentifizierern zur effizienten Wiederherstellung | |
DE69126066T2 (de) | Verfahren und Gerät zur Optimierung des Logbuchaufhebungsgebrauchs | |
DE4220198C2 (de) | Transaktionsverarbeitungsverfahren für einen digitalen Computer und Transaktionsverarbeitungssystem | |
DE69112694T2 (de) | Verfahren zum Betrieb eines Datenverarbeitungssystems zur Ausführung von Datenbanktransaktionen. | |
DE4435751B4 (de) | Dateiname- und Verzeichnis- Erfassungsverfahren zur Verwendung mit einem Betriebssystem | |
DE3784190T2 (de) | Eintragung eines datenbasisindex in das journal zur verbesserten rueckstellung. | |
DE68922431T2 (de) | Datenbasiserholung in einem Rechnersystem nach einem Systemabsturz. | |
DE68927142T2 (de) | Verriegelungs- und Lese-Minimierung in einem segmentierten Speicherraum | |
DE69025507T2 (de) | Gerät zur Sicherung und Wiederherstellung für Digitalrechner | |
DE112010004947B4 (de) | Wiederherstellung einer vollständigen Systemsicherung und inkrementeller Sicherungen unter Verwendung von mehreren gleichzeitigen Datenströmen von Einheiten | |
DE3854667T2 (de) | Datenbasissystem mit einer Baumstruktur. | |
EP0929864B1 (de) | Koordinations-system | |
DE69126050T2 (de) | Verfahren zur Aktualisierung oder Wiedergabe gespeicherter Datengruppen und System zu dessen Erzeugung | |
DE60030872T2 (de) | Verfahren und anordnung um atomische aktualisierungen durchzuführen durch verwendung eines logischen flaschspeichergerätes | |
DE69913375T2 (de) | Anzeige eines fehlers in einem transaktionsverarbeitungssystem | |
DE10112941A1 (de) | System und Verfahren für das parallele Lesen von primären und sekundären Sicherungen zur Wiederherstellung mehrerer gemeinsam benutzter Datenbankdateien | |
DE4210126A1 (de) | Verfahren und system zur dynamischen dateierweiterung fuer online-datenbanksysteme | |
DE3889254T2 (de) | Verfahren zur Steuerung von gleichzeitigen Zugriffen innerhalb einer Seite sowie Teilwiederholung von Transaktionen in einem transaktionsorientierten System des Vorausschreibaufzeichnungstyps. | |
EP0685086B1 (de) | Einrichtung zur automatischen erzeugung einer wissensbasis für ein diagnose-expertensystem | |
DE3886756T2 (de) | Betriebsmittelzugriff für Multiprozessorrechnersystem. | |
EP1731999B1 (de) | Mechanismus zum dynamischen Registrieren von Dateien in einer stapelverarbeitungsorientierten Umgebung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |