DE112010004187T5 - Verfahren und System zum Verarbeiten von Netzwerkereignissen - Google Patents

Verfahren und System zum Verarbeiten von Netzwerkereignissen Download PDF

Info

Publication number
DE112010004187T5
DE112010004187T5 DE112010004187T DE112010004187T DE112010004187T5 DE 112010004187 T5 DE112010004187 T5 DE 112010004187T5 DE 112010004187 T DE112010004187 T DE 112010004187T DE 112010004187 T DE112010004187 T DE 112010004187T DE 112010004187 T5 DE112010004187 T5 DE 112010004187T5
Authority
DE
Germany
Prior art keywords
data
event
processing
thread
server
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
DE112010004187T
Other languages
English (en)
Inventor
David Richard Franklin
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 DE112010004187T5 publication Critical patent/DE112010004187T5/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • 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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

Es werden ein Verfahren und System zum Verarbeiten von Netzwerkereignissen zum Erzeugen mehrerer Ereignisse aus einem einzelnen netzwerkeinheitsbezogenen Ereignis bereitgestellt. Das System enthält eine Netzwerküberwachungseinheit zum Erfassen von Ereignisdaten und ein Verarbeitungssystem zum Empfangen eines eingegebenen Ereignisses von einer Netzwerküberwachungseinheit an einem Verarbeitungsprozessstrang, wobei das Verarbeitungssystem eine Datenübertragungs-Prozessstrang-Erzeugungs-Komponente zum Erzeugen mehrerer Datenübertragungs-Prozessstränge jeweils zum Übermitteln von Ereignisdaten an eine Server-Datenbank enthält. Die Datenübertragungs-Prozessstränge öffnen Verbindungen zu benötigten Server-Datenbanken, und diese Verbindungen werden in einem offenen Zustand gehalten, während die Netzwerküberwachungseinheit läuft.

