基于数据流和工作流的统一调度平台及工作方法技术

技术编号:18205154 阅读:354 留言:0更新日期:2018-06-13 06:42
本发明专利技术提供了一种基于数据流和工作流的统一调度平台及工作方法,能够有效结合数据流和工作流的优势,使得任务调度配置化,数据流转参数化。能够适应多来源数据的复杂结构,完成数据整个ETL过程,同时完成对于多种计算任务生命周期的管理。此平台能够将数据流的管理和工作流的调度有机结合起来,使得数据从流入到计算,最后到结果输出,形成一套完整的数据工作流管理平台,此平台兼顾了数据流的方向控制和工作流的周期控制。

【技术实现步骤摘要】
基于数据流和工作流的统一调度平台及工作方法
本专利技术涉及数据流管理和工作流管理
,具体涉及一种基于数据流和工作流的统一调度平台及工作方法。
技术介绍
近年来工作流引擎已逐步成为最受关注的焦点,由于现今任务的多样性,任务的复杂程度,一个有效的任务生命周期管理平台越来越成为企业和个人的重要需求,但是此类平台往往只支持对于工作流的管理,例如OOZIE(OOZIE是一种框架,它可以把多个Map/Reduce作业组合到一个逻辑工作单元中),而越来越多的场景是企业的任务调度平台同时需要兼顾对于数据流的管理,尽管通常场景下对数据的处理需求仅仅是数据的下载,解压,转化和落地等简单操作,但是由于现行的工作流平台无法完成此类数据管理功能,使得数据流管理和工作流管理完全切分开,导致了资源的浪费。现有技术中的工作流平台,如OOZIE,支持工作流的调度管理,并且配置难,使用不便,可视化粗糙等。此类别的工作流框架无法进行有效扩展,当有数据流需要管理时,无法有效的进行数据的操作,只能依附于任务本身,增加了额外开发成本。
技术实现思路
本专利技术设计的基于数据流和工作流的统一调度平台,除NiFi(ApacheNiFi是一个易用、强大、可靠的组件式开发平台,用于处理和分发数据)原有组件,同时还融合了自主研发的50种组件,其中包括数据流的数据加密解密,数据缓存,数据跨服务器备份等,以及工作流中的Spark调度,Storm调度和定期查询任务调度等(Spark和Strom为分布式计算框架),此平台组件通过配置即可使用,任意功能可配置可开发,能够满足几乎所有对于数据的转化处理和任务的调度管理功能,解决了现有工作流平台使用不便、扩展难的技术问题。本专利技术采用的技术方案如下:一种基于数据流和工作流的统一调度平台,包括数据流平台和工作流平台,数据流引擎对数据进行操作,形成数据流平台,工作流引擎配合数据流平台完成数据的存取,形成工作流平台。进一步地,所述数据流引擎包括数据输入组件、数据清洗组件、数据输出组件和自定义组件,数据流引擎接收数据,数据输入组件适配各种数据源,数据清洗组件完成数据的清洗,数据输出组件完成数据的输出,自定义组件对数据流引擎的功能进行扩展。进一步地,所述数据流引擎对数据进行数据流向和数据质量的管理。进一步地,所述数据流引擎的计算任务封装在工作流引擎中。进一步地,工作流引擎接收数据流引擎的数据输入,并且调用和管理计算框架,再通过数据流引擎将反馈的数据输出。进一步地,基于数据流和工作流的统一调度平台支持多种数据的管理,可以灵活的配置已有组件完成通用协议数据的解析,同时也可以根据需求编写自定义组件完成对于多种数据格式和不同协议类型的支持。进一步地,基于数据流和工作流的统一调度平台支持插件式开发,功能扩展灵活。进一步地,基于数据流和工作流的统一调度平台支持的计算任务框架广泛,可以通过多种方式完成对于各类工作框架的支持,可以通过接口和脚本调度等方式完成对于单机和分布式计算框架的调度。进一步地,基于数据流和工作流的统一调度平台能够将数据流和工作流整合到一起,从一而终,既能够完成对于数据的转化落地,又能够调用其他计算框架完成数据在标准工作流中的轮转。一种基于数据流和工作流的统一调度平台的工作方法,包括以下步骤:步骤1,部署数据流平台和工作流平台,例如NIFI工作流引擎;步骤2,开发配置数据流引擎,包括输入组件、数据清洗组件、数据输出组件和自定义组件;步骤3,开发配置工作流引擎,包括任务调度组件、异常任务监控组件和任务参数化组件;步骤4,开发和编写通用任务调度接口,主要针对通用大数据平台编写数据计入组件,例如Spark,Storm等;步骤5,基于数据流和工作流的统一调度平台对数据处理进行生命周期的调度管理,到数据结果的落地,从任务的起始,到任务的销毁,都会受到该基于数据流和工作流的统一调度平台的管理。进一步地,所述数据流引擎为NiFi数据流引擎,所述工作流引擎为NiFi工作流引擎。进一步地,基于数据流和工作流的统一调度平台通过通用组件或者自定义组件对数据进行解析。进一步地,所述工作流引擎支持Spark计算框架、Hadoop计算框架、Storm计算框架以及自定义任务。本专利技术既支持对于数据的操作,又能够支持对于调度任务的管理,并且可扩展,可编程,能够应对各种情况的应用场景,具有以下有益效果:1、基于NiFi进行开发,展示性更清晰,功能更易扩展。2、兼并了数据流的管理和工作流的管理,将通用式的功能全部转化为组件式开发。3、提高了数据流向和任务周期的可读性,并且功能切分明确,能够自由组合使用。附图说明图1是本专利技术基于数据流和工作流的统一调度平台工作流程示意图。具体实施方式本专利技术应用于数据管理和工作任务管理的综合情况,在原有框架基础上,完成对于组件的定制化,能够支持多种格式数据的管理,多协议数据的交互,多类型数据的落地,多平台任务的调度。并且能够持续性地进行任务的调度,数据的管理和功能的发布,并且能够依附此平台完成对于各类计算平台的生命周期管理。下文中,结合附图和实施例对本专利技术作进一步阐述。图1是本专利技术基于数据流和工作流的统一调度平台工作流程示意图,图中数据入口为多种类数据源,由于数据源的多样性,数据可能来源于各种不同的数据库,通过不同的协议进行传输,通过多种多样的方式存在,所以需要数据流引擎的数据输入组件进行适配各种数据源,同时完成数据的接收,清洗和输出工作。除了现有的基础数据处理组件可以使用,也可以开发自定义组件扩展数据流引擎的功能。数据流引擎只对数据进行数据流向和数据质量的管理,进一步的计算任务是封装在工作流的具体调度任务里边,工作流引擎就是动态接收数据流引擎的数据输入并且调用和管理各类计算框架,数据的反馈再通过数据流引擎进行输出。图1中数据流引擎以服务方式对数据进行操作,就成为了数据流平台。同时工作流引擎和各类计算框架结合在一起,完成周期性任务管理,配合数据流平台完成数据的存取,就形成了最终的工作流平台。两个平台结合起来称之为基于数据流和工作流的统一调度平台。以多来源数据和多种业务系统并存为场景,如果构建基于数据流和工作流的统一调度平台,首先需要完成对于ApacheNifi的部署,同时部署本专利技术中数据输入组件,数据清洗组件和数据输出组件,对于自定义组件可以有选择性部署(例如HTTP解析组件等)。然后对数据输入组件和数据输出组件进行配置,对清洗组件进行配置和编排,启动数据流平台。当数据流平台能够管理数据之后,将自有的框架例如Spark等应用配置到工作流平台,进行生命周期的调度管理。当数据流平台和工作流平台均开始工作时,数据源一旦开始产生数据,数据流便开始对数据进行接入,清洗并且管控流向,流入到工作流管理的计算框架中,流入方式可以直接交互式流入,可以插入共有数据库表,也可以通过存储为共享文件等方式流入。工作流根据数据流入方式的不同采取不同的调度策略,完成对于各类应用的调用,计算出结果数据,计算后的数据通过数据流平台进行持久化,完成数据结果的做种落地。当数据来源广泛,数据结果多种多样,此类数据要通过清洗和解析完成数据落地或者直接流入各类业务系统。各类业务系统往往只支持单一来源且规范化的数据,所以该平台可以使用现成的数据采集组件,协议解析组件和数据本文档来自技高网...
基于数据流和工作流的统一调度平台及工作方法

