一种多跨场景下复杂任务并行调度方法

文档序号:35346065发布日期:2023-09-07 19:45阅读:38来源:国知局
一种多跨场景下复杂任务并行调度方法

本发明属于智能服务调度优化领域,尤其涉及一种多跨场景下复杂任务并行调度方法。


背景技术:

1、复杂任务并行调度技术是一项在复杂业务条件下调度资源完成任务的技术。任务分配是生产业和服务业中的一个重要决策环节,是将一定期限内的任务需求依照规则约束分配给不同资源处理的一项技术。合理的任务分配方式能得到更高的资源利用率和更低的时间成本,减少资源的浪费。任务分配结果的优劣使用指标衡量,指标实际地反映现实生产中的情况,不仅是任务的完成程度,还有资源是否多余损耗等需要控制的问题。在实际生产中,多种任务、多项指标以及复杂约束带来的复杂任务调度问题需要解决。

2、随着服务业的不断发展,业务范围扩大,出现了多跨场景下的复杂任务调度的挑战。多跨场景是推进数字改革的重要抓手,指的是用系统的、统一的思想设计实现跨地区、跨领域、跨部门、跨单一需求的应用。具体地,在外呼领域,不同地区具有不同的规则和不同的员工规模,需要一个统一的可行的技术完成外呼任务分配。以往的任务分配方法在大数据时代存在时间效率的问题,随着任务目标以及资源数量的批量式增长,因为算力限制,寻求一个最优解需要消耗大量时间,同时得到的解也存在未能完全地满足约束的问题。在多跨场景下,任务分配的规则条件进一步复杂化,任务和资源数量呈现不规则变化,更需要一个高效快捷适应性高的复杂任务调度技术。为了解决这些问题,我们提出多跨场景下的复杂任务并行调度技术。本发明可以在严格满足约束的情况下,快速高效得到指标好的任务分配结果,在任务分配方面具有通用性。同时,本发明借用并行计算的基础思想,将数据分解为多个部分,每一部分使用独立的计算处理器完成运算,最后统一得到最终结果,快速高效计算得到解。


技术实现思路

1、本发明的目的在于针对现有技术的不足,提供一种多跨场景下复杂任务并行调度方法。

2、本发明主要由四个模块构成,分别是输入模块、模式管理器、状态管理器和资源调度模块。输入模块主要负责配置数据信息和任务分配规则,通过规则配置来适应不同场景下的业务需求。模式管理器负责生成全局工作模式。全局工作模式用于在调度期限内全局调控资源的特殊状态。状态是多个任务的集合,表示资源参与了哪些任务。当没有参与任何任务的时候,资源是休整状态。状态管理器负责处理资源的状态集合并输出最后的调度结果。资源调度模块负责任务分配的分配过程。平均满足度和平衡度是本发明的主要指标。平均满足度表示任务的总体完成程度,满足度由任务实际完成占任务需要完成的比重计算得到。资源是有限的,分配给一些任务就无法分配给另一些任务,不同任务之间分配得到的资源数存在互补的关系。如果不控制资源的浪费,会出现某些任务分配资源溢出而某些任务分配资源不足的问题,导致了任务之间满足度的方差值越来越大,所以计算满足度的方差值作为平衡度来同步评价结果的好坏。

3、一种多跨场景下复杂任务并行调度方法,包含以下步骤:

4、1)完成资源信息、状态信息、任务信息和规则要求的调度信息配置。

5、2)模式生成器根据调度信息配置生成全局工作模式wp。

6、3)匹配步骤2)得到的全局工作模式wp,在状态管理器中生成资源在时期d的可选状态集合ad。

7、4)基于步骤3)得到的可选状态集合ad,使用并行计算和分支定界法生成时期d的资源状态组合qd。若时期d达到任务期限的最后一个时期,进入步骤5);否则,返回步骤3)继续下一个时期。

8、5)整合所有时间的资源状态组合q,做后处理调整,输出最后的任务分配结果。

9、进一步地,所述步骤1)完成资源信息、规则信息、任务信息和状态信息等调度信息配置:

