Principio de funcionamiento de Esper

Principio de funcionamiento de Esper

Lógica de generación de reglas

Código relacionado : com.espertech.esper.core.service.EPAdministratorImpl

Lógica relacionada con el procesamiento de sentencias de filtro: com.espertech.esper.filter

Vea la lógica relacionada con la creación y el procesamiento: com.espertech.esper.view

Cree una regla llamando al método epService.getEPAdministrator (). CreateEPL ().

 

Al crear una nueva regla, esper analizará la declaración epl, generará un objeto EPStatement e iniciará la regla. Durante el proceso de inicio de la regla, la instrucción de filtro en la regla se extraerá y convertirá en un FilterValueSet, que se guardará en el motor para el posterior procesamiento de verificación de coincidencia.

Para las reglas categoría estadística, estamos utilizando E xternally-temporizado la ventana . Además de procesar las declaraciones de filtro, también se mantiene un ExternallyTimedWindowView dentro del objeto EPStatement. Hay un objeto TimeWindow dentro y hay una cola incorporada para guardar datos.

procesamiento de declaración de filtro

image.png

Reglas de estadísticas, crear vista

image.png

image.png

Lógica de procesamiento de eventos

Código relacionado : com.espertech.esper.core.service.EPRuntimeImpl

Lógica relacionada con el procesamiento de agregación;  com.espertech.esper.epl.agg.service

Envíe el evento llamando al método epService.getEPRuntime (). SendEvent ().

Para las reglas de plantilla ordinarias, cuando se produce un evento, recorre el objeto de filtro en el motor actual para encontrar las reglas de la coincidencia. Luego, repite todas las reglas de la coincidencia, procesa, extrae el resultado de las reglas, activa la función de devolución de llamada y finaliza el proceso .

Reglas estadísticas, cuando llega un evento, el flujo de procesamiento anterior es similar a uno a uno, pero durante el procesamiento de coincidencias, los datos caducados en la cola se limpian en tiempo real de acuerdo con la función de tiempo, se escriben nuevos datos y el resultado de la agregación se actualiza al mismo tiempo. Cuando el resultado de la agregación cumple las condiciones, se activa la función de devolución de llamada y finaliza el procesamiento.

Procesamiento de evento de plantilla común

image.png

image.png

image.png

Procesamiento de eventos en la parte de vista de la plantilla estadística

image.png

image.png

image.png

image.png

Supongo que te gusta

Origin blog.51cto.com/14743302/2487093
Recomendado
Clasificación