Techniques for performing incremental data updates
First Claim
1. A method executed in a computer system for performing an advertisement database update comprising:
- updating a normalized copy of database in accordance with specified update transactions;
updating an ad repository that includes text and non-text data in accordance with advertisements which have been modified;
providing updated term lists which include identifiers indexing into the primary database in accordance with a particular keyword;
building a second updated copy of the term lists;
producing a second copy of the ad repository;
updating a denormalized form of the primary database;
making available for use updated advertisements included in the ad repository; and
making available for use updated identifiers as included in the second copy of the updated term lists.
5 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is a system for performing online data queries. The system for performing online data queries is a distributed computer system with a plurality of server nodes each filly redundant and capable of processing a user query request. Each server node includes a data query cache and other caches that may be used in performing data queries. The data query, as well as request allocation, is performed in accordance with an adaptive partitioning technique with a bias towards an initial partitioning scheme. Generic objects are created and used to represent business listings upon which the user may perform queries. Various data processing and integration techniques are included which enhance data queries. An update technique is used for synchronizing data updates as needed in updating the plurality of server nodes. A multimedia data transfer technique is used to transfer non-text or multi-media data between various components of the online query tool. Optimizations for searching, such as the common term optimization, are included for those commonly performed data queries. Also disclosed is a system for targeting advertisements that are displayed to a user of the system.
-
Citations
25 Claims
-
1. A method executed in a computer system for performing an advertisement database update comprising:
-
updating a normalized copy of database in accordance with specified update transactions;
updating an ad repository that includes text and non-text data in accordance with advertisements which have been modified;
providing updated term lists which include identifiers indexing into the primary database in accordance with a particular keyword;
building a second updated copy of the term lists;
producing a second copy of the ad repository;
updating a denormalized form of the primary database;
making available for use updated advertisements included in the ad repository; and
making available for use updated identifiers as included in the second copy of the updated term lists. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
determining a number of update transactions to be performed;
if the number of update transactions is less than a first threshold value, performing an update to a normalized version of the primary database; and
updating the term lists in accordance with the update transactions.
-
-
3. The method of claim 1, further comprising:
-
determining a number of update transactions;
if the number of update transactions is greater than or equal to a first threshold value and less than a second threshold value, wherein the first threshold value is less than the second threshold value, performing an update of the primary database; and
rebuilding the term lists.
-
-
4. The method of claim 1, further comprising:
-
determining a number of update transactions;
if the number of transactions is greater than or equal to a first threshold value, rebuilding the primary database and associated files.
-
-
5. The method of claim 3, wherein the first threshold value is a relatively small number of transactions and the second threshold value represents a relatively large number of transactions in accordance with primary database size.
-
6. The method of claim 5, wherein the second threshold value is approximately five to ten percent of a size of the primary database.
-
7. The method of claim 1, wherein the computer system has a plurality of server nodes each including a local copy of the primary database, said updating of the database and said updating of said ad repository being performed in parallel on each of the nodes.
-
8. The method of claim 1, wherein the updating of an ad repository is performed in parallel with the providing of updated term lists, and the building of a second updated copy of the term lists.
-
9. The method of claim 8, wherein the updating of a denormalized form of the primary database is performed upon completion of the updating of an ad repository, providing updated term lists, and building a second updated copy of the term lists.
-
10. The method of claim 9, wherein the making available for use of the updated advertisements and updated identifiers are performed after said updating of a denormalized form of the primary database.
-
11. A method executed in a computer system for publishing updated advertisements comprising:
-
updating a normalized copy of a first database in accordance with specified update transactions;
constructing one or more updated advertisements;
updating an advertisement repository that includes text and non-text data in accordance with said one or more updated advertisements;
determining one or more updates to a term list, said term list including one or more identifiers for indexing into the first database in accordance with a particular keyword;
for each node in said computer system, building a local updated copy of said term list including said one or more updates to said term list;
synchronizing said updating said normalized copy of said first database, said constructing, said updating said advertisement repository, said determining one or more updates to a term list, and said building a local updated copy of said term list;
propagating changes to said normalized copy of said first database to a denormalized copy of said first database and a denormalized copy of a second database;
publishing said one or more updated advertisements and said local updated copy of said term list in each node of said computer system by making said one or more updated advertisements and said local updated copy of said term list in said each node available for use;
performing a data query using said local updated copy of said term list; and
displaying one of said updated advertisements in accordance with said data query. - View Dependent Claims (12, 13, 14)
storing one or more commands in an operational table, said one or more commands being associated with said specified update transactions.
-
-
13. The method of claim 12, further comprising:
translating said one or more commands in said operational table into one or more database commands for performing database updates.
-
14. The method of claim 11, further comprising:
performing database commit operations in connection with updating said denormalized copy of said first database and said denormalized copy of said second database.
-
15. A computer program product for publishing advertisement updates comprising:
-
means for updating a normalized copy of a primary database in accordance with specified update transactions;
means for updating an ad repository that includes text and non-text data in accordance with advertisements which have been modified;
means for providing updated term lists which include identifiers indexing into the primary database in accordance with a particular keyword;
means for building a second updated copy of the term lists;
means for producing a second copy of the ad repository;
means for updating a denormalized form of the primary database;
means for making available for use updated advertisements included in the ad repository; and
means for making available for use updated identifiers as included in the second copy of the updated term lists. - View Dependent Claims (16, 17, 18, 19, 20, 21)
means for determining a number of update transactions to be performed;
means for performing an update to a normalized version of the primary database if the number of update transactions is less than a first threshold value; and
means for updating the term lists in accordance with the update transactions.
-
-
17. The computer program product of claim 15, further comprising:
-
means for determining a number of update transactions;
means for performing an update of the primary database if the number of update transactions is greater than or equal to a first threshold value and less than a second threshold value, wherein the first threshold value is less than the second threshold value; and
means for rebuilding the term lists.
-
-
18. The computer program product of claim 15, further comprising:
-
means for determining a number of update transactions;
means for rebuilding the primary database and associated files if the number of transactions is greater than or equal to a first threshold value.
-
-
19. The computer program product of claim 18, wherein the first threshold value represents a relatively small number of transactions and the second threshold value represents a relatively large number of transactions in accordance with primary database size.
-
20. The computer program product of claim 15, further comprising:
means for producing a copy of said primary database in each node of a computer system, and said means for updating said database and said means for updating said ad repository are synchronized.
-
21. The computer program product of claim 15, wherein said means for updating said ad repository, said means for providing updated term lists, and said means for building a second updated copy of the term lists are synchronized.
-
22. A computer program product comprising:
-
machine executable code for updating a normalized copy of a first database in accordance with specified update transactions;
machine executable code for constructing one or more updated advertisements;
machine executable code for updating an advertisement repository that includes text and non-text data in accordance with said one or more updated advertisements;
machine executable code for determining one or more updates to a term list, said term list including one or more identifiers for indexing into the first database in accordance with a particular keyword;
machine executable code for building a local updated copy of said term list including said one or more updates to said term list on each node in a computer system;
machine executable code for synchronizing said machine executable code for updating said normalized copy of said first database, said machine executable code for said constructing, said machine executable code for updating said advertisement repository, said machine executable code for determining one or more updates to a term list, and said machine executable code for building a local updated copy of said term list;
machine executable code for propagating changes to said normalize copy of said first database to a denormalized copy of said first database;
machine executable code for publishing said one or more updated advertisements and said local updated copy of said term list in each node of said computer system by making said one or more updated advertisements and said local updated copy of said term list in said each node available for use;
machine executable code for performing a data query using said local updated copy of said term list; and
machine executable code for displaying one of said updated advertisements in accordance with said data query. - View Dependent Claims (23, 24, 25)
machine executable code for storing one or more commands in an operational table, said one or more commands being associated with said specified update transactions.
-
-
24. The computer program product of claim 23, further comprising:
machine executable code for translating said one or more commands in said operational table into one or more database commands for performing database updates.
-
25. The computer program product of claim 22, further comprising:
machine executable code for performing database commit operations in connection with updating said denormalized copy of said first database and said denormalized copy of a second database.
Specification