复杂事件处理中多聚合查询的动态共享方法

文档序号:37678371发布日期:2024-04-18 20:51阅读:31来源:国知局
复杂事件处理中多聚合查询的动态共享方法

本发明属于实时数据流处理和事件驱动架构领域,专注于优化复杂事件处理(complexeventprocessing,cep)中包含kleene模式的多个聚合查询的处理。cep主要用于在实时产生的大量事件数据流中提取有意义的信息,通常与事件驱动架构相结合,使系统能够在事件发生时触发相应的动作和反应。此外,在事件流查询语言领域方面,cep需要使用特定的语言来查询和分析事件流中的数据。通过定义和识别复杂事件模式来检测和分析事件流中有意义的模式。在许多实时应用场景中,比如实时金融交易和传感器数据处理,大量的时序事件不仅包含时间戳,还携带其他有用信息,如订单金额、地理位置等。本发明旨在通过优化cep中查询的共享技术,更有效的处理包含kleene模式的多个聚合查询,提高系统在处理大规模时序事件流的实时性和响应速度。

背景技术

1、随着传感器和连接设备的使用越来越多,包含kleene模式的聚合查询成为应对大规模实时数据流的重要技术。聚合查询通过对实时数据流进行汇总和计算,从中提取有意义的信息,为用户提供即时、全面的数据洞察。并且cep系统往往需要同时处理多个聚合查询,因此需要为多个聚合查询生成最佳的共享计划,加快系统的执行。聚合查询的处理在金融领域、电信和网络监控等多个领域都有广泛的应用潜力。聚合查询处理依赖于以下
背景技术:

2、实时数据流处理:实时数据流处理技术在数据产生的同时进行实时处理和分析,为cep系统提供了实时监控、过滤和分析大规模数据流的能力。

3、模式匹配:cep根据预定义的模式识别数据流中的特定序列模式。该技术通过定义模式,在接收到的数据流中寻找与之匹配的序列或结构,从而实现对数据的有效分类、过滤或提取。

4、查询优化:在查询优化中,主要涉及两个技术,一是多查询优化,主要关注于提高查询处理性能和降低冗余计算。利用查询操作符的交换性和结合性,以支持查询中的语义等价。即系统可以对原始查询进行优化,将其转换为不同形式但输出应保持不变。例如,motto利用合并、分解和操作符转换等技术,设计了多查询优化器,通过减少模式查询的冗余计算来提高并发查询的性能。二是对包含嵌套模式查询的处理,嵌套查询是指将一个模式的结果应用于另一个模式中。处理嵌套查询涉及两个主要问题,首先某些可共享的内部查询的完整结果可能在共享结果前被直接丢弃。其次嵌套否定子表达式中只需要检测到其中一个事件即可否定整个结果,但在执行时仍需要生成完整结果,导致资源浪费。通常使用转变操作符来处理包含嵌套模式的查询。neel采用查询重写技术,利用pattern和within两个子句,结合基于堆栈的查询评估策略和迭代嵌套执行策略,专门处理嵌套查询。

5、对多个聚合查询处理:聚合查询是指对数据流进行汇总和统计的操作,其主要特征是返回的结果不是一个或者多个事件序列,而是一个或者多个统计信息。聚合查询由五个字句组成:return子句定义返回的聚合结果函数;pattern子句定义事件序列模式;where子句对谓词进行约束(可选);groupby子句对事件进行分组(可选);within/slide子句约束事件发生的时间窗口。带有kleene操作符的模式可以匹配一个或多个满足要求的事件序列(称为事件趋势)。可以递增计算的聚合函数对一组值执行计算并返回单一的统计结果值。count(*)返回匹配事件趋势的数量,min/max(e.attr)返回所有满足模式要求的事件趋势中事件类型e的属性attr的最小值或最大值,sum(e.attr)/avg(e.attr)计算事件e的属性attr的总和或平均值。在处理包含kleene模式的聚合查询时,传统的处理技术需要首先构造所有的事件趋势,再从这些事件趋势中统计聚合值,消耗大量内存和时间。近年来,在线聚合方法将聚合操作整合到模式匹配阶段,避免了先构建事件趋势的复杂性,将计算复杂度从指数级降低到了线性。在同时处理多个聚合查询时,主要目标是通过共享工作负载中的查询计算,以有效降低查询的执行成本。优化技术首先需识别kleene模式的共享机会,其次需要确定如何充分利用这些共享机会以加快指定工作负载的执行过程。

6、综上所述,复杂事件处理中多聚合查询的动态共享方法,主要依赖于实时数据流处理、模式匹配、查询优化、以及对多个聚合查询处理等背景技术。


技术实现思路

1、本发明与现有的聚合查询处理方法不同,将给定的包含seq和kleene操作符,以及嵌套模式的事件趋势聚合查询工作负载的共享问题,抽象为加权有向无环图的最佳路径搜索问题。在生成图的过程中进行修剪,降低了后续路径搜索的时间复杂度,从而提高执行效率。设计出综合考虑事件流和工作负载特征的代价模型,将其引入到生成和修剪共享图的过程中,在这些特征发生变化时高效更新共享计划。引入在线趋势聚合共享方法,应用共享计划指导工作负载的处理,最后输出聚合结果,提升了系统的整体处理效率。本方法主要过程如附图1所示,可分为以下三个步骤:设计代价模型、分析工作负载生成共享计划、按照共享计划处理多聚合查询并实时反馈共享收益调整共享计划。

2、1)设计代价模型

3、分别考虑增量计算聚合结果的非共享执行和共享执行方法,为每个查询维护相应的中间聚合值,并为每个查询生成聚合结果。分析得出两个方式执行的代价。

4、2)分析工作负载生成共享计划

5、首先分析工作负载中的共享机会,将工作负载转换为模版,之后依据代价模型将模版转换为加权有向无环图。设计了图生成过程中的节点生成原则和修剪原则,在图中查找最优的共享计划。

6、3)按照共享计划处理多聚合查询并实时反馈共享收益调整共享计划

7、将生成的共享计划应用于多聚合查询的处理中,在执行时分别考虑工作负载和事件流的不同变化情况。将变化信息实时反馈到共享计划生成方法中,实时调整共享计划并作用于后续查询的处理过程。

8、本发明与现有技术相比,具有以下明显的优势和有益效果:

9、首先,与传统方法相比,本发明针对包含kleene子模式的聚合查询,增量计算聚合结果,克服了现有方法对kleene操作符的限制,能够更灵活地处理kleene模式,提升了事件趋势聚合查询的处理能力。其次,对共享决策放宽了限制,本发明的共享决策更加灵活,支持更多类型的kleene子模式的共享。关注动态变化的数据信息,实时调整共享计划,避免了生成次优共享计划的问题,使该方法更具效率和适用性。综合而言,本发明的方法在处理包含seq和kleene操作符的事件趋势聚合查询上更为灵活和高效。

10、实验证实,在包含可共享的seq模式、平坦kleene模式和嵌套kleene模式等不同的工作负载下,本发明提出的动态更新共享计划方法在执行时间、峰值内存、延迟时间和吞吐量等方面均表现出显著的优势。设计了代价模型,在生成共享图的时候依据代价模型,设计了三个节点生成原则和修剪原则,显著降低了生成共享计划的复杂性。执行过程根据共享计划指导事件趋势聚合查询的执行,不仅能够快速生成聚合结果,而且能更好地适应不同的查询场景,具有广泛的应用前景和推广价值。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1