本发明涉及数据库管理,特别是涉及一种基于数字化的数据血缘生成方法及系统。
背景技术:
1、在目前市场上的数据血缘技术,通常是通过数据库查询sql(structured querylanguage,数据库语言)字段血缘关系。申请号为cn202210878726.x、名称为“一种数据库查询sql字段血缘关系生成方法”的发明专利公开了一种据库查询sql字段血缘关系生成方法,首先构建sql血缘解析器,输入相关的sql语句,解析sql语句获取结果的字段表达式集合和查询表达式集合,进行字段表达式处理,检查字段表达式之间是否存在联系,遍历所有的表的连接的表达式,获取映射关系,得到数据血缘的结果。
2、然而,上述数据血缘技术的应用局限性较强,测试过程执行跑批时间长,且操作繁琐,效率较为低下。
3、因此需要提供一种基于数字化的数据血缘生成方法及装置,能够解决上述问题。
技术实现思路
1、本发明针对现有技术存在的问题和不足,提供一种基于数字化的数据血缘生成方法及系统。
2、本发明是通过下述技术方案来解决上述技术问题的:
3、本发明提供一种基于数字化的数据血缘生成方法,所述方法包括:
4、通过平台采集信息表记录数据源文件的基本特征,所述平台采集信息表中的信息字段至少包括采集id、采集名称和文件存放路径,所述数据源文件包括表或视图,通过所述采集id关联采集任务调度程序;
5、通过填写第一配置信息,平台文件入库信息表记录所述数据源文件的入库信息,所述平台文件入库信息表中的信息字段至少包括第一配置id、文件id、服务器文件路径、入库数据库名称和入库表名称,所述平台文件入库信息表和所述平台采集信息表通过所述文件存放路径和所述入库表名称进行关联并建立血缘关系,所述平台文件入库信息表通过所述第一配置id关联文件入库调度程序;
6、通过填写第二配置信息,平台数据库接入信息表链接上游源数据库,获取所述上游源数据库内的数据并存储到指定的数据库的指定一张表内,所述第二配置信息包括第二配置id,所述平台数据库接入信息表通过所述第二配置id关联数据库接入调度程序;
7、通过填写第三配置信息,平台api调用信息表接入调用指定api接口,获取所述api接口内的数据并存储到指定的数据库的指定一张表内,所述第三配置信息包括第三配置id,所述平台api调用信息表通过所述第三配置id关联api接入调度程序;
8、根据平台文件入库的文件内容、数据库接入表字典、api接入表字典建立ods层表并存储所述上游源的数据到数据库,所述ods层表和所述平台文件入库信息表通过所述入库数据库名称和入库表名称进行关联并建立血缘关系;
9、将多张所述ods层表关联为dw层表,所述dw层表和多张所述ods层表的关联关系存储在proce函数中。
10、优选地,通过第三方api接口获取所述数据源文件或者通过第三方平台获取所述数据源文件。
11、优选地,通过第三方提供的数据库账号获取所述数据源文件,将第三方的数据库抽取到本地数据库。
12、优选地,从所述数据源文件中获取视图名和创建语句,分割所述创建语句中的字符以获得第一关键字和第二关键字,将所述第一关键字后面的名称记录为所述数据源文件的上游表,将所述第二关键字后面的名称记录为所述数据源文件的下游表;将所述血缘关系和所述上游表、下游表进行比对,如果所述数据源文件没有所述上游表则判定为第一类表,如果所述数据源文件有所述上游表则判定为第二类表。
13、优选地,如果所述第一类表中有,而所述数据源文件中没有,则表示所述血缘关系已经不存在,将所述第一类表删除;
14、如果所述第一类表和所述第二类表重复,则表示所述血缘关系发生改变,将所述第一类表或所述第二类表进行删除;
15、如果所述数据源文件中有,而所述第一类表或第二类表中没有,则表示为新增表,将所述表进行新增。
16、本发明还提供一种基于数字化的数据血缘生成系统,所述系统包括:
17、基本特征获取模块,其用于通过平台采集信息表记录数据源文件的基本特征,所述平台采集信息表中的信息字段至少包括采集id、采集名称和文件存放路径,所述数据源文件包括表或视图,通过所述采集id关联采集任务调度程序;
18、第一配置模块,其用于通过填写第一配置信息,平台文件入库信息表记录所述数据源文件的入库信息,所述平台文件入库信息表中的信息字段至少包括第一配置id、文件id、服务器文件路径、入库数据库名称和入库表名称,所述平台文件入库信息表和所述平台采集信息表通过所述文件存放路径和所述入库表名称进行关联并建立血缘关系,所述平台文件入库信息表通过所述第一配置id关联文件入库调度程序;
19、第二配置模块,其用于通过填写第二配置信息,平台数据库接入信息表链接上游源数据库,获取所述上游源数据库内的数据并存储到指定的数据库的指定一张表内,所述第二配置信息包括第二配置id,所述平台数据库接入信息表通过所述第二配置id关联数据库接入调度程序;
20、第三配置模块,其用于通过填写第三配置信息,平台api调用信息表接入调用指定api接口,获取所述api接口内的数据并存储到指定的数据库的指定一张表内,所述第三配置信息包括第三配置id,所述平台api调用信息表通过所述第三配置id关联api接入调度程序;
21、ods层表构建模块,其用于根据平台文件入库的文件内容、数据库接入表字典、api接入表字典建立ods层表并存储所述上游源的数据到数据库,所述ods层表和所述平台文件入库信息表通过所述入库数据库名称和入库表名称进行关联并建立血缘关系;
22、dw层表构建模块,其用于将多张所述ods层表关联为dw层表,所述dw层表和多张所述ods层表的关联关系存储在proce函数中。
23、优选地,通过第三方api接口获取所述数据源文件或者通过第三方平台获取所述数据源文件。
24、优选地,通过第三方提供的数据库账号获取所述数据源文件,将第三方的数据库抽取到本地数据库。
25、优选地,从所述数据源文件中获取视图名和创建语句,分割所述创建语句中的字符以获得第一关键字和第二关键字,将所述第一关键字后面的名称记录为所述数据源文件的上游表,将所述第二关键字后面的名称记录为所述数据源文件的下游表;将所述血缘关系和所述上游表、下游表进行比对,如果所述数据源文件没有所述上游表则判定为第一类表,如果所述数据源文件有所述上游表则判定为第二类表。
26、优选地,如果所述第一类表中有,而所述数据源文件中没有,则表示所述血缘关系已经不存在,将所述第一类表删除;
27、如果所述第一类表和所述第二类表重复,则表示所述血缘关系发生改变,将所述第一类表或所述第二类表进行删除;
28、如果所述数据源文件中有,而所述第一类表或第二类表中没有,则表示为新增表,将所述表进行新增。
29、与现有技术相比,本发明实施例的技术方案具有以下有益效果:
30、本发明实施例提供的基于数字化的数据血缘生成方法及系统,通过平台采集信息表记录数据源文件的基本特征,所述平台采集信息表中的信息字段至少包括采集id、采集名称和文件存放路径,所述数据源文件包括表或视图,通过所述采集id关联采集任务调度程序;通过填写第一配置信息,平台文件入库信息表记录所述数据源文件的入库信息,所述平台文件入库信息表中的信息字段至少包括第一配置id、文件id、服务器文件路径、入库数据库名称和入库表名称,所述平台文件入库信息表和所述平台采集信息表通过所述文件存放路径和所述入库表名称进行关联并建立血缘关系,所述平台文件入库信息表通过所述第一配置id关联文件入库调度程序;通过填写第二配置信息,平台数据库接入信息表链接上游源数据库,获取所述上游源数据库内的数据并存储到指定的数据库的指定一张表内,所述第二配置信息包括第二配置id,所述平台数据库接入信息表通过所述第二配置id关联数据库接入调度程序;通过填写第三配置信息,平台api调用信息表接入调用指定api接口,获取所述api接口内的数据并存储到指定的数据库的指定一张表内,所述第三配置信息包括第三配置id,所述平台api调用信息表通过所述第三配置id关联api接入调度程序;根据平台文件入库的文件内容、数据库接入表字典、api接入表字典建立ods层表并存储所述上游源的数据到数据库,所述ods层表和所述平台文件入库信息表通过所述入库数据库名称和入库表名称进行关联并建立血缘关系;将多张所述ods层表关联为dw层表,所述dw层表和多张所述ods层表的关联关系存储在proce函数中,从而快速获取数据的上下游之间的关系,大大降低开发失误率,节约时间成本;
31、进一步地,通过第三方api接口获取所述数据源文件或者通过第三方平台获取所述数据源文件,或者通过第三方提供的数据库账号获取所述数据源文件,将第三方的数据库抽取到本地数据库,从而能够全面且快速地获取数据源文件;
32、进一步地,从所述数据源文件中获取视图名和创建语句,分割所述创建语句中的字符以获得第一关键字和第二关键字,将所述第一关键字后面的名称记录为所述数据源文件的上游表,将所述第二关键字后面的名称记录为所述数据源文件的下游表;将所述血缘关系和所述上游表、下游表进行比对,如果所述数据源文件没有所述上游表则判定为第一类表,如果所述数据源文件有所述上游表则判定为第二类表,如果所述第一类表中有,而所述数据源文件中没有,则表示所述血缘关系已经不存在,将所述第一类表删除;如果所述第一类表和所述第二类表重复,则表示所述血缘关系发生改变,将所述第一类表或所述第二类表进行删除;如果所述数据源文件中有,而所述第一类表或第二类表中没有,则表示为新增表,将所述表进行新增,从而及时删除已经不存在的表的血缘关系,以及将血缘关系发生变化时的第一类表及时进行删除。
1.一种基于数字化的数据血缘生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于数字化的数据血缘生成方法,其特征在于,通过第三方api接口获取所述数据源文件或者通过第三方平台获取所述数据源文件。
3.根据权利要求1所述的基于数字化的数据血缘生成方法,其特征在于,通过第三方提供的数据库账号获取所述数据源文件,将第三方的数据库抽取到本地数据库。
4.根据权利要求1所述的基于数字化的数据血缘生成方法,其特征在于,从所述数据源文件中获取视图名和创建语句,分割所述创建语句中的字符以获得第一关键字和第二关键字,将所述第一关键字后面的名称记录为所述数据源文件的上游表,将所述第二关键字后面的名称记录为所述数据源文件的下游表;将所述血缘关系和所述上游表、下游表进行比对,如果所述数据源文件没有所述上游表则判定为第一类表,如果所述数据源文件有所述上游表则判定为第二类表。
5.根据权利要求4所述的基于数字化的数据血缘生成方法,其特征在于,
6.一种基于数字化的数据血缘生成系统,其特征在于,所述系统包括:
7.根据权利要求1所述的基于数字化的数据血缘生成系统,其特征在于,通过第三方api接口获取所述数据源文件或者通过第三方平台获取所述数据源文件。
8.根据权利要求1所述的基于数字化的数据血缘生成系统,其特征在于,通过第三方提供的数据库账号获取所述数据源文件,将第三方的数据库抽取到本地数据库。
9.根据权利要求1所述的基于数字化的数据血缘生成系统,其特征在于,从所述数据源文件中获取视图名和创建语句,分割所述创建语句中的字符以获得第一关键字和第二关键字,将所述第一关键字后面的名称记录为所述数据源文件的上游表,将所述第二关键字后面的名称记录为所述数据源文件的下游表;将所述血缘关系和所述上游表、下游表进行比对,如果所述数据源文件没有所述上游表则判定为第一类表,如果所述数据源文件有所述上游表则判定为第二类表。
10.根据权利要求9所述的基于数字化的数据血缘生成系统,其特征在于, 如果所述第一类表中有,而所述数据源文件中没有,则表示所述血缘关系已经不存在,将所述第一类表删除;