[发明专利]一种基于消息队列的分布式任务处理的方法、装置及系统有效
申请号: | 201180003148.5 | 申请日: | 2011-12-31 |
公开(公告)号: | CN103502943B | 公开(公告)日: | 2017-06-16 |
发明(设计)人: | 武嘉 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 消息 队列 分布式 任务 处理 方法 装置 系统 | ||
技术领域
本发明涉及信息技术(Information Technology,简称:IT)领域,尤其涉及一种基于消息队列的分布式任务处理的方法、装置及系统。
背景技术
分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。这些运算资源既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。
分布式计算比起其它算法具有以下几个优点:稀有资源可以共享;通过分布式计算可以在多台计算机上平衡计算负载;可以把程序放在最适合运行它的计算机上。
现有的分布式计算系统,为实现任务的分级管理,通常维护一个消息队列(Message Queue,简称:MQ),一个中心节点以及若干任务处理节点。其中,消息队列用于保存所要执行的任务,中心节点用于根据任务的优先级对消息队列中的任务进行排序,实现分级管理功能,以保证高优先级的任务位于消息队列的队首,任务处理节点用于循环扫描消息队列,从所述消息队列获取位于队首的任务并执行该任务。
通过对现有技术的分析,发明人认为现有技术至少存在以下问题:
现有技术需要对消息队列中的任务按任务优先级进行排序,当要求处理的任务种类多且任务数量大时,将增加系统排序的开销,降低系统的工作效率。
发明内容
本发明实施例的目的在于提供一种基于消息队列的分布式任务处理的方法、装置及系统,使得分布式任务处理系统不需对消息队列中的处理任务进行排序。
本发明实施例提供的一种基于消息队列的分布式任务处理方法,任务消息队列组中的每个消息队列存储任务处理节点承载的一种处理任务,该方法包括:
A,所述任务处理节点按照自身承载的处理任务的优先级级别,确定存储所述处理任务的消息队列的优先级级别;
B,所述任务处理节点按照优先级级别由高到低的顺序,从优先级级别最高的消息队列开始依次扫描所述任务消息队列组中的消息队列,若扫描到包含处理任务的消息队列,执行步骤C,否则,重复步骤B;
C,所述任务处理节点获取当前处理任务,并执行所述当前处理任务,执行完之后返回步骤B,其中,所述当前处理任务存储在所述包含处理任务的消息队列中。
本发明实施例提供的一种基于消息队列的分布式任务调度方法,包括:
获取分割后的处理任务;
根据所述处理任务的类型,将所述处理任务发送至任务消息队列组中与所述处理任务的类型关联的消息队列,等待任务处理节点执行。
本发明实施例提供的一种任务处理节点,包括:
消息队列优先级级别确定单元,用于按照自身承载的处理任务的优先级级别,确定存储所述处理任务的消息队列的优先级级别;
扫描单元,用于根据所述消息队列优先级级别确定单元确定的所述消息队列的优先级级别,按照优先级级别由高到低的顺序,从优先级级别最高的消息队列开始依次扫描任务消息队列组中的消息队列;
任务执行单元,用于在所述扫描单元扫描到包含处理任务的消息队列时,获取当前处理任务,并执行所述当前处理任务,其中,所述当前处理任务存储在所述包含处理任务的消息队列中。
本发明实施例提供的一种调度器,包括:
获取单元,用于获取分割后的处理任务;
发送单元,用于根据所述获取单元获取的处理任务的类型,将所述处理任务发送至任务消息队列组中与所述处理任务的类型关联的消息队列,等待任务处理节点执行。
本发明实施例提供的一种分布式任务处理系统,所述系统包括至少一个任务处理节点,所述任务处理节点用于按照自身承载的处理任务的优先级级别,确定存储所述处理任务的消息队列的优先级级别,并按照优先级级别由高到低的顺序,从优先级级别最高的消息队列开始依次循环扫描任务消息队列组中的消息队列,并执行扫描到的处理任务,其中,所述任务消息队列组中的每个消息队列存储所述任务处理节点承载的一种处理任务;
其中,所述任务处理节点包括:
消息队列优先级级别确定单元,用于按照自身承载的处理任务的优先级级别,确定存储所述处理任务的消息队列的优先级级别;
扫描单元,用于根据所述消息队列优先级级别确定单元确定的所述消息队列的优先级级别,按照优先级级别由高到低的顺序,从优先级级别最高的消息队列开始依次扫描任务消息队列组中的消息队列;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180003148.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:虚拟机内存调整方法和设备
- 下一篇:醇基燃料汽化燃烧炉