基于ETL规则的数据质量监控及预警系统和方法与流程

文档序号:20768560发布日期:2020-05-15 19:20阅读:299来源:国知局
基于ETL规则的数据质量监控及预警系统和方法与流程

本发明涉及计算机领域,更具体地,涉及一种基于etl规则的数据质量监控及预警系统和方法。



背景技术:

大数据时代的到来,带给企业很多的数据资产,企业如何能在众多数据中真正的利用有效数据,来进行分析和数据挖掘,企业都会通过etl过程建立数据仓库和数据集市,而在这个过程中,会导致很多问题,为此本发明主要是解决在建立数据仓库和etl过程如何监控数据质量,提高数据的易读性,准确性;目前本领域主要存在以下问题:

1、由于企业数据来自不同的业务系统,上游数据源数据出现异常,例如爬虫数据出现结构变化,爬虫失败等导致下游etl数据错误;

2、在建立数据仓库和etl过程中元数据缺乏有效管理,导致数据的易读性很差,不能最大能力发挥元数据的功能性;

3、数据表中数据质量问题,主要突出表现在以下几种:

1)数据缺乏有效的主键,导致数据出现重复;

2)数据不符合标准数据类型;

3)数据不符合标准数据业务规则,例如数据的区间为1-100,表中出现了100以上的数据;

4)数据表主要指标,例如每天的业务量不正常,例如在职人数每天大概在2000人左右,由于数据问题出现某天为100人左右等异常数据;

4、企业没有有效的对数据仓库和etl过程中进行有效的监控和预警,数据开发人员不能快速的了解目前数据的情况,数据异常得不到及时通知,引起下游相关引用该数据出现问题,给数据分析和决策人员带来错误的指导。

有鉴于此,克服该现有技术所存在的缺陷是本领域亟待解决的问题。



技术实现要素:

有鉴于此,本发明提供了一种基于etl规则的数据质量监控及预警系统和方法,使得在建立数据仓库和etl过程中监控数据质量,提高数据的易读性和准确性。

一方面,本发明公开了一种基于etl规则的数据质量监控及预警系统,包括源数据标准化处理模块、数据仓库元数据管理模块、etl规则处理模块、以及可视化预警报表生成模块,其中,

所述源数据标准化处理模块与所述数据仓库元数据管理模块相耦接,用于将同步到数据仓库中的源数据进行标准化处理得到标准化源数据,并将所述标准化源数据发送至所述数据仓库元数据管理模块;

所述数据仓库元数据管理模块分别与所述源数据标准化处理模块和所述etl规则处理模块相耦接,用于对所述标准化源数据进行元数据管理,通过元数据将海量报表中的目标表、目标字段进行业务描述得到第一数据;

所述etl规则处理模块分别与所述数据仓库元数据管理模块和所述可视化预警报表生成模块相耦接,用于选取对待处理数据进行etl处理所述的来源端和目的端,所述第一数据为所述来源端,根据业务规则和数据标准从所述第一数据中提取待处理数据,对所述待处理数据进行相应的etl处理,去除所述第一数据中的脏数据得到所述待处理数据的处理结果,并将所述处理结果加载到所述目的端,得到第二数据,所述脏数据是指不在给定的范围内或对于实际业务毫无意义、或是数据格式非法、或存在不规范的编码和含糊的数据;

所述可视化预警报表生成模块与所述etl规则处理模块相耦接,对所述第二数据进行可视化,突出显示异常的数据库表。

另一方面,本发明还提供了一种基于etl规则的数据质量监控及预警方法,包括步骤:

同步源数据至数据仓库并设置预警阈值,当所述源数据在所述预警阈值内时,对所述源数据进行标准化处理得到标准化源数据;

对所述标准化源数据进行元数据管理,通过元数据将海量报表中的目标表、目标字段进行业务描述得到第一数据;

选取对待处理数据进行etl处理所述的来源端和目的端,所述第一数据为所述来源端,根据业务规则和数据标准从所述第一数据中提取待处理数据,对所述待处理数据进行相应的etl处理,去除所述第一数据中的脏数据得到所述待处理数据的处理结果,并将所述处理结果加载到所述目的端,得到第二数据,所述脏数据是指不在给定的范围内或对于实际业务毫无意义、或是数据格式非法、或存在不规范的编码和含糊的数据;

