连续查询处理中的事件批量处理、输出排序和基于日志的状态存储制造技术

技术编号:18178995 阅读:39 留言:0更新日期:2018-06-09 20:50
公开了处理事件流的事件和在系统故障期间执行事件恢复的事件处理系统。通过生成由事件处理系统生成的每个确定性输出事件的输出序列号执行事件的恢复。在实施例中,事件处理系统确定输出事件流中的最近发送的输出事件的当前输出序列号、与最近处理的输入事件批次对应的输出事件的最后输出序列号,并基于当前序列号和最后输出序列号确定要发送的输出流的一个或多个输出事件的集合。事件处理系统然后发送与应用有关的输出事件。

【技术实现步骤摘要】
【国外来华专利技术】连续查询处理中的事件批量处理、输出排序和基于日志的状态存储相关申请的交叉引用本申请要求于2016年5月20日提交的标题为“EVENTBATCHING,OUTPUTSEQUENCING,ANDLOGBASEDSTATESTORAGEINCONTINUOUSQUERYPROCESSING”的美国非临时申请No.15/161,043的权益和优先权,该美国非临时申请No.15/161,043又要求于2015年10月22日提交的标题为“MICROBATCHINGWITHCHECKPOINTMARKINGINCONTINUOUSQUERYPROCESSING”的印度临时专利申请No.5688/CHE/2015、于2015年10月22日提交的标题为“OUTPUTSEQUENCINGFOREXACT-ONCESEMANTICSINCONTINUOUSQUERYPROCESSING”的印度临时专利申请No.5689/CHE/2015和于2015年10月22提交的标题为“LOGBASEDFASTSTATESTORAGEFORFAILOVERINCONTINUOUSQUERYPROCESSING”的印度临时专利申请No.5690/CHE/2015的权益和优先权,为了全部目的将每个申请的全部内容通过引用包括于此。
技术介绍
在传统的数据库系统中,通常以表的形式在一个或多个数据库中存储数据。然后使用比如结构化查询语言(SQL)的数据管理语言查询和操作存储的数据。例如,可以定义和执行SQL查询以从数据库中存储的数据标识有关数据。因此关于数据库中存储的数据的有限集合执行SQL查询。另外,当执行SQL查询时,其关于有限数据集合执行一次且产生有限的静态结果。因此数据库最好配备为在有限的存储的数据集合上运行查询。但是,现代的应用和系统的数目代替有限数据集合,产生以连续数据或者事件流的形式的数据。这种应用的实例包括但不限于传感器信息应用,金融报价机,网络性能测量工具(例如,网络监视和业务量管理应用),点击流分析工具,汽车业务量监视等。这种应用已经引起可以处理数据流的新一代应用的需要。例如,温度传感器可以配置为发出温度读数。管理和处理这些类型的基于事件流的应用的数据涉及建造具有强的时间聚焦的数据管理和查询性能。需要包括在数据的连续无限制集合之上的长期查询的不同种类的查询机制。虽然某些卖方现在提供指向事件流处理的产品套件,这些产品提供仍然缺乏处理当今的事件处理需要所需的处理灵活性。
技术实现思路
提供用于处理事件流的事件的技术(例如,方法,系统,存储可由一个或多个处理器执行的代码或者指令的非瞬时计算机可读介质)。在实施例中,公开了处理事件流的事件和在系统故障的情况下执行事件流中的事件的恢复的事件处理系统。在某些实施例中,公开了包括存储多个指令的存储器和配置为访问存储器的一个或多个处理器的事件处理系统。处理器配置为接收与应用有关的连续输入事件流,处理连续输入事件流以生成与应用有关的输出事件流,并确定输出事件流中的输出事件的输出序列号。处理器进一步配置为发送输出事件流中的输出事件并存储输出事件的输出序列号。在一些实施例中,处理器配置为在正在处理连续输入事件流的同时接收系统的故障的指示。处理器配置为确定输出事件流中的最近发送的输出事件的当前输出序列号,确定与输入事件的最近处理批次对应的输出事件的最后输出序列号,和基于当前序列号和最后输出序列号确定要发送的输出流的一个或多个输出事件的集合。在一些实施例中,处理器进一步配置为发送与应用有关的一个或多个输出事件的集合。在一些实施例中,处理器进一步配置为在要发送的一个或多个输出事件的集合中排除一个或多个输出事件。在一些实施例中,处理器配置为基于接收系统的故障的指示从输出事件流中的最近发送的输出事件的当前输出序列号开始发送输出事件。在一些实施例中,处理器进一步配置为通过生成检查点标记事件,将检查点标记事件插入到连续输入事件流中和基于检查点标记事件生成一个或多个事件批次的集合,来从连续输入事件流生成一个或多个事件批次的集合。在某些实例中,检查点标记事件表示与连续输入事件流中的输入事件有关的信息。在某些实例中,基于检查点标记事件确定事件批次的大小。在一些实施例中,处理器进一步配置为处理检查点标记事件,基于检查点标记事件的处理发送指示一个或者多个事件批次的集合中的第一事件批次的处理的完成的确认消息和生成系统的当前状态的快照。在某些实例中,系统的当前状态的快照包括与至少关于事件的第一批次的输入队列状态、运算符状态或者输出队列状态中的至少一个有关的信息。在一些实施例中,处理器配置为将输出事件流中的输出事件的输出序列号存储为快照的一部分。以上和以下描述的技术可以以许多方式和在许多背景下实现。如以下更详细地描述的,参考以下附图提供几个示例实现和背景。但是,以下实现和背景仅是其中一些。附图说明图1示出其中可以实现执行分布事件处理的技术的简化的示例系统或者架构100。图2示出可以包括本公开的实施例的事件处理系统200的简化的高层级图。图3是根据本公开的一个实施例的包括提供事件处理服务的事件处理应用302的事件处理系统300的示例性图示。图4是根据本公开的实施例的事件处理系统可以执行事件的精确恢复的方式的示例性图示。图5是根据本公开的一个实施例的包括提供事件处理服务的事件处理应用502的事件处理系统500的示例性图示。图6图示根据本公开的一个实施例的用于提供事件处理服务的示例处理600的流程图。图7图示根据本公开的一个实施例的用于处理连续事件流中的事件的示例处理700的流程图。图8图示根据本公开的一个实施例的用于确定输出流中要发送的一个或多个输出事件的集合的示例处理800的流程图。图9是根据本公开的一个实施例的包括提供事件处理服务的事件处理应用902的事件处理系统900的示例性图示。图10是根据本公开的实施例的示出用于在事件流中的事件的处理期间标识的连续查询的不同类型的运算符的不同类型的快照的生成的示例性表。图11图示示出了根据本专利技术的某些实施例的用于提供事件处理服务的处理1100的示例流程图。图12示出用于实现本公开的实施例的分布式系统1200的简图。图13图示可以用于实现本专利技术的实施例的示例性计算机系统1300。具体实施方式在下面的描述中,将描述各种实施例。为了说明的目的,提出特定配置和细节以提供实施例的全面的了解。但是,对本领域技术人员很明显可以在没有该特定细节的情况下实践实施例。此外,可以省略或者简化公知的特征以不模糊描述的实施例。复杂事件处理(CEP)的概述复杂事件处理(CEP)提供基于事件驱动的架构的用于建造应用的模块化平台。在CEP平台的核心是允许应用使用说明性的类似SQL的语言对于数据流滤波、查询和执行模式匹配操作的连续查询语言(CQL)。开发者可以结合轻量级Java编程模型使用CQL来写应用。仅举几个例子,其他平台模块包括特征富有的IDE、管理控制台、聚类、分布式高速缓存、事件储存库和监视。因为事件驱动的架构和复杂事件处理已经成为企业计算景观的显著特征,越来越多的企业开始使用CEP技术建造关键任务应用。当今,可以在许多不同产业找到关键任务CEP应用。例如,CEP技术正用在电力产业中以通过允许公用设施对电力的本文档来自技高网
...
连续查询处理中的事件批量处理、输出排序和基于日志的状态存储

