CN114547083A - Data processing method and device and electronic equipment - Google Patents
Data processing method and device and electronic equipment Download PDFInfo
- Publication number
- CN114547083A CN114547083A CN202210192164.3A CN202210192164A CN114547083A CN 114547083 A CN114547083 A CN 114547083A CN 202210192164 A CN202210192164 A CN 202210192164A CN 114547083 A CN114547083 A CN 114547083A
- Authority
- CN
- China
- Prior art keywords
- database
- engine
- target
- application
- database operation
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种数据处理方法、装置及电子设备,应用于代码开发平台,该方法包括:获得数据库操作信息,数据库操作信息至少包括采用第一语言规范的第一数据库操作语句;确定数据库操作所需调用的目标数据库引擎;基于数据库连接程序接口中配置的目标数据库引擎支持的第二语言规范,将第一数据库操作语句转换为符合第二语言规范的第二数据库操作语句;将第二数据库操作语句传输给目标数据库引擎。本申请的方案可以大大降低了数据库引擎调用的复杂度;也可以减少由于数据库操作语句所使用的语言规范错误而导致数据库引擎调用错误等异常情况。
The present application discloses a data processing method, device and electronic device, which are applied to a code development platform. The method includes: obtaining database operation information, where the database operation information at least includes a first database operation statement using a first language specification; determining the database operation The target database engine to be called; based on the second language specification supported by the target database engine configured in the database connection program interface, the first database operation statement is converted into a second database operation statement conforming to the second language specification; the second database operation statement The action statement is transmitted to the target database engine. The solution of the present application can greatly reduce the complexity of database engine invocation, and can also reduce abnormal situations such as database engine invocation errors caused by incorrect language specifications used in database operation statements.
Description
技术领域technical field
本申请涉及数据处理技术领域,更具体地说,涉及一种数据处理方法、装置及电子设备。The present application relates to the technical field of data processing, and more particularly, to a data processing method, apparatus and electronic device.
背景技术Background technique
代码开发平台在开发应用等过程中经常会涉及到调用不同的数据库引擎。The code development platform often involves calling different database engines in the process of developing applications.
而不同数据库引擎所使用的语言规范是不一样的,这就需要代码开发平台在调用不同数据库引擎时,采用不同的语言规范的操作语句,复杂度较高,且很容易出现由于语言规范使用错误而导致数据库引擎调用错误等异常情况。The language specifications used by different database engines are different, which requires the code development platform to use operation statements with different language specifications when calling different database engines, which is more complex and prone to errors due to language specifications. This leads to abnormal situations such as database engine call errors.
发明内容SUMMARY OF THE INVENTION
本申请提供了一种数据处理方法、装置及电子设备。The present application provides a data processing method, apparatus and electronic device.
其中,一种数据处理方法,应用于代码开发平台,所述方法包括:Wherein, a data processing method is applied to a code development platform, and the method includes:
获得数据库操作信息,所述数据库操作信息至少包括采用第一语言规范的第一数据库操作语句;obtaining database operation information, where the database operation information at least includes a first database operation statement using a first language specification;
确定数据库操作所需调用的目标数据库引擎;Determine the target database engine to be called for database operations;
基于数据库连接程序接口中配置的所述目标数据库引擎支持的第二语言规范,将所述第一数据库操作语句转换为符合所述第二语言规范的第二数据库操作语句;Based on the second language specification supported by the target database engine configured in the database connection program interface, converting the first database operation statement into a second database operation statement conforming to the second language specification;
将所述第二数据库操作语句传输给所述目标数据库引擎。The second database operation statement is transmitted to the target database engine.
在一种可能的实现方式中,所述数据库操作信息还包括:所述代码开发平台中需要执行数据库操作的目标应用的应用类型;In a possible implementation manner, the database operation information further includes: the application type of the target application in the code development platform that needs to perform the database operation;
所述确定数据库操作所需调用的目标数据库引擎,包括:Described determining the target database engine that the database operation needs to call, including:
基于所述目标应用的应用类型,确定适合所述目标应用的目标数据库引擎。Based on the application type of the target application, a target database engine suitable for the target application is determined.
在又一种可能的实现方式中,所述基于所述目标应用的应用类型,确定适合所述目标应用的目标数据库引擎,包括:In yet another possible implementation manner, determining a target database engine suitable for the target application based on the application type of the target application includes:
基于所述目标应用的应用类型,利用引擎分类模型确定适合所述目标应用的目标数据库引擎,所述引擎分类模型为利用标注有适合的数据库引擎的多个应用数据样本训练得到,所述应用数据样本至少包括应用的应用类型。Based on the application type of the target application, an engine classification model is used to determine a target database engine suitable for the target application. The engine classification model is obtained by training with multiple application data samples marked with suitable database engines. The application data The sample includes at least the application type of the application.
在又一种可能的实现方式中,所述应用数据样本还包括:所述应用使用的数据库引擎的日志数据,所述日志数据包括:所述应用调用的数据库引擎的引擎信息以及所述应用调用数据库引擎所产生的日志;In another possible implementation manner, the application data sample further includes: log data of a database engine used by the application, and the log data includes: engine information of the database engine invoked by the application and the application invocation logs generated by the database engine;
所述引擎分类模型通过如下方式训练得到:The engine classification model is obtained by training as follows:
获得多个应用使用的数据库引擎的历史数据,所述历史数据包括所述应用的应用类型以及所述应用使用的数据库引擎的日志数据;Obtain historical data of database engines used by multiple applications, where the historical data includes application types of the applications and log data of the database engines used by the applications;
基于所述应用使用的数据库引擎的历史数据,确定所述应用适合的数据库引擎;Determine the database engine suitable for the application based on the historical data of the database engine used by the application;
依据所述应用适合的数据库引擎,利用所述应用的应用类型以及所述应用使用的数据库引擎的日志数据,训练支持向量机分类器,将训练出的支持向量机分类器确定为引擎分类模型。According to the database engine suitable for the application, use the application type of the application and the log data of the database engine used by the application to train the support vector machine classifier, and determine the trained support vector machine classifier as the engine classification model.
在又一种可能的实现方式中,所述基于数据库连接程序接口中配置的所述目标数据库引擎支持的第二语言规范,将所述第一数据库操作语句转换为符合所述第二语言规范的第二数据库操作语句,包括:In another possible implementation manner, the first database operation statement is converted into a second language specification that conforms to the second language specification based on the second language specification supported by the target database engine configured in the database connection program interface. The second database operation statement includes:
基于数据库连接程序接口中配置的不同数据库引擎对应的译码模块,确定所述目标数据库引擎对应的目标译码模块;Determine the target decoding module corresponding to the target database engine based on the decoding modules corresponding to different database engines configured in the database connection program interface;
基于所述目标译码模块中所述目标数据库引擎的转换规则,将所述第一数据库操作语句转换为符合所述目标数据引擎库对应的第二语言规范的第二数据库操作语句。Based on the conversion rules of the target database engine in the target decoding module, the first database operation statement is converted into a second database operation statement that conforms to the second language specification corresponding to the target data engine library.
在又一种可能的实现方式中,所述基于数据库连接程序接口中配置的所述目标数据库引擎支持的第二语言规范,将所述第一数据库操作语句转换为符合所述第二语言规范的第二数据库操作语句,包括:In another possible implementation manner, the first database operation statement is converted into a second language specification that conforms to the second language specification based on the second language specification supported by the target database engine configured in the database connection program interface. The second database operation statement includes:
基于数据库连接程序接口确定第一数据库操作语句中各组成对象之间的逻辑关系;Determine the logical relationship between the constituent objects in the first database operation statement based on the database connection program interface;
结合所述逻辑关系以及所述数据库连接程序接口中配置的所述目标数据库引擎对应的语义规范库,对所述第一数据库操作语句中的各组成对象进行语义扩展与关系解释,得到所述第一数据库操作语句中各组成对象之间的语义关系信息;In combination with the logical relationship and the semantic specification library corresponding to the target database engine configured in the database connection program interface, semantic expansion and relationship interpretation are performed on each constituent object in the first database operation statement, and the first database operation statement is obtained. 1. Semantic relationship information between the constituent objects in the database operation statement;
结合所述第一数据库操作语句中各组成对象的语义关系信息,将所述第一数据库操作语句转换为符合所述目标数据库引擎对应的第二语言规范的第二数据库操作语句。The first database operation statement is converted into a second database operation statement conforming to the second language specification corresponding to the target database engine in combination with the semantic relationship information of each constituent object in the first database operation statement.
在又一种可能的实现方式中,所述基于数据库连接程序接口确定第一数据库操作语句中各组成对象之间的逻辑关系,包括:In yet another possible implementation, determining the logical relationship between the constituent objects in the first database operation statement based on the database connection program interface includes:
基于所述数据库连接程序接口构建用于表征所述第一数据库操作语句的逻辑语法树;constructing a logical syntax tree for representing the first database operation statement based on the database connection program interface;
所述结合所述逻辑关系以及所述数据库连接程序接口中配置的所述目标数据库引擎对应的语义规范库,对所述第一数据库操作语句中的各组成对象进行语义扩展与关系解释,得到所述第一数据库操作语句中各组成对象之间的语义关系信息,包括:In combination with the logical relationship and the semantic specification library corresponding to the target database engine configured in the database connection program interface, semantic expansion and relationship interpretation are performed on each constituent object in the first database operation statement, and the result is obtained. Describe the semantic relationship information between the constituent objects in the first database operation statement, including:
结合配置的所述目标数据库引擎对应的语义规范库,对所述逻辑语法树中各组成对象进行语义扩展与关系解释,得到关系型语法树;In combination with the semantic specification library corresponding to the configured target database engine, semantic expansion and relational interpretation are performed on each constituent object in the logical syntax tree to obtain a relational syntax tree;
将所述第一数据库操作语句转换为符合所述目标数据库引擎对应的第二语言规范的第二数据库操作语句,包括:Converting the first database operation statement into a second database operation statement conforming to the second language specification corresponding to the target database engine includes:
将所述关系型语法树转换为符合所述目标数据库引擎对应的第二语言规范的至少一个转换后关系型语法树;converting the relational syntax tree into at least one converted relational syntax tree that conforms to the second language specification corresponding to the target database engine;
基于所述转换后关系型语法树转换出第二数据库操作语句。The second database operation statement is converted based on the converted relational syntax tree.
在又一种可能的实现方式中,所述在所述基于所述转换后关系型语法树转换出第二数据库操作语句之前,还包括:In yet another possible implementation, before the second database operation statement is converted based on the converted relational syntax tree, the method further includes:
基于成本优化器对所述至少一个转换后关系型语法树进行优化筛选,得到筛选出的转换后关系型语法树;The at least one converted relational syntax tree is optimized and screened based on the cost optimizer to obtain the filtered converted relational syntax tree;
所述基于所述转换后关系型语法树转换出第二数据库操作语句,包括:The conversion of the second database operation statement based on the converted relational syntax tree includes:
基于筛选出的转换后关系型语法树转换出第二数据库操作语句。The second database operation statement is converted based on the filtered relational syntax tree after conversion.
其中,一种数据处理装置,包括:Among them, a data processing device, including:
信息获得单元,用于获得数据库操作信息,所述数据库操作信息至少包括采用第一语言规范的第一数据库操作语句;an information obtaining unit, configured to obtain database operation information, where the database operation information at least includes a first database operation statement using a first language specification;
引擎确定单元,用于确定数据库操作所需调用的目标数据库引擎;The engine determination unit is used to determine the target database engine to be called for the database operation;
语句转换单元,用于基于数据库连接程序接口中配置的所述目标数据库引擎支持的第二语言规范,将所述第一数据库操作语句转换为符合所述第二语言规范的第二数据库操作语句;a statement conversion unit, configured to convert the first database operation statement into a second database operation statement conforming to the second language specification based on the second language specification supported by the target database engine configured in the database connection program interface;
引擎调用单元,用于将所述第二数据库操作语句传输给所述目标数据库引擎。An engine invoking unit, configured to transmit the second database operation statement to the target database engine.
其中,一种电子设备,至少包括存储器和处理器;Wherein, an electronic device includes at least a memory and a processor;
其中,所述处理器,用于执行如上任意一项所述的数据处理方法;Wherein, the processor is used to execute the data processing method described in any one of the above;
所述存储器,用于存储处理器执行操作所需的程序。The memory is used to store programs required by the processor to perform operations.
通过以上方案可知,本申请的代码开发平台可以在获得采用第一语言规范的第一数据库操作语句之后,会确定数据库操作所需调用的目标数据库引擎,基于数据库连接程序接口中配置的该目标数据库引擎支持的第二语言规范,可以将该第一数据库操作语句转换为符合该第二语言规范的第二数据库操作语句,从而无需用户针对不同数据库引擎采用不同语言规范来编写数据库操作语句,大大降低了数据库引擎调用的复杂度;也可以减少由于数据库操作语句所使用的语言规范错误而导致数据库引擎调用错误等异常情况。It can be seen from the above solutions that the code development platform of the present application can determine the target database engine to be called for the database operation after obtaining the first database operation statement using the first language specification, and based on the target database configured in the database connection program interface The second language specification supported by the engine can convert the first database operation statement into a second database operation statement that conforms to the second language specification, so that users do not need to use different language specifications for different database engines to write database operation statements, which greatly reduces the It reduces the complexity of database engine invocation; it can also reduce abnormal situations such as database engine invocation errors due to incorrect language specifications used in database operation statements.
附图说明Description of drawings
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to illustrate the technical solutions in the embodiments of the present application more clearly, the following briefly introduces the drawings that are used in the description of the embodiments. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can also be obtained from these drawings without creative effort.
图1为本申请实施例提供的数据处理方法的一种流程示意图;1 is a schematic flowchart of a data processing method provided by an embodiment of the present application;
图2为本申请实施例中训练引擎分类模型的一种流程示意图;2 is a schematic flowchart of a training engine classification model in an embodiment of the application;
图3为本申请实施例提供的数据处理方法的又一种流程示意图;3 is another schematic flowchart of a data processing method provided by an embodiment of the present application;
图4为本申请实施例提供的数据处理方法在一种应用场景中的流程示意图;FIG. 4 is a schematic flowchart of a data processing method provided by an embodiment of the present application in an application scenario;
图5为本申请实施例提供的数据处理装置的一种组成结构示意图;FIG. 5 is a schematic diagram of a composition structure of a data processing apparatus provided by an embodiment of the present application;
图6为本申请实施例提供的电子设备的一种组成结构示意图。FIG. 6 is a schematic structural diagram of a composition of an electronic device provided by an embodiment of the present application.
说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。The terms "first", "second", "third", "fourth", etc. (if any) in the description and claims and the above-mentioned drawings are used to distinguish similar parts and not necessarily to describe a particular order or sequence. It is to be understood that the data so used may be interchanged under appropriate circumstances so that the embodiments of the application described herein can be practiced in sequences other than those illustrated herein.
具体实施方式Detailed ways
本申请的方案适用于代码开发平台调用数据库引擎的场景,可以提升代码开发平台调用数据库引擎的便捷性,减少调用异常等情况。The solution of the present application is suitable for the scenario where the code development platform calls the database engine, which can improve the convenience for the code development platform to call the database engine, and reduce calling exceptions and the like.
本申请中,代码开发平台可以用于各种应用的代码开发,在应用开发过程中以及应用开发之后测试等等环节中,代码开发平台开发的应用经常需要从数据库获取各种数据资源,在此基础上,代码开发平台就需要调用数据库引擎,以获得应用或者应用开发所需的数据资源。In this application, the code development platform can be used for the code development of various applications. During the application development process and in the testing after application development, the applications developed by the code development platform often need to obtain various data resources from the database. Here On the basis, the code development platform needs to call the database engine to obtain the data resources required for application or application development.
代码开发平台可以有多种可能,如,该代码开发平台可以为低代码平台(也可以称为低代码开发平台),在低代码平台开发应用的过程中,经常需要针对应用调用某个数据库的数据库引擎,以获得开发应用或者应用所需的数据资源等。There are many possibilities for the code development platform. For example, the code development platform can be a low-code platform (also called a low-code development platform). In the process of developing an application on a low-code platform, it is often necessary to call a certain database for the application. Database engine to obtain data resources required for developing applications or applications, etc.
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, but not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the protection scope of the present application.
如图1所示,其示出了本申请实施例提供的数据处理方法的一种流程示意图,本实施例的方法可以应用于代码开发平台。As shown in FIG. 1 , it shows a schematic flowchart of a data processing method provided by an embodiment of the present application, and the method of this embodiment can be applied to a code development platform.
本实施例的方法可以包括如下步骤:The method of this embodiment may include the following steps:
S101,获得数据库操作信息。S101, obtain database operation information.
其中,数据库操作信息至少包括采用第一语言规范的第一数据库操作语句。Wherein, the database operation information includes at least a first database operation statement using a first language specification.
其中,该第一语言规范可以为代码开发平台设定的标准语言规范。The first language specification may be a standard language specification set by the code development platform.
其中,每种计算机语言可以有多种语言规范,在代码开发平台支持的计算机语言确定的情况下,该第一语言规范属于该计算机语言的多种语言规范中的一种。Wherein, each computer language may have multiple language specifications, and if the computer language supported by the code development platform is determined, the first language specification belongs to one of multiple language specifications of the computer language.
如,代码开发平台采用的是结构化查询语言(Structured Query Language,SQL)来编写数据库操作语句的情况下,可以从SQL语言适用的多种语言规范中选择一种语言规范作为第一语言规范,例如,可以设定SQL标准中ISO/IEC 9075这一语言规范为标准语言规范,则该第一数据库语句为采用该标准语言规范的SQL语句。For example, if the code development platform uses Structured Query Language (SQL) to write database operation statements, a language specification can be selected from multiple language specifications applicable to the SQL language as the first language specification. For example, the language specification ISO/IEC 9075 in the SQL standard may be set as the standard language specification, and the first database statement is an SQL statement using the standard language specification.
可以理解的是,该数据库操作信息可以是用户在代码开发平台提供的交互界面中输入的,在该交互界面中用户除了输入第一数据库操作语句之外,还可以输入数据库操作的其他信息,相应的,数据库操作信息除了包括第一数据库操作语句之外,还可以包括需要调用数据库的应用的应用信息,以及操作用户的信息等等,对此不加限制。It can be understood that the database operation information can be input by the user in the interactive interface provided by the code development platform. In the interactive interface, in addition to the first database operation statement, the user can also input other information about the database operation. In addition to the first database operation statement, the database operation information may also include application information of the application that needs to call the database, information of the operating user, etc., which is not limited.
S102,确定数据库操作所需调用的目标数据库引擎。S102: Determine a target database engine to be called for the database operation.
数据库引擎可以实现对数据库操作语句的解释,并基于数据库操作语句的解释实现数据库的数据获取。可以理解的是,在数据请求方需要访问数据库时,需要通过数据库引擎对数据库操作语句进行解释,并基于数据库操作语句从数据库获得所需的数据并返回给数据请求方。The database engine can realize the interpretation of the database operation statement, and realize the data acquisition of the database based on the interpretation of the database operation statement. It can be understood that when the data requester needs to access the database, the database operation statement needs to be interpreted by the database engine, and the required data is obtained from the database based on the database operation statement and returned to the data requester.
其中,数据库操作所需调用的数据库引擎也就是需要基于第一数据库操作语句,所需操作的数据库对应的数据库引擎。为了便于区分,本申请中数据库操作所需调用的数据库引擎称为目标数据库引擎。The database engine to be called for the database operation is the database engine corresponding to the database to be operated based on the first database operation statement. For the convenience of distinction, the database engine to be called for the database operation in this application is called the target database engine.
S103,基于数据库连接程序接口中配置的目标数据库引擎支持的第二语言规范,将第一数据库操作语句转换为符合第二语言规范的第二数据库操作语句。S103 , based on the second language specification supported by the target database engine configured in the database connection program interface, convert the first database operation statement into a second database operation statement conforming to the second language specification.
数据库连接程序接口是用来规范平台或者客户端程序如何来访问数据库的应用程序接口,其提供如查询和更新数据库中数据的方法。如,数据库连接程序接口可以为Java数据库连接(Java Database Connectivity,JDBC)。The database connection program interface is an application program interface used to standardize how the platform or client program accesses the database, and it provides methods such as querying and updating data in the database. For example, the database connection program interface may be a Java Database Connectivity (Java Database Connectivity, JDBC).
在本申请中,代码开发平台设置有统一的一个数据库连接程序接口,而不是针对不同数据库引擎设置不同的数据库连接程序接口。代码开发平台中设置的该数据库连接程序接口中可以配置有不同数据库引擎支持的语言规范。在此基础上,在确定出目标数据库引擎之后,数据库连接程序接口可以确定该目标数据库引擎支持的语言规范。In this application, the code development platform is provided with a unified database connection program interface, instead of setting different database connection program interfaces for different database engines. Language specifications supported by different database engines can be configured in the database connection program interface set in the code development platform. On this basis, after determining the target database engine, the database connection program interface can determine the language specification supported by the target database engine.
为了与第一数据库操作语句所采用的语言规范进行区分,将目标数据库支持的语言规范称为第二语言规范。为了使得数据库连接程序接口能够调用第二数据库操作语句,基于该数据库连接程序接口会将第一数据库操作语句转换为符合第二语言规范的第二数据库操作语句,使得目标数据库引擎可以理解并解释该第二数据库操作语句。In order to distinguish it from the language specification adopted by the first database operation statement, the language specification supported by the target database is referred to as the second language specification. In order to enable the database connection program interface to call the second database operation statement, the first database operation statement will be converted into a second database operation statement conforming to the second language specification based on the database connection program interface, so that the target database engine can understand and interpret the The second database operation statement.
在一种可能的实现方式中,该数据库连接程序接口中可以预置有不同数据库引擎对应的译码模块,在此基础上本申请数据库连接程序接口可以确定目标数据库引擎对应的目标译码模块。相应的,基于该目标译码模块中该目标数据库引擎的转换规则,可以将该第一数据库操作语句转换为符合该目标数据引擎库对应的第二语言规范的第二数据库操作语句。In a possible implementation manner, the database connection program interface may be preset with decoding modules corresponding to different database engines, and on this basis, the database connection program interface of the present application can determine the target decoding module corresponding to the target database engine. Correspondingly, based on the conversion rules of the target database engine in the target decoding module, the first database operation statement can be converted into a second database operation statement that conforms to the second language specification corresponding to the target data engine library.
由于数据库连接程序接口可以配置不同数据库引擎的译码模块,因此,根据代码开发平台中业务需求的不同,可以向数据库连接程序接口中添加、删除或者修改数据库引擎对应的译码模块。Since the database connection program interface can configure the decoding modules of different database engines, according to the different business requirements in the code development platform, the decoding modules corresponding to the database engines can be added, deleted or modified in the database connection program interface.
如,译码模块可以采用插件形式添加到数据库连接程序接口(例如JDBC)中,如果需要代码开发平台新增了对某种数据库引擎的调用需求,则可以向该数据库连接程序接口中插入该种数据库引擎的译码模块,使得代码开发平台也可以支持将采用第一语言规范的数据库操作语句转换为该种数据库引擎适配的数据库操作语句。For example, the decoding module can be added to the database connection program interface (such as JDBC) in the form of a plug-in. If the code development platform needs to add a new call requirement to a certain database engine, this kind of database connection program interface can be inserted into the database connection program interface. The decoding module of the database engine enables the code development platform to also support the conversion of database operation statements using the first language specification into database operation statements adapted to the database engine.
S104,将第二数据库操作语句传输给目标数据库引擎。S104: Transmit the second database operation statement to the target database engine.
可以理解的是,在将第二数据库操作语句传输给目标数据库引擎之后,目标数据库引擎基于该第二数据库操作语句从数据库获取数据之后,还可以将获取到的数据返回给该代码开发平台。It can be understood that after the second database operation statement is transmitted to the target database engine, after the target database engine acquires data from the database based on the second database operation statement, the acquired data can also be returned to the code development platform.
由以上内容可知,本申请的代码开发平台可以在获得采用第一语言规范的第一数据库操作语句之后,会确定数据库操作所需调用的目标数据库引擎,基于数据库连接程序接口中配置的该目标数据库引擎支持的第二语言规范,可以将该第一数据库操作语句转换为符合该第二语言规范的第二数据库操作语句,从而无需用户针对不同数据库引擎采用不同语言规范来编写数据库操作语句,大大降低了数据库引擎调用的复杂度;也可以减少由于数据库操作语句所使用的语言规范错误而导致数据库引擎调用错误等异常情况。It can be seen from the above that the code development platform of the present application can determine the target database engine to be called by the database operation after obtaining the first database operation statement using the first language specification, based on the target database configured in the database connection program interface. The second language specification supported by the engine can convert the first database operation statement into a second database operation statement that conforms to the second language specification, so that users do not need to use different language specifications for different database engines to write database operation statements, which greatly reduces the It reduces the complexity of database engine invocation; it can also reduce abnormal situations such as database engine invocation errors due to incorrect language specifications used in database operation statements.
可以理解的是,在本申请中,确定数据库操作所需调用的目标数据库引擎的方式可以有多种。It can be understood that, in the present application, there can be many ways to determine the target database engine to be called for the database operation.
在一种可能的实现方式中,用户可以指定所需调用的数据库引擎,在此基础上,可以获得用户设定的数据库操作所需调用的目标数据库引擎。In a possible implementation manner, the user can specify the database engine to be called, and on this basis, the target database engine to be called for the database operation set by the user can be obtained.
但是在实际应用中,不同应用可能适合通过不同数据库引擎来调用数据,如,同一应用在使用不同数据库引擎的情况下,访问数据库的响应时间等性能方面会有所差别。而用户很难了解不同应用适合的数据库引擎,从而可能会影响到获取数据的性能或者是给数据库所在的服务器带来较多负担等。However, in practical applications, different applications may be suitable for calling data through different database engines. For example, when the same application uses different database engines, there will be differences in performance such as the response time of accessing the database. It is difficult for users to know the database engine suitable for different applications, which may affect the performance of data acquisition or bring more burden to the server where the database is located.
基于此,在又一种可能的实现方式中,本申请中数据库操作信息还可以包括:代码开发平台中需要执行数据库操作的目标应用的应用类型。相应的,代码开发平台还可以基于目标应用的应用类型,确定适合该目标应用的目标数据库引擎。Based on this, in another possible implementation manner, the database operation information in the present application may further include: the application type of the target application that needs to perform database operations in the code development platform. Correspondingly, the code development platform can also determine a target database engine suitable for the target application based on the application type of the target application.
如,可以预先配置不同类型的应用适合的数据库引擎,在此基础上,可以按照不同类型的应用对应的数据库引擎,以及该目标应用的应用类型,确定目标应用对应的目标数据库引擎。For example, database engines suitable for different types of applications can be pre-configured, and on this basis, the target database engines corresponding to the target application can be determined according to the database engines corresponding to the different types of applications and the application type of the target application.
在一种可选方式中,本申请可以预先训练引擎分类模型,该引擎分类模型可以为利用标注有适合的数据库引擎的多个应用数据样本训练得到。相应的,可以基于该目标应用的应用类型,利用引擎分类模型确定适合所述目标应用的目标数据库引擎。In an optional manner, the present application may pre-train an engine classification model, and the engine classification model may be obtained by training using multiple application data samples marked with a suitable database engine. Correspondingly, based on the application type of the target application, the engine classification model can be used to determine a target database engine suitable for the target application.
其中,应用数据样本至少包括应用的应用类型。该应用样本数据还可以包括:应用使用的数据库引擎的日志数据。该日志数据可以包括:应用调用的数据库引擎的引擎信息,以及该应用调用数据库引擎所产生的日志。Wherein, the application data sample includes at least the application type of the application. The application sample data may further include: log data of the database engine used by the application. The log data may include: engine information of the database engine called by the application, and logs generated by the application calling the database engine.
如,应用调用的数据库引擎的引擎信息可以包括数据库引擎的名称和类型。For example, the engine information of the database engine called by the application may include the name and type of the database engine.
该应用调用数据库引擎所产生的日志可以为应用通过该数据库引擎获得数据的响应时间以及请求的数据量等数据,还可以包括:数据库引擎对应的数据库所在的服务器的内存以及CPU等性能信息,对此不加限制。The log generated by the application calling the database engine may be data such as the response time of the data obtained by the application through the database engine and the amount of data requested, and may also include: performance information such as memory and CPU of the server where the database corresponding to the database engine is located. There is no limit to this.
其中,训练该引擎分类模型的训练可以采用任意的有监督训练方式,具体训练过程可以不加限制。Among them, any supervised training method may be adopted for training the classification model of the engine, and the specific training process may not be limited.
为了便于理解,下面以引擎分类模型为经过训练的支持向量机(SupportVectorMachines)分类器为例,对训练引擎分类模型的过程进行介绍。For ease of understanding, the following describes the process of training the engine classification model by taking the engine classification model as a trained Support Vector Machines (Support Vector Machines) classifier as an example.
如图2所示,其示出了本申请实施例提供的训练引擎分类模型的一种流程示意图,本实施例的训练方法可以包括:As shown in FIG. 2 , which shows a schematic flowchart of a training engine classification model provided by an embodiment of the present application, the training method of the present embodiment may include:
S201,获得多个应用使用的数据库引擎的历史数据。S201: Obtain historical data of database engines used by multiple applications.
其中,历史数据包括应用的应用类型以及应用使用的数据库引擎的日志数据。该日志数据可以参见前面的相关介绍,在此不再赘述。The historical data includes the application type of the application and the log data of the database engine used by the application. For the log data, please refer to the previous related introduction, which will not be repeated here.
可以理解的是,代码开发平台中开发的任意应用如果利用该代码开发平台调用了数据库引擎,该代码开发平台都可以获得该应用的类型等数据以及该应用调用(或者说使用)数据库引擎的日志数据,在此基础上,代码开发平台可以将应用使用数据库引擎的相关数据存储为历史数据。It can be understood that if any application developed in the code development platform uses the code development platform to call the database engine, the code development platform can obtain data such as the type of the application and the log of the application calling (or using) the database engine. On this basis, the code development platform can store the relevant data of the application using the database engine as historical data.
S202,基于应用使用的数据库引擎的历史数据,确定应用适合的数据库引擎。S202: Determine a database engine suitable for the application based on historical data of the database engine used by the application.
代码开发平台可以结合应用使用数据库引擎的历史数据,可以将数据库操作性能最佳的数据库引擎确定为应用适合的数据库引擎。The code development platform can use the historical data of the database engine in combination with the application, and can determine the database engine with the best database operation performance as the database engine suitable for the application.
如,代码开发平台可以将响应应用对应的数据库操作的响应耗时最短的数据库引擎作为适合该应用的数据库引擎。For example, the code development platform can use the database engine that takes the shortest time to respond to the database operation corresponding to the application as the database engine suitable for the application.
又如,代码开发平台还可以在响应耗时的基础上,结合数据库引擎对应的数据库所在的服务器的性能等数据,来综合确定应用适合的数据库引擎。For another example, the code development platform can also comprehensively determine a suitable database engine for the application on the basis of the time-consuming response and in combination with data such as the performance of the server where the database corresponding to the database engine is located.
S203,依据应用适合的数据库引擎,利用应用的应用类型以及应用使用的数据库引擎的日志数据,训练支持向量机分类器,将训练出的支持向量机分类器确定为引擎分类模型。S203 , according to a database engine suitable for the application, using the application type of the application and the log data of the database engine used by the application, train a support vector machine classifier, and determine the trained support vector machine classifier as an engine classification model.
其中,应用适合的数据库引擎可以作为应用的标注数据,而应用的应用类型以及使用数据库引擎的日志数据可以作为训练数据样本,在此基础上,可以采用有监督训练方式训练支持向量机分类器。Among them, the database engine suitable for the application can be used as the annotation data of the application, and the application type of the application and the log data using the database engine can be used as training data samples. On this basis, the support vector machine classifier can be trained by supervised training.
如,在训练出的支持向量机分类器的损失函数的函数值收敛或者训练的重复次数到达设定次数,则可以认为训练完成,从而可以将训练出的支持向量机分类器作为引擎分类模型。当然,确定支持向量机分类器的训练完成的具体判断方式可以有多种可能,本申请对此不加限制。For example, when the function value of the loss function of the trained SVM classifier converges or the number of repetitions of the training reaches the set number of times, it can be considered that the training is completed, so that the trained SVM classifier can be used as the engine classification model. Of course, there may be various possibilities for determining the specific judgment manner of the completion of the training of the support vector machine classifier, which is not limited in this application.
可以理解的是,图2仅仅是为了便于理解,以一种训练引擎分类模型的方式为例说明,在实际应用中训练引擎分类模型的具体方式还可以有其他可能,本申请对此同样不加限制。It can be understood that FIG. 2 is only for the convenience of understanding, and a method of training the engine classification model is used as an example to illustrate. In practical applications, the specific method of training the engine classification model may also have other possibilities, and this application also does not add to this. limit.
可以理解的是,在本申请中将第一数据库操作语句转换为第二数据库操作语句的具体实现也可以有多种可能。It can be understood that, in the present application, there may also be various possibilities for the specific implementation of converting the first database operation statement into the second database operation statement.
为了能够更为准确的转换出第二数据库操作语句,本申请提供了转换第二数据库操作语句的一种实现方式,下面以该种实现方式为例对本申请的方案进行说明。In order to more accurately convert the second database operation statement, the present application provides an implementation manner of converting the second database operation statement. The solution of the present application is described below by taking this implementation manner as an example.
如图3所示,其示出了本申请实施例提供的数据处理方法的一种流程示意图,本实施例的方法可以应用于代码开发平台。As shown in FIG. 3 , it shows a schematic flowchart of a data processing method provided by an embodiment of the present application, and the method of this embodiment can be applied to a code development platform.
本实施例的方法可以包括如下步骤:The method of this embodiment may include the following steps:
S301,获得数据库操作信息。S301, obtain database operation information.
其中,数据库操作信息至少包括采用第一语言规范的第一数据库操作语句。Wherein, the database operation information includes at least a first database operation statement using a first language specification.
S302,确定数据库操作所需调用的目标数据库引擎。S302: Determine the target database engine to be called for the database operation.
以上步骤S301和S302可以参见前面实施例的相关介绍,在此不再赘述。For the above steps S301 and S302, reference may be made to the relevant introduction of the previous embodiment, and details are not repeated here.
S303,基于数据库连接程序接口确定第一数据库操作语句中各组成对象之间的逻辑关系。S303: Determine the logical relationship between the constituent objects in the first database operation statement based on the database connection program interface.
其中,数据库操作语句可以函数、操作符、变量、运算符以及一些参数等组成对象,而此处确定的逻辑关系是指第一数据库操作语句中各组成对象之间的关联关系。Wherein, the database operation statement may form objects such as functions, operators, variables, operators, and some parameters, and the logical relationship determined here refers to the association relationship between the constituent objects in the first database operation statement.
例如,第一数据库操作语句中包含条件语句,而条件语句中可能会包含两个对象之间的条件判断,那么就可以确定出这两个对象之间的逻辑关系为相应的条件判断。For example, if the first database operation statement contains a conditional statement, and the conditional statement may contain a conditional judgment between two objects, it can be determined that the logical relationship between the two objects is a corresponding conditional judgment.
在一种可能的实现方式中,本申请还可以通过数据库连接程序接口构建用于表征该第一数据库操作语句的逻辑语法树。其中,逻辑语法树是按照语法规则,对数据库操作语句进行语法解析所构建的,在逻辑上与数据库操作语句表达含义相同的树状语法结构。In a possible implementation manner, the present application may also construct a logical syntax tree for representing the first database operation statement through a database connection program interface. The logical syntax tree is constructed by performing syntax analysis on the database operation statement according to the syntax rules, and logically expresses the same tree-like syntax structure as the database operation statement.
通过逻辑语法树可以更为直观的表征出数据库操作语句中各个组成对象在语法上的逻辑关系,从而有利于后续更准确有效的语义转换。Through the logical syntax tree, the grammatical logical relationship of each constituent object in the database operation statement can be more intuitively represented, which is beneficial to the subsequent more accurate and effective semantic conversion.
可以理解的是,基于第一数据库操作语句转换出相应的逻辑语法树的过程可以为有多种实现可能,本申请对此不加限制。It can be understood that, the process of converting the corresponding logical syntax tree based on the first database operation statement may have multiple implementation possibilities, which are not limited in this application.
S304,结合逻辑关系以及数据库连接程序接口中配置的目标数据库引擎对应的语义规范库,对第一数据库操作语句中的各组成对象进行语义扩展与关系解释,得到第一数据库操作语句中各组成对象之间的语义关系信息。S304, combining the logical relationship and the semantic specification library corresponding to the target database engine configured in the database connection program interface, perform semantic expansion and relationship interpretation on each component object in the first database operation statement, and obtain each component object in the first database operation statement Semantic relationship information between them.
其中,数据库连接程序接口中可以配置有不同数据库引擎的语义规范库。数据库引擎的语义规范库可以记录有数据库引擎对应的数据库,该数据库中表以及字段等信息的详细描述。Among them, the database connection program interface can be configured with semantic specification libraries of different database engines. The semantic specification library of the database engine can record the database corresponding to the database engine, and the detailed description of the tables and fields in the database.
如,数据库引擎对应的数据库的存储类型,表类型,表结构,主键和索引字段,列类型以及列类型限制等相关信息,还可以包含对于一些查询操作的别称以及列表达式的别称等。For example, the database storage type, table type, table structure, primary key and index fields, column type, and column type restrictions and other related information of the database corresponding to the database engine can also include aliases for some query operations and column expressions.
由此可知,目标数据库引擎的语义规范库中可以包含对目标数据库引擎及其对应的数据库中相关内容以及操作的详细描述。基于此,结合目标数据库引擎的语义规范库,可以对第一数据库操作语句中各组成对象进行深度的语义解释,从而第一数据库操作语句中各组成对象的语义信息得到扩展与进一步明确。It can be seen from this that the semantic specification library of the target database engine may contain detailed descriptions of the relevant contents and operations in the target database engine and its corresponding database. Based on this, combined with the semantic specification library of the target database engine, in-depth semantic interpretation of each constituent object in the first database operation statement can be performed, so that the semantic information of each constituent object in the first database operation statement can be expanded and further clarified.
例如,假设第一数据库操作语句中为“Select······from table A”,但是表A在很多数据库都可能会存在,而该目标数据库引擎对应的数据库中该表A会有别名或者完整称呼,这样,在目标数据库引擎的语义规范库中会定义有表A的全称,如为Jdb.A,那么,则需要修改或者添加该tableA的语义为Jdb.A。For example, suppose the first database operation statement is "Select...from table A", but table A may exist in many databases, and the table A in the database corresponding to the target database engine will have an alias or In this way, the full name of table A will be defined in the semantic specification library of the target database engine. If it is Jdb.A, then the semantics of this tableA needs to be modified or added as Jdb.A.
又例如,对于采用WITH语法定义的子查询,基于语义规范库,则可以将该子查询与引用到该子查询的FROM/JOIN节点进行关联。For another example, for a subquery defined using WITH syntax, based on the semantic specification library, the subquery can be associated with a FROM/JOIN node that references the subquery.
通过对第一数据库操作语句中各组成对象进行语义关系解释,不仅可以明确组成对象在目标数据库引擎对应数据库中的一些特殊语义信息,还可以明确不同组成对象之间的语义关系,从而为后续转换数据库操作语句提供了依据。By interpreting the semantic relationship of each constituent object in the first database operation statement, not only some special semantic information of the constituent objects in the database corresponding to the target database engine can be clarified, but also the semantic relationship between different constituent objects can be clarified, so as to provide information for subsequent conversion. The database operation statement provides the basis.
在一种可能的实现方式中,如果前面步骤S303通过逻辑语法树表征第一数据库操作语句对应的逻辑关系,那么数据库连接程序接口可以结合配置的目标数据库引擎对应的语义规范库,对逻辑语法树中各组成对象进行语义扩展与关系解释,得到关系型语法树。In a possible implementation manner, if the logical relationship corresponding to the first database operation statement is represented by the logical syntax tree in the previous step S303, the database connection program interface can combine the semantic specification library corresponding to the configured target database engine to perform the logical syntax tree. Each constituent object in the above is used for semantic expansion and relational interpretation, and a relational syntax tree is obtained.
该关系型语法树能够表征逻辑语法树及逻辑语法树中各组成对象之间的语法关系信息。The relational syntax tree can represent the logical syntax tree and the syntax relation information between the constituent objects in the logical syntax tree.
可以理解的是,通过遍历逻辑语法树,并依据目标数据库引擎的语法规范库可以对逻辑语法树中各个节点进行语义解释,为逻辑语法树中的节点添加扩展后的语义信息,还可以为逻辑语法树中不同节点之间的添加语义上的关系解释,便可以将该逻辑语法树变成了具有更丰富语义关系的关系型语法树。It can be understood that by traversing the logical syntax tree and according to the syntax specification library of the target database engine, each node in the logical syntax tree can be semantically interpreted, and extended semantic information can be added to the nodes in the logical syntax tree. Adding semantic relational explanations between different nodes in the syntax tree can turn the logical syntax tree into a relational syntax tree with richer semantic relationships.
通过关系型语法树可以确定第一数据库操作语句中所有标识符、函数以及参数等对象的来源以及类型等语义信息中的一种或者多种,通过关系型语法树不仅可以了解到第一数据库操作语句的语义,还能够为将第一数据库操作语句转换为第二数据库操作语句中的转换操作提供所需的语义信息。The source of all identifiers, functions, parameters and other objects in the first database operation statement and one or more kinds of semantic information such as types can be determined through the relational syntax tree. Through the relational syntax tree, not only can the first database operation be learned The semantics of the statement can also provide necessary semantic information for the conversion operation in converting the first database operation statement into the second database operation statement.
S305,结合第一数据库操作语句中各组成对象的语义关系信息,将第一数据库操作语句转换为符合目标数据库引擎对应的第二语言规范的第二数据库操作语句。S305: Combine the semantic relationship information of each constituent object in the first database operation statement, and convert the first database operation statement into a second database operation statement that conforms to the second language specification corresponding to the target database engine.
将一种数据库操作语句转换为另一种数据库操作语句所采用的转换算法可以有多种可能,本申请对此不加限制。但是仅仅依据转换算法进行语句转换,则可能会导致转换错误,或者有些转换操作无法执行。There may be many possibilities for the conversion algorithm used to convert one database operation statement to another database operation statement, which is not limited in this application. However, only converting statements based on the conversion algorithm may result in conversion errors, or some conversion operations cannot be performed.
在本申请中通过确定出第一数据库操作语句中各组成对象之间的语义关系信息,可以为语句转换提供信息依据,从而可以在转换算法执行过程中,为一些转换操作提供信息依据,避免由于信息缺失而导致无法执行部分语句转换,也可以降低语句转换错误。In the present application, by determining the semantic relationship information between the constituent objects in the first database operation statement, an information basis can be provided for the statement conversion, so as to provide an information basis for some conversion operations during the execution of the conversion algorithm, so as to avoid the Missing information that prevents some statement transformations from being performed can also reduce statement transformation errors.
例如,语句转换中需要结合两个组成对象,如果不清楚这两个组成对象之间的语义关系,在转换为另一种语言规范的语句转换时,则可能会存在转换错误,而结合语义关系信息,则可以明确二者关系,进而可以完成相应的转换处理。For example, two constituent objects need to be combined in statement transformation. If the semantic relationship between these two constituent objects is not clear, there may be a transformation error when converting to a statement transformation of another language specification, and the semantic relationship is combined. information, the relationship between the two can be clarified, and then the corresponding conversion processing can be completed.
又例如,假设根据语义关系信息可以明确出语句中一个表中没有任意标示符等是来源于这个表的,可以确定这个表是无用的表,那么在语句转换的过程中,则可以将这个表去掉。For another example, assuming that according to the semantic relationship information, it can be determined that there is no arbitrary identifier in a table in the statement that is derived from this table, and it can be determined that this table is a useless table, then in the process of statement conversion, this table can be converted. remove.
在一种可能的实现方式中,在转换出关系型语法树的前提下,可以将关系型语法树转换为符合目标数据库引擎对应的第二语言规范的至少一个转换后关系型语法树。也就是说,按照目标数据库引擎对应的第二语言规范对关系型语法树进行遍历,并将关系型语法树所表达的语句进行等意转换,得到所表达的数据库操作行为与该关系型语法树所表达的数据库操作行为一致,但是所采用的语言规范不同的语法树。In a possible implementation manner, on the premise of converting the relational syntax tree, the relational syntax tree may be converted into at least one converted relational syntax tree that conforms to the second language specification corresponding to the target database engine. That is to say, the relational syntax tree is traversed according to the second language specification corresponding to the target database engine, and the sentences expressed by the relational syntax tree are equivalently converted to obtain the expressed database operation behavior and the relational syntax tree. The expressed database operation behavior is the same, but the language used to specify different syntax trees.
相应的,可以基于转换后关系型语法树转换出第二数据库操作语句。Correspondingly, the second database operation statement may be converted based on the converted relational syntax tree.
可以理解的是,考虑到同一个标识符以及函数等对象,或者是同一组对象关系等,在第二语言规范中可能会有多种表达含义相同却形式不同的表达方式,因此,转换后关系型语法树可能会有多个。It is understandable that, considering the same identifier and objects such as functions, or the same set of object relationships, etc., there may be multiple expressions with the same meaning but different forms in the second language specification. Therefore, the converted relationship There may be more than one type of syntax tree.
本申请可以基于任意一个转换后关系型语法树,来转换出数据库操作语句,以得到符合第二语言规范的第二数据库操作语句。The present application can convert a database operation statement based on any converted relational syntax tree to obtain a second database operation statement that conforms to the second language specification.
可以理解的是,由于不同转换后关系型语法树虽然表达的语句含义相同,但是不同转换后关系型语法树对应转换出的语句所需的执行性能会存在差距,为了提升后续调用数据库引擎查询数据的性能,本申请还可以从多个转换后关系型语法树中选择出执行查询操作的查询性能最优的一个转换后关系型语法树,并基于该转换后关系型语法树确定第二数据库操作语句。It is understandable that although different relational syntax trees after conversion express the same meaning of statements, there will be differences in the execution performance required for the converted statements corresponding to different relational syntax trees after conversion. In order to improve the subsequent calls to the database engine to query data performance, the present application can also select from a plurality of converted relational syntax trees a post-conversion relational syntax tree with the best query performance for performing a query operation, and determine a second database operation based on the converted relational syntax tree statement.
在一种可能的实现方式中,本申请中可以基于成本优化器对至少一个转换后关系型语法树进行优化筛选,得到筛选出的转换后关系型语法树。相应的,可以基于筛选出的转换后关系型语法树转换出第二数据库操作语句。In a possible implementation manner, in the present application, at least one post-conversion relational syntax tree may be optimized and screened based on a cost optimizer to obtain a filtered post-conversion relational syntax tree. Correspondingly, the second database operation statement can be converted based on the filtered relational syntax tree after conversion.
其中,成本优化器(Cost Based Optimizer,CBO),也可以称为基于成本的优化器。在基于CBO对至少一个转换后关系型语法树进行优化筛选的过程中,会比较执行各个转换后关系型语法树所需的内存、输入输出等消耗情况,进而确定出一个资源耗费最小或者说执行性能最优的转换后关系型语法树。Among them, the Cost Based Optimizer (CBO) may also be referred to as a cost-based optimizer. In the process of optimizing and screening at least one converted relational syntax tree based on CBO, the consumption of memory, input and output, etc. required to execute each converted relational syntax tree will be compared, and then a resource consumption with the least resource consumption or execution will be determined. The best performing transformed relational syntax tree.
S306,将第二数据库操作语句传输给目标数据库引擎。S306: Transmit the second database operation statement to the target database engine.
该步骤可以参见前面实施例的相关介绍,在此不再赘述。For this step, reference may be made to the relevant introduction of the foregoing embodiments, and details are not described herein again.
为了便于理解本申请方案的好处,下面结合一种应用场景对本申请的方案进行说明。In order to facilitate understanding of the benefits of the solution of the present application, the solution of the present application will be described below with reference to an application scenario.
以代码开发平台采用SQL语言这一场景为例,并结合一种可能实现方式对本申请的方案进行说明。Taking the scenario where the code development platform adopts the SQL language as an example, the solution of the present application will be described in combination with a possible implementation manner.
如图4所示,其示出了本申请实施例提供的数据处理方法在一种应用场景中的流程示意图,本实施例的方法应用于代码开发平台。本实施例可以包括:As shown in FIG. 4 , it shows a schematic flowchart of the data processing method provided by the embodiment of the present application in an application scenario, and the method of this embodiment is applied to a code development platform. This embodiment may include:
S401,获得数据库操作信息。S401, obtain database operation information.
其中,数据库操作信息至少包括采用第一SQL语言规范的第一SQL语句和需要执行数据库操作的目标应用的应用类型。The database operation information includes at least a first SQL statement using the first SQL language specification and an application type of a target application that needs to perform database operations.
如,代码开发平台设定作为ISO/IEC 9075标准的SQL语言规范,则第一SQL语句为采用ISO/IEC 9075规范的SQL语句。For example, if the code development platform sets the SQL language specification as the ISO/IEC 9075 standard, the first SQL statement is the SQL statement using the ISO/IEC 9075 specification.
S402,通过JDBC接口基于目标应用的应用类型,并利用引擎分类模型,确定适合该目标应用的目标数据库引擎。S402, based on the application type of the target application through the JDBC interface, and using the engine classification model, determine a target database engine suitable for the target application.
如,将目标应用的应用类型输入到引擎分类模型,可以得到引擎分类模型输出的各个数据库引擎的适合概率,将适合概率最大的数据库引擎确定为目标数据库引擎。For example, by inputting the application type of the target application into the engine classification model, the suitable probability of each database engine output by the engine classification model can be obtained, and the database engine with the largest suitable probability is determined as the target database engine.
当然,此处仅仅是举例说明,具体结合引擎分类模型,确定适合目标应用的数据库引擎的类别的方式还可以有其他可能,对此不加限制。Of course, this is just an example, and there are other possibilities for determining the category of the database engine suitable for the target application in combination with the engine classification model, which is not limited.
S403,基于JDBC接口中配置的不同数据库引擎对应的译码模块,确定该目标数据库引擎对应的目标译码模块。S403, based on the decoding modules corresponding to different database engines configured in the JDBC interface, determine a target decoding module corresponding to the target database engine.
S404,通过目标译码模块将第一SQL语句转换为逻辑语法树。S404, the first SQL statement is converted into a logical syntax tree by the target decoding module.
从SQL语句转换为逻辑语法树的方式可以有多种可能,对于具体转换方式不加限制。There are many possibilities for converting from an SQL statement to a logical syntax tree, and there is no restriction on the specific conversion method.
S405,通过目标译码模块结合目标数据库引擎对应的语义规范库,对该逻辑语法树中各组成对象进行语义扩展与关系解释,得到关系型语法树。S405 , by combining the target decoding module with the semantic specification library corresponding to the target database engine, perform semantic expansion and relational interpretation on each constituent object in the logical syntax tree to obtain a relational syntax tree.
该关系型语法树能够表征该逻辑语法树及逻辑语法树中各组成对象之间的语法关系信息。The relational syntax tree can represent the logical syntax tree and the syntax relation information between the constituent objects in the logical syntax tree.
S406,将关系型语法树转换为符合目标数据库引擎对应的第二SQL语言规范的至少一个转换后关系型语法树。S406: Convert the relational syntax tree into at least one converted relational syntax tree that conforms to the second SQL language specification corresponding to the target database engine.
例如,假设目标数据库引擎支持的SQL语言规范为SparkSQL,则需要基于SparkSQL的语言规范,转换关系型语法树。For example, if the SQL language specification supported by the target database engine is SparkSQL, the relational syntax tree needs to be converted based on the SparkSQL language specification.
S407,基于CBO对至少一个转换后关系型语法树进行优化筛选,得到筛选出的转换后关系型语法树。S407: Perform optimization screening on at least one converted relational syntax tree based on the CBO, to obtain a filtered converted relational syntax tree.
S408,基于筛选出的转换后关系型语法树转换出第二SQL语句。S408 , convert the second SQL statement based on the filtered relational syntax tree after conversion.
S409,将第二SQL语句传输给目标数据库引擎。S409, transmit the second SQL statement to the target database engine.
可以理解的是,在图4的实施例中,代码开发平台在设定了代码开发平台采用的第一SQL语言规范之后,用户可以统一采用第一SQL语言规范编写SQL语句,并仅仅输入所需数据库操作的应用类型,而用户既不需要关心所需调用的数据库引擎,也不需要关心数据库引擎所需要支持的语言规范。而代码开发平台调用统一的JDBC接口中配置的引擎分类模型,不仅可以确定确定适合的数据库引擎,还可以基于JDBC中该数据库引擎对应的译码模块将第一SQL语句转换为适合该数据库引擎的SQL语句,大大提升了数据库操作的便捷性。It can be understood that, in the embodiment of FIG. 4 , after the code development platform sets the first SQL language specification adopted by the code development platform, the user can uniformly use the first SQL language specification to write SQL statements, and only input required SQL statements. The application type of the database operation, and the user does not need to care about the database engine that needs to be called, nor the language specification that the database engine needs to support. The code development platform calls the engine classification model configured in the unified JDBC interface, not only can determine the appropriate database engine, but also can convert the first SQL statement into a suitable database engine based on the decoding module corresponding to the database engine in JDBC SQL statements greatly improve the convenience of database operations.
另外,由于同一个JDBC接口中可以采用插件形式插入不同数据库引擎的译码模块,在代码开发平台的业务场景发生变化等情况,导致代码开发平台存在调用的数据库引擎的种类发生变化时,则可以灵活开发相应的数据库引擎的译码模块并以插件形式设置到JDBC接口中,并删除JDBC中不需要的数据库引擎对应的译码模块即可,灵活性较高。In addition, since the decoding modules of different database engines can be inserted into the same JDBC interface in the form of plug-ins, when the business scenario of the code development platform changes, which causes the type of database engine to be called by the code development platform to change, you can Flexibly develop the decoding module of the corresponding database engine and set it in the JDBC interface in the form of a plug-in, and delete the decoding module corresponding to the database engine that is not required in JDBC, and the flexibility is high.
对应本申请的一种数据处理方法,本申请还提供了一种数据处理装置。Corresponding to a data processing method of the present application, the present application also provides a data processing apparatus.
如图5所示,其示出了本申请提供的数据处理装置的一种组成结构示意图,本实施例的装置可以应用于代码开发平台,本实施例可以包括:As shown in FIG. 5, it shows a schematic diagram of the composition and structure of the data processing apparatus provided by the present application. The apparatus in this embodiment may be applied to a code development platform, and this embodiment may include:
信息获得单元501,用于获得数据库操作信息,该数据库操作信息至少包括采用第一语言规范的第一数据库操作语句;an
引擎确定单元502,用于确定数据库操作所需调用的目标数据库引擎;An
语句转换单元503,用于基于数据库连接程序接口中配置的该目标数据库引擎支持的第二语言规范,将该第一数据库操作语句转换为符合该第二语言规范的第二数据库操作语句;A
引擎调用单元504,用于将该第二数据库操作语句传输给该目标数据库引擎。The
在一种可能的实现方式中,信息获得单元获得的数据库操作信息还包括:代码开发平台中需要执行数据库操作的目标应用的应用类型。In a possible implementation manner, the database operation information obtained by the information obtaining unit further includes: the application type of the target application in the code development platform that needs to perform the database operation.
该引擎确定单元,可以包括:The engine determination unit can include:
引擎确定子单元,用于基于所述目标应用的应用类型,确定适合所述目标应用的目标数据库引擎。The engine determination subunit is configured to determine a target database engine suitable for the target application based on the application type of the target application.
在一种可能的实现方式中,该引擎确定子单元,具体为,用于基于所述目标应用的应用类型,利用引擎分类模型确定适合所述目标应用的目标数据库引擎,所述引擎分类模型为利用标注有适合的数据库引擎的多个应用数据样本训练得到,所述应用数据样本至少包括应用的应用类型。In a possible implementation manner, the engine determination subunit is specifically configured to use an engine classification model to determine a target database engine suitable for the target application based on the application type of the target application, and the engine classification model is: It is obtained by training with a plurality of application data samples marked with a suitable database engine, and the application data samples at least include the application type of the application.
在一种可能的实现方式中,应用数据样本还包括:所述应用使用的数据库引擎的日志数据,所述日志数据包括:所述应用调用的数据库引擎的引擎信息以及所述应用调用数据库引擎所产生的日志;In a possible implementation manner, the application data sample further includes: log data of a database engine used by the application, and the log data includes: engine information of the database engine invoked by the application and information about the database engine invoked by the application. generated logs;
该装置还包括模型训练模型,该模型训练单元用于通过如下方式训练所述引擎分类模型:The device also includes a model training model, and the model training unit is used to train the engine classification model in the following manner:
获得多个应用使用的数据库引擎的历史数据,所述历史数据包括所述应用的应用类型以及所述应用使用的数据库引擎的日志数据;Obtain historical data of database engines used by multiple applications, where the historical data includes application types of the applications and log data of the database engines used by the applications;
基于所述应用使用的数据库引擎的历史数据,确定所述应用适合的数据库引擎;Determine the database engine suitable for the application based on the historical data of the database engine used by the application;
依据所述应用适合的数据库引擎,利用所述应用的应用类型以及所述应用使用的数据库引擎的日志数据,训练支持向量机分类器,将训练出的支持向量机分类器确定为引擎分类模型。According to the database engine suitable for the application, use the application type of the application and the log data of the database engine used by the application to train the support vector machine classifier, and determine the trained support vector machine classifier as the engine classification model.
在又一种可能的实现方式中,语句转换单元,包括:In yet another possible implementation, the statement conversion unit includes:
模块确定子单元,用于基于数据库连接程序接口中配置的不同数据库引擎对应的译码模块,确定所述目标数据库引擎对应的目标译码模块;The module determines the subunit for determining the target decoding module corresponding to the target database engine based on the decoding modules corresponding to different database engines configured in the database connection program interface;
语句转换子单元,用于基于所述目标译码模块中所述目标数据库引擎的转换规则,将所述第一数据库操作语句转换为符合所述目标数据引擎库对应的第二语言规范的第二数据库操作语句。The statement conversion subunit is used to convert the first database operation statement into a second language specification that conforms to the second language specification corresponding to the target data engine library based on the conversion rules of the target database engine in the target decoding module. Database operation statement.
在又一种可能的实现方式中,该语句转换单元,包括:In yet another possible implementation, the statement conversion unit includes:
关系确定单元,用于基于数据库连接程序接口确定第一数据库操作语句中各组成对象之间的逻辑关系;a relationship determination unit, configured to determine the logical relationship between the constituent objects in the first database operation statement based on the database connection program interface;
语义解释单元,用于结合所述逻辑关系以及所述数据库连接程序接口中配置的所述目标数据库引擎对应的语义规范库,对所述第一数据库操作语句中的各组成对象进行语义扩展与关系解释,得到所述第一数据库操作语句中各组成对象之间的语义关系信息;A semantic interpretation unit, configured to perform semantic expansion and relationship on each constituent object in the first database operation statement in combination with the logical relationship and the semantic specification library corresponding to the target database engine configured in the database connection program interface Interpretation to obtain semantic relationship information between the constituent objects in the first database operation statement;
转换处理单元,用于结合所述第一数据库操作语句中各组成对象的语义关系信息,将所述第一数据库操作语句转换为符合所述目标数据库引擎对应的第二语言规范的第二数据库操作语句。A conversion processing unit, configured to convert the first database operation statement into a second database operation that conforms to the second language specification corresponding to the target database engine in combination with the semantic relationship information of each constituent object in the first database operation statement statement.
在又一种可能的实现方式中,该关系确定单元包括:关系树构建单元,用于基于所述数据库连接程序接口构建用于表征所述第一数据库操作语句的逻辑语法树;In another possible implementation manner, the relationship determination unit includes: a relationship tree construction unit, configured to construct a logical syntax tree for representing the first database operation statement based on the database connection program interface;
语义解释单元,包括:Semantic Interpretation Units, including:
关系树转换单元,用于结合配置的所述目标数据库引擎对应的语义规范库,对所述逻辑语法树中各组成对象进行语义扩展与关系解释,得到关系型语法树;A relational tree conversion unit, configured to perform semantic expansion and relational interpretation on each constituent object in the logical syntax tree in combination with the semantic specification library corresponding to the configured target database engine, to obtain a relational syntax tree;
转换处理单元,包括:Conversion processing units, including:
树规范单元,用于将所述关系型语法树转换为符合所述目标数据库引擎对应的第二语言规范的至少一个转换后关系型语法树;A tree specification unit, configured to convert the relational syntax tree into at least one converted relational syntax tree that complies with the second language specification corresponding to the target database engine;
树转语句单元,用于基于所述转换后关系型语法树转换出第二数据库操作语句。A tree-to-statement unit is configured to convert a second database operation statement based on the converted relational syntax tree.
在又一种可能的实现方式中,该装置还包括:In yet another possible implementation, the device further includes:
筛选单元,用于在树转语句单元在基于所述转换后关系型语法树转换出第二数据库操作语句之前,基于成本优化器对所述至少一个转换后关系型语法树进行优化筛选,得到筛选出的转换后关系型语法树;A screening unit, configured to optimize and screen the at least one post-conversion relational syntax tree based on the cost optimizer before the tree-to-statement unit converts the second database operation statement based on the post-conversion relational syntax tree, to obtain a screened The converted relational syntax tree obtained;
该树转语句单元,具体为,用于基于筛选出的转换后关系型语法树转换出第二数据库操作语句。The tree-to-statement unit is specifically configured to convert the second database operation statement based on the filtered relational syntax tree after conversion.
又一方面,本申请还提供了一种电子设备,如图6所示,其示出了该电子设备的一种组成结构示意图,该电子设备可以为任意类型的电子设备,该电子设备至少包括存储器601和处理器602;In another aspect, the present application also provides an electronic device, as shown in FIG. 6 , which shows a schematic structural diagram of the electronic device, the electronic device can be any type of electronic device, and the electronic device at least includes memory 601 and
其中,处理器601用于执行如上任意一个实施例中的数据处理方法。The processor 601 is configured to execute the data processing method in any one of the above embodiments.
该存储器602用于存储处理器执行操作所需的程序。The
可以理解的是,该电子设备还可以包括显示单元603以及输入单元604。It can be understood that the electronic device may further include a
当然,该电子设备还可以具有比图6更多或者更少的部件,对此不加限制。Of course, the electronic device may also have more or less components than in FIG. 6 , which is not limited.
另一方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上任意一个实施例所述的数据处理方法。In another aspect, the present application also provides a computer-readable storage medium, where at least one instruction, at least one program, code set or instruction set is stored in the computer-readable storage medium, the at least one instruction, the at least one A piece of program, the code set or the instruction set is loaded and executed by the processor to implement the data processing method described in any one of the above embodiments.
本申请还提出了一种计算机程序,该计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机程序在电子设备上运行时,用于执行如上任意一个实施例中所述的数据处理方法。The present application also proposes a computer program comprising computer instructions stored in a computer-readable storage medium. When the computer program runs on the electronic device, it is used to execute the data processing method described in any one of the above embodiments.
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。同时,本说明书中各实施例中记载的特征可以相互替换或者组合,使本领域专业技术人员能够实现或使用本申请。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。It should be noted that the various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. For the same and similar parts among the various embodiments, refer to each other Can. Meanwhile, the features described in each embodiment in this specification can be replaced or combined with each other, so that those skilled in the art can realize or use the present application. As for the apparatus-type embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and for related parts, please refer to the partial descriptions of the method embodiments.
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。Finally, it should also be noted that in this document, relational terms such as first and second are used only to distinguish one entity or operation from another, and do not necessarily require or imply these entities or that there is any such actual relationship or sequence between operations. Moreover, the terms "comprising", "comprising" or any other variation thereof are intended to encompass a non-exclusive inclusion such that a process, method, article or device that includes a list of elements includes not only those elements, but also includes not explicitly listed or other elements inherent to such a process, method, article or apparatus. Without further limitation, an element qualified by the phrase "comprising a..." does not preclude the presence of additional identical elements in the process, method, article, or device that includes the element.
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。The above description of the disclosed embodiments enables any person skilled in the art to make or use the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, this application is not intended to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210192164.3A CN114547083A (en) | 2022-02-28 | 2022-02-28 | Data processing method and device and electronic equipment |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210192164.3A CN114547083A (en) | 2022-02-28 | 2022-02-28 | Data processing method and device and electronic equipment |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN114547083A true CN114547083A (en) | 2022-05-27 |
Family
ID=81660811
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202210192164.3A Pending CN114547083A (en) | 2022-02-28 | 2022-02-28 | Data processing method and device and electronic equipment |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN114547083A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114706918A (en) * | 2022-06-01 | 2022-07-05 | 杭州安恒信息技术股份有限公司 | A multi-type database compatible method, device, device and storage medium |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030041053A1 (en) * | 2001-08-23 | 2003-02-27 | Chantal Roth | System and method for accessing biological data |
| CN106095792A (en) * | 2016-05-27 | 2016-11-09 | 中国银联股份有限公司 | The method and apparatus generating database manipulation code |
| CN108763573A (en) * | 2018-06-06 | 2018-11-06 | 众安信息技术服务有限公司 | A kind of OLAP engines method for routing and system based on machine learning |
| CN111581299A (en) * | 2020-04-30 | 2020-08-25 | 北华航天工业学院 | Inter-library data conversion system and method of multi-source data warehouse based on big data |
| CN113282610A (en) * | 2021-06-17 | 2021-08-20 | 金蝶软件(中国)有限公司 | Data query method and data query device |
| CN113342843A (en) * | 2021-07-06 | 2021-09-03 | 多点生活(成都)科技有限公司 | Big data online analysis method and system |
| CN113688176A (en) * | 2020-05-19 | 2021-11-23 | 阿里巴巴集团控股有限公司 | Data query method and data query device |
-
2022
- 2022-02-28 CN CN202210192164.3A patent/CN114547083A/en active Pending
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030041053A1 (en) * | 2001-08-23 | 2003-02-27 | Chantal Roth | System and method for accessing biological data |
| CN106095792A (en) * | 2016-05-27 | 2016-11-09 | 中国银联股份有限公司 | The method and apparatus generating database manipulation code |
| CN108763573A (en) * | 2018-06-06 | 2018-11-06 | 众安信息技术服务有限公司 | A kind of OLAP engines method for routing and system based on machine learning |
| CN111581299A (en) * | 2020-04-30 | 2020-08-25 | 北华航天工业学院 | Inter-library data conversion system and method of multi-source data warehouse based on big data |
| CN113688176A (en) * | 2020-05-19 | 2021-11-23 | 阿里巴巴集团控股有限公司 | Data query method and data query device |
| CN113282610A (en) * | 2021-06-17 | 2021-08-20 | 金蝶软件(中国)有限公司 | Data query method and data query device |
| CN113342843A (en) * | 2021-07-06 | 2021-09-03 | 多点生活(成都)科技有限公司 | Big data online analysis method and system |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114706918A (en) * | 2022-06-01 | 2022-07-05 | 杭州安恒信息技术股份有限公司 | A multi-type database compatible method, device, device and storage medium |
| CN114706918B (en) * | 2022-06-01 | 2022-09-16 | 杭州安恒信息技术股份有限公司 | A multi-type database compatible method, device, device and storage medium |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12204528B2 (en) | Converting database language statements between dialects | |
| US11893011B1 (en) | Data query method and system, heterogeneous acceleration platform, and storage medium | |
| US8275731B2 (en) | Anonymous types for statically typed queries | |
| CN113051268A (en) | Data query method, data query device, electronic equipment and storage medium | |
| US11334474B2 (en) | Fast change impact analysis tool for large-scale software systems | |
| US8417690B2 (en) | Automatically avoiding unconstrained cartesian product joins | |
| CN116483850A (en) | Data processing method, device, equipment and medium | |
| CN106687955B (en) | Simplifying invocation of an import procedure to transfer data from a data source to a data target | |
| CN110019314B (en) | Dynamic data encapsulation method, client and server based on data item analysis | |
| US11829814B2 (en) | Resolving data location for queries in a multi-system instance landscape | |
| US20110035371A1 (en) | Data comparison system | |
| CN114356964A (en) | Data lineage construction method, device, storage medium and electronic device | |
| CN114443699A (en) | Information query method, apparatus, computer equipment, and computer-readable storage medium | |
| CN113779068B (en) | Data query method, device, equipment and storage medium | |
| CN114281842A (en) | A kind of method and device for database sub-table query | |
| CN115408417A (en) | Data query method, system, electronic equipment and storage medium | |
| CN114547083A (en) | Data processing method and device and electronic equipment | |
| CN114741067A (en) | Data management system, method and equipment | |
| CN111723104B (en) | Method, device and system for analyzing grammar in data processing system | |
| CN113448995A (en) | Database operation method, device and system, electronic equipment and storage medium | |
| CN117194472A (en) | Data set generation method, device, electronic equipment and readable medium | |
| CN117435611A (en) | Query statement generation method, device, equipment and storage medium | |
| CN117421302A (en) | Data processing method and related equipment | |
| CN117149825A (en) | Route search method, device, electronic equipment and storage medium | |
| CA3203549A1 (en) | Unified verification method, device, equipment and storage medium |
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 |