[发明专利]一种自适应任务调度器及方法有效
申请号: | 201911021198.0 | 申请日: | 2019-10-25 |
公开(公告)号: | CN110764912B | 公开(公告)日: | 2022-09-09 |
发明(设计)人: | 汪志峰;赵宇海;王国仁;季航旭;李博扬 | 申请(专利权)人: | 东北大学;北京理工大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06N3/00 |
代理公司: | 沈阳东大知识产权代理有限公司 21109 | 代理人: | 李在川 |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 自适应 任务 调度 方法 | ||
1.一种自适应任务调度器,其特征在于包括:性能监控数据采集模块、平滑加权轮询任务调度模块以及基于蚁群算法的任务调度模块;
所述性能监控数据采集模块包括:节点CPU利用率监控数据采集单元、节点内存利用率监控数据采集单元、监控数据上传单元、监控数据存储单元和API接口开放单元;
所述节点CPU利用率监控数据采集单元通过计算空闲时间周期和总的时钟周期来计算CPU利用率;
所述节点内存利用率监控数据采集单元通过计算空闲的内存空间和总的内存空间来计算内存利用率;
所述监控数据上传单元通过使用Netty网络通信框架,将每个集群中Slave节点的CPU利用率和内存利用率上传给集群中Master节点;
所述监控数据存储单元使用Redis内存KV数据库存储性能数据,并配置LRU的模式,保存最近的数据,能够加快监控数据的访问;
所述API接口开放单元通过使用Web技术,开放出Http的接口,供集群通过HttpClient调用;
所述平滑加权轮询任务调度模块用于在初始调度时采用平滑加权轮询任务调度算法达到集群负载均衡;所述采用平滑加权轮询任务调度算法具体过程为:初始化并记录每个节点的currentWeight,每一轮挑选出currentWeight最大的节点,作为选中的节点;同时把这个节点的currentWight减去总的effectiveWeiht,总的effectiveWeight等于每一轮被挑选节点的currentWeight之和,使得该节点的权重降低;
所述基于蚁群算法的任务调度模块用于当集群中整体资源使用达到规定阈值时,计算出全局最优任务分配方案供后续的任务分配使用,当集群资源降到阈值以下,则继续采用所述平滑加权轮询任务调度算法对任务进行分配。
2.采用权利要求1所述的自适应任务调度器进行任务调度的方法,其特征在于包括如下步骤:
步骤1:获取CPU利用率、内存利用率、总内存大小以及上传性能数据;
步骤2:在Master节点持久化Slave节点传递过来的性能数据以及Master自身的性能数据,并且配置缓存淘汰策略,清理过时的数据;
步骤3:提供性能数据HTTP调用接口,把获取集群性能的函数封装成一个HTTP接口,并且这个HTTP接口供外部调用并提供容错的处理;
步骤4:利用步骤3调用的性能数据作为参考依据,采用自适应任务调度器进行任务调度。
3.根据权利要求2所述的自适应任务调度器进行任务调度的方法,其特征在于所述步骤1的过程如下:
步骤1.1:Linux的实时性能监控数据存放在/proc文件夹下的性能记录文件里;
步骤1.2:用正则表达式去解析步骤1.1所述文件夹下对应空闲的时钟周期idleCPU、总的时钟周期totalCPU,利用idleCPU与totalCPU的比值即得到CPU利用率;
步骤1.3:用正则表达式去解析步骤1.1所述文件夹下的空闲内存idleMem、总内存totalMem,利用idleMem与totalMem的比值即得到内存利用率;
步骤1.4:利用Netty高性能NIO框架在每个Slave节点和Master 节点建立Socket连接;
步骤1.5:Master节点向Slave节点发送Hello消息,表示Master节点希望能获取到Salve节点的性能数据;
步骤1.6:Slave节点收到Hello消息后,上传自己的性能数据给Master节点,于此同时,Slave节点与Master节点保持心跳联系,避免建立的连接关闭。
4.根据权利要求2所述的自适应任务调度器进行任务调度的方法,其特征在于所述步骤2的过程如下:
步骤2.1:Master节点开启一个定时任务,获取到自身的CPU利用率、内存利用率,并保持与Slave节点的发送时间周期一致;
步骤2.2:Master节点反序列化从Slave节点传输过来的数据,并为每个Slave节点构建一个List存放到Redis里面;
步骤2.3:为了避免数据的冗余造成Redis压力大,为Reids配置LRU的缓存淘汰策略,清理过时的数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学;北京理工大学,未经东北大学;北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911021198.0/1.html,转载请声明来源钻瓜专利网。