DE202018006901U1 - Techniken zur dynamischen Definition eines Datensatzformats - Google Patents

Techniken zur dynamischen Definition eines Datensatzformats Download PDF

Info

Publication number
DE202018006901U1
DE202018006901U1 DE202018006901.9U DE202018006901U DE202018006901U1 DE 202018006901 U1 DE202018006901 U1 DE 202018006901U1 DE 202018006901 U DE202018006901 U DE 202018006901U DE 202018006901 U1 DE202018006901 U1 DE 202018006901U1
Authority
DE
Germany
Prior art keywords
user interface
record
data
characters
format
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.)
Active
Application number
DE202018006901.9U
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ab Initio Technology LLC
Original Assignee
Ab Initio Technology LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ab Initio Technology LLC filed Critical Ab Initio Technology LLC
Publication of DE202018006901U1 publication Critical patent/DE202018006901U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • 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/258Data format conversion from or to a database
    • 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/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Verwendung mindestens einer Rechenvorrichtung zum Bestimmen eines Datensatzformats für einen Datensatz (101, 201), wobei der Datensatz (101, 201) eine Vielzahl von Bytes umfasst, und zum Durchführen der folgenden Operationen:Parsen des Datensatzes (101, 201) unter Verwendung eines ersten Datensatzformats (104, 210), um eine Sequenz von Zeichen zu bestimmen, die durch die Vielzahl von Bytes dargestellt werden, und Bestimmen von Werten eines oder mehrerer Datenfelder gemäß dem ersten Datensatzformat (104, 210);Anzeigen mindestens einiger der Werte des einen oder der mehreren Datenfelder gemäß dem ersten Datensatzformat (104, 210) über eine Benutzerschnittstelle (300, 400);Anzeigen, über die Benutzerschnittstelle (300, 400), einer Vielzahl von Zeichen aus der Sequenz von Zeichen als eine Sequenz von Benutzerschnittstellenelementen (310, 320, 330, 410, 420, 430, 440), wobei die Sequenz von Zeichen durch das Parsen des Datensatzes bestimmt wird, und wobei jedes der Vielzahl von Zeichen als ein separates Benutzerschnittstellenelement (310, 320, 330, 410, 420, 430, 440) in einer Reihenfolge dargestellt wird, die mit der Reihenfolge übereinstimmt, in der die Zeichen in dem Datensatz (101, 201) erscheinen;Empfangen einer Benutzereingabe, die ein oder mehrere Benutzerschnittstellenelemente der Sequenz von Benutzerschnittstellenelementen (310, 320, 330, 410, 420, 430, 440) auswählt oder abwählt, wobei jedes der ausgewählten Benutzerschnittstellenelemente einem Zeichen der Sequenz von Zeichen zugeordnet ist;Erzeugen eines zweiten Datensatzformats (220) basierend auf der empfangenen Benutzereingabe, wobei das zweite Datensatzformat (220) erzeugt wird, um für jedes der Zeichen, die den ausgewählten Benutzerschnittstellenelementen (310, 320, 330, 410, 420, 430, 440) zugeordnet sind, ein Datenfeld einzuschließen, das durch das Zeichen begrenzt ist;Parsen des Datensatzes (101, 201) unter Verwendung des zweiten Datensatzformats (220); undAnzeigen von Ergebnissen des Parsens des Datensatzes (101, 201) unter Verwendung des zweiten Datensatzformats (220) über die Benutzerschnittstelle (300, 400).

