【技术实现步骤摘要】
分布式事件处理系统中的数据序列化
[0001]本申请是申请日为2017年9月12日、题为“分布式事件处理系统中的数据序列化”的专利技术专利申请201780054700.0的分案申请。
技术介绍
[0002]在传统的数据库系统中,数据通常以表的形式存储在一个或多个数据库中。然后使用诸如结构化查询语言(SQL)之类的数据管理语言来查询和操纵所存储的数据。例如,可以定义并执行SQL查询,以从存储在数据库中的数据中识别相关数据。因此,SQL查询是对存储在数据库中的有限数据集执行的。另外,当执行SQL查询时,它在有限数据集上执行一次并产生有限静态结果。因此,数据库最适合在有限存储数据集上运行查询。
[0003]然而,许多现代应用和系统以持续数据或事件流而不是有限数据集的形式生成数据。此类应用的示例包括但不限于传感器数据应用、金融报价机、网络性能测量工具(例如,网络监视和流量管理应用)、点击流分析工具、汽车流量监视等。这些应用引起了对可以处理数据流的新型应用的需求。例如,温度传感器可以被配置为发出温度读数。
[0004]为这些类型的基于事件流的应用管理和处理数据涉及以强时间焦点(temporal focus)构建数据管理和查询能力。需要不同类型的查询机制,该查询机制包括对持续无界数据集的长时间运行的查询。虽然一些供应商现在提供面向事件流处理的产品套件,但这些产品仍然缺乏用于处置当今事件处理需求所需的处理灵活性。
技术实现思路
[0005]提供了用于对经由事件的持续流接收的事件数据进行序列化的技术(例如,方法、系统、 ...
【技术保护点】
【技术特征摘要】
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引擎...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。