基于canal实现数据脱敏的一种方法技术

技术编号:23891339 阅读:37 留言:0更新日期:2020-04-22 06:35
本发明专利技术属于数据脱敏技术领域,具体涉及基于canal实现数据脱敏的一种方法,包括基于canal实现数据脱敏系统,基于canal实现数据脱敏系统包括master模块,master模块连接有binlog模块,binlog模块连接有表达式过滤模块,表达式过滤模块连接有slave普通数据模块和canal模块,canal模块连接有脱敏框架模块,脱敏框架模块包括canal客户端封装模块和脱敏管道模块和数据库写入模块,数据库写入模块连接有slave脱敏数据模块;基于canal实现数据脱敏的方法包括以下步骤:S1:首先确定master模块中要进行脱敏的mysql数据源;S2:通过表达式过滤模块将不需要脱敏一部分数据传输到slave普通数据模块;S5:通过表达式过滤模块将将需要过滤的脱敏一部分数据由canal客户端封装模块经过脱敏规则传输到slave脱敏数据模块。

【技术实现步骤摘要】
基于canal实现数据脱敏的一种方法
本专利技术属于数据脱敏
,具体涉及基于canal实现数据脱敏的一种方法。
技术介绍
随着数据挖掘的兴起,数据仓库的建设,数据安全扮演着重要角色,一旦出现隐私或其他敏感数据泄露,会对数据主体(客户,员工和公司)的财产、名誉、人身安全、以及合法利益造成严重损害。数据脱敏是解决这一问题的有效途径,目前业内尽管有了非常多的数据脱敏方案,不过大多存在着技术门槛高、费用高昂、操作困难的情况。
技术实现思路
为了降低技术难度、节约成本、实时脱敏,专利技术一种脱敏技术实现方法:canal数据脱敏方法。在现有的mysql数据源基础上,实现数据库的主从分离,使用canal对需要脱敏的数据进行脱敏处理后同步至从库,最后使用从库做为数据分析的基础数据源。为实现上述技术目的,本专利技术采用的技术方案如下:基于canal实现数据脱敏的一种方法,包括基于canal实现数据脱敏系统,所述基于canal实现数据脱敏系统包括master模块,所述master模块连接有binlog模块,所述binlog模块连接有表达式过滤模块,所述表达式过滤模块连接有slave普通数据模块和canal模块,所述canal模块连接有脱敏框架模块,所述脱敏框架模块包括canal客户端封装模块和脱敏管道模块和数据库写入模块,所述canal客户端封装模块与canal模块连接,所述数据库写入模块连接有slave脱敏数据模块,所述slave脱敏数据模块和slave普通数据模块组成slave模块;所述基于canal实现数据脱敏的方法包括以下步骤:S1:首先确定master模块中要进行脱敏的mysql数据源及详细表、字段;然后通过脱敏管道模块确定脱敏规则;并搭建mysql的主从环境以及canal服务;S2:通过表达式过滤模块将不需要脱敏一部分数据传输到slave普通数据模块;S5:通过表达式过滤模块将将需要过滤的脱敏一部分数据由canal客户端封装模块经过脱敏规则传输到slave脱敏数据模块。作为本专利技术发一种优选方案,所述脱敏管道模块包括若干脱敏处理模块。作为本专利技术发一种优选方案,所述脱敏规则包括数据替换:以虚构数据代替真值;截断、加密、隐藏或使之无效:以“无效”或*、#代替真值;随机化:以随机数据代替真值;偏移:通过随机移位改变数字数据;字符子链屏蔽:为特定数据创建定制屏蔽;自定义处理规则:支持使用外部程序编写的自定义处理规则。本专利技术的有益效果:1、技术门槛低,mysql主从;2、实时性强,数据插入、更新实时更新,不必离线;3、无商业费用,mysql和canal均为开源产品;4、应用公司脱敏指标灵活调整,且支持自定义扩展;5、丰富的扩展功能:如定时触发、自动邮件发送、三方接口通知等。附图说明本专利技术可以通过附图给出的非限定性实施例进一步说明;图1为本专利技术基于canal实现数据脱敏的一种方法实施例的结构示意图。具体实施方式为了使本领域的技术人员可以更好地理解本专利技术,下面结合附图和实施例对本专利技术技术方案进一步说明。如图1所示,本专利技术的基于canal实现数据脱敏的一种方法,包括基于canal实现数据脱敏系统,所述基于canal实现数据脱敏系统包括master模块,所述master模块连接有binlog模块,所述binlog模块连接有表达式过滤模块,所述表达式过滤模块连接有slave普通数据模块和canal模块,所述canal模块连接有脱敏框架模块,所述脱敏框架模块包括canal客户端封装模块和脱敏管道模块和数据库写入模块,所述canal客户端封装模块与canal模块连接,所述数据库写入模块连接有slave脱敏数据模块,所述slave脱敏数据模块和slave普通数据模块组成slave模块;所述基于canal实现数据脱敏的方法包括以下步骤:S1:首先确定master模块中要进行脱敏的mysql数据源及详细表、字段;然后通过脱敏管道模块确定脱敏规则;并搭建mysql的主从环境以及canal服务;S2:通过表达式过滤模块将不需要脱敏一部分数据传输到slave普通数据模块;S5:通过表达式过滤模块将将需要过滤的脱敏一部分数据由canal客户端封装模块经过脱敏规则传输到slave脱敏数据模块;最终完成普通数据和脱敏数据完整复制了主从的数据。其中,所述脱敏管道模块包括若干脱敏处理模块。其中,所述脱敏规则包括数据替换:以虚构数据代替真值;截断、加密、隐藏或使之无效:以“无效”或*、#代替真值;随机化:以随机数据代替真值;偏移:通过随机移位改变数字数据;字符子链屏蔽:为特定数据创建定制屏蔽;自定义处理规则:支持使用外部程序编写的自定义处理规则。本实施例中,master模块:为mysql的主库;binlog模块:保存mysql主库写操作记录,从库可通过该文件重放主库的写操作,以完成数据同步;slave模块:表示mysql的一个从库;slave普通数据模块:不需要数据脱敏的相关table集合;slave脱敏数据模块:需要脱敏的相关table集合,如保存用户基本信息的表;canal模块:数据同步中间件,可以解析binlog文件并可格式化记录为事件,用于自定义操作;表达式过滤模块:可以能过设置表达式,指定哪些表走canal实现数据脱敏,哪些可以不需要脱敏直接同步从库;脱敏框架模块:用于数据脱敏的集成环境;脱敏框架—canal客户端封装模块:接收来自canal的写操作事件,并把消息推送至脱敏管道;脱敏框架-脱敏管道模块:将一个个脱敏处理块组装起来,流水脱敏。如先将脱敏乱序,然后再替换特殊字符等;脱敏框架-数据库写入模块:将脱敏后的数据写入至从库slave的脱敏数据相关表。上述实施例仅示例性说明本专利技术的原理及其功效,而非用于限制本专利技术。任何熟悉此技术的人士皆可在不违背本专利技术的精神及范畴下,对上述实施例进行修饰或改变。因此,凡所属
中具有通常知识者在未脱离本专利技术所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本专利技术的权利要求所涵盖。本文档来自技高网
...

