8288分类目录 8288分类目录 8288分类目录
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

记一次框架设计经验--规则引擎

来源:本站原创 浏览:68次 时间:2022-10-04

前面讲数据质量监控的时候,楼下很多评论希望能把规则引擎也讲一下,规则引擎是一个既复杂但又简单的系统,复杂的地方在于它要满足多种多样的业务需求,需要知道各个事实的既定结果,然后通过既定公式获得最终需要的结果。


在开讲之前我们首先要了解几个名词:

 facts 事实,我们实现的时候,会有一个事实库。用F表示。

patterns 模板,事实的一个模型,所有事实库中的事实都必须满足模板中的一个。用P表示。

conditions 条件,规则的组成部分。也必须满足模板库中的一条模板。用C表示。我们可以这样理解facts、patterns、conditions之间的关系。Patterns是一个接口,conditions则是实现这个接口的类,而facts是这个类的实例。

rules 规则,由一到多个条件构成。一般用and或or连接conditions。用R表示。

actions 动作,激活一条rule执行的动作。


举个贷款的例子:一个在国企工作名下有一套房的35岁已婚男士去银行贷款买车。按照正常思维,这个人工作稳定有持续的经济来源,在18周岁到56岁之间生活能够自理并且能持续还款,同时已婚代表有很大概率该客户责任心大,至少不会因为一些小挫折不还款,有担忧,就有保证,如果是我的话,肯定贷给他。


其实大家不可能根据一篇文章就会知道所有的规则引擎知识。从网上下了一张图,如下就是一个地址校验的规则,首先我们去判断是否满足一个地址的长度或者说非空,才会走入下一个规则校验行政区和经纬度是否一致:


 

其实理论知识大家都知道不少了,上边的几个名词就是每条规则抽象出来的元件,还有就是rete算法是规则引擎比较常用的算法,大家可以了解一下。


我接下来讲一下设计规则引擎时候注意的几个点:

1.一般来讲规则都是有四则运算或者更复杂的数学计算组成,例如:非A即B,A且B为C

所以这些东西都是很容易抽象的,开发的时候肯定要注意的。

2.大家都是程序员所以开发的时候还是尽量把做到可拓展,其实只要把架构的最小单元找对了,可拓展小菜一碟。。

写的不多,大家如果感兴趣我再接着写,实在是工作比较忙,只能找点下班时间写会




  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net