数据处理方法、装置、计算机设备和存储介质转让专利

申请号 : CN202310655444.8

文献号 : CN116383228B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邱俊凌赵芳

申请人 : 建信金融科技有限责任公司

摘要 :

本申请涉及大数据数据处理技术领域,具体公开了一种数据处理方法、装置、计算机设备、存储介质和计算机程序产品。本方法在达到预设数据更新周期时,基于字段参数,从数据库中获取与当前时间段对应的预设数据更新周期内的业务数据,得到更新业务数据;获取待更新拉链表,待更新拉链表包括上一个预设数据更新周期结束时,状态为有效的字段参数对应的业务数据;基于更新业务数据,对待更新拉链表进行更新,获得目标拉链表,目标拉链表为截止当前预设数据更新周期时,状态为有效的字段参数对应的业务数据,相比传统的拉链表,可以获取全部时期状态为有效的字段参数对应的业务数据,支持对所有时期业务数据的获取以及修改,极大地提高了数据处理效率。

权利要求 :

1.一种数据处理方法,其特征在于,所述方法包括:

在达到预设数据更新周期时,基于字段参数,从数据库中获取与当前时间段对应的预设数据更新周期内的业务数据,得到更新业务数据,所述更新业务数据包括失效日期大于、或等于预先配置的结束日期的更新业务数据;

获取待更新拉链表,所述待更新拉链表中存储的业务数据为上一个预设数据更新周期结束时,状态为有效的字段参数对应的业务数据;

基于所述字段参数,将所述更新业务数据与所述待更新拉链表中的业务数据进行对比,确定增量业务数据以及减量业务数据,将所述增量业务数据的有效期设置为永久期限,将设置后的增量数据插入所述待更新拉链表,从所述待更新拉链表中删除与所述增量业务数据主键相同的数据,将所述减量业务数据的状态标识设置为失效,并将所述减量业务数据的失效日期设置为当前日期,从所述待更新拉链表中删除与减量业务数据主键相同的数据,获得目标拉链表;

其中,所述增量业务数据包括业务数据的字段部分新增的业务数据以及字段全部新增的业务数据,所述减量业务数据包括业务数据的字段部分删除的业务数据以及字段全部删除的业务数据,在第一个所述预设数据更新周期开始时,初始的所述待更新拉链表基于有效历史业务数据构建,所述有效历史业务数据包括失效日期大于、或等于预先配置的结束日期的业务数据。

2.根据权利要求1所述的方法,其特征在于,在第一个所述预设数据更新周期开始时,初始的所述待更新拉链表的构建过程,包括:基于所述字段参数,从数据字典平台进行查询,得到历史业务数据;

筛选出所述历史业务数据中的有效历史业务数据;

基于所述有效历史业务数据,获得初始的待更新拉链表。

3.根据权利要求2所述的方法,其特征在于,所述筛选出所述历史业务数据中的有效历史业务数据,包括:确定所述历史业务数据中的失效日期;

将所述失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据;

筛选出所述有效历史业务数据。

4.根据权利要求3所述的方法,其特征在于,所述筛选出所述历史业务数据中的有效历史业务数据,还包括:确定所述历史业务数据中的生效日期;

所述将所述失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据,包括:将所述生效日期大于等于预先配置的开始日期、且所述失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据。

5.根据权利要求1至4任意一项所述的方法,其特征在于,所述基于所述字段参数,将所述更新业务数据与所述待更新拉链表中的业务数据进行对比,确定增量业务数据以及减量业务数据之前,还包括:确定所述更新业务数据中的失效日期;

筛选出所述更新业务数据中,所述失效日期大于等于预先配置的结束日期的更新业务数据。

6.根据权利要求5所述的方法,其特征在于,所述基于所述字段参数,将所述更新业务数据与所述待更新拉链表中的业务数据进行对比,确定增量业务数据以及减量业务数据之前,还包括:确定所述更新业务数据中的生效日期;

筛选出所述更新业务数据中,所述生效日期大于等于预先配置的开始日期、且所述失效日期大于等于预先配置的结束日期的更新业务数据。

7.一种数据处理装置,其特征在于,所述装置包括:

数据获取模块,用于在达到预设数据更新周期时,基于字段参数,从数据库中获取与当前时间段对应的预设数据更新周期内的业务数据,得到更新业务数据,所述更新业务数据包括失效日期大于、或等于预先配置的结束日期的更新业务数据;

拉链表获取模块,用于获取待更新拉链表,所述待更新拉链表中存储的业务数据为上一个预设数据更新周期结束时,状态为有效的字段参数对应的业务数据;

更新模块,用于基于所述字段参数,将所述更新业务数据与所述待更新拉链表中的业务数据进行对比,确定增量业务数据以及减量业务数据,将所述增量业务数据的有效期设置为永久期限,将设置后的增量数据插入所述待更新拉链表,从所述待更新拉链表中删除与所述增量业务数据主键相同的数据,将所述减量业务数据的状态标识设置为失效,并将所述减量业务数据的失效日期设置为当前日期,从所述待更新拉链表中删除与减量业务数据主键相同的数据,获得目标拉链表;

其中,所述增量业务数据包括业务数据的字段部分新增的业务数据以及字段全部新增的业务数据,所述减量业务数据包括业务数据的字段部分删除的业务数据以及字段全部删除的业务数据,在第一个所述预设数据更新周期开始时,初始的所述待更新拉链表基于有效历史业务数据构建,所述有效历史业务数据包括失效日期大于、或等于预先配置的结束日期的业务数据。

8.根据权利要求7所述的装置,其特征在于,所述数据处理装置还包括构建模块,用于基于所述字段参数,从数据字典平台进行查询,得到历史业务数据;筛选出所述历史业务数据中的有效历史业务数据;基于所述有效历史业务数据,获得初始的待更新拉链表。

9.根据权利要求8所述的装置,其特征在于,所述构建模块还用于确定所述历史业务数据中的失效日期;将所述失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据;筛选出所述有效历史业务数据。

10.根据权利要求9所述的装置,其特征在于,所述构建模块还用于确定所述历史业务数据中的生效日期;所述将所述失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据,包括:将所述生效日期大于等于预先配置的开始日期、且所述失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据。

11.根据权利要求7至10任意一项所述的装置,其特征在于,所述更新模块还用于确定所述更新业务数据中的失效日期;筛选出所述更新业务数据中,失效日期大于等于预先配置的结束日期的更新业务数据。

12.根据权利要求11所述的装置,其特征在于,所述更新模块还用于确定所述更新业务数据中的生效日期;筛选出所述更新业务数据中,所述生效日期大于等于预先配置的开始日期、且所述失效日期大于等于预先配置的结束日期的更新业务数据。

13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。

14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。

15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。

说明书 :

数据处理方法、装置、计算机设备和存储介质

技术领域

[0001] 本申请涉及大数据数据处理技术领域,特别是涉及一种数据处理方法、装置、计算机设备、存储介质和计算机程序产品。

背景技术

[0002] 随着大数据技术的发展,不同的业务类型每天产生大量的业务数据。以银行业务为例,在日常业务处理中,如查询历史消费金额,查询历史贷款金额,查询历史变动金额等,这些数据随着时间的推移膨胀,查询数据的时间也会变长,不能够满足快速高效的查询效率。
[0003] 传统技术通过拉链表来记录每天变化的数据,拉链表就是用来存储变化的数据的,每一份数据都有对应的有效期,我们需要进行的操作就是将变动的数据进行新增,同时将变动对应的前一条数据的有效期进行变更。
[0004] 但是由于传统的拉链表只能来拉取当前日期的数据,无法动态获取所需的数据,效率低下。

发明内容

