[发明专利]一种数据调度方法和装置有效
| 申请号: | 201510041277.3 | 申请日: | 2015-01-27 |
| 公开(公告)号: | CN104536827B | 公开(公告)日: | 2019-05-28 |
| 发明(设计)人: | 邓宇羽 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
| 主分类号: | G06F9/48 | 分类号: | G06F9/48 |
| 代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 王康;李丹 |
| 地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 线程 任务调度 方法和装置 数据调度 负载度 线程池 原始线 预设 负载均衡 预先设置 多线程 | ||
1.一种数据调度方法,其特征在于,包括:预先设置原始线程、任务调度线程和线程池,所述线程池包括至少一条执行线程;
还包括:
原始线程获取任务请求中的任务,并计算任务的预计完成时间,将包括任务的入口地址和预计完成时间的任务信息发送给任务调度线程;其中,原始线程为接收任务请求的线程,原始线程将所述任务信息发送给任务调度线程后,进入等待状态;
执行线程获取其任务队列中的任务处理信息,并将所述任务处理信息提交给任务调度线程;
任务调度线程根据原始线程发送的任务信息确定原始线程中的任务的优先级,以及根据执行线程提交的任务处理信息确定执行线程的负载度;
任务调度线程将优先级为第一预设值的任务调度给负载度为第二预设值的执行线程;
所述第一预设值为优先级最高,第二预设值为负载度最低;
所述任务调度线程将优先级为第一预设值的任务调度给负载度为第二预设值的执行线程,包括:
所述任务调度线程将优先级最高的任务调度给负载度最低的执行线程。
2.根据权利要求1所述的数据调度方法,其特征在于,所述预计完成时间通过计算完成任务需要调用的每个函数在单个CPU上的时间获得;
所述任务调度线程根据原始线程发送的任务信息确定原始线程中的任务的优先级,包括:
所述任务调度线程接收来自原始线程的任务信息,确定任务的批次,并根据任务的预计完成时间和批次计算任务的优先级:
优先级=任务预计完成时间×可调系数R;
其中,所述R与任务的批次相对应,R∈(0.5,1)。
3.根据权利要求1所述的数据调度方法,其特征在于,
所述任务处理信息包括任务队列总时间、预计完成时间、当前任务消耗时间和任务平均时间;
所述任务调度线程根据执行线程提交的任务处理信息确定执行线程的负载度,包括:
所述任务调度线程根据所述任务处理信息计算执行线程的负载度:
负载度=任务队列总时间+(预计完成时间-当前任务消耗时间)/预计完成时间×任务平均时间,
其中,所述任务队列总时间为执行线程的任务队列中所有任务预计完成时间之和;
所述预计完成时间为执行线程完成当前任务所需要的时间;
所述当前任务消耗时间为执行线程完成当前任务已消耗的时间;
所述任务平均时间为所有任务预计完成时间/任务数。
4.根据权利要求1所述的数据调度方法,其特征在于,所述任务调度线程将优先级最高的任务调度给负载度最低的执行线程,包括:
所述任务调度线程根据任务的优先级和执行线程的负载度分别构建任务的优先级根堆和执行线程的负载度根堆,其中,所述优先级根堆中堆顶为优先级最高的任务,所述负载度根堆中堆顶为负载度最低的执行线程;
所述任务调度线程将所述优先级根堆中堆顶的任务添加到所述负载度根堆中堆顶的执行线程的任务列表中。
5.根据权利要求1~4中任一项所述的数据调度方法,其特征在于,所述任务调度线程将优先级为第一预设值的任务调度给负载度为第二预设值的执行线程之后,还包括:
所述任务调度线程接收来自执行线程的任务完成信息,更新执行线程的负载度;
所述任务调度线程接收来自原始线程的任务,更新任务的优先级。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510041277.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多功能运输车
- 下一篇:一种控制网络接入的方法、系统以及相关设备