Description

  • Technisches Anwendungsgebiet
  • Diese Erfindung betrifft das Gebiet der Ereignisverwaltung. Insbesondere betrifft die Erfindung das Erzeugen mehrerer Ereignisse aus einem einzelnen netzwerkeinheitsbezogenen Ereignis.
  • Hintergrundinformationen
  • Die Verwaltung von Netzwerken geht mit dem Erfassen von Daten von einer Reihe von Einheiten in einem Netzwerk einher. Bekannte Umsetzungen verwenden zur Durchführung dieser Aufgabe eine große Vielfalt von Überwachungseinheiten wie Sonden oder Agenten, die eine große Menge an Quelldaten von vielen Arten von Netzwerkeinheiten und Systemen bereitstellen können. Wenn diese Daten ohne Vorverarbeitung und Filterung an eine zentrale Datenbank gesendet werden, kann deren Verarbeitung in der zentralen Datenbank zu einem hohen Rechenaufwand führen und die Gesamtleistungsfähigkeit des Systems erheblich beeinflussen.
  • In bekannten Umsetzungen der Verwaltung von Netzwerken wird das Vorverarbeiten unter Anwendung einer Regelkonfigurationsdatei durchgeführt, die es dem Netzwerkverwalter gestattet, eingehende Ereignisdaten unter Verwendung einer Reihe von Verknüpfungsoperationen abzuwandeln, zu erweitern und zu verwerfen. Die Ausgabe aus diesen Operationen ist jedoch auf das Erzeugen eines einzigen Ereignisses beschränkt, das lediglich an eine einzige Tabelle in einer bestimmten zentralen Server-Datenbank gesendet werden kann.
  • Zur Verwaltung immer größerer Mengen von Netzwerkdaten wurden komplexe Server-Datenbank-Strukturen kombiniert, um den Rechenaufwand zu verteilen. Die Beschränkung auf ein einziges Datenereignis für jedes auf der Ebene der Überwachungseinheit eingehende Ereignis begrenzt jedoch die Anzahl von dem Systemverwalter zur Verfügung stehenden erweiterten Konfigurationsoptionen.
  • In bekannten Überwachungseinheiten können Ereignisdaten aus mehreren Eingangs-Prozesssträngen empfangen werden, aber es wird lediglich ein einziger Prozessstrang zum Verarbeiten dieser Daten unter Verwendung der Regeldatei und zum Senden derer an die Server-Datenbank verwendet.
  • Durch das Verwenden lediglich eines einzigen Prozessstrangs zum Verarbeiten und Senden von Ereignisdaten wird die Leistungsfähigkeit sowohl durch die Geschwindigkeit eines einzigen Prozessors in der Maschine, auf der er läuft, sowie durch den Datenübertragungsaufwand für das Senden von Daten an die Server-Datenbank beschränkt. Falls die Host-Maschine der Überwachungseinheit mehrere Prozessorkerne aufweist (wie heute bei den meisten der Fall ist), erhöht das nicht die Geschwindigkeit der Ereignisverarbeitung und Datenübermittlung.
  • Folglich gibt es auf dem Fachgebiet den Bedarf, sich dem oben genannten Problem zu widmen.
  • ZUSAMMENFASSUNG
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Verarbeiten von Netzwerkereignissen bereitgestellt, das Folgendes umfasst: Empfangen eines eingegebenen Netzwerkereignisses von einer Überwachungseinheit an einem Verarbeitungsprozessstrang; Erzeugen mehrerer Datenausgaben aus dem Netzwerkereignis; und Erzeugen mehrerer Datenübertragungs-Prozesstränge, jeweils zum Übermitteln der mehreren Datenausgaben an eine von mehreren Server-Datenbanken.
  • Ein Verarbeitungsprozessstrang kann ein eingegebenes Ereignis empfangen und für das eingegebene Ereignis Regeldateien verarbeiten, darunter ein Befehl zum Erzeugen eines Ereignisses, um einen neuen Datenübertragungs-Prozessstrang zu erstellen. Ein Datenübertragungs-Prozessstrang kann Ereignisdaten ordnen und an eine Server-Datenbank übermitteln. Die Datenübertragungs-Prozessstränge können Verbindungen zu benötigten Server-Datenbanken öffnen, und diese Verbindungen können in einem offenen Zustand gehalten werden, während eine Überwachungseinheit läuft.
  • Das Verfahren kann Folgendes enthalten: Verarbeiten einer Regeldatei, um Exemplare von registrierten Zielen zu finden; und Bestimmen von benötigten Server-Datenbank-Verbindungen. Die Server-Datenbanken können eine oder mehrere Tabellen für Ereignisdaten mit einem einzigen Datenübertragungs-Prozessstrang für jede Server-Datenbank enthalten.
  • Die Datenübertragung zwischen Prozesssträngen kann über Nachrichtenwarteschlangen asynchron verlaufen. Das Verfahren kann das Übertragen von Ereignisdaten über eine Datenstruktur zwischen Prozesssträngen (inter-thread data structure) enthalten.
  • Das Verfahren kann das Senden von Säuberungsbefehlen (flush commands) von dem Verarbeitungsprozessstrang zum Säubern der Datenübertragungs-Prozessstränge enthalten.
  • Das Verfahren kann ebenfalls das syntaktische Analysieren (parsing) von Ereignisdaten zur Erzeugung mehrerer Datenausgaben enthalten.
  • Das Verfahren kann das Verarbeiten von Regeldateien für ein eingegebenes Ereignis und, bei Erreichen eines Befehls zum Erzeugen eines Ereignisses, das Übertragen von Daten an einen Datenübertragungs-Prozessstrang über eine Hinweisadresse enthalten.
  • Die Ereignisdaten können als Ziel- und Spaltendaten an einen Datenübertragungs-Prozessstrang übertragen und in eine Datenbankabfragesprache (SQL, structured query language) umgewandelt und an eine Textspeicherzuordnung zur Übermittlung angehängt werden.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird ein Rechner-Software-Produkt zum Verarbeiten von Netzwerkereignissen bereitgestellt, wobei das Produkt ein durch einen Rechner lesbares Speichermedium umfasst, auf dem ein Pragramm umfassende, durch einen Rechner ausführbare Anweisungen gespeichert sind, wobei die Anweisungen bei Lesen und Ausführen durch einen Rechner die folgenden Schritte durchführen: Empfangen eines eingegebenen Netzwerkereignisses von einer Überwachungseinheit an einem Verarbeitungsprozessstrang; Erzeugen mehrerer Datenausgaben aus dem Netzwerkereignis; und Erzeugen mehrerer Datenübertragungs-Prozessstränge jeweils zum Übermitteln der mehreren Datenausgaben an eine von mehreren Server-Datenbanken.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung wird ein System zum Verarbeiten von Netzwerkereignissen bereitgestellt, das Folgendes umfasst: eine Netzwerküberwachungseinheit zum Erfassen von Netzwerkereignisdaten; ein Verarbeitungssystem zum Empfangen eines eingegebenen Ereignisses von einer Überwachungseinheit an einem Verarbeitungsprozessstrang, wobei das Verarbeitungssystem eine Datenübertragungs-Prozessstrang-Erzeugungs-Komponente zum Erzeugen mehrerer Datenübertragungs-Prozessstränge jeweils zum Übermitteln von Ereignisdaten an eine Server-Datenbank enthält.
  • Das Verarbeitungssystem kann einen Empfänger für ein eingegebenes Ereignis sowie Regeldateien für das eingegebene Ereignis enthalten, darunter ein Befehl zum Erzeugen eines Ereignisses, um einen neuen Datenübertragungs-Prozessstrang zu erstellen.
  • Das System kann Folgendes enthalten: eine Regeldatei, die verarbeitet wird, um Exemplare von registrierten Zielen zu finden; und eine Komponente zum Bestimmen von benötigten Server-Datenbank-Verbindungen.
  • Die Server-Datenbanken können eine oder mehrere Tabellen für Ereignisdaten mit einem einzigen Datenübertragungs-Prozessstrang für jede Server-Datenbank enthalten.
  • Die Datenübertragung zwischen Prozesssträngen kann über Nachrichtenwarteschlangen asynchron verlaufen, und eine Datenstruktur zwischen Prozesssträngen kann zum Übertragen von Ereignisdaten bereitgestellt werden.
  • Das System kann eine Komponente zum Säubern der Datenübertragungs-Prozessstränge enthalten.
  • Das System kann ebenfalls eine Analysekomponente für das syntaktische Analysieren von Ereignisdaten zur Erzeugung mehrerer Datenausgaben enthalten.
  • Der Datenübertragungs-Prozessstrang kann einen Umwandler zum Umwandeln von Ereignisdaten in eine Datenbankabfragesprache (SQL) und Anhängen an eine Textspeicherzuordnung zur Übermittlung enthalten.
  • Das Verarbeitungssystem kann auf mehreren Prozessoren laufen, wodurch der Verarbeitungsprozessstrang und die Datenübertragungs-Prozessstränge gleichzeitig ausgeführt werden können.
  • Gemäß einem vierten Aspekt stellt die vorliegende Erfindung ein auf einem durch einen Rechner lesbaren Medium gespeichertes Rechnerprogramm bereit, das in den internen Speicher eines digitalen Rechners geladen werden kann und Software-Code-Teile zur Durchführung der Schritte der Erfindung umfasst, wenn das Programm auf einem Rechner ausgeführt wird.
  • Kurze Beschreibung der Zeichnungen
  • Die vorliegende Erfindung wird nun lediglich beispielhaft unter Bezugnahme auf die bevorzugten Ausführungsformen beschrieben, wie in den folgenden Figuren dargestellt. Es zeigen:
  • 1 ein Blockschaltbild eines Ereignisverwaltungssystems gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
  • 2 ein Blockschaubild eines Prozessstrang-Verarbeitungssystems gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
  • 3 ein Blockschaltbild eines Rechnersystems, in dem eine bevorzugte Ausführungsform der vorliegenden Erfindung realisiert werden kann;
  • 4 einen Ablaufplan eines Prozessstrang-Verarbeitungsverfahrens gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung;
  • 5 einen Ablaufplan eines Prozessstrang-Verarbeitungsverfahrens in einem Regeldatei-Verarbeitungsprozessstrang gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung; und
  • 6 einen Ablaufplan eines Prozessstrang-Verarbeitungsverfahrens in einem Datenübertragungs-Prozessstrang gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung.
  • Ausführliche Beschreibung der Erfindung
  • Man wird verstehen, dass in den Figuren gezeigte Elemente der Einfachheit und Klarheit der Abbildung halber nicht unbedingt maßstabsgetreu gezeichnet sind. Die Abmessungen einiger Elemente können zum Beispiel in Bezug auf andere Elemente der Klarheit halber übertrieben groß dargestellt sein. Ferner können sich Bezugszahlen in den Figuren wiederholen, wenn dies angebracht erscheint, um entsprechende oder analoge Merkmale anzuzeigen.
  • In der folgenden ausführlichen Beschreibung werden zahlreiche spezifische Details dargelegt, um ein vollständiges Verständnis der Erfindung bereitzustellen. Fachleute werden jedoch verstehen, dass die vorliegende Erfindung ohne diese spezifischen Details angewendet werden kann. In anderen Fallen wurden allgemein bekannte Verfahren, Vorgänge und Komponenten nicht ausführlich beschrieben, um die vorliegende Erfindung nicht unklar zu machen.
  • Unter Bezugnahme auf 1 wird ein Ereignisverwaltungssystem 100 zur Verwaltung von Netzwerken gezeigt. Das System 100 enthält eine oder mehrere Überwachungseinheiten wie Sonden oder Agenten, die jeweils über eine Einheitenschnittstelle 101 bis 103 mit einer Ereignisquelle 111 bis 113 wie Netzwerkeinheiten verbunden sind, um Ereignisdaten zu erkennen und zu erfassen und die Ereignisdaten 121 bis 123 zur Verarbeitung weiterzuleiten. Die Überwachungseinheiten können entfernt angeordnet arbeiten oder Ereignisse in Netzwerkeinheiten direkt überwachen. Die Ereignisdaten 121 bis 123 sind für eine oder mehrere Server-Datenbanken 131 bis 133 als Alarme oder Fehler bestimmt. Ein Verarbeitungssystem 140 wird zum Umwandeln und Abwandeln der Ereignisdaten 121 bis 123 vor dem Weiterleiten an die Server-Datenbanken 131 bis 133 als Alarme oder Fehler bereitgestellt.
  • Zum Beispiel kann das Ereignisverwaltungssystem in Form eines IBM® Tivoli® Netcool® OMNIbus Service Level Management Systems mit IBM Netcool OMNIbus Sonden zum Erfassen von Ereignisdaten zum Senden als Alarme an Objekt-Server (ObjectServers) ausgeführt sein. (IBM, Tivoli sowie Netcool sind Warenzeichen von International Business Machines Corporation, die in vielen Jurisdiktionen weltweit eingetragen sind). Von Hewlett Packard Company, CA Inc. und BMC Software, Inc. werden andere Ereignisverwaltungssysteme bereitgestellt, in denen Agenten Netzwerkeinheiten direkt bzw. entfernt angeordnet überwachen.
  • Das beschriebene Verarbeitungssystem 140 enthält eine Regeldatei 141 und einen Befehl, der zum Erzeugen zusätzlicher Ereignisse als Reaktion auf ein einzelnes eingehendes Datenereignis 121 bis 123 verwendet werden kann. Dieser Befehl kann vollständig in eine bestehende Logikverarbeitung und Abwandlung eingehender Daten integriert sein, um höchste Flexibilität bei der Konfiguration zu bieten. Hierdurch ist der Systemverwalter in der Lage, als Reaktion auf ein einzelnes eingehendes Datenereignis 121 verschiedene Ereignisdaten 121 bis 123 an mehrere Tabellen 151 bis 153 zu senden, die sich in mehreren Server-Datenbanken 131 bis 133 befinden.
  • Das Verarbeitungssystem 140 führt die Regeldateiverarbeitung und die Datenübertragung an die Server-Datenbank durch separate Betriebssystem-Prozessstränge durch. Die Regeldateiverarbeitung wird durch einen Regeldateiverarbeitungs-Prozessstrang 160 durchgeführt. Die Datenübertragung an jedes einzelne, in der Regeldatei festgelegte Server-Datenbank-Ziel 131 bis 133 wird durch einen separaten Datenübertragungs-Prozessstrang 161 bis 163 durchgeführt.
  • Nach Analyse durch die Regeldatei werden die Ereignisdaten 121 bis 123 in eine entsprechende Datenwarteschlange für eine bestimmte Server-Datenbank 131 platziert, die durch den entsprechenden Datenübertragungs-Prozessstrang 161 für diesen Server 131 gelesen werden. Der Datenübertragungs-Prozessstrang 161 wandelt die eingehenden Daten in eine Datenbankabfragesprache (SQL) um und sendet sie unter Verwendung von Server-Middleware an die Server-Datenbank 131.
  • Das bedeutet, dass die Regeldateiverarbeitung auf einer Mehrprozessorkern-Host-Maschine zur selben Zeit durchgeführt werden kann, wie Daten geordnet und an eine oder mehrere Server-Datenbanken gesendet werden können. Unter hohen Datenlasten kann dies die Leistungsfähigkeit beträchtlich verbessern.
  • Unter Bezugnahme auf 2 zeigt ein Blockschaubild ein Verarbeitungssystem 140 ausführlicher. Das Verarbeitungssystem 140 enthält einen Regeldateiverarbeitungs-Prozessstrang 160 und mehrere erzeugte Datenübertragungs-Prozessstränge 161, 162.
  • Der Regeldateiverarbeitungs-Prozessstrang 160 enthält eine Regeldatei 141. Der Regeldateiverarbeitungs-Prozessstrang 160 enthält eine Initialisierungskomponente 212, die eine Vorverarbeitung durchführt, um die Regeldatei 141 zu lesen und in eine durch eine Maschine verarbeitbare Form umzuwandeln, um eine Folge von Anweisungslisten zu erzeugen, die bei Empfangen eines Ereignisses durchgearbeitet werden. Die Initialisierungskomponente 212 erstellt auch eine Liste mit Ziel-Servern 213. Die Initialisierungskomponente 212 erzeugt die Datenübertragungs-Prozessstränge 161, 162 für jeden Ziel-Server und erstellt Daten- bzw. Nachrichtenwarteschlangen 231, 232 zwischen dem Regeldateiverarbeitungs-Prozessstrang 160 und jedem der Datenübertragungs-Prozessstränge 161, 162.
  • Ein Ereignisempfänger 214 empfängt eingehende Ereignisdaten. Eine Regeldatei-Verarbeitungskomponente 215 verarbeitet die eingehenden Ereignisdaten. Die Regeldatei-Verarbeitungskomponente 215 enthält eine Ereigniserzeugungs-Befehlskomponente 216 und eine Ereignisanalyse-Befehlskomponente 217.
  • Eine Ordnungs- und Übermittlungskomponente 218 sendet analysierte Ereignisse an einen Puffer 219 zur Übermittlung. Eine Säuberungskomponente 220 wird zum Löschen vorheriger Ereignisse bereitgestellt.
  • Eine Datenstruktur zwischen Prozesssträngen 250 wird bereitgestellt, um zu vermeiden, dass große Datenmengen über die Nachrichtenwarteschlangen 231, 232 übertragen werden. In der Datenstruktur 250 wird Speicher durch Ordnen des Platzes zum Speichern der Ereignisdaten zugeordnet. Dann wird eine Hinweisadresse für diese Daten in eine Nachrichtenwarteschlange 231, 232 platziert und an den Datenübertragungs-Prozessstrang 161, 162 gesendet. Der Datenübertragungs-Prozessstrang 161, 162 gibt dann nach der Umwandlung in SQL den Speicher frei.
  • Der Regeldateiverarbeitungs-Prozessstrang 160 enthält eine Ereignisanalyse-Befehlskomponente 217 zum Erzeugen mehrerer Datenausgaben aus einem einzelnen Ereignis zur Eingabe in mehrere Datenbanken bzw. Tabellen.
  • Die Daten von dem eingehenden Ereignis werden unter Verwendung der logischen Verknüpfungen in der Regeldatei 141 verarbeitet, die zum Ausfüllen von Feldern in den ausgegebenen Ereignissen verwendet werden. Ein eingehendes Ereignis weist zum Beispiel Daten A (eine Zeichenfolge), B (eine ganze Zahl) und C (eine ganze Zahl) auf. Ein erzeugtes Ereignis kann mit 3 Feldern ausgegeben werden (B + 1, A + „-dies ist die Zusammenfassung”, B–C). Das Hauptereignis kann dann mit lediglich 2 Feldern (A + „-Hauptereignis”, B) ausgegeben werden. Es muss lediglich festgelegt sein, dass die Zieltabellen in den Ziel-Servern 151, 152 dieselben Feldtypen wie die gesendeten Daten aufweisen müssen. Also werden die ausgegebenen Ereignisse aus den eingehenden Daten gemäß der in der Regeldatei 141 codierten Logik aufgebaut.
  • Die Datenübertragungs-Prozessstränge 161, 162 enthalten jeweils: einen Ereignisempfänger 241, eine SQL-Umwandlungskomponente 242, eine Server-Datenbank-Übermittlungs-Komponente 243, einen SQL-Puffer 244 sowie eine Säuberungskomponente 245. Es wird eine Verbindung mit einem Ziel-Server 151, 152 hergestellt und ein leerer SQL-Puffer 244 erstellt. Ein Ereignisempfänger 241 empfängt Ereignisse von dem Regeldateiverarbeitungs-Prozessstrang 160 und verarbeitet diese und übermittelt sie an den Ziel-Server 131, 132. Säuberungsnachrichten werden von dem Regeldateiverarbeitungs-Prozessstrang 160 empfangen, und die Säuberungskomponente 245 verarbeitet diese und sendet eine Säuberungsbestätigung zurück.
  • In der Syntax der Regeldatei 141 wird ein Befehl zum Erzeugen eines Ereignisses bereitgestellt. Der Befehl zum Erzeugen eines Ereignisses stellt die Fähigkeit bereit, Ereignisse an mehr als eine Tabelle zu senden. Diese Tabellen können sich in verschiedenen Server-Datenbanken 131, 132 befinden. Die Zieltabelle muss unter Verwendung eines Regeldateibefehls zum Registrieren des Ziels registriert werden. Wenn der Befehl zum Registrieren des Ziels mit einer entsprechenden Detailtabelle aufgerufen wird, fügt der Befehl zum Erzeugen eines Ereignisses auch die Detailinformationen in die Regeldatei 141 ein, sofern Detailinformationen festgelegt wurden.
  • Die Verarbeitung von Ereignisdaten von einer Überwachungseinheit muss so schnell wie möglich durchgeführt werden, um die Ereignis-Durchsatz-Geschwindigkeit der Überwachungseinheit aufrecht zu halten. Der Befehl zum Erzeugen eines Ereignisses 212 ermöglicht das Ausführen von Einfüge-Operationen in mehrere Server-Datenbanken 131 bis 132. Um sicherzustellen, dass dies nicht die Verarbeitung der Hauptregeldatei verlangsamt, wird die Datenübertragung für jeden Server 131 bis 132, der Daten empfangen wird, auf separaten Prozesssträngen 161, 162 erzeugt. Deshalb funktioniert eine Überwachungseinheit standardmäßig in einer mehrere Prozessstränge gleichzeitig ausführenden Form. Es gibt einen Prozessstrang zum Empfangen des Hauptereignisses und zum Verarbeiten der Regeldatei 160 sowie einen oder mehrere Datenübertragungs-Prozessstränge 161 bis 162 zum Ordnen und Übermitteln. Die Datenübertragungs-Prozessstränge 161 bis 162 öffnen Verbindungen zu den benötigten Servern 131 bis 132, und die Verbindungen werden in einem offenen Zustand gehalten, während die Überwachungseinheit läuft.
  • Unter Bezugnahme auf 3 enthält ein beispielhaftes System zur Umsetzung bevorzugter Ausführungsformen der vorliegenden Erfindung ein Datenverarbeitungssystem 300, das zum Speichern und/oder Ausführen von Programmcode geeignet ist und zumindest einen über ein oder mehrere Bussysteme 311, 312 direkt oder indirekt mit Speicherelementen verbundenen Prozessor 301 bis 303 enthält. Zur parallelen Verarbeitung können mehrere Prozessoren und Datenübertragungsbussysteme in einem System bereitgestellt werden.
  • Jeder der Prozessoren 301 bis 303 kann seinen eigenen Zwischenspeicher 321 bis 323 enthalten; alternativ kann ein globaler Zwischenspeicher 324 verwendet werden.
  • Die Speicherelemente können einen lokalen Speicher beinhalten, der während der eigentlichen Ausführung des Programmcodes eingesetzt wird, Massenspeicher sowie Cache-Speicher, die eine vorübergehende Speicherung von zumindest etwas Programmcode bereitstellen, um die Häufigkeit, mit der während der Ausführung Code von dem Massenspeicher abgerufen werden muss, zu verringern.
  • Die Prozessoren 301 bis 303 tauschen Daten untereinander und mit dem Systemspeicher 330 über einen Hochgeschwindigkeits-Systembus 311 aus. Der Systemspeicher 330 enthält einen globalen Direktzugriffsspeicher (RAM) 331, einen globalen Nur-Lese-Speicher (ROM) 332, eine Speichersteuereinheit 333 sowie einen nichtflüchtigen RAM (NVRAM) 334.
  • Bei dem globalen RAM 331 handelt es sich um flüchtigen Speicher, der von jedem der Prozessoren zum Speichern von Daten und Anweisungen für einen späteren beliebigen Zugriff verwendet wird. Bei dem globalen ROM 332 handelt es sich um einen nichtflüchtigen Speicher, der in dem System gespeicherte Daten und Anweisungen enthält. Bei dem NVRAM 334 handelt es sich um einen nichtflüchtigen RAM, der durch die Prozessoren verändert werden kann und einen Urlade-Code (boot code) enthält.
  • Der Prozessorbus zu der Adapterbusbrücke 340 ist ebenfalls an den Systembus 311 angeschlossen. Diese Busbrücke ermöglicht den Datenaustausch zwischen mehreren Einheiten und jedem der Prozessoren 301 bis 303 und/oder dem Systemspeicher 330 über den Adapterbus 312.
  • An den Adapterbus 312 ist eine Festplatte 341 zum Speichern großer Datenmengen und Anweisungen wie Betriebssystemen und mehreren Software-Anwendungen angeschlossen. Eine Eingabe/Ausgabe-(E/A-)Steuereinheit 342 ist ebenfalls mit dem Adapterbus 312 verbunden und wird zur Durchführung von Datenübertragungen an angeschlossene bzw. externe E/A-Einheiten 343 wie eine Tastatur, eine Maus, austauschbare Medien usw. verwendet.
  • Ein Anzeigenadapter 344 kann ebenfalls mit dem Adapterbus 312 gekoppelt sein, um Daten auf einer Anzeige 345 anzuzeigen. Außerdem kann an den Adapterbus 312 ein Datenübertragungsadapter 346 zur Übertragung von Daten über ein Netzwerk angeschlossen sein.
  • 4 zeigt einen Ablaufplan 400 des Verfahrens zur Erzeugung mehrerer Ereignisse. An einem Verarbeitungsprozessstrang wird ein eingegebenes Ereignis von einer Netzwerküberwachungseinheit empfangen 401. Die Regeldateiverarbeitung wird durchgeführt 402, und es werden mehrere Datenübertragungs-Prozessstränge erzeugt 403, einer für jeden Ziel-Server, an den die Ereignisdaten zu senden sind.
  • Jeder Datenübertragungs-Prozessstrang öffnet 404 eine Verbindung mit einem Server und ordnet und übermittelt 405 Ereignisdaten an den Server.
  • 5 zeigt einen Ablaufplan 500 eines Verfahrens in einem Regeldateiverarbeitungs-Prozessstrang. Die Regeldateien werden gelesen, und eine Vorverarbeitung wird durchgeführt 501, darunter das Überprüfen der Syntax und das Erstellen einer Liste mit angegebenen Ziel-Servern.
  • Für jeden Ziel-Server werden Datenübertragungs-Prozessstränge erzeugt 502. Zwischen den Regeldateiverarbeitungs-Prozesssträngen und jedem Datenübertragungs-Prozessstrang werden Nachrichtenwarteschlangen erstellt.
  • Es wird auf die nächsten Ereignisdaten bzw. eine Abbruchbedingung gewartet 503. Jegliche Säuberungsbestätigungsnachrichten werden von Datenübertragungs-Prozesssträngen empfangen 504.
  • Eingehende Ereignisrohdaten werden empfangen 505, und die Ereignisdaten werden unter Verwendung der Regeldatei analysiert 506. Bei jeder Begegnung mit dem Befehl zum Erzeugen eines Ereignisses wird eine verarbeitete Ereignisdatennachricht in die Warteschlange für den entsprechenden Datenübertragungs-Prozessstrang platziert 507. Wenn das Hauptereignis nicht verworfen wird, wird eine verarbeitete Ereignisdatennachricht in die Warteschlange für den entsprechenden Datenübertragungs-Prozessstrang platziert 508.
  • Es wird festgestellt 509, ob die Höchstzahl an gepufferten Ereignissen erreicht wurde. Falls nicht, führt das Verfahren eine Schleife aus und wartet auf die nächsten eingehenden Ereignisdaten bzw. Abbruchbedingungen 503. Wenn die Höchstzahl an gepufferten Ereignissen erreicht ist, wird festgestellt 510, ob eine vorherige Säuberung gesendet und von allen Datenübertragungs-Prozesssträngen bestätigt wurde. Falls nicht, wird auf die Säuberungsbestätigungen gewartet 511. Falls ja, werden an alle Datenübertragungs-Prozessstränge Säuberungsbefehle gesendet 512, und das Verfahren führt eine Schleife aus und wartet auf die nächsten eingehenden Ereignisdaten bzw. Abbruchbedingungen 503.
  • Unter Bezugnahme auf 6 wird ein Ablaufplan 600 eines Verfahrens in jedem Datenübertragungs-Prozessstrang gezeigt. Es wird eine Verbindung mit einem dem Datenübertragungs-Prozessstrang zugewiesenen Ziel-Server hergestellt 601. Es wird ein leerer SQL-Puffer erstellt 602.
  • Es wird auf eingehende Nachrichten von dem Regeldateiverarbeitungs-Prozessstrang gewartet 603. Es wird festgestellt, ob eine Nachricht eine Säuberungsnachricht ist 604. Falls ja, werden alle Daten in dem SQL-Puffer an den Server gesendet 605 und gelöscht. Es wird eine Säuberungsbestätigung an den Regeldatei-Prozessstrang gesendet 606, und das Verfahren führt eine Schleife aus und wartet auf weitere eingehende Nachrichten 603.
  • Wenn die Nachricht eine Säuberungsnachricht ist, wird festgestellt 607, ob es eine Ereignisnachricht ist. Falls nicht, führt das Verfahren eine Schleife aus und wartet auf weitere eingehende Nachrichten 603. Wenn es eine Ereignisnachricht ist, werden die Ereignisdaten in eine SQL-Nachricht umgewandelt 608 und in den Puffer geschrieben. Das Verfahren führt eine Schleife aus und wartet auf weitere eingehende Nachrichten 603.
  • Prozessstrangstruktur
  • Prozessstränge werden unter Verwendung von Standard-Bibliotheks-Prozessstrang-Funktionen erstellt und gelöscht. Die Datenübertragung zwischen Prozesssträngen verläuft asynchron und wird unter Verwendung der üblichen auf einem Merker (Semaphor) beruhenden Nachrichtenwarteschlangen durchgeführt. Die Hauptbibliotheks-Ereignisverarbeitungsschleife verarbeitet die Regeldatei und erzeugt einen oder mehrere Server-Datenübertragungs-Prozessstränge. Es findet kein direkter Datenaustausch zwischen Datenübertragungs-Prozesssträngen statt. Der Verarbeitungsschleifen-Prozessstrang steuert den/die Datenübertragungs-Prozessstrang bzw. -stränge. Die Datenübertragungs-Prozessstränge ruhen während des Wartens auf Eingabedaten, wenn sie sich nicht in dem Prozess des Übermittelns von Daten befinden. Von dem Hauptverarbeitungs-Prozessstrang gesendete Daten werden gepuffert, wenn der Datenübertragungs-Prozessstrang mit dem Senden von Daten beschäftigt ist, und verarbeitet, sobald er dafür bereit ist.
  • Datenstruktur zwischen Prozesssträngen
  • Große Datenmengen werden nicht über die Nachrichtenwarteschlangen übertragen, sondern es wird stattdessen ein gemeinsam genutztes Datenmodell verwendet.
  • Der Verarbeitungs-Prozessstrang kann niemals öfter als zwei Mal die Regeldatei durcharbeiten, bevor er darauf warten muss, dass alle Datenübertragungs-Prozessstränge jegliche ausstehende Daten aus dem vorherigen Zyklus übermitteln und speichern.
  • Nachrichtenstruktur zwischen Prozesssträngen
  • Die zwischen dem Prozess- und dem Datenübertragungs-Prozessstrang übertragbaren Nachrichten sind nachfolgend aufgelistet:
    • • „Ereignisdaten” von dem Verarbeitungs-Prozessstrang zu den Datenübertragungs-Prozesssträngen. Der Verarbeitungs-Prozessstrang hat in der Regeldatei einen Befehl zum Erzeugen eines Ereignisses erreicht und sendet die mit Verweisen versehenen Ereignisdaten an den Datenübertragungs-Prozessstrang. Alternativ hat der Verarbeitungs-Prozessstrang das Ende der Regeldatei erreicht und sendet die Hauptereignisdaten an den entsprechenden Datenübertragungs-Prozessstrang.
    • • „Säubern”, von dem Verarbeitungs-Prozessstrang zu allen Datenübertragungs-Prozesssträngen. Die Hauptüberwachungseinheit hat den Säuberungsbefehl aufgerufen. Dies veranlasst den Verarbeitungs-Prozessstrang dazu, den Säuberungsbefehl an alle Datenübertragungs-Prozessstränge zu senden. Falls es irgendwelche gepufferten Daten gibt, sendet der Datenübertragungs-Prozessstrang diese an den Server.
    • • „Säubern bestätigt”, von dem Datenübertragungs-Prozessstrang zu dem Verarbeitungs-Prozessstrang. Zeigt an, dass der Datenübertragungs-Prozessstrang das Senden aller ausstehenden Daten an den Server abgeschlossen hat. Der Verarbeitungs-Prozessstrang muss darauf warten, bevor er eine weitere Säuberungsnachricht an diesen Prozessstrang senden kann.
  • Initialisierung
  • Die Initialisierung einer Überwachungseinheit enthält eine Endstufe, die mit dem Erzeugen von Datenübertragungs-Prozesssträngen einhergeht. Die Regeldatei wird verarbeitet, um jedes Exemplar eines Befehls zum Registrieren eines Ziels zu finden, der zum Ausarbeiten einer Liste benötigter Server-Verbindungen verwendet wird. Daraus ergibt sich eine Verbindung pro Server, unabhängig von der Anzahl von einzelnen Tabellen auf diesem Server. Dann werden Verbindungen zu jedem Server hergestellt. Die Spaltentypen für jede Zieltabelle werden von den relevanten Servern abgefragt und gespeichert.
  • Während der Endstufe werden aus der Regeldatei die für zwischen Prozesssträngen benötigten Speicheranforderungen berechnet. Die Speichergröße des SQL-Puffers wird aus der Regeldatei berechnet. Für jede Server-Verbindung wird ein Prozessstrang erzeugt, und die Steuerung der Verbindung sowie der Puffergröße wird dann an diesen Prozessstrang übertragen. Die Anzahl von Prozesssträngen übersteigt die Anzahl von Servern, zu denen die Überwachungseinheit eine Verbindung herstellt, um eins. Somit wird die Anzahl von erzeugten Prozesssträngen durch die Anzahl von in der Regeldatei verwendeten Befehlen zum Registrieren von Zielen für verschiedene Server gesteuert.
  • Verarbeitung
  • Die Regeldatei wird bei Auftreten eines eingegebenen Ereignisses analysiert. Wenn die Verarbeitung einen Befehl zum Erzeugen eines Ereignisses erreicht und die Daten an den entsprechenden Prozessstrang zum Ordnen und Übermitteln über eine Hinweisadresse überträgt. Wenn die Zieltabelle eine übereinstimmende Detailtabelle aufweist, werden auch sämtliche Detailinformationen an den entsprechenden Prozessstrang zum Ordnen und Übermitteln übertragen.
  • In einer Ausführungsform kann die Syntax des Befehls zum Erzeugen eines Ereignisses wie folgt lauten: „genevent(target, colum_name1, data1, column_name2, data2, ... )”, wobei es sich bei „target” um die durch den Befehl zum Registrieren eines Ziels zurückgesendete Zieltabelle handelt. Der Spaltenname und die Datenpaare müssen der Struktur der Zieltabelle entsprechen, können aber eine Teilmenge aller verfügbaren Spalten sein. Die Ziel- und Spaltennamen müssen Literale sein, wobei die Daten Variablen sein können. In dieser Stufe werden sämtliche benötigte Typumwandlungen von Daten durchgeführt. Wenn keine Typumwandlung möglich ist, wird ein nicht gravierender Fehler protokolliert und das Ereignis wird nicht erzeugt.
  • Eine alternative Syntax des Befehls zum Erzeugen eines Ereignisses kann wie folgt lauten:
    „genevent(target)”, wobei alle der aktuellen Ereignisdaten kopiert und an die Zieltabelle gesendet werden. Dies geschieht, damit in Anwendungsfällen, in denen es ein Systemverwalter wünscht, lediglich eine genaue Kopie des aktuellen Ereignisses an mehr als einen Server zu senden, nicht alle Spaltennamen und Datenpaare vervielfältigt werden müssen. Da es sich hierbei wohl um einen der Hauptanwendungsfälle handelt, sollte das für den Systemverwalter einfach sein. Wenn am Ende der Verarbeitung der Regeldatei eine Funktion zum Verwerfen des Ereignisses nicht aufgerufen wurde, werden die Ereignisdaten auch an den Prozessstrang übermittelt, der die Verbindung mit der aktuell ausgewählten Zieltabelle aufrecht hält. Wenn diese Zieltabelle als eine übereinstimmende Beschreibungstabelle aufweisend gekennzeichnet ist, werden auch sämtliche Beschreibungsdaten an den entsprechenden Prozessstrang zum Ordnen und Übermitteln übertragen. Wenn eine Netzwerküberwachungseinheit die Bibliothek dazu anweist, Daten unter Verwendung des Säuberungsbefehls zu senden, führt dies dazu, dass an alle Übermittlungs-Prozessstränge ein Befehl geschickt wird. Wenn in der Regeldatei mehrere Detailbefehle enthalten sind, hat der letzte vor dem Befehl zum Erzeugen eines Ereignisses Vorrang unter der Annahme, dass das Ziel eine Detailtabelle enthält. Die Details können dann wiederum durch einen anderen Detailbefehl vor dem nächsten Befehl zum Erzeugen eines Ereignisses bzw. vor Erreichen des Endes der Regeldatei geändert werden.
  • Ordnen
  • Die Daten werden an den Datenübertragungs-Prozessstrang als Ziel- und Spaltennamen-Datenpaare übertragen. Diese werden in SQL umgewandelt und wirksam an einen Textpuffer angehängt, der bereit zum Übermitteln ist. Bei dem Puffer handelt es sich um einen speicherzugeordneten Bereich des Speichers mit einer Anfangs- und Endhinweisadresse. Die höchstens benötigte Puffergröße wird während der Initialisierung berechnet und durch den Übermittlungs-Prozessstrang bei dessen Start im Speicher zugeordnet.
  • Übermittlung
  • Bei ausgeschalteter Pufferung wird der SQL-Textpuffer an den Server übermittelt, sobald er geordnet ist. Sendebefehle werden ignoriert, mit Ausnahme des Zurücksendens einer Säuberungsbestätigung. Wenn die Pufferung eingeschaltet ist, wird der SQL-Textpuffer bei Empfangen des Sendebefehls an den Server übermittelt, und dann wird eine Säuberungsbestätigung zurückgesendet.
  • Zur Aufrechterhaltung und Verbesserung der Leistungsfähigkeit der Überwachungseinheit wird die Datenübertragung mit jedem Server durch separate Prozessstränge durchgeführt. Die Netzwerküberwachungseinheit ist in der Lage, ein Ereignis zu empfangen, und übermittelt gleichzeitig die vorherigen Ereignisergebnisse. Diese Struktur bedeutet, dass Erzeuge-Ereignis-Einfügungen und Standard-Ereignis-Einfügungen in verschiedene Server etwas aus der Reihe geraten könnten. Dieses gleichzeitige Bearbeiten von Prozesssträngen kann deaktiviert werden, wodurch sich jedoch wahrscheinlich die Leistungsfähigkeit verringert.
  • Das Szenario, in dem die beschriebene Prozessstrangstruktur die Leistungsfähigkeit wahrscheinlich verbessert, ist eines, in dem die Überwachungseinheit eine große Menge von Ereignisdaten verarbeitet, die Datenübertragung jedoch nicht nennenswert von dem Server aufrechterhalten wird, da sie zum Beispiel auf einer schnelleren Maschine läuft und durch andere Zuführungen von Ereignissen nicht stark belastet wird.
  • Das beschriebene Verfahren und System weisen die folgenden beispielhaften Anwendungen auf.
  • Erkennung von Ereignisüberflutung, wobei ein Übermaß an eingegebenen Daten vorübergehend verworfen und durch wesentlich weniger Informationsereignisse ersetzt wird. Ein Systemverwalter kann das Konfigurieren der Regeldatei der Überwachungseinheit derart wünschen, dass ein Ereignisüberflutungszustand unter Verwendung der zusätzlichen bereitgestellten Funktionalität erkannt wird und an den Server gesendete Ereignisdaten vorübergehend unterdrückt werden. Der Befehl zum Erzeugen eines Ereignisses wird dazu verwendet, ein Informationsereignis an den Server zu senden, wenn der Überflutungsschutz aktiviert ist, und ein anderes, wenn er deaktiviert ist.
  • Ein Systemverwalter kann das Teilen von Ereignissen in Verarbeitungsereignisse hoher Priorität und Informationsereignisse niedriger Priorität an der Quelle und das Bearbeiten auf jeweils andere Weise erfordern. Die Ereignisse hoher Priorität werden an einen Server hoher Priorität und an ein Server-System gesendet, das alle Ereignisse in Wechselbeziehung bringt und archiviert. Die Ereignisse niedriger Priorität werden lediglich an den Server gesendet, der alle Ereignisse in Wechselbeziehung bringt und archiviert.
  • Ein Systemverwalter kann die statistische Auswertung eingehender Ereignisdaten erfordern, möchte aber die Last auf dem die Ereignisse empfangenden Server nicht erhöhen. Der Befehl zum Erzeugen eines Ereignisses wird dafür verwendet, aus den eingehenden Ereignisdaten abgeleitete statistische Daten an einen anderen Server zur späteren Auswertung zu senden.
  • Ein Systemverwalter kann ein Kopieren aller Ereignisdaten auf zwei oder mehr Servern ohne den Aufwand des Ausführens eines unidirektionalen Gateway zwischen ihnen wünschen. Auf die Daten werden durch verschiedene Server verschiedene Prozesse angewendet.
  • Ein Ereignisverwaltungssystem kann einem Kunden als Dienst über ein Netzwerk bereitgestellt werden.
  • Die Erfindung kann als vollständige Hardware-Ausführungsform, als vollständige Software-Ausführungsform oder als Ausführungsform, die sowohl Hardware- als auch Software-Elemente enthält, ausgeführt werden. In einer bevorzugten Ausführungsform ist die Erfindung als Software realisiert, darunter Firmware, im Speicher befindliche Software, Mikrocode usw., aber nicht darauf beschränkt.
  • Die Erfindung kann die Form eines Rechnerprogramms bzw. eines Rechnerprogrammprodukts annehmen, auf das von einem durch einen Rechner verwendbaren bzw. durch einen Rechner lesbaren Medium zugegriffen werden kann, das Programmcode bereitstellt, das von oder in Verbindung mit einem Rechner oder jedem beliebigen Anweisungsausführungssystem verwendet wird. Für diese Beschreibung kann ein durch einen Rechner verwendbares bzw. durch einen Rechner lesbares Medium jede beliebige Vorrichtung sein, die das Programm, das von oder in Verbindung mit dem Anweisungsausführungssystem, der Vorrichtung oder der Einheit verwendet wird, enthalten, speichern, übertragen, verbreiten bzw. transportieren kann. Bei dem Medium kann es sich um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem (bzw. Vorrichtung oder Einheit) oder ein Verbreitungsmedium handeln. Zu Beispielen für ein durch einen Rechner lesbares Medium zählen ein Halbleiter- oder Festkörperspeicher, Magnetband, eine auswechselbare Rechnerdiskette, Direktzugriffsspeicher (RAM), Nur-Lese-Speicher (ROM), eine starre Magnetplatte und eine optische Platte. Zu aktuellen Beispielen optischer Platten gehören ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine Lesen/Schreiben-Kompaktspeicherplatte (CD – R/W) und eine DVD.
  • Es können Verbesserungen und Abwandlungen an dem oben Beschriebenen vorgenommen werden, ohne von dem Umfang der vorliegenden Erfindung abzuweichen.

