DE102022132369A1 - Erkennung und beseitigung von deadlocks in einem datenbankmanagementsystem - Google Patents

Erkennung und beseitigung von deadlocks in einem datenbankmanagementsystem Download PDF

Info

Publication number
DE102022132369A1
DE102022132369A1 DE102022132369.2A DE102022132369A DE102022132369A1 DE 102022132369 A1 DE102022132369 A1 DE 102022132369A1 DE 102022132369 A DE102022132369 A DE 102022132369A DE 102022132369 A1 DE102022132369 A1 DE 102022132369A1
Authority
DE
Germany
Prior art keywords
deadlock
server
database
data
management 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.)
Pending
Application number
DE102022132369.2A
Other languages
English (en)
Inventor
Min Hyeon Nam
Min Jun Kim
Dong Hyun Park
Chan Soon Park
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.)
Hyundai AutoEver Corp
Original Assignee
Hyundai AutoEver 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 Hyundai AutoEver Corp filed Critical Hyundai AutoEver Corp
Publication of DE102022132369A1 publication Critical patent/DE102022132369A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0781Error filtering or prioritizing based on a policy defined by the user or on a policy defined by a hardware/software module, e.g. according to a severity level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • 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/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock detection or avoidance

Abstract

Eine Ausführungsform der vorliegenden Offenbarung stellt ein Verfahren zur Erkennung eines Deadlocks eines Datenbankmanagementsystems und zur Deadlock-Beseitigung bereit, wobei das Verfahren die Aktualisierung von Daten, die in einem ersten Server und einem zweiten Server gespeichert sind; die Deadlock-Erkennung, bei der durch Vergleichen der Daten des ersten Servers mit Daten des zweiten Servers ermittelt wird, ob sich das Datenbankmanagementsystem in einem Deadlock-Zustand befindet; und die Deadlock-Beseitigung umfasst, bei der durch Änderung der Daten eines Servers, so dass die Daten des ersten Servers und des zweiten Servers identisch sind, der Deadlock aufgelöst wird.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNG
  • Die vorliegende Anmeldung beansprucht die Priorität der koreanischen Patentanmeldung Nr. 10-2021-0173946 , die am 7. Dezember 2021 eingereicht wurde und durch Bezugnahme in vollem Umfang hier aufgenommen ist.
  • HINTERGRUND
  • 1. Gebiet der Technik
  • Die vorliegende Offenbarung bezieht sich auf ein Verfahren zur Erkennung eines Deadlocks einer Datenbank und zur Deadlock-Beseitigung und insbesondere auf ein Verfahren und ein System zur Überwachung eines Deadlocks einer Datenbank in Echtzeit und zur raschen Wiederherstellung nach einem Ausfall eines Datenbankmanagementsystems.
  • 2. Verwandte Technik
  • In einer Datenbank gespeicherte Daten können so implementiert werden, dass Daten durch sequentiell oder gleichzeitig durchgeführte Sitzungen gelesen, geschrieben, aktualisiert und gelöscht werden.
  • Ein Datenbankmanagementsystem (DBMS) ist ein System, das eine Datenbank verwaltet, die Daten strukturieren, speichern und verwalten kann.
  • Sitzungsoperationen in der Datenbank können fehlerhaft ausgeführt werden, und Antworten können verzögert oder angehalten werden, was als Deadlock definiert werden kann.
  • Bei einem Deadlock einer Datenbank sind die Funktionen für alle Nutzer, Programme oder Geräte, die mit dem DBMS verbunden sind, eingeschränkt - beispielsweise ist es nicht möglich, die Datenbank abzufragen oder Daten in die Datenbank einzugeben oder aus dieser zu löschen - und aufgrund dieses Phänomens kann das gesamte System, beispielsweise das Web oder die Anwendung, möglicherweise nicht mehr arbeiten.
  • Da in einem Fertigungsleitsystem (engl. Manufacturing Execution System - MES) für ein Produkt verschiedene Arten von Daten wie Arbeitspläne von Produktionsstätten, Produktinformationen und Produktionsaufzeichnungen in einer Datenbank erstellt und verwaltet werden, steht ein Ausfall der Datenbank in engem Zusammenhang mit der Effizienz der Produktion und der Verwaltung von Produkten.
  • Wenn eine Datenbank die Daten der Produktionsanlagen für ein Produkt speichert und verwaltet, kann eine Verzögerung oder ein Ausfall der Datenbank zu einem schwerwiegenden Fehler führen, der die Produktionsanlagen funktionsunfähig macht oder die Produktionslinie zum Stillstand bringt.
  • Die Erörterungen in diesem Abschnitt dienen lediglich der Bereitstellung von Hintergrundinformationen und stellen kein Aufnahme des Standes der Technik dar.
  • KURZFASSUNG
  • Basierend auf dem obigen Hintergrund besteht gemäß einem Aspekt der vorliegenden Offenbarung eine Aufgabe der vorliegenden Ausführungsform darin, ein Verfahren und ein System zur Erkennung eines Deadlocks, der in einem Datenbankmanagementsystem (DBMS) auftritt, und zur Deadlock-Beseitigung bereitzustellen.
  • In einem weiteren Aspekt ist eine Aufgabe der vorliegenden Offenbarung die Bereitstellung eines Verfahrens und eines Systems zum Zusammenfassen von Daten, die während eines Prozesses zur Beseitigung eines in einem DBMS auftretenden Deadlocks erzeugt werden, als Log-Dateien, zum Analysieren der Log-Dateien und zum Verbessern der Geschwindigkeit und Leistung bei der Beseitigung eines wiederholt auftretenden Deadlocks.
  • In einem weiteren Aspekt ist eine Aufgabe der vorliegenden Offenbarung die Bereitstellung eines Verfahrens und eines Systems zur Bestimmung und Klassifizierung des Schweregrads von mehreren in einem DBMS auftretenden Deadlocks und zur optimalen Nutzung begrenzter Ressourcen, indem die Deadlocks in der Reihenfolge ihrer Priorität beseitigt werden.
  • In einem weiteren Aspekt ist eine Aufgabe der vorliegenden Offenbarung die Bereitstellung eines Verfahrens und eines Systems zur Verbesserung der Sicherheit einer Datenbank, indem ein Administrator-Authentifizierungsschritt in den Prozess zur Auflösung eines in einem DBMS auftretenden Deadlocks eingefügt wird.
  • Zur Lösung der oben genannten Aufgaben kann eine Ausführungsform der vorliegenden Offenbarung ein Verfahren zur Erkennung eines Deadlocks eines DBMS und zur Deadlock-Beseitigung bereitstellen, wobei das Verfahren die Aktualisierung von Daten, die in einem ersten Server und einem zweiten Server gespeichert sind; die Deadlock-Erkennung, bei der durch Vergleichen der Daten des ersten Servers mit Daten des zweiten Servers ermittelt wird, ob sich das DBMS in einem Deadlock-Zustand befindet; und die Deadlock-Beseitigung umfasst, bei der durch Änderung der Daten eines Servers, so dass die Daten des ersten Servers und des zweiten Servers identisch sind, der Deadlock aufgelöst wird.
  • In einem Verfahren zur Erkennung eines Deadlocks eines DBMS und zur Deadlock-Beseitigung enthalten der erste und der zweite Server zumindest eine oder mehrere Sitzungen, in denen eine Verbindung zwischen einem Client und einem Server aufrechterhalten wird, und der Deadlock kann als Zustand definiert sein, in dem Operationen der Sitzungen des ersten und zweiten Servers angehalten sind.
  • In einem Verfahren zur Erkennung eines Deadlocks eines DBMS und zur Deadlock-Beseitigung kann bei der Deadlock-Erkennung der Deadlock durch Überwachen von in jedem Server gespeicherten Daten über einen mit dem ersten und dem zweiten Server kommunizierenden Kontrollserver erkannt werden.
  • In einem Verfahren zur Erkennung eines Deadlocks eines DBMS und zur Deadlock-Beseitigung kann die Deadlock-Beseitigung das Anhalten einer Sitzung des ersten Servers und das Wiederaufnehmen der Sitzung des ersten Servers nach der Änderung der Daten des ersten und zweiten Servers, so dass sie identisch sind, umfassen.
  • In einem Verfahren zur Erkennung eines Deadlocks eines DBMS und zur Deadlock-Beseitigung kann das Verfahren ferner die Klassifizierung von Servern im Deadlock in der Reihenfolge des Zeitpunkts des Auftretens des Deadlocks und die Bestimmung der Reihenfolge der Priorität des Deadlocks umfassen.
  • In einem Verfahren zur Erkennung eines Deadlocks eines DBMS und zur Deadlock-Beseitigung kann das Verfahren ferner das Senden eines Alarms umfassen, der Informationen über den Deadlock an ein Administrator-Terminal sendet, wenn die Deadlock-Erkennung den Deadlock des Systems erkennt.
  • In einem Verfahren zur Erkennung eines Deadlocks eines DBMS und zur Deadlock-Beseitigung kann das Verfahren ferner die Authentifizierung eines Administrators umfassen, bei der die Rechte eines Nutzers authentifiziert werden, der über eine an das Administrator-Terminal gesendete Verbindung auf ein System zugreift.
  • Zur Lösung der oben genannten Aufgaben kann eine weitere Ausführungsform der vorliegenden Offenbarung ein System zur Erkennung eines Deadlocks eines DBMS und zur Deadlock-Beseitigung bereitstellen, wobei das System einen Kontrollserver, der Daten eines Servers eines Datenbankmanagementsystems (DBMS) überwacht und ermittelt, ob ein Deadlock im DBMS aufgetreten ist; und einen Kommunikationsserver umfasst, der eine Meldung an ein Administrator-Terminal sendet, wenn der Kontrollserver feststellt, dass sich das DBMS in einem Deadlock-Zustand befindet, wobei der Kommunikationsserver den Deadlock des DBMS auflöst, indem ein Befehl des Administrators an den Kontrollserver gesendet wird.
  • In einem System zur Erkennung eines Deadlocks eines DBMS und zur Deadlock-Beseitigung kann der Deadlock des DBMS als Zustand definiert sein, in dem die Datenabfrage in der Datenbank aufgrund einer Betriebszeitverzögerung in einem Teil der sequentiell verknüpften Sitzungen verzögert ist.
  • In einem System zur Erkennung eines Deadlocks eines DBMS und zur Deadlock-Beseitigung kann der Kontrollserver einen Fernzugriff auf den Server des DBMS ausführen und eine Abfrage und/oder eine Eingabe und/oder eine Löschung von Daten innerhalb der Datenbank durchführen.
  • In einem System zur Erkennung eines Deadlocks eines DBMS und zur Deadlock-Beseitigung kann der Kontrollserver ferner einen Log-Server zum Speichern von Informationen darüber, ob sich das Datenbankmanagementsystem in einem Deadlock-Zustand befindet, als Log-Datei aufweisen.
  • In einem System zur Erkennung eines Deadlocks eines DBMS und zur Deadlock-Beseitigung empfängt der Kommunikationsserver ein Antwortsignal einer an das Administrator-Terminal gesendeten Meldung und sendet das empfangene Antwortsignal an den Kontrollserver, und der Kontrollserver kann den Befehl nur dann ausführen, wenn das Antwortsignal ein vorkonfiguriertes Kriterium erfüllt.
  • In einem System zur Erkennung eines Deadlocks eines DBMS und zur Deadlock-Beseitigung kann der Kontrollserver auf der Grundlage eines Eingangssignals des Administrators eine Datenbank bestimmen, an die der Befehl zu senden ist.
  • In einem System zur Erkennung eines Deadlocks eines DBMS und zur Deadlock-Beseitigung kann das Eingangssignal des Administrators erzeugt werden, wenn ein Bildbereich einer Datenbank, für die ein Deadlock aufzulösen ist, angeklickt oder berührt wird.
  • In einem System zur Erkennung eines Deadlocks eines DBMS und zur Deadlock-Beseitigung kann der Kontrollserver Datenbanken in einem Deadlock entsprechend einem vorkonfigurierten Kriterium anordnen und Informationen über die Anordnungspriorität über den Kommunikationsserver an das Administrator-Terminal senden.
  • Wie oben beschrieben, kann gemäß einer Ausführungsform der vorliegenden Offenbarung ein Deadlock einer Datenbank sofort erkannt und durch Echtzeitüberwachung der Datenbank aufgelöst werden.
  • Außerdem können gemäß einer Ausführungsform der vorliegenden Offenbarung Zeitverzögerungs- und Instabilitätsprobleme in einem DBMS-Fehlerbeseitigungsprozess, die verursacht werden, wenn ein Administrator einen Datenbank-Deadlock manuell erkennt und beseitigt, behoben werden, und eine Situation, in der Produktionsanlagen nicht mehr funktionsfähig sind oder eine Produktionslinie angehalten wird, kann im Voraus verhindert werden.
  • Außerdem können gemäß einer Ausführungsform der vorliegenden Offenbarung Daten, die während eines Prozesses zur Beseitigung eines Deadlocks in einem DBMS erzeugt werden, als Log-Dateien zusammengefasst werden, die Log-Dateien analysiert werden und die Geschwindigkeit und Leistung der Beseitigung eines wiederholt auftretenden Deadlocks verbessert werden.
  • Außerdem kann gemäß einer Ausführungsform der vorliegenden Offenbarung der Schweregrad von mehreren Deadlocks ermittelt und klassifiziert werden, begrenzte Ressourcen können optimal genutzt werden, indem die Deadlocks in der Reihenfolge ihrer Priorität beseitigt werden, und die für die Verwaltung einer Datenbank erforderliche Zeit kann reduziert werden, da eine bestimmte erforderliche Datenbank selektiv verwaltet wird.
  • Außerdem kann gemäß einer Ausführungsform der vorliegenden Offenbarung die Sicherheit einer Datenbank durch Hinzufügen eines Administrator-Authentifizierungsschritts im Prozess zur Deadlock-Auflösung verbessert werden.
  • Figurenliste
    • 1 zeigt ein Strukturdiagramm eines Datenbankmanagementsystems gemäß einer Ausführungsform der vorliegenden Offenbarung.
    • 2 ist ein Flussdiagramm, das ein Verfahren zur Erkennung eines Deadlocks eines Datenbankmanagementsystems und zur Deadlock-Beseitigung gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
    • 3 visualisiert eine Verbindungsbeziehung von Datenbanken gemäß einer Ausführungsform der vorliegenden Offenbarung.
    • 4 ist eine vergrößerte Ansicht eines Teils des Strukturdiagramms von 3.
    • 5 ist ein Blockdiagramm, das einen Prozess zum Betreiben eines Systems zur Erkennung eines Deadlocks einer Datenbank und zur Deadlock-Beseitigung gemäß einer weiteren Ausführungsform der vorliegenden Offenbarung zeigt.
    • 6 zeigt einen Prozess, bei dem Daten aktualisiert werden und ein Deadlock in einer Datenbank erzeugt wird.
  • AUSFÜHRLICHE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Im Folgenden wird ein Teil der Ausführungsformen mit Bezug auf veranschaulichende Zeichnungen ausführlich beschrieben. Bei der Zuordnung von Bezugszeichen zu den Bestandteilen jeder Zeichnung ist zu beachten, dass identische Bestandteile so weit wie möglich das gleiche Bezugszeichen haben sollen, auch wenn sie auf verschiedenen Zeichnungen dargestellt sind. Wenn bei der Beschreibung der vorliegenden Offenbarung festgestellt wird, dass eine ausführliche Beschreibung einer bekannten verwandten Ausgestaltung oder Funktion, die hier enthalten ist, das Wesentliche der vorliegenden Offenbarung unnötig unverständlich machen würde, wird auf die ausführliche Beschreibung verzichtet.
  • Bei der Beschreibung der Bestandteile der vorliegenden Offenbarung können auch Begriffe wie erste(r, s), zweite(r, s), a und b verwendet werden. Derartige Begriffe dienen nur dazu, ein Bestandteil von den anderen zu unterscheiden, und schränken die Art, Reihenfolge oder Ordnung des Bestandteils nicht ein. Wenn ein Bestandteil als mit einem anderen Bestandteil „verbunden“, „kombiniert“ oder „gekoppelt“ bezeichnet wird, ist dies so zu verstehen, dass der Bestandteil mit dem anderen Bestandteil verbunden oder gekoppelt ist, aber ein anderer Bestandteil zwischen den beiden Bestandteilen „verbunden“, „kombiniert“ oder „gekoppelt“ sein kann.
  • Der Begriff „System“ oder „Server“ kann auch unter anderem als Computerprogramm oder Gerät definiert sein, das Informationen über ein Netzwerk zur Speicherung und Verwaltung von Daten an einen Client sendet und von diesem empfängt.
  • 1 zeigt ein Strukturdiagramm eines Datenbankmanagementsystems gemäß einer Ausführungsform der vorliegenden Offenbarung.
  • Mit Bezug auf 1 umfasst das Datenbankmanagementsystem 100 ein Administrator-Terminal 10, einen Kommunikationsserver 20, einen Authentifizierungsserver 30, einen Kontrollserver 40, einen Datenbankserver 50 und einen Cloud-Server 60.
  • Der Deadlock des Datenbankmanagementsystems 100 kann als Deadlock definiert sein, der im Datenbankserver 50 auftritt, und die Strukturen aller Server und des Systems können physisch oder konzeptionell voneinander unterschieden werden.
  • Das Administrator-Terminal 10 kann eine Meldung oder einen Alarm über den Kommunikationsserver 20 empfangen und einen Befehl zur Auflösung des Deadlocks an den Kontrollserver 40 senden. Das Administrator-Terminal 10 kann mit einem beliebigen Gerät wie einem Computer, einem mobilen Gerät oder einem Server implementiert werden, solange ein Datenbankadministrator die Datenbank eines Systems unter Verwendung des Geräts über das Web oder eine Anwendung verwalten kann.
  • Ein Nutzer, der das Administrator-Terminal 10 verwendet, kann ferner einen Schritt zur Authentifizierung des Datenbankzugriffsrechts durch den Authentifizierungsserver 30 durchführen.
  • Das Administrator-Terminal 10 kann ein Gerät für den Administrator sein, mit dem der Status der Datenbank überprüft wird und Befehle erteilt werden, es kann aber auch entsprechend der Konfiguration des Datenbankmanagementsystems (DBMS) als Teil von Funktionen im System implementiert sein, die keinen Nutzereingriff erfordern, was die Verwendung eines physischen Geräts ausschließt.
  • Der Kommunikationsserver 20 kann ein Server sein, der einen Alarm an das Administrator-Terminal 10 sendet oder Befehle an das Administrator-Terminal 10 sendet und von diesem empfängt.
  • Der Authentifizierungsserver 30 kann ein Server sein, der in einem Prozess, bei dem das Administrator-Terminal 10 einen Befehl über den Kontrollserver 30 verarbeitet, ein Nutzerauthentifizierungsvorgang durchführt. Der Authentifizierungsserver 30 kann den Nutzerauthentifizierungsvorgang vor der Ausführung der Befehlsverarbeitung durchführen und ermitteln, ob der Befehl entsprechend dem Datenbankzugriffsrecht des Nutzers ausgeführt werden soll.
  • Der Kontrollserver 40 kann ein Server sein, der auf den Datenbankserver 50 zugreifen kann, um Daten in der Datenbank zu lesen, zu schreiben, zu aktualisieren oder zu löschen.
  • Der Kontrollserver 40 kann aus der Ferne mit dem Datenbankserver 50 verbunden sein und einen Deadlock des Datenbankservers 50 auflösen, indem von dem Administrator-Terminal 10 erhaltene Befehle ausgeführt werden.
  • Der Datenbankserver 50 kann ein Server sein, der eine zu überwachende Datenbank enthält, und die zu überwachende Datenbank kann im Voraus registriert werden, um ein Verwaltungsziel zu definieren.
  • Der Datenbankserver 50 kann ein Server sein, der eine Gruppe aus mehreren Datenbanken und Servern umfasst, wie etwa einen ersten Server zum Speichern einer ersten Datenbank und einen zweiten Server zum Speichern einer zweiten Datenbank.
  • Wenn der Datenbankserver 50 durch Unterteilung in mehrere Datenbanken und Sitzungen verwaltet wird, ist es möglich, ein Phänomen zu verhindern, bei dem die gesamte Datenbank aufgrund eines einzigen Deadlocks angehalten wird. Wenn ein Deadlock erkannt und durch Aufteilung des Datenbankservers 50 in mehrere Datenbanken und Sitzungen aufgelöst wird, kann die Prioritätsreihenfolge der Deadlock-Auflösung entsprechend dem internen Ressourcenstatus definiert werden, um eine effizientere Entscheidungsfindung zu ermöglichen.
  • Der Cloud-Server 60 kann ein Server sein, der so konfiguriert ist, dass er die Server 20, 30, 40 in einer virtuellen Umgebung in Form eines Bildes verwaltet, das bei Bedarf auf jeden Server verteilt werden kann.
  • Das Betreiben von Sitzungen in der Datenbank wird möglicherweise nicht normal ausgeführt, und Antworten können verzögert oder angehalten werden, was als Deadlock definiert werden kann. Hier kann eine Sitzung als eine Reihe von Operationen wie Lesen, Schreiben, Aktualisieren und Löschen von Daten definiert werden, die nach dem Zugriff auf die Datenbank bis zur Beendigung des Zugriffs durchgeführt werden und für jeden Client im Server gespeichert werden können.
  • Da beispielsweise alle oder ein Teil der Funktionen wie Abfragen, Lesen, Schreiben, Aktualisieren und Löschen von Tabellen unmöglich werden, wenn sich die Datenbank in einem Deadlock-Zustand befindet und gesperrt ist, ist es sehr wahrscheinlich, dass es zu Fehlern im Betrieb von Produktionsanlagen oder Produktionslinien kommt, die mit der entsprechenden Datenbank arbeiten.
  • Durch Echtzeitüberwachung der Datenbank gemäß einer Ausführungsform der vorliegenden Offenbarung kann ein Deadlock einer Datenbank sofort erkannt und aufgelöst werden.
  • 2 ist ein Flussdiagramm, das ein Verfahren zur Erkennung eines Deadlocks eines Datenbankmanagementsystems und zur Deadlock-Beseitigung gemäß einer Ausführungsform der vorliegenden Offenbarung zeigt.
  • Mit Bezug auf 2 kann ein Verfahren zur Erkennung eines Deadlocks eines Datenbankmanagementsystems und zur Deadlock-Beseitigung das Ausführen eines Programms, das den Betrieb eines Servers S1 startet, das Durchführen der Erkennung eines Deadlocks eines Datenbankservers S2, das Empfangen eines Ergebniswertes des Datenbankservers S3, das Ermitteln, ob sich der Datenbankserver in einem Deadlock-Zustand befindet S4, das Klassifizieren des Deadlocks des Datenbankservers S5, das Bestimmen des Schweregrads des Deadlocks des Datenbankservers S6, das Erzeugen einer Meldung S7, das Senden der Meldung S8, das Senden eines Befehls an einen Kontrollserver S9, das Authentifizieren von Administratorrechten S10, das Ermitteln, ob Befehle auszuführen sind, S11, und das Senden von Befehlen an den Datenbankserver S12 umfassen.
  • Ein Verfahren zur Erkennung eines Deadlocks eines Datenbankmanagementsystems und zur Deadlock-Beseitigung gemäß einer Ausführungsform der vorliegenden Offenbarung kann alle oder einen Teil der oben beschriebenen Schritte S1 bis S12 umfassen, wobei die Reihenfolge der Ausführung der Schritte je nach Bedarf geändert werden kann.
  • Das Ausführen eines Programms, das den Betrieb eines Servers startet S1, kann den Betrieb der Server 20, 30, 40, 60 des Datenbankmanagementsystems starten oder fortsetzen.
  • Die Durchführung der Erkennung eines Deadlocks eines Datenbankservers S2 kann ein Schritt sein, bei dem sich der Kontrollserver 60 mit der Datenbank des Datenbankservers 50 verbindet und den Datenstatus überwacht oder Änderungen in den Daten erkennt.
  • Der Kontrollserver 60 kann zur Überwachung der Daten in Echtzeit einen Fernzugriff auf den Datenbankserver 50 durchführen.
  • Wenn der Datenbankserver 50 mehrere Server umfasst, wie etwa einen ersten Server und einen zweiten Server, kann der Kontrollserver 60 eine Änderung oder Aktualisierung von Daten in jedem Server erkennen.
  • Das Empfangen eines Ergebniswertes des Datenbankservers S3 kann ein Schritt sein, bei dem der Kontrollserver 60 den Ergebniswert der Erkennung der Datenänderung des Datenbankservers 50 empfängt.
  • Der Kontrollserver 60 kann Rohdaten empfangen, um zu ermitteln, ob die Datenbank normal oder anomal ist, kann aber auch vom Datenbankserver 50 Informationen darüber erhalten, ob die Datenbank normal oder anomal ist.
  • Der gesamte oben beschriebene Prozess zur Durchführung der Erkennung eines Deadlocks eines Datenbankservers S2 oder zum Empfangen eines Ergebniswertes des Datenbankservers S3 oder ein Teil davon kann als Deadlock-Überwachung der Datenbank definiert werden, wobei in jedem Schritt Daten zwischen dem Kontrollserver 60 und dem Kommunikationsserver 20 gesendet und empfangen werden können.
  • Durch das Ermitteln, ob sich der Datenbankserver in einem Deadlock-Zustand befindet, S4, kann basierend auf einer Änderung der im Datenbankserver 50 gespeicherten Daten oder einer Antwortzeit bestimmt werden, ob sich der Datenbankserver 50 in einem Deadlock-Zustand befindet.
  • Der Kontrollserver 60 kann z.B. ermitteln, ob sich der Datenbankserver 50 in einem Deadlock-Zustand befindet, indem er die Daten des ersten und des zweiten Servers überwacht und vergleicht; wenn die Daten des ersten und zweiten Servers unterschiedlich sind, kann festgestellt werden, dass sich die Datenbank in einem Deadlock-Zustand befindet, wobei die vorliegende Offenbarung jedoch nicht auf dieses spezifische Beispiel beschränkt ist.
  • Wenn sowohl der erste und als auch der zweite Server des Datenbankservers 50 eine oder mehrere Sitzungen enthalten, in denen eine Verbindung zwischen einem Client und einem Server aufrechterhalten wird, kann der Deadlock des Datenbankservers 50 als Zustand definiert werden, in dem Sitzungen des ersten und zweiten Servers angehalten werden oder Sitzungsantworten verzögert sind.
  • Wird festgestellt, dass sich der Datenbankserver 50 nicht in einem Deadlock befindet, kehrt das Verfahren zum Schritt zur Überwachung des Datenbankservers 50 zurück.
  • Durch die Klassifizierung des Deadlocks des Datenbankservers S5 können die vom Kontrollserver 60 erhaltenen Daten zum Zweck der statistischen Analyse klassifiziert werden; falls erforderlich, können Daten, die sich auf die Bestimmung eines Deadlocks des Datenbankservers beziehen, gemäß dem binären Zahlensystem, das 0 und 1 umfasst, klassifiziert werden, wobei die vorliegende Offenbarung jedoch nicht auf das spezifische Beispiel beschränkt ist.
  • Durch die Bestimmung des Schweregrads des Deadlocks des Datenbankservers S6 kann der Schweregrad des Deadlocks des Datenbankservers 50 bestimmt werden.
  • Der Schweregrad kann je nach Typ und Zustand einer Datenbank auf verschiedene Weise definiert werden. Der Schweregrad kann unter anderem z.B. als Zeitpunkt des Auftretens des Deadlocks, als Antwortverzögerungszeit, als obere Datenbank oder als Anzahl der Sitzungen der unteren Ebene definiert werden, und zur Bestimmung des Schweregrads können Indikatoren verwendet werden, die auf verschiedenen Kriterien basieren.
  • Wenn der Schweregrad entsprechend einem vorkonfigurierten Kriterium in Form einer Stufe quantifiziert wird, kann die Priorität eines Deadlocks bestimmt werden.
  • Wird festgestellt, dass der Schweregrad des Datenbankservers 50 niedrig ist, d. h. eine Stufe unterhalb eines vorkonfigurierten Schwellenwerts wird als normaler Zustand bestimmt, kehrt das Verfahren zum Schritt zur Überwachung des Datenbankservers 50 zurück.
  • Das Erzeugen einer Meldung S7 kann ein Schritt sein, bei dem der Kontrollserver 60 einen Alarm oder eine Meldung erzeugt. Die in dem Alarm oder der Meldung enthaltenen Informationen können Informationen über einen Systemnamen, eine Server-IP-Adresse, einen DB-Namen, einen Tabellennamen, eine Prozess-ID, eine Verzögerungszeit und eine strukturierte Datenabfragesprache (engl. Structured Data Query Language - SQL) für eine bestimmte Ausführung umfassen.
  • Der Alarm oder die Meldung kann auch einen Link zum Webzugang enthalten und gegebenenfalls so implementiert werden, dass alle oder ein Teil der oben genannten Informationen auf der aufgerufenen Webseite überprüft werden können.
  • Das Senden der Meldung S8 kann ein Schritt sein, bei dem der Alarm oder die Meldung, der/die von dem Kontrollserver 60 erzeugt wurde, über den Kommunikationsserver 20 an das Administrator-Terminal 10 gesendet wird.
  • Der Administrator kann mehrere verantwortliche Verwalter umfassen, und alle oder einige der Verwalter, die die Meldung empfangen, können einen Deadlock-Auflösungsprozess durchführen.
  • Das Senden eines Befehls an den Kontrollserver S9 kann ein Schritt sein, bei dem ein Befehl zur Auflösung des Deadlocks des Datenbankservers 50 an den Kontrollserver 60 gesendet wird.
  • Hier kann sich der Befehl unter anderem auf die Sitzungsbeendigung der Datenbank beziehen, wobei jedoch verschiedene andere Befehle verwendet werden können.
  • Der Datenbanksitzung des Datenbankservers 50 können eine Sitzungs-ID und eine Seriennummer zugewiesen werden, und der obige Befehl kann durch Angabe einer Sitzung gesendet werden, die sich in einem Deadlock befindet.
  • Die Authentifizierung der Administratorrechte S10 kann ein Schritt sein, bei dem festgestellt wird, ob ein Nutzer das Recht hat, auf das Datenbankmanagementsystem (DBMS) zuzugreifen, und der Nutzer, bei dem die Authentifizierung erfolgreich ist, als Administrator bestimmt wird.
  • Da ein Nutzer, der auf den Datenbankserver 50 zugreift, auf Daten zugreifen und diese manipulieren kann, ist es möglich, die Stabilität und Sicherheit der Datenbank durch eine Administrator-Authentifizierungsfunktion zu verbessern. Die Authentifizierung der Administratorrechte S10 kann z.B. durch den Authentifizierungsserver 30 oder den Cloud-Server 60 erfolgen.
  • Das Bestimmen, ob Befehle auszuführen sind, S11, kann ein Schritt sein, bei dem bestimmt wird, ob der von dem Administrator-Terminal 10 empfangene Befehl an den Datenbankserver 50 gesendet werden soll.
  • Der Kontrollserver 60 kann entscheiden, die von dem Administrator-Terminal 10 empfangenen Befehle zu senden, wenn festgestellt wird, dass der Nutzer, der über die Administrator-Authentifizierungsfunktion auf die Datenbank zugegriffen hat, ein Administrator mit Datenbank-Zugriffsrechten ist.
  • Das Senden von Befehlen an den Datenbankserver S12 kann ein Schritt sein, bei dem, wenn eine Entscheidung getroffen wird, dass der Kontrollserver 60 Befehle an den Datenbankserver 50 sendet, die entsprechenden Befehle durch Fernübertragung an den Datenbankserver 50 gesendet werden.
  • Die Datenbank und die Tabelle des Datenbankservers 50, der die Befehle erhalten hat - z.B. ein Server, der sich in einem Deadlock befindet -, können aus dem Deadlock gelöst und in einen Wiederherstellungsmodus überführt werden.
  • Der erste und der zweite Server des Datenbankservers 50 können z.B. einen Wiederherstellungsmodus durchführen, der den Deadlock des Datenbankservers 50 auflöst, indem die Daten des ersten und des zweiten Servers entsprechend dem Befehl identisch gemacht werden.
  • Der Wiederherstellungsmodus zum Auflösen des Deadlocks des Datenbankservers 50 kann eine Sitzung des ersten Servers anhalten und die Sitzung des ersten Servers neu starten, nachdem die Daten des ersten Servers so geändert wurden, dass sie mit den Daten des zweiten Servers übereinstimmen.
  • Durch die Verwendung des obigen Verfahrens kann die Wiederherstellungszeit, die vom anfänglichen Zeitpunkt, wenn ein Datenbankfehler auftritt, bis zu dem Zeitpunkt, an dem die Datenbank nach dem Fehler wiederhergestellt ist, erforderlich ist, reduziert werden.
  • Durch die sequentielle Verarbeitung von Echtzeit-Erkennung, Statistik, Analyse, Benachrichtigung, Authentifizierung und Wiederherstellung des Datenbankservers 50, in dem ein Deadlock aufgetreten ist, ist es möglich, die Wiederherstellungszeit nach einem Ausfall zu reduzieren und gleichzeitig Datenbanksicherheit zu implementieren.
  • 3 visualisiert eine Verbindungsbeziehung von Datenbanken gemäß einer Ausführungsform der vorliegenden Offenbarung.
  • Mit Bezug auf 3 kann der Datenbankserver 50 gemäß einer Ausführungsform der vorliegenden Offenbarung die Informationen über eine Datenbankverbindungsbeziehung und Sitzungen visualisieren.
  • Beispielsweise kann die im Server 50 enthaltene Datenbank in eine Hauptdatenbank 51, eine erste Datenbank 52-1, eine zweite Datenbank 52-2, eine dritte Datenbank 52-3, eine vierte Datenbank 52-4, eine fünfte Datenbank 52-5, eine sechste Datenbank 52-6 und eine siebte Datenbank 52-7 unterteilt sein.
  • Die Hauptdatenbank 51 kann als eine Menge aller Datenbanken definiert werden, und die Hauptdatenbank 51 und die erste bis siebte Datenbank 52 bis 57 können in einer hierarchischen Beziehung stehen. Mit anderen Worten kann die Hauptdatenbank 51 die erste bis siebte Datenbank 52 bis 57 umfassen. Die Datenbanken können eine Sitzung haben oder nicht.
  • Die erste Datenbank 52-1 kann z.B. eine erste Sitzung 53-1, eine zweite Sitzung 53-2 und eine dritte Sitzung 53-3 enthalten, und die dritte Datenbank 52-3 kann eine vierte Sitzung 53-4, eine fünfte Sitzung 53-5, eine sechste Sitzung 53-6 und eine siebte Sitzung 53-7 enthalten. Dabei können die fünfte Sitzung 53-5, die sechste Sitzung 53-6 und die siebte Sitzung 53-7 in einer hierarchischen Beziehung stehen.
  • Da die hierarchische Beziehung eine Beziehung beschreiben kann, die in der Reihenfolge der Betriebszeit definiert ist, wird die Sitzungsoperation in der dritten Datenbank 52-3 in der Reihenfolge vierte Sitzung 53-4, sechste Sitzung 53-6 und siebte Sitzung 53-7 durchgeführt. Da die Operationen der sechsten Sitzung 53-6 und der siebten Sitzung 53-7 aufgrund des Deadlocks der vierten Sitzung 53-4 nicht ausgeführt werden, ist es daher notwendig, den Deadlock einer Sitzung in der oberen Hierarchie bevorzugt aufzulösen.
  • Ferner können die Zeilen L1 bis L14 dazu verwendet werden, eine Verbindungsbeziehung zwischen den einzelnen Datenbanken und Sitzungen anzugeben.
  • In 3, die als Dashboard definiert ist, kann ein Administrator intuitiv die Operationssequenz und den Status jeder Datenbank und Sitzung über die Terminalanzeige überprüfen.
  • 4 ist eine vergrößerte Ansicht eines Teils des Strukturdiagramms von 3.
  • Mit Bezug auf 4 kann ein Deadlock jeder Datenbank oder Sitzung durch eine Linie, die eine Datenbank und eine Sitzung oder Sitzungen verbindet, überprüft werden.
  • Die Bilder P1, P2, P3, P4, mit denen intuitiv geprüft wird, ob sich eine Datenbank oder eine Sitzung in einem Deadlock-Zustand befindet, können z.B. in einer Kreisform auf den Zeilen 11 bis 14 angezeigt werden, die auf dem Administrator-Terminal angezeigt werden; mit einem Klick oder eine Berührung der einzelnen Bilder kann der Deadlock der Datenbank oder Sitzung aufgelöst werden.
  • Mit anderen Worten kann, basierend auf einem Signal, das durch Klicken oder Berühren des Bildbereichs P1, P2, P3, P4, der auf dem Administrator-Terminal angezeigt wird, erzeugt wird, sofort ein Befehl zum Beenden der Sitzung zur Auflösung des Deadlocks der Datenbank oder der Sitzung bereitgestellt werden.
  • Gemäß einer weiteren Ausführungsform kann ferner ein Schritt ausgeführt werden, bei dem Informationen über den Deadlock der Datenbank oder der Sitzung durch Anklicken oder Berühren jedes Bildes aufpoppen; in diesem Fall kann ein vom Administrator entsprechend der Art des Deadlocks ausgewählter Befehl separat gesendet werden.
  • 5 ist ein Blockdiagramm, das einen Prozess zum Betreiben eines Systems zur Erkennung eines Deadlocks einer Datenbank und zur Deadlock-Beseitigung gemäß einer weiteren Ausführungsform der vorliegenden Offenbarung zeigt.
  • Mit Bezug auf 5 kann ein System zur Erkennung eines Deadlocks einer Datenbank und zur Deadlock-Beseitigung 200 ein Kontrollsystem 101, ein Deadlock-System 102, ein Log-System 103, ein Analysesystem 104, ein Alarmsystem 105, ein Nutzerterminal 106, ein Authentifizierungssystem 107, ein Wiederherstellungssystem 108 und ein normales System 109 umfassen.
  • Jedes System, das in dem System zur Erkennung eines Deadlocks einer Datenbank und zur Deadlock-Beseitigung definiert ist, kann als Gerät oder Programm verstanden werden, das eine Informationsverarbeitungsfunktion ausführt, wie etwa ein Server; jedes System kann so verstanden werden, dass es, falls erforderlich, eine Datenbank oder eine Sitzung enthält.
  • Das Kontrollsystem 101 kann den Zustand eines Systems in Echtzeit beobachten, einen Deadlock einer Datenbank oder einer Sitzung innerhalb des Systems erkennen und eine Beseitigung des Deadlocks durchführen.
  • Das Kontrollsystem 101 kann einen (nicht gezeigten) Kontrollserver aufweisen, der Daten eines Servers eines Datenbankmanagementsystems (DBMS) überwacht und ermittelt, ob sich das DBMS in einem Deadlock-Zustand befindet.
  • Der (nicht gezeigte) Kontrollserver kann durch Fernzugriff auf den Server des DBMS zugreifen, um eine Abfrage und/oder eine Eingabe und/oder eine Löschung von Daten in der Datenbank durchzuführen.
  • Das Deadlock-System 102 bezieht sich auf ein oder mehrere Systeme, in denen ein Deadlock aufgetreten ist, und kann von einem sich in einem normalen Zustand befindlichen System unterschieden werden.
  • Der Deadlock des Datenbankmanagementsystems kann als Zustand definiert werden, in dem die Datenabfrage innerhalb der Datenbank aufgrund einer Verzögerung der Betriebszeit in einem Teil der sequentiell verknüpften Sitzungen verzögert oder angehalten wird.
  • Wenn beispielsweise die Verzögerung der Betriebszeit 10 Minuten oder mehr beträgt, kann das Kontrollsystem 101 feststellen, dass sich die Datenbank in einem Deadlock-Zustand befindet, und kann außerdem den Schweregrad des Deadlocks bestimmen.
  • Das Log-System 103 kann ein System sein, das eine Historie der vom Kontrollsystem 101 erkannten Deadlock-Ereignisse, den Zeitpunkt der Ereignisse usw. als Log-Datei erzeugt. Die Log-Datei kann je nach Bedarf als Datentyp im Datenbankserver definiert sein, und der (nicht gezeigte) Kontrollserver kann einen (nicht gezeigten) Log-Server aufweisen, der Informationen darüber, ob sich das Datenbankmanagementsystem in einem Deadlock-Zustand befindet, als Log-Datei speichert.
  • Da das Log-System 103 die Deadlock-Historie der Datenbank speichern und verwalten kann, kann die Log-Datei die Genauigkeit und Geschwindigkeit der nachfolgenden Verarbeitung des Deadlocks verbessern.
  • Das Analysesystem 104 kann ein System sein, das auf der Grundlage der vom Log-System 103 erzeugten Informationen einen Systemausfall verhindert und Folgemaßnahmen als statistische Daten analysiert und verwaltet.
  • Das Alarmsystem 105 kann ein System sein, das dem Administrator-Terminal 106 Informationen über einen im Deadlock-System 102 aufgetretenen Deadlock in Form eines mobilen Alarms zur Verfügung stellt.
  • Das Benachrichtigungssystem 105 kann einen (nicht gezeigten) Kommunikationsserver aufweisen, der eine Meldung an das Administrator-Terminal sendet, wenn der (nicht gezeigte) Kontrollserver feststellt, dass sich das Datenbankmanagementsystem in einem Deadlock-Zustand befindet.
  • Das Nutzerterminal 106 kann ein mobiles Gerät wie etwa ein Smartphone sein, das die in Form eines mobilen Alarms bereitgestellten Informationen empfangen, die Informationen an den Administrator senden und die Informationen überprüfen kann.
  • Auf dem Nutzerterminal 106 kann die Administratorauthentifizierung über ein mobiles Authentifizierungsmittel - z.B. die FIDO-Administrator-Authentifizierung - verarbeitet werden, und ein Befehl zum Auflösen eines Deadlocks kann über den (nicht gezeigten) Kommunikationsserver an den (nicht gezeigten) Kontrollserver gesendet werden.
  • Der (nicht gezeigte) Kontrollserver kann einen Befehl ausführen, indem er den Befehl nur dann an den Datenbankserver sendet, wenn ein Antwortsignal ein vorkonfiguriertes Kriterium erfüllt, z.B. wenn der Nutzer einen Bildbereich anklickt oder berührt oder die mobile Authentifizierung des Nutzers erfolgreich ist.
  • Außerdem kann der (nicht gezeigte) Kontrollserver auf der Grundlage eines Eingangssignals des Administrators die Datenbank bestimmen, an die der Befehl zu senden ist, Datenbanken im Deadlock entsprechend einem vorkonfigurierten Kriterium anordnen und Informationen über die Reihenfolge der Anordnung über den (nicht gezeigten) Kommunikationsserver an das Nutzerterminal 106 senden.
  • Das Authentifizierungssystem 107 kann ein Cloud-Server sein, der die Authentifizierung des Administrators (FIDO-Authentifizierung) im Nutzerterminal 106 verarbeiten kann.
  • Das Wiederherstellungssystem 108 kann ein System sein, das überprüfen kann, ob der vom Nutzerterminal 106 gesendete Befehl verarbeitet werden kann, und das den Deadlock der Datenbank oder der Sitzung durch den Wiederherstellungsmodus auflösen kann. Bei dem Wiederherstellungssystem 108 kann es sich um den oben beschriebenen Kontrollserver handeln.
  • Das normale System 109 kann ein System sein, das durch Anwendung eines vom Wiederherstellungssystem 108 empfangenen Befehls aus einem Deadlock in einen normalen Zustand übergegangen ist.
  • Wie in dem oben beschriebenen Flussdiagramm kann die Betriebsunfähigkeit von Produktionsanlagen und das Anhalten einer Produktionslinie, die aufgrund einer Betriebsverzögerung oder eines Ausfalls einer Datenbank auftreten können, wirksam verhindert werden, indem der gesamte Lebenszyklusprozess durchgeführt wird, der die Erkennung eines Deadlocks eines Systems, die Erfassung und Analyse statistischer Daten, die Benachrichtigung und Authentifizierung eines Administrators und die Beseitigung eines Deadlocks umfasst.
  • 6 veranschaulicht einen Prozess, in dem Daten aktualisiert werden und ein Deadlock in einer Datenbank erzeugt wird.
  • Mit Bezug auf 6 können Datenaktualisierungs- und Deadlock-Erzeugungsprozesse in verschiedenen Datenbanken auf anschauliche Weise verglichen werden.
  • Die Datenbank 1000 kann eine erste Datenbank 1001 und eine zweite Datenbank 1002 umfassen, und die in den einzelnen Datenbanken gespeicherten Daten können sich im Laufe der Zeit ändern.
  • Wenn sich die in jeder Datenbank 1001, 1002 gespeicherten Daten z.B. auf die Leistung der Fahrzeugproduktion beziehen, z.B. die Anzahl der produzierten Fahrzeuge, kann sich die in der Datenbank gespeicherte Anzahl der produzierten Fahrzeuge entsprechend den sequentiellen zeitlichen Änderungen t1, t2, t3, t4 ändern.
  • Die Datenaktualisierungen der einzelnen Datenbanken 1001, 1002 können zur gleichen Zeit durchgeführt werden, können aber abhängig von den Situationen der Datenbank auch zu einem anderen Zeitpunkt als die anderen durchgeführt werden.
  • Die in der ersten Datenbank 1001 und der zweiten Datenbank 1002 zu einem ersten Zeitpunkt t1 gespeicherten Daten können dieselben sein wie die von 100 Fahrzeugen.
  • Zu einem zweiten Zeitpunkt t2 können die in der ersten Datenbank 1001 und der zweiten Datenbank 1002 gespeicherten Daten als 101 Fahrzeuge aktualisiert werden.
  • Zu einem dritten Zeitpunkt t3 werden die in der ersten Datenbank 1001 gespeicherten Daten als 102 Fahrzeuge aktualisiert, aber die in der zweiten Datenbank 1002 gespeicherten Daten können als 101 Fahrzeuge beibehalten werden. In diesem Fall kann aufgrund der Differenz zwischen den Daten ein Deadlock in der Datenbank auftreten.
  • Um den Deadlock in der Datenbank aufzulösen, können die in den Datenbanken 1001, 1002 gespeicherten Daten identisch gehalten werden, indem die Sitzungen angehalten und die Daten der zweiten Datenbank 1002, die nicht aktualisiert wurden, zwangsweise aktualisiert werden. Mit dem oben beschriebenen Prozess können Sitzungen durch einen im Server gespeicherten Befehl oder einen vom Administrator-Terminal gesendeten Befehl angehalten und wieder aufgenommen werden.
  • Die Datenaktualisierung in der Datenbank wurde der Einfachheit halber anhand eines einzigen Datensatzes beschrieben; es können jedoch auch innerhalb einer Datenbank aufgrund der Aggregation mehrerer Daten in einer Tabelle oder dergleichen mehrere Deadlock-Situationen auftreten.
  • In einer Vielzahl von Deadlock-Situationen kann die Beseitigung eines Deadlocks durch Einstellen einer hohen Priorität für eine vorangehende Sitzung in Bezug auf die Betriebszeit aus sequentiell verknüpften Sitzungen und Einstellen einer niedrigen Priorität für eine nachfolgende Session in Bezug auf die Betriebszeit durchgeführt werden. Der oben beschriebene Prozess zur Schweregradbestimmung kann während dieses Prozesses weiter durchgeführt werden.
  • Zu einem vierten Zeitpunkt t4 wird der Deadlock in einen normalen Zustand zurückgeführt, da die in der ersten Datenbank 1001 und der zweiten Datenbank 1002 gespeicherten Daten die gleichen sind wie die von 102 Fahrzeugen, und die Sitzungen können normal arbeiten.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • KR 1020210173946 [0001]

Claims (15)

  1. Verfahren zur Erkennung eines Deadlocks eines Datenbankmanagementsystems und zur Deadlock-Beseitigung, wobei das Verfahren Folgendes umfasst: Aktualisierung von Daten, die in einem ersten Server und einem zweiten Server gespeichert sind; Deadlock-Erkennung, bei der durch Vergleichen der Daten des ersten Servers mit Daten des zweiten Servers ermittelt wird, ob sich das Datenbankmanagementsystem in einem Deadlock-Zustand befindet; und Deadlock-Beseitigung, bei der durch Änderung der Daten eines Servers, so dass die Daten des ersten Servers und des zweiten Servers identisch sind, der Deadlock aufgelöst wird.
  2. Verfahren nach Anspruch 1, wobei der erste und der zweite Server zumindest eine oder mehrere Sitzungen enthalten, in denen eine Verbindung zwischen einem Client und einem Server aufrechterhalten wird, und der Deadlock als Zustand definiert ist, in dem Operationen der Sitzungen des ersten und zweiten Servers angehalten sind.
  3. Verfahren nach Anspruch 1 oder 2, wobei bei der Deadlock-Erkennung der Deadlock durch Überwachen von in jedem Server gespeicherten Daten über einen mit dem ersten und dem zweiten Server kommunizierenden Kontrollserver erkannt wird.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Deadlock-Beseitigung das Anhalten einer Sitzung des ersten Servers und das Wiederaufnehmen der Sitzung des ersten Servers nach der Änderung der Daten des ersten und zweiten Servers, so dass sie identisch sind, umfasst.
  5. Verfahren nach einem der vorhergehenden Ansprüche, das ferner die Klassifizierung von Servern im Deadlock in der Reihenfolge des Zeitpunkts des Auftretens des Deadlocks und die Bestimmung der Reihenfolge der Priorität des Deadlocks umfasst.
  6. Verfahren nach einem der vorangehenden Ansprüche, das ferner das Senden eines Alarms umfasst, der Informationen über den Deadlock an ein Administrator-Terminal überträgt, wenn die Deadlock-Erkennung den Deadlock des Systems erkennt.
  7. Verfahren nach Anspruch 6, das ferner die Authentifizierung eines Administrators umfasst, bei der die Rechte eines Nutzers authentifiziert werden, der über eine an das Administrator-Terminal gesendete Verbindung auf ein System zugreift.
  8. System zur Erkennung eines Deadlocks eines Datenbankmanagementsystems und zur Deadlock-Beseitigung, wobei das System Folgendes umfasst: einen Kontrollserver, der Daten eines Servers eines Datenbankmanagementsystems (DBMS) überwacht und ermittelt, ob ein Deadlock im Datenbankmanagementsystem aufgetreten ist; und einen Kommunikationsserver, der eine Meldung an ein Administrator-Terminal sendet, wenn der Kontrollserver feststellt, dass sich das Datenbankmanagementsystem in einem Deadlock-Zustand befindet, wobei der Kommunikationsserver den Deadlock des Datenbankmanagementsystems auflöst, indem ein Befehl des Administrators an den Kontrollserver gesendet wird.
  9. System nach Anspruch 8, wobei der Deadlock des Datenbankmanagementsystems als Zustand definiert ist, in dem die Datenabfrage in der Datenbank aufgrund einer Betriebszeitverzögerung in einem Teil der sequentiell verknüpften Sitzungen verzögert ist.
  10. System nach Anspruch 8 oder 9, wobei der Kontrollserver einen Fernzugriff auf den Server des Datenbankmanagementsystems ausführt und eine Abfrage und/oder eine Eingabe und/oder eine Löschung von Daten innerhalb der Datenbank durchführt.
  11. System nach einem der Ansprüche 8 bis 10, wobei der Kontrollserver ferner einen Log-Server zum Speichern von Informationen darüber, ob sich das Datenbankmanagementsystem in einem Deadlock-Zustand befindet, als Log-Datei aufweist.
  12. System nach einem der Ansprüche 8 bis 11, wobei der Kommunikationsserver ein Antwortsignal einer an das Administrator-Terminal gesendeten Meldung empfängt und das empfangene Antwortsignal an den Kontrollserver sendet und der Kontrollserver den Befehl nur dann ausführt, wenn das Antwortsignal ein vorkonfiguriertes Kriterium erfüllt.
  13. System nach einem der Ansprüche 8 bis 12, wobei der Kontrollserver auf der Grundlage eines Eingangssignals des Administrators eine Datenbank bestimmt, an die der Befehl zu senden ist.
  14. System nach Anspruch 13, wobei das Eingangssignal des Administrators erzeugt wird, wenn ein Bildbereich einer Datenbank, für die ein Deadlock aufzulösen ist, angeklickt oder berührt wird.
  15. System nach einem der Ansprüche 8 bis 14, wobei der Kontrollserver Datenbanken in einem Deadlock entsprechend einem vorkonfigurierten Kriterium anordnet und Informationen über die Anordnungspriorität über den Kommunikationsserver an das Administrator-Terminal sendet.
