用于处理事件流的事件的系统和方法与流程

文档序号:28207177发布日期:2021-12-28 19:03阅读:来源:国知局

技术特征:
1.一种系统,包括:存储器,存储多个指令;和一个或多个处理器,配置为访问所述存储器,其中所述一个或多个处理器被进一步配置为执行所述多个指令以至少:接收与应用有关的连续输入事件流;根据间隔将检查点标记事件插入到所述连续输入事件流中,所述间隔至少部分地基于应用的等待时间需要;至少部分地基于检查点标记事件生成一个或多个事件批次的集合;发送输出事件流,所述输出事件流至少部分地基于所述连续输入事件流并且包括与输出序列号相关联的输出事件;和响应于接收到所述系统的故障的指示,至少部分地基于最近发送的输出事件的当前序列号和与最近处理的批次的输入事件对应的输出事件的最后输出序列号来发送所述输出流中的一个或多个输出事件的集合。2.如权利要求1所述的系统,其中,所述一个或多个处理器进一步配置为在要发送的所述一个或多个输出事件的集合中排除一个或多个输出事件。3.如权利要求1所述的系统,其中,所述一个或多个处理器进一步配置为至少部分地基于接收到所述系统的故障的指示从所述输出事件流中的最近发送的输出事件的当前输出序列号开始发送输出事件。4.如权利要求1所述的系统,其中所述一个或多个处理器被进一步配置为响应于所述故障的指示来至少部分地基于摘要日志重构所述系统的状态。5.如权利要求4所述的系统,其中,所述摘要日志包括特定持续时间的快照,并且其中单独的摘要快照被生成以与所述状态一致。6.如权利要求4所述的系统,其中,在至少部分地基于所述摘要日志重构所述系统的所述状态时,所述一个或多个处理器被进一步配置为通过重放事件来重构用于范围窗口运算符的摘要。7.如权利要求4所述的系统,其中,在至少部分地基于所述摘要日志重构所述系统的所述状态时,所述一个或多个处理器被进一步配置为:初始化要被恢复的连续查询的查询计划;和至少部分地基于改变事件的日志来初始化连续运算符的存储器内数据结构。8.如权利要求7所述的系统,其中,在初始化所述查询计划时,所述一个或多个处理器被进一步配置为创建和初始化用于所述查询计划的有向非循环图(dag)中的每个连续运算符的存储器内数据结构。9.如权利要求1所述的系统,其中,所述检查点标记事件表示与所述连续输入事件流中的输入事件有关的信息。10.如权利要求1所述的系统,其中,所述一个或多个处理器被进一步配置为:处理所述检查点标记事件;至少部分地基于所述检查点标记事件的所述处理来发送指示所一个或多个事件批次的集合中的第一事件批次的处理的完成的确认消息;和生成所述系统的当前状态的快照。
11.如权利要求10所述的系统,其中所述系统的所述当前状态的所述快照包括与至少关于事件的第一批次的输入队列状态、运算符状态或者输出队列状态中的至少一个有关的信息。12.一种方法,包括:接收与应用有关的连续输入事件流;根据间隔将检查点标记事件插入到所述连续输入事件流中,所述间隔至少部分地基于应用的等待时间需要;至少部分地基于检查点标记事件生成一个或多个事件批次的集合;发送输出事件流,所述输出事件流至少部分地基于所述连续输入事件流并且包括与输出序列号相关联的输出事件;和响应于接收到系统故障的指示,至少部分基于最近发送的输出事件的当前序列号和与最近处理的批次的输入事件对应的输出事件的最后输出序列号来发送所述输出流中的一个或多个输出事件的集合。13.如权利要求12所述的方法,还包括响应于所述系统故障的指示来至少部分地基于摘要日志重构系统状态。14.如权利要求13所述的方法,还包括以下中的一个或多个:生成用于与所述状态一致的单独的摘要快照;或通过重放事件来重构用于范围窗口运算符的摘要。15.如权利要求13所述的方法,还包括:初始化要被恢复的连续查询的查询计划;至少部分地基于改变事件的日志来初始化连续运算符的存储器内数据结构;和创建和初始化用于所述查询计划的有向非循环图(dag)中的每个连续运算符的存储器内数据结构。16.如权利要求12所述的方法,还包括:从主服务器接收第一事件已被处理的指示;响应于接收到第一事件已被处理的指示,从所述输出流丢弃排队的事件,所述排队的事件对应于第一事件;和响应于所述系统故障的指示,确定要发送的所述输出流的所述一个或多个输出事件的集合,其中所述输出流排除所丢弃的所述排队的事件。17.一种非瞬态计算机可读存储介质,存储可由一个或多个处理器执行的多条指令,所述多条指令包括使得所述一个或多个处理器至少执行以下操作的指令:接收与应用有关的连续输入事件流;根据间隔将检查点标记事件插入到所述连续输入事件流中,所述间隔至少部分地基于应用的等待时间需要;至少部分地基于检查点标记事件生成一个或多个事件批次的集合;发送输出事件流,所述输出事件流至少部分地基于所述连续输入事件流并且包括与输出序列号相关联的输出事件;和响应于接收到系统故障的指示,至少部分基于最近发送的输出事件的当前序列号和与最近处理的批次的输入事件对应的输出事件的最后输出序列号来发送所述输出流中的一
个或多个输出事件的集合。18.如权利要求17所述的非瞬态计算机可读存储介质,还包括使得所述一个或多个处理器至少执行以下操作的指令:响应于所述系统故障的指示来至少部分地基于摘要日志重构系统状态。19.如权利要求18所述的非瞬态计算机可读存储介质,还包括使得所述一个或多个处理器执行以下操作中的一个或多个的指令:生成用于与所述系统状态一致的单独的摘要快照;或通过重放事件来重构用于范围窗口运算符的摘要。20.如权利要求18所述的非瞬态计算机可读存储介质,还包括使得所述一个或多个处理器执行以下操作的指令:初始化要被恢复的连续查询的查询计划;至少部分地基于改变事件的日志来初始化连续运算符的存储器内数据结构;和创建和初始化用于所述查询计划的有向非循环图(dag)中的每个连续运算符的存储器内数据结构。

技术总结
本公开涉及用于处理事件流的事件的系统和方法。公开了处理事件流的事件和在系统故障期间执行事件恢复的事件处理系统。通过生成由事件处理系统生成的每个确定性输出事件的输出序列号执行事件的恢复。在实施例中,事件处理系统确定输出事件流中的最近发送的输出事件的当前输出序列号、与最近处理的输入事件批次对应的输出事件的最后输出序列号,并基于当前序列号和最后输出序列号确定要发送的输出流的一个或多个输出事件的集合。事件处理系统然后发送与应用有关的输出事件。然后发送与应用有关的输出事件。然后发送与应用有关的输出事件。


技术研发人员:H
受保护的技术使用者:甲骨文国际公司
技术研发日:2016.06.03
技术公布日:2021/12/27
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1