DE112012003540B4 - Leistungsüberwachungsmasszahlen für Datenstromanwendung - Google Patents

Leistungsüberwachungsmasszahlen für Datenstromanwendung Download PDF

Info

Publication number
DE112012003540B4
DE112012003540B4 DE112012003540.2T DE112012003540T DE112012003540B4 DE 112012003540 B4 DE112012003540 B4 DE 112012003540B4 DE 112012003540 T DE112012003540 T DE 112012003540T DE 112012003540 B4 DE112012003540 B4 DE 112012003540B4
Authority
DE
Germany
Prior art keywords
data
tuples
processing
stream
data stream
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.)
Active
Application number
DE112012003540.2T
Other languages
English (en)
Other versions
DE112012003540T5 (de
Inventor
Ryan K. Cradick
John Matthew Santosuosso
Michael Donald Pfeifer
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 DE112012003540T5 publication Critical patent/DE112012003540T5/de
Application granted granted Critical
Publication of DE112012003540B4 publication Critical patent/DE112012003540B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Environmental & Geological Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

In einem Datenverarbeitungssystem auf Datenstromgrundlage umgesetztes Verfahren, wobei das Verfahren aufweist:- Empfangen (502) von einem oder mehreren Tupeln, die einem ersten Datenstrom zugehörig sind und die mehrere Datenattribute umfassen, an einem ersten Verarbeitungselement, das so konfiguriert ist, dass es Datentupel verarbeitet, die durch das Datenverarbeitungssystem auf Datenstromgrundlage fließen;- Verarbeiten jedes des einen oder der mehreren Tupel an dem ersten Verarbeitungselement;- Zuordnen (506), an dem ersten Verarbeitungselement, von jedem des einen oder der mehreren Tupel zu Metadaten, die Informationen in Bezug auf die Verarbeitung des Tupels durch das erste Verarbeitungselement enthalten und wenigstens einen ersten und einen zweiten Zähler enthalten, die jeweils einem der mehreren Datenattribute des Tupels entsprechen, wobei der erste und der zweite Zähler eine Häufigkeit angibt, mit der die Datenattribute verändert wurden;- Aktualisieren an einem oder mehreren der mehreren Verarbeitungselemente unterhalb von dem ersten Verarbeitungselement wenigstens eines von dem ersten und zweiten Zähler in Abhängigkeit von der Weiterverarbeitung des einen oder der mehreren Tupel durch das eine oder mehrere stromabwärts liegende Verarbeitungselemente;- Berechnen (514) von Leistungsmaßzahlen auf der Grundlage der zu dem einen oder den mehreren Tupeln zugehörigen Metadaten an dem Datenstrom-Leistungsmanagerelement, nachdem das eine oder die mehreren Tupel durch die mehreren Verarbeitungselemente geflossen sind;- Anzeigen (516) der berechneten Leistungsmaßzahlen über eine Benutzerschnittstelle auf einer Anzeigeeinheit; und- automatisches Anpassen in Abhängigkeit von den berechneten Leistungsmaßzahlen von einer Konfiguration des Datenverarbeitungssystems auf Datenstromgrundlage.

Description

  • HINTERGRUND
  • Computerdatenbanken sind technisch äußerst anspruchsvoll geworden, so haben sich z.B. die an Datenbanksysteme gestellten Datenverarbeitungsanforderungen rasant erhöht. Datenbanksysteme sind üblicherweise so konfiguriert, dass sie den Prozess des Speicherns von Daten vom Zugreifen, Bearbeiten oder Verwenden von Daten trennen, die in der Datenbank gespeichert sind. Insbesondere verwenden Datenbanken ein Modell, in dem Daten zuerst gespeichert, dann indexiert und dann abgefragt werden. Dieses Modell kann jedoch die Leistungsanforderungen von einigen Echtzeitanwendungen nicht erfüllen. Zum Beispiel kann die Geschwindigkeit, mit der ein Datenbanksystem eingehende Daten empfangen und speichern kann, begrenzen, wie viele Daten verarbeitet oder anderweitig ausgewertet werden können, was wiederum die Nützlichkeit von Datenbankanwendungen begrenzt, die für die Verarbeitung großer Datenmengen in Echtzeit konfiguriert sind.
  • Um dieses Problem zu beheben, bilden sich eine Datenverarbeitung auf Datenstromgrundlage und eine Datenbank-Datenverarbeitung auf Datenstromgrundlage als eine Entwicklungstechnologie für Datenbanksysteme heraus, in denen Produkte verfügbar sind und Benutzern gestatten, Anwendungen zu erstellen, die Datenstromdaten vor dem Erreichen einer Datenbankdatei verarbeiten und abfragen. Mit dieser aufkommenden Technologie können Benutzer eine Verarbeitungslogik angeben, die auf eingehende Datensätze angewendet werden soll, während sie sich „unterwegs“ befinden, wobei die Ergebnisse in Millisekunden verfügbar sind. Ein Konstruieren einer Anwendung unter Verwendung dieses Verarbeitungstyps hat ein neues Programmier-Paradigma eröffnet, das die Entwicklung einer breiten Vielfalt von innovativen Anwendungen, Systemen und Prozessen ermöglichen wird, sowie neue Herausforderungen für Anwendungsprogrammierer und Datenbankentwickler darstellt.
  • Messen der Leistung einer Anwendung auf Datenstromgrundlage ermöglicht es festzustellen, ob die Anwendung auf Datenstromgrundlage in einer optimierten Weise arbeitet. In einer Anwendung auf Datenstromgrundlage werden „Tupel“ von Daten über einen Datenstrom empfangen und über Verarbeitungselemente (PEs) weitergeleitet, die Operationen an den Tupeln vornehmen und die Tupel dann an ein anderes Verarbeitungselement zur weiteren Verarbeitung übersenden. Eine Technik zum Messen der Leistung einer Anwendung auf Datenstromgrundlage bezieht ein Ermitteln eines Durchsatzes der Tupel ein, die über den Datenstrom empfangen werden, z.B. kann eine bestimmte Anwendung auf Datenstromgrundlage als effizient betrachtet werden, wenn einhundert Tupel pro Minute von einem oder mehreren PEs vollständig verarbeitet werden. Leider kann diese Maßzahl alleine nicht für die Angabe verwendet werden, um anzugeben, ob die Anwendung auf Datenstromgrundlage in einer optimierten Weise arbeitet, da verschiedene Bedingungen die Geschwindigkeit beeinflussen, mit der Tupel in dem Datenstrom ankommen. Zum Beispiel schwankt die Anzahl von Tupeln, die über einen Really-Simple-Syndication- (RSS-) Feed (d.h. einen Datenstrom) empfangen werden, abhängig von der Tageszeit, da Nachrichtenartikel oft häufiger zu bestimmten Tageszeiten erzeugt werden, z.B. am Morgen und abends. Demzufolge kann ein Benutzer fälschlicherweise gewarnt werden, dass es bei der Anwendung auf Datenstromgrundlage Probleme gibt, selbst wenn die Anwendung auf Datenstromgrundlage in einer optimierten Weise arbeitet.
  • Aus US 2011 / 0 167 148 A1 sind ein System und ein Verfahren zum Verflechten von Überwachungsdaten von einem Server und einem Client des Servers bekannt. Dazu werden wenigstens Teile der beiden Datenströme zwischengespeichert.
  • Aus WATERS, Christopher; HOWELL, Jonathan; JANKUN-KELLY, T. J. CluVis: dual-domain visual exploration of cluster/network metadata. In: Proceedings of the 45th annual southeast regional conference. ACM, 2007. S. 272-276. doi: 10.1145/1233341.1233390 ist ein System und Verfahren bekannt zur Videoüberwachung und -untersuchung von Metadaten im Netz.
  • Ausgehend von diesem Stand der Technik stellt sich die Erfindung die Aufgabe, die Leistung eines Datenverarbeitungssystems zu erfassen und in Abhängigkeit von der ermittelten Leistung gegebenenfalls die Konfiguration des Systems zu verbessern.
  • Diese Aufgabe wird erfindungsgemäß gelöst durch ein in einem Datenverarbeitungssystem auf Datenstromgrundlage umgesetztes Verfahren nach Anspruch 1 sowie ein System nach Anspruch 11 und ein Computerprogrammprodukt nach Anspruch 12. Bevorzugte Ausführungsformen der Erfindung sind Gegenstand der Unteransprüche.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Die Erfindung stellt eine Technik zum Berechnen von Leistungsmaßzahlen bereit, die einem Datenstrom zugehörig sind. Die Technik umfasst die Schritte des Empfangens an einem ersten Verarbeitungselement, das so konfiguriert ist, dass es Datentupel verarbeitet, die durch das Datenverarbeitungssystem auf Datenstromgrundlage fließen, von einem oder mehreren Tupeln, die einem ersten Datenstrom zugehörig sind, des Verarbeitens jedes des einen oder der mehreren Tupel an dem ersten Verarbeitungselement, des Zuordnens jedes des einen oder der mehreren Tupel zu Metadaten, die Informationen in Bezug auf die Verarbeitung des Tupels durch das erste Verarbeitungselement enthalten, des Berechnens von Leistungsmaßzahlen auf der Grundlage der Metadaten, die zu dem einen oder den mehreren Tupeln zugehörig sind, und des Anzeigens der berechneten Leistungsmaßzahlen über eine Benutzerschnittstelle auf einer Anzeigeeinheit.
  • Die Erfindung stellt außerdem ein System zur Durchführung des Verfahrens bereit.
  • Die Erfindung stellt in Form eines Computerprogrammprodukts zusätzlich ein nichtflüchtiges computerlesbares Speichermedium bereit, das Anweisungen enthält, um ein Computersystem zu veranlassen, eines oder mehrere der oben dargelegten Verfahren auszuführen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die Erfindung wird anschließend mit Bezug auf die beigefügten Zeichnungen anhand von bevorzugten Ausführungsformen erläutert.
    • Die 1A bis 1B veranschaulichen eine Datenverarbeitungsinfrastruktur, die so konfiguriert ist, dass sie eine Datenstrom-Datenbankanwendung gemäß einer Ausführungsform der Erfindung ausführt.
    • 2 veranschaulicht einen Datenverarbeitungsknoten gemäß einer Ausführungsform der Erfindung.
    • 3 veranschaulicht ein Managementsystem gemäß einer Ausführungsform der Erfindung.
    • 4 veranschaulicht einen Operator-Graphen, in dem Leistungsmaßzahlen, die zu einem oder mehreren Datenströmen zugehörig sind, gemäß einer Ausführungsform der Erfindung berechnet werden.
    • 5 ist ein Ablaufplan eines Verfahrens zum Berechnen von einer oder mehreren Leistungsmaßzahlen, die zu einem Datenstrom zugehörig sind, gemäß einer Ausführungsform der Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ausführungsformen der Erfindung stellen Techniken zum Ermitteln von verschiedenen Leistungsmaßzahlen bereit, die einer Anwendung auf Datenstromgrundlage zugehörig sind. Im Kontext dieser Offenbarung enthält eine Anwendung auf Datenstromgrundlage ein oder mehrere Verarbeitungselemente, die einen Datenstrom empfangen, wobei der Datenstrom Tupel zu einem oder den mehreren Verarbeitungselementen befördert. Jedes Verarbeitungselement kann im Allgemeinen ein Tupel (oder mehrere Tupel) empfangen und ein Tupel (oder mehrere Tupel) zu anderen Verarbeitungselementen senden. Die gesendeten Tupel können durch das Verarbeitungselement unverändert bleiben, aber es können auch neue oder modifizierte Tupel erzeugt werden. Tupel, die in dem Datenstrom enthalten sind, werden mit Metadaten-Tags gekennzeichnet, wenn sie von dem einen oder den mehreren Verarbeitungselementen verarbeitet werden, was einen Datenstrom-Leistungsmanager in die Lage versetzt, die verschiedenen Leistungsmaßzahlen zu identifizieren, die zu dem Datenstrom zugehörig sind. Als Ergebnis dessen können die verschiedenen Leistungsmaßzahlen verwendet werden, um die Leistung der Anwendung auf Datenstromgrundlage zu ermitteln und potenzielle Verarbeitungsengpässe in der Anwendung auf Datenstromgrundlage zu identifizieren. Des Weiteren können Anpassungen an der Anwendung auf Datenstromgrundlage automatisch auf der Grundlage der verschiedenen Leistungsmaßzahlen vorgenommen werden, um die Verarbeitungsengpässe abzumildern.
  • Die 1A bis 1B veranschaulichen eine Datenverarbeitungsinfrastruktur 100, die so konfiguriert ist, dass sie eine Anwendung auf Datenstromgrundlage gemäß einer Ausführungsform der Erfindung ausführt. Wie gezeigt, enthält die Datenverarbeitungsinfrastruktur ein Managementsystem 105 und eine Vielzahl von Datenverarbeitungsknoten 1301-4, die jeweils mit einem Datenübertragungsnetzwerk 120 verbunden sind. Außerdem enthält das Managementsystem 105 einen Operator-Graphen 132 und einen Datenstrom-Manager 143. Der Operator-Graph 132 stellt eine Anwendung auf Datenstromgrundlage beginnend ab einem oder mehreren Quellen-Verarbeitungselementen (PEs) bis zu einem oder mehreren Senken-PEs dar. Datenelemente fließen in ein Quellen-PE einer Anwendung auf Datenstromgrundlage und werden von diesem PE verarbeitet. Üblicherweise empfangen Verarbeitungselemente ein N-Tupel von Datenelementen aus dem Datenstrom und senden auch ein N-Tupel von Datenelementen in den Datenstrom (ausgenommen ein Senken-PE, an dem der Datenstrom endet). Selbstverständlich muss das von einem Verarbeitungselement empfangene N-Tupel nicht dasselbe N-Tupel sein, das stromabwärts geschickt wird. Und die Verarbeitungselemente könnten so konfiguriert sein, dass sie Daten in anderen Formaten als ein N-Tupel empfangen oder senden (z.B. könnten die Verarbeitungselemente Daten austauschen, die als XML-Dokumente formatiert sind). Außerdem kann jedes Verarbeitungselement so konfiguriert sein, dass es jede Form von Datenverarbeitungsfunktionen an dem empfangenen Tupel ausführt, einschließlich z. B. Schreiben in Datenbanktabellen oder Ausführen anderer Datenbankoperationen wie Datenverknüpfungen, -aufteilungen, -lesevorgänge usw. sowie Ausführen anderer Datenanalysefunktionen oder Operationen.
  • Der Datenstrom-Manager 134 kann so konfiguriert werden, dass er eine Anwendung auf Datenstromgrundlage überwacht, die auf den Datenverarbeitungsknoten 1301-4 läuft, sowie die Struktur des Operator-Graphen 132 ändert. Zum Beispiel kann der Datenstrom-Manager 134 Verarbeitungselemente (PEs) von einem Datenverarbeitungsknoten 130 zu einem anderen verschieben, um z.B. die Verarbeitungslasten der Datenverarbeitungsknoten 130 in der Datenverarbeitungsinfrastruktur 100 zu verwalten. Ferner kann der Datenstrom-Manager 134 die Anwendung auf Datenstromgrundlage durch Einfügen, Entfernen, Zusammenlegen, Rückgängigmachen der Zusammenlegung oder anderweitiges Modifizieren der Verarbeitungselemente (oder welche Daten-Tupel auch immer zu den Verarbeitungselementen fließen) steuern, die auf den Datenverarbeitungsknoten 1301-4 laufen.
  • 1B veranschaulicht einen beispielhaften Operator-Graphen, der zehn Verarbeitungselemente (die als PE1 bis PE10 bezeichnet werden) enthält, die auf den Datenverarbeitungsknoten 1301-4 laufen. Zwar kann ein Verarbeitungselement als ein unabhängig laufender Prozess (mit seiner eigenen Prozess-ID (PID) und eigenem Speicherplatz) ausgeführt werden, doch können mehrere Verarbeitungselemente zusammengelegt werden, um als einzelner Prozess zu laufen (mit einer PID und Speicherplatz). In Fällen, in denen zwei (oder mehr) Verarbeitungselemente unabhängig voneinander laufen, kann eine zwischen Prozessen ablaufende Datenübertragung unter Verwendung eines Netzwerk-Socket (z.B. ein TCP/IP-Socket) auftreten. Allerdings können die zusammengelegten Verarbeitungselemente schnellere Datenübertragungstechniken zum Übergeben von N-Tupeln (oder anderen Daten) zwischen Verarbeitungselementen (und Operatoren in jedem Verarbeitungselement) verwenden, wenn Prozesse zusammengelegt werden.
  • Wie gezeigt, beginnt der Operator-Graph an PE1, das aus der Quelle 135 liest, und an PE6 und PE10 endet, die beide in die Senke 1401-2 schreiben. Der Datenverarbeitungsknoten 1301 enthält die Quelle PE1 zusammen mit PE2 und PE3. Die Quelle PE1 sendet Tupel, die von PE2 und PE3 empfangen werden. Zum Beispiel kann PE1 Datenelemente, die in einem Tupel empfangen werden, aufteilen und einige Datenelemente an PE2, andere an PE3 übergeben. Daten, die zu PE2 fließen, führen zu Tupeln, die an PE4 auf dem Datenverarbeitungsknoten 1302 gesendet werden. Und Datentupel, die von PE4 gesendet werden, fließen zur Senke PE6, die in die Senke 1401 schreibt. Auf ähnliche Weise erreichen auch Tupel, die von PE3 zu PE5 fließen, die Senke PE6, die in die Senke 1401 schreibt. Daher könnte PE6 zusätzlich dazu, dass es eine Senke für diese beispielhafte Operator-Grafik ist, so konfiguriert werden, dass es eine Join-Operation (Verknüpfung) ausführt, die Tupel kombiniert, die von PE4 und PE5 empfangen werden. Diese beispielhafte Operator-Grafik zeigt auch Datentupel, die von PE3 nach PE7 auf dem Datenverarbeitungsknoten 1303 fließen, der selbst Datentupel zeigt, die zu PE8 fließen und in einer Schleife zu PE7 zurückkehren. Datentupel, die von PE8 gesendet werden, fließen zu PE9 auf dem Datenverarbeitungsknoten 1304, der Tupel sendet, die durch die Senke PE10 verarbeitet werden, die in die Senke 1402 schreibt.
  • 2 ist eine detailliertere Ansicht des Datenverarbeitungsknotens 130 der 1 A bis 1 B gemäß einer Ausführungsform der Erfindung. Wie gezeigt, enthält der Datenverarbeitungsknoten 130 ohne Einschränkung eine zentrale Verarbeitungseinheit (CPU) 205, eine Netzwerkschnittstelle 215, eine Verbindung 220, einen Arbeitsspeicher (Memory) 225 und einen Datenspeicher (Storage) 230. Der Datenverarbeitungsknoten 130 kann auch eine E/A-Einheitenschnittstelle 210 enthalten, die zum Verbinden der E/A-Einheiten 212 (z.B. Tastatur-, Anzeige- und Mauseinheiten) mit dem Datenverarbeitungsknoten 130 verwendet wird.
  • Die CPU 205 ruft Programmieranweisungen ab, die in dem Speicher 225 gespeichert sind, und führt sie aus. Auf ähnliche Weise speichert die CPU 205 Anwendungsdaten, die sich in dem Arbeitsspeicher 225 befinden, und ruft sie ab. Die Verbindung 220 wird zum Übertragen von Programmieranweisungen und Anwendungsdaten zwischen der CPU 205, der E/A-Einheitenschnittstelle 210, dem Datenspeicher 230, der Netzwerkschnittstelle 215 und dem Arbeitsspeicher 225 verwendet. Die enthaltene CPU 205 steht stellvertretend für eine einzelne CPU, mehrere CPUs, eine einzelne CPU mit mehreren Verarbeitungskernen und dergleichen. Und der enthaltene Arbeitsspeicher 225 steht im Allgemeinen stellvertretend für einen Direktzugriffspeicher. Der Datenspeicher 230 wie beispielsweise ein Festplattenlaufwerk, eine Solid-State-Einheit (SSD) oder ein Flash-Speicher-Speicherlaufwerk kann nichtflüchtige Daten speichern.
  • In diesem Beispiel enthält der Arbeitsspeicher 225 ein zusammengelegtes Verarbeitungselement (PE) 235, einen Datenstromknoten 245, einen Datenstrom-Leistungsmonitor 248 und Datenstrom-Verbindungsdaten 255. Der Datenstromknoten 245 enthält eine Sammlung von Operatoren 240. Jeder Operator 240 kann einen kleinen Datenblock (Chunk) von ausführbarem Code enthalten, der so konfiguriert ist, dass er Daten verarbeitet, die in ein Verarbeitungselement fließen (z.B. PE 235) und Daten an andere Operatoren 240 in diesem PE und zu anderen PEs in der Anwendung auf Datenstromgrundlage sendet. Derartige PEs können auf demselben Datenverarbeitungsknoten 130 oder auf anderen Datenverarbeitungsknoten liegen, auf die über das Datenübertragungsnetzwerk 120 zugegriffen wird.
  • Der Datenstrom-Leistungsmonitor 248 ist so konfiguriert, dass er Tupel, die über einen Datenstrom empfangen werden, mit Metadaten-Tags kennzeichnet, die es einem nachstehend in Verbindung mit den 3 bis 5 ausführlich beschriebenen Datenstrom-Leistungsmanager ermöglichen, verschiedene Leistungsmaßzahlen zu identifizieren, die zu dem Datenstrom zugehörig sind. Die Datenstrom-Verbindungsdaten 255 stellen die Verbindungen zwischen PEs auf dem Datenverarbeitungsknoten 130 dar (z.B. eine TCP/IP-Socket-Verbindung) sowie Verbindungen zu anderen Datenverarbeitungsknoten 130 mit stromaufwärts und stromabwärts liegenden PEs in der Anwendung auf Datenstromgrundlage, ebenfalls über TCP/IP-Sockets (oder andere zwischen Prozessen ablaufende Datenübertragungsmechanismen).
  • Gepufferte Datenstromdaten 260 stellen einen Speicherplatz für Daten dar, die von stromaufwärts liegenden Verarbeitungselementen (oder von einer Datenquelle für die Anwendung auf Datenstromgrundlage) in den Datenverarbeitungsknoten 105 fließen. Zum Beispiel können gepufferte Datenstromdaten Daten-Tupel enthalten, die darauf warten, von einem Verarbeitungselement wie PE 235 verarbeitet zu werden. Die gepufferten Datenstromdaten 260 können auch die Ergebnisse einer durch PE 235 ausgeführten Datenverarbeitung speichern, die an stromabwärts liegende Verarbeitungselemente (oder eine Lastabgabestelle an stromabwärts liegenden Verarbeitungselementen) gesendet werden.
  • 3 ist eine detailliertere Ansicht des Managementsystems 105 von 1 gemäß einer Ausführungsform der Erfindung. Wie gezeigt, enthält das Managementsystem 105 ohne Einschränkung eine zentrale Verarbeitungseinheit (CPU) 305, eine Netzwerkschnittstelle 315, eine Verbindung 320, einen Arbeitsspeicher (Memory) 325 und einen Datenspeicher (Storage) 330. Das Client-System 310 kann auch eine E/A-Einheitenschnittstelle 310 enthalten, die die E/A-Einheiten 312 (z.B. Tastatur-, Anzeige- und Mauseinheiten) mit dem Managementsystem 105 verbindet.
  • Wie die CPU 205 von 2 ist die CPU 305 so konfiguriert, dass sie Programmieranweisungen abruft, die in dem Arbeitsspeicher 325 und in dem Datenspeicher 330 gespeichert sind, und sie ausführt. Auf ähnliche Weise ist die CPU 305 so konfiguriert, dass sie Anwendungsdaten, die sich in dem Arbeitsspeicher 325 und in dem Datenspeicher 330 befinden, speichert und abruft. Die Verbindung 320 ist so konfiguriert, dass sie Daten, wie beispielsweise Programmieranweisungen und Anwendungsdaten, zwischen der CPU 305, der E/A-Einheitenschnittstelle 310, dem Datenspeicher 330, der Netzwerkschnittstelle 305 und dem Arbeitsspeicher 325 verschiebt. Wie die CPU 205 steht die enthaltene CPU 305 stellvertretend für eine einzelne CPU, mehrere CPUs, eine einzelne CPU mit mehreren Verarbeitungskernen und dergleichen. Der enthaltene Speicher 325 steht im Allgemeinen stellvertretend für einen Direktzugriffspeicher. Die Netzwerkschnittstelle 315 ist so konfiguriert, dass sie Daten über das Datenübertragungsnetzwerk 120 überträgt. Obwohl er als einzelne Einheit gezeigt ist, kann der Datenspeicher 330 eine Kombination aus festen und/oder austauschbaren Speichereinheiten sein wie beispielsweise Festplattenlaufwerke, austauschbare Speicherkarten, optische Speicher, SSD- oder Flash-Speichereinheiten, netzgebundener Speicher (NAS) oder Verbindungen zu Speicherbereichsnetz- (SAN-) Einheiten.
  • Wie gezeigt, sind im Arbeitsspeicher 325 ein Datenstrom-Manager 134 und einen Datenstrom-Leistungsmanager 335 gespeichert. Der Datenspeicher 330 enthält einen Operator-Graphen 132. Der Operator-Graph 132 stellt eine Anwendung auf Datenstromgrundlage beginnend ab einem oder mehreren Quellen-Verarbeitungselementen (PEs) bis zu einem oder mehreren Senken-PEs dar. In einer Ausführungsform überwacht der Datenstrom-Manager 134 eine Anwendung auf Datenstromgrundlage, die auf den Datenverarbeitungsknoten 1301-4 läuft, und ändert die Struktur des Operator-Graphen 132 nach Bedarf. Zum Beispiel kann der Datenstrom-Manager 134 Verarbeitungselemente (PEs) von einem Datenverarbeitungsknoten 130 zu einem anderen verschieben, um z.B. die Verarbeitungslasten der Datenverarbeitungsknoten 130 in der Datenverarbeitungsinfrastruktur 100 zu verwalten. Ferner kann der Datenstrom-Manager 134 die Anwendung auf Datenstromgrundlage durch Einfügen, Entfernen, Zusammenlegen, Rückgängigmachen der Zusammenlegung oder anderweitiges Modifizieren der Verarbeitungselemente (oder welche Daten-Tupel auch immer zu den Verarbeitungselementen fließen) steuern, die auf den Datenverarbeitungsknoten 1301-4 laufen.
  • Der Datenstrom-Leistungsmanager 335 ist so konfiguriert, dass er die Metadaten analysiert, die als Tags mit Tupeln verbunden sind, indem einer oder mehrere Datenstrom-Leistungsmonitore 248 verwendet werden. Durch eine derartige Analyse berechnet der Datenstrom-Leistungsmanager 335 nützliche Leistungsmaßzahlen, die dem Datenstrom zugehörig sind, in dem Tupel empfangen werden. Zum Beispiel kann der Datenstrom-Leistungsmanager 335 so konfiguriert werden, dass er einen Gesamtbetrag von Zeit ermittelt, die ein Tupel für das Zurücklegen des Wegs zwischen zwei bestimmten PEs braucht, die in einem Operator-Graphen enthalten sind, um einen Gesamtbetrag von Zeit zu ermitteln, die ein Tupel für das Zurücklegen des Wegs zwischen einer Gruppe von PEs benötigt, um einen Gesamtbetrag von Zeit zu ermitteln, die ein Tupel für das Durchlaufen aller in einem Operator-Graphen enthaltenen PEs benötigt und/oder um einen Gesamtbetrag von Zeit zu ermitteln, die ein Tupel zum Durchlaufen von zwei oder mehr Datenverarbeitungsknoten benötigt. Der Datenstrom-Leistungsmanager 335 kann auch so konfiguriert sein, dass er eine Gesamtanzahl von Operatoren ermittelt, die ein bestimmtes Tupel durchläuft, um eine Gesamtanzahl zu berechnen, wie oft jedes Attribut des Tupels aktualisiert wird und/oder um absolute doppelte oder teilweise doppelte Datenströme in einem oder mehreren PEs, Operator-Graphen oder Datenverarbeitungsknoten zu identifizieren.
  • Vorteilhafterweise können diese Leistungsmaßzahlen zum Identifizieren von Verarbeitungs-Leistungsschwächen in einer Anwendung auf Datenstromgrundlage verwendet werden. Wenn zum Beispiel eine Verringerung in dem Durchsatz von Tupeln, die über einen Datenstrom empfangen werden, auf der Grundlage von einer oder mehreren der obigen Leistungsmaßzahlen erkannt wird, kann eine weitere Analyse der Attribute von Tupeln, die über den Datenstrom empfangen werden - in Verbindung mit einer Analyse dessen, wie die Daten in der Anwendung auf Datenstromgrundlage verarbeitet werden - von dem Datenstrom-Manager 134 verwendet werden, um automatisch das Erstellen von zusätzlichen Datenstrompfaden zu veranlassen in dem Versuch, den Tupel-Durchsatz des Datenstroms wiederherzustellen. In einem Beispiel werden Tupel, die über den Datenstrom ankommen, an einem Namensattribut von entweder „RYAN“ oder „JOHN“ aufgeteilt, was üblicherweise zu einer gleichmäßigen Verteilung der Tupel über die Anwendung auf Datenstromgrundlage führt. Die Anwendung auf Datenstromgrundlage kann jedoch an einem Punkt aufgrund einer unregelmäßigen Verteilung des Empfangens nur von Tupeln mit einem Namensattribut „JOHN“ überlastet sein. In diesem Fall kann z.B. durch den Datenstrom-Manager 134 automatisch ein weiterer Pfad zum Verarbeiten von Tupeln mit dem Namensattribut „JOHN“ erstellt werden, um die Verteilung von Tupeln in der Anwendung auf Datenstromgrundlage auszugleichen. Die aktualisierte Konfiguration der Anwendung auf Datenstromgrundlage wird dann durch den Datenstrom-Leistungsmanager 335 stichprobenartig geprüft, um zu ermitteln, ob die aktualisierte Konfiguration die Durchsatz-Leistungsschwächen abgemildert hat. 4 veranschaulicht einen Operator-Graphen 400, in dem Leistungsmaßzahlen, die zu einem oder mehreren Datenströmen zugehörig sind, gemäß einer Ausführungsform der Erfindung berechnet werden. Wie gezeigt, fließen die Datenströme 4021-6 von PE 404 zu PE 406, wobei PE 406 die Datenströme 4021-3 zur Verarbeitung an PE 408 und die Datenströme 4024-6 zur Verarbeitung an PE 410 verteilt. Wie oben beschrieben, sind einer oder mehrere Datenstrom-Leistungsmonitore wie der Datenstrom-Leistungsmonitor 430 so konfiguriert, dass sie Tupel, die über die Datenströme 402 empfangen und durch die PEs 404, 406, 408, 410 und 412 verarbeitet werden, mit Metadaten-Tags kennzeichnen. Auf diese Weise ist der Datenstrom-Leistungsmanager 335 in der Lage, verschiedene Leistungsmaßzahlen für die Datenströme 402, die PEs 404, 406, 408, 410 und 412, den Operator-Graphen 400 und einen oder mehrere Datenverarbeitungsknoten zu berechnen, die die PEs 404, 406, 408, 410 und 412 (nicht gezeigt) ausführen.
  • Wenn in dem in 4 gezeigten Beispiel PE 408 und PE 410 jeweils die Datenströme 4021-3 und die Datenströme 4024-6 verarbeiten, werden sie als die Datenströme 4021-3' und die Datenströme 4024-6' ausgegeben und zur weiteren Verarbeitung an PE 412 übersandt. Wenn PE 412 die Datenströme 4021-6' verarbeitet, werden sie als die Datenströme 4021-6'' ausgegeben, wobei die Datenströme 4021-5'' an PE 414 übersandt werden und die Datenströme 4026'' in einer „Schleife“ zur weiteren Verarbeitung durch PE 410 zu PE 410 zurückgeführt werden, wobei PE 410 optional den Datenstrom 4026''' an PE 412 ausgeben kann.
  • In einer Ausführungsform ist jedes der PEs, z.B. PE 408, unter dem Betrieb eines zugehörigen Datenstrom-Leistungsmonitors 430 so konfiguriert, dass jedes am PE 408 empfangene Tupel zuerst mit einem Tag von Metadaten gekennzeichnet wird, die 1) eine zu PE 408 zugehörige Kennungs- (ID) Nummer, 2) eine ID-Nummer des Operator-Graphen, in dem PE 408 enthalten ist (d.h. der Operator-Graph 400), 3) eine ID-Nummer des Datenverarbeitungsknotens, in dem das PE 408 ausgeführt wird (nicht gezeigt), und 4) einen Zeitstempel enthalten, der einen Zeitpunkt angibt, an dem das Tupel von PE 408 empfangen wurde. Vor dem Ausgeben des verarbeiteten Tupels kennzeichnet PE408 unter dem Betrieb des zugehörigen Datenstrom-Leistungsmonitors 430 das verarbeitete Tupel mit zusätzlichen Metadaten, die einen aktuellen Zeitstempel und die oben beschriebenen IDs angeben. Wenn daher das Tupel zu dem nachfolgenden PE 412 übertragen wird, ist der Datenstrom-Leistungsmanager 335 auch in der Lage, über einen Datenstrom-Leistungsmonitor 430, der zu PE 412 zugehörig ist, für PE 408 den Zeitbetrag für die Verarbeitung des Tupels zu ermitteln.
  • Wie oben beschrieben, werden die vorgenannten Metadaten von dem Datenstrom-Manager 335 zum Ermitteln einer Vielfalt von Leistungsmaßzahlen verwendet. In einem Beispiel ermittelt der Datenstrom-Manager 335 einen Gesamtbetrag von Zeit, die ein Tupel für das Zurücklegen des Wegs zwischen zwei spezifischen PE benötigt, die in einem Operator-Graphen enthalten sind, z.B. PE 404 und PE 412, die in dem Operator-Graphen 400 enthalten sind. Für diese Ermittlung ruft der Datenstrom-Manager 335 aus den Metadaten des Tupels die Zeitstempel ab, die den IDs von PE 404 und PE 412 zugehörig sind, und berechnet eine Differenz zwischen den Zeitstempeln, wobei die Differenz den Zeitbetrag darstellt, den das Tupel für das Zurücklegen des Wegs zwischen PE 404 und PWE 412 benötigt.
  • In einem weiteren Beispiel ermittelt der Datenstrom-Manager 335 einen Gesamtbetrag von Zeit, die ein Tupel für das Zurücklegen des Wegs zwischen einer Gruppe von PEs benötigt, d.h. drei oder mehr PEs, die in einer Operator-Grafik enthalten sind, z.B. PEs 410, 412 und 414. Für diese Ermittlung analysiert der Datenstrom-Manager 335 die Organisation der Operator-Grafik 400, um einen Anfangspunkt und einen Endpunkt der Gruppe von PEs, d.h. PE 410 und PE 412 zu ermitteln, ruft dann aus den Metadaten des Tupels die Zeitstempel ab, die den IDS der PEs 410 und 412 zugehörig sind, und berechnet eine Differenz zwischen den Zeitstempeln, wobei die Differenz den Zeitbetrag darstellt, den das Tupel für das Zurücklegen des Wegs zwischen der Gruppe der PEs 410, 412 und 414 benötigt.
  • In einem weiteren Beispiel ermittelt der Datenstrom-Manager 335 einen Gesamtbetrag von Zeit, die ein Tupel für das Durchlaufen aller PEs in einer Operator-Grafik benötigt, z.B. PEs 404, 406, 408, 410 und 412, die in der Operator-Grafik 400 enthalten sind. Für diese Ermittlung analysiert der Datenstrom-Manager 335 die Organisation der Operator-Grafik 400, um einen Anfangspunkt und einen Endpunkt der Operator-Grafik zu ermitteln, d.h. PE 404 und PE 412, ruft dann aus den Metadaten des Tupels die Zeitstempel ab, die den IDS der PEs 404 und 412 zugehörig sind, und berechnet eine Differenz zwischen den Zeitstempeln, wobei die Differenz den Zeitbetrag darstellt, den das Tupel für das Durchlaufen der Operator-Grafik 400 benötigt.
  • In einem weiteren Beispiel ermittelt der Datenstrom-Manager 335 einen Gesamtbetrag von Zeit, den ein Tupel zum Durchlaufen von zwei oder mehr Datenverarbeitungsknoten (nicht gezeigt) benötigt. In einem Beispiel werden die PEs 404 und 406 auf einem ersten Datenverarbeitungsknoten ausgeführt, wogegen die PEs 408, 410 und 412 auf einem zweiten Datenverarbeitungsknoten ausgeführt werden. Zum Ermitteln des Zeitbetrags, den ein Tupel für das Zurücklegen des Wegs zwischen dem ersten Datenverarbeitungsknoten und dem zweiten Datenverarbeitungsknoten benötigt, ruft der Datenstrom-Manager aus den Metadaten des Tupels die Zeitstempel ab, die den IDs des ersten Datenverarbeitungsknotens und des zweiten Datenverarbeitungsknotens zugehörig sind, und berechnet eine Differenz zwischen den Zeitstempeln, wobei die Differenz den Zeitbetrag darstellt, den das Tupel für das Zurücklegen des Wegs zwischen dem ersten Datenverarbeitungsknoten und dem zweiten Datenverarbeitungsknoten benötigt.
  • In einem weiteren Beispiel ermittelt der Datenstrom-Manager 335 eine Gesamtanzahl von Operatoren, die ein bestimmtes Tupel durchläuft. Für diese Ermittlung bezieht sich der Datenstrom-Manager 335 auf die Metadaten des Tupels und analysiert die darin enthaltenen Zeitstempel/IDs, um Zählwerte für ein oder mehrere PEs, Operator-Graphen und Datenverarbeitungsknoten zu erhalten, die das Tupel verarbeiten, wobei jeder Zählwert angibt, wie oft die zugehörige Entität das Tupel verarbeitet hat.
  • Außerdem ist jedes der PEs, z.B. PE 408, unter dem Betrieb eines zugehörigen Datenstrom-Leistungsmonitors 430 so konfiguriert, dass jedes Tupel, das an PE 408 empfangen wird, mit Metadaten-Tags gekennzeichnet wird, die angeben, wie oft jedes Datenattribut des Tupels geändert worden ist. Wenn zum Beispiel ein Tupel ein erstes, zweites und drittes Attribut hat und PE 408 das erste und zweite Attribut des Tupels aktualisiert, werden ein Zähler für das erste Attribut und ein Zähler für das zweite Attribut erhöht. Dementsprechend bezieht sich der Datenstrom-Leistungsmanager 335 auf diese Metadaten, um eine Gesamtanzahl zu berechnen, wie oft jedes Attribut des Tupels aktualisiert wird, wenn das Tupel z. B. den Operator-Graphen 400 durchläuft.
  • Der Datenstrom-Leistungsmanager 335 ist ferner so konfiguriert, dass er die vorhergehenden Metadaten analysiert, um absolute doppelte oder teilweise doppelte Datenströme in einem oder mehreren PEs, Operator-Graphen oder Datenverarbeitungsknoten zu identifizieren. Insbesondere analysiert der Datenstrom-Leistungsmanager 335 die Zeitstempel und IDs, die in den Metadaten enthalten sind, die zwei oder mehreren Tupeln zugehörig sind - zusammen mit Datenattributen der zwei oder der mehreren Tupel - um Ähnlichkeiten zwischen den zwei oder den mehreren Tupeln zu identifizieren. Wenn zum Beispiel ein erstes Tupel angibt, dass ein erstes Verarbeitungselement das erste Tupel zum Zeitpunkt X verarbeitet, während ein zweites Tupel angibt, dass ein zweites Verarbeitungselement ein zweites Tupel zum Zeitpunkt X verarbeitet, wobei das erste Tupel und das zweite Tupel identische Attribute haben, kann der Datenstrom-Leistungsmanager 335 einem Benutzer angeben, dass aufgrund des Vorhandenseins von doppelten Tupeln in einem Datenstrom ein potenzieller Verarbeitungsengpass besteht.
  • 5 ist ein Ablaufplan eines Verfahrens 500 zum Berechnen von einer oder mehreren Leistungsmaßzahlen, die einem Datenstrom zugehörig sind, gemäß einer Ausführungsform der Erfindung. In einer Ausführungsform werden die Verfahrensschritte 500 durch einen Datenstrom-Leistungsmanager 335 ausgeführt. Wie gezeigt, beginnt das Verfahren 500 in Schritt 502, indem der Datenstrom-Leistungsmanager 335 eine Verbindung mit einem Datenstrom herstellt, der eine Vielzahl von Tupeln bereitstellt. In Schritt 504 stellt der Datenstrom-Leistungsmanager 3335 das erste in der Vielzahl von Tupeln enthaltene Tupel als ein aktuelles Tupel ein. In Schritt 506 kennzeichnet der Datenstrom-Leistungsmanager 335 das aktuelle Tupel mit Metadaten-Tags von Leistungsmaßzahlen gemäß den Techniken, die oben in Verbindung mit 4 beschrieben worden sind.
  • In Schritt 508 ermittelt der Datenstrom-Leistungsmanager 335, ob weitere Tupel in der Vielzahl von Tupeln enthalten sind. Wenn der Datenstrom-Leistungsmanager 335 in Schritt 508 ermittelt, dass weitere Tupel in der Vielzahl von Tupeln enthalten sind, fährt das Verfahren 500 mit Schritt 510 fort, in dem der Datenstrom-Leistungsmanager 335 ein nächstes Tupel, das in der Vielzahl von Tupeln enthalten ist, als das aktuelle Tupel einstellt. Die Verfahrensschritte 508 bis 510 werden wiederholt, bis jedes in der Vielzahl von Tupeln enthaltene Tupel mit Metadaten-Tags von Leistungsmaßzahlen gekennzeichnet ist.
  • In Schritt 512 empfängt der Datenstrom-Leistungsmanager 335 eine Anforderung von einem Benutzer, eine oder mehrere Leistungsmaßzahlen zu berechnen, die zu dem Datenstrom zugehörig sind. Diese Anforderung kann zum Beispiel durch einen Benutzer erzeugt werden, der auf eine durch den Datenstrom-Manager 335 bereitgestellte Benutzerschnittstelle zugreift, wobei der Benutzer in der Lage ist, bestimmte Leistungsmaßzahlen auszuwählen, die angezeigt werden sollen. Der Benutzer kann über die Benutzerschnittstelle auch Werte angeben, die die Leistungsmaßzahlen eingrenzen, wie beispielsweise IDs von Verarbeitungselementen, Operator-Graphen und Datenverarbeitungsknoten.
  • In Schritt 514 analysiert der Datenstrom-Leistungsmanager 335 die Metadaten, die einem oder mehreren Tupeln zugehörig sind, um eine oder mehrere Leistungsmaßzahlen zu berechnen, wie beispielsweise die oben in Verbindung mit 4 beschriebenen Leistungsmaßzahlen. In Schritt 516 zeigt der Datenstrom-Leistungsmanager 335 dem Benutzer die eine oder die mehreren Leistungsmaßzahlen über die Schnittstelle auf z.B. einer Anzeigeeinheit an.
  • Ausführungsformen der Erfindung stellen Techniken zum Ermitteln von verschiedenen Leistungsmaßzahlen bereit, die einer Anwendung auf Datenstromgrundlage zugehörig sind. Insbesondere werden Tupel, die in einem Datenstrom enthalten sind, mit Metadaten-Tags gekennzeichnet, wenn sie von dem einen oder den mehreren Verarbeitungselementen verarbeitet werden, was einen Datenstrom-Leistungsmanager in die Lage versetzt, die verschiedenen Leistungsmaßzahlen zu identifizieren, die dem Datenstrom zugehörig sind. Daraufhin können die verschiedenen Leistungsmaßzahlen verwendet werden, um den fehlerfreien Zustand und die Leistung der Anwendung auf Datenstromgrundlage zu ermitteln und potenzielle Verarbeitungsengpässe in der Anwendung auf Datenstromgrundlage zu identifizieren.

Claims (12)

  1. In einem Datenverarbeitungssystem auf Datenstromgrundlage umgesetztes Verfahren, wobei das Verfahren aufweist: - Empfangen (502) von einem oder mehreren Tupeln, die einem ersten Datenstrom zugehörig sind und die mehrere Datenattribute umfassen, an einem ersten Verarbeitungselement, das so konfiguriert ist, dass es Datentupel verarbeitet, die durch das Datenverarbeitungssystem auf Datenstromgrundlage fließen; - Verarbeiten jedes des einen oder der mehreren Tupel an dem ersten Verarbeitungselement; - Zuordnen (506), an dem ersten Verarbeitungselement, von jedem des einen oder der mehreren Tupel zu Metadaten, die Informationen in Bezug auf die Verarbeitung des Tupels durch das erste Verarbeitungselement enthalten und wenigstens einen ersten und einen zweiten Zähler enthalten, die jeweils einem der mehreren Datenattribute des Tupels entsprechen, wobei der erste und der zweite Zähler eine Häufigkeit angibt, mit der die Datenattribute verändert wurden; - Aktualisieren an einem oder mehreren der mehreren Verarbeitungselemente unterhalb von dem ersten Verarbeitungselement wenigstens eines von dem ersten und zweiten Zähler in Abhängigkeit von der Weiterverarbeitung des einen oder der mehreren Tupel durch das eine oder mehrere stromabwärts liegende Verarbeitungselemente; - Berechnen (514) von Leistungsmaßzahlen auf der Grundlage der zu dem einen oder den mehreren Tupeln zugehörigen Metadaten an dem Datenstrom-Leistungsmanagerelement, nachdem das eine oder die mehreren Tupel durch die mehreren Verarbeitungselemente geflossen sind; - Anzeigen (516) der berechneten Leistungsmaßzahlen über eine Benutzerschnittstelle auf einer Anzeigeeinheit; und - automatisches Anpassen in Abhängigkeit von den berechneten Leistungsmaßzahlen von einer Konfiguration des Datenverarbeitungssystems auf Datenstromgrundlage.
  2. Verfahren nach Anspruch 1, wobei die Metadaten-Informationen einen Zeitstempel, eine Kennung (ID) des ersten Verarbeitungselements, eine ID eines Operator-Graphen (132), in dem das erste Verarbeitungselement enthalten ist, eine ID eines Datenverarbeitungsknotens (130), auf dem das erste Verarbeitungselement ausgeführt wird, und einen verschiedenen Zählerwert für jedes Datenattribut enthalten, das in dem Tupel enthalten ist.
  3. Verfahren nach Anspruch 2, wobei die berechneten Leistungsmaßzahlen für jedes des einen oder der mehreren Tupel, die über den ersten Datenstrom (402) empfangen werden, einen Zeitbetrag für das Verarbeiten des Tupels für das erste Verarbeitungselement und andere Verarbeitungselemente angeben, die in dem Datenverarbeitungssystem auf Datenstromgrundlage enthalten sind.
  4. Verfahren nach Anspruch 2, wobei die berechneten Leistungsmaßzahlen für jedes des einen oder der mehreren Tupel, die über den ersten Datenstrom empfangen werden, einen Zeitbetrag für das Verarbeiten des Tupels für zwei oder mehr Verarbeitungselemente angeben, die in dem Datenverarbeitungssystem auf Datenstromgrundlage enthalten sind.
  5. Verfahren nach Anspruch 2, wobei die berechneten Leistungsmaßzahlen für jedes des einen oder der mehreren Tupel einen Zeitbetrag für das Durchlaufen des Datenverarbeitungssystems auf Datenstromgrundlage angeben.
  6. Verfahren nach Anspruch 2, wobei die berechneten Leistungsmaßzahlen für jedes des einen oder der mehreren Tupel einen Zeitbetrag für das Zurücklegen des Wegs zwischen zwei oder mehreren Datenverarbeitungsknoten angeben, die in dem Datenverarbeitungssystem auf Datenstromgrundlage enthalten sind.
  7. Verfahren nach Anspruch 2, wobei die berechneten Leistungsmaßzahlen für jedes des einen oder der mehreren Tupel, die über den ersten Datenstrom empfangen werden, eine Anzahl angeben, wie oft jedes Verarbeitungselement, jeder Operator-Graph und/oder jeder Datenverarbeitungsknoten, die in dem Datenverarbeitungssystem auf Datenstromgrundlage enthalten sind, das Tupel verarbeiten.
  8. Verfahren nach Anspruch 2, wobei die berechneten Leistungsmaßzahlen für jedes des einen oder der mehreren Tupel, die über den ersten Datenstrom empfangen werden, eine Anzahl angeben, wie oft jedes in dem Tupel enthaltene Datenattribut modifiziert worden ist.
  9. Verfahren nach Anspruch 2, das des Weiteren die Schritte aufweist zum: - Empfangen von einem oder mehreren Tupeln, die einem zweiten Datenstrom zugehörig sind, an einem zweiten Verarbeitungselement, das so konfiguriert ist, dass es Datentupel verarbeitet, die durch das Datenverarbeitungssystem auf Datenstromgrundlage fließen; - Verarbeiten jedes des einen oder der mehreren Tupel an dem zweiten Verarbeitungselement; und - Zuordnen von jedem des einen oder der mehreren Tupel zu Metadaten, die Informationen in Bezug auf die Verarbeitung des Tupels durch das zweite Verarbeitungselement enthalten.
  10. Verfahren nach Anspruch 9, wobei die berechneten Leistungsmaßzahlen auf der Grundlage der Metadaten, die dem einen oder den mehreren Tupeln, die über den ersten Datenstrom empfangen werden, und dem einen oder den mehreren Tupeln, die über den zweiten Datenstrom empfangen werden, zugehörig sind, angeben, dass der erste Datenstrom und der zweite Datenstrom Duplikate voneinander sind.
  11. System, das Mittel aufweist, die für das Ausführen aller Schritte des Verfahrens nach einem der vorhergehenden Verfahrensansprüche geeignet sind.
  12. Computerprogrammprodukt, welches ein nichtflüchtiges computerlesbares Speichermedium umfasst, das Anweisungen enthält, um ein Computersystem zu veranlassen, die Schritte des Verfahrens nach einem der vorhergehenden Verfahrensansprüche auszuführen.
DE112012003540.2T 2011-08-26 2012-07-03 Leistungsüberwachungsmasszahlen für Datenstromanwendung Active DE112012003540B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US13/218,545 US9396157B2 (en) 2011-08-26 2011-08-26 Stream application performance monitoring metrics
USUS-13/218,545 2011-08-26
US13/218,545 2011-08-26
PCT/IB2012/053376 WO2013030684A1 (en) 2011-08-26 2012-07-03 Stream application performance monitoring metrics

Publications (2)

Publication Number Publication Date
DE112012003540T5 DE112012003540T5 (de) 2014-05-08
DE112012003540B4 true DE112012003540B4 (de) 2024-02-22

Family

ID=47745274

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012003540.2T Active DE112012003540B4 (de) 2011-08-26 2012-07-03 Leistungsüberwachungsmasszahlen für Datenstromanwendung

Country Status (5)

Country Link
US (2) US9396157B2 (de)
CN (1) CN103733198B (de)
DE (1) DE112012003540B4 (de)
GB (1) GB2510723B (de)
WO (1) WO2013030684A1 (de)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9310980B2 (en) * 2012-08-21 2016-04-12 Beyondvia Technologies Systems and methods for performance comparisons utilizing an infinite cylinder user interface
US10304126B2 (en) 2008-04-30 2019-05-28 Beyondvia Technologies Visual communication systems and methods designing and building entire experiences
US9298582B1 (en) * 2012-06-28 2016-03-29 Emc Corporation Method and apparatus for performance data transformation in a cloud computing system
US9195559B2 (en) * 2012-12-12 2015-11-24 International Business Machines Corporation Management of stream operators with dynamic connections
US9002846B2 (en) 2013-03-15 2015-04-07 International Business Machines Corporation Ending tuple processing in a stream-based computing application
US9229965B2 (en) 2013-03-20 2016-01-05 International Business Machines Corporation Managing attributes in stream processing using a cache
US9218395B2 (en) * 2013-03-20 2015-12-22 International Business Machines Corporation Managing attributes in stream processing
US9384302B2 (en) * 2013-06-17 2016-07-05 International Business Machines Corporation Generating differences for tuple attributes
US9130831B2 (en) 2013-11-07 2015-09-08 International Business Machines Corporation Streaming state data for cloud management
US9379950B2 (en) 2013-11-07 2016-06-28 International Business Machines Corporation Using cloud resources to improve performance of a streaming application
US9237079B2 (en) 2013-11-19 2016-01-12 International Business Machines Corporation Increasing performance of a streaming application by running experimental permutations
US9729419B2 (en) * 2014-03-27 2017-08-08 International Business Machines Corporation Smart migration of overperforming operators of a streaming application to virtual machines in a cloud
US9189212B2 (en) * 2014-03-31 2015-11-17 International Business Machines Corporation Predicted outputs in a streaming environment
US9614740B2 (en) * 2014-05-13 2017-04-04 International Business Machines Corporation Multifusion of a stream operator in a streaming application
AU2015328574B2 (en) * 2014-10-08 2020-12-10 Splunk Inc. Real-time reporting based on instrumentation of software
US9747343B2 (en) * 2015-02-19 2017-08-29 International Business Machines Corporation Algorithmic changing in a streaming environment
WO2016175863A1 (en) * 2015-04-30 2016-11-03 Hewlett Packard Enterprise Development Lp Monitoring application operations using user interaction times
US10175961B2 (en) * 2015-06-10 2019-01-08 International Business Machines Corporation Joining operator graph elements via whole program optimization
US9917753B2 (en) * 2015-06-12 2018-03-13 Level 3 Communications, Llc Network operational flaw detection using metrics
US9690800B2 (en) * 2015-06-12 2017-06-27 International Business Machines Corporation Tracking tuples to reduce redundancy in a graph
US9652295B2 (en) 2015-06-26 2017-05-16 International Business Machines Corporation Runtime fusion of operators based on processing element workload threshold and programming instruction compatibility
US9575870B2 (en) 2015-07-23 2017-02-21 International Business Machines Corporation Streaming breakpoint for data tuples that stay in an operator graph too long
US9785507B2 (en) * 2015-07-30 2017-10-10 International Business Machines Corporation Restoration of consistent regions within a streaming environment
US9619365B2 (en) 2015-08-17 2017-04-11 International Business Machines Corporation Streaming breakpoint for data tuples based on resource usage
US20170063952A1 (en) 2015-08-21 2017-03-02 International Business Machines Corporation Moving a portion of a streaming application to a public cloud based on sensitive data
US9699148B2 (en) 2015-09-10 2017-07-04 International Business Machines Corporation Moving a portion of a streaming application to a public cloud based on sensitive data
US20170147407A1 (en) * 2015-11-24 2017-05-25 International Business Machines Corporation System and method for prediciting resource bottlenecks for an information technology system processing mixed workloads
DE112017000881T5 (de) 2016-02-18 2018-10-31 New Relic, Inc. Identifizieren der Grundursache von einem Problem, das während einer Ausführung einer Anwendung beobachtet wird
US10599478B1 (en) 2016-03-29 2020-03-24 Amazon Technologies, Inc. Automated reconfiguration of real time data stream processing
US10191881B2 (en) * 2016-06-06 2019-01-29 Hewlett Packard Enterprise Development Lp Modifications to a stream processing topology during processing of a data stream
US10778785B2 (en) * 2017-11-28 2020-09-15 International Business Machines Corporation Cognitive method for detecting service availability in a cloud environment
US10594753B2 (en) 2018-01-03 2020-03-17 International Business Machines Corporation System and method for identifying external connections in a streaming application
CN109088755B (zh) * 2018-08-01 2021-07-27 南京大学 一种边缘计算下的复杂事件处理系统部署方法
CN115686869B (zh) * 2022-12-29 2023-03-21 杭州迈拓大数据服务有限公司 资源处理方法、系统、电子装置和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110167148A1 (en) 2010-01-04 2011-07-07 International Business Machines Corporation System and method for merging monitoring data streams from a server and a client of the server

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7010538B1 (en) 2003-03-15 2006-03-07 Damian Black Method for distributed RDSMS
CN100358305C (zh) 2006-01-05 2007-12-26 华为技术有限公司 在通信系统中进行QoS时延探测的方法
US20070250538A1 (en) 2006-04-21 2007-10-25 Database Brothers, Inc. System and method for monitoring and displaying database performance information
US7711821B2 (en) * 2006-05-31 2010-05-04 International Business Machines Corporation Multiple resource control-advisor for management of distributed or web-based systems
US8769120B2 (en) * 2006-11-28 2014-07-01 Sap Ag Method and system to monitor parameters of a data flow path in a communication system
US8880480B2 (en) * 2007-01-03 2014-11-04 Oracle International Corporation Method and apparatus for data rollback
JP5055039B2 (ja) * 2007-06-27 2012-10-24 株式会社日立製作所 ストリームデータ処理方法およびストリームデータ処理システム
US7783928B2 (en) * 2007-08-31 2010-08-24 International Business Machines Corporation Description of activities in software products
US8391164B2 (en) * 2008-01-02 2013-03-05 At&T Intellectual Property I, L.P. Computing time-decayed aggregates in data streams
US20090192981A1 (en) 2008-01-29 2009-07-30 Olga Papaemmanouil Query Deployment Plan For A Distributed Shared Stream Processing System
JP5149840B2 (ja) * 2009-03-03 2013-02-20 株式会社日立製作所 ストリームデータ処理方法、ストリームデータ処理プログラム、および、ストリームデータ処理装置
US8386466B2 (en) * 2009-08-03 2013-02-26 Oracle International Corporation Log visualization tool for a data stream processing server
US20110314019A1 (en) * 2010-06-18 2011-12-22 Universidad Politecnica De Madrid Parallel processing of continuous queries on data streams
US8639809B2 (en) * 2010-08-20 2014-01-28 International Business Machines Corporation Predictive removal of runtime data using attribute characterizing
US20120158953A1 (en) * 2010-12-21 2012-06-21 Raytheon Bbn Technologies Corp. Systems and methods for monitoring and mitigating information leaks
CN104012041B (zh) * 2011-05-24 2018-02-09 思杰系统有限公司 用于分析网络指标的系统和方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110167148A1 (en) 2010-01-04 2011-07-07 International Business Machines Corporation System and method for merging monitoring data streams from a server and a client of the server

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WATERS, Christopher; HOWELL, Jonathan; JANKUN-KELLY, T. J. CluVis: dual-domain visual exploration of cluster/network metadata. In: Proceedings of the 45th annual southeast regional conference. ACM, 2007. S. 272-276. doi: 10.1145/1233341.1233390

