IP Library Granted Patent US 11,709,803
Granted Patent B2
US 11,709,803 · App. 16/789,313 · Granted Jul 25, 2023

Data transaction processing method, apparatus, and electronic device

Inventor: Lian Yang (Hangzhou, CN)
Assignee: Alibaba Group Holding Limited
G06F16/1865G06F9/543G06F16/162G06F16/168G06F16/1734G06F16/182G06F21/6218G06F2221/0751
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 11,709,803
App. No.
16/789,313
Granted
Jul 25, 2023
Kind
B2
Abstract

A method, an apparatus, and an electronic device for processing a data transaction are disclosed. The method includes receiving an application request from a client to perform a data operation in a target data partition; creating a corresponding data transaction according to the application request, and assigning a transaction identifier to the data transaction; returning the transaction identifier that is assigned to the data transaction to the client; performing the data operation based on the target data partition according to the data operation carrying the transaction identifier and sent by the client; and processing the data transaction according to a transaction instruction sent by the client. The method enables a data operation to implement transactional attributes, and to satisfy a transactional nature of the data operation. Moreover, the service logic of data transactions implemented by the method is relatively simple, thus ensuring that data services have a good transactional nature.

Claims (59)

1. A method implemented by one or more computing devices, the method comprising:

receiving an application request from a client to perform a data operation in a target data partition, the target data partition being a data set that the client desires to operate, the target data partition including a partition key in a data table included in a database, a state of the partition key including at least one of a locked state or an unlocked state;

creating a corresponding data transaction according to the application request;

assigning a transaction identifier to the data transaction, the data transaction including a database transaction;

returning the transaction identifier that is assigned to the data transaction to the client;

performing the data operation based on the target data partition according to the data operation that carries the transaction identifier and is sent by the client; and

processing the data transaction according to a transaction instruction sent by the client.

2. The method of claim 1 , wherein a primary key of the data table is composed of at least one primary key column in the data table, and the partition key comprises a single partition key composed of a first primary key column of the data table.

3. The method of claim 1 , wherein the transaction instruction comprises a transaction commit instruction or a transaction cancel instruction.

4. The method of claim 3 , wherein: in response to determining that the transaction instruction sent by the client is the transaction commit instruction, the processing the data transaction according to the transaction instruction sent by the client comprises:

sending the database transaction to a transaction queue;

reading the database transaction from the transaction queue;

creating a transaction log corresponding to the database transaction; and

recording the data operation of the database transaction in the transaction log.

5. The method of claim 4 , wherein the processing the data transaction according to the transaction instruction sent by the client further comprises:

storing the transaction log in a preset data storage space.

6. The method of claim 5 , wherein: after the storing the transaction log in the preset data storage space is performed, the method further comprises:

deleting the database transaction; and

recovering the transaction identifier corresponding to the database transaction.

7. The method of claim 3 , wherein: in response to determining that the transaction instruction sent by the client is the transaction cancel instruction, the processing the data transaction according to the transaction instruction sent by the client comprises:

deleting the database transaction; and

recovering the transaction identifier of the database transaction.

8. The method of claim 1 , further comprising:

determining that the database transaction corresponding to the transaction instruction does not exist; and

returning a prompt message that the database transaction corresponding to the transaction instruction does not exist to the client.

9. The method of claim 1 , wherein: in response to determining that the received application request is an application request for performing the data operation under the partition key, updating the state of the partition key to the locked state.

10. The method of claim 1 , wherein: after the receiving the application request for performing the data operation on the target data partition sent by the client, and before the creating the corresponding data transaction according to the application request, and assigning the transaction identifier to the data transaction, the method further comprises:

determining that the state of the partition key is not the unlocked state.

11. The method of claim 1 , wherein the database comprises a logically unified distributed database formed by connecting a plurality of physically dispersed data storage units through a network.

12. The method of claim 11 , wherein the method is implemented based on a platform of a distributed database deployed in a cloud computing environment, the platform of the distributed database providing a data access interface for accessing the distributed database, and receiving the application request sent by the client for performing the data operation on the partition key of the distributed database through the data access interface, and/or receiving the transaction instruction sent by the client for processing the database transaction through the data access interface.

13. An apparatus comprising:

one or more processors; and

one or more memories storing executable instructions that, when executed by the one or more processors, cause the one or more processors to perform acts comprising:

sending an application request for performing a data operation on a target data partition to a server, the target data partition being a data set that the client desires to operate, the target data partition including a partition key in a data table included in a database, a state of the partition key including at least one of a locked state or an unlocked state;

receiving a transaction identifier of a data transaction corresponding to the application request returned by the server, the data transaction including a database transaction;

submitting a data operation carrying the transaction identifier to the server, for performing the data operation on the target data partition; and

sending a transaction instruction for processing the data transaction to the server based on the transaction identifier.

14. The apparatus of claim 13 , wherein the acts further comprise:

receiving prompt information that no database transaction corresponding to the transaction instruction returned by the server exists.

15. One or more memories storing executable instructions that, when executed by one or more processors, cause the one or more processors to perform acts comprising:

receiving an application request from a client to perform a data operation in a target data partition, the target data partition being a data set that the client desires to operate, the target data partition including a partition key in a data table included in a database, a state of the partition key including at least one of a locked state or an unlocked state;

creating a corresponding data transaction according to the application request;

assigning a transaction identifier to the data transaction, the data transaction including a database transaction;

returning the transaction identifier that is assigned to the data transaction to the client;

performing the data operation based on the target data partition according to the data operation that carries the transaction identifier and is sent by the client; and

processing the data transaction according to a transaction instruction sent by the client.

16. The one or more memories of claim 15 , wherein: in response to determining that the transaction instruction sent by the client is a transaction commit instruction, the processing the data transaction according to the transaction instruction sent by the client comprises:

sending the data transaction to a transaction queue;

reading the data transaction from the transaction queue;

creating a transaction log corresponding to the data transaction; and

recording a data operation of the database transaction in the transaction log.

17. The one or more memories of claim 15 , the acts further comprising:

determining that the database transaction corresponding to the transaction instruction does not exist; and

returning a prompt message that the database transaction corresponding to the transaction instruction does not exist to the client.

18. The one or more memories of claim 15 , wherein the database comprises a logically unified distributed database formed by connecting a plurality of physically dispersed data storage units through a network.

19. The one or more memories of claim 15 , wherein: in response to determining that the transaction instruction sent by the client is a transaction cancel instruction, the processing the data transaction according to the transaction instruction sent by the client comprises:

deleting the database transaction; and

recovering the transaction identifier of the database transaction.

20. The one or more memories of claim 15 , wherein the database comprises a logically unified distributed database formed by connecting a plurality of physically dispersed data storage units through a network.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075499/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2020
From: YANG, LIAN
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 054042/0253 →
Priority Claims (1)
CN 201710738319.8 · Aug 25, 2017 · national
Continuity (2)
Continuation PCTCN2018100419 · Aug 14, 2018
Related Publication 20200183892A1 · Jun 11, 2020