[发明专利]一种资源调度方法及系统在审
申请号: | 201610367792.5 | 申请日: | 2016-05-27 |
公开(公告)号: | CN107436806A | 公开(公告)日: | 2017-12-05 |
发明(设计)人: | 赵光亚;章佳磊;李振辉;刘大健 | 申请(专利权)人: | 苏宁云商集团股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 江苏圣典律师事务所32237 | 代理人: | 许峰,苏一帜 |
地址: | 210042 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 资源 调度 方法 系统 | ||
技术领域
本发明涉及电子信息技术领域,尤其涉及一种资源调度方法及系统。
背景技术
随着大数据及相关产业的发展,为了能够满足日益增长的计算量需求,逐步发展并完善了分布式和云计算技术,其中以MapReduce和Storm等各类分布式计算框架作为主要工具,这些计算框架虽然在架构和算法上各有差异,但是都必须运行在相应的分布式资源调度框架之上。
目前的分布式资源调度框架,例如Yarn和Mesos等,均以创建子进程的方式使用cpu和内存等资源,从而满足了对于单个任务所需的海量计算资源的需求,以便于实现大数据领域中单个任务开销大、耗时长的计算场景。
但是,对于并发量高但单个任务开销小、耗时短的计算场景,单个进程的实际运行时间极小,但是由于并发量高导致需要频繁的创建进程,增加了系统延时,降低整个系统的执行效率。
发明内容
本发明的实施例提供一种资源调度方法及系统,能够减小系统延时,提高系统全局的计算性能和执行效率。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明的实施例提供一种资源调度方法,包括:根据客户端服务模块(Client)提交的任务,在节点管理模块(NodeManager)中创建用于管理所述任务的应用管理模块(AppMaster)和应用管理运行容器(AppMaster Container);通过所述应用管理模块(AppMaster)根据所述任务生成子任务;分配对应所生成的子任务的计算资源,并根据所分配的计算资源建立线程,其中,一项子任务对应一个线程;在各子任务各自对应的线程上运行子任务。
结合第一方面,在第一方面的第一种可能的实现方式中,所述分配对应所生成的子任务的计算资源,并根据所分配的计算资源建立线程,包括:资源调度模块(ResourceManager)根据所生成的子任务向所述应用管理模块(AppMaster)分配计算资源,并根据所分配的计算资源建立线程。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述资源调度模块(ResourceManager)中,设置应用实例状态机、节点实例状态机和资源容器实例状态机,所述应用实例状态机对应了应用实例,所述节点实例状态机对应节点实例,所述资源容器实例状态机对应资源容器实例,各状态机根据接收到的事件变更状态。
结合第一方面或第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述在各子任务各自对应的线程上运行子任务,包括:启动与所述任务关联的节点管理模块中的应用管理运行容器,并运行各节点管理模块(NodeManager)中的任务执行模块(AppWorker)执行子任务,其中,一个任务执行模块用于对应一项子任务,并在这一项子任务对应的线程上运行。
结合第一方面的第二种可能的实现方式,在第四种可能的实现方式中,还包括:所述资源调度模块(ResourceManager)将所述客户端服务模块(Client)提交的任务存储至分布式列式数据库(Hbase),其中,针对所述资源调度模块(ResourceManager)所在集群(HA),基于Zookeeper的分布式锁服务,通过领导者选举接口进行数据交互,并通过Apache Curator封装Zookeeper底层的应用程序编程接口(api)。
第二方面,本发明的实施例提供一种资源调度系统,包括:资源调度模块(ResourceManager),用于根据客户端服务模块(Client)提交的任务,在节点管理模块(NodeManager)中创建用于管理所述任务的应用管理模块(AppMaster)和应用管理运行容器(AppMaster Container);所述应用管理模块(AppMaster),用于根据所述任务生成子任务;所述资源调度模块(ResourceManager),还用于分配对应所生成的子任务的计算资源,并根据所分配的计算资源建立线程,其中,一项子任务对应一个线程;以便于在各子任务各自对应的线程上运行子任务。
结合第二方面,在第二方面的第一种可能的实现方式中,所述资源调度模块(ResourceManager),具体用于根据所生成的子任务向所述应用管理模块(AppMaster)分配计算资源,并根据所分配的计算资源建立线程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏宁云商集团股份有限公司,未经苏宁云商集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610367792.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:经皮神经电刺激仪(头康松)
- 下一篇:黄金陶瓷鸳鸯锅