在运行时创建动态窗口 - Drools Fusion 6 / Esper

时间:2014-03-03 05:37:30

标签: dynamic complex-event-processing esper sliding-window drools-fusion

我需要实现一个长度为(5)的动态滑动窗口,其中我将来自不同航班的传入航班状态转换为一个流。

根据各种航班的flight_id属性 - 必须在运行时创建长度为5的动态窗口,并且必须单独维护其平均速度。

当我将具有不同航班ID和速度的多个航班插入其中时,Drools Fusion中的此示例无效 - http://books.google.co.in/books?id=trrfxX8JCisC&pg=PA136&lpg=PA136&dq=flight+average+speed+example+drools+fusion&source=bl&ots=NpRv7D32Us&sig=6XbWtIQ2T1idGMQRU_hQZgmd8fc&hl=en&sa=X&ei=RBAUU92yIsLkiAenFg&ved=0CDIQ6AEwAQ#v=onepage&q=flight%20average%20speed%20example%20drools%20fusion&f=false

当窗口检测到新的航班ID时,窗口会重置。

如果在Drools Fusion或Esper或任何其他开源CEP中有解决方案,请告诉我。

提前致谢。

1 个答案:

答案 0 :(得分:0)

该链接无效。

您是否可以澄清“动态窗口”和“窗口重置”?目前尚不清楚这可能意味着什么。

在Esper中,我在“4.2.6.1。启动条件的不同事件”的文档中找到了一个示例,并为您重写了可能与某些模糊要求相匹配的内容:

create context Flight initiated by distinct(flightId) FlightEVent 
  terminated after 5 seconds; // you don't mention when to throw a flight away
context Flight select avg(speed) from FlightEvent.win:length(5);