基于DAG图任务调度的数据质量检测方法和装置制造方法及图纸

技术编号:36711499 阅读:14 留言:0更新日期:2023-03-01 09:39
本发明专利技术的实施例提供了基于DAG图任务调度的数据质量检测方法和装置。所述方法包括获取目标数据源的连接参数,对目标数据源执行查询,将可用的目标数据源的连接参数存储到数据库中;获取数据质量检测模板及其模板参数;对数据质量检测模板对应的数据质量检测规则的合法性进行校验,将校验通过的数据质量检测规则存储到数据库中;将支持的任务类型作为节点组件,进行节点配置,根据数据质量任务间的依赖关系绘制生成DAG图;当任务执行开始时,生成任务实例,对任务实例进行分布式调度并运行数据质量任务。以此方式,可以将数据质量检测作为数据流的一部分参与任务调度,通过引入DAG图,简化了用户操作,实现了对数据源质量的检测。测。测。

【技术实现步骤摘要】
基于DAG图任务调度的数据质量检测方法和装置


[0001]本专利技术一般涉及数据处理领域,并且更具体地,涉及基于DAG图任务调度的数据质量检测方法和装置。

技术介绍

[0002]随着数据处理与业务运营间的联系越来越紧密与复杂,越来越多的行业用户使用大数据技术、数据分析等手段挖掘数据的潜在联系和价值以辅助业务决策。在数据管理过程中每一个环节都可能导致数据错误,如数据标准制定混乱、数据源本身存在质量问题、数据采集出现问题导致数据缺失等。因此进行数据质量管理意义重大,会直接影响下游任务的效果和效率。
[0003]目前市面上有很多数据质量平台,如Apache Griffin和Qualitis等,但这些产品属于一个完全闭环的平台。它们可以对一份数据的质量进行评价,但无法根据其质量决定数据流向。在实际应用中,数据质量检测不仅是独立的一部分,而是应该作为整个数据流的一部分。当前无法通过一个证明过程证明整个数据流所使用数据的正确性,即无法确保数据处理前的数据和数据处理的结果不存在问题。

技术实现思路

[0004]根据本专利技术的实施例,提供了一种基于DAG图任务调度的数据质量检测方案。本方案能够将数据质量检测作为数据流的一部分参与任务调度,通过引入DAG图,简化了用户操作,实现了对数据源质量的检测。
[0005]在本专利技术的第一方面,提供了一种基于DAG图任务调度的数据质量检测方法。该方法包括:获取目标数据源的连接参数,对所述目标数据源执行查询,检测所述连接参数是否正确,若是,则根据所述连接参数连接所述目标数据源;否则返回连接错误信息;若所述目标数据源连接成功,则检测所述目标数据源是否可用,将可用的目标数据源的连接参数存储到数据库中;获取数据质量检测模板及其模板参数;所述数据质量检测模板用于通过预先定义的数据质量检测规则对所述目标数据源的数据质量进行检测;对所述数据质量检测模板对应的数据质量检测规则的合法性进行校验,将校验通过的数据质量检测规则存储到数据库中;将支持的任务类型作为节点组件,进行节点配置,根据数据质量任务间的依赖关系绘制生成DAG图,将所述DAG图中的节点配置信息、节点位置信息和节点之间的依赖关系存储到数据库中;当任务执行开始时,生成任务实例,对所述任务实例进行分布式调度并运行数据质量任务,将运行结果存储到数据库中。
[0006]进一步地,所述对所述目标数据源执行查询,包括:
对于通过JDBC方式连接的数据源,执行SELECT语句进行查询;对于非通过JDBC方式连接的数据源,执行集群状态类的命令进行查询。
[0007]进一步地,对于通过JDBC方式连接的数据源,将对应的连接参数拼接成用于JDBC连接的URL,通过Druid连接池连接该数据源。
[0008]进一步地,所述检测所述目标数据源是否可用,通过使用JDBC连接对象执行SELECT查询语句进行检测。
[0009]进一步地,所述节点配置,包括:为节点生成节点编号,将所述节点编号以及对应的节点名称、节点状态、节点可用硬件资源、节点特有属性存储在数据库中。
[0010]进一步地,在绘制生成DAG图后,通过拓扑排序遍历节点算法检查节点间是否存在循环依赖,若存在,则生成DAG图的修改提示。
[0011]进一步地,在对所述任务实例进行分布式调度时,判断在目标调度任务对应的待执行的时间段内是否存在与所述目标调度任务标识符相同的标识符,若是,则对目标调度任务重新进行调度;否则在所述待执行的时间段执行所述目标调度任务。
[0012]进一步地,还包括:从数据库中读取数据质量任务的运行结果,判断所述运行结果是否满足预设条件,若是,则运行结果为成功;否则运行结果为失败;当运行结果为失败时,若存在失败配置策略,则根据所述失败配置策略进行处理;当运行结果为成功时,若存在成功配置策略,则根据所述成功配置策略进行处理。
[0013]在本专利技术的第二方面,提供了一种基于DAG图任务调度的数据质量检测装置。该装置包括:查询检测模块,用于获取目标数据源的连接参数,对所述目标数据源执行查询,检测所述连接参数是否正确,若是,则根据所述连接参数连接所述目标数据源;否则返回连接错误信息;若所述目标数据源连接成功,则检测所述目标数据源是否可用,将可用的目标数据源的连接参数存储到数据库中;模板校验模块,用于获取数据质量检测模板及其模板参数;所述数据质量检测模板用于通过预先定义的数据质量检测规则对所述目标数据源的数据质量进行检测;对所述数据质量检测模板对应的数据质量检测规则的合法性进行校验,将校验通过的数据质量检测规则存储到数据库中;生成模块,用于将支持的任务类型作为节点组件,进行节点配置,根据数据质量任务间的依赖关系绘制生成DAG图,将所述DAG图中的节点配置信息、节点位置信息和节点之间的依赖关系存储到数据库中;调度运行模块,用于当任务执行开始时,生成任务实例,对所述任务实例进行分布式调度并运行数据质量任务,将运行结果存储到数据库中。
[0014]在本专利技术的第三方面,提供了一种电子设备。该电子设备至少一个处理器;以及与所述至少一个处理器通信连接的存储器;所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术第一方面的方法。
[0015]应当理解,
技术实现思路
部分中所描述的内容并非旨在限定本专利技术的实施例的关键或
重要特征,亦非用于限制本专利技术的范围。本专利技术的其它特征将通过以下的描述变得容易理解。
附图说明
[0016]结合附图并参考以下详细说明,本专利技术各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:图1示出了根据本专利技术的实施例的基于DAG图任务调度的数据质量检测方法的流程图;图2示出了根据本专利技术的实施例的基于DAG图任务调度的数据质量检测装置的方框图;图3示出了能够实施本专利技术的实施例的示例性电子设备的方框图;其中,300为电子设备、301为CPU、302为ROM、303为RAM、304为总线、305为I/O接口、306为输入单元、307为输出单元、308为存储单元、309为通信单元。
具体实施方式
[0017]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本专利技术保护的范围。
[0018]另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0019]本专利技术中,将数据质量检测作为数据流的一部分参与任务调度,可以根据用户需求设置数据质量检测位置、规则和失败或成功本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于DAG图任务调度的数据质量检测方法,其特征在于,包括:获取目标数据源的连接参数,对所述目标数据源执行查询,检测所述连接参数是否正确,若是,则根据所述连接参数连接所述目标数据源;否则返回连接错误信息;若所述目标数据源连接成功,则检测所述目标数据源是否可用,将可用的目标数据源的连接参数存储到数据库中;获取数据质量检测模板及其模板参数;所述数据质量检测模板用于通过预先定义的数据质量检测规则对所述目标数据源的数据质量进行检测;对所述数据质量检测模板对应的数据质量检测规则的合法性进行校验,将校验通过的数据质量检测规则存储到数据库中;将支持的任务类型作为节点组件,进行节点配置,根据数据质量任务间的依赖关系绘制生成DAG图,将所述DAG图中的节点配置信息、节点位置信息和节点之间的依赖关系存储到数据库中;当任务执行开始时,生成任务实例,对所述任务实例进行分布式调度并运行数据质量任务,将运行结果存储到数据库中。2.根据权利要求1所述的方法,其特征在于,所述对所述目标数据源执行查询,包括:对于通过JDBC方式连接的数据源,执行SELECT语句进行查询;对于非通过JDBC方式连接的数据源,执行集群状态类的命令进行查询。3.根据权利要求1所述的方法,其特征在于,对于通过JDBC方式连接的数据源,将对应的连接参数拼接成用于JDBC连接的URL,通过Druid连接池连接该数据源。4.根据权利要求1所述的方法,其特征在于,所述检测所述目标数据源是否可用,通过使用JDBC连接对象执行SELECT查询语句进行检测。5.根据权利要求1所述的方法,其特征在于,所述节点配置,包括:为节点生成节点编号,将所述节点编号以及对应的节点名称、节点状态、节点可用硬件资源、节点特有属性存储在数据库中。6.根据权利要求1所述的方法,其特征在于,在绘制生成DAG图后,通过拓扑排序遍历节点算法检查节点间是否存在循环依赖,若存在,则生成DAG图的修改提示。7.根据权利要求1所述的方法,其特征在于,在对所述...

【专利技术属性】
技术研发人员:曲涵石
申请(专利权)人:中科金瑞辽宁大数据科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1