[发明专利]一种基于消息中间件的分布式任务调度方法及系统有效
申请号: | 201110453910.1 | 申请日: | 2011-12-30 |
公开(公告)号: | CN102521044A | 公开(公告)日: | 2012-06-27 |
发明(设计)人: | 包博远;许新科;李永利;常青 | 申请(专利权)人: | 北京拓明科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 北京天悦专利代理事务所(普通合伙) 11311 | 代理人: | 田明;任晓航 |
地址: | 100011 北京市西城*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 消息 中间件 分布式 任务 调度 方法 系统 | ||
1.一种基于消息中间件的分布式任务调度方法,包括以下步骤:
(1)将待处理的任务保存到主节点的任务队列中;
(2)将任务队列中的任务通过消息中间件由负载均衡管理器均衡分配到主节点下的可用子节点中;由负载均衡器均衡分配的具体方式为:
a.主节点获取其列表下的一个可用子节点,并向该子节点发送请求,查看该子节点是否可用;
b.子节点接收到主节点的请求,将其执行状态回复主节点;
c.主节点接收到回复信息,如果子节点可用,则将任务分配到该子节点;如果子节点不可用,则返回步骤a;
(3)启动子节点的任务进程,由子节点的目标主机执行子节点的任务。
2.如权利要求1所述的一种基于消息中间件的分布式任务调度方法,其特征在于:该方法通过设置监听节点来监听主节点和子节点的心跳信号,通过心跳信号判断主节点和子节点是否正常。
3.如权利要求2所述的一种基于消息中间件的分布式任务调度方法,其特征在于:步骤a中,判断子节点是否可用的具体方式为:
①判断子节点的心跳信号是否正常,若是则进入步骤b;若否则子节点不可用;
②查看子节点上正在执行的任务个数是否达到子节点的上限,若是则子节点不可用;若否则子节点可用。
4.如权利要求2所述的一种基于消息中间件的分布式任务调度方法,其特征在于:监听节点将第一个报上心跳信号的主节点指定为任命主节点,其它主节点为备用主节点。
5.如权利要求4所述的一种基于消息中间件的分布式任务调度方法,其特征在于:当执行任务的子节点的目标主机发生故障时,将任务切换到子节点的其它目标主机上执行;当执行任务的子节点发生故障时,将任务切换到其它可用子节点上执行;当任命主节点发生故障时,启用备用主节点分配任务。
6.如权利要求4所述的一种基于消息中间件的分布式任务调度方法,其特征在于:任命主节点与备用主节点中设有定时器,根据定时器的触发时间主节点将任务队列中的任务分配到其下的可用子节点上。
7.如权利要求1所述的一种基于消息中间件的分布式任务调度方法,其特征在于:步骤(2)中,所述消息中间件的消息头中包括用于指定接收消息的子节点名称、用于指定消息类型的消息编号和消息的有效负载类型。
8.一种基于消息中间件的分布式任务调度系统,包括:
任务保存模块:用于将待处理的任务保存到主节点的任务队列中;
任务调度模块:用于将任务队列中的任务通过消息中间件分配到主节点下的可用子节点中:所述任务调度模块包括用于将任务均衡分配到主节点下的多个可用子节点的负载均衡器;
任务执行模块:用于启动子节点的任务进程,由子节点的目标主机执行子节点的任务。
9.如权利要求8所述的一种基于消息中间件的分布式任务调度系统,其特征在于:所述任务调度模块还包括用于主节点或者子节点发生故障时将任务切换到备用主节点或其它子节点的故障切换管理器。
10.如权利要求8或9所述的一种基于消息中间件的分布式任务调度系统,其特征在于:该系统还包括用于任务管理并通过发送状态请求命令监控任务执行状态的前台用户接口模块,以及用于接受前台用户接口模块发送的状态请求命令,并生成状态请求命令的响应后发送到前台用户接口模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京拓明科技有限公司,未经北京拓明科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110453910.1/1.html,转载请声明来源钻瓜专利网。