DE112017006106T5 - Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten - Google Patents
Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information 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/83—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/117—Tagging; 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 Metadatenverarbeitungsumgebung100 , die einen Abstammungsserver102 einschließt, der Abstammungsmetadaten speichert und anderen Systemen in der Umgebung bereitstellt. Die Metadatenverarbeitungsumgebung100 schließt auch einen Metadatenserver104 ein, der typischerweise auf Anfragen nach Metadaten antwortet. Der Metadatenserver104 hat Zugriff auf Metadaten106 , die in einer Metadatendatenbank108 gespeichert sind. Die Metadaten106 stammen von Datenquellen110A -C , die Metadaten112A -C auf fortlaufender Basis zur Metadatendatenbank108 beitragen. Die Datenquellen110A -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 Abfrage114 , die von einem Benutzerendgerät116 empfangen wird, das von einem Benutzer118 betrieben wird. Das Benutzerendgerät116 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ät116 eine netzwerkbasierte Benutzeranwendung, wie z. B. einen Webbrowser, zum Beispiel, wenn der Metadatenserver104 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 Metadatenserver104 eine Abfrage114 verarbeiten, die die Abstammung eines bestimmten Datenelements anfordert, z. B. eines Datenelements120 , das von einer der Datenquellen110A -C gespeichert ist, indem er auf die in der Metadatendatenbank108 gespeicherten Metadaten106 zugreift, die die Abstammung des bestimmten Datenelements beschreiben. Der Metadatenserver104 kann dann dem Benutzerendgerät116 Abstammungsmetadaten122 bereitstellen, z. B. Abstammungsmetadaten in Form eines Abstammungsdiagramms (nachfolgend hinsichtlich2A-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 Metadatenservers104 verwendet. Um zum Beispiel die Abfrage114 zu verarbeiten, muss der Metadatenserver104 möglicherweise auf die in der Metadatendatenbank108 gespeicherten Metadaten106 zugreifen. In diesem Beispiel müsste der Metadatenserver104 Verarbeitungsressourcen aufwenden, die Abfragen an die Metadatendatenbank108 generieren, um auf alle erforderlichen Metadaten zuzugreifen. Ferner führt der Prozess des Übertragens einer Abfrage an die Metadatendatenbank108 und des Wartens auf eine Antwort eine Latenzzeit ein, z. B. eine Kommunikationsnetzwerk-Latenzzeit. Zusätzlich müsste der Metadatenserver104 in einigen Beispielen die von der Metadatendatenbank108 erhaltenen Metadaten verarbeiten, um Metadaten zu extrahieren, die zum Erstellen eines Abstammungsdiagramms erforderlich sind. Zum Beispiel können die von der Metadatenbank108 empfangenen Metadaten Informationen einschließen, die nicht direkt für die Abstammung eines Datenelements von Interesse bezogen sind, da die Metadatenbank108 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 Metadatenserver104 Abstammungsmetadaten bereitzustellen, z. B. um die Leistung der Metadatenverarbeitungsumgebung100 zu verbessern. Der Abstammungsserver102 ist ein spezialisiertes System, das Abstammungsmetadaten124 in einer Form speichert, auf die typischerweise schneller und effizienter zugegriffen werden kann als bei Techniken, die keinen Abstammungsserver verwenden. Insbesondere speichert der Abstammungsserver102 Abstammungsmetadaten124 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 hinsichtlich3 ausführlicher beschrieben. - Bei Gebrauch überträgt der Abstammungsserver
102 Abfragen126 an die Metadatendatenbank108 , um Abstammungsmetadaten128 abzurufen. Der Abstammungsserver102 speichert idealerweise einen umfassenden Bestand an Abstammungsmetadaten, z. B. für die meisten oder alle Datenelemente120 , die von den Datenquellen110A -C gespeichert werden. Auf diese Weise kann der Abstammungsserver102 auf Abfragen nach Abstammung für die meisten der Datenelemente120 , für die eine Abfrage gestellt werden könnte, antworten. Wenn der Abstammungsserver102 Abstammungsmetadaten128 von der Metadatendatenbank108 empfängt, aktualisiert der Abstammungsserver102 seine Datenstrukturen, die gespeicherte Abstammungsmetadaten124 enthalten. In einigen Beispielen sendet der Abstammungsserver102 in regelmäßigen Abständen, z. B. jede Stunde oder jeden Tag oder in einem anderen Abstand, neue Abfragen126 an die Metadaten-Datenbank108 , 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 Abstammungsserver102 verwaltet werden. - Wie in
1B näher dargestellt, empfängt der Metadatenserver104 eine Abfrage114 nach Abstammungsmetadaten (z. B. eine Abfrage nach Abstammungsmetadaten, die zur Anzeige eines Abstammungsdiagramms auf dem Benutzerendgerät116 verwendet werden können), und der Metadatenserver104 kann die Abfrage114 dem Abstammungsserver102 bereitstellen. Der Abstammungsserver kann dann Abstammungsmetadaten122 , die auf die Abfrage114 ansprechen, zurückgeben. Der Metadatenserver104 muss nicht so viel Verarbeitungszeit aufwenden und so viele Verarbeitungsressourcen verwenden, um die empfangenen Abstammungsmetadaten122 vorzubereiten, bevor er sie dem Benutzerendgerät116 bereitstellt, im Vergleich zu Abstammungsmetadaten, die unter Verwendung anderer Techniken abgerufen werden, wie z. B. Abrufen der Abstammungsmetadaten von der Metadatendatenbank108 . -
1C und1D zeigen Elemente des Abstammungsservers102 und des Metadatenservers104 und die Art und Weise, wie sie interagieren. Wie vorstehend beschrieben, empfängt der Metadatenserver104 eine Abfrage114 , die die Abstammung eines bestimmten Datenelements anfordert. Die Abfrage114 identifiziert das bestimmte Datenelement (z. B. eines der Datenelemente120 von1A) , für das eine Abstammung angefordert wird. Der Metadatenserver104 verwendet die Identität des Datenelements, um einen Laufplan130 aus einem Satz von Laufplänen132 auszuwählen, der zum Sammeln von Abstammungsmetadaten in Bezug auf das Datenelement verwendet werden kann. Ein Laufplan130 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äne132 zugeordnet werden (z. B. eine Zuordnung, die in einem Index von Zuordnungen, auf den der Metadatenserver104 zugreifen kann, gespeichert ist). Die Laufpläne132 werden nachfolgend hinsichtlich4 ausführlich beschrieben. - Sobald ein Laufplan
130 ausgewählt wurde, überträgt der Metadatenserver104 die Abfrage114 und den Laufplan130 an den Abstammungsserver102 . Als Reaktion darauf identifiziert der Abstammungsserver102 die für die Abfrage114 relevanten Abstammungsmetadaten unter seinen Datenstrukturen134 von Abstammungsmetadaten. Die Datenstrukturen134 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 Abstammungsserver102 typischerweise die in seinen Datenstrukturen134 gespeicherten Daten verwenden, um dem Metadatenserver104 alle Abstammungsmetadaten bereitzustellen, die der Metadatenserver104 benötigen würde, um auf eine Abfrage114 zu antworten. Die Datenstrukturen134 werden nachfolgend hinsichtlich3 ausführlich beschrieben. - Bei einigen Implementierungen werden die Datenstrukturen
134 für schnellen Zugriff (z. B. schnelles Lesen und Schreiben von Daten) in den Speicher135 des Abstammungsservers102 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 Datenstrukturen134 im Speicher135 speichert, kann der Abstammungsserver102 Abstammungsmetadaten schneller lesen und schreiben als Techniken, die die Datenstrukturen nicht im Speicher135 speichern. Insbesondere sind die Datenstrukturen134 so angeordnet, dass die Datennutzungsmenge minimiert wird. Zum Beispiel können die Datenstrukturen134 Daten, wie z. B. Textzeichenketten, die in den ursprünglichen vom Metadatenserver104 erhaltenen Abstammungsmetadaten vorhanden sind, auslassen. Somit können alle Datenstrukturen134 , z. B. alle Daten, die Abstammungsmetadaten repräsentieren, im Speicher135 gespeichert werden, während der Abstammungsserver102 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 Datenstrukturen134 eine Obergrenze für ihre kombinierte Größe auf einem bestimmten Computersystem haben. Dementsprechend minimieren die hierin beschriebenen Techniken (z. B. die nachfolgend hinsichtlich3 beschriebenen Techniken) ihre Größe, behalten jedoch Informationen bezüglich Abstammung, die von einer Abfrage114 angefordert werden können, bei. - Bei einigen Implementierungen speichert der Metadatenserver
104 auch Abstammungsmetadaten137 (z. B. von der in1A gezeigten Metadatendatenbank108 erhaltene Abstammungsmetadaten). Der Metadatenserver104 speichert jedoch nicht die meisten seiner gespeicherten Abstammungsmetadaten137 in Direktzugriffsspeicher, z. B., weil der Metadatenserver104 nicht die Datenstrukturen des Abstammungsservers102 verwendet. Selbst wenn der Metadatenserver104 auch einige Abstammungsmetadaten137 speichert, kann der Metadatenserver104 auf die Abstammungsmetadaten124 des Abstammungsservers102 zugreifen, um beliebige Metadaten zu erhalten, die nicht lokal auf dem Metadatenserver104 gespeichert sind. Wenn der Abstammungsserver102 nicht verwendet würde, würde ein Metadatenserver104 , der einige Abstammungsmetadaten137 speichert, typischerweise auf in der Metadatendatenbank108 (1A) gespeicherte Abstammungsmetadaten zugreifen, was, wie oben beschrieben, im Vergleich zur Verwendung des Abstammungsservers102 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 Laufplan130 , um die Datenstrukturen134 zu durchlaufen und in den Datenstrukturen gespeicherte Abstammungsmetadaten zu sammeln, die auf die Abfrage114 ansprechen. Wie in1D gezeigt, sendet der Abstammungsserver102 dann eine Antwort138 mit den Abstammungsmetadaten139 zurück zum Metadatenserver104 . Der Metadatenserver104 kann die Abstammungsmetadaten139 verwenden, um seine eigene Antwort140 auf die Abfrage114 zu generieren. Die Antwort140 könnte eine von mehreren Formen annehmen. In einigen Beispielen enthält die Antwort140 die gleichen Abstammungsmetadaten139 , die vom Abstammungsserver102 empfangen wurden, z. B. in einer Form mit minimaler Nachbearbeitung. In einigen Beispielen führt der Metadatenserver104 Nachbearbeitung der Abstammungsmetadaten139 durch. Der Metadatenserver104 kann zum Beispiel die Form der Abstammungsmetadaten139 in eine für den Menschen lesbare Form ändern, z. B. wenn die Abstammungsmetadaten139 in einem kodierten Format empfangen werden, das für den Menschen nicht lesbar ist. In einigen Beispielen generiert der Metadatenserver104 ein Abstammungsdiagramm basierend auf den Abstammungsmetadaten139 und nimmt Daten, die das Abstammungsdiagramm repräsentieren, in die Antwort140 auf. In einigen Beispielen wird die Antwort140 an das Benutzerendgerät116 übertragen (1A), z . B. wenn die Antwort140 ein Abstammungsdiagramm ist (wie nachfolgend hinsichtlich2A-2E ausführlich beschrieben). In einigen Beispielen wird die Antwort140 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 in1A gezeigten Benutzerendgerät116 , Im Beispiel von2A zeigt die Metadatenbetrachtungsumgebung Informationen in Bezug auf ein Datenabstammungsdiagramm200A an. Ein Beispiel für eine Metadatenbetrachtungsumgebung ist eine webbasierte Anwendung, die es einem Benutzer (z. B. dem in1A gezeigt Benutzer118 ) 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 von2A veranschaulicht ein Abstammungsdiagramm für Zielelement206A . - 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 Datenelementen202A und Transformationen204A gezeigt, zwei Beispiele für Metadatenobjekte. Die Metadatenobjekte sind durch Knoten im Diagramm dargestellt. Datenelemente202A 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 Transformation204A 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 Abstammungsdiagramm200B für das gleiche Zielelement206A , das in2A gezeigt ist, außer dass jedes Element202B gruppiert und in einer Gruppe basierend auf einem Kontext gezeigt ist. Datenelemente202B sind zum Beispiel in Datensätzen208B (z. B. Tabellen, Dateien, Nachrichten und Berichten), Anwendungen210B (die ausführbare Dateien, wie z. B. Grafiken, Pläne und Programme sowie die Datensätze, mit denen sie arbeiten, enthalten) und Systemen212B gruppiert. Systeme212B 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). Transformationen204B sind in ausführbaren Dateien214B , Anwendungen210B und Systemen212B 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 Abstammungsdiagramm200C für das Zielelement206A gezeigt, wobei der Auflösungsgrad jedoch auf Anwendungen eingestellt ist, die an der Berechnung für das Zieldatenelement206A beteiligt sind. Insbesondere werden die Anwendungen202C ,204C ,206C ,208C und210C gezeigt, da nur diese Anwendungen direkt an der Berechnung für das Zieldatenelement206A 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äche212C betätigen. -
2D zeigt ein entsprechendes Abstammungsdiagramm200D in einem anderen Auflösungsniveau. In diesem Beispiel wurde eine Aufklapp-/Zuklappschaltfläche212C von einem Benutzer betätigt, und die Metadatenbetrachtungsumgebung zeigt nun das gleiche Abstammungsdiagramm an, aber die Anwendung202C wurde erweitert, um die Datensätze214D und die ausführbaren Dateien216D innerhalb der Anwendung202C zu zeigen. -
2E zeigt ein entsprechendes Abstammungsdiagramm200E 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 - 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 Abstammungsserver102 Datenstrukturen134 , um Abstammungsmetadaten im Speicher (z. B. Direktzugriffsspeicher) zu speichern.3 zeigt eine beispielhafte Datenstruktur300 . Bei Gebrauch enthält der Abstammungsserver102 viele Instanzen der Datenstruktur300 . 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 Datenstruktur300 wird manchmal als ein „Knoten“ bezeichnet. - Jede Instanz der Datenstruktur
300 repräsentiert ein Metadatenobjekt, z. B. eines der Datenelemente202A oder eine der Transformationen204A , wie in2A gezeigt. In einigen Beispielen repräsentiert jede Instanz der Datenstruktur300 einen Knoten, der in einem Abstammungsdiagramm gezeigt werden kann, z. B. in den Diagrammen200A -200E der2A-2E . - Be Gebrauch speichert der Abstammungsserver
102 jede Datenstruktur300 an einem für die Datenstruktur spezifischen Speicherplatz302 . Jede Datenstruktur300 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 Datenstruktur300 ausmachen. Ein Kennungsfeld310 schließt Daten ein, die eine eindeutige Kennung für eine Instanz der Datenstruktur300 darstellen. Ein Typenfeld312 schließt Daten ein, die einen Typ eines Metadatenobjekts repräsentieren, das durch die entsprechende Instanz der Datenstruktur300 repräsentiert wird. In einigen Beispielen könnte der Typ „Datenelement“, „Transformation“ und so weiter sein. In einigen Beispielen gibt das Typenfeld312 auch an, wie viele Vorwärts- und Rückwärtskanten in der Instanz der Datenstruktur300 eingeschlossen sind. Eigenschaftsfelder314 repräsentieren jeweils unterschiedliche Merkmale des Metadatenobjekts, das durch die entsprechende Instanz der Datenstruktur300 repräsentiert wird. Beispiele für die Eigenschaftsfelder314 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 Typenfeld312 und die Eigenschaftsfelder314 für eine bestimmte Instanz des Abstammungsservers102 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ärtskanten316D -F repräsentieren. Die Kantenfelder316A -F ermöglichen es dem Abstammungsserver102 , 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 Zeigerfeld320A -B ein. Das Zeigerfeld320A -B speichert eine Adresse eines jeweiligen Speicherplatzes322A -B . Im Allgemeinen bezieht sich ein Speicherplatz322A -B , auf den durch ein Zeigerfeld320A B verwiesen wird, auf einen Speicherabschnitt, der eine weitere Instanz der Datenstruktur300 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 Kanten316A -D z. B. den Beziehungen zwischen den in den Abstammungsdiagrammbeispielen200A -E der2A-2E gezeigten Metadatenobjekten entsprechen. Eine Vorderkante316A repräsentiert zum Beispiel eine Wirkung, die ein Metadatenobjekt (z. B. das durch diese Instanz der Datenstruktur300 repräsentierte Metadatenobjekt) auf ein anderes Metadatenobjekt (z. B. das durch die Instanz der Datenstruktur am Speicherplatz322A repräsentierte Metadatenobjekt) hat. Als ein weiteres Beispiel repräsentiert eine Rückwärtskante316D eine Wirkung, die ein weiteres Metadatenobjekt (z. B. das durch die Instanz der Datenstruktur am Speicherplatz322B repräsentierte Metadatenobjekt) auf das Metadatenobjekt dieser Instanz der Datenstruktur300 hat. - Jedes Kantenfeld
316A -F schließt auch ein oder mehrere Kennzeichen324 ein. Die Kennzeichen324 sind Indikatoren für Informationen zu ihrer zugehörigen Kante. In einigen Beispielen kann eines der Kennzeichen324 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 Kennungsfeld310 , dem Typenfeld312 und den Eigenschaftsfeldern314 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 Typenfeld312 nur drei Bits lang sein. Komplexere Daten, wie z. B. Textzeichenketten, die Knotentypen repräsentieren, müssen nicht verwendet werden. Ferner umfassen die dem Speicherplatz322A -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 Datenstruktur300 instanziiert. So können die meisten oder alle Instanzen einer Datenstruktur300 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 Laufplan400 . Wie vorstehend hinsichtlich1C beschrieben, werden Laufpläne400 typischerweise vom Metadatenserver104 gespeichert. Bei Gebrauch stellt der Metadatenserver104 dem Abstammungsserver102 einen Laufplan zur Verfügung, wenn er Abstammungsmetadaten anfordert. - Ein Laufplan
400 beschreibt Informationen, die der Abstammungsserver102 beim Durchlaufen seiner gespeicherten Datenstrukturen134 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ätze402A -C für jeden Kantentyp ein, der zu den Typen von Kanten gehören kann, die durch die vom Abstammungsserver102 gespeicherten Abstammungsmetadaten repräsentiert werden. Ein Datensatz402A schließt ein Kantentypenfeld404 ein, das Daten einschließt, die den dem Datensatz402A entsprechenden Kantentyp angeben. Ein Datensatz402A schließt auch ein Verfolgungskennzeichen406 , ein Knotensammelkennzeichen408 und ein Kantensammelkennzeichen409 für die Vorwärtsrichtung410 und ein Verfolgungskennzeichen412 , ein Knotensammelkennzeichen414 und ein Kantensammelkennzeichen415 für die Rückwärtsrichtung416 ein. - Ein Verfolgungskennzeichen
406 ,412 gibt an, ob der Abstammungsserver102 beim Durchlaufen seiner Datenstrukturen134 eine Kante dieses Kantentyps verfolgen soll oder nicht. Anders ausgedrückt, ein Verfolgungskennzeichen406 für die Vorwärtsrichtung410 gibt an, ob der Abstammungsserver102 , Bezug nehmend auf3 , auf den Speicherplatz322A , der durch ein Zeigerfeld320A eines Vorwärtskantenfelds316A einer Instanz der Datenstruktur300 identifiziert wurde, zugreifen soll oder nicht. In ähnlicher Weise gibt ein Verfolgungskennzeichen412 für die Rückwärtsrichtung416 an, ob der Abstammungsserver102 , Bezug nehmend auf3 , auf den Speicherplatz322b , der durch ein Zeigerfeld320b eines Rückwärtskantenfelds316D einer Instanz der Datenstruktur300 identifiziert wurde, zugreifen soll oder nicht. - Ein Knotensammelkennzeichen
408 ,414 gibt an, ob der Abstammungsserver102 eine Instanz der Datenstruktur300 (3 ), die manchmal als „Knoten“ bezeichnet und auf die von diesem Kantentyp beim Durchlaufen seiner Datenstrukturen134 verwiesen wird, sammeln soll oder nicht. Wenn wir uns auf Sammeln einer Instanz der Datenstruktur300 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 Abstammungsserver102 (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 Datenstruktur300 repräsentiert wird, zu den Abstammungsmetadaten, die vom Abstammungsserver102 zurückgegeben werden. - Ein Kantensammelkennzeichen
409 ,415 gibt an, ob der Abstammungsserver102 die Kante (z. B. entsprechend dem Zeigerfeld320A einer Instanz der Datenstruktur300 ) sammeln soll oder nicht. Wenn eine Kante gesammelt wird, gehören die Daten, die die Kante repräsentieren, zu den Abstammungsmetadaten, die vom Abstammungsserver102 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 Knotensammelkennzeichen408 ,414 und Kantensammelkennzeichen409 ,415 in einem Laufplan400 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.
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.
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 .
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)
- 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.
- 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. - 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. - Verfahren nach einem beliebigen der
Ansprüche 1 bis3 , wobei wenigstens einer der Identifikationswerte einen Knoten repräsentiert, der dem in der Abfrage identifizierten bestimmten Datenelement entspricht. - Verfahren nach einem beliebigen der
Ansprüche 1 bis4 , 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. - 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. - Verfahren nach einem beliebigen der
Ansprüche 1 bis6 , wobei der Satz von Metadaten jeweiligen Knoten zugeordnete Textzeichenketten einschließt, wobei die Datenstruktur wenigstens eine der Textzeichenketten weglässt. - Verfahren nach einem beliebigen der
Ansprüche 1 bis7 , 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. - Verfahren nach einem beliebigen der
Ansprüche 1 bis8 , 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. - Verfahren nach einem beliebigen der
Ansprüche 1 bis9 , 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. - Verfahren nach einem beliebigen der
Ansprüche 1 bis10 , 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. - Verfahren nach einem beliebigen der
Ansprüche 1 bis11 , 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. - 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.
- 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.
- 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.
- 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.
- Verfahren nach
Anspruch 16 , wobei die Knoten jeweiligen Instanzen einer Datenstruktur entsprechen und die Kanten jeweiligen Zeigern auf eine jeweilige Instanz der Datenstruktur entsprechen. - 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. - Verfahren nach einem beliebigen der
Ansprüche 16 bis18 , wobei der Laufplan basierend auf einem Datentyp des bestimmten, durch die Abfrage identifizierten Datenelements gewählt wird. - Verfahren nach einem beliebigen der
Ansprüche 16 bis19 , wobei der Laufplan ein strukturiertes Dokument einschließt.
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)
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)
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 |
-
2017
- 2017-12-01 US US15/829,152 patent/US11741091B2/en active Active
- 2017-12-01 AU AU2017367772A patent/AU2017367772B2/en active Active
- 2017-12-01 CN CN201780074708.3A patent/CN110023925A/zh active Pending
- 2017-12-01 EP EP17851913.8A patent/EP3549036A1/de active Pending
- 2017-12-01 CA CA3045810A patent/CA3045810A1/en active Pending
- 2017-12-01 JP JP2019525760A patent/JP7170638B2/ja active Active
- 2017-12-01 DE DE112017006106.7T patent/DE112017006106T5/de active Pending
- 2017-12-01 WO PCT/US2017/064227 patent/WO2018102691A1/en unknown
-
2020
- 2020-05-07 AU AU2020203027A patent/AU2020203027B2/en active Active
-
2021
- 2021-11-25 JP JP2021191498A patent/JP7410919B2/ja active Active
-
2023
- 2023-06-30 US US18/345,706 patent/US20240078229A1/en active Pending
- 2023-12-22 JP JP2023216403A patent/JP2024038033A/ja active Pending
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 |