Synchronization of a target database with a source database during database replication
First Claim
Patent Images
1. A method of synchronizing a target database with a source database in a database replication system, the method comprising:
- (a) synchronizing the target database with the source database, the source database being on-line during the synchronization, wherein the synchronizing includes;
(i) sending successive blocks of data from the source database to the target database, each block of data having a key range, each block of data including one or more rows of data,(ii) receiving the successively sent blocks of data at the target database,(iii) posting the successively sent blocks of data to the target database, and(iv) storing a total key range of the successively sent blocks of data;
(b) replicating data from the source database to the target database whenever changes are made to the source database, wherein replication occurs during the synchronizing step (a);
(c) determining if the row of data, or the stored total key range inclusive of the row of data, of any replication data received at the target database was previously posted to the target database in step (a)(iii); and
(d) posting any replication data received at the target database if the row of data, or the stored total key range inclusive of the row of data, corresponding to the received data to be replicated has been previously posted to the target database in step (a)(iii), and not posting any replication data received at the target database if the row of data, or the stored total key range inclusive of the row of data, corresponding to the received data to be replicated has not been previously posted to the target database in step (a)(iii).
5 Assignments
0 Petitions
Accused Products
Abstract
A target database is synchronized with a source database in a database replication system. Key ranges of blocks of data to be replicated are used in the replication process. Also, synchronization occurs simultaneously with replication.
64 Citations
28 Claims
-
1. A method of synchronizing a target database with a source database in a database replication system, the method comprising:
-
(a) synchronizing the target database with the source database, the source database being on-line during the synchronization, wherein the synchronizing includes; (i) sending successive blocks of data from the source database to the target database, each block of data having a key range, each block of data including one or more rows of data, (ii) receiving the successively sent blocks of data at the target database, (iii) posting the successively sent blocks of data to the target database, and (iv) storing a total key range of the successively sent blocks of data; (b) replicating data from the source database to the target database whenever changes are made to the source database, wherein replication occurs during the synchronizing step (a); (c) determining if the row of data, or the stored total key range inclusive of the row of data, of any replication data received at the target database was previously posted to the target database in step (a)(iii); and (d) posting any replication data received at the target database if the row of data, or the stored total key range inclusive of the row of data, corresponding to the received data to be replicated has been previously posted to the target database in step (a)(iii), and not posting any replication data received at the target database if the row of data, or the stored total key range inclusive of the row of data, corresponding to the received data to be replicated has not been previously posted to the target database in step (a)(iii). - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of resynchronizing and replicating a target database with a source database in a database replication system, and the target and source databases were previously synchronized, the target database thereby being initially not empty, the method comprising:
-
(a) resynchronizing the target database with the source database, the source database being on-line during the resynchronization, wherein the resynchronizing includes; (i) sending successive blocks of data from the source database to the target database, each block of data having a key range, each block of data including one or more rows of data, (ii) receiving the successively sent blocks of data at the target database, (iii) posting the successively sent blocks of data to the target database, and (iv) storing a total key range of the successivelysent blocks of data; (b) replicating data from the source database to the target database whenever changes are made to the source database, wherein replication occurs during the resynchronizing step (a); (c) determining if the row of data, or the stored total key range inclusive of the row of data, of any replication data received at the target database was previously posted to the target database in step (a)(iii); and (d) posting any replication data received at the target database if the row of data, or the stored total key range inclusive of the row of data, corresponding to the received data to be replicated has been previously posted to the target database in step (a)(iii), and not posting any replication data received at the target database if the row of data, or the stored total key range inclusive of the row of data, corresponding to the received data to be replicated has not been previously posted to the target database in step (a)(iii), wherein step (a)(iii) further comprises for each block of data sent from the source database, comparing the key range of each block of data sent from the source database with key ranges in the target database, and processing each block of data as follows; (A) if a row in the block of data is not present in the target database based on the key range comparison, inserting the row and its content into the target database, (B) if a row in the block of data is present in the target database based on the key range comparison but has content that does not match the content of the row in the block of data, updating the target database row with the new content; and (C) if any rows are missing from the block of data but are present in the target database based on the key range comparison, then deleting such rows from the target database. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. An article of manufacture for synchronizing a target database with a source database in a database replication system, the article of manufacture comprising a computer-readable medium encoded with computer-executable instructions for performing the steps of:
-
(a) executing instructions for synchronizing the target database with the source database, the source database being on-line during the synchronization, wherein the synchronizing includes; (i) sending successive blocks of data from the source database to the target database, each block of data having a key range, each block of data including one or more rows of data, (ii) receiving the successively sent blocks of data at the target database, (iii) posting the successively sent blocks of data to the target database, and (iv) storing a total key range of the successively sent blocks of data; (b) executing instructions for replicating data from the source database to the target database whenever changes are made to the source database, wherein replication occurs during the synchronizing step (a); (c) executing instructions for determining if the row of data, or the stored total key range inclusive of the row of data, of any replication data received at the target database was previously posted to the target database in step (a)(iii); and (d) executing instructions for posting any replication data received at the target database if the row of data, or the stored total key range inclusive of the row of data, corresponding to the received data to be replicated has been previously posted to the target database in step (a)(iii), and not posting any replication data received at the target database if the row of data, or the stored total key range inclusive of the row of data, corresponding to the received data to be replicated has not been previously posted to the target database in step (a)(iii). - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. An article of manufacture for resynchronizing and replicating a target database with a source database in a database replication system, and the target and source databases were previously synchronized, the target database thereby being initially not empty, the article of manufacture comprising a computer-readable medium encoded with computer-executable instructions for performing the steps of:
-
(a) executing instructions for resynchronizing the target database with the source database, the source database being on-line during the resynchronization, wherein the resynchronizing includes; (i) sending successive blocks of data from the source database to the target database, each block of data having a key range, each block of data including one or more rows of data, (ii) receiving the successively sent blocks of data at the target database, (iii) posting the successively sent blocks of data to the target database, and (iv) storing a total key range of the successively sent blocks of data; (b) executing instructions for replicating data from the source database to the target database whenever changes are made to the source database, wherein replication occurs during the resynchronizing step (a); (c) executing instructions for determining if the row of data, or the stored total key range inclusive of the row of data, of any replication data received at the target database was previously posted to the target database in step (a)(iii); and (d) executing instructions for posting any replication data received at the target database if the row of data, or the stored total key range inclusive of the row of data, corresponding to the received data to be replicated has been previously posted to the target database in step (a)(iii), and not posting any replication data received at the target database if the row of data, or the stored total key range inclusive of the row of data, corresponding to the received data to be replicated has not been previously posted to the target database in step (a)(iii), wherein step (a)(iii) further comprises for each block of data sent from the source database, comparing the key range of each block of data sent from the source database with key ranges in the target database, and processing each block of data as follows; (A) if a row in the block of data is not present in the target database based on the key range comparison, inserting the row and its content into the target database, (B) if a row in the block of data is present in the target database based on the key range comparison but has content that does not match the content of the row in the block of data, updating the target database row with the new content; and (C) if any rows are missing from the block of data but are present in the target database based on the key range comparison, then deleting such rows from the target database. - View Dependent Claims (20, 21, 22)
-
-
23. An apparatus for synchronizing a target database with a source database in a database replication system, the apparatus comprising:
-
(a) means for synchronizing the target database with the source database, the source database being on-line during the synchronization, wherein the means for synchronizing includes; (i) means for sending successive blocks of data from the source database to the target database, each block of data having a key range, each block of data including one or more rows of data, (ii) means for receiving the successively sent blocks of data at the target database, (iii) means for posting the successively sent blocks of data to the target database, and (iv) means for storing a total key range of the successively sent blocks of data; (b) means for replicating data from the source database to the target database whenever changes are made to the source database, wherein replication occurs during the synchronization; (c) means for determining if the row of data, or the stored total key range inclusive of the row of data, of any replication data received at the target database was previously posted to the target database in step (a)(iii); and (d) means for posting any replication data received at the target database if the row of data, or the stored total key range inclusive of the row of data, corresponding to the received data to be replicated has been previously posted to the target database in step (a)(iii), the means for posting not posting any replication data received at the target database if the row of data, or the stored total key range inclusive of the row of data, corresponding to the received data to be replicated has not been previously posted to the target database in step (a)(iii). - View Dependent Claims (24, 25, 26, 27, 28)
-
Specification