DE69112694T2 - Verfahren zum Betrieb eines Datenverarbeitungssystems zur Ausführung von Datenbanktransaktionen. - Google Patents
Verfahren zum Betrieb eines Datenverarbeitungssystems zur Ausführung von Datenbanktransaktionen.Info
- Publication number
- DE69112694T2 DE69112694T2 DE69112694T DE69112694T DE69112694T2 DE 69112694 T2 DE69112694 T2 DE 69112694T2 DE 69112694 T DE69112694 T DE 69112694T DE 69112694 T DE69112694 T DE 69112694T DE 69112694 T2 DE69112694 T2 DE 69112694T2
- Authority
- DE
- Germany
- Prior art keywords
- cursor
- query
- persistent
- data processing
- processing system
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012545 processing Methods 0.000 title claims abstract description 29
- 230000002085 persistent effect Effects 0.000 claims abstract description 68
- 238000011156 evaluation Methods 0.000 claims abstract description 11
- 230000004044 response Effects 0.000 claims abstract description 6
- 239000000872 buffer Substances 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 230000027455 binding Effects 0.000 description 3
- 238000009739 binding Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- 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/1474—Saving, restoring, recovering or retrying in transactions
-
- 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/2365—Ensuring data consistency and integrity
-
- 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/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
- G06F16/2438—Embedded query languages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
- Die vorliegende Erfindung bezieht sich im allgemeinen auf den Bereich von Datenbankanwendungen und insbesondere auf den Bereich von Datenbankanwendungen, die sequentielle Stapelanwendungen unterstützen. Die vorliegende Erfindung bezieht sich außerdem auf Datenbankanwendungen, die sequentielle Stapelverarbeitungen unterstützen und ermöglicht die kontinuierliche Auswertung und Numerierung einer Folge von Objekten über eine Transaktionsfestschreibung, -wiederholung oder einen Systemausfall.
- Die Speicherung und Manipulation von Datensätzen oder Datenobjekten innerhalb einer Datenbankanwendung ist in der Technik bekannt. Da Datenbankanwendungen größer und komplexer werden, entsteht ein Problem in bezug auf den Bedarf, Anwendungsverarbeitungsfunktionen in einem großen Satz von Datenobjekten einzusetzen.
- In Datenbankanwendungen werden die zu verarbeitenden Objekte angegeben, indem ein nichtprozeduraler, relationaler Infinitesimalrechnungsausdruck verwendet wird, bekannt als eine "Abfrage". Ein bestimmter "Cursor" kann mit einer Abfrage verbunden werden und dient dazu, die Abfrage mittels Operationen, die als "offen" und "Abruf" bekannt sind, auszuwerten und zu numerieren. Normalerweise wird ein Plan erstellt und verwendet, um diese Cursoroperationen mit den Operationen der unteren Ebene, die in einzelnen Relationen innerhalb der Datenbank operieren, darzustellen.
- Beispiele von Operationen der unteren Ebene enthalten "Abtastungen" und die Erstellung von sogenannten "temporären Relationen". Abtastungen sind Numerierer über sequentielle Zugriffspfade von einzelnen Relationen. Ein Zugriffspfad kann eine sequentielle Zugriffsabtastung durch Aufzeichnungen in einer Tabelle in physischer oder numerischer Ordnung oder eine Indexabtastung durch die Schlüssel eines Indexes enthalten. Eine temporäre Relation enthält oder puffert solche Zwischenergebnisse, die von dem Abfrageplan zum Aufbau des Abfrageergebnissatzes benutzt werden.
- Zu irgendeinem gegebenen Zeitpunkt wird der Status eines aktiven Cursors in einer Datenbankanwendung im Status von irgendwelchen zugehörigen, temporären Relationen und der Position von einer Zugriffspfadabtastung oder mehreren Zugriffspfadabtastungen ausgeführt. Der Cursorstatus enthält auch den Steuerstatus, der verwendet werden kann, um den aktuellen Stand des Abfrageplans zu verfolgen. In den meisten Datenbankanwendungen sind die Cursor am Ende einer Transaktion geschlossen. D.h. nach Erreichung eines Status der Atomizität kann eine Transaktion "festgeschrieben" werden und alle, zu den Cursorn gehörenden, darunterliegenden Abtastungen, temporäre Relationen und Sperren gelöst werden, was jede Änderung permanent macht. Ebenso wird, wenn eine Transaktion vor Erreichen der Atomizität beendet wird, der Status von allen darin enthalten Aktivitäten "wiederholt", indem temporäre Protokolleingaben verwendet werden, um die Datenbank auf den vorhergehenden Status der Atomizität, die durch die letzte "Festschreibung" dargestellt wird, zurückzubringen.
- Aus der Notwendigkeit, die Atomizität einer Datenbank aufrechtzuerhalten, ergibt sich ein Problem, wenn eine große Anzahl von Operationen verarbeitet werden muß. In Systemen, die in der Technik bekannt sind, muß die gesamte Anzahl von Aufzeichnungen "gesperrt" und in diesem Zustand aufrechterhalten werden, bis die gesamte Verarbeitung abgeschlossen ist. Obgleich dieses Verfahren eine Zusicherung gibt, daß eine große Anzahl von Operationen erfolgreich ausgeführt werden kann, wird der gleichzeitige Zugriff auf diese Aufzeichnungen durch andere während solcher Operationen untersagt.
- Als Ergebnis wurden die obengenannten, verschiedenen Systeme in einem Versuch vorgeschlagen, um die Verarbeitung eines großen Stapels Aufzeichnungen ohne Unterbrechung der Echtzeit, in Online-Verarbeitung, zu ermöglichen. Es wurde zum Beispiel eine Einrichtung vorgeschlagen, die als "Halten der Festschreibung" bekannt ist, um die Sperren zu behalten, die zu den ausgewählten Abtastungen über eine Transaktionsgrenze gehören. Es existieren jedoch keine Verfahren, die innerhalb dieses Systems spezifiziert werden, welche die Anwendung ermöglichen, um anzugeben, welche Abtastungen behalten werden sollten. Schlimmer noch, Abtastpositionen in diesem System gehen bei einer Transaktionswiederholung verloren. Da eine Wiederholung ohne Bedienereingabe durch das System aufgerufen werden kann, ist das System zum "Halten der Transaktion" im allgemeinen nicht nützlich.
- In "Consistency of Transactions and Random Batch", ACM Transactions on Database Systms, Volume 11, Number 4, December 1986, wurde ein System vorgeschlagen, das die Reihenfolge der Stapelanwendungszugriffe bezogen auf die Zugriffe auf Online- Anwendungen erzwingt. Dieses Verfahren gewährleistet serialisierbare Ausführung für alle Inhalte; es erfordert jedoch sehr sorgfältige Synchronisierung zwischen Stapel- und Online-Anwendungen. Ein Ausfall in dem Synchronisierungsbereich innerhalb dieses Systems kann in einer Wiederholung entweder in der Stapel- oder Online-Anwendung resultieren.
- Es ist demgemäß ein Gegenstand der vorliegenden Erfindung, ein Verfahren zum Betrieb eines Datenverarbeitungssystems vorzusehen, das die effiziente Verarbeitung von Stapelverarbeitungen ohne übermäßige Störung mit Online-Transaktionen ermöglicht.
- Es ist deshalb ein Gegenstand der vorliegenden Erfindung, eine verbesserte Datenbankanwendung bereitzustellen.
- Es ist ein weiterer Gegenstand der vorliegenden Erfindung eine verbesserte Datenbankanwendung vorzusehen, welche die sequentielle Stapelanwendungen unterstützt.
- Es ist jetzt ein weiterer Gegenstand der vorliegenden Erfindung, eine verbesserte Datenbankanwendung vorzusehen, welche die sequentiellen Stapelanwendungen unterstützt und die kontinuierliche Auswertung und Numerierung eines Satzes von Objekten über eine Transaktionsfestschreibung, -wiederholung oder einen Systemausfall ermöglicht.
- Die Ausführung der vorstehenden Gegenstände wird nun beschrieben. Das Verfahren der vorliegenden Erfindung definiert eine Abfrage, die einen Satz Objekte spezifiziert. Ein bestimmter Cursor gehört zu dieser Abfrage, wobei der Cursor wenigstens eine Abtastung enthält, die verwendet werden kann, um die Abfrage auszuwerten und zu numerieren. Ausgewählte Cursor können als Dauercursor bezeichnet und zusammen mit dem Status von irgendeiner zugehörigen Abtastung bzw. irgendwelchen zugehörigen Abtastungen und einem Abfrageauswertungsstatus in einer Dauercursortabelle (PCT) als Reaktion auf eine Transaktionsfestschreibung gespeichert werden. Danach kann die Auswertung und die Numerierung der Abfrage am Punkt eines Dauercursors wiederhergestellt werden, indem die Information, die in der Dauercursortabelle (PCT) gespeichert wurde, verwendet wird. Im Falle einer nachfolgenden Wiederholung von einer Transaktion vor dem nächsten Festschreibpunkt kann die Abfrage an dem vorherigen Festschreibpunkt wiederhergestellt werden, indem die Information, die in der Dauercursortabelle (PCT) gespeichert wurde, verwendet wird. Ein Cursor kann auch als wiederanlaufbarer Cursor bezeichnet werden und zusammen mit allen Informationen in der Dauercursortabelle (PCT) in einem nichtflüchtigen Speicher gespeichert werden. Danach kann im Falle eines Systemausfalls die Auswertung und Numerierung der Abfrage an dem Punkt eines wiederanlaufbaren Cursors wiederhergestellt werden, indem die Information verwendet wird, die in dem nichtflüchtigen Speicher gespeichert wurde. In einem bevorzugten Ausführungsbeispiel wird ein Anfangskennzeichnungsparameter zusammen mit jedem wiederanlaufbaren Cursor gespeichert, so daß Mehrfachanwendungen gleichzeitig einen einzelnen wiederanlaufbaren Cursor verwenden können.
- Die vorstehenden Objekte werden in dem Verfahren, das in den anhängenden Ansprüchen beschrieben ist, ausgeführt.
- Die Erfindung sowie ein bevorzugter Ausführungsmodus, weitere Gegenstände und daraus resultierende Vorteile werden am besten mit Bezug auf die folgende, ausführliche Beschreibung des illustrierten Ausführungsbeispiels verstanden, wenn dieses zusammen mit den beiliegenden Zeichnungen gelesen wird, in denen
- Figur 1 eine bildliche Darstellung eines Hauptrechners und einer Datenbank zeigt, die zur Implementierung der vorliegenden Erfindung verwendet werden können;
- Figur 2 eine bildliche Darstellung einer Datentabelle und eine zugehörige Abtastung für sequentiellen Zugriff auf diese Datentabelle zeigt;
- Figur 3 eine bildliche Darstellung eines Cursorstatus zeigt, der gemäß dem Verfahren der vorliegenden Erfindung verwendet werden kann;
- Figur 4 eine bildliche Darstellung einer Dauercursortabelle (PCT) zeigt, die gemäß dem Verfahren der vorliegenden Erfindung erstellt wurde;
- Figur 5 eine bildliche Darstellung einer offenen Cursortabelle zeigt, die gemäß dem Verfahren der vorliegenden Erfindung erstellt wurde;
- Figur 6 ein höheres Flußdiagramm zeigt, das die Öffnung eines Dauercursors gemäß dem Verfahren der vorliegenden Erfindung darstellt;
- Figur 7 ein höheres Flußdiagramm zeigt, das den Abruf einer Eingabe mittels eines Dauercursors und/oder wiederanlaufbaren Cursors gemäß dem Verfahren der vorliegenden Erfindung darstellt;
- Figur 8 ein höheres Flußdiagramm zeigt, das die Schliessung eines Dauercursors und/oder wiederanlaufbaren Cursors gemäß dem Verfahren der vorliegenden Erfindung darstellt;
- Figur 9 ein höheres Flußdiagramm zeigt, das die Bearbeitung eines Dauercursors und/oder wiederanlaufbaren Cursors im Falle einer Transaktionsfestschreibung gemäß dem Verfahren der vorliegenden Erfindung darstellt; und
- Figur 10 ein höheres Flußdiagramm zeigt, das die Bearbeitung eines Dauercursors und/oder wiederanlaufbaren Cursors im Falle einer Transaktionswiederholung gemäß dem Verfahren der vorliegenden Erfindung zeigt.
- Mit Bezug auf die Figuren und insbesondere mit Bezug auf Figur 1 wird eine bildliche Darstellung eines Hauptrechners 10 und einer Datenbank 12 gezeigt. Wie aus der Darstellung ersichtlich ist, wird der Hauptrechner 10 über die Schnittstelle 14 mit der Datenbank 12 verbunden; für den Fachmann ist jedoch ersichtlich, daß die Datenbank 12 tatsächlich in dem internen Speichermedium des Hauptrechners 10 gespeichert werden kann. Ebenso kann der Hauptrechner 10 auch eine Server-Einheit enthalten, welche Zugriff auf eine Datenbank hat.
- Mit Bezug auf Figur 2 wird eine bildliche Darstellung einer Datentabelle 22 und eines zugehörigen Abtaststatus 16 für den sequentiellen Zugriff auf die Datentabelle 22 gezeigt. Wie für den Fachmann ersichtlich ist, ist eine Abtastung ein Numerierer über einen sequentiellen Zugriffspfad von einzelnen Relationen. Ein Zugriffspfad kann eine sequentielle Zugriffsabtastung durch die Aufzeichnungen einer Tabelle in physischer Reihenfolge oder eine Indexabtastung durch die Schlüssel eines Index enthalten. Wie die Darstellung zeigt, enthält der Abtaststatus 16 zwei Felder. Nämlich Feld 18, in dem die Identifikation der Tabelle, von der Daten angefordert werden, aufgeführt ist. Feld 20 enthält zusätzlich eine Identifikation des Eingabeschlüssels, in dem sich die aktuelle Eingabe befindet. Wie dargestellt, wird Feld 18 verwendet, um sich auf einen spezifischen Tabellennamen, wie in Feld 24 der Datentabelle 22 gespeichert, zu beziehen, und das Eingabeschlüsselfeld 20 wird benutzt, um sich auf einen der spezifischen Schlüssel, die in der Datentabelle 22 gespeichert sind, zu beziehen.
- Mit Bezug auf Figur 3 wird eine Darstellung eines Cursorstatus 32 gezeigt. Wie aus der Darstellung ersichtlich ist, wird der Status eines aktiven Cursors in einer Datenbankanwendung im Status von irgendwelchen zugehörigen, temporären Relationen und der Position von einem oder mehreren Zugriffspfad(en) ausgeführt. Wie dargestellt, enthält die bildliche Darstellung des Cursorstatus 32 ein Feld 34, in dem der Name des besonderen Cursors aufgeführt ist. Außerdem ist dort auch der Status von jeder Abtastung aus einer Vielzahl von Abtastungen 36-40 zusammen mit dem Eingabewert aufgelistet, der von jeder Abtastung an die Referenznumeralen 38 bzw. 42 zurückgeschickt wird. Feld 44 stellt außerdem die frei variablen Bindungen dar und Feld 46 stellt den Auswertungsstatus der Abfrage dar, die zu dem bestimmten Cursor gehört, und den Wert für irgendwelche Zwischenergebnisse, die innerhalb der Puffer gespeichert werden, die zu dem bestimmten Cursor gehören.
- Mit Bezug auf Figur 4 wird gemäß einer wichtigen Einrichtung der vorliegenden Erfindung eine Darstellung einer Dauercursortabelle (PCT) gezeigt, die gemäß dem hier beschriebenen Verfahren erstellt wurde. Wie dargestellt, enthält die Dauercursortabelle (PCT) 48 eine Liste mit allen Cursorn, die gemäß der vorliegenden Erfindung als Dauercursor definiert wurden. Wie dargestellt, können in dieser die Cursor 50, 54 und 58 enthalten sein, von denen jeder zusammen mit den Werten gespeichert wurde, welche den Status von diesem bestimmten Cursor ausführen, wie dies mit Bezug auf den Cursorstatus 32 (siehe Figur 3) erörtert wurde.
- Das heißt, jeder bestimmte Cursor in der Dauercursortabelle (PCT) 48 hat damit eine Vielzahl von Feldern gespeichert, die diese Werte, die in der bildlichen Darstellung eines Cursorstatus 32 ausgeführt sind, enthalten. Zu dem Cursornamenfeld 50 gehört zum Beispiel ein Cursorstatusfeld 52. Ebenso gehört zu dem Cursornamenfeld 54 ein Cursorstatusfeld 56 und zu dem Cursornamenfeld 58 gehört ein Cursorstatusfeld 60. Auf diese Weise wird jeder Cursor, der verwendet werden kann, um die Numerierung eines Satzes mit Datenobjekten nach einem Transaktionsabschluß fortzusetzen, in der Dauercursortabelle (PCT) 48 zusammen mit dem ausreichenden Status und der temporären Relationsinformation gespeichert, um dem Cursor eine Wiederherstellung nach einem Transaktionsabschluß zu ermöglichen. Außerdem werden, wie hier noch ausführlicher erklärt wird, die Inhalte der Dauercursortabelle (PCT) 48 für jeden Cursor, der als "wiederanlaufbar" bezeichnet wurde, in dem nichtflüchtigen Speicher gespeichert, so daß eine ausgewählte Position, die dazu gehört, nach einem Systemausfall effizient wiederhergestellt werden kann. Für den Fachmann ist selbstverständlich klar, daß die Speicherung der Inhalte aus der Dauercursortabelle (PCT) 48 in einem nichtflüchtigen Speicher auf synchronisierte Weise in einer Transaktionsgrenze ausgeführt werden muß, so daß der Ausfall der Anwendung zur Erreichung eines Atomizitätsstatus in einer Wiederholung von irgendwelchen dort gespeicherten Daten resultiert.
- Mit Bezug auf Figur 5 wird eine bildliche Darstellung einer offenen Cursortabelle 62 gezeigt, die gemäß dem Verfahren der vorliegenden Erfindung erstellt wurde. Die offene Cursortabelle 62 wird gemäß dem hier beschriebenen Verfahren verwendet, um den Cursor für jede ausgewählte Abfrage, die zu irgendeiner gegebenen Zeit während der Verarbeitung dieser Abfrage offen ist, aufzulisten. Wie dargestellt, werden eine Vielzahl von bestimmten Cursorn 64, 68 und 72 zusammen mit einem zugehörigen Abfrageausführungsstatus für jeden der Cursor aufgelistet. Das heißt, zu dem bestimmten Cursor 64 gehört ein Abfrageausführungsstatus 66. Ebenso gehört zu dem Cursor 68 ein Abfrageausführungsstatus 70, während zu dem bestimmten Cursor 72 ein Abfrageausführungsstatus 74 gehört. Wie unter der Referenznummer 76 dargestellt, enthält jeder Abfrageausführungsstatus vorzugsweise Informationen bezüglich des Status einer zugehörigen Abtastung, einschließlich der Identifikation der Tabelle und des Eingabeschlüssels, der erforderlich ist, um den gewünschten Eingabewert zurückzugeben. Außerdem werden die Inhalte von irgendwelchen temporären Puffern zusammen mit Statusmerkern und einer Beschreibung des Plans zur Materialisierung des Abfrageergebnissatzes ebenfalls gespeichert. Außerdem werden die in irgendwelchen temporären Tabellen gespeicherten Werte und die frei variablen Werte zusammen mit dem Abfrageausführungsstatus für einen bestimmten Cursor ebenfalls in der offenen Cursortabelle 62 gespeichert. Auf diese Weise kann sich das Datenbanksystem einfach auf die offene Cursortabelle 62 beziehen, um den Ausführungsstatus einer Abfrage zu bestimmen, die zu einem ausgewählten bestimmten Cursor gehört.
- Mit Bezug auf Figur 6 wird ein höheres Flußdiagramm gezeigt, das die Öffnung eines Dauercursors gemäß dem Verfahren der vorliegenden Erfindung darstellt. Wie dargestellt, beginnt die Verarbeitung bei Block 80 und geht anschließend zu Block 82, wobei eine Bestimmung erfolgt, ob der bestimmte Cursor schon offen ist oder noch nicht. Der Fachmann wird selbstverständlich verstehen, daß diese Bestimmung einfach erfolgen kann, indem auf die offene Cursortabelle 62 (siehe Figur 5) Bezug genommen wird, um zu bestimmen, ob der bestimmte Cursor dort aufgeführt ist. Wenn der bestimmte Cursor bereits offen ist, dann zeigt Block 84 die Rücksendung einer Fehlermeldung an den Benutzer.
- Nachdem bestimmt wurde, daß der bestimmte Cursor noch nicht offen ist, wie in Block 82 dargestellt, zeigt Block 86 die Bindung der frei Variablen an diesen Cursor. Als nächstes zeigt Block 88 die Zuordnung der Puffer für Abtastungseingaben und irgendwelche Zwischenergebnisse, die während der Materialisierung des Abfrageergebnissatzes erzeugt werden können.
- Als nächstes zeigt Block 90 die Erstellung von irgendwelchen temporären Tabellen, die benötigt werden, um den Abfrageergebnissatz zu materialisieren, und Block 92 zeigt die Hinzufügung des bestimmten Cursors in die offene Cursortabelle, wie dies in Figur 5 dargestellt ist. Danach wird die Verarbeitung abgeschlossen (siehe Block 94).
- Mit Bezug auf Figur 7 wird ein höheres Flußdiagramm dargestellt, das den Abruf einer Eingabe mittels eines Dauercursors und/oder wiederanlaufbaren Cursors gemäß dem Verfahren der vorliegenden Erfindung zeigt. Wie dargestellt, beginnt dieses Verfahren in Block 96, geht anschließend zu Block 98, wo eine Bestimmung erfolgt, ob der bestimmte Cursor ein offener Cursor ist oder nicht. Wie zuvor erörtert, kann dieses Verfahren durch einfachen Bezug auf die offene Cursortabelle, die in Figur 5 dargestellt ist, erfolgen. Wenn der bestimmte Cursor offen ist, wird dieser verwendet, um die Ausführung des Abfrageplans, wie in Block 100 dargestellt, fortzusetzen. Wenn jedoch der bestimmte Cursor nicht offen ist, zeigt Block 102 eine Bestimmung, ob der fragliche Cursor ein Dauercursor ist oder nicht. Das heißt, einen Cursor, der nach einem Transaktionsabschluß aufgrund einer Festschreibung oder einer Wiederholung wiederhergestellt werden kann.
- Falls der bestimmte Cursor nicht als Dauercursor bezeichnet wurde, wie in Block 102 bestimmt, dann zeigt Block 104 eine Bestimmung, ob der bestimmte Cursor ein wiederanlaufbarer Cursor ist oder nicht. Wie hier verwendet, bedeutet ein "wiederanlaufbarer" Cursor ein Cursor, der gemäß dem Verfahren der vorliegenden Erfindung nach einem Systemausfall wiederhergestellt werden kann. Wenn der bestimmte Cursor weder ein Dauercursor noch ein wiederanlaufbarer Cursor ist, wird eine Fehlermeldung an den Benutzer zurückgegeben, die angibt, daß die kontinuierliche Ausführung des Abfrageplans, wie in Block 106 dargestellt, nicht möglich ist.
- Wenn, wie in Block 104 bestimmt, der bestimmte Cursor ein wiederanlaufbarer Cursor ist, zeigt Block 108 die Wiederherstellung des markierten Cursors aus dem nichtflüchtigen Speicher. Wie hier noch ausführlicher erörtert werden wird, wird eine Anfangskennzeichnung vorzugsweise in dem nichtflüchtigen Speicher zusammen mit jedem wiederanlaufbaren Cursor gespeichert, so daß ein wiederanlaufbarer Cursor gleichzeitig für Mehrfachanwendungen benutzt werden kann. Als nächstes zeigt Block 110 eine Bestimmung, ob der wiederanlaufbare Cursor in dem nichtflüchtigen Speicher gefunden wurde und wenn nicht, muß der bestimmte Cursor, wie in Block 112 gezeigt, auf die Weise, die mit Bezug auf Figur 6 gezeigt wurde, geöffnet werden.
- Wenn sich der wiederanlaufbare Cursor in dem nichtflüchtigen Speicher befindet, wie in Block 110 gezeigt, dann zeigt Block 114 die Hinzufügung dieses Cursors in die Dauercursortabelle (PCT). Für den Fachmann ist selbstverständlich klar, daß, wie hier definiert, irgendein Cursor, der als wiederanlaufbar bezeichnet wird, ebenfalls ein Dauercursor ist. Das Gegenteil trifft natürlich nicht zu, da ein Dauercursor, wie hier definiert, nach einem Systemausfall nicht wiederhergestellt werden kann, da der Status eines Dauercursors in dem nichtflüchtigen Speicher nicht auf die hier beschriebene Weise gespeichert wurde.
- Nachdem der bestimmte Cursor in die Dauercursortabelle (PCT) hinzugefügt wurde, wie in Block 114 gezeigt, kehrt das Verfahren zu Block 116 zurück, wobei die Zuordnung von irgendwelchen erforderlichen Puffern durchgeführt wird und alle zugehörigen Werte anhand der Information bezüglich des bestimmten Cursorstatus, der in der Dauercursortabelle (PCT) gespeichert wurde, initialisiert werden.
- Danach zeigt Block 118 die Erstellung von Abtastpositionen für den Cursor gemäß der Abtastpositionsinformation, die in der Dauercursortabelle (PCT) 48 (siehe Figur 4) enthalten ist.
- Danach zeigt Block 120 die Erstellung der frei variablen Bindungen gemäß der Cursorstatusinformation, die in der Dauercursortabelle (PCT) 48 gespeichert wurde. Schließlich zeigt Block 122 die Einstellung des Abfrageplanstatus gemäß der Information, die in der Dauercursortabelle (PCT) 48 unter der Kopfzeile der Cursorstatusinformation gespeichert wurde.
- Mit Bezug auf die vorangegangenen Ausführungen wird der Fachmann erkennen, daß während der Ausführung eines Abfrageplans, wenn ein bestimmter Cursor nicht innerhalb der offenen Cursortabelle aufgeführt ist, dieser exakt und effizient anhand der Information wiederhergestellt werden kann, die gemäß dem Verfahren der vorliegenden Erfindung in der Dauercursortabelle (PCT) 48, wie in Figur 4 gezeigt, gespeichert wurde. Nach Wiederherstellung der Dauercursortabelle (PCT) 48, damit die Numerierung der Datenobjekte in dem Abfragefplan fortgesetzt werden kann, zeigt schließlich Block 124 die Hinzufügung des bestimmten Cursors in die offene Cursortabelle. Danach wird, wie in Block 100 von Figur 7 gezeigt, die kontinuierliche Ausführung des Abfrageplans realisiert.
- Mit Bezug auf Figur 8 wird ein höheres Flußdiagramm gezeigt, das die Schließung eines Dauercursors und/oder eines wiederanlaufbaren Cursors gemäß dem Verfahren der vorliegenden Erfindung zeigt. Wie zuvor, beginnt dieses Verfahren bei Block 126 und geht anschließend zu Block 128, wo eine Bestimmung erfolgt, ob der bestimmte Cursor offen ist oder nicht. Wie zuvor erörtert, kann dieses Verfahren mit einfachem Bezug auf die offene Cursortabelle (siehe Figur 5) durchgeführt werden. Falls der bestimmte Cursor nicht in der offenen Cursortabelle aufgeführt ist, zeigt Block 130 die Rücksendung einer Fehlermeldung an den Benutzer, die angibt, daß der Cursor nicht geschlossen werden kann, da dieser nicht offen ist.
- Falls der bestimmte Cursor in der offenen Cursortabelle aufgeführt ist, wie in Block 128 dargestellt, zeigt Block 132 die Löschung des bestimmten Cursors aus der offenen Cursortabelle. Als nächstes zeigt Block 134 die Freigabe von irgendwelchen zugehörigen Puffern und Block 136 zeigt ebenso die Freigabe von denjenigen temporären Tabellen, die zu dem bestimmten Cursor gehörten.
- Als nächstes zeigt Block 138 eine Bestimmung, ob der bestimmte Cursor ein wiederanlaufbarer Cursor ist oder nicht. Das heißt, einen Cursor, der die Inhalte aus der Dauercursortabelle (PCT) 48 hatte, die in dem nichtflüchtigen Speicher gespeichert wurden, so daß der Cursor nach einem Systemausfall wiederhergestellt werden kann. In diesem Fall zeigt Block 140 die Löschung des gespeicherten, wiederherstellbaren Status für den Cursor in der Anfangskennzeichnung, die zu dieser besonderen Anwendung gehört. Danach, oder falls der bestimmte Cursor kein wiederanlaufbarer Cursor ist, wie in Block 138 bestimmt, wird das Verfahren beendet, wie in Block 142 dargestellt.
- Mit Bezug auf Figur 9 wird ein höheres Flußdiagramm dargestellt, das die Bearbeitung eines Dauercursors und/oder wiederanlaufbaren Cursors im Falle einer Transaktionsfestschreibung gemäß dem Verfahren der vorliegenden Erfindung zeigt. Wie zuvor erwähnt, startet das Verfahren die Bearbeitung von jedem zugehörigen Cursor nach Auftreten einer Transaktionsfestschreibung in Block 144 und geht anschließend zu Block 148, der die Löschung aus der Dauercursortabelle (PCT) 48, wie in Figur 4 dargestellt, zeigt.
- Danach erfolgt für jeden Cursor in der offenen Cursortabelle, wie in Block 148 gezeigt, eine Bestimmung, ob der besondere Cursor ein Dauercursor ist, wie in Block 150 gezeigt wird, oder nicht. Falls der bestimmte Cursor, der aktuell in Verarbeitung ist, kein Dauercursor ist, zeigt Block 152 die Freigabe von irgendwelchen zugehörigen Puffern und temporären Tabellen, die zu dem bestimmten Cursor gehören.
- Als nächstes zeigt Block 154 die Entfernung des bestimmten Cursors aus der offenen Cursortabelle und das Verfahren geht dann zu Block 158 , um zu bestimmen, ob irgendwelche zusätzlichen Cursor vorhanden sind oder nicht. In dem Fall kehrt das Verfahren iterativ zu Block 148 zurück, um den nächsten Cursor in der offenen Cursortabelle zu verarbeiten.
- Falls ein besonderer Cursor, der aktuell in Verarbeitung ist, als Dauercursor bestimmt wurde, wie in Block 150 dargestellt, geht das Verfahren zu Block 156, wo der Name des ausgewählten Cursors und alle Informationen, die zu dessen Status gehören, in die Dauercursortabelle (PCT) 48 auf die in Figur 4 gezeigte Weise eingegeben werden. Danach geht das Verfahren zu Block 158, um zu bestimmen, ob irgendein offener Cursor vorhanden ist oder nicht.
- Mit Bezug auf die vorangegangenen Ausführungen kann ein Fachmann sehen, daß nach einer Transaktionsfestschreibung die Dauercursortabelle (PCT) 48 gelöscht wird und anschließend jeder Cursor in der offenen Cursortabelle überprüft wird. Die Cursor, die nicht als Dauercursor bezeichnet wurden, werden aus der offenen Cursortabelle entfernt und irgendwelche zugehörigen Puffer oder temporäre Tabellen werden ebenfalls freigegeben. Die Cursor, die jedoch zuvor als Dauercursor bezeichnet wurden, werden erneut in die Dauercursortabelle (PCT) 48 eingegeben und das Verfahren wird in einem iterativen Modus fortgesetzt.
- Sobald die Bestimmung, die in Block 158 dargestellt ist, zeigt, daß keine weiteren offenen Cursor in der offenen Cursortabelle verbleiben, geht das Verfahren zu Block 160, wo die Daten in der Dauercursortabelle (PCT) 48 für jeden Cursor, der als wiederanlaufbarer Cursor bezeichnet wurde, in einem nichtflüchtigen Speicher gespeichert werden und zusammen mit einer Anfangskennzeichnung, wie hier erörtert, als wiederanlaufbarer Cursor verwendet werden kann, um einem wiederanlaufbaren Cursor zu ermöglichen, gleichzeitig in Mehrfachanwendungen benutzt zu werden. Schließlich zeigt Block 162 das Halten von irgendwelchen Sperren oder Abtastungen, die zu den verbleibenden Cursor gehören und das Verfahren, wie in Block 164 dargestellt, wird abgeschlossen.
- Schließlich mit Bezug auf Figur 10 wird ein höheres Flußdiagramm gezeigt, das die Bearbeitung eines Dauercursors und/oder wiederanlaufbaren Cursors im Falle einer Transaktionswiederholung gemäß dem Verfahren der vorliegenden Erfindung zeigt. Wie erörtert, beginnt das Verfahren an Block 166 geht danach zu Block 168, der die iterative Art dieses Verfahrens für jeden Cursor in der offenen Cursortabelle zeigt. Block 170 zeigt dann die Freigabe irgendwelcher Puffer und temporärer Tabellen, die zu jedem Cursor in der offenen Cursortabelle gehören. Als nächstes zeigt Block 172 eine Bestimmung, ob irgendwelche offenen Cursor in der offenen Cursortabelle vorhanden sind oder nicht und wenn das der Fall ist, kehrt das Verfahren iterativ zu Block 168 zurück, um das Verfahren fortzusetzen. Nachdem alle offenen Cursor wie zuvor erörtert, verarbeitet wurden, zeigt Block 174 das Löschen der offenen Cursortabelle und das Verfahren wird, wie in Block 176 gezeigt, abgeschlossen.
- Mit Bezug auf die vorangegangenen Ausführung wird der Fachmann verstehen, daß die Antragsteller hier ein Verfahren beschreiben, wo ein Cursor verwendet wird, eine Datenbankabfrage, die als Dauercursor und/oder wiederanlaufbarer Cursor bezeichnet wurde, auszuwerten und zu numerieren, so daß die Numerierung eines ausgewählten Datenobjektsatzes nach einer Transaktionsfestschreibung, Transaktionswiederholung oder nach einem Systemausfall fortgesetzt werden kann.
- Die erste Abrufoperation nach einer Transaktionsfestschreibung kann verwendet werden, um die Abtastpositionen für einen ausgewählten Cursor wiederherzustellen, indem die gesicherte Positionsinformation in der Dauercursortabelle (PCT) 48 verwendet wird. Außerdem muß vor der Wiederherstellung der Abtastpositionen die "Gebräuchlichkeit" des physischen Schemas der Datenbank für Relationen und Zugriffspfade der gesicherten Abtastungen bestätigt werden. Änderungen von Datenbankschemata können die Wiederherstellung der Cursorposition verhindern, wenn die Relation oder der Zugriffspfad, der verwendet wurde, zerstört wurde. Die "Gebräuchlichkeit" des Schemas kann geprüft werden, indem Schemaversionskennzeichen geprüft werden, die zusammen mit der Abtastposition gesichert wurden oder indem Sperren, welche die Änderungen der Schemata verhindern, behalten werden.
- Die Abtastpositionen, die gemäß dem hier beschriebenen Verfahren gesichert werden, werden auch während der Transaktionsverarbeitung behalten, um die Neupositionierung von Abtastungen und Cursorn nach einer Transaktionswiederholung zu ermöglichen. Nach einer Transaktionswiederholung kann der "alte" gesicherte Status für den Cursor benutzt werden, um die Cursorposition wiederherzustellen. Sperren können nicht verwendet werden, um die "Gebräuchlichkeit" des Schemas nach einer Transaktionswiederholung zu bestätigen.
- Die Information, die zur Wiederherstellung von Abtastpositionen für einen Dauercursor oder wiederanlaufbaren Cursor benötigt wird, muß außer einer erfolgten Schemabestätigung die Identität der letzten Aufzeichnung, die von einer Abtastung verarbeitet wurde, enthalten. Dieser Wert kann verwendet werden, um die Abtastung in der zuletzt verarbeiteten Aufzeichnung neuzupositionieren oder um den letzten Aufzeichnung zu folgen, die verarbeitet wurden, wenn die zuletzt verarbeitete Aufzeichnung durch die Stapelanwendung oder irgendwelche anderen Datenbankanwendungen gelöscht wurde. Natürlich kann eine Implementierungsoptimierung, die Sperren behält, welche die Aufzeichnung in der aktuellen Abtastposition "stabilisieren", benutzt werden, um Neupositionieraufwand für festgeschriebene Transaktionen zu vermeiden. Transaktionswiederholung erfordert stets ausdrücklich die Neupositionierung und die Bestätigung der "Gebräuchlichkeit" von Schemata.
Claims (6)
1. Ein Verfahren zum Betrieb eines Datenverarbeitungssystems
zur Unterstützung der Stapelverarbeitung einer
anwendungsspezifierten Satzfolge in einer Datenbank während die
fortgesetzte Numerierung dieser Satzfolge im Anschluß an
eine Transaktionsfestschreibung ermöglicht wird, wobei das
Verfahren Schritte enthält, um
eine Vielzahl von Abfragen zu definieren, wobei diese
Abfrage Satzfolgen innerhalb des Datenverarbeitungssystems
spezifiziert;
einen bestimmten Cursor mit jeder Abfrage aus der Vielzahl
von Abfragen zu assoziieren, wobei zu jedem der bestimmten
Cursor wenigstens eine Abtastung gehört, welche verwendet
werden kann, um die spezifizierten Satzfolgen aus einer
assoziierten Abfrage auszuwerten und abzutasten;
wenigstens einen dieser bestimmten Cursor als einen
Dauercursor zu kennzeichnen; und
den Status von jedem Dauercursor in einer
Dauercursortabelle zusammen mit dem Status von einer enthaltenen
Abtastung und einem Abfrageauswertungsstatus als Reaktion
auf eine Transaktionsfestschreibung zu speichern, wobei
eine ausgewählte Position innerhalb dieser Abfrage
wiederhergestellt werden kann, indem die Dauercursortabelle
verwendet wird, welche dieser Transaktionsfestschreibung
folgt.
2. Ein Verfahren wie in Anspruch 1 angemeldet, das außerdem
den Schritt enthält, um innerhalb der Dauercursortabelle
den Status der ausgewählten Abtasteingaben und die zu
diesem Dauercursor gehörenden Zwischenergebnisse als Reaktion
auf eine Transaktionsfestschreibung zu speichern.
3. Ein Verfahren wie in Anspruch 1 oder Anspruch 2
angemeldet, das weitere Schritte enthält, um alle offenen Cursor
als Reaktion auf eine Transaktionswiederholung zu
schliessen und die Abtastung und/oder die Auflistung von der
Satzfolge aus dieser ausgewählten Position innerhalb der
Abfrage fortzusetzen, welche der Transaktionswiederholung
folgt.
4. Ein Verfahren wie in irgendeinem vorhergehenden Anspruch
angemeldet, das weitere Schritte zur Speicherung des
Inhalts aus der Dauercursortabelleneingabe für jeden
wiederanlaufbaren Cursor in einem nichtflüchtigen Speicher
enthält, wobei die ausgewählte Position nach einem
Systemausfall wiederhergestellt werden kann.
5. Ein Verfahren wie in Anspruch 4 angemeldet, das außerdem
den Schritt enthält, um eine Anfangskennzeichnung, die zu
einem wiederanlaufbaren Cursor innerhalb des
nichtflüchtigen Speichers gehört, zu speichern, wobei mehrfache
Anwendungen gleichzeitig einen einzelnen wiederanlaufbaren
Cursor benutzen können.
6. Ein Datenverarbeitungssystem (10) zur Unterstützung der
Stapelverarbeitung einer anwendungsspezifierten Satzfolge
in einer Datenbank während die fortgesetzte Numerierung
dieser Satzfolge im Anschluß an eine
Transaktionsfestschreibung ermöglicht wird, wobei in dem
Datenverarbeitungssystem enthalten sind:
Mittel, um innerhalb des Datenverarbeitungssystems eine
Vielzahl von Abfragen zu definieren, wobei diese Abfrage
Satzfolgen innerhalb des Datenverarbeitungssystems
spezifiziert;
Mittel, um innerhalb dieses Datenverarbeitungssystems
einen bestimmten Cursor (z.B. 64) mit jeder Abfrage aus
der Vielzahl von Abfragen zu assoziieren, wobei zu jedem
der bestimmten Cursor wenigstens eine Abtastung gehört,
welche verwendet werden kann, um die spezifizierten
Satzfolgen aus einer assoziierten Abfrage auszuwerten und
abzutasten;
Mittel, um innerhalb dieses Datenverarbeitungssystems
wenigstens einen dieser bestimmten Cursor als einen
Dauercursor zu kennzeichnen; und
Mittel, um den Status von jedem Dauercursor in einer
Dauercursortabelle (48) innerhalb dieses
Datenverarbeitungssystems zusammen mit dem Status von einer enthaltenen
Abtastung und einem Abfrageauswertungsstatus als Reaktion
auf eine Transaktionsfestschreibung zu speichern, wobei
eine ausgewählte Position innerhalb dieser Abfrage
wiederhergestellt werden kann, indem die Dauercursortabelle
verwendet wird, welche dieser Transaktionsfestschreibung
folgt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/516,363 US5220665A (en) | 1990-04-30 | 1990-04-30 | Method and system for supporting concurrent use during sequential batch applications utilizing persistent cursors |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69112694D1 DE69112694D1 (de) | 1995-10-12 |
DE69112694T2 true DE69112694T2 (de) | 1996-04-18 |
Family
ID=24055230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69112694T Expired - Fee Related DE69112694T2 (de) | 1990-04-30 | 1991-04-26 | Verfahren zum Betrieb eines Datenverarbeitungssystems zur Ausführung von Datenbanktransaktionen. |
Country Status (4)
Country | Link |
---|---|
US (1) | US5220665A (de) |
EP (1) | EP0455440B1 (de) |
JP (1) | JPH07104805B2 (de) |
DE (1) | DE69112694T2 (de) |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5317733A (en) * | 1990-01-26 | 1994-05-31 | Cisgem Technologies, Inc. | Office automation system for data base management and forms generation |
JP3612339B2 (ja) * | 1992-10-23 | 2005-01-19 | 株式会社日立製作所 | データ処理方法および装置 |
US6658488B2 (en) | 1994-02-28 | 2003-12-02 | Teleflex Information Systems, Inc. | No-reset option in a batch billing system |
US7412707B2 (en) * | 1994-02-28 | 2008-08-12 | Peters Michael S | No-reset option in a batch billing system |
US5999916A (en) * | 1994-02-28 | 1999-12-07 | Teleflex Information Systems, Inc. | No-reset option in a batch billing system |
AU1927695A (en) * | 1994-02-28 | 1995-09-11 | Teleflex Information Systems, Inc. | Method and apparatus for processing discrete billing events |
US5668993A (en) * | 1994-02-28 | 1997-09-16 | Teleflex Information Systems, Inc. | Multithreaded batch processing system |
US6708226B2 (en) | 1994-02-28 | 2004-03-16 | At&T Wireless Services, Inc. | Multithreaded batch processing system |
US5802523A (en) * | 1996-06-21 | 1998-09-01 | Oracle Corporation | Method and apparatus for reducing the memory required to store bind variable descriptors in a database |
US5940813A (en) * | 1996-07-26 | 1999-08-17 | Citibank, N.A. | Process facility management matrix and system and method for performing batch, processing in an on-line environment |
US5960426A (en) * | 1997-06-30 | 1999-09-28 | International Business Machines Corporation | Database system and method for supporting current of cursor updates and deletes from a select query from one or more updatable tables in single node and mpp environments |
JPH1196062A (ja) * | 1997-09-19 | 1999-04-09 | Hitachi Ltd | ディレクトリ・アクセス方法 |
US6874104B1 (en) | 1999-06-11 | 2005-03-29 | International Business Machines Corporation | Assigning recoverable unique sequence numbers in a transaction processing system |
US6859838B1 (en) | 2000-05-04 | 2005-02-22 | On24, Inc. | Media player with programmable playlists |
FR2818426A1 (fr) * | 2000-12-18 | 2002-06-21 | Schlumberger Systems & Service | Dispositif et procede de securisation de zones de donnees dans une carte a puce |
US7146370B1 (en) * | 2001-06-27 | 2006-12-05 | Ncr Corp. | Copying a portion of a database structure associated with a query |
GB2377337A (en) | 2001-07-06 | 2003-01-08 | Zarlink Semiconductor Ltd | Buffering in packet-TDM systems |
EP1543416A2 (de) * | 2002-09-23 | 2005-06-22 | Neos Financial Systems Limited | System zur transaktionsverarbeitung |
US7792797B2 (en) * | 2002-12-24 | 2010-09-07 | International Business Machines Corporation | Fail over resource manager access in a content management system |
CA2619823A1 (en) * | 2005-08-19 | 2007-03-01 | Global Payment Technologies, Inc. | Information readers, apparatuses including information readers, and related methods |
CA2649441A1 (en) * | 2006-04-14 | 2007-10-25 | Advanced Solutions, Inc. | Method, system, and computer-readable medium to provide version management of documents in a file management system |
US7584890B2 (en) * | 2006-06-23 | 2009-09-08 | Global Payment Technologies, Inc. | Validator linear array |
US8768904B2 (en) * | 2007-01-12 | 2014-07-01 | International Business Machines Corporation | Intelligent open query cursor management |
US9892028B1 (en) | 2008-05-16 | 2018-02-13 | On24, Inc. | System and method for debugging of webcasting applications during live events |
US10430491B1 (en) | 2008-05-30 | 2019-10-01 | On24, Inc. | System and method for communication between rich internet applications |
US9063932B2 (en) * | 2009-12-18 | 2015-06-23 | Vertafore, Inc. | Apparatus, method and article to manage electronic or digital documents in a networked environment |
US8700682B2 (en) * | 2009-12-24 | 2014-04-15 | Vertafore, Inc. | Systems, methods and articles for template based generation of markup documents to access back office systems |
US11438410B2 (en) | 2010-04-07 | 2022-09-06 | On24, Inc. | Communication console with component aggregation |
US8706812B2 (en) | 2010-04-07 | 2014-04-22 | On24, Inc. | Communication console with component aggregation |
US9384198B2 (en) | 2010-12-10 | 2016-07-05 | Vertafore, Inc. | Agency management system and content management system integration |
US8731973B2 (en) | 2011-04-19 | 2014-05-20 | Vertafore, Inc. | Overlaying images in automated insurance policy form generation |
US9607036B2 (en) | 2013-08-21 | 2017-03-28 | International Business Machines Corporation | Managing a data set |
US11429781B1 (en) | 2013-10-22 | 2022-08-30 | On24, Inc. | System and method of annotating presentation timeline with questions, comments and notes using simple user inputs in mobile devices |
US9507814B2 (en) | 2013-12-10 | 2016-11-29 | Vertafore, Inc. | Bit level comparator systems and methods |
US9367435B2 (en) | 2013-12-12 | 2016-06-14 | Vertafore, Inc. | Integration testing method and system for web services |
US9747556B2 (en) | 2014-08-20 | 2017-08-29 | Vertafore, Inc. | Automated customized web portal template generation systems and methods |
US10785325B1 (en) | 2014-09-03 | 2020-09-22 | On24, Inc. | Audience binning system and method for webcasting and on-line presentations |
US9600400B1 (en) | 2015-10-29 | 2017-03-21 | Vertafore, Inc. | Performance testing of web application components using image differentiation |
CN106095938A (zh) * | 2016-06-12 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 一种实例操作方法及其装置 |
US11281723B2 (en) | 2017-10-05 | 2022-03-22 | On24, Inc. | Widget recommendation for an online event using co-occurrence matrix |
US11188822B2 (en) | 2017-10-05 | 2021-11-30 | On24, Inc. | Attendee engagement determining system and method |
US10866963B2 (en) | 2017-12-28 | 2020-12-15 | Dropbox, Inc. | File system authentication |
US11567925B2 (en) | 2019-11-07 | 2023-01-31 | International Business Machines Corporation | Concurrent update management |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63133240A (ja) * | 1986-11-25 | 1988-06-06 | Hitachi Ltd | 常駐テ−ブルの内容保証方式 |
-
1990
- 1990-04-30 US US07/516,363 patent/US5220665A/en not_active Expired - Fee Related
-
1991
- 1991-04-09 JP JP3103462A patent/JPH07104805B2/ja not_active Expired - Lifetime
- 1991-04-26 EP EP91303833A patent/EP0455440B1/de not_active Expired - Lifetime
- 1991-04-26 DE DE69112694T patent/DE69112694T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH04229344A (ja) | 1992-08-18 |
US5220665A (en) | 1993-06-15 |
EP0455440A2 (de) | 1991-11-06 |
JPH07104805B2 (ja) | 1995-11-13 |
DE69112694D1 (de) | 1995-10-12 |
EP0455440B1 (de) | 1995-09-06 |
EP0455440A3 (en) | 1993-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69112694T2 (de) | Verfahren zum Betrieb eines Datenverarbeitungssystems zur Ausführung von Datenbanktransaktionen. | |
DE3854667T2 (de) | Datenbasissystem mit einer Baumstruktur. | |
DE69615230T2 (de) | Relationales Datenbanksystem und Verfahren mit grosser Verfügbarkeit der Daten bei der Umstrukturierung von Tabellendaten | |
DE3856055T2 (de) | Verfahren und Einrichtung, um gleichzeitigen Zugriff zu indizierten sequentiellen Dateien zu ermöglichen | |
DE68929132T2 (de) | Datenbankverwaltungssystem und Verfahren hierfür | |
DE69906488T2 (de) | Verfahren zur Synchronisierung eines Datenbankschemas mit seiner Darstellung in einem objekt-orientierten Repository | |
DE4435751B4 (de) | Dateiname- und Verzeichnis- Erfassungsverfahren zur Verwendung mit einem Betriebssystem | |
DE69031491T2 (de) | Hypertextdatenverarbeitungssystem und Verfahren | |
DE69126066T2 (de) | Verfahren und Gerät zur Optimierung des Logbuchaufhebungsgebrauchs | |
DE3784190T2 (de) | Eintragung eines datenbasisindex in das journal zur verbesserten rueckstellung. | |
DE3688529T2 (de) | Verfahren zur Auffrischung von Mehrspaltentabellen in einer relationellen Datenbank mit Mindestinformation. | |
DE69126067T2 (de) | Verfahren und Gerät zur Verwaltung von Zustandsidentifizierern zur effizienten Wiederherstellung | |
DE3780807T2 (de) | Verfahren zum schnellen oeffnen von mit pfadnamen identifizierten plattendateien. | |
DE69836796T2 (de) | Datenverarbeiter mit lokalisierter gedächtnisreklamierung | |
DE69128367T2 (de) | System und Verfahren zur Transaktionsbearbeitung mit verminderter Verriegelung | |
DE69427381T2 (de) | Backupsystem und -verfahren für eine Datenbank | |
DE69802437T2 (de) | Feinkörniger übereinstimmungsmechanismus für optimistische parallelsteuerung mit verriegelungsgruppen | |
DE3855213T2 (de) | Datenbanksystem und Verfahren für den gleichzeitigen Satzzugriff mit Hilfe eines Baumstrukturindexes | |
DE3786956T2 (de) | Verwaltung von registrierungsdaten in einem transaktionsorientierten System. | |
DE69904588T2 (de) | Datenbankzugangswerkzeug | |
DE69408337T2 (de) | Steuersystem einer relationellen datenbank gemäss einer objekt-orientierten logik, die die zugriffe auf die datenbank verringert, und entsprechendes verfahren | |
DE69230452T2 (de) | Verfahren und Vorrichtung zur Änderungskontrolle in mehreren Entwicklungsumgebungen | |
DE69128958T2 (de) | Schneide- und Klebefilterung von unbegrenzten, dynamischen, unmodifizierbaren Datenströmen | |
DE68926693T2 (de) | System und Verfahren zur einem Systemfehler nachfolgenden Datenerholung in einer Datenbank eines Rechnersystems | |
DE69609862T2 (de) | Datenbasiszugriff |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |