CN114443699A - Information query method and device, computer equipment and computer readable storage medium - Google Patents

Information query method and device, computer equipment and computer readable storage medium Download PDF

Info

Publication number
CN114443699A
CN114443699A CN202210099919.5A CN202210099919A CN114443699A CN 114443699 A CN114443699 A CN 114443699A CN 202210099919 A CN202210099919 A CN 202210099919A CN 114443699 A CN114443699 A CN 114443699A
Authority
CN
China
Prior art keywords
query
sub
data
tasks
task
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210099919.5A
Other languages
Chinese (zh)
Inventor
范晓亮
蒋杰
杨昱睿
刘煜宏
陈鹏
陶阳宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210099919.5A priority Critical patent/CN114443699A/en
Publication of CN114443699A publication Critical patent/CN114443699A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24535Query rewriting; Transformation of sub-queries or views
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages

Abstract

The application discloses an information query method, an information query device, computer equipment and a computer readable storage medium. The method comprises the steps of obtaining a query task; splitting the query tasks to obtain a first number of first sub-query tasks and a second number of second sub-query tasks, wherein the first sub-query tasks are based on a single database, and the second sub-query tasks are based on at least two databases; executing the first sub-query task by adopting a first execution engine, executing the second sub-query task by adopting a second execution engine, and isolating data among databases related to the second sub-query task when the second execution engine executes the second sub-query task; and determining a query result corresponding to the query task according to the execution result of the sub-query task. The method can greatly improve the efficiency of information inquiry on the basis of ensuring data safety.

Description

