CN108573171A - Greenplum数据脱敏方法、装置、设备及介质 - Google Patents

Greenplum数据脱敏方法、装置、设备及介质 Download PDF

Info

Publication number
CN108573171A
CN108573171A CN201810331567.5A CN201810331567A CN108573171A CN 108573171 A CN108573171 A CN 108573171A CN 201810331567 A CN201810331567 A CN 201810331567A CN 108573171 A CN108573171 A CN 108573171A
Authority
CN
China
Prior art keywords
greenplum
data
desensitization
task
desensitizations
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.)
Pending
Application number
CN201810331567.5A
Other languages
English (en)
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.)
China Travelsky Technology Co Ltd
Original Assignee
China Travelsky Technology Co Ltd
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 China Travelsky Technology Co Ltd filed Critical China Travelsky Technology Co Ltd
Priority to CN201810331567.5A priority Critical patent/CN108573171A/zh
Publication of CN108573171A publication Critical patent/CN108573171A/zh
Pending legal-status Critical Current

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/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (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

本发明提供了一种Greenplum数据脱敏方法、装置、设备及介质。其中,该方法包括:将脱敏方法提交到Greenplum数据库集群;创建Greenplum脱敏任务;将Greenplum脱敏任务提交到Greenplum数据库集群,以使Greenplum数据库集群调用脱敏方法执行Greenplum脱敏任务。通过本发明,解决了相关技术中采用内存式脱敏Greenplum数据的脱敏效率低的问题,提高了Greenplum数据的脱敏效率。

Description

Greenplum数据脱敏方法、装置、设备及介质
技术领域
本发明涉及领域,具体而言,涉及一种Greenplum数据脱敏方法、装置、设备及介质。
背景技术
术语解释
Greenplum:
Greenplum是一家总部位于美国加利福尼亚州,为全球大型企业用户提供新型企业级数据仓库(EDW)、企业级数据云(EDC)和商务智能(BI)提供解决方案和咨询服务的公司,在全球已有:纳斯达克,纽约证券交易所,Skype.FOX,T-Mobile;中国已有:中信实业银行,东方航空公司,阿里巴巴,华泰保险,中国远洋(Cosco),李宁公司等大型企业用户选择Greenplum的产品。
Greenplum就是一个与Oracle、DB2、PostgreSQL一样面向对象的关系型数据库。我们通过标准的SQL可以对Greenplum中的数据进行访问存取。
本质上讲,Greenplum是一个关系型数据库集群,它实际上是由数个独立的数据库服务组合成的逻辑数据库。与OracleRAC的Shared-Everything架构不同,Greenplum采用Shared-Nothing架构,整个集群由很多个数据节点(SegmentHost)和控制节点(MasterHost)组成,其中每个数据节点上可以运行多个数据库。简单来说,Shared-Nothing是一个分布式的架构,每个节点相对独立。在典型的Shared-Nothing中,每一个节点上所有的资源(CPU,内存,磁盘)都是独立的,每个节点都只有全部数据的一部分,也只能使用本节点的资源。
基于对Shared-Nothing分布式架构模式的分析,Greenplum高效处理I/O数据吞吐和并发计算的过程就很好理解了。在Greenplum中,需要存储的数据在进入数据库时,将先进行数据分布的处理工作,将一个表中的数据平均分布到每个节点上,并为每个表指定一个分发列(distributeColumn),之后便根据Hash来分布数据。基于Shared-Nothing的原则,Greenplum这样处理可以充分发挥每个节点处I/O的处理能力。在这一过程中,控制节点(MasterHost)将不再承担计算任务,而只负责必要的逻辑控制和客户端交互。I/O瓶颈的解决为并行计算能力的提升创造了良好的环境,所有节点服务器组成一个强大的计算平台,实现快速的海量并行运算。Greenplum在数据仓库、商业智能的应用上,尤其是在海量数据的处理方面性能极其优异。
Greenplum是面向数据仓库应用的关系型数据库,它是基于目前流行的PosgreSQL开发的,跟PostgreSQL的兼容性非常好,大部分的PostgreSQL客户端工具及PostgreSQL应用都能运行在Greenplum平台上。
OLTP与OLAP:
数据库系统一般分为两种类型,一种是面向前台应用的,应用比较简单,但是重吞吐和高并发的OLTP类型;一种是重计算的,对大数据集进行统计分析的OLAP类型。Greenplum属于后者,下面简单介绍下这两种数据库系统的特点。
OLTP(On-LineTransactionProcessing,联机事务处理)系统也称为生产系统,它是事件驱动的、面向应用的,比如电子商务网站的交易系统就是一个典型的OLTP系统。OLTP的基本特点是:
■数据在系统中产生;
■基于交易的处理系统(Transaction-Based);
■每次交易牵涉的数据量很小;
■对响应时间要求非常高;
■用户数量非常庞大,主要是操作人员;
■数据库的各种操作主要基于索引进行。
OLAP(On-LineAnalyticalProcessing,联机分析处理)是基于数据仓库的信息分析处理过程,是数据仓库的用户接口部分。OLAP系统是跨部门的、面向主题的,其基本特点是:
■本身不产生数据,其基础数据来源于生产系统中的操作数据(OperationalData);
■基于查询的分析系统;
■复杂查询经常使用多表联结、全表扫描等,牵涉的数据量往往十分庞大;
■响应时间与具体查询有很大关系;
■用户数量相对较小,其用户主要是业务人员与管理人员;
■由于业务问题不固定,数据库的各种操作不能完全基于索引进行。
目前Greenplum数据仓库的数据脱敏方式还是基于传统数据库的脱敏方式,即内存式脱敏,将数据从源数据库中加载到数据脱敏平台的内存中,由脱敏平台对数据进行脱敏,脱敏后的数据再存到目标数据库中。由于Greenplum是基于OLAP的数据库系统,他的优势在于大数据集的分析计算,采用传统数据库的脱敏方式完全发挥不出Greenplum分布式系统的优势,同时他跟基于OLTP的传统数据库比,在数据吞吐能力上要逊色很多,脱敏的效率只有传统数据库的1/3至1/2。即使采用多线程并行处理的方式来提高处理能力,但提高效率的空间有限。
发明内容
本发明提供了一种Greenplum数据脱敏方法、装置、设备及介质,以至少解决相关技术中采用内存式脱敏Greenplum数据的脱敏效率低的问题。
根据本发明实施例的一个方面,提供了一种Greenplum数据脱敏方法,包括:
将脱敏方法提交到Greenplum数据库集群;
创建Greenplum脱敏任务;
将所述Greenplum脱敏任务提交到所述Greenplum数据库集群,以使所述Greenplum数据库集群调用所述脱敏方法执行所述Greenplum脱敏任务。
根据本发明实施例的另一个方面,提供了一种Greenplum数据脱敏装置,所述装置包括:
第一提交模块,用于将脱敏方法提交到Greenplum数据库集群;
第一创建模块,用于创建Greenplum脱敏任务;
第二提交模块,用于将所述Greenplum脱敏任务提交到所述Greenplum数据库集群,以使所述Greenplum数据库集群调用所述脱敏方法执行所述Greenplum脱敏任务。
根据本发明实施例的另一个方面,提供了一种Greenplum数据脱敏设备,其特征在于,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现上述的方法。
根据本发明实施例的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时实现上述的方法。
通过本发明实施例提供的Greenplum数据脱敏方法、装置、设备及介质,采用将脱敏方法提交到Greenplum数据库集群;创建Greenplum脱敏任务;将Greenplum脱敏任务提交到Greenplum数据库集群,以使Greenplum数据库集群调用脱敏方法执行Greenplum脱敏任务的方式,解决了相关技术中采用内存式脱敏Greenplum数据的脱敏效率低的问题,提高了Greenplum数据的脱敏效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的Greenplum数据脱敏方法的流程图;
图2是根据本发明实施例的Greenplum数据脱敏装置的结构示意图;
图3是根据本发明实施例的Greenplum数据脱敏设备的硬件结构示意图;
图4是根据本发明优选实施例的Greenplum数据脱敏方法的流程图;
图5是根据本发明优选实施例的数据源管理界面的示意图;
图6是根据本发明优选实施例的字段集管理界面的示意图;
图7是根据本发明优选实施例的脱敏字段管理列表界面的示意图;
图8是根据本发明优选实施例的绑定脱敏规则界面的示意图;
图9是根据本发明优选实施例的新增脱敏任务编辑界面的示意图;
图10是根据本发明优选实施例的数据脱敏任务列表界面的示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本实施例中提供了一种Greenplum数据脱敏方法,图1是根据本发明实施例的Greenplum数据脱敏的流程图,如图1所示,该流程包括如下步骤:
步骤S101,将脱敏方法提交到Greenplum数据库集群;
步骤S102,创建Greenplum脱敏任务;
步骤S103,将Greenplum脱敏任务提交到Greenplum数据库集群,以使Greenplum数据库集群调用脱敏方法执行Greenplum脱敏任务。
通过上述步骤,在向Greenplum数据库集群提交其能够支持的语言的脱敏方法,利用提交到Greenplum数据库集群的Greenplum脱敏任务,使Greenplum数据库集群调用脱敏方法执行Greenplum脱敏任务;在Greenplum数据库集群中,利用Greenplum数据库集群处理任务的基本特性,即集群中的master将Greenplum脱敏任务分发给segment并行执行。一方面,Greenplum数据脱敏直接在Greenplum数据库集群中执行,而不再在脱敏平台中执行,避免了Greenplum数据库集群的数据吞吐能力低而导致的脱敏效率低的问题;另一方面,Greenplum数据库集群中的分布式处理任务的方式使得脱敏任务能够分布式并行执行,也提高了脱敏效率。
可选地,将脱敏方法提交到Greenplum数据库集群包括:将脱敏方法用到的数据库配置文件及关联的类打包成jar包,并将jar包提交到Greenplum数据库集群。理论上来说,提交到Greenplum数据库集群的脱敏方法只要采用Greenplum数据库集群的函数能够支持的语言实现即可。在本实施例中利用的是Greenplum数据库集群的函数支持java语言的特性。
可选地,创建Greenplum脱敏任务包括:获取Greenplum数据源以及Greenplum脱敏字段的集合;确定脱敏字段绑定的脱敏方法;生成Greenplum脱敏任务对应的SQL语句,SQL语句用于利用INSERTINTO…SELECT的方式将源表中的Greenplum脱敏字段经过与之绑定的脱敏方法处理后插入到目标表。创建Greenplum脱敏任务的目的是指定待脱敏的数据源、对于每个脱敏字段的数据采用的脱敏方法,并根据数据源和脱敏方法生成能够由Greenplum数据库集群执行以进行数据脱敏的SQL语句。
可选地,在利用Greenplum数据库集群实现库到库脱敏的情况下,SQL语句还包括:从Greenplum数据库集群查询其他Greenplum数据库集群的dblink信息。
可选地,创建Greenplum脱敏任务包括:判断待脱敏的数据源是否为Greenplum数据源;在判断到待脱敏的数据源为Greenplum数据源的情况下,创建Greenplum脱敏任务。采用该方式,可以实现根据待脱敏的数据源是否为Greenplum数据源来生成相应的脱敏任务。例如,在判断到待脱敏的数据源不为Greenplum数据源的情况下,则可以创建与待脱敏的数据源类型对应的数据脱敏任务;或者创建内存式脱敏任务。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
在本实施例中还提供了一种Greenplum数据脱敏装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”或者“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2是根据本发明实施例的Greenplum数据脱敏装置的结构框图,如图2所示,该装置包括:
第一提交模块21,用于将脱敏方法提交到Greenplum数据库集群;
第一创建模块22,用于创建Greenplum脱敏任务;
第二提交模块23,用于将Greenplum脱敏任务提交到Greenplum数据库集群,以使Greenplum数据库集群调用脱敏方法执行Greenplum脱敏任务。
可选地,第一提交模块21,用于将脱敏方法用到的数据库配置文件及关联的类打包成jar包,并将jar包提交到Greenplum数据库集群。
可选地,第一创建模块22创建Greenplum脱敏任务包括:获取Greenplum数据源以及Greenplum脱敏字段的集合;确定脱敏字段绑定的脱敏方法;生成Greenplum脱敏任务对应的SQL语句,SQL语句用于利用INSERTINTO…SELECT的方式将源表中的Greenplum脱敏字段经过与之绑定的脱敏方法处理后插入到目标表。
可选地,在利用Greenplum数据库集群实现库到库脱敏的情况下,SQL语句还包括:从Greenplum数据库集群查询其他Greenplum数据库集群的dblink信息。
可选地,第一创建模块22创建Greenplum脱敏任务包括:判断待脱敏的数据源是否为Greenplum数据源;在判断到待脱敏的数据源为Greenplum数据源的情况下,创建Greenplum脱敏任务。
可选地,装置还包括:第二创建模块,用于在判断到待脱敏的数据源不为Greenplum数据源的情况下,创建与待脱敏的数据源类型对应的数据脱敏任务;或者创建内存式脱敏任务。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。
另外,结合图1描述的本发明实施例的Greenplum数据脱敏方法可以由Greenplum数据脱敏设备来实现。图3是根据本发明实施例的Greenplum数据脱敏设备的硬件结构示意图。
Greenplum数据脱敏设备可以包括处理器31以及存储有计算机程序指令的存储器32。
具体地,上述处理器31可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器32可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器32可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器32可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器32可在数据处理装置的内部或外部。在特定实施例中,存储器32是非易失性固态存储器。在特定实施例中,存储器32包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器31通过读取并执行存储器32中存储的计算机程序指令,以实现上述实施例中的任意一种Greenplum数据脱敏方法。
在一个示例中,Greenplum数据脱敏设备还可包括通信接口33和总线30。其中,如图3所示,处理器31、存储器32、通信接口33通过总线30连接并完成相互间的通信。
通信接口33,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线30包括硬件、软件或两者,将Greenplum数据脱敏设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线30可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
该Greenplum数据脱敏设备可以基于获取到的数据,执行本发明实施例中的Greenplum数据脱敏方法,从而实现结合图1描述的Greenplum数据脱敏方法。
另外,结合上述实施例中的Greenplum数据脱敏方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种Greenplum数据脱敏方法。
为了使本发明实施例的描述更加清楚,下面结合优选实施例进行描述和说明。
Greenplum数据库为MPP架构数据库,实现原理为一个主数据库,多个从数据库形成分布式集群。SQL语句提交给master后,由master分发给多个从数据库并行执行。Greenplum分布式脱敏利用了Greenplum的特性,将脱敏平台的任务交由Greenplum的segment并行执行,以大大提高脱敏的效率。
在本优选实施例中,为了实现Greenplum数据脱敏,在脱敏平台编写针对Greenplum的脱敏方法,将脱敏方法用到的数据库配置文件及关联的类打包成jar包,将jar包上传到Greenplum集群。利用Greenplum函数支持java语言的特性,在Greenplum数据库中创建脱敏函数(调用jar包中脱敏方法)。这样Greenplum脱敏函数就具备的脱敏的能力。这时候就可以直接利用INSERTINTO…SELECT的方式从源表直接插入到目标表,而不经过脱敏平台,只需在源表的字段上加上脱敏函数,这样到目标表的数据就是脱敏后的数据。
具体而言,本优选实施例中的Greenplum数据脱敏是这样配置并实现的:
第一步,安装PL/JAVA,即Greenplum的JAVA支持组件。
1、在Greenplum各节点安装JDK1.6版本以上;
2、配置环境变量,在gpadmin用户的.bashrc文件加入(每个节点执行);
exportJAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64
exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/jdk1.6/jre/lib/amd64/server:/usr/lib/jdk1.6/jre/lib/amd64/
3、配置JAVA路径,用root用户执行以下:(每个节点执行)
#echo"$JAVA_HOME/jre/lib/amd64/server">/etc/ld.so.conf.d/libjdk.conf
#ldconfig
4、安装pl/java,用gpadmin用户执行以下:
$psql-Ugpadmin-f/usr/local/greenplum-db/share/postgresql/pljava/install.sqlpljavatestdb
至此Greenplum的PL/JAVA功能安装完成。
第二步,针对Greenplum,开发java脱敏方法作为Greenplum函数使用。把方法所依赖的平台类及数据库配置打成jar包,连同依赖的第三方jar包上传至Greenplum集群。
第三步,创建脱敏相关函数。
1、创建python语言支持;
2、执行createlanguageplpythonu;
3、创建获取表定义函数,根据源表生成创建目标表的sql语句;
4、创建脱敏函数,函数指向java脱敏方法;
第四步,为了实现Greenplum库到库的脱敏,需要建立dblink。
1、建立dblink的能力;
1)下载postgresql8.2.22版本的源码;
2)解压后切换到/home/gpadmin/postgresql-8.2.22/contrib/dblink目录下;
3)编辑Makefile文件;
4)将PG_CPPFLAGS=-I$(libpq_srcdir)设置为PG_CPPFLAGS=-I$(libpq_srcdir)–w(目的忽略警告);
5)编辑代码,执行$makeUSE_PGXS=1install,这样/usr/local/gp/lib/postgresql/目录下会生成dblink.so文件;
6)然后将dblink.so拷贝到其它segmenthosts上;
7)创建dblink相关的系统函数;
2、创建dblink连接;
##注意这个gp_130_gpadmin是你要建立的DBLINK名,其他的依次为IP地址,数据库名,用户名,密码;
zb_src=#SELECTdblink_connect('gp_130_gpadmin','hostaddr=***.***.***.***port=5432dbname=**user=**password=******');
3、使用dblink。
##使用DBLINK查询他机数据SELECT*FROM***.***是你在他机上要执行的SQL,后边()里是返回记录的结构说明:
zb_src=#SELECT*FROMdblink('gp_130_gpadmin','SELECT*FROM***.***')ASt1(vvarchar,v1varchar,v2varchar,v3varchar)LIMIT5
第五步,修改原有Greenplum脱敏方法,原有的Greenplum脱敏方法是基于传统数据库的脱敏方法,即通过分页的方式将源数据库的数据加载到数据脱敏平台内存中,一页一个线程,数据脱敏完,再写回目标数据库中。新的脱敏方法采用一个表一个线程,不加载数据到内存中,而是直接调插入语句,让Greenplum自己去做脱敏处理。具体操作步骤:
1、修改线程的拆分方式,由原有的分页查询,一页一线程,改成按表拆分,一表一线程:
1)执行表定义函数,获取建表语句;
2)获取源表的权限信息;
3)执行建表语句,创建目标表;
4)将源表的权限赋予目标表;
5)生成线程列表。
一页一线程是指传统的脱敏方式需要将一张表的待脱敏数据分配到多个不同线程来处理,来实现并行处理。由于本实施例提供的数据脱敏方法已经实现了底层的分布式脱敏,所以可以按照待脱敏的表分配至不同线程,可以达到同时脱敏多张表的效果,从而提高脱敏的性能。
2、修改数据插入方式,改用INSERTINTO…SELECT方式,直接从Greenplum源表插入到目标表,中间通过脱敏函数做脱敏,不经过脱敏平台,步骤如下:
1)调用Greenplum函数set_config,设置pljava_classpath;
SELECTset_config('pljava_classpath','EJob.jar:log4j1217.jar:ojdbc6.jar:mysqlconnector5.jar:commonsbeanutils182.jar:commonsbeanutils192.jar:commonscollections31.jar:commonslang.jar:groovyall178.jar:hibernate3.jar:HikariCP241.jar:jcloverslf4j.jar:metricscore.jar:metricshealthchecks.jar:pearlsoftcommons.jar:postgresql94.jar:slf4japi1712.jar:slf4japi172.jar:springbeans.jar:springcore.jar',false);
2)在查询的所有字段上都加上脱敏函数;
3)如果不是同库脱敏,则需要在查询语句前加上dblink;
3、修改公用的脱敏任务执行方法,在查询数据之前,判断是Greenplum分布式脱敏,则直接调用插入方法。不走内存式脱敏的步骤。这样既兼容了原有的脱敏架构,又能实现Greenplum的分布式脱敏。
在本优选实施例中,在将本发明实施例应用到数据脱敏平台上,并在Greenplum上配置了java脱敏方法之后,提供了一个用户界面接口来与用户交互,以引导用户完成Greenplum数据脱敏任务的生成和提交。下面将结合图4描述用户通过用户界面接口与数据脱敏平台的交互过程。
图4是根据本发明优选实施例的Greenplum数据脱敏方法的流程图,如图4所示,在数据脱敏平台一侧,该流程包括如下步骤:
步骤1,添加Greenplum数据源。在脱敏平台的数据源管理界面(如图5所示)中,点击新增连接按钮,进入编辑新增数据源界面。输入各项需要填写的数据源信息后,测试连接成功,即可保存数据源。
步骤2,添加Greenplum脱敏字段集合:在字段集管理界面(如图6所示)中,点击新增按钮进入新增脱敏字段集界面,填写好各项必填选项后保存(此处的归属数据源选择要脱敏的Greenplum源数据源)。
步骤3,绑定脱敏字段的脱敏规则:在脱敏字段管理列表(如图7所示)中,选择要脱敏的Greenplum源数据源,然后选择要编辑的脱敏字段集,为此字段集编辑要脱敏的字段并绑定脱敏规则(如图8所示)。
步骤4,创建Greenplum脱敏任务:由菜单数据管理->数据脱敏进入数据脱敏任务列表,点击新增按钮进入新增脱敏任务编辑界面(如图9所示)。选择脱敏源数据源,脱敏字段集,脱敏目标数据源等各项信息后,提交保存。
步骤5,开启脱敏任务:在数据脱敏任务列表(如图10所示)中,选择要开启的任务,点击启动按钮并确认启动任务即可提交开启脱敏任务。
在数据脱敏平台上提交脱敏任务之后,数据脱敏平台将脱敏任务对应的SQL语句提交到Greenplum集群,Greenplum数据仓库的master则将SQL语句分发给segment并行执行,以实现分布式Greenplum数据脱敏。
综上所述,通过本发明提供的上述实施例和实施方式,利用Greenplum函数支持java语言的特性,将平台代码打成jar包提交到Greenplum集群,在Greenplum数据库中创建脱敏函数(调用jar包API),这样Greenplum就拥有了脱敏能力,即可由脱敏平台直接提交任务到Greenplum集群执行,由此实现了Greenplum的分布式脱敏。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种Greenplum数据脱敏方法,其特征在于,包括:
将脱敏方法提交到Greenplum数据库集群;
创建Greenplum脱敏任务;
将所述Greenplum脱敏任务提交到所述Greenplum数据库集群,以使所述Greenplum数据库集群调用所述脱敏方法执行所述Greenplum脱敏任务。
2.根据权利要求1所述的方法,其特征在于,将脱敏方法提交到Greenplum数据库集群包括:
将所述脱敏方法用到的数据库配置文件及关联的类打包成jar包,并将所述jar包提交到所述Greenplum数据库集群。
3.根据权利要求2所述的方法,其特征在于,创建Greenplum脱敏任务包括:
获取Greenplum数据源以及Greenplum脱敏字段的集合;
确定所述脱敏字段绑定的脱敏方法;
生成所述Greenplum脱敏任务对应的SQL语句,所述SQL语句用于利用INSERTINTO…SELECT的方式将源表中的Greenplum脱敏字段经过与之绑定的脱敏方法处理后插入到目标表。
4.根据权利要求1所述的方法,其特征在于,在利用所述Greenplum数据库集群实现库到库脱敏的情况下,所述SQL语句还包括:从所述Greenplum数据库集群查询其他Greenplum数据库集群的dblink信息。
5.根据权利要求1所述的方法,其特征在于,创建Greenplum脱敏任务包括:
判断待脱敏的数据源是否为Greenplum数据源;
在判断到待脱敏的数据源为Greenplum数据源的情况下,创建所述Greenplum脱敏任务。
6.根据权利要求5所述的方法,其特征在于,在判断到待脱敏的数据源不为Greenplum数据源的情况下,所述方法还包括:
创建与所述待脱敏的数据源类型对应的数据脱敏任务;或者创建内存式脱敏任务。
7.一种Greenplum数据脱敏装置,其特征在于,所述装置包括:
第一提交模块,用于将脱敏方法提交到Greenplum数据库集群;
第一创建模块,用于创建Greenplum脱敏任务;
第二提交模块,用于将所述Greenplum脱敏任务提交到所述Greenplum数据库集群,以使所述Greenplum数据库集群调用所述脱敏方法执行所述Greenplum脱敏任务。
8.一种Greenplum数据脱敏设备,其特征在于,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现如权利要求1-6中任一项所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时实现如权利要求1-6中任一项所述的方法。
CN201810331567.5A 2018-04-13 2018-04-13 Greenplum数据脱敏方法、装置、设备及介质 Pending CN108573171A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810331567.5A CN108573171A (zh) 2018-04-13 2018-04-13 Greenplum数据脱敏方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810331567.5A CN108573171A (zh) 2018-04-13 2018-04-13 Greenplum数据脱敏方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN108573171A true CN108573171A (zh) 2018-09-25

