[发明专利]基于ORACLE数据库的海量数据脱敏方法有效
申请号: | 201911375004.7 | 申请日: | 2019-12-27 |
公开(公告)号: | CN111125769B | 公开(公告)日: | 2023-09-19 |
发明(设计)人: | 程永新;宋辉;郭振宇 | 申请(专利权)人: | 上海轻维软件有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F16/22;G06F16/25 |
代理公司: | 上海科律专利代理事务所(特殊普通合伙) 31290 | 代理人: | 袁亚军 |
地址: | 200333 上海市普陀区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 oracle 数据库 海量 数据 方法 | ||
本发明公开了一种基于ORACLE数据库的海量数据脱敏方法,包括如下步骤:S1:根据数据库中需要脱敏的表的数据量,对每个表进行数据分片;S2:根据表的数据量分配定义线程管道组数和线程数量;S3:执行表的所有线程管道的线程从数据库的原表中抽取数据分片脱敏后加载到目标表中,完成数据脱敏。本发明通过表数据分片,分片均匀,提高数据抽取性能,实现高速数据抽取;通过直通路径加载,并采用禁用日志提高加载性能,实现单表下的高速数据加载;设置线程总调度器,实现线程动态分配提高加载性能,实现多表下的高速数据加载;全程脱敏都在内存中操作,保证数据不落地,确保数据不泄漏。
技术领域
本发明涉及一种数据脱敏方法,尤其涉及一种基于ORACLE数据库的海量数据脱敏方法。
背景技术
ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。数据脱敏,指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。这样就可以在开发、测试和其它非生产环境以及外包环境中安全地使用脱敏后的真实数据集。ORACLE数据库作为关系数据库时,大量的敏感信息需要进行脱敏处理。
现有的脱敏方法有以下两种:
方案1:使用简单的JDBC方式脱敏。
方案2:数据库维护人员通过执行ORACLE数据泵脚本将生产库A数据同步到测试库B,然后再对敏感字段执行update语法更新敏感数据。
现有的脱敏方法存在以下问题:
现有方案1会导致下面的问题:JDBC能抽取和加载数据,但当单表的数据量达到亿级时,会造成抽取和加载的性能都非常慢,甚至可能出现查询超时现象,无法完成脱敏任务的缺点。
现有方案2会导致下面的问题:因为数据泵要导出文件,要两倍于源始数据的空间,如果数据量过大会导致源数据库服务器硬盘空间不足;文件导出将导致在脱敏过程中敏感数据外泄,用update语法更新导致脱敏后,数据会失去数据特征且无法保证业务关联性,或造成脱敏后数据变得单一;操作难度大,人工操作容易遗漏。
发明内容
本发明要解决的技术问题是提供一种基于ORACLE数据库的海量数据脱敏方法,解决上述问题。
本发明为解决上述技术问题而采用的技术方案是提供一种基于ORACLE数据库的海量数据脱敏方法,包括如下步骤:
S1:根据数据库中需要脱敏的表的数据量,对每个表进行数据分片;
S2:根据表的数据量分配定义线程管道组数和线程数量;
S3:执行表的所有线程管道的线程从数据库的原表中抽取数据分片脱敏后加载到目标表中,完成数据脱敏。
进一步的,所述表的数据分片为均匀分片,具体包括:每个表单独使用ORACLE的sample()函数均匀取出表的N个物理存储地址ROWID,物理存储地址的数量根据ORACLE的表大小动态修改,直到抽取到合适的ROWID数量,然后将ROWID排序后两两为一区间划分成多个分片,分片完成后,表的所有分片SQL都放入该表的分片队列;如果表为普通表,则对表进行一次分片,如果是分区表,则对表的每个分区都进行一次分片。
进一步的,所述表数据进行分区切片后,对分片进行重新排序,把不同的分区映射到不同磁盘进行I/O平衡,使多个线程能轮询获取到不同分区的分片,多个线程同时操作不同的磁盘。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海轻维软件有限公司,未经上海轻维软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911375004.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种月饼自动化生产的成型装置
- 下一篇:一种基于人工智能的交通道路监控装置