CN113934782A - 一种基于dag模型的数据etl系统及使用方法 - Google Patents
一种基于dag模型的数据etl系统及使用方法 Download PDFInfo
- Publication number
- CN113934782A CN113934782A CN202111106395.XA CN202111106395A CN113934782A CN 113934782 A CN113934782 A CN 113934782A CN 202111106395 A CN202111106395 A CN 202111106395A CN 113934782 A CN113934782 A CN 113934782A
- Authority
- CN
- China
- Prior art keywords
- service
- task
- node
- data
- database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000012544 monitoring process Methods 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 15
- 230000008569 process Effects 0.000 claims description 9
- 238000013508 migration Methods 0.000 claims description 6
- 230000005012 migration Effects 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 5
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 4
- 230000002688 persistence Effects 0.000 claims description 4
- 239000012634 fragment Substances 0.000 claims description 3
- 239000008280 blood Substances 0.000 abstract description 3
- 210000004369 blood Anatomy 0.000 abstract description 3
- 230000000694 effects Effects 0.000 abstract description 3
- 238000013523 data management Methods 0.000 abstract description 2
- 230000000007 visual effect Effects 0.000 abstract 1
- 238000007726 management method Methods 0.000 description 16
- 238000012800 visualization Methods 0.000 description 5
- 230000015654 memory Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013499 data model Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002408 directed self-assembly Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据管理技术领域,特别涉及一种基于DAG模型的数据ETL系统及使用方法,其中系统包括主节点服务、若干个工作节点服务、接口服务和Zookeeper服务;接口服务用于将节点元数据保存到数据库中;主节点服务用于查询数据库中的任务信息,将要执行的任务生成任务队列信息,并将任务队列信息保存到Zookeeper服务;工作节点服务用于通过读取Zookeeper服务的任务队列信息,去顺序执行任务,并在运行完后将任务状态保存到数据库。该系统包括主节点服务、若干工作节点服务、接口服务和Zookeeper服务,解决了传统的SQL语句对数据的处理不能实现可视化的效果,不能查看数据的血缘关系的问题,实现实时监控任务运行状态、支持多租户、支持多种任务类型,并且易于使用的效果。
Description
技术领域
本发明涉及数据管理技术领域,特别涉及一种基于DAG模型的数据ETL系统及使用方法。
背景技术
随着互联网技术的高速发展,数据产生的速度、数量也随之增长。为了有效利用这些隐藏价值的数据,需要对数据进行清洗、转换操作,实现数据的最大利用化。
CN201911121129.7的专利《一种多源数据统一SQL提供数据服务的方法》,提供了一种多源数据统一SQL提供数据服务的方法,包括数据标签管理、数据元标准管理、数据模型管理、数据实例化管理和数据服务管理。本发明实现了数据的标准化管理,并通过标准化后的SQL提供了异构数据的统一CRUD方法。克服了数据格式、定义混乱,不同能力水平的DBA对数据库架构方式不同引起的混乱,不同DSL整合的困难。解决了保持其他系统独立性的情况下外部数据和系统融合分析的问题。实现了多数据系统、多数据来源的数据统一管理,数据层的标准化、资产化和服务化。
然而,通过传统的SQL语句对数据的处理存在不能实现可视化的效果,不能查看数据的血缘关系的问题。
发明内容
为解决上述现有技术中传统的SQL语句对数据的处理存在不能实现可视化的效果,不能查看数据的血缘关系的问题,本发明提供一种基于DAG模型的数据ETL系统,其特征在于:包括主节点服务、若干个工作节点服务、接口服务和Zookeeper服务;
所述接口服务用于将节点元数据保存到数据库中;
所述主节点服务用于查询所述数据库中的任务信息,将要执行的任务生成任务队列信息,并将任务队列信息保存到所述Zookeeper服务;
所述工作节点服务用于通过读取Zookeeper服务的任务队列信息,去顺序执行任务,并在运行完后将任务状态保存到所述数据库。
在一实施例中,所述主节点服务还用于通过监听所述Zookeeper服务的临时节点变化来确定所述工作节点服务的运行状态,并将异常信息显示以实现提醒;所述主节点服务还用于监控各个所述工作节点服务的负载情况,以将后续任务提交到负载较轻的所述工作节点服务运行。
在一实施例中,所述主节点服务包括调度器线程、分布式调度组件、执行器线程和任务管理线程,所述主节点服务各线程的执行步骤如下:
所述调度器线程定时扫描所述数据库中的command表,并根据不同任务的命令类型决定业务操作生成定时任务;
所述分布式调度组件对所述定时任务进行启停操作来调度任务;
调度后的任务通过所述执行器线程进行DAG任务切分、任务提交监控和命令类型的逻辑处理;
所述任务管理线程将任务持久化,持久化指的是把任务的运行状态、运行时长、运行日志保存到所述数据库。
在一实施例中,各个所述工作节点服务启动时在所述Zookeeper服务注册临时节点并维持心跳,所述工作节点服务还通过所述Zookeeper服务进行分布式锁。
在一实施例中,各个所述工作节点均包括任务获取线程和日志服务;
所述任务获取线程用于从所述任务队列中领取任务并根据不同任务类型调用执行器;所述日志服务用于提供日志刷新、下载和分片查看。
在一实施例中,所述接口服务用于处理前端发送的请求;所述接口服务为API接口服务,并提供REST API接口调用方式,接口包括工作流的创建、定义、查询、修改、发布、下线、手工启动、停止、暂停、恢复任务。
在一实施例中,所述基于DAG模型的数据ETL系统还包括告警服务,所述告警服务接收所述主节点服务的告警信息;告警服务包括告警接口,所述告警接口包括告警的类型,告警数据的存储、查询和通知功能。
本发明还提供一种基于DAG模型的数据ETL系统的使用方法,包括以下步骤:
用户通过前端页面与接口服务进行通信并构建ETL流程;
所述接口服务在后台将节点元数据保存到数据库中;
主节点服务查询所述数据库中的任务信息,将要执行的任务生成任务队列信息,并将任务队列信息保存到Zookeeper服务;
工作节点服务用于通过读取Zookeeper服务的任务队列信息,去顺序执行任务,并在运行完后将任务状态保存到所述数据库完成所述ETL流程任务的调度。
在一实施例中,构建所述ETL流程包括以下步骤:
建立数据迁移以从业务库中抽取数据到数据仓库中;
在所述数据仓库中新建事实表,通过和维度表进行关联后将数据插入到所述事实表;
在所述数据仓库中新建汇总表,根据业务需求将统计后的数据插入到所述汇总表中;
把最终的结果数据迁移到所述业务库。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机被处理器执行时实现上述的一种基于DAG模型的数据ETL系统的使用方法。
与现有技术相比,本发明提供的一种基于DAG模型的数据ETL系统,包括主节点服务、若干个工作节点服务、接口服务和Zookeeper服务,通过接口服务节点元数据保存到数据库中,主节点服务查询所述数据库中的任务信息并将生成任务队列信息保存到Zookeeper服务,工作节点服务通过读取Zookeeper服务的任务队列信息,去顺序执行任务解决了传统的SQL语句对数据的处理存在不能实现可视化的效果,不能查看数据的血缘关系的问题,从而解决“复杂任务依赖”问题,实现实时监控任务运行状态、支持多租户、支持多种任务类型,并且易于使用的效果。
本发明的其它特征和有益效果将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他有益效果可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图;在下面描述中附图所述的位置关系,若无特别指明,皆是图示中组件绘示的方向为基准。
图1为本发明提供的一种基于DAG模型的数据ETL系统的架构图;
图2为本发明提供的一种ETL构建流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例;下面所描述的本发明不同实施方式中所设计的技术特征只要彼此之间未构成冲突就可以相互结合;基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,本发明所使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域的普通技术人员通常所理解的含义相同的含义,不能理解为对本发明的限制;应进一步理解,本发明所使用的术语应被理解为具有与这些术语在本说明书的上下文和相关领域中的含义一致的含义,并且不应以理想化或过于正式的意义来理解,除本发明中明确如此定义之外。
下面给出具体实施方式:
参考图1,一种基于DAG模型的数据ETL系统,包括主节点服务、若干个工作节点服务、接口服务和Zookeeper服务;所述接口服务用于将节点元数据保存到数据库中;所述主节点服务用于查询所述数据库中的任务信息,将要执行的任务生成任务队列信息,并将任务队列信息保存到所述Zookeeper服务;所述工作节点服务用于通过读取Zookeeper服务的任务队列信息,去顺序执行任务,并在运行完后将任务状态保存到所述数据库。
其中,数据库用于保存包括但不限于每个任务的配置信息、当前系统的一些资源路径、用户管理相关信息。每个任务的配置信息包括但不限于节点元数据、任务运行状态、告警信息、任务的定时调度信息。节点元数据为每个运行节点的配置信息,包括但不限于节点名称、运行出错重试次数、数据库的连接方式,提供任务失败重试,确保任务因网络不稳定是能成功执行。
与现有技术相比,本发明提供的一种基于DAG模型的数据ETL系统,包括主节点服务、若干个工作节点服务、接口服务和Zookeeper服务,通过接口服务节点元数据保存到数据库中,主节点服务查询所述数据库中的任务信息并将生成任务队列信息保存到Zookeeper服务,工作节点服务通过读取Zookeeper服务的任务队列信息,去顺序执行任务解决了传统的SQL语句对数据的处理存在不能实现可视化的效果,不能查看数据的血缘关系的问题,从而解决“复杂任务依赖”问题,实现实时监控任务运行状态、支持多租户、支持多种任务类型,并且易于使用的效果。
具体的,主节点服务采用分布式设计理念,主要负责DAG任务切分、任务提交监控,并同时监听工作节点服务的健康状态。
主节点服务通过监听Zookeeper服务的临时节点变化来确定工作节点服务的运行状态,并将异常信息显示以实现提醒,具体的,若哪台工作节点服务出现故障,则出现告警信息并通知维护人员,且不会把任务分发到该工作节点服务。
主节点服务还监控各个工作节点服务的负载情况,以将后续任务提交到负载较轻的工作节点服务运行,均衡各个工作节点服务的运行状况,可以选择最佳性能服务器去运行任务,提高任务的执行速度。
具体的,主节点服务包括调度器线程、分布式调度组件、执行器线程和任务管理线程。
其中,调度器线程,用于定时扫描数据库中的command表,根据不同的命令类型进行不同的业务操作;分布式调度组件,主要用于负责定时任务的启停操作;执行器线程,主要用于负责DAG任务切分、任务提交监控、各种不同命令类型的逻辑处理;任务管理线程,主要用于负责任务的持久化。
主节点服务各线程的执行步骤如下:
调度器线程定时扫描数据库中的command表,并根据不同任务的命令类型决定业务操作生成定时任务;分布式调度组件对定时任务进行启停操作来调度任务;调度后的任务通过执行器线程进行DAG任务切分、任务提交监控和命令类型的逻辑处理;任务管理线程将任务持久化,持久化指的是把任务的运行状态、运行时长、运行日志保存到数据库。
其中,command表中保存的是任务节点的类型,包括但不限于shell脚本节点、进程节点、数据库操作节点、python脚本节点,用户根据实际情况拖拽对应的节点到工作编辑面板,进行相关参数的设置,通过连接节点来控制数据处理的顺序。DAG任务切分为生成任务中每个节点的执行顺序,任务提交监控即跟踪任务提交到工作节点服务的状态。
具体的,工作节点服务采用分布式无中心设计方式,工作节点服务主要用于负责任务的执行和提供日志服务。各个工作节点均包括任务获取线程和日志服务:
任务获取线程用于从任务队列中领取任务并根据不同任务类型调用执行器,不断从任务队列中领取任务,并根据不同任务类型调用Task Scheduler Thread对应执行器,该执行器线程为工作节点服务内的执行器线程,根据任务的类型进行划分不同的执行器类型,任务类型包括但不限于shell、MR、spark、SQL(MySQL、postgresql、hive、gbase)、python、sub_process、procedure。
日志服务是一个RPC服务,用于提供包括但不限于日志刷新、下载和分片查看,任务运行完后会有成功、失败、手动停止等状态,系统会将该任务状态保存到数据库,可以通过使用页面查询不同状态的任务数及运行日志。
各个工作节点服务启动时在Zookeeper服务注册临时节点并维持心跳,心跳用于监控工作节点服务的运行状态。工作节点服务还通过Zookeeper服务进行分布式锁,在分布式系统中,为了保证数据的一致性,在同一时间只允许一个程序去操作数据,通过分布式锁保证数据的可靠性。
具体的,接口服务为API接口服务,并提供REST API接口调用方式处理前端发送的请求,接口包括但不限于工作流的创建、定义、查询、修改、发布、下线、手工启动、停止、暂停、恢复任务。接口服务用于将节点元数据保存到数据库中,具体的,用户通过前端页面与API接口服务进行通信,API接口服务会在后台进行任务配置信息保存操作。
较佳的,基于DAG模型的数据ETL系统还包括告警服务,告警服务接收主节点服务的告警信息,告警服务包括告警接口,所述告警接口包括告警的类型,告警数据的存储、查询和通知功能。通知功能包括邮件通知和短信通知两种。
告警服务将监控任务的状态、服务器的资源使用情况,并在前端页面进行展示,以方便用户监控。
具体的,主节点服务通过监听Zookeeper临时节点变化来确定工作节点服务的运行状态,若哪台工作节点服务挂了,则出现告警信息,告警信息被告警服务接收,告警服务通知维护人员。
主节点服务监控各工作节点服务的负载情况,告警服务展示服务器的资源使用情况,以便调配。
具体的,Zookeeper服务用于提供注册服务,工作节点服务通过Zookeeper来进行集群管理和容错,保证了任务的有效分发和整个集群的负载均衡。另外工作节点服务基于Zookeeper进行分布式锁,主节点服务基于Zookeeper服务进行事件监听。
本发明还提供一种基于DAG模型的数据ETL系统的使用方法,包括以下步骤:用户通过前端页面与接口服务进行通信并构建ETL流程;所述接口服务在后台将节点元数据保存到数据库中;主节点服务查询所述数据库中的任务信息,将要执行的任务生成任务队列信息,并将任务队列信息保存到Zookeeper服务;工作节点服务用于通过读取Zookeeper服务的任务队列信息,去顺序执行任务,并在运行完后将任务状态保存到所述数据库完成所述ETL流程任务的调度。
其中,主节点服务包括调度器线程、分布式调度组件、执行器线程和任务管理线程,主节点服务各线程的执行步骤如下:
调度器线程定时扫描数据库中的command表,并根据不同任务的命令类型决定业务操作生成定时任务;调度器线程对定时任务进行启停操作来调度任务;调度后的任务通过执行器线程进行DAG任务切分、任务提交监控和命令类型的逻辑处理;任务管理线程将任务持久化。
较佳的,主节点服务通过监听Zookeeper服务的临时节点变化来确定工作节点服务的运行状态,当工作节点服务的运行状态出现异常时,如哪台工作节点服务出现故障,则出现告警信息,告警信息被告警服务接收并通知维护人员,且不会把任务分发到该工作节点服务。
较佳的,主节点服务还监控各个工作节点服务的负载情况,以将后续任务提交到负载较轻的工作节点服务运行,均衡各个工作节点服务的运行状况。
较佳的,各个工作节点服务启动时在所述Zookeeper服务注册临时节点并维持心跳,心跳用于监控工作节点服务的运行状态,工作节点服务还通过Zookeeper服务进行分布式锁。
具体的,参考图2,构建ETL流程包括以下步骤:
建立数据迁移以从业务库中抽取数据到数据仓库中;在所述数据仓库中新建事实表,通过和维度表进行关联后将数据插入到所述事实表;在所述数据仓库中新建汇总表,根据业务需求将统计后的数据插入到所述汇总表中;把最终的结果数据迁移到所述业务库。
其中,数据仓库的主要应用是OLAP(on-line analytical processing,在线分析处理),支持复杂、多维度的分析操作,侧重决策支持,并且提供直观易懂的查询结果。维度表是用来分析数据的窗口,维度表中包含事实表中事实记录的特性,包含帮助汇总数据的特性的层次结构,例如时间维度、地区维度。事实表包含一个实体的属性信息和相关维度信息,通过某个维度统计得到汇总表。
具体实施时,迁移业务数据库到数据仓库,在数据仓库中做分层建设,根据业务需求建立事实表和汇总表,最终将汇总表加载到业务数据库供业务需求调用或进行大屏展示等具体应用。
本发明提供多种类型任务节点,用户根据实际情况拖拽对应的节点到工作编辑面板,进行相关参数的设置,通过连接节点来控制数据处理的顺序。
实施例:
建立数据迁移节点,该节点类型为执行shell脚本,在脚本文本框中输入要执行的脚本,点击确定保存当前节点的信息;
新建事实表节点,该节点为SQL脚本节点,通过执行SQL脚本新建一张事实表,首先选择数据源,SQL类型包括查询和非查询,根据业务需求进行选择,接着在SQL语句文本框中输入数据建表语句;
插入数据到事实表节点,该节点为SQL脚本节点,通过执行SQL脚本插入数据到事实表,首先选择数据源,SQL类型包括查询和非查询,根据业务需求进行选择,接着在SQL语句文本框中输入插入语句;
新建汇总表节点,该节点为SQL脚本节点,通过执行SQL脚本新建一张汇总表,首先选择数据源,SQL类型包括查询和非查询,根据业务需求进行选择,接着在SQL语句文本框中输入建表语句;
建立插入数据到汇总表节点:该节点为SQL脚本节点,通过执行SQL脚本插入数据到汇总表,首先选择数据源,SQL类型包括查询和非查询,根据业务需求进行选择,接着在SQL语句文本框中输入插入语句;
建立数据迁移到业务表节点:该节点类型为执行shell脚本,在脚本文本框中输入要执行的脚本,点击确定保存当前节点的信息。
各节点通过线条连接起来,表示该任务的执行顺序,建表,插入数据,迁移,完成ETL的整个过程,通过基于DAG模型的数据ETL系统可以很好的进行每个任务节点的监控,日志可以查看任务执行的详细信息。
本发明还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,该计算机指令被处理器执行时可实现上述基于DAG模型的数据ETL系统的使用方法。
具体实施时,计算机可读存储介质为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(FlashMemory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;计算机可读存储介质还可以包括上述种类的存储器的组合。
与现有技术相比,本发明提供的一种基于DAG模型的数据ETL系统,包括主节点服务、若干个工作节点服务、接口服务和Zookeeper服务,通过接口服务节点元数据保存到数据库中,主节点服务查询所述数据库中的任务信息并将生成任务队列信息保存到Zookeeper服务,工作节点服务通过读取Zookeeper服务的任务队列信息,去顺序执行任务解决了传统的SQL语句对数据的处理存在不能实现可视化的效果,不能查看数据的血缘关系的问题,从而解决“复杂任务依赖”问题,实现实时监控任务运行状态、支持多租户、支持多种任务类型,并且易于使用的效果。
另外,本领域技术人员应当理解,尽管现有技术中存在许多问题,但是,本发明的每个实施例或技术方案可以仅在一个或几个方面进行改进,而不必同时解决现有技术中或者背景技术中列出的全部技术问题。本领域技术人员应当理解,对于一个权利要求中没有提到的内容不应当作为对于该权利要求的限制。
尽管本文中较多的使用了诸如主节点服务、工作节点服务、接口服务、Zookeeper服务、节点元数据、数据库、任务队列信息……术语,但并不排除使用其它术语的可能性。使用这些术语仅仅是为了更方便地描述和解释本发明的本质;把它们解释成任何一种附加的限制都是与本发明精神相违背的;本发明实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”、等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
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系统,其特征在于:各个所述工作节点均包括任务获取线程和日志服务;
所述任务获取线程用于从所述任务队列中领取任务并根据不同任务类型调用执行器;所述日志服务用于提供日志刷新、下载和分片查看。
6.根据权利要求1所述的基于DAG模型的数据ETL系统,其特征在于:所述接口服务用于处理前端发送的请求;所述接口服务为API接口服务,并提供REST API接口调用方式,接口包括工作流的创建、定义、查询、修改、发布、下线、手工启动、停止、暂停、恢复任务。
7.根据权利要求1所述的基于DAG模型的数据ETL系统,其特征在于:所述基于DAG模型的数据ETL系统还包括告警服务,所述告警服务接收所述主节点服务的告警信息;告警服务包括告警接口,所述告警接口包括告警的类型,告警数据的存储、查询和通知功能。
8.一种基于DAG模型的数据ETL系统的使用方法,其特征在于:包括以下步骤:
用户通过前端页面与接口服务进行通信并构建ETL流程;
所述接口服务在后台将节点元数据保存到数据库中;
主节点服务查询所述数据库中的任务信息,将要执行的任务生成任务队列信息,并将任务队列信息保存到Zookeeper服务;
工作节点服务用于通过读取Zookeeper服务的任务队列信息,去顺序执行任务,并在运行完后将任务状态保存到所述数据库完成所述ETL流程任务的调度。
9.一种基于DAG模型的数据ETL系统的使用方法,其特征在于:构建所述ETL流程包括以下步骤:
建立数据迁移以从业务库中抽取数据到数据仓库中;
在所述数据仓库中新建事实表,通过和维度表进行关联后将数据插入到所述事实表;
在所述数据仓库中新建汇总表,根据业务需求将统计后的数据插入到所述汇总表中;
把最终的结果数据迁移到所述业务库。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机指令,所述计算机被处理器执行时实现如权利要求8-9任一项所述的一种基于DAG模型的数据ETL系统的使用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111106395.XA CN113934782A (zh) | 2021-09-22 | 2021-09-22 | 一种基于dag模型的数据etl系统及使用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111106395.XA CN113934782A (zh) | 2021-09-22 | 2021-09-22 | 一种基于dag模型的数据etl系统及使用方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113934782A true CN113934782A (zh) | 2022-01-14 |
Family
ID=79276160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111106395.XA Pending CN113934782A (zh) | 2021-09-22 | 2021-09-22 | 一种基于dag模型的数据etl系统及使用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113934782A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116048709A (zh) * | 2023-04-03 | 2023-05-02 | 深圳迅策科技有限公司 | 一种高扩展性的实时及离线数据处理系统 |
CN116996505A (zh) * | 2023-09-27 | 2023-11-03 | 天津神舟通用数据技术有限公司 | 一种基于调度引擎的文件交换控制方法和系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853820A (zh) * | 2014-02-20 | 2014-06-11 | 北京用友政务软件有限公司 | 一种数据处理方法及系统 |
KR20180072295A (ko) * | 2016-12-21 | 2018-06-29 | 세림티에스지(주) | 분산 인 메모리 환경에서 실시간 스트림 데이터 처리를 위한 동적 잡 스케쥴링 시스템 및 방법 |
CN110019195A (zh) * | 2017-09-27 | 2019-07-16 | 北京国双科技有限公司 | 一种数据的存储方法及装置 |
CA3168286A1 (en) * | 2019-01-18 | 2020-07-23 | 10353744 Canada Ltd. | Data flow processing method and system |
US20200327124A1 (en) * | 2019-04-10 | 2020-10-15 | Snowflake Inc. | Internal resource provisioning in database systems |
US10873592B1 (en) * | 2019-12-23 | 2020-12-22 | Lacework Inc. | Kubernetes launch graph |
CN112364094A (zh) * | 2020-11-17 | 2021-02-12 | 珠海市卓轩科技有限公司 | 数据仓库可视化建模方法、装置及介质 |
CN112379995A (zh) * | 2021-01-11 | 2021-02-19 | 北京江融信科技有限公司 | 一种基于dag的单元化分布式调度系统及方法 |
CN112764902A (zh) * | 2021-01-21 | 2021-05-07 | 上海明略人工智能(集团)有限公司 | 任务调度方法及系统 |
CN113254010A (zh) * | 2021-07-09 | 2021-08-13 | 广州光点信息科技有限公司 | 一种可视化dag工作流任务调度系统及其运行方法 |
-
2021
- 2021-09-22 CN CN202111106395.XA patent/CN113934782A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853820A (zh) * | 2014-02-20 | 2014-06-11 | 北京用友政务软件有限公司 | 一种数据处理方法及系统 |
KR20180072295A (ko) * | 2016-12-21 | 2018-06-29 | 세림티에스지(주) | 분산 인 메모리 환경에서 실시간 스트림 데이터 처리를 위한 동적 잡 스케쥴링 시스템 및 방법 |
CN110019195A (zh) * | 2017-09-27 | 2019-07-16 | 北京国双科技有限公司 | 一种数据的存储方法及装置 |
CA3168286A1 (en) * | 2019-01-18 | 2020-07-23 | 10353744 Canada Ltd. | Data flow processing method and system |
US20200327124A1 (en) * | 2019-04-10 | 2020-10-15 | Snowflake Inc. | Internal resource provisioning in database systems |
US10873592B1 (en) * | 2019-12-23 | 2020-12-22 | Lacework Inc. | Kubernetes launch graph |
CN112364094A (zh) * | 2020-11-17 | 2021-02-12 | 珠海市卓轩科技有限公司 | 数据仓库可视化建模方法、装置及介质 |
CN112379995A (zh) * | 2021-01-11 | 2021-02-19 | 北京江融信科技有限公司 | 一种基于dag的单元化分布式调度系统及方法 |
CN112764902A (zh) * | 2021-01-21 | 2021-05-07 | 上海明略人工智能(集团)有限公司 | 任务调度方法及系统 |
CN113254010A (zh) * | 2021-07-09 | 2021-08-13 | 广州光点信息科技有限公司 | 一种可视化dag工作流任务调度系统及其运行方法 |
Non-Patent Citations (2)
Title |
---|
DOLPHINSCHEDULER社区: "Apache DolphinScheduler 1.2.0 使用文档(1/8):架构及名词解释", pages 1 - 4, Retrieved from the Internet <URL:https://blog.csdn.net/DolphinScheduler/article/details/109984148> * |
代立东: "Apache DolphinScheduler 1.3.2 发布,架构升级,性能提升 2~3 倍", pages 1 - 10, Retrieved from the Internet <URL:https://blog.csdn.net/oDaiLiDong/article/details/108513690> * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116048709A (zh) * | 2023-04-03 | 2023-05-02 | 深圳迅策科技有限公司 | 一种高扩展性的实时及离线数据处理系统 |
CN116996505A (zh) * | 2023-09-27 | 2023-11-03 | 天津神舟通用数据技术有限公司 | 一种基于调度引擎的文件交换控制方法和系统 |
CN116996505B (zh) * | 2023-09-27 | 2023-12-15 | 天津神舟通用数据技术有限公司 | 一种基于调度引擎的文件交换控制方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10515059B2 (en) | Time slider operator for temporal data aggregation | |
JP6223569B2 (ja) | ビジネスフローをスケジュールするためのコンピュータ装置、方法及び装置 | |
US7149736B2 (en) | Maintaining time-sorted aggregation records representing aggregations of values from multiple database records using multiple partitions | |
US10216782B2 (en) | Processing of updates in a database system using different scenarios | |
CN106126403B (zh) | Oracle数据库故障分析方法和装置 | |
CN111125444A (zh) | 大数据任务调度管理方法、装置、设备及存储介质 | |
CN113934782A (zh) | 一种基于dag模型的数据etl系统及使用方法 | |
US9600299B2 (en) | Application object framework | |
US11329869B2 (en) | Self-monitoring | |
US11176004B2 (en) | Test continuous log replay | |
KR20150118963A (ko) | 큐 모니터링 및 시각화 | |
CN117149873A (zh) | 一种基于流批一体化的数据湖服务平台构建方法 | |
WO2021037684A1 (en) | System for persisting application program data objects | |
CN113641739B (zh) | 一种基于Spark的智能数据转换方法 | |
US20230081067A1 (en) | System and method for query acceleration for use with data analytics environments | |
US20220229692A1 (en) | Method and device for data task scheduling, storage medium, and scheduling tool | |
CN113722141A (zh) | 数据任务的延迟原因确定方法、装置、电子设备及介质 | |
US20230025504A1 (en) | Querying development toolchain work items in batches | |
US10810190B2 (en) | Database blocking detection | |
US10324758B1 (en) | Read load task throttling | |
Sink | A real-time database system for managing aquarium data | |
US11947488B2 (en) | Graphic migration of unstructured data | |
US20240028823A1 (en) | System and method for maintaining links and revisions | |
US8880458B2 (en) | Data and meta data variants extending actual data for planning | |
CN117931789B (zh) | 数据回收任务的有序处理方法、系统、计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |