IP Library Granted Patent US 12,182,126
Granted Patent B2
US 12,182,126 · App. 17/531,546 · Granted Dec 31, 2024

Systems and methods for associating data entries

Inventors: Lu Zhang (Bellevue, WA); Nichole Haas (Monroe, WA); Joshua Manoj (Bellevue, WA); Sri Raja Harshini Koka (Bellevue, WA)
Assignee: SAP SE
G06F16/24558G06F16/2379
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 12,182,126
App. No.
17/531,546
Granted
Dec 31, 2024
Kind
B2
Abstract

In one embodiment, a first entry in a first database is modified to include data from a highest-ranked one of one or more available data tables that correspond to the first entry. Each of one or more characters fields of the modified first entry are converted into a respective one or more first-entry tokens, and each of one or more character fields of each of a plurality of second entries in a second database is converted into a respective one or more second-entry tokens. The first-entry tokens are compared to the second-entry tokens, and, in response to the comparison, it is determined whether the first entry matches one of the second entries. In response to determining that the first entry matches one of the second entries, the first entry and the matching second entry are associated with one another in one or both the first and second databases.

Claims (78)

1. A method, comprising:

retrieving, by a computing device, a first entry from a data store, wherein the first entry and a set of available tables are downloaded from a first database to the data store, wherein the set of available tables corresponds to the first entry;

determining, by the computing device, a data table in the set of available data tables stored in the data store is a highest-ranked data table;

modifying, by the computing device, the first entry stored in the data store by including a set of data from the highest-ranked data table stored in the data store in the first entry;

converting, by a tokenizer of the computing device, each of one or more character fields of the modified first entry into a respective one or more first-entry tokens;

determining a first set of weights for the first-entry tokens based on a frequency of the first-entry tokens;

retrieving a plurality of second entries from the data store, wherein the plurality of second entries are downloaded from a second database to the data store;

converting, by the tokenizer, each of one or more character fields of each of the plurality of second entries stored in the data store into a respective one or more second-entry tokens;

determining a second set of weights for the second-entry tokens based on a frequency of the second-entry tokens;

comparing, by the computing device, the first-entry tokens to the second-entry tokens;

determining, by the computing device, whether the first entry matches one of the second entries based on the comparison, the first set of weights for the first-entry tokens, and the second set of weights for second-entry tokens; and

associating, by the computing device, the first entry with one of the second entries in response to determining that the first entry matches the one of the second entries.

2. The method of claim 1 , wherein modifying the first entry includes modifying the first entry in response to the first entry not being associated with a second entry before the modifying.

3. The method of claim 1 , wherein each of the one or more available data tables includes a respective level of transaction data.

4. The method of claim 1 , wherein modifying the first entry includes overwriting the first entry with data from the highest-ranked one of the one or more available data tables.

5. The method of claim 1 , wherein:

converting each of one or more character fields of the modified first entry into a respective one or more first-entry tokens includes converting each of the one or more character fields into a respective plurality of overlapping first-entry tokens; and

converting each of one or more character fields of each of the pluralities of second entries in the second database into a respective one or more second-entry tokens includes converting each of the one or more character fields into a respective plurality of overlapping second-entry tokens.

6. The method of claim 1 further comprising determining that the first entry matches one of the plurality of second entries in response to:

at least one character field of the first entry exactly matching at least one character field of the one of the plurality of second entries; and

at least one other character field of the first entry at least partially matching at least one other character field of the one of the plurality of second entries.

7. The method of claim 1 further comprising determining that the first entry matches one of the plurality of second entries in response to:

each of a first plurality of character fields of the first entry exactly matching a respective character field of the one of the plurality of second entries; and

each of at least two of a second plurality of character fields of the first entry at least partially matching a respective character field of the one of the plurality of second entries.

8. The method of claim 1 further comprising determining that the first entry matches one of the plurality of second entries in response to:

each of a first plurality of character fields of the first entry exactly matching a respective character field of the one of the plurality of second entries;

each of at least one of a second plurality of character fields of the first entry at least partially matching a respective character field of the one of the plurality of second entries; and

each of at least one of a third plurality of character fields of the first entry at least partially matching a respective character field of the one of the plurality of second entries.

9. A system, comprising:

one or more processors; and

a non-transitory machine-readable medium storing a program executable by the one or more processors, the program comprising sets of instructions for:

retrieving, by the system, a first entry from a data store, wherein the first entry and a set of available tables are downloaded from a first database to the data store, wherein the set of available tables corresponds to the first entry;

determining, by the system, a data table in the set of available data tables stored in the data store is a highest-ranked data table;

modifying, by system, the first entry stored in the data store by including a set of data from the highest-ranked data table stored in the data store in the first entry;

converting, by a tokenizer of the system, each of one or more character fields of the modified first entry into a respective one or more first-entry tokens;

determining a first set of weights for the first-entry tokens based on a frequency of the first-entry tokens;

