一种基于DAG模型的数据ETL系统及使用方法技术方案

技术编号:31905767 阅读:23 留言:0更新日期:2022-01-15 12:44
本发明专利技术涉及数据管理技术领域,特别涉及一种基于DAG模型的数据ETL系统及使用方法,其中系统包括主节点服务、若干个工作节点服务、接口服务和Zookeeper服务;接口服务用于将节点元数据保存到数据库中;主节点服务用于查询数据库中的任务信息,将要执行的任务生成任务队列信息,并将任务队列信息保存到Zookeeper服务;工作节点服务用于通过读取Zookeeper服务的任务队列信息,去顺序执行任务,并在运行完后将任务状态保存到数据库。该系统包括主节点服务、若干工作节点服务、接口服务和Zookeeper服务,解决了传统的SQL语句对数据的处理不能实现可视化的效果,不能查看数据的血缘关系的问题,实现实时监控任务运行状态、支持多租户、支持多种任务类型,并且易于使用的效果。并且易于使用的效果。并且易于使用的效果。

【技术实现步骤摘要】
一种基于DAG模型的数据ETL系统及使用方法


[0001]本专利技术涉及数据管理
,特别涉及一种基于DAG模型的数据ETL系统及使用方法。

技术介绍

[0002]随着互联网技术的高速发展,数据产生的速度、数量也随之增长。为了有效利用这些隐藏价值的数据,需要对数据进行清洗、转换操作,实现数据的最大利用化。
[0003]CN201911121129.7的专利《一种多源数据统一SQL提供数据服务的方法》,提供了一种多源数据统一SQL提供数据服务的方法,包括数据标签管理、数据元标准管理、数据模型管理、数据实例化管理和数据服务管理。本专利技术实现了数据的标准化管理,并通过标准化后的SQL提供了异构数据的统一CRUD方法。克服了数据格式、定义混乱,不同能力水平的DBA对数据库架构方式不同引起的混乱,不同DSL整合的困难。解决了保持其他系统独立性的情况下外部数据和系统融合分析的问题。实现了多数据系统、多数据来源的数据统一管理,数据层的标准化、资产化和服务化。
[0004]然而,通过传统的SQL语句对数据的处理存在不能实现可视化的效果,不能查看数据的血缘关系的问题。

技术实现思路

