本申请提供了一种有向图的生成方法、生成装置及可读存储介质,所述生成方法包括:基于获取到的数据库脚本文件以及多个预设表达式,确定与数据库脚本文件关联的多个表格;基于每一个表格匹配的多条数据,确定多个表格之间的关联关系;基于多个表格、多个表格之间的关联关系以及数据库脚本文件,生成描述数据库脚本文件指示的表格关联关系的有向图。这样,可以根据数据库脚本文件中的数据,确定与所述数据库脚本文件关联的多个表格之间的关联关系,并生成可以描述表格之间关联关系的有向图,直观的显示出表格之间的关系,在某一表格出现延迟时,通过所述有向图快速便捷地确定出可能受影响的其余表格,节省排查时间,有助于提高表格排查的效率。
A generation method, generation device and readable storage medium of digraph
【技术实现步骤摘要】
一种有向图的生成方法、生成装置及可读存储介质
本申请涉及数据处理
,尤其是涉及一种有向图的生成方法、生成装置及可读存储介质。
技术介绍
在复杂的数据治理场景中,往往会产生大量的SQL文件,这些SQL文件的SQL记录的是多个数据库表格之间的数据处理逻辑,一般而言,在某个数据表因某种原因产生数据延迟时,需要及时的判断出该表的延迟会影响哪些SQL文件的执行以及那些数据库表的数据生成。现阶段,在出现数据表格延迟后,在确定出现数据延迟的数据表格,可能会影响到的表格时,还是依赖于对SQL逻辑的判断,这种情况下对每一个表格进行逐一排查,排查的工作量大,排查所需的时间过长,并且有可能导致判断失误,影响工作效率和准确率。
技术实现思路
有鉴于此,本申请的目的在于提供一种有向图的生成方法、生成装置及可读存储介质,可以根据数据库脚本文件中的数据,确定与所述数据库脚本文件关联的多个表格之间的关联关系,并生成可以描述表格之间关联关系的有向图,直观的显示出表格之间的关系,在某一表格出现延迟时,通过所述有向图快速便捷地确定出可能受影响的其余表格,节省排查时间,有助于提高表格排查的效率。本申请实施例提供了一种有向图的生成方法,所述生成方法包括:基于获取到的数据库脚本文件以及多个预设表达式,确定与所述数据库脚本文件关联的多个表格;基于所述数据库脚本文件中与每一个表格匹配的多条数据,确定所述多个表格之间的关联关系;基于所述多个表格、所述多个表格之间的关联关系以及所述数据库脚本文件,生成描述所述数据库脚本文件指示的表格关联关系的有向图。进一步的,所述基于获取到的数据库脚本文件以及多个预设表达式,确定与所述数据库脚本文件关联的多个表格,包括:将所述数据库脚本文件中包括的每一行数据分别与每一个预设表达式匹配;确定与所述多个预设表达式中任一预设表达式匹配成功的至少一条目标数据;基于所述至少一条目标数据指示的多个表格名称,确定与所述数据库脚本文件关联的多个表格。进一步的,通过以下步骤确定所述多个表格之间的关联关系:基于数据的构成规则解析匹配成功的每一条数据,得到解析后的多条解析数据;基于所述多条解析数据,确定所述多个表格之间的关联关系,其中,所述关联关系包括并行关系以及依赖关系中的一种。进一步的,当所述多个表格之间的关联关系包括依赖关系时,通过以下步骤生成有向图:确定所述依赖关系中对应的生成表以及依赖表;基于所述生成表、所述依赖表以及所述数据库脚本文件,生成对应的有向图,其中,在所述有向图是由生成表经由数据库脚本文件指向依赖表。进一步的,当所述多个表格之间的关联关系包括并行关系时,通过以下步骤生成有向图:确定所述多个表格中的多个并行生成表以及多个并行依赖表;在所述有向图中所述多个并行生成表位于所述数据库脚本文件的同一侧,所述多个并行依赖表位于所述数据库脚本文件与所述并行生成表相对的另一侧。本申请实施例还提供了一种有向图的生成装置,所述生成装置包括:表格确定模块,用于基于获取到的数据库脚本文件以及多个预设表达式,确定与所述数据库脚本文件关联的多个表格;关联关系确定模块,用于基于所述数据库脚本文件中与每一个表格匹配的多条数据,确定所述多个表格之间的关联关系;有向图生成模块,用于基于所述多个表格、所述多个表格之间的关联关系以及所述数据库脚本文件,生成描述所述数据库脚本文件指示的表格关联关系的有向图。进一步的,所述表格确定模块在用于基于获取到的数据库脚本文件以及多个预设表达式,确定与所述数据库脚本文件关联的多个表格时,所述表格确定模块具体用于:将所述数据库脚本文件中包括的每一行数据分别与每一个预设表达式匹配;确定与所述多个预设表达式中任一预设表达式匹配成功的至少一条目标数据;基于所述至少一条目标数据指示的多个表格名称,确定与所述数据库脚本文件关联的多个表格。进一步的,所述表格确定模块用于通过以下步骤确定所述多个表格之间的关联关系:基于数据的构成规则解析匹配成功的每一条数据,得到解析后的多条解析数据;基于所述多条解析数据,确定所述多个表格之间的关联关系,其中,所述关联关系包括并行关系以及依赖关系中的一种。进一步的,当所述多个表格之间的关联关系包括依赖关系时,所述表格确定模块用于通过以下步骤生成有向图:确定所述依赖关系中对应的生成表以及依赖表;基于所述生成表、所述依赖表以及所述数据库脚本文件,生成对应的有向图,其中,在所述有向图是由生成表经由数据库脚本文件指向依赖表。进一步的,当所述多个表格之间的关联关系包括并行关系时,所述表格确定模块用于通过以下步骤生成有向图:确定所述多个表格中的多个并行生成表以及多个并行依赖表;在所述有向图中所述多个并行生成表位于所述数据库脚本文件的同一侧,所述多个并行依赖表位于所述数据库脚本文件与所述并行生成表相对的另一侧。本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的有向图的生成方法的步骤。本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述的有向图的生成方法的步骤。本申请实施例提供的有向图的生成方法、生成装置及可读存储介质,基于获取到的数据库脚本文件以及多个预设表达式,确定与所述数据库脚本文件关联的多个表格;基于所述数据库脚本文件中与每一个表格匹配的多条数据,确定所述多个表格之间的关联关系;基于所述多个表格、所述多个表格之间的关联关系以及所述数据库脚本文件,生成描述所述数据库脚本文件指示的表格关联关系的有向图。这样,通过获取到的数据库脚本文件以及预设表达式,确定与所述数据库脚本文件关联的多个表格,并进一步地通过与每一个表格相匹配的多条数据,确定各个表格之间的关联关系,通过所述多个表格、所述多个表格之间的关联关系以及所述数据库脚本文件,生成描述所述数据库脚本文件指示的表格关联关系的有向图,可以在某一表格出现延迟时,通过所述有向图快速便捷地确定出可能受影响的其余表格,节省排查时间,有助于提高表格排查的效率。为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本申请实施例所提供的一种在该应用场景下的系统结构图;图2为本申请实施例所提供的一种有向图的生成方法的流程图本文档来自技高网...
【技术保护点】
1.一种有向图的生成方法,其特征在于,所述生成方法包括:/n基于获取到的数据库脚本文件以及多个预设表达式,确定与所述数据库脚本文件关联的多个表格;/n基于所述数据库脚本文件中与每一个表格匹配的多条数据,确定所述多个表格之间的关联关系;/n基于所述多个表格、所述多个表格之间的关联关系以及所述数据库脚本文件,生成描述所述数据库脚本文件指示的表格关联关系的有向图。/n
【技术特征摘要】
1.一种有向图的生成方法,其特征在于,所述生成方法包括:
基于获取到的数据库脚本文件以及多个预设表达式,确定与所述数据库脚本文件关联的多个表格;
基于所述数据库脚本文件中与每一个表格匹配的多条数据,确定所述多个表格之间的关联关系;
基于所述多个表格、所述多个表格之间的关联关系以及所述数据库脚本文件,生成描述所述数据库脚本文件指示的表格关联关系的有向图。
2.根据权利要求1所述的生成方法,其特征在于,所述基于获取到的数据库脚本文件以及多个预设表达式,确定与所述数据库脚本文件关联的多个表格,包括:
将所述数据库脚本文件中包括的每一行数据分别与每一个预设表达式匹配;
确定与所述多个预设表达式中任一预设表达式匹配成功的至少一条目标数据;
基于所述至少一条目标数据指示的多个表格名称,确定与所述数据库脚本文件关联的多个表格。
3.根据权利要求2所述的生成方法,其特征在于,通过以下步骤确定所述多个表格之间的关联关系:
基于数据的构成规则解析匹配成功的每一条数据,得到解析后的多条解析数据;
基于所述多条解析数据,确定所述多个表格之间的关联关系,其中,所述关联关系包括并行关系以及依赖关系中的一种。
4.根据权利要求3所述的生成方法,其特征在于,当所述多个表格之间的关联关系包括依赖关系时,通过以下步骤生成有向图:
确定所述依赖关系中对应的生成表以及依赖表;
基于所述生成表、所述依赖表以及所述数据库脚本文件,生成对应的有向图,其中,在所述有向图是由生成表经由数据库脚本文件指向依赖表。
5.根据权利要求4所述的生成方法,其特征在于,当所述多个表格之间的关联关系包括并行关系时,通过以下步骤生成有向图:
确定所述多个表格中的多个并行生成表以及多个并行依赖表;
在所述有向图中所述多个并行生成表位于所述数据库脚本文件的同一侧,所述多个并行依赖表位于所述数据库脚本文件与所述并...
【专利技术属性】
技术研发人员:程政维,李洪瑞,李克伟,
申请(专利权)人:北京明略软件系统有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。