[0005] 基于此,有必要针对上述技术问题,提供一种高效的数据处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
[0006] 第一方面,本申请提供了一种数据处理方法。所述方法包括:
[0007] 在达到预设数据更新周期时,基于字段参数,从数据库中获取与当前时间段对应的预设数据更新周期内的业务数据,得到更新业务数据;
[0008] 获取待更新拉链表,所述待更新拉链表包括上一个预设数据更新周期结束时,状态为有效的字段参数对应的业务数据;
[0009] 基于所述更新业务数据,对所述待更新拉链表进行更新,获得目标拉链表。
[0010] 在其中一个实施例中,在第一个所述预设数据更新周期开始时,初始的所述待更新拉链表的构建过程,包括:
[0011] 基于所述字段参数,从数据字典平台进行查询,得到历史业务数据;
[0012] 筛选出所述历史业务数据中的有效历史业务数据;
[0013] 基于所述有效历史业务数据,获得初始的待更新拉链表。
[0014] 在其中一个实施例中,所述筛选出所述历史业务数据中的有效历史业务数据,包括:
[0015] 确定所述历史业务数据中的失效日期;
[0016] 将所述失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据;
[0017] 筛选出所述有效历史业务数据。
[0018] 在其中一个实施例中,所述筛选出所述历史业务数据中的有效历史业务数据,还包括:
[0019] 确定所述历史业务数据中的生效日期;
[0020] 所述将所述失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据,包括:
[0021] 将所述生效日期大于等于预先配置的开始日期、且所述失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据。
[0022] 在其中一个实施例中,所述基于所述更新业务数据,对所述待更新拉链表进行更新,获得目标拉链表,包括:
[0023] 基于所述字段参数,将所述更新业务数据与所述待更新拉链表中的业务数据进行对比,确定增量业务数据以及减量业务数据;
[0024] 根据所述增量业务数据以及所述减量业务数据,对所述待更新拉链表进行更新,得到目标拉链表。
[0025] 在其中一个实施例中,所述基于所述字段参数,将所述更新业务数据与所述待更新拉链表中的业务数据进行对比,确定增量业务数据以及减量业务数据之前,还包括:
[0026] 确定所述更新业务数据中的失效日期;
[0027] 筛选出所述更新业务数据中,失效日期大于等于预先配置的结束日期的更新业务数据。
[0028] 在其中一个实施例中,所述基于所述字段参数,将所述更新业务数据与所述待更新拉链表中的业务数据进行对比,确定增量业务数据以及减量业务数据之前,还包括:
[0029] 确定所述更新业务数据中的生效日期;
[0030] 筛选出所述更新业务数据中,所述生效日期大于等于预先配置的开始日期、且所述失效日期大于等于预先配置的结束日期的更新业务数据。
[0031] 第二方面,本申请还提供了一种数据处理装置。所述装置包括:
[0032] 数据获取模块,用于在达到预设数据更新周期时,基于字段参数,从数据库中获取与当前时间段对应的预设数据更新周期内的业务数据,得到更新业务数据;
[0033] 拉链表获取模块,用于获取待更新拉链表,所述待更新拉链表包括上一个预设数据更新周期结束时,状态为有效的字段参数对应的业务数据;
[0034] 更新模块,用于基于所述更新业务数据,对所述待更新拉链表进行更新,获得目标拉链表。
[0035] 第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0036] 在达到预设数据更新周期时,基于字段参数,从数据库中获取与当前时间段对应的预设数据更新周期内的业务数据,得到更新业务数据;
[0037] 获取待更新拉链表,所述待更新拉链表包括上一个预设数据更新周期结束时,状态为有效的字段参数对应的业务数据;
[0038] 基于所述更新业务数据,对所述待更新拉链表进行更新,获得目标拉链表。
[0039] 第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0040] 在达到预设数据更新周期时,基于字段参数,从数据库中获取与当前时间段对应的预设数据更新周期内的业务数据,得到更新业务数据;
[0041] 获取待更新拉链表,所述待更新拉链表包括上一个预设数据更新周期结束时,状态为有效的字段参数对应的业务数据;
[0042] 基于所述更新业务数据,对所述待更新拉链表进行更新,获得目标拉链表。
[0043] 第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
[0044] 在达到预设数据更新周期时,基于字段参数,从数据库中获取与当前时间段对应的预设数据更新周期内的业务数据,得到更新业务数据;
[0045] 获取待更新拉链表,所述待更新拉链表包括上一个预设数据更新周期结束时,状态为有效的字段参数对应的业务数据;
[0046] 基于所述更新业务数据,对所述待更新拉链表进行更新,获得目标拉链表。
[0047] 上述数据处理方法、装置、计算机设备、存储介质和计算机程序产品,在达到预设数据更新周期时,基于字段参数,从数据库中获取与当前时间段对应的预设数据更新周期内的业务数据,得到更新业务数据;获取待更新拉链表,待更新拉链表包括上一个预设数据更新周期结束时,状态为有效的字段参数对应的业务数据;基于更新业务数据,对待更新拉链表进行更新,获得目标拉链表。整个方案在达到预设数据更新周期时,基于字段参数获取所需的更新业务数据,然后获取待更新拉链表,基于更新业务数据对待更新拉链表进行更新,就可以获得目标拉链表,由于待更新拉链表是上一个预设数据更新周期结束时,状态为有效的字段参数对应的业务数据,因此目标拉链表为截止当前预设数据更新周期时,状态为有效的字段参数对应的业务数据,相比传统的拉链表,可以获取全部时期状态为有效的字段参数对应的业务数据,因此可以支持对所有时期业务数据的获取以及修改,极大地提高了数据处理效率。

附图说明

[0048] 为了更清楚地说明本申请实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0049] 图1为一个实施例中数据处理方法的应用环境图;
[0050] 图2为一个实施例中数据处理方法的流程示意图;
[0051] 图3为一个实施例中待更新拉链表更新步骤的流程示意图;
[0052] 图4为另一个实施例中数据处理方法的流程示意图;
[0053] 图5为一个实施例中数据处理装置的结构框图;
[0054] 图6为一个实施例中计算机设备的内部结构图。

