如何在滑动窗口中为以下条件编写流口水规则



我是流口水融合的新手。我想编写具有以下条件的规则。

  1. 事件数据定期发送到流口水引擎,其中包含名为"eventId"和"state"的两个属性。例如:- "data":{"eventId":"evet123","state":1}
  2. 当第一次事件发生时,它存储在工作内存中。
  3. 在第一个事件之后,无论发生什么事件,该事件的状态都会与前一个事件进行检查,以及上一个事件的状态是否为 1,当前事件的状态是否为 2。 所以在这种情况下执行一些函数。 和当前事件替换为工作内存中的上一个事件。

例如:- if(上一个事件状态为 1 --->当前事件状态为 2)则调用函数

注意:- 事件 ID 不是唯一的。它可能与以前的事件相同或不同。

(可能在此场景中使用基于长度的滑动窗口,但我不知道如何在规则中转换此要求。

请任何流口水的专家指导我解决这个问题。

不管你怎么说,但你所描述的是一个奇怪的事件序列:第一个事件的状态为 1,所有后续事件的状态为 2。

rule match12
when
  $e1: Event( $id: id, state == 1 )
  $e2: Event( id == $id, state == 2 )
then
  retract( $e1 );
  modify( $e2 ){ setState( 1 ) }
end

相关内容

  • 没有找到相关文章

最新更新