基于贝叶斯正态估计的低代码业务编排任务并行调度方法与流程

专利检索2025-05-03  10


本发明属于低代码业务编排领域,具体涉及一种基于贝叶斯正态估计的低代码业务编排任务并行调度方法。


背景技术:

1、在低代码平台中的业务编排中,涉及到并行网关技术和分布式调度引擎技术。这些技术可以帮助开发人员或者业务人员更高效地设计、组织和管理业务流程。在业务编排中,有时需要同时执行多个任务或分支,这些任务或分支之间可能是独立的或并行的。为了提高处理效率,单处理系统可以利用并行网关技术在同一时间点上同时执行多个任务。随着业务流程的复杂性增加和任务数量的增加,分布式调度引擎技术可以分配和调度任务资源,保证任务按时执行,并且能够平衡负载。分布式调度引擎将任务分配给适当的执行单元,如服务器、节点或容器等,并监控任务的执行情况。通过检测资源利用率,根据需求进行负载均衡,并根据任务的优先级和依赖关系来调整执行顺序。此外,分布式调度引擎还具备高可用性和容错性,能够处理故障、恢复和任务重试等情况。

2、分布式调度引擎通常使用调度算法来分配任务,如最短作业优先算法(shortestjob first,sjf)根据任务的执行时间来确定任务的优先级,以最大程度地减少执行时间。分布式调度引擎使用最短作业优先算法来分配任务能够优化系统的性能和资源利用率。具有最短平均等待时间和最大吞吐量等优点,即使任务的平均等待时间最小化,短任务能够更快地完成,其他任务等待时间更短,从而减少了系统的响应时间;优先执行短任务,最大化系统的吞吐量,短任务能够迅速完成,从而使更多的任务得以执行。然而,现有的并行网关技术和分布式调度引擎技术存在一些缺点:1、预测执行时间困难:现有算法要求预先知道每个任务的执行时间,但实际情况下,任务的执行时间往往是不确定的。这导致在实际应用中,预测任务执行时间变得困难,可能会导致调度不准确;2、长任务的饥饿:如果系统中存在一些执行时间较长的任务,那么这些任务可能会被短任务不断抢占资源,导致长任务长时间无法得到执行,出现饥饿现象;3、无法应对变化的工作负载:现有算法假设任务的执行时间是已知的并且不会发生变化。然而,实际系统中的工作负载是动态变化的,任务的执行时间可能会随着不同的情况发生变化。在这种情况下,算法可能无法有效应对变化的工作负载。


技术实现思路

1、本发明为了解决上述问题,本发明的目的是提供一种基于贝叶斯正态估计的低代码业务编排任务并行调度方法,本发明能够提高任务调度的效率和准确性,提升系统的性能,同时也提高了系统的稳定性和可靠性。

2、本发明的目的通过以下技术方案实现:

3、一种基于贝叶斯正态估计的低代码业务编排任务并行调度方法,其特征在于:包括任务执行时间预测、任务类型分类和任务调度策略;

4、所述任务执行时间预测为利用正态分布模型来预测任务的执行时间,其包括任务的平均执行时间和执行时间的方差,利用所述正态分布的概率密度函数来拟合这些数据,使得得到任务执行时间的均值和方差;

5、所述任务类型分类根据任务执行时间的均值和方差将任务分为四类:短期且稳定的任务、长期且稳定的任务、短期但不稳定的任务、长期但不稳定的任务;

6、任务调度策略根据任务的类型来制定不同的调度策略,根据任务的紧急程度来决定是否优先调度短期但不稳定的任务,根据任务的重要程度来决定是否优先调度长期但不稳定的任务。

7、本发明采用数据分布中的正态分布模型来精确预测任务的执行时间,从而在业务编排过程中制定出最优的任务优先级。任务执行时间预测部分,利用正态分布模型来预测任务的执行时间,包括任务的平均执行时间和执行时间的方差,即利用正态分布的概率密度函数来拟合这些数据,从而得到任务执行时间的均值和方差。任务类型分类部分根据任务执行时间的均值和方差将任务分为四类:短期且稳定的任务(均值时间短且方差小)、长期且稳定的任务(均值时间长且方差小)、短期但不稳定的任务(均值时间短且方差大)、长期但不稳定的任务(均值时间长且方差大)。任务调度策略部分根据任务的类型来制定不同的调度策略。具体来说,优先调度短期且稳定的任务,尽可能地提前调度长期且稳定的任务,根据任务的紧急程度来决定是否优先调度短期但不稳定的任务,根据任务的重要程度来决定是否优先调度长期但不稳定的任务。

8、在任务执行时间预测部分,使用正态分布的概率密度函数来拟合任务执行时间的数据。正态分布的概率密度函数公式为:

9、

10、其中,x是观察值,μ是均值,σ是标准差。

11、利用贝叶斯正态估计来预测任务执行时间时,首先假设任务执行时间的先验分布是正态分布,然后根据观察到的任务执行时间数据来更新这个先验分布,得到任务执行时间的后验分布。具体的更新公式为:

12、

13、

14、其中,μprior和是先验分布的均值和方差,μlikelihood和是观察数据的均值和方差,μpost和是后验分布的均值和方差。

15、当有一定的任务执行时间数据后,使用这些数据来更新先验分布,进而得到任务执行时间的后验分布。这个后验分布是对任务执行时间的更新预测。

16、具体的更新步骤如下:

17、1、计算已有数据的均值μlikelihood和方差

18、2、使用公式(2)来计算后验分布的均值μpost:

19、3、使用公式(3)来计算后验分布的方差

20、4、在未来的任务执行时间预测中,使用这个后验分布作为新的先验分布,然后重复上述步骤,不断更新对任务的预测。

21、先验分布的均值和方差通常是基于专家知识、历史数据或者其他相关信息来设定的。在某些情况下,如果没有足够的信息来设定一个具体的先验分布,本发明使用无信息先验,这种先验分布对所有参数值都是均匀的,也就是说,它并不偏向于任何特定的参数值,即使用一个宽的先验分布,比如均值为0,方差为一个非常大的数,这样的先验分布对所有的任务执行时间都是均匀的。

22、在任务类型分类部分,采用高斯混合模型(gaussian mixture model,gmm)来自动地划分任务执行时间的类型,也就是说,将任务执行时间的均值和方差作为两个特征。然后,使用gmm来对这些特征进行聚类,将任务分为四类,短期且稳定的任务、长期且稳定的任务、短期但不稳定的任务、长期但不稳定的任务。

23、首先初始化gmm的参数,包括每个高斯分布的权重π_i,均值μ_i和协方差矩阵σ_i。这些参数可以随机初始化,也可以通过启发式方法(如k-means聚类)来初始化。

24、e步:计算每个任务属于每个高斯分布的后验概率。后验概率计算公式为:

25、

26、其中,x是任务的特征(任务执行时间的均值和方差),n(xi|μi,σi)是高斯分布的概率密度函数,γi是任务属于第i个高斯分布的后验概率。

27、m步:根据e步骤计算出的后验概率来更新gmm的参数。更新公式为:

28、

29、

30、

31、其中,xi是第n个任务的特征,γi是第n个任务属于第i个高斯分布的后验概率,n是任务的总数。

32、检查收敛:重复e步骤和m步骤,直到gmm的参数收敛,或者达到预设的最大迭代次数。

33、任务类型划分:根据每个任务的后验概率来确定其类型,将每个任务划分到后验概率最大的高斯分布对应的任务类型。

34、在任务调度策略部分,采用基于最优化方法的优先级调度算法来根据任务的类型制定不同的调度策略,即为每种任务类型分配一个优先级,然后按照优先级的顺序来调度任务。当多个任务的优先级相同时,利用最优化算法来进一步确定任务的执行顺序。

35、本发明为短期且稳定的任务分配最高的优先级以提高系统的响应速度,对于长期且稳定的任务分配次高的优先级,尽可能地提前调度,以避免阻塞其他任务,对于短期但不稳定的任务,根据任务的紧急程度来动态调整它们的优先级,对于长期但不稳定的任务,根据任务的重要程度来动态调整其优先级。

36、建立优化模型:对于一批次的并行任务,通过优化模型来确定它们的执行顺序,即n个任务,每个任务i的执行时间为ti,任务i的优先级为pi,优化模型如下:

37、

38、s.t.ri≤r所有任务i,资源使用量≤可用资源量;

39、ti≤tj所有依赖关系(i,j),任务i的完成时间≤任务j的开始时间;

40、si≤s所有任务i,任务i的开始时间≥时间窗的开始时间;

41、fi≤f所有任务i,任务i的完成时间≤时间窗的结束时间;

42、其中,ti·pi表示任务i的完成时间乘以其优先级,优化函数的目标是最小化所有任务的加权完成时间之和。

43、按照优先级和优化结果调度任务:本发明部分维护一个优先级队列,每当有新的任务到来时,根据任务的优先级和优化结果将任务插入到优先级队列中的适当位置。然后,选择队列中优先级最高的任务来执行。

44、优先级pi的度量通常取决于任务的重要性和紧急程度。在这个场景中,可以根据任务的类型来设定优先级。

45、对于四种类型的任务,我们可以设定如下的优先级:

46、短期且稳定的任务:这类任务的执行时间短且稳定,优先调度它们可以提高系统的响应速度。因此,可以为这类任务分配最高的优先级,比如设定pi=4。

47、长期且稳定的任务:这类任务的执行时间长但稳定,尽可能地提前调度它们可以避免它们阻塞其他任务。因此,可以为这类任务分配次高的优先级,比如设定pi=3。

