一种基于查询模式分解的多源复杂事件处理方法

文档序号:37764400发布日期:2024-04-25 10:51阅读:3来源:国知局
一种基于查询模式分解的多源复杂事件处理方法

本发明涉及复杂事件处理领域,特别涉及一种基于查询模式分解的多源复杂事件处理方法。


背景技术:

1、复杂事件处理(complex event processing,cep)是一种先进的计算机技术,它以带时间戳的简单事件流作为输入,通过实时监测和分析大量事件流,快速识别事件流中满足用户给定事件模式的事件序列。cep常应用于金融、物联网、网络安全等领域,它的核心优势在于实时性,因此根据用户给定的查询模式,确定耗时最短的查询计划以最大程度地减少计算成本并提高查询性能,是一个具有挑战性的任务。随着互联网的普及和物联网技术的发展,数据源的数量和种类不断增加,许多应用场景需要及时捕捉和响应发生在不同数据源之间的复杂事件。随着企业和组织对数据驱动决策的需求增加,多源复杂事件处理成为实现业务智能和提供决策支持的重要工具。它可以帮助识别跨越多个数据源的复杂事件模式,综合利用这些数据,从而为决策者提供更全面、实时的信息。

2、多源复杂事件处理方法大致分为两种。第一种是集中式处理方法,即遵循传统的cep模型,所有的数据处理发生在单一的中心节点或服务器上,该中心节点负责接收、分析和处理来自各个数据源的事件,并承载整个系统的决策和响应逻辑。因此这种方法存在单点故障问题,中心节点成为单一故障点,系统的可靠性受到影响,并且难以有效扩展处理能力,面对大规模和高负载的场景可能存在性能瓶颈;第二种是分布式处理方法,它通常会拆分查询模式来模块化查询工作负载,将拆分得到的子查询部署到多个计算节点进行并行处理,利用事件源通常也可以充当事件处理节点的特性,降低数据传输的成本,提高系统性能。因为需要考虑节点的负载均衡、通信开销和数据局部性等因素,所以最优查询计划的搜索空间将随着数据源数量、事件类型的增加而不断增大。

3、通过查询模式分解以支持分布式处理的cep方法,需要考虑如何对查询模式进行划分以及将划分得到的子查询部署在哪些节点上进行计算的问题。现有大多数方法都是在运算符层对查询模式进行分解,这种方法意味着查询计算本质上是分层的,会限制子查询的计算顺序,并不能充分提升查询计算的灵活性。因此,在事件层面的分解方法能够提升查询计算的灵活性,并提高查询计算的效率。并且大多数方法只考虑将子查询部署在一个节点上进行计算,仍然存在于类似集中式计算的性能瓶颈。


技术实现思路

1、本发明采取分布式处理策略,将多源复杂事件处理问题定义为子查询划分与部署问题,提出一种基于查询模式分解的方法,旨在通过降低搜索空间实现对最优查询计划的快速求解。该方法首先对查询模式进行处理,得到最终参与查询计算的候选子查询集,再结合事件网络信息为候选子查询集生成对应的派生查询集。最终在综合考虑节点计算能力与节点之间的数据传输能力的情况下,根据资源占用情况部署派生查询,即为每个派生查询确定对应的计算方案,以生成完整的查询计划,减少完成完整查询计算的总耗时。该过程详细介绍如下:

2、步骤1、查询分解。本发明提出一种查询分解的方法,采用结合运算符层和事件层的混合分解策略,消除传统方法对查询计算顺序的限制。利用树结构表示查询模式,其中非叶节点表示运算符,叶子节点表示原始事件。若只在运算符层进行分解,则每一棵子树都被拆解,形成独立的子查询,子查询之间存在依赖关系,会限制查询计算顺序。本发明提出首先将包含or运算符的查询模式分解为不包含or运算符的多个子查询,即首先在运算符层面进行分解。然后在事件层面进一步处理,基于查询模式的原始事件类型的子集、并提取与这些原始事件相关的查询谓词的子集,来生成对应的子查询。在事件层面的分解步骤通过对事件类型集合进行子集求解,有效简化查询结构,提高查询灵活性和执行效率。此查询分解方法有助于保持查询完整性,能够生成简单的子查询,提供更灵活的查询计算方式。

3、步骤2、候选子查询集选取。将一个查询模式分解为多个子查询后,提出从中挑选参与最终查询计算的子查询的策略。选择包含所有原始事件类型且不能删除其中任意一个子查询的集合作为候选子查询集(candidated sub-queries,csq),通过合并候选子查询集中的子查询,能够灵活地定义查询计划。这样的候选子查询集会有多个,利用其中任意一个便可生成完整的查询计划。该策略首先通过考虑原始事件类型的完整性,确保了每个候选子查询包含了必要的信息。其次,由于不可删除任何子查询的限制,csq的形成在一定程度上减少了冗余计算。这一设计有助于维护查询结果的完整性,并降低了查询计划的搜索空间。

4、通过选取合适的csq,系统能够生成灵活而高效的查询计划。这一技术手段通过智能地组合子查询,确保了结果的准确性,提高了最优查询计划的求解效率,为系统的性能优化和响应速度提供了技术基础。

