System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据处理系统及方法技术方案_技高网

数据处理系统及方法技术方案

技术编号:41129094 阅读:3 留言:0更新日期:2024-04-30 17:57
本说明书提供数据处理系统及方法,其中数据处理系统包括客户端和远程服务器,其中,远程服务器包含至少一个与客户端通信连接的远程数据库;客户端,用于接收查询请求,并对查询请求进行解析获得查询语句;根据远程数据库的统计信息预测查询语句对应的至少一个语句执行路径的资源消耗信息;根据各语句执行路径的资源消耗信息在至少一个语句执行路径中选择目标语句执行路径;按照目标语句执行路径将查询语句逆解析为远程查询语句,并按照远程数据库的查询规则将远程查询语句改写为目标远程查询语句;将目标远程查询语句发送至远程服务器;远程服务器,用于调用远程数据库执行目标远程查询语句,获得查询信息,并将查询信息发送至客户端。

【技术实现步骤摘要】

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


技术介绍

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

...

【技术保护点】

1.一种数据处理系统,其特征在于,包括客户端和远程服务器,其中,所述远程服务器包含至少一个与所述客户端通信连接的远程数据库;

2.根据权利要求1所述的数据处理系统,其特征在于,所述客户端,还用于根据所述查询语句包含的表信息在所述远程服务器包含的至少一个数据库中选择远程数据库;利用与所述远程数据库匹配的通信协议建立与所述远程数据库的通信连接。

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

4.根据权利要求1所述的数据处理系统,其特征在于,所述客户端,用于确定所述远程数据库的查询规则包含的函数转换信息,基于所述函数转换信息对所述远程查询语句中的查询函数进行改写,获得目标远程查询语句;或者,确定所述远程数据库的查询规则包含的类型转换信息,基于所述类型转换信息对所述远程查询语句的转换类型进行改写,获得目标远程查询语句;或者,确定所述远程数据库的查询规则包含的函数转换信息和类型转换信息,基于所述函数转换信息和所述类型转换信息对所述远程查询语句中的查询函数和所述远程查询语句的转换类型进行改写,获得目标远程查询语句。

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

6.根据权利要求1所述的数据处理系统,其特征在于,所述远程数据库,用于判断所述客户端对应的客户端数据库类型是否与远程数据库类型匹配;若是,执行所述将所述查询信息发送至所述客户端的步骤;若否,将所述查询信息转换为与所述客户端数据库类型匹配的目标查询信息,并将所述目标查询信息作为所述查询信息发送至所述客户端。

7.根据权利要求1所述的数据处理系统,其特征在于,所述客户端,还用于在所述查询语句为字符串的情况下,获取所述远程数据库的远程字符序;在客户端字符序与所述远程字符序一致的情况下,执行所述按照所述远程数据库的查询规则将所述远程查询语句改写为目标远程查询语句的步骤。

8.根据权利要求7所述的数据处理系统,其特征在于,所述客户端,还用于在客户端字符序与所述远程字符序不一致的情况下,将所述查询语句发送至所述远程服务器;

9.一种数据处理方法,其特征在于,应用于客户端,所述客户端通信连接远程服务器包含的至少一个远程数据库,包括:

10.一种计算设备,其特征在于,包括存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现权利要求9所述数据处理方法的步骤。

11.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求9所述数据处理方法的步骤。

12.一种计算机程序产品,包括计算机程序或指令,其特征在于,该计算机程序或指令被处理器执行时实现权利要求9所述数据处理方法的步骤。

...

【技术特征摘要】

1.一种数据处理系统,其特征在于,包括客户端和远程服务器,其中,所述远程服务器包含至少一个与所述客户端通信连接的远程数据库;

2.根据权利要求1所述的数据处理系统,其特征在于,所述客户端,还用于根据所述查询语句包含的表信息在所述远程服务器包含的至少一个数据库中选择远程数据库;利用与所述远程数据库匹配的通信协议建立与所述远程数据库的通信连接。

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

4.根据权利要求1所述的数据处理系统,其特征在于,所述客户端,用于确定所述远程数据库的查询规则包含的函数转换信息,基于所述函数转换信息对所述远程查询语句中的查询函数进行改写,获得目标远程查询语句;或者,确定所述远程数据库的查询规则包含的类型转换信息,基于所述类型转换信息对所述远程查询语句的转换类型进行改写,获得目标远程查询语句;或者,确定所述远程数据库的查询规则包含的函数转换信息和类型转换信息,基于所述函数转换信息和所述类型转换信息对所述远程查询语句中的查询函数和所述远程查询语句的转换类型进行改写,获得目标远程查询语句。

5.根据权利要求1所述的数据处理系统,其特征在于,所述客户端,还用于在确定所述查询语句包含关联表信息的情况下,确定所述关联表信息对应的关联类型;判断所述关联类...

【专利技术属性】
技术研发人员:姚崇张君华褚华兴赵其桂田晓峰章亮谢鹏
申请(专利权)人:恒生电子股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1