作业调度方法和云调度服务器技术

技术编号:13378099 阅读:62 留言:0更新日期:2016-07-21 04:38
本发明专利技术公开了一种作业调度方法,通过获取云作业服务器中部署的作业信息;根据获取的作业信息,远程调度云作业服务器上的作业。本发明专利技术还公开了一种提供云调度服务器。本发明专利技术可实现大规模分布式云批量作业调度;可动态增加或减少服务器数量,维护和部署灵活。

【技术实现步骤摘要】

本专利技术涉及网络通讯领域,尤其涉及作业调度方法和云调度服务器。
技术介绍
在现有的作业调度技术方案中,通常使用调度服务器集群(例如Java领域的QuartzScheduler)进行批量调度,集群中的每一台服务器的内容是完全一致的,且被调度的作业也是运行在该服务器上。现有技术存在的缺点和问题如下所示:一、调度服务器集群维护困难,要更新被调度的作业时,往往需要对集群中的所有服务器均进行停机并重启;二、无法设置权重,无法将更高的负载分配给性能更好的服务器;三、现存系统不区分调度服务端和调度客户端,无法任意增加或减少服务器数量。四、每台调度服务器部署的作业需要完全一致,若有变动所有服务器都得变动。
技术实现思路
本专利技术的主要目的在于提供一种作业调度方法和云调度服务器,旨在解决调度服务器集群维护和部署困难的问题。为实现上述目的,本专利技术提供的所述作业调度方法包括以下步骤:获取云作业服务器中部署的作业信息;根据获取的作业信息,远程调度云作业服务器上的作业。优选地,所述获取云作业服务器中部署的作业信息的步骤包括:监听ZooKeeper服务器的作业节点,所述云作业服务器注册在ZooKeeper服务器的作业节点上;根据监听的ZooKeeper服务器的作业节点,获取云作业服务器中部署的作业信息。优选地,所述根据获取的作业信息,远程调用云作业服务器上的作业的步骤之前还包括:将作业和Web服务暴露为远程服务。优选地,所述根根据获取的作业信息,远程调用云作业服务器上的作业的步骤包括:采用开源定时调度器QuartzScheduler进行定时调度设置;通过作业的唯一标识Key启动定时调度、停止定时调度和暂停定时调度。优选地,所述根据获取的作业信息,远程调用云作业服务器上的作业的步骤包括:如果检测同一作业由云作业服务器中的多台服务器同时提供时,则采用负载均衡算法进行调度。为了解决上述的技术问题,本专利技术进一步提供一种云调度服务器,所述云调度服务器包括:获取模块,用于获取云作业服务器中部署的作业信息;调度模块,用于根据获取的作业信息,远程调度云作业服务器上的作业。优选地,所述获取模块包括:监听单元,用于监听ZooKeeper服务器的作业节点,所述云作业服务器注册在ZooKeeper服务器的作业节点上;获取单元,用于根据监听的ZooKeeper服务器的作业节点,获取云作业服务器中部署的作业信息。优选地,所述云调度服务器还包括:暴露模块,用于将作业和Web服务暴露为远程服务。优选地,所述调度模块包括:设置单元,用于采用QuartzScheduler进行定时调度设置;调度单元,用于通过作业的唯一标识key启动定时调度、停止定时调度和暂停定时调度。优选地,所述调度模块,还用于如果检测同一作业由云作业服务器中的多台服务器同时提供时,则采用负载均衡算法进行调度。本专利技术提供的作业调度方法,通过获取云作业服务器中部署的作业信息;根据获取的作业信息,远程调度云作业服务器上的作业。本专利技术可实现大规模分布式云批量作业调度;可动态增加或减少服务器数量,维护和部署灵活。附图说明图1为本专利技术作业调度方法第一实施例的流程示意图;图2为图1中所述获取云作业服务器中部署的作业信息的步骤的细化流程示意图;图3为本专利技术作业调度方法第二实施例的流程示意图;图4为图1中所述根据获取的作业信息,远程调用云作业服务器上的作业的步骤的细化流程示意图;图5为本专利技术作业调度方法第三实施例的流程示意图;图6为本专利技术云调度服务器第一实施例的功能模块示意图;图7为图6中所述获取模块的功能模块示意图;图8为本专利技术云调度服务器第二实施例的功能模块示意图;图9为图6中所述调度模块的功能模块示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术提供一种作业调度方法,参照图1,图1为本专利技术作业调度方法第一实施例的流程示意图,在第一实施例中,所述作业调度方法包括以下步骤:步骤S100、获取云作业服务器中部署的作业信息。云调度服务器启动时,会连接Zookeeper服务器。ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,包含一个简单的原语集,是Hadoop和Hbase的重要组件,提供Java语言和C语言的接口。Hadoop是一个由Apache基金会所开发的分布式系统基础架构,HBase(HadoopDatabase),是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可搭建起大规模结构化存储集群。其中,Zookeeper采用树形目录结构,使用Zookeeper的过程就是树节点的创建、删除和监听的过程。例如服务器A通过Zookeeper提供的客户端API(ApplicationProgrammingInterface,应用程序编程接口)创建了一个持久化节点,并在该节点注册监听器。任何其他服务器在该节点下创建子节点以及删除子节点,服务器A均会收到通知。如果创建的节点类型为临时节点,则服务器与Zookeeper断开连接后(例如服务器冗机),节点将自动被删除,服务器A会收到通知。如果将作业的名字作为节点名创建临时节点,利用该特性,监听器就可以感知整个云中的所有作业;开发具体的调度作业并对其赋以唯一的名字,该名字就是该作业在云作业服务器中的唯一标识。所述Zookeeper服务器可以为Zookeeper服务器集群,所述云调度服务器可以为云调度服务器集群,所述云作业服务器可以为云作业服务器集群。Zookeeper服务器查询得到所有的作业调度节点,并在这些节点上添加监听器。因此,云调度服务器就可以通过Zookeeper服务器获取所有作业的信息,并且针对每一个作业,知道由哪些服务器提供了这些作业。步骤S200、根据获取的作业信息,远程调度云作业服务器上的作业。云调度服务器根据获取的作业信息,远程调度云作业服务器上的作业,具体的调度作业是指,采用工作流引擎开发的不含人工任务的流程,每个流程具备一个流程定义的key可以作为名字使用;具体的调度作业还可以是,实现了用户自定义Java接口的一个实现类,采用该类名作为名字;其中,具体的作业不局限于采用Java实现,也可本文档来自技高网...

【技术保护点】
一种作业调度方法,其特征在于,所述作业调度方法包括以下步骤:获取云作业服务器中部署的作业信息;根据获取的作业信息,远程调度云作业服务器上的作业。

【技术特征摘要】
1.一种作业调度方法,其特征在于,所述作业调度方法包括以下步骤:
获取云作业服务器中部署的作业信息;
根据获取的作业信息,远程调度云作业服务器上的作业。
2.如权利要求1所述的作业调度方法,其特征在于,所述获取云作业服
务器中部署的作业信息的步骤包括:
监听ZooKeeper服务器的作业节点,所述云作业服务器注册在ZooKeeper
服务器的作业节点上;
根据监听的ZooKeeper服务器的作业节点,获取云作业服务器中部署的
作业信息。
3.如权利要求1或2所述的作业调度方法,其特征在于,所述根据获取
的作业信息,远程调用云作业服务器上的作业的步骤之前还包括:
将作业和Web服务暴露为远程服务。
4.如权利要求1或2所述的作业调度方法,其特征在于,所述根据获取
的作业信息,远程调用云作业服务器上的作业的步骤包括:
采用开源定时调度器QuartzScheduler进行定时调度设置;
通过作业的唯一标识Key启动定时调度、停止定时调度和暂停定时调度。
5.如权利要求1或2所述的作业调度方法,其特征在于,所述根据获取
的作业信息,远程调用云作业服务器上的作业的步骤包括:
如果检测同一作业由云作业服务器中的多台服务器同时...

【专利技术属性】
技术研发人员:郭蕊
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

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

1