[发明专利]一种异构数据源统一联合查询方法在审
申请号: | 201711387611.6 | 申请日: | 2017-12-20 |
公开(公告)号: | CN108052635A | 公开(公告)日: | 2018-05-18 |
发明(设计)人: | 张珂珩;李贤慧;何世春;何阳;孔炜;张高坤 | 申请(专利权)人: | 江苏瑞中数据股份有限公司;南瑞集团有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 刘丰 |
地址: | 210000 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据源 统一 联合 查询 方法 | ||
1.一种异构数据源统一联合查询方法,其特征在于,包括以下步骤:
1)在对各异构数据源进行查询操作前,如果异构数据源支持schema、table、column的时候,遍历异构数据源中所有的schema、table、column以及其他的元数据信息,如果异构数据源不支持schema、table、column的时候,将异构数据源的数据映射到查询中间件中的schema、table、column中,再通过查询中间件中的schema、table、column遍历异构数据源中所有的元数据信息;
2)查询客户端向查询中间件提交查询语句,所述查询语句为需要执行的SQL语句;当得到SQL语句时,查询中间件会将SQL语句组装成一个请求,发送给负责解析请求的解析模块;
3)解析模块对收到的请求进行解析,所述解析包括词法分析、语法分析和语义分析,最终生成整个SQL语句的执行计划;
4)将生成的整个SQL语句的执行计划转换为查询任务,分配空闲的工作节点去执行对应查询任务的计算任务,从而将各异构数据源的数据加载至内存;
5)每当查询任务产生一定的计算结果,查询中间件就向查询客户端返回相应的计算结果,直到查询客户端获得了所有的计算结果。
2.根据权利要求1所述的异构数据源统一联合查询方法,其特征在于,所述步骤2)中,查询语句从指定的文件或命令行参数获取。
3.根据权利要求1所述的异构数据源统一联合查询方法,其特征在于,所述步骤2)中,查询中间件会将SQL语句组装成一个RESTful请求。
4.根据权利要求1所述的异构数据源统一联合查询方法,其特征在于,所述步骤3)中,使用JAVA的Visitor模式对SQL语句进行语法分析。
5.根据权利要求4所述的异构数据源统一联合查询方法,其特征在于,所述步骤3)中,所述语法分析,是一个递归调用的过程,通过构造相应的节点形成一个抽象语法树。
6.根据权利要求1所述的异构数据源统一联合查询方法,其特征在于,所述步骤3)中,使用JAVA的Visitor模式对SQL语句进行语义分析。
7.根据权利要求1所述的异构数据源统一联合查询方法,其特征在于,所述步骤3)中,根据SQL语句的类型生成不同的执行计划。
8.根据权利要求1所述的异构数据源统一联合查询方法,其特征在于,查询客户端从提交查询语句开始就会不停地从查询中间件获取本次查询的计算结果,直到获得了所有的计算结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏瑞中数据股份有限公司;南瑞集团有限公司,未经江苏瑞中数据股份有限公司;南瑞集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711387611.6/1.html,转载请声明来源钻瓜专利网。