Description

  • HINTERGRUND
  • Ein ausführbares Programm kann konfiguriert sein, um Daten aus einem oder mehreren Datensätzen während seiner Ausführung zu lesen. Zum Beispiel können die Datensätze Daten beinhalten, die auf einem Medium gespeichert sind, das durch einen oder mehrere Prozesse eines ausführbaren Programms abgerufen wird. Diese Prozesse können die Daten modifizieren und in einen oder mehrere Ausgabedatenspeicherorte schreiben. In einigen Fällen kann es wünschenswert sein, Daten aus einem Datensatz als mit bestimmten Datenfeldern (auch einfach als „Felder“ bezeichnet) assoziiert zu interpretieren. Der Prozess des Interpretierens von Daten und des Bestimmens von Werten von Datenfeldern für einen oder mehrere Datensätze wird im Allgemeinen als „Parsen“ der Daten bezeichnet. Ein bestimmtes Parsingschema kann durch das ausführbare Programm, durch die Daten selbst oder durch eine Kombination des Programms und der Daten definiert sein. Ein Parsingschema, das typischerweise definiert, wie Daten für eine Anzahl von Datenfeldern für eine Anzahl von Datensätzen zu interpretieren sind, wird manchmal als ein „Satzformat“ bezeichnet.
  • In einigen Fällen könnte ein Datensatz durch Annehmen, dass Datenfelder in dem Satz von fester Länge sind, geparst werden. Zum Beispiel kann ein Datumswert immer durch acht Ziffern ausgedrückt werden und daher könnte ein „Datums“-Datenfeld durch Auswählen von acht Zeichen identifiziert werden. In anderen Fällen könnte ein Datenfeld eine variable Länge aufweisen, und die Daten können so konfiguriert sein, dass ein Computerprozess identifizieren kann, wann das Feld beginnt und endet, indem er die Daten betrachtet.
  • Daten können für Felder variabler Länge entweder über Begrenzer oder durch Längenvorfixierung der Daten konfiguriert werden. Bei dem Begrenzeransatz ist ein Datenfeld an einem oder beiden Enden durch einen vorbestimmten Bytewert (oder eine Byte-Sequenz) begrenzt, der bzw. die eine Identifizierung der Begrenzungen des Datenfelds ermöglicht. Dieser Ansatz erfordert, dass die Datenfelder das Zeichen und/oder den Bytewert (oder die Sequenz) nicht enthalten - was als das „Begrenzungszeichen“ (oder „Begrenzer“) bezeichnet wird - ansonsten würde der Computerprozess fälschlicherweise einen Punkt innerhalb des Datenfelds als den Anfang oder das Ende des Datenfelds identifizieren. Der Längenvorfixierungsansatz stellt ein oder mehrere Bytes vor dem Datenfeldwert bereit, die dem Computerprogramm die Länge des Datenfelds angeben, das gelesen werden soll, nachdem die Längenvorfixierung geendet hat.
  • ZUSAMMENFASSUNG
  • Gemäß einigen Aspekten wird eine Verwendung zum Bestimmen eines Datensatzformats für einen Datensatz bereitgestellt, wobei der Datensatz eine Vielzahl von Bytes umfasst, wobei die Verwendung umfasst: Parsen des Datensatzes mit mindestens einer Rechenvorrichtung unter Verwendung eines ersten Datensatzformats, um eine Sequenz von Zeichen zu bestimmen, die durch die Vielzahl von Bytes dargestellt werden, und Bestimmen von Werten eines oder mehrerer Datenfelder gemäß dem ersten Datensatzformat, Anzeigen mindestens einiger der Werte des einen oder der mehreren Datenfelder gemäß dem ersten Datensatzformat über eine Benutzerschnittstelle, Anzeigen einer Vielzahl der Sequenz von Zeichen über die Benutzerschnittstelle als eine Sequenz von Benutzerschnittstellenelementen, wobei jedes der Vielzahl von Zeichen als ein separates Benutzerschnittstellenelement dargestellt wird, Empfangen einer Benutzereingabe, die ein Benutzerschnittstellenelement der Sequenz von Benutzerschnittstellenelementen auswählt, wobei das ausgewählte Benutzerschnittstellenelement einem Zeichen der Sequenz von Zeichen zugeordnet ist, und Erzeugen eines zweiten Datensatzformats basierend auf der empfangenen Eingabe, wobei das zweite Datensatzformat erzeugt wird, um ein Datenfeld einzuschließen, das durch das Zeichen begrenzt ist, das dem ausgewählten Benutzerschnittstellenelement zugeordnet ist.
  • Gemäß einigen Aspekten wird ein Computersystem bereitgestellt, das mindestens einen Prozessor, mindestens eine Benutzerschnittstellenvorrichtung und mindestens ein computerlesbares Medium umfasst, das prozessorausführbare Anweisungen umfasst, die, wenn sie ausgeführt werden, den mindestens einen Prozessor veranlassen, einen Datensatz, der eine Vielzahl von Bytes umfasst, unter Verwendung eines ersten Datensatzformats zu parsen, um eine Sequenz von Zeichen zu bestimmen, die durch die Vielzahl von Bytes dargestellt werden, und Bestimmen von Werten eines oder mehrerer Datenfelder gemäß dem ersten Datensatzformat, Anzeigen über die mindestens eine Benutzerschnittstellenvorrichtung mindestens einiger der Werte des einen oder der mehreren Datenfelder des ersten Datensatzformats über die mindestens eine Benutzerschnittstelle, Anzeigen über die mindestens eine Benutzerschnittstellenvorrichtung einer Vielzahl der Sequenz von Zeichen über die mindestens eine Benutzerschnittstelle als eine Sequenz von Benutzerschnittstellenelementen, wobei jedes der Vielzahl von Zeichen als ein separates Benutzerschnittstellenelement dargestellt wird, Empfangen über die mindestens eine Benutzerschnittstellenvorrichtung einer Benutzereingabe, die ein Benutzerschnittstellenelement der Sequenz von Benutzerschnittstellenelementen auswählt, wobei das ausgewählte Benutzerschnittstellenelement einem Zeichen der Sequenz von Zeichen zugeordnet ist, und Erzeugen eines zweiten Datensatzformats basierend auf der empfangenen Eingabe, wobei das zweite Datensatzformat erzeugt wird, um ein Datenfeld einzuschließen, das durch das Zeichen begrenzt ist, das dem ausgewählten Benutzerschnittstellenelement zugeordnet ist.
  • Gemäß einigen Aspekten wird ein Computersystem bereitgestellt, das mindestens einen Prozessor, Mittel zum Parsen eines Datensatzes, der eine Vielzahl von Bytes umfasst, unter Verwendung eines ersten Datensatzformats, um eine Sequenz von Zeichen zu bestimmen, die durch die Vielzahl von Bytes dargestellt werden, und Bestimmen von Werten eines oder mehrerer Datenfelder gemäß dem ersten Datensatzformat, Mittel zum Anzeigen mindestens einiger der Werte des einen oder der mehreren Datenfelder des ersten Datensatzformats über die mindestens eine Benutzerschnittstelle, Mittel zum Anzeigen eines Abschnitts der Sequenz von Zeichen über die mindestens eine Benutzerschnittstelle als eine Sequenz von Benutzerschnittstellenelementen, wobei jedes Zeichen des Abschnitts der Sequenz von Zeichen der Reihe nach als ein separates Benutzerschnittstellenelement dargestellt wird, Mittel zum Empfangen einer Benutzereingabe, die einem ersten Benutzerschnittstellenelement der Sequenz von Benutzerschnittstellenelementen zugeordnet ist, wobei das erste Benutzerschnittstellenelement einem ersten Zeichen der Sequenz von Zeichen zugeordnet ist, und Mittel zum Erzeugen eines zweiten Datensatzformats basierend auf der empfangenen Eingabe umfasst, wobei das zweite Datensatzformat erzeugt wird, um ein Datenfeld einzuschließen, das durch das erste Zeichen begrenzt ist.
  • Eine Verwendung zum Bestimmen eines Datensatzformats für einen Datensatz, wobei der Datensatz eine Vielzahl von Bytes umfasst, wobei die Verwendung mit mindestens einer Rechenvorrichtung iteratives Empfangen einer Benutzereingabe und Erzeugen von Datensatzformaten basierend auf der Benutzereingabe umfasst, wobei der iterative Prozess fortgesetzt wird, bis eine Benutzereingabe empfangen wird, die angibt, dass ein zuletzt erzeugtes Datensatzformat ausgegeben werden soll, wobei der iterative Prozess Wiederholen von Schritten des Parsens des Datensatzes unter Verwendung eines anfänglichen Datensatzformats, um eine Sequenz von Zeichen zu bestimmen, die durch die Vielzahl von Bytes dargestellt werden, und Bestimmen von Werten eines oder mehrerer Datenfelder gemäß dem anfänglichen Datensatzformat, Anzeigen mindestens einiger der Werte des einen oder der mehreren Datenfelder gemäß dem anfänglichen Datensatzformat über eine Benutzerschnittstelle, Anzeigen einer Vielzahl der Sequenz von Zeichen über die Benutzerschnittstelle als eine Sequenz von Benutzerschnittstellenelementen, wobei jedes der Vielzahl von Zeichen als ein separates Benutzerschnittstellenelement dargestellt wird, Empfangen einer Benutzereingabe, die ein Benutzerschnittstellenelement der Sequenz von Benutzerschnittstellenelementen auswählt, wobei das ausgewählte Benutzerschnittstellenelement einem Zeichen der Sequenz von Zeichen zugeordnet ist, und Erzeugen eines nachfolgenden Datensatzformats basierend auf der empfangenen Eingabe umfasst, wobei das nachfolgende Datensatzformat erzeugt wird, um ein Datenfeld einzuschließen, das durch das Zeichen begrenzt ist, das dem ausgewählten Benutzerschnittstellenelement zugeordnet ist.
  • Das Vorstehende ist eine nicht einschränkende Zusammenfassung der Erfindung, die durch die beigefügten Ansprüche definiert ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Verschiedene Aspekte und Ausführungsformen werden unter Bezugnahme auf die folgenden Figuren beschrieben. Es versteht sich, dass die Figuren nicht notwendigerweise maßstabsgetreu sind. In den Zeichnungen ist jede identische oder nahezu identische Komponente, die in verschiedenen Figuren dargestellt ist, durch eine gleiche Zahl dargestellt. Aus Gründen der Klarheit kann nicht jede Komponente in jeder Zeichnung beschriftet sein.
    • 1 stellt einen Prozess dar, in dem ein System einen Datensatz basierend auf einem definierten Datensatzformat gemäß einigen Ausführungsformen analysiert;
    • 2 stellt einen Prozess des Parsens eines Datensatzes unter Verwendung von zwei verschiedenen Datensatzformaten gemäß einigen Ausführungsformen dar;
    • 3A-C stellen eine Benutzerschnittstelle dar, mit der ein Benutzer Begrenzungszeichen eines Datensatzformats gemäß einigen Ausführungsformen identifizieren kann;
    • 4 stellt eine Benutzerschnittstelle dar, mit der ein Benutzer Begrenzungszeichen eines Datensatzformats gemäß einigen Ausführungsformen identifizieren und ein erzeugtes Datensatzformat ansehen kann;
    • 5 ist ein Flussdiagramm eines Verfahrens zum Erzeugen eines Datensatzformats basierend auf einer Benutzerauswahl eines Begrenzungszeichens über eine Benutzerschnittstelle gemäß einigen Ausführungsformen;
    • 6 ist ein Flussdiagramm eines Verfahrens zum Erzeugen eines Datensatzformats, in dem Heuristiken angewendet werden, um ein anfängliches Datensatzformat gemäß einigen Ausführungsformen zu erzeugen; und
    • 7 stellt ein Beispiel einer Rechensystemumgebung dar, in der Aspekte der Erfindung implementiert werden können.
  • DETAILLIERTE BESCHREIBUNG
  • Die Erfinder haben erkannt und gewürdigt, dass Fehler, die von einem Datenverarbeitungssystem gemacht werden, effizient reduziert werden können, indem das Datenverarbeitungssystem mit einem Werkzeug ausgestattet wird, um einen Benutzer bei der Definition eines Datensatzformats für einen Datensatz zu unterstützen. Das Werkzeug kann Inhalte des Datensatzes basierend auf Echtzeit-Feedback, das vom Benutzer bereitgestellt wird, dynamisch analysieren. Das Datenverarbeitungssystem kann das definierte Datensatzformat anwenden, um die Inhalte des Datensatzes mit weniger Fehlern automatisch zu parsen.
  • Die Erfinder haben erkannt und gewürdigt, dass in der Praxis ein Benutzer, der mit dem Schreiben eines Programms beauftragt ist, das Inhalte eines Datensatzes parst, nicht notwendigerweise das geeignete Datensatzformat kennt, mit dem die Inhalte wie vom Ersteller des Datensatzes beabsichtigt zu interpretieren sind. Da Datensätze, ob sie Felder mit fester Länge und/oder Felder mit variabler Länge beinhalten, häufig darauf vorbereitet sind, als eine Sammlung von Datenfeldern in einer bestimmten Weise interpretiert zu werden, muss ein Programm, das einen solchen Datensatz parst, unter Berücksichtigung der beabsichtigten Interpretation geschrieben werden, bevor der Datensatz durch das Programm geeignet genutzt werden kann. Eine solche Interpretation kann im Allgemeinen nicht einfach durch Betrachten der Inhalte bestimmt werden.
  • Die Erfinder haben erkannt und gewürdigt, dass für Datensätze, die begrenzte Datenfelder enthalten, die Begrenzungszeichen in dem Datensatz vorhanden sein sollten, und haben Techniken zum Erzeugen einer Benutzeroberfläche entwickelt, die es einem Benutzer ermöglicht, Begrenzungszeichen basierend auf dem Inhalt des Datensatzes zu identifizieren. Einige herkömmliche Schnittstellen können es einem Benutzer ermöglichen, ein Begrenzungszeichen aus einer vordefinierten Liste von üblicherweise verwendeten Begrenzungszeichen (z. B. ein Komma) auszuwählen und Felder aus den Inhalten des Datensatzes als jeweils durch dieses Zeichen begrenzt zu interpretieren. Die Erfinder haben jedoch erkannt, dass Datensätze in der Praxis häufig konstruiert sind, um unter Verwendung einer Anzahl von verschiedenen Datenfeldbegrenzungszeichen und/oder unter Verwendung von nicht druckbaren Bytewerten oder Zeichen, die üblicherweise nicht als Begrenzungszeichen verwendet werden, interpretiert zu werden. Ohne das geeignete Datensatzformat zu kennen, um einen solchen Datensatz zu parsen, kann es für einen Benutzer sehr schwierig sein, ein Datenverarbeitungssystem zu programmieren, um die Inhalte des Datensatzes richtig zu interpretieren. Durch Bereitstellen eines Werkzeugs mit einer Schnittstelle, die es einem Benutzer ermöglicht, ein mögliches Begrenzungszeichen schnell auszuwählen und die resultierende Interpretation der Inhalte des Datensatzes basierend auf dieser Auswahl zu sehen, kann der Benutzer ein geeignetes Datensatzformat effizient erzeugen.
  • Gemäß einigen Ausführungsformen kann das Werkzeug eine Benutzeroberfläche erzeugen, die eine Anzahl von Benutzeroberflächenelementen beinhaltet, die jeweils ein Zeichen aus einem Datensatz darstellen und die in der Reihenfolge dargestellt werden, in der sie in dem Datensatz erscheinen. Ein Benutzer kann eine Eingabe in das Werkzeug bereitstellen, indem er mit jedem der Benutzeroberflächenelemente interagiert, um zu vermitteln, ob das durch das Benutzeroberflächenelement dargestellte Zeichen als ein Begrenzungszeichen eines Datenfelds behandelt werden sollte oder nicht. Nach jeder solchen Interaktion kann das Werkzeug automatisch ein Datensatzformat erzeugen, das ein Datenfeld beinhaltet, das als durch das identifizierte Begrenzungszeichen begrenzt definiert ist. Einige oder alle der Inhalte des Datensatzes können gemäß dem Datensatzformat geparst und auf der Benutzeroberfläche dargestellt werden. Die resultierenden Effekte des Parsens des Datensatzes unter Verwendung dieses neu erzeugten Datensatzes können dann durch visuelle Inspektion durch einen Benutzer über die Benutzeroberfläche und/oder durch eine automatisierte Analyse durch das Werkzeug untersucht werden. Somit kann schnell bestimmt werden, ob das ausgewählte Zeichen ein Begrenzungszeichen ist oder nicht. Da die Zeichen in der gleichen Reihenfolge angezeigt werden, wie sie im Datensatz erscheinen, kann ein Benutzer leicht identifizieren, welche Zeichen Begrenzungszeichenkandidaten sind, und durch Interagieren mit dem entsprechenden Benutzeroberflächenelement des Werkzeugs schnell neue Datensatzformate erzeugen, bis das zum Erzeugen des Datensatzes verwendete Datensatzformat bestimmt ist.
  • Gemäß einigen Ausführungsformen kann die Benutzeroberfläche des Werkzeugs eine Vorschau der Datensatzinhalte beinhalten, wie sie mit dem durch die ausgewählten Begrenzungszeichen definierten Datensatzformat geparst werden. Diese Vorschau kann automatisch regeneriert werden, wenn eines der angezeigten Begrenzungszeichen ausgewählt oder nicht ausgewählt ist, oder kann als Reaktion auf eine Interaktion mit einem anderen Benutzeroberflächenelement als den angezeigten Begrenzungszeichen (z. B. einer „Refresh“-Taste) regeneriert werden. In jedem Fall kann ein Benutzer, der Begrenzungszeichen aus der angezeigten Sequenz von Zeichen des Datensatzes auswählt oder abwählt, schnell die Effekte beim Parsen von Inhalten des Datensatzes ermitteln und bestimmen, ob ein Zeichen unangemessen als Begrenzungszeichen ausgewählt wurde oder ob es ein anderes nicht ausgewähltes Zeichen gibt, das als Begrenzungszeichen ausgewählt werden sollte. Beispiele für solche Prozesse werden nachfolgend ausführlicher erörtert.
  • Wie hierin verwendet, kann ein „Zeichen“ eines Datensatzes ein druckbares oder ein nicht druckbares Zeichen sein und kann in dem Datensatz als eine beliebige Anzahl von Bits oder Bytes dargestellt werden. Zum Beispiel können ASCII-Zeichen durch ein einzelnes Byte dargestellt werden und beinhalten druckbare Zeichen (z. B. Buchstaben, Zahlen usw.) sowie nicht druckbare Zeichen (z. B. den Bytewert von null). Alternativ können einige Datensätze unter Verwendung von Zeichensätzen gelesen werden, die mehrere Bytes interpretieren, um ein Zeichen darzustellen. Zum Beispiel kann ein UTF-8-Zeichen durch ein, zwei, drei oder vier Bytes dargestellt werden und könnte ein druckbares Zeichen oder ein nicht druckbares Zeichen sein. Datensätze können unter Verwendung eines beliebigen geeigneten Zeichensatzes interpretiert werden, da die hierin beschriebenen Techniken nicht darauf beschränkt sind. Die Benutzerschnittstelle kann nicht druckbare Zeichen auf beliebige geeignete Weise darstellen, einschließlich durch Anzeigen des Bytewerts des Zeichens (z. B. „\x09“ für das Registerkartenzeichen) oder durch Anzeigen einer Kurzhanddarstellung des Zeichens (z. B. „TAB“ oder „\t“ für das Registerkartenzeichen).
  • Gemäß einigen Ausführungsformen kann ein anfänglicher Auswahlzustand jedes der angezeigten Benutzerelemente, die Zeichen des Datensatzes darstellen, bei einer anfänglichen Erzeugung der Benutzeroberfläche vorbestimmt werden. Das heißt, ob sich jedes der Benutzerelemente anfänglich in einem ausgewählten Zustand oder in einem nicht ausgewählten Zustand befindet, kann vorbestimmt werden. In einigen Ausführungsformen können Heuristiken auf den Datensatz angewendet werden, um eine anfängliche qualitative Schätzung dessen vorzunehmen, welche Zeichen Begrenzungszeichen sind, und die entsprechenden Benutzerschnittstellenelemente der Benutzerschnittstelle können erzeugt werden, um anfänglich ausgewählt zu werden, während andere Zeichen erzeugt werden können, um anfänglich nicht ausgewählt zu werden. Dieser Ansatz kann daher einem Benutzer einen Startpunkt beim Auswählen der Begrenzungszeichen bereitstellen, was die Zeit verringern kann, die der Benutzer benötigt, um das geeignete Datensatzformat zu bestimmen.
  • Im Folgenden werden detailliertere Beschreibungen verschiedener Konzepte und Ausführungsformen von Techniken zum dynamischen Definieren eines Datensatzformats beschrieben. Es versteht sich, dass verschiedene hier beschriebene Aspekte auf eine beliebige von zahlreichen Weisen implementiert werden können. Beispiele für spezifische Implementierungen werden hier nur zu Veranschaulichungszwecken bereitgestellt. Zusätzlich können die verschiedenen in den nachstehenden Ausführungsformen beschriebenen Aspekte allein oder in einer beliebigen Kombination verwendet werden und sind nicht auf die hier explizit beschriebenen Kombinationen beschränkt.
  • 1 stellt einen Prozess dar, in dem ein System einen Datensatz basierend auf einem definierten Datensatzformat gemäß einigen Ausführungsformen analysiert. Der Prozess 100 wird als ein veranschaulichendes Beispiel des Parsens eines Datensatzes unter Verwendung eines Datensatzformats zum Zwecke der Erläuterung bereitgestellt. Im Beispiel des Prozesses 100 erzeugt ein Benutzer 151 an einem Ort A einen Datensatz 101, der unter Verwendung eines „kanonischen“ Datensatzformats geparst werden soll. Ein Benutzer 152 am Ort B empfängt die Daten 102, die für den Benutzer 152 nicht ohne Weiteres verständlich sind. Der Benutzer 152 im Beispiel von 1 betreibt eine durch das System 103 ausgeführte Parsing-Engine, die ein Datensatzformat 104 als Eingabe liest und eine Datenstruktur 105 erzeugt, in der Teile des Datensatzes bestimmten Datensätzen und Datenfeldwerten innerhalb dieser Datensätze zugeordnet sind. Während das Datensatzformat 104 im Beispiel von 1 aus Gründen der Klarheit der Erläuterung vergleichsweise einfach ist, versteht es sich, dass im Allgemeinen ein Datensatzformat, das erforderlich ist, um einen Datensatz wie beabsichtigt richtig zu parsen, viel komplexer sein kann und Dutzende oder sogar Hunderte von Feldern enthalten kann.
  • Im Beispiel von 1 wurde der Datensatz 101 konfiguriert, um auf eine bestimmte Weise interpretiert zu werden - nämlich dass jeder Datensatz durch eine neue Zeile getrennt ist und innerhalb jedes Datensatzes zwei Datenfelder vorhanden sind, die durch ein Komma getrennt sind. Diese Art der Interpretation kann durch ein Datensatzformat definiert werden, das hier als das „kanonische“ Datensatzformat bezeichnet wird. Im Beispiel von 1 bestimmt der Benutzer 152 das kanonische Datensatzformat 104, das „Feld 1“ als ein durch ein Komma begrenztes Feld und „Feld 2“ als ein durch eine neue Zeile begrenztes Feld definiert, oder hat auf andere Weise Zugriff auf dieses und parst dadurch den Datensatz basierend auf diesem Datensatzformat angemessen. Das in 1 dargestellte Datensatzformat kann in der Praxis auf beliebige geeignete Weise programmatisch dargestellt werden.
  • Beim Parsen des Datensatzes 101 unter Verwendung des Datensatzformats 104 kann eine computerimplementierte Parsing-Engine auf die folgende Weise arbeiten. Zunächst kann die Parsing-Engine einen Wert von „Feld 1“ in einem ersten Datensatz bestimmen, indem sie durch die Zeichen des Datensatzes nach einem „,“-Zeichen sucht. Zum Beispiel kann das System Bytes in einer Sequenz aus einem Datensatz, wie etwa einer flachen Datei oder Datenbanktabelle, lesen, bis ein Bytewert des „,“-Zeichens identifiziert wird. Sobald dieses Zeichen in dem Datensatz gefunden wird (zwischen den „2“- und „D“-Zeichen), können die vorhergehenden Zeichen als der Wert von „Feld 1“ für den ersten Datensatz identifiziert werden, und die Parsing-Engine kann dann einen Wert von „Feld 2“ bestimmen, indem sie durch die nachfolgenden Zeichen des Datensatzes nach einem Zeichen für eine neue Zeile sucht (manchmal durch die Kurzschrift „\n“ dargestellt). Das System kann eine Datenstruktur für die Datensätze (z. B. im Computerspeicher) erzeugen und den Wert jedes Felds, wie er bestimmt wird, in diese Datenstruktur einfügen. Sobald das „\n“-Zeichen gefunden wird (zwischen den „s“ und „9“), werden die vorhergehenden Zeichen als der Wert von „Feld 2“ für den ersten Datensatz identifiziert, und die Parsing-Engine kann dann versuchen, einen Wert von „Feld 1“ in einem zweiten Datensatz zu bestimmen. Dieser Prozess kann fortgesetzt werden, bis alle Zeichen in dem Datensatz gelesen wurden und die Datenstruktur des Datensatzes des Systems mit Daten aus dem Datensatz gefüllt wurde.
  • Es ist wichtig, wenn ein Datensatz unter Verwendung von Begrenzungszeichen geparst wird, dass keine fehlenden Begrenzungszeichen in den Daten vorhanden sind, andernfalls würde die Parsing-Engine entweder nie das Ende eines Datenfelds finden oder würde einen Datenfeldwert erzeugen, der Werte enthalten würde, die vom Ersteller des Datensatzes beabsichtigt waren, um stattdessen in anderen Datenfeldern des Datensatzes platziert zu werden. Gleichermaßen würde die Parsing-Engine nie das Ende des Datenfelds finden, wenn das Datensatzformat ungeeignet definiert ist, um ein Datenfeld einzuschließen, das durch ein Zeichen begrenzt ist, das nicht in der Datendatei erscheint. 2 stellt ein Beispiel dieses Problems dar, bei dem ein Benutzer das kanonische Datensatzformat möglicherweise nicht kennt und zwei verschiedene „provisorische“ Datensatzformate testet, um zu bestimmen, welches, wenn überhaupt, mit dem kanonischen Datensatzformat übereinstimmt.
  • In dem Beispiel von 2 wird ein Datensatz 201 unter Verwendung eines Datensatzformats 210 und auch unter Verwendung eines Datensatzformats 220 geparst. Das Datensatzformat 210 stimmt mit dem kanonischen Datensatzformat überein und beschreibt daher geeignet das Format des Datensatzes 201, während das Datensatzformat 220 dies nicht tut. Das Datensatzformat 220 enthält ein durch eine Registerkarte begrenztes Feld (wobei eine Registerkarte durch das Symbol „\t“ bezeichnet ist), enthält aber ein durch ein Komma begrenztes Feld, und der Datensatz 201 definiert das zweite Feld nicht durch Komma-Begrenzungszeichen, obwohl die ersten wenigen Zeichen des Datensatzes ein Komma enthalten. Der geparste Datensatz 222 wird daher auf die folgende Weise erzeugt.
  • Zunächst bestimmt ein System, das eine Parsing-Engine ausführt, einen Wert von „Feld 1“ in einem ersten Datensatz, indem es durch die Zeichen des Datensatzes nach einem Registerkartenzeichen sucht, beginnend mit dem ersten Zeichen in dem Datensatz. Das zuerst angetroffene Registerkartenzeichen befindet sich nach der „1“ und vor dem „A.“ Der Wert von „Feld 1“ ist daher als „1“ definiert, da dieses Zeichen das einzige zwischen dem Beginn des Datensatzes und dem identifizierten Begrenzungszeichen ist. Ein Wert von „Feld 2“ wird dann für den ersten Datensatz bestimmt, indem es durch die nachfolgenden Zeichen des Datensatzes nach einem Komma-Zeichen sucht, das sich nach dem „A“ und vor dem „B.“ befindet. Der Wert von „Feld 2“ ist daher als „A“ definiert. Bei der Ausführung der Parsing-Engine schließt die Identifizierung eines Werts für „Feld 2“ einen ersten Datensatz ab, und die Parsing-Engine beginnt einen Prozess des Identifizierens eines ersten Felds eines zweiten Datensatzes. Die Parsing-Engine bestimmt einen Wert von „Feld 1“ in einem zweiten Datensatz, indem sie durch die Zeichen des Datensatzes nach dem Ende des ersten Datensatzes (nach dem Komma) nach einem Registerkartenzeichen sucht. Dieses wird nach dem „2“-Zeichen und vor dem „X“-Zeichen gefunden, und im Ergebnis ist der Wert von „Feld 1“ daher als „B und C\n2“ definiert, wobei „\n“ ein Zeichen für eine neue Zeile darstellt. Dann wird ein Wert von „Feld 2“ für den zweiten Datensatz bestimmt, indem es durch die nachfolgenden Zeichen des Datensatzes nach einem Komma-Zeichen sucht, aber es gibt kein solches Zeichen. Im Ergebnis ist die Parsing-Engine nicht in der Lage, die Begrenzungen des Datenfelds „Feld 2“ des zweiten Datensatzes zu bestimmen. Dies kann auftreten, weil identifiziert wird, dass das Datenfeld entweder eine vordefinierte Feldgröße überschreitet oder weil ein Überlauffehler für einen Speicher oder Pufferspeicher auftritt. In jedem Fall wird der Datensatz nicht wie vom Ersteller des Datensatzes beabsichtigt geparst.
  • Ein Benutzer, der mit dem in 2 dargestellten Fehler konfrontiert ist, würde herkömmlicherweise die Daten unter Verwendung eines Editors oder einer anderen Betrachtungsanwendung untersuchen und versuchen, die zugrundeliegende Ursache des beobachteten Fehlers basierend auf einer visuellen Inspektion herauszufinden. Obwohl 2 ein vergleichsweise einfaches Beispiel darstellt, können Datensatzformate manchmal Dutzende oder sogar Hunderte von Datenfeldern enthalten, was eine solche Aufgabe sehr herausfordernd macht. Selbst nachdem ein potenziell ungeeignetes Begrenzungszeichen identifiziert wurde, muss der Benutzer ein neues provisorisches Datensatzformat erzeugen (z. B. durch Eintippen eines neuen Begrenzungszeichen an der geeigneten Stelle) und eine Parsing-Engine betreiben, um den Datensatz unter Verwendung des neuen Datensatzformats erneut zu parsen. Ein solcher Prozess kann ungenau, fehleranfällig und zeitaufwändig sein.
  • Es kann angemerkt werden, dass in einigen Fällen eine Parsing-Engine einen Datensatz erfolgreich parsen kann, ohne die Art des Fehlers zu erzeugen, der in 2 dargestellt und oben beschrieben ist, jedoch mit Werten, die bestimmten Feldern zugewiesen sind, die nicht vom Ersteller des Datensatzes beabsichtigt sind. Zum Beispiel würde im Beispiel von 2 ein provisorisches Datensatzformat mit einem einzelnen Feld, das durch eine neue Zeile begrenzt ist, den Datensatz 201 ohne Fehler parsen, jedoch würde der resultierende geparste Datensatz keine Daten in jedem Datensatz enthalten, die wie vom Ersteller des Datensatzes beabsichtigt waren. In solchen Fällen kann ein Fehler anschließend während Operationen an der Datenstruktur, die den geparsten Datensatz enthält, erzeugt werden.
  • Um darzustellen, wie das Werkzeug, wie hier beschrieben, arbeiten kann, um das kanonische Datensatzformat zu bestimmen, stellen 3A-C eine Benutzerschnittstelle dar, über die ein Benutzer Begrenzungszeichen eines Datensatzformats gemäß einigen Ausführungsformen identifizieren kann. Ein geeignetes System kann das Werkzeug, wie hier beschrieben, ausführen, das teilweise die abgebildete Benutzerschnittstelle erzeugt. Darüber hinaus kann das Werkzeug eine Parsing-Engine, wie unten beschrieben, ausführen.
  • 3A stellt einen anfänglichen Zustand einer Benutzerschnittstelle 300 dar, die Benutzerschnittstellenelemente 310 beinhaltet, die aufeinanderfolgende Zeichen aus einem Datensatz darstellen. Jedes abgebildete Quadrat, das ein einzelnes Zeichen innerhalb von Benutzerschnittstellenelementen 310 darstellt, ist ein unabhängiges Benutzerschnittstellenelement, das sich in einem ausgewählten Zustand oder in einem nicht ausgewählten Zustand befinden kann. Ein Teil des Datensatzes ist im Benutzerschnittstellenelement 320 gezeigt, und eine Anzahl von Datensätzen und Datenfeldern, die durch Parsen des Datensatzes unter Verwendung eines provisorischen Datensatzformats erzeugt werden, das gemäß den aus den Benutzerschnittstellenelementen 310 ausgewählten Begrenzungszeichen erzeugt wird, sind als Benutzerschnittstellenelement 330 gezeigt. In der veranschaulichenden Benutzerschnittstelle sind Zeichen, die in den Benutzerschnittstellenelementen 310 gezeigt sind, die als Begrenzungszeichen ausgewählt sind, hervorgehoben und grau schattiert, während nicht ausgewählte Zeichen weiß schattiert sind. In dem dargestellten Beispiel von 3A, das daher eine anfängliche Stufe beim Definieren eines Datensatzformats darstellen kann, sind keine Begrenzungszeichen ausgewählt.
  • Ein Benutzer, der die in 3A gezeigte Benutzerschnittstelle 300 ansieht, kann die Ergebnisse des Parsens des Datensatzes unter Verwendung der identifizierten Begrenzungszeichen visuell inspizieren (was derzeit keine Datenfeldwerte zeigt, weil noch keine Begrenzungszeichen ausgewählt wurden). Durch Betrachten der Daten im Benutzerschnittstellenelement 320 kann der Benutzer potenziell geeignete Begrenzungszeichen identifizieren, die nicht ausgewählt sind (z. B. durch Bemerken, dass das Zeichen „-“ mehrmals erscheint) und potenziell ungeeignete Begrenzungszeichen identifizieren (z. B. das Zeichen „/“).
  • Gemäß einigen Ausführungsformen kann der Benutzer, um das Datensatzformat zu ändern, mit einem der Benutzerschnittstellenelemente 310 interagieren (z. B. durch Klicken auf das Element mit einem Mauszeiger), um seinen Zustand von ausgewählt zu nicht ausgewählt zu ändern, oder umgekehrt. Die durch das Werkzeug ausgeführte Parsing-Engine kann dann den Datensatz erneut parsen und die Ergebnisse im Benutzerschnittstellenelement 330 anzeigen; diese Operation kann als Reaktion darauf durchgeführt werden, dass der Benutzer den Zustand eines Benutzerschnittstellenelements 310 ändert, oder kann als Reaktion darauf durchgeführt werden, dass der Benutzer mit einem anderen Benutzerschnittstellenelement interagiert, das in der Figur nicht gezeigt ist (z. B. einer Taste, die die Inhalte der Benutzerschnittstelle 330 durch Erzeugen eines neuen Datensatzformats gemäß den ausgewählten Begrenzungszeichen und erneutes Parsen des Datensatzes unter Verwendung dieses Datensatzformats regeneriert).
  • 3B stellt einen nachfolgenden Zustand der Benutzerschnittstelle 300 dar, nachdem ein Benutzer mit der in 3A gezeigten Schnittstelle interagiert hat, um den Zustand des Benutzerschnittstellenelements des Zeichens „;", „-“, „|“ und „\n“ von nicht ausgewählt zu ausgewählt zu ändern. Als Reaktion auf diese Zustandsänderungen oder aufgrund einer anderen Anweisung über die Benutzerschnittstelle erzeugte das die Benutzerschnittstelle 300 erzeugende Werkzeug ein neues Datensatzformat basierend auf dem neuen Satz von Begrenzungszeichen und analysierte den Datensatz unter Verwendung des neu erzeugten Datensatzformats erneut. Ergebnisse des Parsens des Datensatzes mit dem neuen Datensatzformat sind im Benutzerschnittstellenelement 330 gezeigt, das durch das die Benutzerschnittstelle erzeugende Werkzeug aktualisiert wurde, um die Ergebnisse widerzuspiegeln.
  • Ein Benutzer hat nun eine visuelle Bestätigung, dass die ausgewählte Gruppe von Begrenzungszeichen den Datensatz angemessen parst, da das Benutzerschnittstellenelement 330 Werte für eine Anzahl von Feldern darstellt, die konsistente Daten zu enthalten scheinen und keine Fehler erzeugen. In einigen Ausführungsformen kann das Werkzeug eine Teilmenge der anzuzeigenden Datensätze auswählen. In einigen Fällen kann das Werkzeug nur einen Teil der Datensätze parsen, um diese Teilmenge anzuzeigen. In einigen Ausführungsformen kann eine Teilmenge von Datensätzen durch Schnittstellenelemente ausgewählt werden, die durch die Benutzerschnittstelle 300 bereitgestellt werden, die es einem Benutzer ermöglichen, eine Anzahl von Datensätzen zu untersuchen, die sich über den Datensatz erstrecken können, um sicherzustellen, dass der Datensatz von Anfang bis Ende vollständig geparst wird. Zum Beispiel kann die Benutzerschnittstelle 300 Datensätze von Anfang, Mitte und/oder Ende des Datensatzes darstellen und/oder kann eine Steuerung bereitstellen, dass ein Benutzer arbeiten kann, um durch die durch Parsen des Datensatzes unter Verwendung der ausgewählten Begrenzungszeichen erzeugten Datensätze zu scrollen. Das Parsen eines Teils der Datensätze (z. B. der ersten zehn Datensätze, der ersten fünf Datensätze und der letzten fünf Datensätze usw.) unter Verwendung des erzeugten Datensatzformats kann es dem Benutzer effizient ermöglichen, eine visuelle Bestätigung zu erhalten, dass das erzeugte Datensatzformat den Datensatz angemessen parst, ohne dass es notwendig ist, den gesamten Datensatz zu parsen. Der Benutzer kann dadurch effizient die angemessenen Begrenzungszeichen auswählen, eine Bestätigung eines angemessenen Parsens erhalten und das resultierende Datensatzformat aufzeichnen.
  • Als Ergebnis des oben beschriebenen Prozesses ermöglichte es das die Benutzerschnittstelle 300 erzeugende Werkzeug einem Benutzer, einen angemessenen Satz von Begrenzungszeichen aus einer endlichen Anzahl von Auswahlmöglichkeiten auszuwählen. Ein provisorisches Datensatzformat wurde gemäß diesem Satz von Begrenzungszeichen erzeugt und Feedback wurde über die Benutzerschnittstelle bereitgestellt, so dass der Benutzer feststellen könnte, ob das provisorische Datensatzformat mit dem kanonischen Datensatzformat übereinstimmt oder nicht. Da die Auswahlmöglichkeiten des dargestellten Begrenzungszeichens von dem Datensatz selbst stammen, müssen die Begrenzungszeichen des kanonischen Datensatzformats innerhalb dieser Auswahlmöglichkeiten vorhanden sein. Darüber hinaus kann die Auswahl oder Abwahl eines Begrenzungszeichens und die Erzeugung eines neuen provisorischen Datensatzformats, das den neuen Satz von Begrenzungszeichen widerspiegelt, auf eine Interaktion (z. B. einen Mausklick) mit einem einzelnen Benutzerschnittstellenelement beschränkt sein. Schließlich kann der Benutzer durch Bereitstellen eines prompten Feedbacks der Ergebnisse des Parsens des Datensatzes mit dem neu erzeugten provisorischen Datensatzformat ein direktes Feedback über die Auswirkungen erhalten, die die Änderung des Begrenzungszeichens auf die Art und Weise hatte, wie die Daten geparst werden. Zusammen erzeugen diese Vorteile einen Prozess, bei dem ein (potenziell komplexes) Datensatzformat schnell und genau bestimmt werden kann.
  • 3C stellt eine alternative Auswahl von Begrenzungszeichen aus 3B dar. 3C kann einen nachfolgenden Zustand zu 3A darstellen, in dem die ausgewählten Begrenzungszeichen in 3C durch einen Benutzer ausgewählt wurden, der mit der Benutzerschnittstelle von 3A konfrontiert ist. Alternativ kann 3C eine anfängliche Stufe beim Definieren eines Datensatzformats sein, in der die ausgewählten Begrenzungszeichen durch das System, das die Benutzerschnittstelle 300 erzeugt, automatisch ausgewählt wurden. Wie vorstehend erörtert, können Heuristiken auf einen Datensatz angewendet werden, um eine anfängliche Schätzung hinsichtlich der korrekten Begrenzungszeichen vorzunehmen, wodurch einem Benutzer ein Startpunkt beim Auswählen von Begrenzungszeichen bereitgestellt wird. Die ausgewählten Begrenzungszeichen in 3C können über solche Heuristiken ausgewählt worden sein, von denen Beispiele nachstehend beschrieben werden.
  • In dem Beispiel von 3C wurde das „/“-Zeichen als ein Begrenzungszeichen für den Datensatz ausgewählt, doch während dieses Zeichen unter den ersten wenigen Zeichen des Datensatzes erscheint, wird das Zeichen durch den Datensatz nicht durchgehend als ein Begrenzungszeichen verwendet. Darüber hinaus wurde das Zeichen „-“, das in dem Datensatz verwendet wird, um einen Namen von einem nachfolgenden Wert von „A“, „B“ oder „A/B“ zu trennen, nicht als ein Begrenzungszeichen ausgewählt. Infolgedessen, während die ersten drei Felder des ersten Datensatzes, der in dem Benutzerschnittstellenelement 330 gezeigt ist, den Wert von „Feld 1“ als „ID“ geeignet identifizieren, enthalten die nachfolgenden Felder andere Informationen als durch den Ersteller des Datensatzes beabsichtigt.
  • In dem Beispiel von 3A erzeugt der veranschaulichende ungeeignete Satz von ausgewählten Begrenzungszeichen einen Fehler (durch ein dreieckiges Warnsymbol angegeben), weil der bestimmte Wert von „Feld 2“ des zweiten Datensatzes eine maximale Feldgröße überschreitet. Dies stellt ein zusätzliches Feedback für den Benutzer bereit, das angibt, dass der aktuell ausgewählte Satz von Begrenzungszeichen kein geeigneter Satz ist, mit dem der Datensatz vollständig zu parsen ist. In anderen Fällen kann ein anderer Satz von Begrenzungszeichen keinen Fehler erzeugen, wie gezeigt, weil die Daten erfolgreich geparst werden, doch kann der Benutzer das Benutzerschnittstellenelement 330 visuell inspizieren und identifizieren, dass das Datensatzformat anders als beabsichtigt ist, indem er die Werte der geparsten Felder des gezeigten Datensatzes untersucht.
  • 4 stellt eine Benutzerschnittstelle dar, über die ein Benutzer Begrenzungszeichen eines Datensatzformats gemäß einigen Ausführungsformen identifizieren und ein erzeugtes Datensatzformat ansehen kann. Die Benutzerschnittstelle 400 teilt einige Merkmale der in 3A-3C gezeigten Benutzerschnittstelle 300, stellt aber zusätzliche Steuerungen bereit und präsentiert die in der Benutzerschnittstelle 300 gezeigten Informationen auf andere Weise. Wie bei dem Beispiel von 3 kann ein geeignetes System das Werkzeug, wie hier beschrieben, ausführen, das teilweise die in 4 gezeigte Benutzerschnittstelle erzeugt. Darüber hinaus kann das Werkzeug eine Parsing-Engine in Verbindung mit der Benutzerschnittstelle, wie unten beschrieben, ausführen.
  • Im Beispiel von 4 beinhaltet die Benutzerschnittstelle 400 Benutzerschnittstellenelemente 420, die aufeinanderfolgende Zeichen aus einem Datensatz darstellen. Jedes abgebildete Quadrat von Benutzerschnittstellenelementen 420, das ein einzelnes Zeichen darstellt, ist ein unabhängiges Benutzerschnittstellenelement. Ein Teil eines Datensatzes ist im Benutzerschnittstellenelement 410 gezeigt, und eine Anzahl von Datensätzen und Datenfeldern, die durch Parsen des Datensatzes gemäß den aus den Benutzerschnittstellenelementen 420 ausgewählten Begrenzungszeichen erzeugt werden, sind als Benutzerschnittstellenelement 440 gezeigt. Benutzerschnittstellenelemente aus den Benutzerschnittstellenelementen 420, die als Begrenzungszeichen ausgewählt sind, sind in 4 hervorgehoben und grau schattiert, und nicht ausgewählte Zeichen sind weiß schattiert. Zusätzlich stellt das Benutzerschnittstellenelement 430 ein provisorisches Datensatzformat dar, das durch das System basierend auf den aus den Benutzerschnittstellenelementen 420 ausgewählten Begrenzungszeichen erzeugt wird. Das zuletzt durch das Benutzerschnittstellenelement 430 dargestellte erzeugte Datensatzformat ist das Datensatzformat, das zum Parsen des Datensatzes und Erzeugen der im Benutzerschnittstellenelement 440 gezeigten Datensätze verwendet wird.
  • In dem Beispiel von 4 sind Benutzerschnittstellenelemente 420 in einem Benutzerschnittstellenelement mit einer Bildlaufleiste enthalten, sodass, während einige Zeichen des Datensatzes in der Benutzerschnittstelle 400 angezeigt werden, zusätzliche Zeichen zur Anzeige und Auswahl als Begrenzungszeichen durch Betreiben der Bildlaufleiste verfügbar sind. In einigen Ausführungsformen kann das Bewegen der Bildlaufleiste das Laden von zusätzlichen Zeichen aus dem Datensatz auslösen. Zum Beispiel kann das System anfänglich die ersten N Zeichen des Datensatzes abrufen und N Benutzerschnittstellenelemente für diese Zeichen erzeugen, aber wenn die Bildlaufleiste nach rechts bewegt wird, kann das System zusätzliche Zeichen nach den N Zeichen in dem Datensatz abrufen und zusätzliche entsprechende Benutzerschnittstellenelemente erzeugen. Dieser Prozess des Abrufens zusätzlicher Zeichen kann jedes Mal wiederholt werden, wenn die Bildlaufleiste zum Ende bewegt wird. Auf diese Weise kann eine beliebige Anzahl von Zeichen des Datensatzes durch den Benutzer beim Auswählen von Begrenzungszeichen angesehen werden, obwohl, um unnötige Rechenoperationen zu minimieren, die Zeichen nach Bedarf, wie durch Benutzeraktionen informiert, und nicht im Voraus abgerufen werden können.
  • In dem Beispiel von 4 stellt das Benutzerschnittstellenelement 410 eine Anzahl von Datensätzen aus dem Datensatz dar, wobei angenommen wurde, dass ein bestimmtes Begrenzungszeichen am Ende des Datensatzes den Datensatz in Datensätze aufteilt. In einigen Ausführungsformen kann angenommen werden, dass das Begrenzungszeichen am Ende des Datensatzes ein Neuzeilenzeichen (ASCII-Bytewert 0x0A) oder eine Kombination eines Wagenrückgabezeichens und eines Neuzeilenzeichens (auch als Zeilenvorschub bezeichnet) (ASCII-Bytewert 0x0D0A) ist. In anderen Ausführungsformen kann angenommen werden, dass ein Begrenzungszeichen am Ende des Datensatzes das letzte Begrenzungszeichen ist, das gegenwärtig unter den Benutzerschnittstellenelementen 420 ausgewählt wird.
  • In dem Beispiel von 4 können Datensätze, die in dem Benutzerschnittstellenelement 410 gezeigt sind (die selbst durch einzelne Benutzerschnittstellenelemente dargestellt werden können), ausgewählt und das Benutzerschnittstellenelement 420 erzeugt werden, um Zeichen aus dem ausgewählten Datensatz zur Auswahl als Begrenzungszeichen anzuzeigen. Eine vorherige Auswahl von Begrenzungszeichen kann beibehalten werden, wenn sich der ausgewählte Datensatz in dem Element 410 ändert - das heißt, die Gruppe von ausgewählten Begrenzungszeichen in dem Benutzerschnittstellenelement 420 kann anfänglich auf dieselben Zeichen eingestellt werden, die in dem Benutzerschnittstellenelement 420 ausgewählt wurden, bevor der ausgewählte Datensatz geändert wurde. Dies ermöglicht es einem Benutzer, die ausgewählten Begrenzungszeichen in einem anderen Datensatz visuell zu inspizieren.
  • Im Betrieb erzeugt das Werkzeug, das die dargestellte Benutzerschnittstelle 400 ausführt, ein neues provisorisches Datensatzformat gemäß der Auswahl von Begrenzungszeichen, die durch das Benutzerschnittstellenelement 420 identifiziert werden (z. B. erzeugt ein neues Datensatzformat, wenn sich der Satz von ausgewählten Begrenzungszeichen ändert). Wenn die „Anwenden“-Taste 432 aktiviert ist oder nicht, kann der Datensatz unter Verwendung des neuen provisorischen Datensatzformats durch eine durch das Werkzeug ausgeführte Parsing-Engine geparst werden, und Ergebnisse des Parsens werden durch das Benutzerschnittstellenelement 440 gezeigt. Das Parsen des Datensatzes durch das Werkzeug unter Verwendung des zuletzt erzeugten Datensatzformats kann als Reaktion auf eine Änderung des ausgewählten/nicht ausgewählten Zustands eines der durch die Benutzerschnittstellenelemente 420 gezeigten Zeichen und/oder als Reaktion auf die Aktivierung der „Anwenden“-Taste 432 durchgeführt werden.
  • Die veranschaulichende Benutzerschnittstelle 400 beinhaltet eine „Löschen“-Taste 422, die, wenn sie aktiviert ist, alle Zeichen als Begrenzungszeichen abwählt. Die Schnittstelle 400 beinhaltet auch eine „Vorschlagen“-Taste 424, die, wenn sie aktiviert ist, Heuristiken anwendet, um einen Satz von Begrenzungszeichen zu bestimmen, die mit den Daten übereinstimmen können. Diese Heuristiken können manchmal den angemessenen Satz von Zeichen erzeugen und manchmal nicht, sie können jedoch verwendet werden, um zumindest einen Startpunkt für einen Benutzer bereitzustellen, der versucht, den Satz von Begrenzungszeichen zu bestimmen. Beispiele für solche Heuristiken werden nachstehend beschrieben.
  • 5 ist ein Flussdiagramm eines Verfahrens zum Bestimmen eines provisorischen Datensatzformats basierend auf einer Benutzerauswahl eines Begrenzungszeichens über eine Benutzerschnittstelle gemäß einigen Ausführungsformen. Die Verwendung 500 kann durch ein System durchgeführt werden, das ein Werkzeug, wie hier beschrieben, ausführt, das eine Benutzerschnittstelle erzeugt, einschließlich, aber nicht beschränkt auf die Benutzerschnittstellen 300 und 400, die in 3A-C bzw. 4 gezeigt sind. Wie vorstehend erörtert, kann, während ein Datensatz mit einem kanonischen Datensatzformat durch einen Benutzer (z. B. Benutzer 151 in 1) erzeugt werden kann, ein anderer Benutzer, der auf die Daten zugreift (z. B. Benutzer 152 in 1), dieses Datensatzformat möglicherweise nicht kennen und kann unter Verwendung des hier beschriebenen Werkzeugs eine Anzahl von provisorischen Datensatzformaten erzeugen, bevor das kanonische Datensatzformat bestimmt wird. Die Verwendung 500 stellt einen Teil dieses Prozesses dar, in dem ein erstes provisorisches Datensatzformat erzeugt wurde, ein Begrenzungszeichen ausgewählt oder nicht ausgewählt wird und ein zweites provisorisches Datensatzformat erzeugt wird.
  • Die Verwendung 500 beginnt in Schritt 504, in dem ein Datensatz durch eine durch das Werkzeug ausgeführte Parsing-Engine gemäß einem ersten provisorischen Datensatzformat („vorläufiges Aufzeichnungsformat“) geparst wird. Der Datensatz kann sich auf einer beliebigen Anzahl von nichtflüchtigen computerlesbaren Medien befinden, auf die das System zugreifen kann, das die Verwendung 500 ausführt, oder kann als ein Datenstrom bereitgestellt werden, der von einem externen System empfangen wird. In einigen Fällen kann der Datensatz eine Datei sein, die durch ein oder mehrere flüchtige und/oder nichtflüchtige computerlesbare Speichermedien gespeichert ist. In einigen Fällen kann der Datensatz Daten sein, die in einer Datenbank gespeichert sind (z. B. kann der Datensatz eine Tabelle oder Ansicht einer Datenbank sein). Unabhängig davon, wie oder wo der Datensatz gespeichert ist, führt das System, das die Verwendung 500 ausführt, in Schritt 504 eine Parsing-Engine aus, um eine Datenstruktur zu erzeugen, die Datensätze und Datenfelder enthält, indem der Datensatz gemäß dem ersten provisorischen Datensatzformat geparst wird. Das erste provisorische Datensatzformat kann in einigen Fällen ein leeres oder anderweitig undefiniertes Datensatzformat sein, wenn noch keine Begrenzungszeichen ausgewählt wurden. In anderen Fällen kann das erste provisorische Datensatzformat ein einzelnes begrenztes Feld beinhalten, um Datensätze voneinander zu trennen (z. B. „\n“-Begrenzungszeichen), kann aber ansonsten keine separaten Felder in jedem Datensatz identifizieren.
  • In Schritt 506 werden Ergebnisse des Parsens des Datensatzes über eine Benutzerschnittstelle zusammen mit einer Sequenz von Zeichen („Zeichenabfolge“) aus dem Datensatz angezeigt. Das Anzeigen von Ergebnissen des Parsens des Datensatzes kann das Anzeigen einiger oder aller der in Schritt 504 erzeugten Datensätze und/oder Datenfelder beinhalten und kann das Anzeigen zusätzlicher Ergebnisse, wie etwa Fehlermeldungen oder andere Feedbacknachrichten in Bezug auf das Parsen des Datensatzes, über die Benutzerschnittstelle beinhalten. Die in Schritt 506 angezeigte Sequenz von Zeichen kann in der Benutzerschnittstelle in einer Reihenfolge angezeigt werden, die mit der Reihenfolge übereinstimmt, in der die Zeichen in dem Datensatz erscheinen.
  • In einigen Ausführungsformen kann ein ausgewählter oder nicht ausgewählter Zustand in der Benutzerschnittstelle jedes Zeichens der in Schritt 506 angezeigten Sequenzen von Zeichen gemäß dem ersten provisorischen Datensatzformat bestimmt werden. Das heißt, die durch das erste provisorische Datensatzformat definierten begrenzten Felder können implizieren, welche der Zeichen des Datensatzes, die in der Benutzerschnittstelle gezeigt werden, als Begrenzungszeichen ausgewählt wurden, und diese Zeichen können in der Benutzerschnittstelle in Schritt 506 als in einem ausgewählten Zustand angezeigt werden. Ein ausgewählter Zustand in der Benutzerschnittstelle kann einen beliebigen visuellen Ansatz oder beliebige Ansätze beinhalten, um die ausgewählten Zeichen von den nicht ausgewählten Zeichen visuell zu unterscheiden.
  • In Schritt 508 kann ein Benutzer eine Eingabe in die Benutzerschnittstelle bereitstellen, die bewirkt, dass sich eines der Sequenz von Zeichen von einem nicht ausgewählten Zustand in einen ausgewählten Zustand oder von einem ausgewählten Zustand in einen nicht ausgewählten Zustand ändert. Diese Eingabe kann unter Verwendung einer beliebigen geeigneten Eingabevorrichtung und auf beliebige geeignete Weise (z. B. durch Klicken auf ein Benutzerschnittstellenelement mit einer Maus oder einer anderen Eingabevorrichtung) bereitgestellt werden. In Schritt 510 wird ein zweites provisorisches Datensatzformat durch das System basierend auf dem Satz von ausgewählten Begrenzungszeichen aus der angezeigten Sequenz von Zeichen erzeugt (was die Änderung in dem Satz beinhaltet, die in Schritt 508 aufgetreten ist). Dieser Satz von ausgewählten Begrenzungszeichen beinhaltet entweder ein Zeichen, das in Schritt 508 ausgewählt wurde, oder beinhaltet kein Zeichen, das in Schritt 508 nicht ausgewählt wurde. Dementsprechend kann sich in Fällen, in denen das zweite provisorische Datensatzformat ohne zusätzliche Auswahl oder Abwahl von Zeichen erzeugt wird, das zweite provisorische Datensatzformat von dem ersten provisorischen Datensatzformat unterscheiden, indem es entweder ein zusätzliches Datenfeld beinhaltet, das durch das Zeichen begrenzt ist, das in Schritt 508 ausgewählt wurde, oder indem es kein Datenfeld beinhaltet, das durch das Zeichen begrenzt ist, das in Schritt 508 abgewählt wurde. Abgesehen von diesem Feld können die beiden Datensatzformate ansonsten identisch sein.
  • In Schritt 512 wird der Datensatz durch eine durch das Werkzeug ausgeführte Parsing-Engine gemäß dem zweiten provisorischen Datensatzformat geparst. Das System, das die Verwendung 500 ausführt, führt die Parsing-Engine aus, um eine Datenstruktur zu erzeugen, die Datensätze und Datenfelder enthält, indem der Datensatz gemäß dem zweiten Datensatzformat geparst wird. In Schritt 514 werden Ergebnisse des Parsens der Inhalte des Datensatzes in Schritt 512 über die Benutzerschnittstelle angezeigt. Das Anzeigen von Ergebnissen des Parsens des Datensatzes kann das Anzeigen einiger oder aller der in Schritt 512 erzeugten Datensätze und/oder Datenfelder beinhalten und kann das Anzeigen zusätzlicher Ergebnisse, wie etwa Fehlermeldungen oder andere Feedbacknachrichten in Bezug auf das Parsen des Datensatzes, über die Benutzerschnittstelle beinhalten.
  • Es versteht sich, dass die Verwendung 500 beliebig oft wiederholt werden kann, bis ein Benutzer das zuletzt erzeugte Datensatzformat akzeptiert. In einigen Ausführungsformen kann die Benutzerschnittstelle dementsprechend eine oder mehrere Steuerungen beinhalten, die, wenn sie aktiviert sind, zu einem nächsten Schritt in einem Prozess übergehen, der die Verwendung 500 umfasst. Solche nächsten Schritte können das Aufzeichnen des akzeptierten Datensatzformats in einem Metadatenspeicher oder einem anderen Datenspeicher (z. B. einer Datenbank) und/oder das Ausführen eines Datenflussdiagramms beinhalten, wobei ein Datensatz unter Verwendung des akzeptierten Datensatzformats geparst wird.
  • 6 ist ein Flussdiagramm eines Verfahrens zum Erzeugen eines Datensatzformats, in dem Heuristiken angewendet werden, um ein anfängliches Datensatzformat gemäß einigen Ausführungsformen zu erzeugen. Die Verwendung 600 kann durch ein Werkzeug, wie hier beschrieben, ausgeführt werden. In einigen Ausführungsformen kann die Verwendung 600 durch ein System ausgeführt werden, das ein Datensatzformat für einen Datensatz erzeugt, indem es eine Eingabe von einem Benutzer anfordert, die nicht nur auf begrenzte Datensätze beschränkt ist. In einigen Fällen kann das System eine Analyse des Datensatzes durchführen, um zu bestimmen, welche Arten von Datenfeldern vorhanden sein könnten und welche Art von Prozess der Erzeugung eines geeigneten Datensatzformats am besten entsprechen würde. Zum Beispiel könnte angenommen werden, dass ein Datensatz, der wiederholt eine feste Anzahl von Zeichen enthält, die durch ein Neuzeilenzeichen getrennt sind, nur Felder fester Länge enthält, und ein Prozess gestartet werden, um ein Datensatzformat basierend auf einer Benutzereingabe durch eine Benutzerschnittstelle zu erzeugen. Alternativ könnte ein Datensatz, der eine Anzahl von Instanzen von möglichen Begrenzungszeichen enthält, als ein Datensatz identifiziert werden, der mehrere begrenzte Felder aufweist, und daher kann das Datensatzformat über die hier beschriebenen Techniken erzeugt werden.
  • Die Verwendung 600 beginnt in Schritt 602, in dem bestimmt wird, dass ein Datensatz, für den ein Datensatzformat erzeugt werden soll, mehrere Begrenzer enthält, und dass daher das Datensatzformat über die hier beschriebenen Techniken erzeugt werden kann. Mögliche Begrenzungszeichen können aus einer Liste von Zeichen identifiziert werden, die als Begrenzungszeichen angenommen werden, wenn sie in Daten erscheinen. Als ein nicht einschränkendes Beispiel können mögliche Begrenzungszeichen alle Zeichen beinhalten, die nicht alphanumerisch sind, einen Raum, ein Zitat, eine Periode, einen Schrägstrich (z. B. „/“ oder „\“) oder ein Bindestrich-Zeichen. Diese Liste möglicher Begrenzungszeichen würde somit die meisten typischen Datenzeichen ausschließen und nach wiederholten Instanzen von Zeichen suchen, die typischerweise nicht in zum Beispiel Geschäftsdaten zu finden wären. Es ist zu beachten, dass ein derartiger Ansatz nicht druckbare Zeichen wie ein Zeichen für eine neue Zeile als ein mögliches Begrenzungszeichen betrachten würde.
  • In Schritt 602 wird ein erstes Datensatzformat durch Anwenden von Heuristiken auf den Datensatz erzeugt. Gemäß einigen Ausführungsformen kann das erste Datensatzformat erzeugt werden, das begrenzte Datenfelder umfasst, die jeweils durch eines der in Schritt 602 identifizierten möglichen Begrenzungszeichen begrenzt sind. Gemäß einigen Ausführungsformen kann eine Häufigkeit, mit der mögliche Begrenzungszeichen in der Datendatei erscheinen, auf ausgewählte Begrenzungszeichen des Datensatzformats analysiert werden. Zum Beispiel kann ein mögliches Begrenzungszeichen, das signifikant mehr erscheint als andere mögliche Begrenzungszeichen in dem Datensatz, fälschlicherweise als ein Begrenzungszeichen identifiziert worden sein. Gemäß einigen Ausführungsformen kann angenommen werden, dass Datensätze mit einem Zeichen für eine neue Zeile (oder einer Wagenrückgabe und einer neuen Zeile) enden. Gemäß einigen Ausführungsformen kann eine Parsing-Engine bestimmen, ob ein Kandidatensatzformat den Datensatz vollständig parst (d. h. den Datensatz in eine vollständige Anzahl von Datensätzen parst), um zu bestimmen, ob ein Satz von Begrenzungszeichen für das Parsen des Datensatzes angemessen sein kann. Wenn das Datensatzformat den Datensatz nicht vollständig parst, gibt dies an, dass der Satz von Begrenzungszeichen nicht der angemessene ist.
  • Unabhängig davon, wie das erste Datensatzformat in Schritt 604 erzeugt wird, wird in Schritt 606 die Verwendung 500 ausgeführt und ein neues Datensatzformat wird gemäß der Auswahl und/oder Abwahl von Zeichen als Begrenzungszeichen erzeugt. Der Schritt 606 kann beliebig oft wiederholt werden, bis der Benutzer mit dem aktuellen Satz von Begrenzungszeichen zufrieden ist, wobei an diesem Punkt das finale Datensatzformat in Schritt 608 aufgezeichnet werden kann.
  • 7 stellt ein Beispiel einer geeigneten Rechensystemumgebung 700 dar, in der die hier beschriebene Technologie implementiert werden kann. Die Rechensystemumgebung 700 ist nur ein Beispiel einer geeigneten Rechenumgebung und soll keine Einschränkung hinsichtlich des Anwendungsbereichs oder der Funktionalität der hier beschriebenen Technologie nahelegen. Die Rechenumgebung 700 sollte auch nicht so interpretiert werden, dass sie eine Abhängigkeit oder Anforderung in Bezug auf eine beliebige oder eine beliebige Kombination von Komponenten aufweist, die in der beispielhaften Betriebsumgebung 700 dargestellt sind.
  • Die hier beschriebene Technologie ist mit zahlreichen anderen universellen oder speziellen Rechensystemumgebungen oder -konfigurationen betriebsfähig. Beispiele für bekannte Rechensysteme, -umgebungen und/oder -konfigurationen, die zur Verwendung mit der hier beschriebenen Technologie geeignet sein können, beinhalten unter anderem Personalcomputer, Servercomputer, Handgeräte oder Laptopgeräte, Multiprozessorsysteme, Systeme auf Mikroprozessorbasis, Set-Top-Boxen, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputer, Mainframe-Computer, verteilte Rechenumgebungen, die beliebige der vorstehenden Systeme oder Geräte beinhalten, und dergleichen.
  • Die Rechenumgebung kann computerausführbare Anweisungen, wie etwa Programmmodule, ausführen. Im Allgemeinen beinhalten Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen usw., die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datenarten implementieren. Die hier beschriebene Technologie kann auch in verteilten Rechenumgebungen umgesetzt werden, in denen Aufgaben durch entfernte Verarbeitungsgeräte durchgeführt werden, die durch ein Kommunikationsnetzwerk verbunden sind. In einer verteilten Rechenumgebung können sich Programmmodule sowohl in lokalen als auch in entfernten Computerspeichermedien einschließlich Speichervorrichtungen befinden.
  • Unter Bezugnahme auf 7 beinhaltet ein beispielhaftes System zum Implementieren der hier beschriebenen Technologie eine universelle Rechenvorrichtung in Form eines Computers 710. Komponenten des Computers 710 können unter anderem eine Verarbeitungseinheit 720, einen Systemspeicher 730 und einen Systembus 721 beinhalten, der verschiedene Systemkomponenten einschließlich des Systemspeichers mit der Verarbeitungseinheit 720 koppelt. Der Systembus 721 kann eine beliebige von mehreren Arten von Busstrukturen sein, einschließlich eines Speicherbusses oder einer Speichersteuerung, eines Peripheriebusses und eines lokalen Busses unter Verwendung einer beliebigen einer Vielzahl von Busarchitekturen. Beispielhaft und nicht einschränkend beinhalten derartige Architekturen einen ISA-Bus (Industry Standard Architecture), einen MCA-Bus (Micro Channel Architecture), einen EISA-Bus (Enhanced ISA), einen lokalen VESA-Bus (Video Electronics Standards Association) und einen PCI-Bus (Peripheral Component Interconnect), der auch als Mezzanine-Bus bekannt ist.
  • Der Computer 710 beinhaltet typischerweise eine Vielzahl von computerlesbaren Medien. Computerlesbare Medien können beliebige verfügbare Medien sein, auf die durch den Computer 710 zugegriffen werden kann, und beinhalten sowohl flüchtige als auch nichtflüchtige Medien, Wechselmedien und Nichtwechselmedien. Beispielhaft und nicht einschränkend können computerlesbare Medien Computerspeichermedien und Kommunikationsmedien umfassen. Computerspeichermedien beinhalten flüchtige und nichtflüchtige, Wechselmedien und Nichtwechselmedien, die in einem beliebigen Verfahren oder einer beliebigen Technologie zum Speichern von Informationen, wie etwa computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen oder anderen Daten, implementiert sind. Computerspeichermedien beinhalten unter anderem RAM, ROM, EEPROM, Flash-Speicher oder eine andere Speichertechnologie, CD-ROM, DVD (Digital Versatile Disks) oder andere optische Plattenspeicher, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder ein beliebiges anderes Medium, das zum Speichern der gewünschten Informationen verwendet werden kann und auf das durch den Computer 710 zugegriffen werden kann. Kommunikationsmedien verkörpern typischerweise computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten in einem modulierten Datensignal, wie etwa einer Trägerwelle oder einem anderen Transportmechanismus, und beinhalten beliebige Informationslieferungsmedien. Der Begriff „moduliertes Datensignal“ bedeutet ein Signal, bei dem eine oder mehrere seiner Eigenschaften so eingestellt oder geändert sind, dass Informationen im Signal codiert sind. Beispielhaft und nicht einschränkend beinhalten Kommunikationsmedien drahtgebundene Medien, wie etwa ein drahtgebundenes Netzwerk oder eine direktverdrahtete Verbindung, und drahtlose Medien, wie etwa akustische, HF-, Infrarot- und andere drahtlose Medien. Kombinationen aus beliebigen der Vorstehenden sollten ebenfalls im Umfang computerlesbarer Medien enthalten sein.
  • Der Systemspeicher 730 beinhaltet Computerspeichermedien in Form von flüchtigem und/oder nichtflüchtigem Speicher, wie etwa Festwertspeicher (ROM) 731 und Direktzugriffsspeicher (RAM) 732. Ein grundlegendes Eingabe-/Ausgabesystem 733 (BIOS), das die grundlegenden Routinen enthält, die dabei helfen, Informationen zwischen Elementen innerhalb des Computers 710 zu übertragen, wie etwa während des Hochfahrens, ist typischerweise im ROM 731 gespeichert. Der RAM 732 enthält typischerweise Daten und/oder Programmmodule, auf die durch die Verarbeitungseinheit 720 unmittelbar zugegriffen werden kann und/oder auf denen gegenwärtig gearbeitet wird. Beispielhaft und nicht einschränkend stellt 7 ein Betriebssystem 734, Anwendungsprogramme 735, andere Programmmodule 736 und Programmdaten 737 dar.
  • Der Computer 710 kann auch andere austauschbare/nichtaustauschbare, flüchtige/nichtflüchtige Computerspeichermedien beinhalten. Lediglich beispielhaft stellt 7 ein Festplattenlaufwerk 741, das von nichtaustauschbaren, nichtflüchtigen magnetischen Medien liest oder in diese schreibt, ein Magnetplattenlaufwerk 751, das von einer austauschbaren, nichtflüchtigen Magnetplatte 752 liest oder in diese schreibt, und ein optisches Plattenlaufwerk 755, das von einer austauschbaren, nichtflüchtigen optischen Platte 756, wie etwa einem CD-ROM oder anderen optischen Medien, liest oder in diese schreibt, dar. Andere austauschbare/nichtaustauschbare, flüchtige/nichtflüchtige Computerspeichermedien, die in der beispielhaften Betriebsumgebung verwendet werden können, beinhalten unter anderem Magnetbandkassetten, Flash-Speicherkarten, Digital Versatile Disks, Digitales Videoband, Festkörper-RAM, Festkörper-ROM und dergleichen. Das Festplattenlaufwerk 741 ist typischerweise durch eine nichtaustauschbare Speicherschnittstelle, wie etwa die Schnittstelle 740, mit dem Systembus 721 verbunden, und das Magnetplattenlaufwerk 751 und das optische Plattenlaufwerk 755 sind typischerweise durch eine austauschbare Speicherschnittstelle, wie etwa die Schnittstelle 750, mit dem Systembus 721 verbunden.
  • Die Laufwerke und ihre zugehörigen Computerspeichermedien, die vorstehend erörtert und in 7 dargestellt sind, stellen eine Speicherung von computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen und anderen Daten für den Computer 710 bereit. In 7 ist zum Beispiel das Festplattenlaufwerk 741 als ein Betriebssystem 744, Anwendungsprogramme 745, andere Programmmodule 746 und Programmdaten 747 speichernd dargestellt. Es ist zu beachten, dass diese Komponenten entweder gleich oder verschieden von dem Betriebssystem 734, Anwendungsprogrammen 735, anderen Programmmodulen 736 und Programmdaten 737 sein können. Das Betriebssystem 744, die Anwendungsprogramme 745, die anderen Programmmodule 746 und die Programmdaten 747 sind hier mit unterschiedlichen Nummern versehen, um zu veranschaulichen, dass sie zumindest unterschiedliche Kopien sind. Ein Benutzer kann Befehle und Informationen durch Eingabevorrichtungen, wie etwa eine Tastatur 762 und eine Zeigevorrichtung 761, die gemeinhin als eine Maus, ein Trackball oder ein Touchpad bezeichnet werden, in den Computer 710 eingeben. Andere Eingabevorrichtungen (nicht gezeigt) können ein Mikrofon, einen Joystick, ein Gamepad, eine Satellitenschüssel, einen Scanner oder dergleichen beinhalten. Diese und andere Eingabevorrichtungen sind oft durch eine Benutzereingabeschnittstelle 760, die mit dem Systembus gekoppelt ist, mit der Verarbeitungseinheit 720 verbunden, können aber durch andere Schnittstellen- und Busstrukturen, wie etwa einen parallelen Port, einen Gameport oder einen universellen seriellen Bus (USB), verbunden sein. Ein Monitor 791 oder eine andere Art von Anzeigevorrichtung ist auch über eine Schnittstelle, wie etwa eine Videoschnittstelle 790, mit dem Systembus 721 verbunden. Zusätzlich zu dem Monitor können Computer auch andere Peripherieausgabevorrichtungen, wie etwa Lautsprecher 797 und einen Drucker 796, beinhalten, die durch eine Ausgabeperipherieschnittstelle 795 verbunden sein können.
  • Der Computer 710 kann in einer vernetzten Umgebung unter Verwendung logischer Verbindungen mit einem oder mehreren entfernten Computern, wie etwa einem entfernten Computer 780, arbeiten. Der entfernte Computer 780 kann ein Personalcomputer, ein Server, ein Router, ein Netzwerk-PC, eine Peer-Vorrichtung oder ein anderer üblicher Netzwerkknoten sein und beinhaltet typischerweise viele oder alle der vorstehend in Bezug auf den Computer 710 beschriebenen Elemente, obwohl in 7 nur eine Speichervorrichtung 781 dargestellt wurde. Die in 7 dargestellten logischen Verbindungen beinhalten ein lokales Netzwerk (LAN) 771 und ein Weitverkehrsnetzwerk (WAN) 773, können aber auch andere Netzwerke beinhalten. Derartige Vernetzungsumgebungen sind in Büros, unternehmensweiten Computernetzwerken, Intranets und dem Internet üblich.
  • Bei Verwendung in einer LAN-Vernetzungsumgebung ist der Computer 710 durch eine Netzwerkschnittstelle oder einen Adapter 770 mit dem LAN 771 verbunden. Bei Verwendung in einer WAN-Vernetzungsumgebung beinhaltet der Computer 710 typischerweise ein Modem 772 oder andere Mittel zum Herstellen von Kommunikationen über das WAN 773, wie etwa das Internet. Das Modem 772, das intern oder extern sein kann, kann über die Benutzereingabeschnittstelle 760 oder einen anderen geeigneten Mechanismus mit dem Systembus 721 verbunden sein. In einer vernetzten Umgebung können in Bezug auf den Computer 710 dargestellte Programmmodule oder Teile davon in der entfernten Speichervorrichtung gespeichert sein. Beispielhaft und nicht einschränkend stellt 7 entfernte Anwendungsprogramme 785 als auf der Speichervorrichtung 781 befindlich dar. Es versteht sich, dass die gezeigten Netzwerkverbindungen beispielhaft sind und andere Mittel zum Herstellen einer Kommunikationsverbindung zwischen den Computern verwendet werden können.
  • Nachdem somit mehrere Aspekte von mindestens einer Ausführungsform dieser Erfindung beschrieben wurden, versteht es sich, dass verschiedene Änderungen, Modifikationen und Verbesserungen für Fachleute ohne Weiteres auftreten.
  • Derartige Änderungen, Modifikationen und Verbesserungen sollen Teil dieser Offenbarung sein und sollen im Geist und Umfang der Erfindung liegen. Obwohl Vorteile der vorliegenden Erfindung angegeben sind, versteht es sich ferner, dass nicht jede Ausführungsform der hier beschriebenen Technologie jeden beschriebenen Vorteil beinhaltet. Einige Ausführungsformen können keine hier als vorteilhaft beschriebenen Merkmale implementieren und in einigen Fällen können eines oder mehrere der beschriebenen Merkmale implementiert werden, um weitere Ausführungsformen zu erreichen. Dementsprechend sind die vorstehende Beschreibung und die Zeichnungen lediglich beispielhaft.
  • Gemäß einigen Aspekten wird eine Verwendung zum Bestimmen eines Datensatzformats für einen Datensatz bereitgestellt, wobei der Datensatz eine Vielzahl von Bytes umfasst, wobei die Verwendung umfasst: Parsen des Datensatzes mit mindestens einer Rechenvorrichtung unter Verwendung eines ersten Datensatzformats, um eine Sequenz von Zeichen zu bestimmen, die durch die Vielzahl von Bytes dargestellt werden, und Bestimmen von Werten eines oder mehrerer Datenfelder unter Verwendung der Sequenz von Zeichen gemäß dem ersten Datensatzformat, Anzeigen mindestens einiger der Werte des einen oder der mehreren Datenfelder gemäß dem ersten Datensatzformat über eine Benutzerschnittstelle, Anzeigen einer Vielzahl der Sequenz von Zeichen über die Benutzerschnittstelle als eine Sequenz von Benutzerschnittstellenelementen, wobei jedes der Vielzahl von Zeichen als ein separates Benutzerschnittstellenelement dargestellt wird, Empfangen einer Benutzereingabe, die ein Benutzerschnittstellenelement der Sequenz von Benutzerschnittstellenelementen auswählt, wobei das ausgewählte Benutzerschnittstellenelement einem Zeichen der Sequenz von Zeichen zugeordnet ist, und Erzeugen eines zweiten Datensatzformats basierend auf der empfangenen Eingabe, wobei das zweite Datensatzformat erzeugt wird, um ein Datenfeld einzuschließen, das durch das Zeichen begrenzt ist, das dem ausgewählten Benutzerschnittstellenelement zugeordnet ist, Parsen eines Teils des Datensatzes unter Verwendung des zweiten Datensatzformats, Anzeigen von Ergebnissen des Parsens des Teils des Datensatzes unter Verwendung des zweiten Datensatzformats über die Benutzerschnittstelle, Empfangen einer Benutzereingabe, die angibt, dass das zweite Datensatzformat aufzuzeichnen ist, und Aufzeichnen des zweiten Datensatzformats auf mindestens einem computerlesbaren Medium.
  • Gemäß einigen Ausführungsformen kann das Anzeigen der Vielzahl der Sequenz von Zeichen Anzeigen einer zusammenhängenden Teilmenge der Sequenz von Zeichen über die Benutzerschnittstelle als die Sequenz von Benutzerschnittstellenelementen umfassen, wobei jedes Zeichen der Teilmenge der Reihe nach als ein separates Benutzerschnittstellenelement dargestellt wird.
  • Gemäß einigen Ausführungsformen kann die Verwendung ferner Bestimmen umfassen, dass das zweite Datensatzformat den Datensatz nicht vollständig parst, indem ein Speicherüberlauf identifiziert wird oder indem ein geparster Datensatz identifiziert wird, der ein oder mehrere nicht bestückte Datenfelder umfasst, und wobei das Anzeigen der Ergebnisse des Parsens des Datensatzes unter Verwendung des zweiten Datensatzformats über die Benutzerschnittstelle Anzeigen einer Warnung umfasst, dass das zweite Datensatzformat den Datensatz nicht vollständig parst.
  • Gemäß einigen Ausführungsformen kann die Verwendung ferner Bestimmen des ersten Datensatzformats zumindest teilweise basierend auf einer oder mehreren Heuristiken umfassen, um ein oder mehrere Zeichen als ein mögliches Begrenzungszeichen zu identifizieren.
  • Gemäß einigen Ausführungsformen kann das Bestimmen des ersten Datensatzformats Identifizieren eines Zeichens des Datensatzes, das nicht alphanumerisch ist, eines Raums, eines Zitats, einer Periode, eines Vorwärts-Schrägstrichs oder eines Bindestrichs und Erzeugen eines Datenfelds des ersten Datensatzformats, das durch das identifizierte Zeichen begrenzt ist, umfassen.
  • Gemäß einigen Ausführungsformen kann das erste Zeichen ein nicht druckbares Zeichen sein.
  • Gemäß einigen Ausführungsformen kann das erste Datensatzformat nur begrenzte Datenfelder beinhalten.
  • Gemäß einigen Ausführungsformen kann die Benutzereingabe bewirken, dass die mindestens eine Rechenvorrichtung das Aussehen des ausgewählten Benutzerschnittstellenelements in der Benutzerschnittstelle ändert.
  • Gemäß einigen Ausführungsformen kann das Anzeigen der Ergebnisse des Parsens des Datensatzes unter Verwendung des ersten Datensatzformats über die Benutzerschnittstelle Anzeigen einer Liste von Datensätzen des Datensatzes und Datenfeldwerten der Datensätze umfassen.
  • Gemäß einigen Ausführungsformen kann das erste Datensatzformat eine Vielzahl von begrenzten Datenfeldern mit einer Vielzahl von unterschiedlichen Begrenzungszeichen beinhalten.
  • Gemäß einigen Aspekten wird ein Computersystem bereitgestellt, das mindestens einen Prozessor, mindestens eine Benutzerschnittstellenvorrichtung und mindestens ein computerlesbares Medium umfasst, das prozessorausführbare Anweisungen umfasst, die, wenn sie ausgeführt werden, bewirken, dass der mindestens eine Prozessor einen Datensatz, der eine Vielzahl von Bytes umfasst, unter Verwendung eines ersten Datensatzformats parst, um eine Sequenz von Zeichen zu bestimmen, die durch die Vielzahl von Bytes dargestellt werden, und Werte eines oder mehrerer Datenfelder gemäß dem ersten Datensatzformat zu bestimmen, mindestens einige der Werte des einen oder der mehreren Datenfelder des ersten Datensatzformats über die mindestens eine Benutzerschnittstelle über die mindestens eine Benutzerschnittstellenvorrichtung anzuzeigen, eine Vielzahl der Sequenz von Zeichen über die mindestens eine Benutzerschnittstelle als eine Sequenz von Benutzerschnittstellenelementen über die mindestens eine Benutzerschnittstellenvorrichtung anzuzeigen, wobei jedes der Vielzahl von Zeichen als ein separates Benutzerschnittstellenelement dargestellt wird, eine Benutzereingabe, die ein Benutzerschnittstellenelement der Sequenz von Benutzerschnittstellenelementen auswählt, über die mindestens eine Benutzerschnittstellenvorrichtung zu empfangen, wobei das ausgewählte Benutzerschnittstellenelement einem Zeichen der Sequenz von Zeichen zugeordnet ist, ein zweites Datensatzformat basierend auf der empfangenen Eingabe zu erzeugen, wobei das zweite Datensatzformat erzeugt wird, um ein Datenfeld zu beinhalten, das durch das Zeichen begrenzt ist, das dem ausgewählten Benutzerschnittstellenelement zugeordnet ist, einen Abschnitt des Datensatzes unter Verwendung des zweiten Datensatzformats zu parsen, Ergebnisse des Parsens des Abschnitts des Datensatzes unter Verwendung des zweiten Datensatzformats über die Benutzerschnittstelle anzuzeigen, eine Benutzereingabe zu empfangen, die angibt, dass das zweite Datensatzformat aufzuzeichnen ist, und das zweite Datensatzformat auf mindestens einem computerlesbaren Medium aufzuzeichnen.
  • Gemäß einigen Ausführungsformen kann das Anzeigen der Vielzahl der Sequenz von Zeichen Anzeigen einer zusammenhängenden Teilmenge der Sequenz von Zeichen über die Benutzerschnittstelle als die Sequenz von Benutzerschnittstellenelementen umfassen, wobei jedes Zeichen der Teilmenge der Reihe nach als ein separates Benutzerschnittstellenelement dargestellt wird.
  • Gemäß einigen Ausführungsformen können die prozessorausführbaren Anweisungen ferner bewirken, dass der mindestens eine Prozessor bestimmt, dass das zweite Datensatzformat den Datensatz nicht vollständig parst, indem ein Speicherüberlauf identifiziert wird oder indem ein geparster Datensatz identifiziert wird, der ein oder mehrere nicht bestückte Datenfelder umfasst, und wobei das Anzeigen der Ergebnisse des Parsens des Datensatzes unter Verwendung des zweiten Datensatzformats über die Benutzerschnittstelle Anzeigen einer Warnung umfasst, dass das zweite Datensatzformat den Datensatz nicht vollständig parst.
  • Gemäß einigen Ausführungsformen können die prozessorausführbaren Anweisungen ferner bewirken, dass der mindestens eine Prozessor das erste Datensatzformat zumindest teilweise basierend auf einer oder mehreren Heuristiken bestimmt, um ein oder mehrere Zeichen als ein mögliches Begrenzungszeichen zu identifizieren.
  • Gemäß einigen Ausführungsformen kann das Bestimmen des ersten Datensatzformats Identifizieren eines Zeichens des Datensatzes, das nicht alphanumerisch ist, eines Raums, eines Zitats, einer Periode, eines Vorwärts-Schrägstrichs oder eines Bindestrichs und Erzeugen eines Datenfelds des ersten Datensatzformats, das durch das identifizierte Zeichen begrenzt ist, umfassen.
  • Gemäß einigen Ausführungsformen kann das Bestimmen des ersten Datensatzformats Identifizieren eines Datensatzbegrenzungszeichens umfassen.
  • Gemäß einigen Ausführungsformen kann die Benutzereingabe bewirken, dass der mindestens eine Prozessor das Aussehen des ersten Benutzerschnittstellenelements in der Benutzerschnittstelle ändert.
  • Gemäß einigen Ausführungsformen kann das Anzeigen der Ergebnisse des Parsens des Datensatzes unter Verwendung des ersten Datensatzformats über die mindestens eine Benutzerschnittstellenvorrichtung Anzeigen einer Liste von Datensätzen des Datensatzes und Datenfeldwerten der Datensätze umfassen.
  • Gemäß einigen Ausführungsformen kann das erste Datensatzformat eine Vielzahl von begrenzten Datenfeldern mit einer Vielzahl von unterschiedlichen Begrenzungszeichen beinhalten.
  • Gemäß einigen Aspekten wird ein Computersystem bereitgestellt, umfassend mindestens einen Prozessor, Mittel zum Parsen eines Datensatzes, der eine Vielzahl von Bytes umfasst, unter Verwendung eines ersten Datensatzformats, um eine Sequenz von Zeichen zu bestimmen, die durch die Vielzahl von Bytes dargestellt wird, und Bestimmen von Werten eines oder mehrerer Datenfelder gemäß dem ersten Datensatzformat, Mittel zum Anzeigen mindestens einiger der Werte des einen oder der mehreren Datenfelder des ersten Datensatzformats über die mindestens eine Benutzerschnittstelle, Mittel zum Anzeigen eines Abschnitts der Sequenz von Zeichen über die mindestens eine Benutzerschnittstelle als eine Sequenz von Benutzerschnittstellenelementen, wobei jedes Zeichen des Abschnitts der Sequenz von Zeichen der Sequenz nach als ein separates Benutzerschnittstellenelement dargestellt wird, Mittel zum Empfangen einer Benutzereingabe, die einem ersten Benutzerschnittstellenelement der Sequenz von Benutzerschnittstellenelementen zugeordnet ist, wobei das erste Benutzerschnittstellenelement einem ersten Zeichen der Sequenz von Zeichen zugeordnet ist, Mittel zum Erzeugen eines zweiten Datensatzformats basierend auf der empfangenen Eingabe, wobei das zweite Datensatzformat erzeugt wird, um ein Datenfeld zu beinhalten, das durch das erste Zeichen begrenzt ist, Mittel zum Parsen eines Abschnitts des Datensatzes unter Verwendung des zweiten Datensatzformats, Mittel zum Anzeigen von Ergebnissen des Parsens des Abschnitts des Datensatzes unter Verwendung des zweiten Datensatzformats über die Benutzerschnittstelle, Mittel zum Empfangen einer Benutzereingabe, die angibt, dass das zweite Datensatzformat aufzuzeichnen ist, und Mittel zum Aufzeichnen des zweiten Datensatzformats auf mindestens einem computerlesbaren Medium.
  • Gemäß einigen Aspekten wird eine Verwendung zum Bestimmen eines Datensatzformats für einen Datensatz bereitgestellt, wobei der Datensatz eine Vielzahl von Bytes umfasst, wobei die Verwendung mit mindestens einer Rechenvorrichtung iteratives Empfangen einer Benutzereingabe und Erzeugen von Datensatzformaten basierend auf der Benutzereingabe umfasst, wobei der iterative Prozess fortgesetzt wird, bis eine Benutzereingabe empfangen wird, die angibt, dass ein zuletzt erzeugtes Datensatzformat ausgegeben werden soll, wobei der iterative Prozess Wiederholen von Schritten des Parsens des Datensatzes unter Verwendung eines anfänglichen Datensatzformats, um eine Sequenz von Zeichen zu bestimmen, die durch die Vielzahl von Bytes dargestellt werden, und Bestimmen von Werten eines oder mehrerer Datenfelder gemäß dem anfänglichen Datensatzformat, Anzeigen mindestens einiger der Werte des einen oder der mehreren Datenfelder gemäß dem anfänglichen Datensatzformat über eine Benutzerschnittstelle, Anzeigen einer Vielzahl der Sequenz von Zeichen über die Benutzerschnittstelle als eine Sequenz von Benutzerschnittstellenelementen, wobei jedes der Vielzahl von Zeichen als ein separates Benutzerschnittstellenelement dargestellt wird, Empfangen einer Benutzereingabe, die ein Benutzerschnittstellenelement der Sequenz von Benutzerschnittstellenelementen auswählt, wobei das ausgewählte Benutzerschnittstellenelement einem Zeichen der Sequenz von Zeichen zugeordnet ist, Erzeugen eines nachfolgenden Datensatzformats basierend auf der empfangenen Eingabe umfasst, wobei das nachfolgende Datensatzformat erzeugt wird, um ein Datenfeld einzuschließen, das durch das Zeichen begrenzt ist, das dem ausgewählten Benutzerschnittstellenelement zugeordnet ist, und Beenden des iterativen Prozesses bei Empfangen der Benutzereingabe, die angibt, dass ein zuletzt erzeugtes Datensatzformat ausgegeben werden soll, und Aufzeichnen des zuletzt erzeugten Datensatzformats auf mindestens einem computerlesbaren Medium.
  • Die oben beschriebenen Ausführungsformen der hier beschriebenen Technologie können auf eine beliebige von zahlreichen Weisen implementiert werden. Zum Beispiel können die Ausführungsformen unter Verwendung von Hardware, Software oder einer Kombination davon implementiert werden. Wenn sie in Software implementiert sind, kann der Softwarecode auf einem beliebigen geeigneten Prozessor oder einer beliebigen geeigneten Sammlung von Prozessoren ausgeführt werden, ob in einem einzelnen Computer bereitgestellt oder auf mehrere Computer verteilt. Solche Prozessoren können als integrierte Schaltungen mit einem oder mehreren Prozessoren in einer integrierten Schaltungskomponente implementiert werden, einschließlich handelsüblicher integrierter Schaltungskomponenten, die in der Technik unter Namen wie CPU-Chips, GPU-Chips, Mikroprozessor, Mikrocontroller oder Coprozessor bekannt sind. Alternativ kann ein Prozessor in einer kundenspezifischen Schaltung, wie einer ASIC, oder einer halbkundenspezifischen Schaltung implementiert werden, die aus der Konfiguration einer programmierbaren Logikvorrichtung resultiert. Als noch eine weitere Alternative kann ein Prozessor ein Teil einer größeren Schaltung oder Halbleitervorrichtung sein, ob handelsüblich, halbkundenspezifisch oder kundenspezifisch. Als ein spezifisches Beispiel weisen einige handelsübliche Mikroprozessoren mehrere Kerne auf, so dass einer oder eine Teilmenge dieser Kerne einen Prozessor bilden kann. Ein Prozessor kann jedoch unter Verwendung einer Schaltung in einem beliebigen geeigneten Format implementiert werden.
  • Ferner versteht es sich, dass ein Computer in einer beliebigen Anzahl von Formen verkörpert sein kann, wie etwa ein Rackcomputer, ein Desktopcomputer, ein Laptopcomputer oder ein Tabletcomputer. Zusätzlich kann ein Computer in einer Vorrichtung eingebettet sein, die im Allgemeinen nicht als Computer angesehen wird, sondern mit geeigneten Verarbeitungsfähigkeiten, einschließlich eines persönlichen digitalen Assistenten (PDA), eines Smartphones oder einer beliebigen anderen geeigneten tragbaren oder festen elektronischen Vorrichtung.
  • Außerdem kann ein Computer eine oder mehrere Eingabe- und Ausgabevorrichtungen aufweisen. Diese Vorrichtungen können unter anderem verwendet werden, um eine Benutzerschnittstelle darzustellen. Beispiele für Ausgabevorrichtungen, die verwendet werden können, um eine Benutzerschnittstelle bereitzustellen, beinhalten Drucker oder Anzeigebildschirme zur visuellen Darstellung von Ausgabe und Lautsprecher oder andere Tonerzeugungsvorrichtungen zur hörbaren Darstellung von Ausgabe. Beispiele für Eingabevorrichtungen, die für eine Benutzerschnittstelle verwendet werden können, beinhalten Tastaturen und Zeigevorrichtungen, wie etwa Mäuse, Touchpads und Digitalisierungstablets. Als ein anderes Beispiel kann ein Computer Eingabeinformationen durch Spracherkennung oder in einem anderen hörbaren Format empfangen.
  • Derartige Computer können durch ein oder mehrere Netzwerke in einer beliebigen geeigneten Form miteinander verbunden sein, einschließlich als ein lokales Netzwerk oder ein Weitverkehrsnetzwerk, wie etwa ein Unternehmensnetzwerk oder das Internet. Derartige Netzwerke können auf einer beliebigen geeigneten Technologie basieren und können gemäß einem beliebigen geeigneten Protokoll arbeiten und können drahtlose Netzwerke, drahtgebundene Netzwerke oder Glasfasernetzwerke beinhalten.
  • Außerdem können die verschiedenen Verfahren oder Prozesse, die hier umrissen sind, als Software codiert sein, die auf einem oder mehreren Prozessoren ausführbar ist, die ein beliebiges einer Vielzahl von Betriebssystemen oder Plattformen einsetzen. Zusätzlich kann derartige Software unter Verwendung einer beliebigen einer Anzahl von geeigneten Programmiersprachen und/oder Programmier- oder Skriptierungswerkzeugen geschrieben werden und kann außerdem als ausführbarer Maschinensprachcode oder Zwischencode kompiliert werden, der auf einem Framework oder einer virtuellen Maschine ausgeführt wird.
  • In dieser Hinsicht kann die Erfindung als ein computerlesbares Speichermedium (oder mehrere computerlesbare Medien) (z. B. ein Computerspeicher, eine oder mehrere Disketten, CD (Compact Discs), optische Platten, DVD (Digital Video Disks), Magnetbänder, Flash-Speicher, Schaltungskonfigurationen in feldprogrammierbaren Gate-Arrays oder anderen Halbleitervorrichtungen oder ein anderes greifbares Computerspeichermedium) verkörpert sein, das mit einem oder mehreren Programmen codiert ist, die, wenn sie auf einem oder mehreren Computern oder anderen Prozessoren ausgeführt werden, Verfahren durchführen, die die verschiedenen Ausführungsformen der vorstehend erörterten Erfindung implementieren. Wie aus den vorstehenden Beispielen ersichtlich ist, kann ein computerlesbares Speichermedium Informationen für eine ausreichende Zeit behalten, um computerausführbare Anweisungen in einer nichtflüchtigen Form bereitzustellen. Ein solches computerlesbares Speichermedium oder Medien können transportierbar sein, sodass das Programm oder die darauf gespeicherten Programme auf einen oder mehrere verschiedene Computer oder andere Prozessoren geladen werden können, um verschiedene Aspekte der vorliegenden Erfindung, wie vorstehend erörtert, zu implementieren. Wie hier verwendet, umfasst der Begriff „computerlesbares Speichermedium“ nur ein nichtflüchtiges computerlesbares Medium, das als eine Herstellung (d. h. ein Herstellungsartikel) oder eine Maschine betrachtet werden kann. Alternativ oder zusätzlich kann die Erfindung als ein anderes computerlesbares Medium als ein computerlesbares Speichermedium, wie etwa ein sich ausbreitendes Signal, verkörpert sein.
  • Die Begriffe „Programm“ oder „Software“ werden hier in einem generischen Sinn verwendet, um sich auf eine beliebige Art von Computercode oder Satz von computerausführbaren Anweisungen zu beziehen, die verwendet werden können, um einen Computer oder einen anderen Prozessor zu programmieren, um verschiedene Aspekte der vorliegenden Erfindung, wie vorstehend erörtert, zu implementieren. Zusätzlich versteht es sich, dass gemäß einem Aspekt dieser Ausführungsform ein oder mehrere Computerprogramme, die, wenn sie ausgeführt werden, Verfahren der vorliegenden Erfindung durchführen, nicht auf einem einzelnen Computer oder Prozessor vorhanden sein müssen, sondern auf modulare Weise auf eine Anzahl von verschiedenen Computern oder Prozessoren verteilt sein können, um verschiedene Aspekte der vorliegenden Erfindung zu implementieren.
  • Computerausführbare Anweisungen können in vielen Formen, wie etwa Programmmodulen, durch einen oder mehrere Computer oder andere Vorrichtungen ausgeführt werden. Im Allgemeinen beinhalten Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen usw., die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datenarten implementieren. Typischerweise kann die Funktionalität der Programmmodule wie gewünscht in verschiedenen Ausführungsformen kombiniert oder verteilt werden.
  • Außerdem können Datenstrukturen in computerlesbaren Medien in einer beliebigen geeigneten Form gespeichert sein. Zur Vereinfachung der Veranschaulichung können Datenstrukturen so gezeigt sein, dass sie Felder aufweisen, die durch den Ort in der Datenstruktur in Beziehung stehen. Solche Beziehungen können gleichermaßen durch Zuweisen von Speicher für die Felder mit Orten in einem computerlesbaren Medium erreicht werden, das die Beziehung zwischen den Feldern vermittelt. Es kann jedoch ein beliebiger geeigneter Mechanismus verwendet werden, um eine Beziehung zwischen Informationen in Feldern einer Datenstruktur herzustellen, einschließlich durch die Verwendung von Zeigern, Tags oder anderen Mechanismen, die eine Beziehung zwischen Datenelementen herstellen.
  • Verschiedene Aspekte der vorliegenden Erfindung können allein, in Kombination oder in einer Vielzahl von Anordnungen verwendet werden, die in den vorstehend beschriebenen Ausführungsformen nicht speziell erörtert werden, und sind daher in ihrer Anwendung nicht auf die Details und die Anordnung von Komponenten beschränkt, die in der vorstehenden Beschreibung dargelegt oder in den Zeichnungen dargestellt sind. Zum Beispiel können Aspekte, die in einer Ausführungsform beschrieben sind, auf eine beliebige Weise mit Aspekten kombiniert werden, die in anderen Ausführungsformen beschrieben sind.
  • Außerdem kann die Erfindung als eine Verwendung verkörpert sein, für das ein Beispiel bereitgestellt wurde. Die als Teil des Verfahrens durchgeführten Handlungen können auf eine beliebige geeignete Weise geordnet sein. Dementsprechend können Ausführungsformen konstruiert sein, in denen Handlungen in einer anderen als der dargestellten Reihenfolge durchgeführt werden, was das gleichzeitige Durchführen einiger Handlungen beinhalten kann, auch wenn sie in veranschaulichenden Ausführungsformen als aufeinanderfolgende Handlungen gezeigt sind.
  • Ferner werden einige Handlungen als von einem „Benutzer“ ausgeführt beschrieben. Es versteht sich, dass ein „Benutzer“ nicht eine einzelne Person sein muss und dass in einigen Ausführungsformen Handlungen, die einem „Benutzer“ zugeschrieben werden können, von einem Team von Personen und/oder einer Person in Kombination mit computerunterstützten Werkzeugen oder anderen Mechanismen durchgeführt werden können.
  • Die Verwendung von Ordinalbegriffen wie „erster“, „zweiter“, „dritter“ usw. in den Ansprüchen zum Modifizieren eines Anspruchselements verkennt selbst keine Priorität, Vorrang oder Reihenfolge eines Anspruchselements gegenüber einem anderen oder der zeitlichen Reihenfolge, in der Handlungen eines Verfahrens durchgeführt werden, sondern werden lediglich als Kennzeichnungen verwendet, um ein Anspruchselement mit einem bestimmten Namen von einem anderen Element mit einem gleichen Namen (aber zur Verwendung des Ordinalbegriffs) zu unterscheiden, um die Anspruchselemente zu unterscheiden.
  • Außerdem dient die hier verwendete Phraseologie und Terminologie der Beschreibung und sollte nicht als einschränkend betrachtet werden. Die Verwendung von „beinhaltend“, „umfassend“ oder „aufweisend“, „enthaltend“, „involvierend“ und Variationen davon soll hier die danach aufgeführten Gegenstände und Äquivalente davon sowie zusätzliche Gegenstände einschließen.

Claims (23)

  1. Verwendung mindestens einer Rechenvorrichtung zum Bestimmen eines Datensatzformats für einen Datensatz (101, 201), wobei der Datensatz (101, 201) eine Vielzahl von Bytes umfasst, und zum Durchführen der folgenden Operationen: Parsen des Datensatzes (101, 201) unter Verwendung eines ersten Datensatzformats (104, 210), um eine Sequenz von Zeichen zu bestimmen, die durch die Vielzahl von Bytes dargestellt werden, und Bestimmen von Werten eines oder mehrerer Datenfelder gemäß dem ersten Datensatzformat (104, 210); Anzeigen mindestens einiger der Werte des einen oder der mehreren Datenfelder gemäß dem ersten Datensatzformat (104, 210) über eine Benutzerschnittstelle (300, 400); Anzeigen, über die Benutzerschnittstelle (300, 400), einer Vielzahl von Zeichen aus der Sequenz von Zeichen als eine Sequenz von Benutzerschnittstellenelementen (310, 320, 330, 410, 420, 430, 440), wobei die Sequenz von Zeichen durch das Parsen des Datensatzes bestimmt wird, und wobei jedes der Vielzahl von Zeichen als ein separates Benutzerschnittstellenelement (310, 320, 330, 410, 420, 430, 440) in einer Reihenfolge dargestellt wird, die mit der Reihenfolge übereinstimmt, in der die Zeichen in dem Datensatz (101, 201) erscheinen; Empfangen einer Benutzereingabe, die ein oder mehrere Benutzerschnittstellenelemente der Sequenz von Benutzerschnittstellenelementen (310, 320, 330, 410, 420, 430, 440) auswählt oder abwählt, wobei jedes der ausgewählten Benutzerschnittstellenelemente einem Zeichen der Sequenz von Zeichen zugeordnet ist; Erzeugen eines zweiten Datensatzformats (220) basierend auf der empfangenen Benutzereingabe, wobei das zweite Datensatzformat (220) erzeugt wird, um für jedes der Zeichen, die den ausgewählten Benutzerschnittstellenelementen (310, 320, 330, 410, 420, 430, 440) zugeordnet sind, ein Datenfeld einzuschließen, das durch das Zeichen begrenzt ist; Parsen des Datensatzes (101, 201) unter Verwendung des zweiten Datensatzformats (220); und Anzeigen von Ergebnissen des Parsens des Datensatzes (101, 201) unter Verwendung des zweiten Datensatzformats (220) über die Benutzerschnittstelle (300, 400).
  2. Verwendung nach Anspruch 1, wobei das Anzeigen der Vielzahl der Sequenz von Zeichen umfasst: Anzeigen einer zusammenhängenden Teilmenge der Sequenz von Zeichen über die Benutzerschnittstelle (300, 400) als die Sequenz von Benutzerschnittstellenelementen (310, 320, 330, 410, 420, 430, 440), wobei jedes Zeichen der Teilmenge der Reihe nach als ein separates Benutzerschnittstellenelement dargestellt wird.
  3. Verwendung nach Anspruch 1 oder 2, wobei die Operationen ferner das Bestimmen umfassen, dass das zweite Datensatzformat (220) den Datensatz (101, 201) nicht vollständig parst, und wobei das Anzeigen der Ergebnisse des Parsens des Datensatzes (101, 201) unter Verwendung des zweiten Datensatzformats (220) über die Benutzerschnittstelle das Anzeigen einer Warnung umfasst, dass das zweite Datensatzformat (220) den Datensatz (101, 201) nicht vollständig parst.
  4. Verwendung nach einem der vorhergehenden Ansprüche, wobei die Operationen ferner das Bestimmen des ersten Datensatzformats (104, 210) zumindest teilweise basierend auf einer oder mehreren Heuristiken umfassen, um ein oder mehrere Zeichen als ein potentielles Begrenzungszeichen zu identifizieren.
  5. Verwendung nach Anspruch 4, wobei das Bestimmen des ersten Datensatzformats (104, 210) das Identifizieren eines Zeichens des Datensatzes (101, 201), das nicht alphanumerisch ist, eines Leerzeichens, eines Anführungszeichens, eines Punktes, einer Vorwärts schräge oder eines Bindestrichs und das Erzeugen eines Datenfelds des ersten Datensatzformats (104, 210) umfasst, das durch das identifizierte Zeichen begrenzt ist.
  6. Verwendung nach einem der vorhergehenden Ansprüche, wobei das erste Zeichen ein nicht druckbares Zeichen ist.
  7. Verwendung nach einem der vorhergehenden Ansprüche, wobei das erste Datensatzformat (104, 210) nur begrenzte Datenfelder einschließt.
  8. Verwendung nach einem der vorhergehenden Ansprüche, wobei die Benutzereingabe bewirkt, dass die mindestens eine Rechenvorrichtung das Aussehen des ausgewählten Benutzerschnittstellenelements in der Benutzerschnittstelle (300, 400) ändert.
  9. Verwendung nach einem der vorhergehenden Ansprüche, wobei das Anzeigen der Ergebnisse des Parsens des Datensatzes (101, 201) unter Verwendung des ersten Datensatzformats (104, 210) über die Benutzerschnittstelle das Anzeigen einer Liste von Datenaufzeichnungen des Datensatzes (101, 201) und von Datenfeldwerten der Datensätze umfasst.
  10. Verwendung nach einem der vorhergehenden Ansprüche, wobei das erste Datensatzformat (104, 210) eine Vielzahl von begrenzten Datenfeldern einschließt, die eine Vielzahl von verschiedenen Begrenzungszeichen aufweisen.
  11. Verwendung nach einem der vorhergehenden Ansprüche, wobei das Anzeigen der Ergebnisse einschließt: Anzeigen, über die Benutzerschnittstelle (300, 400), eines oder mehrerer Datenaufzeichnungen mit Werten von Datenfeldern, die durch Parsen des Datensatzes (101, 201) unter Verwendung des zweiten Datensatzformats (220) bestimmt werden.
  12. Verwendung nach einem der vorhergehenden Ansprüche, wobei das erste Datensatzformat (104, 210) zumindest teilweise durch Anwenden von Heuristiken auf den Datensatz bestimmt wird, um eine anfängliche Auswahl zu bestimmen, welche Zeichen der Sequenz von Zeichen potentielle Begrenzungszeichen sind.
  13. Verwendung nach einem der vorhergehenden Ansprüche, wobei sich das zweite Datensatzformat zumindest teilweise von dem ersten Datensatzformat unterscheidet.
  14. Verwendung nach einem der vorhergehenden Ansprüche, wobei jedes Benutzerschnittstellenelement konfiguriert ist, um entweder als Begrenzungszeichen ausgewählt oder abgewählt zu werden.
  15. Verwendung nach einem der vorhergehenden Ansprüche, wobei die Benutzerschnittstellenelemente der Sequenz, die der anfänglichen Auswahl von Zeichen entsprechen, erzeugt werden, um anfänglich automatisch in der Benutzerschnittstelle ausgewählt zu werden, während andere Benutzerschnittstellenelemente der Sequenz erzeugt werden, um anfänglich in der Benutzerschnittstelle nicht ausgewählt zu werden.
  16. Verwendung nach einem der vorhergehenden Ansprüche, wobei die Operationen ferner umfassen: Erkennen eines Fehlers, dass mindestens eines des einen oder der mehreren Datenfelder eine maximale Datenfeldgröße überschreitet, nachdem es durch eine anfängliche Auswahl eines oder mehrerer Zeichen der Sequenz von Zeichen als Begrenzungszeichen geparst wurde, und Anzeigen des Fehlers als Rückmeldung an einen Benutzer, dass das erste Datensatzformat den Datensatz nicht vollständig geparst hat.
  17. Verwendung nach Anspruch 16, wobei die Benutzereingabe empfangen wird, um den Datensatz ohne den Fehler zu parsen.
  18. Verwendung nach einem der vorhergehenden Ansprüche, wobei der Datensatz (101, 201) unter Verwendung des zweiten Datensatzformats (220) geparst wird, um Werte eines oder mehrerer Datenfelder gemäß dem zweiten Datenformat und vorzugsweise ohne den Fehler zu bestimmen.
  19. Verwendung nach einem der vorhergehenden Ansprüche, wobei das Parsen des Datensatzes unter Verwendung des zweiten Datensatzformats einschließt: Parsen einer Teilmenge des Datensatzes (101, 201) unter Verwendung des zweiten Datensatzformats (220), um Werte eines oder mehrerer Datenfelder gemäß dem zweiten Datensatzformat zu bestimmen, wobei die Teilmenge des Datensatzes (101, 201) eine erste Teilmenge von Datenaufzeichnungen und eine zweite Teilmenge von Datenaufzeichnungen einschließt, wobei die erste Teilmenge von Datenaufzeichnungen in dem Datensatz (101, 201) von der zweiten Teilmenge von Datenaufzeichnungen durch eine Vielzahl von Datenaufzeichnungen getrennt ist,
  20. Verwendung nach Anspruch 19, wobei das Anzeigen der Ergebnisse einschließt: Anzeigen, über die Benutzerschnittstelle (300, 400), eines oder mehrerer Datenaufzeichnungen der ersten Teilmenge von Datenaufzeichnungen und eines oder mehrerer Datenaufzeichnungen der zweiten Teilmenge von Datenaufzeichnungen, wobei jeder der angezeigten Datenaufzeichnungen Werte von Datenfeldern aufweist, die durch Parsen der Teilmenge des Datensatzes (101, 201) unter Verwendung des zweiten Datensatzformats (220) bestimmt werden.
  21. Verwendung nach einem der vorhergehenden Ansprüche, wobei die mindestens einigen der Werte des einen oder der mehreren Datenfelder in einem ersten Benutzerschnittstellenelement (410) der Benutzerschnittstelle angezeigt werden, die Vielzahl von Zeichen aus der Sequenz von Zeichen über ein zweites Benutzerschnittstellenelement (420) der Benutzerschnittstelle angezeigt werden, die Benutzereingabe über das zweite Benutzerschnittstellenelement (420) empfangen wird und die Operationen ferner das Anzeigen, durch ein drittes Benutzerschnittstellenelement (430) der Benutzerschnittstelle, des erzeugten zweiten Datensatzformats einschließen, wobei die eine oder die mehreren Datenaufzeichnungen über ein viertes Benutzerschnittstellenelement (440) der Benutzerschnittstelle angezeigt werden.
  22. Computersystem, umfassend: mindestens einen Prozessor; mindestens eine Benutzerschnittstellenvorrichtung; und mindestens ein computerlesbares Medium, das prozessorausführbare Anweisungen umfasst, die, wenn sie ausgeführt werden, bewirken, dass der mindestens eine Prozessor und die mindestens eine Benutzerschnittstellenvorrichtung die Operationen der Verwendung nach einem der Ansprüche 1 bis 21 durchführen.
  23. Computerlesbares Medium, das computerausführbare Anweisungen umfasst, die, wenn sie von einem oder mehreren Computern ausgeführt werden, bewirken, dass der eine oder die mehreren Computer die Operationen der Verwendung nach einem der Ansprüche 1 bis 21 durchführen.
