一种基于客户端、服务器系统的分布式定时任务调度系统的制作方法_3

文档序号:8208966阅读:来源:国知局
务调度系统,其特征在于包括:应用服务器、核心调度服务器、WEB监控服务器、消息服务器和数据库;其中: 所述应用服务器有若干个,采用分布式的集群服务器,所述应用服务器提供的服务有定时任务的功能需求;该应用服务器给出多个任务执行地址到核心调度服务器,每个地址就是一个任务执行入口; 所述核心调度服务器有若干个,是一种统筹服务器,用于控制应用服务器在什么时间执行任务,并且收集应用服务器执行任务的结果;由于任务有很多个,每个核心调度服务器中都维护了 一个任务池,任务池是一个存放所有任务的地方; 所述WEB监控服务器,用于对任务的执行时间和执行逻辑进行配置,并且至少提供任务的暂停、删除、新增、查看、手动触发功能中的任意一种,同时提供对历史任务的执行记录查看; 所述消息服务器,作为一个代理,在WEB监控服务器配置完相关信息后,WEB监控服务器发送同步信息给消息服务器,由消息服务器把同步信息转发到核心调度服务器;同步信息是指服务器之间通信的内容; 所述数据库,用于存储任务配置的信息、任务执行结束后的信息; 所述系统的执行流程如下: (1)WEB监控服务器负责进行任务信息的配置,配置完成后把信息数据保存进数据库中,同时至少提供任务信息的查看、新增、修改、暂停、删除操作中的任意一种,操作后把对应的任务信息保存入数据库;数据库中保存的任务信息同时提供给WEB监控服务器进行查看; (2)当WEB监控服务器中的任务信息至少有新增、修改、暂停、删除操作中的任意一种的时候,发送一个同步信息给消息服务器; (3)消息服务器找到所有核心调度服务器,对每个核心调度服务器发送同步信息;由于核心调度服务器在启动的时候会自动的到消息服务器上面进行注册,所以消息服务器能找到在自己这里注册的所有核心调度服务器; (4)核心调度服务器收到通知后去数据库中取出任务,放入任务池中进行监听; (5)当任务时间到达的时候,核心调度服务器通知应用服务器进行任务的执行,在通知应用服务器的同时,核心调度服务器在数据库中记录任务开始执行的信息; (6)当应用服务器执行结束后,返回信息给核心调度服务器,核心调度服务器又把返回信息记录进数据库;此时WEB监控服务器可以通过数据库查看任务的执行历史。
2.根据权利要求1所述的分布式定时任务调度系统,其特征在于所述应用服务器启动的时候,首先任务执行主体初始化,生成一个唯一地址;在WEB监控服务器中配置相对应的任务信息:包含任务主体的地址、任务执行的时间规则以及其他一些相关附带属性;当配置完信息后,通知核心调度服务器,核心调度服务器根据通知过来的信息把需要新增或修改的任务加载进来,并加入任务池中,当监听发现有任务触发的时候找到对应的任务主体地址进行远程通知调用;当应用服务器执行结束后,应用服务器把执行结果发送回核心调度服务器; 应用服务器中包含有一个集成功能软件包,该集成功能软件包提供任务主体监听功能;在集成功能软件包中定义了标注任务主体的注解标识,在集成功能软件包启动的时候,本集成功能软件包扫描全部使用该注解标识的任务主体从而进行监控;当这些任务主体执行结束,或者执行异常后收集成功或者异常信息报告给核心调度服务器; 监听功能采用AOP技术,在任务调度系统中,在应用服务器启动前,开发人员在任务执行主体上面加上集成功能软件包定义好的注解,启动的时候集成功能软件包扫描所有使用该注解的任务执行主体确认监听的范围,从而进行监控;当这些任务执行主体执行结束后,集成功能软件包把任务执行的结果信息收集起来通过dubbo协议传送给核心调度服务器;核心调度服务器收到信息后把执行结果信息、任务标识数据存储进数据库,用来作为web历史数据查看的依据。
3.根据权利要求2所述的分布式定时任务调度系统,其特征在于WEB监控服务器至少提供对任务的查看、修改、新增、删除、立即执行、及任务的历史执行计划查看中的任意一种功能; WEB监控服务器首先配置任务执行信息内容,包含任务执行的地址、任务执行的时间规则和任务执行的应用服务器查找单元;应用服务器查找单元为ZooK^per或者dubbo自带的 multicast 工具; WEB监控服务器配置完这些信息后,通过消息服务器通知多台核心调度服务器;核心调度服务器根据WEB监控服务器发送过来的同步信息进行对应的操作;同步信息为WEB监控服务器和核心调度服务器之间的数据发送内容,核心调度服务器根据同步信息进行相对应的任务操作; 同步信息包含两方面内容,一方面为标注同任务的操作类型为新增、删除、还是修改;另一方面为任务的唯一标示ID,此ID是WEB监控服务器中新增任务操作并且把任务信息保存进数据库中的时候自动生成的唯一标示符,用该ID可以在数据库中找到对应的任务信息;当核心调度服务器收到同步信息的时候,首先判断此通知信息的第一个值所代表的操作类型是什么,根据第二个值即任务ID去数据库中抓取任务对应的任务执行主体地址和任务执行规则,然后把任务执行主体地址和任务执行规则这2个元素打包成I个完整的任务投入到核心调度服务器的任务池中; 当操作状态为新增的时候,抓取新增的任务放入任务池; 当操作状态为删除的时候,在任务池中删除对应的任务; 当操作状态为修改的时候,首先在任务池中删除老的任务,然后把新的任务信息加载进任务池; 在修改的时候,核心调度服务器在任务池中找到对应的任务,先去除对其的监听,再删除这任务,那该任务就失效了 ;然后马上根据同步信息中第二个值即任务ID去数据库中抓取任务的信息,和新增功能流程一样打包成完成的任务信息放入任务池中;在删除的时候,根据任务ID把在任务池中的任务提取出来,先取消监听,再在任务池中进行删除。
4.根据权利要求3所述的分布式定时任务调度系统,其特征在于核心调度服务器把任务都装进来后监听这些任务,当某个任务的触发时间到达时,核心调度服务器就去找到这个任务是什么任务,这个任务在哪里,这个任务暴露出来的执行主体地址是什么,这些任务信息都是在WEB监控服务器配置任务的时候配置进去的;核心调度服务器找到这些信息后通过dubbo协议到应用服务器上进行远程通知调用。
【专利摘要】本发明属于客户端、服务器系统的任务管理技术领域,具体为一种基于客户端、服务器系统的分布式定时任务调度系统。本发明系统包括:应用服务器;核心调度服务器,用于控制应用服务器在什么时间执行任务,并且收集应用服务器执行任务的结果;WEB监控服务器,用于对任务的执行时间和执行逻辑进行配置;消息服务器,由消息服务器把同步信息转发到核心调度服务器;数据库,用于存储任务配置的信息、任务执行结束后的信息。本发明系统增加了任务执行的状态监控功能,把原来依附于项目的非核心功能进行剥离,把同类相关功能进行横向切断,合并统一管理;把原来属于项目节点上的功能全部提取出来,把所有任务都放在同一个远程服务器中进行统一调度。
【IPC分类】G06F9-46
【公开号】CN104536809
【申请号】CN201410689980
【发明人】徐东, 曹奎
【申请人】上海瀚之友信息技术服务有限公司
【公开日】2015年4月22日
【申请日】2014年11月26日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1