DE69913984T2 - Verteiltes transaktionales verarbeitungssystem und verfahren - Google Patents

Verteiltes transaktionales verarbeitungssystem und verfahren Download PDF

Info

Publication number
DE69913984T2
DE69913984T2 DE69913984T DE69913984T DE69913984T2 DE 69913984 T2 DE69913984 T2 DE 69913984T2 DE 69913984 T DE69913984 T DE 69913984T DE 69913984 T DE69913984 T DE 69913984T DE 69913984 T2 DE69913984 T2 DE 69913984T2
Authority
DE
Germany
Prior art keywords
data object
cache
primary
disk
disk storage
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 - Lifetime
Application number
DE69913984T
Other languages
English (en)
Other versions
DE69913984D1 (de
Inventor
Robert Smith
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.)
Ericsson Inc
Original Assignee
Ericsson Inc
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 Ericsson Inc filed Critical Ericsson Inc
Publication of DE69913984D1 publication Critical patent/DE69913984D1/de
Application granted granted Critical
Publication of DE69913984T2 publication Critical patent/DE69913984T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Description

  • HINTERGRUND DER ERFINDUNG
  • Technisches Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft ein dezentralisiertes, direktes Verarbeitungssystem, und im Einzelnen ein System und ein Verfahren zum Replizieren von Daten in einer dezentralisierten Datenbank.
  • Hintergrund und Aufgaben der Erfindung
  • Heutzutage verwenden viele Rechnersysteme, wie etwa dezentralisierte, direkte Verarbeitungssysteme, einen Cache-Speicher, um die Verarbeitungsgeschwindigkeit zu steigern. Ein Cache kann typischerweise einen Direktzugriffsspeicher (RAM) und ein Register aufweisen, das auf einen Speicherort in der RAM hinweist, wo sich zuvor gespeicherte Daten befinden. Der Cache-Speicher kann ein Teil der Größe des Hauptspeichers sein. Indem die Daten, auf die am häufigsten zugegriffen werden, in dem Cache gehalten werden, nähert sich die Zugriffszeit auf den Speicher der Zugriffszeit des Cache-Speichers an.
  • Direkte Hochleistungs-Verarbeitungssysteme verfügen typischerweise über relativ hohe Datenübertragungsraten und hohe Datenverfügbarkeitseigenschaften. Diese erforderlichen Systemeigenschaften haben zu der Architektur von Systemdatenbanken geführt, sowohl um einen Cache-Speicher zum Erzielen der hohen Datenübertragungsraten einzusetzen, als auch um freigesetzte Speichervorrichtungen zum besseren Sicherstellen, dass die Daten für den Rest des Systems im Wesentlichen und konsistent zugänglich sind, zu verwenden. Beispielsweise wurden in bekannten Systemen ein Paar von Cache-Speicher verwendet, die als Primary-Cache und Secondary-Cache bezeichnet werden. Die aus dem Stand der Technik bekannten Systeme verwenden zusätzlich ein Paar von Disk-Speicher, die als Primary-Disk-Speicher und als Secondary-Disk-Speicher bezeichnet werden.
  • Ein im Zusammenhang mit Systemen, die freigesetzte Speichervorrichtungen verwenden, zugehöriges Problem betrifft die Datenreplikation, d. h. die Beibehaltung der Konsistenz über den gesamten Datenbankspeicher während des Betriebes des Systems. Frühere, direkte Verarbeitungssysteme schlossen verschiedene Synchronprotokolle ein, um Daten zwischen den Speichervorrichtungen zu replizieren. Ein solches Synchronprotokoll, eine Zwei-Phasen-Einspeicherungs- bzw. Commit-Prozedur, verursacht häufig, dass, wenn ein Zugriff auf eine Speichervorrichtung fehlschlägt, die Datenbank und das System hängenbleibt. Daraus resultiert, dass ein Bedarf nach einer verbesserten Datenreplikationsprozedur zur Verwendung in einem direkten Verarbeitungssystem besteht.
  • Das Dokument US-A-4 916 605 offenbart ein Verarbeitungssystem, welches eine Vielzahl von Disk-Speicher und einen Controller mit einem Cache-Speicher und einem spannungsunabhängigen Speicher aufweist.
  • Eine Aufgabe der vorliegenden Erfindung liegt darin, ein Verfahren zum Replizieren von Daten in einem dezentralisierten, direkten Verarbeitungssystem bereitzustellen.
  • Eine weitere Aufgabe der vorliegenden Erfindung liegt darin, ein solches Verfahren anzugeben, welches eine bessere Datenbankverfügbarkeit trotz einer Speichervorrichtungsfehlfunktion aufrecht erhält.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung, wie sie mittels der unabhängigen Patentansprüche definiert wird, überwindet die Nachteile in bestehenden direkten Verarbeitungssystemen und befriedigt einen deutlichen Bedarf nach einem System und einem Verfahren zum Replizieren von Daten, während hohe Verfügbarkeits- und Leistungspegel beibehalten werden.
  • Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung wird ein System und ein Verfahren für ein dezentralisiertes, direktes Verarbeitungssystem angegeben. Das System weist eine dezentralisierte Datenbank auf, die eine Schnittstelle zu einer Anzahl von dienstanfordernden Geräten bzw. Clienten bereitstellt. Die dezentralisierte Datenbank weist zwei Speicherknoten auf. Jeder Speicherknoten weist einen Cache-Speicher und einen Platten- bzw. Disk-Speicher auf. Ein Cache-Speicher ist als Primary-Cache und der andere als Secondary-Cache ausersehen. Auf ähnliche Weise ist ein Plattenspeicher als Primary-Disk und der andere als Secondary-Disk ausersehen. Jeder Cache- und jeder Disk-Speicher weist in bevorzugter Weise jeweils einen hiermit zugehören Cache-Manager-Prozessor bzw. Disk-Manager-Prozessor auf. Der Cache-Speicher, Cache-Manager-Prozessor, Disk-Speicher- und Disk-Manager-Prozessor sind ausgelegt, neben anderen Aufgaben, die Datenreplikation innerhalb der Datenbank durchzuführen.
  • Wenn ein dienstanforderndes Gerät bzw. Client, das bzw. der zu der Datenbank zugehört, eine Transaktion hierzu aufzeigt, wie etwa eine Anforderung, die Datenbank mit einem Datenobjekt zu aktualisieren, dann versucht das System zunächst, den Primary-Cache-Speicher mit dem Datenobjekt zu aktualisieren, was von dem Versuch gefolgt wird, den Secondary-Cache-Speicher zu aktualisieren. Als nächstes wird ein versuch gemacht, den Primary-Disk-Speicher mit dem Datenobjekt zu aktualisieren. Dann versucht das System, den Secondary-Disk-Speicher mit dem Datenobjekt zu aktualisieren. Ein zu dem dienstanfordernden Gerät zugehöriger Prozess zeigt den Erfolg eines jeden Versuches, die Speichervorrichtungen zu aktualisieren, an und erzeugt eine Antwort hierauf.
  • Gemäß einem ersten Aspekt der Erfindung wird ein Verfahren zur Verwaltung von Daten in einer Datenbank eines Verarbeitungssystems angegeben, wobei die Datenbank einen Primary-Cache-Speicher, einen Secondary-Cache-Speicher, einen Primary-Disk-Speicher und einen Secondary-Disk-Speicher aufweist, und wobei das Verfahren die folgenden Verfahrensschritte aufweist:
    Empfang einer Anforderung von einem dienstanfordernden Gerät bzw. Clienten, ein Datenobjekt in die Datenbank zu schreiben;
    Versuch, das Datenobjekt in den Primary-Cache-Speicher und in den Secondary-Cache-Speicher in Erwiderung auf den Verfahrensschritt des Empfangen der Anforderung zu schreiben;
    Versuch, das Datenobjekt in den Primary-Disk-Speicher und in den Secondary-Disk-Speicher zu schreiben, dem Verfahrensschritt des Versuchs, in die Cache-Speicher zu schreiben, folgend;
    Prüfen eines erfolgreichen Schreibens des Datenobjekts in jeden der Primary-Cache-Speicher, Secondary-Cache-Speicher, Primary-Disk-Speicher und Secondary-Disk-Speicher;
    Bestätigen dem dienstanfordernden Gerät bzw. Clienten hinsichtlich eines erfolgreichen Schreibens des Datenobjekts bei einer bestätigenden Ermittlung, dass das Datenobjekt erfolgreich in den Primary-Cache-Speicher und in zumindest einen der Primary-Disk-Speicher und Secondary-Disk-Speicher geschrieben wurde, und Kennzeichnen der Cache- und Disk-Speicher als nicht harmonierend bzw. nicht synchronisiert, in welche das Datenobjekt, wie es während des Verfahrensschritt des Prüfen ermittelt wurde, nicht erfolgreich geschrieben wurde;
    nachfolgendes Ermitteln eines nicht erfolgreichen Schreibens des Datenobjekts, nachfolgender Versuch, das Datenobjekt in jedem der Primary-Cache-Speicher, Secondary-Cache-Speicher, Primary-Disk-Speicher und Secondary-Disk-Speicher, in welchen das Datenobjekt erfolgreich geschrieben wurde, zu löschen, und nachfolgendes Warnen des dienstanfordernden Geräts bzw. Clienten hinsichtlich eines fehlerhaften Versuches, das Datenobjekt in die Datenbank zu schreiben.
  • Gemäß einem zweiten Aspekt der Erfindung wird eine Datenbank für ein direktes Verarbeitungssystem bereitgestellt, welche folgendes aufweist:
    einen Primary-Cache-Speicher;
    einen Secondary-Cache-Speicher;
    einen Primary-Disk-Speicher;
    einen Secondary-Disk-Speicher;
    einen Steuerprozessor, um eine Anforderung von einem dienstanfordernden Gerät bzw. Clienten zu empfangen, ein Datenobjekt in die Datenbank zu schreiben; um zu versuchen, das Datenobjekt in den Primary-Cache-Speicher, in den Secondary-Cache-Speicher, in den Primary-Disk-Speicher und in den Secondary-Disk-Speicher in Erwiderung auf den Empfang der Anforderung zu schreiben; um zu prüfen, ob das Datenobjekt erfolgreich in jeden der Primary-Cache-Speicher, Secondary-Cache-Speicher, Primary-Disk-Speicher und Secondary-Disk-Speicher geschrieben wurde; um dem dienstanfordernden Gerät bzw. Clienten zu bestätigen, dass das Datenobjekt erfolgreich geschrieben wurde, wenn bestätigend ermittelt wird, dass das Datenobjekt erfolgreich in den Primary-Cache-Speicher und in zumindest einen der Primary-Disk-Speicher und Secondary-Disk-Speicher geschrieben wurde; um den Cache- und Disk-Speicher, in welche das Datenobjekt nicht erfolgreich geschrieben wurde, als nicht harmonierend bzw. nicht synchronisiert zu kennzeichnen; und um nachfolgend zu ermitteln, dass das Datenobjekt nicht erfolgreich geschrieben wurde; um nachfolgend zu versuchen, das Datenobjekt in jedem der Primary-Cache-Speicher, Secondary-Cache-Speicher, Primary-Disk-Speicher und Secondary-Disk-Speicher, in welchen das Datenobjekt erfolgreich geschrieben wurde, zu löschen; und um nachfolgend das dienstanfordernde Gerät bzw. den Clienten zu warnen, dass der Versuch fehlschlug, das Datenobjekt in die Datenbank zu schreiben.
  • Gemäß einem dritten Aspekt der Erfindung wird ein Computerprogrammprodukt angegeben, welches ein computerlesbares Medium mit einer hierauf ausgebildeten computerlesbaren Programmcode-Einrichtung für eine Datenbank eines direkten Verarbeitungssystems aufweist, das eine Vielzahl von Cache- und eine Vielzahl von Disk-Speicher hat, wobei das Computerprogrammprodukt Anweisungen bzw. Befehle für folgende Operationen aufweist:
    Empfang einer Speicheraktualisierungs-Anforderung von einem dienstanfordernden Gerät bzw. Clienten;
    Versuch, die Cache-Speicher zu aktualisieren;
    Versuch, die Disk-Speicher zu aktualisieren;
    Überprüfen der Versuche, die Cache- und Disk-Speicher zu aktualisieren, und Ermitteln eines Ergebnisses der Speicheraktualisierungs-Anforderung basierend auf der Überprüfung;
    Benachrichtigen des dienstanfordernden Gerätes bzw. des Clienten hinsichtlich einer erfolgreichen Speicheraktualisierung der Datenbank basierend auf der Ermittlung, dass ein erster Cache-Speicher, der sich dem Aktualisierungsversuch unterzog, und zumindest einer der Disk-Speicher erfolgreich aktualisiert wurden;
    Kennzeichnen der Cache- und Disk-Speicher als nicht harmonierend bzw. nicht synchronisiert, die nicht erfolgreich aktualisiert wurden, und
    nachfolgende Ermittlung, dass die Datenbank nicht erfolgreich aktualisiert wurde; nachfolgender Versuch, die Daten, die zu der Speicheraktualisierung gehören, in jedem der Cache- und Disk-Speicher zu löschen, welche erfolgreich aktualisiert wurden; und nachfolgende Benachrichtigung des anfragenden Clienten hinsichtlich einer nicht erfolgreichen Speicheraktualisierung bei Ermittlung während der Ermittlung, dass die Datenbank nicht erfolgreich aktualisiert wurde.
  • In dem Fall, wenn der Primary-Cache die einzige Speichervorrichtung war, die erfolgreich aktualisiert wurde, hat die angeforderte Transaktion fehlgeschlagen. Das dienstanfordernde Gerät bzw. der Client wird hinsichtlich der Fehlfunktion benachrichtigt. Zusätzlich wird das aktualisierte Datenobjekt hiervon gelöscht, da der Primary-Cache-Speicher erfolgreich mit dem Datenobjekt aktualisiert wurde. Das nächste Mal, wenn von der Datenbank auf das Datenobjekt zugegriffen wird, wird das Datenobjekt von dem Primary-Disk-Speicher genommen und in den Primary-Cache- Speicher kopiert. In dem Fall, wenn das Datenobjekt nicht erfolgreich von dem Primary-Cache-Speicher gelöscht wurde, wird der Primary-Cache-Speicher als nicht harmonierend bzw. nicht synchronisiert gekennzeichnet, und der Secondary-Cache-Speicher wird als Primary-Cache-Speicher ausersehen.
  • In dem Fall, wenn lediglich der Primary-Cache-Speicher und nur eine der Disk-Speicher erfolgreich mit dem Datenobjekt aktualisiert wurden, gilt die Transaktion als erfolgreich vollendet. Das dienstanfordernde Gerät bzw. der Client wird hinsichtlich einer erfolgreichen Einspeicherung benachrichtigt. Der Secondary-Cache-Speicher und der Disk-Speicher, die nicht aktualisiert werden konnten, werden beide gekennzeichnet, dass sie nicht harmonierend bzw. nicht synchronisiert sind.
  • In dem Fall, wenn lediglich der Secondary-Cache-Speicher nicht erfolgreich aktualisiert wurde, gilt die Transaktion als erfolgreich vollendet. Das dienstanfordernde Gerät bzw. der Client wird hinsichtlich der erfolgreichen Einspeicherung benachrichtigt. Der Secondary-Cache-Speicher wird gekennzeichnet, dass er nicht harmonierend bzw. nicht synchronisiert ist.
  • In dem Fall, wenn sowohl der Primary- als auch die Secondary-Disk-Speicher nicht erfolgreich aktualisiert wurden, gilt die Transaktion als nicht erfolgreich vollendet. Das dienstanfordernde Gerät bzw. der Client wird hinsichtlich der nicht erfolgreichen Einspeicherung benachrichtigt. Das Datenobjekt wird von dem Primary- und dem Secondary-Cache-Speicher gelöscht. Wenn das Datenobjekt nicht erfolgreich von einem der Cache-Speicher gelöscht wurde, wird der entsprechende Cache-Speicher gekennzeichnet, dass er nicht harmonierend bzw. nicht synchronisiert ist.
  • In dem Fall, wenn nur einer der Disk-Speicher nicht erfolgreich mit dem Datenobjekt aktualisiert wurde, gilt die Transaktion als erfolgreich vollendet. Das dienstanfordernde Gerät bzw. der Client wird hinsichtlich der erfolgreichen Einspeicherung benachrichtigt. Der Disk-Speicher, der nicht erfolgreich aktualisiert wurde, wird gekennzeichnet, dass er nicht harmonierend bzw. nicht synchronisiert ist.
  • Wenn das Datenobjekt in jeden der Cache-Speicher und Disk-Speicher erfolgreich geladen wurde, wird das dienstanfordernde Gerät bzw. der Client hinsichtlich der erfolgreich vollendeten Transaktion benachrichtigt.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Ein besseres Verständnis der vorliegenden Erfindung wird unter Hinzunahme der folgenden detaillierten Beschreibung erreicht, wenn sie in Verbindung mit den beigefügten Zeichnungen gelesen wird, in welchen:
  • 1 ein Blockdiagramm des Verarbeitungssystems gemäß der vorliegenden Erfindung ist; und
  • 2 ein Ablaufdiagramm ist, welches die Betriebsweise der vorliegenden Erfindung darstellt.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN, BEISPIELHAFTEN AUSFÜHRUNGSFORMEN
  • Die vorliegende Erfindung wird nachfolgend nun umfangreicher unter Hinzunahme der beigefügten Zeichnungen beschrieben, in welchen bevorzugte Ausführungsformen der Erfindung gezeigt werden. Diese Erfindung kann jedoch in vielen verschiedenen Gestalten ausgeführt werden und sollte nicht dahingehend ausgelegt werden, dass sie auf die hierin dargelegten Ausführungsformen beschränkt ist. Vielmehr sind diese Ausführungsformen vorgesehen, damit diese Offenbarung gründlich und vollständig wird, und dass die Offenbarung dem Fachmann die Lehren der Erfindung vollständig vermitteln werden.
  • Unter Bezugnahme auf 1 wird ein dezentralisiertes, direktes Verarbeitungsdatenbanksystem 1 gemäß der vorliegenden Erfindung gezeigt. Das System weist in bevorzugter Weise eine dezentralisierte Datenbank 2 auf, die Daten an einer Anzahl von dienstanfordernden Geräten bzw. Clienten 3 bereitstellt. Die dezentralisierte Datenbank 2 weist in bevorzugter Weise Disk-Speicher 4 und 5 auf, die für das dezentralisierte Verarbeitungssystem jeweils als Primary-Disk-Speicher und Secondary-Disk-Speicher dienen. Es wird verstanden, dass das dezentralisierte Verarbeitungssystem 1 das Leistungsvermögen besitzt, während der Systemoperation entweder den Disk-Speicher 4 oder den Disk-Speicher 5 als Primary-Disk-Speicher bzw. Secondary-Disk-Speicher auszuersehen. Nur als Beispiel wird der Disk-Speicher 4 als Primary-Disk-Speicher und der Disk-Speicher 5 als Secondary-Disk-Speicher ausersehen. Der Primary-Disk-Speicher 4 und der Secondary-Disk-Speicher 5 sind in bevorzugter Weise jeweils operativ zu Disk-Manager-Prozessoren 6 und 7 zugehörig. Der Disk-Manager-Prozessor 6 dient in bevorzugter Weise als Primary-Disk-Manager-Prozessor zur Steuerung des Zugriffes auf den Primary-Disk-Speicher 4. Auf ähnliche Weise dient der Disk-Manager-Prozessor 7 in bevorzugter Weise für den Secondary-Disk-Speicher 5 als Secondary-Disk-Manager-Prozessor 7 zur Steuerung des Zugriffes hierauf.
  • Die dezentralisierte Datenbank 2 weist in bevorzugter Weise ferner einen Primary-Cache-Speicher 8 und einen Secondary-Cache-Speicher 9 auf, wobei jeder von ihnen operativ mit dem Primary-Disk-Speicher 4 und dem Secondary-Disk-Speicher 5 verbunden ist, um als Speicher zu dienen, der eine relativ schnelle Zugriffszeit zum Speichern der Daten hat, auf die am direktesten zugegriffen werden. Die dezentralisierte Datenbank 2 weist in bevorzugter Weise ferner Client-Prozessoren 10 und 11 auf, die jeweils operativ zu dem Primary-Cache-Speicher 8 und dem Secondary-Cache-Speicher 9 zugehören. Der Client-Prozessor 10 dient in bevorzugter Weise für den Primary-Cache-Speicher 8 als Cache-Manager-Prozessor durch die Steuerung des Zugriffes hierauf. Auf ähnliche Weise dient der Client-Prozessor 11 in bevorzugter Weise für den Secondary-Cache-Speicher 9 als Cache-Manager-Prozessor durch die Steuerung des Zugriffes hierauf. Auf diese Weise werden Daten zwischen den Cache- 8 und 9 und den Disk-Speichern 4 und 5 über die Cache-Manager-Prozessoren 10 und 11 und Disk-Manager-Prozessoren 6 und 7 übertragen, wie es in 1 dargestellt ist. Durch das Einschließen von doppelten Cache-Speichern 8 und 9 und doppelten Disk-Speichern 4 und 5 sichert das vorliegende dezentralisierte, direkte Verarbeitungssystem 1 im Wesentlichen die Datenverfügbarkeit an die dienstanfordernden Geräte bzw. Clienten 3.
  • Der Primary-Cache-Speicher 8 und der Secondary-Cache-Speicher 9 sind in bevorzugter Weise derart ausgelegt, vielfache Versionen eines hierin gespeicherten Datenobjektes zu verwalten. Im Einzelnen weisen die Cache-Speicher 8 und 9 in bevorzugter Weise Indexregister 12 und 13 auf, oder sie sind andersartig mit den Indexregistern 12 und 13 operativ verbunden. Die Indexregister 12 und 13 sind in bevorzugter Weise in der Lage, auf verschiedene Versionen der gleichen, in den jeweiligen Caches 8 und 9 gespeicherten Datenobjekten hinzuweisen, und von daher ermöglichen sie einen simultanen Zugriff von mehr als einem dienstanfordernden Gerät oder Clienten 3 hierauf. Die Indexregister 12 und 13 werden abgeändert, um auf eine neue Version eines Datenobjektes hinzuweisen, wenn das Datenobjekt jeweils in die Cache-Speicher 8 und 9 geschrieben wird und wenn das Datenobjekt hiervon entfernt wird. Wenn ein Datenobjekt von den Cache-Speichern 8 und 9 entfernt wird, dann werden die Indexregister 12 und 13 so abgeändert, um ihre Referenz bzw. ihren Hinweis zu der Version des Datenobjektes, welches entfernt werden muss, zu entfernen. Die Referenzzählung für ein Datenobjekt hilft sicherzustellen, dass das Datenobjekt weiterhin in den Cache-Speicher 8 oder 9 verbleibt. Ein Datenobjekt gilt als in einem Cache-Speicher 8 oder 9 verdrahtet, wenn die Referenzzählung hierfür Eins oder mehr ist.
  • Die dezentralisierte Datenbank 2 weist ferner Prozesse 1415 und 14'15' auf, die durch dienstanfordernde Geräte bzw. Clienten 3 gesteuert werden, und welche als Lese- und Schreibeprozesse für die dienstanfordernden Geräte bzw. Clienten zum Durchführen eines Speicherzugriffes innerhalb der Datenbank 2 dienen. Die Überführung von Daten zwischen den Speichervorrichtungen innerhalb der Datenbank 2 und dem dienstanfordernden Gerät 3 wird mittels eines Steuer- und Schnittstellenprozessors 16 gesteuert.
  • Wie obig erwähnt, ermöglicht es die vorliegende Erfindung dem Verarbeitungssystem 1 und/oder der Datenbank 2, trotz einer Fehlfunktion, die in einer oder mehreren Speichervorrichtungen (Cache- 8 und 9 und Disk-Speicher 4 und 5) auftritt, eine Transaktion erfolgreich durchzuführen, wie etwa eine Anforderung zum Schreiben oder Aktualisieren eines Datenobjektes in der Datenbank 2. Im Einzelnen führt die vorliegende Erfindung eine Datenreplizierungs-Prozedur aus, die es der Datenbank 2 gestattet, trotz des Auftretens von Speichervorrichtungs-Fehlfunktionen, weiterhin zu funktionieren.
  • Unter Bezugnahme auf 2 ist die Betriebsweise des direkten Verarbeitungssystems 1 wie folgt. Wenn die Datenbank 2 eine externe Transaktion von einem dienstanfordernden Gerät 3, wie etwa eine Anforderung, eine Speicheraktualisierung durchzuführen, empfängt, verwaltet der Schnittstellen- und Steuerprozessor 16 die Speicheraktualisierung. Weil alle vier Speichervorrichtungen mit dem neuen Datenobjekt (oder mit einer Version hiervon) aktualisiert werden müssen, um zwischen ihnen die Konsistenz beizubehalten, initiiert der Schnittstellen- und Steuerprozessor 16 eine Datenreplizierungsprozedur innerhalb der Datenbank 2. Anfänglich wird ein Bereich der Datenbank 2 durch den Datenreplizierungsprozess unzugänglich bzw. unerreichbar gemacht. Der unzugänglich gemachte Datenbankbereich, kann die Seite in den Speichervorrichtungen sein, die das neue Datenobjekt enthalten (nachdem es dort hineingeschrieben wurde) oder aber auch das neue Datenobjekt selbst. Als nächstes wird ein Versuch gemacht, beim Schritt 20 den Primary-Cache-Speicher 8 zu aktualisieren, gefolgt von einem Versuch, beim Schritt 21 den Secondary-Cache-Speicher 9 zu aktualisieren. Als nächstes versucht die Datenbank 2, den Primary-Disk-Speicher 4 zu aktualisieren (Schritt 22), und dann versucht sie, den Secondary-Disk-Speicher 5 zu aktualisieren (Schritt 23). Der Status von jedem der vier Versuche, die Speichervorrichtungen zu aktualisieren, wird durch den Schnittstellen- und Steuerprozessor 16 verwaltet. Es sei darauf hingewiesen, dass die spezielle Sequenz bzw. Abfolge der Speicheraktualisierungen wichtig ist, um die Konsistenz während der Datenreplikationsprozedur sicherzustellen. Beispielsweise stellt das anfängliche Aktualisieren der Cache-Speicher 8 und 9 sicher, dass das neue Datenobjekt für das System 1 während der Zeit, wenn die Disk-Speicher 4 und 5 aktualisiert werden, zugänglich sind.
  • Nachfolgend der Vollendung der vier Versuche, die Cache- 8 und 9 und die Disk-Speicher 4 und 5 zu aktualisieren, prüft der Schnittstellen- und Steuerprozessor 16 in bevorzugter Weise den Status eines jeden Versuches und ermittelt basierend auf dieser Überprüfung, ob er die externe Transaktion (die Anforderung der Speicheraktualisierung) übergibt.
  • In dem Fall, wenn der Primary-Cache-Speicher 8 erfolgreich aktualisiert wurde, während der Secondary-Cache-Speicher 9, der Primary-Disk-Speicher 4 und der Secondary-Disk-Speicher 5 nicht erfolgreich aktualisiert wurden, bestimmt dann der Schnittstellen- und Steuerprozessor 16, dass die externe Transaktion (die Anforderung der Speicheraktualisierung) beim Schritt 24 fehlgeschlagen hat. Der Schnittstellen- und Steuerprozessor 16 gibt dann ein Erwiderungssignal an den anfragenden Clienten 3 ab, dass die Durchführung der Anforderung fehlgeschlagen ist.
  • Zusätzlich wird ein Versuch gemacht, beim Schritt 25 das Datenobjekt von dem Primary-Cache-Speicher 8 zu löschen, um die Konsistenz zwischen den Speichervorrichtungen beizubehalten. Diese Lösch-Operation wird durch Abänderung bzw. Modifizierung des zu dem Primary-Cache-Speicher 8 zugehörigen Indexregisters 12 ausgeführt, so dass der Indexregister 12 nicht länger auf das neue Datenobjekt hinweist. Wenn die Lösch-Operation nicht erfolgreich war, erzeugt der Schnittstellen- und Steuerprozessor 16 bei Schritt 26 ein Alarmsignal und kennzeichnet den Primary-Cache-Speicher 8 als nicht harmonierend bzw. als nicht synchronisiert. An diesem Punkt wird der als Secondary-Cache-Speicher 9 identifizierte Cache-Speicher als Primary-Cache-Speicher für das System ausersehen.
  • Hinsichtlich des Primary-Cache-Speichers 8, der als nicht harmonierend bzw. als nicht synchronisiert identifiziert ist, kann das vorliegende System 1 in bevorzugter Weise bei einem späteren Zeitpunkt eine automatische Re-Synchronisierungs-Operation des Primary-Cache-Speichers 8 gestatten. Beispielsweise kann die Datenbank 2 ein Protokoll 17 enthalten, welches eine Auflistung der Datenobjekte enthalten kann, die nicht erfolgreich in dem Primary-Cache-Speicher 8, dem Secondary-Cache-Speicher 9, dem Primary-Disk-Speicher 4 und dem Secondary-Disk-Speicher 5 aktualisiert wurden. Gelegentlich, wie etwa auf einer periodischen Basis, wird in bevorzugter Weise ein Versuch unternommen, die Datenobjekte zu replizieren, die zuvor nicht erfolgreich in den Datenvorrichtungen aktualisiert wurden. In dem Fall, wenn eine Speichervorrichtung, wie ein Primary-Cache-Speicher 8, erfolgreich mit diesen Datenobjekten aktualisiert wird, welche zuvor dort nicht erfolgreich aktualisiert wurden, wird die Speichervorrichtung wieder synchronisiert und vollkommen einsatzbereit.
  • In dem Fall, wenn nur der Primary-Cache-Speicher 8 und einer der Disk-Speicher 4 und 5 erfolgreich mit dem Datenobjekt aktualisiert wurden, ermittelt bei Schritt 27 der Schnittstellen- und Steuerprozessor 16 dann, dass die externe Transaktion erfolgreich abgeschlossen wurde. Der Schnittstellen- und Steuerprozessor 16 gibt dann eine Erwiderung an den anfragenden Clienten 3 ab, dass die Durchführung erfolgreich war. Der Secondary-Cache-Speicher 9 und der Disk-Speicher 4 oder 5, bei denen die Aktualisierung ebenso fehlschlug, werden bei Schritt 28 als nicht harmonierend bzw. nicht synchronisiert gekennzeichnet.
  • In dem Fall, wenn nur der Secondary-Cache-Speicher 9 erfolgreich aktualisiert wurde (Schritt 29), bestimmt dann der Schnittstellen- und Steuerprozessor 16, dass die Transaktion erfolgreich vollendet wurde (Schritt 30). Der anfragende Client 3 sendet ein Signal, welches die erfolgreiche Leistung bestätigt. Ferner wird ein Alarm erzeugt, wenn es fehlschlug, den Secondary-Cache-Speicher 9 zu aktualisieren, und der Secondary-Cache-Speicher 9 wird als nicht harmonierend bzw. nicht synchronisiert gekennzeichnet (Schritt 31).
  • In dem Fall, wenn sowohl der Primary-Disk-Speicher 4 als auch der Secondary-Disk-Speicher 5 nicht erfolgreich aktualisiert wurden, während beide Cache-Speicher 8 und 9 erfolgreich aktualisiert wurden, bestimmt der Schnittstellen- und Steuerprozessor 16, dass die externe Transaktion fehlgeschlagen hat (Schritt 32). Der anfragende Client 3 wird von dieser nicht erfolgreichen Durchführung benachrichtigt (Schritt 33). Als nächstes wird ein Versuch gemacht, das neue Datenobjekt von sowohl dem Primary-Cache-Speicher 8 als auch dem Secondary-Cache-Speicher 9 zu löschen (Schritt 33). Wenn das neue Datenobjekt nicht erfolgreich von entweder einem oder beiden Cache-Speicher 8 oder 9 gelöscht wird, dann wird der Cache-Speicher, welcher einer fehlgeschlagenen Lösch-Operation entspricht, als nicht harmonierend bzw. nicht synchronisiert gekennzeichnet (Schritt 34).
  • In dem Fall, wenn lediglich einer der Disk-Speicher 4 oder 5 nicht erfolgreich mit dem Datenobjekt aktualisiert wurde, während die verbleibenden Speichervorrichtungen erfolgreich aktualisiert wurden, bestimmt der Schnittstellen- und Steuerprozessor 16, dass die externe Transaktion erfolgreich ausgeführt worden ist (Schritt 35). Der Client bzw. das dienstanfordernde Gerät wird dann hinsichtlich des Auftretens der erfolgreichen Ausführung benachrichtigt. Der Disk-Speicher 4 oder 5, der nicht erfolgreich aktualisiert wurde, wird als nicht harmonierend bzw. nicht synchronisiert gekennzeichnet (Schritt 36).
  • In dem Fall, wenn jede Speichervorrichtung (Primary-Cache-Speicher 8, Secondary-Cache-Speicher 9, Primary-Disk-Speicher 4 und Secondary-Disk-Speicher 5) erfolgreich aktualisiert wurde, bestimmt der Schnittstellen- und Steuerprozessor 16 dann, dass die Aktualisierung erfolgreich war und gibt ein Signal hinsichtlich des Ereignisses an den anfragenden Clienten 3 ab (Schritt 35).
  • Es sei darauf hingewiesen, dass sämtliche anderen Zugriffsszenarien, die nicht obig beschrieben werden, in der externen Transaktion, die nicht erfolgreich ausgeführt wird, resultieren.
  • Die obig beschriebene Prozedur zur Datenreplikation in einem direkten Verarbeitungssystem mit hoher Verfügbarkeit basiert teilweise auf Cache-Indexregister 12 und 13, die im wesentlichen im gleichen Zeitintervall ablaufend mit der jeweiligen Aktualisierung der Cache-Speicher 8 und 9 aktualisiert werden, um auf das neue Datenobjekt hinzuweisen. Es wird verstanden, dass die Indexregister 12 und 13 nach dem erfolgreichen Beschreiben jeder Speichervorrichtung, und nur, nachdem eine erfolgreiche Ermittlung gemacht wird, dass die angeforderte externe Transaktion erfolgreich vollende wurde, alternativ aktualisiert werden können. Auf diese Weise werden dienstanfordernde Geräte bzw. Clienten daran gehindert, auf die neue Datenobjektversion zuzugreifen, die später aufgrund des Fehlschlagens der Durchführung der externen Transaktion gelöscht werden müssen. In diesem alternativen Verfahren werden die Indexregister 12 und 13 nicht korrigiert, wenn die externe Transaktion fehlschlägt. Tatsächlich gibt der einzige Schritt, welcher der Ermittlung der externen Transaktionsleistungsfehler notwendigerweise nachfolgt, den Speicherplatz frei, der durch das neue Datenobjekt in den Cache-Speichern 8 und 9 besetzt wird.
  • Obwohl die bevorzugten Ausführungsformen des Systems und des Verfahrens der vorliegenden Erfindung anhand der beigefügten Zeichnungen dargestellt werden und in der vorhergehenden detaillierten Beschreibung beschrieben wurden, ist es so zu verstehen, dass die Erfindung nicht auf die offenbarten Ausführungsformen beschränkt sondern auf eine Vielzahl von Anordnungen, Modifikationen und Ersetzungen anwendbar ist, ohne von dem Umfang der Erfindung, wie sie durch die nachfolgenden Patentansprüche ausgeführt und definiert wird, abzuweichen.

