[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

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
Application number
DE69112694T
Other languages
English (en)
Other versions
DE69112694D1 (de
Inventor
Dan J Coyle Jr
Bruce G Lindsay
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE69112694D1 publication Critical patent/DE69112694D1/de
Publication of DE69112694T2 publication Critical patent/DE69112694T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2438Embedded 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.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • 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.
DE69112694T 1990-04-30 1991-04-26 Verfahren zum Betrieb eines Datenverarbeitungssystems zur Ausführung von Datenbanktransaktionen. Expired - Fee Related DE69112694T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63133240A (ja) * 1986-11-25 1988-06-06 Hitachi Ltd 常駐テ−ブルの内容保証方式

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