电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

实时规则引擎的设计与实现VIP免费

实时规则引擎的设计与实现_第1页
1/33
实时规则引擎的设计与实现_第2页
2/33
实时规则引擎的设计与实现_第3页
3/33
实时规则引擎设计与实现@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硬编码--成本开发上线时间: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硬编码--改进版一键秒刷,立即生效新的问题:新的规则怎么添加?继续重复硬编码的思路?有没有更好的方法?终极大招将规则逻辑从应用中分离应用提交数据至规则逻辑得到结果规则引擎规则引擎定义:规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。应用背景:提高效率,解决复杂的业务规则规则经常变化,IT系统根据规则快速、低成本变化为了快速、低成本的更新,业务人员应能直接管理IT系统中的规则,不需要程序开发人员参与。规则引擎逻辑规则引擎调用接口请求1请求N规则引擎核心数据库适配层INOUTINOUTINOUT规则文件RUN目录需求方案实现挑战功能业务逻辑与应用分离方便调用接口性能与硬编码差别不大轻量级,方便开发维护友好的规则编辑界面现有硬编码规则的集成为什么不用开源产品性能原因队列特性、实时性无法满足现有Java规则逻辑的很难复用学习维护成本高规则逻辑脚本语言Groovy优点:基于JVM(Java虚拟机)借鉴Python、Ruby和Smalltalk的许多强大的特性,支持DSL,语法简洁直接调用现有Java的类库,Java无缝集成方便的实例化接口性能方面内存加载Groovy规则脚本JavaObject规则管理规则库Web管理(规则版本)规则引擎规则流程规则开始初始化规则对象已定义方法是否已加载至内存是已加载规则库否加载至内存执行规则对象调用执行结果执行结束规则管理版本管理方法管理目录需求方案实现挑战实现Groovy脚本加载为Java对象接口参数支持多参数、任意类型规则脚本执行流程Sandbox规则Web管理及测试规则调用流程Groovy脚本加载为Java对象接口参数支持多参数、任意类型规则脚本执行流程格式化groovy脚本导入类SpringContextUtil生成类名定义导入javabean方法列表定义run方法处理规则参数规则参数捕获异常格式化结束导入已定义方法bean用Groovy--SandBox默认导入包定义SecureASTCustomizer闭包:{}包导入:import包定义:package方法定义:publicstaticvoidmain方法返回值定义:returnInteger/Double/String运算符定义:PLUS/MINUS/MULTIPLY/DIVIDEhttp://groovy.codehaus.org/Advanced+compiler+configurationhttp://groovy-sandbox.kohsuke.org/规则Web管理及测试规则Web管理及测试规则Web管理及测试规则调用流程规则名称存在规则对象是否已存在执行规则初始化规则对象不存在格式化groovy脚本初始化groovy对象初始化状态成功抛出异常出错规则对象本地缓存访问规则执行结束目录需求方案实现挑战挑战应用接入规则接口数据定义更友好的规则编辑界面Q/A

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

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

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部