生成可视化预警报表,对所述第二数据进行可视化,突出显示异常的数据库表。

与现有技术相比,本发明提供的基于etl规则的数据质量监控及预警系统和方法,至少实现了如下的有益效果:

因为本发明采用对源数据先后经过源数据标准化处理、数据仓库元数据管理和etl规则处理,可以提高检测质量,挺高检测效果以及检测精度,使管理者方便对目前数据资产和数据仓库对相关质量的判定,能够指导管理者和开发者对改善数据质量提供更明细的数据问题定位;能够使数据易懂易读,便于数据使用者;

本发明可以生成可视化预警报表,突出显示异常的数据库表,方便对数据进行监控;

本发明中将不同类型的数据源添加到一个数据仓库中进行管理,当需要etl处理时,从已经添加的数据源中选取进行etl处理,对于多远etl工具来说,可以方便开发者所有数据源信息保存在数据仓库中,无需各自业务保存在各自的内部文档中,当有数据源加入是,也只需将该新的数据源添加进去即可,因此,数据开发时,无需再多个数据源的不同结构类型中进行切换,不仅减小了开发人员的工作量,而且提高了开发的效率。

当然,实施本发明的任一产品必不特定需要同时达到以上所述的所有技术效果。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。

图1是本发明提供的一种基于etl规则的数据质量监控及预警系统结构框图;

图2是本发明提供的一种基于etl规则的数据质量监控及预警方法流程图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

结合图1,图1是本发明提供的一种基于etl规则的数据质量监控及预警系统结构框图。图1中,基于etl规则的数据质量监控及预警系统包括源数据标准化处理模块101、数据仓库元数据管理模块102、etl规则处理模块103、以及可视化预警报表生成模块104。

源数据标准化处理模块101与数据仓库元数据管理模块102相耦接,用于将同步到数据仓库中的源数据进行标准化处理得到标准化源数据,并将标准化源数据发送至数据仓库元数据管理模块102;

根据各业务系统不同,在制定数据传输过程中加入预警判断;例如当爬虫系统异常时,根据业务人员制定的数据量标准,如低于某个最小值,系统根据条件再决定是否进行下一步;

源数据标准化处理模块依据数据源的类型同步数据源,数据源包括相关信息,相关信息包括数据源名称、数据源类型和数据源中数据表的访问方式。

本实施例中,当需要将数据源同步到数据仓库中时,可以以及数据源保存的地址,将该数据源导入到数据仓库中,然后,设置该数据源的相关信息。数据源中数据表的访问方式可以包括端口、用户名、密码等。将相关信息设置完成后,将设置的信息以及数据源依据预设的规则进行保存,例如预设的规则为数据源的相关信息与数据源为一一对应的关系。

数据仓库元数据管理模块102分别与源数据标准化处理模块101和etl规则处理模块103相耦接,用于对标准化源数据进行元数据管理,通过元数据将海量报表中的目标表、目标字段进行业务描述得到第一数据;

在海量报表中查询某些表或者相关字段,由于开发人员没有维护好元数据,导致数据使用人员难以发现自己业务对应相关数据表,及相关字段的含义;对此在本预警系统中,对各模块相关元数据的统计可视化,例如把业务系统中各库通过元数据统计出哪些表、哪些字段是没有业务描述的,通过监控预警可视化促进开发和业务相关人员完善这些数据指标,使数据更易读易懂。

etl规则处理模块103分别与数据仓库元数据管理模块102和可视化预警报表生成模块104相耦接,用于根据业务规则和数据标准去除第一数据中的脏数据得到第二数据,脏数据是指不在给定的范围内或对于实际业务毫无意义、或是数据格式非法、或存在不规范的编码和含糊的数据;

在数据仓库建设中etl过程显得很重要,etl过程中根据业务规则和数据标准首先去除某些脏数据;例如在收房明细数据中如果收房合同中没有房间编号,就可以在抽取到ods层收房明细的过程中直接加入相关条件过滤掉此数据;也可以根据业务规则处理相关的数据,例如根据身份证号计算年龄时,当身份证号不是正确的格式时,假设身份证号前4位含有字母就视为垃圾数据,对此要加入数据处理,例如置为0等。