Claims (24)

  1. Verfahren zur Verwaltung von Daten in einer Datenbank (2) eines Verarbeitungssystems (1), welches einen Primary-Cache-Speicher (8), einen Secondary-Cache-Speicher (9), einen Primary-Disk-Speicher (4) und einen Secondary-Disk-Speicher (5) aufweist, wobei das Verfahren folgende Verfahrensschritte aufweist: – Empfang einer Anforderung von einem dienstanfordernden Gerät bzw. Clienten, ein Datenobjekt in die Datenbank (2) zu schreiben; – Versuch, das Datenobjekt in den Primary-Cache-Speicher (8) und in den Secondary-Cache-Speicher (9) in Erwiderung auf den Verfahrensschritt des Empfangen der Anforderung zu schreiben; – Versuch, das Datenobjekt in den Primary-Disk-Speicher (4) und in den Secondary-Disk-Speicher (5) zu schreiben, dem Verfahrensschritt des Versuchs, in die Cache-Speicher zu schreiben, folgend; – Prüfen eines erfolgreichen Schreibens des Datenobjekts in jeden der Primary-Cache-Speicher (8), Secondary-Cache-Speicher (9), Primary-Disk-Speicher (4) und Secondary-Disk-Speicher (5); – Bestätigen dem dienstanfordernden Gerät bzw. Clienten hinsichtlich eines erfolgreichen Schreibens des Datenobjekts bei einer bestätigenden Ermittlung, dass das Datenobjekt erfolgreich in den Primary-Cache-Speicher (8) und in zumindest einen der Primary-Disk-Speicher (4) und Secondary-Disk-Speicher (5) geschrieben wurde, und Kennzeichnen der Cache- und Disk-Speicher als nicht harmonierend bzw. nicht synchronisiert, in welche das Datenobjekt, wie es während des Verfahrensschritt des Prüfen ermittelt wurde, nicht erfolgreich geschrieben wurde; – nachfolgendes Ermitteln eines nicht erfolgreichen Schreibens des Datenobjekts, nachfolgender Versuch, das Datenobjekt in jedem der Primary-Cache-Speicher, Secondary-Cache-Speicher, Primary-Disk-Speicher und Secondary-Disk-Speicher, in welchen das Datenobjekt erfolgreich geschrieben wurde, zu löschen, und nachfolgendes Warnen des dienstanfordernden Geräts bzw. Clienten hinsichtlich eines fehlerhaften Versuches, das Datenobjekt in die Datenbank zu schreiben.
  2. Verfahren gemäß Anspruch 1, welches ferner den folgenden Verfahrensschritt aufweist: – Automatisches, den Bestätigungs- und Kennzeichnungs-Verfahrensschritte nachfolgende Ausführen einer Resync- bzw. Wiedereinsetz-Operation bei den Cache- und Disk-Speichern, die als nicht harmonierend bzw. nicht synchronisiert gekennzeichnet wurden, um derart die Speicherung des Datenobjekts dort drin zu aktualisieren.
  3. Verfahren gemäß Anspruch 1, wobei der Kennzeichnungs-Verfahrensschritt den Verfahrensschritt des Kennzeichnens des Secondary-Cache-Speichers (9) als nicht harmonierend bzw. nicht synchronisiert aufweist, wenn ermittelt wird, dass das Datenobjekt nicht erfolgreich dort hinein geschrieben wurde.
  4. Verfahren gemäß Anspruch 1, wobei der Kennzeichnungs-Verfahrensschritt den Verfahrensschritt des Kennzeichnens des Primary-Disk-Speichers (4) als nicht harmonierend bzw. nicht synchronisiert aufweist, wenn ermittelt wird, dass das Datenobjekt nicht erfolgreich dort hinein geschrieben wurde.
  5. Verfahren gemäß Anspruch 1, wobei der Kennzeichnungs-Verfahrensschritt den Verfahrensschritt des Kennzeichnens des Secondary-Disk-Speichers (5) als nicht harmonierend bzw. nicht synchronisiert aufweist, wenn ermittelt wird, dass das Datenobjekt nicht erfolgreich dort hinein geschrieben wurde.
  6. Verfahren gemäß Anspruch 1, welches ferner die folgenden Verfahrensschritte aufweist: – Ermitteln, ob das Datenobjekt erfolgreich von den Cache- und Disk-Speichern gelöscht wurde, in welche das Datenobjekt erfolgreich geschrieben wurde; und – Kennzeichnen von jedem der Cache- und Disk-Speicher als nicht harmonierend bzw. nicht synchronisiert, wenn ermittelt wird, dass das Datenobjekt hiervon nicht erfolgreich gelöscht wurde.
  7. Verfahren gemäß Anspruch 6, welches ferner den folgenden Verfahrensschritt aufweist: Festlegen des Secondary-Cache-Speichers (9) als Primary-Cache-Speicher (8), was einer Ermittlung nachfolgt, dass das Datenobjekt nicht erfolgreich von dem Primary-Cache-Speicher (8) gelöscht wurde.
  8. Verfahren gemäß Anspruch 1, wobei der Versuch, das Datenobjekt in den Secondary-Cache-Speicher (9) zu schreiben, dem Versuch nachfolgt, das Datenobjekt in den Primary-Cache-Speicher (8) zu schreiben.
  9. Verfahren gemäß Anspruch 1, welches ferner den folgenden Verfahrensschritt aufweist: Wiedergabe des Speicherns des Datenobjekts als zugänglich, was den Bestätigungs- und Kennzeichnungs-Verfahrensschritten nachfolgt.
  10. Verfahren gemäß Anspruch 1, wobei der Bestätigungs-Verfahrensschritt basierend auf der Ermittlung, dass das Datenobjekt in nur einen der Primary-Disk-Speicher (4) und der Secondary-Disk-Speicher (5) erfolgreich geschrieben wurde, durchgeführt wird.
  11. Datenbank (2) für ein direktes Verarbeitungssystem (1), wobei die Datenbank folgendes aufweist: – einen Primary-Cache-Speicher (8); – einen Secondary-Cache-Speicher (9); – einen Primary-Disk-Speicher (4); – einen Secondary-Disk-Speicher (5); – einen Steuerprozessor (16), um eine Anforderung von einem dienstanfordernden Gerät bzw. Clienten zu empfangen, ein Datenobjekt in die Datenbank (2) zu schreiben; um zu versuchen, das Datenobjekt in den Primary-Cache-Speicher (8), in den Secondary-Cache-Speicher (9), in den Primary-Disk-Speicher (4) und in den Secondary-Disk-Speicher (5) in Erwiderung auf den Empfang der Anforderung zu schreiben; um zu prüfen, ob das Datenobjekt erfolgreich in jeden der Primary-Cache-Speicher (8), Secondary-Cache-Speicher (9), Primary-Disk-Speicher (4) und Secondary-Disk-Speicher (5) geschrieben wurde; um dem dienstanfordernden Gerät bzw. Clienten zu bestätigen, dass das Datenobjekt erfolgreich geschrieben wurde, wenn bestätigend ermittelt wird, dass das Datenobjekt erfolgreich in den Primary-Cache-Speicher (8) und in zumindest einen der Primary-Disk-Speicher (4) und Secondary-Disk-Speicher (5) geschrieben wurde; um den Cache- und Disk-Speicher, in welche das Datenobjekt nicht erfolgreich geschrieben wurde, als nicht harmonierend bzw. nicht synchronisiert zu kennzeichnen; und um nachfolgend zu ermitteln, dass das Datenobjekt nicht erfolgreich geschrieben wurde; um nachfolgend zu versuchen, das Datenobjekt in jedem der Primary-Cache-Speicher, Secondary-Cache-Speicher, Primary-Disk-Speicher und Secondary-Disk-Speicher, in welchen das Datenobjekt erfolgreich geschrieben wurde, zu löschen; und um nachfolgend das dienstanfordernde Gerät bzw. den Clienten zu warnen, dass der Versuch fehlschlug, das Datenobjekt in die Datenbank zu schreiben.
  12. System (1) gemäß Anspruch 11, wobei der Steuerprozessor (16) automatisch eine Resync- bzw. Wiedereinsetz-Operation bei den Cache- und Disk-Speichern, die als nicht harmonierend bzw. nicht synchronisiert gekennzeichnet wurden, ausführt, um derart die Speicherung des Datenobjekts dort drin zu aktualisieren.
  13. System (1) gemäß Anspruch 11, wobei der Steuerprozessor (16) den Secondary-Cache-Speicher (9) als nicht harmonierend bzw. nicht synchronisiert kennzeichnet, wenn ermittelt wird, dass das Datenobjekt nicht erfolgreich dort hinein geschrieben wurde.
  14. System (1) gemäß Anspruch 11, wobei der Steuerprozessor den Primary-Disk-Speicher (4) als nicht harmonierend bzw. nicht synchronisiert kennzeichnet, wenn ermittelt wird, dass das Datenobjekt nicht erfolgreich dort hinein geschrieben wurde.
  15. System (1) gemäß Anspruch 11, wobei der Steuerprozessor (16) den Secondary-Disk-Speicher (5) als Secondary-Disk-Speicher (4) kennzeichnet, wenn ermittelt wird, dass das Datenobjekt nicht erfolgreich in den Secondary-Disk-Speicher (4) und erfolgreich in den Secondary-Disk-Speicher (5) geschrieben wurde.
  16. System (1) gemäß Anspruch 11, wobei der Versuch, das Datenobjekt in den Secondary-Cache-Speicher (9) zu schreiben, vor dem Versuch vorkommt, das Datenobjekt in den Primary-Disk-Speicher (4) und Secondary-Disk-Speicher (5) zu schreiben.
  17. System (1) gemäß Anspruch 11, wobei der Steuerprozessor (16) ermittelt, ob das Datenobjekt erfolgreich von den Cache-Speichern gelöscht wurde, in welche das Datenobjekt erfolgreich geschrieben wurde, und wobei der Steuerprozessor (16) einen Cache-Speicher, von welchem das Datenobjekt nicht erfolgreich gelöscht wurde, als nicht harmonierend bzw. nicht synchronisiert kennzeichnet.
  18. System (1) gemäß Anspruch 17, wobei der Steuerprozessor (16) den Secondary-Cache-Speicher (9) wieder als Primary-Cache-Speicher (8) festlegt, wenn ermittelt wird, dass das Datenobjekt nicht erfolgreich von dem Primary-Cache-Speicher (8) gelöscht wurde.
  19. System (1) gemäß Anspruch 11, wobei der Steuerprozessor (16) während der Zeit des Versuchens, das Datenobjekt zu schreiben, und während der Zeit des Prüfen hinsichtlich erfolgreicher Versuche, das Datenobjekt zu schreiben, das Datenobjekt als von der Datenbank (2) unerreichbar wiedergibt.
  20. System gemäß Anspruch 19, wobei der Steuerprozessor (16) sequentiell versucht, das Datenobjekt in den Primary-Cache-Speicher (8) und in den Secondary-Cache-Speicher (9) zu schreiben.
  21. System (1) gemäß Anspruch 11, wobei der Steuerprozessor (16) dem dienstanfordernden Gerät bzw. Clienten ein erfolgreiches Schreiben des Datenobjekts in die Datenbank (2) bestätigt, basierend auf der Ermittlung, dass das Datenobjekt erfolgreich in nur einen der Primary-Disk-Speicher (4) und der Secondary-Disk-Speicher (5) geschrieben wurde.
  22. Computerprogramm-Produkt, welches ein computerlesbares Medium mit einer darin enthaltenen computerlesbaren Programmcode-Einrichtung aufweist, um Daten in einer Datenbank (2) eines Verarbeitungssystems (1) zu verwalten, wobei die Datenbank (2) einen Primary-Cache-Speicher (8), einen Secondary-Cache-Speicher (9), einen Primary-Disk-Speicher (4) und einen Secondary-Disk-Speicher (5) aufweist, wobei das Computerprogramm-Produkt Befehle für folgende Operationen aufweist: – Empfang einer Anforderung von einem dienstanfordernden Gerät bzw. Clienten, ein Datenobjekt in die Datenbank (2) zu schreiben; – Versuch, das Datenobjekt in den Primary-Cache-Speicher (8) und in den Secondary-Cache-Speicher (9) in Erwiderung auf den Verfahrensschritt des Empfangen der Anforderung zu schreiben; – Versuch, das Datenobjekt in den Primary-Disk-Speicher (4) und in den Secondary-Disk-Speicher (5) zu schreiben, dem Verfahrensschritt des Versuchs, in die Cache-Speicher zu schreiben, folgend; – Prüfen eines erfolgreichen Schreibens des Datenobjekts in jeden der Primary-Cache-Speicher (8), Secondary-Cache-Speicher (9), Primary-Disk-Speicher (4) und Secondary-Disk-Speicher (5); – Bestätigen dem dienstanfordernden Gerät bzw. Clienten hinsichtlich eines erfolgreichen Schreibens des Datenobjekts bei einer bestätigenden Ermittlung, dass das Datenobjekt erfolgreich in den Primary-Cache-Speicher (8) und in zumindest einen der Primary-Disk-Speicher (4) und Secondary-Disk-Speicher (5) geschrieben wurde, und Kennzeichnen der Cache- und Disk-Speicher als nicht harmonierend bzw. nicht synchronisiert, in welche das Datenobjekt, wie es während des Verfahrensschritt des Prüfen ermittelt wurde, nicht erfolgreich geschrieben wurde; – nachfolgendes Ermitteln eines nicht erfolgreichen Schreibens des Datenobjekts, nachfolgender Versuch, das Datenobjekt in jedem der Primary-Cache-Speicher, Secondary-Cache-Speicher, Primary-Disk-Speicher und Secondary-Disk-Speicher, in welchen das Datenobjekt erfolgreich geschrieben wurde, zu löschen, und nachfolgendes Warnen des dienstanfordernden Geräts bzw. Clienten hinsichtlich eines fehlerhaften Versuches, das Datenobjekt in die Datenbank zu schreiben.
  23. Computerprogramm-Produkt gemäß Anspruch 22, welches ferner den Befehl des Ausführen einer Resync- bzw. Wiedereinsetz-Operation bei den Cache- und Disk-Speichern, die als nicht harmonierend bzw. nicht synchronisiert gekennzeichnet wurden, aufweist.
  24. Computerprogramm-Produkt gemäß Anspruch 23, welches ferner den Befehl des Kennzeichnens des Cache-Speichers, in welchem die Daten hinsichtlich der Speicheraktualisierung nicht erfolgreich gelöscht wurden, als nicht harmonierend bzw. nicht synchronisiert aufweist.
