DE112017005638T5 - Systeme und Verfahren zur Bestimmung der Beziehung zwischen Datenelementen - Google Patents

Systeme und Verfahren zur Bestimmung der Beziehung zwischen Datenelementen Download PDF

Info

Publication number
DE112017005638T5
DE112017005638T5 DE112017005638.1T DE112017005638T DE112017005638T5 DE 112017005638 T5 DE112017005638 T5 DE 112017005638T5 DE 112017005638 T DE112017005638 T DE 112017005638T DE 112017005638 T5 DE112017005638 T5 DE 112017005638T5
Authority
DE
Germany
Prior art keywords
data
lineage
business
physical
connection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112017005638.1T
Other languages
English (en)
Inventor
Joel Gould
Dusan Radivojevic
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.)
Ab Initio Technology LLC
Original Assignee
Ab Initio Technology LLC
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 Ab Initio Technology LLC filed Critical Ab Initio Technology LLC
Publication of DE112017005638T5 publication Critical patent/DE112017005638T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Ein Datenverarbeitungssystem, das Folgendes umfasst: Erhalten einer ersten Data-Lineage, die Beziehungen zwischen physikalischen Datenelementen darstellt, wobei die erste Data-Lineage zumindest teilweise erzeugt wird durch einen der folgenden Schritte: (a) Analysieren des Quellcodes von mindestens einem Computerprogramm, das für den Zugriff auf die physikalischen Datenelemente konfiguriert ist; und (b) Analysieren von Informationen, die während der Laufzeit des mindestens einen Computerprogramms erhalten wurden; Erhalten einer zweiten Data-Lineage, basierend auf Benutzereingaben, die Beziehungen zwischen Geschäftsdatenelementen darstellt; Erhalten einer Zuordnung zwischen mindestens einigen der physikalischen Datenelemente der ersten Data-Lineage und mindestens einigen der Geschäftsdatenelemente der zweiten Data-Lineage; und Erzeugen, basierend auf der Verbindung zwischen den physikalischen Datenelementen und den Geschäftsdatenelementen, eines Hinweises auf Übereinstimmung oder Diskrepanz zwischen der ersten Data-Lineage und der zweiten Data-Lineage.

