分布式调度系统、方法技术方案

技术编号:14350288 阅读:86 留言:0更新日期:2017-01-04 22:54
本发明专利技术实施例提供一种分布式调度系统、方法。包括前端层、中心层以及运行层:所述前端层,包含至少一个调度前端,所述调度前端用于开发前端数据处理任务,向所述中心层申请上线所述数据处理任务;在接收所述中心层的上线允许之后上线并展示所述数据处理任务;所述中心层,包含至少一个调度中心,所述调度中心用于在接收到所述调度前端发出的上线请求时判断是否允许上线,并根据所述数据处理任务的用户来源分发所述数据处理任务至相应的运行分组;所述运行层,包含至少一个所述运行分组,所述运行分组用于执行所述调度中心分发的所述数据处理任务。实现了调度系统的高可用,保证了调度任务及时,准确的运行。

【技术实现步骤摘要】

本专利技术实施例涉及计算机
,尤其涉及一种分布式调度系统、方法
技术介绍
ETL(Extract-Transform-Load,数据仓库技术数据处理)是构建数据仓库的重要一环,是指用户从数据源抽取(extract)出所需的数据,经过数据清洗、转换(transform),最终按照预先定义好的数据仓库模型,将数据加载(load)到数据仓库中去的过程。在离线ETL中,通常按照各个数据仓库模型架构,开发各个层的ETL任务,而这些任务通常是发布到ETL任务调度系统进行运行,需要一个高可用的调度系统,来保证任务及时,准确的运行。现有调度系统实现方法通常包括两种,一是集中式的,另一个是单master/slave(主/从)结构。集中式调度系统是一个大型的中央系统,其终端是客户机,所有的调度任务都由该大型的中央系统完成,终端只是用来输入和输出。然而,专利技术人在实现本专利技术的过程中发现,集中式调度的缺陷在于,一方面,数据处理任务调度信息集中汇总到中央系统这一管理节点上,导致信息流拥挤;另一方面,管理节点发生故障会影响整个调度系统的正常工作。在master/slave(主/从)结构的调度系统中,Master提供web接口让用户来管理job(作为一个单元处理的作业)和slave,job可以运行在master本机或者被分配到slave上运行。一个master可以关联多个slave用来为不同的job或相同的job的不同配置来服务。专利技术人在实现本专利技术的过程中发现,单master/slave(主/从)结构会存在master扩展性问题和单点故障问题,这些问题同样会影响调度系统的任务处理的及时性与正确性。因此,一种新的分布式调度系统亟待提出。
技术实现思路
本专利技术实施例提供一种分布式调度系统、方法,用以解决现有技术中调度系统数据处理任务的及时性与正确性无法保障的缺陷,实现了调度系统的高可用,保证了调度任务及时,准确的运行。本专利技术实施例提供一种分布式调度系统,包括:所述前端层,包含至少一个调度前端,所述调度前端用于开发前端数据处理任务,向所述中心层申请上线所述数据处理任务;在接收所述中心层的上线允许之后上线并展示所述数据处理任务;所述中心层,包含至少一个调度中心,所述调度中心用于在接收到所述调度前端发出的上线请求时判断是否允许所述数据处理任务上线,并根据所述数据处理任务的用户来源分发所述数据处理任务至相应的运行分组;所述运行层,包含至少一个所述运行分组,所述运行分组用于执行所述调度中心分发的所述数据处理任务。本专利技术实施例提供一种分布式调度方法,包括:调用前端层的调度前端开发前端数据处理任务并向中心层申请上线所述数据处理任务;调用所述中心层的调度中心判断是否允许所述数据处理任务上线;在接收所述调度中心的上线允许后,调用所述调度中心根据所述数据处理任务的用户来源分发所述数据处理任务至相应的运行分组;调用所述调度前端,上线并展示所述数据处理任务;调用运行层的所述运行分组执行所述调度中心分发的所述数据处理任务。本专利技术实施例提供的分布式调度系统、方法,通过将调度系统进行分层,并在每一层中采用分布式的方式进行部署,为调度系统实现了无限扩展的可能性;中心层包含至少一个调度中心,调度中心的分布式设计,改变了现有技术中进行分布式调度时,信息流拥挤、扩展性差以及单点故障导致的调度系统无法保障数据处理任务的及时性与正确性的缺陷,现了调度系统的高可用,保证了调度任务及时,准确的运行;与此同时,运行层采用不同的分组方式,每一分组对应不同的用户,做到了各个用户之间的数据处理任务互不影响,提高了调度任务处理的准确性以及稳定性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例分布式调度系统的架构示意图;图2为申请实施例的分布式调度方法位于前端层的技术流程图;图3为申请实施例的分布式调度方法位于中心层的技术流程图;图4为申请实施例的分布式调度方法位于运行层的技术流程图;图5为申请实施例的分布式调度方法整体的技术流程图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1是本申请实施提供的一种分布式调度系统的架构示意图,系统包括三层:前端层10、中心层20以及运行层30。其中,所述前端层包含至少一个调度前端11,所述中心层包含至少一个调度中心21,所述运行层包含至少一个运行分组31,每个运行分组中包含至少一个运行节点311。本申请实施例中,调度系统的每一层都是分布式架构,从而保证了调度系统的高可用性。其中,所述调度前端11用于开发前端数据处理任务,向所述中心层申请上线所述数据处理任务;在接收所述中心层的上线允许之后上线并展示所述数据处理任务;具体地,当所述前端层10包含至少一个所述调度前端11时,每一所述调度端11可以分别用于开发不同的前端数据处理任务,如SQL(结构化查询语言(StructuredQueryLanguage))任务、Shell脚本任务、Hive(基于Hadoop的一个数据仓库工具)任务等等。多个调度前端的并行开发,在数据处理任务量大或某一调度前端故障时,不会造成任务开发需求的堆积,提高了调度系统的效率;与此同时,针对不同类型的数据处理任务,分别由不同的调度前端来开发,进一步保证了数据处理任务的开发质量。进一步地,所述调度前端11还用于,在上线展示所述数据处理任务的同时监控所述前端层的展示状态,从而根据所述展示状态实时预警。所述前端层有一个显示界面,用于展示所有数据处理任务的当前状态,用户可以通过这一显示界面进行实时地观察。在展示的同时,所述调度前端启用一个线程监控所述前端层的展示状态,当发现所述展示状态有异常时(例如,数据处理超时、数据处理失败等等),启动预警,所述预警可以包括,重启所述数据处理任务、向所述中心层申请更换运行分组或通过预设的邮件或者消息发送地址向调度系统管理员发出故障通知。所述调度中心21用于在接收到所述调度前端发出的上线请求时判断是否允许所述数据处理任务上线,并根据所述数据处理任务的用户来源分发所述数据处理任务至相应的运行分组;所述中心层20包含有多个所述调度中心21,多个所述调度中心21之间采用分布式的架构进行数据处理任务的调度,不受任务量的限制,所述中心层20可以无限扩展保证实现调度系统的高可用。进一步地,所述调度中心21还用于,在上线展示所述数据处理任务后监控所述数据处理任务的所述处理状态,当监测到所述处理状态出现异常,则启动同一所述运行分组的任一其他所述运行节点作为备用运行节点继续执行所述数据处理任务。本申请实施例中,所述中心层20采用quartz集群方式实现,每一所述调度中心相当于quartz集群中的一个节点,是一本文档来自技高网
...
分布式调度系统、方法

