基于云系统的作业调度方法和系统技术方案

技术编号:15690683 阅读:62 留言:0更新日期:2017-06-24 03:16
本发明专利技术涉及一种基于云系统的作业调度方法及系统,其方法包括作业调度应用在集群中部署的Zookeeper服务上进行注册,集群中部署的Zookeeper服务确认在集群中该作业调度应用可以启用;注册成功后,获取令牌,并查询所述令牌对应的作业调度配置表;通过作业调度配置表获取该待调度作业的处理作业列表;执行待调度作业,调度完成后将调度结果反馈给调度模块;本发明专利技术中的解决了云系统中的分布式任务调度问题,支持实时任务、定时任务和crontab任务,有较好的伸缩性,扩展性,健壮稳定性,可以对云系统的作业任务实现集群化管理与调度,有效的预防单点故障,实现调度管理高度可用,也实现了全面的作业监控,提高了执行效率,使运营维护直观高效。

Job scheduling method and system based on cloud system

The invention relates to a method and system for scheduling system based on cloud, the method includes scheduling application in the cluster deployment of Zookeeper service registration, cluster deployment of Zookeeper service confirmation in the cluster scheduling can enable the application; after successful registration, access token, and query the scheduling configuration table the corresponding token acquisition processing; the job list scheduling by scheduling configuration table; to perform scheduling, scheduling after the completion of the scheduling result to the scheduling module; the invention solves the problem of distributed task scheduling in cloud systems, support real-time tasks, timing task and crontab task is flexible good scalability, robust stability, can cloud system tasks to achieve cluster management and scheduling, effectively prevent the single point Obstacle to achieve high availability of scheduling management, but also to achieve a comprehensive operational monitoring, improve the efficiency of the implementation of the operation and maintenance intuitive and efficient.

【技术实现步骤摘要】
基于云系统的作业调度方法和系统
本专利技术涉及计算机及通信领域,尤其涉及一种基于云系统的作业调度方法和系统。
技术介绍
云系统是采用国际首创的HFP及HDRDP技术在局域网架构下实现云计算使用效果的新一代通用计算机系统产品。云系统,又称云计算中心操作系统、云OS,是云计算后台数据中心的整体管理运营系统。在云系统中进行作业调度时,往往都以集群为单位处理。crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行,crontab文件包含送交cron守护进程的一系列作业和指令。但是,系统自带的crontab调度只能在单一节点上执行,且不具备伸缩、扩展、高可用能力,给系统业务和运维带来一定的困难,因此,亟需一种新的技术手段,能够解决上述技术问题。
技术实现思路
本专利技术提供一种基于云系统的作业调度方法和系统,以解决上述技术问题。本专利技术解决上述技术问题的技术方案如下:一种基于云系统的作业调度方法,包括:a.调度模块通过在Zookeeper服务器上进行注册,确认作业调度是否启用,所述Zookeeper服务器的Zookeeper服务为集群部署;b.注册成功后,获取令牌,并查询所述令牌对应的作业调度配置表;c.通过作业调度配置表获取该待调度作业的处理作业列表;d.执行待调度作业,调度完成后将调度结果反馈给调度模块。进一步,步骤c中还包括根据并发处理字段对处理作业列表进行多线程处理,并对各线程中的处理作业列表进行优先级排序,各线程循环处理作业列表。通过多线程处理,并利用分布式内存数据库共享特性承载业务配置数据和结果数据,通过将返回结果存放分布式内存数据库中的结果集供云运维平台使用,提高了处理速度。进一步,所述调度模块为多个,用于对调度作业均衡负载,调度模块对作业调度配置表中的作业配置信息进行校验,判断配置信息中各字段是否满足格式要求。通过校验,排除不符合格式要求的作业配置信息,减少无用信息处理,提升系统速度。进一步,对所述作业配置信息进行解析,获取处理时间周期,并根据预设的时间周期阈值判断处理时间周期是否有效;若判断结果为无效,则处理下一条作业;若判断结果为有效,则读取结果集表,判断是否存在本周期未处理完的数据,若存在,则结束本次处理,处理下一条作业。便于进行作业任务集群化管理与调度。进一步,当作业配置信息符合要求且处理时间周期有效时,如果不存在本周期未处理完的数据,则将结果记录插入到结果集表,记录包含本作业的处理周期,并将处理状态置为初始状态,锁定该作业。避免进行重复调度处理,浪费系统资源。进一步,调度模块获取到反馈结果后,对作业调度结果集表进行更新,并将作业调度结果集表和作业配置信息分别存储于分布式内存数据库。利用分布式内存数据库共享特性承载业务配置数据和结果数据,使调度监控服务更加可靠。进一步,所述Zookeeper服务器包括主用服务器和备用服务器,所述备用服务器用于当支撑集群中节点异常后,接管主用服务器进行工作,业务配置数据和结果集表分别承载于分布式内存数据库。提高系统的容灾能力。本专利技术还提供一种基于云系统的作业调度系统,包括:Zookeeper服务器,用于提供注册服务,确认调度作业是否启用,所述Zookeeper服务器的Zookeeper服务为集群部署;调度模块,用于通过作业调度配置表获取该待调度作业的处理作业列表,对待调度作业进行调度,所述调度模块为多个;反馈模块,用于调度完成后将调度结果反馈给调度模块。进一步,还包括:校验模块,用于对作业调度配置表中的作业配置信息进行校验;解析模块,用于对所述作业配置信息进行解析,获取处理时间周期,并根据预设的时间周期阈值判断处理时间周期是否有效;若判断结果为无效,则处理下一条作业;若判断结果为有效,则读取结果集表,判断是否存在本周期未处理完的数据,若存在,则结束本次处理,处理下一条作业。进一步,所述Zookeeper服务器包括主用服务器和备用服务器,所述备用服务器用于当支撑集群中节点异常后,接管主用服务器进行工作,所述Zookeeper服务器设置有用于承载业务配置数据和结果集表的分布式内存数据库。本专利技术的有益效果是:本专利技术中的基于云系统的作业调度方法和系统,解决了云系统中的分布式任务调度问题,支持实时任务、定时任务和crontab任务,有较好的伸缩性,扩展性,健壮稳定性,可以对云系统的作业任务实现集群化管理与调度,有效的预防单点故障,实现调度管理高度可用,也实现了全面的作业监控,提高了执行效率,使运营维护直观高效。附图说明图1为本专利技术实施例的基于云系统的作业调度方法的流程示意图。图2为本专利技术实施例的基于云系统的作业调度系统的结构示意图。具体实施方式以下结合附图对本专利技术的原理和特征进行描述,所举实例只用于解释本专利技术,并非用于限定本专利技术的范围。如图1所示,本实施例中的基于云系统的作业调度方法,包括:a.调度模块通过在Zookeeper服务器上进行注册,确认作业调度是否启用,所述Zookeeper服务器为集群部署;b.注册成功后,获取令牌,并查询所述令牌对应的作业调度配置表;c.通过作业调度配置表获取该待调度作业的处理作业列表;d.执行待调度作业,调度完成后将调度结果反馈给调度模块。在本实施例中,利用Zookeeper实现调度监控服务的高可用,启动调度任务后,先在集群部署的Zookeeper服务上进行注册,如果注册失败,直接退出进程,注册成功后,获取令牌,查询该令牌对应作业调度配置表,获取该进程处理作业列表,根据处理作业列表开始调度作业执行,作业完成后返回约定结果给调度模块。本实施例可以在系统集群内集中实现按业务逻辑处理作业,支持指定周期性的执行某些作业,实现类crontab调度管理功能,有效的防单点故障,实现调度管理高可用,并且能够实现全面的作业监控,含作业运行情况,执行效率,并能集中输出作业执行情况告警和错误反馈。在本实施例中,步骤c中还包括根据并发处理字段对处理作业列表进行多线程处理,并对各线程中的处理作业列表进行优先级排序,各线程循环处理作业列表。依据并发处理字段归整多线程处理,各线程任务列表按处理优先级排序,各线程循环处理作业列表。在本实施例中,通过多线程处理,并利用分布式内存数据库共享特性承载业务配置数据和结果数据,通过将返回结果存放分布式内存数据库中的结果集供云运维平台使用,处理作业列表的优先级按照原任务的优先级进行排序,依次执行。在本实施例中,调度模块为多个,用于对调度作业均衡负载,调度模块对作业调度配置表中的作业配置信息进行校验,判断配置信息中各字段是否满足格式要求,当然用户也可以根据需要,自定义调度模块所负责调度作业的数量,也可以采用同一个调度作业,采用多个调度模块共同负责的方式。本实施例中配置信息的字段包括时间和频率等信息,可以通过如下方法判断是否符合要求,例如:分:0-59(60分钟制)时:0-23(24小时制)日:1-31(一个月最多31天)月:1-12(一年12个月)周:0-7(星期,0或7时代表星期天)“*”:星号,代表任何时刻都接受;“,”:逗号,代表分割时段的意思;“-”:减号,表示一段时间范围;“/n”:斜杠n,n代表数字本文档来自技高网...
基于云系统的作业调度方法和系统

【技术保护点】
一种基于云系统的作业调度方法,其特征在于,包括:a.通过在Zookeeper服务器上进行注册,启动作业调度,所述Zookeeper服务器的Zookeeper服务为集群部署;b.注册成功后,获取令牌,并查询所述令牌对应的作业调度配置表;c.通过作业调度配置表获取该待调度作业的处理作业列表;d.执行待调度作业,调度完成后将调度结果进行反馈。

【技术特征摘要】
1.一种基于云系统的作业调度方法,其特征在于,包括:a.通过在Zookeeper服务器上进行注册,启动作业调度,所述Zookeeper服务器的Zookeeper服务为集群部署;b.注册成功后,获取令牌,并查询所述令牌对应的作业调度配置表;c.通过作业调度配置表获取该待调度作业的处理作业列表;d.执行待调度作业,调度完成后将调度结果进行反馈。2.根据权利要求1所述的基于云系统的作业调度方法,其特征在于,步骤c中还包括根据作业调度配置表中并发处理字段对配置的处理作业列表进行多线程处理,并对各线程中的处理作业列表进行优先级排序,各线程循环执行处理作业列表。3.根据权利要求2所述的基于云系统的作业调度方法,其特征在于,设置多个调度模块对调度作业均衡负载,调度模块对作业调度配置表中的作业配置信息进行校验,判断配置信息中各字段是否满足格式要求。4.根据权利要求3所述的基于云系统的作业调度方法,其特征在于,对所述作业配置信息进行解析,获取处理时间周期,并根据预设的时间周期阈值判断处理时间周期是否有效;若判断结果为无效,则处理下一条作业;若判断结果为有效,则读取结果集表,判断是否存在本周期未处理完的数据,若存在,则结束本次处理,处理下一条作业。5.根据权利要求4所述的基于云系统的作业调度方法,其特征在于,当作业配置信息符合要求且处理时间周期有效时,如果作业调度结果集中不存在本周期未处理完的数据,则将结果记录插入到作业调度结果集表,记录包含本作业的处理周期,并将处理状态置为初始状态,锁定该作业。6.根据权利要求5所述的基于云系统的...

【专利技术属性】
技术研发人员:沈文川
申请(专利权)人:北京思特奇信息技术股份有限公司
类型:发明
国别省市:北京,11

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

1