一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于presto引擎的敏感数据识别及脱敏方法与流程

2022-07-10 05:56:50 来源:中国专利 TAG:


1.本发明属于大数据技术领域,具体为一种基于presto引擎的敏感数据识别及脱敏方法。


背景技术:

2.除了外部风险环境的压力,我们还有不得不面对的合规性要求。只有遵守市场规则才能参与市场活动。
3.国外有gdpr(一般数据保护条例)、hipaa(美国的健康保险携带和责任法案)、sox(美国萨班斯法案,会计职业监管、公司治理、证券市场监管等方面改革的重要法律)、pci dss(全球性支付卡行业数据安全标准)。
4.国内有《网络安全法》、《公共及商用服务信息系统个人信息保护指南》以及与金融业密切相关的《商业银行信息科技风险管理指引》。当然,国内有关数据保护的法律规范明显还处于在初级阶段,相信未来几年,越来越详细严格的法律法规都将出台。
5.而在大数据及时查询引擎中,presto由于其丰富使用场景和优秀的执行性能得到了广泛的应用,他一个开源的分布式sql查询引擎,支持多源、即席查询,适用于交互式分析查询,数据量支持gb到 pb字节。广泛用于交互式查询,批量etl过程和a/b test等。
6.但是presto在数据脱敏管理方面存在缺失,本发明主要就是为了填补presto引擎数据脱敏相关的功能,实现数据的高效安全的共享。


技术实现要素:

