一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于ETL的数据流转监控方法及系统与流程

2022-12-06 22:31:28 来源:中国专利 TAG:

一种基于etl的数据流转监控方法及系统
技术领域
1.本发明涉及数据处理技术领域,具体为一种基于etl的数据流转监控方法及系统。


背景技术:

2.etl(extract-transform-load)是将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。从数据源抽取出所需要的原始数据,经过数据清洗,最终将清洗后的数据加载到数据仓库中去。也称为数据仓库技术。
3.现有技术中,etl的设计分三部分:数据抽取、数据的清洗转换、数据的加载。在设计etl的时候我们也是从这三部分出发。数据的抽取是从各个不同的数据源抽取到ods(operational data store,操作型数据存储)中,这个过程也可以做一些数据的清洗和转换),在抽取的过程中需要挑选不同的抽取方法,尽可能的提高etl的运行效率。etl三个部分中,花费时间最长的是“t”(transform,清洗、转换)的部分,一般情况下这部分工作量是整个etl的2/3。数据的加载一般在数据清洗完后直接落入dw(data warehousing,数据仓库)层。
4.但是,etl的实现有多种方法,常用的有三种。一种是借助etl工具(如oracle的owb、sql server 2000的dts、sql server2005的ssis服务、informatica、kettle等)实现,一种是sql方式实现,另外一种是etl工具和sql相结合。前两种方法各有各的优缺点,借助工具可以快速的建立起etl工程,屏蔽了复杂的编码任务,提高了速度,降低了难度,但是缺少灵活性。sql的方法优点是灵活,提高etl运行效率,但是编码复杂,对技术要求比较高。第三种是综合了前面二种的优点,会极大地提高etl的开发速度和效率。


技术实现要素:

