规则引擎的初探

标签: 无法定义 | 发表时间:2013-07-05 18:39 | 作者:标点符
出处:http://www.biaodianfu.com

一、什么是规则引擎

规则引擎起源于基于规则的专家系统,而基于规则的专家系统又是专家系统的其中一个分支。专家系统属于人工智能的范畴,它模仿人类的推理方式,使用试探性的方法进行推理,并使用人类能理解的术语解释和证明它的推理结论。利用它就可以在应用系统中分离商业决策者的商业决策逻辑和应用开发者的技术决策,并把这些商业决策放在中心数据库或其他统一的地方,让它们能在运行时可以动态地管理和修改,从而为企业保持灵活性和竞争力提供有效的技术支持。简单地说:让程序的业务逻辑可以通过规则配置进行处理。

规则引擎系统通常包括规则库、待处理池、推理引擎(模块匹配及执行模块),在执行过程中数据被送入到待处理池,推理引擎根据具体的算法将待处理池中的数据对象和规则库中的规则进行比较,得到符合条件的匹配规则并执行。作为BRMS核心的规则执行引擎,规则条件匹配的算法及效率即决定了规则引擎的性能。

二、规则引擎有什么作用

应用场景:

  1. 为提高效率,管理流程必须自动化,即使现代商业规则异常复杂。
  2. 市场要求业务规则经常变化,系统必须依据业务规则的变化快速、低成本的更新。
  3. 为了快速、低成本的更新,业务人员应能直接管系统中的规则,不需要程序开发人员参与。

作用与优点:

  • 将业务规则与业务系统分离,解耦合;
  • 实现自然语言描述规则逻辑,业务人员易于理解;
  • 可视化的规则定制、审批、查询及管理;
  • 能有效的提高实现复杂逻辑的代码的可维护性;
  • 应付特殊状况,即客户一开始没有提到要将业务逻辑考虑在内;
  • 符合组织对敏捷或迭代开发过程的使用;

三、哪些项目适合规则引擎

目前中国移动的BOSS系统、企业应用的ERP、CRM以及电子商务的销售系统及营销系统等。

rule-engine

四、目前成熟的方案

Drools: http://www.jboss.org/drools/,不懂JAVA,现在连怎么部署都不知道,期待有高人可以帮忙指导下!

相关 [规则 引擎] 推荐:

规则引擎的初探

- - 标点符
规则引擎起源于基于规则的专家系统,而基于规则的专家系统又是专家系统的其中一个分支. 专家系统属于人工智能的范畴,它模仿人类的推理方式,使用试探性的方法进行推理,并使用人类能理解的术语解释和证明它的推理结论. 利用它就可以在应用系统中分离商业决策者的商业决策逻辑和应用开发者的技术决策,并把这些商业决策放在中心数据库或其他统一的地方,让它们能在运行时可以动态地管理和修改,从而为企业保持灵活性和竞争力提供有效的技术支持.

Java规则引擎与其API(JSR-94)

- - 行业应用 - ITeye博客
本文对Java规则引擎与其API(JSR-94)及相关实现做了较详细的介绍,对其体系结构和API应用有较详尽的描述,并指出Java规则引擎,规则语言,JSR-94的相互关系,以及JSR-94的不足之处和展望. 复杂企业级项目的开发以及其中随外部条件不断变化的业务规则(business logic),迫切需要分离商业决策者的商业决策逻辑和应用开发者的技术决策,并把这些商业决策放在中心数据库或其他统一的地方,让它们能在运行时(即商 务时间)可以动态地管理和修改从而提供软件系统的柔性和适应性.

基于准实时规则引擎的业务风控方案

- - Howborn个人笔记
在当今复杂的互联网环境下,我们的系统时时刻刻都暴露在风险(刷单党、羊毛党)的攻击之中,如果我们不采取有效防御措施,那么这些风险就会对业务造成很大的损失. 用公式可以表达出风控规则和风险数据的系统关系:z=f(x, y),f 为系统风控规则,x 为系统实时输入风险数据,y 为系统的事实数据. 基于大数据实时计算和可热更新的通用规则引擎,搭建一套业务风控系统.

html嵌套规则

- - Web前端 - ITeye博客
转载: http://www.studyofnet.com/news/412.html. 一、HTML 标签包括 块级元素(block)、内嵌元素(inline). 一般用来搭建网站架构、布局、承载内容……它包括以下这些标签:. 一般用在网站内容之中的某些细节或部位,用以“强调、区分样式、上标、下标、锚点”等等,下面这些标签都属于内嵌元素:.

wireshark过滤规则

- - CSDN博客推荐文章
WireShark 过滤 语法  . 过 滤 IP,如来源IP或者目标IP等于某个IP. ip.addr eq 192.168.1.107 // 都能显示来源IP和目标IP. tcp.port eq 80 // 不管端口是来源的还是目标的都显示. tcp.dstport == 80 // 只显tcp协议的目标端口80.

JS游戏引擎

- 米随随 - HTML5研究小组
If you don’t have anything better to do and want to help fellow redditors interested in JS game dev out, feel free to fork the list and modify it as you like.

mysql 引擎优化

- - CSDN博客推荐文章
MySQL数 据库引擎取决于MySQL在安装的时候是如何被编译的. 要添加一个新的引擎,就必须重新编译MYSQL. 在缺省情况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP. 另外两种类型INNODB和BERKLEY(BDB),也常常可以使用. 如果技术高超,还可以使用MySQL++ API自己做一个引擎.

谈流程引擎

- - 人月神话的BLOG
在分布式的架构中,流程引擎和权限引擎也不适合分离构建,两者之间的耦合度相当高,一个好的流程引擎首先要依赖于一个完善的权限模型和架构,其中包括了细粒度的数据权限控制等. 流程引擎中会产生动态权限控制,动态权限和静态权限的区别是静态权限是固定的,而动态权限是跟随流程节点的执行动态变化的,如当你处理到某个流程节点的时候,你对某个工单有查看权限,但是一旦审核或处理完成后,即权限自动回收.

Reid Hoffman:创业十规则

- Susie - 互联网的那点事
LinkedIn 的创始人和执行主席 Reid Hoffman 在西南偏南互动讨论上(SxSW)做了主题演讲“创业者怎样创造未来”,阐述了他关于互联网行业创业和 Web 3.0 产品的观点,并举出十条他认为创业者应该遵循的规则. Reid Hoffman 本人的职业生涯起步于苹果和富士通的产品管理,后来在 PayPal 任执行副总裁,2003 年合作创办了 LinkedIn — 商务社交网站的先锋.

我的code review规则

- vento - 我的宝贝孙秀楠 ﹣C++, Lua, 大连,程序员
1) 是否有语法错误,编译错误,编译警告. 做法:下载最新代码,将编译警告级别提升到最高,检查output信息. 2)是否符合需求,完成requirement文档要求的内容,不能多,也不能少. 注意:即使发现有问题代码,如果与需求关联不大,不要涉及. 应该让每次enhancement和bug fix最简洁,牵涉范围最小,影响到组件最少.