IP Library Granted Patent US 8,671,081
Granted Patent B2
US 8,671,081 · App. 12/292,941 · Granted Mar 11, 2014

Data processing systems and methods to ensure the consistency of data

Inventor: Martin Kaisermayr (Antibes, FR)
Assignee: SAP AG
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,671,081
App. No.
12/292,941
Granted
Mar 11, 2014
Kind
B2
Abstract

Data processing systems and methods are provided for correcting data inconsistencies within one or more databases and/or data repositories. In accordance with one implementation, a correction module is selected from a set of correction modules, and the selected correction module is configured to correct data inconsistencies of a solvable data inconsistency type. Data having an data inconsistency of the solvable data inconsistency type is identified within one or more databases or data repositories. If the selected correction module is unassociated with an obstacle data inconsistency type, or if the identified data not include an inconsistency of the obstacle data inconsistency type, then the correction module corrects the data inconsistency within the identified data.

Claims (98)

1. A computer-implemented method for correcting data inconsistencies in databases, comprising:

obtaining a first correction module associated with a first type of data inconsistency and a second type of data inconsistency;

identifying data within one or more of the databases that includes a first data inconsistency of the first type,

the first inconsistency being correctable by the first correction module;

determining whether the identified data includes a second data inconsistency of the second type, the second data inconsistency preventing correction of the first data inconsistency by the first correction module; and

when the identified data fails to include the second data inconsistency, correcting, using at least one processor, the identified data for the first data inconsistency using the first correction module.

2. The method of claim 1 , wherein the identifying comprises:

selecting a first check module from a set of check modules, the first check module being associated with a third type of data inconsistency; and

determining whether the third type of data inconsistency matches the first type of data inconsistency.

3. The method of claim 2 , wherein the identifying further comprises:

identifying the data including the first data inconsistency using the first check module, when the third type of data inconsistency matches the first type of data inconsistency; and

selecting a second check module from the set of check modules, when the third type of data inconsistency fails to match the first type of data inconsistency.

4. The method of claim 1 , wherein the correcting comprises:

selecting a first check module from a set of check modules, the first check module being associated with a third type of data inconsistency; and

determining whether the third type of data inconsistency matches the second type of data inconsistency.

5. The method of claim 4 , wherein the correcting further comprises:

identifying the second data inconsistency using the first check module, when the third type of data inconsistency matches the second type of data inconsistency; and

selecting a second check module from the set of check modules, when the third type of data inconsistency fails to match the second type of data inconsistency.

6. The method of claim 1 , wherein the correcting comprises:

selecting a first check module from a set of check modules;

determining whether the first check module includes an obstacle association with the first type of data inconsistency.

7. The method of claim 6 , wherein the correcting further comprises:

correcting the identified data for the first data inconsistency using the first correction module, when the first check module fails to includes the obstacle association, or when the first check module is associated with the obstacle association and the identified data fails to include the second data inconsistency.

8. The method of claim 1 , wherein the obtaining comprises receiving the correction module.

9. The method of claim 1 , wherein at least one of the steps of selecting, obtaining, or correcting are executed automatically when a database workload falls below a predetermined threshold.

10. The method of claim 1 , wherein at least one of the steps of selecting, obtaining, or correcting are performed by batch processing.

11. The method of claim 1 , wherein:

the identifying comprises storing the data into a data buffer; and

the correcting comprises identifying the first data inconsistency in the data by accessing the data stored in the data buffer.

12. The method of claim 1 , further comprising repeating the steps of selecting, obtaining, identifying, and correcting until all data inconsistencies in the data have been corrected.

13. A data processing system for correcting data inconsistencies in databases, comprising:

a storage device; and

at least one processor coupled to the storage device, the storage device storing a program for controlling the at least one processor, and wherein the at least one processor, being operative with the program, is configured to:

obtain a first correction module associated with a first type of data inconsistency and a second of data inconsistency;

identify data within one or more of the databases comprising a first data inconsistency of the first type, the first data inconsistency being correctable by the first correctional module;

determine whether the identified data includes a second data inconsistency of the second type, the second data inconsistency preventing correction of the first data inconsistency by the first correction module; and

when the identified data fails to include the second data inconsistency, correct the first data inconsistency in the identified data using the first correction module.

14. The system of claim 13 , wherein:

the storage device stores a set of check modules; and

the at least one processor is further configured to:

select a first check module from the set of check modules, the first check module being associated with a third type of data inconsistency; and

determine whether the third type of data inconsistency matches the first type of data inconsistency.

15. The system of claim 14 , wherein the at least one processor is further configured to:

identify the data comprising the first data inconsistency using the first check module, when the third type of data inconsistency matches the first type of data inconsistency; and

select a second check module from the set of check modules, when the third type of data inconsistency fails to match the first type of data inconsistency.

16. The system of claim 13 , wherein:

the storage device stores a set of check modules; and

the at least one processor is further configured to:

select a first check module from the set of check modules, the first check module being associated with a third type of data inconsistency; and

determine whether the third type of data inconsistency type matches the second type of data inconsistency.

17. The system of claim 16 , wherein the at least one processor is further configured to:

identify the second data inconsistency within the identified data, when the third type of data inconsistency matches the second type of data inconsistency; and

select a second check module from the set of check modules, when the third type of data inconsistency fails to match the second type of data inconsistency.

18. The system of claim 13 , wherein:

the storage device stores a set of check modules; and

the at least one processor is further configured to:

select a first check module from a set of check modules; and

determine whether the selected check module comprises an obstacle association with the first type of data inconsistency.

19. The system of claim 18 , wherein the at least one processor is further configured to:

correct the identified data for the first data inconsistency using the first correction module, when the first check module fails to include the obstacle association, or when the first check module includes the obstacle association and the identified data fails to include the second data inconsistency.

20. A tangible, non-transitory computer-readable medium comprising a set of instructions that, when executed on a processor, perform a method for correcting data inconsistencies in databases, the method comprising:

obtaining a first correction module associated with a first type of data inconsistency and a second type of data inconsistency;

identifying data within one or more of the databases that includes a first data inconsistency of the first type, the first data inconsistency being correctable by the first correction module;

determining whether the identified data includes a second data inconsistency of the second type, the second data inconsistency preventing correction of the first data inconsistency by the first correction module; and

when the identified data fails to include the second data inconsistency, correcting the identified data for the first data inconsistency using the first correction module.

21. The computer-readable medium of claim 20 , wherein the identifying comprises:

selecting a first check module from a set of check modules, the first check module being associated with a third type of data inconsistency; and

determining whether the third type of data inconsistency matches the first type of data inconsistency.

22. The computer-readable medium of claim 21 , wherein the identifying further comprises:

identifying the data including the first data inconsistency using the first check module, when the third type of data inconsistency matches the first type of data inconsistency; and

selecting a second check module from the set of check modules, when the third type of data inconsistency fails to match the first type of data inconsistency.

23. The computer-readable medium of claim 20 , wherein the correcting comprises:

selecting a first check module from a set of check modules, the first check module being associated with a third type of data inconsistency; and

determining whether the third type of data inconsistency matches the second type of data inconsistency.

24. The computer-readable medium of claim 23 , wherein the correcting further comprises:

identifying the second data inconsistency using the first check module, when the third type of data inconsistency matches the second type of data inconsistency; and

selecting second check module from the set of check modules, when the third type of data inconsistency fails to match the second type of data inconsistency.

25. The computer-readable medium of claim 20 , wherein the correcting comprises:

selecting a first check module from a set of check modules;

determining whether the first check module includes an obstacle association with the first type of data inconsistency.

26. The computer-readable medium of claim 25 , wherein correcting further comprises correcting the identified data for the first data inconsistency using the first correction module, when the first check module fails to includes the obstacle association, or when the first check module is associated with the obstacle association and the identified data fails to include the second data inconsistency.

27. The computer-readable of claim 20 , wherein at least one of the steps of selecting, obtaining, or correcting are executed automatically when a database workload falls below a predetermined threshold.

28. The computer-readable medium of claim 20 , wherein identifying comprises reading the data into a data buffer, and wherein the correcting comprises identifying the first data inconsistency in the data by accessing the data comprised in the data buffer.

29. The computer-readable medium of claim 20 , further comprising repeating the steps of selecting, obtaining, identifying, and correcting until all data inconsistencies in the data have been corrected.

30. The method of claim 1 , wherein the obtaining comprises:

identifying a set of correction modules associated with a corresponding first type of data inconsistency; and

selecting the first correction module from the identified set.

31. The method of claim 1 , further comprising:

obtaining a second correction module when the identified data includes the second data inconsistency;

correcting the identified data for the second data inconsistency using the second correction module; and

upon correction of the second data inconsistency, correcting the identified data for the first data inconsistency using the first correction module.

32. The data processing system of claim 13 , wherein the at least one processor is further configured to:

identify a set of correction modules associated with a corresponding first type of data inconsistency; and

select the first correction module from the identified set.

33. The data processing system of claim 13 , wherein the at least one processor is further configured to:

obtain a second correction module when the identified data includes the second data inconsistency;

correct the identified data for the second data inconsistency using the second correction module; and

upon correction of the second data inconsistency, correct the identified data for the first data inconsistency using the first correction module.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0334 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2009
From: KAISERMAYR, MARTIN
To: SAP AG
Reel/Frame 022060/0676 →
Priority Claims (1)
EP 08290881 · Sep 18, 2008 · regional
Continuity (1)
Related Publication 20100070797A1 · Mar 18, 2010