【技术实现步骤摘要】
本专利技术涉及云计算
,具体涉及一种分布式计算系统的任务调度方法及系统。
技术介绍
在云计算领域,当前主流的计算模型是谷歌公司提出的MapReduce模型以及对其改进形成的模型。对一般用户来说,MapReduce模型是一种编程范例,按照MapReduce编程范例写的程序可以并行运行在集群中的多个计算机节点上;对云服务提供商来说,MapReduce是一种用来构建云计算环境的架构,用MapReduce来组织多个计算机节点来组成大型集群运行MapReduce程序。MapReduce把整个作业按数据量大小划分成多个子任务,上述多个子任务在集群中的计算机节点中并行运行。在MapReduce模型中,一个MapReduce作业(Job)被划分成多个任务(Task),并分配到集群中的节点上进行处理,划分方法由用户指定,作业分为映射(Map)阶段和化简(Reduce)阶段进行处理,两个阶段输入和输出都为Key/Value形式的数据模型,每个节点会周期性的把完成的工作、状态和更新报告发送给主节点。在调用MapReduce后,用户程序处于等待状态。一个MapReduce的实际运 ...
【技术保护点】
一种分布式计算系统的任务调度方法,所述分布式计算系统的集群中的节点包括一个主节点和多个工作节点,其中所述主节点用于为所述多个工作节点进行任务调度,其特征在于,包括如下步骤:S1,用户程序启动MapReduce程序,同时用户程序进入休眠状态;主节点获取输入文件,主节点发出执行处理输入文件的请求,所述分布式计算系统对所述请求做出响应,并将所述输入文件分成多个数据段,主节点根据所述数据段数目生成多个Map子任务,并将所述Map子任务的副本复制到各个工作节点上,其中,每个所述Map子任务用于执行处理一个所述数据段的请求;同时,所述主节点按照用户程序逻辑设定一个或多个Reduce子任 ...
【技术特征摘要】
1.一种分布式计算系统的任务调度方法,所述分布式计算系统的集群中的节点包括一个主节点和多个工作节点,其中所述主节点用于为所述多个工作节点进行任务调度,其特征在于,包括如下步骤: SI,用户程序启动MapReduce程序,同时用户程序进入休眠状态;主节点获取输入文件,主节点发出执行处理输入文件的请求,所述分布式计算系统对所述请求做出响应,并将所述输入文件分成多个数据段,主节点根据所述数据段数目生成多个Map子任务,并将所述Map子任务的副本复制到各个工作节点上,其中,每个所述Map子任务用于执行处理一个所述数据段的请求;同时,所述主节点按照用户程序逻辑设定一个或多个Reduce子任务,并将所述Reduce子任务的副本复制到所述各个工作节点上; S2,集群中的工作节点将空闲状态周期性地发送给所述主节点,主节点根据所述工作节点的空闲状态将所述数据段分配给所述工作节点,直到所有数据段均分配完毕,所述工作节点从所述数据段中提取出关于Key和Value的初始键值对,将所述初始键值对传递给Map子任务,由所述Map子任务进行处理,生成中间键值对,输出所述中间键值对至公共区域中,其中,所述公共区域为所述分布式计算系统中的一个目录,由所述用户程序在启动MapReduce程序时指定; S3,所述工作节点完成一个Map子任务后向所述主节点发出处理完成Map子任务的报告,主节点判断所有数据段的处理是否完成,若是,则执行步聚S4 ;若否,则返回执行步骤S3; S4,标记最后完成数据段处理的工作节点,将处于公共区域的多个所述中间键值对分成多个区,调取Reduce子任务,每个Reduce子任务对一个区中的中间键值按照Key进行排序,并将排序后的中间键值对周期性地写入所述分布式计算系统的公共区域; S5,最后完成数据 段处理的工作节点获取所述公共区域的中间键值对,再次调取Reduce子任务对各个区的所述中间键值对进行处理,并将处理后得到的结果存储到所属区作为最终结果; S6,主节点唤醒用户程序,用户程序结束对MapReduce的调用并返回。2.根据权利要求1所述的分布式计算系统的任务调度方法,其特征在于,在所述步骤S4中,还包括步骤S401: S401,判断所述中间键值对的数量是否大于所述分布式计算系统配置的用于执行任务的各工作节点的内存空间限额,若否,则对中间键值对的排序使用工作节点的内存空间进行排序;若是,则使用工作节点的除内存外的本地磁盘空间进行排...
【专利技术属性】
技术研发人员:岳洋,钮毅,
申请(专利权)人:中金数据系统有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。