[发明专利]一种多线程任务调度方法及装置有效
申请号: | 201810281578.7 | 申请日: | 2018-04-02 |
公开(公告)号: | CN108536530B | 公开(公告)日: | 2021-10-22 |
发明(设计)人: | 严永兵;张珏亚;陈亮;郭伟恩 | 申请(专利权)人: | 北京中电普华信息技术有限公司;国网信息通信产业集团有限公司;国家电网公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100192 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多线程 任务 调度 方法 装置 | ||
本发明公开了一种多线程任务调度方法和装置,该方法包括:获取待调度任务;将所述待调度任务分割为N个子任务,N≥2且N为整数;估算每个子待调度任务的执行时长,并根据各个线程的执行间隔和所述执行时长,设置所述每个子待调度任务的执行时间以及执行线程;对于每一子待调度任务,按照所述执行时间、在所述执行线程上执行所述子待调度任务。可见,本实施例的方案能够响应规则快速变化、精细化,实现自动、精准的任务调度,提高执行效率及提升硬件资源的利用率。
技术领域
本发明涉及软件编程技术领域,特别是涉及一种多线程任务调度方法及装置。
背景技术
原有定时任务,由于业务规则经常变化,存在效率低、硬件资源利用率低、开发耦合度高、计算时间长,不易测试等诸多问题。
为能够响应规则快速变化、精细化,实现自动、精准的任务调度,提高执行效率及提升硬件资源的利用率,有必要建设多线程任务调度方案。
发明内容
为解决上述技术问题,本发明实施例提供了一种多线程任务调度方法及装置,以解决现有技术中存在的问题,技术方案如下:
一种多线程任务调度方法,包括:
获取待调度任务;
将所述待调度任务分割为N个子任务,N≥2且N为整数;
估算每个子待调度任务的执行时长,并根据各个线程的执行间隔和所述执行时长,设置所述每个子待调度任务的执行时间以及执行线程;
对于每一子待调度任务,按照所述执行时间、在所述执行线程上执行所述子待调度任务。
优选地,估算每个子任务的执行时长之前,还包括:
统计预设时间段内、每个线程上的每个子任务的执行时长,获得统计结果;
根据所述统计结果,确定不同子任务的统计执行时长,其中不同子任务的数据量不同;
相应地,估算每个子待调度任务的执行时长,包括:
获得所述每个子待调度任务的数据量;
确定与所述数据量对应的统计执行时长;
将所述统计执行时长作为所述执行时长。
优选地,通过决策树算法统计预设时间段内、每个线程上的每个子任务的执行时长,获得统计结果。
优选地,还包括:
统计所述各个线程每天的任务执行结果,所述任务执行结果包括每个线程每天执行的任务数据量以及每个子任务的实际执行时长;
根据所述任务执行结果,利用决策树算法重新确定所述每个线程每天执行的目标任务数据量以及子任务的目标实际执行时长,以使所述每个线程按照所述目标任务数据量和所述目标实际执行时长执行子任务。
优选地,还包括:
生成并存储调度日志,所述调度日志至少包含所述每个线程所执行子任务的执行时间和调度结果。
一种多线程任务调度装置,包括:
获取单元,用于获取待调度任务;
分割单元,用于将所述待调度任务分割为N个子任务,N≥2且N为整数;
估算单元,用于估算每个子待调度任务的执行时长,并根据各个线程的执行间隔和所述执行时长,设置所述每个子待调度任务的执行时间以及执行线程;
执行单元,用于对于每一子待调度任务,按照所述执行时间、在所述执行线程上执行所述子待调度任务。
优选地,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中电普华信息技术有限公司;国网信息通信产业集团有限公司;国家电网公司,未经北京中电普华信息技术有限公司;国网信息通信产业集团有限公司;国家电网公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810281578.7/2.html,转载请声明来源钻瓜专利网。