WO2009132621A1 - Overwriting stored data elements without losing data - Google Patents

Overwriting stored data elements without losing data Download PDF

Info

Publication number
WO2009132621A1
WO2009132621A1 PCT/DE2009/000571 DE2009000571W WO2009132621A1 WO 2009132621 A1 WO2009132621 A1 WO 2009132621A1 DE 2009000571 W DE2009000571 W DE 2009000571W WO 2009132621 A1 WO2009132621 A1 WO 2009132621A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
data element
assigned
validity
elements
Prior art date
Application number
PCT/DE2009/000571
Other languages
German (de)
French (fr)
Inventor
Norbert Peters
Original Assignee
Hansa-Datenservice, Gowarsch & Co.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hansa-Datenservice, Gowarsch & Co. filed Critical Hansa-Datenservice, Gowarsch & Co.
Priority to EP09737729A priority Critical patent/EP2272012A1/en
Publication of WO2009132621A1 publication Critical patent/WO2009132621A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data

Definitions

  • the present invention relates to a device for storing data elements of specific attributes and for accessing stored data elements, a method for storing data elements of specific attributes and for accessing stored data elements, a computer program product for controlling the device and a storage medium on which the computer program product is stored.
  • Memory devices for rewritable storage of data elements has almost every electronic data processing system.
  • both commercial stationary single-user computers such as personal computers and mobile computers such as so-called laptops or notebooks have such storage devices in the form of a hard disk on which data elements can be overwritten.
  • the bandwidth of the storage devices extends all the way to databases that are specifically set up for the purpose of effectively storing and managing data items with respect to the prevention of data redundancy, and that may be implemented on both common and large-scale computers.
  • the data elements stored in the storage devices are usually distinguished according to specific attributes.
  • WO 2004/102420 A1 attempts to circumvent these problems by first optically displaying data elements to be copied in the storage device disclosed there, which then manually decides whether a relevant data element is copied to the storage device or not. Ultimately, this solution is time-consuming and labor-intensive for large volumes of data items to be copied. In addition, the problem of erroneous overwriting is not solved, so that the proposed solution ultimately remains unsatisfactory.
  • This object is achieved by a device having the features of claim 1, a system having the features of claim 37, a method having the features of claim 40, a computer program product according to claim 52 and a storage medium according to claim 53.
  • the first data element in the case of overwriting of the first data element of a given attribute by the second data element of the predetermined attribute, the first data element is not deleted as in known devices, but instead the storage of the first data element is retained. Once a data element has been stored, it will not be deleted at any time even with any number of subsequent overwrites of data elements of the given attribute. Any loss of data is therefore excluded. Even in the case of an erroneous overwriting, the respective overwritten data element remains physically existent and is not lost. The first data element thus overwritten can also be accessed at any time after it has been overwritten in order, for example, to restore overridden user settings or other data.
  • a reference time is specified which is older relative to the second validity period and relatively younger than the first validity time in order to read out the first data element.
  • a reference time is specified, which is younger than the second validity time.
  • any reference times can be specified, wherein the reference time may be younger or older than all validity times of all stored data elements of the given attribute. In the former case, the data element with the most recently assigned validity time is read out; in the latter case, however, no data element is read out since there is no data element with a validity time older than the reference time.
  • the data elements can be assigned arbitrary validity times.
  • the first validity time may correspond to a time which is arbitrarily far in the past relative to the time of storage of the first data item or which is arbitrarily far in the future relative to the time of storing the first data item.
  • the second validity time is not limited to such a time that is in the past or corresponds to the time at which the second data item is stored; rather, it may be arbitrarily far in the future analogously relative to the time of storing the second data item.
  • a data item having an assigned default time that is relative to the time of access in the future will not be read either.
  • the current time of access is always specified as the reference time
  • such a data element is only read out if the access takes place at a time after the validity time assigned to the data element.
  • the second data element is assigned a future time relative to the time of storage of the second data element, for example, the second data element is simply read out after exceeding the second validity time when accessing data elements of the predetermined attribute without further action instead of the first data element.
  • the subject matter of the present invention proves to be considerably more flexible in the overwriting of stored data elements than known methods and devices for data storage since it prevents future overwriting. without the need to provide for it any special equipment designed to measure the time and to execute the overwriting at a given time.
  • the method according to the invention may in particular be a computer-implemented method, the computer program product providing for automated control of the device or for automated execution of the method.
  • the data element can in general be any logically grouped information unit.
  • the data element may be any string, such as a word, a name or a number.
  • the data element may, for example, be information for displaying an image by means of a corresponding computer program or an arbitrary type of address of a data element or other object.
  • files containing data as such can also be data elements. Which type the data element is, is determined by its attribute or attributes. Each of the various attributes can specify data elements that are a name, a number, information for displaying a picture, or an address. If the data item is a file, then its file name or file type may represent an attribute of the data item.
  • the present invention does not physically erase overwritten data elements, the data volume stored in the device increases more than prior art devices that physically erase data elements when overwriting, but this fact is negligible in view of the storage capacities of today's modern memory devices more than outweighed the advantage of any accessibility to overwritten data items and the traceability of overrides.
  • the device preferably assigns a respective validity time to the new data element that is younger than the validity times of all data elements of that attribute, and stores the new data element with the validity time assigned to it while retaining the storage all data elements of this attribute.
  • the second data element is stored while retaining the storage of all the stored data elements of all the attributes, in order to avoid also the physical deletion of stored data elements of other attributes and to preclude a concomitant loss of data.
  • the device in the absence of a reference time reference, upon accessing data elements of the predetermined attribute, the device is set up to automatically specify a reference time corresponding to the particular time at which access occurs to ensure that upon access, always retrieving a data item having an assigned validity time that is older than the current time that the access is made and the most recent validity time of all data items having validity times assigned that are older than the current time of access is assigned.
  • At least one data element or each data element is assigned a respective time of storage of the relevant data element as validity time.
  • the validity period can, for example, be accurate to the second, to the minute, to the hour or to the exact day.
  • a data element is assigned, in addition to the current date to the seconds, exactly the time as validity time at which the data element was stored.
  • minute-accurate or hourly validity times the data element is assigned the time as validity time in addition to the current date of the minute or hour the data element was saved.
  • day-specific validity times usually suffice, in which the data element is assigned the date of the day as the validity period at which the data element was stored.
  • At least one data element or each data element is assigned a respectively unique identifier and / or a globally unique identifier and / or a GUID (Globally Unique Identifier).
  • the unique identifier may be an identifier that is unique within the device or within any given system to which the device belongs.
  • this can be an identification number, an identification code or a uniform source indicator or URL (Uniform Resource Locator).
  • Globally unique identifiers are known from distributed computer systems. These are identifiers with such low probability of a coincidence of the identifiers that a single identifier is very likely to occur only once in the entire world and is therefore designated as unique globally or globally.
  • An example of a globally unique identifier is Globally Unique Identifier or GUID.
  • respective unique identifiers and respective validity times also be summarized to a leading identifier.
  • globally unique identifiers to generate individual such identifiers involving time stamps.
  • the unique identifier contained in the lead identifier is uniquely addressed. Because, in the case of a routing identifier, only one size needs to be provided for addressing and selecting data items to be read instead of two as for separate use of identifier and validity time, the necessary administrative overhead is reduced.
  • the device is set up to replace at least one given data element with an assigned validity time by a third data element by deleting the predetermined data element, storing the third data element and assigning to the third data element the validity time previously assigned to the given data element.
  • a replacement erroneously stored data elements can be corrected.
  • a data item that is a character string designating a word or a name may have a typing or typing error, or the data item to be stored as such has been mistakenly mistaken for another piece of data, rather than the correct data item Assignment of the validity period provided for the correct data element has been stored. Then, the erroneous or incorrect data item can be easily replaced by the correct data item in the manner described.
  • the validity period assigned to the given data element is assigned a protocol in which, upon replacement of the predetermined data element by the third data element, the replacement is noted and the predetermined data element is copied into the protocol.
  • the "pro- protocol may in particular have a character-coded format or an XML format. With such a protocol, all replacements made the given data element can be traced comprehensible. A log provides a quick and convenient overview of the historical history of completed replacements of data items that have been assigned the applicable validity period.
  • the protocol is advantageously used in order to avoid data losses in the case of replacements of stored data elements, since with a replacement the given or replaced data element in question is actually deleted.
  • the default data item is copied to the log, it is deleted after the out-of-protocol replacement, but no loss of data occurs because there is a copy of the deleted data item in the log.
  • respective times can also be noted in the protocol for which a replacement of the given data element took place.
  • a person can be noted, which has caused the override.
  • a log can be associated with a validity time immediately with storage of the data item to which the validity time is assigned.
  • a protocol can also be generated only when the replacement takes place and assigned to the validity period of the given data element.
  • At least one data element and the validity time assigned to it or several data elements and the validity times assigned to them form at least one data object.
  • a data element is assigned a unique identifier, a globally unique identifier or a GUID, or if a protocol is provided for the attribute of the data element, then these can advantageously also be included in the data object.
  • data objects can be used to group and uniformly manage data items with attributes that have a logical relationship. For example, a procedure may repeatedly access data items of a first attribute as well as data items of a second attribute. In such a case, it is advantageous to combine the data elements of the first attribute and the data elements of the second attribute into a data object and to manage them uniformly as a data object.
  • a data object as such can in turn be assigned a unique identifier or a globally unique identifier or a GUID for its addressing, so that data objects can be loaded between applications or modules without overwriting each other.
  • at least one of the data elements of at least one data object can be a unique identifier or a globally unique identifier or a GUID of another data element or another data object with which a logical relation of the data object exists, such that the identifier of the other Data element or data object in the data object as an ordinary data element.
  • an indicator may be a simple binary variable used to identify particular states.
  • An indicator can also be set, deleted or read out. For example, it may be provided to delete or physically delete a data element if at least one of the indicators assigned to it adopts a predetermined value. On the other hand, if the indicator takes a certain value, instead of actually deleting the item in question, it may be treated as deleted even though actual deletion thereof does not take place.
  • access rights can be determined by means of indicators. For example, an indicator may determine whether or not a data item or object is publicly accessible. Furthermore, indicators may indicate the membership of the data element or data object to the device or a subunit thereof. An indicator can also be one which indicates that the data element or data object in question is currently being used by an application.
  • the indicator of at least one data element or data object is a validity end time, the device, after exceeding the validity end time, refraining from reading out this data element or data object.
  • This makes it possible to specify a type of validity period for each data object or data element of a given attribute, during which it is possible to read out the data object or data element when accessing data objects or data elements of this attribute, wherein after expiry of the validity period or after the validation end time is no longer possible.
  • time-critical working or processing of data elements or data objects can be regulated with such an indicator.
  • the indicator also be a period. Accordingly, similar to the validity period of a data element, at least one indicator of at least one data object may be a validity start time indicating when the relevant data object has been released for working or processing.
  • the device has at least one inheritable pattern data object with predetermined data elements, wherein the device is set up to provide a specific indicator for a data object generated by inheritance of the pattern data object via which a reference to the pattern data object can be established for the data object thus generated.
  • a pattern data object may be provided for data objects that are repeatedly generated in the same form. Then instead of completely regenerating a new data object each time, the corresponding pattern data object can be simply inherited, whereby the data elements contained in the inherited pattern data object are overwritten by corresponding data elements of the data object to be generated, thereby obtaining a data object with the desired data elements.
  • a specific indicator is provided for the data objects generated by the inheritance of the pattern data object, via which a reference to the respective pattern data object, from which a data object has arisen, can be produced at any time for the data objects thus generated. Changes in the pattern object can then be transmitted via this indicator directly to the data objects resulting from the pattern object.
  • the device preferably comprises at least one non-volatile memory for storing elemen- and / or data objects and at least one main memory and is adapted to read stored data elements and / or data objects from the non-volatile memory and write to the main memory and in the case of Working memory replacing the read out Data element and / or a data element comprised of the read data object by a fourth data element to overwrite the associated stored in the non-volatile memory data element in the non-volatile memory by the fourth data element.
  • the read data object and / or data element is preferably converted into a character-encoded format or an XML format or binary serialized and the data object and / or data element thus converted or written to the main memory in order to process or read certain application programs of the data object and / or data element.
  • the device may also be a database.
  • a database is designed specifically for storing data while avoiding data redundancy.
  • the database may be one of the commonly used relational databases.
  • the device may also be a data processing device for processing data by one or more data processing processes in which at least one data processing process is implemented by at least two data elements, wherein respective identifications associated with the data elements are specific attributes of the data elements, each Data element comprises a respective sequence of calculation instructions and wherein the data processing device is arranged for processing data by the data processing process under specification of an identification by identifying based on the identification of one of the data elements, the calculation instructions of the sequence of calculation instructions included in the identified data element. and process the data by executing the costing statements.
  • a further increase in speed as well as a further reduction in the cost of changes to data processing processes results from the fact that, especially with elongated and confusing source codes, calculation instructions to be changed need no longer be cumbersomely identified. Rather, the individual data elements allow targeted access to a data element with the sequence of calculation instructions to be changed.
  • Respective sequences of calculation instructions of at least two data elements can be respective sub-processes of the same data processing process or of two different data processing processes that are to be successively executed to execute an overall process. For example, as an outcome of executing a first sequence of calculation instructions of a first data element, an identification may be output, wherein the identification matches the identification of a second data element comprising a second sequence of calculation instructions to be subsequently executed to subsequently identify that second data element and to execute the second sequence of calculation instructions.
  • data can be generated when executing the first sequence of calculation instructions the second sequence of calculation instructions are at least partially processed. In this way, the provision of corresponding data elements, the successive execution of any number of sequences of calculation instructions is possible.
  • conditional branches and loops as frequently occur in conventional computer programs, can be replaced by such successively executable sequences of calculation instructions.
  • conditional branches and loops can be replaced by successively executable sequences of calculation instructions.
  • the occurrence of conditional branches and loops is also possible within the sequence of calculation instructions of a single data element.
  • conditional branches and loops are preferably replaced by successively executable sequences of calculation instructions of different data elements, since this considerably increases the computing speed of the data processing device.
  • sequences of calculation instructions of at least two data elements of the same data processing process or of two different data processing processes may also be alternative processes, wherein when the data processing process or both data processing processes are executed exactly one of these sequences of calculation instructions is executable.
  • Such a data processing process can be adapted to different processing modes, for example, whereby a corresponding data element is identified depending on the processing mode.
  • the calculation instructions of at least one sequence of calculation instructions in a character-coded format are preferably present in the relevant data element. If the calculation instructions are in a character-coded format, there is no need to compile the source code. Furthermore, this allows a complete separation of basic technical calculation instructions, which are available as binary machine instructions, and calculation instructions, which concern the logical processing of the data and are available as parameters in the character-coded format. Previously required programming activities in the preparation and processing of data processing is omitted in such a separation.
  • the calculation instructions are particularly preferably in XML format, since this is a common and widespread format. Files in XML format are readable by most interpreters and thus platform-independent.
  • At least two data elements of two different data processing processes are assigned the same identification.
  • at least one predefined data processing category may be provided, wherein at least one of the data elements is assigned to at least one data processing category via its associated identification, and the data processing device is further configured to process data under specification of a data processing category, the data processing device processing of data by means of a data processing process or a plurality of different data processing processes only identifies a respective data element if the data element is assigned to the predetermined data processing category.
  • a hierarchy in the form of a branched tree structure can exist between the data processing categories, so that, for example, one or more data processing categories assigned to one data processing category are assigned to one data processing category, and each of these lower-set data processing categories in turn has one or more data processing categories even deeper in the hierarchy are assigned, and so on.
  • data processing categories the data to be processed by the data processing processes can also be categorized and ensure that corresponding data are processed according to the given data processing category.
  • a data processing device is particularly preferred in which at least a part of the data to be processed is assigned to at least one data processing category and the data processing device is set up to process data specifying a data processing category by processing from the data assigned to a data processing category at least part of the data assigned to the given data processing category. Furthermore, it is advantageous to provide a search function which, when specifying a data processing category, indicates all data elements and / or data assigned to this data processing category to allow quick access to data elements and data of a particular data processing category.
  • a data processing device can be set up such that it assigns at least one data element or each data element a respective unique identifier and / or a globally unique identifier and / or a GUID.
  • unique identifiers unambiguous addressing and identification of a data element within the data processing device, within a given system comprising the data processing device, or even globally, if globally unique identifiers are used, is possible.
  • data elements of various devices can be mixed with each other without data elements being deleted.
  • the device may be implemented in any computer or computer system.
  • a system may include at least two or more interconnected computers. These can be linked by a bi-directional or multidirectional network or via the Internet.
  • the system comprises at least one first device according to the invention, which is a database, and / or at least one second device according to the invention, which is a data processing device.
  • Figure 1 shows an apparatus according to the present invention
  • Figure 2 is a flow chart of a method according to the present invention.
  • FIG. 3b data elements after overwriting the data element of FIG. 3a);
  • FIG. 3c data elements after a further overwriting of a data element of FIG. 3b);
  • FIG. 3d data elements after a replacement of one of the data elements of FIG. 3c);
  • FIG. 4 shows a data element with indicators
  • FIG. 5 a data object
  • FIG. 6 shows the data object of FIG. 5 after overwriting a data element
  • FIG. 7 shows a system with two devices according to the present invention
  • FIG. 8 shows a data processing device
  • FIG. 9 shows a tree structure of hierarchical data processing categories
  • FIG. 10a shows a data element in a data processing device
  • FIG. 10b data elements after overwriting the data element of FIG. 10a);
  • FIG. 10c data elements after a further overwriting of a data element of FIG. 10b
  • FIG. 10D data elements after a replacement of one of the data elements of FIG. 10c).
  • FIG. 1 shows a device 1 according to the present invention.
  • the device 1 comprises a permanent memory 2 and a working memory 3. Both the device 1 as such and its permanent memory 2 are each assigned a GUID, namely the device 1 the GUID 4 and the permanent memory 3 the GUID 5.
  • the non-volatile memory 2 are Data elements 6 and 7 data objects stored, wherein for the sake of clarity, only a data element 6 and a data object 7 are shown.
  • Each data element 6 is assigned a GUID 8 and a validity period 9, while each data object 7 is assigned a GUID 10 and a validity start time 11.
  • a data element 12 in XML format is shown by dashed lines, which has been generated by reading a data element 6 from the non-volatile memory 2 and converting it into an XML format. The reading out of the data element 6 has no influence on the storage of the data element 6 in the non-volatile memory 2.
  • a data object 13 is represented in the working memory 3 in XML format by dashed lines, by reading a data object 7 has been generated from the non-volatile memory 2 and converting into an XML format, wherein here too the reading of the data object 7 has no influence on the memory state of the data object 7 in the non-volatile memory 2.
  • FIG. 2 shows a flow chart of the method.
  • the data element 6 shown in FIG. 3 a) is stored in the non-volatile memory 2 in step S 1.
  • the data item 6 is a character string having the characters "Maier" designating a last name, and because the data item 6 designates a last name, it is a data item of the attribute "Last Name”.
  • the data element 6 is assigned the validity time 9 and the GUID 8 when it is stored in step S1.
  • the validity time 9 in the present case has the value "24.09.2007" and corresponds to the day on which the data element 6 is stored in the non-volatile memory 2.
  • the data element 6 of the attribute "last name” is now to be overwritten by a data element 14 of the same attribute "last name", which is a character string with the characters "Müller.”
  • the data element 14 is stored in the non-volatile memory 2 in step S2. where the validity time 15 is assigned to it, which corresponds to the time of storage of the data element 14 and in this case has the value "13.12.2007”.
  • the validity period 15 is consequently younger than the validity time 9.
  • the data element 14 is assigned its own GUID 16 with the value "7778.”
  • the data element 6 remains untouched, ie the data element 6 is neither deleted nor changed in any other way, rather its memory state becomes Figure 3b) shows the situation after the execution of step S2: in addition to the data element 6, its validity time 9 and its GUID 8 the data element 14 together with validity time 15 and GUID 16 is also stored in permanent memory 2.
  • step S3 This is naturally younger than both validity times 9 and 15.
  • step S4 it is checked whether one of the data elements 6 and 14 stored in the permanent memory 2 of the attribute "last name” is assigned a validity time 9 and 15 older than the reference time. If this is the case, in step S5 that of the two data elements 6 and 14 stored in the permanent memory 2 of the attribute "last name” is read out with the most recent validity time 15, in the present example the data element 14. The method ends with step S6. On the other hand, if the test in step S4 determines that none of the data elements 6 and 14 have a validity time 9 and 15 older than the reference time, the device 1 looks to read the data elements 6, 14 and the method ends with the step S7.
  • the effect of the method according to the invention thus does not differ from the effect of known methods in which stored data elements are overwritten and thereby physically deleted: in the case of accesses to data elements of the respective attribute, the respectively newly stored data element is output in both cases, with which the original data element has been overwritten.
  • the overwritten data element is stored unchanged in the permanent memory 2, while in known methods it may be physically erased and its information content thereby irretrievably lost.
  • the inventive method allows, even after overwriting at Need to access the overwritten data item.
  • the data element is assigned its own identifier or, as in the present example, a GUID, this facilitates the addressing of the data element when accessing it. Inadvertent deletion of data elements, for example in the case of updates of existing databases, is therefore fundamentally excluded.
  • the device 1 accesses data elements of the device Attributes "last name" that of the three stored data elements 6, 14, 17 read that now has the most recent validity period 18 of all validity times 9, 15, 18 of the data elements 6, 14, 17 of the attribute "last name", ie the data element 17th
  • access to a reference time that lies before the validity period 9, as explained above does not output any of the data elements 6, 14, 17, when a reference time between the validity period 9 and the validity time 15 is specified, the data element 6 is read out, given a reference time between the validity period 15 and the validity period 18, the data element 14 is read, and given a reference time younger than the validity time 18, for example, as in the first working mode of the device 1, the time to be accessed or a relative for access in the future time, the output of the data element 17 takes place.
  • the data element 6 could be assigned a routing identifier with the value "7777 24092007”
  • the data element 14 a routing identifier with the value "7778 13122007” instead of the GUID 16 and the validity period 15
  • Data element 17 instead of the GUID 19 and the validity period 18 a Leitkennung with the value "7779 04032008”.
  • the device 1 is set up to replace stored data elements by other data elements. In order to avoid information losses in the replacement, the device 1 is also used for generating set up a protocol 20 in XML format, in which details of the replacement are noted.
  • FIGS. 3c) and 3d An example of a replacement will be explained with reference to FIGS. 3c) and 3d).
  • the data element 14 is to be replaced by a data element 21 of the attribute "last name", which is the character string "Fischer", without having to fear a loss of information.
  • a protocol 20 is generated and assigned the validity time 15.
  • the date and time of the replacement an IP address of a computer from which the replacement was made, the replacement initiating user of the device 1, a copy of the character string "Miller” and a change note are recorded of the protocol 20, the data element 14 is erased and the data element 21 is stored by assigning the GUID 16 and the validity time 15 previously assigned to the data element 14.
  • the data element 21 is no longer present outside of the protocol 20, however Information content not lost because the string "Müller" was noted in the protocol 20.
  • a protocol 20 can alternatively be assigned to this validity period when a data element is first stored, if a validity period is assigned to the data element.
  • the date and time of storage of the data item which need not necessarily coincide with the validity time assigned to the data item, is an IP address of a computer from which storage of the data item that stored the data item was initiated Storage of the data element inducing user of the device 1 and a note about the storage in the protocol 20 retained. If the data element is replaced by another data element at a later time, an additional corresponding note is made in the protocol as explained above.
  • any indicators for displaying different states of data elements can be provided. FIG.
  • the 4 shows the data element 6 of FIG. 3a) with different indicators 22, 23, 24.
  • the indicator 22 with the value "2" indicates that the data element 6 is assigned to the permanent memory 2.
  • the indicator 23 with the value "P” allows public access to the data element 6. By means of appropriate changes of the indicator 23, the access to the data element 6 can be limited to a single person or groups of people or specific applications.
  • the indicator 24 designates a validity end time of the data element 6, in this case "02.09.2008", beyond which the data element 6 loses its validity and is no longer read out.
  • Other indicators can be provided to indicate, for example, that the data element in question is for Such an indicator can be used to reduce the total volume of data stored in non-volatile memory 2 by enabling data elements for which there is definitely no further interest to be deleted by appropriately setting the above-mentioned indicator denote periodic accesses to the data element 6 indicate.
  • the indicators 22, 23, 24 can be assigned to the new data element 14 unchanged, or the data element 14 can be assigned with new values to all or some of the indicators 22, 23, 24. Furthermore, the data element 14 may be assigned fewer or more indicators 22, 23, 24 than the data element 6 overwritten by it.
  • FIG. 5 shows details of the data object 7.
  • the data object 7 comprises the data element 6 of FIG. 3a) with the validity time 9 assigned to it and the GUID 8 as well as a further data element 25 and its validity time 26 and GUID 27.
  • the data element 25 is a data element of the attribute "social security number” and is thus of another attribute than the data element 6.
  • the data element 25 is assigned the validity time 26 with the value "11.02.2007” and the GUID 27 with the value "1389” as such, the GUID 10 is assigned, as described above, which according to FIG. 5 has the value "2425".
  • the data object 7 is assigned as an indicator the validity start time 11, which in the present case coincides with the validity time 9. The data object 7 is therefore released only with storage of the data element 6 for reading.
  • the data object 7 can be extended by any number of data elements of any attributes, for example by a data element of the "address” attribute or by a data element of the "birthday” attribute. Thus, personal data of individual persons can be conveniently managed with the data object 7.
  • FIG. 6 shows a situation after the data element 6 of the data group 7 has been overwritten by the data element 14 as explained in connection with FIG. 3b).
  • the data object 7 comprises not only the data element 6 and the data element 25 but also the data element 14.
  • the GUID 10 of the data element 7 and its validity start time 11 have remained unchanged by the overwriting.
  • the data element 14 is read out as described above.
  • the data object 7 can also be used as a pattern data object 7 for generating any number of data objects for managing data of different persons.
  • a data object for a particular person is then simply generated by copying the pattern data object 7 and overwriting the data element 6 by the person's name and overwriting the data element 25 by the corresponding social security number of the respective person, the new data object thus created having its own GUID and a own validity start time assigned.
  • an indicator is provided for the new data object, via which a reference of the result of the inheritance of the pattern data object 7 is obtained at any time. generate data object to the pattern data object 7. For example, I can use such an indicator to conveniently transfer changes in the pattern data object 7 to the data object that has emerged from it.
  • the device 1 shown in FIG. 1 is set up, substitutions or overwrites of the data elements 12 read from the main memory 3 or from data elements of the data objects 13 read into the main memory 3 immediately after the replacement or overwriting in the main memory 3 have occurred - Execute chend for the data stored in the permanent memory 2 associated data elements 6 and 7 data objects according to one of the methods described. This prevents any loss of information in the event of malfunctions of the device 1, in which overwriting in the volatile main memory 3 which has not yet been correspondingly stored in the permanent memory 2 is lost.
  • FIG. 7 shows the device 1 as part of a system 28, which further comprises a data processing device 29 and a user interface 30.
  • the device 1 fulfills the function of a database system.
  • the system 28 has a client / server architecture in which the data processing device 29, device 1, and user interface 30 are respectively implemented on different, spatially spaced computers, the data processing device 29 being a server 31, the device 1 being a database system server 32, and the user interface 30 has a user interface server 33.
  • Server 31 is configured to communicate with both user interface server 33 and database system server 32.
  • communication is provided between the database system server 32 and the user interface server 33.
  • the communication between the three servers 31, 32 and 33 is asynchronous.
  • the user interface server 33 may also communicate with a client 34 via a synchronous communication link.
  • a sender waits for a response from the receiver when sending data, and is thereby blocked during the time of waiting, whereas in asynchronous communication, sending and receiving of data takes place staggered and without waiting for a response from the receiver.
  • asynchronous communication can also be set up between the servers 31, 32, 33 if the servers 31, 32, 33 are those which, from the technical side, are designed exclusively for synchronous communication by providing in that the servers 31, 32, 33 immediately send an acknowledgment of receipt to the sender upon receipt of data and reconnect to the sender upon completion of a process initiated by the receipt of the data.
  • FIG. 8 shows a schematic representation of the data processing device 29, which has an arithmetic unit or a processor 35 and a memory 36 in addition to the server 31.
  • FIG. 8 shows a first group of a plurality of data elements 37 stored in the memory 36, by which a first data processing process 38 is implemented in the data processing device 29, and a second group of several data elements 39 is shown by which a second data processing process 40 in FIG the data processing device 29 is implemented.
  • Each of the data elements 37, 39 comprises a respective sequence of calculation instructions.
  • each of the data elements 37, 39 is in XML format, ie the sequences of calculation instructions are in character-coded form. In particular, they are not compiled and are not available as binary machine instructions or binary machine program, but as source code.
  • each individual one of the data elements 37 of the first group is assigned a respective GUID 41
  • a GUID 42 is assigned to each one of the data elements 39 of the second group
  • each GUID 43, 44 is assigned to each of the data processing processes 38, 40. namely the first data processing process 38, the GUID 43 and the second data processing process 40 the GUID 44.
  • data processing processes 38, 40 shown in the data processing device 29 further, not visible in Figure 8, data processing processes implemented by respective groups of data elements, which in Memory 36 are stored.
  • Each one of the data elements 37, 39 of each group is assigned a respective identification, which is a simple string.
  • the association between identifications and data elements 37, 39 is unique in each case, ie all data elements 37, 39 of the same data processing process 38, 40 are uniquely assigned different identifications.
  • a data element 37 from the first group is assigned the same identification as a data element 39 from the second group or any number of data elements from respective other groups of data elements.
  • a simple example is intended to clarify this situation.
  • the system 28 is used in the personnel management of an organization with employees in two different federal states BL1 and BL2. Each employee is paid for exactly one out of three different collective agreements TV1, TV2 and TV3, whereby the employee can either be an employee or an intern.
  • the difference between its gross and net salary is now to be calculated for any of the employees.
  • this difference is calculated in different ways. If the possible combinations of state, collective agreement and status of the employee are organized in a hierarchically branched tree structure, the structure shown in FIG. 9 results.
  • each of these twelve alternatives there are twelve different alternatives for calculating the difference between gross and net salary.
  • exactly one data element is provided, which comprises a corresponding sequence of calculation instructions for calculating the difference between gross and net salary according to the respective alternative.
  • twelve different data elements 37 which together form the first group of data elements 37.
  • Each of the twelve data elements 37 is uniquely assigned an identification within the first group. In other words, the mapping between data elements 37 and identifications within the first group is bijective.
  • the second data processing process 40 is set up for the calculation of the tax payments of any employees. Since the possible combinations of states, collective agreements and status of the employee are the same as in the case of the first data processing process 38, namely the combinations shown in the tree structure of Figure 9, there are also twelve alternative ways of computing for the data processing process 40. Consequently, the data processing process 40 is the second by twelve Group of data elements forming data elements 39 implemented with respective identifications associated with the data elements 39, wherein each data element 39 corresponding to one of the twelve alternatives comprises a respective sequence of calculation instructions.
  • the identifications are character strings which consist of the letters and numbers used in FIG. 9, which are arranged in the sequence assigned to a specific data element 37, 39 within the sequence of characters assigned to it as identification, as shown in FIG upon tracing a path within the tree up to that particular data element 37, 39.
  • the leftmost data element 37, 39 is assigned the character string "BL1TV1A” as identification and the rightmost data element 37, 39 is assigned the character string "BL2TV3P" as identification.
  • a data element 37, 39 is identified whose sequence of calculation instructions is designed for an employee who is employed in the federal state BL1 under the collective agreement TV1 as an employee, while using the character string "BL2TV3P" as an identification
  • Data element 37, 39 is identified, whose sequence of calculation instructions is designed for an employee who is employed in the federal state BL2 under the collective agreement TV3 as an intern.
  • the identifications of the intervening data elements 37, 39 are formed accordingly.
  • the data processing processes 28, 40 are implemented in the data processing device 29, in that the data stored elements 37 and 39 with the respective identifications associated with them in the memory 36 and groups of respective data processing processes 38, 40 with respective GUIDs 43, 44 are summarized.
  • the client 34 establishes a connection with the user interface server 33 and transmits a request to the user interface 30.
  • the client 34 may request data stored in the database system or device 1.
  • the user interface server 33 connects to the database system server 32, the requested data is read from the device 1, sent from the database system server 32 to the user interface server 33, and transmitted to the client 34.
  • the request from the client 34 requires processing of the data.
  • the client 34 transmits a request to the user interface server 33 for the tax levies of an employee employed in the state BL2 to whom the collective agreement TV2 applies and who is a trainee P.
  • the user interface server 33 determines the identification of that data element 39 of the second data processing process 40 which comprises the corresponding sequence of calculation instructions for calculating these control outputs and sends this identification, which is the character string "BL2TV2P", together with others Information about the employee, such as its name, to the server 31 of the data processing device 29.
  • the server 31 From the database system server 32, the server 31 requests the data necessary for the calculation on the income of the employee stored in the device 1 under the name of the employee.
  • the data About the employee's income are read from the device 1 and transmitted to the server 31.
  • the server 31 transfers both the data on the employee's income and the identification to the processor 35.
  • the processor 35 identifies the relevant data element 39 of the data processing process 40 on the basis of the identification and executes the calculation instructions of the sequence comprised by the identified data element 39 Calculation statements.
  • the processor 35 like an interpreter, reads the sequence of calculation instructions in XML format and processes the data on the employee's income by executing the crediting instructions.
  • the execution of a data processing process need not necessarily result in the generation of any data as a result of the data processing process.
  • data is generated on the tax deductions of the employee in question, which after completion of the data processing process 40, which corresponds to the end of execution of the calculation instructions of the sequence of calculation instructions of the identified data element 39, as a result. Therefore, this calculated data is transferred from the processor 35 to the server 31 and transmitted by the latter to the user interface server 33, which forwards it to the client 34.
  • the calculated data can be stored in the memory 36 in order to keep it ready for possible additions to the data stored in the device 1 or for the generation of later reports.
  • a special mode of operation is provided which requires the specification of a data processing category.
  • the data stored in the device 1 are assigned to respective data processing categories.
  • a data processing category may in the present example be a specific state BL1 or BL2, a specific collective agreement TV1, TV2 and TV3 or a specific status of the employees. If the system 28 is operated in said operating mode and a particular data Given the processing category, the identification of a data element 37, 39 and the reading out of data from the device 1 only takes place if the relevant data element 37, 39 or the data is / are assigned to the predetermined data processing category.
  • identification of a data element 37, 39 only then occurs if this is provided for the collective agreement TV3. This is the case if and only if the character string associated with a data element 37, 39 has the three characters "TV3", with all the other characters occurring in this character chain being insignificant 37, 39 for a data element intended for an employee in federal state BL1, who is employee A, for a data element intended for an employee in state BL1, who is a trainee P, for a data element, which is intended for an employee in the federal state BL2, who is an employee, and for a data element that is intended for an employee in the state BL2, the trainee P. Also, data from the device 1 are only read if they comply with the collective agreement TV3 are assigned.
  • the data processing device 29 is set up like the device 1 for storing the data elements 37, 39 according to the invention with assignment of a validity time and their data loss-free overwriting.
  • FIG. 10 a shows a single data element 45 with a GUID 46 and a validity time 47, which was assigned to the data element 45 when it was stored in the memory 36.
  • the validity time 47 corresponds in the present case to the date on which the storage took place.
  • the data element 45 is now to be overwritten by a new data element with a new sequence of calculation instructions.
  • the data processing process to which the data element 45 belongs is added a new data element 48 and stored in the memory 36, this new data element 48 is assigned a new validity time 49 corresponding to the time of storing the data element 48 and thus younger than the validity time 47th is.
  • the new data element 48 is In addition, although assigned its own GUID 50, but it is the same identification associated with it as the data element 45. In this case, the data element 45 remains untouched, ie the data element 45 is neither deleted nor otherwise changed, its memory state is rather maintained.
  • the specification of a reference time is additionally necessary in order to select one of the data elements 45, 48 to allow.
  • the current time of specifying the identification is automatically selected and specified as the reference time. This is naturally younger than each of the validity times 47 and 49.
  • that of the two data elements 45 and 48 stored in the memory 36 to which the same identification is assigned is read out with the most recent validity time 49, in the present example the data element 48.
  • the effect of this override thus does not differ from the effect of conventional overrides in which stored data elements are physically erased: upon execution of the data processing process to which the data element belongs and upon specification of an identification associated with the data element In both cases, the last data item that has been stored is output, with which the previously stored data element has been overwritten.
  • the overwritten data element remains unchanged in the memory. It may be stored in memory, whereas in other types of overwriting it may be physically erased and its information content thereby irretrievably lost.
  • the described overwrite allows access to the overwritten data element even after overwriting, if necessary. Since the data element is assigned its own GUID, this facilitates the addressing of the data element when accessing the same. Unintentional deletion of data elements is therefore excluded in principle.
  • the data processing device 29 selects the data element 45, since its validity time 47 is now the most recent of those validity times that are older than the reference time. If instead one specifies a reference time that lies before the validity time 47 or is older than the validity time 47, no data element is selected because none of the validity times 47 and 49 are older than the reference time. Given a reference time which is relative to the time of specification of the identification in the future, the data element 48 is again selected, since its validity time 49 is also the most recent of the validity times 47 and 49 in this case, both older than the reference time are.
  • the procedure is analogous.
  • the data element 51 For overwriting the data element 48, for example by a data element 51, the data element 51 is added to the data processing process of the data elements 45 and 48 and stored in the memory 36.
  • a validity time 52 is assigned to it, which is the day on which the data element 51 was stored in the memory 36, and a GUID 53 is assigned to it.
  • the identifiers assigned to the data element 51 cation is identical to the identification assigned to the data elements 45 and 48. 10c) shows the situation after overwriting of the data element 48 by the data element 51.
  • the data processing device 29 is set up to replace stored data elements with other data elements.
  • the data processing device 29 is also set up to generate a protocol in XML format, in which details of the replacement are noted.
  • FIGS. 10c) and 10d An example of a replacement is illustrated in FIGS. 10c) and 10d). In the situation according to FIG. 10c), the data element 48 is to be replaced by a data element 54 without having to fear any loss of information.
  • a log 55 is generated and assigned to the validity period 49.
  • the date and time of the replacement an IP address of a computer from which the replacement was made, the replacement initiating user of the system 28 or the data processing device 29, a copy of that from the data element 48 Sequence of calculation instructions and an amendment note.
  • the data item 48 is deleted and the data item 54 is stored with the GUID 50 and validity time 49 previously assigned to the data item 54 assigned.
  • the data element 48 no longer exists, its information content is not lost because the sequence of calculation instructions it has included was recorded in the protocol 55.
  • a protocol 55 can alternatively be assigned to this validity time when a data element is first stored, if a validity period is assigned to the data element.
  • the date and time of storage of the data item which need not necessarily coincide with the validity time assigned to the data item, is an IP address of a computer from which storage of the data item was initiated, storing the data item Data element causing user and a note about the storage in the protocol 55 detained. If the data element is replaced by another data element at a later time, an additional corresponding note is made in the protocol 55, as explained above.
  • the system 28 Since in the system 28 both data elements of the device 1 and data elements of the data processing device 29 are assigned a respective On the one hand, a historical data management is achieved. On the other hand, when a corresponding reference time is specified, the system 28 can be operated at any time along with data processing processes and data to be processed in a state in which the entire system 28 was at the predetermined reference time.

