基于Kettle的任务监管方法和装置制造方法及图纸

技术编号:20944136 阅读:42 留言:0更新日期:2019-04-24 02:15
本发明专利技术公开了一种基于Kettle的任务监管方法和装置,其涉及:至少两个Master节点,通过选举选出一活跃Master节点,令其处于工作状态,其他Master节点处于待命状态,Master节点与各个Slave节点数据通讯;Master节点将接收到的请求执行任务分发到Slave节点,接收Slave节点反馈的任务运行结果,将任务信息、任务运行结果以及自身的状态信息发送到Monitor;若干个Slave节点,用于任务的执行,并定时将自身信息反馈给Master节点;Mon‑itor收集所有Master节点状态,存储Master节点状态、Master节点接收到的任务进度、Slave节点的状态及对应运行任务信息,判断Master节点和Slave节点是否工作异常;Zookeeper集群存储各节点状态和执行任务进度信息。本发明专利技术可以确保任务的执行不受Carte集群的影响,可更便捷的操作没有数据时间的增量数据同步。

Task Supervision Method and Device Based on Kettle

The invention discloses a Kettle-based task monitoring method and device, which involves: at least two Master nodes are selected by electing an active Master node to keep it in working state, other Master nodes are in standby state, Master nodes communicate with each Slave node, Master nodes distribute received request execution tasks to Slave nodes and receive Slave nodes. Feedback results of task operation send task information, task operation results and their own status information to Mon itor; several Slave nodes for task execution, and feedback their own information to Master nodes at regular intervals; Mon itor collects all Master node status, stores Master node status, task progress received by Master node, Slave node status and corresponding transportation. Line task information to determine whether the Master node and Slave node are working abnormally; Zookeeper cluster stores the status of each node and the progress information of executing tasks. The invention can ensure that the execution of tasks is not affected by the Carte cluster, and can operate incremental data synchronization without data time more conveniently.

【技术实现步骤摘要】
基于Kettle的任务监管方法和装置
本专利技术涉及软件任务管理研究领域,特别涉及一种基于Kettle的任务监管方法和装置。
技术介绍
Kettle是一款开源的ETL工具,其设计页面功能丰富、流程可视化,能够满足大部分的ETL任务设计。Kettle的执行任务分为transformation(转换)和job(作业),可为用户提供不同的数据操作功能。transformation负责设计底层的数据操作,job负责整合多个job以及transformation的流程。Kettle编辑完成的transformation和job分类存储在本地文件系统或数据库中。Kettle的任务执行分为本地执行和服务级部署模式,carte为Kettle的服务级部署模式。现有的carte为集群模式,主要组件分为Master(主节点)和Slave(从节点),用于Kettle任务的执行。一般Master节点为单节点,Slave可进行扩展。在当前应用中,当Master节点出现异常进程退出或服务器宕机导致服务不可用时,Kettle无法调用carte执行任务。当Master接收到任务执行请求且分配了指定的Slave执行该任本文档来自技高网...

【技术保护点】
1.基于Kettle的任务监管方法,其特征在于,包括:设置至少两个Master节点,通过选举选出一活跃Master节点,令其处于工作状态,其他Master节点处于待命状态,活跃Master节点会与各个Slave节点进行数据通讯;设置一监管节点Monitor,Monitor节点判断当前处于工作状态的活跃Master节点是否工作异常,如果异常,则从待命状态的多个Master节点中重新选举一个节点并将其切换到工作状态。

【技术特征摘要】
1.基于Kettle的任务监管方法,其特征在于,包括:设置至少两个Master节点,通过选举选出一活跃Master节点,令其处于工作状态,其他Master节点处于待命状态,活跃Master节点会与各个Slave节点进行数据通讯;设置一监管节点Monitor,Monitor节点判断当前处于工作状态的活跃Master节点是否工作异常,如果异常,则从待命状态的多个Master节点中重新选举一个节点并将其切换到工作状态。2.根据权利要求1所述的基于Kettle的任务监管方法,其特征在于,从待命状态的Master节点中选举一个节点并将其切换到工作状态,步骤是:Monitor节点获取当前所有的Master节点心跳信息,当连续若干次间隔预定时间内没有收到来自当前活跃Master节点的心跳信息时,Monitor节点将发起选举请求给到所有的待命状态的Master节点触发Master选举;所有待命状态的Master节点之间进行通讯和选举,直至选举出统一意见的Master节点,该节点作为新的活跃Master节点切换到工作状态并将选举信息发送到Monitor,其他节点将自动切换到待命状态;待命状态的Master节点将只与活跃Master节点和Monitor节点进行通讯,与活跃Master节点进行任务信息的互通,与Monitor节点进行一个心跳信息的同步。3.根据权利要求1所述的基于Kettle的任务监管方法,其特征在于,所述基于Kettle的任务监管方法,还包括针对Slave节点的任务进行恢复方法,方法是:Slave节点定时将自身心跳以及当前运行的任务信息、任务执行状态信息发送到对应的Monitor节点;Monitor节点检测当前Slave节点是否工作异常,如果异常,则获取该Slave节点当前运行的未完成任务,将该未完成任务发送到活跃Master节点;活跃Master节点重新分配新的Slave节点执行任务,将上述分配信息同步上传到Monitor节点;新的Slave节点执行任务并定时将自身心跳以及当前运行的任务信息发送到对应的Monitor节点。4.根据权利要求1所述的基于Kettle的任务监管方法,其特征在于,所述基于Kettle的任务监管方法,还包括增量数据同步方法,方法是:在数据库input组件中增加offset记录,offset记录用于记录当前库表中数据处理的位置;在进行增量批处理时,当前批任务完毕后,将该offset记录存储到Zookeeper集群中对应Kettle的工作目录下;在下一次任务执行数据库查询时,在Zookeeper集群中查询对应任务的对应库表的offset记录;从获取到的offset记录记载的位置处开始获取数据;获取此次查询到的数据行数,更新offset记录信息。5.根据权利要求1所述的基于Kettle的任务监管方法,其特征在于,使用web端进行基于Kettle的任务监管,在该web端上设有用于修改各任务执行参数及调度频率的窗口。6.基于Kettle的任务监管装置,其特征在于,包括:至少两个M...

【专利技术属性】
技术研发人员:刘军施孝鹏陈金海
申请(专利权)人:广州君海网络科技有限公司
类型:发明
国别省市:广东,44

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

1