[发明专利]负载平衡方法和装置有效
| 申请号: | 201110406395.1 | 申请日: | 2011-12-06 |
| 公开(公告)号: | CN103150213A | 公开(公告)日: | 2013-06-12 |
| 发明(设计)人: | 周萍萍 | 申请(专利权)人: | 北大方正集团有限公司;北京北大方正电子有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50 |
| 代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐 |
| 地址: | 100871 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 负载 平衡 方法 装置 | ||
技术领域
本发明涉及软件开发领域,具体而言,涉及一种负载平衡方法和装置。
背景技术
引擎是运行于网络中,通用的、可伸缩的,用于处理耗时耗资源的任务的框架系统。服务器通过运行引擎,向客户端提供各种服务。
在多任务系统中,用户向服务器提出多个任务请求,服务器应当以合理的机制调度合适的引擎运行相应的任务,以避免任务拥塞。
例如,现有出版流程重复性劳动多、效率低,各台设备之间没有协调和调度,更谈不上整个设备集群调度的资源优化和负载平衡,结果造成了设备和人力资源的浪费。
发明内容
本发明旨在提供一种负载平衡方法和装置,以解决任务拥塞的问题。
在本发明的实施例中,提供了一种负载平衡方法,包括:从任务队列的队首中取出一个任务;从与任务的业务类型相对应的引擎中选择处理能力最强的引擎;将任务分配给所选引擎,并将所选引擎的当前处理的任务数加1。
在本发明的实施例中,提供了一种负载平衡装置,包括:取任务模块,用于从任务队列的队首中取出一个任务;选择模块,用于从与任务的业务类型相对应的引擎中选择处理能力最强的引擎;分配模块,用于将任务分配给所选引擎,并将所选引擎的当前处理的任务数加1。
本发明上述实施例的负载平衡方法和装置因为合理地调度引擎,所以克服了任务拥塞的问题,提高了引擎的运行效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了根据本发明实施例的负载平衡方法的流程图;
图2示出了根据本发明优选实施例的负载平衡方法的流程图;
图3示出了根据本发明实施例的负载平衡装置的示意图;
图4示出了根据本发明优选实施例的任务调度和负载平衡的系统的示意图。
具体实施方式
下面将参考附图并结合实施例,来详细说明本发明。
图1示出了根据本发明实施例的负载平衡方法的流程图,包括:
步骤S10,从任务队列的队首中取出一个任务;
步骤S20,从与任务的业务类型相对应的引擎中选择处理能力最强的引擎;
步骤S30,将任务分配给所选引擎,并将所选引擎的当前处理的任务数加1。
本方法在满足给定的任务执行顺序的前提下,可以有效地利用资源,快速完成任务处理。
优选地,步骤S20包括:确定与任务的业务类型相对应的引擎;获取各个相对应的引擎当前的处理能力;确定其中空闲任务数最多的引擎。
业务类型具体的可以为文档转换执行引擎、抽图执行引擎、图像转换执行引擎等,负责处理相应的业务。本优选实施例以比较简单地方法确定了处理能力最强的引擎。
优选地,空闲任务数为引擎的最大任务处理数减去其当前处理的任务数。
优选地,本方法还包括:确定所有相对应的引擎均不具备处理能力;使任务保持等待,直到确定一个相对应的引擎空闲。例如,获取等待任务队列中的第一个任务的业务类型,寻找各执行引擎的业务类型与之匹配的引擎,如果相同则判断执行引擎正在处理的任务个数是否小于CPU内核数,如果是则说明引擎还可以处理任务,如果大于CPU内核数,则说明引擎忙,不可以处理任务。
优选地,本方法还包括:预先从客户端接收要处理的任务;将要处理的任务插入任务队列的队尾。该方法比较简单,用队列数据结构即可实现。
图2示出了根据本发明优选实施例的负载平衡方法的流程图,包括:
步骤S201,收到任务请求时,将任务存储到等待执行任务队列中。
通过循环监测等待执行任务队列中的情况,一旦发现等待任务队列中有任务,开始执行步骤S202;否则不断地监测等待执行任务队列中的任务情况。
步骤S202,监测各执行引擎的能力、负载以及处理任务情况、业务处理数目;
向各个执行引擎发送消息,获取各执行引擎的CPU内核数、CPU使用率、正在处理的任务个数以及业务类型等;
获取等待任务队列中的第一个任务的业务类型,寻找各执行引擎的业务类型与之匹配的引擎,如果相同则判断执行引擎正在处理的任务个数是否小于CPU内核数,如果是则说明引擎还可以处理任务,执行步骤S203;否则继续监测;
该执行引擎同时处理的任务数,不超过CPU的内核数量。
步骤S203,将当前符合该任务业务请求类型的空闲执行引擎存储到可用引擎队列中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北大方正集团有限公司;北京北大方正电子有限公司,未经北大方正集团有限公司;北京北大方正电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110406395.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于液罐车罐体的蝶形板拼焊的固定装置
- 下一篇:一种圆孔双向倒角刀具





