DE112021002844T5 - Schnelle datenuntersuchung - Google Patents

Schnelle datenuntersuchung Download PDF

Info

Publication number
DE112021002844T5
DE112021002844T5 DE112021002844.8T DE112021002844T DE112021002844T5 DE 112021002844 T5 DE112021002844 T5 DE 112021002844T5 DE 112021002844 T DE112021002844 T DE 112021002844T DE 112021002844 T5 DE112021002844 T5 DE 112021002844T5
Authority
DE
Germany
Prior art keywords
data
data set
metadata
server
uploading
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.)
Ceased
Application number
DE112021002844.8T
Other languages
English (en)
Inventor
Tomasz Kania
Tymoteusz Gedliczka
Szymon Brandys
Krzysztof Pitula
Maciej Madej
Piotr Grzywna
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 DE112021002844T5 publication Critical patent/DE112021002844T5/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/212Schema design and management with details for data modelling support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/40Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Human Computer Interaction (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Fuzzy Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Image Analysis (AREA)

Abstract

Es kann ein auf einem Computer ausgeführtes Verfahren für eine schnelle Datenuntersuchung von hochzuladenden Daten bereitgestellt werden. Das Verfahren (100) weist ein Hochladen eines ersten Datensatzes (102) von einem lokalen System und ein Ermitteln auf, dass der erste Datensatz nicht beschädigt ist (104). Das Verfahren (100) weist auch ein Durchführen eines Auswählens einer vorher festgelegten Anzahl von Einträgen aus dem ersten Datensatz und ein Aufbauen eines zweiten Datensatzes (106), ein Ermitteln von statistischen Daten und Metadaten über den ersten Datensatz (108) und ein Sichtbarmachen des zweiten Datensatzes, der statistischen Daten und der Metadaten (110) parallel zum Hochladen auf.

Description

  • HINTERGRUND
  • Gebiet der Erfindung
  • Die Erfindung betrifft im Allgemeinen ein Hochladen großer Datenmengen von einem Client-System auf einen Server und konkret ein auf einem Computer ausgeführtes Verfahren für eine schnelle Datenuntersuchung von hochzuladenden Daten. Die Erfindung betrifft darüber hinaus ein Datenuntersuchungssystem für eine schnelle Datenuntersuchung von hochzuladenden Daten und ein Computerprogrammprodukt.
  • Technisches Umfeld / Verwandtes Fachgebiet
  • Heutzutage ist KI (künstliche Intelligenz) in Unternehmen jeder Größe und in vielen Arten von Unternehmens- und Verbraucheranwendungen allgegenwärtig. Daher beteiligt sich eine große Gemeinschaft von Entwicklern am Entwickeln oder Integrieren von KI-Technologien. Demzufolge, und weil üblicherweise große Mengen an Datenverarbeitungsressourcen erforderlich sind, um Modelle des maschinellen Lernens zu trainieren, werden derartige Dienste häufig als zentrale Dienste oder als auf Cloud-Computing beruhende Dienste umgesetzt.
  • Ein herkömmliches Verfahren des maschinellen Lernens beruht auf Algorithmen des maschinellen Lernens und verwendet einen bekannten Satz von Datenproben zusammen mit zugehörigen Anmerkungen, um ein allgemeines Modell zu trainieren, das in der Lage ist, Anmerkungen für ungesehene Datenproben vorherzusagen. Zum Beispiel wird ein Deep-Learning-Modell für die Bildklassifizierung anhand eines Satzes von Eingabebildern und zugehörigen Bildklassenbezeichnungen trainiert. Später wird dieses Modell des maschinellen Lernens (ML) während einer Testphase zum Vorhersagen einer Bildklassenbezeichnung für ein neues, noch nicht gesehenes Bild verwendet. Eingangsdatenproben können eine Mischung aus mit Anmerkungen versehenen und nicht mit Anmerkungen versehenen Datenproben umfassen, die während Trainingsphasen gemeinsam verarbeitet werden.
  • Aus allgemeiner Sicht sind Eingabedatenproben entweder als erfasste Eingabedaten verfügbar oder sie können von Datengeneratoren erstellt werden. Datengeneratoren können als reale Sensoren (z.B. Fotokameras oder Videokameras, Audiosysteme), Menschen (z.B. Textautoren) oder Simulatoren (künstliche Systeme, die darauf abzielen, eine bestimmte Art von Datenproben zu erzeugen) dargestellt werden. Ein herkömmliches Verfahren zur Datenerkennung kann mit einer festen Anzahl von mit Anmerkungen versehenen Trainingsproben arbeiten, die einen Satz von Trainingsdatenproben bilden können. Diese Trainingsdatensätze sind üblicherweise vergleichsweise groß.
  • Der Entwickler eines Modells des maschinellen Lernens muss üblicherweise ein Verständnis für die Struktur der verfügbaren Trainingsdaten entwickeln, um einen geeigneten Algorithmus für das maschinelle Lernen auszuwählen. Üblicherweise sind in dieser Phase viele Tests und Fehlerzyklen in Form von Versuch und Irrtum erforderlich, um einen geeigneten KI-Algorithmus mit zugehörigen Hyperparametern für ein bestimmtes Problem und verfügbare Trainingsdaten auszuwählen.
  • Da während der Trainingseinheiten große Mengen an Datenverarbeitungskapazität benötigt werden, werden das Trainieren, die Datenprüfung, die Testphase usw. auf zentralen Datenverarbeitungsressourcen durchgeführt, während der Entwickler weiterhin an seinem lokalen Arbeitsplatz arbeitet. Allerdings müssen üblicherweise die großen Trainingsdatensätze auf die zentrale Ressource hochgeladen werden, was sehr zeitaufwendig sein kann und zu unproduktiven Zeiten des Entwicklers führt.
  • Es gibt mehrere Offenbarungen, die sich auf ein auf einem Computer ausgeführtes Verfahren für eine schnelle Datenuntersuchung von hochzuladenden Daten beziehen.
  • Das Dokument US 8 805 835 B2 offenbart Systeme, Verfahren und Techniken zum Verwalten von Datensätzen, insbesondere zum Darstellen, Erfassen und Verbreiten großer Datensätze und Datendateien unter Verwendung von Metadaten. Beschrieben werden die Datendarstellung, das Erfassen und das Verbreiten großer Datensätze und Datendateien unter Verwendung von Metadaten.
  • Das Dokument US 6 308 168 B1 offenbart ein Datendarstellungsmodul, das durch Metadaten gesteuerte Fenster darstellt, um dem Benutzer die Möglichkeit zu geben, die Darstellung von Informationen aus einem Computerdatenbanksystem zu konfigurieren. Das Datendarstellungsmodul wird an die Umgebung des Benutzers angepasst, indem die Metadatentabellen bei der Erstinstallation der Datendarstellungsmodul-Software konfiguriert werden. Änderungen an den von dem Datendarstellungsmodul dargestellten Fenstern können durch Ändern der Metadatentabellen und ohne Abändern der Datendarstellungsmodul-Software durchgeführt werden.
  • Ein Nachteil bekannter Lösungen kann darin bestehen, dass ein Übermitteln oder Hochladen von Daten von einem lokalen System an/auf einen Server weiterhin einen erheblichen Zeitaufwand erfordert, was die Produktivität eines Datenwissenschaftlers beim Entwickeln von ML-Modellen bremst.
  • Daher könnte es notwendig sein, den Nachteil zu überwinden, dass man nicht in der Lage ist, mit den Daten weiterzuarbeiten, während sie hochgeladen werden, insbesondere im Zusammenhang mit dem Entwickeln von Algorithmen des maschinellen Lernens.
  • KURZDARSTELLUNG
  • Gemäß einem Aspekt der vorliegenden Erfindung kann ein auf einem Computer ausgeführtes Verfahren für eine schnelle Datenuntersuchung von hochzuladenden Daten bereitgestellt werden. Das Verfahren kann ein Hochladen eines ersten Datensatzes einer ersten Größe von einem lokalen System und ein Ermitteln aufweisen, dass der erste Datensatz nicht beschädigt ist. Das Verfahren kann auch ein Durchführen eines Auswählens einer vorher festgelegten Anzahl von Einträgen aus dem ersten Datensatz, wodurch ein zweiter Datensatz aufgebaut wird, ein Ermitteln von statistischen Daten und Metadaten über den ersten Datensatz und ein Sichtbarmachen des zweiten Datensatzes, der statistischen Daten und der Metadaten parallel zum Hochladen aufweisen.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung kann ein Datenuntersuchungssystem für eine schnelle Datenuntersuchung von hochzuladenden Daten bereitgestellt werden. Das System kann ein Mittel zum Hochladen eines ersten Datensatzes einer ersten Größe von einem lokalen System und ein Mittel zum Ermitteln aufweisen, dass der erste Datensatz nicht beschädigt ist. Des Weiteren kann das System ein Mittel zum Auswählen einer vorher festgelegten Anzahl von Einträgen aus dem ersten Datensatz, die einen zweiten Datensatz bilden, ein Mittel zum Ermitteln von statistischen Daten und Metadaten über den ersten Datensatz und ein Mittel zum Sichtbarmachen des zweiten Datensatzes, der statistischen Daten und der Metadaten aufweisen. Dabei können das Mittel zum Auswählen, das Mittel zum Ermitteln von statistischen Daten und Metadaten und das Mittel zum Sichtbarmachen zeitlich parallel zu dem Mittel zum Hochladen arbeiten.
  • Das vorgeschlagene, auf einem Computer ausgeführte Verfahren für eine schnelle Datenuntersuchung von hochzuladenden Daten kann mehrere Vorteile, technische Auswirkungen, Beiträge und/oder Verbesserungen bieten:
  • Datenwissenschaftler, die in einer Umgebung arbeiten, die ein lokales System, d.h. eine lokale Workstation, die einen Thin-Client, z.B. einen Webbrowser als Benutzerschnittstelle, verwendet, und ein Serversystem aufweist, das über wesentlich mehr Datenverarbeitungsressourcen verfügt, die verwendet werden, um das Trainieren eines ML-Modells auszuführen, können viel Zeit sparen, produktiver sein und eine bessere Nutzung der verfügbaren Datenverarbeitungsressourcen ermöglichen. Da das Entwickeln von ML-Modellen ein ständiges Hin und Her, viel Versuch und Irrtum und einen erheblichen Umfang des Experimentierens mit den Daten erfordert, kann eine Übermittlungs- oder Hochladezeit von dem lokalen System an/auf den Server die Produktivität des Datenwissenschaftlers erheblich beeinträchtigen. Dies ist auch eine Folge des Experimentierens mit verschiedenen Sätzen von Trainingsdaten, die möglicherweise von dem lokalen System auf den Server hochgeladen werden müssen.
  • Das vorgeschlagene Konzept kann es dem Datenwissenschaftler ermöglichen, seine Experimente und Datenuntersuchungen während des Hochladens der Trainingsdaten von dem lokalen System auf den Server auf der Grundlage einer repräsentativen Teilmenge des ersten Datensatzes, der gerade von dem lokalen System auf den Server hochgeladen wird, fortzusetzen.
  • Die statistischen Daten sowie die aus dem ersten Datensatz abgeleiteten Metadaten können dem Benutzer oder Datenwissenschaftler helfen, einen Eindruck über die ausgewählten Trainingsdaten zu gewinnen, und können eine Grundlage für ein Konfigurieren zusätzlicher Werkzeuge zur Datenbereinigung, Datennormalisierung, Datenkorrektur und/oder Datenübernahme bilden. Die auf diese Weise konfigurierten Werkzeuge können dann auf den ersten Datensatz angewendet werden. Dadurch ist der Benutzer oder Datenwissenschaftler möglicherweise nicht darauf beschränkt, das Werkzeug auf dem lokalen System oder auf dem Server auszuführen, auf den der erste Datensatz hochgeladen wurde.
  • Das vorgeschlagene Konzept darf die Freiheit des Datenwissenschaftlers beim Experimentieren und Anpassen der Daten, bevor ein ML-Trainingsprozesses begonnen wird, nicht einschränken, sondern gibt ihm mehr Zeit und Flexibilität beim Arbeiten mit lediglich einer Teilmenge - insbesondere dem zweiten Datensatz -, um seine Produktivität zu steigern und um die verfügbaren Ressourcen, insbesondere Datenverarbeitungsressourcen, viel produktiver zu nutzen, da er mit dem zweiten Datensatz arbeiten kann, der für den ersten Datensatz repräsentativ sein kann und lediglich wenig Ressourcen für eine schnelle Untersuchung erfordert.
  • Im Folgenden werden zusätzliche Ausführungsformen des erfindungsgemäßen Konzepts - sowohl für das Verfahren als auch für das System anwendbar - beschrieben.
  • Gemäß einer vorteilhaften Ausführungsform des Verfahrens weisen die statistischen Daten mindestens ein Element aus der Gruppe auf, die Mindestwerte - insbesondere von Datenwerten einer Spalte -, Höchstwerte, Medianwerte, Mittelwerte, Quartilswerte, Häufigkeiten von Daten, eine Menge fehlender Datenwerte (z.B. in konkreten Einträgen oder konkreten Spalten) aufweist. Es kann auch möglich sein, zusätzliche statistische Daten zu ermitteln, die über die klassische Bedeutung von Metadaten eines Datensatzes hinausgehen.
  • Gemäß einer weiteren vorteilhaften Ausführungsform des Verfahrens weisen die Metadaten mindestens ein Element aus der Gruppe auf, die eine Anzahl von Zeilen, eine Anzahl von Spalten und Arten von Spaltenfeldern aufweist. Zusätzlich können die Metadaten auch zusätzliche Daten über die Daten in dem ersten Datensatz aufweisen. Dies kann zum Beispiel auch die Größe und Art von Einträgen, die Gesamtmenge von Daten und auch eindeutige Metadaten aufweisen, die z.B. am Anfang oder am Ende des ersten Datensatzes hinzugefügt werden. Derartige zusätzlich angehängte Metadaten dürfen nur aus dem ersten Datensatz extrahiert werden.
  • Gemäß einer zulässigen Ausführungsform kann das Verfahren auch aufweisen, dass parallel zum Hochladen des ersten Datensatzes auch die statistischen Daten und die Metadaten gesendet werden. Bei dem Sendeziel kann es sich um dasselbe Ziel handeln, das für den ersten Datensatz verwendet wurde. Die statistischen Daten können, müssen aber nicht lokal gespeichert sein, d.h. sie können auch von dem lokalen Client-System über eine REST- (Representational State Transfer-) Anfrage an einen Server übermittelt werden.
  • Gemäß einer optionalen Ausführungsform des Verfahrens kann das Ermitteln, dass der erste Datensatz nicht beschädigt ist, durchgeführt werden, bevor mit dem Hochladen begonnen wird. Dies hat den Vorteil, dass eine Datenbeschädigung und damit höchstwahrscheinlich eine unmögliche korrekte Übermittlung frühzeitig in dem Prozess erkannt werden kann. Beim Erkennen von beschädigten Daten kann das Hochladen unterdrückt und eine Warnung für den Benutzer erzeugt werden. Daher kann ein Fehlschlagen frühzeitig erkannt werden („schnelles Fehlschlagen“) und nicht erst am Ende der Übermittlung, wenn z.B. eine Prüfsumme gebildet werden kann, um eine ordnungsgemäße und abgeschlossene Übermittlung zu bestätigen, die möglicherweise gar nicht stattgefunden hat.
  • Gemäß einer nützlichen Ausführungsform des Verfahrens kann ein Ziel des Hochladens ein auf Cloud-Computing beruhender Dienst sein. In einer Ausführungsform kann es sich bei dem auf Cloud-Computing beruhenden Dienst um einen Algorithmus des maschinellen Lernens handeln, der mit dem hochgeladenen ersten Datensatz zu trainieren ist.
  • Gemäß einer vorteilhaften Ausführungsform kann das Verfahren auch ein Konfigurieren - und möglicherweise auch ein Ausführen - eines Werkzeugs (z.B. eines Datenmodellierungswerkzeugs oder eines anderen Datenbearbeitungswerkzeugs) durch Verwenden der statistischen Daten, der Metadaten und/oder des zweiten Datensatzes parallel zum Hochladen aufweisen. Somit kann die Konfiguration des Werkzeugs lokal auf dem Client-System oder aus der Ferne auf dem Server-System erfolgen. Allerdings kann es in dem zweiten Fall auch nützlich sein, den zweiten Datensatz - insbesondere parallel zum Hochladen des ersten Datensatzes - auf den Server zu laden. Andererseits kann es vorteilhaft sein, das Werkzeug während des Hochladens lokal auf dem Client zu konfigurieren und die hochgeladene Konfiguration serverseitig zu verwenden. Daher ist der Datenwissenschaftler, der das vorgeschlagene Verfahren anwendet, nicht durch das System eingeschränkt, auf dem das Werkzeug konfiguriert und ausgeführt wird.
  • Somit und gemäß einer weiteren vorteilhaften Ausführungsform kann das Verfahren auch ein Ausführen des konfigurierten Werkzeugs für den ersten Datensatz, insbesondere auf dem Server, aufweisen. Besonders bei einer Konfiguration des Werkzeugs auf der Client-Seite kann dieses Merkmal vorteilhaft genutzt werden. Zusätzlich kann es erforderlich sein, die Konfigurationsdaten von dem Client an das serverseitige Werkzeug zu übermitteln.
  • Gemäß einer bevorzugten Ausführungsform des Verfahrens kann es sich bei der Größe des zweiten Datensatzes um einen kleinen Bruchteil der Größe des ersten Datensatzes handeln. Üblicherweise kann der zweite Datensatz etwa 1000 Einträge (oder sogar weniger) aufweisen. Dies kann eine typische Anzahl für ein anfängliches Trainieren eines Werkzeugs des maschinellen Lernens oder eine Vorstellung von der erforderlichen Datenmodellierung darstellen, um das System des maschinellen Lernens auf der Server-Seite mit einer weitaus größeren Menge an Trainingsdaten zu trainieren. Des Weiteren kann das Verhältnis zwischen dem zweiten Datensatz und dem ersten Statussatz in Bezug auf die Größe des Datensatzes in einem Bereich von z.B. 1/100, 1/1000, 1/10.000 oder dergleichen liegen. Einer der Punkte, denen sich ein Datenwissenschaftler bewusst sein muss, ist, dass Daten asymmetrisch sein können; d.h., es soll eine Vorhersage über ein Verhalten einer Gruppe von Menschen getroffen werden und die Trainingsdaten sollen die Gruppe von Menschen in all ihren Aspekten gleichermaßen repräsentieren, z.B. Geschlecht, ethnische Zugehörigkeit, Alter, Gesundheit, Bildung, usw. Folglich muss der Datenwissenschaftler sicherstellen, dass die Trainingsdaten ungefähr die gleiche Anzahl von Einträgen zu jedem entsprechenden Aspekt aufweisen, um keine einseitigen Verzerrungen des ML-Modells zu riskieren.
  • Gemäß einer zulässigen Ausführungsform des Verfahrens kann das Auswählen aus dem ersten Datensatz ein Auswählen von Daten aus dem ersten Datensatz am Anfang, aus der Mitte, am Ende, nach dem Zufallsprinzip oder nach einem vorher festgelegten Algorithmus aufweisen. Der Auswahlprozess kann insbesondere von der Art von verfügbaren Daten, dem zu trainierenden System des maschinellen Lernens, der Datenquelle, der erwarteten Verzerrung der Daten und vielen weiteren Parametern abhängen.
  • Des Weiteren können Ausführungsformen die Form eines verwandten Computerprogrammprodukts annehmen, auf das von einem durch einen Computer verwendbaren bzw. durch einen Computer lesbaren Medium zugegriffen werden kann, das Programmcode zur Verwendung durch oder in Verbindung mit einem Computer oder jedem beliebigen Anweisungsausführungssystem bereitstellt. Für diese Beschreibung kann ein durch einen Computer verwendbares bzw. durch einen Computer lesbares Medium jede beliebige Vorrichtung sein, die ein Mittel zum Speichern, Austauschen, Weiterleiten oder Transportieren des Programms zur Verwendung durch das Anweisungsausführungssystem, die Vorrichtung oder die Einheit oder zur Verwendung in Verbindung mit diesen enthalten kann.
  • Figurenliste
  • Es sei angemerkt, dass Ausführungsformen der Erfindung unter Bezugnahme auf verschiedene Gegenstände beschrieben werden. Insbesondere werden einige Ausführungsformen unter Bezugnahme auf verfahrensartige Ansprüche beschrieben, während andere Ausführungsformen unter Bezugnahme auf vorrichtungsartige Ansprüche beschrieben werden. Ein Fachmann wird aus dem oben Aufgeführten und der folgenden Beschreibung jedoch folgern, dass zusätzlich zu jeder beliebigen Kombination von zu einer Art von Gegenstand gehörenden Eigenschaften auch jede beliebige Kombination aus sich auf andere Gegenstände beziehende Eigenschaften, insbesondere von Eigenschaften der verfahrensartigen Ansprüche und Eigenschaften der vorrichtungsartigen Ansprüche, als innerhalb dieses Dokuments offenbart angesehen wird, soweit nicht anderweitig angegeben.
  • Die oben festgelegten Aspekte und weitere Aspekte der vorliegenden Erfindung ergeben sich aus den Beispielen von Ausführungsformen, die nachfolgend beschrieben und unter Bezugnahme auf die Beispiele der Ausführungsformen erläutert werden, wobei die Erfindung nicht auf diese beschränkt ist.
  • Bevorzugte Ausführungsformen der Erfindung werden lediglich beispielhaft und unter Bezugnahme auf die folgenden Zeichnungen beschrieben:
    • 1 zeigt ein Blockschaubild einer Ausführungsform des erfindungsgemäßen, auf einem Computer ausgeführten Verfahrens für eine schnelle Datenuntersuchung von hochzuladenden Daten.
    • 2 zeigt ein Blockschaubild einer Teilmenge einiger technischer Komponenten zum Ausführen des Verfahrens gemäß einer Ausführungsform.
    • 3 zeigt einen Ablaufplan einer Ausführungsform des hier vorgeschlagenen Konzepts.
    • 4 zeigt ein Blockschaubild einer Ausführungsform eines Datenuntersuchungssystems zur schnellen Datenuntersuchung von hochzuladenden Daten.
    • 5 zeigt eine Ausführungsform eines Datenverarbeitungssystems, welches das Datenuntersuchungssystem gemäß 4 aufweist.
    • 6 zeigt eine Cloud-Computing-Umgebung gemäß einer Ausführungsform, in der zumindest Teile des erfindungsgemäßen Konzepts eingesetzt werden können.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In dem Kontext dieser Beschreibung können die folgenden Konventionen, Begriffe und/oder Ausdrücke verwendet werden:
  • Der Begriff „schnelle Datenuntersuchung“ kann die Fähigkeit eines Datenwissenschaftlers (oder eines anderen Benutzers) bezeichnen, Bewertungen für einen großen (ersten) Datensatz vorzunehmen, der üblicherweise für ein Trainieren von MLbasierten Systemen verwendet wird, und zwar auf der Grundlage eines Analysierens einer repräsentativen, viel kleineren Teilmenge des großen Datensatzes. Der Begriff kann sich insbesondere auf die Wahlmöglichkeit beziehen, eine repräsentative Teilmenge eines ersten Datensatzes unter Verwendung von Statistikdaten-Metadaten über den großen ersten Datensatz zu bewerten. Die schnelle Datenuntersuchung kann auf dem lokalen System des Datenwissenschaftlers durchgeführt werden, anstatt auf einem serverseitigen System auf die Daten zugreifen zu müssen. Allerdings kann es auch möglich sein, die Teilmenge, die statistischen Daten und die Metadaten von dem lokalen System an das Serversystem zu übermitteln.
  • Der Begriff „Hochladen” kann hier einen Prozess eines Sendens oder Übermittelns von Daten bezeichnen, und in verschiedenen Ausführungsformen ein Übermitteln einer großen Menge an Daten, die üblicherweise auf einem lokalen Datenspeichersystem gespeichert sind, an ein entfernt angeordnetes Computersystem, z.B. einen Server, insbesondere ein Cloud-basiertes Datenverarbeitungssystem, das im Vergleich zu dem lokalen System über große Mengen an Datenverarbeitungsressourcen verfügt.
  • Der Begriff „lokales System” kann einen Arbeitsplatz eines Datenwissenschaftlers, einen Personal Computer, einen Thin-Client wie zum Beispiel einen Webbrowser oder ein beliebiges anderes Benutzerschnittstellensystem bezeichnen.
  • Der Begriff „erster Datensatz” kann einen Datensatz bezeichnen, der üblicherweise für Zwecke des maschinellen Lernens verwendet wird, z.B. Trainingsdaten. Im Allgemeinen kann die Menge des ersten Datensatzes so groß sein, dass eine Übermittlung von einem lokalen System an ein serverseitiges System sehr viel Zeit in Anspruch nehmen kann, wodurch die Aktivitäten der knappen Ressourcen des Datenwissenschaftlers verlangsamt werden. In herkömmlichen Systemen kann es vorkommen, dass der Datenwissenschaftler während der Zeit, in welcher der erste Datensatz von dem lokalen System an den Server übermittelt, d.h. hochgeladen wird, nicht mit dem ersten Datensatz arbeiten kann.
  • Der Begriff „beschädigt” kann bedeuten, dass die Daten nicht brauchbar sind, z.B. eine falsche Prüfsumme am Ende einer Datenübermittlung, oder dass sie anderweitig nicht von einem Datenverarbeitungssystem an ein anderes übertragbar sind. Man sollte sich darüber im Klaren sein, dass sich eine Datei in einem beschädigten Zustand befinden kann, bevor sie verwendet oder übermittelt wird. Datendateien können in verschiedenen Formaten vorliegen, z.B. CSV (comma separated values, durch Kommas getrennte Werte). Als ein Beispiel kann eine CSV-Datei aus verschiedenen Gründen beschädigt sein, darunter unter anderem ein ungültiges Formatieren, eine Verwendung ungültiger Zeichen, Zeilenumbrüche innerhalb von Feldern.
  • Der Begriff „zweiter Datensatz” kann einen wesentlich kleineren Datensatz im Vergleich zu dem ersten Datensatz bezeichnen. Die typische Größe des zweiten Datensatzes kann in dem Bereich von etwa 1000 Einträgen oder sogar weniger liegen. Allerdings kann es auch ein festes Verhältnis zwischen der Größe des ersten und des zweiten Datensatzes geben, z.B. 1/100, 1/1.000, 1/10.000 und so weiter. Diese feste Beziehung kann auf einer festgelegten Stichprobengröße beruhen. Der zweite Datensatz kann auf dem lokalen System gespeichert werden oder der zweite Datensatz kann auf den Server hochgeladen werden. Eine vorteilhafte Eigenschaft des zweiten Datensatzes, wenn er auf dem lokalen System gespeichert ist, besteht darin, dass er mit nur sehr wenigen Ressourcen auf dem lokalen System bearbeitet werden kann. Andererseits kann es auch einfach sein, auf den zweiten Datensatz über einen Webbrowser aus der Ferne durch das lokale System zuzugreifen und mit ihm zu arbeiten, wenn der zweite Datensatz auf dem Serversystem gespeichert ist.
  • Der Begriff „statistische Daten” kann vorgegebene und/oder berechnete Informationen über den ersten Datensatz bezeichnen. Dies kann Mindestwerte in einer Spalte, Höchstwerte in einer Spalte, Medianwerte in einer Spalte, Mittelwerte in einer Spalte, Quartilswerte in einer Spalte, Häufigkeiten von Daten in einer Spalte, eine Menge fehlender Datenwerte und eine Reihe anderer statistischer Daten aufweisen, die über die klassische Bedeutung von Metadaten hinausgehen können, ohne darauf beschränkt zu sein. Statistische Daten können eine Reihe von Werten in einem Datensatz umfassen, die nicht mit einem vorgegebenen Format für den Datensatz übereinstimmen.
  • Der Begriff „Metadaten” kann Informationen über Daten, insbesondere den ersten Datensatz bezeichnen. Üblicherweise sind Metadaten beschreibend und betreffen strukturelle Komponenten oder administrative Komponenten von Referenzdaten des ersten Datensatzes. Metadaten können zum Beispiel die Anzahl von in dem Datensatz befindlichen Zeilen und Spalten und das Format des Datensatzes umfassen. Es sei darauf hingewiesen, dass zwischen dieser herkömmlichen Form von Metadaten und statistischen Daten über den ersten Datensatz unterschieden werden sollte.
  • Der Begriff „Cloud-Computing” - und entsprechend der Begriff,auf Cloud-Computing beruhender Dienst, - kann im Zusammenhang mit diesem Dokument als ein Modell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Server, Speicher, Anwendungen und Dienste) interpretiert werden, die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Service schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell fördert die Verfügbarkeit und besteht aus mindestens fünf wesentlichen Eigenschaften, drei Servicemodellen und vier Bereitstellungsmodellen.
  • Die wesentlichen Eigenschaften von Cloud Computing weisen Folgendes auf:
    1. (i) On-Demand Self-Service. Ein Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicher sorgen, ohne dass eine menschliche Interaktion mit dem jeweiligen Anbieter der Dienste erforderlich ist.
    2. (ii) Broad Network Access. Es sind Funktionen über das 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.
    3. (iii) Resource-Pooling. Die Datenverarbeitungsressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Nutzerbedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Kunde 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). Zu Beispielen für Ressourcen gehören Speicher, Verarbeitung, Hauptspeicher, Netzwerk-Bandbreite und virtuelle Maschinen.
    4. (iv) 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.
    5. (v) 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.
  • Die für Cloud-Computing verwendeten Dienstmodelle weisen Folgendes auf:
    1. (i) Cloud Software as a Service (SaaS). Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine Thin-Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende E-Mail) von verschiedenen Client-Einheiten her zugänglich. 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.
    2. (ii) Cloud 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 das Netzwerk, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen des Application Hosting Environment.
    3. (iii) Cloud Infrastructure as a Service (laaS): Die dem Nutzer bereitgestellte Funktion besteht darin, das Verarbeiten, Speicher, Netzwerke und andere grundlegende Datenverarbeitungsressourcen 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).
  • Die für Cloud-Computing verwendeten Einsatzmodelle weisen Folgendes auf:
    1. (i) Private Cloud. Die Cloud-Infrastruktur wird einzig und allein durch eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
    2. (ii) 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 in den eigenen Räumen oder fremden Räumen stehen.
    3. (iii) 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.
    4. (iv) Hybrid Cloud. Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Einheiten 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).
  • Es sei darauf hingewiesen, dass Cloud-Software die Vorteile des Cloud-Paradigmas voll ausschöpft, indem sie dienstorientiert ist und den Fokus auf Statusunabhängigkeit (mit Ausnahmen), geringe Kopplung, Modularität und semantische Interoperabilität richtet.
  • Im Folgenden werden eine ausführliche Beschreibung der Figuren und eine bevorzugte Ausführungsform angeführt. Sämtliche Anweisungen in den Figuren sind schematisch. Zunächst wird ein Blockschaubild einer Ausführungsform des erfindungsgemäßen, auf einem Computer ausgeführten Verfahrens für eine schnelle Datenuntersuchung von hochzuladenden Daten angeführt. Anschließend werden weitere Ausführungsformen sowie Ausführungsformen des Datenuntersuchungssystems für eine schnelle Datenuntersuchung von hochzuladenden Daten beschrieben.
  • 1 zeigt einen Ablaufplan einer bevorzugten Ausführungsform des auf einem Computer ausgeführten Verfahrens 100 für eine schnelle Datenuntersuchung von hochzuladenden Daten. Das Verfahren 100 weist ein Hochladen, 102, eines - insbesondere großen - ersten Datensatzes einer ersten Größe von einem lokalen System auf. Das Hochladen kann von einem lokalen System wie einem PC (Personal Computer), einer lokalen Workstation oder einem lokalen Server auf einen empfangenden Server durchgeführt werden, bei dem es sich um einen leistungsfähigeren Server mit wesentlich mehr Datenverarbeitungsressourcen handeln kann. Das Hochladen kann unter Verwendung eines Thin-Clients durchgeführt werden, z.B. eines Webbrowsers, der auf einem PC mit relativ geringen Verarbeitungs- und Speicherressourcen läuft. Üblicherweise können Algorithmen des maschinellen Lernens wie das Trainieren eines ML-Modells oder -Systems auf dem empfangenden Server, z.B. einem Server 214, laufen. Der empfangende Server kann auch in ein größeres Cloud-Computing-Center integriert sein. Bei dem lokalen System kann es sich um ein Client-System oder lediglich um einen Webbrowser handeln.
  • Zusätzlich weist das Verfahren ein Ermitteln, 104, auf, dass der erste Datensatz nicht beschädigt ist. Wäre dies der Fall, würde mit dem Hochladen nicht begonnen (oder es würde nicht abgeschlossen, wenn eine Beschädigung nach Einleiten des Hochladens erkannt wird), um die Wirkung eines schnellen Fehlschlagens zu nutzen und Zeit und Ressourcen für andere Bemühungen zu sparen. Obwohl in 1 die Feststellung, dass der erste Datensatz nicht beschädigt ist, 104, nach dem Hochladen, 102, des ersten Datensatzes gezeigt ist, sollte man sich darüber im Klaren sein, dass diese Reihenfolge nicht erforderlich ist. In verschiedenen Ausführungsformen kann der Arbeitsschritt 104 vor oder gleichzeitig mit dem Arbeitsschritt 102 durchgeführt werden.
  • Außerdem besteht ein Teil des Verfahrens 100 darin, parallel zum Hochladen 102 ein Auswählen, 106, einer vorher festgelegten Anzahl von Einträgen aus dem ersten Datensatz zum Aufbauen eines zweiten Datensatzes - also einer Teilmenge, die wesentlich kleiner ist -, ein Ermitteln, 108, von statistischen Daten und Metadaten über den ersten Datensatz und ein Sichtbarmachen, 110, des zweiten Datensatzes, der statistischen Daten und der Metadaten durchzuführen. Der letzte Schritt kann auf der Grundlage von Serveraktivitäten - d.h. einer Anfrage - oder von lokalen Systemaktivitäten, d.h. einem Sendebefehl, durchgeführt werden. Während die Arbeitsschritte 106, 108 und 110 vorzugsweise parallel zu dem Arbeitsschritt 102 des Hochladens durchgeführt werden, ist es nicht unbedingt erforderlich, dass die Arbeitsschritte 106, 108 und 110 vollständig parallel zu dem Arbeitsschritt 102 durchgeführt werden. Zum Beispiel können die Arbeitsschritte 106, 108 und 110 vor dem Arbeitsschritt 102 des Hochladens beginnen oder nach diesem beendet werden.
  • 2 zeigt ein Blockschaubild 200 einer Teilmenge von beteiligten technischen Komponenten zum Ausführen des Verfahrens 100 gemäß einer Ausführungsform. In einem ML-Kontext kann das lokale System 202 einen großen Datensatz 208 auf einem Speichersystem 206 verwalten, bei dem es sich um eine oder mehrere Speichereinheiten handeln kann, wie zum Beispiel eine Festplatte oder ein Flash-Laufwerk, oder das herkömmliche Computerkomponenten umfassen kann, wie zum Beispiel einen Prozessor, einen Bus und Peripherie-Einheiten zusammen mit einer oder mehreren Speichereinheiten. Die zu trainierenden ML-Algorithmen können sich auf einem Server 214 befinden. Ein Fernzugriff von dem Server 214 auf das Speichersystem 206 kann durch geringe Leistungseigenschaften eingeschränkt sein, z.B. einen erheblichen Zeitaufwand für das Abschließen des ML-Trainings, und relativ große Mengen an Netzwerk-Bandbreite erfordern und ist daher möglicherweise nicht praktikabel oder sogar unmöglich. So kann es erforderlich sein, den ersten Datensatz 208 von dem lokalen System 202 an/auf den Server 214 zu übertragen, hochzuladen oder zu senden, wie durch gestrichelte Linien für den großen Datensatz 220 in einem an den Server angeschlossenen Speichersystem 218 angegeben ist. Bei dem großen Datensatz 220 handelt es sich um eine Kopie des ersten Datensatzes 208 auf dem Speichersystem 206. Das heißt, eine typische Größe eines derartigen ersten Datensatzes 208 kann sich in dem Bereich von 50 GB, 100 GB oder sogar mehr bewegen (z.B. bei Bilddaten). Häufig können Bilddaten als Grundlage für das Trainieren eines ML-Algorithmus verwendet werden, so dass man verstehen wird, dass die genannten Datenmengen nicht ungewöhnlich sind. Allerdings kann ein Hochladen von dem lokalen System 202 auf das Serversystem 214 viel Zeit in Anspruch nehmen, was den Nachteil mit sich bringt, dass ein Datenwissenschaftler warten muss, bis alle Daten auf die Seite des Servers 214 übertragen wurden, was möglicherweise erheblich viel Zeit in Anspruch nimmt.
  • Wie bereits erwähnt, kann es sich bei dem Server 214 um ein leistungsfähigeres Datenverarbeitungssystem handeln, das über mehr Datenverarbeitungsressourcen verfügt als das lokale System 202. Obwohl die Leistung des Servers 214 darauf zurückzuführen sein kann, dass der Server im Vergleich zu dem lokalen System 202 über mehr Prozessorkerne, mehr Speicher, höhere Taktfrequenzen und dergleichen verfügt, ist eine bestimmte Hardwarekonfiguration nicht erforderlich. In verschiedenen Ausführungsformen sind die Merkmale, die den Server 214 von dem lokalen System 202 unterscheiden, Durchsatz, Reaktionszeit, Verarbeitungsgeschwindigkeit oder dergleichen. Insbesondere kann der Server 214 von dem lokalen System 202 auf der Grundlage unterschieden werden, dass er ein ML-Modell unter Verwendung des ersten Datensatzes 208/220 in einem kleinen Bruchteil der Zeit trainieren kann, die für das lokale System 202 erforderlich wäre. Zum Beispiel kann der Server 214 in der Lage sein, ein ML-Modell unter Verwendung des ersten Datensatzes 208/220 in 5 oder 10 Prozent der Zeit zu trainieren, die für das lokale System 202 erforderlich wäre. Als konkretes Beispiel kann der Server 214 in der Lage sein, ein ML-Modell unter Verwendung des ersten Datensatzes 208/220 in 50 Minuten zu trainieren, während die gleiche Aufgabe auf dem lokalen System 202 eine Dauer von 500 Minuten (8,3 Stunden) erfordern würde. In anderen Fällen ist die Zeitersparnis vielleicht nicht so groß, aber selbst wenn der Server 214 nur 50 oder 75 Prozent der Zeit benötigt, die für das lokale System 202 erforderlich wäre, wäre die Zeitersparnis wahrscheinlich immer noch erheblich und vorteilhaft.
  • In verschiedenen Ausführungsformen verfügt das lokale System 202 über eine erste Konfiguration von Verarbeitungskernen und Speicher, die in der Lage ist, ein Modell des maschinellen Lernens unter Verwendung des ersten Datensatzes in einem ersten Zeitraum zu trainieren, und der Server 214 verfügt über eine zweite Konfiguration von Verarbeitungskernen und Speicher, die in der Lage ist, dasselbe Modell des maschinellen Lernens unter Verwendung desselben ersten Datensatzes in einem zweiten Zeitraum zu trainieren. Aufgrund der Tatsache, dass es sich bei dem Server 214 um ein leistungsfähigeres System als das lokale System 202 handelt, ist der zweite Zeitraum kürzer als der erste Zeitraum.
  • Gemäß verschiedenen Ausführungsformen kann der Datenwissenschaftler die für ein Hochladen benötigte Zeit nutzen, um die Daten parallel zum Hochladen lokal zu untersuchen und optional Werkzeuge für die Datenmodellierung oder Datenbearbeitung zu konfigurieren.
  • Das lokale System 202 kann dazu veranlasst werden, den ersten Datensatz 208 durch den Sender/Hochlader 204 an den Server 214 zu senden, wo der erste Datensatz von einem Empfänger 216 empfangen wird. Der Sender/Hochlader 204 kann Datenübertragungshardware wie zum Beispiel ein Modem und Datenübertragungssoftware umfassen, die Datenübertragungsprotokolle wie zum Beispiel TCP, und Fehlererkennungsprotokolle umsetzen. Vor (oder gleichzeitig mit) dem Senden kann in dem lokalen System 202 eine Prüfung durchgeführt werden, um zu ermitteln, dass der erste Datensatz nicht beschädigt ist. Zum Beispiel kann ein Werkzeug wie zum Beispiel CSVLint verwendet werden, um zu prüfen, ob der erste Datensatz die Spalten und Arten von Werten enthält, die er enthalten sollte, d.h. ein automatisiertes Werkzeug kann verwendet werden, um zu prüfen, ob die Datei analysiert werden kann und lesbar ist. Im Falle von beschädigten Daten würden diese vom Sender/Hochlader 204 nicht übermittelt werden. Zusätzlich kann an dem Empfänger 216 eine Prüfung durchgeführt werden, um zu ermitteln, dass der erste Datensatz nach der Übermittlung unbeschädigt blieb.
  • Um die Zeit der Übermittlung von dem lokalen System 202 an den Server 214 zu nutzen, kann parallel zum Hochladen, d.h. zur Datenübermittlung, eine Teilmenge, d.h. ein zweiter Datensatz 210 aus dem ersten Datensatz 208 erzeugt werden (z.B. kann es sich bei der Teilmenge um einen kleinen Teil des ersten Datensatzes handeln), und es können auch statistische Daten und Metadaten 212 über den ersten Datensatz aus dem ersten Datensatz abgeleitet und/oder ermittelt werden. Der zweite Datensatz 210, die statistischen Daten und die Metadaten 212 können für den Datenwissenschaftler sichtbar gemacht werden, z.B. auf einer Anzeigeeinheit des lokalen Systems 202 angezeigt werden, um ihm die Möglichkeit zu geben, einen ersten Eindruck von den Daten in dem ersten Datensatz zu bekommen. Der Datenwissenschaftler kann auf der Grundlage des durch das Sichtbarmachen erhaltenen Wissens über den zweiten Datensatz 210 beschließen, ein Datenmodellierungswerkzeug zu konfigurieren, das auf den ersten Datensatz 208 anzuwenden ist. Die Konfiguration des Datenmodellierungswerkzeugs und/oder eine Auswahl von ML-Algorithmen kann auf dem lokalen System 202 oder auf dem Server 214 durchgeführt werden. Üblicherweise werden in dieser Phase von vorbereitenden Aufgaben zur Datenbereinigung Datennormalisierungsaktivitäten an dem zweiten Datensatz getestet, der für den ersten Datensatz repräsentativ sein kann. In verschiedenen Ausführungsformen können ein oder mehrere Datenbereinigungs- oder Datennormalisierungs-Softwareprogramme auf den zweiten Datensatz auf dem lokalen System 204 angewendet werden, um zu ermitteln, welches der Programme am effektivsten sein kann und wie etwaige Parameter einer Datenbereinigungs- oder Datennormalisierungssoftware am effektivsten konfiguriert werden können.
  • Aufgrund der relativ hohen Anzahl von Lösungsansätzen mit Versuch und Irrtum bei der Entwicklung von ML-Modellen kann das vorgeschlagene Verfahren dem Datenwissenschaftler viel Zeit ersparen. Der Zugriff auf den ersten Datensatz 220 auf der Server-Seite kann durch ML-Algorithmen erfolgen, die auf dem Server 214 oder einem anderen, unabhängigen ML-System 222 ausgeführt werden, bei dem es sich wie bei dem Server 214 um einen wesentlich leistungsfähigeren Server mit wesentlich mehr Datenverarbeitungsressourcen als bei dem lokalen System 202 handeln kann.
  • Es sei auch darauf hingewiesen, dass die ML-Algorithmen in eine Cloud-Computing-Umgebung eingebettet sein können, wie zum Beispiel die in 6 dargestellte, zu welcher der Server 214 und das ML-System 222 gehören können.
  • 3 zeigt einen Ablaufplan 300 einer Ausführungsform des hier vorgeschlagenen Konzepts. Es beginnt mit einem Verfügbarmachen, 302, eines ersten Datensatzes auf einem lokalen System, z.B. dem lokalen System 202. Anschließend verzweigt sich der Prozessablauf. Zunächst wird mit dem Hochladen des ersten Datensatzes begonnen, 304. Als erster Schritt in dieser Aktivität wird ermittelt, 306, ob der erste Datensatz beschädigt ist. Der Arbeitsschritt 306 kann vor dem Hochladen des ersten Datensatzes abgeschlossen oder gleichzeitig mit diesem durchgeführt werden. Ein Werkzeug wie zum Beispiel CVSLint kann verwendet werden, um zu ermitteln, ob der erste Datensatz analysierbar und lesbar ist. Wenn der erste Datensatz beschädigt ist, so dass die Gefahr besteht, dass die Übermittlung von dem lokalen System an einen Server möglicherweise nicht erfolgreich ist, wird das Hochladen beendet, 310. In dem zweiten Fall, in dem der erste Datensatz nicht beschädigt ist, wird das Hochladen bis zum Abschluss fortgesetzt, 308, was aufgrund der großen Menge hochzuladender Daten relativ lange dauern kann.
  • Zweitens wird der zweite Datensatz aus dem ersten Datensatz extrahiert, 312. Der Auswahlprozess kann so durchgeführt werden, dass es sich bei dem zweiten Datensatz (in der Figur mit DS bezeichnet) um eine gute Repräsentation des ersten Datensatzes handelt. Zum Beispiel kann der Auswahlprozess, um eine gute Repräsentation zu erhalten, eine Zufallsstichprobenziehung, eine systematische Stichprobenziehung, eine geschichtete Stichprobenziehung, eine in Gruppen zusammengefasste Stichprobenziehung oder eine Kombination aus zwei oder mehreren dieser Techniken umfassen. Im Fall von asymmetrischen Datensätzen kann eine Technik zur Stichprobenziehung den ersten Datensatz auf solche Weise abfragen, dass jede Gruppe von Daten, die einen konkreten Aspekt, z.B. das Geschlecht, aufweist, in dem zweiten Datensatz gleichmäßig oder proportional vertreten sind. In verschiedenen Ausführungsformen kann das Extrahieren, 312, des zweiten Datensatzes unter Verwendung eines Auswahlprozesses durch das lokale System 202 durchgeführt werden. Als nächstes werden Metadaten (in der Figur mit MD bezeichnet) und statistische Daten (in der Figur mit SD bezeichnet) des ersten Datensatzes ermittelt, 314. In verschiedenen Ausführungsformen kann das Ermitteln, 314, von MD und SD durch das lokale System 202 durchgeführt werden. Dann werden die statistischen Daten, die Metadaten und der zweite Datensatz sichtbar gemacht, 316, z.B. für einen Datenwissenschaftler zum Bewerten der sichtbar gemachten Daten auf einer Anzeigeeinheit. Optional können der zweite Datensatz sowie die statistischen Daten und die Metadaten des ersten Datensatzes auf den Server hochgeladen, 318, (gezeigt in einem gestrichelten Kasten) und in einem Webbrowser auf dem lokalen System 202 sichtbar gemacht werden, 316. Als Nächstes kann der Datenwissenschaftler auf der Grundlage der Bewertung der sichtbar gemachten Daten ein Werkzeug konfigurieren, 320. Das Werkzeug kann in der Lage sein, die Daten des zweiten Datensatzes und des ersten Datensatzes zu normalisieren, zu bereinigen, zu korrigieren usw.; anders ausgedrückt, es kann sich bei dem Werkzeug um ein Datenmodellierungswerkzeug handeln. Während das Datenmodellierungswerkzeug in einigen Ausführungsformen auf dem lokalen System 202 laufen kann, läuft das Datenmodellierungswerkzeug üblicherweise nur auf dem Server 214 und wird von dem Datenwissenschaftler über einen Webbrowser auf dem lokalen System 202 aufgerufen. Wenn ein auf dem Server 214 laufendes Datenmodellierungswerkzeug verwendet wird, ist es erforderlich, den zweiten Datensatz 210, die MD und die SD auf den Server 214 hochzuladen.
  • Optional kann die Konfiguration des Datenmodellierungswerkzeugs auch auf den Server hochgeladen werden, 322. Als nächstes kann das Datenmodellierungswerkzeug auf den ersten Datensatz angewendet werden, 324. Somit kann der Datenwissenschaftler nach Abschluss des Hochladens des ersten Datensatzes die zum Vorbereiten des zweiten, kleineren Datensatzes verwendeten Schritte schnell für den ursprünglichen, großen ersten Datensatz durchführen. Das Datenmodellierungswerkzeug kann so konfiguriert sein, dass es diese Schritte für den ersten Datensatz als Reaktion auf einen einzelnen Befehl durchführt, wie zum Beispiel „Datensatz ersetzen und Notebook erneut ausführen?“ Es kann mit einem Trainieren, 326, eines ML-Modells eines ML-Systems unter Verwendung des ersten Datensatzes begonnen werden, nachdem die Übermittlung an den Server erfolgreich beendet wurde. In verschiedenen Ausführungsformen kann mit dem Trainieren des ML-Modells begonnen werden, nachdem der erste Datensatz übermittelt wurde und nachdem eine Datenbereinigung oder eine Datennormalisierung der ersten Daten unter Verwendung von Konfigurationsparametern, die auf dem lokalen System 202 unter Verwendung des zweiten Datensatzes bestimmt wurden, durchgeführt wurde. Nachdem das Trainieren des ML-Modells abgeschlossen ist, kann der Prozess enden, 332.
  • 4 zeigt ein Blockschaubild einer Ausführungsform eines Datenuntersuchungssystems 400 zur schnellen Datenuntersuchung von hochzuladenden Daten. Das System weist zumindest ein Mittel zum Hochladen - insbesondere einen Sender 402 (z.B. den Sender/Hochlader 204) - eines ersten Datensatzes einer ersten Größe von einem lokalen System und ein Mittel zum Ermitteln - insbesondere eine erste Ermittlungseinheit 404 -, dass der erste Datensatz nicht beschädigt ist, auf, z.B. ein Software-Werkzeug, das Tests umsetzt, um zu ermitteln, ob eine Datendatei oder eine andere Datenstruktur beschädigt ist. Zu Beispielen gehören CSVLint und Werkzeuge zum Überprüfen von Prüfsummen. Wenn dies der Fall wäre, würde der Sender 402 nicht aktiv werden.
  • Zusätzlich weist das Datenuntersuchungssystem 400 ein Mittel zum Auswählen - insbesondere eine Auswahleinheit 406 - einer vorher festgelegten Anzahl von Einträgen aus dem ersten Datensatz auf, wodurch ein zweiter Datensatz aufgebaut wird. Zum Beispiel kann die Auswahleinheit 406 eine Software umfassen, die Daten durch eine Zufallsstichprobenziehung, eine systematische Stichprobenziehung, eine geschichtete Stichprobenziehung, eine in Gruppen zusammengefasste Stichprobenziehung oder eine Kombination aus zwei oder mehreren dieser Techniken abfragt. Das Datenuntersuchungssystem 400 weist auch ein Mittel zum Ermitteln - insbesondere eine zweite Ermittlungseinheit 408 - von statistischen Daten und Metadaten über den ersten Datensatz auf. Zum Beispiel kann die zweite Ermittlungseinheit 408 Software umfassen, die erforderlich ist, um statistische Daten zu berechnen, und zwar zumindest ein Element aus der Gruppe, die Mindestwerte, Höchstwerte, Medianwerte, Mittelwerte, Quartilswerte, Häufigkeiten von Daten, eine Menge fehlender Datenwerte aufweist, und Software, die erforderlich ist, um Metadaten zu extrahieren, wobei die Metadaten mindestens ein Element aus der Gruppe aufweisen, die eine Anzahl von Zeilen, eine Anzahl von Spalten, Arten von Spaltenfeldern umfasst. Als ein Beispiel für Software zum Ermitteln statistischer Daten oder Metadaten über die ersten Daten kann eine angepasste oder proprietäre Ermittlungseinheit 408 für einen bestimmten ersten Datensatz in JavaScript geschrieben sein. Zusätzlich kann ein angepasster oder proprietärer Code verwendet werden, um die Größe, den Namen, den Zeitpunkt der letzten Änderung und den Typ der Datei (Metadaten) unter Verwendung eines Webbrowsers zu ermitteln.
  • Das Datenuntersuchungssystem 400 weist auch ein Mittel zum Sichtbarmachen - insbesondere eine Einheit 410 zum Sichtbarmachen - des zweiten Datensatzes, der statistischen Daten und der Metadaten auf. Bei der Einheit 410 zum Sichtbarmachen kann es sich um eine beliebige Software zum Sichtbarmachen von Daten handeln, z.B. als Tabellen, Diagramme, Klartext. Beispiele für Software zum Sichtbarmachen von Daten können proprietäre, Open-Source- oder im Handel erhältliche Werkzeuge sein. Die Software zum Sichtbarmachen von Daten kann in JavaScript geschrieben sein und für das Sichtbarmachen von Daten in einem Webbrowser sorgen. In einer Ausführungsform kann es sich bei der Einheit 410 zum Sichtbarmachen um eine webbasierte Anwendung handeln, auf die über einen Thin-Client wie zum Beispiel einen Webbrowser zugegriffen werden kann, der sichtbar zu machende Daten in einem Tabellenformat (Zeile, Spalte, Spaltenname) und einem Fensterformat (Datenübersicht, Variablen/Spalten-Übersicht) darstellt. Das Fensterformat kann Informationen zu einzelnen Variablen umfassen, wie zum Beispiel ein Histogramm für eine Variable, den Mittelwert, den Median, den Modus, die Schiefe, die Kurtosis, das Minimum, das Maximum, die Standardabweichung der Variablen, ob es fehlende Werte für die Variable gibt (und wenn ja, wie viele), und ein Kastendiagramm. Zum Beispiel kann der zweite Datensatz in einem Tabellenformat sichtbar gemacht werden. Zusätzlich kann der erste Datensatz in einem Fensterformat sichtbar gemacht werden. Dabei können das Mittel zum Auswählen, das Mittel zum Ermitteln von statistischen Daten und Metadaten und das Mittel zum Sichtbarmachen zeitlich parallel zu dem Mittel zum Hochladen arbeiten.
  • Es sei darauf hingewiesen, dass die in Hardware umsetzbare(n) Einheit(en) des Datenuntersuchungssystems 400, d.h. der Sender 402, die erste Ermittlungseinheit 404, die bestimmte Auswahleinheit, die zweite Ermittlungseinheit 408 und die Einheit 410 zum Sichtbarmachen, für den Datenaustausch elektrisch verbunden sein können. Alternativ können sie für den Daten- und Signalaustausch auch über ein internes Bussystem eines Datenuntersuchungssystems verbunden sein.
  • Bevor auf 5 eingegangen wird, wird in 6 eine Cloud-Computing-Umgebung gezeigt, in der zumindest Teile des erfindungsgemäßen Konzepts - insbesondere die serverseitigen Komponenten - eingesetzt werden können.
  • 6 zeigt eine Cloud-Computing-Umgebung 600, in der zumindest Teile des erfindungsgemäßen Konzepts eingesetzt werden können. Es wird ein Satz von funktionalen Abstraktionsschichten gezeigt, die durch eine Cloud-Computing-Umgebung bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 6 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie abgebildet ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt: Eine Hardware- und Softwareschicht 602 umfasst Hardware- und Softwarekomponenten Zu Beispielen für Hardware-Komponenten gehören: Mainframe-Computer 604; Server 606; auf der RISC-(Reduced Instruction Set Computer) Architektur beruhende Server 608; Blade-Server 610; Speichereinheiten 612; Netzwerke 614 und Netzwerkkomponenten 614. In einigen Ausführungsformen beinhalten Software-Komponenten eine Netzwerk-Anwendungsserver-Software 616 und/oder eine Datenbank-Software 618.
  • Eine Virtualisierungsschicht 620 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server 622, virtueller Speicher 624, virtuelle Netzwerke 626, darunter virtuelle private Netzwerke, virtuelle Anwendungen und Betriebssysteme 628; und virtuelle Clients 630. In einem Beispiel kann eine Verwaltungsschicht 632 die nachfolgend beschriebenen Funktionen bereitstellen. Eine Ressourcen-Bereitstellung 634 stellt die dynamische Beschaffung von Datenverarbeitungsressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Ein Messen und eine Preisfindung 636 stellen die Kostenverfolgung beim Verwenden von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie die Abrechnung oder Rechnungsstellung für den Verbrauch dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungs-Software-Lizenzen aufweisen. Eine Sicherheit stellt die Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 638 stellt Nutzern und Systemadministratoren den Zugang zu der Cloud-Computing-Umgebung bereit. Eine Verwaltung des Dienstumfangs 640 stellt die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die benötigten Dienstziele erreicht werden. Ein Planen und Erfüllen von Vereinbarungen zum Dienstumfang (SLA, Service Level Agreement) 642 stellt die Anordnung vorab und die Beschaffung von Cloud-Computing-Ressourcen, für die eine zukünftige Anforderung vorausgesehen wird, gemäß einem SLA bereit.
  • Eine Arbeitslastschicht 644 stellt Beispiele für die Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Abbildung und Navigation 646; Software-Entwicklung und Lebenszyklusverwaltung 648; Bereitstellung von Ausbildung in virtuellen Klassenzimmern 650; Datenanalytikverarbeitung 652; Transaktionsverarbeitung 654; und serverseitige Komponenten 656 der hier vorgeschlagenen Lösung.
  • Ausführungsformen der Erfindung können gemeinsam mit nahezu jedem beliebigen Computertyp umgesetzt werden, unabhängig davon, ob die Plattform zum Speichern und/oder Ausführen von Programmcode geeignet ist. 5 zeigt als Beispiel ein Datenverarbeitungssystem 400, das zum Ausführen von Programmcode in Bezug auf das vorgeschlagene Verfahren geeignet ist.
  • Das Datenverarbeitungssystem 500 ist lediglich ein Beispiel eines geeigneten Computersystems und soll keinerlei Einschränkungen hinsichtlich des Anwendungsbereichs oder der Funktionalität von Ausführungsformen der hierin beschriebenen Erfindung andeuten, unabhängig davon, ob das Computersystem 500 in der Lage ist, eine der vorstehend dargelegten Funktionen umzusetzen und/oder durchzuführen. In dem Computersystem 500 gibt es Komponenten, die mit zahlreichen anderen Universal- bzw. Spezial-Datenverarbeitungssystem-Umgebungen bzw. -Konfigurationen betriebsfähig sind. Zu Beispielen für allgemein bekannte Datenverarbeitungssysteme, -umgebungen und/oder -konfigurationen, die zur Verwendung mit dem Computersystem/Server 500 geeignet sein können, gehören Personal Computer-Systeme, Server-Computersysteme, Thin-Clients, Thick-Clients, Handheld- oder Laptop-Einheiten, Multiprozessorsysteme, auf Mikroprozessoren beruhende Systeme, Set-Top-Boxen, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputersysteme, Mainframe-Computersysteme und verteilte Cloud-Computing-Umgebungen, die irgendeine(s) der vorstehend genannten Systeme bzw. Einheiten enthalten, und dergleichen, ohne darauf beschränkt zu sein. Das Computersystem/der Server 500 kann in dem allgemeinen Kontext von durch Computersysteme ausführbaren Anweisungen wie zum Beispiel Programmmodulen beschrieben werden, die von einem Computersystem 500 ausgeführt werden. Allgemein können zu Programmmodulen Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen und so weiter gehören, die bestimmte Aufgaben durchführen bzw. bestimmte abstrakte Datentypen umsetzen. Das Computersystem/der Server 500 kann in verteilten Cloud-Computing-Umgebungen ausgeführt werden, wo Aufgaben durch entfernt angeordnete Verarbeitungseinheiten durchgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können sich Programmmodule sowohl in lokalen als auch in entfernt angeordneten Computersystem-Speichermedien befinden, darunter Hauptspeichereinheiten.
  • Wie in der Figur gezeigt, ist ein Computersystem/Server 500 in Form einer Universal-Datenverarbeitungseinheit gezeigt. Die Komponenten des Computersystems/Servers 500 können eine(n) oder mehrere Prozessoren oder Verarbeitungseinheiten 502, einen Systemspeicher 504 und einen Bus 506 aufweisen, der verschiedene Systemkomponenten, darunter den Systemspeicher 504, mit dem Prozessor 502 verbindet, sind aber nicht darauf beschränkt. Der Bus 406 stellt eine oder mehrere einer beliebigen von mehreren Arten von Busstrukturen dar, darunter ein Speicherbus oder eine Speichersteuereinheit, ein Peripheriebus, ein beschleunigter Grafikanschluss und ein Prozessor- oder lokaler Bus, die eine beliebige aus einer Vielfalt von Busarchitekturen verwenden. Zu derartigen Architekturen gehören als Beispiel und nicht als Einschränkung ein ISA-Bus (Industry Standard Architecture), ein MCA-Bus (Micro Channel Architecture), ein EISA-Bus (Enhanced ISA), ein VESA-Lokalbus (Video Electronics Standards Association) sowie ein PCI-Bus (Peripheral Component Interconnects). Das Computersystem/der Server 500 umfasst üblicherweise eine Vielfalt von durch ein Computersystem lesbaren Medien. Bei derartigen Medien kann es sich um jedes beliebige verfügbare Medium handeln, auf welches das Computersystem/der Server 500 zugreifen kann, und es umfasst sowohl flüchtige als auch nichtflüchtige Medien, austauschbare und nicht austauschbare Medien.
  • Der Systemspeicher 504 kann durch ein Computersystem lesbare Medien in Form eines flüchtigen Speichers wie zum Beispiel einen Direktzugriffsspeicher (RAM) 508 und/oder Cache 510 umfassen. Das Computersystem/der Server 500 kann darüber hinaus andere austauschbare/nicht austauschbare, flüchtige/nichtflüchtige Computersystem-Speichermedien umfassen. Lediglich als Beispiel kann ein Speichersystem 512 zum Lesen von und zum Schreiben auf ein nicht austauschbares, nichtflüchtiges magnetisches Medium bereitgestellt werden (das nicht gezeigt ist und üblicherweise „Festplattenlaufwerk” genannt wird). Es können auch ein Magnetplattenlaufwerk zum Lesen von und zum Schreiben auf eine austauschbare, nichtflüchtige Magnetplatte (z.B. eine „Floppy-Diskette”) und ein optisches Plattenlaufwerk zum Lesen von oder zum Schreiben auf eine austauschbare, nichtflüchtige optische Platte wie zum Beispiel eine CD-ROM, DVD-ROM oder ein anderes optisches Medium bereitgestellt werden, auch wenn diese nicht gezeigt sind. In derartigen Fällen können sie jeweils über eine oder mehrere Datenmedienschnittstellen mit dem Bus 506 verbunden sein. Wie nachfolgend weiter abgebildet und beschrieben wird, kann der Systemspeicher 504 mindestens ein Programmprodukt enthalten, das einen Satz von Programmmodulen (z.B. mindestens einen) aufweist, die so konfiguriert sind, dass sie die Funktionen von Ausführungsformen der Erfindung ausführen.
  • Als Beispiel und nicht als Einschränkung können das Programm/Dienstprogramm mit (mindestens) einem Satz von Programmmodulen 516 sowie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten in dem Systemspeicher 504 gespeichert sein. Die Betriebssysteme, das eine oder die mehreren Anwendungsprogramme, andere Programmmodule und Programmdaten oder eine beliebige Kombination daraus können jeweils eine Umsetzung einer Netzwerkumgebung aufweisen. Die Programmmodule 516 führen allgemein die Funktionen und/oder Methodiken von hierin beschriebenen Ausführungsformen der Erfindung aus.
  • Das Computersystem/der Server 500 kann auch mit einer oder mehreren externen Einheiten 518 wie zum Beispiel einer Tastatur, einer Zeigeeinheit, einer Anzeige 520 usw.; einer oder mehreren Einheiten, die es einem Benutzer ermöglichen, mit dem Computersystem/Server 500 zu interagieren; und/oder beliebigen Einheiten (z.B. Netzwerkkarten, Modems usw.) Daten austauschen, die es dem Computersystem/Server 500 ermöglichen, mit einer oder mehreren anderen Datenverarbeitungseinheiten Daten auszutauschen. Ein derartiger Datenaustausch kann über Eingabe/Ausgabe- (E/A-) Schnittstellen 514 erfolgen. Außerdem kann das Computersystem/der Server 500 über einen Netzwerkadapter 522 mit einem oder mehreren Netzwerken Daten austauschen, wie zum Beispiel einem lokalen Netzwerk (LAN), einem allgemeinen Weitverkehrsnetz (WAN) und/oder einem öffentlichen Netzwerk (z.B. dem Internet). Wie abgebildet ist, kann der Netzwerkadapter 522 mit den anderen Komponenten des Computersystems/Servers 500 über den Bus 506 Daten austauschen. Es sollte klar sein, dass andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Computersystem/Server 500 verwendet werden könnten, auch wenn diese nicht gezeigt sind. Zu Beispielen gehören folgende, ohne auf diese beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Festplattenlaufwerk-Arrays, RAID-Systeme, Bandlaufwerke und Speichersysteme zur Datenarchivierung usw.
  • Zusätzlich kann das Datenuntersuchungssystem 400 für eine schnelle Datenuntersuchung von hochzuladenden Daten an das Bussystem 506 angeschlossen sein.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zum Zwecke der Veranschaulichung aufgeführt, sollen jedoch nicht gesamthaft stehen für bzw. begrenzt sein auf die offenbarten Ausführungsformen. Für den Fachmann werden viele Abänderungen und Abwandlungen ersichtlich sein, ohne von dem Umfang und dem Sinngehalt der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder technische Verbesserung gegenüber auf dem Markt vorgefundenen Technologien bestmöglich zu erläutern oder um es anderen Fachleuten zu ermöglichen, die hierin dargelegten Ausführungsformen zu verstehen.
  • Die vorliegende Erfindung kann als ein System, ein Verfahren und/oder ein Computerprogrammprodukt ausgeführt sein. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) mit durch einen Computer lesbaren Programmanweisungen darauf umfassen, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem Medium kann es sich um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem für ein Verbreitungsmedium handeln. Zu Beispielen für ein durch einen Computer lesbares Medium können ein Halbleiter- oder Festkörperspeicher, Magnetband, eine auswechselbare Computerdiskette, Direktzugriffsspeicher (RAM), Nur-Lese-Speicher (ROM), eine starre Magnetplatte und eine optische Platte gehören. Zu aktuellen Beispielen optischer Platten gehören ein Kompaktdisk-Nur-Lese-Speicher (CD-ROM), eine Lesen/Schreiben-Kompaktdisk (CD-R/W), eine DVD und eine Blu-Ray-Disk.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System 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 auswechselbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein auswechselbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. 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. Lichtwellenleiterkabel durchlaufende 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 Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server umfassen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle 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 oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ oder dergleichen sowie herkömmliche 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 fernen Computer oder vollständig auf dem fernen 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 Weitverkehrsnetzwerk (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen 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 ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder 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 umfasst, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen 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, anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und/oder die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der festgelegten logischen Funktion(en) umfassen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist darüber hinaus anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die hierin verwendete Terminologie dient lediglich dem Zweck des Beschreibens bestimmter Ausführungsformen und soll die Erfindung nicht einschränken. Die Verwendung der Singularform „ein“, „eine“ bzw. „der“, „die“, „das“ hierin soll ebenfalls die Pluralformen einschließen, es sei denn, etwas anderes ergibt sich deutlich aus dem Zusammenhang. Es wird darüber hinaus darauf hingewiesen, dass die Begriffe „weist auf“ und/oder „aufweisend“, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein von aufgeführten Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten angeben, jedoch nicht das Vorhandensein oder das Hinzufügen einer oder mehrerer anderer Merkmale, ganzer Zahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen hiervon ausschließen.
  • Die in den nachfolgenden Ansprüchen etwa vorhandenen, entsprechenden Strukturen, Materialien, Schritte und Entsprechungen aller Mittel oder Step-plus-function-Elemente verstehen sich dahingehend, dass sie jede beliebige Struktur, jedes beliebige Material bzw. jeden beliebigen Schritt zur Durchführung der Funktion in Kombination mit anderen beanspruchten Elementen nach Maßgabe der konkreten Beanspruchung aufweisen. Die Beschreibung der vorliegenden Erfindung wurde zum Zwecke der Veranschaulichung und Beschreibung aufgeführt, soll aber nicht gesamthaft stehen für bzw. begrenzt sein auf die Erfindung in der dargelegten Form. Für Fachleute werden viele Abänderungen und Abwandlungen ersichtlich sein, ohne von dem Umfang und dem Sinngehalt der Erfindung abzuweichen. Die Ausführungsformen werden gewählt und beschrieben, um die Grundgedanken der Erfindung und die praktische Anwendung bestmöglich zu erläutern und um es anderen Fachleuten zu ermöglichen, die Erfindung für verschiedene Ausführungsformen mit verschiedenen Abänderungen, die für eine bestimmte in Betracht gezogene Verwendung geeignet sind, zu verstehen.
  • Kurz gefasst lässt sich das erfindungsgemäße Konzept in den folgenden Abschnitten zusammenfassen:
    1. 1.
    2. 2. Auf einem Computer ausgeführtes Verfahren für eine schnelle Datenuntersuchung von hochzuladenden Daten, das Verfahren aufweisend ein
      • - Hochladen eines ersten Datensatzes einer ersten Größe von einem lokalen System,
      • - Ermitteln, dass der erste Datensatz nicht beschädigt ist,
      • - parallel zum Hochladen auch ein Durchführen eines
        • - Auswählens einer vorher festgelegten Anzahl von Einträgen aus dem ersten Datensatz, wodurch ein zweiter Datensatz aufgebaut wird,
        • - Ermittelns von statistischen Daten und Metadaten über den ersten Datensatz, und
        • - Sichtbarmachens des zweiten Datensatzes, der statistischen Daten und der Metadaten.
    3. 3. Verfahren nach Ziffer 1, wobei die statistischen Daten mindestens ein Element aus der Gruppe aufweisen, die Mindestwerte, Höchstwerte, Medianwerte, Mittelwerte, Quartilswerte, Häufigkeiten von Daten, eine Menge fehlender Datenwerte aufweist.
    4. 4. Verfahren nach Ziffer 1 oder 2, wobei die Metadaten mindestens ein Element aus der Gruppe aufweisen, die eine Anzahl von Zeilen, eine Anzahl von Spalten und Arten von Spaltenfeldern aufweist.
    5. 5. Verfahren nach einer der vorangehenden Ziffern, außerdem aufweisend
      • - auch ein Senden der statistischen Daten und der Metadaten parallel zum Hochladen des ersten Datensatzes.
    6. 6. Verfahren nach einer der vorangehenden Ziffern, wobei das Ermitteln, dass der erste Datensatz nicht beschädigt ist, durchgeführt wird, bevor mit dem Hochladen begonnen wird.
    7. 7. Verfahren gemäß einer der vorhergehenden Ziffern, wobei ein Ziel des Hochladens ein auf Cloud-Computing beruhender Dienst ist.
    8. 8. Verfahren nach einer der vorangehenden Ziffern, außerdem aufweisend
      • - ein Konfigurieren eines Werkzeugs unter Verwendung der statistischen Daten, der Metadaten und/oder des zweiten Datensatzes parallel zum Hochladen.
    9. 9. Verfahren nach Ziffer 7, darüber hinaus aufweisend
      • - ein Ausführen des konfigurierten Werkzeugs für den ersten Datensatz.
    10. 10. Verfahren nach einer der vorhergehenden Ziffern, wobei es sich bei der Größe des zweiten Datensatzes um einen kleinen Bruchteil der Größe des ersten Datensatzes handelt.
    11. 11. Verfahren nach einer der vorhergehenden Ziffern, wobei das Auswählen aus dem ersten Datensatz aufweist
      • - ein Auswählen von Daten aus dem ersten Datensatz am Anfang, aus der Mitte, am Ende, nach dem Zufallsprinzip oder nach einem vorher festgelegten Algorithmus.
    12. 12. Datenuntersuchungssystem für eine schnelle Datenuntersuchung von hochzuladenden Daten, das System aufweisend
      • - ein Mittel zum Hochladen eines ersten Datensatzes einer ersten Größe von einem lokalen System,
      • - ein Mittel zum Ermitteln, dass der erste Datensatz nicht beschädigt ist,
      • - ein Mittel zum Auswählen einer vorher festgelegten Anzahl von Einträgen aus dem ersten Datensatz, wodurch ein zweiter Datensatz aufgebaut wird,
      • - ein Mittel zum Ermitteln von statistischen Daten und Metadaten über den ersten Datensatz, und
      • - ein Mittel zum Sichtbarmachen des zweiten Datensatzes, der statistischen Daten und der Metadaten,
      wobei das Mittel zum Auswählen, das Mittel zum Ermitteln von statistischen Daten und Metadaten und das Mittel zum Sichtbarmachen zeitlich parallel zu dem Mittel zum Hochladen arbeiten.
    13. 13. Datenuntersuchungssystem nach Ziffer 11, wobei die statistischen Daten mindestens ein Element aus der Gruppe aufweisen, die Mindestwerte, Höchstwerte, Medianwerte, Mittelwerte, Quartilswerte, Häufigkeiten von Daten, eine Menge fehlender Datenwerte aufweist.
    14. 14. Datenuntersuchungssystem nach Ziffer 11 oder 12, wobei die Metadaten mindestens ein Element aus der Gruppe aufweisen, die eine Anzahl von Zeilen, eine Anzahl von Spalten und Arten von Spaltenfeldern aufweist.
    15. 15. Datenuntersuchungssystem nach einer der Ziffern 11 bis 13, außerdem aufweisend
      • - ein Mittel zum Hochladen auch der statistischen Daten und der Metadaten parallel zum Hochladen des ersten Datensatzes.
    16. 16. Datenuntersuchungssystem nach einer der Ziffern 11 bis 14, wobei das Mittel zum Ermitteln, dass der erste Datensatz nicht beschädigt ist, ausgeführt wird, bevor das Mittel zum Hochladen des ersten Datensatzes gestartet wird.
    17. 17. Datenuntersuchungssystem nach einer der Ziffern 11 bis 15, wobei ein Ziel des Hochladens ein auf Cloud-Computing beruhender Dienst ist.
    18. 18. Datenuntersuchungssystem nach einer der Ziffern 11 bis 16, außerdem aufweisend
      • - ein Mittel zum Konfigurieren eines Werkzeugs unter Verwendung der statistischen Daten, der Metadaten und/oder des zweiten Datensatzes parallel zum Hochladen.
    19. 19. Datenuntersuchungssystem nach Ziffer 17, wobei das konfigurierte Werkzeug für den ersten Datensatz ausgeführt wird.
    20. 20. Datenuntersuchungssystem nach einer der Ziffern 11 bis 18, wobei es sich bei der Größe des zweiten Datensatzes um einen kleinen Bruchteil der Größe des ersten Datensatzes handelt.
    21. 21. Computerprogrammprodukt für eine schnelle Datenuntersuchung von hochzuladenden Daten, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium mit darauf enthaltenen Programmanweisungen aufweist, wobei die Programmanweisungen durch ein(e) oder mehrere Datenverarbeitungssysteme oder Steuereinheiten ausführbar sind, um das eine oder die mehreren Datenverarbeitungssysteme zu veranlassen zum
      • - Hochladen eines ersten Datensatzes einer ersten Größe von einem lokalen System,
      • - Ermitteln, dass der erste Datensatz nicht beschädigt ist,
      • - parallel zum Hochladen auch ein Durchführen eines
        • - Auswählens einer vorher festgelegten Anzahl von Einträgen aus dem ersten Datensatz, wodurch ein zweiter Datensatz aufgebaut wird,
        • - Ermittelns [von statistischen Daten] und Metadaten über den ersten Datensatz, und
        • - Sichtbarmachens des zweiten Datensatzes, der statistischen Daten und der Metadaten.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 8805835 B2 [0008]
    • US 6308168 B1 [0009]

Claims (20)

  1. Auf einem Computer ausgeführtes Verfahren für eine schnelle Datenuntersuchung von hochzuladenden Daten, das Verfahren aufweisend Hochladen eines ersten Datensatzes einer ersten Größe von einem lokalen System auf einen Server; Ermitteln durch ein lokales System, dass der erste Datensatz nicht beschädigt ist; und parallel zum Hochladen auch ein Durchführen von Folgendem: Auswählen einer bestimmten Anzahl von Einträgen aus dem ersten Datensatz und Aufbauen eines zweiten Datensatzes mit den ausgewählten Einträgen, Ermitteln von statistischen Daten und Metadaten über den ersten Datensatz, und Sichtbarmachen des zweiten Datensatzes, der statistischen Daten und der Metadaten.
  2. Verfahren nach Anspruch 1, wobei die statistischen Daten mindestens ein Element aus der Gruppe aufweisen, die Folgendes aufweist: einen Mindestwert, einen Höchstwert, einen Medianwert, einen Mittelwert, einen Quartilswert, eine Häufigkeit eines Datenwertes und eine Menge fehlender Datenwerte.
  3. Verfahren nach Anspruch 1, wobei die Metadaten mindestens ein Element aus der Gruppe aufweisen, die Folgendes aufweist: eine Anzahl von Zeilen, eine Anzahl von Spalten und Arten von Spaltenfeldern.
  4. Verfahren nach Anspruch 1, darüber hinaus aufweisend: Senden der statistischen Daten und der Metadaten an den Server, wobei das Senden der statistischen Daten und der Metadaten an den Server parallel zum Hochladen des ersten Datensatzes auf den Server durchgeführt wird.
  5. Verfahren nach Anspruch 1, wobei das Ermitteln, dass der erste Datensatz nicht beschädigt ist, durchgeführt wird, bevor mit dem Hochladen begonnen wird.
  6. Verfahren nach Anspruch 1, wobei das lokale System über eine erste Konfiguration von Verarbeitungskernen und Speichern verfügt, die in der Lage sind, ein Modell des maschinellen Lernens unter Verwendung des ersten Datensatzes in einem ersten Zeitraum zu trainieren, und der Server über eine zweite Konfiguration von Verarbeitungskernen und Speichern verfügt, die in der Lage sind, das Modell des maschinellen Lernens unter Verwendung des ersten Datensatzes in einem zweiten Zeitraum zu trainieren, wobei der zweite Zeitraum kleiner als der erste Zeitraum ist.
  7. Verfahren nach Anspruch 1, darüber hinaus aufweisend ein Konfigurieren eines Datenmodellierungswerkzeugs unter Verwendung der statistischen Daten, der Metadaten oder des zweiten Datensatzes, wobei das Datenmodellierungswerkzeug parallel mit dem Hochladen des ersten Datensatzes konfiguriert wird.
  8. Verfahren nach Anspruch 7, darüber hinaus aufweisend ein Ausführen des konfigurierten Datenmodellierungswerkzeugs für den ersten Datensatz.
  9. Verfahren nach Anspruch 1, wobei der zweite Datensatz eine zweite Größe aufweist und die erste Größe des ersten Datensatzes größer als die zweite Größe ist.
  10. Verfahren nach Anspruch 1, wobei das Auswählen aus dem ersten Datensatz Folgendes aufweist: Auswählen von Daten aus dem ersten Datensatz an einem Anfang, aus einer Mitte, an einem Ende, nach dem Zufallsprinzip oder nach einem vorher festgelegten Algorithmus.
  11. Datenuntersuchungssystem für eine schnelle Datenuntersuchung von hochzuladenden Daten, das System aufweisend: ein lokales System mit einer Verarbeitungseinheit und einem Speicher; einen Netzwerkadapter, der zum Hochladen eines ersten Datensatzes einer ersten Größe von dem lokalen System zu einem Server-Computer-System konfiguriert ist; eine erste Ermittlungseinheit, die konfiguriert ist zum Ermitteln, dass der erste Datensatz nicht beschädigt ist; eine Auswahleinheit, die konfiguriert ist zum Auswählen einer bestimmten Anzahl von Einträgen aus dem ersten Datensatz und zum Aufbauen eines zweiten Datensatzes mit den ausgewählten Einträgen, wobei die Auswahleinheit in der Lage ist, die bestimmte Anzahl von Einträgen auszuwählen, und den zweiten Datensatzes parallel zum Hochladen des ersten Datensatzes auf das Server-Computersystem aufzubauen: eine zweite Ermittlungseinheit, die konfiguriert ist zum Ermitteln von statistischen Daten und Metadaten über den ersten Datensatz parallel zum Hochladen des ersten Datensatzes auf das Server-Computersystem, und eine Einheit zum Sichtbarmachen, die konfiguriert ist zum Sichtbarmachen des zweiten Datensatzes, der statistischen Daten und der Metadaten parallel zum Hochladen des ersten Datensatzes auf das Server-Computersystem.
  12. Datenuntersuchungssystem nach Anspruch 11, wobei die statistischen Daten mindestens ein Element aus der Gruppe aufweisen, die Folgendes aufweist: einen Mindestwert, einen Höchstwert, einen Medianwert, einen Mittelwert, Quartilswerte, Häufigkeiten von Datenwerten und eine Menge fehlender Datenwerte.
  13. Datenuntersuchungssystem nach Anspruch 11, wobei die Metadaten mindestens ein Element aus der Gruppe aufweisen, die Folgendes aufweist: eine Anzahl von Zeilen, eine Anzahl von Spalten und Arten von Spaltenfeldern.
  14. Datenuntersuchungssystem nach Anspruch 11, wobei der Netzwerkadapter konfiguriert ist zum Hochladen der statistischen Daten und der Metadaten auf das Server-Computersystem parallel zum Hochladen des ersten Datensatzes auf das Server-Computersystem.
  15. Datenuntersuchungssystem nach Anspruch 11, wobei die erste Datenverarbeitungseinheit, die konfiguriert ist zum Ermitteln, dass der erste Datensatz nicht beschädigt ist, ermittelt, dass ermittelt, dass der erste Datensatz nicht beschädigt ist, bevor mit dem Hochladen des ersten Datensatzes auf das Server-Computersystem begonnen wird.
  16. Datenuntersuchungssystem nach Anspruch 11, wobei das lokale System über eine erste Konfiguration von Verarbeitungskernen und Speichern verfügt, die in der Lage sind, ein Modell des maschinellen Lernens unter Verwendung des ersten Datensatzes in einem ersten Zeitraum zu trainieren, und der Server über eine zweite Konfiguration von Verarbeitungskernen und Speichern verfügt, die in der Lage sind, das Modell des maschinellen Lernens unter Verwendung des ersten Datensatzes in einem zweiten Zeitraum zu trainieren, wobei der zweite Zeitraum kleiner als der erste Zeitraum ist.
  17. . Datenuntersuchungssystem nach Anspruch 11, darüber hinaus aufweisend ein Konfigurieren eines Datenmodellierungswerkzeugs unter Verwendung der statistischen Daten, der Metadaten oder des zweiten Datensatzes, wobei das Datenmodellierungswerkzeug parallel mit dem Hochladen des ersten Datensatzes auf das Server-Computersystem konfiguriert wird.
  18. Datenuntersuchungssystem nach Anspruch 17, darüber hinaus aufweisend ein Ausführen des konfigurierten Datenmodellierungswerkzeugs für den ersten Datensatz.
  19. Datenuntersuchungssystem nach Anspruch 11, wobei der zweite Datensatz eine zweite Größe aufweist und die erste Größe des ersten Datensatzes größer als die zweite Größe ist.
  20. Computerprogrammprodukt für eine schnelle Datenuntersuchung von hochzuladenden Daten, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium mit darauf enthaltenen Programmanweisungen aufweist, wobei die Programmanweisungen durch ein(e) oder mehrere Datenverarbeitungssysteme oder Steuereinheiten ausführbar sind, um das eine oder die mehreren Datenverarbeitungssysteme zu veranlassen zum: Hochladen eines ersten Datensatzes einer ersten Größe von einem lokalen System auf einen Server; Ermitteln durch das lokale System, dass der erste Datensatz nicht beschädigt ist; und Durchführen von Arbeitsschritten parallel zum Hochladen, die Folgendes umfassen: Auswählen einer bestimmten Anzahl von Einträgen aus dem ersten Datensatz und Aufbauen eines zweiten Datensatzes mit den ausgewählten Einträgen, Ermitteln von statistischen Daten und Metadaten über den ersten Datensatz, und Sichtbarmachen des zweiten Datensatzes, der statistischen Daten und der Metadaten.
DE112021002844.8T 2020-07-01 2021-06-14 Schnelle datenuntersuchung Ceased DE112021002844T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/918,276 US11461292B2 (en) 2020-07-01 2020-07-01 Quick data exploration
US16/918,276 2020-07-01
PCT/IB2021/055202 WO2022003462A1 (en) 2020-07-01 2021-06-14 Quick data exploration

Publications (1)

Publication Number Publication Date
DE112021002844T5 true DE112021002844T5 (de) 2023-03-23

Family

ID=79166970

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021002844.8T Ceased DE112021002844T5 (de) 2020-07-01 2021-06-14 Schnelle datenuntersuchung

Country Status (6)

Country Link
US (1) US11461292B2 (de)
JP (1) JP2023530894A (de)
CN (1) CN115769197A (de)
DE (1) DE112021002844T5 (de)
GB (1) GB2611720A (de)
WO (1) WO2022003462A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6308168B1 (en) 1999-02-09 2001-10-23 Knowledge Discovery One, Inc. Metadata-driven data presentation module for database system
US8805835B2 (en) 2012-12-20 2014-08-12 Clipcard Inc. Systems and methods for integrated management of large data sets

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201115418D0 (en) * 2011-09-06 2011-10-19 Shl Group Ltd Analytics
US10860557B2 (en) 2013-03-13 2020-12-08 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing change value indication and historical value comparison
US10976907B2 (en) 2014-09-26 2021-04-13 Oracle International Corporation Declarative external data source importation, exportation, and metadata reflection utilizing http and HDFS protocols
US20170185898A1 (en) 2015-12-26 2017-06-29 Arnab Paul Technologies for distributed machine learning
US10366098B2 (en) * 2016-11-17 2019-07-30 Bank Of America Corporation Data upload—process integration tool
US10769549B2 (en) 2016-11-21 2020-09-08 Google Llc Management and evaluation of machine-learned models based on locally logged data
EP3625677A4 (de) 2017-05-14 2021-04-21 Digital Reasoning Systems, Inc. Systeme und verfahren zur schnellen erstellung, verwaltung und gemeinsamen nutzung von lernmodellen
WO2020092300A1 (en) * 2018-10-29 2020-05-07 Schlumberger Technology Corporation Uploading and validation of combined oilfield data
WO2020176304A1 (en) * 2019-02-28 2020-09-03 Skidmore Owings & Merrill Llp Machine learning tool for structures
CN110413765B (zh) 2019-06-10 2022-12-30 中云开源数据技术(上海)有限公司 一种海量数据集分析和展示的交互式系统及其方法
US11138241B2 (en) * 2019-07-19 2021-10-05 Walmart Apollo, Llc Metric definition and visualization
US11443144B2 (en) * 2020-03-17 2022-09-13 Microsoft Technology Licensing, Llc Storage and automated metadata extraction using machine teaching

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6308168B1 (en) 1999-02-09 2001-10-23 Knowledge Discovery One, Inc. Metadata-driven data presentation module for database system
US8805835B2 (en) 2012-12-20 2014-08-12 Clipcard Inc. Systems and methods for integrated management of large data sets

Also Published As

Publication number Publication date
GB202301128D0 (en) 2023-03-15
US11461292B2 (en) 2022-10-04
WO2022003462A1 (en) 2022-01-06
CN115769197A (zh) 2023-03-07
JP2023530894A (ja) 2023-07-20
GB2611720A (en) 2023-04-12
US20220004527A1 (en) 2022-01-06

Similar Documents

Publication Publication Date Title
DE112016003120B4 (de) Umleiten einer Kopie beim Schreiben
DE112010003886B4 (de) Bereitstellung von Diensten unter Verwendung eines Cloud-Dienste-Katalogs
DE112018005227T5 (de) Merkmalsextraktion mithilfe von multi-task-lernen
DE112020005095T5 (de) Automatische trennung und extraktion von tabellendaten unter verwendung von maschinellem lernen
DE102016119298B4 (de) Zeitpunktkopieren mit klonen von ketten
DE112019002235T5 (de) Einbinden eines wörterbuch-bearbeitungssystems in ein text mining
DE112012002941T5 (de) Anwendungsressourcenverwalter über eine Cloud
DE112021002572T5 (de) Multikriterielles optimieren von anwendungen
DE112017005588T5 (de) Speichern und abrufen von eingeschränkten datensätzen in und aus einem cloud-netzwerk mit nichteingeschränkten datensätzen
DE112021002820T5 (de) Dynamische automatisierung einer auswahl von pipeline-artefakten
DE112020005323T5 (de) Elastische ausführung von machine-learning-arbeitslasten unter verwendung einer anwendungsbasierten profilierung
DE112020000545T5 (de) Deep-forest-modell-entwicklung und -training
DE102021124264A1 (de) Erzeugung von synthetischen Systemfehlern
DE102013206354A1 (de) Adaptive Bewertung der Objektrelevanz auf der Grundlage dynamischer Benutzereigenschaften
DE112021000338T5 (de) Auslagern der statistikerfassung
DE112021004380T5 (de) Maschinelles merkmalslernen zur produktformulierung
DE112020005732T5 (de) Erzeugen von trainingsdaten zur objekterkennung
DE112018004138T5 (de) Asynchrone aktualisierung von metadatenspuren in reaktion auf einen mittels einer e/a-operation über eine busschnittstelle erzeugten cachetreffer
DE102014116744A1 (de) Management von Informationstechnologieressourcen
DE112021005927T5 (de) Patchen von arbeitsabläufen
DE112021001974T5 (de) Proaktives durchführen von aufgaben auf der grundlage eines schätzens vonhardwarerekonfigurationszeiten
DE112020003825T5 (de) Entsprechung zwischen externen Operationen und Containern sowie Mutationsereignissen
DE112019001493T5 (de) Ermitteln der abfrageerkennungsresilienz in virtuellen agentensystemen
DE112019001822T5 (de) Änderung und darstellung von audio- und video-multimedia
DE112021002844T5 (de) Schnelle datenuntersuchung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final