Abstract

A device (1, 29) and a method for storing data elements (6, 14, 17, 37, 39, 45, 48, 51) of specific attributes and accessing the stored data elements (6, 14, 17, 37, 39, 45, 48, 51) are described. Said device (1, 29) and method prevent stored data from being lost during overwriting and allow stored data elements to be overwritten in a more flexible manner. The device (1, 29) is designed to store data elements (6, 14, 17, 37, 39, 45, 48, 51) while assigning a respective validity period (9, 15, 18, 47, 49, 52). In case a first data element (6, 14, 17, 37, 39, 45, 48, 51) of a predefined attribute to which a first validity period (9, 15, 18, 47, 49, 52) is assigned is overwritten by a second data element (6, 14, 17, 37, 39, 45, 48, 51) of the predefined attribute, a second validity period (9, 15, 18, 47, 49, 52) which is shorter than the first validity period (9, 15, 18, 47, 49, 52) is assigned to the second data element (6, 14, 17, 37, 39, 45, 48, 51), and the second data element (6, 14, 17, 37, 39, 45, 48, 51) is stored while the first data element (6, 14, 17, 37, 39, 45, 48, 51) remains stored. Data elements (6, 14, 17, 37, 39, 45, 48, 51) of the predefined attribute can be accessed by defining a reference period; during said access, of all stored data elements (6, 14, 17, 37, 39, 45, 48, 51) of the predefined attribute to which a longer validity period (9, 15, 18, 47, 49, 52) than the reference period has been assigned, the one with the shortest validity period (9, 15, 18, 47, 49, 52) is read. If a shorter validity period than the reference period is assigned to all stored data elements (6, 14, 17, 37, 39, 45, 48, 51) of the predefined attribute, the device does not read a data element (6, 14, 17, 37, 39, 45, 48, 51).

Description