【技术保护点】
一种分布式调度系统,其特征在于,包括前端层、中心层以及运行层:所述前端层,包含至少一个调度前端,所述调度前端用于开发前端数据处理任务,向所述中心层申请上线所述数据处理任务;在接收所述中心层的上线允许之后上线并展示所述数据处理任务;所述中心层,包含至少一个调度中心,所述调度中心用于在接收到所述调度前端发出的上线请求时判断是否允许所述数据处理任务上线,并根据所述数据处理任务的用户来源分发所述数据处理任务至相应的运行分组;所述运行层,包含至少一个所述运行分组,所述运行分组用于执行所述调度中心分发的所述数据处理任务。

【技术特征摘要】
1.一种分布式调度系统,其特征在于,包括前端层、中心层以及运行层:所述前端层,包含至少一个调度前端,所述调度前端用于开发前端数据处理任务,向所述中心层申请上线所述数据处理任务;在接收所述中心层的上线允许之后上线并展示所述数据处理任务;所述中心层,包含至少一个调度中心,所述调度中心用于在接收到所述调度前端发出的上线请求时判断是否允许所述数据处理任务上线,并根据所述数据处理任务的用户来源分发所述数据处理任务至相应的运行分组;所述运行层,包含至少一个所述运行分组,所述运行分组用于执行所述调度中心分发的所述数据处理任务。2.根据权利要求1所述的系统,其特征在于,每一所述运行分组中包含至少一个运行节点;所述运行节点,用于提供执行所述数据处理任务的执行环境、执行所述数据处理任务并汇报所述数据处理任务的处理状态。3.根据权利要求2所述的系统,其特征在于,所述调度中心,还用于:在上线展示所述数据处理任务后监控所述数据处理任务的所述处理状态,当监测到所述处理状态出现异常,则启动同一所述运行分组的任一其他所述运行节点作为备用运行节点继续执行所述数据处理任务。4.根据权利要求1所述的系统,其特征在于,所述调度前端还用于,在上线展示所述数据处理任务的同时监控所述前端层的展示状态,根据所述展示状态实时预警。5.根据权利要求4所述的方法,其特征在于,所述调度前端还用于:当监测到所述展示状态异常时,根据异常分类重启所述数据处理任务,或向所述中心层申请更换运行分组,或通过预设的邮件或者...

【专利技术属性】
技术研发人员:向滔刘宏斌国铁龙
申请(专利权)人:乐视控股北京有限公司乐视网信息技术北京股份有限公司
类型:发明
国别省市:北京;11

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

1