Also Published As

Publication number Publication date
GB201403463D0 (en) 2014-04-16
US20130103832A1 (en) 2013-04-25
US20130054779A1 (en) 2013-02-28
CN103733198B (zh) 2017-11-14
US9396157B2 (en) 2016-07-19
US9396158B2 (en) 2016-07-19
GB2510723A (en) 2014-08-13
CN103733198A (zh) 2014-04-16
DE112012003540T5 (de) 2014-05-08
WO2013030684A1 (en) 2013-03-07
GB2510723B (en) 2018-10-24

Similar Documents

Publication Publication Date Title
DE112012003540B4 (de) Leistungsüberwachungsmasszahlen für Datenstromanwendung
DE102013207049B4 (de) Überwachen der Datenstrompufferung zur Optimierung der Operatorverarbeitung
DE112011101109B4 (de) Übertragung von Map/Reduce-Daten auf der Grundlage eines Speichernetzwerkes oder eines Speichernetzwerk-Dateisystems
DE112013000752B4 (de) Verwalten von Verarbeitungselementen in einem Streaming-Datensystem
DE60121231T2 (de) Datenverarbeitungsverfahren
DE112016005292T5 (de) Automatischer Abweichungsdetektionsdienst auf heterogenen Protokollströmen
DE112017006164T5 (de) Differenzvergleich von ausführbaren Datenflussdiagrammen
DE112015000347T5 (de) Verarbeiten von Datensätzen in einer Ablage für große Datenmengen
DE202012013427U1 (de) Verknüpfung von Tabellen in einem MapReduce-Verfahren
DE112015003406T5 (de) Datenherkunftssummierung
DE202012013462U1 (de) Datenverarbeitung in einem Mapreduce-Framework
DE202016005239U1 (de) Graph-basierte Abfragen
DE202015009779U1 (de) Implementierung semistrukturierter Daten als ein Datenbankelement erster Klasse
DE4134419A1 (de) Dynamische entwurfsschnittstelleneinrichtung fuer leistungsfaehigkeit und konfiguration eines computersystems
DE112017006106T5 (de) Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten
DE112019002948T5 (de) Feststellen einer optimalen speicherumgebung für datensätze und für das migrieren von datensätzen
DE202014011539U1 (de) System zum verteilten Verarbeiten in einer Nachrichtenübermittlungsplattform
DE102005049055A1 (de) Verfahren, um Ereignisse in einem Systemereignisprotokoll in eine Reihenfolge zu bringen
DE102012216029A1 (de) Ein skalierbares anpassungsfähiges map-reduce-rahmenwerk mit verteilten daten
DE112012002631T5 (de) Stream-Verarbeitung unter Verwendung einer Client-Server-Architektur
DE102012210401A1 (de) Anpassung von Regeln für die Datenqualität auf der Grundlage von Anforderungen einer Benutzeranwendung
DE112013000916T5 (de) System zum Anzeigen und Bearbeiten von Artefakten an einem zeitbezogenen Referenzpunkt
DE112013003205T5 (de) Verfahren und Vorrichtung zum Verarbeiten von Datenbankdaten in einem verteilten Datenbanksystem
DE112011103428T5 (de) Automatisierte Analyse zusammengesetzter Anwendungen
DE112020004116T5 (de) Dynamisches abändern der parallelität einer aufgabe in einer pipeline

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06F0016000000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0016000000

Ipc: G06F0016245800

R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence