Transaction aggregation to increase transaction processing throughput
First Claim
1. A computer-implemented method, comprising:
- in response to an aggregated transaction on a list of aggregated transactions reaching a target size that represents execution criteria, executing the aggregated transaction, wherein the aggregated transaction includes transaction items; and
in response to determining that errors occurred to prevent the aggregated transaction from committing,breaking up the aggregated transaction into multiple, smaller aggregated transactions that each include one transaction item that caused an error from the errors that occurred and at least one transaction item that did not cause an error from the errors that occurred;
placing the multiple, smaller aggregated transactions on a front of a list of aggregated transactions to be executed;
labeling the multiple, smaller aggregated transactions as already having met the execution criteria;
adjusting the target size for determining whether aggregated transactions on the list of aggregated transactions, other than the multiple, smaller, aggregated transactions, have met execution criteria based on measurements of system throughput; and
in response to determining that one of the multiple, smaller aggregated transactions has met the execution criteria based on the labelling, executing that one of the multiple, smaller aggregated transactions.
0 Assignments
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.
17 Citations
24 Claims
-
1. A computer-implemented method, comprising:
-
in response to an aggregated transaction on a list of aggregated transactions reaching a target size that represents execution criteria, executing the aggregated transaction, wherein the aggregated transaction includes transaction items; and in response to determining that errors occurred to prevent the aggregated transaction from committing, breaking up the aggregated transaction into multiple, smaller aggregated transactions that each include one transaction item that caused an error from the errors that occurred and at least one transaction item that did not cause an error from the errors that occurred; placing the multiple, smaller aggregated transactions on a front of a list of aggregated transactions to be executed; labeling the multiple, smaller aggregated transactions as already having met the execution criteria; adjusting the target size for determining whether aggregated transactions on the list of aggregated transactions, other than the multiple, smaller, aggregated transactions, have met execution criteria based on measurements of system throughput; and in response to determining that one of the multiple, smaller aggregated transactions has met the execution criteria based on the labelling, executing that one of the multiple, smaller aggregated transactions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer program product comprising a non-transitory computer readable storage medium storing a computer readable program, wherein the computer readable program when executed by a processor on a computer causes the computer to:
-
in response to an aggregated transaction on a list of aggregated transactions reaching a target size that represents execution criteria, execute the aggregated transaction, wherein the aggregated transaction includes transaction items; and in response to determining that errors occurred to prevent the aggregated transaction from committing, break up the aggregated transaction into multiple, smaller aggregated transactions that each include one transaction item that caused an error from the errors that occurred and at least one transaction item that did not cause an error from the errors that occurred; and place the multiple, smaller aggregated transactions on a front of a list of aggregated transactions to be executed; label the multiple, smaller aggregated transactions as already having met the execution criteria; adjust the target size for determining whether aggregated transactions on the list of aggregated transactions, other than the multiple, smaller, aggregated transactions, have met execution criteria based on measurements of system throughput; and in response to determining that one of the multiple, smaller aggregated transactions has met the execution criteria based on the labelling, execute that one of the multiple, smaller aggregated transactions. - 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; in response to an aggregated transaction on a list of aggregated transactions reaching a target size that represents execution criteria, executing the aggregated transaction, wherein the aggregated transaction includes transaction items; and in response to determining that errors occurred to prevent the aggregated transaction from committing, breaking up the aggregated transaction into multiple, smaller aggregated transactions that each include one transaction item that caused an error from the errors that occurred and at least one transaction item that did not cause an error from the errors that occurred; placing the multiple, smaller aggregated transactions on a front of a list of aggregated transactions to be executed; labeling the multiple, smaller aggregated transactions as already having met the execution criteria; adjusting the target size for determining whether aggregated transactions on the list of aggregated transactions, other than the multiple, smaller, aggregated transactions, have met execution criteria based on measurements of system throughput; and in response to determining that one of the multiple, smaller aggregated transactions has met the execution criteria based on the labelling, executing that one of the multiple, smaller aggregated transactions. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification