DE112011100536T5 - Transaktionsverarbeitungssystem - Google Patents

Transaktionsverarbeitungssystem Download PDF

Info

Publication number
DE112011100536T5
DE112011100536T5 DE112011100536T DE112011100536T DE112011100536T5 DE 112011100536 T5 DE112011100536 T5 DE 112011100536T5 DE 112011100536 T DE112011100536 T DE 112011100536T DE 112011100536 T DE112011100536 T DE 112011100536T DE 112011100536 T5 DE112011100536 T5 DE 112011100536T5
Authority
DE
Germany
Prior art keywords
processing operation
diagnostic
processing
area
notification
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.)
Ceased
Application number
DE112011100536T
Other languages
English (en)
Inventor
Colin Ronald Penfold
Paul Johnson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112011100536T5 publication Critical patent/DE112011100536T5/de
Ceased legal-status Critical Current

Links

Images

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/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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error 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 the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server 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/466Transaction processing
    • 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/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • 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/0784Routing of error reports, e.g. with a specific transmission path or data flow
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Verfahren zum Bearbeiten einer Arbeitseinheit in einem Transaktionsverarbeitungssystem, wobei das System Folgendes umfasst: einen oder mehrere Produktionsbereiche, die ein Mindestmaß an oder keine Diagnosefunktionen verwenden, und einen oder mehrere Diagnosebereiche, die ein Höchstmaß an oder vollständige Diagnosefunktionen verwenden. Das Verfahren umfasst die folgenden Schritte: Empfangen einer Arbeitseinheit, Weiterleiten des Verarbeitungsvorgangs an einen Produktionsbereich, Empfangen einer Benachrichtigung, dass der Verarbeitungsvorgang fehlgeschlagen ist, und Weiterleiten des Verarbeitungsvorgangs an einen Diagnosebereich.

Description

  • Diese Erfindung betrifft ein Verfahren zur Bearbeitung einer Arbeitseinheit in einem Transaktionsverarbeitungssystem und das System selbst. In einer Ausführungsform stellt die Erfindung die automatische Wiederholung von Transaktionen mit einer Fehlerdiagnostik bereit.
  • Im Bereich der Datenverarbeitung ist die Transaktionsverarbeitung eine Art von Datenverarbeitung, bei der Vorgänge in einzelne unteilbare Arbeitseinheiten aufgeteilt werden, die als Transaktionen bezeichnet werden. Jede Transaktion muss als eine vollständige Einheit erfolgreich sein oder fehlschlagen und kann nicht in einem Zwischenzustand bleiben. Die Transaktionsverarbeitung soll ein Computersystem, wie zum Beispiel eine Datenbank, in einem bekannten, einheitlichen Zustand erhalten. Dies wird dadurch erreicht, dass alle voneinander abhängigen Vorgänge im System ausgeführt werden, wobei alle erfolgreich ausgeführt oder alle erfolgreich abgebrochen werden. Beispielsweise ist eine typische Banktransaktion, die das Umschichten von Geld vom Sparbuch eines Kunden auf dessen Bankkonto beinhaltet, für die Bank eine einzige Transaktion, beinhaltet jedoch hinsichtlich der Datenverarbeitung mindestens zwei getrennte Vorgänge. Bei diesen Vorgängen handelt es sich um die Abbuchung vom Sparbuch und die Gutschrift auf dem Bankkonto. Aus diesem Beispiel ist ersichtlich, dass alle Vorgänge in der Transaktion entweder erfolgreich sein oder fehlschlagen müssen, so dass niemals eine Inkonsistenz in der Bankendatenbank auftritt. Die Transaktionsverarbeitung soll dies bereitstellen.
  • Die Transaktionsverarbeitung ermöglicht es, dass mehrere einzelne Vorgänge automatisch zu einer einzigen, unteilbaren Transaktion verbunden werden. Das Transaktionsverarbeitungssystem stellt sicher, dass entweder alle Vorgänge in einer Transaktion fehlerfrei ausgeführt werden oder keiner von diesen ausgeführt wird. Wenn einige der Vorgänge ausgeführt werden, bei der versuchten Ausführung der anderen jedoch Fehler auftreten, setzt das Transaktionsverarbeitungssystem alle Vorgänge der Transaktion einschließlich der erfolgreichen zurück, wobei alle Spuren der Transaktion gelöscht werden und das System in seinen vorangegangenen einheitlichen, bekannten Zustand zurückgeführt wird. Wenn alle Vorgänge einer Transaktion erfolgreich ausgeführt worden sind, wird die Transaktion vom System festgeschrieben, und alle Änderungen an der Datenbank werden permanent gespeichert.
  • Transaktionsverarbeitungssystemen stehen normalerweise Diagnosefunktionen zur Verfügung, um den Grund von Fehlern in einem System zu erkennen, das oftmals viele tausend Transaktionen pro Sekunde ausführen kann. Eine Art von Diagnosefunktion ist die Verwendung von „Tracing”, worunter die Überwachung einer Transaktion bei deren Ausführung im Transaktionsverarbeitungssystem zu verstehen ist, wobei Daten über die Transaktion auf eine festgelegte Weise in einer bekannten Speicherstelle gespeichert werden, wenn die Transaktion ausgeführt wird. Dies ermöglicht einem Administrator die Rückverfolgung des Verhaltens jeder spezifischen Transaktion, die fehlschlägt, und unterstützt bei der Erkennung des eigentlichen Problems, das den Fehlschlag der Transaktion verursachte.
  • Zur Optimierung der Leistungsfähigkeit des gesamten Transaktionsverarbeitungssystems sind Produktionstransaktionssysteme normalerweise so konfiguriert, dass ein Mindestmaß an Tracing aktiv ist. Wenn ein Problem auftritt, wird die Problemdiagnose dadurch sehr schwierig, und normalerweise ist es erforderlich, dass ein Benutzer die spezielle fehlgeschlagene Transaktion wiederholt. Dies ist sowohl zeitaufwändig als auch fehleranfällig. In vielen Fällen können Probleme vom Benutzer nicht nachvollzogen werden, da sich die Systemkonfiguration seit dem Versuch und dem Fehlschlag der ursprünglichen Transaktion geändert hat, so dass das Problem nicht wieder auftritt. Dies bedeutet jedoch nicht, dass das Problem gelöst wurde, da spätere Änderungen zu einem erneuten Auftreten des Problems führen können.
  • Eine Aufgabe der Erfindung ist daher eine Verbesserung des bekannten Standes der Technik.
  • Unter einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zur Bearbeitung einer Arbeitseinheit in einem Transaktionsverarbeitungssystem bereitgestellt, wobei das System Folgendes umfasst: einen oder mehrere Produktionsbereiche (production regions), die ein Mindestmaß an oder keine Diagnosefunktionen verwenden, und einen oder mehrere Diagnosebereiche (diagnostic regions), die ein Höchstmaß an oder vollständige Diagnosefunktionen verwenden, wobei das Verfahren die folgenden Schritte umfasst: Empfangen einer Arbeitseinheit, Weiterleiten des Verarbeitungsvorgangs an einen Produktionsbereich, Empfangen einer Benachrichtigung, dass der Verarbeitungsvorgang fehlgeschlagen ist, und Weiterleiten des Verarbeitungsvorgangs an einen Diagnosebereich.
  • Unter einem zweiten Aspekt der vorliegenden Erfindung wird ein Transaktionsverarbeitungssystem zum Bearbeiten einer Arbeitseinheit bereitgestellt, das Folgendes umfasst: einen oder mehrere Produktionsbereiche, die ein Mindestmaß an oder keine Diagnosefunktionen verwenden, und einen oder mehrere Diagnosebereiche, die ein Höchstmaß an oder vollständige Diagnosefunktionen verwenden, wobei das System so angeordnet ist, dass es eine Arbeitseinheit empfängt, den Verarbeitungsvorgang an einen Produktionsbereich weiterleitet, eine Benachrichtigung empfängt, dass der Verarbeitungsvorgang fehlgeschlagen ist, und den Verarbeitungsvorgang an einen Diagnosebereich weiterleitet.
  • Unter einem dritten Aspekt der vorliegenden Erfindung wird ein Computerprogrammprodukt auf einem computerlesbaren Medium zum Bearbeiten einer Arbeitseinheit in einem Transaktionsverarbeitungssystem bereitgestellt, wobei das System einen oder mehrere Produktionsbereiche, die ein Mindestmaß an oder keine Diagnosefunktionen verwenden, und einen oder mehrere Diagnosebereiche umfasst, die ein Höchstmaß an oder vollständige Diagnosefunktionen verwenden, wobei das Produkt Befehle zum Empfangen einer Arbeitseinheit, zum Weiterleiten des Verarbeitungsvorgangs an einen Produktionsbereich, zum Empfangen einer Benachrichtigung, dass der Verarbeitungsvorgang fehlgeschlagen ist, und zum Weiterleiten des Verarbeitungsvorgangs an einen Diagnosebereich umfasst.
  • Dank der Erfindung ist die Bereitstellung eines Transaktionsverarbeitungssystems möglich, in dem Produktionsbereiche, die Verarbeitungsvorgänge verarbeiten, durch wenig oder keine Fehlerdiagnostik verlangsamt werden, eine Fehlerdiagnostik jedoch in einer Transaktion verwendet werden kann, wenn sie fehlschlägt, so dass Diagnosedaten sofort verfügbar sind, falls die Wiederholung des Verarbeitungsvorgangs fehlschlagen sollte. Zu den Vorteilen der Erfindung gehören eine verbesserte Fehlerdiagnose, eine geringere Wahrscheinlichkeit für Trace Wrapping, wie es in einem ausgelasteten System auftreten würde, die automatische Erfassung von zusätzlichen Diagnosedaten ohne Benutzer- oder Bedienerintervention und die Wahrscheinlichkeit einer schnelleren und kostengünstigeren Diagnose von Problemen. Unter Trace Wrapping ist der Verlust von Diagnosedaten aufgrund einer unzureichenden Speicherkapazität zu verstehen, die für diese festgelegt war.
  • Das Transaktionsverarbeitungssystem ist mit einem Terminalverwaltungsbereich (terminal/input request owning region – TOR) und mehreren geklonten Anwendungsverwaltungsbereichen (application owning regions – AORs) konfiguriert. Benutzeranforderungen werden vom TOR zur Ausführung an einen AOR geleitet. Wenn ein Fehler im AOR auftritt, kann der TOR die Transaktion automatisch an einen anderen AOR mit einer zusätzlichen oder vollständig aktivierten Fehlerdiagnostik leiten und die Anforderung wiederholen, anstatt den TOR den Fehler zurück an den Benutzer übertragen zu lassen. Wenn die Anforderung funktioniert, ist dies vertretbar, der Benutzer muss dies nicht erfahren. Wenn der Verarbeitungsvorgang fehlschlägt, besteht eine viel größere Wahrscheinlichkeit, dass eine ausreichende Fehlerdiagnostik zum Diagnostizieren des Problems vorhanden ist.
  • Vorzugsweise umfasst das Verfahren nach der Benachrichtigung, dass der Verarbeitungsvorgang fehlgeschlagen ist, außerdem das Überprüfen, ob der Diagnosebereich verfügbar ist, bevor der Verarbeitungsvorgang an diesen weitergeleitet wird. Die Verfügbarkeit des Diagnosebereichs kann überprüft werden, bevor eine neue Wiederholung an diesen Bereich übertragen wird. Dadurch wird sichergestellt, dass nicht zu viele weitergeleitete Anforderungen an die Diagnosebereiche übertragen werden. Wenn mehr als ein Diagnosebereich verwendet wird, können die Verarbeitungsvorgänge zwischen den mehreren Bereichen ausgeglichen werden, um sicherzustellen, dass nicht ein Bereich mit den Wiederholungen überlastet wird. Im Allgemeinen wird dem Diagnosebereich bzw. den Diagnosebereichen ein wesentlich geringerer Anteil an System-Ressourcen zugewiesen, und daher arbeiten sie mit einer geringeren Geschwindigkeit als Produktionsbereiche.
  • Vorteilhafterweise umfasst das Verfahren nach dem Empfangen einer Benachrichtigung, dass der Verarbeitungsvorgang fehlgeschlagen ist, das Überprüfen, ob der Verarbeitungsvorgang wiederholt werden kann und muss, bevor er an den Diagnosebereich übertragen wird. Aufgrund von Aspekten der Vorgänge in der Transaktion sind bestimmte Arten von Transaktionen möglicherweise für eine Wiederholung nicht geeignet. Beispielsweise kann der Transaktionsname verwendet werden, um zu kennzeichnen, ob die Transaktion wiederherstellbar oder nicht wiederherstellbar ist, und diese Daten können verwendet werden, um zu entscheiden, ob der fehlgeschlagene Verarbeitungsvorgang an den Diagnosebereich weitergeleitet wird oder nicht.
  • Idealerweise umfasst das Verfahren nach der Weiterleitung des Verarbeitungsvorgangs an den Diagnosebereich außerdem das Empfangen einer weiteren Benachrichtigung, dass der Verarbeitungsvorgang erneut fehlgeschlagen ist, und das Erfassen der Diagnosedaten. Falls der Verarbeitungsvorgang nach seiner Wiederholung im Diagnosebereich fehlschlägt, kann das System so konfiguriert werden, dass es automatisch spezifische Diagnosedaten erfasst, die mit allen anderen verfügbaren Daten über die Arbeitseinheit (zum Beispiel die durch ein vorhandenes Tracing der Arbeitseinheit gesammelten Daten) gespeichert werden. Dadurch werden einem Administrator, der die Ursachen und Auswirkungen des den Fehlschlag der Arbeitseinheit verursachenden Systemfehlers untersuchen muss, so viele Daten wie möglich geliefert.
  • Vorzugsweise umfasst das Verfahren nach dem Weiterleiten des Verarbeitungsvorgangs an den Diagnosebereich außerdem das Empfangen einer weiteren Benachrichtigung, dass der Verarbeitungsvorgang erfolgreich war, und das entsprechende Benachrichtigen der Quelle des Verarbeitungsvorgangs. Wenn die Arbeitseinheit nach der Wiederholung im Diagnosebereich tatsächlich erfolgreich war, kann das Transaktionsverarbeitungssystem so konfiguriert werden, dass es den ursprünglichen Fehler ignoriert und die Verarbeitung auf der Grundlage fortsetzt, dass der Verarbeitungsvorgang ausgeführt und festgeschrieben wurde. Die Quelle des Verarbeitungsvorgangs kann benachrichtigt werden, dass der Verarbeitungsvorgang erfolgreich war, und das System kann seine Verarbeitung wie gewohnt fortsetzen. Dadurch wird der erzeugte Fehlerverwaltungsaufwand verringert und ein widerstandsfähigeres Transaktionsverarbeitungssystem bereitgestellt, das weniger Fehler bezüglich fehlschlagender Arbeitseinheiten erzeugt.
  • Nun werden Ausführungsformen der vorliegenden Erfindung lediglich beispielhaft mit Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen:
  • 1 eine schematische Darstellung eines Transaktionsverarbeitungssystems ist,
  • 2 eine weitere schematische Darstellung des Transaktionsverarbeitungssystems ist, das die Weiterleitung einer Arbeitseinheit zeigt,
  • 3 ein Ablaufdiagramm eines Verfahrens zum Betreiben des Transaktionsverarbeitungssystem ist, und
  • 4 ein Kommunikationsdiagramm des Arbeitsflusses im System ist.
  • 1 zeigt ein Beispiel eines Transaktionsverarbeitungssystems aus einer logischen Perspektive. Das System umfasst einen oder mehrere Produktionsbereiche 10, in diesem Beispiel vier Produktionsbereiche 10, und einen oder mehrere Diagnosebereiche 12, in diesem Beispiel einen Diagnosebereich 12. Es wird ein Weiterleitungsbereich 14 bereitgestellt, der den Arbeitsfluss zu den Produktionsbereichen 10 und zum Diagnosebereich 12 steuert. Es wird ein einziger Weiterleitungsbereich 14 gezeigt, jedoch kann mehr als ein Weiterleitungsbereich 14 vorhanden sein. Ein Weiterleitungsprogramm 20 leitet Verarbeitungsvorgänge an Anwendungsprogramme 16 und 18 weiter, die sich in den Produktionsbereichen 10 bzw. im Diagnosebereich 12 befinden. Benutzeranforderungen (auch als Transaktionen oder Arbeitseinheiten bezeichnet) kommen im Weiterleitungsbereich 14 an, um an den zuständigen Bereich 10 oder 12 weitergeleitet zu werden.
  • Im Transaktionsverarbeitungssystem von 1 verwenden die Produktionsbereiche 10 ein Mindestmaß an oder keine Diagnosefunktionen, und der Diagnosebereich 12 verwendet ein Höchstmaß an oder vollständige Diagnosefunktionen. Diagnosefunktionen, wie zum Beispiel Tracing, müssen für spezifische Bereiche manuell durch einen Bediener oder automatisch unter Verwendung von Konfigurationsdaten aktiviert werden. Diese Funktionen schaffen die Voraussetzungen für die Erfassung und Aufzeichnung von Daten über Arbeitseinheiten, wenn der Verarbeitungsvorgang im entsprechenden Bereich ausgeführt wird. Während der Hauptvorteil dieser Funktionen darin besteht, dass sie im Falle eines Fehlers eine große Datenmenge bereitstellen, liegt der Hauptnachteil darin, dass sie die Verarbeitung in den Bereichen verlangsamen.
  • Die Darstellung von 1 ist eine logische Darstellung der verschiedenen Bereiche 10 und 12. In der Realität erfüllt eine gemeinsam genutzte Hardware den Verarbeitungs- und Speicherbedarf der verschiedenen Bereiche 10 und 12. Den verschiedenen Bereichen 10 und 12 wird eine spezifische Menge an CPU-Ressourcen zugewiesen, und im Allgemeinen wird den Produktionsbereichen 10 der größte Teil der CPU-Ressourcen zugewiesen, während dem Diagnosebereich 12 nur eine geringe Menge an CPU-Ressourcen zugewiesen wird. Im Allgemeinen werden die Produktionsbereiche 10 betrieben, um tausende von Benutzeranforderungen pro Sekunde zu verarbeiten, während der Diagnosebereich 12 lediglich in den festgelegten Situationen verwendet wird, wenn Diagnosedaten benötigt werden.
  • Das System ist mit einem oder mehreren Terminalverwaltungsbereichen (TORs) 14 und einer Anzahl von geklonten Anwendungsverwaltungsbereichen (AORs) 10 und 12 konfiguriert. Die meisten der AORs werden für die Verwendung in der Produktion konfiguriert. Einer oder mehrere werden für eine Verwendung bei der Diagnose konfiguriert. Wie in 2 gezeigt wird, tritt eine eintreffende Anforderung 22 in den TOR 14 ein, der die Anforderung 22 an einen Produktions-AOR 10 weiterleitet. Dies kann dynamisch oder statisch erfolgen. Die Arbeitseinheit 22 wird an das Anwendungsprogramm 16 im Produktionsbereich 10 weitergeleitet. Die Anforderung 22 wird im AOR 10 ausgeführt, der Verarbeitungsvorgänge koordiniert, die in anderen Bereichen oder Systemen ausgeführt werden können. Diese Verarbeitungsvorgänge sind möglicherweise wiederherstellbar.
  • Wenn die Anforderung 22 fehlschlägt und wiederherstellbar ist, wird sie zurückgesetzt. Der TOR 14 wird über den Fehler benachrichtigt. Der TOR wiederholt die Anforderung 22 durch Weiterleitung an einen Diagnose-AOR 12, was dynamisch oder statisch erfolgen kann. Die Anforderung 22 wird im Diagnosebereich 12 erfolgreich ausgeführt oder schlägt fehl und benachrichtigt den TOR 14, der die ursprüngliche Quelle des Verarbeitungsvorgangs 22 benachrichtigt. Auf diese Weise werden Transaktionen 22 zuerst an einen Produktionsbereich 10 geleitet, und falls die Transaktion 22 aus irgendeinem Grund fehlschlägt, wird sie an den Diagnosebereich 12 weitergeleitet. Der Verarbeitungsvorgang 22 wird sodann im Diagnosebereich 12 wiederholt.
  • Die Wiederholung kann beispielsweise auf der Grundlage des Transaktionsnamens konfiguriert werden, der auch kennzeichnen würde, ob es sich um eine wiederherstellbare oder eine nicht wiederherstellbare Transaktion handelt. Die Wiederholung könnte auch auf einem Verzweigungscode (bend code) oder einer anderen Fehlerdiagnose und/oder der Verfügbarkeit des Diagnosesystems 10 beruhen, da es nicht wünschenswert wäre, zu viele Anforderungen an einen Bereich weiterzuleiten. Die Wiederholung der Arbeitseinheit 22 im Diagnosebereich 12 führt entweder zu einem Gelingen oder zu einem zweiten Fehlschlag des Verarbeitungsvorgangs 22. Wenn der Verarbeitungsvorgang 22 erfolgreich ist, wird dies an den Weiterleitungsbereich 14 rückübertragen, und der Verarbeitungsvorgang 22 wird auf die normale Weise ausgeführt. Wenn der Verarbeitungsvorgang 22 zum zweiten Mal fehlgeschlagen ist, stehen nun Diagnosedaten zur Verfügung. Eine Wiederholung könnte auch auf anderen Eigenschaften der Anforderung oder Transaktion 22 beruhen. Es kann auch wünschenswert sein, dass sie auf anderen Daten beruht, zum Beispiel ob bereits genügend Diagnosedaten für einen bestimmten Problemtyp erfasst wurden.
  • Ein Ablaufdiagramm, das die Bearbeitung der Arbeitseinheit 22 zusammenfasst, wird in 3 gezeigt. Der erste Schritt besteht darin, dass das Weiterleitungsprogramm 20 den Verarbeitungsvorgang 22 an einen Produktionsbereich 10 überträgt, damit der Verarbeitungsvorgang 22 ausgeführt wird. Der nächste Schritt besteht darin, dass der Verarbeitungsvorgang 22 im Produktionsbereich 10 ausgeführt wird. Das Weiterleitungsprogramm 20 wird benachrichtigt, wenn der Verarbeitungsvorgang 22 erfolgreich war oder fehlgeschlagen ist. Wenn der Verarbeitungsvorgang 22 fehlgeschlagen ist, wird eine Prüfung durchgeführt, um festzustellen, ob der Verarbeitungsvorgang 22 auf eine Weise fehlgeschlagen ist, die wiederholt werden kann, und ob die Verwendung einer Fehlerdiagnose wünschenswert ist. Die Wiederholung kann beispielsweise auf der Grundlage des Transaktionsnamens oder anderer Daten konfiguriert werden, beispielsweise ob bereits genügend Diagnosedaten für einen bestimmten Problemtyp erfasst wurden. Lautet die Antwort nein, endet das Verfahren. An diesem Punkt wird ein herkömmlicher Fehler erzeugt.
  • Wenn im Prüfschritt die Antwort auf die Frage, ob der Verarbeitungsvorgang wiederholt werden kann, ja lautet, überträgt das Weiterleitungsprogramm 20 den Verarbeitungsvorgang 22 zur Ausführung an den Diagnosebereich 12. Der nächste Schritt ist die Ausführung dieses Verarbeitungsvorgangs 22 im Diagnosebereich 12. Dort wird sodann eine Prüfung durchgeführt, um festzustellen, ob der Verarbeitungsvorgang fehlgeschlagen ist. Wenn der Verarbeitungsvorgang nicht fehlgeschlagen ist, endet das Verfahren. An diesem Punkt wurde die ursprüngliche Arbeitseinheit 22 erfolgreich ausgeführt. Die Tatsache, dass dies im Diagnosebereich 12 stattfand, hat keine Folgen, es ist ausreichend, dass der Verarbeitungsvorgang irgendwo im System ausgeführt wurde.
  • Falls der Verarbeitungsvorgang bei der Wiederholung im Diagnosebereich 12 zum zweiten Mal fehlschlägt, wird der Schritt des Erfassens von Diagnosedaten ausgeführt, welcher der letzte Schritt des Prozesses vor der Beendigung ist. Der Schritt des Erfassens von Diagnosedaten erfolgt zusätzlich zu allen Diagnosedaten, die automatisch aufgrund der Tatsache erfasst werden, dass die Arbeitseinheit 22 im Diagnosebereich ausgeführt wurde. Beispielsweise kann ein Speicherauszug des Systems in seinem aktuellen Zustand dazu dienen, so viele Daten wie möglich über die aktuelle Konfiguration zu gewinnen, um eine spätere Fehleranalyse zu unterstützen, die nach dem endgültigen Fehlschlag des Verarbeitungsvorgangs 22 im Diagnosebereich 12 stattfinden könnte.
  • Für jede Transaktion 22, die das System wiederholen könnte, gibt es einen alternativen Bereich 12, der Zugriff auf denselben Satz von Ressourcen hat. Der alternative Bereich 22 dient konstant als „Reserve”, wobei er keine Verarbeitungsvorgänge ausführt mit Ausnahme der Wiederdurchführung von zuvor fehlgeschlagenen Transaktionen 22. Wenn eine Transaktion 22 mit aktivem Tracing in diesem Bereich 12 wiederholt wird, werden sehr wenige andere Transaktionen parallel ausgeführt, die sich störend auf das Verhalten auswirken, und daher ist die Wahrscheinlichkeit eines Gelingens möglicherweise höher. Wenn der ursprüngliche Transaktionsfehler aufgrund von fehlerhaften Daten oder einer fehlerhaften Programmlogik auftrat, würde die wiederholte Transaktion erneut fehlschlagen, und in diesem Fall würde das System gültige Diagnosedaten erfassen.
  • 4 veranschaulicht den Kommunikationsfluss im Transaktionsverarbeitungssystem unter Verwendung der oben beschriebenen Weiterleitung der Arbeitseinheit 22. Der Benutzer leitet als Erstes den Verarbeitungsvorgang 22 ein, der an das Weiterleitungsprogramm 20 übertragen wird, das diesen Verarbeitungsvorgang 22 sodann an einen Produktionsbereich 10 überträgt. Bei einem Fehler dieses Verarbeitungsvorgangs 22 im Produktionsbereich 10 überträgt das Weiterleitungsprogramm 20 den Verarbeitungsvorgang 22 an den Diagnosebereich 12 zur Ausführung des Verarbeitungsvorgangs 22 unter den Diagnosebedingungen. Der Erfolg oder der Fehlschlag dieses Verarbeitungsvorgangs 22 im Diagnosebereich 12 wird an das Weiterleitungsprogramm 20 rückübertragen, das sodann den Benutzer entsprechend benachrichtigt.
  • Auf diese Weise wird ein Transaktionsverarbeitungssystem bereitgestellt, in dem die Produktionsbereiche 10, die einen normalen Verarbeitungsvorgang 22 verarbeiten, durch wenig oder keine Fehlerdiagnostik verlangsamt werden, eine Fehlerdiagnose bei einer Transaktion 22 jedoch verwendet werden kann, wenn sie fehlschlägt, indem der Verarbeitungsvorgang 22 im Diagnosebereich 12 wiederholt wird, so dass Diagnosedaten sofort verfügbar sind, falls die Wiederholung des Verarbeitungsvorgangs noch immer fehlschlägt. Diese Konfiguration des Transaktionsverarbeitungssystems stellt eine verbesserte Transaktionsfehlerdiagnose, die automatische Sammlung zusätzlicher Diagnosedaten ohne Benutzer- oder Bedienerintervention und die Wahrscheinlichkeit einer schnelleren und kostengünstigeren Diagnose von Problemen bereit. Wenn der Verarbeitungsvorgang 22 bei der Wiederholung erfolgreich ist, verringert dies die erzeugte Fehlermenge, ohne dass der Benutzer Kenntnis davon hat, dass eine Wiederholung stattfand.

