数据库中的字段加密方法、装置、计算机设备及存储介质与流程
未命名
08-07
阅读:95
评论:0
1.本技术涉及金融科技(fintech)领域,尤其涉及一种数据库中的字段加密方法、装置、计算机设备及存储介质。
背景技术:
2.随着计算机技术的发展,越来越多的技术(例如:大数据、云计算或区块链)应用在金融领域,传统金融业正在逐步向金融科技转变。在大数据技术的背景下,用户对隐私数据的安全性要求也越来越高,因此,需要对数据库中的敏感字段(比如数据库中存储的个人手机号、个人证件号、交易数据、支付数据或业务数据等)进行明文字段的清洗,也就是将数据库中的敏感字段(即交易数据、支付数据或业务数据)加密成密文字段。然而,数据库中的敏感字段数据量巨大,以及频繁的从数据库获取连接,容易造成数据连接爆满、系统挂机等问题,使目前的数据库中字段的加密效率十分低下,因此如何提高数据库中字段的加密效率成为了亟需解决的问题。
技术实现要素:
3.本技术提供了一种数据库中的字段加密方法、装置、计算机设备及存储介质,以提高数据库中字段的加密效率。
4.第一方面,本技术提供了一种数据库中的字段加密方法,所述方法包括:
5.获取数据库对应的待处理任务以及所述待处理任务的目标任务触发时间点、目标任务表类型、目标任务表标识以及目标加密信息;
6.在监测到当前时间达到目标任务触发时间点时,根据所述目标任务表标识确定所述待处理任务对应的目标任务表;
7.根据所述目标任务表类型调用对应数量的实例,并将所述待处理任务分配到至少一台实例的至少一个分片中进行处理,以通过分布式任务调度,对所述目标任务表进行明文字段查询;
8.对所述目标任务表中查询到的明文字段进行分块,得到至少一个明文字段分块,并根据所述目标加密信息,对各个所述明文字段分块中的明文字段进行加密,完成所述数据库中各个任务表的明文字段的清洗。
9.第二方面,本技术还提供了一种数据库中的字段加密装置,所述装置包括:
10.任务信息获取模块,用于获取数据库对应的待处理任务以及所述待处理任务的目标任务触发时间点、目标任务表类型、目标任务表标识以及目标加密信息;
11.目标任务触发模块,用于在监测到当前时间达到目标任务触发时间点时,根据所述目标任务表标识确定所述待处理任务对应的目标任务表;
12.明文字段查询模块,用于根据所述目标任务表类型调用对应数量的实例,并将所述待处理任务分配到至少一台实例的至少一个分片中进行处理,以通过分布式任务调度,对所述目标任务表进行明文字段查询;
13.明文字段加密模块,用于对所述目标任务表中查询到的明文字段进行分块,得到至少一个明文字段分块,并根据所述目标加密信息,对各个所述明文字段分块中的明文字段进行加密,完成所述数据库中各个任务表的明文字段的清洗。
14.第三方面,本技术还提供了一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的数据库中的字段加密方法。
15.第四方面,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的数据库中的字段加密方法。
16.本技术公开了一种数据库中的字段加密方法、装置、计算机设备及存储介质,通过获取数据库对应的待处理任务以及所述待处理任务的目标任务触发时间点、目标任务表类型、目标任务表标识以及目标加密信息;在监测到当前时间达到目标任务触发时间点时,根据所述目标任务表标识确定所述待处理任务对应的目标任务表;根据所述目标任务表类型调用对应数量的实例,并将所述待处理任务分配到至少一台实例的至少一个分片中进行处理,以通过分布式任务调度,对所述目标任务表进行明文字段查询;对所述目标任务表中查询到的明文字段进行分块,得到至少一个明文字段分块,并根据所述目标加密信息,对各个所述明文字段分块中的明文字段进行加密,完成所述数据库中各个任务表的明文字段的清洗。通过上述方式,本发明将数据库中各个任务表划分为多个待处理任务,并在待处理任务对应的触发时间点,根据待处理任务中的任务表标识,确定目标任务表,并根据目标任务表类型,确定所述目标任务表的处理方式,即将所述目标任务表分配至对应实例中的分片,然后通过实例中的分片,以分布式任务调度的方式,对所述目标任务表进行明文字段进行查询。并进一步对查询到的明文字段进行分块加密。由此,本发明通过多个分片对多个明文字段分块进行并行加密处理,不仅提高了数据库中字段的加密速度,而且只在固定的时间点(即目标任务触发时间点)在数据库中进行字段查询,避免长时间连接数据库,提高了数据库的字段加密效率,解决了数据库中字段的加密效率低下的技术问题。
附图说明
17.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是本技术提供的数据库中的字段加密方法第一实施例的的示意流程图;
19.图2是本技术提供的数据库中的字段加密方法第二实施例的的示意流程图;
20.图3是本技术提供的数据库中的字段加密方法第三实施例的的示意流程图;
21.图4是本技术提供的数据库中的字段加密装置的示意性框图;
22.图5是本技术提供的一种计算机设备的结构示意性框图。
具体实施方式
23.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本申
请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
24.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
25.应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
26.还应当进理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
27.本技术的实施例提供了一种数据库中的字段加密方法、装置、计算机设备及存储介质。其中,该数据库中的字段加密方法可以应用于服务器中,通过分布式任务调度将数据库中的任务表分配至多个分片进行并行处理,提高了数据库的字段加密效率。其中,该服务器可以为独立的服务器,也可以为服务器集群。
28.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
29.请参阅图1,图1是本技术的实施例提供的一种数据库中的字段加密方法的示意流程图。
30.如图1所示,该数据库中的字段加密方法具体包括步骤s110至步骤s140。
31.s110、获取数据库对应的待处理任务以及所述待处理任务的目标任务触发时间点、目标任务表类型、目标任务表标识以及目标加密信息;
32.本实施例中,数据库可用于保险系统、银行系统、交易系统、订单系统等进行业务数据、交易数据、支付数据或购买数据等存储。数据库中以任务表的形式进行字段存储,需要对任务表中的敏感字段(例如业务数据、交易数据、支付数据或购买数据等,还可以是手机号、个人证件号等)进行查询与加密。本实施例中预先根据各个任务表的任务表类型、任务表标识以及可用查询时间,配置生成各个待处理任务。并可根据用户配置需求,配置生成各个任务表中明文字段的加密信息,比如需加密的明文字段类型(如手机号、出生年月或个人证件号等)以及加密方式(比如md5信息摘要算法,即md5加密算法,使用哈希值长度为256的加密算法,即sha-256加密算法,对称加密算法,即base64加密算法)等。
33.具体地,依次获取数据库中各个任务表对应的任务,作为所述待处理任务。并获取所述待处理任务对应的目标任务触发时间点、目标任务表类型、目标任务表标识以及目标加密信息,以根据目标任务表标识确定待加密的目标任务表,并在目标任务触发时间点,根据目标任务表类型调用对应实例中的分片,以目标加密信息的方式,对目标任务表中的明文字段进行查询、加密。
34.s120、在监测到当前时间达到目标任务触发时间点时,根据所述目标任务表标识确定所述待处理任务对应的目标任务表;
35.本实施例中,目标任务触发时间点为开始执行待处理任务的时间点。由于执行待处理任务时,需要获取数据库的连接,为了防止长时间连接数据库导致数据连接爆满,用户可根据数据库可连接的时间点进行任务触发时间点的配置。比如,在下午时间点6点至早上
上班时间点9点之间,挑选任务触发时间点。并根据所述目标任务表标识在数据库对应的各个任务表中确定待查询的目标任务表。任务表标识可以是任务表的表名,也可以是任务表的主键id。
36.s130、根据所述目标任务表类型调用对应数量的实例,并将所述待处理任务分配到至少一台实例的至少一个分片中进行处理,以通过分布式任务调度,对所述目标任务表进行明文字段查询;
37.本实施例中,任务表类型包括分区表和单表,分区表包括主表以及分区子表,因此在分区子表数量较多时,可以通过多个实例中的分片进行分布式并行处理。单表通过一个分片处理即可,因此只需调用一个实例。实例指的就是操作系统中一系列的进程以及为这些进程所分配的内存块。分片的目的在于把一个任务分散到不同的机器上运行,既可以解决单机计算能力上限的问题,也能降低部分任务失败对整体系统的影响。
38.本实施例中采用分布式定时任务框架elastic-job来实现任务的分布式执行。任务的分布式执行,需要将一个任务拆分为多个独立的任务项,然后由分布式的实例分别执行某一个或几个分片项。elastic-job并不直接提供数据处理的功能,只是将分片项分配至各个运行中的作业服务器(即job实例),用户可根据实际需要自行处理分片项与待查询任务表(或待查询数据量)的对应关系。一般分片策略包括平均分配算法策略、作业名哈希值奇偶数算法策略以及轮转分片策略,还可以提供自定义分片策略的接口,接入用户自定定义的分片策略。
39.本实施例中,可预先设定每台实例包含固定数量的分片,比如一台实例包含4个分片,两台实例包含8个分片,即每台实例上4个分片执行相对应的洗库任务(即待处理任务)。
40.具体地,每个分片可对应处理预设个数的数据表,比如,每个分片对应处理1个任务表(如1个单表,则只需1个分片处理即可,1个主表以及2个分区子表,则需要3个分片进行处理)。由此,可将单表类型或分区表类型的所述目标任务表分配到一个或多个分片上,以分布式任务调度的方式,进行明文字段查询。
41.s140、对所述目标任务表中查询到的明文字段进行分块,得到至少一个明文字段分块,并根据所述目标加密信息,对各个所述明文字段分块中的明文字段进行加密,完成所述数据库中各个任务表的明文字段的清洗。
42.本实施例中,可根据预设分块数据量,将查询到的明文字段再进行数据切分,得到对应数量的明文字段分块。然后根据配置的目标加密信息,依次对各个明文字段分块分别进行加密,并在数据库中,将加密后的密文字段与对应的明文字段进行关联存储,由此完成所述数据库中各个任务表的明文字段的清洗。
43.进一步地,所述对所述目标任务表中查询到的明文字段进行分块,得到至少一个明文字段分块,并根据所述目标加密信息,对各个所述明文字段分块中的明文字段进行加密,包括:
44.将所述目标任务表中查询到的明文字段,作为一个列表,并通过分割函数partition函数,按照预设数据长度,对所述列表进行分割,得到所述明文字段分块;
45.根据所述目标加密信息中的加密字段类型以及加密规则,将所述明文字段分块中的明文字段转换为目标密文字段;
46.根据所述明文字段的字段标识以及所述明文字段对应的密文字段,在所述目标任
务表中,增加所述明文字段对应的密文字段,完成所述明文字段分块中的明文字段进行加密。
47.本实施例提供一种数据库中的字段加密方法,通过获取数据库对应的待处理任务以及所述待处理任务的目标任务触发时间点、目标任务表类型、目标任务表标识以及目标加密信息;在监测到当前时间达到目标任务触发时间点时,根据所述目标任务表标识确定所述待处理任务对应的目标任务表;根据所述目标任务表类型调用对应数量的实例,并将所述待处理任务分配到至少一台实例的至少一个分片中进行处理,以通过分布式任务调度,对所述目标任务表进行明文字段查询;对所述目标任务表中查询到的明文字段进行分块,得到至少一个明文字段分块,并根据所述目标加密信息,对各个所述明文字段分块中的明文字段进行加密,完成所述数据库中各个任务表的明文字段的清洗。通过上述方式,本发明将数据库中各个任务表划分为多个待处理任务,并在待处理任务对应的触发时间点,根据待处理任务中的任务表标识,确定目标任务表,并根据目标任务表类型,确定所述目标任务表的处理方式,即将所述目标任务表分配至对应实例中的分片,然后通过实例中的分片,以分布式任务调度的方式,对所述目标任务表进行明文字段进行查询。并进一步对查询到的明文字段进行分块加密。由此,本发明通过多个分片对多个明文字段分块进行并行加密处理,不仅提高了数据库中字段的加密速度,而且只在固定的时间点(即目标任务触发时间点)在数据库中进行字段查询,避免长时间连接数据库,提高了数据库的字段加密效率,解决了数据库中字段的加密效率低下的技术问题。
48.请参阅图2,图2是本技术提供的数据库中的字段加密方法第二实施例的的示意流程图。
49.基于上述图1所示实施例,本实施例中,所述步骤s110之前,还包括:
50.步骤s101,在接收到用户的配置指令时,获取所述配置指令中的至少一个待配置任务、所述待配置任务对应的任务触发时间点、所述待配置任务中任务表中明文字段的加密信息、所述任务表的任务表类型以及任务表标识;
51.步骤s102,根据所述待配置任务、所述待配置任务对应的任务触发时间点、所述待配置任务中任务表中明文字段的加密信息、所述任务表的任务表类型以及任务表标识,在阿波罗配置中心中,配置生成至少一个所述待处理任务。
52.本实施例中,阿波罗配置中心(apollo)是一种分布式配置中心,用于集中化管理应用不同环境、不同集群的配置,配置修改后可实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。本实施例中,用户仅需在apollo中,配置各个任务的任务触发时间点、所述待配置任务中任务表中明文字段的加密信息(需加密的明文字段类型以及加密方式等)、所述任务表的任务表类型(单表或者分区表)以及任务表标识(如任务表表名),实现在规定时间分布式调用对应实例的分片,进行对应任务表的明文字段查询,并可在数据库连接需求较少的时间执行,从而不影响其他需要连接数据库的业务的执行。不仅简化了用户的配置操作,而且便于增加洗库需求,提高了用户体验。
53.请参阅图3,图3是本技术提供的数据库中的字段加密方法第三实施例的的示意流程图。
54.基于上述图1所示实施例,本实施例中,所述步骤s130,包括:
55.步骤s131,若所述目标任务表类型为所述分区表任务,则获取所述目标任务表对
应的分区主表,并查询所述分区主表关联的分区子表;
56.步骤s132,根据所述分区子表的子表数量确定待调用分片的分片数量,并根据实例与分片的对应关系以及所述分片数量,确定待调用实例的实例数量;
57.步骤s133,将所述分区主表及其关联的所述分区子表,分配到所述实例数量对应的实例中的各个分片中进行处理,以通过各个分片对所述分区主表和所述分区子表进行明文字段查询。
58.本实施例中,任务表类型包括分区表任务以及单表任务。其中,分区表包括主表以及主表关联的分区子表。因此,在所述目标任务表类型为分区表任务时,首先获取所述目标任务表对应的分区主表,然后通过所述分区主表查询其关联的全部分区子表。预先配置每个分片与其可处理的表格数量,如1个分片可处理1个表格,则在所述分区子表的数量为3个时,则确定待调用分片的分片数量为3个,如1个分片可处理3个表格时,则在所述分区子表的数量为3个时,则确定待调用分片的分片数量为1个。
59.可以理解的是,实际待处理的表格数量具体应为分区子表的子表数量加1(即加上1个分区主表),并根据加1后的数量确定待调用分片的分片数量。
60.然后进一步根据每台实例包含的分片数量以及待调用分片的分片数量,确定待调用实例的实例数量。如1台实例包含4个分片,则在所述待调用分片的分片数量为3个时,则确定待调用实例的实例数量为1台,如1台实例包含2个分片,则在所述调用分片的分片数量为3个时,则确定待调用实例的实例数量为2台。最后调用所述实例数量对应的实例,并通过该数量的实例中的分片,对分区主表及其关联的所述分区子表进行分布式处理,完成所述分区主表及其关联的所述分区子表的明文字段查询。
61.进一步地,所述将所述分区主表及其关联的所述分区子表,分配到所述实例数量对应的实例中的各个分片中进行处理,包括:
62.获取所述分区子表的子表编号以及一台实例包含的分片数量,将所述子表编号对所述分片数量进行取模,并根据取模的余数,确定各个所述分区子表对应的分片;
63.将所述分区主表分配到处理量最少的分片,并根据各个所述分区子表对应的分片,将各个所述分区子表分配到各个分片中进行处理。
64.进一步地,所述步骤s130,还包括:
65.若所述目标任务表类型为单表任务,则调用一台所述实例,并将所述目标任务表对应的单表,分配到所述实例的至少一个分片中进行处理,以通过所述实例中的分片对所述单表进行明文字段查询。
66.本实施例中,在所述目标任务表类型为单表任务时,需处理的表格数量唯一,因此,可直接调用任意一台实例,并通过该台实例中的任一分片进行单表处理。具体可通过该台实例中任务量较少(如任务量少于预设阈值)或任务量最少的分片对所述单表进行处理,完成所述单表的明文字段查询。
67.进一步地,所述对所述目标任务表进行明文字段查询,包括:
68.在所述数据库中,通过limit分页查询指令,对所述目标任务表中的明文字段进行查询。
69.本实施例中,通过limit分页查询指令,查询所述目标任务表中没有处理的明文字段(具体可获取该明文字段id)。具体还可以通过offset命令,对所述目标任务表中的明文
字段进行查询。
70.可以理解的是,通过offset命令,会产生深度翻页情况,从而容易造成明文字段查询效率低下,因此,本实施例优先采用limit对目标任务表中的明文字段进行查询,可限制查询明文字段的条数,相较于offset命令,可进一步提高明文字段的查询效率。
71.请参阅图4,图4是本技术的实施例提供一种数据库中的字段加密装置的示意性框图,该数据库中的字段加密装置用于执行前述的数据库中的字段加密方法。其中,该数据库中的字段加密装置可以配置于服务器。
72.如图4所示,该数据库中的字段加密装置400,包括:
73.任务信息获取模块410,用于获取数据库对应的待处理任务以及所述待处理任务的目标任务触发时间点、目标任务表类型、目标任务表标识以及目标加密信息;
74.目标任务触发模块420,用于在监测到当前时间达到目标任务触发时间点时,根据所述目标任务表标识确定所述待处理任务对应的目标任务表;
75.明文字段查询模块430,用于根据所述目标任务表类型调用对应数量的实例,并将所述待处理任务分配到至少一台实例的至少一个分片中进行处理,以通过分布式任务调度,对所述目标任务表进行明文字段查询;
76.明文字段加密模块440,用于对所述目标任务表中查询到的明文字段进行分块,得到至少一个明文字段分块,并根据所述目标加密信息,对各个所述明文字段分块中的明文字段进行加密,完成所述数据库中各个任务表的明文字段的清洗。
77.进一步地,该数据库中的字段加密装置400,还包括:加密任务配置模块,用于:
78.在接收到用户的配置指令时,获取所述配置指令中的至少一个待配置任务、所述待配置任务对应的任务触发时间点、所述待配置任务中任务表中明文字段的加密信息、所述任务表的任务表类型以及任务表标识;
79.根据所述待配置任务、所述待配置任务对应的任务触发时间点、所述待配置任务中任务表中明文字段的加密信息、所述任务表的任务表类型以及任务表标识,在阿波罗配置中心中,配置生成至少一个所述待处理任务。
80.进一步地,所述明文字段查询模块430包括:
81.子表查询单元,用于若所述目标任务表类型为所述分区表任务,则获取所述目标任务表对应的分区主表,并查询所述分区主表关联的分区子表;
82.实例确定单元,用于根据所述分区子表的子表数量确定待调用分片的分片数量,并根据实例与分片的对应关系以及所述分片数量,确定待调用实例的实例数量;
83.任务分配单元,用于将所述分区主表及其关联的所述分区子表,分配到所述实例数量对应的实例中的各个分片中进行处理,以通过各个分片对所述分区主表和所述分区子表进行明文字段查询。
84.进一步地,所述任务分配单元还用于:
85.获取所述分区子表的子表编号以及一台实例包含的分片数量,将所述子表编号对所述分片数量进行取模,并根据取模的余数,确定各个所述分区子表对应的分片;
86.将所述分区主表分配到处理量最少的分片,并根据各个所述分区子表对应的分片,将各个所述分区子表分配到各个分片中进行处理。
87.进一步地,所述明文字段查询模块430还包括:
88.单表处理单元,用于若所述目标任务表类型为单表任务,则调用一台所述实例,并将所述目标任务表对应的单表,分配到所述实例的至少一个分片中进行处理,以通过所述实例中的分片对所述单表进行明文字段查询。
89.进一步地,所述明文字段查询模块430,还用于:
90.在所述数据库中,通过limit分页查询指令,对所述目标任务表中的明文字段进行查询。
91.进一步地,所述明文字段加密模块440,还用于:
92.将所述目标任务表中查询到的明文字段,作为一个列表,并通过分割函数partition函数,按照预设数据长度,对所述列表进行分割,得到所述明文字段分块;
93.根据所述目标加密信息中的加密字段类型以及加密规则,将所述明文字段分块中的明文字段转换为目标密文字段;
94.根据所述明文字段的字段标识以及所述明文字段对应的密文字段,在所述目标任务表中,增加所述明文字段对应的密文字段,完成所述明文字段分块中的明文字段进行加密。
95.需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
96.上述的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图5所示的计算机设备上运行。
97.请参阅图5,图5是本技术的实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以是服务器。
98.参阅图5,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
99.非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种数据库中的字段加密方法。
100.处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
101.内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种数据库中的字段加密方法。
102.该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
103.应当理解的是,处理器可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
104.其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实
现如下步骤:
105.获取数据库对应的待处理任务以及所述待处理任务的目标任务触发时间点、目标任务表类型、目标任务表标识以及目标加密信息;
106.在监测到当前时间达到目标任务触发时间点时,根据所述目标任务表标识确定所述待处理任务对应的目标任务表;
107.根据所述目标任务表类型调用对应数量的实例,并将所述待处理任务分配到至少一台实例的至少一个分片中进行处理,以通过分布式任务调度,对所述目标任务表进行明文字段查询;
108.对所述目标任务表中查询到的明文字段进行分块,得到至少一个明文字段分块,并根据所述目标加密信息,对各个所述明文字段分块中的明文字段进行加密,完成所述数据库中各个任务表的明文字段的清洗。
109.在一个实施例中,所述处理器在实现所述获取数据库对应的待处理任务以及所述待处理任务的目标任务触发时间点、目标任务表类型、目标任务表标识以及目标加密信息之前,用于实现:
110.在接收到用户的配置指令时,获取所述配置指令中的至少一个待配置任务、所述待配置任务对应的任务触发时间点、所述待配置任务中任务表中明文字段的加密信息、所述任务表的任务表类型以及任务表标识;
111.根据所述待配置任务、所述待配置任务对应的任务触发时间点、所述待配置任务中任务表中明文字段的加密信息、所述任务表的任务表类型以及任务表标识,在阿波罗配置中心中,配置生成至少一个所述待处理任务。
112.在一个实施例中,所述处理器在实现所述根据所述目标任务表类型调用对应数量的实例,并将所述待处理任务分配到至少一台实例的至少一个分片中进行处理,以通过分布式任务调度,对所述目标任务表进行明文字段查询,用于实现:
113.若所述目标任务表类型为所述分区表任务,则获取所述目标任务表对应的分区主表,并查询所述分区主表关联的分区子表;
114.根据所述分区子表的子表数量确定待调用分片的分片数量,并根据实例与分片的对应关系以及所述分片数量,确定待调用实例的实例数量;
115.将所述分区主表及其关联的所述分区子表,分配到所述实例数量对应的实例中的各个分片中进行处理,以通过各个分片对所述分区主表和所述分区子表进行明文字段查询。
116.在一个实施例中,所述处理器在实现所述将所述分区主表及其关联的所述分区子表,分配到所述实例数量对应的实例中的各个分片中进行处理,用于实现:
117.获取所述分区子表的子表编号以及一台实例包含的分片数量,将所述子表编号对所述分片数量进行取模,并根据取模的余数,确定各个所述分区子表对应的分片;
118.将所述分区主表分配到处理量最少的分片,并根据各个所述分区子表对应的分片,将各个所述分区子表分配到各个分片中进行处理。
119.在一个实施例中,所述处理器在实现所述根据所述目标任务表类型调用对应数量的实例,并将所述待处理任务分配到至少一台实例的至少一个分片中进行处理,以通过分布式任务调度,对所述目标任务表进行明文字段查询,用于实现:
120.若所述目标任务表类型为单表任务,则调用一台所述实例,并将所述目标任务表对应的单表,分配到所述实例的至少一个分片中进行处理,以通过所述实例中的分片对所述单表进行明文字段查询。
121.在一个实施例中,所述处理器在实现所述对所述目标任务表进行明文字段查询,用于实现:
122.在所述数据库中,通过limit分页查询指令,对所述目标任务表中的明文字段进行查询。
123.在一个实施例中,所述处理器在实现所述对所述目标任务表中查询到的明文字段进行分块,得到至少一个明文字段分块,并根据所述目标加密信息,对各个所述明文字段分块中的明文字段进行加密时,用于实现:
124.将所述目标任务表中查询到的明文字段,作为一个列表,并通过分割函数partition函数,按照预设数据长度,对所述列表进行分割,得到所述明文字段分块;
125.根据所述目标加密信息中的加密字段类型以及加密规则,将所述明文字段分块中的明文字段转换为目标密文字段;
126.根据所述明文字段的字段标识以及所述明文字段对应的密文字段,在所述目标任务表中,增加所述明文字段对应的密文字段,完成所述明文字段分块中的明文字段进行加密。
127.本技术的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本技术实施例提供的任一项数据库中的字段加密方法。
128.其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
129.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
技术特征:
1.一种数据库中的字段加密方法,其特征在于,所述数据库中的字段加密方法包括:获取数据库对应的待处理任务以及所述待处理任务的目标任务触发时间点、目标任务表类型、目标任务表标识以及目标加密信息;在监测到当前时间达到目标任务触发时间点时,根据所述目标任务表标识确定所述待处理任务对应的目标任务表;根据所述目标任务表类型调用对应数量的实例,并将所述待处理任务分配到至少一台实例的至少一个分片中进行处理,以通过分布式任务调度,对所述目标任务表进行明文字段查询;对所述目标任务表中查询到的明文字段进行分块,得到至少一个明文字段分块,并根据所述目标加密信息,对各个所述明文字段分块中的明文字段进行加密,完成所述数据库中各个任务表的明文字段的清洗。2.根据权利要求1所述的数据库中的字段加密方法,其特征在于,所述获取数据库对应的待处理任务以及所述待处理任务的目标任务触发时间点、目标任务表类型、目标任务表标识以及目标加密信息之前,还包括:在接收到用户的配置指令时,获取所述配置指令中的至少一个待配置任务、所述待配置任务对应的任务触发时间点、所述待配置任务中任务表中明文字段的加密信息、所述任务表的任务表类型以及任务表标识;根据所述待配置任务、所述待配置任务对应的任务触发时间点、所述待配置任务中任务表中明文字段的加密信息、所述任务表的任务表类型以及任务表标识,在阿波罗配置中心中,配置生成至少一个所述待处理任务。3.根据权利要求1所述的数据库中的字段加密方法,其特征在于,所述根据所述目标任务表类型调用对应数量的实例,并将所述待处理任务分配到至少一台实例的至少一个分片中进行处理,以通过分布式任务调度,对所述目标任务表进行明文字段查询,包括:若所述目标任务表类型为所述分区表任务,则获取所述目标任务表对应的分区主表,并查询所述分区主表关联的分区子表;根据所述分区子表的子表数量确定待调用分片的分片数量,并根据实例与分片的对应关系以及所述分片数量,确定待调用实例的实例数量;将所述分区主表及其关联的所述分区子表,分配到所述实例数量对应的实例中的各个分片中进行处理,以通过各个分片对所述分区主表和所述分区子表进行明文字段查询。4.根据权利要求3所述的数据库中的字段加密方法,其特征在于,所述将所述分区主表及其关联的所述分区子表,分配到所述实例数量对应的实例中的各个分片中进行处理,包括:获取所述分区子表的子表编号以及一台实例包含的分片数量,将所述子表编号对所述分片数量进行取模,并根据取模的余数,确定各个所述分区子表对应的分片;将所述分区主表分配到处理量最少的分片,并根据各个所述分区子表对应的分片,将各个所述分区子表分配到各个分片中进行处理。5.根据权利要求3所述的数据库中的字段加密方法,其特征在于,所述根据所述目标任务表类型调用对应数量的实例,并将所述待处理任务分配到至少一台实例的至少一个分片中进行处理,以通过分布式任务调度,对所述目标任务表进行明文字段查询,还包括:
若所述目标任务表类型为单表任务,则调用一台所述实例,并将所述目标任务表对应的单表,分配到所述实例的至少一个分片中进行处理,以通过所述实例中的分片对所述单表进行明文字段查询。6.根据权利要求1所述的数据库中的字段加密方法,其特征在于,所述对所述目标任务表进行明文字段查询,包括:在所述数据库中,通过limit分页查询指令,对所述目标任务表中的明文字段进行查询。7.根据权利要求1至6任一项所述的数据库中的字段加密方法,其特征在于,所述对所述目标任务表中查询到的明文字段进行分块,得到至少一个明文字段分块,并根据所述目标加密信息,对各个所述明文字段分块中的明文字段进行加密,包括:将所述目标任务表中查询到的明文字段,作为一个列表,并通过分割函数partition函数,按照预设数据长度,对所述列表进行分割,得到所述明文字段分块;根据所述目标加密信息中的加密字段类型以及加密规则,将所述明文字段分块中的明文字段转换为目标密文字段;根据所述明文字段的字段标识以及所述明文字段对应的密文字段,在所述目标任务表中,增加所述明文字段对应的密文字段,完成所述明文字段分块中的明文字段进行加密。8.一种数据库中的字段加密装置,其特征在于,所述数据库中的字段加密装置包括:任务信息获取模块,用于获取数据库对应的待处理任务以及所述待处理任务的目标任务触发时间点、目标任务表类型、目标任务表标识以及目标加密信息;目标任务触发模块,用于在监测到当前时间达到目标任务触发时间点时,根据所述目标任务表标识确定所述待处理任务对应的目标任务表;明文字段查询模块,用于根据所述目标任务表类型调用对应数量的实例,并将所述待处理任务分配到至少一台实例的至少一个分片中进行处理,以通过分布式任务调度,对所述目标任务表进行明文字段查询;明文字段加密模块,用于对所述目标任务表中查询到的明文字段进行分块,得到至少一个明文字段分块,并根据所述目标加密信息,对各个所述明文字段分块中的明文字段进行加密,完成所述数据库中各个任务表的明文字段的清洗。9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至7中任一项所述的数据库中的字段加密方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至7中任一项所述的数据库中的字段加密方法。
技术总结
本申请涉及金融科技领域,公开了一种数据库中的字段加密方法、装置、设备及存储介质,用于对数据库中的业务数据、交易数据或支付数据等字段进行加密。所述方法将数据库中各个任务表划分为多个待处理任务,并在待处理任务对应的触发时间点,根据任务表标识以及目标任务表类型,确定所述目标任务表及其处理方式,即将所述目标任务表分配至对应实例中的分片,然后通过实例中的分片,以分布式任务调度的方式,对所述目标任务表进行明文字段进行查询、分块以及加密。由此,本发明通过多个分片对多个明文字段分块进行并行加密处理,不仅提高了数据库中字段的加密速度,而且避免长时间连接数据库,提高了数据库的字段加密效率。提高了数据库的字段加密效率。提高了数据库的字段加密效率。
技术研发人员:刘行彬
受保护的技术使用者:中国平安财产保险股份有限公司
技术研发日:2023.06.16
技术公布日:2023/8/5
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