5、步骤3、派生查询集生成。由于多个事件源节点可能产生相同类型的原始事件,因此,作为查询匹配的一部分的特定类型的事件的来源可能不同。为了区分同一子查询中相同类型事件的不同事件源,针对每个csq,结合事件网络信息为其生成相应的派生查询集,派生查询的格式为其中o表示运算符,可以为and、seq、or,sm与sn表示事件类型ej、ek的事件源节点,至此每个csq将对应各自的派生查询集。与csq相比,将每个派生查询集中的派生查询进行组合,能够凸显子查询覆盖范围的完整性,所有原始事件类型的事件源都将被考虑到,任意一个派生查询集都能够组合出覆盖完整查询结果的查询计划。然后为了降低最优查询计划的搜索空间,按照所包含派生查询的数量由少到多的顺序对派生查询集进行排序,派生查询数量越少,求解对应查询计划的时间越短。以支持下一步中首先利用数量少的派生查询集生成查询计划,在利用包含较多派生查询的派生查询集求解查询计划时不断进行剪枝,加快最优查询计划的求解速度。

6、步骤4、查询计划生成。本发明提出一种创新的查询计划生成方法。在查询计划生成阶段,采用一种基于派生查询数量的策略,先通过派生查询数量最少的集合求解最优查询计划,并将其耗时作为约束条件。随后,通过在其他派生查询集的求解过程中利用此约束条件进行剪枝,以尽可能快速地求解最优查询计划。这一方法在提高查询计划效率的同时,保证了计算结果的完整性。在利用派生查询集求解完整查询计划之前,首先为涉及大量原始事件的派生查询确定子查询计划,为其优先分配所需查询计算资源,在为涉及少量原始事件的派生查询确定子查询计划时,若其需最优资源被占用,可以通过考虑次优计算资源降低总查询计算的耗时。

7、与现有技术相比,本发明具有以下特点:

8、1.采用了细粒度的分解方法,使得查询计算更加灵活。这种方法提高了查询结构的灵活性,使系统能够更灵活地处理多样化的查询需求。

9、2.通过引入派生查询选取及部署策略,本发明在降低搜索空间的同时提升了获取最优查询计划的效率。这一策略有效地减少了计算负担,使得系统能够更迅速、更高效地生成最优的查询计划,为实时系统和大规模数据处理提供了更优越的性能。



技术特征:

1.一种基于查询模式分解的多源复杂事件处理方法,其特征在于,包括如下步骤,步骤1、查询分解;采用结合运算符层和事件层的混合分解策略,利用树结构表示查询模式,其中非叶节点表示运算符,叶子节点表示原始事件;首先将包含or运算符的查询模式分解为不包含or运算符的多个子查询,即首先在运算符层面进行分解;然后在事件层面进一步处理,基于查询模式的原始事件类型的子集、并提取与这些原始事件相关的查询谓词的子集,来生成对应的子查询;在事件层面的分解步骤通过对事件类型集合进行子集求解;

2.根据权利要求1所述的一种基于查询模式分解的多源复杂事件处理方法,其特征在于,步骤1中,在事件层面分解的方法遵循以下步骤:

3.根据权利要求1所述的一种基于查询模式分解的多源复杂事件处理方法,其特征在于,为表示节点和传输路径的使用情况,引入派生查询对应的最佳计算节点、传输路径占用耗时、计算节点占用耗时的概念;最佳计算节点是指在传输路径空闲时,将此派生查询相关的原始事件传输至该节点的传输耗时最短;利用步骤1中所得最短路径表计算将一个派生查询相关事件传输至某一节点的传输耗时,然后按照传输耗时由小到大的顺序将相关计算节点存储进该派生查询对应的辅助队列q中,q中第一个节点即为最佳计算节点。

4.根据权利要求3所述的一种基于查询模式分解的多源复杂事件处理方法,其特征在于,求解派生查询集对应辅助队列的具体过程如下:

5.根据权利要求1所述的一种基于查询模式分解的多源复杂事件处理方法,其特征在于,在为派生查询确定查询计划的过程中,需要判断计算节点和传输路径是否被占用;利用公式(1)计算所需链路已被占用耗时ttw,其中<sx,s'x>为最优传输路径已被占用的子路径;

6.根据权利要求1所述的一种基于查询模式分解的多源复杂事件处理方法,其特征在于,在为输入事件来自不同事件源的派生查询确定查询计划时,若此派生查询通过最优路径将事件传输至最优计算节点并进行计算的耗时t小于当前已确定查询计划的派生查询的总耗时ttotal,为此查询分配其所需最佳计算节点与对应的最优路径,不会导致完成当前所有派生查询计算的总耗时变大,则直接确定最佳计算节点作为其计算节点,对应最优路径作为其传输路径;否则根据情况考虑利用以下原则之一查找能降低总耗时的其他查询计划:


技术总结
本发明公开了一种基于查询模式分解的多源复杂事件处理方法,该方法首先对查询模式进行处理,得到最终参与查询计算的候选子查询集,再结合事件网络信息为候选子查询集生成对应的派生查询集。最终在综合考虑节点计算能力与节点之间的数据传输能力的情况下,根据资源占用情况部署派生查询,即为每个派生查询确定对应的计算方案,以生成完整的查询计划,减少完成完整查询计算的总耗时。本发明采用了细粒度的分解方法,使得查询计算更加灵活。通过引入派生查询选取及部署策略,降低搜索空间的同时提升了获取最优查询计划的效率,为实时系统和大规模数据处理提供了更优越的性能。

技术研发人员:苏航,周颖
受保护的技术使用者:北京工业大学
技术研发日:
技术公布日:2024/4/24
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1