[发明专利]数据查询方法、装置、电子设备及存储介质在审
申请号: | 202310164126.1 | 申请日: | 2023-02-15 |
公开(公告)号: | CN116089473A | 公开(公告)日: | 2023-05-09 |
发明(设计)人: | 梁龙成;皮金舟;李钊 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/25;G06F16/27;G06F16/22;G06F21/62 |
代理公司: | 深圳市赛恩倍吉知识产权代理有限公司 44334 | 代理人: | 刘丽华 |
地址: | 518000 广东省深圳市福田区福*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 查询 方法 装置 电子设备 存储 介质 | ||
本发明涉及大数据技术领域,提供一种数据查询方法、装置、电子设备及存储介质,所述方法包括:接收用户发送的数据查询请求,获取数据的查询脚本;解析所述查询脚本,得到查询对象信息;调用预设接口查询元数据库,获取所述查询对象信息中的表权限信息和表查询路径;根据所述对象信息中的表权限信息和表查询路径,对所述用户进行查询权限鉴权;若所述用户查询权限鉴权成功,通过JDBC接口访问ThriftServer执行所述查询脚本,得到查询结果。本发明在JDBC接口访问ThriftServer执行所述查询脚本之前,对所述用户进行查询权限鉴权,提高了数据查询的安全性。
技术领域
本发明涉及大数据技术领域,具体涉及一种数据查询方法、装置、电子设备及存储介质。
背景技术
数据中台在各行业的应用越来越广,尤其是在金融领域,在数据中台的事件中,会提供各种接口给用户访问数据,比如Hive引擎提供了CLI接口和JDBC接口;Spark引擎提供了spark-sql接口和JDBC接口。Hive引擎适合大规模的数据处理,它本身具备数据鉴权环节,但是不太适合OLAP的场景。而对于迭代计算场景,Spark引擎使用是常见的,对于交互时延要求不太高的场合,还可以作为OLAP引擎。
然而,在通过JDBC接口来访问Spark引擎时,Spark Thrift Server服务在启动时,已经固定了用户来提交Spark作业,即在JDBC连接Spark Thrift Server服务时,各个用户都会使用同一个账号来提交Spark作业,无法针对不同用户做数据访问权限判断,导致数据查询安全性低。
发明内容
鉴于以上内容,有必要提出一种数据查询方法、装置、电子设备及存储介质,在JDBC接口访问ThriftServer执行所述查询脚本之前,对所述用户进行查询权限鉴权,提高了数据查询的安全性。
本发明的第一方面提供一种数据查询方法,所述方法包括:
接收用户发送的数据查询请求,获取数据的查询脚本;
解析所述查询脚本,得到查询对象信息;
调用预设接口查询元数据库,获取所述查询对象信息中的表权限信息和表查询路径;
根据所述对象信息中的表权限信息和表查询路径,对所述用户进行查询权限鉴权;
若所述用户查询权限鉴权成功,通过JDBC接口访问ThriftServer执行所述查询脚本,得到查询结果;
若所述用户查询权限鉴权失败,停止查询,并返回提示信息。
可选地,所述根据所述对象信息中的表权限信息和表查询路径,对所述用户进行查询权限鉴权包括:
基于所述表权限信息中用户的识别码,判断所述用户是否有权限操作对应表字段;
若所述用户有权限操作对应表字段,基于所述表查询路径中用户的识别码,判断所述用户是否有权限访问对应表查询路径;
若所述用户有权限访问对应表查询路径时,确定所述用户查询权限鉴权成功;
若所述用户没有权限访问对应表查询路径时,确定所述用户查询权限鉴权失败。
可选地,所述解析所述查询脚本,得到查询对象信息包括:
采用预设的编译器对所述查询脚本进行词法和语法解析;
将所述查询脚本转换为抽象语法树;
遍历所述抽象语法树,获取各个字段之间的依赖关系;
依据所述依赖关系,从所述抽象语法树中识别出包含有星号的初始查询对象信息;
识别所述星号所出现的层级,提取出所述层级的上层字段集和下层字段集;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310164126.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种静触头的制备方法
- 下一篇:卧式冷柜
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置