0

需要知道是否有可能(并且会产生影响)在 CEP(单核化器)中实现 b 树。我们面临的问题是我们不能每秒处理超过 1000 条消息。我认为这是由解决方案的实施方式引起的。

我们想检测一个位置是否在一个区域内,并在进入、停止、开始和离开区域时引发一个事件。我们现在只有大约 500 个区域,每秒最多 1000 个位置想要增加区域。现在正在备份消息。我认为解决方案是在 CEP 中引入 B 树。所以首先你会检测一个位置是否在头部区域,然后查询位置是否在这个头部区域内的区域中。我认为这可以提高性能,但不确定是否可行或明智。

有没有人有任何经验?

4

1 回答 1

2

首先,我们弃用社区论坛,转而在此处回答问题,因此您来对地方了。

其次,您的问题的答案可能需要更多关于您目前正在做什么的细节。您目前如何管理您的地理围栏?Apama 内置支持将位置与具有位置类型的矩形区域进行匹配。在带有侦听器的超树表达式中使用它应该非常快。

要管理其他形状的地理围栏,我们建议首先在侦听器中使用边界框,然后对边界框内的事件进行特定的地理围栏计算。

要回答您关于分层方法的问题 - 如果上述方法没有足够的帮助,那么您可以从摄取上下文中的 corse-grained 边界框开始,然后使用超树再次委托给具有更详细边界框的多个辅助上下文。这些次要上下文将能够并行工作。

在一台大型机器上,我们已经成功地处理了数千个地理围栏中的数十万个位置更新,尽管这在很大程度上取决于您在获得匹配时采取的操作以及匹配率是多少。

HTH,马特

于 2018-08-24T16:52:48.700 回答