范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

架构实战基于条件配置的简单规则引擎实现

  规则引擎是大型系统必不可少的一个组件,基于规则引擎可以实现灵活的规则和控制功能。本文从需求出发,介绍了一种简单且高效的实现规则引擎的方案。第一章需求概述
  规则引擎的应用可以说非常的广泛,规则引擎可以分为基于条件配置的简单规则引擎和基于数据分析统计的复杂的规则引擎,本文档主要讨论的是基于条件配置的简单规则引擎实现。1.1 业务场景示例
  需要实现根据医生诊断的症状来展示可以使用的药品,比如一个女患者被医生诊断为:气血两虚,身体瘦弱,腰膝酸软,月经不调,那么系统会根据这些症状展示合适的调理药品乌鸡白凤丸。1.2 业务分析抽象
  现在我们来分析一下药品推荐系统的场景。患者首先是个女的,那么有一个条件是性别为女;气血的诊断情况为两虚;身体状况为瘦弱;腰膝情况是酸软,月经的状态是不协调。如果满足了这些条件的话,那么系统要为医生展示推荐药品乌鸡白凤丸。
  通过上述分析,我们可以比较容易得出一个抽象场景:即症状符合了规则,就展示推介的结果,其中规则是由一系列的条件所组成的,当所有的条件都满足了,那么就符合了规则。
  分析完之后,是不是觉得豁然开朗了。下面我们来看一下具体要怎么去设计。
  第二章系统设计实现
  本章主要结合上一章节业务分析抽象的内容讨论简单的数据库结构设计和系统编码实现。2.1 数据库设计2.1.1 症状规则表
  症状规则表
  数据项
  类型
  备注
  规则ID
  文本
  主键
  规则名称
  文本
  名称
  规则表达式
  文本
  条件表达式
  表达式描述
  文本
  表达式描述
  2.1.2 症状条件表
  症状条件表
  数据项
  类型
  备注
  条件ID
  文本
  主键
  条件名称
  文本
  名称
  条件标识符
  文本
  条件的唯一标识符
  条件编码
  文本
  条件的key编码(如:性别=sex)
  条件计算方式
  文本
  计算方式(如:等于,大于,小于,包含…)
  条件值
  文本
  条件的值(如:女=femal 或者女=0)
  规则ID
  文本
  规则ID值
  2.1.3 展示结果表
  展示结果表
  数据项
  类型
  备注
  结果ID
  文本
  主键
  结果名称
  文本
  结果的描述
  规则ID
  文本
  规则ID值
  2.1.4 数据存储示例
  症状规则表
  规则ID
  规则名称
  规则表达式
  表达式描述
  1001
  乌鸡白凤丸规则   (A1 && A2 && A3 && A4 && A5)   性别等于femal 而且 气血等于weak 而且 身体状况等于thin 而且 腰膝情况等于limp 而且 月经状态等于menoxenia   症状条件表   条件ID   条件名称   条件标识符   条件编码   计算方式   条件值   规则ID   1
  性别等于   A1   sex   =   femal   1001
  2
  气血等于   A2   blood   =   weak   1001
  3
  身体状况等于   A3   body   =   thin   1001
  4
  腰膝情况等于   A4   waist   =   limp   1001
  5
  月经状态等于   A5   menses   =   menoxenia   1001
  展示结果表   结果ID   结果名称   规则ID   1
  乌鸡白凤丸:主治女性气血两虚,身体瘦弱,腰膝酸软,月经不调。   1001
  2.2 编码实现   从数据库结构和数据存储的分析,我们从计算机实现的角度来看就是只要满足症状规则表中规则表达式的值为真,那么就展示规则对应的结果。即计算(A1 && A2 && A3&& A4 && A5)表达式的真假。2.2.1 调用说明   外围系统调用规则引擎传入参数为:sex=male&blood=weak&body=thin&waist=limp&menses=menoxenia,那么我们拿到这些参数和值后,传入规则引擎,根据传入参数编码和值对比数据库中存储的编码和值。可以得出:A1=falseA2=trueA3=trueA4=trueA5=true   表达式(A1 && A2 && A3 && A4 && A5)计算结果为false,不展示结果;如果传入参数中sex=female,那么A1=true,表达计算结果为true,则展示相应的结果。2.2.2 表达式计算示例   importjavax.script.ScriptEngine;   importjavax.script.ScriptEngineManager;   publicclass TestExpress {   public static void main(String[] args)throws Exception {   String expr = "(A1 &&A2 && A3 && A4 && A5)";   ScriptEngineManager manager = newScriptEngineManager();   ScriptEngine engine =manager.getEngineByName("js");   engine.put("A1", true);   engine.put("A2", true);   engine.put("A3", true);   engine.put("A4", true);   engine.put("A5", true);   Object result = engine.eval(expr);   System.out.println(result);   }   }   总结   由于作者水平和认知有限,如有不对的地方请批评和指正。希望本文档可以帮助到您,或者给您一些启发。

