Scalable Log Partitioning System
US-2017300391-A1 · Oct 19, 2017 · US
US10437851B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10437851-B2 |
| Application number | US-201514869579-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 29, 2015 |
| Priority date | Oct 28, 2014 |
| Publication date | Oct 8, 2019 |
| Grant date | Oct 8, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A latest status record of an object in a local storage node is obtained as a local status record of the object. The status record includes a name of an operation changing the object, a timestamp of the operation changing the object, a first status flag, and a second status flag. The first status flag indicates whether a synchronization of the object from current object storage node to another object storage node is executed. The second status flag indicates whether a synchronization of the object from another object storage node to the current object storage node is executed. The latest status record of the object is obtained of the object in from a remote object storage node as a remote status record of the object. A synchronization of the object is executed based on the local status record and the remote status record.
Opening claim text (preview).
What is claimed is: 1. A computer method comprising: synchronizing an object in a local object storage node, wherein a same object is stored on the local object storage node and a remote object storage node by: obtaining a first latest status record of an object in a local object storage node as a local status record of the object, wherein the local status record is generated when an operation changing the object is performed and includes a name of the operation changing the object, a timestamp of the operation changing the object, a first status flag and a second status flag that are each configured to indicate a directionality of an execution of a synchronization such that the first status flag indicates whether a synchronization of the object from the local object storage node to a remote object storage node is executed and the second status flag indicates whether a synchronization of the object from the remote object storage node to the local object storage node is executed; checking the first status flag in the local status record; determining that the first status flag in the local status record indicates that the synchronization of the object from the local object storage node to the remote object storage node is not executed; obtaining, in response to determining that the first status flag in the local status record indicates that the synchronization of the object from the local object storage node to the remote object storage node is not executed, a second latest status record of the object in the remote object storage node, the second latest status record being a remote status record of the object that includes a timestamp in the remote status record of the object changing in the remote object storage node; executing synchronization of the object based on the local status record; changing, in response to executing synchronization of the object based on the local status record, the first status flag to indicate that synchronization of the object from the local object storage node to the remote object storage node is executed; executing synchronization of the object based on the remote status record; and changing, in response to executing synchronization of the object based on the remote status record, the second status flag to indicate that synchronization of the object from the remote object storage node to the local object storage node is executed, wherein the executing of the synchronization of the object based on the local status record and the remote status record includes: comparing the timestamp in the local status record with the timestamp in the remote status record; in response to determining that the timestamp in the local status record is later than the timestamp in the remote status record, replicating the operation to the remote object storage node and setting the first status flag in the local status record to indicate that the synchronization of the object from the local object storage node to the remote object storage node is executed; in response to determining that the timestamp in the local status record is same as the timestamp in the remote status record, setting the first status flag in the local status record to indicate that the synchronization of the object from the local object storage node to the remote object storage node is executed and setting the second status flag in the local status record to be same as the first status flag in the remote status record; and in response to determining that the timestamp in the local status record is earlier than the timestamp in the remote status record, deleting the local status record. 2. The method according to claim 1 , further comprising: generating, in response to the operation changing the object, a generated status record of the object; setting the first status flag in the generated status record to indicate that the synchronization of the object from the local object storage node to the remote object storage node is not executed; and setting the second status flag in the generated status record to indicate that the synchronization of the object from the remote object storage node to the local object storage node is not executed. 3. The method according to claim 1 , wherein the obtaining of the latest status record of the object in the local object storage node includes: selecting, in response to starting the synchronization of the object, at least one status record with the timestamp of the object that is earlier than a start time; and determining a status record with a maximum timestamp in the at least one status record as a latest status record. 4. The method according to claim 3 , wherein, the selecting of at least one status record with the timestamp of the object that is earlier than a start time includes: selecting at least one status record with the timestamp of the object earlier than a time which equals to the start time minus a predetermined time. 5. The method according to claim 4 , wherein the selecting of the at least one status record with the timestamp of the object earlier than the time in the local object storage node further includes: deleting one or more remaining status records except the latest status record of the at least one status record. 6. The method according to claim 3 , wherein the obtaining of the latest status record of the object in the remote object storage node, as a remote status record of the object includes: sending a request to the remote object storage node, the request including a name of the object and the start time; and receiving the latest status record of the object from the remote object storage node. 7. The method according to claim 1 , wherein the executing of the synchronization of the object based on the local status record and the remote status record includes: setting the second status flag in the local status record to be identical to the first status flag in the remote status record, or setting the second status flag in the local status record to indicate that the execution of the synchronization of the object from the remote object storage node to the local object storage node is executed in a case that the remote status record is not obtained, based on checking that the first status flag in the local status record indicates that the synchronization of the object from the local object storage node to the remote object storage node is executed. 8. The method according to claim 7 , wherein the executing of the synchronization of the object based on the local status record and the remote status record further includes: deleting the local status record based on the first status flag of the synchronization of the object from the local object storage node to the remote object storage node being executed and the second status flag the synchronization of the object from the remote object storage node to the local object storage node being executed. 9. The method according to claim 1 , wherein, after the operation is replicated to the remote object storage node, the second status flag in the local status record is set to indicate that the synchronization of the object from the remote object storage node to the local object storage node is executed, and to notify the remote object storage node that the object is replicated. 10. The method according to claim 1 , wherein the executing of the synchronization of the object from the local object storage node to the remote object storage node further comprises: replicating the operation from the local object storage node to the remote object storage node, if the remote status record is not obtained; setting the first status flag in the local status record to indicate that the synchronization of the object from the lo
Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · CPC title
Asynchronous replication or reconciliation · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.