数据处理系统及方法与流程

文档序号:37791156发布日期:2024-04-30 17:01阅读:13来源:国知局
数据处理系统及方法与流程

本说明书涉及计算机,特别涉及数据处理系统及方法。


背景技术:

1、在海量数据的时代,随着表数据规模的不断增大和数据库种类的增多,多种不同类型的关系型数据库需要进行海量数据交互访问。然而,使用异构数据库通过数据库连接执行查询访问会出现查询语句不能匹配待查询数据库的情况,在查询过程中也可能导致大量数据在网络上传输,严重影响性能。现有技术中,通常采用数据库连接技术解决异构数据库之间不适配的问题。然而由于不同的数据库对应不同的查询语句规范,同一查询语句无法在多种数据库环境下执行,因此,亟需一种较为有效的数据处理系统以解决上述问题。


技术实现思路

1、有鉴于此,本说明书实施例提供了一种数据处理系统。本说明书同时涉及一种数据处理方法,一种数据处理装置,一种计算设备,以及一种计算机可读存储介质,一种计算机程序产品,以解决现有技术中存在的技术缺陷。

2、根据本说明书实施例的第一方面,提供了一种数据处理系统,包括客户端和远程服务器,其中,所述远程服务器包含至少一个与所述客户端通信连接的远程数据库;

3、所述客户端,用于接收查询请求,并对所述查询请求进行解析获得查询语句;根据所述远程数据库的统计信息预测所述查询语句对应的至少一个语句执行路径的资源消耗信息;根据各语句执行路径的资源消耗信息在所述至少一个语句执行路径中选择目标语句执行路径;按照所述目标语句执行路径将所述查询语句逆解析为远程查询语句,并按照所述远程数据库的查询规则将所述远程查询语句改写为目标远程查询语句;将所述目标远程查询语句发送至所述远程服务器;

4、所述远程服务器,用于调用所述远程数据库执行所述目标远程查询语句,获得查询信息,并将所述查询信息发送至所述客户端。

5、可选地,所述客户端,还用于根据所述查询语句包含的表信息在所述远程服务器包含的至少一个数据库中选择远程数据库;利用与所述远程数据库匹配的通信协议建立与所述远程数据库的通信连接。

6、可选地,所述客户端,还用于构建所述查询语句对应的查询树;根据所述远程数据库的统计信息预测所述查询树对应的至少一个语句执行路径的资源消耗信息;根据各语句执行路径的资源消耗信息在所述至少一个语句执行路径中选择目标语句执行路径;将所述目标语句执行路径包含的执行节点与所述查询树的树节点进行匹配,根据匹配结果以及所述目标语句执行路径的节点执行顺序生成所述查询树对应的树节点遍历策略;按照所述树节点遍历策略对所述查询树进行遍历,根据遍历结果生成与所述远程数据库的数据库类型对应的远程查询语句,其中,在所述远程查询语句关联至少两个查询条件的情况下,所述远程查询语句与所述查询语句的语句结构不同。

7、可选地,所述客户端,用于确定所述远程数据库的查询规则包含的函数转换信息,基于所述函数转换信息对所述远程查询语句中的查询函数进行改写,获得目标远程查询语句;或者,确定所述远程数据库的查询规则包含的类型转换信息,基于所述类型转换信息对所述远程查询语句的转换类型进行改写,获得目标远程查询语句;或者,确定所述远程数据库的查询规则包含的函数转换信息和类型转换信息,基于所述函数转换信息和所述类型转换信息对所述远程查询语句中的查询函数和所述远程查询语句的转换类型进行改写,获得目标远程查询语句。

8、可选地,所述客户端,还用于在确定所述查询语句包含关联表信息的情况下,确定所述关联表信息对应的关联类型;判断所述关联类型是否符合表关联条件,若是,执行所述根据所述远程数据库的统计信息生成所述查询语句对应的至少一个语句执行路径的步骤;若否,基于所述远程数据库的语句规则和所述查询语句生成数据查询子句,并将所述数据查询子句发送至所述远程服务器;接收所述远程服务器调用所述远程数据库执行所述数据查询子句获得的查询数据;基于所述查询语句中的过滤子句对所述查询数据进行过滤,获得所述查询信息。