【技术保护点】
一种系统,包括:存储器,存储多个指令;和一个或多个处理器,配置为访问所述存储器,其中,所述一个或多个处理器进一步配置为执行所述多个指令以至少:接收与应用有关的连续输入事件流;处理所述连续输入事件流以生成与所述应用有关的输出事件流;确定所述输出事件流中的输出事件的输出序列号;发送所述输出事件流中的所述输出事件;存储所述输出事件的所述输出序列号;在正在处理所述连续输入事件流的同时,接收系统故障的指示;确定所述输出事件流中的最近发送的输出事件的当前输出序列号;确定与最近处理的输入事件批次对应的输出事件的最后输出序列号;基于所述当前序列号和所述最后输出序列号确定要发送的所述输出流的一个或多个输出事件的集合;和发送与所述应用有关的所述一个或多个输出事件的集合。

【技术特征摘要】
【国外来华专利技术】2015.10.22 IN 5688/CHE/2015;2015.10.22 IN 5689/CHE1.一种系统,包括:存储器,存储多个指令;和一个或多个处理器,配置为访问所述存储器,其中,所述一个或多个处理器进一步配置为执行所述多个指令以至少:接收与应用有关的连续输入事件流;处理所述连续输入事件流以生成与所述应用有关的输出事件流;确定所述输出事件流中的输出事件的输出序列号;发送所述输出事件流中的所述输出事件;存储所述输出事件的所述输出序列号;在正在处理所述连续输入事件流的同时,接收系统故障的指示;确定所述输出事件流中的最近发送的输出事件的当前输出序列号;确定与最近处理的输入事件批次对应的输出事件的最后输出序列号;基于所述当前序列号和所述最后输出序列号确定要发送的所述输出流的一个或多个输出事件的集合;和发送与所述应用有关的所述一个或多个输出事件的集合。2.如权利要求1所述的系统,其中,所述一个或多个处理器进一步配置为在要发送的一个或多个输出事件的集合中排除一个或多个输出事件。3.如权利要求1或者2所述的系统,其中,所述一个或多个处理器进一步配置为基于接收所述系统故障的指示从所述输出事件流中的最近发送的输出事件的当前输出序列号开始发送输出事件。4.如权利要求1到3中任意一项所述的系统,其中,所述一个或多个处理器进一步配置为从所述连续输入事件流生成一个或多个事件批次的集合。5.如权利要求4所述的系统,其中,所述一个或多个处理器进一步配置为:生成检查点标记事件;将所述检查点标记事件插入到所述连续输入事件流中;和基于所述检查点标记事件生成所述一个或多个事件批次的集合。6.如权利要求5所述的系统,其中,所述检查点标记事件表示与所述连续输入事件流中的输入事件有关的信息。7.如权利要求5或者6所述的系统,其中,基于所述检查点标记事件确定事件批次的大小。8.如权利要求5到7中任意一项所述的系统,其中,所述一个或多个处理器进一步配置为:处理所述检查点标记事件;基于所述检查点标记事件的处理发送指示所述一个或多个事件批次的集合中第一事件批次的处理完成的确认消息;和生成所述系统的当前状态的快照。9.如权利要求8所述的系统,其中,所述系统的当前状态的快照包括与至少关于事件的第一批次的输入队列状态、操作者状态或者输出队列状态中的至少一个有关的信息。10.如权利要求8或者9所述的系统,其中,所述一个或多个处理器进一步配置为将所述输出事件流中的输出事件的所述输出序列号存储为所述快照的一部分。11.一种方法,包括:接收与应用有关的连续输入事件流;处理所述连续输入事件流以生成与所述应用有关的输出事件流;确定所述输出事件流中的输出事件的输出序列号;发送所述输出事件流中的所述输出事件;存储所述输出事件的所述输出序列号;在正在处理所述连续输入事件流的同时,接收所述系统故障的指示;确定所述输出事件流中的最近发送的输出事件的当前输出序列号;确定与最近处理的输入事件批次对应的输出事件的最后输出序列号;基于所述当前序列号和所述最后输出序列号确定...

【专利技术属性】
技术研发人员:H·帕克S·比施诺伊U·A·德什姆克P·图卡拉姆
申请(专利权)人:甲骨文国际公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1