Traitement en cours

Veuillez attendre...

Paramétrages

Paramétrages

Aller à Demande

1. WO2020117413 - RÉPLICATION DU MONDE LIBRE POUR MAGASIN DE VALEURS CLÉS

Note: Texte fondé sur des processus automatiques de reconnaissance optique de caractères. Seule la version PDF a une valeur juridique

[ EN ]

CLAIMS

What is claimed is:

1. A method comprising:

receiving, at a first node of a distributed key- value store comprising the first node and a second node, a first message from a client device, the first message comprising a sequence identifier for the first message and first data to be written to the key-value store;

determining, by the first node and based on the sequence identifier, that a second message was sent by the client device and not received by the first node;

receiving, by the first node from the second node, an indication that the second message was received by the second node, and

based on the indication that the second message was received by the second node and the determination that the second message was not received by the first node, requesting second data from the second node, the second data corresponding to the second message.

2. The method of claim 1 , wherein the receiving of the indication that the second message was received by the second node comprises receiving a bitmap comprising a bit corresponding to the second message.

3. The method of claim 2, wherein the bitmap comprises a plurality of bits, each bit of the plurality of bits indicating wdiether a corresponding message was received by the second node

4. The method of claim 3, further comprising transmitting a request from the first node for the bitmap from the second node.

5 The method of claim 4, wherein:

the request comprises an indication of a range of sequence identifiers of messages; and

each bit of the plurality of bits indicates whether a message ha ving a sequence identifier in the range of sequence identifiers was received by the second node.

6. The method of claim 5, further comprising:

requesting, by the first node, a first proposed upper bound of the range from the second node;

requesting, by the first node, a second proposed upper bound of the range from a third node of the distributed key- value store; based on the first proposed upper bound and the second proposed upper bound, determining an upper bound of the range; and wherein the indication of the range comprises an indication of a lower bound of the range and the determined upper bound of the range.

7. The method of claim 1, further comprising:

receiving, by the first node from a third node of the distributed key- value store, an indication that the second message was received by the third node; and

based on the indication that the second message was received by the third node and the determination that the second message was not received by the first node, requesting the second data from the third node.

8. The method of claim 7, wherein the distributed key- value store is a leaderless key-value store.

9. The method of claim 8, wherein the first node is a Raft leader for the distributed key-value store.

10. A node of a distributed key-value store comprising:

a memory that stores instructions; and

one or more processors configured by the instructions to perform operations comprising:

receiving a first message from a client device, the first message comprising a sequence identifier for the first message and first data to be written to the key- value store;

determining, based on the sequence identifier, that a second

message was sent by the client device and not received by the node,

receiving, from a second node of the distributed key-value store, an indication that the second message was received by the second node: and

based on the indication that the second message was received by the second node and the determination that the second message was not received by the node, requesting second data from the second node, the second data corresponding to the second message.

1 1. The node of claim 10, wherein the receiving of the indication that the second message was received by the second node comprises receiving a bitmap comprising a bit corresponding to the second message.

12. The node of claim 11, wherein the bitmap comprises a plurality of bits, each bit of the plurality of bits indicating whether a corresponding message was received by the second node.

13. The node of claim 12, wherein the operations further comprise transmitting a request for the bitmap from the second node.

14. The node of claim 13, wherein:

the request comprises an indication of a range of sequence identifiers of messages; and

each bit of the plurality of bits indicates whether a message having a sequence identifier in the range of sequence identifiers was received by the second node.

15. The node of claim 14, wherein the operations further comprise:

requesting a first proposed upper bound of the range from the second node;

requesting a second proposed upper bound of the range from a third node of the distributed key- value store;

based on the first proposed upper bound and the second proposed upper bound, determining an upper bound of the range; and wherein the indication of the range comprises an indication of a lower bound of the range and the determined upper bound of the range.

16. The node of claim 10, wherein the operations further comprise:

receiving, from a third node of the distributed key- value store, an

indication that the second message was received by the third node; and

based on the indication that the second message was received by the third node and the determination that the second message was not received by the first node, requesting the second data from the third node.

17. A computer-readable medium that stores instructions that, when executed by one or more processors of a node of a distributed key-value store, cause the one or more processors to perform operations comprising:

receiving a first message from a client device, the first message

comprising a sequence identifier for the first message and first data to be written to the key- value store;

determining, based on the sequence identifier, that a second message was sent by the client device and not received by the node;

receiving, from a second node of the distributed key- value store, an

indication that the second message was received by the second node; and

based on the indication that the second message was received by the second node and the determination that the second message was

not received by the node, requesting second data from the second node, the second data corresponding to the second message.

18. The computer-readable medium of claim 17, wherein the receiving of the indication that the second message was received by the second node comprises receiving a bitmap comprising a bit corresponding to the second message.

19. The computer-readable medium of claim 18, wherein the bitmap comprises a plurality of bits, each bit of the plurality of bits indicating whether a corresponding message was received by the second node.

20. The computer-readable medium of claim 19, wherein the operations further comprise transmitting a request for the bitmap fro the second node.