CN112883014A - 数据回溯方法、装置、计算机设备和存储介质 - Google Patents
数据回溯方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112883014A CN112883014A CN202110320935.8A CN202110320935A CN112883014A CN 112883014 A CN112883014 A CN 112883014A CN 202110320935 A CN202110320935 A CN 202110320935A CN 112883014 A CN112883014 A CN 112883014A
- Authority
- CN
- China
- Prior art keywords
- data table
- target
- data
- field
- updating
- 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
Images
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据回溯方法、装置、计算机设备和存储介质。所述方法包括:接收当前数据表的变更请求,根据变更请求更新当前数据表,变更请求携带对应的变更字段;根据预设映射关系,确定至少一个候选数据表,候选数据表为基于当前数据表中的至少一个字段生成的子数据表;根据预设映射关系,确定至少一个目标字段,目标字段为基于变更字段生成的字段;更新包含目标字段的候选数据表。若当前数据表发生变更,则根据预设映射关系确定依赖于当前数据表生成的候选数据表,以及依赖于变更字段生成的目标字段,将包含目标字段的候选数据表作为目标数据表,仅对目标数据表进行数据回溯,减少了数据表重跑过程中的数据任务量,提高了数据重跑效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据回溯方法、装置、计算机设备和存储介质。
背景技术
由于数据投递或业务调整,各种数据报表口径、基础数据调整频繁,对历史数据的回溯重跑已经成为正常需求,而历史数据的重跑可能涉及表与表、任务与任务之间的依赖关系,由于依赖关系复杂,数据重跑更新过程非常复杂,但现有技术中依赖关系、任务调度最低细粒度是数据表,在数据回溯过程中依照数据表与数据表之间的血缘关系,令具有血缘关系的数据表进行重跑,例如基础数据表中的某个字段发生变更,与该基础数据表具有血缘关系的下游数据表与该发生变更的字段并未存在依赖关系,由于数据表之间的血缘关系,下游数据表也需要进行重跑,以此方式增加了数据表的回溯成本。
发明内容
为了解决上述技术问题,本申请提供了一种数据回溯方法、装置、计算机设备和存储介质。
第一方面,本申请提供了一种数据回溯方法,包括:
接收当前数据表的变更请求,根据所述变更请求更新所述当前数据表,所述变更请求携带对应的变更字段;
根据预设映射关系,确定至少一个候选数据表,所述候选数据表为基于所述当前数据表中的至少一个字段生成的子数据表;
根据所述预设映射关系,确定至少一个目标字段,所述目标字段为基于所述变更字段生成的字段;
更新包含所述目标字段的目标数据表,所述目标数据表为包含所述目标字段的候选数据表。
可选地,所述更新所述包含所述目标字段的目标数据表,包括:
接收任意所述候选数据表对应的回溯请求;
判断所述回溯请求对应的候选数据表中是否包含所述目标字段;
若所述回溯请求对应的候选数据表中包含所述目标字段,则将包含所述目标字段的候选数据表作为所述目标数据表,并响应所述目标数据表对应的回溯请求,更新所述目标数据表。
可选地,所述根据所述变更请求更新所述当前数据表,包括:
获取所述当前数据表对应的历史格式文件;
在存储数据库中查找与所述历史格式文件相匹配的数据;
若在存储数据库中未查找到与所述历史格式文件相匹配的数据,则从冷备份数据库中恢复与所述历史格式文件相匹配的数据至所述存储数据库中;
根据所述变更请求更新所述存储数据库中与所述历史格式文件对应的数据。
可选地,所述更新所述目标数据表,包括:
根据所述预设映射关系确定至少一个候选数据任务,所述候选数据任务为基于所述当前数据表中至少一个字段执行计算的数据任务;
将包含所述变更字段的候选数据任务作为目标数据任务,执行所述目标数据任务,以更新所述目标数据表。
可选地,所述更新所述目标数据表之前,所述方法还包括:
根据所述预设映射关系,确定至少一个关联数据表,所述关联数据表为用于生成所述目标数据表的父数据表,所述当前数据表为任意一个所述关联数据表;
获取各个所述关联数据表的数据更新状态;
若所述目标数据表对应的所有关联数据表的数据更新状态为已完成,则更新所述目标数据表。
第二方面,本申请提供了一种数据回溯装置,包括:
数据更新模块,用于接收当前数据表的变更请求,根据所述变更请求更新所述当前数据表,所述变更请求携带对应的变更字段;
表确定模块,用于根据预设映射关系,确定至少一个候选数据表,所述候选数据表为基于所述当前数据表中的至少一个字段生成的子数据表;
字段确定模块,用于根据所述预设映射关系,确定至少一个目标字段,所述目标字段为基于所述变更字段生成的字段;
目标更新模块,用于更新包含所述目标字段的目标数据表,所述目标数据表为包含所述目标字段的候选数据表。
可选地,所述目标更新模块还用于:
接收任意所述候选数据表对应的回溯请求;
判断所述回溯请求对应的候选数据表中是否包含所述目标字段;
若所述回溯请求对应的候选数据表中包含所述目标字段,则将包含所述目标字段的候选数据表作为所述目标数据表,并响应所述目标数据表对应的回溯请求,更新所述目标数据表。
可选地,所述数据更新模块还用于:
获取所述当前数据表对应的历史格式文件;
在存储数据库中查找与所述历史格式文件相匹配的数据;
若在存储数据库中未查找到与所述历史格式文件相匹配的数据,则从冷备份数据库中恢复与所述历史格式文件相匹配的数据至所述存储数据库中;
根据所述变更请求更新所述存储数据库中与所述历史格式文件对应的数据。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收当前数据表的变更请求,根据所述变更请求更新所述当前数据表,所述变更请求携带对应的变更字段;
根据预设映射关系,确定至少一个候选数据表,所述候选数据表为基于所述当前数据表中的至少一个字段生成的子数据表;
根据所述预设映射关系,确定至少一个目标字段,所述目标字段为基于所述变更字段生成的字段;
更新包含所述目标字段的目标数据表,所述目标数据表为包含所述目标字段的候选数据表。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收当前数据表的变更请求,根据所述变更请求更新所述当前数据表,所述变更请求携带对应的变更字段;
根据预设映射关系,确定至少一个候选数据表,所述候选数据表为基于所述当前数据表中的至少一个字段生成的子数据表;
根据所述预设映射关系,确定至少一个目标字段,所述目标字段为基于所述变更字段生成的字段;
更新包含所述目标字段的目标数据表,所述目标数据表为包含所述目标字段的候选数据表。
上述数据回溯方法、装置、计算机设备和存储介质,所述方法包括:接收当前数据表的变更请求,根据所述变更请求更新所述当前数据表,所述变更请求携带对应的变更字段;根据预设映射关系,确定至少一个候选数据表,所述候选数据表为基于所述当前数据表中的至少一个字段生成的子数据表;根据所述预设映射关系,确定至少一个目标字段,所述目标字段为基于所述变更字段生成的字段;更新包含所述目标字段的目标数据表,所述目标数据表为包含所述目标字段的候选数据表。若当前数据表发生变更,则根据预设映射关系确定依赖于当前数据表生成的候选数据表,以及依赖于变更字段生成的目标字段,将包含目标字段的候选数据表作为需要数据重跑的目标数据表,仅对目标数据表进行数据回溯,未包含目标字段的候选数据表虽然依赖于当前数据表,但变更字段并未影响未包含目标字段的候选数据表,因此,未包含目标字段的数据表无需重跑进行数据回溯,减少了数据表重跑过程中的数据任务量,提高了数据重跑效率,减少了回溯成本。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中数据回溯方法的应用环境图;
图2为一个实施例中数据回溯方法的流程示意图;
图3为一个实施例中数据回溯方法的原理示意图;
图4为一个实施例中数据回溯装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为一个实施例中数据回溯方法的应用环境图。参照图1,该数据回溯方法应用于数据回溯系统。该数据回溯系统包括终端110和服务器120。终端110和服务器120通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,图2为一个实施例中一种数据回溯方法的流程示意图,参照图2,提供了一种数据回溯方法。本实施例主要以该方法应用于上述图1中的服务器120来举例说明,该数据回溯方法具体包括如下步骤:
步骤S210,接收当前数据表的变更请求,根据所述变更请求更新所述当前数据表,所述变更请求携带对应的变更字段。
具体地,当前数据表为数据库中的任意一个数据表,变更请求为用户通过终端向服务器发起修改数据表的请求,变更请求携带对应的数据表信息、变更字段和变更字段对应的变更参数,将与数据表信息相匹配的数据表作为当前数据表,变更字段具体可以为数据表的业务口径和/或基础数据等发生变更的数据字段。根据变更请求更新当前数据表,即根据变更参数更新变更字段对应的参数,得到修改后的当前数据表。
步骤S220,根据预设映射关系,确定至少一个候选数据表,所述候选数据表为基于所述当前数据表中的至少一个字段生成的子数据表。
具体地,预设映射关系包括不同数据表之间的依赖关系和不同数据字段之间的依赖关系,根据不同数据表之间的依赖关系确定与当前数据表有依赖关系的数据表,与当前数据表有依赖关系的数据表包括上游数据表和下游数据表,上游数据表中至少一个字段参与生成当前数据表,即上游数据表为用于生成当前数据表的父数据表,下游数据表为上述候选数据表,下游数据表为基于当前数据表中至少一个字段生成的子数据表,即候选数据表依赖于当前数据表中的数据字段生成。
步骤S230,根据所述预设映射关系,确定至少一个目标字段,所述目标字段为基于所述变更字段生成的字段。
具体地,根据预设映射关系中不同数据字段之间的依赖关系,确定与变更字段有依赖关系的数据字段,与变更字段有依赖关系的数据字段包括上游字段和下游字段,上游字段用于参与生成变更字段,即上游字段会影响变更字段的生成,下游字段为基于变更字段计算生成的字段,即下游字段受变更字段影响,此处,变更字段对应的下游字段即为上述目标字段。
步骤S240,更新包含所述目标字段的目标数据表,所述目标数据表为包含所述目标字段的候选数据表。
在本实施例中,可依照变更请求自动发起数据回溯更新过程,将包含目标字段的候选数据表作为目标数据表,更新目标数据表,也就是根据变更字段更新目标数据表中的目标字段,以此完成目标数据表的数据重跑回溯过程,再将目标数据表作为新的当前数据表,将目标数据表中发生变更的数据字段作为新的变更字段,重新执行步骤S220,以此将所有与变更字段相关联的数据表进行数据重跑,直至数据重跑至截止数据表,截止数据表为不被依赖的数据表,即截止数据表没有下游数据表,或者,截止数据表的下游数据表中不存在基于截止数据表中的变更字段生成的数据字段。
按照字段级别确定待回溯的数据表,仅对包含目标字段的目标数据表进行数据回溯,未包含目标字段的候选数据表虽然依赖于当前数据表,但变更字段并未影响未包含目标字段的候选数据表,因此,未包含目标字段的数据表无需重跑进行数据回溯,相对于按照数据表级别确定待回溯的数据表,减少了数据表重跑过程中的数据任务量,减少了回溯成本,提高了数据重跑效率。
在一个实施例中,所述更新所述包含所述目标字段的目标数据表,包括:接收任意所述候选数据表对应的回溯请求;判断所述回溯请求对应的候选数据表中是否包含所述目标字段;若所述回溯请求对应的候选数据表中包含所述目标字段,则将包含所述目标字段的候选数据表作为所述目标数据表,并响应所述目标数据表对应的回溯请求,更新所述目标数据表。
在本实施例中,在接收到变更请求的情况下,还需要接收到候选数据表的回溯请求,才会进行数据回溯过程,回溯请求为候选数据表需要进行数据回溯的请求,但候选数据表为依赖于当前数据表的数据表,有的候选数据表中不存在与变更字段有依赖关系的目标字段,有的候选数据表中存在目标字段,并非所有候选数据表的回溯请求都要响应,需要判断回溯请求对应的候选数据表中是否包含目标字段,若候选数据表中不包含目标字段,则拒绝响应回溯请求,由于不包含目标字段的候选数据表不受变更字段的变化而受影响,即使响应回溯请求对该不包含目标字段的候选数据表进行数据回溯,其进行数据回溯后的结果与不进行数据回溯的结果并未区别,反而浪费了数据处理资源。若候选数据表中包含目标字段,则响应回溯请求,根据变更字段更新候选数据表中的目标字段。
在一个实施例中,所述根据所述变更请求更新所述当前数据表,包括:获取所述当前数据表对应的历史格式文件;在存储数据库中查找与所述历史格式文件相匹配的数据;若在存储数据库中未查找到与所述历史格式文件相匹配的数据,则从冷备份数据库中恢复与所述历史格式文件相匹配的数据至所述存储数据库中;根据所述变更请求更新所述存储数据库中与所述历史格式文件对应的数据。
具体地,历史格式文件为当前数据表上一次执行数据任务生成的done文件,存储数据库用于存储数据表以及数据表中的数据,由于存储数据库的容量有限,需要定期清理存储数据库中的历史数据,便于继续存储更新后的数据,但在清理存储数据库中的数据之前,会将数据冷备份至冷备份数据库中,在存储数据库中查找与历史格式文件相匹配的数据,若存储数据库未查找到与历史格式文件相匹配的数据,表示与历史格式文件相匹配的数据已被清理,则需要从冷备份数据库中恢复与所述历史格式文件相匹配的数据至所述存储数据库中,再根据所述变更请求更新所述存储数据库中与所述历史格式文件对应的数据。
在一个实施例中,所述更新所述目标数据表,包括:根据所述预设映射关系确定至少一个候选数据任务,所述候选数据任务为基于所述当前数据表中至少一个字段执行计算的数据任务;将包含所述变更字段的候选数据任务作为目标数据任务,执行所述目标数据任务,以更新所述目标数据表。
具体地,预设映射关系还包括数据表、字段和数据任务之间的关联关系,根据数据表、字段和数据任务之间的关系确定候选数据任务,候选数据任务为基于当前数据表中至少一个字段执行计算的数据任务,当前数据表可通过执行不同的候选数据任务生成目标数据表的部分数据,但有的候选数据任务中未包含变更字段,即未包含变更字段的候选数据任务执行时无需利用变更字段参与计算,若执行未包含变更字段的候选数据任务,则无法对目标数据表中的数据进行更新,即执行候选数据任务前后目标数据表中的数据并未发生变化,浪费数据处理资源。将包含变更字段的候选数据任务作为目标数据任务,执行包含变更字段的候选数据任务,即根据变更字段进行数据回溯得到更新后的目标数据表。
例如,参照图3,其中,A、B、C、D、E、F、G、H分别对应一个数据表,R1、R2、R3、R4分别对应一个数据任务,令当前数据表为A表[A1,A2,A3],其中A1、A2、A3为数据字段,A表的下游数据表包括B表[B1,B2]和C表[C1,C2,C3,C4],B1依赖于A1,C1依赖于A1,C2依赖于A2,C3依赖于A3,当A表中的A2发生变更后,即A2为变更字段,则根据与A2具有依赖关系的数据字段确定需要重跑的下游数据表,即将C表作为需要重跑的下游数据表,但重跑C表对应多个数据任务,例如R2数据任务中包含C2依赖于A2的依赖关系,则将R2作为目标数据任务,仅根据变更字段A2重跑R2目标数据任务,无需重跑其他数据字段对应的数据任务,即无需重跑R1和R3,减少了数据表重跑过程中的数据任务量,提高了数据表的重跑效率,当R2数据任务执行完成时,则生成更新后的C表,再将C表作为当前数据表,根据字段血缘关系树确定C表对应的下游数据表和数据任务,执行对应的数据任务R4,从而得到目标数据表G和H。
在一个实施例中,所述更新所述目标数据表之前,所述方法还包括:根据所述预设映射关系,确定至少一个关联数据表,所述关联数据表为用于生成所述目标数据表的父数据表,所述当前数据表为任意一个所述关联数据表;获取各个所述关联数据表的数据更新状态;若所述目标数据表对应的所有关联数据表的数据更新状态为已完成,则更新所述目标数据表。
具体地,数据任务包括检测节点、计算节点和文件生成节点等任务节点,执行目标数据任务,检测节点首先根据预设映射关系确定至少一个当前数据表的上游数据表,即上述关联数据表,检测节点还用于检测当前数据表对应的所有上游数据表的数据更新状态,即检测目标数据任务中各个数据字段对应的上游数据表数据是否更新结束,当前数据表为目标数据表的上游数据表,当目标数据任务中数据字段对应的上游数据表更新结束时,上游数据表的数据更新状态为已结束;当目标数据任务中数据字段对应的上游数据表未更新结束时,上游数据表的数据更新状态为未结束。
若目标数据任务中所有数据字段对应的上游数据表的数据更新状态均为已结束,则开始根据变更字段执行计算节点对应的任务,即根据变更字段进行数据重跑更新目标数据表,当目标数据表更新结束时,执行文件生成节点对应的任务,生成格式文件,即生成done文件,表示目标数据任务执行结束,若目标数据表对应的多个需要重跑的目标数据任务都执行完成时,得到数据更新完成的目标数据表,此时目标数据表的数据更新状态为已结束。例如,当前数据表中仅包括两个变更字段,每个变更字段分别对应一个数据任务,当两个数据任务均执行完成时,得到数据更新完成的目标数据表。
若未接收回溯请求,而是按照变更请求自动执行数据回溯,则将数据回溯后的目标数据表作为新的当前数据表,将目标数据表中发生变更的数据字段作为新的变更字段,重新执行根据预设映射关系,确定候选数据表和目标字段的步骤,以相同的方式遍历不同层级的数据表,直至数据更新至截止数据表。
在一个实施例中,当所述目标数据任务对应的各个所述关联数据表的数据更新状态中存在未结束的数据更新状态时,执行所述获取各个所述关联数据表的数据更新状态的步骤。
具体地,若目标数据任务对应的各个关联数据表存在未结束的数据更新状态,表示目标数据表中的数据字段对应的上游数据表未更新结束,由于目标数据任务依赖于上游数据表,则无法执行目标数据任务中计算节点对应的任务,亦无法根据数据更新未结束的上游数据表计算更新下游数据表,继续执行获取各个所述关联数据表的数据更新状态的步骤,等待目标数据任务中所有数据字段对应的上游数据表的数据更新状态为已结束时,再执行目标数据任务中计算节点对应的任务。
在一个实施例中,所述获取所述当前数据表对应的历史格式文件之前,所述方法还包括:获取多个样本数据表,所述样本数据表包括至少一个数据字段;分析各个所述样本数据表中的数据字段之间的关联关系,得到所述预设映射关系。
具体地,通过血缘关系分析器分析各个样本数据表中各个数据字段之间的关联关系,得到不同样本数据表之间的依赖关系和不同数据字段之间的依赖关系。不同样本数据表之间的依赖关系具体可以为数据表血缘关系树,不同数据字段之间的依赖关系具体可以为字段血缘关系树。根据字段血缘关系树和数据表血缘关系树进行数据表的数据回溯,减少了数据回溯过程中的数据任务量,从而提高了数据回溯效率。
在一个实施例中,所述分析各个所述样本数据表中的数据字段之间的关联关系,得到所述字段血缘关系树,包括:根据各个所述样本数据表的数据信息,确定对应的语法树;根据各个所述语法树分析各个所述样本数据表中的数据字段之间的关联关系,得到所述字段血缘关系树。
具体地,数据信息包括数据表的数据格式、数据库引擎等,根据数据表的数据库引擎确定对应的语法树,数据库引擎包括但不仅限于Hive、Impala、Spark SQL、Drill、HAWQ、Presto、Calcite、Kylin、Phoenix、Tajo和Trafodion。语法树包括抽象语法树(abstractsyntax code,AST)或具体语法树(Concrete Syntax Tree,CST)等,本实施例中根据AST分析各个数据字段之间的关联关系,从而得到所述字段血缘关系树。
在一个实施例中,所述得到所述字段血缘关系树之后,所述方法还包括:接收关系配置指令;根据所述关系配置指令更新所述字段血缘关系树,得到更新后的字段血缘关系树。
具体地,关系配置指令为用户通过终端对字段血缘关系树的修改指令,关系配置指令具体包括对数据字段的修改指令和/或对各个数据字段之间依赖关系的修改指令,对数据字段的修改指令包括删除、新增、变更等操作指令。根据关系配置指令更新字段血缘关系树,从而实现人工配置字段血缘关系树,得到更新后的字段血缘关系树,再根据更新后的字段血缘关系树执行步骤S220的内容。
图2为一个实施例中数据回溯方法的流程示意图。应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种数据回溯装置,包括:
数据更新模块310,用于接收当前数据表的变更请求,根据所述变更请求更新所述当前数据表,所述变更请求携带对应的变更字段;
表确定模块320,用于根据预设映射关系,确定至少一个候选数据表,所述候选数据表为基于所述当前数据表中的至少一个字段生成的子数据表;
字段确定模块330,用于根据所述预设映射关系,确定至少一个目标字段,所述目标字段为基于所述变更字段生成的字段;
目标更新模块340,用于更新包含所述目标字段的目标数据表,所述目标数据表为包含所述目标字段的候选数据表。
在一个实施例中,所述目标更新模块340还用于:
接收任意所述候选数据表对应的回溯请求;
判断所述回溯请求对应的候选数据表中是否包含所述目标字段;
若所述回溯请求对应的候选数据表中包含所述目标字段,则将包含所述目标字段的候选数据表作为所述目标数据表,并响应所述目标数据表对应的回溯请求,更新所述目标数据表。
在一个实施例中,所述数据更新模块310还用于:
获取所述当前数据表对应的历史格式文件;
在存储数据库中查找与所述历史格式文件相匹配的数据;
若在存储数据库中未查找到与所述历史格式文件相匹配的数据,则从冷备份数据库中恢复与所述历史格式文件相匹配的数据至所述存储数据库中;
根据所述变更请求更新所述存储数据库中与所述历史格式文件对应的数据。
在一个实施例中,所述目标更新模块340还用于:
根据所述预设映射关系确定至少一个候选数据任务,所述候选数据任务为基于所述当前数据表中至少一个字段执行计算的数据任务;
将包含所述变更字段的候选数据任务作为目标数据任务,执行所述目标数据任务,以更新所述目标数据表。
在一个实施例中,所述更新所述目标数据表之前,所述装置还包括状态监测模块,所述状态监测模块用于:
根据所述预设映射关系,确定至少一个关联数据表,所述关联数据表为用于生成所述目标数据表的父数据表,所述当前数据表为任意一个所述关联数据表;
获取各个所述关联数据表的数据更新状态;
若所述目标数据表对应的所有关联数据表的数据更新状态为已完成,则更新所述目标数据表。
在一个实施例中,所述装置还包括关系训练模块,所述关系训练模块用于:
获取多个样本数据表,所述样本数据表包括至少一个数据字段;
分析各个所述样本数据表中的数据字段之间的关联关系,得到所述字段血缘关系树。
在一个实施例中,所述关系训练模块还用于:
根据各个所述样本数据表的数据信息,确定对应的语法树;
根据各个所述语法树分析各个所述样本数据表中的数据字段之间的关联关系,得到所述字段血缘关系树。
在一个实施例中,所述装置还包括配置模块,所述配置模块用于:
接收关系配置指令;
根据所述关系配置指令更新所述字段血缘关系树,得到更新后的字段血缘关系树。
图5示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的服务器120。如图5所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现数据回溯方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行数据回溯方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的数据回溯装置可以实现为一种计算机程序的形式,计算机程序可在如图5所示的计算机设备上运行。计算机设备的存储器中可存储组成该数据回溯装置的各个程序模块,比如,图4所示的数据更新模块310、表确定模块320、字段确定模块330和目标更新模块340。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的数据回溯方法中的步骤。
图5所示的计算机设备可以通过如图4所示的数据回溯装置中的数据更新模块310执行接收当前数据表的变更请求,根据所述变更请求更新所述当前数据表,所述变更请求携带对应的变更字段。计算机设备可通过表确定模块320执行根据预设映射关系,确定至少一个候选数据表,所述候选数据表为基于所述当前数据表中的至少一个字段生成的子数据表。计算机设备可通过字段确定模块330执行根据所述预设映射关系,确定至少一个目标字段,所述目标字段为基于所述变更字段生成的字段。计算机设备可通过目标更新模块340执行更新包含所述目标字段的目标数据表,所述目标数据表为包含所述目标字段的候选数据表。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一项实施例所述的方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项实施例所述的方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指示相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据回溯方法,其特征在于,所述方法包括:
接收当前数据表的变更请求,根据所述变更请求更新所述当前数据表,所述变更请求携带对应的变更字段;
根据预设映射关系,确定至少一个候选数据表,所述候选数据表为基于所述当前数据表中的至少一个字段生成的子数据表;
根据所述预设映射关系,确定至少一个目标字段,所述目标字段为基于所述变更字段生成的字段;
更新包含所述目标字段的目标数据表,所述目标数据表为包含所述目标字段的候选数据表。
2.根据权利要求1所述的方法,其特征在于,所述更新所述包含所述目标字段的目标数据表,包括:
接收任意所述候选数据表对应的回溯请求;
判断所述回溯请求对应的候选数据表中是否包含所述目标字段;
若所述回溯请求对应的候选数据表中包含所述目标字段,则将包含所述目标字段的候选数据表作为所述目标数据表,并响应所述目标数据表对应的回溯请求,更新所述目标数据表。
3.根据权利要求1所述的方法,其特征在于,所述根据所述变更请求更新所述当前数据表,包括:
获取所述当前数据表对应的历史格式文件;
在存储数据库中查找与所述历史格式文件相匹配的数据;
若在存储数据库中未查找到与所述历史格式文件相匹配的数据,则从冷备份数据库中恢复与所述历史格式文件相匹配的数据至所述存储数据库中;
根据所述变更请求更新所述存储数据库中与所述历史格式文件对应的数据。
4.根据权利要求1所述的方法,其特征在于,所述更新所述目标数据表,包括:
根据所述预设映射关系确定至少一个候选数据任务,所述候选数据任务为基于所述当前数据表中至少一个字段执行计算的数据任务;
将包含所述变更字段的候选数据任务作为目标数据任务,执行所述目标数据任务,以更新所述目标数据表。
5.根据权利要求1所述的方法,其特征在于,所述更新所述目标数据表之前,所述方法还包括:
根据所述预设映射关系,确定至少一个关联数据表,所述关联数据表为用于生成所述目标数据表的父数据表,所述当前数据表为任意一个所述关联数据表;
获取各个所述关联数据表的数据更新状态;
若所述目标数据表对应的所有关联数据表的数据更新状态为已完成,则更新所述目标数据表。
6.一种数据回溯装置,其特征在于,所述装置包括:
数据更新模块,用于接收当前数据表的变更请求,根据所述变更请求更新所述当前数据表,所述变更请求携带对应的变更字段;
表确定模块,用于根据预设映射关系,确定至少一个候选数据表,所述候选数据表为基于所述当前数据表中的至少一个字段生成的子数据表;
字段确定模块,用于根据所述预设映射关系,确定至少一个目标字段,所述目标字段为基于所述变更字段生成的字段;
目标更新模块,用于更新包含所述目标字段的目标数据表,所述目标数据表为包含所述目标字段的候选数据表。
7.根据权利要求6所述的装置,其特征在于,所述目标更新模块还用于:
接收任意所述候选数据表对应的回溯请求;
判断所述回溯请求对应的候选数据表中是否包含所述目标字段;
若所述回溯请求对应的候选数据表中包含所述目标字段,则将包含所述目标字段的候选数据表作为所述目标数据表,并响应所述目标数据表对应的回溯请求,更新所述目标数据表。
8.根据权利要求6所述的装置,其特征在于,所述数据更新模块还用于:
获取所述当前数据表对应的历史格式文件;
在存储数据库中查找与所述历史格式文件相匹配的数据;
若在存储数据库中未查找到与所述历史格式文件相匹配的数据,则从冷备份数据库中恢复与所述历史格式文件相匹配的数据至所述存储数据库中;
根据所述变更请求更新所述存储数据库中与所述历史格式文件对应的数据。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110320935.8A CN112883014A (zh) | 2021-03-25 | 2021-03-25 | 数据回溯方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110320935.8A CN112883014A (zh) | 2021-03-25 | 2021-03-25 | 数据回溯方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112883014A true CN112883014A (zh) | 2021-06-01 |
Family
ID=76042331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110320935.8A Pending CN112883014A (zh) | 2021-03-25 | 2021-03-25 | 数据回溯方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112883014A (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829727A (zh) * | 2018-05-09 | 2018-11-16 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
CN109471857A (zh) * | 2018-09-25 | 2019-03-15 | 中国平安人寿保险股份有限公司 | 基于sql语句的数据修改方法、装置及存储介质 |
US20190188091A1 (en) * | 2017-12-15 | 2019-06-20 | Microsoft Technology Licensing, Llc | Write-ahead style logging in a persistent memory device |
CN110008231A (zh) * | 2019-03-19 | 2019-07-12 | 福建省天奕网络科技有限公司 | MySQL数据回溯方法、存储介质 |
CN110083639A (zh) * | 2019-04-25 | 2019-08-02 | 中电科嘉兴新型智慧城市科技发展有限公司 | 一种基于聚类分析的数据血缘智能溯源的方法及装置 |
CN110399359A (zh) * | 2019-07-24 | 2019-11-01 | 阿里巴巴集团控股有限公司 | 一种数据回溯方法、装置及设备 |
CN110458712A (zh) * | 2019-07-05 | 2019-11-15 | 中国平安财产保险股份有限公司 | 偿付能力的压力测试方法、装置、设备及存储介质 |
CN110609954A (zh) * | 2019-08-30 | 2019-12-24 | 深圳壹账通智能科技有限公司 | 数据获取方法、装置、计算机设备和存储介质 |
CN110889286A (zh) * | 2019-10-12 | 2020-03-17 | 平安科技(深圳)有限公司 | 基于数据表的依赖关系识别方法、装置和计算机设备 |
CN111400305A (zh) * | 2020-02-20 | 2020-07-10 | 深圳市魔数智擎人工智能有限公司 | 基于特征工程血缘关系的可回溯、可视化方法 |
US20200226011A1 (en) * | 2019-01-14 | 2020-07-16 | Fast River Technologies Inc. | Policy-based distributed transactional processing in a distributed system |
CN111444253A (zh) * | 2020-03-26 | 2020-07-24 | 深圳壹账通智能科技有限公司 | 数据导入方法、装置、计算机可读存储介质和计算机设备 |
CN111462845A (zh) * | 2020-03-17 | 2020-07-28 | 平安国际智慧城市科技股份有限公司 | 动态表单生成方法、装置、计算机设备和存储介质 |
CN112527796A (zh) * | 2020-12-10 | 2021-03-19 | 中移(杭州)信息技术有限公司 | 数据表处理方法、装置及计算机可读存储介质 |
-
2021
- 2021-03-25 CN CN202110320935.8A patent/CN112883014A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190188091A1 (en) * | 2017-12-15 | 2019-06-20 | Microsoft Technology Licensing, Llc | Write-ahead style logging in a persistent memory device |
CN108829727A (zh) * | 2018-05-09 | 2018-11-16 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
CN109471857A (zh) * | 2018-09-25 | 2019-03-15 | 中国平安人寿保险股份有限公司 | 基于sql语句的数据修改方法、装置及存储介质 |
US20200226011A1 (en) * | 2019-01-14 | 2020-07-16 | Fast River Technologies Inc. | Policy-based distributed transactional processing in a distributed system |
CN110008231A (zh) * | 2019-03-19 | 2019-07-12 | 福建省天奕网络科技有限公司 | MySQL数据回溯方法、存储介质 |
CN110083639A (zh) * | 2019-04-25 | 2019-08-02 | 中电科嘉兴新型智慧城市科技发展有限公司 | 一种基于聚类分析的数据血缘智能溯源的方法及装置 |
CN110458712A (zh) * | 2019-07-05 | 2019-11-15 | 中国平安财产保险股份有限公司 | 偿付能力的压力测试方法、装置、设备及存储介质 |
CN110399359A (zh) * | 2019-07-24 | 2019-11-01 | 阿里巴巴集团控股有限公司 | 一种数据回溯方法、装置及设备 |
CN110609954A (zh) * | 2019-08-30 | 2019-12-24 | 深圳壹账通智能科技有限公司 | 数据获取方法、装置、计算机设备和存储介质 |
CN110889286A (zh) * | 2019-10-12 | 2020-03-17 | 平安科技(深圳)有限公司 | 基于数据表的依赖关系识别方法、装置和计算机设备 |
CN111400305A (zh) * | 2020-02-20 | 2020-07-10 | 深圳市魔数智擎人工智能有限公司 | 基于特征工程血缘关系的可回溯、可视化方法 |
CN111462845A (zh) * | 2020-03-17 | 2020-07-28 | 平安国际智慧城市科技股份有限公司 | 动态表单生成方法、装置、计算机设备和存储介质 |
CN111444253A (zh) * | 2020-03-26 | 2020-07-24 | 深圳壹账通智能科技有限公司 | 数据导入方法、装置、计算机可读存储介质和计算机设备 |
CN112527796A (zh) * | 2020-12-10 | 2021-03-19 | 中移(杭州)信息技术有限公司 | 数据表处理方法、装置及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9417985B2 (en) | Distributed analysis and attribution of source code | |
US9280331B2 (en) | Hash-based change tracking for software make tools | |
US7707136B2 (en) | System and method for providing high availability data | |
US8719271B2 (en) | Accelerating data profiling process | |
CN109885786B (zh) | 数据缓存处理方法、装置、电子设备及可读存储介质 | |
CN113127347B (zh) | 一种接口测试方法、装置、设备及可读存储介质 | |
CN111190753B (zh) | 分布式任务处理方法、装置、存储介质和计算机设备 | |
CN108415998B (zh) | 应用依赖关系更新方法、终端、设备及存储介质 | |
CN113448862B (zh) | 软件版本测试方法、装置及计算机设备 | |
CN104035938A (zh) | 一种性能持续集成数据处理的方法及装置 | |
Lee et al. | Patch reviewer recommendation in oss projects | |
CN111881477A (zh) | 数据内容的标引方法、装置、计算机设备及存储介质 | |
CN111367529A (zh) | 代码贡献统计方法及装置 | |
US12093686B2 (en) | Code maintenance system | |
CN111162946A (zh) | 构建模型推理网络的方法、数据处理方法、装置和存储介质 | |
CN112883014A (zh) | 数据回溯方法、装置、计算机设备和存储介质 | |
US11907106B2 (en) | Code integration with time-variant test failure detection | |
US20160004982A1 (en) | Method and system for estimating the progress and completion of a project based on a bayesian network | |
US11809862B2 (en) | Related change analysis of multiple version control systems | |
CN115203260A (zh) | 一种异常数据确定方法、装置、电子设备及存储介质 | |
CN111061875B (zh) | 超参数确定方法、装置、计算机设备和存储介质 | |
CN114327673A (zh) | 一种任务启动方法、装置、电子设备及存储介质 | |
CN112181831A (zh) | 基于关键词的脚本性能校验方法、装置、设备及存储介质 | |
CN112100186A (zh) | 基于分布式系统的数据处理方法、装置、计算机设备 | |
CN111814001A (zh) | 反馈信息的方法和装置 |
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 |