CN104239038A - 一种ehk规则引擎及其实现方法 - Google Patents
一种ehk规则引擎及其实现方法 Download PDFInfo
- Publication number
- CN104239038A CN104239038A CN201410423537.9A CN201410423537A CN104239038A CN 104239038 A CN104239038 A CN 104239038A CN 201410423537 A CN201410423537 A CN 201410423537A CN 104239038 A CN104239038 A CN 104239038A
- Authority
- CN
- China
- Prior art keywords
- rule
- engine
- ehk
- regulation engine
- action
- 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
Landscapes
- Train Traffic Observation, Control, And Security (AREA)
Abstract
本发明公开了一种EHK规则引擎及其实现方法,包括规则库、事实库和推理引擎,推理引擎包括模式匹配、执行计划和执行引擎,规则引擎从队列管理器中依次接收信息元,按规则的定义顺序检查信息员所带规则集中的规则,信息元中所有规则检查执行完毕后,信息元被销毁,规则引擎从队列管理器继续接收下一个信息元。本发明能根据设备的状态,智能地触发各种场景,操作由用户可以自由定义,根据特定条件来执行相关操作,且执行效率非常高。
Description
技术领域
本发明涉及计算机软件技术开发领域,具体是一种EHK规则引擎及其实现方法。
背景技术
现有的引擎规则都是基于JRuleEngine的框架,实现从自定义数据库加载规则库,并完整地实现JSR94引擎规则,且能在用户通过手机App定义完场景后自动将其转换成可被规则引擎处理的规则库。因此现有的引擎规则中所有的业务规则要通过代码预先定义好,用户无法根据自身的需求自定义不同类型的场景,业务规则之间的联动也几乎无法实现。
发明内容
本发明的目的在于提供一种EHK规则引擎及其实现方法,EHK规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策,接受数据输入,解释业务规则,并根据业务规则做出业务决策,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种EHK规则引擎,包括规则库、事实库和推理引擎,推理引擎包括模式匹配、执行计划和执行引擎,其中:
所述规则库由用户定义的一系列业务规则组成,每个业务规则包括触发条件和执行动作,业务规则由用户自定义添加,触发条件由多条“如果”语句组成;
所述事实库是被规则库调用的业务对象集合;
所述模式匹配是对规则库中的规则进行遍历,并通过事实库中对象的当前状态来判断是否满足触发规则的动作执行;
所述执行计划通过执行引擎将每个动作按执行计划的次序依次执行。
一种EHK规则引擎的实现方法,具体步骤如下:
(1)规则引擎从队列管理器中依次接收信息元,按规则的定义顺序检查信息员所带规则集中的规则;
(2)规则引擎检查第一个规则并对其条件过滤器求值,如果值为假,所有与此规则相关的动作均被忽略并继续执行下一条规则,如果第二条规则的过滤器值为真,所有与此规则相关的动作均按定义顺序执行,如果动作中包含其它现存规则集的动作,则规则引擎暂停并进入被包含的规则集,执行完毕后,规则引擎返回原来暂停处继续执行,执行完毕包含的规则集后继续执行下一条规则;
(3)信息元中所有规则检查执行完毕后,信息元被销毁,规则引擎从队列管理器继续接收下一个信息元。
与现有技术相比,本发明的有益效果是:
1.根据设备的状态,智能地触发各种场景,比如当窗帘拉上时,自动把灯光打开,或者在空气质量不好时,自动打开空气净化器等。这些操作都是用户可以自由定义,而根据特定条件来执行相关操作正是规则引擎的强项。
2.规则引擎由于采用RETE算法,可以有效地避免重复运算,执行效率非常高。
3.规则引擎把算法及数据分开,这样可以在系统升级算法时,不需要重新部署,可以通过互联网推送的方式实现远程静默升级。
附图说明
图1为EHK规则引擎及的结构图。
图2为EHK规则引擎的工作机制示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1~2,本发明实施例中,一种EHK规则引擎,包括规则库、事实库和推理引擎,推理引擎包括模式匹配、执行计划和执行引擎,其中:
所述规则库由用户定义的一系列业务规则组成,每个业务规则包括触发条件和执行动作,业务规则由用户自定义添加,并开发场景到规则库的转换器,触发条件由多条“如果”语句组成;
例如:如果乘客身高大于1.2m,执行动作由一到多条对象的方法调用组成,例如乘客需要买全票;
所述事实库是被规则库调用的业务对象集合,如乘客列表、乘务员或司机等对象;
所述模式匹配是对规则库中的规则进行遍历,并通过事实库中对象的当前状态来判断是否满足触发规则的动作执行;
所述执行计划通过执行引擎将每个动作按执行计划的次序依次执行。
一种EHK规则引擎的实现方法,具体步骤如下:
(1)规则引擎从队列管理器中依次接收信息元,按规则的定义顺序检查信息员所带规则集中的规则;
(2)规则引擎检查第一个规则并对其条件过滤器求值,如果值为假,所有与此规则相关的动作均被忽略并继续执行下一条规则,如果第二条规则的过滤器值为真,所有与此规则相关的动作均按定义顺序执行,如果动作中包含其它现存规则集的动作,则规则引擎暂停并进入被包含的规则集,执行完毕后,规则引擎返回原来暂停处继续执行,执行完毕包含的规则集后继续执行下一条规则;
(3)信息元中所有规则检查执行完毕后,信息元被销毁,规则引擎从队列管理器继续接收下一个信息元。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (2)
1.一种EHK规则引擎,其特征在于,包括规则库、事实库和推理引擎,推理引擎包括模式匹配、执行计划和执行引擎,其中:
所述规则库由用户定义的一系列业务规则组成,每个业务规则包括触发条件和执行动作,业务规则由用户自定义添加;
所述事实库是被规则库调用的业务对象集合;
所述模式匹配是对规则库中的规则进行遍历,并通过事实库中对象的当前状态来判断是否满足触发规则的动作执行;
所述执行计划通过执行引擎将每个动作按执行计划的次序依次执行。
2.一种如权利要求1所述的EHK规则引擎的实现方法,其特征在于,具体步骤如下:
(1)规则引擎从队列管理器中依次接收信息元,按规则的定义顺序检查信息员所带规则集中的规则;
(2)规则引擎检查第一个规则并对其条件过滤器求值,如果值为假,所有与此规则相关的动作均被忽略并继续执行下一条规则,如果第二条规则的过滤器值为真,所有与此规则相关的动作均按定义顺序执行,如果动作中包含其它现存规则集的动作,则规则引擎暂停并进入被包含的规则集,执行完毕后,规则引擎返回原来暂停处继续执行,执行完毕包含的规则集后继续执行下一条规则;
(3)信息元中所有规则检查执行完毕后,信息元被销毁,规则引擎从队列管理器继续接收下一个信息元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410423537.9A CN104239038A (zh) | 2014-08-26 | 2014-08-26 | 一种ehk规则引擎及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410423537.9A CN104239038A (zh) | 2014-08-26 | 2014-08-26 | 一种ehk规则引擎及其实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104239038A true CN104239038A (zh) | 2014-12-24 |
Family
ID=52227181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410423537.9A Pending CN104239038A (zh) | 2014-08-26 | 2014-08-26 | 一种ehk规则引擎及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104239038A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701242A (zh) * | 2016-02-26 | 2016-06-22 | 浪潮通信信息系统有限公司 | 一种可扩展的智能移动终端动态规则检测引擎 |
CN107862328A (zh) * | 2017-10-31 | 2018-03-30 | 平安科技(深圳)有限公司 | 信息元集合生成方法及基于规则引擎的规则执行方法 |
CN107864174A (zh) * | 2017-07-03 | 2018-03-30 | 华南理工大学 | 一种基于规则的物联网设备联动方法 |
CN108399176A (zh) * | 2017-02-07 | 2018-08-14 | 阿里巴巴集团控股有限公司 | 一种基于规则的数据处理方法及规则引擎装置 |
CN109814850A (zh) * | 2017-11-20 | 2019-05-28 | 上海宝信软件股份有限公司 | 基于规则引擎和几何优化的智能库位推荐系统及方法 |
CN115080145A (zh) * | 2022-06-17 | 2022-09-20 | 重庆长安汽车股份有限公司 | 基于汽车实场景下行为动作流转方法、系统、汽车、设备及存储介质 |
-
2014
- 2014-08-26 CN CN201410423537.9A patent/CN104239038A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701242A (zh) * | 2016-02-26 | 2016-06-22 | 浪潮通信信息系统有限公司 | 一种可扩展的智能移动终端动态规则检测引擎 |
CN108399176A (zh) * | 2017-02-07 | 2018-08-14 | 阿里巴巴集团控股有限公司 | 一种基于规则的数据处理方法及规则引擎装置 |
CN107864174A (zh) * | 2017-07-03 | 2018-03-30 | 华南理工大学 | 一种基于规则的物联网设备联动方法 |
CN107864174B (zh) * | 2017-07-03 | 2021-07-20 | 华南理工大学 | 一种基于规则的物联网设备联动方法 |
CN107862328A (zh) * | 2017-10-31 | 2018-03-30 | 平安科技(深圳)有限公司 | 信息元集合生成方法及基于规则引擎的规则执行方法 |
WO2019085075A1 (zh) * | 2017-10-31 | 2019-05-09 | 平安科技(深圳)有限公司 | 信息元集合生成方法及基于规则引擎的规则执行方法 |
CN109814850A (zh) * | 2017-11-20 | 2019-05-28 | 上海宝信软件股份有限公司 | 基于规则引擎和几何优化的智能库位推荐系统及方法 |
CN115080145A (zh) * | 2022-06-17 | 2022-09-20 | 重庆长安汽车股份有限公司 | 基于汽车实场景下行为动作流转方法、系统、汽车、设备及存储介质 |
CN115080145B (zh) * | 2022-06-17 | 2024-07-05 | 重庆长安汽车股份有限公司 | 基于汽车实场景下行为动作流转方法、系统、汽车、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104239038A (zh) | 一种ehk规则引擎及其实现方法 | |
US10977739B2 (en) | Risk identification model building and risk identification | |
US20210319329A1 (en) | Method and apparatus for generating knowledge graph, method for relation mining | |
US9755942B2 (en) | Method and system for monitoring conditions in a dynamic network environment | |
CN104067226A (zh) | 代码变化的持续部署 | |
CN104217161A (zh) | 一种病毒扫描方法及系统、终端设备 | |
Pill et al. | Optimizations for the boolean approach to computing minimal hitting sets | |
KR20180054726A (ko) | 컴퓨팅 디바이스들에서 프로세스들에 대한 소프트웨어 공격들의 검출 | |
CN113792341B (zh) | 应用程序的隐私合规自动化检测方法、装置、设备及介质 | |
CN105302566A (zh) | 一种进程优化方法及系统 | |
WO2016127577A1 (zh) | 一种处理事件的方法及装置 | |
CN104021352A (zh) | 将应用使用数据隔离的方法及系统 | |
CN112750030A (zh) | 风险模式识别方法、装置、设备及计算机可读存储介质 | |
CN108037932B (zh) | Spi-nand的配置文件获取方法和装置 | |
Fehling-Kaschek et al. | A systematic tabular approach for risk and resilience assessment and Improvement in the telecommunication industry | |
CN105718772A (zh) | 权限模式选择方法及装置 | |
CN104010078B (zh) | 终端对已拦截信息的处理方法及设备 | |
CN103793232A (zh) | 一种基于aop的构件调用和扩展框架实现方法 | |
CN115796228A (zh) | 算子融合方法、装置、设备以及存储介质 | |
JP2016162291A (ja) | プロセス抽出装置、プロセス抽出方法、及びプログラム | |
CN107154951B (zh) | 一种虚拟化网络应用功能单元vnf伸缩管理方法及装置 | |
CN111009025B (zh) | 骨骼动画的隐藏方法、装置及设备 | |
CN110555307B (zh) | 识别和处理伪装型系统动态库的方法、装置、设备及介质 | |
CN107229472A (zh) | 一种界面切换方法及装置、计算机装置和可读存储介质 | |
Yokomori et al. | Extensions of component rank model by taking into account for clone relations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141224 |