DE102019108856A1 - Cross-database index on a distributed database system - Google Patents

Cross-database index on a distributed database system Download PDF

Info

Publication number
DE102019108856A1
DE102019108856A1 DE102019108856.9A DE102019108856A DE102019108856A1 DE 102019108856 A1 DE102019108856 A1 DE 102019108856A1 DE 102019108856 A DE102019108856 A DE 102019108856A DE 102019108856 A1 DE102019108856 A1 DE 102019108856A1
Authority
DE
Germany
Prior art keywords
database
data
index
additional
tokens
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102019108856.9A
Other languages
German (de)
Inventor
Andreas Wilke
Ilya Komarov
Peter Palm
Manfred Paeschke
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.)
Bundesdruckerei GmbH
Original Assignee
Bundesdruckerei GmbH
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 Bundesdruckerei GmbH filed Critical Bundesdruckerei GmbH
Priority to DE102019108856.9A priority Critical patent/DE102019108856A1/en
Priority to EP20716739.6A priority patent/EP3948576A1/en
Priority to PCT/EP2020/059041 priority patent/WO2020201248A1/en
Publication of DE102019108856A1 publication Critical patent/DE102019108856A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/319Inverted lists
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Abstract

Die Erfindung betrifft ein computerimplementiertes Verfahren zum Implementieren eines datenbankübergreifenden Index (112, 222) auf einem verteilten Datenbanksystem (170), welches eine Mehrzahl von eigenständigen Einzeldatenbanken (104, 204) umfasst. Die Einzeldatenbanken sind über ein Netzwerk (180) kommunikativ miteinander verbunden. Das Verfahren umfasst ein Anwenden einer Datenverarbeitungsfunktion einer Quelldatenbank (104) auf einen zusätzlichen Datensatz (108), wobei die Datenverarbeitungsfunktion zumindest eine Indexierung des zusätzlichen Datensatzes zum Speichern in der Quelldatenbank umfasst. Ferner wird ein aus dem Anwenden der Datenverarbeitungsfunktion resultierender Ergänzungsdatensatzes (130) erstellt, welcher die in dem Index der Quelldatenbank vorgenommenen Ergänzungen umfasst und zum Ergänzen zumindest eines weiteren Index (212) zumindest einer weiteren Einzeldatenbank des verteilten Datenbanksystems als Empfangsdatenbank (204) dient. Der erstellte Ergänzungsdatensatzes wird über das Netzwerk an die zweite Einzeldatenbank zur Integration in den weiteren Index der Empfangsdatenbank (204) gesendet.The invention relates to a computer-implemented method for implementing a cross-database index (112, 222) on a distributed database system (170) which comprises a plurality of independent individual databases (104, 204). The individual databases are communicatively connected to one another via a network (180). The method comprises applying a data processing function of a source database (104) to an additional data record (108), the data processing function comprising at least indexing the additional data record for storage in the source database. Furthermore, a supplementary data record (130) resulting from the use of the data processing function is created, which includes the additions made in the index of the source database and serves to supplement at least one further index (212) of at least one further individual database of the distributed database system as a receive database (204). The supplementary data set created is sent via the network to the second individual database for integration into the further index of the receiving database (204).

Description

Die Erfindung betrifft ein Verfahren, ein Quellcomputersystem und ein verteiltes Datenbanksystem zum Implementieren eines datenbankübergreifenden Index auf einem verteilten Datenbanksystem.The invention relates to a method, a source computer system and a distributed database system for implementing a cross-database index on a distributed database system.

Im Zuge der zunehmenden Digitalisierung, Automatisierung und Vernetzung in allen Lebens- und Arbeitsbereichen entstehen komplexe verteilte Systeme, deren technisches Zusammenspiel neue technische Herausforderungen aufwirft. So umfassen entsprechende verteilte Systeme im Allgemeinen beispielsweise keinen gemeinsamen Speicher, was ein Ausführen von Datenverarbeitungsfunktionen erschwert. In the course of increasing digitization, automation and networking in all areas of life and work, complex distributed systems are emerging, the technical interaction of which raises new technical challenges. For example, corresponding distributed systems generally do not include a shared memory, which makes it difficult to carry out data processing functions.

Der Erfindung liegt die Aufgabe zugrunde, ein verbessertes Verfahren zum Implementieren eines Index auf einem verteilten Datenbanksystem zu schaffen.The invention is based on the object of creating an improved method for implementing an index on a distributed database system.

Die der Erfindung zugrundeliegende Aufgabe wird jeweils mit den Merkmalen der unabhängigen Patentansprüche gelöst. Ausführungsformen der Erfindung sind in den abhängigen Patentansprüchen angegeben.The object on which the invention is based is achieved in each case with the features of the independent patent claims. Embodiments of the invention are specified in the dependent claims.

Ausführungsformen umfassen ein computerimplementiertes Verfahren zum Implementieren eines datenbankübergreifenden Index auf einem verteilten Datenbanksystem, welches eine Mehrzahl von eigenständigen Einzeldatenbanken umfasst, wobei die Einzeldatenbanken über ein Netzwerk kommunikativ miteinander verbunden sind,
wobei die Einzeldatenbanken jeweils von einem Multi-Modell-Datenbankmanagementsystem verwaltet werden, wobei die Einzeldatenbanken jeweils eine Mehrzahl datenbankindividueller Datensätze umfassen, welche in einem dokumentenorientierten ersten Datenmodell der jeweiligen Einzeldatenbank gespeichert sind, wobei die gespeicherten Datensätze jeweils ein oder mehreren Feldwerte umfassen, wobei die einzelnen Feldwerte der gespeicherten Datensätze jeweils in einem Feld gespeichert sind,
wobei die Einzeldatenbanken ferner jeweils einen durchsuchbaren ersten Index umfassen, welcher in einem zweiten Datenmodell der jeweiligen Einzeldatenbank gespeichert ist, wobei der Index der jeweiligen Einzeldatenbank eine Mehrzahl von aus den Feldwerten der in dem dokumentenorientierten Datenmodell der entsprechenden Einzeldatenbank gespeicherten Datensätze erzeugten Token umfasst, wobei die Token in dem Index jeweils mit einem oder mehreren Zeigern auf ein oder mehrere der in dem dokumentenorientierten Datenmodell der entsprechenden Einzeldatenbank gespeicherten Datensätze verknüpft ist, aus deren Feldwerten das entsprechende Token erzeugt wurde,
wobei das Verfahren umfasst:

  • • Empfangen eines zusätzlichen Datensatzes durch eine erste Einzeldatenbank als Quelldatenbank zum Ergänzen von Datensätze der Quelldatenbank,
  • • Speichern des zusätzlichen Datensatzes, welcher ein oder mehrere zusätzliche Feldwerte umfasst, durch ein erstes Multi-Modell-Datenbankmanagementsystem der Quelldatenbank in einem dokumentenorientierten ersten Datenmodell der Quelldatenbank,
  • • Anwenden einer Datenverarbeitungsfunktion der Quelldatenbank auf den zusätzlichen Datensatz, wobei die Datenverarbeitungsfunktion zumindest eine Indexierung des zusätzlichen Datensatzes zum Speichern in einem zweiten Datenmodell der Quelldatenbank umfasst, wobei die Indexierung umfasst:
    • ◯ Erzeugen von ein oder mehreren zusätzlichen Token aus den zusätzlichen Feldwerten durch die Quelldatenbank,
    • ◯ Ergänzen des Index der Quelldatenbank durch das erste Multi-Modell-Datenbankmanagementsystem unter Verwendung der zusätzlichen Token und eines Zeigers auf den zusätzlichen in dem dokumentenorientierten Datenmodell der Quelldatenbank gespeicherten Datensatz,
  • • Erstellen eines aus dem Anwenden der Datenverarbeitungsfunktion resultierenden Ergänzungsdatensatzes, welcher die in dem Index der Quelldatenbank vorgenommenen Ergänzungen umfasst, zum Ergänzen zumindest eines zweiten Index zumindest einer zweiten Einzeldatenbank des verteilten Datenbanksystems als Empfangsdatenbank,
  • • Senden des Ergänzungsdatensatzes über das Netzwerk an die zweite Einzeldatenbank zur Integration in den zweiten Index der Empfangsdatenbank.
Embodiments include a computer-implemented method for implementing a cross-database index on a distributed database system which comprises a plurality of independent individual databases, the individual databases being communicatively connected to one another via a network,
the individual databases each being managed by a multi-model database management system, the individual databases each comprising a plurality of database-specific data records which are stored in a document-oriented first data model of the respective individual database, the stored data records each comprising one or more field values, the individual Field values of the saved data records are each saved in a field,
wherein the individual databases further each comprise a searchable first index which is stored in a second data model of the respective individual database, the index of the respective individual database comprising a plurality of tokens generated from the field values of the data records stored in the document-oriented data model of the corresponding individual database, the Token in the index is linked with one or more pointers to one or more of the data records stored in the document-oriented data model of the corresponding individual database, from whose field values the corresponding token was generated,
the method comprising:
  • • Receipt of an additional data record by a first individual database as a source database to supplement data records from the source database,
  • • Saving the additional data record, which includes one or more additional field values, by a first multi-model database management system of the source database in a document-oriented first data model of the source database,
  • Applying a data processing function of the source database to the additional data record, the data processing function comprising at least one indexing of the additional data record for storage in a second data model of the source database, the indexing comprising:
    • ◯ Generation of one or more additional tokens from the additional field values by the source database,
    • ◯ Supplementing the index of the source database by the first multi-model database management system using the additional tokens and a pointer to the additional data set stored in the document-oriented data model of the source database,
  • • Creation of a supplementary data record resulting from the use of the data processing function, which comprises the additions made in the index of the source database, for supplementing at least one second index of at least one second individual database of the distributed database system as a receive database,
  • • Sending the supplementary data set via the network to the second individual database for integration into the second index of the receiving database.

Ausführungsformen können den Vorteil haben, dass durch das Erstellen und Senden des Ergänzungsdatensatzes der Index der Empfangsdatenbank an die Änderungen des Indexes der Quelldatenbank angepasst werden kann. Obwohl es sich also um ein verteiltes Datenbanksystem mit einer Mehrzahl eigenständiger Einzeldatenbanken handelt, kann so ein datenbankübergreifender Index implementiert werden. Sind alle Einzeldatenbanken dazu konfiguriert bei einem Empfang eines zusätzlichen Datensatzes als Quelldatenbank zu fungieren, kann so ein einheitlicher datenbankübergreifenden Index des verteilten Datenbanksystems bereitgestellt werden. Sind alle Einzeldatenbanken dazu konfiguriert als Empfangsdatenbanken entsprechende Ergänzungsdatensätze zu empfangen, kann auf allen Einzeldatenbanken ein identischer datenbankübergreifender Index des verteilten Datenbanksystems bereitgestellt werden. Dies erlaubt es lokal Datenverarbeitungsfunktionen unter Berücksichtigung aller in dem verteilten Datenbanksystem zur Verfügung gestellten Daten auszuführen. Zugleich erhalten aber nicht alle Einzeldatenbanken Zugriff auf alle vorliegenden Daten in dem verteilten Datenbanksystem zur Verfügung gestellten Daten. Vielmehr erfolgt der Zugriff lediglich auf den datenbankübergreifenden Index. Der Index umfasst dabei aufgrund der Tokenisierung nicht die vollen Kontextinformationen, welche die zugrundeliegenden Datensätze umfassen. Diese vollen Kontextinformationen gehen jedoch nicht verloren, sondern stehen den Einzeldatenbanken jeweils individuell zur Verfügung. Durch den reduzierten sowie komprimierten Informationsgehalt des Index werden einerseits die Datenmengen, welche zwischen den Einzeldatenbanken zum Implementieren des datenbankübergreifenden Index auszutauschen sind, reduziert und zugleich werden die Daten der Datensätze geschützt. Dieser Schutz umfasst, dass jeweils nur die individuelle eigenständigen Einzeldatenbanken Zugriff auf die in ihrem jeweiligen ersten Datenmodell gespeicherten Datensätze besitzen. Nur diese jeweilige Einzeldatenbank hat mithin Zugang zum vollen Informationsgehalt der entsprechenden Datensätze. Die weiteren Einzeldatenbanken haben jedoch aufgrund der Zeiger Kenntnis davon, wo Datensätze gespeichert sind, aus welchen die Token de Index erzeugt wurden. Mithin können sie im Bedarfsfall eine Kopie der entsprechenden Datensätze anfordern. Die Entscheidung über eine Freigabe eines Datensatzes, d.h. ein Bereitstellen einer Kopie desselben, verbleibt jedoch jeweils bei der entsprechenden Einzeldatenbank, in derem ersten Datenmodell der Datensatz gespeichert ist. Die Verfügungsgewalt liegt somit jeweils bei der Einzeldatenbank. Daher sind die Einzeldatenbänke auch in dem Sinne eigenständig, dass jede der Einzeldatenbänke in ihrem ersten Datenmodell jeweils eine eigenständige Mehrzahl von Datensätzen umfasst, welche sich gegebenenfalls erheblich oder sogar vollständig von Datensätzen unterscheiden kann, welche in den ersten Datenmodellen anderer Einzeldatenbänke gespeichert sind. Insbesondere schützt der beschränkte Zugriff mithin vor unberechtigten Zugriffen auf die daten durch Dritte.Embodiments can have the advantage that by creating and sending the supplementary data record, the index of the receive database can be adapted to the changes in the index of the source database. Even though it is a distributed database system with a plurality of independent individual databases, a cross-database index can be implemented in this way. If all individual databases are configured to function as a source database when an additional data record is received, a uniform cross-database index of the distributed database system can be provided. If all the individual databases are configured to receive appropriate supplementary data records as receive databases, an identical cross-database index of the distributed database system can be used on all individual databases to be provided. This allows data processing functions to be carried out locally, taking into account all the data made available in the distributed database system. At the same time, however, not all individual databases have access to all the data available in the distributed database system. Rather, access is only made to the cross-database index. Due to the tokenization, the index does not include the full context information that the underlying data records include. However, this full context information is not lost, but is available to the individual databases in each case. Due to the reduced and compressed information content of the index, on the one hand, the amounts of data that have to be exchanged between the individual databases to implement the cross-database index are reduced and, at the same time, the data in the data records are protected. This protection includes that only the individual, independent individual databases have access to the data records stored in their respective first data model. Only this respective individual database therefore has access to the full information content of the corresponding data records. However, because of the pointers, the other individual databases have knowledge of where data records are stored from which the tokens de index were generated. This means you can request a copy of the relevant data records if necessary. The decision about releasing a data record, ie providing a copy of the same, however, remains in each case with the corresponding individual database in whose first data model the data record is stored. The power of disposal therefore lies with the individual database. Therefore, the individual databases are also independent in the sense that each of the individual databases in its first data model each comprises an independent plurality of data records, which may differ significantly or even completely from data records that are stored in the first data models of other individual databases. In particular, the restricted access protects against unauthorized access to the data by third parties.

Ausführungsformen können den Vorteil haben, dass die Datenverarbeitungsfunktionen jeweils einzeldatenbank-individuell ausgeführt werden. So indexiert beispielsweise jede der Einzeldatenbänke jeweils eigenständig Datensätze, welche sie empfängt. Im Ergebnis können die Datensätze somit parallel abgearbeitet werden. Somit kann das Verarbeiten der Daten parallelisiert und damit beschleunigt werden.Embodiments can have the advantage that the data processing functions are each carried out individually in a single database. For example, each of the individual databases independently indexes data records that it receives. As a result, the data records can be processed in parallel. Thus, the processing of the data can be parallelized and thus accelerated.

Ausführungsformen basieren somit auf einem verteilten System bzw. Datenbanksystem, welches eine Mehrzahl von Knoten bzw. Computern umfasst, welche jeweils eine Einzeldatenbank zur Verfügung stellen und über Kommunikationsschnittstellen miteinander kommunizieren können. Nach Ausführungsformen wird auf dem verteilten System eine Software, d.h. die Datenverarbeitungsfunktionen, ausgeführt, welche eine Mehrzahl von Funktionalitäten, wie etwa Algorithmen, Formeln, Modelle, bereitstellen kann.Embodiments are thus based on a distributed system or database system, which comprises a plurality of nodes or computers, which each provide an individual database and can communicate with one another via communication interfaces. According to embodiments, software, i. E. the data processing functions, which can provide a plurality of functionalities such as algorithms, formulas, models.

Nach Ausführungsformen kann sich die Datenverarbeitungsfunktion einem Indexieren empfangener Datensätze und einer Erstellung bzw. Verwaltung eines darauf basierenden Index erschöpfen. Nach weiteren Ausführungsformen kann die Datenverarbeitungsfunktion aber noch weitere Funktionalitäten umfassen, deren Anwendung sich in der resultierenden Struktur des Index wiederfindet. Somit lassen sich die von dem Index bereitgestellten Daten für vielfältige Zwecke optimieren.According to embodiments, the data processing function can exhaust itself from indexing received data records and creating or managing an index based thereon. According to further embodiments, however, the data processing function can also include further functionalities, the application of which is found in the resulting structure of the index. The data provided by the index can thus be optimized for a variety of purposes.

Bei der Software kann es sich beispielsweise um eine Software handeln, welche auf den einzelnen Knoten des Systems, d.h. den Einzeldatenbänken, unabhängig von den anderen Knoten des verteilten Systems ausgeführt wird. Das verteilte System bezieht sich in diesem Fall darauf, dass jeder der Knoten des verteilten Systems jeweils eine vollständige Kopie des Index umfasst. Dabei indexiert der resultierende Index alle Einzeldatenbanken des verteilten Systems, d.h. es kann sich bei dem Index um einen kombinierten Gesamtindex handeln, welcher alle Teilindexe der einzelnen Konten des verteilten Systems umfasst.The software can, for example, be software which is installed on the individual nodes of the system, i.e. the individual databases, independently of the other nodes of the distributed system. The distributed system in this case refers to the fact that each of the nodes of the distributed system includes a complete copy of the index. The resulting index indexes all individual databases of the distributed system, i.e. the index can be a combined overall index which includes all sub-indexes of the individual accounts of the distributed system.

Eine verteilte Anwendung bezeichnet ein komplexes Anwendungsprogramm, welche auf einem verteilten System, also auf mehreren Computern, abläuft und unter diesen Informationen austauscht. Beispielsweise erfolgt eine Verteilung der entsprechenden Anwendung durch horizontale Schnitte im Softwareschichtenmodell, so dass die Aufgabe der Gesamtsoftware auf einzelne Softwarekomponenten in Form der einzelnen Schnitte aufgeteilt werden kann. Zur Erfüllung der Gesamtaufgabe ist in diesem Fall eine Mitwirkung aller Komponenten der Anwendung erforderlich, welche zu diesem Zweck untereinander kommunizieren. Für einen Client ist die verteilte Anwendung zumeist transparent, d.h. die verteilte Anwendung erscheint als eine einheitliche Anwendung.A distributed application describes a complex application program that runs on a distributed system, i.e. on several computers, and exchanges information between them. For example, the corresponding application is distributed through horizontal cuts in the software layer model, so that the task of the overall software can be divided into individual software components in the form of the individual cuts. In this case, all components of the application that communicate with one another for this purpose must cooperate in order to fulfill the overall task. The distributed application is mostly transparent to a client, i.e. the distributed application appears as a single application.

Nach Ausführungsformen führt jede Einzeldatenbank eine Datenverarbeitungsfunktion aus. Hierbei kann es sich bei allen Einzeldatenbanken um die gleiche Datenverarbeitungsfunktion handeln, welche mithin parallelisiert wird, oder es kann sich um
einzeldatenbank-individuelle Datenverarbeitungsfunktionen handeln, deren Ausführung sich ergänzt. Beispielsweise kann sich die Indexerstellung unterschiedlicher Einzeldatenbanken dahingehend unterscheiden, welche Granularität die in dem Index ergänzten Token aufweisen. Bei Sensormesswerten können beispielweise die exakten Messwerte in dem Index ergänzt werden, es kann ein gerundeter Messwert oder es können Zuordnungen zu einem Werteintervall ergänzt werden. Handelt es sich um Werte unterschiedlicher Sensoren, können an diese unterschiedliche Anforderungen bestehen, welche mittels einzeldatenbank-individueller Datenverarbeitungsfunktionen implementiert werden können.
According to embodiments, each individual database carries out a data processing function. This can be the same data processing function in all individual databases, which is therefore parallelized, or it can be
act single database-individual data processing functions, the execution of which is complementary. For example, the creation of an index of different individual databases can change this differentiate the granularity of the tokens added to the index. In the case of sensor measured values, for example, the exact measured values can be added to the index, a rounded measured value or assignments to a value interval can be added. In the case of values from different sensors, there may be different requirements for them, which can be implemented by means of individual database-specific data processing functions.

Unter einem verteilten System wird eine Mehrzahl interagierender Prozesse bzw. eine Mehrzahl von Prozesse ausführenden interagierenden Prozessoren verstanden, welche über keinen gemeinsamen Speicher verfügen, sondern vielmehr über Nachrichten miteinander kommunizieren. Ein verteiltes System ermöglicht somit einen Zusammenschluss unabhängiger Computer bzw. Einzeldatenbanken, welche sich für den jeweiligen Nutzer jeweils als ein einziges System präsentieren. Im vorliegenden Fall sieht der jeweilige Nutzer beispielsweise einen datenbankübergreifenden Index. Erst wenn auf Datensätze direkt zugegriffen werden soll, welche sich in einem Datenmodell einer anderen Einzeldatenbank gespeichert sind, kann für den Nutzer ersichtlich werden, dass es sich nicht um ein einziges System sondern vielmehr tatsächlich um ein verteiltes System handelt.A distributed system is understood to mean a plurality of interacting processes or a plurality of interacting processors executing processes which do not have a common memory, but rather communicate with one another via messages. A distributed system thus enables independent computers or individual databases to be merged, each of which is presented as a single system for the respective user. In the present case, the respective user sees, for example, a cross-database index. Only when data records are to be accessed directly, which are stored in a data model of another individual database, can it become apparent to the user that it is not a single system but rather a distributed system.

Ausführungsformen können den Vorteil haben, dass auf jedem der Knoten bzw. auf jeder der Einzeldatenbänke jeweils die Funktionalität des vollständigen Index genutzt werden kann, ohne dass die entsprechenden Koten alle Datensätze des gesamten verteilten Datenbanksystems umfassen. Dadurch kann auf den jeweiligen Knoten ein Overhead für den Betrieb und die Speicherung der Datensätze restlichen Knoten bzw. Einzeldatenbänke vermieden werden.Embodiments can have the advantage that the functionality of the complete index can be used on each of the nodes or on each of the individual databases without the corresponding nodes including all data records of the entire distributed database system. As a result, an overhead for the operation and storage of the data records of the remaining nodes or individual databases can be avoided on the respective nodes.

Ausführungsformen können den Vorteil haben, dass an keinem Ort eine vollständige zentrale Speicherung aller Daten bzw. ein Zusammenführen aller Datenbanken notwendig ist, damit auf die Gesamtheit der Informationen aller Indexe aller Datenbanken zugegriffen werden kann und diese ausgewertet werden können. Somit lässt sich vermeiden, dass von einer zentralen Instanz alle Daten gesammelt werden, welche damit Zugriff auf alle Daten gelangen könnte. Insbesondere lassen sich damit verbundene Sicherheitsrisiken vermeiden bzw. minimieren.Embodiments can have the advantage that a complete central storage of all data or a merging of all databases is not necessary at any location so that the entirety of the information of all indexes of all databases can be accessed and evaluated. This prevents a central instance from collecting all the data that could access all of the data. In particular, associated security risks can be avoided or minimized.

Ausführungsformen können den Vorteil haben, dass Daten, welche von einem Knoten in dem verteilten Netzwerk erfasst werden, direkt mit einem Besitzer bzw. einer Identität verknüpft werden. So werden die empfangenen Datensätze beispielsweise jeweils direkt der empfangenen Einzeldatenbank oder einem Nutzer der entsprechenden Einzeldatenbank als Eigner bzw. Besitzer zugeordnet.Embodiments can have the advantage that data which are recorded by a node in the distributed network are linked directly to an owner or an identity. For example, the received data records are each assigned directly to the received individual database or to a user of the corresponding individual database as the owner or owner.

Ausführungsformen können den Vorteil haben, dass sie es ermöglichen gezielt Funktionalitäten einer Softwarekomponente auf einzelnen Netzwerkknoten in einem verteilten System zu betreiben. Damit kann der Speicher- und Rechenbedarf auf den betreffenden Knoten minimiert werden, während die gewünschte Funktionalität betrieben wird. Dies ermöglicht es auch verhältnismäßig leistungsschwachen, z.B. im Verhältnis zu weiteren Knoten des verteilten Netzwerks, lokal vor Ort Funktionalitäten auszuführen.Embodiments can have the advantage that they enable functionalities of a software component to be operated in a targeted manner on individual network nodes in a distributed system. In this way, the memory and computing requirements on the relevant node can be minimized while the desired functionality is operated. This also enables relatively underperforming, e.g. in relation to other nodes of the distributed network, to execute functionalities locally on site.

Ausführungsformen können den Vorteil haben, dass sie eine Implementierung eines Edge-Computing-Systems bereitstellen.Embodiments may have the advantage of providing an implementation of an edge computing system.

Edge Computing bezeichnet eine dezentrale Datenverarbeitung am Rand eines Netzwerks, der sogenannten Edge. Das Edge Computing stellt einen Gegensatz zum Cloud Computing dar, bei welchem Computer-Anwendungen, Daten und Dienste zentral, d.h. von zentralen Netzwerkknotennoten, einer Mehrzahl von dezentralen Netzwerkknoten zur Nutzung bereitgestellt werden.Edge computing describes decentralized data processing at the edge of a network, the so-called edge. Edge computing is in contrast to cloud computing, in which computer applications, data and services are centralized, i.e. from central network node nodes, a plurality of decentralized network nodes are provided for use.

Demgegenüber ist das Edge Computing darauf ausgerichtet, Computer-Anwendungen, Daten und Dienste möglichst vor Ort lokal oder zumindest in der Nähe zu verarbeiten. Dies kann den Vorteil haben, dass Datenströme ressourcenschonend auf lokale Netzwerkbereich begrenzen lassen. Hierbei können insbesondere Ressourcen verwendet werden, welche nicht permanent mit einem Netzwerk verbunden sind, insbesondere mobile Computersysteme, z.B. Controller, Notebooks, Smartphones, Tabletcomputer und Sensoren. Beim Edge Computing können unterschiedliche Verfahren und Strukturen Anwendung, wie etwa Sensornetze, eine mobile Datenerfassung, eine mobile Signaturanalyse und/oder eine Peer-to-Peersowie Ad-hoc-Vernetzung. Edge Computing kann den Vorteilhaben, dass es als Architekturkonzept für das Internet der Dinge (loT) verwendet lässt, welches eine Verknüpfung eindeutig identifizierbarer physischer Objekte, d.h. „things“, mit einer virtuellen Repräsentation bzw. Identität in einer Netzwerkstruktur, z.B. einer „Internet“-ähnlichen Struktur, herstellt.In contrast, edge computing is geared towards processing computer applications, data and services locally or at least in the vicinity if possible. This can have the advantage that data streams can be limited to local network areas in a way that conserves resources. In particular, resources can be used that are not permanently connected to a network, in particular mobile computer systems, e.g. Controllers, notebooks, smartphones, tablet computers and sensors. Different processes and structures can be used in edge computing, such as sensor networks, mobile data acquisition, mobile signature analysis and / or peer-to-peer and ad-hoc networking. Edge computing can have the advantage that it can be used as an architectural concept for the Internet of Things (loT), which allows a link between clearly identifiable physical objects, i.e. "Things", with a virtual representation or identity in a network structure, e.g. an "Internet" -like structure.

Dienste, welche im Zuge des Edge Computing bereitgestellt werden, können den Vorteil haben, dass sich das zu übertragende Datenvolumen und damit der Datenaustausch ebenso wie die Übertragungsstrecken signifikat reduzieren lassen, wodurch sich Übertragungskosten und Wartezeiten verringern lassen. Im Ergebnis kann so die Servicequalität insgesamt verbessert werden. Beim Edge Computing sind zentrale Rechenzentren nicht oder höchsten in geringer Anzahl notwendig, wodurch sich Flaschenhalseffekte an solchen Rechenzentren für den Datentransfer vermeiden lassen ebenso wie damit verbundene potentielle Fehlerquellen. Indem verschlüsselte Dateien näher an den jeweiligen Datenquellen und/oder Verschlüsselungsinstanzen verarbeitet werden, lässt sich zudem die Sicherheit der von Daten innerhalb des verteilten Systems erhöhen. Insbesondere können dadurch potentielle Sicherheitsgefahren wie etwa Viren, verfälschte Daten und/oder Hackerangriffe frühzeitig erkannt und wirksam abgewehrt werden. Zudem erweitert die Fähigkeit zur Virtualisierung die Skalierbarkeit innerhalb des Systems, d.h. die Anzahl der Edge-Geräte im Netzwerk lässt sich problemlos steigern. Schließlich können unter Verwendung des Edge Computings infolge der schnelleren Datenverarbeitung Echtzeit-Anforderungen im Internet der Dinge besser unterstützt als dies im Zuge des Cloud Computings im Allgemeinen möglich ist.Services that are provided in the course of edge computing can have the advantage that the data volume to be transmitted and thus the data exchange as well as the transmission paths can be significantly reduced, which means that transmission costs and waiting times can be reduced. As a result, the overall service quality can be improved. With edge computing, central data centers are either not or to a large extent in small number is necessary, whereby bottleneck effects at such data centers for data transfer can be avoided as well as the associated potential sources of error. By processing encrypted files closer to the respective data sources and / or encryption instances, the security of the data within the distributed system can also be increased. In particular, this enables potential security threats such as viruses, falsified data and / or hacker attacks to be recognized early and effectively averted. In addition, the ability to virtualize extends the scalability within the system, ie the number of edge devices in the network can be easily increased. Finally, when using edge computing, real-time requirements in the Internet of Things can be better supported as a result of faster data processing than is generally possible in the course of cloud computing.

Nutzer umgeben sich im Alltag in immer höherem Maße mit elektronischen Geräten, welche Computerfunktionalität und -konnektivität aufweisen. Ein Trend ist die zunehmende Verbreitung von Wearables, d.h. Computersystemen, die während der Anwendung am Körper des Nutzers angeordnet sind. Ein weiterer Trend ist das Ersetzen von Gegenständen des Alltags durch „intelligente Gegenstände“ (auch „smart devices“ genannt), welche informationstechnisch aufgerüstete und dazu konfiguriert sind selbst Informationen zu verarbeiten. Diese intelligenten Gegenstände sind mit datenverarbeitender Hardware ausgerüstet, wie etwa einem eingebauten Mikrocontroller, Kommunikationsschnittstellen und/oder Sensoren, sodass sie Daten erfassen, speichern und/oder untereinander austauschen können. Ein Schlagwort für diese Entwicklung ist beispielsweise das sogenannte Internet der Dinge (abgekürzt auch loT von „internet of things“).In everyday life, users increasingly surround themselves with electronic devices that have computer functionality and connectivity. One trend is the increasing spread of wearables, i.e. Computer systems which are arranged on the body of the user during use. Another trend is the replacement of everyday objects with “intelligent objects” (also known as “smart devices”), which are equipped with information technology and are configured to process information themselves. These intelligent objects are equipped with data processing hardware, such as a built-in microcontroller, communication interfaces and / or sensors, so that they can record, store and / or exchange data with one another. A catchphrase for this development is, for example, the so-called Internet of Things (also abbreviated to loT for “internet of things”).

Beispielsweise wird eine Mehrzahl von Datenerfassungsvorrichtungen bereitgestellt, welche in dem verteilten Datenbanksystem angeordnet sind, lokal Daten erfassen oder erzeugen und diese Daten bzw. darauf basierende Ergänzungsdatensätze jeweils mittels einer Kommunikationsschnittstelle über das Netzwerk an ein oder mehrere andere Knoten übertragen.For example, a plurality of data acquisition devices are provided, which are arranged in the distributed database system, acquire or generate data locally and transmit this data or supplementary data records based thereon to one or more other nodes via a communication interface over the network.

Durch die Reduktion der Software auf Ihre Kernfunktionalitäten können Speicherbedarf und Rechenkapazität eingespart werden, so dass die entsprechende Software beispielsweise in loT-Sensoren effektiv und effizient eingesetzt werden kann. Durch eine Verknüpfung der Daten mit jeweils einem Besitzer bzw. mit einer Identität, kann das Sicherheitsniveau der Daten gehoben, da eine nachträgliche Manipulation der Daten durch Unberechtigte ausgeschlossen werden kann.By reducing the software to its core functionalities, memory requirements and computing capacity can be saved so that the corresponding software can be used effectively and efficiently in loT sensors, for example. Linking the data with an owner or with an identity increases the level of security of the data, since subsequent manipulation of the data by unauthorized persons can be excluded.

Durch die Verwendung von gezielten Funktionalitäten einer Softwarekomponente, können lokal auf ressourcenbeschränkten Knoten in einem verteilten System Funktionalitäten ausgeführt werden, für welche ansonsten die gesamte Software notwendig wäre.By using specific functionalities of a software component, functionalities can be executed locally on resource-restricted nodes in a distributed system, for which the entire software would otherwise be necessary.

Ausführungsformen können den Vorteil haben, dass sie ein vorteilhaftes verteiltes Datenbanksystem für das Internet der Dinge bereitstellen können.Embodiments can have the advantage that they can provide an advantageous distributed database system for the Internet of Things.

Nach Ausführungsformen umfasst das Ergänzen des Index:

  • • Abgleichen der zusätzlichen Token mit dem Index der Quelldatenbank,
  • • falls eines der zusätzlichen Token nicht von dem Index der Quelldatenbank umfasst ist, Ergänzen des entsprechenden zusätzlichen Tokens in dem Index der Quelldatenbank und Verknüpfen des entsprechenden zusätzlichen Tokens in dem Index mit dem Zeiger auf den zusätzlichen in dem dokumentenorientierten Datenmodell der Quelldatenbank gespeicherten Datensatz,
  • • falls eines der zusätzlichen Token von dem Index der Quelldatenbank umfasst ist, Verknüpfen des entsprechenden zusätzlichen Tokens in dem Index der Quelldatenbank mit dem Zeiger auf den zusätzlichen in dem dokumentenorientierten Datenmodell der Quelldatenbank gespeicherten Datensatz.
According to embodiments, supplementing the index includes:
  • • Matching the additional tokens with the index of the source database,
  • • if one of the additional tokens is not included in the index of the source database, adding the corresponding additional token in the index of the source database and linking the corresponding additional token in the index with the pointer to the additional data set stored in the document-oriented data model of the source database,
  • If one of the additional tokens is included in the index of the source database, linking the corresponding additional token in the index of the source database with the pointer to the additional data record stored in the document-oriented data model of the source database.

Ausführungsformen können den Vorteil haben, dass Daten aus zusätzlichen Datensätze effizient in die bestehende Einzeldatenbank und insbesondere in den Index eingefügt werden können. Die unter Verwendung des zusätzlichen Datensatzes erzeugten Token werden mit dem Index abgeglichen. Alle Token, welche der Index (noch) nicht umfasst, werden in dem Index als zusätzliche Token ergänzt. Ferner werden die zusätzlichen Token jeweils mit dem Zeiger auf den zusätzlichen Datensatz verknüpft. Somit kann auch bei einer Übertragung der entsprechenden Indexstrukturen zur Ergänzung eines anderen Index einer anderen Einzeldatenbank anhand der Zeiger nachvollzogen werden, welche Einzeldatenbank die zugrundeliegenden Daten bzw. Datensätze umfasst.Embodiments can have the advantage that data from additional data records can be efficiently inserted into the existing individual database and in particular into the index. The tokens generated using the additional data record are compared with the index. All tokens that the index does not (yet) include are added to the index as additional tokens. Furthermore, the additional tokens are each linked to the pointer to the additional data record. Thus, even when the corresponding index structures are transferred to supplement another index of another individual database, the pointers can be used to determine which individual database comprises the underlying data or data records.

Für solche Token des zusätzlichen Datensatzes, welche der Index bereits umfasst, wird in dem Index jeweils der Zeiger auf den zusätzlichen Datensatz ergänzt.For those tokens of the additional data record which the index already includes, the pointer to the additional data record is added to the index.

Ausführungsformen können den Vorteil haben, dass stets sichergestellt werden kann, dass der Index alle von den Datensätzen der Datenbank umfassten Token aufweist oder zumindest berücksichtigt.Embodiments can have the advantage that it can always be ensured that the index contains all of the data records in the database tokens included or at least taken into account.

Nach Ausführungsformen wird der Ergänzungsdatensatz von der Quelldatenbank über das Netzwerk an eine vordefinierte erste Gruppe von ein oder mehreren Einzeldatenbanken der Mehrzahl von Einzeldatenbank als Empfangsdatenbanken gesendet, welche die zweite Einzeldatenbank umfasst. Ausführungsformen können den Vorteil haben, dass für vordefinierte erste Gruppe sichergestellt werden kann, dass deren Mitglieder jeweils über den vollständigen datenbankübergreifenden Index verfügen. Dies kann beispielsweise in einem asymmetrischen System vorteilhaft sein, in welchem für ein oder mehrere der Einzeldatenbanken keine Notwendigkeit eines Bereitstellens eines vollständigen Index besteht. Dies kann etwa der Fall sein, falls auf diesen Datenbanken keine oder nur selten lokale Suchen ausgeführt werden. In diesem Fall dient die entsprechende Einzeldatenbank in erster Linie als Datenspeicher und zur Parallelisierung der Indexerstellung.According to embodiments, the supplementary data set is sent from the source database via the network to a predefined first group of one or more individual databases of the plurality of individual databases as receive databases which the second individual database comprises. Embodiments can have the advantage that it can be ensured for a predefined first group that its members each have the complete cross-database index. This can be advantageous, for example, in an asymmetrical system in which there is no need to provide a complete index for one or more of the individual databases. This can be the case, for example, if no or only seldom local searches are carried out on these databases. In this case, the corresponding individual database serves primarily as a data store and for parallelizing the creation of the index.

Nach Ausführungsformen wird der Ergänzungsdatensatz von der Quelldatenbank über das Netzwerk an alle weiteren von der Mehrzahl von Einzeldatenbanken umfassten Einzeldatenbanken als Empfangsdatenbanken gesendet wird. Ausführungsformen können den Vorteil haben, dass auf allen Einzeldatenbanken jeweils ein datenbankübergreifender Index implementiert werden kann.According to embodiments, the supplementary data set is sent from the source database via the network to all further individual databases comprised by the plurality of individual databases as receive databases. Embodiments can have the advantage that a cross-database index can be implemented on each of the individual databases.

Nach Ausführungsformen ist eine vordefinierte zweite Gruppe von mehreren Einzeldatenbanken der Mehrzahl von Einzeldatenbank dazu konfiguriert, bei Empfang zusätzlicher Datensätze jeweils als eine Quelldatenbank zu fungieren. Nach Ausführungsformen sind alle Einzeldatenbanken der Mehrzahl von Einzeldatenbanken dazu konfiguriert, bei Empfang zusätzlicher Datensätze jeweils als eine Quelldatenbank zu fungieren. Je nachdem wie viele der Einzeldatenbänke auch als Quelldatenbänke konfiguriert sind können unterschiedliche Grade an Vereinheitlichung der individuellen Indexe der Einzeldatenbänke erzielt werden.According to embodiments, a predefined second group of a plurality of individual databases of the plurality of individual databases is configured to function as a source database in each case when additional data records are received. According to embodiments, all of the individual databases of the plurality of individual databases are configured to act as a source database when additional data records are received. Depending on how many of the individual databases are also configured as source databases, different degrees of standardization of the individual indexes of the individual databases can be achieved.

Nach Ausführungsformen ist der Quelldatenbank ein Sensor zugeordnet und der zusätzliche Datensatz umfasst von dem Sensor erfasste Sensordaten. Ausführungsformen können den Vorteil habe, dass die Sensordaten direkt nach ihrer Erfassung indexiert werden. Nach Ausführungsformen ist jeder Einzeldatenbank der Mehrzahl von Einzeldatenbanken jeweils ein oder mehrere Sensoren zugeordnet sind, von welchen die jeweilige Einzeldatenbank jeweils erfasste Sensordaten in Form zusätzlicher Datensätze empfängt.According to embodiments, a sensor is assigned to the source database and the additional data record comprises sensor data recorded by the sensor. Embodiments can have the advantage that the sensor data are indexed directly after their acquisition. According to embodiments, each individual database of the plurality of individual databases is assigned one or more sensors, from which the respective individual database receives recorded sensor data in the form of additional data records.

Nach Ausführungsformen umfasst die Datenverarbeitungsfunktion ferner ein Normalisieren der zusätzlichen Token im Zuge des Ergänzens des Index der Quelldatenbank. Nach Ausführungsformen erfüllt das Normalisieren die fünfte und/oder sechste Normalform. Ausführungsformen können den Vorteil haben, dass Redundanzen vermieden werden können.According to embodiments, the data processing function further comprises normalizing the additional tokens in the course of adding to the index of the source database. According to embodiments, the normalization fulfills the fifth and / or sixth normal form. Embodiments can have the advantage that redundancies can be avoided.

Nach Ausführungsformen können die Token in Form von Relationen oder äquivalenten Strukturen gespeichert sein. Unter einer Relation wird hier im Sinn der relationalen Datenbanktheorie eine Menge von Tupel. Ein Tupel ist eine Menge von Attributwerten. Ein Attribut bezeichnet einen Datentyp bzw. eine ein oder mehreren Daten zugeordnete Eigenschaft. Dabei bestimmt die Anzahl der Attribute den Grad, die Anzahl der Tupel die Kardinalität einer Relation.According to embodiments, the tokens can be stored in the form of relations or equivalent structures. In the sense of relational database theory, a relation is a set of tuples. A tuple is a set of attribute values. An attribute describes a data type or a property assigned to one or more data. The number of attributes determines the degree, the number of tuples the cardinality of a relation.

Unter einer Normalisierung, insbesondere unter einer Normalisierung eines relationales Datenmodells, wird eine Aufteilung von Attributen in eine Mehrzahl von Relationen gemäß einer Normalisierungsregeln verstanden, sodass Redundanzen reduziert bzw. minimiert werden. Ein relationales Datenmodell lässt sich beispielsweise in tabellenartigen Datenstrukturen implementieren, in denen die Relationen in Form von Tabellen, die Attribute in Form von Tabellenspalten und die Tupel in Form von Tabellenzeilen realisiert sind.Normalization, in particular normalization of a relational data model, is understood to mean a division of attributes into a plurality of relations according to a normalization rule, so that redundancies are reduced or minimized. A relational data model can be implemented, for example, in table-like data structures in which the relations are implemented in the form of tables, the attributes in the form of table columns and the tuples in the form of table rows.

Datenredundanzen haben die Gefahr, dass es bei Änderungen von Daten, welche mehrfach umfasst sind, zu Inkonsistenzen kommen kann und Anomalien auftreten. Ferner steigt durch Redundanzen unnötiger Weise der Speicherplatzbedarf. Durch eine Normalisierung können solche Redundanzen verringert bzw. minimiert werden. Ein relationales Datenmodell kann beispielsweise in eine Normalform gebracht werden, indem die Relationen des Datenschemas fortschreitend anhand der für die entsprechende Normalform geltenden funktionalen Abhängigkeiten in einfachere Relationen zerlegt.Data redundancies run the risk of inconsistencies and anomalies occurring when data is changed that is multiple times. Furthermore, redundancies unnecessarily increase the storage space requirement. Such redundancies can be reduced or minimized by normalization. A relational data model can be brought into a normal form, for example, in that the relations of the data schema are progressively broken down into simpler relations on the basis of the functional dependencies applicable to the corresponding normal form.

Es können beispielsweise folgende Normalformen unterschieden werden: 1. Normalform (1NF), 2. Normalform (2NF), 3. Normalform (3NF), Boyce-Codd-Normalform (BCNF), 4. Normalform (4NF), 5. Normalform (5NF), 6. Normalform (6NF).
Die Normalisierungskriterien nehmen dabei von Normalform zu Normalform zu und umfassen jeweils die Normalisierungskriterien der vorhergehenden Normalformen, d.h. 1 NF ⊆ 2NF ⊆ 3NF ⊆ BCNF ⊆ 4NF ⊆ 5NF ⊆ 6NF.
For example, the following normal forms can be distinguished: 1. normal form (1NF), 2. normal form (2NF), 3 . Normal form (3NF), Boyce-Codd normal form (BCNF), 4th normal form (4NF), 5th normal form (5NF), 6th normal form (6NF).
The normalization criteria increase from normal form to normal form and each include the normalization criteria of the previous normal forms, ie 1 NF ⊆ 2NF ⊆ 3NF ⊆ BCNF ⊆ 4NF ⊆ 5NF ⊆ 6NF.

Eine Relation ist in der ersten Normalform, falls jedes Attribut der Relation einen atomaren Wertebereich besitzt und die Relation frei von Wiederholungsgruppen ist. Unter atomar wird hier ein Ausschluss von zusammengesetzten, mengenwertigen oder geschachtelten Wertebereichen für die Attribute, d.h. relationenwertigen Attributwertebereichen, verstanden. Eine Freiheit von Wiederholungsgruppen erfordert es, dass Attribute, die gleiche bzw. gleichartige Information enthalten, in unterschiedliche Relationen ausgelagert werden.A relation is in the first normal form if each attribute of the relation has an atomic range of values and the relation is free of repeating groups. The term atomic is used here to exclude composite, quantity-valued or nested value ranges for the attributes, i.e., relation-valued attribute value ranges, Understood. Freedom from repeating groups requires that attributes that contain the same or similar information are transferred to different relations.

Eine Relation ist in der zweiten Normalform, wenn sie die Anforderungen der ersten Normalform erfüllt und kein Nichtprimärattribut funktional von einer echten Teilmenge eines Schlüsselkandidaten abhängt. Ein Nichtprimärattribut ist ein Attribut, welches nicht Teil eines Schlüsselkandidaten ist. Das bedeutet, dass jedes Nichtprimärattribut jeweils von allen ganzen Schlüsseln abhängig und nicht nur von einem Teil eines Schlüssels. Relationen in der ersten Normalform, deren Schlüsselkandidaten nicht zusammengesetzt sind, sondern aus jeweils einem einzelnen Attribut bestehen, erfüllen mithin automatisch die zweite Normalform. Unter einem Schlüsselkandidaten wird hierbei eine minimale Menge von Attributen verstanden, welche die Tupel einer Relation eindeutig identifiziert.A relation is in the second normal form if it meets the requirements of the first normal form and no non-primary attribute is functionally dependent on a real subset of a key candidate. A non-primary attribute is an attribute that is not part of a key candidate. This means that each non-primary attribute is dependent on all whole keys and not just on part of a key. Relations in the first normal form, the key candidates of which are not composed but consist of a single attribute, therefore automatically satisfy the second normal form. A key candidate is understood here to be a minimal set of attributes that uniquely identify the tuples of a relation.

Eine Relation ist in der dritten Normalform, wenn sie die Anforderungen der zweiten Normalform erfüllt und kein Nichtschlüsselattribut von einem Schlüsselkandidaten transitiv abhängt. Ein Attribut ist von einem Schlüsselkandidaten transitiv abhängig, wenn das entsprechende Attribut von dem entsprechenden Schlüsselkandidaten über ein weiteres Attribut abhängig ist.A relation is in the third normal form if it fulfills the requirements of the second normal form and no non-key attribute depends transitively on a key candidate. An attribute is transitively dependent on a key candidate if the corresponding attribute is dependent on the corresponding key candidate via a further attribute.

Eine Relation ist in der Boyce-Codd-Normalform, wenn sie die Anforderungen der dritten Normalform erfüllt und jede Determinante ein Superschlüssel ist. Unter einer Determinante wird hier eine Attributmenge verstanden, von welcher andere Attribute funktional abhängen sind. Eine Determinante beschreibt somit die Abhängigkeit zwischen Attributen einer Relation und legt fest, welche Attributmengen den Wert der übrigen Attribute bestimmen. Ein Superschlüssel ist eine Menge von Attributen in einer Relation, welche die Tupel in dieser Relation eindeutig identifizieren. Mithin umfassen die Attribute dieser Menge bei paarweise ausgewählten Tupeln immer unterschiedliche Werte. Schlüsselkandidat ist mithin eine minimale Teilmenge der Attribute eines Superschlüssels, welche die Identifizierung der Tupel ermöglicht.A relation is in Boyce-Codd normal form if it meets the requirements of the third normal form and every determinant is a super key. A determinant is understood here to be a set of attributes on which other attributes are functionally dependent. A determinant thus describes the dependency between attributes of a relation and defines which attribute sets determine the value of the other attributes. A super key is a set of attributes in a relation which uniquely identify the tuples in this relation. The attributes of this set therefore always include different values in the case of tuples selected in pairs. The key candidate is therefore a minimal subset of the attributes of a super key, which enables the tuple to be identified.

Eine Relation ist in der vierten Normalform, wenn sie die Anforderungen der Boyce-Codd-Normalform erfüllt und keine nichttrivialen mehrwertigen Abhängigkeiten umfasst.A relation is in the fourth normal form if it meets the requirements of the Boyce-Codd normal form and does not contain any nontrivial multivalued dependencies.

Eine Relation ist in der fünften Normalform, wenn sie die Anforderungen der vierten Normalform erfüllt und keine mehrwertigen Abhängigkeiten umfasst, die voneinander abhängig sind. Die fünfte Normalform liegt somit vor, falls jeder nichttriviale Verbund-Abhängigkeit durch die Schlüsselkandidaten impliziert ist. Eine Verbund-Abhängigkeit ist durch die Schlüsselkandidaten der Ausgangsrelation impliziert, wenn jede Relation der Menge von Relationen ein Superschlüssel der Ausgangsrelation ist.A relation is in the fifth normal form if it meets the requirements of the fourth normal form and does not include any multivalued dependencies that are mutually dependent. The fifth normal form is therefore present if every non-trivial compound dependency is implied by the key candidates. A compound dependency is implied by the key candidates of the output relation if each relation of the set of relations is a superkey of the output relation.

Eine Relation ist in der sechsten Normalform, wenn sie die Anforderungen der fünften Normalform erfüllt und keine nichttrivialen Verbund-Abhängigkeiten umfasst. Eine Relation genügt einer Verbund-Abhängigkeit (join dependency) von einer Mehrzahl von Relationen, falls sich die Relation als Ausgangsrelation verlustlos in die entsprechende Menge von Relationen zerlegen lässt. Die Verbund-Abhängigkeit ist trivial, falls eine der Relationen der Menge von Relationen alle Attribute der Ausgangsrelation aufweist.A relation is in the sixth normal form if it fulfills the requirements of the fifth normal form and does not contain any nontrivial join dependencies. A relation is sufficient for a join dependency of a plurality of relations if the relation as the starting relation can be broken down into the corresponding set of relations without loss. The link dependency is trivial if one of the relations of the set of relations has all the attributes of the output relation.

Nach Ausführungsformen umfasst die Datenverarbeitungsfunktion ferner ein Zuweisen von Rechten zum Verwalten und/oder Verarbeiten der Daten des zusätzlichen Datensatzes. Insbesondere kann dem zusätzlichen Datensatz in diesem Zuge direkt ein Besitzer zugewiesen werden. Dieser Besitzer kann beispielswiese zugleich mit bestimmten Zugriffsrechten versehen werden, welche ihm ein Verwalten und/oder Verarbeiten der Daten ermöglicht. Nach Ausführungsformen weist das erste Multi-Modell-Datenbankmanagementsystem einer der Quelldatenbank zugeordneten ersten Entität ein Eigner-Recht bezüglich des zusätzlichen Datensatz und/oder des Ergänzungsdatensatzes zu. Somit wird die entsprechende Entität als Eigner bzw. Besitzer des zusätzlichen Datensatz und/oder des Ergänzungsdatensatzes festgelegt.According to embodiments, the data processing function further comprises an assignment of rights to manage and / or process the data of the additional data record. In particular, an owner can be assigned directly to the additional data record in this context. This owner can, for example, be given certain access rights at the same time, which enables him to manage and / or process the data. According to embodiments, the first multi-model database management system assigns an owner right with regard to the additional data record and / or the supplementary data record to a first entity assigned to the source database. The corresponding entity is thus defined as the owner or owner of the additional data record and / or the supplementary data record.

Nach Ausführungsformen werden die Daten direkt durch den die entsprechenden Daten erfassenden bzw. erzeugenden Knoten mit einem Besitzer verknüpft bzw. einem Besitzer zugeordnet.According to embodiments, the data are linked directly to an owner or assigned to an owner by the node that acquires or generates the corresponding data.

Nach Ausführungsformen werden mit den erfassten oder erzeugten Daten auf den ressourcenbeschränkten Knoten des verteilten Systems, z.B. loT-Sensoren, Berechtigungsketten mit den erhobenen Daten gebildet. Die Berechtigungsketten definieren Zugriffsrechte für eine Reihe von Entitäten. Nach Ausführungsformen sind das auf diesen Systemen keine zentrale Datenbank mit Berechtigungskonzept notwendig, da die Funktionalitäten der Berechtigungsketten direkt auf den einzelnen Knoten implementiert werden. Mithin können selbst auf ressourcenbeschränkten Knoten Daten effektiv und effizient mit einem Besitzer verknüpft werden.According to embodiments, the collected or generated data is used on the resource-constrained nodes of the distributed system, e.g. loT sensors, authorization chains formed with the collected data. The authorization chains define access rights for a number of entities. According to embodiments, a central database with an authorization concept is not necessary on these systems, since the functionalities of the authorization chains are implemented directly on the individual nodes. As a result, data can be effectively and efficiently linked to an owner even on resource-constrained nodes.

Ein Verknüpfen der Daten direkt bei der Datenerzeugung auf den einzelnen ressourcenbeschränkten Knoten des verteilten Systems mit einem Besitzer, kann den Vorteil haben, die Datensicherheit zu erhöhen und Transparenz über die tatsächlichen Besitzer der jeweiligen Daten zu gewährleiten.Linking the data with an owner directly when data is generated on the individual resource-restricted nodes of the distributed system can have the advantage of increasing data security and ensuring transparency about the actual owners of the respective data.

Nach Ausführungsformen handelt es sich bei der ersten Entität um einen ersten Nutzer der Quelldatenbank oder ein erstes der Quelldatenbank zugeordnetes Computersystem. Handelt es sich um ein zugeordnetes, z.B. die Quelldatenbank umfassendes Computersystem, kann dies etwa bei Anwendungen im Bereich des Internets der Dinge von Vorteil sein, da jeder durcheine entsprechende Sensorik erfasster Datensatz automatisch im Zuge der Einpflege in die entsprechende Einzeldatenbank einen eindeutigen Besitzer zugewiesen bekommt.According to embodiments, the first entity is a first user of the source database or a first computer system assigned to the source database. If it is an assigned computer system, e.g. comprising the source database, this can be advantageous for applications in the field of the Internet of Things, as each data record recorded by a corresponding sensor system is automatically assigned a unique owner during the course of entering it into the corresponding individual database.

Nach Ausführungsformen werden als Bestandteil des zusätzlichen Datensatz und/oder des Ergänzungsdatensatzes Zugriffsberechtigungsnachweise in der Quelldatenbank gespeichert, wobei die Zugriffsberechtigungsnachweise ein oder mehrere der folgenden Zugriffsberechtigungsnachweise umfassen:

  • • ein Lesezugriffs-Berechtigungsnachweis, welcher einen lesenden Zugriff auf den Inhalt eines Datensatzes ermöglicht;
  • • ein Schreibzugriffs- Berechtigungsnachweis, welcher modifizierenden Zugriff auf den Inhalt eines Datensatzes ermöglicht;
  • • ein Indexzugriffs- Berechtigungsnachweis, welcher Kenntnis der Existenz des Datensatzes in der den Datensatz beinhaltenden Datenbank und einen lesenden Zugriff auf Metadaten des Datensatzes ermöglicht.
According to embodiments, access authorization certificates are stored in the source database as part of the additional data record and / or the supplementary data record, the access authorization certificates comprising one or more of the following access authorization certificates:
  • • a read access authorization, which enables read access to the content of a data record;
  • • a write access credential which enables modifying access to the content of a data record;
  • • An index access authorization certificate, which enables knowledge of the existence of the data record in the database containing the data record and read access to metadata of the data record.

Zugriffs-Berechtigungsnachweise können als Zugriffs-Zertifikate ausgebildet sein. Nach Ausführungsformen handelt es sich bei den Zugriffs-Zertifikaten um reine Zahlenwerte, nicht um komplexe x509 Zertifikate. Metadaten bezüglich der Gültigkeit der Zertifikate und bezüglich anderer Aspekte können getrennt von dem eigentlichen Zugriffs-Zertifikat in einer zusätzlichen ID-Datenbank eines Zugriffsverwaltungssystems der entsprechenden Einzeldatenbank gespeichert sein. Vorzugsweise enthält jeder Datensatz in seinen entsprechenden Feldern sämtliche Zugriffs-Zertifikate des diesen Datensatz erstellenden Nutzers bzw. der Entität, welcher dieser Datensatz inertial zugeordnet wird. Wird beispielsweise ein Datensatz DS von Nutzer U1 erstellt und der Nutzer U1 hat gemäß dem Inhalt der ID-Datenbank genau 3 Typen von Zertifikaten (ein Lesezugriffs-Zertifikat „U1.Z-Zert[R]“, ein Schreibzugriffs-Zertifikat „U1.Z-Zert[W]“ und ein Indexzugriffs-Zertifikat „U1.Z-Zert[S]“), so werden Kopien genau dieser 3 Zugriffs-Zertifikate im Zuge der Speicherung des Datensatzes DS aus der ID-Datenbank erstellt und die in die entsprechenden Felder des Datensatzes DS gespeichert. Bei dem Nutzer U1 kann es sich auch um die entsprechende Einzeldatenbank selbst bzw. einer dieser Einzeldatenbank zugeordneten Identität handeln. Als Authentifizierungsnachweis bzw. Identitätsnachweis kann beispielsweise ein geheimer Schlüssel eines der entsprechenden Einzeldatenbank zugeordneten asymmetrischen kryptographischen Schlüsselpaars dienen. Alternativ kann die Identität auch von technischen Charakteristika, wie etwa bestimmten Spannungs- oder Strommustern der entsprechenden Einzeldatenbank bzw. eines die entsprechende Einzeldatenbank umfassenden Computersystems handeln vergleichbar mit biometrischen Merkmalen im Falle lebender Personen.Access credentials can be designed as access certificates. According to embodiments, the access certificates are pure numeric values, not complex x509 certificates. Metadata regarding the validity of the certificates and regarding other aspects can be stored separately from the actual access certificate in an additional ID database of an access management system of the corresponding individual database. Each data record preferably contains in its corresponding fields all access certificates of the user creating this data record or of the entity to which this data record is inertially assigned. For example, if a data record is DS from user U1 created and the user U1 has exactly according to the content of the ID database 3 Types of certificates (a read access certificate "U1.Z-Zert [R]", a write-access certificate "U1.Z-Zert [W]" and an index access certificate "U1.Z-Zert [S]"), so are copies of just that 3 Access certificates created in the course of storing the data record DS from the ID database and stored in the corresponding fields of the data record DS. With the user U1 it can also be the corresponding individual database itself or an identity assigned to this individual database. For example, a secret key of an asymmetrical cryptographic key pair assigned to the corresponding individual database can serve as proof of authentication or proof of identity. Alternatively, the identity can also be based on technical characteristics, such as certain voltage or current patterns of the corresponding individual database or of a computer system comprising the corresponding individual database, comparable to biometric features in the case of living people.

Nach Ausführungsformen weisen die Einzeldatenbank und/oder Komponenten derselben Mittel zum Schutz gegen unbefugte Manipulationen auf. Durch die Mittel zum Schutz gegen unbefugte Manipulationen wird durch technische Maßnahmen die Vertrauenswürdigkeit der Einzeldatenbank bzw. von deren Steuerelementen, wie etwa Prozessoren, das heißt seine Funktion als „Vertrauensanker“, gewährleistet. Beispielsweise umfasst die Einzeldatenbank Komponenten bzw. ist auf Komponenten implementiert, welche von einer vertrauenswürdigen Institution, wie z.B. durch ein Trust-Center (Trust Service Provider), konfiguriert und mit dem benötigten kryptografischen Schlüsselmaterial versehen wurden. Durch die Mittel zum Schutz gegen unbefugte Manipulationen kann sichergestellt werden, dass sicherheitsrelevante Funktionalitäten der Einzeldatenbank bzw. des diese Einzeldatenbank umfassenden Computersystems nicht unerlaubter Weise modifiziert werden.According to embodiments, the individual database and / or components of the same have means for protection against unauthorized manipulation. The means for protection against unauthorized manipulation ensure the trustworthiness of the individual database or its control elements, such as processors, that is to say its function as a “trust anchor”, through technical measures. For example, the individual database comprises components or is implemented on components which are provided by a trustworthy institution, e.g. configured by a trust center (trust service provider) and provided with the required cryptographic key material. The means for protection against unauthorized manipulation can ensure that security-relevant functionalities of the individual database or of the computer system comprising this individual database are not modified in an unauthorized manner.

Nach einer Ausführungsform der Erfindung sind die Mittel zum Schutz gegen unbefugte Manipulationen als ein so genanntes Tamper Proof Module oder Trusted Platform Module (TPM) ausgebildet, welche auch als Tamper Resistant Module (TRM) bezeichnet werden. Beispielsweise sind zumindest Teile der Einzeldatenbank bzw. des die Einzeldatenbank umfassenden Computersystems signiert, wie z.B. Programmkomponenten und/oder Hardwarekomponenten, die eine digitale Signatur tragen können. Insbesondere können ein Betriebssystem, Multi-Modell-Datenbankmanagementsystem, eine Konfigurationsdatei und/oder ein Massenspeichermedium digital signiert sein. Vor einer Nutzung der Einzeldatenbank prüft das TRM dann, ob die Signatur bzw. die Signaturen, valide sind. Die Prüfung kann sich dabei auch auf die oben erwähnten technischen Charakteristika stützen. Wenn eine der Signaturen nicht valide ist, sperrt das TRM die Nutzung der Einzeldatenbank. Ein TPM umfasst beispielsweise Mikrokontroller nach der TCG-Spezifikation wie in ISO/IEC 11889, der einen Computer oder ähnliche Geräte um grundlegende Sicherheitsfunktionen erweitert.According to one embodiment of the invention, the means for protecting against unauthorized manipulation are designed as a so-called tamper proof module or trusted platform module (TPM), which is also referred to as a tamper resistant module (TRM). For example, at least parts of the individual database or of the computer system comprising the individual database are signed, such as program components and / or hardware components that can carry a digital signature. In particular, an operating system, multi-model database management system, a configuration file and / or a mass storage medium can be digitally signed. Before using the individual database, the TRM then checks whether the signature or the signatures are valid. The test can also be based on the technical characteristics mentioned above. If one of the signatures is not valid, the TRM blocks the use of the individual database. A TPM includes, for example, microcontrollers according to the TCG specification as in ISO / IEC 11889 that adds basic security functions to a computer or similar device.

Nach einer Ausführungsform der Erfindung beinhalten die Mittel zum Schutz gegen unbefugte Manipulationen mechanische Mittel, die z.B. das Öffnen von Komponenten und/oder des gesamten Computersystems verhindern sollen, oder die bei dem Versuch eines Eingriffs dazu führen, dass die entsprechenden Komponenten unbrauchbar werden, beispielsweise indem ein Datenverlust und/oder eine Datensperrung eintritt. Beispielsweise können hierzu sicherheitskritische Teile in Epoxidharz eingegossen sein, wobei ein Versuch, eine betreffende Komponente aus dem Epoxidharz zu entfernen, zu einer unvermeidlichen Zerstörung dieser Komponente führt. Insbesondere können die Mittel zum Schutz gegen unbefugte Manipulationen als ein so genanntes Hardware Security Modul (HSM) ausgebildet sein.According to one embodiment of the invention, the means for protection against unauthorized manipulation include mechanical means which, for example, are intended to prevent components and / or the entire computer system from being opened or which, when an attempt is made to intervene, lead to the corresponding components become unusable, for example if a data loss and / or a data block occurs. For this purpose, for example, safety-critical parts can be cast in epoxy resin, an attempt to remove a relevant component from the epoxy resin leads to the inevitable destruction of this component. In particular, the means for protecting against unauthorized manipulation can be designed as a so-called hardware security module (HSM).

Wenn nun der Nutzer U1 der ersten Einzeldatenbank einem anderen Nutzer U2 derselben Einzeldatenbank oder einer weiteren Einzeldatenbank oder auch einer weiteren Einzeldatenbank an sich Leserechte bezüglich des Datensatzes DS einräumt, bedeutet dies, dass in der ID-Datenbank des entsprechenden Zugriffsverwaltungssystem eine Verknüpfung bzw. Zuordnung dieses Lesezugriffs-Zertifikat „Z.Zert_U1[R]“ des Nutzers U1 und des Nutzer-Zertifikats des Nutzers U2 gespeichert wird, wodurch ein Ermächtigungskettenobjekte gebildet wird. Falls der Nutzer U2 nun zu einem späteren Zeitpunkt auf den Datensatz DS zugreifen will, sendet die Einzeldatenban, die den Datensatz DS beinhaltet, in Antwort auf die Zugriffsanfrage des Nutzers U2 automatisch eine Berechtigungsanfrage an die ID-Datenbank des Zugriffsverwaltungssystem. Diese Anfrage beinhaltet die in dem Datensatz DS gespeicherten Zugriffsrechte des Erstellers U1. Die ID-Datenbank prüft daraufhin, ob ein dem Nutzer U2 zugeordnetes Nutzer-Zertifikat in der ID-Datenbank mit ein oder mehreren der in dem Datensatz DS gespeicherten Zugriffsrechten des Erstellers U1 verknüpft gespeichert ist. Nur falls dies der Fall ist, und falls der Nutzer U2 außerdem Eigner der Quelldatenbank ist, darf er auf den Datensatz zugreifen.If now the user U1 the first individual database to another user U2 grants the same individual database or a further individual database or a further individual database per se read rights with regard to the data record DS, this means that a link or assignment of this read access certificate "Z.Zert_U1 [R]" of User U1 and the user's user certificate U2 is stored, thereby forming an authorization chain object. If the user U2 now wants to access the data record DS at a later point in time, sends the individual database containing the data record DS in response to the access request of the user U2 automatically sends an authorization request to the ID database of the access management system. This request contains the access rights of the creator stored in the data record DS U1 . The ID database then checks whether the user U2 assigned user certificate in the ID database with one or more of the author's access rights stored in the data record DS U1 linked is saved. Only if this is the case, and if the user U2 is also the owner of the source database, he is allowed to access the data record.

Nach Ausführungsformen umfasst das zumindest eine Zugriffs-Zertifikat, dass vorzugsweise als Bestandteil des erstellten Datensatzes gespeichert ist, mehrere Zugriffs-Zertifikate für jeweils andere Zugriffsarten. Die mehreren Zugriffs-Zertifikate umfassen zum Beispiel ein Schreibzugriffs-Zertifikat Z.Zert_U1[W] des erstellenden Nutzers und/oder ein Lesezugriffs-Zertifikat Z.Zert_U1[R] des erstellenden Nutzers und/oder ein Indexzugriffs-Zertifikat Z.Zert_U1 [S] des erstellenden Nutzers.According to embodiments, the at least one access certificate, which is preferably stored as part of the data record created, comprises several access certificates for other types of access. The multiple access certificates include, for example, a write access certificate Z.Zert_U1 [W] of the creating user and / or a read access certificate Z.Zert_U1 [R] of the creating user and / or an index access certificate Z.Zert_U1 [S] of the creating user.

Nach Ausführungsformen handelt es sich bei dem Zugriffsverwaltungssystem um ein „standard“ Zugriffsverwaltungssystem, das üblicherweise auf einem Standardcomputersystem installiert ist. Ein „Standard“ Zugriffsverwaltungssystem kann z.B. MySQL, PostGreSQL, Oracle, SAP Hana, etc. sein. Es ist jedoch auch möglich, dass andere Systeme, die zur strukturierten Speicherung und Abfrage von Daten ausgelegt sind, als Zugriffsverwaltungssystem verwendet werden, z.B. Mikrocontroller, in deren Speicher die Datensätze, Zertifikate und Ermächtigungskettenobjekte sowie die hier beschriebene Programmlogik gespeichert sein kann.According to embodiments, the access management system is a “standard” access management system that is usually installed on a standard computer system. A "standard" access management system can e.g. MySQL, PostGreSQL, Oracle, SAP Hana, etc. However, it is also possible that other systems, which are designed for the structured storage and retrieval of data, are used as the access management system, e.g. Microcontroller, in whose memory the data records, certificates and authorization chain objects as well as the program logic described here can be stored.

Nach Ausführungsformen handelt es sich bei einem Nutzer-Zertifikat zum Beispiel ein Zertifikat, das von einer Zertifizierungsstelle (certifying authority - CA) spezifisch für eine bestimmte Person herausgegeben wird. Das Nutzer-Zertifikat ist in eine von einer Zertifizierungsstelle herausgegebene Zertifikatskette prüfbar eingeordnet, es ist also beispielsweise bis zum Root-Zertifikat der Zertifizierungsstelle prüfbar. Dies kann vorteilhaft sein, da Zertifizierungsstellen als unabhängige Vertrauensgaranten auf breiter Basis bereits akzeptiert sind und bereits von vielen bestehenden technischen Systemen zur Prüfung der Authentizität bestimmter Nutzer und Nutzeraktionen verwendet werden.According to embodiments, a user certificate is, for example, a certificate that is issued specifically for a particular person by a certification authority (CA). The user certificate is arranged in a testable manner in a certificate chain issued by a certification authority, so it can be tested for example up to the root certificate of the certification authority. This can be advantageous because certification bodies are already widely accepted as independent guarantors of trust and are already used by many existing technical systems to check the authenticity of certain users and user actions.

Nach Ausführungsformen sind in einer ID-Datenbank des Zugriffsverwaltungssystem jeweils eine Mehrzahl von Nutzer-Zertifikaten und/oder eine Mehrzahl von Zugriffs-Zertifikaten gespeichert. Außerdem beinhalten die ID-Datenbanken jeweils Zug riffsermächtigu ngskettenobjekten.According to embodiments, a plurality of user certificates and / or a plurality of access certificates are stored in an ID database of the access management system. The ID databases also contain access authorization chain objects.

Ein Ermächtigungskettenobjekt, genauer gesagt ein Zugriffsermächtigungskettenobjekt, ist ein Datenobjekt, welches eines der Zugriffs-Zertifikate und ein oder mehrere der Nutzer-Zertifikate beinhaltet (und dadurch einander zuweist). Die Reihung der Nutzer-Zertifikate in dem Zugriffsermächtigungskettenobjekt gibt die Sequenz der Nutzer, die dieses Zugriffs-Zertifikat für jeweils andere Nutzer, deren Nutzer-Zertifikat in dem Zugriffsermächtigungskettenobjekt enthalten ist, ausgestellt haben, wieder. Eine so erzeugte Berechtigungshierarchie umfasst eines der Zugriffsermächtigungskettenobjekte.An authorization chain object, more precisely an access authorization chain object, is a data object which contains one of the access certificates and one or more of the user certificates (and thereby assigns them to one another). The sequence of the user certificates in the access authorization chain object reflects the sequence of users who have issued this access certificate for other users whose user certificate is contained in the access authorization chain object. An authorization hierarchy generated in this way comprises one of the access authorization chain objects.

Nach Ausführungsformen umfasst jede der Einzeldatenbanken jeweils eine entsprechende ID-Datenbank, welche die Zugriffsberechtigungen auf die Datensätze und/oder den Index der entsprechenden Einzeldatenbank verwaltet.According to embodiments, each of the individual databases comprises a corresponding ID database which manages the access authorizations to the data records and / or the index of the corresponding individual database.

Nach Ausführungsformen sind die Einzeldatenbanken bzw. deren Datenmodelle frei von Zugriffsermächtigungskettenobjekten und beinhalten für jeden Datensatz nur die Zugriffs-Zertifikate, die dem Nutzer, welcher diesen Datensatz angelegt hat bzw. welchem dieser Datensatz zugeordnet ist, Zugriff auf diesen Datensatz gewähren.According to embodiments, the individual databases or their data models are free of access authorization chain objects and only contain the access certificates for each data record that grant the user who has created this data record or to whom this data record is assigned access to this data record.

Die Verknüpfung dieser Zugriffs-Rechte des Datensatzerzeugers mit ein oder mehreren anderen Nutzern um diesen Zugriff auf den Datensatz zu gewähren ist nicht in der Einzeldatenbanken bzw. deren Datenmodelle gespeichert, sondern in der ID-Datenbank. Umgekehrt enthält die ID-Datenbank keine Referenz auf einzelne Datensätze der Einzeldatenbank bzw. deren Datenmodelle. Dies kann vorteilhaft sein, da die Größe und Komplexität der einzelnen Datensätze der Einzeldatenbanken bzw. deren Datenmodelle begrenzt und logisch von der Verwaltung der Zugriffsrechte weitgehend entkoppelt wird. Die Größe der Datensätze wird also auch dadurch begrenzt, dass nicht die komplette Kette der Berechtigungsübertragungen als Bestandteil der Datensätze gespeichert wird. Insbesondere bei einer Mehrzahl kleiner Datensätze mit identischer Berechtigungsstruktur kann dies den von der Datenbank benötigten Speicherplatz erheblich reduzieren.The linking of these access rights of the record producer with one or more other users in order to grant this access to the record is not stored in the individual databases or their data models, but in the ID database. Conversely, the ID database does not contain any reference to individual data records in the individual database or its data models. This can be beneficial since the size and complexity of the individual data records of the individual databases or their data models are limited and logically largely decoupled from the administration of the access rights. The size of the data records is also limited by the fact that the complete chain of authorization transfers is not saved as part of the data records. This can considerably reduce the storage space required by the database, particularly when there are a large number of small data records with an identical authorization structure.

Nach Ausführungsformen beinhaltet die ID-Datenbank des Zugriffsverwaltungssystem einen privaten Signierschlüssel. Die Einzeldatenbank beinhaltet einen öffentlichen Signaturprüfschlüssel, welcher zur Prüfung der mit dem Signierschlüssel erstellten Signaturen ausgebildet ist. Im Zuge einer Zugriffsanfrage eines ersten Nutzers auf einen Datensatz der Einzeldatenbank ermittelt das Zugriffsverwaltungssystem, ob dem Nutzer-Zertifikat in der ID-Datenbank eines oder mehrere Zugriffberechtigungsnachweise, die in Kopie als Bestandteil des Datensatzes gespeichert sind, zugeordnet ist. Falls dies der Fall ist, wird dieser Zugriffsberechtigungsnachweis mit dem Signierschlüssel der ID-Datenbank signiert und mit dem entsprechenden Signaturprüfschlüssel der Einzeldatenbank geprüft. Der Berechtigungsnachweis wird in signierter Form an die Einzeldatenbank übermittelt. Die Einzeldatenbank prüft mittels des Signaturprüfschlüssels, ob die Signatur des Berechtigungsnachweises valide ist, wobei der Aufbau der Datenbankverbindung und der Datensatzzugriff nur dann gestattet werden, wenn die Signatur valide ist.According to embodiments, the ID database of the access management system includes a private signing key. The individual database contains a public signature verification key, which is designed to verify the signatures created with the signature key. When a first user requests access to a data record in the individual database, the access management system determines whether the user certificate in the ID database is assigned one or more access authorization certificates, a copy of which is stored as part of the data record. If this is the case, this proof of access authorization is signed with the signature key of the ID database and checked with the corresponding signature verification key of the individual database. The credentials are sent to the individual database in signed form. The individual database uses the signature verification key to check whether the signature of the proof of authorization is valid, the establishment of the database connection and data record access being permitted only if the signature is valid.

Beispielsweise wird eine zentrale ID-Datenbank für das gesamte verteilte Datenbanksystem bereitgestellt. Dies kann vorteilhaft sein, da es nicht erforderlich ist, da nicht jede Einzeldatenbank selbst mit Programlogik zur Zertifikatskettenprüfung auszustatten. Ganz allgemein kann durch das beschriebene Verfahren bzw. die beschriebene Datenbankstruktur eine weitgehende Trennung der Datenhaltung (in Einzeldatenbanken) und der Verwaltung von Zugriffsrechten (in der ID-Datenbank) erzielt werden. Die ID-Datenbank enthält und/oder ist operativ gekoppelt an ein oder mehrere Programmmodule zum Beispiel zur Zertifikatskettenprüfung (zum Beispiel von Nutzer-Zertifikaten bis hin zum Root-Zertifikat von der das Nutzer-Zertifikat ausstellenden Zertifizierungsstelle), zur Speicherung von Änderungen der Zuweisungen von Zertifikaten und Nutzern in einer Log-Datei sowie zur dynamischen Erstellung von signierten Berechtigungsnachweisen unter Berücksichtigung einer dokumentierten Chronologie der Übertragung von Rechten. Die individuellen Einzeldatenbanken verfügen dahingegen nach Ausführungsformen nur über Mittel zur Prüfung, ob für die Einzeldatenbank selbst bzw. für die darin enthaltenen Datensätze entsprechende Berechtigungen vorliegen oder an diese operativ gekoppelt sind, wobei diese Mittel gegebenenfalls Mittel zur Signaturprüfung umfassen.For example, a central ID database is provided for the entire distributed database system. This can be advantageous because it is not necessary because not every single database has to be equipped with program logic for the certificate chain check. In general, the described method or the described database structure can be used to achieve an extensive separation of data management (in individual databases) and the management of access rights (in the ID database). The ID database contains and / or is operatively linked to one or more program modules, for example for certificate chain checking (for example from user certificates to the root certificate from the certification authority issuing the user certificate), for storing changes to the assignments of Certificates and users in a log file as well as for the dynamic creation of signed credentials, taking into account a documented chronology of the transfer of rights. In contrast, according to embodiments, the individual individual databases only have means for checking whether corresponding authorizations exist for the individual database itself or for the data records contained therein or are operatively linked to them, these means possibly including means for signature checking.

Nach einer Ausführungsform beinhaltet jeder der Datensätze in der Quelldatenbank ein oder mehrere Zugriffs-Zertifikate des den Datensatz erstellenden Nutzers bzw. einer Entität, welcher der entsprechende Datensatz zugeordnet ist. Den Zugriffs-Zertifikaten in der ID-Datenbank sind jeweils ein oder mehrere Nutzer-Zertifikate so zugeordnet, dass die chronologische Sequenz von Nutzern, die sich ein oder mehrere der Zugriffsrechte des den Datensatz erstellenden Nutzers eingeräumt haben, jeweils in Form einer Hierarchie repräsentieren ist. Diese Zuordnung kann z.B. mittels Zugriffsermächtigungskettenobjekten erfolgen.According to one embodiment, each of the data records in the source database contains one or more access certificates of the user creating the data record or of an entity to which the corresponding data record is assigned. The access certificates in the ID database are each assigned one or more user certificates so that the chronological sequence of users who have granted themselves one or more of the access rights of the user creating the data record is represented in the form of a hierarchy. This assignment can e.g. by means of access authorization chain objects.

Unter einem „Zugriffsverwaltungssystem“ wird im Folgenden ein elektronisches System zur Speicherung und Wiedergewinnung von Daten verstanden. Beispielsweise kann es sich bei dem Zugriffsverwaltungssystem um ein „klassisches Datenbankmanagementsystem“ (DBMS) handeln (MySQL, PostgreSQL, Oracle, Hana, etc.). Es ist aber auch möglich, dass die Daten in einem Mikrocontrollerspeicher gespeichert werden und von einem Applikationsprogramm oder einer Chipbasierten Programmlogik verwaltet werden, die als Zugriffsverwaltungssystem arbeitet und kein klassisches DBMS ist. Vorzugsweise werden die Daten in dem Zugriffsverwaltungssystem widerspruchsfrei und dauerhaft gespeichert und verschieden Anwendungsprogrammen und Nutzern in bedarfsgerechter Form effizient zur Verfügung gestellt. Ein Zugriffsverwaltungssystem kann typischerweise ein oder mehrere Datenbanken beinhalten und die darin enthaltenen Datensätze verwalten.In the following, an “access management system” is understood to mean an electronic system for storing and retrieving data. For example, the access management system can be a “classic database management system” (DBMS) (MySQL, PostgreSQL, Oracle, Hana, etc.). But it is also possible that the data are stored in a microcontroller memory and managed by an application program or a chip-based program logic that works as an access management system and is not a classic DBMS. The data are preferably stored consistently and permanently in the access management system and are efficiently made available to various application programs and users in a form that meets their needs. An access management system can typically contain one or more databases and manage the data records contained therein.

Unter einer „ID-Datenbank“ wird im Folgenden eine Datenbank verstanden, welche nutzerbezogene Informationen wie zum Beispiel Nutzer-Zertifikate sowie den diesen Nutzern zugewiesenen Rechte in Form von weiteren Zertifikaten (Zugriffs-Zertifikate) enthält und verwaltet. In Abgrenzung zu den Einzeldatenbanken, die auch unter dem Begriff „Nutzdaten-Datenbanken“ zusammengefasst werden können und welche vorwiegend der Speicherung von Nutzdaten dienen, dient eine ID-Datenbank vorwiegend der Verwaltung der den Nutzern im Hinblick auf die Nutzdaten zugewiesenen Eigner- und Zugriffsrechte.In the following, an “ID database” is understood to mean a database which contains and manages user-related information such as user certificates and the rights assigned to these users in the form of further certificates (access certificates). In contrast to the individual databases, which can also be summarized under the term "user data databases" and which are primarily used to store user data, an ID database is primarily used to manage the owner and access rights assigned to users with regard to user data.

Nach Ausführungsformen werden als Bestandteil des zusätzlichen Datensatzes und/oder des Ergänzungsdatensatzes für die erste Entität zumindest ein Indexzugriffs-Berechtigungsnachweis gespeichert. Nach Ausführungsformen werden als Bestandteil des zusätzlichen Datensatzes und/oder des Ergänzungsdatensatzes für die erste Entität ein Lesezugriffs-Berechtigungsnachweis, ein Schreibzugriffs-Berechtigungsnachweis und ein Indexzugriffs-Berechtigungsnachweis gespeichert.According to embodiments, at least one index access credential is stored as part of the additional data record and / or the supplementary data record for the first entity. According to embodiments, as part of the additional data record and / or the supplementary data record for the first entity, a Read access credentials, write access credentials and index access credentials are stored.

Nach Ausführungsformen wird ferner einer der Empfangsdatenbank zugeordneten zweiten Entität ein Indexzugriffs-Berechtigungsnachweis für den zusätzlichen Datensatz zugeordnet. Dies kann beispielsweise mittels eines zuvor beschriebenen Zugriffsermächtigungskettenobjekts erfolgen. Nach Ausführungsformen handelt es sich bei der zweiten Entität um einen zweiten Nutzer der Empfangsdatenbank oder ein zweites der Empfangsdaten zugeordnetes Computersystem.According to embodiments, an index access credential for the additional data record is also assigned to a second entity assigned to the receive database. This can be done, for example, by means of an access authorization chain object described above. According to embodiments, the second entity is a second user of the receive database or a second computer system assigned to the receive data.

Nach Ausführungsformen ist eine Voraussetzung für das Senden des Ergänzungsdatensatzes an die Empfangsdatenbank eine erfolgreiche Prüfung, dass der zweiten Entität ein Indexzugriffs-Berechtigungsnachweis für den Ergänzungsdatensatz zugeordnet ist. Somit kann sichergestellt werden, dass die Empfangsdatenbank tatsächlich dazu berechtigt ist auf entsprechende Indexinformationen, wie sie der Ergänzungsdatensatz umfasst, zuzugreifen.According to embodiments, a prerequisite for sending the supplementary data record to the receiving database is a successful check that the second entity is assigned an index access authorization for the supplementary data record. It can thus be ensured that the receive database is actually authorized to access corresponding index information such as the supplementary data record.

Nach Ausführungsformen umfasst die Datenverarbeitungsfunktion ferner ein Klassifizieren der aus dem zusätzlichen Datensatz erzeugten Token.According to embodiments, the data processing function further comprises a classification of the tokens generated from the additional data record.

Nach Ausführungsformen umfasst die Quelldatenbank für das Klassifizieren ein vortrainierten Lernmoduls zum maschinellen Lernen, wobei das vortrainierte Lernmodul eine Mehrzahl von vorbestimmten Trigger-Definitionen umfasst, welche Trigger für ein Zuordnen von Token zu Klassen einer ersten Gruppe von Klassen definieren,
wobei erste Token in dem Index der Quelldatenbank, welche von einer der Trigger-Definitionen der Quelldatenbank als Trigger umfasst sind, jeweils der entsprechen Trigger-Definition zugeordnet sind, wobei zweite Token in dem Index der Quelldatenbank jeweils ein oder mehreren Klassen der ersten Gruppe von Klassen zugeordnet sind,
wobei das Klassifizieren umfasst:

  • • falls eines oder mehrere erste zusätzliche Token von einer der Trigger-Definitionen als Trigger umfasst sind, Identifizieren des entsprechenden Tokens als Trigger durch das Lernmodul,
  • • Verwenden der identifizierten Trigger zum Zuordnen von ein oder mehreren zweiten zusätzlichen Token zu ein oder mehreren Klassen der ersten Gruppe von Klassen durch das Lernmodul, falls die entsprechenden zweiten zusätzlichen Token von dem zusätzliche Datensatz in einer Kombination mit ein oder mehreren der identifizierten Trigger gemäß einer der Trigger-Definitionen umfasst sind, wobei die entsprechenden Trigger gemäß der entsprechenden Trigger-Definition eine entsprechende Klassenzuordnung triggern, wobei das Ergänzen des Index durch das erste Multi-Modell-Datenbankmanagementsystem unter Verwendung der Klassenzuordnungen der zusätzlichen Token erfolgt.
According to embodiments, the source database for the classification comprises a pre-trained learning module for machine learning, the pre-trained learning module comprising a plurality of predetermined trigger definitions which define triggers for assigning tokens to classes of a first group of classes,
wherein first tokens in the index of the source database, which are included in one of the trigger definitions of the source database as a trigger, are each assigned to the corresponding trigger definition, wherein second tokens in the index of the source database each have one or more classes of the first group of classes assigned,
wherein the classifying comprises:
  • • if one or more first additional tokens are included in one of the trigger definitions as a trigger, the learning module identifies the corresponding token as a trigger,
  • Use the identified triggers to assign one or more second additional tokens to one or more classes of the first group of classes by the learning module if the corresponding second additional tokens from the additional data set in a combination with one or more of the identified triggers according to a the trigger definitions are included, the corresponding triggers triggering a corresponding class assignment according to the corresponding trigger definition, the addition of the index by the first multi-model database management system using the class assignments of the additional tokens.

Ausführungsformen können den Vorteil haben, dass es sich bei dem Lernmodul um ein vortrainiertes Lernmodul handelt. Das vortrainierte Lernmodul umfasst eine Mehrzahl inertial zur Verfügung gestellt bzw. festgelegt Trigger-Definitionen. Das Lernmodul ist dazu konfiguriert unter Verwendung dieser inertial festgelegten Trigger-Definitionen alle von der Datenbank bzw. dem Index umfassten Token zu klassifizieren. Ausführungsformen können den Vorteil haben, dass kein Zufall in den entscheidungs- bzw. Klassifizierungsprozess eingeht. Vielmehr beruht das Klassifizieren von Token auf den vorbestimmten Trigger-Definitionen und ist somit jederzeit nachvollziehbar. Auch wenn das Lernmodul beispielsweise auf Basis der Klassifizierung fortschreitet und im Zuge eines darauf beruhenden Lerntransfers weitere Muster und Gesetzmäßigkeiten erlernt, so geht die zugrundeliegende Klassifizierung zurück auf die vorbestimmten Trigger-Definitionen.Embodiments can have the advantage that the learning module is a pre-trained learning module. The pre-trained learning module comprises a plurality of inertially provided or defined trigger definitions. The learning module is configured to classify all tokens included in the database or the index using these inertially defined trigger definitions. Embodiments can have the advantage that no chance enters the decision-making or classification process. Rather, the classification of tokens is based on the predetermined trigger definitions and can therefore be traced at any time. Even if the learning module advances, for example, on the basis of the classification and learns further patterns and regularities in the course of a learning transfer based thereon, the underlying classification is based on the predetermined trigger definitions.

Nach Ausführungsformen werden in Form der Klassifizierung Meta- und/oder Kontextinformationen zu den klassifizierten Token bereitgestellt. Diese Meta- und/oder Kontextinformationen werden anhand der Trigger gemäß den Trigger-Definitionen identifiziert und den entsprechenden Token in Form der Klassenzuordnung zugeordnet. Nach Ausführungsformen kann das Lernmodul dazu konfiguriert sein, unter Verwendung dieser Meta- und/oder Kontextinformationen weitere Muster und Gesetzmäßigkeiten zu erlernen.According to embodiments, meta and / or context information on the classified tokens is provided in the form of the classification. This meta and / or context information is identified on the basis of the trigger in accordance with the trigger definitions and assigned to the corresponding token in the form of the class assignment. According to embodiments, the learning module can be configured to learn further patterns and regularities using this meta and / or context information.

Ausführungsformen können den Vorteil haben, dass die von der Quelldatenbank empfangenen Datensätze alle in ihrer ursprünglichen Form in dem dokumentenorientierten Datenmodell abgespeichert werden. Hierdurch kann sichergestellt werden, dass der volle Informationsgehalt dieser Datensätze erhalten bleibt. Zusätzlich werden die von den in dem dokumentenorientierten Datenmodell abgespeicherten Datensätzen umfassten Daten in Form des Indexes bereitgestellt. Dieser Index umfasst die entsprechenden Daten des dokumentenorientierten Datenmodells in Form von Token. Nach Ausführungsformen umfasst der Index alle von dem dokumentenorientierten Datenmodell umfassten elementaren Datenelemente in Form von elementaren Token. Nach Ausführungsformen umfasst der Index aus den Token abgeleitete Datenelemente. Nach weiteren Ausführungsformen umfasst der Index zusätzlich von dem dokumentenorientierten Datenmodell umfasste Kombinationen der elementaren Datenelemente in Form von Token-Kombinationen. Diese Token-Kombinationen umfassen jeweils eine Kombination einer Mehrzahl von elementaren Token. Nach weiteren Ausführungsformen umfasst der Index Token-Kombinationen bis zu einer vorbestimmten Komplexität. Die Komplexität einer Token-Kombination ist beispielsweise definiert durch die Anzahl und/oder Art der von dieser umfassten elementaren Token.Embodiments can have the advantage that the data records received from the source database are all stored in their original form in the document-oriented data model. This ensures that the full information content of these data records is retained. In addition, the data comprised by the data records stored in the document-oriented data model are provided in the form of the index. This index contains the corresponding data of the document-oriented data model in the form of tokens. According to embodiments, the index comprises all of the elementary data elements included in the document-oriented data model in the form of elementary tokens. According to embodiments, the index comprises data elements derived from the tokens. According to further embodiments, the index additionally comprises combinations of the elementary data elements in the form of token combinations that are comprised by the document-oriented data model. These tokens Combinations each include a combination of a plurality of elementary tokens. According to further embodiments, the index comprises token combinations up to a predetermined complexity. The complexity of a token combination is defined, for example, by the number and / or type of elementary tokens it comprises.

Bei den von dem Index umfassten Token kann es sich beispielsweise um Trigger gemäß den vorbestimmten Trigger-Definitionen handeln. Ein entsprechendes Token wird, wenn es erstmals beispielsweise im Zuge der Verarbeitung eines zusätzlichen Datensatzes erzeugt wird, anhand einer der Trigger-Definitionen als Trigger identifiziert, dem Index hinzugefügt und der entsprechenden Trigger-Definition zugeordnet. Erkennt das Lernmodul dasselbe Token, welchen der Index als Trigger definiert, innerhalb eines weiteren Datensatzes wieder, so greift das Lernmodul auf die dem Triggern in dem Index zugeordnete Trigger-Definition zurück und ordnet der entsprechenden Trigger-Definition folgenden ein oder mehrere Token aus einem Kontextumfeld des als Trigger gespeicherten Tokens in dem weiteren Datensatz ein oder mehreren Klassen der ersten Gruppe von Klassen zu.The tokens included in the index can be triggers according to the predetermined trigger definitions, for example. If a corresponding token is generated for the first time, for example in the course of processing an additional data record, it is identified as a trigger using one of the trigger definitions, added to the index and assigned to the corresponding trigger definition. If the learning module recognizes the same token, which the index defines as a trigger, within a further data record, the learning module accesses the trigger definition assigned to triggering in the index and assigns one or more tokens from a context environment following the corresponding trigger definition of the token stored as a trigger in the further data record to one or more classes of the first group of classes.

Ferner umfasst der Index eine Mehrzahl von Token, welche jeweils ein oder mehreren Klassen der ersten Gruppe von Klassen zugeordnet sind. Nach Ausführungsformen werden durch die Zuordnung zu den Klassen Meta- und/oder Kontextinformationen zu den entsprechenden Token bereitgestellt. Die entsprechenden Meta- und/oder Kontextinformationen können beispielsweise für eine Verarbeitung der entsprechenden Token und/oder der die entsprechenden Token umfassenden Datensätze in dem dokumentenorientierten Datenmodell verwendet werden. Beispielsweise werden die entsprechenden Meta- und/oder Kontextinformationen im Zuge einer Suchanfrage zur Identifikation relevanter Token und/oder Datensätze verwendet oder im Zuge eines den Index verwendenden weiteren Verfahrens zum maschinellen Lernen. So können unter Verwendung der entsprechenden Meta- und/oder Kontextinformationen im Zuge eines weiteren Lerntransfers zusätzliche Muster und Gesetzmäßigkeiten erlernt werden. Dieses weitere Verfahren zum maschinellen Lernen wird beispielsweise durch das die Trigger-Definitionen verwendende Lernmodul oder ein weitere Lernmodul ausgeführt. Beispielsweise handelt es sich bei dem weiteren Verfahren zum maschinellen Lernen um ein KI-Verfahren, welches von einem KI-Modul ausgeführt wird.Furthermore, the index comprises a plurality of tokens which are each assigned to one or more classes of the first group of classes. According to embodiments, the assignment to the classes provides meta and / or context information on the corresponding tokens. The corresponding meta and / or context information can be used, for example, for processing the corresponding tokens and / or the data records comprising the corresponding tokens in the document-oriented data model. For example, the corresponding meta and / or context information is used in the course of a search query to identify relevant tokens and / or data records or in the course of a further method for machine learning that uses the index. Using the corresponding meta and / or context information, additional patterns and regularities can be learned in the course of a further learning transfer. This further method for machine learning is carried out, for example, by the learning module using the trigger definitions or a further learning module. For example, the further method for machine learning is an AI method that is executed by an AI module.

Nach Ausführungsformen sind verbleibende Token, welche weder den Trigger-Definition noch ein oder mehreren Klassen der ersten Gruppe von Klassen zugeordnet sind, in dem Index der Quelldatenbank zum Kennzeichnen der entsprechenden verbleibenden Token als unbekannte Daten einer Auffangklasse zugeordnet, wobei die Zuordnung zu der Auffangklasse eine Zuordnung zu einer der Trigger-Definitionen ebenso wie eine Zuordnung zu einer der Klassen der ersten Gruppe von Klassen ausschließt,
wobei das Klassifizieren ferner umfasst:

  • • Zuordnen der verbleibenden zusätzlichen Token, für welche keine Zuordnung zu einer der Trigger-Definitionen und keine Klassenzuordnung aufgrund einer der Trigger-Definitionen erfolgt ist, zu der Auffangklasse.
According to embodiments, remaining tokens that are assigned neither to the trigger definition nor to one or more classes of the first group of classes are assigned to a collection class in the index of the source database for identifying the corresponding remaining tokens as unknown data, the assignment to the collection class being a Allocation to one of the trigger definitions as well as an allocation to one of the classes of the first group of classes excludes,
wherein the classifying further comprises:
  • • Assignment of the remaining additional tokens, for which no assignment to one of the trigger definitions and no class assignment has been made based on one of the trigger definitions, to the collection class.

Der Index umfasst in diesem Fall auch Token, welche unter keine der vorbestimmten Trigger-Definitionen fallen. Bei diesen Token handelt es sich weder um Trigger, noch lassen sie sich anhand der von den Trigger-Definitionen definierten Trigger Klassen zuordnen. Vielmehr handelt es sich bei diesen Token um unbekannte Daten, welche nicht zuordenbar sind und für welche damit Meta- bzw. Kontextinformationen fehlen. Diese Token werden als unbekannte Daten einer Auffangklasse zugeordnet. Dabei schließt eine Zuordnung zu der Auffangklasse eine Zuordnung zu einer der Trigger-Definitionen ebenso wie eine Zuordnung zu einer der Klassen der ersten Gruppen von Klassen aus.In this case, the index also includes tokens that do not fall under any of the predetermined trigger definitions. These tokens are neither triggers nor can they be assigned to the trigger classes defined by the trigger definitions. Rather, these tokens are unknown data that cannot be assigned and for which meta or context information is missing. These tokens are assigned to a trap class as unknown data. An assignment to the collection class excludes an assignment to one of the trigger definitions as well as an assignment to one of the classes of the first groups of classes.

Ausführungsformen können den Vorteil haben, dass anhand der Token-Zuordnungen in einfacher Form erkannt werden kann, bei welchen Token es sich um unbekannte Daten handelt und bei welchen Token es sich um bekannte Daten, d.h. Trigger oder klassifizierbare Daten, handelt. Somit können beispielsweise Suchabfragen derart definiert werden, dass sie ausschließlich bekannte Daten berücksichtigen. Zusätzliche Lernalgorithmen können beispielsweise derart konfiguriert werden, dass sie ausschließlich auf bekannten Daten arbeiten. Mithin kann beispielsweise eine Verwendung von Zufall in einem Entscheidungs- bzw. Klassifizierungsprozess verwendet, selbst wenn zusätzliche Lernalgorithmen zum Einsatz kommen. Grundlage für alle Lernprozesse und/oder Kl-Prozesse bieten in diesem Fall die initial festgelegten Trigger, anhand derer die von der Datenbank empfangenen Daten klassifiziert werden. Nach Ausführungsformen bieten die vorbestimmenden Trigger-Definitionen eine Grundlage für ein überwachtes Lernen. Durch die Verwendung der vorbestimmenden Trigger-Definitionen lassen sich Fehlentwicklungen in selbstklebenden Systemen und/oder bei der Verarbeitung von Suchanfragen vermeiden, welche die in der Datenbank gespeicherten Daten verwenden.Embodiments can have the advantage that, on the basis of the token assignments, it can be recognized in a simple form which tokens are unknown data and which tokens are known data, i.e. Triggers or classifiable data. Thus, for example, search queries can be defined in such a way that they only take into account known data. Additional learning algorithms can be configured, for example, in such a way that they work exclusively on known data. Thus, for example, a use of chance can be used in a decision-making or classification process, even if additional learning algorithms are used. In this case, the basis for all learning processes and / or KI processes is provided by the initially defined triggers, which are used to classify the data received from the database. According to embodiments, the predetermined trigger definitions provide a basis for supervised learning. By using the predetermined trigger definitions, undesirable developments in self-adhesive systems and / or in the processing of search queries that use the data stored in the database can be avoided.

Ausführungsformen können ferner den Vorteil haben, dass zusätzliche Datensätze, welche der Quelldatenbank hinzugefügt werden, jeweils dahingehend analysiert werden, welche der von ihnen umfassten Daten bekannte Daten sind und welche Daten unbekannte Daten sind. In diesem Kontext werden unter bekannten Daten solche Daten verstanden, welche als Trigger bekannt sind, für welche Meta- bzw. Kontextinformationen vorliegen und/oder für welche Meta- bzw. Kontextinformationen unter Verwendung der Trigger-Definitionen aus dem Kontext der Datensätze abgeleitet werden können. Daten, bei welchen es sich weder um Trigger handelt noch um Daten, welche anhand der Trigger-Definitionen klassifizierbar sind, sind unbekannte Daten. Unbekannte Daten werden der Auffangklasse zugeordnet. Embodiments can furthermore have the advantage that additional data records that are added to the source database are each analyzed to determine which of the data they comprise is known data and which data is unknown data. In this context Known data means data that are known as triggers, for which meta or context information is available and / or for which meta or context information can be derived from the context of the data records using the trigger definitions. Data that are neither triggers nor data that can be classified using the trigger definitions are unknown data. Unknown data is assigned to the trap class.

Ausführungsformen können den Vorteil haben, dass ein für das maschinelle Lernen optimiertes Datenbanksystem verwendet wird. Das entsprechende Datenbanksystem umfasst alle dem maschinellen Lernen zu Grunde liegenden Daten, d.h. sowohl zum Klassifizieren von Daten verwendete Trigger-Definitionen, als auch die Daten, welche unter Verwendung der Trigger-Definitionen verarbeitet werden. Somit wird ein kontinuierliches Lernen durch das Lernmodul unter Berücksichtigung aller von dem System bzw. dem Lernmodul gesehenen Daten ermöglicht.Embodiments can have the advantage that a database system optimized for machine learning is used. The corresponding database system includes all the data on which machine learning is based, i.e. both trigger definitions used to classify data and the data that are processed using the trigger definitions. This enables continuous learning by the learning module, taking into account all of the data seen by the system or the learning module.

Die Quelldatenbank speichert alle empfangenen Datensätze in einem dokumentenorientierten Datenmodell. Ein dokumentenorientiertes Datenmodell bedeutet, dass das Datenmodell keine strukturellen Vorgaben an die zu speichernden Daten stellt. Vielmehr werden die Daten in Dokumenten bzw. Datencontainern in der Form gespeichert, in der empfangen werden. In diesem Sinne handelt es sich bei den in dem dokumentenorientierten Datenmodell gespeicherten Daten um Rohdaten. Rohdaten bedeutet, dass die Daten in der Form abgespeichert werden, in der sie empfangen werden, ohne eine zusätzliche Datenverarbeitung durch das Datenbankmanagementsystem, insbesondere keine Umstrukturierung der Daten. Ausführungsformen können den Vorteil haben, dass somit der gesamte Informationsgehalt der empfangenen Daten (nahezu) vollständig beibehalten werden kann, ohne dass Vorannahmen des Datenbankmanagementsystems einfließen. Das Datenbankmanagementsystem ebenso wie das Lernmodul können jederzeit auf die ursprünglichen Datenbestände zurückgreifen und diese in bei der weiteren Verarbeitung berücksichtigen.The source database stores all data records received in a document-oriented data model. A document-oriented data model means that the data model does not impose any structural requirements on the data to be saved. Rather, the data are stored in documents or data containers in the form in which they are received. In this sense, the data stored in the document-oriented data model are raw data. Raw data means that the data are stored in the form in which they are received, without additional data processing by the database management system, in particular no restructuring of the data. Embodiments can have the advantage that the entire information content of the received data can thus be (almost) completely retained without the assumptions of the database management system being included. Both the database management system and the learning module can access the original data at any time and take them into account in further processing.

Basierend auf diesem Datenpool an Rohdaten, welchen das dokumentenbasierte Datenmodell bereitstellt, wird ein Index erzeugt. Erst auf dieser Ebene werden aus den Datensätze strukturelle Information bzw. Sinnzusammenhänge extrahiert. Diese strukturellen Informationen bzw. Sinnzusammenhängen werden in Form von Klassenzuordnungen der indexierten Daten berücksichtigt.An index is generated based on this data pool of raw data provided by the document-based data model. Structural information or contexts of meaning are only extracted from the data sets at this level. This structural information or context is taken into account in the form of class assignments of the indexed data.

Hierzu werden die Datensätze durch eine Tokenisierung auf ein elementares Niveau heruntergebrochen, welches die elementaren Bestandteile der Datensätze in Form der Token berücksichtigt. Die Token werden durch das Lernmodul als Trigger einer der Trigger-Definitionen zugeordnet oder als unter Verwendung der Trigger-Definitionen klassifiziert. Alle Token, welche weder als Trigger identifiziert werden, noch sich unter Verwendung einer der Trigger-Definitionen klassifiziert lassen, werden als unbekannte Daten der Auffangklasse zugeordnet. Beispielsweise umfasst das Lernmodul einen Klassifizierer und ist zur Klassifizierung der Token unter Verwendung der vorbestimmten Trigger-Definitionen konfiguriert. Die entsprechende Klassifikation kann beispielsweise Teil einer Mustererkennung sein, bei welcher eine Merkmalsgewinnung durch die Tokenisierung implementiert wird. Basierend auf diese Merkmalsgewinnung erfolgt jedoch keine Merkmalsreduktion im klassischen Sinne, da der vollständige Datenbestand indexiert wird und somit jedes Token als Trigger erkannt oder einer Klasse, zumindest der Auffangklasse, zugeordnet wird.For this purpose, the data records are broken down to an elementary level by tokenization, which takes into account the elementary components of the data records in the form of tokens. The tokens are assigned by the learning module as triggers to one of the trigger definitions or classified as using the trigger definitions. All tokens that are neither identified as triggers nor classified using one of the trigger definitions are assigned to the trap class as unknown data. For example, the learning module comprises a classifier and is configured to classify the tokens using the predetermined trigger definitions. The corresponding classification can, for example, be part of a pattern recognition in which a feature extraction is implemented by the tokenization. Based on this feature extraction, however, there is no feature reduction in the classic sense, since the complete database is indexed and thus each token is recognized as a trigger or assigned to a class, at least the capture class.

Zudem ist jedes Token in dem Index mit einem oder mehreren Zeigern verknüpft, welche anzeigen, in welchen Datensätzen das entsprechende Token vorkommt. Somit kann jederzeit auf die für einen Token relevanten Rohdaten zugegriffen werden und diese Rohdaten können zur Auswertung in Hinblick auf diesen Token herangezogen werden.In addition, each token in the index is linked to one or more pointers that indicate in which data records the corresponding token occurs. This means that the raw data relevant to a token can be accessed at any time and this raw data can be used for evaluation with regard to this token.

Hierdurch werden die Token-Zuordnungen nach bekannten Daten, welche gesicherten Fakten darstellen, und unbekannte Daten differenziert. Ausführungsformen können den Vorteil haben, dass die Verwendung der von dem Lernmodul bestimmten Strukturen und Gesetzmäßigkeiten in den Datensätzen, welche sich in den Token-Zuordnungen niederschlagen, auf den einer Verwendung der vorbestimmten Trigger Definitionen beruht. Unbekannt Daten werden demgegenüber als solche erfasst und solange außen vorgelassen werden, bis diese ebenfalls klassifiziert und mithin als gesicherte Fakten angesehen werden können. Eine solche zusätzliche Klassifikation kann beispielsweise durch zusätzliche Trigger-Definitionen implementiert werden. Insbesondere können gezielt zusätzliche Trigger-Definitionen zur Reduktion des von der Auffangklasse umfassten Token-Menge ergänzt werden. Das Verfahren ermöglicht somit ein Lernen und/oder Klassifizieren unter Vorbehalt. As a result, the token assignments are differentiated according to known data, which represent reliable facts, and unknown data. Embodiments can have the advantage that the use of the structures and regularities determined by the learning module in the data records, which are reflected in the token assignments, is based on the use of the predetermined trigger definitions. Unknown data, on the other hand, are recorded as such and left out until they can also be classified and thus viewed as reliable facts. Such an additional classification can be implemented, for example, by additional trigger definitions. In particular, additional trigger definitions can be added to reduce the amount of tokens included in the collection class. The method thus enables learning and / or classification with reservations.

Ausführungsformen können daher den Vorteil haben, dass sie dem Lernmodul erlauben auf dem gesamten zur Verfügung stehenden Datenbestand zu arbeiten. Insbesondere können sie den Vorteil haben, ein kontinuierliches Lernen zu ermöglichen, welches sowohl zusätzliche Datensätze als auch bereits gespeicherte Datensätze berücksichtigt. Ausführungsformen können daher den Vorteil haben, dass sie nicht darauf beschränkt sind, dass aus einer zur Verfügung stehenden Gesamtdatenmenge eine willkürliche Untermenge herausgegriffen wird, um auf dieser zu trainieren. Vielmehr werden alle von der Datenbank umfassten Daten unter Verwendung der Trigger-Definitionen verarbeitet. Durch Ergänzungen der Trigger-Definitionen kann nach Ausführungsformen zudem erreicht werden, dass alle Token entweder als Trigger identifiziert oder unter Verwendung der (ergänzten) Trigger-Definitionen klassifiziert werden. Werden unbekannte Daten von Suchanfragen und/oder weiteren Lernprozessen ausgeschlossen, so erfolgt dieser Ausschluss nicht willkürlich, sondern basierend auf den bereitgestellten Trigger-Definitionen.Embodiments can therefore have the advantage that they allow the learning module to work on the entire available database. In particular, they can have the advantage of enabling continuous learning which takes into account both additional data sets and data sets that have already been stored. Embodiments can therefore have the advantage that they are not restricted to an arbitrary subset being picked from an available total amount of data in order to use this to train. Rather, all of the data contained in the database are processed using the trigger definitions. Through additions to the trigger definitions, it can also be achieved, according to embodiments, that all tokens are either identified as triggers or classified using the (added) trigger definitions. If unknown data is excluded from search queries and / or further learning processes, this exclusion is not arbitrary, but based on the trigger definitions provided.

Ausführungsformen können den Vorteil haben, dass keine zufällige Initialisierung erforderlich ist, wie etwa bei bekannten selbstlernenden Systemen, z.B. neuronalen Netzwerken. Die Initialisierung beruht vielmehr auf den vorbestimmten Trigger-Definitionen. Durch das aus dieser zufälligen Initialisierung resultierende Zufallsmoment werden die Entscheidungen/Klassifizierungen eines entsprechenden neuronalen Netzes nicht transparent und nicht nachvollziehbar. Demgegenüber können Ausführungsformen den Vorteil haben, vollständig deterministisch zu sein.Embodiments can have the advantage that no random initialization is required, as is the case with known self-learning systems, e.g. neural networks. Rather, the initialization is based on the predetermined trigger definitions. Because of the random moment resulting from this random initialization, the decisions / classifications of a corresponding neural network are not transparent and cannot be traced. In contrast, embodiments can have the advantage of being completely deterministic.

Ausführungsformen können den Vorteil haben, dass ein bereits trainiertes System, d.h. das vortrainierte Lernmodul nachtrainiert bzw. weiter trainiert wird. So können Trigger-Definitionen ergänzt, entfernt oder geändert werden. Dadurch lassen sich beispielsweise auch die bei der Klassifizierung verwendeten Klassen ergänzen, entfernen oder ändern. Werden Trigger-Definitionen ergänzt, entfernt oder geändert, so sind alle auf diesen basierenden Zuordnungen von Token zu den entsprechenden Trigger-Definitionen oder zu einer der Klassen entsprechend anzupassen. Durch ein Ergänzen von Trigger-Definitionen können beispielsweise neue Strukturen erfasst werden, welche sich bisher noch nicht gezeigt haben. Dadurch kann insbesondere das Faktenwissen nachträglich erweitert werden, d.h. der Auffangklasse zugeordneten Token können andere Klassen zugeordnet werden.Embodiments can have the advantage that an already trained system, e.g. the pre-trained learning module is retrained or trained further. Trigger definitions can be added, removed or changed. In this way, for example, the classes used in the classification can be added, removed or changed. If trigger definitions are added, removed or changed, then all assignments of tokens based on these to the corresponding trigger definitions or to one of the classes must be adapted accordingly. By adding trigger definitions, for example, new structures can be recorded that have not yet been shown. In this way, the factual knowledge in particular can be expanded subsequently, i.e. tokens assigned to the trap class can be assigned to other classes.

Nach Ausführungsformen implementiert das Lernmodul einen Algorithmus zum maschinellen Lernen, wobei das Verfahren nicht beschränkt ist auf einen bestimmten Algorithmus. Nach Ausführungsformen umfasst der Algorithmus zum maschinellen Lernen zumindest einen Klassifizierungsalgorithmus zum Klassifizieren von Token. Bei dem maschinellen Lernen kann es sich um ein überwachtes oder ein unüberwachtes Lernen handeln. Das maschinelle Lernen kann eine Klassifizierung und/oder eine Regressionsanalyse umfassen. Ein Lernalgorithmus versucht, eine Hypothese bzw. eine Abbildung zu finden, welche jedem Eingabewert den (vermuteten) Ausgabewert zuordnet. Liegen die zuzuordnenden Ausgabewerte in einer kontinuierlichen Verteilung vor, deren Ergebnisse beliebige quantitative Werte eines vorgegebenen Wertebereiches annehmen kann, wird im Allgemeinen von einem Regressionsproblem gesprochen. Liegen die zuzuordnenden Ausgabewerte hingegen in diskreter Form vor bzw. sind die Werte qualitativ, wird im Allgemeinen von einem Klassifikationsproblem gesprochen. Nach Ausführungsformen stützt sich das maschinelle Lernen auf die Klassifikation der indexierten Token. Gemäß Ausführungsformen der Erfindung umfasst das Lernmodul einen speziell für das maschinelle Lernen entwickelten Algorithmus, wie zum Beispiel, ohne darauf beschränkt zu sein, eine dichtenbasierte multidimensionale Ausreißererkennung (engl. „local outlier detection“), ein Random-Forrest-Algorithmus, ein Neuronales Netz, eine Support-Vektor-Maschine, ein Naive-Bayes-Klassifikator oder eine Rückkopplung ähnlich der Rückkopplung eines linearen oder nichtlinearen Reglers.According to embodiments, the learning module implements a machine learning algorithm, the method not being restricted to a specific algorithm. According to embodiments, the machine learning algorithm comprises at least one classification algorithm for classifying tokens. Machine learning can be supervised or unsupervised learning. Machine learning can include classification and / or regression analysis. A learning algorithm tries to find a hypothesis or a mapping which assigns the (assumed) output value to each input value. If the output values to be assigned are present in a continuous distribution, the results of which can assume any quantitative values within a given range of values, this is generally referred to as a regression problem. If, on the other hand, the output values to be assigned are in discrete form or if the values are qualitative, this is generally referred to as a classification problem. According to embodiments, the machine learning relies on the classification of the indexed tokens. According to embodiments of the invention, the learning module comprises an algorithm specially developed for machine learning, such as, for example, without being limited thereto, a density-based multidimensional outlier detection (“local outlier detection”), a random Forrest algorithm, a neural network , a support vector machine, a naive Bayesian classifier or a feedback similar to the feedback of a linear or non-linear controller.

Unter einer Multi-Modell-Datenbank wird hier eine Datenbank verstanden, welche dazu konfiguriert ist eine Mehrzahl von unterschiedlichen Datenmodellen zu unterstützen. Eine Multi-Modell-Datenbank ist also dazu konfiguriert Daten in mehr als einem Datenmodell zu speichern, zu indexieren und abzufragen. Datenmodelle sind beispielsweise relational, spaltenorientiert, dokumentenorientiert, graphbasiert, Key-Value-basiert etc. Ein Datenbankmodell legt fest, in welcher Struktur Daten in einem Datenbanksystem gespeichert werden, d.h. in welcher Form die Daten organisiert, gespeichert und bearbeitet werden.A multi-model database is understood here to mean a database which is configured to support a plurality of different data models. A multi-model database is thus configured to store, index and query data in more than one data model. Data models are, for example, relational, column-oriented, document-oriented, graph-based, key-value-based, etc. A database model defines the structure in which data is stored in a database system, i.e. the form in which the data is organized, stored and processed.

Unter einer Datenbank wird im Folgenden eine (typischerweise große) Menge von Daten verstanden, die in einem Computersystem von einem Datenbankmanagementsystem (DBMS) nach bestimmten Kriterien verwaltet wird. Die Daten sind dabei in einer Vielzahl von Datensätzen organisiert. Unter einem Datenbankmanagementsystem oder DBMS wird im Folgenden ein elektronisches System zur Speicherung und Wiedergewinnung von Daten verstanden. Vorzugsweise werden die Daten in dem DBMS widerspruchsfrei und dauerhaft gespeichert und verschieden Anwendungsprogrammen und Nutzern in bedarfsgerechter Form effizient zur Verfügung gestellt. Ein DBMS kann typischerweise ein oder mehrere Datenbanken beinhalten und die darin enthaltenen Datensätze verwalten. Bei dem DBMS kann es sich vorzugsweise um ein feldorientiertes DBMS handeln, also um ein DBMS, das dazu konfiguriert ist, Teile einzelner Datensätze, sogenannte Feldwerte, in mehreren unterschiedlichen Feldern zu speichern.In the following, a database is understood to be a (typically large) amount of data that is managed in a computer system by a database management system (DBMS) according to specific criteria. The data is organized in a large number of data sets. In the following, a database management system or DBMS is understood to mean an electronic system for storing and retrieving data. The data are preferably stored consistently and permanently in the DBMS and are efficiently made available to various application programs and users in a needs-based form. A DBMS can typically contain one or more databases and manage the data records contained therein. The DBMS can preferably be a field-oriented DBMS, that is to say a DBMS that is configured to store parts of individual data records, so-called field values, in several different fields.

Unter einem Datensatz wird im Folgenden eine dem Datenbanksystem bereitgestellte zusammenhängende Menge von Daten verstanden, welche von dem Datenbankmanagementsystem als zusammenhängende Menge von Daten verwaltet wird. Ein Datensatz umfasst beispielsweise eine Menge inhaltlich zusammenhängender Daten. Nach Ausführungsformen werden Datensätze jeweils als zusammenhängende Datenmengen in dem dokumentenorientierten Datenmodell gespeichert. Beispielsweise kann ein einzelner Datensatz ein bestimmtes physisches Objekt, z.B. eine natürliche Person oder eine Vorrichtung, repräsentieren. Bei der Person kann es sich z.B. um einen Angestellten, einen Patienten, einen Kunden, etc. handeln. Bei der Vorrichtung kann es sich beispielsweise um eine Produktionsvorrichtung, eine Computervorrichtung, ein Computer- oder Netzwerkelement oder eine Transportvorrichtung handeln. Der entsprechende Datensatz kann eine vordefinierte Menge von Attributwerten dieser Person oder Vorrichtung beinhalten (z.B. Name oder Pseudonym, Alter, Größe, Gewicht, Geburtsdatum, Ausweisnummern, Sicherheitszertifikate, Authentifizierungscodes, biometrische Daten, Identifikator, Herstellungsdatum, Inbetriebnahmedatum, Konfigurationsdaten, und andere). Beispielsweise kann ein Datensatz eine Gruppe von inhaltlich zusammenhängenden (zu einem Objekt gehörenden) Datenfeldern repräsentieren, z. B. Artikelnummer, Artikelgröße, Artikelfarbe, Artikelname oder ähnliches. Die Klassen ,Name‘, Adresse‘ und ,Geburtsdatum‘ könnten z.B. die logische Struktur eines Datensatzes zum Objekttyp „Person“ bilden. In der Datenverarbeitung werden Daten in Form von Datensätzen in Datenbanken gespeichert, wobei sie sind Gegenstand der Verarbeitung von Computerprogrammen und werden von diesen erzeugt, gelesen, verändert und gelöscht.In the following, a data record is understood to be a coherent set of data provided to the database system, which is managed by the database management system as a coherent set of data. For example, a record includes a set content-related data. According to embodiments, data sets are in each case stored as coherent data sets in the document-oriented data model. For example, a single data set can represent a specific physical object, for example a natural person or a device. The person can be an employee, a patient, a customer, etc., for example. The device can be, for example, a production device, a computer device, a computer or network element or a transport device. The corresponding data record can contain a predefined set of attribute values for this person or device (e.g. name or pseudonym, age, height, weight, date of birth, ID numbers, security certificates, authentication codes, biometric data, identifiers, date of manufacture, date of commissioning, configuration data, and others). For example, a data record can represent a group of content-related (belonging to an object) data fields, e.g. B. Item number, item size, item color, item name or the like. The classes' name ', address'and' date of birth 'could, for example, form the logical structure of a data record for the object type “person”. In data processing, data is stored in the form of data records in databases, whereby they are the subject of the processing of computer programs and are generated, read, changed and deleted by these.

Ein „NoSQL“ (englisch für Not only SQL) DBMS ist ein DBMS, welches einem nichtrelationalen Ansatz der Datenspeicherung folgt und keine festgelegten Tabellenschemata benötigt. Zu den NoSQL DBMSs gehören insbesondere dokumentenorientierte DBMSs wie Apache Jackrabbit, BaseX, CouchDB, IBM Notes, MongoDB, Graphdatenbanken wie Neo4j, OrientDB, InfoGrid, HyperGraphDB, Core Data, DEX, AllegroGraph, und 4store, verteilte ACID-DBMSs wie MySQL Cluster, Key-Value-Datenbanken wie Chordless, Google BigTable, GT.M, InterSystems Cache, Membase, Redis, sortierte Key-Value-Speicher, Multivalue-Datenbanken, Obektdatenbanken wie Db4o, ZODB, spaltenorientierte Datenbanken und temporale Datenbanken wie Cortex DB.A "NoSQL" (English for Not only SQL) DBMS is a DBMS that follows a non-relational approach to data storage and does not require any fixed table schemes. NoSQL DBMSs include in particular document-oriented DBMSs such as Apache Jackrabbit, BaseX, CouchDB, IBM Notes, MongoDB, graph databases such as Neo4j, OrientDB, InfoGrid, HyperGraphDB, Core Data, DEX, AllegroGraph, and 4store, distributed ACID DBMSs such as MySQL Cluster, Key -Value databases such as Chordless, Google BigTable, GT.M, InterSystems Cache, Membase, Redis, sorted key-value memories, multivalue databases, object databases such as Db4o, ZODB, column-oriented databases and temporal databases such as Cortex DB.

Ein Index ist eine Datenstruktur, welche eine Suche nach bestimmten Datenwerten durch ein Datenbankmanagementsystem beschleunigt. Ein Index besteht aus einer Ansammlung von Zeigern (Verweisen), die eine Ordnungsrelation auf mehrere (in dem Index gespeicherte) „indexierte“ Datenwerte definieren. Beispielsweise werden hierfür B+-Bäume verwendet. Jeder indexierte Datenwert ist mit weiteren Zeigern verknüpft, die auf Datensätze verweisen, in welchen der gefundene indexierte Datenwert enthalten ist und welche die Datenbasis für die Erstellung des Index darstellten. Datenbankmanagementsysteme verwenden Indizes um als Antwort auf eine Suchanfrage die gewünschten Datensätze schnell zu identifizieren, indem zunächst der Index entlang der Zeiger nach einem Datenwert durchsucht wird, welcher identisch zu einem in der Suchanfrage enthaltenen Referenzwert ist. Ohne Index müssten die von dem DBMS verwalteten Datenwerte eines Feldes sequenziell durchsucht werden, während eine Suche mit Hilfe des Index, z.B. eines B+-Baums, oft nur logarithmische Komplexität hat.An index is a data structure which accelerates a search for certain data values by a database management system. An index consists of a collection of pointers (references) that define an order relation to several “indexed” data values (stored in the index). For example, B + trees are used for this. Each indexed data value is linked to further pointers, which refer to data records in which the indexed data value found is contained and which represent the database for creating the index. Database management systems use indices to quickly identify the desired data records in response to a search query, in that the index is first searched along the pointers for a data value which is identical to a reference value contained in the search query. Without an index, the data values of a field managed by the DBMS would have to be searched sequentially, while a search using the index, e.g. of a B + tree, often only has logarithmic complexity.

Ferner ordnet der Index die indexierten Daten, d.h. Token, Klassen zu, wodurch die entsprechenden Daten mit Meta- bzw. Kontextinformationen verknüpft werden. Diese Meta- bzw. Kontextinformationen können bei einer Suche und/oder bei einem maschinellen Lernprozess auf den Daten der Datenbank verwendet werden.The index also ranks the indexed data, i. Token, classes, whereby the corresponding data is linked with meta or context information. This meta or context information can be used in a search and / or in a machine learning process on the data in the database.

Unter einem Feld wird im Folgenden ein Bereich auf einem logischen oder physikalischen Datenträger bezeichnet, der von einem DBMS verwaltet wird, der einem vordefinierten Feldtyp zugeordnet ist und der zur Speicherung eines Feldwertes eines Datensatzes angelegt und bestimmt ist. Ein Feld ist also ein Element zur Speicherung eines Feldwertes eines Datensatzes gemäß obiger Definition. Felder eines Datensatzes werden von einem DBMS gemeinsam verwaltet.In the following, a field is an area on a logical or physical data carrier which is managed by a DBMS, which is assigned to a predefined field type and which is created and intended for storing a field value of a data record. A field is therefore an element for storing a field value of a data record as defined above. Fields of a data record are managed jointly by a DBMS.

Ein Feldwert ist ein Datenwert, der Bestandteil eines Datensatzes ist und in einem Feld des Datensatzes gespeichert ist. Ein Feldwert kann aus einem einzigen Wort, einer einzigen Zahl, oder einer Kombination aus mehreren Wörtern und/oder Zahlen und/oder anderen Datenformaten bestehen, wobei verschiedene Ausführungsformen der Erfindung verschiedene Grade an Flexibilität im Hinblick auf die Art und Kombinierbarkeit von Datentypen innerhalb des gleichen Feldwertes umfassen.A field value is a data value that is part of a data record and is stored in a field of the data record. A field value can consist of a single word, a single number, or a combination of several words and / or numbers and / or other data formats, with different embodiments of the invention varying degrees of flexibility with regard to the nature and combinability of data types within the same Include field values.

Ein „Tokenisierer“ ist eine Programlogik, die Daten, zum Beispiel einen Feldwert, als Input erhält, die Daten analysiert, z.B. um Delimiter oder andere Zerlegungskriterien und Muster zu erkennen und die Daten dann in ein oder mehrere Token als Ergebnis der Analyse zerlegt und die Token zurückgibt. Es ist auch möglich, dass nicht alle Daten als Token zurückgegeben werden. Beispielsweise kann ein Volltextindizierer semantisch unbedeutende Stoppwörter erkennen und herausfiltern, sodass diese nicht indexiert werden. Alternativ werden alle Daten als zurückgegeben. Einen Datenwert zu „tokenisieren“ bedeutet also, den Datenwert nach einem bestimmten Schema in mehrere Bestandteile zu zerteilen. Die Bestandteile stellen die Token dar. So können z.B. natürlichsprachige Texte an vordefinierten Trennzeichen, z.B. Leerzeichen, Punkten oder Kommata, aufgeteilt werden, die so generierten Bestandteile (Wörter) werden als Token verwendet. Nach Ausführungsformen werden alle Token für die Indexierung verwendet. Es ist auch möglich, dass manche Token nicht für die Indexierung verwendet werden (z.B. Stopwörter) oder die Token vor der Indexierung zusätzlich verarbeitet werden (z.B. Reduzierung von Wörtern auf den Wortstamm). In diesem Fall erfolgt für eine Verarbeitung von Suchanfragen eines Client-Computersystems an ein Server-Computersystem vorzugsweise eine gleichartige Verarbeitung des Suchwerts durch das Client-Computersystem oder das Server-Computersystem um sicherzustellen, dass die Suchwerte der Suchanfragen den in dem Index enthaltenen Token entsprechen.A "tokenizer" is a program logic that receives data, for example a field value, as input, analyzes the data, e.g. to recognize delimiters or other decomposition criteria and patterns, and then decomposes the data into one or more tokens as a result of the analysis Token returns. It is also possible that not all data will be returned as tokens. For example, a full-text indexer can recognize semantically insignificant stop words and filter them out so that they are not indexed. Alternatively, all data is returned as. To “tokenize” a data value means breaking the data value into several components according to a certain scheme. The components represent the tokens. For example, natural-language texts can be divided up using predefined separators, such as spaces, periods or commas Generated components (words) are used as tokens. According to embodiments, all tokens are used for indexing. It is also possible that some tokens are not used for indexing (e.g. stop words) or that the tokens are additionally processed prior to indexing (e.g. reducing words to the stem). In this case, for processing search queries from a client computer system to a server computer system, the search value is preferably processed in the same way by the client computer system or the server computer system to ensure that the search values of the search queries correspond to the tokens contained in the index.

Ein Klasse definiert beispielsweise eine Kategorie bzw. ein Typ, dem ein Token angehört. Die Klasse ordnet dem Token mithin Meta- bzw. Kontextinformationen, etwa in Form einer Eigenschaft zu. Beispielsweise kann eine Klasse ein bestimmtes Attribut eines physischen Objekts in Form eines Token repräsentieren. Beispielsweise können zu speichernde Datensätzen, die Attribute von Angestellten enthalten, welche Klassen wie „Name“, „Pseudonym“, „Ausweisnummer“; „Zugriffszertifikat für Raum R“, „Zugriffszertifikat für Gerät G“, „Zugriffszertifikat für Gebäude GB“, „Alter“ repräsentieren. Jedes Token kann ein oder mehreren Klassen zugeordnet sein. Ferner können Kombinationen von Token als eigenständige Token wiederum ein oder mehreren weiteren Klassen zugeordnet sein.For example, a class defines a category or a type to which a token belongs. The class therefore assigns meta or context information to the token, for example in the form of a property. For example, a class can represent a certain attribute of a physical object in the form of a token. For example, data records to be saved which contain employee attributes, which classes such as “name”, “pseudonym”, “ID number”; "Access certificate for room R", "Access certificate for device G", "Access certificate for building GB", "Age". Each token can be assigned to one or more classes. Furthermore, combinations of tokens as independent tokens can in turn be assigned to one or more further classes.

Die empfangenen Datensätze werden unter Verwendung eines dokumentorientierten Datenmodell abgespeichert. Beispielsweise werden alle Feldwerte der abgespeicherten Datensätze als Token in einen mehrdimensionalen Schlüssel/Wert-Speicher (Key/Value-Store) bzw. Key-Value-Datenbanken übertragen. Dabei werden die Token Tokentypen zugeordnet und in einer Form gespeichert, welche die sechste Normalform erfüllt.The data records received are stored using a document-oriented data model. For example, all field values of the stored data records are transferred as tokens into a multi-dimensional key / value store (key / value store) or key value databases. The tokens are assigned token types and stored in a form that meets the sixth normal form.

Nach Ausführungsformen werden zusätzlich Transaktionszeit und Gültigkeitszeit der Datensätze bitemporal gespeichert. Die Transaktionszeit gibt den Zeitpunkt an, zu dem eine Änderung eines Datenobjekt in der Datenbank erfolgt. Die Gültigkeitszeit gibt einen Zeitpunkt oder Zeitraum an, in dem ein Datenobjekt im modellierten Abbild der realen Welt den beschriebenen Zustand aufweist. Sind sowohl Gültigkeitsals auch Transaktionszeit relevant, spricht man von bitemporal.According to embodiments, the transaction time and the validity time of the data records are also stored bit-temporally. The transaction time indicates the point in time at which a change to a data object in the database occurs. The validity time specifies a point in time or time period in which a data object in the modeled image of the real world has the state described. If both the validity and the transaction time are relevant, one speaks of bitemporal.

Ein Schlüssel-Werte-Datenmodell ermöglicht ein Speichern, Abrufen und Verwalten von assoziativen Datenfeldern. Dabei werden Werte (Value) über einen Schlüssel (Key) eindeutig identifiziert.A key-value data model enables storage, retrieval and management of associative data fields. Values are uniquely identified using a key.

In einem dokumentenorientierte Datenmodell, auch bekannt als Dokumentenspeicher (Document Store), bilden Dokumente bzw. Datencontainer die Grundeinheit zur Speicherung der Daten bilden. Ein dokumentenorientiertes Datenmodell ermöglicht es dokumentenorientierten Informationen, auch bekannt als halbstrukturierte Daten, zu speichern, abzurufen und zu verwalten. Auf einem dokumentenorientierten Datenmodell beruhende Datenbanken gehören zu den NoSQL-Datenbanken und bilden eine Unterklasse der Schlüssel-Wert-Speicher (Key-value Stores). In einem Schlüssel-Wert-Speicher werden die Daten als für die Datenbank inhärent undurchsichtig angesehen, während eine dokumentenorientierte Datenbank auf interne Strukturen in den gespeicherten Dokumenten angewiesen ist, um Metadaten zu extrahieren. Das semistrukturierte Datenmodell ist ein Datenbankmodell, bei dem keine Trennung zwischen den Daten und dem Schema besteht und der Umfang der verwendeten Struktur vom Verwendungszweck der Datenbank abhängt. Jedes Dokument innerhalb des Datenmodells wird über einen eindeutigen Identifikator angesprochen.In a document-oriented data model, also known as a document store, documents or data containers form the basic unit for storing data. A document-oriented data model enables document-oriented information, also known as semi-structured data, to be stored, retrieved and managed. Databases based on a document-oriented data model belong to the NoSQL databases and form a subclass of the key-value stores. In a key-value store, the data is considered to be inherently opaque to the database, while a document-oriented database relies on internal structures in the stored documents to extract metadata. The semi-structured data model is a database model in which there is no separation between the data and the schema and the scope of the structure used depends on the purpose of the database. Each document within the data model is addressed via a unique identifier.

Eine Kombination der verschiedenen Datenbankkonzepten ermöglicht es Datensätze als Dokumente bzw. Container zu speichern (document store) und zusätzlich in Form eines Index, z.B. eines Schlüssel-Wert-Speichers, in die 6. Normalform zu überführen. Dieser Schlüssel-Wert-Speicher repräsentiert den gesamten Datenumfang in dem Dokumentenspeicher, während die Originaldatensätze erhalten bleiben. A combination of the different database concepts enables data sets to be saved as documents or containers (document store) and additionally in the form of an index, e.g. of a key-value memory to be converted into the 6th normal form. This key-value memory represents the entire data volume in the document memory, while the original data records are retained.

Nach Ausführungsformen werden Selektionen ausschließlich in dem Schlüssel-Wert-Speicher in der redundanzfreien sechsten Normalform durchgeführt. Erst das Ergebnis wird aus den Containern des Dokumentenspeicher gelesen. Nach Ausführungsformen wird neben Lese- und Schreibrechten in den Datensätzen zusätzlich ein Selektionsrecht auf dem Schlüssel-Wert-Speicher implementiert. Somit kann auch auf dem Index alleine gearbeitet werden, ohne die zugrundeliegenden Daten auslesen zu müssen.According to embodiments, selections are carried out exclusively in the key-value memory in the redundancy-free sixth normal form. Only the result is read from the document storage container. According to embodiments, in addition to reading and writing rights in the data records, a selection right is also implemented on the key-value memory. This means that you can work on the index alone without having to read out the underlying data.

Die vorgeschlagene Multi-Modell-Datenbank stellt somit neben einer schemalosen Datenablage auf Basis eines Dokumentenspeichers eine vollständige Normalisierung des gesamten Datenumfangs in der sechsten Normalform bereit. Ausführungsformen können den Vorteil haben, dass der Index Datenelemente der Datensätze, d.h. Token, als Schlüssel umfasst und jedem dieser Schlüssel jeweils ein oder mehrere Zeiger als Werte zugeordnet sind, welche anzeigen, in welchen Datensätzen und/oder Feldern der Datensätze der entsprechende Schlüssel, d.h. Token/Datenwert, als Feldwert gespeichert ist.The proposed multi-model database thus provides a complete normalization of the entire scope of data in the sixth normal form in addition to a schematic data storage based on a document memory. Embodiments can have the advantage that the index contains data elements of the data records, i. Token, as a key and each of these keys is assigned one or more pointers as values which indicate in which data records and / or fields of the data records the corresponding key, i.e. Token / data value, is stored as a field value.

Dieser Index bildet daher über alle Felder der Datensätze und deren Inhalte, d.h. die Feldwerte, die gesamte Datenbank mit allen von ihr umfassten Datensätze ab, so dass alle Abfragen in dem Index behandelt und die schemalos gespeicherten Daten des dokumentenorientierten Datenmodells nur zur Ausgabe der Suchergebnisse verwendet werden. Die geringe Größe des Index im Vergleich zu den schemalosen Daten ermöglicht schnelle Abfragen in beliebigen Abfragekombinationen.This index therefore forms over all fields of the data records and their contents, ie the field values, the entire database with all of them Records from, so that all queries are handled in the index and the schema-less stored data of the document-oriented data model are only used to output the search results. The small size of the index compared to the schema-less data enables quick queries in any query combination.

Unter einem Computer bzw. Computersystem wird hier ein Gerät verstanden, welches mittels programmierbarer Rechenvorschriften Daten verarbeitet. Unter einem Programm bzw. Programminstruktionen wird hier ohne Einschränkung jede Art von Computerprogramm verstanden, welches maschinenlesbare Instruktionen zur Steuerung einer Funktionalität eines Computers umfasst. Ein Computer bzw. Computersystem kann eine Kommunikationsschnittstelle zur Verbindung mit dem Netzwerk umfassen, wobei es sich bei dem Netzwerk um ein privates oder öffentliches Netzwerk handeln kann, insbesondere das Internet oder ein anderes Kommunikationsnetz. Je nach Ausführungsform kann diese Verbindung auch über ein Mobilfunknetz hergestellt werden.A computer or computer system is understood here to mean a device which processes data using programmable arithmetic rules. A program or program instructions is understood here, without restriction, to be any type of computer program which comprises machine-readable instructions for controlling a functionality of a computer. A computer or computer system can comprise a communication interface for connection to the network, wherein the network can be a private or public network, in particular the Internet or another communication network. Depending on the embodiment, this connection can also be established via a cellular network.

Bei einem Computersystem kann es sich um ein stationäres Computersystem, wie beispielsweise einen Personalcomputer (PC) oder einen in einer Client-Server-Umgebung eingebundenen Client bzw. Server handeln. Ferner kann es sich bei einem Computersystem beispielsweise um ein mobiles Telekommunikationsgerät, insbesondere ein Smartphone, einen tragbaren Computer, wie zum Beispiel einen Laptop PC oder Palmtop-PC, ein Tablet PC, einen Personal Digital Assistant oder dergleichen handeln.A computer system can be a stationary computer system, such as a personal computer (PC) or a client or server integrated in a client-server environment. Furthermore, a computer system can be, for example, a mobile telecommunications device, in particular a smartphone, a portable computer such as a laptop PC or palmtop PC, a tablet PC, a personal digital assistant or the like.

Bei einem entsprechenden Computersystem kann es auch um einen Gegenstand des Internets der Dinge („smart device“), z.B. um ein sog. „wearable“ bzw. „wearable computer“ handeln, d.h. tragbare elektronische Geräte bzw. tragbare Computersysteme, welche während der Anwendung am Körper des Nutzers angeordnet sind. Beispiele für Wearables sind Smartwatches, d.h. Uhren mit Computerfunktionalität und -konnektivität, Activity Tracker, d.h. Gerät zur Aufzeichnung und Versendung fitness- und/oder gesundheitsrelevanter Daten, Smartglasses, d.h. Brillen, deren Innenseiten als Bildschirm dienen, oder Kleidungsstücke, in die elektronische Hilfsmittel zur Kommunikation eingearbeitet sind.With a corresponding computer system, it can also be an object of the Internet of Things ("smart device"), e.g. be a so-called "wearable" or "wearable computer", i.e. portable electronic devices or portable computer systems which are arranged on the body of the user during use. Examples of wearables are smartwatches, i.e. Watches with computer functionality and connectivity, activity trackers, i.e. Device for recording and sending fitness and / or health-related data, smart glasses, i.e. Glasses, the inside of which serve as a screen, or articles of clothing in which electronic aids for communication are incorporated.

Nach weiteren Ausführungsformen kann es sich bei einem Computersystem um ein Computersystem eines Fortbewegungsmittels, wie etwa ein Auto, Flugzeug, Schiff oder Zug mit Bordcomputer, handeln.According to further embodiments, a computer system can be a computer system of a means of transport, such as a car, airplane, ship or train with an on-board computer.

Nach weiteren Ausführungsformen kann es sich bei einem Computersystem um einen Steuercomputer eines Smarthome-Systems, ein Access Point oder Router eines lokales WLAN-Netzwerks, ein Multimediagerät mit Computerfunktionalität und -konnektivität, wie etwa ein Smart-TV, ein Steuersystem einer Schließanlage oder ein „smart device“ bzw. intelligenter Gegenstände, d.h. ein informationstechnisch aufgerüstete Alltagsgegenstände, welcher einen Mehrwert durch sensorgestützte Informationsverarbeitung und Kommunikation erhält.According to further embodiments, a computer system can be a control computer of a smart home system, an access point or router of a local WLAN network, a multimedia device with computer functionality and connectivity, such as a smart TV, a control system of a locking system or a " smart device "or intelligent objects, ie an everyday object with information technology, which receives added value through sensor-based information processing and communication.

Unter einem Speicher werden hier sowohl flüchtige als auch nicht flüchtige elektronische Speicher bzw. digitale Speichermedien verstanden.A memory is understood here to mean both volatile and non-volatile electronic memories or digital storage media.

Unter einem nichtflüchtigen Speicher wird hier ein elektronischer Speicher zur dauerhaften Speicherung von Daten verstanden. Ein nichtflüchtiger Speicher kann als nichtänderbarer Speicher konfiguriert sein, der auch als Read-Only Memory (ROM) bezeichnet wird, oder als änderbarer Speicher, der auch als Non-Volatile Memory (NVM) bezeichnet wird. Insbesondere kann es sich hierbei um ein EEPROM, beispielsweise ein Flash-EEPROM, kurz als Flash bezeichnet, handeln. Ein nichtflüchtiger Speicher zeichnet sich dadurch aus, dass die darauf gespeicherten Daten auch nach Abschalten der Energieversorgung erhalten bleiben.A non-volatile memory is understood here as an electronic memory for the permanent storage of data. A non-volatile memory can be configured as a non-changeable memory, which is also referred to as read-only memory (ROM), or as a changeable memory, which is also referred to as non-volatile memory (NVM). In particular, it can be an EEPROM, for example a Flash EEPROM, referred to as Flash for short. A non-volatile memory is characterized by the fact that the data stored on it are retained even after the power supply has been switched off.

Unter einem flüchtigen elektronischen Speicher wird hier ein Speicher zur vorübergehenden Speicherung von Daten, welcher dadurch gekennzeichnet ist, dass alle Daten nach dem Abschalten der Energieversorgung verloren gehe. Insbesondere kann es sich hierbei um einen flüchtigen Direktzugriffsspeicher, der auch als Random-Access Memory (RAM) bezeichnet wird, oder einen flüchtigen Arbeitsspeicher des Prozessors handeln.A volatile electronic memory is a memory for the temporary storage of data, which is characterized in that all data is lost after the power supply is switched off. In particular, this can be a volatile random access memory, which is also referred to as a random access memory (RAM), or a volatile main memory of the processor.

Unter einem Prozessor wird hier und im Folgenden eine Logikschaltung verstanden, die zur Ausführung von Programminstruktionen dient. Die Logikschaltung kann auf einem oder mehreren diskreten Bauelementen implementiert sein, insbesondere auf einem Chip. Insbesondere wird unter einem Prozessor ein Mikroprozessor oder ein Mikroprozessorsystem aus mehreren Prozessorkernen und/oder mehreren Mikroprozessoren verstanden.A processor is understood here and in the following to be a logic circuit that is used to execute program instructions. The logic circuit can be implemented on one or more discrete components, in particular on a chip. In particular, a processor is understood to mean a microprocessor or a microprocessor system made up of several processor cores and / or several microprocessors.

Nach Ausführungsformen erfolgt ,falls eines der zusätzlichen Token nicht von dem Index umfasst ist, das Ergänzen des entsprechenden zusätzlichen Tokens unter seinen Klassenzuordnungen in dem Index, und, falls eine der Klassenzuordnungen eines von dem Index umfassten zusätzlichen Tokens von dem Index nicht umfasst ist, erfolgt ein Ergänzen der entsprechenden Klassenzuordnung mit dem entsprechenden zusätzlichen Token in dem Index und Verknüpfen des entsprechenden zusätzlichen Tokens in dem Index mit dem Zeiger auf den zusätzlichen in dem dokumentenorientierten Datenmodell gespeicherten Datensatz.According to embodiments, if one of the additional tokens is not included in the index, the corresponding additional token is supplemented under its class assignments in the index, and if one of the class assignments of an additional token included in the index is not included in the index supplementing the corresponding class assignment with the corresponding additional token in the index and linking the corresponding additional token in the index with the pointer to the additional data set stored in the document-oriented data model.

Für solche Token des zusätzlichen Datensatzes, welche der Index bereits umfasst, für welche aber ein oder mehrere unter Verwendung des zusätzlichen Datensatzes ermittelte Klassenzuordnungen von dem Index noch nicht berücksichtigt werden, werden die entsprechenden Klassenzuordnungen ergänzt. Zusätzlich wird in dem Index für diese Token jeweils der Zeiger auf den zusätzlichen Datensatz ergänzt.For those tokens of the additional data set which the index already includes, but for which one or more class assignments determined using the additional data set are not yet taken into account by the index, the corresponding class assignments are added. In addition, the pointer to the additional data record is added to the index for these tokens.

Schließlich wird für solche Token des zusätzlichen Datensatzes, welche der Index bereits mit all ihren für den zusätzlichen Datensatz ermittelten Klassenzuordnungen umfasst, lediglich der Zeiger auf den zusätzlichen Datensatz ergänzt.Finally, only the pointer to the additional data record is added for those tokens of the additional data record which the index already includes with all their class assignments determined for the additional data record.

Ausführungsformen können den Vorteil haben, dass stets sichergestellt werden kann, dass der Index alle von den Datensätzen der entsprechenden Einzeldatenbank umfassten Token aufweist. Zudem umfasst der Index für alle entsprechenden Token alle aufgefundenen Klassenzuordnungen. Zudem ist jeder der Token des Index mit Zeiger auf alle Datensätze der der entsprechenden Einzeldatenbank verknüpft, welche das entsprechende Token umfassen.Embodiments can have the advantage that it can always be ensured that the index has all tokens comprised by the data records of the corresponding individual database. In addition, the index includes all class assignments found for all corresponding tokens. In addition, each of the tokens of the index is linked with a pointer to all data records of the corresponding individual database which contain the corresponding token.

Beispielsweise wird im Zuge des Vortrainierens des Lernmodus eine initiale Menge von vorbestimmten Trigger-Definitionen festgelegt. Im Zuge eines Erfassens von Daten, werden Datensätze empfangen und in dem dokumentenbasierten Datenmodell gespeichert. Die gespeicherten Datensätze werden tokenisiert und für die resultierenden Token werden Klassen-Zuordnungen unter Verwendung der initial festgelegten Trigger-Definitionen ermittelt und ein initialer Index für die resultierenden Token erzeugt. Nach Ausführungsformen umfasst der initiale Index alle von den Trigger-Definitionen umfassten Trigger als Token. Nach alternativen Ausführungsformen werden durch die Trigger-Definitionen als Trigger festgelegte Token in dem Index nur unter der Voraussetzung ergänzt, dass sie von einem der Datensätze umfasst sind.For example, in the course of pre-training the learning mode, an initial set of predetermined trigger definitions is established. In the course of data acquisition, data records are received and stored in the document-based data model. The stored data records are tokenized and class assignments are determined for the resulting tokens using the initially set trigger definitions and an initial index is generated for the resulting tokens. According to embodiments, the initial index includes all triggers included in the trigger definitions as tokens. According to alternative embodiments, tokens defined as triggers by the trigger definitions are only added to the index on the condition that they are included in one of the data records.

Eine Zuordnung eines Token zu einer Klasse unter Verwendung einer vorbestimmten Trigger-Funktion stellt ein durch die entsprechende vorbestimmten Trigger-Funktion gesichertes Faktum dar. Für Token, bei welchen es sich um keinen Trigger handelt und welche von keiner der Trigger-Definitionen erfasst werden, fehlt es an einem solchen Faktenwissen. Die entsprechenden Token werden vielmehr als unbekannte Daten der Auffangklasse zugeordnet. Ausführungsformen können somit den Vorteil haben, dass unter Verwendung von initial festgelegten Trigger-Definitionen neue Daten in bekannte Daten, d.h. Trigger oder unter Verwendung von Trigger-Definitionen klassifizierter Token, und unbekannte Daten eingeteilt werden können, d.h. der Auffangklasse zugeordnete Token.An assignment of a token to a class using a predetermined trigger function is a fact secured by the corresponding predetermined trigger function. There is no token which is not a trigger and which are not detected by any of the trigger definitions it is because of such factual knowledge. Rather, the corresponding tokens are assigned to the trap class as unknown data. Embodiments can thus have the advantage that using initially established trigger definitions, new data can be converted into known data, i.e. Triggers or tokens classified using trigger definitions, and unknown data can be classified, i.e. Token assigned to the trap class.

Nach Ausführungsformen werden die Kombinationen aus zweiten zusätzlichen Token mit ein oder mehreren der identifizierten Trigger, welche eine Klassenzuordnung gemäß einer der Trigger-Definitionen getriggert haben, in dem Index als klassifizierte Kombinationen gekennzeichnet und Klassenzuordnungen werden nur für Kombinationen aus zweiten zusätzlichen Token und ein oder mehreren identifizierten Triggern ausgeführt, welche nicht als klassifizierte Kombinationen gekennzeichnet sind.According to embodiments, the combinations of second additional tokens with one or more of the identified triggers that have triggered a class assignment according to one of the trigger definitions are identified in the index as classified combinations and class assignments are only made for combinations of second additional tokens and one or more identified triggers which are not marked as classified combinations.

Ausführungsformen können den Vorteil haben, dass für alle Token-Kombinationen, für welche bereits bei einer Klassenzuordnung berücksichtigt wurden bzw. für welche bereits eine Klassenzuordnung ausgeführt wurde, in dem Index jeweils als bereits klassifiziert gekennzeichnet werden. Somit lässt sich vermeiden, dass für Token-Kombinationen, welche das Lernmodul bereits zuvor gesehen und im Zuge der Klassifizierungen vollständig berücksichtigt hat, dieselben Klassifizierungen erneut ausgeführt. Somit kann das System deutlich effizienter ausgestaltet werden. Beispielsweise umfasst der Index neben elementaren Token alle Token-Kombinationen, für welche bereits eine Klassifizierung erfolgt ist, d.h. alle Token-Kombinationen, welche als klassifiziert zu kennzeichnen sind. Nach Ausführungsformen sind die entsprechenden Token-Kombinationen in dem Index jeweils mit einem Flag versehen, welches anzeigt, ob es sich bei der entsprechenden Token-Kombinationen um klassifizierte Token-Kombinationen handelt.Embodiments can have the advantage that for all token combinations for which a class assignment has already been taken into account or for which a class assignment has already been carried out, are each identified in the index as already classified. It can thus be avoided that the same classifications are carried out again for token combinations which the learning module has already seen before and fully taken into account in the course of the classifications. The system can thus be designed to be significantly more efficient. For example, in addition to elementary tokens, the index includes all token combinations for which a classification has already taken place, i.e. all token combinations that are to be marked as classified. According to embodiments, the corresponding token combinations in the index are each provided with a flag which indicates whether the corresponding token combination is a classified token combination.

Nach Ausführungsformen erfolgt auf eine Tokenisierung eines zusätzlichen Datensatzes hin zunächst ein Abgleich mit allen als bereits klassifiziert gekennzeichneten Token-Kombinationen. Für diese Token-Kombinationen wird die Klassifizierung nicht wiederholt, vielmehr erfolgt lediglich eine Verknüpfung mit dem Zeiger auf den zusätzlichen Datensatz. Nach Ausführungsformen wird der entsprechende Zeiger auch mit allen von der Token-Kombination umfassten Token in dem Index verknüpft. Nach Ausführungsformen erfolgt der Abgleich zunächst mit den größten, d.h. umfangreichsten, Token-Kombinationen des Index. Für alle bereits als klassifiziert erkannten Token-Kombinationen des zusätzlichen Datensatzes wird lediglich der Zeiger auf den entsprechenden Datensatz in der Quelldatenbank abgespeichert. Nach Ausführungsformen wird der entsprechende Zeiger auch mit allen von der Token-Kombination umfassten Token in dem Index verknüpft. Somit kann das Einarbeiten der Daten des zusätzlichen Datensatzes in den Index deutlich beschleunigt werden. Nach Ausführungsformen erfolgt sukzessive ein Abgleich mit weiteren Token-Kombination, wobei die Größe bzw. der Umfang der verwendeten weiteren Token-Kombinationen sukzessive abnimmt. Nach Ausführungsformen werden nur solche weiteren Token-Kombinationen mit geringerer Größe bzw. Umfang berücksichtigt, welche nicht als Teil einer größeren bzw. umfangreichern Token-Kombinationen eine Übereinstimmung im Zuge des Abgleichs festgestellt wurde. Ausführungsformen können den Vorteil haben, dass für umfangreiche Token-Kombinationen, welche als bereits klassifiziert erkannt werden, kein zusätzlicher Abgleich für von der entsprechenden Token-Kombination umfasste Unterkombinationen erfolgt. Vielmehr erfolgt ein entsprechender Abgleich lediglich, wenn die entsprechende Unterkombination in dem zusätzlichen Datensatz unabhängige von der entsprechenden umfangreicheren Token-Kombination als eigenständige Token-Kombination umfasst ist.According to embodiments, upon tokenization of an additional data record, a comparison with all token combinations marked as already classified is first carried out. The classification is not repeated for these token combinations; rather, there is only a link with the pointer to the additional data record. According to embodiments, the corresponding pointer is also linked to all of the tokens included in the token combination in the index. According to embodiments, the comparison first takes place with the largest, ie most extensive, token combinations of the index. For all token combinations of the additional data record already recognized as classified, only the pointer to the corresponding data record is stored in the source database. According to embodiments, the corresponding pointer is also linked to all of the tokens included in the token combination in the index. In this way, the incorporation of the data of the additional data record into the index can be significantly accelerated. According to embodiments, a comparison with further tokens takes place successively Combination, whereby the size or scope of the other token combinations used gradually decreases. According to embodiments, only those further token combinations with a smaller size or scope are taken into account which, as part of a larger or more extensive token combination, a match was not found in the course of the comparison. Embodiments can have the advantage that for extensive token combinations which are recognized as already classified, there is no additional comparison for sub-combinations comprised by the corresponding token combination. Rather, a corresponding comparison only takes place if the corresponding sub-combination is included in the additional data record as an independent token combination, independent of the corresponding more extensive token combination.

Nach Ausführungsformen umfasst das Verfahren ferner:

  • • Identifizieren von ein oder mehreren Trigger-Kombinationen, welche jeweils von zumindest einem der Datensätzen umfasst sind und ein Kombinationskriterium erfüllen,
  • • für jede der identifizierten Trigger-Kombinationen Kombinieren der Trigger-Definitionen der Trigger der entsprechenden Trigger-Kombinationen zu ein oder mehreren zusätzlichen kombinierten Trigger-Definitionen,
  • • Ergänzen der Mehrzahl von vorbestimmten Trigger-Definitionen des Lernmoduls durch die ein oder mehreren zusätzlichen kombinierten Trigger-Definitionen.
According to embodiments, the method further comprises:
  • • Identification of one or more trigger combinations, which are each included in at least one of the data sets and meet a combination criterion,
  • • for each of the identified trigger combinations combining the trigger definitions of the triggers of the corresponding trigger combinations to one or more additional combined trigger definitions,
  • • Supplementing the plurality of predetermined trigger definitions of the learning module with the one or more additional combined trigger definitions.

Ausführungsformen können den Vorteil haben, dass basierend auf den von den initialen Trigger-Definitionen identifizierten Triggern zusätzliche Trigger in Form von Trigger-Kombinationen identifiziert werden können. Basierend auf diesen identifizierten Trigger-Kombinationen können aus den initialen Trigger-Definitionen kombinierte Trigger-Definitionen bestimmt werden, mit denen die Mehrzahl der vorbestimmten Trigger-Definitionen erweitert werden kann.Embodiments can have the advantage that, based on the triggers identified by the initial trigger definitions, additional triggers can be identified in the form of trigger combinations. Based on these identified trigger combinations, combined trigger definitions can be determined from the initial trigger definitions, with which the plurality of predetermined trigger definitions can be expanded.

Nach Ausführungsformen werden mehrere Token-Kombinationen, welche von demselben Datensatz umfasst werden und unter die kombinierte Trigger-Definition fallen, miteinander kombiniert und die resultierende Kombination in dem Index als eine klassifizierte Kombination gekennzeichnet. Ausführungsformen können den Vorteil haben, dass auch auf Basis kombinierte Trigger-Definitionen Token-Kombinationen im Index als klassifizierte Kombinationen gekennzeichnet und dadurch unnötige Wiederholungen von Klassifizierungen bereits klassifizierter Token-Kombinationen vermieden werden können.According to embodiments, several token combinations, which are comprised by the same data record and fall under the combined trigger definition, are combined with one another and the resulting combination is identified in the index as a classified combination. Embodiments can have the advantage that on the basis of combined trigger definitions, token combinations in the index can be identified as classified combinations, thereby avoiding unnecessary repetitions of classifications of already classified token combinations.

Nach Ausführungsformen umfasst das Kombinationskriterium eine Mindesthäufigkeit für ein Auftreten der entsprechenden Trigger-Kombination in den Datensätzen. Ausführungsformen können den Vorteil haben, dass entsprechende Trigger-Kombinationen nur dann herangezogen werden zum Bilden einer kombinierten Trigger-Definition, wenn die entsprechende Trigger-Kombination in den Datensätzen mit einer Mindesthäufigkeit auftreten. Somit kann verhindert werden, dass zusätzliche kombinierte Trigger-Definition gebildet werden aufgrund eines zufälligen Auftretens von Triggern unterschiedlicher Trigger-Definitionen in ein und demselben Datensatz. Ein solches zufälliges Auftreten ist ab einer bestimmten Größe und/oder Komplexität der Datensätze zu erwarten, ohne dass daraus Rückschlüsse auf einen zugrundeliegenden Zusammenhang zwischen den Triggern geschlossen werden könnte. Treten die entsprechenden Trigger-Kombinationen jedoch häufiger auf, so kann daraus auf einen Zusammenhang geschlossen werden.According to embodiments, the combination criterion comprises a minimum frequency for the corresponding trigger combination to occur in the data records. Embodiments can have the advantage that corresponding trigger combinations are only used to form a combined trigger definition if the corresponding trigger combination occur in the data records with a minimum frequency. This can prevent additional combined trigger definitions from being formed due to the accidental occurrence of triggers with different trigger definitions in one and the same data set. Such a random occurrence is to be expected from a certain size and / or complexity of the data records, without it being possible to draw conclusions about an underlying relationship between the triggers. However, if the corresponding trigger combinations occur more frequently, a connection can be concluded from them.

Nach Ausführungsformen legt die Mindesthäufigkeit einen absoluten Häufigkeitswert des Auftretens in den Datensätzen fest. Bei der entsprechenden Mindesthäufigkeit kann es sich um einen Mindestwert für das Auftreten der entsprechenden Trigger-Kombination in allen Datensätzen handeln. Das Auftreten der entsprechenden Trigger-Kombination wird über alle Datensätze aufsummiert. Ist die resultierende Summe größer oder gleich dem Mindestwert, so ist dieser erfüllt. Ferner kann es sich dabei der Mindesthäufigkeit um eine Mindestwert für das Auftreten in einem der Datensätze handeln. Das Auftreten der entsprechenden Trigger-Kombination wird für die einzelnen Datensätze jeweils individuell aufsummiert. Erfüllt ein der resultierenden Summen den Mindestwert, so liegt die Mindesthäufigkeit vor. Nach alternativen Ausführungsformen muss der Mindestwert von einer vorbestimmten Anzahl von Datensätzen oder einem vorbestimmten Prozentsatz der Datensätze erfüllt werden. Bei dem entsprechenden vorbestimmten Prozentsatz handelt es sich entweder um einen Prozentsatz aller Datensätze der Datenbank oder aller Datensätze, welche die entsprechende Trigger-Kombination umfassen. Nach alternativen Ausführungsformen muss der Mindestwert von allen Datensätzen erfüllt werden und/oder von allen Datensätzen, welche die entsprechende Trigger-Kombination umfassen. Ferner kann sich bei der entsprechenden Mindesthäufigkeit um einen Mindestwert für eine Durchschnittshäufigkeit des Auftretens der entsprechenden Trigger-Kombination in allen Datensätzen der Datenbank oder allen Datensätzen, welche die entsprechende Trigger-Kombination umfassen, handeln.According to embodiments, the minimum frequency defines an absolute frequency value of the occurrence in the data records. The corresponding minimum frequency can be a minimum value for the occurrence of the corresponding trigger combination in all data records. The occurrence of the corresponding trigger combination is added up across all data records. If the resulting sum is greater than or equal to the minimum value, this is fulfilled. Furthermore, the minimum frequency can be a minimum value for the occurrence in one of the data records. The occurrence of the corresponding trigger combination is summed up individually for the individual data records. If one of the resulting sums meets the minimum value, the minimum frequency is present. According to alternative embodiments, the minimum value must be fulfilled by a predetermined number of data records or a predetermined percentage of the data records. The corresponding predetermined percentage is either a percentage of all data records in the database or all data records which comprise the corresponding trigger combination. According to alternative embodiments, the minimum value must be fulfilled by all data records and / or by all data records which comprise the corresponding trigger combination. Furthermore, the corresponding minimum frequency can be a minimum value for an average frequency of occurrence of the corresponding trigger combination in all data records in the database or in all data records which comprise the corresponding trigger combination.

Nach Ausführungsformen legt die Mindesthäufigkeit einen relativen Häufigkeitswert des Auftretens in den Datensätzen fest. Nach Ausführungsformen ist die entsprechenden Mindesthäufigkeit abhängig von der Anzahl der Datensätze und/oder der Anzahl der Token und/oder der Größe der von den Datensätzen umfassten Daten. Beispielsweise wächst der von der Mindesthäufigkeit festgelegte Häufigkeitswert mit der Anzahl der Datensätze und/oder der Anzahl der Token und/oder der Größe der von den Datensätzen umfassten Daten.According to embodiments, the minimum frequency defines a relative frequency value of the occurrence in the data records. To Embodiments, the corresponding minimum frequency is dependent on the number of data records and / or the number of tokens and / or the size of the data comprised by the data records. For example, the frequency value determined by the minimum frequency increases with the number of data records and / or the number of tokens and / or the size of the data comprised by the data records.

Nach Ausführungsformen legt die Mindesthäufigkeit einen relativen Häufigkeitswert des Auftretens in den Datensätzen fest relativ zu Häufigkeiten des Auftretens von ein oder mehreren der von der entsprechenden Trigger-Kombination umfassten Triggern in den Datensätzen. Beispielsweise ist der relative Häufigkeitswert von dem Auftreten des Triggers mit der höchsten Häufigkeit eines Auftretens, des Trigger mit der geringsten Häufigkeit eines Auftretens und/oder einem Durchschnittswert des Auftretens aller Trigger der entsprechenden Trigger-Kombination abhängig. Ausführungsformen können den Vorteil haben, dass bei einer Berücksichtigung eines relativen Häufigkeitswerts die Häufigkeit des Auftretens von ein oder mehreren der von der entsprechenden Trigger-Kombination umfassten Triggern in den Entscheidungsprozess, ob auf Basis der entsprechenden Trigger-Kombination eine zusätzliche kombinierte Trigger-Definition zu ergänzen ist, mit einfließt. Die Häufigkeit des Auftretens der entsprechenden Trigger kann sich wie zuvor im Fall des absoluten Häufigkeitswerts auf ein Auftreten der entsprechenden Trigger in allen Datensätzen, auf ein durchschnittliches Auftreten in allen Datensätzen, auf ein häufigstes Auftreten in einem der Datensätze und/oder auf ein minimales Auftreten in einem der Datensätze beziehen.According to embodiments, the minimum frequency stipulates a relative frequency value of the occurrence in the data records relative to the frequencies of occurrence of one or more of the triggers comprised by the corresponding trigger combination in the data records. For example, the relative frequency value is dependent on the occurrence of the trigger with the highest frequency of occurrence, the trigger with the lowest frequency of occurrence and / or an average value of the occurrence of all triggers of the corresponding trigger combination. Embodiments can have the advantage that, when a relative frequency value is taken into account, the frequency of occurrence of one or more of the triggers comprised by the corresponding trigger combination in the decision-making process whether to supplement an additional combined trigger definition based on the corresponding trigger combination is incorporated. As before in the case of the absolute frequency value, the frequency of occurrence of the corresponding triggers can refer to an occurrence of the corresponding trigger in all data records, to an average occurrence in all data records, to a most frequent occurrence in one of the data records and / or to a minimal occurrence in refer to one of the data sets.

Ausführungsformen können den Vorteil haben, dass der relative Häufigkeitswert umso höher gewählt wird, umso höher die Häufigkeiten des Auftretens des ein oder der mehreren entsprechenden von der Trigger-Kombination umfassten Trigger ist. Somit kann vermieden werden, dass eine Trigger-Definition auf der Basis einer Trigger-Kombination erzeugt wird, deren Auftreten zufällig ist, d.h. deren Trigger zufällig von demselben Datensatz umfasst sind, ohne dass dies einen Zusammenhang der entsprechenden Trigger anzeigt.Embodiments can have the advantage that the relative frequency value is selected to be higher, the higher the frequencies of occurrence of the one or more corresponding triggers comprised by the trigger combination. It can thus be avoided that a trigger definition is generated on the basis of a trigger combination, the occurrence of which is random, i.e. whose triggers happen to be included in the same data set, without this indicating a connection between the corresponding triggers.

Nach Ausführungsformen umfasst das Kombinationskriterium ein oder mehrere Bedingungen an relative Positionen der Trigger der entsprechenden Trigger-Kombination zueinander innerhalb eines der Datensätze. Ausführungsformen können den Vorteil haben, dass für das Kombinationskriterium eine relative Position der Trigger der entsprechenden Trigger-Kombination innerhalb des Datensatzes berücksichtigt wird. Eine entsprechende relative Position von Daten innerhalb von Datensätzen resultiert aus bzw. ist abhängig von Kontextzusammenhängen. Mithin lassen sich entsprechende Kontextzusammenhänge aus der relativen Position ablesen. Abhängig von der Art der von den Datensätzen umfassten Daten kann es sich bei der relativen Position um eine relative Position in einer eindimensionalen, d.h. sequenziellen, Datenstruktur, wie beispielsweise einer Text- oder Sprachdatei, einer zweidimensionalen Datenstruktur, wie beispielsweise einer Bilddatei, oder einer höher dimensionalen, beispielsweise dreidimensionalen oder n-dimensionalen, Datenstruktur handeln.According to embodiments, the combination criterion comprises one or more conditions at relative positions of the triggers of the corresponding trigger combination to one another within one of the data sets. Embodiments can have the advantage that a relative position of the triggers of the corresponding trigger combination within the data set is taken into account for the combination criterion. A corresponding relative position of data within data records results from or is dependent on contextual relationships. Corresponding contextual relationships can therefore be read from the relative position. Depending on the type of data comprised by the data sets, the relative position can be a relative position in a one-dimensional, i.e. sequential data structure, such as a text or voice file, a two-dimensional data structure such as an image file, or a higher-dimensional, for example three-dimensional or n-dimensional, data structure.

Nach Ausführungsformen umfassen die Trigger-Definitionen jeweils eine Definition einer Trigger-Struktur, welche für ein oder mehrere von der entsprechenden Trigger-Definition umfasste Trigger und ein oder mehrere gemäß der entsprechenden Trigger-Definition einer der Klassen zuzuordnende Token relative Positionen zueinander festlegt.According to embodiments, the trigger definitions each include a definition of a trigger structure which defines positions relative to one another for one or more triggers included in the corresponding trigger definition and one or more tokens to be assigned to one of the classes according to the corresponding trigger definition.

Ausführungsformen können den Vorteil haben, dass eine entsprechende Trigger-Definition anhand ein oder mehrerer Trigger definiert, wie ein oder mehrere Token zu klassifizieren sind in Abhängigkeit von einer relativen Position der entsprechenden Token zu den entsprechenden Triggern. Je nach Art der von den Datensätzen umfassten Datenstrukturen kann es sich bei der entsprechenden relativen Position um eine relative Position in einem eindimensionalen, zweidimensionalen oder höher dimensionalen, beispielsweise dreidimensionalen oder n-dimensionalen, Datenraum handeln.Embodiments can have the advantage that a corresponding trigger definition using one or more triggers defines how one or more tokens are to be classified depending on a relative position of the corresponding tokens to the corresponding triggers. Depending on the type of data structures comprised by the data records, the corresponding relative position can be a relative position in a one-dimensional, two-dimensional or higher-dimensional, for example three-dimensional or n-dimensional, data space.

Nach Ausführungsformen umfassen die Festlegungen der relativen Positionen zumindest eine der folgenden Festlegungen: die ein oder mehreren zuzuordnenden Token sind nach einem von der entsprechenden Trigger-Definition umfassten Trigger angeordnet, die ein oder mehreren zuzuordnenden Token sind vor einem von der entsprechenden Trigger-Definition umfassten Trigger angeordnet, die ein oder mehreren zuzuordnenden Token sind jeweils zwischen von der entsprechenden Trigger-Definition umfassten Triggern angeordnet.According to embodiments, the definitions of the relative positions include at least one of the following definitions: the one or more tokens to be assigned are arranged according to a trigger included in the corresponding trigger definition, the one or more tokens to be assigned are before a trigger included in the corresponding trigger definition arranged, the one or more tokens to be assigned are each arranged between triggers included in the corresponding trigger definition.

Ein Trigger kann beispielsweise eine Klassifikation vorangehendender Daten triggern, z.B. „[davor1] [Trigger1]“. In diesem Fall triggert das Auftreten des Triggers „Trigger1“ eine Klassifikation der vorangehenden Daten „davor1“. Nach Ausführungsformen ist der Trigger selbst Bestandteil der Klassifikation, d.h. klassifiziert wird die Kombination „[davor1] [Trigger1]“. Nach Ausführungsformen wird der Trigger „Trigger1“, wenn er erkannt wird, als Trigger der entsprechenden Trigger-Definition zugeordnet.For example, a trigger can trigger a classification of previous data, e.g. "[Before1] [Trigger1]". In this case the occurrence of the trigger “Trigger1” triggers a classification of the preceding data “before1”. According to embodiments, the trigger itself is part of the classification, i.e. the combination "[before1] [Trigger1]" is classified. According to embodiments, the trigger “Trigger1”, if it is recognized, is assigned as a trigger to the corresponding trigger definition.

Ein Trigger kann beispielsweise eine Klassifikation nachfolgender Daten triggern, z.B. „[Trigger2] [danach1]“. In diesem Fall triggert das Auftreten des Triggers „Trigger2“ eine Klassifikation der nachfolgenden Daten „danach1“. Nach Ausführungsformen ist der Trigger selbst Bestandteil der Klassifikation, d.h. klassifiziert wird die Kombination „[Trigger2] [danach1]“. Nach Ausführungsformen wird der Trigger „Trigger2“, wenn er erkannt wird, als Trigger der entsprechenden Trigger-Definition zugeordnet.A trigger can, for example, trigger a classification of subsequent data, eg "[Trigger2] [after1]". In this case the occurrence of the trigger “Trigger2” triggers a classification of the subsequent data "after1". According to embodiments, the trigger itself is part of the classification, ie the combination “[Trigger2] [after1]” is classified. According to embodiments, the trigger “Trigger2”, if it is recognized, is assigned as a trigger to the corresponding trigger definition.

Ein Trigger kann beispielsweise eine Klassifikation vorangehender und nachfolgender Daten triggern, z.B. „[davor2] [Trigger3] [danach2]“. In diesem Fall triggert das Auftreten des Triggers „Trigger3“ eine Klassifikation der vorangehendenden Daten „davor2“ sowie der nachfolgenden Daten „danach2“. Nach Ausführungsformen ist der Trigger selbst Bestandteil der Klassifikation, d.h. klassifiziert wird die Kombination „[davor2] [Trigger3] [danach2]“. Nach Ausführungsformen wird der Trigger „Trigger3“, wenn er erkannt wird, als Trigger der entsprechenden Trigger-Definition zugeordnet.A trigger can, for example, trigger a classification of preceding and following data, e.g. "[Before2] [trigger3] [after2]". In this case, the occurrence of the “Trigger3” trigger triggers a classification of the preceding data “before2” and the following data “after2”. According to embodiments, the trigger itself is part of the classification, i.e. the combination "[before2] [trigger3] [after2]" is classified. According to embodiments, the trigger “Trigger3”, if it is recognized, is assigned as a trigger to the corresponding trigger definition.

Eine Kombination aus zwei oder mehr Trigger kann beispielsweise eine Klassifikation vorangehender, nachfolgender sowie zwischen den Triggern angeordneter Daten triggern, z.B. „[davor3] [Trigger4] [dazwischen1] [Trigger5] [danach3]“. In diesem Fall triggert das Auftreten der Kombination aus den Triggern „Trigger4“ und „Trigger5“ eine Klassifikation der vorangehendenden Daten „davor3“, der nachfolgenden Daten „danach3“ sowie der dazwischenstehenden Daten „dazwischen 1“. Nach Ausführungsformen sind die Trigger selbst Bestandteil der Klassifikation, d.h. klassifiziert wird die gesamte Kombination „[davor3] [Trigger4] [dazwischen1] [Trigger5] [danach3]“. Nach Ausführungsformen werden die Trigger „Trigger4“ und „Trigger5“, wenn er erkannt wird, als Trigger der entsprechenden Trigger-Definition zugeordnet.A combination of two or more triggers can, for example, trigger a classification of preceding, following and data arranged between the triggers, e.g. "[Before3] [trigger4] [between1] [trigger5] [after3]". In this case, the occurrence of the combination of the triggers “Trigger4” and “Trigger5” triggers a classification of the preceding data “before3”, the following data “after3” and the data in between “in between 1”. According to embodiments, the triggers themselves are part of the classification, i.e. the entire combination "[before3] [trigger4] [between1] [trigger5] [after3]" is classified. According to embodiments, the triggers “Trigger4” and “Trigger5”, if it is recognized, are assigned as triggers to the corresponding trigger definition.

Nach Ausführungsformen kann eine Trigger-Kombination eine beliebige Anzahl an Triggern umfassen, z.B. „[davor4] [Trigger6] [dazwischen2] [Trigger7] [...] [Trigger6+N] [dazwischen2+N] [Trigger6+(N+1)] [danach4]“. In diesem Fall triggert das Auftreten der Kombination aus den Triggern „Trigger6“ bis „Trigger6+(N+1)“ eine Klassifikation der vorangehendenden Daten „davor4“, der nachfolgenden Daten „danach4“ sowie der dazwischenstehenden Daten „dazwischen2“ bis „dazwischen2+N“. Nach Ausführungsformen sind die Trigger selbst Bestandteil der Klassifikation, d.h. klassifiziert wird die gesamte Kombination „[davor4] [Trigger6] [dazwischen2] [Trigger7] [...] [Trigger6+N] [dazwischen2+N] [Trigger6+(N+1)] [danach4]“. Nach Ausführungsformen werden die Trigger „Trigger6“ bis „Trigger6+(N+1)“, wenn er erkannt wird, als Trigger der entsprechenden Trigger-Definition zugeordnet.According to embodiments, a trigger combination can comprise any number of triggers, e.g. "[Before4] [Trigger6] [between2] [Trigger7] [...] [Trigger6 + N] [between2 + N] [Trigger6 + (N + 1)] [after4]". In this case, the occurrence of the combination of triggers “Trigger6” to “Trigger6 + (N + 1)” triggers a classification of the preceding data “before4”, the following data “after4” and the data in between “in between2” to “in between2 + N ". According to embodiments, the triggers themselves are part of the classification, i.e. the entire combination "[before4] [Trigger6] [between2] [Trigger7] [...] [Trigger6 + N] [between2 + N] [Trigger6 + (N + 1)] [after4]" is classified. According to embodiments, the triggers “Trigger6” to “Trigger6 + (N + 1)” are assigned as a trigger to the corresponding trigger definition when it is recognized.

Im Falle einer Textdatei kann eine beispielhafte Trigger-Definition wie folgt aussehen: „[Identität] [Trigger1 = darf über] [Identität] [Trigger2 = und] [Identität]“. Bei der Formulierung „darf über“ handelt es sich um einen ersten Trigger [Trigger1] und bei der Formulierung „und“ um einen zweiten Trigger [Trigger2]. Die Struktur entspricht also einer Struktur der Form [davor] [Trigger1] [dazwischen] [Trigger2] [danach]. In diesem Fall werden vorangehenden Daten [davor] als eine Identität klassifiziert, ebenso werden dazwischenstehende Daten [dazwischen] sowie nachfolgende Daten [danach] jeweils als Identitäten klassifiziert.In the case of a text file, an example trigger definition can look like this: "[Identity] [Trigger1 = may over] [Identity] [Trigger2 = and] [Identity]". The phrase “may over” is a first trigger [Trigger1] and the phrase “and” is a second trigger [Trigger2]. The structure therefore corresponds to a structure of the form [before] [Trigger1] [between] [Trigger2] [after]. In this case, preceding data [before] are classified as an identity, and intermediate data [between] and subsequent data [after] are classified as identities, respectively.

Ein weiteres Beispiel ist: „[Trigger = Der Kunde trägt den Schaden,] [Bedingung]“. Bei der Formulierung „Der Kunde trägt den Schaden,“ handelt es sich um einen Trigger [Trigger]. Die Struktur entspricht mithin der Struktur [Trigger] [danach]. In diesem Fall werden die nachfolgenden Daten [danach] als eine Bedingung klassifiziert.Another example is: "[Trigger = the customer bears the damage,] [condition]". The phrase “the customer bears the damage” is a trigger. The structure therefore corresponds to the structure [Trigger] [after]. In this case, the subsequent data [after] is classified as a condition.

Ein weiteres Beispiel ist: „[Trigger1 = zwischen] [Identität] [Trigger2 = und] [Identität]“. Bei der Formulierung „zwischen“ handelt es sich um einen ersten Trigger [Trigger1] und bei der Formulierung „und“ um einen zweiten Trigger [Trigger2]. Die Struktur entspricht mithin der Form [Trigger1] [dazwischen] [Trigger2] [danach]. Umfasst ein Datensatz beispielsweise die Formulierung: „Die Geschäftsbeziehung zwischen dem Kunden und der Bank [...]“, so werden die Token „zwischen“ und „und“ als Trigger identifiziert. Anhand dieser Trigger-Kombination werden die dazwischenstehenden Token „dem Kunden“ als Identität klassifiziert, ebenso wie die nachfolgenden Token „der Bank“. Für die vorangehenden Token „Die Geschäftsbeziehung“ wird durch die Trigger keine Klassifikation getriggert. Mithin werden die vorangehenden Token als unbekannte Daten der Auffangklasse klassifiziert.Another example is: "[Trigger1 = between] [Identity] [Trigger2 = and] [Identity]". The phrase “between” is a first trigger [Trigger1] and the phrase “and” is a second trigger [Trigger2]. The structure therefore corresponds to the form [Trigger1] [between] [Trigger2] [after]. For example, if a data record includes the phrase: “The business relationship between the customer and the bank [...]”, the tokens “between” and “and” are identified as triggers. Using this trigger combination, the tokens in between are classified as “the customer” as an identity, as are the subsequent tokens “of the bank”. The triggers do not trigger any classification for the preceding tokens "The business relationship". Thus, the preceding tokens are classified as unknown data of the trap class.

Nach Ausführungsformen kann eine Trigger-Definition festlegen, dass ein Token, welches sich innerhalb eines Radius um einen bestimmten Trigger in einem n-dimensionalen Datenraum befindet, einer bestimmten Klasse zuzuordnen ist. Nach Ausführungsformen kann neben dem Abstand des Tokens von dem Trigger zudem maßgeblich für die Klassenzuordnung sein, in welcher Raumrichtung der Token von dem Trigger entsprechend beanstandet ist. Dies kann beispielsweise durch einen Vektor definiert werden, welche die relative Position des Tokens zu dem Trigger definiert. Nach Ausführungsformen kann eine Trigger-Definition festlegen, dass ein Token, welches innerhalb einer Mehrzahl von Radien um jeweils einen Trigger einer Mehrzahl von Trigger angeordnet ist, einer bestimmten Klasse zuzuordnen ist. Hierbei überschneiden sich die von den einzelnen Radien begrenzten n-dimensionalen Bereiche und begrenzen einen n-dimensionalen oder niedriger dimensionalen Schnittbereich in dem n-dimensionalen Datenraum. Ein Token, welches Bestandteil dieses n-dimensionalen oder niedriger dimensionalen Schnittbereich ist, wird beispielsweise einer bestimmten Klasse zugeordnet.According to embodiments, a trigger definition can stipulate that a token which is located within a radius around a specific trigger in an n-dimensional data space is to be assigned to a specific class. According to embodiments, in addition to the distance between the token and the trigger, it can also be decisive for the class assignment in which spatial direction the token is correspondingly rejected by the trigger. This can, for example, be defined by a vector which defines the relative position of the token to the trigger. According to embodiments, a trigger definition can stipulate that a token which is arranged within a plurality of radii around one trigger of a plurality of triggers is to be assigned to a specific class. Here, the n-dimensional areas delimited by the individual radii overlap and delimit an n-dimensional or lower-dimensional intersection area in the n-dimensional data space. A token which is part of this n-dimensional or lower-dimensional intersection is, for example, assigned to a specific class.

Nach Ausführungsformen ist für die Trigger gemäß den Trigger-Definitionen jeweils ein maximaler Trigger-Abstand festgelegt, welcher einen maximalen Abstand relativ zu dem entsprechenden Trigger definiert, auf welche eine Trigger-Wirkung des Triggers beschränkt ist.According to embodiments, a maximum trigger distance is defined for each of the triggers in accordance with the trigger definitions, which defines a maximum distance relative to the corresponding trigger to which a trigger effect of the trigger is limited.

Ausführungsformen können den Vorteil haben, dass es sich bei dem entsprechenden maximalen Abstand um einen Radius um den entsprechenden Trigger in einem n-dimensionalen Datenraum handelt. Im Falle eines eindimensionalen Datenraums beschränkt sich die Trigger-Wirkung auf den entsprechenden maximalen Trigger-Abstand vor und hinter dem entsprechenden Trigger. Im Fall eines zweidimensionalen Datenraums beschränkt sich die Trigger-Wirkung auf eine zweidimensionale Kreisfläche um den entsprechenden Trigger herum. Im Falle eines dreidimensionalen Datenraums beschränkt sich die Trigger-Wirkung auf ein Kugelvolumen um den entsprechenden Trigger herum. Im Falle eines n-dimensionalen Datenraums beschränkt sich die Trigger-Wirkung auf ein Volumen einer n-dimensionalen Kugel um den entsprechenden Trigger herum.Embodiments can have the advantage that the corresponding maximum distance is a radius around the corresponding trigger in an n-dimensional data space. In the case of a one-dimensional data space, the trigger effect is limited to the corresponding maximum trigger distance in front of and behind the corresponding trigger. In the case of a two-dimensional data space, the trigger effect is limited to a two-dimensional circular area around the corresponding trigger. In the case of a three-dimensional data space, the trigger effect is limited to a spherical volume around the corresponding trigger. In the case of an n-dimensional data space, the trigger effect is limited to a volume of an n-dimensional sphere around the corresponding trigger.

Nach Ausführungsformen kann der maximale Abstand von der Raumrichtung abhängen und in unterschiedlichen Raumrichtungen unterschiedlich groß festgelegt sein.According to embodiments, the maximum distance can depend on the spatial direction and be set to be of different sizes in different spatial directions.

Nach Ausführungsformen ist der maximale Trigger-Abstand für alle Trigger identisch. Nach Ausführungsformen ist der maximale Trigger-Abstand für eine Teilmenge der Trigger identisch. Nach Ausführungsformen ist der maximale Trigger-Abstand für jeden Trigger jeweils individuell bestimmt. Bei dem entsprechenden maximalen Trigger-Abstand kann es sich je nach Art der Daten um einen Abstand in einer bestimmten Einheit handeln. Beispielsweise handelt es sich bei einer zeitlichen sequenziellen Abfolge um einen zeitlichen Abstand gemessen in einer zeitlichen Einheit, wie etwa Millisekunden, Sekunden oder Minuten. Beispielsweise handelt es sich bei einem eindimensionalen, zweidimensionalen oder dreidimensionalen räumlichen Datenstruktur um einen räumlichen Abstand in einer räumlichen Einheit, wie etwa Millimeter, Zentimeter, Dezimeter oder Meter. Im Falle von Bild- oder Videodaten kann der Abstand beispielsweise auf Pixel oder Voxel beruhen. Somit kann es sich bei einem entsprechenden Abstand beispielsweise um eine Pixelzahl oder eine Voxelzahl handeln.According to embodiments, the maximum trigger spacing is identical for all triggers. According to embodiments, the maximum trigger spacing is identical for a subset of the triggers. According to embodiments, the maximum trigger distance is determined individually for each trigger. The corresponding maximum trigger distance can be a distance in a specific unit, depending on the type of data. For example, a sequential sequence in time is a time interval measured in a time unit, such as milliseconds, seconds or minutes. For example, a one-dimensional, two-dimensional or three-dimensional spatial data structure is a spatial distance in a spatial unit, such as millimeters, centimeters, decimeters or meters. In the case of image or video data, the distance can be based on pixels or voxels, for example. A corresponding distance can thus be, for example, a number of pixels or a number of voxels.

Nach Ausführungsformen handelt es sich bei dem Abstand um einen logischen Abstand. Dieser kann beispielsweise auf elementaren Datenelementen beruhen, wie beispielsweise Elementarzeichen. Somit kann es sich bei einem entsprechenden Abstand beispielsweise um eine Zeichenzahl handeln. Ferner kann es sich bei dem entsprechenden Abstand um eine Anzahl aus elementaren Datenelementen um zusammengesetzte Elemente handeln, wie beispielsweise einer Wortanzahl. Beispielsweise ist die Anzahl auf eine bestimmte Wortart beschränkt. Ferner kann der Abstand durch logische Elemente in der Datenstruktur begrenzt werden, wie beispielsweise ein Interpunktionszeichen und/oder einen Trigger.According to embodiments, the distance is a logical distance. This can for example be based on elementary data elements, such as elementary characters. Thus, a corresponding distance can be a number of characters, for example. Furthermore, the corresponding spacing can be a number of elementary data elements composed of elements, such as a number of words. For example, the number is limited to a certain part of speech. Furthermore, the spacing can be limited by logical elements in the data structure, such as a punctuation mark and / or a trigger.

Nach Ausführungsformen umfasst das Verfahren ferner:

  • • Ergänzen des vortrainierten Lernmoduls um ein oder mehrere zusätzliche Trigger-Definitionen, welche zusätzliche Trigger für ein Ersetzen von Zuordnungen von Token in dem Index zu der Auffangklasse durch Zuordnungen zu ein oder mehreren Klassen einer zweiten Gruppe von Klassen im Zuge eines Reklassifizierens definieren,
  • • Reklassifizieren von ein oder mehreren der Auffangklasse zugeordneten Token in dem Index, welche die zusätzlichen Trigger-Definitionen als zusätzliche Trigger definierten, wobei das Reklassifizieren durch das Lernmodul ein Ersetzen der Zuordnung zu der Auffangklasse durch eine Zuordnung zu der entsprechen zusätzlichen Trigger-Definition umfasst, welche das entsprechende Token als zusätzlichen Trigger umfasst,
  • • Verwenden der zusätzlichen Trigger zum Reklassifizieren von ein oder mehreren der Auffangklasse zugeordneten Token in dem Index zu ein oder mehreren Klassen der zweiten Gruppe von Klassen durch das Lernmodul, falls die entsprechenden der Auffangklasse zugeordneten Token von einem der Datensätze in einer Kombination mit ein oder mehreren der zusätzlichen Triggern umfasst sind und die entsprechenden zusätzlichen Trigger gemäß der entsprechenden zusätzlichen Trigger-Definition eine entsprechende Zuordnung zu den ein oder mehreren Klassen der zweiten Gruppe von Klassen triggern.
According to embodiments, the method further comprises:
  • • Supplementing the pre-trained learning module with one or more additional trigger definitions which define additional triggers for the replacement of assignments of tokens in the index to the receiving class with assignments to one or more classes of a second group of classes in the course of a reclassification,
  • Reclassifying one or more tokens assigned to the collection class in the index, which defined the additional trigger definitions as additional triggers, the reclassification by the learning module comprising replacing the assignment to the collection class with an assignment to the corresponding additional trigger definition, which includes the corresponding token as an additional trigger,
  • Use of the additional triggers for reclassifying one or more tokens assigned to the collection class in the index to one or more classes of the second group of classes by the learning module if the corresponding tokens assigned to the collection class are from one of the data records in a combination with one or more the additional triggers are included and the corresponding additional triggers trigger a corresponding assignment to the one or more classes of the second group of classes in accordance with the corresponding additional trigger definition.

Ausführungsformen können den Vorteil haben, dass durch das Ergänzen des Lernmoduls um zusätzliche Trigger-Definitionen die Anzahl der Token, welche der Auffangklasse zugeordnet sind, reduziert werden kann. Zusätzliche Trigger-Definitionen können gezielt ergänzt werden, um solche Token zu reklassifizieren, welche der Auffangklasse zugeordnet sind. Mithin kann das Ergänzen zusätzlicher Trigger-Definitionen in Abhängigkeit von den Datensätzen, welche die entsprechende Einzeldatenbank umfasst, und den von diesen umfassten unbekannten Daten erfolgen.Embodiments can have the advantage that by adding additional trigger definitions to the learning module, the number of tokens that are assigned to the collection class can be reduced. Additional trigger definitions can be supplemented in a targeted manner in order to reclassify those tokens that are assigned to the trap class. Additional trigger definitions can therefore be supplemented as a function of the data records which the corresponding individual database comprises and the unknown data which they comprise.

Beispielsweise werden zusätzliche Trigger-Definitionen ergänzt, bis alle Token der Auffangklasse reklassifiziert sind. Nach Ausführungsformen werden entsprechende zusätzliche Trigger-Definitionen nach vordefinierten Intervallen ergänzt. Entsprechende vordefinierte Intervalle sind beispielsweise zeitlich definiert, basierend auf der Anzahl der von der Auffangklasse umfassten Token, der in der entsprechenden Einzeldatenbank gespeicherten Datenmenge und/oder der zu der entsprechenden Einzeldatenbank seit der letzten Ergänzung hinzugefügten Datenmenge.For example, additional trigger definitions are added until all tokens of the trap class are reclassified. According to embodiments, corresponding additional trigger definitions are added according to predefined intervals. Corresponding predefined intervals are defined in time, for example, based on the number of tokens included in the collection class, the amount of data stored in the corresponding individual database and / or the amount of data added to the corresponding individual database since the last addition.

Nach Ausführungsformen umfasst die zweite Gruppe von den Klassen der ersten Gruppe verschiedene Klassen. Ausführungsformen können den Vorteil haben, dass zusätzliche Klassen definiert werden, sodass solche die Token der Auffangklasse klassifiziert werden können, für welche die Meta- bzw. Kontextinformationen entsprechend den Klassen der ersten Gruppe nicht anwendbar sind. Vielmehr können durch die Klassen der zweiten Gruppe zusätzliche Meta- bzw. Kontextinformationen definiert und verwendet werden.According to embodiments, the second group comprises classes different from the classes in the first group. Embodiments can have the advantage that additional classes are defined so that those tokens of the capture class can be classified for which the meta or context information corresponding to the classes of the first group cannot be used. Rather, additional meta or context information can be defined and used by the classes of the second group.

Nach Ausführungsformen sind ein oder mehrere Klassen der zweiten Gruppe jeweils identisch mit einer der Klassen der ersten Gruppe. Ausführungsformen können den Vorteil haben, dass durch die zusätzlichen Trigger-Definitionen Trigger bereitgestellt werden, welche eine Zuordnung der Token der Auffangklasse zu Klassen der ersten Gruppe von Klassen ermöglichen.According to embodiments, one or more classes of the second group are each identical to one of the classes of the first group. Embodiments can have the advantage that the additional trigger definitions provide triggers which enable the tokens of the collection class to be assigned to classes of the first group of classes.

Nach Ausführungsformen sind die zu ergänzenden Trigger-Definitionen als Ergänzungen jeweils von einer von dem Lernmodul bereits umfassten Trigger-Definition abhängig. Ausführungsformen können den Vorteil haben, dass ein oder mehrere der ergänzenden Trigger-Definitionen in Form von Ergänzungen zu den bereits umfassten Trigger-Definitionen des Lernmoduls definiert werden. Die entsprechenden ergänzenden Trigger-Definitionen erweitern beispielsweise die Trigger-Wirkung bereits bestehender Trigger-Definitionen. Nach Ausführungsformen bilden die ergänzenden Trigger-Definitionen mit den bereits bestehender Trigger-Definitionen kombinierte Trigger-Definitionen.According to embodiments, the trigger definitions to be supplemented are each dependent, as supplements, on a trigger definition already included in the learning module. Embodiments can have the advantage that one or more of the supplementary trigger definitions are defined in the form of supplements to the trigger definitions already included in the learning module. The corresponding supplementary trigger definitions extend, for example, the trigger effect of already existing trigger definitions. According to embodiments, the supplementary trigger definitions form trigger definitions combined with the already existing trigger definitions.

Nach Ausführungsformen werden die Ergänzungen einem rekursiven Schema folgend wiederholt ausgeführt, wobei die zu ergänzenden Trigger-Definitionen jeder Rekursionsstufe jeweils Ergänzungen einer Trigger-Definition einer vorangehenden Rekursionsstufe umfassen, sodass die rekursiven Ergänzungen Baumstrukturen bilden, welche jeweils eine der vorbestimmten Trigger-Definition als Wurzelknoten umfassen.According to embodiments, the additions are carried out repeatedly following a recursive scheme, the trigger definitions to be added to each recursion level each comprising additions to a trigger definition of a preceding recursion level so that the recursive additions form tree structures which each include one of the predetermined trigger definition as a root node .

Ausführungsformen können den Vorteil haben, dass die Trigger-Wirkung der bestehenden Trigger-Definitionen sukzessive durch ein fortschreitendes Rekursionsschema erweitert werden, bis alle Token der Auffangklasse reklassifiziert sind. Das Ergebnis der entsprechenden Ergänzungen der bereits bestehenden Trigger-Funktionen können beispielsweise Baumstrukturen sein, denen folgend eine Klassifikation von Token implementiert werden kann.Embodiments can have the advantage that the trigger effect of the existing trigger definitions can be successively expanded by a progressive recursion scheme until all tokens of the collection class are reclassified. The result of the corresponding additions to the already existing trigger functions can be tree structures, for example, which can then be followed by a classification of tokens.

Nach Ausführungsformen werden die zu ergänzenden zusätzlichen Trigger-Definitionen von dem Lernmodul empfangen. Ausführungsformen können den Vorteil haben, dass die entsprechenden Trigger-Definitionen beispielsweise von außen, etwa durch einen Administrator, bereitgestellt werden können. Mithin hat der entsprechende Administrator stets die Möglichkeit, die Klassifikation zu steuern, zu korrigieren und zu ergänzen.According to embodiments, the additional trigger definitions to be supplemented are received by the learning module. Embodiments can have the advantage that the corresponding trigger definitions can be provided from outside, for example by an administrator. As a result, the relevant administrator always has the option of controlling, correcting and adding to the classification.

Nach Ausführungsformen kann erfolgt optional oder fakultativ ein externes Feinjustieren, beispielsweise durch einen Administrator, erfolgen. Hierbei werden nach Ausführungsformen unter Verwendung zusätzliche Trigger-Definitionen aus der Klasse der unbekannten Daten, d.h. der Auffangklasse, Token extrahiert und bestehenden Klassen zugeordnet und/oder es werden neue Klassen generiert, denen extrahierte Token zugordnet werden. Ein Administrator stellt beispielsweise für die in der Auffangklasse als unbekannte Daten klassifizierten Token anlog zu den initialen bereitgestellten Trigger-Definitionen zusätzliche Trigger-Definitionen bereit, welche auf die Auffangklasse angewandt werden. Nach Ausführungsformen werden die zusätzlichen Trigger gemäß den zusätzlichen Trigger-Definitionen ausschließlich auf die Auffangklasse angewendet sowie auf zukünftig empfangene Daten. Nach Ausführungsformen kann die Anwendung eines zusätzlichen Triggers als IF-Bedingung realisiert werden. Wurde beispielsweise auf einen Datensatz bereits ein anderer Trigger erfolgreich angewendet, z.B. ein Trigger1, und der Datensatz umfasst zudem als unbekannt klassifizierte Daten, wo wird ein zusätzlicher Trigger, z.B. ein Trigger2, gemäß einer der zusätzlichen Trigger-Definitionen angewendete.According to embodiments, an external fine adjustment can optionally or optionally take place, for example by an administrator. According to embodiments, additional trigger definitions from the class of the unknown data, i.e. the collecting class, tokens are extracted and assigned to existing classes and / or new classes are generated to which extracted tokens are assigned. For example, for the tokens classified as unknown data in the collection class, an administrator provides additional trigger definitions that are applied to the collection class, analogous to the initially provided trigger definitions. According to embodiments, the additional triggers are applied exclusively to the collection class and to data received in the future in accordance with the additional trigger definitions. According to embodiments, the use of an additional trigger can be implemented as an IF condition. For example, if another trigger has already been successfully applied to a data record, e.g. a trigger1, and the data set also includes data classified as unknown, where an additional trigger, e.g. a trigger2, applied according to one of the additional trigger definitions.

Dieses Feinjustieren kann als eine Rekursion mehrmals wiederholt werden. Beispielsweise wird die Rekursion solange fortgesetzt, bis Die Auffangklasse keine Token mehr umfasst, d.h. keine unbekannten Daten mehr existieren, oder die von der Auffangklasse umfasste Token-Anzahl einen vordefinierten Schwellenwert erreicht und/oder unterschreitet, d.h. eine vordefinierte Maximalzahl. Bei dem entsprechenden Schwellenwert kann es sich um einen absoluten Wert handeln, welcher von der Anzahl der von dem Index umfassten Token und der von der entsprechenden Einzeldatenbank umfassten Datenmenge unabhängig ist. Alternativ kann es sich bei dem entsprechenden Schwellenwert um einen relativen Wert handeln, welcher von der Anzahl der von dem Index umfassten Token und/oder der von der entsprechenden Einzeldatenbank umfassten Datenmenge abhängig istThis fine adjustment can be repeated several times as a recursion. For example, the recursion is continued until the trap class no longer includes tokens, ie no more unknown data exists, or the number of tokens comprised by the trap class reaches and / or falls below a predefined threshold value, ie a predefined maximum number. The corresponding threshold value can be an absolute value which is independent of the number of tokens included in the index and the amount of data included in the corresponding individual database. Alternatively, it can be the corresponding threshold value is a relative value, which is dependent on the number of tokens included in the index and / or the amount of data included in the corresponding individual database

Auf diese Weise können Trigger-Bäume bzw. Entscheidungsbäume hinter den initial definierten Trigger bzw. Trigger-Definitionen entstehen, wobei die Anzahl der Ebenen von der Anzahl der Rekursionen N abhängt, z.B. ist die Anzahl der Ebenen gleich N+1. Beispielsweise bildet jeder initiale Trigger bzw. jede initiale Trigger-Definitionen einen Wurzelpunkt eines entsprechenden Trigger-Baums bzw. Entscheidungsbaum. Unter einem Entscheidungsbäumen werden hier geordnete, gerichtete Bäume verstanden, die der Darstellung von Entscheidungsregeln dienen. Umfasst ein Datensatz einen initialen Trigger, wodurch ein Teil der Token des Datensatzes klassifiziert werden kann, ohne dass dadurch zugleich alle Token des Datensatzes klassifiziert werden können, so wird geprüft, ob der Datensatz zudem einen Trigger der ersten Rekursion umfasst. Falls der Datensatz einen Trigger der ersten Rekursion umfasst, wodurch ein weiterer Teil der Token des Datensatzes klassifiziert werden kann, ohne dass dadurch zugleich alle Daten des Datensatzes klassifiziert werden können, so wird geprüft, ob der Datensatz zudem einen Trigger der zweiten Rekursion umfasst und so fort.In this way, trigger trees or decision trees can be created behind the initially defined triggers or trigger definitions, the number of levels depending on the number of recursions N, e.g. the number of levels is N + 1. For example, each initial trigger or each initial trigger definition forms a root point of a corresponding trigger tree or decision tree. A decision tree is understood here to mean ordered, directed trees that serve to represent decision rules. If a data record includes an initial trigger, which means that part of the tokens in the data record can be classified without all tokens in the data record being able to be classified at the same time, it is checked whether the data record also includes a trigger of the first recursion. If the data record includes a trigger of the first recursion, whereby a further part of the tokens of the data record can be classified without simultaneously being able to classify all of the data of the data record, it is checked whether the data record also includes a trigger of the second recursion and so on away.

Nach Ausführungsformen werden die zu ergänzenden zusätzlichen Trigger-Definitionen von dem Lernmodul erstellt, welches ein statistisches Modell umfasst, wobei das statistische Modell zu einer statistischen Analyse der von der Auffangklassen umfassten Token und deren Vorkommen in den Datensätze verwendet wird, wobei das Ergebnis der statistischen Analyse zum Erstellen der zu ergänzenden zusätzlichen Trigger-Definitionen verwendet wird.According to embodiments, the additional trigger definitions to be supplemented are created by the learning module, which comprises a statistical model, the statistical model being used for a statistical analysis of the tokens included in the collection classes and their occurrence in the data records, the result of the statistical analysis is used to create the additional trigger definitions to be added.

Ausführungsformen können den Vorteil haben, dass das Lernmodul selbstständig ergänzende zusätzliche Trigger-Definitionen erstellen kann. Beispielsweise erfolgt das zuvor beschriebene optionale oder fakultative Feinjustieren unter Verwendung des statistischen Modells. Durch ein Verwenden eines statistischen Modells kann die zuvor beschriebene menschliche Handlung eines Administrators ersetzt und/oder verbessert werden. Nach Ausführungsformen identifiziert das statistische Modell, z.B. durch Häufigkeitsanalysen und Korrelationsanalysen, Trigger innerhalb der unbekannten Daten, welche dann analog zu dem zuvor beschriebenen Vorgehen auf die als unbekannt klassifizierten Token angewendet werden. Nach Ausführungsformen kann zudem ein rekursives Vorgehen unter Verwendung des statistischen Modells erfolgen.Embodiments can have the advantage that the learning module can independently create supplementary additional trigger definitions. For example, the optional or facultative fine adjustment described above takes place using the statistical model. The human action of an administrator described above can be replaced and / or improved by using a statistical model. According to embodiments, the statistical model identifies, e.g. by frequency analyzes and correlation analyzes, triggers within the unknown data, which are then applied to the tokens classified as unknown in analogy to the procedure described above. According to embodiments, a recursive procedure can also take place using the statistical model.

Nach Ausführungsformen umfasst das Verfahren ferner:

  • • Empfang einer korrigierten Trigger-Definition zum Ersetzen einer der gespeicherten Trigger-Definitionen des Lernmoduls,
  • • Ersetzen der entsprechenden gespeicherten Trigger-Definition durch die korrigierte Trigger-Definition,
  • • Reklassifizieren der unter Verwendung der entsprechenden gespeicherten Trigger-Definition klassifizierten Token, wobei das Reklassifizieren unter Verwendung der korrigierten Trigger-Definition erfolgt.
According to embodiments, the method further comprises:
  • • Receipt of a corrected trigger definition to replace one of the stored trigger definitions of the learning module,
  • • Replacement of the corresponding stored trigger definition with the corrected trigger definition,
  • Reclassification of the tokens classified using the corresponding stored trigger definition, the reclassification taking place using the corrected trigger definition.

Nach Ausführungsformen kann beispielweise ein Administrator Fehler in klassifizierten Klassen erkennen und gegebenenfalls korrigieren, etwa indem er eine korrigierten Trigger-Definition, anhand derer ein Reklassifizieren von Token erfolgt. Ausführungsformen können den Vorteil haben, dass eine Korrektur von Trigger-Definitionen zu jedem Zeitpunkt des Verfahrens ermöglicht wird. Beispielsweise kann eine Überprüfung der Trigger-Definitionen nach dem Training des Lernmoduls erfolgen. Werden Korrektur-Trigger-Definitionen identifiziert, so werden entsprechend korrigierte Trigger-Definitionen bereitgestellt.According to embodiments, for example, an administrator can recognize errors in classified classes and correct them if necessary, for example by providing a corrected trigger definition on the basis of which tokens are reclassified. Embodiments can have the advantage that a correction of trigger definitions is made possible at any point in time of the method. For example, the trigger definitions can be checked after training the learning module. If correction trigger definitions are identified, correspondingly corrected trigger definitions are provided.

Ausführungsformen können den Vorteil haben, dass korrigierte Trigger-Definitionen auch zu einem späteren Zeitpunkt bereitgestellt werden können, wenn Fehlklassifikationen erkannt werden. Ein administratives Eingreifen in den Lern- und Klassifizierungsprozess ist somit zu jedem Zeitpunkt möglich. Dadurch können Fehler des lernenden Systems behoben werden, ohne dass das komplette Modell umgebaut werden muss.Embodiments can have the advantage that corrected trigger definitions can also be provided at a later point in time when incorrect classifications are recognized. Administrative intervention in the learning and classification process is therefore possible at any time. This means that errors in the learning system can be corrected without having to convert the entire model.

Nach Ausführungsformen verweisen die Zeiger, mit denen die Token in dem Index verknüpft gespeichert sind, jeweils auf ein oder mehrere der Feldwerte in den gespeicherten Datensätze.According to embodiments, the pointers with which the tokens are stored linked in the index each point to one or more of the field values in the stored data records.

Ausführungsformen können den Vorteil haben, dass eine feinere Granularität bei der Bestimmung des Ursprungs von Token in den Datensätzen erzielt werden kann. Eine solche feinere Granularität ermöglicht es zudem relative Beziehungen der Token innerhalb der Datensätze aufzuschlüsseln und bei einer Analyse oder sonstigen Verwendung des Index zu berücksichtigen.Embodiments can have the advantage that a finer granularity can be achieved when determining the origin of tokens in the data records. Such a finer granularity also enables the relative relationships of the tokens within the data records to be broken down and taken into account in an analysis or other use of the index.

Nach Ausführungsformen umfassen die Feldwerte des zusätzlichen Datensatzes Textdaten, Bilddaten, Audiodaten und/oder Videodaten. Nach Ausführungsformen ist das Verfahren beispielsweise anwendbar zur Signalverarbeitung, wie etwa 1D-Audioerkennung, 2D- und 3D-Bildverarbeitung, oder ND-Dateninput von N Sensoren etc. Ferner ist das Verfahren beispielsweise anwendbar bei einer Analyse von Stream-Daten (Bitstream bzw. Bitstrom). Ein Bitstream, auch als Bitstrom bekannt, bezeichnet hier eine Folge von Bits, die einen Informationsfluss repräsentieren, d.h. ein serielles bzw. sequentielles Signal. Ein Bitstrom ist somit eine Sequenz von Bits von unbestimmter Länge in zeitlicher Abfolge. Ein Bitstrom stellt beispielsweise einen in logische Strukturen gegliedert Datenstromes dar, der sich in grundlegendere Kleinstrukturen wie Symbole fester Größe, d.h. Bits und Bytes, und weiter in Blöcke und Datenpakete unterschiedlicher Protokolle und Formate gliedern kann.According to embodiments, the field values of the additional data record include text data, image data, audio data and / or video data. According to embodiments, the method can be used, for example, for signal processing, such as 1D audio recognition, 2D and 3D image processing, or ND data input from N sensors, etc. The method can be used, for example, for an analysis of stream data (bitstream or bitstream). A bit stream, also known as a bit stream, designates a sequence of bits that represent a flow of information, ie a serial or sequential signal. A bit stream is thus a sequence of bits of indefinite length in chronological order. A bit stream, for example, represents a data stream divided into logical structures, which can be divided into more fundamental small structures such as symbols of a fixed size, ie bits and bytes, and further into blocks and data packets of different protocols and formats.

Nach Ausführungsformen umfasst das Erzeugen der Token ein Anwenden einer Tokenisierungslogik auf die Feldwerte des zusätzlichen Datensatzes, welche einen Volltextindizierer umfasst, der dazu konfiguriert ist, Texte in Wörter zu zerlegen und die Wörter als Token auszugeben. Ausführungsformen können den Vorteil haben, dass eine effektive Tokenisierung von Texten bzw. Textdateien implementiert werden kann. Bei entsprechenden Textdateien kann es sich um beliebige Texte handelnden. Beispielsweise kann es sich bei entsprechenden Textdateien um Messwertdateien oder Algorithmen zum Steuern von Computern und/oder technischen Anlagen handeln. Nach Ausführungsformen umfassen die Feldwerte des zusätzlichen Datensatzes Volltexte, wobei die Volltexte aus Buchstaben eines oder mehrerer Alphabete gebildete Wörter und/oder ein oder mehrere Zahlen umfassen.According to embodiments, generating the tokens includes applying tokenization logic to the field values of the additional data record, which logic includes a full-text indexer that is configured to break down texts into words and to output the words as tokens. Embodiments can have the advantage that an effective tokenization of texts or text files can be implemented. The corresponding text files can be any text. For example, the corresponding text files can be measured value files or algorithms for controlling computers and / or technical systems. According to embodiments, the field values of the additional data record include full texts, the full texts comprising words formed from letters of one or more alphabets and / or one or more numbers.

Eine Volltextindizierung beinhaltet eine Zerlegung von Texten in einzelne Wörter, wobei dann die einzelnen Wörter eines Textfeldes in einem diesem Feld zugeordneten Index gespeichert werden. Volltextindexierung wird nur unterstützt, wenn das entsprechende Feld zur selektiven Speicherung eines bestimmten Datentyps, z.B. CHAR, VARCHAR oder TEXT, konfiguriert ist. Beispielsweise kann in einem Feld natürlichsprachlicher Text im JSON Format gespeichert sein.Full-text indexing involves breaking down texts into individual words, with the individual words of a text field then being stored in an index assigned to this field. Full text indexing is only supported if the corresponding field is used to selectively store a certain data type, e.g. CHAR, VARCHAR or TEXT, is configured. For example, natural language text in JSON format can be stored in a field.

Nach Ausführungsformen umfasst das Erzeugen der Token ein Anwenden einer Tokenisierungslogik auf die Feldwerte des zusätzlichen Datensatzes, welche einen generischen Tokenisierer umfasst, der dazu konfiguriert ist, in den Feldwerten Daten unterschiedlichen Datentyps zu erkennen und aus diesen Token in unterschiedlichen Datentypen zu erzeugen. Ausführungsformen können den Vorteil haben, dass eine effektive Tokenisierung für unterschiedliche Datentypen implementiert werden kann, wie etwa Textdaten, Bilddaten, Audiodaten und/oder Videodaten.According to embodiments, generating the tokens includes applying tokenization logic to the field values of the additional data record, which logic includes a generic tokenizer which is configured to recognize data of different data types in the field values and to generate from these tokens in different data types. Embodiments can have the advantage that effective tokenization can be implemented for different types of data, such as text data, image data, audio data and / or video data.

Nach Ausführungsformen umfasst das Verfahren ferner:

  • • Empfangen eines von einer dritten Einzeldatenbank als zusätzlicher Quelldatenbank erzeugten weiteren Ergänzungsdatensatzes durch die erste Einzeldatenbank über das Netzwerk, wobei der weitere Ergänzungsdatensatz in einem Index der zusätzlichen Quelldatenbank vorgenommenen Ergänzungen umfasst,
  • • Integrieren des weiteren Ergänzungsdatensatzes in den Index der ersten Einzeldatenbank, wobei das Integrieren ein Ergänzen des entsprechenden Index umfasst, bei welchem
    • ◯ ein Abgleichen von Token des weiteren Ergänzungsdatensatzes mit dem Index der Quelldatenbank,
    • ◯ falls eines der Token des weiteren Ergänzungsdatensatzes nicht von dem Index der Quelldatenbank umfasst ist, Ergänzen des entsprechenden Tokens in dem Index der Quelldatenbank und Verknüpfen des entsprechenden Tokens in dem Index mit einem Zeiger auf den in einem dokumentenorientierten Datenmodell der zusätzlichen Quelldatenbank gespeicherten Datensatz, aus welchem das entsprechende Token erzeugt wurde,
    • ◯ falls eines der Token des weiteren Ergänzungsdatensatzes von dem Index der Quelldatenbank umfasst ist, Verknüpfen des entsprechenden Tokens in dem Index der Quelldatenbank mit dem Zeiger auf den in einem dokumentenorientierten Datenmodell der zusätzlichen Quelldatenbank gespeicherten Datensatz, aus welchem das entsprechende Token erzeugt wurde.
According to embodiments, the method further comprises:
  • Receipt of a further supplementary data record generated by a third individual database as an additional source database by the first individual database via the network, the further supplementary data record comprising additions made in an index of the additional source database,
  • • Integrating the further supplementary data set into the index of the first individual database, the integration comprising supplementing the corresponding index in which
    • ◯ a comparison of tokens of the further supplementary data set with the index of the source database,
    • ◯ if one of the tokens of the further supplementary data set is not included in the index of the source database, supplementing the corresponding token in the index of the source database and linking the corresponding token in the index with a pointer to the data set stored in a document-oriented data model of the additional source database to which the corresponding token was generated,
    • ◯ if one of the tokens of the additional supplementary data set is included in the index of the source database, linking the corresponding token in the index of the source database with the pointer to the data set stored in a document-oriented data model of the additional source database from which the corresponding token was generated.

Ausführungsformen können den Vorteil haben, dass auch der Index der Quelldatenbank durch Ergänzungsdatensätze anderer Einzeldatenbanken erweitert werden kann. Bei der dritten Einzeldatenbank handelt es sich beispielsweise um eine Einzeldatenbank, welche wiederum Ergänzungsdatensätze der Quelldatenbank empfängt. Somit können Änderungen der Indexe zwischen Einzeldatenbanken gegenseitig ausgetaucht und einheitliche Kopien eines datenbankübergreifenden Index auf einem verteilten Datenbanksystem, genauer gesagt in den Einzeldatenbanken implementiert werden.Embodiments can have the advantage that the index of the source database can also be expanded by supplementary data records from other individual databases. The third individual database is, for example, an individual database which in turn receives supplementary data records from the source database. Changes to the indexes can thus be mutually exchanged between individual databases and uniform copies of a cross-database index can be implemented on a distributed database system, more precisely in the individual databases.

Nach Ausführungsformen umfasst das Verfahren ferner:

  • • Empfangen einer Suchanfrage durch erste Einzeldatenbank, wobei die Suchanfrage einen oder mehrere Suchwerte beinhaltet,
  • • Durchsuchen des Index der ersten Einzeldatenbank nach dem Suchwert,
  • • Identifizieren ein oder mehrerer Token innerhalb des Index, welche mit einem oder mehreren der Suchwerte übereinstimmen,
  • • Zurückgeben einer Antwort auf die Suchanfrage, wobei die Antwort zumindest umfasst: eine Angabe über die identifizierten Token, ein oder mehrere durch Analysieren von Zeigern, mit denen die identifizierte Token verknüpft sind, bestimmten Datensätze oder ein oder mehreren Referenzen auf die bestimmten Datensätze.
According to embodiments, the method further comprises:
  • • Receipt of a search query by the first individual database, the search query containing one or more search values,
  • • Searching the index of the first individual database for the search value,
  • • Identify one or more tokens within the index that match one or more of the search values,
  • Returning a response to the search query, the response comprising at least: an indication of the identified tokens, one or more specific data records or one or more references to the specific data records obtained by analyzing pointers with which the identified tokens are associated.

Ausführungsformen können den Vorteil haben, dass der Index für effektive Suchen verwendet werden kann. Dabei können sich die Suchen auf Informationen des Index beschränken, etwa in wie vielen oder in welchen Datensätzen ein bestimmter Suchwert vorkommt. Hierfür ist nach Ausführungsformen eine Indexzugriffs-Berechtigung notwendig. Ferner kann so auch eine Suche auf den Datensätzen der lokalen, d.h. die Suche ausführenden, Einzeldatenbank erfolgen, obwohl die Datensätzen in ihrer ursprünglichen Form gespeichert sind. Hierfür ist nach Ausführungsformen eine Lesezugriffs-Berechtigung notwendig. Handelt es sich um Datensätze, welche auf einer anderen Einzeldatenbank gespeichert sind, so können diese explizit zum Lesen angefragt werden. Hierfür ist nach Ausführungsformen wiederum eine Lesezugriffs-Berechtigung notwendig.Embodiments can have the advantage that the index can be used for effective searches. The searches can be limited to information in the index, for example in how many or in which data records a certain search value occurs. According to embodiments, this requires index access authorization. Furthermore, a search on the data records of the local, i.e. The individual database executing the search takes place even though the data records are stored in their original form. For this purpose, according to embodiments, a read access authorization is necessary. In the case of data records that are stored in another individual database, these can be explicitly requested for reading. For this purpose, according to embodiments, read access authorization is again necessary.

Im Fall des Lernmoduls, kann dieses beispielsweise unter Verwendung entsprechender Suchanfragen Muster und/oder Gesetzmäßigkeiten innerhalb der Datensätze suchen.In the case of the learning module, it can search for patterns and / or regularities within the data records using appropriate search queries.

Nach Ausführungsformen speichert der Index sämtliche aus den Feldwerten der Datensätze einer entsprechenden Einzeldatenbank erzeugte Token so, dass der Index jedes Token nur einmal enthält. Jedes Token beinhaltet Zeiger auf ein oder mehrere der Datensätze, aus deren Feldwerten es erzeugt wurde. Wenn ein erfindungsgemäß erzeugter Index also nach einem bestimmten Suchwert durchsucht wird und als Ergebnis der Suche ein in dem Index gespeichertes Token identifiziert wird, welches identisch ist mit dem Suchwert, so verweist dieses Token mittels Zeigern auf sämtliche Datensätze, die dieses Token zumindest einmal in zumindest einem ihrer Feldwerte enthalten und die bei der Erstellung des Index herangezogen wurden. Die Datensätze, die also einen „Treffer“ im Hinblick auf den Suchwert darstellen, können anhand der Verweise sehr schnell identifiziert und zurückgegeben werden, ohne dass ein sequenzieller Suchlauf über sämtliche Datensätze notwendig wäre.According to embodiments, the index stores all tokens generated from the field values of the data records of a corresponding individual database in such a way that the index contains each token only once. Each token contains pointers to one or more of the data records from whose field values it was generated. If an index generated according to the invention is searched for a specific search value and a token stored in the index that is identical to the search value is identified as the result of the search, then this token uses pointers to refer to all data records that this token has at least once in at least contain one of their field values and which were used when the index was created. The data records, which represent a “hit” with regard to the search value, can be identified and returned very quickly using the references, without the need for a sequential search across all data records.

Nach Ausführungsformen umfasst der Suchwert ferner eine Klassenzuordnung und das Identifizieren des Tokens innerhalb des Index erfordert ferner, dass das identifizierte Token dieselbe Klassenzuordnung aufweist. Ausführungsformen könne den Vorteil haben, dass Klassenzuordnungen und dadurch mit den Klassenzuordnungen indexierte Meta- bzw. Kontextinformationen in den Suchanfragen berücksichtigt werden können.According to embodiments, the search value further comprises a class assignment and the identification of the token within the index further requires that the identified token has the same class assignment. Embodiments can have the advantage that class assignments and thus meta or context information indexed with the class assignments can be taken into account in the search queries.

Nach Ausführungsformen sind Trigger in dem Index mit einem Flag gekennzeichnet. Nach Ausführungsformen umfasst der Suchwert ferner eine Zuordnung zu einer Trigger-Definition und/oder ein einen Trigger kennzeichnendes Flag und das Identifizieren des Tokens innerhalb des Index erfordert ferner, dass das identifizierte Token derselben Trigger-Definition zugeordnet ist und/oder dasselbe Flag aufweist.According to embodiments, triggers are identified in the index with a flag. According to embodiments, the search value further includes an assignment to a trigger definition and / or a flag identifying a trigger, and the identification of the token within the index furthermore requires that the identified token is assigned to the same trigger definition and / or has the same flag.

Nach Ausführungsformen werden Token, welche der Auffangklasse zugeordnet sind, von der Suche ausgeschlossen. Ausführungsformen können den Vorteil haben, dass die resultierenden Suchergebnisse ein hohes Maß an Zuverlässigkeit aufweisen, da unbekannte Daten von der Suche ausgeschlossen sind.According to embodiments, tokens which are assigned to the trap class are excluded from the search. Embodiments can have the advantage that the resulting search results have a high degree of reliability, since unknown data are excluded from the search.

Nach Ausführungsformen umfasst das Verfahren ferner das Vortrainieren des Lernmoduls. Das Vortrainieren umfasst:

  • • Empfangen der Mehrzahl von vorbestimmten Trigger-Definitionen durch das Lernmodul, welche die Trigger für das Zuordnen von Token zu den Klassen der ersten Gruppe von Klassen definieren,
  • • Speichern der empfangenen Mehrzahl von vorbestimmten Trigger-Definitionen durch das Lernmodul.
According to embodiments, the method further comprises pre-training the learning module. The pre-training includes:
  • • Receipt by the learning module of the plurality of predetermined trigger definitions which define the triggers for assigning tokens to the classes of the first group of classes,
  • • Storage of the received plurality of predetermined trigger definitions by the learning module.

Nach Ausführungsformen werden durch die vorbestimmten Trigger-Definitionen initial Trigger definiert, die dazu verwendet werden empfangene Daten zu strukturieren bzw. klassifizieren. Nach Ausführungsformen werden, bevor Daten in die Quelldatenbank geladen werden, die initialen Trigger konkret definiert, d.h. vorbestimmten Trigger-Definitionen vorgegeben. Werden Daten geladen, so ermöglichen diese initialen Trigger eine erste Klassifizierung nach bekannten Klassen sowie unbekannten Daten, welche der Auffangklasse zugeordnet werden.According to embodiments, the predetermined trigger definitions initially define triggers that are used to structure or classify received data. According to embodiments, before data is loaded into the source database, the initial triggers are specifically defined, i.e. predetermined trigger definitions. If data is loaded, these initial triggers enable an initial classification according to known classes as well as unknown data, which are assigned to the collection class.

Nach Ausführungsformen umfasst das Vortrainieren ferner:

  • • Extrahieren der Trigger aus der gespeicherten Mehrzahl von vorbestimmten Trigger-Definitionen durch das Lernmodul,
  • • Zuordnen der initialen Token durch das Lernmodul jeweils zu der Trigger-Definition, welche das entsprechende initiale Token als Trigger umfasst,
  • • Erzeugen des durchsuchbaren Index unter Verwendung der Mehrzahl von initialen Token durch das Multi-Modell-Datenbankmanagementsystem in dem weiteren Datenmodell, wobei der erzeugte Index die initialen Token umfasst, wobei jedes der initialen Token in dem Index jeweils eine Zuordnung aufweist zu der Trigger-Definition, welche das entsprechende initiale Token als Trigger umfasst.
According to embodiments, the pre-training further comprises:
  • • Extraction of the triggers from the stored plurality of predetermined trigger definitions by the learning module,
  • • Assignment of the initial tokens by the learning module to the trigger definition that includes the corresponding initial token as a trigger,
  • • Generation of the searchable index using the plurality of initial tokens by the multi-model database management system in the further data model, wherein the generated index comprises the initial tokens, each of the initial tokens in the index each having an assignment to the trigger definition which comprises the corresponding initial token as a trigger.

Nach der Definition der Trigger, werden Daten, z.B. Textdaten, Audiodaten, Bilddaten, Videodaten oder N-Dimensionale Daten von N Sensoren, in die Quelldatenbank geladen und die Trigger angewandt, um die Daten automatisch zu klassifizieren. Dadurch entsteht eine Fragmentierung der Daten in Trigger, bekannte Klassen, d.h. durch die Trigger-Definitionen definieret Klassen, und in unbekannte Daten.After defining the trigger, data, e.g. Text data, audio data, image data, video data or N-dimensional data from N sensors, loaded into the source database and the triggers applied to automatically classify the data. This results in a fragmentation of the data into triggers, known classes, i.e. classes defined by the trigger definitions, and in unknown data.

Ausführungsformen können den Vorteil haben, dass das Lernmodul auf diese Weise effektiv vortrainiert werden kann auf Basis der vorbestimmten Trigger-Definitionen.Embodiments can have the advantage that the learning module can be effectively pretrained in this way on the basis of the predetermined trigger definitions.

Dieses vorbestimmten Trigger-Definitionen können als Grundlage für ein Erlangen weiterer Trigger-Definitionen dienen, etwa durch ein Kombinieren von Trigger-Definitionen. Es erfolgt beispielsweise eine automatische Lernphase des Datenbanksystems bzw. des Lernmoduls, welche ein Kombinieren von der initialen Triggern umfasst. Somit können die initial geladenen Trigger wie zuvor beschrieben basierend auf den von den Datensätzen umfassten Daten kombiniert und damit die Anzahl an zur Verfügung stehenden Trigger-Definitionen erhöht werden. Zudem kann ein Kennzeichnen von bereits klassifizierten Token-Kombination erfolgen. Dies dient dem Zweck, dass identische Daten die später in die Quelldatenbank geladen werden, nicht erneut klassifiziert werden müssen, sondern in dem System bereits als „bekannt“ markiert sind.These predetermined trigger definitions can serve as a basis for obtaining further trigger definitions, for example by combining trigger definitions. For example, there is an automatic learning phase of the database system or the learning module, which includes a combination of the initial triggers. In this way, the initially loaded triggers can be combined, as described above, based on the data comprised by the data records, and thus the number of trigger definitions available can be increased. In addition, token combinations that have already been classified can be identified. The purpose of this is to ensure that identical data that is later loaded into the source database does not have to be classified again, but is already marked as "known" in the system.

Nach Ausführungsformen umfasst das Erzeugen eines der zusätzlichen Token ein Verwenden eines der Feldwerte des zusätzlichen Datensatzes in seiner Gesamtheit als das entsprechende zusätzliche Token. Es ist durchaus möglich, dass der Index auch Token aus Feldern beinhaltet, auf die keine Tokenisierung angewandt wird bzw. deren Inhalt sich schlichtweg nicht in einzelne Token aufteilen lässt. Nach Ausführungsformen umfasst das Erzeugen eines der zusätzlichen Token ein Aufteilen eines der zusätzlichen Feldwerte des zusätzlichen Datensatzes in eine Mehrzahl von Teilfeldwerten und eine Verwenden eines der Teilfeldwerte als das entsprechende zusätzliche Token. Ausführungsformen können den Vorteil haben, dass die Granularität der verwendeten Daten bzw. der Tokenisierung unabhängig von der Granularität der Felder angepasst werden kann.According to embodiments, generating one of the additional tokens comprises using one of the field values of the additional data set in its entirety as the corresponding additional token. It is entirely possible that the index also contains tokens from fields to which no tokenization is applied or whose content simply cannot be divided into individual tokens. According to embodiments, generating one of the additional tokens includes dividing one of the additional field values of the additional data record into a plurality of subfield values and using one of the subfield values as the corresponding additional token. Embodiments can have the advantage that the granularity of the data used or the tokenization can be adapted independently of the granularity of the fields.

Nach Ausführungsformen speichert der Index sämtliche aus den Feldwerten der gespeicherten Datensätze erzeugten Token so, dass der Index jedes Token für jede der Token-Zuordnungen des entsprechenden Tokens genau einmal enthält.According to embodiments, the index stores all tokens generated from the field values of the stored data records in such a way that the index contains each token precisely once for each of the token assignments of the corresponding token.

Nach Ausführungsformen können die Token, die Klassen-Zuordnungen und die Zuordnung zu den Trigger-Definitionen in Form von Relationen oder äquivalenten Strukturen gespeichert sein. Unter einer Relation wird hier im Sinn der relationalen Datenbanktheorie eine Menge von Tupel. Ein Tupel ist eine Menge von Attributwerten. Ein Attribut bezeichnet einen Datentyp bzw. eine ein oder mehreren Daten zugeordnete Eigenschaft. Dabei bestimmt die Anzahl der Attribute den Grad, die Anzahl der Tupel die Kardinalität einer Relation.According to embodiments, the tokens, the class assignments and the assignment to the trigger definitions can be stored in the form of relations or equivalent structures. In the sense of relational database theory, a relation is a set of tuples. A tuple is a set of attribute values. An attribute describes a data type or a property assigned to one or more data. The number of attributes determines the degree, the number of tuples the cardinality of a relation.

Nach Ausführungsformen handelt es sich zumindest bei dem von dem Multi-Modell-Datenbankmanagementsystem zum Speichern der Datensätze verwendeten dokumentenbasierten Datenmodellen um ein NoSQL-Datenmodellen. Nach Ausführungsformen handelt es sich bei dem DBMS um ein NoSQL-DBMS. Dies kann vorteilhaft sein, dass da sich herausgestellt hat, dass insbesondere NoSQL-DBMS, die oftmals eine flexiblere Struktur aufweisen als klassische SQL-basierte DBMSs. Aufgrund der Flexibilität ihrer Struktur eignen in sich NoSQL-DBMSs also ganz besonders für die Verwaltung und Speicherung von Datensätzen, aus welchen ein Index gemäß Ausführungsformen der Erfindung erstellt werden kann.According to embodiments, at least the document-based data model used by the multi-model database management system for storing the data records is a NoSQL data model. According to embodiments, the DBMS is a NoSQL DBMS. This can be advantageous because it has been found that NoSQL DBMS in particular, which often have a more flexible structure than classic SQL-based DBMSs. Due to the flexibility of their structure, NoSQL DBMSs are particularly suitable for managing and storing data records from which an index can be created in accordance with embodiments of the invention.

Nach Ausführungsformen weist der Index die Struktur eines Baums auf, insbesondere eines B+-Baums. Ausführungsformen können den Vorteil haben, dass eine Baumstruktur insbesondere die Struktur eines B+-Baums, eine besonders effiziente und schnelle Suche nach den in dem Index gespeicherten Token ermöglicht. Unter einem B+-Baum wird eine Daten- und/oder Indexstruktur, welche eine Erweiterung eines B-Baumes darstellt. Bei einem B+-Baum werden die eigentlichen Datenelemente nur in den Blattknoten gespeichert, während die inneren Knoten lediglich Schlüssel enthalten.According to embodiments, the index has the structure of a tree, in particular a B + tree. Embodiments can have the advantage that a tree structure, in particular the structure of a B + tree, enables a particularly efficient and fast search for the tokens stored in the index. A B + tree is a data and / or index structure that is an extension of a B-tree. In a B + tree, the actual data elements are only stored in the leaf nodes, while the inner nodes only contain keys.

Nach Ausführungsformen umfassen mehrerer der in einem dokumentenorientierten Datenmodell gespeicherten Datensätze jeweils eine unterschiedliche Anzahl an Felder. Ausführungsformen können den Vorteil haben, dass Datensätze unterschiedlicher Größen und Strukturierung bzw. Granularität verarbeitet werden können.According to embodiments, several of the data records stored in a document-oriented data model each comprise a different number of fields. Embodiments can have the advantage that data sets of different sizes and structures or granularity can be processed.

Nach Ausführungsformen weisen die Felder jeweils ein gemeinsames, generisches Datenformat auf. Ausführungsformen können den Vorteil haben, dass, da in einem bestimmten Feld eine große Anzahl an unterschiedlichen Datentypen gespeichert werden können. Ein Nutzer bzw. ein Applikationsprogramm, welches Datensätze in der Quelldatenbank speichern will, muss sich also nicht um die Konsistenz und Passung von Datentypen kümmern. Mithin wird kann ein hoher Grad an Flexibilität bezüglich der Struktur und des Umfangs der Datensätze, die von dem Multi-Modell-Datenbankmanagementsystem verwaltet und gespeichert werden können, geboten werden.According to embodiments, the fields each have a common, generic data format. Embodiments can have the advantage that since a large number of different data types can be stored in a specific field. A user or an application program that stores data records in the source database does not have to worry about the consistency and fit of data types. A high degree of flexibility with regard to the structure and the scope of the data records that can be managed and stored by the multi-model database management system is therefore offered.

Nach Ausführungsformen ist das Lernmodul bzw. das von diesem implementierte maschinelle Lernen konfiguriert für eine Datenextraktion, Konsistenzprüfung, Bilderkennung, Spracherkennung, Sprachsteuerung, Vorrichtungsüberwachung und/oder autonome Vorrichtungssteuerung. Dies kann beispielsweise bereits in der Klassifizierung der Token bestehen, wobei der Auffangklasse als unbekannte Daten zugeordnete Token beispielsweise als ein Hinweis etwa auf eine potentielle Fehlfunktion betrachtet werden. Beispielsweise kann dies auf dem Index mit den Token und deren Meta- bzw. Kontextinformationen beruhen, welche als Grundlage für einen darauf angewandten zusätzlichen Algorithmus zum maschinellen Lernen dienen. Nach Ausführungsformen wird hierzu die Auffangklasse durch ein Ergänzen zusätzlicher Trigger-Definitionen geleert, sodass zu allen Token des Datenbanksystems Meta- bzw. Kontextinformationen bereitgestellt werden.According to embodiments, the learning module or the machine learning implemented by it is configured for data extraction, consistency checking, image recognition, speech recognition, voice control, device monitoring and / or autonomous device control. This can, for example, already consist in the classification of the tokens, with tokens assigned to the collection class as unknown data, for example, being viewed as an indication of a potential malfunction, for example. For example, this can be based on the index with the tokens and their meta or context information, which serve as the basis for an additional algorithm for machine learning applied to them. According to embodiments, for this purpose, the collection class is emptied by adding additional trigger definitions, so that meta or context information is provided for all tokens of the database system.

Eine Datenextraktion kann beispielsweise ein Erkennen und Extrahieren eines Musters in einer Text-, Bild-, Audio- oder Videodatei umfassen. Dieses Muster kann beispielsweise durch eine Trigger-Definition definiert sein oder in den klassifizierten Daten erfasst werden. Ein entsprechendes Muster kann beispielsweise ein vorbestimmtes in Form von Sensorwerten erfasstes Ereignis sein, etwa eine Person in einem Wirkbereich einer Vorrichtung.Data extraction can include, for example, recognizing and extracting a pattern in a text, image, audio or video file. This pattern can for example be defined by a trigger definition or it can be recorded in the classified data. A corresponding pattern can be, for example, a predetermined event recorded in the form of sensor values, for example a person in an effective area of a device.

Eine Konsistenzprüfung kann beispielsweise eine Konsistenzprüfung in einer Text-, Bild-, Audio- oder Videodatei umfassen. Hierbei wird beispielsweise geprüft, ob die entsprechenden Daten unbekannte und damit inkonsistente Daten umfassen, von den restlichen Daten stark abweichende Daten oder als inkonsistent explizit vordefinierte Daten umfassen. Eine entsprechende Konsistenzprüfung kann beispielsweise zur Fehlerprüfung von Steuerungsalgorithmen von Vorrichtungen dienen, zur Fehlfunktionserkennung unter Verwendung von Messdaten einer Funktion einer Vorrichtung oder zum Erkennen von Fehlern in Textdateien, etwa in Form einer Rechtschreibprüfung.A consistency check can include, for example, a consistency check in a text, image, audio or video file. In this case, it is checked, for example, whether the corresponding data include unknown and thus inconsistent data, whether data which differ greatly from the rest of the data or whether data that are explicitly predefined as inconsistent. A corresponding consistency check can serve, for example, to check for errors in control algorithms of devices, to detect malfunctions using measurement data of a function of a device, or to detect errors in text files, for example in the form of a spell check.

Eine Bilderkennung kann einem Erkennen von Gegenständen, Ereignissen oder Merkmalen in Bild- oder Videodateien dienen. Beispielsweise werden Kontextinformationen zu dem visuell Dargestellten erfasst und/oder dargestellt. Dies kann beispielsweise eine visuelle Darstellung von Informationen, also die Ergänzung von Bildern oder Videos mit computergenerierten Zusatzinformationen oder virtuellen Objekten mittels Einblendung/Überlagerung, umfassen. Ein solches Verfahren wird allgemeine als erweiterter Realität oder Augmented Reality bezeichnet.Image recognition can be used to recognize objects, events or features in image or video files. For example, context information on what is visually represented is recorded and / or displayed. This can include, for example, a visual representation of information, that is to say the addition of images or videos with computer-generated additional information or virtual objects by means of fading in / overlaying. Such a method is commonly referred to as augmented reality.

Eine Spracherkennung kann einem Erkennen von Sprache in Audiodateien oder Videodateien, etwa zur Sprachsteuerung oder zum Überführen von Sprache in Textform, dienen.Speech recognition can be used to recognize speech in audio files or video files, for example for voice control or for converting speech into text form.

Eine Mustererkennung in Text-, Bild-, Audio- oder Videodatei kann einer Vorrichtungsüberwachung dienen. Insbesondere können so auftretende oder drohende Fehlfunktionen erkannt werden. Dies kann der Sicherheit dienen und ermöglicht eine vorausschauende Wartung (Predictiv Maintenance) der entsprechenden Vorrichtung, da potentielle Probleme frühzeitig erkannt werden können. Bei einer entsprechenden Textdatei handelt es sich beispielswiese um einen Datensatz mit Sensormesswerten. Basierend auf einer Vorrichtungsüberwachung kann zudem eine autonome Vorrichtungssteuerung implementiert werden, etwa eine autonome Steuerung von Fahrzeugen, Robotern oder Industrieanlagen.Pattern recognition in text, image, audio or video files can be used for device monitoring. In particular, occurring or impending malfunctions can be recognized in this way. This can serve safety and enables predictive maintenance of the corresponding device, since potential problems can be identified at an early stage. A corresponding text file is, for example, a data record with measured sensor values. Based on a device monitoring, an autonomous device control can also be implemented, for example an autonomous control of vehicles, robots or industrial plants.

Unter einer „Vorrichtung“ wird hier allgemein eine technische Vorrichtung verstanden mit Sensoren zur Erfassung von Zustandsdaten der Vorrichtung und einem Vorrichtungscomputersystem zum Protokollieren der erfassten Zustandsdaten. Die Vorrichtung kann auch in dem entsprechenden Computersystem mit Sensorik bestehen. Beispielsweise handelt es sich bei den empfangenen Datensätzen um von einer Vorrichtungscomputersystem unter Verwendung der Sensoren erfasste Datensätze. Computersystem zum maschinellen Lernen Eine Vorrichtung umfasst beispielsweise ein Fahrzeug, eine Anlage, wie etwa eine Produktionsanlage, eine Verarbeitungsanlage, eine Förderanlage, eine Energiegewinnungsanlage, eine Wärmegewinnungsanlage, eine Steuerungsanlage, eine Überwachungsanlage, etc. sein.A “device” here is generally understood to mean a technical device with sensors for acquiring status data of the device and a device computer system for logging the acquired status data. The device can also consist in the corresponding computer system with sensors. For example, the data records received are data records acquired by a device computer system using the sensors. Computer system for machine learning A device comprises, for example, a vehicle, a plant, such as a production plant, a processing plant, a conveyor system, an energy generation system, a heat generation system, a control system, a monitoring system, etc.

Unter einem „Fahrzeug“ wird hier ein mobiles Verkehrsmittel verstanden. Ein solches Verkehrsmittel kann beispielsweise dem Transport von Gütern (Güterverkehr), von Werkzeugen (Maschinen oder Hilfsmittel) oder Personen (Personenverkehr) dienen. Fahrzeuge umfassen insbesondere auch motorisierte Verkehrsmittel. Bei einem Fahrzeug kann es sich beispielsweise um ein Landfahrzeug, ein Wasserfahrzeug und/oder ein Luftfahrzeug handeln. Ein Landfahrzeug kann beispielsweise sein: ein Automobil, wie etwa ein Personenkraftwagen, Omnibus oder ein Lastkraftwagen, ein motorbetriebenes Zweirad, wie etwa ein Motorrad, Kleinkraftrad, Motorroller oder Motorfahrrad, ein landwirtschaftlicher Traktor, Gabelstapler, Golfmobil, Autokran. Darüber hinaus kann es sich bei einem Landfahrzeug auch um ein Schienen gebundenes Fahrzeug handeln. Wasserfahrzeug kann beispielsweise sein: ein Schiff oder Boot. Ferner kann ein Luftfahrzeug beispielsweise sein: ein Flugzeug oder Hubschrauber. Unter einem Fahrzeug wird insbesondere auch ein Kraftfahrzeug verstanden.A “vehicle” is understood here to mean a mobile means of transport. Such a means of transport can be used, for example, to transport goods (freight transport), tools (machines or aids) or people (passenger transport). Vehicles in particular also include motorized means of transport. A vehicle can be, for example, a land vehicle, a watercraft and / or an aircraft. A land vehicle can be, for example: an automobile, such as a passenger car, bus or truck, a motor-driven two-wheeler such as a motorcycle, moped, scooter or motorbike, an agricultural tractor, forklift, golf cart, truck crane. In addition, a land vehicle can also be a rail-bound vehicle. For example, watercraft can be: a ship or Boat. Furthermore, an aircraft can be, for example: an airplane or a helicopter. A vehicle is also understood to mean, in particular, a motor vehicle.

Nach Ausführungsformen umfasst die Vorrichtung zumindest einen Sensor zum Erfassen von Zustandsdaten der Vorrichtung. Die Zustandsdaten der Vorrichtung werden durch das Vorrichtungscomputersystem von dem zumindest einen Sensor empfangen. Nach Ausführungsformen umfasst die Vorrichtung eine Mehrzahl von Sensoren zum Erfassen von Zustandsdaten der Vorrichtung. Ausführungsformen können den Vorteil haben, dass die vorrichtungseigene Sensorik genutzt werden kann, um den Zustand der Vorrichtung zu erfassen. Der Zustand der Vorrichtung kann beispielsweise beschrieben werden durch Angaben zu Kenngrößen des aktuellen Leistungsvermögens der Vorrichtung, wie etwa Kilometerstand bei einem Fahrzeug, Verbrauchswerte, Leistungswerte, Fehlermeldungen, Ergebnisse vordefinierter Prüfprotokolle und/oder Kennungen von Komponenten der Vorrichtung.According to embodiments, the device comprises at least one sensor for detecting status data of the device. The device status data is received by the device computer system from the at least one sensor. According to embodiments, the device comprises a plurality of sensors for acquiring status data of the device. Embodiments can have the advantage that the device's own sensor system can be used to detect the state of the device. The state of the device can be described, for example, by information on parameters of the current performance of the device, such as the mileage of a vehicle, consumption values, performance values, error messages, results of predefined test protocols and / or identifiers of components of the device.

Kenngrößen des aktuellen Leistungsvermögens eines Fahrzeugs können zum Beispiel Drehzahl, Geschwindigkeit, Kraftstoffverbrauch, Abgaswerte, Getriebegang sein.Parameters of the current performance of a vehicle can be, for example, engine speed, speed, fuel consumption, exhaust gas values, transmission gear.

Unter einem „Sensor“ wird hier ein Element zum Erfassen von Messdaten verstanden. Messdaten sind Daten, welche physikalische oder chemische Eigenschaften eines Messobjekts, wie beispielsweise Wärmemenge, Temperatur, Feuchtigkeit, Druck, Durchflussmenge, Schallfeldgrößen, Helligkeit, Beschleunigung, pH-Wert, lonenstärke, elektrochemisches Potential, und/oder dessen stoffliche Beschaffenheit qualitativ oder quantitativ wiedergeben. Messdaten werden mittels physikalischer oder chemischer Effekte erfasst und in ein elektronisch weiterverarbeitbares elektrisches Signal umgeformt. Ferner können Messdaten Zustände und/oder Zustandsänderung von elektronischen Geräten durch Außeneinflüsse und/oder in Folge einer Benutzung durch einen Nutzer wiedergeben.A “sensor” is understood here to mean an element for acquiring measurement data. Measurement data are data that qualitatively or quantitatively reproduce physical or chemical properties of a measurement object, such as the amount of heat, temperature, humidity, pressure, flow rate, sound field sizes, brightness, acceleration, pH value, ion strength, electrochemical potential and / or its material properties. Measurement data are recorded using physical or chemical effects and converted into an electronic signal that can be further processed electronically. Furthermore, measurement data can reproduce states and / or changes in state of electronic devices due to external influences and / or as a result of use by a user.

Sensoren zum Erfassen von Zustandsdaten in einem Fahrzeug können beispielsweise umfassen: Kurbelwellensensor, Nockenwellensensor, Luftmassenmesser, Lufttemperatursensor, Kühlwassertemperatursensor, Drosselklappensensor, Klopfsensor, Getriebesensor, Wegstreckensensor, Getriebesensor, Niveausensor, Bremsverschleißsensor, Achslastsensor, Lenkwinkelsensor. Diese Sensoren erfassen und überwachen das Fahrverhalten des Fahrzeugs. Aus Abweichungen von Sollwerten und/oder einem Auftreten von bestimmten Mustern lassen sich Fehlfunktionen erkennen und identifizieren. Teils lassen sich auch konkrete Fehlerursachen, wie ausgefallene Komponenten des Fahrzeugs, identifizieren. Sensoren können zudem auch Kennungen elektronischer Komponenten, die in das Fahrzeug eingebaut sind abfragen, um deren Identität zu prüfen.Sensors for acquiring status data in a vehicle can include, for example: crankshaft sensors, camshaft sensors, air mass sensors, air temperature sensors, cooling water temperature sensors, throttle sensors, knock sensors, transmission sensors, distance sensors, transmission sensors, level sensors, brake wear sensors, axle load sensors, steering angle sensors. These sensors record and monitor the driving behavior of the vehicle. Malfunctions can be recognized and identified from deviations from target values and / or the occurrence of specific patterns. In some cases, specific causes of errors, such as failed vehicle components, can also be identified. Sensors can also query the identifiers of electronic components installed in the vehicle in order to check their identity.

Ausführungsformen umfassen ein Quellcomputersystem zum Implementieren eines datenbankübergreifenden Index auf einem verteilten Datenbanksystem, welches eine das Quellcomputersystem umfassende Mehrzahl von Computersystemen mit jeweils einer eigenständigen Einzeldatenbank umfasst, wobei die Computersysteme mit den Einzeldatenbanken über ein Netzwerk kommunikativ miteinander verbunden sind.Embodiments include a source computer system for implementing a cross-database index on a distributed database system, which comprises a plurality of computer systems comprising the source computer system, each with an independent individual database, the computer systems with the individual databases being communicatively connected to one another via a network.

Die Computersysteme umfassen ferner jeweils ein oder mehrere Prozessoren, ein oder mehrere Datenspeichermedien, auf welchen die jeweilige Einzeldatenbank bereitgestellt wird, eine Kommunikationsschnittstelle zur Kommunikation über das Netzwerk sowie eine Programmlogik umfassen.The computer systems also each include one or more processors, one or more data storage media on which the respective individual database is provided, a communication interface for communication via the network, and program logic.

Die Einzeldatenbanken werden jeweils von einem Multi-Modell-Datenbankmanagementsystem verwaltet, wobei die Einzeldatenbanken jeweils eine Mehrzahl datenbankindividueller Datensätze umfassen, welche in einem dokumentenorientierten ersten Datenmodell der jeweiligen Einzeldatenbank gespeichert sind, wobei die gespeicherten Datensätze jeweils ein oder mehreren Feldwerte umfassen, wobei die einzelnen Feldwerte der gespeicherten Datensätze jeweils in einem Feld gespeichert sind.The individual databases are each managed by a multi-model database management system, the individual databases each comprising a plurality of database-specific data records which are stored in a document-oriented first data model of the respective individual database, the stored data records each comprising one or more field values, the individual field values of the saved data records are each saved in a field.

Die Einzeldatenbanken umfassen ferner jeweils einen durchsuchbaren ersten Index, welcher in einem zweiten Datenmodell der jeweiligen Einzeldatenbank gespeichert ist, wobei der Index der jeweiligen Einzeldatenbank eine Mehrzahl von aus den Feldwerten der in dem dokumentenorientierten Datenmodell der entsprechenden Einzeldatenbank gespeicherten Datensätze erzeugten Token umfasst, wobei die Token in dem Index jeweils mit einem oder mehreren Zeigern auf ein oder mehrere der in dem dokumentenorientierten Datenmodell der entsprechenden Einzeldatenbank gespeicherten Datensätze verknüpft ist, aus deren Feldwerten das entsprechende Token erzeugt wurde.The individual databases also each comprise a searchable first index which is stored in a second data model of the respective individual database, the index of the respective individual database comprising a plurality of tokens generated from the field values of the data records stored in the document-oriented data model of the corresponding individual database, the tokens is linked in the index with one or more pointers to one or more of the data records stored in the document-oriented data model of the corresponding individual database, from whose field values the corresponding token was generated.

Die Programmlogik des Quellcomputersystems ist zum Ausführen eines Verfahrens zum Implementieren eines datenbankübergreifenden Index konfiguriert, wobei das Verfahren umfasst:

  • • Empfangen eines zusätzlichen Datensatzes durch die Einzeldatenbank des Quellcomputersystems als Quelldatenbank zum Ergänzen von Datensätze der Quelldatenbank,
  • • Speichern des zusätzlichen Datensatzes, welcher ein oder mehrere zusätzliche Feldwerte umfasst, durch ein erstes Multi-Modell-Datenbankmanagementsystem der Quelldatenbank in einem dokumentenorientierten ersten Datenmodell der Quelldatenbank,
  • • Anwenden einer Datenverarbeitungsfunktion der Quelldatenbank auf den zusätzlichen Datensatz, wobei die Datenverarbeitungsfunktion zumindest eine Indexierung des zusätzlichen Datensatzes zum Speichern in einem zweiten Datenmodell der Quelldatenbank umfasst, wobei die Indexierung umfasst:
    • ◯ Erzeugen von ein oder mehreren zusätzlichen Token aus den zusätzlichen Feldwerten durch die Quelldatenbank,
    • ◯ Ergänzen des Index der Quelldatenbank durch das erste Multi-Modell-Datenbankmanagementsystem unter Verwendung der zusätzlichen Token und eines Zeigers auf den zusätzlichen in dem dokumentenorientierten Datenmodell der Quelldatenbank gespeicherten Datensatz,
  • • Erstellen eines aus dem Anwenden der Datenverarbeitungsfunktion resultierenden Ergänzungsdatensatzes, welcher die in dem Index der Quelldatenbank vorgenommenen Ergänzungen umfasst, zum Ergänzen zumindest eines zweiten Index zumindest einer weiteren Einzeldatenbank als Empfangsdatenbank, welche ein weiteres Computersystem des Datenbanksystems als Empfangscomputersystem umfassten,
  • • Senden des Ergänzungsdatensatzes durch das Quellcomputersystem über das Netzwerk an das Empfangscomputersystem zur Integration in den zweiten Index der Empfangsdatenbank.
The program logic of the source computer system is configured to perform a method of implementing a cross-database index, the method comprising:
  • • Receipt of an additional data set by the individual database of the source computer system as a source database to supplement data sets in the source database,
  • • Storing the additional data record, which includes one or more additional field values, by a first multi-model database management system in the source database a document-oriented first data model of the source database,
  • Applying a data processing function of the source database to the additional data record, the data processing function comprising at least one indexing of the additional data record for storage in a second data model of the source database, the indexing comprising:
    • ◯ Generation of one or more additional tokens from the additional field values by the source database,
    • ◯ Supplementing the index of the source database by the first multi-model database management system using the additional tokens and a pointer to the additional data set stored in the document-oriented data model of the source database,
  • • Creation of a supplementary data set resulting from the use of the data processing function, which comprises the additions made in the index of the source database, for supplementing at least one second index of at least one further individual database as a receive database, which included a further computer system of the database system as a receive computer system,
  • • Sending of the supplementary data set by the source computer system via the network to the receiving computer system for integration in the second index of the receiving database.

Nach Ausführungsformen ist das Quellcomputersystem dazu konfiguriert eine oder mehrere der zuvor genannten Ausführungsformen des Verfahrens zum Implementieren eines datenbankübergreifenden Index auf dem verteilten Datenbanksystem auszuführen.According to embodiments, the source computer system is configured to execute one or more of the aforementioned embodiments of the method for implementing a cross-database index on the distributed database system.

Ausführungsformen umfassen ferner ein verteiltes Datenbanksystem zum Implementieren eines datenbankübergreifenden Index auf dem verteilten Datenbanksystem, welches eine das Mehrzahl von Computersystemen mit jeweils einer eigenständigen Einzeldatenbank umfasst, wobei die Computersysteme mit den Einzeldatenbanken über ein Netzwerk kommunikativ miteinander verbunden sind.Embodiments further include a distributed database system for implementing a cross-database index on the distributed database system, which includes one of the plurality of computer systems each with an independent individual database, the computer systems with the individual databases being communicatively connected to one another via a network.

Die Computersysteme umfassen ferner jeweils ein oder mehrere Prozessoren, ein oder mehrere Datenspeichermedien, auf welchen die jeweilige Einzeldatenbank bereitgestellt wird, eine Kommunikationsschnittstelle zur Kommunikation über das Netzwerk sowie eine Programmlogik.The computer systems also each include one or more processors, one or more data storage media on which the respective individual database is made available, a communication interface for communication via the network and program logic.

Die Einzeldatenbanken werden jeweils von einem Multi-Modell-Datenbankmanagementsystem verwaltet, wobei die Einzeldatenbanken jeweils eine Mehrzahl datenbankindividueller Datensätze umfassen, welche in einem dokumentenorientierten ersten Datenmodell der jeweiligen Einzeldatenbank gespeichert sind, wobei die gespeicherten Datensätze jeweils ein oder mehreren Feldwerte umfassen, wobei die einzelnen Feldwerte der gespeicherten Datensätze jeweils in einem Feld gespeichert sind.The individual databases are each managed by a multi-model database management system, the individual databases each comprising a plurality of database-specific data records which are stored in a document-oriented first data model of the respective individual database, the stored data records each comprising one or more field values, the individual field values of the saved data records are each saved in a field.

Die Einzeldatenbanken umfassen ferner jeweils einen durchsuchbaren ersten Index, welcher in einem zweiten Datenmodell der jeweiligen Einzeldatenbank gespeichert ist, wobei der Index der jeweiligen Einzeldatenbank eine Mehrzahl von aus den Feldwerten der in dem dokumentenorientierten Datenmodell der entsprechenden Einzeldatenbank gespeicherten Datensätze erzeugten Token umfasst, wobei die Token in dem Index jeweils mit einem oder mehreren Zeigern auf ein oder mehrere der in dem dokumentenorientierten Datenmodell der entsprechenden Einzeldatenbank gespeicherten Datensätze verknüpft ist, aus deren Feldwerten das entsprechende Token erzeugt wurde,.The individual databases also each comprise a searchable first index which is stored in a second data model of the respective individual database, the index of the respective individual database comprising a plurality of tokens generated from the field values of the data records stored in the document-oriented data model of the corresponding individual database, the tokens is linked in the index with one or more pointers to one or more of the data records stored in the document-oriented data model of the corresponding individual database, from whose field values the corresponding token was generated.

Die Programmlogik ist jeweils zum Ausführen eines Verfahrens zum Implementieren eines datenbankübergreifenden Index durch das die Programmlogik ausführende Computersystem der Mehrzahl von Computersystemen konfiguriert, welches als ein Quellcomputersystem fungiert, wobei das Verfahren umfasst:

  • • Empfangen eines zusätzlichen Datensatzes durch die Einzeldatenbank des Quellcomputersystems als Quelldatenbank zum Ergänzen von Datensätze der Quelldatenbank,
  • • Speichern des zusätzlichen Datensatzes, welcher ein oder mehrere zusätzliche Feldwerte umfasst, durch ein erstes Multi-Modell-Datenbankmanagementsystem der Quelldatenbank in einem dokumentenorientierten ersten Datenmodell der Quelldatenbank,
  • • Anwenden einer Datenverarbeitungsfunktion der Quelldatenbank auf den zusätzlichen Datensatz, wobei die Datenverarbeitungsfunktion zumindest eine Indexierung des zusätzlichen Datensatzes zum Speichern in einem zweiten Datenmodell der Quelldatenbank umfasst, wobei die Indexierung umfasst:
    • ◯ Erzeugen von ein oder mehreren zusätzlichen Token aus den zusätzlichen Feldwerten durch die Quelldatenbank,
    • ◯ Ergänzen des Index der Quelldatenbank durch das erste Multi-Modell-Datenbankmanagementsystem unter Verwendung der zusätzlichen Token und eines Zeigers auf den zusätzlichen in dem dokumentenorientierten Datenmodell der Quelldatenbank gespeicherten Datensatz,
  • • Erstellen eines aus dem Anwenden der Datenverarbeitungsfunktion resultierenden Ergänzungsdatensatzes, welcher die in dem Index der Quelldatenbank vorgenommenen Ergänzungen umfasst, zum Ergänzen zumindest eines zweiten Index zumindest einer weiteren Einzeldatenbank als Empfangsdatenbank, welche ein weiteres Computersystem des Datenbanksystems als Empfangscomputersystem umfassten,
  • • Senden des Ergänzungsdatensatzes durch das Quellcomputersystem über das Netzwerk an das Empfangscomputersystem zur Integration in den zweiten Index der Empfangsdatenbank.
The program logic is each configured to execute a method for implementing a cross-database index by the computer system executing the program logic of the plurality of computer systems, which method acts as a source computer system, the method comprising:
  • • Receipt of an additional data set by the individual database of the source computer system as a source database to supplement data sets in the source database,
  • • Saving the additional data record, which includes one or more additional field values, by a first multi-model database management system of the source database in a document-oriented first data model of the source database,
  • Applying a data processing function of the source database to the additional data record, the data processing function comprising at least one indexing of the additional data record for storage in a second data model of the source database, the indexing comprising:
    • ◯ Generation of one or more additional tokens from the additional field values by the source database,
    • ◯ Supplementing the index of the source database by the first multi-model database management system using the additional tokens and a pointer to the additional data set stored in the document-oriented data model of the source database,
  • • Creation of a supplementary data set resulting from the use of the data processing function, which comprises the additions made in the index of the source database, for supplementing at least one second index of at least one further individual database as a receive database, which included a further computer system of the database system as a receive computer system,
  • • Sending of the supplementary data set by the source computer system via the network to the receiving computer system for integration in the second index of the receiving database.

Nach Ausführungsformen ist das verteilte Datenbanksystem dazu konfiguriert eine oder mehrere der zuvor genannten Ausführungsformen des Verfahrens zum Implementieren eines datenbankübergreifenden Index auf dem verteilten Datenbanksystem auszuführen.According to embodiments, the distributed database system is configured to carry out one or more of the aforementioned embodiments of the method for implementing a cross-database index on the distributed database system.

Im Weiteren werden Ausführungsformen der Erfindung mit Bezugnahme auf die Zeichnungen näher erläutert. Es zeigen:

  • 1 ein schematisches Blockdiagramm einer Ausführungsform eines exemplarischen Computersystems,
  • 2 schematische Diagramme einer Ausführungsform eines exemplarischen verteilten Datenbanksystems,
  • 3 ein schematisches Diagramm einer Ausführungsform eines exemplarischen verteilten Datenbanksystems,
  • 4 ein schematisches Flussdiagramm eines exemplarischen Verfahrens,
  • 5 ein schematisches Flussdiagramm eines exemplarischen Verfahrens,
  • 6 ein schematisches Flussdiagramm eines exemplarischen Verfahrens,
  • 7 ein schematisches Flussdiagramm eines exemplarischen Verfahrens,
  • 8 ein schematisches Blockdiagramm von Ausführungsformen exemplarischer Computersysteme,
  • 9 ein schematisches Blockdiagramm einer exemplarischen Rechtevergabe,
  • 10 ein schematisches Blockdiagramm einer exemplarischen Implementierung eines Systems zur Rechtevergabe,
  • 11 ein schematisches Blockdiagramm einer Ausführungsform eines exemplarischen Computersystems,
  • 12 ein schematisches Blockdiagramme einer exemplarischen Datenverarbeitung durch das Multi-Modell-Datenbankmanagementsystem,
  • 13 ein schematisches Blockdiagramme einer exemplarischen Datenverarbeitung durch das Multi-Modell-Datenbankmanagementsystem,
  • 14 ein schematisches Blockdiagramm von Ausführungsformen exemplarischer Computersysteme,
  • 15 ein Flussdiagramm einer Ausführungsform eines exemplarischen Verfahrens,
  • 16 ein Flussdiagramm einer Ausführungsform eines exemplarischen Verfahrens,
  • 17 ein Flussdiagramm einer Ausführungsform eines exemplarischen Verfahrens und
  • 18 ein Flussdiagramm einer Ausführungsform eines exemplarischen Verfahrens.
In the following, embodiments of the invention are explained in more detail with reference to the drawings. Show it:
  • 1 a schematic block diagram of an embodiment of an exemplary computer system;
  • 2 schematic diagrams of an embodiment of an exemplary distributed database system,
  • 3 a schematic diagram of one embodiment of an exemplary distributed database system;
  • 4th a schematic flow diagram of an exemplary method,
  • 5 a schematic flow diagram of an exemplary method,
  • 6th a schematic flow diagram of an exemplary method,
  • 7th a schematic flow diagram of an exemplary method,
  • 8th a schematic block diagram of embodiments of exemplary computer systems;
  • 9 a schematic block diagram of an exemplary rights allocation,
  • 10 a schematic block diagram of an exemplary implementation of a system for granting rights,
  • 11 a schematic block diagram of an embodiment of an exemplary computer system;
  • 12 a schematic block diagram of an exemplary data processing by the multi-model database management system,
  • 13 a schematic block diagram of an exemplary data processing by the multi-model database management system,
  • 14th a schematic block diagram of embodiments of exemplary computer systems;
  • 15th a flow diagram of an embodiment of an exemplary method,
  • 16 a flow diagram of an embodiment of an exemplary method,
  • 17th FIG. 3 is a flow diagram of an embodiment of an exemplary method and FIG
  • 18th Figure 6 is a flow diagram of one embodiment of an exemplary method.

Elemente der nachfolgenden Ausführungsformen, die einander entsprechen, werden mit denselben Bezugszeichen gekennzeichnet.Elements of the following embodiments that correspond to one another are identified by the same reference symbols.

1 zeigt ein Blockdiagramm einer Ausführungsform eines exemplarischen Computersystems 100, welches eine Einzeldatenbank 104 zum Implementieren eines datenbankübergreifenden Index auf einem verteilten Datenbanksystem 170 umfasst. Das verteilte Datenbanksystem 170 umfasst eine Mehrzahl von Einzeldatenbank 104, welche jeweils auf einem Computersystem 100 implementiert sind. Das Computersystems 100 umfasst ferner ein Multi-Modell-Datenbankmanagementsystem (MM-DBMS) 118, welches die, ggf. strukturierte, Speicherung von Daten in der zumindest einen Einzeldatenbank 104 verwaltet und alle lesenden und schreibenden Zugriffe auf die Einzeldatenbank 104 kontrolliert. Die MM-DBMS 118 unterstützt zumindest zwei Datenmodelle 106, 110, in welchen Daten in der Einzeldatenbank 104 gespeichert werden. Dabei legt das Datenbankmodell fest, in welcher Form die entsprechenden Daten organisiert, gespeichert und bearbeitet werden. Bei einem oder beiden Datenmodellen 106, 110 handelt es sich um NoSQL Datenmodelle. In dieser Hinsicht handelt es sich bei dem MM-DBMS 118 um ein NoSQL DBMS. Das erste Datenmodell 106 ist ein dokumentenbasiertes Datenmodell, in welchem eine Mehrzahl von Datensätzen DS1, DS2, DS3 gespeichert sind. Jeder Datensatz DS1, DS2, DS3 wird in einem Dokument bzw. einem Datencontainer gespeichert. Den Datensätzen DS1, DS2, DS3 selbst wird beim Speichern von dem dokumentenbasiertes Datenmodell 106 keine spezifische Struktur vorgegeben. Mithin können die Datensätzen DS1, DS2, DS3 mit der internen Struktur gespeichert werden, mit welcher die Datensätzen DS1, DS2, DS3 von der Einzeldatenbank 104 empfangen werden. Insofern handelt es sich bei den in dem dokumentenbasiertes Datenmodell 106 gespeicherten Datensätzen DS1, DS2, DS3 um Rohdaten. Die Datensätze DS1, DS2, DS3 können beispielsweise Textdaten, Bilddaten, Audiodaten und/oder Videodaten umfassen. Die Datensätze DS1, DS2, DS3 umfassen jeweils zumindest ein Feld F1, ..., F8, mit Feldwerten. Die Datensätze DS1, DS2, DS3 können bereits eine innere Struktur mit einer Mehrzahl von Feldern F1, ..., F8 aufweisen, wenn sie gespeichert werden. Dann umfassen die entsprechenden Datensätze DS1, DS2, DS3 jeweils eine Mehrzahl von Feld F1, ..., F8. Weisen die Datensätze DS1, DS2, DS3 selbst bei ihrem Empfang keine Felder auf, so umfassen sie in gespeicherter Form jeweils beispielsweise genau ein Feld, welches den gesamten Datenumfang des entsprechenden Datensatzes DS1, DS2, DS3 umfasst. Die Felder F1, ..., F8 umfassen jeweils ein oder mehrere Feldwerte. Jeder der Feldwerte eines Datensatzes DS1, DS2, DS3 ist in einem entsprechenden Feld, einer Art Datencontainer, gespeichert. Jedes Feld F1, ..., F8 kann einem Feldtyp zugewiesen sein. Dabei können die Felder F1, ..., F8 unterschiedlichen oder alle demselben Feldtyp zugewiesen sein. Die Zusammensetzung der Feldwerte der einzelnen Datensätze DS1, DS2, DS3 kann sich dabei im Hinblick auf deren Feldtypen unterscheiden. Es ist auch möglich das einzelne Datensätze gar keine Felder eines bestimmten Feldtyps beinhalten. In anderen Ausführungsformen (hier nicht gezeigt) können auch mandatorische Feldtypen definiert sein, d.h. dass jedes Dokument ein Feld für jeden mandatorischen Feldtyp umfasst und optional ein oder mehrere weitere Felder für optionale Feldtypen umfasst. Die Daten der Datensätze werden dann in Feldern des für sie vorgesehenen Feldtyps gespeichert, d.h. z.B. Textdaten in einem oder mehreren Textfeldern, Bilddaten in einem oder mehreren Bildfeldern, Audiodaten in einem oder mehreren Audiofeldern und/oder Videodaten in einem oder mehreren Videofeldern. 1 Figure 3 shows a block diagram of one embodiment of an exemplary computer system 100 , which is a single database 104 to implement a cross-database index on a distributed database system 170 includes. The distributed database system 170 comprises a plurality of individual databases 104 each on a computer system 100 are implemented. The computer system 100 also includes a multi-model database management system (MM-DBMS) 118 , which is the, possibly structured, storage of data in the at least one individual database 104 manages and all read and write access to the individual database 104 controlled. The MM-DBMS 118 supports at least two data models 106 , 110 in which data in the individual database 104 get saved. The database model defines the form in which the relevant data is organized, saved and processed. With one or both data models 106 , 110 it is about NoSQL data models. In this respect, it is the MM-DBMS 118 a NoSQL DBMS. The first data model 106 is a document-based data model in which a plurality of data sets DS1 , DS2 , DS3 are stored. Every record DS1 , DS2 , DS3 is saved in a document or a data container. The records DS1 , DS2 , DS3 itself is saved from the document-based data model 106 no specific structure specified. Thus, the records DS1 , DS2 , DS3 are saved with the internal structure with which the data records DS1 , DS2 , DS3 from the individual database 104 be received. In this respect, it is the document-based Data model 106 stored records DS1 , DS2 , DS3 around raw data. The records DS1 , DS2 , DS3 can for example include text data, image data, audio data and / or video data. The records DS1 , DS2 , DS3 each include at least one field F1 , .. ., F8 , with field values. The records DS1 , DS2 , DS3 can already have an internal structure with a plurality of fields F1 , ..., F8 when they are saved. Then include the appropriate records DS1 , DS2 , DS3 each a plurality of field F1 , ..., F8 . Assign the records DS1 , DS2 , DS3 even when they are received, they contain, in stored form, exactly one field, for example, which contains the entire data volume of the corresponding data record DS1 , DS2 , DS3 includes. The fields F1 , ..., F8 each include one or more field values. Each of the field values of a record DS1 , DS2 , DS3 is stored in a corresponding field, a kind of data container. Every field F1 , ..., F8 can be assigned to a field type. The fields F1 , ..., F8 different or all of the same field type. The composition of the field values of the individual records DS1 , DS2 , DS3 can differ in terms of their field types. It is also possible that individual data records do not contain any fields of a certain field type. In other embodiments (not shown here) mandatory field types can also be defined, ie each document comprises a field for each mandatory field type and optionally comprises one or more further fields for optional field types. The data of the data records are then stored in fields of the field type intended for them, ie for example text data in one or more text fields, image data in one or more image fields, audio data in one or more audio fields and / or video data in one or more video fields.

Ferner umfasst das Computersystem 100 einen Tokenisierer 120 zum Erzeugen von Token 109. Nach alternativen Ausführungsformen kann auch das MM-DBMS 118 den Tokenisierer 122 umfassen.The computer system also includes 100 a tokenizer 120 to generate tokens 109 . According to alternative embodiments, the MM-DBMS 118 the tokenizer 122 include.

Das Computersystem 100, z.B. das MM-DBMS 118, verfügt über eine eingebaute Programmlogik bzw. Datenverarbeitungsfunktion, welche zur Generierung eines Index 112 konfiguriert ist. Der entsprechende Index 112 wird dabei in einem weiteren Datenmodell 110 bereitgestellt, in welchem die vollständigen Daten der Datensätze DS1, DS2, DS3 oder eine aus diesen abgeleitete Datenmenge in umstrukturierter, redundanzfreier Form gespeichert sind. Zum Erzeugen des Index 112 wird auf den Tokenisierer 122 zugegriffen, welcher dazu konfiguriert ist, die Feldwerte der Feldern F1, ..., F8 der in dem dokumentenbasierten Datenmodell 106 gespeicherten Datensätze 106 zu tokenisieren. Dabei können die resultierenden Token 109 auch mit einem Feldwert eines Feldes bzw. eines Datensatzes identisch sein, falls keine weitere Zerlegung in Token 109 möglich oder sinnvoll ist. Die Tokenisierung kann nach Ausführungsformen auch stufenweise erfolgen, so dass eine immer feinere Zerlegung erfolgt. Mithin kann der resultierende Index 112 in diesem Fall Token 109 umfassen, welche aus anderen Token 109 zusammengesetzt sind. Die Programmlogik bzw. Datenverarbeitungsfunktion kann dabei auf allen Computersystemen 100 bzw. für alle Einzeldatenbanken 104 des verteilten Datenbanksystems 170 identisch sein. Alternativ können sich die Programmlogik bzw. Datenverarbeitungsfunktion zwischen Computersystemen 100 bzw. Einzeldatenbanken 104 des verteilten Datenbanksystems 170 auch unterscheiden, beispielsweise in Abhängigkeit von der Art oder dem Inhalt der von der jeweiligen Einzeldatenbank zu speichernden Daten.The computer system 100 , e.g. the MM-DBMS 118 , has a built-in program logic or data processing function which is used to generate an index 112 configured. The corresponding index 112 is used in another data model 110 provided in which the complete data of the datasets DS1 , DS2 , DS3 or a data volume derived from these is stored in a restructured, redundancy-free form. To generate the index 112 is on the tokenizer 122 which is configured to read the field values of the fields F1 , ..., F8 that in the document-based data model 106 saved records 106 tokenize. The resulting tokens 109 also be identical to a field value of a field or a data record, if no further breakdown into tokens 109 is possible or useful. According to embodiments, the tokenization can also take place in stages, so that an ever finer breakdown takes place. The resulting index 112 in this case token 109 include those from other tokens 109 are composed. The program logic or data processing function can be used on all computer systems 100 or for all individual databases 104 of the distributed database system 170 be identical. Alternatively, the program logic or data processing function can be between computer systems 100 or individual databases 104 of the distributed database system 170 also differentiate, for example depending on the type or the content of the data to be stored by the respective individual database.

Vorzugsweise werden sämtliche oder zumindest die meisten Feldwerte sämtlicher Datensätze DS1, DS2, DS3 der Einzeldatenbank 104 tokenisiert, sodass eine umfangreiche Menge an Token 109 entsteht. In Abhängigkeit von der Art der Daten in den einzelnen Feldwerten können die Token 109 eine Mischung aus Zahlen, Buchstabenwörtern, Bildern oder Bildsegmenten, Audiodateien oder Audioelementen oder sonstigen Datenstrukturen, insbesondere Sensordaten von ein oder mehreren Sensoren, umfassen. Jedes der erzeugten Token 109 wird in dem Index 112 mit einem Zeiger verknüpft gespeichert, wobei der Zeiger auf den Datensatz bzw. das Feld verweist, aus dem das Token 109 entstammt.Preferably all or at least most of the field values of all data records are used DS1 , DS2 , DS3 the individual database 104 tokenized, so an extensive amount of tokens 109 arises. Depending on the type of data in the individual field values, the tokens 109 a mixture of numbers, letters, images or image segments, audio files or audio elements or other data structures, in particular sensor data from one or more sensors. Each of the generated tokens 109 is in the index 112 linked to a pointer, the pointer pointing to the data record or field from which the token 109 comes from.

Im Zuge der Erzeugung des Index 112 wird aus der Menge an Token 109 eine nichtredundante, unique Token-Menge gebildet, in welcher jedes der Token 109 höchstens einmal vorkommt. Vorzugsweise erfolgt die Speicherung aller Token 109 der nichtredundanten Tokenmenge in dem Index 112 so, dass die Token 109 nach einem Sortierkriterium sortiert werden und in sortierter Form in der Indexstruktur gespeichert werden. Die Sortierung kann beispielsweise anhand des Alphabets für alphanumerische Daten oder sonstiger, an die Daten angepasste Sortierkriterien erfolgen. Da die Token 109 in dem Index 112 vorzugsweise in sortierter Form gespeichert sind, und weiterhin vorzugsweise in einer Baumstruktur gespeichert sind, ist es sehr schnell möglich, ein bestimmtes Token 109 innerhalb des Index 112 zu identifizieren und dann die Verweise dieses identifizierten Tokens 109 auf ein oder mehrere Datensätze DS1, DS2, DS3 zu verwenden, um sehr schnell diejenigen Datensätze zu identifizieren, die ein bestimmtes, gesuchtes Token 109 enthalten. Es ist also nicht erforderlich, alle Datensätze DS1, DS2, DS3 der Einzeldatenbank 104 sequenziell zu durchsuchen.In the course of generating the index 112 becomes from the amount of tokens 109 a non-redundant, unique token set is formed, in which each of the tokens 109 occurs at most once. All tokens are preferably stored 109 the non-redundant token set in the index 112 so that the token 109 sorted according to a sorting criterion and saved in sorted form in the index structure. The sorting can take place, for example, using the alphabet for alphanumeric data or other sorting criteria adapted to the data. Since the tokens 109 in the index 112 are preferably stored in sorted form, and are furthermore preferably stored in a tree structure, it is possible very quickly to obtain a specific token 109 within the index 112 to identify and then the references of this identified token 109 on one or more records DS1 , DS2 , DS3 to be used to very quickly identify those records that contain a particular token 109 contain. So it is not necessary to have all records DS1 , DS2 , DS3 the individual database 104 to browse sequentially.

Empfängt die Einzeldatenbank 104 als Quelldatenbank einen zusätzlichen Datensatz, z.B. DS3, wird dieser in dem ersten Datenmodell 106 gespeichert, unter Verwendung des Tokenisierers tokenisiert und die resultierenden Token werden dazu verwendet den Index 112 in dem zweiten Datenmodell 110 zu ergänzen. Ferner wird ein Ergänzungsdatensatz 130 erstellt, welcher die in dem Index 112 der Quelldatenbank 104 vorgenommenen Ergänzungen umfasst und zum Ergänzen weiterer Indexe weiterer Einzeldatenbanken des verteilten Datenbanksystems 170 als Empfangsdatenbanken dient. Der so erstellte Ergänzungsdatensatz 130 wird unter Verwendung einer Kommunikationsschnittstelle 126 des Computersystems 100 über ein Netzwerk an die Empfangsdatenbanken des verteilten Datenbanksystems 170 gesendet.Receives the individual database 104 an additional data record as the source database, e.g. DS3 , becomes this in the first data model 106 stored, tokenized using the tokenizer and the resulting tokens are used to create the index 112 in the second data model 110 to complete. Furthermore, a supplementary data record 130 which is created in the index 112 the source database 104 The additions made include and to add further indices to further individual databases of the distributed database system 170 serves as receiving databases. The supplementary data set created in this way 130 is made using a communication interface 126 of the computer system 100 via a network to the receiving databases of the distributed database system 170 Posted.

2A zeigt ein Diagramm einer Ausführungsform eines exemplarischen verteilten Datenbanksystems 170. Das verteilte Datenbanksystem 170 umfasst eine Mehrzahl von Knoten K1 , ..., K6 . Diese Knoten K1 , ..., K6 werden von Computersystemen 100, 200 gebildet, welche jeweils eine Einzeldatenbank des verteilten Datenbanksystems umfassen. Jeder der Knoten K1 , ..., K6 aggregiert individuell Daten D1 , ..., D6 und erstellt aus diesen einen Index I1 , ..., I6 . Wird ein Index I1 , ..., I6 infolge eines zusätzlichen empfangenen Datensatzes ergänzt, so erstellt der entsprechende Knoten K1 , ..., K6 , z.B. Knoten K1 , einen Ergänzungsdatensatz E(I1), welcher die Ergänzungen des Index I1 umfasst, und sendet diesen an die weiteren Konten K2 , ..., K6 des verteilten Datenbanksystems 170, z.B. Knoten K2 . Ebenso erstellen auch die weiteren Knoten K2 , ..., K6 des verteilten Datenbanksystems 170 bei Ergänzungen ihres Index, z.B. I2, Ergänzungsdatensätze E(I2) und senden diese an die weiteren Knoten, wie etwa Knoten K2 . Infolge dieses Austausches von Ergänzungsdatensätze E(I1), E(I2) werden alle Index I1 , ..., I6 des Datenbanksystems 170 synchronisiert, so dass sich der in 2B gezeigt Zustand ergibt, in welchem alle Knoten K1 , ..., K6 über einen vollständigen datenbankübergreifenden Index I(I1 , ..., 16) des verteilten Datenbanksystems 170 verfügen. 2A Figure 12 is a diagram of one embodiment of an exemplary distributed database system 170 . The distributed database system 170 includes a plurality of nodes K 1 , ..., K 6 . These knots K 1 , ..., K 6 are used by computer systems 100 , 200 formed, which each comprise a single database of the distributed database system. Each of the knots K 1 , .. ., K 6 aggregates individual data D 1 , .. ., D 6 and creates an index from these I 1 , ..., I 6 . Becomes an index I 1 , .. ., I 6 supplemented as a result of an additional received data record, the corresponding node is created K 1 , ..., K 6 , e.g. knot K 1 , a supplementary data set E (I 1 ) , which is the additions to the index I 1 and sends it to the other accounts K 2 , ..., K 6 of the distributed database system 170 , e.g. knot K 2 . Likewise create the other nodes K 2 , ..., K 6 of the distributed database system 170 when adding to your index, e.g. I 2 , Supplementary data sets E (I 2 ) and send them to the other nodes, such as nodes K 2 . As a result of this exchange of supplementary data records E (I 1 ) , E (I 2 ) become all index I 1 , .. ., I 6 of the database system 170 synchronized so that the in 2 B state shown results in which all nodes K 1 , .. ., K 6 via a complete cross-database index I ( I 1 , ..., 16 ) of the distributed database system 170 feature.

In 3 ist eine Mehrzahl von Knoten K1 , ..., KN eines verteilten Datenbanksystems 170 gezeigt, welche jeweils eine Einzeldatenbank 1, ..., N, umfassen. Infolge des in den 2 illustrierten Synchronisationsverfahren, umfassen jede der Einzeldatenbank 1, ..., N einen vollständigen datenbankübergreifenden Index des verteilten Datenbanksystems 170, welcher die Informationen aller Einzelindexe I1 , ..., IN umfasst.In 3 is a plurality of nodes K 1 , ..., K N of a distributed database system 170 shown, which each have a single database 1 , ..., N, include. As a result of the 2 synchronization methods illustrated include each of the individual databases 1 , ..., N a complete cross-database index of the distributed database system 170 , which contains the information of all individual indices I 1 , ..., I N includes.

4 zeigt ein Flussdiagramm der Ergänzung der Indexe. In Schritt a) wird ein erster Knoten K1 der verteilten Datenbank 170 bereitgestellt, welcher eine Datenverarbeitungsfunktion F1 umfasst. In Schritt b) empfängt der Knoten K1 Daten D1 . Aus diesen Daten D1 wird in Schritt c) unter Verwendung der Datenverarbeitungsfunktion F1 ein Index I1 erzeugt bzw. ein bestehender Index I1 ergänzt. In Schritt d) wird der resultierende Index I1 bzw. ein aus der Ergänzung des bestehenden Index I1 resultierender Ergänzungsdatensatz von dem Knoten K1 an zumindest einen weiteren Knoten K2 der verteilten Datenbank 170 gesendet. Der weitere Knoten K2 umfasst ebenfalls Daten D2 , aus welchen unter Verwendung der Datenverarbeitungsfunktion F2 ein Index I2 erzeugt wird. Der Index I2 wird um die empfangenen Indexinformation I1 des ersten Knotens K1 ergänzt, so dass der resultierende Index des Knoten K1 ein kombinierter Index I(I) ist, welcher die Indexinformation beider Indexe I1 , I2 beider Knoten K1 , K2 miteinander kombiniert. 4th shows a flow chart of the addition of the indexes. In step a) a first node K 1 the distributed database 170 provided which has a data processing function F 1 includes. In step b) the node receives K 1 Data D 1 . From this data D 1 is done in step c) using the data processing function F 1 an index I 1 generated or an existing index I 1 added. In step d) the resulting index I 1 or one from the addition of the existing index I 1 resulting supplementary data record from the node K 1 to at least one other node K 2 the distributed database 170 Posted. The other knot K 2 also includes data D 2 , from which using the data processing function F 2 an index I 2 is produced. The index I 2 is about the received index information I 1 of the first node K 1 added so that the resulting index of the node K 1 is a combined index I (I) which is the index information of both indexes I 1 , I 2 both nodes K 1 , K 2 combined with each other.

5 zeigt ein Flussdiagramm eines exemplarischen Verfahrens zum Implementieren eines datenbankübergreifenden Index auf einem verteilten Datenbanksystem. In Block 300 wird ein zusätzlicher Datensatz durch eine erste Einzeldatenbank des verteilten Datenbanksystems als Quelldatenbank empfangen. Dieser zusätzliche Datensatz, welcher beispielsweise ein oder mehrere zusätzliche Feldwerte umfasst, wird zum Ergänzen der Quelldatenbank verwendet. In Block 302 wird der zusätzliche Datensatz durch ein Multi-Modell-Datenbankmanagementsystem der Quelldatenbank in einem dokumentenorientierten ersten Datenmodell der Quelldatenbank gespeichert. Zudem wird eine Datenverarbeitungsfunktion der Quelldatenbank auf den zusätzlichen Datensatz angewendet, welche zumindest eine Indexierung des zusätzlichen Datensatzes zum Speichern in einem zweiten Datenmodell der Quelldatenbank umfasst. In Block 304 werden ein oder mehreren zusätzlichen Token aus dem zusätzlichen Datensatz erzeugt. In Block 306 wird der Index der Quelldatenbank durch das erste Multi-Modell-Datenbankmanagementsystem unter Verwendung der zusätzlichen Token und eines Zeigers auf den zusätzlichen in dem dokumentenorientierten Datenmodell der Quelldatenbank gespeicherten Datensatz ergänzt. Hierbei werden beispielsweise die zusätzliche Token mit dem Index der Quelldatenbank abgeglichen. Falls eines der zusätzlichen Token nicht von dem Index der Quelldatenbank umfasst ist, wird das entsprechende zusätzliche Token in dem Index der Quelldatenbank ergänzt und mit dem Zeiger auf den zusätzlichen in dem dokumentenorientierten Datenmodell der Quelldatenbank gespeicherten Datensatz verknüpft. Falls eines der zusätzlichen Token von dem Index der Quelldatenbank bereits umfasst ist, wird das entsprechende zusätzliche Tokens in dem Index der Quelldatenbank mit dem Zeiger auf den zusätzlichen in dem dokumentenorientierten Datenmodell der Quelldatenbank gespeicherten Datensatz verknüpft. 5 Figure 12 shows a flow diagram of an exemplary method for implementing a cross-database index on a distributed database system. In block 300 an additional data record is received by a first individual database of the distributed database system as the source database. This additional data record, which for example includes one or more additional field values, is used to supplement the source database. In block 302 the additional data record is stored by a multi-model database management system of the source database in a document-oriented first data model of the source database. In addition, a data processing function of the source database is applied to the additional data record, which includes at least indexing of the additional data record for storage in a second data model of the source database. In block 304 one or more additional tokens are generated from the additional data record. In block 306 the index of the source database is supplemented by the first multi-model database management system using the additional tokens and a pointer to the additional data record stored in the document-oriented data model of the source database. For example, the additional tokens are compared with the index of the source database. If one of the additional tokens is not included in the index of the source database, the corresponding additional token is added to the index of the source database and linked to the pointer to the additional data record stored in the document-oriented data model of the source database. If one of the additional tokens is already included in the index of the source database, the corresponding additional token in the index of the source database is linked to the pointer to the additional data record stored in the document-oriented data model of the source database.

In Block 308 wird ein aus dem Anwenden der Datenverarbeitungsfunktion resultierender Ergänzungsdatensatz erstellt. Dieser Ergänzungsdatensatz umfasst die in dem Index der Quelldatenbank vorgenommenen Ergänzungen und dient zum Ergänzen zumindest eines zweiten Index zumindest einer zweiten Einzeldatenbank des verteilten Datenbanksystems als Empfangsdatenbank. In Block 310 wird der Ergänzungsdatensatz über ein Netzwerk an die zweite Einzeldatenbank zur Integration in den zweiten Index der Empfangsdatenbank gesendet.In block 308 a supplementary data record resulting from the application of the data processing function is created. This Supplementary data set comprises the additions made to the index of the source database and is used to supplement at least one second index of at least one second individual database of the distributed database system as a receive database. In block 310 the supplementary data record is sent via a network to the second individual database for integration into the second index of the receiving database.

6 zeigt ein Flussdiagramm eines exemplarischen Verfahrens zum Integrieren eines Ergänzungsdatensatzes in den Index einer Empfangsdatenbank. In Block 400 empfängt die Empfangsdatenbank den Ergänzungsdatensatz von einer Quelldatenbank. Der Ergänzungsdatensatz umfasst in den Index der Quelldatenbank vorgenommene Ergänzungen. In Block 402 wird der empfangene Ergänzungsdatensatz in den Index der Empfangsdatenbank integriert. Das Integrieren umfasst dabei ein Ergänzen des Index der Empfangsdatenbank. Dabei erfolgt beispielsweise ein Abgleichen von Token des Ergänzungsdatensatzes mit dem Index der Quelldatenbank. Falls eines der Token des Ergänzungsdatensatzes nicht von dem Index der Quelldatenbank umfasst ist, wird das entsprechende Tokens in dem Index der Quelldatenbank ergänzt und in dem Index mit einem Zeiger auf den in einem dokumentenorientierten Datenmodell der Quelldatenbank gespeicherten Datensatz, aus welchem das entsprechende Token erzeugt wurde, verknüpft. Falls eines der Token des Ergänzungsdatensatzes von dem Index der Quelldatenbank bereits umfasst ist, wird das entsprechende Tokens in dem Index der Quelldatenbank mit dem Zeiger auf den in einem dokumentenorientierten Datenmodell der zusätzlichen Quelldatenbank gespeicherten Datensatz, aus welchem das entsprechende Token erzeugt wurde, verknüpft. 6th FIG. 8 shows a flow diagram of an exemplary method for integrating a supplementary data record into the index of a receive database. In block 400 the receiving database receives the supplementary data record from a source database. The supplementary data record includes additions made to the index of the source database. In block 402 the received supplementary data record is integrated into the index of the receive database. The integration includes adding to the index of the receiving database. For example, tokens of the supplementary data record are compared with the index of the source database. If one of the tokens of the supplementary data set is not included in the index of the source database, the corresponding token is supplemented in the index of the source database and in the index with a pointer to the data set stored in a document-oriented data model of the source database from which the corresponding token was generated , connected. If one of the tokens of the supplementary data record is already included in the index of the source database, the corresponding token is linked in the index of the source database with the pointer to the data record stored in a document-oriented data model of the additional source database from which the corresponding token was generated.

7 zeigt ein Flussdiagramm einer Ausführungsform eines exemplarischen Verfahrens zum Ausführen einer Suche auf einer der Einzeldatenbanken. In Block 500 wird eine Suchanfrage empfangen, die einen Suchwert beinhaltet. Block 502 wird der Index nach dem Suchwert durchsucht und in Block 504 wird ein Token innerhalb des Index identifiziert, welcher identisch mit dem Suchwert ist und/oder welcher unter den durch den Suchwert definierten Suchumfang fällt. In Block 506 werden, falls die Suche dies erfordert, Zeiger analysiert, mit denen das oder die identifizierten Token verknüpft sind. Dadurch können ein oder mehrere der Datensätze bestimmt werden, welche ein oder mehrere Feldwerte beinhalten, aus welchen das indexierte Token erzeugt wurde. In Block 508 wird eine Antwort auf die Suchanfrage zurückgegeben. Diese Antwort umfasst beispielsweise: eine Angabe über die identifizierten Token, ein oder mehrere durch Analysieren von Zeigern, mit denen die identifizierte Token verknüpft sind, bestimmten Datensätze oder ein oder mehreren Referenzen auf die bestimmten Datensätze. Wird etwa nur danach gesucht welche Token eine bestimmtes durch den Suchwert festgelegte Kriterium erfüllen, reicht es die aufgefundenen Token zurück zu geben, ohne weitere Analyse von Zeigern oder Datensätzen. Sollen gemäß der Suche zudem die Datensätze identifiziert werden, welche die aufgefundenen Token umfassen, werden die Zeiger analysiert, es ist aber kein Zugriff auf die zugrundeliegenden Datensätze notwendig. Alternativ können gemäß der Suche auch die zugrundeliegenden Datensätze mit abgefragt werden. 7th FIG. 3 shows a flow diagram of an embodiment of an exemplary method for performing a search on one of the individual databases. In block 500 a search query is received that contains a search value. block 502 the index is searched for the search value and in block 504 a token is identified within the index which is identical to the search value and / or which falls below the search scope defined by the search value. In block 506 If the search so requires, pointers with which the identified token or tokens are associated are analyzed. In this way, one or more of the data records can be determined which contain one or more field values from which the indexed token was generated. In block 508 an answer to the search query is returned. This response includes, for example: an indication of the identified tokens, one or more specific data records or one or more references to the specific data records by analyzing pointers with which the identified tokens are linked. If, for example, a search is only made for which tokens meet a certain criterion determined by the search value, it is sufficient to return the tokens found without further analysis of pointers or data records. If, according to the search, the data records that comprise the tokens found are also to be identified, the pointers are analyzed, but access to the underlying data records is not necessary. Alternatively, the underlying data records can also be queried according to the search.

8 zeigt ein schematisches Blockdiagramm von Ausführungsform eines exemplarischen Quellcomputersystems 100 sowie eines exemplarischen Empfangscomputersystems 200 eines verteilten Datenbanksystems 170. Beide Computersysteme 100, 200 umfasst jeweils zumindest einen Prozessor 114, 214, welcher Programminstruktionen 116, 216 ausführt. Durch das Ausführen der Programminstruktionen 116, 216 wird beispielsweise das zuvor beschriebene Verfahren zum Implementieren eines datenbankübergreifenden Index auf einem verteilten Datenbanksystem 170 umgesetzt. Beispielsweise führen die Prozessoren 114, 214 jeweils eine Multi-Modell-Datenbankmanagementsystem 118, 218 sowie einen Tokenisierer 122 aus. Ferner umfassen die Computersysteme 100 jeweils in einem Speicher 102, 202 eine Einzeldatenbank 104, 204, welche von dem jeweiligen Multi-Modell-Datenbankmanagementsystem 118, 218 verwaltet wird. Die Datenbanken 104, 204 umfassen jeweils ein erstes Datenmodell 106, 206, z.B. ein dokumentenorientiertes Datenmodell, in welchem Datensätze 108, 208 gespeichert werden. Ferner umfassen die Datenbanken 104, 204 jeweils ein zweites Datenmodell 110, 210 mit einem Index 112, 212 aller in den Datensätzen 108, 109 gespeicherten Daten. Um die Indexe 112, 212 bei unterschiedlichen Datensätzen 108, 109 synchronisieren zu können und so einen datenbankübergreifenden Index auf den verteilten Datenbanksystem 170 zu implementieren. Wird beispielsweise auf dem Quellcomputersystem 100 ein Ergänzungsdatensatz 130 erzeugt, welcher Ergänzungen des Index 112 umfasst. Um diese Ergänzungen des Index 112 auch dem Empfangscomputersystem zur Verfügung zu stellen zu können, umfassen beide Computersysteme 100, 200 jeweils eine Kommunikationsschnittstelle 126, 226 durch welche sie über ein Netzwerk 180 miteinander kommunizieren können. Das Quellcomputersystem 100 sendet den Ergänzungsdatensatz 130 über das Netzwerk 180 an das Empfangscomputersystem 200, welches unter Verwendung des empfangenen Ergänzungsdatensatz 130 seinen Index 212 mit dem Index 112 synchronisiert. 8th Figure 3 shows a schematic block diagram of one embodiment of an exemplary source computer system 100 as well as an exemplary receiving computer system 200 of a distributed database system 170 . Both computer systems 100 , 200 each includes at least one processor 114 , 214 which program instructions 116 , 216 executes. By executing the program instructions 116 , 216 For example, the method described above for implementing a cross-database index on a distributed database system is used 170 implemented. For example, the processors lead 114 , 214 each a multi-model database management system 118 , 218 as well as a tokenizer 122 out. The computer systems also include 100 each in a memory 102 , 202 a single database 104 , 204 , which from the respective multi-model database management system 118 , 218 is managed. The databases 104 , 204 each comprise a first data model 106 , 206 , e.g. a document-oriented data model in which data records 108 , 208 get saved. The databases also include 104 , 204 a second data model each 110 , 210 with an index 112 , 212 all in the records 108 , 109 stored data. To the indexes 112 , 212 with different data sets 108 , 109 to be able to synchronize and thus a cross-database index on the distributed database system 170 to implement. For example, used on the source computer system 100 a supplementary data set 130 generated what additions to the index 112 includes. To these additions to the index 112 Both computer systems include being able to also make them available to the receiving computer system 100 , 200 one communication interface each 126 , 226 through which they have a network 180 communicate with each other. The source computer system 100 sends the supplementary data record 130 over the network 180 to the receiving computer system 200 , which is made using the supplementary data set received 130 its index 212 with the index 112 synchronized.

9 zeigt Blockdiagramm einer Rechtevergabe mittels Übertragung von Zugriffs-Rechten über eine Kette Entitäten, etwa Einzeldatenbanken oder deren Nutzer. Ein Datensatz 108 mit Nutzdaten 160 wird durch eine Einzeldatenbank empfangen. Im Zuge der Erstellung des Datensatz 108 oder der Speicherung in der Einzeldatenbank werden automatisch im Hintergrund Zugriffs-Zertifikate 162, 164, 166, die einer ersten Entität zugewiesen sind, in entsprechenden Feldern des Datensatzes gespeichert. Bei der ersten Entität handelt es sich beispielsweise um den Ersteller des Datensatzes, wie etwa die entsprechende Einzeldatenbank oder einen Nutzer derselben. Die Zugriffs-Zertifikate162, 164, 166 sind für unterschiedliche Arten des Zugriffs auf den Datensatz konfiguriert. Das Zugriffs-Zertifikat 162 ist für einen Lesezugriff, das Zugriffs-Zertifikat 164 für einen Schreibzugriff sowie das Zugriffs-Zertifikat 166 für den Zugriff auf Token eines Index, welche aus dem entsprechenden Datensatz erzeugt werden. 9 shows a block diagram of the allocation of rights by means of the transfer of access rights via a chain of entities, such as individual databases or their users. One record 108 with user data 160 is received through a single database. in the During the creation of the data set 108 or storage in the individual database, access certificates are automatically created in the background 162 , 164 , 166 that are assigned to a first entity are stored in corresponding fields of the data record. The first entity is, for example, the creator of the data record, such as the corresponding individual database or a user of the same. The access certificates 162, 164, 166 are configured for different types of access to the data record. The access certificate 162 is for read access, the access certificate 164 for write access and the access certificate 166 for access to tokens of an index, which are generated from the corresponding data record.

Sollen einer weiteren Entität ebenfalls Zugriffs-Rechte auf den Index erteilt werden, etwa einer zweiten Einzeldatenbank oder einem Nutzer der zweiten Einzeldatenbank, wird ein in einer ID-Datenbank 172 der weiteren Entität das Indexzugriffs-Zertifikat 166, welches Indexzugriffe in Bezug auf den Datensatz 108 ermöglicht zugeordnet. Dies erfolgt beispielsweise, indem eine Verknüpfung dieses Zertifikats 166 mit einem Nutzer-Zertifikat 168 der weiteren Entität in der ID-Datenbank 172 gespeichert wird, zum Beispiel innerhalb des gleichen Zugriffsermächtigungskettenobjekts.If a further entity is also to be granted access rights to the index, for example a second individual database or a user of the second individual database, an in an ID database 172 the index access certificate of the other entity 166 which index accesses in relation to the data record 108 allows assigned. This is done, for example, by linking this certificate 166 with a user certificate 168 the other entity in the ID database 172 is stored, for example within the same access authorization chain object.

Auf dieselbe Weise können auch einer dritten Entität Zugriffs-Rechte in Bezug auf den Datensatz 108 zugeordnet werden. Hierzu wird das Indexzugriffs-Zertifikat 166 auch dieser weiteren Entität zugeordnet. Dies erfolgt beispielsweise, indem eine Verknüpfung dieses Zertifikats 166 mit einem Nutzer-Zertifikat 174 der dritten Entität in der ID-Datenbank 172 gespeichert wird, zum Beispiel innerhalb des gleichen Zugriffsermächtigungskettenobjekts. Hierbei kann das Nutzer-Zertifikat 174 entweder an das Nutzer-Zertifikat 168 oder direkt an das Indexzugriffs-Zertifikat 166 angehängt werden.In the same way, a third entity can also have access rights with regard to the data record 108 be assigned. The index access certificate is used for this 166 also assigned to this further entity. This is done, for example, by linking this certificate 166 with a user certificate 174 the third entity in the ID database 172 is stored, for example within the same access authorization chain object. The user certificate 174 either to the user certificate 168 or directly to the index access certificate 166 be appended.

Soll ein Zugriff auf Token in einem Index erfolgen, welche aus dem Datensatz 108 erzeugt wurde, wird zunächst geprüft, ob ein Besitz des selbst Indexzugriffs-Zertifikats 166 oder eines der mit dem Indexzugriffs-Zertifikat 166 verknüpften Nutzerzertifikate 168, 174 nachgewiesen werden kann. Falls dies gelingt wird der zugriff freigegeben, andernfalls wird der Zugriff verwehrt.Should there be access to tokens in an index, which from the data record 108 was generated, it is first checked whether the owner of the index access certificate itself 166 or one of the ones with the index access certificate 166 linked user certificates 168 , 174 can be proven. If this succeeds, access is granted, otherwise access is denied.

Die in den Zugriffsermächtigungskettenobjekten dokumentierte Kette an Nutzer-Zertifikaten dokumentiert die Übertragung von Zugriffs-Rechten über eine Sequenz mehrerer Nutzer. Die Sequenz kann aus einer bloßen Aneinanderreihung von Nutzer-Zertifikaten bestehen, wobei beispielsweise die Position der Nutzer-Zertifikate innerhalb der Kettenobjekte die zeitliche Reihe der Übertragungen repräsentiert. Optional kann nach manchen Ausführungsformen die Kette von Nutzer-Zertifikaten innerhalb eines Ermächtigungskettenobjekten dadurch generiert werden, dass die ID-Datenbank die den einzelnen Nutzer-Zertifikaten zugeordneten privaten Schlüssel so verwendet, dass das letzte Nutzer-Zertifikat in der Kette das an dieses neuangefügte neue Nutzer-Zertifikat signiert, sodass auch innerhalb der Kette der Nutzer-Zertifikate der einzelnen Ermächtigungskettenobjekte eine Zertifikatskettenprüfung möglich ist.The chain of user certificates documented in the access authorization chain objects documents the transfer of access rights over a sequence of several users. The sequence can consist of a simple stringing together of user certificates, the position of the user certificates within the chain objects representing the time series of the transmissions, for example. Optionally, according to some embodiments, the chain of user certificates within an authorization chain object can be generated in that the ID database uses the private keys assigned to the individual user certificates so that the last user certificate in the chain is the new user added to it -Certificate signed so that a certificate chain check is also possible within the chain of user certificates of the individual authorization chain objects.

10 zeigt Blockdiagramm des verteilten Datenbankensystems 170. Dieses umfasst beispielsweise ein Quellcomputersystem 100 und ein Empfangscomputersystem 200. Das Quellcomputersystem 100 sendet über ein Netzwerk 180 einen Ergänzungsdatensatz 130 an das Empfangscomputersystem 200 zum Ergänzen eines von der Empfangsdatenbank 204 des Empfangscomputersystems 200 umfassten Index, sodass dieser mit einem Index der Quelldatenbank 104 des Quellcomputersystems 100 synchronisiert wird. 10 Figure 3 shows a block diagram of the distributed database system 170 . This includes, for example, a source computer system 100 and a receiving computer system 200 . The source computer system 100 sends over a network 180 a supplementary data set 130 to the receiving computer system 200 to add one from the receive database 204 of the receiving computer system 200 included index so that it matches an index of the source database 104 of the source computer system 100 is synchronized.

Zum Zugriff auf den Index der Quelldatenbank 104 muss das Quellcomputersystem 100 bzw. ein Nutzer desselben Zugriffs-Rechte Nachweisen. Diese werden beispielsweise durch einen Abgleich mit einem in der Quell-ID-Datenbank 172 gespeicherten Zugriffsermächtigungskettenobjekten überprüft. Bestehen die Zugriffs-Rechte, kann beispielsweise auf den Index Zugegriffen werden und es kann der einen Ergänzungsdatensatz 130 erstellt werden. Damit auch das Empfangscomputersystem 200 zum Ergänzen des Index der Empfangsdatenbank 204 ermächtigt wird, wird für diese oder einen Nutzer derselben ein entsprechendes Zugriffsermächtigungskettenobjekten erzeugt und an die Quell-ID-Datenbank 174 übertragen. Somit kann das auch das Empfangscomputersystem 200 seine Zugriffs-Rechte nachweisen. Nach Ausführungsformen ist eine Ermächtigung des Empfangscomputersystem 200 bzw. der Empfangsdatenbank 204 eine notwendige Voraussetzung für das Senden des Ergänzungsdatensatz 130 mit Indexinformationen an die Empfangsdatenbank 204. Nach alternativen Ausführungsformen kann auch eine zentrale ID-Datenbank für mehrere oder alle Computersysteme 100, 200 des verteilten Datenbanksystems 170 vorgesehen sein.To access the index of the source database 104 must be the source computer system 100 or a user of the same access rights proof. These are, for example, compared with one in the source ID database 172 stored access authorization chain objects checked. If the access rights exist, the index can be accessed, for example, and one supplementary data record can be used 130 to be created. This also applies to the receiving computer system 200 to supplement the index of the receive database 204 is authorized, a corresponding access authorization chain object is generated for this or a user thereof and is transferred to the source ID database 174 transfer. Thus the receiving computer system can do the same 200 prove his access rights. According to embodiments is an authorization of the receiving computer system 200 or the receive database 204 a necessary prerequisite for sending the supplementary data record 130 with index information to the receiving database 204 . According to alternative embodiments, a central ID database for several or all computer systems 100 , 200 of the distributed database system 170 be provided.

11 zeigt ein Blockdiagramm einer erweiterten Ausführungsform des exemplarischen Computersystems 100 aus 1, welches zum maschinellen Lernen konfiguriert ist. Das Computersystems 100 aus 11 umfasst zusätzlich ein Lernmodul 120 zum Verarbeiten der in der Einzeldatenbank 104 gespeicherten Daten. Das Lernmodul 120 umfasst beispielsweise den Tokenisierer 120 zum Erzeugen von Token 109 und zudem Trigger-Definitionen 123, welche Trigger für eine Klassifizierung von Token 109 definieren, und/oder einen Klassifizierer 124, welcher die Token 109 unter Verwendung der Trigger-Definitionen 123 klassifiziert. Nach Ausführungsformen umfasst das Lernmodul 120 ferner ein statistisches Modell 125. Das statistisches Modell 125 kann dazu konfiguriert sein, Trigger-Kombinationen zu erfassen und kombinierte Trigger-Definitionen zu erstellen, zusätzliche Trigger-Definitionen zu erstellen und/oder korrigierte Trigger-Definition zu erstellen. Nach alternativen Ausführungsformen kann auch das MM-DBMS 118 den Tokenisierer 122 umfassen und/oder auf einen von dem Lernmodul 120 bereitgestellten Tokenisierer 122 zugreifen. Nach alternativen Ausführungsformen kann können die Trigger-Definitionen 123 auch in der Einzeldatenbank 104 gespeichert sein. 11 Figure 3 shows a block diagram of an expanded embodiment of the exemplary computer system 100 out 1 which is configured for machine learning. The computer system 100 out 11 also includes a learning module 120 for processing the in the individual database 104 stored data. The learning module 120 includes, for example, the tokenizer 120 to generate tokens 109 and also trigger definitions 123 which triggers for a classification of tokens 109 define, and / or a classifier 124 which the token 109 using the trigger Definitions 123 classified. According to embodiments, the learning module comprises 120 also a statistical model 125 . The statistical model 125 can be configured to acquire trigger combinations and create combined trigger definitions, create additional trigger definitions and / or create corrected trigger definitions. According to alternative embodiments, the MM-DBMS 118 the tokenizer 122 include and / or on one of the learning module 120 provided tokenizer 122 access. According to alternative embodiments, the trigger definitions 123 also in the individual database 104 be saved.

Das MM-DBMS 118 und/oder das Lernmodul 120 verfügen dabei über eine eingebaute Programlogik, die zur Generierung eines Index 112 konfiguriert ist.The MM-DBMS 118 and / or the learning module 120 have a built-in program logic that is used to generate an index 112 configured.

Bei der Generierung des Index 112 werden Token 109 in dem Index 112, welche von einer der Trigger-Definitionen 123 als Trigger umfasst sind, jeweils der entsprechen Trigger-Definition 123 zugeordnet. Ferner werden Token 109 in dem Index 112, welche von einem der Datensätze DS1, DS2, DS3 in einer Kombination mit ein oder mehreren der identifizierten Trigger gemäß einer der Trigger-Definitionen 123 umfasst sind, jeweils ein oder mehreren Klassen zugeordnet. Die entsprechenden Klassenzuordnungen stellen dabei Meta- bzw. Kontextinformationen für die entsprechenden Token 109 bereit. Schließlich werden sind die verbliebenen Token 109 in dem Index 112, welche sich unter Verwendung der Trigger-Definitionen 123 weder als Trigger identifizieren, noch einer Klasse zuordnen als, zum Kennzeichnen als unbekannte Daten einer Auffangklasse zugeordnet. Dabei schließt eine Zuordnung zu der Auffangklasse eine Zuordnung zu einer der Trigger-Definitionen 123 ebenso wie eine Zuordnung zu einer der Klassen gemäß den Trigger-Definitionen 123 aus. Die zuvor beschriebenen Zuordnungen erfolgen beispielsweise unter Verwendung des Klassifizierers 124 des Lernmoduls 120.When generating the index 112 become tokens 109 in the index 112 which of one of the trigger definitions 123 are included as triggers, each of the corresponding trigger definition 123 assigned. Furthermore, tokens 109 in the index 112 which from one of the records DS1 , DS2 , DS3 in a combination with one or more of the identified triggers according to one of the trigger definitions 123 are included, each assigned to one or more classes. The corresponding class assignments provide meta or context information for the corresponding tokens 109 ready. Finally, the remaining tokens are 109 in the index 112 which can be found using the trigger definitions 123 neither identify as trigger nor assign to a class as, assigned to a trap class to identify as unknown data. An assignment to the trap class includes an assignment to one of the trigger definitions 123 as well as an assignment to one of the classes according to the trigger definitions 123 out. The assignments described above are made using the classifier, for example 124 of the learning module 120 .

Im Zuge der Erzeugung des Index 112 wird aus der Menge an Token 109 eine nichtredundante, unique Token-Menge gebildet, in welcher jedes der Token 109 nur ein einziges Mal vorkommt. Auch wenn ein Token 109 mit einem bestimmten Wert und einer bestimmten Klassenzuordnung mehrfach in der Einzeldatenbank 104 bzw. in dem Datenmodell 106 vorkommt, wird es beispielsweise nur ein einziges Mal mit dieser Klassenzuordnung in der nichtredundante Token-Menge und in dem Index 112 gespeichert.In the course of generating the index 112 becomes from the amount of tokens 109 a non-redundant, unique token set is formed, in which each of the tokens 109 occurs only once. Even if a token 109 with a certain value and a certain class assignment multiple times in the single database 104 or in the data model 106 occurs, for example, it is only once with this class assignment in the non-redundant token set and in the index 112 saved.

12 zeigt ein schematisches Blockdiagramme einer exemplarischen Datenverarbeitung durch das Multi-Modell-Datenbankmanagementsystem und das Lernmodul. Es wird eine vorbestimmte Trigger-Definition 123 der Form „[Vorname] [Nachname] [Trigger1 = wohnt in der] [Straße] [Trigger2 = in] [Stadt]“ bereitgestellt. Diese Trigger-Definition 123 definiert zwei Trigger, d.h. einen ersten Trigger „wohnt in der“ und einen zweiten Trigger „in“. Zudem definiert die Trigger-Definition, dass es sich bei einem dem ersten Trigger unmittelbar vorangehenden Token um einen Nachnamen handelt, während es sich bei einem dem Nachnamen unmittelbar vorangehenden Token um einen Vornamen handelt. Ferner definiert Trigger-Definition, dass es sich bei einem zwischen den beiden Triggern angeordneten Token um eine Straße handelt und dass es sich bei einem dem zweiten Trigger unmittelbar nachfolgenden Token um eine Stadt handelt. 12 FIG. 10 shows a schematic block diagram of exemplary data processing by the multi-model database management system and the learning module. There will be a predetermined trigger definition 123 in the form "[First name] [Last name] [Trigger1 = lives in] [Street] [Trigger2 = in] [City]". This trigger definition 123 defines two triggers, ie a first trigger "lives in" and a second trigger "in". In addition, the trigger definition defines that a token immediately preceding the first trigger is a surname, while a token immediately preceding the surname is a first name. The trigger definition also defines that a token arranged between the two triggers is a street and that a token immediately following the second trigger is a city.

In einem dokumentenbasierten Datenmodell 106 einer Datenbank sind zwei Dokumente 108 gespeichert. Jedes Dokument 108 umfasst jeweils einen Datensatz DS1, DS2. Beispielsweise handelt es sich bei den Datensätzen DS1, DS2 jeweils um eine Textdatei. Der erste Datensatz DS1 umfasst beispielsweise den Satz: „Mustervorname_1 Musternachname_1 wohnt in der Musterstr._1 in Musterstadt_1“. Dieser Satz wird mittels Tokenisierers in Token 109 zerlegt: „Mustervorname_1“, „Musternachname_1“, „wohnt in der“, „Musterstr._1“, „in“, „Musterstadt_1“.In a document-based data model 106 a database are two documents 108 saved. Any document 108 each includes one data set DS1 , DS2 . For example, it concerns the data records DS1 , DS2 one text file each. The first record DS1 includes, for example, the sentence: "Sample first name_1 Sample last name_1 lives in Musterstrasse_1 in Musterstadt_1". This set is converted into tokens by means of a tokenizer 109 disassembled: "Musterforname_1", "Mustername_1", "lives in the", "Musterstr._1", "in", "Musterstadt_1".

Die beiden Token „wohnt in der“ und „in“ werden als Trigger gemäß der Trigger-Definition 123 identifiziert. Unter Verwendung der identifizierten Trigger sowie der Trigger-Definition 123 werden die verbleibenden Token 109 jeweils den von der Trigger-Definition definierten Klassen 111 zugeordnet. So wird das Token „Mustervorname_1“ der Klasse „Vorname“, das Token „Musternachname_1“ der Klasse „Nachname“, das Token „Musterstr._1“ der Klasse „Straße“ und das Token „Musterstadt_1“ der Klasse „Stadt“ zugeordnet. Die als Trigger identifizierten Token werden ebenso wie die anhand dieser Trigger klassifizierten Token in einem Index in einem zweiten Datenmodell 110 gespeichert. Dabei werden die Trigger in Form einer Trigger-Zuordnung 117 jeweils der Trigger-Definition 123 zugeordnet. Die verbleibenden Token 109 werden jeweils in Form einer Klassen-Zuordnung 113 einer der von der Trigger-Definition 123 definierten Klassen zugeordnet gespeichert. Zudem werden alle Trigger und klassifizierten Token in dem zweiten Datenmodell 110 mit einem Zeiger 115 auf ihren Speicherort in dem ersten Datenmodell, d.h. DS1, verknüpft.The two tokens "lives in" and "in" are used as triggers according to the trigger definition 123 identified. Using the identified triggers and the trigger definition 123 will be the remaining tokens 109 each of the classes defined by the trigger definition 111 assigned. The token “Musterfirename_1” is assigned to the class “First name”, the token “Musterlastname_1” to the class “Last name”, the token “Musterstrasse_1” to the class “Street” and the token “Musterstadt_1” to the class “City”. The tokens identified as triggers, like the tokens classified using these triggers, are stored in an index in a second data model 110 saved. The triggers are in the form of a trigger assignment 117 the trigger definition 123 assigned. The remaining tokens 109 are each in the form of a class assignment 113 one of the by the trigger definition 123 saved assigned to defined classes. In addition, all triggers and classified tokens are in the second data model 110 with a pointer 115 to their location in the first data model, ie DS1 , connected.

Empfängt die Datenbank einen zweiten Datensatz DS2 der Form: „Mustervorname_2 Musternachname_2 wohnt in der Musterstr._2 in Musterstadt_2“, so wird dieser Satz mittels Tokenisierers in Token zerlegt: „Mustervorname_2“, „Musternachname_2“, „wohnt in der“, „Musterstr._2“, „in“, „Musterstadt_2“ und in redundanzfreier Form ebenfalls in dem zweiten Datenmodell 110 gespeichert.The database receives a second record DS2 of the form: "Musterforname_2, Musterstr._2 in Musterstadt_2", this sentence is broken down into tokens by means of a tokenizer: "Musterforname_2", "Musterlastname_2", "lives in the", "Musterstr._2", "in", " Musterstadt_2 ”and in a redundancy-free form also in the second data model 110 saved.

Die beiden Token „wohnt in der“ und „in“ werden als Trigger gemäß der Trigger-Definition 123 identifiziert. Da diese beiden Trigger der Trigger-Definition 123 von dem Index bereits umfasst sind, werden diese nicht nochmals in dem zweiten Datenmodell 110 gespeichert. Es wird lediglich ein Zeiger auf den zweiten Datensatz DS2 ergänzt. Unter Verwendung der identifizierten Trigger sowie der Trigger-Definition 123 werden die verbleibenden Token 109 des Datensatzes DS2 jeweils den von der Trigger-Definition definierten Klassen 111 zugeordnet. So wird das Token „Mustervorname_2“ der Klasse „Vorname“, das Token „Musternachname_2“ der Klasse „Nachname“, das Token „Musterstr._2“ der Klasse „Straße“ und das Token „Musterstadt_2“ der Klasse „Stadt“ zugeordnet. Die klassifizierten Token 109 des Datensatzes DS2 werden jeweils in Form einer Klassen-Zuordnung 113 einer der von der Trigger-Definition 123 definierten Klassen zugeordnet gespeichert und mit einem Zeiger 115 auf ihren Speicherort in dem ersten Datenmodell, d.h. DS2, verknüpft.The two tokens "lives in" and "in" are used as triggers according to the trigger definition 123 identified. Because these two triggers are the trigger definition 123 are already included in the index, they are not included again in the second data model 110 saved. It just becomes a pointer to the second record DS2 added. Using the identified triggers and the trigger definition 123 will be the remaining tokens 109 of the data set DS2 each of the classes defined by the trigger definition 111 assigned. The token “Musterforname_2” is assigned to the class “First name”, the token “Modellername_2” to the class “Last name”, the token “Musterstr._2” to the class “Street” and the token “Musterstadt_2” to the class “City”. The classified tokens 109 of the data set DS2 are each in the form of a class assignment 113 one of the by the trigger definition 123 associated with defined classes and stored with a pointer 115 to their location in the first data model, ie DS2 , connected.

Mithin werden alle Token des zweiten Datensatzes DS2 ebenfalls in redundanzfreier Form jeweils mit ihren Klassen-Zuordnungen in dem zweiten Datenmodell 110 verknüpft mit einem Zeiger auf ihren Speicherort in dem ersten Datenmodell gespeichert.This means that all tokens of the second record are DS2 likewise in a redundancy-free form with their class assignments in the second data model 110 linked to a pointer to their location in the first data model.

13 zeigt ein schematisches Blockdiagramme einer exemplarischen Datenverarbeitung durch das Multi-Modell-Datenbankmanagementsystem und das Lernmodul. Es wird eine vorbestimmte Trigger-Definition 123 der Form „[Trigger1 = +, Radius = NP] [Trigger1 = x, Radius = NP] [Klasse]“ bereitgestellt. Diese Trigger-Definition 123 dient dazu aus einer Bilddatei erzeugte Token zu klassifizieren, wobei die Bilddatei in Token in Form von Pixelgruppen zerlegt wird. Die Trigger-Definition 123 definiert zwei Trigger, d.h. einen ersten Trigger in Form einer Pixelgruppe mit dem Inhalt „+“ und einen zweiten Trigger in Form einer Pixelgruppe mit dem Inhalt „x“. Zudem definiert die Trigger-Definition, dass es sich bei einer Pixelgruppe, welche innerhalb eines ersten Radius von N Pixeln um den ersten Trigger und zugleich innerhalb eines zweiten Radius von N Pixeln um den zweiten Trigger angeordnet ist, um eine ein Token der der Klasse „Klasse“ handelt. 13 FIG. 10 shows a schematic block diagram of exemplary data processing by the multi-model database management system and the learning module. There will be a predetermined trigger definition 123 of the form "[Trigger1 = +, Radius = NP] [Trigger1 = x, Radius = NP] [Class]". This trigger definition 123 serves to classify tokens generated from an image file, the image file being broken down into tokens in the form of pixel groups. The trigger definition 123 defines two triggers, ie a first trigger in the form of a pixel group with the content “+” and a second trigger in the form of a pixel group with the content “x”. In addition, the trigger definition defines that a pixel group which is arranged within a first radius of N pixels around the first trigger and at the same time within a second radius of N pixels around the second trigger is a token of the class " Class "acts.

In einem dokumentenbasierten Datenmodell 106 einer Datenbank ist ein Dokumente 108 gespeichert. Dieses Dokument 108 umfasst einen Datensatz DS. Beispielsweise handelt es sich bei dem Datensatz DS um eine zweidimensionale Bilddatei. Diese Bilddatei wird mittels Tokenisierers in Token zerlegt, wobei es sich bei den Token jeweils um Pixelgruppen 150 handelt. Beispielsweise wird der in Z mal Z gleichgroße Pixelgruppen zerlegt. Die Token umfassen beispielsweise ein erstes Token in Form einer Pixelgruppe mit dem Inhalt „x“, ein zweites Token in Form einer Pixelgruppe mit dem Inhalt „+“, ein drittes Token in Form einer Pixelgruppe mit dem Inhalt „#“ und ein viertes Token in Form einer Pixelgruppe mit dem Inhalt „-“.In a document-based data model 106 a database is a document 108 saved. This document 108 comprises a data set DS. For example, the data record DS is a two-dimensional image file. This image file is broken down into tokens by means of a tokenizer, whereby the tokens are pixel groups 150 acts. For example, the pixel groups of equal size in Z by Z are broken down. The tokens include, for example, a first token in the form of a pixel group with the content “x”, a second token in the form of a pixel group with the content “+”, a third token in the form of a pixel group with the content “#” and a fourth token in Shape of a pixel group with the content "-".

Die beiden Token „+“ und x" werden als Trigger 121 gemäß der Trigger-Definition 123 identifiziert. Unter Verwendung der identifizierten Trigger sowie der Trigger-Definition 123 wird das dritte Token „#“ der von der Trigger-Definition definierten Klasse 111 zugeordnet, da es in der zweidimensionalen Bilddatei innerhalb eines ersten Radius 152 von N Pixeln um den ersten Trigger „+“ und zugleich innerhalb eines zweiten Radius 154 von N Pixeln um den zweiten Trigger „x“ angeordnet ist. Da das vierte Token „-“ nicht unter die Trigger-Definition 123 fällt, wird es als unbekanntes Datum der Auffangklasse zugeordnet.The two tokens "+" and x "are used as triggers 121 according to the trigger definition 123 identified. Using the identified triggers and the trigger definition 123 becomes the third token "#" of the class defined by the trigger definition 111 assigned as it is within a first radius in the two-dimensional image file 152 of N pixels around the first trigger “+” and at the same time within a second radius 154 of N pixels around the second trigger "x". Since the fourth token "-" is not under the trigger definition 123 falls, it is assigned to the receiving class as an unknown date.

Die als Trigger 121 identifizierten Token „+“ und „x“ werden ebenso wie das anhand dieser Trigger klassifizierte Token „#“ und das der Auffangklasse zugeordnete Token „-“ in einem Index in einem zweiten Datenmodell 110 gespeichert. Dabei werden die Trigger „+“ und „x“ in Form einer Trigger-Zuordnung 117 jeweils der Trigger-Definition 123 zugeordnet. Das Token „#“ wird in Form einer Klassen-Zuordnung 113 der von der Trigger-Definition 123 definierten Klassen zugeordnet gespeichert. Das Token „-“ wird in Form einer Zuordnung 119 der Auffangklassen zugeordnet gespeichert. Zudem werden alle Trigger und klassifizierten Token in dem zweiten Datenmodell 110 mit einem Zeiger 115 auf ihren Speicherort in dem ersten Datenmodell, d.h. DS, verknüpft. The triggers 121 Identified tokens “+” and “x” as well as the token “#” classified on the basis of these triggers and the token “-” assigned to the trap class are in an index in a second data model 110 saved. The triggers “+” and “x” are used in the form of a trigger assignment 117 the trigger definition 123 assigned. The token "#" is in the form of a class assignment 113 that of the trigger definition 123 saved assigned to defined classes. The token "-" is in the form of an assignment 119 assigned to the collection classes. In addition, all triggers and classified tokens are in the second data model 110 with a pointer 115 linked to their storage location in the first data model, ie DS.

14 zeigt ein schematisches Blockdiagramm von Ausführungsform eines exemplarischen Quellcomputersystems 100 sowie eines exemplarischen Empfangscomputersystems 200 eines verteilten Datenbanksystems 170. Die Ausführungsform aus 14 entsprechen weitgehend den Ausführungsformen aus 8. In 14 weisen die beiden Computersysteme 100, 200 zusätzlich jeweils ein Lernmodul 120, 220 auf, welches neben dem Tokenisierer 122, 222 zusätzlich Trigger-Definitionen 123, 223 zum klassifizieren der Daten mittels eines Klassifizierers 124, 224 sowie ein statistisches Modell 125, 225. 14th Figure 3 shows a schematic block diagram of one embodiment of an exemplary source computer system 100 as well as an exemplary receiving computer system 200 of a distributed database system 170 . The embodiment from 14th largely correspond to the embodiments from 8th . In 14th assign the two computer systems 100 , 200 additionally one learning module each 120 , 220 which is next to the tokenizer 122 , 222 additional trigger definitions 123 , 223 to classify the data by means of a classifier 124 , 224 as well as a statistical model 125 , 225 .

15 zeigt ein Flussdiagramm einer Ausführungsform eines weiteren exemplarischen Verfahrens zum Implementieren eines datenbankübergreifenden Index auf einem verteilten Datenbanksystem. In Block 600 wird für eine Quelldatenbank des verteilten Datenbanksystems ein vortrainiertes Lernmoduls zum maschinellen Lernen bereitgestellt, welches eine Mehrzahl von vorbestimmten Trigger-Definitionen umfasst. Diese vorbestimmten Trigger-Definitionen definieren Trigger für ein Zuordnen von Token zu Klassen einer Gruppe von Klassen. In Block 602 wird die entsprechende Quelldatenbank bereitgestellt. Die Quelldatenbank wird von einem Multi-Modell-Datenbankmanagementsystem verwaltet und umfasst eine Mehrzahl von Datensätze, welche in einem dokumentenorientierten Datenmodell gespeichert sind. Diese gespeicherten Datensätze umfassen jeweils ein oder mehreren Felder mit Feldwerten. Zudem umfasst die bereitgestellte Quelldatenbank einen durchsuchbaren Index aller von den gespeicherten Datensätzen umfassten Daten. Dieser Index wird redundanzfrei in einem weiteren von dem Multi-Modell-Datenbankmanagementsystem verwalteten Datenmodell gespeichert. Der Index umfasst eine Mehrzahl von aus den Feldwerten der gespeicherten Datensätze erzeugten Token die in dem Index jeweils mit einem oder mehreren Zeigern auf ein oder mehrere der in dem dokumentenorientierten Datenmodell gespeicherten Datensätze und/oder Felder verknüpft sind, aus deren Feldwerten das entsprechende Token erzeugt wurde. 15th Figure 12 shows a flow diagram of an embodiment of another exemplary method for implementing a cross-database index on a distributed database system. In block 600 For a source database of the distributed database system, a pre-trained learning module for machine learning is provided, which includes a plurality of predetermined trigger definitions. These predetermined trigger definitions define triggers for an assignment of Tokens to classes of a group of classes. In block 602 the corresponding source database is made available. The source database is managed by a multi-model database management system and comprises a plurality of data records which are stored in a document-oriented data model. These saved records each include one or more fields with field values. In addition, the source database provided includes a searchable index of all data comprised by the stored data records. This index is stored redundancy-free in a further data model managed by the multi-model database management system. The index comprises a plurality of tokens generated from the field values of the stored data records which are each linked in the index with one or more pointers to one or more of the data records and / or fields stored in the document-oriented data model, from whose field values the corresponding token was generated .

Erste Token in dem Index, welche von einer der Trigger-Definitionen als Trigger umfasst sind, sind jeweils der entsprechen Trigger-Definition zugeordnet. Zweite Token in dem Index sind jeweils ein oder mehreren Klassen der Gruppe von Klassen zugeordnet. Die verbleibenden Token in dem Index sind schließlich zum Kennzeichnen der entsprechenden verbleibenden Token als unbekannte Daten einer Auffangklasse zugeordnet. Dabei schließt die Zuordnung zu der Auffangklasse eine Zuordnung zu einer der Trigger-Definitionen ebenso wie eine Zuordnung zu einer der Klassen der ersten Gruppe von Klassen aus.First tokens in the index, which are included in one of the trigger definitions as triggers, are each assigned to the corresponding trigger definition. Second tokens in the index are each assigned to one or more classes of the group of classes. The remaining tokens in the index are ultimately assigned a trap class to identify the corresponding remaining tokens as unknown data. The assignment to the collecting class excludes an assignment to one of the trigger definitions as well as an assignment to one of the classes of the first group of classes.

In Block 604 wird ein zusätzlicher Datensatz empfangen und in Block 606 durch das Multi-Modell-Datenbankmanagementsystem in dem dokumentenorientierten Datenmodell der Quelldatenbank gespeichert. Dabei erfolgt die Speicherung in einem Dokument bzw. Datencontainer. Der zusätzliche Datensatz wird unter Anwendung einer Datenverarbeitungsfunktion weiterverarbeitet. Dies umfasst: In Block 608 werden ein oder mehrere zusätzliche Token aus zusätzlichen Feldwerten erzeugt, welche der zusätzliche Datensatz umfasst. In Block 610 werden ein oder mehrere erste zusätzliche Token als Trigger identifiziert, falls diese von einer der Trigger-Definitionen als Trigger umfasst sind. In Block 612 werden die verbleibenden zusätzlichen Token klassifiziert. Die in Block 610 identifizierten Trigger werden zum Zuordnen von ein oder mehreren zweiten zusätzlichen Token zu ein oder mehreren Klassen der Gruppe von Klassen verwendet, falls die entsprechenden zweiten zusätzlichen Token von dem zusätzliche Datensatz in einer Kombination mit ein oder mehreren der identifizierten Trigger gemäß einer der Trigger-Definitionen umfasst sind und die entsprechenden Trigger gemäß der entsprechenden Trigger-Definition eine entsprechende Klassenzuordnung triggern. Die verbleibenden zusätzlichen Token, für welche keine Zuordnung zu einer der Trigger-Definitionen und keine Klassenzuordnung aufgrund einer der Trigger-Definitionen erfolgt ist, werden im Zuge des Klassifizierens in Block 612 der Auffangklasse zugeordnet. Schließlich wird in Block 614 der Index durch das Multi-Modell-Datenbankmanagementsystem unter Verwendung der unter Verwendung der zusätzlichen Token aus Block 608, der Klassenzuordnungen der zusätzlichen Token aus Block 612 und eines Zeigers auf den zusätzlichen in dem dokumentenorientierten Datenmodell gespeicherten Datensatz ergänzt. Falls Zeiger einzelne Felder des zusätzlichen Datensatzes anzeigen, wird bei einer Mehrzahl von Feldern eine Mehrzahl von Zeigern verwendet.In block 604 an additional data record is received and in block 606 stored by the multi-model database management system in the document-oriented data model of the source database. The storage takes place in a document or data container. The additional data set is processed further using a data processing function. This includes: In block 608 one or more additional tokens are generated from additional field values which the additional data record comprises. In block 610 one or more first additional tokens are identified as triggers if they are included as triggers in one of the trigger definitions. In block 612 the remaining additional tokens are classified. The one in block 610 identified triggers are used to assign one or more second additional tokens to one or more classes of the group of classes, if the corresponding second additional tokens from the additional data set in a combination with one or more of the identified triggers according to one of the trigger definitions and the corresponding triggers trigger a corresponding class assignment according to the corresponding trigger definition. The remaining additional tokens, for which no assignment to one of the trigger definitions and no class assignment based on one of the trigger definitions has been made, are in the course of the classification in block 612 assigned to the reception class. Finally, in block 614 the index by the multi-model database management system using the using the additional tokens from block 608 , the class assignments of the additional tokens from block 612 and added a pointer to the additional data record stored in the document-oriented data model. If pointers indicate individual fields of the additional data record, a plurality of pointers is used for a plurality of fields.

Dabei kann das Ergänzen in Block 614 ein Abgleichen der zusätzlichen Token mit dem Index umfassen. Falls eines der zusätzlichen Token nicht von dem Index umfasst ist, wird das entsprechende zusätzliche Token unter seinen Klassenzuordnungen in dem Index ergänzt und mit dem Zeiger auf den zusätzlichen in dem dokumentenorientierten Datenmodell gespeicherten Datensatz verknüpft. Falls eine der Klassenzuordnungen eines von dem Index umfassten zusätzlichen Tokens von dem Index nicht umfasst ist, wird die entsprechende Klassenzuordnung mit dem entsprechenden zusätzlichen Token in dem Index ergänzt und das entsprechende zusätzliche Token in dem Index mit dem Zeiger auf den zusätzlichen in dem dokumentenorientierten Datenmodell gespeicherten Datensatz verknüpft. Falls eines der zusätzlichen Token mit allen seinen Klassenzuordnungen von dem Index umfasst ist, wird das entsprechende zusätzliche Token in dem Index mit dem Zeiger auf den zusätzlichen in dem dokumentenorientierten Datenmodell gespeicherten Datensatz verknüpft.You can add in block 614 include matching the additional tokens with the index. If one of the additional tokens is not included in the index, the corresponding additional token is added to its class assignments in the index and linked to the pointer to the additional data record stored in the document-oriented data model. If one of the class assignments of an additional token included in the index is not included in the index, the corresponding class assignment is supplemented with the corresponding additional token in the index and the corresponding additional token is stored in the index with the pointer to the additional in the document-oriented data model Record linked. If one of the additional tokens with all of its class assignments is included in the index, the corresponding additional token in the index is linked to the pointer to the additional data record stored in the document-oriented data model.

Zudem kann das Ergänzen in Block 614 ein Kennzeichnen von Kombinationen aus zweiten zusätzlichen Token mit ein oder mehreren der identifizierten Trigger, welche eine Klassenzuordnung gemäß einer der Trigger-Definitionen getriggert haben, in dem Index als klassifizierte Kombinationen umfassen. Klassenzuordnungen werden nur für Kombinationen aus zweiten zusätzlichen Token und ein oder mehreren identifizierten Triggern ausgeführt, welche nicht als klassifizierte Kombinationen gekennzeichnet sind. Somit kann durch das Kennzeichnen vermieden werden, dass für bereits bekannte und klassifizierte Kombinationen bei einem wiederholten Auftreten in verschiedenen Datensätzen jeweils das Klassifizieren wiederholt wird. Vielmehr erfolgt vor einem Klassifizieren ein Abgleich von Token-Kombinationen mit dem Index. Umfasst der Index die entsprechende Token-Kombination bereits und ist diese als klassifiziert gekennzeichnet, so erfolgt keine erneute Klassifikation für diese Token-Kombination. Es werden lediglich die entsprechende Token-Kombination und/oder die von der entsprechenden Token-Kombination umfassten Teilkombinationen und Einzeltoken in dem Index mit dem Zeiger auf den zusätzlichen in dem dokumentenorientierten Datenmodell gespeicherten Datensatz verknüpft.You can also complete in block 614 an identification of combinations of second additional tokens with one or more of the identified triggers, which have triggered a class assignment according to one of the trigger definitions, in the index as classified combinations. Class assignments are only carried out for combinations of second additional tokens and one or more identified triggers that are not marked as classified combinations. Thus, by means of the identification, it can be avoided that the classification is repeated for already known and classified combinations with a repeated occurrence in different data records. Rather, before classification, token combinations are compared with the index. If the index already includes the corresponding token combination and this is marked as classified, there is no new classification for this token combination. It only the corresponding token combination and / or the partial combinations and individual tokens comprised by the corresponding token combination are linked in the index with the pointer to the additional data record stored in the document-oriented data model.

In Block 616 wird ein aus dem Anwenden der Datenverarbeitungsfunktion resultierender Ergänzungsdatensatz erstellt. Dieser Ergänzungsdatensatz umfasst die in dem Index der Quelldatenbank vorgenommenen Ergänzungen und dient zum Ergänzen zumindest eines zweiten Index zumindest einer zweiten Einzeldatenbank des verteilten Datenbanksystems als Empfangsdatenbank. In Block 618 wird der Ergänzungsdatensatz über ein Netzwerk an die zweite Einzeldatenbank zur Integration in den zweiten Index der Empfangsdatenbank gesendet.In block 616 a supplementary data record resulting from the application of the data processing function is created. This supplementary data record includes the supplements made in the index of the source database and is used to supplement at least one second index of at least one second individual database of the distributed database system as a receive database. In block 618 the supplementary data record is sent via a network to the second individual database for integration into the second index of the receiving database.

16 zeigt ein Flussdiagramm einer Ausführungsform eines exemplarischen Verfahrens zum Erzeugen kombinierter Trigger-Definitionen. In Block 700 werden ein oder mehr Trigger-Kombinationen durch das Lernmodul identifiziert, welche jeweils von zumindest einem der Datensätzen umfasst sind und ein Kombinationskriterium erfüllen. In Block 702 werden für jede der in Block 700 identifizierten Trigger-Kombinationen die Trigger-Definitionen der Trigger der entsprechenden Trigger-Kombinationen zu ein oder mehreren zusätzlichen kombinierten Trigger-Definitionen kombiniert. In Block 704 wird die Mehrzahl von vorbestimmten Trigger-Definitionen des Lernmoduls durch die ein oder mehreren zusätzlichen kombinierten Trigger-Definitionen ergänzt. 16 Figure 12 shows a flow diagram of an embodiment of an exemplary method for generating combined trigger definitions. In block 700 one or more trigger combinations are identified by the learning module, each of which is comprised by at least one of the data records and fulfills a combination criterion. In block 702 will be for each of the in block 700 identified trigger combinations, the trigger definitions of the triggers of the corresponding trigger combinations are combined into one or more additional combined trigger definitions. In block 704 the plurality of predetermined trigger definitions of the learning module is supplemented by the one or more additional combined trigger definitions.

17 zeigt ein Flussdiagramm einer Ausführungsform eines exemplarischen Verfahrens zum Ergänzen zusätzlicher Trigger-Definitionen. In Block 800 wird das vortrainierte Lernmoduls um ein oder mehrere zusätzliche Trigger-Definitionen ergänzt. Die zusätzlichen Trigger-Definitionen definieren zusätzliche Trigger für ein Ersetzen von Zuordnungen von Token in dem Index zu der Auffangklasse durch Zuordnungen zu ein oder mehreren Klassen einer weiteren Gruppe von Klassen im Zuge eines Reklassifizierens. Die zusätzlichen Trigger-Definitionen können beispielsweise von dem Lernmodul empfangen werden. Beispielsweise werden die entsprechenden zusätzlichen Trigger-Definitionen von einem Administrator bereitgestellt. Nach alternativen Ausführungsformen werden die zu ergänzenden zusätzlichen Trigger-Definitionen von dem Lernmodul erstellt. Hierzu umfasst das Lernmodul ein statistisches Modell, welches zu einer statistischen Analyse der von der Auffangklassen umfassten Token und deren Vorkommen in den Datensätze verwendet wird. Das Ergebnis der statistischen Analyse wird zum Erstellen der zu ergänzenden zusätzlichen Trigger-Definitionen verwendet. 17th Figure 3 shows a flow diagram of an embodiment of an exemplary method for adding additional trigger definitions. In block 800 the pre-trained learning module is supplemented by one or more additional trigger definitions. The additional trigger definitions define additional triggers for a replacement of assignments of tokens in the index to the receiving class by assignments to one or more classes of a further group of classes in the course of a reclassification. The additional trigger definitions can be received by the learning module, for example. For example, the corresponding additional trigger definitions are provided by an administrator. According to alternative embodiments, the additional trigger definitions to be supplemented are created by the learning module. For this purpose, the learning module comprises a statistical model which is used for a statistical analysis of the tokens included in the collection classes and their occurrence in the data records. The result of the statistical analysis is used to create the additional trigger definitions to be added.

In Block 802 werden ein oder mehreren der Auffangklasse zugeordneten Token in dem Index reklassifiziert, welche die zusätzlichen Trigger-Definitionen als zusätzliche Trigger definierten. Das Reklassifizieren durch das Lernmodul umfasst ein Ersetzen der Zuordnung zu der Auffangklasse durch eine Zuordnung zu der entsprechen zusätzlichen Trigger-Definition, welche das entsprechende Token als zusätzlichen Trigger umfasst. In Block 804 werden die zusätzliche Trigger zum Reklassifizieren von ein oder mehreren der Auffangklasse zugeordneten Token in dem Index zu ein oder mehreren Klassen der weiteren Gruppe von Klassen durch das Lernmodul verwendet, falls die entsprechenden der Auffangklasse zugeordneten Token von einem der Datensätze in einer Kombination mit ein oder mehreren der zusätzlichen Triggern umfasst sind und die entsprechenden zusätzlichen Trigger gemäß der entsprechenden zusätzlichen Trigger-Definition eine entsprechende Zuordnung zu den ein oder mehreren Klassen der weiteren Gruppe von Klassen triggern.In block 802 one or more tokens assigned to the trap class are reclassified in the index, which tokens defined the additional trigger definitions as additional triggers. The reclassification by the learning module includes replacing the assignment to the collection class with an assignment to the corresponding additional trigger definition, which includes the corresponding token as an additional trigger. In block 804 the additional triggers for reclassifying one or more tokens assigned to the capture class in the index to one or more classes of the further group of classes are used by the learning module if the corresponding tokens assigned to the capture class are from one of the data records in a combination with one or more the additional triggers are included and the corresponding additional triggers trigger a corresponding assignment to the one or more classes of the further group of classes in accordance with the corresponding additional trigger definition.

Beispielsweise kann das Verfahrens zum Ergänzen zusätzlicher Trigger-Definitionen einem rekursiven Schema folgend wiederholt ausgeführt werden. Die zu ergänzenden Trigger-Definitionen jeder Rekursionsstufe umfassen jeweils Ergänzungen einer Trigger-Definition einer vorangehenden Rekursionsstufe, sodass die rekursiven Ergänzungen Baumstrukturen bilden, welche jeweils eine der vorbestimmten Trigger-Definition als Wurzelknoten umfassen.For example, the method for adding additional trigger definitions can be carried out repeatedly following a recursive scheme. The trigger definitions to be added to each recursion level each include additions to a trigger definition of a preceding recursion level so that the recursive additions form tree structures which each include one of the predetermined trigger definition as a root node.

18 zeigt ein Flussdiagramm einer Ausführungsform eines exemplarischen Verfahrens zum Korrigieren von Trigger-Definitionen in Block. In Block 900 wird eine korrigierte Trigger-Definition zum Ersetzen einer der gespeicherten Trigger-Definitionen des Lernmoduls empfangen. Diese korrigierte Trigger-Definition wird beispielsweise von einem Administrator bereitgestellt. Nach alternativen Ausführungsformen wird die korrigierte Trigger-Definition von dem Lernmodul unter Verwendung eines statistischen Modells erstellt. In Block 902 wird die entsprechende gespeicherte Trigger-Definition durch die korrigierte Trigger-Definition ersetzt. In Block 904 erfolgt ein Reklassifizieren der unter Verwendung der entsprechenden gespeicherten Trigger-Definition klassifizierten Token, wobei das Reklassifizieren unter Verwendung der korrigierten Trigger-Definition erfolgt. 18th Figure 12 shows a flow diagram of one embodiment of an exemplary method for correcting trigger definitions in block. In block 900 a corrected trigger definition is received to replace one of the stored trigger definitions of the learning module. This corrected trigger definition is provided by an administrator, for example. According to alternative embodiments, the corrected trigger definition is created by the learning module using a statistical model. In block 902 the corresponding saved trigger definition is replaced by the corrected trigger definition. In block 904 the tokens classified using the corresponding stored trigger definition are reclassified, the reclassification taking place using the corrected trigger definition.

BezugszeichenlisteList of reference symbols

100100
ComputersystemComputer system
102102
SpeicherStorage
104104
QuelldatenbankSource database
106106
erstes Datenmodellfirst data model
108108
DatensätzeRecords
109109
TokenToken
110110
zweites Datenmodellsecond data model
111111
Klassegreat
112112
Indexindex
113113
Klassen-ZuordnungClass assignment
114114
Prozessorprocessor
115115
Zeigerpointer
116116
ProgramminstruktionenProgram instructions
117117
Trigger-ZuordnungTrigger assignment
118118
MM-DBMSMM-DBMS
119119
Zuordnung zu AuffangklasseAssignment to collection class
120120
LernmodulLearning module
121121
TriggerTrigger
122122
TokenisiererTokenizer
123123
Trigger-DefinitionenTrigger Definitions
124124
KlassifiziererClassifier
125125
statistische Modellstatistical model
126126
KommunikationsschnittstelleCommunication interface
130130
ErgänzungsdatensatzSupplementary data set
150150
PixelgruppePixel group
152152
Radiusradius
154154
Radiusradius
160160
NutzdatenPayload
162162
ZugriffszertifikatAccess certificate
164164
ZugriffszertifikatAccess certificate
166166
ZugriffszertifikatAccess certificate
168168
Nutzer-ZertifikatUser certificate
170170
verteiltes Datenbanksystemdistributed database system
172172
ID-DatenbankID database
174174
Nutzer-ZertifikatUser certificate
176176
Nutzer-ZertifikatUser certificate
200200
ComputersystemComputer system
202202
SpeicherStorage
204204
EmpfangsdatenbankReceive database
206206
erstes Datenmodellfirst data model
208208
DatensätzeRecords
209209
TokenToken
210210
zweites Datenmodellsecond data model
211211
Klassegreat
212212
Indexindex
213213
Klassen-ZuordnungClass assignment
214214
Prozessorprocessor
215215
Zeigerpointer
216216
ProgramminstruktionenProgram instructions
217217
Trigger-ZuordnungTrigger assignment
218218
MM-DBMSMM-DBMS
219219
Zuordnung zu AuffangklasseAssignment to collection class
220220
LernmodulLearning module
221221
TriggerTrigger
222222
TokenisiererTokenizer
223223
Trigger-DefinitionenTrigger Definitions
224224
KlassifiziererClassifier
225225
statistische Modellstatistical model
226226
KommunikationsschnittstelleCommunication interface
F1, ..., F8F1, ..., F8
FelderFields
DS1, ..., DS3DS1, ..., DS3
DatensätzeRecords
K1, ..., K6 K 1 , ..., K 6
Knotennode
D1, ..., D6 D 1 , ..., D 6
DatenData
I1, ..., I6 I 1 , ..., I 6
Indexindex
E(I1), E(I2)E (I 1 ), E (I 2 )
ErgänzungsdatensatzSupplementary data set

Claims (32)

Computerimplementiertes Verfahren zum Implementieren eines datenbankübergreifenden Index (112, 222) auf einem verteilten Datenbanksystem (170), welches eine Mehrzahl von eigenständigen Einzeldatenbanken (104, 204) umfasst, wobei die Einzeldatenbanken über ein Netzwerk (180) kommunikativ miteinander verbunden sind, wobei die Einzeldatenbanken jeweils von einem Multi-Modell-Datenbankmanagementsystem (118, 218) verwaltet werden, wobei die Einzeldatenbanken jeweils eine Mehrzahl datenbankindividueller Datensätze (108, 208) umfassen, welche in einem dokumentenorientierten ersten Datenmodell (106, 206) der jeweiligen Einzeldatenbank gespeichert sind, wobei die gespeicherten Datensätze jeweils ein oder mehreren Feldwerte umfassen, wobei die einzelnen Feldwerte der gespeicherten Datensätze jeweils in einem Feld (F1, ..., F8) gespeichert sind, wobei die Einzeldatenbanken ferner jeweils einen durchsuchbaren ersten Index (112, 212) umfassen, welcher in einem zweiten Datenmodell (110) der jeweiligen Einzeldatenbank gespeichert ist, wobei der Index der jeweiligen Einzeldatenbank eine Mehrzahl von aus den Feldwerten der in dem dokumentenorientierten Datenmodell der entsprechenden Einzeldatenbank gespeicherten Datensätze erzeugten Token (109, 209) umfasst, wobei die Token in dem Index jeweils mit einem oder mehreren Zeigern (115, 215) auf ein oder mehrere der in dem dokumentenorientierten Datenmodell der entsprechenden Einzeldatenbank gespeicherten Datensätze verknüpft ist, aus deren Feldwerten das entsprechende Token erzeugt wurde, wobei das Verfahren umfasst: • Empfangen eines zusätzlichen Datensatzes (108) durch eine erste Einzeldatenbank als Quelldatenbank (104) zum Ergänzen von Datensätze der Quelldatenbank, • Speichern des zusätzlichen Datensatzes, welcher ein oder mehrere zusätzliche Feldwerte umfasst, durch ein erstes Multi-Modell-Datenbankmanagementsystem (118) der Quelldatenbank in einem dokumentenorientierten ersten Datenmodell (106) der Quelldatenbank, • Anwenden einer Datenverarbeitungsfunktion der Quelldatenbank auf den zusätzlichen Datensatz, wobei die Datenverarbeitungsfunktion zumindest eine Indexierung des zusätzlichen Datensatzes zum Speichern in einem zweiten Datenmodell (110) der Quelldatenbank umfasst, wobei die Indexierung umfasst: ◯ Erzeugen von ein oder mehreren zusätzlichen Token (109) aus den zusätzlichen Feldwerten durch die Quelldatenbank, ◯ Ergänzen des Index (112) der Quelldatenbank durch das erste Multi-Modell-Datenbankmanagementsystem unter Verwendung der zusätzlichen Token und eines Zeigers (115) auf den zusätzlichen in dem dokumentenorientierten Datenmodell der Quelldatenbank gespeicherten Datensatz, • Erstellen eines aus dem Anwenden der Datenverarbeitungsfunktion resultierenden Ergänzungsdatensatzes (130), welcher die in dem Index der Quelldatenbank vorgenommenen Ergänzungen umfasst, zum Ergänzen zumindest eines zweiten Index zumindest einer zweiten Einzeldatenbank des verteilten Datenbanksystems als Empfangsdatenbank, • Senden des Ergänzungsdatensatzes über das Netzwerk an die zweite Einzeldatenbank zur Integration in den zweiten Index (212) der Empfangsdatenbank (204).Computer-implemented method for implementing a cross-database index (112, 222) on a distributed database system (170) which comprises a plurality of independent individual databases (104, 204), wherein the individual databases are communicatively connected to one another via a network (180), the individual databases are each managed by a multi-model database management system (118, 218), the individual databases each comprising a plurality of database-specific data records (108, 208) which are stored in a document-oriented first data model (106, 206) of the respective individual database, the stored data records each comprise one or more field values, the individual field values of the stored data records each being stored in a field (F1, ..., F8), the individual databases also each comprising a searchable first index (112, 212), which in a second data model (110) of the respective en individual database is stored, the index of the respective individual database being a plurality of tokens (109, 209) generated from the field values of the data records stored in the document-oriented data model of the corresponding individual database, the tokens in the index each having one or more pointers (115, 215) to one or more of the in the document-oriented data model of corresponding individual database stored data records is linked from whose field values the corresponding token was generated, the method comprising: • receiving an additional data record (108) by a first individual database as a source database (104) for supplementing data records of the source database, • saving the additional data record , which comprises one or more additional field values, by a first multi-model database management system (118) of the source database in a document-oriented first data model (106) of the source database, • applying a data processing function of the source database to the additional data record, the data processing The processing function comprises at least one indexing of the additional data set for storage in a second data model (110) of the source database, the indexing comprising: daten the source database generating one or more additional tokens (109) from the additional field values, ◯ supplementing the index (112 ) the source database by the first multi-model database management system using the additional tokens and a pointer (115) to the additional data set stored in the document-oriented data model of the source database, • creating a supplementary data set (130) resulting from the application of the data processing function, which the includes additions made in the index of the source database to add to at least one second index of at least one second individual database of the distributed database system as a receive database, sending the supplementary data set over the network to the second individual database for integration into the second index (212) of the receiving database (204). Computerimplementiertes Verfahren nach Anspruch 1, wobei das Ergänzen des Index umfasst: • Abgleichen der zusätzlichen Token mit dem Index der Quelldatenbank, • falls eines der zusätzlichen Token nicht von dem Index der Quelldatenbank umfasst ist, Ergänzen des entsprechenden zusätzlichen Tokens in dem Index der Quelldatenbank und Verknüpfen des entsprechenden zusätzlichen Tokens in dem Index mit dem Zeiger auf den zusätzlichen in dem dokumentenorientierten Datenmodell der Quelldatenbank gespeicherten Datensatz, • falls eines der zusätzlichen Token von dem Index der Quelldatenbank umfasst ist, Verknüpfen des entsprechenden zusätzlichen Tokens in dem Index der Quelldatenbank mit dem Zeiger auf den zusätzlichen in dem dokumentenorientierten Datenmodell der Quelldatenbank gespeicherten Datensatz.Computer-implemented method according to Claim 1 The supplementing of the index comprises: • Matching the additional tokens with the index of the source database, • If one of the additional tokens is not included in the index of the source database, supplementing the corresponding additional token in the index of the source database and linking the corresponding additional token in the index with the pointer to the additional data set stored in the document-oriented data model of the source database, if one of the additional tokens is included in the index of the source database, linking the corresponding additional token in the index of the source database with the pointer to the additional one in the document-oriented data model of the source database stored data record. Computerimplementiertes Verfahren nach einem der vorangehenden Ansprüche, wobei der Ergänzungsdatensatz von der Quelldatenbank über das Netzwerk an eine vordefinierte erste Gruppe von ein oder mehreren Einzeldatenbanken der Mehrzahl von Einzeldatenbank als Empfangsdatenbanken gesendet wird, welche die zweite Einzeldatenbank umfasst.Computer-implemented method according to one of the preceding claims, wherein the supplementary data set is sent from the source database via the network to a predefined first group of one or more individual databases of the plurality of individual databases as receive databases which the second individual database comprises. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 2, wobei der Ergänzungsdatensatz von der Quelldatenbank über das Netzwerk an alle weiteren von der Mehrzahl von Einzeldatenbanken umfassten Einzeldatenbanken als Empfangsdatenbanken gesendet wird.Computer-implemented method according to one of the Claims 1 to 2 , wherein the supplementary data set is sent from the source database via the network to all further individual databases comprised by the plurality of individual databases as receive databases. Computerimplementiertes Verfahren nach einem der vorangehenden Ansprüche, wobei eine vordefinierte zweite Gruppe von mehreren Einzeldatenbanken der Mehrzahl von Einzeldatenbank dazu konfiguriert ist, bei Empfang zusätzlicher Datensätze jeweils als eine Quelldatenbank zu fungieren.Computer-implemented method according to one of the preceding claims, wherein a predefined second group of a plurality of individual databases of the plurality of individual databases is configured to function as a source database in each case when additional data records are received. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 4, wobei alle Einzeldatenbanken der Mehrzahl von Einzeldatenbanken dazu konfiguriert sind, bei Empfang zusätzlicher Datensätze jeweils als eine Quelldatenbank zu fungieren.Computer-implemented method according to one of the Claims 1 to 4th , wherein all individual databases of the plurality of individual databases are configured to act as a source database when additional data records are received. Computerimplementiertes Verfahren nach einem der vorangehenden Ansprüche, wobei der Quelldatenbank ein Sensor zugeordnet ist, wobei der zusätzliche Datensatz von dem Sensor erfasste Sensordaten umfasst.Computer-implemented method according to one of the preceding claims, wherein a sensor is assigned to the source database, wherein the additional data set comprises sensor data acquired by the sensor. Computerimplementiertes Verfahren nach einem der vorangehenden Ansprüche, wobei jeder Einzeldatenbank der Mehrzahl von Einzeldatenbanken jeweils ein oder mehrere Sensoren zugeordnet sind, von welchen die jeweilige Einzeldatenbank jeweils erfasste Sensordaten in Form zusätzlicher Datensätze empfängt.Computer-implemented method according to one of the preceding claims, wherein each individual database of the plurality of individual databases is assigned one or more sensors, from which the respective individual database receives recorded sensor data in the form of additional data records. Computerimplementiertes Verfahren nach einem der vorangehenden Ansprüche, wobei die Datenverarbeitungsfunktion ferner ein Normalisieren der zusätzlichen Token im Zuge des Ergänzens des Index der Quelldatenbank umfasst.Computer-implemented method according to one of the preceding claims, wherein the data processing function further comprises normalizing the additional tokens in the course of adding to the index of the source database. Computerimplementiertes Verfahren nach Anspruch 9, wobei das Normalisieren die fünfte und/oder sechste Normalform erfüllt.Computer-implemented method according to Claim 9 , the normalization satisfying the fifth and / or sixth normal form. Computerimplementiertes Verfahren nach einem der vorangehenden Ansprüche, wobei die Datenverarbeitungsfunktion ferner ein Zuweisen von Rechten zum Verwalten und/oder Verarbeiten der Daten des zusätzlichen Datensatzes umfasst.Computer-implemented method according to one of the preceding claims, wherein the data processing function further comprises assigning rights to manage and / or process the data of the additional data set. Computerimplementiertes Verfahren nach Anspruch 11, wobei das erste Multi-Modell-Datenbankmanagementsystem einer der Quelldatenbank zugeordneten ersten Entität ein Eigner-Recht bezüglich des zusätzlichen Datensatz und/oder des Ergänzungsdatensatzes zuweist.Computer-implemented method according to Claim 11 , wherein the first multi-model database management system assigns an owner right with respect to the additional data record and / or the supplementary data record to a first entity assigned to the source database. Computerimplementiertes Verfahren nach Anspruch 12, wobei es sich bei der ersten Entität um einen ersten Nutzer der Quelldatenbank oder ein erstes der Quelldatenbank zugeordnetes Computersystem handelt.Computer-implemented method according to Claim 12 wherein the first entity is a first user of the source database or a first computer system assigned to the source database. Computerimplementiertes Verfahren nach einem der Ansprüche 11 bis 13, wobei als Bestandteil des zusätzlichen Datensatz und/oder des Ergänzungsdatensatzes Zugriffsberechtigungsnachweise (162, 164, 166) in der Quelldatenbank gespeichert werden, wobei die Zugriffsberechtigungsnachweise ein oder mehrere der folgenden Zugriffsberechtigungsnachweise umfassen: • ein Lesezugriffs-Berechtigungsnachweis (162), welcher einen lesenden Zugriff auf den Inhalt eines Datensatzes ermöglicht; • ein Schreibzugriffs- Berechtigungsnachweis (164), welcher modifizierenden Zugriff auf den Inhalt eines Datensatzes ermöglicht; • ein Indexzugriffs- Berechtigungsnachweis (166), welcher Kenntnis der Existenz des Datensatzes in der den Datensatz beinhaltenden Datenbank und einen lesenden Zugriff auf Metadaten des Datensatzes ermöglicht.Computer-implemented method according to one of the Claims 11 to 13 , wherein access authorization certificates (162, 164, 166) are stored in the source database as part of the additional data record and / or the supplementary data record, the access authorization certificates comprising one or more of the following access authorization certificates: allows on the content of a record; • a write access credential (164) that enables modifying access to the contents of a data set; An index access authorization certificate (166), which enables knowledge of the existence of the data record in the database containing the data record and read access to metadata of the data record. Computerimplementiertes Verfahren nach Anspruch 14, wobei als Bestandteil des zusätzlichen Datensatzes und/oder des Ergänzungsdatensatzes für die erste Entität ein Lesezugriffs-Berechtigungsnachweis (162), ein Schreibzugriffs-Berechtigungsnachweis (164) und ein Indexzugriffs-Berechtigungsnachweis (166) gespeichert werden.Computer-implemented method according to Claim 14 wherein a read access credential (162), a write access credential (164) and an index access credential (166) are stored as part of the additional data set and / or the supplementary data set for the first entity. Computerimplementiertes Verfahren nach einem der Ansprüche 11 bis 15, wobei ferner einer der Empfangsdatenbank zugeordnete zweite Entität ein Indexzugriffs-Berechtigungsnachweis (166) für den zusätzlichen Datensatz zugeordnet wird.Computer-implemented method according to one of the Claims 11 to 15th wherein a second entity associated with the receive database is further associated with an index access credential (166) for the additional record. Computerimplementiertes Verfahren nach Anspruch 16, wobei es sich bei der zweiten Entität um einen zweiten Nutzer der Empfangsdatenbank oder ein zweites der Empfangsdaten zugeordnetes Computersystem handelt.Computer-implemented method according to Claim 16 , wherein the second entity is a second user of the receive database or a second computer system assigned to the receive data. Computerimplementiertes Verfahren nach einem der Ansprüche 16 bis 17, wobei eine Voraussetzung für das Senden des Ergänzungsdatensatzes an die Empfangsdatenbank eine erfolgreiche Prüfung ist, dass der zweiten Entität ein Indexzugriffs-Berechtigungsnachweis für den Ergänzungsdatensatz zugeordnet ist.Computer-implemented method according to one of the Claims 16 to 17th wherein a prerequisite for sending the supplementary data record to the receiving database is a successful check that the second entity is assigned an index access authorization for the supplementary data record. Computerimplementiertes Verfahren nach einem der vorangehenden Ansprüche, wobei die Datenverarbeitungsfunktion ferner ein Klassifizieren der aus dem zusätzlichen Datensatz erzeugten Token umfasst.The computer-implemented method according to one of the preceding claims, wherein the data processing function further comprises classifying the tokens generated from the additional data set. Computerimplementiertes Verfahren nach Anspruch 19, wobei die Quelldatenbank für das Klassifizieren ein vortrainierten Lernmoduls (120) zum maschinellen Lernen umfasst, wobei das vortrainierte Lernmodul eine Mehrzahl von vorbestimmten Trigger-Definitionen (123) umfasst, welche Trigger (121) für ein Zuordnen von Token zu Klassen einer ersten Gruppe von Klassen definieren, wobei erste Token in dem Index der Quelldatenbank, welche von einer der Trigger-Definitionen der Quelldatenbank als Trigger umfasst sind, jeweils der entsprechen Trigger-Definition zugeordnet sind, wobei zweite Token in dem Index der Quelldatenbank jeweils ein oder mehreren Klassen der ersten Gruppe von Klassen zugeordnet sind, wobei das Klassifizieren umfasst: • falls eines oder mehrere erste zusätzliche Token von einer der Trigger-Definitionen als Trigger umfasst sind, Identifizieren des entsprechenden Tokens als Trigger durch das Lernmodul, • Verwenden der identifizierten Trigger zum Zuordnen von ein oder mehreren zweiten zusätzlichen Token zu ein oder mehreren Klassen der ersten Gruppe von Klassen durch das Lernmodul, falls die entsprechenden zweiten zusätzlichen Token von dem zusätzliche Datensatz in einer Kombination mit ein oder mehreren der identifizierten Trigger gemäß einer der Trigger-Definitionen umfasst sind, wobei die entsprechenden Trigger gemäß der entsprechenden Trigger-Definition eine entsprechende Klassenzuordnung triggern, wobei das Ergänzen des Index durch das erste Multi-Modell-Datenbankmanagementsystem unter Verwendung der Klassenzuordnungen der zusätzlichen Token erfolgt.Computer-implemented method according to Claim 19 , wherein the source database for the classification comprises a pre-trained learning module (120) for machine learning, wherein the pre-trained learning module comprises a plurality of predetermined trigger definitions (123) which triggers (121) for assigning tokens to classes of a first group of Define classes, with first tokens in the index of the source database, which are included in one of the trigger definitions of the source database as a trigger, are each assigned to the corresponding trigger definition, with second tokens in the index of the source database each one or more classes of the first Group of classes are assigned, wherein the classifying comprises: • if one or more first additional tokens are included as a trigger by one of the trigger definitions, the learning module identifies the corresponding token as a trigger, • using the identified triggers for assigning one or more several second additional tokens to one or more Kla ssen the first group of classes by the learning module if the corresponding second additional tokens are included in the additional data record in a combination with one or more of the identified triggers according to one of the trigger definitions, the corresponding triggers according to the corresponding trigger definition a trigger corresponding class assignment, the addition of the index by the first multi-model database management system using the class assignments of the additional tokens. Computerimplementiertes Verfahren nach Anspruch 20, wobei verbleibende Token, welche weder den Trigger-Definition noch ein oder mehreren Klassen der ersten Gruppe von Klassen zugeordnet sind, in dem Index der Quelldatenbank zum Kennzeichnen der entsprechenden verbleibenden Token als unbekannte Daten einer Auffangklasse zugeordnet sind, wobei die Zuordnung zu der Auffangklasse eine Zuordnung zu einer der Trigger-Definitionen ebenso wie eine Zuordnung zu einer der Klassen der ersten Gruppe von Klassen ausschließt, wobei das Klassifizieren ferner umfasst: • Zuordnen der verbleibenden zusätzlichen Token, für welche keine Zuordnung zu einer der Trigger-Definitionen und keine Klassenzuordnung aufgrund einer der Trigger-Definitionen erfolgt ist, zu der Auffangklasse.Computer-implemented method according to Claim 20 , with remaining tokens that are not assigned to either the trigger definition or one or more classes of the first group of classes in the index of the source database for identifying the corresponding remaining tokens as unknown data being assigned to a collection class, the assignment to the collection class being a Assignment to one of the trigger definitions as well as an assignment to one of the classes of the excludes first group of classes, wherein the classification further comprises: Assigning the remaining additional tokens, for which no assignment to one of the trigger definitions and no class assignment has been made based on one of the trigger definitions, to the collection class. Computerimplementiertes Verfahren nach einem der Ansprüche 20 bis 21, wobei, falls eines der zusätzlichen Token nicht von dem Index umfasst ist, das Ergänzen des entsprechenden zusätzlichen Tokens unter seinen Klassenzuordnungen in dem Index erfolgt, und, falls eine der Klassenzuordnungen eines von dem Index umfassten zusätzlichen Tokens von dem Index nicht umfasst ist, ein Ergänzen der entsprechenden Klassenzuordnung mit dem entsprechenden zusätzlichen Token in dem Index und Verknüpfen des entsprechenden zusätzlichen Tokens in dem Index mit dem Zeiger auf den zusätzlichen in dem dokumentenorientierten Datenmodell gespeicherten Datensatz erfolgt.Computer-implemented method according to one of the Claims 20 to 21st wherein, if one of the additional tokens is not included in the index, the corresponding additional token is supplemented under its class assignments in the index, and if one of the class assignments of an additional token included in the index is not included in the index Supplementing the corresponding class assignment with the corresponding additional token in the index and linking the corresponding additional token in the index with the pointer to the additional data record stored in the document-oriented data model takes place. Computerimplementiertes Verfahren nach einem der vorangehenden Ansprüche, wobei die Zeiger, mit denen die Token in dem Index verknüpft gespeichert sind, jeweils auf ein oder mehrere der Feldwerte in den gespeicherten Datensätze verweisen.The computer-implemented method according to any one of the preceding claims, wherein the pointers with which the tokens are stored linked in the index each refer to one or more of the field values in the stored data records. Computerimplementiertes Verfahren nach einem der vorangehenden Ansprüche, wobei die Feldwerte des zusätzlichen Datensatzes Textdaten, Bilddaten, Audiodaten und/oder Videodaten umfassen.Computer-implemented method according to one of the preceding claims, wherein the field values of the additional data record include text data, image data, audio data and / or video data. Computerimplementiertes Verfahren nach einem der vorangehenden Ansprüche, wobei das Erzeugen der Token ein Anwenden einer Tokenisierungslogik (122) auf die Feldwerte des zusätzlichen Datensatzes umfasst, welche einen Volltextindizierer umfasst, der dazu konfiguriert ist, Texte in Wörter zu zerlegen und die Wörter als Token auszugeben.A computer-implemented method according to any one of the preceding claims, wherein generating the tokens comprises applying tokenization logic (122) to the field values of the additional data set which comprises a full-text indexer configured to break text into words and to output the words as tokens. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 24, wobei das Erzeugen der Token ein Anwenden einer Tokenisierungslogik (122) auf die Feldwerte des zusätzlichen Datensatzes umfasst, welche einen generischen Tokenisierer umfasst, der dazu konfiguriert ist, in den Feldwerten Daten unterschiedlichen Datentyps zu erkennen und aus diesen Token in unterschiedlichen Datentypen zu erzeugen.Computer-implemented method according to one of the Claims 1 to 24 wherein generating the tokens comprises applying tokenization logic (122) to the field values of the additional data record, which logic comprises a generic tokenizer which is configured to recognize data of different data types in the field values and to generate from these tokens in different data types. Computerimplementiertes Verfahren nach einem der vorangehenden Ansprüche, wobei es sich zumindest bei dem von dem Multi-Modell-Datenbankmanagementsystem zum Speichern der Datensätze verwendeten dokumentenbasierten Datenmodellen um ein NoSQL-Datenmodellen handelt.Computer-implemented method according to one of the preceding claims, wherein at least the document-based data model used by the multi-model database management system for storing the data sets is a NoSQL data model. Computerimplementiertes Verfahren nach einem der vorangehenden Ansprüche, wobei das maschinelle Lernen konfiguriert ist für eine Datenextraktion, Konsistenzprüfung, Bilderkennung, Spracherkennung, Sprachsteuerung, Vorrichtungsüberwachung und/oder autonome Vorrichtungssteuerung.Computer-implemented method according to one of the preceding claims, wherein the machine learning is configured for data extraction, consistency checking, image recognition, speech recognition, voice control, device monitoring and / or autonomous device control. Computerimplementiertes Verfahren nach einem der vorangehenden Ansprüche, wobei das Verfahren ferner umfasst: • Empfangen eines von einer dritten Einzeldatenbank als zusätzlicher Quelldatenbank erzeugten weiteren Ergänzungsdatensatzes durch die erste Einzeldatenbank über das Netzwerk, wobei der weitere Ergänzungsdatensatz in einem Index der zusätzlichen Quelldatenbank vorgenommenen Ergänzungen umfasst, • Integrieren des weiteren Ergänzungsdatensatzes in den Index der ersten Einzeldatenbank, wobei das Integrieren ein Ergänzen des entsprechenden Index umfasst, bei welchem ◯ ein Abgleichen von Token des weiteren Ergänzungsdatensatzes mit dem Index der Quelldatenbank, ◯ falls eines der Token des weiteren Ergänzungsdatensatzes nicht von dem Index der Quelldatenbank umfasst ist, Ergänzen des entsprechenden Tokens in dem Index der Quelldatenbank und Verknüpfen des entsprechenden Tokens in dem Index mit einem Zeiger auf den in einem dokumentenorientierten Datenmodell der zusätzlichen Quelldatenbank gespeicherten Datensatz, aus welchem das entsprechende Token erzeugt wurde, ◯ falls eines der Token des weiteren Ergänzungsdatensatzes von dem Index der Quelldatenbank umfasst ist, Verknüpfen des entsprechenden Tokens in dem Index der Quelldatenbank mit dem Zeiger auf den in einem dokumentenorientierten Datenmodell der zusätzlichen Quelldatenbank gespeicherten Datensatz, aus welchem das entsprechende Token erzeugt wurde.The computer-implemented method of any of the preceding claims, the method further comprising: Receipt of a further supplementary data record generated by a third individual database as an additional source database by the first individual database via the network, the further supplementary data record comprising additions made in an index of the additional source database, • Integrating the further supplementary data set into the index of the first individual database, the integration comprising supplementing the corresponding index in which ◯ a comparison of tokens of the further supplementary data set with the index of the source database, ◯ if one of the tokens of the further supplementary data set is not included in the index of the source database, supplementing the corresponding token in the index of the source database and linking the corresponding token in the index with a pointer to the data set stored in a document-oriented data model of the additional source database to which the corresponding token was generated, ◯ if one of the tokens of the additional supplementary data set is included in the index of the source database, linking the corresponding token in the index of the source database with the pointer to the data set stored in a document-oriented data model of the additional source database from which the corresponding token was generated. Computerimplementiertes Verfahren nach einem der vorangehenden Ansprüche, wobei das Verfahren ferner umfasst: • Empfangen einer Suchanfrage durch erste Einzeldatenbank, wobei die Suchanfrage einen oder mehrere Suchwerte beinhaltet, • Durchsuchen des Index der ersten Einzeldatenbank nach dem Suchwert, • Identifizieren ein oder mehrerer Token innerhalb des Index, welche mit einem oder mehreren der Suchwerte übereinstimmen, • Zurückgeben einer Antwort auf die Suchanfrage, wobei die Antwort zumindest umfasst: eine Angabe über die identifizierten Token, ein oder mehrere durch Analysieren von Zeigern, mit denen die identifizierte Token verknüpft sind, bestimmten Datensätze oder ein oder mehreren Referenzen auf die bestimmten Datensätze.The computer-implemented method of any of the preceding claims, the method further comprising: • Receipt of a search query by the first individual database, the search query containing one or more search values, • Searching the index of the first individual database for the search value, • Identify one or more tokens within the index that match one or more of the search values, Returning a response to the search query, the response comprising at least: an indication of the identified tokens, one or more specific data records or one or more references to the specific data records obtained by analyzing pointers with which the identified tokens are associated. Quellcomputersystem (100) zum Implementieren eines datenbankübergreifenden Index (112, 222) auf einem verteilten Datenbanksystem (170), welches eine das Quellcomputersystem umfassende Mehrzahl von Computersystemen (100, 200) mit jeweils einer eigenständigen Einzeldatenbank (104, 204) umfasst, wobei die Computersysteme mit den Einzeldatenbanken über ein Netzwerk (180) kommunikativ miteinander verbunden sind, wobei die Computersysteme ferner jeweils ein oder mehrere Prozessoren (114, 214), ein oder mehrere Datenspeichermedien (102, 202), auf welchen die jeweilige Einzeldatenbank bereitgestellt wird, eine Kommunikationsschnittstelle (126, 226) zur Kommunikation über das Netzwerk sowie eine Programmlogik (116, 216) umfassen, wobei die Einzeldatenbanken jeweils von einem Multi-Modell-Datenbankmanagementsystem (118, 218) verwaltet werden, wobei die Einzeldatenbanken jeweils eine Mehrzahl datenbankindividueller Datensätze (108, 208) umfassen, welche in einem dokumentenorientierten ersten Datenmodell (106, 206) der jeweiligen Einzeldatenbank gespeichert sind, wobei die gespeicherten Datensätze jeweils ein oder mehreren Feldwerte umfassen, wobei die einzelnen Feldwerte der gespeicherten Datensätze jeweils in einem Feld (F1, ..., F8) gespeichert sind, wobei die Einzeldatenbanken ferner jeweils einen durchsuchbaren ersten Index (112, 212) umfassen, welcher in einem zweiten Datenmodell (110) der jeweiligen Einzeldatenbank gespeichert ist, wobei der Index der jeweiligen Einzeldatenbank eine Mehrzahl von aus den Feldwerten der in dem dokumentenorientierten Datenmodell der entsprechenden Einzeldatenbank gespeicherten Datensätze erzeugten Token (109, 209) umfasst, wobei die Token in dem Index jeweils mit einem oder mehreren Zeigern (115, 215) auf ein oder mehrere der in dem dokumentenorientierten Datenmodell der entsprechenden Einzeldatenbank gespeicherten Datensätze verknüpft ist, aus deren Feldwerten das entsprechende Token erzeugt wurde, wobei die Programmlogik (116) des Quellcomputersystems zum Ausführen eines Verfahrens zum Implementieren eines datenbankübergreifenden Index konfiguriert ist, wobei das Verfahren umfasst: • Empfangen eines zusätzlichen Datensatzes (108) durch eine erste Einzeldatenbank als Quelldatenbank (104) zum Ergänzen von Datensätze der Quelldatenbank, • Speichern des zusätzlichen Datensatzes, welcher ein oder mehrere zusätzliche Feldwerte umfasst, durch ein erstes Multi-Modell-Datenbankmanagementsystem (118) der Quelldatenbank in einem dokumentenorientierten ersten Datenmodell (106) der Quelldatenbank, • Anwenden einer Datenverarbeitungsfunktion der Quelldatenbank auf den zusätzlichen Datensatz, wobei die Datenverarbeitungsfunktion zumindest eine Indexierung des zusätzlichen Datensatzes zum Speichern in einem zweiten Datenmodell (110) der Quelldatenbank umfasst, wobei die Indexierung umfasst: ◯ Erzeugen von ein oder mehreren zusätzlichen Token (109) aus den zusätzlichen Feldwerten durch die Quelldatenbank, ◯ Ergänzen des Index (112) der Quelldatenbank durch das erste Multi-Modell-Datenbankmanagementsystem unter Verwendung der zusätzlichen Token und eines Zeigers (115) auf den zusätzlichen in dem dokumentenorientierten Datenmodell der Quelldatenbank gespeicherten Datensatz, • Erstellen eines aus dem Anwenden der Datenverarbeitungsfunktion resultierenden Ergänzungsdatensatzes (130), welcher die in dem Index der Quelldatenbank vorgenommenen Ergänzungen umfasst, zum Ergänzen zumindest eines zweiten Index zumindest einer zweiten Einzeldatenbankdes verteilten Datenbanksystems als Empfangsdatenbank, • Senden des Ergänzungsdatensatzes über das Netzwerk an die zweite Einzeldatenbank zur Integration in den zweiten Index (212) der Empfangsdatenbank (204).Source computer system (100) for implementing a cross-database index (112, 222) on a distributed database system (170) which comprises a plurality of computer systems (100, 200) comprising the source computer system, each with an independent individual database (104, 204), the computer systems are communicatively connected to the individual databases via a network (180), the computer systems also having one or more processors (114, 214), one or more data storage media (102, 202) on which the respective individual database is provided, a communication interface ( 126, 226) for communication via the network and a program logic (116, 216), the individual databases each being managed by a multi-model database management system (118, 218), the individual databases each having a plurality of database-specific data records (108, 208 ), which in a document-oriented first date n model (106, 206) of the respective individual database are stored, the stored data records each comprising one or more field values, the individual field values of the stored data records each being stored in a field (F1, ..., F8), the individual databases also each comprise a searchable first index (112, 212) which is stored in a second data model (110) of the respective individual database, the index of the respective individual database being a plurality of the field values of the document-oriented data model of the corresponding individual database includes generated tokens (109, 209), the tokens in the index being linked to one or more pointers (115, 215) to one or more of the data records stored in the document-oriented data model of the corresponding individual database, the corresponding token was generated from their field values, the program logic (116) of the source computer system being configured to execute a method for implementing a cross-database index, the method comprising: receiving an additional data record (108) by a first individual database as the source database (104 ) for supplementing data records of the source database, • storing the additional data record, which includes one or more additional field values, by a first multi-model database management system (118) of the source database in a document-oriented first data model (106) of the source l database, • applying a data processing function of the source database to the additional data set, wherein the data processing function comprises at least one indexing of the additional data set for storage in a second data model (110) of the source database, wherein the indexing comprises: ◯ generating one or more additional tokens (109 ) from the additional field values by the source database, ◯ supplementing the index (112) of the source database by the first multi-model database management system using the additional tokens and a pointer (115) to the additional data set stored in the document-oriented data model of the source database, Creation of a supplementary data record (130) resulting from the use of the data processing function, which comprises the supplements made in the index of the source database, for supplementing at least one second index of at least one second individual database of the distributed database system a As a receiving database, sending the supplementary data set via the network to the second individual database for integration into the second index (212) of the receiving database (204). Verteiltes Datenbanksystem (170) zum Implementieren eines datenbankübergreifenden Index (112, 222) auf dem verteilten Datenbanksystem, welches eine das Mehrzahl von Computersystemen mit jeweils einer eigenständigen Einzeldatenbank umfasst, wobei die Computersysteme mit den Einzeldatenbanken über ein Netzwerk kommunikativ miteinander verbunden sind, wobei die Computersysteme ferner jeweils ein oder mehrere Prozessoren (114, 214), ein oder mehrere Datenspeichermedien (102, 202), auf welchen die jeweilige Einzeldatenbank bereitgestellt wird, eine Kommunikationsschnittstelle (126, 226) zur Kommunikation über das Netzwerk sowie eine Programmlogik (116, 216) umfassen, wobei die Einzeldatenbanken jeweils von einem Multi-Modell-Datenbankmanagementsystem (118, 218) verwaltet werden, wobei die Einzeldatenbanken jeweils eine Mehrzahl datenbankindividueller Datensätze (108, 208) umfassen, welche in einem dokumentenorientierten ersten Datenmodell (106, 206) der jeweiligen Einzeldatenbank gespeichert sind, wobei die gespeicherten Datensätze jeweils ein oder mehreren Feldwerte umfassen, wobei die einzelnen Feldwerte der gespeicherten Datensätze jeweils in einem Feld (F1, ..., F8) gespeichert sind, wobei die Einzeldatenbanken ferner jeweils einen durchsuchbaren ersten Index (112, 212) umfassen, welcher in einem zweiten Datenmodell (110) der jeweiligen Einzeldatenbank gespeichert ist, wobei der Index der jeweiligen Einzeldatenbank eine Mehrzahl von aus den Feldwerten der in dem dokumentenorientierten Datenmodell der entsprechenden Einzeldatenbank gespeicherten Datensätze erzeugten Token (109, 209) umfasst, wobei die Token in dem Index jeweils mit einem oder mehreren Zeigern (115, 215) auf ein oder mehrere der in dem dokumentenorientierten Datenmodell der entsprechenden Einzeldatenbank gespeicherten Datensätze verknüpft ist, aus deren Feldwerten das entsprechende Token erzeugt wurde, wobei die Programmlogik jeweils zum Ausführen eines Verfahrens zum Implementieren eines datenbankübergreifenden Index durch das die Programmlogik ausführende Computersystem der Mehrzahl von Computersystemen konfiguriert ist, welches als ein Quellcomputersystem (100) fungiert, wobei das Verfahren umfasst: • Empfangen eines zusätzlichen Datensatzes (108) durch eine erste Einzeldatenbank als Quelldatenbank (104) zum Ergänzen von Datensätze der Quelldatenbank, • Speichern des zusätzlichen Datensatzes, welcher ein oder mehrere zusätzliche Feldwerte umfasst, durch ein erstes Multi-Modell-Datenbankmanagementsystem (118) der Quelldatenbank in einem dokumentenorientierten ersten Datenmodell (106) der Quelldatenbank, • Anwenden einer Datenverarbeitungsfunktion der Quelldatenbank auf den zusätzlichen Datensatz, wobei die Datenverarbeitungsfunktion zumindest eine Indexierung des zusätzlichen Datensatzes zum Speichern in einem zweiten Datenmodell (110) der Quelldatenbank umfasst, wobei die Indexierung umfasst: ◯ Erzeugen von ein oder mehreren zusätzlichen Token (109) aus den zusätzlichen Feldwerten durch die Quelldatenbank, ◯ Ergänzen des Index (112) der Quelldatenbank durch das erste Multi-Modell-Datenbankmanagementsystem unter Verwendung der zusätzlichen Token und eines Zeigers (115) auf den zusätzlichen in dem dokumentenorientierten Datenmodell der Quelldatenbank gespeicherten Datensatz, • Erstellen eines aus dem Anwenden der Datenverarbeitungsfunktion resultierenden Ergänzungsdatensatzes (130), welcher die in dem Index der Quelldatenbank vorgenommenen Ergänzungen umfasst, zum Ergänzen zumindest eines zweiten Index zumindest einer zweiten Einzeldatenbank des verteilten Datenbanksystems als Empfangsdatenbank, • Senden des Ergänzungsdatensatzes über das Netzwerk an die zweite Einzeldatenbank zur Integration in den zweiten Index (212) der Empfangsdatenbank (204).Distributed database system (170) for implementing a cross-database index (112, 222) on the distributed database system, which comprises one of the plurality of computer systems, each with an independent individual database, the computer systems with the individual databases being communicatively connected to one another via a network, wherein the computer systems furthermore each have one or more processors (114, 214), one or more data storage media (102, 202) on which the respective individual database is provided, a communication interface (126, 226) for communication via the network and a program logic (116 , 216) include, the individual databases each being managed by a multi-model database management system (118, 218), the individual databases each comprising a plurality of database-specific data records (108, 208) which are stored in a document-oriented first data model (106, 206) of the respective individual database , the stored data records each comprising one or more field values, the individual field values of the stored data records each being stored in a field (F1, ..., F8), wherein the individual databases each further comprise a searchable first index (112, 212) which is stored in a second data model (110) of the respective individual database, the index of the respective individual database being a plurality of the field values in the document-oriented data model of the corresponding individual database stored data records includes generated tokens (109, 209), the tokens in the index each being linked to one or more pointers (115, 215) to one or more of the data records stored in the document-oriented data model of the corresponding individual database, from whose field values the corresponding Token has been generated, wherein the program logic is each configured to execute a method for implementing a cross-database index by the computer system executing the program logic of the plurality of computer systems, which acts as a source computer system (100), the method comprising t: • Receipt of an additional data record (108) by a first individual database as a source database (104) for adding data records to the source database, • Saving the additional data record, which comprises one or more additional field values, by a first multi-model database management system (118) of the source database in a document-oriented first data model (106) of the source database, • Applying a data processing function of the source database to the additional data record, the data processing function comprising at least one indexing of the additional data record for storage in a second data model (110) of the source database, the indexing comprising: ◯ Generation of one or more additional tokens (109) from the additional field values by the source database, ◯ Supplementing the index (112) of the source database by the first multi-model database management system using the additional tokens and a pointer (115) to the additional data set stored in the document-oriented data model of the source database, • Creation of a supplementary data record (130) resulting from the use of the data processing function, which comprises the additions made in the index of the source database, for supplementing at least one second index of at least one second individual database of the distributed database system as a receive database, • Sending the supplementary data set via the network to the second individual database for integration in the second index (212) of the receiving database (204).
DE102019108856.9A 2019-04-04 2019-04-04 Cross-database index on a distributed database system Pending DE102019108856A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102019108856.9A DE102019108856A1 (en) 2019-04-04 2019-04-04 Cross-database index on a distributed database system
EP20716739.6A EP3948576A1 (en) 2019-04-04 2020-03-31 Cross-database index in a distributed database system
PCT/EP2020/059041 WO2020201248A1 (en) 2019-04-04 2020-03-31 Cross-database index in a distributed database system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019108856.9A DE102019108856A1 (en) 2019-04-04 2019-04-04 Cross-database index on a distributed database system

Publications (1)

Publication Number Publication Date
DE102019108856A1 true DE102019108856A1 (en) 2020-10-08

Family

ID=70165999

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019108856.9A Pending DE102019108856A1 (en) 2019-04-04 2019-04-04 Cross-database index on a distributed database system

Country Status (3)

Country Link
EP (1) EP3948576A1 (en)
DE (1) DE102019108856A1 (en)
WO (1) WO2020201248A1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19627472A1 (en) * 1996-07-08 1998-01-15 Ser Systeme Ag Database system
US20090210429A1 (en) * 2008-02-19 2009-08-20 Yahoo! Inc. System and method for asynchronous update of indexes in a distributed database
US9984110B2 (en) * 2014-08-21 2018-05-29 Dropbox, Inc. Multi-user search system with methodology for personalized search query autocomplete
DE102016226338A1 (en) * 2016-12-30 2018-07-05 Bundesdruckerei Gmbh Bit sequence based data classification system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LI, Tingli, et al. A storage solution for massive iot data based on nosql. In: International Conference on Green Computing and Communications. IEEE, 2012. S. 50-57. DOI: 10.1109/GreenCom.2012.18 *
WU, Sai, et al. Efficient B-tree based indexing for cloud data processing. Proceedings of the VLDB Endowment, 2010, 3. Jg., Nr. 1-2, S. 1207-1218. DOI: 10.14778/1920841.1920991 *

Also Published As

Publication number Publication date
WO2020201248A1 (en) 2020-10-08
EP3948576A1 (en) 2022-02-09

Similar Documents

Publication Publication Date Title
DE102013209868B4 (en) Querying and integrating structured and unstructured data
DE112011103273B4 (en) Method, computer program product and device for passing on identities across application levels using context-dependent assignment and set values
EP1779263A1 (en) Speech and textual analysis device and corresponding method
EP3563261B1 (en) Bit-sequence-based data classification system
CN111680153A (en) Big data authentication method and system based on knowledge graph
EP3948577A1 (en) Automated machine learning on the basis of stored data
EP3552141B1 (en) Server computer system for providing datasets
EP4133761A2 (en) Monitoring system with multistage request verification
EP3552140B1 (en) Database index comprising multiple fields
WO2020201248A1 (en) Cross-database index in a distributed database system
EP3539044B1 (en) Access control for data objects
WO2022101156A1 (en) List-based data storage for data search
DE102019108858A1 (en) Machine learning based on trigger definitions
Hui et al. Analysis of decision tree classification algorithm based on attribute reduction and application in criminal behavior
EP3580908B1 (en) Access management system for exporting data sets
Ushakov Information technology of Big Data in crime detection, investigation, and prevention. Theoretical and applied analysis of individual prospects and application problems
Seufitelli et al. Exploring the intersection between databases and digital forensics
DE102021117711A1 (en) Integration of distributed machine learning models
DE102021117710A1 (en) Machine learning based on database operations
EP4133768A1 (en) Microcontroller- or microprocessor-based system with authorization verification for requests
Zhifang et al. Research on airworthiness management system and personalized information service of civil aviation
DE102020125598A1 (en) Data processing system for restricted data and processes
CN117609991A (en) Operation interception method, apparatus, device, storage medium, and program product
ˈHuang Binwen Research on Airworthiness Management System and Personalized Information Service of Civil Aviation
DE102008036061A1 (en) System for knowledge management of two users, comprises user identification unit which provides user with control of its personal access authorization entrance for system, where user data bank is stored in user personal information

Legal Events

Date Code Title Description
R012 Request for examination validly filed