DE69913984T 1998-10-23 1999-10-22 Verteiltes transaktionales verarbeitungssystem und verfahren Expired - Lifetime DE69913984T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US178456 1998-10-23
US09/178,456 US6269432B1 (en) 1998-10-23 1998-10-23 Distributed transactional processing system having redundant data
PCT/US1999/024777 WO2000025213A1 (en) 1998-10-23 1999-10-22 Distributed transactional processing system and method

Publications (2)

Publication Number Publication Date
DE69913984D1 DE69913984D1 (de) 2004-02-05
DE69913984T2 true DE69913984T2 (de) 2004-10-28

Family

ID=22652606

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69913984T Expired - Lifetime DE69913984T2 (de) 1998-10-23 1999-10-22 Verteiltes transaktionales verarbeitungssystem und verfahren

Country Status (8)

Country Link
US (1) US6269432B1 (de)
EP (1) EP1131715B1 (de)
JP (1) JP4437870B2 (de)
AU (1) AU1222100A (de)
BR (1) BR9914695A (de)
CA (1) CA2347012C (de)
DE (1) DE69913984T2 (de)
WO (1) WO2000025213A1 (de)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757896B1 (en) * 1999-01-29 2004-06-29 International Business Machines Corporation Method and apparatus for enabling partial replication of object stores
US7391865B2 (en) 1999-09-20 2008-06-24 Security First Corporation Secure data parser method and system
US7587428B2 (en) * 2000-10-13 2009-09-08 Microsoft Corporation Maintaining a relationship between two different items of data
US7689560B2 (en) 2000-10-13 2010-03-30 Miosoft Corporation Persistent data storage techniques
US7013376B2 (en) * 2000-12-20 2006-03-14 Hewlett-Packard Development Company, L.P. Method and system for data block sparing in a solid-state storage device
US7577598B2 (en) * 2001-05-01 2009-08-18 United Parcel Service Of America, Inc. Account opening facilitation system, method and computer program product
US9659292B1 (en) * 2001-08-30 2017-05-23 EMC IP Holding Company LLC Storage-based replication of e-commerce transactions in real time
US7266542B2 (en) * 2002-04-12 2007-09-04 International Business Machines Corporation Enforcement of service terms through adaptive edge processing of application data
US7266541B2 (en) * 2002-04-12 2007-09-04 International Business Machines Corporation Adaptive edge processing of application data
US6898609B2 (en) * 2002-05-10 2005-05-24 Douglas W. Kerwin Database scattering system
JP2004054721A (ja) * 2002-07-23 2004-02-19 Hitachi Ltd ネットワークストレージ仮想化方法
US6973546B2 (en) * 2002-09-27 2005-12-06 International Business Machines Corporation Method, system, and program for maintaining data in distributed caches
US8121978B2 (en) * 2002-11-15 2012-02-21 Sybase, Inc. Database system providing improved methods for data replication
US7177886B2 (en) 2003-02-07 2007-02-13 International Business Machines Corporation Apparatus and method for coordinating logical data replication with highly available data replication
AU2012203561B2 (en) * 2003-06-11 2015-08-20 Security First Corp. Secure Data Parser Method and System
US7610318B2 (en) * 2003-09-29 2009-10-27 International Business Machines Corporation Autonomic infrastructure enablement for point in time copy consistency
US20050144026A1 (en) * 2003-12-30 2005-06-30 Bennett Gary W. Methods and apparatus for electronic communication
US7346633B2 (en) * 2004-06-10 2008-03-18 Sybase, Inc. System providing methodology for replication subscription resolution
CN101375284B (zh) 2004-10-25 2012-02-22 安全第一公司 安全数据分析方法和系统
AU2006350252B2 (en) 2005-11-18 2010-10-14 Security First Corporation Secure data parser method and system
BRPI0720132A2 (pt) * 2006-12-05 2015-07-21 Security First Corp Método de backup de fita aperfeiçoado que utiliza um analisador de dados seguros.
CN103281190B (zh) 2008-02-22 2018-03-09 安全第一公司 安全工作组管理和通信的系统和方法
CN102428686A (zh) 2009-05-19 2012-04-25 安全第一公司 用于安全保护云中的数据的系统和方法
US20100306234A1 (en) * 2009-05-28 2010-12-02 Microsoft Corporation Cache synchronization
ES2620962T3 (es) 2009-11-25 2017-06-30 Security First Corporation Sistemas y procedimientos para asegurar datos en movimiento
AU2011235075B2 (en) 2010-03-31 2015-10-01 Security First Corp. Systems and methods for securing data in motion
US8824492B2 (en) 2010-05-28 2014-09-02 Drc Computer Corporation Accelerator system for remote data storage
CA2812986C (en) 2010-09-20 2015-12-08 Security First Corp. Systems and methods for secure data sharing
CA2900504A1 (en) 2013-02-13 2014-08-21 Security First Corp. Systems and methods for a cryptographic file system layer
US20150149415A1 (en) * 2013-11-22 2015-05-28 International Business Machines Corporation Rollback Mechanism for Linear Tape File Systems
US10031679B2 (en) 2014-11-21 2018-07-24 Security First Corp. Gateway for cloud-based secure storage
WO2017066953A1 (en) * 2015-10-22 2017-04-27 Oracle International Corporation System and method for providing distributed caching in transactional processing environment
US11144518B2 (en) 2018-11-28 2021-10-12 International Business Machines Corporation Detecting data mapping relationship within database system and optimizing data operation

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4916605A (en) * 1984-03-27 1990-04-10 International Business Machines Corporation Fast write operations
DE3854384T2 (de) * 1987-11-30 1996-03-28 Ibm Verfahren zum Betreiben eines einen anteilig genutzten virtuellen Speicher verwendenden Multiprozessorsystems.
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
JP3085899B2 (ja) * 1995-06-19 2000-09-11 株式会社東芝 マルチプロセッサシステム
US6052797A (en) * 1996-05-28 2000-04-18 Emc Corporation Remotely mirrored data storage system with a count indicative of data consistency