可以理解的是对数据的处理行为可以划分为操作型数据处理和分析型数据处理,操作型数据处理一般放在传统的数据库(database,db)中进行,分析型数据处理则需要在数据仓库(datawarehouse,dw)中进行。但是并不是所有的数据处理都可以这样划分,对数据的处理需求并不只有这两类,例如,有些操作型处理并不适合放在传统的数据库上完成,也有些分析型处理不适合在数据仓库中进行。这时候需要第三种数据存储体系,操作数据存储(operationaldatastore,ods)系统就因此产生。它的出现,也将db~dw两层数据架构转变成db~ods~dw三层数据架构。ods是一种数据存储系统,它将来自不同数据源的数据(各种操作型数据库、外部数据源等)通过etl过程汇聚整合成面向主题的、集成的、企业全局的、一致的数据集合(主要是最新的或者最近的细节数据以及可能需要的汇总数据),用于满足企业准实时的olap操作和企业全局的oltp操作,并为数据仓库提供集成后的数据,将数据仓库系统中的etl过程下沉到ods中完成以减轻数据仓库的压力。

可视化预警报表生成模块104与etl规则处理模块103相耦接,对第二数据进行可视化,突出显示异常的数据库表。

开发人员和相关业务人员制定相关的数据质量的管理规则,录入系统中,开发人员根据这些规则转换为脚本执行,把检查记录放入检查日志表中,根据检查日志表形成检查结果表,为可视化表系统和error通知做数据支撑;在规则体系中数据量检查主要为了确保数据的完整性,判断是不是当天数据为空表,是否影响下游数据的引用;

在一些可选的实施例中还包括可视化预警报表发送模块,用于在配置表中设置人员管理,将可视化预警报表中的异常的数据库表发送至人员。

对各业务数据进行分类展示,对异常指标增加警戒线的特别提醒,比如当统计元数据字段描述此指标时,认为当没有字段描述的量达到百分之三十时认为这里的数据可读性就很差,此时就特别提醒,开发人员根据日志数据去完善这些数据指标;然后在error通知系统中把相关业务表的开发负责人配置为该表的一个属性,当此表数据有需要报错的时候直接发送负责人,方便负责人能快速处理,查找相关问题。

在一些可选的实施例中,基于etl规则的数据质量监控及预警系统还包括etl处理规则设置模块,与所述etl规则处理模块相耦接,用于接收用户设置的etl处理规则,根据所述etl处理规则对所述待处理数据进行相应的etl处理,所述etl处理规则包括根据预设的结构化查询语言sql的处理标准设置的etl处理规则。

用户设置etl处理规则可以根据预设的大数据处理标准进行设置,其中进行etl处理所遵循的大数据处理标准可包括多种,本实施例中选用sql(结构化查询余元)语言的处理标准,也就是说用户可以依据sql标准编写进行etl处理的步骤。

本实施例中将不同类型的数据源添加到一个数据仓库中进行管理,当需要etl处理时,从已经添加的数据源中选取进行etl处理,对于多远etl工具来说,可以方便开发者所有数据源信息保存在数据仓库中,无需各自业务保存在各自的内部文档中,当有数据源加入是,也只需将该新的数据源添加进去即可,因此,数据开发时,无需再多个数据源的不同结构类型中进行切换,不仅减小了开发人员的工作量,而且提高了开发的效率。

再者因为本发明采用对源数据先后经过源数据标准化处理、数据仓库元数据管理和etl规则处理,可以提高检测质量,挺高检测效果以及检测精度,使管理者方便对目前数据资产和数据仓库对相关质量的判定,能够指导管理者和开发者对改善数据质量提供更明细的数据问题定位;能够使数据易懂易读,便于数据使用者。

结合图2,图2是本发明提供的一种基于etl规则的数据质量监控及预警方法流程图。图2中的基于etl规则的数据质量监控及预警方法包括以下步骤:

s1:同步源数据至数据仓库并设置预警阈值,当源数据在预警阈值内时,对源数据进行标准化处理得到标准化源数据;

根据各业务系统不同,在制定数据传输过程中加入预警判断;

例如当爬虫系统异常时,根据业务人员制定的数据量标准,如低于某个最小值,系统根据条件再决定是否进行下一步;

