DE112017006106T5 - Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten - Google Patents

Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten Download PDF

Info

Publication number
DE112017006106T5
DE112017006106T5 DE112017006106.7T DE112017006106T DE112017006106T5 DE 112017006106 T5 DE112017006106 T5 DE 112017006106T5 DE 112017006106 T DE112017006106 T DE 112017006106T DE 112017006106 T5 DE112017006106 T5 DE 112017006106T5
Authority
DE
Germany
Prior art keywords
metadata
data
data structure
node
instance
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
DE112017006106.7T
Other languages
English (en)
Inventor
David Clemens
Dusan Radivojevic
Neil Galarneau
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 DE112017006106T5 publication Critical patent/DE112017006106T5/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/24Querying
    • G06F16/245Query processing
    • 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/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/83Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes

Abstract

Unter anderem beschreiben wir ein Verfahren zum Empfangen eines Teils von Metadaten von einer Datenquelle, wobei der Teil der Metadaten Knoten und Kanten beschreibt; Generieren von Instanzen einer Datenstruktur, die den Teil von Metadaten repräsentiert, wobei wenigstens eine Instanz der Datenstruktur einen Identifikationswert, der einen entsprechenden Knoten identifiziert, einen oder mehrere Eigenschaftswerte, die jeweilige Eigenschaften des entsprechenden Knotens repräsentieren, und einen oder mehrere Zeiger auf jeweilige Identifikationswerte, wobei jeder Zeiger eine Kante repräsentiert, die einem Knoten zugeordnet ist, der durch den entsprechenden jeweiligen Identifikationswert identifiziert ist, einschließt; Speichern der Instanzen der Datenstruktur in Direktzugriffsspeicher; Empfangen einer Abfrage, die eine Identifizierung von wenigstens einem bestimmten Datenelement einschließt; und Verwenden wenigstens einer Instanz der Datenstruktur, um eine Anzeige eines Computersystems zu veranlassen, eine Repräsentation der Abstammung des bestimmten Datenelements anzuzeigen.