Also Published As

Publication number Publication date
BR9914695A (pt) 2001-07-10
CA2347012A1 (en) 2000-05-04
DE69913984D1 (de) 2004-02-05
AU1222100A (en) 2000-05-15
EP1131715B1 (de) 2004-01-02
CA2347012C (en) 2009-12-22
JP2002528814A (ja) 2002-09-03
EP1131715A1 (de) 2001-09-12
US6269432B1 (en) 2001-07-31
WO2000025213A1 (en) 2000-05-04
JP4437870B2 (ja) 2010-03-24

Similar Documents

Publication Publication Date Title
DE69913984T2 (de) Verteiltes transaktionales verarbeitungssystem und verfahren
DE69730449T2 (de) Erzeugung einer spiegeldatenkopie (bild) unter verwendung von referenzetiketten
DE60016371T2 (de) Vorrichtung und verfahren um die übereinstimmung der daten in einer gruppe von einspiegelungseinrichtungen gespeichert zu behalten
EP0703534B1 (de) Speicherverwaltungssystem eines Rechnersystems
DE60316783T2 (de) Erkennung von Speichermangel und Feinabschaltung
DE4218025C2 (de) Vorrichtung und Verfahren zur automatischen Zuordnung von Datenspeichereinrichtungen in einem Computersystem
DE3805107C2 (de)
DE60306663T2 (de) Verfahren, Vorrichtungen und Programme zur Regelung des Zugriffs auf Datenobjekte unter Verwendung von Sperren
DE3932474C2 (de) Plattenzugriff-Steuerverfahren
DE10055603B4 (de) Verfahren zum Zugriff auf eine Datei in einer Vielzahl von Datenspeicherbibliotheken und Datenspeicherbibliothek-System
DE1499182C3 (de) Datenspeichersystem
DE4420451C2 (de) Sperrmechanismus für ein CHECK-IN/CHECK-OUT-Modell
DE3621321A1 (de) Cache-speicher- bzw. multiprozessor-system und betriebsverfahren
DE112009004503T5 (de) Optimierung der zugriffszeit von auf speichern gespeicherten dateien
DE102004056216A1 (de) Fernkopiersystem und Speichersystem
DE60008148T2 (de) System und verfahren zum abrollen von schleifen in einem trace-cache
DE3439302A1 (de) Speichersteuerungsvorrichtung
DE10219623A1 (de) System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen
DE19535546B4 (de) Verfahren zum Betreiben eines durch ein Realzeit-Betriebssystem gesteuerten Realzeit-Computersystems
DE4213073A1 (de) Cache-steuergeraet und verfahren zur auswahl eines pfades eines cache-verzeichnisses bei einem zeilen-fuell-zyklus
EP1079307B1 (de) Verfahren zum Betrieb eines Speichersystems sowie Speichersystem
DE19826091A1 (de) Verfahren zum gesicherten Ändern von in einer Datenbank gespeicherten Daten, Datenbanksystem und damit ausgestattetes Netzelement
DE69724533T2 (de) Durchschreiboperation mit Stufenumgehung in einem mehrstufigen Speicher eines Rechnersystems
DE69629331T2 (de) System und Verfahren zur Bereitstellung einer flexiblen Speicherhierarchie
EP0840912B1 (de) Rechnersystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition