实时规则引擎的设计与实现

实时规则引擎的设计与实现

ID:4246674

大小:507.15 KB

页数:33页

时间:2017-11-30

实时规则引擎的设计与实现_第1页
实时规则引擎的设计与实现_第2页
实时规则引擎的设计与实现_第3页
实时规则引擎的设计与实现_第4页
实时规则引擎的设计与实现_第5页
资源描述:

《实时规则引擎的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实时规则引擎设计与实现@Neeao2013年12月26日目录需求方案实现挑战目录需求方案实现挑战一大波扫号的出现一般处理流程:分析日志制定防御规则找相关Domain开发防御规则防御规则5分钟内IP登陆超过100次,封IP60分钟如何实现?硬编码iftime<=5mandcount(8.8.8.8)>=100:blockip60m硬编码--成本每天成功登陆:2WUID账号有钱的UID:10%UID平均账号余额:100元每天存在威胁资金量:2W*10%*100=20W硬编码--成本开发上线

2、时间:1sprint(开发+测试+上线)=14天14*20=280w如何解决?硬编码--改进版将参数放入配置项,需要时更新配置数据:db_gap_time=5mdb_times=100db_block_time=60miftime<=db_gap_timeandcount(8.8.8.8)>=db_times:blockipdb_block_time硬编码--改进版一键秒刷,立即生效新的问题:新的规则怎么添加?继续重复硬编码的思路?有没有更好的方法?终极大招将规则逻辑从应用中分离应用提交数据至规则逻辑

3、得到结果规则引擎规则引擎定义:规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。应用背景:提高效率,解决复杂的业务规则规则经常变化,IT系统根据规则快速、低成本变化为了快速、低成本的更新,业务人员应能直接管理IT系统中的规则,不需要程序开发人员参与。规则引擎逻辑ININ适配层OUT数据库OUT请求1规则IN引擎OUT调用接口请求N规则引擎核心规则文件RUN目录

4、需求方案实现挑战功能业务逻辑与应用分离方便调用接口性能与硬编码差别不大轻量级,方便开发维护友好的规则编辑界面现有硬编码规则的集成为什么不用开源产品性能原因队列特性、实时性无法满足现有Java规则逻辑的很难复用学习维护成本高规则逻辑脚本语言Groovy优点:基于JVM(Java虚拟机)借鉴Python、Ruby和Smalltalk的许多强大的特性,支持DSL,语法简洁直接调用现有Java的类库,Java无缝集成方便的实例化接口性能方面Groovy规则Java内存加载脚本Obj

5、ect规则管理Web管理规则引擎(规则版本)规则库规则流程是否已加载至规则开始初始化规则对象否规则库内存是规则管理版本管理方法管理执行规则对象已加载加载至内存调用已定义方法执行结果执行结束目录需求方案实现挑战实现Groovy脚本加载为Java对象接口参数支持多参数、任意类型规则脚本执行流程Sandbox规则Web管理及测试规则调用流程Groovy脚本加载为Java对象接口参数支持多参数、任意类型规则脚本执行流程导入已定义方法bean用导入类格式化groovy脚本SpringContext

6、U生成类名定义导入javabean方法列表til格式化结束捕获异常处理规则参数定义run方法规则参数Groovy--SandBox默认导入包定义SecureASTCustomizer闭包:{}包导入:import包定义:package方法定义:publicstaticvoidmain方法返回值定义:returnInteger/Double/String运算符定义:PLUS/MINUS/MULTIPLY/DIVIDEhttp://groovy.codehaus.org/Advanced+co

7、mpiler+configurationhttp://groovy-sandbox.kohsuke.org/规则Web管理及测试规则Web管理及测试规则Web管理及测试规则调用流程初始化访问规则格式化groovy脚本初始化groovy对象规则对象规则对象本规则名称成功初始化状态地缓存不存在出错存在抛出异常规则对象是否已存在执行规则执行结束目录需求方案实现挑战挑战应用接入规则接口数据定义更友好的规则编辑界面Q/A

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。