[发明专利]基于多个数据库的数据查询方法及装置在审
申请号: | 201410670879.0 | 申请日: | 2014-11-21 |
公开(公告)号: | CN105677681A | 公开(公告)日: | 2016-06-15 |
发明(设计)人: | 李忠浩;王庆磊;张国波 | 申请(专利权)人: | 北京神州泰岳软件股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京弘权知识产权代理事务所(普通合伙) 11363 | 代理人: | 逯长明;许伟群 |
地址: | 100107 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 数据库 数据 查询 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于多个数据库的数据查询方法及装置。
背景技术
大数据(BigData)是指无法用现有的软件工具提取、存储、搜索、共享、分析和处理 的海量的、复杂的数据集合,可以包括多个数据库,例如Hadoop、内存数据库、关系数据 库等等。目前,一般采用数据共享平台或者数据开放平台对外开放超文本传送协议 (Hypertexttransferprotocol,HTTP)应用程序编程接口(ApplicationProgramming Interface,API),从而实现用户查询多个数据库中的数据。
通常,每个API接口都对应特定参数,API接口接收到用户的请求后,根据该请求中携 带的特定参数进行数据查询,将查询到的数据返回给用户,由于一个API只能提供一部分 特定需求,若用户需要的数据存在于多个数据库中,就需要组合众多API接口联合实现数 据查询。例如,公司的人力资源主管要查询某个员工的个人信息,个人信息包括工作简历、 发表论文等等,若工作简历、发表论文等等信息保存在不同的数据库中,那么该人力资源 主管只能分别通过这些数据库对应的API接口才能获取到该员工的个人信息。可见,若用 户需要的数据存在于多个数据库中,用户需要多次请求才能够获取到需要的数据,用户的 操作步骤非常繁琐,查询数据的效率也非常低。
发明内容
本发明实施例提供一种基于多个数据库的数据查询,用以解决现有技术中存在的用户 的操作步骤非常繁琐,查询数据的效率也非常低的问题。
根据本发明实施例例,提供一种基于多个数据库的数据查询方法,包括:
解析用户发送的结构化查询语言SQL语句,得到所述SQL语句中包括的关键表,所述 SQL语句用于请求从所述多个数据库中查询所述用户需要的数据;
对所述用户进行鉴权;
若所述用户通过鉴权,确定每个所述关键表所在的数据库;
分别从每个所述关键表所在的数据库中获取所述SQL语句请求的数据;
合并获取的数据后发送给所述用户。
具体的,解析用户发送的SQL语句,得到所述SQL语句中包括的关键表,具体包括:
提取所述SQL语句中包括的关键字;
判断所述关键字的拼写以及所述关键字之间的逻辑关系是否正确;
若所述关键字的拼写以及所述关键字之间的逻辑关系正确,则根据所述关键字和对应 的关键元素建立所述SQL语句对应的语法树,获取所述语法树中的关键表。
可选的,所述方法还包括:
按照SQL语句的标准格式调整所述SQL语句;
将调整后的所述SQL语句发送给所述用户。
具体的,对所述用户进行鉴权,具体包括:
获取用户与关键表的对应关系,若所述对应关系中对应保存有所述用户和每个所述关 键表,则确定所述用户通过鉴权;或者,
获取预先设置的白名单,若所述白名单中保存有所述用户,则确定所述用户通过鉴权。
具体的,确定每个所述关键表所在的数据库,具体包括:
获取预先保存的关键表描述信息;
从所述关键表描述信息中获取每个所述关键表所在的数据库;
分别从每个所述关键表所在的数据库中获取所述SQL语句请求的数据,具体包括:
确定每个所述关键表所在的数据库的类型;
将所述SQL语句翻译成每个所述关键表所在的数据库的类型对应的标准语句;
使用翻译后的标准语句分别从对应的数据库中获取所述SQL语句请求的数据。
具体的,合并获取的数据后发送给所述用户,具体包括:
缓存获取的所述SQL语句请求的数据;
采用流计算方式合并缓存的数据;
将合并后的数据发送给所述用户。
根据本发明实施例,还提供一种基于多个数据库的数据查询装置,包括:
解析单元,用于解析用户发送的结构化查询语言SQL语句,得到所述SQL语句中包括 的关键表,所述SQL语句用于请求从所述多个数据库中查询所述用户需要的数据;
鉴权单元,用于对所述用户进行鉴权;
确定单元,用于若所述用户通过鉴权,确定每个所述关键表所在的数据库;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京神州泰岳软件股份有限公司,未经北京神州泰岳软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410670879.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:车库外墙后浇带封闭盖板
- 下一篇:一种采用旋流分离的雨水截污井
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置