CN110135184B - 一种静态数据脱敏的方法、装置、设备及存储介质 - Google Patents

一种静态数据脱敏的方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110135184B
CN110135184B CN201810131585.9A CN201810131585A CN110135184B CN 110135184 B CN110135184 B CN 110135184B CN 201810131585 A CN201810131585 A CN 201810131585A CN 110135184 B CN110135184 B CN 110135184B
Authority
CN
China
Prior art keywords
data
desensitization
static
desensitizing
partition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810131585.9A
Other languages
English (en)
Other versions
CN110135184A (zh
Inventor
牛家浩
张强
阳方
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201810131585.9A priority Critical patent/CN110135184B/zh
Publication of CN110135184A publication Critical patent/CN110135184A/zh
Application granted granted Critical
Publication of CN110135184B publication Critical patent/CN110135184B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种静态数据脱敏的方法、装置、设备及存储介质,涉及数据安全领域,所述方法包括:对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据;对每个所述数据分区的数据进行脱敏处理,得到已脱敏数据;将所述已脱敏数据写入关系数据库或大数据系统。本发明实施例可以同时支持大数据系统及关系数据库的静态数据脱敏,并支持敏感数据脱敏后导入导出大数据系统。

Description

一种静态数据脱敏的方法、装置、设备及存储介质
技术领域
本发明涉及数据安全领域,特别涉及一种静态数据脱敏的方法、装置、设备及存储介质。
背景技术
在一些应用场景中,传统关系数据库需要向大数据系统迁移数据或者将大数据系统中的数据同步到关系数据库。这些源数据库系统中存储了大量的隐私数据,其中有些敏感信息具有以下特征:后续应用环节对于个体数据的失真不关注,仅关注群体的分布特征,用于统计和数据挖掘应用。对于这一类敏感信息,通过静态数据脱敏技术在将敏感数据持久化存储到目标数据库系统之前,就要依据数据特征使用随机化等数据脱敏算法对个体数据的敏感信息进行数据失真处理,使数据内容及数据间的关联能够满足测试、开发中的问题排查需要,同时进行数据分析、数据挖掘等分析活动。
目前,很多关系数据库自身不具备数据脱敏功能,无法利用数据库自身的能力进行静态脱敏。静态数据脱敏方法和装置大都面向关系数据库,不支持关系数据库与大数据系统之间敏感数据脱敏后的导入导出。
常用的静态脱敏方法通常利用脱敏服务器中间件执行脚本或者多线程任务获取脱敏后的数据后再导入目标数据库,此类方法需要脱敏服务器进行数据中转。在大数据海量数据的场景下,脱敏服务器将成为性能瓶颈,无法充分利用大数据的分布式并行处理能力进行静态数据脱敏。
发明内容
本发明实施例提供的一种静态数据脱敏的方法、装置、设备及存储介质,解决现有关系数据库和大数据系统(即大数据数据库系统)不支持数据脱敏,敏感数据脱敏后导入导出,以及采用脱敏服务器中间静态脱敏方式处理性能差的问题。
根据本发明实施例提供的一种静态数据脱敏的方法,包括:
对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据;
对每个所述数据分区的数据进行脱敏处理,得到已脱敏数据;
将所述已脱敏数据写入关系数据库或大数据系统。
优选地,所述对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据包括:
利用大数据处理工具sqoop,从所述关系数据库获取所述待导入的数据集的元数据信息,并生成用于实现数据导入的映射规约MapReduce作业;
在执行所述MapReduce作业期间,根据所述待导入的数据集的元数据信息,对所述待导入的数据集进行划分,得到多个所述数据分区,并启动用于并发进行多个静态脱敏处理的多个映射Map任务;
为每个所述Map任务获取一个所述数据分区的分区信息,并根据所述分区信息,从所述关系数据库读取每个所述数据分区的数据。
优选地,所述对每个所述数据分区的数据进行脱敏处理,得到已脱敏数据包括:
在执行每个所述Map任务期间,按照预设脱敏策略,在从所述关系数据库读取的数据中筛选出敏感数据;
调用所述预设脱敏策略指定的适于所述敏感数据的数据脱敏算法,并利用所述数据脱敏算法,对所述敏感数据进行脱敏处理,以便将脱敏处理后得到的数据写入所述大数据系统。
优选地,所述对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据包括:
利用sqoop,从所述大数据系统获取所述待导出的数据集的元数据信息,并生成用于实现数据导出的MapReduce作业;
在执行所述MapReduce作业期间,根据所述待导出的数据集的元数据信息,对所述待导出的数据集进行划分,得到多个所述数据分区,并启动用于并发进行多个静态脱敏任务的多个映射Map任务;
为每个所述Map任务获取一个所述数据分区的分区信息,并根据所述分区信息,从所述大数据系统读取所述数据分区的数据。
优选地,所述对每个所述数据分区的数据进行脱敏处理,得到已脱敏数据包括:
在执行每个所述Map任务期间,按照预设脱敏策略,在从所述大数据系统读取的所述数据中筛选出敏感数据;
调用所述预设脱敏策略指定的适于所述敏感数据的数据脱敏算法,并利用所述数据脱敏算法,对所述敏感数据进行脱敏处理,以便将脱敏处理后得到的数据写入所述关系数据库。
优选地,在所述对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据前,还包括:
通过在所述sqoop的授权模型中加入作为新受控对象的脱敏资源,得到扩展授权模型,并利用所述扩展授权模型,设置所述预设脱敏策略。
优选地,所述利用所述扩展授权模型,设置所述预设脱敏策略包括:
利用所述扩展授权模型,设置不同的数据脱敏粒度,并根据所述数据脱敏粒度,设置所述预设脱敏策略。
根据本发明实施例提供的一种静态数据脱敏的装置,包括:
数据读取模块,用于对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据;
数据脱敏模块,用于按照预设脱敏策略,对每个所述数据分区的数据进行脱敏处理,得到已脱敏数据;
数据写入模块,用于将所述已脱敏数据写入关系数据库或大数据系统。
根据本发明实施例提供的一种静态数据脱敏的设备,包括:处理器,以及与所述处理器耦接的存储器;所述存储器上存储有可在所述处理器上运行的静态数据脱敏的程序,所述静态数据脱敏的程序被所述处理器执行时实现如上述的静态数据脱敏的方法的步骤。
根据本发明实施例提供的一种存储介质,其上存储有静态数据脱敏的程序,所述静态数据脱敏的程序被处理器执行时实现上述的静态数据脱敏的方法的步骤。
本发明实施例提供的技术方案具有如下有益效果:
本发明实施例在不破坏原始数据的前提下,根据脱敏策略对待导入或待导出的敏感数据进行高性能分布式脱敏转换后再写入关系数据库或大数据系统,从而保护数据隐私。
附图说明
图1是本发明实施例提供的静态数据脱敏的方法框图;
图2是本发明实施例提供的静态数据脱敏的装置的结构框图;
图3是本发明实施例提供的静态数据脱敏的设备框图;
图4是本发明实施例提供的静态数据脱敏装置的功能模块图;
图5是本发明实施例提供的利用sqoop实施静态数据脱敏流程。
具体实施方式
以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1是本发明实施例提供的静态数据脱敏的方法框图,如图1所示,步骤包括:
步骤S101:对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据。
对待导入数据集的处理:利用sqoop,从关系数据库获取所述待导入的数据集的元数据信息,并生成用于实现数据导入的映射规约MapReduce作业,在执行该MapReduce作业期间,根据所述待导入的数据集的元数据信息,对所述待导入的数据集进行划分,得到多个所述数据分区,并启动用于并发进行多个静态脱敏处理的多个映射Map任务,然后为每个所述Map任务获取一个所述数据分区的分区信息,并根据所述分区信息,从所述关系数据库读取每个所述数据分区的数据。
对待导出数据集的处理:利用sqoop,从大数据系统获取所述待导出的数据集的元数据信息,并生成用于实现数据导出的MapReduce作业,在执行该MapReduce作业期间,根据所述待导出的数据集的元数据信息,对所述待导出的数据集进行划分,得到多个所述数据分区,并启动用于并发进行多个静态脱敏任务的多个映射Map任务,然后为每个所述Map任务获取一个所述数据分区的分区信息,并根据所述分区信息,从所述大数据系统读取所述数据分区的数据。
其中,sqoop:SQL-to-Hadoop,是一个用于Hadoop大数据系统和关系型数据库(即关系数据库)之间数据相互导入导出的开源工具,可以把关系型数据库的数据导入到Hadoop系统(如HDFS、HBase和Hive)中或把数据从Hadoop系统里抽取出来并导出到关系型数据库里(如MySQL、Oracle、DB2、PostgreSQL等)中。
步骤S102:对每个所述数据分区的数据进行脱敏处理,得到已脱敏数据。
对待导入数据集的处理:在执行每个Map任务期间,按照预设脱敏策略,在从关系数据库中读取的数据中筛选出敏感数据,然后调用所述预设脱敏策略指定的适于所述敏感数据的数据脱敏算法,并利用所述数据脱敏算法,对所述敏感数据进行脱敏处理,以便将脱敏处理后得到的数据写入所述大数据系统。
对待导出数据集的处理:在执行每个Map任务期间,按照预设脱敏策略,在从所述大数据系统读取的所述数据中筛选出敏感数据,然后调用所述预设脱敏策略指定的适于所述敏感数据的数据脱敏算法,并利用所述数据脱敏算法,对所述敏感数据进行脱敏处理,以便将脱敏处理后得到的数据写入所述关系数据库。
也就是说,本发明实施例摒弃数据脱敏服务器中转数据的方式,通过sqoop导入导出工具进行数据脱敏,这种方式是大数据静态数据脱敏程序中主要技术,更具体地说,本发明实施例通过在MapReduce过程中嵌入数据脱敏流程实现hadoop数据脱敏。
其中,本发明实施例所述数据脱敏算法包括但不限于随机化、模糊化、置空、变化、替换、散列、位移、截断、加密、匿名化等。
步骤S103:将所述已脱敏数据写入关系数据库或大数据系统。
对待导入数据集的处理:将已脱敏数据写入大数据系统。
对待导出数据集的处理:已脱敏数据写入关系数据库。
本发明实施例解决了数据库系统不支持脱敏的问题,可以同时支持大数据系统及关系数据库的静态数据脱敏,并支持敏感数据脱敏后导入导出大数据系统,此外,充分利用大数据系统的分布式计算能力,进行高性能分布式脱敏转换,大大提升了静态脱敏的处理性能。
进一步地,在步骤S101前,通过在所述sqoop的授权模型中加入作为新受控对象的脱敏资源,得到扩展授权模型,然后利用所述扩展授权模型,设置所述预设脱敏策略,具体地说,可以利用所述扩展授权模型,设置不同的数据脱敏粒度,并根据所述数据脱敏粒度,设置所述预设脱敏策略。也就是说,本发明实施例实现了细粒度的脱敏策略模型及设置流程。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中。
进一步说,本发明还可以提供一种存储介质,其上存储有静态数据脱敏的程序,所述静态数据脱敏的程序被处理器执行时实现上述的静态数据脱敏的方法的步骤。其中,所述的存储介质可以包括ROM/RAM、磁碟、光盘、U盘。
图2是本发明实施例提供的静态数据脱敏的装置的结构框图,如图2所示,包括:
数据读取模块10,用于对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据;
数据脱敏模块20,用于按照预设脱敏策略,对每个所述数据分区的数据进行脱敏处理,得到已脱敏数据;
数据写入模块30,用于将所述已脱敏数据写入关系数据库或大数据系统。
该装置工作流程如下:
对待导入数据集的处理:数据读取模块10利用sqoop,从关系数据库获取所述待导入的数据集的元数据信息,并生成用于实现数据导入的映射规约MapReduce作业,在执行该MapReduce作业期间,根据所述待导入的数据集的元数据信息,对所述待导入的数据集进行划分,得到多个所述数据分区,并启动用于并发进行多个静态脱敏处理的多个映射Map任务,然后为每个所述Map任务获取一个所述数据分区的分区信息,并根据所述分区信息,从所述关系数据库读取每个所述数据分区的数据。数据脱敏模块20在执行每个Map任务期间,按照预设脱敏策略,在从关系数据库中读取的数据中筛选出敏感数据,然后调用所述预设脱敏策略指定的适于所述敏感数据的数据脱敏算法,并利用所述数据脱敏算法,对所述敏感数据进行脱敏处理,以便数据写入模块30将脱敏处理后得到的数据写入所述大数据系统。
对待导出数据集的处理:数据读取模块10利用sqoop,从大数据系统获取所述待导出的数据集的元数据信息,并生成用于实现数据导出的MapReduce作业,在执行该MapReduce作业期间,根据所述待导出的数据集的元数据信息,对所述待导出的数据集进行划分,得到多个所述数据分区,并启动用于并发进行多个静态脱敏任务的多个映射Map任务,然后为每个所述Map任务获取一个所述数据分区的分区信息,并根据所述分区信息,从所述大数据系统读取所述数据分区的数据。数据脱敏模块20在执行每个Map任务期间,按照预设脱敏策略,在从所述大数据系统读取的所述数据中筛选出敏感数据,然后调用所述预设脱敏策略指定的适于所述敏感数据的数据脱敏算法,并利用所述数据脱敏算法,对所述敏感数据进行脱敏处理,以便数据写入模块30将脱敏处理后得到的数据写入所述关系数据库。
图3是本发明实施例提供的静态数据脱敏的设备框图,如图3所示,包括:处理器,以及与所述处理器40耦接的存储器50;所述存储器50上存储有可在所述处理器40上运行的静态数据脱敏的程序,所述静态数据脱敏的程序被所述处理器执行时实现如上述的静态数据脱敏的方法的步骤。
本发明实施例旨在不破坏原始数据的前提下,通过本发明实施例的方法、装置、设备及存储介质,动态地根据脱敏策略,利用大数据的分布式处理能力进行高性能静态数据脱敏,从而保护数据隐私。
图4是本发明实施例提供的静态数据脱敏装置的功能模块图,如图4所示,本发明实施例摒弃数据脱敏服务器中转脱敏数据的方式,静态数据脱敏装置由静态脱敏管理模块、sqoop及数据脱敏算法模块(实现图2各模块的功能)三部分组成。
静态脱敏管理模块负责管理静态脱敏任务,包括生成静态脱敏任务、调度并监控静态脱敏任务等,同时提供脱敏策略管理界面包括接口。
sqoop是Hadoop大数据系统和关系型数据库之间数据相互导入导出的工具,包括sqoop1及sqoop2。通过在sqoop的数据导入导出流程中增加数据脱敏处理实现静态数据脱敏,该过程完全利用了大数据的分布式处理能力并发运行,实现高性能静态脱敏处理,大大提升了处理性能。
数据脱敏算法模块对敏感数据按照脱敏算法逻辑进行脱敏转换,本发明所述的数据脱敏算法包括但不限于随机化、模糊化、置空、变化、替换、散列、位移、截断、加密、匿名化等。
本发明通过扩展sqoop的授权模型,支持细粒度的静态数据脱敏策略设置,对同一个列,可以根据场景针对不同的用户/用户组/角色设置不同的脱敏规则。
sqoop授权模型为:
GRANT privilege_action_type[,privilege_action_type]...ON resource[,resource]...TO principal_specification[,principal_specification]...[WITHGRANT OPTION]
REVOKE[GRANT OPTION FOR]privilege_action_type[,privilege_action_type]...ON resource[,resource]...FROM principal_specification[,principal_specification]...
其中:
privilege_action_type:是操作集,包括ALL|CREATE|READ|WRITE;
principal_specification:代表授权的用户、用户组或者角色名,包括USERuser_name|GROUP group_name|ROLE role_name;
resource:代表受控资源类型,包括SERVER server_name|CONNECTOR connector_name|LINK link_name|JOB job_name;
本发明在resource中增加MASKING,代表受控对象是脱敏资源;
具体格式为:MASKING masking_resource
其中,masking_resource:由link_name:database:table:column:masking_function组成;
比如,对某个链路link1上数据库DB中某张表T的列C设置随机化脱敏策略,则Masking_resource为Link1:DB:T:C1:random(1000);
如上,本发明实施例的脱敏策略控制的粒度为列级别,对同一个列,可以根据场景针对不同的用户/用户组/角色设置不同的脱敏规则,也同时也可以设置细粒度的授权规则。
本发明实施例的方法利用Hadoop大数据系统和关系型数据库之间数据相互导入导出的sqoop工具,通过在sqoop的数据导入导出流程中增加数据脱敏处理,利用大数据的MapReduce分布式处理能力将数据脱敏过程在大数据集群的多个分布式处理节点并发进行,实现了高性能静态脱敏处理,通过sqoop工具可以同时支持大数据与关系数据库的静态脱敏功能。
sqoop import导入命令会把导入过程转换为1个MapReduce作业在大数据集群分布式运行,每个Map读一片数据,并行从关系数据库中读取数据,在获取数据之后调用数据脱敏算法进行脱敏处理,经过脱敏处理后的数据写入Hadoop系统。
sqoop export导出命令会把导出过程转换为1个MapReduce作业在大数据集群分布式运行,每个Map读一片数据,根据用户指定的分隔符并行从hadoop数据库读入并解析数据,在写入数据库之前调用数据脱敏算法进行脱敏处理,经过脱敏处理后的数据转换成insert/update语句导入数据到关系数据库。
图5是本发明实施例提供的利用sqoop实施静态数据脱敏流程,如图5所示,具体步骤包括:
步骤1:系统管理员登录静态脱敏管理的脱敏策略界面,设置敏感数据的脱敏策略,指定敏感数据的脱敏算法,脱敏策略界面将用户设置的脱敏策略转换为sqoop的grant命令,提交给sqoop执行将脱敏策略写入sqoop系统。
特别地:本步骤可以直接通过Grant命令直接设置脱敏策略。
步骤2:系统管理员登录静态脱敏管理的任务管理界面,创建静态脱敏任务,指定新建静态数据脱敏任务的数据源及目标数据库、表、导出条件等,包括增量模式、任务提交到大数据集群的队列等各种控制参数。
步骤3:静态数据脱敏管理程序将用户的界面输入参数转换为一个或者多个sqoop命令,如果是导入,则转换为sqoop import命令,如果是导出,则转换为sqoop export命令,将命令写入待执行队列,按照顺序逐个调度执行。
特别地,通过使用sqoop的--check-column(指定要导入行时的要检查的列)和--last-value(指定先前导入检查列的最大值)参数,可以增量从数据库中导入新增的数据,sqoop只导入指定列中大于last-value的记录。对于写入后不更新的数据,并且ID是严格递增的,使用—incremental(指定sqoop如何确定哪些行是新的)参数增量导入,对会更新的数据,可以使用--incremental lastmodified(增量模式之一)来增量。增量导入结束后,sqoop会打印出--last-value,用于下次使用。
为了避免sqoop生成的MapReduce作业占用集群过多资源,在执行导入导出命令时,可以指定-Dmapreduce.job.queuename参数,设置MapReduce作业的运行队列,通过在此队列设置资源配额,限制任务占用系统物理资源。
步骤4:静态数据脱敏管理程序将sqoop的import或者export命令提交到Hadoop集群分布式执行。
步骤5:sqoop接受到静态数据脱敏管理程序的命令请求,对请求进行解析,包括以下两种情况:
(一)如果是import命令,即将关系数据库静态脱敏后导入Hadoop系统,具体流程包括:
步骤5.1:sqoop接收import数据导入请求,与源数据库通信,获取源数据库表的元数据信息。
步骤5.2:sqoop将导入命令翻译成MapReduce作业,设置好该作业的运行参数之后,启动一个MapReduce作业。
步骤5.3:该步骤为一个正常的MapReduce作业运行过程:
5.3.1:首先对数据进行切分,将数据集划分为不同的分区,将每个分区的处理范围写入文件中,启动多个Map任务完成如下流程:
5.3.2:InputFormat读取分区信息,从数据库中执行对应的SQL语句获取本分区的数据,并生成Key和Value对,交给map接口。
特别地,当执行完SQL语句从数据库获取SQL查询结果后,先获取脱敏策略,根据脱敏策略判断,判断当前获取的记录是否含有敏感字段,如果有,则需要根据配置的脱敏算法转换后,生成Key和Value对,交给map接口处理;
具体流程如下:
步骤5.3.2.1:首先获取待执行的SQL语句;
步骤5.3.2.2:获取SQL语句查询的输出表结构;
步骤5.3.2.3:获取步骤5.3.2.2每一个输出字段对应的脱敏规则;
步骤5.3.2.4:准备SQL语句;
步骤5.3.2.5:执行SQL语句;
步骤5.3.2.6:获取查询结果,对查询结果进行遍历,将行记录进行拼装供map调用,在遍历过程中对其中含敏感字段的列调用对应的脱敏算法转换,非敏感字段仅需要拼装。
5.3.3:map接口将获取的行数据写入HDFS文件中,生成的Key是行数据。
步骤5.4:所有的Map任务执行完成后,MapReduce作业会返回执行结果。
步骤5.5:sqoop向静态脱敏管理程序返回数据导入结果。
(二)如果是export命令,即将Hadoop系统数据静态脱敏后导出到关系数据库,具体流程包括:
步骤5.1:sqoop接收客户端的数据导出请求,与数据库Server通信,获取数据库表的元数据信息。
步骤5.2:sqoop将导入命令翻译成MapReduce作业,设置好该作业的运行参数之后,启动一个MapReduce作业。
步骤5.3:该步骤为一个正常的MapReduce作业运行过程。
步骤5.3.1:首先对数据进行切分,将数据集划分为不同的分区,将每个分区的处理范围写入文件中,启动多个Map任务完成如下流程:
步骤5.3.2:每个Map任务根据各自的任务范围进行数据导出工作,创建RecordReader通过从HDFS并行读取数据并生成Key和Value对,交给map接口。
特别地,在从HDFS读取数据过程中,先获取脱敏策略,根据脱敏策略判断,判断当前获取的记录是否含有敏感字段,如果有,则需要根据配置的脱敏算法转换后,生成Key和Value对,交给map接口处理。
具体流程如下:
步骤5.3.2.1:获取SQL语句查询的输出表结构;
步骤5.3.2.2:获取步骤5.2.1每一个输出字段对应的脱敏规则;
步骤5.3.2.3:通过RecordReader的nextValue接口获取一条行记录;
步骤5.3.2.4:对该行记录进行拆分,对其中含敏感字段的列调用对应的脱敏算法转换转换后进行拼装,对非敏感字段仅需要拼装,将拼装后的脱敏行记录交给map接口。
步骤5.3.3:map接口将行数据批量插入关系数据库的目标表中;
步骤5.4:所有的Map任务执行完成后,MapReduce作业会返回执行结果。
步骤5.5:sqoop向静态脱敏管理程序返回数据导出结果。
步骤6:静态数据脱敏管理程序接收sqoop返回的命令执行结果,如果命令执行成功,则继续选择下一条待执行的命令,执行步骤4-步骤5,直到所有待执行命令全部运行完成。如果命令执行失败,则按照失败处理策略决定处理步骤四跳过执行下一条命令或者继续进行尝试该命令或者整个任务失败;
步骤7:当所有待执行命令执行完成或者异常中断,则静态脱敏程序向用户返回结果。
特别地,本发明支持直接通过sqoop的导入导出命令实施静态脱敏,具体参考步骤5。
综上所述,本发明实施例具有以下技术效果:
本发明实施例解决了数据库系统不支持脱敏的问题,可以同时支持大数据及关系库的静态数据脱敏,同时充分利用了大数据系统的分布式计算能力,进行高性能分布式脱敏转换,大大提升了静态脱敏的处理性能。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。

Claims (8)

1.一种静态数据脱敏的方法,其特征在于,包括:
对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据;
对每个所述数据分区的数据进行脱敏处理,得到已脱敏数据;
将所述已脱敏数据写入关系数据库或大数据系统;
其中,所述对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据包括:
利用大数据处理工具sqoop,从所述关系数据库获取所述待导入的数据集的元数据信息,并生成用于实现数据导入的映射规约MapReduce作业;或利用sqoop,从所述大数据系统获取所述待导出的数据集的元数据信息,并生成用于实现数据导出的MapReduce作业;
在执行所述MapReduce作业期间,根据所述待导入的数据集的元数据信息,对所述待导入的数据集进行划分,得到多个所述数据分区,并启动用于并发进行多个静态脱敏处理的多个映射Map任务;或根据所述待导出的数据集的元数据信息,对所述待导出的数据集进行划分,得到多个所述数据分区,并启动用于并发进行多个静态脱敏处理的多个映射Map任务;
为每个所述Map任务获取一个所述数据分区的分区信息,并根据所述分区信息,从所述关系数据库读取每个所述数据分区的数据。
2.根据权利要求1所述的方法,其特征在于,所述对每个所述数据分区的数据进行脱敏处理,得到已脱敏数据包括:
在执行每个所述Map任务期间,按照预设脱敏策略,在从所述关系数据库读取的数据中筛选出敏感数据;
调用所述预设脱敏策略指定的适于所述敏感数据的数据脱敏算法,并利用所述数据脱敏算法,对所述敏感数据进行脱敏处理,以便将脱敏处理后得到的数据写入所述大数据系统。
3.根据权利要求1所述的方法,其特征在于,所述对每个所述数据分区的数据进行脱敏处理,得到已脱敏数据包括:
在执行每个所述Map任务期间,按照预设脱敏策略,在从所述大数据系统读取的所述数据中筛选出敏感数据;
调用所述预设脱敏策略指定的适于所述敏感数据的数据脱敏算法,并利用所述数据脱敏算法,对所述敏感数据进行脱敏处理,以便将脱敏处理后得到的数据写入所述关系数据库。
4.根据权利要求2或3所述的方法,其特征在于,在所述对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据前,还包括:
通过在所述sqoop的授权模型中加入作为新受控对象的脱敏资源,得到扩展授权模型,并利用所述扩展授权模型,设置所述预设脱敏策略。
5.根据权利要求4所述的方法,其特征在于,所述利用所述扩展授权模型,设置所述预设脱敏策略包括:
利用所述扩展授权模型,设置不同的数据脱敏粒度,并根据所述数据脱敏粒度,设置所述预设脱敏策略。
6.一种静态数据脱敏的装置,其特征在于,包括:
数据读取模块,用于对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据;
数据脱敏模块,用于按照预设脱敏策略,对每个所述数据分区的数据进行脱敏处理,得到已脱敏数据;
数据写入模块,用于将所述已脱敏数据写入关系数据库或大数据系统;
其中,所述对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据包括:
利用大数据处理工具sqoop,从所述关系数据库获取所述待导入的数据集的元数据信息,并生成用于实现数据导入的映射规约MapReduce作业;或利用sqoop,从所述大数据系统获取所述待导出的数据集的元数据信息,并生成用于实现数据导出的MapReduce作业;
在执行所述MapReduce作业期间,根据所述待导入的数据集的元数据信息,对所述待导入的数据集进行划分,得到多个所述数据分区,并启动用于并发进行多个静态脱敏处理的多个映射Map任务;或根据所述待导出的数据集的元数据信息,对所述待导出的数据集进行划分,得到多个所述数据分区,并启动用于并发进行多个静态脱敏处理的多个映射Map任务;
为每个所述Map任务获取一个所述数据分区的分区信息,并根据所述分区信息,从所述关系数据库读取每个所述数据分区的数据。
7.一种静态数据脱敏的设备,其特征在于,所述设备包括:处理器,以及与所述处理器耦接的存储器;所述存储器上存储有可在所述处理器上运行的静态数据脱敏的程序,所述静态数据脱敏的程序被所述处理器执行时实现如权利要求1至5中任一项所述的静态数据脱敏的方法的步骤。
8.一种存储介质,其特征在于,其上存储有静态数据脱敏的程序,所述静态数据脱敏的程序被处理器执行时实现如权利要求1至5中任一项所述的静态数据脱敏的方法的步骤。
CN201810131585.9A 2018-02-09 2018-02-09 一种静态数据脱敏的方法、装置、设备及存储介质 Active CN110135184B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810131585.9A CN110135184B (zh) 2018-02-09 2018-02-09 一种静态数据脱敏的方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810131585.9A CN110135184B (zh) 2018-02-09 2018-02-09 一种静态数据脱敏的方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110135184A CN110135184A (zh) 2019-08-16
CN110135184B true CN110135184B (zh) 2023-12-22

Family

ID=67567693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810131585.9A Active CN110135184B (zh) 2018-02-09 2018-02-09 一种静态数据脱敏的方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110135184B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795764A (zh) * 2019-11-01 2020-02-14 中国银行股份有限公司 一种数据脱敏方法及系统
CN112799820B (zh) * 2021-02-05 2024-06-11 拉卡拉支付股份有限公司 数据处理方法、装置、电子设备、存储介质及程序产品
CN113051357B (zh) * 2021-03-08 2022-09-30 中国地质大学(武汉) 一种基于博弈论的矢量地图最优化局部脱敏方法
CN113420330A (zh) * 2021-06-28 2021-09-21 国网湖南省电力有限公司 大数据系统的可视化脱敏数据生成方法
CN114817390B (zh) * 2022-04-27 2024-08-06 中国农业银行股份有限公司 一种基于Sqoop程序的数据处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105138661A (zh) * 2015-09-02 2015-12-09 西北大学 一种基于Hadoop的网络安全日志k-means聚类分析系统及方法
CN107040894A (zh) * 2017-04-21 2017-08-11 杭州市综合交通研究中心 一种基于手机信令数据的居民出行od获取方法
CN107526813A (zh) * 2017-08-23 2017-12-29 北京明朝万达科技股份有限公司 一种脱敏数据的处理方法和装置
CN107526836A (zh) * 2017-09-07 2017-12-29 山东省城市商业银行合作联盟有限公司 基于大数据的银行零售存款业务数据分析系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7797341B2 (en) * 2007-04-30 2010-09-14 Hewlett-Packard Development Company, L.P. Desensitizing database information

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105138661A (zh) * 2015-09-02 2015-12-09 西北大学 一种基于Hadoop的网络安全日志k-means聚类分析系统及方法
CN107040894A (zh) * 2017-04-21 2017-08-11 杭州市综合交通研究中心 一种基于手机信令数据的居民出行od获取方法
CN107526813A (zh) * 2017-08-23 2017-12-29 北京明朝万达科技股份有限公司 一种脱敏数据的处理方法和装置
CN107526836A (zh) * 2017-09-07 2017-12-29 山东省城市商业银行合作联盟有限公司 基于大数据的银行零售存款业务数据分析系统及方法

Also Published As

Publication number Publication date
CN110135184A (zh) 2019-08-16

Similar Documents

Publication Publication Date Title
CN110135184B (zh) 一种静态数据脱敏的方法、装置、设备及存储介质
US11392586B2 (en) Data protection method and device and storage medium
EP2565802B1 (en) Data masking setup
DE202018006529U1 (de) Gemeinsames Nutzen bzw. Teilen von Daten in einem mandantenfähigen Datenbanksystem
US9430665B2 (en) Dynamic authorization to features and data in JAVA-based enterprise applications
DE202020005715U1 (de) Dynamische Maskierung geteilter Datenobjekte
EP3690695A1 (en) Data management system and data management method
DE112012005037T5 (de) Verwalten von redundanten unveränderlichen Dateien unter Verwendung von Deduplizierungen in Speicher-Clouds
EP2406736A2 (en) Composite hash and list partitioning of database tables
WO2014067449A1 (en) System and method for flexible distributed massively parallel processing (mpp) database
Chen et al. Bestpeer++: A peer-to-peer based large-scale data processing platform
US11275850B1 (en) Multi-faceted security framework for unstructured storage objects
CN110532279A (zh) 大数据平台权限控制方法、装置、计算机设备及存储介质
Varga et al. Introducing Microsoft SQL Server 2016: Mission-Critical Applications, Deeper Insights, Hyperscale Cloud
CN115758459A (zh) 数据权限管理方法及装置
US7752225B2 (en) Replication and mapping mechanism for recreating memory durations
US20210089527A1 (en) Incremental addition of data to partitions in database tables
CN111344997B (zh) 重新连线密码密钥管理系统服务实例
CN106897345A (zh) 一种数据存储的方法及装置
CN115221541A (zh) 一种基于eBPF的自动化访问控制方法、系统及设备
Rooney et al. Experiences with managing data ingestion into a corporate datalake
CN107562521A (zh) 一种资源管理方法及装置
CN109241057A (zh) 一种用于分布式系统的数字id生成方法
US20240241981A1 (en) Methods and systems for data synchronization, and computer-readable storage media
EP4081888A1 (en) Dynamic adaptive partition splitting

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant