CN114327807A - 用于分布式规则引擎的自适应任务调度方法、装置和电子设备 - Google Patents
用于分布式规则引擎的自适应任务调度方法、装置和电子设备 Download PDFInfo
- Publication number
- CN114327807A CN114327807A CN202011339240.6A CN202011339240A CN114327807A CN 114327807 A CN114327807 A CN 114327807A CN 202011339240 A CN202011339240 A CN 202011339240A CN 114327807 A CN114327807 A CN 114327807A
- Authority
- CN
- China
- Prior art keywords
- task
- tasks
- distributed
- rule engine
- rule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Multi Processors (AREA)
Abstract
本申请公开了一种用于分布式规则引擎的自适应任务调度方法、装置和电子设备。该用于分布式规则引擎的自适应任务调度方法包括:控制预定数目的任务进入任务队列;确定所述任务队列中要分配给所述分布式规则引擎中的每个规则引擎的任务;确定分配给所述每个规则引擎的任务的先后顺序;获得每个规则引擎执行所述任务的执行结果;以及,基于所述执行结果对于要分配给所述每个规则引擎的任务的参数进行调整。这样,基于每个规则引擎对任务的执行结果来控制分配给每个规则疫情的任务及其执行的先后顺序,提高了分布式规则引擎的整体执行效率。
Description
技术领域
本申请涉及任务调度领域,尤其涉及用于分布式规则引擎的自适应任务调度方法、装置和电子设备。
背景技术
支持实时任务的分布式规则引擎是针对金融智能风控,为实现业务集中处理的运营模式而研究和开发的。该系统依托于面向服务架构的企业级决策管理平台,在广义排队论、PID控制论等理论指导下,旨在解决业务量巨大模式下规则执行的实时性、优先级调度、动态规划、并行流水线等各类现代排序论的难题,从而实现核心决策功能共性化、业务服务工厂化、各类风险控制集中化的作业模式。
通常,企业级的智能决策管理平台主要分为三层:核心层、服务层、应用层。其中,任务调度是核心层中的关键内容,因此,期望能够提供一种适用于如上所述的支持实时任务的分布式规则引擎的任务调度方案。
发明内容
为了解决上述技术问题,提出了本申请。本申请的实施例提供了一种用于分布式规则引擎的自适应任务调度方法、装置和电子设备,其基于每个规则引擎对任务的执行结果来控制分配给每个规则疫情的任务及其执行的先后顺序,从而提高分布式规则引擎的整体执行效率。
根据本申请的一方面,提供了一种用于分布式规则引擎的自适应任务调度方法,包括:控制预定数目的任务进入任务队列;确定所述任务队列中要分配给所述分布式规则引擎中的每个规则引擎的任务;确定分配给所述每个规则引擎的任务的先后顺序;获得每个规则引擎执行所述任务的执行结果;以及,基于所述执行结果对于要分配给所述每个规则引擎的任务的参数进行调整。
在上述用于分布式规则引擎的自适应任务调度方法中,获得每个规则引擎执行所述任务的执行结果包括:获得所述每个规则引擎执行所述任务的负载数据;以及,控制预定数目的任务进入任务队列包括:基于前一周期的所述每个规则引擎的负载数据确定多个规则引擎的整体负载情况;以及,基于所述整体负载情况调整当前周期的进入任务队列的任务的数目。
在上述用于分布式规则引擎的自适应任务调度方法中,基于所述执行结果对于要分配给所述每个规则引擎的任务的参数进行调整包括:基于前一周期的所述负载数据,计算当前周期的分配给所述每个规则引擎的任务的参数;通过所述参数的计算评估所述当前周期的负载数据的允许变化范围以获得所述当前周期的负载数据的参考值;以及,基于所述负载数据的参考值,通过预设算法调整所述当前周期的分配给所述每个规则引擎的任务的参数。
在上述用于分布式规则引擎的自适应任务调度方法中,确定分配给所述每个规则引擎的任务的先后顺序包括:对于每个规则引擎,通过基于动态优先级的预定算法调度分配给所述规则引擎执行的多个任务以确定所述多个任务的先后顺序。
在上述用于分布式规则引擎的自适应任务调度方法中,所述基于动态优先级的预定算法基于所述分配的任务的截止时间的顺序确定所述任务的优先级,其中,截止时间早的任务的优先级高,且截止时间晚的任务的优先级低。
在上述用于分布式规则引擎的自适应任务调度方法中,所述基于动态优先级的预定算法基于所述分配的任务的临界比确定所述任务的优先级,所述任务的临界比是所述任务的(当前时间-流程开始时间)与流程预估时间的比值,其中,所述临界比的值大的任务的优先级高。
在上述用于分布式规则引擎的自适应任务调度方法中,所述基于动态优先级的预定算法基于所述分配的任务的最短加工时间确定所述任务的优先级,所述任务的最短加工时间是通过预定算法从所述分配的任务计算出的。
在上述用于分布式规则引擎的自适应任务调度方法中,所述基于动态优先级的预定算法基于所述分配的任务的到达时间确定所述任务的优先级,其中,所述到达时间早的任务的优先级高。
在上述用于分布式规则引擎的自适应任务调度方法中,所述基于动态优先级的预定算法设置不同优先级的权重,并按照所述权重的大小对于不同优先级进行排序,以确定每个任务的优先级。
根据本申请的另一方面,提供了一种用于分布式规则引擎的自适应任务调度装置,包括:队列控制单元,用于控制预定数目的任务进入任务队列;任务分配单元,用于确定所述任务队列中要分配给所述分布式规则引擎中的每个规则引擎的任务;任务调度单元,用于确定分配给所述每个规则引擎的任务的先后顺序;任务执行单元,用于获得每个规则引擎执行所述任务的执行结果;以及,任务反馈单元,用于基于所述执行结果对于要分配给所述每个规则引擎的任务的参数进行调整。
根据本申请的又一方面,提供了一种电子设备,包括:处理器;以及,存储器,在所述存储器中存储有计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行如上所述的用于分布式规则引擎的自适应任务调度方法。
根据本申请的再一方面,提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行如上所述的用于分布式规则引擎的自适应任务调度方法。
根据本申请实施例的用于分布式规则引擎的自适应任务调度方法、装置和电子设备,能够基于每个规则引擎对任务的执行结果来控制分配给每个规则疫情的任务及其执行的先后顺序,从而提高分布式规则引擎的整体执行效率。
附图说明
通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1图示了根据本申请实施例的优先级排序和调度控制机制的总体架构的示意图。
图2图示了根据本申请实施例的用于分布式规则引擎的自适应任务调度方法的流程图。
图3图示了根据本申请实施例的队列管理的工作的示意图。
图4图示了根据本申请实施例的用于分布式规则引擎的自适应任务调度方法的示意图。
图5图示了根据本申请实施例的用于分布式规则引擎的自适应任务调度装置的框图。
图6图示了根据本申请实施例的电子设备的框图。
具体实施方式
下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。
示例性方法
如上所述,企业级的智能决策管理平台的任务调度过程中,采用具有优先级队列的队列控制机制。该队列控制机制提供在业务规则、规则集、权限、待完成时间、重要级别、系统负载等不同维度上调整。并且,队列可以使用PID(Proportional IntegralDerivative:比例积分微分)优先级调度器来实时控制规则集执行的每一个环节。
图1图示了根据本申请实施例的优先级排序和调度控制机制的总体架构的示意图。
如图1所示,在待执行的规则任务队列中,提供了三个维度的优先级控制:
1.初始优先级管理:由用户定义优先级,通过规则定义维护规则编码表,取出规则的优先级;
2.人工调整:由用户控制,通过规则优先级管理功能,调整当前规则执行任务和规则集执行任务的优先级;
3.系统调整:在规则引擎计算提交任务时,优先级管理器更新当前的工作时间,并通过时限优先级规则,根据业务定义的参数来动态调整;修改优先级基数是通过PID的调整方式来获取,考虑到系统的负载情况,避免规则执行任务的过度优先,从而提高整体效率。
这里,根据本申请实施例的用于分布式规则引擎的自适应任务调度方法主要涉及系统调整。
下面,将进一步详细说明根据本申请实施例的用于分布式规则引擎的自适应任务调度方法。
图2图示了根据本申请实施例的用于分布式规则引擎的自适应任务调度方法的流程图。
如图2所示,根据本申请实施例的用于分布式规则引擎的自适应任务调度方法包括步骤:S110,控制预定数目的任务进入任务队列;S120,确定所述任务队列中要分配给所述分布式规则引擎中的每个规则引擎的任务;S130,确定分配给所述每个规则引擎的任务的先后顺序;S140,获得每个规则引擎执行所述任务的执行结果;以及,S150,基于所述执行结果对于要分配给所述每个规则引擎的任务的参数进行调整。
下面,将详细说明根据本申请实施例的用于分布式规则引擎的自适应任务调度方法中的每个步骤。
在步骤S110中,控制预定数目的任务进入任务队列。这里,任务队列又可以称为规则执行队列,其是为了提高规则引擎客户端获取待执行规则的效率,根据不同的规则属性,基于物理存储之上建立的。具体地,可以建立多个执行队列,且每个执行队列以服务的形式接收任务管理器的请求,返回当前二级缓存中的任务,并同时保持后台进程对缓存中的任务执行队列进行维护。不同的执行任务队列服务和规则执行引擎可以部署在相同或不同的物理机器上,实现分布式规则执行与处理。
任务队列的定义系统根据规则创建者所属机构或用户本身,由系统默认创建,并与机构或用户名一一对应,同时可以根据规则执行的要求不同,可以自定义虚拟用户名或机构名,系统根据定义的用户名或机构名,生成相应的队列,同一规则集定义中的不同规则或不同规则集定义中的任意规则都可以设定执行的队列名称。因此可以实现不同业务规则集中的规则可以存在于同一个任务队列中,从而为外围业务系统实现整合提供便捷性。
为尽可能提高任务队列服务的效率,任务队列本身同时也分成两级缓存,队列头以图(Map)的方式,存储最先的n个任务数据,从任务管理器发送的请求优先从队列头中选择;由于二级缓存的任务数量可能较大,任务队列主体采用B树结构进行存储。
图3图示了根据本申请实施例的队列管理的工作的示意图。如图3所示,队列管理主要涉及维护各种服务的队列,可以实现业务量的溢出分流、区域互备等功能。并且,队列管理属于服务层的队列服务;队列服务提供了队列管理功能,主要缓存规则执行任务项。为每个机构或用户类型分别提供了不同的队列,并同时建立了用户和机构维度的索引。
根据本申请实施例的用于分布式规则引擎的自适应任务调度方法主要涉及单个队列的自适应任务调度。因此,在步骤S110中,首先获取单个任务队列,并控制预定数目的任务进入任务队列。
图4图示了根据本申请实施例的用于分布式规则引擎的自适应任务调度方法的示意图。如图4所示,控制预定数目的任务进入任务队列由准入控制器实现,即,所述准入控制器负责控制进入任务队列的任务数量,它通过调整任务流量来对DWFS(中英文全称分布式规则系统)自适应规则执行任务调度系统中的规则引擎的负载进行控制,可以防止多个规则引擎总体的瞬时过载。准入控制器根据采样得到的多个规则引擎的负载数据进行工作,实时计算多个规则引擎的总体的负载情况,然后根据计算结果实时地对到达的任务进行准入控制。
因此,在根据本申请实施例的用于分布式规则引擎的自适应任务调度方法中,获得每个规则引擎执行所述任务的执行结果包括:获得所述每个规则引擎执行所述任务的负载数据;以及,控制预定数目的任务进入任务队列包括:基于前一周期的所述每个规则引擎的负载数据确定多个规则引擎的整体负载情况;以及,基于所述整体负载情况调整当前周期的进入任务队列的任务的数目。
在步骤S120中,确定所述任务队列中要分配给所述分布式规则引擎中的每个规则引擎的任务。如图4所示,任务分配器负责将任务队列中的任务分配到适当的规则引擎,以达到充分利用资源、提高吞吐量的目的。
在步骤S130中,确定分配给所述每个规则引擎的任务的先后顺序。如图4所示,任务调度器负责确定特定规则引擎中任务执行的先后顺序。
在步骤S140中,获得每个规则引擎执行所述任务的执行结果。以及,在步骤S150中,基于所述执行结果对于要分配给所述每个规则引擎的任务的参数进行调整。具体地,如图4所示,PID控制器使用PID反馈控制方法对已经进入任务分配器中的多个任务的各项参数进行计算,评估总的负载的允许变化范围,为负载变化提供参考值,能够保证负载维持在一个稳定且较高的值上。
这里,图4中的准入控制器和PID控制器可以合称为反馈控制模块,即,反馈控制模块主要用来对负载、任务执行时间等因素进行预测及控制,实现负载在较高值上保持稳定。
并且,如图4所示的任务调度器也利用PID控制器的计算结果,通过弹簧算法,对要分配给规则引擎的实时任务的各项参数进行调整,通过准确反映规则引擎中任务的负载情况以达到让规则引擎处理尽可能多的任务的目的。这里,弹簧算法用于通过其找到规则引擎目标负载值与当前负载值的差距,并调整影响规则引擎负载的相关参数,反复这个过程,直至计算的当前负载值与目标负载值接近,即得到相关参数值。此外,任务调度器还可以额使用具有较高效率的EDF(Earliest Deadline First:最早截止时间优先)算法进行调度,该算法可使规则引擎的潜在利用率达到100%。
因此,在根据本申请实施例的用于分布式规则引擎的自适应任务调度方法中,基于所述执行结果对于要分配给所述每个规则引擎的任务的参数进行调整包括:基于前一周期的所述负载数据,计算当前周期的分配给所述每个规则引擎的任务的参数;通过所述参数的计算评估所述当前周期的负载数据的允许变化范围以获得所述当前周期的负载数据的参考值;以及,基于所述负载数据的参考值,通过预设算法调整所述当前周期的分配给所述每个规则引擎的任务的参数。
如上所述,当任务被分配到某个规则引擎后,该规则引擎上的所有任务由任务调度器采用EDF算法进行调度。在EDF算法中,任务的优先级是动态变化的。
也就是,在根据本申请实施例的用于分布式规则引擎的自适应任务调度方法中,确定分配给所述每个规则引擎的任务的先后顺序包括:对于每个规则引擎,通过基于动态优先级的预定算法调度分配给所述规则引擎执行的多个任务以确定所述多个任务的先后顺序。
此外,除了ETF算法之外,还包括其它的基于动态优先级的预定算法。下面,将说明预定算法分配优先级的一些示例。
在一个示例中,在任意时刻,任务调度器调度的规则引擎中的任务按照其截止时间从早到晚的顺序进行排序,截止时间越早的任务优先级越高。也就是,在进行任务调度时,任务调度器选择具有最早截止时间的任务来调度执行。
也就是,在上述用于分布式规则引擎的自适应任务调度方法中,所述基于动态优先级的预定算法基于所述分配的任务的截止时间的顺序确定所述任务的优先级,其中,截止时间早的任务的优先级高,且截止时间晚的任务的优先级低。
在另一示例中,将任务根据最小临界比排序,临界比是(当前时间-流程开始时间)与流程预估时间的比;如果临界比越大,表示该流程越趋于完成,则基于最大吞吐量原则,该任务应该排在前面。
也就是,在上述用于分布式规则引擎的自适应任务调度方法中,所述基于动态优先级的预定算法基于所述分配的任务的临界比确定所述任务的优先级,所述任务的临界比是所述任务的(当前时间-流程开始时间)与流程预估时间的比值,其中,所述临界比的值大的任务的优先级高。
在又一示例中,按照最短加工时间排序,即,根据用户自定义算法,平均流程的最短加工时间是实现最优调度的算法。
也就是,在上述用于分布式规则引擎的自适应任务调度方法中,所述基于动态优先级的预定算法基于所述分配的任务的最短加工时间确定所述任务的优先级,所述任务的最短加工时间是通过预定算法从所述分配的任务计算出的。
此外,还可以包括常规的FCFS(First Come First Service:先到先服务)排序,也就是,对于所有任务,或者是以上均相同的任务,采用先到先服务的方式。
也就是,在上述用于分布式规则引擎的自适应任务调度方法中,所述基于动态优先级的预定算法基于所述分配的任务的到达时间确定所述任务的优先级,其中,所述到达时间早的任务的优先级高。
另外,在本申请实施例中,还可以设置不同优先级的权重,并按照权重的大小对于不同优先级进行排序。
也就是,在上述用于分布式规则引擎的自适应任务调度方法中,所述基于动态优先级的预定算法设置不同优先级的权重,并按照所述权重的大小对于不同优先级进行排序,以确定每个任务的优先级。
示例性装置
图5图示了根据本申请实施例的用于分布式规则引擎的自适应任务调度装置的框图。
如图5所示,根据本申请实施例的用于分布式规则引擎的自适应任务调度装置200包括:队列控制单元210,用于控制预定数目的任务进入任务队列;任务分配单元220,用于确定所述任务队列中要分配给所述分布式规则引擎中的每个规则引擎的任务;任务调度单元230,用于确定分配给所述每个规则引擎的任务的先后顺序;任务执行单元240,用于获得每个规则引擎执行所述任务的执行结果;以及,任务反馈单元250,用于基于所述执行结果对于要分配给所述每个规则引擎的任务的参数进行调整。
在一个示例中,在上述用于分布式规则引擎的自适应任务调度装置200中,所述任务执行单元240用于:获得所述每个规则引擎执行所述任务的负载数据;以及,所述队列控制单元210用于:基于前一周期的所述每个规则引擎的负载数据确定多个规则引擎的整体负载情况;以及,基于所述整体负载情况调整当前周期的进入任务队列的任务的数目。
在一个示例中,在上述用于分布式规则引擎的自适应任务调度装置200中,所述任务反馈单元250用于:基于前一周期的所述负载数据,计算当前周期的分配给所述每个规则引擎的任务的参数;通过所述参数的计算评估所述当前周期的负载数据的允许变化范围以获得所述当前周期的负载数据的参考值;以及,基于所述负载数据的参考值,通过预设算法调整所述当前周期的分配给所述每个规则引擎的任务的参数。
在一个示例中,在上述用于分布式规则引擎的自适应任务调度装置200中,所述任务调度单元230用于:对于每个规则引擎,通过基于动态优先级的预定算法调度分配给所述规则引擎执行的多个任务以确定所述多个任务的先后顺序。
在一个示例中,在上述用于分布式规则引擎的自适应任务调度装置200中,所述基于动态优先级的预定算法基于所述分配的任务的截止时间的顺序确定所述任务的优先级,其中,截止时间早的任务的优先级高,且截止时间晚的任务的优先级低。
在一个示例中,在上述用于分布式规则引擎的自适应任务调度装置200中,所述基于动态优先级的预定算法基于所述分配的任务的临界比确定所述任务的优先级,所述任务的临界比是所述任务的(当前时间-流程开始时间)与流程预估时间的比值,其中,所述临界比的值大的任务的优先级高。
在一个示例中,在上述用于分布式规则引擎的自适应任务调度装置200中,所述基于动态优先级的预定算法基于所述分配的任务的最短加工时间确定所述任务的优先级,所述任务的最短加工时间是通过预定算法从所述分配的任务计算出的。
在一个示例中,在上述用于分布式规则引擎的自适应任务调度装置200中,所述基于动态优先级的预定算法基于所述分配的任务的到达时间确定所述任务的优先级,其中,所述到达时间早的任务的优先级高。
在一个示例中,在上述用于分布式规则引擎的自适应任务调度装置200中,所述基于动态优先级的预定算法设置不同优先级的权重,并按照所述权重的大小对于不同优先级进行排序,以确定每个任务的优先级。
这里,本领域技术人员可以理解,根据本申请实施例的用于分布式规则引擎的自适应任务调度装置200的其它细节与“示例性方法”部分中的相应细节完全相同,为了避免冗余在此不再赘述。
同样,根据本申请实施例的用于分布式规则引擎的自适应任务调度装置200可以实现在各种终端设备中,例如用于企业级决策管理平台的服务器等。在一个示例中,根据本申请实施例的用于分布式规则引擎的自适应任务调度装置200可以作为一个软件模块和/或硬件模块而集成到终端设备中。例如,该用于分布式规则引擎的自适应任务调度装置200可以是该终端设备的操作系统中的一个软件模块,或者可以是针对于该终端设备所开发的一个应用程序;当然,该用于分布式规则引擎的自适应任务调度装置200同样可以是该终端设备的众多硬件模块之一。
替换地,在另一示例中,该用于分布式规则引擎的自适应任务调度装置200与该终端设备也可以是分立的设备,并且该用于分布式规则引擎的自适应任务调度装置200可以通过有线和/或无线网络连接到该终端设备,并且按照约定的数据格式来传输交互信息。
示例性电子设备
下面,参考图6来描述根据本申请实施例的电子设备。
图6图示了根据本申请实施例的电子设备的框图。
如图6所示,电子设备10包括一个或多个处理器11和存储器12。
处理器13可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备10中的其他组件以执行期望的功能。
存储器12可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器11可以运行所述程序指令,以实现上文所述的本申请的各个实施例的用于分布式规则引擎的自适应任务调度方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如待分配的任务,任务的执行结果,任务参数等各种内容。
在一个示例中,电子设备10还可以包括:输入装置13和输出装置14,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
该输入装置13可以包括例如键盘、鼠标等等。
该输出装置14可以向外部输出各种信息,包括任务的分配结果和调度顺序等。该输出装置14可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图6中仅示出了该电子设备10中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备10还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的用于分布式规则引擎的自适应任务调度方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的用于分布式规则引擎的自适应任务调度方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (11)
1.一种用于分布式规则引擎的自适应任务调度方法,其特征在于,包括:
控制预定数目的任务进入任务队列;
确定所述任务队列中要分配给所述分布式规则引擎中的每个规则引擎的任务;
确定分配给所述每个规则引擎的任务的先后顺序;
获得每个规则引擎执行所述任务的执行结果;以及
基于所述执行结果对于要分配给所述每个规则引擎的任务的参数进行调整。
2.如权利要求1所述的用于分布式规则引擎的自适应任务调度方法,其特征在于,获得每个规则引擎执行所述任务的执行结果包括:
获得所述每个规则引擎执行所述任务的负载数据;以及
控制预定数目的任务进入任务队列包括:
基于前一周期的所述每个规则引擎的负载数据确定多个规则引擎的整体负载情况;以及
基于所述整体负载情况调整当前周期的进入任务队列的任务的数目。
3.如权利要求2所述的用于分布式规则引擎的自适应任务调度方法,其特征在于,基于所述执行结果对于要分配给所述每个规则引擎的任务的参数进行调整包括:
基于前一周期的所述负载数据,计算当前周期的分配给所述每个规则引擎的任务的参数;
通过所述参数的计算评估所述当前周期的负载数据的允许变化范围以获得所述当前周期的负载数据的参考值;以及
基于所述负载数据的参考值,通过预设算法调整所述当前周期的分配给所述每个规则引擎的任务的参数。
4.如权利要求1所述的用于分布式规则引擎的自适应任务调度方法,其特征在于,确定分配给所述每个规则引擎的任务的先后顺序包括:
对于每个规则引擎,通过基于动态优先级的预定算法调度分配给所述规则引擎执行的多个任务以确定所述多个任务的先后顺序。
5.如权利要求4所述的用于分布式规则引擎的自适应任务调度方法,其特征在于,所述基于动态优先级的预定算法基于所述分配的任务的截止时间的顺序确定所述任务的优先级,其中,截止时间早的任务的优先级高,且截止时间晚的任务的优先级低。
6.如权利要求4所述的用于分布式规则引擎的自适应任务调度方法,其特征在于,所述基于动态优先级的预定算法基于所述分配的任务的临界比确定所述任务的优先级,所述任务的临界比是所述任务的(当前时间-流程开始时间)与流程预估时间的比值,其中,所述临界比的值大的任务的优先级高。
7.如权利要求4所述的用于分布式规则引擎的自适应任务调度方法,其特征在于,所述基于动态优先级的预定算法基于所述分配的任务的最短加工时间确定所述任务的优先级,所述任务的最短加工时间是通过预定算法从所述分配的任务计算出的。
8.如权利要求4所述的用于分布式规则引擎的自适应任务调度方法,其特征在于,所述基于动态优先级的预定算法基于所述分配的任务的到达时间确定所述任务的优先级,其中,所述到达时间早的任务的优先级高。
9.如权利要求5到8中的任意一项所述的用于分布式规则引擎的自适应任务调度方法,其特征在于,所述基于动态优先级的预定算法设置不同优先级的权重,并按照所述权重的大小对于不同优先级进行排序,以确定每个任务的优先级。
10.一种用于分布式规则引擎的自适应任务调度装置,其特征在于,包括:
队列控制单元,用于控制预定数目的任务进入任务队列;
任务分配单元,用于确定所述任务队列中要分配给所述分布式规则引擎中的每个规则引擎的任务;
任务调度单元,用于确定分配给所述每个规则引擎的任务的先后顺序;
任务执行单元,用于获得每个规则引擎执行所述任务的执行结果;以及
任务反馈单元,用于基于所述执行结果对于要分配给所述每个规则引擎的任务的参数进行调整。
11.一种电子设备,包括:
处理器;以及
存储器,在所述存储器中存储有计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行如权利要求1-9中任一项所述的用于分布式规则引擎的自适应任务调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011339240.6A CN114327807A (zh) | 2020-11-25 | 2020-11-25 | 用于分布式规则引擎的自适应任务调度方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011339240.6A CN114327807A (zh) | 2020-11-25 | 2020-11-25 | 用于分布式规则引擎的自适应任务调度方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114327807A true CN114327807A (zh) | 2022-04-12 |
Family
ID=81032015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011339240.6A Pending CN114327807A (zh) | 2020-11-25 | 2020-11-25 | 用于分布式规则引擎的自适应任务调度方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114327807A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115269155A (zh) * | 2022-08-04 | 2022-11-01 | 华院计算技术(上海)股份有限公司 | 业务数据请求的调度方法、系统、设备及存储介质 |
-
2020
- 2020-11-25 CN CN202011339240.6A patent/CN114327807A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115269155A (zh) * | 2022-08-04 | 2022-11-01 | 华院计算技术(上海)股份有限公司 | 业务数据请求的调度方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11275609B2 (en) | Job distribution within a grid environment | |
JP5120061B2 (ja) | 優先度制御プログラム、優先度制御装置、及び優先度制御方法 | |
Wei et al. | Towards efficient resource allocation for heterogeneous workloads in IaaS clouds | |
US8365175B2 (en) | Power management using dynamic application scheduling | |
EP2546765B1 (en) | Storage-side storage request management | |
Zuo et al. | A multiqueue interlacing peak scheduling method based on tasks’ classification in cloud computing | |
Nguyen et al. | A hybrid scheduling algorithm for data intensive workloads in a mapreduce environment | |
JPH09167141A (ja) | 負荷分散制御方法 | |
US20140188532A1 (en) | Multitenant Database Placement with a Cost Based Query Scheduler | |
Guo et al. | Delay-optimal scheduling of VMs in a queueing cloud computing system with heterogeneous workloads | |
CN109857535A (zh) | 面向Spark JDBC的任务优先级控制的实现方法及装置 | |
Zhang et al. | Dynamic scheduling with service curve for QoS guarantee of large-scale cloud storage | |
Er-raji et al. | Priority task scheduling strategy for heterogeneous multi-datacenters in cloud computing | |
Parikh et al. | Double level priority based optimization algorithm for task scheduling in cloud computing | |
US8762998B2 (en) | Computing job management based on priority and quota | |
CN114327807A (zh) | 用于分布式规则引擎的自适应任务调度方法、装置和电子设备 | |
Abdalkafor et al. | A hybrid approach for scheduling applications in cloud computing environment | |
US20120136758A1 (en) | Production management with multi-type kanban modeling | |
CN116610422A (zh) | 一种任务调度方法、装置和系统 | |
CN106295117B (zh) | 一种被动相控阵雷达资源动态排队管控方法 | |
Jiang et al. | Multi-prediction based scheduling for hybrid workloads in the cloud data center | |
Peng et al. | {Fair-EDF}: A Latency Fairness Framework for Shared Storage Systems | |
Peng et al. | Latency Fairness Scheduling for Shared Storage Systems | |
JP4367167B2 (ja) | リアルタイムシステム、QoS適応制御装置及びそれらに用いるQoS適応制御方法並びにそのプログラム | |
Shan et al. | Modeling and performance evaluation of hierarchical job scheduling on the grids |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |