一种业务中台的任务调度方法与流程

文档序号:34140118发布日期:2023-05-12 21:30阅读:117来源:国知局
一种业务中台的任务调度方法与流程

本技术涉及数据处理,更具体地,涉及一种业务中台的任务调度方法。


背景技术:

1、随着企业信息化建设的深入,业务系统的数量和复杂度不断增加,各个业务系统之间的数据交互和协同工作变得越来越重要。在这种情况下,业务中台作为一种新型的企业级信息系统架构,正在逐渐被广泛应用。业务中台的核心思想是将通用业务逻辑与特定业务场景相分离,实现业务逻辑的复用,从而提高系统的可维护性和可扩展性。

2、在业务中台中,任务调度是一个重要的过程。任务调度是指按照预定的规则或条件,自动地执行某项任务或一系列任务的过程。在业务中台中,任务调度可以用来自动化执行业务流程、定时生成报表、数据同步等工作。这样可以减轻人工干预的负担,提高系统的稳定性和可靠性。

3、现有技术中,任务调度时,通常将任务拆分成多个小任务,但是,小任务之间的执行顺序往往存在偏差,导致任务调度的精度差,且调度效率低。

4、因此,如何提高小任务之间的执行顺序的准确性,是目前有待解决的技术问题。


技术实现思路

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、其中,p为一级任务的复杂度,为数据得分对应的权重,为数据得分,为逻辑得分对应的权重,为逻辑得分,为技术得分对应的权重,为技术得分,exp为指数函数,为不可预测得分,k为预设常数。

28、本技术一些实施例中,根据二级任务的第一执行列表确定第一执行列表中元素的优先级,并根据元素的优先级确定二级任务的执行顺序,包括:

29、二级任务的第一执行列表中的元素包括逻辑关系、依赖关系、任务价值和任务成本;

30、定义逻辑关系和依赖关系为第一优先级,定义任务价值为第二优先级,定义任务成本为第三优先级,其中,第一优先级高于第二优先级,第二优先级高于第三优先级;

31、第三优先级进行比对时,任务成本包括执行时间和资源消耗,根据执行时间和资源消耗建立任务成本数组(s1,s2),其中,s1为执行时间,s2为资源消耗;

32、若s1超过第一时间预设值s10,且s2超过第一资源预设值s20,则计算第一时间超出占比和第一资源超出占比,根据第一时间超出占比和第一资源超出占比得到第一超出占比,根据第一超出占比确定二级任务之间的优先顺序,其中,第一时间超出占比为,第一资源超出占比为;

33、若s1超过第一时间预设值s10,且s2不超过第一资源预设值s20,或s1不超过第一时间预设值s10,且s2超过第一资源预设值s20,则对应计算第一时间超出占比和第一资源反超出占比,或计算第一时间反超出占比和第一资源超出占比,根据第一时间超出占比和第一资源反超出占比得到第一超出占比,或根据第一时间反超出占比和第一资源超出占比得到第一超出占比,根据第一超出占比确定二级任务之间的优先顺序,其中,第一时间反超出占比为,第一资源反超出占比为;

34、若s1不超过第一时间预设值s10,且s2不超过第一资源预设值s20,则计算第二时间超出占比和第二资源超出占比,根据第二时间超出占比和第二资源超出占比确定第二超出占比,根据第二超出占比确定二级任务之间的优先顺序,其中,第二时间超出占比为,第二资源超出占比为,s11为第二时间预设值,s21为第二资源预设值,且s11<s10,s21<s20;

35、根据第一优先级、第二优先级和第三优先级的优先顺序依次比对二级任务的第一执行列表中的元素,从而确定二级任务的执行顺序。

36、本技术一些实施例中,基于二级任务的执行顺序和二级任务的第一执行列表得到二级任务的第二执行列表,得到资源分配列表,包括:

37、根据二级任务的执行顺序对二级任务的第一执行列表中的任务成本进行调整,将调整后的任务成本作为二级任务的第二执行列表,根据二级任务的第二执行列表得到资源分配列表。

38、本技术一些实施例中,基于二级任务的第一执行列表确定节点数量,包括:

39、基于二级任务的第一执行列表确定二级任务的复杂度,根据多个二级任务的复杂度得到一级任务的伪复杂度,基于一级任务的复杂度和一级任务的伪复杂度之差对一级任务的伪复杂度进行调整,根据调整后的一级任务的伪复杂度确定节点数量。

40、本技术一些实施例中,基于节点数量在任务调度的过程中进行任务完成情况的监控,包括:

41、将任务调度过程转化为一条流程,基于节点数量将流程切割成多个子流程,多个子流程的连接点为节点,每个节点监控任务的完成情况。

42、本技术一些实施例中,并根据监控结果对后续任务调度进行调整,包括:

43、根据每个子流程预测各个节点的负载理论量,根据上一个节点的负载实际量与负载理论量之差调整下一个节点的负载理论量;

44、若节点的负载实际量大于负载理论量,且节点的负载实际量与负载理论量之差超过预设差值,则将该节点相关的二级任务分配到负载实际量小于负载理论量的节点上。

45、通过应用以上技术方案,获取业务需求,根据业务需求确定一级任务类型,并根据业务需求和一级任务类型确定一级任务的执行列表;根据一级任务的执行列表得到二级任务数量,根据二级任务数量将一级任务拆解成多个二级任务以及多个对应的二级任务的第一执行列表;根据二级任务的第一执行列表确定第一执行列表中元素的优先级,并根据元素的优先级确定二级任务的执行顺序;基于二级任务的执行顺序和二级任务的第一执行列表得到二级任务的第二执行列表,基于二级任务的第二执行列表分配资源,得到资源分配列表;根据二级任务的第一执行列表和资源分配列表进行任务的调度,基于二级任务的第一执行列表确定节点数量;基于节点数量在任务调度的过程中进行任务完成情况的监控,并根据监控结果对后续任务调度进行调整。本技术通过一级任务的执行列表得到二级任务数量,从而将任务进行合理的拆分,根据元素的优先级确定二级任务的执行顺序,保证了二级任务执行的顺序性,提高了顺序的精度,提高了任务调度的效率。根据监控结果对后续任务调度进行调整,保证任务调度的可靠性。

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