Drools Fusion介绍.docxVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Drools Fusion介绍

drools?fusion(3)2010-12-02 23:07五、事件处理模式(Event Processing Modes)?Drools支持2种事件处理模式:云模式(Cloud Mode)和流模式(Stream Mode)?1.云模式(Cloud Mode)?云(Cloud)处理模式是默认的处理方式。?在云模式下,不会区分事实和事件,都看成是事实。?(1)没有时间的概念。尽管事件在插入引擎被赋予了时间戳,也不能判断该事件“多大了”,因为没有“现在”的概念。滑动窗(sliding windows)基于“现在”的概念,所以在云模式下无法使用。?(2)无序的事件云。由于事件无序,没有自动的生命周期管理,需要像正常的事实一样显示的删除事件。?云模式虽然是默认的执行模式,我们也可以配置它:?KnowledgeBaseConfiguration config = KnowledgeBaseFactory.newKnowledgeBaseConfiguration();?config.setOption( EventProcessingOption.CLOUD );?等同系统属性配置:?drools.eventProcessingMode = cloud?2.流模式(Stream Mode)?当处理事件流的时候需要选择流处理模式。?在流模式下:?(1) 插入到引擎里的事件必须是时间顺序的。?(2) 引擎强制性的和使用的会话时钟session clock同步。?配置流模式:?KnowledgeBaseConfiguration config = KnowledgeBaseFactory.newKnowledgeBaseConfiguration();?config.setOption( EventProcessingOption.STREAM );?等同配置系统属性:?drools.eventProcessingMode = stream?使用流(STREAM)模式,引擎有时间流和现在的概念(通过读取Session Clock的时间戳),?提供了以下3种支持:?(1) 滑动窗的支持?(2) 自动的时间生命周期管理?(3) 使用消极模式(Negative Patterns)自动的规则延迟?3.会话时钟(Session Clock)在流模式(Stream mode)中的作用?在云模式下,会话时钟只有一个作用,就是给插入到working momery 的事件赋予时间戳的值(如果规则没有定义时间戳属性)?在流模式下,会话时钟负责维护当前时间戳,基于当前的时间戳,引擎根据事件的年龄计算所有时间运算,从多种源同步流,安排未来任务等等。?4.流模式(in Stream Mode)中的消极模式(Negative Patterns)?消极模式在流模式和云模式意义是不同的。?在云模式下,所有的事实和事件都是预先知道的,消极模式立即计算执行?//a rule that activates immediately upon matching?rule Sound the alarm?when???? $f : FireDetected( )???? not( SprinklerActivated( ) )?then???? // sound the alarm?end?在流模式下,带有时间约束的消极模式可以要求引擎等待一段时间后激活规则。?//a rule that automatically delays activation due to temporal constraints?rule Sound the alarm?when???? $f : FireDetected( )???? not( SprinklerActivated( this after[0s,10s] $f ) )?then???? // sound the alarm?end?六. 滑动窗(Sliding Windows)?滑动窗是一种选择事件范围的方式。?滑动窗有2种实现方式:滑动时间窗(Sliding Time Windows),滑动长度窗(Sliding Length Windows)。?注意:滑动窗只有在引擎为(STREAM)流模式下才是可用的?1.滑动时间窗(Sliding Time Windows)?滑动时间窗(允许我们的规则)仅仅匹配发生在最近X时间单元的事件。?例如,如果只关心最近2分钟的股票行情,模式(pattern)可以这样写:?StockTick() over window:time( 2m )?更复杂的例子:?如果最近10分钟从传感器读来的温度高于最大的临界值,发出警报。?rule Sound the alarm in case temperature ri

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档