【技术实现步骤摘要】
本专利技术总体上涉及规则集的执行,更具体地,本专利技术涉及更新规则的优先级以对规则集执行进行排序的方法及相关系统和计算机程序产品。
技术介绍
在现代的生产活动中,管理者需要制定业务规则来对生产活动进行经营管理。此 处生产活动的含义很广泛,可以包含例如银行系统的储蓄服务、商场的销售策略、物流 公司的货物装载、网络安全策略、电子邮件中对垃圾邮件的过滤管理,等等。在各种不同的 领域中,管理者可以制定不同的业务规则。例如,在商场的销售策略中,业务规则可以包括 规则1 :铜牌客户并且当日消费满3000元,直接升为金牌客户;规则2 :银牌客户并且当日 消费满1000元,升为金牌客户;规则3 :金牌客户的优惠折扣是70%等。又如,在网络安全 策略中,可以建立防火墙规则来保护网络,这些防火墙规则例如可以是拒绝所有外面传入 的、向外的和转发的包;允许所有外传的TCP连接;允许外发的TCP连接的返回封包通过防 火墙,需检查封包的状态;等等。 将上面提到的这些业务规则采用逻辑上可执行的方式来表述,也即转换为处理器 可以执行的计算机语言,就可以通过业务规则管理器来使管理者方便地管理规则逻辑,从 而能够灵活地定制业务策略来满足随外部条件不断变化的业务需求。 现有技术中已经存在一些将业务规则转换为计算机语言的工具,例如IL0G公 司的IL0G Rules组件工具。IL0G Rules主要是让用户用软件语言来描述其业务逻 辑规则,从而自动生成业务规则并对其进行集中管理。还有一个工具是微软公司的基于 VisualStudio的Workflow Foundation (WF),图1中示 ...
【技术保护点】
一种对在规则引擎中处理的规则的优先级进行更新的方法,包括步骤:针对每个实例,根据与规则引擎的运行时间性能相关的因素计算规则的优先级;以及使用所计算的优先级更新所述规则的优先级。
【技术特征摘要】
一种对在规则引擎中处理的规则的优先级进行更新的方法,包括步骤针对每个实例,根据与规则引擎的运行时间性能相关的因素计算规则的优先级;以及使用所计算的优先级更新所述规则的优先级。2. 根据权利要求1所述的方法,其中与规则引擎的运行时间性能相关的因素包括规则 之间的被依赖关系以及规则被执行的次数中的至少一个。3. 根据权利要求2所述的方法,其中在计算规则的优先级时,使得具有较多执行次数 的规则具有更高的优先级。4. 根据权利要求2或3所述的方法,其中在计算规则的优先级时,使得具有较多被依赖 关系的规则具有更高的优先级。5. 根据权利要求l-4任一所述的方法,在对所述规则的优先级更新预定次数或所处理 的业务实例达到预定数目之后,将最后更新的优先级固定下来,不再进行更新。6. 根据权利要求4所述的方法,计算规则的优先级进一步包括将N条规则Rp…,Ri,…,Rw的优先级表示为优先级矢量P,P = (Pp…,Pi, *,PN) t,N为正整数,l《i《N;对于每个实例Sj,将优先级矢量P计算为P = dXP+(l-d) XH*(Sj),其中0《d《1, H*(Sj)表示更新矢量H(Sj)的归一化矢量,计算更新矢量H(Sj)为H(Sj) = 、*E+A2*D, 其中,E为执行次数矢量,D为被依赖关系矢量,A工和A 2是权重系数。7. 根据权利要求6所述的方法,其中执行次数矢量E = (ei,…,ei,…,e,)t,当规则Ri被执行时,ei = l,否则ei = 0 ; 被依赖关系矢量D = (dp…,di,…,dN)T,初始时& = 0,当发现存在被依赖关系& — Rk 时,& = di+l,其中1《k《N, k ^ i。8. 根据权利要求4所述的方法,计算规则的优先级进一步包括将N条规则Rp…,Ri,…,Rw的优先级表示为优先级矢量P,P = (Pp…,Pi, *,PN) t,N为正整数,l《i《N;将优先级矢量P定义为P = FfXP,其中Ff表示更新矢量F的列归一化矢量,更新矢量 F是NXN维的矢量;对于每个实例Sj,通过P = dXF*XP+ (l-d) K,迭代求解优先级矢量P,其中0《d《1 , K是NX1维的矢量,K = (1/N,…,1/N,…,1/N)t,P的初始值为P = (1/N,…,1/N,…,1/N)T;更新矢量F计算为F二F+F(Sj),F的初始值为0,F(Sj) = A工 E+A 2 D,其中,E为执行次数矢量,D为被依赖关系矢量,A工和A 2是权重系数。9. 根据权利要求8所述的方法,其中执行次数矢量<formula>formula see original document page 2</formula>当对于实例Sj,规则&和Rk都被激活并执行时,l,否则ei,k = 0 ;Z d …d …d 、被依赖关系矢量£>=<formula>formula see original document page 2</formula>,初始时du = 0,当发现存在被依赖关系<formula>formula see original document page 3</formula>Ri — Rk时,di,k = di,k+l,其中1《i《N,l《k《N。10. 根据权利要求1所述的方法,其中所述规则的优先级具有初始值,该初始值是随机 设定的或者根据事先分析的规则之间的被依赖关系设定。11. 根据权利要求1所述的方法,其中在更新所述规则的优先级之后,根据更新后的优 先级对规则进行排序,使得较高优先级的规则先运行。12. —种对在规则引擎中处理的规则的优先级进行更新的系统,包括 优先级计算组件,其配置为针对每个实例,根据与规则引擎的运行时间性能相关的因素计算规则的优先级;以及更新组件,使用所...
【专利技术属性】
技术研发人员:刘铁,田春华,张浩,丁伟,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。