[0005]为解决上述现有技术中传统的SQL语句对数据的处理存在不能实现可视化的效果,不能查看数据的血缘关系的问题,本专利技术提供一种基于DAG模型的数据ETL系统,其特征在于:包括主节点服务、若干个工作节点服务、接口服务和Zookeeper服务;
[0006]所述接口服务用于将节点元数据保存到数据库中;/>[0007]所述主节点服务用于查询所述数据库中的任务信息,将要执行的任务生成任务队列信息,并将任务队列信息保存到所述Zookeeper服务;
[0008]所述工作节点服务用于通过读取Zookeeper服务的任务队列信息,去顺序执行任务,并在运行完后将任务状态保存到所述数据库。
[0009]在一实施例中,所述主节点服务还用于通过监听所述Zookeeper服务的临时节点变化来确定所述工作节点服务的运行状态,并将异常信息显示以实现提醒;所述主节点服务还用于监控各个所述工作节点服务的负载情况,以将后续任务提交到负载较轻的所述工作节点服务运行。
[0010]在一实施例中,所述主节点服务包括调度器线程、分布式调度组件、执行器线程和任务管理线程,所述主节点服务各线程的执行步骤如下:
[0011]所述调度器线程定时扫描所述数据库中的command表,并根据不同任务的命令类型决定业务操作生成定时任务;
[0012]所述分布式调度组件对所述定时任务进行启停操作来调度任务;
[0013]调度后的任务通过所述执行器线程进行DAG任务切分、任务提交监控和命令类型
的逻辑处理;
[0014]所述任务管理线程将任务持久化,持久化指的是把任务的运行状态、运行时长、运行日志保存到所述数据库。
[0015]在一实施例中,各个所述工作节点服务启动时在所述Zookeeper服务注册临时节点并维持心跳,所述工作节点服务还通过所述Zookeeper服务进行分布式锁。
[0016]在一实施例中,各个所述工作节点均包括任务获取线程和日志服务;
[0017]所述任务获取线程用于从所述任务队列中领取任务并根据不同任务类型调用执行器;所述日志服务用于提供日志刷新、下载和分片查看。
[0018]在一实施例中,所述接口服务用于处理前端发送的请求;所述接口服务为API接口服务,并提供REST API接口调用方式,接口包括工作流的创建、定义、查询、修改、发布、下线、手工启动、停止、暂停、恢复任务。
[0019]在一实施例中,所述基于DAG模型的数据ETL系统还包括告警服务,所述告警服务接收所述主节点服务的告警信息;告警服务包括告警接口,所述告警接口包括告警的类型,告警数据的存储、查询和通知功能。
[0020]本专利技术还提供一种基于DAG模型的数据ETL系统的使用方法,包括以下步骤:
[0021]用户通过前端页面与接口服务进行通信并构建ETL流程;
[0022]所述接口服务在后台将节点元数据保存到数据库中;
[0023]主节点服务查询所述数据库中的任务信息,将要执行的任务生成任务队列信息,并将任务队列信息保存到Zookeeper服务;
[0024]工作节点服务用于通过读取Zookeeper服务的任务队列信息,去顺序执行任务,并在运行完后将任务状态保存到所述数据库完成所述ETL流程任务的调度。
[0025]在一实施例中,构建所述ETL流程包括以下步骤:
[0026]建立数据迁移以从业务库中抽取数据到数据仓库中;
[0027]在所述数据仓库中新建事实表,通过和维度表进行关联后将数据插入到所述事实表;
[0028]在所述数据仓库中新建汇总表,根据业务需求将统计后的数据插入到所述汇总表中;
[0029]把最终的结果数据迁移到所述业务库。
[0030]本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机被处理器执行时实现上述的一种基于DAG模型的数据ETL系统的使用方法。
[0031]与现有技术相比,本专利技术提供的一种基于DAG模型的数据ETL系统,包括主节点服务、若干个工作节点服务、接口服务和Zookeeper服务,通过接口服务节点元数据保存到数据库中,主节点服务查询所述数据库中的任务信息并将生成任务队列信息保存到Zookeeper服务,工作节点服务通过读取Zookeeper服务的任务队列信息,去顺序执行任务解决了传统的SQL语句对数据的处理存在不能实现可视化的效果,不能查看数据的血缘关系的问题,从而解决“复杂任务依赖”问题,实现实时监控任务运行状态、支持多租户、支持多种任务类型,并且易于使用的效果。
[0032]本专利技术的其它特征和有益效果将在随后的说明书中阐述,并且,部分地从说明书
中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他有益效果可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
[0033]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图;在下面描述中附图所述的位置关系,若无特别指明,皆是图示中组件绘示的方向为基准。
[0034]图1为本专利技术提供的一种基于DAG模型的数据ETL系统的架构图;
[0035]图2为本专利技术提供的一种ETL构建流程图。
具体实施方式
[0036]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例;下面所描述的本专利技术不本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于DAG模型的数据ETL系统,其特征在于:包括主节点服务、若干个工作节点服务、接口服务和Zookeeper服务;所述接口服务用于将节点元数据保存到数据库中;所述主节点服务用于查询所述数据库中的任务信息,将要执行的任务生成任务队列信息,并将任务队列信息保存到所述Zookeeper服务;所述工作节点服务用于通过读取Zookeeper服务的任务队列信息,去顺序执行任务,并在运行完后将任务状态保存到所述数据库。2.根据权利要求1所述的基于DAG模型的数据ETL系统,其特征在于:所述主节点服务还用于通过监听所述Zookeeper服务的临时节点变化来确定所述工作节点服务的运行状态,并将异常信息显示以实现提醒;所述主节点服务还用于监控各个所述工作节点服务的负载情况,以将后续任务提交到负载较轻的所述工作节点服务运行。3.根据权利要求2所述的基于DAG模型的数据ETL系统,其特征在于:所述主节点服务包括调度器线程、分布式调度组件、执行器线程和任务管理线程,所述主节点服务各线程的执行步骤如下:所述调度器线程定时扫描所述数据库中的command表,并根据不同任务的命令类型决定业务操作生成定时任务;所述分布式调度组件对所述定时任务进行启停操作来调度任务;调度后的任务通过所述执行器线程进行DAG任务切分、任务提交监控和命令类型的逻辑处理;所述任务管理线程将任务持久化,持久化指的是把任务的运行状态、运行时长、运行日志保存到所述数据库。4.根据权利要求1所述的基于DAG模型的数据ETL系统,其特征在于:各个所述工作节点服务启动时在所述Zookeeper服务注册临时节点并维持心跳,所述工作节点服务还通过所述Zookeeper服务进行分布式锁。5.根据权利要求1所述的基于DAG模型的数据ETL系统,其特征在于:各个所述工作节点均包括任务获取线程和日志服务;所述任务获取线程用于从所述任...

【专利技术属性】
技术研发人员:陈坤龙吴梁斌许晓琨詹进林
申请(专利权)人:易联众信息技术股份有限公司
类型:发明
国别省市:

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

1