[发明专利]用于调度任务的方法和装置有效
申请号: | 201610890352.8 | 申请日: | 2016-10-12 |
公开(公告)号: | CN107943577B | 公开(公告)日: | 2022-03-04 |
发明(设计)人: | 王金贺;倪煜 | 申请(专利权)人: | 上海优扬新媒信息技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/48 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 201210 上海市嘉*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 调度 任务 方法 装置 | ||
本申请公开了用于调度任务的方法和装置。所述方法的一具体实施方式包括:获取至少一个任务和与各所述任务对应的属性信息,其中,所述属性信息包括各所述任务的任务类别;将各所述任务的任务类别与预配置文件中存储的目标任务类别进行匹配,确定与各所述任务对应的中央处理器CPU核心标识,其中,所述预配置文件中存储有目标任务类别以及与所述目标任务类别对应的CPU核心标识;将各所述任务调度到与其对应的CPU核心标识所指示的CPU核心。该实施方式提高了CPU利用率和任务执行效率。
技术领域
本申请涉及计算机技术领域,具体涉及任务调度技术领域,尤其涉及用于调度任务的方法和装置。
背景技术
公司内存在大量使用PHP(PHP:Hypertext Preprocessor,超文本预处理器)作为核心技术的场景。目前,PHP的主要引擎通常为Zend引擎和HHVM(HipHop Virtual Machine)引擎。在这里,Zend引擎可以是一个开源脚本引擎(一个虚拟机),Zend引擎可以对脚本文件进行词法分析和/或语法分析。HHVM引擎可以是PHP执行引擎,HHVM引擎可以将PHP代码转换成高级别的字节码(通常称为中间语言),然后在运行时通过JIT(just in time,即时)编译器将这些字节码转换为64位的机器码。
然而,用于执行单一进程或线程中的各任务的CPU(Central Processing Unit,中央处理器)为多核CPU时,现有的PHP的引擎(比如HHVM或Zend引擎)均未能实现对多核CPU的充分利用,从而存在着CPU资源利用率低、任务执行效率低的问题。
发明内容
本申请的目的在于提出一种改进的用于调度任务的方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种用于调度任务的方法,所述方法包括:获取至少一个任务和与各所述任务对应的属性信息,其中,所述属性信息包括各所述任务的任务类别;将各所述任务的任务类别与预配置文件中存储的目标任务类别进行匹配,确定与各所述任务对应的中央处理器CPU核心标识,其中,所述预配置文件中存储有目标任务类别以及与所述目标任务类别对应的CPU核心标识;将各所述任务调度到与其对应的CPU核心标识所指示的CPU核心。
在一些实施例中,所述属性信息还包括各所述任务的输入参数和输出参数,以及在所述将各所述任务调度到与其对应的CPU核心标识所指示的CPU核心之后,所述方法还包括:对于每一个CPU核心,对于调度到该CPU核心的各个任务中的每一个任务,按照预设的任务执行先后顺序,确定该任务是否有前继任务,响应于该任务没有前继任务,将该任务添加到对应的任务队列,其中,所述前继任务为先于该任务执行并且输出参数与该任务的输入参数相关联的任务;从所述任务队列的队首开始依次调度每一个任务,响应于当前执行的任务发出了输入/输出请求,暂停执行该任务,将该任务移动到所述任务队列的队尾,并继续调度所述任务队列中的各任务。
在一些实施例中,所述从所述任务队列的队首开始依次调度每一个任务,响应于当前执行的任务发出了输入/输出请求,暂停执行该任务,将该任务移动到所述任务队列的队尾,并继续调度下一执行顺序的任务,包括:响应于当前执行的任务执行完成,将该任务从所述任务队列中移除,并确定该任务是否有后继任务,响应于该任务有后继任务,进一步确定该任务的后继任务对应的所有前继任务是否均已执行完成,若是,将该任务的后继任务添加到所述任务队列,并继续调度所述任务队列中的各任务,其中,所述后继任务为后于该任务执行并且输入参数与该任务的输出参数相关联的任务。
在一些实施例中,所述方法包括:对于在执行过程中发出输入/输出请求并且被暂停执行的每一个任务,当再次调度该任务时,响应于该任务发出的输入/输出请求有返回结果并且等待时间未超出对应的超时阈值,继续执行该任务。
在一些实施例中,所述方法包括:对于在执行过程中发出输入/输出请求并且被暂停执行的每一个任务,当再次调度该任务时,响应于该任务发出的输入/输出请求没有返回结果并且等待时间未超出对应的超时阈值,继续暂停执行该任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海优扬新媒信息技术有限公司,未经上海优扬新媒信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610890352.8/2.html,转载请声明来源钻瓜专利网。