48、短期但不稳定的任务:这类任务的执行时间短但不稳定,我们可以根据任务的紧急程度来动态调整它们的优先级。比如,如果任务非常紧急,可以设定pi=2;如果任务不太紧急,我们可以设定pi=1。

49、长期但不稳定的任务:这类任务的执行时间长且不稳定,我们可以根据任务的重要程度来动态调整它们的优先级。比如,如果任务非常重要,可以设定pi=2;如果任务不太重要,我们可以设定pi=1。

50、本发明的技术效果和优点:

51、本发明的基于贝叶斯正态估计的低代码任务编排算法,有效地解决了现有并行网关技术和分布式调度引擎技术存在的问题。首先,通过采用正态分布模型精确预测任务的执行时间,解决了预测执行时间困难的问题,提高了调度的准确性。其次,通过根据任务类型制定不同的调度策略,避免了长任务的饥饿现象,确保了长任务能够得到合理的调度。最后,由于该算法能够根据任务执行时间的均值和方差动态地调整任务的优先级,因此能够有效应对变化的工作负载,提高了系统的适应性和灵活性。总的来说,本发明能够提高任务调度的效率和准确性,提升系统的性能,同时也提高了系统的稳定性和可靠性。


技术特征:

1.一种基于贝叶斯正态估计的低代码业务编排任务并行调度方法,其特征在于:包括任务执行时间预测、任务类型分类和任务调度策略;

2.根据权利要求1所述的一种基于贝叶斯正态估计的低代码业务编排任务并行调度方法,其特征在于:在所述任务执行时间预测中,使用正态分布的概率密度函数来拟合任务执行时间的数据;正态分布的概率密度函数公式为:

3.根据权利要求2所述的一种基于贝叶斯正态估计的低代码业务编排任务并行调度方法,其特征在于:利用贝叶斯正态估计来预测任务执行时间时,首先假设任务执行时间的先验分布是正态分布,然后根据观察到的任务执行时间数据来更新这个先验分布,得到任务执行时间的后验分布。

4.根据权利要求3所述的一种基于贝叶斯正态估计的低代码业务编排任务并行调度方法,其特征在于:利用所述贝叶斯正态估计来预测任务执行时间时,任务执行时间的后验分布;具体的更新公式为:

5.根据权利要求4所述的一种基于贝叶斯正态估计的低代码业务编排任务并行调度方法,其特征在于:根据观察到的所述任务执行时间数据来更新先验分布,包括以下步骤:

6.根据权利要求1所述的一种基于贝叶斯正态估计的低代码业务编排任务并行调度方法,其特征在于:所述任务类型分类中,采用高斯混合模型(gaussian mixture model,gmm)来自动地划分任务执行时间的类型,所述任务执行时间的均值和方差作为两个特征,使用gmm来对这些特征进行聚类。

7.根据权利要求1所述的一种基于贝叶斯正态估计的低代码业务编排任务并行调度方法,其特征在于:所述短期且稳定的任务:这类任务的执行时间短且稳定,为这类任务分配最高的优先级;所述长期且稳定的任务:这类任务的执行时间提前调度它们避免它们阻塞其他任务。

8.根据权利要求1所述的一种基于贝叶斯正态估计的低代码业务编排任务并行调度方法,其特征在于:所述短期但不稳定的任务:这类任务的执行时间根据任务的紧急程度来动态调整它们的优先级。

9.根据权利要求1所述的一种基于贝叶斯正态估计的低代码业务编排任务并行调度方法,其特征在于:所述长期但不稳定的任务:这类任务的执行时间根据任务的重要程度来动态调整它们的优先级。

10.根据权利要求1所述的一种基于贝叶斯正态估计的低代码业务编排任务并行调度方法,其特征在于:所述任务调度策略中,采用基于最优化方法的优先级调度算法来根据任务的类型制定不同的调度策略,即为每种任务类型分配一个优先级,然后按照优先级的顺序来调度任务,当多个任务的优先级相同时,利用最优化算法来进一步确定任务的执行顺序。


技术总结
本发明公开了一种基于贝叶斯正态估计的低代码业务编排任务并行调度方法,包括任务执行时间预测、任务类型分类和任务调度策略,任务执行时间预测为利用正态分布模型来预测任务的执行时间,得到任务执行时间的均值和方差;任务类型分类根据任务执行时间的均值和方差将任务分为四类:短期且稳定的任务、长期且稳定的任务、短期但不稳定的任务、长期但不稳定的任务;任务调度策略根据任务的类型来制定不同的调度策略,根据任务的紧急程度来决定是否优先调度短期但不稳定的任务,根据任务的重要程度来决定是否优先调度长期但不稳定的任务。本发明提升系统的性能,同时也提高了系统的稳定性和可靠性。

技术研发人员:陈咏秋,徐明生,王国安,张春
受保护的技术使用者:江苏电力信息技术有限公司
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1153372.html

最新回复(0)