Family

ID=63574671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810331567.5A Pending CN108573171A (zh) 2018-04-13 2018-04-13 Greenplum数据脱敏方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN108573171A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109460676A (zh) * 2018-10-30 2019-03-12 全球能源互联网研究院有限公司 一种混合数据的脱敏方法、脱敏装置及脱敏设备
CN109871708A (zh) * 2018-12-15 2019-06-11 平安科技(深圳)有限公司 数据传输方法、装置、电子设备及存储介质
CN111125769A (zh) * 2019-12-27 2020-05-08 上海轻维软件有限公司 基于oracle数据库的海量数据脱敏方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105553940A (zh) * 2015-12-09 2016-05-04 北京中科云集科技有限公司 一种基于大数据处理平台的安全防护方法
US20160232159A1 (en) * 2015-02-09 2016-08-11 Ca, Inc. System and method of reducing data in a storage system
CN106778351A (zh) * 2016-12-30 2017-05-31 中国民航信息网络股份有限公司 数据脱敏方法及装置
CN107403111A (zh) * 2017-08-10 2017-11-28 中国民航信息网络股份有限公司 Hive数据脱敏方法及装置
CN107403110A (zh) * 2017-08-10 2017-11-28 中国民航信息网络股份有限公司 Hdfs数据脱敏方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160232159A1 (en) * 2015-02-09 2016-08-11 Ca, Inc. System and method of reducing data in a storage system
CN105553940A (zh) * 2015-12-09 2016-05-04 北京中科云集科技有限公司 一种基于大数据处理平台的安全防护方法
CN106778351A (zh) * 2016-12-30 2017-05-31 中国民航信息网络股份有限公司 数据脱敏方法及装置
CN107403111A (zh) * 2017-08-10 2017-11-28 中国民航信息网络股份有限公司 Hive数据脱敏方法及装置
CN107403110A (zh) * 2017-08-10 2017-11-28 中国民航信息网络股份有限公司 Hdfs数据脱敏方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
W0099939: ""AtlasData-测试数据管理及隐私数据漂白v1.9"", 《HTTPS://WWW.DOCIN.COM/TOUCH_NEW/MIP_PREVIEW_NEW.DO?ID=2074133182》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109460676A (zh) * 2018-10-30 2019-03-12 全球能源互联网研究院有限公司 一种混合数据的脱敏方法、脱敏装置及脱敏设备
CN109871708A (zh) * 2018-12-15 2019-06-11 平安科技(深圳)有限公司 数据传输方法、装置、电子设备及存储介质
CN111125769A (zh) * 2019-12-27 2020-05-08 上海轻维软件有限公司 基于oracle数据库的海量数据脱敏方法
CN111125769B (zh) * 2019-12-27 2023-09-19 上海轻维软件有限公司 基于oracle数据库的海量数据脱敏方法

