[发明专利]分布式任务处理方法及装置在审
| 申请号: | 201410784173.7 | 申请日: | 2014-12-16 | 
| 公开(公告)号: | CN105760240A | 公开(公告)日: | 2016-07-13 | 
| 发明(设计)人: | 李泽然;魏海建;张玉魁;尹春天;范立波;黄新华;张晓佳 | 申请(专利权)人: | 航天信息股份有限公司 | 
| 主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F9/46;G06F9/50 | 
| 代理公司: | 北京工信联合知识产权代理事务所(普通合伙) 11266 | 代理人: | 李韬 | 
| 地址: | 100195 北京市*** | 国省代码: | 北京;11 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 分布式 任务 处理 方法 装置 | ||
技术领域
本发明涉及数据处理技术领域,特别是涉及一种分布式任务处理方法及一种分布式任务处理装置。
背景技术
在现有的各种应用系统中,大部分应用系统都需要定时处理某种业务。通常应用系统可以采用单点部署或多点部署的方式处理业务。若应用系统采用单点部署的方式,即仅仅依靠单个节点处理相应的任务,则一方面存在单点故障的问题,也就是当处理该任务的单个节点发生宕机事件时,整个应用系统都将无法正常使用。另一方面,由于单个节点无法实现对任务的并发处理,因此单点部署还存在性能较低的问题。若应用系统采用多点部署的方式,即由多个节点共同处理相应的任务,虽然可以解决单点故障的问题,但需要多节点同时访问公共的某种资源,造成资源的并发访问,可能会导致部分任务处理失败。
发明内容
为解决上述问题,本发明提供一种分布式任务处理方法及装置,不仅可以解决应用系统处理任务时的单点故障问题,还可以实现任务的并发处理,从而有效地提高了应用系统的容灾能力及业务处理性能,具有高可用、高性能及简单易用的特点。
具体地,一种分布式任务处理方法,包括:每当接收到来自受理端的一个待处理任务时,根据预定规则从包括多个节点的节点集群中选择一个目标节点,将该待处理任务分配给该目标节点进行处理;监控该节点集群中各节点的运行状态,即时捕获发生宕机事件的宕机节点;将该宕机节点对应的待处理任务迁移给未发生宕机事件的正常节点进行处理。
在本发明的一个实施例中,上述分布式任务处理方法还包括:在数据库中维护一个节点任务关系表,该节点任务关系表用于记录节点集群中各节点与待处理任务的对应关系。
在本发明的一个实施例中,所述根据预定规则从包括多个节点的节点集群中选择一个目标节点的步骤包括:在所述节点任务关系表中查询节点集群中各节点对应的待处理任务的数量;根据节点集群中各节点对应的待处理任务的数量判断各节点的繁忙程度;从节点集群中选择繁忙程度最低的节点为该目标节点。
在本发明的一个实施例中,所述监控该节点集群中各节点的运行状态,即时捕获发生宕机事件的宕机节点的步骤包括:以节点集群中的每个节点为待定节点,检测该待定节点是否发生网络故障,若是,则判定该待定节点为发生宕机事件的宕机节点;若该待定节点未发生网络故障,则进一步查询该待定节点对应的待处理任务的数量是否超过第一预设阈值,若是,则判定该待定节点为发生宕机事件的宕机节点。
在本发明的一个实施例中,所述将该宕机节点对应的待处理任务迁移给未发生宕机事件的正常节点进行处理的步骤包括:将该宕机节点对应的待处理任务切分为若干组子任务,其中每组子任务包括的待处理任务的数量不超过第二预设阈值,然后将该若干组子任务分批次迁移给所述正常节点进行处理。
一种分布式任务处理装置,包括:分配模块,用于每当接收到来自受理端的一个待处理任务时,根据预定规则从包括多个节点的节点集群中选择一个目标节点,将该待处理任务分配给该目标节点进行处理;监控模块,用于监控该节点集群中各节点的运行状态,即时捕获发生宕机事件的宕机节点;迁移模块,用于将该宕机节点对应的待处理任务迁移给未发生宕机事件的正常节点进行处理。
在本发明的一个实施例中,所述分配模块还用于在数据库中维护一个节点任务关系表,该节点任务关系表用于记录节点集群中各节点与待处理任务的对应关系。
在本发明的一个实施例中,所述根据预定规则从包括多个节点的节点集群中选择一个目标节点包括:在所述节点任务关系表中查询节点集群中各节点对应的待处理任务的数量;根据节点集群中各节点对应的待处理任务的数量判断各节点的繁忙程度;从节点集群中选择繁忙程度最低的节点为该目标节点。
在本发明的一个实施例中,所述监控模块用于:以节点集群中的每个节点为待定节点,检测该待定节点是否发生网络故障,若是,则判定该待定节点为发生宕机事件的宕机节点;若该待定节点未发生网络故障,则进一步查询该待定节点对应的待处理任务的数量是否超过第一预设阈值,若是,则判定该待定节点为发生宕机事件的宕机节点。
在本发明的一个实施例中,所述迁移模块用于:将该宕机节点对应的待处理任务切分为若干组子任务,其中每组子任务包括的待处理任务的数量不超过第二预设阈值,然后将该若干组子任务分批次迁移给所述正常节点进行处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天信息股份有限公司,未经航天信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410784173.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种地漏辅助清理装置
- 下一篇:一种监测缆头电压和仪器温度的厚膜电路





