[发明专利]一种任务的调度执行方法、装置、设备及存储介质在审
申请号: | 202110837725.6 | 申请日: | 2021-07-23 |
公开(公告)号: | CN113485810A | 公开(公告)日: | 2021-10-08 |
发明(设计)人: | 刘胜坤;戴磊;刘玉宇 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 侯军洋 |
地址: | 518031 广东省深圳市福田区福*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 任务 调度 执行 方法 装置 设备 存储 介质 | ||
1.一种任务的调度执行方法,其特征在于,包括:
获取多个具有依赖关系的任务,并将各任务与匹配的目标函数关联;
其中,目标函数为任务执行函数的装饰器,至少一个任务的目标函数输入参数中包括其他任务的目标函数输出参数,输出参数为异步变量,输出参数的状态包括任务执行函数执行后的就绪状态和任务执行函数执行前的准备状态;
将各任务分配至匹配的任务池,并采用与任务池对应的异步调度策略,将各任务池中满足输入参数就绪条件的任务调度至处理器中,以执行匹配的目标函数。
2.根据权利要求1所述的方法,其特征在于,获取多个具有依赖关系的任务,并将各任务与匹配的目标函数关联,包括:
在检测到有待处理的标准执行任务时,将所述标准执行任务拆分得到多个具有依赖关系的任务;
根据各任务的任务类型,确定与每个任务分别对应的目标函数,并将指向目标函数的函数指针对应添加至匹配的任务中。
3.根据权利要求2所述的方法,其特征在于,每个任务池中包括任务队列,以及线程池,线程池中包括的线程数量与任务池对应的异步调度策略关联;
所述任务队列用于存储分配至任务池中的任务,所述线程池中的线程用于调度任务至处理器执行匹配的目标函数;
其中,异步调度策略包括:单线程调度策略和多线程调度策略,不同任务池对应的异步调度策略相同或者不同。
4.根据权利要求3所述的方法,其特征在于,采用与任务池对应的异步调度策略,将任务池中满足输入参数就绪条件的任务调度至处理器中,以执行匹配的目标函数,包括:
依次扫描目标任务池的任务队列中的各任务的目标函数输入参数;
如果当前扫描的目标任务的目标函数输入参数中存在其他任务的目标函数输出参数,则判断其他任务的目标函数输出参数的状态是否为就绪状态;
若是,则使用所述目标任务池的线程池中的空闲线程将所述目标任务调度至处理器中,以执行匹配的目标函数。
5.根据权利要求4所述的方法,其特征在于,依次扫描目标任务池的任务队列中的各任务的目标函数输入参数,包括:
在向所述目标任务池的任务队列分配新的任务时,依次扫描目标任务池的任务队列中的各任务的目标函数输入参数;或者
在目标任务池的线程池中有线程完成对一个任务的调度执行时,依次扫描目标任务池的任务队列中的各任务的目标函数输入参数。
6.根据权利要求1-5任一项所述的方法,其特征在于,还包括:
响应于通过执行结果获取接口接收的执行结果获取请求,从所述执行结果获取请求中提取任务识别标识;
根据所述任务识别标识,定位识别任务,并获取与所述识别任务对应的目标函数输出参数;
如果确定所述输出参数的状态为准备状态,则等待至所述输出参数的状态变更为就绪状态时,获取所述输出参数作为所述执行结果获取请求的结果响应。
7.根据权利要求6所述的方法,其特征在于,在从所述执行结果获取请求中提取任务识别标识的同时,还包括:
从所述执行结果获取请求中提取允许等待时长;
在等待至所述输出参数的状态变更为就绪状态时,获取所述输出参数作为所述执行结果获取请求的结果响应,具体包括:
在所述允许等待时长内,如果检测到所述输出参数的状态变更为就绪状态时,则获取所述输出参数作为所述执行结果获取请求的结果响应;
如果当前已等待时长超过所述允许等待时长,则将处理超时的提示信息作为所述执行结果获取请求的结果响应,并在各任务池的任务队列中逐级定位所述识别任务,以及所述识别任务前置依赖的全部任务;
将定位到的各任务从所在任务池的任务列表中删除。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110837725.6/1.html,转载请声明来源钻瓜专利网。