IP Library › Granted Patent US 8,527,501
Granted Patent B2
US 8,527,501 · App. 13/172,142 · Granted Sep 3, 2013

Method, system, and program for combining and processing transactions

Inventor: Hiroshi Horii (Kanagawa-ken, JP)
Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,527,501
App. No.
13/172,142
Granted
Sep 3, 2013
Kind
B2
Abstract

A method, system, and program for combining and processing transactions. The method includes the steps of: receiving a plurality of transactions from a plurality of clients, where each of the plurality of transactions includes a select query; combining the select queries in the transactions; and sending combined select queries to the database as a combined transaction.

Claims (59)

1. A method for accessing a database and combining a plurality of transactions by a computer, the method comprising:

receiving a plurality of transactions from a plurality of clients, wherein each of said plurality of transactions comprises a select query;

combining said select queries in said transactions using a set operator, wherein said select query comprises a plurality of SQL statements;

associating each of said SQL statements from said select queries to be combined with a client ID of said corresponding client;

generating a first list of data types for each selected SQL statement, wherein said first list of data types comprises data types from said selected SQL statement and said corresponding client ID;

generating a second list of data types, wherein said second list of data types comprises all said data types from said selected SQL statements;

converting said SQL statements of each said client so that said data types of each said SQL statement are arranged in order of said data types of a corresponding data type set;

storing a correspondence between said data types of a converted SQL statement and said data types of an unconverted SQL statement for each of said client IDs of said clients;

combining all said converted SQL statements using said set operator;

sending combined SQL statements to said database; and

sending combined select queries to said database as a combined transaction.

2. The method according to claim 1 , further comprising:

receiving a result of said combined transaction from said database.

3. The method according to claim 2 , further comprising:

dividing said result into reference results of said transactions; and

sending said reference results.

4. The method according to claim 3 , wherein dividing said result into reference results further comprises:

determining said client IDs from said result received from said database;

converting said result of each determined client IDs into a second reference result of said unconverted SQL statement from stored said correspondence; and

sending each of said second reference result to said client having said corresponding client ID.

5. The method according to claim 1 , further comprising:

updating data referred through said combined transaction by using said client in said combined transaction.

6. The method according to claim 5 , wherein updating data referred through said combined transaction further comprises:

inquiring whether said data to be updated has been referred to said combined transaction;

directly requesting said database to process said select query processed in said combined transaction, provided that said data to be updated has been referred in said combined transaction; and

directly requesting said database to process an update query for updating said data in accordance with a commit request from said client.

7. A system for accessing a database and combining a plurality of transactions, the system comprising:

a processor implemented database proxy configured to:

receive a plurality of transactions from a plurality of clients, wherein said plurality of transactions each comprises a select query;

combine said select queries in said transactions using a set operator, wherein said select query comprises a plurality of SQL statements;

associate each of said SQL statements from said select queries to be combined with a client ID of said corresponding client;

generate a first list of data types for each selected SQL statement, wherein said first list of data types comprises data types from said selected SQL statement and said corresponding client ID;

generate a second list of data types, wherein said second list of data types comprises all said data types from said selected SQL statements;

convert said SQL statements of each said client so that said data types of each said SQL statement are arranged in order of said data types of a corresponding data type set;

store a correspondence between said data types of a converted SQL statement and said data types of an unconverted SQL statement for each of said client IDs of said clients;

combine all said converted SQL statements using said set operator;

send combined SQL statements to said database; and

send combined select queries to said database as a combined transaction.

8. The system according to claim 7 , wherein the database proxy is configured to receive a result of said combined transaction from said database.

9. The system according to claim 8 , wherein the database proxy is configured to divide said result into reference results of said transactions; and

send said reference results.

10. The system according to claim 9 , wherein the database proxy is configured to determine said client IDs from said result received from said database;

convert said result of each determined client IDs into a second reference result of said unconverted SQL statement from stored said correspondence; and

send each of said second reference result to said client having said corresponding client ID.

11. The system according to claim 7 , the database proxy is configured to update data referred through said combined transaction by using said client in said combined transaction.

12. The system according to claim 11 , wherein the database proxy is configured to inquire whether said data to be updated has been referred to said combined transaction;

directly request said database to process said select query processed in said combined transaction, provided that said data to be updated has been referred in said combined transaction; and

directly request said database to process an update query for updating said data in accordance with a commit request from said client.

13. A non-transitory computer readable storage medium tangibly embodying a computer readable program code having computer readable instructions which when implemented, cause a computer to implement a method for accessing a database and combining a plurality of transactions by the computer, the method comprising:

receiving a plurality of transactions from a plurality of clients, wherein each of said plurality of transactions comprises a select query;

combining said select queries in said transactions using a set operator, wherein said select query comprises a plurality of SQL statements;

associating each of said SQL statements from said select queries to be combined with a client ID of said corresponding client;

generating a first list of data types for each selected SQL statement, wherein said first list of data types comprises data types from said selected SQL statement and said corresponding client ID;

generating a second list of data types, wherein said second list of data types comprises all said data types from said selected SQL statements;

converting said SQL statements of each said client so that said data types of each said SQL statement are arranged in order of said data types of a corresponding data type set;

storing a correspondence between said data types of a converted SQL statement and said data types of an unconverted SQL statement for each of said client IDs of said clients;

combining all said converted SQL statements using said set operator;

sending combined SQL statements to said database; and

sending combined select queries to said database as a combined transaction.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2011
From: HORII, HIROSHI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 026524/0847 →
Priority Claims (1)
JP 2010-150989 · Jul 1, 2010 · national
Continuity (1)
Related Publication 20120005196A1 · Jan 5, 2012