Storing data in distributed systems
First Claim
1. A computer-implemented method executed by one or more processors, the method comprising:
- receiving, by the one or more processors, a user input comprising a service request;
generating, by the one or more processors, a service response to the service request;
subsequent to generating the service response, receiving, by the one or more processors, a request to update data stored on a distributed data storage system that comprises a primary server and a plurality of secondary servers, the request comprising data updates, the primary server being randomly selected, wherein the data updates are associated with the service request;
sending, by the one or more processors, an update log instruction to the primary server and the plurality of secondary servers, wherein at least one of the primary server and the plurality of secondary servers records a log associated with the request;
determining, by the one or more processors, that a log operation was completed, wherein the log has been recorded by a first secondary server of the plurality of secondary servers;
in response to determining that the log operation was completed by the first secondary server of the plurality of secondary servers, sending, by the one or more processors, a data storage instruction to the primary server and the first secondary server of the plurality of secondary servers, wherein each of the primary server and the first secondary server stores the data updates; and
sending, by the one or more processors, a null-operation instruction to a second secondary server, wherein the null-operation instruction is used to instruct the second secondary server to perform no operation with respect to the data updates to reduce a number of copies of the data updates.
5 Assignments
0 Petitions
Accused Products
Abstract
One example method includes receiving, by the one or more processors, a request to update data stored on a distributed data storage system that comprises a primary server and a plurality of secondary servers, the request comprising data updates; sending, by the one or more processors, an update log instruction to the primary server and the plurality of secondary servers so that each of the primary server and the plurality of secondary servers records a log associated with the request; determining, by the one or more processors, that the log has been recorded; and in response to determining that the log has been recorded, sending, by the one or more processors, a data storage instruction to the primary server and a secondary server of the plurality of secondary servers so that each of the primary server and the secondary server stores the data updates.
10 Citations
17 Claims
-
1. A computer-implemented method executed by one or more processors, the method comprising:
-
receiving, by the one or more processors, a user input comprising a service request; generating, by the one or more processors, a service response to the service request; subsequent to generating the service response, receiving, by the one or more processors, a request to update data stored on a distributed data storage system that comprises a primary server and a plurality of secondary servers, the request comprising data updates, the primary server being randomly selected, wherein the data updates are associated with the service request; sending, by the one or more processors, an update log instruction to the primary server and the plurality of secondary servers, wherein at least one of the primary server and the plurality of secondary servers records a log associated with the request; determining, by the one or more processors, that a log operation was completed, wherein the log has been recorded by a first secondary server of the plurality of secondary servers; in response to determining that the log operation was completed by the first secondary server of the plurality of secondary servers, sending, by the one or more processors, a data storage instruction to the primary server and the first secondary server of the plurality of secondary servers, wherein each of the primary server and the first secondary server stores the data updates; and sending, by the one or more processors, a null-operation instruction to a second secondary server, wherein the null-operation instruction is used to instruct the second secondary server to perform no operation with respect to the data updates to reduce a number of copies of the data updates. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable storage medium coupled to one or more computers and configured with instructions executable by the one or more computers to:
-
receive a user input comprising a service request; generate a service response to the service request; subsequent to generating the service response, receive a request to update data stored on a distributed data storage system that comprises a primary server and a plurality of secondary servers, the request comprising data updates, the primary server being randomly selected, wherein the data updates are associated with the service request; send an update log instruction to the primary server and the plurality of secondary servers, wherein at least one of the primary server and the plurality of secondary servers records a log associated with the request; determine that a log operation was completed, wherein the log has been recorded by a first secondary server of the plurality of secondary servers; in response to determining that the log operation was completed by the first secondary server of the plurality of secondary servers, send a data storage instruction to the primary server and the first secondary server of the plurality of secondary servers, wherein each of the primary server and the first secondary server stores the data updates; and send a null-operation instruction to a second secondary server, wherein the null-operation instruction is used to instruct the second secondary server to perform no operation with respect to the data updates to reduce a number of copies of the data updates. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system, comprising:
-
one or more computers; and one or more computer-readable memories coupled to the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions executable by the one or more computers to; receive a user input comprising a service request; generate a service response to the service request; subsequent to generating the service response, receive a request to update data stored on a distributed data storage system that comprises a primary server and a plurality of secondary servers, the request comprising data updates, the primary server being randomly selected, wherein the data updates are associated with the service request; send an update log instruction to the primary server and the plurality of secondary servers, wherein at least one of the primary server and the plurality of secondary servers records a log associated with the request; determine that a log operation was completed, wherein the log has been recorded by a first secondary server of the plurality of secondary servers; in response to determining that the log operation was completed by the first secondary server of the plurality of secondary servers, send a data storage instruction to the primary server and the first secondary server of the plurality of secondary servers, wherein each of the primary server and the first secondary server stores the data updates; and send a null-operation instruction to a second secondary server, wherein the null-operation instruction is used to instruct the second secondary server to perform no operation with respect to the data updates to reduce a number of copies of the data updates. - View Dependent Claims (16, 17)
-
Specification