本申请涉及计算机程序,尤其是涉及一种基于sql统一查询的数据处理方法、装置以及电子设备。
背景技术:
1、目前,随着计算机信息技术的发展,各行各业通过采用信息化、自动化来解决各行业的问题,以提高行业的生产力。特别是近年来,随着大数据技术的发展,各行业的业务变得越来越复杂,对于计算机信息技术的要求越来越高。通常情况下,一个复杂的计算机软件系统,需要用到多种不同类型的数据库来存储数据,解决复杂的业务。对于传统的关系型数据库,部分查询可以使用标准结构化查询语言数据库(structured query languageserver database,sql)语句来访问。
2、但是,对于非关系型数据库如hbase、solr、redis、mongodb等,标准sql并不能用来访问数据库,通常情况只能使用各自数据库提供的客户端或中文名应用程序编程接口(applicationprogramminginterface,api)来访问。对于复杂的应用系统,需要使用各种类型数据库api来访问数据库,使得对于数据库的查询效率较低。
技术实现思路
1、本发明的目的在于提供一种基于sql统一查询的数据处理方法、装置以及电子设备,以缓解对于数据库的查询效率较低的技术问题。
2、第一方面,本申请实施例提供了一种基于sql统一查询的数据处理方法,所述方法包括:
3、通过统一查询客户端提供sql语句的查询页面,并接收针对所述查询页面输入的sql查询语句;
4、通过sql解析引擎根据所述sql查询语句提取查询信息;其中,所述查询信息包括查询表的信息和查询条件;
5、通过配置引擎根据所述查询表的信息获取所述查询表对应的数据库类型、数据库连接参数和表字段信息;
6、通过连接引擎根据所述数据库连接参数创建对应的数据库连接,并根据所述查询条件获取数据库的查询结果;
7、将所述查询结果返回至所述统一查询客户端,并通过所述查询页面展示所述查询结果。
8、在一个可能的实现中,所述通过sql解析引擎根据所述sql查询语句提取查询信息的步骤,包括:
9、通过sql解析引擎解析所述sql查询语句,得到解析结果,并基于所述解析结果提取所述sql查询语句的查询参数。
10、在一个可能的实现中,所述通过sql解析引擎解析所述sql查询语句,并提取所述sql查询语句的查询参数的步骤,包括:
11、通过sql解析引擎根据预设sql语句编写词法和语法脚本,并使用antlr.jar执行java-jar命令生成解析类;
12、利用所述解析类提取所述sql查询语句的sql语句查询参数。
13、在一个可能的实现中,所述查询信息包括:查询表名、字段以及查询条件。
14、在一个可能的实现中,所述通过配置引擎根据所述查询表的信息获取所述查询表对应的数据库类型、数据库连接参数和表字段信息的步骤,包括:
15、通过数据库配置引擎提供数据库的表配置信息,所述表配置信息用于配置查询表、数据库类型以及数据库连接参数;
16、根据所述查询信息中的所述查询表名查找所述查询表对应的数据库类型、表字段及表类型、数据库连接参数。
17、在一个可能的实现中,所述连接引擎包含数据库连接模块和数据查询模块;
18、所述通过连接引擎根据所述数据库连接参数创建对应的数据库连接,并根据所述查询条件获取数据库的查询结果的步骤,包括:
19、通过所述数据库连接模块根据所述数据库连接参数创建对应的数据库连接,并通过所述数据查询模块根据所述数据库类型、所述数据库连接、所述查询参数以及所述表字段信息查询并获取数据库的查询结果。
20、在一个可能的实现中,所述通过所述查询页面展示所述查询结果的步骤,包括:
21、在所述客户端提供的所述查询页面上以json方式展示所述查询结果。
22、第二方面,提供了一种基于sql统一查询的数据处理装置,包括:
23、接收模块,用于通过统一查询客户端提供sql语句的查询页面,并接收针对所述查询页面输入的sql查询语句;
24、提取模块,用于通过sql解析引擎根据所述sql查询语句提取查询信息;其中,所述查询信息包括查询表的信息和查询条件;
25、获取模块,用于通过配置引擎根据所述查询表的信息获取所述查询表对应的数据库类型、数据库连接参数和表字段信息;
26、创建模块,用于通过连接引擎根据所述数据库连接参数创建对应的数据库连接,并根据所述查询条件获取数据库的查询结果;
27、展示模块,用于将所述查询结果返回至所述统一查询客户端,并通过所述查询页面展示所述查询结果。
28、第三方面,本申请实施例又提供了一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的第一方面所述方法。
29、第四方面,本申请实施例又提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述的第一方面所述方法。
30、本申请实施例带来了以下有益效果:
31、本申请实施例提供的一种基于sql统一查询的数据处理方法、装置以及电子设备,能够通过统一查询客户端提供sql语句的查询页面,并接收针对所述查询页面输入的sql查询语句;通过sql解析引擎根据所述sql查询语句提取查询信息;其中,所述查询信息包括查询表的信息和查询条件;通过配置引擎根据所述查询表的信息获取所述查询表对应的数据库类型、数据库连接参数和表字段信息;通过连接引擎根据所述数据库连接参数创建对应的数据库连接,并根据所述查询条件获取数据库的查询结果;将所述查询结果返回至所述统一查询客户端,并通过所述查询页面展示所述查询结果。本方案中,通过使用统一sql语句方式查询不同种类型数据库的方法,能够使用类标准的sql语句来查询各种不同类型的数据库,给使用者带来极大的便利,降低使用成本,提高工作以及对于数据库的查询效率。
32、为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
1.一种基于sql统一查询的数据处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述通过sql解析引擎根据所述sql查询语句提取查询信息的步骤,包括:
3.根据权利要求2所述的方法,其特征在于,所述通过sql解析引擎解析所述sql查询语句,得到解析结果,并基于所述解析结果提取所述sql查询语句的查询参数的步骤,包括:
4.根据权利要求1所述的方法,其特征在于,所述查询信息包括:查询表名、字段以及查询条件。
5.根据权利要求4所述的方法,其特征在于,所述通过配置引擎根据所述查询表的信息获取所述查询表对应的数据库类型、数据库连接参数和表字段信息的步骤,包括:
6.根据权利要求2所述的方法,其特征在于,所述连接引擎包含数据库连接模块和数据查询模块;
7.根据权利要求1所述的方法,其特征在于,所述通过所述查询页面展示所述查询结果的步骤,包括:
8.一种基于sql统一查询的数据处理装置,其特征在于,包括:
9.一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至7任一项所述的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行所述权利要求1至7任一项所述的方法。