System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及大数据,具体涉及一种数据血缘关系的分析方法、大数据平台、设备及存储介质。
技术介绍
1、数据的血缘关系指的是数据元素之间的关联或联系,显示了数据之间的源头、传递路径和依赖关系。这种关系描述了数据如何从一个数据元素到另一个数据元素,跟踪数据的来源和流向,以及不同数据之间的影响与连接。
2、在数据计算平台中,对数据的血缘关系通常通过静态代码分析或动态监听来实现。然而,由于数据编程语言种类繁多,使用静态代码分析解析数据的血缘关系需要为每种语言开发专门的解析程序,增加了开发和维护成本。此外,数据编程语言的复杂性和代码结构的多样性也使得静态代码分析的结果可能存在误差,降低了分析的准确性和可靠性。
3、对于动态监听方法,首先其嵌入到数据计算平台中会影响平台运行的稳定性,因为需要额外的资源和时间来执行监听操作,可能导致系统负载增加,进而影响平台和作业的稳定性。其次,动态监听消耗大量计算资源,因为需要实时监控应用程序执行过程,这可能导致系统性能下降、响应时间延长,尤其在大规模作业或高负荷情况下,对计算资源需求更为显著,对数据计算平台带来压力。
4、因此,如何提供一种低成本且准确可靠的数据血缘关系的分析方法,同时不影响数据计算平台的稳定运行,是本领域技术人员急需解决的技术问题。
技术实现思路
1、基于上述问题,本申请提供了一种数据血缘关系的分析方法、大数据平台、设备及存储介质,可以提供一种低成本且准确可靠的数据血缘关系的分析方法,同时不影响数据计算平台的
2、本申请实施例公开了如下技术方案:
3、一种数据血缘关系的分析方法,应用于大数据平台,所述方法包括:
4、提取目标日志的所有事件,基于各个事件的会话标识符将具有相同所述会话标识符的事件划分至同一会话分组;会话分组内的所述各个事件是按照事件执行时间的先后顺序排序的;
5、将事件类型为数据访问事件的事件确定为第一目标事件,并为所述第一目标事件构建写入集合和读取集合;所述事件类型包括所述数据访问事件和指定数据库事件;事件的所述事件类型是根据事件的逻辑执行计划确定的;所述数据访问事件包括读取步骤和/或写入步骤;所述指定数据库事件包括指定数据库步骤;所述写入集合包括多个写入数据对;所述写入数据对包括写入命令名称和该写入命令名称对应的写入命令数据库名称;所述读取集合多个读取数据对;所述读取数据对包括读取命令名称和该读取命令名称对应的读取命令数据库名称;
6、将存在所述写入命令数据库名称为空和/或所述读取命令数据库名称为空的所述第一目标事件确定为待补全事件,将不存在所述写入命令数据库名称为空和/或所述读取命令数据库名称为空的所述第一目标事件确定为完整事件;
7、基于与所述待补全事件对应的指定数据库事件对所述待补全事件进行数据库名称补全得到补全事件,并将所述补全事件确定为所述完整事件;与所述待补全事件对应的指定数据库事件与所述待补全事件在同一会话分组中;
8、分别将各个所述完整事件的所述写入集合与所述读取集合做笛卡尔积,得到所述目标日志的数据血缘关系。
9、其中,在构建所述写入集合过程中,若所述写入命令名称不存在对应的写入命令数据库名称,则将所述写入命令名称对应的写入命令数据库名称设置为空;在构建所述读取集合过程中,若所述读取命令名称不存在对应的读取命令数据库名称,则将所述读取命令名称对应的读取命令数据库名称设置为空。
10、在一种可能的实现方式中,所述为所述第一目标事件构建写入集合和读取集合,包括:
11、确定所述第一目标事件包括的步骤;
12、若所述第一目标事件包括所述写入步骤,则获取所述写入步骤对应的多个写入命令;获取各个写入命令的写入命令名称和该写入命令名称对应的写入命令数据库名称;基于各个写入命令名称和该写入命令名称对应的写入命令数据库名称构建所述写入集合;
13、若所述第一目标事件包括所述读取步骤,则获取所述读取步骤对应的多个读取命令;获取各个读取命令的读取命令名称和该读取命令名称对应的读取命令数据库名称;基于各个读取命令名称和该读取命令名称对应的读取命令数据库名称构建所述读取集合。
14、在一种可能的实现方式中,所述方法还包括:
15、若所述第一目标事件不包括所述写入步骤,则将写入命令的写入命令名称和该写入命令名称对应的写入命令数据库名称均设置为空,并基于各个写入命令名称和该写入命令名称对应的写入命令数据库名称构建所述写入集合;
16、若所述第一目标事件不包括所述读取步骤,则将读取命令的读取命令名称和该读取命令名称对应的读取命令数据库名称均设置为空,并基于各个读取命令名称和该读取命令名称对应的读取命令数据库名称构建所述读取集合。
17、在一种可能的实现方式中,所述基于与所述待补全事件对应的指定数据库事件对所述待补全事件进行数据库名称补全得到补全事件,包括:
18、从所述待补全事件所在的会话分组中,确定所述事件执行时间早于所述待补全事件的所述指定数据库事件作为第二目标事件;
19、从多个所述第二目标事件中选取距离所述待补全事件时间最近的所述第二目标事件作为第三目标事件;
20、利用所述第三目标事件的指定数据库名称对所述待补全事件进行数据库名称补全得到所述补全事件。
21、在一种可能的实现方式中,所述待补全事件的所述写入命令名称和所述读取命令名称均有具体的字符,不为空。
22、一种大数据平台,所述大数据平台包括:
23、事件提取单元,用于提取目标日志的所有事件;
24、划分单元,用于基于各个事件的会话标识符将具有相同所述会话标识符的事件划分至同一会话分组;会话分组内的所述各个事件是按照事件执行时间的先后顺序排序的;
25、第一确定单元,用于将事件类型为数据访问事件的事件确定为第一目标事件;
26、构建单元,用于为所述第一目标事件构建写入集合和读取集合;所述事件类型包括所述数据访问事件和指定数据库事件;事件的所述事件类型是根据事件的逻辑执行计划确定的;所述数据访问事件包括读取步骤和/或写入步骤;所述指定数据库事件包括指定数据库步骤;所述写入集合包括多个写入数据对;所述写入数据对包括写入命令名称和该写入命令名称对应的写入命令数据库名称;所述读取集合多个读取数据对;所述读取数据对包括读取命令名称和该读取命令名称对应的读取命令数据库名称;
27、第二确定单元,用于将存在所述写入命令数据库名称为空和/或所述读取命令数据库名称为空的所述第一目标事件确定为待补全事件,将不存在所述写入命令数据库名称为空和/或所述读取命令数据库名称为空的所述第一目标事件确定为完整事件;
28、第一补全单元,用于基于与所述待补全事件对应的指定数据库事件对所述待补全事件进行数据库名称补全得到补全事件;与所述待补全事件对应的指定数据库事件与所述待本文档来自技高网...
【技术保护点】
1.一种数据血缘关系的分析方法,其特征在于,应用于大数据平台,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述为所述第一目标事件构建写入集合和读取集合,包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述基于与所述待补全事件对应的指定数据库事件对所述待补全事件进行数据库名称补全得到补全事件,包括:
5.根据权利要求1所述的方法,其特征在于,所述待补全事件的所述写入命令名称和所述读取命令名称均有具体的字符,不为空。
6.一种大数据平台,其特征在于,所述大数据平台包括:
7.根据权利要求6所述的大数据平台,其特征在于,所述构建单元具体包括:
8.根据权利要求7所述的大数据平台,其特征在于,所述大数据平台还包括:
9.一种数据血缘关系的分析设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-5任一项所述的数据血缘关系的分析方
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如权利要求1-5任一项所述的数据血缘关系的分析方法。
...【技术特征摘要】
1.一种数据血缘关系的分析方法,其特征在于,应用于大数据平台,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述为所述第一目标事件构建写入集合和读取集合,包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述基于与所述待补全事件对应的指定数据库事件对所述待补全事件进行数据库名称补全得到补全事件,包括:
5.根据权利要求1所述的方法,其特征在于,所述待补全事件的所述写入命令名称和所述读取命令名称均有具体的字符,不为空。
6.一种大数据平台,其特征在于,所述大数据...
【专利技术属性】
技术研发人员:冯亮,陈志远,孙谷飞,王磊,
申请(专利权)人:太保科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。