System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及互联网技术,尤其是一种任务调度执行方法、电子设备和计算机可读存储介质。
技术介绍
1、随着计算机技术的发展,在计算机运行的过程中存在着调度多个任务执行的情形,合理的安排多个任务的执行顺序,有利于缩减任务的执行时间,提高执行任务的效率。
2、现有技术中,通常通过基于任务优先级的先来先调度方案,比如操作系统内的线程调度时使用基于任务优先级的先来先调度方案,车间工件在生产线的调度时使用基于任务优先级的先来先调度方案等。基于任务优先级的先来先调度方案具有执行简单的优点,但是在较为复杂的业务场景下,由于待调度任务的属性比较丰富,例如,待调度任务除了包括任务优先级的属性,还包括任务最长执行时间、任务最晚结束时间等属性,仅按照优先级进行任务调度存在着任务执行延迟率高的问题,容易降低任务的执行效率。
技术实现思路
1、为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种任务调度执行方法、电子设备和计算机可读存储介质。
2、根据本公开实施例的一个方面,提供了一种任务调度执行方法,包括:
3、从任务数据库中获得待执行的任务集合;其中,所述任务集合包括多个任务以及所述多个任务中的每个任务对应的关联信息;所述关联信息表示所述任务与至少一个任务存在关联关系或不存在关联关系;
4、基于每个所述任务的关联信息对所述任务集合进行分组处理,得到至少一组任务组;每组所述任务组中包括至少一个互相存在关联关系的任务;
5、分别对所述至少一组任务
6、可选地,所述基于每个所述任务的关联信息对所述任务集合进行分组处理,得到至少一个任务组,包括:
7、以每个所述任务为节点,存在关联关系的所述任务之间形成边,确定所述任务集合对应的至少一个图;
8、利用并查集算法对所述至少一个图执行分组处理,得到所述至少一个任务组;每个所述任务组对应一个有向无环图。
9、可选地,所述分别对所述至少一组任务组中每组任务组进行执行,包括:
10、确定每组所述任务组对应的组权重值,基于所述组权重值确定所述至少一个任务组的执行顺序;
11、按照所述执行顺序分别对所述至少一个任务组中每个任务组进行执行。
12、可选地,所述确定每组所述任务组对应的组权重值,包括:
13、确定每组所述任务组中包括至少一个任务中每个任务对应的权重值;
14、基于每组所述任务组中每个任务对应的权重值,以及所述任务组中包括的任务数量,确定所述任务组对应的所述组权重值。
15、可选地,所述任务组的数量为第一数量;
16、所述分别对所述至少一组任务组中每组任务组进行执行,包括:
17、基于所述第一数量,确定对应的第一数量的线程或第一数量的执行设备;
18、基于所述第一数量的线程分别对每组所述任务组中包括的至少一个任务进行执行;或者,
19、基于所述第一数量的执行设备分别对每组所述任务组中包括的至少一个任务进行执行。
20、可选地,所述分别对所述至少一组任务组中每组任务组进行执行,包括:
21、针对每组所述任务组,利用拓扑排序算法,确定所述任务组中至少一个任务的排序,得到所述任务组对应的至少一条执行路径;
22、按照所述至少一条执行路径,对所述任务组中的至少一个任务进行执行。
23、可选地,所述利用拓扑排序算法,确定所述任务组中至少一个任务的排序,得到所述任务组对应的至少一条执行路径,包括:
24、确定所述至少一个任务中每个任务对应的节点的入度;其中,每个所述任务在所述任务组对应的图中对应一个节点;
25、按照所述入度的大小对所述至少一个任务进行排序,得到所述任务组对应的至少一条执行路径。
26、可选地,所述按照所述入度的大小对所述至少一个任务进行排序,得到所述任务组对应的至少一条执行路径,包括:
27、按照所述入度从小到大对所述至少一个任务进行排序,得到一个序列;
28、利用贪心算法,确定所述序列中入度相同的至少一个任务之间的排序,将所述序列分解为至少一条执行路径。
29、根据本公开实施例的另一方面,提供了一种任务调度执行装置,包括:
30、任务获得模块,用于从任务数据库中获得待执行的任务集合;其中,所述任务集合包括多个任务以及所述多个任务中的每个任务对应的关联信息;所述关联信息表示所述任务与至少一个任务存在关联关系或不存在关联关系;
31、任务分组模块,用于基于每个所述任务的关联信息对所述任务集合进行分组处理,得到至少一组任务组;每组所述任务组中包括至少一个互相存在关联关系的任务;
32、任务执行模块,用于分别对所述至少一组任务组中每组任务组进行执行,实现所述任务集合的执行。
33、可选地,所述任务分组模块,具体用于以每个所述任务为节点,存在关联关系的所述任务之间形成边,确定所述任务集合对应的至少一个图;利用并查集算法对所述至少一个图执行分组处理,得到所述至少一个任务组;每个所述任务组对应一个有向无环图。
34、可选地,所述任务执行模块,包括:
35、权重确定单元,用于确定每组所述任务组对应的组权重值,基于所述组权重值确定所述至少一个任务组的执行顺序;
36、顺序执行单元,用于按照所述执行顺序分别对所述至少一个任务组中每个任务组进行执行。
37、可选地,权重确定单元,具体用于确定每组所述任务组中包括至少一个任务中每个任务对应的权重值;基于每组所述任务组中每个任务对应的权重值,以及所述任务组中包括的任务数量,确定所述任务组对应的所述组权重值。
38、可选地,所述任务组的数量为第一数量;所述任务执行模块,包括:
39、设备确定单元,用于基于所述第一数量,确定对应的第一数量的线程或第一数量的执行设备;
40、分布执行单元,用于基于所述第一数量的线程分别对每组所述任务组中包括的至少一个任务进行执行;或者,基于所述第一数量的执行设备分别对每组所述任务组中包括的至少一个任务进行执行。
41、可选地,所述任务执行模块,包括:
42、组内排序单元,用于针对每组所述任务组,利用拓扑排序算法,确定所述任务组中至少一个任务的排序,得到所述任务组对应的至少一条执行路径;
43、组内执行单元,用于按照所述至少一条执行路径,对所述任务组中的至少一个任务进行执行。
44、可选地,所述组内排序单元,具体用于确定所述至少一个任务中每个任务对应的节点的入度;其中,每个所述任务在所述任务组对应的图中对应一个节点;按照所述入度的大小对所述至少一个任务进行排序,得到所述任务组对应的至少一条执行路径。
45、可选地,所述组内排序单元在按照所述入度的大小对所述至本文档来自技高网...
【技术保护点】
1.一种任务调度执行方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于每个所述任务的关联信息对所述任务集合进行分组处理,得到至少一个任务组,包括:
3.根据权利要求1或2所述的方法,其特征在于,所述分别对所述至少一组任务组中每组任务组进行执行,包括:
4.根据权利要求3所述的方法,其特征在于,所述确定每组所述任务组对应的组权重值,包括:
5.根据权利要求1或2所述的方法,其特征在于,所述任务组的数量为第一数量;
6.根据权利要求1-5任一所述的方法,其特征在于,所述分别对所述至少一组任务组中每组任务组进行执行,包括:
7.根据权利要求6所述的方法,其特征在于,所述利用拓扑排序算法,确定所述任务组中至少一个任务的排序,得到所述任务组对应的至少一条执行路径,包括:
8.根据权利要求7所述的方法,其特征在于,所述按照所述入度的大小对所述至少一个任务进行排序,得到所述任务组对应的至少一条执行路径,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算
...【技术特征摘要】
1.一种任务调度执行方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于每个所述任务的关联信息对所述任务集合进行分组处理,得到至少一个任务组,包括:
3.根据权利要求1或2所述的方法,其特征在于,所述分别对所述至少一组任务组中每组任务组进行执行,包括:
4.根据权利要求3所述的方法,其特征在于,所述确定每组所述任务组对应的组权重值,包括:
5.根据权利要求1或2所述的方法,其特征在于,所述任务组的数量为第一数量;
6.根据权利要求1-5任一所述的方法,其特征在于,所述分别对所述...
【专利技术属性】
技术研发人员:杨鑫宇,郑志强,
申请(专利权)人:贝壳找房北京科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。