IP Library › Granted Patent US 11,907,216
Granted Patent B2
US 11,907,216 · App. 17/525,792 · Granted Feb 20, 2024

Multi-language fusion query method and multi-model database system

Inventor: Minqi Zhou (Shanghai, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
G06F16/24542G06F16/2282
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,907,216
App. No.
17/525,792
Granted
Feb 20, 2024
Kind
B2
Abstract

A fusion query method and a multi-model database (MMDB) framework are provided, to add a capability of extending a foreign engine in a relational database engine and manage metadata of the foreign extensible engine by using a user table. This minimizes intrusion to the relational database engine, and implements dynamic loading and unloading of the foreign engine during runtime. Therefore, a maintenance interface and uniform data access to a multi-model database such as a relational database, a graph database, or a time series database are provided for a user, so that learning and use costs of operation and maintenance personnel and application development personnel are reduced, and security of data use is improved.

Claims (41)

1. A multi-model database management system, comprising a main execution engine, one or more extensible execution engines, and an adapter, wherein

the main execution engine is configured to:

receive a fusion query from a client, wherein the fusion query comprises a first type of query and a second type of query;

process the first type of query to obtain a first processing result; and

pass the second type of query to the adapter by using a first interface;

the adapter is configured to:

determine, based on metadata of the one or more extensible execution engines, a first extensible execution engine configured to process the second type of query, and a second interface corresponding to the first extensible execution engine; and

pass the second type of query to the first extensible execution engine by using the second interface;

the first extensible execution engine is configured to:

process the second type of query to obtain a second processing result; and

return the second processing result to the main execution engine by using the adapter; and

the main execution engine is further configured to:

generate a query result based on the first processing result and the second processing result; and

return the query result to the client,

wherein the metadata comprises information about an extensible execution engine supported by the multi-model database management system,

wherein the information about the extensible execution engine comprises: a type of the extensible execution engine, an address of a server on which one or more instances of the extensible execution engine are located, and interface information corresponding to the extensible execution engine.

2. The multi-model database management system according to claim 1 , wherein the second type of query is defined by a user-defined function (UDF).

3. The multi-model database management system according to claim 1 , wherein the first interface comprises at least one hook function; and the at least one hook function is associated with the UDF.

4. The multi-model database management system according to claim 1 , wherein the metadata is stored in a user table of the multi-model database management system.

5. The multi-model database management system according to claim 1 , wherein the main execution engine is a structured query language (SQL) engine, and the one or more extensible execution engines comprise at least one of a graph execution engine, a time series engine, or an approximate query engine.

6. The multi-model database management system according to claim 5 , wherein the first type of query is a structured query statement, the second type of query is a graph query statement, and the first extensible execution engine is a graph execution engine.

7. A database server, comprising a processor, a memory, and a computer program that is stored in the memory and executable by the processor, wherein when the processor executes the program the processer is configured to:

receive a fusion query submitted by a client, wherein the fusion query comprises a first type of query and a second type of query;

process, by using a main execution engine, the first type of query to obtain a first processing result;

determine, based on metadata, a first extensible execution engine configured to process the second type of query, and an interface corresponding to the first extensible execution engine wherein the metadata comprises information about an extensible execution engine supported by a multi-model database management system, and the information about the extensible execution comprises a type of the extensible executing engine and an address of a server on which one or more instances of the extensible execution engine are located;

pass, by using the interface, the second type of query to the first extensible execution engine;

process, by using the first extensible execution engine, the second type of query to obtain a second processing result; and

generate a query result based on the first processing result and the second processing result, and returning the query result to the client.

8. The database server according to claim 7 , wherein the second type of query is defined by a user-defined function (UDF).

9. The database server according to claim 7 , wherein the information about the extensible execution engine comprises interface information corresponding to the extensible execution engine; and an adapter is specifically configured to: query the metadata to determine a first engine instance of the first extensible execution engine and an interface corresponding to the first engine instance, and pass, by using the interface corresponding to the first engine instance, the second type of query to the first engine instance for processing.

10. The database server according to claim 7 , wherein the first type of query is a structured query statement, the second type of query is a graph query statement, and the first extensible execution engine is a graph execution engine.

11. A fusion query method, comprising:

receiving a fusion query submitted by a client, wherein the fusion query comprises a first type of query and a second type of query;

processing, by using a main execution engine, the first type of query to obtain a first processing result;

determining, based on metadata, a first extensible execution engine configured to process the second type of query, and an interface corresponding to the first extensible execution engine, wherein the metadata comprises information about an extensible execution engine supported by a multi-model database management system, and the information about the extensible execution engine comprises a type of the extensible execution engine and an address of a server on which one or more instances of the extensible execution engine are located;

passing, by using the interface, the second type of query to the first extensible execution engine;

processing, by using the first extensible execution engine, the second type of query to obtain a second processing result; and

generating a query result based on the first processing result and the second processing result, and returning the query result to the client.

12. The method according to claim 11 , wherein the second type of query is defined by a user-defined function (UDF).

13. The method according to claim 11 , wherein the information about the extensible execution engine comprises interface information corresponding to the extensible execution engine; and an adapter is specifically configured to: query the metadata to determine a first engine instance of the first extensible execution engine and an interface corresponding to the first engine instance, and pass, by using the interface corresponding to the first engine instance, the second type of query to the first engine instance for processing.

14. The method according to claim 11 , wherein the first type of query is a structured query statement, the second type of query is a graph query statement, and the first extensible execution engine is a graph execution engine.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2022
From: ZHOU, MINQI
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 061984/0372 →
Priority Claims (1)
CN 201910403857.0 · May 15, 2019 · national
Continuity (2)
Continuation PCTCN2020090393 · May 15, 2020
Related Publication 20220075780A1 · Mar 10, 2022