发明名称 Transaction processing system, method, and program
摘要 Using a KVS transaction processing mechanism, four lock states are managed. When a local transaction refers to and updates a map entry, the local transaction is graded up to a global transaction. Start processing as the global transaction is first performed to determine a transaction ID. A committed value, a value being updated, and a transaction ID being updated are then inserted into all map entries for which LX locks are being acquired at present. Another local transaction is then started for all map entries for which S locks are being acquired at present to acquire S locks. Next, the original local transaction is committed. As a result, the LX locks acquired are graded up to GX locks. After the termination of the global transaction as the waiting target, acquisition of S locks (GX locks) is tried as a global transaction.
申请公布号 US8930323(B2) 申请公布日期 2015.01.06
申请号 US201213629728 申请日期 2012.09.28
申请人 International Business Machines Corporation 发明人 Horii Hiroshi
分类号 G06F17/30 主分类号 G06F17/30
代理机构 代理人 Alexanian Vazken
主权项 1. A method for distributing data to a plurality of servers on which data is accessed from a client computer, the method comprising: placing, on each of the plurality of servers, a management table comprising a transaction ID and a value indicative of a state thereof, and a data table comprising a key value, a value, and a lock value; determining a transaction ID on the client computer to start a global transaction; starting a query local transaction on a server processing a local transaction among the plurality of servers; running a query in the query local transaction about all values being referred to in the local transaction; updating all values being updated in the local transaction to a combination of a value before being updated, a value being updated, and the transaction ID as a lock value on the data table; and committing the local transaction; wherein the step of starting the global transaction comprises: causing the client computer to generate the transaction ID; determining a server holding a management map representing a state of the global transaction based on the transaction ID; and starting a local transaction for map entries on the management map representing the state of the global transaction to acquire a lock; using the local transaction to change values of the map entries on the management map representing the state of the global transaction to Committed and to commit; andchanging data being updated to current data for all map entries updated in the global transaction and executing a step of deleting data being updated and transaction IDs to terminate the global transaction.
地址 Armonk NY US