Transaction aggregation to increase transaction processing throughout
First Claim
1. A computer-implemented method, comprising:
- maintaining a list of aggregated transactions, wherein each of the aggregated transactions includes one or more transaction items, and wherein each of the one or more transaction items has a message identifier and a session identifier;
obtaining a transaction item with a message identifier and a session identifier;
adding the transaction item to an earliest aggregated transaction in an order of the list of aggregated transactions in which no other transaction item has the same session identifier;
executing an aggregated transaction in the list of aggregated transactions that has met execution criteria;
in response to determining that the aggregated transaction is not committing,detecting one or more errors;
for each of the one or more errors, extracting a message identifier that is associated with a transaction item that caused that error; and
breaking up the aggregated transaction into multiple smaller aggregated transactions such that each of the multiple smaller aggregated transactions contains at most one transaction item that caused an error; and
adjusting a target size of each of the multiple smaller aggregated transactions based on measurements of system throughput.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided are techniques for increasing transaction processing throughput. A transaction item with a message identifier and a session identifier is obtained. The transaction item is added to an earliest aggregated transaction in a list of aggregated transactions in which no other transaction item as the same session identifier. A first aggregated transaction in the list of aggregated transactions that has met execution criteria is executed. In response to determining that the aggregated transaction is not committing, the aggregated transaction is broken up into multiple smaller aggregated transactions and a target size of each aggregated transaction is adjusted based on measurements of system throughput.
26 Citations
24 Claims
-
1. A computer-implemented method, comprising:
-
maintaining a list of aggregated transactions, wherein each of the aggregated transactions includes one or more transaction items, and wherein each of the one or more transaction items has a message identifier and a session identifier; obtaining a transaction item with a message identifier and a session identifier; adding the transaction item to an earliest aggregated transaction in an order of the list of aggregated transactions in which no other transaction item has the same session identifier; executing an aggregated transaction in the list of aggregated transactions that has met execution criteria; in response to determining that the aggregated transaction is not committing, detecting one or more errors; for each of the one or more errors, extracting a message identifier that is associated with a transaction item that caused that error; and breaking up the aggregated transaction into multiple smaller aggregated transactions such that each of the multiple smaller aggregated transactions contains at most one transaction item that caused an error; and adjusting a target size of each of the multiple smaller aggregated transactions based on measurements of system throughput. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer program product comprising a storage device storing a computer readable program, wherein the computer readable program when executed by a processor on a computer causes the computer to:
-
maintain a list of aggregated transactions, wherein each of the aggregated transactions includes one or more transaction items, and wherein each of the one or more transaction items has a message identifier and a session identifier; obtain a transaction item with a message identifier and a session identifier; add the transaction item to an earliest aggregated transaction in an order of the list of aggregated transactions in which no other transaction item has the same session identifier; execute an aggregated transaction in the list of aggregated transactions that has met execution criteria; in response to determining that the aggregated transaction is not committing, detect one or more errors; for each of the one or more errors, extract a message identifier that is associated with a transaction item that caused that error; and break up the aggregated transaction into multiple smaller aggregated transactions such that each of the multiple smaller aggregated transactions contains at most one transaction item that caused an error; and adjust a target size of each of the multiple smaller aggregated transactions based on measurements of system throughput. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A system, comprising:
-
a processor; a storage device coupled to the processor, wherein the storage device stores program code, and wherein the processor executes the program code to perform operations, the operations comprising; maintaining a list of aggregated transactions, wherein each of the aggregated transactions includes one or more transaction items, and wherein each of the one or more transaction items has a message identifier and a session identifier; obtaining a transaction item with a message identifier and a session identifier; adding the transaction item to an earliest aggregated transaction in an order of the list of aggregated transactions in which no other transaction item has the same session identifier; executing an aggregated transaction in the list of aggregated transactions that has met execution criteria; in response to determining that the aggregated transaction is not committing, detecting one or more errors; for each of the one or more errors, extracting a message identifier that is associated with a transaction item that caused that error; and breaking up the aggregated transaction into multiple smaller aggregated transactions such that each of the multiple smaller aggregated transactions contains at most one transaction item that caused an error; and adjusting a target size of each of the multiple smaller aggregated transactions based on measurements of system throughput. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification