DE112021004092T5 - Effiziente datenqualitätsanalyse in echtzeit - Google Patents

Effiziente datenqualitätsanalyse in echtzeit Download PDF

Info

Publication number
DE112021004092T5
DE112021004092T5 DE112021004092.8T DE112021004092T DE112021004092T5 DE 112021004092 T5 DE112021004092 T5 DE 112021004092T5 DE 112021004092 T DE112021004092 T DE 112021004092T DE 112021004092 T5 DE112021004092 T5 DE 112021004092T5
Authority
DE
Germany
Prior art keywords
data
dqms
computer
data quality
dqa
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112021004092.8T
Other languages
English (en)
Inventor
Arun Iyengar
Anuradha Bhamidipaty
Dhavalkumar Patel
Shrey Shrivastava
Nianjun Zhou
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112021004092T5 publication Critical patent/DE112021004092T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Operations Research (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Investigating Or Analysing Materials By Optical Means (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)
  • Investigating Or Analysing Biological Materials (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Ausführungsformen der Erfindung beziehen sich auf ein auf einem Computer implementiertes Verfahren zum effizienten Beurteilen von Datenqualitätsmetriken. Ein nichtbeschränkendes Beispiel für das auf einem Computer implementierte Verfahren enthält ein Empfangen einer Mehrzahl von Aktualisierungen von Datenpunkten in einem Datenstrom mithilfe eines Prozessors. Der Prozessor wird des Weiteren dazu verwendet, eine Mehrzahl von Datenqualitätsmetriken (DQMs) bereitzustellen und Informationen darüber vorzuhalten, wie stark die Mehrzahl von DQMs sich im Zeitverlauf ändert. Der Prozessor hält darüber hinaus Informationen über den Rechenaufwand für die Mehrzahl von DQMs vor und aktualisiert außerdem Datenqualitätsinformationen auf Grundlage der vorgehaltenen Informationen.

Description

  • HINTERGRUND
  • Die vorliegende Erfindung bezieht sich allgemein auf programmierbare Computer und, genauer gesagt, auf programmierbare Computer, auf einem Computer implementierte Verfahren und Computerprogrammprodukte, die Qualitätsmetriken neuer Daten und verwandte Techniken zur Datenqualitätsanalyse implementieren. Gemäß Aspekten der Erfindung sind die Qualitätsmetriken neuer Daten und verwandte Techniken zur Datenqualitätsanalyse dazu konfiguriert, die Datenverarbeitungs-Ressourcen, die zum Durchführen einer inkrementellen Datenqualitätsanalyse an Datensätzen erforderlich sind, die neue oder aktualisierte Daten aufweisen, die sich im Zeitverlauf ändern, effizient zuzuordnen und zu nutzen.
  • In Computerprozessoranwendungen bezieht sich der Ausdruck „Big Data“ auf extrem große Datensätze, die rechnerisch analysiert werden können, um Muster, Entwicklungen und Zugehörigkeiten, im Besonderen diejenigen, die sich auf menschliche(s) Verhalten und Interaktionen beziehen, sichtbar zu machen. Big Data können durch hochentwickelte Systeme zur rechnerischen Analyse wie zum Beispiel Algorithmen für maschinelles Lernen (ML), Algorithmen der künstlichen Intelligenz (artificial intelligence, AI), Deep-Learning-Algorithmen, Systeme für das Internet der Dinge (internet of things, loT) und dergleichen genutzt werden. Da die Nachfrage nach Fachleuten für ML größer als das Angebot ist, sind benutzerfreundliche automatisierte ML/AI-Computersysteme entwickelt worden. Bekannte automatisierte AI/ML-Systeme können eine Vielfalt von AI/ML-Entwicklungsaufgaben wie zum Beispiel Modellauswahl, Hyperparameteroptimierung, automatisiertes Stapeln (Ensembles), neuronale Architektursuche, Pipeline-Optimierung und Feature-Engineering automatisieren.
  • Die Leistungsfähigkeit von automatisierten ML/Al-Systemen hängt stark davon ab, wie gut die Trainings-Daten des Systems qualitativ bereinigt und analysiert worden sind, damit die Daten für eine effektive Nutzung durch ML-Modelle geeignet werden. Wenn sie unerkannt bleibt, kann eine schlechte Datenqualität große Abweichungen in der durch hochentwickelte AI/ML-Systeme durchgeführten Analyse verursachen, wodurch falsche und irreführende Ergebnisse erzeugt werden. Da der Prozess zum Identifizieren und Behandeln von Datenqualitätsproblemen arbeitsintensiv sein kann, ist ein skalierbares, automatisiertes und interaktives Datenqualitätswerkzeug/-system, das als System Data Quality Advisor oder als System DQLearn bekannt ist, durch IBM® entwickelt worden. Zur einfacheren Beschreibung wird der Begriff System zur Datenqualitätsanalyse (DQA) hier so verwendet, dass er sich insgesamt auf das System Data Quality Advisor (oder DQLearn) sowie auf sonstige bekannte Systeme zur Datenqualitätsanalyse mit ähnlichen Merkmalen wie das DQA/DQLearn-System bezieht. Der Framework des DQA-Systems führt eine Vielfalt von Aufgaben zur Datenqualitätsanalyse durch, darunter ein automatisches Erzeugen von dynamischen, ausführbaren Graphen zum Durchführen von Datenvalidierungen, die für einen jeweiligen Datensatz optimiert sind; Erstellen einer Bibliothek von Validierungsprüfungen, die zahlreichen Anwendungen gemeinsam sind; und Anwenden verschiedener Werkzeuge zum Behandeln der Probleme bei Persistenz und Benutzerfreundlichkeit, durch die eine Datenbereinigung zu einer aufwendigen Aufgabe für Datenwissenschaftler wird.
  • DQA-Systeme führen Datenqualitätsprüfungen an Datensätzen durch, die fortlaufend durch eine Datenqualitätsanalyse-Pipeline gestreamt werden. Die Datenqualitätsprüfungen gehen mit einem Messen und/oder Analysieren verschiedener Merkmale oder Eigenschaften der Datensätze einher, um Datenqualitätsmetriken (DQMs) zu erzeugen, die einen Benutzer mit einer Rückmeldung zur Datenqualität versorgen. Beispielsweise besteht eine bekannte Datenqualitätsprüfung darin, NULL-Werte in einem Datensatz zu identifizieren/messen, und eine bekannte entsprechende DQM ist der Prozentsatz von NULL-Werten in dem Datensatz. In vielen Fällen enthalten die Daten, die analysiert werden, Daten, die zuvor auf Datenqualität geprüft worden sind, zusammen mit Daten, die zuvor nicht auf Datenqualität geprüft worden sind (d.h., neue/aktualisierte Daten).
  • DQA-Systeme aktualisieren DQM-Messwerte fortlaufend, wenn neue/aktualisierte Daten empfangen werden, und das Neuberechnen dieser DQMs kann eine erhebliche Menge von Rechen-Ressourcen in Anspruch nehmen. Um diesem Problem zu begegnen, können bekannte DQA-Systeme DQMs inkrementell berechnen, was bedeutet, dass, anstatt den rechenintensiven Ansatz zu verfolgen, DQMs für den gesamten anfänglichen Datensatz jedes Mal neu zu berechnen, wenn der Datensatz für eine Datenqualitätsbewertung ansteht, DQMs „inkrementell“ berechnet werden, indem die DQMs für die neuen/aktualisierten Daten berechnet werden und sie mit DQM-Informationen kombiniert werden, die zuvor für den/die unveränderten Teil(e) des anfänglichen Datensatzes berechnet worden sind.
  • Techniken zur Datenqualitätsanalyse, die DQMs für neue/aktualisierte Daten inkrementell berechnen, stellen einen höheren Grad an Effizienz von Datenverarbeitungs-Ressourcen gegenüber Techniken zur Datenqualitätsanalyse bereit, die DQMs nicht inkrementell für neue/aktualisierte Daten berechnen. Bei bekannten Techniken zur Datenqualitätsanalyse sind die DQMs selbst jedoch statisch und berücksichtigen nicht den Umstand, dass, wenn sie über ausgewählte Zeitfenster betrachtet werden, die neuen/aktualisierten Daten, von denen die DQMs abgeleitet werden, nichtstatisch sind und sich fortwährend ändern. Dementsprechend mangelt es bekannten Techniken zur Datenqualitätsanalyse, die DQMs für neue/aktualisierte Daten inkrementell ermitteln, immer noch an Effizienz bei ihrer Zuordnung und Verwendung von Datenverarbeitungs-Ressourcen, da bekannte Techniken zur Datenqualitätsanalyse nicht gut an neue/aktualisierte Daten angepasst sind, die sich im Zeitverlauf fortwährend ändern.
  • KURZDARSTELLUNG
  • Ausführungsformen der Erfindung beziehen sich auf ein auf einem Computer implementiertes Verfahren zum effizienten Beurteilen von Datenqualitätsmetriken. Ein nichtbeschränkendes Beispiel für das auf einem Computer implementierte Verfahren enthält ein Empfangen einer Mehrzahl von Aktualisierungen von Datenpunkten in einem Datenstrom mithilfe eines Prozessors. Der Prozessor wird des Weiteren dazu verwendet, eine Mehrzahl von Datenqualitätsmetriken (DQMs) bereitzustellen und Informationen darüber vorzuhalten, wie stark die Mehrzahl von DQMs sich im Zeitverlauf ändert. Der Prozessor hält darüber hinaus Informationen über den Rechenaufwand für die Mehrzahl von DQMs vor und aktualisiert außerdem Datenqualitätsinformationen auf Grundlage der vorgehaltenen Informationen.
  • Das oben beschriebene auf einem Computer implementierte Verfahren stellt Verbesserungen gegenüber bekannten Verfahren zum Beurteilen einer Datenqualität bereit, indem es Informationen über den Rechenaufwand für seine im Zeitverlauf berechneten DQMs vorhält und indem es darüber hinaus Datenqualitätsinformationen auf Grundlage der vorgehaltenen Informationen aktualisiert. Dementsprechend ordnet das oben beschriebene auf einem Computer implementierte Verfahren Datenverarbeitungs-Ressourcen effizient zu, da es in einer Weise DQMs berechnet und DQM-Rechen-Ressourcen zuordnet, die gut an eingehende Datenpunkte angepasst ist, die sich im Zeitverlauf fortwährend ändern.
  • Das oben beschriebene auf einem Computer implementierte Verfahren kann des Weiteren ein Empfangen zumindest eines Wichtigkeitswertes; ein Zuweisen des zumindest einen Wichtigkeitswertes zu einer der Mehrzahl von DQMs; ein Zuweisen einer Einstufung zu jeder der Mehrzahl von DQMs auf Grundlage eines Aufwands zum Berechnen der Datenqualitätsmetrik und einer Änderungsgeschwindigkeit der Datenqualitätsmetrik, wenn neue Datenpunkte des Datenstroms empfangen werden; und ein Einbeziehen das zumindest einen Wichtigkeitswertes, der der einen der Mehrzahl von DQMs zugewiesen ist, in die Einstufung enthalten.
  • Das oben beschriebene auf einem Computer implementierte Verfahren stellt Verbesserungen gegenüber bekannten Verfahren zum Beurteilen einer Datenqualität bereit, indem es einen Wichtigkeitswert der DQMs beim Vorhalten von Informationen über den Rechenaufwand für seine im Zeitverlauf berechneten DQMs berücksichtigt. Dementsprechend ordnet das oben beschriebene auf einem Computer implementierte Verfahren Datenverarbeitungs-Ressourcen effizient zu, da es in einer Weise DQMs berechnet und DQM-Rechen-Ressourcen zuordnet, die gut an eingehende Datenpunkte angepasst ist, die sich im Zeitverlauf fortwährend ändern.
  • Das oben beschriebene auf einem Computer implementierte Verfahren kann des Weiteren ein Angeben einer maximalen Zeit, (tmax), zum Aktualisieren der Mehrzahl von DQM; und ein Beenden des Aktualisierens der Mehrzahl von DQMs, nachdem tmax überschritten worden ist, enthalten.
  • Das oben beschriebene auf einem Computer implementierte Verfahren stellt Verbesserungen gegenüber bekannten Verfahren zum Beurteilen einer Datenqualität bereit, indem es eine maximale Zeit zum Aktualisieren von DQMs berücksichtigt und das Aktualisieren beendet, wenn die maximale Zeit erreicht ist. Dementsprechend ordnet das oben beschriebene auf einem Computer implementierte Verfahren Datenverarbeitungs-Ressourcen effizient zu, da es in einer Weise, die die Zeit begrenzt, die für DQM-Aktualisierungen aufgewendet werden kann, und in einer Weise, die gut an eingehende Datenpunkte angepasst ist, die sich im Zeitverlauf fortwährend ändern, DQMs berechnet und DQM-Rechen-Ressourcen zuordnet.
  • Das oben beschriebene auf einem Computer implementierte Verfahren kann des Weiteren ein Analysieren von Instanzen einer über eine Mehrzahl von Zeitintervallen berechneten DQM; ein Ermitteln, dass zumindest eines der Mehrzahl von Zeitintervallen einen anomalen Wert für eine Instanz der DQM aufweist, die während des zumindest einen der Mehrzahl von Zeitintervallen berechnet worden ist; ein Berechnen eines gewichteten Aggregatwertes einer Instanz der DQM über die Mehrzahl von Zeitintervallen hinweg; und ein Zuweisen von niedrigeren Werten des gewichteten Aggregatwertes zu Instanzen der DQM in Zeitintervallen der Mehrzahl von Zeitintervallen mit dem anomalen Wert enthalten.
  • Das oben beschriebene auf einem Computer implementierte Verfahren stellt Verbesserungen gegenüber bekannten Verfahren zum Beurteilen einer Datenqualität bereit, indem es anomale Datenpunkte über mehrere Zeitintervalle identifiziert und Datenpunkten, die als anomal identifiziert werden, eine niedrigere Gewichtung zuweist. Dementsprechend ordnet das oben beschriebene auf einem Computer implementierte Verfahren Datenverarbeitungs-Ressourcen effizient zu, da es ein anomales Verhalten unter den Datenpunkten in einer Weise identifiziert, die gut an eingehende Datenpunkte angepasst ist, die sich im Zeitverlauf fortwährend ändern.
  • Ausführungsformen der Erfindung beziehen sich darüber hinaus auf Computersysteme und Computerprogrammprodukte, die im Wesentlichen dieselbe(n) Merkmale und Funktionalität wie die oben beschriebenen auf einem Computer implementierten Verfahren aufweisen.
  • Zusätzliche Merkmale und Vorteile werden durch die hierin beschriebenen Techniken umgesetzt. Sonstige Ausführungsformen und Aspekte werden hierin ausführlich beschrieben. Zum besseren Verständnis sei auf die Beschreibung und auf die Zeichnungen verwiesen.
  • Figurenliste
  • Der Gegenstand, der als Ausführungsformen angesehen wird, wird in den Ansprüchen am Ende der Beschreibung genau dargelegt und ausdrücklich beansprucht. Die obigen und sonstige Merkmale und Vorteile der Ausführungsformen werden aus der folgenden ausführlichen Beschreibung in Verbindung mit den beigefügten Zeichnungen deutlich, in denen:
    • 1 ein System zur Datenqualitätsanalyse (DQA) mit einem Echtzeit-DQA-Modul darstellt, das dazu konfiguriert ist, eine Vielfalt von Funktionen zur nichtstatischen Datenqualitätsanalyse in Echtzeit gemäß Aspekten der Erfindung zu implementieren;
    • 2 Beispiele für Datenqualitätsprüfungen darstellt, die durch das in 1 dargestellte DQA-System ausgeführt werden können;
    • 3 ein Beispiel für einen Datenrahmen darstellt, der durch das in 1 dargestellte DQA-System analysiert werden kann;
    • 4 ein Beispiel für einen Datenrahmen mit Zeitintervallen gemäß Aspekten der Erfindung darstellt, wobei der Datenrahmen mit Zeitintervallen geeignet ist, durch die Echtzeit-DQA-Funktionen des in 1 dargestellten DQA-Systems analysiert zu werden;
    • 5 Abläufe darstellt, die durch das in 1 dargestellte DQA-System implementiert werden können;
    • 6 Blockschaubilder darstellt, die zusätzliche Aspekte der in 5 dargestellten Abläufe veranschaulichen;
    • 7 ein Blockschaubild darstellt, das zusätzliche Einzelheiten darüber veranschaulicht, wie das Echtzeit-DQA-Modul des in 1 und 5 dargestellten DQA-Systems gemäß Ausführungsformen der Erfindung implementiert werden kann;
    • 8 ein Blockschaubild darstellt, das veranschaulicht, wie ein Teilmodul zum Berechnen von DQMs für sich ändernde Daten gemäß Aspekten der Erfindung durch das in 7 dargestellte Echtzeit-DQA-Modul implementiert werden kann;
    • 9 ein Blockschaubild darstellt, das veranschaulicht, wie ein Teilmodul zum Berechnen von DQMs für sich ändernde Einschränkungen gemäß Aspekten der Erfindung durch das in 7 dargestellte Echtzeit-DQA-Modul implementiert werden kann;
    • 10A ein Blockschaubild darstellt, das veranschaulicht, wie ein Teilmodul zum Berechnen von DQMs für sich ändernde anomale Daten gemäß Aspekten der Erfindung durch das in 7 dargestellte Echtzeit-DQA-Modul implementiert werden kann;
    • 10B einen Ablaufplan darstellt, der ein auf einem Computer implementiertes Verfahren gemäß Aspekten der Erfindung veranschaulicht;
    • 11 ein Blockschaubild darstellt, das veranschaulicht, wie ein Teilmodul zum Durchführen von inkrementellen Berechnungen von DQMs im allgemeinen Fall gemäß Aspekten der Erfindung durch das in 7 dargestellte Echtzeit-DQA-Modul implementiert werden kann;
    • 12 Beispiele für DQMs darstellt, die mithilfe des in 7 und 11 dargestellten Teilmoduls zum Durchführen von inkrementellen Berechnungen von DQMs im allgemeinen Fall inkrementell berechnet werden können;
    • 13 einen Ablaufplan darstellt, der ein auf einem Computer implementiertes Verfahren veranschaulicht, das geeignet ist, durch das in 7 und 11 dargestellte Teilmodul zum Durchführen von inkrementellen Berechnungen von DQMs im allgemeinen Fall ausgeführt zu werden;
    • 14 einen Ablaufplan darstellt, der ein auf einem Computer implementiertes Verfahren veranschaulicht, das geeignet ist, durch das in 7 und 11 dargestellte Teilmodul zum Durchführen von inkrementellen Berechnungen von DQMs im allgemeinen Fall ausgeführt zu werden;
    • 15 Gleichungen darstellt, die durch die in 7, 11, 13 und 14 dargestellten auf einem Computer implementierten Verfahren und Teilmodule implementiert werden können;
    • 16 zusätzliche Gleichungen darstellt, die durch die in 7, 11, 13 und 14 dargestellten auf einem Computer implementierten Verfahren und Teilmodule implementiert werden können;
    • 17 eine Computerarchitektur zum Implementieren der in 7, 11, 13 und 14 dargestellten auf einem Computer implementierten Verfahren und Teilmodule darstellt;
    • 18 ein Blockschaubild darstellt, das veranschaulicht, wie ein Teilmodul zum Verwalten eines Status für inkrementelle DQM-Berechnungen gemäß Aspekten der Erfindung durch das in 7 dargestellte Echtzeit-DQA-Modul implementiert werden kann;
    • 19 ein Beispiel dafür darstellt, wie Statusinformationen für das in 1 dargestellte DQA-System mithilfe von Transaktionstabellenprüfungen gemäß Aspekten der Erfindung vorgehalten werden können;
    • 20 ein Beispiel dafür darstellt, wie DQMs über Zeitintervalle mithilfe des in 1 dargestellten DQA-Systems gemäß Aspekten der Erfindung analysiert werden können;
    • 21 ein Blockschaubild darstellt, das ein Beispiel dafür veranschaulicht, wie ein Teilmodul zum effizienten Priorisieren von DQM-Berechnungen gemäß Aspekten der Erfindung in dem Echtzeit-DQA-Modul des in 7 dargestellten DQA-Systems implementiert werden kann;
    • 22 ein Blockschaubild darstellt, das zusätzliche Einzelheiten darüber veranschaulicht, wie ein Teilmodul zum effizienten Priorisieren von DQM-Berechnungen gemäß Aspekten der Erfindung mithilfe des Echtzeit-DQA-Moduls des in 7 und/oder 19 dargestellten DQA-Systems implementiert werden kann;
    • 23 ein Blockschaubild darstellt, das veranschaulicht, wie auf einem Computer implementierte Verfahren durch das Teilmodul zum effizienten Priorisieren von DQM-Berechnungen gemäß Aspekten der Erfindung mithilfe des Echtzeit-DQA-Moduls des in 7 und/oder 19 dargestellten DQA-Systems ausgeführt werden können;
    • 24 zusätzliche Einzelheiten darüber darstellt, wie auf einem Computer implementierte Verfahren durch das Teilmodul zum effizienten Priorisieren von DQM-Berechnungen gemäß Aspekten der Erfindung mithilfe des Echtzeit-DQA-Moduls des in 7 und/oder 19 dargestellten DQA-Systems ausgeführt werden können;
    • 25 ein Blockschaubild darstellt, das veranschaulicht, wie auf einem Computer implementierte Verfahren durch das Teilmodul zum effizienten Priorisieren von DQM-Berechnungen gemäß Aspekten der Erfindung mithilfe des Echtzeit-DQA-Moduls des in 7 dargestellten DQA-Systems und/oder der in 19 dargestellten Architektur ausgeführt werden können;
    • 26 zusätzliche Einzelheiten darüber darstellt, wie auf einem Computer implementierte Verfahren durch das Teilmodul zum effizienten Priorisieren von DQM-Berechnungen gemäß Aspekten der Erfindung mithilfe des Echtzeit-DQA-Moduls des in 7 und/oder 19 dargestellten DQA-Systems ausgeführt werden können;
    • 27 ein Blockschaubild darstellt, das ein Computersystem veranschaulicht, das in der Lage ist, Aspekte der Erfindung zu implementieren;
    • 28 eine Cloud-Computing-Umgebung gemäß Ausführungsformen der Erfindung darstellt; und
    • 29 Abstraktionsmodellschichten gemäß einer Ausführungsform der Erfindung darstellt.
  • In den beigefügten Figuren und der folgenden ausführlichen Beschreibung der offenbarten Ausführungsformen sind die verschiedenen in den Figuren veranschaulichten Elemente gegebenenfalls mit dreistelligen Bezugszeichen versehen. Die am weitesten links stehende Ziffer jedes Bezugszeichens entspricht der Figur, in der dessen Element zuerst veranschaulicht wird.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Der Kürze halber werden herkömmliche Techniken im Zusammenhang mit einem Herstellen und Verwenden von Aspekten der Erfindung hierin möglicherweise nicht ausführlich beschrieben. Im Besonderen sind verschiedene Aspekte von Datenverarbeitungssystemen und spezifischen Computerprogrammen zum Implementieren der verschiedenen hierin beschriebenen technischen Merkmale allgemein bekannt. Dementsprechend werden hierin der Kürze halber zahlreiche Einzelheiten einer herkömmlichen Implementierung nur kurz erwähnt oder ganz weggelassen, ohne die allgemein bekannten Einzelheiten des Systems und/oder der Prozesse bereitzustellen.
  • Viele der in dieser Beschreibung dargestellten Funktionseinheiten sind als Module gekennzeichnet worden. Ausführungsformen der vorliegenden Erfindung beziehen sich auf eine große Vielfalt von Modulimplementierungen. Ein Modul kann zum Beispiel als Hardware-Schaltung implementiert werden, die so konfiguriert ist, dass sie angepasste VLSI-Schaltungen oder Gate-Arrays, handelsübliche Halbleiter wie beispielsweise Logik-Chips, Transistoren oder sonstige diskrete Bauelemente enthält. Ein Modul kann auch in programmierbaren Hardware-Einheiten wie zum Beispiel feldprogrammierbaren Gate-Arrays, programmierbarer Array-Logik, programmierbaren Logikeinheiten oder dergleichen implementiert werden. Ein Modul kann außerdem in Software für die Ausführung durch verschiedene Typen von Prozessoren implementiert werden. Ein identifiziertes Modul eines ausführbaren Codes kann beispielsweise einen oder mehrere physische oder logische Blöcke von Computeranweisungen enthalten, die zum Beispiel als Objekt, Prozedur oder Funktion organisiert sein können. Es ist jedoch nicht erforderlich, dass sich die ausführbaren Dateien eines identifizierten Moduls physisch am selben Ort befinden, sondern sie können ungleichartige, an unterschiedlichen Orten gespeicherte Anweisungen enthalten, die das Modul enthalten und den angegebenen Zweck des Moduls erzielen, wenn sie logisch zusammengefügt werden.
  • Wie zuvor hierin angemerkt, stellt ein Konfigurieren von Systemen zur Datenqualitätsanalyse so, dass sie bekannte Techniken zum inkrementellen Berechnen von DQMs für neue/aktualisierte Daten einbeziehen, eine größere Effizienz von Datenverarbeitungs-Ressourcen gegenüber Systemen zur Datenqualitätsanalyse bereit, die DQMs nicht inkrementell für neue/aktualisierte Daten berechnen. Bei bekannten Techniken zum inkrementellen Berechnen von DQMs sind die DQMs selbst jedoch statisch und berücksichtigen nicht den Umstand, dass, wenn sie über ausgewählte Zeitfenster betrachtet werden, die neuen/aktualisierten Daten, von denen die DQM abgeleitet wird, nichtstatisch sind und sich fortwährend ändern. Dementsprechend mangelt es bekannten Techniken zum inkrementellen Ermitteln von DQMs für neue/aktualisierte Daten immer noch an Effizienz bei ihrer Zuordnung und Verwendung von Datenverarbeitungs-Ressourcen, da bekannte Techniken zum inkrementellen Ermitteln von DQMs nicht gut an neue/aktualisierte Daten angepasst sind, die sich im Zeitverlauf fortwährend ändern.
  • Ausführungsformen der Erfindung behandeln und beseitigen die Mängel von bekannten Techniken zur inkrementellen DQM-Berechnung durch Bereitstellen von auf einem Computer implementierten Verfahren, programmierbaren Datenverarbeitungssystemen und Computerprogrammprodukten, die dazu konfiguriert und angeordnet sind, die Rechen-Ressourcen, die zum Durchführen von Techniken zur Datenqualitätsanalyse erforderlich sind, die DQMs für neue/aktualisierte Daten inkrementell berechnen, effizient zuzuordnen und zu nutzen. Genauer gesagt, Ausführungsformen der Erfindung verbessern die Effizienz einer Zuordnung und Verwendung von Rechen-Ressourcen durch Bereitstellen von DQMs und verwandten Techniken zur Datenqualitätsanalyse, die gut an neue/aktualisierte Daten angepasst sind, die sich im Zeitverlauf fortwährend ändern, da die DQMs und die verwandten Techniken zur Datenqualitätsanalyse gemäß Aspekten der Erfindung sowohl inkrementell als auch nichtstatisch sind. Genauer gesagt, die DQMs und die verwandten Techniken zur Datenqualitätsanalyse gemäß Aspekten der Erfindung sind insofern nichtstatisch, als sie den Umstand berücksichtigen, dass, wenn sie über ausgewählte Zeitfenster betrachtet werden, die neuen/aktualisierten Daten, von denen die DQMs und die verwandten Techniken zur Datenqualitätsanalyse abgeleitet werden, nichtstatisch sind und sich fortwährend ändern. Dementsprechend verbessern DQA-Systeme mit Funktionen zur inkrementellen und nichtstatischen Datenqualitätsanalyse gemäß Aspekten der Erfindung die Effizienz der Zuordnung und Verwendung von Computer-Ressourcen gegenüber DQA-Systemen, die lediglich Funktionen zur inkrementellen Datenqualitätsanalyse bereitstellen.
  • In Aspekten der Erfindung ist ein DQA-System mit Funktionen zur inkrementellen und nichtstatischen Datenqualitätsanalyse gemäß Ausführungsformen der Erfindung so konfiguriert, dass es ein Echtzeit-DQA-Modul mit mehreren auf einem Computer implementierten Teilmodulen enthält, die eine Datenqualitätsanalyse von sich ändernden Daten in Echtzeit durch Definieren mehrerer inkrementeller DQMs durchführen, die sich im Zeitverlauf ändern. Die mehreren Teilmodule in dem Echtzeit-DQA-Modul enthalten ein Teilmodul zum Berechnen von DQMs für sich ändernde Daten; ein Teilmodul zum Berechnen von DQMs für Einschränkungen, die sich im Zeitverlauf ändern; ein Teilmodul zum Berechnen von DQMs für anomale Datenbereiche; ein Teilmodul zum Durchführen von inkrementellen Berechnungen von DQMs im allgemeinen Fall; ein Teilmodul zum Verwalten eines Status für inkrementelle DQM-Berechnungen; und ein Teilmodul zum effizienten Priorisieren von DQM-Berechnungen.
  • Bei Ausführungsformen der Erfindung ist das Teilmodul zum Berechnen von DQMs für sich ändernde Daten dazu konfiguriert, Änderungen der Datenqualität zu verfolgen, die im Zeitverlauf auftreten, und gleichzeitig Änderungen in DQMs über mehrere Zeitfenster zu erkennen. Wenn die DQM zum Beispiel ein Maß für fehlende Werte in einem Datensatz (z.B. einem Datenrahmen in der Programmiersprache Python) ist, können die erkannten Änderungen in der DQM fehlende Werte, die über ein gesamtes vorgegebenes Zeitintervall (oder Zeitfenster) auftreten; fehlende Werte, die zuletzt aufgetreten sind; und eine Gewichtung enthalten, die auf fehlende Werte so angewendet wird, dass fehlende Werte aus jüngeren Datenpunkten schwerer gewichtet werden. Als weiteres Beispiel stellt eine DQM (Datenqualitätsmetrik) d1 eine Anzahl von möglichen Datenqualitätsprüfungen dar, darunter auf fehlende Daten, Auffinden von Variablen mit geringer Varianz, Durchschnitte, Standardabweichungen, Mediane, Prüfungen auf konstante Werte, sich nicht wiederholende Werte, sich wiederholende Werte, am häufigsten auftretende Werte, doppelte Werte über Spalten hinweg, doppelte Zeilen und dergleichen. Bei Ausführungsformen der Erfindung können diese Datenqualitätsprüfungen nicht nur monolithisch über sämtliche der eingehenden neuen/aktualisierten Datenwerte angewendet werden, sondern können auch auf bestimmte Zeitintervalle oder Zeitfenster der neuen/aktualisierten Daten angewendet werden. Dementsprechend resultiert d1 bei Ausführungsformen der Erfindung aus Datenqualitätsprüfungen, die über spezifische Fenster eines Datensatzes definiert sind oder angewendet werden. Bei einigen Ausführungsformen der Erfindung kann d1 während eines Zeitintervalls/-fensters angewendet werden, das sich von einer start_time bis zu einer end_time erstreckt. Bei einigen Ausführungsformen der Erfindung kann d1 auf jeden Stapel von neuen/aktualisierten Daten angewendet werden, um zu d1(batch1) zu gelangen, die für jeden Stapel von neuen/aktualisierten Daten berechnet wird. Die Werte von d1(batch1) bis d1(batch-N) können mit d1(batch1) bis d1(batch-N) auf der y-Achse und Zeitwerten auf der x-Achse graphisch dargestellt werden. Bei einigen Ausführungsformen der Erfindung können Datenpunkten, die in unterschiedliche Zeitintervalle/-fenster fallen, unterschiedliche Gewichtungen zum Berechnen von DQMs verliehen werden. Bei einigen Ausführungsformen der Erfindung können zum Beurteilen von DQMs den jüngeren Datenpunkten (z.B. innerhalb eines vorgegebenen Zeitintervalls/- fensters, das als neues Zeitintervall/-fenster definiert ist) höhere Gewichtungen als älteren Datenpunkten (z.B. innerhalb eines vorgegebenen Zeitintervalls/-fensters, das als älteres Zeitintervall/-fenster definiert ist) zugewiesen werden. Bei Ausführungsformen der Erfindung kann, ohne darauf beschränkt zu sein, eine Anzahl von geeigneten Gewichtungstechniken verwendet werden, darunter exponentielles Gewichten (einschließlich exponentiell gewichteter gleitender Durchschnitte, ohne darauf beschränkt zu sein). Bei einigen Ausführungsformen der Erfindung kann jedem Datenpunkt eine unterschiedliche Gewichtung auf Grundlage seiner Zeit zugewiesen werden. Bei einigen Ausführungsformen der Erfindung werden Datenpunkte nach Zeitintervallen/-fenstern gruppiert, und einem Satz von Datenpunkten, die zu derselben Gruppe gehören, kann dieselbe Gewichtung zugewiesen werden. Bei einigen Ausführungsformen der Erfindung können ältere Datenpunkte in den DQM-Berechnungen völlig ignoriert werden. Bei einigen Ausführungsformen der Erfindung kann eine große Vielfalt von bekannten Algorithmen zur Datenqualitätsanalyse angewendet werden, um ein Ermitteln der älteren Datenpunkte zu unterstützen, die in den DQM-Berechnungen ignoriert werden. Wie oben beschrieben, stellen Ausführungsformen der Erfindung dementsprechend neue und nichtstatische DQMs bereit, die nach Zeit parametrisiert sind. Das DQA-System, das gemäß Aspekten der Erfindung arbeitet, ist dazu konfiguriert und angeordnet, die neuen und nichtstatischen DQMs über einen beliebigen Bereich von Datenpunkten zu berechnen und zu visualisieren.
  • Bei Ausführungsformen der Erfindung ist das Teilmodul zum Berechnen von DQMs für sich ändernde Einschränkungen dazu konfiguriert, DQMs zu berechnen, die messen, wie gut Datenpunkte eine bestimmte Einschränkung des DQA-Systems erfüllen. Da solche „Einschränkungs-“ (oder eingeschränkten) DQMs sich im Zeitverlauf ändern können, berechnen Ausführungsformen der Erfindung eine Einschränkungs-DQM für neue/aktualisierte Datenpunkte, wenn sie in die DQA-Pipeline eintreten, statt eine Einschränkungs-DQM für einen gesamten Datensatz zu berechnen. Bei Ausführungsformen der Erfindung ermöglicht ein Analysieren von Einschränkungs-DQMs, die sich im Zeitverlauf ändern, mehr vollständige Datenqualitätsanalysen von Datensätzen. Zu Beispielen für Einschränkungen zählen Nullwerte, die einen Schwellenwert nicht überschreiten (z.B. Standardabweichung, Varianz, Median und dergleichen), die in einen bestimmten Bereich fallen; zwei Spalten eines Datenrahmens, die eine bestimmte mathematische Beziehung oder Korrelation aufweisen; und dergleichen. Ausführungsformen der Erfindung erkennen und nutzen die Beobachtung, dass die Anwendbarkeit einer jeweiligen Einschränkung bei Echtzeit-Streaming-Daten keine statische, feste Eigenschaft ist. Eine Einschränkung, die zu einem bestimmten Zeitpunkt anwendbar ist, ist möglicherweise für neue Daten, die empfangen werden, nicht anwendbar. Dementsprechend stellen Ausführungsformen der Erfindung eine Analyse von Einschränkungen über mehrere unterschiedliche Zeitintervalle/- fenster hinweg bereit, und die Anwendbarkeit einer Einschränkung oder eines Satzes von Einschränkungen gemäß Aspekten der Erfindung ist folglich dynamisch und wird sich erwartbar im Zeitverlauf verändern. Wenn sich eine Einschränkungs-DQM im Zeitverlauf erheblich ändert (z.B. Änderungsgrade, die einen vorgegebenen Schwellenwert überschreiten), können bei einigen Ausführungsformen der Erfindung Informationen im Zusammenhang mit der sich ändernden Einschränkungs-DQM an einen Benutzer des DQA-Systems weitergegeben werden.
  • Bei Ausführungsformen der Erfindung ist das Teilmodul zum Berechnen von DQMs für anomale Datenbereiche dazu konfiguriert, DQMs zu berechnen, die messen, ob Datenpunkte Kriterien zum Ermitteln erfüllen, ob ein Datenpunkt als „anomal“ gilt. Bei Ausführungsformen der Erfindung kann DQMs, die für Datenpunkte berechnet werden, die als anomal identifiziert werden, eine Gewichtung zugewiesen werden. Bei einigen Ausführungsformen der Erfindung kann die Gewichtung auf Grundlage eines berechneten Schweregrades der Anomalie kleiner als eins (1), jedoch größer als null (0) sein (z.B. können geringfügig anomale Daten innerhalb von etwa 20 % von eins (1) gewichtet werden). Bei einigen Ausführungsformen der Erfindung können anomale Daten mit einem berechneten Schweregrad oberhalb eines Schwellenwertes als hochgradig anomal identifiziert werden, und ihnen kann eine Gewichtung von null (0) zugewiesen werden (d.h., der anomale Datenpunkt wird beim Berechnen von DQMs für anomale Datenbereiche ignoriert).
  • Als Beispiel kann bei Ausführungsformen der Erfindung, bei denen das DQA-System die Programmiersprache Python verwendet, eine „verwandte“ Funktion als related(feature1, feature2, start_time, end_time) definiert werden. Diese Funktion gibt einen Wert zwischen eins (1) und minus eins (-1) zurück, der einen Korrelationsgrad zwischen feature1 und feature2 für das angegebene Zeitintervall/-fenster angibt. Bei Ausführungsformen der Erfindung ist das DQA-System dazu konfiguriert, verwandte Werte über mehrere unterschiedliche Zeitintervalle vorzuhalten. Bei Ausführungsformen der Erfindung werden Zeitintervalle/-fenster markiert, wenn die verwandte Funktion ein anomales Verhalten in dem Zeitintervall/-fenster angibt. Ein Beispiel für ein anomales Verhalten für die verwandte Funktion wäre, dass sich der Wert von related(feature1, feature2, start_time, end_time) in Werte ändert, die durch das DQA-System zuvor nicht erkannt worden sind. Die Zeitintervalle/-fenster, in denen die anomalen Datenpunkte bei ti markiert sind und, gemäß Aspekten der Erfindung, Datenpunkte aus dem anomalen Zeitintervall/-fenster ti können aus den DQM-Berechnungen für ti ausgelassen werden, oder Datenpunkten aus dem anomalen Zeitintervall/-fenster ti kann eine niedrigere Gewichtung beim Berechnen der DQMs für ti zugewiesen werden. Die DQM kann darüber hinaus Benutzer über anomale Zeitintervalle informieren. Benutzer können das DQA-System mit durch den Benutzer ausgewählten Vorgaben darüber versorgen, wie anomale Zeitintervalle zu behandeln sind, zum Beispiel mit Zuweisen von Gewichtungen zu diesen zum Berechnen von DQMs.
  • Als weiteres Beispiel kann bei Ausführungsformen der Erfindung eine Funktion „fehlender Wert“ in der Programmiersprache Python als check_na_columns(df, start_time1, end_time) definiert werden, die Spalten eines Parameters df auf fehlende Werte über spezifische Zeitbereiche prüft. Gemäß Aspekten der Erfindung kann diese Funktion dazu verwendet werden, die Teile der Daten zu erkennen, denen beim Berechnen von DQMs höhere Gewichtungen zugewiesen werden sollten. Wenn check_na_columns beispielsweise einen anomalen Anteil von NaN(not a number, Nichtzahl)-Werten angibt, kann es zweckmäßig sein, dem Zeitintervall/-fenster beim Berechnen von DQMs eine niedrigere Gewichtung zuzuweisen.
  • Es ist zu beachten, dass ein höherer Anteil von NaN-Werten nicht zwingend bedeutet, dass einem Zeitintervall eine niedrigere Gewichtung zugewiesen werden sollte. In vielen Fällen ist das DQA-System dazu konfiguriert, nach einer anomalen Anzahl von NaN-Werten zu suchen, was auf eine anomal hohe oder geringe Anzahl von NaN-Werten hindeuten könnte. Wenn ein bestimmtes Datenintervall im Vergleich mit sonstigen Intervallen einen ungewöhnlich geringen Anteil von NaN-Werten aufweist, kann das DQA-System dazu konfiguriert sein, dies als einen Hinweis auf eine Anomalie zu interpretieren, was bedeuten würde, dass dem Intervall eine niedrigere Gewichtung zugewiesen werden sollte als sonstigen Intervallen mit einem Anteil von NaN-Werten, der näher am Mittelwert liegt.
  • Bei Ausführungsformen der Erfindung stellt das Teilmodul zum Durchführen von inkrementellen Berechnungen von DQMs einen Ansatz zum Durchführen von inkrementellen Berechnungen von DQMs im allgemeinen Fall bereit. Datenqualitätsprüfungen im allgemeinen Fall inkrementell zu gestalten, ist schwierig. Ausführungsformen der Erfindung behandeln und beseitigen diese Schwierigkeit durch Bereitstellen von drei Typen von inkrementellen Datenqualitätsprüfungen im allgemeinen Fall, die hierin als Typ I, Typ II und gewichteter Typ l&ll definiert sind und identifiziert werden. Bei Ausführungsformen der Erfindung handelt es sich bei Datenqualitätsprüfungen vom Typ I um die Datenqualitätsprüfungen, die entsprechende DQMs aufweisen, die im allgemeinen Fall durch einen Zerlegungs- und Summierungsprozess inkrementell gestaltet werden können. Wenn eine DQM zum Beispiel als q definiert ist, sind Daten, die in die DQA-Pipeline eintreten, als Datenblöcke organisiert, die, im Zeitverlauf geordnet, als Dw = {D1, D2, ... , Dn} dargestellt werden, und die Qualitätsfunktion ist als Q(D) definiert. Die inkrementelle Datenqualitätsprüfung im allgemeinen Fall gemäß Aspekten der Erfindung stellt einen Mechanismus zum Zerlegen der Qualitätsfunktion Q durch Anwenden von Q auf jeden in die DQA-Pipeline eintretenden Datenblock und Speichern von Q({D1, D2, ... , Dn}) für jeden Datenblock in dem Datensatz bereit. Wenn ein Datenblock Dn+1 des Datensatzes D in die DQA-Pipeline eintritt und der Datenblock Dn+1 neue/aktualisierte Daten aufweist, wird Q(D) für den gesamten Datensatz D durch Anwenden von Q auf den Datenblock Dn+1, der neue/aktualisierte Daten aufweist, und Kombinieren dieses Ergebnisses mit einer Summierung der historischen Ergebnisse eines Anwendens von Q auf die Datenblöcke {D1, D2, ..., Dn} in dem Datensatz D, die sich nicht geändert haben, inkrementell gewonnen. Die Summierung der historischen Ergebnisse von Q wird durch eine in 13 dargestellte Gleichung (1) dargestellt, und die Summierung der neuen/aktualisierten Ergebnisse von Q mit den historischen Ergebnissen von Qwird durch eine in 13 dargestellte Gleichung (2) dargestellt.
  • Bei Ausführungsformen der Erfindung handelt es sich bei Datenqualitätsprüfungen vom Typ II um die Datenqualitätsprüfungen mit entsprechenden DQMs, die im allgemeinen Fall durch den bei Typ I verwendeten Zerlegungs-/ Summierungsprozess inkrementell gestaltet werden können, der modifiziert worden ist, um eine zerlegbare Operation zu berücksichtigen, die bei der zugehörigen DQM-Berechnung verwendet wird. Wenn die Qualitätsfunktion Q der DQM-Berechnung zum Beispiel ein Prozentsatz von NULL-Werten in einem Datensatz D ist, kann die Prozentsatzberechnung Q in zwei Funktionen P und C zerlegt werden, wobei C die Gesamtdatenpunkte in dem Datensatz D zählt und wobei es sich bei P um die NULL-Werte in dem Datensatz D handelt. Dementsprechend kann Q(D) als P(D) geteilt durch C(D) berechnet werden. Gemäß Ausführungsformen der Erfindung werden Daten, die in die DQA-Pipeline eintreten, als Datenblöcke organisiert, die, im Zeitverlauf geordnet, als Dw = {D1, D2, ... , Dn} dargestellt werden, und die Qualitätsfunktion ist als Q(D) definiert. Die inkrementelle Datenqualitätsprüfung im allgemeinen Fall gemäß Aspekten der Erfindung stellt einen Mechanismus zum Zerlegen der Qualitätsfunktion Q durch Anwenden von P auf jeden in die DQA-Pipeline eintretenden Datenblock; Anwenden von C auf jeden in die DQA-Pipeline eintretenden Datenblock; und Speichern von P({D1, D2, ... , Dn}) und C({D1, D2, ... , Dn}) für jeden Datenblock in dem Datensatz bereit. Wenn ein Datenblock Dn+1 des Datensatzes D in die DQA-Pipeline eintritt und der Datenblock Dn+1 neue/aktualisierte Daten aufweist, wird Q(D) für den gesamten Datensatz D durch Anwenden von P auf den Datenblock Dn+1, der neue/aktualisierte Daten aufweist; Anwenden von C auf den Datenblock Dn+1; und Kombinieren dieses Ergebnisses mit einer Summierung der historischen Ergebnisse eines Anwendens von P und C auf die Datenblöcke {D1, D2, ... , Dn} in dem Datensatz D, die sich nicht geändert haben, inkrementell gewonnen. Die Summierung der historischen Ergebnisse von P und C wird durch eine in 15 dargestellte Gleichung (3) dargestellt, und die Summierung der neuen/aktualisierten Ergebnisse von P und C mit den historischen Ergebnissen von P und C wird durch eine in 15 dargestellte Gleichung (4) dargestellt.
  • Bei Ausführungsformen der Erfindung handelt es sich bei Datenqualitätsprüfungen vom gewichteten Typ I&II um Datenqualitätsprüfungen, bei denen Datenblöcke unter den Szenarien einer inkrementellen Berechnung vom Typ I und II gewichtet werden. Bei einigen Ausführungsformen der Erfindung können auf Grundlage beliebiger der hierin zuvor in Verbindung mit Aspekten der Erfindung beschriebenen Standards zum Anwenden von Gewichtungen auf Datenprüfungen unterschiedliche Gewichtungen auf unterschiedliche Datenblöcke angewendet werden. In einigen Aspekten der Erfindung kann eine Gewichtung w auf Grundlage der Zeit ausgewählt werden, die von einem letzten Zeitstempel eines jeweiligen Datenblocks bis zu einer aktuellen Zeit verstrichen ist. In einigen Aspekten der Erfindung können einheitliche Gewichtungen auf vorherige Datenblöcke in einem Datensatz angewendet werden. Ein Beispiel dafür, wie ein Gewichten in Datenqualitätsprüfungen vom Typ I gemäß Aspekten der Erfindung einbezogen werden kann, wird durch eine Gleichung 5 in 16 dargestellt. Ein Beispiel dafür, wie ein Gewichten in Datenqualitätsprüfungen vom Typ II gemäß Aspekten der Erfindung einbezogen werden kann, wird durch eine Gleichung 6 in 16 dargestellt.
  • Bei Ausführungsformen der Erfindung stellt das Teilmodul zum Verwalten eines Status für inkrementelle DQM-Berechnungen einen Mechanismus zum Vorhalten eines Status bereit, was zum Durchführen von inkrementellen DQM-Berechnungen erforderlich ist, da inkrementelle Berechnungen eine Möglichkeit benötigen, die vorherigen Berechnungen zu verfolgen, die bei den inkrementellen Berechnungen verwendet werden. Ausführungsformen der Erfindung beseitigen die Notwendigkeit, dass das DQA-System seine eigene Datenbank an Informationen über historische Datenqualitätsprüfungen vorhält, durch Bereitstellen des oben beschriebenen Teilmoduls zur Statusverwaltung, das dazu konfiguriert und angeordnet ist, eine Verbindung mit Benutzersystemen in einer Weise herzustellen, die mit einem gegenseitigen Austauschen von Statusvariableninformationen zwischen einem Benutzersystem oder -programm und dem DQA-System einhergeht. Bei Ausführungsformen der Erfindung kann das DQA-System in einer Programmiersprache wie zum Beispiel der Programmiersprache Python implementiert werden, und eine Python-Anwendungsprogrammierschnittstelle (application program interface, API) des Teilmoduls zur Statusverwaltung ist dazu konfiguriert, einem Benutzerprogramm zu ermöglichen, die Python-API zu verwenden, um verschiedene Funktionen im Zusammenhang mit einer Statusverwaltung aufzurufen. Eine große Vielfalt sonstiger Programmiersprachen (z.B. Java, C++, C und sonstige) kann ebenfalls zum Implementieren des DQA-Systems verwendet werden. Das Teilmodul zur Statusverwaltung berechnet DQMs und übergibt Statusinformationen im Zusammenhang damit an das Benutzerprogramm. Zum Nutzen der von dem Teilmodul zur Statusverwaltung empfangenen Statusinformationen ruft das Benutzerprogramm Funktionen des Teilmoduls zur Statusverwaltung auf, die dazu konfiguriert und angeordnet sind, die Statusinformationen tatsächlich zu analysieren. Dementsprechend ist es für das Teilmodul zur Statusverwaltung gemäß Aspekten der Erfindung nicht erforderlich, dass ein Benutzerprogramm in der Lage ist, das Format der Statusvariablen zu interpretieren. Das Benutzerprogramm muss lediglich die Programmiersprachen-API (z.B. Python für eine Python-Implementierung des DQA-Systems) verwenden, um das Teilmodul zur Statusverwaltung des DQA-Systems aufzurufen.
  • Bei Ausführungsformen der Erfindung ist das Teilmodul zum effizienten Priorisieren von DQM-Berechnungen dazu konfiguriert und angeordnet, die Rechen-Ressourcen des DQM-Systems, die genutzt werden, um die verschiedenen hierin beschriebenen nichtstatischen und dynamischen Datenqualitätsprüfungen und DQMs auszuführen, effizient zu verwalten. Bei Ausführungsformen der Erfindung priorisieren auf einem Computer implementierte Verfahren die Ausführung von DQM-Berechnungen auf Grundlage einer Vielfalt von Faktoren, darunter des Rechenaufwands, der zum Berechnen einer DQM erforderlich ist; der Änderungsgeschwindigkeit einer jeweiligen DQM; ob zuvor berechnete DQMs ohne einen Verlust an Genauigkeit verwendet werden können, der einen Schwellenwert überschreitet; und durch einen Benutzer festgelegte Einschränkungsprioritäten, ohne darauf beschränkt zu sein. Bei einigen Ausführungsformen der Erfindung können Modelle für maschinelles Lernen und/oder allgemeine Simulationsalgorithmen genutzt werden, um die Auswirkung von DQMs auf Rechen-Ressourcen vorherzusagen, und das DQA-System kann eine Ausführung von DQMs auf Grundlage der Vorhersagen priorisieren. Zu beispielhaften Vorhersagen zählen eine Vorhersage, wie stark sich eine DQM erwartbar als Reaktion auf neue/aktualisierte Daten ändern würde; und für eine(n) jeweilige(n) Datensatz und Datensatzgröße eine Vorhersage des Rechenaufwands für unterschiedliche DQMs, die an dem/der jeweiligen Datensatz und Datengröße durchgeführt werden, ohne darauf beschränkt zu sein.
  • Es folgt eine ausführlichere Beschreibung von Ausführungsformen der Erfindung, wobei 1 ein System 100 zur Datenqualitätsanalyse (DQA) darstellt, das in der Lage ist, Aspekte der Erfindung zu implementieren. Bei dem DQA-System 100 handelt es sich um einen programmierbaren Computer, der dazu konfiguriert und angeordnet ist, eine Datenqualität in einer interaktiven, automatisierten und skalierbaren Weise zu bewerten, um durch einen Menschen lesbare Berichte zu erzeugen, und der Daten-Pipelines erstellt, die ein ausreichendes Qualitätsniveau aufweisen, um zuverlässig durch AI/ML-Systeme in Anspruch genommen zu werden. Die Hardware-Komponenten des DQA-Systems 100 können mithilfe der Merkmale und Funktionalität des (in 27 dargestellten) Computersystems 2700 implementiert werden. Darüber hinaus steht ein (auch in 28 dargestelltes) Cloud-Computing-System 50 mit dem DQA-System 100 in drahtgebundener oder drahtloser elektronischer Datenübertragungsverbindung. Das Cloud-Computing-System 50 kann einen Teil der oder die gesamte Funktionalität (in einer beliebigen Kombination) des DQA-Systems 100 ergänzen, unterstützen oder ersetzen. Darüber hinaus kann ein Teil der oder die gesamte Funktionalität des DQA-Systems 100 als (in 28 und 29 dargestellter) Knoten 10 des Cloud-Computing-Systems 50 implementiert werden.
  • Das DQA-System 100 kann so konfiguriert sein, dass es ein Prüfprogramm 110, ein Korrekturprogramm 120, einen Satz von Einschränkungen 130, eine DQA-Pipeline 140 und ein Aktualisierungsmodul 150 enthält, die wie dargestellt konfiguriert und angeordnet sind. Das Prüfprogramm 110 ist dazu konfiguriert, mehrere Typen von Datenqualitätsprüfungen (vordefiniert oder angepasst) an mehreren Typen von Daten durchzuführen. Beispiele für die Typen von Datenqualitätsprüfungen, die durch das Prüfprogramm 110 durchgeführt werden können, sind in 2 aufgeführt. Das Prüfprogramm 110 ist dazu konfiguriert, Datenqualitätsprüfungen an Daten von unterschiedlichen Domänen und unterschiedlichen Kategorien durchzuführen, darunter allgemeine Datenqualitätsprüfungen, die sich auf die allgemeinen Eigenschaften eines beliebigen Datensatzes beziehen, sowie Datenqualitätsprüfungen, die sich auf Eigenschaften beziehen, die für die spezifischen Datenformate spezifisch sind, zum Beispiel (in 3 dargestellte) Zeitreihendaten 300 und/oder (in 4 dargestellte) DatenRahmen 400.
  • Die in 3 dargestellten Zeitreihendaten 300 sind ein Beispiel dafür, wie Zeitreihendaten in der Programmiersprache Python dargestellt werden können. Im Allgemeinen weist eine Struktur von Zeitreihendaten Attribute eines Wörterverzeichnisses und einer Liste auf. Elemente werden der Reihe nach gespeichert und gekennzeichnet, um einen Abruf zu erleichtern.
  • Der in 4 dargestellte DatenRahmen 400 ist ein Beispiel dafür, wie ein Datenrahmen in der Programmiersprache Python dargestellt werden kann. Im Allgemeinen handelt es sich bei einem Datenrahmen wie zum Beispiel dem DatenRahmen 400 um eine zweidimensionale Datenstruktur, bei der Daten tabellarisch in Zeilen und Spalten ausgerichtet sind. Die Größe eines jeweiligen Datenrahmens ist flexibel; Zeilen und Spalten können gekennzeichnet sein; und arithmetische Operationen können an Zeilen und Spalten durchgeführt werden. Der DatenRahmen 400 stellt darüber hinaus Zeitintervalle (oder -fenster) dar, bei denen es sich um Bereiche von aufeinanderfolgenden Zeilen handelt, die einen Teilsatz des gesamten Datensatzes darstellen. Der DatenRahmen 400 ist ein Beispiel dafür, wie Kundeninformationen in einem Datenrahmen dargestellt werden können, zusammen mit Beispielen für Datenqualitätsprobleme, die in einem Datenrahmen bestehen können, darunter zum Beispiel das Vorhandensein von NULL-Werten, Standardeinträgen und trunkierten Einträgen. Bei Ausführungsformen der Erfindung können mehrere Datenrahmen zur Analyse in das DQA-System 100 gestreamt werden, und die verschiedenen Einträge in den Datenrahmen können sich im Zeitverlauf ändern. Beispielsweise kann in dem DatenRahmen 400 eine neue Kundenzeile hinzugefügt werden, oder eine Versandanschrift einer bestehenden Kundenzeile kann geändert oder aktualisiert werden.
  • Das Korrekturprogramm 120 enthält die verschiedenen Typen an Logik, die aufgerufen und dazu verwendet werden können, die durch das Prüfprogramm 110 identifizierten Datenqualitätsprobleme zu beheben oder zu korrigieren. Bei den Einschränkungen 130 handelt es sich um angepasste Regeln, die ein Benutzer auswählen und anwenden lassen kann, um die Weise anzupassen, in der durch das/die Prüfprogramm(e) 110 durchgeführte Datenqualitätsprüfungen die unterschiedlichen statistischen Werte interpretieren, die aus den Daten gewonnen werden. Die Pipeline 140 verwendet das/die Prüfprogramm(e) 110, das Korrekturprogramm 120 und die Einschränkungen 130, um die Operationen zur Datenqualitätsanalyse, die durch das/die Prüfprogramm(e) 110, das Korrekturprogramm 120 und die Einschränkungen 130 an einem einzelnen Datensatz durchgeführt werden, zu automatisieren.
  • Das Aktualisierungsmodul 150 ist dazu konfiguriert, unterschiedliche DQMs nach Iterationen der Prozesse zur Datenqualitätsanalyse, die durch das DQA-System 100 durchgeführt werden, zu aktualisieren. Gemäß Ausführungsformen der Erfindung enthält das Aktualisierungsmodul 150 ein Modul 160 zur Datenqualitätsanalyse (DQA) in Echtzeit, das dazu konfiguriert ist, neuartige Prozesse zur Datenqualitätsanalyse gemäß Aspekten der Erfindung zu implementieren. In Aspekten der Erfindung ist die Echtzeit-DQA 160 dazu konfiguriert, eine Datenqualitätsanalyse von sich ändernden Daten in Echtzeit durch Definieren mehrerer nichtstatischer und dynamischer Datenqualitätsmetriken durchzuführen, die sich im Zeitverlauf ändern. Spezifische Einzelheiten darüber, wie das Echtzeit-DQA-Modul 160 implementiert werden kann, werden in 7 beschrieben und nachfolgend hierin ausführlicher beschrieben.
  • 5 und 6 stellen Abläufe dar, die zeigen, wie ein Benutzer 502 unter zwei Szenarien mit dem DQA-System 100 interagiert. Das erste Szenario ist als Ablauf #1 gekennzeichnet und stellt dar, wie das DQA-System 100 eine einmalige Datenreparatur ausführt, wenn der Datensatz, der analysiert wird, keine neuen oder aktualisierten Daten enthält. Das zweite Szenario ist als Ablauf #2 gekennzeichnet und stellt dar, wie das DQA-System 100 einen Prozess zum „Lernen und Reparieren“ ausführt, wenn der Datensatz, der analysiert wird, so aktualisiert worden ist, dass er neue/aktualisierte Daten enthält. In 5 legt der Benutzer 502 im Ablauf #1 jegliche relevanten Benutzereingaben (z.B. den Typ des Datenformats, durch den Benutzer auswählbare Einschränkungen und dergleichen) fest, führt das Prüfprogramm 110 Datenqualitätsprüfungen an dem Datensatz durch, der analysiert wird, wendet das Korrekturprogramm 120 die Datenreparaturen an, die benötigt werden, um die durch das Prüfprogramm 110 identifizierten Datenqualitätsprobleme zu behandeln, und werden reparierte Daten 510 erzeugt. Der Ablauf #1 wird auch in 6, die den Ablauf #1 in drei Blöcken 610, 620, 150A veranschaulicht, schematisch dargestellt. Block 610 stellt einen anfänglichen Datensatz dar, der in den Block 620 eingeht, der eine Datenqualitätsbeurteilung (z.B. wie durch das Prüfprogramm 110 durchgeführt) durchführt. Die in Block 620 durchgeführten Datenqualitätsbeurteilungen können die aufgeführten beispielhaften Datenqualitätsbeurteilungen sowie die in 2 dargestellten Datenqualitätsprüfungen enthalten. Die durch die DQM-Aktualisierungen 150 dargestellten Operationen entsprechen den Operationen, die durch das in 1 dargestellte Aktualisierungsmodul 150 durchgeführt werden, das dazu konfiguriert ist, unterschiedliche Datenqualitätsmetriken nach Iterationen der Prozesse zur Datenqualitätsanalyse, die durch die Abläufe #1 und #2 des DQA-Systems 100 durchgeführt werden, zu aktualisieren. Wie zuvor in Verbindung mit der Beschreibung des in 1 dargestellten DQA-Systems 100 angemerkt, ist das Aktualisierungsmodul 150 so konfiguriert, dass es ein Echtzeit-DQA-Modul 160 enthält, das dazu konfiguriert ist, neuartige Prozesse zur Datenqualitätsanalyse gemäß Aspekten der Erfindung zu implementieren. Im Ablauf #1 wird das Echtzeit-DQA-Modul 160 jedoch nicht aufgerufen, da der anfängliche Datensatz in Block 610 keine neuen oder sich ändernden Daten enthält.
  • In 5 stellt der Ablauf #2 den Benutzer 502 dar, der Zugriff auf die ursprünglichen Daten 520 bereitstellt, die in die Pipeline 140 für eine Datenqualitätsbewertung verzweigt werden, während eine (nicht dargestellte) API neue Daten mit Qualitätsproblemen 530 identifiziert. Im Allgemeinen kann der Benutzer 502 anfängliche Datensätze in der API angeben, und die API ist dazu konfiguriert, Informationen für das DQA-System 100 bereitzustellen, die Teile der ursprünglichen Daten 520 identifizieren, die Standards dafür erfüllen, dass sie eine Aktualisierung (d.h., neue Daten) für einen der angegebenen Datensätze sind. Auf diese Weise ist die API dazu konfiguriert, jegliche neuen Daten zu bewerten, die empfangen werden, um zu ermitteln, ob es sich bei den neuen Daten um eine Hinzufügung zu einem zuvor empfangenen anfänglichen Datensatz oder eine Aktualisierung dessen oder um einen vollständig neuen anfänglichen Datensatz handelt. Der Benutzer 502 stellt darüber hinaus eine Vielfalt von Benutzerauswahlen oder -eingaben (z.B. Wissensgraphen, Metadaten, Konfigurationen und dergleichen) für die Pipeline 140 zur Verwendung in dem Gesamtprozess zur Datenqualitätsanalyse zum Erzeugen von reparierten Daten 540 sowie in verschiedenen zyklischen Lern- und Optimierungsprozessen („Lernen und Reparieren“) des DQA-Systems 100 bereit. Wenn die zyklischen Lern- und Reparaturprozesse wiederholt werden, wird auf das Aktualisierungsmodul 150 zugegriffen, um historische Datenqualitätsmetriken bereitzustellen, die in dem zyklischen Lern- und Reparaturprozess genutzt werden können. Das Aktualisierungsmodul 150 enthält des Weiteren das zuvor beschriebene Echtzeit-DQA-Modul 160, das dazu konfiguriert ist, eine Datenqualitätsanalyse von sich ändernden Daten in Echtzeit durch Definieren mehrerer Datenqualitätsmetriken durchzuführen, die sich im Zeitverlauf ändern. Spezifische Einzelheiten darüber, wie das Echtzeit-DQA-Modul 160 implementiert werden kann, werden in 7 beschrieben und nachfolgend hierin ausführlicher beschrieben.
  • Der Ablauf #2 wird auch in 6, die den Ablauf #2 in drei Blöcken 630, 640, 150A veranschaulicht, schematisch dargestellt. In Block 630 werden Datenqualitätsprüfungen auf einen Strom von anfänglichen Datensätzen angewendet. In Block 640 wird ein entsprechender Strom von neuen/aktualisierten Daten (z.B. durch die API) aus dem Strom von anfänglichen Datensätzen identifiziert. Der Strom an neuen/aktualisierten Daten in Block 640 enthält mehrere Aktualisierungen, die über einen längeren Zeitraum empfangen werden. Block 150A ist als Datenqualitätsmetriken(DQM)-Aktualisierungen 150A gekennzeichnet und entspricht den Merkmalen und der Funktionalität des (in 5 dargestellten) Aktualisierungsmoduls 150. Bei den DQM-Aktualisierungen 150A werden DQMs inkrementell berechnet, was bedeutet, dass die DQMs an den neuen/aktualisierten Daten berechnet werden, da es rechenaufwendig ist, DQMs für den gesamten anfänglichen Datensatz jedes Mal neu zu berechnen, wenn er für eine Datenqualitätsbewertung ansteht. Wenn das Prüfprogramm 110 zum Beispiel eine Prüfung auf fehlende Werte anwenden und eine DQM für fehlende Werte für den anfänglichen Datensatz berechnen muss, der neue/aktualisierte Daten aufweist, statt DQMs für fehlende Werte für den gesamten anfänglichen Datensatz zu berechnen, ist das Prüfprogramm 110 dazu konfiguriert, eine „inkrementelle Aktualisierung“ durch Berechnen der DQM für fehlende Werte für die neuen/aktualisierten Daten und Kombinieren dieser mit Informationen über die DQM für fehlende Werte durchzuführen, die zuvor für den/die unveränderten Teil(e) des anfänglichen Datensatzes in dem Aktualisierungsmodul 150 berechnet worden waren. Ähnlich wie das in 5 dargestellte Aktualisierungsmodul 150 enthält der DQM-Aktualisierungsblock 150A das zuvor beschriebene Echtzeit-DQA-Modul 160, das dazu konfiguriert ist, verschiedene Aspekte einer inkrementellen Aktualisierung auf neuartige Weisen durchzuführen. Genauer gesagt, das Echtzeit-DQA-Modul 160 ist dazu konfiguriert, eine Datenqualitätsanalyse von sich ändernden Daten in Echtzeit durch Anwenden mehrerer DQA-Methoden durchzuführen, die mehrere Datenqualitätsmetriken definieren, die sich im Zeitverlauf ändern.
  • 7 stellt Einzelheiten darüber dar, wie das Echtzeit-DQA-Modul 160 gemäß Ausführungsformen der Erfindung implementiert werden kann. Wie in 7 dargestellt, werden Datenblöcke 702 mit neuen Daten mit Qualitätsproblemen 530 für das Aktualisierungsmodul 150 bereitgestellt, das Echtzeit-DQA-Teilmodule 720, 730, 740, 750, 760, 770 verwendet, um sich ändernde DQMs 710 über mehrere Zeitfenster gemäß Aspekten der Erfindung zu berechnen sowie die Computer-Ressourcen effizient zuzuweisen, die erforderlich sind, um die sich ändernden DQMs 710 gemäß Aspekten der Erfindung zu berechnen. Zusätzliche Einzelheiten darüber, wie die Echtzeit-DQA-Teilmodule 720, 730,740, 750, 760, 770 gemäß Ausführungsformen der Erfindung implementiert werden können, werden in FIG. 8 bis 11, 18, 21 bis 23 und 25 dargestellt und im Folgenden hierin beschrieben.
  • Darüber hinaus stellt 7 das (auch in 28 dargestellte) Cloud-Computing-System 50 mit dem Aktualisierungsmodul 150 des DQA-Systems 100 in drahtgebundener oder drahtloser elektronischer Datenübertragungsverbindung dar. Das Cloud-Computing-System 50 kann einen Teil der oder die gesamte Funktionalität (in einer beliebigen Kombination) des Aktualisierungsmoduls 150 des DQA-Systems 100 ergänzen, unterstützen oder ersetzen. Darüber hinaus kann ein Teil der oder die gesamte Funktionalität des DQA-Systems 100 als (in 28 und 29 dargestellter) Knoten 10 des Cloud-Computing-Systems 50 implementiert werden.
  • 8 stellt ein Blockschaubild dar, das Einzelheiten darüber veranschaulicht, wie das Teilmodul 720 dazu konfiguriert und angeordnet sein kann, DQMs für sich ändernde Daten gemäß Aspekten der Erfindung zu berechnen. Wenn Datenblöcke 702 und neue Daten mit Qualitätsproblemen 530 in das Teilmodul 720 eintreten, berechnet das Teilmodul 720 die Schlüssel-DQM-Werte, verfolgt jedoch außerdem Änderungen in dem Schlüssel-DQM-Wert über mehrere Zeitfenster. Auf diese Weise können Änderungen in den Schlüssel-DQM-Werten über mehrere Zeitfenster erkannt werden. Wenn die Schlüssel-DQM-Werte zum Beispiel einen Prozentsatz an einer DQM für fehlende Werte enthält, kann das Teilmodul 720 in der allgemeinsten Implementierung einen Prozentsatz an fehlenden Werten über ein gesamtes Intervall ermitteln. Bei Ausführungsformen der Erfindung kann auf Grundlage eines oder mehrerer Kriterien ermittelt werden, dass einige der Prozentsätze an fehlenden Werten in dem Intervall wichtiger sind als sonstige in dem Intervall. Wenn zum Beispiel die Prozentsätze an jüngsten fehlenden Werten für die relevanten Anwendungen der Datensätze die wichtigsten sind, kann das Teilmodul 720 die Prozentsätze an fehlenden Werten ermitteln, die zuletzt aufgetreten sind (z.B. innerhalb eines vorgegebenen kürzlich aufgetretenen Zeitfensters). Bei einigen Ausführungsformen der Erfindung erzeugt das Teilmodul 720 einen Prozentsatz an gewichteten fehlenden Werten und weist Gewichtungen auf Grundlage eines vorgegebenen Kriteriums zu. Bei einigen Ausführungsformen der Erfindung kann das vorgegebene Kriterium zum Beispiel darin bestehen, dass Prozentsätzen an fehlenden Werten von jüngeren Datenpunkten ein größerer Gewichtungswert als Prozentsätzen an fehlenden Werten von älteren Datenpunkten zugewiesen wird. Dementsprechend ist das Echtzeit-DQM-Teilmodul 720 dazu konfiguriert und angeordnet, DQMs für die sich ändernden Daten selbst zu berechnen.
  • 9 stellt ein Blockschaubild dar, das Einzelheiten darüber veranschaulicht, wie das Teilmodul 730 dazu konfiguriert und angeordnet sein kann, DQMs für sich ändernde Einschränkungen (z.B. die in 1 dargestellten Einschränkungen 130) gemäß Aspekten der Erfindung zu berechnen. Wenn neue Daten mit Qualitätsproblemen 530 eingehen, berechnet das Teilmodul 730 die DQM-Werte, die bewerten, wie gut die Datenpunkte der neuen Daten mit Qualitätsproblemen 530 Einschränkungen erfüllen. Diese DQM-Werte können sich im Zeitverlauf ändern. Statt eine Einschränkungs-DQM für einen gesamten Datensatz zu berechnen, berechnen Ausführungsformen der Erfindung eine Einschränkungs-DQM für neue Datenpunkte, wenn sie eingehen. Wenn das Echtzeit-DQM-Teilmodul 730 ermittelt, dass sich die Einschränkungs-DQM im Zeitverlauf erheblich ändert (z.B. über einen vorgegebenen Schwellenwert hinaus), können Informationen im Zusammenhang mit der sich ändernden Einschränkungs-DQM an den Benutzer weitergegeben werden. Als nichtbeschränkendes Beispiel kann es sich bei der Einschränkungs-DQM um einen Wert handeln, der erfasst, wie eng ein erstes Merkmal der Datenpunkte mit einem zweiten Merkmal der Datenpunkte verwandt ist. Sonstige Einschränkungs-DQMs können auf Grundlage der spezifischen Benutzeranwendung, die bewertet wird, entwickelt und verwendet werden.
  • 10A stellt ein Blockschaubild dar, das Einzelheiten darüber veranschaulicht, wie das Teilmodul 740 für eine effizientere Verwendung von Funktionen des DQA-Systems 100 konfiguriert und angeordnet werden kann, die anomale Bereiche in Datenpunkten identifizieren, um den Benutzer über das Vorhandensein der anomalen Daten zu informieren. Bei Ausführungsformen der Erfindung kann das Aktualisierungsmodul 150 anomale Daten durch Identifizieren von Mustern in den Datenpunkten und anschließendes Erkennen, dass die Muster in den Datenpunkten sich im Zeitverlauf geändert haben, identifizieren. Beispielsweise können Datenpunkte d1, die zwischen den Zeitpunkten t2 und t3 empfangen werden, als anomal identifiziert werden, da d1 ein anderes Muster als Datenpunkte d2 zeigt, die früher zwischen den Zeitpunkten t1 und t2 empfangen worden sind. Das Echtzeit-DQA-Teilmodul 740 ist dazu konfiguriert, die Funktionen zur Identifikation von anomalen Daten des Aktualisierungsmoduls 150 durch Zugreifen auf die erkannten anomalen Datenpunkte und Zuweisen einer Gewichtung zu DQMs zu nutzen, die für die Datenpunkte berechnet werden, die als anomal identifiziert worden sind. Bei einigen Ausführungsformen der Erfindung kann das Echtzeit-DQA-Teilmodul 740 dazu konfiguriert sein, dem anomalen Datenpunkt, auf Grundlage eines berechneten Schweregrades der Anomalie zum Beispiel mithilfe eines numerischen Punktbewertungssystems eine Gewichtung zuzuweisen, die kleiner als eins (1), aber größer als null (0) ist. Beispielsweise kann den DQMs, die für Datenpunkte berechnet werden, die durch das Aktualisierungsmodul 150 als geringfügig anomal identifiziert worden sind, eine Gewichtung zugewiesen werden, die innerhalb von etwa 20 % von eins (1) liegt. Bei einigen Ausführungsformen der Erfindung kann das Echtzeit-DQA-Teilmodul 740 dazu konfiguriert sein, dem anomalen Datenpunkt eine Gewichtung von null (0) zuzuweisen, was bedeutet, dass der anomale Datenpunkt in den DQM-Berechnungen ignoriert wird. Bei einigen Ausführungsformen der Erfindung kann die Zuweisung einer Gewichtung von null (0) zu anomalen Daten darauf beruhen, dass das Aktualisierungsmodul 150 auf Grundlage des numerischen Punktbewertungssystems eine hohe Anomalie identifiziert.
  • In einer beispielhaften Implementierung des Teilmoduls 740 wird durch das Teilmodul 740 ermittelt, dass ein Datensatz ds1, der zwischen den Zeitpunkten t3 und t2 empfangen wird, einen größeren oder kleineren Anteil an Nullwerten aufweist als ein Datensatz ds2, der zuvor zwischen den Zeitpunkten t1 und t2 empfangen worden ist. Abhängig von den Mustern, die der Ermittlung, dass ein Datensatz anomal ist, zugrunde liegt, kann entweder der größere oder der kleinere Anteil an Nullwerten als anomal betrachtet werden. Ein Muster aus kleinen Anteilen an Nullwerten gefolgt von einem großen Anteil an Nullwerten kann dazu führen, dass ein großer Anteil an Nullwerten als anomal markiert wird. Ein Muster aus großen Anteilen an Nullwerten gefolgt von einem kleinen Anteil an Nullwerten kann dazu führen, dass der kleine Anteil an Nullwerten als anomal markiert wird. Ein Muster aus kleinen Anteilen an Nullwerten gefolgt von einem weiteren kleinen Anteil an Nullwerten kann immer noch dazu führen, dass der jüngste Anteil an Nullwerten als anomal markiert wird, wenn der jüngste kleine Anteil an Nullwerten immer noch anomal sein kann, wenn er einen weiteren Standard dafür erfüllt, dass er als anomal betrachtet wird. Das Teilmodul 740 kann beim Berechnen der DQMs 710, die d1 zugehörig sind, aufgrund einer anomalen Verschiebung in den Nullwerten, die d1 und d2 zugehörig sind, im Zeitverlauf (von t1 bis t3) entweder eine niedrigere Gewichtung (d.h., zwischen null (0) und eins (1)) zuweisen oder d1 sogar ignorieren.
  • 10B stellt einen Ablaufplan dar, der ein auf einem Computer implementiertes Verfahren 1000 veranschaulicht, das durch das (in 10A dargestellte) Teilmodul 740 implementiert werden kann. Bei Ausführungsformen der Erfindung wird das Verfahren 1000 durch das Teilmodul 740 dazu implementiert, DQMs über sich ändernde Datensätze beim Verwenden von Anomalien zu berechnen. In Block 1001 identifiziert das Teilmodul 740 einen oder mehrere anomale Datenbereiche. Beispielsweise kann es sich bei dem anomalen Datenbereich gemäß Aspekten der Erfindung um einen Datenbereich handeln, in dem der Anteil an Nullwerten einen Anteil an Nullwerten für zumindest einen sonstigen Datenbereich um einen Schwellenwert überschreitet. Alternativ kann ein anomaler Datenbereich einen Datenbereich enthalten, in dem der Anteil an Nullwerten sich von einem Anteil an Nullwerten für sonstige Daten um einen Schwellenwert unterscheidet. Eine große Vielfalt sonstiger Kriterien kann zum Identifizieren von anomalen Datenbereichen verwendet werden. Beispielsweise kann ein anomaler Datenbereich einem Bereich entsprechen, in dem ein Anteil an Datenwerten, bei denen es sich um Ausreißer handelt, einen Schwellenwert überschreitet. Ein anomaler Datenbereich kann darüber hinaus einem Bereich entsprechen, der gegenüber sonstigen Datenbereichen unterschiedliche statistische Eigenschaften aufweist. Beispielsweise kann ein anomaler Datenbereich einen Mittelwert, einen Median, einen Modus, eine Varianz und/oder eine Standardabweichung aufweisen, der/die sich von sonstigen Daten um einen Schwellenwert unterscheidet.
  • In Block 1002 weist das Teilmodul 740 unterschiedlichen in Block 1001 identifizierten Datenbereichen Gewichtungen zu. Bei einigen Ausführungsformen der Erfindung kann Block 1002 anomalen Bereichen niedrigere Gewichtungen zuweisen.
  • In Block 1003 berechnet das Teilmodul 740 eine oder mehrere Aggregationsmetriken der Datenqualität mithilfe der in Block 1002 berechneten Gewichtungen.
  • Das DQA-System 100, in dem das Teilmodul 740 arbeitet, kann unterschiedliche Modalitäten von Daten verarbeiten. Beispielsweise könnte es sich bei einer Modalität um Zeitreihendaten (z.B. die in 3 dargestellten Zeitreihendaten 300) handeln, wohingegen eine weitere Modalität Tabellendaten (z.B. der in 4 dargestellte DatenRahmen 400) sein könnte. Bei Ausführungsformen der Erfindung können unterschiedliche nichtstatische und dynamische DQMs für jede dieser unterschiedlichen Modalitäten bereitgestellt werden.
  • Bei Ausführungsformen der Erfindung können nichtstatische und dynamische DQMs auf den Typ von Analyseaufgaben zugeschnitten werden, der den Daten zugehörig ist, die analysiert werden. Beispielsweise können Klassifizierungsaufgaben bestimmte DQMs zugehörig sein, wohingegen Regressions- oder Clustering-Aufgaben sonstige DQMs zugehörig sein können. Allgemeiner ausgedrückt, ein Benutzer (z.B. der in 5 dargestellte Benutzer 502) kann das DQA-System 100 dazu einsetzen, eine spezifische Analyseaufgabe durchzuführen, die möglicherweise mit einer Kombination aus Regression, Klassifikation und Clustering einhergeht. Das DQA-System 100 gemäß Aspekten der Erfindung kann durch den Benutzer dazu verwendet werden, spezifische nichtstatische und dynamische Versionen der DQMs bereitzustellen, die für eine solche spezifische Aufgabe geeignet sind.
  • 11 stellt ein Blockschaubild dar, das Einzelheiten darüber veranschaulicht, wie das Teilmodul 750 dazu konfiguriert werden kann, Datenqualitätsprüfungen „inkrementell“ an einem anfänglichen Datensatz mithilfe von neuartigen und für den „allgemeinen Fall“ bestimmten Verfahren zum inkrementellen Berechnen der sich ändernden DQMs 710 für neue/aktualisierte Daten durchzuführen. Datenqualitätsprüfungen im allgemeinen Fall inkrementell zu gestalten, ist schwierig. Ausführungsformen der Erfindung behandeln und beseitigen diese Schwierigkeit durch Bereitstellen von drei Typen von inkrementellen Datenqualitätsprüfungen im allgemeinen Fall, die als Typ I, Typ II und gewichteter Typ l&ll definiert sind und identifiziert werden. Bei Ausführungsformen der Erfindung handelt es sich bei Datenqualitätsprüfungen vom Typ I um die Datenqualitätsprüfungen, die entsprechende DQMs aufweisen, die im allgemeinen Fall durch Zerlegen der Datenqualitätsprüfungen in Blöcke und anschließendes Durchführen eines Summierungsprozesses inkrementell gestaltet werden können. Bei Ausführungsformen der Erfindung handelt es sich bei Datenqualitätsprüfungen vom Typ II um die Datenqualitätsprüfungen, die durch Zerlegen der Funktion zur Datenqualitätsprüfung (z.B. Q) in ihre Teilfunktionen (z.B. P und C); Anwenden von Zerlegungs-/ Summierungsoperationen vom Typ I auf jede Teilfunktion (z.B. P und C); und Zusammenfassen von Informationen der angewendeten Teilfunktionen (z.B. P und C), um zu der Datenqualitätsprüfung (z.B. Q) zu gelangen, inkrementell gestaltet werden können. Bei Ausführungsformen der Erfindung handelt es sich bei Datenqualitätsprüfungen vom gewichteten Typ I und/oder vom gewichteten Typ II um die Datenqualitätsprüfungen, die unter dem Typ I oder dem Typ II durchgeführt werden, die durch Wählen unterschiedlicher Gewichtungen für unterschiedliche Datenblöcke gewichtet werden können. 12 stellt Beispiele für Datenqualitätsprüfungen dar, die in dem DQA-System 100 mithilfe von inkrementellen Datenqualitätsprüfungen im allgemeinen Fall vom Typ I und/oder Type II durchgeführt werden können. Die in 12 dargestellten beispielhaften Datenqualitätsprüfungen können darüber hinaus in Übereinstimmung mit Techniken des gewichteten Typs I und des gewichteten Typs II gewichtet werden.
  • 13 stellt einen Ablaufplan dar, der ein Verfahren 1300 veranschaulicht, das durch das Teilmodul 750 des in 7 und 11 dargestellten Aktualisierungsmoduls 150 dazu implementiert werden kann, eine inkrementelle Datenqualitätsprüfung im allgemeinen Fall vom Typ I gemäß Ausführungsformen der Erfindung durchzuführen. Bei dem Verfahren 1300 handelt es sich bei der Funktion zur inkrementellen Datenqualitätsprüfung um Q und handelt es sich bei der auf den Datensatz D angewendeten Funktion Q zur Datenqualitätsprüfung um Q(D). Das Verfahren 1300 beginnt in Block 1302, geht dann zu Block 1304 über, um den nächsten Datensatz D als im Zeitverlauf geordnete Datenblöcke {D1, D2, ... , Dn} zu organisieren. In Block 1306 wird ein nächster der Datenblöcke {D1, D2, ... , Dn} zur Analyse als ein aktueller Datenblock in die (in 1 und 5 dargestellte) DQA-Pipeline 140 gestreamt. Im Entscheidungsblock 1308 wird eine Anfrage gestellt, ob der aktuelle Datenblock neue/aktualisierte Daten enthält. Wenn die Antwort auf die Anfrage im Entscheidungsblock 1308 nein ist, geht das Verfahren 1300 zum Entscheidungsblock 1310 über, um zu ermitteln, ob die Datenqualitätsfunktion Q zuvor auf den aktuellen Datenblock angewendet worden ist. Wenn die Antwort auf die Anfrage im Entscheidungsblock 1310 nein ist, wird die Datenqualitätsfunktion Q in Block 1312 auf den aktuellen Datenblock angewendet, und das Verfahren 1300 geht zum Entscheidungsblock 1316 über. Wenn die Antwort auf die Anfrage im Entscheidungsblock 1310 ja ist, geht das Verfahren 1300 zum Entscheidungsblock 1316 über.
  • Zum Entscheidungsblock 1308 zurückkehrend, geht das Verfahren 1300, wenn die Antwort auf die Anfrage im Entscheidungsblock 1308 ja ist, zu Block 1314 über, wendet die Datenqualitätsfunktion Q auf den neuen/aktualisierten aktuellen Datenblock an und geht zum Entscheidungsblock 1316 über. Im Entscheidungsblock 1316 wird eine Anfrage gestellt, ob der aktuelle Datenblock der letzte Datenblock in dem Datensatz D ist. Wenn die Antwort auf die Anfrage im Entscheidungsblock 1316 nein ist, kehrt das Verfahren 1300 zu Block 1306 zurück, um den nächsten Datenblock in dem Datensatz D zu verarbeiten. Wenn die Antwort auf die Anfrage im Entscheidungsblock 1316 ja ist, geht das Verfahren 1300 zu Block 1318 über und berechnet die inkrementelle Q(D), die gleich Σ Q(zuvor berechnete Datenblöcke von D) plus Q ((ein) neue(r)/aktualisierte(r) Datenblock/Datenblöcke) ist. Von Block 1318 kehrt das Verfahren 1300 zu Block 1304 zurück, um den nächsten Datensatz zu verarbeiten.
  • Gemäß Aspekten der Erfindung wendet Block 1318 Q durch Anwenden von Q auf den Datenblock/die Datenblöcke, die neue/aktualisierte Daten aufweisen, und Kombinieren dieses Ergebnisses mit einer Summierung der historischen Ergebnisse eines Anwendens von Q auf die Datenblöcke {D1, D2, ... , Dn} in dem Datensatz D, die sich nicht geändert haben, inkrementell auf den gesamten Datensatz D an. Die Summierung der historischen Ergebnisse von Q wird durch eine in 15 dargestellte Gleichung (1) dargestellt, und die Summierung der neuen/aktualisierten Ergebnisse von Q mit den historischen Ergebnissen von Q wird durch eine in 15 dargestellte Gleichung (2) dargestellt.
  • 14 stellt einen Ablaufplan dar, der ein Verfahren 1400 veranschaulicht, das durch das Teilmodul 750 des in 7 und 11 dargestellten Aktualisierungsmoduls 150 dazu implementiert wird, eine inkrementelle Datenqualitätsprüfung im allgemeinen Fall vom Typ II gemäß Ausführungsformen der Erfindung durchzuführen. Bei dem Verfahren 1400 handelt es sich bei der Funktion zur inkrementellen Datenqualitätsprüfung um Q und handelt es sich bei der auf den Datensatz D angewendeten Funktion Q zur Datenqualitätsprüfung um Q(D). In dem in 14 dargestellten Beispiel ist die Datenqualitätsfunktion Q ein Prozentsatz von NULL-Werten in dem Datensatz D; ist Q gleich einer Teilfunktion P geteilt durch eine Teilfunktion C; handelt es sich bei einer Teilfunktion P um die gesamten NULLen in dem Datensatz D; und ist eine Teilfunktion C eine Anzahl aller Datenpunkte in dem Datensatz D. Das Verfahren 1400 beginnt in Block 1402, geht dann zu Block 1404 über, um den nächsten Datensatz D als im Zeitverlauf geordnete Datenblöcke {D1, D2, ... , Dn} zu organisieren. In Block 1406 wird ein nächster der Datenblöcke {D1, D2, ... , Dn} zur Analyse als ein aktueller Datenblock in die (in 1 und 5 dargestellte) DQA-Pipeline 140 gestreamt. Im Entscheidungsblock 1408 wird eine Anfrage gestellt, ob der aktuelle Datenblock neue/aktualisierte Daten enthält. Wenn die Antwort auf die Anfrage im Entscheidungsblock 1408 nein ist, geht das Verfahren 1400 zum Entscheidungsblock 1410 über, um zu ermitteln, ob die Teilfunktionen P und C zuvor auf den aktuellen Datenblock angewendet worden sind. Wenn die Antwort auf die Anfrage im Entscheidungsblock 1410 nein ist, werden die Teilfunktionen P und C in Block 1412 auf den aktuellen Datenblock angewendet, und das Verfahren 1400 geht zum Entscheidungsblock 1416 über. Wenn die Antwort auf die Anfrage im Entscheidungsblock 1410 ja ist, geht das Verfahren 1400 zum Entscheidungsblock 1416 über.
  • Zum Entscheidungsblock 1408 zurückkehrend, geht das Verfahren 1400, wenn die Antwort auf die Anfrage im Entscheidungsblock 1408 ja ist, zu Block 1414 über, wendet die Teilfunktionen P und C auf den neuen/aktualisierten aktuellen Datenblock an und geht dann zum Entscheidungsblock 1416 über. Im Entscheidungsblock 1416 wird eine Anfrage gestellt, ob der aktuelle Datenblock der letzte Datenblock in dem Datensatz D ist. Wenn die Antwort auf die Anfrage im Entscheidungsblock 1416 nein ist, kehrt das Verfahren 1400 zu Block 1406 zurück, um den nächsten Datenblock in dem Datensatz D zu verarbeiten. Wenn die Antwort auf die Anfrage im Entscheidungsblock 1416 ja ist, geht das Verfahren 1400 zu Block 1418 über und berechnet die inkrementelle Q(D), die gleich Σ P(zuvor berechnete Datenblöcke von D) / (Σ C(zuvor berechnete Datenblöcke von D) plus C((ein) neue(r)/aktualisierte(r) Datenblock/Datenblöcke) plus Σ P((ein) neue(r)/aktualisierte(r) Datenblock/Datenblöcke von D)/(Σ C(zuvor berechnete Datenblöcke von D) plus C((ein) neue(r)/aktualisierte(r) Datenblock/Datenblöcke von D) ist. Von Block 1418 kehrt das Verfahren 1400 zu Block 1404 zurück, um den nächsten Datensatz zu verarbeiten.
  • Gemäß Aspekten der Erfindung wendet Block 1418 Q mithilfe des Zerlegungs-/ Summierungsprozesses vom Typ I (Verfahren 1300), der so modifiziert worden ist, dass er eine bei der zugehörigen DQM-Berechnung verwendete zerlegbare Operation berücksichtigt, inkrementell auf den gesamten Datensatz D an. In dem beispielhaften Verfahren 1400, in dem die Qualitätsfunktion Q der DQM-Berechnung ein Prozentsatz von NULL-Werten in einem Datensatz D ist, kann die Prozentsatzberechnung Q in zwei Funktionen P und C zerlegt werden, wobei C die Gesamtdatenpunkte in dem Datensatz D zählt und wobei es sich bei P um die NULL-Werte in dem Datensatz D handelt. Dementsprechend kann Q(D) als P(D) geteilt durch C(D) berechnet werden. Die inkrementelle Datenqualitätsprüfung im allgemeinen Fall in dem Verfahren 1400 gemäß Aspekten der Erfindung stellt einen Mechanismus zum Zerlegen der Qualitätsfunktion Q durch Anwenden von P auf jeden in die DQA-Pipeline eintretenden Datenblock; Anwenden von C auf jeden in die DQA-Pipeline eintretenden Datenblock; und Speichern von P({D1, D2, ... , Dn}) und C({D1, D2, ... , Dn}) für jeden Datenblock in dem Datensatz bereit. Q(D) für den gesamten Datensatz D wird durch Anwenden von P auf den Datenblock, der neue/aktualisierte Daten aufweist; Anwenden von C auf den Datenblock, der neue/aktualisierte Daten aufweist; und Kombinieren dieses Ergebnisses mit einer Summierung der historischen Ergebnisse eines Anwendens von P und C auf die Datenblöcke {D1, D2, ... , Dn} in dem Datensatz D, die sich nicht geändert haben, inkrementell gewonnen. Die Summierung der historischen Ergebnisse von P und C wird durch eine in 15 dargestellte Gleichung (3) dargestellt, und die Summierung der neuen/aktualisierten Ergebnisse von P und C mit den historischen Ergebnissen von P und C wird durch eine in 15 dargestellte Gleichung (4) dargestellt. Wenngleich das Verfahren 1400 für ein bestimmtes Beispiel dargestellt wird, in dem die Funktion Q als Teilfunktion P geteilt durch die Teilfunktion C dargestellt werden kann, ist das Verfahren 1400 auf eine Vielfalt von unterschiedlichen Funktionen anwendbar, sofern die Funktion in Teilfunktionen zerlegt und anschließend neu kombiniert werden kann.
  • 16 stellt Gleichungen dar, die Datenqualitätsprüfungen vom gewichteten Typ l&ll gemäß Aspekten der Erfindung darstellen. Bei einigen Ausführungsformen der Erfindung können auf Grundlage beliebiger der hierin zuvor in Verbindung mit Aspekten der Erfindung beschriebenen Standards zum Anwenden von Gewichtungen auf Datenprüfungen unterschiedliche Gewichtungen auf unterschiedliche Datenblöcke angewendet werden. In einigen Aspekten der Erfindung kann eine Gewichtung w auf Grundlage der Zeit ausgewählt werden, die von einem letzten Zeitstempel eines jeweiligen Datenblocks bis zu einer aktuellen Zeit verstrichen ist. In einigen Aspekten der Erfindung können einheitliche Gewichtungen auf vorherige Datenblöcke in einem Datensatz angewendet werden. Ein Beispiel dafür, wie ein Gewichten in Datenqualitätsprüfungen vom Typ I gemäß Aspekten der Erfindung einbezogen werden kann, wird durch eine Gleichung 5 in 16 dargestellt. Ein Beispiel dafür, wie ein Gewichten in Datenqualitätsprüfungen vom Typ II gemäß Aspekten der Erfindung einbezogen werden kann, wird durch eine Gleichung 6 in 16 dargestellt.
  • 17 stellt eine Architektur eines Teilmoduls 750A dar, die Einzelheiten darüber darstellt, wie das (in 7 und 11 dargestellte) Teilmodul 750 gemäß Ausführungsformen der Erfindung implementiert werden kann. Das Teilmodul 750A kann dazu genutzt werden, die in 13 und 14 dargestellten Verfahren 1300 und/oder 1400 unter Verwendung der in 15 und 16 dargestellten Gleichungen 1 bis 6 zu implementieren. Wie in 17 dargestellt, enthält das Teilmodul 750A ein lokales Analyseprogramm 752, das dazu konfiguriert ist, Prüfungen zur Datenqualitätsanalyse an eingehenden Datenblöcken durchzuführen und deren Ergebnisse zur nachfolgenden Verwendung durch den Qualitätsmetrikgenerator 755 und optional durch den Gewichtungsgenerator 754 an den Minispeicher 753 zu senden, wenn die inkrementelle Datenqualitätsmetrik Q(Dw U Dn+1) berechnet wird.
  • 18 stellt ein Blockschaubild dar, das Einzelheiten darüber veranschaulicht, wie das Teilmodul 760 dazu konfiguriert werden kann, Status für inkrementelle DQM-Berechnungen gemäß Ausführungsformen der Erfindung zu verwalten. Bei Ausführungsformen der Erfindung stellt das Teilmodul 760 zur Statusverwaltung einen Mechanismus zum Vorhalten eines Status bereit, was zum Durchführen von inkrementellen DQM-Berechnungen erforderlich ist, da inkrementelle Berechnungen eine Möglichkeit benötigen, die vorherigen Berechnungen zu verfolgen, die bei den inkrementellen Berechnungen verwendet werden. Ausführungsformen der Erfindung beseitigen die Notwendigkeit, dass das (in 1 und 5 dargestellte) DQA-System 100 seine eigene Datenbank von Informationen über historische Datenqualitätsprüfungen vorhält, durch Bereitstellen des Teilmoduls 760A mit den Blöcken 762 und 764. Block 762 ist dazu konfiguriert und angeordnet, Funktionen zum Berechnen von DQMs, zum Berechnen von DQM-Aktualisierungen und gegenseitigen Übergeben von Statusvariablen zwischen dem Teilmodul 760 und einem in Block 766 dargestellten Benutzerprogramm auszuführen. Block 764 ist dazu konfiguriert und angeordnet, Funktionen zum Analysieren und Ausgeben von Datenqualitätsergebnissen zusammen mit einem gegenseitigen Übergeben von Statusvariablen zwischen dem Teilmodul 760 und dem in Block 766 dargestellten Benutzerprogramm auszuführen. Bei Ausführungsformen der Erfindung ist das DQA-System 100 in der Programmiersprache Python geschrieben, und eine Python-API des Teilmoduls 760 zur Statusverwaltung ist dazu konfiguriert, dem Benutzerprogramm in Block 766 zu ermöglichen, die Python-API zu verwenden, um verschiedene Funktionen im Zusammenhang mit der Statusverwaltung aufzurufen. Das Teilmodul 760 zur Statusverwaltung berechnet in Block 762 DQMs und übergibt Statusinformationen im Zusammenhang damit in Block 766 an das Benutzerprogramm. Zum Nutzen der von dem Teilmodul 760 zur Statusverwaltung empfangenen Statusinformationen ruft das Benutzerprogramm 766 in Block 764 Funktionen des Teilmoduls 760 zur Statusverwaltung auf, die dazu konfiguriert und angeordnet sind, die Daten tatsächlich zu analysieren und die Datenqualitätsvariable auszugeben. Dementsprechend ist es für die Verwendung der Blöcke 762, 764 in dem Teilmodul 760A zur Statusverwaltung gemäß Aspekten der Erfindung nicht erforderlich, dass das Benutzerprogramm in Block 766 in der Lage ist, das Format der Statusvariablen zu interpretieren. Das Benutzerprogramm muss in Block 766 lediglich die Python-API verwenden, um das Teilmodul 760 zur Statusverwaltung aufzurufen.
  • 19 stellt ein Beispiel dafür dar, wie das in 18 dargestellte Statusverwaltungsmodul 760 dazu konfiguriert werden kann, Statusinformationen über vorherige DQM-Berechnungen vorzuhalten. Beispielsweise kann Block 762 DQMs für einen Datenbereich d1 berechnen. Die Statusinformationen, die diesen DQMs entsprechen (z.B. ein Anteil an Nullwerten in d1, ein Durchschnitt, ein Mittelwert, eine Standardabweichung für die gesamte oder einen Teil von d1 usw.) werden vorgehalten; Block 762 berechnet DQMs für einen neuen Bereich d2. Wenngleich bei einigen Ausführungsformen der Erfindung diese Statusinformationen in einem Dateisystem oder einer Datenbank des (in 1 und 5) dargestellten DQA-Systems 100 vorgehalten werden können, behandeln Ausführungsformen der Erfindung auch Situationen, in denen es nicht praktikabel ist, ein Dateisystem oder eine Datenbank zum Vorhalten von Statusinformationen zu verwenden. Dementsprechend stellen Ausführungsformen der Erfindung die Blöcke 762, 764 bereit, die dazu konfiguriert und angeordnet sind, die Statusinformationen (d.h., Statusvariablen) zwischen den Blöcken 762, 764 und einem (in Block 766 dargestellten) Client-Programm zu übergeben, das durch eine API davon auf das DQA-System 100 zugreift. Diese Konfiguration ermöglicht dem Teilmodul 760 zur Statusverwaltung, die Statusvariablen zu erzeugen und sie über die API des DQA-Systems 100 zwischen dem DQA-System 100 und Client-Programmen (d.h., Block 766) zu übergeben.
  • In einem spezifischen Beispiel, in dem das DQA-System 100 in der Programmiersprache Python implementiert ist, werden Datenbereiche mithilfe von Python(z.B. Pandas)-Datenrahmen an das DQA-System 100 übergeben. Eine als Python-Funktion oder-verfahren implementierte DQM kann einen Parameter, interval_info_list, annehmen, wobei jedes Element in der Liste Informationen über den Datenbereich wie zum Beispiel die relative Position des Datenbereichs innerhalb des gesamten Datensatzes enthält. Sonstige Felder, die DQMs für den Datenbereich entsprechen, wie zum Beispiel ein Anteil an fehlenden Werten, ein Anteil an Unendlichkeitswerten und ein Anteil von Nullwerten können enthalten sein.
  • Beispielsweise kann eine Python-Funktion (oder -verfahren) zum inkrementellen Prüfen auf Nullwerte in einem Datensatz auf folgende Weise implementiert werden. Die Funktion aktualisiert die Nullwertmetrik, wenn neue Datenbereiche empfangen werden. Die Funktion kann die folgende Signatur aufweisen: check_na_columns_incremental(df, offset, interval_info_list), wobei df der Datenrahmen ist, der Daten für den Datenbereich enthält; offset die relative Position des Datenbereichs in dem gesamten Datensatz darstellt; und interval_info_list Ergebnisse aus Analysen von vorherigen Datenbereichen enthält. Dementsprechend analysiert die Funktion check_na_columns_incremental df, fügt die Ergebnisse zu interval_info_list hinzu und gibt den aktualisierten Wert von interval_info_list zurück.
  • Bei Ausführungsformen der Erfindung müssen die Benutzerprogramme (die auch als Client-Programme bezeichnet werden können) 766 die interne Struktur von interval_info_list-Variablen nicht verarbeiten. Die Benutzerprogramme 766 können interval_info_list-Variablen einfach über die API an das DQA-System 100 übergeben und sich zum Interpretieren der interval_info_list-Variablen auf das DQA-System 100 stützen.
  • 20 stellt ein Beispiel dafür dar, wie das DQA-System 100 bei einigen Ausführungsformen der Erfindung Verfahren zum Analysieren von DQMs im Zeitverlauf aus den in den interval_info_list-Parametern vorgehaltenen Statusinformationen bereitstellt. Eine Funktion oder ein Verfahren, um dies zu erreichen, ist analyze_data_by_interval(interval_info_list), die/das mehrere Typen von Analysen einschließlich einer Analyse von DQMs über einen einzelnen Datenbereich sowie von DQMs bereitstellt, die über mehrere Datenbereiche zusammengefasst sind. Diese(s) Funktion/Verfahren kann Entwicklungen und Anomalien über unterschiedliche Datenbereiche erkennen. Sie/Es kann darüber hinaus Datenqualitätsmetriken, die unterschiedlichen Datenbereichen entsprechen, sowie über unterschiedliche Zeitintervalle hinweg graphisch darstellen. Sie/Es kann darüber hinaus unterschiedlichen Datenbereichen beim Berechnen von zusammengefassten DQMs unterschiedliche Gewichtungen zuweisen. Bei einigen Ausführungsformen der Erfindung können jüngeren Daten höhere Gewichtungen zugewiesen werden als älteren Daten. Bei einigen Ausführungsformen der Erfindung kann ein Zuweisen von unterschiedlichen Gewichtungen zu unterschiedlichen Bereichen beim Berechnen von zusammengefassten DQMs durch die Verwendung von exponentiell gewichteten gleitenden Durchschnitten erreicht werden.
  • 21 bis 26 stellen Einzelheiten darüber dar, wie das Teilmodul 770 für eine effiziente Priorisierung von DQM-Berechnungen gemäß Ausführungsformen der Erfindung implementiert werden kann. Da ein Erreichen der genauesten und aktuellsten DQMs zu jeder Zeit prohibitive Aufwandskosten aufweisen kann, ist das Teilmodul 770 dazu konfiguriert und angeordnet, wohlüberlegte Kompromisse zwischen einem Bereitstellen von sinnvollen Datenqualitätsschätzungen und einem Nichtverwenden einer übermäßigen Menge von Rechen-Ressourcen, im Besonderen für große Datensätze, einzugehen. Wohlüberlegte Entscheidungen können sowohl bei der Häufigkeit von Neuberechnungen von DQMs als auch beim Auswählen der für eine Neuberechnung am besten geeigneten DQMs getroffen werden. Zu Faktoren, die im Allgemeinen das Potenzial für übermäßige Rechen-Ressourcen erhöhen, zählen die Größe der Datensätze sowie die Anzahl von DQMs, die Benutzer verfolgen müssen.
  • Bei Ausführungsformen der Erfindung ist das Teilmodul 770 dazu konfiguriert und angeordnet, Informationen über die Leistungsfähigkeit von unterschiedlichen DQMs als Funktion der Datengröße und möglicherweise sonstige Eigenschaften der Daten vorzuhalten. Das Teilmodul 770 ist dazu konfiguriert, historische Daten über die Leistungsfähigkeit von DQMs vorzuhalten. Das Teilmodul 770 ist dazu konfiguriert, wenn neue Datensätze analysiert werden, persistente Informationen über die Leistungsfähigkeit und sonstige Ausführungseigenschaften in einem Verlaufs-Recorder (history recorder, HR) (z.B. dem in 21 dargestellten Verlaufs-Recorder 771) vorzuhalten. Das Teilmodul 770 kann zur besseren Beurteilung der Leistungsfähigkeit von DQM-Berechnungen, die durch das Teilmodul 770 durchgeführt werden, den HR analysieren. Der HR hält Informationen über die Ausführung von DQMs vor. Wenn eine DQM-Funktion ausgeführt wird, zeichnet der HR Informationen wie zum Beispiel einen Namen und Parameter einer Datenqualitätsfunktion; Größen/Dimensionen von Datensätzen, die analysiert werden; eine durch die Ausführung einer Funktion in Anspruch genommene CPU-Zeit; eine durch die Ausführung einer Funktion in Anspruch genommene reale Prozesslaufzeit; gegebenenfalls einen E/A- und/oder Netzwerkaufwand; und zum Ausführen der Funktion verwendete Hardware und Software auf. Für Tabellendaten (z.B. den in 4 dargestellten DatenRahmen 400) hält der HR Informationen wie zum Beispiel eine Anzahl von Zeilen, eine Anzahl von Spalten sowie Informationen über Datentypen von Spalten (z.B. numerisch, Zeichenfolge, kategorial usw.) vor. Der HR ermöglicht dem Teilmodul 770, Leistungsfähigkeitsprofile (z.B. in 21 dargestellte DQM-Leistungsfähigkeitsprofile 772) für alle relevanten DQMs zu erstellen. Auf diese Weise kann das Teilmodul 770 für eine(n) bestimmte(n) Datensatz und Datensatzgröße die Aufwände für unterschiedliche an diesem Datensatz durchgeführte DQMs schätzen. Das Teilmodul 770 ist des Weiteren dazu konfiguriert, Informationen darüber vorzuhalten, wie sich DQMs mit Änderungen in den Daten selbst ändern. Das Teilmodul 770 ist dazu konfiguriert, diese Information dazu zu verwenden vorherzusagen, wie stark DQMs sich als Reaktion auf neue Daten erwartbar ändern würden. Solche Änderungsvorhersagen können mithilfe von einfachen Berechnungen (z.B. in 21 dargestellten Simulationsalgorithmen 775) oder komplexeren Modellen für maschinelles Lernen (z.B. in 21 dargestellten Algorithmen und Modellen 774 für maschinelles Lernen) vorgenommen werden.
  • 21 stellt ein Blockschaubild dar, das eine Funktionsarchitektur dafür veranschaulicht, wie das Teilmodul 770 gemäß Ausführungsformen der Erfindung dazu implementiert werden kann, DQM-Berechnungen effizient zu priorisieren, um dadurch die Rechen-Ressourcen des DQM-Systems 100, die eingesetzt werden, um die verschiedenen, hierin beschriebenen, nichtstatischen und dynamischen Datenqualitätsprüfungen und DQMs auszuführen, effizient zu verwalten. Die Architektur des Teilmoduls 770 enthält einen Verlaufs-Recorder 771 und einen oder mehrere Vorhersagealgorithmen 773, die dazu konfiguriert sind, Vorhersagen 776 zu erzeugen. Bei Ausführungsformen der Erfindung enthält der Verlaufs-Recorder 771 DQM-Leistungsfähigkeitsprofile 772, die jeweils eine vorherige Ausführung von Testverarbeitungsprozessen; eine vorherige Ausführung von tatsächlichen Verarbeitungsprozessen; und eine sonstige Quelle von DQM-Leistungsfähigkeitsdaten enthalten können. Die Vorhersagealgorithmen 773 können Algorithmen und Modelle 774 für maschinelles Lernen und/oder Simulationsalgorithmen 775 enthalten. Die Algorithmen und Modelle 774 für maschinelles Lernen können dazu trainiert werden, ein Modell des DQM-Systems 100 einschließlich der Datensätze, die durch das DQM-System 100 analysiert werden, zusammen mit einem diesem zugehörigen Rechenaufwand zu erzeugen. Die Simulationsalgorithmen 775 können dazu konfiguriert sein, die Leistungsfähigkeit des DQA-Systems 100 einschließlich der Rechen-Ressourcen, die erforderlich sind, um eine Vielfalt von Datenqualitätsprüfungen und -analysen durchzuführen, zu modellieren oder zu simulieren. Die Vorhersagealgorithmen 773 sind dazu konfiguriert, Vorhersagen 773 zu erzeugen, zu denen eine Vorhersage, wie stark sich eine jeweilige DQM erwartbar als Reaktion auf neue/aktualisierte Daten ändern würde; für eine(n) jeweilige(n) Datensatz und Datensatzgröße eine Vorhersage der Aufwände für unterschiedliche DQMs, die an dem/der jeweiligen Datensatz und Datengröße durchgeführt werden; und/oder sonstige Vorhersagen über die Effizienz von DQM-Aufwänden zählen, ohne darauf beschränkt zu sein.
  • 22 stellt ein weiteres Blockschaubild dar, das Funktionsmerkmale des Teilmoduls 770 gemäß Ausführungsformen der Erfindung veranschaulicht. Bei Ausführungsformen der Erfindung ist das Teilmodul 770 dazu ausgebildet, die Ausführung von DQM-Berechnungen auf Grundlage einer Vielfalt von Faktoren zu priorisieren, darunter des Rechenaufwands, der zum Berechnen einer DQM erforderlich ist; der Änderungsgeschwindigkeit einer jeweiligen DQM; ob zuvor berechnete DQMs ohne einen Verlust an Genauigkeit, der einen Schwellenwert überschreitet, verwendet werden können; und durch einen Benutzer festgelegte Einschränkungsprioritäten, ohne darauf beschränkt zu sein. Bei Ausführungsformen der Erfindung ist das Teilmodul 770 dazu konfiguriert, seine Analyse auf ausgewählte Typen von Einschränkungen zu konzentrieren, darunter auf Einschränkungen, die wichtigen (benutzerdefinierten oder aus der vorherigen Erfahrung mit der Anwendung bekannten) Eigenschaften der Anwendung am engsten zugehörig sind; Einschränkungen, die sich am häufigsten ändern; und wenig rechenaufwendige Einschränkungen, die zum Berechnen und Aktualisieren einen geringen Aufwand aufweisen. Bei Ausführungsformen der Erfindung ist das Teilmodul 770 dazu konfiguriert, Einschränkungen mithilfe dieser Eigenschaften so einzustufen, dass höher eingestufte Einschränkungen häufiger bewertet werden.
  • 23 stellt ein Blockschaubild dar, das Einzelheiten eines Algorithmus veranschaulicht, der durch das Teilmodul 770A gemäß Ausführungsformen der Erfindung implementiert wird, und 24 stellt Aspekte des Algorithmus dar, der durch das Teilmodul 770A implementiert wird. Dementsprechend bezieht sich die folgende Beschreibung des in 23 dargestellten Teilmoduls 770 auch auf in 24 dargestellte Elemente. Gemäß Aspekten der Erfindung enthält das Teilmodul 770A alle Merkmale und die gesamte Funktionalität des Teilmoduls 770, die hierin zuvor beschrieben worden sind, mit der zusätzlichen Funktionalität des in dem Teilmodul 770A dargestellten Algorithmus. Bei Ausführungsformen der Erfindung ist der Algorithmus des Teilmoduls 770A dazu konfiguriert, DQM-Berechnungen effizient zu priorisieren und dadurch die Rechen-Ressourcen des DQM-Systems 100, die genutzt werden, um die verschiedenen hierin beschriebenen nichtstatischen und dynamischen Datenqualitätsprüfungen und DQMs auszuführen, effizient zu verwalten. Der Algorithmus des Teilmoduls 770A beginnt in Block 2301, in dem das DQA-System 100 vorherige Statistiken über einen Rechenaufwand, o, und eine Änderungsgeschwindigkeit, f, für unterschiedliche DQMs vorhält. Die Variable f stellt die Größenordnung dar, mit der sich eine DQM ändert, wenn neue Daten empfangen werden. Block 2301 wird im Zeitverlauf fortlaufend ausgeführt. In Block 2302 weist ein Benutzer (z.B. der in 5 dargestellte Benutzer 502) einer oder mehreren Metriken optional einen Wichtigkeitswert, i, zu. Standard-i-Werte sind eins (1) für Situationen, in denen Benutzer keinen Wichtigkeitswert bereitstellen. In Block 2303 berechnet das Teilmodul 770A eine Rangordnung r(o, f, i) für jede DQM. Bei Ausführungsformen der Erfindung kann eine Vielfalt unterschiedlicher Funktionen für r verwendet werden. In einem Beispiel wird eine Einstufung mithilfe einer Funktion zum Einstufen = a *o + b *f + c*i zugewiesen, wobei a eine negative Konstante ist; b eine positive Konstante ist; c eine positive Konstante ist; o ein Aufwand zum Berechnen der DQM ist; f die Änderungsgeschwindigkeit der DQM ist, wenn neue Daten empfangen werden; i die durch den Benutzer bereitgestellte Wichtigkeit der DQM ist; und ein Standardwert von eins (1) verwendet wird, wenn kein Benutzerwert ausgewählt wird. Die Rangordnungsfunktion r ordnet DQMs nach Einstufungen in absteigender Reihenfolge an. In Block 2304 kann das Teilmodul 770A tmax Zeit zum Aktualisieren von DQMs aufwenden. In Block 2305 führt das Teilmodul 770A Aktualisierungen in einer durch die Rangordnungsfunktion r angegebenen Reihenfolge an DQMs durch. In Block 2306 beendet das Teilmodul 770A das Durchführen von Aktualisierungen an DQMs, nachdem alle DQMs aktualisiert worden sind oder wenn tmax überschritten ist.
  • 25 stellt ein Blockschaubild dar, das Einzelheiten eines Algorithmus veranschaulicht, der durch ein Teilmodul 770B gemäß Ausführungsformen der Erfindung implementiert wird, und 26 stellt Aspekte des Algorithmus dar, der durch das in 25 dargestellte Teilmodul 770B implementiert wird. Dementsprechend bezieht sich die folgende Beschreibung des in 25 dargestellten Teilmoduls 770B auch auf in 26 dargestellte Elemente. Gemäß Aspekten der Erfindung enthält das Teilmodul 770B alle Merkmale und die gesamte Funktionalität des Teilmoduls 770, die hierin zuvor beschrieben worden sind, mit der zusätzlichen Funktionalität des in dem Teilmodul 770B dargestellten Algorithmus. Bei Ausführungsformen der Erfindung ist der Algorithmus des Teilmoduls 770B dazu konfiguriert, DQM-Berechnungen effizient zu priorisieren und dadurch die Rechen-Ressourcen des DQM-Systems 100, die genutzt werden, um die verschiedenen hierin beschriebenen nichtstatischen und dynamischen Datenqualitätsprüfungen und DQMs auszuführen, effizient zu verwalten. Gemäß Aspekten der Erfindung beseitigt der Algorithmus des Teilmoduls 770B das Problem, dass, wenn dem DQA-System 100 immer die Zeit zum Berechnen von DQMs ausgeht (d.h., tmax stets überschritten wird), niedrig eingestufte DQMs möglicherweise nie aktualisiert werden.
  • Der Algorithmus des Teilmoduls 770B beginnt in Block 2501, in dem das Teilmodul 770B vorherige Statistiken über einen Rechenaufwand, o, und eine Änderungsgeschwindigkeit, f, für unterschiedliche DQMs vorhält. Die Variable f stellt die Größenordnung dar, mit der sich eine DQM ändert, wenn neue Daten empfangen werden. Block 2501 wird im Zeitverlauf fortlaufend ausgeführt. In Block 2502 weist ein Benutzer (z.B. der in 5 dargestellte Benutzer 502) einer oder mehreren Metriken optional einen Wichtigkeitswert, i, zu. Standard-i-Werte sind eins (1) für Situationen, in denen Benutzer keinen Wichtigkeitswert bereitstellen. Das Teilmodul 770B berechnet eine Einstufung r1(o, f, i) für jede DQM in Block 2503. Bei Ausführungsformen der Erfindung kann eine Vielfalt unterschiedlicher Funktionen für r1 verwendet werden. In einem Beispiel wird eine Einstufung mithilfe einer Funktion r1 = a *o + b*f + c*i zugewiesen, wobei a eine negative Konstante ist; b eine positive Konstante ist; c eine positive Konstante ist; o ein Aufwand zum Berechnen der DQM ist; f die Änderungsgeschwindigkeit der DQM ist, wenn neue Daten empfangen werden; i die durch den Benutzer bereitgestellte Wichtigkeit der DQM ist; und ein Standardwert von eins (1) verwendet wird, wenn keine Benutzerauswahl bereitgestellt wird. Die Werte für r1 stellen relative Häufigkeiten dar, mit denen das Teilmodul 770 eine DQM aktualisieren sollte. Alle r1-Werte sollten positiv sein. Um sicherzustellen, dass alle DQMs zumindest manchmal berechnet werden, selbst wenn tmax stets überschritten wird, wird das Verhältnis zwischen den höchsten und den niedrigsten Werten so ausgewählt, dass ein Schwellenwert nicht überschritten wird (d.h., es sollte nicht zu groß sein). In Block 2504 kann das Teilmodul 770B tmax Zeit zum Aktualisieren von DQMs aufwenden. In Block 2505 führt das Teilsystem 770B Aktualisierungen an DQMs durch. Jede DQM wird mit einer Häufigkeit proportional zu ihrem r1-Wert aktualisiert. In Block 2506 beendet das Teilmodul 770B das Durchführen von Aktualisierungen an DQMs, nachdem alle DQMs aktualisiert worden sind oder wenn tmax überschritten ist.
  • 27 stellt ein Übersichts-Blockschaubild des Computersystems 2700 dar, das dazu verwendet werden kann, eine oder mehrere Computerverarbeitungsoperationen gemäß Aspekten der Erfindung zu implementieren. Wenngleich ein beispielhaftes Computersystem 2700 dargestellt wird, enthält das Computersystem 2700 einen Datenübertragungsweg 2726, der das Computersystem 2700 mit (nicht dargestellten) zusätzlichen Systemen verbindet und ein oder mehrere Weitverkehrs-Netzwerke (wide area networks, WANs) und/oder lokale Netzwerke (lokal area networks, LANs) wie zum Beispiel das Internet, (ein) Intranet(s) und/oder (ein) drahtlose(s) Datenübertragungs-Netzwerk(e) enthalten kann. Das Computersystem 2700 und das zusätzliche System stehen über den Datenübertragungsweg 2726 in Verbindung, z.B. um Daten zwischen ihnen auszutauschen.
  • Das Computersystem 2700 enthält einen oder mehrere Prozessoren wie zum Beispiel einen Prozessor 2702. Der Prozessor 2702 ist mit einer Datenübertragungs-Infrastruktur 2704 (z.B. einem Datenübertragungsbus, einer Kreuzschiene oder einem Netzwerk) verbunden. Das Computersystem 2700 kann eine Anzeigeschnittstelle 2706 enthalten, die Graphiken, Text und sonstige Daten von der Datenübertragungs-Infrastruktur 2704 (oder von einem nicht abgebildeten Bildspeicher) zur Anzeige auf einer Anzeigeeinheit 2708 weiterleitet. Das Computersystem 2700 enthält außerdem einen Hauptspeicher 2710, bevorzugt einen Direktzugriffsspeicher (random access memory, RAM), und es kann darüber hinaus einen Sekundärspeicher 2712 enthalten. Der Sekundärspeicher 2712 kann zum Beispiel ein Festplattenlaufwerk 2714 und/oder ein Wechselspeicher-Laufwerk 2716 enthalten, das zum Beispiel ein Diskettenlaufwerk, ein Magnetband-Laufwerk oder ein optisches Plattenlaufwerk darstellt. In einer Weise, die Fachleuten allgemein bekannt ist, liest das Wechselspeicher-Laufwerk 2716 von einer Wechselspeichereinheit 2718 und/oder schreibt auf diese. Die Wechselspeichereinheit 2718 stellt zum Beispiel eine Diskette, eine Compact Disc, ein Magnetband oder eine optische Platte, ein Flash-Laufwerk, einen Halbleiterspeicher usw. dar, die durch das Wechselspeicher-Laufwerk 2716 gelesen werden bzw. auf die durch dieses geschrieben wird. Wie ersichtlich ist, enthält die Wechselspeichereinheit 2718 ein durch einen Computer lesbares Speichermedium, auf dem Computer-Software und/oder Daten gespeichert sind.
  • Bei alternativen Ausführungsformen kann der Sekundärspeicher 2712 sonstige ähnliche Mittel enthalten, um zu ermöglichen, dass Computerprogramme oder sonstige Anweisungen in das Computersystem geladen werden. Zu solchen Mitteln können zum Beispiel eine Wechselspeichereinheit 2720 und eine Schnittstelle 2722 zählen. Zu Beispielen für solche Mittel können ein Programmpaket und eine Paketschnittstelle (wie zum Beispiel diejenigen, die in Videospieleinheiten zu finden sind), ein Wechselspeicher-Chip (wie zum Beispiel ein EPROM oder PROM) und ein zugehöriger Steckplatz und sonstige Wechselspeichereinheiten 2720 und Schnittstellen 2722 zählen, die ermöglichen, dass Software und Daten von der Wechselspeichereinheit 2720 auf das Computersystem 2700 übertragen werden.
  • Das Computersystem 2700 kann außerdem eine Datenübertragungs-Schnittstelle 2724 enthalten. Die Datenübertragungs-Schnittstelle 2724 ermöglicht, dass Software und Daten zwischen dem Computersystem und externen Einheiten übertragen werden. Zu Beispielen für die Datenübertragungs-Schnittstelle 2724 können ein Modem, eine Netzwerk-Schnittstelle (wie zum Beispiel eine Ethernet-Karte), ein Datenübertragungsanschluss, ein(e) PCM-CIA-Steckplatz und -Karte usw. zählen. Software und Daten, die über die Datenübertragungs-Schnittstelle 2724 übertragen werden, liegen in Form von Signalen vor, bei denen es sich zum Beispiel um elektronische, elektromagnetische, optische oder sonstige Signale handeln kann, die in der Lage sind, von der Datenübertragungs-Schnittstelle 2724 empfangen zu werden. Diese Signale werden der Datenübertragungs-Schnittstelle 2724 über einen Datenübertragungsweg (d.h., -kanal) 2726 bereitgestellt. Der Datenübertragungsweg 2726 überträgt Signale und kann mithilfe einer Verdrahtung oder eines Kabels, eines Lichtwellenleiters, einer Telefonleitung, einer Mobilfunkverbindung, einer HF-Verbindung und/oder sonstiger Datenübertragungskanäle implementiert werden.
  • Bei der vorliegenden Erfindung werden die Begriffe „Computerprogrammmedium“, „durch einen Computer verwendbares Medium“, „Computerprogrammprodukt“ und „durch einen Computer lesbares Medium“ verwendet, um allgemein auf Medien wie zum Beispiel den Hauptspeicher 2710 und den Sekundärspeicher 2712, das Wechselspeicher-Laufwerk 2716 und eine in das FestplattenLaufwerk 2714 eingebaute Festplatte zu verweisen. Computerprogramme (die auch als Computersteuerlogik bezeichnet werden) werden in dem Hauptspeicher 2710 und/oder dem Sekundärspeicher 2712 gespeichert. Computerprogramme können auch über die Datenübertragungs-Schnittstelle 2724 empfangen werden. Wenn solche Computerprogramme ausgeführt werden, ermöglichen sie dem Computersystem, die Funktionen der Erfindung, wie hierin erörtert, durchzuführen. Im Besonderen ermöglichen die Computerprogramme, wenn sie ausgeführt werden, dem Prozessor 2702, die Merkmale des Computersystems durchzuführen. Dementsprechend stellen solche Computerprogramme Steuereinheiten des Computersystems dar.
  • Zu(m) technischen Wirkungen und Nutzen des offenbarten DQA-Systems zum Durchführen einer Datenqualitätsanalyse in Echtzeit zählen die folgenden, ohne darauf beschränkt zu sein. Ausführungsformen der Erfindung stellen ein DQA-System bereit, das genaue Datenanalyseprüfungen in mehreren Problembereichen durchführt, im Besonderen bei Anwendungen, in die fortlaufend neue Daten einströmen. Das DQA-System erzeugt Datenqualitätsmetriken, die fortlaufend aktualisiert werden, wenn neue Daten empfangen werden. Das DQA-System gemäß Aspekten der Erfindung stellt des Weiteren neue Verfahren zum Durchführen einer Datenqualitätsbeurteilung bereit, wenn Daten fortlaufend einströmen.
  • Ein zusätzlicher technischer Nutzen eines DQA-Systems gemäß Aspekten der Erfindung besteht darin, dass es mehrere Metriken definiert, die sich im Zeitverlauf ändern. Wenngleich das offenbarte DQA-System inkrementelle Berechnungen für eine Anzahl unterschiedlicher Datenqualitätsmetriken bereitstellt, geht es beträchtlich über vorherige Arbeiten hinaus, indem es neue Metriken definiert, die bestehende Metriken für statische Datensätze verbessern. Das offenbarte DQA-System ist dazu konfiguriert, beim Berücksichtigen neuer einströmender Daten neue Metriken zu definieren, die auf sich fortlaufend ändernde Daten anwendbar sind, statt nur bestehende Metriken zu verwenden. Das offenbarte DQA-System ermöglicht, dass Datenqualitätsprüfungen über spezifische Fenster eines Datensatzes hinweg definiert werden.
  • Ein zusätzlicher technischer Nutzen eines DQA-Systems gemäß Aspekten der Erfindung besteht darin, dass unterschiedlichen Zeiträumen unterschiedliche Gewichtungen zum Berechnen von Datenqualitätsmetriken verliehen werden können. Im Allgemeinen können zum Beurteilen von Datenqualitätsmetriken jüngeren Datenpunkten höhere Gewichtungen als älteren Datenpunkten zugewiesen werden. Jeder Stichprobe oder jedem Datenpunkt kann eine unterschiedliche Gewichtung auf Grundlage ihrer/seiner Zeit zugewiesen werden. Stichproben können nach Zeitintervallen gruppiert werden, und einem Satz von Stichproben, die zur einer selben Gruppe gehören, kann eine selbe Gewichtung zugewiesen werden. In einigen Fällen können ältere Werte völlig ignoriert werden. Um zu ermitteln, welche älteren Werte ignoriert werden sollten, können unterschiedliche Algorithmen angewendet werden.
  • Ein zusätzlicher technischer Nutzen des DQA-Systems besteht darin, dass es Datenqualitätsmetriken bereitstellen kann, die nach Zeit parametrisiert sind. Die Metriken können über einen beliebigen Bereich von Datenpunkten berechnet und visualisiert werden.
  • Ein zusätzlicher technischer Nutzen eines DQA-Systems gemäß Aspekten der Erfindung besteht darin, dass es dazu konfiguriert ist, vollständige Analysen von Datensätzen einschließlich Einschränkungen, die auf einen Datensatz anwendbar sind, bereitzustellen. Ein DQA-System gemäß Aspekten der Erfindung nutzt eine Beobachtung, dass die Anwendbarkeit von Einschränkungen bei Echtzeit-Streaming-Daten keine statische, feste Eigenschaft ist. Eine Einschränkung kann zu einem bestimmten Zeitpunkt anwendbar sein, nicht jedoch für neue Daten, die empfangen werden. Das offenbarte DQA-System ist dementsprechend dazu konfiguriert, eine Analyse von Einschränkungen über mehrere Zeitskalen hinweg bereitzustellen. Das offenbarte DQA-System behandelt folglich die Anwendbarkeit einer Einschränkung oder eines Satzes von Einschränkungen als dynamisch und sich im Zeitverlauf erwartbar verändernd.
  • Ein zusätzlicher technischer Nutzen eines DQA-Systems gemäß Aspekten der Erfindung besteht darin, dass es verwandte Werte über mehrere unterschiedliche Zeitintervalle vorhält und Zeitintervalle, in denen ein anomales Verhalten erkannt wird, markiert werden können. Ein Beispiel für anomales Verhalten wäre, dass sich der Wert von verwandten Datenpunkten in Werte ändert, die zuvor nicht beobachtet wurden. Das offenbarte DQA-System ist dazu konfiguriert, dem Benutzer Zeitintervalle als anomal zu offenbaren. Beim Berechnen von Gesamtqualitätsbeurteilungen können anomale Zeitintervalle ausgelassen werden, oder ihnen kann eine geringere Gewichtung zugewiesen werden.
  • Ein zusätzlicher technischer Nutzen eines DQA-Systems gemäß Aspekten der Erfindung besteht darin, dass es unterschiedliche Modalitäten von Daten (z.B. Zeitreihendaten und/oder Tabellendaten) verarbeiten kann. Das offenbarte DQA-System ist dazu konfiguriert, unterschiedliche Datenqualitätsmetriken für jeden Typ von Modalität bereitzustellen, für dessen Verarbeitung es konfiguriert worden ist.
  • Ein zusätzlicher technischer Nutzen eines DQA-Systems gemäß Aspekten der Erfindung besteht darin, dass es die Datenqualitätsmetriken auf den Typ von Analyseaufgaben zuschneidet, der den Daten zugehörig ist. Beispielsweise können Klassifizierungsaufgaben bestimmte Datenqualitätsmetriken zugehörig sein, wohingegen Regressions- oder Clustering-Aufgaben sonstige Datenqualitätsmetriken zugehörig sein können. Genauer gesagt, ein Benutzer kann eine spezifische Analyseaufgabe durchführen, die vielleicht mit einer Kombination aus Regression, Klassifikation und Clustering einhergeht. Das offenbarte DQA-System kann spezifische Datenqualitätsmetriken bereitstellen, die für eine solche spezifische Aufgabe geeignet sind.
  • Ein zusätzlicher technischer Nutzen eines DQA-Systems gemäß Aspekten der Erfindung besteht darin, dass es dazu konfiguriert ist, Statusinformationen über vorherige Berechnungen vorzuhalten. Beispielsweise können die Statusinformationen, die berechneten Datenqualitätsmetriken entsprechen, vorgehalten werden, wenn das System Datenqualitätsmetriken für einen neuen Bereich berechnet. Diese Statusinformationen können in einem Dateisystem oder einer Datenbank vorgehalten werden. Für Situationen, in denen es nicht praktikabel ist, ein Dateisystem oder eine Datenbank zu verwenden, um Statusinformationen vorzuhalten, ist das offenbarte DQA-System dazu konfiguriert, Statusinformationen über eine API zwischen einem zugreifenden Client-Programm und dem offenbarten DQA-System zu übergeben. Auf diese Weise erzeugt das offenbarte DQA-System die Statusvariablen, und nachdem die Statusvariablen erstellt worden sind, werden sie über die API zwischen dem offenbarten DQA-System und Client-Programmen übergeben.
  • Ein zusätzlicher technischer Nutzen eines DQA-Systems gemäß Aspekten der Erfindung besteht darin, dass es die Kompromisse zwischen Effizienz und Genauigkeit von Datenqualitätsmetriken effizient verwaltet. Jederzeit die genauesten und aktuellsten Datenqualitätsmetriken zu erzielen, kann einen prohibitiven Aufwand bedeuten. Daher schließt das offenbarte DQA-System geeignete Kompromisse, um wohlüberlegte Datenqualitätsschätzungen bereitzustellen und gleichzeitig nicht zu viele Rechen-Ressourcen in Anspruch zu nehmen. Das offenbarte DQA-System ist dazu konfiguriert, elektronisch intelligente Entscheidungen sowohl bei der Häufigkeit von Neuberechnungen von Datenqualitätsmetriken als auch beim Auswählen der für eine Neuberechnung am besten geeigneten Datenqualitätsmetriken zu treffen.
  • Ein zusätzlicher technischer Nutzen eines DQA-Systems gemäß Aspekten der Erfindung besteht darin, dass es Informationen über die Leistungsfähigkeit unterschiedlicher Datenqualitätsmetriken als Funktion einer Datengröße und möglicherweise sonstiger Eigenschaften der Daten vorhält. Das offenbarte DQA-System hält historische Daten über die Leistungsfähigkeit der neuartigen Datenqualitätsmetriken vor, die durch das DQA-System erzeugt werden. Wenn neue Datensätze analysiert werden, hält das offenbarte DQA-System persistente Informationen über die Leistungsfähigkeit und sonstige Ausführungseigenschaften in einem Verlaufs-Recorder (HR) vor. Der HR wird analysiert, um die Leistungsfähigkeit unserer Datenqualitätsmetriken besser zu verstehen. Der HR hält Informationen über die Ausführung von Datenqualitätsmetriken vor. Auf diese Weise kann das offenbarte DQA-System für eine(n) bestimmte(n) Datensatz und Datensatzgröße die Aufwände für unterschiedliche an diesem Datensatz durchgeführte Datenqualitätsmetriken schätzen.
  • Ein zusätzlicher technischer Nutzen eines DQA-Systems gemäß Aspekten der Erfindung besteht darin, dass es Informationen darüber vorhält, wie Datenqualitätsmetriken sich mit Änderungen in den Daten selbst ändern. Das offenbarte DQA-System verwendet diese Informationen dazu vorherzusagen, wie stark Datenqualitätsmetriken sich als Reaktion auf neue Daten erwartbar ändern würden. Solche Änderungsvorhersagen können mithilfe einfacher Berechnungen (z.B. mithilfe von Simulationsalgorithmen) oder komplexerer Modelle für maschinelles Lernen getroffen werden.
  • Ein zusätzlicher technischer Nutzen eines DQA-Systems gemäß Aspekten der Erfindung besteht darin, dass es Aufrufe von Datenqualitätsmetriken mit hohem Aufwand begrenzt und Datenqualitätsmetriken mit geringerem Aufwand häufiger ausgeführt werden können.
  • Ein zusätzlicher technischer Nutzen eines DQA-Systems gemäß Aspekten der Erfindung besteht darin, dass es sich sowohl auf die Änderungsgeschwindigkeit von Daten als auch auf die Datenqualitätsmetriken selbst konzentriert. Wenn die Änderungsgeschwindigkeit größer ist, müssen Datenqualitätsmetriken häufiger neu berechnet werden.
  • Ein zusätzlicher technischer Nutzen eines DQA-Systems gemäß Aspekten der Erfindung besteht darin, dass es, wenn mehr Daten empfangen werden, mithilfe einfacher Berechnungen und Vorhersagemodellen schätzen kann, wie stark Datenqualitätsmetriken sich erwartbar ändern. Das offenbarte DQA-System ist dazu konfiguriert, Datenmetriken neu zu berechnen, die sich erwartbar am meisten ändern.
  • Ein zusätzlicher technischer Nutzen eines DQA-Systems gemäß Aspekten der Erfindung besteht darin, dass, wenn es die hierin beschriebenen neuartigen Datenqualitätsmetriken neu berechnet, aktualisierte Informationen darüber erzeugt werden, wie stark sich die Datenqualitätsmetriken als Reaktion auf Änderungen in den Daten geändert haben. Diese Informationen können dazu verwendet werden, Vorhersagemodelle darüber zu aktualisieren, wie sich Datenqualitätsmetriken mit Änderungen in den Eingabedaten ändern. Während das offenbarte DQA-System ausgeführt wird, wird es auf diese Weise im Zeitverlauf besser darin, das Verhalten von Datenqualitätsmetriken vorherzusagen, und genauer darin, Leistungsfähigkeitsmetriken (mit begrenzten Rechen-Ressourcen) im Zeitverlauf zu berechnen.
  • Ein zusätzlicher technischer Nutzen eines DQA-Systems gemäß Aspekten der Erfindung besteht darin, dass Benutzer die Möglichkeit haben, Datenqualitätsmetriken eine Punktbewertung der Wichtigkeit zuzuweisen. Eine höhere Punktbewertung der Wichtigkeit gibt an, dass es wichtiger ist, über die aktuellsten Punktbewertungen für eine Datenqualitätsmetrik zu verfügen.
  • Es versteht sich von vornherein, dass, wenngleich diese Offenbarung eine ausführliche Beschreibung zu Cloud-Computing enthält, eine Implementierung der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist. Stattdessen sind Ausführungsformen der vorliegenden Erfindung in der Lage, gemeinsam mit einem beliebigen Typ einer jetzt bekannten oder später entwickelten Datenverarbeitungsumgebung implementiert zu werden.
  • Bei Cloud-Computing handelt es sich um ein Modell zum Erbringen von Dienstleistungen, um einen praktischen, bedarfsgesteuerten Netzwerkzugriff auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungs-Ressourcen (z.B. Netzwerken, Netzwerkbandbreite, Servern, Verarbeitung, Arbeitsspeicher, Speicher, Anwendungen, virtuellen Maschinen und Diensten) zu ermöglichen, die schnell mit möglichst geringem Verwaltungsaufwand oder Zusammenwirken mit einem Anbieter des Dienstes bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann zumindest fünf Eigenschaften, zumindest drei Dienstmodelle und zumindest vier Implementierungsmodelle enthalten.
  • Bei den Eigenschaften handelt es sich um die Folgenden:
    • On-Demand Self-Service: Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfunktionen wie Server-Zeit und Netzwerkspeicher sorgen, ohne dass ein menschliches Zusammenwirken mit dem Anbieter der Dienste erforderlich ist.
  • Broad Network Access: Es sind Funktionen über ein Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, welche die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen.
  • Resource Pooling: Die Datenverarbeitungs-Ressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum).
  • Rapid Elasticity: Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt, und sie können jederzeit in jeder beliebigen Menge gekauft werden.
  • Measured Service: Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Die Nutzung von Ressourcen kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz geschaffen wird.
  • Bei den Dienstmodellen handelt es sich um die Folgenden:
    • Software as a Service (SaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Auf die Anwendungen kann von verschiedenen Client-Einheiten durch eine Thin-Client-Schnittstelle wie zum Beispiel einen Web-Browser (z.B. eMail auf Grundlage des Web) zugegriffen werden. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicher bzw. sogar einzelne Anwendungsfunktionen, mit der möglichen Ausnahme von eingeschränkten benutzerspezifischen Anwendungskonfigurationseinstellungen.
  • Platform as a Service (PaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen des Application Hosting Environment.
  • Infrastructure as a Service (laaS): Die dem Nutzer bereitgestellte Funktion besteht darin, das Verarbeiten, Speicher, Netzwerke und andere grundlegende Datenverarbeitungs-Ressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
  • Bei den Implementierungsmodellen handelt es sich um die Folgenden:
    • Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich innerhalb oder außerhalb der eigenen Räumlichkeiten befinden.
  • Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Angelegenheiten hat (z.B. Mission, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann sich innerhalb oder außerhalb der eigenen Räumlichkeiten befinden.
  • Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und sie gehört einer Cloud-Dienste verkaufenden Organisation.
  • Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Entitäten bleiben, aber durch eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert mit Fokus auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Zentrum des Cloud-Computing befindet sich eine Infrastruktur, die ein Netzwerk von miteinander verbundenen Knoten aufweist.
  • Unter Bezugnahme auf 28 wird die veranschaulichende Cloud-Computing-Umgebung 50 dargestellt. Wie dargestellt, weist die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 10 auf, mit denen lokale Datenverarbeitungseinheiten, die durch Cloud-Kunden verwendet werden, wie zum Beispiel ein persönlicher digitaler Assistent (PDA) oder ein Mobiltelefon 54A, ein Desktop-Computer 54B, ein Laptop-Computer 54C und/oder ein Kraftfahrzeug-Computersystem 54N, Daten miteinander austauschen können. Die Knoten 10 können Daten miteinander austauschen. Sie können physisch oder virtuell in einem oder mehreren Netzwerken zusammengefasst werden (nicht dargestellt), zum Beispiel in Private, Community, Public oder Hybrid Clouds, wie hierin oben beschrieben, oder in einer Kombination von diesen. Dies ermöglicht der Cloud-Computing-Umgebung 50, Infrastruktur, Plattformen und/oder Software als Dienstleistungen anzubieten, für die ein Cloud-Kunde keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es versteht sich, dass die in 28 dargestellten Typen von Datenverarbeitungseinheiten 54 A bis N lediglich der Veranschaulichung dienen sollen und dass die Datenverarbeitungsknoten 10 und die Cloud-Computing-Umgebung 50 mit einem beliebigen Typ einer computerisierten Einheit über einen beliebigen Typ von Netzwerk und/oder eine über ein Netzwerk adressierbare Verbindung (z.B. mithilfe eines Web-Browsers) Daten austauschen können.
  • Unter Bezugnahme auf 29 wird ein Satz von funktionalen Abstraktionsschichten dargestellt, der durch die Cloud-Computing-Umgebung 50 (28) bereitgestellt wird. Es versteht sich im Vorhinein, dass die in 29 dargestellten Komponenten, Schichten und Funktionen lediglich der Veranschaulichung dienen sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie dargestellt, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Eine Hardware- und Software-Schicht 60 enthält Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten zählen: Großrechner 61; Server 62 auf Grundlage einer RISC-Architektur (Reduced Instruction Set Computer, Computer mit reduziertem Anweisungssatz); Server 63; Blade-Server 64; Speichereinheiten 65; und Netzwerke sowie Netzwerkkomponenten 66. Bei einigen Ausführungsformen zählen zu Software-Komponenten eine Netzwerkanwendungs-Server-Software 67 und eine Datenbank-Software 68.
  • Eine Virtualisierungsschicht 70 stellt eine Abstraktionsschicht bereit, von der die folgenden Beispiele für virtuelle Entitäten bereitgestellt werden können: virtuelle Server 71; ein virtueller Speicher 72; virtuelle Netzwerke 73, darunter virtuelle private Netzwerke; virtuelle Anwendungen und Betriebssysteme 74; und virtuelle Clients 75.
  • In einem Beispiel kann die Verwaltungsschicht 80 die im Folgenden beschriebenen Funktionen bereitstellen. Eine Ressourcen-Bereitstellung 81 bietet eine dynamische Beschaffung von Datenverarbeitungs-Ressourcen und sonstigen Ressourcen, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung genutzt werden. Messung und Preisbildung 82 stellen eine Kostenüberwachung während der Nutzung von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie Abrechnung oder Rechnungsstellung für die Nutzung dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungs-Software-Lizenzen aufweisen. Die Sicherheit stellt die Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und sonstige Ressourcen bereit. Ein Benutzerportal 83 stellt Nutzern und Systemadministratoren einen Zugriff auf die Cloud-Computing-Umgebung bereit. Eine Dienstgüteverwaltung 84 stellt eine Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass erforderliche Dienstgütegrade erreicht werden. Eine Planung und Erfüllung von Dienstgütevereinbarungen (Service Level Agreement, SLA) 85 stellen eine Vorbereitung für und eine Bereitstellung von Cloud-Computing-Ressourcen bereit, für die eine künftige Erfordernis gemäß einer SLA erwartet wird.
  • Eine Verarbeitungsprozessschicht 90 stellt Beispiele für eine Funktionalität bereit, für die die Cloud-Computing-Umgebung eingesetzt werden kann. Zu Beispielen für Verarbeitungsprozesse und Funktionen, die von dieser Schicht aus bereitgestellt werden können, zählen: Zuordnung und Navigation 91; Software-Entwicklung und Lebenszyklusverwaltung 92; Bereitstellung von virtuellen Schulungen 93; Datenanalyseverarbeitung 94, Transaktionsverarbeitung 95; und Durchführen einer effizienten Datenqualitätsanalyse in Echtzeit 96.
  • Die hierin verwendete Terminologie dient lediglich der Beschreibung bestimmter Ausführungsformen und ist nicht einschränkend gemeint. So, wie sie hierin verwendet werden, sollen die Singularformen „ein“, „eine“ und „der“, „die“, „das“ auch die Pluralformen enthalten, sofern dies aus dem Kontext nicht eindeutig anders hervorgeht. Es versteht sich darüber hinaus, dass die Begriffe „aufweist“ und/oder „aufweisend“, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein von angegebenen Merkmalen, Ganzzahlen, Schritten, Vorgängen, Elementen und/oder Komponenten bezeichnen, jedoch nicht das Vorhandensein bzw. die Beifügung von einem/einer bzw. mehreren anderen Merkmalen, Ganzzahlen, Schritten, Vorgängen, Elementen, Komponenten und/oder Gruppen davon ausschließen.
  • Die folgenden Definitionen und Abkürzungen sind für die Auslegung der Ansprüche und der Beschreibung zu verwenden. So, wie die Begriffe hierin verwendet werden, sollen „weist auf“, „aufweisend“, „umfasst“, „umfassend“, „verfügt über“, „verfügend über“, „enthält“ oder „enthaltend“ oder jegliche sonstige Variante von diesen eine nichtausschließliche Einbeziehung abdecken. Beispielsweise ist eine Zusammensetzung, ein Gemisch, ein Prozess, ein Verfahren, ein Gegenstand oder eine Vorrichtung, der/die/das eine Auflistung von Elementen aufweist, nicht zwingend auf nur diese Elemente beschränkt, sondern kann sonstige Elemente enthalten, die nicht ausdrücklich aufgeführt oder einer/einem solchen Zusammensetzung, Gemisch, Prozess, Verfahren, Gegenstand oder Vorrichtung inhärent sind.
  • Darüber hinaus wird hierin der Begriff „beispielhaft“ in der Bedeutung „als Exempel, Beispiel oder Veranschaulichung dienend“ verwendet. Jegliche hierin als „beispielhaft“ beschriebene Ausführungsform oder Konstruktion soll nicht unbedingt als gegenüber sonstigen Ausführungsformen oder Konstruktionen bevorzugt oder vorteilhaft aufgefasst werden. Die Begriffe „zumindest ein(e)“ und „ein(e) oder mehrere“ sind so zu verstehen, dass sie jede Ganzzahl enthalten, die größer als oder gleich eins ist, d.h., eins, zwei, drei, vier usw. Der Begriff „eine Mehrzahl“ ist so zu verstehen, dass er jede Ganzzahl enthält, die größer als oder gleich zwei ist, d.h., zwei, drei, vier, fünf usw. Der Begriff „Verbindung“ kann sowohl eine indirekte „Verbindung“ als auch eine direkte „Verbindung“ enthalten.
  • Die Begriffe „etwa“, „im Wesentlichen“ „ungefähr“ und Varianten davon sollen den Fehlergrad enthalten, der einer Messung der jeweiligen Menge auf Grundlage der zum Zeitpunkt des Einreichens der Anmeldung verfügbaren Ausrüstung zugehörig ist. Beispielsweise kann „etwa“ einen Bereich von ± 8 % oder 5 % oder 2 % eines jeweiligen Wertes enthalten.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt mit einem beliebigen Integrationsgrad technischer Details handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) enthalten, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine materielle Einheit handeln, die Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Festwertspeicher (ROM), ein löschbarer programmierbarer Festwertspeicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatten-Festwertspeicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination von diesen. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. durch ein Glasfaserkabel geleitete Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Router, Firewalls, Switches, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerk-Schnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten, Konfigurationsdaten für integrierte Schaltungen oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). Bei einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, feldprogrammierbare Gate-Arrays (FPGA) oder programmierbare Logik-Arrays (PLA) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Statusinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung werden hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufpläne und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaubildern mittels durch einen Computer lesbare Programmanweisungen implementiert werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer sonstigen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen Mittel zum Implementieren der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaubilder angegebenen Funktion/Schritts implementieren.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken des Ablaufplans und/oder des Blockschaubildes festgelegten Funktionen/Schritte umsetzen.
  • Der Ablaufplan und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in dem Ablaufplan oder den Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zum Implementieren der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Implementierungen können die in den Blöcken angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander dargestellte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können bisweilen je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder des Ablaufplans sowie Kombinationen aus Blöcken in den Blockschaubildern und/oder dem Ablaufplan durch spezielle auf Hardware beruhende Systeme implementiert werden können, die die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung erfolgten zur Veranschaulichung, sind jedoch nicht erschöpfend oder auf die offenbarten Ausführungsformen beschränkt gemeint. Viele Modifizierungen und Varianten sind für Fachleute ersichtlich, ohne vom Umfang und Wesensgehalt der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder die technische Verbesserung gegenüber auf dem Markt erhältlichen Technologien am besten zu erläutern oder um anderen Fachleuten zu ermöglichen, die hierin beschriebenen Ausführungsformen zu verstehen.
  • 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 Nicht-Patentliteratur
    • FIG. 8 bis 11, 18, 21 bis 23 und 25 [0044]
    • Zuordnung und Navigation 91; Software-Entwicklung und Lebenszyklusverwaltung 92; Bereitstellung von virtuellen Schulungen 93; Datenanalyseverarbeitung 94, Transaktionsverarbeitung 95 [0119]

Claims (22)

  1. Auf einem Computer implementiertes Verfahren zum effizienten Beurteilen von Datenqualitätsmetriken, wobei das auf einem Computer implementierte Verfahren aufweist: Empfangen einer Mehrzahl von Aktualisierungen von Datenpunkten in einem Datenstrom mithilfe eines Prozessors; Bereitstellen einer Mehrzahl von Datenqualitätsmetriken (DQMs) mithilfe des Prozessors; Vorhalten von Informationen darüber, wie stark die Mehrzahl von DQMs sich im Zeitverlauf ändert; Vorhalten von Informationen über den Rechenaufwand für die Mehrzahl von DQMs; und Aktualisieren von Datenqualitätsinformationen auf Grundlage der vorgehaltenen Informationen.
  2. Auf einem Computer implementiertes Verfahren nach Anspruch 1, das des Weiteren ein Empfangen zumindest eines Wichtigkeitswertes und ein Zuweisen des zumindest einen Wichtigkeitswertes zu einer der Mehrzahl von DQMs aufweist.
  3. Auf einem Computer implementiertes Verfahren nach Anspruch 1, das des Weiteren ein Zuweisen einer Einstufung zu jeder der Mehrzahl von DQMs auf Grundlage eines Aufwands zum Berechnen der Datenqualitätsmetrik und einer Änderungsgeschwindigkeit der Datenqualitätsmetrik, wenn neue Datenpunkte des Datenstroms empfangen werden, aufweist.
  4. Auf einem Computer implementiertes Verfahren nach Anspruch 3, wobei die Einstufung den zumindest einen Wichtigkeitswert einbezieht, der der einen der Mehrzahl von DQMs zugewiesen ist.
  5. Auf einem Computer implementiertes Verfahren nach Anspruch 1, das des Weiteren aufweist: Angeben einer maximalen Zeit (tmax) zum Aktualisieren der Mehrzahl von DQMs; und Beenden des Aktualisierens der Mehrzahl von DQMs, nachdem tmax überschritten worden ist.
  6. Auf einem Computer implementiertes Verfahren nach Anspruch 3, das des Weiteren ein Durchführen von Aktualisierungen der Mehrzahl von DQMs mit einer Häufigkeit aufweist, die auf der Einstufung beruht, die jeder der Mehrzahl von DQMs zugewiesen ist.
  7. Auf einem Computer implementiertes Verfahren nach Anspruch 3, das des Weiteren aufweist: Zuweisen einer Rangordnung zu jeder der Mehrzahl von DQMs auf Grundlage der Einstufung jeder der Mehrzahl von DQMs; und Aktualisieren der Mehrzahl von DQMs in einer Reihenfolge, die durch die Rangordnung angegeben wird, die jeder der Mehrzahl von DQMs zugewiesen ist.
  8. Auf einem Computer implementiertes Verfahren nach Anspruch 1, das des Weiteren ein Analysieren von Instanzen einer über eine Mehrzahl von Zeitintervallen berechneten DQM aufweist.
  9. Auf einem Computer implementiertes Verfahren nach Anspruch 8, das des Weiteren ein Ermitteln aufweist, dass zumindest eines der Mehrzahl von Zeitintervallen einen anomalen Wert für eine Instanz der DQM aufweist, die während des zumindest einen der Mehrzahl von Zeitintervallen berechnet worden ist.
  10. Auf einem Computer implementiertes Verfahren nach Anspruch 9, das des Weiteren ein Berechnen eines gewichteten Aggregatwertes einer Instanz der DQM über die Mehrzahl von Zeitintervallen hinweg aufweist.
  11. Auf einem Computer implementiertes Verfahren nach Anspruch 10, wobei Instanzen der DQM in Zeitintervallen der Mehrzahl von Zeitintervallen mit dem anomalen Wert niedrigere Werte des gewichteten Aggregatwertes zugewiesen werden.
  12. Auf einem Computer implementiertes Verfahren nach Anspruch 1, wobei es sich bei dem Prozessor um einen Knoten eines Cloud-Computing-Systems handelt.
  13. Computersystem zum effizienten Beurteilen einer Datenqualität, wobei das Computersystem einen Speicher aufweist, der zur Datenübertragung mit einem Prozessor verbunden ist, wobei der Prozessor dazu konfiguriert ist, Operationen durchzuführen, die aufweisen: Empfangen einer Mehrzahl von Aktualisierungen von Datenpunkten in einem Datenstrom; Bereitstellen einer Mehrzahl von Datenqualitätsmetriken (DQMs); Vorhalten von Informationen darüber, wie stark die Mehrzahl von DQMs sich im Zeitverlauf ändert; Vorhalten von Informationen über den Rechenaufwand für die Mehrzahl von DQMs; und Aktualisieren von Datenqualitätsinformationen auf Grundlage der vorgehaltenen Informationen.
  14. Computersystem nach Anspruch 13, das des Weiteren ein Empfangen zumindest eines Wichtigkeitswertes und ein Zuweisen des zumindest einen Wichtigkeitswertes zu einer der Mehrzahl von DQMs aufweist.
  15. Computersystem nach Anspruch 14, das des Weiteren ein Zuweisen einer Einstufung zu jeder der Mehrzahl von DQMs auf Grundlage eines Aufwands zum Berechnen der Datenqualitätsmetrik und einer Änderungsgeschwindigkeit der Datenqualitätsmetrik, wenn neue Datenpunkte des Datenstroms empfangen werden, aufweist.
  16. Computersystem nach Anspruch 15, wobei die Einstufung den zumindest einen Wichtigkeitswert einbezieht, der der einen der Mehrzahl von DQMs zugewiesen ist.
  17. Computersystem nach Anspruch 14, das des Weiteren aufweist: Angeben einer maximalen Zeit (tmax) zum Aktualisieren der Mehrzahl von DQMs; und Beenden des Aktualisierens der Mehrzahl von Datenqualitätsmetriken, nachdem tmax überschritten worden ist.
  18. Computersystem nach Anspruch 16, das des Weiteren ein Durchführen von Aktualisierungen der Mehrzahl von DQMs mit einer Häufigkeit aufweist, die auf der Einstufung beruht, die jeder der Mehrzahl von DQMs zugewiesen ist.
  19. Computersystem nach Anspruch 16, das des Weiteren aufweist: Zuweisen einer Rangordnung zu jeder der Mehrzahl von DQMs auf Grundlage der Einstufung jeder der Mehrzahl von DQMs; und Aktualisieren der Mehrzahl von DQMs in einer Reihenfolge, die durch die Rangordnung angegeben wird, die jeder der Mehrzahl von DQMs zugewiesen ist.
  20. Computersystem nach Anspruch 14, das des Weiteren aufweist: Analysieren von Instanzen einer über eine Mehrzahl von Zeitintervallen berechneten DQM; Ermitteln, dass zumindest eines der Mehrzahl von Zeitintervallen einen anomalen Wert für eine Instanz der DQM aufweist, die während des zumindest einen der Mehrzahl von Zeitintervallen berechnet worden ist; und Berechnen eines gewichteten Aggregatwertes einer Instanz der DQM über die Mehrzahl von Zeitintervallen hinweg; wobei Instanzen der DQM in Zeitintervallen der Mehrzahl von Zeitintervallen mit dem anomalen Wert niedrigere Werte des gewichteten Aggregatwertes zugewiesen werden.
  21. Computerprogrammprodukt zum effizienten Beurteilen einer Datenqualität, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, in dem Programmanweisungen verkörpert sind, wobei die Programmanweisungen durch ein Prozessorsystem ausführbar sind, um das Prozessorsystem zu veranlassen, Operationen durchzuführen, die aufweisen: Empfangen einer Mehrzahl von Aktualisierungen von Datenpunkten in einem Datenstrom; Bereitstellen einer Mehrzahl von Datenqualitätsmetriken (DQMs); Vorhalten von Informationen darüber, wie stark die Mehrzahl von DQMs sich im Zeitverlauf ändert; Vorhalten von Informationen über den Rechenaufwand für die Mehrzahl von DQMs; und Aktualisieren von Datenqualitätsinformationen auf Grundlage der vorgehaltenen Informationen.
  22. Computerprogrammprodukt nach Anspruch 21, wobei die Operationen des Weiteren aufweisen: Empfangen zumindest eines Wichtigkeitswertes und Zuweisen des zumindest einen Wichtigkeitswertes zu einer der Mehrzahl von DQMs; und Zuweisen einer Einstufung zu jeder der Mehrzahl von DQMs auf Grundlage eines Aufwands zum Berechnen der Datenqualitätsmetrik und einer Änderungsgeschwindigkeit der Datenqualitätsmetrik, wenn neue Datenpunkte des Datenstroms empfangen werden; wobei die Einstufung den zumindest einen Wichtigkeitswert einbezieht, der der einen der Mehrzahl von DQMs zugewiesen ist.
DE112021004092.8T 2020-07-31 2021-07-07 Effiziente datenqualitätsanalyse in echtzeit Pending DE112021004092T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/944,715 US11263103B2 (en) 2020-07-31 2020-07-31 Efficient real-time data quality analysis
US16/944,715 2020-07-31
PCT/IB2021/056097 WO2022023843A1 (en) 2020-07-31 2021-07-07 Efficient real-time data quality analysis

Publications (1)

Publication Number Publication Date
DE112021004092T5 true DE112021004092T5 (de) 2023-06-22

Family

ID=80002964

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021004092.8T Pending DE112021004092T5 (de) 2020-07-31 2021-07-07 Effiziente datenqualitätsanalyse in echtzeit

Country Status (6)

Country Link
US (1) US11263103B2 (de)
KR (1) KR20230027283A (de)
CN (1) CN116134427A (de)
AU (1) AU2021319162B2 (de)
DE (1) DE112021004092T5 (de)
WO (1) WO2022023843A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11531669B2 (en) * 2020-08-21 2022-12-20 Siemens Industry, Inc. Systems and methods to assess and repair data using data quality indicators
US20230168648A1 (en) * 2021-11-29 2023-06-01 Airsset Technologies Inc. Enviromental parameter determination based on indoor air quality

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7505868B1 (en) 2005-01-31 2009-03-17 Hewlett-Packard Development Company, L.P. Performing quality determination of data
US20080021945A1 (en) 2006-07-20 2008-01-24 James Hamilton Method of processing spatial-temporal data processing
US20080195430A1 (en) 2007-02-12 2008-08-14 Yahoo! Inc. Data quality measurement for etl processes
US8582647B2 (en) * 2007-04-23 2013-11-12 Qualcomm Incorporated Methods and systems for quality controlled encoding
US8892534B2 (en) * 2008-07-03 2014-11-18 Sap Se System and method for integrating data quality metrics into enterprise data management processes
US8180914B2 (en) * 2009-07-17 2012-05-15 Sap Ag Deleting data stream overload
US20120137367A1 (en) 2009-11-06 2012-05-31 Cataphora, Inc. Continuous anomaly detection based on behavior modeling and heterogeneous information analysis
DE102012210794A1 (de) 2011-07-01 2013-02-07 International Business Machines Corporation System und Verfahren zur Datenqualitätsüberwachung
US8868516B2 (en) 2012-02-17 2014-10-21 International Business Machines Corporation Managing enterprise data quality using collective intelligence
US9460131B2 (en) 2012-05-04 2016-10-04 International Business Machines Corporation Data stream quality management for analytic environments
US9838506B1 (en) 2013-03-15 2017-12-05 Sony Interactive Entertainment America Llc Virtual reality universe representation changes viewing based upon client side parameters
US9390112B1 (en) 2013-11-22 2016-07-12 Groupon, Inc. Automated dynamic data quality assessment
CN109254959B (zh) 2018-08-17 2022-04-08 广东技术师范大学 一种数据评价方法、装置、终端设备及可读存储介质
US10681056B1 (en) 2018-11-27 2020-06-09 Sailpoint Technologies, Inc. System and method for outlier and anomaly detection in identity management artificial intelligence systems using cluster based analysis of network identity graphs
US11126601B2 (en) * 2019-04-10 2021-09-21 Paypal, Inc. Ensuring data quality through deployment automation in data streaming applications
CN111209274B (zh) 2019-12-30 2021-05-07 三盟科技股份有限公司 一种数据质量检核方法、系统、设备及可读存储介质
CN111427974A (zh) 2020-06-11 2020-07-17 杭州城市大数据运营有限公司 数据质量评估管理方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FIG. 8 bis 11, 18, 21 bis 23 und 25
Zuordnung und Navigation 91; Software-Entwicklung und Lebenszyklusverwaltung 92; Bereitstellung von virtuellen Schulungen 93; Datenanalyseverarbeitung 94, Transaktionsverarbeitung 95

Also Published As

Publication number Publication date
AU2021319162B2 (en) 2024-04-11
US11263103B2 (en) 2022-03-01
US20220035721A1 (en) 2022-02-03
KR20230027283A (ko) 2023-02-27
AU2021319162A1 (en) 2023-02-09
WO2022023843A1 (en) 2022-02-03
CN116134427A (zh) 2023-05-16

Similar Documents

Publication Publication Date Title
DE112021004061T5 (de) Datenqualitätsanalyse in echtzeit
DE112020003820T5 (de) Erkennung von Anomalien und Abweichungen unter Verwendung eines domänenindizierten Einschränkungs-Repository
DE112015002433T5 (de) Systeme und Techniken zur prädikativen Datenanalytik
DE112018005462T5 (de) Anomalie-erkennung unter verwendung von cognitive-computing
DE112018005011T5 (de) Ausführen eines kognitiven lern-workflows
DE112021002572T5 (de) Multikriterielles optimieren von anwendungen
DE112021004092T5 (de) Effiziente datenqualitätsanalyse in echtzeit
DE112019001433T5 (de) Datenanonymisierung
DE112021000338B4 (de) Auslagern der statistikerfassung
DE112020005306T5 (de) Implementierung von arbeitslasten in einer multi-cloud-umgebung
DE112020002344T5 (de) Feature engineering zur optimierung von neuronalen netzwerken
DE112020000545T5 (de) Deep-forest-modell-entwicklung und -training
DE112020003744T5 (de) Durch dienstqualitätskriterien vorgegebenes automatisiertes betriebsdatenmanagement
DE112021000627T5 (de) Dynamische erkennung und korrektur von datenqualitätsproblemen
DE112021004234T5 (de) Einsetzen von metalernen zum optimieren der automatischen auswahl von pipelinesdes maschinellen lernens
DE102014116744A1 (de) Management von Informationstechnologieressourcen
DE202016101711U1 (de) Kapazitätsplanungswerkzeug, insbesondere einer Informationstechnologie-Infrastruktur
DE112018005424T5 (de) Automatisches Verbinden von externen Daten mit einem Geschäftsanalyseprozess
Guillaumet et al. Analyzing a CRIS: From data to insight in university research
Sanchez-Diaz et al. A review of algorithms to computing irreducible testors applied to feature selection
DE112019001493T5 (de) Ermitteln der abfrageerkennungsresilienz in virtuellen agentensystemen
DE102021123132A1 (de) Erkennen von assoziationen zwischen datensätzen
DE102021125859A1 (de) Konfidenzberechnungen auf datenqualitätsgrundlage für aus zeitreihendaten abgeleitete kpis
DE102021122558A1 (de) Optimierung von scanketten-signalleitungslängen mit auf q- learning beruhendem bestärkendem lernen
DE112021000836T5 (de) Kooperative neuronale netze mit räumlichen einschlussvorgaben

Legal Events

Date Code Title Description
R012 Request for examination validly filed