CEP中使用的模式匹配算法与drools,siddhi等规则引擎之间的区别?

时间:2018-01-25 09:46:11

标签: pattern-matching drools esper siddhi

模式匹配算法主要用于规则引擎或复杂事件流处理引擎。正如我研究import React from 'react'; import ReactDataGrid from 'react-data-grid'; import logo from './logo.svg'; import './App.css'; class App extends React.Component { constructor(props, context) { super(props, context); this._rows = []; this._columns = []; } getRows () { return this._rows; } render() { return ( <ReactDataGrid columns={this._columns} rowGetter={this.getRows} rowsCount={this._rows.length} minHeight={500} /> ); } } export default App; 规则引擎使用drools算法进行模式匹配。复杂事件流处理引擎的作用如retesiddhiFlinkCEP。我在网上浏览我没有任何关于此的信息。请让我理解CEP和规则引擎中使用的模式匹配。而且,规则引擎和CEP之间的区别是什么,因为它们看起来与我类似。

2 个答案:

答案 0 :(得分:0)

EPL模式的Esper使用具有自下而上评估的动态状态树。匹配识别的Esper使用NFA。连接和子查询的Esper(通常用于查找数据中的模式)使用嵌套连接和合并连接进行查询规划,并根据相关标准(哈希,btree,其他)自动构建各种类型的索引。用于将传入事件与感兴趣方进行匹配的Esper将各种类型的索引构建到索引过滤条件的嵌套树中。用于数据窗口的Esper构建了一个通信插入和删除流的运算符图。

答案 1 :(得分:0)

您可以从研究论文[1]及其[2]的架构中获取有关Siddhi及其工作原理的一些基本信息。

[1] https://www.researchgate.net/publication/229139642_Siddhi_A_Second_Look_at_Complex_Event_Processing_Architectures

[2] https://wso2.github.io/siddhi/documentation/siddhi-architecture/