[发明专利]基于FlinkSQL实时数仓领域的行级权限控制方法和电子设备在审
申请号: | 202310075862.X | 申请日: | 2023-02-07 |
公开(公告)号: | CN115982296A | 公开(公告)日: | 2023-04-18 |
发明(设计)人: | 白松;甘云锋;江敏;高雁冰;许锡彬 | 申请(专利权)人: | 杭州数澜科技有限公司 |
主分类号: | G06F16/28 | 分类号: | G06F16/28;G06F21/62;G06F16/22;G06F16/242;G06F16/25 |
代理公司: | 杭州天昊专利代理事务所(特殊普通合伙) 33283 | 代理人: | 何碧珩 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 flinksql 实时 领域 权限 控制 方法 电子设备 | ||
本发明涉及数据处理技术领域,提供基于一种FlinkSQL实时数仓领域的行级权限控制方法和电子设备,包括:输入SQL信息;通过执行SQL信息中的用户名和表名来查找配置的行级约束条件;用Calcite解析表达式操作生成行级权限条件SqlBasicCall对象;构建Calcite SqlSelect对象,结合SQL信息中的原where和配置的行级权限条件SqlBasicCall重新组装来生成新的带行级过滤条件的抽象语法树;基于新的AST执行后续的语法校验、语义分析、优化和执行阶段。本发明在语法解析阶段通过组装行级过滤条件生成新的AST来实现行级权限控制,整个过程对执行SQL的用户都是透明和无感知的,用户还是调用Flink自带的执行方法,无需做额外的操作配置;不要求用户额外部署其他系统,运维成本较低;支持实时数仓FlinkSQL中的表行级权限的控制。
技术领域
本发明涉及数据处理技术领域,特别涉及一种基于FlinkSQL实时数仓领域的行级权限控制方法和电子设备。
背景技术
随着近年来大数据、数字化转型的兴起,数据已成为企业和国家的“战略资源”和“生产要素”。大数据技术在推动经济转型升级的同时,数据规模不断扩大,数据泄露、滥用等风险日益凸显,防范数据安全风险、构建数据安全保护体系成为重中之重。行级权限即横向数据安全保护,可以解决不同人员只允许访问不同数据行的问题。在离线数仓工具Hive领域,由于发展多年已有第三方工具Apache Ranger来支持表数据的行级权限控制;但此方法要求用户额外部署一套Ranger系统,会带来非常高的运维成本;而且此方法不支持实时数仓FlinkSQL中的表行级权限。
发明内容
为了解决上述问题,本发明提供以下技术方案:
本发明提供一种基于FlinkSQL实时数仓领域的行级权限控制方法,所述控制方法包括:
(1)输入SQL信息;
(2)通过执行SQL信息中的用户名和表名来查找配置的行级约束条件;
(3)用Calcite解析表达式操作生成行级权限条件SqlBasicCall对象;
(4)构建Calcite SqlSelect对象,结合用户输入SQL信息中的原where和配置的行级权限条件SqlBasicCall重新组装来生成新的带行级过滤条件的抽象语法树;
(5)基于新的带行级过滤条件的抽象语法树AST执行后续的语法校验、语义分析、优化和执行阶段。
所述语法解析使用JavaCC把输入SQL信息转换成抽象语法树。
所述语法校验根据元数据信息进行语法验证,包括对查询的表、字段、函数是否存在进行验证,并分别对from、where、group by、having、select、orader by子句进行语法校验。
所述语义分析对结构上正确的源程序进行上下文有关性质的审查,进行类型审查。
进一步的,所述SQL信息包括SQL文件、SQL字符串和SQL字符流。
进一步的,生成新的带行级过滤条件的抽象语法树的具体步骤为:
(41)定位到构建Calcite SqlSelect对象的函数中;
(42)判断From类型,
如果From类型是SqlJoin,则分别遍历其左节点和右节点,
如果From类型是SqlIdentifier,则判断是否来自于Join,如果是并且用户输入的SQL未定义表别名,则用表名作为别名;如果是并且用户输入的SQL定义了表别名,则执行步骤(43);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州数澜科技有限公司,未经杭州数澜科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310075862.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种联合探测水库大坝渗漏通道的方法
- 下一篇:一种模温机的冷却装置