DE202018006901.9U 2017-08-08 2018-08-08 Techniken zur dynamischen Definition eines Datensatzformats Active DE202018006901U1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762542631P 2017-08-08 2017-08-08
US62/542,631 2017-08-08
US15/837,518 2017-12-11
US15/837,518 US20190050384A1 (en) 2017-08-08 2017-12-11 Techniques for dynamically defining a data record format

Publications (1)

Publication Number Publication Date
DE202018006901U1 true DE202018006901U1 (de) 2024-04-08

Family

ID=63452709

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202018006901.9U Active DE202018006901U1 (de) 2017-08-08 2018-08-08 Techniken zur dynamischen Definition eines Datensatzformats

Country Status (9)

Country Link
US (1) US20190050384A1 (de)
EP (1) EP3665587A1 (de)
JP (1) JP7208222B2 (de)
CN (1) CN111164560A (de)
AU (2) AU2018313808A1 (de)
CA (1) CA3072326A1 (de)
DE (1) DE202018006901U1 (de)
SG (1) SG11202001130YA (de)
WO (1) WO2019032660A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11550865B2 (en) * 2019-08-19 2023-01-10 Dropbox, Inc. Truncated search results that preserve the most relevant portions

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3489326B2 (ja) * 1996-04-10 2004-01-19 株式会社日立製作所 テーブル生成方法
US20020046248A1 (en) * 2000-10-13 2002-04-18 Honeywell International Inc. Email to database import utility
US20060259519A1 (en) * 2005-05-12 2006-11-16 Microsoft Corporation Iterative definition of flat file data structure by using document instance
US8762834B2 (en) * 2006-09-29 2014-06-24 Altova, Gmbh User interface for defining a text file transformation
US10445309B2 (en) * 2009-11-13 2019-10-15 Ab Initio Technology Llc Managing record format information
US11184156B2 (en) * 2011-07-27 2021-11-23 Aon Global Operations Se, Singapore Branch Impact data manager for dynamic data delivery
US9892026B2 (en) * 2013-02-01 2018-02-13 Ab Initio Technology Llc Data records selection
US9268801B2 (en) * 2013-03-11 2016-02-23 Business Objects Software Ltd. Automatic file structure and field data type detection
US9922102B2 (en) * 2013-07-31 2018-03-20 Splunk Inc. Templates for defining fields in machine data
US9922037B2 (en) * 2015-01-30 2018-03-20 Splunk Inc. Index time, delimiter based extractions and previewing for use in indexing
US10235409B2 (en) * 2016-01-28 2019-03-19 Splunk Inc. Identifying field values based on delimiters
WO2017190153A1 (en) * 2016-04-29 2017-11-02 Unifi Software Automatic generation of structured data from semi-structured data

