WO2007098817A1 - Method for securing the data consistency of interdependent data - Google Patents
Method for securing the data consistency of interdependent data Download PDFInfo
- Publication number
- WO2007098817A1 WO2007098817A1 PCT/EP2006/069902 EP2006069902W WO2007098817A1 WO 2007098817 A1 WO2007098817 A1 WO 2007098817A1 EP 2006069902 W EP2006069902 W EP 2006069902W WO 2007098817 A1 WO2007098817 A1 WO 2007098817A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- derived
- value
- name
- weight
- Prior art date
Links
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
Definitions
- the invention relates to a method for securing the data consistency of interdependent data, in which an explicit modeling of dependencies between data takes place in order to detect inconsistencies in dependent data after changes to their basic data or to restore the consistency immediately.
- the object underlying the invention is now to provide a method for securing the data consistency of interdependent data, in which the above-mentioned disadvantages are avoided.
- the invention is that, in contrast to the conventional method for ensuring data consistency, dependencies and optional derivation rules are deposited in the data in a decentralized manner, which does not require a higher-level acquisition and management system and makes it possible to process data stocks that are not shared by all Systems are known.
- the latter means that the derived data can be arbitrarily added to the database by individual systems without the other systems involved or an entire system having to interpret this data. This is possible because the data is almost responsible for updating itself.
- the inclusion of a transaction timestamp also allows precise control over the data to be calculated and avoids redundant evaluations. With the help of the methods described above, it can be seen at any time whether data values are valid or invalid.
- the optional description of the derivation rules allows the data values to be recalculated.
- Figure 1 is a representation for explaining a first
- FIG. 2 is an illustration for explaining a second exemplary embodiment in which dependencies are stored based on the derived data
- Figure 3 is a representation for explaining a third
- Embodiment in which dependencies are stored both on the basis of basic data and on the basis of the derived data.
- Modeling dependencies between data In contrast to the previous solution, no superordinate overall system is necessary to manage these dependencies, but these dependencies are stored directly in the affected data. The validity of values is determined either at the time of changing base data via a note in the dependent data structures or by comparing transaction time stamps in the individual data. Unlike a normal timestamp, a transaction timestamp is each assigned for a set of consistent data changes, i. All data with an identical transaction timestamp is guaranteed to be consistent with each other and underlying data, that is, data on which the considered data is dependent, with an older transaction timestamp. If there is a dependency between two dates and the date of the underlying data is younger than the derived date, then the consistency of the derived date must be checked.
- the optional Derivation rule that describes how the derived data is calculated from the base data. This allows an automatic calculation of the derived data.
- the invention is based on a data structure which, in addition to the actual data, has the following components: 1. a validity mark and / or a
- BMI body mass index
- Weight classification refers to the BMI and uses a table to determine the classification in underweight, normal weight, overweight, etc.
- the dependencies are stored here starting from the basic data.
- any changes to the dependency baseline data will identify all derived data-recursively identifying data dependent on derived base date data.
- any change to a base date informs all dependent data that it is based on invalid values. This can e.g. This is done by setting a simple Boolean "switch" that is part of the data, so that when derived data is accessed, its validity can be determined to ensure that each value in the system is known to be valid.
- This method can be used if only the validity of values has to be determined. An update of the derived data can then be system-dependent.
- Step 1 represents the initial situation in which the dependencies are formulated from the basic data Bl and B2 to the derived data A.
- the dependent values WA must be marked as invalid, for example, with the aid of a validation switch G, as can be seen in steps 2a and 2b.
- the first application checks according to the procedure before each read whether the data is still valid. When trying to read the weight classification attribute, the first application determines that this value is no longer valid and must trigger a recalculation.
- each datum must also include a timestamp or a transaction timestamp T, as shown in step 1 of FIG. If changes are now made to the basic data B1 or B2, this change, as can be seen from step 2, is not propagated to derived data. In this method, the base data need no knowledge of dependent data. In addition, the transaction ⁇ timestamp T to the base date is updated. The values of the derived data are not consistent at this time to their basic data, since their change has not yet been adopted. The amount of data is temporarily in an inconsistent state. Assuming that consistent data is always expected when reading the data, an adjustment must be made at the latest when accessing the derived data.
- the derivative value V must be used to determine the current value of the derived date.
- the current transaction timestamp must be set. This transaction timestamp may also correspond to the transaction timestamp of the most recent change to the base data.
- the current value of the date is known and documented to which level of the basic data the calculated value is consistent. This can be seen in FIG. 2 in step 3.
- This method can be usefully applied to large amounts of data with rather few accesses to the derived data.
- the depth of dependencies between the data or their interconnectedness should be rather low in order to ensure an efficient update.
- Application 1 now wants to read the value of the weight classification attribute and now has to check the validity. It tracks the dependencies via the attribute BMI up to the basic attributes size and weight. For the base attribute Weight Application 1 determines that the time stamp is newer than the weight attribute to be read and must now trigger a recalculation. First, the attribute BMI is recalculated from bottom to top according to the rule stored there, and then according to its rule the attribute weight classification. Application 1 then saves the newly calculated data as follows:
- This procedure is a combination of the previous two procedures.
- the dependencies are stored here starting from the basic data and the derived data.
- the derivation rules are also stored in the derived data.
- step 1 the double is
- a variant of this embodiment is that the data are not marked as invalid, but are recalculated immediately, so that the data is always up-to-date and consistent.
- Application 2 changes the value of the Weight attribute and additionally identifies the tree that has become invalid:
- Application 1 now wants to read the value of the attribute BMI and first checks the validity of the value by means of the Valid property of the attribute. Because the attribute BMI is invalid, it must be recalculated starting from the base values using the calculation rule stored in the Formula property. Application 1 writes back the new date and updates record 5 as follows:
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The invention is substantially characterized in that, contrary to the conventional method for securing data consistency, dependencies and optional derivation regulations are stored in the data in a decentralized manner such that no prioritary detection and managemanet system is required thereby permitting the processing of data stocks which are not known to all participating systems. The latter means that the derived data can be added at will from any individual systems without the need that the other participating systems or a global system have to interpret said data. This is made possible due to the fact that the data are quasi themselves responsible for their actualisation. The integration of a transaction time stamp also enables a precise control of the data to be calculated and prevents redundant evaluations. It is obvious at any time with the aid of the above-mentioned methods, whether data values are valid or invalid. Due to the optional description of the derivation regulations, the data values can be recalculated.
Description
Beschreibungdescription
Verfahren zur Sicherung der Datenkonsistenz von voneinander abhängigen DatenMethod for securing the data consistency of interdependent data
Die Erfindung betrifft ein Verfahren zur Sicherung der Datenkonsistenz von voneinander abhängigen Daten, bei dem eine explizite Modellierung der Abhängigkeiten zwischen Daten erfolgt, um Inkonsistenzen bei abhängigen Daten nach Änderungen an deren Basisdaten zu erkennen oder sogleich die Konsistenz wiederherzustellen.The invention relates to a method for securing the data consistency of interdependent data, in which an explicit modeling of dependencies between data takes place in order to detect inconsistencies in dependent data after changes to their basic data or to restore the consistency immediately.
Das Problem der abhängigen Daten wird momentan gelöst, indem verlangt wird, dass dem Gesamtsystem alle Daten und deren Abhängigkeiten bekannt sind und direkten Zugriff auf alleThe problem of dependent data is currently solved by requiring that the entire system knows all the data and its dependencies and has direct access to all
Daten hat. Im Falle der Änderung der Basisdaten werden dann alle abhängigen Daten durch dieses globale System aktualisiert. Die Abhängigkeitsbeschreibungen und Änderungsvorschriften werden also global verwaltet. In Datenbanksystemen werden beispielsweise so genannteHas data. If the base data changes then all dependent data will be updated by this global system. The dependency descriptions and change specifications are therefore managed globally. In database systems, for example, so-called
Trigger definiert, die diese Aktualisierung im Falle der Änderung von Basisdaten vornehmen. Für jeden Typ oder jede Instanz eines Basisdatums wird damit zentral die notwendige Aktualisierungsfunktionalität definiert. Das setzt jedoch die Kenntnis aller Daten und ihrer Abhängigkeiten voraus.Defined triggers that make this update in case of changing base data. For each type or instance of a base date, the required updating functionality is defined centrally. However, this requires the knowledge of all data and their dependencies.
Falls sich nun ein Datum ändert, müssen alle davon abgeleiteten Daten ebenfalls geändert werden, um die Datenkonsistenz innerhalb dieses Datensatzes zu erhalten.If a date changes, all data derived from it must also be changed to preserve data consistency within that data set.
Eine zusätzliche Problematik ergibt sich, wenn mehrere Systeme auf einen gemeinsamen Datenbestand zugreifen, diesen jedoch systemspezifisch erweitern können. In diesem Fall werden proprietäre Daten, d.h. Daten die nur ein System interpretieren kann, mit Daten vermengt, die allen Systemen bekannt sind. Es ist dabei ebenfalls möglich, dass Abhängigkeiten zwischen den proprietären und den gemeinsamen
Daten bestehen, die ebenfalls bei Änderungen an den Basisdaten zu Inkonsistenzen führen können.An additional problem arises when multiple systems access a common database, but this can expand system-specific. In this case, proprietary data, ie data that only one system can interpret, is mixed with data known to all systems. It is also possible that dependencies between the proprietary and the common Data exists which can also lead to inconsistencies when changes are made to the basic data.
Die der Erfindung zu Grunde liegende Aufgabe besteht nun darin, ein Verfahren zur Sicherung der Datenkonsistenz von voneinander abhängigen Daten anzugeben, bei dem die oben genannten Nachteile vermieden werden.The object underlying the invention is now to provide a method for securing the data consistency of interdependent data, in which the above-mentioned disadvantages are avoided.
Diese Aufgabe wird erfindungsgemäß durch die Merkmale des Patentanspruchs 1 erfindungsgemäß gelöst.This object is achieved by the features of claim 1 according to the invention.
Die weiteren Ansprüche betreffen vorteilhafte Ausgestaltungen des erfindungsgemäßen Verfahrens .The further claims relate to advantageous embodiments of the method according to the invention.
Die Erfindung besteht im Wesentlichen darin, dass, im Gegensatz zum herkömmlichen Verfahren zur Sicherung der Datenkonsistenz Abhängigkeiten und optionale Ableitungsvorschriften dezentral in den Daten hinterlegt werden, wodurch kein übergeordnetes Erfassungs- und Verwaltungssystem notwendig ist und die Verarbeitung von Datenbeständen ermöglicht wird, die nicht allen beteiligten Systemen bekannt sind. Letzteres bedeutet, die abgeleiteten Daten können von einzelnen Systemen beliebig zum Datenbestand hinzugefügt werden, ohne dass die anderen beteiligten Systeme oder ein Gesamtsystem diese Daten interpretieren muss. Dies wird dadurch ermöglicht, dass die Daten quasi selbst für ihre Aktualisierung verantwortlich sind. Die Einbeziehung eines Transaktionszeitstempels erlaubt außerdem eine genaue Kontrolle über die zu berechnenden Daten und vermeidet redundante Auswertungen. Mit Hilfe der oben beschriebenen Verfahren ist jederzeit ersichtlich, ob Datenwerte gültig oder ungültig sind. Durch die optionale Beschreibung der Ableitungsvorschriften können die Datenwerte neu berechnet werden .Essentially, the invention is that, in contrast to the conventional method for ensuring data consistency, dependencies and optional derivation rules are deposited in the data in a decentralized manner, which does not require a higher-level acquisition and management system and makes it possible to process data stocks that are not shared by all Systems are known. The latter means that the derived data can be arbitrarily added to the database by individual systems without the other systems involved or an entire system having to interpret this data. This is possible because the data is almost responsible for updating itself. The inclusion of a transaction timestamp also allows precise control over the data to be calculated and avoids redundant evaluations. With the help of the methods described above, it can be seen at any time whether data values are valid or invalid. The optional description of the derivation rules allows the data values to be recalculated.
Im Folgenden wird die Erfindung anhand von bevorzugten Ausführungsbeispielen näher erläutert. Dabei zeigt
Figur 1 eine Darstellung zur Erläuterung eines erstenThe invention will be explained in more detail below on the basis of preferred exemplary embodiments. It shows Figure 1 is a representation for explaining a first
Ausführungsbeispiels, bei dem Abhängigkeiten von den Basisdaten ausgehend abgelegt werden,Embodiment in which dependencies are stored based on the basic data,
Figur 2 eine Darstellung zur Erläuterung eines zweiten Ausführungsbeispiels, bei dem Abhängigkeiten von den abgeleiteten Daten ausgehend abgelegt werden undFIG. 2 is an illustration for explaining a second exemplary embodiment in which dependencies are stored based on the derived data and
Figur 3 eine Darstellung zur Erläuterung eines drittenFigure 3 is a representation for explaining a third
Ausführungsbeispiels, bei dem Abhängigkeiten sowohl ausgehend von Basisdaten als auch ausgehend von den abgeleiteten Daten abgelegt werden.Embodiment in which dependencies are stored both on the basis of basic data and on the basis of the derived data.
Die Voraussetzung, um Inkonsistenzen bei abhängigen Daten nach Änderungen an deren Basisdaten zu erkennen oder sogleich die Konsistenz wiederherzustellen, ist eine expliziteThe prerequisite for detecting inconsistencies in dependent data after changes to their basic data or immediately restoring consistency is an explicit one
Modellierung der Abhängigkeiten zwischen Daten. Im Gegensatz zur bisherigen Lösung ist dabei kein übergeordnetes Gesamtsystem notwendig, das diese Abhängigkeiten verwaltet, sondern diese Abhängigkeiten werden direkt in den betroffenen Daten abgelegt. Die Gültigkeit von Werten wird entweder zum Zeitpunkt der Änderung von Basisdaten über einen Vermerk in den abhängigen Datenstrukturen oder über einen Vergleich von Transaktionszeitstempeln in den einzelnen Daten ermittelt. Im Gegensatz zu einem normalen Zeitstempel wird ein Transaktionszeitstempel jeweils für eine Menge an konsistenten Datenänderungen vergeben, d.h. alle Daten mit einem identischen Transaktionszeitstempel sind garantiert konsistent zueinander und zu unterliegenden Daten, also Daten, von denen die betrachteten Daten abhängig sind, mit einem älteren Transaktionszeitstempel. Besteht eine Abhängigkeit zwischen zwei Daten und das Datum der unterliegenden Daten ist jünger als das abgeleitete Datum, dann muss die Konsistenz des abgeleiteten Datums überprüft werden .Modeling dependencies between data. In contrast to the previous solution, no superordinate overall system is necessary to manage these dependencies, but these dependencies are stored directly in the affected data. The validity of values is determined either at the time of changing base data via a note in the dependent data structures or by comparing transaction time stamps in the individual data. Unlike a normal timestamp, a transaction timestamp is each assigned for a set of consistent data changes, i. All data with an identical transaction timestamp is guaranteed to be consistent with each other and underlying data, that is, data on which the considered data is dependent, with an older transaction timestamp. If there is a dependency between two dates and the date of the underlying data is younger than the derived date, then the consistency of the derived date must be checked.
Falls nicht nur die Konsistenz von Daten überprüft werden soll, kann darüber hinaus optional auch die
Ableitungsvorschrift hinterlegt werden, die beschreibt, wie die abgeleiteten Daten aus den Basisdaten berechnet werden. Damit ist eine automatische Berechnung der abgeleiteten Daten möglich .In addition, if not only the consistency of data is to be checked, the optional Derivation rule that describes how the derived data is calculated from the base data. This allows an automatic calculation of the derived data.
Die Erfindung basiert auf einer Datenstruktur, die neben den eigentlichen Daten folgende Komponenten aufweist: 1. eine Gültigkeitsmarkierung und/oder einenThe invention is based on a data structure which, in addition to the actual data, has the following components: 1. a validity mark and / or a
Transaktions zeit Stempel 2. AbhängigkeitsbeschreibungenTransaction time stamp 2. Dependency descriptions
3. optional Ableitungsvorschriften3. optional derivation rules
Falls Berechnungsvorschriften nur ausgehend von den Basisdaten zu den abgeleiteten Daten formuliert werden, können nur Basisdaten geändert werden. Dies muss durchIf calculation rules are formulated based only on the base data for the derived data, only basic data can be changed. This must go through
Kennzeichnung oder Zugriffsmechanismen sichergestellt werden. Die direkte Modifikation von abgeleiteten Daten ist dann erlaubt, wenn die Berechnungsvorschriften bidirektional abgelegt werden, d.h. auch bekannt ist, wie sich ein Basisdatum aus dem abgeleiteten Datum ergibt. Daraus ergeben sich dann weitere Bedingungen an die Verfahren, die im Folgenden nicht gesondert berücksichtigt werden.Labeling or access mechanisms are ensured. The direct modification of derived data is allowed when the calculation rules are bidirectionally filed, i. It is also known how a base date results from the derived date. This then results in additional conditions for the procedures, which will not be considered separately below.
Je nach den Anforderungen im System kann dabei eines der folgenden drei Verfahren angewandt werden. Dabei wird ein Beispiel verwendet, welches aus einer Gewichtsangabe und einer Größenangabe den Body-Mass-Index (BMI) berechnet, aus dem dann eine Einstufung in eine Gewichtsklassifikation erfolgt. Der BMI berechnet sich aus dem Gewicht in Kilogramm geteilt durch die Größe in Metern zum Quadrat. DieDepending on the requirements in the system, one of the following three methods can be used. Here, an example is used, which calculates the body mass index (BMI) from a weight specification and a size specification, from which then a classification into a weight classification takes place. The BMI is calculated from the weight in kilograms divided by the size in meters squared. The
Gewichtsklassifikation bezieht sich auf den BMI und ermittelt über eine Tabelle die Einstufung in Untergewicht, Normalgewicht, Übergewicht, usw.Weight classification refers to the BMI and uses a table to determine the classification in underweight, normal weight, overweight, etc.
Zu den im Folgenden dargestellten Ausführungsbeispielen sind jeweils zum besseren Verständnis Umsetzungsbeispiele in XML angegeben. Diese Beispiele sind bewusst sehr einfach gehalten
bzw. es gibt weitaus komplexere Anwendungsfälle, bspw. hinsichtlich der Art der Referenzierung, der Ablage der Zeitstempel oder der Darstellung der Berechnungsvorschriften.For the exemplary embodiments illustrated below, examples of implementation in XML are given for better understanding. These examples are deliberately kept very simple or there are far more complex applications, for example with regard to the type of referencing, the storage of the time stamp or the presentation of the calculation rules.
Ausführungsbeispiel 1Embodiment 1
Die Abhängigkeiten werden hier ausgehend von den Basisdaten abgelegt .The dependencies are stored here starting from the basic data.
In diesem Fall werden bei Änderungen an den Basisdaten über die Abhängigkeiten alle abgeleiteten Daten identifiziert - es müssen rekursiv auch von abgeleiteten Daten des Basisdatums abhängige Daten identifiziert werden. Zur Feststellung der Inkonsistenz werden bei einer Änderung eines Basisdatums alle abhängigen Daten darüber informiert, dass sie auf ungültigen Werten basieren. Dies kann z.B. durch das Setzen eines einfachen booleschen „Schalters" erfolgen, der Bestandteil der Daten ist . Wird auf abgeleitete Daten zugegriffen, so ist damit ihre Gültigkeit feststellbar. Damit ist sichergestellt, dass für jeden Wert im System seine Gültigkeit bekannt ist.In this case, any changes to the dependency baseline data will identify all derived data-recursively identifying data dependent on derived base date data. To determine the inconsistency, any change to a base date informs all dependent data that it is based on invalid values. This can e.g. This is done by setting a simple Boolean "switch" that is part of the data, so that when derived data is accessed, its validity can be determined to ensure that each value in the system is known to be valid.
Dieses Verfahren kann verwendet werden, wenn lediglich die Gültigkeit von Werten ermittelt werden muss. Eine Aktualisierung der abgeleiteten Daten kann dann systemabhängig erfolgen.This method can be used if only the validity of values has to be determined. An update of the derived data can then be system-dependent.
In Figur 1 wird dieses Verfahren schrittweise gezeigt. Schritt 1 stellt die Ausgangssituation dar, bei der die Abhängigkeiten ausgehend von den Basisdaten Bl und B2 zu den abgeleiteten Daten A formuliert werden. Bei einer Änderung eines Basiswertes W2 müssen die abhängigen Werte WA entsprechend bspw. mit Hilfe eines Gültigkeitsschalter G als ungültig gekennzeichnet werden, wie in Schritt 2a und 2b zu sehen ist .In Figure 1, this method is shown step by step. Step 1 represents the initial situation in which the dependencies are formulated from the basic data Bl and B2 to the derived data A. When a base value W2 changes, the dependent values WA must be marked as invalid, for example, with the aid of a validation switch G, as can be seen in steps 2a and 2b.
Einfaches Umsetzungsbeispiel hierzu in XML
Es gibt zwei Applikationen, die auf einem gemeinsamen Datensatz arbeiten. Die Applikationen sollen bei dem gemeinsamen Zugriff feststellen können, ob die Daten aktuell sind. Die erste Applikation erstellt folgenden Datensatz:Simple implementation example in XML There are two applications that work on a common record. The applications should be able to determine if the data is up-to-date during shared access. The first application creates the following data record:
<?xml version="1.0" encoding="UTF-8"?> <Dataset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Dependency.xsd"> <Baseattribute Name="Größe" Valid="true"> <Value>190</Value><? xml version = "1.0" encoding = "UTF-8"?> <Dataset xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi: noNamespaceSchemaLocation = "Dependency.xsd"> <Baseattributes Name = "Size" Valid = "true"> <Value> 190 </ Value>
<BaseToDependencyRef Target="BMI"/> </Basisattribute> <Basisattribute Name="Gewicht" Valid="true"><BaseToDependencyRef Target = "BMI" /> </ Base Attributes> <Base Attributes Name = "Weight" Valid = "true">
<Value>80<Λ/alue> <BaseToDependencyRef Target="BMI"/><Value> 80 <Λ / alue> <BaseToDependencyRef Target = "BMI" />
</Basisattribute></ Basic attributes>
<Attribute Name="BMI" Valid="true"> <Value>22<Λ/alue><Attribute Name = "BMI" Valid = "true"> <Value> 22 <Λ / alue>
<BaseToDependencyRef Target="Gewichtsklassifikation"/> <Formula>b/aΛ2</Formula><BaseToDependencyRef Target = "Weight Classification"/><Formula> b / a Λ 2 </ Formula>
</Attribute></ Attributes>
<Attribute Name="Gewichtsklassifikation" Valid="true"> <Value>Normalgewicht<Λ/alue><Attribute Name = "Weight Classification" Valid = "true"> <Value> Normal Weight <Λ / alue>
<Formula>look up in table: <20=Untergewicht; 20-25=Normalgewicht; 26-30=Übergewicht; ...</Formula><Formula> look up in table: <20 = underweight; 20-25 = normal weight; 26-30 = overweight; ... </ Formula>
</Attribute> </Dataset></ Attributes> </ dataset>
Die zweite Applikation ändert nun das Basisattribut Gewicht und wendet das in 1 beschriebene Vorgehen an. Dadurch ändern sich die Daten wie folgt:The second application now changes the base attribute Weight and applies the procedure described in 1. This will change the data as follows:
<?xml version="1.0" encoding="UTF-8"?> <Dataset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Dependency.xsd"> < Baseattribute Name="Größe" Valid="true"> <Value>190</Value>
<BaseToDependencyRef Target="BMI"/> </ Baseattribute> < Baseattribute Name="Gewicht" Valid="true"><? xml version = "1.0" encoding = "UTF-8"?><Dataset xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi: noNamespaceSchemaLocation = "Dependency.xsd"><Baseattributes Name = "Size" Valid = "true"><Value> 190 </ Value> <BaseToDependencyRef Target = "BMI"/></Baseattributes><Baseattributes Name = "Weight" Valid = "true">
<Value>100</Value> <BaseToDependencyRef Target="BMI"/><Value> 100 </ Value> <BaseToDependencyRef Target = "BMI" />
</ Baseattribute></ Baseattributes>
<Attribute Name="BMI" Valid="false"> <Value>22<Λ/alue><Attribute Name = "BMI" Valid = "false"> <Value> 22 <Λ / alue>
<BaseToDependencyRef Target="Gewichtsklassifikation"/> <Formula>b/aΛ2</Formula><BaseToDependencyRef Target = "Weight Classification"/><Formula> b / a Λ 2 </ Formula>
</Attribute></ Attributes>
<Attribute Name="Gewichtsklassifikation" Valid="false"> <Value>Normalgewicht<Λ/alue><Attribute Name = "Weight Classification" Valid = "false"> <Value> Normal Weight <Λ / alue>
<Formula>look up in table: <20=Untergewicht; 20-25=Normalgewicht; 26-30=Übergewicht; ...</Formula><Formula> look up in table: <20 = underweight; 20-25 = normal weight; 26-30 = overweight; ... </ Formula>
</Attribute> </Dataset></ Attributes> </ dataset>
Die erste Applikation prüft nach dem Vorgehen vor jedem lesen, ob die Daten noch gültig sind. Bei dem Versuch das Attribut Gewichtsklassifikation zu lesen stellt die erste Applikation fest, dass dieser Wert nicht mehr gültig ist und muss eine Neuberechung anstoßen.The first application checks according to the procedure before each read whether the data is still valid. When trying to read the weight classification attribute, the first application determines that this value is no longer valid and must trigger a recalculation.
Ausführungsbeispiel 2Embodiment 2
Die Abhängigkeiten R und evtl. eine Ableitungsvorschrift V werden in den abgeleiteten Daten abgelegt. Jedes Datum muss darüber hinaus ebenfalls einen Zeitstempel bzw. einen Transaktions-Zeitstempel T beinhalten, wie in Schritt 1 von Figur 2 gezeigt ist. Falls nun Änderungen an den Basisdaten Bl oder B2 vorgenommen werden, wird diese Änderung, wie aus Schritt 2 ersichtlich, nicht an abgeleitete Daten propagiert. Bei diesem Verfahren benötigen die Basisdaten keine Kenntnis über abhängige Daten. Zusätzlich wird der Transaktions¬ zeitstempel T des Basisdatums aktualisiert. Die Werte der abgeleiteten Daten sind zu diesem Zeitpunkt nicht konsistent
zu ihren Basisdaten, da deren Änderung noch nicht übernommen wurde. Die Datenmenge befindet sich also vorübergehend in einem inkonsistenten Zustand. Unter der Voraussetzung, dass beim Lesen des Datenbestandes immer konsistente Daten erwartet werden, muss eine Anpassung also spätestens beim Zugriff auf die abgeleiteten Daten erfolgen. In diesem Fall werden anhand der Abhängigkeitsbeschreibungen a bzw. b des abgeleiteten Datums sämtliche Basisdaten bestimmt, was sich rekursiv über mehrere Ebenen erstrecken kann. Soll nur die Gültigkeit des aktuellen Wertes überprüft werden, so genügt eine Analyse der Transaktionszeitstempel T der Basisdaten. Sind deren Transaktionszeitstempel älter oder genauso alt wie der Transaktionszeitstempel des abgeleiteten Datums A, so ist dessen Wert gültig und kann gegebenenfalls direkt verwendet werden.The dependencies R and possibly a derivation rule V are stored in the derived data. In addition, each datum must also include a timestamp or a transaction timestamp T, as shown in step 1 of FIG. If changes are now made to the basic data B1 or B2, this change, as can be seen from step 2, is not propagated to derived data. In this method, the base data need no knowledge of dependent data. In addition, the transaction ¬ timestamp T to the base date is updated. The values of the derived data are not consistent at this time to their basic data, since their change has not yet been adopted. The amount of data is temporarily in an inconsistent state. Assuming that consistent data is always expected when reading the data, an adjustment must be made at the latest when accessing the derived data. In this case, based on dependency descriptions a or b of the derived date, all base data is determined, which may extend recursively over several levels. If only the validity of the current value is to be checked, an analysis of the transaction time stamps T of the basic data is sufficient. If their transaction timestamps are older or the same age as the transaction timestamps of the derived date A, their value is valid and can be used directly if necessary.
Soll nicht nur die Gültigkeit überprüft werden, so muss nun anhand der Ableitungsvorschriften V der aktuelle Wert des abgeleiteten Datums bestimmt werden. Zusätzlich muss der aktuelle Transaktionszeitstempel gesetzt werden. Dieser Transaktionszeitstempel kann auch dem Transaktionszeitstempel der letzten Änderung an den Basisdaten entsprechen. Damit ist der aktuelle Wert des Datums bekannt und dokumentiert, zu welchem Stand der Basisdaten der berechnete Wert konsistent ist. Dies ist in Figur 2 in Schritt 3 zu sehen.If not only the validity is to be checked, then the derivative value V must be used to determine the current value of the derived date. In addition, the current transaction timestamp must be set. This transaction timestamp may also correspond to the transaction timestamp of the most recent change to the base data. Thus, the current value of the date is known and documented to which level of the basic data the calculated value is consistent. This can be seen in FIG. 2 in step 3.
Dieses Verfahren kann sinnvoll bei großen Datenmengen mit eher wenigen Zugriffen auf die abgeleiteten Daten angewandt werden. Die Tiefe der Abhängigkeiten zwischen den Daten bzw. ihre Vernetzung sollte eher gering sein, um eine effiziente Aktualisierung zu gewährleisten.This method can be usefully applied to large amounts of data with rather few accesses to the derived data. The depth of dependencies between the data or their interconnectedness should be rather low in order to ensure an efficient update.
Einfaches Umsetzungsbeispiel hierzu in XMLSimple implementation example in XML
Es gibt wieder zwei Applikationen, die auf einem gemeinsamen Datenbestand arbeiten. Applikation 1 erzeugt folgenden Datensatz :
<?xml version="1.0" encoding="UTF-8"?> <Dataset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Dependency.xsd">There are again two applications that work on a common database. Application 1 generates the following data record: <? xml version = "1.0" encoding = "UTF-8"?><Dataset xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi: noNamespaceSchemaLocation = "Dependency.xsd">
< Baseattribute Name="Größe" Timestamp="T1 "> <Value>190</Value><Baseattributes Name = "Size" Timestamp = "T1"> <Value> 190 </ Value>
</ Baseattribute></ Baseattributes>
< Baseattribute Name="Gewicht" Timestamp="T1 "><Baseattributes Name = "Weight" Timestamp = "T1">
<Value>80<Λ/alue> </ Baseattribute> <Attribute Name="BMI" Timestamp="T1 "> <Value>22<Λ/alue><Value> 80 <Λ / alue> </ Baseattributes> <Attribute Name = "BMI" Timestamp = "T1"> <Value> 22 <Λ / alue>
<DependencyToBaseRef Name="a" Target="Größe"/> <DependencyToBaseRef Name="b" Target="Gewicht"/> <Formula>b/aΛ2</Formula> </Attribute><DependencyToBaseRef Name = "a" Target = "Size"/><DependencyToBaseRef Name = "b" Target = "Weight"/><Formula> b / a Λ 2 </ Formula></Attributes>
<Attribute Name="Gewichtsklassifikation" Timestamp="T1 "> <Value>Normalgewicht<Λ/alue> <DependencyToBaseRef Name="String" Target="BMI7><Attribute Name = "Weight Classification" Timestamp = "T1"> <Value> Normal Weight <Λ / alue> <DependencyToBaseRef Name = "String" Target = "BMI7>
<Formula>look up in table: <20=Untergewicht; 20-25=Normalgewicht; 26-30=Übergewicht; ...</Formula><Formula> look up in table: <20 = underweight; 20-25 = normal weight; 26-30 = overweight; ... </ Formula>
</Attribute> </Dataset></ Attributes> </ dataset>
Applikation 2 ändert nun das Basisattribut Gewicht und setzt dabei den Transaktionszeitstempel entsprechend:Application 2 now changes the base attribute Weight and sets the transaction time stamp accordingly:
<?xml version="1.0" encoding="UTF-8"?> <Dataset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Dependency.xsd"> < Baseattribute Name="Größe" Timestamp="T1 "><? xml version = "1.0" encoding = "UTF-8"?> <Dataset xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi: noNamespaceSchemaLocation = "Dependency.xsd"> <Base attributes name = "size" timestamp = "T1">
<Value>190</Value> </ Baseattribute><Value> 190 </ Value> </ Baseattributes>
< Baseattribute Name="Gewicht" Timestamp="T2"><Baseattributes Name = "Weight" Timestamp = "T2">
<Value>100</Value> </ Baseattribute><Value> 100 </ Value> </ Baseattributes>
Attribute Name="BMI" Timestamp="T1 "> <Value>22<Λ/alue>
<DependencyToBaseRef Name="a" Target="Größe"/> <DependencyToBaseRef Name="b" Target="Gewicht"/> <Formula>b/aΛ2</Formula> </Attribute> <Attribute Name="Gewichtsklassifikation" Timestamp="T1 "> <Value>Normalgewicht<Λ/alue> <DependencyToBaseRef Name="String" Target="BMI"/>Attributes Name = "BMI" Timestamp = "T1"><Value> 22 <Λ / alue> <DependencyToBaseRef Name = "a" Target = "Size"/><DependencyToBaseRef Name = "b" Target = "Weight"/><Formula> b / a Λ 2 </ Formula></Attribute><Attribute Name = "Weight Classification "Timestamp =" T1 "><Value> Normal weight <Λ / alue><DependencyToBaseRef Name =" String "Target =" BMI "/>
<Formula>look up in table: <20=Untergewicht; 20-25=Normalgewicht; 26-30=Übergewicht; ...</Formula> </Attribute> </Dataset><Formula> look up in table: <20 = underweight; 20-25 = normal weight; 26-30 = overweight; ... </ Formula> </ attributes> </ dataset>
Applikation 1 will nun den Wert des Attributs Gewichtsklassifikation lesen und muss dafür nun die Gültigkeit überprüfen. Dazu verfolgt es die Abhängigkeiten über das Attribut BMI bis zu den Basisattributen Größe und Gewicht. Bei dem Basisattribut Gewicht stellt Applikation 1 fest, dass der Zeitstempel neuer ist, als bei dem zu lesenden Attribut Gewichtsklassifikation und muss nun eine Neuberechnung anstoßen. Zuerst wird von unten nach oben nach der dort abgelegten Vorschrift das Attribut BMI neu berechnet, und dann nach dessen Vorschrift das Attribut Gewichtsklassifikation. Applikation 1 speichert die neu berechneten Daten dann wie folgt :Application 1 now wants to read the value of the weight classification attribute and now has to check the validity. It tracks the dependencies via the attribute BMI up to the basic attributes size and weight. For the base attribute Weight Application 1 determines that the time stamp is newer than the weight attribute to be read and must now trigger a recalculation. First, the attribute BMI is recalculated from bottom to top according to the rule stored there, and then according to its rule the attribute weight classification. Application 1 then saves the newly calculated data as follows:
<?xml version="1.0" encoding="UTF-8"?> <Dataset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Dependency.xsd"><? xml version = "1.0" encoding = "UTF-8"?> <Dataset xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi: noNamespaceSchemaLocation = "Dependency.xsd">
< Baseattribute Name="Größe" Timestamp="T1 "> <Value>190</Value><Baseattributes Name = "Size" Timestamp = "T1"> <Value> 190 </ Value>
</ Baseattribute></ Baseattributes>
< Baseattribute Name="Gewicht" Timestamp="T2"><Baseattributes Name = "Weight" Timestamp = "T2">
<Value>100</Value> </ Baseattribute> Attribute Name="BMI" Timestamp="T3"> <Value>28<Λ/alue> <DependencyToBaseRef Name="a" Target="Größe"/>
<DependencyToBaseRef Name="b" Target="Gewicht"/><Value> 100 </ Value></Baseattributes> Attributes Name = "BMI" Timestamp = "T3"><Value> 28 <Λ / alue><DependencyToBaseRef Name = "a" Target = "Size"/> <DependencyToBaseRef Name = "b" Target = "Weight"/>
<Formula>b/aΛ2</Formula> </Attribute><Formula> b / a Λ 2 </ Formula></attributes>
<Attribute Name="Gewichtsklassifikation" Timestamp="T3"> 5 <Value>Übergewichtgewicht</Value><Attribute Name = "Weight Classification" Timestamp = "T3"> 5 <Value> Overweight </ Value>
<DependencyToBaseRef Name="String" Target="BMI"/><DependencyToBaseRef Name = "String" Target = "BMI" />
<Formula>look up in table: <20=Untergewicht; 20-25=Normalgewicht; 26-30=Übergewicht; ...</Formula> </Attribute> l o </Dataset><Formula> look up in table: <20 = underweight; 20-25 = normal weight; 26-30 = overweight; ... </ Formula> </ attributes> l o </ dataset>
Ausführunqsbeispiel 3Embodiment 3
Bei diesem Verfahren handelt es sich um eine Kombination der 15 beiden vorherigen Verfahren. Die Abhängigkeiten werden hier ausgehend von den Basisdaten und den abgeleiteten Daten hinterlegt. Zusätzlich werden noch die Ableitungsvorschriften in den abgeleiteten Daten hinterlegt .This procedure is a combination of the previous two procedures. The dependencies are stored here starting from the basic data and the derived data. In addition, the derivation rules are also stored in the derived data.
20 In Figur 3 ist in Schritt 1 die doppelteIn FIG. 3, in step 1, the double is
Abhängigkeitsmodellierung ersichtlich. Bei Änderung der Basisdaten werden die Änderungen hierbei, wie im ersten Verfahren, an die abgeleiteten Daten propagiert und dort lediglich vermerkt, dass der momentane Wert zu denDependency modeling. When the basic data is changed, the changes are propagated to the derived data as in the first method, where they are only noted that the current value belongs to the
25 Basiswerten nicht konsistent ist, was in Figur 3 in Schritt 2 ersichtlich ist. Beim Zugriff auf die abgeleiteten Daten wird dann deren Gültigkeit anhand dieses Vermerks geprüft und anschließend gemäß des zweiten Verfahrens vorgegangen. Falls der Wert gültig ist kann er sofort verwendet werden,25 base values is not consistent, which can be seen in Figure 3 in step 2. When accessing the derived data, their validity is then checked on the basis of this memorandum and then proceeded according to the second method. If the value is valid it can be used immediately
30 anderenfalls werden die Basisdaten über dieOtherwise, the basic data will be about the
Abhängigkeitsbeschreibungen ermittelt und aus diesen Basisdaten der aktuelle Wert berechnet. Die Gültigkeitsvermerke werden dann wieder zurückgesetzt. Das Ergebnis dieses Vorganges ist in der Figur 3 in Schritt 3Dependency descriptions determined and calculated from this basic data, the current value. The validity notes are then reset. The result of this process is shown in FIG. 3 in step 3
35 beispielhaft zu sehen.
Dieses Verfahren ist sinnvoll bei großen Datenmengen mit zahlreichen Zugriffen auf die abgeleiteten Daten. Die Tiefe der Abhängigkeiten ist hierbei nicht relevant.35 can be seen as an example. This method is useful for large amounts of data with numerous accesses to the derived data. The depth of dependencies is not relevant here.
Eine Variante dieses Ausführungsbeispiels besteht darin, dass die Daten nicht als ungültig gekennzeichnet werden, sondern gleich neu berechnet werden, womit die Daten immer aktuell und konsistent sind.A variant of this embodiment is that the data are not marked as invalid, but are recalculated immediately, so that the data is always up-to-date and consistent.
Einfaches Umsetzungsbeispiel hierzu in XMLSimple implementation example in XML
Wie bei den vorherigen Bespielen arbeiten zwei Applikationen auf einem gemeinsamen Datenbestand und dabei erzeugt Applikation 1 folgenden Datensatz:As with the previous examples, two applications work on a common database, and application 1 generates the following data record:
<?xml version="1.0" encoding="UTF-8"?> <Dataset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Dependency.xsd"><? xml version = "1.0" encoding = "UTF-8"?> <Dataset xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi: noNamespaceSchemaLocation = "Dependency.xsd">
< Baseattribute Name="Größe" Valid="true" Timestamp="T1 "> <Value>190</Value><Baseattributes Name = "Size" Valid = "true" Timestamp = "T1"> <Value> 190 </ Value>
<BaseToDependencyRef Target="BMI"/> </ Baseattribute><BaseToDependencyRef Target = "BMI" /> </ Baseattributes>
< Baseattribute Name="Gewicht" Valid="true" Timestamp="T1 "><Baseattributes Name = "Weight" Valid = "true" Timestamp = "T1">
<Value>80<Λ/alue> <BaseToDependencyRef Target="BMI7><Value> 80 <Λ / alue> <BaseToDependencyRef Target = "BMI7>
</ Baseattribute></ Baseattributes>
Attribute Name="BMI" Valid="true" Timestamp="T1 ">Attributes Name = "BMI" Valid = "true" Timestamp = "T1">
<Value>22<Λ/alue><Value> 22 <Λ / alue>
<BaseToDependencyRef Target="Gewichtsklassifikation"/> <DependencyToBaseRef Name="a" Target="Größe"/><BaseToDependencyRef Target = "Weight Classification" /> <DependencyToBaseRef Name = "a" Target = "Size" />
<DependencyToBaseRef Name="b" Target="Gewicht"/><DependencyToBaseRef Name = "b" Target = "Weight" />
<Formula>b/aΛ2</Formula> </Attribute><Formula> b / a Λ 2 </ Formula></attributes>
<Attribute Name="Gewichtsklassifikation" Valid="true" Timestamp="T1 "> <Value>Normalgewicht<Λ/alue><Attribute Name = "Weight Classification" Valid = "true" Timestamp = "T1"> <Value> Normal Weight <Λ / alue>
<DependencyToBaseRef Name="String" Target="BMI7>
<Formula>look up in table: <20=Untergewicht; 20-25=Normalgewicht; 26-30=Übergewicht; ...</Formula> </Attribute> </Dataset><DependencyToBaseRef Name = "String" Target = "BMI7> <Formula> look up in table: <20 = underweight; 20-25 = normal weight; 26-30 = overweight; ... </ Formula></attributes></dataset>
55
Applikation 2 ändert den Wert des Attributes Gewicht und kennzeichnet zusätzlich den dadurch ungültig gewordenen Baum:Application 2 changes the value of the Weight attribute and additionally identifies the tree that has become invalid:
<?xml version="1.0" encoding="UTF-8"?> 0 <Dataset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Dependency.xsd"><? xml version = "1.0" encoding = "UTF-8"?> 0 <dataset xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi: noNamespaceSchemaLocation = "Dependency.xsd" >
< Baseattribute Name="Größe" Valid="true" Timestamp="T1 "><Baseattributes Name = "Size" Valid = "true" Timestamp = "T1">
<Value>190</Value> <BaseToDependencyRef Target="BMI7> 5 </ Baseattribute><Value> 190 </ Value> <BaseToDependencyRef Target = "BMI7> 5 </ Baseattributes>
< Baseattribute Name="Gewicht" Valid="true" Timestamp="T2"><Baseattributes Name = "Weight" Valid = "true" Timestamp = "T2">
<Value>100</Value> <BaseToDependencyRef Target="BMI7> </ Baseattribute> o Attribute Name="BMI" Valid="false" Timestamp="T1 "> <Value>22<Λ/alue><Value> 100 </ Value> <BaseToDependencyRef Target = "BMI7> </ Baseattributes> o Attributes Name =" BMI "Valid =" false "Timestamp =" T1 "> <Value> 22 <Λ / alue>
<BaseToDependencyRef Target="Gewichtsklassifikation"/> <DependencyToBaseRef Name="a" Target="Größe"/> <DependencyToBaseRef Name="b" Target="Gewicht"/> 5 <Formula>b/aΛ2</Formula><BaseToDependencyRef Target = "Weight Classification"/><DependencyToBaseRef Name = "a" Target = "Size"/><DependencyToBaseRef Name = "b" Target = "Weight"/> 5 <Formula> b / a Λ 2 </ Formula>
</Attribute></ Attributes>
<Attribute Name="Gewichtsklassifikation" Valid="false" Timestamp="T1 "> <Value>Normalgewicht<Λ/alue> <DependencyToBaseRef Name="String" Target="BMI7> 0 <Formula>look up in table: <20=Untergewicht; 20-25=Normalgewicht; 26-30=Übergewicht;<Attribute Name = "Weight Classification" Valid = "false" Timestamp = "T1"> <Value> Normal Weight <Λ / alue> <DependencyToBaseRef Name = "String" Target = "BMI7> 0 <Formula> look up in table: < 20 = underweight, 20-25 = normal weight, 26-30 = overweight;
...</Formula> </Attribute> </Dataset>... </ Formula> </ attributes> </ dataset>
5 Applikation 1 will nun den Wert des Attributes BMI lesen und prüft dafür vorher die Gültigkeit des Wertes mittels der Valid Eigenschaft des Attributes . Da das Attribut BMI
ungültig ist muss es ausgehend von den Basiswerten unter Zuhilfenahme der Berechnungsvorschrift, gespeichert in der Eigenschaft Formula, neu berechnet werden. Applikation 1 schreibt das neue Datum zurück und aktualisiert den Datensatz 5 folgendermaßen:5 Application 1 now wants to read the value of the attribute BMI and first checks the validity of the value by means of the Valid property of the attribute. Because the attribute BMI is invalid, it must be recalculated starting from the base values using the calculation rule stored in the Formula property. Application 1 writes back the new date and updates record 5 as follows:
<?xml version="1.0" encoding="UTF-8"?> <Dataset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Dependency.xsd"> 0 < Baseattribute Name="Größe" Valid="true" Timestamp="T1 "> <Value>190</Value> <BaseToDependencyRef Target="BMI"/> </ Baseattribute><? xml version = "1.0" encoding = "UTF-8"?> <Dataset xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi: noNamespaceSchemaLocation = "Dependency.xsd"> 0 <base attributes name = "size" Valid = "true" timestamp = "T1"> <Value> 190 </ Value> <BaseToDependencyRef Target = "BMI" /> </ baseattributes>
< Baseattribute Name="Gewicht" Valid="true" Timestamp="T2"> 5 <Value>100</Value><Baseattributes Name = "Weight" Valid = "true" Timestamp = "T2"> 5 <Value> 100 </ Value>
<BaseToDependencyRef Target="BMI7> </ Baseattribute> <Attribute Name="BMI" Valid="true" Timestamp="T3"><BaseToDependencyRef Target = "BMI7> </ Baseattributes> <Attribute Name =" BMI "Valid =" true "Timestamp =" T3 ">
<Value>28<Λ/alue> o <BaseToDependencyRef Target="Gewichtsklassifikation"/><Value> 28 <Λ / alue> o <BaseToDependencyRef Target = "Weight Classification" />
<DependencyToBaseRef Name="a" Target="Größe"/> <DependencyToBaseRef Name="b" Target="Gewicht"/> <Formula>b/aΛ2</Formula> </Attribute> 5 <Attribute Name="Gewichtsklassifikation" Valid="false" Timestamp="T1 "> <Value>Normalgewicht<Λ/alue> <DependencyToBaseRef Name="String" Target="BMI7><DependencyToBaseRef Name = "a" Target = "Size"/><DependencyToBaseRef Name = "b" Target = "Weight"/><Formula> b / a Λ 2 </ Formula></Attribute> 5 <Attribute Name = " Weight classification "Valid =" false "Timestamp =" T1 "><Value> Normal weight <Λ / alue><DependencyToBaseRef Name =" String "Target ="BMI7>
<Formula>look up in table: <20=Untergewicht; 20-25=Normalgewicht; 26-30=Übergewicht; ...</Formula> 0 </Attribute> </Dataset>
<Formula> look up in table: <20 = underweight; 20-25 = normal weight; 26-30 = overweight; ... </ Formula> 0 </ attributes> </ dataset>
Claims
1. Verfahren zur Sicherung der Datenkonsistenz von voneinander abhängigen Daten, bei dem eine Modellierung der Abhängigkeiten zwischen Daten dadurch erfolgt, dass eine Datenstruktur erzeugt wird, die neben den jeweiligen eigentlichen Daten (WA, W2), eine Gültigkeitsmarkierung (G) und/oder einen Transaktionszeitstempel (T) und mindestens eine Abhängigkeitsbeschreibung (R) enthält.1. A method for securing the data consistency of interdependent data, in which a modeling of the dependencies between data takes place in that a data structure is generated, in addition to the respective actual data (WA, W2), a validity mark (G) and / or a Transaction time stamp (T) and at least one dependency description (R) contains.
2. Verfahren nach Anspruch 1, bei dem die Gültigkeit von Werten entweder zum Zeitpunkt der Änderung von Basisdaten über einen Vermerk in den abhängigen Datenstrukturen oder über einen Vergleich von2. The method of claim 1, wherein the validity of values either at the time of changing basic data about an endorsement in the dependent data structures or via a comparison of
Transaktionszeitstempeln in den einzelnen Daten ermittelt wird, wobei ein Transaktionszeitstempel jeweils für eine Menge an konsistenten Datenänderungen vergeben wird, bei dem die Konsistenz der Daten überprüft wird, sofern eine Abhängigkeit zwischen mindestens zwei Daten besteht und ein Basisdatum jünger ist als ein davon abgeleitetes Datum.Transaction timestamps are determined in the individual data, wherein a transaction timestamp is awarded for a set of consistent data changes, in which the consistency of the data is checked, if a dependency exists between at least two dates and a base date is younger than a derived date.
3. Verfahren nach Anspruch 1, bei dem in der Datenstruktur zusätzlich mindestens eine Ableitungsvorschrift enthalten ist.3. The method of claim 1, wherein in the data structure additionally at least one derivation rule is included.
4. Verfahren nach Anspruch 3, bei dem mindestens eine Ableitungsvorschrift (V) beschreibt, wie die abgeleiteten Daten (A) aus den Basisdaten (Bl, B2) berechnet werden und bei dem eine automatische Berechnung der abgeleiteten Daten mit Hilfe der Ableitungsvorschrift erfolgt.4. The method of claim 3, wherein at least one derivation rule (V) describes how the derived data (A) from the basic data (Bl, B2) are calculated and in which an automatic calculation of the derived data using the derivation rule.
5. Verfahren nach einem der vorhergehenden Ansprüche, bei dem durch Kennzeichnung oder Zugriffsmechanismen sichergestellt wird, dass nur Basisdaten änderbar sind, sofern nur Berechnungsvorschriften von den Basisdaten zu den abgeleiteten Daten formuliert sind und eine direkte Modifikation von abgeleiteten Daten nur dann erlaubt ist, wenn in den Berechnungsvorschriften festgelegt ist, wie sich ein Basisdatum aus dem abgeleitetem Datum ergibt. 5. The method according to any one of the preceding claims, is ensured by labeling or access mechanisms that only basic data can be changed, provided that only calculation rules from the basic data to the derived data and direct modification of derived data is only allowed if the calculation rules specify how a base date results from the derived date.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102006008740A DE102006008740A1 (en) | 2006-02-24 | 2006-02-24 | Data consistency securing method, involves carrying out modeling of dependencies between data, and producing data structure containing validation counter and/or transaction time stamp and dependence instruction adjacent to basic values |
DE102006008740.2 | 2006-02-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2007098817A1 true WO2007098817A1 (en) | 2007-09-07 |
Family
ID=37835212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2006/069902 WO2007098817A1 (en) | 2006-02-24 | 2006-12-19 | Method for securing the data consistency of interdependent data |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102006008740A1 (en) |
WO (1) | WO2007098817A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013187816A1 (en) * | 2012-06-15 | 2013-12-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and a consistency checker for finding data inconsistencies in a data repository |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5692184A (en) * | 1995-05-09 | 1997-11-25 | Intergraph Corporation | Object relationship management system |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2343437A1 (en) * | 2001-04-06 | 2002-10-06 | Ibm Canada Limited-Ibm Canada Limitee | Method and system for cross platform, parallel processing |
-
2006
- 2006-02-24 DE DE102006008740A patent/DE102006008740A1/en not_active Ceased
- 2006-12-19 WO PCT/EP2006/069902 patent/WO2007098817A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5692184A (en) * | 1995-05-09 | 1997-11-25 | Intergraph Corporation | Object relationship management system |
Non-Patent Citations (4)
Title |
---|
DESSLOCH S ET AL: "KRISYS: KBMS support for better CAD systems", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON DATA AND KNOWLEDGE SYSTEMS FOR MANUFACTURING AND ENGINEERING. GAITHERSBURG, OCT. 16 - 18, 1989, LOS ALAMITOS, IEEE COMP. SOC. PRESS, US, vol. CONF. 2, 16 October 1989 (1989-10-16), pages 172 - 182, XP010017363, ISBN: 0-8186-1983-X * |
GENSEL J ET AL: "Integrating constraints, composite objects and tasks in a knowledge representation system", TOOLS WITH ARTIFICIAL INTELLIGENCE, 1993. TAI '93. PROCEEDINGS., FIFTH INTERNATIONAL CONFERENCE ON BOSTON, MA, USA 8-11 NOV. 1993, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, 8 November 1993 (1993-11-08), pages 127 - 130, XP010255428, ISBN: 0-8186-4200-9 * |
JURK S ET AL: "Improving integrity constraint enforcement by extended rules and dependency graphs", DATABASE AND EXPERT SYSTEMS APPLICATIONS. 12TH INTERNATIONAL CONFERENCE, DEXA 2001. PROCEEDINGS (LECTURE NOTES IN COMPUTER SCIENCE VOL.2113) SPRINGER-VERLAG BERLIN, GERMANY, 2001, pages 501 - 516, XP002428317, ISBN: 3-540-42527-6 * |
YOKOYAMA T ED - INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS: "An object-oriented and constraint-based knowledge representation system for design object modeling", PROCEEDINGS OF THE CONFERENCE ON ARTIFICIAL INTELLIGENCE APPLICATIONS. SANTA BARBARA, MAR. 5 - 9, 1990, LOS ALAMITOS, IEEE COMP. SOC. PRESS, US, vol. VOL. 1 CONF. 6, 5 May 1990 (1990-05-05), pages 146 - 152, XP010018645, ISBN: 0-8186-2032-3 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013187816A1 (en) * | 2012-06-15 | 2013-12-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and a consistency checker for finding data inconsistencies in a data repository |
US9454561B2 (en) | 2012-06-15 | 2016-09-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and a consistency checker for finding data inconsistencies in a data repository |
Also Published As
Publication number | Publication date |
---|---|
DE102006008740A1 (en) | 2007-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69800428T2 (en) | Information processing system architecture | |
DE69802437T2 (en) | FINE-GRAIN MATCH MECHANISM FOR OPTIMISTIC PARALLEL CONTROL WITH LOCKING GROUPS | |
DE10313048A1 (en) | System and method for managing distributed concurrent versions | |
DE102007062986A1 (en) | Method and device for client-server communication according to the standard protocol OPC UA | |
DE102010042288A1 (en) | Apparatus and method for automatically creating a process diagram | |
Berg et al. | Einführung in SAP HANA | |
WO2007098817A1 (en) | Method for securing the data consistency of interdependent data | |
EP0265636A1 (en) | Multiprocessor with several processors provided with cache memories and a shared memory | |
EP0856176A1 (en) | Database management system and data transmission process | |
EP2224340B1 (en) | Method and management system for configuring a dynamic information system and computer program product | |
EP1241570A2 (en) | Automated version analysis of software components belonging to a software application | |
DE10028870A1 (en) | Electronic chassis check card is available to different detection stations and/or is expandable and/or can be updated; quality-relevant data are fully represented in data processing system | |
EP1145116B1 (en) | System and method for identifying objects in distributed hierarchical systems, especially automation systems | |
EP1285315B1 (en) | Information processing system and method for operation thereof | |
DE10343328A1 (en) | Method for mapping a hierarchical technical system into a relational database | |
EP1681798B1 (en) | Facultative logging | |
EP2037375B1 (en) | Method for operating databases | |
WO2004072850A2 (en) | Method and device for modifying modular messages | |
DE102006024233A1 (en) | Method and apparatus for fault tolerance management of a software component | |
WO2000007116A1 (en) | Method, arrangement and set of a plurality of arrangements for remedying at least one inconsistency in a group of databases which comprises a database and at least one copy database of the database | |
EP0219727B1 (en) | Method for testing the logic consistency in data base systems | |
DE10304885A1 (en) | Method and computer device for automatically processing a system component in a computer operating environment | |
DE10203775A1 (en) | Processing online system data in off-line system involves marking data record(s) read to local database in server database so that access to this/these data record(s) in server database is blocked | |
DE10313589A1 (en) | Modification method for modifying modular messages that are to be transferred over an electronic messaging system using a computer, whereby desired changes to a message structure are checked to see if they are permissible | |
WO2020094175A1 (en) | Method and device for storing items of data and the relationships thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 06841448 Country of ref document: EP Kind code of ref document: A1 |