System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于分布式计算的MongoDB静态脱敏方法技术_技高网

一种基于分布式计算的MongoDB静态脱敏方法技术

技术编号:40676554 阅读:4 留言:0更新日期:2024-03-18 19:14
本发明专利技术公开了一种基于分布式计算的MongoDB静态脱敏方法,包括以下步骤:S1:提交任务信息给master节点;S2:master节点读取任务信息后对待脱敏数据进行类型识别,根据识别的不同类型的待脱敏数据拆分脱敏任务并存储至任务队列;S3:master节点发送指令给空闲的worker向worker分配任务,worker读取任务队列中的数据,每个worker读取一个任务进行处理,处理过程中worker定时发送心跳信息给master节点;S4:master节点对脱敏数据进行分布式分类存储;本发明专利技术将数据分配到任务队列之前,先对数据的分片键是以范围划分还是以哈希划分进行数据类型判别,结合分片键的大小进而实现不同的脱敏任务拆分,保证worker读写在同一数据中心,减少网络延迟,增加读写效率,有效提升脱敏效率。

【技术实现步骤摘要】

本专利技术涉及数据交互,尤其涉及一种基于分布式计算的mongodb静态脱敏方法。


技术介绍

1、数据静态脱敏是一种将敏感数据转化为不可识别或无法还原原始信息的处理方法。数字时代下,数据静态脱敏尤为重要,其必要性在于保护敏感数据的安全性和隐私,减少潜在的安全风险和隐私泄露的可能性。脱敏方法通过删除或替换敏感信息,使数据无法直接识别个人身份或泄露敏感信息,从而实现隐私保护和合规要求。同时,数据静态脱敏也有助于在数据共享、安全防护和内部数据使用方面发挥作用。无论是在数据共享、安全防护还是内部数据使用的场景下,通过脱敏,可以最大程度地保护隐私,并降低数据泄露风险。

2、mongo集群,有分区(zone)、分片(sharding)和副本(replica set)三个概念,分片是将数据集合进行水平切割实现负载均衡,副本是将水平分割后的数据进行备份处理,分区是对分片的物理位置进行配置,可以将不同的分片划分在不同的数据中心。在大数据量(tb、pb)的业务场景下,mongo集群数据会跨数据中心进行存储,例如某系统的用户信息,分区域存在在欧洲数据中心、亚洲数据中心、美洲数据中心。

3、在实际数据静态脱敏处理过程中,针对于mongo集群这类存储大量数据且数据跨数据中心存储的场景,存在处理效率、数据一致性、存储开销等多种问题,如何提升mongo集群的数据脱敏效率,保证数据准确性及数据脱敏后可用性是一个关键问题。

4、例如,中国专利cn202210047290.x公开了一种海量数据分布式脱敏装置,首先通过切片模块先对所述待脱敏的数据进行切片,将切片数据发送到相应的切片队列中,实现了文件的脱敏过程全程追踪以及实现了大文件的均匀颗粒化从而提高了脱敏速度和效率;然而该装置更多的关注于节点的选择调度,没有对数据的来源进行标记识别,导致脱敏后的数据无法保持一致性,存在脱敏后的数据使用困难的问题。


技术实现思路

1、本专利技术主要解决现有的技术中mongo集群的数据脱敏后存在数据使用性差的问题;提供一种基于分布式计算的mongodb静态脱敏方法,提升处理效率、确保数据一致性、保证脱敏前后数据使用无差异。

2、本专利技术的上述技术问题主要是通过下述技术方案得以解决的:一种基于分布式计算的mongodb静态脱敏方法,包括以下步骤:

3、s1:提交任务信息给master节点;

4、s2:master节点读取任务信息后对待脱敏数据进行类型识别,根据识别的不同类型的待脱敏数据拆分脱敏任务并存储至任务队列;

5、s3:master节点发送指令给空闲的worker向worker分配任务,worker读取任务队列中的数据,每个worker读取一个任务进行处理,处理过程中worker定时发送心跳信息给master节点;

6、s4:master节点对脱敏数据进行分布式分类存储。

7、对待脱敏数据进行类型识别,根据不同类型的数据设置不同的脱敏任务并存储至任务队列,使得后续的worker进行任务读取时,可以保证单个任务处理的数据在同一数据中心,减少网络延迟对数据处理的影响,可以轻易的读取相同类型的数据,防止不同的数据相串,导致脱敏后的数据无法使用,同时,先对数据类型进行识别后,加快了数据脱敏的进度,提高了处理效率。

8、作为优选,所述的任务信息包括数据库连接url、待脱敏数据库、待脱敏集合以及脱敏策略。