DE102022132369.2A 2021-12-07 2022-12-06 Erkennung und beseitigung von deadlocks in einem datenbankmanagementsystem Pending DE102022132369A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0173946 2021-12-07
KR1020210173946A KR20230085610A (ko) 2021-12-07 2021-12-07 데이터베이스 관리 시스템의 교착상태 감지 및 복구 방법

Publications (1)

Publication Number Publication Date
DE102022132369A1 true DE102022132369A1 (de) 2023-06-07

Family

ID=86382121

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022132369.2A Pending DE102022132369A1 (de) 2021-12-07 2022-12-06 Erkennung und beseitigung von deadlocks in einem datenbankmanagementsystem

Country Status (4)

Country Link
US (1) US20230176943A1 (de)
KR (1) KR20230085610A (de)
CN (1) CN116244087A (de)
DE (1) DE102022132369A1 (de)

Also Published As

Publication number Publication date
CN116244087A (zh) 2023-06-09
US20230176943A1 (en) 2023-06-08
KR20230085610A (ko) 2023-06-14

Similar Documents

Publication Publication Date Title
DE69911681T2 (de) Verfahren zum Verfolgen von Konfigurationsänderungen in Netzwerken von Rechnersystemen durch historische Überwachung des Konfigurationsstatus der Vorrichtungen im Netzwerk
DE112012000797B4 (de) Mehrfach-Modellierungsparadigma für eine Vorhersageanalytik
DE69936152T2 (de) System und verfahren zur dynamischen korrelation von ereignissen
DE102012223167B4 (de) Gemeinsame Nutzung von Artefakten zwischen kollaborativen Systemen
DE112011102242T5 (de) Vorrichtung zum Verarbeiten einer Stapelarbeitseinheit
DE112010004238T5 (de) Intelligente rollierende Aufrüstung für Datenspeichersysteme
DE112013000465B4 (de) Verwaltung einer fernen Datenreplikation
DE112020004623T5 (de) Ml-basierte ereignishandhabung
WO2008071448A1 (de) Computerimplementiertes system zur analyse, verwaltung, beherrschung, bewirtschaftung und überwachung einer komplexen hardware-/softwarearchitektur
DE112013006475T5 (de) Verwaltungssystem und Verfahren zur Unterstützung einer Analyse in Bezug auf eine Hauptursache eines Ereignisses
DE112012002631T5 (de) Stream-Verarbeitung unter Verwendung einer Client-Server-Architektur
DE102014108249A1 (de) Realisieren erweiterter Fehlerbehandlung für einen gemeinsam genutzten Adapter in einem virtualisierten System
DE102005049055A1 (de) Verfahren, um Ereignisse in einem Systemereignisprotokoll in eine Reihenfolge zu bringen
EP1711892B1 (de) Verfahren zum bestimmen eines übernahmeszenarios der softwareeinheiten bei einem rechnerausfall in einer serverfarm
DE112013006588T5 (de) Verwaltungssystem zum Verwalten eines Computersystems und Verwaltungsverfahren hierfür
DE202017106569U1 (de) Analyse grossangelegter Datenverarbeitungsaufträge
DE112012004247T5 (de) Passives Überwachen virtueller Systeme unter Verwendung einer erweiterbaren Indexierung
DE112018001290T5 (de) Verfahren zum Schätzen der Löschbarkeit von Datenobjekten
DE102012218699A1 (de) Passives überwachen virtueller systeme mittels agentenlosem offline-indexieren
DE102021130957A1 (de) Empfehlungen zur stabilität von software-aktualisierungen
WO2006094827A2 (de) Testvorrichtung zur überprüfung einer stapelverarbeitung
DE112012000274B4 (de) Schutz der Unversehrtheit von Daten auf Speicherdatenträgern
DE112011101759T5 (de) Sampling von Leerlauftransitionen
EP4298521A1 (de) Vorhersagen eines bevorstehenden auftretens einer funktionsstörung anhand einer log-daten analyse
DE102005027977A1 (de) System und Verfahren zur Hochkapazitätsfehlerkorrelation

Legal Events

Date Code Title Description
R012 Request for examination validly filed