Description

  • VERWEIS AUF FRÜHERE ANMELDUNGEN
  • Diese Anmeldung beansprucht die Priorität gemäß 35 U.S.C. § 119(e) der vorläufigen US-Anmeldung Nr. 62/419.826 mit dem Titel „SYSTEME UND VERFAHREN ZUR BESTIMMUNG DER BEZIEHUNG ZWISCHEN DATENELEMENTEN“, die am 09. November 2016 eingereicht wurde und hierin durch Verweis in ihrer Gesamtheit aufgenommen wird.
  • HINTERGRUND
  • Unternehmen, die große Datenmengen verwalten, möchten oft für mindestens einige der zu verwaltenden Daten eine Data-Lineage erhalten. Die Data-Lineage für einen zu verwaltenden Datensatz kann Informationen darüber beinhalten, wie der Datensatz gewonnen wurde, wie sich der Datensatz im Laufe der Zeit ändern kann und/oder wie der Datensatz von einem oder mehreren Datenverarbeitungssystemen und/oder -prozessen verwendet werden kann. Die Data-Lineage für einen Datensatz kann Informationen über die vorgelagerte Lineage beinhalten, die angeben, wie der Datensatz erhalten wurde. So können beispielsweise Informationen über die vorgelagerte Lineage eine oder mehrere Datenquellen identifizieren, aus denen der Datensatz gewonnen wurde und/oder eine oder mehrere Datenverarbeitungsvorgänge, die auf den Datensatz angewendet wurden. Zusätzlich oder alternativ kann die Data-Lineage für einen Datensatz Informationen über die nachgelagerte Lineage beinhalten, die einen oder mehrere andere Datensätze, Prozesse und/oder Anwendungen angeben, die vom Datensatz abhängen und/oder ihn verwenden. Ein Unternehmen wünscht ggf. für jeden geeigneten Datensatz, wie beispielsweise einen oder mehrere Datensätze, eine oder mehrere Datenaufzeichnungen, eine oder mehrere Datentabellen in einer Datenbank, eine oder mehrere Datentabellenkalkulationen, eine oder mehrere Datendateien, einen einzelnen Datenwert, Daten zur Erstellung eines oder mehrerer Berichte, Daten, auf die von einem oder mehreren Anwendungsprogrammen zugegriffen wird, und/oder für jeden anderen geeigneten Datensatz Lineage-Informationen zu erhalten.
  • Es gibt viele Nutzungsmöglichkeiten von Lineage-Informationen über die von den Datenverarbeitungssystemen eines Unternehmens verwalteten Daten. Beispiele für solche Nutzungsmöglichkeiten sind unter anderem Risikominderung, Überprüfung der Einhaltung gesetzlicher Vorschriften, Straffung von Geschäftsprozessen, Datenschutz, Rückverfolgung von Fehlern bis zu ihrer Quelle und Feststellen, ob Änderungen an Daten zu Folgefehlern führen können. In einigen Fällen können unvollständige oder falsche Lineage-Informationen zu negativen praktischen Auswirkungen für das Unternehmen führen, wie z. B. falsch gehandhabte Aufzeichnungen, ungenaue Daten, die Mitgliedern des Unternehmens zur Verfügung gestellt werden, ineffizienter Systembetrieb, Systemausfälle, unbeabsichtigte Fehlereinführung, ineffiziente Fehlerbehebung, Schwierigkeiten bei der Einhaltung von Regulierungsverfahren usw. Für ein Unternehmen können solche Auswirkungen schnell zu Unzufriedenheit bei Kunden und/oder Regulierungsbehörden führen. Daher ist es wichtig, dass die Lineage-Informationen sowohl richtig als auch vollständig sind.
  • ZUSAMMENFASSUNG
  • Einige Ausführungsformen betreffen ein Datenverarbeitungssystem, das Folgendes umfasst: mindestens einen Computer-Hardwareprozessor; und mindestens ein dauerhaftes, computerlesbares Speichermedium, das von einem Prozessor ausführbare Befehle speichert, welches, wenn es von dem mindestens einen Computer-Hardwareprozessor ausgeführt wird, den mindestens einen Computer-Hardwareprozessor zu Folgendem veranlasst: Erhalten einer ersten Data-Lineage, die Beziehungen zwischen einer Vielzahl an physikalischen Datenelementen darstellt, wobei die erste Data-Lineage zumindest teilweise erzeugt wird durch einen der folgenden Schritte: (a) Analysieren des Quellcodes von mindestens einem Computerprogramm, das für den Zugriff auf mindestens einige aus einer Vielzahl von physikalischen Datenelementen konfiguriert ist; und (b) Analysieren von Informationen, die während der Laufzeit des mindestens einen Computerprogramms erhalten wurden; Erhalten einer zweiten Data-Lineage, zumindest teilweise basierend auf Benutzereingaben, die Beziehungen zwischen einer Vielzahl an Geschäftsdatenelementen darstellt; Erhalten einer Zuordnung zwischen mindestens einigen aus einer Vielzahl von physikalischen Datenelementen der ersten Data-Lineage und mindestens einigen aus einer Vielzahl von Geschäftsdatenelementen der zweiten Data-Lineage; und Erzeugen, basierend auf der Zuordnung zwischen der Vielzahl an physikalischen Datenelementen und der Vielzahl an Geschäftsdatenelementen, eines Hinweises auf Übereinstimmung oder Diskrepanz zwischen der ersten Data-Lineage und der zweiten Data-Lineage.
  • Bei einigen Ausführungsformen umfasst das Erzeugen des Hinweises auf Übereinstimmung oder Diskrepanz: Anzeigen einer Visualisierung der zweiten Data-Lineage, die Übereinstimmung oder Diskrepanz aufzeigt.
  • Bei einigen Ausführungsformen einschließlich jeder der vorhergehenden Ausführungsformen umfasst die zweite Data-Lineage eine erste Verbindung, die eine erste Abhängigkeit zwischen zwei Geschäftsdatenelementen repräsentiert, wobei das Anzeigen der Visualisierung der zweiten Data-Lineage das Anzeigen der Verbindung auf eine Art umfasst, wenn es eine Abhängigkeit in der ersten Data-Lineage gibt, die der ersten Abhängigkeit entspricht, und auf andere Art, wenn es keine Abhängigkeit in der ersten Data-Lineage gibt, die der ersten Abhängigkeit entspricht.
  • Bei einigen Ausführungsformen einschließlich jeder der vorhergehenden Ausführungsformen umfasst das Erzeugen der Anzeige von Übereinstimmung oder Diskrepanz: Bestimmen, basierend auf der Zuordnung zwischen der Vielzahl an physikalischen Datenelementen und der Vielzahl an Geschäftsdatenelementen, ob es eine Diskrepanz oder mehrere Diskrepanzen in der ersten Data-Lineage, der zweiten Data-Lineage und der erhaltenen Zuordnung gibt.
  • Bei einigen Ausführungsformen einschließlich jeder der vorhergehenden Ausführungsformen umfasst das Erhalten der ersten Data-Lineage das Erzeugen einer ersten Data-Lineage mindestens teilweise durch das Ausführen mindestens einen der folgenden Schritte: Analysieren des Quellcodes des mindestens einen Computerprogramms und Analysieren der während der Laufzeit des mindestens einen Computerprogramms erhaltenen Informationen.
  • Bei einigen Ausführungsformen einschließlich jeder der vorhergehenden Ausführungsformen umfasst das Erhalten der ersten Data-Lineage das Analysieren des Quellcodes des mindestens einen Computerprogramms.
  • Bei einigen Ausführungsformen umfasst das Erhalten der ersten Data-Lineage das Analysieren der während der Laufzeit des mindestens einen Computerprogramms erhaltenen Informationen.
  • Bei einigen Ausführungsformen einschließlich jeder der vorhergehenden Ausführungsformen umfasst das mindestens eine Computerprogramm ein Computerprogramm, das als Datenflussdiagramm implementiert ist.
  • Bei einigen Ausführungsformen einschließlich jeder der vorhergehenden Ausführungsformen umfasst das Erhalten der Verbindung zwischen den mindestens einigen aus einer Vielzahl von physikalischen Datenelementen der ersten Data-Lineage und den mindestens einigen aus einer Vielzahl von Geschäftsdatenelementen der zweiten Data-Lineage das Erzeugen der Zuordnung basierend auf Anwendereingaben, die durch eine graphische Benutzeroberfläche bereitgestellt werden.
  • Bei einigen Ausführungsformen einschließlich jeder der vorhergehenden Ausführungsformen umfasst die Vielzahl an physikalischen Datenelementen ein erstes physikalisches Datenelement, die Vielzahl an Geschäftsdatenelementen umfasst ein erstes Geschäftsdatenelement, wobei die Zuordnung anzeigt, dass das erste physikalische Datenelement und das erste Geschäftsdatenelement zugeordnet sind, und wobei das Bestimmen das Bestimmen umfasst, dass ein erster Satz von einer oder mehreren Datenquellen, die in der ersten Data-Lineage zum Erhalten eines ersten physikalischen Datenelements identifiziert wurden, anders ist als ein zweiter Satz von einer oder mehreren Datenquellen, die in der zweiten Data-Lineage zum Erhalten eines ersten Geschäftsdatenelements identifiziert wurden.
  • Bei einigen Ausführungsformen einschließlich jeder der vorhergehenden Ausführungsformen werden die Schritte zum Erhalten der ersten Data-Lineage und zum Bestimmen, ob eine Diskrepanz vorliegt, nach einem festgelegten Zeitplan wiederholt ausgeführt.
  • Bei einigen Ausführungsformen einschließlich jeder der vorhergehenden Ausführungsformen umfasst die Verbindung eine Verbindung zwischen einem ersten physikalischen Datenelement aus einer Vielzahl von physikalischen Datenelementen und einem ersten Geschäftsdatenelement aus einer Vielzahl von Geschäftsdatenelementen, wobei der mindestens eine Computer-Hardwareprozessor konfiguriert ist, um Folgendes auszuführen: Bestimmen, mindestens teilweise basierend auf der Verbindung zwischen dem ersten physikalischen Datenelement und dem ersten Geschäftsdatenelement, eines Maßstabs für die Datenqualität des ersten Geschäftsdatenelements.
  • Bei einigen Ausführungsformen einschließlich jeder der vorhergehenden Ausführungsformen umfasst das Bestimmen des Maßstabs für die Datenqualität des ersten Geschäftsdatenelements: das Durchführen einer Analyse der Datenqualität von Daten in dem ersten physikalischen Datenelement basierend zumindest teilweise auf einer oder mehreren Datenqualitätsregeln, die den Daten in dem ersten physikalischen Datenelement zugeordnet sind.
  • Bei einigen Ausführungsformen einschließlich jeder der vorhergehenden Ausführungsformen beinhaltet der Maßstab für die Datenqualität für das erste Geschäftselement einen Maßstab für eine oder mehrere der folgenden Eigenschaften: Genauigkeit, Vollständigkeit und Gültigkeit.
  • Einige Ausführungsformen betreffen ein Verfahren, das Folgendes umfasst: Benutzen mindestens eines Computer-Hardwareprozessors zum Ausführen der folgenden Schritte: Erhalten einer ersten Data-Lineage, die Beziehungen zwischen einer Vielzahl an physikalischen Datenelementen darstellt, wobei die erste Data-Lineage zumindest teilweise erzeugt wird durch mindestens einen der folgenden Schritte: (a) Analysieren des Quellcodes von mindestens einem Computerprogramm, das für den Zugriff auf mindestens einige aus einer Vielzahl von physikalischen Datenelementen konfiguriert ist; und (b) Analysieren von Informationen, die während der Laufzeit des mindestens einen Computerprogramms erhalten wurden; Erhalten einer zweiten Data-Lineage, zumindest teilweise basierend auf Benutzereingaben, die Beziehungen zwischen einer Vielzahl an Geschäftsdatenelementen darstellt; Erhalten einer Verbindung zwischen mindestens einigen aus einer Vielzahl von physikalischen Datenelemente der ersten Data-Lineage und mindestens einigen aus einer Vielzahl von Geschäftsdatenelementen der zweiten Data-Lineage; und Erzeugen, basierend auf der Verbindung zwischen der Vielzahl an physikalischen Datenelementen und der Vielzahl an Geschäftsdatenelementen, eines Hinweises auf Übereinstimmung oder Diskrepanz zwischen der ersten Data-Lineage und der zweiten Data-Lineage.
  • Einige Ausführungsformen betreffen mindestens ein dauerhaftes, computerlesbares Speichermedium, das von einem Prozessor ausführbare Befehle speichert, welches, wenn es von mindestens einem Computer-Hardwareprozessor ausgeführt wird, den mindestens einen Computer-Hardwareprozessor zu Folgendem veranlasst: Erhalten einer ersten Data-Lineage, die Beziehungen zwischen einer Vielzahl von physikalischen Datenelementen darstellt, wobei die erste Data-Lineage zumindest teilweise erzeugt wird durch einen der folgenden Schritte: (a) Analysieren des Quellcodes von mindestens einem Computerprogramm, das für den Zugriff auf mindestens einige aus einer Vielzahl von physikalischen Datenelementen konfiguriert ist; und (b) Analysieren von Informationen, die während der Laufzeit des mindestens einen Computerprogramms erhalten wurden; Erhalten einer zweiten Data-Lineage, zumindest teilweise basierend auf Benutzereingaben, die Beziehungen zwischen einer Vielzahl von Geschäftsdatenelementen darstellt; Erhalten einer Verbindung zwischen mindestens einigen aus einer Vielzahl von physikalischen Datenelementen der ersten Data-Lineage und mindestens einigen aus einer Vielzahl von Geschäftsdatenelementen der zweiten Data-Lineage; und Erzeugen, basierend auf der Verbindung zwischen der Vielzahl an physikalischen Datenelementen und der Vielzahl an Geschäftsdatenelementen, eines Hinweises auf Übereinstimmung oder Diskrepanz zwischen der ersten Data-Lineage und der zweiten Data-Lineage.
  • Einige Ausführungsformen betreffen mindestens ein dauerhaftes, computerlesbares Speichermedium, das von einem Prozessor ausführbare Befehle zur Durchführung von mindestens einem Computer-Hardwareprozessor speichert, wobei die von einem Prozessor ausführbaren Befehle Folgendes umfassen: Mittel zum Erhalten einer ersten Data-Lineage, die Beziehungen zwischen einer Vielzahl an physikalischen Datenelementen darstellt, wobei die erste Data-Lineage zumindest teilweise erzeugt wird durch einen der folgenden Schritte: (a) Analysieren des Quellcodes von mindestens einem Computerprogramm, das für den Zugriff auf mindestens einige aus einer Vielzahl von physikalischen Datenelementen konfiguriert ist; und (b) Analysieren von Informationen, die während der Laufzeit des mindestens einen Computerprogramms erhalten wurden; Mittel zum Erhalten einer zweiten Data-Lineage, zumindest teilweise basierend auf Benutzereingaben, die Beziehungen zwischen einer Vielzahl an Geschäftsdatenelementen darstellt; Mittel zum Erhalten einer Verbindung zwischen mindestens einigen aus einer Vielzahl von physikalischen Datenelemente der ersten Data-Lineage und mindestens einigen aus einer Vielzahl von Geschäftsdatenelementen der zweiten Data-Lineage; und Mittel zum Erzeugen, basierend auf der Verbindung zwischen der Vielzahl an physikalischen Datenelementen und der Vielzahl an Geschäftsdatenelementen, eines Hinweises auf Übereinstimmung oder Diskrepanz zwischen der ersten Data-Lineage und der zweiten Data-Lineage.
  • Einige Ausführungsformen betreffen ein Datenverarbeitungssystem zum Bestimmen, ob es zwischen einer ersten Data-Lineage, einer zweiten Data-Lineage und einer Verbindung zwischen Datenelementen der ersten und zweiten Data-Lineage eine Diskrepanz gibt. Das System umfasst mindestens einen Computer-Hardwareprozessor; und mindestens einen dauerhaftes, computerlesbares Speichermedium, das von einem Prozessor ausführbare Befehle speichert, welches, wenn es von dem mindestens einen Computer-Hardwareprozessor ausgeführt wird, den mindestens einen Computer-Hardwareprozessor zu Folgendem veranlasst: Erhalten einer ersten Data-Lineage, die Beziehungen zwischen einer Vielzahl an physikalischen Datenelementen darstellt, wobei die erste Data-Lineage zumindest teilweise erzeugt wird durch mindestens einen der folgenden Schritte: (a) Analysieren des Quellcodes des mindestens einen Computerprogramms, das für den Zugriff auf mindestens einige aus der Vielzahl an physikalischen Datenelementen konfiguriert ist, und (b) Analysieren von Informationen, die während der Laufzeit des mindestens einen Computerprogramms erhalten wurden; Erhalten einer zweiten Data-Lineage, zumindest teilweise basierend auf Benutzereingaben, die Beziehungen zwischen einer Vielzahl an Geschäftsdatenelementen darstellt; Erhalten einer Verbindung zwischen mindestens einigen aus der Vielzahl an physikalischen Datenelementen der ersten Data-Lineage und mindestens einigen aus der Vielzahl an Geschäftsdatenelementen der zweiten Data-Lineage; und Bestimmen, basierend auf der Verbindung zwischen der Vielzahl an physikalischen Datenelementen und der Vielzahl an Geschäftsdatenelementen, ob es eine Diskrepanz oder mehrere Diskrepanzen zwischen der ersten Data-Lineage, der zweiten Data-Lineage und der erhaltenen Verbindung gibt.
  • Einige Ausführungsformen betreffen ein Verfahren, das Folgendes umfasst: Benutzen mindestens eines Computer-Hardwareprozessors mit den folgenden Schritten: Erhalten einer ersten Data-Lineage, die Beziehungen zwischen einer Vielzahl an physikalischen Datenelementen darstellt, wobei die erste Data-Lineage zumindest teilweise erzeugt wird durch mindestens einen der folgenden Schritte: (a) Analysieren des Quellcodes von mindestens einem Computerprogramm, das für den Zugriff auf mindestens einige aus einer Vielzahl von physikalischen Datenelementen konfiguriert ist; und (b) Analysieren von Informationen, die während der Laufzeit des mindestens einen Computerprogramms erhalten wurden; Erhalten einer zweiten Data-Lineage, zumindest teilweise basierend auf Benutzereingaben, die Beziehungen zwischen einer Vielzahl an Geschäftsdatenelementen darstellt; Erhalten einer Verbindung zwischen mindestens einigen aus einer Vielzahl von physikalischen Datenelemente der ersten Data-Lineage und mindestens einigen aus einer Vielzahl von Geschäftsdatenelementen der zweiten Data-Lineage; und Bestimmen, basierend auf der Verbindung zwischen der Vielzahl an physikalischen Datenelementen und der Vielzahl an Geschäftsdatenelementen, ob es eine Diskrepanz oder mehrere Diskrepanzen zwischen der ersten Data-Lineage, der zweiten Data-Lineage und der erhaltenen Verbindung gibt.
  • Einige Ausführungsformen betreffen mindestens ein dauerhaftes, computerlesbares Speichermedium, das von einem Prozessor ausführbare Befehle speichert, welches, wenn es von mindestens einem Computer-Hardwareprozessor ausgeführt wird, den mindestens einen Computer-Hardwareprozessor zu Folgendem veranlasst: Erhalten einer ersten Data-Lineage, die Beziehungen zwischen einer Vielzahl an physikalischen Datenelementen darstellt, wobei die erste Data-Lineage zumindest teilweise erzeugt wird durch mindestens einen der folgenden Schritte: (a) Analysieren des Quellcodes von mindestens einem Computerprogramm, das für den Zugriff auf mindestens einige aus einer Vielzahl von physikalischen Datenelementen konfiguriert ist; und (b) Analysieren von Informationen, die während der Laufzeit des mindestens einen Computerprogramms erhalten wurden; Erhalten einer zweiten Data-Lineage, zumindest teilweise basierend auf Benutzereingaben, die Beziehungen zwischen einer Vielzahl an Geschäftsdatenelementen darstellt; Erhalten einer Verbindung zwischen mindestens einigen aus einer Vielzahl von physikalischen Datenelementen der ersten Data-Lineage und mindestens einigen aus einer Vielzahl von Geschäftsdatenelementen der zweiten Data-Lineage; und Erzeugen, basierend auf der Verbindung zwischen der Vielzahl an physikalischen Datenelementen und der Vielzahl an Geschäftsdatenelementen, eines Hinweises auf Übereinstimmung oder Diskrepanz zwischen der ersten Data-Lineage und der zweiten Data-Lineage.
  • Einige Ausführungsformen betreffen mindestens ein dauerhaftes, computerlesbares Speichermedium, das von einem Prozessor ausführbare Befehle zur Ausführung von mindestens einem Computer-Hardwareprozessor speichert, wobei die von einem Prozessor ausführbaren Befehle Folgendes umfassen: Mittel zum Erhalten einer ersten Data-Lineage, die Beziehungen zwischen einer Vielzahl an physikalischen Datenelementen darstellt, wobei die erste Data-Lineage zumindest teilweise erzeugt wird durch mindestens einen der folgenden Schritte: (a) Analysieren des Quellcodes von mindestens einem Computerprogramm, das für den Zugriff auf mindestens einige aus einer Vielzahl von physikalischen Datenelementen konfiguriert ist; und (b) Analysieren von Informationen, die während der Laufzeit des mindestens einen Computerprogramms erhalten wurden; Mittel zum Erhalten einer zweiten Data-Lineage, zumindest teilweise basierend auf Benutzereingaben, die Beziehungen zwischen einer Vielzahl an Geschäftsdatenelementen darstellt; Mittel zum Erhalten einer Verbindung zwischen mindestens einigen aus einer Vielzahl von physikalischen Datenelementen der ersten Data-Lineage und mindestens einigen aus einer Vielzahl von Geschäftsdatenelementen der zweiten Data-Lineage; und Mittel zum Bestimmen, basierend auf der Verbindung zwischen der Vielzahl an physikalischen Datenelementen und der Vielzahl an Geschäftsdatenelementen, ob es eine Diskrepanz oder mehrere Diskrepanzen zwischen der ersten Data-Lineage, der zweiten Data-Lineage und der erhaltenen Verbindung gibt.
  • Einige Ausführungsformen betreffen ein Datenverarbeitungssystem zur Bestimmung des Maßstabs für die Datenqualität für ein oder mehrere Geschäftsdatenelemente. Das System umfasst mindestens einen Computer-Hardwareprozessor; und mindestens ein dauerhaftes, computerlesbares Speichermedium, das von einem Prozessor ausführbare Befehle speichert, welches, wenn es von dem mindestens einen Computer-Hardwareprozessor ausgeführt wird, den mindestens einen Computer-Hardwareprozessor zu Folgendem veranlasst: Erhalten einer ersten Data-Lineage, die Beziehungen zwischen einer Vielzahl an physikalischen Datenelementen darstellt, wobei die erste Data-Lineage zumindest teilweise erzeugt wird durch mindestens einen der folgenden Schritte: Analysieren des Quellcodes von mindestens einem Computerprogramm, das für den Zugriff auf mindestens einige aus einer Vielzahl von physikalischen Datenelementen konfiguriert ist und Analysieren von Informationen, die während der Laufzeit des mindestens einen Computerprogramms erhalten wurden; Erhalten einer zweiten Data-Lineage, zumindest teilweise basierend auf Benutzereingaben, die Beziehungen zwischen einer Vielzahl an Geschäftsdatenelementen darstellt; Erhalten einer Verbindung zwischen mindestens einigen aus einer Vielzahl von physikalischen Datenelementen der ersten Data-Lineage und mindestens einigen aus einer Vielzahl von Geschäftsdatenelementen der zweiten Data-Lineage; wobei die Verbindung eine Verbindung zwischen einem ersten physikalischen Datenelement aus einer Vielzahl von physikalischen Datenelementen und einem ersten Geschäftsdatenelement aus einer Vielzahl von Geschäftsdatenelementen beinhaltet; und Bestimmen eines Maßes für die Datenqualität für das erste Geschäftsdatenelement, welches mindestens teilweise auf einem Datenqualitätsmaßstab basiert, das mit dem ersten physikalischen Datenelement und der Verbindung zwischen dem ersten physikalischen Datenelement und dem ersten Geschäftsdatenelement verbunden ist.
  • Bei einigen Ausführungsformen umfasst das Bestimmen des Maßstabs für die Datenqualität des ersten Geschäftsdatenelements: das Durchführen einer Analyse der Datenqualität von Daten in dem ersten physikalischen Datenelement basierend zumindest teilweise auf einer oder mehreren Datenqualitätsregeln, die den Daten in dem ersten physikalischen Datenelement zugeordnet sind, um den mindestens einen Datenqualitätsmaßstab, der dem ersten physikalischen Datenelement zugeordnet ist, zu erhalten.
  • Bei einigen Ausführungsformen, dem Datenverarbeitungssystem nach Anspruch 18, beinhaltet der Maßstab für die Datenqualität für das erste Geschäftselement einen Maßstab für eine oder mehrere der folgenden Eigenschaften: Genauigkeit, Vollständigkeit und Gültigkeit.
  • Einige Ausführungsformen betreffen ein Verfahren, welches durch Benutzung mindestens eines Computer-Hardwareprozessors folgende Schritte umfasst: Erhalten einer ersten Data-Lineage, die Beziehungen zwischen einer Vielzahl an physikalischen Datenelementen darstellt, wobei die erste Data-Lineage zumindest teilweise erzeugt wird durch mindestens einen der folgenden Schritte: Analysieren des Quellcodes von mindestens einem Computerprogramm, das für den Zugriff auf mindestens einige aus einer Vielzahl von physikalischen Datenelementen konfiguriert ist und Analysieren von Informationen, die während der Laufzeit des mindestens einen Computerprogramms erhalten wurden; Erhalten einer zweiten Data-Lineage, zumindest teilweise basierend auf Benutzereingaben, die Beziehungen zwischen einer Vielzahl an Geschäftsdatenelementen darstellt; Erhalten einer Verbindung zwischen mindestens einigen aus einer Vielzahl von physikalischen Datenelementen der ersten Data-Lineage und mindestens einigen aus einer Vielzahl von Geschäftsdatenelementen der zweiten Data-Lineage; wobei die Verbindung eine Verbindung zwischen einem ersten physikalischen Datenelement aus einer Vielzahl von physikalischen Datenelementen und einem ersten Geschäftsdatenelement aus einer Vielzahl von Geschäftsdatenelementen beinhaltet; und Bestimmen eines Maßes für die Datenqualität für das erste Geschäftsdatenelement, welches mindestens teilweise auf einem Datenqualitätsmaßstab basiert, das mit dem ersten physikalischen Datenelement und der Verbindung zwischen dem ersten physikalischen Datenelement und dem ersten Geschäftsdatenelement verbunden ist.
  • Einige Ausführungsformen betreffen mindestens ein dauerhaftes, computerlesbares Speichermedium, das von einem Prozessor ausführbare Befehle speichert, welches, wenn es von mindestens einem Computer-Hardwareprozessor ausgeführt wird, den mindestens einen Computer-Hardwareprozessor zu Folgendem veranlasst: Erhalten einer ersten Data-Lineage, die Beziehungen zwischen einer Vielzahl an physikalischen Datenelementen darstellt, wobei die erste Data-Lineage zumindest teilweise erzeugt wird durch mindestens einen der folgenden Schritte: Analysieren des Quellcodes von mindestens einem Computerprogramm, das für den Zugriff auf mindestens einige aus einer Vielzahl von physikalischen Datenelementen konfiguriert ist, und Analysieren von Informationen, die während der Laufzeit des mindestens einen Computerprogramms erhalten wurden; Erhalten einer zweiten Data-Lineage, zumindest teilweise basierend auf Benutzereingaben, die Beziehungen zwischen einer Vielzahl an Geschäftsdatenelementen darstellt; Erhalten einer Verbindung zwischen mindestens einigen aus einer Vielzahl von physikalischen Datenelementen der ersten Data-Lineage und mindestens einigen aus einer Vielzahl von Geschäftsdatenelementen der zweiten Data-Lineage; wobei die Verbindung eine Verbindung zwischen einem ersten physikalischen Datenelement aus einer Vielzahl von physikalischen Datenelementen und einem ersten Geschäftsdatenelement aus einer Vielzahl von Geschäftsdatenelementen beinhaltet; und Bestimmen eines Maßes für die Datenqualität für das erste Geschäftsdatenelement, welches mindestens teilweise auf einem Datenqualitätsmaßstab basiert, das mit dem ersten physikalischen Datenelement und der Verbindung zwischen dem ersten physikalischen Datenelement und dem ersten Geschäftsdatenelement verbunden ist.
  • Einige Ausführungsformen betreffen mindestens ein dauerhaftes, computerlesbares Speichermedium, das von einem Prozessor ausführbare Befehle zur Ausführung durch mindestens einen Computer-Hardwareprozessor speichert, wobei die von einem Prozessor ausführbaren Befehle Folgendes umfassen: Mittel zum Erhalten einer ersten Data-Lineage, die Beziehungen zwischen einer Vielzahl an physikalischen Datenelementen darstellt, wobei die erste Data-Lineage zumindest teilweise erzeugt wird durch mindestens einen der folgenden Schritte: Analysieren des Quellcodes von mindestens einem Computerprogramm, das für den Zugriff auf mindestens einige aus einer Vielzahl von physikalischen Datenelementen konfiguriert ist und Analysieren von Informationen, die während der Laufzeit des mindestens einen Computerprogramms erhalten wurden; Mittel zum Erhalten einer zweiten Data-Lineage, zumindest teilweise basierend auf Benutzereingaben, die Beziehungen zwischen einer Vielzahl an Geschäftsdatenelementen darstellt; Mittel zum Erhalten einer Verbindung zwischen mindestens einigen aus einer Vielzahl von physikalischen Datenelementen der ersten Data-Lineage und mindestens einigen aus einer Vielzahl von Geschäftsdatenelementen der zweiten Data-Lineage; wobei die Verbindung eine Verbindung zwischen einem ersten physikalischen Datenelement aus einer Vielzahl von physikalischen Datenelementen und einem ersten Geschäftsdatenelement aus einer Vielzahl von Geschäftsdatenelementen beinhaltet; und Mittel zum Bestimmen eines Maßes für die Datenqualität für das erste Geschäftsdatenelement, welches mindestens teilweise auf einem Datenqualitätsmaßstab basiert, das mit dem ersten physikalischen Datenelement und der Verbindung zwischen dem ersten physikalischen Datenelement und dem ersten Geschäftsdatenelement verbunden ist.
  • Bei dem Vorstehenden handelt sich um eine nicht einschränkende Zusammenfassung der Erfindung, die durch die beigefügten Ansprüche definiert ist.
  • Figurenliste
  • Verschiedene Aspekte und Ausführungsformen werden unter Bezugnahme auf die folgenden Figuren beschrieben. Es ist zu beachten, dass die Figuren nicht zwingend maßstabsgetreu sind. Elemente, die in mehreren Figuren erscheinen, werden in allen Figuren, in denen sie vorkommen, durch die gleiche oder eine ähnliche Bezugsnummer gekennzeichnet.
    • 1 ist ein Blockdiagramm einer beispielhaften Computerumgebung, in der einige Ausführungsformen der hier beschriebenen Technologie ausgeführt werden können.
    • 2 ist eine illustrative grafische Darstellung einer beispielhaften abgeleiteten Data-Lineage gemäß einigen Ausführungsformen der hier beschriebenen Technologie.
    • 3A ist ein Diagramm, das gemäß einigen Ausführungsformen der hier beschriebenen Technologie die Verbindung zwischen einer benutzerdefinierten Data-Lineage und einer abgeleiteten Data-Lineage darstellt.
    • 3B ist ein weiteres Diagramm, das gemäß einigen Ausführungsformen der hier beschriebenen Technologie die Verbindung zwischen einer benutzerdefinierten Data-Lineage und einer abgeleiteten Data-Lineage darstellt.
    • 3C ist ein weiteres Diagramm, das gemäß einigen Ausführungsformen der hier beschriebenen Technologie die Verbindung zwischen einer benutzerdefinierten Data-Lineage und einer abgeleiteten Data-Lineage darstellt.
    • 3D ist ein weiteres Diagramm, das gemäß einigen Ausführungsformen der hier beschriebenen Technologie die Verbindung zwischen einer benutzerdefinierten Data-Lineage und einer abgeleiteten Data-Lineage darstellt.
    • 4A ist ein Diagramm, das gemäß einigen Ausführungsformen der hier beschriebenen Technologie eine grafische Schnittstelle veranschaulicht, über die ein Geschäftsdatenelement einem physikalischen Datenelement zugeordnet werden kann.
    • 4B ist ein Diagramm, das gemäß einigen Ausführungsformen der hier beschriebenen Technologie eine weitere grafische Oberfläche veranschaulicht, über die ein physikalisches Datenelement einem Geschäftsdatenelement zugeordnet werden kann.
    • 5 ist ein Flussdiagramm eines beispielhaften Prozesses gemäß einigen Ausführungsformen der hier beschriebenen Technologie zum Erhalten einer Verbindung zwischen einer benutzerdefinierten Data-Lineage und einer abgeleiteten Data-Lineage und zum Verwenden der erhaltenen Verbindung zum Bestimmen, ob es Diskrepanzen zwischen der benutzerdefinierten Data-Lineage, der abgeleiteten Data-Lineage und der Verbindung zwischen ihnen gibt.
    • 6A-B sind Diagramme von beispielhaften grafischen Oberflächen gemäß einigen Ausführungsformen der hier beschriebenen Technologie, die Informationen über ein Geschäftsdatenelement „Kreditwürdigkeit“ zeigen.
    • 6C ist ein Diagramm einer beispielhaften Benutzeroberfläche gemäß einigen Ausführungsformen der hier beschriebenen Technologie, die eine abgeleitete Data-Lineage für das Geschäftsdatenelement „Kreditwürdigkeit“ zeigt.
    • 6D ist ein Diagramm einer beispielhaften Benutzeroberfläche gemäß einigen Ausführungsformen der hier beschriebenen Technologie, die eine benutzerdefinierte Data-Lineage für das Geschäftsdatenelement „Kreditwürdigkeit“ zeigt.
    • 6E ist ein Diagramm einer beispielhaften Benutzeroberfläche gemäß einigen Ausführungsformen der hier beschriebenen Technologie, die eine Diskrepanz zwischen der benutzerdefinierten und der abgeleiteten Data-Lineage für das Geschäftsdatenelement „Kreditwürdigkeit“ anzeigt.
    • 7 ist ein Blockdiagramm einer beispielhaften Computersystemumgebung, mit der einige Ausführungsformen der hier beschriebenen Technologie umgesetzt werden können.
    • 8A ist ein Diagramm einer beispielhaften Benutzeroberfläche gemäß einigen Ausführungsformen der hier beschriebenen Technologie, die eine benutzerdefinierte Data-Lineage zeigt.
    • 8B ist ein Diagramm einer beispielhaften Benutzeroberfläche gemäß einigen Ausführungsformen der hier beschriebenen Technologie, die Details über die Abhängigkeit zwischen zwei Geschäftsdatenelementen in der benutzerdefinierten Data-Lineage aus 8A zeigt.
    • 8C ist ein Diagramm einer beispielhaften Benutzeroberfläche gemäß einigen Ausführungsformen der hier beschriebenen Technologie, die eine abgeleitete Data-Lineage entsprechend einem Teil der benutzerdefinierten Data-Lineage aus 8A zeigt.
    • 8D ist ein Diagramm einer beispielhaften Benutzeroberfläche gemäß einigen Ausführungsformen der hier beschriebenen Technologie, die Informationen über einen Knoten in der benutzerdefinierten Data-Lineage aus 8A zeigt.
    • 8E ist ein Diagramm einer beispielhaften Benutzeroberfläche, die Informationen über ein physikalisches Datenelement, das einem Geschäftsdatenelement in der benutzerdefinierten Data-Lineage aus 8A zugeordnet ist, zeigt.
    • 8F ist ein Diagramm einer beispielhaften Benutzeroberfläche gemäß einigen Ausführungsformen der hier beschriebenen Technologie, die Details über die Abhängigkeit zwischen zwei weiteren Geschäftsdatenelementen in der benutzerdefinierten Data-Lineage aus 8A zeigt.
  • DETAILLIERTE BESCHREIBUNG
  • Die Erfinder haben erkannt und verstanden, dass Genauigkeit, Prüfungseffizienz und Zuverlässigkeit eines Datenverarbeitungssystems durch Verfahren verbessert werden können, die es erleichtern, genaue und vollständige Informationen über die Data-Lineage für Daten zu erzeugen, die vom Datenverarbeitungssystem verwaltet werden. Diese Verfahren können verwendet werden, um das Vorhandensein von Problemen in Datenverarbeitungssystemen zu erkennen und deren Lösung zu erleichtern, wodurch die Funktionalität von Datenverarbeitungssystemen verbessert und Fehler bei der Datenverarbeitung reduziert werden. Die Erfinder haben Verfahren zur Verbesserung konventioneller Ansätze zur Erzeugung von Informationen über die Data-Lineage erkannt und gewürdigt.
  • Einige konventionelle Verfahren zum Erzeugen von Informationen über die Data-Lineage sind manuelle Verfahren. Obwohl manuelle Verfahren zum Erzeugen von Informationen über die Data-Lineage eine Anpassung der erzeugten Informationen über die Data-Lineage ermöglichen, so dass sie Fachbegriffe, die von Personen verstanden wird, welche die Data-Lineages anfordern, sowie Informationen enthalten, die für Personen von Interesse sind, welche die Informationen über die Data-Lineage anfordern, sind damit zahlreiche Nachteile verbunden. Erstens kann die Genauigkeit der mit herkömmlichen manuellen Verfahren erzeugten Informationen über die Data-Lineage nicht automatisch überprüft werden. Wenn beispielsweise eine Person, die eine Data-Lineage für einen Bericht manuell erstellt, angibt, dass einige Daten, die für die Erstellung eines Berichts verwendet werden, aus einer bestimmten Datenquelle stammen (z. B. ein Datenbanksystem an einem bestimmten Ort), kann diese Angabe nur durch eine manuelle Überprüfung der Arbeit der Person überprüft werden. Zweitens sind manuell erzeugte Data-Lineages schnell veraltet, da sich die von einem Datenverarbeitungssystem verwalteten Daten häufig ändern, z. B. durch das Entfernen und/oder Hinzufügen von Datenquellen, Migration von Daten, Änderungen an der Datenverarbeitungslogik und dergleichen. Solche Änderungen erfolgen in einem schnellen Tempo, mit dem herkömmliche manuelle Verfahren zum Erzeugen der Data-Lineage nicht Schritt halten können.
  • Automatisierte Verfahren zum Erzeugen von Informationen über die Data-Lineage können einige dieser Mängel beheben. So können beispielsweise automatisierte Verfahren zum Erzeugen von Informationen über die Data-Lineage wiederholt ausgeführt werden, so dass die erzeugten Informationen über die Data-Lineage auf dem neuesten Stand sind. Als weiteres Beispiel können die erzeugten Informationen über die Data-Lineage von einem oder mehreren Computerprogrammen verifiziert werden. Automatisierte Verfahren zum Erzeugen von Informationen über die Data-Lineage haben jedoch auch einige Nachteile. Beispielsweise können Informationen über die Data-Lineage, die durch ein automatisiertes Verfahren erzeugt werden (z. B. ein Verfahren, das auf der Analyse des Quellcodes einer oder mehrerer Anwendungen basiert, die mit Daten arbeiten, die von einem Datenverarbeitungssystem verwaltet werden), Terminologie (z. B. technische Namen von Variablen und Datensatzfeldern) beinhalten, die für Personen (z. B. Geschäftsleute), welche die Informationen über die Data-Lineage aufrufen, nicht leicht verständlich ist. Als ein weiteres Beispiel können die automatisch generierten Informationen über die Data-Lineage viel mehr Informationen enthalten als die betreffenden Personen sehen möchten. Beispielsweise können automatisch generierte Informationen über die Data-Lineage detaillierte Informationen über jede einzelne Datenumwandlung beinhalten, einschließlich einiger Informationen, die für die Personen, welche die Data-Lineage betrachten, wahrscheinlich unbedeutend sind (z. B. das Sortieren von Datensätzen nach einem Schlüssel, um Informationen über alle Kunden zu extrahieren, deren Nachname mit „A“ beginnt, kann eine Umwandlung bedeuten, die für einen Bankmanager, der an der Data-Lineage eines Datenwerts interessiert ist, der den Kreditwert eines Bankkunden anzeigt, dessen Nachname „Armstrong“ lautet, nicht von Interesse ist).
  • Die Erfinder haben erkannt und gewürdigt, dass sowohl manuell als auch automatisch erhaltene Informationen nützliche Daten liefern, die zur Verfeinerung der gesamten Data-Lineage verwendet werden können. Dementsprechend stellen einige Ausführungsformen verbesserte Verfahren zum Erzeugen von Überformationen über die Data-Lineage bereit. Anstatt nur manuell generierte Informationen über die Data-Lineage oder nur automatisch generierte Informationen über die Data-Lineage zu verwenden, die beide Nachteile haben, einschließlich der oben beschriebenen, stellen die von den Erfindern entwickelten und hier beschriebenen Verfahren zum Erzeugen genauer und vollständiger Informationen über die Data-Lineage bereit durch: (1) Erhalten von manuell erzeugten Informationen über die Data-Lineage (hierin als „benutzerdefinierte Data-Lineage“ oder „benutzerdefinierte Lineage“ oder „angegebene Data-Lineage“ bezeichnet); (2) Erhalten von automatisch generierten Informationen über die Data-Lineage (hierin als „abgeleitete Data-Lineage“ oder „abgeleitete Lineage“ bezeichnet); und (3) Erhalten einer Verbindung zwischen den benutzerdefinierten und abgeleiteten Data-Lineages (z. B. durch Erzeugen einer Verbindung oder durch Zugreifen auf eine zuvor generierte Verbindung). Die erhaltene Verbindung kann verwendet werden, um zumindest einige der oben beschriebenen Nachteile bei alleiniger Verwendung einer der beiden Arten von Informationen über die Data-Lineage zu beheben. Als Beispiel kann die Verbindung zwischen einer benutzerdefinierten Data-Lineage und einer abgeleiteten Data-Lineage verwendet werden, um die Richtigkeit der benutzerdefinierten Data-Lineage zu überprüfen und generell Diskrepanzen oder Inkonsistenzen zwischen diesen beiden Lineage-Arten zu identifizieren. Als weiteres Beispiel kann die Verbindung zwischen einer benutzerdefinierten Data-Lineage und einer abgeleiteten Data-Lineage Informationen in der abgeleiteten Data-Lineage, die oft in Fachterminologie ausgedrückt wird, auf die Geschäftsterminologie abbilden, die für die Verbraucher von Informationen über die Data-Lineage leichter nachvollziehbar ist. Als weiteres Beispiel kann die Verbindung zwischen einer benutzerdefinierten Data-Lineage und einer abgeleiteten Data-Lineage verwendet werden, um die Genauigkeit der abgeleiteten Data-Lineage zu überprüfen. Die Identifizierung von Fehlern in der abgeleiteten Data-Lineage (z. B. durch eine Inkonsistenz mit der benutzerdefinierten Data-Lineage) ermöglicht die Identifizierung von Problemen mit zugrunde liegenden Datenverarbeitungssystemen, den Kommunikationsverbindungen zwischen ihnen und/oder Datenverarbeitungsfehlern. Die Identifizierung und Behebung solcher Probleme verbessert wiederum die Funktionalität der zugrunde liegenden Datenverarbeitungssysteme und reduziert Datenverarbeitungsfehler. Da eine abgeleitete Data-Lineage äußerst detaillierte Informationen über den Datenstrom liefert, ist es sehr schwierig, Fehler aus solch detaillierten Informationen herauszufinden - es ist vergleichbar mit dem Auffinden einer Nadel im Heuhaufen. Die Verbindung einer benutzerdefinierten Data-Lineage zur abgeleiteten Data-Lineage gemäß den hier beschriebenen Ausführungsformen erleichtert das Identifizieren von Datenverarbeitungsfehlern in einer Weise, welche die abgeleitete Data-Lineage allein nicht ermöglicht.
  • Die von den Erfindern entwickelten und hier beschriebenen Verfahren verbessern die Datenverarbeitungssysteme. Erstens bieten die hier beschriebenen Verfahren eine Verbesserung gegenüber herkömmlichen Data-Lineage-Verfahren, die in vielen Datenverarbeitungssystemen enthalten sind. Zweitens ermöglichen die hier beschriebenen Verfahren das Erzeugen von Hinweisen auf Übereinstimmung und/oder Deskrepanz zwischen benutzerdefinierten und abgeleiteten Data-Lineages, was die Identifizierung von Fehlern bei beiden Arten von Data-Lineages ermöglicht und somit das Identifizieren und Beheben von Datenverarbeitungsfehlern in Datenverarbeitungssystemen erleichtert.
  • Einige der hier beschriebenen Ausführungsformen behandeln alle der oben beschriebenen Probleme, welche die Erfinder bei herkömmlichen Verfahren zum Erzeugen von Informationen über die Data-Lineage erkannt haben. Nicht jede der im Folgenden beschriebenen Ausführungsformen behandelt jedoch jedes dieser Probleme, wobei einige Ausführungsformen ggf. auf keines dieser Probleme eingehen. So ist zu beachten, dass sich die Ausführungsformen der hier beschriebenen Technologie nicht darauf beschränken, alle oder eine der oben erwähnten Probleme bei herkömmlichen Verfahren zum Erzeugen von Informationen über die Data-Lineage zu behandeln.
  • Bei einigen Ausführungsformen kann ein Datenverarbeitungssystem wie folgt ausgestaltet sein: (1) Erhalten einer abgeleiteten Data-Lineage, die Beziehungen zwischen physikalischen Datenelementen darstellt; (2) Erhalten einer benutzerdefinierten Data-Lineage, welche die Beziehungen zwischen Geschäftsdatenelementen darstellt; (3) Erhalten einer Verbindung zwischen der abgeleiteten Data-Lineage und der benutzerdefinierten Data-Lineage (z. B. durch Erzeugen einer Verbindung zwischen mindestens einigen der physikalischen Datenelemente der abgeleiteten Data-Lineage und mindestens einigen der Geschäftsdatenelemente der benutzerdefinierten Data-Lineage); und (4) Erzeugen, basierend auf der Verbindung zwischen einer Vielzahl an physikalischen Datenelementen und einer Vielzahl an Geschäftsdatenelementen, eines Hinweises auf Übereinstimmung oder Diskrepanz zwischen der ersten Data-Lineage und der zweiten Data-Lineage.
  • Bei einigen Ausführungsformen umfasst die Erzeugung des Hinweises auf Übereinstimmung oder Diskrepanz: das Anzeigen einer Visualisierung der zweiten Data-Lineage, die Übereinstimmung oder Diskrepanz aufzeigt. Nicht einschränkende Beispiele für solche Visualisierungen sind in den 6A-6E und 8A-8F abgebildet. Die benutzerdefinierte Data-Lineage kann z. B. eine erste Verbindung umfassen, die eine erste Abhängigkeit zwischen zwei Geschäftsdatenelementen darstellt, während das Anzeigen der Visualisierung der benutzerdefinierten Data-Lineage das Anzeigen der Verbindung in einer Weise umfassen kann (z. B. durch eine dicke Linie wie in 8A gezeigt), wenn es eine Abhängigkeit in der abgeleiteten Data-Lineage gibt, die der ersten Abhängigkeit entspricht, und in einer anderen Weise (z. B. durch eine dünne Linie wie in 8A gezeigt), wenn es keine Abhängigkeit in der abgeleiteten Data-Lineage gibt, die der ersten Abhängigkeit entspricht.
  • Bei einigen Ausführungsformen wird durch den Hinweis auf Übereinstimmung oder Diskrepanz anhand der Zuordnung zwischen der abgeleiteten Data-Lineage und der benutzerdefinierten Data-Lineage, bestimmt, ob es eine Diskrepanz zwischen der abgeleiteten Data-Lineage, der benutzerdefinierten Data-Lineage und der Verbindung zwischen der abgeleiteten und der benutzerdefinierten Data-Lineage gibt.
  • Bei einigen Ausführungsformen kann ein physikalisches Datenelement jedes Datenelement sein, das von einem Datenverarbeitungssystem gespeichert und/oder verarbeitet wird. So kann beispielsweise ein physikalisches Datenelement ein Feld in einem Datensatz sein, und der Wert des physikalischen Datenelements kann der im Feld des Datensatzes gespeicherte Wert sein. Als weiteres Beispiel kann ein physikalisches Datenelement eine Zelle in einer Tabelle sein (z. B. eine Zelle, die in einer bestimmten Zeile und Spalte der Tabelle vorkommt) und der Wert des physikalischen Datenelements kann der Wert in der Zelle der Tabelle sein. Als weiteres Beispiel kann ein physikalisches Datenelement eine Variable sein (z. B. in einem Bericht) und der Wert des physikalischen Elements kann ein Wert der Variablen sein (z. B. in einer bestimmten Instanz des Berichts).
  • Bei einigen Ausführungsformen kann ein Geschäftsdatenelement jedes Datenelement sein, das eine konzeptionelle Größe, die für ein Unternehmen relevant ist, darstellt. Ein Geschäftsdatenelement kann unter Verwendung der natürlichen Sprache, die einem Geschäftsanwender vertraut ist (z. B. ein Geschäftsbegriff), angegeben (z. B. benannt und/oder identifiziert) werden. Es kann ein oder mehrere physikalische Datenelemente geben, die dem Geschäftsdatenelement entsprechen, indem sie einen oder mehrere Werte speichern, die Instanzen der konzeptionellen Größe sind, die das Geschäftsdatenelement darstellt. Ein Beispiel für ein Geschäftsdatenelement kann die Kreditwürdigkeit eines Bankkunden sein, der eine für das Geschäft einer Bank relevante konzeptionelle Größe ist. Es kann ein oder mehrere physikalische Datenelemente (z. B. in einer oder mehreren Tabellen, Dateien, Tabellenkalkulationen, Datenströmen usw.) geben, die Werte speichern, welche die Kreditwürdigkeit des Bankkunden darstellen. In diesem Beispiel kann es mehrere physikalische Datenelemente geben, die dem Geschäftsdatenelement entsprechen, weil die Kreditwürdigkeit des Kunden an mehreren Standorten gespeichert werden kann oder weil es für den Kunden mehrere verschiedene Kreditwürdigkeitsprüfungen gibt (z. B. unterschiedliche Kreditwürdigkeitsprüfungen durch verschiedene Rating-Agenturen). So kann es ein oder mehrere physikalische Datenelemente geben, die einem einzelnen Geschäftsdatenelement entsprechen. Andererseits kann es bei einigen Ausführungsformen nur ein einziges Geschäftsdatenelement geben, das einem bestimmten physikalischen Datenelement entspricht. Ein Geschäftsdatenelement kann einen Wert eines entsprechenden physikalischen Datenelements annehmen.
  • Es ist zu beachten, dass, obwohl es ein oder mehrere physikalische Elemente geben kann, die einem Geschäftsdatenelement entsprechen, ein herkömmliches Datenverarbeitungssystem möglicherweise nicht auf Informationen zugreifen kann, die eine solche Übereinstimmung anzeigen. Ohne Zugriff auf diese Informationen kann ein Datenverarbeitungssystem möglicherweise nicht automatisch erkennen, welche(s) physikalische(n) Datenelement(e) einem Geschäftsdatenelement entspricht/entsprechen und/oder welches Geschäftsdatenelement einem oder mehreren physikalischen Datenelement(en) entspricht. Im Gegensatz dazu stellen einige Ausführungsformen der hier beschriebenen Technologie das Erzeugen und Speichern einer Verbindung zwischen physikalischen und geschäftlichen Datenelementen bereit. Die erzeugte Verbindung zwischen einem physikalischen Datenelement und einem Geschäftsdatenelement kann Informationen bereitstellen, welche die Übereinstimmung zwischen dem physikalischen und dem geschäftlichen Datenelement anzeigen. Bei einigen Ausführungsformen kann ein Datenverarbeitungssystem solche Verbindungen verwenden, um automatisch zu bestimmen, welche physikalischen Datenelemente und Geschäftsdatenelemente einander entsprechen.
  • Bei einigen Ausführungsformen kann eine abgeleitete Data-Lineage Informationen über die Data-Lineage eines oder mehrerer physikalischer Datenelemente beinhalten, die von einem Datenverarbeitungssystem gespeichert und/oder verarbeitet werden. Informationen über die Data-Lineage eines physikalischen Datenelements können Informationen über die vorgelagerte Data-Lineage beinhalten, die anzeigen, wie der Wert des physikalischen Datenelements erhalten wurde. So können beispielsweise die Informationen über die vorgelagerten Data-Lineage Daten (z. B. ein oder mehrere physikalische Datenelemente) identifizieren, aus denen das physikalische Datenelement abgeleitet wurde, und/oder eine oder mehrere Umwandlungen, die auf den Datensatz angewendet wurden. Informationen über die Data-Lineage des physikalischen Datenelements können zusätzlich oder alternativ Informationen über die vorgelagerte Data-Lineage beinhalten, die einen oder mehrere andere Datensätze, physikalische Datenelemente, Prozesse und/oder Anwendungen angeben, die vom Wert des physikalischen Datenelements abhängen.
  • Bei einigen Ausführungsformen kann eine abgeleitete Data-Lineage erhalten werden, indem der Quellcode mindestens eines Computerprogramms analysiert wird, das konfiguriert ist, um auf mindestens einige aus einer Vielzahl von physikalischen Datenelementen zuzugreifen (z. B. Lesen, Schreiben und Ändern), die von einem Datenverarbeitungssystem verwaltet werden. Die Quellcodeanalyse kann unter Verwendung geeigneter statischer Codeanalyseverfahren und/oder anderer geeigneter Verfahren durchgeführt werden. Die Quellcodeanalyse kann verwendet werden, um ein oder mehrere physikalische Datenelemente zu identifizieren, die eingegeben werden und/oder auf die über ein Computerprogramm zugegriffen wird, um eine oder mehrere Umwandlungen zu identifizieren, die auf die Eingaben und/oder Berechnungen angewendet werden, welche die Eingaben als Teil des Computerprogramms nutzen, und/oder um eine oder mehrere Ausgaben des Computerprogramms zu identifizieren. Bei einigen Ausführungsformen kann das Computerprogramm ein Datenflussdiagramm umfassen.
  • Bei einigen Ausführungsformen kann zusätzlich zur Analyse des Quellcodes eines oder mehrerer Computerprogramme oder an deren Stelle eine abgeleitete Data-Lineage erhalten werden, indem Informationen analysiert werden, die während der Laufzeit des mindestens einen Computerprogramms erhalten wurden. So können beispielsweise bei einigen Ausführungsformen ein oder mehrere Protokolle, die während der Laufzeit eines Computerprogramms erzeugt werden, analysiert werden, um Eingaben in das Computerprogramm zu identifizieren, eine oder mehrere Umwandlungen zu identifizieren, die auf die Eingaben und/oder Berechnungen angewendet werden, welche die Eingaben als Teil des Computerprogramms nutzen, und/oder um eine oder mehrere Ausgaben des Computerprogramms zu identifizieren.
  • Bei einigen Ausführungsformen kann eine benutzerdefinierte Data-Lineage von einem Benutzer angegeben werden und Beziehungen zwischen Geschäftsdatenelementen darstellen. Die benutzerdefinierte Data-Lineage kann Informationen über die vor- und nachgelagerte Data-Lineage beinhalten. So kann beispielsweise die benutzerdefinierte Data-Lineage Informationen enthalten, die ein oder mehrere andere Geschäftsdatenelemente angeben, die zur Erzeugung (z. B. Berechnung) eines für das Unternehmen interessanten Geschäftsdatenelements verwendet werden (z. B. Kreditwürdigkeit eines Bankkunden). Bei einigen Ausführungsformen kann dem Benutzer eine oder mehrere grafische Benutzeroberflächen zur Verfügung gestellt werden, um ihm die Angabe einer benutzerdefinierten Data-Lineage zu erleichtern.
  • Bei einigen Ausführungsformen kann die Erzeugung einer Verbindung zwischen einer abgeleiteten Data-Lineage und einer benutzerdefinierten Data-Lineage durch die Erzeugung einer Verbindung zwischen einem oder mehreren physikalischen Datenelementen in der abgeleiteten Data-Lineage und einem oder mehreren entsprechenden Geschäftsdatenelementen in der benutzerdefinierten Data-Lineage ausgeführt werden. Bei einigen Ausführungsformen kann eine Verbindung zwischen dem physikalischen Datenelement und einem Geschäftsdatenelement automatisch erzeugt werden, beispielsweise anhand von Metadaten (z. B. Namen) der physikalischen Datenelemente und der Geschäftsdatenelemente. Bei einigen Ausführungsformen kann eine Verbindung zwischen einem physikalischen Datenelement und einem Geschäftsdatenelement anhand von Benutzereingaben zur Präzisierung der Verbindung erzeugt werden. Bei solchen Ausführungsformen kann dem Benutzer eine oder mehrere grafische Benutzeroberflächen zur Verfügung gestellt werden, um ihm die Angabe einer benutzerdefinierten Data-Lineage zu erleichtern.
  • Bei einigen Ausführungsformen kann anhand der Verbindung zwischen einer abgeleiteten Data-Lineage und einer benutzerdefinierten Data-Lineage ermittelt werden, ob zwischen den Data-Lineages eine Diskrepanz besteht. Wenn zum Beispiel die Verbindung zwischen den Data-Lineages angibt, dass das Geschäftsdatenelement „B“ mit dem physikalischen Datenelement „P“ verbunden ist, kann bei der Ermittlung, ob eine Diskrepanz besteht, festgestellt werden, dass ein erster Satz einer oder mehrerer Datenquellen, die in der abgeleiteten Data-Lineage so identifiziert wurden, dass sie verwendet werden, um ein physikalisches Datenelement P zu erzeugen, sich von einem zweiten Satz einer oder mehrerer Datenquellen unterscheidet, die in der benutzerdefinierten Data-Lineage so identifiziert wurden, dass sie verwendet werden, um ein Geschäftsdatenelement B zu erzeugen.
  • Bei einigen Ausführungsformen kann die abgeleitete Data-Lineage aktualisiert werden und die Ermittlung, ob eine Diskrepanz zwischen der abgeleiteten Data-Lineage und der benutzerdefinierten Data-Lineage besteht, kann erneut auftreten. Auf diese Weise können Diskrepanzen zwischen den Data-Lineages erkannt werden, die aufgrund von Änderungen an den Daten entstehen, die vom Datenverarbeitungssystem verwaltet werden.
  • Es ist zu beachten, dass eine Verbindung zwischen einer abgeleiteten Data-Lineage und einer benutzerdefinierten Data-Lineage nicht darauf beschränkt ist, zur Erkennung von Diskrepanzen zwischen den Data-Lineages verwendet zu werden. Sie kann auch für andere geeignete Zwecke verwendet werden. Zum Beispiel kann die Verbindung zwischen den Data-Lineages bei einigen Ausführungsformen für das Bestimmen des Maßstabs für die Datenqualität für ein oder mehrere Geschäftsdatenelemente verwendet werden.
  • Bei einigen Ausführungsformen kann die Datenqualität in einem oder mehreren physikalischen Datenelementen beurteilt werden. Bei einigen Ausführungsformen kann die Datenqualität zum Beispiel beurteilt werden, indem vorkonfigurierte Datenqualitätsregeln verwendet werden, die Kriterien zur Beurteilung der Werte von physikalischen Datenelementen definieren können, beispielsweise durch die Kennzeichnung von Merkmalen (z. B. Genauigkeit, Präzision, Vollständigkeit und Gültigkeit) der Werte entsprechend den Kriterien. Der Umfang, in dem die Werte die Eigenschaften darstellen, kann dadurch einen Maßstab für die Datenqualität der physikalischen Datenelemente erzeugen und aufgrund der Verbindung zwischen den physikalischen und den Geschäftsdatenelementen einen Qualitätsmaßstab für die Geschäftsdatenelemente schaffen.
  • Dementsprechend kann bei einigen Ausführungsformen ein Datenverarbeitungssystem wie folgt ausgestaltet sein: (1) Erhalten einer abgeleiteten Data-Lineage, die Beziehungen zwischen physikalischen Datenelementen darstellt; (2) Erhalten einer benutzerdefinierten Data-Lineage, welche die Beziehungen zwischen Geschäftsdatenelementen darstellt; (3) Erhalten einer Verbindung zwischen der abgeleiteten Data-Lineage und einer benutzerdefinierten Data-Lineage, wobei die Verbindung eine Verbindung zwischen dem ersten physikalischen Datenelement in der abgeleiteten Data-Lineage und einem ersten Geschäftsdatenelement in der benutzerdefinierten Data-Lineage umfasst; und (4) Bestimmen des Maßstabs für die Datenqualität für ein erstes Geschäftsdatenelement auf Grundlage der Verbindung zwischen der abgeleiteten Data-Lineage und der benutzerdefinierten Data-Lineage und dem Maßstab für die Datenqualität für ein erstes physikalisches Datenelement.
  • Es ist zu beachten, dass die hierin beschriebenen Ausführungsformen nahezu beliebig umgesetzt werden können. Beispiele bestimmter Implementierungen sind nachstehend nur zu Illustrationszwecken angegeben. Es ist zu beachten, dass diese Ausführungsformen und die bereitgestellten Merkmale/Eigenschaften individuell, zusammen oder in Kombination von zwei oder mehr verwendet werden können, da die hierin beschriebenen technologischen Aspekte in dieser Hinsicht nicht beschränkt sind.
  • 1 zeigt ein Blockdiagramm einer beispielhaften Computerumgebung 100, in der einige Ausführungsformen der hier beschriebenen Technologie benutzt werden können. Die Computerumgebung 100 umfasst das Datenverarbeitungssystem 105, das so konfiguriert ist, dass es Daten verarbeitet, die in Datenspeicher 104 gespeichert sind.
  • Bei einigen Ausführungsformen kann der Datenspeicher 104 ein oder mehrere Speichervorrichtungen umfassen, die Daten in einem oder mehreren Formaten jeder geeigneten Art speichern. Zum Beispiel kann die zu Datenspeicher 104 gehörende Speichervorrichtung Daten unter Verwendung einer oder mehrerer Datenbanktabellen, Tabellenkalkulationen, Flat-Files und/oder Dateien in einem anderen geeigneten Format (z. B. ein Ursprungsformat eines Mainframe) speichern. (Eine) Speichervorrichtung(en) jedes geeigneten Typs ist/sind zulässig und kann/können einen oder mehrere Server, ein oder mehrere Datenbanksysteme, eine oder mehrere tragbare Speichervorrichtungen, eine oder mehrere nicht flüchtige Speichervorrichtungen, eine oder mehrere flüchtige Speichervorrichtungen und/oder jedwede anderen Vorrichtungen umfassen, die für die elektronische Speicherung von Daten konfiguriert sind. Bei einigen Ausführungsformen kann Datenspeicher 104 neben oder statt der/den Speichervorrichtung(en) eine oder mehrere Online-Datenströme umfassen. Dementsprechend kann das Datenverarbeitungssystem 105 bei einigen Ausführungsformen auf die Daten zugreifen, die über einen oder mehrere Datenströme jeden geeigneten Formats bereitgestellt werden.
  • In den Ausführungsformen, in denen der Datenspeicher 104 mehrere Speichervorrichtungen umfasst, können die Speichervorrichtungen am gleichen physischen Standort (z. B. in einem Gebäude) untergebracht werden oder auf mehrere physische Standorte (z. B. mehrere Gebäude, unterschiedliche Städte, Staaten oder Länder) verteilt werden. Die Speichervorrichtungen können so konfiguriert sein, dass sie über ein oder mehrere Netzwerke, wie zum Beispiel das in 1 dargestellte Netzwerk 106, miteinander kommunizieren.
  • Bei einigen Ausführungsformen können die von der/den Speichervorrichtung(en) gespeicherten Daten eine oder mehrere Datenentität(en) umfassen, wie zum Beispiel eine oder mehrere Datei(en), Tabelle(n), Datei/Daten in Reihen und/oder Spalten von Tabellen, Tabellenkalkulation(en), Datengruppe(n), Datensatz/Datensätze (z. B. Daten über Kreditkartentransaktionen, Telefonate und Banktransaktionen), Feld(er), Variable(n), Nachricht(en) und/oder Bericht(e). Die Speichervorrichtung(en) kann/können Tausende, Millionen, mehrere zehn Millionen oder Hunderte von Millionen Datenentitäten speichern. Jede Datenentität kann ein oder mehrere physikalische Datenelemente enthalten.
  • Ein physikalisches Datenelement kann jedes Datenelement sein, das von einem Datenverarbeitungssystem gespeichert und/oder verarbeitet wird. So kann beispielsweise ein physikalisches Datenelement ein Feld in einem Datensatz sein, und der Wert des physikalischen Datenelements kann der im Feld des Datensatzes gespeicherte Wert sein. Als spezifisches, nicht einschränkendes Beispiel kann ein physikalisches Datenelement ein Feld sein, das den Namen eines Anrufers in einem Datensatz speichert, der Informationen über einen Telefonanruf speichert (wobei der Datensatz zu mehreren Datensätzen über Telefonanrufe gehören kann, die Kunden eines Telekommunikationsunternehmens getätigt haben), wobei der Wert des physikalischen Datenelements der in dem Feld gespeicherte Wert sein kann. Als weiteres Beispiel kann ein physikalisches Datenelement eine Zelle in einer Tabelle sein (z. B. eine Zelle, die in einer bestimmten Zeile und Spalte der Tabelle vorkommt) und der Wert des physikalischen Datenelements kann der Wert in der Zelle der Tabelle sein. Als weiteres Beispiel kann ein physikalisches Datenelement eine Variable sein (z. B. in einem Bericht) und der Wert des physikalischen Elements kann ein Wert der Variablen sein (z. B. in einer bestimmten Instanz des Berichts). Als spezifisches, nicht einschränkendes Beispiel kann ein physikalisches Datenelement eine Variable in einem Bericht über den Antragsteller eines Bankdarlehens sein, in dem die Kreditwürdigkeit des Antragstellers dargestellt ist, und der Wert des physikalischen Datenelements kann der numerische Wert der Kreditwürdigkeit sein (z. B. ein numerischer Wert zwischen 300 und 850). Der Wert des physikalischen Datenelements, das die Kreditwürdigkeit des Antragstellers darstellt, kann sich abhängig von den Daten ändern, die für die Erstellung des Berichts über den Antragsteller eines Bankdarlehens verwendet werden.
  • Bei einigen Ausführungsformen kann ein physikalisches Datenelement einen Wert jedes geeigneten Typs annehmen. Zum Beispiel kann ein physikalisches Datenelement einen numerischen Wert, einen alphabetischen Wert, einen Wert von einem einzelnen Satz von Optionen (z. B. ein endlicher Satz von Kategorien) oder jeden anderen geeigneten Typ von Werten annehmen, da die hierin beschriebenen technologischen Aspekte in dieser Hinsicht nicht beschränkt sind.
  • Das Datenverarbeitungssystem 105 kann ein oder mehrere Computerprogramme 109 umfassen, die so konfiguriert sind, das sie Daten in Datenspeicher 104 verarbeiten. Die Computerprogramme 109 können von jedem geeigneten Typ und in jeder geeigneten Programmiersprache geschrieben sein. Zum Beispiel können die Computerprogramme 109 bei einigen Ausführungsformen ein oder mehrere Computerprogramme umfassen, die mindestens teilweise in der SQL-(Structured Query Language)-Sprache geschrieben sind, und so konfiguriert sein, dass sie auf Daten in einer oder mehreren Datenbanken zugreifen, die zum Datenspeicher 104 gehören. Als weiteres Beispiel ist das Datenverarbeitungssystem 105 bei einigen Ausführungsformen dazu konfiguriert, Programme in der Form von Graphen auszuführen, und die Computerprogramme 109 können ein oder mehrere Computerprogramme umfassen, die als Datenflussdiagramme entwickelt wurden. Ein Datenflussdiagramm kann Komponenten umfassen, die als „Knoten“ oder „Eckpunkte“ bezeichnet werden und Datenverarbeitungsvorgänge darstellen, die auf Eingabedaten ausgeführt werden, und Verbindungen zwischen den Komponenten, die Datenströme darstellen. Verfahren für die Ausführung von Berechnungen, die durch Datenflussdiagramme codiert sind, werden im US-Patent Nr. 5.966.072 mit dem Titel „Executing Computations Expressed as Graphs,“ beschrieben, das hierin durch Verweis in seiner Gesamtheit aufgenommen wird.
  • In der in 1 dargestellten Ausführungsform umfasst das Datenverarbeitungssystem 105 weiterhin die Entwicklungsumgebung 108, die von einer Person (z. B. einem Entwickler) verwendet werden kann, um ein oder mehrere Computerprogramme 109 für die Verarbeitung von Daten in Datenspeicher 104 zu entwickeln. Zum Beispiel kann der Benutzer 102 bei einigen Ausführungsformen die Datenverarbeitungsvorrichtung 103 für die Interaktion mit der Entwicklungsumgebung verwenden, um ein Computerprogramm zu spezifizieren, wie zum Beispiel ein Datenflussdiagramm, und das Computerprogramm als Teil der Computerprogramme 109 speichern. Eine Umgebung zur Entwicklung von Computerprogrammen als Datenflussdiagramme wird in der veröffentlichten US-Patentschrift Nr. 2007/0011668 mit dem Titel „Managing Parameters for Graph-Based Applications“ beschrieben, das hierin durch Verweis in ihrer Gesamtheit aufgenommen wird.
  • Bei einigen Ausführungsformen können ein oder mehrere Computerprogramme 109 so konfiguriert sein, dass sie die Daten in Datenspeicher 104 auf jede geeignete Weise verarbeiten. Zum Beispiel können ein oder mehrere Computerprogramme 109 so konfiguriert sein, dass sie auf Daten aus einer oder mehreren Quellen zugreifen, die aufgerufenen Daten umwandeln (z. B. durch das Ändern der Datenwerte, das Filtern von Datensätzen, das Ändern von Datenformaten, das Aussortieren von Daten, Kombinieren von Daten aus verschiedenen Quellen, das Aufteilen von Daten in verschiedene Teile und/oder auf jede andere geeignete Weise), einen oder mehrere neue Werte von den aufgerufenen Daten berechnen und/oder die Daten an eine oder mehrere Ziele schreiben.
  • Bei einigen Ausführungsformen können ein oder mehrere Computerprogramme 109 so konfiguriert sein, dass sie zu den Daten in Datenspeicher 109 Berechnungen ausführen und/oder aus diesen Daten Berichte erstellen. Die ausgeführten Berechnungen und/oder erstellten Berichte können eine oder mehrere Mengen betreffen, die für ein Unternehmen relevant sind. Zum Beispiel kann ein Computerprogramm so konfiguriert sein, dass es auf die Bonitätsdaten für eine Person zugreift und auf Basis der Bonitätsdaten die Kreditwürdigkeit für diese Person bestimmt. Als weiteres Beispiel kann ein Computerprogramm auf Telefonanrufprotokolle verschiedener Kunden einer Telefongesellschaft zugreifen und einen Bericht erstellen, der angibt, wie viele dieser Kunden mehr Daten nutzen, als in ihren Datenplänen vorgesehen ist. Als ein weiteres Beispiel kann ein Computerprogramm auf Daten zugreifen, welche die Art der Darlehen angeben, die eine Bank vergeben hat, und einen Bericht erstellen, der das allgemeine Risiko der durch die Bank vergebenen Darlehen angibt. Diese Beispiele dienen nur der Veranschaulichung und sind nicht einschränkend, da ein Computerprogramm so konfiguriert sein kann, dass es aus den in Datenspeicher 104 gespeicherten Daten jede Art von geeigneten Informationen erstellt (z. B. für jeden geeigneten Geschäftszweck).
  • In der dargestellten Ausführungsform umfasst das Datenverarbeitungssystem 105 auch ein Data-Governance-Modul 110, das die Erfüllung verschiedener Data-Governance-Aufgaben unterstützt. Zum Beispiel umfasst das Data-Govemance-Modul 110 in der dargestellten Ausführungsform das Datenwörterbuchmodul 112, das Rollenverwaltungsmodul 114, das Datenqualitätsmodul 116, das Modul für die abgeleitete Data-Lineage 118, das Modul für die benutzerdefinierte Data-Lineage 120 und das Verbindungsmodul für die Data-Lineage 122, von denen jedes Modul von einem Prozessor ausführbare Befehle umfasst, die bei Ausführung Funktionen ausführen, welche die Erfüllung einer oder mehrerer Data-Governance-Aufgaben unterstützen, so wie dies weiter unten genauer beschrieben wird.
  • Bei einigen Ausführungsformen kann das Datenwörterbuchmodul 112 so konfiguriert sein, dass es Informationen über die Daten in Datenspeicher 104 speichert. Das heißt, das Datenwörterbuch 112 kann so konfiguriert sein, dass es Metadaten speichert, die mit den Daten in Datenspeicher 104 verbunden sind. Zum Beispiel kann das Datenwörterbuch 112 einen oder mehrere alternative Namen für physikalische Datenelemente in Datenspeicher 104 speichern. Statt auf ein physikalisches Datenelement mit dem Namen einer Variable Bezug zu nehmen, der es entspricht (wobei der Name der Variable von einem Programmierer erstellt worden sein kann und nicht „benutzerfreundlich“ ist, weil es einem Benutzer nicht sofort vermittelt, welche Informationen die Variable darstellt), kann das Datenwörterbuch auf diese Weise einen oder mehrere alternative Begriffe für das physikalische Datenelement umfassen, wie zum Beispiel einen umgangssprachlichen Begriff oder Ausdruck, den Geschäftsleute verwenden würden, um auf das physikalische Datenelement Bezug zu nehmen. Als besonderes Beispiel kann das Datenwörterbuch 112 den Namen „Kreditwürdigkeit des Bankkunden“ oder „FICO-Punktzahl des Bankkunden“ als alternativen Namen für ein physikalisches Datenelement speichern, das einer Variable mit dem Namen „cstCrdScr“ entspricht, das den Wert einer FICO-Punktzahl für einen bestimmten Bankkunden speichert. Als weiteres Beispiel kann das Datenwörterbuch 112 den Namen „Bestellmenge“ als Sprache speichern, die verwendet wird, um auf das physikalische Datenelement Bezug zu nehmen, das einem Feld mit dem Namen „order_amt“ entspricht.
  • Bei einigen Ausführungsformen kann das Rollenverwaltungsmodul 114 Informationen verwalten, die angeben, welche Partei oder Parteien für die verschiedenen Datenelemente verantwortlich sind, die in Datenspeicher 104 gespeichert sind. Die Verwaltung solcher Rolleninformationen kann die Speicherung der Rolleninformationen umfassen, wobei einem oder mehreren Nutzern ermöglicht wird, solche Informationen zu ändern (z. B. durch Entfernen, Hinzufügen oder Ändern von Parteien und/oder ihren Aufgaben) und/oder das Anzeigen der Rolleninformationen umfassen.
  • Bei einigen Ausführungsformen kann das Rollenverwaltungsmodul 114 verantwortliche Parteien für eine oder mehrere physikalische Datenelemente und/oder eine oder mehrere Geschäftsdatenelemente spezifizieren. Zum Beispiel kann das Rollenverwaltungsmodul 114 so konfiguriert sein, dass es Informationen verwaltet, die für die Erstellung einer grafischen Oberfläche verwendet werden, welche die Parteien anzeigt, die für die Verwaltung eines Datenelements verantwortlich sind (und bei einigen Ausführungsformen, kann es so konfiguriert sein, dass es diese Informationen erstellt). Ein veranschaulichendes Beispiel für eine solche grafische Benutzeroberfläche ist in 6A dargestellt, die vier natürliche Personen identifiziert (darunter einen Geschäftsinhaber 602, Datenverwalter 604 und zwei fachkundige Experten 606 und 608), die für die Verwaltung des Geschäftsdatenelements 601 „Kreditwürdigkeit“ zuständig sind.
  • Bei einigen Ausführungsformen kann das Datenqualitätsmodul 116 so konfiguriert sein, dass es ein oder mehrere Datenqualitätsmaßstäbe für jedes oder eines oder mehrere physikalische Datenelemente bestimmt. Die Datenqualität in physikalischen Datenelementen kann auf jede geeignete Weise bestimmt werden. Bei einigen Ausführungsformen kann die Datenqualität zum Beispiel beurteilt werden, indem vorkonfigurierte Normen bzgl. der Datenqualität verwendet werden, die Kriterien zur Beurteilung der Werte von physikalischen Datenelementen definieren können, beispielsweise durch die Kennzeichnung von Merkmalen (z. B. Genauigkeit, Präzision, Vollständigkeit und Gültigkeit) der Werte entsprechend den Kriterien. Der Umfang, in dem die Werte diese Merkmale aufzeigen, kann dabei einen Datenqualitätsmaßstab für die physikalischen Datenelemente erstellen. Aspekte der Beurteilung der Datenqualität anhand von Datenqualitätsregeln sind in der veröffentlichten US-Patentschrift Nr.: 2014/0108357 „Specifying and Applying Rules to Data“ beschrieben, das hierin durch Verweis in ihrer Gesamtheit aufgenommen wird.
  • Bei einigen Ausführungsformen kann das Modul für die abgeleitete Data-Lineage 118 so konfiguriert sein, dass für mindestens einige der Daten in Datenspeicher 104 eine abgeleitete Data-Lineage erzeugt wird. Eine abgeleitete Data-Lineage kann Informationen über die Data-Lineage eines oder physikalischen Datenelementen umfassen. Zum Beispiel kann eine abgeleitete Data-Lineage Informationen über die vorgelagerte Data-Lineage enthalten, die angeben, wie der Wert des physikalischen Datenelement erzeugt wurde und/oder nachgelagerte Informationen über die Data-Lineage enthalten, die einen oder mehrere andere Datensätze, physikalische Datenelemente, Prozesse und/oder Anwendungen angeben, die vom Wert des physikalischen Datenelements abhängen.
  • Bei einigen Ausführungsformen kann das Modul für die abgeleitete Data-Lineage 118 konfiguriert sein, eine abgeleitete Data-Lineage zu erzeugen, indem der Quellcode mindestens eines Computerprogramms analysiert wird, das konfiguriert ist, um auf mindestens einige aus einer Vielzahl von physikalischen Datenelementen zuzugreifen (z. B. Lesen, Schreiben und Ändern), die von einem Datenverarbeitungssystem verwaltet werden. Die Quellcodeanalyse kann verwendet werden, um Eingaben in einem Computerprogramm zu identifizieren (z. B. ein oder mehrere physikalische Datenelemente identifizieren, auf die das Computerprogramm zugegriffen hat), um eine oder mehrere Umwandlungen zu identifizieren, die auf die Eingaben und/oder Berechnungen angewendet werden, die mit den Eingaben als Teil des Computerprogramms durchgeführt werden, und/oder um einen oder mehrere Ausgaben des Computerprogramms zu identifizieren. Bei einigen Ausführungsformen kann das Computerprogramm ein Datenflussdiagramm umfassen.
  • Bei einigen Ausführungsformen kann das Modul für die abgeleitete Data-Lineage 118 so konfiguriert sein, dass es durch die Analyse von Informationen, die während der Laufzeit des mindestens einen Computerprogramms erhalten werden, eine abgeleitete Data-Lineage erzeugt. So können beispielsweise bei einigen Ausführungsformen ein oder mehrere Protokolle analysiert werden, die während der Laufzeit eines Computerprogramms erzeugt werden, um Eingaben in das Computerprogramm sowie eine oder mehrere Umwandlungen zu identifizieren, die auf die Eingaben und/oder Berechnungen angewendet werden, die mit den Eingaben als Teil des Computerprogramms durchgeführt werden, und/oder um einen oder mehrere Ausgaben des Computerprogramms zu identifizieren.
  • Bei einigen Ausführungsformen kann das Modul für die abgeleitete Data-Lineage 118 so konfiguriert sein, dass es durch die Verwendung eines oder mehrerer Datenwiederherstellungsprozesse eine abgeleitete Data-Lineage erzeugt. So kann beispielsweise in einigen Ausführungsformen ein Computerprogramm zur Ausführung einer Datenwiederherstellung konfiguriert werden, um verschiedene physikalische Datenelemente zu identifizieren, die dieselben Datenwerte enthalten, und um basierend auf dieser Identifizierung zu bestimmen, dass diese physikalischen Datenelemente miteinander verbunden sind. Zum Beispiel kann das Computerprogramm so konfiguriert sein, dass es festlegt, dass eine Tabelle mit gleichen Daten in mehreren verschiedenen Datenbanken gespeichert wird und es auf dieser Weise festlegt, dass die physikalischen Datenelemente in diesen Tabellen verbunden sind. Es ist zu beachten, dass das Modul für die abgeleitete Data-Lineage 118 so konfiguriert sein kann, dass es unter Verwendung einer der vorstehend beschriebenen Arten oder einer Kombination von zwei oder mehr der oben beschriebenen oder anderen Arten eine abgeleitete Data-Lineage erzeugt, da die hierin beschriebenen technologischen Aspekte in dieser Hinsicht nicht beschränkt sind.
  • 2 ist ein Data-Lineage-Diagramm 200 einer beispielhaften abgeleiteten Data-Lineage. Die abgeleitete Data-Lineage und das Diagramm, das diese veranschaulicht, können vom Modul für die abgeleitete Data-Lineage 118 erzeugt werden. Das Data-Lineage-Diagramm 200 umfasst den Knoten 202, der Datenentitäten darstellt, und den Knoten 204, der auf die Datenentitäten angewandte Umwandlungen darstellt. Das Data-Lineage-Diagramm 200 veranschaulicht Informationen über die vorgelagerte Data-Lineage für eine oder mehrere physikalische Datenelemente in Datenentität 206. Die Pfeile, die in den Knoten hineingehen, der eine Umwandlung darstellt, zeigen an, welche Datenentitäten als Eingaben für die Umwandlung bereitgestellt werden. Pfeile, die aus Knoten herauskommen, die Umwandlungen von Daten darstellen, zeigen Datenentitäten an, in die Ergebnisse der Umwandlungen bereitgestellt werden. Beispiele für Datenentitäten sind hierin enthalten. Beispiele für Umwandlungen umfassen insbesondere die Ausführung von Berechnungen jedes geeigneten Typs, das Sortieren von Daten, Filtern von Daten, um einen oder mehrere Teile von Daten auf Grundlage aller geeigneten Kriterien zu entfernen (z. B. das Filtern von Datensätzen, um einen oder mehrere Datensätze zu entfernen), Zusammenführen von Daten (z. B. unter Verwendung einer Join-Operation oder auf andere geeignete Weise), Ausführen einer geeigneten Datenbankoperation oder eines Befehls und/oder jede geeignete Kombination der vorstehenden Umwandlungen. Eine Umwandlung kann unter Verwendung eines oder mehrerer Computerprogramme jedes geeigneten Typs implementiert werden, darunter (ohne Einschränkung) z. B. ein oder mehrere Computerprogramme, die als Datenflussdiagramme implementiert werden.
  • Ein Data-Lineage-Diagramm, wie das in 2 gezeigte Diagramm 200, können aus verschiedenen Gründen nützlich sein. Zum Beispiel können die veranschaulichten Beziehungen zwischen Datenentitäten und Umwandlungen einem Benutzer helfen zu bestimmen, wie ein bestimmtes physikalisches Datenelement erhalten wurde (z. B. wie ein bestimmter Wert in einem Bericht berechnet wurde). Als weiteres Beispiel kann ein Data-Lineage-Diagramm verwendet werden, um zu bestimmen, welche Umwandlungen auf die verschiedenen physikalischen Datenelemente und/oder Datenentitäten angewandt wurden.
  • Bei einigen Ausführungsformen kann eine abgeleitete Data-Lineage eine Beziehung zwischen physikalischen Datenelementen, Datenentitäten, welche diese physikalischen Datenelemente enthalten, und/oder Umwandlungen darstellen, die auf die physikalischen Datenelemente angewandt wurden. Die Beziehungen zwischen physikalischen Datenelementen, Datenentitäten und Umwandlungen können zur Bestimmung der Beziehungen zwischen anderen Dingen verwendet werden, wie zum Beispiel Systemen (z. B. eine oder mehrere Datenverarbeitungsvorrichtungen, Datenbanken, Data Warehouses usw.) und/oder Anwendungen (z. B. eine oder mehrere Computerprogramme, die auf Daten zugreifen, die von einem Datenverarbeitungssystem verwaltet werden. Wenn zum Beispiel ein physikalisches Datenelement, das Teil einer Tabelle in einer Datenbank ist, die in System „A“ gespeichert ist, welches sich wiederum an einem physikalischen Ort befindet, innerhalb einer abgeleiteten Data-Lineage angezeigt wird, die von einem anderen physikalischen Datenelement abgeleitet werden soll, das Teil einer anderen Tabelle in einer anderen Datenbank ist, die in System „B“ gespeichert ist, dann kann dies die Beziehung zwischen Systemen A und B anzeigen. Wenn als weiteres Beispiel ein Anwendungsprogramm eine oder mehrere physikalische Datenelemente von einem System liest, kann dies eine Beziehung zwischen dem Anwendungsprogramm und dem System anzeigen. Wenn als noch ein weiteres Beispiel ein Anwendungsprogramm auf physikalische Datenelemente zugreift, die von einem anderen Anwendungsprogramm verarbeitet werden, kann dies eine Beziehung zwischen den Anwendungsprogrammen anzeigen. Jede beliebige oder mehrere dieser Beziehungen können als Teil eines Data-Lineage-Diagramms angezeigt werden.
  • Es ist zu beachten, dass ein Datenverarbeitungssystem eine große Zahl physikalischer Datenelemente verwalten kann (z. B. Millionen, Billionen oder Trillionen physikalischer Datenelemente). (Zum Beispiel kann ein Datenverarbeitungssystem, das mit Kreditkartentransaktionen verbundene Daten verwaltet, Billionen Kreditkartentransaktionen pro Jahr verarbeiten, und jede der Transaktionen kann mehrere physikalische Datenelemente umfassen, wie zum Beispiel Kreditkartennummer, Datum, Händler-ID und Kaufbetrag.) Dementsprechend kann eine abgeleitete Data-Lineage Beziehungen zwischen einer großen Zahl physikalischer Datenelemente und Datenentitäten, welche diese physikalischen Datenelemente enthalten, und/oder Umwandlungen darstellen, die auf die physikalischen Datenelemente angewandt wurden. Da eine abgeleitete Data-Lineage eine große Menge Informationen umfassen kann, ist es wichtig, diese Informationen in einer für den Betrachter übersichtlichen Weise darzustellen. Dementsprechend können Informationen in einer abgeleiteten Data-Lineage bei einigen Ausführungsformen auf verschiedenen Granularitätsebenen visualisiert werden. Verschiedene Verfahren zur Visualisierung von Informationen in abgeleiteten Data-Lineages und einige Aspekte von Verfahren zur Erstellung und/oder Visualisierung abgeleiteter Data-Lineages sind beschrieben in: (1) der veröffentlichten US-Patentanmeldung Nr. 2010/0138431 mit dem Titel „Visualizing Relationships Between Data Elements and Graphical Representations of Data Element Attributes“; (2) US-Pat. der veröffentlichten US- Patentanmeldung Nr. 2016/0232230 mit dem Titel „Filtering Data Lineage Diagrams“; (3) der veröffentlichten US- Patentanmeldung Nr. 2016/0028580 mit dem Titel „Data Lineage Summarization“; und (4) der veröffentlichten US- Patentanmeldung Nr. 2016/0019286 mit dem Titel „Managing Lineage Informationen,“ die alle hierin durch Verweise in ihrer Gesamtheit aufgenommen werden.
  • Bei einigen Ausführungsformen kann das Modul für die benutzerdefinierte Data-Lineage 120 so konfiguriert sein, dass es die Angabe einer benutzerdefinierten Data-Lineage durch einen Benutzer erleichtert (z. B. Benutzer 102 oder ein anderer geeigneter Benutzer). Das Modul für die benutzerdefinierte Data-Lineage 120 kann so konfiguriert sein, dass es dem Benutzer eine oder mehrere grafische Benutzeroberflächen zur Verfügung stellt, um ihm die Angabe einer Data-Lineage zu erleichtern. Die grafische Benutzeroberflächen kann/können eine Art Leinwand bereitstellen, auf der ein Benutzer grafische Anzeigeelemente hin- und herschieben kann, die den Geschäftsdatenelementen entsprechen. Die grafischen Anzeigeelemente können über Verknüpfungen miteinander verbunden werden (z. B. Linien, Richtungspfeile usw.), um die Lineage-Beziehungen zwischen den Geschäftsdatenelementen anzugeben, die durch die grafischen Anzeigeelemente dargestellt werden.
  • Bei einigen Ausführungsformen kann eine benutzerdefinierte Data-Lineage von einem Benutzer angegeben werden und Beziehungen zwischen Geschäftsdatenelementen darstellen. Die benutzerdefinierte Data-Lineage kann Informationen über die vor- und nachgelagerte Data-Lineage beinhalten. So kann beispielsweise die benutzerdefinierte Data-Lineage Informationen enthalten, die ein oder mehrere andere Geschäftsdatenelemente angeben, die zur Erzeugung (z. B. Berechnung) eines für das Unternehmen interessanten Geschäftsdatenelements verwendet werden (z. B. Kreditwürdigkeit eines Bankkunden).
  • Bei einigen Ausführungsformen kann das Verbindungsmodul 122 so konfiguriert sein, dass es die Herstellung einer Verbindung zwischen einer abgeleiteten Data-Lineage und einer benutzerdefinierten Data-Lineage erleichtert. Zu diesem Zweck kann das Verbindungsmodul 122 für jede der einen oder mehreren Geschäftsdatenelemente eine Verbindung zwischen einem Geschäftsdatenelement und einer oder mehrerer entsprechender physikalischen Datenelemente herstellen.
  • Bei einigen Ausführungsformen kann das Verbindungsmodul 122 eine Verbindung zwischen einem Geschäftsdatenelement und einer oder mehrerer entsprechender physikalischen Datenelemente automatisch herstellen (z. B. ohne dass über eine Benutzereingabe angezeigt wird, dass das Geschäftsdatenelement und die physikalischen Datenelemente verbunden werden sollen). Das kann auf jede zweckmäßige Weise erfolgen. Zum Beispiel kann bei einigen Ausführungsformen eine Verbindung zwischen dem physikalischen Datenelement und einem Geschäftsdatenelement automatisch erzeugt werden, beispielsweise anhand von Metadaten der physikalischen und Geschäftsdatenelemente. Solche Metadaten können verschiedene Informationen enthalten, insbesondere die Namen der physikalischen und/oder Geschäftselemente, die Art der physikalischen und Geschäftsdatenelemente, die Beziehungen zwischen dem physikalischen Datenelement und einer oder mehrerer anderer physikalischer Datenelemente und die Beziehungen zwischen dem Geschäftsdatenelement und einer oder mehrerer anderer physikalischer Datenelemente. Wenn die physikalischen und Geschäftsdatenelemente als besonderes Beispiel mindestens eine Mindestanzahl an Attributen teilen, kann das Verbindungsmodul 122 diese Elemente verbinden. Als weiteres Beispiel können die bestehenden Verbindungen zwischen Datenelementen die automatische Identifikation neuer Verbindungen anzeigen. Wenn zum Beispiel ein physikalisches Datenelement A (ein Feld in Tabelle 1, in dem die Kreditwürdigkeit eines Bankkunden gespeichert sind) mit Geschäftsdatenelement B (Kreditwürdigkeit des Bankkunden) verbunden ist und das Datenverarbeitungssystem festlegt (z. B. unter Verwendung eines Datenidentifikationsprozesses), dass das physikalische Datenelement A mit dem physikalischen Datenelement C (ein Feld in Tabelle II, in dem eine Kopie der Kreditwürdigkeit des Bankkunden gespeichert ist) verbunden ist, dann kann das Verbindungsmodul das physikalische Datenelement C dem Geschäftsdatenelement B zuordnen.
  • Bei einigen Ausführungsformen kann das Verbindungsmodul 122 eine Verbindung zwischen dem physikalischen Datenelement und einem Geschäftsdatenelement mindestens teilweise (oder vollumfänglich) anhand von Benutzereingaben zur Präzisierung der Verbindung erzeugen. Bei solchen Ausführungsformen können eine oder mehrere grafische Benutzeroberflächen zur Verfügung gestellt werden, um dem Benutzer die Angabe einer Verbindung zwischen den physikalischen und den Geschäftsdatenelementen zu ermöglichen. Anschauliche Beispiele solcher Benutzeroberflächen sind in 4A und 4B dargestellt.
  • 4A ist ein Diagramm, das eine grafische Oberfläche 400 veranschaulicht, über die ein Geschäftsdatenelement 401 („Bestellmenge“) mit zwei entsprechenden physikalischen Datenelementen verbunden werden kann: dem physikalischen Datenelement 402 mit dem Namen „order_amt“ (Bestellmenge) in einem Datensatz „rush_order“ (Eilbestellung) und dem physikalischen Datenelement 403, das auch den Namen „order_amt“ in einem Datensatz „order_fact“ hat. Die grafische Benutzeroberfläche 400 kann dazu verwendet werden, eine oder beide dieser Verbindungen zu entfernen und/oder eine oder mehrere andere Verbindungen hinzuzufügen. Wie aus der grafischen Benutzeroberfläche 400 hervorgeht, kann das Geschäftsdatenelement 401 mit einem oder mehreren entsprechenden physikalischen Datenelementen verbunden werden.
  • 4B zeigt ein Diagramm, das eine weitere grafische Oberfläche 410 veranschaulicht, über die ein physikalisches Datenelement einem Geschäftsdatenelement zugeordnet werden kann, gemäß einigen Ausführungsformen der hierin beschriebenen Technologie. Wie in 4B dargestellt, kann das physikalische Datenelement 402 im Datensatz „rush_order“ mit Geschäftsdatenelement 401 verbunden werden. Wie aus der grafischen Benutzeroberfläche 410 hervorgeht, kann das physikalische Datenelement 401 mit einem einzelnen entsprechenden Geschäftsdatenelement verbunden werden.
  • Bei einigen Ausführungsformen kann das Datenverarbeitungssystem 100 so konfiguriert sein, dass es einem oder mehreren Nutzern Informationen über die Daten anzeigt, die vom Datenverarbeitungssystem verwaltet werden. In der in 1 veranschaulichten Ausführungsform kann das Datenverarbeitungssystem 100 so konfiguriert sein, dass es dem Benutzer 130 über eine Datenverarbeitungsvorrichtung Informationen über Daten anzeigt, die vom System verwaltet werden. Der Benutzer 130 kann über die Datenverarbeitungsvorrichtung 134 alle geeigneten Informationen ansehen, wie zum Beispiel Informationen über die Data-Lineage, die mit Daten verbunden sind, die vom System 100 verwaltet werden. Dementsprechend kann der Benutzer 130 Informationen über eine abgeleitete Data-Lineage für ein physikalisches Datenelement, das unter Verwendung eines abgeleiteten Datenverlaufskontrollmoduls 118 erstellt wurde (z. B. über jede geeignete Art von Data-Lineage-Diagramm, Beispiele dazu sind hierin enthalten), Informationen über eine benutzerdefinierte Data-Lineage, die mindestens zum Teil unter Verwendung des Moduls für die benutzerdefinierte Data-Lineage 120 erstellt wurde, und Informationen ansehen, die eine Verbindung zwischen der abgeleiteten Data-Lineage und der benutzerdefinierten Data-Lineage anzeigen (z. B. so wie nachstehend unter Bezugnahme auf 3A-3D beschrieben).
  • Jede der Datenverarbeitungsvorrichtungen 103 und 134 kann eine Datenverarbeitungsvorrichtung von jedem geeigneten Typ sein, das heißt stationär oder tragbar, da die hierin beschriebenen technologischen Aspekte in dieser Hinsicht nicht beschränkt sind. Weiterhin müssen die Datenverarbeitungsvorrichtungen 103 und 134 nicht vom gleichen Typ sein wie die Datenverarbeitungsvorrichtung. Die Datenverarbeitungsvorrichtungen 103 und 134, das Datenverarbeitungssystem 105 und Datenspeicher 104 sind so konfiguriert, das sie miteinander über das Netzwerk 106 kommunizieren. Das Netzwerk 106 kann von jedem geeigneten Netzwerktyp sein, wie zum Beispiel das Internet, ein Intranet, ein Wide Area Network, ein lokales Netzwerk und/oder jede andere geeignete Art von Netzwerk. [00107] Wie vorstehend beschrieben kann die Verbindung zwischen einer abgeleiteten Data-Lineage und einer benutzerdefinierten Data-Lineage bei einigen Ausführungsformen dazu verwendet werden, zu bestimmen, ob eine Diskrepanz zwischen diesen Arten von Data-Lineages besteht. So kann zum Beispiel, wie in 3A und 3B gezeigt, die Verbindung zwischen einer abgeleiteten Data-Lineage und einer benutzerdefinierten Data-Lineage verwendet werden, um festzulegen, dass die abgeleitete und benutzerdefinierte Data-Lineage verschiedene Datenquellen für verbundene physikalische und Geschäftsdatenelemente anzeigen.
  • 3A zeigt ein Diagramm, das gemäß einigen Ausführungsformen der hier beschriebenen Technologie die Verbindung zwischen einer beispielhaften benutzerdefinierten Data-Lineage 300 und einer beispielhaften abgeleiteten Data-Lineage 320 darstellt. Sowohl die benutzerdefinierte Data-Lineage 300 als auch die abgeleitete Data-Lineage 320 können über ein beliebiges hier beschriebenes Verfahren erhalten werden. Es ist zu beachten, dass benutzerdefinierte und abgeleitete Data-Lineages komplexer sein können als die in 3A gezeigten Data-Lineages und zum Beispiel viele weitere Geschäftsdatenelemente, physikalische Datenelemente, Datenentitäten, Geschäftsdatencontainer und Ähnliches umfassen können. Die Beispiele für die in 3A gezeigten Data-Lineages werden für eine bessere Übersichtlichkeit verwendet und sind nicht beschränkt.
  • Die abgeleitete Data-Lineage 320 umfasst die Datenentitäten 340, 342, 344, 346, 348 und 350. Jede der Datenentitäten kann in unterschiedlichen Systemen und/oder Datenverarbeitungsvorrichtungen gespeichert werden. Alternativ können zwei oder mehr (oder alle) der Datenentitäten in einem System und/oder einer Datenverarbeitungsvorrichtung gespeichert werden. Beispiele für Datenentitäten sind hierin enthalten. Jede Datenentität kann ein oder mehrere physikalische Datenelemente enthalten. Datenentität 340 enthält ein oder mehrere physikalische Datenelemente, einschließlich des physikalischen Datenelements 322. Datenentität 342 enthält eine oder mehrere physikalische Datenelement(e), einschließlich des physikalischen Datenelements 324. Datenentität 344 enthält mehrere physikalische Datenelemente, einschließlich der physikalischen Datenelemente 326, 328 und 330. Datenentität 346 enthält ein oder mehrere physikalische Datenelemente, einschließlich des physikalischen Datenelements 332. Datenentität 348 enthält ein oder mehrere physikalische Datenelemente, einschließlich des physikalischen Datenelements 334. Datenentität 350 enthält ein oder mehrere physikalische Datenelemente, einschließlich des physikalischen Datenelements 336.
  • Bei einigen Ausführungsformen kann eine abgeleitete Data-Lineage Informationen über die vorgelagerte Data-Lineage für ein oder mehrere physikalische Datenelemente umfassen, die Informationen darüber bereitstellen, wie das/die physikalische(n) Datenelement(e) erhalten und/oder erstellt wurde(n). Zum Beispiel umfasst die abgeleitete Data-Lineage 320 im in 3A veranschaulichten Beispiel Informationen über die vorgelagerte Data-Lineage für das physikalische Datenelement 322. Wie durch die Schattierung in 3A dargestellt, wurde das physikalische Datenelement 322 vom physikalischen Datenelement 324 erhalten, welches von mehreren physikalischen Datenelementen erhalten wurde, einschließlich dem physikalischen Datenelement 326, das vom physikalischen Datenelement 332 erhalten wurde. Dementsprechend wurde das physikalische Datenelement 322 zumindest teilweise auf Grundlage des physikalischen Datenelements 332 in Datenentität 346 erhalten. [00111] Die benutzerdefinierte Data-Lineage 320 umfasst Datencontainer 303, 305, 307 und 309. Ein Datencontainer kann jeder geeignete Container zum Verkapseln eines Geschäftsdatenelements sein. Der Datencontainer kann dazu verwendet werden, einem Geschäftsbenutzer die Geschäftsdatenelemente darzustellen. Ein Datencontainer kann zum Beispiel ein Bericht, eine Tabellenkalkulation, eine Präsentation mit einer oder mehreren Folien, eine Textdatei, ein Word-Dokument und/oder eine PDF-Datei sein. Bei einigen Ausführungsformen kann der Inhalt im Datencontainer von einem Benutzer generiert werden, zum Beispiel durch das Ausführen einer Datenbankanfrage (z. B. eine SQL-Anfrage) und das Platzieren der Ergebnisse der Datenbankanfrage in den Datencontainer. Als spezifisches, nicht einschränkendes Beispiel kann ein Benutzer, der eine benutzerdefinierte Data-Lineage erstellt, eine Datenbankanfrage ausführen und eine Tabelle einfügen, die als Ergebnis der Anfrage in eine Tabellenkalkulationsdatei zurückgeführt wird.
  • Wie in 3A gezeigt, umfasst der Datencontainer 303 eine oder mehrere Geschäftsdatenelemente, einschließlich Geschäftsdatenelement 302. Datencontainer 305 enthält ein oder mehrere Geschäftsdatenelemente, einschließlich Geschäftsdatenelement 304. Datencontainer 307 enthält ein oder mehrere Geschäftsdatenelemente, einschließlich Geschäftsdatenelement 306. Datencontainer 309 enthält ein oder mehrere Geschäftsdatenelemente, einschließlich Geschäftsdatenelement 308.
  • Bei einigen Ausführungsformen kann eine benutzerdefinierte Data-Lineage vorgelagerte Lineage-Informationen umfassen, die Informationen darüber bereitstellen, wie das/die Geschäftsdatenelement(e) erhalten und/oder erstellt wurde(n), und/oder Informationen für die nachgelagerte Data-Lineage für ein oder mehrere Geschäftsdatenelement(e) umfasst/umfassen, das/die Informationen darüber bereitstellt/bereitstellen, welche(s) andere(n) Geschäftsdatenelement(e) vom/von (den) Geschäftsdatenelement(en) abhängig ist/sind. Zum Beispiel umfasst die benutzerdefinierte Data-Lineage 300 im in 3A veranschaulichten Beispiel Informationen über die vorgelagerte Data-Lineage für das Geschäftsdatenelement 322. Wie in 3A gezeigt zeigt die benutzerdefinierte Data-Lineage 300 an, dass Geschäftsdatenelement 302 von Geschäftsdatenelement 304 erhalten wurde, welches von Geschäftsdatenelement 306 erhalten wurde, das von Geschäftsdatenelement 308 erhalten wurde.
  • Wie hierin bereits diskutiert, kann bei einigen Ausführungsformen eine Verbindung zwischen einer benutzerdefinierten Data-Lineage und einer abgeleiteten Data-Lineage durch die Erzeugung einer Verbindung zwischen einem oder mehreren physikalischen Datenelementen in der abgeleiteten Data-Lineage und einem oder mehreren entsprechenden Geschäftsdatenelementen in der benutzerdefinierten Data-Lineage erzeugt werden. Ein veranschaulichtes Beispiel für eine solche Verbindung ist in 3A dargestellt, die zeigt, dass: (1) Geschäftsdatenelement 302 mit dem physikalischen Datenelement 322 über Verbindungslinie 352 verbunden ist; (2) Geschäftsdatenelement 304 mit dem physikalischen Datenelement 324 über Verbindungslinie 354 verbunden ist; (3) Geschäftsdatenelement 306 mit dem physikalischen Datenelement 326 über Verbindungslinie 356 verbunden ist; und (4) Geschäftsdatenelement 308 mit dem physikalischen Datenelement 332 über Verbindungslinie 358 verbunden ist. Wie aus dem Beispiel in 3A hervorgeht, kann eine Verbindung zwischen einer benutzerdefinierten Data-Lineage und einer abgeleiteten Data-Lineage Informationen umfassen, die eine oder mehrere Verbindungslinien zwischen Datenelementen in den Data-Lineages spezifizieren. 3B zeigt eine vereinfachte Version von 3A, bei der die Datenentitäten 340, 342, 344, 346, 348 und 350 und die Datencontainer 303, 305, 307 und 309 ausgelassen wurden.
  • Bei einigen Ausführungsformen kann anhand der Verbindung zwischen einer abgeleiteten Data-Lineage und einer benutzerdefinierten Data-Lineage ermittelt werden, ob zwischen den Data-Lineages eine Diskrepanz besteht. Die in 3A gezeigte Verbindung gibt zum Beispiel an, dass zwischen der benutzerdefinierten Data-Lineage für das Geschäftsdatenelement 302 und der abgeleiteten Data-Lineage für das physikalische Datenelement 322, das mit Geschäftsdatenelement 302 verbunden ist, keine Diskrepanz besteht. In diesem Beispiel ist jedes physikalische Datenelement in der vorgelagerten, abgeleiteten Data-Lineage des physikalischen Datenelements 322 mit einem entsprechenden Geschäftsdatenelement in der vorgelagerten, benutzerdefinierten Data-Lineage für das Geschäftsdatenelement 302 verbunden. Das physikalische Datenelement 332, das verwendet wird, um das physikalische Datenelement 322 entsprechend der abgeleiteten Data-Lineage 320 zu erhalten, zum Beispiel mit Geschäftsdatenelement 308 verbunden, das verwendet wird, um Geschäftsdatenelement 302 entsprechend der benutzerdefinierten Data-Lineage 300 zu erhalten.
  • Im Gegensatz dazu gibt die in 3C gezeigte Verbindung an, dass eine Diskrepanz zwischen der benutzerdefinierten Data-Lineage 300 und der abgeleiteten Data-Lineage 320 besteht, die aktualisiert wurde, um die Änderungen an den Daten wiederzugeben, die vom zugrundeliegenden Datenverarbeitungssystem verwaltet werden. Infolge der Änderungen an der abgeleiteten Data-Lineage 320 wird das physikalische Datenelement 322 jetzt unter Verwendung des physikalischen Datenelements 336 statt des in 3B gezeigten physikalischen Datenelements 332 erhalten, wie anhand der Schattierung in 3C erkennbar ist. Infolge dessen ist nicht jedes physikalische Datenelement in der vorgelagerten, abgeleiteten Data-Lineage des physikalischen Datenelements 322 mit einem entsprechenden Geschäftsdatenelement in der vorgelagerten, benutzerdefinierten Data-Lineage für das Geschäftsdatenelement 302 verbunden. Wie in 3C gezeigt, ist das physikalische Datenelement 336, das verwendet wird, um das physikalische Datenelement 322 zu erhalten, nicht mit einem Geschäftsdatenelement in der benutzerdefinierten Data-Lineage 300 verbunden, das verwendet wird, um Geschäftsdatenelement 302 zu erhalten, das das Geschäftsdatenelement ist, das mit dem physikalischen Datenelement 322 verbunden ist. Obwohl das physikalische Datenelement 332 nicht dazu verwendet wird, das physikalische Datenelement 322 entsprechend der abgeleiteten Data-Lineage 320 zu erstellen, ist es dennoch mit Geschäftsdatenelement 308 verbunden, das verwendet wird, um Geschäftsdatenelement 302 entsprechend der benutzerdefinierten Data-Lineage 300 zu erstellen. Diese Diskrepanzen können mit der hierin beschriebenen Technologie automatisch erkannt werden, und ein Benutzer kann auf ihre Präsenz hingewiesen und/oder eine oder mehrere automatische Handlungen zur Behebung von Diskrepanzen können ausgeführt werden (z. B. durch das Ändern der benutzerdefinierten Data-Lineage und/oder die Benachrichtigung eines oder mehrerer Benutzer, eine solche Änderung durchzuführen).
  • Wie in 3A, 3B und 3C veranschaulicht, enthält eine Verbindung zwischen einer benutzerdefinierten Data-Lineage und einer abgeleiteten Data-Lineage bei einigen Ausführungsformen eine Verbindung zwischen Geschäftsdatenelementen in der benutzerdefinierten Data-Lineage und physikalischen Datenelementen in der abgeleiteten Data-Lineage. Bei einigen Ausführungsformen kann die Verbindung zwischen einer benutzerdefinierten Data-Lineage und einer abgeleiteten Data-Lineage weiter eine Verbindung zwischen Umwandlungen in der benutzerdefinierten Data-Lineage und der abgeleiteten Data-Lineage umfassen. Eine Umwandlung in einer benutzerdefinierten Data-Lineage kann anzeigen, wie ein Geschäftsdatenelement von einem oder mehreren anderen Geschäftsdatenelementen erhalten wird. Eine Umwandlung in einer abgeleiteten Data-Lineage kann anzeigen, wie ein physikalisches Datenelement von einem oder mehreren anderen physikalischen Datenelementen erhalten wird. Beispiele für Umwandlungen sind hierin enthalten. [00118] Ein Beispiel für eine Verbindung zwischen Umwandlungen in benutzerdefinierten und abgeleiteten Data-Lineages ist in dem in 3D veranschaulichten Beispiel gezeigt. In 3D umfasst die benutzerdefinierte Data-Lineage 300 weiter die Umwandlung 310, die auf die Geschäftsdatenelemente 308 und 309 angewandt wird, um das Geschäftsdatenelement 306 zu erhalten. Die abgeleitete Data-Lineage 320 umfasst weiter die Umwandlung 323, die auf die physikalischen Datenelemente 332 und 334 angewandt wird, um das physikalische Datenelement 326 zu erhalten. Wie in 3D gezeigt, sind die Umwandlungen 310 und 323 miteinander über Verbindungslinie 357 verbunden. Obwohl in 3D nur eine Umwandlung sowohl für die benutzerdefinierte Data-Lineage 300 als auch für die abgeleitete Data-Lineage 320 gezeigt ist, ist zu beachten, dass jede Data-Lineage jede geeignete Anzahl von Umwandlungen umfassen kann, da die hierin beschriebenen technologischen Aspekte in dieser Hinsicht nicht beschränkt sind. Zum Beispiel kann eine abgeleitete Data-Lineage eine Umwandlung zwischen verbundenen Paaren von Datenentitäten und/oder physikalischen Datenentitäten umfassen (siehe z. B. die in 2 gezeigten Umwandlungen 204).
  • 5 zeigt ein Flussdiagramm eines veranschaulichten Prozesses 500 gemäß einigen Ausführungsformen der hier beschriebenen Technologie zum Erhalten (z. B. durch Erstellen oder den Zugriff auf) einer Verbindung zwischen einer benutzerdefinierten und einer abgeleiteten Data-Lineage und für die Verwendung der erhaltenen Verbindung, um zu bestimmen, ob es Diskrepanzen zwischen der benutzerdefinierten Data-Lineage, der abgeleiteten Data-Lineage und der Verbindung zwischen ihnen gibt. Der Prozess 500 kann von jedem geeigneten System und/oder jeder geeigneten Art von Datenverarbeitungsvorrichtungen ausgeführt werden und kann zum Beispiel von dem Datenverarbeitungssystem 105 ausgeführt werden, das mit Bezug auf 1 beschrieben ist. [00120] Der Prozess 500 beginnt bei der Handlung 502, bei der eine benutzerdefinierte Data-Lineage erhalten wird. Die benutzerdefinierten Data-Lineage kann auf jede beliebige Weise erhalten werden. Zum Beispiel kann die benutzerdefinierte Data-Lineage von einem Benutzer spezifiziert werden, und zwar unter Verwendung einer oder mehrerer grafischer Benutzeroberflächen, die dem Benutzer vom Datenverarbeitungssystem bereitgestellt werden, um ihm die Spezifikation einer benutzerdefinierten Data-Lineage zu erleichtern.
  • Daraufhin fährt Vorgang 500 mit Handlung 504 fort, wobei eine abgeleitete Data-Lineage erhalten wird. Die abgeleitete Data-Lineage kann über ein beliebiges hier beschriebenes Verfahren erhalten werden. Beispielsweise kann bei einigen Ausführungsformen die abgeleitete Data-Lineage durch die Analyse des Quellcodes eines oder mehrerer Computerprogramme erhalten werden, die darauf konfiguriert sind, auf mindestens einige aus einer Vielzahl von physikalischen Datenelementen, die das Datenverarbeitungssystem verwaltet, zuzugreifen. Die Quellcodeanalyse kann verwendet werden, um ein oder mehrere physikalische Datenelemente zu identifizieren, die vom Computerprogramm eingegeben und/oder auf die zugegriffen werden, um eine oder mehrere Umwandlungen zu identifizieren, die auf die Eingaben und/oder Berechnungen angewendet werden, die mit den Eingaben als Teil des Computerprogramms durchgeführt werden, und/oder um einen oder mehrere Ausgaben der Computerprogramme zu identifizieren. Zusätzlich oder alternativ kann eine abgeleitete Data-Lineage durch die Analyse der während der Laufzeit des Computerprogramms/der Computerprogramme erhaltenen Informationen erhalten werden. So können beispielsweise bei einigen Ausführungsformen ein oder mehrere Protokolle, die während der Laufzeit eines Computerprogramms erzeugt werden, analysiert werden, um Eingaben in das Computerprogramm zu identifizieren, eine oder mehrere Umwandlungen zu identifizieren, die auf die Eingaben und/oder Berechnungen angewendet werden, welche die Eingaben als Teil des Computerprogramms nutzen, und/oder um eine oder mehrere Ausgaben des Computerprogramms zu identifizieren.
  • Daraufhin fährt Vorgang 500 mit Handlung 506 fort, wobei eine Verbindung zwischen der in Handlung 502 erhaltenen benutzerdefinierten Data-Lineage und der in Handlung 504 erhaltenen abgeleiteten Data-Lineage erhalten wird. Die Verbindung kann durch Zugriff auf eine zuvor erzeugte Verbindung oder durch Erzeugung der Verbindung als Teil des Vorgangs 500 erhalten werden. Die Erzeugung einer Verbindung zwischen einer abgeleiteten Data-Lineage und einer benutzerdefinierten Data-Lineage kann die Erzeugung einer Verbindung zwischen einem oder mehreren physikalischen Datenelementen in der abgeleiteten Data-Lineage und einem oder mehreren entsprechenden Geschäftsdatenelementen in der benutzerdefinierten Data-Lineage umfassen. Zusätzlich kann die Erzeugung einer Verbindung zwischen einer abgeleiteten Data-Lineage und einer benutzerdefinierten Data-Lineage die Erzeugung einer Verbindung zwischen einer oder mehreren Umwandlungen von physikalischen Datenelementen in der abgeleiteten Data-Lineage und einer oder mehreren entsprechenden Umwandlungen von Geschäftsdatenelementen in der benutzerdefinierten Data-Lineage umfassen. Einmal erzeugt, kann die Verbindung durch das Datenverarbeitungssystem in einer oder mehreren Datenstrukturen gespeichert werden, sodass sie für den nachfolgenden Gebrauch verfügbar ist.
  • Eine Verbindung zwischen benutzerdefinierten und abgeleiteten Data-Lineages kann über ein beliebiges hier beschriebenes Verfahren erhalten werden. In einigen Ausführungsformen kann eine Verbindung zwischen den Data-Lineages automatisch erzeugt werden, beispielsweise anhand von Metadaten (z. B. Namen) der physikalischen und Geschäftsdatenelemente. In einigen Ausführungsformen kann eine Verbindung zwischen den Data-Lineages anhand von Benutzereingaben zur Präzisierung der Verbindung erzeugt werden. Bei solchen Ausführungsformen kann dem Anwender eine oder mehrere grafische Benutzeroberflächen zur Verfügung gestellt werden, um ihm die Angabe einer benutzerdefinierten Data-Lineage zu erleichtern. Die grafischen Benutzeroberflächen können die Bestimmung von Verbindungen zwischen physikalischen und Geschäftsdatenelementen sowie von Verbindungen zwischen Umwandlungen, die auf solche Elemente angewandt werden, erleichtern.
  • Daraufhin fährt Vorgang 500 mit Handlung 508 fort, bei der eine Visualisierung der in Handlung 506 erzeugten Verbindung erzeugt wird. Die Visualisierung kann eine grafische Darstellung dessen liefern, welche physikalischen Datenelemente und Geschäftsdatenelemente miteinander verbunden sind. Zusätzlich kann die Visualisierung auch eine grafische Darstellung dessen liefern, welche Umwandlungen in der benutzerdefinierten Data-Lineage und welche Umwandlungen in den abgeleiteten Daten miteinander verbunden sind. Beispielsweise kann die erzeugte Visualisierung bei einigen Ausführungsformen ein oder mehrere grafische Elemente umfassen, die Verbindungslinien zwischen einem oder mehreren physikalischen Datenelementen in der abgeleiteten Data-Lineage und dem/den verbundenen Geschäftsdatenelement(en) (z. B. Verbindungslinien 352, 354, 356 und 358 in 3A) darstellen. Als konkretes Beispiel kann die in Handlung 508 erzeugte Visualisierung Folgendes umfassen: (1) eine Visualisierung eines ersten Diagramms, das die in Handlung 504 erzeugte abgeleitete Data-Lineage darstellt, ein erstes Diagramm, das Knoten umfasst, die Datenobjekte, physikalische Datenelemente und/oder Umwandlungen darstellen; (2) eine Visualisierung eines zweiten Diagramms, das die in Handlung 502 erhaltene benutzerdefinierte Data-Lineage darstellt, wobei das zweite Diagramm Knoten umfasst, die Datencontainer, Geschäftsdatenelemente und/oder Umwandlungen darstellen; und (3) ein oder mehrere Ränder zwischen Knoten in den Diagrammen, die Verbindungslinien zwischen physikalischen und Geschäftsdatenelementen und/oder zwischen Umwandlungen in den beiden Data-Lineages darstellen. Nicht einschränkende Beispiele für solche Visualisierungen werden in 6A-6E und 8A-8F dargestellt.
  • Daraufhin fährt Vorgang 500 mit Handlung 509 fort, wobei ein Maßstab für die Datenqualität eines jeden Geschäftsdatenelements oder mehrerer Geschäftsdatenelemente anhand eines Maßstabs für die Datenqualität eines jeden Datenelements oder mehrerer physikalischen Datenelemente, das/die mit dem/den Geschäftsdatenelement(en) verbunden ist/sind, bestimmt wird. Bei einigen Ausführungsformen kann ein Maßstab für die Qualität eines physikalischen Datenelements beurteilt werden, indem eine oder mehrere vorkonfigurierte Datenqualitätregeln verwendet werden, die Kriterien zur Beurteilung der Werte von physikalischen Datenelementen definieren können, beispielsweise durch die Kennzeichnung von Merkmalen (z. B. Exaktheit, Präzision, Vollständigkeit und Gültigkeit) der Werte entsprechend den Kriterien. Der Umfang, in dem die Werte die Eigenschaften darstellen, kann dadurch einen Maßstab für die Datenqualität der physikalischen Datenelemente erzeugen und aufgrund der Verbindung zwischen den physikalischen und den Geschäftsdatenelementen einen Qualitätsmaßstab für die Geschäftsdatenelemente schaffen.
  • Daraufhin fährt Vorgang 500 mit dem Entscheidungsblock 510 fort, bei dem festgestellt wird, ob eine Diskrepanz zwischen der in Handlung 502 erhaltenen benutzerdefinierten Data-Lineage, der in Handlung 504 abgeleiteten Data-Lineage und der in Handlung 506 erhaltenen Verbindung auftritt. In einigen Fällen kann die Verbindung zwischen den beiden Arten der Data-Lineage korrekt sein und die Diskrepanz aufgrund einer Diskrepanz zwischen den Data-Lineages selbst auftreten. In anderen Fällen kann ein Fehler bei der Verbindung zwischen den beiden Arten der Data-Lineage auftreten und die Diskrepanz Ergebnis dieses Fehlers sein.
  • Die Diskrepanz kann auf jede geeignete Weise ermittelt werden. Beispielsweise kann das Datenverarbeitungssystem bei einigen Ausführungsformen prüfen, ob ein physikalisches Datenelement (z. B. das physikalische Datenelement 332 in 3A), das zum Erhalt eines anderen physikalischen Datenelements (z. B. das physikalische Datenelement 322 in 3A) verwendet wird, mit einem Geschäftsdatenelement (z. B. das Geschäftsdatenelement 308 in 3A) verbunden ist, das zum Erhalt eines Geschäftsdatenelements (z. B. das Geschäftsdatenelement 302 in 3A) verwendet wird, das wiederum mit dem anderen physikalischen Datenelement (z. B. das physikalische Datenelement 322 in 3A) verbunden ist. Als weiteres Beispiel kann das Datenverarbeitungssystem bestimmen, ob ein erster Satz einer oder mehrerer Datenquellen, die in der abgeleiteten Data-Lineage so identifiziert wurden, dass sie verwendet werden, um ein physikalisches Datenelement P zu erzeugen, sich von einem zweiten Satz einer oder mehrerer Datenquellen unterscheidet (oder mit ihnen übereinstimmt), die in der benutzerdefinierten Data-Lineage so identifiziert wurden, dass sie verwendet werden, um ein Geschäftsdatenelement B zu erzeugen.
  • Wenn zwischen den benutzerdefinierten und abgeleiteten Data-Lineages keine Diskrepanzen festgestellt werden, fährt Vorgang 500 über den NEIN-Pfad fort und gelangt zu dem Entscheidungsblock 514. Wenn andererseits eine Diskrepanz festgestellt wird, fährt Vorgang 500 mit Handlung 512 fort, bei der dem Benutzer die Diskrepanz angezeigt wird. Die Anzeige kann grafisch, durch Text oder eine zweckmäßige Kombination dieser beiden Varianten erfolgen. Beispielsweise kann die Anzeige als Teil einer grafischen Benutzeroberfläche (siehe z. B. 6D), Textmitteilung, E-Mail und/oder über jegliche andere zweckmäßige Kommunikationsform erfolgen.
  • An Entscheidungsblock 514 wird festgestellt, ob die bei Handlung 504 erhaltene abgeleitete Data-Lineage aktualisiert werden soll. Diese Feststellung kann auf jede zweckmäßige Weise erfolgen. Beispielsweise kann die abgeleitete Data-Lineage bei einigen Ausführungsformen automatisch nach einem Zeitplan aktualisiert werden. Bei einigen Ausführungsformen kann der Benutzer Eingaben tätigen (z. B. in Antwort auf eine Eingabeaufforderung oder ohne Aufforderung), die angeben, ob die abgeleitete Data-Lineage aktualisiert werden soll. Wenn bestimmt wird, dass die abgeleitete Data-Lineage aktualisiert werden soll, kehrt Vorgang 500 über den JA-Pfad zu Handlung 504 zurück. Andernfalls wird Vorgang 500 beendet.
  • Es ist zu beachten, dass Vorgang 500 zur Veranschaulichung dient und Varianten dieses Vorgangs existieren. Beispielsweise können, auch wenn dem Benutzer in der dargestellten Ausführungsform infolge einer Diskrepanz zwischen den benutzerdefinierten und abgeleiteten Data-Lineages eine Diskrepanz angezeigt wird, in anderen Ausführungsformen eine oder mehrere automatisierte Maßnahmen ausgeführt werden, um diese Diskrepanz zu beheben. Beispielsweise kann die abgeleitete Data-Lineage in einigen Ausführungsformen in dem Bemühen aktualisiert werden, die Diskrepanz zu beseitigen. Als weiteres Beispiel kann in einigen Ausführungsformen das Datenverarbeitungssystem, das Vorgang 500 ausführt, die benutzerdefinierte Data-Lineage so ändern, dass sie mit der abgeleiteten Data-Lineage übereinstimmt. Darüber hinaus kann das Datenverarbeitungssystem die benutzerdefinierte Data-Lineage verwenden, um diese beim Erhalt einer neuen abgeleiteten Data-Lineage zu unterstützen.
  • Als weiteres Beispiel für eine Variante des Vorgangs 500 sollte beachtet werden, dass nicht alle Handlungen des Vorgangs 500 in jeder Ausführungsform erforderlich sind. Beispielsweise können in einigen Ausführungsformen eine oder mehrere der Handlungen 508-514 fakultativ sein. Zum Beispiel kann Vorgang 500 in einigen Ausführungsformen fortfahren, ohne die Handlungen 508 und/oder 509 auszuführen. [00132] In den 6A-6E werden einige zusätzliche veranschaulichende Beispiele für grafische Benutzeroberflächen dargestellt, die im Zusammenhang mit einigen Ausführungsformen der hier beschriebenen Technologie verwendet werden können. Die grafischen Benutzeroberflächen der 6A-6E liefern Informationen über das Geschäftsdatenelement „Kreditwürdigkeit“, das die Kreditwürdigkeit eines Bankkunden darstellen kann.
  • Wie hier beschrieben, kann ein Datenverarbeitungssystem Informationen darüber erhalten, welche Parteien für die Verwaltung eines Geschäftsdatenelements verantwortlich sind. Als Beispiel dafür kennzeichnet die veranschaulichende grafische Benutzeroberfläche 600 aus 6A vier natürliche Personen (darunter einen Geschäftsinhaber 602, Datenverwalter 604 und zwei fachkundige Experten 606 und 608), die für die Verwaltung des Geschäftsdatenelements 601 „Kreditwürdigkeit“ zuständig sind.
  • Die 6B und 6C liefern Informationen zu der abgeleiteten Data-Lineage für das physikalische Datenelement, das dem Geschäftsdatenelement 601 „Kreditwürdigkeit“ entspricht. In der grafischen Benutzeroberfläche 610 aus 6B ist eine Auflistung 612 der Systeme dargestellt, die in die Erstellung des physikalischen Datenelements, das dem Geschäftsdatenelement 601 entspricht, einbezogen sind.
  • 6C ist eine veranschaulichende Benutzeroberfläche, die eine abgeleitete Data-Lineage 630 für das Geschäftsdatenelement 601 „Kreditwürdigkeit“ darstellt. Aus 6C wird ersichtlich, dass das physikalische Datenelement, das dem Geschäftsdatenelement 601 entspricht, in Feed 621 innerhalb des Risiko-Data-Marts 622 gespeichert wird. Die physikalischen Datenelemente in Feed 621 werden durch die Verwendung der in Speicher 623 des Data-Warehouse des Kunden 624 gespeicherten physikalischen Datenelemente erhalten. Die physikalischen Datenelemente in Speicher 623 werden durch die Verwendung von physikalischen Datenelementen in den Feeds 626 erhalten, die wiederum aus in den Systemen 628, 630 und 632 gespeicherten physikalischen Datenelementen erhalten werden. [00136] 6D ist eine veranschaulichende Benutzeroberfläche 640, die Informationen in der angegebenen Data-Lineage für das Geschäftsdatenelement „Kreditwürdigkeit“ 601 anzeigt. Wie in der Benutzeroberfläche zu sehen ist, ist die benutzerdefinierte („angegebene“) Quelle der Daten, die zum Erhalt des physikalischen Datenelements verwendet wird, das mit dem Geschäftsdatenelement Kreditwürdigkeit 601 verbunden ist, „Externe Daten“ 642.
  • 6E ist eine veranschaulichende Benutzeroberfläche 650, die das Vorhandensein einer Diskrepanz zwischen den benutzerdefinierten und abgeleiteten Data-Lineages für das Geschäftsdatenelement 601 anzeigt. Wie in der Benutzeroberfläche 650 zu sehen ist, ist die benutzerdefinierte („angegebene“) Quelle der Daten, die zum Erhalt des physikalischen Datenelements verwendet wird, das mit dem Geschäftsdatenelement Kreditwürdigkeit 601 verbunden ist, „Externe Daten“ 652. Dennoch ist die Quelle für dieses physikalische Datenelement laut der abgeleiteten Data-Lineage „Aus den USA stammende Systeme“ 654. Wie aus 6E ersichtlich wird, zeigt die Benutzeroberfläche 650 dem Benutzer die Diskrepanz zwischen den benutzerdefinierten und abgeleiteten Data-Lineages an, indem sie (durch das Markieren der Kästchen) anzeigt, dass die angegebenen und die abgeleiteten Quellen für das physikalische Datenelement, das dem Geschäftsdatenelement 601 entspricht, nicht übereinstimmen.
  • 8A ist ein Diagramm einer veranschaulichenden Benutzeroberfläche, die eine benutzerdefinierte Data-Lineage 800 für das Geschäftsdatenelement „Gesamt-Kreditinanspruchnahme“ darstellt, das in dem Bericht „Bericht über die Inanspruchnahme des Kunden“, den Knoten 808 darstellt, enthalten ist. Die benutzerdefinierte Data-Lineage 800 zeigt u. a. Folgendes an:
    1. (1) die Eingaben in das Geschäftsdatenelement „Gesamt-Kreditinanspruchnahme“ sind „Kreditwürdigkeit“ und „Ausstehender Darlehensbetrag“, die sich beide in einem Datenbanksystem namens „Risiko-Data-Mart“ befinden, das Knoten 806 darstellt, und dem Geschäftsdatenelement „Gesamt-Kreditinanspruchnahme“ als Eingaben hinzugefügt werden;
    2. (2) das Geschäftsdatenelement „Kreditwürdigkeit“ in der Risiko-Data-Mart-Datenbank hat in derselben Datenbank eine Eingabe in einer Tabellenspalte, die eine Umwandlung durchläuft, um die Kreditwürdigkeit nach Gruppen zu sortieren;
    3. (3) die Tabellenspalte „Kreditwürdigkeit“ in einer Anwendung namens Kunden-Data-Warehouse (CDW), die in Knoten 804 dargestellt wird, ist eine Durchlauf-Eingabe in die „Kreditwürdigkeit“-Tabellenspalte im „Risiko-Data-Mart“ und wird durch eine automatische Kontrolle namens „Kreditwürdigkeitsprüfung“ geprüft, die als Kästchen entlang der Verbindungslinie 805 zwischen den Knoten 804 und 806 eingezeichnet ist; und
    4. (4) die Inhalte der „Kreditwürdigkeit“-Tabellenspalte in der Kunden-Data-Warehouse-Anwendung hängen von Daten ab, die aus einem der drei verschiedenen Quellsysteme stammen: aus Kanada stammende Systeme, dargestellt durch Knoten 802a, aus Mexiko stammende Systeme, dargestellt durch Knoten 802c und aus den USA stammende Systeme, dargestellt durch Knoten 802d, sowie eine Fremdanwendung, „Daten aus Auskunfteien“, dargestellt durch Knoten 802b.
  • Das Vorstehende lässt den Schluss zu, dass die verschiedenen Knoten in der benutzerdefinierten Data-Lineage 800 verschiedene Systeme, Anwendungen, eine Datenbank und einen Bericht darstellen. Die Verbindungslinien zwischen den Knoten stellen Datenströme dar. Aus diesem Grund werden sie manchmal „Ströme“ genannt. In der benutzerdefinierten Data-Lineage 800 stellen die Verbindungslinien 803a-d die jeweiligen Ströme von den Knoten 802a-d zu Knoten 804 dar, die Verbindungslinie 805 stellt den Datenstrom von Knoten 804 zu Knoten 806 dar, und die Verbindungslinie 807 stellt den Datenstrom von Knoten 806 zu Knoten 808 dar. Es ist zu beachten, dass jede der Verbindungslinien in der benutzerdefinierten Data-Lineage 800 nicht nur einen Datenstrom zwischen Knoten anzeigt, sondern auch eine Abhängigkeit zwischen den darin enthaltenen Geschäftsdatenelementen. Beispielsweise zeigt die Verbindungslinie 803a an, dass die Daten in der „Kreditwürdigkeit“-Tabelle in der CDW-Anwendung, dargestellt durch Knoten 804, von der „Kreditwürdigkeit“-Tabelle in den aus Kanada stammenden Systemen, dargestellt durch Knoten 802a, abhängen. Eine Verbindungslinie in der benutzerdefinierten Data-Lineage zeigt eine Datenabhängigkeit an. Eine Verbindungslinie vom Geschäftsdatenelement A zum Geschäftsdatenelement B zeigt an, dass das Geschäftsdatenelement B von dem Geschäftsdatenelement A abhängig ist.
  • Wie in 8A gezeigt, sind einige der Verbindungslinien mit dicken Linien (z. B. die Verbindungslinien 803a, 803c und 803d), einige der Verbindungslinien mit gestrichelten Linien (z. B. die Verbindungslinie 803b) und einige Verbindungslinien mit dünnen Linien (z. B. die Verbindungslinie 807) eingezeichnet. In einigen Ausführungsformen bedeutet eine dünne Verbindungslinie, dass die Abhängigkeit, welche diese in einer benutzerdefinierten Data-Lineage darstellt, in einer abgeleiteten Data-Lineage keine entsprechende Abhängigkeit hat (z. B. dargestellt durch eine oder mehrere Verbindungslinien). Beispielsweise kann eine Verbindung zwischen zwei Geschäftsdatenelementen durch eine dünne Linie angezeigt werden, wenn keine Abhängigkeit besteht, und in der abgeleiteten Data-Lineage zwischen zwei physikalischen Datenelementen, die den zwei Geschäftsdatenelementen entsprechen. Als veranschaulichendes Beispiel zeigt das Steuerelement 840 für die Verbindungslinie 807 mit einem Häkchen neben dem „angegeben“-Feld 842 an, dass die durch die Verbindungslinie 807 dargestellte Ungleichheit durch einen Benutzer angegeben wurde, aber das Fehlen eines gesetzten Häkchens neben dem „abgeleitet“-Feld 842 zeigt an, dass keine entsprechende Abhängigkeit in der abgeleiteten Data-Lineage besteht, die mit der benutzerdefinierten Data-Lineage verbunden ist. Auf diese Weise kann eine dünne Linie in einer benutzerdefinierten Data-Lineage das Vorhandensein einer Ungleichheit zwischen der benutzerdefinierten Data-Lineage und der mit ihr verbundenen abgeleiteten Data-Lineage anzeigen. Eine solche Ungleichheit kann aufgedeckt werden, indem eine Verbindung zwischen der benutzerdefinierten Data-Lineage und einer abgeleiteten Data-Lineage im Einklang mit den hier beschriebenen Verfahren verwendet wird.
  • In einigen Ausführungsformen bedeutet eine dicke Verbindungslinie, dass die Abhängigkeit, welche diese in einer benutzerdefinierten Data-Lineage darstellt, eine entsprechende Abhängigkeit in einer abgeleiteten Data-Lineage hat (z. B. dargestellt durch eine oder mehrere Verbindungslinien). Beispielsweise kann eine Verbindung zwischen zwei Geschäftsdatenelementen durch eine dicke Linie angezeigt werden, wenn eine entsprechende Abhängigkeit besteht, und in der abgeleiteten Data-Lineage zwischen zwei physikalischen Datenelementen, die den zwei Geschäftsdatenelementen entsprechen. Als veranschaulichendes Beispiel zeigt das Steuerelement 810 in 8B Folgendes an: (1) mit einem Häkchen neben dem „angegeben“-Feld 812, dass die durch die Verbindungslinie 803a dargestellte Abhängigkeit durch einen Benutzer angegeben wurde; und (2) mit einem Häkchen neben dem „abgeleitet“-Feld 814, dass eine entsprechende Abhängigkeit in der abgeleiteten Data-Lineage besteht, die mit der benutzerdefinierten Data-Lineage 800 verbunden ist. Durch das Anklicken des Steuerelements 816 wird diese jeweilige Abhängigkeit zwischen den Knoten 822 und 824 (durch Knoten 824) in der abgeleiteten Data-Lineage 820 in 8C angezeigt. Auf diese Weise kann eine dicke Verbindungslinie in einer benutzerdefinierten Data-Lineage eine Übereinstimmung oder Ähnlichkeit zwischen der benutzerdefinierten Data-Lineage und der abgeleiteten Data-Lineage anzeigen. Eine solche Übereinstimmung oder Ähnlichkeit kann aufgedeckt werden, indem eine Verbindung zwischen der benutzerdefinierten Data-Lineage und einer abgeleiteten Data-Lineage im Einklang mit den hier beschriebenen Verfahren verwendet wird.
  • In einigen Ausführungsformen kann eine gestrichelte Linie (z. B. die Verbindungslinie 803a in 8A) anzeigen, dass eine Abhängigkeit von Daten besteht, die von einer fremden Anwendung bereitgestellt werden.
  • In einigen Ausführungsformen kann eine grafische Benutzeroberfläche, die eine benutzerdefinierte Data-Lineage anzeigt, auch ein oder mehrere Überprüfungs-Steuerelemente anzeigen, die den von einem Benutzer bei der Schaffung einer benutzerdefinierten Data-Lineage getätigten Aussagen Glaubwürdigkeit verleihen. Beispielsweise werden, wie in 8A dargestellt, Überprüfungs-Steuerelemente als eingekreiste Buchstaben dargestellt, wobei das eingekreiste V anzeigte, dass der Knoten die Überprüfung der Gültigkeit bestanden hat, und das eingekreiste A, dass der Knoten die Überprüfung der Richtigkeit bestanden hat. Zusätzlich oder alternativ kann eine grafische Anzeige bereitgestellt werden, die anzeigt, dass die Überprüfung der Datenqualität durchlaufen wurde. Überprüfungs-Steuerelemente können sowohl für Knoten als auch für Verbindungslinien/Ströme angewandt werden. Beispielsweise zeigt ein Kästchen auf der Verbindungslinie 805 an, dass eine oder mehrere Kreditwürdigkeitsprüfungen durchgeführt wurden.
  • 8D ist ein Diagramm einer beispielhaften Benutzeroberfläche gemäß einigen Ausführungsformen der hier beschriebenen Technologie, die Informationen über einen Knoten in der benutzerdefinierten Data-Lineage aus 8A zeigt. Wie in 8D dargestellt, zeigt das Feld 825 zusätzliche mit dem Geschäftsdatenelement „Kreditwürdigkeit“ verbundene Informationen an und umfasst eine Verbindungslinie zu dem entsprechenden physikalischen Datenelement „credit_score“ (Kreditwürdigkeit), die Verbindungslinie wird durch die Bezugsnummer 830 angezeigt. Dadurch wird eine andere Ansicht der Verbindung zwischen den benutzerdefinierten und abgeleiteten Data-Lineages bereitgestellt. Durch Klicken auf die Verbindungslinie für das physikalische Datenelement „Kreditwürdigkeit“, das durch die Bezugsnummer 830 angezeigt wird, werden weiterführende Informationen zu dem physikalischen Datenelement angezeigt, wie z. B. im Feld 835 in 8E. Durch erneutes Anklicken des Steuerelements 836, das in 8E dargestellt ist, wird mindestens ein Anteil einer abgeleiteten Data-Lineage angezeigt, der das physikalische Datenelement „credit_score“ (Kreditwürdigkeit) enthält.
  • 7 veranschaulicht ein Beispiel für eine geeignete Computersystemumgebung 700, in das die hier beschriebene Technologie implementiert werden kann. Die Computersystemumgebung 700 ist nur ein Beispiel für eine geeignete Computerumgebung und stellt keinesfalls Einschränkungen bzgl. des Umfangs der Nutzung oder der Funktionalität der hier beschriebenen Technologie dar. Die Computerumgebung 700 sollte auch nicht so ausgelegt werden, als wären jegliche Abhängigkeiten oder Voraussetzungen in Bezug auf jedwede Komponenten oder deren Kombinationen vorhanden, die in der beispielhaften Computerumgebung 700 veranschaulicht sind.
  • Die hier beschriebene Technologie ist mit zahlreichen anderen allgemeinen oder speziellen Umgebungen oder Konfigurationen der Computersystemumgebungen betriebsfähig. Beispiele für bekannte Computersysteme, Umgebungen und/oder Konfigurationen, die zur Verwendung mit der hier beschriebenen Technologie geeignet sind, umfassen u. a. Privatcomputer, Server-Computer, tragbare Geräte und Laptops, Mehrprozessorsysteme, mikroprozessorgesteuerte Systeme, Set-Top-Boxen, programmierbare Verbraucherelektronik, Netzwerkrechner, Minirechner, Großrechner, verteilte Computerumgebungen, welche die o. g. Systeme oder Vorrichtungen und dergleichen umfassen.
  • Die Computerumgebung kann für Computer ausführbare Anweisungen wie z. B. Programmmodule ausführen. Üblicherweise umfassen Programmmodule Routinen, Programme, Objekte, Bestandteile, Datenstrukturen usw., die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Die hier beschriebene Technologie kann auch in verteilten Computerumgebungen ausgeübt werden, wobei Aufgaben von Fernverarbeitungsvorrichtungen ausgeführt werden, die über ein Kommunikationsnetz verbunden sind. In einer verteilten Computerumgebung können Programmmodule sowohl in internen als auch Remote-Computerspeichermedien, einschließlich Speichervorrichtungen, eingerichtet werden.
  • In Bezug auf 7 umfasst ein beispielhaftes System zur Implementierung der hier beschriebenen Technologie eine universelle Datenverarbeitungsvorrichtung in Form eines Computers 710. Zu den Komponenten des Computers 710 zählen unter anderem: eine Verarbeitungseinheit 720, ein Systemdatenspeicher 730 und ein Systembus 721, der verschiedene Systemkomponenten, einschließlich des Systemdatenspeichers, mit der Verarbeitungseinheit 720 verbindet. Der Systembus 721 kann jegliche Art der verschiedenen Busstrukturarten sein, einschließlich eines Speicherbusses oder eines Speichercontrollers, eines Peripheriebusses und eines internen Busses, und gleichzeitig eine Vielzahl an Busarchitekturen verwenden. Beispielsweise umfassen solche Architekturen u. a. den Industry Standard Architecture-(ISA)-Bus, den Micro Channel Architecture-(MCA)-Bus, den Enhanced ISA-(EISA)-Bus, den internen Video Electronics Standards Association-(VESA)-Bus, und den Peripheral Component Interconnect(PCI)-Bus, der auch als Mezzanine-Bus bekannt ist.
  • Der Computer 710 umfasst üblicherweise eine Vielzahl von computerlesbaren Medien. Computerlesbare Medien können jegliche verfügbaren Medien sein, auf die Computer 710 zugreifen kann, und umfassen flüchtige und nichtflüchtige Medien, Wechselmedien und fest eingebaute Medien. Beispielsweise können computerlesbare Medien u. a. Computerspeichermedien und Kommunikationsmedien umfassen. Computerspeichermedien umfassen flüchtige und nichtflüchtige, Wechsel- und fest eingebaute Medien, die in jeglicher Methode oder Technologie zur Speicherung von Informationen wie z. B. computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten implementiert wurden. Computerspeichermedien umfassen u. a. RAM, ROM, EEPROM, Flash-Speicher oder andere Speichertechnologien, CD-ROM, Digital Versatile Discs (DVD) oder andere optische Datenspeicher, Kompaktkassetten, Magnetbänder, Disketten oder andere magnetische Speichervorrichtungen, oder jegliche andere Medien, die zur Speicherung der gewünschten Informationen verwendet werden können und auf die der Computer 710 zugreifen kann. Kommunikationsmedien sind üblicherweise computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten in einem modulierten Datensignal wie beispielsweise eine Trägerwelle oder ein anderer Transportmechanismus und umfassen jegliche Informationsübertragungsmedien. Der Begriff „moduliertes Datensignal“ bezieht sich auf ein Signal, dessen Eigenschaft(en) so eingestellt oder verändert wurde(n), dass Informationen in dem Signal verschlüsselt sind. Beispielsweise umfassen Kommunikationsmedien u. a. verkabelte Medien wie beispielsweise verkabelte Netzwerke oder direkt verkabelte Verbindungen, und drahtlose Medien wie beispielsweise akustische, Radiofrequenz-, Infrarot- oder andere drahtlose Medien. Kombinationen jeglicher der o. g. Medien sollten auch in dem Umfang der computerlesbaren Medien fallen.
  • Der Systemspeicher 730 umfasst Computerspeichermedien in Form von flüchtigem und/oder nichtflüchtigem Speicher wie beispielsweise Festwertspeicher (ROM) 731 und Direktzugriffsspeicher (RAM) 732. Ein Basis-Eingabe/Ausgabesystem 733 (BIOS), das die grundlegenden Programme enthält, welche die Informationsübertragung zwischen Elementen innerhalb des Computers 710 unterstützen, wie beispielsweise beim Hochfahren, ist üblicherweise in ROM 731 gespeichert. RAM 732 enthält üblicherweise Daten und/oder Programmmodule, die sofort zugänglich sind und/oder gegenwärtig von der Verarbeitungseinheit 720 betrieben werden. Beispielsweise stellt 7 u. a. ein Betriebssystem 734, Anwendungsprogramme 735, andere Programmmodule 736 und Programmdaten 737 dar.
  • Der Computer 710 kann auch andere Wechsel-/fest eingebaute, flüchtige/nichtflüchtige Computerspeichermedien umfassen. Beispielsweise stellt 7 ein Festplattenlaufwerk 741, das fest eingebaute, nichtflüchtige magnetische Daten abliest oder beschreibt, einen tragbaren Datenträger 751, der einen tragbaren, nichtflüchtigen Speicher 752 wie beispielsweise einen Flash-Speicher abliest oder beschreibt, und ein optisches Laufwerk 755 dar, das eine tragbare, nichtflüchtige optische Speicherplatte 756 wie beispielsweise CD ROMs oder andere optische Speichermedien abliest oder beschreibt. Weitere Wechsel-/fest eingebaute, flüchtige/nichtflüchtige Computerspeichermedien, die in der beispielhaften Betriebsumgebung verwendet werden können, umfassen u. a. Magnetbandkassetten, Speicherkarten, Digital Versatile Disks, Digital-Video-Bänder, Halbleiter-RAMs, Halbleiter-ROMs und dergleichen. Das Festplattenlaufwerk 741 ist üblicherweise über eine fest eingebaute Speicherschnittstelle wie z. B. über die Schnittstelle 740 mit dem Systembus 721 verbunden, und Magnetplattenlaufwerk 751 und optisches Plattenlaufwerk 755 sind üblicherweise über eine entnehmbare Speicherschnittstelle wie z. B. über die Schnittstelle 750 mit dem Systembus 721 verbunden.
  • Die vorstehend genannten und in 7 dargestellten Laufwerke und mit ihnen verbundenen Computerspeichermedien liefern die Speicherung von computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen und anderen Daten für den Computer 710. In 7 ist Festplattenlaufwerk 741 beispielsweise als Speicherbetriebssystem 744, Anwendungsprogramme 745, andere Programmmodule 746 und Programmdaten 747 dargestellt. Es ist zu beachten, dass diese Bestandteile entweder dieselben oder von dem Betriebssystem 734, Anwendungsprogrammen 735 oder anderen Programmmodulen 736 und Programmdaten 737 abweichenden Bestandteile sein können. Betriebssystem 744, Anwendungsprogramme 745, andere Programmmodule 746 und Programmdaten 747 erhielten hier verschiedene Nummern, um mindestens darzustellen, dass es sich um verschiedene Kopien handelt. Ein Benutzer kann durch Eingabevorrichtungen wie z. B. eine Tastatur 762 und ein Zeigegerät 761, bei dem man sich üblicherweise auf eine Maus, einen Trackball oder ein Touchpad bezieht, Befehle und Informationen in den Computer 710 eingeben. Andere (nicht dargestellte) Eingabevorrichtungen können Mikrofone, Joysticks, Gamepads, Satellitenschüsseln, Scanner o. Ä. umfassen. Diese und weitere Eingabevorrichtungen werden oft über eine Benutzereingabeschnittstelle 760 mit der Verarbeitungseinheit 720 verbunden, die mit dem Systembus gekoppelt ist, aber auch über andere Schnittstellen- und Busstrukturen, wie beispielsweise eine parallele Schnittstelle, Gameports oder einen universellen Serienbus (USB), verbunden werden können. Ein Monitor 791 oder andere Art von Anzeigevorrichtungen ist auch über eine Schnittstelle, z. B. eine Videoschnittstelle 790, mit dem Systembus 721 verbunden. Zusätzlich zum Monitor können Computer auch andere Peripherie-Ausgabevorrichtungen wie z. B. Lautsprecher 797 und Drucker 796 umfassen, die über eine Ausgabeperipherieschnittstelle 795 verbunden sein können.
  • Der Computer 710 kann in einer vernetzten Umgebung unter Verwendung logischer Verbindungen mit einem oder mehreren Remotecomputern wie beispielsweise einem Remotecomputer 780 funktionieren. Der Remotecomputer 780 kann ein Privatcomputer, ein Server, ein Router, ein Netzwerkrechner, ein Peer-Gerät oder anderer gebräuchlicher Netzwerkknoten sein und umfasst üblicherweise viele oder alle der oben beschriebenen Elemente in Bezug auf den Computer 710, auch wenn in 7 lediglich eine Speichervorrichtung dargestellt wurde. Die in 7 abgebildeten logischen Verbindungen umfassen ein lokales Netzwerk (LAN) 771 und ein Weitverkehrsnetz (WAN) 773, können aber auch andere Netzwerke umfassen. Solche Netzwerkumgebungen sind in Büros, Unternehmensnetzwerken, internen Netzwerken und dem Internet weit verbreitet.
  • Wenn der Computer 710 in einer LAN-Netzwerkumgebung verwendet wird, wird er über eine Netzwerkschnittstelle oder einen Adapter 770 mit dem LAN 771 verbunden. Wenn der Computer 710 in einer WAN-Netzwerkumgebung verwendet wird, umfasst er üblicherweise ein Modem 772 oder andere Mittel zur Herstellung von Verbindungen über das WAN 773, wie beispielsweise das Internet. Das Modem 772, das intern oder extern sein kann, kann über die Benutzereingabeschnittstelle 760 oder einen anderen geeigneten Mechanismus mit dem Systembus 721 verbunden werden. In einer vernetzten Umgebung können in Bezug auf den Computer 710 dargestellte Programmmodule oder Teile derselben in der Remote-Speichervorrichtung gespeichert werden. Beispielsweise werden in 7 Remote-Anwendungsprogramme 785 dargestellt, die auf der Speichervorrichtung 781 abgelegt sind. Es ist zu beachten, dass die dargestellten Netzwerkverbindungen als Beispiel dienen und dass andere Maßnahmen zur Herstellung einer Verbindung zwischen den Computern verwendet werden können.
  • Nachdem verschiedene Aspekte von mindestens einer Ausführungsform dieser Erfindung beschrieben wurden, ist zu beachten, dass Fachleuten zahlreiche Abänderungen, Modifizierungen und Verbesserungen einfallen werden.
  • Solche Abänderungen, Modifizierungen und Verbesserungen sind Bestandteil dieser Offenbarung und als im Geiste und Umfang der Erfindung gedacht. Darüber hinaus ist zu beachten, dass, auch wenn Vorteile der vorliegenden Erfindung aufgezeigt wurden, nicht jede Ausführungsform der hier beschriebenen Technologie jeden beschriebenen Vorteil aufweisen wird. Einige Ausführungsformen implementieren möglicherweise keinerlei hier als vorteilhaft beschriebene Funktionen und in einigen Fällen können eine oder mehrere Funktionen implementiert werden, um weitere Ausführungsformen zu erreichen. Dementsprechend dienen die vorstehenden Beschreibungen und Zeichnungen lediglich als Beispiel.
  • Die o. g. Ausführungsformen der hier beschriebenen Technologie können durch zahlreiche Verfahren implementiert werden. Beispielsweise können die Ausführungsformen unter Verwendung von Hardware, Software oder einer Kombination aus beiden implementiert werden. Wenn sie in Software implementiert werden, kann der Quellcode auf jedem geeigneten Prozessor oder mehreren Prozessoren sowohl auf einem einzelnen Computer oder auf mehreren Computern verteilt ausgeführt werden. Solche Prozessoren können als integrierte Schaltkreise mit einem oder mehreren Prozessoren in ein Bauelement eines integrierten Schaltkreises implementiert werden, einschließlich im Handel erhältlicher, unter Fachleuten als CPU-Chips, GPU-Chips, Mikroprozessor, Mikrocontroller oder Koprozessor bekannter Bauelemente integrierter Schaltkreise. Alternativ kann ein Prozessor in maßgeschneiderten Schaltkreisen wie beispielsweise einer anwendungsspezifischen integrierten Schaltung (ASIC) oder Halbkundenschaltkreisen, die Ergebnis der Konfiguration einer programmierbaren logischen Schaltung sind, implementiert werden. Als weitere Alternative kann ein Prozessor Teil eines größeren handelsüblichen, Halbkunden- oder kundenspezifischen Schaltkreises oder Halbleiterbauelements sein. Als spezifisches Beispiel haben einige handelsübliche Mikroprozessoren mehrere Kerne, sodass ein Kern oder eine Untergruppe dieser Kerne einen Prozessor darstellen können. Allerdings kann ein Prozessor durch Verwendung eines Schaltkreises in jedem geeigneten Format implementiert werden.
  • Weiterhin sollte beachtet werden, dass ein Computer in einer beliebigen Anzahl von Formen verkörpert sein kann, beispielsweise als ein befestigter Computer, ein Desktop-Computer, ein Laptop oder ein Tablet. Zusätzlich kann ein Computer in eine Vorrichtung eingebettet sein, die gemeinhin nicht als Computer angesehen wird, aber über die geeignete Verarbeitungsleistungsfähigkeit verfügt, dies umfasst einen Personal Digital Assistant (PDA), ein Smartphone oder jegliche andere geeignete tragbare oder befestigte elektronische Vorrichtungen.
  • Ein Computer kann auch ein oder mehrere Eingabe- und Ausgabevorrichtungen haben. Diese Vorrichtungen können u. a. als Benutzeroberfläche verwendet werden. Beispiele für Ausgabevorrichtungen, die zur Bereitstellung einer Benutzeroberfläche verwendet werden können, umfassen Drucker oder Bildschirme zur visuellen Präsentation von Ausgaben und Lautsprecher oder andere Klang erzeugende Vorrichtungen zur akustischen Präsentation von Ausgaben. Beispiele für Eingabevorrichtungen, die für eine Benutzeroberfläche verwendet werden können, umfassen Tastaturen und Zeigegeräte wie Mäuse, Touchpads und Grafiktablets. Als weiteres Beispiel kann ein Computer Eingabeinformationen über Spracherkennung oder in anderen hörbaren Formaten erhalten.
  • Solche Computer können durch ein oder mehrere Netzwerke in jeder geeigneten Form miteinander verbunden werden, einschließlich als lokales Netzwerk oder Weitverkehrsnetz wie beispielsweise ein Firmennetzwerk oder das Internet. Derartige Netzwerke können auf jeder geeigneten Technologie basieren und gemäß jedem geeigneten Protokoll arbeiten und kabellose Netzwerke, verkabelte Netzwerke oder Glasfasernetzwerke umfassen.
  • Außerdem können die verschiedenen, vorliegend dargestellten Verfahren bzw. Prozesse als Software kodiert werden, die auf einem oder mehreren Prozessoren ausführbar ist, die eines bzw. eine aus einer Vielzahl von Betriebssystemen oder Plattformen verwenden. Darüber hinaus kann diese Software mit einer beliebigen von mehreren geeigneten Programmiersprachen und/oder Programmier- oder Scripting-Instrumenten geschrieben werden, und auch als ausführbarer Maschinensprachcode oder Zwischencode kompiliert werden, der auf einem Framework oder einer virtuellen Maschine ausgeführt wird.
  • In dieser Hinsicht kann die Erfindung als computerlesbares Speichermedium (oder als mehrere computerlesbare Speichermedien) (z. B. ein Computerspeicher, eine oder mehrere Disketten, Compact Discs (CD), optische Platten, digitale Videoplatten (DVD), Magnetbänder, Flash-Speicher, Schaltkreisanordnungen in feldprogrammierbaren Gate Arrays oder anderen Halbleiter-Bauelementen, oder sonstiges materielles Computerspeichermedium) ausgeführt werden, das mit einem oder mehreren Programmen codiert wurde und bei Ausführung auf einem oder mehreren Computern oder sonstigen Prozessoren Verfahren durchführt, welche die verschiedenen, vorstehend erörterten Ausführungsformen der Erfindung umsetzen. Wie aus den vorstehenden Beispielen ersichtlich ist, kann ein computerlesbares Speichermedium Informationen ausreichend lange speichern, um computerausführbare Befehle in dauerhafter Form bereitzustellen. Ein solches computerlesbares Speichermedium bzw. solche computerlesbaren Speichermedien können transportabel sein, so dass das/die darauf gespeicherte/n Programm bzw. Programme auf einen oder mehrere verschiedene Computer oder sonstige Prozessoren geladen werden können, um verschiedene Aspekte der vorliegenden Erfindung wie vorstehend erörtert umzusetzen. Im vorliegenden Sinne bezieht sich der Begriff „computerlesbares Speichermedium“ ausschließlich auf ein dauerhaftes computerlesbares Speichermedium, das als Erzeugnis (d. h. als gefertigter Artikel) oder Maschine angesehen werden kann. Alternativ oder zusätzlich kann die Erfindung als ein computerlesbares Medium ausgeführt werden, das kein computerlesbares Speichermedium ist, wie beispielsweise ein propagierendes Signal.
  • Die Begriffe „Programm“ oder „Software“ werden vorliegend in einem allgemeinen Sinn verwendet und beziehen sich auf jegliche Art von Computercode oder Satz von computerausführbaren Befehlen, mit dem ein Computer oder sonstiger Prozessor programmiert werden kann um verschiedene Aspekte der vorliegenden Erfindung umzusetzen. Darüber hinaus sollte beachtet werden, dass gemäß einem Aspekt dieser Ausführungsform ein oder mehrere Computerprogramme, die bei Ausführung die Verfahren der vorliegenden Erfindung durchführen, sich nicht auf einem einzigen Computer oder Prozessor befinden müssen, sondern modular auf eine Anzahl unterschiedlicher Computer oder Prozessoren verteilt sein können, um verschiedene Aspekte der vorliegenden Erfindung umzusetzen.
  • Computerausführbare Befehle können viele Formen einnehmen, wie z. B. Programmmodule, die durch einen oder mehrere Computer oder sonstige Vorrichtungen ausgeführt werden. Üblicherweise umfassen Programmmodule Routinen, Programme, Objekte, Bestandteile, Datenstrukturen usw., die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Dabei kann die Funktionalität der Programmmodule in verschiedenen Ausführungsformen wie gewünscht kombiniert oder verteilt werden.
  • Des Weiteren können auch Datenstrukturen auf computerlesbaren Medien in einer beliebigen geeigneten Form gespeichert werden. Zur einfacheren Veranschaulichung können Datenstrukturen so dargestellt werden, dass sie zwei Felder haben, die durch den Ort innerhalb der Datenstruktur in Beziehung stehen. Diese Beziehungen können ebenfalls dadurch erreicht werden, dass den Feldern Speicherplatz mit Orten in einem computerlesbaren Medium, welches die Beziehung zwischen den Feldern vermittelt, zugeordnet wird. Es kann jedoch jeglicher geeignete Mechanismus verwendet werden, um eine Beziehung zwischen Informationen in Feldern einer Datenstruktur herzustellen, einschließlich durch die Verwendung von Zeigern, Tags oder sonstigen Mechanismen, die eine Beziehung zwischen Datenelementen herstellen.
  • Verschiedene Aspekte der vorliegenden Erfindung können allein, in Kombination oder in einer Vielzahl von Anordnungen verwendet werden, die nicht ausdrücklich in den vorstehend beschriebenen Ausführungsformen erörtert sind, und sind somit in ihrer Anwendung nicht beschränkt auf die in den vorstehenden Beschreibungen oder Abbildungen dargestellten Einzelheiten und Anordnungen von Bauteilen. Zum Beispiel können Aspekte, die in einer Ausführungsform beschrieben werden, auf beliebiger Art mit in anderen Ausführungsformen beschriebenen Aspekten kombiniert werden.
  • Außerdem kann die Erfindung als ein Verfahren ausgeführt werden, welches beispielhaft dargestellt wurde. Die als Teil des Verfahrens durchgeführten Schritte können in jeder geeigneten Reihenfolge angeordnet werden. So können Ausführungsformen gebildet werden, in denen Schritte in einer anderen als der dargestellten Reihenfolge durchgeführt werden, wobei Schritte gegebenenfalls auch gleichzeitig durchgeführt werden können, selbst wenn sie in beispielhaften Ausführungsformen als aufeinanderfolgende Schritte dargestellt sind.
  • Des weiteren werden manche Schritte als von einem „Benutzer“ unternommenen Schritte beschrieben. Es sollte beachtet werden, dass es sich bei einem „Benutzer“ nicht um eine einzelne Person handeln muss, und dass in manchen Ausführungsformen einem „Benutzer“ zugeordnete Schritte durch ein aus Personen bestehendes Team und/oder eine Person in Verbindung mit computergestützten Instrumenten oder sonstigen Mechanismen durchgeführt werden können.
  • Die Verwendung von Ordinalbegriffen - wie z. B. „erste/r/s“, „zweite/r/s“, „dritte/r/s“ usw. - in den Ansprüchen zur Modifizierung eines Anspruchselements impliziert an sich keine Priorität, Vorrangigkeit oder Reihenfolge eines Anspruchselements gegenüber einem anderen und keine zeitliche Folge, in der Schritte eines Verfahrens durchgeführt werden, sondern diese dienen lediglich als Kennzeichnungen zur Unterscheidung der Anspruchselemente, um ein Anspruchselement mit einem bestimmten Namen von einem anderen Element zu unterscheiden, dass denselben demselben Namen aufweist (wenn nicht der Ordinalbegriff verwendet würde).
  • Die vorliegend verwendete Phraseologie und Terminologie dient lediglich der Beschreibung und sollte nicht als Einschränkung angesehen werden. Die Verwendung der Begriffe „einschließlich“, „bestehen(d) aus“, oder „aufweisen(d)“, „enthalten(d)“, „beinhalten(d)“ und Variationen dieser Begriffe dient dazu, die im Anschluss daran genannten Elemente und diesen entsprechende sowie weitere Elemente zu umfassen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 62419826 [0001]
    • US 5966072 [0062]
    • US 2007/0011668 [0063]
    • US 2014/0108357 [0070]
    • US 2010/0138431 [0078]
    • US 2016/0232230 [0078]
    • US 2016/0028580 [0078]
    • US 2016/0019286 [0078]

Claims (32)

  1. Folgendes wird beansprucht:
  2. Ein Datenverarbeitungssystem bestehend aus: mindestens einem Computer-Hardwareprozessor; und mindestens einem dauerhaften, computerlesbaren Speichermedium, das von einem Prozessor ausführbare Befehle speichert, welche, wenn sie von dem mindestens einen Computer-Hardwareprozessor ausgeführt werden, den mindestens einen Computer-Hardwareprozessor zur Durchführung folgender Schritte veranlasst: Erhalten einer ersten Data-Lineage, die Beziehungen zwischen einer Vielzahl an physikalischen Datenelementen darstellt, wobei die erste Data-Lineage zumindest teilweise durch Durchführung eines der folgenden Schritte erzeugt wird: (a) Analysieren des Quellcodes von mindestens einem Computerprogramm, das für den Zugriff auf mindestens einige aus einer Vielzahl von physikalischen Datenelementen konfiguriert ist; und (b) Analysieren von Informationen, die während der Laufzeit des mindestens einen Computerprogramms erhalten wurden; Erhalten einer zweiten Data-Lineage, zumindest teilweise basierend auf Benutzereingaben, die Beziehungen zwischen einer Vielzahl an Geschäftsdatenelementen darstellt; Erhalten einer Verbindung zwischen mindestens einigen aus einer Vielzahl von physikalischen Datenelementen der ersten Data-Lineage und mindestens einigen aus einer Vielzahl von Geschäftsdatenelemente; und Erzeugen, basierend auf der Verbindung zwischen der Vielzahl an physikalischen Datenelementen und der Vielzahl an Geschäftsdatenelementen, eines Hinweises auf Übereinstimmung oder Diskrepanz zwischen der ersten Data-Lineage und der zweiten Data-Lineage.
  3. Datenverarbeitungssystem nach Anspruch 1, wobei die Erzeugung des Hinweises auf Übereinstimmung oder Diskrepanz Folgendes umfasst: Anzeigen einer Visualisierung der zweiten Daten Data-Lineage, die den Hinweis auf Übereinstimmung oder Diskrepanz aufzeigt.
  4. Datenverarbeitungssystem nach Anspruch 2, wobei die zweite Data-Lineage eine erste Verbindung, die eine erste Abhängigkeit zwischen zwei Geschäftsdatenelementen darstellt, umfasst und das Anzeigen der Visualisierung der zweiten Data-Lineage das Anzeigen der Verbindung auf eine Art umfasst, wenn es eine Abhängigkeit in der ersten Data-Lineage gibt, die der ersten Abhängigkeit entspricht, und auf andere Art, wenn es keine Abhängigkeit in der ersten Data-Lineage gibt, die der ersten Abhängigkeit entspricht.
  5. Datenverarbeitungssystem nach Anspruch 1 oder einem der anderen o. g. Ansprüche, wobei die Erzeugung des Hinweises auf Übereinstimmung oder Diskrepanz Folgendes umfasst: Bestimmen, basierend auf der Verbindung zwischen der Vielzahl an physikalischen Datenelementen und der Vielzahl an Geschäftsdatenelementen, ob es eine Diskrepanz oder mehrere Diskrepanzen in der ersten Data-Lineage, der zweiten Data-Lineage und der erhaltenen Verbindung gibt.
  6. Datenverarbeitungssystem nach Anspruch 1 oder einem der anderen o. g. Ansprüche, wobei das Erhalten der ersten Data-Lineage das Erzeugen einer ersten Data-Lineage mindestens teilweise durch das Ausführen mindestens einen der folgenden Schritte umfasst: Analysieren des Quellcodes des mindestens einen Computerprogramms und Analysieren der während der Laufzeit des mindestens einen Computerprogramms erhaltenen Informationen.
  7. Datenverarbeitungssystem nach Anspruch 2 oder einem der anderen o. g. Ansprüche, wobei das Erhalten der ersten Data-Lineage das Analysieren des Quellcodes des mindestens einen Computerprogramms umfasst.
  8. Datenverarbeitungssystem nach Anspruch 2 oder einem der anderen o. g. Ansprüche, wobei das Erhalten der ersten Data-Lineage das Analysieren der während der Laufzeit des mindestens einen Computerprogramms erhaltenen Informationen umfasst.
  9. Datenverarbeitungssystem nach Anspruch 1 oder einem der anderen o. g. Ansprüche, wobei das mindestens eine Computerprogramm ein Computerprogramm umfasst, das als Datenflussdiagramm implementiert ist.
  10. Datenverarbeitungssystem nach Anspruch 1 oder einem der anderen o. g. Ansprüche, wobei das Erhalten der Verbindung zwischen den mindestens einigen aus einer Vielzahl von physikalischen Datenelementen der ersten Data-Lineage und den mindestens einigen aus einer Vielzahl von Geschäftsdatenelementen der zweiten Data-Lineage das Erzeugen der Verbindung basierend durch eine graphische Benutzeroberfläche bereitgestellte Anwendereingaben umfasst.
  11. Datenverarbeitungssystem nach Anspruch 4 oder einem der anderen o. g. Ansprüche, wobei die Vielzahl der physikalischen Datenelemente ein erstes physikalisches Datenelement umfasst, wobei die Vielzahl der Geschäftsdatenelemente ein erstes Geschäftsdatenelement umfasst, wobei die Verbindung anzeigt, dass das erste physikalische Datenelement und das erste Geschäftsdatenelement zugeordnet sind, und wobei das Bestimmen die Feststellung umfasst, dass ein erster Satz einer oder mehrerer Datenquellen, die in der ersten Data-Lineage so identifiziert wurden, dass sie verwendet werden, um das erste physikalische Datenelement zu erzeugen, sich von einem zweiten Satz einer oder mehrerer Datenquellen unterscheidet, die in der zweiten Data-Lineage so identifiziert wurden, dass sie verwendet werden, um das erste Geschäftsdatenelement zu erzeugen.
  12. Datenverarbeitungssystem nach Anspruch 4 oder einem der anderen o. g. Ansprüche, wobei Schritte zum Erhalten der ersten Data-Lineage und zum Bestimmen, ob eine Diskrepanz vorliegt, nach einem festgelegten Zeitplan wiederholt ausgeführt werden.
  13. Datenverarbeitungssystem nach Anspruch 1 oder einem der anderen o. g. Ansprüche, wobei die Verbindung eine Verbindung zwischen einem ersten physikalischen Datenelement aus der Vielzahl an physikalischen Datenelementen und einem ersten Geschäftsdatenelement aus der Vielzahl an Geschäftsdatenelementen umfasst; wobei mindestens ein Computer-Hardwareprozessor außerdem zur Durchführung folgender Schritte konfiguriert ist: Bestimmen eines Datenqualitätsmaßstabs für das erste Geschäftsdatenelement, zumindest teilweise basierend auf der Verbindung zwischen dem ersten physikalischen Datenelement und dem ersten Geschäftsdatenelement.
  14. Datenverarbeitungssystem nach Anspruch 12, wobei die Bestimmung des Datenqualitätsmaßstabs für das erste Geschäftselement Folgendes beinhaltet: Durchführen einer Analyse der Datenqualität von Daten in dem ersten physikalischen Datenelement basierend zumindest teilweise auf einer oder mehreren Datenqualitätsregeln, die den Daten in dem ersten physikalischen Datenelement zugeordnet sind.
  15. Datenverarbeitungssystem nach Anspruch 12, wobei der Datenqualitätsmaßstab für das erste Geschäftselement einen Maßstab für eine oder mehrere der folgenden Eigenschaften umfasst: Genauigkeit, Vollständigkeit und Gültigkeit.
  16. Ein Verfahren umfassend die Verwendung mindestens eines Computer-Hardwareprozessor zur Ausführung der folgenden Schritte: Erhalten einer ersten Data-Lineage, die Beziehungen zwischen einer Vielzahl an physikalischen Datenelementen darstellt, wobei die erste Data-Lineage zumindest teilweise durch Durchführung eines der folgenden Schritte erzeugt wird: (a) Analysieren des Quellcodes von mindestens einem Computerprogramm, das für den Zugriff auf mindestens einige aus einer Vielzahl von physikalischen Datenelementen konfiguriert ist; und (b) Analysieren von Informationen, die während der Laufzeit des mindestens einen Computerprogramms erhalten wurden; Erhalten einer zweiten Data-Lineage, zumindest teilweise basierend auf Benutzereingaben, die Beziehungen zwischen einer Vielzahl an Geschäftsdatenelementen darstellt; Erhalten einer Verbindung zwischen mindestens einigen aus einer Vielzahl von physikalischen Datenelementen der ersten Data-Lineage und mindestens einigen aus einer Vielzahl von Geschäftsdatenelemente; und Erzeugen, basierend auf der Verbindung zwischen der Vielzahl an physikalischen Datenelementen und der Vielzahl an Geschäftsdatenelementen, eines Hinweises auf Übereinstimmung oder Diskrepanz zwischen der ersten Data-Lineage und der zweiten Data-Lineage.
  17. Mindestens ein dauerhaftes, computerlesbares Speichermedium, das von einem Prozessor ausführbare Befehle speichert, welche, wenn sie von dem mindestens einen Computer-Hardwareprozessor ausgeführt werden, den mindestens einen Computer-Hardwareprozessor zur Durchführung folgender Schritte veranlasst: Erhalten einer ersten Data-Lineage, die Beziehungen zwischen einer Vielzahl an physikalischen Datenelementen darstellt, wobei die erste Data-Lineage zumindest teilweise durch Durchführung eines der folgenden Schritte erzeugt wird: (a) Analysieren des Quellcodes von mindestens einem Computerprogramm, das für den Zugriff auf mindestens einige aus einer Vielzahl von physikalischen Datenelementen konfiguriert ist; und (b) Analysieren von Informationen, die während der Laufzeit des mindestens einen Computerprogramms erhalten wurden; Erhalten einer zweiten Data-Lineage, zumindest teilweise basierend auf Benutzereingaben, die Beziehungen zwischen einer Vielzahl an Geschäftsdatenelementen darstellt; Erhalten einer Verbindung zwischen mindestens einigen aus einer Vielzahl von physikalischen Datenelementen der ersten Data-Lineage und mindestens einigen aus einer Vielzahl von Geschäftsdatenelemente; und Erzeugen, basierend auf der Verbindung zwischen der Vielzahl an physikalischen Datenelementen und der Vielzahl an Geschäftsdatenelementen, eines Hinweises auf Übereinstimmung oder Diskrepanz zwischen der ersten Data-Lineage und der zweiten Data-Lineage.
  18. Mindestens ein dauerhaftes, computerlesbares Speichermedium, das von einem Prozessor ausführbare Befehle zur Ausführung durch mindestens einen Computer-Hardwareprozessor speichert, wobei die von einem Prozessor ausführbaren Befehle Folgendes umfassen: Mittel zum Erhalten einer ersten Data-Lineage, die Beziehungen zwischen einer Vielzahl an physikalischen Datenelementen darstellt, wobei die erste Data-Lineage zumindest teilweise durch Durchführung eines der folgenden Schritte erzeugt wird: (a) Analysieren des Quellcodes von mindestens einem Computerprogramm, das für den Zugriff auf mindestens einige aus einer Vielzahl von physikalischen Datenelementen konfiguriert ist; und (b) Analysieren von Informationen, die während der Laufzeit des mindestens einen Computerprogramms erhalten wurden; Mittel zum Erhalten einer zweiten Data-Lineage, zumindest teilweise basierend auf Benutzereingaben, die Beziehungen zwischen einer Vielzahl an Geschäftsdatenelementen darstellt; Mittel zum Erhalten einer Verbindung zwischen mindestens einigen aus einer Vielzahl von physikalischen Datenelementen der ersten Data-Lineage und mindestens einigen aus einer Vielzahl von Geschäftsdatenelemente; und Mittel zum Erzeugen, basierend auf der Verbindung zwischen der Vielzahl an physikalischen Datenelementen und der Vielzahl an Geschäftsdatenelementen, eines Hinweises auf Übereinstimmung oder Diskrepanz zwischen der ersten Data-Lineage und der zweiten Data-Lineage.
  19. Ein Datenverarbeitungssystem zur Bestimmung eines Datenqualitätsmaßstabs für ein oder mehrere Geschäftsdatenelemente, wobei dieses System Folgendes umfasst: mindestens einem Computer-Hardwareprozessor; und mindestens ein dauerhaftes, computerlesbares Speichermedium, das von einem Prozessor ausführbare Befehle speichert, welche, wenn sie von dem mindestens einen Computer-Hardwareprozessor ausgeführt werden, den mindestens einen Computer-Hardwareprozessor zur Durchführung folgender Schritte veranlasst: Erhalten einer ersten Data-Lineage, die Beziehungen zwischen einer Vielzahl an physikalischen Datenelementen darstellt, wobei die erste Data-Lineage zumindest teilweise durch Durchführung eines der folgenden Schritte erzeugt wird: Analysieren des Quellcodes von mindestens einem Computerprogramm, das für den Zugriff auf mindestens einige aus einer Vielzahl von physikalischen Datenelementen konfiguriert ist, und Analysieren von Informationen, die während der Laufzeit des mindestens einen Computerprogramms erhalten wurden; Erhalten einer zweiten Data-Lineage, zumindest teilweise basierend auf Benutzereingaben, die Beziehungen zwischen einer Vielzahl an Geschäftsdatenelementen darstellt; Erhalten einer Verbindung zwischen mindestens einigen aus einer Vielzahl von physikalischen Datenelementen der ersten Data-Lineage und mindestens einigen aus einer Vielzahl von Geschäftsdatenelemente, wobei die Verbindung eine Verbindung zwischen einem ersten physikalischen Datenelement der Vielzahl an physikalischen Datenelementen und einem ersten Geschäftsdatenelement der Vielzahl an Geschäftsdatenelementen einschließt; und Bestimmen eines Datenqualitätsmaßstabs für das erste Geschäftsdatenelement, zumindest teilweise basierend auf mindestens einem mit dem ersten physikalischen Datenelement verbundenen Datenqualitätsmaßstab und der Verbindung zwischen dem ersten physikalischen Datenelement und dem ersten Geschäftsdatenelement.
  20. Datenverarbeitungssystem nach Anspruch 18, wobei die Bestimmung des Datenqualitätsmaßstabes für das erste Geschäftselement Folgendes beinhaltet: Durchführen einer Analyse der Datenqualität von Daten in dem ersten physikalischen Datenelement zumindest teilweise basierend auf einer oder mehreren Datenqualitätsregeln, die den Daten in dem ersten physikalischen Datenelement zugeordnet sind, um den mindestens einen Datenqualitätsmaßstab, der dem ersten physikalischen Datenelement zugeordnet ist, zu erhalten.
  21. Datenverarbeitungssystem nach Anspruch 18, wobei der Datenqualitätsmaßstab für das erste Geschäftselement einen Maßstab für eine oder mehrere der folgenden Eigenschaften umfasst: Genauigkeit, Vollständigkeit und Gültigkeit.
  22. Datenverarbeitungssystem nach Anspruch 18 oder einem der anderen o. g. Ansprüche, wobei das Erhalten der ersten Data-Lineage das Erhalten der ersten Data-Lineage nach ihrer Erzeugung umfasst.
  23. Datenverarbeitungssystem nach Anspruch 18 oder einem der anderen o. g. Ansprüche, wobei das Erhalten der ersten Data-Lineage das Erzeugen der ersten Data-Lineage umfasst.
  24. Datenverarbeitungssystem nach Anspruch 22 oder einem der anderen o. g. Ansprüche, wobei das Erzeugen der ersten Data-Lineage das Analysieren des Quellcodes des mindestens einen Computerprogramms umfasst.
  25. Datenverarbeitungssystem nach Anspruch 22 oder einem der anderen o. g. Ansprüche, wobei das Erzeugen der ersten Data-Lineage das Analysieren der während der Laufzeit des mindestens einen Computerprogramms erhaltenen Informationen umfasst.
  26. Datenverarbeitungssystem nach Anspruch 18 oder einem der anderen o. g. Ansprüche, wobei das mindestens eine Computerprogramm ein Computerprogramm umfasst, das als Datenflussdiagramm implementiert ist.
  27. Datenverarbeitungssystem nach Anspruch 18 oder einem der anderen o. g. Ansprüche, wobei das Erhalten der Verbindung zwischen den mindestens einigen aus einer Vielzahl von physikalischen Datenelementen der ersten Data-Lineage und den mindestens einigen aus einer Vielzahl von Geschäftsdatenelementen der zweiten Data-Lineage das Erzeugen der Verbindung zwischen dem ersten physikalischen Datenelement und dem ersten Geschäftsdatenelement umfasst und basierend auf einer Benutzereingabe erfolgt, welche das erste physikalische Datenelement und das erste Geschäftsdatenelement verbindet.
  28. Datenverarbeitungssystem nach Anspruch 18 oder einem der anderen o. g. Ansprüche, welches außerdem Folgendes umfasst: Bestimmen, basierend auf der Verbindung zwischen der Vielzahl an physikalischen Datenelementen und der Vielzahl an Geschäftsdatenelementen, ob es eine Diskrepanz zwischen der ersten Data-Lineage und der zweiten Data-Lineage gibt.
  29. Datenverarbeitungssystem nach Anspruch 18 oder einem der anderen o. g. Ansprüche, wobei Schritte zum Erhalten der ersten Data-Lineage und zum Bestimmen des Qualitätsmaßes nach einem festgelegten Zeitplan wiederholt ausgeführt werden.
  30. Ein Verfahren umfassend: die Verwendung mindestens eines Computer-Hardwareprozessor zur Ausführung der folgenden Schritte: Erhalten einer ersten Data-Lineage, die Beziehungen zwischen einer Vielzahl an physikalischen Datenelementen darstellt, wobei die erste Data-Lineage zumindest teilweise durch Durchführung eines der folgenden Schritte erzeugt wird: Analysieren des Quellcodes von mindestens einem Computerprogramm, das für den Zugriff auf mindestens einige aus einer Vielzahl von physikalischen Datenelementen konfiguriert ist, und Analysieren von Informationen, die während der Laufzeit des mindestens einen Computerprogramms erhalten wurden; Erhalten einer zweiten Data-Lineage, zumindest teilweise basierend auf Benutzereingaben, die Beziehungen zwischen einer Vielzahl an Geschäftsdatenelementen darstellt; Erhalten einer Verbindung zwischen mindestens einigen aus einer Vielzahl von physikalischen Datenelementen der ersten Data-Lineage und mindestens einigen aus einer Vielzahl von Geschäftsdatenelemente, wobei die Verbindung eine Verbindung zwischen einem ersten physikalischen Datenelement der Vielzahl an physikalischen Datenelementen und einem ersten Geschäftsdatenelement der Vielzahl an Geschäftsdatenelementen einschließt; und Bestimmen eines Datenqualitätsmaßstabs für das erste Geschäftsdatenelement, zumindest teilweise basierend auf mindestens einem mit dem ersten physikalischen Datenelement verbundenen Datenqualitätsmaß und der Verbindung zwischen dem ersten physikalischen Datenelement und dem ersten Geschäftsdatenelement.
  31. Mindestens ein dauerhaftes, computerlesbares Speichermedium, das von einem Prozessor ausführbare Befehle speichert, welche, wenn sie von dem mindestens einen Computer-Hardwareprozessor ausgeführt werden, den mindestens einen Computer-Hardwareprozessor zur Durchführung folgender Schritte veranlasst: Erhalten einer ersten Data-Lineage, die Beziehungen zwischen einer Vielzahl an physikalischen Datenelementen darstellt, wobei die erste Data-Lineage zumindest teilweise durch Durchführung eines der folgenden Schritte erzeugt wird: Analysieren des Quellcodes von mindestens einem Computerprogramm, das für den Zugriff auf mindestens einige aus einer Vielzahl von physikalischen Datenelementen konfiguriert ist, und Analysieren von Informationen, die während der Laufzeit des mindestens einen Computerprogramms erhalten wurden; Erhalten einer zweiten Data-Lineage, zumindest teilweise basierend auf Benutzereingaben, die Beziehungen zwischen einer Vielzahl an Geschäftsdatenelementen darstellt; Erhalten einer Verbindung zwischen mindestens einigen aus einer Vielzahl von physikalischen Datenelementen der ersten Data-Lineage und mindestens einigen aus einer Vielzahl von Geschäftsdatenelemente, wobei die Verbindung eine Verbindung zwischen einem ersten physikalischen Datenelement der Vielzahl an physikalischen Datenelementen und einem ersten Geschäftsdatenelement der Vielzahl an Geschäftsdatenelementen einschließt; und Bestimmen eines Datenqualitätsmaßstabs für das erste Geschäftsdatenelement, zumindest teilweise basierend auf mindestens einem mit dem ersten physikalischen Datenelement verbundenen Datenqualitätsmaß und der Verbindung zwischen dem ersten physikalischen Datenelement und dem ersten Geschäftsdatenelement.
  32. Mindestens ein dauerhaftes, computerlesbares Speichermedium, das von einem Prozessor ausführbare Befehle zur Ausführung durch mindestens einen Computer-Hardwareprozessor speichert, wobei die von einem Prozessor ausführbaren Befehle Folgendes umfassen: Mittel zum Erhalten einer ersten Data-Lineage, die Beziehungen zwischen einer Vielzahl an physikalischen Datenelementen darstellt, wobei die erste Data-Lineage zumindest teilweise durch Durchführung eines der folgenden Schritte erzeugt wird: Analysieren des Quellcodes von mindestens einem Computerprogramm, das für den Zugriff auf mindestens einige aus einer Vielzahl von physikalischen Datenelementen konfiguriert ist, und Analysieren von Informationen, die während der Laufzeit des mindestens einen Computerprogramms erhalten wurden; Mittel zum Erhalten einer zweiten Data-Lineage, zumindest teilweise basierend auf Benutzereingaben, die Beziehungen zwischen einer Vielzahl an Geschäftsdatenelementen darstellt; Mittel zum Erhalten einer Verbindung zwischen mindestens einigen aus einer Vielzahl von physikalischen Datenelementen der ersten Data-Lineage und mindestens einigen aus einer Vielzahl von Geschäftsdatenelemente, wobei die Verbindung eine Verbindung zwischen einem ersten physikalischen Datenelement der Vielzahl an physikalischen Datenelementen und einem ersten Geschäftsdatenelement der Vielzahl an Geschäftsdatenelementen einschließt; und Mittel zum Bestimmen eines Datenqualitätsmaßstabs für das erste Geschäftsdatenelement, zumindest teilweise basierend auf mindestens einem mit dem ersten physikalischen Datenelement verbundenen Datenqualitätsmaßstab und der Verbindung zwischen dem ersten physikalischen Datenelement und dem ersten Geschäftsdatenelement.
DE112017005638.1T 2016-11-09 2017-11-09 Systeme und Verfahren zur Bestimmung der Beziehung zwischen Datenelementen Pending DE112017005638T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662419826P 2016-11-09 2016-11-09
US62/419,826 2016-11-09
PCT/US2017/060860 WO2018089633A1 (en) 2016-11-09 2017-11-09 Systems and methods for determining relationships among data elements

Publications (1)

Publication Number Publication Date
DE112017005638T5 true DE112017005638T5 (de) 2019-07-25

Family

ID=60473651

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017005638.1T Pending DE112017005638T5 (de) 2016-11-09 2017-11-09 Systeme und Verfahren zur Bestimmung der Beziehung zwischen Datenelementen

Country Status (9)

Country Link
US (3) US10489384B2 (de)
EP (2) EP3913502A1 (de)
JP (2) JP7132918B2 (de)
KR (1) KR102432104B1 (de)
CN (1) CN110140118B (de)
AU (2) AU2017359472B2 (de)
CA (1) CA3043586A1 (de)
DE (1) DE112017005638T5 (de)
WO (1) WO2018089633A1 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110140118B (zh) 2016-11-09 2024-02-02 起元技术有限责任公司 用于确定数据元素之间的关系的***和方法
US10331660B1 (en) * 2017-12-22 2019-06-25 Capital One Services, Llc Generating a data lineage record to facilitate source system and destination system mapping
US11296863B2 (en) * 2018-01-04 2022-04-05 Bank Of America Corporation Blockchain enterprise data management
KR101976167B1 (ko) * 2018-10-08 2019-05-08 지티원 주식회사 프로그램 소스 및 db 스키마의 누락 연관 관계 검증 방법 및 그 장치
CN110008201A (zh) * 2019-04-09 2019-07-12 浩鲸云计算科技股份有限公司 一种面向大数据的数据质量稽核监控方法
CN110825725B (zh) * 2019-10-12 2022-08-19 国网安徽省电力有限公司 基于双螺旋管理的数据质量校验方法及***
CN112749158A (zh) * 2019-10-30 2021-05-04 北京国双科技有限公司 能源***数据处理方法和装置
US11349957B2 (en) 2020-05-14 2022-05-31 Bank Of America Corporation Automatic knowledge management for data lineage tracking
US11366735B2 (en) 2020-08-20 2022-06-21 Bank Of America Corporation Dynamic data storage management
US11520801B2 (en) 2020-11-10 2022-12-06 Bank Of America Corporation System and method for automatically obtaining data lineage in real time
WO2022137526A1 (ja) * 2020-12-25 2022-06-30 富士通株式会社 情報処理プログラム、情報処理方法および情報処理装置
AU2022214314A1 (en) 2021-01-31 2023-06-29 Ab Initio Technology Llc Systems and methods for accessing data entities managed by a data processing system
JP2024504564A (ja) * 2021-01-31 2024-02-01 アビニシオ テクノロジー エルエルシー データエンティティ及び継承を使用してデータ処理システムでデータを管理するための技法
EP4298542A1 (de) 2021-02-24 2024-01-03 Ab Initio Technology LLC Systeme und verfahren zur verwaltung von privilegien in einem datenverarbeitungssystem
KR102415001B1 (ko) * 2021-05-13 2022-07-01 지티원 주식회사 데이터 리니지 관리 방법 및 그 시스템
CN113553205B (zh) * 2021-09-17 2021-12-07 统信软件技术有限公司 一种用于QT和Web端通信协议的执行方法和执行器
CN115994194B (zh) * 2023-03-23 2023-06-02 河北东软软件有限公司 政务大数据的数据质量检查方法、***、设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966072A (en) 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
US20070011668A1 (en) 2005-06-27 2007-01-11 Wholey J S Managing parameters for graph-based computations
US20100138431A1 (en) 2008-12-02 2010-06-03 Ab Initio Software Llc Visualizing relationships between data elements and graphical representations of data element attributes
US20140108357A1 (en) 2012-10-17 2014-04-17 Ab Initio Technology Llc Specifying and applying rules to data
US20160019286A1 (en) 2014-07-18 2016-01-21 Ab lnitio Technology LLC Managing lineage information
US20160028580A1 (en) 2014-07-24 2016-01-28 Ab Initio Technology Llc Data lineage summarization
US20160232230A1 (en) 2015-02-11 2016-08-11 Ab Initio Technology Llc Filtering data lineage diagrams

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7725433B1 (en) * 1998-01-26 2010-05-25 International Business Machines Corporation Data navigation system and method employing data transformation lineage model
US6434558B1 (en) * 1998-12-16 2002-08-13 Microsoft Corporation Data lineage data type
US6343295B1 (en) * 1998-12-16 2002-01-29 Microsoft Corporation Data lineage
US7117219B1 (en) * 2000-05-05 2006-10-03 Group 1 Software, Inc. Method and apparatus for creating a lineage of a data field in a data flow system
EP1317715A1 (de) * 2000-08-04 2003-06-11 Infoglide Corporation System und verfahren zum vergleichen heterogener datenquellen
US20060064666A1 (en) * 2001-05-25 2006-03-23 Amaru Ruth M Business rules for configurable metamodels and enterprise impact analysis
US7493570B2 (en) * 2005-09-12 2009-02-17 International Business Machines Corporation User interface options of a data lineage tool
US9063988B2 (en) * 2009-03-23 2015-06-23 The Boeing Company Database methods and apparatus
US8819010B2 (en) * 2010-06-28 2014-08-26 International Business Machines Corporation Efficient representation of data lineage information
US9244956B2 (en) * 2011-06-14 2016-01-26 Microsoft Technology Licensing, Llc Recommending data enrichments
US8706684B2 (en) * 2011-11-30 2014-04-22 Tata Consultancy Services Limited System and method for managing enterprise data
US9659042B2 (en) * 2012-06-12 2017-05-23 Accenture Global Services Limited Data lineage tracking
US10089335B2 (en) * 2012-07-10 2018-10-02 Microsoft Technology Licensing, Llc Data lineage across multiple marketplaces
US9063998B2 (en) * 2012-10-18 2015-06-23 Oracle International Corporation Associated information propagation system
SG11201506510WA (en) * 2013-03-15 2015-09-29 Ab Initio Technology Llc System for metadata management
US20150012477A1 (en) * 2013-07-02 2015-01-08 Bank Of America Corporation Data lineage notification tools
US9811573B1 (en) * 2013-09-27 2017-11-07 EMC IP Holding Company LLC Lineage information management in data analytics
US10877955B2 (en) 2014-04-29 2020-12-29 Microsoft Technology Licensing, Llc Using lineage to infer data quality issues
US10025878B1 (en) * 2014-11-11 2018-07-17 Google Llc Data lineage analysis
EP3051475A1 (de) * 2015-01-27 2016-08-03 Tata Consultancy Services Limited Datenanalysesystem und verfahren zur ermöglichung einer integrierten ansicht von kundeninformationen
US20170124154A1 (en) * 2015-11-02 2017-05-04 International Business Machines Corporation Establishing governance rules over data assets
US10037329B2 (en) * 2015-11-18 2018-07-31 American Express Travel Related Services Company, Inc. System and method for automatically capturing and recording lineage data for big data records
US10120923B2 (en) * 2015-11-30 2018-11-06 Bank Of America Corporation Data discovery and analysis tool
US11086751B2 (en) * 2016-03-16 2021-08-10 Asg Technologies Group, Inc. Intelligent metadata management and data lineage tracing
US10452625B2 (en) * 2016-06-30 2019-10-22 Global Ids, Inc. Data lineage analysis
JP7002459B2 (ja) * 2016-08-22 2022-01-20 オラクル・インターナショナル・コーポレイション 統計プロファイリングおよびリファレンススキーママッチングによるオントロジー帰納のためのシステムおよび方法
CN110140118B (zh) 2016-11-09 2024-02-02 起元技术有限责任公司 用于确定数据元素之间的关系的***和方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966072A (en) 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
US20070011668A1 (en) 2005-06-27 2007-01-11 Wholey J S Managing parameters for graph-based computations
US20100138431A1 (en) 2008-12-02 2010-06-03 Ab Initio Software Llc Visualizing relationships between data elements and graphical representations of data element attributes
US20140108357A1 (en) 2012-10-17 2014-04-17 Ab Initio Technology Llc Specifying and applying rules to data
US20160019286A1 (en) 2014-07-18 2016-01-21 Ab lnitio Technology LLC Managing lineage information
US20160028580A1 (en) 2014-07-24 2016-01-28 Ab Initio Technology Llc Data lineage summarization
US20160232230A1 (en) 2015-02-11 2016-08-11 Ab Initio Technology Llc Filtering data lineage diagrams

Also Published As

Publication number Publication date
US11226957B2 (en) 2022-01-18
JP7132918B2 (ja) 2022-09-07
US10489384B2 (en) 2019-11-26
US20200050598A1 (en) 2020-02-13
EP3539022B1 (de) 2021-09-29
KR20190076047A (ko) 2019-07-01
AU2022202530A1 (en) 2022-05-12
CA3043586A1 (en) 2018-05-17
JP2020500369A (ja) 2020-01-09
AU2022202530B2 (en) 2023-05-11
EP3539022A1 (de) 2019-09-18
AU2017359472B2 (en) 2022-05-26
WO2018089633A1 (en) 2018-05-17
CN110140118B (zh) 2024-02-02
US20180129699A1 (en) 2018-05-10
JP7469406B2 (ja) 2024-04-16
US20220374413A1 (en) 2022-11-24
JP2022171690A (ja) 2022-11-11
KR102432104B1 (ko) 2022-08-11
EP3913502A1 (de) 2021-11-24
AU2017359472A1 (en) 2019-06-06
CN110140118A (zh) 2019-08-16

Similar Documents

Publication Publication Date Title
DE112017005638T5 (de) Systeme und Verfahren zur Bestimmung der Beziehung zwischen Datenelementen
DE112016003626T5 (de) Natürlichsprachliche Schnittstelle zu Datenbanken
DE112020003820T5 (de) Erkennung von Anomalien und Abweichungen unter Verwendung eines domänenindizierten Einschränkungs-Repository
DE202016005239U1 (de) Graph-basierte Abfragen
DE112016005443T5 (de) System und Verfahren zur automatischen Validierung
DE112019004260T5 (de) Analyse und korrektur der lieferketten-gestaltung durch maschinelles lernen
DE102009040570A1 (de) Verfahren und System zum Erzeugen eines dynamischen Hilfe-Dokuments
DE112013000916T5 (de) System zum Anzeigen und Bearbeiten von Artefakten an einem zeitbezogenen Referenzpunkt
DE112017006106T5 (de) Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten
DE112012005177T5 (de) Erzeugens eines Verarbeitungsmodells für natürliche Sprache für einen Informationsbereich
DE202012013462U1 (de) Datenverarbeitung in einem Mapreduce-Framework
DE102018005611A1 (de) Automatische Paarbildung von Fonts unter Verwendung des asymmetrischen Metriklernens
DE112013005993T5 (de) Verfahren, Vorrichtung und computerlesbares Medium für eine optimale Bestimmung von Daten-Teilmengen
DE112010000947T5 (de) Verfahren zur völlig modifizierbaren Framework-Datenverteilung im Data-Warehouse unter Berücksichtigung der vorläufigen etymologischen Separation der genannten Daten
DE102013200355A1 (de) Zusammenfügen von Dokumenten aud der Grundlage der Kenntnis eines Dokumentenschemas
DE112018005725T5 (de) Daten-deidentifikation auf der grundlage eines erkennens von zulässigen konfigurationen für daten-deidentifikationsprozesse
DE112019005881T5 (de) Kryptografische überprüfung von datenbanktransaktionen
DE112018002626T5 (de) Verfahren und Systeme zur optimierten visuellen Zusammenfassung von Sequenzen mit zeitbezogenen Ereignisdaten
DE112021001743T5 (de) Vektoreinbettungsmodelle für relationale tabellen mit null- oder äquivalenten werten
CH712988A1 (de) Verfahren zum Durchsuchen von Daten zur Verhinderung von Datenverlust.
DE112022003063T5 (de) Data-governance-systeme und -verfahren
EP2601594A1 (de) Verfahren und vorrichtung zur automatischen verarbeitung von daten in einem zellen-format
DE112022000886T5 (de) Datenverarbeitungssystem mit manipulation logischer datensatzgruppen
DE102020201383A1 (de) Unterstützungssystem, Speichermedium und Verfahren zur Darstellung von Beziehungen von Elementen
DE60315030T2 (de) Vermeiden von datenverlusten beim aktualisieren eines data warehouse

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06F0016100000