模式匹配算法主要用于规则引擎或复杂事件流处理引擎。正如我研究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
算法进行模式匹配。复杂事件流处理引擎的作用如rete
,siddhi
和FlinkCEP
。我在网上浏览我没有任何关于此的信息。请让我理解CEP和规则引擎中使用的模式匹配。而且,规则引擎和CEP之间的区别是什么,因为它们看起来与我类似。
答案 0 :(得分:0)
EPL模式的Esper使用具有自下而上评估的动态状态树。匹配识别的Esper使用NFA。连接和子查询的Esper(通常用于查找数据中的模式)使用嵌套连接和合并连接进行查询规划,并根据相关标准(哈希,btree,其他)自动构建各种类型的索引。用于将传入事件与感兴趣方进行匹配的Esper将各种类型的索引构建到索引过滤条件的嵌套树中。用于数据窗口的Esper构建了一个通信插入和删除流的运算符图。
答案 1 :(得分:0)
您可以从研究论文[1]及其[2]的架构中获取有关Siddhi及其工作原理的一些基本信息。
[2] https://wso2.github.io/siddhi/documentation/siddhi-architecture/