Information query method and device, computer equipment and computer readable storage medium
Technical Field
The present application relates to the field of computer technologies, and in particular, to an information query method, an information query apparatus, a computer device, and a computer-readable storage medium.
Background
In recent years, internet technology is rapidly developed, so that the cost for acquiring information is greatly reduced, and the society enters a big data era of knowledge explosion.
In the big data era, various data query means can be adopted to search the needed information in various databases. Structured Query Language (SQL) is a database Language with multiple functions of data manipulation and data definition, and the Language has the characteristic of interactivity, and can provide great convenience, and a database management system can fully utilize the SQL Language to improve the working quality and efficiency of a computer application system.
At present, in order to ensure the security of data use, when information query across databases is involved, a closed domain method is generally adopted to store the information in the involved databases into the closed domain for query operation. When the query result needs to be exported, further auditing is needed, and the query result can be exported after the auditing is passed. This approach results in a very inefficient query of security information.
Disclosure of Invention
The embodiment of the application provides an information query method, an information query device, a computer readable storage medium and computer equipment.
A first aspect of the present application provides an information query method, where the method includes:
acquiring a query task;
splitting the query task to obtain a first number of first sub-query tasks and a second number of second sub-query tasks, wherein the first sub-query tasks are query tasks based on a single database, and the second sub-query tasks are query tasks based on at least two databases;
executing the first sub-query task by adopting a first execution engine, executing the second sub-query task by adopting a second execution engine, and isolating data among databases related to the second sub-query task when the second execution engine executes the second sub-query task;
and determining a query result corresponding to the query task according to the execution result of the sub-query task.
Accordingly, a second aspect of the present application provides an information query apparatus, comprising:
the acquisition unit is used for acquiring the query task;
the splitting unit is used for splitting the query tasks to obtain a first number of first sub-query tasks and a second number of second sub-query tasks, wherein the first sub-query tasks are query tasks based on a single database, and the second sub-query tasks are query tasks based on at least two databases;
the execution unit is used for executing the first sub-query task by adopting a first execution engine and executing the second sub-query task by adopting a second execution engine, and when the second execution engine executes the second sub-query task, data among databases related to the second sub-query task are isolated;
and the determining unit is used for determining the query result corresponding to the query task according to the execution result of the sub-query task.
In some embodiments, the splitting unit comprises:
the first acquisition subunit is used for acquiring the query data contained in the query task;
and the analysis subunit is used for performing semantic analysis on the query data and splitting the query task into a first number of first sub-query tasks and a second number of second sub-query tasks according to a semantic analysis result.
In some embodiments, the analysis subunit comprises:
the analysis module is used for analyzing the query data to obtain a syntax tree corresponding to the query data;
the segmentation module is used for segmenting the syntax tree to obtain a plurality of sub-query data;
the detection module is used for detecting the sub-query data, generating a second sub-query task according to the sub-query data when the sub-query data meet the preset classification condition, and generating a first sub-query task according to the sub-query data when the sub-query data do not meet the preset classification condition.
In some embodiments, the detection module comprises:
the first generation sub-module is used for generating a second sub-query task according to the sub-query data when an operator for cross-database query exists in the sub-query data;
and the second generation sub-module is used for generating the first sub-query task according to the sub-query data when the sub-query data does not have the operator of the cross-database query.
In some embodiments, the parsing module comprises:
the identification submodule is used for identifying a query operator and a data object in the query data;
and the construction sub-module is used for constructing a syntax tree by taking the query operator as a non-leaf node and the data object as a leaf node.
In some embodiments, the information query apparatus provided in the present application further includes:
the second acquiring subunit is used for acquiring the logical relationship among the sub-query tasks according to the query data;
the determining unit is further configured to:
and determining a query result corresponding to the query task according to the execution result of the sub-query task and the logic relationship.
In some embodiments, the determining unit includes:
the generating subunit is used for generating a graph network of the sub-query task according to the logical relationship;
and the execution subunit is used for executing each sub-query task according to the graph network sequence to obtain a query result corresponding to the query task.
In some embodiments, the generating subunit includes:
the acquisition module is used for acquiring the execution sequence among the sub-query tasks from the logical relationship;
and the generating module is used for generating the graph network of the sub-query tasks by taking each sub-query task as a node and taking the execution sequence as an edge.
The third aspect of the present application further provides a computer-readable storage medium, which stores a plurality of instructions, where the instructions are suitable for being loaded by a processor to perform the steps in the information query method provided in the first aspect of the present application.
A fourth aspect of the present application provides a computer device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor executes the computer program to implement the steps in the information query method provided in the first aspect of the present application.
A fifth aspect of the present application provides a computer program product comprising a computer program/instructions, which when executed by a processor, implement the steps in the information query method provided by the first aspect.
According to the information query method provided by the embodiment of the application, the query task is acquired; splitting the query tasks to obtain a first number of first sub-query tasks and a second number of second sub-query tasks, wherein the first sub-query tasks are based on a single database, and the second sub-query tasks are based on at least two databases; executing the first sub-query task by adopting a first execution engine, executing the second sub-query task by adopting a second execution engine, and isolating data among databases related to the second sub-query task when the second execution engine executes the second sub-query task; and determining a query result corresponding to the query task according to the execution result of the sub-query task.
Therefore, the information query method provided by the application can divide the query task into the single-party sub-query task only related to one database and the multi-party sub-query task related to a plurality of databases, and for the multi-party sub-query task related to the plurality of databases, the multi-party sub-query task is processed by adopting the data isolation safety query execution engine, so that the related data of the plurality of databases do not need to be transferred to a closed domain for query, and the efficiency of information query can be greatly improved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained according to the drawings without creative efforts.
FIG. 1 is a schematic diagram of a scenario of information query in the present application;
FIG. 2 is a schematic flow chart of an information query method provided by the present application;
FIG. 3 is another schematic flow chart diagram of the information query method provided by the present application;
FIG. 4A is a schematic diagram of an abstract syntax tree for an SQL query statement;
FIG. 4B is a schematic diagram of a directed acyclic graph of SQL query statements;
FIG. 5 is a schematic structural diagram of an information query device provided in the present application;
fig. 6 is a schematic structural diagram of a computer device provided in the present application.
Detailed Description
The technical solution in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. It is to be understood that the described embodiments are merely exemplary of the invention, and not restrictive of the full scope of the invention. All other embodiments obtained without inventive work based on the embodiments of the present invention belong to the scope of protection of the present invention.
The embodiment of the invention provides an information query method, an information query device, computer equipment and a computer readable storage medium. The information inquiry method can be used in an information inquiry device. The information inquiry device can be integrated in a computer device, and the computer device can be a terminal or a server. The terminal can be a mobile phone, a tablet computer, a notebook computer, an intelligent television, a wearable intelligent device, a desktop computer, a vehicle-mounted terminal and other devices. The server may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing basic cloud computing services such as cloud service, a cloud database, cloud computing, a cloud function, cloud storage, Network service, cloud communication, middleware service, domain name service, security service, Network acceleration service (CDN), big data, and the like. Wherein a server may be a node in a blockchain.
Please refer to fig. 1, which is a schematic view of a scene of an information query method provided in the present application. As shown in the figure, the server a receives an inquiry task sent by the terminal B, and then the server a splits the inquiry task into a plurality of sub-tasks, where the plurality of sub-tasks include a first number of first sub-inquiry tasks and a second number of second sub-inquiry tasks. The first sub-query task is a query task based on a single database, and the second sub-query task is a query task based on at least a Ligang database. Then, the server a executes the first sub-query task using the first execution engine, and executes the second sub-query task using the second execution engine. And when the second execution engine is adopted to execute the second sub-query task, the data between the databases related to the second sub-query task are isolated. Then, the query result of the query task is determined according to the execution result of the sub-query task. Further, the server a may transmit the query result of the query task to the terminal B.
It should be noted that the information query scenario diagram shown in fig. 1 is only an example, and the information query scenario described in the embodiment of the present application is for more clearly illustrating the technical solution of the present application, and does not constitute a limitation on the technical solution provided by the present application. With the evolution of information query scenes and the appearance of new service scenes, the technical scheme provided by the application is also applicable to similar technical problems.
Based on the above-described implementation scenarios, detailed descriptions will be given below.
In the related art, when a data query task involves multiple databases, in order to ensure the security of data in each database, data in the multiple databases often needs to be transferred to a closed domain for query. After the query task is completed, the query result needs to be further checked, and the result can be queried everywhere after the check is passed, so that the query efficiency of the safety query task across the database is very low. The application provides an information query method which can improve the query efficiency of information query in a targeted manner.
Embodiments of the present application will be described in terms of an information query device, which may be integrated in a computer device. The computer device may be a terminal or a server. The terminal can be a mobile phone, a tablet computer, a notebook computer, an intelligent television, a wearable intelligent device, a desktop computer, a vehicle-mounted terminal and other devices. The server may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing basic cloud computing services such as cloud service, a cloud database, cloud computing, a cloud function, cloud storage, Network service, cloud communication, middleware service, domain name service, security service, Network acceleration service (CDN), big data, and the like. As shown in fig. 2, a schematic flow chart of an information query method provided by the present application is shown, where the method includes:
step 101, obtaining a query task.
The query task may be a query task received from another terminal, or a query task generated according to input query data.
The Query data may be Structured Query Language (SQL). SQL is a special purpose programming language, a database query and programming language, used to access data and query, update, and manage relational database systems. Structured query languages are non-procedural programming languages that allow users to work on high-level data structures. It does not require specifying the method of storing data and knowing the specific data storage mode, so that different database systems with completely different underlying structures can use the same structured query language as the interface for data input and management. The structured query language statements can be nested, which allows for great flexibility and powerful functionality. SQL can be functionally divided into 3 parts: data definition, data manipulation, and data control.
In the related art, when the SQL query task is executed, a single execution engine is often used to execute the SQL query task. When receiving the input SQL query data, the input SQL query data is directly input to a proper execution engine to execute the query task, and then the query result output by the execution engine is received. In the conventional SQL query task, data query is generally performed in one database, and an execution engine that performs data query only in one database may be referred to as a conventional SQL execution engine. In particular, for example, the relational database management system (MySQL) is a typical conventional SQL execution engine. Relational databases maintain data in different tables rather than placing all data in one large repository, which increases speed and flexibility. However, since the conventional SQL execution engine can only execute the query task in one database, the candidate data needs to be unloaded to the same database for query before the query task is executed. For example, when the query task involves data in both database a and database B, the data in any database needs to be transferred to another database for summarization, and then the query task is executed in the database containing summarized data, which may decrease the query efficiency.
The Database (Database) can be regarded as an electronic file cabinet, namely a place for storing electronic files, and a user can add, query, update, delete and the like to the data in the files. A "database" is a collection of data that is stored together in a manner that can be shared by multiple users, has as little redundancy as possible, and is independent of the application.
A Database Management System (DBMS) is a computer software System designed for managing a Database, and generally has basic functions of storage, interception, security assurance, backup, and the like. The database management system may classify the database according to the database model it supports, such as relational, XML (Extensible Markup Language); or classified according to the type of computer supported, e.g., server cluster, mobile phone; or sorted according to the Query Language used, such as SQL (Structured Query Language), XQuery, or sorted according to performance impulse emphasis, such as max size, maximum operating speed, or other sorting.
Moreover, in some cases, due to data security considerations, such as data protection regulations and competition in business interests, data isolation between different databases is required to avoid data leakage, which also results in a "data islanding" situation. For example, the database a stores all data related to a certain game, including player information, character information, item information, play information, and the like; the database B stores all data related to a certain instant messaging application, such as data of friend information, function information, and communication record information. It is understood that when the user information and other related data are used, the user permission or consent needs to be obtained, and the collection, use and processing of the related data are required to comply with the relevant laws and regulations and standards of the relevant country and region. Because the data in the database A and the database B can not be shared with each other, if the operation of the game by the player in the instant messaging application needs to be analyzed and the data in the two databases needs to be used, the traditional SQL execution engine can not complete the task.
Therefore, data in different databases cannot be transferred to the same database for query or can only be transferred to a closed domain for query. After the traditional SQL execution engine is adopted to execute the query task in the closed domain, when the query result needs to be output, further application needs to be submitted, and the query result is output after being checked by a corresponding reviewer, so that the query efficiency is greatly influenced. In this regard, a federated secure SQL execution engine that can cross databases and safely execute query tasks may be developed on a targeted basis. The Federal safety SQL execution engine is based on a safety joint analysis technology, independent tasks are respectively started locally in the Federal safety SQL execution engine to jointly complete Federal table connection, and the independent tasks are guaranteed to be incapable of reversely deducing detailed data of the other party from the data through a method of interacting intermediate data or encrypting the data.
The federal safety SQL execution engine can solve the problem of data island and execute safety query tasks between databases, however, the federal safety SQL execution engine needs to operate certain algorithms to encrypt data and the like due to the need of guaranteeing data isolation between databases, and thus, the query efficiency of the query tasks is reduced.
Step 102, splitting the query task to obtain a first number of first sub-query tasks and a second number of second sub-query tasks.
In the embodiment of the application, after the query task is obtained, the adaptive single SQL execution engine is not directly called to execute the query task as a whole, but the query task may be split into a plurality of sub-query tasks, each sub-query task is then executed, and the query results of the sub-query tasks are integrated to determine the final query result of the query task. The sub-query tasks may include a first number of first sub-query tasks and a second number of second sub-query tasks. The first sub-query task may be a query task based on a single database, and may also be referred to as a single-side sub-query; the second sub-query task may be a query task based on at least two databases and may be referred to as a federated sub-query. The sub-query may be a query block, and in the SQL language, a SELECT-FROM-WHERE statement is referred to as a query block.
The first number and the second number may be 0 or positive integers, but the first number and the second number are not 0 at the same time.
In some embodiments, splitting the query task to obtain a first number of first sub-query tasks and a second number of second sub-query tasks includes:
1. acquiring query data contained in a query task;
2. and performing semantic analysis on the query data, and splitting the query task into a first number of first sub-query tasks and a second number of second sub-query tasks according to a semantic analysis result.
In the embodiment of the present application, when the information query device obtains the query task, the input SQL query data may be extracted from the query task. Because the SQL query data is a structured query language written according to a certain format, the query data includes a plurality of special words related to the query, such as SELECT (SELECT), UNION (UNION), JOIN (JOIN), and the like. The information inquiry apparatus may perform semantic analysis on the input inquiry data based on the dedicated words, wherein the semantic analysis includes lexical analysis and syntactic analysis. The lexical analysis is to perform word segmentation on the SQL query statement, and the syntactic analysis is to perform syntactic analysis on word segmentation results to obtain corresponding classes. The parsing can be realized by using a Language Recognition Tool ANLTR, which is an open source parser and is generally called the other Tool For Language Recognition. The query task may then be further split into a first number of first sub-queries and a second number of second sub-queries based on the results of the semantic analysis.
In some embodiments, performing semantic analysis on the query data, and splitting the query task into a first number of first sub-query tasks and a second number of second sub-query tasks according to a result of the semantic analysis includes:
2.1, analyzing the query data to obtain a syntax tree corresponding to the query data;
2.2, segmenting the syntax tree to obtain a plurality of sub query data;
and 2.3, detecting the plurality of sub-query data, generating a second sub-query task according to the sub-query data when the sub-query data meet the preset classification condition, and generating a first sub-query task according to the sub-query data when the sub-query data do not meet the preset classification condition.
In the embodiment of the present application, semantic analysis is performed on input query data to obtain a Syntax Tree corresponding to the query data, and specifically, the Syntax Tree may be an Abstract Syntax Tree (AST). The semantic analysis is performed on the input query data to obtain a corresponding syntax tree, which can be realized by adopting the language recognition tool ANLTR, and the ANLTR can automatically generate the syntax tree according to the input query data and visually display the syntax tree.
When a single execution engine is used for executing the query task, after the grammar number corresponding to the query data is generated, the execution engine can traverse the grammar tree to generate a corresponding logic plan, and then further generate a physical plan and execute the physical plan to execute the query task. In the embodiment of the present application, the syntax tree corresponding to the query data needs to be further segmented to obtain a plurality of branches, that is, a plurality of sub-query data are obtained, where each sub-query data corresponds to one sub-query task. And then classifying the sub-query data into data corresponding to the single-party sub-query and data corresponding to the federal sub-query. And further, generating corresponding single-side sub-query and federal sub-query according to the sub-query data.
In some embodiments, parsing the query data to obtain a syntax tree corresponding to the query data includes:
2.1.1, identifying query operators and data objects in query data;
2.1.2, constructing a syntax tree by taking the query operator as a non-leaf node and taking the data object as a leaf node.
As mentioned above, the SQL query data is a structured query language written according to a certain format, and the query data includes a plurality of special words related to the query, such as SELECT (SELECT), UNION (UNION), JOIN (JOIN), and the like. In the embodiment of the present application, the special terms may be determined as query operators. Further, the SQL language includes, in addition to the query operator, a data object of the query, which may be an identifier (e.g., table ID) of a specific data table. In the embodiment of the application, when the syntax tree corresponding to the query data is constructed, the syntax tree corresponding to the query data can be created by taking the query operator as a non-leaf node and taking the data object as a leaf node. Wherein, the non-leaf node is a node except the leaf node in the syntax tree.
In some embodiments, detecting the plurality of sub-query data, generating a second sub-query task according to the sub-query data when the sub-query data satisfies a preset classification condition, and generating a first sub-query task according to the sub-query data when the sub-query data does not satisfy the preset classification condition includes:
2.3.1, when an operator for cross-database query exists in the sub-query data, generating a second sub-query task according to the sub-query data;
2.3.2, when the sub-query data does not have the operator of the cross-database query, generating a first sub-query task according to the sub-query data.
In the embodiment of the present application, a method for detecting whether an operator for cross-database query exists in sub-query data may be adopted to determine whether a sub-query task corresponding to the sub-query data is a single-party sub-query or a federal sub-query. Specifically, when an operator for cross-database query exists in the sub-query data, the query task corresponding to the sub-query data can be determined to be a federal sub-query, that is, the second sub-query task, can be generated according to the sub-query data. On the contrary, if the sub-query data does not have the operator of the cross-database query, a single-party sub-query, namely the first sub-query task, is generated according to the sub-query data.
In some embodiments, after detecting that sub-query data includes an operator of cross-database query, it cannot be determined that a sub-query task corresponding to the sub-query data is a federated sub-query, and it is further required to detect whether the query operator accesses multiple tables across sources, and if the detection determines that the query operator accesses multiple tables across sources, it is determined that the sub-query task corresponding to the sub-query data is a federated sub-query; otherwise (namely the query operator does not access multiple tables across sources), determining that the sub-query task corresponding to the sub-query data is single-side sub-query.
And 103, executing the first sub-query task by adopting the first execution engine, and executing the second sub-query task by adopting the second execution engine.
After the information query device splits the query task into a first number of first sub-query tasks and a second number of second sub-query tasks, the first sub-query tasks and the second sub-query tasks can be executed by adopting different execution engines. Specifically, it can be known from the foregoing description that the first sub-query task is a single-side sub-query, and the second sub-query task is a federal sub-query. The first execution engine executing the first sub-query task may be the conventional SQL execution engine and the second execution engine executing the second sub-query task may be the federally safe SQL execution engine.
Therefore, the unilaterally sub-query and the federal sub-query in the query task are divided, so that query logic related to local operation can be encapsulated into unilaterally sub-queries as much as possible, and then the unilaterally sub-queries are handed to the existing traditional SQL execution engine for processing. Therefore, the capability of the traditional SQL execution engine can be reused, the query workload is reduced (security processing such as encryption and the like on related data is not needed), and the development efficiency and the information query efficiency can be improved. Moreover, the whole query task is divided into a plurality of sub-query tasks, the execution engines can be decoupled, and the most suitable execution engine can be adopted for each sub-query task to execute the query task, so that the information query efficiency can be further improved.
And step 104, determining a query result corresponding to the query task according to the execution result of the sub-query task.
After the execution result of each sub-query task is obtained, the query result corresponding to the query task can be further generated according to the execution result of the sub-query task.
In some embodiments, the information query method provided by the present application further includes:
1. acquiring a logic relation between the sub-query tasks according to the query data;
determining a query result corresponding to the query task according to the execution result of the sub-query task, wherein the query result comprises:
2. and determining the query result corresponding to the query task according to the execution result of the sub-query task and the logic relationship.
In the embodiment of the present application, the query task includes not only the plurality of sub-query tasks obtained by splitting, but also a logical relationship between the sub-query tasks. After obtaining the execution result of each sub-query task executed by the corresponding SQL execution engine, the execution results of each sub-query task may be fused according to the logical relationship between the sub-query tasks to obtain the query result of the query task.
In some embodiments, determining the query result corresponding to the query task according to the execution result of the sub-query task and the logical relationship includes:
2.1, generating a graph network of the sub-query tasks according to the logical relation;
2.2, executing each sub-query task according to the graph network sequence to obtain a query result corresponding to the query task.
In the embodiment of the present application, after the logical relationship between the sub-query tasks is obtained, a graph network of the sub-query tasks may be generated according to the logical relationship between the sub-query tasks. Here, the graph network may be a Directed Acyclic Graph (DAG). In mathematics, particularly graph theory and computer science, the directed acyclic graph refers to a loop-free directed graph, and the partial order relation of the directed acyclic graph can play a role in scheduling system tasks with precedence restriction. The directed acyclic graph of the sub-query tasks may include a plurality of sub-views, and when the query tasks are executed, each sub-view in the directed acyclic graph may be traversed, and each sub-query task is executed according to the flow direction sequence of the nodes in the sub-views, so as to obtain a query result corresponding to the query task.
In some embodiments, generating a graph network of sub-query tasks from logical relationships includes:
2.1.1, acquiring an execution sequence among the sub-query tasks from the logical relationship;
2.1.2, generating the graph network of the sub-query tasks by taking each sub-query task as a node and taking the execution sequence as an edge.
In the embodiment of the present application, after the query task is split into a plurality of sub-query tasks and the logical relationships between the sub-query tasks are obtained, the execution sequence of the sub-query tasks can be determined from the logical relationships between the sub-query tasks. The graph network of sub-query tasks may then be constructed with the sub-query tasks as nodes of the graph network, with the order of execution between the sub-query tasks being edges of the graph network.
According to the above description, the information query method provided in the embodiment of the present application obtains the query task; splitting the query tasks to obtain a first number of first sub-query tasks and a second number of second sub-query tasks, wherein the first sub-query tasks are based on a single database, and the second sub-query tasks are based on at least two databases; executing the first sub-query task by adopting a first execution engine, executing the second sub-query task by adopting a second execution engine, and isolating data among databases related to the second sub-query task when the second execution engine executes the second sub-query task; and determining a query result corresponding to the query task according to the execution result of the sub-query task.
Therefore, the information query method provided by the application can divide the query task into the single-party sub-query task only related to one database and the multi-party sub-query task related to a plurality of databases, and for the multi-party sub-query task related to the plurality of databases, the multi-party sub-query task is processed by adopting the data isolation safety query execution engine, so that the related data of the plurality of databases do not need to be transferred to a closed domain for query, and the efficiency of information query can be greatly improved.
The application also provides an information query method, which can be used in computer equipment, wherein the computer equipment can be a terminal or a server. As shown in fig. 3, another schematic flow chart of the information query method provided by the present application is provided, where the method specifically includes:
in step 201, a computer device receives input SQL data.
For the traditional SQL execution engine, the common ways of connecting the two tables T1 and T2 include Join (Join), Union (Union), and implicit table Join. As shown in table 1 below, are examples of different connection means.
Connection mode Examples of such applications are
Join Select max(T1.count)from T1 join T2 on T1.id=T2.id
Union (Select*from T1)Union(Select*from T2)
Implicit watch connection Select max(T1.count)from T1,T2 where T1.id=T2.id
Table 1 example table of connection mode
Moreover, the traditional SQL execution engine needs two tables to be stored in the same database at the same time to execute the corresponding query task, and if the two tables T1 and T2 belong to different databases respectively, and the data between the two databases is sensitive, and the plaintext data cannot be directly synchronized to the other side, in this case, the traditional SQL execution engine cannot solve the problem of federate table connection, and the federal safety SQL execution engine needs to be adopted to execute the relevant query task. Specifically, the Federal Security SQL enforcement engine may be PowerFL-SQL (a Federal Security SQL enforcement engine).
The Federal safety SQL execution engine, namely a safety joint analysis technology, is a safety SQL execution engine based on calculation, and can solve the problem of data analysis in a 'data island' scene. Under a federal table connection scene, independent tasks are started locally respectively to complete federal table connection together. The independent tasks exchange intermediate data or encrypt data, and detailed data of the other party cannot be deduced from the data.
Different implementation modes are available for safe Join, safe Union, safe implicit table connection and other safe operations in the federal scene. For example, secure Join or secure implicit table Join may be implemented based on a secure Set interaction (PSI). PSI means that the two parties obtain the intersection of the data held by the two parties under the condition that no additional information is leaked. Herein, the additional information refers to any information other than the data intersection of both parties. The secure Uinon may be implemented based on a secure set solving (PSU) union, which means that both parties get a union of data held by both parties without revealing any additional information.
The information query method mainly provides a safety joint analysis scheme based on sub-query. The scheme mainly focuses on security operators needing federatization, such as security Join, security implicit table connection, security Union and the like. For operators that do not require federation, the capabilities of existing traditional SQL execution engines can be reused. Therefore, it is necessary to package the logic related to the local operation as a single-side query as much as possible, and to give the single-side query to the traditional SQL execution engine for processing. The unilateral sub-query can not only reuse the capability of the traditional SQL execution engine, reduce unnecessary workload, improve development efficiency and service capability, but also decouple the execution engine, so that different sub-queries can be executed by adopting the adaptive execution engine, and the query efficiency is improved.
In the embodiment of the present application, the input SQL query data may include both a single query operator and a federal query operator.
Step 202, the computer device parses the SQL data and generates an abstract syntax tree according to the parsing result.
After receiving the input SQL statement, the computer equipment analyzes the SQL data. The SQL data analysis comprises lexical analysis and syntactic analysis, and the lexical analysis carries out word segmentation on the input SQL sentences to obtain word segmentation results. And then, processing the word segmentation result by adopting syntactic analysis to obtain an abstract syntax tree corresponding to the SQL statement. The abstract syntax tree corresponding to the SQL sentence obtained by processing the segmentation result can be realized by adopting a language recognition tool ANLTR, and the ANLTR can automatically generate the syntax tree according to the input SQL sentence and visually display the syntax tree. Fig. 4A is a schematic diagram of an abstract syntax tree corresponding to an SQL query statement provided in the present application. Wherein, non-leaf nodes such as Select, express, Count, etc. represent query operators in the SQL statement, or are called keywords or reserved characters in the SQL statement. The leaf nodes pa.ta.id, pb.tb.id, etc. represent data objects, and may be different tables, such as the aforementioned T1 and T2, or may be field names, numerical values, or character strings.
Step 203, the computer device segments the abstract syntax tree to obtain a plurality of single-party subqueries and a plurality of federal subqueries.
After the abstract syntax tree corresponding to the input SQL query statement is generated, the abstract syntax tree can be divided according to a certain division rule to obtain two types of sub-queries. One of the two types of sub-queries is a single-side sub-query, and the other type of sub-query is a federal sub-query. The method for distinguishing whether the sub-query is a single sub-query or a federal sub-query specifically includes detecting whether the sub-query includes a federal operator; if the sub-query contains the federating operator, whether the federating operator accesses multiple data tables across sources is further detected. If the federated operators in the sub-query have cross-source access to multiple data tables, the sub-query can be determined to be a federated sub-query. If the sub-query does not satisfy any of the two conditions, the sub-query is determined to be a one-side sub-query.
After the abstract syntax tree is divided to obtain a plurality of single-party subqueries and a plurality of federal subqueries, the single-party subqueries and the federal subqueries are packaged independently.
And step 204, the computer device connects a plurality of single sub-queries and a plurality of federal sub-queries in series to form a directed acyclic graph according to the logical relationship among the sub-queries in the abstract syntax tree.
A certain dependency relationship exists among a plurality of sub-queries obtained by dividing an abstract syntax tree of an input SQL query statement. The dependency relationship is an execution logic relationship between different sub-queries, the execution logic relationship between different sub-queries is used as an edge of the graph network, and the graph network corresponding to the input SQL query statement can be generated by using different sub-queries as nodes of the graph network. Wherein the graph network may be a directed acyclic graph. The directed acyclic graph may include a plurality of sub-views, and as shown in fig. 4B, a schematic diagram of a sub-view of the directed acyclic graph is provided for the present application, where the sub-queries serve as nodes, and dependency relationships between the sub-queries serve as edges. In this child view, four single-side child queries are included: a first single-party subquery 10, a second single-party subquery 20, a third single-party subquery 40, and a fourth single-party subquery 50; also included is a federated sub-query: a first federal sub-query 30. Wherein the first single-party subquery 10 depends on the second single-party subquery 20, the second single-party subquery 20 depends on the first federated subquery 30, and the first federated subquery 30 depends on the third single-party subquery 40 and the fourth single-party subquery 50.
In step 205, the computer device traverses the directed acyclic graph to execute a query task corresponding to the SQL data.
After the directed acyclic graph corresponding to the input SQL query statement is constructed, each sub-view in the directed acyclic graph can be traversed to execute the query task. Wherein the execution step of the sub-query can be determined according to the dependency relationship in the sub-view. For example, in the sub-view shown in fig. 4B, the third and fourth unilateral sub-queries 40 and 50 are executed first, then the first federated sub-query 30 is executed, then the second unilateral sub-query 20 is executed, and finally the first unilateral sub-query 10 is executed.
In step 206, when the unilaterally sub-query is executed, the computer device executes the query task by using the conventional SQL execution engine.
Wherein, when traversing each sub-view in the directed acyclic graph to execute the query task. If the sub-query task to be executed is a single-side sub-query, the conventional SQL execution engine is adopted to execute the sub-query task.
And step 207, when the federated sub-query is executed, executing the query task by the computer equipment by adopting a federated security SQL execution engine.
When the sub-query task needing to be executed is the federal sub-query, the sub-query task is executed by adopting a federal safety SQL execution engine.
At step 208, the computer device determines query results based on the results of the execution of the sub-queries.
After all the sub-views in the directed acyclic graph are traversed and the execution result corresponding to each sub-view is obtained, the query result corresponding to the input SQL query statement can be determined according to the execution result of each sub-view. The query result is then output.
Therefore, the information query method provided by the application acquires the query task; splitting the query tasks to obtain a first number of first sub-query tasks and a second number of second sub-query tasks, wherein the first sub-query tasks are based on a single database, and the second sub-query tasks are based on at least two databases; executing the first sub-query task by adopting a first execution engine, executing the second sub-query task by adopting a second execution engine, and isolating data among databases related to the second sub-query task when the second execution engine executes the second sub-query task; and determining a query result corresponding to the query task according to the execution result of the sub-query task.
According to the sub-query-based security data analysis method, the input SQL is automatically segmented, one complete SQL is segmented into a plurality of sub-queries, the sub-queries comprise single-party sub-queries and federal sub-queries, and then the sub-queries are respectively handed to a traditional SQL execution engine and a federal security SQL execution engine. SQL can be automatically converted into a sub-query DAG, so that the federal capability of a safe SQL execution engine is applied, and the unilateral query capability of a traditional SQL execution engine is reused. The efficiency of information inquiry is promoted.
Therefore, the information query method provided by the application can divide the query task into the single-party sub-query task only related to one database and the multi-party sub-query task related to a plurality of databases, and for the multi-party sub-query task related to the plurality of databases, the multi-party sub-query task is processed by adopting the data isolation safety query execution engine, so that the related data of the plurality of databases do not need to be transferred to a closed domain for query, and the efficiency of information query can be greatly improved.
In order to better implement the method, the embodiment of the application also provides an information inquiry device, and the information inquiry device can be integrated in a terminal or a server.
For example, as shown in fig. 5, which is a schematic structural diagram of an information query apparatus provided in an embodiment of the present application, the information query apparatus may include an obtaining unit 301, a splitting unit 302, an executing unit 303, and a determining unit 304, as follows:
an obtaining unit 301, configured to obtain a query task;
the splitting unit 302 is configured to split the query tasks to obtain a first number of first sub-query tasks and a second number of second sub-query tasks, where the first sub-query tasks are query tasks based on a single database, and the second sub-query tasks are query tasks based on at least two databases;
the execution unit 303 is configured to execute the first sub-query task by using a first execution engine, execute the second sub-query task by using a second execution engine, and isolate data between databases associated with the second sub-query task when the second execution engine executes the second sub-query task;
the determining unit 304 is configured to determine a query result corresponding to the query task according to the execution result of the sub-query task.
In some embodiments, a splitting unit comprises:
the first acquisition subunit is used for acquiring query data contained in the query task;
and the analysis subunit is used for performing semantic analysis on the query data and splitting the query task into a first number of first sub-query tasks and a second number of second sub-query tasks according to a semantic analysis result.
In some embodiments, an analysis subunit, comprising:
the parsing module is used for parsing the query data to obtain a syntax tree corresponding to the query data;
the segmentation module is used for segmenting the grammar tree to obtain a plurality of sub query data;
the detection module is used for detecting the sub-query data, generating a second sub-query task according to the sub-query data when the sub-query data meet the preset classification condition, and generating a first sub-query task according to the sub-query data when the sub-query data do not meet the preset classification condition.
In some embodiments, the detection module comprises:
the first generation sub-module is used for generating a second sub-query task according to the sub-query data when an operator for cross-database query exists in the sub-query data;
and the second generation sub-module is used for generating the first sub-query task according to the sub-query data when the sub-query data does not have the operator of the cross-database query.
In some embodiments, a parsing module, comprises:
the identification submodule is used for identifying a query operator and a data object in query data;
and the construction sub-module is used for constructing a syntax tree by taking the query operator as a non-leaf node and taking the data object as a leaf node.
In some embodiments, the information query apparatus provided in the present application further includes:
the second acquiring subunit is used for acquiring the logical relationship among the sub-query tasks according to the query data;
a determination unit further configured to:
and determining the query result corresponding to the query task according to the execution result of the sub-query task and the logic relationship.
In some embodiments, the determining unit comprises:
the generating subunit is used for generating a graph network of the sub-query task according to the logical relationship;
and the execution subunit is used for executing each sub-query task according to the graph network sequence to obtain a query result corresponding to the query task.
In some embodiments, generating the sub-unit comprises:
the acquisition module is used for acquiring the execution sequence among the sub-query tasks from the logical relationship;
and the generating module is used for generating the graph network of the sub-query tasks by taking each sub-query task as a node and taking the execution sequence as an edge.
In a specific implementation, the above units may be implemented as independent entities, or may be combined arbitrarily to be implemented as the same or several entities, and the specific implementation of the above units may refer to the foregoing method embodiments, which are not described herein again.
As can be seen from the above description, in the information query apparatus provided in the embodiment of the present application, the obtaining unit 301 obtains the query task; splitting the query tasks to obtain a first number of first sub-query tasks and a second number of second sub-query tasks, wherein the first sub-query tasks are based on a single database, and the second sub-query tasks are based on at least two databases; executing the first sub-query task by adopting a first execution engine, executing the second sub-query task by adopting a second execution engine, and isolating data among databases related to the second sub-query task when the second execution engine executes the second sub-query task; and determining a query result corresponding to the query task according to the execution result of the sub-query task.
Therefore, the information query method provided by the application can divide the query task into the single-party sub-query task only related to one database and the multi-party sub-query task related to a plurality of databases, and for the multi-party sub-query task related to the plurality of databases, the multi-party sub-query task is processed by adopting the data isolation safety query execution engine, so that the related data of the plurality of databases do not need to be transferred to a closed domain for query, and the efficiency of information query can be greatly improved.
An embodiment of the present application further provides a computer device, where the computer device may be a terminal or a server, and as shown in fig. 6, is a schematic structural diagram of the computer device provided in the present application. Specifically, the method comprises the following steps:
the computer device may include components such as a processing unit 401 of one or more processing cores, a storage unit 402 of one or more storage media, a power module 403, and an input module 404. The computer device architecture shown in fig. 6 is not intended to be limiting of computer devices and may include more or fewer components than those shown, or some of the components may be combined, or a different arrangement of components. Wherein:
the processing unit 401 is a control center of the computer device, connects respective parts of the entire computer device with various interfaces and lines, and executes various functions of the computer device and processes data by running or executing software programs and/or modules stored in the storage unit 402 and calling data stored in the storage unit 402. Optionally, the processing unit 401 may include one or more processing cores; preferably, the processing unit 401 may integrate an application processor, which mainly handles operating systems, usage interfaces, application programs, etc., and a modem processor, which mainly handles wireless communications. It is to be understood that the above-described modem processor may not be integrated into the processing unit 401.
The storage unit 402 may be used to store software programs and modules, and the processing unit 401 executes various functional applications and data processing by running the software programs and modules stored in the storage unit 402. The storage unit 402 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required by at least one function (such as a sound playing function, an image playing function, web page access, and the like), and the like; the storage data area may store data created according to use of the computer device, and the like. Further, the storage unit 402 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, the memory unit 402 may also include a memory controller to provide the processing unit 401 access to the memory unit 402.
The computer device further comprises a power module 403 for supplying power to each component, and preferably, the power module 403 is logically connected to the processing unit 401 through a power management system, so as to implement functions of managing charging, discharging, and power consumption through the power management system. The power module 403 may also include one or more dc or ac power sources, recharging systems, power failure detection circuitry, power converters or inverters, power status indicators, and any other components.
The computer device may also include an input module 404, the input module 404 operable to receive entered numeric or character information and generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function control.
Although not shown, the computer device may further include a display unit and the like, which are not described in detail herein. Specifically, in this embodiment, the processing unit 401 in the computer device loads the executable file corresponding to the process of one or more application programs into the storage unit 402 according to the following instructions, and the processing unit 401 runs the application programs stored in the storage unit 402, so as to implement various functions as follows:
acquiring a query task; splitting the query tasks to obtain a first number of first sub-query tasks and a second number of second sub-query tasks, wherein the first sub-query tasks are based on a single database, and the second sub-query tasks are based on at least two databases; executing the first sub-query task by adopting a first execution engine, executing the second sub-query task by adopting a second execution engine, and isolating data among databases related to the second sub-query task when the second execution engine executes the second sub-query task; and determining a query result corresponding to the query task according to the execution result of the sub-query task.
It should be noted that the computer device provided in the embodiment of the present application and the method in the foregoing embodiment belong to the same concept, and specific implementation of the above operations may refer to the foregoing embodiment, which is not described herein again.
All or part of the steps of the methods of the embodiments may be performed by instructions or related hardware controlled by the instructions, which may be stored in a computer-readable storage medium and loaded and executed by a processor.
To this end, embodiments of the present invention provide a computer-readable storage medium having stored therein a plurality of instructions, which can be loaded by a processor to perform the steps of any of the methods provided by the embodiments of the present invention. For example, the instructions may perform the steps of:
acquiring a query task; splitting the query tasks to obtain a first number of first sub-query tasks and a second number of second sub-query tasks, wherein the first sub-query tasks are based on a single database, and the second sub-query tasks are based on at least two databases; executing the first sub-query task by adopting a first execution engine, executing the second sub-query task by adopting a second execution engine, and isolating data among databases related to the second sub-query task when the second execution engine executes the second sub-query task; and determining a query result corresponding to the query task according to the execution result of the sub-query task.
The above operations can be implemented in the foregoing embodiments, and are not described in detail herein.
Wherein the computer-readable storage medium may include: read Only Memory (ROM), Random Access Memory (RAM), magnetic or optical disks, and the like.
Since the instructions stored in the computer-readable storage medium can execute the steps in any method provided by the embodiment of the present invention, the beneficial effects that can be achieved by any method provided by the embodiment of the present invention can be achieved, which are detailed in the foregoing embodiments and will not be described herein again.
According to an aspect of the application, there is provided, among other things, a computer program product or computer program comprising computer instructions stored in a storage medium. The processor of the computer device reads the computer instructions from the storage medium, and the processor executes the computer instructions, so that the computer device executes the method provided in the various optional implementation modes of the information query method.
The information query method, the information query device, the computer device, and the computer-readable storage medium according to the embodiments of the present invention are described in detail above, and a specific example is applied in the description to explain the principle and the implementation of the present invention, and the description of the above embodiments is only used to help understanding the method and the core idea of the present invention; meanwhile, according to the idea of the present invention, the specific implementation manner and the application scope may be changed, and in summary, the content of the present specification should not be construed as limiting the present invention.

