一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种规则引擎的调整方法、设备及存储介质与流程

2022-09-08 00:10:47 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种规则引擎的调整方法、设备及存储介质。


背景技术:

2.规则引擎由推理引擎发展而来,是一种可嵌入在应用程序中的组件,实现了将规则逻辑从应用程序代码中剥离出来,并使用预定义的语义模块编写规则逻辑。剥离出来的规则逻辑使用规则引擎来维护和运行,这样,可以使多变的规则逻辑变得可随需应变,且可支持快速实现复杂的规则逻辑。
3.目前,规则任务被分配到规则引擎后,经常存在处理效率不足的问题,给应用程序的整体运行效率造成了不良影响。


技术实现要素:

4.本技术的多个方面提供一种规则引擎的调整方法、设备及存储介质,用以提高规则任务的处理效率。
5.本技术实施例提供一种规则引擎的调整方法,所述规则引擎运行在目标设备上,所述方法包括:
6.响应于任务分发指令,监测为所述目标设备所配置的备用设备与所述目标设备之间的负载比率;
7.以将所述负载比率调整至预置的期望比率为目标,计算所述备用设备和所述目标设备之间的任务分发比例;
8.按照所述任务分发比例,将待处理规则任务分发至所述目标设备和/或所述备用设备上,以由所述目标设备和所述备用设备按比例分担所述待处理规则任务。
9.本技术实施例还提供一种规则引擎设备,包括存储器、处理器和通信组件;
10.所述存储器用于存储一条或多条计算机指令;
11.所述处理器与所述存储器和所述通信组件耦合,用于执行所述一条或多条计算机指令,以用于:
12.响应于任务分发指令,监测为所述目标设备所配置的备用设备与所述目标设备之间的负载比率;
13.以将所述负载比率调整至预置的期望比率为目标,计算所述备用设备和所述目标设备之间的任务分发比例;
14.按照所述任务分发比例,将待处理规则任务分发至所述目标设备和/或所述备用设备上,以由所述目标设备和所述备用设备按比例分担所述待处理规则任务。
15.本技术实施例还提供一种存储计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行前述的规则引擎调整方法。
16.在本技术实施例中,可为运行规则引擎的目标设备配置备用设备,还为规则引擎增加了规则任务分发能力,这样,可通过主备双机的方式来分担待处理的规则任务。而在确定分担方案的过程中,可监测备用设备与目标设备之间的负载比率;以将负载比率调整至预置的期望比率为目标,计算备用设备和目标设备之间的任务分发比例;并按照任务分发比例,将待处理规则任务分发至目标设备和/或备用设备上,以由目标设备和备用设备按比例分担待处理规则任务。据此,本技术实施例中,对规则引擎进行了优化,且引入备用设备来帮助目标设备分担规则任务处理工作,从而可有效改善规则引擎的稳定性和/或可用性,且可从负载比率的维度来提高备用设备在规则任务处理工作中的使用率,进而有效提高规则任务的处理效率。
附图说明
17.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
18.图1为本技术一示例性实施例提供的一种规则引擎的调整的流程示意图;
19.图2为本技术一示例性实施例提供的规则引擎的调整逻辑示意图;
20.图3为本技术另一示例性实施例提供的一种规则引擎设备的结构示意图。
具体实施方式
21.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
22.目前,规则任务被分配到规则引擎后,经常存在处理效率不足的问题,给应用程序的整体运行效率造成了不良影响。为此,本技术的一些实施例中:可为运行规则引擎的目标设备配置备用设备,还为规则引擎增加了规则任务分发能力,这样,可通过主备双机的方式来分担待处理的规则任务。在确定分担方案的过程中,可监测备用设备与目标设备之间的负载比率;以将负载比率调整至预置的期望比率为目标,计算备用设备和目标设备之间的任务分发比例;并按照任务分发比例,将待处理规则任务分发至目标设备和/或备用设备上,以由目标设备和备用设备按比例分担待处理规则任务。据此,本技术实施例中,对规则引擎进行了优化,且引入备用设备来帮助目标设备分担规则任务处理工作,从而可有效改善规则引擎的稳定性和/或可用性,且可从负载比率的维度来提高备用设备在规则任务处理工作中的使用率,进而有效提高规则任务的处理效率。
23.以下结合附图,详细说明本技术各实施例提供的技术方案。
24.图1为本技术一示例性实施例提供的一种规则引擎的调整的流程示意图,图2为本技术一示例性实施例提供的规则引擎的调整逻辑示意图。该方法可由规则引擎执行,该规则引擎可运行在目标设备中。参考图1,该方法可包括:
25.步骤100、响应于任务分发指令,监测为目标设备所配置的备用设备与目标设备之间的负载比率;
26.步骤101、以将负载比率调整至预置的期望比率为目标,计算备用设备和目标设备
之间的任务分发比例;
27.步骤102、按照任务分发比例,将待处理规则任务分发至目标设备和/或备用设备上,以由目标设备和备用设备按比例分担待处理规则任务。
28.本实施例提供的规则引擎调整方法可应用于单机式规则引擎的场景,也即是,只有一台设备承担规则任务处理工作的场景,例如,企业自身部署的规则引擎服务器等,在这种情况下,待处理规则任务可以是规则引擎在应用场景中感知到的需要处理的规则任务;也可应用于分布式规则引擎场景中,在这种情况下,待处理规则任务可以是通过现有的负载均衡方式、任务分发方式等调度工作结束后,分配到本实施例中规则引擎上的规则任务。
29.无论是哪种场景,本实施例中,均可通过调整后的规则引擎有效改善待处理规则任务的处理效率。
30.本实施例中,规则任务是指运行规则逻辑的任务,处理规则任务则可以是指运行规格任务所对应的规则逻辑。
31.其中,规则引擎可运行在目标设备上,本实施例中,创新性地提出为目标设备配置备用设备,并基于主备双机的结构来承接规则任务。参考图2,目标设备和备用设备上可同时部署规则引擎。参考图2,规则引擎可包含规则任务分发模块、规则任务执行模块和规则逻辑库。其中,规则任务分发模块主要用于承担本实施例中涉及到的负载指标计算、负载比率计算、任务分发比例计算、按照任务分发比例分发待处理规则任务等逻辑功能;规则任务执行模块则主要用于承担规则任务处理功能;规则逻辑库中则可全量维护子任务的规则逻辑以供规则任务执行模块调用。目标设备和备用设备上的规则引擎之间可通过双方的通信组件进行信息同步。目标设备和备用设备双方的规则引擎的结构可以相同;当然,也可从目标设备上运行的规则引擎中裁剪出部分必要功能而仅将裁剪出的部分比较功能复制到备用设备中运行,本实施例对此不做限定。本实施例中主要由目标设备上运行的规则引擎来图1所示的技术方案。
32.基于此,参考图1,在步骤100中,可响应于任务分发指令,监测备用设备与目标设备之间的负载比率。本实施例中的任务分发指令可以是基于周期而触发的,比如,可每200ms产生一次任务分发指令,以对单个周期期间累积的待处理规则任务进行分发;当然也可以是基于事件而触发的,比如,待处理规则任务的数量达到阈值时,可触发产生任务分发指令,以对累积的待处理规则任务进行分发,这些也仅是示例性的,本实施例对任务分发指令的触发方式不做限定。
33.其中,目标设备上运行的规则引擎可计算目标设备对应的负载指标,负载指标用于表示设备的负载情况;备用设备上运行的规则引擎可计算备用设备对应的负载指标并同步至目标设备,这样,目标设备可获取到备用设备对应的负载指标。参考图2,备用设备和目标设备之间可基于双方的通信组件来实现负载指标的同步。基于此,可将备用设备和目标设备之间的负载指标比值,作为目标设备与为其所配置的备用设备之间的负载比率。一种计算负载指标的示例性方案可以是:对本机的cpu负载率、内存使用率或i/o速率中的一种或多种指标进行加权求和,以获得本机的负载指标。其中,cpu负载率的取值范围可以是0~1,可按照硬件最大cpu核心数标定获得;内存使用率的取值范围可以是0~1,可按照硬件最大内存标定获得;i/o速率的取值范围可以是0~1,可按照硬件最大io标定获得。例如,负载指标的计算方案可表征为:
34.p=0.4r
cpu
0.2r
mem
0.3r
io
35.其中,p表示负载指标,r
cpu
表示cpu负载率,为其分配的权重为0.4;r
mem
表示内存使用率,为其分配的权重为0.2;r
io
表示i/o速率,为其分配的权重为0.3。应当理解的是,这里的权重赋值进行示例性的。
36.在此基础上,负载比率可表征为:
37.r=p
l
/pr38.其中,r表示负载比率,p
l
表示备用设备的负载指标,pr表示目标设备的负载指标。
39.本实施例中,还可预置备用设备和目标设备之间的期望比率,也即是,期望在备用设备和目标设备之间达到的负载比率。例如,期望比率可以是1:1或者2:1等,期望比率可根据对备用设备期望的使用率来确定,当然也可按照其它维度的需求来确定,负载比率可根据实际需要进行适应性设定。
40.参考图1,在步骤101中,可以将负载比率调整至预置的期望比率为目标,计算备用设备和目标设备之间的任务分发比例。任务分发比例是指分发给目标设备的任务量与分发给备用设备的任务量之间的比例。
41.在一种可选的实现方式中,可将任务分发比例的计算过程抽象为一种闭环控制过程,并根据目标设备与备用设备之间实际的负载比率与前述期望比率之间的偏差,来调整任务分发比例,以尽量消除这种偏差。可选地,一种示例性的控制方案可以是:采用pid控制技术,以监测到的负载比率作为实际值,以期望比率作为期望值,以任务分发比例作为控制值;通过引入比例系数、积分系数和微分系数,计算备用设备和目标设备之间的任务分发比例。据此,任务分发比例的计算过程可表征为:
42.uk=u
k-1
k
p
[(r
k-r
t
)-(r
k-1-r
t
)] ki(r
k-r
t
) kd[(r
k-r
t
)-2(r
k-1-r
t
) (r
k-2-r
t
)]
[0043]
其中,k
p
、ki和kd分别为pid控制技术中的比例参数、积分参数和微分参数,一种示例性的取值可分别为0.2、0.1、0.3,当然,这仅是示例性的;r
t
表示期望比率,rk、r
k-1
和r
k-2
分别表示最近一次、上一次、上上次计算得到的负载比率;uk表示本次分发过程中的任务分发比例,u
k-1
表示上一个分发过程中计算出的任务分发比例,u0=r
t

[0044]
在该实现方式中,除了可采用pid控制技术计算任务分发比例外,还可采用其它类似的控制技术,例如模糊控制等,在此不做穷举。
[0045]
另外,本实施例中,计算任务分发比例的方式也并不限于上述示例性的实现方式,还可采用诸如神经网络、机器学习等方式来计算备用设备和目标设备之间的任务分发比例,以达到负载比率调整至预置的期望比率的目标,本实施例并不限于此。
[0046]
这里需要强调的是,本实施例中的负载比率、任务分发比例等并不限定必须是目标设备与备用设备比还是备用设备与目标设备比,本实施例中,可灵活选择,只需保证各个环节中采用的比对顺序一致即可,比如,各个环节可统一采用【备用设备:目标设备】,也即是备用设备作为分子,目标设备作为分母这种方式,后文中也将默认按次比对顺序来描述其它环节中的技术逻辑。当应当理解的是,本实施例并不限于此,采用【目标设备:备用设备】时,只需在后文中的相关技术逻辑中进行适应性修改即可。
[0047]
在此基础上,参考图1,在步骤102中,可按照任务分发比例,将待处理规则任务分发至目标设备和/或备用设备上,以由目标设备和备用设备按比例分担待处理规则任务。也即是,由目标设备承担一部分任务量,由备用设备承担另一部分任务量。可知,本实施例中,
备用设备不再如传统的备用机那样仅在主机发生故障时才发挥作用,而是主动为目标设备分担了一部分规则任务处理工作,这不仅可降低目标设备的任务处理压力,提高任务处理效率,还可提高备用设备的使用率,避免备用设备上处理资源的闲置/浪费。
[0048]
本实施例中,创新性地提出可以子任务作为分发单位进行待处理规则任务的分发。为此,本实施例中,可将单条待处理规则任务拆分为触发子任务、条件子任务和行为子任务,其中,触发子任务用于配置规则任务的触发源且监听是否发生了可触发规则任务的触发事件,可支持定时触发、事件触发等触发形式,例如,目标设备接收到指定数据时,可触发指定规则任务,目标设备的系统内部上报指定数据时,可触发指定规则任务等。条件子任务用于配置条件判断逻辑并判断数据/状态是否满足条件,进而决定是否执行关联的行为子任务。行为子任务则用于配置操作行为并在条件子任务的指示下执行操作行为。一项示例性的规则逻辑可以是:触发源为当前上报的时间,条件为当前时间为周三且为12月,行为则是向plc写入一个标识位并产生一条日志。这样,触发子任务可用于监听是否收到上报的时间,如果收到则可触发该规则逻辑对应的规格任务;条件子任务可用于判断当前事件是否为周三且为12月,如果满足条件,则可决定执行规则逻辑中的操作行为;行为子任务则可用于根据条件子任务的输出结果决定是否执行相关的操作行为。本实施例中,触发子任务、条件子任务和行为子任务可分别包含多项子逻辑,子逻辑之间可以是与、或等逻辑关系。例如,前面示例的规则逻辑中,条件子任务中包含两项子逻辑:“当前时间是否为周三”、“当前事件是否为12月”,两项子逻辑之间是和的关系。本实施例中,可由目标设备上的规则引擎来对待处理规则任务中各个子任务中各项子逻辑的增删改操作,以维护待处理规则任务的规则逻辑,并可将维护结果同步给备用设备。参考图2,备用设备和目标设备之间可通过双方的通信组件实现规则逻辑维护结果的同步。
[0049]
另外,本实施例中,目标设备中的规则引擎可将监测到相应触发事件的触发子任务所属的规则任务确定为待处理规则任务。也即是,当规则引擎中的任意触发子任务监测到自身关注的触发事件发生时,规则引擎可激活该触发子任务所属的规则任务,作为待处理规则任务。实际应用中,可将激活的规则任务缓存至待处理规则任务队列中。当然,在前述的分布式规则引擎场景中,这里的触发子任务可能已经在其它环节执行完毕,目标设备分配到的均是已经可激活的规则任务了,这种情况下,目标设备中的规则引擎可无需再执行触发子任务,触发子任务可以被闲置或删除。
[0050]
而且,本实施例中,在备用设备和目标设备之间分发的子任务通常不包含触发子任务,而主要包含条件子任务和行为子任务,而且,在子任务的分发过程中,本实施例中可遵循同一规则任务优先运行在同一设备上的原则,为此,本实施例中,可为各个子任务配置任务标识,以体现各个子任务之间的关联关系,同一规则任务中的各个子任务将具有相同的任务标识。本实施例中,还可分别为各个子任务配置处理位置标识,以用于示意子任务是否需要固定在目标设备上处理。也即是,本实施例中可根据实际需要,为各个子任务指定处理位置固定在目标设备上或备用设备上。例如,有些子任务必须依赖目标设备内部的系统数据,则可指定这些子任务固定在目标设备上处理;或者,有些子任务必须依赖备用设备的运行环境,则可指定这些子任务固定在备用设备上处理,等。
[0051]
基于此,本实施例中,目标设备上运行的规则引擎可按照任务分发比例,以子任务为分发单位,将待处理的条件子任务和行为子任务分发至目标设备和/或备用设备。以下提
供两种示例性的以子任务为分发单位的分发方案:
[0052]
在一种示例性的分发方案中:
[0053]
计算不需要固定在目标设备上处理的第一类待处理规则任务和需要固定在目标设备上处理的第二类待处理规则任务之间的比例,作为初始分发比例,其中,单条第二类待处理规则任务中包含需要固定在目标设备上处理的条件子任务和/或行为子任务;若初始分发比例小于任务分发比例,则将第一类待处理规则和从第二类待处理规则任务中选取的第一指定数量的不需要固定在目标设备上处理的条件子任务和/或行为子任务交由备用设备处理;其中,第一指定数量是以将分发至目标设备和备用设备上的子任务数量之间的比值趋近于任务分发比例为调整目标而确定出的。
[0054]
在该示例性的分发方案中,备用设备和目标设备之间的初始分发比例可表征为:
[0055]u′k=(n-n1)/n1[0056]
其中,n表示待处理规则任务的总数,n1表示需要固定在目标设备上处理的第二类待处理规则任务的数量,u
k’表示初始分发比例。
[0057]
在该示例性方案中可根据初始分发比例与步骤101中计算出的任务分发比例之间的大小关系来对初始的分发方案进行调整:
[0058]
若初始分发比例小于任务分发比例,表示需要将初始分发给目标设备的任务量减少一些,则可将第一类待处理规则和从第二类待处理规则任务中选取的第一指定数量的不需要固定在目标设备上处理的条件子任务和/或行为子任务交由备用设备处理。其中,第一指定数量可以表征为:
[0059]
2n
1-2n/(1 uk)
[0060]
若初始分发比例大于任务分发比例,则以规则任务为单位,从第一类待处理规则任务中选取的第二指定数量的规则任务后,将第一类待处理规则任务中的剩余规则任务交由备用设备处理;其中,第二指定数量是以将分发至目标设备和备用设备上的待处理规则任务数量之间的比值趋近于任务分发比例为调整目标而确定出的。在这种情况下,直接以规则任务作为调整单位,主要是希望将同一规则任务中的子任务分发至同一设备中处理。其中,第二指定数量可表征为:
[0061]
n/(1 uk)-n1[0062]
其中,上述确定第一指定数量和第二指定数量过程中如果无法计算出整数,可进行取整操作,以获得调整结果。通过上述两种情况下的任务量调整,可使备用设备与目标设备各自的任务量趋近于任务分发比例。
[0063]
在另一种示例性的分发方案中:
[0064]
可计算不需要固定在目标设备上处理的第一类子任务和需要固定在目标设备上处理的第二类子任务之间的比例,作为初始分发比例,其中,第一类子任务和第二类子任务中均包含条件子任务和/或行为子任务;若初始分发比例大于任务分发比例,从第一类子任务中选取第三指定数量的子任务后,将第一类子任务中剩余的子任务交由备用设备处理;其中,从第一类子任务选取中的指定数量的子任务中优选包含与第二类子任务中的任意子任务存在关联关系的子任务;第三指定数量是以将分发至目标设备和备用设备上的子任务数量之间的比值趋近于任务分发比例为调整目标而确定出的。
[0065]
该示例性的分发方案与前一种示例性的分发方案的不同之处在于对初始分发比
例的定义方式不同。在该示例性的分发方案中,直接从子任务的维度来定义初始分发比例,而考虑到希望将同一规则任务中的子任务分发至同一设备中进行处理的原则,在该示例性的分发方案中,在将初始分发至备用设备的子任务进行减少的过程中,优先选取与初始分发至目标设备中的任意子任务处于同一规则任务的那些子任务来重新分发给目标设备,这使得需要固定运行在目标设备上的子任务所属的规则任务可整体由目标设备来处理。
[0066]
上述两种示例性的分发方案中均涉及到需要固定在目标设备上处理的子任务,原则上这部分子任务将不会被调整为分发至备用设备,而这可能造成重新分发后产生的分发比例并不能完全等于步骤101中计算出的任务分发比例。应当理解的是,在实际应用中,这种差距是可以接受的。
[0067]
当然,上述两种示例性的分发方案进行示例性的,本实施例中还可采用其它分发方案来按照任务分发比例确定分发至目标设备和备用设备上的任务量,在此不再穷举。
[0068]
本实施例中,在确定出需要分发至目标设备的子任务以及需要分发至备用设备的子任务之后,目标设备上的规则引擎可将需要分发至备用设备的条件子任务和/或行为子任务对应的任务信息提供给备用设备,以供备用设备从其上的规则逻辑库中调用相关的子任务规则逻辑以处理相关的子任务。其中,任务信息中可包括但不限于任务标识、已完成处理的相关子任务的处理结果、输入数据或时间戳等。具体地,参考图2,目标设备和备用设备之间可通过各自的通信组件来同步任务信息。除了目标设备需要向备用设备提供任务信息外,备用设备也可能需要向目标设备提供任务信息,例如,若目标设备上存在与分发到备用设备上的条件子任务关联的行为子任务,则备用设备需要条件子任务的任务信息提供给目标设备。
[0069]
据此,本实施例中,可为运行规则引擎的目标设备配置备用设备,还为规则引擎增加了规则任务分发能力,这样,可通过主备双机的方式来分担待处理的规则任务。而在确定分担方案的过程中,可监测备用设备与目标设备之间的负载比率;以将负载比率调整至预置的期望比率为目标,计算备用设备和目标设备之间的任务分发比例;并按照任务分发比例,将待处理规则任务分发至目标设备和/或备用设备上,以由目标设备和备用设备按比例分担待处理规则任务。据此,本实施例中,对规则引擎进行了优化,且引入备用设备来帮助目标设备分担规则任务处理工作,从而可有效改善规则引擎的稳定性和/或可用性,且可从负载比率的维度来提高备用设备在规则任务处理工作中的使用率,进而有效提高规则任务的处理效率。
[0070]
需要说明的是,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如801、802等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的数量等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
[0071]
图3为本技术另一示例性实施例提供的一种规则引擎设备的结构示意图。如图3所示,该规则引擎设备可包括:存储器30、处理器31以及通信组件32。图3所示的规则引擎设备可作为图2中的目标设备。
[0072]
这种情况下,处理器31与存储器30和通信组件32耦合,用于执行存储器30中的计
算机程序,以用于:
[0073]
响应于任务分发指令,监测为目标设备所配置的备用设备与目标设备之间的负载比率;
[0074]
以将负载比率调整至预置的期望比率为目标,计算备用设备和目标设备之间的任务分发比例;
[0075]
按照任务分发比例,将待处理规则任务分发至目标设备和/或备用设备上,以由目标设备和备用设备按比例分担待处理规则任务。
[0076]
在一可选实施例中,单条待处理规则任务中包含条件子任务和行为子任务,处理器31在按照任务分发比例,将待处理规则任务分发至目标设备和/或备用设备的过程中,用于:
[0077]
按照任务分发比例,以子任务为分发单位,将待处理的条件子任务和行为子任务分发至目标设备和/或备用设备。
[0078]
在一可选实施例中,处理器31在将待处理的条件子任务和行为子任务分发至目标设备和/或备用设备的过程中,用于:
[0079]
计算不需要固定在目标设备上处理的第一类待处理规则任务和需要固定在目标设备上处理的第二类待处理规则任务之间的比例,作为初始分发比例,其中,单条第二类待处理规则任务中包含需要固定在目标设备上处理的条件子任务和/或行为子任务;
[0080]
若初始分发比例小于任务分发比例,则将第一类待处理规则和从第二类待处理规则任务中选取的第一指定数量的不需要固定在目标设备上处理的条件子任务和/或行为子任务交由备用设备处理;
[0081]
其中,第一指定数量是以将分发至目标设备和备用设备上的子任务数量之间的比值趋近于任务分发比例为调整目标而确定出的。
[0082]
在一可选实施例中,处理器31还用于:
[0083]
若初始分发比例大于任务分发比例,则以规则任务为单位,从第一类待处理规则任务中选取的第二指定数量的规则任务后,将第一类待处理规则任务中的剩余规则任务交由备用设备处理;
[0084]
其中,第二指定数量是以将分发至目标设备和备用设备上的待处理规则任务数量之间的比值趋近于任务分发比例为调整目标而确定出的。
[0085]
在一可选实施例中,处理器31在将待处理的条件子任务和行为子任务分发至目标设备和/或备用设备的过程中,用于:
[0086]
计算不需要固定在目标设备上处理的第一类子任务和需要固定在目标设备上处理的第二类子任务之间的比例,作为初始分发比例,其中,第一类子任务和第二类子任务中均包含条件子任务和/或行为子任务;
[0087]
若初始分发比例大于任务分发比例,从第一类子任务中选取第三指定数量的子任务后,将第一类子任务中剩余的子任务交由备用设备处理;
[0088]
其中,从第一类子任务选取中的指定数量的子任务中优选包含与第二类子任务中的任意子任务存在关联关系的子任务。
[0089]
在一可选实施例中,处理器31在将条件子任务和/或行为子任务交由备用设备处理的过程中,用于:
[0090]
通过通信组件将分发至备用设备的条件子任务和/或行为子任务对应的任务信息提供给备用设备,以供备用设备从其上的规则逻辑库中调用相关的子任务规则逻辑以处理相关的子任务。
[0091]
在一可选实施例中,任务信息中包含任务标识、已完成处理的相关子任务的处理结果、输入数据和时间戳中的一种或多种。
[0092]
在一可选实施例中,处理器31还用于:
[0093]
预先为各个子任务配置处理位置标识,以用于示意子任务是否需要固定在目标设备上处理。
[0094]
在一可选实施例中,处理器31在以将负载比率调整至预置的期望比率为目标,计算备用设备和目标设备之间的任务分发比例的过程中,用于:
[0095]
采用pid控制技术,以监测到的负载比率作为实际值,以期望比率作为期望值,以任务分发比例作为控制值;通过引入比例系数、积分系数和微分系数,计算备用设备和目标设备之间的任务分发比例。
[0096]
在一可选实施例中,单项规则任务中包含触发子任务,处理器31还用于:
[0097]
将监测到相应触发事件的触发子任务所属的规则任务确定为待处理规则任务。
[0098]
在一可选实施例中,处理器31在监测为目标设备所配置的备用设备与目标设备之间的负载比率的过程中,用于:
[0099]
计算目标设备对应的负载指标,负载指标用于表示设备的负载情况;
[0100]
获取备用设备对应的负载指标;
[0101]
将备用设备和目标设备之间的负载指标比值,作为负载比率。
[0102]
进一步,如图3所示,该规则引擎设备还包括:电源组件33等其它组件。图3中仅示意性给出部分组件,并不意味着规则引擎设备只包括图3所示组件。
[0103]
值得说明的是,上述关于规则引擎设备各实施例中的技术细节,可参考前述的方法实施例中关于目标设备上运行的规则引擎的相关描述,为节省篇幅,在此不再赘述,但这不应造成本技术保护范围的损失。
[0104]
另外,图3所示的规则引擎设备还可作为图2中为目标设备配置的备用设备,这种情况下,图3中的处理器可用于执行前述方法实施例中提到的负载指标计算、子任务处理等技术逻辑,图3中的通信组件可用于向目标设备同步任务信息、负载指标等内容。相关的技术细节,可参考前述的方法实施例中关于备用设备的相关描述,为节省篇幅,在此不再赘述,但这不应造成本技术保护范围的损失。
[0105]
相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由规则引擎设备执行的各步骤。
[0106]
上述图3中的存储器,用于存储计算机程序,并可被配置为存储其它各种数据以支持在计算平台上的操作。这些数据的示例包括用于在计算平台上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0107]
上述图3中的通信组件,被配置为便于通信组件所在设备和其他设备之间有线或
无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如wifi,2g、3g、4g/lte、5g等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
[0108]
上述图3中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
[0109]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0110]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0111]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0112]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0113]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0114]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0115]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备
或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0116]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0117]
以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献