拉链表处理方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:38834495 阅读:17 留言:0更新日期:2023-09-17 09:52
本发明专利技术涉及数据存储技术领域,公开了拉链表处理方法、装置、计算机设备及存储介质。拉链表处理方法包括:获取增量数据,以及利用增量数据创建增量表;增量表用于存储增量数据;根据增量表中的增量数据对当前的拉链表中存储的目标数据进行状态更新,以将处于开链状态的目标数据的状态更新为闭链状态;基于行级的增量拉取及插入的方式,将增量表中的增量数据写入拉链表中,并使拉链表中添加的增量数据的状态为开链状态,以通过拉链表存储增量数据。本发明专利技术降低了拉链表处理过程中处理的数据量,提高了计算资源利用率、提高了拉链表处理过程的执行效率以及降低了拉链表处理过程的实现成本。本。本。

【技术实现步骤摘要】
拉链表处理方法、装置、计算机设备及存储介质


[0001]本专利技术涉及数据存储
,具体涉及拉链表处理方法、装置、计算机设备及存储介质。

技术介绍

[0002]数据仓库,是一种用于对经年累月所累积的大量资料进行存储的资料储存架构。相关技术中,对于大数据场景下的数据增量更新问题,可以通过在数据仓库架构中实现的拉链表方案解决。具体地,相关技术需要使用一张拉链表和一张增量表,先将增量表与拉链表进行关联,然后将拉链表中原有的旧数据与增量表中的增量数据合并后以覆盖写的方式写入该拉链表中,在覆盖写的过程中,需要将拉链表中原有的旧数据全部删除,再将旧数据和增量数据重新写入该拉链表中。
[0003]但是,上述删除过程和重新写入过程数据处理量过大,导致计算资源浪费和执行效率低等问题。

技术实现思路