Claims (15)

1. An information query method, the method comprising:
acquiring a query task;
splitting the query task to obtain a first number of first sub-query tasks and a second number of second sub-query tasks, wherein the first sub-query tasks are query tasks based on a single database, and the second sub-query tasks are query tasks based on at least two databases;
executing the first sub-query tasks by adopting a first execution engine, executing the second sub-query tasks by adopting a second execution engine, and isolating data among databases related to the second sub-query tasks when the second execution engine executes the second sub-query tasks;
and determining a query result corresponding to the query task according to the execution result of the sub-query task.
2. The method of claim 1, wherein splitting the query task to obtain a first number of first sub-query tasks and a second number of second sub-query tasks comprises:
acquiring query data contained in the query task;
and performing semantic analysis on the query data, and splitting the query task into a first number of first sub-query tasks and a second number of second sub-query tasks according to a semantic analysis result.
3. The method of claim 2, wherein performing semantic analysis on the query data and splitting the query task into a first number of first sub-query tasks and a second number of second sub-query tasks according to semantic analysis results comprises:
analyzing the query data to obtain a syntax tree corresponding to the query data;
segmenting the syntax tree to obtain a plurality of sub-query data;
and detecting the plurality of sub-query data, generating a second sub-query task according to the sub-query data when the sub-query data meet the preset classification condition, and generating a first sub-query task according to the sub-query data when the sub-query data do not meet the preset classification condition.
4. The method according to claim 3, wherein the detecting the plurality of sub-query data, generating a second sub-query task according to the sub-query data when the sub-query data satisfies a preset classification condition, and generating a first sub-query task according to the sub-query data when the sub-query data does not satisfy the preset classification condition comprises:
when an operator which is queried across the database exists in the sub-query data, generating a second sub-query task according to the sub-query data;
and when the sub-query data does not have the operator queried across the database, generating a first sub-query task according to the sub-query data.
5. The method of claim 3, wherein parsing the query data to obtain a syntax tree corresponding to the query data comprises:
identifying query operators and data objects in the query data;
and constructing a syntax tree by taking the query operator as a non-leaf node and the data object as a leaf node.
6. The method of claim 2, further comprising:
acquiring a logic relation between sub-query tasks according to the query data;
the determining the query result corresponding to the query task according to the execution result of the sub-query task includes:
and determining a query result corresponding to the query task according to the execution result of the sub-query task and the logic relationship.
7. The method according to claim 6, wherein the determining the query result corresponding to the query task according to the execution result of the sub-query task and the logical relationship comprises:
generating a graph network of the sub-query tasks according to the logical relationship;
and executing each sub-query task according to the graph network sequence to obtain a query result corresponding to the query task.
8. The method of claim 7, wherein generating a graph network of sub-query tasks according to the logical relationship comprises:
acquiring an execution sequence among the sub-query tasks from the logical relationship;
and generating a graph network of the sub-query tasks by taking each sub-query task as a node and taking the execution sequence as an edge.
9. An information query apparatus, comprising:
the acquisition unit is used for acquiring the query task;
the splitting unit is used for splitting the query tasks to obtain a first number of first sub-query tasks and a second number of second sub-query tasks, wherein the first sub-query tasks are query tasks based on a single database, and the second sub-query tasks are query tasks based on at least two databases;
the execution unit is used for executing the first sub-query task by adopting a first execution engine and executing the second sub-query task by adopting a second execution engine, and when the second execution engine executes the second sub-query task, data among databases related to the second sub-query task are isolated;
and the determining unit is used for determining the query result corresponding to the query task according to the execution result of the sub-query task.
10. The apparatus of claim 9, wherein the splitting unit comprises:
the first acquisition subunit is used for acquiring the query data contained in the query task;
and the analysis subunit is used for performing semantic analysis on the query data and splitting the query task into a first number of first sub-query tasks and a second number of second sub-query tasks according to a semantic analysis result.
11. The apparatus of claim 10, wherein the analysis subunit comprises:
the analysis module is used for analyzing the query data to obtain a syntax tree corresponding to the query data;
the segmentation module is used for segmenting the syntax tree to obtain a plurality of sub-query data;
the detection module is used for detecting the sub-query data, generating a second sub-query task according to the sub-query data when the sub-query data meet the preset classification condition, and generating a first sub-query task according to the sub-query data when the sub-query data do not meet the preset classification condition.
12. The apparatus of claim 11, wherein the detection module comprises:
the first generation sub-module is used for generating a second sub-query task according to the sub-query data when an operator for cross-database query exists in the sub-query data;
and the second generation sub-module is used for generating the first sub-query task according to the sub-query data when the sub-query data does not have the operator of the cross-database query.
13. A computer-readable storage medium storing a plurality of instructions, the instructions being adapted to be loaded by a processor to perform the steps of the information query method of any one of claims 1 to 8.
14. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the information query method according to any one of claims 1 to 8 when executing the computer program.
15. A computer program product comprising computer programs/instructions, characterized in that the computer programs/instructions, when executed by a processor, implement the steps in the information query method of any one of claims 1 to 8.
CN202210099919.5A 2022-01-27 2022-01-27 Information query method and device, computer equipment and computer readable storage medium Pending CN114443699A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210099919.5A CN114443699A (en) 2022-01-27 2022-01-27 Information query method and device, computer equipment and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210099919.5A CN114443699A (en) 2022-01-27 2022-01-27 Information query method and device, computer equipment and computer readable storage medium

