基于Hadoop的工作流管理方法和装置与流程

文档序号:16096883发布日期:2018-11-27 23:41阅读:294来源:国知局

本发明涉及通信技术领域,尤其涉及一种基于Hadoop的工作流管理方法和装置。



背景技术:

随着移动互联网的快速发展,对大数据的获取和实时处理数据的要求越来越高,在日志处理、场景业务分析、行为分析等方面,传统的写日志方式已经满足不了业务的需求。

随着业务指标的增大,使用Hadoop平台处理大数据已经成为一种趋势,用户可以在不了解分布式底层细节的情况下,开发分布式程序,利用节点集群进行数据的高速运算和存储。但是,目前提供Oozie、Zeus、Azkaban等Hadoop的工作流调度引擎,虽然可以实现在Hadoop平台上任务处理,但问题在于,配置过程繁琐复杂,且可视化界面并不是很直观,导致在Hadoop平台上任务处理越来越复杂。

综上所述,针对目前基于Hadoop平台的工作流管理方案,当数据量增大时,在工作流节点的配置过程复杂,工作流节点的扩展性差,导致不易于管理大量任务。



技术实现要素:

本发明提供一种基于Hadoop的工作流管理方法和装置,用于解决上述当数据量增大时,基于Hadoop的工作流配置复杂、可视化管理不直观,导致工作流节点的扩展性差,不易于管理大量任务的问题。

本发明第一方面提供一种基于Hadoop的工作流管理方法,包括:

使用MXGRAPH定义工作流,所述工作流中包括至少两个节点;

获取所述工作流对应的可扩展标记语言XML内容,并将所述工作流对应的XML内容转换成Hadoop任务进行执行。

可选的,所述使用MXGRAPH定义工作流,包括:

根据MXGRAPH提供的工具,配置节点栏,并在所述节点栏中添加所有节点类型;

根据所述节点栏中提供的节点类型,将所述工作流中要使用的至少两个节点绘制在工作流区域;

配置所述工作流中的所述至少两个节点之间的关系和每个节点的属性参数。

可选的,获取所述工作流对应的可扩展标记语言XML内容之前,所述方法还包括:

若所述工作流为初始创建的工作流,则重新定义所述工作流对应的XML内容;

否则,将已存在的XML内容中的每个节点的属性参数按照所述工作流中的节点的属性参数进行修改。

可选的,配置每个节点的属性参数,包括:

配置每个节点的执行类路径、优先级以及失败重试次数;所述节点的属性参数包括执行类路径、优先级以及失败重试次数。

根据所述工作流标识和节点类型以及节点标识保存配置的每个节点的属性参数。

可选的,所述方法还包括:

通过MXGRAPH添加图层的方式对所述工作流中的节点的执行情况进行监控。

可选的,所述方法还包括:

根据用户操作,将所述至少三个节点之间的关系和每个节点的属性参数进行存储。

可选的,所述将所述至少三个节点之间的关系和每个节点的属性参数进行存储,包括:

根据所述工作流的标识,每个节点的类型和节点的标识,存储所述至少三个节点之间的关系和每个节点的属性参数。

本发明第二方面提供一种基于Hadoop的工作流管理装置,包括:

定义模块,用于使用MXGRAPH定义工作流,所述工作流中包括至少两个节点;

处理模块,用于获取所述工作流对应的可扩展标记语言XML内容,并将所述工作流对应的XML内容转换成Hadoop任务进行执行。

可选的,所述定义模块,具体用于:

根据MXGRAPH提供的工具,配置节点栏,并在所述节点栏中添加所有节点类型;

根据所述节点栏中提供的节点类型,将所述工作流中要使用的至少三个节点绘制在工作流区域;

配置所述工作流中的所述至少三个节点之间的关系和每个节点的属性参数。

可选的,第一定义模块,具体用于:

若所述工作流为初始创建的工作流,则重新定义所述工作流对应的XML内容;

否则,将已存在的XML内容中的每个节点的属性参数按照所述工作流中的节点的属性参数进行修改。

可选的,所述第一定义模块,具体用于:

配置每个节点的执行类路径、优先级以及失败重试次数;所述节点的属性参数包括执行类路径、优先级以及失败重试次数。