Also Published As

Publication number Publication date
US20190050384A1 (en) 2019-02-14
CN111164560A (zh) 2020-05-15
WO2019032660A1 (en) 2019-02-14
SG11202001130YA (en) 2020-03-30
JP2020530629A (ja) 2020-10-22
CA3072326A1 (en) 2019-02-14
AU2018313808A1 (en) 2020-02-27
AU2023258402A1 (en) 2023-11-23
JP7208222B2 (ja) 2023-01-18
EP3665587A1 (de) 2020-06-17

Similar Documents

Publication Publication Date Title
DE60219048T2 (de) Sektionsextrahierungswerkzeug für pdf-dokumente
DE19960050A1 (de) Grafische Benutzerschnittstelle zur Entwicklung von Anwendungsbeispielen unter Verwendung einer Testobjektbibliothek
DE19706512A1 (de) Echtzeit-Ereignisanordnung in einem elektronischen Ablaufdiagramm
DE112013000916T5 (de) System zum Anzeigen und Bearbeiten von Artefakten an einem zeitbezogenen Referenzpunkt
DE112020003365T5 (de) Überwachte kreuzmodale wiedergewinnung für zeitreihen und text unter verwendung von multimodalen triplettverlusten
DE112013000987T5 (de) Erzeugen von Visualisierungen einer Anzeigegruppe von Tags, die Inhaltsinstanzen in Suchkriterien erfüllenden Objekten darstellen
DE102012209711A1 (de) Systeme und Verfahren zum Verwenden grafischer Darstellungen für die Verwaltung von Abfrageergebnissen
DE112018005272T5 (de) Suchen von mehrsprachigen dokumenten auf grundlage einer extraktion der dokumentenstruktur
DE112012004331T5 (de) Verwenden der Stärke von Rückverfolgbarkeitsverknüpfungen zum Überwachen der Software-Entwicklungsintegrität
DE112017003884T5 (de) Benutzerschnittstelle für Protokollabfragen
DE112020003431T5 (de) Automatisches umwandeln eines programms, das in einer prozeduralen programmiersprache geschrieben ist, in einen datenflussgraphen, sowie zugehörige systeme und verfahren
DE102008005083A1 (de) Abrufen einer Information eines fallbasierten Schliessens aus Archivaufzeichnungen
EP2439691A1 (de) Vorrichtung und Verfahren zum maschinellen Erstellen eines Prozessdiagramms
DE60300984T2 (de) Methode und Computersystem für die Optimierung eines Boolschen Ausdrucks für Anfragebearbeitung
DE112018002626T5 (de) Verfahren und Systeme zur optimierten visuellen Zusammenfassung von Sequenzen mit zeitbezogenen Ereignisdaten
DE102020211679A1 (de) Computer-implementiertes system und verfahren mit einem digitalen zwilling und einer graphen-basierten struktur
DE112013000981T5 (de) Einheit, Programm und Verfahren zum Analysieren von Textdokumenten
DE202018006901U1 (de) Techniken zur dynamischen Definition eines Datensatzformats
DE602005006029T2 (de) Datenverarbeitungseinheit und Datenverarbeitungsprogramm gespeichert in einem computerlesbaren Aufzeichnungsmedium
EP3168699B1 (de) Verfahren mit einem suchprogramm und einem suchfeld
DE102014006634A1 (de) Durch einen Benutzer erzeugbare Kunden-Workflows
DE202016008044U1 (de) Automatische Importe und Abhängigkeiten in gross angelegten Quellcode-Repositorien
DE112012004300T5 (de) Verfahren, Programm und System zum Erstellen eines Arbeitsablaufs von einer Arbeitsspezifikation
EP1862901A1 (de) Eingabe von Programm-Anweisungen bei imperativen Programmiersprachen
DE102021108675A1 (de) Schwach überwachte erkennung einer semantischen einheit unter verwendung von allgemeinwissen und zieldomänenkenntnis

Legal Events

Date Code Title Description
R150 Utility model maintained after payment of first maintenance fee after three years
R207 Utility model specification