DE102019108856A1 - Cross-database index on a distributed database system - Google Patents
Cross-database index on a distributed database system Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/319—Inverted lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, 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.
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.
- • 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),
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),
The normalization criteria increase from normal form to normal form and each include the normalization criteria of the previous normal forms,
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.
- • 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
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
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
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.
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.
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.
- • 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.
- • 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.
- • 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.
- 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.
- • 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.
- • 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.
- • 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.
- • 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.
- • 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.
-
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.
Ferner umfasst das Computersystem
Das Computersystem
Vorzugsweise werden sämtliche oder zumindest die meisten Feldwerte sämtlicher Datensätze
Im Zuge der Erzeugung des Index
Empfängt die Einzeldatenbank
In
In Block
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
Auf dieselbe Weise können auch einer dritten Entität Zugriffs-Rechte in Bezug auf den Datensatz
Soll ein Zugriff auf Token in einem Index erfolgen, welche aus dem Datensatz
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.
Zum Zugriff auf den Index der Quelldatenbank
Das MM-DBMS
Bei der Generierung des Index
Im Zuge der Erzeugung des Index
In einem dokumentenbasierten Datenmodell
Die beiden Token „wohnt in der“ und „in“ werden als Trigger gemäß der Trigger-Definition
Empfängt die Datenbank einen zweiten Datensatz
Die beiden Token „wohnt in der“ und „in“ werden als Trigger gemäß der Trigger-Definition
Mithin werden alle Token des zweiten Datensatzes
In einem dokumentenbasierten Datenmodell
Die beiden Token „+“ und x" werden als Trigger
Die als Trigger
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
Dabei kann das Ergänzen in Block
Zudem kann das Ergänzen in Block
In Block
In Block
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.
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)
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)
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 |
-
2019
- 2019-04-04 DE DE102019108856.9A patent/DE102019108856A1/en active Pending
-
2020
- 2020-03-31 WO PCT/EP2020/059041 patent/WO2020201248A1/en unknown
- 2020-03-31 EP EP20716739.6A patent/EP3948576A1/en active Pending
Non-Patent Citations (2)
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 |