US 12,235,724 B2
Method and apparatus for processing transaction
Jong In Im, Seoul (KR); Sang Uk Han, Seoul (KR); Joo Kyung Park, Seoul (KR); and Yong Tae Kim, Seoul (KR)
Assigned to SAMSUNG SDS CO., LTD., Seoul (KR)
Filed by SAMSUNG SDS CO., LTD., Seoul (KR)
Filed on May 27, 2022, as Appl. No. 17/826,645.
Claims priority of application No. 10-2021-0069115 (KR), filed on May 28, 2021.
Prior Publication US 2022/0382635 A1, Dec. 1, 2022
Int. Cl. G06F 11/14 (2006.01); G06F 16/23 (2019.01); G06F 16/25 (2019.01)
CPC G06F 11/1402 (2013.01) [G06F 16/2365 (2019.01); G06F 16/252 (2019.01)] 17 Claims
OG exemplary drawing
 
1. A method for processing a series of database transactions requested sequentially by a plurality of applications comprising a first application and a second application, the method performed by a computing device, the method comprising:
recording a first transaction requested to a first database by the first application, in association with a transaction group identifier (ID), wherein the first database has a first database management system (DBMS) mounted thereon;
recording a second transaction requested to a second database distinguished from the first database by the second application called by the first application, among the plurality of applications, in association with the transaction group ID, wherein the second database has a second DBMS mounted thereon, the first DBMS and the second DBMS being heterogeneous DBMSs, wherein the plurality of applications are recorded with multiple layers in a sequential order in which the multiple layers are called and processed, a transaction in a highest layer being a firstly processed transaction and a transaction in a lowest layer being a last processed transaction, the second transaction being in a lower layer than a layer of the first transaction, and wherein each of the plurality of applications is assigned with a corresponding transaction ID;
based on a determination that an error has occurred during processing of the second transaction, recording an error flag in association with a transaction ID of the second transaction;
identifying the error flag indicated in the second transaction and rolling back the second transaction targeted to the second database;
identifying the first transaction that is in an upper layer of the second transaction associated with the transaction group ID, wherein an error flag has not been recorded in the first transaction; and
rolling back the first transaction targeted to the first database,
wherein the rolling back of the first transaction and the rolling back of the second transaction are performed by a rollback module independently of the first application and the second application, the rollback module being separate from the first application and the second application, and
wherein, when a logic of the rollback module for rolling back data is changed, the logic is changed without interrupting the first application and the second application.