一种敏感数据刷数方法、装置、电子设备及存储介质制造方法及图纸

技术编号:36089787 阅读:19 留言:0更新日期:2022-12-24 11:06
本发明专利技术提供了一种敏感数据刷数方法、装置、电子设备及计算机可读存储介质。本发明专利技术提供的敏感数据刷数方法,包括:获取多个待加密敏感数据表的表名及行数据主键ID;建立临时表,使临时表包含多个待加密敏感数据表的表名以及行数据主键ID;从任务队列中分别获取不同的待加密敏感数据表的表名,并根据获取的待加密敏感数据表的表名,从临时表中获取对应的待加密敏感数据表的表名下的行数据主键ID,根据对应的待加密敏感数据表的表名以及表名下的行数据主键ID,从原始数据库中获取敏感字段值,对敏感字段值进行加密和哈希处理。本发明专利技术的敏感数据刷数方法,可以实现对大量敏感数据进行加密,同时避免了系统风险和热点争抢问题。题。题。

【技术实现步骤摘要】
一种敏感数据刷数方法、装置、电子设备及存储介质


[0001]本专利技术涉及计算机数据处理
,尤其涉及一种敏感数据刷数方法、装置、电子设备及计算机可读存储介质。

技术介绍

[0002]随着计算机技术的飞速发展,大数据技术也应运而生,在大数据时代,数据共享的背景下,对于个人信息等敏感数据的安全性的保证也是研究的重要方向之一;为了满足预设规范或要求,需要对个人信息等敏感数据进行加密(脱敏),这种加密过程往往是批量进行的,对敏感数据进行批量加密的过程,也可以称之为对敏感数据进行批量刷数。
[0003]对数据库里的大量敏感数据进行加密,其普遍做法是,在每个表新建一个定时任务刷数,但此方案通常有如下问题,当表数据量大时,刷数需要依赖某个有序索引遍历刷数,若原表没有这个有序索引时,就要新建有序索引,但是新建有序索引会带来存储、执行计划等改变,从而可能会引发系统风险;刷数定时任务是集群部署,由多台机器组成,为了有效的充分利用机器性能,通常采用分片的方式让每台机器都参与任务,但这样多个机器同时执行一张表,容易让该表处理的请求数过大,形成热点争抢问题。

技术实现思路

[0004]本专利技术的目的在于提供一种敏感数据刷数方法、装置、电子设备及计算机可读存储介质,以解决现有技术中对大量敏感数据的加密会引发系统风险及热点争抢的技术问题。
[0005]本专利技术的技术方案如下,提供了一种敏感数据刷数方法,包括如下步骤:
[0006]获取多个待加密敏感数据表的表名,并获取所述多个待加密敏感数据表在原始数据库中的行数据主键ID;
[0007]建立临时表,使所述临时表包含所述多个待加密敏感数据表的表名,以及所述多个待加密敏感数据表在原始数据库中的行数据主键ID;
[0008]将所述多个待加密敏感数据表的表名更新至缓存数据库的集合中,以所述集合作为任务队列;
[0009]从所述任务队列中分别获取不同的待加密敏感数据表的表名,并根据获取的所述待加密敏感数据表的表名,从所述临时表中获取对应的所述待加密敏感数据表的表名下的所述行数据主键ID,根据对应的所述待加密敏感数据表的表名以及所述表名下的所述行数据主键ID,从原始数据库中获取敏感字段值,对所述敏感字段值进行加密和哈希处理。
[0010]进一步地,在获取多个待加密敏感数据表的表名之后,还包括,
[0011]构造Mybatis动态SQL,用以接收所述待加密敏感数据表的表名、原始字段名、原始字段值、加密字段名以及哈希字段名;
[0012]相应的,对所述敏感字段值进行加密和哈希处理之后,还包括,
[0013]将经过加密处理后得到的加密字段值和经过哈希处理后得到哈希字段值,传入至
所述Mybatis动态SQL中。
[0014]进一步地,在建立临时表,使所述临时表包含所述多个待加密敏感数据表的表名,以及所述多个待加密敏感数据表在原始数据库中的行数据主键ID之后,还包括,将所述多个待加密敏感数据表的表名以及所述行数据主键ID形成记录,并将所述记录分段连续存储。
[0015]进一步地,所述敏感数据刷数方法还包括,为所述临时表添加排序字段,相应的,从所述临时表中获取对应的所述待加密敏感数据表的表名下的所述行数据主键ID,根据对应的所述待加密敏感数据表的表名以及所述表名下的所述行数据主键ID,从原始数据库中获取敏感字段值,对所述敏感字段值进行加密和哈希处理,包括:
[0016]按照所述排序字段从小到大的顺序,从所述临时表中获取预设行数的包含对应的所述待加密敏感数据表的表名下的所述行数据主键ID的记录;
[0017]对所述记录进行解析,获取对应的所述待加密敏感数据表的表名下的所述行数据主键ID,根据对应的所述待加密敏感数据表的表名,以及所述表名下的所述行数据主键ID,从原始数据库中获取敏感字段值,对所述敏感字段值进行加密和哈希处理;
[0018]按照所述排序字段从小到大的顺序,重新从所述临时表中获取另一预设行数的包含对应的所述待加密敏感数据表的表名下的所述行数据主键ID的记录,重新执行上述步骤,直至所述临时表中的所有包含对应的所述待加密敏感数据表的表名下的所述行数据主键ID的记录全部取出。
[0019]进一步地,所述敏感数据刷数方法还包括,获取所述多个待加密敏感数据表的敏感字段名,将所述多个待加密敏感数据表的表名和所述多个待加密敏感数据表的敏感字段名,配置在配置文件中;
[0020]相应的,根据对应的所述待加密敏感数据表的表名以及所述表名下的所述行数据主键ID,从原始数据库中获取敏感字段值,包括:
[0021]根据对应的所述待加密敏感数据表的表名以及所述表名下的所述行数据主键ID以及所述配置文件,从原始数据库中获取敏感字段值。
[0022]进一步地,使所述临时表包含所述多个待加密敏感数据表在原始数据库中的行数据主键ID,包括:串行的将所述多个待加密敏感数据表在原始数据库中的行数据主键ID,抽取至所述临时表中。
[0023]进一步地,将所述多个待加密敏感数据表的表名更新至缓存数据库的集合中,以所述集合作为任务队列,包括:将所述多个待加密敏感数据表的表名更新至缓存数据库Redis的set集合中,以所述set集合作为任务队列。
[0024]本专利技术的另一技术方案如下,还提供了一种敏感数据刷数装置包括数据获取模块、临时表建立模块、任务队列生成模块及刷数模块;
[0025]所述数据获取模块,用于获取多个待加密敏感数据表的表名,并获取所述多个待加密敏感数据表在原始数据库中的行数据主键ID;
[0026]所述临时表建立模块,用于建立临时表,使所述临时表包含所述多个待加密敏感数据表的表名,以及所述多个待加密敏感数据表在原始数据库中的行数据主键ID;
[0027]所述任务队列生成模块,用于将所述多个待加密敏感数据表的表名更新至缓存数据库的集合中,以所述集合作为任务队列;
[0028]所述刷数模块,用于从所述任务队列中分别获取不同的待加密敏感数据表的表名,并根据获取的所述待加密敏感数据表的表名,从所述临时表中获取对应的所述待加密敏感数据表的表名下的所述行数据主键ID,根据对应的所述待加密敏感数据表的表名以及所述表名下的所述行数据主键ID,从原始数据库中获取敏感字段值,对所述敏感字段值进行加密和哈希处理。
[0029]本专利技术的另一技术方案如下,还提供了一种电子设备,包括存储器、处理器,所述存储器存储有可被所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一项技术方案所述的敏感数据刷数方法。
[0030]本专利技术的另一技术方案如下,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项技术方案所述的敏感数据刷数方法。
[0031]本专利技术的有益效果在于:获取多个待加密敏感数据表的表名,并获取所述多个待加密敏感数据表在原始数据库中的行数据主键ID;建立临时表,使所述临时本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种敏感数据刷数方法,其特征在于,包括如下步骤:获取多个待加密敏感数据表的表名,并获取所述多个待加密敏感数据表在原始数据库中的行数据主键ID;建立临时表,使所述临时表包含所述多个待加密敏感数据表的表名,以及所述多个待加密敏感数据表在原始数据库中的行数据主键ID;将所述多个待加密敏感数据表的表名更新至缓存数据库的集合中,以所述集合作为任务队列;从所述任务队列中分别获取不同的待加密敏感数据表的表名,并根据获取的所述待加密敏感数据表的表名,从所述临时表中获取对应的所述待加密敏感数据表的表名下的所述行数据主键ID,根据对应的所述待加密敏感数据表的表名以及所述表名下的所述行数据主键ID,从原始数据库中获取敏感字段值,对所述敏感字段值进行加密和哈希处理。2.根据权利要求1所述的敏感数据刷数方法,其特征在于,在获取多个待加密敏感数据表的表名之后,还包括,构造Mybatis动态SQL,用以接收所述待加密敏感数据表的表名、原始字段名、原始字段值、加密字段名以及哈希字段名;相应的,对所述敏感字段值进行加密和哈希处理之后,还包括,将经过加密处理后得到的加密字段值和经过哈希处理后得到哈希字段值,传入至所述Mybatis动态SQL中。3.根据权利要求1所述的敏感数据刷数方法,其特征在于,在建立临时表,使所述临时表包含所述多个待加密敏感数据表的表名,以及所述多个待加密敏感数据表在原始数据库中的行数据主键ID之后,还包括,将所述多个待加密敏感数据表的表名以及所述行数据主键ID形成记录,并将所述记录分段连续存储。4.根据权利要求3所述的敏感数据刷数方法,其特征在于,还包括,为所述临时表添加排序字段,相应的,从所述临时表中获取对应的所述待加密敏感数据表的表名下的所述行数据主键ID,根据对应的所述待加密敏感数据表的表名以及所述表名下的所述行数据主键ID,从原始数据库中获取敏感字段值,对所述敏感字段值进行加密和哈希处理,包括:按照所述排序字段从小到大的顺序,从所述临时表中获取预设行数的包含对应的所述待加密敏感数据表的表名下的所述行数据主键ID的记录;对所述记录进行解析,获取对应的所述待加密敏感数据表的表名下的所述行数据主键ID,根据对应的所述待加密敏感数据表的表名,以及所述表名下的所述行数据主键ID,从原始数据库中获取敏感字段值,对所述敏感字段值进行加密和哈希处理;按照所述排序字段从小到大的顺序,重新从所述临时表中获取另一预设行数的包含对应的所述待加密敏感数据表的表名下的所述行数据主键ID的记录,重新执行上述步骤,直至所述临时...

【专利技术属性】
技术研发人员:张伟
申请(专利权)人:中国平安财产保险股份有限公司
类型:发明
国别省市:

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

1