同步源数据至数据仓库并对源数据标准化处理,包括,依据数据源的类型同步数据源,数据源包括相关信息,相关信息包括数据源名称、数据源类型和数据源中数据表的访问方式。

s2:对标准化源数据进行元数据管理,通过元数据将海量报表中的目标表、目标字段进行业务描述得到第一数据;

在海量报表中查询某些表或者相关字段,由于开发人员没有维护好元数据,导致数据使用人员难以发现自己业务对应相关数据表,及相关字段的含义;对此在本预警系统中,对各模块相关元数据的统计可视化,例如把业务系统中各库通过元数据统计出哪些表、哪些字段是没有业务描述的,通过监控预警可视化促进开发和业务相关人员完善这些数据指标,使数据更易读易懂。

s3:选取对待处理数据进行etl处理的来源端和目的端,第一数据为来源端,根据业务规则和数据标准从第一数据中提取待处理数据,对待处理数据进行相应的etl处理,去除第一数据中的脏数据得到待处理数据的处理结果,并将处理结果加载到目的端,得到第二数据,脏数据是指不在给定的范围内或对于实际业务毫无意义、或是数据格式非法、或存在不规范的编码和含糊的数据;

对数据进行etl(英文全称:extract-transform-load,中文全称:数据仓库技术)处理,etl处理的过程大致为从一个数据源中提取数据,将提取的数据转换为一个标准的格式,并加载到另外一个目标数据源的过程。目前,存在多种不同类型的数据源,例如:关系型mysql、非关系型hbase、数据仓库有hive、文件存储hdfs、具有存储功能的文件索引服务elasticsearch;而不同的数据类型的数据源可能会具有不同的接口类型。

etl规则处理包括:在收房明细数据中当收房合同中没有房间编号,则过滤掉此数据;根据身份证号计算年龄时,当身份证号不是正确的格式将其视为垃圾数据并用0替代。

在一些可选的实施例中还包括接收用户设置的etl处理规则,根据etl处理规则对待处理数据进行相应的etl处理,etl处理规则包括根据预设的结构化查询语言sql的处理标准设置的etl处理规则。

本实施例中将不同类型的数据源添加到一个数据仓库中进行管理,当需要etl处理时,从已经添加的数据源中选取进行etl处理,对于多远etl工具来说,可以方便开发者所有数据源信息保存在数据仓库中,无需各自业务保存在各自的内部文档中,当有数据源加入是,也只需将该新的数据源添加进去即可,因此,数据开发时,无需再多个数据源的不同结构类型中进行切换,不仅减小了开发人员的工作量,而且提高了开发的效率。

s4:生成可视化预警报表,对第二数据进行可视化,突出显示异常的数据库表。

对各业务数据进行分类展示,对异常指标增加警戒线的特别提醒,例如当统计元数据字段描述此指标时,认为当没有字段描述的量达到百分之三十时认为这里的数据可读性就很差,此时特别提醒,开发人员根据日志数据去完善这些数据指标。

在一些可选的实施例中还包括在配置表中设置人员管理,将所述可视化预警报表中的异常的数据库表发送至所述人员。

通过上述实施例可知,本发明提供的基于etl规则的数据质量监控及预警系统和方法,至少实现了如下的有益效果:

因为本发明采用对源数据先后经过源数据标准化处理、数据仓库元数据管理和etl规则处理,可以提高检测质量,挺高检测效果以及检测精度,使管理者方便对目前数据资产和数据仓库对相关质量的判定,能够指导管理者和开发者对改善数据质量提供更明细的数据问题定位;能够使数据易懂易读,便于数据使用者;

本发明可以生成可视化预警报表,突出显示异常的数据库表,方便对数据进行监控;

本发明中将不同类型的数据源添加到一个数据仓库中进行管理,当需要etl处理时,从已经添加的数据源中选取进行etl处理,对于多远etl工具来说,可以方便开发者所有数据源信息保存在数据仓库中,无需各自业务保存在各自的内部文档中,当有数据源加入是,也只需将该新的数据源添加进去即可,因此,数据开发时,无需再多个数据源的不同结构类型中进行切换,不仅减小了开发人员的工作量,而且提高了开发的效率。

虽然已经通过例子对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上例子仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1