CN111125769A - 基于oracle数据库的海量数据脱敏方法 - Google Patents
基于oracle数据库的海量数据脱敏方法 Download PDFInfo
- Publication number
- CN111125769A CN111125769A CN201911375004.7A CN201911375004A CN111125769A CN 111125769 A CN111125769 A CN 111125769A CN 201911375004 A CN201911375004 A CN 201911375004A CN 111125769 A CN111125769 A CN 111125769A
- Authority
- CN
- China
- Prior art keywords
- data
- thread
- threads
- desensitization
- loading
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于ORACLE数据库的海量数据脱敏方法,包括如下步骤:S1:根据数据库中需要脱敏的表的数据量,对每个表进行数据分片;S2:根据表的数据量分配定义线程管道组数和线程数量;S3:执行表的所有线程管道的线程从数据库的原表中抽取数据分片脱敏后加载到目标表中,完成数据脱敏。本发明通过表数据分片,分片均匀,提高数据抽取性能,实现高速数据抽取;通过直通路径加载,并采用禁用日志提高加载性能,实现单表下的高速数据加载;设置线程总调度器,实现线程动态分配提高加载性能,实现多表下的高速数据加载;全程脱敏都在内存中操作,保证数据不落地,确保数据不泄漏。
Description
技术领域
本发明涉及一种数据脱敏方法,尤其涉及一种基于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平衡,使多个线程能轮询获取到不同分区的分片,多个线程同时操作不同的磁盘。
进一步的,所述步骤S2具体包括:S21:根据表的数据量将表分为四类:分类一:数据量为0MB-10MB;分类二:数据量为10MB-1GB;分类三:数据量1GB-10GB;分类四,数据量大于10GB;S22:根据表的数据量的分类给每个表分配合适的线程管道组数:分类一分配1组线程管道;分类二分配4组线程管道;分类三分配16组线程管道;分类四分配32组线程管道;S23:分配的线程数量为线程管道的组数的3倍,所述线程分为抽取线程、脱敏线程和加载线程,每一组线程管道由对应设置的抽取线程、脱敏线程和加载线程组成,对应设置的抽取线程、脱敏线程和加载线程通过队列进行数据传递,组成一条串行的线程管道,所述抽取线程和脱敏线程通过管道队列一进行数据传递,所述脱敏线程和加载线程通过管道队列二进行数据传递。
进一步的,所述步骤S3中执行线程管道的线程具体包括:S311:线程管道的抽取线程去分片队列里轮询取出分片SQL来连接ORACLE数据库读取数据,将数据发送到管道队列一;S312:线程管道的脱敏线程从管道队列一拉取数据,进行数据脱敏,将脱敏后数据传递到管道队列二;S313:线程管道的加载线程从管道队列二拉取数据,再加载到目标数据表。
进一步的,所述步骤S313中数据加载是通过直通路径加载到目标数据表,插入的数据通过ORACLE程序全局区直接把数据格式化成ORACLE块,然后由普通的ORACLE服务器进程把数据块写入目标数据表,把数据直接插入到段的高水位以上;数据加载到目标数据表的过程中禁用日志,生成最少量的REDO和UNDO,减少目标数据库的I/O。
进一步的,进行单表的脱敏时,所述步骤S3中直接执行该表分配定义的每个线程管道的线程进行数据的抽取、脱敏和加载。
进一步的,进行多表脱敏时,所述步骤S3中通过线程总调度器来调度线程来执行所有表的线程管道的线程进行数据的抽取、脱敏和加载,具体包括如下步骤:S321:在线程总调度器中配置总线程管道数和总表数;S322:线程总调度器将需要脱敏的所有表,按照数据量从大到小进行排序;S323:将每个表分配定义的线程数量和线程管道组数交由线程总调度器保存,统一分配执行顺序;S324:线程总调度器按照表的排序依次执行每个表的第一组线程管道的线程,然后按照表的排序依次执行每个表的第二组线程管道的线程,直到总线程管道数分配完毕;S325:线程总调度器监听线程管道,如果有线程管道的线程执行完毕,继续按照步骤S324的顺序执行线程管道的线程进行数据的抽取、脱敏和加载,当线程总调度器监听到有表的所有线程管道的线程都执行完毕,那么线程总调度器给该表打上完成标记,直到所有表都打上完成标记,则完成所有表数据的脱敏。
进一步的,所述线程总调度器里存放有总管道数和总表数的配置值,所述总管道数和总表数的配置值通过主机CPU核心数和JVM内存大小计算得到或者根据任务指定。
进一步的,进行多表脱敏时,不同的表映射到不同表空间磁盘以平衡I/O,使多个线程能轮询获取到不同表的不同分区的分片,多个线程同时操作不同的磁盘。
本发明对比现有技术有如下的有益效果:本发明提供的基于ORACLE数据库的海量数据脱敏方法,通过表数据分片,分片均匀,提高数据抽取性能,实现高速数据抽取;通过直通路径加载,并采用禁用日志提高加载性能,实现单表下的高速数据加载;设置线程总调度器,实现线程动态分配提高加载性能,实现多表下的高速数据加载;全程脱敏都在内存中操作,保证数据不落地,确保数据不泄漏。
附图说明
图1为本发明实施例中基于ORACLE数据库的海量数据脱敏方法进行多表脱敏的示意图;
图2为本发明实施例中基于ORACLE数据库的海量数据脱敏方法进行单表脱敏的示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
图1为本发明实施例中基于ORACLE数据库的海量数据脱敏方法进行多表脱敏的示意图;图2为本发明实施例中基于ORACLE数据库的海量数据脱敏方法进行单表脱敏的示意图。
请参见图1和图2,本发明实施例的基于ORACLE数据库的海量数据脱敏方法,包括如下步骤:
第一步:根据数据库中需要脱敏的表的数据量,对每个表进行数据分片;
对每个表单独使用ORACLE的sample()函数均匀取出表的N个物理存储地址ROWID,N的值根据ORACLE的表大小动态修改,直到抽取到合适的ROWID数量,然后将ROWID排序后两两为一区间划分成多个范围。这种分片方法性能超高,在10亿量数据表下也能毫秒就能切分完。分片完后,表的所有分片SQL都放入该表的私有队列,例如表占用容量为10GB,表切出了64个分片,分配了16个管道,每个管道的抽取线程都去分片队列里轮询拿出分片SQL来连接ORACLE读取数据,将数据发送到队列1,达到并发高效抽取性能。如果表是普通表只需要执行一次切片SQL取出分片即可。如果是分区表,考虑到分区表通常都比较大,会对表的每个分区都执行一次切片SQL,这样能更均匀切片。
第二步:根据表的数据量分配定义线程管道组数和线程数量;
根据ORACLE系统表查询源库中表数据量,将表按照0MB-10MB,10MB-1GB,1GB-10GB,大于10GB,分为4类,不同大小的表分配合适的线程数去处理,抽取、脱敏和加载各分配一个线程处理,分别为抽取线程、脱敏线程和加载线程,之间都有一条队列来传递数据,三个线程就组成了一条串行的线程管道,这样利用多线程并发的特性,提高CPU利用率,例如:CPU核数=16,调度任务设置的最大管道数=32,线程管道数分配如下:
分类一:0MB-10MB,表占用容量小,分配1组管道;
分类二:10MB-1GB,表占用容量一般,建议分配4组管道;
分类三:1GB-10GB,表占用容量略大,建议分配管道组数=调度任务设置的最大线程数/2=16;
分类四:大于10GB,表占用容量非常大,建议分配线程管道组数=调度任务设置的最大线程数=32。
第三步:执行表的所有线程管道的线程从数据库的原表中抽取数据分片脱敏后加载到目标表中,完成数据脱敏;
进行单表脱敏时,每个线程管道的抽取线程都去队列里轮询拿出分片SQL来连接ORACLE读取数据,将数据发送到管道队列一;脱敏线程从管道队列一拉取数据,进行数据脱敏,将脱敏后数据传递到管道队列二;加载线程从管道队列二拉取数据,再加载到目标数据库。一组线程管道的三个线程协作能将抽取、脱敏、加载三个操作解耦,每个线程专注做一个事情,也尽可能利用多核CPU的特性达到数据脱敏的最佳性能。数据都是在内存中处理脱敏,所以保证了脱敏效率的同时又能保证数据不落地,确保数据不泄漏。因为在内存中脱敏,脱敏的算法可以无限扩展,不受数据库限制。
线程管道的加载线程拉取数据再加载到目标库时,如果表数据量达到亿级以上,普通的JDBC批量插入速度会比较慢,数据插入越往后就会越慢,速度程线性下降,为了达到最佳加载性能,通过直通路径加载、禁用日志并通过分区平衡加载提高加载效率。
直通路径加载:插入的数据不经过缓存,从ORACLE程序全局区直接把数据格式化成ORACLE块,然后由普通的ORACLE服务器进程把数据块写入数据文件,因为不经过缓存,所以不需要DBWn(Database Writer Process)介入,避免了一些SQL处理,并且加载把数据直接插入到段的高水位(HWM)以上,避免了大量搜索空闲数据块的时间。
禁用日志:使数据库在写入数据时不产生大量日志,从而生成了最少量的REDO和UNDO(只生成数据字典的UNDO,不生成块中数据的UNDO),减少数据库的I/O,从而提高了插入性能。
分区平衡加载:因为ORACLE的分区原理是每个分区都是一个独立的段(SEGMENT),为了均衡I/O,可以把不同的分区映射到不同磁盘以平衡I/O,所以在第一步分区切片后,对分片进行重新排序,使多个线程能轮询获取到不同分区的分片,这样在并发抽取和加载时,多个线程就等于同时操作不同的磁盘,达到插入的最佳性能。
生产环境多数是整库或者整个集合来脱敏,针对多个表海量数据同时脱敏,要多个表的海量数据同时执行脱敏算法,有些脱敏算法比较复杂,消耗比较多的CPU资源,所以脱敏服务器执行的属于CPU密集型任务,因为CPU资源是有限的,如果不限制启动多线程的数量,会出现CPU上下文切换频繁,消耗大量的CPU时间,同时也可能导致CPU来不及处理数据,数据都积压在管道内(管道是用基于内存的队列Array Blocking Queue),导致JVM内存溢出。上下文切换可以认为是内核(操作系统的核心)在CPU上对于线程进行以下的活动:挂起一个线程,将这个线程在CPU中的状态(上下文)存储于内存中的某处,在内存中检索下一个线程的上下文并将其在CPU的寄存器中恢复,跳转到程序计数器所指向的位置(即跳转到线程被中断时的代码行),以恢复该线程。上下文切换有时被描述为内核挂起CPU当前执行的线程,然后继续执行之前挂起的众多线程中的某一个,上下文切换通常是计算密集型的。也就是说,它需要相当可观的处理器时间,在每秒几十上百次的切换中,每次切换都需要纳秒量级的时间,上下文切换对系统来说意味着消耗大量的CPU时间。
因此,进行多表脱敏时在单表脱敏的基础上增加了表平衡加载和线程动态分配。
表平衡加载:因为ORACLE的表是每个表都是一个独立的表段(SEGMENT),为了均衡I/O,可以把不同的表映射到不同表空间磁盘以平衡I/O,也因为机器的CPU是有限的,要将CPU合理分配去同时处理不同的表,才能最大限度地平衡I/O。
线程动态分配:通过增加线程总调度器来统一分配CPU线程来执行脱敏任务。
增加线程总调度器,并在调度器里存放了总管道数和总表数量的定义值,总管道数和总表数量的定义值由程序按照主机CPU核心数和JVM(Java Virtual Machine)内存大小计算出最合适数量,也可以由用户执行任务时指定这个数量,以32个总管道数和100个表来说明,将任务要脱敏的100个表按大小容量排序,大容量的表排最前(先执行),小容量的表排后(后执行),空表排最后(最后执行),因为大容量的表脱敏耗时比较长,先执行会尽可能减少整体的任务时间。
线程总调度器获取第一个表,改表已经完成数据分片并分配定义线程管道组数和线程数量,线程管道里的线程只是分配好定义,但不执行,所有线程都交由线程总调度器保存起来,统一分配执行顺序,线程总调度器先执行表1-管道1的3个线程,总管道数-1,再获取第二个表,执行表2-管道2的3个线程,总管道数-1,再获取第三个表,执行表3-管道3的三个线程,如此类推,直到32个总管道数分配完毕,这里等于启动了32个表,每个表都启动了管道1,此时,线程总调度器会继续监听管道的执行状态,如果有管道执行完毕,总管道数+1,马上按上面步骤继续分配管道执行(从第33个表开始分配管道),直到100个表都启动完毕。这时100个表都启动了管道1的3个线程。当再有管道执行完毕,总管道数+1,线程总调度器会从执行表1-管道2的3个线程,因为表1大小容量最大,分片数也最多,多执行一组管道会线性地提高效率。当再有管道执行完,总管道数+1,再执行表2-管道2的3个线程,如此类推,当有表的数据全部脱敏并加载完毕,例如表90处理完,线程总调度器会打标记,表90不需要再执行管道,这样直到所有表的数据都处理完毕就结束任务。
综上所述,本发明实施例的基于ORACLE数据库的海量数据脱敏方法,通过表数据分片,分片均匀,提高数据抽取性能,实现高速数据抽取;通过直通路径加载,并采用禁用日志提高加载性能,实现单表下的高速数据加载;设置线程总调度器,实现线程动态分配提高加载性能,实现多表下的高速数据加载;全程脱敏都在内存中操作,保证数据不落地,确保数据不泄漏。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。
Claims (10)
1.一种基于ORACLE数据库的海量数据脱敏方法,其特征在于,包括如下步骤:
S1:根据数据库中需要脱敏的表的数据量,对每个表进行数据分片;
S2:根据表的数据量分配定义线程管道组数和线程数量;
S3:执行表的所有线程管道的线程从数据库的原表中抽取数据分片脱敏后加载到目标表中,完成数据脱敏。
2.如权利要求1所述的基于ORACLE数据库的海量数据脱敏方法,其特征在于,所述表的数据分片为均匀分片,具体包括:每个表单独使用ORACLE的sample()函数均匀取出表的N个物理存储地址ROWID,物理存储地址的数量根据ORACLE的表大小动态修改,直到抽取到合适的ROWID数量,然后将ROWID排序后两两为一区间划分成多个分片,分片完成后,表的所有分片SQL都放入该表的分片队列;如果表为普通表,则对表进行一次分片,如果是分区表,则对表的每个分区都进行一次分片。
3.如权利要求2所述的基于ORACLE数据库的海量数据脱敏方法,其特征在于,所述表数据进行分区切片后,对分片进行重新排序,把不同的分区映射到不同磁盘进行I/O平衡,使多个线程能轮询获取到不同分区的分片,多个线程同时操作不同的磁盘。
4.如权利要求1所述的基于ORACLE数据库的海量数据脱敏方法,其特征在于,所述步骤S2具体包括:
S21:根据表的数据量将表分为四类:分类一:数据量为0MB-10MB;分类二:数据量为10MB-1GB;分类三:数据量1GB-10GB;分类四,数据量大于10GB;
S22:根据表的数据量的分类给每个表分配合适的线程管道组数:分类一分配1组线程管道;分类二分配4组线程管道;分类三分配16组线程管道;分类四分配32组线程管道;
S23:分配的线程数量为线程管道的组数的3倍,所述线程分为抽取线程、脱敏线程和加载线程,每一组线程管道由对应设置的抽取线程、脱敏线程和加载线程组成,对应设置的抽取线程、脱敏线程和加载线程通过队列进行数据传递,组成一条串行的线程管道,所述抽取线程和脱敏线程通过管道队列一进行数据传递,所述脱敏线程和加载线程通过管道队列二进行数据传递。
5.如权利要求4所述的基于ORACLE数据库的海量数据脱敏方法,其特征在于,所述步骤S3中执行线程管道的线程具体包括:
S311:线程管道的抽取线程去分片队列里轮询取出分片SQL来连接ORACLE数据库读取数据,将数据发送到管道队列一;
S312:线程管道的脱敏线程从管道队列一拉取数据,进行数据脱敏,将脱敏后数据传递到管道队列二;
S313:线程管道的加载线程从管道队列二拉取数据,再加载到目标数据表。
6.如权利要求5所述的基于ORACLE数据库的海量数据脱敏方法,其特征在于,所述步骤S313中数据加载是通过直通路径加载到目标数据表,插入的数据通过ORACLE程序全局区直接把数据格式化成ORACLE块,然后由普通的ORACLE服务器进程把数据块写入目标数据表,把数据直接插入到段的高水位以上;数据加载到目标数据表的过程中禁用日志,生成最少量的REDO和UNDO,减少目标数据库的I/O。
7.如权利要求5所述的基于ORACLE数据库的海量数据脱敏方法,其特征在于,进行单表的脱敏时,所述步骤S3中直接执行该表分配定义的每个线程管道的线程进行数据的抽取、脱敏和加载。
8.如权利要求5所述的基于ORACLE数据库的海量数据脱敏方法,其特征在于,进行多表脱敏时,所述步骤S3中通过线程总调度器来调度线程来执行所有表的线程管道的线程进行数据的抽取、脱敏和加载,具体包括如下步骤:
S321:在线程总调度器中配置总线程管道数和总表数;
S322:线程总调度器将需要脱敏的所有表,按照数据量从大到小进行排序;
S323:将每个表分配定义的线程数量和线程管道组数交由线程总调度器保存,统一分配执行顺序;
S324:线程总调度器按照表的排序依次执行每个表的第一组线程管道的线程,然后按照表的排序依次执行每个表的第二组线程管道的线程,直到总线程管道数分配完毕;
S325:线程总调度器监听线程管道,如果有线程管道的线程执行完毕,继续按照步骤S324的顺序执行线程管道的线程进行数据的抽取、脱敏和加载,当线程总调度器监听到有表的所有线程管道的线程都执行完毕,那么线程总调度器给该表打上完成标记,直到所有表都打上完成标记,则完成所有表数据的脱敏。
9.如权利要求8所述的基于ORACLE数据库的海量数据脱敏方法,其特征在于,所述线程总调度器里存放有总管道数和总表数的配置值,所述总管道数和总表数的配置值通过主机CPU核心数和JVM内存大小计算得到或者根据任务指定。
10.如权利要求8所述的基于ORACLE数据库的海量数据脱敏方法,其特征在于,进行多表脱敏时,不同的表映射到不同表空间磁盘以平衡I/O,使多个线程能轮询获取到不同表的不同分区的分片,多个线程同时操作不同的磁盘。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911375004.7A CN111125769B (zh) | 2019-12-27 | 2019-12-27 | 基于oracle数据库的海量数据脱敏方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911375004.7A CN111125769B (zh) | 2019-12-27 | 2019-12-27 | 基于oracle数据库的海量数据脱敏方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111125769A true CN111125769A (zh) | 2020-05-08 |
CN111125769B CN111125769B (zh) | 2023-09-19 |
Family
ID=70503846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911375004.7A Active CN111125769B (zh) | 2019-12-27 | 2019-12-27 | 基于oracle数据库的海量数据脱敏方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111125769B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112015716A (zh) * | 2020-08-04 | 2020-12-01 | 北京人大金仓信息技术股份有限公司 | 数据库数据迁移方法、装置、介质和电子设备 |
CN112131027A (zh) * | 2020-09-29 | 2020-12-25 | 中国银行股份有限公司 | 分布式应用集群及数据脱敏方法 |
CN112231759A (zh) * | 2020-11-20 | 2021-01-15 | 深圳前海微众银行股份有限公司 | 日志脱敏方法、装置、设备及存储介质 |
CN114546610A (zh) * | 2022-01-17 | 2022-05-27 | 山西省信息通信网络技术保障中心 | 一种海量数据分布式脱敏装置 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077241A (zh) * | 2013-01-10 | 2013-05-01 | 中国银行股份有限公司 | 将文件拆分后并行加载数据入库的方法 |
CN104484456A (zh) * | 2014-12-29 | 2015-04-01 | 哈尔滨工业大学 | 一种基于多线程并行的SQLite数据库快速加载方法 |
US20150135183A1 (en) * | 2013-11-12 | 2015-05-14 | Oxide Interactive, LLC | Method and system of a hierarchical task scheduler for a multi-thread system |
CN104679884A (zh) * | 2015-03-16 | 2015-06-03 | 北京奇虎科技有限公司 | 数据库的数据分析方法、装置以及系统 |
CN104794204A (zh) * | 2015-04-23 | 2015-07-22 | 上海新炬网络信息技术有限公司 | 一种数据库敏感数据自动识别方法 |
CN107436902A (zh) * | 2016-05-27 | 2017-12-05 | 北京京东尚科信息技术有限公司 | 基于海量数据的数据抽取方法和系统 |
CN107943973A (zh) * | 2017-11-28 | 2018-04-20 | 上海云信留客信息科技有限公司 | 一种大数据智能清洗系统及云机器人智能清洗服务平台 |
CN108200086A (zh) * | 2018-01-31 | 2018-06-22 | 四川九洲电器集团有限责任公司 | 一种高速网络数据包过滤装置 |
CN108573171A (zh) * | 2018-04-13 | 2018-09-25 | 中国民航信息网络股份有限公司 | Greenplum数据脱敏方法、装置、设备及介质 |
CN108776710A (zh) * | 2018-06-28 | 2018-11-09 | 农信银资金清算中心有限责任公司 | 一种数据库数据的并发装载方法及装置 |
US20190147170A1 (en) * | 2017-11-16 | 2019-05-16 | Intuit Inc. | Processing data queries in a logically sharded data store |
CN110347673A (zh) * | 2019-05-30 | 2019-10-18 | 平安银行股份有限公司 | 数据文件加载方法、装置、计算机设备以及存储介质 |
CN110532799A (zh) * | 2019-07-31 | 2019-12-03 | 平安科技(深圳)有限公司 | 数据脱敏控制方法、电子装置及计算机可读存储介质 |
-
2019
- 2019-12-27 CN CN201911375004.7A patent/CN111125769B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077241A (zh) * | 2013-01-10 | 2013-05-01 | 中国银行股份有限公司 | 将文件拆分后并行加载数据入库的方法 |
US20150135183A1 (en) * | 2013-11-12 | 2015-05-14 | Oxide Interactive, LLC | Method and system of a hierarchical task scheduler for a multi-thread system |
CN104484456A (zh) * | 2014-12-29 | 2015-04-01 | 哈尔滨工业大学 | 一种基于多线程并行的SQLite数据库快速加载方法 |
CN104679884A (zh) * | 2015-03-16 | 2015-06-03 | 北京奇虎科技有限公司 | 数据库的数据分析方法、装置以及系统 |
CN104794204A (zh) * | 2015-04-23 | 2015-07-22 | 上海新炬网络信息技术有限公司 | 一种数据库敏感数据自动识别方法 |
CN107436902A (zh) * | 2016-05-27 | 2017-12-05 | 北京京东尚科信息技术有限公司 | 基于海量数据的数据抽取方法和系统 |
US20190147170A1 (en) * | 2017-11-16 | 2019-05-16 | Intuit Inc. | Processing data queries in a logically sharded data store |
CN107943973A (zh) * | 2017-11-28 | 2018-04-20 | 上海云信留客信息科技有限公司 | 一种大数据智能清洗系统及云机器人智能清洗服务平台 |
CN108200086A (zh) * | 2018-01-31 | 2018-06-22 | 四川九洲电器集团有限责任公司 | 一种高速网络数据包过滤装置 |
CN108573171A (zh) * | 2018-04-13 | 2018-09-25 | 中国民航信息网络股份有限公司 | Greenplum数据脱敏方法、装置、设备及介质 |
CN108776710A (zh) * | 2018-06-28 | 2018-11-09 | 农信银资金清算中心有限责任公司 | 一种数据库数据的并发装载方法及装置 |
CN110347673A (zh) * | 2019-05-30 | 2019-10-18 | 平安银行股份有限公司 | 数据文件加载方法、装置、计算机设备以及存储介质 |
CN110532799A (zh) * | 2019-07-31 | 2019-12-03 | 平安科技(深圳)有限公司 | 数据脱敏控制方法、电子装置及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
杨际祥;: "UCMLib:一种多核多线程编程库" * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112015716A (zh) * | 2020-08-04 | 2020-12-01 | 北京人大金仓信息技术股份有限公司 | 数据库数据迁移方法、装置、介质和电子设备 |
CN112015716B (zh) * | 2020-08-04 | 2024-02-09 | 北京人大金仓信息技术股份有限公司 | 数据库数据迁移方法、装置、介质和电子设备 |
CN112131027A (zh) * | 2020-09-29 | 2020-12-25 | 中国银行股份有限公司 | 分布式应用集群及数据脱敏方法 |
CN112231759A (zh) * | 2020-11-20 | 2021-01-15 | 深圳前海微众银行股份有限公司 | 日志脱敏方法、装置、设备及存储介质 |
CN114546610A (zh) * | 2022-01-17 | 2022-05-27 | 山西省信息通信网络技术保障中心 | 一种海量数据分布式脱敏装置 |
CN114546610B (zh) * | 2022-01-17 | 2022-11-18 | 山西省信息通信网络技术保障中心 | 一种海量数据分布式脱敏装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111125769B (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111125769B (zh) | 基于oracle数据库的海量数据脱敏方法 | |
CN111291403B (zh) | 基于分布式集群的数据脱敏装置 | |
Tao et al. | Minimal mapreduce algorithms | |
US9195701B2 (en) | System and method for flexible distributed massively parallel processing (MPP) database | |
US10528596B2 (en) | System and method for consistent reads between tasks in a massively parallel or distributed database environment | |
US9235590B1 (en) | Selective data compression in a database system | |
WO2017019879A1 (en) | Multi-query optimization | |
US20130227194A1 (en) | Active non-volatile memory post-processing | |
US10078684B2 (en) | System and method for query processing with table-level predicate pushdown in a massively parallel or distributed database environment | |
US11132383B2 (en) | Techniques for processing database tables using indexes | |
US10089357B2 (en) | System and method for generating partition-based splits in a massively parallel or distributed database environment | |
US20160092524A1 (en) | System and method for data transfer from jdbc to a data warehouse layer in a massively parallel or distributed database environment | |
WO2014082602A1 (en) | Method for automated scaling of massive parallel processing (mpp) database | |
CN103942342A (zh) | 一种内存数据库oltp&olap并发查询优化方法 | |
US9405782B2 (en) | Parallel operation in B+ trees | |
US20160092543A1 (en) | System and method for generating size-based splits in a massively parallel or distributed database environment | |
CN107209768A (zh) | 用于数据集的可扩展排序的方法和设备 | |
CN109918450A (zh) | 基于分析类场景下的分布式并行数据库及存储方法 | |
US10120860B2 (en) | Methods and apparatus to identify a count of n-grams appearing in a corpus | |
TW201926081A (zh) | 資料轉移系統及方法 | |
CN113849478A (zh) | 一种云原生大数据分析引擎 | |
Kvet | Database index balancing strategy | |
Ding et al. | Commapreduce: An improvement of mapreduce with lightweight communication mechanisms | |
Malik et al. | Task scheduling for GPU accelerated hybrid OLAP systems with multi-core support and text-to-integer translation | |
Xu et al. | Banian: a cross-platform interactive query system for structured big data |
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 |