1 / 11
文档名称:

规则引擎解决方案调研报告-V1.0.doc

格式:doc   大小:288KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

规则引擎解决方案调研报告-V1.0.doc

上传人:小果冻 2024/4/25 文件大小:288 KB

下载得到文件列表

规则引擎解决方案调研报告-V1.0.doc

相关文档

文档介绍

文档介绍:该【规则引擎解决方案调研报告-V1.0 】是由【小果冻】上传分享,文档一共【11】页,该文档可以免费在线阅读,需要了解更多关于【规则引擎解决方案调研报告-V1.0 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。::4/21/ó,2024Page2RevisionHistoryDateVersionDescriptionAuthor4/21/---中国检验检疫电子监管系统forJ2EEVersion::4/21/ó,2024Page3目录1. 规那么引擎 概述 42. 应用方案的一般实现 建立规那么集 部署规那么集 规那么效劳接口-JSR94 对规那么的计算 规那么的过滤 使用计算结果 53. 现有的商业解决方案 ILOG新产品ILOG JRules 操作人员已经显示提单列表 64. 其它解决方案 提单和报检单完成对碰 65. 评估 6中国检验检疫电子监管系统forJ2EEVersion::4/21/ó,2024Page4规那么引擎解决方案调研报告规那么引擎规那么引擎是解决可变的商业规那么的问题的概述规那么引擎〔RulesEngine〕的运作机制是在内存中向对象应用一套规那么。首先内存使用来自调用对象的输入,例如用户档案请求会话。这样,在任何规那么实际激活之前,在内存中就已经有了一份用户档案的内容。规那么只能在一个上下文环境中执行,上下文环境把规那么集和内存关联起来。该环境提供了到RulesEngine的接口,RulesEngine控制着应用程序的规那么局部与内存之间的关系。内存由生产规那么〔productionrules〕负责操作,生产规那么包含在规那么集里。,依照规那么的左半边〔left-handsides,LHS〕针对内存中的对象进行计算。如果内存中的对象与LHS中描述的模式匹配,就会触发规那么的右半边〔right-handside,RHS〕指定的操作。此外某些操作可能会在内存中参加新的对象。例如,规那么Classifier对用户年龄进行测试,>45,就在内存中参加一个新的Classification对象。生产系统的运行,要执行以下操作:1.??????????匹配:估计规那么的LHS,判断哪个规那么与当前内存中的内容匹配。2.??????????冲突解决:选择一个LHS匹配的规那么。如果没有规那么匹配,就停止解释。3.??????????操作:执行选中规那么RHS中指定的动作。4.??????????返回第1步。规那么会一直在内存中执行,直到冲突解决集变为0时才停止〔也就是没有规那么能激活了〕。在RulesEngine停止之后,规那么管理器组件会返回一个对象列表,列表中包含内存中仍然存在的对象。一个可能的场景就是,还剩下一个类型为“Classification〞或“ContentQuery〞的对象。RulesManager接着对剩下的对象进行迭代,用可选的对象过滤器过滤它们。过滤器可以有选择地忽略某些对象或者对某些对象进行变换。规那么引擎分类值得注意的是,存在不同类型的规那么引擎,在决定如何应用一种工具之前理解这种工具的用途是极其重要的。当您跨业务规那么领域进行调查研究时,您将注意到这些工具可以分为以下几类:简单业务规那么〔simplebusinessrule〕——通过一张简化的、直观的词汇表来表达并且是在应用程序或业务流程的可变性情况下调用的一种业务规那么。这种规那么引擎的一个很好的例子就是ilog、Blaze和IBM的BRBeans。中国检验检疫电子监管系统forJ2EEVersion::4/21/ó,2024Page5人工智能规那么〔artificialintelligencerule〕——管理AI和数据挖掘〔DataMining〕产品中算法行为的规那么。这种类型的规那么引擎的一个例子就是DB2?IntelligentMiner?产品。事件相关规那么〔eventcorrelationrule〕——在事件相关性中用到的规那么,用于将一套各自独立的事件聚合成一种聚合的〔aggregated〕有意义的形态。这种类型的规那么的一个很好的例子就是Tivoli?EventConsole系统管理产品。数据为中心的规那么〔data-centricrule)——这些是约束对数据的检索和更新的规那么。这些约束控制着如何转换数据以及谁可以访问数据,并通过加强语法、语义和上下文保存了数据的完整性。这种规那么引擎的一个很好的例子就是Versata。转换和验证规那么〔transformation&validationrules〕——这些是应用集成或信息集成场景中定义对数据的修改的规那么。这些规那么定义数据是如何修改、净化或验证的。提供了这种规那么的产品包括WebSphereBusinessIntegration和DB2WarehouseManager。应用方案的一般实现要使用规那么效劳〔RulesService〕,有几个步骤。首先,必须预先建立规那么,然后把规那么部署到一个正在运行的规那么效劳器实例中。接着,规那么被计算,而计算结果在返回用户之前,有可能先被过滤。最后,用户在应用程序代码里利用经过规那么处理的结果。一般的应用环境:中国检验检疫电子监管系统forJ2EEVersion::4/21/ó,2024Page6J2EE应用环境:中国检验检疫电子监管系统forJ2EEVersion::4/21/ó,2024Page7建立规那么集规那么集是符合特定模式的规那么文件或者规那么库。部署规那么集每个应用程序都与自己的数据实例相关联,这些数据的可以存储于文件,或者数据库系统。这些数据,都能通过数据同时机制进行部署。作为最正确实践,大型的规那么应用系统采用数据库存储规那么。规那么效劳使用数据同时机制〔DataSync〕来把规那么集部署到运行效劳器。也就是说,用户只需把规那么集保存在规那么库,规那么集就会自动被部署。如果规那么库里已经存在相同的规那么集,那么数据同时机制会自动检查规那么集的变化,规那么效劳数据库会自动刷新规那么集的实例。这意味着我们可以在效劳器运行的时候调整规那么,或者对解析错误进行调试。修改规那么集之后,无需重新启动效劳器。规那么效劳接口-JSR94规那么引擎的调用接口可以参照JSR94对规那么的计算对规那么集进行计算,可以考虑通过以下步骤:·????????????规那么引擎初始化,建立“内存〞。·????????????规那么控件指明要使用哪个规那么集,并且还可以进一步指定要对哪个规那么进行计算(默认是全部规那么都计算),以及是否过滤计算结果。所有这些参数都可以通过Rules控件进行配置,并传递给规那么引擎,用于对规那么进行计算。·????????????开发人员建立对象,并把对象参加“内存〞。例如对象可能是用户的档案、Request对象等。这些参数会作为变量传递给规那么控件的evaluate()方法·????????????通过RulesExecutorControl调用规那么引擎。·????????????规那么引擎根据输入的规那么集和输入的对象创立工作区·????????????规那么引擎反复触发,根据输入对象的状态和规那么条件执行规那么。·????????????当规那么引擎遇到没有规那么可以触发的时候,计算结果和所有的原始输入对象一起存在于内存里。·????????????由于输入对象也是结果的一局部,因此可以根据一个类对结果进行过滤。中国检验检疫电子监管系统forJ2EEVersion::4/21/ó,2024Page8规那么的过滤假设现在已经有了一个规那么,就像前面例子里的简单规那么一样。应用程序的目标是输入用户的档案,检查用户的某些属性,根据这些属性来触发一些规那么,如果规那么的计算结果为真,那么初始化一个新的Integer对象。然后在页面流〔pageflow〕里,可以使用Integer值进行决策。在规那么引擎已经触发完所有规那么并完成所有预定工作结束之后,会返回一个Iterator对象,它描述了仍然保存在内存里的所有对象。可能没有必要关注内存里有哪些对象,例如用户档案、Request对象等,真正想从结果中得到的,可能只是Integer对象。所以我们需要对结果进行过滤。对象过滤器是一个参数,可以在计算规那么时传递给规那么。如果使用规那么控件,参数在控件的属性里指定。如果直接使用控制管理器,参数在evaluate()方法的参数中指定。使用计算结果现在,假设你已经建立了上面的简单规那么,用RulesExecutorControl计算了规那么,而且还过滤了计算结果。那么,就可以在程序中直接使用该结果了。现有的商业解决方案ILOG公司的新产品ILOG JRules ILOGJRules(商业规那么工具)提供一个软件组件,用户可以用规那么来描述他的商业逻辑,并且可以正确运行这些规那么。ILOGJRules利用五个功能组件来构建整套业务管理系统。一是规那么开发环境,用于完整的开发、调试、发布和管理商务规那么系统的图形环境;二是商务规那么库,存放规那么及其相关数据,它是商务规那么管理的基石,能根据工业标准被扩展;三是商务规那么的管理,能够实现规那么查询、规那么历史读取、规那么版本控制、规那么读写权限设置以及规那么状态管理;四是商务规那么语言,让用户使用****惯的商务语言预定义商务规那么;五是规那么编辑器,它具有直观友好图形界面,非技术人员可以通过非常简单的操作等方式创立或修改商务规那么。中国检验检疫电子监管系统forJ2EEVersion::4/21/ó,2024Page9案例:-Hill用Java实现的一个经过扩充的CLIPS版本。它以CLIPS的设计原理为根底进行编写,除继承了CLIPS的优点外,还具有许多自己独特的特征,如支持正向和逆向推理,可以在系统运行环境下直接调用Java的类库等,这些特点将专家系统的开发过程同功能强大的Java语言结合起来,使采用Jess语言开发的专家系统具有良好的移植性、嵌入性,可以方便地应用到网络上的不同机器中。另外,Java多线程机制使Jess可以与其他应用程序并发执行,同时机制保证了对共享数据的正确操作,通过使用不同的线程完成特定的行为,就可以很容易地实现网络上的实时交互行为。目前,Jess被广泛用于学术、工业、商业等领域,是一个有着广阔开展前景的专家系统开发平台。Jess的根本组成和知识表示同大多数专家系统工具一样,Jess的核心也是由事实库、规那么库、推理机三大局部组成,并采用产生式规那么作为根本的知识表达模式。在Jess中,事实包括简单事实和对象事实。简单事实就是一个描述事物的断言,而对象事实除此之外还封装了方法,可以接受外界信息改变自身的特征。这一概念本身并不是Jess首次提出的,ART-IM、CLIPS都支持这一概念。但Jess表达对象事实的方法确实别具一格:它用Java而非系统本身的语言来定义对象。,对象事实通过系统本身的语句defclass和make-instance来定义,但在Jess中,类的定义由Java语言书写,编译通过后即可动态地参加系统中。用Java虚拟机编译通过后,通过defclass命令将该类参加系统,它就可以执行类似于CLIPS中对类的各种操作,如生成它的一个实例、调用它的方法等。由此可见,Jess可以方便地调用Java中的类库,使用Java中的各种数据结构和方法,从而具备其他系统不可比拟的优良的嵌入能力。Jess通过模式匹配语言对事实进行操作。在Jess中,模式匹配操作符的类型有很多,从可以同任意事实进行匹配的单一操作符到只能同满足特定约束值的事实进行匹配的复杂操作符。特别要指出的是,Jess中有“unique〞条件元素,它告诉系统同该模式匹配的事实是惟一的。这样,当模式发现一条事实同它匹配后,就会停止对事实库的检索,在实际应用中,这可以将系统的性能提高20%~30%,而CLIPS系统不支持这一条件元素。中国检验检疫电子监管系统forJ2EEVersion::4/21/ó,2024Page10在Jess中,规那么的表达形式沿用了CLIPS的语法结构,通过对规那么前件和后件的限定,它可以支持内容丰富的模式匹配语言。另外,Jess支持面向过程的编程方式,它提供了一些语句来控制规那么后件的操作流程,如使用if…then…else和while…do…语句,这样它就能很有效地利用面向过程编程的优势。总之,Jess的这些特性使系统拥有很强的知识表示能力。,前向推理同CLIPS的原理相同,逆向推理那么是Jess不同于CLIPS的一个显著特征。在Jess的逆向推理中,规那么仍采用if…then…结构,但是在逆向推理时,推理引擎执行的是前件没有得到满足的规那么,这种行为常常被称为目标寻找。显然,Jess同时支持前向和逆向推理的特点使其推理能力得到了加强。推理的效率很大程度上依赖于匹配算法的效率。Jess通过实现Rete匹配算法来提供非常高效的前向和逆向推理。Rete算法利用了专家系统中时间冗余性和结构相似性这两个特点,有效地减少了用于匹配操作的次数。因此,当系统的性能是由匹配算法的质量决定时,Jess的优点将更为明显。应当指出的是,Rete算法是一个以空间换取时间的算法,所以,应用Jess时应当考虑内存的消耗。、命令行的开发环境,但也可以使用文本编辑器编辑代码,然后再通过系统命令以批处理的方式载入到系统中。同时它还提供了一个简单的图形开发环境。类似于CLIPS,Jess非常重视系统调试工具和错误跟踪这两方面。它的调试命令可以帮助使用者监视事实库、知识库中的内容,以及议程表中被激活规那么的情况,也可以监视某一规那么前件的局部匹配的情况。在错误跟踪方面,Jess中的JessException类提供了丰富的错误信息,包含了对出错问题的解释和堆栈跟踪表中的信息,如出错子函数的名字、相关的语句、出错的行数等,可以很好地帮助开发人员发现错误原因。Jess提供了一个非常完备的电子文档,它可以帮助开发人员很快查询到需要的信息,将Jess嵌入到Java应用程序中。由于Jess在很大程度上是CLIPS的克隆版本,感兴趣的读者可参考CLIPS用户手册和参考手册。Resourceat