5.本发明的目的在于提供一种基于etl的数据流转监控方法及系统,以解决上述背景技术中提出的问题。
6.为实现上述目的,本发明提供如下技术方案:一种基于etl的数据流转监控方法,所述基于etl的数据流转监控方法包括以下步骤:
7.收集数据链路对应表和所属数据库信息,继而录入系统之中,通过工具和系统中的脚本程序,实现元数据采集;
8.在采集到数据链路的元数据信息后,etl工具和脚本程序会自动转换和处理成数据表;
9.通过etl工具和脚本程序,将获取到的元数据进行统计和对目标库、表的状态获取;
10.通过采集数据链路的相关信息,来获取链路的情况,将信息录入到系统中,通过编写和调用etl程序来实现对数据链路的元数据的采集;
11.通过etl工具调用编写好的转换程序,转换程序将采集到的元数据信息进行整合与汇总,实现对海量数据的管理;
12.通过etl工具调用编写好的监控程序,对采集到的链路信息进行进一步统计,获取链路的状态等信息,从而实现对数据链路状态的监控目的。
13.优选的,收集数据库信息时,在本系统的本地数据库中,建立不同类型的元数据对应的数据表,用来接应抽取到的元数据信息;
14.数据库信息:将获取到的数据库信息集中整合到一起,包含:连接地址,数据库名称,登录用户名称等信息;
15.表信息:将获取到的所有数据库下的所有数据库表的信息整合到一起,包含:表名称、表注释、表所属用户等信息;
16.字段信息:将获取到的所有数据库下所有字段信息整合到一起,包含:字段名称、字段注释、字段所属表信息。
17.优选的,元数据进行统计和对目标库、表的状态获取时,
18.对数据链路监控的数据库的数据表信息进行收集,将收集到的信息,与采集到的库表元数据进行匹配,将原本没有关联关系的“表
‑‑
表”之间,定义出关联关系,将该关系保存整合在新的表中,形成固定且可维护的表;
19.通过维护和动态添加、修改“表
‑‑
表”关系,来实现数据流转信息的落地;
20.获取到数据链路后,通过关联表信息,来将数据表之间的链路信息做统一的展示,可以对接web ui或者通过etl将数据分享给其他平台。
21.优选的,元数据进行统计和对目标库、表的状态获取时包括,
22.完整性监控、及时性监控以及连通性监控。
23.优选的,元数据进行统计和对目标库、表的状态获取时,
24.通过配置和从落地的元数据表中获取表信息,通过对数据链路的来源端的数据库的访问来统计表的行数和其他最新的信息,统计完成后,通过etl工具返回需要的行数等结果,加已转换、清洗等组件的功能,将处理后的结果数据存入本地的数据库中,获得被监控链路两端的表的行数等基本信息,继而可以进行下一步的链路监控。
25.一种基于etl的数据流转监控系统,所述该系统由采集元数据、转换处理模块、统计监控模块、开发采集模块、转换模块以及执行模块构成;
26.采集元数据,用于收集数据链路对应表和所属数据库信息,继而录入系统之中,通过工具和系统中的脚本程序,实现元数据采集;
27.转换处理模块,用于在采集到数据链路的元数据信息后,etl工具和脚本程序会自动转换和处理成数据表;
28.统计监控模块,用于通过etl工具和脚本程序,将获取到的元数据进行统计和对目标库、表的状态获取;
29.开发采集模块,用于通过采集数据链路的相关信息,来获取链路的情况,将信息录入到系统中,通过编写和调用etl程序来实现对数据链路的元数据的采集;
30.转换模块,用于通过etl工具调用编写好的转换程序,转换程序将采集到的元数据信息进行整合与汇总,实现对海量数据的管理;
31.执行模块,用于通过etl工具调用编写好的监控程序,对采集到的链路信息进行进一步统计,获取链路的状态等信息,从而实现对数据链路状态的监控目的。
32.优选的,所述采集元数据在本系统的本地数据库中,建立不同类型的元数据对应
的数据表,用来接应抽取到的元数据信息;
33.数据库信息:将获取到的数据库信息集中整合到一起,包含:连接地址,数据库名称,登录用户名称等信息;
34.表信息:将获取到的所有数据库下的所有数据库表的信息整合到一起,包含:表名称、表注释、表所属用户等信息;
35.字段信息:将获取到的所有数据库下所有字段信息整合到一起,包含:字段名称、字段注释、字段所属表信息。
36.优选的,所述统计监控模块对数据链路监控的数据库的数据表信息进行收集,将收集到的信息,与采集到的库表元数据进行匹配,将原本没有关联关系的“表
‑‑
表”之间,定义出关联关系,将该关系保存整合在新的表中,形成固定且可维护的表;
37.通过维护和动态添加、修改“表
‑‑
表”关系,来实现数据流转信息的落地;
38.获取到数据链路后,通过关联表信息,来将数据表之间的链路信息做统一的展示,可以对接web ui或者通过etl将数据分享给其他平台。
39.优选的,所述统计监控模块包括,完整性监控、及时性监控以及连通性监控。
40.优选的,所述统计监控模块通过配置和从落地的元数据表中获取表信息,通过对数据链路的来源端的数据库的访问来统计表的行数和其他最新的信息,统计完成后,通过etl工具返回需要的行数等结果,加已转换、清洗等组件的功能,将处理后的结果数据存入本地的数据库中,获得被监控链路两端的表的行数等基本信息,继而可以进行下一步的链路监。
41.与现有技术相比,本发明的有益效果是:
42.本发明提出的基于etl的数据流转监控方法及系统通过采集系统中所有数据库的元数据信息,监控数据库表的各类指标,测得数据库的连通性,数据表链路的完整性和及时性,从而监控和获得整体数据流转过程的健康状态,达到监控和管理的目的;
43.通过配置相关链路信息,即可实现使用;通过非侵入的方式,实现了对数据库表链路的信息监控;具有定时执行、自动化执行等功能,节省大量人力成本;提供的转换功能,可以将庞杂的元数据信息整理、汇聚为可存储可分析的数据;提供的监控功能对实现大量数据库表的状态监控,提供了有效的办法。
附图说明
44.图1为本发明抽取流程示意图;
45.图2为本发明监控流程示意图。
具体实施方式
46.为了使本发明的目的、技术方案进行清楚、完整地描述,及优点更加清楚明白,以下结合附图对本发明实施例进行进一步详细说明。应当理解,此处所描述的具体实施例是本发明一部分实施例,而不是全部的实施例,仅仅用以解释本发明实施例,并不用于限定本发明实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
47.在本发明的描述中,需要说明的是,术语“中心”、“中”、“上”、“下”、“左”、“右”、“内”、“外”、“顶”、“底”、“侧”、“竖直”、“水平”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“一”、“第一”、“第二”、“第三”、“第四”、“第五”、“第六”仅用于描述目的,而不能理解为指示或暗示相对重要性。
48.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
49.出于简明和说明的目的,实施例的原理主要通过参考例子来描述。在以下描述中,很多具体细节被提出用以提供对实施例的彻底理解。然而明显的是,对于本领域普通技术人员,这些实施例在实践中可以不限于这些具体细节。在一些实例中,没有详细地描述公知方法和结构,以避免无必要地使这些实施例变得难以理解。另外,所有实施例可以互相结合使用。
50.实施例一
51.请参阅图1至图2,本发明提供一种技术方案:一种基于etl的数据流转监控方法,所述基于etl的数据流转监控方法包括以下步骤:
52.收集数据链路对应表和所属数据库信息,继而录入系统之中,通过工具和系统中的脚本程序,实现元数据采集;在本系统的本地数据库中,建立不同类型的元数据对应的数据表,用来接应抽取到的元数据信息;数据库信息:将获取到的数据库信息集中整合到一起,包含:连接地址,数据库名称,登录用户名称等信息;表信息:将获取到的所有数据库下的所有数据库表的信息整合到一起,包含:表名称、表注释、表所属用户等信息;字段信息:将获取到的所有数据库下所有字段信息整合到一起,包含:字段名称、字段注释、字段所属表信息;
53.在采集到数据链路的元数据信息后,etl工具和脚本程序会自动转换和处理成数据表;
54.通过etl工具和脚本程序,将获取到的元数据进行统计和对目标库、表的状态获取;对数据链路监控的数据库的数据表信息进行收集,将收集到的信息,与采集到的库表元数据进行匹配,将原本没有关联关系的“表
‑‑
表”之间,定义出关联关系,将该关系保存整合在新的表中,形成固定且可维护的表;通过维护和动态添加、修改“表
‑‑
表”关系,来实现数据流转信息的落地;获取到数据链路后,通过关联表信息,来将数据表之间的链路信息做统一的展示,可以对接web ui或者通过etl将数据分享给其他平台;
55.包括完整性监控、及时性监控以及连通性监控;
56.完整性监控,通过对数据链路进行获取和落地后,可以通过获取链路表的数据库信息,来实现对该表的访问,统计它们的行数等信息,落地到本地数据库。通过比对同一时间下,对链路两端数据表的行数监控和统计,将获取到的数据信息保存在本地数据库后,可以将结果展示到web ui或者储存、共享到其他平台,通过比对两个表的数据是否相同,来监测链路的健康程度。其中包括:(1)如果链路两端数据不同,两端表的数量会出现不一致的
结果,这样我们就可以监测出链路的数据传输是否完整,是否因为外界因素导致链路数据传输失败,达到监控和告警问题链路的目的;(2)如果链路两端的表的数据行数等信息相同,说明链路是可连通的并且其上的传输程序或者etl程序在运行中,从而达到链路健康的监测和告警的目的;
57.及时性监控,通过对数据链路的信息进行获取和落地数据库后,即可以通过链路表的数据库信息,实现对链路两端表的访问,统计它们的最新数据信息。通过在配置和获取到的元数据表中获取表信息,来通过访问链路两端的表,统计表中定义字段例如时间、日期等字段的最大或最近值。获取到数值后,通过etl工具返回我们需要的数等结果,加以转换、清洗等组件的功能,将处理后的结果数据存入本地的数据库中。这样我们已经获得被监控链路两端的表的最新的代表性字段的值来做下一步的监控。其中包括:(1)
58.如果出现链路的不通的问题,两端表的代表字段的最大或者最值会出现不一致的情况,这样们就可以监测出链路的数据传输是否及时,是否因为外界因素导致链路数据传输延迟、不及时。达到监控问题链路的目的;(2)如果链路两端的表的数据的代表字段值相同,说明链路的及时性,并且其上的传输程序或者etl程序在运行中,从而达到链路健康的监测和告警的目的;
59.连通性监控,通过对数据链路的信息的获取和落地本地数据库后,通过链路获取到的链路两端的表,继而通过全量表信息汇总而成的信息汇总表中的“表及所属数据库信息”,关联而出对应的数据库登录信息。获取到数据库登录信息后,通过etl工具登录到对应的数据库,加以转换、清洗等组件的功能,获取到该数据库是否能够正常登录,将结果保存为值,并将处理后的结果数据存入本地的数据库中。这样便可获得被监控链路两端数据库的登录情况,判断出链路两端的数据库是否能够正常访问。
60.通过配置和从落地的元数据表中获取表信息,通过对数据链路的来源端的数据库的访问来统计表的行数和其他最新的信息,统计完成后,通过etl工具返回需要的行数等结果,加已转换、清洗等组件的功能,将处理后的结果数据存入本地的数据库中,获得被监控链路两端的表的行数等基本信息,继而可以进行下一步的链路监控;
61.通过采集数据链路的相关信息,来获取链路的情况,将信息录入到系统中,通过编写和调用etl程序来实现对数据链路的元数据的采集;
62.通过etl工具调用编写好的转换程序,转换程序将采集到的元数据信息进行整合与汇总,实现对海量数据的管理;
63.通过etl工具调用编写好的监控程序,对采集到的链路信息进行进一步统计,获取链路的状态等信息,从而实现对数据链路状态的监控目的。
64.实施例二
65.一种基于etl的数据流转监控系统,所述该系统由采集元数据、转换处理模块、统计监控模块、开发采集模块、转换模块以及执行模块构成;
66.采集元数据,用于收集数据链路对应表和所属数据库信息,继而录入系统之中,通过工具和系统中的脚本程序,实现元数据采集;该功能可以自动化运行,节省人力时间成本;在本系统的本地数据库中,建立不同类型的元数据对应的数据表,用来接应抽取到的元数据信息;数据库信息:将获取到的数据库信息集中整合到一起,包含:连接地址,数据库名称,登录用户名称等信息;表信息:将获取到的所有数据库下的所有数据库表的信息整合到
一起,包含:表名称、表注释、表所属用户等信息;字段信息:将获取到的所有数据库下所有字段信息整合到一起,包含:字段名称、字段注释、字段所属表信息;
67.转换处理模块,用于在采集到数据链路的元数据信息后,etl工具和脚本程序会自动转换和处理成数据表;该功能可将大量数据统一整合为数据表进行管理;
68.统计监控模块,用于通过etl工具和脚本程序,将获取到的元数据进行统计和对目标库、表的状态获取;实现了对数据链路的监控和告警;对数据链路监控的数据库的数据表信息进行收集,将收集到的信息,与采集到的库表元数据进行匹配,将原本没有关联关系的“表
‑‑
表”之间,定义出关联关系,将该关系保存整合在新的表中,形成固定且可维护的表;通过维护和动态添加、修改“表
‑‑
表”关系,来实现数据流转信息的落地;获取到数据链路后,通过关联表信息,来将数据表之间的链路信息做统一的展示,可以对接web ui或者通过etl将数据分享给其他平台;包括完整性监控、及时性监控以及连通性监控;通过配置和从落地的元数据表中获取表信息,通过对数据链路的来源端的数据库的访问来统计表的行数和其他最新的信息,统计完成后,通过etl工具返回需要的行数等结果,加已转换、清洗等组件的功能,将处理后的结果数据存入本地的数据库中,获得被监控链路两端的表的行数等基本信息,继而可以进行下一步的链路监;
69.开发采集模块,用于通过采集数据链路的相关信息,来获取链路的情况,将信息录入到系统中,通过编写和调用etl程序来实现对数据链路的元数据的采集;
70.转换模块,用于通过etl工具调用编写好的转换程序,转换程序将采集到的元数据信息进行整合与汇总,实现对海量数据的管理;并且可以定时自动化执行,节省人力时间成本;
71.执行模块,用于通过etl工具调用编写好的监控程序,对采集到的链路信息进行进一步统计,获取链路的状态等信息,从而实现对数据链路状态的监控目的。
72.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献