CN110209891A - 一种拉链表生成方法、装置、设备及介质 - Google Patents
一种拉链表生成方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN110209891A CN110209891A CN201910532415.6A CN201910532415A CN110209891A CN 110209891 A CN110209891 A CN 110209891A CN 201910532415 A CN201910532415 A CN 201910532415A CN 110209891 A CN110209891 A CN 110209891A
- Authority
- CN
- China
- Prior art keywords
- data
- current
- historgraphic
- character string
- record
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种拉链表生成方法、装置、设备及介质。该方法的步骤包括:读取数据仓库中的目标数据表在历史时刻下的历史数据记录对应的历史特征值;获取目标数据表在当前时刻下与历史数据记录对应的当前数据记录;将当前数据记录中各字段的数据内容拼接为第二字符串,并对第二字符串进行Hash算法运算生成当前特征值;判断历史特征值与当前特征值是否存在差异;如果是,则生成记录有历史数据记录的拉链表。本方法相对降低了拉链表生成过程中对集群设备的运算资源的整体占用,进而确保了大数据平台的整体运行稳定性并降低了运维压力。此外,本发明还提供一种拉链表生成装置、设备及介质,有益效果同上所述。
Description
技术领域
本发明涉及数据库领域,特别是涉及一种拉链表生成方法、装置、设备及介质。
背景技术
随着大数据时代的到来,各大企业往往都需要搭建自身的大数据平台,而基于大数据平台之上的数据仓库是大数据平台下重要的应用之一。数据仓库,是为企业所有级别的决策制定过程提供所有类型数据支持的战略集合,该集合是面向主题的、集成的、时变的、非易失的。
由于在实际场景中,数据仓库的数据表内往往存储有海量条数据记录,数据表中数据记录的内容往往也会随着时间的推移而产生变化,而在对数据表的应用过程中,用户通常需要追溯之前某一时刻下数据表中的数据记录,因此就需要对不同历史时段下数据表中的数据记录进行存储。
为了避免全量存储数据表中的数据记录而对存储空间造成较大的浪费,当前往往通过拉链表的方式仅保存历史时段下数据表中发生变化的数据记录。拉链表的目的是保存数据表中数据记录从内容变化前,一直到当前状态的所有变化的信息,拉链表通常是对账户信息的历史变动内容进行保留的结果。当前生成拉链表时,往往需要获取到之前时刻的数据表与当前时刻的数据表,并比对之前时刻的数据表与当前时刻的数据表之间对应数据记录中各相应字段内的数据,进而当数据表在之前时刻与当前时刻下的某条数据记录发送内容变化时,将之前时刻下的该条数据记录保存至拉链表。由于当前在进行相邻时刻数据表之间对应数据记录的比对时,是逐个字段进行内容比对的,而在实际场景中,数据表中的数据记录所包含的字段往往较多,因此当前在进行相邻时刻数据表之间对应数据记录的比对时,需要占用集群设备大量的运算资源,难以确保大数据平台的整体运行稳定性,极易造成较大的运维压力。
由此可见,提供一种拉链表生成方法,以相对降低拉链表生成过程中对集群设备的运算资源的整体占用,进而确保大数据平台的整体运行稳定性并降低运维压力,是本领域技术人员需要解决的技术问题。
发明内容
本发明的目的是提供一种拉链表生成方法、装置、设备及介质,以相对降低拉链表生成过程中对集群设备的运算资源的整体占用,进而确保大数据平台的整体运行稳定性并降低运维压力。
为解决上述技术问题,本发明提供一种拉链表生成方法,包括:
读取数据仓库中的目标数据表在历史时刻下的历史数据记录对应的历史特征值;其中,历史特征值是通过预先将历史数据记录中各字段的数据内容拼接为第一字符串,并对第一字符串进行Hash算法运算生成的;
获取目标数据表在当前时刻下与历史数据记录对应的当前数据记录;
将当前数据记录中各字段的数据内容拼接为第二字符串,并对第二字符串进行Hash算法运算生成当前特征值;
判断历史特征值与当前特征值是否存在差异;
如果是,则生成记录有历史数据记录的拉链表。
优选的,读取数据仓库中的目标数据表在历史时刻下的历史数据记录对应的历史特征值,包括:
在预设的中间表中读取历史数据记录对应的历史特征值;其中,中间表基于目标数据表的字段增设有记录历史特征值的特征值字段。
优选的,目标数据表的字段中包含有存储数据记录生效日期的数据记录生效日期字段,拉链表包含有数据记录生效日期字段以及数据记录失效日期字段。
优选的,获取目标数据表在当前时刻下与历史数据记录对应的当前数据记录,包括:
获取目标数据表在当前时刻下与历史数据记录的主键字段内容相同的当前数据记录。
优选的,Hash算法包括MD5 Hash算法。
优选的,数据仓库包括Hive数据仓库。
优选的,第一字符串以及第二字符串的数据类型均为字符串类型。
此外,本发明还提供一种拉链表生成装置,包括:
历史特征获取模块,用于读取数据仓库中的目标数据表在历史时刻下的历史数据记录对应的历史特征值;其中,历史特征值是通过预先将历史数据记录中各字段的数据内容拼接为第一字符串,并对第一字符串进行Hash算法运算生成的;
当前数据获取模块,用于获取目标数据表在当前时刻下与历史数据记录对应的当前数据记录;
当前特征计算模块,用于将当前数据记录中各字段的数据内容拼接为第二字符串,并对第二字符串进行Hash算法运算生成当前特征值;
差异判断模块,用于判断历史特征值与当前特征值是否存在差异,如果是,则调用拉链表生成模块;
拉链表生成模块,用于生成记录有历史数据记录的拉链表。
此外,本发明还提供一种拉链表生成设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的拉链表生成方法的步骤。
此外,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的拉链表生成方法的步骤。
本发明所提供的拉链表生成方法,首先读取历史时刻下数据仓库中目标数据表的历史数据对应的历史特征值,其中,历史特征值时通过预先将历史数据记录中的各字段的数据内容拼接为第一字符串,并对第一字符串进行Hash算法运算生成的;进而获取目标数据表在当前时刻下的与该历史数据记录对应的当前数据记录,将当前数据记录中各字段的数据内容拼接为第二字符串,并对第二字符串进行相同的Hash算法运算生成当前特征值,最终判断历史特征值与当前特征值是否存在差异,如果是,则生成记录有该历史数据记录的拉链表。本方法是通过比对目标数据表整条历史数据记录进行Hash算法运算生成的历史特征值与目标数据表整条当前数据记录进行Hash算法运算生成的当前特征值之间是否存在差异的方式,实现对不同时刻下目标数据表的对应数据记录之间是否存在差异的比对,由于历史特征值与当前特征值能够代表目标数据表中的整体数据记录的数据内容,因此无需进行数据记录之间逐个字段进行内容的比对,即可通过历史特征值与当前特征值的一致性获悉数据记录是否发生变化,相对降低了拉链表生成过程中对集群设备的运算资源的整体占用,进而确保了大数据平台的整体运行稳定性并降低了运维压力。此外,本发明还提供一种拉链表生成装置、设备及介质,有益效果同上所述。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明公开的一种拉链表生成方法的流程图;
图2为本申请公开的一种拉链表生成装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了避免全量存储数据表中的数据记录而对存储空间造成较大的浪费,当前往往通过拉链表的方式仅保存历史时段下数据表中发生变化的数据记录。拉链表的目的是保存数据表中数据记录从内容变化前,一直到当前状态的所有变化的信息,拉链表通常是对账户信息的历史变动内容进行保留的结果。当前生成拉链表时,往往需要获取到之前时刻的数据表与当前时刻的数据表,并比对之前时刻的数据表与当前时刻的数据表之间对应数据记录中各相应字段内的数据,进而当数据表在之前时刻与当前时刻下的某条数据记录发送内容变化时,将之前时刻下的该条数据记录保存至拉链表。由于当前在进行相邻时刻数据表之间对应数据记录的比对时,是逐个字段进行内容比对的,而在实际场景中,数据表中的数据记录所包含的字段往往较多,因此当前在进行相邻时刻数据表之间对应数据记录的比对时,需要占用集群设备大量的运算资源,难以确保大数据平台的整体运行稳定性,极易造成较大的运维压力。
为此,本发明的核心是提供一种拉链表生成方法,以相对降低拉链表生成过程中对集群设备的运算资源的整体占用,进而确保大数据平台的整体运行稳定性并降低运维压力。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
参见图1所示,本发明实施例公开了一种拉链表生成方法,包括:
步骤S10:读取数据仓库中的目标数据表在历史时刻下的历史数据记录对应的历史特征值。
其中,历史特征值是通过预先将历史数据记录中各字段的数据内容拼接为第一字符串,并对第一字符串进行Hash算法运算生成的。
需要说明的是,本步骤是读取与历史时刻下目标数据表的历史数据记录对应的历史特征值,历史特征值预先由历史数据记录中各资源的数据内容拼接为第一字符串,并对第一字符串进行Hash算法运算生成的。
本方法中的Hash算法本质上为散列函数,是把任意数据长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值,散列函数简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。本步骤中的第一字符串为完整历史数据记录的散列值,能够表征一条完整历史数据记录,因此当历史数据记录中任何字段的数据内容发生变化时,第一字符串的内容均会随之变化。
另外,需要说明的是,本方法中的历史数据记录以及当前数据记录,在本质上均指的是数据表中的数据记录,所谓的数据记录就是数据表中的一条数据,每一条数据记录均包含有数据表预设的字段。
步骤S11:获取目标数据表在当前时刻下与历史数据记录对应的当前数据记录。
需要强调的是,由于本方法是根据目标数据表中的数据记录是否发生变化而决定是否生成该目标数据表相应的拉链表,因此进行比对的当前数据记录应与历史数据记录应为相对应的同一条数据记录,进而本步骤中获取目标数据表在当前时刻下与历史数据记录对应的当前数据记录,以用于在后续步骤中与历史数据记录进行比对。
步骤S12:将当前数据记录中各字段的数据内容拼接为第二字符串,并对第二字符串进行Hash算法运算生成当前特征值。
由于本方法的重点在于通过历史数据记录与当前数据记录之间特征值的比对以替代历史数据记录与当前数据记录各对应字段之间的比对,因此本步骤将当前数据记录中各字段的数据内容拼接为第二字符串,并对第二字符串执行与第一字符串相同的Hash算法运算生成当前特征值。
步骤S13:判断历史特征值与当前特征值是否存在差异,如果是,则执行步骤S14。
步骤S14:生成记录有历史数据记录的拉链表。
需要说明的是,由于历史特征值与当前特征值能够分别表征历史数据记录以及当前数据记录,因此通过比对历史特征值与当前特征值是否存在差异即可获悉历史数据记录以及当前数据记录是否发生数据内容的变化,进而当历史特征值与当前特征值存在差异时,则生成记录有历史数据记录的拉链表,以此记录发生变化的数据记录。
本发明所提供的拉链表生成方法,首先读取历史时刻下数据仓库中目标数据表的历史数据对应的历史特征值,其中,历史特征值时通过预先将历史数据记录中的各字段的数据内容拼接为第一字符串,并对第一字符串进行Hash算法运算生成的;进而获取目标数据表在当前时刻下的与该历史数据记录对应的当前数据记录,将当前数据记录中各字段的数据内容拼接为第二字符串,并对第二字符串进行相同的Hash算法运算生成当前特征值,最终判断历史特征值与当前特征值是否存在差异,如果是,则生成记录有该历史数据记录的拉链表。本方法是通过比对目标数据表整条历史数据记录进行Hash算法运算生成的历史特征值与目标数据表整条当前数据记录进行Hash算法运算生成的当前特征值之间是否存在差异的方式,实现对不同时刻下目标数据表的对应数据记录之间是否存在差异的比对,由于历史特征值与当前特征值能够代表目标数据表中的整体数据记录的数据内容,因此无需进行数据记录之间逐个字段进行内容的比对,即可通过历史特征值与当前特征值的一致性获悉数据记录是否发生变化,相对降低了拉链表生成过程中对集群设备的运算资源的整体占用,进而确保了大数据平台的整体运行稳定性并降低了运维压力。
在上述实施例的基础上,本发明还提供一系列优选的实施方式。
作为一种优选的实施方式,读取数据仓库中的目标数据表在历史时刻下的历史数据记录对应的历史特征值,包括:
在预设的中间表中读取历史数据记录对应的历史特征值。
其中,中间表基于目标数据表的字段增设有记录历史特征值的特征值字段。
需要说明的是,本实施方式的重点在于引入了中间表,中间表包含有目标数据表中的字段,并且在目标数据表的字段的基础上,还增设有记录历史特征值的特征值字段,特征值字段用于预先记录历史时刻下历史数据记录对应的历史特征值。由于本实施方式的中间表在记录有目标数据表在历史时刻下历史数据记录的基础上,还记录有该历史数据记录的历史特征值,并且经过运算生成并记录于中间表中的历史特征值能够被反复且高效调用,因此能够相对提高拉链表生成过程的整体效率。
此外,作为一种优选的实施方式,目标数据表的字段中包含有存储数据记录生效日期的数据记录生效日期字段,拉链表包含有数据记录生效日期字段以及数据记录失效日期字段。
需要说明的是,本实施方式的目标数据表字段中包含有存储数据记录生效日期的数据记录生效日期字段,拉链表包含有数据记录生效日期字段以及数据记录失效日期字段,目的是能够更加明确的通过目标数据表存储数据记录生效的日期,以此当目标数据表中的数据记录发生变化而产生新的数据记录生效日期时,能够根据将历史数据记录的生效日期作为拉链表中的数据记录生效日期字段的内容,并将当前数据记录的生效日期作为拉链表中的数据记录失效日期字段的内容,进而更加详细的通过拉链表存储历史数据记录曾经生效的日期区间,便于根据拉链表更加高效的对之前某一时间段内的数据表的数据记录进行追溯。
此外,作为一种优选的实施方式,获取目标数据表在当前时刻下与历史数据记录对应的当前数据记录,包括:
获取目标数据表在当前时刻下与历史数据记录的主键字段内容相同的当前数据记录。
需要说明的是,由于考虑到数据表中数据记录的主键字段能唯一的标识数据表中的每一行,通过主键字段可强制数据表的实体完整性,因此能够通过数据表的主键字段的数据内容表征其所处的数据记录,并且由于在实际应用中,数据表中主键字段的数据内容往往是不变的,因此本实施方式将历史数据记录的主键字段的数据内容作为获取当前数据记录的依据,即获取目标数据表在当前时刻下与历史数据记录的主键字段内容相同的当前数据记录,能够相对确保历史数据记录与当前数据记录之间的准确对应,进而保证拉链表的内容可靠性。
此外,作为一种优选的实施方式,Hash算法包括MD5 Hash算法。
需要说明的是,MD5 Hash算法是一种单向加密算法,可以将输入的信息加密转换为128位固定长度的散列值,用于检验数据传输过程中的完整性,输入任意长度的信息,经过处理,输出都是128位的信息值,因此能够相对确保基于MD5 Hash算法获得的历史特征值以及当前特征值都能够具有较少的字节数,相对降低历史特征值与当前特征值之间进行比较时对硬件资源所造成的整体开销。另外,MD5 Hash算法具有较快的计算速度,能够相对高效的计算得到历史特征值以及当前特征值,进一步提高了拉链表的生成效率。
此外,作为一种优选的实施方式,数据仓库包括Hive数据仓库。
Hive数据仓库是基于Hadoop大数据架构构建的数据仓库,可以简单地通过增加集群节点的方式扩展存储量级,因此能够通过数据表存储更多的数据记录,从而能够相对提高拉链表的整体实用性。
在上述一系列实施方式的基础上,作为一种优选的实施方式,第一字符串以及第二字符串的数据类型均为字符串类型。
需要说明的是,由于考虑到在实际应用场景中,数据表的数据记录中可能存在字段的数据内容为空的情况,为了保证当字段的数据内容为空时,目标数据表中的每行数据记录经过Hash算法运算生成的特征值唯一,本实施方式将目标数据表每个字段的数据内容进行字符串(String)类型转换后,进而通过在相邻字段的数据内容之间加上分隔符的方式或直接拼接的方式拼接源表中的所有字段的数据内容,以此生成第一字符串以及第二字符串,能够相对避免当对应的历史数据记录与当前数据记录发生内容变化时,第一字符串与第二字符串相同的情况发生,进而确保了拉链表的内容可靠性。
参见图2所示,本发明实施例还公开了一种拉链表生成装置,包括:
历史特征获取模块10,用于读取数据仓库中的目标数据表在历史时刻下的历史数据记录对应的历史特征值;其中,历史特征值是通过预先将历史数据记录中各字段的数据内容拼接为第一字符串,并对第一字符串进行Hash算法运算生成的;
当前数据获取模块11,用于获取目标数据表在当前时刻下与历史数据记录对应的当前数据记录;
当前特征计算模块12,用于将当前数据记录中各字段的数据内容拼接为第二字符串,并对第二字符串进行Hash算法运算生成当前特征值;
差异判断模块13,用于判断历史特征值与当前特征值是否存在差异,如果是,则调用拉链表生成模块14;
拉链表生成模块14,用于生成记录有历史数据记录的拉链表。
本发明所提供的拉链表生成装置,首先读取历史时刻下数据仓库中目标数据表的历史数据对应的历史特征值,其中,历史特征值时通过预先将历史数据记录中的各字段的数据内容拼接为第一字符串,并对第一字符串进行Hash算法运算生成的;进而获取目标数据表在当前时刻下的与该历史数据记录对应的当前数据记录,将当前数据记录中各字段的数据内容拼接为第二字符串,并对第二字符串进行相同的Hash算法运算生成当前特征值,最终判断历史特征值与当前特征值是否存在差异,如果是,则生成记录有该历史数据记录的拉链表。本装置是通过比对目标数据表整条历史数据记录进行Hash算法运算生成的历史特征值与目标数据表整条当前数据记录进行Hash算法运算生成的当前特征值之间是否存在差异的方式,实现对不同时刻下目标数据表的对应数据记录之间是否存在差异的比对,由于历史特征值与当前特征值能够代表目标数据表中的整体数据记录的数据内容,因此无需进行数据记录之间逐个字段进行内容的比对,即可通过历史特征值与当前特征值的一致性获悉数据记录是否发生变化,相对降低了拉链表生成过程中对集群设备的运算资源的整体占用,进而确保了大数据平台的整体运行稳定性并降低了运维压力。
此外,本发明实施例还提供一种拉链表生成设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的拉链表生成方法的步骤。
本发明所提供的拉链表生成设备,首先读取历史时刻下数据仓库中目标数据表的历史数据对应的历史特征值,其中,历史特征值时通过预先将历史数据记录中的各字段的数据内容拼接为第一字符串,并对第一字符串进行Hash算法运算生成的;进而获取目标数据表在当前时刻下的与该历史数据记录对应的当前数据记录,将当前数据记录中各字段的数据内容拼接为第二字符串,并对第二字符串进行相同的Hash算法运算生成当前特征值,最终判断历史特征值与当前特征值是否存在差异,如果是,则生成记录有该历史数据记录的拉链表。本设备是通过比对目标数据表整条历史数据记录进行Hash算法运算生成的历史特征值与目标数据表整条当前数据记录进行Hash算法运算生成的当前特征值之间是否存在差异的方式,实现对不同时刻下目标数据表的对应数据记录之间是否存在差异的比对,由于历史特征值与当前特征值能够代表目标数据表中的整体数据记录的数据内容,因此无需进行数据记录之间逐个字段进行内容的比对,即可通过历史特征值与当前特征值的一致性获悉数据记录是否发生变化,相对降低了拉链表生成过程中对集群设备的运算资源的整体占用,进而确保了大数据平台的整体运行稳定性并降低了运维压力。
此外,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的拉链表生成方法的步骤。
本发明所提供的计算机可读存储介质,首先读取历史时刻下数据仓库中目标数据表的历史数据对应的历史特征值,其中,历史特征值时通过预先将历史数据记录中的各字段的数据内容拼接为第一字符串,并对第一字符串进行Hash算法运算生成的;进而获取目标数据表在当前时刻下的与该历史数据记录对应的当前数据记录,将当前数据记录中各字段的数据内容拼接为第二字符串,并对第二字符串进行相同的Hash算法运算生成当前特征值,最终判断历史特征值与当前特征值是否存在差异,如果是,则生成记录有该历史数据记录的拉链表。本计算机可读存储介质是通过比对目标数据表整条历史数据记录进行Hash算法运算生成的历史特征值与目标数据表整条当前数据记录进行Hash算法运算生成的当前特征值之间是否存在差异的方式,实现对不同时刻下目标数据表的对应数据记录之间是否存在差异的比对,由于历史特征值与当前特征值能够代表目标数据表中的整体数据记录的数据内容,因此无需进行数据记录之间逐个字段进行内容的比对,即可通过历史特征值与当前特征值的一致性获悉数据记录是否发生变化,相对降低了拉链表生成过程中对集群设备的运算资源的整体占用,进而确保了大数据平台的整体运行稳定性并降低了运维压力。
以上对本发明所提供的一种拉链表生成方法、装置、设备及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种拉链表生成方法,其特征在于,包括:
读取数据仓库中的目标数据表在历史时刻下的历史数据记录对应的历史特征值;其中,所述历史特征值是通过预先将所述历史数据记录中各字段的数据内容拼接为第一字符串,并对所述第一字符串进行Hash算法运算生成的;
获取所述目标数据表在当前时刻下与所述历史数据记录对应的当前数据记录;
将所述当前数据记录中各字段的数据内容拼接为第二字符串,并对所述第二字符串进行所述Hash算法运算生成当前特征值;
判断所述历史特征值与所述当前特征值是否存在差异;
如果是,则生成记录有所述历史数据记录的拉链表。
2.根据权利要求1所述的拉链表生成方法,其特征在于,所述读取数据仓库中的目标数据表在历史时刻下的历史数据记录对应的历史特征值,包括:
在预设的中间表中读取所述历史数据记录对应的所述历史特征值;其中,所述中间表基于所述目标数据表的字段增设有记录所述历史特征值的特征值字段。
3.根据权利要求1所述的拉链表生成方法,其特征在于,所述目标数据表的字段中包含有存储数据记录生效日期的数据记录生效日期字段,所述拉链表包含有数据记录生效日期字段以及数据记录失效日期字段。
4.根据权利要求1所述的拉链表生成方法,其特征在于,所述获取所述目标数据表在当前时刻下与所述历史数据记录对应的当前数据记录,包括:
获取所述目标数据表在当前时刻下与所述历史数据记录的主键字段内容相同的所述当前数据记录。
5.根据权利要求1所述的拉链表生成方法,其特征在于,所述Hash算法包括MD5 Hash算法。
6.根据权利要求1所述的拉链表生成方法,其特征在于,所述数据仓库包括Hive数据仓库。
7.根据权利要求1至6任意一项所述的拉链表生成方法,其特征在于,所述第一字符串以及所述第二字符串的数据类型均为字符串类型。
8.一种拉链表生成装置,其特征在于,包括:
历史特征获取模块,用于读取数据仓库中的目标数据表在历史时刻下的历史数据记录对应的历史特征值;其中,所述历史特征值是通过预先将所述历史数据记录中各字段的数据内容拼接为第一字符串,并对所述第一字符串进行Hash算法运算生成的;
当前数据获取模块,用于获取所述目标数据表在当前时刻下与所述历史数据记录对应的当前数据记录;
当前特征计算模块,用于将所述当前数据记录中各字段的数据内容拼接为第二字符串,并对所述第二字符串进行所述Hash算法运算生成当前特征值;
差异判断模块,用于判断所述历史特征值与所述当前特征值是否存在差异,如果是,则调用拉链表生成模块;
所述拉链表生成模块,用于生成记录有所述历史数据记录的拉链表。
9.一种拉链表生成设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的拉链表生成方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的拉链表生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910532415.6A CN110209891A (zh) | 2019-06-19 | 2019-06-19 | 一种拉链表生成方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910532415.6A CN110209891A (zh) | 2019-06-19 | 2019-06-19 | 一种拉链表生成方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110209891A true CN110209891A (zh) | 2019-09-06 |
Family
ID=67793610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910532415.6A Pending CN110209891A (zh) | 2019-06-19 | 2019-06-19 | 一种拉链表生成方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110209891A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078672A (zh) * | 2019-12-20 | 2020-04-28 | 中国建设银行股份有限公司 | 数据库的数据对比方法及装置 |
CN111143350A (zh) * | 2019-11-27 | 2020-05-12 | 深圳壹账通智能科技有限公司 | 企业数据监控方法、装置、计算机设备及存储介质 |
CN112735144A (zh) * | 2020-12-28 | 2021-04-30 | 浙江大华技术股份有限公司 | 套牌识别方法、装置、计算机设备和存储介质 |
CN112749167A (zh) * | 2021-01-18 | 2021-05-04 | 中国邮政储蓄银行股份有限公司 | 确定断链数据的方法、装置及非易失性存储介质 |
CN112905805A (zh) * | 2021-03-05 | 2021-06-04 | 北京中经惠众科技有限公司 | 知识图谱构建方法及装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916262A (zh) * | 2010-07-29 | 2010-12-15 | 北京用友政务软件有限公司 | 一种财政要素匹配的加速方法 |
US20170026356A1 (en) * | 2015-07-22 | 2017-01-26 | Here Global B.V. | Method and apparatus for generating an intelligent primary key facilitating faster object retrieval |
CN107193985A (zh) * | 2017-05-27 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种记录数据变化历史的拉链表设计方法 |
CN109446205A (zh) * | 2017-08-28 | 2019-03-08 | 中国电信股份有限公司 | 判断数据状态的装置和方法以及数据更新的装置和方法 |
-
2019
- 2019-06-19 CN CN201910532415.6A patent/CN110209891A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916262A (zh) * | 2010-07-29 | 2010-12-15 | 北京用友政务软件有限公司 | 一种财政要素匹配的加速方法 |
US20170026356A1 (en) * | 2015-07-22 | 2017-01-26 | Here Global B.V. | Method and apparatus for generating an intelligent primary key facilitating faster object retrieval |
CN107193985A (zh) * | 2017-05-27 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种记录数据变化历史的拉链表设计方法 |
CN109446205A (zh) * | 2017-08-28 | 2019-03-08 | 中国电信股份有限公司 | 判断数据状态的装置和方法以及数据更新的装置和方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143350A (zh) * | 2019-11-27 | 2020-05-12 | 深圳壹账通智能科技有限公司 | 企业数据监控方法、装置、计算机设备及存储介质 |
CN111078672A (zh) * | 2019-12-20 | 2020-04-28 | 中国建设银行股份有限公司 | 数据库的数据对比方法及装置 |
CN111078672B (zh) * | 2019-12-20 | 2023-06-02 | 中国建设银行股份有限公司 | 数据库的数据对比方法及装置 |
CN112735144A (zh) * | 2020-12-28 | 2021-04-30 | 浙江大华技术股份有限公司 | 套牌识别方法、装置、计算机设备和存储介质 |
CN112749167A (zh) * | 2021-01-18 | 2021-05-04 | 中国邮政储蓄银行股份有限公司 | 确定断链数据的方法、装置及非易失性存储介质 |
CN112905805A (zh) * | 2021-03-05 | 2021-06-04 | 北京中经惠众科技有限公司 | 知识图谱构建方法及装置、计算机设备和存储介质 |
CN112905805B (zh) * | 2021-03-05 | 2023-09-15 | 北京中经惠众科技有限公司 | 知识图谱构建方法及装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110209891A (zh) | 一种拉链表生成方法、装置、设备及介质 | |
Bennett et al. | Malstone: towards a benchmark for analytics on large data clouds | |
CN105787128B (zh) | 一种恢复Java序列化文件数据的方法 | |
CN106682077B (zh) | 一种基于Hadoop技术的海量时序数据存储实现方法 | |
CN108595517A (zh) | 一种大规模文档相似性检测方法 | |
CN106844682A (zh) | 数据交换方法、装置及*** | |
WO2021057482A1 (zh) | 一种区块链中布隆过滤器的生成方法及装置 | |
CN106484734A (zh) | 一种数据查询缓存方法及*** | |
US11928083B2 (en) | Determining collaboration recommendations from file path information | |
CN107368404A (zh) | 一种审计管理方法及*** | |
Wu et al. | An Auxiliary Decision‐Making System for Electric Power Intelligent Customer Service Based on Hadoop | |
CN110119947B (zh) | 共享工作量证明算力生成共生区块链的方法和设备 | |
CN110134646A (zh) | 知识平台服务数据存储与集成方法及*** | |
CN103488755B (zh) | 一种文件***访问方法及设备 | |
Li et al. | Accurate Counting Bloom Filters for Large‐Scale Data Processing | |
CN112381583A (zh) | 一种基于分布式内存计算技术的电力量费计算方法及装置 | |
CN113626438B (zh) | 一种数据表管理的方法、装置、计算机设备及存储介质 | |
CN116701452A (zh) | 数据处理方法、相关设备、存储介质及程序产品 | |
TWI522827B (zh) | Real-time storage and real-time reading of huge amounts of data for non-related databases | |
He et al. | SLC-index: A scalable skip list-based index for cloud data processing | |
CN110059075A (zh) | 一种数据库迁移的方法、装置、设备及计算机可读介质 | |
He | [Retracted] Construction of Teaching Management Platform for Universities Based on Big Data | |
CN111538804A (zh) | 一种基于HBase的图数据处理方法和设备 | |
CN110245148A (zh) | 一种数据存储方法、装置、***及介质 | |
Liu et al. | Digital preservation and presentation of institution photo archives: the Anhui University Memory Project Experience |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190906 |