本发明属于软件开发,具体涉及一种基于多级异构动态队列的任务调度方法。
背景技术:
1、在现有技术中,施工服务统一负责paas平台中多款产品的施工部署任务,通过单个先进先出(first input first output,fifo)队列顺序执行。如图1所示,是现有技术中采用单个先进先出队列顺序执行任务的调度方案流程图,具体实施流程为,当接收到新的施工任务时,按照顺序进入先进先出队列,在工作线程空闲时,任务执行程序向先进先出阵列申请执行任务,则队列中的任务按照先进先出算法出队,实现任务调度;若任务执行失败,则系统记录任务失败次数+1,在任务失败次数未达到预设阈值的情况下,在当前线程马上重试,此时当前线程为被占用状态,不会申请执行新的任务。因此,如果出现一个长任务后接了多个短任务,或者一段时间内较多施工任务出现失败重试,都容易堵塞后续任务,最终导致多个任务超时,影响客户体验验。
技术实现思路
1、本发明实施例的目的是提供一种基于多级异构动态队列的任务调度方法,能够解决现有任务调度方案容易出现调度不合理,进而导致出现多项任务超时现象的技术问题。
2、为了解决上述技术问题,本发明是这样实现的:
3、本发明实施例提供了一种基于多级异构动态队列的任务调度方法,包括:
4、s101:基于第一约束条件,构造至少两级异构动态队列,不同队列之间的优先级存在差异;
5、s102:建立新施工任务与异构动态队列间的对应关系,所述新施工任务根据关系进入相应的所述异构动态队列;
6、s103:接收空闲工作线程任务申请,基于优先级确定目标队列中的目标任务,将目标任务调度至空闲工作线程。
7、在本发明实施例中,构造优先级不同的多级异构动态队列,不同队列之间的优先级存在差异;新施工任务根据其满足的约束条件进入不同的队列中,对施工任务做不同等级的优先级分类,在接收到空闲工作线程任务申请时,基于优先级确定目标队列中的目标任务,并将目标任务分配至空闲工作线程。本申请提供的任务调度方法,可对工作任务做优先级的分类,优先级较高的施工任务优先处理,实现了对施工任务的可控合理调度,有助于有效降低任务超时概率以及已超时任务的等待时间,提高用户体验。
1.一种基于多级异构动态队列的任务调度方法,其特征在于,包括:
2.根据权利要求1所述的任务调度方法,其特征在于,所述s101包括:
3.根据权利要求1所述的任务调度方法,其特征在于,所述s101还包括:
4.根据权利要求1-3任一项所述的任务调度方法,其特征在于,所述s101包括:
5.根据权利要求4所述的任务调度方法,其特征在于,所述s102具体包括:
6.根据权利要求5所述的任务调度方法,其特征在于,所述s103具体包括:
7.根据权利要求4所述的任务调度方法,其特征在于,所述s103具体包括:
8.根据权利要求1所述的任务调度方法,其特征在于,还包括:
9.根据权利要求4所述的任务调度方法,其特征在于,
10.根据权利要求4所述的任务调度方法,其特征在于,