Claims (26)

  1. Verfahren zum Verarbeiten von Netzwerkereignissen, das Folgendes umfasst: Empfangen (401, 503) eines eingegebenen Netzwerkereignisses (121 bis 123) von einer Überwachungseinheit (101 bis 103) an einem Verarbeitungs-Prozessstrang (160); Erzeugen (506) mehrerer Datenausgaben aus dem Netzwerkereignis (121 bis 123); und Erzeugen (403, 502) mehrerer Datenübertragungs-Prozesstränge (161 bis 163), jeweils zum Übermitteln der mehreren Datenausgaben an eine von mehreren Server-Datenbanken (131 bis 133).
  2. Verfahren nach Anspruch 1, bei dem ein Verarbeitungsprozessstrang (160) ein eingegebenes Ereignis (121 bis 123) empfängt und für das eingegebene Ereignis Regeldateien (141) verarbeitet, darunter ein Befehl zum Erzeugen eines Ereignisses (216), um einen neuen Datenübertragungs-Prozessstrang (161 bis 163) zu erstellen.
  3. Verfahren nach Anspruch 1 oder 2, bei dem ein Datenübertragungs-Prozessstrang (161 bis 163) Ereignisdaten ordnet und an eine Server-Datenbank (131 bis 133) übermittelt.
  4. Verfahren nach einem der Ansprüche 1 bis 3, bei dem die Datenübertragungs-Prozessstränge (161 bis 163) Verbindungen zu benötigten Server-Datenbanken (131 bis 133) öffnen, und diese Verbindungen in einem offenen Zustand gehalten werden, während eine Überwachungseinheit (101 bis 103) läuft.
  5. Verfahren nach einem der vorhergehenden Ansprüche, das Folgendes beinhaltet: Verarbeiten (501) einer Regeldatei (141), um Exemplare von registrierten Zielen (213) zu finden; und Bestimmen von benötigten Server-Datenbank-Verbindungen.
  6. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Server-Datenbanken (131 bis 133) eine oder mehrere Tabellen (151 bis 153) für Ereignisdaten mit einem einzelnen Datenübertragungs-Prozessstrang (161 bis 163) für jede Server-Datenbank (131 bis 133) enthalten.
  7. Verfahren nach einem der vorhergehenden Ansprüche, bei dem der Datenaustausch zwischen Prozesssträngen asynchron über Nachrichtenwarteschlangen (231, 233) verläuft.
  8. Verfahren nach einem der vorhergehenden Ansprüche, das Folgendes beinhaltet: Übertragen von Ereignisdaten über eine Datenstruktur zwischen Prozesssträngen (250).
  9. Verfahren nach einem der vorhergehenden Ansprüche, das Folgendes beinhaltet: Senden von Säuberungsbefehlen (512) von dem Verarbeitungsprozessstrang (160) zum Säubern der Datenübertragungs-Prozessstränge (161 bis 163).
  10. Verfahren nach einem der vorhergehenden Ansprüche, welches das Analysieren von Ereignisdaten (506) zum Erzeugen mehrerer Datenausgaben beinhaltet.
  11. Verfahren nach einem der vorhergehenden Ansprüche, das Folgendes beinhaltet: Verarbeiten von Regeldateien (141) für ein eingegebenes Ereignis und, bei Erreichen eines Befehls zum Erzeugen eines Ereignisses (216, 507), Übertragen von Daten an einen Datenübertragungs-Prozessstrang (161 bis 163) über eine Hinweisadresse.
  12. Verfahren nach einem der vorhergehenden Ansprüche bei dem die Ereignisdaten als Ziel- und Spaltendaten an einen Datenübertragungs-Prozessstrang (161 bis 163) übertragen und in eine Datenbankabfragesprache (SQL) umgewandelt (608) und an eine Textspeicherzuordnung zur Übermittlung angehängt werden.
  13. Rechner-Software-Produkt zum Verarbeiten von Netzwerkereignissen, wobei das Produkt ein durch einen Rechner lesbares Speichermedium umfasst, auf dem ein Programm umfassende, durch einen Rechner ausführbare Anweisungen gespeichert sind, wobei die Anweisungen bei Lesen und Ausführen durch einen Rechner die folgenden Schritte durchführen: Empfangen (401, 503) eines eingegebenen Netzwerkereignisses (121 bis 123) von einer Überwachungseinheit (101 bis 103) an einem Verarbeitungs-Prozessstrang (160); Erzeugen (506) mehrerer Datenausgaben aus dem Netzwerkereignis (121 bis 123); und Erzeugen (403, 502) mehrerer Datenübertragungs-Prozesstränge (161 bis 163), jeweils zum Übermitteln der mehreren Datenausgaben an eine von mehreren Server-Datenbanken (131 bis 133).
  14. System zum Verarbeiten von Netzwerkereignissen, das Folgendes umfasst: eine Netzwerküberwachungseinheit (101 bis 103) zum Erfassen von Netzwerkereignisdaten (121 bis 123); ein Verarbeitungssystem (140) zum Empfangen eines eingegebenen Ereignisses von einer Überwachungseinheit (101 bis 103) an einem Verarbeitungsprozessstrang (160), wobei das Verarbeitungssystem (140) eine Datenübertragungs-Prozessstrang-Erzeugungs-Komponente (215, 216) zum Erzeugen mehrerer Datenübertragungs-Prozessstränge (161 bis 163) jeweils zum Übermitteln von Ereignisdaten an eine Server-Datenbank (131 bis 133) enthält.
  15. System nach Anspruch 14, bei dem das Verarbeitungssystem (140) einen Empfänger (214) für ein eingegebenes Ereignis (121 bis 123) sowie Regeldateien (141) für das eingegebene Ereignis enthält, darunter ein Befehl zum Erzeugen eines Ereignisses (216), um einen neuen Datenübertragungs-Prozessstrang (161 bis 163) zu erstellen.
  16. System nach Anspruch 14 oder Anspruch 15, bei dem ein Datenübertragungs-Prozessstrang (161 bis 163) Ereignisdaten ordnet und an eine Server-Datenbank (131 bis 133) übermittelt.
  17. System nach einem der Ansprüche 14 bis 16, bei dem die Datenübertragungs-Prozessstränge (161 bis 163) Verbindungen zu benötigten Server-Datenbanken (131 bis 133) öffnen, und diese Verbindungen in einem offenen Zustand gehalten werden, während eine Überwachungseinheit (101 bis 103) läuft.
  18. System nach einem der Ansprüche 14 bis 17, das Folgendes beinhaltet: eine Regeldatei (141), die verarbeitet wird, um Exemplare von registrierten Zielen (213) zu finden; und eine Komponente zum Bestimmen von benötigten Server-Datenbank-Verbindungen.
  19. System nach einem der Ansprüche 14 bis 18, bei dem die Server-Datenbanken (131 bis 133) eine oder mehrere Tabellen (151 bis 153) für Ereignisdaten mit einem einzelnen Datenübertragungs-Prozessstrang (161 bis 163) für jede Server-Datenbank (131 bis 133) enthalten.
  20. System nach einem der Ansprüche 14 bis 19, bei dem der Datenaustausch zwischen Prozesssträngen asynchron über Nachrichtenwarteschlangen (231, 232) verläuft.
  21. System nach einem der Ansprüche 14 bis 20, das Folgendes beinhaltet: eine Datenstruktur zwischen Prozesssträngen (250) zum Übertragen von Ereignisdaten.
  22. System nach einem der Ansprüche 14 bis 21, das Folgendes beinhaltet: eine Komponente (220) zum Säubern der Datenübertragungs-Prozessstränge (161 bis 163).
  23. System nach einem der Ansprüche 14 bis 22, welches eine Analysekomponente (217) zum Analysieren von Ereignisdaten zum Erzeugen mehrerer Datenausgaben enthält.
  24. System nach einem der Ansprüche 14 bis 23, bei dem der Datenübertragungs-Prozessstrang (161 bis 163) einen Umwandler (241) zum Umwandeln von Ereignisdaten in eine Datenbankabfragesprache (SQL) und Anhängen an eine Textspeicherzuordnung zur Übermittlung enthält.
  25. System nach einem der Ansprüche 14 bis 24, bei dem das Verarbeitungssystem (140) auf mehreren Prozessoren läuft, wodurch der Verarbeitungsprozessstrang (160) und die Datenübertragungs-Prozessstränge (161 bis 163) gleichzeitig ausgeführt werden können.
  26. Auf einem durch einen Rechner lesbaren Medium gespeichertes Rechnerprogramm, das in den internen Speicher eines digitalen Rechners geladen werden kann und Software-Code-Teile zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 12 umfasst, wenn das Programm auf einem Rechner ausgeführt wird.
DE112010004187T 2009-10-30 2010-08-31 Verfahren und System zum Verarbeiten von Netzwerkereignissen Ceased DE112010004187T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP09174603 2009-10-30
EP09174603.2 2009-10-30
PCT/EP2010/062768 WO2011051026A2 (en) 2009-10-30 2010-08-31 Method and system for processing network events

Publications (1)

Publication Number Publication Date
DE112010004187T5 true DE112010004187T5 (de) 2012-08-09

Family

ID=43088326

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112010004187T Ceased DE112010004187T5 (de) 2009-10-30 2010-08-31 Verfahren und System zum Verarbeiten von Netzwerkereignissen

Country Status (5)

Country Link
US (1) US8930526B2 (de)
CN (1) CN102667718B (de)
DE (1) DE112010004187T5 (de)
GB (1) GB2487317B (de)
WO (1) WO2011051026A2 (de)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8364813B2 (en) 2010-11-02 2013-01-29 International Business Machines Corporation Administering incident pools for event and alert analysis
US8386602B2 (en) 2010-11-02 2013-02-26 International Business Machines Corporation Relevant alert delivery in a distributed processing system
US8621277B2 (en) * 2010-12-06 2013-12-31 International Business Machines Corporation Dynamic administration of component event reporting in a distributed processing system
US8805999B2 (en) 2010-12-07 2014-08-12 International Business Machines Corporation Administering event reporting rules in a distributed processing system
US8737231B2 (en) 2010-12-07 2014-05-27 International Business Machines Corporation Dynamic administration of event pools for relevant event and alert analysis during event storms
US8868984B2 (en) 2010-12-07 2014-10-21 International Business Machines Corporation Relevant alert delivery in a distributed processing system with event listeners and alert listeners
US8756462B2 (en) 2011-05-24 2014-06-17 International Business Machines Corporation Configurable alert delivery for reducing the amount of alerts transmitted in a distributed processing system
US8645757B2 (en) 2011-05-26 2014-02-04 International Business Machines Corporation Administering incident pools for event and alert analysis
US9213621B2 (en) 2011-05-27 2015-12-15 International Business Machines Corporation Administering event pools for relevant event analysis in a distributed processing system
US8676883B2 (en) 2011-05-27 2014-03-18 International Business Machines Corporation Event management in a distributed processing system
US8392385B2 (en) 2011-06-22 2013-03-05 International Business Machines Corporation Flexible event data content management for relevant event and alert analysis within a distributed processing system
US8880943B2 (en) 2011-06-22 2014-11-04 International Business Machines Corporation Restarting event and alert analysis after a shutdown in a distributed processing system
US9419650B2 (en) 2011-06-22 2016-08-16 International Business Machines Corporation Flexible event data content management for relevant event and alert analysis within a distributed processing system
US8713366B2 (en) 2011-06-22 2014-04-29 International Business Machines Corporation Restarting event and alert analysis after a shutdown in a distributed processing system
US8887175B2 (en) 2011-10-18 2014-11-11 International Business Machines Corporation Administering incident pools for event and alert analysis
US20130097272A1 (en) 2011-10-18 2013-04-18 International Business Machines Corporation Prioritized Alert Delivery In A Distributed Processing System
US20130097215A1 (en) 2011-10-18 2013-04-18 International Business Machines Corporation Selected Alert Delivery In A Distributed Processing System
US9178936B2 (en) 2011-10-18 2015-11-03 International Business Machines Corporation Selected alert delivery in a distributed processing system
US8713581B2 (en) 2011-10-27 2014-04-29 International Business Machines Corporation Selected alert delivery in a distributed processing system
US8954811B2 (en) 2012-08-06 2015-02-10 International Business Machines Corporation Administering incident pools for incident analysis
US8943366B2 (en) 2012-08-09 2015-01-27 International Business Machines Corporation Administering checkpoints for incident analysis
CN104111872B (zh) * 2013-04-19 2016-02-17 腾讯科技(深圳)有限公司 系统事件的过滤方法、装置及终端
US9361184B2 (en) 2013-05-09 2016-06-07 International Business Machines Corporation Selecting during a system shutdown procedure, a restart incident checkpoint of an incident analyzer in a distributed processing system
US9170860B2 (en) 2013-07-26 2015-10-27 International Business Machines Corporation Parallel incident processing
US9658902B2 (en) 2013-08-22 2017-05-23 Globalfoundries Inc. Adaptive clock throttling for event processing
US9256482B2 (en) * 2013-08-23 2016-02-09 International Business Machines Corporation Determining whether to send an alert in a distributed processing system
US9602337B2 (en) 2013-09-11 2017-03-21 International Business Machines Corporation Event and alert analysis in a distributed processing system
US9086968B2 (en) 2013-09-11 2015-07-21 International Business Machines Corporation Checkpointing for delayed alert creation
JP6248523B2 (ja) * 2013-10-07 2017-12-20 富士通株式会社 データ処理管理方法、情報処理装置およびデータ処理管理プログラム
GB201320783D0 (en) * 2013-11-25 2014-01-08 Mind Candy Ltd An Improved messaging protocol
US9389943B2 (en) 2014-01-07 2016-07-12 International Business Machines Corporation Determining a number of unique incidents in a plurality of incidents for incident processing in a distributed processing system
CN105373420B (zh) * 2014-08-28 2019-12-06 北京奇虎科技有限公司 数据传输方法及装置
US9417840B2 (en) 2014-09-16 2016-08-16 Salesforce.Com, Inc. In-memory buffer service
CN105991416B (zh) * 2015-02-15 2019-05-31 无锡北邮感知技术产业研究院有限公司 一种消息传递方法及消息传递中间件
US11256572B2 (en) * 2017-01-23 2022-02-22 Honeywell International Inc. Systems and methods for processing data in security systems using parallelism, stateless queries, data slicing, or asynchronous pull mechanisms
US10459778B1 (en) 2018-07-16 2019-10-29 Microsoft Technology Licensing, Llc Sending messages between threads
US20220360486A1 (en) * 2021-05-06 2022-11-10 Bank Of America Corporation Real-time event data log processing system related to monitored events on a network
CN114840219B (zh) * 2022-07-06 2023-05-05 湖南傲思软件股份有限公司 分布式事件处理系统
CN116755891B (zh) * 2023-08-21 2023-10-20 成都中科合迅科技有限公司 基于多线程的事件队列处理方法和系统

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5588150A (en) * 1994-09-29 1996-12-24 International Business Machines Corporation Push down optimization in a distributed, multi-database system
GB2337664B (en) * 1995-03-31 2000-02-16 Inmarsat Ltd Communication method and apparatus
US6393386B1 (en) * 1998-03-26 2002-05-21 Visual Networks Technologies, Inc. Dynamic modeling of complex networks and prediction of impacts of faults therein
US6430616B1 (en) * 1998-12-04 2002-08-06 Sun Microsystems, Inc. Scalable system method for efficiently logging management information associated with a network
US6421701B1 (en) * 1999-01-29 2002-07-16 International Business Machines Corporation Method and system for replication support in a remote method invocation system
US6505244B1 (en) * 1999-06-29 2003-01-07 Cisco Technology Inc. Policy engine which supports application specific plug-ins for enforcing policies in a feedback-based, adaptive data network
US6765864B1 (en) * 1999-06-29 2004-07-20 Cisco Technology, Inc. Technique for providing dynamic modification of application specific policies in a feedback-based, adaptive data network
US6539427B1 (en) * 1999-06-29 2003-03-25 Cisco Technology, Inc. Dynamically adaptive network element in a feedback-based data network
US6584502B1 (en) * 1999-06-29 2003-06-24 Cisco Technology, Inc. Technique for providing automatic event notification of changing network conditions to network elements in an adaptive, feedback-based data network
US6654782B1 (en) * 1999-10-28 2003-11-25 Networks Associates, Inc. Modular framework for dynamically processing network events using action sets in a distributed computing environment
US6941557B1 (en) * 2000-05-23 2005-09-06 Verizon Laboratories Inc. System and method for providing a global real-time advanced correlation environment architecture
US7673335B1 (en) * 2004-07-01 2010-03-02 Novell, Inc. Computer-implemented method and system for security event correlation
US7043727B2 (en) * 2001-06-08 2006-05-09 Micromuse Ltd. Method and system for efficient distribution of network event data
US7516208B1 (en) * 2001-07-20 2009-04-07 International Business Machines Corporation Event database management method and system for network event reporting system
US8103497B1 (en) * 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US6782424B2 (en) * 2002-08-23 2004-08-24 Finite State Machine Labs, Inc. System, method and computer program product for monitoring and controlling network connections from a supervisory operating system
US7376733B2 (en) * 2003-02-03 2008-05-20 Hewlett-Packard Development Company, L.P. Method and apparatus and program for scheduling and executing events in real time over a network
US7313137B2 (en) * 2003-02-26 2007-12-25 International Business Machines Corp. System and method for efficient replication and distribution of data objects
US20040172467A1 (en) * 2003-02-28 2004-09-02 Gabriel Wechter Method and system for monitoring a network
GB0310689D0 (en) * 2003-05-09 2003-06-11 Ibm Monitoring operational data in data processing systems
US7363369B2 (en) * 2003-10-16 2008-04-22 International Business Machines Corporation Monitoring thread usage to dynamically control a thread pool
US7925665B2 (en) * 2004-03-08 2011-04-12 Siebel Systems, Inc. Using query persistence for efficient subquery evaluation in federated databases
US7965620B2 (en) * 2004-05-25 2011-06-21 Telcordia Licensing Company, Llc Method, computer product and system for correlating events in a network
US7395258B2 (en) * 2004-07-30 2008-07-01 International Business Machines Corporation System and method for adaptive database caching
US7707189B2 (en) 2004-10-05 2010-04-27 Microsoft Corporation Log management system and method
US7593980B2 (en) * 2004-11-30 2009-09-22 Cisco Technology, Inc. Application server system and method
US9760647B2 (en) * 2004-12-08 2017-09-12 Oracle International Corporation Techniques for automatically exposing, as web services, procedures and functions stored in a database
US20060190488A1 (en) * 2005-02-22 2006-08-24 Transparency Software, Inc. System and method for determining information related to user interactions with an application
US20080046557A1 (en) * 2005-03-23 2008-02-21 Cheng Joseph C Method and system for designing, implementing, and managing client applications on mobile devices
US7979530B1 (en) * 2005-04-27 2011-07-12 Juniper Networks, Inc. Inventory life cycle management for a computer network
US8694621B2 (en) * 2005-08-19 2014-04-08 Riverbed Technology, Inc. Capture, analysis, and visualization of concurrent system and network behavior of an application
US8572223B2 (en) * 2006-07-20 2013-10-29 Charles Schwab & Co., Inc. System and method for utilizing event templates in an event manager to execute application services
US8032900B2 (en) * 2006-08-02 2011-10-04 Microsoft Corporation Conducting client-server inter-process communication
US7509416B1 (en) * 2006-11-03 2009-03-24 Unisys Corporation Dynamically updating subcomponents in a tiered remote monitoring system
US7984452B2 (en) * 2006-11-10 2011-07-19 Cptn Holdings Llc Event source management using a metadata-driven framework
GB0718251D0 (en) * 2007-09-19 2007-10-31 Ibm An apparatus for propagating a query
US8374987B2 (en) * 2008-06-30 2013-02-12 Sap Ag Stateful, continuous evaluation of rules by a state correlation engine
US8028074B2 (en) * 2008-09-12 2011-09-27 Research In Motion Limited Obtaining information associated with established sessions
US9495174B2 (en) * 2009-01-02 2016-11-15 International Business Machines Corporation Agnostic processing of resource requests to message queues and sequential files
US8930527B2 (en) * 2009-05-26 2015-01-06 Oracle International Corporation High availability enabler
US9442777B2 (en) * 2009-07-31 2016-09-13 Hewlett-Packard Development Company, L.P. Non-blocking communication between an application and a server
US9917741B2 (en) * 2009-08-27 2018-03-13 Entit Software Llc Method and system for processing network activity data

Also Published As

Publication number Publication date
GB201203862D0 (en) 2012-04-18
CN102667718A (zh) 2012-09-12
GB2487317B (en) 2016-05-18
WO2011051026A2 (en) 2011-05-05
WO2011051026A3 (en) 2011-11-03
US20110106941A1 (en) 2011-05-05
GB2487317A (en) 2012-07-18
CN102667718B (zh) 2016-02-03
US8930526B2 (en) 2015-01-06

Similar Documents

Publication Publication Date Title
DE112010004187T5 (de) Verfahren und System zum Verarbeiten von Netzwerkereignissen
DE60117818T2 (de) Verwaltung des ersetzens von daten in einem zwischenspeicher auf einem knoten aufgrund von zwischenspeichern anderer knoten
DE69028371T2 (de) Verfahren und Vorrichtung zur Ausnutzung der Kommunikationsbandbreite und Zurverfügungstellung eines gemeinsamen Speichers
DE112017006806T5 (de) Datenflussverzögerungen in einer daten-streaming-anwendung verringern
DE112010004652B4 (de) Zuverlässige Replikation mit hohem Durchsatz von umgewandelten Daten in Datensystemen
DE69917333T2 (de) Übertragung einer Ressource von einem ersten Zwischenspeicher an einen zweiten Zwischenspeicher
DE112019002948T5 (de) Feststellen einer optimalen speicherumgebung für datensätze und für das migrieren von datensätzen
DE602005004166T2 (de) Vorrichtung, system und verfahren zur reinitialisierung einer serialisierung von dateisystemen
DE69802437T2 (de) Feinkörniger übereinstimmungsmechanismus für optimistische parallelsteuerung mit verriegelungsgruppen
DE3751091T2 (de) Übertragungsprotokoll zwischen Prozessoren.
DE60204687T2 (de) Speicherkopierbefehl mit Angabe von Quelle und Ziel, der in der Speichersteuerung ausgeführt wird
DE112011102242T5 (de) Vorrichtung zum Verarbeiten einer Stapelarbeitseinheit
DE202012013432U1 (de) Speichern von Daten auf Speicherknoten
DE112014001873T5 (de) Replikation für Hot-Standby-Online-Datenbank
DE112013000891T5 (de) Verbessern der Prozessorleistung für Befehlsfolgen, die Sperrbefehle enthalten
DE102012215918A1 (de) Spiegeln virtueller Maschinen von einem primären auf einen sekundären Host
DE102014114108A1 (de) Prozessleitsysteme und -verfahren
CN105912479A (zh) 一种并发数据的缓存方法及结构
DE102013201174A1 (de) Online-Überprüfung einer Standby-Datenbank in physischen Replikationsumgebungen mit Protokollversand
DE112012004551T5 (de) Mehrkernverknüpfung in einem Netzprozessor
DE112018004138B4 (de) Asynchrone aktualisierung von metadatenspuren in reaktion auf einen mittels einer e/a-operation über eine busschnittstelle erzeugten cachetreffer
DE112013000904T5 (de) Durchführen von Aktualisierungen von Quellcode, der auf einer Vielzahl von Rechenknoten ausgeführt wird
DE112020000146T5 (de) Handhabung einer eingabe-/ausgabe-speicheranweisung
DE19515661A1 (de) Halbleiter-Plattenvorrichtung
DE102020103521A1 (de) Minimieren der Nutzung von Hardware-Zählern bei getriggerten Operationen für kollektive Kommunikation

Legal Events

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