Datenverlustfreies Überschreiben gespeicherter Datenelemente Data lossless overwriting of stored data elements
Die vorliegende Erfindung betrifft eine Vorrichtung zum Speichern von Daten- elementen spezifischer Attribute und zum Zugreifen auf gespeicherte Datenelemente, ein Verfahren zum Speichern von Datenelementen spezifischer Attribute und zum Zugreifen auf gespeicherte Datenelemente, ein Computerprogrammprodukt zum Steuern der Vorrichtung sowie ein Speichermedium, auf dem das Computerprogrammprodukt gespeichert ist.The present invention relates to a device for storing data elements of specific attributes and for accessing stored data elements, a method for storing data elements of specific attributes and for accessing stored data elements, a computer program product for controlling the device and a storage medium on which the computer program product is stored.
Speichervorrichtungen zum überschreibbaren Speichern von Datenelementen weist fast jede elektronische Datenverarbeitungsanlage auf. So verfügen sowohl handelsübliche stationäre Einzelplatzrechner wie PCs (Personal Computer) aber auch mobile Computer wie sogenannte Laptops oder Notebooks über derartige Speichervorrichtungen in Form einer Festplatte, auf der sich Datenelemente überschreibbar speichern lassen. Die Bandbreite der Speichervorrichtungen reicht bis hin zu Datenbanken, die eigens zum Zweck des effektiven Speicherns und Verwaltens von Datenelementen im Hinblick auf die Vermeidung von Datenredundanzen eingerichtet sind und sowohl auf gewöhn- liehen Computern als auch auf Großrechenanlagen implementiert sein können. Dabei werden die in den Speichervorrichtungen gespeicherten Datenelemente aus verwaltungstechnischen Gründen für gewöhnlich nach spezifischen Attributen unterschieden.Memory devices for rewritable storage of data elements has almost every electronic data processing system. Thus, both commercial stationary single-user computers such as personal computers and mobile computers such as so-called laptops or notebooks have such storage devices in the form of a hard disk on which data elements can be overwritten. The bandwidth of the storage devices extends all the way to databases that are specifically set up for the purpose of effectively storing and managing data items with respect to the prevention of data redundancy, and that may be implemented on both common and large-scale computers. For administrative reasons, the data elements stored in the storage devices are usually distinguished according to specific attributes.
Wird ein in einer Speichervorrichtung gespeichertes Datenelement eines vorgegebenen Attributs durch ein neues Datenelement desselben Attributs überschrieben, so wird bei bekannten Speichervorrichtungen das gespeicherte Datenelement beim Überschreiben gelöscht und durch das neue Datenelement ersetzt, das dann nach dem Überschreiben in der Speichervorrichtung gespeichert ist. Das vor dem Überschreiben gespeicherte Datenelement dieses Attributs geht dabei in der Regel unwiederbringlich verloren. Dies ist insbesondere deswegen nachteilig, weil nie ausgeschlossen werden kann, dass Überschreibungen gespeicherter Datenelemente unbeabsichtigt oder verse- hentlich erfolgen, was unter Umständen zu erheblichen Datenverlusten führen kann. Hieraus erwächst ein weiterer Nachteil bekannter Speichervorrichtungen, der während Aktualisierungen von in der Speichervorrichtung gespeicherten Datenelementen oder Programmen auftreten kann. Wenn beispiels- weise ein auf einem Computer eines Benutzers gespeichertes Programm durch eine neuere Version desselben aktualisiert wird, kann es vorkommen, dass vor der Aktualisierung vorgenommene persönliche Einstellungen des Benutzers im Programm oder Daten des Benutzers durch die neuere Version des Programms überschrieben werden und verloren gehen. Während sich die persönlichen Einstellungen des Benutzers unter Aufwand von Zeit und Arbeit neu einrichten lassen können, sind die Daten in der Regel nicht wieder herstellbar.If a data element of a given attribute stored in a memory device is overwritten by a new data element of the same attribute, in the case of known memory devices the stored data element is deleted during the overwriting and replaced by the new data element, which is then stored in the memory device after the overwriting. The data element of this attribute stored before the overwrite is usually irretrievably lost. This is disadvantageous in particular because it can never be ruled out that overwriting of stored data elements may occur unintentionally or accidentally. often cause significant data loss. This raises another disadvantage of known memory devices that may occur during updates to data elements or programs stored in the memory device. For example, if a program stored on a user's computer is updated by a newer version of it, the user's personal settings in the user's program or data before the upgrade may be overwritten and lost by the newer version of the program , While the personal settings of the user can be set up under the expense of time and work, the data is usually not recoverable.
In der WO 2004/102420 A1 wird versucht diese Probleme zu umgehen, indem in der dort offenbarten Speichervorrichtung zu kopierende Datenelemente einem Benutzer zunächst optisch angezeigt werden, der dann manuell darüber entscheidet, ob ein betreffendes Datenelement in die Speichervorrichtung kopiert wird oder nicht. Letztendlich ist diese Lösung bei großen anfallenden Mengen zu kopierender Datenelemente zeitraubend und arbeitsaufwändig. Zudem wird auch hier das Problem irrtümlicher Überschreibungen nicht gelöst, so dass die vorgeschlagene Lösung letztlich unbefriedigend bleibt.WO 2004/102420 A1 attempts to circumvent these problems by first optically displaying data elements to be copied in the storage device disclosed there, which then manually decides whether a relevant data element is copied to the storage device or not. Ultimately, this solution is time-consuming and labor-intensive for large volumes of data items to be copied. In addition, the problem of erroneous overwriting is not solved, so that the proposed solution ultimately remains unsatisfactory.
Es ist daher die Aufgabe der vorliegenden Erfindung, eine Vorrichtung zum Speichern von Datenelementen spezifischer Attribute und zum Zugreifen auf gespeicherte Datenelemente, ein System, ein Verfahren zum Speichern von Datenelementen spezifischer Attribute und zum Zugreifen auf gespeicherte Datenelemente, ein Computerprogrammprodukt zum Steuern der Vorrichtung sowie ein Speichermedium zu schaffen, auf dem das Computerprogrammprodukt gespeichert ist, die Datenverluste bei Überschreibungen gespeicherter Datenelemente ausschließen und ein flexibleres Überschreiben gespeicherter Datenelemente ermöglichen. Diese Aufgabe wird durch eine Vorrichtung mit den Merkmalen des Anspruchs 1 , ein System mit den Merkmalen des Anspruchs 37, ein Verfahren mit den Merkmalen des Anspruchs 40, ein Computerprogrammprodukt nach Anspruch 52 und ein Speichermedium nach Anspruch 53 gelöst.It is therefore the object of the present invention to provide a device for storing data elements of specific attributes and for accessing stored data elements, a system, a method for storing data elements of specific attributes and for accessing stored data elements, a computer program product for controlling the device and a To create a storage medium on which the computer program product is stored, which exclude data losses when overwriting stored data elements and enable more flexible overwriting of stored data elements. This object is achieved by a device having the features of claim 1, a system having the features of claim 37, a method having the features of claim 40, a computer program product according to claim 52 and a storage medium according to claim 53.
Gemäß der vorliegenden Erfindung wird im Falle eines Überschreibens des ersten Datenelements eines vorgegebenen Attributs durch das zweite Datenelement des vorgegebenen Attributs das erste Datenelement nicht wie bei bekannten Vorrichtungen gelöscht, vielmehr wird stattdessen die Speicherung des ersten Datenelements beibehalten. Ein einmal gespeichertes Datenelement wird auch bei beliebig vielen nachfolgenden Überschreibungen von Datenelementen des vorgegebenen Attributs zu keiner Zeit gelöscht. Jeglicher Datenverlust ist somit grundsätzlich ausgeschlossen. Selbst im Falle eines irrtümlichen Überschreibens bleibt das jeweilige überschriebene Datenele- ment physikalisch existent und geht nicht verloren. Auf das so überschriebene erste Datenelement kann auch nach dem Überschreiben jederzeit zugegriffen werden, um beispielsweise überschriebene Benutzereinstellungen oder sonstige Daten wiederherzustellen. Dazu wird beim Zugriff auf Datenelemente des vorgegeben Attributs eine Bezugszeit vorgegeben, die relativ zur zweiten Va- liditätszeit älter und relativ zur ersten Validitätszeit jünger ist, um das erste Datenelement auszulesen. Zum Auslesen des zweiten Datenelements wird dagegen eine Bezugszeit vorgegeben, die jünger ist als die zweite Validitätszeit. Grundsätzlich können beliebige Bezugszeiten vorgegeben werden, wobei die Bezugszeit auch jünger oder älter sein kann als alle Validitätszeiten aller gespeicherten Datenelemente des vorgegebenen Attributs. Im ersteren Fall wird dasjenige Datenelement mit der jüngsten zugewiesenen Validitätszeit ausgelesen, im letzteren Fall wird hingegen kein Datenelement ausgelesen, da kein Datenelement vorliegt, dem eine Validitätszeit zugeordnet ist, die älter ist als die Bezugszeit. Weil bei Überschreibungen gespeicherter Datenele- mente eines Attributs durch neue Datenelemente desselben Attributs den neuen Datenelementen Validitätszeiten zugewiesen werden, die jeweils jünger sind als die dem jeweiligen überschriebenen Datenelement zugewiesene Validitätszeit, ist für jede Bezugszeit und auch bei Vorhandensein mehrerer gespeicherter Datenelemente des vorgegebenen Attributs eindeutig definiert, welches der Datenelemente des vorgegebenen Attributs bei Zugriffen unter Vorgabe einer Bezugszeit jeweils auszulesen ist.According to the present invention, in the case of overwriting of the first data element of a given attribute by the second data element of the predetermined attribute, the first data element is not deleted as in known devices, but instead the storage of the first data element is retained. Once a data element has been stored, it will not be deleted at any time even with any number of subsequent overwrites of data elements of the given attribute. Any loss of data is therefore excluded. Even in the case of an erroneous overwriting, the respective overwritten data element remains physically existent and is not lost. The first data element thus overwritten can also be accessed at any time after it has been overwritten in order, for example, to restore overridden user settings or other data. For this purpose, when accessing data elements of the given attribute, a reference time is specified which is older relative to the second validity period and relatively younger than the first validity time in order to read out the first data element. On the other hand, to read out the second data element, a reference time is specified, which is younger than the second validity time. Basically, any reference times can be specified, wherein the reference time may be younger or older than all validity times of all stored data elements of the given attribute. In the former case, the data element with the most recently assigned validity time is read out; in the latter case, however, no data element is read out since there is no data element with a validity time older than the reference time. Because, in the case of overwriting of stored data elements of an attribute by new data elements of the same attribute, validity times are assigned to the new data elements that are younger than the validity time assigned to the respective overridden data element, for each reference time and even if several data elements are present stored data elements of the predetermined attribute uniquely defined which of the data elements of the predetermined attribute is to be read out in the case of accesses given a reference time.
Grundsätzlich können den Datenelementen beliebige Validitätszeiten zugewiesen werden. Zum Beispiel kann die erste Validitätszeit einer Zeit entsprechen, die relativ zur Zeit des Speicherns des ersten Datenelements beliebig weit in der Vergangenheit liegt oder die relativ zur Zeit des Speicherns des ersten Datenelements beliebig weit in der Zukunft liegt. Insbesondere ist es möglich, dem ersten Datenelement eine Validitätszeit zuzuweisen, die relativ zu wenigstens einer Validitätszeit eines gespeicherten Datenelements des vorgegebenen Attributs oder relativ zu mehreren oder allen Validitätszeiten bereits gespeicherter Datenelemente des vorgegebenen Attributs älter ist. Entsprechend ist die zweite Validitätszeit nicht auf eine solche Zeit be- schränkt, die in Bezug auf diejenige Zeit, zu der das zweite Datenelement gespeichert wird, in der Vergangenheit liegt oder ihr entspricht; sie kann vielmehr analog relativ zur Zeit des Speicherns des zweiten Datenelements beliebig weit in der Zukunft liegen. Folglich wird bei Zugriffen auf ein Datenelement des vorgegebenen Attributs, bei denen beispielsweise eine Bezugszeit vorgegeben wird, die einer aktuellen Zeit des Zugriffs entspricht, ein Datenelement mit einer zugewiesenen Vaiiditätszeit, die relativ zur Zeit des Zugriffs in der Zukunft liegt, auch nicht ausgelesen. Unter der Annahme, dass als Bezugszeit stets die gerade aktuelle Zeit eines Zugriffs vorgegeben wird, wird ein solches Datenelement erst dann ausgelesen, wenn der Zugriff zu einer Zeit nach der dem Datenelement zugewiesenen Validitätszeit erfolgt. Wird dem zweiten Datenelement zum Beispiel als zweite Validitätszeit eine relativ zur Zeit des Speicherns des zweiten Datenelements zukünftige Zeit zugewiesen, so wird bei Zugriffen auf Datenelemente des vorgegebenen Attributs das zweite Datenelement ohne weiteres Tun anstelle des ersten Datenelements einfach nach Überschreiten der zweiten Validitätszeit ausgelesen. Insofern erweist sich der Gegenstand der vorliegenden Erfindung als wesentlich flexibler bei der Überschreibung gespeicherter Datenelemente als bekannte Verfahren und Vorrichtungen zur Datenspeicherung, da er zukünftige Überschrei- bungen gespeicherter Datenelemente ohne die Notwendigkeit ermöglicht, dafür irgendwelche besonderen Einrichtungen vorzusehen, die zur Messung der Zeit und zur Ausführung der Überschreibung zu einem vorgegebenen Zeitpunkt ausgelegt sind.Basically, the data elements can be assigned arbitrary validity times. For example, the first validity time may correspond to a time which is arbitrarily far in the past relative to the time of storage of the first data item or which is arbitrarily far in the future relative to the time of storing the first data item. In particular, it is possible to assign a validity time to the first data element which is older relative to at least one validity time of a stored data element of the predefined attribute or relative to several or all validity times of already stored data elements of the predefined attribute. Accordingly, the second validity time is not limited to such a time that is in the past or corresponds to the time at which the second data item is stored; rather, it may be arbitrarily far in the future analogously relative to the time of storing the second data item. Thus, when accessing a data item of the given attribute, for example, giving a reference time that corresponds to a current time of access, a data item having an assigned default time that is relative to the time of access in the future will not be read either. Assuming that the current time of access is always specified as the reference time, such a data element is only read out if the access takes place at a time after the validity time assigned to the data element. If the second data element is assigned a future time relative to the time of storage of the second data element, for example, the second data element is simply read out after exceeding the second validity time when accessing data elements of the predetermined attribute without further action instead of the first data element. In this respect, the subject matter of the present invention proves to be considerably more flexible in the overwriting of stored data elements than known methods and devices for data storage since it prevents future overwriting. without the need to provide for it any special equipment designed to measure the time and to execute the overwriting at a given time.
Bei dem erfindungsgemäßen Verfahren kann es sich insbesondere um ein computerimplementiertes Verfahren handeln, wobei das Computerprogrammprodukt für ein automatisiertes Steuern der Vorrichtung bzw. für ein automatisiertes Ausführen des Verfahrens sorgt.The method according to the invention may in particular be a computer-implemented method, the computer program product providing for automated control of the device or for automated execution of the method.
Das Datenelement kann ganz allgemein eine beliebige logisch gruppierte Informationseinheit sein. So kann das Datenelement eine beliebige Zeichenkette sein, wie zum Beispiel ein Wort, ein Name oder eine Zahl. Ferner kann es sich bei dem Datenelement beispielsweise um Informationen zur Darstellung eines Bildes mittels eines entsprechenden Computerprogramms oder um eine beliebig geartete Adresse eines Datenelements oder sonstigen Objektes handeln. Aber auch Daten enthaltende Dateien als solche können Datenelemente sein. Welcher Art das Datenelement ist, wird durch dessen Attribut oder Attribute bestimmt. Es können jeweils verschiedene Attribute Datenelemente spe- zifizieren, bei denen es sich um einen Namen, eine Zahl, Informationen zur Darstellung eines Bildes oder eine Adresse handelt. Handelt es sich bei dem Datenelement um eine Datei, dann kann deren Dateiname oder Dateityp ein Attribut des Datenelements darstellen.The data element can in general be any logically grouped information unit. Thus, the data element may be any string, such as a word, a name or a number. Furthermore, the data element may, for example, be information for displaying an image by means of a corresponding computer program or an arbitrary type of address of a data element or other object. But files containing data as such can also be data elements. Which type the data element is, is determined by its attribute or attributes. Each of the various attributes can specify data elements that are a name, a number, information for displaying a picture, or an address. If the data item is a file, then its file name or file type may represent an attribute of the data item.
Da bei der vorliegenden Erfindung kein physikalisches Löschen überschriebe- ner Datenelemente stattfindet, wächst zwar das in der Vorrichtung gespeicherte Datenvolumen stärker an als bei bekannten Vorrichtungen, die Datenelemente beim Überschreiben physikalisch löschen, doch ist dieser Umstand angesichts der Speicherkapazitäten heutiger moderner Speichervorrichtungen vernachlässigbar und wird durch den Vorteil der beliebigen Zug reif barkeit auf überschriebene Datenelemente und der Nachvollziehbarkeit von Überschreibungsvorgängen mehr als wieder aufgewogen. Bei nachfolgenden sukzessiven Überschreibungen von Datenelementen desselben vorgegebenen Attributs durch neue Datenelemente weist die Vorrichtung dem neuen Datenelement bevorzugt eine jeweilige Validitätszeit zu, die jünger ist als die Validitätszeiten aller Datenelemente dieses Attributs, und es speichert das neue Datenelement mit der ihm zugewiesenen Validitätszeit unter beibehalten der Speicherung aller Datenelemente dieses Attributs. Besonders bevorzugt wird das zweite Datenelement unter beibehalten der Speicherung aller gespeicherten Datenelemente aller Attribute gespeichert, um auch das physikalische Löschen gespeicherter Datenelemente anderer Attribute zu vermeiden und einen damit einhergehenden Datenverlust auszuschließen.Although the present invention does not physically erase overwritten data elements, the data volume stored in the device increases more than prior art devices that physically erase data elements when overwriting, but this fact is negligible in view of the storage capacities of today's modern memory devices more than outweighed the advantage of any accessibility to overwritten data items and the traceability of overrides. In successive successive overwrites of data elements of the same given attribute by new data elements, the device preferably assigns a respective validity time to the new data element that is younger than the validity times of all data elements of that attribute, and stores the new data element with the validity time assigned to it while retaining the storage all data elements of this attribute. Particularly preferably, the second data element is stored while retaining the storage of all the stored data elements of all the attributes, in order to avoid also the physical deletion of stored data elements of other attributes and to preclude a concomitant loss of data.
Bei einer bevorzugten Ausführungsform der Erfindung ist die Vorrichtung bei Ausbleiben einer Vorgabe für die Bezugszeit bei einem Zugriff auf Datenelemente des vorgegebenen Attributs zur automatischen Vorgabe einer Bezugs- zeit eingerichtet, die der jeweiligen Zeit entspricht, zu der der Zugriff erfolgt, um zu gewährleisten, dass bei einem Zugriff stets ein Datenelement mit einer zugewiesenen Validitätszeit ausgelesen wird, die älter ist als die aktuelle Zeit, zu der der Zugriff erfolgt, und dem von allen Datenelementen mit zugewiesenen Validitätszeiten, die älter sind als die aktuelle Zeit des Zugriffs, die jeweils jüngste Validitätszeit zugewiesen ist.In a preferred embodiment of the invention, in the absence of a reference time reference, upon accessing data elements of the predetermined attribute, the device is set up to automatically specify a reference time corresponding to the particular time at which access occurs to ensure that upon access, always retrieving a data item having an assigned validity time that is older than the current time that the access is made and the most recent validity time of all data items having validity times assigned that are older than the current time of access is assigned.
Bei einer weiteren bevorzugten Ausführungsform der Erfindung wird wenigstens einem Datenelement oder jedem Datenelement ein jeweiliger Zeitpunkt des Speicherns des betreffenden Datenelements als Validitätszeit zugeordnet. Man erhält dadurch eine Art historischer Speicherung der Datenelemente, bei der die Zeit, zu der ein Datenelement gespeichert wurde, an dessen Validitätszeit ablesbar ist. Die Validitätszeit kann zum Beispiel sekundengenau, minutengenau, stundengenau oder tagesgenau sein. Bei sekundengenauen Validitätszeiten wird einem Datenelement neben dem Tagesdatum auf die Se- künde genau die Zeit als Validitätszeit zugewiesen, zu der das Datenelement gespeichert wurde. Entsprechend wird bei minutengenauen oder stundengenauen Validitätszeiten dem Datenelement neben dem Tagesdatum auf die Minute bzw. auf die Stunde genau die Zeit als Validitätszeit zugewiesen, zu der das Datenelement gespeichert wurde. In der Praxis genügen jedoch meist bereits tagesgenaue Validitätszeiten, bei denen dem Datenelement das Datum desjenigen Tages als Validitätszeit zugewiesen wird, an dem das Datenelement gespeichert wurde.In a further preferred embodiment of the invention, at least one data element or each data element is assigned a respective time of storage of the relevant data element as validity time. This gives a kind of historical storage of the data elements, in which the time at which a data element was stored, at its validity time is readable. The validity period can, for example, be accurate to the second, to the minute, to the hour or to the exact day. With validity times valid to the second, a data element is assigned, in addition to the current date to the seconds, exactly the time as validity time at which the data element was stored. Accordingly, with minute-accurate or hourly validity times, the data element is assigned the time as validity time in addition to the current date of the minute or hour the data element was saved. In practice, however, day-specific validity times usually suffice, in which the data element is assigned the date of the day as the validity period at which the data element was stored.
Grundsätzlich ist es nicht ausgeschlossen, dass zwei Datenelementen zweier verschiedener Attribute gleiche Validitätszeiten zugewiesen werden. Insbesondere dann, wenn es sich um eine tagesgenaue Validitätszeiten handelt, kann es vorkommen, dass mehreren am selben Tag gespeicherten Datenele- menten desselben Attributs gleiche Validitätszeiten zugewiesen werden. Validitätszeiten allein können daher unter Umständen zur eindeutigen Adressierung oder Identifizierung von Datenelementen ungeeignet sein. Bei einer weiteren bevorzugten Ausführung der Erfindung wird daher wenigstens einem Datenelement oder jedem Datenelement eine jeweils eindeutige Kennung und/oder eine weltweit eindeutige Kennung und/oder eine GUID (Globally Unique Identifier) zugewiesen. Dabei kann es sich bei der eindeutigen Kennung um eine Kennung handeln, die innerhalb der Vorrichtung oder innerhalb eines beliebigen gegebenen Systems, zu dem die Vorrichtung gehört, eindeutig ist. Diese kann im einfachsten Fall eine Identifikationsnummer, ein Identifi- kationscode oder ein einheitlicher Quellenanzeiger bzw. URL (Uniform Re- source Locator) sein. Weltweit eindeutige Kennungen sind von verteilten Computersystemen her bekannt. Es handelt sich dabei um Kennungen mit einer derart niedrigen Wahrscheinlichkeit für eine Koinzidenz der Kennungen, dass eine einzelne Kennung mit sehr hoher Wahrscheinlichkeit auf der gan- zen Welt nur einmal vorkommt und daher als global bzw. weltweit eindeutig bezeichnet wird. Ein Beispiel für eine weltweit eindeutige Kennung sind sogenannte Globally Unique Identifier oder GUID. Mittels eindeutiger Kennungen ist eine eindeutige Adressierung und Identifizierung eines Datenelements innerhalb der Vorrichtung, innerhalb eines gegebenen die Vorrichtung umfas- senden Systems oder, bei Verwendung weltweit eindeutiger Kennungen, sogar weltweit möglich. Außerdem können dadurch Datenelemente verschiedener Vorrichtungen miteinander gemischt werden, ohne dass dabei Datenelemente gelöscht würden. Dabei können jeweilige eindeutige Kennungen und jeweilige Validitätszeiten auch zu einer Leitkennung zusammengefasst sein. So ist es insbesondere bei weltweit eindeutigen Kennungen bekannt, einzelne solcher Kennungen unter Einbeziehung von Zeitstempeln zu erzeugen. Mit einer Leitkennung lässt sich einerseits eindeutig festlegen, welches Daten- element aus einer Mehrzahl gespeicherter Datenelemente desselben Attributs bei Zugriffen auf Datenelemente dieses Attributs ausgelesen werden soll, indem bestimmt wird, dasjenige Datenelement auszulesen, dessen Leitkennung die jüngste Validitätszeit aufweist, andererseits können Datenelemente über die in der Leitkennung enthaltene eindeutige Kennung darüber hinaus eindeu- tig adressiert werden. Weil im Falle einer Leitkennung nur eine einzige Größe für die Adressierung und die Auswahl auszulesender Datenelemente statt deren zwei wie bei getrennter Verwendung von Kennung und Validitätszeit vorgesehen werden muss, reduziert sich der notwendige Verwaltungsaufwand.In principle, it can not be ruled out that the same validity times are assigned to two data elements of two different attributes. In particular, if the validity times are on a daily basis, it is possible that the same validity times are assigned to several data elements of the same attribute stored on the same day. Validity times alone may therefore be inappropriate for unambiguously addressing or identifying data items. In a further preferred embodiment of the invention, therefore, at least one data element or each data element is assigned a respectively unique identifier and / or a globally unique identifier and / or a GUID (Globally Unique Identifier). In this case, the unique identifier may be an identifier that is unique within the device or within any given system to which the device belongs. In the simplest case, this can be an identification number, an identification code or a uniform source indicator or URL (Uniform Resource Locator). Globally unique identifiers are known from distributed computer systems. These are identifiers with such low probability of a coincidence of the identifiers that a single identifier is very likely to occur only once in the entire world and is therefore designated as unique globally or globally. An example of a globally unique identifier is Globally Unique Identifier or GUID. By means of unique identifiers, unambiguous addressing and identification of a data element within the device, within a given system comprising the device, or even globally, if globally unique identifiers are used, is possible. In addition, data elements of various devices can be mixed with each other without data elements being deleted. In this case, respective unique identifiers and respective validity times also be summarized to a leading identifier. Thus, it is known in particular for globally unique identifiers to generate individual such identifiers involving time stamps. On the one hand, it is possible to uniquely determine which data element from a plurality of stored data elements of the same attribute is to be read when accessing data elements of this attribute by determining the data element whose leading code has the most recent validity period; Moreover, the unique identifier contained in the lead identifier is uniquely addressed. Because, in the case of a routing identifier, only one size needs to be provided for addressing and selecting data items to be read instead of two as for separate use of identifier and validity time, the necessary administrative overhead is reduced.
Vorteilhafterweise ist die Vorrichtung eingerichtet, wenigstens ein vorgegebenes Datenelement mit einer zugewiesenen Validitätszeit durch ein drittes Datenelement zu ersetzen, indem sie das vorgegebene Datenelement löscht, das dritte Datenelement speichert und dem dritten Datenelement die zuvor dem vorgegebenen Datenelement zugewiesene Validitätszeit zuweist. Mittels einer derartigen Ersetzung können fehlerhaft gespeicherte Datenelemente korrigiert werden. Zum Beispiel kann ein Datenelement, bei dem es sich um eine ein Wort oder einen Namen bezeichnende Zeichenkette handelt, einen Schreib- oder Tippfehler aufweisen, oder das zu speichernde Datenelement als solches ist fälschlicherweise mit einem anderen Datenelement verwechselt worden, das anstatt des richtigen Datenelements unter Zuweisung der für das richtige Datenelement vorgesehenen Validitätszeit gespeichert worden ist. Dann kann das fehlerhafte oder falsche Datenelement auf die beschriebene Weise einfach durch das richtige Datenelement ersetzt werden.Advantageously, the device is set up to replace at least one given data element with an assigned validity time by a third data element by deleting the predetermined data element, storing the third data element and assigning to the third data element the validity time previously assigned to the given data element. By means of such a replacement erroneously stored data elements can be corrected. For example, a data item that is a character string designating a word or a name may have a typing or typing error, or the data item to be stored as such has been mistakenly mistaken for another piece of data, rather than the correct data item Assignment of the validity period provided for the correct data element has been stored. Then, the erroneous or incorrect data item can be easily replaced by the correct data item in the manner described.
Bevorzugt wird der dem vorgegebenen Datenelement zugewiesenen Validitätszeit ein Protokoll zugeordnet, in das bei Ersetzen des vorgegebenen Datenelements durch das dritte Datenelement die Ersetzung vermerkt wird und dabei das vorgegebene Datenelement in das Protokoll kopiert wird. Das Pro- tokoll kann insbesondere ein zeichenkodiertes Format oder ein XML-Format aufweisen. Mit einem solchen Protokoll können alle vorgenommenen Ersetzungen des vorgegebenen Datenelements nachvollziehbar festgehalten werden. Ein Protokoll gibt eine schnelle und bequeme Übersicht über den histori- sehen Verlauf erfolgter Ersetzungen von Datenelementen, denen die betreffende Validitätszeit zugewiesen worden ist. Das Protokoll wird vorteilhaft verwendet, um im Falle von Ersetzungen gespeicherter Datenelemente Datenverluste zu vermeiden, da bei einer Ersetzung das betreffende vorgegebene bzw. ersetzte Datenelement tatsächlich gelöscht wird. Weil das vorgegebene Datenelement in das Protokoll kopiert wird, ist es nach der Ersetzung außerhalb des Protokolls zwar gelöscht, es tritt aber trotzdem kein Datenverlust ein, da eine Kopie des gelöschten Datenelements im Protokoll vorhanden ist. Insbesondere können in dem Protokoll auch jeweilige Zeiten vermerkt werden, zu denen eine Ersetzung des vorgegebenen Datenelements stattfand. Darü- ber hinaus kann auch eine Person vermerkt werden, welche die Überschreibung veranlasst hat. Ein Protokoll kann einer Validitätszeit unmittelbar mit Speichern des Datenelements zugeordnet werden, dem die Validitätszeit zugewiesen wird. Andererseits kann ein Protokoll auch erst bei Stattfinden der Ersetzung erzeugt und der Validitätszeit des vorgegebenen Datenelements zugeordnet werden. Weil eine Zuordnung des Protokolls zur Validitätszeit des vorgegebenen Datenelements vorgesehen ist, wird bei einer nachfolgenden Ersetzung des dritten Datenelements, dem dieselbe Validitätszeit zugewiesen wird, durch ein weiteres Datenelement diese Ersetzung zusammen mit einer Kopie des dritten Datenelements im selben Protokoll wie die vorherige Erset- zung des vorgegebenen Datenelements vermerkt. Nachfolgende sukzessive Ersetzungen von Datenelementen, denen diese Validitätszeit zugewiesen wird, werden ebenfalls allesamt im selben dieser Validitätszeit zugeordneten Protokoll mitsamt einer Kopie der jeweiligen ersetzten Datenelemente vermerkt. Somit sind in ein und demselben Protokoll alle stattgefundenen Erset- zungen von Datenelementen vermerkt, denen diejenige Validitätszeit zugewiesen wurde, die ursprünglich dem vorgegebenen Datenelement zugewiesen worden ist. Wird beim Speichern eines Datenelements dem Datenelement irrtümlich eine falsche Validitätszeit zugewiesen, so lässt sich dieser Fehler durch Löschen das gespeicherten Datenelements mitsamt seiner Validitätszeit und erneutes Speichern des Datenelements mit korrekter Validitätszeit berichtigen. Sowohl das Speichern des Datenelements mit der falschen Validitätszeit als auch das Speichern des Datenelements mit der richtigen Validitätszeit kann in einem Protokoll, das wie erläutert erzeugt wird, festgehalten werden. Durch Löschen des Datenelements mit der falschen Validitätszeit und erneutes Speichern des Datenelements mit der richtigen Validitätszeit ist gewährleistet, dass zu jeder Zeit eindeutig bestimmt ist, welchem Datenelement relativ zur Bezugszeit die jüngste Validitätszeit zugewiesen ist.Preferably, the validity period assigned to the given data element is assigned a protocol in which, upon replacement of the predetermined data element by the third data element, the replacement is noted and the predetermined data element is copied into the protocol. The "pro- protocol may in particular have a character-coded format or an XML format. With such a protocol, all replacements made the given data element can be traced comprehensible. A log provides a quick and convenient overview of the historical history of completed replacements of data items that have been assigned the applicable validity period. The protocol is advantageously used in order to avoid data losses in the case of replacements of stored data elements, since with a replacement the given or replaced data element in question is actually deleted. Because the default data item is copied to the log, it is deleted after the out-of-protocol replacement, but no loss of data occurs because there is a copy of the deleted data item in the log. In particular, respective times can also be noted in the protocol for which a replacement of the given data element took place. In addition, a person can be noted, which has caused the override. A log can be associated with a validity time immediately with storage of the data item to which the validity time is assigned. On the other hand, a protocol can also be generated only when the replacement takes place and assigned to the validity period of the given data element. Since an assignment of the protocol to the validity time of the given data element is provided, in a subsequent replacement of the third data element to which the same validity time is assigned by another data element this replacement together with a copy of the third data element in the same protocol as the previous replacement of the given data element. Subsequent successive substitutions of data elements to which this validity time is assigned are also all noted in the same protocol associated with this validity period, together with a copy of the respective replaced data elements. Thus, all replacements of data elements that have been assigned the validity time that was originally assigned to the given data element are recorded in one and the same protocol. If, during the storage of a data element, the data element is erroneously assigned an incorrect validity period, this error can be corrected by deleting the stored data element together with its validity period and saving the data element again with the correct validity period. Both the storage of the data element with the wrong validity time and the storage of the data element with the correct validity time can be recorded in a log which is generated as explained. By deleting the data item with the wrong validity time and saving the data item again with the correct validity time, it is ensured that it is unambiguously determined at each time which data element is assigned the most recent validity time relative to the reference time.
Bevorzugt bilden wenigstens ein Datenelement und die ihm zugewiesene Validitätszeit oder mehrere Datenelemente und die ihnen zugewiesenen Validi- tätszeiten wenigstens ein Datenobjekt. Ist einem Datenelement eine eindeutige Kennung, eine weltweit eindeutige Kennung oder eine GUID zugewiesen, oder ist für das Attribut des Datenelements ein Protokoll vorgesehen, so können diese vorteilhaft ebenfalls vom Datenobjekt mit umfasst werden. Mit Datenobjekten lassen sich zum Beispiel Datenelemente mit Attributen, zwischen denen eine logische Beziehung besteht, gruppieren und einheitlich verwalten. Beispielsweise kann eine Prozedur wiederholt auf Datenelemente eines ersten Attributs sowie auf Datenelemente eines zweiten Attributs zugreifen. In einem solchen Fall ist es vorteilhaft, die Datenelemente des ersten Attributs und die Datenelemente des zweiten Attributs zu einem Datenobjekt zusam- menzufassen und sie als Datenobjekt einheitlich zu verwalten. Einem Datenobjekt als solchem kann zu dessen Adressierung wiederum eine eindeutige Kennung oder eine weltweit eindeutige Kennung oder eine GUID zugeordnet werden, damit Datenobjekte zwischen Anwendungen oder Modulen geladen werden können, ohne sich gegenseitig zu überschreiben. Ferner kann wenigs- tens eines der Datenelemente wenigstens eines Datenobjekts eine eindeutige Kennung oder eine weltweit eindeutige Kennung oder eine GUID eines anderen Datenelements oder eines anderen Datenobjekts sein, mit dem eine logische Relation des Datenobjekts besteht, so dass die Kennung des anderen Datenelements oder Datenobjekts im Datenobjekt wie ein gewöhnliches Datenelement behandelt wird.Preferably, at least one data element and the validity time assigned to it or several data elements and the validity times assigned to them form at least one data object. If a data element is assigned a unique identifier, a globally unique identifier or a GUID, or if a protocol is provided for the attribute of the data element, then these can advantageously also be included in the data object. For example, data objects can be used to group and uniformly manage data items with attributes that have a logical relationship. For example, a procedure may repeatedly access data items of a first attribute as well as data items of a second attribute. In such a case, it is advantageous to combine the data elements of the first attribute and the data elements of the second attribute into a data object and to manage them uniformly as a data object. A data object as such can in turn be assigned a unique identifier or a globally unique identifier or a GUID for its addressing, so that data objects can be loaded between applications or modules without overwriting each other. Furthermore, at least one of the data elements of at least one data object can be a unique identifier or a globally unique identifier or a GUID of another data element or another data object with which a logical relation of the data object exists, such that the identifier of the other Data element or data object in the data object as an ordinary data element.
Darüber hinaus ist es möglich, wenigstens einem Datenelement und/oder we- nigstens einem Datenobjekt wenigstens einen Indikator zuzuweisen. Ein Indikator kann beispielsweise eine einfache binäre Variable sein, die zur Kennzeichnung bestimmter Zustände benutzt wird. Ein Indikator kann ferner gesetzt, gelöscht oder ausgelesen werden. Beispielsweise kann vorgesehen sein, ein Datenelement zu löschen bzw. physikalisch zu löschen, sofern we- nigstens einer der ihm zugewiesenen Indikatoren einen vorgegebenen Wert annimmt. Andererseits kann, wenn der Indikator einen bestimmten Wert annimmt, anstatt das betreffende Datenelement tatsächlich zu löschen dieses auch nur als gelöscht behandelt werden, obwohl ein tatsächliches Löschen desselben nicht stattfindet. Mittels Indikatoren können ferner Zugriffsrechte bestimmt werden. Zum Beispiel kann ein Indikator festlegen, ob ein Datenelement oder ein Datenobjekt öffentlich zugänglich ist oder nicht. Weiter können Indikatoren die Zugehörigkeit des Datenelements oder des Datenobjekts zur Vorrichtung oder einer Teileinheit derselben anzeigen. Bei einem Indikator kann es sich auch um einen solchen handeln, der angibt, dass das betreffen- de Datenelement oder Datenobjekt aktuell von einer Applikation benutzt wird.Moreover, it is possible to assign at least one indicator to at least one data element and / or at least one data object. For example, an indicator may be a simple binary variable used to identify particular states. An indicator can also be set, deleted or read out. For example, it may be provided to delete or physically delete a data element if at least one of the indicators assigned to it adopts a predetermined value. On the other hand, if the indicator takes a certain value, instead of actually deleting the item in question, it may be treated as deleted even though actual deletion thereof does not take place. Furthermore, access rights can be determined by means of indicators. For example, an indicator may determine whether or not a data item or object is publicly accessible. Furthermore, indicators may indicate the membership of the data element or data object to the device or a subunit thereof. An indicator can also be one which indicates that the data element or data object in question is currently being used by an application.
Bei einer Ausführungsform der Erfindung ist der Indikator wenigstens eines Datenelements oder Datenobjekts jedoch eine Validitätsendzeit, wobei die Vorrichtung nach Überschreiten der Validitätsendzeit von einem Auslesen dieses Datenelements oder Datenobjekts absieht. Damit ist es möglich, jedem Datenobjekt oder Datenelement eines vorgegebenen Attributs eine Art Gültigkeitsdauer vorzugeben, während der ein Auslesen des Datenobjekts oder Datenelements bei Zugriffen auf Datenobjekte oder Datenelemente dieses Attributs möglich ist, wobei nach Ablauf der Gültigkeitsdauer bzw. nach der Validi- tätsendzeit ein Auslesen nicht mehr möglich ist. Insbesondere zeitkritische Be- oder Verarbeitungen von Datenelementen oder Datenobjekten lassen sich mit einem solchen Indikator regeln. Für Datenelemente oder Datenobjekte, die zum Beispiel in periodischen Abständen be- oder verarbeitet werden, kann der Indikator auch eine Periodendauer sein. Entsprechend kann ähnlich der Validitätszeit eines Datenelements wenigstens ein Indikator wenigstens eines Datenobjekts eine Validitätsstartzeit sein, die angibt, ab wann das betreffende Datenobjekt für Be- oder Verarbeitungen freigegeben ist.In one embodiment of the invention, however, the indicator of at least one data element or data object is a validity end time, the device, after exceeding the validity end time, refraining from reading out this data element or data object. This makes it possible to specify a type of validity period for each data object or data element of a given attribute, during which it is possible to read out the data object or data element when accessing data objects or data elements of this attribute, wherein after expiry of the validity period or after the validation end time is no longer possible. In particular, time-critical working or processing of data elements or data objects can be regulated with such an indicator. For data elements or data objects that are processed or processed at periodic intervals, for example the indicator also be a period. Accordingly, similar to the validity period of a data element, at least one indicator of at least one data object may be a validity start time indicating when the relevant data object has been released for working or processing.
Vorteilhafterweise weist die Vorrichtung wenigstens ein vererbbares Musterdatenobjekt mit vorgegebenen Datenelementen auf, wobei die Vorrichtung eingerichtet ist, für ein durch Vererbung des Musterdatenobjekts erzeugtes Datenobjekt einen spezifischen Indikator vorzusehen, über den sich für das so erzeugte Datenobjekt ein Bezug zu dem Musterdatenobjekt herstellen lässt. Ein solches Musterdatenobjekt kann für Datenobjekte vorgesehen sein, die in derselben Form wiederholt erzeugt werden. Dann kann anstatt jedesmal ein neues Datenobjekt vollständig neu zu generieren das entsprechende Musterdatenobjekt einfach vererbt werden, wobei die im vererbten Musterdatenob- jekt enthaltenen Datenelemente durch entsprechende Datenelemente des zu erzeugenden Datenobjekts überschrieben werden, um dadurch ein Datenobjekt mit den gewünschten Datenelementen zu erhalten. Dabei wird für die durch Vererbung des Musterdatenobjekts erzeugten Datenobjekte ein spezifischer Indikator vorgesehen, über den sich jederzeit für die so erzeugten Da- tenobjekte ein Bezug zu dem jeweiligen Musterdatenobjekt, aus dem ein Datenobjekt hervorgegangen ist, herstellen lässt. Änderungen im Musterobjekt lassen sich dann über diesen Indikator unmittelbar auf die aus dem Musterobjekt hervorgegangenen Datenobjekte entsprechend übertragen.Advantageously, the device has at least one inheritable pattern data object with predetermined data elements, wherein the device is set up to provide a specific indicator for a data object generated by inheritance of the pattern data object via which a reference to the pattern data object can be established for the data object thus generated. Such a pattern data object may be provided for data objects that are repeatedly generated in the same form. Then instead of completely regenerating a new data object each time, the corresponding pattern data object can be simply inherited, whereby the data elements contained in the inherited pattern data object are overwritten by corresponding data elements of the data object to be generated, thereby obtaining a data object with the desired data elements. In this case, a specific indicator is provided for the data objects generated by the inheritance of the pattern data object, via which a reference to the respective pattern data object, from which a data object has arisen, can be produced at any time for the data objects thus generated. Changes in the pattern object can then be transmitted via this indicator directly to the data objects resulting from the pattern object.
Im Allgemeinen können in einem flüchtigen Arbeitsspeicher mit kurzen Zugriffszeiten enthaltene Daten schneller bearbeitet und gelesen werden als in einem Permanentspeicher mit wesentlich längeren Zugriffszeiten gespeicherte Daten. Aus diesem Grund umfasst die erfindungsgemäße Vorrichtung bevorzugt wenigstens einen Permanentspeicher zum Speichern von Datenelemen- ten und/oder Datenobjekten sowie wenigstens einen Arbeitsspeicher und ist eingerichtet, gespeicherte Datenelemente und/oder Datenobjekte aus dem Permanentspeicher auszulesen und in den Arbeitsspeicher zu schreiben und im Falle einer im Arbeitsspeicher stattfindenden Ersetzung des ausgelesenen Datenelements und/oder eines vom ausgelesenen Datenobjekt umfassten Datenelements durch ein viertes Datenelement das zugehörige im Permanentspeicher gespeicherte Datenelement im Permanentspeicher durch das vierte Datenelement zu überschreiben. Bei einer solchen Vorrichtung ist gewährleis- tet, dass im Falle unvorhergesehener Störungen während der Bearbeitung des Datenobjekts im Arbeitsspeicher, wie zum Beispiel einem Systemabsturz, bis dahin erfolgte Änderungen der im Arbeitsspeicher bearbeiteten Datenelemente oder Datenobjekte nicht verloren gehen und bei einem Neustart rasch wieder im Arbeitsspeicher verfügbar sind. Dabei wird vorzugsweise das aus- gelesene Datenobjekt und/oder Datenelement in ein zeichenkodiertes Format oder ein XML-Format umgewandelt oder binär serialisiert und das so umgewandelte bzw. serialisierte Datenobjekt und/oder Datenelement in den Arbeitsspeicher geschrieben, um bestimmten Anwendungsprogrammen eine Bearbeitung oder ein Lesen des Datenobjekts und/oder Datenelements zu ermöglichen.In general, data contained in a volatile random access memory can be processed and read faster than data stored in a non-volatile memory with significantly increased access times. For this reason, the device according to the invention preferably comprises at least one non-volatile memory for storing Datenelemen- and / or data objects and at least one main memory and is adapted to read stored data elements and / or data objects from the non-volatile memory and write to the main memory and in the case of Working memory replacing the read out Data element and / or a data element comprised of the read data object by a fourth data element to overwrite the associated stored in the non-volatile memory data element in the non-volatile memory by the fourth data element. Such a device ensures that in the case of unforeseen disruptions during processing of the data object in the working memory, such as a system crash, changes to the data elements or data objects processed in the main memory are not lost and quickly re-stored in the main memory when restarting Are available. In this case, the read data object and / or data element is preferably converted into a character-encoded format or an XML format or binary serialized and the data object and / or data element thus converted or written to the main memory in order to process or read certain application programs of the data object and / or data element.
Bei der Vorrichtung kann es sich auch um eine Datenbank handeln. Im Unterschied zur Festplatte eines gewöhnlichen Computers ist eine Datenbank speziell für das Speichern von Daten unter Vermeidung von Datenredundanzen ausgelegt. Insbesondere kann es sich bei der Datenbank um eine der üblichen verbreiteten relationalen Datenbanken handeln.The device may also be a database. Unlike the hard disk of an ordinary computer, a database is designed specifically for storing data while avoiding data redundancy. In particular, the database may be one of the commonly used relational databases.
Bei der Vorrichtung kann es sich aber auch um eine Datenverarbeitungseinrichtung zum Verarbeiten von Daten durch einen oder mehrere Datenverarbei- tungsprozesse handeln, in der wenigstens ein Datenverarbeitungsprozess durch wenigstens zwei Datenelemente implementiert ist, wobei jeweilige den Datenelementen zugeordnete Identifikationen spezifische Attribute der Datenelemente sind, wobei jedes Datenelement eine jeweilige Sequenz von Kalkulationsanweisungen umfasst und wobei die Datenverarbeitungseinrichtung zum Verarbeiten von Daten durch den Datenverarbeitungsprozess unter Vorgabe einer Identifikation eingerichtet ist, indem sie anhand der Identifikation eines der Datenelemente identifiziert, die Kalkulationsanweisungen der vom identifizierten Datenelement umfassten Sequenz von Kalkulationsanweisun- gen ausführt und die Daten mit Ausführen der Kalkulationsanweisungen verarbeitet. Mit einer solchen Datenverarbeitungseinrichtung ist es nicht mehr länger notwendig, bei einer Änderung des Datenverarbeitungsprozesses den kompletten Quellcode zu kompilieren, bzw. das gesamte Maschinenprogramm oder den kompletten Quellcode in den Speicher der Datenverarbeitungseinrichtung zu übertragen, da bei Änderungen des Datenverarbeitungsprozesses jeweils nur eines oder wenige Datenelemente in den Speicher der Datenverarbeitungseinrichtung zu übertragen sind. Mitunter kann eine Übertragung von Datenelementen auch vollständig entfallen, sofern die Änderung des Da- tenverarbeitungsprozesses beispielsweise im Löschen einer bestimmten Sequenz von Kalkulationsanweisungen, also eines Datenelements, besteht. Da kleinere Datenmengen übertragen werden, reduziert sich der Aufwand bei Änderungen eines Datenverarbeitungsprozesses und Änderungen können schneller vorgenommen werden. Eine weitere Erhöhung der Schnelligkeit so- wie eine weitere Verringerung des Aufwands bei Änderungen von Datenverarbeitungsprozessen ergibt sich aus dem Umstand, dass insbesondere bei länglichen und unübersichtlichen Quellcodes betreffende zu ändernde Kalkulationsanweisungen nicht mehr umständlich identifiziert werden müssen. Die einzelnen Datenelemente erlauben vielmehr einen gezielten Zugriff auf ein Datenelement mit der zu ändernden Sequenz von Kalkulationsanweisungen.However, the device may also be a data processing device for processing data by one or more data processing processes in which at least one data processing process is implemented by at least two data elements, wherein respective identifications associated with the data elements are specific attributes of the data elements, each Data element comprises a respective sequence of calculation instructions and wherein the data processing device is arranged for processing data by the data processing process under specification of an identification by identifying based on the identification of one of the data elements, the calculation instructions of the sequence of calculation instructions included in the identified data element. and process the data by executing the costing statements. With such a data processing device, it is no longer necessary to compile the complete source code in the event of a change in the data processing process, or to transfer the entire machine program or the complete source code to the memory of the data processing device, since only one or a few data elements are changed during the data processing process be transferred to the memory of the data processing device. Sometimes a transfer of data elements can also be completely omitted, provided that the change of the data processing process, for example, in the deletion of a particular sequence of calculation instructions, ie a data element exists. As smaller amounts of data are transferred, the cost of changing a data processing process is reduced and changes can be made faster. A further increase in speed as well as a further reduction in the cost of changes to data processing processes results from the fact that, especially with elongated and confusing source codes, calculation instructions to be changed need no longer be cumbersomely identified. Rather, the individual data elements allow targeted access to a data element with the sequence of calculation instructions to be changed.
Jeweilige Sequenzen von Kalkulationsanweisungen wenigstens zweier Datenelemente können jeweilige Teilprozesse desselben Datenverarbeitungsprozesses oder zweier verschiedener Datenverarbeitungsprozesse sein, die zur Ausführung eines Gesamtprozesses sukzessiv auszuführen sind. Als Ergebnis des Ausführens einer ersten Sequenz von Kalkulationsanweisungen eines ersten Datenelements kann beispielsweise eine Identifikation ausgegeben werden, wobei die Identifikation mit der Identifikation eines zweiten Datenelementes übereinstimmt, das eine nachfolgend auszuführende zweite Se- quenz von Kalkulationsanweisungen umfasst, um nachfolgend dieses zweite Datenelement zu identifizieren und die zweite Sequenz von Kalkulationsanweisungen auszuführen. Daneben können bei der Ausführung der ersten Sequenz von Kalkulationsanweisungen Daten erzeugt werden, die bei Ausführen der zweiten Sequenz von Kalkulationsanweisungen wenigstens zum Teil verarbeitet werden. Auf diese Weise ist bei Vorsehen entsprechender Datenelemente die sukzessive Ausführung einer beliebigen Anzahl von Sequenzen von Kalkulationsanweisungen möglich. Insbesondere bedingte Verzweigungen und Schleifen, wie sie bei herkömmlichen Computerprogrammen häufig auftreten, lassen sich durch derartige sukzessiv ausführbare Sequenzen von Kalkulationsanweisungen ersetzen. Gleichwohl ist das Auftreten bedingter Verzweigungen und Schleifen jedoch auch innerhalb der Sequenz von Kalkulationsanweisungen eines einzigen Datenelements möglich. Im Allgemeinen werden aber bedingte Verzweigungen und Schleifen bevorzugt durch sukzessiv ausführbare Sequenzen von Kalkulationsanweisungen verschiedener Datenelemente ersetzt, da dies die Rechengeschwindigkeit der Datenverarbeitungseinrichtung wesentlich erhöht.Respective sequences of calculation instructions of at least two data elements can be respective sub-processes of the same data processing process or of two different data processing processes that are to be successively executed to execute an overall process. For example, as an outcome of executing a first sequence of calculation instructions of a first data element, an identification may be output, wherein the identification matches the identification of a second data element comprising a second sequence of calculation instructions to be subsequently executed to subsequently identify that second data element and to execute the second sequence of calculation instructions. In addition, data can be generated when executing the first sequence of calculation instructions the second sequence of calculation instructions are at least partially processed. In this way, the provision of corresponding data elements, the successive execution of any number of sequences of calculation instructions is possible. In particular, conditional branches and loops, as frequently occur in conventional computer programs, can be replaced by such successively executable sequences of calculation instructions. However, the occurrence of conditional branches and loops is also possible within the sequence of calculation instructions of a single data element. In general, however, conditional branches and loops are preferably replaced by successively executable sequences of calculation instructions of different data elements, since this considerably increases the computing speed of the data processing device.
Andererseits kann es sich bei den Sequenzen von Kalkulationsanweisungen wenigstens zweier Datenelemente desselben Datenverarbeitungsprozesses oder zweier verschiedener Datenverarbeitungsprozesse auch um Alternativprozesse handeln, wobei bei Ausführen des Datenverarbeitungsprozesses oder beider Datenverarbeitungsprozesse genau eine dieser Sequenzen von Kalkulationsanweisungen ausführbar ist. Ein solcher Datenverarbeitungspro- zess lässt sich beispielsweise an verschiedene Verarbeitungsmodi anpassen, wobei je nach Verarbeitungsmodus ein entsprechendes Datenelement identifiziert wird.On the other hand, the sequences of calculation instructions of at least two data elements of the same data processing process or of two different data processing processes may also be alternative processes, wherein when the data processing process or both data processing processes are executed exactly one of these sequences of calculation instructions is executable. Such a data processing process can be adapted to different processing modes, for example, whereby a corresponding data element is identified depending on the processing mode.
Bevorzugt liegen die Kalkulationsanweisungen wenigstens einer Sequenz von Kalkulationsanweisungen in einem zeichenkodierten Format in dem betreffenden Datenelement vor. Liegen die Kalkulationsanweisungen in einem zeichenkodierten Format vor, so entfällt die Notwendigkeit, den Quellcode zu kompilieren. Ferner ist damit eine vollständige Trennung von grundlegenden technischen Kalkulationsanweisungen, die als binäre Maschinenbefehle vorliegen, und Kalkulationsanweisungen, welche die logische Verarbeitung der Daten betreffen und als Parameter im zeichenkodierten Format vorliegen, möglich. Bisher notwendige Programmiertätigkeiten bei Erstellung und War- tung von Datenverarbeitungsprozessen entfallen bei einer solchen Trennung. Besonders bevorzugt liegen die Kalkulationsanweisungen im XML-Format vor, da dieses ein gängiges und verbreitetes Format ist. Dateien im XML-Format sind von den meisten Interpretern lesbar und somit plattformunabhängig.The calculation instructions of at least one sequence of calculation instructions in a character-coded format are preferably present in the relevant data element. If the calculation instructions are in a character-coded format, there is no need to compile the source code. Furthermore, this allows a complete separation of basic technical calculation instructions, which are available as binary machine instructions, and calculation instructions, which concern the logical processing of the data and are available as parameters in the character-coded format. Previously required programming activities in the preparation and processing of data processing is omitted in such a separation. The calculation instructions are particularly preferably in XML format, since this is a common and widespread format. Files in XML format are readable by most interpreters and thus platform-independent.
Bei einer bevorzugten Ausführungsform der Erfindung ist wenigstens zwei Datenelementen zweier verschiedener Datenverarbeitungsprozesse die gleiche Identifikation zugeordnet. Bei einer derartigen Ausführungsform kann insbesondere wenigstens eine vordefinierte Datenverarbeitungskategorie vorgese- hen sein, wobei wenigstens eines der Datenelemente über die ihm zugeordnete Identifikation wenigstens einer Datenverarbeitungskategorie zugewiesen ist und die Datenverarbeitungseinrichtung ferner zum Verarbeiten von Daten unter Vorgabe einer Datenverarbeitungskategorie eingerichtet ist, wobei die Datenverarbeitungseinrichtung bei Verarbeiten von Daten mittels eines Da- tenverarbeitungsprozesses oder mehrerer unterschiedlicher Datenverarbeitungsprozesse ein jeweiliges Datenelement nur dann identifiziert, wenn das Datenelement der vorgegebenen Datenverarbeitungskategorie zugewiesen ist. Die Einrichtung von Datenverarbeitungskategorien ermöglicht es, dass von den Sequenzen von Kalkulationsanweisungen mehrerer Datenelemente, die auch von verschiedenen Datenprozessen stammen können, jeweils nur solche ausgeführt werden, die logisch zusammenhängen. Dabei kann zwischen den Datenverarbeitungskategorien eine Hierarchie in Form einer verzweigten Baumstruktur existieren, so dass beispielsweise einer Datenverarbeitungskategorie eine oder mehrere in der Hierarchie tiefer gestellte Datenverarbei- tungskategorien zugewiesen sind, und jeder dieser tiefer gestellten Datenverarbeitungskategorien wiederum eine oder mehrere in der Hierarchie noch tiefer gestellte Datenverarbeitungskategorien zugewiesen sind, und so weiter. Mittels Datenverarbeitungskategorien lassen sich auch die von den Datenverarbeitungsprozessen zu verarbeitenden Daten kategorisieren und dafür sor- gen, dass je nach vorgegebener Datenverarbeitungskategorie entsprechende Daten verarbeitet werden. Dementsprechend ist eine Datenverarbeitungseinrichtung ganz besonders bevorzugt, bei der wenigstens ein Teil der zu verarbeitenden Daten wenigstens einer Datenverarbeitungskategorie zugewiesen ist und die Datenverarbeitungseinrichtung zum Verarbeiten von Daten unter Vorgabe einer Datenverarbeitungskategorie eingerichtet ist, indem sie von den einer Datenverarbeitungskategorie zugewiesenen Daten wenigstens einen Teil derjenigen Daten verarbeitet, die der vorgegebenen Datenverarbei- tungskategorie zugewiesen sind. Ferner ist es vorteilhaft, eine Suchfunktion vorzusehen, die bei Vorgabe einer Datenverarbeitungskategorie alle Datenelemente und/oder Daten anzeigt, die dieser Datenverarbeitungskategorie zugewiesen sind, um einen schnellen Zugriff auf Datenelemente und Daten einer bestimmten Datenverarbeitungskategorie zu ermöglichen.In a preferred embodiment of the invention, at least two data elements of two different data processing processes are assigned the same identification. In such an embodiment, in particular at least one predefined data processing category may be provided, wherein at least one of the data elements is assigned to at least one data processing category via its associated identification, and the data processing device is further configured to process data under specification of a data processing category, the data processing device processing of data by means of a data processing process or a plurality of different data processing processes only identifies a respective data element if the data element is assigned to the predetermined data processing category. The establishment of data processing categories makes it possible for sequences of calculation instructions of several data elements, which can also originate from different data processes, to execute only those which are logically connected. In this case, a hierarchy in the form of a branched tree structure can exist between the data processing categories, so that, for example, one or more data processing categories assigned to one data processing category are assigned to one data processing category, and each of these lower-set data processing categories in turn has one or more data processing categories even deeper in the hierarchy are assigned, and so on. By means of data processing categories, the data to be processed by the data processing processes can also be categorized and ensure that corresponding data are processed according to the given data processing category. Accordingly, a data processing device is particularly preferred in which at least a part of the data to be processed is assigned to at least one data processing category and the data processing device is set up to process data specifying a data processing category by processing from the data assigned to a data processing category at least part of the data assigned to the given data processing category. Furthermore, it is advantageous to provide a search function which, when specifying a data processing category, indicates all data elements and / or data assigned to this data processing category to allow quick access to data elements and data of a particular data processing category.
Eine Datenverarbeitungseinrichtung gemäß der vorliegenden Erfindung kann derart eingerichtet sein, dass sie wenigstens einem Datenelement oder jedem Datenelement eine jeweils eindeutige Kennung und/oder eine weltweit eindeutige Kennung und/oder eine GUID zuweist. Mittels eindeutiger Kennungen ist eine eindeutige Adressierung und Identifizierung eines Datenelements innerhalb der Datenverarbeitungseinrichtung, innerhalb eines gegebenen die Datenverarbeitungeinrichtung umfassenden Systems oder, bei Verwendung weltweit eindeutiger Kennungen, sogar weltweit möglich. Außerdem können dadurch Datenelemente verschiedener Vorrichtungen miteinander gemischt werden, ohne dass dabei Datenelemente gelöscht würden.A data processing device according to the present invention can be set up such that it assigns at least one data element or each data element a respective unique identifier and / or a globally unique identifier and / or a GUID. By means of unique identifiers, unambiguous addressing and identification of a data element within the data processing device, within a given system comprising the data processing device, or even globally, if globally unique identifiers are used, is possible. In addition, data elements of various devices can be mixed with each other without data elements being deleted.
Die Vorrichtung kann in jedem beliebigen Computer oder Computersystem implementiert sein. Ein solches System kann wenigstens zwei oder mehr miteinander verbundene Computer umfassen. Diese können durch ein bi- oder multidirektionales Netzwerk oder über das Internet miteinander verbunden sein. Besonders bevorzugt umfasst das System wenigstens eine erste erfindungsgemäße Vorrichtung, bei der es sich um eine Datenbank handelt, und/oder wenigstens eine zweite erfindungsgemäße Vorrichtung, bei der es sich um eine Datenverarbeitungseinrichtung handelt.The device may be implemented in any computer or computer system. Such a system may include at least two or more interconnected computers. These can be linked by a bi-directional or multidirectional network or via the Internet. Particularly preferably, the system comprises at least one first device according to the invention, which is a database, and / or at least one second device according to the invention, which is a data processing device.
Die Erfindung wird nachfolgenden anhand von bevorzugten Ausführungsbeispielen unter Zuhilfenahme von Zeichnungen näher erläutert. Es zeigen:The invention will be explained in more detail below with reference to preferred embodiments with the aid of drawings. Show it:
Figur 1 eine Vorrichtung gemäß der vorliegenden Erfindung;Figure 1 shows an apparatus according to the present invention;
Figur 2 ein Flussdiagramm eines Verfahrens gemäß der vorliegenden Erfindung;Figure 2 is a flow chart of a method according to the present invention;
Figur 3a) ein Datenelement;Figure 3a) a data element;
Figur 3b) Datenelemente nach erfolgter Überschreibung des Datenelements der Figur 3a);FIG. 3b) data elements after overwriting the data element of FIG. 3a);
Figur 3c) Datenelemente nach einer weiteren Überschreibung eines Datenelements der Figur 3b);FIG. 3c) data elements after a further overwriting of a data element of FIG. 3b);
Figur 3d) Datenelemente nach einer Ersetzung eines der Datenelemente der Figur 3c);FIG. 3d) data elements after a replacement of one of the data elements of FIG. 3c);
Figur 4 ein Datenelement mit Indikatoren;FIG. 4 shows a data element with indicators;
Figur 5 ein Datenobjekt;FIG. 5 a data object;
Figur 6 das Datenobjekt der Figur 5 nach Überschreiben eines Datenelements;FIG. 6 shows the data object of FIG. 5 after overwriting a data element;
Figur 7 ein System mit zwei Vorrichtungen gemäß der vorliegenden Erfindung;FIG. 7 shows a system with two devices according to the present invention;
Figur 8 eine Datenverarbeitungseinrichtung;FIG. 8 shows a data processing device;
Figur 9 eine Baumstruktur hierarchischer Datenverarbeitungskategorien;FIG. 9 shows a tree structure of hierarchical data processing categories;
Figur 10a) ein Datenelement in einer Datenverarbeitungseinrichtung; Figur 10b) Datenelemente nach erfolgter Überschreibung des Datenelements der Figur 10a);FIG. 10a) shows a data element in a data processing device; FIG. 10b) data elements after overwriting the data element of FIG. 10a);
Figur 10c) Datenelemente nach einer weiteren Überschreibung eines Datenelements der Figur 10b); undFIG. 10c) data elements after a further overwriting of a data element of FIG. 10b); and
Figur 1Od) Datenelemente nach einer Ersetzung eines der Datenelemente der Figur 10c).FIG. 10D) data elements after a replacement of one of the data elements of FIG. 10c).
Figur 1 zeigt eine Vorrichtung 1 gemäß der vorliegenden Erfindung. Die Vorrichtung 1 umfasst einen Permanentspeicher 2 und einen Arbeitsspeicher 3. Sowohl der Vorrichtung 1 als solcher als auch deren Permanentspeicher 2 ist jeweils eine GUID zugeordnet, und zwar der Vorrichtung 1 die GUID 4 und dem Permanentspeicher 3 die GUID 5. In dem Permanentspeicher 2 sind Datenelemente 6 und Datenobjekte 7 gespeichert, wobei der Übersichtlichkeit halber jeweils nur ein Datenelement 6 und ein Datenobjekt 7 dargestellt sind. Jedem Datenelement 6 sind eine GUID 8 und eine Validitätszeit 9 zugeordnet, während jedem Datenobjekt 7 eine GUID 10 und eine Validitätsstartzeit 11 zugeordnet sind.FIG. 1 shows a device 1 according to the present invention. The device 1 comprises a permanent memory 2 and a working memory 3. Both the device 1 as such and its permanent memory 2 are each assigned a GUID, namely the device 1 the GUID 4 and the permanent memory 3 the GUID 5. In the non-volatile memory 2 are Data elements 6 and 7 data objects stored, wherein for the sake of clarity, only a data element 6 and a data object 7 are shown. Each data element 6 is assigned a GUID 8 and a validity period 9, while each data object 7 is assigned a GUID 10 and a validity start time 11.
Zum Bearbeiten und Lesen der im Permanentspeicher 2 gespeicherten Datenelemente 6 und Datenobjekte 7 kann entweder direkt auf die im Permanentspeicher 2 gespeicherten Datenelemente 6 und Datenobjekte 7 zurück- gegriffen werden, oder diese werden aus dem Permanentspeicher 2 ausgelesen, in ein XML-Format umgewandelt und in den Arbeitsspeicher 3 geschrieben. Im in der Figur 1 gezeigten Arbeitsspeicher 3 ist mittels gestrichelter Linien ein Datenelement 12 im XML-Format dargestellt, das durch Auslesen eines Datenelements 6 aus dem Permanentspeicher 2 und Umwandeln in ein XML-Format erzeugt worden ist. Das Auslesen des Datenelements 6 hat keinen Einfluss auf die Speicherung des Datenelements 6 im Permanentspeicher 2. Entsprechend ist im Arbeitsspeicher 3 ein Datenobjekt 13 im XML-Format mittels gestrichelter Linien dargestellt, das durch Auslesen eines Datenobjekts 7 aus dem Permanentspeicher 2 und Umwandeln in ein XML-Format erzeugt worden ist, wobei auch hier das Auslesen des Datenobjekts 7 keinen Einfluss auf den Speicherzustand des Datenobjekts 7 im Permanentspeicher 2 hat.For processing and reading the data elements 6 and data objects 7 stored in the permanent memory 2, it is possible to resort either directly to the data elements 6 and data objects 7 stored in the permanent memory 2, or these are read from the permanent memory 2, converted into an XML format and converted into the main memory 3 written. In the working memory 3 shown in FIG. 1, a data element 12 in XML format is shown by dashed lines, which has been generated by reading a data element 6 from the non-volatile memory 2 and converting it into an XML format. The reading out of the data element 6 has no influence on the storage of the data element 6 in the non-volatile memory 2. Accordingly, a data object 13 is represented in the working memory 3 in XML format by dashed lines, by reading a data object 7 has been generated from the non-volatile memory 2 and converting into an XML format, wherein here too the reading of the data object 7 has no influence on the memory state of the data object 7 in the non-volatile memory 2.
Im Folgenden wird ein Verfahren zum Speichern von Datenelementen 6 spezifischer Attribute und zum Überschreiben von im Permanentspeicher 2 gespeicherten Datenelementen 6 gemäß der vorliegenden Erfindung erläutert. Figur 2 zeigt ein Flussdiagramm des Verfahrens. Nach Beginn des im Flussdiagramm der Figur 2 dargestellten Verfahrens mit dem Schritt SO wird im Schritt S1 das in Figur 3a) gezeigte Datenelement 6 im Permanentspeicher 2 gespeichert. Bei dem Datenelement 6 handelt es sich um eine Zeichenkette mit den Zeichen „Maier", die einen Nachnamen bezeichnet. Weil das Datenelement 6 einen Nachnamen bezeichnet, handelt es sich bei ihm um ein Datenelement des Attributs „Nachname". Dem Datenelement 6 werden beim Speichern im Schritt S1 die Validitätszeit 9 und die GUID 8 zugeordnet. Die Validitätszeit 9 hat im vorliegenden Fall den Wert „24.09.2007" und entspricht dem Tag, an dem das Datenelement 6 im Permanentspeicher 2 gespeichert wird. Als GUIDHereinafter, a method of storing data items 6 of specific attributes and overwriting data items 6 stored in the nonvolatile memory 2 according to the present invention will be explained. FIG. 2 shows a flow chart of the method. After the start of the method illustrated in the flowchart of FIG. 2 with the step SO, the data element 6 shown in FIG. 3 a) is stored in the non-volatile memory 2 in step S 1. The data item 6 is a character string having the characters "Maier" designating a last name, and because the data item 6 designates a last name, it is a data item of the attribute "Last Name". The data element 6 is assigned the validity time 9 and the GUID 8 when it is stored in step S1. The validity time 9 in the present case has the value "24.09.2007" and corresponds to the day on which the data element 6 is stored in the non-volatile memory 2. As a GUID
8 wird der Einfachheit halber eine vierstellige Zahl angenommen, die hier den Wert „7777" hat.8, for the sake of simplicity, a four-digit number is assumed, which has the value "7777" here.
Das Datenelement 6 des Attributs „Nachname" soll nun durch ein Datenelement 14 desselben Attributs „Nachname" überschrieben werden, bei dem es sich um eine Zeichenkette mit den Zeichen „Müller" handelt. Dazu wird im Schritt S2 das Datenelement 14 im Permanentspeicher 2 gespeichert, wobei ihm die Validitätszeit 15 zugewiesen wird, die dem Zeitpunkt des Speicherns des Datenelements 14 entspricht und vorliegend den Wert „13.12.2007" hat. Die Validitätszeit 15 ist folglich jünger als die Validitätszeit 9. Zusätzlich wird dem Datenelement 14 eine eigene GUID 16 mit dem Wert „7778" zugewiesen. Dabei bleibt das Datenelement 6 unberührt, d.h. das Datenelement 6 wird weder gelöscht noch anderweitig verändert, sein Speicherzustand wird vielmehr beibehalten. Figur 3b) zeigt die Situation nach Ausführen des Schrittes S2: Neben dem Datenelement 6, seiner Validitätszeit 9 und seiner GUID 8 liegt auch das Datenelement 14 mitsamt Validitätszeit 15 und GUID 16 im Permanentspeicher 2 gespeichert vor.The data element 6 of the attribute "last name" is now to be overwritten by a data element 14 of the same attribute "last name", which is a character string with the characters "Müller." For this purpose, the data element 14 is stored in the non-volatile memory 2 in step S2. where the validity time 15 is assigned to it, which corresponds to the time of storage of the data element 14 and in this case has the value "13.12.2007". The validity period 15 is consequently younger than the validity time 9. In addition, the data element 14 is assigned its own GUID 16 with the value "7778." The data element 6 remains untouched, ie the data element 6 is neither deleted nor changed in any other way, rather its memory state becomes Figure 3b) shows the situation after the execution of step S2: in addition to the data element 6, its validity time 9 and its GUID 8 the data element 14 together with validity time 15 and GUID 16 is also stored in permanent memory 2.
Sofern nach Erfolgen der Überschreibung auf ein Datenelement des Attributs „Nachname" zugegriffen wird, um dieses Datenelement in den Arbeitsspeicher 3 auszulesen, wird im Schritt S3 eine Bezugszeit vorgegeben. Gemäß einem voreingestellten ersten Arbeitsmodus der Vorrichtung 1 wird automatisch die aktuelle Zeit des Zugriffs als Bezugszeit gewählt und vorgegeben. Diese ist naturgemäß jünger als beide Validitätszeiten 9 und 15. Damit wird im nachfol- genden Schritt S4 geprüft, ob einem der im Permanentspeicher 2 gespeicherten Datenelemente 6 und 14 des Attributs „Nachname" eine Validitätszeit 9 und 15 zugewiesen ist, die älter ist als die Bezugszeit. Ist dies der Fall, wird im Schritt S5 dasjenige der beiden im Permanentspeicher 2 gespeicherten Datenelemente 6 und 14 des Attributs „Nachname" mit der jüngsten Validi- tätszeit 15 ausgelesen, im vorliegenden Beispiel also das Datenelement 14. Das Verfahren endet mit dem Schritt S6. Stellt die Prüfung im Schritt S4 dagegen fest, dass keinem der Datenelemente 6 und 14 eine Validitätszeit 9 und 15 zugewiesen ist, die älter ist als die Bezugszeit, sieht die Vorrichtung 1 vom Auslesen der Datenelemente 6, 14 ab und das Verfahren endet mit dem Schritt S7.If a data item of the attribute "Last Name" is accessed after the successful overrides to read this data item into the working memory 3, a reference time is set in step S3 This is naturally younger than both validity times 9 and 15. In the following step S4, it is checked whether one of the data elements 6 and 14 stored in the permanent memory 2 of the attribute "last name" is assigned a validity time 9 and 15 older than the reference time. If this is the case, in step S5 that of the two data elements 6 and 14 stored in the permanent memory 2 of the attribute "last name" is read out with the most recent validity time 15, in the present example the data element 14. The method ends with step S6. On the other hand, if the test in step S4 determines that none of the data elements 6 and 14 have a validity time 9 and 15 older than the reference time, the device 1 looks to read the data elements 6, 14 and the method ends with the step S7.
Außerhalb des Permanentspeichers 2 unterscheidet sich die Wirkung des erfindungsgemäßen Verfahrens somit nicht von der Wirkung bekannter Verfahren, bei denen gespeicherte Datenelemente überschrieben und dabei physika- lisch gelöscht werden: Bei Zugriffen auf Datenelemente des betreffenden Attributs wird in beiden Fällen das jeweils neu gespeicherte Datenelement ausgegeben, mit dem das ursprüngliche Datenelement überschrieben worden ist. Innerhalb des Permanentspeichers 2 dagegen bleibt bei Überschreiben eines Datenelements gemäß dem erfindungsgemäßen Verfahren das überschriebe- ne Datenelement unverändert im Permanentspeicher 2 gespeichert, während es bei bekannten Verfahren unter Umständen physikalisch gelöscht wird und sein Informationsgehalt dadurch unwiederbringlich verloren geht. Somit erlaubt es das erfindungsgemäße Verfahren, auch nach dem Überschreiben bei Bedarf auf das überschriebene Datenelement zuzugreifen. Sofern dem Datenelement eine eigene Kennung oder wie im vorliegenden Beispiel eine GUID zugewiesen wird, erleichtert diese die Adressierung des Datenelements bei einem Zugriff auf dasselbe. Ein unbeabsichtigtes Löschen von Datenele- menten, beispielsweise bei Aktualisierungen bestehender Datenbestände, ist folglich grundsätzlich ausgeschlossen.Outside the permanent memory 2, the effect of the method according to the invention thus does not differ from the effect of known methods in which stored data elements are overwritten and thereby physically deleted: in the case of accesses to data elements of the respective attribute, the respectively newly stored data element is output in both cases, with which the original data element has been overwritten. Within the permanent memory 2, on the other hand, when overwriting a data element in accordance with the inventive method, the overwritten data element is stored unchanged in the permanent memory 2, while in known methods it may be physically erased and its information content thereby irretrievably lost. Thus, the inventive method allows, even after overwriting at Need to access the overwritten data item. If the data element is assigned its own identifier or, as in the present example, a GUID, this facilitates the addressing of the data element when accessing it. Inadvertent deletion of data elements, for example in the case of updates of existing databases, is therefore fundamentally excluded.
In einem zweiten Arbeitsmodus der Vorrichtung 1 können auch andere Bezugszeiten vorgegeben werden. Wird bei einem Zugriff auf Datenelemente des Attributs „Nachname" beispielsweise eine zwischen den Validitätszeiten 9 und 15 liegende Bezugszeit vorgegeben, so liest die Vorrichtung 1 das Datenelement 6 aus, da dessen Validitätszeit 9 nun die jüngste derjenigen Validitätszeiten ist, die älter sind als die Bezugszeit. Gibt man stattdessen eine Bezugszeit vor, die vor der Validitätszeit 9 liegt bzw. die älter als die Validitäts- zeit 9 ist, wird kein Datenelement ausgelesen, weil keine der Validitätszeiten 9 und 15 älter ist als die Bezugszeit. Bei Vorgabe einer Bezugszeit, die relativ zur Zeit des Zugriffs in der Zukunft liegt, wird wiederum das Datenelement 14 ausgelesen, da dessen Validitätszeit 15 auch in diesem Fall die jüngste der Validitätszeiten 9 und 15 ist, die beide älter als die Bezugszeit sind.In a second mode of operation of the device 1, other reference times can be specified. If, for example, access to data elements of the "last name" attribute specifies a reference time lying between validity times 9 and 15, then device 1 reads out data element 6, since its validity period 9 is now the most recent of those validity times that are older than the reference time If, instead, one specifies a reference time that lies before the validity period 9 or is older than the validity time 9, no data element is read out because none of the validity times 9 and 15 are older than the reference time relative to the time of access in the future, again the data element 14 is read out, since its validity time 15 is also in this case the most recent of validity times 9 and 15, which are both older than the reference time.
Bei einer späteren Überschreibung des Datenelements 14 in der Figur 3b), welches wie erwähnt bis dahin dasjenige der beiden Datenelemente 6 und 14 des Attributs „Nachname" mit der jüngsten Validitätszeit 15 ist, wird analog verfahren. Zum Überschreiben des Datenelements 14, beispielsweise durch ein Datenelement 17 desselben Attributs „Nachname", bei dem es sich um die Zeichenkette „Schmidt" handelt, wird das Datenelement 17 im Permanentspeicher 2 gespeichert, dabei wird ihm eine Validitätszeit 18, im vorliegenden Fall „04.03.2008" zugewiesen, bei der es sich um den Tag handelt, an dem das Datenelement 17 in den Permanentspeicher 2 gespeichert wurde, und es wird ihm eine GUID 19 zugwiesen, vorliegend die GUID 19 mit dem Wert „7779". Figur 3c) zeigt die Situation nach Überschreiben des Datenelements 14 durch das Datenelement 17. Nach Erfolgen der Überschreibung wird im ersten Arbeitsmodus der Vorrichtung 1 bei Zugriffen auf Datenelemente des Attributs „Nachname" dasjenige der drei gespeicherten Datenelemente 6, 14, 17 ausgelesen, das nunmehr die jüngste Validitätszeit 18 von allen Validitäts- zeiten 9, 15, 18 der Datenelemente 6, 14, 17 des Attributs „Nachname" hat, also das Datenelement 17. Im zweiten Arbeitsmodus wird bei Zugriffen mit Vorgabe einer Bezugszeit, die vor der Validitätszeit 9 liegt, wie oben erläutert keines der Datenelemente 6, 14, 17 ausgegeben, bei Vorgabe einer Bezugszeit zwischen der Validitätszeit 9 und der Validitätszeit 15 wird das Datenelement 6 ausgelesen, bei Vorgabe einer Bezugszeit zwischen der Validitätszeit 15 und der Validitätszeit 18 wird das Datenelement 14 ausgelesen, und bei Vorgabe einer Bezugszeit, die jünger ist als die Validitätszeit 18, beispielsweise wie im ersten Arbeitsmodus der Vorrichtung 1 die Zeit, zu der zugegriffen wird oder einer relativ zum Zugriff in der Zukunft liegenden Zeit, erfolgt die Ausgabe des Datenelements 17.In the case of a later overwriting of the data element 14 in FIG. 3b), which as previously mentioned is that of the two data elements 6 and 14 of the attribute "last name" with the most recent validity period 15, the procedure is analogous Data element 17 of the same attribute "Last Name", which is the character string "Schmidt", the data element 17 is stored in the non-volatile memory 2, while a validity time 18, in the present case "04/03/2008" assigned, in which it is the day on which the data element 17 was stored in the non-volatile memory 2, and it is given a GUID 19, in the present case the GUID 19 with the value "7779." Figure 3c) shows the situation after overwriting of the data element 14 by the Data element 17. After the overwrite has been successful, in the first mode of operation of the device 1 accesses data elements of the device Attributes "last name" that of the three stored data elements 6, 14, 17 read that now has the most recent validity period 18 of all validity times 9, 15, 18 of the data elements 6, 14, 17 of the attribute "last name", ie the data element 17th In the second working mode, access to a reference time that lies before the validity period 9, as explained above, does not output any of the data elements 6, 14, 17, when a reference time between the validity period 9 and the validity time 15 is specified, the data element 6 is read out, given a reference time between the validity period 15 and the validity period 18, the data element 14 is read, and given a reference time younger than the validity time 18, for example, as in the first working mode of the device 1, the time to be accessed or a relative for access in the future time, the output of the data element 17 takes place.
Im erläuterten Beispiel kann alternativ statt jeweils getrennte GUID und Validi- tätszeiten vorzusehen auch eine Leitkennung eingerichtet werden, zu der GUID und Validitätszeit zusammengefasst sind. So könnte zum Beispiel dem Datenelement 6 statt der GUID 8 und der Validitätszeit 9 eine Leitkennung mit dem Wert „7777 24092007" zugeordnet werden, dem Datenelement 14 statt der GUID 16 und der Validitätszeit 15 eine Leitkennung mit dem Wert „7778 13122007", und dem Datenelement 17 statt der GUID 19 und der Validitätszeit 18 eine Leitkennung mit dem Wert „7779 04032008".In the illustrated example, instead of providing separate GUIDs and validity times, it is also possible to set up a routing identifier to which GUID and validity time are combined. For example, instead of the GUID 8 and the validity period 9, the data element 6 could be assigned a routing identifier with the value "7777 24092007", the data element 14 a routing identifier with the value "7778 13122007" instead of the GUID 16 and the validity period 15 Data element 17 instead of the GUID 19 and the validity period 18 a Leitkennung with the value "7779 04032008".
Unter gewissen Umständen ist es wünschenswert, ein gespeichertes Daten- element durch ein anderes Datenelement zu ersetzen, wobei das ersetzte Datenelement gelöscht wird. Beispielsweise könnte das Datenelement 14 beim Speichern irrtümlich mit einem anderen Datenelement verwechselt worden sein, und anstatt der Zeichenkette „Müller" hätte richtigerweise die Zeichenkette „Fischer" mit der Validitätszeit 16 gespeichert werden müssen. Für sol- che Fälle ist die Vorrichtung 1 zum Ersetzen gespeicherter Datenelemente durch andere Datenelemente eingerichtet. Zur Vermeidung von Informationsverlusten bei der Ersetzung ist die Vorrichtung 1 darüber hinaus zur Generie- rung eines Protokolls 20 im XML-Format eingerichtet, in welchem Einzelheiten der Ersetzung vermerkt werden.In some circumstances, it is desirable to replace a stored data item with another data item, thereby erasing the replaced data item. For example, the data element 14 could have been erroneously confused with another data element during storage, and instead of the string "Muller", the string "Fischer" with the validity time 16 would have to be stored correctly. For such cases, the device 1 is set up to replace stored data elements by other data elements. In order to avoid information losses in the replacement, the device 1 is also used for generating set up a protocol 20 in XML format, in which details of the replacement are noted.
Ein Beispiel für eine Ersetzung wird anhand der Figuren 3c) und 3d) verdeut- licht. In der Situation gemäß der Figur 3c) soll das Datenelement 14 durch ein Datenelement 21 des Attributs „Nachname", bei dem es sich um die Zeichenkette „Fischer" handelt, ersetzt werden, ohne dass ein Informationsverlust befürchtet werden muss. Dazu wird ein Protokoll 20 erzeugt und der Validitäts- zeit 15 zugeordnet. In diesem werden zum Beispiel der Tag und die Uhrzeit der Ersetzung, eine IP-Adresse eines Computers, von dem aus die Ersetzung getätigt wurde, der die Ersetzung veranlassende Benutzer der Vorrichtung 1 , eine Kopie der Zeichenkette „Müller" sowie ein Änderungsvermerk festgehalten. Außerhalb des Protokolls 20 wird das Datenelement 14 gelöscht und das Datenelement 21 wird unter Zuweisung der GUID 16 und der Validitätszeit 15, die zuvor dem Datenelement 14 zugewiesen waren, gespeichert. Somit ist das Datenelement 21 zwar außerhalb des Protokolls 20 nicht mehr existent, gleichwohl ist dessen Informationsgehalt nicht verloren, da die Zeichenkette „Müller" im Protokoll 20 vermerkt wurde.An example of a replacement will be explained with reference to FIGS. 3c) and 3d). In the situation according to FIG. 3c), the data element 14 is to be replaced by a data element 21 of the attribute "last name", which is the character string "Fischer", without having to fear a loss of information. For this purpose, a protocol 20 is generated and assigned the validity time 15. In this, for example, the date and time of the replacement, an IP address of a computer from which the replacement was made, the replacement initiating user of the device 1, a copy of the character string "Miller" and a change note are recorded of the protocol 20, the data element 14 is erased and the data element 21 is stored by assigning the GUID 16 and the validity time 15 previously assigned to the data element 14. Thus, the data element 21 is no longer present outside of the protocol 20, however Information content not lost because the string "Müller" was noted in the protocol 20.
Anstatt ein derartiges Protokoll 20 erst bei Erfolgen einer Ersetzung eines Datenelements durch ein anderes zu generieren, kann alternativ bereits beim erstmaligen Speichern eines Datenelements, wenn dem Datenelement eine Validitätszeit zugewiesen wird, dieser Validitätszeit ein Protokoll 20 zugeordnet werden. In diesem Protokoll 20 werden zum Beispiel der Tag und die Uhr- zeit des Speicherns des Datenelements, die nicht notwendigerweise mit der dem Datenelement zugewiesenen Validitätszeit übereinstimmen müssen, eine IP-Adresse eines Computers, von dem aus das Speichern des Datenelements veranlasst wurde, der die Speicherung des Datenelements veranlassende Benutzer der Vorrichtung 1 und ein Vermerk über die Speicherung im Proto- koll 20 festgehalten. Wird das Datenelement zu einem späteren Zeitpunkt durch ein anderes Datenelement ersetzt, so erfolgt wie oben erläutert ein zusätzlicher entsprechender Vermerk im Protokoll. Für ein Datenelement können beliebige Indikatoren zum Anzeigen unterschiedlicher Zustände von Datenelementen vorgesehen sein. Figur 4 zeigt das Datenelement 6 der Figur 3a) mit verschiedenen Indikatoren 22, 23, 24. Der Indikator 22 mit dem Wert „2" zeigt an, dass das Datenelement 6 dem Permanentspeicher 2 zugeordnet ist. Der Indikator 23 mit dem Wert „P" ermöglicht öffentliche Zugriffe auf das Datenelement 6. Mittels entsprechender Änderungen des Indikators 23 lässt sich der Zugriff auf das Datenelement 6 auf eine einzelne Person oder Personengruppen bzw. bestimmte Applikationen beschränken. Schließlich bezeichnet der Indikator 24 eine Validitätsend- zeit des Datenelements 6, vorliegend „02.09.2008", bei deren Überschreiten das Datenelement 6 seine Gültigkeit verliert und nicht mehr ausgelesen wird. Weitere Indikatoren können vorgesehen sein, um beispielsweise anzuzeigen, dass das betreffende Datenelement zur Löschung vorgesehen ist. Mit einem solchen Indikator lässt sich das im Permanentspeicher 2 gespeicherte Ge- samtvolumen an Daten reduzieren, indem Datenelemente, an denen definitiv kein Interesse mehr besteht, durch entsprechendes Setzen des genannten Indikators zur Löschung freigegeben werden. Ferner kann ein Indikator eine Periodendauer bezeichnen, die periodisch erfolgende Zugriffe auf das Datenelement 6 angibt.Instead of generating such a protocol 20 only upon the successful replacement of one data element by another, a protocol 20 can alternatively be assigned to this validity period when a data element is first stored, if a validity period is assigned to the data element. In this protocol 20, for example, the date and time of storage of the data item, which need not necessarily coincide with the validity time assigned to the data item, is an IP address of a computer from which storage of the data item that stored the data item was initiated Storage of the data element inducing user of the device 1 and a note about the storage in the protocol 20 retained. If the data element is replaced by another data element at a later time, an additional corresponding note is made in the protocol as explained above. For a data element, any indicators for displaying different states of data elements can be provided. FIG. 4 shows the data element 6 of FIG. 3a) with different indicators 22, 23, 24. The indicator 22 with the value "2" indicates that the data element 6 is assigned to the permanent memory 2. The indicator 23 with the value "P" allows public access to the data element 6. By means of appropriate changes of the indicator 23, the access to the data element 6 can be limited to a single person or groups of people or specific applications. Finally, the indicator 24 designates a validity end time of the data element 6, in this case "02.09.2008", beyond which the data element 6 loses its validity and is no longer read out.Other indicators can be provided to indicate, for example, that the data element in question is for Such an indicator can be used to reduce the total volume of data stored in non-volatile memory 2 by enabling data elements for which there is definitely no further interest to be deleted by appropriately setting the above-mentioned indicator denote periodic accesses to the data element 6 indicate.
Die Indikatoren 22, 23, 24 können bei einer Überschreibung des Datenelements 6 durch das neue Datenelement 14 dem neuen Datenelement 14 unverändert zugewiesen werden, oder dem Datenelement 14 können einzelne oder alle der Indikatoren 22, 23, 24 mit neuen Werten zugewiesen werden. Ferner können dem Datenelement 14 weniger oder mehr Indikatoren 22, 23, 24 als dem von ihm überschriebenen Datenelement 6 zugewiesen werden.If the data element 6 is overwritten by the new data element 14, the indicators 22, 23, 24 can be assigned to the new data element 14 unchanged, or the data element 14 can be assigned with new values to all or some of the indicators 22, 23, 24. Furthermore, the data element 14 may be assigned fewer or more indicators 22, 23, 24 than the data element 6 overwritten by it.
Praktischerweise werden zwei oder mehrere Datenelemente, wie in der Figur 1 zu sehen ist, zwischen denen eine logische Beziehung besteht, zu einem Datenobjekt 7 zusammengefasst. Figur 5 zeigt Einzelheiten des Datenobjekts 7. Das Datenobjekt 7 umfasst das Datenelement 6 der Figur 3a) mit der ihm zugewiesenen Validitätszeit 9 und der GUID 8 sowie eine weiteres Datenelement 25 und dessen Validitätszeit 26 sowie GUID 27. Das Datenelement 25 ist ein Datenelement des Attributs „Sozialversicherungsnummer" und ist damit von einem anderen Attribut als das Datenelement 6. Dem Datenelement 25 ist die Validitätszeit 26 mit dem Wert „11.02.2007" und die GUID 27 mit dem Wert „1389" zugeordnet. Dem Datenobjekt 7 als solchem ist wie oben be- schrieben die GUID 10 zugewiesen, die gemäß Figur 5 den Wert „2425" hat. Außerdem ist dem Datenobjekt 7 als Indikator die Validitätsstartzeit 11 zugeordnet, die vorliegend mit der Validitätszeit 9 koinzidiert. Das Datenobjekt 7 wird deshalb erst mit Speichern des Datenelements 6 zum Auslesen freigegeben. Das Datenobjekt 7 kann darüber hinaus um beliebig viele Datenelemente beliebiger Attribute erweitert werden, beispielsweise um ein Datenelement des Attributs „Adresse" oder um ein Datenelement des Attributs „Geburtstag". Mit dem Datenobjekt 7 lassen sich somit personenspezifische Daten einzelner Personen bequem verwalten.Conveniently, two or more data elements, as can be seen in FIG. 1, between which a logical relationship exists, are combined to form a data object 7. FIG. 5 shows details of the data object 7. The data object 7 comprises the data element 6 of FIG. 3a) with the validity time 9 assigned to it and the GUID 8 as well as a further data element 25 and its validity time 26 and GUID 27. The data element 25 is a data element of the attribute "social security number" and is thus of another attribute than the data element 6. The data element 25 is assigned the validity time 26 with the value "11.02.2007" and the GUID 27 with the value "1389" as such, the GUID 10 is assigned, as described above, which according to FIG. 5 has the value "2425". In addition, the data object 7 is assigned as an indicator the validity start time 11, which in the present case coincides with the validity time 9. The data object 7 is therefore released only with storage of the data element 6 for reading. In addition, the data object 7 can be extended by any number of data elements of any attributes, for example by a data element of the "address" attribute or by a data element of the "birthday" attribute. Thus, personal data of individual persons can be conveniently managed with the data object 7.
Figur 6 zeigt eine Situation, nachdem das Datenelement 6 der Datengruppe 7 durch das Datenelement 14 wie im Zusammenhang mit der Figur 3b) erläutert überschrieben wurde. Nach Überschreiben umfasst das Datenobjekt 7 neben dem Datenelement 6 und dem Datenelement 25 auch das Datenelement 14. Die GUID 10 des Datenelements 7 und dessen Validitätsstartzeit 11 sind durch das Überschreiben unverändert geblieben. Bei Zugriffen auf Datenelemente des Attributs „Nachname" im Datenobjekt 7 wird wie oben beschrieben nunmehr das Datenelement 14 ausgelesen.FIG. 6 shows a situation after the data element 6 of the data group 7 has been overwritten by the data element 14 as explained in connection with FIG. 3b). After overwriting, the data object 7 comprises not only the data element 6 and the data element 25 but also the data element 14. The GUID 10 of the data element 7 and its validity start time 11 have remained unchanged by the overwriting. When accessing data elements of the attribute "last name" in the data object 7, the data element 14 is read out as described above.
Das Datenobjekt 7 kann auch als Musterdatenobjekt 7 zur Erzeugung beliebig vieler Datenobjekte zur Verwaltung von Daten verschiedener Personen verwendet werden. Ein Datenobjekt für eine bestimmte Person wird dann einfach durch Kopieren des Musterdatenobjekts 7 und Überschreiben des Datenelements 6 durch den betreffenden Namen der Person und Überschreiben des Datenelements 25 durch die entsprechende Sozialversicherungsnummer der jeweiligen Person erzeugt, wobei dem so erzeugten neuen Datenobjekt eine eigene GUID und eine eigene Validitätsstartzeit zugewiesen werden. Dabei wird für das neue Datenobjekt ein Indikator vorgesehen, über den sich jederzeit ein Bezug des durch Vererbung des Musterdatenobjekts 7 hervorgegan- genen Datenobjekts zum Musterdatenobjekt 7 herstellen lässt. Ein solcher Indikator lässt ich beispielsweise dazu verwenden, um Änderungen im Musterdatenobjekt 7 bequem auf das aus ihm hervorgegangene Datenobjekt zu übertragen. Wird beispielsweise im Musterdatenobjekt 7 zusätzlich zu den bereits vorhandenen Datenelementen 9 und 25 ein weiteres Datenelement des Attributs „Firmenzugehörigkeit" eingefügt, dann erfolgt eine entsprechende Einfügung auch in allen bisher aus dem Musterdatenobjekt 7 hervorgegangenen und über den genannten Indikator mit diesem in Beziehung stehenden Datenobjekten. Sollte für einzelne der Datenobjekte das so eingefügte Daten- element des Attributs „Firmenzugehörigkeit" nicht mit den übrigen Datenelementen 9 und 24 kompatibel sein, so kann das neu eingefügte Datenelement des Attributs „Firmenzugehörigkeit" für diese einzelnen Datenelemente durch ein jeweils kompatibles Datenelement des Attributs „Firmenzugehörigkeit" auf die beschriebene Weise überschrieben werden. Insgesamt reduziert sich da- durch der Arbeitsaufwand beim Einpflegen neuer Datenelemente in Datenobjekte in solchen Fällen, in denen eine große Anzahl von Datenobjekten vorliegt und das neu eingepflegte Datenelement mit den allermeisten der Datenobjekte kompatibel ist.The data object 7 can also be used as a pattern data object 7 for generating any number of data objects for managing data of different persons. A data object for a particular person is then simply generated by copying the pattern data object 7 and overwriting the data element 6 by the person's name and overwriting the data element 25 by the corresponding social security number of the respective person, the new data object thus created having its own GUID and a own validity start time assigned. In this case, an indicator is provided for the new data object, via which a reference of the result of the inheritance of the pattern data object 7 is obtained at any time. generate data object to the pattern data object 7. For example, I can use such an indicator to conveniently transfer changes in the pattern data object 7 to the data object that has emerged from it. If, for example, a further data element of the attribute "company affiliation" is inserted in the pattern data object 7 in addition to the already existing data elements 9 and 25, then a corresponding insertion also takes place in all data objects that hitherto emerged from the pattern data object 7 and are related to this indicator. If for some of the data objects the data element of the attribute "company affiliation" thus inserted is not compatible with the other data elements 9 and 24, the newly inserted data element of the attribute "company affiliation" for these individual data elements can be replaced by a respectively compatible data element of the attribute " Company affiliation "in the manner described above. Overall, this reduces the workload involved in incorporating new data elements into data objects in cases in which a large number of data objects are present and the newly added data element is compatible with most of the data objects.
Ferner ist die in der Figur 1 dargestellte Vorrichtung 1 eingerichtet, im Arbeitsspeicher 3 erfolgende Ersetzungen bzw. Überschreibungen der in den Arbeitsspeicher 3 ausgelesenen Datenelemente 12 oder von Datenelementen der in den Arbeitsspeicher 3 ausgelesenen Datenobjekte 13 unmittelbar nach Erfolgen der Ersetzung oder Überschreibung im Arbeitsspeicher 3 entspre- chend für die im Permanentspeicher 2 gespeicherten zugehörigen Datenelemente 6 und Datenobjekte 7 nach einem der beschriebenen Verfahren auszuführen. Dies beugt eventuellen Informationsverlusten bei Störfällen der Vorrichtung 1 vor, bei denen im flüchtigen Arbeitsspeicher 3 erfolgte Überschreibungen, die noch nicht entsprechend im Permanentspeicher 2 gespeichert wurden, verloren gehen.Furthermore, the device 1 shown in FIG. 1 is set up, substitutions or overwrites of the data elements 12 read from the main memory 3 or from data elements of the data objects 13 read into the main memory 3 immediately after the replacement or overwriting in the main memory 3 have occurred - Execute chend for the data stored in the permanent memory 2 associated data elements 6 and 7 data objects according to one of the methods described. This prevents any loss of information in the event of malfunctions of the device 1, in which overwriting in the volatile main memory 3 which has not yet been correspondingly stored in the permanent memory 2 is lost.
Figur 7 zeigt die Vorrichtung 1 als Teil eines Systems 28, das ferner eine Datenverarbeitungseinrichtung 29 und eine Benutzerschnittstelle 30 umfasst. In diesem System 28 erfüllt die Vorrichtung 1 die Funktion eines Datenbanksystems. Das System 28 weist eine Client/Server-Architektur auf, bei der Datenverarbeitungseinrichtung 29, Vorrichtung 1 und Benutzerschnittstelle 30 jeweils auf verschiedenen, räumlich voneinander beabstandeten Computern implementiert sind, wobei die Datenverarbeitungseinrichtung 29 einen Server 31 , die Vorrichtung 1 einen Datenbanksystemserver 32 und die Benutzerschnittstelle 30 einen Benutzerschnittstellenserver 33 aufweist. Server 31 ist eingerichtet, um sowohl mit dem Benutzerschnittstellenserver 33 als auch mit dem Datenbanksystemserver 32 zu kommunizieren. Darüber hinaus ist eine Kommunikation zwischen dem Datenbanksystemserver 32 und dem Benutzerschnittstellenserver 33 vorgesehen. Die Kommunikation zwischen den drei Servern 31 , 32 und 33 verläuft asynchron. Der Benutzerschnittstellenserver 33 kann ferner über eine synchron arbeitende Kommunikationsverbindung mit einem Client 34 kommunizieren. Bei der synchronen Kommunikation wartet ein Sender beim Senden von Daten auf eine Antwort des Empfängers und ist dabei während der Zeit des Wartens blockiert, während bei der asynchronen Kommunikation das Senden und Empfangen von Daten zeitlich versetzt und ohne Warten auf eine Antwort des Empfängers stattfinden. Um eine voneinander unabhängige Arbeitsweise zu gewährleisten, wird zwischen den Ser- vern 31 , 32, 33 jedoch eine asynchrone Kommunikation bevorzugt. Dabei kann zwischen den Servern 31, 32, 33 eine asynchrone Kommunikation auch dann eingerichtet sein, wenn es sich bei den Servern 31, 32, 33 um solche handelt, die von der technischen Seite her ausschließlich für eine synchrone Kommunikation ausgelegt sind, indem vorgesehen wird, dass die Server 31 , 32, 33 beim Empfang von Daten unmittelbar eine Empfangsbestätigung an den Sender schicken und nach Beendigung eines durch den Empfang der Daten gestarteten Prozesses mit dem Sender erneut Verbindung aufnehmen.FIG. 7 shows the device 1 as part of a system 28, which further comprises a data processing device 29 and a user interface 30. In In this system 28, the device 1 fulfills the function of a database system. The system 28 has a client / server architecture in which the data processing device 29, device 1, and user interface 30 are respectively implemented on different, spatially spaced computers, the data processing device 29 being a server 31, the device 1 being a database system server 32, and the user interface 30 has a user interface server 33. Server 31 is configured to communicate with both user interface server 33 and database system server 32. In addition, communication is provided between the database system server 32 and the user interface server 33. The communication between the three servers 31, 32 and 33 is asynchronous. The user interface server 33 may also communicate with a client 34 via a synchronous communication link. In synchronous communication, a sender waits for a response from the receiver when sending data, and is thereby blocked during the time of waiting, whereas in asynchronous communication, sending and receiving of data takes place staggered and without waiting for a response from the receiver. However, to ensure independent operation, asynchronous communication between the servers 31, 32, 33 is preferred. In this case, asynchronous communication can also be set up between the servers 31, 32, 33 if the servers 31, 32, 33 are those which, from the technical side, are designed exclusively for synchronous communication by providing in that the servers 31, 32, 33 immediately send an acknowledgment of receipt to the sender upon receipt of data and reconnect to the sender upon completion of a process initiated by the receipt of the data.
In der Datenverarbeitungseinrichtung 29 sind verschiedene Datenverarbei- tungsprozesse zum Verarbeiten von Daten implementiert. Mittels der Datenverarbeitungsprozesse werden vordefinierte Abfolgen von Aktivitäten in einer Organisation realisiert, die gemeinhin als Arbeitsabläufe oder Workflows bezeichnet werden. Figur 8 zeigt eine schematische Darstellung der Datenve- rarbeitungseinrichtung 29, die neben dem Server 31 ein Rechenwerk oder einen Prozessor 35 und einen Speicher 36 aufweist. Beispielhaft ist in Figur 8 eine erste Gruppe mehrerer im Speicher 36 gespeicherter Datenelemente 37 gezeigt, durch die ein erster Datenverarbeitungsprozess 38 in der Datenve- rarbeitungseinrichtung 29 implementiert ist, und es ist eine zweite Gruppe mehrerer Datenelemente 39 gezeigt, durch die ein zweiter Datenverarbeitungsprozess 40 in der Datenverarbeitungseinrichtung 29 implementiert ist. Jedes der Datenelemente 37, 39 umfasst eine jeweilige Sequenz von Kalkulationsanweisungen. Ferner liegt jedes der Datenelemente 37, 39 im XML- Format vor, d.h. die Sequenzen von Kalkulationsanweisungen liegen in zeichenkodierter Form vor. Sie sind insbesondere nicht kompiliert und liegen nicht als binäre Maschinenbefehle oder binäres Maschinenprogramm vor, sondern als Quellcode. Darüber hinaus ist jedem einzelnen der Datenelemente 37 der ersten Gruppe eine jeweilige GUID 41 zugeordnet, jedem einzelnen der Datenelemente 39 der zweiten Gruppe ist eine GUID 42 zugeordnet, und es ist auch jedem einzelnen der Datenverarbeitungsprozesse 38, 40 eine jeweilige GUID 43, 44 zugeordnet, und zwar dem ersten Datenverarbeitungsprozess 38 die GUID 43 und dem zweiten Datenverarbeitungsprozess 40 die GUID 44. Neben den gezeigten Datenverarbeitungsprozessen 38, 40 sind in der Datenverarbeitungseinrichtung 29 weitere, in der Figur 8 nicht zu sehende, Datenverarbeitungsprozesse durch jeweilige Gruppen von Datenelementen implementiert, die im Speicher 36 gespeichert sind. Jedem einzelnen der Datenelemente 37, 39 jeder Gruppe ist eine jeweilige Identifikation zugeordnet, bei der es sich um eine einfache Zeichenkette handelt. Dabei ist inner- halb der Gruppe von Datenelementen 37, 39 eines jeweiligen der Datenverarbeitungsprozesse 38, 40 die Zuordnung zwischen Identifikationen und Datenelementen 37, 39 jeweils eindeutig, d.h. allen Datenelementen 37, 39 desselben Datenverarbeitungsprozesses 38, 40 sind jeweils verschiedene Identifikationen eindeutig zugeordnet. Es ist jedoch möglich, dass einem Datenelement 37 aus der ersten Gruppe dieselbe Identifikation zugeordnet ist wie einem Datenelement 39 aus der zweiten Gruppe oder beliebig vielen Datenelementen aus jeweiligen anderen Gruppen von Datenelementen. Ein einfaches Beispiel soll diesen Sachverhalt verdeutlichen.In the data processing device 29, various data processing processes for processing data are implemented. The data processing processes implement predefined sequences of activities in an organization, commonly referred to as workflows or workflows. FIG. 8 shows a schematic representation of the data processing device 29, which has an arithmetic unit or a processor 35 and a memory 36 in addition to the server 31. By way of example, FIG. 8 shows a first group of a plurality of data elements 37 stored in the memory 36, by which a first data processing process 38 is implemented in the data processing device 29, and a second group of several data elements 39 is shown by which a second data processing process 40 in FIG the data processing device 29 is implemented. Each of the data elements 37, 39 comprises a respective sequence of calculation instructions. Furthermore, each of the data elements 37, 39 is in XML format, ie the sequences of calculation instructions are in character-coded form. In particular, they are not compiled and are not available as binary machine instructions or binary machine program, but as source code. In addition, each individual one of the data elements 37 of the first group is assigned a respective GUID 41, a GUID 42 is assigned to each one of the data elements 39 of the second group, and each GUID 43, 44 is assigned to each of the data processing processes 38, 40. namely the first data processing process 38, the GUID 43 and the second data processing process 40 the GUID 44. In addition to the data processing processes 38, 40 shown in the data processing device 29 further, not visible in Figure 8, data processing processes implemented by respective groups of data elements, which in Memory 36 are stored. Each one of the data elements 37, 39 of each group is assigned a respective identification, which is a simple string. Within the group of data elements 37, 39 of a respective one of the data processing processes 38, 40, the association between identifications and data elements 37, 39 is unique in each case, ie all data elements 37, 39 of the same data processing process 38, 40 are uniquely assigned different identifications. However, it is possible that a data element 37 from the first group is assigned the same identification as a data element 39 from the second group or any number of data elements from respective other groups of data elements. A simple example is intended to clarify this situation.
Gemäß dem Beispiel wird das System 28 in der Personalverwaltung einer Organisation mit Mitarbeitern in zwei verschiedenen Bundesländern BL1 und BL2 eingesetzt. Jeder dieser Mitarbeiter ist nach genau einem von drei verschiedenen Tarifverträgen TV1 , TV2 und TV3 zu entlohnen, wobei der Mitarbeiter entweder Angestellter oder Praktikant sein kann. Mittels des Datenverarbeitungsprozesses 38 soll nun für einen beliebigen der Mitarbeiter die Differenz aus dessen Brutto- und Nettolohn berechnet werden. Abhängig vom Bundesland, in dem der Mitarbeiter beschäftigt ist, vom für den Mitarbeiter geltenden Tarifvertrag und vom Status des Mitarbeiters, also davon, ob der Mitarbeiter Angestellter oder Praktikant ist, berechnet sich diese Differenz jeweils auf unterschiedliche Weise. Organisiert man die möglichen Kombinationen aus Bundesland, Tarifvertrag und Status des Mitarbeiters in einer hierar- chisch verzweigten Baumstruktur, so ergibt sich die in der Figur 9 gezeigte Struktur. Gemäß dieser Struktur bestehen zwölf verschiedene Alternativen für die Berechnung der Differenz aus Brutto- und Nettolohn. Für jede einzelne dieser zwölf Alternativen ist genau ein einziges Datenelement vorgesehen, das eine entsprechende Sequenz von Kalkulationsanweisungen zur Berech- nung der Differenz aus Brutto- und Nettolohn nach der jeweiligen Alternative umfasst. Insgesamt liegen somit zwölf verschiedene Datenelemente 37 vor, die zusammen die erste Gruppe von Datenelementen 37 bilden. Jedem der zwölf Datenelemente 37 ist innerhalb der ersten Gruppe eindeutig eine Identifikation zugeordnet. Mit anderen Worten ist die Abbildung zwischen Daten- elementen 37 und Identifikationen innerhalb der ersten Gruppe bijektiv.According to the example, the system 28 is used in the personnel management of an organization with employees in two different federal states BL1 and BL2. Each employee is paid for exactly one out of three different collective agreements TV1, TV2 and TV3, whereby the employee can either be an employee or an intern. By means of the data processing process 38, the difference between its gross and net salary is now to be calculated for any of the employees. Depending on the state in which the employee is employed, on the collective agreement applicable to the employee and on the status of the employee, ie on whether the employee is an employee or an intern, this difference is calculated in different ways. If the possible combinations of state, collective agreement and status of the employee are organized in a hierarchically branched tree structure, the structure shown in FIG. 9 results. According to this structure, there are twelve different alternatives for calculating the difference between gross and net salary. For each of these twelve alternatives, exactly one data element is provided, which comprises a corresponding sequence of calculation instructions for calculating the difference between gross and net salary according to the respective alternative. In total there are thus twelve different data elements 37, which together form the first group of data elements 37. Each of the twelve data elements 37 is uniquely assigned an identification within the first group. In other words, the mapping between data elements 37 and identifications within the first group is bijective.
Der zweite Datenverarbeitungsprozess 40 ist für die Berechnung der Steuerabgaben beliebiger Mitarbeiter eingerichtet. Da die möglichen Kombinationen aus Bundesländern, Tarifverträgen und Status des Mitarbeiters dieselben sind wie im Falle des ersten Datenverarbeitungsprozesses 38, nämlich die in der Baumstruktur der Figur 9 gezeigten Kombinationen, gibt es auch für den Datenverarbeitungsprozess 40 zwölf alternative Möglichkeiten der Berechnung. Folglich ist auch der Datenverarbeitungsprozess 40 durch zwölf die zweite Gruppe von Datenelementen bildende Datenelemente 39 mit jeweiligen den Datenelementen 39 zugeordneten Identifikationen implementiert, wobei jedes Datenelement 39 entsprechend einer der zwölf Alternativen eine jeweilige Sequenz von Kalkulationsanweisungen umfasst. Obwohl auch innerhalb der zweiten Gruppe von Datenelementen 39 die Zuordnung zwischen Datenelementen 39 und jeweiligen Identifikationen eineindeutig oder bijektiv ist, sind die den zwölf Datenelementen 39 der zweiten Gruppe zugeordneten zwölf Identifikationen mit denjenigen zwölf Identifikationen identisch, die den zwölf Datenelementen 37 der ersten Gruppe zugeordnet sind. Dies resultiert aus der Gleichheit der Kombinationsmöglichkeiten aus Bundesland, Tarifvertrag und Status des Mitarbeiters, die für beide Datenverarbeitungsprozesse 38 und 40 zu berücksichtigen sind.The second data processing process 40 is set up for the calculation of the tax payments of any employees. Since the possible combinations of states, collective agreements and status of the employee are the same as in the case of the first data processing process 38, namely the combinations shown in the tree structure of Figure 9, there are also twelve alternative ways of computing for the data processing process 40. Consequently, the data processing process 40 is the second by twelve Group of data elements forming data elements 39 implemented with respective identifications associated with the data elements 39, wherein each data element 39 corresponding to one of the twelve alternatives comprises a respective sequence of calculation instructions. Even though within the second group of data elements 39 the association between data elements 39 and respective identifications is one-to-one or bijective, the twelve identifications associated with the twelve data elements 39 of the second group are identical to those twelve identifications associated with the twelve data elements 37 of the first group , This results from the equality of the possible combinations of state, collective agreement and status of the employee, which are to be considered for both data processing processes 38 and 40.
Bei den Identifikationen handelt es sich vorliegend um Zeichenketten, die aus den in der Figur 9 verwendeten Buchstaben und Zahlen bestehen, die für ein bestimmtes Datenelement 37, 39 innerhalb der ihm als Identifikation zugeordneten Zeichenkette in der Reihenfolge angeordnet sind, wie sie in der Figur 9 bei Verfolgen eines Pfades innerhalb der Baumstruktur bis zu diesem bestimmten Datenelement 37, 39 auftreten. So ist beispielsweise dem äußersten linken Datenelement 37, 39 die Zeichenkette „BL1TV1A" als Identifikation zugeordnet und dem äußersten rechten Datenelement 37, 39 ist die Zeichenkette „BL2TV3P" als Identifikation zugeordnet. Mit der Zeichenkette „BL1TV1A" als Identifikation wird demnach ein Datenelement 37, 39 identifiziert, dessen Sequenz von Kalkulationsanweisungen für einen Mitarbeiter ausgelegt ist, der im Bundesland BL1 nach dem Tarifvertrag TV1 als Angestellter beschäftigt ist, während mit der Zeichenkette „BL2TV3P" als Identifikation ein Datenelement 37, 39 identifiziert wird, dessen Sequenz von Kalkulationsanweisungen für einen Mitarbeiter ausgelegt ist, der im Bundesland BL2 nach dem Tarifvertrag TV3 als Praktikant beschäftigt ist. Die Identifikationen der dazwischenliegen- den Datenelemente 37, 39 werden entsprechend gebildet.In the present case, the identifications are character strings which consist of the letters and numbers used in FIG. 9, which are arranged in the sequence assigned to a specific data element 37, 39 within the sequence of characters assigned to it as identification, as shown in FIG upon tracing a path within the tree up to that particular data element 37, 39. For example, the leftmost data element 37, 39 is assigned the character string "BL1TV1A" as identification and the rightmost data element 37, 39 is assigned the character string "BL2TV3P" as identification. With the string "BL1TV1A" as identification, therefore, a data element 37, 39 is identified whose sequence of calculation instructions is designed for an employee who is employed in the federal state BL1 under the collective agreement TV1 as an employee, while using the character string "BL2TV3P" as an identification Data element 37, 39 is identified, whose sequence of calculation instructions is designed for an employee who is employed in the federal state BL2 under the collective agreement TV3 as an intern. The identifications of the intervening data elements 37, 39 are formed accordingly.
Zur Inbetriebnahme des Systems 28 werden die Datenverarbeitungsprozesse 28, 40 in der Datenverarbeitungseinrichtung 29 implementiert, indem die Da- tenelemente 37 und 39 mit den jeweiligen ihnen zugeordneten Identifikationen im Speicher 36 gespeichert und gruppenweise zu jeweiligen Datenverarbeitungsprozessen 38, 40 mit jeweiligen GUIDs 43, 44 zusammengefasst werden.For commissioning the system 28, the data processing processes 28, 40 are implemented in the data processing device 29, in that the data stored elements 37 and 39 with the respective identifications associated with them in the memory 36 and groups of respective data processing processes 38, 40 with respective GUIDs 43, 44 are summarized.
Nachdem die Datenverarbeitungsprozesse 38, 40 implementiert worden sind, stellt der Client 34 eine Verbindung mit dem Benutzerschnittstellenserver 33 her und übermittelt eine Anfrage an die Benutzerschnittstelle 30. Beispielsweise kann der Client 34 Daten anfordern, die im Datenbanksystem bzw. der Vorrichtung 1 gespeichert sind. Um diese Daten zu liefern, setzt sich der Benutzerschnittstellenserver 33 mit dem Datenbanksystemserver 32 in Verbindung, die angeforderten Daten werden aus der Vorrichtung 1 ausgelesen, vom Datenbanksystemserver 32 an den Benutzerschnittstellenserver 33 gesendet und von diesem an den Client 34 übertragen.After the data processing processes 38, 40 have been implemented, the client 34 establishes a connection with the user interface server 33 and transmits a request to the user interface 30. For example, the client 34 may request data stored in the database system or device 1. To provide this data, the user interface server 33 connects to the database system server 32, the requested data is read from the device 1, sent from the database system server 32 to the user interface server 33, and transmitted to the client 34.
Häufig erfordert die Anfrage des Clients 34 jedoch eine Verarbeitung der Daten. Ein solcher Fall liegt beispielsweise vor, wenn die Anfrage des Clients 34 Informationen über die Steuerabgaben eines bestimmten Mitarbeiters betrifft. Ohne Beschränkung der Allgemeinheit sei angenommen, dass der Client 34 eine Anfrage nach den Steuerabgaben eines im Bundesland BL2 beschäftigten Mitarbeiters, für den der Tarifvertrag TV2 gilt und der ein Praktikant P ist, an den Benutzerschnittstellenserver 33 übermittelt. Der Benutzerschnittstellenserver 33 ermittelt aus diesen Angaben die Identifikation desjenigen Datenelements 39 des zweiten Datenverarbeitungsprozesses 40, das die ent- sprechende Sequenz an Kalkulationsanweisungen zur Berechnung dieser Steuerabgaben umfasst und sendet diese Identifikation, bei der es sich um die Zeichenkette „BL2TV2P" handelt, zusammen mit weiteren Angaben über den Mitarbeiter, wie zum Beispiel dessen Namen, an den Server 31 der Datenverarbeitungseinrichtung 29.Often, however, the request from the client 34 requires processing of the data. Such a case exists, for example, when the request from the client 34 concerns information about the tax levies of a particular employee. Without limiting the generality, it is assumed that the client 34 transmits a request to the user interface server 33 for the tax levies of an employee employed in the state BL2 to whom the collective agreement TV2 applies and who is a trainee P. From this information, the user interface server 33 determines the identification of that data element 39 of the second data processing process 40 which comprises the corresponding sequence of calculation instructions for calculating these control outputs and sends this identification, which is the character string "BL2TV2P", together with others Information about the employee, such as its name, to the server 31 of the data processing device 29.
Vom Datenbanksystemserver 32 fordert der Server 31 die für die Berechnung notwendigen Daten über das Einkommen des Mitarbeiters an, die in der Vorrichtung 1 unter dem Namen des Mitarbeiters gespeichert sind. Die Daten über das Einkommen des Mitarbeiters werden aus der Vorrichtung 1 ausgelesen und an den Server 31 übertragen. Der Server 31 übergibt sowohl die Daten über das Einkommen des Mitarbeiters als auch die Identifikation an den Prozessor 35. Anschließend identifiziert der Prozessor 35 anhand der Identifi- kation das betreffende Datenelement 39 des Datenverarbeitungsprozesses 40 und führt die Kalkulationsanweisungen der vom identifizierten Datenelement 39 umfassten Sequenz von Kalkulationsanweisungen aus. Hierzu liest der Prozessor 35 vergleichbar einem Interpreter die im XML-Format vorliegende Sequenz von Kalkulationsanweisungen und verarbeitet mit Ausführen der KaI- kulationsanweisungen die Daten über das Einkommen des Mitarbeiters.From the database system server 32, the server 31 requests the data necessary for the calculation on the income of the employee stored in the device 1 under the name of the employee. The data About the employee's income are read from the device 1 and transmitted to the server 31. The server 31 transfers both the data on the employee's income and the identification to the processor 35. The processor 35 then identifies the relevant data element 39 of the data processing process 40 on the basis of the identification and executes the calculation instructions of the sequence comprised by the identified data element 39 Calculation statements. For this purpose, the processor 35, like an interpreter, reads the sequence of calculation instructions in XML format and processes the data on the employee's income by executing the crediting instructions.
Im Allgemeinen muss die Ausführung eines Datenverarbeitungsprozesses nicht zwangsläufig zur Erzeugung irgendwelcher Daten als Resultat des Datenverarbeitungsprozesses führen. Im gewählten Beispiel werden bei Ausfüh- rung des Datenverarbeitungsprozesses 40 jedoch Daten über die Steuerabgaben des betreffenden Mitarbeiters erzeugt, die nach Beendigung des Datenverarbeitungsprozesses 40, was dem Ende der Ausführung der Kalkulationsanweisungen der Sequenz von Kalkulationsanweisungen des identifizierten Datenelements 39 entspricht, als dessen Resultat vorliegen. Daher wer- den diese berechneten Daten vom Prozessor 35 an den Server 31 übergeben und von diesem an den Benutzerschnittstellenserver 33 übermittelt, der sie an den Client 34 weiterleitet. Zusätzlich können die berechneten Daten im Speicher 36 gespeichert werden, um sie für eventuelle Ergänzungen der in der Vorrichtung 1 gespeicherten Daten oder für die Erstellung von späteren Be- richten bereit zu halten.In general, the execution of a data processing process need not necessarily result in the generation of any data as a result of the data processing process. In the example chosen, however, when executing the data processing process 40, data is generated on the tax deductions of the employee in question, which after completion of the data processing process 40, which corresponds to the end of execution of the calculation instructions of the sequence of calculation instructions of the identified data element 39, as a result. Therefore, this calculated data is transferred from the processor 35 to the server 31 and transmitted by the latter to the user interface server 33, which forwards it to the client 34. In addition, the calculated data can be stored in the memory 36 in order to keep it ready for possible additions to the data stored in the device 1 or for the generation of later reports.
Für das System 28 ist ein spezieller Betriebsmodus vorgesehen, der die Vorgabe einer Datenverarbeitungskategorie erfordert. Hierfür sind die in der Vorrichtung 1 gespeicherten Daten jeweiligen Datenverarbeitungskategorien zu- geordnet. Eine Datenverarbeitungskategorie kann im vorliegenden Beispiel ein spezifisches Bundesland BL1 oder BL2, ein spezifischer Tarifvertrag TV1, TV2 und TV3 oder ein spezifischer Status der Mitarbeiter sein. Wird das System 28 in besagtem Betriebsmodus betrieben und wird eine bestimmte Daten- Verarbeitungskategorie vorgegeben, so erfolgt die Identifizierung eines Datenelements 37, 39 sowie das Auslesen von Daten aus der Vorrichtung 1 nur dann, wenn das betreffende Datenelement 37, 39 bzw. die Daten der vorgegebenen Datenverarbeitungskategorie zugewiesen ist bzw. sind. Wird bei- spielsweise als Datenverarbeitungskategorie der Tarifvertrag TV3 vorgegeben, so kommt es nur dann zur Identifizierung eines Datenelements 37, 39, wenn dieses für den Tarifvertrag TV3 vorgesehen ist. Dies ist genau dann der Fall, wenn die einem Datenelement 37, 39 als Identifikation zugeordnete Zeichenkette die drei Zeichen „TV3" aufweist, wobei alle anderen in dieser Zei- chen kette vorkommenden Zeichen unerheblich sind. In der Figur 9 ist dies bei genau vier Datenelementen 37, 39 der Fall, und zwar bei einem Datenelement, das für einen Mitarbeiter im Bundesland BL1 vorgesehen ist, der Angestellter A ist, bei einem Datenelement, das für einen Mitarbeiter im Bundesland BL1 vorgesehen ist, der Praktikant P ist, bei einem Datenelement, das für einen Mitarbeiter im Bundesland BL2 vorgesehen ist, der Angestellter ist, und bei einem Datenelement, das für einen Mitarbeiter im Bundesland BL2 vorgesehen ist, der Praktikant P ist. Ebenso werden Daten aus der Vorrichtung 1 nur dann ausgelesen, wenn sie dem Tarifvertrag TV3 zugewiesen sind.For the system 28, a special mode of operation is provided which requires the specification of a data processing category. For this purpose, the data stored in the device 1 are assigned to respective data processing categories. A data processing category may in the present example be a specific state BL1 or BL2, a specific collective agreement TV1, TV2 and TV3 or a specific status of the employees. If the system 28 is operated in said operating mode and a particular data Given the processing category, the identification of a data element 37, 39 and the reading out of data from the device 1 only takes place if the relevant data element 37, 39 or the data is / are assigned to the predetermined data processing category. If, for example, the tariff contract TV3 is specified as the data processing category, identification of a data element 37, 39 only then occurs if this is provided for the collective agreement TV3. This is the case if and only if the character string associated with a data element 37, 39 has the three characters "TV3", with all the other characters occurring in this character chain being insignificant 37, 39 for a data element intended for an employee in federal state BL1, who is employee A, for a data element intended for an employee in state BL1, who is a trainee P, for a data element, which is intended for an employee in the federal state BL2, who is an employee, and for a data element that is intended for an employee in the state BL2, the trainee P. Also, data from the device 1 are only read if they comply with the collective agreement TV3 are assigned.
Dabei ist die Datenverarbeitungseinrichtung 29 wie die Vorrichtung 1 zur erfindungsgemäßen Speicherung der Datenelemente 37, 39 unter Zuweisung einer Validitätszeit sowie deren datenverlustfreiem Überschreiben eingerichtet. Als Beispiel zeigt Figur 10a) ein einzelnes Datenelement 45 mit einer GUID 46 und einer Validitätszeit 47, die dem Datenelement 45 beim Spei- ehern desselben in den Speicher 36 zugeordnet wurde. Die Validitätszeit 47 entspricht im vorliegenden Fall dem Tagesdatum, an dem das Speichern stattfand. Das Datenelement 45 soll nun durch ein neues Datenelement mit einer neuen Sequenz von Kalkulationsanweisungen überschrieben werden. Dazu wird dem Datenverarbeitungsprozess, dem das Datenelement 45 angehört, ein neues Datenelement 48 hinzugefügt und im Speicher 36 gespeichert, wobei diesem neuen Datenelement 48 eine neue Validitätszeit 49 zugewiesen wird, die dem Zeitpunkt des Speicherns des Datenelements 48 entspricht und folglich jünger als die Validitätszeit 47 ist. Dem neuen Datenelement 48 wird zudem zwar eine eigene GUID 50 zugewiesen, es wird ihm aber dieselbe Identifikation zugeordnet wie dem Datenelement 45. Dabei bleibt das Datenelement 45 unberührt, d.h. das Datenelement 45 wird weder gelöscht noch anderweitig verändert, sein Speicherzustand wird vielmehr beibehalten. Figur 10b) zeigt die Situation nach Speichern des neuen Datenelements 48: Neben dem Datenelement 45, seiner Validitätszeit 47 und seiner GUID 46 liegt nunmehr auch das neue Datenelement 48 mitsamt Validitätszeit 49 und GUID 50 im Speicher 36 gespeichert vor, wobei beiden Datenelementen 45 und 48 dieselbe Identifikation zugeordnet ist und beide Datenelemente 45, 48 zum sel- ben Datenverarbeitungsprozess gehören.In this case, the data processing device 29 is set up like the device 1 for storing the data elements 37, 39 according to the invention with assignment of a validity time and their data loss-free overwriting. By way of example, FIG. 10 a) shows a single data element 45 with a GUID 46 and a validity time 47, which was assigned to the data element 45 when it was stored in the memory 36. The validity time 47 corresponds in the present case to the date on which the storage took place. The data element 45 is now to be overwritten by a new data element with a new sequence of calculation instructions. For this purpose, the data processing process to which the data element 45 belongs is added a new data element 48 and stored in the memory 36, this new data element 48 is assigned a new validity time 49 corresponding to the time of storing the data element 48 and thus younger than the validity time 47th is. The new data element 48 is In addition, although assigned its own GUID 50, but it is the same identification associated with it as the data element 45. In this case, the data element 45 remains untouched, ie the data element 45 is neither deleted nor otherwise changed, its memory state is rather maintained. 10b) shows the situation after saving the new data element 48: In addition to the data element 45, its validity time 47 and its GUID 46, the new data element 48 together with validity time 49 and GUID 50 is now also stored in the memory 36, with both data elements 45 and 48 the same identification is assigned and both data elements 45, 48 belong to the same data processing process.
Sofern nach Erfolgen der Überschreibung der Datenverarbeitungsprozess ausgeführt werden soll, zu dem die Datenelemente 45 und 48 gehören, und dabei die den beiden Datenelementen 45, 48 zugeordnete Identifikation vor- gegeben wird, ist zusätzlich die Vorgabe einer Bezugszeit notwendig, um die Auswahl eines der Datenelemente 45, 48 zu ermöglichen. Gemäß einem voreingestellten ersten Arbeitsmodus der Datenverarbeitungseinrichtung 29 wird automatisch die aktuelle Zeit der Vorgabe der Identifikation als Bezugszeit gewählt und vorgegeben. Diese ist naturgemäß jünger als jede der Validitäts- zeiten 47 und 49. Damit wird dasjenige der beiden im Speicher 36 gespeicherten Datenelemente 45 und 48, denen dieselbe Identifikation zugeordnet ist, mit der jüngsten Validitätszeit 49 ausgelesen, im vorliegenden Beispiel also das Datenelement 48.If the data processing process to which the data elements 45 and 48 belong is to be carried out after the overwrite has been successful and the identification assigned to the two data elements 45, 48 is specified, the specification of a reference time is additionally necessary in order to select one of the data elements 45, 48 to allow. According to a preset first operating mode of the data processing device 29, the current time of specifying the identification is automatically selected and specified as the reference time. This is naturally younger than each of the validity times 47 and 49. Thus, that of the two data elements 45 and 48 stored in the memory 36 to which the same identification is assigned is read out with the most recent validity time 49, in the present example the data element 48.
Außerhalb des Speichers 36 unterscheidet sich die Wirkung dieser Überschreibung somit nicht von der Wirkung herkömmlicher Überschreibungen, bei denen gespeicherte Datenelemente physikalisch gelöscht werden: Bei Ausführen des Datenverarbeitungsprozesses, dem das Datenelement angehört, und bei Vorgabe einer Identifikation, die dem Datenelement zugeordnet ist, wird in beiden Fällen das jeweils zuletzt gespeicherte Datenelement ausgegeben, mit dem das zuvor gespeicherte Datenelement überschrieben worden ist. Dagegen bleibt bei dem hier beschriebenen datenverlustfreien Überschreiben eines Datenelements das überschriebene Datenelement unverändert im Spei- eher 36 gespeichert, während es bei anderen Arten der Überschreibungen unter Umständen physikalisch gelöscht wird und sein Informationsgehalt dadurch unwiederbringlich verloren geht. Somit erlaubt es das beschriebene Überschreiben, auch nach dem Überschreiben bei Bedarf auf das überschrie- bene Datenelement zuzugreifen. Da dem Datenelement eine eigene GUID zugewiesen ist, erleichtert diese die Adressierung des Datenelements bei einem Zugriff auf dasselbe. Ein unbeabsichtigtes Löschen von Datenelementen ist folglich grundsätzlich ausgeschlossen.Outside the memory 36, the effect of this override thus does not differ from the effect of conventional overrides in which stored data elements are physically erased: upon execution of the data processing process to which the data element belongs and upon specification of an identification associated with the data element In both cases, the last data item that has been stored is output, with which the previously stored data element has been overwritten. On the other hand, in the data loss-free overwriting of a data element described here, the overwritten data element remains unchanged in the memory. It may be stored in memory, whereas in other types of overwriting it may be physically erased and its information content thereby irretrievably lost. Thus, the described overwrite allows access to the overwritten data element even after overwriting, if necessary. Since the data element is assigned its own GUID, this facilitates the addressing of the data element when accessing the same. Unintentional deletion of data elements is therefore excluded in principle.
In einem zweiten Arbeitsmodus der Datenverarbeitungseinrichtung 29 können auch andere Bezugszeiten vorgegeben werden. Wird bei Ausführen eines Datenverarbeitungsprozesses beispielsweise eine zwischen den ValiditätszeitenIn a second operating mode of the data processing device 29, other reference times can also be specified. For example, when executing a data processing process, one between the validity times
47 und 49 liegende Bezugszeit vorgegeben, so wählt die Datenverarbeitungseinrichtung 29 das Datenelement 45 aus, da dessen Validitätszeit 47 nun die jüngste derjenigen Validitätszeiten ist, die älter sind als die Bezugszeit. Gibt man stattdessen eine Bezugszeit vor, die vor der Validitätszeit 47 liegt bzw. älter als die Validitätszeit 47 ist, wird kein Datenelement ausgewählt, weil keine der Validitätszeiten 47 und 49 älter ist als die Bezugszeit. Bei Vorgabe einer Bezugszeit, die relativ zur Zeit der Vorgabe der Identifikation in der Zu- kunft liegt, wird wiederum das Datenelement 48 ausgewählt, da dessen Validitätszeit 49 auch in diesem Fall die jüngste der Validitätszeiten 47 und 49 ist, die beide älter als die Bezugszeit sind.Given reference times 47 and 49, the data processing device 29 selects the data element 45, since its validity time 47 is now the most recent of those validity times that are older than the reference time. If instead one specifies a reference time that lies before the validity time 47 or is older than the validity time 47, no data element is selected because none of the validity times 47 and 49 are older than the reference time. Given a reference time which is relative to the time of specification of the identification in the future, the data element 48 is again selected, since its validity time 49 is also the most recent of the validity times 47 and 49 in this case, both older than the reference time are.
Bei einer späteren Überschreibung des Datenelements 48 in der Figur 10b), welches wie erwähnt bis dahin dasjenige der beiden Datenelemente 45 undIn a later overwriting of the data element 48 in the figure 10b), which as mentioned until then that of the two data elements 45 and
48 desselben Datenverarbeitungsprozesses und derselben zugeordneten Identifikation mit der jüngsten Validitätszeit 49 ist, wird analog verfahren. Zum Überschreiben des Datenelements 48, beispielsweise durch ein Datenelement 51 , wird das Datenelement 51 dem Datenverarbeitungsprozess der Daten- elemente 45 und 48 hinzugefügt und im Speicher 36 gespeichert. Dabei wird ihm eine Validitätszeit 52 zugewiesen, bei der es sich um den Tag handelt, an dem das Datenelement 51 in den Speicher 36 gespeichert wurde, und es wird ihm eine GUID 53 zugwiesen. Die dem Datenelement 51 zugeordnete Identifi- kation ist mit der Identifikation, die den Datenelementen 45 und 48 zugeordnet wurde, identisch. Figur 10c) zeigt die Situation nach Überschreiben des Datenelements 48 durch das Datenelement 51. Nach Erfolgen der Überschreibung wird bei Ausführen des Datenverarbeitungsprozesses, dem die drei Da- tenelemente 45, 48, 51 angehören, und bei Vorgabe einer Identifikation, die den Datenelementen 45, 48, 51 zugeordnet ist, dasjenige der drei gespeicherten Datenelemente 45, 48, 51 ausgewählt, das nunmehr die jüngste Validi- tätszeit 52 von allen Validitätszeiten 47 49, 52 der Datenelemente 45, 48, 51 hat, also das Datenelement 51. Bei Ausführen des Datenverarbeitungspro- zesses, dem die Datenelemente 45, 48, 51 angehören, und bei Vorgabe einer Bezugszeit, die vor der Validitätszeit 47 liegt, wird wie oben erläutert keines der Datenelemente 45, 48, 51 ausgewählt, bei Vorgabe einer Bezugszeit zwischen der Validitätszeit 47 und der Validitätszeit 49 wird das Datenelement 45 ausgelesen, bei Vorgabe einer Bezugszeit zwischen der Validitätszeit 49 und der Validitätszeit 52 wird das Datenelement 48 ausgewählt, und bei Vorgabe einer Bezugszeit, die jünger ist als die Validitätszeit 52, wird das Datenelement 51 ausgewählt.48 of the same data processing process and the same associated identification with the most recent validity period 49, the procedure is analogous. For overwriting the data element 48, for example by a data element 51, the data element 51 is added to the data processing process of the data elements 45 and 48 and stored in the memory 36. In this case, a validity time 52 is assigned to it, which is the day on which the data element 51 was stored in the memory 36, and a GUID 53 is assigned to it. The identifiers assigned to the data element 51 cation is identical to the identification assigned to the data elements 45 and 48. 10c) shows the situation after overwriting of the data element 48 by the data element 51. After the overwrite has been successful, when the data processing process to which the three data elements 45, 48, 51 belong is performed and an identification is provided for the data elements 45, 48, 51, that of the three stored data elements 45, 48, 51 is selected, which now has the most recent validity period 52 of all validity times 47 49, 52 of the data elements 45, 48, 51, ie the data element 51 Data processing process to which the data elements 45, 48, 51 belong, and given a reference time that lies before the validity time 47, as described above, none of the data elements 45, 48, 51 is selected, given a reference time between the validity time 47 and the validity period 49, the data element 45 is read, when a reference time between the validity period 49 and the validity period 52 is given the data element 48 is selected, and given a reference time younger than the validity time 52, the data element 51 is selected.
Im erläuterten Beispiel kann alternativ statt jeweils getrennte GUID und Validi- tätszeiten vorzusehen auch eine Leitkennung eingerichtet werden, zu der GUID und Validitätszeit zusammengefasst sind.In the illustrated example, instead of providing separate GUIDs and validity times, it is also possible to set up a routing identifier to which GUID and validity time are combined.
Unter gewissen Umständen ist es wünschenswert, ein gespeichertes Datenelement durch ein anderes Datenelement zu ersetzen, wobei das ersetzte Da- tenelement gelöscht wird. Beispielsweise könnte das Datenelement 48 beim Speichern irrtümlich mit einem anderen Datenelement verwechselt worden sein, das anstatt des Datenelements 48 hätte gespeichert werden müssen. Für solche Fälle ist die Datenverarbeitungseinrichtung 29 zum Ersetzen gespeicherter Datenelemente durch andere Datenelemente eingerichtet. Zur Vermeidung von Informationsverlusten bei der Ersetzung ist die Datenverarbeitungseinrichtung 29 darüber hinaus zur Generierung eines Protokolls im XML-Format eingerichtet, in welchem Einzelheiten der Ersetzung vermerkt werden. Ein Beispiel für eine Ersetzung ist in den Figuren 1Oc) und 1Od) verdeutlicht. In der Situation gemäß der Figur 10c) soll das Datenelement 48 durch ein Datenelement 54 ersetzt werden, ohne dass ein Informationsverlust befürchtet werden muss. Dazu wird ein Protokoll 55 erzeugt und der Validitätszeit 49 zugeordnet. In diesem werden zum Beispiel der Tag und die Uhrzeit der Ersetzung, eine IP-Adresse eines Computers, von dem aus die Ersetzung getätigt wurde, der die Ersetzung veranlassende Benutzer des Systems 28 oder der Datenverarbeitungseinrichtung 29, eine Kopie der vom Datenelement 48 um- fassten Sequenz von Kalkulationsanweisungen sowie ein Änderungsvermerk festgehalten. Das Datenelement 48 wird gelöscht und das Datenelement 54 wird unter Zuweisung der GUID 50 und der Validitätszeit 49, die zuvor dem Datenelement 54 zugewiesen waren, gespeichert. Somit ist das Datenelement 48 zwar nicht mehr existent, gleichwohl ist dessen Informationsgehalt nicht verloren, da die von ihm umfasste Sequenz von Kalkulationsanweisungen im Protokoll 55 vermerkt wurde.In some circumstances, it is desirable to replace a stored data item with another data item, thereby erasing the replaced data item. For example, the data element 48 could have been erroneously confused with another data element when stored, which would have had to be stored instead of the data element 48. In such cases, the data processing device 29 is set up to replace stored data elements with other data elements. In order to avoid information losses in the replacement, the data processing device 29 is also set up to generate a protocol in XML format, in which details of the replacement are noted. An example of a replacement is illustrated in FIGS. 10c) and 10d). In the situation according to FIG. 10c), the data element 48 is to be replaced by a data element 54 without having to fear any loss of information. For this purpose, a log 55 is generated and assigned to the validity period 49. Here, for example, the date and time of the replacement, an IP address of a computer from which the replacement was made, the replacement initiating user of the system 28 or the data processing device 29, a copy of that from the data element 48 Sequence of calculation instructions and an amendment note. The data item 48 is deleted and the data item 54 is stored with the GUID 50 and validity time 49 previously assigned to the data item 54 assigned. Thus, although the data element 48 no longer exists, its information content is not lost because the sequence of calculation instructions it has included was recorded in the protocol 55.
Anstatt ein derartiges Protokoll 55 erst bei Erfolgen einer Ersetzung eines Datenelements durch ein anderes zu generieren, kann alternativ bereits beim erstmaligen Speichern eines Datenelements, wenn dem Datenelement eine Validitätszeit zugewiesen wird, dieser Validitätszeit ein Protokoll 55 zugeordnet werden. In diesem Protokoll 55 werden zum Beispiel der Tag und die Uhrzeit des Speicherns des Datenelements, die nicht notwendigerweise mit der dem Datenelement zugewiesenen Validitätszeit übereinstimmen müssen, eine IP-Adresse eines Computers, von dem aus das Speichern des Datenelements veranlasst wurde, der die Speicherung des Datenelements veranlassende Benutzer und ein Vermerk über die Speicherung im Protokoll 55 festgehalten. Wird das Datenelement zu einem späteren Zeitpunkt durch ein anderes Datenelement ersetzt, so erfolgt wie oben erläutert ein zusätzlicher entsprechen- der Vermerk im Protokoll 55.Instead of generating such a protocol 55 upon the successful replacement of one data element by another, a protocol 55 can alternatively be assigned to this validity time when a data element is first stored, if a validity period is assigned to the data element. In this protocol 55, for example, the date and time of storage of the data item, which need not necessarily coincide with the validity time assigned to the data item, is an IP address of a computer from which storage of the data item was initiated, storing the data item Data element causing user and a note about the storage in the protocol 55 detained. If the data element is replaced by another data element at a later time, an additional corresponding note is made in the protocol 55, as explained above.
Da im System 28 sowohl Datenelemente der Vorrichtung 1 als auch Datenelemente der Datenverarbeitungseinrichtung 29 unter Zuweisung einer jewei- ligen Validitätszeit gespeichert werden, wird einerseits eine historische Datenhaltung erreicht. Andererseits kann das System 28 bei Vorgabe einer entsprechenden Bezugszeit jederzeit mitsamt Datenverarbeitungsprozessen und zu verarbeitenden Daten in einem Zustand betrieben werden, in dem sich das gesamte System 28 zur vorgegebenen Bezugszeit befand. Since in the system 28 both data elements of the device 1 and data elements of the data processing device 29 are assigned a respective On the one hand, a historical data management is achieved. On the other hand, when a corresponding reference time is specified, the system 28 can be operated at any time along with data processing processes and data to be processed in a state in which the entire system 28 was at the predetermined reference time.
BezugszeichenlisteLIST OF REFERENCE NUMBERS
1. Vorrichtung1. Device
2. Permanentspeicher2. Permanent memory
3. Arbeitsspeicher3. RAM
4. GUID4. GUID
5. GUID5. GUID
6 Datenelement6 data element
7. Datenobjekt7. Data object
8. GUID8. GUID
9. Validitätszeit9. Validity time
10. GUID10. GUID
11. Validitätsstartzeit11. Validity start time
12. Datenelement im XML-Format12. Data element in XML format
13. Datenobjekt im XML-Format13. Data object in XML format
14. Datenelement14. Data element
15. Validitätszeit15. Validity period
16. GUID16. GUID
17. Datenelement17th data element
18. Validitätszeit18. Validity period
19. GUID19. GUID
20. Protokoll20. Protocol
21. Datenelement21. Data element
22. Indikator22nd indicator
23. Indikator23. Indicator
24. Indikator24. Indicator
25. Datenelement25th data element
26. Validitätszeit26. Validity period
27. GUID27. GUID
28. System28. System
29. Datenverarbeitungseinrichtung29. Data processing device
30. Benutzerschnittstelle30. User interface
31. Server31. Server
32. Datenbanksystemserver 33. Benutzerschnittstellenserver32. Database system server 33. User Interface Server
34. Client34. Client
35. Prozessor35th processor
36. Speicher36. memory
37. Datenelement37. Data element
38. Datenverarbeitungsprozess38. Data processing process
39. Datenelement39. Data element
40. Datenverarbeitungsprozess40. Data processing process
41. GUID41. GUID
42. GUID42. GUID
43. GUID43. GUID
44. GUID44. GUID
45. Datenelement45th data item
46. GUID46. GUID
47. Validitätszeit47. Validity period
48. Datenelement48th data item
49. Validitätszeit49. Validity period
50. GUID50. GUID
51. Datenelement51. Data element
52. Validitätszeit52. Validity period
53. GUID53. GUID
54. Datenelement54th data element
55. Protokoll 55th Protocol

