用于权限处理的Esper上下文用法

时间:2012-12-04 07:15:13

标签: esper complex-event-processing

我想在EPL查询中为不同用户设置查看权限,如下所示:

Users   AllowedView
U1      V1,V2
U2      V1,V3
U3      V2,V3

Input Events sequence are as:
  User View Amount
1. U1, V1,  20
2. U2, V3,  30
3. U3, V3,  40
4. U3, V2,  50

Output required as Sum(amount):
1. U1 - 20, U2 - 20 (as V1 is changed and permission to U1 & U2)
2. U2 - 50, U3 - 30 (as V3 is changed and permission to U2 & U3)
3. U2 - 90, U3 - 70 (as V3 is changed and permission to U2 & U3)
4. U1 - 70, U3 - 100 (as V2 is changed and permission to U1 & U3)

我认为上下文会这样做,但需要一些帮助来简化事件流和配置上下文。


所以我需要在视图组的基础上创建上下文分区。 如

Partition1 - V1,V2
Partition2 - V1,V3
Partition3 - V2,V3

这样所有计算都可以在它们的基础上完成。如您所见,上下文的分区键不是单个或双重属性,它基本上是一组相同的属性。所以我不能写为

Create context TestContext 
     partition by view 
     from EventPermissibleView;

1 个答案:

答案 0 :(得分:0)

下面的单个传入事件可以是多个分区吗? 也许UDF最容易为每个事件分配一个组ID,组ID可以 只是所有视图的字符串附加(已排序)