[0004]有鉴于此,本专利技术提供了一种拉链表处理方法、装置、计算机设备及存储介质,以解决相关技术中的拉链表处理方案存在的计算资源浪费和执行效率低等问题。
[0005]第一方面,本专利技术提供了一种拉链表处理方法,该方法应用于数据仓库,该方法包括:
[0006]获取增量数据,以及利用增量数据创建增量表;增量表用于存储增量数据;
[0007]根据增量表中的增量数据对当前的拉链表中存储的目标数据进行状态更新,以将处于开链状态的目标数据的状态更新为闭链状态;
[0008]基于行级的增量拉取及插入的方式,将增量表中的增量数据写入拉链表中,并使拉链表中添加的增量数据的状态为开链状态,以通过拉链表存储增量数据。
[0009]相比于相关技术中必须删除全部旧数据和重新写入合并后的数据的方式,本专利技术根据增量数据将拉链表中对应的目标数据更新为闭链状态,然后以只向拉链表中写入增量数据并使其处于开链状态的方式实现拉链表的更新,并具体以数据仓库表行级别的数据更新机制实现拉链表的数据表更,可见本专利技术相比于相关技术避免了大量数据的删除过程和避免了大量数据的重新写入过程,从而极大降低了拉链表处理过程中处理的数据量,减少了IO资源的消耗,提高了计算资源利用率、提高了拉链表处理过程的执行效率以及降低了拉链表处理过程的实现成本。
[0010]在一种可选的实施方式中,根据增量表中的增量数据对当前的拉链表中存储的目标数据进行状态更新,包括:
[0011]从增量表中的增量数据中获取第一项目编码,并从拉链表中存储的处于开链状态的数据中获取第二项目编码;
[0012]将第一项目编码与第二项目编码进行匹配,并根据匹配的结果将与第一项目编码
匹配的第二项目编码对应的数据确定为目标数据;
[0013]将目标数据的开链状态更新为闭链状态。
[0014]本专利技术能够根据增量数据与拉链表中原有数据的项目编码匹配的方式准确判断出目标数据,从而能够精准地将目标数据的开链状态更改为闭链状态。
[0015]在一种可选的实施方式中,将目标数据的开链状态更新为闭链状态,包括:
[0016]从与目标数据对应的增量数据中获取目标日期;其中,目标日期为增量数据的创建日期或修改日期;
[0017]将目标数据中的失效日期更新为目标日期,以将目标数据的开链状态更新为闭链状态。
[0018]通过将目标数据中的失效日期更新为增量数据的创建日期或者修改日期的方式,本专利技术能够保证对目标数据进行可靠地闭链操作。
[0019]在一种可选的实施方式中,获取增量数据,包括:
[0020]按照预设频率,从数据源中获取增量数据。
[0021]本专利技术还能够基于预设频率有效地获取历史变化数据,从而在后续步骤中通过拉链表有效地记录历史变化数据,进而根据拉链表有效地获得某条数据的某个时间或某段时间的历史状态。
[0022]在一种可选的实施方式中,基于行级的增量拉取及插入的方式,将增量表中的增量数据写入拉链表中,包括:
[0023]按照逐行读取的方式,从增量表中读取增量数据;
[0024]采用逐行插入方式,将增量表中的增量数据插入至状态更新后的拉链表中。
[0025]基于逐行读取和逐行插入的方式,本专利技术还能够进一步地节省计算资源,提高拉链表更新效率。
[0026]在一种可选的实施方式中,获取增量数据之前,还包括:
[0027]获取第一数据,以及利用第一数据创建全量数据表;全量数据表用于存储第一数据;
[0028]利用全量数据表中存储的第二数据初始化空白的拉链表,以通过空白的拉链表存储第二数据;第一数据包括第二数据。
[0029]本专利技术实施例能够在首次执行过程中利用全量数据表中的部分数据初始化空白的拉链表,该方式能够创建出具有可靠数据结构的拉链表,以便于更好地维护拉链状态。
[0030]在一种可选的实施方式中,全量数据表、拉链表及增量表均以Hudi数据格式存储。
[0031]基于Hudi数据格式存储拉链表、全量数据表及增量表,本专利技术更适于实现大数据集的增删改功能,进一步提升服务器对于大数据集的处理性能。
[0032]第二方面,本专利技术提供了一种拉链表处理装置,该装置包括:
[0033]第一创建模块,用于获取增量数据,以及利用增量数据创建增量表;增量表用于存储增量数据;
[0034]状态更新模块,用于根据增量表中的增量数据对当前的拉链表中存储的目标数据进行状态更新,以将处于开链状态的目标数据的状态更新为闭链状态;
[0035]数据写入模块,用于基于行级的增量拉取及插入的方式,将增量表中的增量数据写入拉链表中,并使拉链表中添加的增量数据的状态为开链状态,以通过拉链表存储增量
数据。
[0036]第三方面,本专利技术提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的拉链表处理方法。
[0037]第四方面,本专利技术提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的拉链表处理方法。
附图说明
[0038]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0039]图1是根据本专利技术实施例的拉链表处理方法的流程示意图;
[0040]图2是根据本专利技术实施例的另一拉链表处理方法的流程示意图;
[0041]图3是根据本专利技术实施例的又一拉链表处理方法的流程示意图;
[0042]图4是根据本专利技术实施例的再一拉链表处理方法的流程示意图;
[0043]图5是根据本专利技术实施例的拉链表处理装置的结构框图;
[0044]图6是本专利技术实施例的计算机设备的硬件结本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种拉链表处理方法,其特征在于,应用于数据仓库,所述方法包括:获取增量数据,以及利用所述增量数据创建增量表;所述增量表用于存储所述增量数据;根据所述增量表中的增量数据对当前的拉链表中存储的目标数据进行状态更新,以将处于开链状态的所述目标数据的状态更新为闭链状态;基于行级的增量拉取及插入的方式,将所述增量表中的增量数据写入所述拉链表中,并使所述拉链表中添加的增量数据的状态为开链状态,以通过所述拉链表存储所述增量数据。2.根据权利要求1所述的方法,其特征在于,所述根据所述增量表中的增量数据对当前的拉链表中存储的目标数据进行状态更新,包括:从所述增量表中的增量数据中获取第一项目编码,并从所述拉链表中存储的处于开链状态的数据中获取第二项目编码;将所述第一项目编码与所述第二项目编码进行匹配,并根据匹配的结果将与第一项目编码匹配的第二项目编码对应的数据确定为目标数据;将所述目标数据的开链状态更新为闭链状态。3.根据权利要求2所述的方法,其特征在于,所述将所述目标数据的开链状态更新为闭链状态,包括:从与所述目标数据对应的增量数据中获取目标日期;其中,所述目标日期为所述增量数据的创建日期或修改日期;将所述目标数据中的失效日期更新为所述目标日期,以将目标数据的开链状态更新为闭链状态。4.根据权利要求1所述的方法,其特征在于,所述获取增量数据,包括:按照预设频率,从所述数据源中获取所述增量数据。5.根据权利要求1所述的方法,其特征在于,所述基于行级的增量拉取及插入的方式,将所述增量表中的增量数据写入所述拉链表中,包括:按照逐行读取的方式,从所述...

【专利技术属性】
技术研发人员:卞璐璐
申请(专利权)人:新华三大数据技术有限公司
类型:发明
国别省市:

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

1