发明名称 |
Atomic writes for multiple-extent operations |
摘要 |
A node of a storage service is selected as a coordinator of a distributed transaction involving multiple page-level modifications. The coordinator identifies other nodes as members of a node chain collectively storing physical data pages at which proposed modifications are to be performed, including a decider node responsible for a decision to commit the transaction. The coordinator generates a transaction preparation message comprising a representation of an order of respective commit decisions associated with the proposed modifications, and transmits the message to a selected node of the chain for a sequential propagation along the chain. Each chain node performs a local commit analysis for its changes and stores a record of its intent to commit. If a decision to commit is reached at the decider, the proposed modifications are completed. |
申请公布号 |
US9519510(B2) |
申请公布日期 |
2016.12.13 |
申请号 |
US201414231077 |
申请日期 |
2014.03.31 |
申请人 |
Amazon Technologies, Inc. |
发明人 |
Strauss Jacob A.;Frigo Matteo;Haugland Alex;Oikarinen Matti Juhani;Vincent Pradeep;Hendrickson Joshua Samuel |
分类号 |
G06F7/00;G06F17/00;G06F9/46 |
主分类号 |
G06F7/00 |
代理机构 |
Meyertons, Hood, Kivlin, Kowert & Goetzel, P.C. |
代理人 |
Kowert Robert C.;Meyertons, Hood, Kivlin, Kowert & Goetzel, P.C. |
主权项 |
1. A system, comprising:
one or more computing devices configured to:
select a particular component of a multi-tenant file storage service as a coordinator of a distributed transaction;generate, at the coordinator, a transaction preparation message comprising at least: (a) an indication of a respective proposed page modification to be performed at each page of a set of physical data pages managed by the service, and (b) an order in which respective page-level commit decisions associated with the proposed page modifications are to be made;propagate the transaction preparation message sequentially among nodes of a storage node chain collectively storing the set of physical data pages, wherein the storage node chain ends at a decider node designated by the coordinator as responsible for a decision to commit the distributed transaction;in response to receiving the transaction preparation message at a particular storage node of the chain other than the decider node,
store, at a persistent repository, subsequent to a commit analysis of a proposed modification to a physical data page of the particular storage node, a record of an intent to perform the proposed modification, wherein the commit analysis includes an examination of a logical timestamp corresponding to a read of the physical data page;lock the physical data page of the particular storage node; andtransmit the transaction preparation message to a next storage node of the storage node chain;in response to receiving the transaction preparation message at the decider node,
determine, subsequent to a commit analysis of a proposed modification to a physical data page of the decider node, that the distributed transaction is to be committed;initiate the proposed modification to the physical data page of decider node; andinitiate a propagation of a transaction commit message to other nodes of the chain; andin response to receiving the transaction commit message at a particular storage node of the chain,
initiate a proposed modification corresponding to the record of the intent to commit; andrelease the lock on the physical data page. |
地址 |
Reno NV US |