【技术保护点】
一种基于数据流和工作流的统一调度平台,其特征在于,包括数据流平台和工作流平台,数据流引擎对数据进行操作,形成数据流平台,工作流引擎配合数据流平台完成数据的存取,形成工作流平台。

【技术特征摘要】
1.一种基于数据流和工作流的统一调度平台,其特征在于,包括数据流平台和工作流平台,数据流引擎对数据进行操作,形成数据流平台,工作流引擎配合数据流平台完成数据的存取,形成工作流平台。2.如权利要求1所述的一种基于数据流和工作流的统一调度平台,其特征在于,所述数据流引擎包括数据输入组件、数据清洗组件、数据输出组件和自定义组件,数据流引擎接收数据,数据输入组件适配各种数据源,数据清洗组件完成数据的清洗,数据输出组件完成数据的输出,自定义组件对数据流引擎的功能进行扩展。3.如权利要求2所述的一种基于数据流和工作流的统一调度平台,其特征在于,所述数据流引擎对数据进行数据流向和数据质量的管理。4.如权利要求2所述的一种基于数据流和工作流的统一调度平台,其特征在于,所述数据流引擎的计算任务封装在工作流引擎中。5.如权利要求2所述的一种基于数据流和工作流的统一调度平台,其特征在于,工作流引擎接收数据流引擎的数据输入,并且调用和管理计算框架,再通过数据流引擎将反馈的数据输出。6.如权利要求5所述的一种基于数据流和工作流的统一调度平台,其特征在于,工作...

【专利技术属性】
技术研发人员:曲洋陈有为
申请(专利权)人:千寻位置网络有限公司
类型:发明
国别省市:上海,31

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

1