根据所述工作流标识和节点类型以及节点标识保存配置的每个节点的属性参数。

可选的,其特征在于,所述装置还包括:

监控模块,用于通过MXGRAPH添加图层的方式对所述工作流中的节点的执行情况进行监控。

本发明第三方面提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,电子设备执行所述计算机程序实现第一方面任一项所述的基于Hadoop的工作流管理方法。

本发明第四方面提供一种电子设备,其特征在于,包括:处理器、存储器以及计算机程序;所述计算机程序存储在所述存储器中,所述处理器执行所述计算机程序实现第一方面任一项所述的基于Hadoop的工作流管理方法。

本发明实施例提供的基于Hadoop的工作流管理方法、装置、设备和存储介质,通过使用MXGRAPH定义工作流,再获取该工作流对应的可扩展标记语言XML内容,并将该工作流对应的XML内容转换成Hadoop任务进行执行,实现了基于Hadoop工作流的可视化管理,提高了任务处理的效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例提供的基于Hadoop的工作流管理方法实施例一的流程图;

图2为本发明实施例提供的基于Hadoop的工作流管理方法实施例二的流程图;

图3为本发明实施例提供的基于Hadoop的工作流管理方法实施例三的流程图;

图4为本发明实施例提供的基于Hadoop的工作流管理装置实施例一的结构示意图;

图5为本发明实施例提供的基于Hadoop的工作流管理装置实施例二的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

目前提供Oozie、Zeus、Azkaban等Hadoop的工作流调度引擎,虽然可以实现在Hadoop平台上任务处理,但问题在于,配置过程繁琐复杂,且可视化界面并不是很直观,导致在Hadoop平台上任务处理越来越复杂。

针对上述问题,本发明提供一种基于Hadoop的工作流管理方法,提供更有效更方便的工作流管理方案,提高了任务处理的效率。

本发明提供的基于Hadoop的工作流管理方法可以应用在电脑等终端设备中,该终端设备至少包括:一个或多个处理器以及一个或多个存储器,还可以包括显示器、收发器、网络接口或者其他接口等,对此本方案不做限制。

下面通过几个具体实施方式,对本方案进行详细说明。

图1为本发明实施例提供的基于Hadoop的工作流管理方法实施例一的流程图,如图1所示,该基于Hadoop的工作流管理方法具体包括以下步骤:

S101、使用MXGRAPH定义工作流。

MXGRAPH可以为一个具备网页画图功能且支持常用的鼠标拖拽、鼠标左右键操作的一个应用程序。在MXGRAPH界面可以开发配置工作流页面,工作流定义页面由三个部分组成,工具栏、节点栏和工作流区域。工具栏主要用于对当前编辑内容的保存删除和窗口大小调整,具体地,在MXGRAPH中可以使用HTML DOM作为容器创建工具栏对象,并添加编辑工具,例如,保存、删除、放大、缩小等,这些底层操作对象都有相应的应用程序接口(Application Programming Interface,API)支持。节点栏用于提供当前系统可支持的所有节点类型,方便用户配置各种类型的工作流和其他作业,具体地,以上述工具栏中相同的HTML DOM作为容器创建节点栏对象,并添加所有Hadoop常见的作业类型,例如,上传、Hive、Pig、Shell、加载、自定义作业等,另外,这些作业类型支持鼠标拖拽功能,便于后面工作流定义,在一种实现方式中,可以通过调用底层API将常见的节点类型加载到MXGRAPH。

在本步骤中,使用MXGRAPH定义工作流,可以为在MXGRAPH应用程序的界面配置工作流节点以及各个节点的关系,配置工作流节点可以为对每一个节点进行编辑,即配置工作流中各个节点的属性参数,该属性参数可以包括执行次数、执行路径等。该各个节点的关系可以为执行各个节点的顺序,可以采用有向连接线连接,也可以采用由左至右的顺序,一次执行各个节点。

S102、获取该工作流对应的可扩展标记语言XML内容,并将该工作流对应的XML内容转换成Hadoop任务进行执行。

在本步骤中,在MXGRAPH定义完成工作流之后,可以针对该工作流生成对应的可扩展标记语言XML内容,XML文件里有对应的参数,例如,XML内容里第一行可以表示第一个节点的执行路径,第二行的参数可以表示第一个节点的执行次数。具体根据MXGRAPH应用程序在开发过程中的设置为准,本方案对此不做限制。

进一步地,由于Hadoop是一个由Apache基金会所开发的分布式系统基础架构,可以在不了解分布式底层细节的情况下,就可以完成数据的运算和存储。这里可以通过开源框架或自主研发的解析引擎将该工作流对应的XML内容转换成Hadoop任务,Hadoop从XML中查找到对应的参数解析成Hadoop可识别的参数形式并通过对应的API进行加载,然后Hadoop调用相应的API加载的内容,便可执行相应的任务。比如,在开发Hadoop时设置第一应用程序接口加载路径信息,那么只需从对应的XML内容中查找到路径信息,并解析成Hadoop可识别的参数形式,然后通过第一第一应用程序接口进行加载,

Hadoop在执行任务时调用第一应用程序接口加载的内容。

可选的,通过MXGRAPH添加图层的方式对该工作流中的节点的执行情况进行监控。具体地,在执行Hadoop任务时,Hadoop可以通过底层API定时给MXGRAPH反馈每一个执行进展,或者MXGRAPH发送获取执行进展的请求的指令给Hadoop,以获取该工作流执行状态,MXGRAPH获取到该工作流的执行状态后,可以实时监控到该工作流执行到哪一步或者在哪一步出现失败,例如,在执行成功的节点处可以添加对勾,对正在执行的节点可以设置为转圈状态。在一种具体实现方式中,Hadoop通过底层API每隔1秒向MXGRAPH发送每一个节点的执行状态,或者MXGRAPH每隔1秒请求获取每一个节点的执行状态,从而实现了定时刷新工作流页面,监控了工作流的执行进度。

本实施例提供的基于Hadoop的工作流管理方法,使用MXGRAPH定义工作流,再获取该工作流对应的可扩展标记语言XML内容,并将该工作流对应的XML内容转换成Hadoop任务进行执行,实现了基于Hadoop工作流的可视化管理,提高了任务处理的效率。

在上述实施例一的方法的基础上,图2为本发明实施例提供的基于Hadoop的工作流管理方法实施例二的流程图,如图2所示,使用MXGRAPH定义工作流,具体包括以下几个步骤:

S201、根据MXGRAPH提供的工具,配置节点栏,并在该节点栏中添加所有节点类型。

在本步骤中,MXGRAPH以HTML DOM作为容器创建节点栏,并通过加载调用Hadoop应用程序接口(Application Programming Interface,API),将Hadoop支持的节点类型添加到MXGRAPH的节点栏。

S202、根据该节点栏中提供的节点类型,将该工作流中要使用的至少三个节点绘制在工作流区域。

S203、配置该工作流中的至少三个节点之间的关系和每个节点的属性参数。

在上述步骤中,该节点栏提供有Hadoop支持的多种节点类型,且该节点类型支持鼠标拖拽,将需要的节点类型拖拽到工作流区域,并将至少三个节点绘制在工作流区域,包含开始节点、结束节点以及自定义节点,该自定义节点即节点栏中节点中的一个。配置该三个节点之间的关系即在该至少三个节点之间采用有向连接线连接,表示该工作流的执行顺序。

进一步地,配置每个节点的属性参数。具体地,将需要的节点从节点栏拖拽到工作流区域,再配置该工作流中各个节点的属性参数,可选的,可以配置每个节点的执行类路径、优先级以及失败重试次数,该节点的属性参数包括执行类路径、优先级以及失败重试次数,在一种实现方式中,可以在工作流区域鼠标双击打开每一个节点的属性配置页面,输入期望该节点完成的某种操作的参数。在完成节点属性参数配置后,可以根据该工作流标识和节点类型以及节点标识保存配置的每个节点的属性参数,将该节点或节点集群保存到节点栏,以便后面使用类似节点或节点集群时,只需要在该节点或节点集群的基础上做少量的改动即可满足需求,例如,在工作流中配置好节点1和节点2后,可以将节点1和节点2整体保存成一个节点集群,并保存在节点栏,第二次需要使用类似类型的节点集群时,只需从节点栏拖拽到工作流区域,并在节点配置界面做少量修改以满足本次需求,节省了时间,提高了任务处理的效率。