华为Mate50新消息10月21日发布,鸿蒙3。0只是小菜每年下半年,手机界最大的盛宴无外乎就是两场,一场是iPhone新机秋季发布会,另一场是华为Mate系列新机的秋季发布会。但因为现在华为深受禁令困扰,所以很多人担心今年的华为Mate小鹏P5正式上市,激光雷达大床房了解一下?9月15日晚上,预热已久的小鹏P5正式上市。新车续航里程分为460550和600公里,这三个里程区间又被分为6个版本,分别为460G460E550G550E550P600P(数字代三星S22系列配置曝光,又跟苹果学坏了,下一个是高通吗?苹果A15处理器的跑分正式得到了曝光,从最新的数据来看,依旧是傲视群雄。三星和高通的处理器想要超越苹果是不现实的,但是没有一个芯片厂商愿意一直被压制。就算无法超越苹果,那么三星叫板华为Nova9系列大曝光,最新配置参数和真机曝光,采用高通骁龙近日,华为将在9月23日推出华为Nova系列的下一代新机,那就是华为Nova9系列,该新机的最新配置参数和真机图被曝光出来了。据微博某数码博主表示,全新的华为Nova9标准版将采用华为Mate50配置曝光,有望10月发布,1TB屏下摄像头鸿蒙3。0?iPhone13系列发布之后,引起了消费者的疯狂追捧,因为大量不加价的优势,不附赠充电头信号弱手机重以及无创新等槽点统统都被忽略掉了。由于预约太火爆,天猫都被挤爆了。但iPhone手机微信存储空间是如何清理的呢?手机微信存储空间是如何清理的呢?现在每个人都喜欢玩手机,喜欢看手机。就像蜜蜂离不开花朵,鱼儿离不开水,人生离不开读书。人已经离不开手机了,所以,手机对于我们而言,就是生活的一部分,开启平台化升级,有道词典竞逐泛知识风口图片来源视觉中国泛知识内容已经在互联网平台起飞,成为巨头们贴身肉搏摩拳擦掌之地。一个有趣的现象是,此前,这里很少看到学习型公司的身影。上线已经14年的网易有道词典,决心加快平台化升简洁无广告,微信支付宝这个新功能,太香了身为科技小编,小雷每天免不了要跟各式各样的App打交道。App更新了什么内容,有什么新的动向,那肯定第一时间就要掌握。然鹅一些App越升级越离谱,小雷已经看不懂它们更新的意义了。A以太坊扩容方案ETH以太坊扩容方案Optimism宣布将于10月推出一键部署功能,将在下一次主网升级中放弃自定义Solidity编译器,一些无法解决自定义编译器的项目将可以在不修改其代码的情况下部署在从小鹏P5到上汽大通MAXUSEUNIQ6,出色的颜值让新能源更出众作为全球首款搭载激光雷达的量产车,9月15日上市的小鹏P5,它凭借着性价比智能科技动力续航等方面的优势,引起了全网车迷的广泛关注。小鹏汽车作为一款面向15万元级别的新能源车型,丰富反垄断重拳!腾讯被责令解除独家音乐版权,限期30天完成继近期叫停虎牙和斗鱼合并后,监管又对腾讯在音乐业务上的收购祭出雷霆手段。7月24日,市场监管总局公告称,1月,该局根据举报,对腾讯2016年7月收购中国音乐集团股权涉嫌违法实施经营
专访东莞现代精工董事长何建明为客户提供全方位技术解决方案2021年是十四五开局之年新征程开启之年。站在新起点上,如何迈好第一步走好新征程至关重要。2021年,是挑战亦或是机遇?于产业,于企业,又该有一个怎样的应对方法论?面对这些问题,我理想汽车8月12日港股上市发行价最高为每股150港元理想汽车在港交所公告,理想汽车将于2021年8月12日(星期四)上午九时开始在联交所买卖将通过香港IPO发行1亿股股票,最高发行价为每股150港元,可最多筹集150亿港元(合124上半年98。8万辆新能源车都卖到了哪儿?文章来源盖世汽车冯凉爽今年上半年,新能源汽车再次迎来高速发展态势。盖世汽车根据保监会提供的上险数整理得出,上半年我国新能源汽车累计销量为98。8万辆,同比激增222。其中,纯电动汽OPPO也膨胀到开始造车了吗?今年年初,OPPO对外就公布了多项汽车领域的专利,而在昨天的6月29日,根据天眼查App显示,OPPO广东移动通信有限公司公开车辆控制方法和装置电子设备计算机可读存储介质专利,公开宁德时代全球第一?我要的是引领时代据韩联社消息,韩国能源市场分析公司SNEResearch发布的调查结果显示,今年上半年中国电池巨头宁德时代(CATL)全球动力电池装机量达到34。1GWh,同比增长234。2,排名零跑汽车获新一轮45亿融资,杭州国资出资额占6成8月18日,据零跑汽车发布消息称,该公司已经完成新一轮融资,融资金额45亿元。本轮战略投资由中金资本领投,杭州国资中信建投和中信戴卡等一同入股。值得注意的是,在零跑汽车此轮融资中,吉利2021上半年财报公布营收450亿发布五年计划8月18日,吉利汽车控股有限公司(简称吉利汽车)(HK。0175)发布2021年上半年财报,财报数据如下图片来源网络2021年上半年,吉利汽车营收达450亿人民币,同比增长22扣除特斯拉自动驾驶虚假宣传被彻查在蔚来汽车因为国内致命车祸深陷舆论危机之际,自动驾驶的始作俑者特斯拉也遇到了麻烦。据外媒报道,两名美国参议员已经敦促联邦贸易委员会调查特斯拉,认为特斯拉涉嫌虚假宣传和误导消费者,将盘点国内积极布局车载中控的TierOne企业(23家)图文来源亚洲新能源汽车网微信公众号随着汽车智能系统的普及,智能汽车内的物理按键逐渐被触控按键取代,车载显示呈现大屏化多屏化高清化等发展趋势,触控可能成为车载显示的标配。而一块智能的让智能公路控制汽车,实现智能驾驶?智能驾驶与智能公路智能驾驶即自动驾驶,该技术依靠人工智能视觉计算雷达监控装置以及全球定位系统,实现汽车自动驾驶车辆。现在自动驾驶的特点是让汽车去适应道路,应对复杂的路况。智能公路又专访展迅总经理袁应棠严密精准,保证产品的高质量2021年是十四五开局之年新征程开启之年。站在新起点上,如何迈好第一步走好新征程至关重要。于新能源汽车产业,于车载显示的相关企业,应该如何面对2021年的挑战和机遇?围绕新能源汽车