Publications (1)

Publication Number Publication Date
CN114443699A true CN114443699A (en) 2022-05-06

Family

ID=81369048

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210099919.5A Pending CN114443699A (en) 2022-01-27 2022-01-27 Information query method and device, computer equipment and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN114443699A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115292353A (en) * 2022-10-09 2022-11-04 腾讯科技(深圳)有限公司 Data query method and device, computer equipment and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115292353A (en) * 2022-10-09 2022-11-04 腾讯科技(深圳)有限公司 Data query method and device, computer equipment and storage medium

Similar Documents

Publication Publication Date Title
US11392586B2 (en) Data protection method and device and storage medium
US7487174B2 (en) Method for storing text annotations with associated type information in a structured data store
US10169437B2 (en) Triplestore replicator
US8108367B2 (en) Constraints with hidden rows in a database
US20120254089A1 (en) Vector throttling to control resource use in computer systems
US9355152B2 (en) Non-exclusionary search within in-memory databases
US5745746A (en) Method for localizing execution of subqueries and determining collocation of execution of subqueries in a parallel database
US9189509B1 (en) Storing graph data representing workflow management
US20220083949A1 (en) Method and apparatus for pushing information, device and storage medium
CN110019314B (en) Dynamic data packaging method based on data item analysis, client and server
US11100152B2 (en) Data portal
US10073871B2 (en) Database entity analysis
US11354313B2 (en) Transforming a user-defined table function to a derived table in a database management system
US7693845B2 (en) Database systems, methods and computer program products using type based selective foreign key association to represent multiple but exclusive relationships in relational databases
CN114443699A (en) Information query method and device, computer equipment and computer readable storage medium
KR101955376B1 (en) Processing method for a relational query in distributed stream processing engine based on shared-nothing architecture, recording medium and device for performing the method
CN114969819A (en) Data asset risk discovery method and device
Patil et al. Code clone detection using decentralized architecture and code reduction
US20150286700A1 (en) Recording medium having stored thereon database access control program, method for controlling database access, and information processing apparatus
US20230214430A1 (en) Dynamically decide data operations based on information type to satisfy business user need
Bergamaschi et al. An Approach for the Extraction of Information from Heterogeneous Sources of Textual Data.
Laadidi et al. Simplification of owl ontology sources for data warehousing
Li et al. Query-driven frequent Co-occurring term computation over relational data using MapReduce
CN113836175A (en) Data access method, device, equipment and storage medium
CN117520112A (en) Method, device, equipment and storage medium for efficiency analysis processing of computing task

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination