[发明专利]一种基于全语法树解析的动态脱敏方法在审
申请号: | 201911313880.7 | 申请日: | 2019-12-19 |
公开(公告)号: | CN111125758A | 公开(公告)日: | 2020-05-08 |
发明(设计)人: | 杨海峰;王佩思 | 申请(专利权)人: | 北京安华金和科技有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F16/21;G06F16/22;G06F16/242 |
代理公司: | 天津盛理知识产权代理有限公司 12209 | 代理人: | 王利文 |
地址: | 100081 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 语法 解析 动态 方法 | ||
1.一种基于全语法树解析的动态脱敏方法,其特征在于包括以下步骤:
步骤1、对sql原语句进行全语法树解析;
步骤2、通过快速访问与需要脱敏的字段信息进行匹配,匹配得到匹配结果;
步骤3、如果匹配不成功,直接放行,如果匹配成功,进入语法树脱敏逻辑,对语法树进行改写并将改写后的语法树进行复原。
2.根据权利要求1所述的一种基于全语法树解析的动态脱敏方法,其特征在于:所述步骤1的具体实现方法为:sql语句的解析顶点信息为query,在query的叶子节点中会存在字段fields信息、表tables信息、where信息和order信息;语法树解析结果query fieldtable分别是一块单独的内存。
3.根据权利要求1所述的一种基于全语法树解析的动态脱敏方法,其特征在于:所述步骤2得到的匹配结果包括脱敏信息字段和*字段。
4.根据权利要求1所述的一种基于全语法树解析的动态脱敏方法,其特征在于:所述步骤3的具体实现方法包括以下步骤:
⑴对单个字段进行判断,如果该字段不是*字段,则进入步骤⑵,否则进行如下处理:
①遍历和*相关联的表信息;
②对单表进行判断,如果是子查询的关系,则将节点展开得到一个新的query结构,进入步骤2;
③如果单表是关联表,则将关联表进行拆分,进入步骤②;
④如果是普通表,则通过表信息去和数据库进行交互,获到当前表查询出来的字段信息,并将当前节点的*替换为查询出来的字段信息,进入步骤⑺;
⑵如果字段为函数,则对函数中的参数进行判定,然后进入步骤⑴。
⑶如果字段为a+b形式,则将当前字段拆分为叶子节点,然后依次进入步骤⑴;
⑷如果字段为子查询,则将节点得到一个新的query结构,进入步骤2;
⑸如果字段是普通表,则获取当前字段以及所属表与配置的脱敏信息进行匹配,确定是否匹配成功;
⑹如果匹配成功,则当前字段为敏感字段,对当前字段进行脱敏改写,并修改当前语法树的结点信息;否则,当前节点不是敏感字段,则当前节点维持不变;
⑺将改写后的语法树写回,得到改写后的sql语句。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京安华金和科技有限公司,未经北京安华金和科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911313880.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种食品加工机的控制方法
- 下一篇:一种前端配置方法、系统及电子设备