分布式事件处理系统中的数据序列化技术方案

技术编号:38809709 阅读:28 留言:0更新日期:2023-09-15 19:48
本申请涉及分布式事件处理系统中的数据序列化。公开了一种分布式事件处理系统,该系统经由持续数据流接收一批事件并执行对该批事件中的数据的序列化。在某些实施例中,系统识别该批事件中的每个事件的第一属性的第一数据类型,并确定要对由第一属性表示的数据值执行的第一类型的数据压缩。系统基于第一属性的第一数据类型确定要对由第一属性表示的数据值执行的第一类型的数据压缩。然后,系统针对第一属性生成经序列化的数据值的第一集合。系统针对一组一个或多个持续查询来处理经序列化的数据值的第一集合,以生成输出事件的第一集合。一集合。一集合。

【技术实现步骤摘要】
分布式事件处理系统中的数据序列化
[0001]本申请是申请日为2017年9月12日、题为“分布式事件处理系统中的数据序列化”的专利技术专利申请201780054700.0的分案申请。

技术介绍

[0002]在传统的数据库系统中,数据通常以表的形式存储在一个或多个数据库中。然后使用诸如结构化查询语言(SQL)之类的数据管理语言来查询和操纵所存储的数据。例如,可以定义并执行SQL查询,以从存储在数据库中的数据中识别相关数据。因此,SQL查询是对存储在数据库中的有限数据集执行的。另外,当执行SQL查询时,它在有限数据集上执行一次并产生有限静态结果。因此,数据库最适合在有限存储数据集上运行查询。
[0003]然而,许多现代应用和系统以持续数据或事件流而不是有限数据集的形式生成数据。此类应用的示例包括但不限于传感器数据应用、金融报价机、网络性能测量工具(例如,网络监视和流量管理应用)、点击流分析工具、汽车流量监视等。这些应用引起了对可以处理数据流的新型应用的需求。例如,温度传感器可以被配置为发出温度读数。
[0004]为这些类型的基于事件流的应用管理和处理数据涉及以强时间焦点(temporal focus)构建数据管理和查询能力。需要不同类型的查询机制,该查询机制包括对持续无界数据集的长时间运行的查询。虽然一些供应商现在提供面向事件流处理的产品套件,但这些产品仍然缺乏用于处置当今事件处理需求所需的处理灵活性。

技术实现思路

