[发明专利]数据查询方法、装置、电子设备及存储介质在审
申请号: | 202310164126.1 | 申请日: | 2023-02-15 |
公开(公告)号: | CN116089473A | 公开(公告)日: | 2023-05-09 |
发明(设计)人: | 梁龙成;皮金舟;李钊 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/25;G06F16/27;G06F16/22;G06F21/62 |
代理公司: | 深圳市赛恩倍吉知识产权代理有限公司 44334 | 代理人: | 刘丽华 |
地址: | 518000 广东省深圳市福田区福*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 查询 方法 装置 电子设备 存储 介质 | ||
1.一种数据查询方法,其特征在于,所述方法包括:
接收用户发送的数据查询请求,获取数据的查询脚本;
解析所述查询脚本,得到查询对象信息;
调用预设接口查询元数据库,获取所述查询对象信息中的表权限信息和表查询路径;
根据所述对象信息中的表权限信息和表查询路径,对所述用户进行查询权限鉴权;
若所述用户查询权限鉴权成功,通过JDBC接口访问ThriftServer执行所述查询脚本,得到查询结果;
若所述用户查询权限鉴权失败,停止查询,并返回提示信息。
2.如权利要求1所述的数据查询方法,其特征在于,所述根据所述对象信息中的表权限信息和表查询路径,对所述用户进行查询权限鉴权包括:
基于所述表权限信息中用户的识别码,判断所述用户是否有权限操作对应表字段;
若所述用户有权限操作对应表字段,基于所述表查询路径中用户的识别码,判断所述用户是否有权限访问对应表查询路径;
若所述用户有权限访问对应表查询路径时,确定所述用户查询权限鉴权成功;
若所述用户没有权限访问对应表查询路径时,确定所述用户查询权限鉴权失败。
3.如权利要求1所述的数据查询方法,其特征在于,所述解析所述查询脚本,得到查询对象信息包括:
采用预设的编译器对所述查询脚本进行词法和语法解析;
将所述查询脚本转换为抽象语法树;
遍历所述抽象语法树,获取各个字段之间的依赖关系;
依据所述依赖关系,从所述抽象语法树中识别出包含有星号的初始查询对象信息;
识别所述星号所出现的层级,提取出所述层级的上层字段集和下层字段集;
查询所述上层字段集,确定出所述星号对应的候选字段集;
对所述候选字段集和所述下层字段集进行关联校验,获取所述星号对应的字段集;
将所述初始查询对象信息中的星号替换为对应的字段集,得到查询对象信息。
4.如权利要求1所述的数据查询方法,其特征在于,所述调用预设接口查询元数据库,获取所述查询对象信息中的表权限信息和表查询路径包括:
调用预设接口查询元数据库,获取所述查询对象信息中数据库的名称;
根据所述数据库的名称获取数据库对象;
根据所述数据库对象获取所有的表名;
读取每个表名对应的表权限信息和表查询路径。
5.如权利要求4所述的数据查询方法,其特征在于,所述读取每个表名对应的表权限信息和表查询路径包括:
若未读取到任意一个表名的表查询路径时,查询所述任意一个表名对应的表的分区,在所述分区中读取对应的表查询路径。
6.如权利要求1所述的数据查询方法,其特征在于,所述通过JDBC接口访问ThriftServer执行所述查询脚本,得到查询结果包括:
通过JDBC接口连接ThriftServer,展示登录界面;
当接收到用户在所述登录界面上输入的用户名和密码时,启动所述ThriftServer服务执行所述查询脚本中的查询语句,得到查询结果。
7.如权利要求1至6中任意一项所述的数据查询方法,其特征在于,所述方法还包括:
从所述数据查询请求中获取查询类型;
若所述查询类型为查询关联表,获取所述关联表的主表,基于所述关联表位于所述主表的位置,将所述查询结果中的关联表进行插入,得到目标查询结果;
若所述查询类型为表字段查询,将所述查询结果中的表字段写入对应表中,得到目标查询结果;
若所述查询类型为表关联关系查询时,基于所述查询结果中的表关联关系执行表关联,得到目标查询结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310164126.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种静触头的制备方法
- 下一篇:卧式冷柜
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置