[发明专利]跨域的数据查询方法及装置在审
申请号: | 201911309743.6 | 申请日: | 2019-12-18 |
公开(公告)号: | CN111190924A | 公开(公告)日: | 2020-05-22 |
发明(设计)人: | 王贺冬;周雷皓;龚廖安;闫发腾;杨乾磊;龚本威;林智峰;毕伟 | 申请(专利权)人: | 中思博安科技(北京)有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/242;G06F16/2458 |
代理公司: | 北京名华博信知识产权代理有限公司 11453 | 代理人: | 李冬梅 |
地址: | 100010 北京市东城区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 查询 方法 装置 | ||
1.一种跨域的数据查询方法,其特征在于,包括:
对输入的结构化查询语言SQL语句进行分析,生成查询执行计划,其中,所述查询执行计划中记录了执行所述SQL语句所需要的操作;
根据所述查询执行计划,生成多个子查询任务,其中,每个所述子查询任务中记录了该子查询任务所需要处理的数据源信息以及该子查询任务处理的字段,其中,所述数据源信息包括数据源的数据目录,所述数据目录记录了描述本地存储的数据库和数据表的各个库表元数据的链接地址,各个所述元数据与其描述的数据库和数据表对应;
根据各个所述子查询任务记录的所述数据目录,将各个子查询任务分别发送给与该子查询任务记录的数据目录对应的数据系统;
接收各个所述数据系统在执行该数据系统接收到的所述子查询任务之后获得到的数据结果;
将接收到的所有所述数据结果进行合并,得到查询结果。
2.根据权利要求1所述的方法,其特征在于,对输入的结构化查询语言SQL语句进行分析,生成查询执行计划,包括:
对输入的所述SQL语句进行词法分析和语法解析,获取与所述SQL语句对应的关键信息,其中,所述关键信息包括:所述SQL语句所查询的字段列表、查询条件、所述SQL语句所查询的数据源的数据目录;
根据对所述SQL语句进行词法分析和语法解析的结果,生成抽象语法树,其中,所述抽象语法树中包括多个标记对象TOKEN;
遍历所述抽象语法树,记录所述抽象语法树上的不同TOKEN节点的属性,以将所述TOKEN节点转换成查询块;
根据所述查询块,生成与所述查询块对应的所述查询执行计划。
3.根据权利要求2所述的方法,其特征在于,根据所述查询块,生成与所述查询块对应的所述查询执行计划,包括:
将所述查询块转换成逻辑查询计划,以确定执行所述SQL语句的逻辑操作;
对所述逻辑查询计划进行分析,将所述逻辑查询计划转成物理查询计划,以得到获取所述查询结果的路径;
对所述物理查询计划进行优化,以选择出获取所述查询结果的最优路径,得到所述查询执行计划。
4.根据权利要求3所述的方法,其特征在于,在将所述查询块转换成逻辑查询计划之后,对所述逻辑查询计划进行分析之前,所述方法还包括:
根据所述SQL语句所查询的数据源之间的关联关系,重写所述逻辑查询计划。
5.根据权利要求1至4任一项所述的方法,其特征在于,在将接收到的所有所述数据结果进行合并,得到查询结果之后,所述方法还包括:
将所述查询结果返回给查询者。
6.一种跨域的数据查询装置,其特征在于,包括:
查询计划分析模块,用于对输入的结构化查询语言SQL语句进行分析,生成查询执行计划,其中,所述查询执行计划中记录了执行所述SQL语句所需要的操作;
查询计划划分模块,用于根据所述查询执行计划,生成多个子查询任务,其中,每个所述子查询任务中记录了该子查询任务所需要处理的数据源信息以及该子查询任务处理的字段,其中,所述数据源信息包括数据源的数据目录,所述数据目录记录了用于描述本地存储的数据库和数据表的各个库表元数据的链接地址,各个所述库表元数据与其描述的数据库和数据表对应;
查询任务分发模块,用于根据各个所述子查询任务记录的所述数据目录,将各个子查询任务分别发送给与该子查询任务记录的数据目录对应的数据系统;
查询结果接收模块,用于接收各个所述数据系统在执行该数据系统接收到的所述子查询任务之后获得到的数据结果;
查询结果合并模块,用于将接收到的所有所述数据结果进行合并,得到查询结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中思博安科技(北京)有限公司,未经中思博安科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911309743.6/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置