EP1567952A1

Avoiding data loss when refreshing a data warehouse

Abstract

The Invention relates to a method for replicating and processing data objects by means of one or more processes running in a computer system having one or more electronic data elements, which are settable to a first, second and third state, comprising: a) replicating the data objects, the assigned electronic data elements of which are set to the third state, to a target system. By using this method and the inventive electronic data elements, it is assured that no further data objects can be assigned to that particular electronic data element in the third state after a replication process using this electronic data element has been started or finished. Thus, no data object can be omitted by the replication process.

Term

Term ended

Projected expiry passed 24 November 2023, 2.8 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

93 claims: 56 independent, 37 dependent

  1. 1
    Claims of equivalent WO 2004049201 A1 What is claimed is :1. An electronic data element for access for data object processing processes in a computer system comprising said element being settable to at least : a) a first state, in which said element can be accessed by one or more of the data object processing processes and whereby said element is assignable to one or more of the data objects, b) a second state, in which said element can not be accessed by one or more of the data processing processes but is assignable to one or more of the data objects, and c) a third state, in which said element can not be accessed by one or more of the data processing processes and is not assignable to the one or more data objects.
  2. 5
    A method for processing data objects in a computer system comprising:creating one or more electronic data elements as of any of claims 1 to 4 and setting it to the first state .
  3. 6
    A computer system for processing data objects having one or more electronic data elements as of any of claims 1 to 4.
  4. 7
    A method for processing and storing data objects by means of one or more processes running in a computer system, having one or more previous electronic data elements as of any of claims 1 to 4, which are in a first or second state, comprising :a) setting an electronic data element to the third state if the storing of the data objects, which have that electronic data element assigned, is committed.
  5. 10
    The method of one or more of claims 7 to 9, further comprising:dependent or independent of steps a) to c) , d) creating a further electronic data element and setting it to the first state.
  6. 14
    The method of one or more of claims 7 to 13, further comprising:in step c) : setting a block having a reference to the process, which sets the block, on the electronic data element, said block preventing the change of the state of the electronic data element to the third state if the state is the first or second state .
  7. 16
    The method of one or more of claims 7 to 15, further comprising:irreversibly blocking the change of the state of the electronic data element if the state is the third state.
  8. 17
    The method of one of claims 14 to 16, wherein the blocking is implemented by setting a shared lock on the selected electronic data element .
  9. 21
    The method of one or more of claims 14 to 20, wherein the blocking is implemented in step c) by setting a shared lock on the electronic data element previous to assignment of the electronic data element to that data object.
  10. 22
    The method of one of claims 15 to 21, wherein the deblocking is implemented in step c) by deleting the shared lock as soon as the storing is committed.
  11. 23
    The method of one of claims 7 to 22, further - comprising:preceding step a) : f) checking whether a shared lock is set on the electronic data element and in case no shared lock is set, performing step a) .
  12. 26
    The method of one of claims 23 to 25, wherein the checking is implemented by trying to set an exclusive lock on the electronic data element and in case the exclusive lock has been set, returning that no shared lock is set on the electronic data element .
  13. 27
    The method of one or more of claims 8 to 26, further comprising:steps b) and/or a) and/or c) being performed independently by independent processes .
  14. 28
    The method of one or more of claims 5 and 7 to 27, further comprising:after creating an data element in the first sate: h) creating a predefinable numbers of sub processes for processing the correspondent number of data objects, i) performing step c) for each data object in the corresponding sub process j ) in the process which created the sub processes : waiting until the corresponding number of shared locks has been set on the data element before changing the state of the data element to the second state, k) processing and storing the data objects in the respective sub processes .
  15. 29
    The method of one or more of claims 5 and 7 to 28, further comprising:1) replicating the data objects, the assigned data elements of which are set to the third state, to a target system.
  16. 30
    The method of one or more of claims 5 and 7 to 29, wherein the electronic data element comprises a GUID or a time stamp.
  17. 31
    The method of one or more of claims 5 and 7 to 30, wherein the data elements in the third state are numbered consecutively.
  18. 32
    The method of one or more of claims 17 to 31, wherein the shared locks are logical read locks or data base read locks.
  19. 33
    The method of one of claims 5 and 7 to 32, for use in an enterprise resource planning software.
  20. 34
    A computer system for processing data objects in a computer system comprising:- memory having program instructions;- input means for entering data;- storage means for storing data;- a processor responsive to the program instructions to: creating one or more electronic data elements as of any of claims 1 to 4 and setting it to the first state.
  21. 35
    A computer system for processing and storing data objects by means of one or more processes running in a computer system, having one or more previous electronic data elements as of any of claims 1 to 4, which are in a first or second state, comprising:- memory having program instructions;- input means for entering data;- storage means for storing data;- a processor responsive to the program instructions to: a) setting an electronic data element to the third state if the storing of the data objects, which have that electronic data element assigned, is committed.
  22. 38
    The computer system of one or more of claims 35 to 37, further comprising:dependent or independent of steps a) to c) , d) creating a further electronic data element and setting it to the first state.
  23. 42
    The computer system of one or more of claims 35 to 41, further comprising:in step c) : setting a block having a reference to the process, which sets the block, on the electronic data element, said block preventing the change of the state of the electronic data element to the third state if the state is the first or second state.
  24. 44
    The computer system of one or more of claims 35 to 43, further comprising:irreversibly blocking the change of the state of the electronic data element if the state is the third state.
  25. 45
    The computer system of one of claims 42 to 44, wherein the blocking is implemented by setting a shared lock on the selected electronic data element.
  26. 49
    The computer system of one or more of claims 42 to 48, wherein the blocking is implemented in step c) by setting a shared lock on the electronic data element previous to assignment of the electronic data element to that data object.
  27. 50
    The computer system of one of claims 43 to 49, wherein the deblocking is implemented in step c) by deleting the shared lock as soon as the storing is committed.
  28. 51
    The computer system of one of claims 35 to 50, further comprising:preceding step a) : f) checking whether a shared lock is set on the electronic data element and in case no shared lock is set, performing step a) .
  29. 54
    The computer system of one of claims 51 to 53, wherein the checking is implemented by trying to set an exclusive lock on the electronic data element and in case the exclusive lock has been set, returning that no shared lock is set on the electronic data element.
  30. 55
    The computer system of one or more of claims 34 to 54, further comprising:steps b) and/or a) and/or c) being performed independently by independent processes .
  31. 56
    The computer system of one or more of claims 34 to 55, further comprising:after creating an data element in the first sate: h) creating a predefinable numbers of sub processes for processing the correspondent number of data objects, i) performing step c) for each data object in the corresponding sub process j) in the process which created the sub processes: waiting until the corresponding number of shared locks has been set on the data element before changing the state of the data element to the second state, k) processing and storing the data objects in the respective sub processes.
  32. 57
    The computer system of one or more of claims 34 to 56, further comprising:1) replicating the data objects, the assigned data elements of which are set to the third state, to a target system.
  33. 58
    The computer system of one or more of claims 34 to 57, wherein the electronic data element comprises a GUID or a time stamp.
  34. 59
    The computer system of one or more of claims 34 to 58, wherein the data elements in the third state are numbered consecutively.
  35. 60
    The computer system of one or more of claims 45 to 59, wherein the shared locks are logical read locks or data base read locks.
  36. 61
    The computer system of one of claims 34 to 60, for use in an enterprise resource planning software .
  37. 62
    A computer readable medium comprising instructions for processing data objects by means of one or more processes, comprising instructions for:creating one or more electronic data elements as of any of claims 1 to 4 and setting it to the first state.
  38. 63
    A computer readable medium comprising instructions for processing and storing data objects by means of one or more processes running in a computer system, having one or more previous electronic data elements as of any of claims 1 to 4 , which are in a first or second state, comprising instructions for:a) setting an electronic data element to the third state if the storing of the data objects, which have that electronic data element assigned, is committed.
  39. 66
    The computer readable medium of one or more of claims 63 to 65, further comprising:dependent or independent of steps a) to c) , d) creating a further electronic data element and setting it to the first state.
  40. 70
    The computer readable medium of one or more of claims 63 to69, further comprising:in step c) : setting a block having a reference to the process, which sets the block, on the electronic data element, said block preventing the change of the state of the electronic data element to the third state if the state is the first or second state.
  41. 72
    The computer readable medium of one or more of claims 63 to 71, further comprising:irreversibly blocking the change of the state of the electronic data element if the state is the third state.
  42. 73
    The computer readable medium of one of claims 70 to 72, wherein the blocking is implemented by setting a shared lock on the selected electronic data element.
  43. 77
    The computer readable medium of one or more of claims 70 to 76, wherein the blocking is implemented in step c) by setting a shared lock on the electronic data element previous to assignment of the electronic data element to that data object.
  44. 78
    The computer readable medium of one of claims 71 to 77, wherein the deblocking is implemented in step c) by deleting the shared lock as soon as the storing is committed.
  45. 79
    The computer readable medium of one of claims 63 to 78, further comprising:preceding step a) : f) checking whether a shared lock is set on the electronic data element and in case no shared lock is set, performing step a) .
  46. 82
    The computer readable medium of one of claims 79 to 81, wherein the checking is implemented by trying to set an exclusive lock on the electronic data element and in case the exclusive lock has been set, returning that no shared lock is set on the electronic data element .
  47. 83
    The computer readable medium of one or more of claims 64 to 82, further comprising:steps b) and/or a) and/or c) being performed independently by independent processes.
  48. 84
    The computer readable medium of one or more of claims 62 to 83, further comprising:after creating an data element in the first sate: h) creating a predefinable numbers of sub processes for processing the correspondent number of data objects, i) performing step c) for each data object in the corresponding sub process j) in the process which created the sub processes: waiting until ' the corresponding number of shared locks has been set on the data element before changing the state of the data element to the second state, k) processing and storing the data objects in the respective sub processes.
  49. 85
    The computer readable medium of one or more of claims 62 to 84, further comprising:1) replicating the data objects, the assigned data elements of which are set to the third state, to a target system.
  50. 86
    The computer readable medium of one or more of claims 62 to 85, wherein the electronic data element comprises a GUID or a time stamp.
  51. 87
    The computer readable medium of one or more of claims 62 to 86, wherein the data elements in the third state are numbered consecutively.
  52. 88
    The computer readable medium of one or more of claims 73 to 87, wherein the shared locks are logical read locks or data base read locks.
  53. 89
    The computer readable medium of one of claims 62 to 88, for use in an enterprise resource planning software .
  54. 90
    A computer data signal embodied in a carrier wave comprising:code for processing data objects by means of one or more processes, said code comprising instructions for: creating one or more electronic data elements as of any of claims 1 to 4 and setting it to the first state .
  55. 91
    A computer data signal embodied in a carrier wave comprising:code for processing and storing data objects by means of one or more processes running in a computer system, having one or more previous electronic data elements as of any of claims 1 to 4, which are in a first or second state, said code comprising instructions for: a) setting an electronic data element to the third state if the storing of the data objects, which have that electronic data element assigned, is committed.
  56. 92
    An electronic data structure for electronic data elements according to one or more of claims 1 to .
Independent claims56