[发明专利]分布式数据仓库中的任务调度方法及系统有效
申请号: | 201010188509.5 | 申请日: | 2010-05-14 |
公开(公告)号: | CN102243598A | 公开(公告)日: | 2011-11-16 |
发明(设计)人: | 李均;郭玮;洪坤乾;赵伟 | 申请(专利权)人: | 深圳市腾讯计算机系统有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 何平;曾旻辉 |
地址: | 518057 广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 数据仓库 中的 任务 调度 方法 系统 | ||
【技术领域】
本发明涉及数据处理技术领域,尤其涉及一种分布式数据仓库中的任务调度方法及系统。
【背景技术】
数据仓库(Data Warehouse)是决策支持系统和联机分析应用数据源的结构化数据环境,能研究和解决从数据库中获取信息的问题。分布式数据仓库指使用基于GFS(Google File System,一个可扩展的分布式文件系统)和MapReduce(一种编程模型,用于大规模数据集的并行运算)相关技术提供海量存储和计算服务的数据仓库解决方案。
采用MapReduce编程模型实现的分布式数据仓库,在进行多任务调度时通常采用FIFO(First Input First Output,先进先出)调度策略,即用户提交一个任务(job)后,根据任务提交的时间和任务优先级确定任务在FIFO队列中的位置,队列最前面的任务优先得到系统的所有计算资源。
图1示出了传统的分布式数据仓库中FIFO队列中的任务调度序列图,其描述了3个任务在FIFO队列中的调度过程。假设系统总共有2个M(Map)和2个R(Reduce)计算资源。最开始任务1占用了所有的计算资源,2个M计算资源和2个R计算资源同时被调度起来,单斜线填充的表示任务正在运行。任务1的2个M计算资源结束后变成交叉线填充,接着继续调度2个M计算资源,最后任务1只剩下一个M计算资源需要调度,多出的资源则分配给任务2。
然而,传统的这种任务调度方式会有任务分配资源不公平,资源不能得到合理分配的问题。例如大任务和小任务一起运行时,队列中有一些小任务可能夹杂在大任务中间,这样会导致小任务长期处于饥渴状态,因此无法满足分布式数据仓库的应用场景既要满足用户非实时的大任务的同时还需要快速响应的实时小任务的要求。
【发明内容】
基于此,有必要提供一种能合理分配资源的分布式数据仓库中的任务调度方法。
一种分布式数据仓库中的任务调度方法,包括以下步骤:A.按类型将任务分为多个任务组,分别设定应分配给任务组的资源比例;B.根据所述资源比例对所述多个任务组进行资源分配。
步骤A是:按类型将任务分为关键任务组、实时任务组和非实时任务组。
该方法还可包括:实时统计关键任务组中的任务正在运行的子任务数及需要运行的子任务数、实时任务组中的任务正在运行的子任务数及需要运行的子任务数、非实时任务组中的任务正在运行的子任务数及需要运行的子任务数、关键任务组中正在运行的子任务总数及需要运行的子任务总数、实时任务组中正在运行的子任务总数及需要运行的子任务总数、非实时任务组中正在运行的子任务总数及需要运行的子任务总数。
其中,步骤B可以是:B1.判断所述关键任务组中是否有需运行的子任务,若是,则执行步骤B2,否则执行步骤B3;B2.按照所述关键任务组的调度策略将资源分配给关键任务组中的子任务;B3.对所述实时任务组和非实时任务组进行资源分配。
其中,步骤B3具体可以是:B31.根据所述资源比例获取所述实时任务组的资源额度,判断是否有资源分配给实时任务组,若是,则执行步骤B32,否则执行步骤B34;B32.判断所述实时任务组中是否有需要运行的子任务且实时任务组内正在运行的子任务总数小于所述实时任务组的资源额度,若是,则执行步骤B33,否则执行步骤B34;B33.按照所述实时任务组的调度策略将资源分配给所述实时任务组中的子任务;B34.根据所述资源比例获取非实时任务组的资源额度,判断是否有资源分配给非实时任务组,若是,则执行步骤B35,否则执行步骤B37;B35.判断所述非实时任务组中是否有需要运行的子任务且非实时任务组内正在运行的子任务总数小于非实时任务组的资源额度,若是,则执行步骤B36,否则结束;B36.按照所述非实时任务组中的调度策略将资源分配给所述非实时任务组中的子任务。
其中,该方法还可以包括:当所述非实时任务组中没有需要运行的子任务或非实时任务组内正在运行的子任务总数大于非实时任务组的资源额度时,根据所述资源比例获取实时任务组的资源额度,进一步判断是否有资源分配给实时任务组,若是,则进一步判断所述实时任务组中是否有需运行的子任务且实时任务组内正在运行的子任务总数小于实时任务组的资源额度,若是,则按照实时任务组中的调度策略将资源分配给所述实时任务组中的子任务,否则结束。
此外,还有必要提供一种能合理分配资源的分布式数据仓库中的任务调度系统。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市腾讯计算机系统有限公司,未经深圳市腾讯计算机系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010188509.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于谐振频率的压力传感器
- 下一篇:一种智能地雷