10、1.1)配置资源信息s,包括资源能力v={v1,v2,…,vn}以及资源的类别等基础信息以及单批资源数pr,其中n表示资源总数,资源能力值是使用数值衡量资源处理工作的能力,v1表示第1个资源的能力值,v2表示第2个资源的能力值,vn表示第n个资源的能力值。

11、1.2)配置规则信息。数据信息包括调度期限d={d1,d2,…,dm}、资源可连续工作时长c=[cmin,cmax](d1≤cmin≤cmax≤dm)、资源休整时长r(r+cmax≤dm)、调度期限内资源可休整次数k(k≤dm)、最大阈值mt。其中,m表示时期数量,d1表示第1个时期,d2表示第2个时期,dm表示第m个时期,cmin表示最短工作时长,cmax表示最长工作时长。

12、规则要求包括:同一时期一个资源只能选择一个状态;当h1状态处于一个资源的dj时期时,h2状态不能处于同一个资源的dj+1时期;

13、1.3)配置任务信息t={t1,t2,…,tz},包括每个任务的起止时间[qs,qe]、每个任务的优先级m={m1,m2,…,mz}以及任务在各个时期中的需求w={w1,1,w1,2,…,wm,z}。其中,z表示任务数量,t1表示第1个任务,t2表示第2个任务,tz表示第z个任务,qs是任务开始时间,qe是任务结束时间,m1表示第1个任务的优先级,m2表示第2个任务的优先级,mz表示第z个任务的优先级,w1,1表示第1个任务在d1的需求量,w1,2表示第2个任务在d1的需求量,wm,z表示第z个任务在dm的需求量。

14、1.4)配置状态信息h={h1,h2,…,hg},其中h1表示状态1,h2表示状态2,hg表示状态g,进一步的,状态是多个任务的集合,空集表示休整状态。

15、进一步地,所述步骤2)模式生成器生成全局工作模式wp:

16、2.1)资源可连续工作时长为c=[cmin,cmax],即同一资源连续工作cmax后必须休整,且两次休整时期间隔不少于cmin。计算两个休整时间之差得到休整周期集合wc={cmin+r,…,cmax+r}。每一个休整周期长度是在调度期限内占据的时间长度,由一段连续的工作时间和休整时长r组成。cmin+r表示由cmin长度的工作时间计算得到的休整周期长度,即,工作cmin后休息r。cmax+r表示由cmax长度的工作时间计算得到的休整周期长度,即,工作cmax后休息r。由于调度周期内的休整次数是固定的k次,从wc中组合休整周期填充调度期限,可以得到资源的休整周期次数组合每一位代表对应休整周期的次数,例如p1表示cmin+r周期的次数,p2表示cmin+1+r周期的次数,表示cmax+r周期的次数,计算公式如下:

17、

18、

19、2.2)计算全局工作模式wp。具体地,确定第1个休整节点df后(时期df是修整状态),例如:如果d1为调度周期内第一个修整状态,df=d1,如果d2为调度周期内第一个修整状态,df=d2。其余dm-df的时间所有可能的工作模式都存储在以df为指向的工作模式表中,记为wpf。具体来说,只要同时满足以下两个方程,df的工作模式wpf就可以得到:

20、

21、

22、循环计算得到所有的解组成二维数组wpf,每一行是一组休整周期次数。所有可能df的wpf构成全局工作模式wp。

23、进一步地,所诉步骤3)中基于步骤2)得到的全局工作模式wp,在状态管理器中生成时期d的可选状态集合ad:

24、3.1)当d<dm时,计算第i个资源在时期d的多种可选工作状态,组成第i个资源在时期d的资源可选状态集合ad,i={ha,hb,…},ha和hb为任意的状态。ad,i依据规则要求判断第i个资源是否可以执行某一状态,若可以执行,将状态添加到ad,i中。

25、3.2)判断第i个资源在时期d是否处于可休整状态。统计第i个资源已休整周期次数组合后续休整周期组合pai=wpf-pbi。代入pai中任一个次数不为0的调整周期cx+r(cmax≤cx≤cmax),若资源当前连续工作时长cri=cx,则将休整状态添加到资源可选状态集合ad,i。

26、3.3)循环计算时期d所有的资源可选状态集合,组合得到ad={ad,1,ad,2,…,ad,n},其中ad,1表示第1个资源在时期d的资源可选状态集合,其中ad,2表示第2个资源在时期d的资源可选状态集合,其中ad,n表示第n个资源在时期d的资源可选状态集合。

27、进一步地,所述步骤4)中基于步骤3)得到的可选状态集合ad,使用并行计算和分支定界法生成时期d的资源状态组合qd。若达到任务期限的最后一个时期即d=dm,进入步骤5);否则,返回步骤3)继续下一个时期:

28、4.1)按照状态的优先级以资源为单位对可选状态集合排序。任务之间存在优先级,优先级顺序由输入模块输入或者从规则中解析获得。本发明中,优先级采用数字描述,数字越低,优先级越高。状态的优先级继承任务的优先级,在状态包含的任务挑选出来最高的优先级即是状态的优先级。同理,得到状态集合的优先级,按照优先级从高到低获得排序后的可选状态集合a′d。

29、4.2)依据a′d将数据尽可能均等的划分为l个数据集合,a′d中,存在相同优先级的可选状态集合,算法将可选状态集合优先级相同的资源数据及其可选状态集合均分到l个数据集合中,其中同时均分需求数据加入数据集合中。每个数据集合包括资源数据s′、资源能力v′、需求数据w′和资源可选状态集合a″d。

30、4.3)生成l个线程,对每个数据集合,使用分支定界法得到资源状态组合。首先,通过任务的组合分解问题,相同优先级的任务组成一个子问题子问题对应的剪枝层数计算如下:遍历a″d,如果某个资源可选状态集合的后续资源可选状态集合都不存在满足子问题中任何任务的状态,当前资源可选状态的顺序设置为对应子问题的剪枝层数。然后,子问题的阈值ti具体计算方法如下:

31、

32、遍历a″d,当资源可选状态集合中存在完全包含子问题的集合时,v′为资源能力,w′为子问题中任务的需求,计算得到任务满足度。同时,本发明提出了自适应阈值计算控制阈值之间的平衡,从而控制不同任务满足度的不平衡。由于某些互斥的子问题之间资源分配存在互补关系,例如子问题1和子问题2,那么可以由子问题1的资源能力以及总的资源能力计算得到子问题2的资源能力。所以,自适应余值计算中只计算子问题1的阈值,子问题2的阈值通过推算得出,若两个阈值相差过大不平衡时,逐步减少子问题1的资源直到两个子问题的阈值平衡。最后,状态选择过程中,每当选择层数达到剪枝层数时,计算对应子问题的平均满足度,判断是否达到阈值,如果未达到阈值,丢弃当前的未完成解。计算到树的叶子节点即获得当前的一个可行解,计算可行解的指标结果平均满足度a和平衡度f,具体计算如下:

33、

34、

35、其中w′i,jw″i,j表示当前数据集合中在时期dj完成任务ti的资源的资源能力值之和,w′i,j表示当前数据集合中在时期dj任务ti的需求。对比获得的多个解的指标数值,a越大,结果越好,同时f越小,结果越好。判断后输出最优解。

36、4.4)合并每个数据集合的资源状态组合得到qd。若还未到最后的时期,返回步骤3)直至完成所有时期的资源状态组合。

37、进一步地,所属步骤5)中整合所有时间的资源状态组合q,做后处理调整,输出最后的任务分配结果:

38、5.1)按照时间节点顺序整合所有资源在所有时刻的资源状态组合,形成资源状态结果表q。

39、5.2)检查结果表是否完全符合规则,依据规则调整结果。若需要后续处理,例如任务的满足度过大需要减少一些资源之类的要求,做后处理完成要求。最后,输出任务分配结果。

40、本发明的有益效果如下:

41、本发明将并行计算方法和分支定界法应用于任务分配,实现了在任务分配中高效输出资源调度表。本发明输出的资源调度表可以最大化资源利用率满足任务需求、平衡不同任务之间的完成程度,同时提高计算效率,解决了传统方式忽略的不同任务间完成程度不平衡导致资源浪费和运算时间长等问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1