发明名称 Transaction processing system, method and program
摘要 A system and method of implementing distributed transactions on a KVS having a simple configuration without unnecessarily causing rollbacks. The method includes providing a management map including a global transaction ID as a key and {a state of global transaction, a waiting global transaction ID list} as a value, starting a management local transaction on one of the plurality of servers, inserting a key-value pair including an ID of the global transaction to be processed as a key and {a state “working”, null} as a value into the management map in the management local transaction, and updating a value having the ID of the global transaction to be processed as a key to {a state “waiting”, a waiting global transaction ID list for the global transaction to be processed} on the management map in the management local transaction and committing the management local transaction.
申请公布号 US9348640(B2) 申请公布日期 2016.05.24
申请号 US201213563791 申请日期 2012.08.01
申请人 International Business Machines Corporation 发明人 Horii Hiroshi
分类号 G06F17/30;G06F9/46 主分类号 G06F17/30
代理机构 Scully, Scott, Murphy & Presser, P.C. 代理人 Scully, Scott, Murphy & Presser, P.C. ;Tang, Esq. Jeff
主权项 1. In a distributed key value store system which includes a plurality of servers, each having an exclusive control mechanism, and in which transaction atomicity and isolation on each of the servers are guaranteed, a distributed key-value-store system control method for implementing global transaction processing that preserves transaction atomicity and isolation on all of the servers by combining local transaction processes on the servers, the method comprising the steps of: providing beforehand a management map including a global transaction ID as a key and a state of global transaction, a waiting global transaction ID list as a value before any global transaction is started; starting a management local transaction on one of the plurality of servers by processing by the computer when a global transaction process is started; inserting a key-value pair including an ID of the global transaction process as a key and initializing a transaction state field to a “working” value, and initializing a waiting state field as a null value into the management map in the management local transaction, said management local transaction not ending until a commit or rollback of the global transaction process; and updating each of the transaction state field value and the waiting state field value for the ID of the global transaction process as a key to a respective transaction state value “waiting”, and a waiting global transaction ID list value for the global transaction process on the management map in the management local transaction and committing the management local transaction; starting a wait-for-lock-release transaction on the server that manages a waiting global transaction ID at a tail of the waiting global transaction ID list for the global transaction process as a key of the management map and querying a value having a waiting global transaction ID as a key; and in response to that the value queried does not exist on the management map or that the state of a waiting global transaction in the value is either committed or aborted, committing the wait-for-lock-release transaction, restarting the management local transaction, and updating a value having a global transaction ID as a key to one of a state “working”, null to notify that lock contention has ended, by processing by the computer.
地址 Armonk NY US