Claims

Ansprüche claims
1. Vorrichtung (1 , 29) zum Speichern von Datenelementen (6, 14, 17, 37, 39, 45, 48, 51) spezifischer Attribute und zum Zugreifen auf gespeicherte Da- tenelemente (6, 14, 17, 37, 39, 45, 48, 51), die zur Speicherung von Datenelementen (6, 14, 17, 37, 39, 45, 48, 51) unter Zuweisung einer jeweiligen Va- liditätszeit (9, 15, 18, 47, 49, 52) eingerichtet ist und die im Falle eines Überschreibens eines ersten Datenelements (6, 14, 17, 37, 39, 45, 48, 51) eines vorgegebenen Attributs, dem eine erste Validitätszeit (9, 15, 18, 47, 49, 52) zugewiesen ist, durch ein zweites Datenelement (6, 14, 17, 37, 39, 45, 48, 51) des vorgegebenen Attributs dem zweiten Datenelement (6, 14, 17, 37, 39, 45, 48, 51) eine zweite Validitätszeit (9, 15, 18, 47, 49, 52) zuweist, die jünger ist als die erste Validitätszeit (9, 15, 18, 47, 49, 52), und das zweite Datenelement (6, 14, 17, 37, 39, 45, 48, 51) unter beibehalten der Speicherung des ersten Datenelements (6, 14, 17, 37, 39, 45, 48, 51) speichert, wobei die Vorrichtung (1 , 29) ferner für Zugriffe auf Datenelemente (6, 14, 17, 37, 39, 45, 48, 51) des vorgegebenen Attributs unter Vorgabe einer Bezugszeit eingerichtet ist und bei einem solchen Zugriff von allen gespeicherten Datenelementen (6, 14, 17, 37, 39, 45, 48, 51) des vorgegebenen Attributs, denen eine relativ zur Bezugszeit ältere Validitätszeit (9, 15, 18, 47, 49, 52) zugewiesen ist, dasjenige mit der jeweils jüngsten Validitätszeit (9, 15, 18, 47, 49, 52) ausliest oder, sofern allen gespeicherten Datenelementen (6, 14, 17, 37, 39, 45, 48, 51) des vorgegebenen Attributs eine relativ zur Bezugszeit jüngere Validitätszeit (9, 15, 18, 47, 49, 52) zugewiesen ist, vom Auslesen eines Datenele- ments (6, 14, 17, 37, 39, 45, 48, 51) absieht.1. Device (1, 29) for storing data elements (6, 14, 17, 37, 39, 45, 48, 51) of specific attributes and for accessing stored data elements (6, 14, 17, 37, 39, 45, 48, 51) arranged to store data elements (6, 14, 17, 37, 39, 45, 48, 51) with assignment of a respective validity period (9, 15, 18, 47, 49, 52) is and in the case of overwriting a first data element (6, 14, 17, 37, 39, 45, 48, 51) of a predetermined attribute to which a first validity time (9, 15, 18, 47, 49, 52) is assigned by a second data element (6, 14, 17, 37, 39, 45, 48, 51) of the predetermined attribute, the second data element (6, 14, 17, 37, 39, 45, 48, 51) has a second validity period (9 , 15, 18, 47, 49, 52), which is younger than the first validity period (9, 15, 18, 47, 49, 52), and the second data element (6, 14, 17, 37, 39, 45 , 48, 51) while retaining the storage of the first data item (6, 14, 17, 37, 39, 45, 48, 51) stores, w obei the device (1, 29) is further set up for access to data elements (6, 14, 17, 37, 39, 45, 48, 51) of the predetermined attribute under specification of a reference time and in such an access of all stored data elements (6 , 14, 17, 37, 39, 45, 48, 51) of the predetermined attribute, which is assigned a validity period (9, 15, 18, 47, 49, 52) that is older relative to the reference time, the one with the most recent validity period (9 , 15, 18, 47, 49, 52) or, if all the stored data elements (6, 14, 17, 37, 39, 45, 48, 51) of the given attribute have a validity period (9, 15, 18) that is younger relative to the reference time , 47, 49, 52), except for reading out a data element (6, 14, 17, 37, 39, 45, 48, 51).
2. Vorrichtung (1 , 29) nach Anspruch 1 , die das zweite Datenelement (6, 14, 17, 37, 39, 45, 48, 51) unter beibehalten der Speicherung aller gespeicherten Datenelemente (6, 14, 17, 37, 39, 45, 48, 51) aller Attribute speichert.2. Device (1, 29) according to claim 1, the second data element (6, 14, 17, 37, 39, 45, 48, 51) while retaining the storage of all stored data elements (6, 14, 17, 37, 39 , 45, 48, 51) stores all attributes.
3. Vorrichtung (1 , 29) nach einem der Ansprüche 1 oder 2, die bei Ausbleiben einer Vorgabe für die Bezugszeit bei einem Zugriff auf Datenelemente (6, 14, 17, 37, 39, 45, 48, 51) des vorgegebenen Attributs zur automatischen Vorgabe einer Bezugszeit eingerichtet ist, die einer Zeit entspricht, zu der der Zugriff erfolgt.3. Device (1, 29) according to any one of claims 1 or 2, which in the absence of a specification for the reference time in an access to data elements (6, 14, 17, 37, 39, 45, 48, 51) of the predetermined attribute to automatic Setting a reference time is set, which corresponds to a time to access.
4. Vorrichtung (1, 29) nach einem der Ansprüche 1 bis 3, die wenigstens einem Datenelement (6, 14, 17, 37, 39, 45, 48, 51) oder jedem Datenelement (6, 14, 17, 37, 39, 45, 48, 51) einen jeweiligen Zeitpunkt des Speichems des betreffenden Datenelements (6, 14, 17, 37, 39, 45, 48, 51) als Validitätszeit (9, 15, 18, 47, 49, 52) zuordnet.4. Device (1, 29) according to one of claims 1 to 3, the at least one data element (6, 14, 17, 37, 39, 45, 48, 51) or each data element (6, 14, 17, 37, 39 , 45, 48, 51) assigns a respective time of storage of the relevant data element (6, 14, 17, 37, 39, 45, 48, 51) as validity time (9, 15, 18, 47, 49, 52).
5. Vorrichtung (1 , 29) nach einem der vorhergehenden Ansprüche, die wenigstens einem Datenelement (6, 14, 17, 37, 39, 45, 48, 51) oder jedem Datenelement (6, 14, 17, 37, 39, 45, 48, 51) eine jeweils eindeutige Kennung und/oder eine weltweit eindeutige Kennung und/oder eine GUID (8, 16, 19, 27, 41 , 42, 46, 50, 53) zuweist.5. Device (1, 29) according to one of the preceding claims, the at least one data element (6, 14, 17, 37, 39, 45, 48, 51) or each data element (6, 14, 17, 37, 39, 45 , 48, 51) assigns a respectively unique identifier and / or a globally unique identifier and / or a GUID (8, 16, 19, 27, 41, 42, 46, 50, 53).
6. Vorrichtung (1 , 29) nach Anspruch 5, bei der jeweilige eindeutige Kennungen und jeweilige Validitätszeiten (9, 15, 18, 47, 49, 52) zu einer Leitken- nung zusammengefasst sind.6. Device (1, 29) according to claim 5, wherein the respective unique identifiers and respective validity times (9, 15, 18, 47, 49, 52) are summarized to a Leitn- tion.
7. Vorrichtung (1 , 29) nach einem der vorhergehenden Ansprüche, die ferner eingerichtet ist, wenigstens ein vorgegebenes Datenelement (14, 48) mit einer zugewiesenen Validitätszeit (15, 49) durch ein drittes Datenelement (21 , 54) zu ersetzen, indem sie das vorgegebene Datenelement (14, 48) löscht, das dritte Datenelement (21, 54) speichert und dem dritten Datenele- ment (21, 54) die zuvor dem vorgegebenen Datenelement (14, 48) zugewiesene Validitätszeit (15, 49) zuweist.The apparatus (1, 29) of any of the preceding claims, further arranged to replace at least one predetermined data item (14, 48) with an assigned validity time (15, 49) by a third data item (21, 54) by it deletes the predetermined data element (14, 48), stores the third data element (21, 54) and assigns to the third data element (21, 54) the validity time (15, 49) previously assigned to the given data element (14, 48).
8. Vorrichtung (1 , 29) nach Anspruch 7, wobei der dem vorgegebenen Datenelement (14, 48) zugewiesenen Validitätszeit (15, 49) ein Protokoll (20, 55) zugeordnet ist und die Vorrichtung (1 , 29) eingerichtet ist, bei Ersetzen des vorgegebenen Datenelements (14, 48) durch das dritte Datenelement (21, 54) die Ersetzung im Protokoll (20, 55) zu vermerken und dabei das vorgegebene Datenelement (14, 48) in das Protokoll (20, 55) zu kopieren. The device (1, 29) according to claim 7, wherein the validity time (15, 49) assigned to the given data element (14, 48) is associated with a protocol (20, 55) and the device (1, 29) is set up Replacing the predetermined data element (14, 48) by the third data element (21, 54) to note the replacement in the protocol (20, 55) and thereby copy the predetermined data element (14, 48) in the protocol (20, 55).
9. Vorrichtung (1 , 29) nach Anspruch 8, bei der das Protokoll (20, 55) ein zeichenkodiertes Format oder ein XML-Format aufweist.The apparatus (1, 29) of claim 8, wherein the protocol (20, 55) comprises a character-encoded format or an XML format.
10. Vorrichtung (1) nach einem der vorhergehenden Ansprüche, bei der wenigstens ein Datenelement und die ihm zugewiesene Validitätszeit oder mehrere Datenelemente (6, 25) und die ihnen zugewiesenen Validitätszeiten (9, 26) ein Datenobjekt (7) bilden.10. Device (1) according to one of the preceding claims, in which at least one data element and its assigned validity time or multiple data elements (6, 25) and their assigned validity times (9, 26) form a data object (7).
11. Vorrichtung (1) nach Anspruch 10, wobei dem Datenobjekt (7) eine eindeutige Kennung oder eine weltweit eindeutige Kennung oder eine GUID (10) zugeordnet ist.11. Device (1) according to claim 10, wherein the data object (7) is associated with a unique identifier or a globally unique identifier or a GUID (10).
12. Vorrichtung (1) nach einem der Ansprüche 10 oder 11, wobei wenigs- tens eines der Datenelemente (6, 25) wenigstens eines Datenobjekts (7) eine eindeutige Kennung oder eine weltweit eindeutige Kennung oder eine GUID eines anderen Datenelements oder eines anderen Datenobjekts ist, mit dem eine logische Relation des Datenobjekts (7) besteht.12. Device (1) according to claim 10, wherein at least one of the data elements (6, 25) of at least one data object (7) has a unique identifier or a worldwide unique identifier or a GUID of another data element or another data object is, with which a logical relation of the data object (7) exists.
13. Vorrichtung (1) nach einem der vorhergehenden Ansprüche, wobei wenigstens einem Datenelement (6) und/oder wenigstens einem Datenobjekt (7) wenigstens ein Indikator (11 , 22, 23, 24) zugewiesen ist.13. Device (1) according to one of the preceding claims, wherein at least one data element (6) and / or at least one data object (7) at least one indicator (11, 22, 23, 24) is assigned.
14. Vorrichtung (1) nach Anspruch 13, die ein Datenelement (6) und/oder ein Datenobjekt (7) löscht, wenn wenigstens ein Indikator einen vorgegebenen14. Device (1) according to claim 13, which deletes a data element (6) and / or a data object (7) if at least one indicator has a predetermined value
Wert annimmt.Takes value.
15. Vorrichtung (1) nach einem der Ansprüche 13 oder 14, bei der wenigstens einer der Indikatoren (23) Zugriffsrechte auf das Datenelement (6) oder das Datenobjekt (7) bestimmt. 15. Device (1) according to any one of claims 13 or 14, wherein at least one of the indicators (23) determines access rights to the data element (6) or the data object (7).
16. Vorrichtung (1) nach einem der Ansprüche 13 bis 15, bei der wenigstens ein Indikator (22) eine Zugehörigkeit des Datenelements (6) oder des Datenobjekts (7) zur Vorrichtung (1) oder einer Teileinheit derselben anzeigt.16. Device (1) according to one of claims 13 to 15, wherein at least one indicator (22) indicates an affiliation of the data element (6) or the data object (7) to the device (1) or a subunit thereof.
17. Vorrichtung (1) nach einem der Ansprüche 13 bis 16, bei der wenigstens ein Indikator angibt, dass das Datenelement (6) oder das Datenobjekt (7) aktuell von einer Applikation benutzt wird.17. Device (1) according to one of claims 13 to 16, wherein the at least one indicator indicates that the data element (6) or the data object (7) is currently being used by an application.
18. Vorrichtung (1) nach einem der Ansprüche 13 bis 17, wobei wenigstens ein Indikator (24) wenigstens eines Datenelements (6) oder Datenobjekts (7) eine Validitätsendzeit ist und die Vorrichtung (1) nach Überschreiten der VaIi- ditätsendzeit von einem Auslesen dieses Datenelements (6) oder Datenobjekts (7) absieht.18. Device (1) according to any one of claims 13 to 17, wherein at least one indicator (24) of at least one data element (6) or data object (7) is a validity end time and the device (1) after exceeding the VaIi- ditätsendzeit of a read this data element (6) or data object (7).
19. Vorrichtung (1) nach einem der Ansprüche 13 bis 18, wobei wenigstens ein Indikator wenigstens eines Datenelements (6) oder Datenobjekts (7) eine Periodendauer zur Regelung periodischer Zugriffe auf das Datenelement (6) oder das Datenobjekt (7) ist.19. Device (1) according to one of claims 13 to 18, wherein at least one indicator of at least one data element (6) or data object (7) is a period for controlling periodic accesses to the data element (6) or the data object (7).
20. Vorrichtung (1) nach Anspruch 10 und einem der Ansprüche 13 bis 19, bei der wenigstens ein Indikator (11) wenigstens eines Datenobjekts (7) eine Validitätsstartzeit ist.20. Device (1) according to claim 10 and one of claims 13 to 19, wherein at least one indicator (11) of at least one data object (7) is a validity start time.
21. Vorrichtung (1) nach einem der Ansprüche 10 bis 20, die wenigstens ein vererbbares Musterdatenobjekt (7) mit vorgegebenen Datenelementen (6,21. Device (1) according to one of claims 10 to 20, which has at least one inheritable pattern data object (7) with predetermined data elements (6,
25) aufweist, wobei die Vorrichtung (1) eingerichtet ist, für ein durch Vererbung des Musterdatenobjekts (7) erzeugtes Datenobjekt einen spezifischen Indikator vorzusehen, über den sich für das so erzeugte Datenobjekt ein Bezug zu dem Musterdatenobjekt (7) herstellen lässt.25), wherein the device (1) is set up to provide a specific indicator for a data object generated by the inheritance of the pattern data object (7), by means of which a reference to the pattern data object (7) can be produced for the data object thus generated.
22. Vorrichtung (1) nach einem der vorhergehenden Ansprüche, die wenigstens einen Permanentspeicher (2) zum Speichern von Datenelementen (6, 14, 17) und/oder Datenobjekten (7) sowie wenigstens einen Arbeitsspei- eher (3) umfasst und die eingerichtet ist, gespeicherte Datenelemente (6, 14, 17) und/oder Datenobjekte (7) aus dem Permanentspeicher (2) auszulesen und in den Arbeitsspeicher (3) zu schreiben und im Falle einer im Arbeitsspeicher (3) stattfindenden Ersetzung des ausgelesenen Datenelements (6, 14, 17) und/oder eines vom ausgelesenen Datenobjekt (7) umfassten Datenelements (6, 25) durch ein viertes Datenelement das zugehörige im Permanentspeicher (2) gespeicherte Datenelement (6, 14, 17, 25) im Permanentspeicher (2) durch das vierte Datenelement zu überschreiben.22. Device (1) according to one of the preceding claims, which has at least one non-volatile memory (2) for storing data elements (6, 14, 17) and / or data objects (7) and at least one working memory. rather comprises (3) and which is set up to read out stored data elements (6, 14, 17) and / or data objects (7) from the non-volatile memory (2) and write them into the working memory (3) and, in the case of a memory device (3 ) replacing the read-out data element (6, 14, 17) and / or a data element (6, 25) encompassed by the read data object (7) by a fourth data element, the associated data element (6, 14, 17) stored in the permanent memory (2). 25) in the non-volatile memory (2) by the fourth data element to overwrite.
23. Vorrichtung (1) nach Anspruch 22, die das ausgelesene Datenobjekt (7) und/oder Datenelement (6, 14, 17) in ein zeichenkodiertes Format oder ein XML-Format umwandelt oder binär serialisiert und das so umgewandelte oder serialisierte Datenobjekt (13) und/oder Datenelement (12) in den Arbeitsspeicher (3) schreibt.23. Device (1) according to claim 22, which converts the read-out data object (7) and / or data element (6, 14, 17) into a character-encoded format or an XML format or binary serializes and converts the data object (13 ) and / or data element (12) in the working memory (3) writes.
24. Vorrichtung (1) nach einem der vorhergehenden Ansprüche, bei der es sich um eine zur Reduktion von Datenredundanzen eingerichtete Datenbank handelt.24. Device (1) according to one of the preceding claims, wherein it is a set up for the reduction of data redundancy database.
25. Vorrichtung (1) nach Anspruch 24, wobei die Datenbank eine relationale Datenbank ist.The apparatus (1) of claim 24, wherein the database is a relational database.
26. Vorrichtung (29) nach einem der Ansprüche 1 bis 23, bei der es sich um eine Datenverarbeitungseinrichtung zum Verarbeiten von Daten durch einen oder mehrere Datenverarbeitungsprozesse (38, 40) handelt, in der wenigstens ein Datenverarbeitungsprozess (38, 40) durch wenigstens zwei Datenelemente (37, 39, 45, 48, 51) implementiert ist, wobei jeweilige den Datenelementen (37, 39, 45, 48, 51) zugeordnete Identifikationen spezifische Attribute der Datenelemente (37, 39, 45, 48, 51) sind, wobei jedes Datenelement (37, 39, 45, 48, 51) eine jeweilige Sequenz von Kalkulationsanweisungen umfasst und wobei die Vorrichtung (29) zum Verarbeiten von Daten durch den Datenverarbeitungsprozess (39, 40) unter Vorgabe einer Identifikation eingerichtet ist, indem sie anhand der Identifikation eines der Datenelemente (37, 39, 45, 48, 51) identifiziert, die Kalkulationsanweisungen der vom identifizierten Datenelement (37, 39, 45, 48, 51) umfassten Sequenz von Kalkulationsanweisungen ausführt und die Daten mit Ausführen der Kalkulationsanweisungen verarbeitet.26. Device (29) according to one of claims 1 to 23, which is a data processing device for processing data by one or more data processing processes (38, 40) in which at least one data processing process (38, 40) is performed by at least two Data elements (37, 39, 45, 48, 51) is implemented, wherein respective identifications associated with the data elements (37, 39, 45, 48, 51) are specific attributes of the data elements (37, 39, 45, 48, 51) each data element (37, 39, 45, 48, 51) comprises a respective sequence of calculation instructions, and wherein the device (29) is adapted to process data by the data processing process (39, 40) under specification of an identification by using the identification one of the data elements (37, 39, 45, 48, 51), which executes calculation instructions of the sequence of calculation instructions comprised by the identified data element (37, 39, 45, 48, 51) and processes the data by executing the calculation instructions.
27. Vorrichtung (29) nach Anspruch 26, bei der jeweilige Sequenzen von Kalkulationsanweisungen wenigstens zweier Datenelemente (37, 39, 45, 48, 51) desselben Datenverarbeitungsprozesses (38, 40) oder zweier verschiedener Datenverarbeitungsprozesse (38, 40) sukzessiv ausführbar sind.27. Device (29) according to claim 26, in which respective sequences of calculation instructions of at least two data elements (37, 39, 45, 48, 51) of the same data processing process (38, 40) or two different data processing processes (38, 40) are successively executable.
28. Vorrichtung (29) nach Anspruch 26 oder 27, bei der bei Ausführen des Datenverarbeitungsprozesses (38, 40) die Sequenzen von Kalkulationsanweisungen wenigstens zweier Datenelemente (37, 39, 45, 48, 51) desselben Datenverarbeitungsprozesses (38, 40) oder zweier verschiedener Daten verarbei- tungsprozesse (38, 40) alternativ ausführbar sind.28. Device (29) according to claim 26 or 27, wherein in executing the data processing process (38, 40) the sequences of calculation instructions of at least two data elements (37, 39, 45, 48, 51) of the same data processing process (38, 40) or two various data processing processes (38, 40) are alternatively executable.
29. Vorrichtung (29) nach einem der Ansprüche 26 bis 28, bei der die Kalkulationsanweisungen wenigstens einer Sequenz von Kalkulationsanweisungen in einem zeichenkodierten Format in dem betreffenden Datenelement (37, 39, 45, 48, 51) vorliegen.A device (29) according to any one of claims 26 to 28, wherein the calculation instructions of at least one sequence of calculation instructions are in a character-coded format in the respective data element (37, 39, 45, 48, 51).
30. Vorrichtung (29) nach Anspruch 29, bei der die Kalkulationsanweisungen im XML-Format vorliegen.30. Device (29) according to claim 29, in which the calculation instructions are in XML format.
31. Vorrichtung (29) nach einem der Ansprüche 26 bis 30, bei der wenigstens zwei Datenelementen (37, 39, 45, 48, 51) zweier verschiedener Datenverarbeitungsprozesse (38, 40) die gleiche Identifikation zugeordnet ist.31. Device (29) according to one of claims 26 to 30, wherein at least two data elements (37, 39, 45, 48, 51) of two different data processing processes (38, 40) is assigned the same identification.
32. Vorrichtung (29) nach einem der Ansprüche 26 bis 31 mit wenigstens einer vordefinierten Datenverarbeitungskategorie, wobei wenigstens eines der Datenelemente (37, 39, 45, 48, 51) über die ihm zugeordnete Identifikation wenigstens einer Datenverarbeitungskategorie zugewiesen ist und die Vorrichtung (29) ferner zum Verarbeiten von Daten unter Vorgabe einer Datenve- rarbeitungskategorie eingerichtet ist, wobei die Vorrichtung (29) bei Verarbeiten von Daten mittels eines Datenverarbeitungsprozesses (38, 40) oder mehrerer unterschiedlicher Datenverarbeitungsprozesse (38, 40) ein jeweiliges Datenelement (37, 39, 45, 48, 51) nur dann identifiziert, wenn das Datenele- ment (37, 39, 45, 48, 51) der vorgegebenen Datenverarbeitungskategorie zugewiesen ist.32. Device (29) according to one of claims 26 to 31 with at least one predefined data processing category, wherein at least one of the data elements (37, 39, 45, 48, 51) is assigned to at least one data processing category via its associated identification and the device (29 ) for processing data under specification of a data processing device, wherein the device (29) identifies a respective data element (37, 39, 45, 48, 51) when processing data by means of a data processing process (38, 40) or several different data processing processes (38, 40) only if the data element (37, 39, 45, 48, 51) is assigned to the predetermined data processing category.
33. Vorrichtung (29) nach Anspruch 32, bei der zwischen den Datenverarbeitungskategorien eine Hierarchie in Form einer verzweigten Baumstruktur existiert.33. Device (29) according to claim 32, in which a hierarchy in the form of a branched tree structure exists between the data processing categories.
34. Vorrichtung (29) nach einem der Ansprüche 32 oder 33, bei der wenigstens ein Teil der zu verarbeitenden Daten wenigstens einer Datenverarbeitungskategorie zugewiesen ist und die Vorrichtung (29) zum Verarbeiten von Daten unter Vorgabe einer Datenverarbeitungskategorie eingerichtet ist, indem sie von den einer Datenverarbeitungskategorie zugewiesenen Daten wenigstens einen Teil derjenigen Daten verarbeitet, die der vorgegebenen Datenverarbeitungskategorie zugewiesen sind.34. Device (29) according to one of claims 32 or 33, wherein at least a part of the data to be processed is assigned to at least one data processing category and the device (29) is adapted to process data specifying a data processing category by using one of the data processing categories Data processing category at least part of the data assigned to the given data processing category.
35. Vorrichtung (29) nach einem der Ansprüche 32 bis 34, bei der eine Suchfunktion vorgesehen ist, die bei Vorgabe einer Datenverarbeitungskategorie alle Datenelemente (37, 39, 45, 48, 51) und/oder Daten anzeigt, die dieser Datenverarbeitungskategorie zugewiesen sind.35. Device (29) according to any one of claims 32 to 34, wherein a search function is provided, which indicates all data elements (37, 39, 45, 48, 51) and / or data assigned to this data processing category when specifying a data processing category ,
36. Vorrichtung (29) nach einem der Ansprüche 26 bis 35, die wenigstens einem Datenelement (37, 39, 45, 48, 51) oder jedem Datenelement (37, 39, 45, 48, 51) eine jeweils eindeutige Kennung und/oder eine weltweit eindeutige Kennung und/oder eine GUID (37, 39, 46, 50, 53) zuweist.36. Device (29) according to one of claims 26 to 35, the at least one data element (37, 39, 45, 48, 51) or each data element (37, 39, 45, 48, 51) each have a unique identifier and / or assigns a globally unique identifier and / or GUID (37, 39, 46, 50, 53).
37. System (28) mit wenigstens einer Vorrichtung (1, 29) nach einem der vorhergehenden Ansprüche. 37. System (28) with at least one device (1, 29) according to one of the preceding claims.
38. System (28) nach Anspruch 37, wobei das System (28) wenigstens zwei oder mehr miteinander verbindbare Computer umfasst, wobei die Computer durch ein bi- oder multidirektionales Netzwerk oder über das Internet miteinander verbindbar sind.The system (28) of claim 37, wherein the system (28) comprises at least two or more connectable computers, the computers being connectable to each other through a bi-or multi-directional network or over the Internet.
39. System (28) nach einem der Ansprüche 37 oder 38 mit wenigstens einer Vorrichtung (1) nach einem der Ansprüche 24 oder 25 und/oder wenigstens einer Vorrichtung (29) nach einem der Ansprüche 26 bis 36.39. System (28) according to any one of claims 37 or 38 with at least one device (1) according to one of claims 24 or 25 and / or at least one device (29) according to any one of claims 26 to 36.
40. Verfahren zum Speichern von Datenelementen (6, 14, 17, 37, 39, 45, 48, 51) spezifischer Attribute und zum Zugreifen auf gespeicherte Datenelemente (6, 14, 17, 37, 39, 45, 48, 51) mit den Schritten:40. A method for storing data elements (6, 14, 17, 37, 39, 45, 48, 51) of specific attributes and for accessing stored data elements (6, 14, 17, 37, 39, 45, 48, 51) the steps:
(a) Speichern eines ersten Datenelements (6, 14, 17, 37, 39, 45, 48,(a) storing a first data element (6, 14, 17, 37, 39, 45, 48,
51) eines vorgegebenen Attributs mit einer ersten Validitätszeit (9, 15, 18, 47, 49, 52);51) of a predetermined attribute having a first validity period (9, 15, 18, 47, 49, 52);
(b) Überschreiben des ersten Datenelements (6, 14, 17, 37, 39, 45, 48, 51) durch Speichern eines zweiten Datenelements (6, 14, 17, 37, 39, 45, 48, 51) des vorgegebenen Attributs unter beibehalten der Speicherung des ersten Datenelements (6, 14, 17, 37, 39, 45, 48, 51) und unter Zuweisung ei- ner zweiten Validitätszeit (9, 15, 18, 47, 49, 52) zu dem zweiten Datenelement (6, 14, 17, 37, 39, 45, 48, 51), die jünger ist als die erste Validitätszeit (9, 15, 18, 47, 49, 52);(b) overwriting the first data element (6, 14, 17, 37, 39, 45, 48, 51) by storing a second data element (6, 14, 17, 37, 39, 45, 48, 51) of the predetermined attribute below maintaining the storage of the first data element (6, 14, 17, 37, 39, 45, 48, 51) and assigning a second validity period (9, 15, 18, 47, 49, 52) to the second data element (6 , 14, 17, 37, 39, 45, 48, 51) that is younger than the first validity period (9, 15, 18, 47, 49, 52);
(c) Vorgeben einer Bezugszeit;(c) specifying a reference time;
(d) Auslesen desjenigen der gespeicherten Datenelemente (6, 14, 17, 37, 39, 45, 48, 51) des vorgegebenen Attributs, dem von allen gespeicherten Datenelementen (6, 14, 17, 37, 39, 45, 48, 51) des vorgegebenen Attributs, denen eine relativ zur Bezugszeit ältere Validitätszeit (9, 15, 18, 47, 49,(d) reading out of the stored data elements (6, 14, 17, 37, 39, 45, 48, 51) of the predetermined attribute, the data elements (6, 14, 17, 37, 39, 45, 48, 51 ) of the given attribute to which a validity period older than the reference time (9, 15, 18, 47, 49,
52) zugewiesen ist, die jeweils jüngste Validitätszeit (9, 15, 18, 47, 49, 52) zugeordnet ist; oder (e) Absehen vom Auslesen eines Datenelements (6, 14, 17, 37, 39,52) associated with each most recent validity period (9, 15, 18, 47, 49, 52); or (e) refraining from reading out a data element (6, 14, 17, 37, 39,
45, 48, 51) sofern allen gespeicherten Datenelementen (6, 14, 17, 37, 39, 45, 48, 51) des vorgegebenen Attributs eine relativ zur Bezugszeit jüngere Validitätszeit (9, 15, 18, 47, 49, 52) zugewiesen ist. 45, 48, 51) provided that all stored data elements (6, 14, 17, 37, 39, 45, 48, 51) of the given attribute have a validity time (9, 15, 18, 47, 49, 52) that is younger relative to the reference time is.
41. Verfahren nach Anspruch 40, bei dem das zweite Datenelement (6, 14, 17, 37, 39, 45, 48, 51) und/oder das neue Datenelement (6, 14, 17, 37, 39, 45, 48, 51) unter beibehalten der Speicherung aller gespeicherten Datenele- mente (6, 14, 17, 37, 39, 45, 48, 51) aller Attribute gespeichert wird.41. Method according to claim 40, wherein the second data element (6, 14, 17, 37, 39, 45, 48, 51) and / or the new data element (6, 14, 17, 37, 39, 45, 48, 51) while retaining the storage of all stored data elements (6, 14, 17, 37, 39, 45, 48, 51) of all attributes.
42. Verfahren nach einem der Ansprüche 40 oder 41, bei dem bei Ausbleiben einer Vorgabe für die Bezugszeit bei einem Zugriff auf Datenelemente (6, 14, 17, 37, 39, 45, 48, 51) des vorgegebenen Attributs eine Bezugszeit auto- matisch vorgegeben wird, die der jeweiligen Zeit entspricht, zu der der Zugriff erfolgt.42. The method according to any one of claims 40 or 41, wherein in the absence of a specification for the reference time when accessing data elements (6, 14, 17, 37, 39, 45, 48, 51) of the predetermined attribute, a reference time automatically is given, which corresponds to the respective time to which the access is made.
43. Verfahren nach einem der Ansprüche 40 bis 42, wobei wenigstens einem Datenelement (6, 14, 17, 37, 39, 45, 48, 51) oder jedem Datenelement (6, 14, 17, 37, 39, 45, 48, 51) ein jeweiliger Zeitpunkt des Speichems des betreffenden Datenelements (6, 14, 17, 37, 39, 45, 48, 51) als Validitätszeit (6, 14, 17, 37, 39, 45, 48, 51) zugeordnet wird.43. The method according to any one of claims 40 to 42, wherein at least one data element (6, 14, 17, 37, 39, 45, 48, 51) or each data element (6, 14, 17, 37, 39, 45, 48, 51) is assigned a respective time of storage of the relevant data element (6, 14, 17, 37, 39, 45, 48, 51) as validity time (6, 14, 17, 37, 39, 45, 48, 51).
44. Verfahren nach einem der Ansprüche 40 bis 43, bei dem wenigstens einem Datenelement (6, 14, 17, 37, 39, 45, 48, 51) oder jedem Datenelement44. The method according to any one of claims 40 to 43, wherein the at least one data element (6, 14, 17, 37, 39, 45, 48, 51) or each data element
(6, 14, 17, 37, 39, 45, 48, 51) eine jeweils eindeutige Kennung und/oder eine weltweit eindeutige Kennung und/oder eine GUID (8, 16, 19, 27, 41, 42, 46, 50, 53) zugewiesen wird.(6, 14, 17, 37, 39, 45, 48, 51) each have a unique identifier and / or a globally unique identifier and / or a GUID (8, 16, 19, 27, 41, 42, 46, 50, 53).
45. Verfahren nach einem der Ansprüche 40 bis 44, bei dem wenigstens ein vorgegebenes Datenelement (14, 48) mit einer zugewiesenen Validitätszeit (15, 49) durch ein drittes Datenelement (21 , 54) ersetzt wird, indem das vorgegebene Datenlement (14, 48) gelöscht wird, das dritte Datenelement (21 , 54) gespeichert wird und dem dritten Datenelement (21 , 54) die zuvor dem vorgegebenen Datenelement (14, 48) zugewiesene Validitätszeit (15, 49) zugewiesen wird. 45. The method as claimed in one of claims 40 to 44, in which at least one predetermined data element (14, 48) having an assigned validity time (15, 49) is replaced by a third data element (21, 54), in which the predefined data element (14, 48), the third data element (21, 54) is stored, and the third data element (21, 54) is assigned the validity time (15, 49) previously assigned to the given data element (14, 48).
46. Verfahren nach Anspruch 45, wobei der dem vorgegebenen Datenelement (14, 48) zugewiesenen Validitätszeit (15, 49) ein Protokoll (20, 55) zugeordnet wird, in das bei Ersetzen des vorgegebenen Datenelements (14, 48) durch das dritte Datenelement (21 , 54) die Ersetzung vermerkt wird und dabei das vorgegebene Datenelement (14, 48) in das Protokoll (20, 55) kopiert wird.46. Method according to claim 45, wherein the validity time (15, 49) assigned to the given data element (14, 48) is assigned a protocol (20, 55) in which the replaced data element (14, 48) is replaced by the third data element (21, 54) the substitution is noted and thereby the given data element (14, 48) is copied into the protocol (20, 55).
47. Verfahren nach einem der Ansprüche 40 bis 46, bei der wenigstens ein Datenelement und die ihm zugewiesene Validitätszeit oder mehrere Datenelemente (6, 25) und die ihnen zugewiesenen Validitätszeiten (9, 26) als ein Datenobjekt (7) behandelt werden.47. Method according to one of claims 40 to 46, in which at least one data element and the validity time assigned to it or several data elements (6, 25) and the validity times (9, 26) assigned to them are treated as a data object (7).
48. Verfahren nach Anspruch 47, wobei dem Datenobjekt (7) eine eindeutige Kennung oder eine weltweit eindeutige Kennung oder eine GUID (10) zugeordnet wird.48. The method of claim 47, wherein the data object (7) is assigned a unique identifier or a globally unique identifier or a GUID (10).
49. Verfahren nach einem der Ansprüche 40 bis 48, bei dem wenigstens einem Datenelement (6) wenigstens ein Indikator (22, 23, 24) zugewiesen wird.49. The method according to any one of claims 40 to 48, wherein at least one data element (6) at least one indicator (22, 23, 24) is assigned.
50. Verfahren nach einem der Ansprüche 40 bis 49, bei dem wenigstens ein in einem Permanentspeicher (2) gespeichertes Datenelement (6, 14, 17) und/oder wenigstens ein Datenobjekt (7) aus diesem ausgelesen und in wenigstens einen Arbeitsspeicher (3) geschrieben wird und im Falle einer im Arbeitsspeicher (3) stattfindenden Ersetzung des ausgelesenen Datenelements (6, 14, 17) und/oder eines vom ausgelesenen Datenobjekt (7) umfassten Datenelements (6, 25) durch ein viertes Datenelement das zugehörige im Permanentspeicher (2) gespeicherte Datenelement (6, 14, 17, 25) durch das vierte Datenelement gemäß den Schritten (a) bis (d) überschrieben wird.50. Method according to claim 40, wherein at least one data element (6, 14, 17) stored in a non-volatile memory (2) and / or at least one data object (7) is read out of it and stored in at least one main memory (3). is written and in the case of in the working memory (3) taking place the read-out data element (6, 14, 17) and / or one of the read data object (7) comprised data element (6, 25) by a fourth data element associated in the non-volatile memory (2 ) data element (6, 14, 17, 25) is overwritten by the fourth data element according to steps (a) to (d).
51. Verfahren nach Anspruch 50, bei dem das ausgelesene Datenelement (6, 14, 17) und/oder Datenobjekt (7) in ein XML-Format umgewandelt oder binär serialisiert wird und das umgewandelte oder serialisierte Datenobjekt (13) und/oder Datenelement (12) in den Arbeitsspeicher (3) geschrieben wird. 51. The method of claim 50, wherein the read-out data element (6, 14, 17) and / or data object (7) is converted into an XML format or binary serialized and the converted or serialized data object (13) and / or data element ( 12) is written in the working memory (3).
52. Computerprogrammprodukt, das Steueranweisungen zum Steuern einer Vorrichtung (1 , 29) nach einem der Ansprüche 1 bis 36 und/oder eines Systems (28) nach einem der Ansprüche 37 bis 39 aufweist, wobei die Vorrich- tung (1 , 29) bei Ausführen der Steueranweisungen ein Verfahren nach einem der Ansprüche 40 bis 51 durchführt.52. A computer program product comprising control instructions for controlling a device (1, 29) according to any one of claims 1 to 36 and / or a system (28) according to any one of claims 37 to 39, wherein the device (1, 29) at Executing the control instructions performs a method according to any one of claims 40 to 51.
53. Speichermedium, auf dem ein Computerprogrammprodukt nach Anspruch 52 gespeichert ist. 53. Storage medium on which a computer program product according to claim 52 is stored.
PCT/DE2009/000571 2008-04-30 2009-04-24 Overwriting stored data elements without losing data WO2009132621A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP09737729A EP2272012A1 (en) 2008-04-30 2009-04-24 Overwriting stored data elements without losing data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102008021667A DE102008021667A1 (en) 2008-04-30 2008-04-30 Data lossless overwriting of stored data elements
DE102008021667.4 2008-04-30

Publications (1)

Publication Number Publication Date
WO2009132621A1 true WO2009132621A1 (en) 2009-11-05

Family

ID=41112992

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2009/000571 WO2009132621A1 (en) 2008-04-30 2009-04-24 Overwriting stored data elements without losing data

Country Status (3)

Country Link
EP (1) EP2272012A1 (en)
DE (1) DE102008021667A1 (en)
WO (1) WO2009132621A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1713008A2 (en) * 2005-04-14 2006-10-18 Rajesh Kapur Method and system for preserving access to deleted and overwritten documents by means of a system recycle bin
EP1785893A1 (en) * 2005-11-15 2007-05-16 Paul Pickering Temporal relational databases

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8275742B2 (en) 2003-05-19 2012-09-25 Sap Aktiengesellschaft Data importation and exportation for computing devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1713008A2 (en) * 2005-04-14 2006-10-18 Rajesh Kapur Method and system for preserving access to deleted and overwritten documents by means of a system recycle bin
EP1785893A1 (en) * 2005-11-15 2007-05-16 Paul Pickering Temporal relational databases

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2272012A1 *

Also Published As

Publication number Publication date
DE102008021667A1 (en) 2009-11-05
EP2272012A1 (en) 2011-01-12

Similar Documents

Publication Publication Date Title
DE69736748T2 (en) EDITING ENVIRONMENT FOR OBJECT MODELS AND METHOD FOR THEIR APPLICATION
DE102006036584B4 (en) Manage differently versioned configuration files of a medical facility
DE10048942B4 (en) Method and system for maintaining software over a network
DE19844013A1 (en) Computer-readable work folder memory
DE10255128A1 (en) Computer-implemented PDF document management
DE102010007967A1 (en) Method, computer program product and computer-readable storage medium for the generic creation of a structure tree for describing an IT process
DE112011101793T5 (en) Shared data usage with file clones
WO2015090668A1 (en) Posix-compatible file system, method for producing a file list and memory apparatus
EP1638028A2 (en) Computer aided generation and change management for user interfaces
DE202015009316U1 (en) Metadata management in a decentralized processing system
DE102012001406A1 (en) Automatic configuration of a product data management system
DE112014003082B4 (en) Programmable control system, programmable control, program display device and program display method
DE102016006202B4 (en) Numerical control device for managing machining data and machining results
DE102018111930A1 (en) Procedure for editing a software project
EP3809260A1 (en) System and method for monitoring production systems
DE112016004168T5 (en) Systems and methods for storing and reading content
WO2009132621A1 (en) Overwriting stored data elements without losing data
EP2479664A1 (en) System and method for generating a source code for a computer program
DE112019006886T5 (en) System development support apparatus, method, program and recording medium
EP2271985A2 (en) Data processing device, and method for processing data
EP1675045A1 (en) Exchange of description data between projects using inter-project-interfaces
DE102011102572A1 (en) Working method for a self-sufficient rights management component, self-sufficient rights management system and device
DE112018007101T5 (en) Management device, management system, notification procedure and program
DE10058391C2 (en) Object processing device
WO2010026151A1 (en) Method for granting authorization to access a computer-based object in an automation system, computer program, and automation system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09737729

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2009737729

Country of ref document: EP