0

我在使用 Proton CEP 时遇到了这种问题:我目前有一个“序列”EPA;它的输入是 2 个事件。但是这些事件有不同的粒度:假设我有 A 和 B 事件;我收到 N 个“A”事件和 M 个“B”事件,其中 M << N。所以我想要一个规则,比如“如果 A 类型的事件在 X 秒内没有被消耗,则删除它”,否则我'有一个很长的 A 事件队列;我只需要针对最近(时间)事件评估规则。实际上,我有一个假的室温传感器,它每 5 秒发送一次温度更新,我还有另一个程序可以检查外部天气并每分钟发送一次。

知道如何解决这种情况吗?

非常感谢!

4

2 回答 2

0

所有相关事件实例都保存在相应 EPA 的本地状态中。对于每个 EPA 操作数,您都有规定如何收集状态以及如何构建事件派生匹配集的策略。例如,根据操作数定义并具有“每个”、“第一个”和“最后一个”值的实例选择策略将告诉您是检查所有 A 实例是否与 B 实例匹配,还是第一个(按顺序到达),或最后一个。消费策略说明一旦检测到序列如何处理操作数状态 - 应该从 EPA 的状态中删除参与序列的say A 的实例(策略的“消费”值)还是应该保留。

结合使用这些策略应该可以为您提供所需的行为

于 2016-03-17T09:47:05.170 回答
0

我猜在“消耗”中你的意思是到达,所以你想评估 A 事件到达质子 pcoressor 的时间吗?或A事件之间的时间?您想确保 A 事件确实以固定速率连续吗?“删除”一个事件意味着忽略它,因为事件不会保存在任何地方,只是被处理。最后,你想在这里检测什么?比如,与室外温度相比,室温的趋势如何?然后,相应地发出输出事件?

谢谢。

于 2016-03-16T09:45:35.113 回答