Making a copy of a profile store while processing live updates
First Claim
1. A method for making a copy of a profile store while the profile store is being updated, comprising:
- accessing periodically each profile in a first profile store;
recording a profile snapshot of each accessed profile to a profile snapshot queue;
retrieving a plurality of profile snapshots from the profile snapshot queue;
storing the retrieved plurality of profile snapshots from the profile snapshot queue into a second profile store;
retrieving a subset of profile updates from a first live update queue, wherein;
each profile update in the retrieved subset of profile updates corresponds to one profile snapshot of the plurality of profile snapshots stored in the second profile store; and
each profile update in the retrieved subset of profile updates occurred after its corresponding profile snapshot was recorded in the profile snapshot queue;
updating the plurality of profile snapshots in the second profile store with the subset of profile updates; and
keeping the second profile store up to date after a most recent update has been applied to the second profile store by applying subsequent updates from the first live update queue to corresponding profile snapshots in the second profile store.
1 Assignment
0 Petitions
Accused Products
Abstract
The disclosed embodiments relate to a system that facilitates making a copy of a profile store while the profile store is being updated. During operation, the system retrieves profiles from a profile snapshot queue, wherein the profile snapshot queue is periodically populated by accessing each profile in the profile store, and recording a snapshot of each accessed profile in the profile snapshot queue. The system then stores the profiles retrieved from the profile snapshot queue into the copy of the profile store. Next, the system retrieves updates to profiles from a live update queue, which contains a sequential list of updates to profiles in the profile store, wherein the updates are retrieved starting with a first update that occurred after the process of sequentially accessing the profiles was commenced up to a most recent update. Finally, the system uses the retrieved updates to update corresponding profiles in the copy of the profile store.
34 Citations
24 Claims
-
1. A method for making a copy of a profile store while the profile store is being updated, comprising:
-
accessing periodically each profile in a first profile store; recording a profile snapshot of each accessed profile to a profile snapshot queue; retrieving a plurality of profile snapshots from the profile snapshot queue; storing the retrieved plurality of profile snapshots from the profile snapshot queue into a second profile store; retrieving a subset of profile updates from a first live update queue, wherein; each profile update in the retrieved subset of profile updates corresponds to one profile snapshot of the plurality of profile snapshots stored in the second profile store; and each profile update in the retrieved subset of profile updates occurred after its corresponding profile snapshot was recorded in the profile snapshot queue; updating the plurality of profile snapshots in the second profile store with the subset of profile updates; and keeping the second profile store up to date after a most recent update has been applied to the second profile store by applying subsequent updates from the first live update queue to corresponding profile snapshots in the second profile store. - View Dependent Claims (2, 3, 4, 5, 6, 19, 20)
-
-
7. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for making a copy of a profile store while the profile store is being updated, the method comprising:
-
accessing periodically each profile in a first profile store; recording a profile snapshot of each accessed profile to a profile snapshot queue; retrieving a plurality of profile snapshots from the profile snapshot queue; storing the retrieved plurality of profile snapshots from the profile snapshot queue into a second profile store; retrieving a subset of profile updates from a first live update queue, wherein; each profile update in the retrieved subset of profile updates corresponds to one profile snapshot of the plurality of profile snapshots stored in the second profile store; and each profile update in the retrieved subset of profile updates occurred after its corresponding profile snapshot was recorded in the profile snapshot queue; updating the plurality of profile snapshots in the second profile store with the subset of profile updates, and keeping the second profile store up to date after a most recent update has been applied to the second profile store by applying subsequent updates from the first live update queue to corresponding profile snapshots in the second profile store. - View Dependent Claims (8, 9, 10, 11, 12, 21, 22)
-
-
13. A system that facilitates making a copy of a profile store while the profile store is being updated, comprising:
-
at least one processor; and at least one memory comprising computer-executable instructions, wherein the at least one processor is configured to execute the computer-executable instructions and cause the system to perform a method, the method comprising; accessing periodically each profile in a first profile store; recording a profile snapshot of each accessed profile to a profile snapshot queue; retrieving a plurality of profile snapshots from the profile snapshot queue; storing the retrieved plurality of profile snapshots from the profile snapshot queue into a second profile store; retrieving a subset of profile updates from a first live update queue, wherein; each profile update in the retrieved subset of profile updates corresponds to one profile snapshot of the plurality of profile snapshots stored in the second profile store; and each profile update in the retrieved subset of profile updates occurred after its corresponding profile snapshot was recorded in the profile snapshot queue; updating the plurality of profile snapshots in the second profile store with the subset of profile updates; and keeping the second profile store up to date after a most recent update has been applied to the second profile store by applying subsequent updates from the first live update queue to corresponding profile snapshots in the second profile store. - View Dependent Claims (14, 15, 16, 17, 18, 23, 24)
-
Specification