具体实施方式

[0055] 需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
[0056] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0057] 本申请实施例提供的数据处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端102发送预设数据更新周期以及字段参数至服务器104,服务器104在达到预设数据更新周期时,基于字段参数,从数据库中获取与当前时间段对应的预设数据更新周期内的业务数据,得到更新业务数据;获取待更新拉链表,待更新拉链表包括上一个预设数据更新周期结束时,状态为有效的字段参数对应的业务数据;基于更新业务数据,对待更新拉链表进行更新,获得目标拉链表。
[0058] 其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
[0059] 在一个实施例中,如图2所示,提供了一种数据处理方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
[0060] 步骤200,在达到预设数据更新周期时,基于字段参数,从数据库中获取与当前时间段对应的预设数据更新周期内的业务数据,得到更新业务数据。
[0061] 其中,字段参数为所需拉链表数据的表结构参数,字段参数包括表结构中不同的属性字段,例如在用户表中,字段参数可以包括用户标识、用户名称、用户注册时间、注册手机信息等。预设数据更新周期为拉链表的数据更新周期,预设数据更新周期可以根据工作人员对数据的获取需求来设置,也可以根据业务数据的业务量来设置,具体的预设数据更新周期可以为一天、三天、一周、一个月或者其他时间参数,本实施例在此不作限定。业务数据指的是服务器根据业务操作产生的业务数据,本实施例中所获取的业务数据的表结构中的字段与字段参数中的字段一致。
[0062] 具体地,服务器可以设置定时任务,定时任务的时间与预设数据更新周期结束的时间一致,当达到预设数据更新周期时,定时任务启动,基于用户在终端发送的字段参数,从数据库中查询与字段参数一致的表结构的表名称,基于字段参数以及表名称,生成业务数据查询语句,执行业务数据查询语句,从表名称对应的数据表中进行查询,获取与当前时间段对应的预设数据更新周期内的业务数据,得到更新业务数据。进一步地,预设数据更新周期的定时任务可以设置为每一数据更新周期结束的时间点,如预设数据更新周期为一周,则在每周日的24点获取更新业务数据。
[0063] 步骤400,获取待更新拉链表。
[0064] 其中,待更新拉链表包括上一个预设数据更新周期结束时,状态为有效的字段参数对应的业务数据。状态为有效的字段参数对应的业务数据,可以为失效日期为永久期限的字段参数对应的业务数据,因此,待更新拉链表中存储的业务数据需要满足两个条件,一是基于字段参数获取的业务数据,二是日期参数为有效,即失效日期为永久期限的业务数据。例如,业务人员需要拉取从2022年开始所有新增用户的用户表,则待更新拉链表中存储与用户表的表结构(字段参数)一致、状态为有效的所有用户数据。传统的拉链表将历史状态的数据存为闭链,将新增或者修改的数据存为开链(也就是有效数据),这种方式只能拉取当前日期的数据,不能根据实际的需求来获取想要的数据,且由于历史数据已经闭链,不能修改历史数据。
[0065] 具体地,待更新拉链表的字段与字段参数中的一致,基于字段参数,获取表结构与字段参数的字段一致的拉链表,得到待更新拉链表。进一步地,定时任务中也可以直接绑定待更新拉链表的表标识,服务器直接根据表标识获取待更新拉链表。
[0066] 步骤600,基于更新业务数据,对待更新拉链表进行更新,获得目标拉链表。
[0067] 具体地,服务器将更新业务数据与待更新拉链表中的数据进行字段对比,确定发生变化的数据,再基于发生变化的数据,对待更新拉链表进行更新,从而获得目标拉链表。待更新拉链表可以根据日期参数以及字段参数获取指定日期的数据,在后续数据发生变化时,还可以修改历史数据(待更新拉链表),实现了历史数据的动态。
[0068] 上述数据处理方法中,在达到预设数据更新周期时,基于字段参数,从数据库中获取与当前时间段相邻的上一个数据更新周期内的业务数据,得到更新业务数据;获取待更新拉链表,待更新拉链表包括上一个预设数据更新周期结束时,状态为有效的字段参数对应的业务数据;基于更新业务数据,对待更新拉链表进行更新,获得目标拉链表。整个方案在达到预设数据更新周期时,基于字段参数获取所需的更新业务数据,然后获取待更新拉链表,基于更新业务数据对待更新拉链表进行更新,就可以获得目标拉链表,由于待更新拉链表是上一个预设数据更新周期结束时,状态为有效的字段参数对应的业务数据,因此目标拉链表为截止当前预设数据更新周期时,状态为有效的字段参数对应的业务数据,相比传统的拉链表,可以获取全部时期状态为有效的字段参数对应的业务数据,因此可以支持对所有时期业务数据的获取以及修改,极大地提高了数据处理效率。
[0069] 在一个可选的实施例中,在第一个预设数据更新周期开始时,初始的待更新拉链表的构建过程,包括:
[0070] 基于字段参数,从数据字典平台进行查询,得到历史业务数据;
[0071] 筛选出历史业务数据中的有效历史业务数据;
[0072] 基于有效历史业务数据,获得初始的待更新拉链表。
[0073] 具体地,服务器在构建初始的待更新拉链表的过程中,首先获取工作人员通过终端发送的数据查询参数,其中,数据查询参数包括日期参数以及字段参数。数据字典平台存储历史数据。
[0074] 服务器基于字段参数,从数据仓库中查询与字段参数一致的表结构的表名称,基于字段参数以及表名称,生成业务数据查询语句,执行业务数据查询语句,从表名称对应的数据表中进行查询,获取历史业务数据。之后,服务器基于日期参数,从历史业务数据中筛选出有效历史业务数据。最后,将有效历史业务数据插入拉链表中(即对拉链表进行开链),得到初始的待更新拉链表,即初始的待更新拉链表。
[0075] 本实施例中,可以根据数据获取需求,从历史数据中获取满足日期参数以及字段参数的所有有效历史业务数据,从而获取到从指定日期开始产生的所有有效的业务数据,例如,需要查询2022年开始新增的用户表,则基于用户表的字段参数从历史数据中获取2022年开始所有历史用户表,并基于日期参数筛选有效用户表,则可以得到2022年开始所有的用户数据。
[0076] 在一个可选的实施例中,筛选出历史业务数据中的有效历史业务数据,包括:
[0077] 确定历史业务数据中的失效日期;
[0078] 将失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据;
[0079] 筛选出有效历史业务数据。
[0080] 其中,预先配置的结束日期为终端发送的日期参数中的结束日期,为工作人员所需的时间段内的结束日期。例如预先配置的结束日期为2023年1月1日,则可从历史业务数据中提取出到2023年1月1日为止有效的用户表,还可以根据需求提取结束日期为2023年1月1日的所有订单表,或者其他业务数据,本实施例在此不作限定。
[0081] 具体地,在筛选有效历史业务数据的过程中,服务器首先从字段参数中提取失效日期字段,然后基于失效日期字段,从历史业务数据中获取每一历史业务数据的失效日期,然后将每一历史业务数据的失效日期与日期参数中的结束日期进行比较,将失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据,进而得到筛选出的预先配置的结束日期的所有有效历史业务数据。
[0082] 本实施例中,可以根据数据获取需求,从历史数据中获取到预先配置的结束日期为止,状态为有效的字段参数对应的所有有效历史业务数据,提高了所需历史有效数据的处理效率。
[0083] 在一个可选的实施例中,筛选出历史业务数据中的有效历史业务数据,还包括:
[0084] 确定历史业务数据中的生效日期;
[0085] 将失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据,包括:
[0086] 将生效日期大于等于预先配置的开始日期、且失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据。
[0087] 其中,预先配置的开始日期为终端发送的日期参数中的开始日期,为工作人员所需的时间段内的开始日期。例如预先配置的开始日期为2022年1月1日,结束日期为2023年1月1日,则可从历史业务数据中提取出2022年1月1日开始新增、并且到2023年1月1日为止有效的用户表。
[0088] 具体地,在筛选有效历史业务数据的过程中,服务器首先从字段参数中提取生效日期字段以及失效日期字段,然后基于生效日期字段以及失效日期字段,从历史业务数据中获取每一历史业务数据的生效日期以及失效日期。然后将每一历史业务数据的失效日期与日期参数中的结束日期进行比较,同时,将每一历史业务数据的生效日期与日期参数中的开始日期进行比较。将生效日期大于等于预先配置的开始日期、且失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据,进而筛选出从预先配置的开启日期起生效、到预先配置的结束日期为止状态为有效的所有历史业务数据。
[0089] 本实施例中,可以根据数据获取需求,从历史数据中获取到从预先配置的开启日期起生效并且到预先配置的结束日期为止,状态为有效的字段参数对应的所有有效历史业务数据,提高了所需日期参数内历史有效数据的处理效率。
[0090] 在一个可选的实施例中,如图3所示,基于更新业务数据,对待更新拉链表进行更新,获得目标拉链表,包括:
[0091] 步骤620,基于字段参数,将更新业务数据与待更新拉链表中的业务数据进行对比,确定增量业务数据以及减量业务数据;
[0092] 步骤640,根据增量业务数据以及减量业务数据,对待更新拉链表进行更新,得到目标拉链表。
[0093] 具体地,服务器在对更新业务数据与待更新拉链表中的数据进行字段对比的过程中,将待更新拉链表中字段为空(不存在)、但更新业务数据中字段不为空(新增的字段)的业务数据,确定为增量业务数据。增量业务数据包括业务数据的字段部分新增的业务数据以及字段全部新增的业务数据。
[0094] 服务器将待更新拉链表中字段不为空(存在)、但更新业务数据中字段为空(删除的字段)的业务数据,确定为减量业务数据。减量业务数据包括业务数据的字段部分删除的业务数据以及字段全部删除的业务数据。
[0095] 之后,服务器对增量业务数据进行开链,对减量业务数据进行闭链,得到目标拉链表。进一步地,将增量业务数据的有效期设置为永久期限,将设置后的增量数据插入待更新拉链表,然后从待更新拉链表中删除与增量业务数据主键相同的数据。将减量业务数据的状态标识设置为失效,并将减量数据的有效期设置为失效日期,从待更新拉链表中删除与减量业务数据主键相同的数据。
[0096] 具体实施中,服务器可以将更新业务数据与待更新拉链表中的数据进行字段对比,确定增量业务数据和变化后的业务数据;将待更新拉链表和更新业务数据中的数据进行字段对比,确定减量业务数据和变化前的业务数据;然后,删除待更新拉链表中的减量业务数据和变化前的业务数据;将增量业务数据和变化后的业务数据插入待更新拉链表中,把生效日期置为当前日期,失效日期置为永久有效;将减量业务数据和变化前的业务数据插入历史数据中,把失效日期置为当前日期。
[0097] 在一个可选的实施例中,基于字段参数,将更新业务数据与待更新拉链表中的业务数据进行对比,确定增量业务数据以及减量业务数据之前,还包括:
[0098] 确定更新业务数据中的失效日期;
[0099] 筛选出更新业务数据中,失效日期大于等于预先配置的结束日期的更新业务数据。
[0100] 具体地,在筛选更新业务数据的过程中,服务器首先从字段参数中提取失效日期字段,然后基于失效日期字段,从当前时间段对应的预设数据更新周期内的业务数据中获取每一业务数据的失效日期,然后将每一业务数据的失效日期与日期参数中的结束日期进行比较,将失效日期大于等于预先配置的结束日期的业务数据,确定为更新业务数据,进而得到预先配置的结束日期为止的所有有效的更新业务数据。
[0101] 在一个可选的实施例中,基于字段参数,将更新业务数据与待更新拉链表中的业务数据进行对比,确定增量业务数据以及减量业务数据之前,还包括:
[0102] 确定更新业务数据中的生效日期;
[0103] 筛选出更新业务数据中,生效日期大于等于预先配置的开始日期、且失效日期大于等于预先配置的结束日期的更新业务数据。
[0104] 具体地,在筛选更新业务数据的过程中,服务器首先从字段参数中提取生效日期字段以及失效日期字段,然后基于生效日期字段以及失效日期字段,从当前时间段对应的预设数据更新周期内的业务数据中,获取每一业务数据的生效日期以及失效日期,然后将每一业务数据的失效日期与日期参数中的结束日期进行比较,同时,将每一业务数据的生效日期与日期参数中的开始日期进行比较。将生效日期大于等于预先配置的开始日期、且失效日期大于等于预先配置的结束日期的业务数据,确定为更新业务数据,进而得到从预先配置的开启日期起生效、到预先配置的结束日期为止状态为有效的更新业务数据。
[0105] 为了易于理解本申请实施例提供的技术方案,如图4所示,以完整的数据处理过程对本申请实施例提供的数据处理方法进行简要说明:
[0106] 步骤401,基于字段参数,从数据字典平台进行查询,得到历史业务数据。
[0107] 步骤402,确定历史业务数据中的失效日期,并确定历史业务数据中的生效日期。
[0108] 步骤403,将生效日期大于等于预先配置的开始日期、且失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据。
[0109] 步骤404,基于有效历史业务数据,获得初始的待更新拉链表。
[0110] 步骤405,在达到预设数据更新周期时,基于字段参数,从数据库中获取与当前时间段对应的预设数据更新周期内的业务数据,得到更新业务数据。
[0111] 步骤406,确定所述更新业务数据中的失效日期,并确定所述更新业务数据中的生效日期;筛选出更新业务数据中,生效日期大于等于预先配置的开始日期、且失效日期大于等于预先配置的结束日期的更新业务数据。
[0112] 步骤407,基于字段参数,将更新业务数据与待更新拉链表中的业务数据进行对比,确定增量业务数据以及减量业务数据;
[0113] 步骤408,根据增量业务数据以及减量业务数据,对待更新拉链表进行更新,得到目标拉链表。
[0114] 应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0115] 基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据处理方法的数据处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据处理装置实施例中的具体限定可以参见上文中对于数据处理方法的限定,在此不再赘述。
[0116] 在一个实施例中,如图5所示,提供了一种数据处理装置,包括:数据获取模块502、拉链表获取模块504和更新模块506,其中:
[0117] 数据获取模块502,用于在达到预设数据更新周期时,基于字段参数,从数据库中获取与当前时间段对应的预设数据更新周期内的业务数据,得到更新业务数据;
[0118] 拉链表获取模块504,用于获取待更新拉链表,待更新拉链表包括上一个预设数据更新周期结束时,状态为有效的字段参数对应的业务数据;
[0119] 更新模块506,用于基于更新业务数据,对待更新拉链表进行更新,获得目标拉链表。
[0120] 在一个实施例中,数据处理装置还包括构建模块,用于基于字段参数,从数据字典平台进行查询,得到历史业务数据;筛选出历史业务数据中的有效历史业务数据;基于有效历史业务数据,获得初始的待更新拉链表。
[0121] 在一个实施例中,构建模块还用于确定历史业务数据中的失效日期;将失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据;筛选出有效历史业务数据。
[0122] 在一个实施例中,构建模块还用于确定历史业务数据中的生效日期;将失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据,包括:将生效日期大于等于预先配置的开始日期、且失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据。
[0123] 在一个实施例中,更新模块506还用于基于字段参数,将更新业务数据与待更新拉链表中的业务数据进行对比,确定增量业务数据以及减量业务数据;根据增量业务数据以及减量业务数据,对待更新拉链表进行更新,得到目标拉链表。
[0124] 在一个实施例中,更新模块506还用于确定更新业务数据中的失效日期;筛选出更新业务数据中,失效日期大于等于预先配置的结束日期的更新业务数据。
[0125] 在一个实施例中,更新模块506还用于确定更新业务数据中的生效日期;筛选出更新业务数据中,生效日期大于等于预先配置的开始日期、且失效日期大于等于预先配置的结束日期的更新业务数据。
[0126] 上述数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0127] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储业务数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理方法。
[0128] 本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0129] 在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0130] 在达到预设数据更新周期时,基于字段参数,从数据库中获取与当前时间段对应的预设数据更新周期内的业务数据,得到更新业务数据;
[0131] 获取待更新拉链表,待更新拉链表包括上一个预设数据更新周期结束时,状态为有效的字段参数对应的业务数据;
[0132] 基于更新业务数据,对待更新拉链表进行更新,获得目标拉链表。
[0133] 在一个实施例中,处理器执行计算机程序时还实现以下步骤:在第一个预设数据更新周期开始时,初始的待更新拉链表的构建过程,包括:基于字段参数,从数据字典平台进行查询,得到历史业务数据;筛选出历史业务数据中的有效历史业务数据;基于有效历史业务数据,获得初始的待更新拉链表。
[0134] 在一个实施例中,处理器执行计算机程序时还实现以下步骤:筛选出历史业务数据中的有效历史业务数据,包括:确定历史业务数据中的失效日期;将失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据;筛选出有效历史业务数据。
[0135] 在一个实施例中,处理器执行计算机程序时还实现以下步骤:筛选出历史业务数据中的有效历史业务数据,还包括:确定历史业务数据中的生效日期;将失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据,包括:将生效日期大于等于预先配置的开始日期、且失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据。
[0136] 在一个实施例中,处理器执行计算机程序时还实现以下步骤:基于更新业务数据,对待更新拉链表进行更新,获得目标拉链表,包括:基于字段参数,将更新业务数据与待更新拉链表中的业务数据进行对比,确定增量业务数据以及减量业务数据;根据增量业务数据以及减量业务数据,对待更新拉链表进行更新,得到目标拉链表。
[0137] 在一个实施例中,处理器执行计算机程序时还实现以下步骤:基于字段参数,将更新业务数据与待更新拉链表中的业务数据进行对比,确定增量业务数据以及减量业务数据之前,还包括:确定更新业务数据中的失效日期;筛选出更新业务数据中,失效日期大于等于预先配置的结束日期的更新业务数据。
[0138] 在一个实施例中,处理器执行计算机程序时还实现以下步骤:基于字段参数,将更新业务数据与待更新拉链表中的业务数据进行对比,确定增量业务数据以及减量业务数据之前,还包括:确定更新业务数据中的生效日期;筛选出更新业务数据中,生效日期大于等于预先配置的开始日期、且失效日期大于等于预先配置的结束日期的更新业务数据。
[0139] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0140] 在达到预设数据更新周期时,基于字段参数,从数据库中获取与当前时间段对应的预设数据更新周期内的业务数据,得到更新业务数据;
[0141] 获取待更新拉链表,待更新拉链表包括上一个预设数据更新周期结束时,状态为有效的字段参数对应的业务数据;
[0142] 基于更新业务数据,对待更新拉链表进行更新,获得目标拉链表。
[0143] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在第一个预设数据更新周期开始时,初始的待更新拉链表的构建过程,包括:基于字段参数,从数据字典平台进行查询,得到历史业务数据;筛选出历史业务数据中的有效历史业务数据;基于有效历史业务数据,获得初始的待更新拉链表。
[0144] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:筛选出历史业务数据中的有效历史业务数据,包括:确定历史业务数据中的失效日期;将失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据;筛选出有效历史业务数据。
[0145] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:筛选出历史业务数据中的有效历史业务数据,还包括:确定历史业务数据中的生效日期;将失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据,包括:将生效日期大于等于预先配置的开始日期、且失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据。
[0146] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于更新业务数据,对待更新拉链表进行更新,获得目标拉链表,包括:基于字段参数,将更新业务数据与待更新拉链表中的业务数据进行对比,确定增量业务数据以及减量业务数据;根据增量业务数据以及减量业务数据,对待更新拉链表进行更新,得到目标拉链表。
[0147] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于字段参数,将更新业务数据与待更新拉链表中的业务数据进行对比,确定增量业务数据以及减量业务数据之前,还包括:确定更新业务数据中的失效日期;筛选出更新业务数据中,失效日期大于等于预先配置的结束日期的更新业务数据。
[0148] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于字段参数,将更新业务数据与待更新拉链表中的业务数据进行对比,确定增量业务数据以及减量业务数据之前,还包括:确定更新业务数据中的生效日期;筛选出更新业务数据中,生效日期大于等于预先配置的开始日期、且失效日期大于等于预先配置的结束日期的更新业务数据。
[0149] 在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
[0150] 在达到预设数据更新周期时,基于字段参数,从数据库中获取与当前时间段对应的预设数据更新周期内的业务数据,得到更新业务数据;
[0151] 获取待更新拉链表,待更新拉链表包括上一个预设数据更新周期结束时,状态为有效的字段参数对应的业务数据;
[0152] 基于更新业务数据,对待更新拉链表进行更新,获得目标拉链表。
[0153] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在第一个预设数据更新周期开始时,初始的待更新拉链表的构建过程,包括:基于字段参数,从数据字典平台进行查询,得到历史业务数据;筛选出历史业务数据中的有效历史业务数据;基于有效历史业务数据,获得初始的待更新拉链表。
[0154] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:筛选出历史业务数据中的有效历史业务数据,包括:确定历史业务数据中的失效日期;将失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据;筛选出有效历史业务数据。
[0155] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:筛选出历史业务数据中的有效历史业务数据,还包括:确定历史业务数据中的生效日期;将失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据,包括:将生效日期大于等于预先配置的开始日期、且失效日期大于等于预先配置的结束日期的历史业务数据,确定为有效历史业务数据。
[0156] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于更新业务数据,对待更新拉链表进行更新,获得目标拉链表,包括:基于字段参数,将更新业务数据与待更新拉链表中的业务数据进行对比,确定增量业务数据以及减量业务数据;根据增量业务数据以及减量业务数据,对待更新拉链表进行更新,得到目标拉链表。
[0157] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于字段参数,将更新业务数据与待更新拉链表中的业务数据进行对比,确定增量业务数据以及减量业务数据之前,还包括:确定更新业务数据中的失效日期;筛选出更新业务数据中,失效日期大于等于预先配置的结束日期的更新业务数据。
[0158] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于字段参数,将更新业务数据与待更新拉链表中的业务数据进行对比,确定增量业务数据以及减量业务数据之前,还包括:确定更新业务数据中的生效日期;筛选出更新业务数据中,生效日期大于等于预先配置的开始日期、且失效日期大于等于预先配置的结束日期的更新业务数据。
[0159] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read‑Only Memory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random AccessMemory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0160] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0161] 以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。