[发明专利]基于多进程的任务调度方法、装置、计算机设备及介质在审
申请号: | 202010610172.6 | 申请日: | 2020-06-29 |
公开(公告)号: | CN111813515A | 公开(公告)日: | 2020-10-23 |
发明(设计)人: | 邹芳;黄鹏;赵永超;李彦良 | 申请(专利权)人: | 中国平安人寿保险股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 深圳市世联合知识产权代理有限公司 44385 | 代理人: | 汪琳琳 |
地址: | 518000 广东省深圳市福田区益田路5033号*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 进程 任务 调度 方法 装置 计算机 设备 介质 | ||
1.一种基于多进程的任务调度方法,其特征在于,所述基于多进程的任务调度方法包括:
获取每个待处理的基础任务,对所述基础任务进行解析,得到所述基础任务的开始时间和结束时间;
基于所述开始时间的先后顺序,对所述基础任务进行排序,得到任务序列;
初始化最小堆二叉树,将所述任务序列第一个基础任务的结束时间写入到所述最小堆二叉树的节点键值中,并构建任务进程,使用所述任务进程执行所述任务序列中的第一个基础任务,其中,所述最小堆二叉树的每条分枝指示一个任务进程;
针对任务序列中的第i个所述基础任务,在当前时间为所述基础任务的开始时间时,若所述最小堆二叉树中的根节点键值对应的时间点在当前时间之后,则对所述最小堆二叉树生成新的分枝,并将第i个基础任务对应的结束时间写入到所述新的分枝的节点键值中,其中,i为大于1的正整数;
构建所述新的分枝对应的任务进程,使用所述新的分枝对应的任务进程执行第i个所述基础任务。
2.如权利要求1所述的基于多进程的任务调度方法,其特征在于,在所述基于所述开始时间的先后顺序,对所述基础任务进行排序,得到任务序列之后,所述基于多进程的任务调度方法还包括:
接收新的任务数据,并获取所述新的任务数据的开始时间和所述新的任务数据的结束时间;
从所述任务序列中,随机选取一个位置,作为所述新的任务数据的初始位置;
基于所述初始位置和所述新的任务数据的开始时间,采用二分法进行调整排序,得到更新后的任务序列。
3.如权利要求1所述的基于多进程的任务调度方法,其特征在于,所述构建任务进程,使用所述任务进程执行所述任务序列中的第一个基础任务之后,所述基于多进程的任务调度方法还包括:
按照预设的线程数量,在所述任务进程中创建定长线程池;
通过所述定长线程池,执行所述任务进程中的第一个基础任务。
4.如权利要求1至3任一项所述的基于多进程的任务调度方法,其特征在于,在所述初始化最小堆二叉树,将所述任务序列第一个基础任务的结束时间写入到所述最小堆二叉树的节点键值中,并构建任务进程,使用所述任务进程执行所述任务序列中的第一个基础任务之后,所述基于多进程的任务调度方法还包括:
定期获取根节点键值对应的时间点,并将所述根节点键值对应的时间点与获取时间点进行比较,得到比较结果;
若所述比较结果为所述根节点键值对应的时间点在所述获取时间点之前,则将所述根节点进行节点下沉,作为更新后的子节点,并构建新的根节点;
销毁更新后的子节点对应的任务进程。
5.如权利要求4所述的基于多进程的任务调度方法,其特征在于,若所述比较结果为所述根节点键值对应的时间点在所述获取时间点之前,则将所述根节点进行节点下沉,作为更新后的子节点,并构建新的根节点包括:
从所述根节点的子节点中,选取任一子节点作为目标子节点;
在所述根节点与所述目标子节点中,插入新的节点,作为中间节点,其中,所述中间节点的键值的初始值为空;
将所述根节点与所述中间节点的键值进行交换,更新节点索引,并将下沉后的根节点,作为更新后的子节点,将更新后的中间节点,作为所述新的根节点。
6.如权利要求1所述的基于多进程的任务调度方法,其特征在于,在构建所述新的分枝对应的任务进程,使用所述新的分枝对应的任务进程执行第i个基础任务之后,所述基于多进程的任务调度方法还包括:将得到的最小堆二叉树存储于区块链网络节点中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国平安人寿保险股份有限公司,未经中国平安人寿保险股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010610172.6/1.html,转载请声明来源钻瓜专利网。