[发明专利]一种多数据源数据查询方法、装置及系统在审
申请号: | 202211717003.8 | 申请日: | 2022-12-29 |
公开(公告)号: | CN115952189A | 公开(公告)日: | 2023-04-11 |
发明(设计)人: | 罗朝欣;吴小前 | 申请(专利权)人: | 北京滴普科技有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2455 |
代理公司: | 北京细软智谷知识产权代理有限责任公司 11471 | 代理人: | 葛钟 |
地址: | 100089 北京市海淀区学院*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多数 数据 查询 方法 装置 系统 | ||
1.一种多数据源数据查询方法,其特征在于,包括以下步骤:
采用Trino连接所有数据源,以获取每个数据源的元数据,所述元数据包括每个数据源对应的所有数据库和库表以及列的数据;
接收用户的选择和编排配置;
将编排配置后的数据转换为有向无环图,所述有向无环图包括节点和边;
采用深度遍历算法对所述有向无环图进行图遍历,同时采用栈和HashMap对所述有向无环图的节点和边进行存储和解析,以生成统一查询SQL;
将所述统一查询SQL发送到所述Trino中得到查询结果。
2.根据权利要求1所述的方法,其特征在于:所述采用Trino连接所有数据源,以获取每个数据源的元数据,包括:
使用JDBC-CLIENT连接所述Trino服务;
调用所述Trino获取每个数据源对应的所有数据库和库表以及列的数据,所述数据包括对应的数据库名或库表名或列名,以及具体数据;
对所有的数据进行统一格式的封装得到每个数据源的元数据。
3.根据权利要求2所述的方法,其特征在于:所述调用所述Trino获取每个数据源对应的所有数据库和库表以及列的数据,包括:
调用Trino SHOW CATALOGS[LIKE pattern]获取数据源的数据;
调用Trino SHOW SCHEMAS[FROM catalog][LIKE pattern]和SHOW CREATE SCHEMAschema_name获取数据库的数据;
调用Trino SHOW TABLES[FROM schema][LIKE pattern]和SHOW SHOW COLUMNS FROMtable[LIKE pattern]获取表数据。
4.根据权利要求1所述的方法,其特征在于:所述接收用户的选择和编排配置,包括:
接收用户选择的多个的数据源,库,表以及列;以及对每个数据源,库,表以及列的操作选择,所述操作选择包括关联查询,过滤,group by聚合和排序。
5.根据权利要求1所述的方法,其特征在于:所述将编排配置后的数据转换为有向无环图,包括:
将编排配置中每个操作作为一个节点,将具有关联的两个操作之间设置一个边,以将编排配置后的数据转换为有向无环图,所述数据存储在所述节点中。
6.根据权利要求1所述的方法,其特征在于:所述用深度遍历算法对所述有向无环图进行图遍历,同时采用栈和HashMap对所述有向无环图的节点和边进行存储和解析,以生成统一查询SQL,包括:
根据所述有向无环图生成用于保存图遍历的节点的栈、用于保存边遍历解析的关联关系的HashMap以及用于临时存储节点出栈的数据的LIST;
当遇到JOIN NODE时,停止图遍历,并打上标记,将NODE从栈中进行出栈操作,放入到所述LIST中,直至栈为空或者遇到SUB SELECT子查询,则停止出栈;
将LIST从后向前遍历,解析生成一个分支对应的select字句;
递归从HashMap中获取标记的JOIN节点的上一节点直至无关联的key,得出相邻分支的开始节点;
开始新分支的深度遍历,直至遍历到当前标记的JOIN节点,生成新分支的select字句;
将JOIN NODE关联的所有分支select字句用join连接起来;
从标记的JOIN NODE开始,深度遍历后续节点,直至整个图遍历完成,生成完整的统一查询SQL。
7.根据权利要求6所述的方法,其特征在于:所述根据所述有向无环图生成用于保存图遍历的节点的栈、用于保存边遍历解析的关联关系的HashMap,包括:
将节点按照遍历顺序入栈,对边解析FROM和END节点的nodeId作为HashMap的key-value进行存储。
8.根据权利要求1所述的方法,其特征在于:所述多数据源包括:Hive、HBase、EleasticSearch、Kudu、Kafka、MySQL、Redis。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京滴普科技有限公司,未经北京滴普科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211717003.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种设有引流结构的帐篷
- 下一篇:动态载物台及面形调整方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置