1

在 CEP 引擎中,我可以查找未发生事件的模式。

编辑欺诈模式检测查询:如果在一天内两次购买同一张卡并且第一次购买少于 10 美元且第二次购买超过 10,000 美元,我是否可以触发该事件。

从每 (a1 = purchase[price > 10] ) NOT -> a2 = purchase [price >10000 and 1.cardNo==a2.cardNo] 在 1 天内插入潜在欺诈 a1.cardNo 作为 cardNo,a2.price 作为价格, a2.场所作为场所;

如果在过去一小时内 event1 没有被 event2 跟随,则触发,而不是如果在过去一小时内 event1 被 event2 跟随,则触发?

4

1 回答 1

0

从 CEP 3.1.0 开始不支持不出现(但它将在下一个版本 4.0.0 中可用)。

但是您的用例可以以另一种方式实现。由于您想查找过去一小时内至少发生 1 个 > 10 且没有事件 > 10000(每个卡号)的事件,您可以执行以下操作:

  1. 添加过滤器,过滤价格 > 10 的事件
  2. 将它们发送到时间窗口(1 小时)
  3. 在时间窗口中,使用函数计算 max() 值(使用 group by)并使用输出事件发出最大值
  4. 在过滤器中,检查最大值 < 10000

这将查找一个或多个价格 > 10 但在最后一小时内小于 10000 的事件。

您会发现以下文档对实现这一点很有用: https ://docs.wso2.com/display/CEP310/Windows

于 2014-08-29T01:52:15.193 回答