高级检索

    PMTree:一种高效的事件流模式匹配方法

    PMTree: An Efficient Pattern Matching Method for Event Stream Processing

    • 摘要: 复杂事件处理技术从多个持续事件流中分析并提取满足特定模式的事件序列.高吞吐率场景下,如何快速准确地识别事件序列是复杂事件处理技术中一个非常重要的问题.现在事件流的模式匹配方法——NFA、Petri网、有向图等——存在语义描述能力不足、部分算子实现代价高等缺陷.针对这一现状,设计并实现了一种基于树的模式匹配方法——PMTree.PMTree定义了事件模型及相应事件算子,将事件序列映射为树节点,同时将时间窗口约束及谓词约束等放置在相应节点,这些树节点连接成一棵PMTree来支持实时的事件筛选与过滤.进一步研究了PMTree构建过程中的优化策略,并提出了开销模型以及优化构建算法,以尽可能减少模式匹配开销.实验结果表明,相同测试条件下基于PMTree实现的复杂事件处理引擎Cesar吞吐率是基于NFA实现的开源引擎Esper的3~6倍,并且在不同事件量或事件序列复杂度下性能表现稳定.

       

      Abstract: Complex event processing technique focuses on analyzing and extracting the event sequence of the specific pattern from the continuous event streams. Under the high-throughput situations, how to recognize the event sequence quickly and accurately has become an important problem. The state-of-the-art pattern matching methods, i.e. NFA, Petri and DAG, have shortcomings in the expressive ability and high cost to support some requirements. To deal with this situation, we propose a tree-based pattern matching method PMTree. PMTree defines event model and corresponding event relation operator, maps event pattern to the specific nodes in PMTree, applies timepredicate constraints on these nodes, and at last joins them to build a PMTree. We study the optimization strategies in the tree construction which can reduce the pattern matching cost and search the optimal combination of tree nodes, providing a cost model and an optimization algorithm. Experiments show that PMTree is more efficient, compared with Esper, an open source complex event processing engine; in the same situation the processing speed can be 3—6 times faster than Esper, and its performance is stable under different situations, e.g. the number of events, the type of event sequence or the complexity of event sequence, etc.

       

    /

    返回文章
    返回