(19)国家知识产权局 (12)发明 专利 (10)授权公告 号 (45)授权公告日 (21)申请 号 202210603908.6 (22)申请日 2022.05.31 (65)同一申请的已公布的文献号 申请公布号 CN 114692208 A (43)申请公布日 2022.07.01 (73)专利权人 中建电子商务有限责任公司 地址 610000 四川省成 都市青羊区腾飞大 道51号18栋12层1202号 (72)发明人 韩雷 马洋  (74)专利代理 机构 成都春夏知识产权代理事务 所(特殊普通 合伙) 51317 专利代理师 夏琴 (51)Int.Cl. G06F 21/62(2013.01) G06F 21/60(2013.01) G06F 8/41(2018.01) G06F 8/74(2018.01) G06F 16/907(2019.01)G06F 16/28(2019.01) (56)对比文件 CN 113626870 A,2021.1 1.09 CN 113626870 A,2021.1 1.09 CN 107239710 A,2017.10.10 CN 111522816 A,2020.08.1 1 CN 105912949 A,2016.08.31 CN 110443059 A,2019.1 1.12 CN 113032423 A,2021.0 6.25 CN 112905595 A,2021.0 6.04 CN 110609849 A,2019.12.24 CN 112182637 A,2021.01.0 5 CN 114039792 A,2022.02.11 CN 114328574 A,202 2.04.12 US 2022129465 A1,202 2.04.28 WO 20212593 67 A1,2021.12.3 0 US 2022129465 A1,202 2.04.28 审查员 肖倩 (54)发明名称 一种数据查询服 务权限的处 理方法 (57)摘要 本发明公开了一种数据查询服务权限的处 理方法, 属于数据查询服务权限技术领域, 包括 采集各OLTP和OLAP系统中的元数据并存储至 MySQL系统中, 形成元数据信息; 基于客户端的数 据查询需求, 服务端 给各个用户分配不同的元数 据查询权限; 服务端根据查询需求的SQL语言生 成抽象语 法树, 基于广度遍历算法遍历抽象语 法 树, 获取解析后的元数据; 服务端根据查询权 限 进行校验, 给客户端返回查询结果。 本发明设计 科学合理, 使用方便, 解决了现有数据查询中数 据权限和数据安全实现困难的技术问题, 实现了 数据通用且安全的输出查询。 权利要求书1页 说明书6页 附图1页 CN 114692208 B 2022.09.27 CN 114692208 B 1.一种数据查询服 务权限的处 理方法, 其特 征在于, 包括以下步骤: 步骤S1, 采集各OLTP和OLAP系统中的元 数据并存 储至MySQL系统中, 形成元 数据信息; 步骤S2, 基于客户端的数据查询需求, 服 务端给各个用户分配不同的元 数据查询权限; 步骤S3, 服务端根据查询需求的SQL语言生成抽象语法树, 基于广度遍历算法遍历抽象 语法树, 获取解析后的元 数据; 步骤S4, 服 务端根据查询权限进行 校验, 给客户端返回查询结果; 其中, 元数据存储的逻辑结构包括第 一结构表, 所述第 一结构表包括数据库名称、 各数 据库中的存储引擎、 以及数据库表名称; 元数据存储的逻辑结构还包括第二结构表, 所述第 二结构表包括数据库表和各 数据库表中的数据库 列; 所述步骤S3包括以下过程: 步骤S31, 服务端获取数据库中存储引擎的类型, 生成数据 查询需求的SQL语言; 步骤S32, 根据存储引擎的源代码, 解析生成抽象语法树; 步骤S33, 通 过广度遍历算法遍历抽象语法树, 解析出该数据库下SQL语言中数据库表和数据库列的关 系; 步骤S34, 获取数据库、 数据库表和数据库列的对应关系, 作为解析后的元数据信息; 步 骤S35, 将解析后的元 数据信息存 储在元数据存储系统中; 所述步骤S33包括以下过程: 步骤S331, 遍历 当前节点, 获取当前节点的所有子节点; 步 骤S332, 循环遍历当前节点的所有子节点; 步骤S333, 判断子节点的类型, 如果是选择节点 并且是第一次处理该选择节点类型, 则解析选择节点的孩子节点, 解析出SQL语言最外层查 询的数据库列信息, 将数据库列信息放入临时存储list中, 然后break当前的分支返回到步 骤S332; 如果是数据库表名的节点, 则解析表名和对应的别名, 分别push到数据结构, 然后 break当前的分支返回到步骤S332; 如果是选择节点, 从栈中解析出数据库表的名称, 然后 解析选择节点的孩子节点, 解析出相应的一个或多个数据库列信息, 形成一条数据库表和 对应数据库列的关系, 放入临时存储Map数据结构中; 如果是其它节点, 返回到步骤S331直 至执行完递归算法; 步骤S334, 执行完递归算法后, 根据临时存储list和数据结构, 解析出 最外层的数据库表与数据库 列的关系。 2.根据权利要求1所述的一种数据查询服务权限的处理方法, 其特征在于, 所述步骤S1 中, 采集各OLTP和OLAP系统中的元 数据包括数据库和数据库表。 3.根据权利要求1所述的一种数据查询服务权限的处理方法, 其特征在于, 所述数据库 名称、 各数据库中的存 储引擎、 以及数据库表名称一 一对应。 4.根据权利要求1所述的一种数据查询服务权限的处理方法, 其特征在于, 一个所述数 据库表对应一个或多个数据库 列, 数据库表和各 数据库表中的数据库 列一一对应。 5.根据权利要求1所述的一种数据查询服务权限的处理方法, 其特征在于, 所述步骤S4 中, 权限配置系统返回校验结果, 如果验证不通过, 则给客户端返回无权访问数据的结果; 如果验证通过, 则在元 数据存储系统拉取 数据, 将验证之后的元 数据信息发送给客户端。 6.根据权利要求1所述的一种数据查询服务权限的处理方法, 其特征在于, 所述步骤S2 中, 数据查询 权限的数据结构包括各个用户名、 与每个用户名对应的具有查询 权限的数据 库、 以及与每个用户名对应的数据库中具有查询权限的数据库表, 将数据查询 权限的数据 结构存储至权限配置系统中。权 利 要 求 书 1/1 页 2 CN 114692208 B 2一种数据查询服务权限的处理 方法 技术领域 [0001]本发明属于数据查询服务权限技术领域, 具体涉及一种数据查询服务权限的处理 方法。 背景技术 [0002]大数据平台对各方数据进行抽 取、 加载、 转化, 然后再输出用于业务需要, 为此需 要一种通用查询的数据服务进 行数据查询。 然而 数据查询涉及到数据权限和数据安全等的 问题, 在目前大数据行业中并没有统一的解决方案, 各种组件都有自身的一套权限验证体 系, 其中haddoop体系自带有ranger的权限管理, druid数据库和clickhouse数据库则分别 在各自系统中单独配置用户权限。 对于支持SQL查询的OLTP系统和OLAP系统, 大数据平台通 过 rest‑api提供统一的数据服务, 其权限验证和数据安全实现较为困难。 第一, 不同存储 引擎SQL的语法不同, 其解析规则也有差异, 没有一个屏蔽parse细节的服务; 第二, 解析出 的数据库表字段, 没有统一的元数据系统管理, 即便是有开源的元数据系统也很难和自己 开发的数据服 务进行交 互; 第三,  各个开源组件的实现复杂、 权限验证模块功能复杂。 [0003]因此, 本发明提供了一种数据查询服务权限的处理方法, 以至少解决上述部分技 术问题。 发明内容 [0004]本发明要解决的技术问题是: 提供一种数据查询服务权限的处理方法, 以至少解 决上述部分技 术问题。 [0005]为实现上述目的, 本发明采用的技 术方案如下: [0006]一种数据查询服 务权限的处 理方法包括以下步骤: [0007]步骤S1, 采集各OLTP和OLAP系统中的元数据并存储至MySQL系统中, 形成元数据信 息; [0008]步骤S2, 基于客户端的数据查询需求, 服务端给各个用户分配不同的元数据查询 权限; [0009]步骤S3, 服务端根据查询需求的S QL语言生成抽象语法树, 基于广度遍历 算法遍历 抽象语法树, 获取解析后的元 数据; [0010]步骤S4, 服 务端根据查询权限进行 校验, 给客户端返回查询结果。 [0011]进一步地, 所述步骤S1中, 采集各OLTP和OLAP系统中的元数据包括数据库和数据 库表。 [0012]进一步地, 所述步骤S1中, 元数据存储的逻辑结构包括第一结构表, 所述第一结构 表包括数据库名称、 各 数据库中的存 储引擎、 以及数据库表名称。 [0013]进一步地, 所述数据库名称、 各数据库中的存储引擎、 以及数据库表名称一一对 应。 [0014]进一步地, 元数据存储的逻辑结构还包括第二结构表, 所述第二结构表包括数据说 明 书 1/6 页 3 CN 114692208 B 3

.PDF文档 专利 一种数据查询服务权限的处理方法

安全报告 > 其他 > 文档预览
中文文档 9 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共9页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种数据查询服务权限的处理方法 第 1 页 专利 一种数据查询服务权限的处理方法 第 2 页 专利 一种数据查询服务权限的处理方法 第 3 页
下载文档到电脑,方便使用
本文档由 思考人生2024-02-07 20:38:54上传分享
给文档打分
您好可以输入 255 个字符
网站域名是多少( 答案:github5.com )
评论列表
  • 暂时还没有评论,期待您的金玉良言
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。