7.针对现有技术的不足,本发明提供了一种基于presto引擎的敏感数据识别及脱敏方法,具有拓展性高开放性好的优点。
8.为实现上述目的,本发明提供如下技术方案:一种基于presto引擎的敏感数据识别及脱敏方法包括数据输入单元、数据识别单元、数据脱敏单元和数据输出单元;
9.所述数据输入单元,用于用户数据的输入并触发敏感数据识别单元;
10.所述数据识别单元,用于对用户数据进行分析,使用计算引擎判断目标用户数据内是否存在敏感数据,若存在则将数据直接输入数据脱敏单元,若不存在则直接输出至数据输出单元;
11.所述数据脱敏单元,用于对判断为敏感数据的用户数据进行脱敏操作,包括支持脱敏规则模板的管理,支持预定义和自定义方式、用户密级管理模块、表格字段级别脱敏规则管理(模板,参数,密级,数据字段相互关联)、计算引擎实现动态脱敏功能,所述计算引擎为 presto引擎;
12.所述数据输出单元,用于输出不携带敏感数据的用户数据,且包含完全不存在敏感数据的用户数据以及包含脱敏处理后的敏感数据的用户数据。
13.优选的,所述数据识别单元的识别方法包括:
14.s1:根据用户数据判断用户数据类型,即client发送请求给 coordinator,sql通
过antlr进行解析生成ast;
15.s2:生成可供分析的关键词后,与mysql数据库内部的敏感数据关键词进行匹配,若未匹配到结果则直接输出到数据输出单元,若匹配到关键词,则ast通过元数据进行语义解析;
16.s3:语义解析后的数据生成逻辑执行计划,并且通过数据识别规则进行优化,切分逻辑执行计划为不同stage,并调度worker节点去生成task;
17.s4:task根据不同的敏感数据关键词生成相应物理执行计划;
18.s5:调度完后根据调度结果coordinator串联stage;
19.s6:worker执行相应的物理执行计划,并对敏感数据进行标记;
20.s7:client不断地向coordinator拉取查询结果,coordinator 从最终汇聚输出的worker节点拉取查询结果,并最终汇总输出给数据脱敏单元
21.优选的,所述coordinator用于从数据输入单元获得sql语句,并解析sql语句,规划查询的执行计划,并管理worker节点状态。
22.优选的,所述coordinator只接受sql语言,用户端可通过 prestocli、jdbc、odbc驱动、其他语言工具库等工具和coordinator 进行交互。
23.优选的,所述coordinator通过基于http的协议和worker、客户端之间进行通信。
24.优选的,所述数据脱敏单元的数据脱敏方法包括以下步骤:
25.s1:脱敏规则生成,脱敏规则包括系统规则和用户规则,系统规则是指系统中预定义的规则,用户可以直接使用,参数已经配置完成,用户规则指用户定义新的脱敏规则,或者新的规则参数;
26.s2:配置表格脱敏规则,选择对应的列、脱敏规则,脱敏后的密级,修改表格脱敏配置时,进行脱敏操作审计日志的记录,记录操作的人员和脱敏配置前后的变化;
27.s3:配置用户密级,对于一般的用户系统,可以设置用户组、用户角色和用户本身,可以针对这三类主题进行密级设置,系统综合计算用户的所有身份,获取到最大的密级权限进行验证;
28.s4:执行查询。
29.优选的,所述脱敏规则包括脱敏模板名称、脱敏模板类型、支持字段类型、脱敏算法名称、脱敏算法参数。
30.优选的,所述支持字段类型是指脱敏字段的字段类型,只有符合字段类型要求的字段才能应用该脱敏规则,字段类型列表,所述脱敏算法名称是指实现脱敏功能的算法名称,所述脱敏算法参数是指本规则对应的脱敏算法预定义的参数列表。
31.优选的,所述数据脱敏方法还包括以下脱敏执行方式:
32.1)三类密级:
33.数据列的原始访问密级;
34.数据列脱敏后密级(一个字段可以定义多种脱敏规则和脱敏后密级);
35.用户密级;
36.2)脱敏规则确定方式:
37.如果用户密级不低于数据列的原始密级,则无需脱敏;
38.如果用户密级低于字段原始密级,且存在脱敏后密级不高于用户密级脱敏规则,
则选择脱敏后密级最高的脱敏规则;
39.如果用户密级低于字段原始密级,且低于所有的脱敏后密级,则退化为无查看权限;
40.3)确定脱敏规则后交由执行引擎下推到计算任务中执行:
41.在presto执行过程中的语义分析环节,通过获取元数据信息和脱敏配置信息,获取到字段脱敏规则名称,通过名称可以关联到 presto中预定义的函数,通过替换ast中的对应节点,达到改写sql 的目标,实际计算过程中会调用脱敏函数的算法逻辑产出最后的查询结果;
42.执行查询计算时,进行审计日志的记录。
43.与现有技术相比,本发明的有益效果如下:
44.该发明通过将敏感数据的识别以及脱敏方法与presto引擎相结合,利用presto引擎,其为清晰的架构,是一个能够独立运行的系统,不依赖于任何其他外部系统,其简单的数据结构,列式存储逻辑行,大部分数据都可以轻易的转化成presto所需要的这种数据结构,且利用presto引擎进行数据脱敏,解决presto引擎上无法支持灵活高效数据脱敏功能的问题,可以通过自定义脱敏规则,平台全流程化、引擎解耦,主数据规则引擎生成、数据标准规范引擎、数据质量规则引擎可基于需求场景进行能力扩展和升级,能较好的集成不同的用户管理平台,元数据管理平台。
附图说明
45.图1为本发明总体设计示意图;
46.图2为本发明数据脱敏常用算法示意图;
47.图3为本发明数据脱敏特性的业务应用要求示意图;
48.图4为本发明基于下标遮掩和正则遮掩脱敏规则参数示意图;
49.图5为本发明基于哈希和范围映射以及单值映射脱敏规则参数示意图;
50.图6为本发明脱敏执行方式示意图。
具体实施方式
51.基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
52.本发明提供一种基于presto引擎的敏感数据识别及脱敏方法技术方案:一种基于presto引擎的敏感数据识别及脱敏方法包括数据输入单元、数据识别单元、数据脱敏单元和数据输出单元;
53.数据输入单元,用于用户数据的输入并触发敏感数据识别单元;
54.数据识别单元,用于对用户数据进行分析,使用计算引擎判断目标用户数据内是否存在敏感数据,若存在则将数据直接输入数据脱敏单元,若不存在则直接输出至数据输出单元;
55.数据脱敏单元,用于对判断为敏感数据的用户数据进行脱敏操作,包括支持脱敏规则模板的管理,支持预定义和自定义方式、用户密级管理模块、表格字段级别脱敏规则管理(模板,参数,密级,数据字段相互关联)、计算引擎实现动态脱敏功能,计算引擎为presto
引擎;
56.数据输出单元,用于输出不携带敏感数据的用户数据,且包含完全不存在敏感数据的用户数据以及包含脱敏处理后的敏感数据的用户数据。
57.其中,数据识别单元的识别方法包括:
58.s1:根据用户数据判断用户数据类型,即client发送请求给 coordinator,sql通过antlr进行解析生成ast;
59.s2:生成可供分析的关键词后,与mysql数据库内部的敏感数据关键词进行匹配,若未匹配到结果则直接输出到数据输出单元,若匹配到关键词,则ast通过元数据进行语义解析;
60.s3:语义解析后的数据生成逻辑执行计划,并且通过数据识别规则进行优化,切分逻辑执行计划为不同stage,并调度worker节点去生成task;
61.s4:task根据不同的敏感数据关键词生成相应物理执行计划;
62.s5:调度完后根据调度结果coordinator串联stage;
63.s6:worker执行相应的物理执行计划,并对敏感数据进行标记;
64.s7:client不断地向coordinator拉取查询结果,coordinator 从最终汇聚输出的worker节点拉取查询结果,并最终汇总输出给数据脱敏单元。
65.其中,coordinator用于从数据输入单元获得sql语句,并解析 sql语句,规划查询的执行计划,并管理worker节点状态。
66.其中,coordinator只接受sql语言,用户端通过prestocli、 jdbc、odbc驱动、其他语言工具库等工具和coordinator进行交互。
67.其中,coordinator通过基于http的协议和worker、客户端之间进行通信。
68.其中,数据脱敏单元的数据脱敏方法包括以下步骤:
69.s1:脱敏规则生成,脱敏规则包括系统规则和用户规则,系统规则是指系统中预定义的规则,用户可以直接使用,参数已经配置完成,用户规则指用户定义新的脱敏规则,或者新的规则参数;
70.s2:配置表格脱敏规则,选择对应的列、脱敏规则,脱敏后的密级,修改表格脱敏配置时,进行脱敏操作审计日志的记录,记录操作的人员和脱敏配置前后的变化;
71.s3:配置用户密级,对于一般的用户系统,可以设置用户组、用户角色和用户本身,可以针对这三类主题进行密级设置,系统综合计算用户的所有身份,获取到最大的密级权限进行验证;
72.s4:执行查询。
73.其中,脱敏规则包括脱敏模板名称、脱敏模板类型、支持字段类型、脱敏算法名称、脱敏算法参数。
74.其中,支持字段类型是指脱敏字段的字段类型,只有符合字段类型要求的字段才能应用该脱敏规则,字段类型列表,脱敏算法名称是指实现脱敏功能的算法名称,脱敏算法参数是指本规则对应的脱敏算法预定义的参数列表。
75.其中,数据脱敏方法还包括以下脱敏执行方式:
76.1)三类密级:
77.数据列的原始访问密级;
78.数据列脱敏后密级(一个字段可以定义多种脱敏规则和脱敏后密级);
79.用户密级;
80.2)脱敏规则确定方式:
81.如果用户密级不低于数据列的原始密级,则无需脱敏;
82.如果用户密级低于字段原始密级,且存在脱敏后密级不高于用户密级脱敏规则,则选择脱敏后密级最高的脱敏规则;
83.如果用户密级低于字段原始密级,且低于所有的脱敏后密级,则退化为无查看权限;
84.3)确定脱敏规则后交由执行引擎下推到计算任务中执行:
85.在presto执行过程中的语义分析环节,通过获取元数据信息和脱敏配置信息,获取到字段脱敏规则名称,通过名称可以关联到 presto中预定义的函数,通过替换ast中的对应节点,达到改写sql 的目标,实际计算过程中会调用脱敏函数的算法逻辑产出最后的查询结果;
86.执行查询计算时,进行审计日志的记录。
87.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
88.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献