从Drools规则引擎到风控反洗钱系统v0.3.2.pdf


-
从Drools规则引擎到风控反洗钱系统v0.3.2.pdf ,此版本文档在不断刚更新升级中。
Δ文档持续更新中,QQ技术交流群:593177274,作者邮箱:secbro2@gmai.com 1 Drools简介 1.1什么是规则引擎 规则引擎是由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决筼 从应用程序代码中分离岀来,并使用预定义的语义模块编写业务决策。接受数据翰入,解释 业务规则,并根据业务规则做出业务决策。 大多数规则引擎都支持规则的次序和规则冲突检验,支持简单脚本语言的规则实现,文 持通用开发语言的嵌入开发。目前业内有多个规则引擎可供使用,其中包括商业和开放源码 选择。开源的代表是 Drools,商业的代表是 Visual rules,Log 1.2Doos规则引擎 Drools( JBoss Rules)具有一个易于访问企业策略、易于调鑾以及易于管理的开源业 务规则引擎符合业内标准,速度快、效率高。业务分析师或审核人员可以利用它轻松查看 业务规则,从而检验是否已编码的规则执行了所需的业务规则。 JBoss rules的前身是 Codehaus的一个开源项目叫 Drools。现在被纳入 JBOss门下,更 名为 JBoss Rules,成为了]Boss应用服务器的规则引擎。 Drools是为Java量身定制的基于 Charles forgy的RETE算法的规则引擎的实现。具有 了○O接口的RETE使得商业规则有了更自然的表达 13 Drools使用概览 Drools是Java编写的一款开源规则引擎,实现了Rete算法对所编写的规则求值,支持 声明方式表达业务逻辑。使用DsL( Domain Specific Language)语言来编写业务规则,使得规 则通俗易懂.使于学习理解。支持Java代码直接嵌入到规则文件中 Drools主要分为两个部分∶一是 Drools规则,二是 Drools规则的解释执行。规则的编 译与运行要通过 Drools提供的相关AP来实现。而这些AP总体上游可分为三类:规则编 译、规则收集和规则的执行。 Drools是业务规则管理系统(BRMS)解决方案,涉及以下项目 本系文档系作者原创,禁止其他人商用。作者CSDN博客地址.htp:// plog csdn. net/wo541075754 Δ文档持续更新中,QQ技术交流群:593177274,作者邮箱:secbro2@gmai.com 四 Drools Workbench:业务规则管理系统 Drools Expert:业务规则引擎 Drools fusion:事件处理 jBPM:工作流引莩 OptaPlanner:规划引擎 14 Drools版本信息 目前 Drools发布的最新版本为7.00Fina,其他版本正在研发过程中。官方表示后 续版本会加快迭代速度。本系列也是基于此版本进行讲解。 从 Drools6x到7版本发生重大的变化项: @ Property Reactive不需要再配置,在 Drools7中作为默认配置项。同时向下 兼容。 Drools6版本中执行sum方法计算结果数据类型问题修正。 重命名 Timed Rule ExecutionOption。 重命名和统一配置文件。 Drools7新功能: 支持多线程执行规则引擎,默认为开启,处于试验阶段。 OOPath改进,处丁试验阶段。 ● OPath maven插件支持。 事件的软过期 规则单元 RuleUnit 15JDK版本及|DE 从 Drools640开始已经支持JAVA8,最低版本JDK15。可通过 Eclipse插件进行集 成,也可通过 nelly IDEA中插件进行集成开发。 Drools提供了一个 Eclipse的集成版 本,不过它核心依赖于JK15 关键 Eclipse的集成官方有详细的文档可参考,这里不再赘述。 Drools7.0.0.Fina要 求的最低⑩K版本为⑩DK1.8(核心包采用此版本编译,低于此版本的JDK运行时会抛 出异常)。本系列后续项目及示例演示均采用AVA8和nte|DEA。 16官方资料 官网地址:htp/www.drools.org. 官方最新文档 https://docsjboss.org/drools/release/7.0.0.final/drools-docs/htmlsingle/index.html 本系文档系作者原创,禁止其他人商用。作者CSDN博客地址.htp:// plog csdn. net/wo541075754 Δ文档持续更新中,QQ技术交流群:593177274,作者邮箱:secbro2@gmai.com 2追溯 Drools5的使用 21 Drools5简述 上面已经提到 Drools是通过规则编译、规则收集和规则的执行来实现具体功能的 Drools5提供了以下主要实现AP ● Knowledgebuilder ● Knowledge Base KnowledgePackage Stateful KnowledgeSession StatelessKnowledge Session 它们起到了对规则文件进行收集、编译、查错、插入fect、设置 global、执行规则或规 则流等作用。 2.2 Drools5 z HelloWorld 下面结合实例,使用上面的AP来实现一个简单规则使用实例。随后简单介绍每个AP 的主要作用。 Drools7目前依旧包含上面提的 Drools5的AP,因此本实例直接使用 Drools7 的jar包。 221业务场景 目前有两种商品钻石( diamond)和黄金(Goa),需要对这两种商品分别制定销售折 扣( discount)。如果使用 Drools规则引擎就是为了适用两种商品折扣的各和变化,不用修 改代码就可以实现复杂业务组合的变更。当然简单的情况,使用普通的ee或配置项也可 以达到变更的目的,那就不需要 Drools,也就不是本节讨论的范畴了。 222代码实例 整体目录结构如下图 本系文档系作者原创,禁止其他人商用。作者CSDN博客地址.htp:// plog csdn. net/wo541075754 仝文档持续更新中,Q技术交流群:593172.作者邮箱:sccbro2@gmail.com F r droolsdemo E: \code\droolsdemo m器 Ch Proc E resource □cem.rdes RUles.drl test e droolsdemo, iml m Ill Externa 首先创建JAVA项目,使用 maven进行管理。创建之后 maven的 pom.xm文件内容如 <?xml version=1.0"encoding=UTF-8?> project xmins="hTtp: //maven. apache. org/pom/4.0.0 xmins:Xsi="http://www.w3.org/2001/xmlschema-instance xsIschemalocation="http://maven.apacheorg/pom/4.0.0 http://maven.apacheorg/xsd/maven-4.0.0.xsd"> <model version>4.0.0</modelVersion> < groupld>com. secbro </groupld> cartifactld>drools-demo</artifactld> <version>1.0-SNAPSHOT</version> <properties> <drools-version>7.0.0.Final</drools-version> </properties> <dependencies> <dependency> <groupld>org. drools</groupld> <artifactld>drools-compiler/artifactld> <version>$drools-version/</version> </dependency> </dependencies> </project> 创建产品类 Product,如下 package com. secbro. drools. model 本系文档系作者原创,禁止其他人商用。作者CSDN博客地址.htp:// plog csdn. net/wo541075754 Δ文档持续更新中,QQ技术交流群:593177274,作者邮箱:secbro2@gmai.com 大产品类 Created by zhuzs on 2017/7/4 public class Product i public static final String DIAMOND=" DIAMOND";∥/钻石 ublic static final String GOLD="GOLD";∥黄金 private String type private int discount ∥/省略 getter/setter方法 在项目的 resources目录下创建com/ules目录,并在创建 Rules. dr,内容如下 package com rules import com.secbro drools model Product rule Offer 4Diamond when oroductobject: Producttype ==Product. DIAMOND) then productObject. setDiscount(15); end rule offer4gold when productobject: Product(type = Product GOLD then productobject. setDiscount(25 end 刂建执行规则的测试类 Drools5Test package com. secbro drools import com. secbro droolsmodel Product import org. kie api. io Resource Type import org. kie internal Knowledge Base import org. kie internal. KnowledgeBaseFactory import org. kie internal builder. Knowledge Builder import org. kieinternal builder. Knowledge Builder Factory import org. kie internal definition. Knowledge Package, 本系文档系作者原创,禁止其他人商用。作者CSDN博客地址.htp:// plog csdn. net/wo541075754 仝文档持续更新中,Q技术交流群:593172.作者邮箱:sccbro2@gmail.com import org. kie internal io Resource Factory import org. kie internal runtime. Statefulknowledge Session import java. util. Collection Created by zhus on 2017/7/4 public class Drools5XTest i public static void main(Stringl args)( Drools5XTest test new Drools 5XTesto test. old ExecuteDrools(: private void old Execute Drools t Knowledge Builder kbuilder Knowledge Builder Factory newKnowledge Builder( kbuilder. add(Resource Factory. new ClassPathResource(com/rules/Rules. drl this getClass(), Resource Type. DRL); if (kbuilder has Errors)I System. out printIn(kbuilder get Errors(). toString); Collection< KnowledgePackage> pkgs= kbuilder. getKnowledgePackages( // add the package to a rulebase Knowledge Base kbase Knowledge Base Factory newKnowledge Base( ∥/将 KnowledgePackage集合添加到 Knowledge Base当中 kbase. add KnowledgePackages(pkgs Stateful Knowledge Session session kbase new StatefulKnowledge Session( Product product new Product( product set Type( Product. GOLD): session. insert(product) session. fireAllRules( session. dispose( System. out. println The discount for the product " product getType( is"+ product get Discount(+"9": 现在执行,main方法,打印出来的结果为 The discount for the product 1 is 25% 本系文档系作者原创,禁止其他人商用。作者CSDN博客地址.htp:// plog csdn. net/wo541075754 Δ文档持续更新中,QQ技术交流群:593177274,作者邮箱:secbro2@gmai.com 223实例详解 通过上面的实例我们已经完成了 Drools规则引擎AP的使用。下面,针对实例逐步讲 解每个AP的使用方法及dr文件的语法。 类名 使用说明 Knowledge builder 在业务代码中收集已编写的规则,并对规则文件进行编译,生成编译 好的 KnowledgePackage集合,提供给其他AP使用。通过其提供的 has Errors)方法获得编译过程中是否有错, getErrors0方法打印错误 信息。支持d文件、ds文件和ⅹs文件等。 Knowledge Package 存放编译之后规则的对象 Knowledge base 收集应用当中知识( knowledge)定义的知识库对象 ( KnowledgePackage),在一个 Knowledge Base当中可以包含普通 的规则(rue)、规则流( rule flow)、函数定义( function)、用户自定义 对象( type model)等,并创建 session对象( StatefulKnowledge Session Th StatelessKnowledge Session) StatefulKnowledge Session接收外部插入的数据fot对象(POO),将编译好的规则包和业务 数据通过 fireallrules0方法触发所有的规则执行。使用完成需调用 dispose(方法以释放相关内存资源。 StatelessKnowledgeSession对 StatefulknowledgeSession的封装实现,与其对比不需要调用 dispose0方法释放内存,只能插入一次fact对象。 以上是针对 Drools5x版本AP相关使用简介,Doos7版本已经不再使用此系列的AP|, 此处章节就不展开描述。规则的语法也放在Doo7对应章节中进行详细介绍。 3 Drools7之 Helloworld 31 Hello world实例 在上一章中介绍了 Drools.5版本中规则引擎使用的实例,很明显在 Drools7中 Knowledge Base类已被标注为“@ Deprecated”废弃。在本章节中介绍 Drools7版本中的 使用方法。后续实例都将默认使用此版本。 先看一下 Drools项目的目录结构 本系文档系作者原创,禁止其他人商用。作者CSDN博客地址.htp:// plog csdn. net/wo541075754 仝文档持续更新中,Q技术交流群:593172.作者邮箱:sccbro2@gmail.com o I droolsdemo E:\code(droolsdemo d sFC FACT对象 ava □ com secbro drools ⊙ Product AP实现类 Ca Drools Test Me] Rules. drl F moduler配已置文件 ca module. xml p□test rg 4. droolsdemo, iml Maven pom.xm文件中依赖配置 <properties> <drools-version >7.0.0.Final</drools-version> /properti <dependencies> <depender groupld>junit</grouped rtitactld>unit</artifactld <version >4.12</version> </depended <dependency> grouped>org. drools </group <artitactld >drools-compiler</artifactld> <version>sdrools-version]</version> /depender </dependencies> Fact对象对应的实体类依旧为 Product package com.secbro drools model 产品类 Created by zhuzs on 2017/7/4 本系文档系作者原创,禁止其他人商用。作者CSDN博客地址.htp:// plog csdn. net/wo541075754