Similar Documents

Publication Publication Date Title
CN109086409B (zh) 微服务数据处理方法、装置、电子设备及计算机可读介质
US11099823B2 (en) Systems and methods for transformation of reporting schema
US7992139B2 (en) Method, system and program product for transforming a single language program into multiple language programs
JP5298117B2 (ja) 分散コンピューティングにおけるデータマージング
CN108984712A (zh) 基于业务场景的造数方法、设备及可读存储介质
CN104572122A (zh) 一种软件应用数据的生成装置及方法
CN115309566B (zh) 一种服务接口的动态管理方法及系统
Almeida et al. Getting started with data warehouse and business intelligence
CN108573171A (zh) Greenplum数据脱敏方法、装置、设备及介质
CN111125064B (zh) 一种生成数据库模式定义语句的方法和装置
US20230092752A1 (en) System and method for development of gateway policies in an application programming interface environment
CN113760948A (zh) 一种数据查询的方法及装置
CN110334545A (zh) 一种基于sql的权限控制方法、装置和电子设备
Ritter et al. Formalizing application integration patterns
CN111159040A (zh) 一种测试数据生成方法、装置、设备及存储介质
US8666951B2 (en) Managing multiple versions of enterprise meta-models using semantic based indexing
CN110109912A (zh) 一种标识符生成方法和装置
US8229946B1 (en) Business rules application parallel processing system
US8108349B1 (en) Directory services integration and replication system
CN112825068A (zh) 数据血缘生成方法及装置
CN114138651B (zh) 测试数据的生成方法及装置
CN115617874A (zh) 数据分析系统、方法、电子设备和计算机可读介质
US8200713B2 (en) Database exploration for building wireless component applications
CN114168122A (zh) 数据脚本的生成方法及装置
WO2022125451A1 (en) Automatic smart contract analysis

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180925