Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wso2 复杂事件处理器2.1.0输入流_Wso2_Complex Event Processing - Fatal编程技术网

Wso2 复杂事件处理器2.1.0输入流

Wso2 复杂事件处理器2.1.0输入流,wso2,complex-event-processing,Wso2,Complex Event Processing,我是CEP2.1的新手,我的问题与CEP保持输入流的时间框架有关 假设您定期向某个输入流发送数据,比如说“HELLOSTREAM”。 CEP将输入保存到流的时间有多长?最长时间是多少 比如说,如果我连续365天每天发送数据,我会在366天返回所有数据,还是他会在某个时间截断数据(会持续100天)?无论我在查询中设置了什么时间窗口 有限制吗?CEP是一个实时处理服务器。它用于实时查找预定义的模式,并用于实时监控。它将数据保存在内存中并处理事件,但您可以将数据持久化到cassandra以进行分布式处

我是CEP2.1的新手,我的问题与CEP保持输入流的时间框架有关

假设您定期向某个输入流发送数据,比如说“HELLOSTREAM”。 CEP将输入保存到流的时间有多长?最长时间是多少

比如说,如果我连续365天每天发送数据,我会在366天返回所有数据,还是他会在某个时间截断数据(会持续100天)?无论我在查询中设置了什么时间窗口


有限制吗?

CEP是一个实时处理服务器。它用于实时查找预定义的模式,并用于实时监控。它将数据保存在内存中并处理事件,但您可以将数据持久化到cassandra以进行分布式处理

这里的数据将根据您定义的窗口大小保留在内存中,这取决于您使用的窗口类型以及给定给该窗口的时间或长度。。。如果您不使用任何窗口,它将不会在内存中保留任何数据


如果您想要存储365天或100天的数据,那么它不是一个实时用例。为此,您必须使用BAM之类的离线处理服务器。

要添加到@Mohanadarshan的答案中,如果您希望在较长时间内从快速事件流中提取并存储一些值,则更好的基于CEP的方法是使用持久事件表(这将包含在即将发布的CEP 3.0.0版中)。通过这种方式,您可以对一些提取和持久化的数据进行实时处理。但是正如@Mohanadarshan所提到的,如果您的要求是批处理(并且不需要实时检测任何内容),WSO2 BAM将是一个更好的选择


使用长时间滑动窗口存储大量数据不是一个好主意,因为这些数据存储在内存中,而且如果服务器宕机,您也会丢失数据。

您好,谢谢您的回答。我们正在考虑一个场景登录,您拥有用户在过去100天内的预登录数据,以及重新登录时的数据st来比较它是否来自相同的ip等。你认为CEP不适合这样做吗?(假设它向某人发送一个警告,可能帐户被黑客或其他东西)这是一个基本的例子,同一个cam可能在使用信用卡的地方使用信用卡等等……我认为Rajeev的回答为您的用例提供了解决方案……将使用CEP 3.0.0中的事件表提供此支持。关于您关于窗口是否截断事件的问题,答案是否。时间窗口将保存所有数据ng到给定的时间段。如果您在很长一段时间内使用时间窗口,并且希望确保在服务器崩溃时保留数据,则一个选项是启用快照。这将不时保持窗口的状态,以便可以保留在上次快照操作之前累积的所有事件。