`
NIIT_zhu
  • 浏览: 49415 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

规则引擎教程--规则池

阅读更多

 

在规则开发过程中,往往会遇到某个规则会反复被使用的情况。因此,我们总是希望能通过某种方式调用这些规则,也就是所能实现规则复用。我们知道在“决策树”中,不仅可以实现规则的复用,而且还可设置复用规则执行的条件和复用规则间的条件。但是在“决策池”中,会执行“决策池”里所有的被复用的规则,被复用规则的执行的顺序与规则被引用的先后顺序是一致的。

 

 

 

我们先创建一个名为“基本工程2”的规则包,该规则包下的规则,作为“决策池”的复用规则。

 

右键名为“功能解析”的工程,点击“新建规则包”,创建一个名为“基本工程2”规则包。如下图所示:



 

 

 

 

该规则包中需要在对象库中,需要定义三个“string”类型变量:aa),bb),cc)。如下图所示:

 



 

变量“a”“b”“c”都是在“传入数据”中添加的,然后要在规则包对象库的“外部调用”添加两个方法(公式)。按下图描述的添加:



 

 

 

这些方法是规则引擎封装的一些常用方法,可以在“外部调用”添加这些常用方法,然后可以在规则调用。

 



 

添加了“字符截取”中“从左截取字符”的方法之后,继续添加方法。如下图所示:



 

 

 

点击了“确认”之后,就在外部调用里添加了两个方法。如下图:

 



 

在变量定义完成之后,然后要在规则包中实现具体规则逻辑。右键选择规则包“基本工程2”添加名为“b取值”的规则,添加过程如下所示:



 

 



 

规则添加好了之后,我们要在规则中给变量“b”赋值,赋值过程如下图所示:

 




 
 

 

 

 

 

 

 

确认之后,规则“b赋值”就完成了。我们在规则包“基本工程2”再添加个规则“c取值”,如下图所示:



 

最后,我们需要在规则中添加规则逻辑,如下图所示:



 

 

 

在规则包编写完成之后,我们要保存该规则包。点击“全部保存”按钮,如下图所示:

 



 

点击“保存全部”保存之后,规则配置器会自动保存该规则包的rpk文件和生成规则包对应的rsc文件,在消息栏可以看到如下信息:



 

 

 

“基本工程2”规则包完成之后,我们再创建一个名为“决策池”的规则包。在规则包的“决策池”中,将调用“基本工程2”中的规则。

 

 

 

右键工程“功能解析”,选择“新建规则包“,添加个名为“决策池”的规则包。如下图所示:



 

 



 

和规则包“基本工程2”一样,在规则包“决策池”中,我们也需定义三个“string”类型的变量“a”,“b”,“c”。如下图所示:

 



 

我们在规则包中添加“决策池”,在“决策池”中实现对“基本工程2”中规则的复用,添加“决策池”过程如下图所示:



 

 

 

 

如果要实现对“基本工程2”中的规则复用,首先要在“决策池”的属性栏的“所有规则”中找到该规则包,如下所示:

 





 

 

我们将“b取值”和“c取值”拖动到“决策池”之后,我们看到“决策池”如下图所示:

 

 

 

 

这样“决策池”就实现了对规则“b取值”、“c取值”复用:规则包“决策池”将会依次执行“b取值”“c取值”中的规则逻辑。

 

 

 

我们在规则逻辑完成之后,要测试规则包正确性。给规则规则包添加个“批量测试”,然后在“批量测试”中添加若干测试用例、期望结果值,最后我们只需比对测试用例的期望结果值与规则包的实际输出结果值是否相同。若相同,则测试完成,规则包未发现错误;若不同,测试不通过。

 

 

 

选择规则包,选择“添加批量”,操作步骤如图所示:

 



 

 



 

“批量测试”添加完成之后,我们要在该“批量测试”下添加测试用例。添加测试用例步骤如下图所示:

 



 

 

 

按照上述步骤,我们再给“批量测试”添加两个测试用例。添加完成后,“批量测试”如下图所示:



 

 

测试用例添加完成之后,我们要保存并编译规则包,如下图所示:

 



 

点击“全部保存”会保存规则包的rpk文件,生成规则包的rsc文件。我们可以在消息栏看到下图信息:

 



 

最后测试该规则包,在这些测试数据下实际输出的结果值。测试过程如下所示:

 



 

从上图中可以发现,所有的期望结果与实际输出结果相同,规则包测试完成!

 

 

  • 大小: 30.3 KB
  • 大小: 26.4 KB
  • 大小: 48.1 KB
  • 大小: 45.4 KB
  • 大小: 50.6 KB
  • 大小: 64.8 KB
  • 大小: 38 KB
  • 大小: 31.6 KB
  • 大小: 18.2 KB
  • 大小: 33.7 KB
  • 大小: 35.4 KB
  • 大小: 31.3 KB
  • 大小: 39.9 KB
  • 大小: 43.1 KB
  • 大小: 34.2 KB
  • 大小: 45.6 KB
  • 大小: 58.9 KB
  • 大小: 29.5 KB
  • 大小: 38.9 KB
  • 大小: 31.3 KB
  • 大小: 8.4 KB
  • 大小: 33 KB
  • 大小: 27 KB
  • 大小: 49.1 KB
  • 大小: 57.8 KB
  • 大小: 18.9 KB
  • 大小: 56.7 KB
  • 大小: 22.7 KB
  • 大小: 26.4 KB
  • 大小: 31.6 KB
  • 大小: 35.9 KB
  • 大小: 32.8 KB
  • 大小: 33.3 KB
  • 大小: 48.7 KB
  • 大小: 33.5 KB
  • 大小: 37.9 KB
  • 大小: 35.5 KB
  • 大小: 14.8 KB
  • 大小: 51.8 KB
分享到:
评论
2 楼 NIIT_zhu 2017-07-07  
Wangwei86609 写道
非常好的规则引擎框架,支持决策树和多线程运行规则

https://github.com/wangwei86609/osmanthus

呵呵,一起交流学习
1 楼 Wangwei86609 2017-07-05  
非常好的规则引擎框架,支持决策树和多线程运行规则

https://github.com/wangwei86609/osmanthus

相关推荐

    Python网络爬虫教程--模拟登录,验证码识别....zip

    本教程将深入探讨如何使用Python进行网络爬虫,特别是关于模拟登录和验证码识别这两个关键点。 首先,让我们理解一下网络爬虫的基本概念。网络爬虫,也称为网页抓取器或蜘蛛,是一种自动化程序,它可以遍历网页,...

    PHP蜘蛛池 小旋风蜘蛛池站群X8.51 带安装说明

    需要注意的是,使用蜘蛛池技术时,应遵循搜索引擎的规则,避免被认定为过度优化而遭到惩罚。合理的使用可以提升网站的搜索引擎优化效果,但滥用可能导致反效果。因此,在实际操作中,用户需对SEO有深入理解,合理...

    Photon服务器引擎 入门教程二服务器端源码

    本入门教程将深入探讨如何使用Photon服务器引擎构建服务器端源码,以便处理客户端的请求、进行用户身份验证以及向客户端发送响应。下面我们将详细讨论相关知识点。 1. **Photon服务器引擎**:Photon是Pun、Load...

    HeroM2引擎包1108版

    3. **物理模拟**:内置的物理引擎提供了真实世界的物理规则,包括碰撞检测、刚体动力学等,让游戏中的物体运动更加逼真。 4. **脚本系统**:支持脚本语言编写游戏逻辑,如Lua或JavaScript,降低编程门槛,提高开发...

    三层数据库连接池,基于delphi软件开发的

    - **Delphi数据库连接池**:这个文件可能是包含具体代码实现或者教程文档,详细讲解如何在Delphi项目中实现和使用数据库连接池。 在实际开发中,理解并熟练运用三层架构和数据库连接池是提升软件性能的关键。通过...

    resin 入门基础教程.pdf

    ### Resin 入门基础教程知识点概述 #### 一、Resin 概览 - **Resin 特性** - Resin 和 Resin Professional 的功能对比:Resin 是一款高性能且灵活的 Java 应用服务器,适用于部署 Java Web 应用程序。它支持 JSP ...

    最新版小霸王万能蜘蛛池6.3修复版.zip

    在小霸王万能蜘蛛池中,可能是用来设置访问权限或者重定向规则,以模拟不同搜索引擎爬虫的访问模式。 【httpd.ini】是IIS服务器的配置文件,类似于Apache的.htaccess,可以用来定制服务器行为。在这个软件中,它...

    小旋风万能蜘蛛池X8.51 免.zip

    增加禁止搜索引擎快照,可防止他人查看你的快照(在后台站点优化设置) 增加部分选项全局设置和网站分组独立设置(流量统计、游客屏蔽/跳转) 增加后台限制指定IP登录、后台安全码(启用后,后台登录必须输入安全码...

    win7下 IIS+SQL_Server_2005安装教程

    ### Win7 下 IIS+SQL Server 2005 安装教程 #### 一、IIS 安装教程 **IIS (Internet Information Services)** 是由微软公司提供的基于运行 Microsoft Windows 的 Internet 基本服务,主要用于 Web 服务器发布。在 ...

    帆软创建审批流程.rar

    【帆软创建审批流程】是基于FineReport的一款用于构建企业审批流程的应用教程资源包。FineReport是一款强大的报表设计工具,广泛应用于商业智能(BI)领域,帮助企业实现数据可视化和决策支持。FCRP(FineReport ...

    python分布式爬虫打造搜索引擎.zip_python_python 搜索引擎_python搜索引擎_分布式_爬虫

    本压缩包包含的资源是关于使用Python实现分布式爬虫以及构建搜索引擎的源代码和相关教程。下面我们将深入探讨这个主题中的关键知识点。 1. **Python爬虫基础**:Python是爬虫开发的首选语言,因其语法简洁、库丰富...

    mysql-5.6.51-winx64.zip

    1. **InnoDB存储引擎增强**:MySQL 5.6默认使用InnoDB存储引擎,提供事务处理、行级锁定和外键支持。在5.6版本中,InnoDB性能得到了显著提升,包括更快的索引插入和更新,以及更大的并行度。 2. **Full-Text Search...

    计算机的毕业论文题目大全.pdf

    计算机毕业论文涵盖了广泛的IT主题,主要集中...在编写论文过程中,学生应充分利用资源,如在线教程、专业书籍和社区论坛,以确保项目的完整性和质量。同时,与导师的沟通也很重要,以确保论文符合学术规范和学院要求。

    mysql-5.5.61

    InnoDB 引擎的缓冲池大小调整也是性能调优的关键。 5. **备份与恢复**:MySQL 提供了多种备份策略,包括mysqldump、Percona Xtrabackup 等工具,用于定期备份数据库,以防止数据丢失。同时,学习如何恢复这些备份...

    SQL Server 2005数据库简明教程

    - **数据库引擎**:负责处理SQL查询,管理数据存储,确保事务的ACID属性。 - **Analysis Services**:用于在线分析处理(OLAP)和数据挖掘。 - **Integration Services**(SSIS):数据集成工具,用于ETL(提取、...

    SEO基础知识_绝密教程

    SEO,全称Search Engine Optimization,即搜索引擎优化,是一种利用搜索引擎的搜索规则来提高目标网站在有关搜索引擎内自然排名的方式。SEO的主要目标是使网站在搜索引擎的搜索结果中获得更高的排名,从而吸引更多的...

    java手机游戏文档教程

    教程可能会讲解如何减少对象创建,有效使用内存池,以及避免内存泄漏,以确保游戏在低端设备上也能流畅运行。 4. **算法**:游戏开发中,算法无处不在,包括路径规划、图形渲染、搜索算法等。教程可能会详细讲解...

    MySQL数据库高可用高并发集群实战演练视频教程

    ### MySQL数据库高可用高并发集群实战演练视频教程 #### 知识点一:MySQL数据库基础 - **数据库管理系统(DBMS)**:介绍MySQL作为一款关系型数据库管理系统的基础概念,包括其架构、特点以及与其他数据库系统的...

Global site tag (gtag.js) - Google Analytics