retrieving a plurality of second entries from the data store, wherein the plurality of second entries are downloaded from a second database to the data store;

converting, by the tokenizer, each of one or more character fields of each of the plurality of second entries stored in the data store into a respective one or more second-entry tokens;

determining a second set of weights for the second-entry tokens based on a frequency of the second-entry tokens;

comparing, by the system, the first-entry tokens to the second-entry tokens;

determining, by the system, whether the first entry matches one of the second entries based on the comparison, the first set of weights for the first-entry tokens, and the second set of weights for second-entry tokens; and

associating, by the system, the first entry with one of the second entries in response to determining that the first entry matches the one of the second entries.

10. The system of claim 9 , wherein modifying the first entry includes modifying the first entry in response to the first entry not being associated with a second entry before the modifying.

11. The system of claim 9 , wherein each of the one or more available data tables includes a respective level of transaction data.

12. The system of claim 9 , wherein modifying the first entry includes overwriting the first entry with data from the highest-ranked one of the one or more available data tables.

13. The system of claim 9 , wherein:

converting each of one or more character fields of the modified first entry into a respective one or more first-entry tokens includes converting each of the one or more character fields into a respective plurality of overlapping first-entry tokens; and

converting each of one or more character fields of each of the pluralities of second entries in the second database into a respective one or more second-entry tokens includes converting each of the one or more character fields into a respective plurality of overlapping second-entry tokens.

14. The system of claim 9 , the program further comprising a set of instructions for determining that the first entry matches one of the plurality of second entries in response to:

at least one character field of the first entry exactly matching at least one character field of the one of the plurality of second entries; and

at least one other character field of the first entry at least partially matching at least one other character field of the one of the plurality of second entries.

15. The system of claim 9 , the program further comprising a set of instructions for determining that the first entry matches one of the plurality of second entries in response to:

each of a first plurality of character fields of the first entry exactly matching a respective character field of the one of the plurality of second entries; and

each of at least two of a second plurality of character fields of the first entry at least partially matching a respective character field of the one of the plurality of second entries.

16. The system of claim 9 , the program further comprising a set of instructions for determining that the first entry matches one of the plurality of second entries in response to:

each of a first plurality of character fields of the first entry exactly matching a respective character field of the one of the plurality of second entries;

each of at least one of a second plurality of character fields of the first entry at least partially matching a respective character field of the one of the plurality of second entries; and

each of at least one of a third plurality of character fields of the first entry at least partially matching a respective character field of the one of the plurality of second entries.

17. A non-transitory machine-readable medium storing a program executable by at least one processor of a computer, the program comprising sets of instructions for:

retrieving, by the computer, a first entry from a data store, wherein the first entry and a set of available tables are downloaded from a first database to the data store, wherein the set of available tables corresponds to the first entry;

determining, by the computer, a data table in the set of available data tables stored in the data store is a highest-ranked data table;

modifying, by the computer, the first entry stored in the data store by including a set of data from the highest-ranked data table stored in the data store in the first entry;

converting, by a tokenizer of the computer, each of one or more character fields of the modified first entry into a respective one or more first-entry tokens;

determining a first set of weights for the first-entry tokens based on a frequency of the first-entry tokens;

retrieving a plurality of second entries from the data store, wherein the plurality of second entries are downloaded from a second database to the data store;

converting, by the tokenizer, each of one or more character fields of each of the plurality of second entries stored in the data store into a respective one or more second-entry tokens;

determining a second set of weights for the second-entry tokens based on a frequency of the second-entry tokens;

comparing, by the computer, the first-entry tokens to the second-entry tokens;

determining, by the computer, whether the first entry matches one of the second entries based on the comparison, the first set of weights for the first-entry tokens, and the second set of weights for second-entry tokens; and

associating, by the computer, the first entry with one of the second entries in response to determining that the first entry matches the one of the second entries.

18. The non-transitory machine-readable medium of claim 17 , wherein modifying the first entry includes modifying the first entry in response to the first entry not being associated with a second entry before the modifying.

19. The non-transitory machine-readable medium of claim 17 , the program further comprising a set of instructions for determining that the first entry matches one of the plurality of second entries in response to:

each of a first plurality of character fields of the first entry exactly matching a respective character field of the one of the plurality of second entries; and

each of at least two of a second plurality of character fields of the first entry at least partially matching a respective character field of the one of the plurality of second entries.

20. The non-transitory machine-readable medium of claim 17 , the program further comprising a set of instructions for determining that the first entry matches one of the plurality of second entries in response to:

each of a first plurality of character fields of the first entry exactly matching a respective character field of the one of the plurality of second entries;

each of at least one of a second plurality of character fields of the first entry at least partially matching a respective character field of the one of the plurality of second entries; and

each of at least one of a third plurality of character fields of the first entry at least partially matching a respective character field of the one of the plurality of second entries.

Continuity (2)
Continuation 16201807 · Nov 27, 2018
Related Publication 20220083555A1 · Mar 17, 2022