9、可选地,所述远程数据库,用于判断所述客户端对应的客户端数据库类型是否与远程数据库类型匹配;若是,执行所述将所述查询信息发送至所述客户端的步骤;若否,将所述查询信息转换为与所述客户端数据库类型匹配的目标查询信息,并将所述目标查询信息作为所述查询信息发送至所述客户端。

10、可选地,所述客户端,还用于在所述查询语句为字符串的情况下,获取所述远程数据库的远程字符序;在客户端字符序与所述远程字符序一致的情况下,执行所述按照所述远程数据库的查询规则将所述远程查询语句改写为目标远程查询语句的步骤。

11、可选地,所述客户端,还用于在客户端字符序与所述远程字符序不一致的情况下,将所述查询语句发送至所述远程服务器;所述远程服务器,用于将所述查询语句解析为待执行查询语句;调用所述远程数据库执行所述待执行查询语句,获得目标查询信息,并将所述目标查询信息发送至所述客户端。

12、根据本说明书实施例的第二方面,提供了一种数据处理方法,应用于客户端,所述客户端通信连接远程服务器包含的至少一个远程数据库,包括:

13、接收关联所述至少一个远程数据库中目标远程数据库的查询请求,并对所述查询请求进行解析获得查询语句;

14、根据所述目标远程数据库的统计信息预测所述查询语句对应的至少一个语句执行路径的资源消耗信息;

15、根据各语句执行路径的资源消耗信息在所述至少一个语句执行路径中选择目标语句执行路径;

16、按照所述目标语句执行路径将所述查询语句逆解析为远程查询语句,并按照所述目标远程数据库的查询规则将所述远程查询语句改写为目标远程查询语句;

17、将所述目标远程查询语句发送至所述远程服务器,并接收所述远程服务器调用所述目标远程数据库执行所述目标远程查询语句获得的查询信息。

18、根据本说明书实施例的第三方面,提供了一种数据处理装置,应用于客户端,所述客户端通信连接远程服务器包含的至少一个远程数据库,包括:

19、接收模块,被配置为接收关联所述至少一个远程数据库中目标远程数据库的查询请求,并对所述查询请求进行解析获得查询语句;

20、预测模块,被配置为根据所述目标远程数据库的统计信息预测所述查询语句对应的至少一个语句执行路径的资源消耗信息;

21、选择模块,被配置为根据各语句执行路径的资源消耗信息在所述至少一个语句执行路径中选择目标语句执行路径;

22、改写模块,被配置为按照所述目标语句执行路径将所述查询语句逆解析为远程查询语句,并按照所述目标远程数据库的查询规则将所述远程查询语句改写为目标远程查询语句;

23、执行模块,被配置为将所述目标远程查询语句发送至所述远程服务器,并接收所述远程服务器调用所述目标远程数据库执行所述目标远程查询语句获得的查询信息。

24、根据本说明书实施例的第四方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序或指令,所述处理器执行所述计算机程序或指令时实现所述数据处理方法的步骤。

25、根据本说明书实施例的第五方面,提供了一种计算机可读存储介质,其存储有计算机程序或指令,该计算机程序或指令被处理器执行时实现所述数据处理方法的步骤。

26、根据本说明书实施例的第六方面,提供了一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现上述数据处理方法的步骤。

27、本说明书提供的数据处理系统包括客户端和远程服务器,远程服务器包含至少一个与客户端通信连接的远程数据库;客户端接收到查询请求后对查询请求进行解析获得查询语句。根据远程数据库的统计信息确定查询语句对应的目标语句执行路径;按照目标语句执行路径将查询语句逆解析为远程查询语句,并按照远程数据库的查询规则将远程查询语句改写为目标远程查询语句,从而实现将查询语句转换为远程数据库能够执行的目标远程查询语句,实现客户端与远程数据库之间的适配。使得客户端能够无缝地与远程数据库进行交互。由远程数据库执行目标远程查询语句,将获得的查询信息发送至客户端,实现仅向客户端传输满足查询条件的数据,从而降低远程数据库与客户端之间传输的数据量,减少网络开销,提高查询效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1