6.5MB
DRools中文手册
2010-05-17Drools规则引擎的中文手册,该手册详细的说明了规则引擎的使用,以及使用场合,对于使用Drools开发专家系统的人员有参考价值
2.95MB
Legion基金行业反洗钱监测管理系统解决方案.doc
2018-07-25Legion基金行业反洗钱监测管理系统解决方案 目 录 Legion基金行业反洗钱监测管理系统®介绍 3 1.概述 3 2. 系统整体规划 3 3. 系统应用体系结构 4 4.功能设计 4 4.1 首
出纳表单打印系统(源码)下载_course
2019-10-30出纳一般表单打印,支票、进账单、汇款单。 提供源码,共同研究。 相关下载链接://download.csdn.net/download/yanbinquan/2348484?utm_source=bb
从Drools规则引擎到风控反洗钱系统v0.3.2.pdf下载_course
2020-08-17从Drools规则引擎到风控反洗钱系统v0.3.2.pdf ,此版本文档在不断刚更新升级中。 相关下载链接://download.csdn.net/download/wo541075754/99442
14KB
反洗钱系统技术选型
2019-03-13我们的计算引擎完全自主研发,内嵌指标2000于个,上层模型129个。 计算引擎具有足够的灵活性、健壮性,基于指标体系,也包括指标体系。 一、指标具有如下特性 1、指标特性化:按指标类型分门加工、存储,
有没有在做金融公司反洗钱系统的朋友?大家讨论一下_course
2007-07-03RT,小弟最近在做一个反洗钱系统,看有没有也在做这个类型的系统的哥们,大家讨论一下
152.13MB
菜菜sklearn课程讲义.rar
2021-03-05适合正在学习机器学习sklearn库的使用教程,关注即可下载哦~
微信小程序样式开发入门
2019-01-07讲解微信小程序中样式的入门使用,如何使用传统的css知识点来开发wxss的样式;本节课主要讲解在微信小程序中创建样式的几种 写法,元素选择器的基础使用,id选择器和id派生选择器的使用,class类选择器的使用。
企业员工角色权限管理平台(SpringBoot2.0+Mybatis+Shiro+Vue)
2019-08-07课程简介: 历经半个多月的时间,Debug亲自撸的 “企业员工角色权限管理平台” 终于完成了。正如字面意思,本课程讲解的是一个真正意义上的、企业级的项目实战,主要介绍了企业级应用系统中后端应用权限的管理,其中主要涵盖了六大核心业务模块、十几张数据库表。 其中的核心业务模块主要包括用户模块、部门模块、岗位模块、角色模块、菜单模块和系统日志模块;与此同时,Debug还亲自撸了额外的附属模块,包括字典管理模块、商品分类模块以及考勤管理模块等等,主要是为了更好地巩固相应的技术栈以及企业应用系统业务模块的开发流程! 核心技术栈列表: 值得介绍的是,本课程在技术栈层面涵盖了前端和后端的大部分常用技术,包括Spring Boot、Spring MVC、Mybatis、Mybatis-Plus、Shiro(身份认证与资源授权跟会话等等)、Spring AOP、防止XSS攻击、防止SQL注入攻击、过滤器Filter、验证码Kaptcha、热部署插件Devtools、POI、Vue、LayUI、ElementUI、JQuery、HTML、Bootstrap、Freemarker、一键打包部署运行工具Wagon等等,如下图所示: 课程内容与收益: 总的来说,本课程是一门具有很强实践性质的“项目实战”课程,即“企业应用员工角色权限管理平台”,主要介绍了当前企业级应用系统中员工、部门、岗位、角色、权限、菜单以及其他实体模块的管理;其中,还重点讲解了如何基于Shiro的资源授权实现员工-角色-操作权限、员工-角色-数据权限的管理;在课程的最后,还介绍了如何实现一键打包上传部署运行项目等等。如下图所示为本权限管理平台的数据库设计图: 以下为项目整体的运行效果截图: 值得一提的是,在本课程中,Debug也向各位小伙伴介绍了如何在企业级应用系统业务模块的开发中,前端到后端再到数据库,最后再到服务器的上线部署运行等流程,如下图所示:
Java学习指南(Java入门与进阶)
2017-08-09这是Java学习指南系列课程的第1篇,介绍Java语言的入门语法,引领希望学习Java语言编程的初学者进入Java大门。 本课程不需要其他语言作为基础,可以直接学习。 课程从Java开发平台的下载和安装开始,从浅到深、从易到难,循序渐进地进行语法讲解。 为了让学员更好的掌握Java语言,本课程配套在线的Java题库及答案解析。 相比于其他语言,Java语言更科学、更容易掌握,快来和大家一起学习Java吧。
57.86MB
微信小程序源码-合集5.rar
2020-09-04微信小程序源码,包含:豆瓣、微信、论坛、停车、房贷计算、股票、蜗牛生活、物品回收、学车预约、住房装修、斗鱼直播、水利、快拍、同城等源码。
程序员的数学:微积分
2019-09-28本课程介绍程序员必备的数学基础内容,在取材上侧重人工智能、数据分析等热门领域
- 实时 摔倒识别 /运动分析/打架等异常行为识别/控制手势识别等所有行为识别全家桶 原理 + 代码 + 数据+ 模型 开源! 40522021-03-02文章目录一、 基本过程和思想二 、视频理解还有哪些优秀框架三、效果体验~使用手势:python run_gesture_recognition.py健身_跟踪器:卡路里计算三、训练自己数据集步骤然后,打开这个网址:点击一下start new project但是官方的制作方法是有着严重bug的~我们该怎么做呢!原代码解读 大家好,我是cv君,很多大创,比赛,项目,工程,科研,学术的炼丹术士问我上述这些识别,该怎么做,怎么选择框架,今天可以和大家分析一下一些方案: 用单帧目标检测做的话,前后语义相关性很差(也有
117B
Keil5安装包
2019-05-23Keil5安装包,附带STM31F1、STM32F4支持包以及破解软件。
爬虫架构师的逆袭之路
2019-12-23在这个信息泛滥的时代,掌握实施有效的数据是诸多企业生存的关键, 面对市场上对数据的无限渴求,Python爬虫工程师炙手可热, 那么毛也不会的你想要摇身一变成为爬虫架构师需要怎么做呢? 啥也别想了,赶紧下单,这个课,真好!
C语言入门--必须基础17讲
2017-07-28适合没有基础的人群学习C语言,简单的入门教程。帮助小白理解什么是开发,什么是编程。做的很简单,很多细节没有详细讲解,不适合用来深入研究。学了这个,你能理解什么是编程,什么是C语言。
- 面试突击版(JUC+JVM+Redis+SSM+SpringBoot+MQ) 91492021-03-01文章目录1、JVM1.1、类加载机制1.2、类加载器1.3、双亲委派机制1.4、为什么要设计双亲加载机制1.5、全盘委托机制1.6、Tomcat如何自定义类加载机制1.7、内存模型1.8、对象创建与分配1.8.1、创建1.8.2、分配1.9、何判断一个类是无用的类1.10、finalize()方法最终判定对象是否存活1.11、四大引用1.12、对象回收算法1.13、四大垃圾回收算法1.14、CMS(标记-清除算法=>写屏障 + 增量更新)1.14.1、运作过程1.14.2、三色标记法1.14.3、漏标
-
GitHub
绑定GitHub第三方账户获取 -
图书勋章
CSDN技术图书作者专属勋章 -
签到达人
累计签到获取,不积跬步,无以至千里,继续坚持! -
技术圈认证(专家版)
博客专家完成年度认证,即可获得
-
下载
win32-dpi:在整个XP中正确DPI缩放Win32 Windows到最新Windows 10的示例-源码
win32-dpi:在整个XP中正确DPI缩放Win32 Windows到最新Windows 10的示例-源码
-
下载
《实时数仓Hologres技术入门一本通》.pdf
《实时数仓Hologres技术入门一本通》.pdf
-
学院
CCNA_CCNP 思科网络认证 《 站点间 NNN 与 远程访问 V
CCNA_CCNP 思科网络认证 《 站点间 NNN 与 远程访问 V
-
学院
xxljob源码分析
xxljob源码分析
-
下载
懦夫打孔「Coward Punch」-crx插件
懦夫打孔「Coward Punch」-crx插件
-
学院
CCNA_CCNP 思科网络认证 PAT NAT 端口或地址转换 与端
CCNA_CCNP 思科网络认证 PAT NAT 端口或地址转换 与端
-
下载
CommunityStandUpNet5:一组示例展示了.NET链接器和.NET 5 API的外壳-源码
CommunityStandUpNet5:一组示例展示了.NET链接器和.NET 5 API的外壳-源码
-
学院
Cocos Creator游戏开发-消灭星星 (接穿山甲广告SDK)
Cocos Creator游戏开发-消灭星星 (接穿山甲广告SDK)
-
博客
macOS Big Sur 11.2.3 (20D91) 正式版发布,百度网盘下载
macOS Big Sur 11.2.3 (20D91) 正式版发布,百度网盘下载
-
学院
MySQL 视图
MySQL 视图
-
学院
《Linux 命令简介》<Linux核心命令系列Series> <1.
《Linux 命令简介》<Linux核心命令系列Series> <1.
-
博客
FDA认证培训-提交给FDA的监管不当行为的指控将如何处理及结果
FDA认证培训-提交给FDA的监管不当行为的指控将如何处理及结果
-
博客
2021年3月6日引用等
2021年3月6日引用等
-
下载
前端各种手册 vue git js h5 jq node sass
前端各种手册 vue git js h5 jq node sass
-
下载
目标端口扫描+系统服务指纹识别.zip
目标端口扫描+系统服务指纹识别.zip
-
学院
【超强干货分享】Java程序员算法面试「通关秘籍」
【超强干货分享】Java程序员算法面试「通关秘籍」
-
学院
stm32+4G从零开始连接阿里云IOT
stm32+4G从零开始连接阿里云IOT
-
博客
小特工具箱新增模块:大数据分析工具
小特工具箱新增模块:大数据分析工具
-
学院
朱老师鸿蒙系列课程第1期-3.鸿蒙系统Harmonyos源码配置和管理
朱老师鸿蒙系列课程第1期-3.鸿蒙系统Harmonyos源码配置和管理
-
学院
Unity RUST 逆向安全开发
Unity RUST 逆向安全开发
-
下载
新的4D自治混沌系统中各种类型的共存吸引子
新的4D自治混沌系统中各种类型的共存吸引子
-
博客
DIV + CSS 学习笔记(盒模型)
DIV + CSS 学习笔记(盒模型)
-
博客
机器学习题 【含答案和解析】
机器学习题 【含答案和解析】
-
学院
计算机网络 静态路由和动态路由协议
计算机网络 静态路由和动态路由协议
-
下载
无线电圣地亚哥「Rádio Santiago」-crx插件
无线电圣地亚哥「Rádio Santiago」-crx插件
-
博客
机器学习题 【含答案和解析】
机器学习题 【含答案和解析】
-
学院
【拯救者 】数据库系统概论速成
【拯救者 】数据库系统概论速成
-
学院
2021年软考系统规划与管理师-上午历年真题解析视频课程
2021年软考系统规划与管理师-上午历年真题解析视频课程
-
学院
硬件接口
硬件接口
-
博客
python fake_useragent 生成UA字段,省去建立ua池
python fake_useragent 生成UA字段,省去建立ua池