本实施例提供的基于Hadoop的工作流管理方法,根据MXGRAPH提供的工具,配置节点栏,并在该节点栏中添加所有节点类型,然后根据该节点栏中提供的节点类型,将该工作流中要使用的至少三个节点绘制在工作流区域,再配置该工作流中的至少三个节点之间的关系和每个节点的属性参数,实现了Hadoop工作流的可视化管理,提高了任务处理的效率。

图3为本发明实施例提供的基于Hadoop的工作流管理方法实施例三的流程图。如图3所示,使用MXGRAPH定义工作流,获取工作流对应的可扩展标记语言XML内容之前,还包括以下几个步骤:

S301、判断该工作流是否为初始创建的工作流,若是,执行步骤302,若否,执行步骤303。

S302、重新定义该工作流对应的XML内容。

S303、将已存在的XML内容中的每个节点的属性参数按照该工作流中的节点的属性参数进行修改。

上述步骤中,MXGRAPH可以通过数据库或服务器查询本次创建的工作流是否为初始创建的,若该工作流为初始创建的工作流,则需定义XML内容,具体实现过程和上述步骤S201-S203的实现过程类似,此处不再赘述。

否则,将已存在的XML内容解析成对应的MXGRAPH工作流画面,并按照需要的工作流的节点的属性参数对该节点的属性参数进行修改,对节点的修改完成后,再生成对应的XML内容。

本实施例提供的基于Hadoop的工作流管理方法,若工作流为初始创建的工作流,则重新定义该工作流对应的XML内容,否则,将已存在的XML内容中的每个节点的属性参数按照该工作流中的节点的属性参数进行修改,提高了Hadoop工作流节点的扩展性以及任务处理的效率。

图4为本发明实施例提供的基于Hadoop的工作流管理装置实施例一的结构示意图,如图4所示,本实施例提供的基于Hadoop的工作流管理装置10装置包括:定义模块11、处理模块12。

定义模块11,用于使用MXGRAPH定义工作流,所述工作流中包括至少两个节点;

处理模块12,用于获取所述工作流对应的可扩展标记语言XML内容,并将所述工作流对应的XML内容转换成Hadoop任务进行执行。

可选的,所述定义模块11,具体用于:

根据MXGRAPH提供的工具,配置节点栏,并在所述节点栏中添加所有节点类型;

根据所述节点栏中提供的节点类型,将所述工作流中要使用的至少三个节点绘制在工作流区域;

配置所述工作流中的所述至少三个节点之间的关系和每个节点的属性参数。

可选的,所述定义模块11,还用于:

若所述工作流为初始创建的工作流,则重新定义所述工作流对应的XML内容;

否则,将已存在的XML内容中的每个节点的属性参数按照所述工作流中的节点的属性参数进行修改。

可选的,所述定义模块11,具体用于:

配置每个节点的执行类路径、优先级以及失败重试次数;所述节点的属性参数包括执行类路径、优先级以及失败重试次数。

根据所述工作流标识和节点类型以及节点标识保存配置的每个节点的属性参数。

图5为本发明实施例提供的基于Hadoop的工作流管理装置实施例二的结构示意图。在上述实施例的基础上,如图5所示,所述基于Hadoop的工作流管理装置10还包括:监控模块13。

监控模块13,用于通过MXGRAPH添加图层的方式对所述工作流中的节点的执行情况进行监控。

本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,终端设备执行所述计算机程序实现前述任一实现方式提供的基于Hadoop的工作流管理方法。

本发明还提供一种电子设备,包括:处理器、存储器以及计算机程序;所述计算机程序存储在所述存储器中,所述处理器执行所述计算机程序实现实现前述任一实现方式提供的基于Hadoop的工作流管理方法。

在上述设备,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:只读存储器(英文:read-only memory,缩写:ROM)、RAM、快闪存储器、硬盘、固态硬盘、磁带(英文:magnetic tape)、软盘(英文:floppy disk)、光盘(英文:optical disc)及其任意组合。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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