Description

  • TECHNISCHES GEBIET
  • Diese Anmeldung bezieht sich auf Datenstrukturen und Verfahren zum Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten, z. B. Abstammung eines in einem Datenspeichersystem gespeicherten Datenelements.
  • HINTERGRUND
  • Unternehmen verwenden Datenverarbeitungssysteme, wie z. B. Data-Warehousing, Customer-Relationship-Management und Data-Mining, um Daten zu verwalten. In vielen Datenverarbeitungssystemen werden Daten aus vielen verschiedenen Datenquellen, wie z. B. Datenbankdateien, Betriebssystemen, flachen Dateien, dem Internet und anderen Quellen, in ein zentrales Repository gezogen. Daten werden häufig transformiert, bevor sie in das Datensystem geladen werden. Transformation kann Bereinigung, Integration und Extraktion einschließen. Um den Überblick über Daten, ihre Quellen und die mit den in einem Datensystem gespeicherten Daten erfolgten Transformationen zu behalten, können Metadaten verwendet werden. Metadaten (manchmal auch „Daten zu Daten“ genannt) sind Daten, die unter anderem Attribute, das Format, die Ursprünge, Historien und Zusammenhänge anderer Daten beschreiben. Metadatenmanagement kann eine zentrale Rolle in komplexen Datenverarbeitungssystemen spielen.
  • In manchen Fällen kann ein Benutzer ermitteln wollen, wie bestimmte Daten aus verschiedenen Datenquellen abgeleitet sind. Ein Benutzer kann zum Beispiel wissen wollen, wie ein Datensatz oder Datenobjekt erzeugt wurde, oder aus welcher Quelle ein Datensatz oder Datenobjekt importiert wurde. Die Rückverfolgung eines Datensatzes auf Quellen, von denen er abgeleitet ist, wird als Datenabstammungsverfolgung (oder „Upstream-Datenabstammungsverfolgung“) bezeichnet. In manchen Fällen kann ein Benutzer ermitteln wollen, wie bestimmte Datensätze verwendet worden sind („Downstream-Datenabstammungsverfolgung“ oder „Auswirkungsanalyse“ genannt), zum Beispiel mit welcher Anwendung ein gegebener Datensatz gelesen worden ist. Ein Benutzer kann auch wissen wollen, welcher Zusammenhang zwischen einem Datensatz und anderen Datensätzen besteht. Ein Benutzer kann zum Beispiel wissen wollen, welche Tabellen betroffen sind, wenn ein Datensatz modifiziert wird.
  • Mittels Abstammung, bei der es sich um eine Art von Metadaten handelt, kann ein Benutzer Antworten auf Fragen zur Datenherkunft erhalten (z. B. „Woher kam ein gegebener Wert?“, „Wie wurde der Ausgabewert berechnet?“ oder „Welche Anwendungen erzeugen diese Daten und hängen von ihnen ab?“). Ein Benutzer kann die Folgen von Änderungsvorschlägen verstehen (z. B. „Wenn sich dieser Teil ändert, was wird sonst noch betroffen sein?“ „Wenn sich dieses Quellformat ändert, welche Anwendungen werden betroffen sein?“). Ein Benutzer kann auch Fragen zu Antworten erhalten, die sowohl technische Metadaten als auch geschäftliche Metadaten betreffen (z. B. „Welche Gruppen sind für Erstellen und Verwenden dieser Daten verantwortlich?“ „Wer hat diese Anwendung zuletzt geändert?“ „Welche Änderungen haben sie vorgenommen?“).
  • Die Antworten auf diese Fragen können bei der Analyse und Fehlerbehebung komplexer Datenverarbeitungssysteme nützlich sein. Wenn ein Datenelement zum Beispiel einen unerwarteten Wert aufweist, kann eine beliebige Anzahl vorheriger Eingaben oder Datenverarbeitungsschritte für diesen unerwarteten Wert verantwortlich sein. Dementsprechend wird Abstammung einem Benutzer manchmal in Form eines Diagramms präsentiert, das ein visuelles Element, das ein Datenelement von Interesse repräsentiert, sowie visuelle Elemente, die andere Datenelemente repräsentieren, die das Datenelement von Interesse beeinflussen oder von diesem beeinflusst werden, einschließt. Ein Benutzer kann dieses Diagramm betrachten und andere Datenelemente und/oder Transformationen, die das Datenelement von Interesse beeinflussen, visuell identifizieren. Anhand dieser Informationen kann der Benutzer zum Beispiel erkennen, ob beliebige der Datenelemente und/oder Transformationen eine Quelle unerwarteter Werte sein können, und, wenn Probleme festgestellt werden, beliebige der zugrunde liegenden Datenverarbeitungsschritte korrigieren (oder für Korrektur kennzeichnen). Als weiteres Beispiel kann der Benutzer anhand dieser Informationen beliebige Datenelemente oder Transformationen, die für einen Teil des Systems wesentlich sein können (z. B. derart, dass das Datenelement von Interesse durch deren Entfernung aus dem System beeinflusst werden würde), und/oder Datenelemente oder Transformationen, die für einen Teil des Systems nicht wesentlich sein können (z. B. derart, dass das Datenelement von Interesse durch deren Entfernung aus dem System nicht beeinflusst werden würde), identifizieren.
  • KURZFASSUNG
  • Unter anderem beschreiben wir ein Verfahren, das von einer Datenverarbeitungsvorrichtung durchgeführt wird, das Verfahren einschließend Empfangen eines Teils von Metadaten von einer Datenquelle, wobei der Teil von Metadaten Knoten und Kanten beschreibt, wobei wenigstens einige der Kanten jeweils eine Wirkung eines Knotens auf einen anderen Knoten repräsentieren, und jede Kante eine einzige Richtung aufweist; Generieren von Instanzen einer Datenstruktur, die den Teil von Metadaten repräsentiert, wobei wenigstens eine Instanz der Datenstruktur einen Identifikationswert, der einen entsprechenden Knoten identifiziert, einen oder mehrere Eigenschaftswerte, die jeweilige Eigenschaften des entsprechenden Knotens repräsentieren, und einen oder mehrere Zeiger auf jeweilige Identifikationswerte, wobei jeder Zeiger eine Kante repräsentiert, die einem Knoten zugeordnet ist, der durch den entsprechenden jeweiligen Identifikationswert identifiziert ist, einschließt; Speichern der Instanzen der Datenstruktur in Direktzugriffsspeicher; Empfangen einer Abfrage, die eine Identifizierung von wenigstens einem bestimmten Datenelement einschließt; und Verwenden wenigstens einer Instanz der Datenstruktur, um eine Anzeige eines Computersystems zu veranlassen, eine Repräsentation der Abstammung des bestimmten Datenelements anzuzeigen.
  • Diese Techniken können auf vielfältige Weise implementiert werden, einschließlich als ein Verfahren, System und/oder Computerprogrammprodukt, gespeichert auf einem computerlesbaren Speichergerät.
  • Aspekte dieser Techniken können einen oder mehrere der folgenden Vorteile einschließen. Abstammungsmetadaten können unter Verwendung einer speziellen Datenstruktur gespeichert werden, die auf Geschwindigkeit und Effizienz beim Beantworten von Abfragen nach Abstammungsmetadaten ausgelegt ist. Abstammungsmetadaten können im Speicher gespeichert werden, sodass ein Computersystem, das die Abstammungsmetadaten speichert, schneller auf Abfragen nach Abstammungsmetadaten reagieren kann, als wenn die Abstammungsmetadaten nicht im Speicher gespeichert wären (z. B. wenn die Abstammungsmetadaten auf einer Festplatte oder einer anderen Art von Speichertechnik gespeichert und von dort aus aufgerufen würden). Unter Verwendung der hierin beschriebenen Techniken können Abstammungsdaten viel schneller abgerufen werden als mit anderen Techniken, z. B. 500-mal schneller.
  • Figurenliste
    • 1A-1D zeigen eine Metadatenverarbeitungsumgebung.
    • 2A-2E zeigen Beispiele für in einer Metadatenbetrachtungsumgebung angezeigte Informationen.
    • 3 zeigt eine beispielhafte Datenstruktur.
    • 4 zeigt einen beispielhaften Laufplan.
    • 5A zeigt ein Ablaufdiagramm, das eine Prozedur zum Speichern von Abstammungsmetadaten in einer durch eine spezielle Datenstruktur definieren Form darstellt.
    • 5B zeigt ein Ablaufdiagramm, das eine Prozedur zum Bewirken des Anzeigens von Abstammungsmetadaten darstellt.
    • 6 zeigt ein Ablaufdiagramm, das eine Prozedur zum Durchlaufen von in Form von speziellen Datenstrukturen gespeicherten Abstammungsmetadaten darstellt.
  • Ähnliche Bezugssymbole in den verschiedenen Zeichnungen kennzeichnen ähnliche Elemente.
  • BESCHREIBUNG
  • Ein System, das den Zugriff auf Metadaten verwaltet, kann eine Abfrage von einem Benutzer erhalten, der die Abstammung eines bestimmten Datenelements anfordert, und als Antwort darauf ein Diagramm liefern, das die Abstammung des Datenelements darstellt. Wenn das Datenelement zu einem Datenspeichersystem gehört, das eine relativ große Datenmenge speichert, muss das System, das den Zugriff auf die Metadaten verwaltet, möglicherweise viel Zeit aufwenden, um die Abstammung des Datenelements zu verarbeiten und das entsprechende Diagramm zu generieren. Die Verarbeitung kann jedoch beschleunigt und effizienter gestaltet werden, indem ein System eingeführt wird, das der Verarbeitung von Abstammungsmetadaten gewidmet und für diese Art der Verarbeitung optimiert ist. Dementsprechend beschreibt diese Spezifikation eine Technik, durch die ein spezialisiertes System zum Zwecke des Verarbeitens und Speicherns von Abstammungsmetadaten in einer Weise verwendet wird, die typischerweise schneller und effizienter ist, als wenn das spezialisierte System nicht verwendet würde.
  • 1A zeigt eine Metadatenverarbeitungsumgebung 100, die einen Abstammungsserver 102 einschließt, der Abstammungsmetadaten speichert und anderen Systemen in der Umgebung bereitstellt. Die Metadatenverarbeitungsumgebung 100 schließt auch einen Metadatenserver 104 ein, der typischerweise auf Anfragen nach Metadaten antwortet. Der Metadatenserver 104 hat Zugriff auf Metadaten 106, die in einer Metadatendatenbank 108 gespeichert sind. Die Metadaten 106 stammen von Datenquellen 110A-C, die Metadaten 112A-C auf fortlaufender Basis zur Metadatendatenbank 108 beitragen. Die Datenquellen 110A-C können zum Beispiel eine beliebige Kombination aus relationalen Datenbanken, flachen Dateien, Netzwerkquellen und so weiter sein.
  • Bei Gebrauch antwortet der Metadatenserver 104 auf eine Abfrage 114, die von einem Benutzerendgerät 116 empfangen wird, das von einem Benutzer 118 betrieben wird. Das Benutzerendgerät 116 könnte zum Beispiel eine Rechenvorrichtung sein, wie z. B. ein Personal Computer, Laptop-Computer, eine Tablet-Vorrichtung, ein Smartphone etc. In einigen Beispielen betreibt das Benutzerendgerät 116 eine netzwerkbasierte Benutzeranwendung, wie z. B. einen Webbrowser, zum Beispiel, wenn der Metadatenserver 104 zum Bereitstellen von Zugriff auf Daten über ein Netzwerk konfiguriert ist und einen Webserver, der sich mit dem Webbrowser verbinden kann, einschließt oder mit diesem kommuniziert. Im Allgemeinen können viele der hierin beschriebenen Interaktionen zwischen Computersystemen über das Internet oder ein ähnliches Kommunikationsnetzwerk unter Verwendung von in solchen Netzwerken üblichen Kommunikationsprotokollen erfolgen.
  • Der Metadatenserver 104 ist zum Antworten auf Abfragen für mehrere Arten von Metadaten konfiguriert. Da es sich bei einer Art von Metadaten um Abstammungsmetadaten handelt, kann der Metadatenserver 104 eine Abfrage 114 verarbeiten, die die Abstammung eines bestimmten Datenelements anfordert, z. B. eines Datenelements 120, das von einer der Datenquellen 110A-C gespeichert ist, indem er auf die in der Metadatendatenbank 108 gespeicherten Metadaten 106 zugreift, die die Abstammung des bestimmten Datenelements beschreiben. Der Metadatenserver 104 kann dann dem Benutzerendgerät 116 Abstammungsmetadaten 122 bereitstellen, z. B. Abstammungsmetadaten in Form eines Abstammungsdiagramms (nachfolgend hinsichtlich 2A-2E beschrieben).
  • In einigen Beispielen ist Verarbeiten einer auf Abstammungsmetadaten bezogenen Abfrage 114 eine Aufgabe, die relativ viel Verarbeitungszeit in Anspruch nimmt und/oder eine relativ große Menge an Verarbeitungsressourcen des Metadatenservers 104 verwendet. Um zum Beispiel die Abfrage 114 zu verarbeiten, muss der Metadatenserver 104 möglicherweise auf die in der Metadatendatenbank 108 gespeicherten Metadaten 106 zugreifen. In diesem Beispiel müsste der Metadatenserver 104 Verarbeitungsressourcen aufwenden, die Abfragen an die Metadatendatenbank 108 generieren, um auf alle erforderlichen Metadaten zuzugreifen. Ferner führt der Prozess des Übertragens einer Abfrage an die Metadatendatenbank 108 und des Wartens auf eine Antwort eine Latenzzeit ein, z. B. eine Kommunikationsnetzwerk-Latenzzeit. Zusätzlich müsste der Metadatenserver 104 in einigen Beispielen die von der Metadatendatenbank 108 erhaltenen Metadaten verarbeiten, um Metadaten zu extrahieren, die zum Erstellen eines Abstammungsdiagramms erforderlich sind. Zum Beispiel können die von der Metadatenbank 108 empfangenen Metadaten Informationen einschließen, die nicht direkt für die Abstammung eines Datenelements von Interesse bezogen sind, da die Metadatenbank 108 außer Abstammungsmetadaten eine Vielzahl von Arten von Metadaten speichert, und so wird zusätzliche Verarbeitungszeit verwendet, um die nicht auf die Abstammung bezogene Informationen zu identifizieren und zu entfernen.
  • Bei einigen Implementierungen wird der Abstammungsserver 102 verwendet, um dem Metadatenserver 104 Abstammungsmetadaten bereitzustellen, z. B. um die Leistung der Metadatenverarbeitungsumgebung 100 zu verbessern. Der Abstammungsserver 102 ist ein spezialisiertes System, das Abstammungsmetadaten 124 in einer Form speichert, auf die typischerweise schneller und effizienter zugegriffen werden kann als bei Techniken, die keinen Abstammungsserver verwenden. Insbesondere speichert der Abstammungsserver 102 Abstammungsmetadaten 124 unter Verwendung einer speziellen Datenstruktur, die auf Geschwindigkeit und Effizienz beim Antworten auf Abfragen nach Abstammungsmetadaten ausgelegt ist. Eine Datenstruktur definiert eine Anordnung von Daten dergestalt, dass alle unter Verwendung einer bestimmten Datenstruktur gespeicherten Daten auf die gleiche Weise angeordnet sind. Die Datenstrukturtechnik wird nachfolgend hinsichtlich 3 ausführlicher beschrieben.
  • Bei Gebrauch überträgt der Abstammungsserver 102 Abfragen 126 an die Metadatendatenbank 108, um Abstammungsmetadaten 128 abzurufen. Der Abstammungsserver 102 speichert idealerweise einen umfassenden Bestand an Abstammungsmetadaten, z. B. für die meisten oder alle Datenelemente 120, die von den Datenquellen 110A-C gespeichert werden. Auf diese Weise kann der Abstammungsserver 102 auf Abfragen nach Abstammung für die meisten der Datenelemente 120, für die eine Abfrage gestellt werden könnte, antworten. Wenn der Abstammungsserver 102 Abstammungsmetadaten 128 von der Metadatendatenbank 108 empfängt, aktualisiert der Abstammungsserver 102 seine Datenstrukturen, die gespeicherte Abstammungsmetadaten 124 enthalten. In einigen Beispielen sendet der Abstammungsserver 102 in regelmäßigen Abständen, z. B. jede Stunde oder jeden Tag oder in einem anderen Abstand, neue Abfragen 126 an die Metadaten-Datenbank 108, um einen relativ aktuellen Bestand von Abstammungsmetadaten zu speichern. Zum Beispiel können die Abstände geplante Abstände sein, z. B. entsprechend Zeitplandaten, die vom Abstammungsserver 102 verwaltet werden.
  • Wie in 1B näher dargestellt, empfängt der Metadatenserver 104 eine Abfrage 114 nach Abstammungsmetadaten (z. B. eine Abfrage nach Abstammungsmetadaten, die zur Anzeige eines Abstammungsdiagramms auf dem Benutzerendgerät 116 verwendet werden können), und der Metadatenserver 104 kann die Abfrage 114 dem Abstammungsserver 102 bereitstellen. Der Abstammungsserver kann dann Abstammungsmetadaten 122, die auf die Abfrage 114 ansprechen, zurückgeben. Der Metadatenserver 104 muss nicht so viel Verarbeitungszeit aufwenden und so viele Verarbeitungsressourcen verwenden, um die empfangenen Abstammungsmetadaten 122 vorzubereiten, bevor er sie dem Benutzerendgerät 116 bereitstellt, im Vergleich zu Abstammungsmetadaten, die unter Verwendung anderer Techniken abgerufen werden, wie z. B. Abrufen der Abstammungsmetadaten von der Metadatendatenbank 108.
  • 1C und 1D zeigen Elemente des Abstammungsservers 102 und des Metadatenservers 104 und die Art und Weise, wie sie interagieren. Wie vorstehend beschrieben, empfängt der Metadatenserver 104 eine Abfrage 114, die die Abstammung eines bestimmten Datenelements anfordert. Die Abfrage 114 identifiziert das bestimmte Datenelement (z. B. eines der Datenelemente 120 von 1A), für das eine Abstammung angefordert wird. Der Metadatenserver 104 verwendet die Identität des Datenelements, um einen Laufplan 130 aus einem Satz von Laufplänen 132 auszuwählen, der zum Sammeln von Abstammungsmetadaten in Bezug auf das Datenelement verwendet werden kann. Ein Laufplan 130 ist eine Datenstruktur (z. B. ein strukturiertes Dokument, das markierte Abschnitte enthält, wie z. B. ein XML-Dokument), die beschreibt, wie ein Satz von Abstammungsmetadaten auf eine bestimmte Weise durchlaufen („durchgegangen“) wird. In einigen Beispielen kann ein Laufplan basierend auf einem Datentyp des Datenelements ausgewählt werden. Zum Beispiel kann ein bestimmter Datentyp einem bestimmten der Laufpläne 132 zugeordnet werden (z. B. eine Zuordnung, die in einem Index von Zuordnungen, auf den der Metadatenserver 104 zugreifen kann, gespeichert ist). Die Laufpläne 132 werden nachfolgend hinsichtlich 4 ausführlich beschrieben.
  • Sobald ein Laufplan 130 ausgewählt wurde, überträgt der Metadatenserver 104 die Abfrage 114 und den Laufplan 130 an den Abstammungsserver 102. Als Reaktion darauf identifiziert der Abstammungsserver 102 die für die Abfrage 114 relevanten Abstammungsmetadaten unter seinen Datenstrukturen 134 von Abstammungsmetadaten. Die Datenstrukturen 134 sind eine Darstellung von Abstammungsmetadaten, die so angeordnet sind, dass der Speicherplatzbedarf für ihre Aufnahme minimiert wird, ohne irgendwelche Daten auszulassen, die zum Antworten auf eine Abfrage nach Abstammungsmetadaten erforderlich sind. Somit kann der Abstammungsserver 102 typischerweise die in seinen Datenstrukturen 134 gespeicherten Daten verwenden, um dem Metadatenserver 104 alle Abstammungsmetadaten bereitzustellen, die der Metadatenserver 104 benötigen würde, um auf eine Abfrage 114 zu antworten. Die Datenstrukturen 134 werden nachfolgend hinsichtlich 3 ausführlich beschrieben.
  • Bei einigen Implementierungen werden die Datenstrukturen 134 für schnellen Zugriff (z. B. schnelles Lesen und Schreiben von Daten) in den Speicher 135 des Abstammungsservers 102 geladen. Ein Beispiel für Speicher ist Direktzugriffsspeicher. Direktzugriffsspeicher speichert Datenelemente so, dass auf jedes Datenelement in im Wesentlichen der gleichen Zeitdauer zugegriffen werden kann wie auf jedes andere Element gleicher Größe (z. B. ein Byte oder ein Wort). Im Gegensatz dazu haben andere Arten von Datenspeicherung, wie z. B. Magnetplatten, physikalische Beschränkungen, die dazu führen, dass der Zugriff auf manche Datenelemente länger dauert als auf andere Datenelemente, abhängig vom aktuellen physikalischen Zustand der Platte (z. B. von der Position eines magnetischen Lese-/Schreibkopfs). In Direktzugriffsspeicher gespeicherte Datenelemente werden typischerweise an einer Adresse gespeichert, die für dieses Datenelement eindeutig ist, oder von einer kleinen Anzahl von Datenelementen geteilt wird. Direktzugriffsspeicher ist typischerweise flüchtig, sodass zufällig gespeicherte Daten verloren gehen, wenn der Direktzugriffsspeicher von einer aktiven Stromquelle getrennt wird (z. B. ein Computersystem Strom verliert). Im Gegensatz dazu sind Magnetplatten und einige andere Arten von Datenspeicherung nichtflüchtig und bewahren Daten ohne eine aktive Stromquelle.
  • Da der Abstammungsserver 102 die Datenstrukturen 134 im Speicher 135 speichert, kann der Abstammungsserver 102 Abstammungsmetadaten schneller lesen und schreiben als Techniken, die die Datenstrukturen nicht im Speicher 135 speichern. Insbesondere sind die Datenstrukturen 134 so angeordnet, dass die Datennutzungsmenge minimiert wird. Zum Beispiel können die Datenstrukturen 134 Daten, wie z. B. Textzeichenketten, die in den ursprünglichen vom Metadatenserver 104 erhaltenen Abstammungsmetadaten vorhanden sind, auslassen. Somit können alle Datenstrukturen 134, z. B. alle Daten, die Abstammungsmetadaten repräsentieren, im Speicher 135 gespeichert werden, während der Abstammungsserver 102 verwendet wird. Computersysteme haben typischerweise Beschränkungen hinsichtlich der Menge des Direktzugriffsspeichers, die zu einem gegebenen Zeitpunkt verwendet werden kann (z. B. aufgrund von Adressierungsbegrenzungen). Darüber hinaus ist Direktzugriffsspeicher tendenziell auf Byte-Basis teurer als andere Arten von Datenspeicherung (z. B. Magnetplatten). Wenn also Direktzugriffsspeicher verwendet wird, können die Datenstrukturen 134 eine Obergrenze für ihre kombinierte Größe auf einem bestimmten Computersystem haben. Dementsprechend minimieren die hierin beschriebenen Techniken (z. B. die nachfolgend hinsichtlich 3 beschriebenen Techniken) ihre Größe, behalten jedoch Informationen bezüglich Abstammung, die von einer Abfrage 114 angefordert werden können, bei.
  • Bei einigen Implementierungen speichert der Metadatenserver 104 auch Abstammungsmetadaten 137 (z. B. von der in 1A gezeigten Metadatendatenbank 108 erhaltene Abstammungsmetadaten). Der Metadatenserver 104 speichert jedoch nicht die meisten seiner gespeicherten Abstammungsmetadaten 137 in Direktzugriffsspeicher, z. B., weil der Metadatenserver 104 nicht die Datenstrukturen des Abstammungsservers 102 verwendet. Selbst wenn der Metadatenserver 104 auch einige Abstammungsmetadaten 137 speichert, kann der Metadatenserver 104 auf die Abstammungsmetadaten 124 des Abstammungsservers 102 zugreifen, um beliebige Metadaten zu erhalten, die nicht lokal auf dem Metadatenserver 104 gespeichert sind. Wenn der Abstammungsserver 102 nicht verwendet würde, würde ein Metadatenserver 104, der einige Abstammungsmetadaten 137 speichert, typischerweise auf in der Metadatendatenbank 108 (1A) gespeicherte Abstammungsmetadaten zugreifen, was, wie oben beschrieben, im Vergleich zur Verwendung des Abstammungsservers 102 Leistungsnachteile haben kann.
  • Obwohl Direktzugriffsspeicher hier als primäres Beispiel verwendet wird, können andere Arten von Speicher mit dem Abstammungsserver 102 verwendet werden. Eine andere Art von Speicher ist zum Beispiel Flash-Speicher. Im Gegensatz zu Direktzugriffsspeicher ist Flash-Speicher nichtflüchtig. Flash-Speicher unterliegen jedoch typischerweise Beschränkungen beim Zugreifen auf Datenelemente. Einige Arten von Flash-Speicher sind so konfiguriert, dass eine Sammlung von Datenelementen (z. B. Blöcke von Datenelementen) die kleinste Dateneinheit darstellt, auf die zu einem Zeitpunkt zugegriffen werden kann, im Gegensatz zu einzeln zugänglichen Datenelementen. Um zum Beispiel ein Datenelement bei einigen Arten von Flash-Speicher zu löschen, muss ein ganzer Block gelöscht werden. Die restlichen Datenelemente können erneut in den Flash-Speicher geschrieben werden, um sie zu erhalten.
  • Der Abstammungsserver 102 verwendet den Laufplan 130, um die Datenstrukturen 134 zu durchlaufen und in den Datenstrukturen gespeicherte Abstammungsmetadaten zu sammeln, die auf die Abfrage 114 ansprechen. Wie in 1D gezeigt, sendet der Abstammungsserver 102 dann eine Antwort 138 mit den Abstammungsmetadaten 139 zurück zum Metadatenserver 104. Der Metadatenserver 104 kann die Abstammungsmetadaten 139 verwenden, um seine eigene Antwort 140 auf die Abfrage 114 zu generieren. Die Antwort 140 könnte eine von mehreren Formen annehmen. In einigen Beispielen enthält die Antwort 140 die gleichen Abstammungsmetadaten 139, die vom Abstammungsserver 102 empfangen wurden, z. B. in einer Form mit minimaler Nachbearbeitung. In einigen Beispielen führt der Metadatenserver 104 Nachbearbeitung der Abstammungsmetadaten 139 durch. Der Metadatenserver 104 kann zum Beispiel die Form der Abstammungsmetadaten 139 in eine für den Menschen lesbare Form ändern, z. B. wenn die Abstammungsmetadaten 139 in einem kodierten Format empfangen werden, das für den Menschen nicht lesbar ist. In einigen Beispielen generiert der Metadatenserver 104 ein Abstammungsdiagramm basierend auf den Abstammungsmetadaten 139 und nimmt Daten, die das Abstammungsdiagramm repräsentieren, in die Antwort 140 auf. In einigen Beispielen wird die Antwort 140 an das Benutzerendgerät 116 übertragen (1A), z. B. wenn die Antwort 140 ein Abstammungsdiagramm ist (wie nachfolgend hinsichtlich 2A-2E ausführlich beschrieben). In einigen Beispielen wird die Antwort 140 an ein Zwischensystem übertragen, bevor sie an das Benutzerendgerät übertragen und/oder in eine für Übertragung an das Benutzerendgerät geeignete Form verarbeitet wird.
  • 2A zeigt ein Beispiel für in einer Metadatenbetrachtungsumgebung angezeigte Informationen. In einigen Beispielen ist die Metadatenbetrachtungsumgebung eine Schnittstelle, die auf einem Benutzerendgerät ausgeführt wird, z. B. auf dem in 1A gezeigten Benutzerendgerät 116, Im Beispiel von 2A zeigt die Metadatenbetrachtungsumgebung Informationen in Bezug auf ein Datenabstammungsdiagramm 200A an. Ein Beispiel für eine Metadatenbetrachtungsumgebung ist eine webbasierte Anwendung, die es einem Benutzer (z. B. dem in 1A gezeigt Benutzer 118) ermöglicht, Metadaten zu visualisieren und zu bearbeiten. Unter Verwendung der Metadatenbetrachtungsumgebung kann ein Benutzer Metadaten mithilfe eines Standard-Webbrowsers von einem beliebigen Standort innerhalb eines Unternehmens aus untersuchen, analysieren und verwalten. Jeder Metadatenobjekttyp weist eine oder mehrere Ansichten oder visuelle Darstellungen auf. Die Metadatenbetrachtungsumgebung von 2A veranschaulicht ein Abstammungsdiagramm für Zielelement 206A.
  • Das Abstammungsdiagramm zeigt zum Beispiel die Ende-zu-Ende-Abstammung für die Daten- und/oder Verarbeitungsknoten, die die im Metadatenserver 104 (1A) gespeicherten Metadatenobjekte repräsentieren; das heißt, die Objekte, von denen ein gegebenes Startobjekt abhängt (seine Quellen) und die Objekte, die ein gegebenes Startobjekt beeinflusst (seine Ziele). In diesem Beispiel sind Verbindungen zwischen Datenelementen 202A und Transformationen 204A gezeigt, zwei Beispiele für Metadatenobjekte. Die Metadatenobjekte sind durch Knoten im Diagramm dargestellt. Datenelemente 202A können zum Beispiel Datensätze, Tabellen innerhalb von Datensätzen, Spalten in Tabellen und Felder in Dateien, Nachrichten und Berichten repräsentieren. Ein Beispiel für eine Transformation 204A ist ein Element einer ausführbaren Datei, das beschreibt, wie eine einzelne Ausgabe eines Datenelements erzeugt wird. Die Verbindungen zwischen den Knoten basieren auf Beziehungen zwischen den Metadatenobjekten.
  • 2B veranschaulicht ein entsprechendes Abstammungsdiagramm 200B für das gleiche Zielelement 206A, das in 2A gezeigt ist, außer dass jedes Element 202B gruppiert und in einer Gruppe basierend auf einem Kontext gezeigt ist. Datenelemente 202B sind zum Beispiel in Datensätzen 208B (z. B. Tabellen, Dateien, Nachrichten und Berichten), Anwendungen 210B (die ausführbare Dateien, wie z. B. Grafiken, Pläne und Programme sowie die Datensätze, mit denen sie arbeiten, enthalten) und Systemen 212B gruppiert. Systeme 212B sind funktionale Gruppierungen von Daten und den Anwendungen, die die Daten verarbeiten; Systeme bestehen aus Anwendungen und Datengruppen (z. B. aus Datenbanken, Dateigruppen, Nachrichtensystemen und Gruppen von Datensätzen). Transformationen 204B sind in ausführbaren Dateien 214B, Anwendungen 210B und Systemen 212B gruppiert. Ausführbare Dateien wie Grafiken, Pläne oder Programme lesen und schreiben Datensätze. Parameter können einstellen, welche Gruppen standardmäßig aufgeklappt und welche Gruppen standardmäßig zugeklappt sind. Auf diese Weise können Benutzer die Details nur für die für sie wichtigen Gruppen sehen, indem unnötige Detailebenen entfernt werden.
  • Verwenden der Metadatenbetrachtungsumgebung zum Durchführen von Datenabstammungsberechnungen ist aus mehreren Gründen nützlich. Durch Berechnen und Veranschaulichen von Beziehungen zwischen Datenelementen und Transformationen kann ein Benutzer zum Beispiel bestimmen, wie ein berichteter Wert für einen gegebenen Feldbericht berechnet wurde. Ein Benutzer kann auch einsehen, welche Datensätze einen bestimmten Datentyp speichern, und welche ausführbaren Dateien in diesem Datensatz lesen und schreiben. Im Falle von Geschäftsbegriffen kann das Datenabstammungsdiagramm veranschaulichen, welche Datenelemente (z. B. Spalten und Felder) bestimmten Geschäftsbegriffen (z. B. Definitionen in einem Unternehmen) zugeordnet sind.
  • In der Metadatenbetrachtungsumgebung gezeigte Datenabstammungsdiagramme können einen Benutzer auch bei der Auswirkungsanalyse unterstützen. Insbesondere kann ein Benutzer wissen wollen, welche nachgelagerten ausführbaren Dateien betroffen sind, wenn eine Spalte oder ein Feld zu einem Datensatz hinzugefügt wird, und wer benachrichtigt werden muss. Auswirkungsanalyse kann bestimmen, wo ein gegebenes Datenelement verwendet wird, und kann auch die Auswirkungen einer Änderung dieses Datenelements bestimmen. Ebenso kann ein Benutzer einsehen, welche Datensätze von einer Änderung in einer ausführbaren Datei betroffen sind, oder ob es sicher ist, eine bestimmte Datenbanktabelle aus der Produktion zu entfernen.
  • Verwenden der Metadatenbetrachtungsumgebung zum Durchführen von Datenabstammungsberechnungen zum Generieren von Datenabstammungsdiagrammen ist für Geschäftsbegriffverwaltung nützlich. Beispielsweise ist es häufig wünschenswert, dass sich Mitarbeiter innerhalb eines Unternehmens über die Bedeutungen von unternehmensweit verwendeten Geschäftsbegriffen, die Beziehungen zwischen diesen Begriffen und den Daten, auf die sich die Begriffe beziehen, einigen. Die einheitliche Verwendung von Geschäftsbegriffen kann die Transparenz von Unternehmensdaten verbessern und die Kommunikation von Geschäftsanforderungen erleichtern. Daher ist es wichtig zu wissen, wo die einem Geschäftsbegriff zugrunde liegenden physikalischen Daten zu finden sind und welche Geschäftslogik bei Berechnungen verwendet wird.
  • Einsehen von Beziehungen zwischen Datenknoten kann auch beim Verwalten und Pflegen von Metadaten hilfreich sein. Zum Beispiel kann ein Benutzer wissen wollen, wer ein Metadatenteil geändert hat, was die Quelle (oder „Datensatzquelle“) für ein Metadatenteil ist oder welche Änderungen beim Laden oder Neuladen von Metadaten aus einer externen Quelle vorgenommen wurden. Beim Pflegen von Metadaten kann es wünschenswert sein, dass bestimmte Benutzer Metadatenobjekte erstellen können (z. B. Geschäftsbegriffe), Eigenschaften von Metadatenobjekten (z. B. Beschreibungen und Beziehungen von Objekten zu anderen Objekten) bearbeiten oder veraltete Metadatenobjekte löschen können.
  • Die Metadatenbetrachtungsumgebung stellt eine Reihe von grafischen Ansichten von Objekten bereit, sodass Benutzer Metadaten untersuchen und analysieren können. Zum Beispiel kann ein Benutzer den Inhalt von Systemen und Anwendungen einsehen und die Details eines beliebigen Objekts untersuchen, sowie Beziehungen zwischen Objekten unter Verwendung der Datenabstammungsansichten einsehen, was es einem Benutzer ermöglicht, auf einfache Weise verschiedene Arten von Abhängigkeitsanalysen durchzuführen, wie z. B. die vorstehend beschriebene Datenabstammungsanalyse und Auswirkungsanalyse. Hierarchien von Objekten können ebenfalls eingesehen werden, und die Hierarchien können nach bestimmten Objekten durchsucht werden. Sobald das Objekt gefunden wurde, können Lesezeichen für Objekte erstellt werden, die es einem Benutzer ermöglichen, leicht zu ihnen zurückzukehren.
  • Mit den entsprechenden Berechtigungen kann ein Benutzer die Metadaten in der Metadatenbetrachtungsumgebung bearbeiten. Zum Beispiel kann ein Benutzer Beschreibungen von Objekten aktualisieren, Geschäftsbegriffe erstellen, Beziehungen zwischen Objekten definieren (wie z. B. Verknüpfen eines Geschäftsbegriffs mit einem Feld in einem Bericht oder einer Spalte in einer Tabelle), Objekte verschieben (beispielsweise Verschieben eines Datensatzes von einer Anwendung in eine andere) oder Objekte löschen.
  • In 2C ist ein entsprechendes Abstammungsdiagramm 200C für das Zielelement 206A gezeigt, wobei der Auflösungsgrad jedoch auf Anwendungen eingestellt ist, die an der Berechnung für das Zieldatenelement 206A beteiligt sind. Insbesondere werden die Anwendungen 202C, 204C, 206C, 208C und 210C gezeigt, da nur diese Anwendungen direkt an der Berechnung für das Zieldatenelement 206A beteiligt sind. Wenn ein Benutzer einen beliebigen Teil des Abstammungsdiagramms in einem anderen Auflösungsniveau sehen möchte (z. B. um mehr oder weniger Details im Diagramm anzuzeigen), kann der Benutzer die entsprechende Aufklapp-/Zuklappschaltfläche 212C betätigen.
  • 2D zeigt ein entsprechendes Abstammungsdiagramm 200D in einem anderen Auflösungsniveau. In diesem Beispiel wurde eine Aufklapp-/Zuklappschaltfläche 212C von einem Benutzer betätigt, und die Metadatenbetrachtungsumgebung zeigt nun das gleiche Abstammungsdiagramm an, aber die Anwendung 202C wurde erweitert, um die Datensätze 214D und die ausführbaren Dateien 216D innerhalb der Anwendung 202C zu zeigen.
  • 2E zeigt ein entsprechendes Abstammungsdiagramm 200E in einem anderen Auflösungsniveau. In diesem Beispiel hat ein Benutzer ausgewählt, alles ausgeklappt durch eine benutzerdefinierte Erweiterung zu zeigen. Jedes Feld oder jede Spalte, das/die eine ultimative Datenquelle darstellt (z. B. keine vorgelagerten Systeme aufweist), ist ausgeklappt. Außerdem sind Felder, für die ein spezifisches Kennzeichen gesetzt ist, ebenfalls ausgeklappt. In diesem Beispiel werden die spezifischen Kennzeichen auf Datensätzen und Feldern an einem wichtigen Zwischenpunkt in der Abstammung gesetzt, und eine Spalte ist die Spalte, für die die Abstammung gezeigt wird.
  • Andere Abstammungsbeispiele sind in der United States-Patentanmeldung Nr. 12/629,466 mit dem Titel „VISUALIZING RELATIONSHIPS BETWEEN DATA ELEMENTS AND GRAPHICAL REPRESENTATIONS OF DATA ELEMENT ATTRIBUTES“ beschrieben, die hierdurch durch Bezugnahme in ihrer Gesamtheit aufgenommen ist.
  • Einsehen von Elementen und Beziehungen in der Metadatenbetrachtungsumgebung kann nützlicher gemacht werden, indem Informationen hinzugefügt werden, die für jeden der Knoten, die sie repräsentieren, relevant sind. Eine beispielhafte Möglichkeit, den Knoten relevante Informationen hinzuzufügen, besteht darin, Informationen grafisch über bestimmte Knoten zu legen. Diese Grafiken können einen Wert oder ein Merkmal der durch den Knoten repräsentierten Daten zeigen und können eine beliebige Eigenschaft in der Metadatendatenbank sein. Dieser Ansatz hat den Vorteil, dass er zwei oder mehr normalerweise disparate Informationen kombiniert (Beziehungen zwischen Datenknoten und Merkmalen der durch die Knoten repräsentierten Daten) und nützliche Informationen „in Zusammenhang“ zu bringen versucht. Zum Beispiel können Merkmale wie Metadatenqualität, Metadatenfrische oder Quelle der Datensatzinformationen in Verbindung mit einer visuellen Darstellung der Beziehungen zwischen Datenknoten angezeigt werden. Während einige dieser Informationen in tabellarischer Form zugänglich sein können, kann es für einen Benutzer hilfreicher sein, Merkmale der Daten zusammen mit den Beziehungen zwischen verschiedenen Datenknoten einzusehen. Ein Benutzer kann auswählen, welches Merkmal der Daten über dem Datenelement und/oder den Transformationsknoten innerhalb der Metadatenbetrachtungsumgebung gezeigt wird. Welches Merkmal gezeigt wird, kann auch gemäß den Standardsystemeinstellungen festgelegt werden.
  • Wie vorstehend hinsichtlich 1A beschrieben, verwendet der Abstammungsserver 102 Datenstrukturen 134, um Abstammungsmetadaten im Speicher (z. B. Direktzugriffsspeicher) zu speichern. 3 zeigt eine beispielhafte Datenstruktur 300. Bei Gebrauch enthält der Abstammungsserver 102 viele Instanzen der Datenstruktur 300. Eine Instanz einer Datenstruktur ist eine Sammlung von Daten (z. B. Sammlung von Bits), die in einer durch die Datenstruktur definierten Weise formatiert sind. Eine Instanz der hier beschriebenen Datenstruktur 300 wird manchmal als ein „Knoten“ bezeichnet.
  • Jede Instanz der Datenstruktur 300 repräsentiert ein Metadatenobjekt, z. B. eines der Datenelemente 202A oder eine der Transformationen 204A, wie in 2A gezeigt. In einigen Beispielen repräsentiert jede Instanz der Datenstruktur 300 einen Knoten, der in einem Abstammungsdiagramm gezeigt werden kann, z. B. in den Diagrammen 200A-200E der 2A-2E.
  • Be Gebrauch speichert der Abstammungsserver 102 jede Datenstruktur 300 an einem für die Datenstruktur spezifischen Speicherplatz 302. Jede Datenstruktur 300 zeigt typischerweise auf Speicherplätze anderer Datenstrukturen.
  • Die Datenstruktur 300 besteht aus mehreren Feldern. Ein Feld ist eine Sammlung von Daten, z. B. eine Teilmenge der Bits, die eine Instanz der Datenstruktur 300 ausmachen. Ein Kennungsfeld 310 schließt Daten ein, die eine eindeutige Kennung für eine Instanz der Datenstruktur 300 darstellen. Ein Typenfeld 312 schließt Daten ein, die einen Typ eines Metadatenobjekts repräsentieren, das durch die entsprechende Instanz der Datenstruktur 300 repräsentiert wird. In einigen Beispielen könnte der Typ „Datenelement“, „Transformation“ und so weiter sein. In einigen Beispielen gibt das Typenfeld 312 auch an, wie viele Vorwärts- und Rückwärtskanten in der Instanz der Datenstruktur 300 eingeschlossen sind. Eigenschaftsfelder 314 repräsentieren jeweils unterschiedliche Merkmale des Metadatenobjekts, das durch die entsprechende Instanz der Datenstruktur 300 repräsentiert wird. Beispiele für die Eigenschaftsfelder 314 können ein Feld „Name“, das eine das Metadatenobjekt identifizierende Textbezeichnung einschließt, und ein Feld „Untertyp“, das einen Untertyp des Metadatenobjekts angibt, z. B. ob das Metadatenobjekt ein Dateiobjekt, ausführbares Objekt, ein Datenbankobjekt oder einen anderen Untertyp repräsentiert, einschließen. Andere Eigenschaftstypen können verwendet werden. Im Allgemeinen können das Typenfeld 312 und die Eigenschaftsfelder 314 für eine bestimmte Instanz des Abstammungsservers 102 angepasst werden und sind nicht auf die hier aufgeführten Beispiele beschränkt.
  • Die Datenstruktur schließt auch Felder ein, die Vorwärtskanten 316A-C und Rückwärtskanten 316D-F repräsentieren. Die Kantenfelder 316A-F ermöglichen es dem Abstammungsserver 102, von Datenstruktur zu Datenstruktur zu „laufen“ und die Daten der Datenstruktur beim Erfassen von Abstammungsmetadaten zu sammeln. Wenn wir uns auf „Sammeln“ eines Datenabschnitts beziehen, verstehen wir im weitesten Sinne den Abschnitt von Daten als relevant für eine zukünftige Aktion (z. B. Übertragen der gesammelten Daten) zu identifizieren. Sammeln eines Datenabschnitts schließt manchmal Kopieren der Daten ein, z. B. Kopieren der Daten in einen Puffer oder eine Warteschlange zur Verwendung in der zukünftigen Aktion.
  • Jedes Kantenfeld 316A-F schließt ein Zeigerfeld 320A-B ein. Das Zeigerfeld 320A-B speichert eine Adresse eines jeweiligen Speicherplatzes 322A-B. Im Allgemeinen bezieht sich ein Speicherplatz 322A-B, auf den durch ein Zeigerfeld 320AB verwiesen wird, auf einen Speicherabschnitt, der eine weitere Instanz der Datenstruktur 300 speichert. Auf diese Weise wird eine Instanz einer Datenstruktur, die ein Metadatenobjekt repräsentiert, mit einer oder mehreren anderen Instanzen von Datenstrukturen, die andere Metadatenobjekte repräsentieren, „verknüpft“. So können die Kanten 316A-D z. B. den Beziehungen zwischen den in den Abstammungsdiagrammbeispielen 200A-E der 2A-2E gezeigten Metadatenobjekten entsprechen. Eine Vorderkante 316A repräsentiert zum Beispiel eine Wirkung, die ein Metadatenobjekt (z. B. das durch diese Instanz der Datenstruktur 300 repräsentierte Metadatenobjekt) auf ein anderes Metadatenobjekt (z. B. das durch die Instanz der Datenstruktur am Speicherplatz 322A repräsentierte Metadatenobjekt) hat. Als ein weiteres Beispiel repräsentiert eine Rückwärtskante 316D eine Wirkung, die ein weiteres Metadatenobjekt (z. B. das durch die Instanz der Datenstruktur am Speicherplatz 322B repräsentierte Metadatenobjekt) auf das Metadatenobjekt dieser Instanz der Datenstruktur 300 hat.
  • Jedes Kantenfeld 316A-F schließt auch ein oder mehrere Kennzeichen 324 ein. Die Kennzeichen 324 sind Indikatoren für Informationen zu ihrer zugehörigen Kante. In einigen Beispielen kann eines der Kennzeichen 324 einen aus mehreren möglichen Typen ausgewählten Typ der zugehörigen Kante anzeigen. Viele Typen von Kanten sind möglich. Einige Typen von Kanten sind zum Beispiel Ein-/Ausgabekanten (die die Ausgabe von einem Objekt und die Eingabe in ein anderes Objekt repräsentieren), Element-/Datensatzkanten (die eine Zuordnung zwischen einem Element und dem Datensatz, zu dem das Element gehört, repräsentieren) und Anwendungs-/Eltern-Kanten (die eine Zuordnung zwischen einer ausführbaren Anwendung und einem Container repräsentieren, wie z. B. einem Container, der auch der Anwendung zugeordnete Datensätze enthält).
  • Viele der Elemente der Datenstruktur 300 verwenden typischerweise eine relativ kleine Datenmenge. Zum Beispiel können die dem Kennungsfeld 310, dem Typenfeld 312 und den Eigenschaftsfeldern 314 zugeordneten Daten zusammen nur wenige Bytes umfassen, z. B. 32 Bytes. Diese Felder kodieren häufig verwendete Informationen in nur wenigen Bits; wenn es zum Beispiel nur acht mögliche Typen für einen Knoten gibt, kann das Typenfeld 312 nur drei Bits lang sein. Komplexere Daten, wie z. B. Textzeichenketten, die Knotentypen repräsentieren, müssen nicht verwendet werden. Ferner umfassen die dem Speicherplatz 322A-C zugeordneten Daten typischerweise die gleiche Datenmenge wie die Länge einer Speicheradresse, die dem Typ des Computersystems zugeordnet ist, das Software ausführt, die die Datenstruktur 300 instanziiert. So können die meisten oder alle Instanzen einer Datenstruktur 300 insgesamt eine relativ kleine Datenmenge verwenden, verglichen mit den Daten, die von anderen Techniken zur Speicherung von Abstammungsmetadaten verwendet werden.
  • 4 zeigt ein Beispiel für einen Laufplan 400. Wie vorstehend hinsichtlich 1C beschrieben, werden Laufpläne 400 typischerweise vom Metadatenserver 104 gespeichert. Bei Gebrauch stellt der Metadatenserver 104 dem Abstammungsserver 102 einen Laufplan zur Verfügung, wenn er Abstammungsmetadaten anfordert.
  • Ein Laufplan 400 beschreibt Informationen, die der Abstammungsserver 102 beim Durchlaufen seiner gespeicherten Datenstrukturen 134 verwendet. Im Allgemeinen müssen beim Empfangen einer Abfrage nach Abstammungsmetadaten, z. B. für ein bestimmtes Metadatenobjekt relevante Abstammungsmetadaten, nicht alle Typen von Abstammungsmetadaten als Antwort zurückgegeben werden. In einigen Beispielen müssen, abhängig von der Abfrage, Abstammungsmetadaten, die einigen Typen von Kanten zugeordnet sind, möglicherweise nicht zurückgegeben werden, da sie nicht auf die Abfrage ansprechen.
  • Dementsprechend schließt der Laufplan 400 Datensätze 402A-C für jeden Kantentyp ein, der zu den Typen von Kanten gehören kann, die durch die vom Abstammungsserver 102 gespeicherten Abstammungsmetadaten repräsentiert werden. Ein Datensatz 402A schließt ein Kantentypenfeld 404 ein, das Daten einschließt, die den dem Datensatz 402A entsprechenden Kantentyp angeben. Ein Datensatz 402A schließt auch ein Verfolgungskennzeichen 406, ein Knotensammelkennzeichen 408 und ein Kantensammelkennzeichen 409 für die Vorwärtsrichtung 410 und ein Verfolgungskennzeichen 412, ein Knotensammelkennzeichen 414 und ein Kantensammelkennzeichen 415 für die Rückwärtsrichtung 416 ein.
  • Ein Verfolgungskennzeichen 406, 412 gibt an, ob der Abstammungsserver 102 beim Durchlaufen seiner Datenstrukturen 134 eine Kante dieses Kantentyps verfolgen soll oder nicht. Anders ausgedrückt, ein Verfolgungskennzeichen 406 für die Vorwärtsrichtung 410 gibt an, ob der Abstammungsserver 102, Bezug nehmend auf 3, auf den Speicherplatz 322A, der durch ein Zeigerfeld 320A eines Vorwärtskantenfelds 316A einer Instanz der Datenstruktur 300 identifiziert wurde, zugreifen soll oder nicht. In ähnlicher Weise gibt ein Verfolgungskennzeichen 412 für die Rückwärtsrichtung 416 an, ob der Abstammungsserver 102, Bezug nehmend auf 3, auf den Speicherplatz 322b, der durch ein Zeigerfeld 320b eines Rückwärtskantenfelds 316D einer Instanz der Datenstruktur 300 identifiziert wurde, zugreifen soll oder nicht.
  • Ein Knotensammelkennzeichen 408, 414 gibt an, ob der Abstammungsserver 102 eine Instanz der Datenstruktur 300 (3), die manchmal als „Knoten“ bezeichnet und auf die von diesem Kantentyp beim Durchlaufen seiner Datenstrukturen 134 verwiesen wird, sammeln soll oder nicht. Wenn wir uns auf Sammeln einer Instanz der Datenstruktur 300 beziehen, verstehen wir, dass die Daten der Instanzen (oder Knoten) zu den Daten hinzugefügt werden, die als Antwort auf eine Abfrage zurückgegeben werden, die vom Abstammungsserver 102 (1A) verarbeitet wird, der die Abfrage verarbeitet. Wenn also ein Knoten gesammelt wird, gehören Daten, die dem Metadatenobjekt zugeordnet sind, das durch die Instanz der Datenstruktur 300 repräsentiert wird, zu den Abstammungsmetadaten, die vom Abstammungsserver 102 zurückgegeben werden.
  • Ein Kantensammelkennzeichen 409, 415 gibt an, ob der Abstammungsserver 102 die Kante (z. B. entsprechend dem Zeigerfeld 320A einer Instanz der Datenstruktur 300) sammeln soll oder nicht. Wenn eine Kante gesammelt wird, gehören die Daten, die die Kante repräsentieren, zu den Abstammungsmetadaten, die vom Abstammungsserver 102 zurückgegeben werden. Bei einigen Implementierungen wird eine Kante möglicherweise nicht gesammelt, wenn die Kante keinen Datenfluss zwischen den Knoten repräsentiert. Zum Beispiel kann die Kante die Zuordnung zwischen einem Datenobjekt (repräsentiert durch einen Knoten) und einem Container des Datenobjekts (repräsentiert durch einen anderen Knoten) repräsentieren. Auf diese Weise können Knoten durch Verwenden von Knotensammelkennzeichen 408, 414 und Kantensammelkennzeichen 409, 415 in einem Laufplan 400 auf verschiedene Weisen einander zugeordnet werden, die für Einschluss in Abstammungsmetadaten gesammelt werden können oder nicht, und Knoten können eine Vielzahl von Daten repräsentieren, die für Einschluss in Abstammungsmetadaten gesammelt werden können oder nicht.
  • Bei Gebrauch kann bei einigen Implementierungen ein Laufplan 400 in Form eines oder mehrerer XML-Dokumente (Extensible Markup Language (Erweiterbare Auszeichnungssprache)) repräsentiert sein. Ein XML-Dokument ist eine Sammlung von Abschnitten, die durch „Tags“ getrennt sind. Ein Tag umfasst typischerweise ein Label (z. B. ein Label, das den Typ des Tags identifiziert) und kann auch ein oder mehrere Attribute einschließen. Tags können in Form eines Start-Tags und eines End-Tags vorkommen, sodass ein Start-Tag mit einem entsprechenden End-Tag gepaart ist. Durch „Schachteln“ von Tags innerhalb anderer Tags kann eine Hierarchie erzeugt werden, z. B. indem ein Tag zwischen dem Start-Tag/End-Tag-Paar eines anderen Tags Paar platziert wird.
  • Nachfolgend ist ein beispielhafter Laufplan in Form eines XML-Dokuments präsentiert:
       <lineageServerPlan direction=„both“ conditionalOnArg="!autoFilterEnabled"
 replacesQueries=„walk“>
       <useEdge name=„DE-Tr“>
         <condition special=„ExeInterfaceCallStack“ />
         <condition special=„ControlFilter“ />
         <condition special=„Summarization“ />
         </useEdge>
       <useEdge name=„Tr-DE“>
         <condition special=„ExeInterfaceCallStack“ />
         <condition special=„ControlFilter“ />
         <condition special=„Summarization“ />
         </useEdge>
         <useEdge name=„DE-DS“ direction=„forward“ collectEdge=„false“
 conditionalOnArg=„walkDSlevel“ />
         <useEdge name=„Tr-Exe“ direction=„forward“ collectEdge=„false“
 conditionalOnArg=„walkDSlevel“ />
       <useEdge name=„DS-Exe“ conditionalOnArg=„walkDSlevel“>
         <condition special=„ExeInterfaceCallStack“ />
         <condition special=„DSLevelIfNoDE“ />
         </useEdge>
       <useEdge name=„Exe-DS“ conditionalOnArg=„walkDSlevel“>
         <condition special=„ExeInterfaceCallStack“ />
         <condition special=„DSLevelIfNoDE“ />
         </useEdge>
       <useEdge name=„DE-DS“ direction=„backward“ collectEdge=„false“> 



         <condition special=„DSLevelIfNoDE“ />
         </useEdge>

        <useEdge name=„Tr-Exe“ direction=„backward“ collectEdge=„false“>

         <condition special=„DSLevelIfNoDE“ />
         </useEdge>
         </lineageServerPlan>
  • In diesem Beispiel gibt das Tag „useEdge“ Informationen für einen gegebenen Kantentyp vor. Jedes Tag „useEdge“ kann einem Datensatz entsprechen (z. B. den Datensätzen 402A-C des Laufplans 400). Das Attribut „name“ gibt den Kantentyp vor (z. B. den Kantentyp 404), das Attribut „direction“ gibt die Richtung vor (z. B. Vorwärtsrichtung 410 oder Rückwärtsrichtung 416), das Attribut „collectEdge“ gibt vor, ob die Kante gesammelt werden soll (z. B. die Sammelkennzeichen 408, 414). Andere Tags können verwendet werden. Das im vorstehenden Beispiel gezeigte Tag „condition special“ wird beispielsweise zum Vorgeben benutzerdefinierter Regeln verwendet, die ausgeführt werden, wenn eine Kante des vorgegebenen Kantentyps verfolgt wird. In einigen Beispielen können die benutzerdefinierten Regeln Bedingungen zum Bestimmen, ob die Kante verfolgt und/oder gesammelt werden soll, vorgeben.
  • 5A zeigt ein Ablaufdiagramm, das eine Prozedur 500 zum Speichern von Abstammungsmetadaten in einer durch eine spezielle Datenstruktur definierten Form darstellt, z. B. die in 3 gezeigte Datenstruktur 300. Die Prozedur 500 kann zum Beispiel durch Komponenten des in 1A gezeigten Abstammungsservers 102 ausgeführt werden.
  • Die Prozedur fordert 502 Abstammungsmetadaten von einer Metadatenquelle an. Die Metadatenquelle könnte zum Beispiel die in 1A gezeigte Metadatendatenbank 108 sein. Die Anforderung könnte dergestalt sein, dass sie in regelmäßigen oder halbregelmäßigen Intervallen erfolgt, beispielsweise jede Stunde, alle zehn Minuten, jede Minute oder ein beliebiges anderes Intervall. In einigen Beispielen könnte die Anforderung als Reaktion auf ein Ereignis, wie z. B. eine Benachrichtigung, dass neue Metadaten bei der Metadatenquelle verfügbar sind, erfolgen.
  • Abstammungsmetadaten beschreiben typischerweise Knoten und Kanten so, dass jeder Knoten ein Metadatenobjekt repräsentiert, und die Kanten jeweils eine Einwegwirkung eines Knotens auf einen anderen Knoten repräsentieren, z. B. so, dass jede Kante eine einzige Richtung hat.
  • In einigen Beispielen, z. B. wenn ein Abstammungsserver 102 noch keinen Anfangssatz von Datenstrukturen, die Abstammungsmetadaten repräsentieren, generiert hat, ist die Anforderung eine solche für alle von der Datenquelle gespeicherten Abstammungsmetadaten. In einigen Beispielen, z.B. wenn der Abstammungsserver 102 einen bestehenden Satz von gespeicherten Datenstrukturen aktualisiert, ist die Anforderung eine solche für Abstammungsmetadaten, die seit der letzten Anforderung hinzugefügt oder geändert wurden.
  • Die Prozedur empfängt 504 Daten, z. B. Abstammungsmetadaten, von der Metadatenquelle. Die Abstammungsmetadaten können zum Beispiel Daten sein, die Metadatenobjekte und Beziehungen zwischen den Metadatenobjekten repräsentieren.
  • Die Prozedur generiert 506 Datenstrukturen, z. B. Instanzen der in 3 gezeigten Datenstruktur 300. Die Datenstrukturen können zum Beispiel Informationen enthalten, die den von der Metadatenquelle empfangenen Daten entsprechen. In einigen Beispielen entspricht jede Instanz der Datenstruktur einem jeweiligen von der Metadatenquelle empfangenen Knoten. Die Datenstruktur kann ein Feld für Identifikationswerte einschließen, z. B. einen Identifikationswert, der den Knoten entsprechend einer Instanz der Datenstruktur identifiziert. Die Datenstruktur kann auch Eigenschaftsfelder einschließen, die Eigenschaften eines einer Instanz der Datenstruktur entsprechenden Knotens repräsentieren. Die Datenstruktur kann auch Zeiger auf Identifikationswerte anderer Knoten einschließen, sodass die Zeiger Kanten zu den Knoten repräsentieren, die den jeweiligen Identifikationswerten entsprechen.
  • Die Prozedur speichert 508 die Datenstrukturen. Die Datenstrukturen können zum Beispiel im Speicher, z. B. im in 1C gezeigten Speicher 135, gespeichert werden. In einigen Beispielen werden die Datenstrukturen in Direktzugriffsspeicher gespeichert. Da die Datenstrukturen zur Speicherung von Abstammungsmetadaten verwendet werden, können alle nicht abstammungsrelevanten Daten (z. B. andere Typen von bei der Metadatenquelle gespeicherten Metadaten) weggelassen werden, wodurch die zum Speichern der Datenstrukturen erforderliche Datenmenge reduziert wird.
  • Bei Gebrauch kehrt die Prozedur zum Anfordern 502 von Abstammungsmetadaten von der Metadatenquelle zurück, z. B. beim nächsten regelmäßig geplanten Intervall.
  • 5B zeigt ein Ablaufdiagramm, das eine Prozedur 520 zum Bewirken des Anzeigens von Abstammungsmetadaten darstellt. Die Prozedur 520 kann zum Beispiel durch Komponenten des in 1A gezeigten Abstammungsservers 102 ausgeführt werden. Im Allgemeinen ist ein Abstammungsserver dazu konfiguriert, eine Antwort auf eine Abfrage zurückzugeben, die Metadaten enthält, die die Abstammung eines bestimmten Datenelements beschreiben, z. B. ein Metadatenobjekt. In einigen Beispielen beschreiben die Metadaten eine Folge von Knoten und Kanten, wobei einer der Knoten der Folge das bestimmte Datenelement repräsentiert. In einigen Beispielen wird die Prozedur 520 zum Zugreifen auf durch die vorstehend hinsichtlich 5A beschriebene Prozedur 500 gespeicherte Abstammungsmetadaten verwendet.
  • Die Prozedur empfängt 522 eine Abfrage, z. B. eine Abfrage nach Abstammungsmetadaten. In einigen Beispielen identifiziert die Abfrage ein Metadatenobjekt, für das Abstammungsmetadaten angefordert werden.
  • Bei einigen Implementierungen schließt die Abfrage eine Identifizierung eines Abstammungstyps und einen Laufplan ein, der identifiziert, welche Kantentypen für den identifizierten Abstammungstyp relevant sind. In einigen Beispielen schließt der Laufplan Bedingungen für Verfolgen oder Sammeln einer Kante basierend auf einem oder mehreren Eigenschaftswerten ein, die jeweilige Eigenschaften eines entsprechenden Knotens repräsentieren. Ein Beispiel für einen Laufplan 400 ist in 4 gezeigt.
  • Die Prozedur erfasst 524 Abstammungsmetadaten. Zum Beispiel ist ein Knoten, der das Metadatenobjekt der empfangenen Abfrage repräsentiert, zugänglich und kann gesammelt werden, wie auch Kanten (z. B. Zeiger auf Speicherplätze) durchlaufen werden können, um andere Knoten zu sammeln. Das Erfassen von Abstammungsmetadaten wird nachfolgend hinsichtlich 6 ausführlicher beschrieben.
  • Die Prozedur überträgt 526 die erfassten Abstammungsmetadaten. Die erfassten Abstammungsmetadaten können zum Beispiel an ein Computersystem, das die Abfrage ausgegeben hat, übertragen werden.
  • Nachdem die erfassten Abstammungsmetadaten übertragen wurden, kann bewirkt werden, dass die erfassten Abstammungsmetadaten auf einem Computersystem, z. B. auf dem in 1A gezeigten Benutzerendgerät 116, angezeigt 528 werden. Zum Beispiel können die Abstammungsmetadaten in Form eines Abstammungsdiagramms angezeigt werden, wie z. B. in Form der in 2A - 2E gezeigten Abstammungsdiagramme 200A-200E.
  • 6 zeigt ein Ablaufdiagramm , das eine Prozedur 600 zum Durchlaufen von Abstammungsmetadaten darstellt, die in Form von speziellen Datenstrukturen gespeichert sind, z. B. Instanzen der in 3 gezeigten Datenstruktur 300. Die Prozedur 600 kann zum Beispiel durch Komponenten des in 1A gezeigten Abstammungsservers 102 ausgeführt werden.
  • Die Prozedur empfängt 602 eine Abfrage und einen Laufplan, z. B. die Abfrage 114 und den Laufplan 130, wie in 1C gezeigt. Die Prozedur greift 604 auf einen Anfangsknoten zu (z. B. die in 3 gezeigte Datenstruktur 300), der ein Metadatenobjekt repräsentiert, auf das durch die Abfrage 114 verwiesen wird. Zum Beispiel kann der Anfangsknoten durch ein Kennungsfeld 310 (3), das Daten speichert, die dem Metadatenobjekt zugeordnet sind, identifiziert werden. Der Anfangsknoten wird dann als „aktueller“ Knoten verwendet, und ein rekursiver Abschnitt des Prozesses beginnt, in dem der aktuelle Knoten aus einer Warteschlange ausgewählt wird und Operationen auf den aktuellen Knoten angewendet werden. Anders ausgedrückt, der Anfangsknoten wird als erster Knoten der Warteschlange in eine Warteschlange gesetzt, und andere Knoten werden nachfolgend zur Warteschlange hinzugefügt, während die Prozedur ausgeführt wird.
  • Die Prozedur bestimmt 606, ob verbleibende Vorwärtskantenzeiger im aktuellen Knoten sind (z. B. Vorwärtskantenzeiger, auf die noch nicht zugegriffen worden ist). Wenn ja, greift 608 die Prozedur auf den nächsten Zeiger zu, auf den noch zuzugreifen ist, z. B. Zugriff auf den Speicherplatz des Zeigers zum Abrufen von an diesem Speicherplatz gespeicherten Daten. Die Prozedur bestimmt 610, ob der Knoten an diesem Zeiger „gelaufen“ (z. B. verarbeitet) werden soll, z. B. entsprechend dem dem Zeiger zugeordneten Kantentyp, basierend auf dem Laufplan (wie vorstehend hinsichtlich 4 beschrieben). Wenn nein, greift 608 die Prozedur auf einen anderen Zeiger zu. Wenn ja, bestimmt die Prozedur, ob der Knoten an diesem Zeiger gesammelt 611 werden soll. Wenn ja, speichert 612 die Prozedur die Daten des Knotens, die als Antwort auf die Abfrage zurückgegeben werden sollen, und platziert 614 dann den Knoten in die Warteschlange, damit auf seine Zeiger zugegriffen werden kann. Wenn nein, setzt die Prozedur den Knoten nur in die Warteschlange.
  • Sobald alle Vorwärtskantenzeiger im aktuellen Knoten durchlaufen worden sind, bestimmt 616 die Prozedur, ob verbleibende Rückwärtskantenzeiger im aktuellen Knoten vorhanden sind. Wenn ja, greift 608 die Prozedur auf den nächsten Rückwärtskantenzeiger Zeiger zu.
  • Wenn es keine verbleibenden Vorwärtskantenzeiger oder Rückwärtskantenzeiger gibt, bestimmt 618 die Prozedur, ob Knoten in der Warteschlange verbleiben. Wenn ja, greift 620 die Prozedur auf den nächsten Knoten in der Warteschlange zu und führt die vorstehend beschriebenen Operationen aus, wobei der nächste Knoten in der Warteschlange als der aktuelle Knoten verwendet wird. Wenn keine Knoten verbleiben, bereitet 622 die Prozedur die gesammelten Daten zur Übertragung an ein anderes System vor. Zum Beispiel können die gesammelten Daten in einem bestimmten Format angeordnet werden, da sie übertragen werden. Als weiteres Beispiel können kodierte Daten in den gesammelten Daten dekodiert werden. Zum Beispiel können Datenfelder, die einen kodierten Wert enthalten, in eine dem Wert entsprechende Textzeichenkette umgewandelt werden.
  • Sobald die Daten zur Übertragung vorbereitet sind, können die Daten übertragen werden, z. B. wie in 5B hinsichtlich Übertragung 526 von Daten beschrieben.
  • Die hierin beschriebenen Systeme und Techniken können zum Beispiel unter Verwendung eines programmierbaren Rechensystems implementiert werden, das geeignete Softwareanweisungen ausführt, oder sie können in geeigneter Hardware, wie z. B. einem feldprogrammierbaren Gate-Array (FPGA) oder in irgendeiner Hybridform, implementiert werden. Zum Beispiel kann die Software in einem programmierten Ansatz Prozeduren in einem oder mehreren Computerprogrammen einschließen, die auf einem oder mehreren programmierten oder programmierbaren Rechensystemen ausgeführt werden (die verschiedene Architekturen aufweisen können, wie beispielsweise verteilt, Client/Server oder Grid), wobei jedes wenigstens einen Prozessor, wenigstens ein Datenspeichersystem (einschließlich flüchtigen und/oder nichtflüchtigen Speichers und/oder Speicherelementen), wenigstens eine Benutzerschnittstelle (zum Empfangen von Eingaben unter Verwendung wenigstens einer Eingabevorrichtung oder eines Ports und zum Bereitstellen von Ausgaben unter Verwendung wenigstens einer Ausgabevorrichtung oder eines Ports) einschließt. Die Software kann ein oder mehrere Module eines größeren Programms einschließen, zum Beispiel eines, das Dienste bereitstellt, die sich auf das Design, die Konfiguration und die Ausführung von Datenflussgraphen beziehen. Die Module des Programms (z. B. Elemente eines Datenflussgraphen) können als Datenstrukturen oder andere organisierte Daten in Übereinstimmung mit einem in einem Datenspeicher gespeicherten Datenmodell implementiert werden.
  • Die Software kann in nichttransitorischer Form gespeichert werden, wie z. B. eingebunden in einem flüchtigen oder nichtflüchtigen Speichermedium oder einem beliebigen anderen nichttransitorischen Medium, wobei eine physikalische Eigenschaft des Mediums (z. B. Oberflächengruben und -flächen, magnetische Domänen oder elektrische Ladung) für einen bestimmten Zeitraum (z. B. die Zeit zwischen Auffrischungsperioden einer dynamischen Speichervorrichtung, wie z. B. eines dynamischen RAM) verwendet wird. In Vorbereitung auf Laden der Anweisungen kann die Software auf einem materiellen, nichttransitorischen Medium, wie z. B. einer CD-ROM oder einem anderen computerlesbaren Medium (z. B. lesbar durch ein universelles oder spezielles Rechensystem oder eine entsprechende Vorrichtung), bereitgestellt oder über ein Kommunikationsmedium eines Netzwerks an ein materielles, nichttransitorisches Medium eines Rechensystems, wo sie ausgeführt wird, geliefert (z. B. kodiert in einem übertragenen Signal) werden. Die Verarbeitung kann teilweise oder vollständig auf einem speziellen Computer oder unter Verwendung von spezieller Hardware, wie z. B. von Koprozessoren, feldprogrammierbaren Gate-Arrays (FPGAs) oder dedizierten anwendungsspezifischen integrierten Schaltungen (Application-Specific Integrated Circuits, ASICs), durchgeführt werden. Die Verarbeitung kann auf verteilte Weise implementiert werden, wobei verschiedene Teile der von der Software vorgegebenen Berechnung durch verschiedene Rechenelemente ausgeführt werden. Jedes derartige Computerprogramm wird vorzugsweise auf einem computerlesbaren Speichermedium (z. B. einem Festkörperspeicher oder -medium oder einem magnetischen oder optischen Medium) eines Speichergeräts gespeichert oder auf dieses heruntergeladen, auf das ein programmierbarer universeller oder spezieller Computer zugreifen kann, um den Computer zu konfigurieren und zu betreiben, wenn das Speichergerätmedium vom Computer gelesen wird, um die hierin beschriebene Verarbeitung durchzuführen. Das erfindungsgemäße System kann auch als ein mit einem Computerprogramm konfiguriertes materielles, nichttransitorisches Medium betrachtet werden, wobei das so konfigurierte Medium bewirkt, dass ein Computer in einer spezifischen und vordefinierten Weise arbeitet, um einen oder mehrere der hierin beschriebenen Verarbeitungsschritte durchzuführen.
  • Eine Reihe von Ausführungsformen der Erfindung wurden beschrieben. Es versteht sich jedoch, dass die vorstehende Beschreibung den Umfang der Erfindung, der durch den Umfang der folgenden Ansprüche definiert ist, veranschaulichen und nicht einschränken soll. Dementsprechend liegen auch andere Ausführungsformen innerhalb des Umfangs der folgenden Ansprüche. Zum Beispiel können verschiedene Modifikationen vorgenommen werden, ohne vom Umfang der Erfindung abzuweichen. Darüber hinaus können einige der vorstehend beschriebenen Schritte von der Reihenfolge unabhängig sein und können somit in einer anderen als der beschriebenen Reihenfolge durchgeführt werden.
  • 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 12629466 [0037]

    Claims (20)

    1. Verfahren, das von einer Datenverarbeitungsvorrichtung durchgeführt wird, das Verfahren einschließend: Empfangen eines Teils von Metadaten von einer Datenquelle, wobei der Teil von Metadaten Knoten und Kanten beschreibt, wobei wenigstens einige der Kanten jeweils eine Wirkung eines Knotens auf einen anderen Knoten repräsentieren, und jede Kante eine einzige Richtung aufweist; Generieren von Instanzen einer Datenstruktur, die den Teil von Metadaten repräsentiert, wenigstens eine Instanz der Datenstruktur einschließend: einen Identifikationswert, der einen entsprechenden Knoten identifiziert, einen oder mehrere Eigenschaftswerte, die jeweilige Eigenschaften des entsprechenden Knotens repräsentieren, und einen oder mehrere Zeiger auf jeweilige Identifikationswerte, wobei jeder Zeiger eine Kante repräsentiert, die einem Knoten zugeordnet ist, der durch den entsprechenden jeweiligen Identifikationswert identifiziert ist; Speichern der Instanzen der Datenstruktur in Direktzugriffsspeicher; Empfangen einer Abfrage, die eine Identifizierung von wenigstens einem bestimmten Datenelement einschließt; und Verwenden wenigstens einer Instanz der Datenstruktur, um eine Anzeige eines Computersystems zu veranlassen, eine Repräsentation der Abstammung des bestimmten Datenelements anzuzeigen.
    2. Verfahren nach Anspruch 1, wobei die Abfrage eine Identifizierung eines Abstammungstyps und einen Laufplan einschließt, der identifiziert, welche Typen von Knoten und Kanten für den identifizierten Abstammungstyp relevant sind.
    3. Verfahren nach Anspruch 2, wobei der Laufplan Bedingungen für Verfolgen oder Sammeln einer Kante basierend auf einem oder mehreren Eigenschaftswerten, die jeweilige Eigenschaften eines entsprechenden Knotens repräsentieren, einschließt.
    4. Verfahren nach einem beliebigen der Ansprüche 1 bis 3, wobei wenigstens einer der Identifikationswerte einen Knoten repräsentiert, der dem in der Abfrage identifizierten bestimmten Datenelement entspricht.
    5. Verfahren nach einem beliebigen der Ansprüche 1 bis 4, wobei die Datenverarbeitungsvorrichtung dazu konfiguriert ist, eine Antwort auf die Abfrage zurückzugeben, wobei die Antwort Metadaten einschließt, die die Abstammung des bestimmten Datenelements beschreiben.
    6. Verfahren nach Anspruch 5, wobei die Metadaten, die die Abstammung des bestimmten Datenelements beschreiben, Metadaten einschließen, die eine Folge von Knoten und Kanten beschreiben, wobei einer der Knoten der Folge das bestimmte Datenelement repräsentiert.
    7. Verfahren nach einem beliebigen der Ansprüche 1 bis 6, wobei der Satz von Metadaten jeweiligen Knoten zugeordnete Textzeichenketten einschließt, wobei die Datenstruktur wenigstens eine der Textzeichenketten weglässt.
    8. Verfahren nach einem beliebigen der Ansprüche 1 bis 7, wobei Generieren der Instanzen der Datenstrukturen Identifizieren von für Abstammung relevanten Metadaten und Speichern der identifizierten Metadaten in einem durch die Datenstruktur definierten Format einschließt.
    9. Verfahren nach einem beliebigen der Ansprüche 1 bis 8, wobei wenigstens einer der Zeiger einen Verweis auf einen Speicherplatz einschließt, der einem Abschnitt des Direktzugriffsspeichers zugeordnet ist, wobei der Speicherplatz einem Platz eines Knotens entspricht, der einem der Identitätswerte entspricht.
    10. Verfahren nach einem beliebigen der Ansprüche 1 bis 9, einschließend als Antwort auf Empfangen der Abfrage: Zugreifen auf unter Verwendung der Datenstruktur gespeicherte Daten, einschließend Zugreifen auf eine Instanz der Datenstruktur, die wenigstens eine Kennung enthält, die dem durch die Abfrage identifizierten bestimmten Datenelement entspricht; und basierend auf den unter Verwendung der Datenstruktur gespeicherten Daten, Generieren einer Antwort auf die Abfrage, die Antwort einschließend Abstammungsmetadaten, wobei die Abstammungsmetadaten eine Folge von Knoten und Kanten beschreiben, und einer der Knoten der Folge das bestimmte Datenelement repräsentiert.
    11. Verfahren nach einem beliebigen der Ansprüche 1 bis 10, einschließend Zugreifen auf eine erste Instanz der Datenstruktur, wobei die erste Instanz der Datenstruktur durch eine erste Kennung identifiziert wird, die dem durch die Abfrage identifizierten bestimmten Datenelement entspricht; Zugreifen auf einen der ersten Kennung zugeordneten Zeiger, wobei der Zeiger der ersten Kennung zugeordnet ist; Zugreifen auf eine zweite Instanz der Datenstruktur, wobei die zweite Instanz der Datenstruktur durch eine zweite Kennung identifiziert wird, und die zweite Kennung an einem Speicherplatz gespeichert wird, auf den durch den der ersten Kennung zugeordneten Zeiger verwiesen wird; und Sammeln von Daten der zweiten Instanz der Datenstruktur; wobei die Antwort Daten einschließt, die einen der zweiten Kennung zugeordneten Knoten repräsentieren.
    12. Verfahren nach einem beliebigen der Ansprüche 1 bis 11, einschließend Übertragen von Anfragen an die Datenquelle in geplanten Intervallen, wobei der Teil der Metadaten als Antwort auf eine der Anfragen von der Datenquelle erhalten wird.
    13. System, einschließend: wenigstens ein nichttransitorisches computerlesbares Speichermedium, das ausführbare Anweisungen speichert; und einen oder mehrere zum Ausführen der Anweisungen konfigurierte Prozessoren; wobei Ausführung der Anweisungen bewirkt: Empfangen eines Teils von Metadaten von einer Datenquelle, wobei der Teil von Metadaten Knoten und Kanten beschreibt, wobei wenigstens einige der Kanten jeweils eine Wirkung eines Knotens auf einen anderen Knoten repräsentieren, und jede Kante eine einzige Richtung aufweist; Generieren von Instanzen einer Datenstruktur, die den Teil von Metadaten repräsentiert, wenigstens eine Instanz der Datenstruktur einschließend: einen Identifikationswert, der einen entsprechenden Knoten identifiziert, einen oder mehrere Eigenschaftswerte, die jeweilige Eigenschaften des entsprechenden Knotens repräsentieren, und einen oder mehrere Zeiger auf jeweilige Identifikationswerte, wobei jeder Zeiger eine Kante repräsentiert, die einem Knoten zugeordnet ist, der durch den entsprechenden jeweiligen Identifikationswert identifiziert ist; Speichern der Instanzen der Datenstruktur in Direktzugriffsspeicher; Empfangen einer Abfrage, die eine Identifizierung von wenigstens einem bestimmten Datenelement einschließt; und Verwenden wenigstens einer Instanz der Datenstruktur, um eine Anzeige eines Computersystems zu veranlassen, eine Repräsentation der Abstammung des bestimmten Datenelements anzuzeigen.
    14. Nichttransitorisches computerlesbares Speichergerät, das Anweisungen speichert, die bei Ausführung Operationen ausführen, einschließend: Empfangen eines Teils von Metadaten von einer Datenquelle, wobei der Teil von Metadaten Knoten und Kanten beschreibt, wobei wenigstens einige der Kanten jeweils eine Wirkung eines Knotens auf einen anderen Knoten repräsentieren, und jede Kante eine einzige Richtung aufweist; Generieren von Instanzen einer Datenstruktur, die den Teil von Metadaten repräsentiert, wenigstens eine Instanz der Datenstruktur einschließend: einen Identifikationswert, der einen entsprechenden Knoten identifiziert, einen oder mehrere Eigenschaftswerte, die jeweilige Eigenschaften des entsprechenden Knotens repräsentieren, und einen oder mehrere Zeiger auf jeweilige Identifikationswerte, wobei jeder Zeiger eine Kante repräsentiert, die einem Knoten zugeordnet ist, der durch den entsprechenden jeweiligen Identifikationswert identifiziert ist; Speichern der Instanzen der Datenstruktur in Direktzugriffsspeicher; Empfangen einer Abfrage, die eine Identifizierung von wenigstens einem bestimmten Datenelement einschließt; und Verwenden wenigstens einer Instanz der Datenstruktur, um eine Anzeige eines Computersystems zu veranlassen, eine Repräsentation der Abstammung des bestimmten Datenelements anzuzeigen.
    15. System, einschließend: Mittel zum Empfangen eines Teils von Metadaten von einer Datenquelle, wobei der Teil von Metadaten Knoten und Kanten beschreibt, wobei wenigstens einige der Kanten jeweils eine Wirkung eines Knotens auf einen anderen Knoten repräsentieren, und jede Kante eine einzige Richtung aufweist; Mittel zum Generieren von Instanzen einer Datenstruktur, die den Teil von Metadaten repräsentiert, wenigstens eine Instanz der Datenstruktur einschließend: einen Identifikationswert, der einen entsprechenden Knoten identifiziert, einen oder mehrere Eigenschaftswerte, die jeweilige Eigenschaften des entsprechenden Knotens repräsentieren, und einen oder mehrere Zeiger auf jeweilige Identifikationswerte, wobei jeder Zeiger eine Kante repräsentiert, die einem Knoten zugeordnet ist, der durch den entsprechenden jeweiligen Identifikationswert identifiziert ist; Mittel zum Speichern der Instanzen der Datenstruktur in Direktzugriffsspeicher; Mittel zum Empfangen einer Abfrage, die eine Identifizierung von wenigstens einem bestimmten Datenelement einschließt; und Mittel zum Verwenden wenigstens einer Instanz der Datenstruktur, um eine Anzeige eines Computersystems zu veranlassen, eine Repräsentation der Abstammung des bestimmten Datenelements anzuzeigen.
    16. Verfahren, das von einer Datenverarbeitungsvorrichtung durchgeführt wird, das Verfahren einschließend: Empfangen einer Abfrage, die eine Identifizierung von wenigstens einem bestimmten Datenelement einschließt; Empfangen einer Identifikation eines Abstammungstyps; Empfangen eines Laufplans, der identifiziert, welche Typen von Knoten und Kanten für den identifizierten Abstammungstyp relevant sind, wobei der Laufplan einschließt 1) wenigstens eine Kennung, die einem Kantentyp entspricht, und 2) wenigstens eine Kennung, die einer Durchlaufrichtung für den Kantentyp entspricht, und 3) wenigstens einen Indikator, der einer beim Durchlaufen der Kante zu ergreifenden Aktion entspricht; basierend auf dem Laufplan Durchlaufen von Knoten und Kanten; und basierend auf dem Durchlaufen der Knoten und Kanten Veranlassen einer Anzeige eines Computersystems, eine Repräsentation der Abstammung des bestimmten Datenelements anzuzeigen.
    17. Verfahren nach Anspruch 16, wobei die Knoten jeweiligen Instanzen einer Datenstruktur entsprechen und die Kanten jeweiligen Zeigern auf eine jeweilige Instanz der Datenstruktur entsprechen.
    18. Verfahren nach Anspruch 17, wobei eine Instanz der Datenstruktur einschließt: einen Identifikationswert, der einen entsprechenden Knoten identifiziert, einen oder mehrere Eigenschaftswerte, die jeweilige Eigenschaften des entsprechenden Knotens repräsentieren, und einen oder mehrere Zeiger auf jeweilige Identifikationswerte, wobei jeder Zeiger eine Kante repräsentiert, die einem Knoten zugeordnet ist, der durch den entsprechenden jeweiligen Identifikationswert identifiziert ist.
    19. Verfahren nach einem beliebigen der Ansprüche 16 bis 18, wobei der Laufplan basierend auf einem Datentyp des bestimmten, durch die Abfrage identifizierten Datenelements gewählt wird.
    20. Verfahren nach einem beliebigen der Ansprüche 16 bis 19, wobei der Laufplan ein strukturiertes Dokument einschließt.
    DE112017006106.7T 2016-12-01 2017-12-01 Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten Pending DE112017006106T5 (de)

    Applications Claiming Priority (3)

    Application Number Priority Date Filing Date Title
    US201662428860P 2016-12-01 2016-12-01
    US62/428,860 2016-12-01
    PCT/US2017/064227 WO2018102691A1 (en) 2016-12-01 2017-12-01 Generating, accessing, and displaying lineage metadata

    Publications (1)

    Publication Number Publication Date
    DE112017006106T5 true DE112017006106T5 (de) 2019-09-19

    Family

    ID=61656328

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    DE112017006106.7T Pending DE112017006106T5 (de) 2016-12-01 2017-12-01 Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten

    Country Status (8)

    Country Link
    US (2) US11741091B2 (de)
    EP (1) EP3549036A1 (de)
    JP (3) JP7170638B2 (de)
    CN (1) CN110023925A (de)
    AU (2) AU2017367772B2 (de)
    CA (1) CA3045810A1 (de)
    DE (1) DE112017006106T5 (de)
    WO (1) WO2018102691A1 (de)

    Families Citing this family (12)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    CN102239468B (zh) 2008-12-02 2017-06-06 起元技术有限责任公司 可视化数据元素之间的关系以及数据元数据属性的图形表示
    US10452625B2 (en) * 2016-06-30 2019-10-22 Global Ids, Inc. Data lineage analysis
    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
    US11315075B2 (en) * 2018-12-27 2022-04-26 Target Brands, Inc. Computer storage system
    US11256701B2 (en) 2019-01-02 2022-02-22 Bank Of America Corporation Interactive lineage mapping system
    US11194845B2 (en) 2019-04-19 2021-12-07 Tableau Software, LLC Interactive lineage analyzer for data assets
    CN110442604B (zh) * 2019-07-11 2022-03-11 新华三大数据技术有限公司 数据流向查询方法、抽取方法、处理方法及相关装置
    US20220389354A1 (en) 2019-11-08 2022-12-08 Coors Brewing Company Method of brewing non-alcoholic beer
    US11681721B2 (en) * 2020-05-08 2023-06-20 Jpmorgan Chase Bank, N.A. Systems and methods for spark lineage data capture
    WO2022160335A1 (en) * 2021-02-01 2022-08-04 Paypal, Inc. Graphical user interface to depict data lineage information in levels
    JP2022140929A (ja) * 2021-03-15 2022-09-29 富士通株式会社 情報処理プログラム、情報処理方法、および情報処理装置
    CN113868253B (zh) * 2021-09-28 2024-04-23 中通服创立信息科技有限责任公司 一种数据关系捕获及大数据关系树构建方法

    Family Cites Families (73)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    JP3239170B2 (ja) 1994-07-25 2001-12-17 アタカ工業株式会社 攪拌曝気装置における軸流インペラ
    US6003040A (en) 1998-01-23 1999-12-14 Mital; Vijay Apparatus and method for storing, navigating among and adding links between data items in computer databases
    US7725433B1 (en) 1998-01-26 2010-05-25 International Business Machines Corporation Data navigation system and method employing data transformation lineage model
    JPH11307412A (ja) 1998-04-20 1999-11-05 Matsushita Electron Corp 半導体製造データ処理方法
    US6742003B2 (en) 2001-04-30 2004-05-25 Microsoft Corporation Apparatus and accompanying methods for visualizing clusters of data and hierarchical cluster classifications
    US6725227B1 (en) 1998-10-02 2004-04-20 Nec Corporation Advanced web bookmark database system
    AU2001253712A1 (en) 2000-04-21 2001-11-07 Togethersoft Corporation Methods and systems for identifying dependencies between object-oriented elements
    EP1292887A1 (de) 2000-04-21 2003-03-19 Togethersoft Corporation Verfahren und systeme zur erzeugung von quellcode f r objektorientierte elemente
    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
    US6859217B2 (en) 2000-07-19 2005-02-22 Microsoft Corporation System and method to display and manage data within hierarchies and polyarchies of information
    JP2002288403A (ja) 2001-03-27 2002-10-04 Ntt Comware Corp プロジェクト管理システム、プロジェクト管理方法、及びプロジェクト管理プログラム
    EP1258814A1 (de) 2001-05-17 2002-11-20 Requisite Technology Inc. Verfahren und Vorrichtung zum Analysieren der Qualität des Inhalts einer Datenbank
    JP3761156B2 (ja) 2001-07-27 2006-03-29 三菱電機株式会社 接続図面の編集表示装置、その動作方法およびその方法をコンピュータに実行させるプログラム
    US7970240B1 (en) 2001-12-17 2011-06-28 Google Inc. Method and apparatus for archiving and visualizing digital images
    US7401064B1 (en) 2002-11-07 2008-07-15 Data Advantage Group, Inc. Method and apparatus for obtaining metadata from multiple information sources within an organization in real time
    US7546226B1 (en) 2003-03-12 2009-06-09 Microsoft Corporation Architecture for automating analytical view of business applications
    US7120619B2 (en) 2003-04-22 2006-10-10 Microsoft Corporation Relationship view
    US20040255239A1 (en) 2003-06-13 2004-12-16 Ankur Bhatt Generating electronic reports of data displayed in a computer user interface list view
    EP1510938B1 (de) 2003-08-29 2014-06-18 Sap Ag Verfahren zur Bereitstellung eines Visualisierungsgraphen auf einem Computer und Computer zur Bereitstellung eines Visualisierungsgraphen
    EP1510937A1 (de) 2003-08-29 2005-03-02 Sap Ag Verfahren zur Bereitstellung eines Visualisierungsgraphen auf einem Computer und Computer zur Bereitstellung eines Visualisierungsgraphen
    KR20090039803A (ko) 2003-09-15 2009-04-22 아브 이니티오 소프트웨어 엘엘시 데이터 프로파일링
    US7698348B2 (en) 2003-12-19 2010-04-13 Kinaxis Holdings Inc. Extended database engine providing versioning and embedded analytics
    US7197502B2 (en) 2004-02-18 2007-03-27 Friendly Polynomials, Inc. Machine-implemented activity management system using asynchronously shared activity data objects and journal data items
    US7594227B2 (en) 2004-03-08 2009-09-22 Ab Initio Technology Llc Dependency graph parameter scoping
    US7496583B2 (en) 2004-04-30 2009-02-24 Microsoft Corporation Property tree for metadata navigation and assignment
    EP2487601A1 (de) 2004-05-04 2012-08-15 Boston Consulting Group, Inc. Verfahren und Vorrichtung zur Auswahl, Analyse und Visualisierung ähnlicher Datenbankaufnahmen als ein Netzwerk
    US7177883B2 (en) 2004-07-15 2007-02-13 Hitachi, Ltd. Method and apparatus for hierarchical storage management based on data value and user interest
    US7456840B2 (en) 2004-08-31 2008-11-25 Oracle International Corporation Displaying information using nodes in a graph
    US7844582B1 (en) 2004-10-28 2010-11-30 Stored IQ System and method for involving users in object management
    US7899833B2 (en) 2004-11-02 2011-03-01 Ab Initio Technology Llc Managing related data objects
    US7650349B2 (en) * 2005-01-05 2010-01-19 Microsoft Corporation Prescribed navigation using topology metadata and navigation path
    US7363315B2 (en) 2005-02-22 2008-04-22 Sap Ag Creating, editing, and displaying hierarchical data structures associated with data in a data source
    US8176002B2 (en) 2005-03-24 2012-05-08 Microsoft Corporation Method and system for user alteration of the configuration of a data warehouse
    US7734619B2 (en) 2005-05-27 2010-06-08 International Business Machines Corporation Method of presenting lineage diagrams representing query plans
    US7877350B2 (en) 2005-06-27 2011-01-25 Ab Initio Technology Llc Managing metadata for graph-based computations
    US20070061287A1 (en) 2005-09-09 2007-03-15 Jian Le Method, apparatus and program storage device for optimizing a data warehouse model and operation
    US7493570B2 (en) 2005-09-12 2009-02-17 International Business Machines Corporation User interface options of a data lineage tool
    US8577852B2 (en) 2006-03-23 2013-11-05 Infaxiom Group, Llc Automated records inventory and retention schedule generation system
    WO2007127956A2 (en) 2006-04-28 2007-11-08 Business Objects, S.A. Apparatus and method for merging metadata within a repository
    GB0608926D0 (en) 2006-05-05 2006-06-14 Ibm An assessment method and apparatus for matching vendor offerings to service provider requirements
    US8654125B2 (en) 2006-06-22 2014-02-18 International Business Machines Corporation System and method of chart data layout
    EP1883020B1 (de) 2006-07-28 2013-05-22 Dassault Systèmes Verfahren und System zum Navigieren in einer Datenbank von einem Computersystem
    JP2008134705A (ja) 2006-11-27 2008-06-12 Hitachi Ltd データ処理方法及びデータ分析装置
    US7590672B2 (en) 2006-12-11 2009-09-15 Bycast Inc. Identification of fixed content objects in a distributed fixed content storage system
    JP4398455B2 (ja) * 2006-12-22 2010-01-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 経路探索方法、プログラム及びシステム
    US8640086B2 (en) 2006-12-29 2014-01-28 Sap Ag Graphical user interface system and method for presenting objects
    US20080172629A1 (en) 2007-01-17 2008-07-17 Microsoft Corporation Geometric Performance Metric Data Rendering
    US7849050B2 (en) 2007-01-29 2010-12-07 Business Objects Data Integration, Inc. Apparatus and method for analyzing impact and lineage of multiple source data objects
    CA2593233A1 (en) 2007-07-06 2009-01-06 Cognos Incorporated System and method for federated member-based data integration and reporting
    US8266122B1 (en) 2007-12-19 2012-09-11 Amazon Technologies, Inc. System and method for versioning data in a distributed data store
    US8332782B1 (en) 2008-02-22 2012-12-11 Adobe Systems Incorporated Network visualization and navigation
    JP5643654B2 (ja) 2008-02-26 2014-12-17 アビニシオ テクノロジー エルエルシー データ関連性のグラフ表現
    US8797178B2 (en) * 2008-03-10 2014-08-05 Microsoft Corporation Efficient stream sharing for multi-user sensor data collection
    CN102239468B (zh) 2008-12-02 2017-06-06 起元技术有限责任公司 可视化数据元素之间的关系以及数据元数据属性的图形表示
    US8972899B2 (en) 2009-02-10 2015-03-03 Ayasdi, Inc. Systems and methods for visualization of data analysis
    JP2010244157A (ja) 2009-04-02 2010-10-28 Toshiba Corp 機能ブロック図処理装置,機能ブロック図処理方法,およびプログラム
    US8819010B2 (en) 2010-06-28 2014-08-26 International Business Machines Corporation Efficient representation of data lineage information
    US8819592B2 (en) 2010-09-03 2014-08-26 Robert Lewis Jackson, JR. Sparse dynamic selection trees
    US9824091B2 (en) * 2010-12-03 2017-11-21 Microsoft Technology Licensing, Llc File system backup using change journal
    US9256350B2 (en) 2011-03-30 2016-02-09 Nexsan Technologies Incorporated System for displaying hierarchical information
    US9342579B2 (en) 2011-05-31 2016-05-17 International Business Machines Corporation Visual analysis of multidimensional clusters
    US20120310875A1 (en) 2011-06-03 2012-12-06 Prashanth Prahlad Method and system of generating a data lineage repository with lineage visibility, snapshot comparison and version control in a cloud-computing platform
    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
    US20160063106A1 (en) 2012-08-08 2016-03-03 Google Inc. Related Entity Search
    CN102890720A (zh) 2012-10-16 2013-01-23 南京通达海信息技术有限公司 数据库检查维护方法
    US9063998B2 (en) 2012-10-18 2015-06-23 Oracle International Corporation Associated information propagation system
    US9928287B2 (en) * 2013-02-24 2018-03-27 Technion Research & Development Foundation Limited Processing query to graph database
    SG11201506510WA (en) * 2013-03-15 2015-09-29 Ab Initio Technology Llc System for metadata management
    US20150012315A1 (en) 2013-07-02 2015-01-08 Bank Of America Corporation Data lineage role-based security tools
    US9524331B2 (en) * 2013-11-18 2016-12-20 Nuwafin Holdings Ltd Method and system for representing OLAP queries using directed acyclic graph structures in a datagrid to support real-time analytical operations
    US10793895B2 (en) * 2015-08-24 2020-10-06 Seven Bridges Genomics Inc. Systems and methods for epigenetic analysis
    US10268753B2 (en) * 2015-12-22 2019-04-23 Opera Solutions Usa, Llc System and method for optimized query execution in computerized data modeling and analysis

    Also Published As

    Publication number Publication date
    US11741091B2 (en) 2023-08-29
    CA3045810A1 (en) 2018-06-07
    JP2024038033A (ja) 2024-03-19
    AU2020203027B2 (en) 2021-07-29
    US20180157702A1 (en) 2018-06-07
    WO2018102691A1 (en) 2018-06-07
    JP2022033825A (ja) 2022-03-02
    CN110023925A (zh) 2019-07-16
    JP7410919B2 (ja) 2024-01-10
    JP7170638B2 (ja) 2022-11-14
    JP2020501235A (ja) 2020-01-16
    EP3549036A1 (de) 2019-10-09
    AU2017367772A1 (en) 2019-07-04
    AU2020203027A1 (en) 2020-05-28
    US20240078229A1 (en) 2024-03-07
    AU2017367772B2 (en) 2020-05-14

    Similar Documents

    Publication Publication Date Title
    DE112017006106T5 (de) Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten
    DE69736748T2 (de) Editierumgebung für objektmodelle und verfahren zu deren anwendung
    DE60310255T2 (de) Skalierbarer datenzugang in einem beliebig grossen dokument
    DE60004385T2 (de) Verfahren und systeme um olap hierarchien zusammenfassbar zu machen
    DE102013222384B4 (de) Sicherheits-Screening auf Kontextgrundlage für Zugriff auf Daten
    DE202016005239U1 (de) Graph-basierte Abfragen
    DE112016002395T5 (de) Zugriffskontrolle für Datenressourcen
    DE112013000916T5 (de) System zum Anzeigen und Bearbeiten von Artefakten an einem zeitbezogenen Referenzpunkt
    DE202015009777U1 (de) Transparente Entdeckung eines semistrukturierten Datenschemas
    DE202010018481U1 (de) Asynchroner verteilter Objekt-Upload für replizierte Assoziativspeichercluster
    DE112015000347T5 (de) Verarbeiten von Datensätzen in einer Ablage für große Datenmengen
    DE202011110873U1 (de) Skalierbare Wiedergabe von großen räumlichen Datenbanken
    DE102013215661A1 (de) Kontextbezogene Suche nach einer gespeicherten Datei, die einem Graphenknoten zugehörig ist
    DE202014011539U1 (de) System zum verteilten Verarbeiten in einer Nachrichtenübermittlungsplattform
    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
    DE112015001914T5 (de) Dauerhaftes Speichern und Verwalten von Anwendungsnachrichten
    DE112018005076T5 (de) Erstellen einer rangfolge von dokumenten auf grundlage ihres semantischen reichtums
    DE112013005993T5 (de) Verfahren, Vorrichtung und computerlesbares Medium für eine optimale Bestimmung von Daten-Teilmengen
    DE202015009292U1 (de) Erzeugung eines Aktivitätsflusses
    DE202012013455U1 (de) Kartenerstellung
    DE112019000972T5 (de) Verfahren und Systeme für vereinfachte grafische Abbildungen von bipartiten Graphen
    DE112019005881T5 (de) Kryptografische überprüfung von datenbanktransaktionen
    DE102019005368A1 (de) Verbessern der Konfliktbereinigung innerhalb von synchronisierten konstituententeilbasierten Digitalassets
    DE112017002460T5 (de) Verwenden eines b-baums zum speichern von grapheninformation in einer datenbank

    Legal Events

    Date Code Title Description
    R409 Internal rectification of the legal status completed
    R079 Amendment of ipc main class

    Free format text: PREVIOUS MAIN CLASS: G06F0017300000

    Ipc: G06F0016000000