# US 12,182,629 B2 · Database access method and apparatus, computing device, and computer program product for load balancing between database access service engines

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,182,629 B2
- Document ID: US12182629B2
- Status: Granted
- Kind: B2
- Application number: 17/541,242
- Filed: 2021-12-02
- Published: 2022-03-24
- Granted: 2024-12-31
- Earliest claimed: 2019-06-29
- Assignees: Huawei Cloud Computing Technologies Co., Ltd.
- Applicants: Huawei Cloud Computing Technologies Co., Ltd.
- Inventors: Shoumin Guo
- Web page: https://patentgrep.com/patent/US12182629B2

## CPC

- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- G06F 21/44: Program or device authentication
- G06F 9/505: {considering the load}
- G06F 9/5055: {considering software capabilities, i.e. software resources associated or available to the machine}
- H04L 67/1029: using data related to the state of servers by a load balancer
- G06F 2221/2129: Authenticate client device independently of the user
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

This application discloses a method. A database access scheduling module (331 to 333) establishes a communication connection to a database access service engine (121 to 123) using an identifier of the database access service engine (121 to 123). The database access scheduling module (331 to 333) receives an access request sent by the database access service engine (121 to 123), where the access request carries an identifier of a database instance (371 to 375). The database access scheduling module (331 to 333) sends the access request to the database instance (371 to 375). In this way, the database access service engine (121 to 123) may send the access request to the database instance through the database access scheduling module (331 to 333) based on the communication connection actively established by the database access scheduling module (331 to 333) to the database access service engine (121 to 123).

## Claims

### Claim 1

A database access method, comprising:
actively establishing, by a database access scheduling module in a local area network, a communication connection to a database access service engine in a public cloud by using an identifier of the database access service engine;
recording, by an application in the public cloud, a database instance in the local area network and the database access service engine bound to the database instance;
generating, by the application, an access request, the access request specifying the database instance to be accessed in the local area network;
sending, by database access service engine, the access request to the database access scheduling module;
receiving, by the database access scheduling module, an access request sent by the database access service engine, the access request carrying an identifier of a database instance, and the identifier of the database instance is an IP address of the database instance, or the identifier of the database instance is an IP address and a port number of the database instance;
sending, by the database access scheduling module and according to the identifier of the database instance, the access request to the database instance of multiple database instances in the local area network;
receiving, by the database access scheduling module and from the database instance, a processing result corresponding to the access request; and
sending, by the database access scheduling module and to the database access service engine, so that the application obtains the processing result corresponding to the access request.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the identifier of the database access service engine is an IP address of the database access service engine.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the establishing, by the database access scheduling module, the communication connection to the database access service engine using the identifier of the database access service engine comprises:
sending, by the database access scheduling module, a request for establishing the communication connection to the database access service engine, the request carrying the identifier of the database access service engine and a public key of the database access service engine, and the public key of the database access service engine is used by the database access engine to authenticate establishment of the communication connection.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the method further comprises:
when the access request received by the database access scheduling module from the database access service engine is an access request that is encrypted based on a public key of the database access scheduling module, decrypting, by the database access scheduling module, the encrypted access request using a private key of the database access scheduling module to obtain a decrypted access request, wherein the decrypted access request is sent to the database instance.

### Claim 5 (depends on 1)

The method according to claim 1, wherein the method further comprises:
encrypting, by the database access scheduling module, the processing result using a public key of the database access service engine, so that the database access scheduling module sends an encrypted processing result to the database access service engine.

### Claim 6 (depends on 1)

The method according to claim 1, wherein the database access service engine is independent of an application that generates the access request.

### Claim 7 (depends on 1)

The database access method according to claim 1, wherein the database access service engine is independent of an application that generates the access request.

### Claim 8