Claims (15)

  1. Verfahren zum Bearbeiten einer Arbeitseinheit in einem Transaktionsverarbeitungssystem, wobei das System einen oder mehrere Produktionsbereiche, die ein Mindestmaß an oder keine Diagnosefunktionen verwenden, und einen oder mehrere Diagnosebereiche umfasst, die ein Höchstmaß an oder vollständige Diagnosefunktionen verwenden, wobei das Verfahren die folgenden Schritte umfasst: – Empfangen einer Arbeitseinheit, – Weiterleiten des Verarbeitungsvorgangs an einen Produktionsbereich, – Empfangen einer Benachrichtigung, dass der Verarbeitungsvorgang fehlgeschlagen ist, und – Weiterleiten des Verarbeitungsvorgangs an einen Diagnosebereich.
  2. Verfahren nach Anspruch 1, und das nach dem Empfangen einer Benachrichtigung, dass der Verarbeitungsvorgang fehlgeschlagen ist, außerdem das Prüfen umfasst, ob der Diagnosebereich verfügbar ist, bevor der Verarbeitungsvorgang an den Diagnosebereich weitergeleitet wird.
  3. Verfahren nach Anspruch 1 oder 2, und das nach dem Empfangen einer Benachrichtigung, dass der Verarbeitungsvorgang fehlgeschlagen ist, außerdem das Prüfen umfasst, ob der Verarbeitungsvorgang wiederholt werden kann und muss, bevor der Verarbeitungsvorgang an den Diagnosebereich weitergeleitet wird.
  4. Verfahren nach Anspruch 1, 2 oder 3, und das nach dem Weiterleiten des Verarbeitungsvorgangs an den Diagnosebereich außerdem das Empfangen einer weiteren Benachrichtigung, dass der Verarbeitungsvorgang erneut fehlgeschlagen ist, und das Erfassen von Diagnosedaten umfasst.
  5. Verfahren nach einem vorhergehenden Anspruch, und das nach dem Weiterleiten des Verarbeitungsvorgangs an den Diagnosebereich außerdem das Empfangen einer weiteren Benachrichtigung, dass der Verarbeitungsvorgang erfolgreich war, und das entsprechende Benachrichtigen der Quelle des Verarbeitungsvorgangs umfasst.
  6. Transaktionsverarbeitungssystem zum Bearbeiten einer Arbeitseinheit, das einen oder mehrere Produktionsbereiche, die ein Mindestmaß an oder keine Diagnosefunktionen verwenden, und einen oder mehrere Diagnosebereiche umfasst, die ein Höchstmaß an oder vollständige Diagnosefunktionen verwenden, wobei das System für folgende Vorgänge angeordnet ist: – Empfangen einer Arbeitseinheit, – Weiterleiten des Verarbeitungsvorgangs an einen Produktionsbereich, – Empfangen einer Benachrichtigung, dass der Verarbeitungsvorgang fehlgeschlagen ist, und – Weiterleiten des Verarbeitungsvorgangs an einen Diagnosebereich.
  7. System nach Anspruch 6, wobei das System außerdem so angeordnet ist, dass es nach dem Empfangen einer Benachrichtigung, dass der Verarbeitungsvorgang fehlgeschlagen ist, prüft, ob der Diagnosebereich verfügbar ist, bevor der Verarbeitungsvorgang an den Diagnosebereich weitergeleitet wird.
  8. System nach Anspruch 6 oder 7, wobei das System außerdem so angeordnet ist, dass es nach dem Empfangen einer Benachrichtigung, dass der Verarbeitungsvorgang fehlgeschlagen ist, prüft, ob der Verarbeitungsvorgang wiederholt werden kann und muss, bevor der Verarbeitungsvorgang an den Diagnosebereich weitergeleitet wird.
  9. System nach Anspruch 6, 7 oder 8, wobei das System außerdem so angeordnet ist, dass es nach dem Weiterleiten des Verarbeitungsvorgangs an den Diagnosebereich eine weitere Benachrichtigung über den erneuten Fehlschlag des Verarbeitungsvorgangs empfängt und dass es Diagnosedaten erfasst.
  10. System nach einem der Ansprüche 6 bis 9, wobei das System außerdem so angeordnet ist, dass es nach dem Weiterleiten des Verarbeitungsvorgangs an den Diagnosebereich eine weitere Benachrichtigung über das Gelingen des Verarbeitungsvorgangs empfängt und dass es die Quelle des Verarbeitungsvorgangs entsprechend benachrichtigt.
  11. Computerprogrammprodukt in einem computerlesbaren Medium zum Bearbeiten einer Arbeitseinheit in einem Transaktionsverarbeitungssystem, wobei das System einen oder mehrere Produktionsbereiche, die ein Mindestmaß an oder keine Diagnosefunktionen verwenden, und einen oder mehrere Diagnosebereiche umfasst, die ein Höchstmaß an oder vollständige Diagnosefunktionen verwenden, wobei das Produkt Befehle für folgende Vorgänge umfasst: – Empfangen einer Arbeitseinheit, – Weiterleiten des Verarbeitungsvorgangs an einen Produktionsbereich, – Empfangen einer Benachrichtigung, dass der Verarbeitungsvorgang fehlgeschlagen ist, und – Weiterleiten des Verarbeitungsvorgangs an einen Diagnosebereich.
  12. Computerprogrammprodukt nach Anspruch 11, und das außerdem Befehle umfasst, um nach dem Empfangen einer Benachrichtigung, dass der Verarbeitungsvorgang fehlgeschlagen ist, zu prüfen, ob der Diagnosebereich verfügbar ist, bevor der Verarbeitungsvorgang an den Diagnosebereich weitergeleitet wird.
  13. Computerprogrammprodukt nach Anspruch 11 oder 12, und das außerdem Befehle umfasst, um nach dem Empfangen einer Benachrichtigung, dass der Verarbeitungsvorgang fehlgeschlagen ist, zu prüfen, ob der Verarbeitungsvorgang wiederholt werden kann und muss, bevor der Verarbeitungsvorgang an den Diagnosebereich weitergeleitet wird.
  14. Computerprogrammprodukt nach Anspruch 11, 12 oder 13, und das außerdem Befehle umfasst, um nach dem Weiterleiten des Verarbeitungsvorgangs an den Diagnosebereich eine weitere Benachrichtigung zu empfangen, dass der Verarbeitungsvorgang erneut fehlgeschlagen ist, und um Diagnosedaten zu erfassen.
  15. Computerprogrammprodukt nach einem der Ansprüche 11 bis 14, und das außerdem Befehle umfasst, um nach dem Weiterleiten des Verarbeitungsvorgangs an den Diagnosebereich eine weitere Benachrichtigung zu empfangen, dass der Verarbeitungsvorgang erfolgreich war, und um die Quelle des Verarbeitungsvorgangs entsprechend zu benachrichtigen.
DE112011100536T 2010-05-18 2011-04-07 Transaktionsverarbeitungssystem Ceased DE112011100536T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP10163129 2010-05-18
EP10163129.9 2010-05-18
PCT/EP2011/055393 WO2011144386A1 (en) 2010-05-18 2011-04-07 Transaction processing system

Publications (1)

Publication Number Publication Date
DE112011100536T5 true DE112011100536T5 (de) 2013-01-31

Family

ID=44148435

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011100536T Ceased DE112011100536T5 (de) 2010-05-18 2011-04-07 Transaktionsverarbeitungssystem

Country Status (5)

Country Link
US (1) US10042670B2 (de)
CN (1) CN102918507A (de)
DE (1) DE112011100536T5 (de)
GB (1) GB2493242A (de)
WO (1) WO2011144386A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8818963B2 (en) 2010-10-29 2014-08-26 Microsoft Corporation Halloween protection in a multi-version database system
US9195712B2 (en) 2013-03-12 2015-11-24 Microsoft Technology Licensing, Llc Method of converting query plans to native code
US10474645B2 (en) * 2014-02-24 2019-11-12 Microsoft Technology Licensing, Llc Automatically retrying transactions with split procedure execution
US9690672B2 (en) 2015-02-20 2017-06-27 International Business Machines Corporation Acquiring diagnostic data selectively
US10599508B2 (en) * 2017-06-08 2020-03-24 International Business Machines Corporation I/O error diagnostics

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992012479A1 (en) * 1991-01-09 1992-07-23 Verifone, Inc. Novel transaction system structure
AUPR369301A0 (en) * 2001-03-13 2001-04-12 Nokia Networks Oy Diagnosis of fault conditions in embedded systems
US6976193B2 (en) 2001-09-20 2005-12-13 Intel Corporation Method for running diagnostic utilities in a multi-threaded operating system environment
EP1408410A1 (de) * 2002-09-30 2004-04-14 Sap Ag Fernfehlerbeseitigung von Computerprogrammen
JP4283576B2 (ja) 2003-03-27 2009-06-24 株式会社日立製作所 トランザクション同期方法、データベースシステム及びデータベース装置
US7519952B2 (en) * 2003-07-28 2009-04-14 International Business Machines Corporation Detecting an integrity constraint violation in a database by analyzing database schema, application and mapping and inserting a check into the database and application
US8065280B2 (en) * 2003-12-17 2011-11-22 International Business Machines Corporation Method, system and computer program product for real-time data integrity verification
US7646753B2 (en) * 2005-01-10 2010-01-12 Research In Motion Limited Mobile IP registration process for always-on device
US20060190460A1 (en) 2005-02-18 2006-08-24 Oracle International Corporation Method and mechanism of handling reporting transactions in database systems
US8417762B2 (en) * 2007-04-10 2013-04-09 International Business Machines Corporation Mechanism for execution of multi-site jobs in a data stream processing system
US7895475B2 (en) 2007-07-11 2011-02-22 Oracle International Corporation System and method for providing an instrumentation service using dye injection and filtering in a SIP application server environment
US8489938B2 (en) * 2009-09-18 2013-07-16 International Business Machines Corporation Diagnostic data capture in a computing environment
US9367431B2 (en) * 2011-07-01 2016-06-14 Salesforce.Com, Inc. Testing data silo
US8874593B2 (en) * 2011-07-01 2014-10-28 Salesforce.Com, Inc. Testing data silo

Also Published As

Publication number Publication date
GB201210245D0 (en) 2012-07-25
WO2011144386A1 (en) 2011-11-24
CN102918507A (zh) 2013-02-06
GB2493242A (en) 2013-01-30
US20120226945A1 (en) 2012-09-06
US10042670B2 (en) 2018-08-07

Similar Documents

Publication Publication Date Title
DE60318468T2 (de) Verfahren zur lösung von entscheidungslosigkeiten in einem cluster-rechnersystem
DE69219657T2 (de) Fortsetzung der Aufgabe eines fehlerhaften Prozessors von einem alternativen Prozessor
DE112011102242T5 (de) Vorrichtung zum Verarbeiten einer Stapelarbeitseinheit
DE3751949T2 (de) Verfahren zum Starten eines Untersystems in einem verteilten Verarbeitungssystem
EP2211318A1 (de) Verfahren und Vorrichtung zur Scheckeinreichung
DE69913375T2 (de) Anzeige eines fehlers in einem transaktionsverarbeitungssystem
DE112011100536T5 (de) Transaktionsverarbeitungssystem
DE112010004530T5 (de) Transaktionsaktualisierung bei Dynamischen Verteilten Arbeitslasten
EP2056201A2 (de) Verfahren, Rechnersystem und Computerprogrammprodukt
DE102006029138A1 (de) Verfahren und Computerprogrammprodukt zur Detektion von Speicherlecks
DE112014000336T5 (de) Vorablesezugriff für einen übergeordneten Kern in einem Mehrkern-Chip
DE10119876A1 (de) Verfahren, System und Computerprorammprodukt zur Bereitstellung einer Jobüberwachung
DE102008004205A1 (de) Schaltungsanordnung und Verfahren zur Fehlerbehandlung in Echtzeitsystemen
DE69813018T2 (de) Verfahren in bezug auf prozessoren und angepasste prozessoren die in übereinstimmung mit dem verfahren funktionieren
DE102004003102A1 (de) System und Verfahren zum Bestimmen einer Transaktionszeitüberschreitung
DE102006046717A1 (de) Dynamisch migrierende Kanäle
EP2397913A1 (de) Wartungsverfolgungssystem
DE112015004557B4 (de) Anforderungsüberwachen
DE102012210482A1 (de) Verfahren und System zum Migrieren von Geschäftsprozessinstanzen
EP1686471A1 (de) Verfahren zur Steuerung von Softwaremodulen
DE4039013A1 (de) Vorrichtung zur erfassung von informationen ueber fehlfunktionen in einem multiprozessor
DE10324384B3 (de) Behandlung eines Fehlerereignisses bei der Installation eines Anwendungsprogramms in einem tragbaren Datenträger
DE112011103505T5 (de) Verfahren zum Validieren von Laufzeitreferenzen
DE1966991A1 (de) Ausfallgesicherte datenverarbeitungsanlage
DE102004062292B4 (de) Verfahren zur Sicherstellung der Verfügbarkeit von Daten bei Ausfall von mindestens einem Rechner einer Anordnung mit mindestens zwei Rechnern sowie Rechneranordnung zur Durchführung des Verfahrens

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final