[0005]提供了用于对经由事件的持续流接收的事件数据进行序列化的技术(例如,方法、系统、存储可由一个或多个处理器执行的代码或指令的非瞬态计算机可读介质)。在一个实施例中,公开了一种分布式事件处理系统,该系统被配置为经由持续数据流接收一批事件并执行该批事件中的数据的序列化。分布式事件处理系统可以被配置为针对一组持续查询来处理事件数据,以生成输出事件的集合。分布式事件处理系统还可以被配置为将该输出事件的集合发送给分布式事件处理系统的用户。
[0006]在一个实施例中,公开了一种包括多个计算设备的分布式事件处理系统。该多个计算设备中的计算设备被配置为从事件流接收一批事件。事件流具有相关联的模式(schema)。该模式识别经由该事件流接收的每个事件的一个或多个属性。计算设备被包括在分布式事件处理系统中的计算节点集群中,并且该计算节点集群包括分布式事件处理系统中的该多个计算设备的至少子集。
[0007]在某些实施例中,计算设备被配置为识别该批事件中的每个事件的一个或多个属性中的第一属性的第一数据类型,并确定要对由第一属性表示的数据值执行的第一类型的数据压缩。在某些示例中,基于第一属性的第一数据类型确定第一类型的数据压缩。然后,计算设备被配置为针对第一属性生成经序列化的数据值的第一集合并存储由第一属性表示的经序列化的数据值的第一集合。
[0008]在某些实施例中,计算设备还被配置为针对一组一个或多个持续查询来处理与第
一属性对应的经序列化的数据值的第一集合,以生成输出事件的第一集合。然后,计算设备被配置为将输出事件的第一集合发送到用户。
[0009]在一些实施例中,计算设备被配置为基于经序列化的数据值的第一集合生成与第一属性对应的解序列化的数据值的第一集合,并针对一组一个或多个持续查询来处理与第一属性对应的解序列化的数据值的第一集合,以生成输出事件的第一集合。
[0010]在一些实施例中,计算设备被配置为通过识别要对由第一属性表示的数据值执行的第一类型的数据压缩并根据第一类型的数据压缩对由第一属性表示的经序列化的数据值的第一集合进行解序列化,来生成与第一属性对应的解序列化的数据值的第一集合。
[0011]在一些实施例中,计算设备被配置为识别该批事件中的每个事件的第二属性的第二数据类型。在一个示例中,第二数据类型与第一数据类型不同。计算设备被配置为针对该批事件中的事件确定要对由第二属性表示的数据值执行的第二类型的数据压缩。在示例中,第二类型的数据压缩与第一类型的数据压缩不同。计算设备还被配置为基于确定第二类型的数据压缩来生成由第二属性表示的经序列化的数据值的第二集合,并存储由第二属性表示的经序列化的数据值的第二集合。在一些示例中,基于第二属性的第二数据类型确定第二类型的数据压缩。
[0012]在一些实施例中,计算设备被配置为基于经序列化的数据值的第二集合生成与第二属性对应的解序列化的数据值的第二集合,并针对一组一个或多个持续查询来处理与第二属性对应的解序列化的数据值的第二集合,以生成输出事件的第一集合。
[0013]在一些示例中,第一类型的数据压缩或第二类型的数据压缩包括基部压缩技术、值索引压缩技术、或精度约简和值索引压缩技术中的至少一种。
[0014]在某些实施例中,计算设备被配置为通过基于一组一个或多个持续查询识别要对该批事件中的每个事件执行的一组一个或多个操作、将该组一个或多个操作表示为变换的持续查询语言(CQL)弹性分布式数据集(RDD)的有向无环图(DAG),并针对变换的该CQL RDD DAG处理与第一属性对应的经序列化的数据值的第一集合,来处理与第一属性对应的经序列化的数据值的第一集合,从而生成输出事件的第一集合。
[0015]在一些示例中,第一属性的第一数据类型是数值数据类型,并且第二属性的第二数据类型是非数值数据类型。
[0016]以上和以下描述的技术可以以许多方式并在许多上下文中实现。参考以下附图提供若干示例实现方案和上下文,如下面更详细地描述的。然而,以下实现方案和上下文只是其中的一小部分。
附图说明
[0017]图1描绘了根据本公开实施例的示例事件处理系统体系架构的各方面,该示例事件处理系统体系架构提供可以针对不同的执行环境来处理事件处理应用的环境。
[0018]图2是根据本公开实施例的、用于事件处理应用的事件处理网络(EPN)的图形表示。
[0019]图3是图示了根据本公开实施例的应用处理引擎的部件的简化框图。
[0020]图4是根据本公开实施例的、由公共应用模型生成器生成的“公共应用运行时模型”的表示的示例。
[0021]图5是根据本公开实施例的、由有向无环图(DAG)生成器生成的部件的运行时DAG的示例。
[0022]图6是可以结合本公开实施例的事件处理系统的简化高级图。
[0023]图7是图示根据本公开实施例的分布式事件处理系统的部件的框图。
[0024]图8是根据本公开一个实施例的、描述用于处理事件处理应用以生成应用的公共应用运行时模型的一组操作的过程的示例流程图。
[0025]图9是根据本公开另一个实施例的、描述用于处理事件处理应用以生成应用的公共应用运行时模型的一组操作的过程的示例流程图。
[0026]图10是图示根据本公开实施例的分布式事件处理系统的部件的简化框图。
[0027]图11是根据本公开实施例的、用于执行弹性分布式数据集(RDD)对象中的数据的序列化和解序列化的过程的高级数据流。
[0028]图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于使用分布式事件处理系统来处理事件的持续数据流的方法,所述方法包括:在所述分布式事件处理系统中的多个计算设备中的计算设备处接收来自事件流的一批事件;由所述计算设备识别所述一批事件中的事件的第一数据类型的第一属性;由所述计算设备确定用于存储由所述第一属性表示的数据值的位的数量和由所述第一属性表示的一组独特值;由所述计算设备至少部分地基于所述第一属性的所述第一数据类型、用于存储由所述第一属性表示的所述数据值的所述位的数量以及由所述第一属性表示的所述一组独特值,来确定要对由所述事件的所述第一属性表示的所述数据值执行的第一类型的数据压缩;至少部分地基于所述确定,由所述计算设备生成用于所述第一属性的第一组经序列化的数据值;由所述计算设备针对一组一个或多个持续查询来处理与所述第一属性相对应的所述第一组经序列化的数据值,以生成第一输出事件;和由所述计算设备向用户发送所述第一输出事件。2.根据权利要求1所述的方法,其中,由所述计算设备处理所述第一组经序列化的数据值还包括:由所述计算设备至少部分地基于所述第一组经序列化的数据值来生成与所述第一属性相对应的第一组解序列化的数据值;和由所述计算设备针对所述一组一个或多个持续查询来处理与所述第一属性相对应的所述第一组解序列化的数据值,以生成所述第一输出事件。3.根据权利要求2所述的方法,其中,由所述计算设备生成与所述第一属性相对应的所述第一组解序列化的数据值还包括:由所述计算设备识别对由所述第一属性表示的数据值执行的所述第一类型的数据压缩;和由所述计算设备根据所述第一类型的数据压缩来对由所述第一属性表示的所述第一组经序列化的数据值进行解序列化。4.根据权利要求1所述的方法,进一步包括:由所述计算设备识别所述一批事件中的所述事件的第二数据类型的第二属性,所述第二数据类型不同于所述第一数据类型;由计算设备确定要对由所述第二属性表示的数据值执行的第二类型的数据压缩,所述第二类型的数据压缩不同于所述第一类型的数据压缩;至少部分地基于所述确定,由所述计算设备生成由所述第二属性表示的第二组经序列化的数据值;和由所述计算设备存储由所述第二属性表示的所述第二组经序列化的数据值。5.根据权利要求4所述的方法,其中,所述第二类型的数据压缩是至少部分地基于所述第二属性的所述第二数据类型来确定的。6.根据权利要求4所述的方法,进一步包括由所述计算设备处理所述第二组经序列化的数据值,所述处理包括:
由所述计算设备基于所述第二组经序列化的数据值来生成与所述第二属性相对应的第二组解序列化的数据值;和由所述计算设备针对所述一组一个或多个持续查询来处理与所述第二属性相对应的所述第二组解序列化的数据值,以生成所述第一输出事件。7.根据权利要求4所述的方法,其中,所述第一类型的数据压缩或所述第二类型的数据压缩包括以下各项中的至少一种:基部压缩技术、值索引压缩技术或精度约简值索引压缩技术。8.根据权利要求1所述的方法,其中,由所述计算设备处理与所述第一属性相对应的所述第一组经序列化的数据值还包括:由所述计算设备基于所述一组一个或多个持续查询来识别要对所述一批事件中的所述事件执行的一组一个或多个操作;由所述计算设备将所述一组一个或多个操作表示为变换的持续查询语言CQL弹性分布式数据集RDD有向无环图DAG;和由所述计算设备针对CQL变换来处理与所述第一属性相对应的所述第一组经序列化的数据值,以生成所述第一输出事件。9.根据权利要求1所述的方法,其中,所述第一属性的所述第一数据类型是数值数据类型,并且所述第二属性的第二数据类型是非数值数据类型。10.一种计算机可读介质,存储计算机可执行指令,所述计算机可执行指令当由一个或多个处理器执行时,将一个或多个计算机系统配置为至少执行:使所述一个或多个处理器在所述分布式事件处理系统中的多个计算设备中的计算设备处接收来自事件流的一批事件的指令;使所述一个或多个处理器识别所述一批事件中的事件的第一数据类型的第一属性的指令;使所述一个或多个处理器确定用于存储由所述第一属性表示的数据值的位的数量和由所述第一属性表示的一组独特值的指令;使所述一个或多个处理器至少部分地基于所述第一属性的所述第一数据类型、用于存储由所述第一属性表示的所述数据值的所述位的数量以及由所述第一属性表示的所述一组独特值来确定要对由所述事件的所述第一属性表示的所述数据值执行的第一类型的数据压缩的指令;使所述一个或多个处理器至少部分地基于所述确定而生成用于所述第一属性的第一组经序列化的数据值的指令;使所述一个或多个处理器针对一组一个或多个持续查询来处理与所述第一属性相对应的所述第一组经序列化的数据值以生成第一输出事件的指令;和使所述一个或多个处理器向用户发送所述第一输出事件的指令。11.根据权利要求10所述的计算机可读介质,其中,使所述一个或多个处理器处理所述第一组经序列化的数据值的指令还包括:使所述一个或多个处理器至少部分地基于所述第一组经序列化的数据值来生成与所述第一属性相对应的第一组解序列化的数据值的指令;和使所述一个或多个处理器针对所述一组一个或多个持续查询来处理与所述第一属性
相对应的所述第一组解序列化的数据值以生成所述第一输出事件的指令。12.根据权利要求11所述的计算机可读介质,其中,使所述一个或多个处理器生成与所述第一属性相对应的所述第一组解序列化的数据值的所述指令还包括:使所述一个或多个处理器识别对由所述第一属性表示的数据值执行的所述第一类型的数据压缩的指令;和使所述一个或多个处理器根据所述第一类型的数据压缩来对由所述第一属性表示的所述第一组经序列化的数据值进行解序列化的指令。13.根据权利要求10所述的计算机可读介质,进一步包括:使所述一个或多个处理器识别所述事件的第二数据类型的第二属性的指令,所述第二数据类型不同于所述第一数据类型;使所述一个或多个处理器确定要对由所述一批事件中的所述事件的所述第二属性表示的数据值执行的第二类型的数据压缩的指令,所述第二类型的数据压缩不同于所述第一类型的数据压缩;至少部分地基于使所述一个或多个处理器确定要对由所述第二属性表示的数据值执行的第二类型的数据压缩的指令,使所述一个或多个处理器生成由所述第二属性表示的第二组经序列化的数据值的指令;和使所述一个或多个处理器存储由所述第二属性表示的所述第二组经序列化的数据值的指令。14.根据权利要求13所述的计算机可读介质,其中,所述第二类型的数据压缩是至少部分地基于所述第二属性的所述第二数据类型来确定的。15.根据权利要求13所述的计算机可读介质,其中,所述第一类型的数据压缩或所述第二类型的数据压缩包括以下各项中的至少一种:基部压缩技术、值索引压缩技术或精度约简值索引压缩技术。16.一种分布式事件处理系统,包括:存储器,存储多个指令;和处理器,被配置为访问所述存储器,所述处理器还被配置为执行所述多个指令以至少:在所述分布式事件处理系统中的多个计算设备中的计算设备处接收来自事件流的一批事件;识别所述一批事件中的事件的第一数据类型的第一属性;确定用于存储由所述第一属性表示的数据值的位的数量和由所述第一属性表示的一组独特值;至少部分地基于所述第一属性的所述第一数据类型、用于存储由所述第一属性表示的所述数据值的所述位的数量以及由所述第一属性表示的所述一组独特值,来确定要对由所述事件的所述第一属性表示的所述数据值执行的第一类型的数据压缩;至少部分地基于用于进行确定的所述指令,生成用于所述第一属性的第一组经序列化的数据值;针对一组一个或多个持续查询来处理与所述第一属性相对应的所述第一组经序列化的数据值,以生成第一输出事件;和向用户发送所述第一输出事件。
17.根据权利要求16所述的系统,其中,所述处理器进一步被配置为执行所述多个指令以通过以下操作来处理所述第一组经序列化的数据值:至少部分地基于所述第一组经序列化的数据值来生成与所述第一属性相对应的第一组解序列化的数据值;和针对所述一组一个或多个持续查询来处理与所述第一属性相对应的所述第一组解序列化的数据值,以生成所述第一输出事件。18.根据权利要求16所述的系统,其中,所述处理器进一步被配置为执行所述多个指令以:识别所述一批事件中的所述事件的第二数据类型的第二属性,所述第二数据类型不同于所述第一数据类型;确定要对由所述第二属性表示的数据值执行的第二类型的数据压缩,所述第二类型的数据压缩不同于所述第一类型的数据压缩;至少部分地基于用于进行确定的所述指令,生成由所述第二属性表示的第二组经序列化的数据值;和存储由所述第二属性表示的所述第二组经序列化的数据值。19.根据权利要求18所述的系统,其中,所述第二类型的数据压缩是至少部分地基于所述第二属性的所述第二数据类型来确定的。20.根据权利要求16所述的系统,其中,所述处理器进一步被配置为执行所述多个指令以通过以下步骤来处理所述第一组经序列化的数据值:基于所述一组一个或多个持续查询来识别要对所述一批事件中的所述事件执行的一组一个或多个操作;将所述一组一个或多个操作表示为变换的持续查询语言CQL弹性分布式数据集RDD有向无环图DAG;和针对CQL变换来处理与所述第一属性相对应的所述第一组经序列化的数据值,以生成所述第一输出事件。21.一种用于管理持续查询语言CQL引擎的方法,包括:使用CQL引擎跟踪引擎,启动CQL引擎的集群中的第一CQL引擎;使用所述CQL引擎...

【专利技术属性】
技术研发人员:H
申请(专利权)人:甲骨文国际公司
类型:发明
国别省市:

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

1