A computing device, comprising:
a memory storing instructions; and
at least one processor in communication with the memory, the at least one processor configured, upon execution of the instructions, to enable the computing device to work as an application or a database access scheduling module or a database access service engine, so that the computing device performs at least one of the following steps:
actively establishing, by a database access scheduling module in a local area network, a communication connection to a database access service engine in a public cloud by using an identifier of the database access service engine;
recording, by an application in the public cloud, a database instance in the local area network and the database access service engine bound to the database instance;
generating, by the application, an access request, the access request specifying the database instance to be accessed in the local area network;
sending, by database access service engine, the access request to the database access scheduling module;
receiving, by the database access scheduling module, an access request sent by the database access service engine, the access request carrying an identifier of a database instance, and the identifier of the database instance is an IP address of the database instance, or the identifier of the database instance is an IP address and a port number of the database instance; and
sending, by the database access scheduling module and according to the identifier of the database instance, the access request to the database instance of multiple database instances in the local area network;
receiving, by the database access scheduling module and from the database instance, a processing result corresponding to the access request; and
sending, by the database access scheduling module and to the database access service engine, so that the application obtains the processing result corresponding to the access request.

### Claim 9 (depends on 8)

The computing device according to claim 8, wherein the identifier of the database access service engine is an IP address of the database access service engine.

### Claim 10 (depends on 8)

The computing device according to claim 8, wherein the at least one processor further executes the instructions to send a request for establishing the communication connection to the database access service engine, the request carrying the identifier of the database access service engine and a public key of the database access service engine, and the public key of the database access service engine is used by the database access engine to authenticate establishment of the communication connection.

### Claim 11 (depends on 8)

The computing device according to claim 8, wherein the at least one processor further executes the instructions to, when the access request received by the database access scheduling module from the database access service engine is an access request that is encrypted based on a public key of the database access scheduling module, decrypt the encrypted access request using a private key of the database access scheduling module to obtain a decrypted access request, wherein the sending unit sends the decrypted access request to the database instance.

### Claim 12 (depends on 8)

The computing device according to claim 8, wherein the at least one processor further executes the instructions to encrypt the processing result using a public key of the database access service engine, so that the sending unit sends an encrypted processing result to the database access service engine.

### Claim 13 (depends on 8)

The computing device according to claim 8, wherein the database access service engine is independent of an application that generates the access request.

### Claim 14

A non-transitory computer-readable media storing computer instructions, that when executed by at least one processor, causes the at least one processor to perform the steps of:
actively establishing, by a database access scheduling module in a local area network, a communication connection to a database access service engine in a public cloud by using an identifier of the database access service engine;
recording, by an application in the public cloud, a database instance in the local area network and the database access service engine bound to the database instance;
generating, by the application, an access request, the access request specifying the database instance to be accessed in the local area network;
sending, by database access service engine, the access request to the database access scheduling module;
receiving, by the database access scheduling module, an access request sent by the database access service engine, the access request carrying an identifier of a database instance, and the identifier of the database instance is an IP address of the database instance, or the identifier of the database instance is an IP address and a port number of the database instance; and
sending, by the database access scheduling module and according to the identifier of the database instance, the access request to the database instance of multiple database instances in the local area network;
receiving, by the database access scheduling module and from the database instance, a processing result corresponding to the access request; and
sending, by the database access scheduling module and to the database access service engine, so that the application obtains the processing result corresponding to the access request.

### Claim 15 (depends on 14)

The non-transitory computer-readable media according to claim 14, wherein the identifier of the database access service engine is an IP address of the database access service engine.

### Claim 16 (depends on 14)

The non-transitory computer-readable media according to claim 14, wherein the establishing the communication connection to the database access service engine using the identifier of the database access service engine comprises:
sending a request for establishing the communication connection to the database access service engine, the request carrying the identifier of the database access service engine and a public key of the database access service engine, and the public key of the database access service engine is used by the database access engine to authenticate establishment of the communication connection.

### Claim 17 (depends on 14)

The non-transitory computer-readable media according to claim 14, wherein the instructions are further executed by the at least one processor to:
when the access request received by the database access scheduling module from the database access service engine is an access request that is encrypted based on a public key of the database access scheduling module, decrypt, by the database access scheduling module, the encrypted access request using a private key of the database access scheduling module to obtain a decrypted access request, wherein the decrypted access request is sent to the database instance.

### Claim 18 (depends on 14)

The non-transitory computer-readable media according to claim 14, wherein the instructions are further executed by the at least one processor to:
encrypt the processing result using a public key of the database access service engine, so that the database access scheduling module sends an encrypted processing result to the database access service engine.

### Claim 19 (depends on 14)

The non-transitory computer-readable media according to claim 14, wherein the database access service engine is independent of an application that generates the access request.