9、作为优选,所述的master节点对待脱敏数据进行类型识别的方法为:读取待脱敏集合的分片键信息;基于分片键信息判断分片键是以范围划分还是以哈希划分,若是以范围划分的分片键则作为第一数据类型,若是以哈希划分的分片键则作为第二数据类型。以范围划分的数据中,其范围可以是不同的范围,但均处于设置的范围阈值之内,以哈希划分的数据中,以固定的200万作为划分区间进行数据划分,两者属于不同的数据类型,脱敏后如果相互串通,则会导致脱敏后的数据无法使用,因此,本专利技术将其分为第一数据类型和第二数据类型进行区别划分,保证worker读写在同一数据中心,减少网络延迟,增加读写效率,有效提升脱敏效率,保证脱敏后存储集合具备可用性。

10、作为优选,所述的拆分脱敏任务的具体方法为:基于第一数据类型赋予任务id后形成第一形态的脱敏任务,基于第二数据类型赋予任务id后形成第二形态的脱敏任务。设置第一形态的脱敏任务和第二形态的脱敏任务方便master节点更加方便的分配任务给worker,也加快了worker读取任务队列获取自身的对应的任务。

11、作为优选,所述的master节点读取任务信息后创建脱敏后存储数据库以及脱敏后存储集合,所述脱敏后存储集合包括多个分块,根据待脱敏数据的类型的不同创建对应的脱敏后存储集合,根据待脱敏数据的大小设置脱敏后存储集合中分块的数量、分块的最小分片键以及分块的最大分片键。基于数据类型创建的脱敏后存储集合,方便了脱敏后的数据使用,使得脱敏后的数据存储方便。

12、作为优选,所述的master节点采用简单负载均衡模型,以轮询的方式向worker分配任务。实现简单,方便快捷,使得每个空闲的worker均可以收到任务的分配。

13、作为优选,所述的心跳信息包括worker id、任务id、汇报时间戳、截止本次汇报的最后一条处理数据id、最大分片键以及任务状态。

14、作为优选,基于所述心跳信息执行故障恢复机制,具体为:若正在工作的worker离线超过三次心跳未发送或超过任务处理超时时间,master节点则将处理列表中的任务状态标记为失败,并重新生成任务,任务id、最大分片键保持不变,最小分片键的值修改为最后一条处理数据id的值,新任务由master节点放入任务队列中,master节点将新任务分配给新的空闲的worker,新的worker与故障产生的worker之间建立数据映射关系。将新的worker与故障产生的worker之间建立数据映射关系,使得存储的分块中的数据可以快速建立相互关系,保证数据之间的连续性以及连接性,方便故障信息的快速朔源。

15、本专利技术的有益效果是:将数据分配到任务队列之前,先对数据的分片键是以范围划分还是以哈希划分进行数据类型判别,对数据进行类型分类,结合分片键的大小进而实现不同的脱敏任务拆分,方便worker读取任务以及处理任务,保证worker读写在同一数据中心,减少网络延迟,增加读写效率,有效提升脱敏效率,根据待脱敏数据的类型的不同创建对应的脱敏后存储集合,根据待脱敏数据的大小设置脱敏后存储集合中分块的数量、分块的最小分片键以及分块的最大分片键,实现了数据的分类存储,确保数据一致性、保证脱敏前后数据使用无差异。

本文档来自技高网...

【技术保护点】

1.一种基于分布式计算的MongoDB静态脱敏方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于分布式计算的MongoDB静态脱敏方法,其特征在于,

3.根据权利要求2所述的一种基于分布式计算的MongoDB静态脱敏方法,其特征在于,

4.根据权利要求3所述的一种基于分布式计算的MongoDB静态脱敏方法,其特征在于,

5.根据权利要求1所述的一种基于分布式计算的MongoDB静态脱敏方法,其特征在于,

6.根据权利要求1或5所述的一种基于分布式计算的MongoDB静态脱敏方法,其特征在于,

7.根据权利要求1所述的一种基于分布式计算的MongoDB静态脱敏方法,其特征在于,

8.根据权利要求7所述的一种基于分布式计算的MongoDB静态脱敏方法,其特征在于,

【技术特征摘要】

1.一种基于分布式计算的mongodb静态脱敏方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于分布式计算的mongodb静态脱敏方法,其特征在于,

3.根据权利要求2所述的一种基于分布式计算的mongodb静态脱敏方法,其特征在于,

4.根据权利要求3所述的一种基于分布式计算的mongodb静态脱敏方法,其特征在于,

【专利技术属性】
技术研发人员:黎彬侯祖旭彭茜慧余蕊王弘卢媛金丽慧陈影
申请(专利权)人:华信咨询设计研究院有限公司
类型:发明
国别省市:

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

1