【技术保护点】
1.基于canal实现数据脱敏的一种方法,其特征在于:包括基于canal实现数据脱敏系统,所述基于canal实现数据脱敏系统包括master模块,所述master模块连接有binlog模块,所述binlog模块连接有表达式过滤模块,所述表达式过滤模块连接有slave普通数据模块和canal模块,所述canal模块连接有脱敏框架模块,所述脱敏框架模块包括canal客户端封装模块和脱敏管道模块和数据库写入模块,所述canal客户端封装模块与canal模块连接,所述数据库写入模块连接有slave脱敏数据模块,所述slave脱敏数据模块和slave普通数据模块组成slave模块;/n所述基于canal实现数据脱敏的方法包括以下步骤:/nS1:首先确定master模块中要进行脱敏的mysql数据源及详细表、字段;然后通过脱敏管道模块确定脱敏规则;并搭建mysql的主从环境以及canal服务;/nS2:通过表达式过滤模块将不需要脱敏一部分数据传输到slave普通数据模块;/nS5:通过表达式过滤模块将将需要过滤的脱敏一部分数据由canal客户端封装模块经过脱敏规则传输到slave脱敏数据模块。/n

【技术特征摘要】
1.基于canal实现数据脱敏的一种方法,其特征在于:包括基于canal实现数据脱敏系统,所述基于canal实现数据脱敏系统包括master模块,所述master模块连接有binlog模块,所述binlog模块连接有表达式过滤模块,所述表达式过滤模块连接有slave普通数据模块和canal模块,所述canal模块连接有脱敏框架模块,所述脱敏框架模块包括canal客户端封装模块和脱敏管道模块和数据库写入模块,所述canal客户端封装模块与canal模块连接,所述数据库写入模块连接有slave脱敏数据模块,所述slave脱敏数据模块和slave普通数据模块组成slave模块;
所述基于canal实现数据脱敏的方法包括以下步骤:
S1:首先确定master模块中要进行脱敏的mysql数据源及详细表、字段;然后通过脱敏管道模块确定脱敏规...

【专利技术属性】
技术研发人员:李迎奎
申请(专利权)人:济南东驰网络科技有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1