CN105993011B - 跨多个输入数据流的样式匹配的方法、系统和设备 - Google Patents
跨多个输入数据流的样式匹配的方法、系统和设备 Download PDFInfo
- Publication number
- CN105993011B CN105993011B CN201480065473.8A CN201480065473A CN105993011B CN 105993011 B CN105993011 B CN 105993011B CN 201480065473 A CN201480065473 A CN 201480065473A CN 105993011 B CN105993011 B CN 105993011B
- Authority
- CN
- China
- Prior art keywords
- data stream
- input data
- attribute
- pattern
- stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24558—Binary matching operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
公开了用于跨与一个或多个应用相关的多个输入数据流检测样式的方法。该方法包括接收多个输入数据流并为输入数据流的一个或多个属性生成一个或多个动态数据类型。在一些实施例中,该方法可以包括基于动态数据类型组合输入数据流以生成组合输入数据流并且处理对组合数据流的连续查询以检测样式。
Description
对相关申请的交叉引用
本申请要求于2014年12月3日提交的、标题为“PATTERN MATCHING ACROSSMULTIPLE INPUT DATA STREAMS”的美国专利申请14/559,550和于2013年12月5日提交的、标题为“PATTERN MATCHING ACROSS MULTIPLE INPUT DATA STREAMS”的美国临时专利申请No.61/912,344的优先权,其全部内容通过引用被结合于此,就好像在本文被完全阐述一样。
背景技术
在传统的数据库技术中,数据通常以表的形式存储在一个或多个数据库中。然后,所存储的数据利用诸如结构化查询语言(SQL)的数据管理语言被查询和操纵。例如,SQL查询可被定义并执行,以便从存储在数据库中的数据识别相关的数据。因此,SQL查询对存储在数据库中的有限数据集执行。另外,当SQL查询被执行时,它对有限数据集执行一次并且产生有限的静态结果。因此,数据库最佳配备为在有限存储的数据集上运行。
但是,众多的现代应用和系统以连续数据或事件流而不是有限数据集的形式生成数据。这种应用的例子包括但不限于传感器数据应用、金融行情(financial tickers)、网络性能测量工具(例如,网络监视和流量管理应用)、点击流分析工具、汽车交通监视,等等。这种应用已经引起了对可以处理数据流的新型应用的需求。例如,温度传感器可被配置为持续地发出温度读数。
管理和处理用于这些类型的基于事件流的应用的数据涉及利用强时间焦点建立数据管理和查询能力。需要包括对连续无界限数据集进行长期运行查询的不同种类的查询机制。虽然一些厂商现在提供针对事件流处理的产品套件,但是这些产品供应仍然缺乏处理如今的事件处理需求所需要的处理灵活性。
发明内容
在某些实施例中,提供了用于跨与一个或多个应用相关的多个输入数据流检测样式(pattern)的技术(例如,方法、系统、存储可由一个或多个处理器执行的代码或指令的非暂态计算机可读介质)。
根据一种实施例,公开了用于跨与一个或多个应用相关的多个输入数据流检测样式的方法。该方法包括接收包括第一输入数据流和第二输入数据流的多个输入数据流。该方法还包括生成用于第一输入数据流的第一动态数据类型并生成用于第二输入数据流的第二动态数据类型。在一些实施例中,第一动态数据类型可以通过识别第一输入数据流的第一属性不存在于第二数据流中而生成。于是,第一动态数据类型是为第一属性生成的。第二动态数据类型可以通过识别第二输入数据流的第二属性不存在于第一数据流中而生成。于是,第二动态数据类型是为第二属性生成的。在实施例中,第一动态数据类型可被配置为存储对应于第一输入数据流的第一属性的第一数据值,并且第二动态数据类型可被配置为存储对应于第二输入数据流的第二属性的第二数据值。
在一些实施例中,该方法可以包括基于第一动态数据类型和第二动态数据类型组合第一输入数据流和第二输入数据流,以生成组合数据流。在实施例中,该方法然后可以包括处理对组合数据流的连续查询,以检测样式。在一些实施例中,“样式”可以构成第一数据流中第一事件的发生,然后是第二数据流中另一事件的发生。
根据另一实施例,公开了用于跨与一个或多个应用相关的多个输入数据流检测样式的系统。该系统包括用于存储多条指令的存储器和被配置为访问该存储器的处理器。在实施例中,处理器被配置为执行接收识别第一输入数据流和第二输入数据流的连续查询的指令。处理器还被配置为执行识别用于第一输入数据流的第一属性的第一动态数据类型和用于第二输入数据流的第二属性的第二动态数据类型的指令。在一些实施例中,处理器被配置为基于第一动态数据类型和第二动态数据类型生成组合数据流并执行对组合数据流的连续查询以检测样式。
根据一些实施例,公开了存储可由一个或多个处理器执行的计算机可执行指令的非暂态计算机可读介质。计算机可执行指令包括使一个或多个处理器接收包括至少第一输入数据流和第二输入数据流的多个输入数据流的指令。计算机可执行指令还包括使一个或多个处理器生成用于第一输入数据流的第一动态数据类型和用于第二输入数据流的第二动态数据类型的指令。在一些实施例中,计算机可执行指令包括基于第一动态数据类型和第二动态数据类型组合第一输入数据流和第二输入数据流以生成组合数据流并且处理对组合数据流的连续查询以检测样式的指令。
根据一些实施例,公开了一种方法,包括:接收包括至少第一输入数据流和第二输入数据流的多个输入数据流;生成用于第一输入数据流的第一动态数据类型;生成用于第二输入数据流的第二动态数据类型;至少部分地基于第一动态数据类型和第二动态数据类型组合第一输入数据流和第二输入数据流以生成组合数据流;以及处理对组合数据流的连续查询,以检测样式。
在一些实施例中,生成第一动态数据类型的步骤还包括识别第一输入数据流的第一属性不存在于第二数据流中;并且生成用于第一属性的第一动态数据类型,第一动态数据类型被配置为存储对应于第一输入数据流的第一属性的第一数据值。
在一些实施例中,生成第二动态数据类型的步骤还包括识别第二输入数据流的第二属性不存在于第一数据流中;并且生成用于第二属性的第二动态数据类型,第二动态数据类型被配置为存储对应于第二输入数据流的第二属性的第二数据值。
在一些实施例中,该方法还包括识别共同属性,该共同属性被识别为在第一输入数据流中存在并在第二输入数据流中存在;生成同质模式(schema),该同质模式包括第一输入数据流和第二输入数据流的一个或多个属性的表示,该表示包括至少共同属性、第一动态数据类型和第二动态数据类型;以及至少部分地基于同质模式生成组合数据流。
在一些实施例中,该方法还包括至少部分地基于分析组合数据流来检测样式,其中样式识别第一输入数据流中的第一事件,后面跟着第二输入数据流中的第二事件。
根据一些实施例,提供了服务提供商设备。该服务提供商设备可包括输入数据流接收单元,被配置为接收包括至少第一输入数据流和第二输入数据流的多个输入数据流;第一动态数据类型生成单元,被配置为生成用于第一输入数据流的第一动态数据类型;第二动态数据类型生成单元,被配置为生成用于第二输入数据流的第二动态数据类型;组合数据流生成单元,被配置为至少部分地基于第一动态数据类型和第二动态数据类型组合第一输入数据流和第二输入数据流,以生成组合数据流;以及样式检测单元,被配置为处理对组合数据流的连续查询,以检测样式。
在一些实施例中,第一动态数据类型生成单元还被配置为:识别第一输入数据流的第一属性不存在于第二数据流中;以及生成用于第一属性的第一动态数据类型。
在一些实施例中,第一动态数据类型被配置为存储对应于第一输入数据流的第一属性的第一数据值。
在一些实施例中,第二动态数据类型生成单元还被配置为识别第二输入数据流的第二属性不在第一数据流中存在;以及生成用于第二属性的第二动态数据类型,第二动态数据类型被配置为存储对应于第二输入数据流的第二属性的第二数据值。
在一些实施例中,服务提供商设备还可以包括共同属性识别单元,被配置为识别共同属性,该共同属性被识别为在第一输入数据流中存在并在第二输入数据流中存在;以及同质模式生成单元,被配置为生成同质模式,该同质模式包括第一输入数据流和第二输入数据流的一个或多个属性的表示,该表示包括至少公共属性、第一动态数据类型和第二动态数据类型。
在一些实施例中,同质模式包括流名称标识符属性、与第一输入数据流关联的第一时间戳属性或者与第二输入数据流关联的第二时间戳属性当中至少一个。
在一些实施例中,组合数据流生成单元还可被配置为从第一输入数据流选择第一组元组,第一输入数据流由同质模式识别;从第二输入数据流选择第二组元组,第二输入数据流由同质模式识别;以及处理对第一组元组和第二组元组的子查询,以生成组合数据流。
在一些实施例中,样式可以至少部分地基于分析述组合数据流来检测,其中样式识别第一输入数据流中的第一事件,后面跟着第二输入数据流中的第二事件。
附图说明
详细描述参考附图进行阐述。在图中,标号最左边的(一个或多个)数字识别其中该标号首先出现的图。在不同的图中使用相同的标号指示相似或完全相同的条目。
图1绘出了用于跨多个输入数据流识别样式的技术可以在其中实现的简化示例系统或体系模式。
图2示出了可以利用其描述用于跨多个输入数据流的样式检测的特征的简化框图。
图3是根据本公开内容的一种实施例、利用识别多个输入数据流的CQL查询执行样式识别的示例性说明。
图4是根据本公开内容的另一种实施例、利用识别多个输入数据流的CQL查询执行样式识别的示例性说明。
图5是绘出根据本公开内容的一种实施例、用于跨多个输入数据流检测样式的过程的高级流程图。
图6是绘出根据本公开内容的一种实施例、用于生成同质模式的过程的高级流程图。
图7绘出了可以结合本公开内容的实施例的事件处理系统的简化高级图。
图8绘出了用于实现其中一种实施例的分布式系统的简化图。
图9是根据本公开内容的实施例、由实施例系统的一个或多个组件提供的服务可以通过其作为云服务被提供的系统环境的一个或多个组件的简化框图。
图10示出了本发明的各种实施例可以在其中实现的示例性计算机系统。
图11示出了本发明的各种实施例可以在其中实现的示例性服务提供商设备的简化框图。
具体实施方式
在以下描述中,将描述各种实施例。出于解释的目的,阐述了特定的配置和细节,以便提供对实施例的透彻理解。但是,对于本领域技术人员来说,将很显然,这些实施例可以在没有特定细节的情况下进行实践。此外,众所周知的特征可被省略或简化,以避免模糊所描述的实施例。
在一些应用中,数据可以采取连续、无界的数据流的形式,而不是有限存储的数据集。这种数据流的例子可以包括金融应用中的股票行情、网络监视和交通管理中的性能测量、web跟踪和个性化中的日志记录或点击流、来自传感器应用的数据馈送、基于防火墙的安全性中的网络报文和消息、电信中的呼叫详细记录,等等。由于它们的连续性质,这些数据流通常可以利用连续查询而不是传统的一次性 SQL查询来查询。
一般而言,连续数据流(也被称为事件流)可以包括其本质可以是没有显式结束标志的连续的或无界的数据或事件的流。逻辑上,事件或数据流可以是一系列数据元素(也被称为事件),每个数据元素具有相关联的时间戳。连续事件流可以在逻辑上表示为一包或一组元素(s,T),其中“s”表示数据部分,并且“T”是在时间域中。“s”部分一般被称为元组或事件。因此,事件流可以是一系列具有时间戳的元组或事件。
在一些方面,与流中的事件关联的时间戳可以等同于时钟时间。但是,在其它例子中,与事件流中的事件相关联的时间可以由应用领域定义并且可以不对应于时钟时间,但是可以,例如,代替地通过数字序列来表示。因此,与事件流中的事件关联的时间信息可以由表示时间概念的数字、时间戳或任何其它信息来表示。对于接收输入事件流的系统,事件以递增的时间戳的顺序到达系统。可能存在多于一个的事件具有相同的时间戳。
在一些例子中,事件流中的事件可以表示一些世间事件的发生 (例如,当温度传感器将值改变到新的值时、当股票符号的价格改变时)并且与事件关联的时间信息可以指示由数据流事件表示的世间事件何时发生。
对于经由事件流接收到的事件,可以使用与事件关联的时间信息来确保事件流中的事件以递增的时间戳值的顺序到达。这可以使得在事件流中接收到的事件基于它们关联的时间信息进行排序。为了启用这种排序,时间戳可以以非递减的方式与事件流中的事件关联,使得后生成的事件具有比早生成的事件更晚的时间戳。作为另一个例子,如果序列号被用作时间信息,则与后生成的事件关联的序列号可以大于与较早生成的事件关联的序列号。在一些例子中,多个事件可以与相同的时间戳或序列号关联,例如,当由数据流事件表示的世间事件在同一时间发生时。属于同一事件流的事件可以通常以由关联的时间信息施加在事件上的顺序进行处理,其中较早的事件在较晚的事件之前被处理。
与事件流中的事件相关联的时间信息(例如,时间戳)可以由流的源设置或者,可替代地,可以由接收流的系统设置。例如,在某些实施例中,可以在接收事件流的系统上保持心跳,并且与事件关联的时间可以基于如通过心跳测得的事件到达系统的时间。事件流中的两个事件有可能具有相同的时间信息。应当注意,虽然时间戳排序要求特定于一个事件流,但是不同流的事件可以任意交错。
事件流可以具有关联的模式“S”,该模式包括时间信息和一组一个或多个命名的属性。属于特定事件流的所有事件符合与那个特定事件流关联的模式。因此,对于事件流(s,T),事件流可以具有如 (<time_stamp>,<attribute(s)>)的模式“S”,其中<attributes>表示模式的数据部分并且可以包括一个或多个属性。例如,用于股票报价机事件流的模式可以包括属性<股票标志>和<股票价格>。经由这种流接收到的每个事件将具有时间戳以及两个属性。例如,股票报价机事件流可以接收以下事件及关联的时间戳:
…
(<timestamp_N>,<NVDA,4>)
(<timestamp_N+1>,<ORCL,62>)
(<timestamp_N+2>,<PCAR,38>)
(<timestamp_N+3>,<SPOT,53>)
(<timestamp_N+4>,<PDCO,44>)
(<timestamp_N+5>,<PTEN,50>)
…
在以上的流中,对于流元素(<timestamp_N+1>,<ORCL,62>),事件是具有属性“stock_symbol”和“stock_value”的<ORCL,62>。与流元素关联的时间戳是“timestamp_N+1”。因此,连续事件流是事件的流,每个事件具有相同系列的属性。
如所指出的,流可以是CQL查询可以作用于其的数据的主要来源。流S可以是元素的包(也被称为“multi-set(多集)”)(s,T),其中“s”在S的模式中并且“T”在时间域中。此外,流元素可以是元组-时间戳对,其可被表示为一系列具有时间戳的元组插入。换句话说,流可以是一系列具有时间戳的元组。在一些情况下,可能有多于一个具有相同时间戳的元组。并且,输入数据流的元组可被要求按递增时间戳的顺序到达系统。作为替代,关系(也被称为“随时间变化的关系”,并且不与“关系数据”混淆,“关系数据”可以包括来自关系数据库的数据)可以是从时域到模式R的无界元组袋(bag) 的映射。在一些例子中,关系可以是无序、随时间变化的元组袋(即,瞬时关系)。在一些情况下,在每个时刻,关系可以是有界集。它也可被表示为一系列具有时间戳的元组,其可以包括插入、删除和/或更新,以捕获关系的改变的状态。类似于流,关系可以具有关系的每个元组可以符合的固定模式。另外,如本文所使用的,连续查询一般可以能够处理流和/或关系的(即,针对其查询的)数据。此外,关系可以引用流的数据。
在一些例子中,商业智能(BI)可以帮助以特定的间隔(例如,在一些情况下,每天)驱动和优化业务操作。这种类型的BI通常被称为运营商业智能、实时商业智能或者运营智能(OI)。在一些例子中,运营智能模糊了BI与业务活动监视(BAM)之间的界线。例如,BI可以专注于对历史数据的周期性查询。照此,它可以具有向后看的焦点。但是,BI也可被放到业务应用中,并且因此它可以从单纯的战略分析工具扩展到企业运营的前线中。照此,BI系统也可被配置为实时地分析事件流并计算聚集。
在一些例子中,连续查询语言服务(CQ服务)可被配置为延伸 BI分析服务器,以处理连续查询并启用实时警报。在一些方面中, CQ服务可以提供BI分析服务器和CQL引擎的集成。仅仅作为例子, BI分析服务器可以将连续查询委托给CQ服务并且CQ服务也可以充当用于CQL引擎的逻辑数据库(DB)网关。以这种方式,CQL 引擎可以能够充分利用BI分析服务器的分析能力和语义建模。
在一些例子中,除其它的之外,CQ服务还可以提供以下功能:
·远程化用于BI分析服务器的服务,作为CQL引擎网关;
·事件源/接收器适配器;
·从逻辑SQL加上CQL扩展生成数据定义语言(DDL);
·为所有类型的连续查询和实现选择提供统一的模型;
·维持元数据并支持重启;以及
·高可用性和可扩展性支持。
此外,在一些例子中,OI是实时动态业务分析的形式,其可以提供对业务运营可视性和洞察。就二者都有助于使大量信息有意义而言,OI常常关联到BI或实时BI或者与其进行比较。但也有一些基本的差别:OI可以主要以活动为中心,而BI可以主要以数据为中心。此外,OI可以更适合检测并响应于发展的状况(例如,趋势和样式),不像可能传统上被用作识别样式的事实后和基于报告的方法的BI。
在一些例子中,业务事件分析和监视(BEAM)系统可以包括 CQL引擎,以处理和/或接收动态数据(in-flight data)。例如, CQL引擎可以是被配置为查询或以其它方式处理进入的实时信息的存储器内实时事件处理引擎(例如,BI或OI)。CQL引擎可以利用或理解时序语义并且被配置为允许处理数据窗口的定义。在一些情况下,利用CQL引擎可以涉及总是对进入的数据运行查询。
在一些方面,CQL引擎可以包括完全成熟的查询语言。因而,用户可以就查询而言指定计算。此外,CQL引擎可被设计为利用查询语言特征、运算符共享、丰富的样式匹配、丰富的语言结构等等优化存储器。此外,在一些例子中,CQL引擎可以同时处理历史数据和流化数据。例如,用户可以设置查询,以便在加州销售额高于某一目标时发送警报。因此,在一些例子中,警报可以至少部分地基于历史销售数据以及传入的活(即,实时)销售数据。
在一些例子中,CQL引擎或下面描述的概念的其它特征可被配置为以实时的方式组合历史上下文(即,仓库数据)与传入的数据。因此,在一些情况下,本公开内容可以描述数据库存储的信息与动态信息的边界。数据库存储的信息和动态信息都可以包括BI数据。因而,在一些例子中,数据库可以是BI服务器或者它可以是任何类型的数据库。另外,在一些例子中,本公开内容的特征可以启用以上特征的实现,而无需用户知道如何编程或以其它方式编写代码。换句话说,特征可以在特征丰富的用户界面(UI)中或者以其它方式提供,以允许非开发人员实现历史数据与实时数据的组合。
在某些实施例中,在连续数据流中被接收的事件可以在运行时被处理,以检测数据流中指定样式的发生。“样式”可以在连续的数据流中构成一系列连续的事件或元组,每个事件或元组满足某些条件。作为例子,诸如股票交易量的变化的一个事件的发生导致诸如股票价值定价的变化的另一个事件的发生,并且可以在连续的数据流中构成接收与金融应用相关的“股票计价”事件的“样式”。
在多个连续数据流的上下文中,“样式”可以构成第一数据流中第一事件的发生,后面跟着第二数据流中另一事件的发生,等等。作为例子,考虑被第一事件序列驱动的第一业务过程,其中事件与汽车租赁预订应用相关。类似地,考虑被第二事件序列驱动的第二业务过程,其中事件与航班预订应用相关。此外,假设第一事件序列经由第一连续输入数据流被接收并且第二事件序列经由第二连续输入数据流被接收。在这种情况下,可能期望当第一连续输入数据流中事件(例如,用户对汽车的预订)的到达后面跟着第二连续输入数据流中另一事件(例如,机票发给用户)的到达时输出样式匹配。
在一种实施例中,跨多个连续输入数据流的样式匹配可以通过对传入的输入数据流应用连续查询(例如,CQL查询)来执行。在一种方法中,跨多个连续输入数据流的样式匹配可以通过首先执行要对其执行样式匹配的所有相关输入数据流的全部或子集的UNION来执行,其结果是定义对应于中间流的视图。然后,要匹配的样式可以经这单个中间流来指定。在一种实施例中,CQL语言结构 MATCH_RECOGNIZE子句可被用于在识别多个输入数据流的CQL 查询中执行样式识别。然后,样式可被匹配到包括在视图中的所有流。
作为例子,考虑以下CQL查询,Q1,其中Q1是指定要跨第一输入数据流S1和第二输入数据流S2匹配的样式的连续查询。
Q1:
此外,假设流S1由第一模式定义:S1(int p1,int clientId)并且流 S2由第二模式定义:S2(int p2,int clientId),其中p1、p2和clientId 对应于流S1和S2的一个或多个属性。
查询Q1包括指定流S1和S2的UNION的FROM子句。为了使UNION ALL查询组合流S1和S2的结果集,CQL UNION ALL 查询中的每个CQL SELECT语句通常需要在结果集中具有相同数量的具有类似数据类型的字段。在上面所示的查询Q1的例子中,流 S1的模式与流S2的模式不同。在一种方法中,流S1和S2可以通过规格化流S1和S2的模式来组合。
在一个例子中,模式的规格化可以通过向流S1和S2的每个模式添加附加的列来执行。在上面所示的查询Q1的例子中,列被添加到流S1和S2的每个模式并且利用诸如“-1L”的硬编码值来填充,以规格化模式。但是,将硬编码数据值引入每个流是容易出错的手动过程,因为硬编码值必须在每次识别具有不同模式的多个输入数据流的CQL查询被处理时输入。
在本公开内容的一种实施例中,生成表示一个或多个参与的输入数据流的同质模式。在一些实施例中,同质模式可以通过为参与的输入数据流的一个或多个属性创建一个或多个动态数据类型而生成。动态数据类型和同质模式的生成使UNION ALL子查询中的每个 SELECT语句能够包括相同数量的字段和类似的数据类型,使得流 S1和S2的结果集可以利用SELECT语句来组合。此外,用于参与的输入数据流的属性的动态数据类型的生成是实时地执行的,并且硬编码值不需要在每次CQL查询被处理时被引入参与的输入数据流。在一个例子中,并且如下面将详细讨论的,动态数据类型可以指为输入数据流的一个或多个属性识别的复合数据类型。
在某些实施例中,输入数据流然后可以基于同质模式被组合,以生成组合数据流。然后,连续查询可以对组合数据流处理,以便跨输入数据流检测样式。在一种实施例中,CQL语言结构 MATCH_RECOGNIZE子句可被用于在识别多个输入数据流的CQL 查询中执行样式识别。同质模式和动态数据类型可被生成并用于在识别多个输入数据流的CQL查询中执行样式识别的方式的附加细节在下面图1-4中详细讨论。
利用MATCH_RECOGNIZE子句,用户可以对传入的事件的属性定义条件并且通过使用被称为相关变量的标识符识别用于样式匹配的条件。如以上所讨论的,输入数据流中的一系列连续事件或元组构成样式,其中每个事件或元组满足某些条件。样式识别功能允许用户对传入的事件或元组的属性定义条件并且通过使用被称为相关变量的串名称来识别这些条件。
在上面所示的查询Q1中,“A”和“B”是相关变量。要匹配的样式被指定为对这些相关变量的正则表达式并且它确定条件应当被不同的传入事件满足的顺序或次序被识别为有效匹配。输入事件流中满足这些条件的连续事件的序列构成样式。在一种实施例中,MATCH_RECOGNIZE查询的输出是流。在上面所示的查询Q1中, MATCH_RECOGNIZE子句还包括几个子子句。
DEFINE子子句指定用于每个相关变量的布尔条件。这可被指定为任何逻辑或算术表达式并且可以对匹配条件的事件的属性应用任何单行或聚合函数。在经由输入数据流接收新的事件时,在那个时间点相关的相关变量的条件被评估。如果事件满足其定义条件,则该事件已经匹配相关变量。特定的输入可以匹配零个、一个或多个相关变量。在接收输入事件时要评估的相关条件是通过由PATTERN子句正则表达式支配的处理逻辑以及在处理更早的输入之后已经到达的样式识别过程的状态确定的。条件可以指对其应用MATCH_RECOGNIZE 子句的流进行评估的流或视图的模式的任何属性。PATTERN子句中的相关变量不需要在DEFINE子句中指定:对于这种相关变量的缺省值是总是为真的谓词。这种相关变量匹配每个事件。
PARTITION BY子子句指定MATCH_RECOGNIZE子句应当通过其划分其结果的流属性。如果没有PARTITION BY子句,则所有的流属性属于同一个分区。当PARTITION BY子句与样式匹配一起存在时,输入数据流基于分区列表中提到的属性被逻辑划分并且样式匹配在分区内进行。在上面所示的查询Q1中,“clientId”属性 (该属性是流S1和S2的共同属性)在PARTITION BY子句中指定,通过其,MATCH_RECOGNIZE子句可以划分其结果。
MEASURES子子句导出(例如,使得可用于包括在SELECT 子句中)成功地匹配指定的样式的事件的一个或多个属性值并且还使得表达式能够对那些属性值指定。这个子句可被用来对事件流中匹配 DEFINE子句中条件(相关变量)的事件的属性定义表达式并且给这些表达式起别名,使得它们可以适合用在这个 MATCH_RECOGNIZE条件是其一部分的主查询的SELECT子句中。事件流的属性可以直接地或经由相关变量被引用。
PATTERN子子句指定要作为对一个或多个相关变量的正则表达式被匹配的样式。传入的事件必须按给定的次序(由左到右)匹配这些条件。正则表达式可以由相关变量和诸如以下的样式限定符组成:
*:0或多次
+:1或多次
?:0或1次,等等
在某些实施例中,上面所示的单字符样式限定符是最大的或“贪婪的”;它们将尝试匹配它们对其应用的正则表达式的尽可能多的实例。样式限定符也可以是两个字符,这是最小的或者“难得的”,它们将尝试匹配它们对其应用的正则表达式的尽可能少的实例。两字符限定符的实例包括但不限于:
*?:0或多次
+?:1或多次
??:0或1次
作为样式匹配的例子,考虑下面的样式:
PATTERN(AB*C)
这个样式子句意味着,当以下条件被连续传入的输入事件满足时,样式匹配将被识别出:
状态1:确切地一个事件元组匹配定义相关变量A的条件,后面跟着
状态2:匹配相关变量B的零或多个元组,后面跟着
状态3:匹配相关变量C的确切地一个元组。
这些状态状态1、状态2和状态3可以表示用于样式(AB*C) 的各种状态,其中状态3是用于样式的最终状态。当样式匹配处于特定状态并且可以保留在相同的特定状态或者可以由于下一个事件而从该特定状态过渡到下一个状态时,这可以暗示绑定能增长。如果绑定是在最后的状态,则样式可被认为匹配。而在状态2中,如果匹配相关变量B和C二者(由于它满足两者的定义条件)的元组或事件到达,则由于用于B的限定符*是贪婪的,因此那个元组会被认为匹配 B而不是C。相应地,由于贪婪属性B会比C得到优先,因此更大数量的B可被匹配。如果样式表达式是A B*?C,对B使用懒惰或难得的限定符的表达式,则匹配B和C二者的元组会被认为仅匹配 C。因此,在那个例子中,C会比B得到优先并且更少数量的B可被匹配。
在上面所示的查询Q1中,当以下情况发生时,样式(AB)被匹配:
状态1:确切地一个事件元组匹配定义相关变量A的条件,后面跟着
状态2(最终状态):匹配相关变量B的确切地一个元组。
状态状态1和状态2表示用于样式(AB)的各种可能状态,其中状态2是用于该样式的最终状态。
以上和以下描述的技术可以以多种方式并在多种上下文中实现。参考以下附图提供几个示例实现和上下文,如在下面更详细描述的。但是,以下实现和上下文仅仅是很多当中的一些。
图1绘出了用于跨多个输入数据流执行样式匹配的技术可以在其中实现的简化示例系统或体系架构100。在体系架构100中,一个或多个用户102(例如,帐号持有人)可以利用用户计算设备104(1)- (N)(统称为“用户设备104”)经一个或多个网络108访问一个或多个服务提供商计算机106。在一些方面,服务提供商计算机106还可以经网络108与一个或多个流数据源计算机110和/或一个或多个数据库112通信。例如,用户102可以利用服务提供商计算机106访问或以别的方式管理流数据源计算机110和/或数据库112的数据 (例如,查询可以对照110、112当中任何一个或二者运行)。数据库112可以是关系数据库、SQL服务器等等并且,在一些例子中,可以代表用户102管理历史数据、事件数据、关系、归档的关系等等。此外,数据库112可以接收或以别的方式存储由流数据源计算机110 提供的数据。在一些例子中,通过提供对数据(例如,历史事件数据、流事件数据等等)的查询(也被称为“查询语句”)或其它请求,用户102可以利用用户设备104与服务提供商计算机106交互。然后,这种查询或请求可被服务提供商计算机106执行,以处理数据库112 的数据和/或从流数据源计算机110进入的数据。另外,在一些例子中,流数据源计算机110和/或数据库112可以是与服务提供商计算机106关联的集成式、分布式环境的部分。
在一些例子中,网络108可以包括多种不同类型网络当中任何一个或者其组合,诸如有线网络、互联网、无线网络、蜂窝网络、内联网系统和/或其它专用和/或公共网络。虽然所说明的例子代表用户 102经网络108访问服务提供商计算机106,但是所描述的技术可以同等地应用在用户102通过固定电话经一个或多个用户设备104、经信息站或者以任何其它方式与一个或多个服务提供商计算机106交互的情况中。还应当指出,所描述的技术可以应用在其它客户端/服务器布置(例如,机顶盒等等)当中,以及非客户端/服务器布置(例如,本地存储的应用等等)当中。
用户设备104可以是任何类型的计算设备,诸如但不限于,移动电话、智能电话、个人数字助理(PDA)、膝上型计算机、台式计算机、瘦客户端设备、平板PC等等。在一些例子中,用户设备104可以经网络108或者经其它网络连接与服务提供商计算机106通信。另外,用户设备104还可被配置为提供一个或多个用于请求要处理的数据库112(或者其它数据存储)的数据的查询或查询语句。
在一些方面,服务提供商计算机106也可以是任何类型的计算设备,诸如但不限于,移动、台式、瘦客户端和/或云计算设备,诸如服务器。在一些例子中,服务提供商计算机106可以经网络108或者经其它网络连接与用户设备104通信。服务提供商计算机106可以包括一个或多个服务器,有可能布置在集群中、作为服务器群或者作为彼此不关联的单独服务器。这些服务器可被配置为执行或以别的方式托管本文所述的特征,包括但不限于,本文所述的CQL关系的管理、输入关系的生成、与输入关系关联的可配置窗口运算符,和输出关系的生成。此外,在一些方面,服务提供商计算机106可被配置为包括流数据源计算机110和/或数据库112的集成式、分布式计算环境的部分。
在一种说明性配置中,服务提供商计算机106可以包括至少一个存储器114和一个或多个处理单元(或(一个或多个)处理器)134。处理器134可以适当地在硬件、计算机可执行指令、固件或者其组合中实现。(一个或多个)处理器138的计算机可执行指令或固件实现可以包括以任何合适的编程语言书写的计算机可执行或机器可执行指令,以执行所描述的各种功能。
存储器114可以存储可在(一个或多个)处理器134上加载并执行的程序指令,以及在这些程序执行过程中生成的数据。取决于服务提供商计算机106的配置和类型,存储器114可以是易失性的(诸如随机存取存储器(RAM))和/或非易失性的(诸如只读存储器(ROM)、闪存存储器等等)。服务提供商计算机106或服务器还可以包括附加的储存器136,它可以包括可移除的储存器和/或不可移除的储存器。附加的储存器136可以包括,但不限于,磁储存器、光盘和/或带储存器。盘驱动器及其关联的计算机可读介质可以提供用于计算设备的计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。在一些实现中,存储器114可以包括多种不同类型的存储器,诸如静态随机存取存储器(SRAM)、动态随机存取存储器 (DRAM)或ROM。
都是可移除和不可移除的存储器114、附加的储存器136全是计算机可读存储介质的例子。例如,计算机可读存储介质可以包括以任何方法或技术实现的易失性或非易失性、可移除或不可移除的介质,用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息。存储器114和附加的储存器136都是计算机存储介质的例子。
服务提供商计算机106还可以包含允许服务提供商计算机106与所存储的数据库、另一计算设备或服务器、用户终端和/或其它设备在网络108上通信的(一个或多个)通信连接138。服务提供商计算机106还可以包括(一个或多个)输入/输出(I/O)设备140,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备、显示器、一个或多个扬声器、打印机等等。
更具体地转向存储器114的内容,存储器114可以包括操作系统 124和用于实现本文所公开的特征的一个或多个应用程序或服务,包括至少输入数据流模块116、动态数据类型生成模块118、组合数据流生成模块120和样式检测模块122。如本文所使用的,模块可以指由服务器或服务器集群执行的作为服务的一部分的编程模块。在这种特定的语境下,模块可被作为服务提供商计算机106的一部分的服务器或服务器集群执行。在其它实施例中,模块可以由CQL引擎和/或 CQ服务200执行(在图2中示出),其可以是服务供应商的计算机106的一部分。在各种实施例中,并且如下面将详细讨论的,模块 116、118、120和122可被配置为执行使得能够跨多个输入数据流检测样式的功能。这些模块可以在硬件或软件或其组合中实现。图1中绘出的各种模块为了说明的目的而不是意在限制本发明的实施例的范围。备选实施例可以包括比图1中所示的那些更多或更少的模块。
在一种实施例中,输入数据流模块116可被配置为接收、识别、生成或以其它方式提供一个或多个输入数据流126。在一个例子中, (一个或多个)输入数据流126可以包括与一个或多个应用相关的数据或事件的传入的连续数据流。在一些实施例中,输入数据流126可以从数据源计算机110和/或数据库112接收。
在一些例子中,(一个或多个)输入数据流126可以包括与一个或多个应用相关的一系列加时间戳的元组或数据记录。例如,(一个或多个)输入数据流126中的每个数据记录可以包括可由以下模式表示的事件流条目:(<time_stamp>,<attribute(s)>),其中<attributes> 表示模式的数据部分并且可以包括一个或多个属性。
作为例子,考虑(一个或多个)输入数据流126包括第一数据流和第二数据流。为了这个例子,进一步考虑第一输入数据流包括与第一应用(例如,汽车租赁预订应用)相关的第一组事件并且第二输入数据流包括与第二应用(例如,航班预订应用)相关的第二组事件。此外,考虑第一输入数据流由第一模式S1定义:(c1,integer,c2 integer)并且第二输入数据流由第二模式S2定义:(c1,integer,c3 integer)。
在一种实施例中,第一输入数据流和第二输入数据流可被分析,以检测样式,其中,“样式”可以构成第一数据流中一个事件的发生,后面跟着第二数据流中另一个事件的发生。在一个例子中,样式匹配可通过对传入的连续数据流应用连续查询(例如,CQL查询)来执行。图2描述了用于通过对多个输入数据流应用CQL查询来执行样式匹配的CQL引擎和/或CQ服务200的至少一种实现。虽然上面的讨论涉及跨第一数据流和第二数据流检测样式的检测,但应当认识到,在至少一些实施例中,所公开的技术可以应用于跨多个连续的输入数据流检测样式。
在一些实施例中,输入数据流的分析最初可以由动态数据类型生成模块118执行。在一种实施例中,动态数据类型生成模块118可被配置为从输入数据流模块116接收第一输入数据流和第二输入数据流并且识别输入数据流中的一个或多个属性。在一些例子中,动态数据类型生成模块118可被配置为识别第一数据流的第一属性和第二数据流的第二属性。在一个例子中,第一属性可被识别为不在第二数据流中存在的属性并且第二属性可被识别为不在第一数据流中存在的属性。
经由上面讨论的流S1和S2的例子,在一种实施例中,动态数据类型生成模块118可以将第一属性“c2”识别为第一数据流S1中不在第二数据流S2中存在的属性。类似地,动态数据类型生成模块 118可以将第二属性“c3”识别为第二数据流S2中不在第一数据流 S1中存在的属性。虽然上面的讨论涉及在流S1和S2中识别出的第一属性和第二属性,但是应当认识到,在其它实施例中,动态数据类型生成模块118可被配置为从流S1和S2识别附加属性。
在一些实施例中,动态数据类型生成模块118可被配置为生成用于第一属性的第一动态数据类型和用于第二属性的第二动态数据类型。在一个例子中,第一动态数据类型被配置为存储对应于第一数据流的第一属性的第一数据值并且第二动态数据类型被配置为存储对应于第二数据流的第二属性的第二数据值。
在一些实施例中,动态数据类型可被实现为包括一个或多个在本文中被称为“字段”成员类型的复合数据类型。在一个例子中,成员字段可以包括名称和关联的类型。字段类型可以是任何CQL原生类型,诸如像CQL可扩展类型。在一些例子中,服务(例如,图2中所示的CQL引擎和/或CQ服务200)可被配置为通过提供一个或多个应用编程接口(API)实现用于动态数据类型的CQL可扩展类型,通过这些API,动态数据类型可以通过指定其公开字段(例如,字段名、字段的数据类型)被创建和定义。
在某些实施例中,动态数据类型生成模块118可被配置为识别共同属性,共同属性可被识别为是在第一数据流和第二数据流中都存在的属性。在一种实施例中,动态数据类型生成模块118然后可被配置为生成表示第一输入数据流和第二输入数据流的同质模式128。在一个例子中,同质模式128可以包括第一输入数据流和第二输入数据流的一个或多个属性的表示,包括共同属性和第一动态数据类型和第二动态数据类型。
经由上面所示的第一输入数据流S1和第二输入数据S2的例子,在一种实施例中,可以如下生成用于流S1和S2的同质模式:
同质模式:($streamName char,c1int,S1 Typ1@DynamicTypeCartridge,S2Typ2@DynamicTypeCartridge)
在这里,“$streamName”指同质模式中具有数据类型char的属性。“$streamNam”属性从输入数据流中识别接收到的输入元组 (事件)的输入数据流源。对于事件“e”,“$streamNam”属性可以存储其中“e”是事件的流别名的名称。因此,“$streamName”属性使得能够识别当前输入事件(元组)所属的特定输入数据流。“c1”指同质模式中的共同属性,其中共同属性被识别为在每个参与的输入数据流中具有相同数据类型和的相同名称的属性。例如,共同属性“c1”可以指识别访问与输入数据流S1和S2相关的第一应用和第二应用的用户的用户属性。在一些例子中,包括共同属性的同质模式可以使PARTITION by子句的规范能够创建本身可以包含来自不同输入数据流的事件的子流。
此外,“Typ1@DynamicTypeCartridge”指被配置为存储对应于第一数据流的第一属性的第一数据值的第一动态数据类型。在一个例子中,“Typ1@DynamicTypeCartridge”可被用来存储对应于第一输入数据流S1中的第一属性“c2”的数据值。作为例子,第一输入数据流S1中的第一属性“c2”可以指存储来自访问第一应用(例如,汽车租赁预订应用)的用户的汽车预订标识号的车预订属性。
类似地,“Typ2@DynamicTypeCartridge”指被配置为存储对应于第二数据流的第二属性的第二数据值的第二动态数据类型。在一个例子中,“Typ2@DynamicTypeCartridge”可被用来存储对应于第二输入数据流S2中的第二属性“c3”的数据值。作为例子,第二输入数据流S2的第二属性“c3”可以指存储用于访问第二应用(例如,航班预订应用)的用户的航班预订标识号的航班预订属性。
对于上面的例子,可以观察到,有一个用于类型S1的属性(例如,“c2”)“Typ1@DynamicTypeCartridge”和一个用于类型S2 的属性(例如,“c3”)“Typ2@DynamicTypeCartridge”。“Typ1@DynamicTypeCartridge”可以包括用于相同数据类型的流S1的每个属性的一个公共字段。类似地,“Typ2@DynamicTypeCartridge”可以包括用于流S2的每个属性的一个公共字段。可以指出,Typ1和Typ2是内部类型并且可以是最终用户不可见的。对于所考虑的例子,Typ1可以包括公共字段“c1”和“c2”,而Typ2可以包括公共字段“c1”和“c3”。
基于这样生成的同质模式,在一种实施例中,组合数据流生成模块120可被配置为生成组合数据流。在一个例子中,组合数据流可以通过执行第一输入数据流和第二输入数据流的UNION来生成,其中第一输入数据流和第二输入数据流由同质模式S表示。在一个例子中,CQL UNION ALL子查询可以基于同质模式S被应用到第一数据流S1和第二数据流S2,以组合流S1和S2的结果集。同质模式的生成使UNION ALL子查询中的每个CQL SELECT语句能够在结果集中具有相同数量的字段和类似的数据类型。相应地,流S1和S2 的结果集可以基于同质模式利用UNION ALL子查询中的SELECT 语句来组合。在图4中讨论可以利用UNIONALL子查询组合第一数据流和第二数据流以生成组合数据流的方式。
在一些实施例中,样式检测模块122然后可被配置为基于组合数据流检测样式132。在一种实施例中,样式检测模块可被配置为通过对组合数据流应用MATCH_RECOGNIZE子句来输出样式匹配。作为例子,检测到的样式可以包括第一输入数据流S1中第一事件的(例如,用户对汽车的预订)到达,后面跟着第二输入数据流S2中第二事件(例如,机票发给用户)的到达。样式检测模块可被配置为在识别多个输入数据流的CQL查询中执行样式识别的方式在图3中讨论。
图2示出了可以描述用于跨多个输入数据流的样式检测的特征的简化框图。如图所示,图2描述了用于管理多个输入数据流的CQL 引擎和/或CQ服务200的至少一种实现。在一些实施例中,图1中所示的模块116、118、120和122可以由CQL引擎和/或CQ服务 200执行。CQL引擎和/或CQ服务200最初可以从输入源204接收信息。在一个例子中,输入源204可以包括接收传入的连续输入数据流的数据源计算机110,传入的连续输入数据流包括与一个或多个应用相关的数据或事件。在某些实施例中,当包括第一输入数据流S1 206和第二输入数据流S2 208的查询(例如,CQL查询)被识别或接收到时,CQL引擎200可以解析该查询,以便跨流S1和S2检测样式。在一种实施例中,CQL引擎和/或CQ服务200可以通过首先执行第一输入数据流和第二输入数据流的UNION来执行CQL查询,其中第一输入数据流和第二输入数据流由同质模式S表示。在一种实施例中,同质模式S可以由如在图1中所讨论的动态数据类型生成模块118生成。
然后,输入数据流S1和S2可以基于同质模式被组合,以生成组合数据流。在一种实施例中,组合数据流可以由组合数据流模块 120生成。然后,样式检测模块122可以处理对组合数据流的连续查询(例如,CQL查询),以便跨输入数据流检测样式。在一种实施例中,样式检测模块可被配置为通过对组合数据流应用 MATCH_RECOGNIZE子句来输出样式匹配。在一些例子中,然后, CQL引擎和/或CQ服务200可以将检测到的样式存储在输出目的地 212中,诸如像图1中所示的数据库112中。
图3是根据本公开内容的一种实施例、利用识别多个输入数据流的CQL查询执行样式识别的示例性说明。在一个例子中,查询300 是指定要跨第一输入数据流S1和第二输入数据流S2匹配的样式的连续(例如,CQL)查询。在图3所示的例子中,流S1和S2在用括号包围的以逗号隔开的列表中指定并且作为输入提供给 MATCH_RECOGNIZE子句。其结果是,查询300的FROM子句可以方便地利用下式表示:(S1,S2)MATCH_RECOGNIZE。在一些例子中,列表中的每个流可被识别为基本流或者对流的视图评估或者对流的子查询评估。
当流S1和S2如以上所讨论的那样利用逗号隔开的列表指定时,每个参与的流可能需要利用独特的别名来识别。因此,例如,如果 MATCH_RECOGNIZE子句对{S,S}应用,则FROM子句可能需要被指定为(S,S AS S1)MATCH_RECOGNIZE。即,可选的AS子句可能需要被引入,以便给第二个流S取别名,以确保独特的别名。可以指出,在其它例子中,如果未指定明确的AS子句,则流名称可被认为是别名。
在一些实施例中,流S1和S2表达为逗号隔开的列表可以对输入数据流S1和S2的UNION进行评估,其中流S1和S2由同质模式定义。在一种实施例中,并且如在图4中详细讨论的,组合数据流可以基于UNION ALL子查询的执行而生成并且组合数据流可以作为输入被提供给MATCH_RECOGNIZE子句。然后, MATCH_RECOGNIZE可被用来检测组合数据流中的样式。
如上面所讨论的,利用MATCH_RECOGNIZE子句,用户可以对传入的事件的属性定义条件并且通过利用被称为相关变量的标识符识别用于样式匹配的条件。样式识别功能允许用户对传入的事件或元组的属性定义条件并且通过利用被称为相关变量的串名称识别这些条件。
在查询300中,“A”是相关变量。要匹配的样式被指定为对这个相关变量的正则表达式并且确定条件应当被要被识别为有效匹配的不同的传入事件满足的顺序或次序。在一个例子中,输入数据流S1 和S2中满足这些条件的连续事件序列构成样式。在一种实施例中, MATCH_RECOGNIZE查询的输出是流。
图4是根据本公开内容的另一实施例、利用识别多个输入数据流的CQL查询执行样式识别的示例性说明。在一种实施例中,图4中所示的查询400绘出了查询300的FROM子句的内部表示。在一个例子中,FROM子句可被表示为流S1和S2的UNION ALL子查询,其中流S1和S2由同质模式表示。
对于图4中所示的例子,表示流S1和S2的同质模式可以如下生成:
同质模式S:($streamName char,c1int,ELEMENT_TIME int, S1Typ1@DynamicTypeCartridge,S2
Typ2@DynamicTypeCartridgeCartridge)
在这里,“Typ1@DynamicTypeCartridge”表示为不在流S2中存在的流S1的属性生成的第一动态数据类型。类似地,“Typ2@DynamicTypeCartridge”表示为不在流S1中存在的流S2 的属性生成的第二动态数据类型。对于图4中所示的例子,“Typ1@DynamicTypeCartridge”表示用于不在流S2中存在的流 S1中的第一属性“c2”的第一动态数据类型,并且“Typ2@DynamicTypeCartridge”表示用于不在流S1中存在的流 S2中的第二属性“c3”的第二动态数据类型。
在一种实施例中,以上讨论的动态数据类型和同质模式的生成可以使得流S1和S2的各个特定于流的属性能够如下被访问。在运行时,对于从流S1接收到的事件,“Typ1@DynamicTypeCartridge”动态数据类型可被配置为利用表达式“Typ1@DynamicTypeCartridge(c1,c2)AS S1”表示不在S2中的来自流S1的第一属性“c2”,而“Typ2@DynamicTypeCartridge”动态数据类型可被配置为利用表达式“Typ2@DynamicTypeCartridge()AS S2”表示不在S1中的来自流S2的第二属性“c3”。在一个例子中,“Typ2@DynamicTypeCartridge”可以对接收到的事件对流S2的第二属性“c3”存储NULL值。
类似地,对于从流S2接收到的事件,“Typ1@DynamicTypeCartridge”动态数据类型可被配置为将不在 S2中的来自流S1的第一属性(“c2”)表示为“Typ1@DynamicTypeCartridge()AS S1”并且为属性“c2”存储 NULL值。此外,“Typ2@DynamicTypeCartridge”可被配置为利用表达式“Typ2@DynamicTypeCartridge(c1,c3)ASS2”表示不在 S1中的来自流S2的第二属性“c3”。在一种实施例中,利用上面讨论的动态数据类型表示,属性“c2”可以在CQL查询中作为S1.c2 被访问并且属性“c3”可以在CQL查询中作为S2.c3被访问。
此外,在图4中所示的例子中,属性“c1”和“ELEMENT_TIME”(时间戳值)可被识别为共同属性。在一些例子中,共同属性“c1”可以利用同质模式或者作为A.c1或者作为A.S1.c1被访问。在一些例子中,PARTITION BY子句也可被用来访问共同属性。
可以认识到,上面讨论的同质模式和动态数据类型的生成使得 UNION ALL查询中的每个CQL SELECT语句在结果集中具有相同数量的字段和类似的数据类型。此外,动态数据类型使“NULL”值被分配给不属于特定流的属性。在一种实施例中,然后,通过应用 CQLUNION ALL子查询以组合流S1和S2的结果集,数据流S1和 S2的结果集可以基于同质模式被组合,以生成组合数据流。组合数据流可被生成的方式可以利用下面的非限制性例子来解释。
作为例子,考虑第一输入数据流S1接收下面的事件和关联的时间戳:
...
(<timestamp 1000>,<C1 1,C2 5>)
(<timestamp 2000>,<C1 1,C2 10>)
(<timestamp 3000>,<C1 1C2 15>)
...
类似地,考虑第二输入数据流S2接收下面的事件和关联的时间戳:
...
(<timestamp 1000>,<C1 1,C3 5>)
(<timestamp 2000>,<C1 1,C3 10>)
(<timestamp 3000>,<C1 1C3 15>)
...
上面所示的流S1和S2的结果集可被组合,以生成如下所示的组合数据流。在一个例子中,组合数据流包括可以基于如上讨论的同质模式利用UNION ALL子查询中的SELECT语句组合的流S1和 S2的结果集。在一个例子中,组合数据流可以由以下同质模式 ($streamName,c1,S1.c2,S2,c3)识别并且可以包括以下事件和关联的时间戳:
...
(<timestamp 1000>,<S1,C1 1,C2 5,NULL>)
(<timestamp 1000>,<S2,C1 1,C2NULL,C3 5>)
(<timestamp 2000>,<S1,C1 1,C2 10,C3NULL>)
(<timestamp 2000>,<S2,C1 1,C2NULL,C3 10>)
(<timestamp 3000>,<S1,C1 1,C2 1,C3NULL>)
(<timestamp 3000>,<S2,C1 1,C2NULL,C3 15>)
...
图5和6示出了示出用于实现本文所述跨多个输入数据流的样式检测的相应过程500和600的示例流程图。这些过程500和600被示为逻辑流程图,其每个操作代表可以在硬件、计算机指令或者其组合中实现的一系列操作。在计算机指令的语境下,操作代表存储在一个或多个计算机可读存储介质上的计算机可执行指令,当指令被一个或多个处理器执行时,执行所述操作。一般而言,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。操作被描述的次序并不是要被解释为限制,并且任何数量的所描述操作都可以以任何次序和/或并行地被组合,以实现过程。
此外,一些、任何或全部过程可以在利用可执行指令配置的一个或多个计算机系统的控制下执行并且可以实现为在一个或多个处理器上共同执行的代码(例如,可执行指令、一个或多个计算机程序,或者一个或多个应用)、硬件或者其组合。如以上所指出的,代码可以存储在计算机可读存储介质上,例如,以包括可由一个或多个处理器执行的多条指令的计算机程序的形式。计算机可读存储介质可以是非暂态的。
图5是绘出根据本公开内容的一种实施例、用于跨多个输入数据流检测样式的过程的高级流程图。在一些例子中,在至少图1(及其它图)中所示的一个或多个服务提供商计算机106(例如,利用至少输入数据流模块116、动态数据类型生成模块118、组合数据流生成模块120或样式检测模块122)可以执行图5的过程500。过程500 可以在502通过包括识别和/或接收第一输入数据流和第二输入数据流开始。
在504,过程500可以包括生成表示第一输入数据流和第二输入数据流的同质模式。同质模式可以通过其生成的过程在图6中详细讨论。
在506,过程500可以包括基于同质模式组合第一输入数据流和第二输入数据流,以生成组合数据流。在一种实施例中,生成组合数据流可以包括从第一输入数据流选择第一组元组(经由第一CQL SELECT语句)、从第二输入数据流选择第二组元组(经由第一 CQLSELECT语句)并且对第一组元组和第二组元组处理子查询 (例如,UNION ALL子查询),以生成组合数据流。如上面所讨论的,同质模式的生成使UNION ALL子查询中的每个CQL SELECT语句能够在结果集中具有相同数量的字段和类似的数据类型。相应地,流S1和S2的结果集可以基于同质模式利用UNION ALL子查询中的SELECT语句被组合,以生成组合数据流。
在508,过程500可以包括处理对组合数据流的连续查询(例如, CQL查询),以识别样式。在一种实施例中,基于UNION ALL子查询的执行所生成的组合数据流可以作为输入被提供给 MATCH_RECOGNIZE子句。如在图3中所讨论的, MATCH_RECOGNIZE子句可被用来对组合数据流处理CQL查询,以检测组合数据流中的样式。
图6是绘出根据本公开内容的一种实施例、用于生成同质模式的过程的高级流程图。在一种实施例中,过程600描述执行在图5中讨论的过程504的更多细节。
在602,过程600可以包括识别第一输入数据流的第一属性。
在604,该过程可以包括识别第二输入数据流的第二属性。在一种实施例中,第一属性可被识别为不在第二输入数据流中存在的属性并且第二属性可被识别为不在第一输入数据流中存在的属性。
在606,过程600可以包括生成表示第一输入数据流的第一属性的第一动态数据类型。在608,过程600可以包括生成表示第二输入数据流的第二属性的第二动态数据类型。
在610,过程600可以包括识别共同属性。在一种实施例中,共同属性可被识别为在第一输入数据流和第二输入数据流中都存在的属性。
在612,过程600可以包括生成同质模式。在一种实施例中,并且如在图2中详细描述的,同质模式可以包括第一输入数据流和第二输入数据流的一个或多个属性的表示,该表示包括包括至少共同属性、第一动态数据类型和第二动态数据类型。
图7绘出了可以结合本公开内容的实施例的事件处理系统700的简化高层示图。事件处理系统700可以包括一个或多个事件源704、 706、708、配置为提供用于处理事件流的环境的事件处理服务器 (EPS)702、以及一个或多个事件接收器(710、712)。事件源生成由EPS 702接收的事件流。EPS 702可以从一个或多个事件源704、 706、708接收一个或多个事件流。例如,如在图7中所示出的, EPS 702从事件源704接收输入事件流714、从事件源706接收第二输入事件流716、以及从事件源708接收第三事件流718。一个或多个事件处理应用(720、722和724)可以部署在EPS 702上并且被其执行。由EPS 702执行的事件处理应用可被配置为监听一个或多个输入事件流、基于从输入事件流选择一个或多个事件作为显著事件的处理逻辑处理经所述一个或多个事件流接收到的事件。显著事件然后可以以一个或多个输出事件流的形式被发送到一个或多个事件接收器710、712。例如,在图7中,EPS 702将输出事件流726输出到事件接收器710,并且将第二输出事件流728输出到事件接收器712。在某些实施例中,事件源、事件处理应用和事件接收器彼此分离,使得在不对其它组件造成变化的情况下,可以添加或去除这些组件中的任何组件。
在一种实施例中,EPS 702可被实现为包括轻量级Java应用容器的Java服务器,诸如基于Equinox OSGi、具有共享服务的服务器。在一些实施例中,EPS 702可以例如通过利用JRockit Real Time支持处理事件的超高吞吐量和微秒级延迟。EPS 702也可以提供包括用于开发事件处理应用的工具(例如,Oracle CEP Visualizer和 Oracle CEP IDE)的开发平台(例如,完全实时的端对端Java事件驱动体系架构(EDA)开发平台)。
事件处理应用被配置为监听一个或多个输入事件流、执行用于从这一个或多个输入事件流选择一个或多个显著事件的逻辑(例如,查询)、以及经一个或多个输出事件流将选定的显著事件输出到一个或多个事件源。图7提供了用于一个这种事件处理应用720的展开图。如在图7中所示出的,事件处理应用720被配置为监听输入事件流 718、经由包括用于从输入事件流718选择一个或多个显著事件的逻辑的CQL引擎/CQ服务200执行查询、以及经输出事件流728将选定的显著事件输出到事件接收器712。事件源的例子包括,但不限于,适配器(例如,JMS、HTTP和文件)、信道、处理器、表、高速缓存,等等。事件接收器的例子包括,但不限于,适配器(例如,JMS、 HTTP和文件)、信道、处理器、高速缓存,等等。
虽然图7中的事件处理应用720被示为监听一个输入流并且经一个输出流输出选定的事件,但这不是要进行限制。在可替代的实施例中,事件处理应用可被配置为监听从一个或多个事件源接收到的多个输入流、从被监视的流中选择事件、并且经一个或多个输出事件流将选定的事件输出到一个或多个事件接收器。同一查询可以与多于一个的事件接收器和与不同类型的事件接收器相关联。
由于其无界的性质,经事件流接收到的数据的量通常非常大。因此,为了查询目的存储或归档所有数据通常是不切实际的并且不是所期望的。事件流的处理需要随着事件被EPS 702接收实时地进行事件处理,而不必存储所有接收到的事件数据。因此,EPS 702提供特殊的查询机制,其使得事件的处理随着事件被EPS 702接收来执行,而不必存储所有接收到的事件。
事件驱动的应用是规则驱动的并且这些规则可以以用来处理输入流的连续查询的形式来表达。连续查询可以包括识别要为接收到的事件执行的、包括哪些事件要被选择作为显著事件的处理并且输出作为查询处理的结果的指令(例如,业务逻辑)。连续查询可被持久保存到数据存储库并且用于处理输入事件流和生成输出事件流。连续查询通常执行过滤和聚合功能,以从输入事件流中发现和提取显著事件。因此,输出事件流中的出站事件的数量通常比从中选择事件的输入事件流中的事件的数量少得多。
不像在有限数据集运行一次的SQL查询,已由应用向EPS 702 注册用于特定事件流的连续查询可以在每次那个事件流中接收到事件时被执行。作为连续查询执行的部分,EPS 702基于由连续查询指定的指令评估接收到的事件,以确定一个或多个事件是否要被选择作为显著事件,并且作为连续查询执行的结果输出。
连续查询可以利用不同的语言来编程。在某些实施例中,连续查询可以利用由Oracle公司提供的并且被Oracle的复杂事件处理 (Complex Exents Processing,CEP)产品系列使用的CQL进行配置。Oracle的CQL是可以用来编程可针对事件流执行的查询(被称为CQL查询)的声明性语言。在某些实施例中,CQL基于SQL,其中添加了支持流事件数据的处理的构造。
在一种实施例中,事件处理应用可以由以下组件类型构成:
(1)直接接口到输入和输出流以及关系源和接收器的一个或多个适配器。适配器被配置为理解输入和输出流协议,并且负责将事件数据转换为可被应用处理器查询的规格化的形式。适配器可以将规格化的事件数据转发到信道或者输出流和关系接收器。可以为各种数据源和接收器定义事件适配器。
(2)充当事件处理端点的一个或多个信道。除其它之外,信道还负责将事件数据排队,直到事件处理代理可以对其操作。
(3)一个或多个应用处理器(或事件处理代理)被配置为消费来自信道的规格化事件数据、利用查询处理它以选择显著事件、并且将选定的显著事件转发(或者复制)到输出信道。
(4)一个或多个bean被配置为监听输出信道,并且由于新事件插入到输出信道中而被触发。在一些实施例中,这种用户代码是简单的老Java对象(plain-old-Java-object,POJO)。用户应用可以利用一组外部服务,诸如JMS、Web服务和文件书写器,把生成的事件转发到外部事件接收器。
(5)事件bean可被注册,以监听输出信道,并且由于新事件插入到输出信道中而被触发。在一些实施例中,这种用户代码可以使用 Oracle CEP事件bean API,使得bean可被Oracle CEP管理。
在一种实施例中,事件适配器向输入信道提供事件数据。输入信道连接到与一个或多个CQL查询相关联的CQL处理器,其中CQL 查询对由输入信道提供的事件操作。CQL处理器连接到查询结果要写到其的输出信道。
在一些实施例中,组装文件可以提供给事件处理应用,该文件描述事件处理应用的各种组件、组件如何被连接到一起、被应用处理的事件类型。可以提供单独的文件,用于为事件的选择指定连续查询或业务逻辑。
应当认识到,图7中所绘出的系统700可以具有除图7中所绘出的之外的其它组件。另外,图7中所示的实施例仅仅是可以结合本公开内容实施例的系统的一个例子。在一些其它实施例中,系统700可以具有比图7中所示更多或更少的组件、可以组合两个或更多个组件、或者可以具有组件的不同配置或布置。系统700可以是各种类型,包括个人计算机、便携式设备(例如,移动电话或设备)、工作站、网络计算机、大型机、信息站、服务器,或者任何其它数据处理系统。在一些其它实施例中,系统700可被配置为分布式系统,其中系统 700的一个或多个组件跨云中的一个或多个网络分布。
图7中所绘出组件中的一个或多个组件可以用软件、用硬件或者其组合来实现。在一些实施例中,软件可以存储在存储器(例如,非暂态计算机可读介质)、存储器设备或某种其它物理存储器上,并且可以由一个或多个处理单元(例如,一个或多个处理器、一个或多个处理器核心、一个或多个GPU,等等)执行。
在一些图中绘出的系统可以在各种配置中提供。在一些实施例中,系统可被配置为分布式系统,其中系统的一个或多个组件在云计算系统中跨一个或多个网络分布。
图8绘出了用于实现其中一种实施例的分布式系统800的简化图。在所示出的实施例中,分布式系统800包括一个或多个客户端计算设备802、804、806和808,其被配置为经一个或多个网络810执行和操作客户端应用,诸如web浏览器、专有客户端(例如,OracleForms)等。服务器812可以经由网络810与远程客户端计算设备 802、804、806和808通信地耦合。
在各种实施例中,服务器812可以适于运行由系统的组件中的一个或多个组件提供的一个或多个服务或软件应用。服务器或软件应用可以包括非虚拟和虚拟环境。虚拟环境可以包括用于虚拟事件、展览会、模拟器、教室、购物交易和企业的那些环境,无论是二维或三维 (3D)表示、基于页面的逻辑环境、还是以其它方式。在一些实施例中,这些服务可以作为基于web或云的服务提供或者根据软件即服务(Software as a Service,SaaS)模型提供给客户端计算设备802、 804、806和/或808的用户。操作客户端计算设备802、804、806和/或808的用户又可以利用一个或多个客户端应用与服务器812交互,以利用由这些组件提供的服务。
在该图绘出的配置中,系统800的软件组件818、820和822被示为在服务器812上实现。在其它实施例中,系统800的组件中的一个或多个组件和/或由这些组件提供的服务也可以由客户端计算设备 802、804、806和/或808中的一个或多个来实现。操作客户端计算设备的用户然后可以利用一个或多个客户端应用来使用由这些组件提供的服务。这些组件可以用硬件、固件、软件或其组合来实现。应当理解,各种不同的系统配置是可能的,这些配置可以与分布式系统800 不同。在该图中示出的实施例因此是用于实现实施例系统的分布式系统的一个例子并且不是要作为限制。
客户端计算设备802、804、806和/或808可以是运行诸如 Microsoft Windows和/或诸如iOS、Windows Phone、 Android、BlackBerry 10、Palm OS等各种移动操作系统的软件并且启用互联网、电子邮件、短消息服务(SMS)、或其它通信协议的便携式手持设备(例如,蜂窝电话、计算平板电脑、个人数字助理(PDA))或可穿戴设备(例如,Google 头戴式显示器)。客户端计算设备可以是通用个人计算机,作为例子,包括,运行各种版本的MicrosoftApple和/或Linux操作系统的个人计算机和/或笔记本计算机。客户端计算设备可以是运行任何各种商用或类UNIX操作系统,包括但不限于各种GNU/Linux操作系统,诸如像,Google Chrome OS的工作站计算机。可替代地或附加地,客户端计算设备 802、804、806和808可以是能够通过(一个或多个)网络810通信的任何其它电子设备,诸如瘦客户端计算机、启用互联网的游戏系统 (例如,具有或不具有手势输入设备的Microsoft Xbox游戏控制台)和/或个人消息传送设备。
虽然示例性分布式系统800被示为具有四个客户端计算设备,但是任何数量的客户端计算设备都可被支持。诸如具有传感器的设备等的其它设备可以与服务器812交互。
在分布式系统800中的(一个或多个)网络810可以是对本领域技术人员熟悉的、可以支持利用包括但不限于TCP/IP(传输控制协议/互联网协议)、SNA(系统网络体系结构)、IPX(互联网数据包交换)、AppleTalk等任何各种商用协议的数据通信的任何类型的网络。仅仅作为例子,(一个或多个)网络810可以是局域网 (LAN),诸如基于以太网、令牌环等的网络。(一个或多个)网络810可以是广域网和互联网。它可以包括虚拟网络,包括但不限于,虚拟专用网(VPN)、内联网、外联网、公共交换电话网(PSTN)、红外网络、无线网络(例如,在任何电气和电子协会(IEEE) 802.11协议套件、蓝牙和/或任何其它无线协议下操作的网络);和/ 或这些和/或其它网络的任意组合。
服务器812可以由一个或多个通用计算机、专用服务器计算机 (作为例子,包括PC(个人电脑)服务器、服务器、中档服务器、大型计算机、机架式服务器等)、服务器农场、服务器集群或者任何其它适当的布置和/或组合组成。服务器812可以包括运行虚拟操作系统的一个或多个虚拟机,或涉及虚拟化的其它计算体系架构。逻辑存储设备的一个或多个灵活池可被虚拟化,以维护用于服务器的虚拟存储设备。虚拟网络可以由服务器812利用软件定义的网络来控制。在各种实施例中,服务器812可以适于运行在上述公开内容中描述的一个或多个服务或软件应用。例如,服务器812可以对应于用于执行上述根据本公开内容的实施例的处理的服务器。
服务器812可以运行操作系统,包括任何以上讨论的操作系统,
以及任何商用的服务器操作系统。服务器812也可以运行任何各种附加的服务器应用和/或中间层应用,包括HTTP(超文本传输协议) 服务器、FTP(文件传输协议)服务器、CGI(公共网关接口)服务器、服务器、数据库服务器等。示例性数据库服务器包括但不限于来自Oracle、Microsoft、Sybase、IBM(国际商业机器公司) 等的那些商用数据库服务器。
在一些实现中,服务器812可以包括一个或多个应用,以分析和整合从客户端计算设备802、804、806和808的用户接收到的数据馈送和/或事件更新。作为例子,数据馈送和/或事件更新可以包括,但不限于,馈送、更新或者从一个或多个第三方信息源和连续数据流接收到的实时更新,其可以包括与传感器数据应用、金融报价机、网络性能测量工具(例如,网络监视和流量管理应用)、点击流分析工具、汽车交通监视等相关的实时事件。服务器812也可以包括一个或多个应用,以经由客户端计算设备802、804、806和 808中的一个或多个显示设备显示数据馈送和/或实时事件。
分布式系统800也可以包括一个或多个数据库814和816。数据库814和816可以驻留在各种位置。作为例子,数据库814和816中的一个或多个数据库可以驻留在服务器812本地的非暂态存储介质上 (和/或驻留在服务器812中)。可替代地,数据库814和816可以远离服务器812,并且经由基于网络的或专用的连接与服务器812通信。在一组实施例中,数据库814和816可以驻留在存储区域网络 (SAN)中。类似地,用于执行属于服务器812的功能的任何必要的文件可以按照需要本地存储在服务器812上和/或远程地存储。在一组实施例,数据库814和816可以包括适于响应于SQL格式的命令而存储、更新和检索数据的关系数据库,诸如由Oracle提供的数据库。
图9是根据本公开内容实施例的、通过其由实施例系统的一个或多个组件提供的服务可被提供为云服务的系统环境900的一个或多个组件的简化框图。在所示出的实施例中,系统环境900包括可被用户使用以与提供云服务的云基础设施系统902交互的一个或多个客户端计算设备904、906和908。客户端计算设备可被配置为操作可被客户端计算设备的用户使用来与云基础设施系统902交互,以使用由云基础设施系统902提供的服务的客户端应用,诸如web浏览器、私有客户端应用(例如,Oracle Forms)或一些其它应用。
应当认识到,在该图中绘出的云基础设施系统902可以具有除了所绘出的那些之外的其它组件。此外,在该图中示出的实施例只是可以结合本发明的实施例的云基础设施系统的一个例子。在一些其它实施例中,云基础设施系统902可以具有比在该图中示出的组件更多或更少的组件、可以合并两个或更多个组件、或者可以具有不同的组件配置或布置。
客户端计算设备904、906和908可以是类似于上述用于802、 804、806和808的那些设备。
虽然示例性系统环境900被示为具有三个客户端计算设备,但是任何数量的客户端计算设备都可被支持。诸如具有传感器的设备等的其它设备可以与云基础设施系统902交互。
(一个或多个)网络910可以促进客户端904、906和908与云基础设施系统902之间的通信和数据交换。每个网络可以是对本领域技术人员熟悉的、可以支持利用任何各种商业协议的任何类型的网络,包括上述用于(一个或多个)网络810的那些网络。
云基础设施系统902可以包括一个或多个计算机和/或服务器,这可以包括上述用于服务器812的那些服务器。
在某些实施例中,由云基础设施系统提供的服务可以包括可以让云基础设施系统的用户按需使用的托管的服务,诸如在线数据存储和备份解决方案、基于web的电子邮件服务、托管的办公套件和文档协作服务、数据库处理、管理的技术支持服务等。由云基础设施系统提供的服务可以动态地扩展,以满足其用户的需求。由云基础设施系统提供的服务的具体实例在本文中称作为“服务实例”。一般地,来自云服务提供商系统的、经由诸如互联网的通信网络对用户可用的任何服务被称为“云服务”。通常,在公共云环境中,构成云服务提供商的系统的服务器和系统与客户自己的办公场所服务器和系统不同。例如,云服务提供商的系统可以托管应用,并且用户可以经由诸如互联网的通信网络按需订购和使用应用。
在一些例子中,在计算机网络云基础设施中的服务可以包括对由云供应商提供给用户的存储、托管数据库、托管web服务器、软件应用或其它服务的受保护的计算机网络访问,或者如以其它方式在本领域中已知的。例如,服务可以包括通过互联网对云上远程存储的密码保护的访问。作为另一个例子,服务可以包括用于被联网开发人员私人使用的基于web服务的托管关系数据库和脚本语言中间件引擎。作为另一个例子,服务可以包括对在云供应商的网站上托管的电子邮件软件应用的访问。
在某些实施例中,云基础设施系统902可以包括以自助服务、基于订购、弹性可扩展、可靠、高可用性并且安全的方式交付给客户的一套应用、中间件和数据库服务产品。这种云基础设施系统的例子是由本受让人提供的Oracle Public Cloud。
“大数据”可以由基础设施系统在许多级别上和以不同规模被托管和/或操纵。非常大的数据集可以由分析师和研究人员存储并操纵,以可视化大量数据、检测趋势,和/或以其它方式与数据进行交互。数十、数百或数千并行连接的处理器可以作用于这种数据,以便呈现它或者模拟对数据或它所代表的内容的外力。这些数据集可以涉及结构化的数据,诸如在数据库中或以其它方式根据结构化模型组织的数据,和/或非结构化的数据(例如,电子邮件、图像、数据blob(二进制大对象)、网页、复杂事件处理)。通过充分利用相对迅速地将更多(或更少)计算资源聚焦到目标的实施例的能力,云基础设施系统可以更好地可用于基于来自企业、政府机构、研究机构、私营个体、志同道合的个人或组织的组或者其它实体的需求对大数据集执行任务。
在各种实施例中,云基础设施系统902可以适于自动供给、管理和跟踪客户对由云基础设施系统902提供的服务的订购。云基础设施系统902可以经由不同的部署模型提供云服务。例如,服务可以根据公共云模型来提供,其中云基础设施系统902由销售云服务的组织拥有(例如,被Oracle拥有)并且使得服务对一般公众和不同行业的企业可用。作为另一个例子,服务可以根据私有云模型来提供,其中云基础设施系统902只为单个组织运营并且可以为该组织内的一个或多个实体提供服务。云服务也可以根据社区云模型来提供,其中云基础设施系统902和由云基础设施系统902提供的服务被相关社区中的若干个组织共享。云服务也可以根据混合云模型来提供,它是两种或更多种不同模型的组合。
在一些实施例中,由云基础设施系统902提供的服务可以包括根据软件即服务(SaaS)类别、平台即服务(PaaS)类别、基础设施即服务(IaaS)类别、或包括混合服务的其它服务类别提供的一个或多个服务。客户经由订购订单可以订购由云基础设施系统902提供的一个或多个服务。云基础设施系统902然后执行处理,以提供在客户的订购订单中的服务。
在一些实施例中,由云基础设施系统802提供的服务可以包括但不限于,应用服务、平台服务和基础设施服务。在一些实例中,应用服务可以经由SaaS平台由云基础设施系统提供。SaaS平台可被配置为提供属于SaaS类别的云服务。例如,SaaS平台可以提供在集成开发和部署平台上构建和交付一套按需应用的能力。SaaS平台可以管理和控制用于提供SaaS服务的底层软件和基础设施。通过利用由 SaaS平台提供的服务,客户可以利用在云基础设施系统上执行的应用。客户可以获取应用服务,而无需客户购买单独的许可和支持。可以提供各种不同的SaaS服务。例子包括但不限于,提供用于大型企业的销售绩效管理、企业整合和业务灵活性的解决方案的服务。
在一些实施例中,平台服务可以经由PaaS平台由云基础设施系统提供。PaaS平台可被配置为提供属于PaaS类别的云服务。平台服务的例子可以包括但不限于,使组织(诸如Oracle)能够在共享、公共的体系架构上整合现有应用,以及利用由平台提供的共享服务构建新应用的能力的服务。PaaS平台可以管理和控制用于提供PaaS 服务的底层软件和基础设施。客户可以获得由云基础设施系统提供的 PaaS服务,而无需客户购买单独的许可和支持。平台服务的例子包括但不限于,Oracle Java云服务(Oracle Java Cloud Service,JCS)、Oracle数据库云服务(Oracle Database Cloud Service, DBCS)以及其它服务。
通过利用由PaaS平台提供的服务,客户可以采用由云基础设施系统支持的编程语言和工具并且也可以控制所部署的服务。在一些实施例中,由云基础设施系统提供的平台服务可以包括数据库云服务、中间件云服务(例如,Oracle Fusion Middleware服务)和Java云服务。在一种实施例中,数据库云服务可以支持使组织能够集中数据库资源并且以数据库云的形式为客户提供数据库即服务的共享服务部署模型。中间件云服务可以为客户提供平台来开发和部署各种商业应用,并且Java云服务可以为客户提供在云基础设施系统中部署Java 应用的平台。
各种不同的基础设施服务可以由云基础设施系统中的IaaS平台提供。基础设施服务促进对诸如存储、网络和其它基本计算资源的底层计算资源的管理和控制,以便让客户利用由SaaS平台和PaaS平台提供的服务。
在某些实施例中,云基础设施系统902也可以包括用于提供用来向云基础设施系统的客户提供各种服务的资源的基础设施资源930。在一种实施例中,基础设施资源930可以包括诸如服务器、存储和网络资源的硬件的预先集成和优化组合,以便执行由PaaS平台和SaaS 平台提供的服务。
在一些实施例中,在云基础设施系统902中的资源可被多个用户共享并且动态地按需重新分配。此外,资源可被分配给在不同时区的用户。例如,云基础设施系统930可以使在第一时区的第一组用户能够利用云基础设施系统的资源指定的小时数,并且然后使相同资源重新分配给位于不同时区的另一组用户,从而最大化资源的利用率。
在某些实施例中,可以提供由云基础设施系统902的不同组件或模块以及由云基础设施系统902提供的服务共享的多个内部共享服务 932。这些内部共享服务可以包括,但不限于,安全和身份服务、集成服务、企业信息库服务、企业管理服务、病毒扫描和白名单服务、高可用性、备份和恢复服务、用于启用云支持的服务、电子邮件服务、通知服务、文件传输服务,等等。
在某些实施例中,云基础设施系统902可以提供在云基础设施系统中云服务(例如,SaaS、PaaS和IaaS服务)的综合管理。在一种实施例中,云管理功能可以包括用于供给、管理和跟踪由云基础设施系统902接收到客户的订购等能力。
在一种实施例中,如在该图中所绘出的,云管理功能可以由一个或多个模块提供,诸如订单管理模块920、订单编制模块922、订单供给模块924、订单管理和监视模块926、以及身份管理模块928。这些模块可以包括一个或多个计算机和/或服务器或者利用一个或多个计算机和/或服务器来提供,该一个或多个计算机和/或服务器可以是通用计算机、专用服务器计算机、服务器农场、服务器集群、或任何其它适当的布置和/或组合。
在示例性操作934中,利用客户端设备,诸如客户端设备904、 906或908的客户可以通过请求由云基础设施系统902提供的一个或多个服务和为由云基础设施系统902提供的一个或多个服务下订购单来与云基础设施系统902交互。在某些实施例中,客户可以访问云用户界面(UI)、云UI 912、云UI 914和/或云UI 916并且经由这些 UI下订购单。响应于客户下订单而被云基础设施系统902接收到的订单信息可以包括识别客户和客户想要订购的由云基础设施系统902 提供的一个或多个服务的信息。
在客户下订单之后,订单信息经由云UI 912、914和/或916被接收。
在操作936,订单被存储在订单数据库918中。订单数据库918 可以是由云基础设施系统918操作并且结合其它系统元素一起操作的若干个数据库之一。
在操作938,订单信息被转发到订单管理模块920。在一些情况下,订单管理模块920可被配置为执行与订单相关的计费和记帐功能,诸如验证订单,以及在验证后预订订单。
在操作940,关于订单的信息被传送到订单编制模块922。订单编制模块922可以利用订单信息来编制用于由客户所下订单的服务和资源的供给。在一些情况下,订单编制模块922可以编制资源的供给,以利用订单供给模块924的服务支持订购的服务。
在某些实施例中,订单编制模块922使得能够管理与每个订单相关联的业务流程并且应用业务逻辑,以确定订单是否应该继续供给。在操作942,当接收到新订购的订单时,订单编制模块922发送请求到订单供给模块924,以分配资源和配置履行订购订单所需的那些资源。订单供给模块924使得能够分配用于客户订购的服务的资源。订单供给模块924在由云基础设施系统900提供的云服务和用于为了提供所请求的服务供给资源的物理实现层之间提供一层抽象。订单编制模块922可以因此与实现细节隔离,诸如服务和资源是实际上在运行中被供给还是预先被供给并且只在请求时被分配/指定。
在操作944,一旦服务和资源被供给,所提供的服务的通知就可以通过云基础设施系统902的订单供给模块924发送给在客户端设备 904、906和/或908的客户。
在操作946,客户的订购订单可被订单管理和监视模块926管理和跟踪。在一些情况下,订单管理和监视模块926可被配置为收集订购订单中的服务的使用统计数据,诸如使用的存储量、传送的数据量、用户的数量、以及系统上线时间和系统停机时间的量。
在某些实施例中,云基础设施系统900可以包括身份管理模块 928。身份管理模块928可被配置为提供身份服务,诸如在云基础设施系统900中的访问管理和授权服务。在一些实施例中,身份管理模块928可以控制关于希望利用由云基础设施系统902提供的服务的客户的信息。这种信息可以包括验证这种客户的身份的信息和描述这些客户被授权哪些行为来相对于各种系统资源(例如,文件、目录、应用、通信端口、存储器段、等等)执行的信息。身份管理模块928也可以包括关于每个客户的描述性信息和关于描述性信息可以如何以及由谁来访问和修改的管理。
图10示出了示例性计算机系统1000,本发明的各种实施例可以在其中被实现。如在该图中所示出的,计算机系统1000包括经由总线子系统1002与多个外围子系统通信的处理单元1004。这些外围子系统可以包括处理加速单元1006、I/O子系统1008、存储子系统1018和通信子系统1024。存储子系统1018包括有形计算机可读存储介质1022和系统存储器1010。
总线子系统1002提供了用于让计算机系统1000的各种组件和子系统按意图彼此通信的机制。虽然总线子系统1002被示意性地示为单条总线,但是总线子系统的备选实施例可以利用多条总线。总线子系统1002可以是若干种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线、以及利用任何各种总线体系结构的局部总线。例如,这种体系结构可以包括工业标准体系结构(ISA) 总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外围组件互连(PCI)总线,其可被实现为按IEEE P1386.1标准制造的Mezzanine总线。
可被实现为一个或多个集成电路(例如,常规微处理器或微控制器)的处理单元1004控制计算机系统1000的操作。一个或多个处理器可被包括在处理单元1004中。这些处理器可以包括单核或多核处理器。在某些实施例中,处理单元1004可被实现为一个或多个独立的处理单元1032和/或1034,其中在每个处理单元中包括单核或多核处理器。在其它实施例中,处理单元1004也可被实现为通过将两个双核处理器集成到单个芯片中形成的四核处理单元。
在各种实施例,处理单元1004可以响应于程序代码执行各种程序并且可以维护多个并发执行的程序或进程。在任何给定时间,要被执行的程序代码中的一些或全部代码可以驻留在(一个或多个)处理器1004中和/或存储子系统1018中。通过适当的编程,(一个或多个)处理器1004可以提供上述各种功能。计算机系统1000可以附加地包括处理加速单元1006,其可以包括数字信号处理器(DSP)、专用处理器,等等。
I/O子系统1008可以包括用户界面输入设备和用户界面输出设备。用户界面输入设备可以包括键盘、诸如鼠标或轨迹球的定点设备、结合到显示器中的触摸板或触摸屏、滚动轮、点击轮、拨盘、按钮、开关、键盘、具有语音命令识别系统的音频输入设备、麦克风以及其它类型的输入设备。用户界面输入设备可以包括,例如,运动感测和 /或手势识别设备,诸如的Microsoft运动传感器,其使得用户能够通过利用手势和语音命令的自然用户界面控制诸如的 Microsoft360游戏控制器的输入设备并与之交互。用户界面输入设备也可以包括眼睛姿势识别设备,诸如从用户检测眼睛活动 (例如,当拍拍摄照片和/或做出菜单选择时的“眨眼”)并且将眼睛姿势转换为到输入设备(例如,Google)中的输入的 Google眨眼检测器。此外,用户界面输入设备可以包括使用户能够通过语音命令与语音识别系统(例如,导航器)交互的语音识别感测设备。
用户接口输入设备也可以包括,但不限于,三维(3D)鼠标、操纵杆或指向棒、游戏面板和绘图板,以及音频/视频设备,诸如扬声器、数码相机、数码摄像机、便携式媒体播放器、网络摄像头、图像扫描仪、指纹扫描仪、条形码阅读器3D扫描仪、3D打印机、激光测距仪和视线跟踪设备。此外,用户接口输入设备可以包括,例如,医学成像输入设备,诸如计算机断层扫描、磁共振成像、正电子发射断层摄影术、医疗超声设备。用户接口输入设备也可以包括,例如,诸如MIDI键盘、数字乐器等的音频输入设备。
用户接口输出设备可以包括显示子系统、指示灯,或者诸如音频输出设备的非视觉显示器,等等。显示子系统可以是阴极射线管 (CRT)、诸如利用液晶显示器(LCD)或等离子显示器的平板设备、投影设备、触摸屏,等等。一般而言,术语“输出设备”的使用意在包括用于从计算机系统1000向用户或其它计算机输出信息的所有可能类型的设备和机制。例如,用户接口输出设备可以包括,但不限于,在视觉上传达文字、图形和音频/视频信息的各种显示设备,诸如监视器、打印机、扬声器、耳机、汽车导航系统、绘图仪、语音输出设备,以及调制解调器。
计算机系统1000可以包括包含软件元素、被示为当前位于系统存储器1010中的存储子系统1018。系统存储器1010可以存储可加载并且可在处理单元1004上执行的程序指令,以及在这些程序执行期间所产生的数据。
取决于计算机系统1000的配置和类型,系统存储器1010可以是易失性的(诸如随机存取存储器(RAM))和/或非易失性的(诸如只读存储器(ROM)、闪存存储器,等等)。RAM通常包含可被处理单元1004立即访问和/或目前正被处理单元1004操作和执行的数据和/或程序模块。在一些实现中,系统存储器1010可以包括多种不同类型的存储器,例如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。在一些实现中,诸如在启动期间,包含有助于在计算机系统1000的元件之间传送信息的基本例程的基本输入/输出系统(BIOS),通常可被存储在ROM中。作为例子,但不是限制,系统存储器1010也示出了可以包括客户端应用、web浏览器、中间层应用、关系数据库管理系统(RDBMS)等的应用程序1012,程序数据1014,以及操作系统1016。作为例子,操作系统1016可以包括各种版本的MicrosoftApple和/或Linux 操作系统、各种商用或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统、Google操作系统,等等)和/或诸如iOS、Phone、OS、10OS和OS操作系统的移动操作系统。
存储子系统1018也可以提供用于存储提供一些实施例的功能的基本编程和数据结构的有形计算机可读存储介质。当被处理器执行时提供上述功能的软件(程序、代码模块、指令)可被存储在存储子系统1018中。这些软件模块或指令可被处理单元1004执行。存储子系统1018也可以提供用于存储根据本发明被使用的数据的储存库。
存储子系统1018也可以包括可被进一步连接到计算机可读存储介质1022的计算机可读存储介质读取器1020。与系统存储器1010 一起并且,可选地,与其相结合,计算机可读存储介质1022可以全面地表示用于临时和/或更持久地包含、存储、发送和检索计算机可读信息的远程、本地、固定和/或可移除存储设备加存储介质。
包含代码或代码的部分的计算机可读存储介质1022也可以包括本领域已知或使用的任何适当的介质,包括存储介质和通信介质,诸如但不限于,以用于信息的存储和/或传输的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。这可以包括有形的、非暂态计算机可读存储介质,诸如RAM、ROM、电可擦除可编程 ROM(EEPROM)、闪存存储器或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学储存器、磁带盒、磁带、磁盘储存器或其它磁存储设备,或者其它有形的计算机可读介质。当被指定时,这也可以包括非有形的、临时计算机可读介质,诸如数据信号、数据传输,或者可被用来发送期望信息并且可被计算系统1000访问的任何其它介质。
作为例子,计算机可读存储介质1022可以包括从不可移除的非易失性磁介质读取或写到其的硬盘驱动器、从可移除的非易失性磁盘读取或写到其的磁盘驱动器、以及从可移除的非易失性光盘,诸如 CD ROM、DVD和盘或其它光学介质,读取或写到其的光盘驱动器。计算机可读存储介质1022可以包括,但不限于,驱动器、闪存卡、通用串行总线(USB)闪存驱动器、安全数字(SD) 卡、DVD盘、数字音频带,等等。计算机可读存储介质1022也可以包括基于非易失性存储器的固态驱动器(SSD),诸如基于闪存存储器的SSD、企业闪存驱动器、固态ROM等,基于易失性存储器的 SSD,诸如固态RAM、动态RAM、静态RAM,基于DRAM的 SSD,磁阻RAM(MRAM)SSD,以及使用基于DRAM和闪存存储器的SSD的组合的混合SSD。盘驱动器及其相关联的计算机可读介质可以为计算机系统1000提供计算机可读指令、数据结构、程序模块及其它数据的非易失性存储。
通信子系统1024提供到其它计算机系统和网络的接口。通信子系统1024用作用于从其它系统接收数据和从计算机系统1000向其它系统发送数据的接口。例如,通信子系统1024可以使计算机系统 1000能够经由互联网连接到一个或多个设备。在一些实施例中,通信子系统1024可以包括用于访问无线语音和/或数据网络的射频(RF)收发器组件(例如,利用蜂窝电话技术,诸如3G、4G或 EDGE(用于全球演进的增强型数据速率)的先进数据网络技术, Wi-Fi(IEEE 802.11系列标准),或其它移动通信技术,或其任意组合)、全球定位系统(GPS)接收器组件和/或其它组件。在一些实施例中,作为无线接口的附加或者替代,通信子系统1024可以提供有线网络连接(例如,以太网)。
在一些实施例中,通信子系统1024也可以代表可以使用计算机系统1000的一个或多个用户接收结构化和/或非结构化数据馈送1026、事件流1028、事件更新1030等形式的输入通信。
作为例子,通信子系统1024可被配置为实时地从社交媒体网络和/或其它通信服务的用户接收数据馈送1026,诸如馈送、更新、诸如丰富站点摘要(RSS)馈送的web馈送和/或来自一个或多个第三方信息源的实时更新。
此外,通信子系统1024也可被配置为接收连续数据流形式的数据,这可以包括本质上可以是连续的或无界的没有明确终止的实时事件的事件流1028和/或事件更新1030。产生连续数据的应用的例子可以包括,例如,传感器数据应用、金融报价机、网络性能测量工具 (例如,网络监视和流量管理应用)、点击流分析工具、汽车流量监视,等等。
通信子系统1024也可被配置为向一个或多个数据库输出结构化和/或非结构化数据馈送1026、事件流1028、事件更新1030,等等,这一个或多个数据库可以与耦合到计算机系统1000的一个或多个流式数据源计算机通信。
计算机系统1000可以是各种类型之一,包括手持便携式设备 (例如,蜂窝电话、计算平板、PDA)、可穿戴设备 (例如,Google头戴式显示器)、PC、工作站、大型机、信息站,服务器机架,或任何其它数据处理系统。
由于计算机和网络的不断变化的本质,在该图中绘出的计算机系统1000的描述仅仅要作为具体的例子。具有比该图中绘出的系统更多或更少组件的许多其它配置是可能的。例如,定制的硬件也可被使用和/或特定的元素可以用硬件、固件、软件(包括applets)或它们的组合来实现。另外,也可以采用到诸如网络输入/输出设备之类的其它计算设备的连接。基于本文提供的公开内容和示教,本领域普通技术人员将认识到实现各种实施例的其它方式和/或方法。换句话说,在一些实施例中,作为整体,计算机系统1000的配置可以包括:用于接收包括至少第一输入数据流和第二输入数据流的多个输入数据流的装置;用于生成用于第一输入数据流的第一动态数据类型的装置;用于生成用于第二输入数据流的第二动态数据类型的装置;用于至少部分地基于第一动态数据类型和第二动态数据类型组合第一输入数据流和第二输入数据流以生成组合数据流的装置;以及用于由计算机系统处理对组合数据流的连续查询以检测样式的装置。
图11示出了本发明的各种实施例可以在其中实现的示例性服务提供商设备的简化框图。服务提供商设备1100的模块可以由硬件、软件或硬件和软件的组合实现,以执行本发明的原理。本领域技术人员应当理解,图11中所描述的模块可被组合或分离为子模块,以实现如上所述的本发明的原理。因此,本文的描述可以支持本文所述的功能模块的任何可能的组合或分离或进一步定义。
如图11中所示,服务提供商设备1100可以包括输入数据流接收单元1101、第一动态数据类型生成单元1103、第二动态数据类型生成单元1105、组合数据流生成单元1107以及样式检测单元1109。输入数据流接收单元1101可被配置为接收包括至少第一输入数据流和第二输入数据流的多个输入数据流。第一动态数据类型生成单元 1103可被配置为生成用于第一输入数据流的第一动态数据类型。第二动态数据类型生成单元1105可被配置为成生用于第二输入数据流的第二动态数据类型。组合数据流生成单元1107可被配置为至少部分地基于第一动态数据类型和第二动态数据类型组合第一输入数据流和第二输入数据流,以生成组合数据流。样式检测单元1109可被配置为处理对组合数据流的连续查询,以检测样式。在一种实施例中,每个单元可被实现为通过读取计算机程序指令来执行对应处理的处理器。
在一种实施例中,第一动态数据类型生成单元1103还可被配置为识别第一输入数据流的第一属性不存在于第二数据流中;以及生成用于第一属性的第一动态数据类型。
在一种实施例中,第一动态数据类型可被配置为存储对应于第一输入数据流的第一属性的第一数据值。
在一种实施例中,第二动态数据类型生成单元1105还可被配置为识别第二输入数据流的第二属性不存在于第一数据流中;以及生成用于第二属性的第二动态数据类型,第二动态数据类型被配置为存储对应于第二输入数据流的第二属性的第二数据值。
在一种实施例中,服务提供商设备1100还可以包括共同属性识别单元1111和同质模式生成单元1113。共同属性识别单元1111可被配置为识别共同属性,该共同属性被识别为在第一输入数据流和第二输入数据流中存在。同质模式生成单元1113可被配置为生成同质模式,该同质模式包括第一输入数据流和第二输入数据流的一个或多个属性的表示,该表示包括至少共同属性、第一动态数据类型和第二动态数据类型。
在一种实施例中,同质模式可以包括流名称标识符属性、与第一输入数据流关联的第一时间戳属性或与第二输入数据流关联的第二时间戳属性当中至少一个。
在一种实施例中,组合数据流生成单元1107还可被配置为从第一输入数据流选择第一组元组,第一输入数据流由同质模式识别,从第二输入数据流选择第二组元组,第二输入数据流由同质模式识别,并且对第一组元组和第二组元组处理子查询,以生成组合数据流。
在一种实施例中,样式可以至少部分地基于分析组合数据流来检测,其中样式识别第一输入数据流中的第一事件,后面跟着第二输入数据流中的第二事件。
图11中所描述的模块可被组合或分离成子模块,以实现如上所述本发明的原理。例如,第一动态数据类型生成单元1103和第二动态数据类型生成单元1105可被集成为动态数据类型生成单元。集成的动态数据类型生成单元还可以结合共同属性识别单元1111和同质模式生成单元1113。
本领域技术人员可以理解,服务提供商设备1100可以是在前面的示例性实施例中描述的服务提供商计算机106的示例性实现。本领域技术人员还可以理解,服务提供商设备1100可以根据期望被修改,以执行根据本发明的原理的任何操作或它们的组合。
在前述的说明书中,本发明的各方面参照其具体实施例进行了描述,但本领域技术人员将认识到,本发明不限于此。上述发明的各个特征和各方面可被单独或联合使用。另外,在不背离本说明书的更广泛精神和范围的情况下,实施例可以在除本文所述的那些之外的任何数目的环境和应用中被使用。因此,本说明书和附图应当被认为是说明性而不是限制性的。
Claims (20)
1.一种用于跨多个输入数据流的样式匹配的计算机实现的方法,包括:
由利用计算机可执行指令配置的计算机系统,接收包括至少第一输入数据流和第二输入数据流的多个输入数据流,第一输入数据流具有与第一属性对应的第一相关联的模式,第二输入数据流具有与第二属性对应的第二相关联的模式,以及第一相关联的模式不同于第二相关联的模式;
由该计算机系统,至少部分基于第一属性生成用于第一输入数据流的实时的第一动态数据类型;
由该计算机系统,至少部分基于第二属性生成用于第二输入数据流的实时的第二动态数据类型;
由该计算机系统,至少部分基于第一动态数据类型和第二动态数据类型来生成表示第一相关联的模式和第二相关联的模式的同质模式;
由该计算机系统,至少部分地基于所述同质模式来组合第一输入数据流和第二输入数据流,以生成组合数据流;及
由该计算机系统,使用匹配语句处理对所述组合数据流的连续查询;以及
至少部分基于所述匹配语句来检测所述组合数据流的样式。
2.如权利要求1所述的计算机实现的方法,其中生成第一动态数据类型包括:
识别第一输入数据流的第一属性不存在于第二输入数据流中;及
生成用于第一属性的第一动态数据类型。
3.如权利要求2所述的计算机实现的方法,其中第一动态数据类型被配置为存储对应于第一输入数据流的第一属性的第一数据值。
4.如权利要求1-3中任何一项所述的计算机实现的方法,其中生成第二动态数据类型包括:
识别第二输入数据流的第二属性不存在于第一输入数据流中;及
生成用于第二属性的第二动态数据类型,第二动态数据类型被配置为存储对应于第二输入数据流的第二属性的第二数据值。
5.如权利要求1所述的计算机实现的方法,还包括:
识别共同属性,该共同属性被识别为在第一输入数据流中存在并在第二输入数据流中存在;其中,该同质模式包括第一输入数据流和第二输入数据流的一个或多个属性、共同属性、第一动态数据类型和第二动态数据类型。
6.如权利要求5所述的计算机实现的方法,其中同质模式还包括流名称标识符属性、与第一输入数据流关联的第一时间戳属性或者与第二输入数据流关联的第二时间戳属性当中至少一个。
7.如权利要求5或6所述的计算机实现的方法,其中组合第一输入数据流和第二输入数据流还包括:
从第一输入数据流选择第一组元组,第一输入数据流由同质模式识别;
从第二输入数据流选择第二组元组,第二输入数据流由同质模式识别;及
处理对第一组元组和第二组元组的子查询,以生成组合数据流。
8.如权利要求1所述的计算机实现的方法,其中样式是至少部分地基于分析所述组合数据流来检测的,其中样式识别第一输入数据流中的第一事件,后面跟着第二输入数据流中的第二事件。
9.一种用于跨多个输入数据流的样式匹配的系统,包括:
存储多条指令的存储器;及
被配置为访问该存储器的处理器,其中处理器还被配置为执行所述多条指令,以便至少:
接收包括至少第一输入数据流和第二输入数据流的多个输入数据流,第一输入数据流具有与第一属性对应的第一相关联的模式,第二输入数据流具有与第二属性对应的第二相关联的模式,以及第一相关联的模式不同于第二相关联的模式;
至少部分基于第一属性生成用于第一输入数据流的实时的第一动态数据类型;
至少部分基于第二属性生成用于第二输入数据流的实时的第二动态数据类型;
至少部分基于第一动态数据类型和第二动态数据类型来生成表示第一相关联的模式和第二相关联的模式的同质模式;
至少部分地基于同质模式来组合第一输入数据流和第二输入数据流,以生成组合数据流;
使用匹配语句执行对组合数据流的连续查询;及
至少部分基于所述匹配语句来检测所述组合数据流的样式。
10.如权利要求9所述的系统,其中至少一个处理器被配置为执行识别第一输入数据流的第一属性不存在于第二输入数据流中的计算机可执行指令。
11.如权利要求9或10所述的系统,其中至少一个处理器被配置为执行识别第二输入数据流的第二属性不存在于第一输入数据流中的计算机可执行指令。
12.如权利要求9所述的系统,其中至少一个处理器还被配置为执行计算机可执行指令,以便:
识别共同属性,该共同属性被识别为存在于第一输入数据流和第二输入数据流中;
其中,该同质模式包括共同属性、第一属性、第一动态数据类型、第二属性和第二动态数据类型。
13.如权利要求12所述的系统,其中同质模式还包括流名称标识符属性、与第一输入数据流关联的第一时间戳属性或者与第二输入数据流关联的第二时间戳属性当中至少一个。
14.如权利要求13所述的系统,其中至少一个处理器还被配置为执行计算机可执行指令,以通过执行用于执行以下动作的指令来生成组合数据流:
从第一输入数据流选择第一组元组,第一输入数据流由同质模式识别;
从第二输入数据流选择第二组元组,第二输入数据流由同质模式识别;及
处理对第一组元组和第二组元组的子查询,以生成组合数据流。
15.如权利要求9所述的系统,其中样式是至少部分地基于分析述组合数据流来检测的,其中样式识别第一输入数据流中的第一事件,后面跟着第二输入数据流中的第二事件。
16.一种用于跨多个输入数据流的样式匹配的计算机实现的设备,包括:
用于接收包括至少第一输入数据流和第二输入数据流的多个输入数据流的装置,第一输入数据流具有与第一属性对应的第一相关联的模式,第二输入数据流具有与第二属性对应的第二相关联的模式,以及第一相关联的模式不同于第二相关联的模式;
用于至少部分基于第一属性生成用于第一输入数据流的实时的第一动态数据类型的装置;
用于至少部分基于第二属性生成用于第二输入数据流的实时的第二动态数据类型的装置;
用于至少部分基于第一动态数据类型和第二动态数据类型来生成表示第一相关联的模式和第二相关联的模式的同质模式的装置;
用于至少部分地基于同质模式来组合第一输入数据流和第二输入数据流以生成组合数据流的装置;及
用于使用匹配语句处理对组合数据流的连续查询的装置;及
用于至少部分基于所述匹配语句来检测所述组合数据流的样式的装置。
17.如权利要求16所述的设备,其中用于生成第一动态数据类型的装置还包括:
用于识别第一输入数据流的第一属性不存在于第二数据流中的装置;及
用于生成用于第一属性的第一动态数据类型的装置,第一动态数据类型被配置为存储对应于第一输入数据流的第一属性的第一数据值。
18.如权利要求16或17所述的设备,其中用于生成第二动态数据类型的装置还包括:
用于识别第二输入数据流的第二属性不存在于第一输入数据流中的装置;及
用于生成用于第二属性的第二动态数据类型的装置,第二动态数据类型被配置为存储对应于第二输入数据流的第二属性的第二数据值。
19.如权利要求16所述的设备,还包括:
用于识别共同属性的装置,该共同属性被识别为在第一输入数据流中存在并在第二输入数据流中存在;
其中,该同质模式包括第一输入数据流和第二输入数据流的一个或多个属性、共同属性、第一动态数据类型和第二动态数据类型。
20.如权利要求16所述的设备,还包括用于至少部分地基于分析所述组合数据流来检测样式的装置,其中样式识别第一输入数据流中的第一事件,后面跟着第二输入数据流中的第二事件。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361912344P | 2013-12-05 | 2013-12-05 | |
US61/912,344 | 2013-12-05 | ||
US14/559,550 US9934279B2 (en) | 2013-12-05 | 2014-12-03 | Pattern matching across multiple input data streams |
US14/559,550 | 2014-12-03 | ||
PCT/US2014/068641 WO2015085103A1 (en) | 2013-12-05 | 2014-12-04 | Pattern matching across multiple input data streams |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105993011A CN105993011A (zh) | 2016-10-05 |
CN105993011B true CN105993011B (zh) | 2020-03-10 |
Family
ID=53271395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480065473.8A Active CN105993011B (zh) | 2013-12-05 | 2014-12-04 | 跨多个输入数据流的样式匹配的方法、系统和设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9934279B2 (zh) |
EP (1) | EP3077926B1 (zh) |
JP (1) | JP6521973B2 (zh) |
CN (1) | CN105993011B (zh) |
WO (1) | WO2015085103A1 (zh) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9305057B2 (en) | 2009-12-28 | 2016-04-05 | Oracle International Corporation | Extensible indexing framework using data cartridges |
US9430494B2 (en) | 2009-12-28 | 2016-08-30 | Oracle International Corporation | Spatial data cartridge for event processing systems |
US9189280B2 (en) | 2010-11-18 | 2015-11-17 | Oracle International Corporation | Tracking large numbers of moving objects in an event processing system |
US8990416B2 (en) | 2011-05-06 | 2015-03-24 | Oracle International Corporation | Support for a new insert stream (ISTREAM) operation in complex event processing (CEP) |
US9329975B2 (en) | 2011-07-07 | 2016-05-03 | Oracle International Corporation | Continuous query language (CQL) debugger in complex event processing (CEP) |
US9563663B2 (en) | 2012-09-28 | 2017-02-07 | Oracle International Corporation | Fast path evaluation of Boolean predicates |
US9953059B2 (en) | 2012-09-28 | 2018-04-24 | Oracle International Corporation | Generation of archiver queries for continuous queries over archived relations |
US10956422B2 (en) | 2012-12-05 | 2021-03-23 | Oracle International Corporation | Integrating event processing with map-reduce |
US10298444B2 (en) | 2013-01-15 | 2019-05-21 | Oracle International Corporation | Variable duration windows on continuous data streams |
US9047249B2 (en) | 2013-02-19 | 2015-06-02 | Oracle International Corporation | Handling faults in a continuous event processing (CEP) system |
US9390135B2 (en) | 2013-02-19 | 2016-07-12 | Oracle International Corporation | Executing continuous event processing (CEP) queries in parallel |
US9418113B2 (en) | 2013-05-30 | 2016-08-16 | Oracle International Corporation | Value based windows on relations in continuous data streams |
US9934279B2 (en) | 2013-12-05 | 2018-04-03 | Oracle International Corporation | Pattern matching across multiple input data streams |
US20150350304A1 (en) * | 2014-05-29 | 2015-12-03 | The Intellisis Corporation | Systems and methods for implementing a platform for processing streams of information |
US10061808B2 (en) * | 2014-06-03 | 2018-08-28 | Sap Se | Cached views |
US9244978B2 (en) | 2014-06-11 | 2016-01-26 | Oracle International Corporation | Custom partitioning of a data stream |
US9712645B2 (en) | 2014-06-26 | 2017-07-18 | Oracle International Corporation | Embedded event processing |
US10120907B2 (en) | 2014-09-24 | 2018-11-06 | Oracle International Corporation | Scaling event processing using distributed flows and map-reduce operations |
US9886486B2 (en) | 2014-09-24 | 2018-02-06 | Oracle International Corporation | Enriching events with dynamically typed big data for event processing |
CN105893387B (zh) * | 2015-01-04 | 2021-03-23 | 伊姆西Ip控股有限责任公司 | 智能多媒体处理方法和系统 |
WO2017018901A1 (en) | 2015-07-24 | 2017-02-02 | Oracle International Corporation | Visually exploring and analyzing event streams |
KR102471665B1 (ko) | 2015-08-27 | 2022-11-25 | 포그혼 시스템스 인코포레이티드 | 에지 인텔리전스 플랫폼 및 사물 인터넷 센서 스트림 시스템 |
US11989096B2 (en) * | 2015-12-21 | 2024-05-21 | Ab Initio Technology Llc | Search and retrieval data processing system for computing near real-time data aggregations |
WO2017135838A1 (en) | 2016-02-01 | 2017-08-10 | Oracle International Corporation | Level of detail control for geostreaming |
WO2017135837A1 (en) * | 2016-02-01 | 2017-08-10 | Oracle International Corporation | Pattern based automated test data generation |
EP3433711A4 (en) * | 2016-03-23 | 2019-11-20 | Foghorn Systems, Inc. | TOOLS AND METHOD FOR REAL-TIME DATA FLOW PROGRAMMING LANGUAGE |
US11263218B2 (en) * | 2016-04-26 | 2022-03-01 | Equifax Inc. | Global matching system |
KR101867220B1 (ko) * | 2017-02-23 | 2018-06-12 | 전자부품연구원 | 스트리밍 모델 동시 지원 및 스트림 데이터에 따라 자동선택 가능한 실시간 스트림 처리방법 및 장치 |
US10838782B2 (en) * | 2016-05-24 | 2020-11-17 | Accenture Global Solutions Limited | Event abstractor |
EP3361269B1 (en) * | 2017-02-10 | 2022-03-30 | Rohde & Schwarz GmbH & Co. KG | Dynamic measuring system and method for probing a dynamic data signal |
US9990389B1 (en) | 2017-06-08 | 2018-06-05 | Visier Solutions, Inc. | Systems and methods for generating event stream data |
US11288255B2 (en) * | 2017-06-08 | 2022-03-29 | Visier Solutions, Inc. | Systems and methods for generating event stream data |
US11182389B2 (en) | 2017-09-29 | 2021-11-23 | Oracle International Corporation | Retaining fields from current event or group during stream aggregation |
US11416563B1 (en) * | 2017-10-20 | 2022-08-16 | Amazon Technologies, Inc. | Query language for selecting and addressing resources |
RO133453A2 (ro) * | 2017-12-28 | 2019-06-28 | Siemens Aktiengesellschaft | Motor de procesare a semnalelor şi evenimentelor |
CN110704551B (zh) * | 2018-06-21 | 2023-02-17 | 中兴通讯股份有限公司 | 数据处理方法、装置、设备及计算机可读存储介质 |
US10878821B2 (en) | 2018-11-13 | 2020-12-29 | International Business Machines Corporation | Distributed system for conversational agent |
US10476518B1 (en) * | 2018-12-06 | 2019-11-12 | Nyquist Semiconductor Limited | Hardware friendly data compression |
WO2020144676A1 (en) * | 2019-01-07 | 2020-07-16 | Technion Research & Development Foundation Limited | Real-time multi-pattern detection over event streams |
US11386056B2 (en) * | 2019-05-17 | 2022-07-12 | International Business Machines Corporation | Duplicate multimedia entity identification and processing |
US20200364195A1 (en) * | 2019-05-17 | 2020-11-19 | International Business Machines Corporation | Identifying Duplication Multimedia Entities |
US10826801B1 (en) | 2019-07-31 | 2020-11-03 | Bank Of America Corporation | Multi-level data channel and inspection architectures |
US11115310B2 (en) | 2019-08-06 | 2021-09-07 | Bank Of America Corporation | Multi-level data channel and inspection architectures having data pipes in parallel connections |
US11470046B2 (en) | 2019-08-26 | 2022-10-11 | Bank Of America Corporation | Multi-level data channel and inspection architecture including security-level-based filters for diverting network traffic |
US11216155B2 (en) * | 2020-01-06 | 2022-01-04 | Fmr Llc | Systems and methods for data processing |
US11681721B2 (en) * | 2020-05-08 | 2023-06-20 | Jpmorgan Chase Bank, N.A. | Systems and methods for spark lineage data capture |
US11443376B2 (en) * | 2020-05-28 | 2022-09-13 | Jpmorgan Chase Bank, N.A. | End-to-end deal execution system and method |
US20230055003A1 (en) * | 2021-08-20 | 2023-02-23 | Kenny To Research LLC | Method for Organizing Data by Events, Software and System for Same |
CN114025015A (zh) * | 2021-11-29 | 2022-02-08 | 中电金信软件有限公司 | 一种报文传输方法及其装置 |
US11789948B2 (en) * | 2021-12-10 | 2023-10-17 | Sap Se | Computational dependency directory |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1716258A (zh) * | 2004-05-14 | 2006-01-04 | 微软公司 | 用于web数据库模型匹配的方法和系统 |
CN101261724A (zh) * | 2008-03-28 | 2008-09-10 | 山东浪潮齐鲁软件产业股份有限公司 | 基于方案的流程管理方法 |
CN101495974A (zh) * | 2006-06-16 | 2009-07-29 | 摩托罗拉公司 | 提供与数据流关联的参考的方法和系统 |
CN101611394A (zh) * | 2005-05-20 | 2009-12-23 | 微软公司 | 从事件流识别模式 |
CN102135984A (zh) * | 2010-01-21 | 2011-07-27 | 软件股份公司 | 用于分析对数据流的连续查询的分析系统和方法 |
CN103310011A (zh) * | 2013-07-02 | 2013-09-18 | 曙光信息产业(北京)有限公司 | 集群数据库系统环境下的数据查询解析方法 |
US8589436B2 (en) * | 2008-08-29 | 2013-11-19 | Oracle International Corporation | Techniques for performing regular expression-based pattern matching in data streams |
Family Cites Families (451)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5051947A (en) | 1985-12-10 | 1991-09-24 | Trw Inc. | High-speed single-pass textual search processor for locating exact and inexact matches of a search pattern in a textual stream |
US4996687A (en) | 1988-10-11 | 1991-02-26 | Honeywell Inc. | Fault recovery mechanism, transparent to digital system function |
US5339392A (en) | 1989-07-27 | 1994-08-16 | Risberg Jeffrey S | Apparatus and method for creation of a user definable video displayed document showing changes in real time data |
US5761493A (en) | 1990-04-30 | 1998-06-02 | Texas Instruments Incorporated | Apparatus and method for adding an associative query capability to a programming language |
US5495600A (en) | 1992-06-03 | 1996-02-27 | Xerox Corporation | Conversion of queries to monotonically increasing incremental form to continuously query a append only database |
US5918225A (en) | 1993-04-16 | 1999-06-29 | Sybase, Inc. | SQL-based database system with improved indexing methodology |
DE69432746T2 (de) | 1994-06-10 | 2004-03-25 | Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto | Ereignisverarbeitungssystem und Verfahren zur Herstellen eines solchen Systems |
US5664172A (en) | 1994-07-19 | 1997-09-02 | Oracle Corporation | Range-based query optimizer |
EP0702294A3 (en) | 1994-09-13 | 1997-05-02 | Sun Microsystems Inc | Method and device for diagnosing lexical errors |
US6397262B1 (en) | 1994-10-14 | 2002-05-28 | Qnx Software Systems, Ltd. | Window kernel |
US5706494A (en) | 1995-02-10 | 1998-01-06 | International Business Machines Corporation | System and method for constraint checking bulk data in a database |
US5829006A (en) | 1995-06-06 | 1998-10-27 | International Business Machines Corporation | System and method for efficient relational query generation and tuple-to-object translation in an object-relational gateway supporting class inheritance |
US6158045A (en) | 1995-11-13 | 2000-12-05 | Object Technology Licensing Corporation | Portable debugging services utilizing a client debugger object and a server debugger object with flexible addressing support |
US5913214A (en) | 1996-05-30 | 1999-06-15 | Massachusetts Inst Technology | Data extraction from world wide web pages |
US5802523A (en) | 1996-06-21 | 1998-09-01 | Oracle Corporation | Method and apparatus for reducing the memory required to store bind variable descriptors in a database |
US5893104A (en) | 1996-07-09 | 1999-04-06 | Oracle Corporation | Method and system for processing queries in a database system using index structures that are not native to the database system |
US5920716A (en) | 1996-11-26 | 1999-07-06 | Hewlett-Packard Company | Compiling a predicated code with direct analysis of the predicated code |
US5937195A (en) | 1996-11-27 | 1999-08-10 | Hewlett-Packard Co | Global control flow treatment of predicated code |
US5937401A (en) | 1996-11-27 | 1999-08-10 | Sybase, Inc. | Database system with improved methods for filtering duplicates from a tuple stream |
US5857182A (en) | 1997-01-21 | 1999-01-05 | International Business Machines Corporation | Database management system, method and program for supporting the mutation of a composite object without read/write and write/write conflicts |
US6212673B1 (en) | 1997-03-31 | 2001-04-03 | International Business Machines Corporation | Component-neutral builder interface |
US6108666A (en) | 1997-06-12 | 2000-08-22 | International Business Machines Corporation | Method and apparatus for pattern discovery in 1-dimensional event streams |
US6041344A (en) | 1997-06-23 | 2000-03-21 | Oracle Corporation | Apparatus and method for passing statements to foreign databases by using a virtual package |
US6081801A (en) | 1997-06-30 | 2000-06-27 | International Business Machines Corporation | Shared nothing parallel execution of procedural constructs in SQL |
US6112198A (en) | 1997-06-30 | 2000-08-29 | International Business Machines Corporation | Optimization of data repartitioning during parallel query optimization |
US5822750A (en) | 1997-06-30 | 1998-10-13 | International Business Machines Corporation | Optimization of correlated SQL queries in a relational database management system |
US6278994B1 (en) | 1997-07-10 | 2001-08-21 | International Business Machines Corporation | Fully integrated architecture for user-defined search |
US6006220A (en) | 1997-09-30 | 1999-12-21 | International Business Machines Corporation | Determining the optimal access path for a query at execution time using an actual value for each variable in a query for estimating a filter factor |
US6006235A (en) | 1997-11-26 | 1999-12-21 | International Business Machines Corporation | Method and apparatus for invoking a stored procedure or a user defined interpreted language function in a database management system |
US6389436B1 (en) | 1997-12-15 | 2002-05-14 | International Business Machines Corporation | Enhanced hypertext categorization using hyperlinks |
US6092065A (en) | 1998-02-13 | 2000-07-18 | International Business Machines Corporation | Method and apparatus for discovery, clustering and classification of patterns in 1-dimensional event streams |
US6341281B1 (en) | 1998-04-14 | 2002-01-22 | Sybase, Inc. | Database system with methods for optimizing performance of correlated subqueries by reusing invariant results of operator tree |
US6011916A (en) | 1998-05-12 | 2000-01-04 | International Business Machines Corp. | Java I/O toolkit for applications and applets |
GB9812635D0 (en) | 1998-06-11 | 1998-08-12 | Olivetti Telemedia Spa | Location system |
US6477571B1 (en) | 1998-08-11 | 2002-11-05 | Computer Associates Think, Inc. | Transaction recognition and prediction using regular expressions |
US6263332B1 (en) | 1998-08-14 | 2001-07-17 | Vignette Corporation | System and method for query processing of structured documents |
US6367034B1 (en) | 1998-09-21 | 2002-04-02 | Microsoft Corporation | Using query language for event filtering and aggregation |
US6988271B2 (en) | 1998-10-02 | 2006-01-17 | Microsoft Corporation | Heavyweight and lightweight instrumentation |
US6546381B1 (en) | 1998-11-02 | 2003-04-08 | International Business Machines Corporation | Query optimization system and method |
US6763353B2 (en) | 1998-12-07 | 2004-07-13 | Vitria Technology, Inc. | Real time business process analysis method and apparatus |
US6108659A (en) | 1998-12-22 | 2000-08-22 | Computer Associates Think, Inc. | Method and apparatus for executing stored code objects in a database |
US6370537B1 (en) | 1999-01-14 | 2002-04-09 | Altoweb, Inc. | System and method for the manipulation and display of structured data |
US6427123B1 (en) | 1999-02-18 | 2002-07-30 | Oracle Corporation | Hierarchical indexing for accessing hierarchically organized information in a relational system |
US6438559B1 (en) | 1999-04-02 | 2002-08-20 | Sybase, Inc. | System and method for improved serialization of Java objects |
US7080062B1 (en) | 1999-05-18 | 2006-07-18 | International Business Machines Corporation | Optimizing database queries using query execution plans derived from automatic summary table determining cost based queries |
US6339772B1 (en) | 1999-07-06 | 2002-01-15 | Compaq Computer Corporation | System and method for performing database operations on a continuous stream of tuples |
US6453314B1 (en) | 1999-07-30 | 2002-09-17 | International Business Machines Corporation | System and method for selective incremental deferred constraint processing after bulk loading data |
JP2001060161A (ja) | 1999-08-24 | 2001-03-06 | Nec Ic Microcomput Syst Ltd | デバッグ装置、方法及び記録媒体 |
AU7123300A (en) | 1999-09-10 | 2001-04-10 | William C. Rodgers | Web-based system to facilitate purchase, pick-up, and delivery of, and escrow and payment for, merchandise |
US7457279B1 (en) | 1999-09-10 | 2008-11-25 | Vertical Communications Acquisition Corp. | Method, system, and computer program product for managing routing servers and services |
US6766330B1 (en) | 1999-10-19 | 2004-07-20 | International Business Machines Corporation | Universal output constructor for XML queries universal output constructor for XML queries |
US6721727B2 (en) | 1999-12-02 | 2004-04-13 | International Business Machines Corporation | XML documents stored as column data |
US6418448B1 (en) | 1999-12-06 | 2002-07-09 | Shyam Sundar Sarkar | Method and apparatus for processing markup language specifications for data and metadata used inside multiple related internet documents to navigate, query and manipulate information from a plurality of object relational databases over the web |
US20020116371A1 (en) | 1999-12-06 | 2002-08-22 | David Dodds | System and method for the storage, indexing and retrieval of XML documents using relation databases |
JP3937380B2 (ja) | 1999-12-14 | 2007-06-27 | 富士通株式会社 | パスサーチ回路 |
US6615203B1 (en) | 1999-12-17 | 2003-09-02 | International Business Machines Corporation | Method, computer program product, and system for pushdown analysis during query plan generation |
US6594651B2 (en) | 1999-12-22 | 2003-07-15 | Ncr Corporation | Method and apparatus for parallel execution of SQL-from within user defined functions |
US6507834B1 (en) | 1999-12-22 | 2003-01-14 | Ncr Corporation | Method and apparatus for parallel execution of SQL from stored procedures |
US6353821B1 (en) | 1999-12-23 | 2002-03-05 | Bull Hn Information Systems Inc. | Method and data processing system for detecting patterns in SQL to allow optimized use of multi-column indexes |
US20020049788A1 (en) | 2000-01-14 | 2002-04-25 | Lipkin Daniel S. | Method and apparatus for a web content platform |
CA2399156A1 (en) | 2000-02-11 | 2001-08-16 | Sridhar Gantimahapatruni | Nested relational data model |
US6996557B1 (en) | 2000-02-15 | 2006-02-07 | International Business Machines Corporation | Method of optimizing SQL queries where a predicate matches nullable operands |
US7072896B2 (en) | 2000-02-16 | 2006-07-04 | Verizon Laboratories Inc. | System and method for automatic loading of an XML document defined by a document-type definition into a relational database including the generation of a relational schema therefor |
US20020029207A1 (en) | 2000-02-28 | 2002-03-07 | Hyperroll, Inc. | Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein |
AU2001239998A1 (en) | 2000-02-28 | 2001-09-12 | Fibercycle Networks, Inc. | System and method for high speed string matching |
US6449620B1 (en) | 2000-03-02 | 2002-09-10 | Nimble Technology, Inc. | Method and apparatus for generating information pages using semi-structured data stored in a structured manner |
US7823066B1 (en) | 2000-03-03 | 2010-10-26 | Tibco Software Inc. | Intelligent console for content-based interactivity |
US6751619B1 (en) | 2000-03-15 | 2004-06-15 | Microsoft Corporation | Methods and apparatus for tuple management in data processing system |
US6633867B1 (en) | 2000-04-05 | 2003-10-14 | International Business Machines Corporation | System and method for providing a session query within the context of a dynamic search result set |
US6523102B1 (en) | 2000-04-14 | 2003-02-18 | Interactive Silicon, Inc. | Parallel compression/decompression system and method for implementation of in-memory compressed cache improving storage density and access speed for industry standard memory subsystems and in-line memory modules |
US7020696B1 (en) | 2000-05-20 | 2006-03-28 | Ciena Corp. | Distributed user management information in telecommunications networks |
US7076647B2 (en) | 2000-06-09 | 2006-07-11 | Hewlett-Packard Development Company, L.P. | Dynamic kernel tunables |
CA2311884A1 (en) | 2000-06-16 | 2001-12-16 | Cognos Incorporated | Method of managing slowly changing dimensions |
US6578032B1 (en) | 2000-06-28 | 2003-06-10 | Microsoft Corporation | Method and system for performing phrase/word clustering and cluster merging |
US7958025B2 (en) | 2000-08-04 | 2011-06-07 | Goldman Sachs & Co. | Method and system for processing raw financial data streams to produce and distribute structured and validated product offering objects |
US7139844B2 (en) | 2000-08-04 | 2006-11-21 | Goldman Sachs & Co. | Method and system for processing financial data objects carried on broadcast data streams and delivering information to subscribing clients |
US6708186B1 (en) | 2000-08-14 | 2004-03-16 | Oracle International Corporation | Aggregating and manipulating dictionary metadata in a database system |
US7095744B2 (en) | 2000-11-22 | 2006-08-22 | Dune Networks | Method and system for switching variable sized packets |
US20020156792A1 (en) | 2000-12-06 | 2002-10-24 | Biosentients, Inc. | Intelligent object handling device and method for intelligent object data in heterogeneous data environments with high data density and dynamic application needs |
US6925631B2 (en) | 2000-12-08 | 2005-08-02 | Hewlett-Packard Development Company, L.P. | Method, computer system and computer program product for processing extensible markup language streams |
US7062749B2 (en) | 2000-12-15 | 2006-06-13 | Promenix, Inc. | Measuring, monitoring and tracking enterprise communications and processes |
CA2430446C (en) | 2000-12-15 | 2010-10-26 | British Telecommunications Public Limited Company | Method of indexing entities |
US8307197B2 (en) | 2001-02-14 | 2012-11-06 | University Of North Carolina At Charlotte | Short-circuit evaluation of Boolean expression by rolling up sub-expression result in registers storing default value |
US7577916B2 (en) | 2001-02-21 | 2009-08-18 | Fuji Xerox Co., Ltd. | Method and apparatus for management and representation of dynamic context |
US7185232B1 (en) | 2001-02-28 | 2007-02-27 | Cenzic, Inc. | Fault injection methods and apparatus |
US20040117359A1 (en) | 2001-03-01 | 2004-06-17 | Snodgrass Richard Thomas | Adaptable query optimization and evaluation in temporal middleware |
US6542911B2 (en) | 2001-03-01 | 2003-04-01 | Sun Microsystems, Inc. | Method and apparatus for freeing memory from an extensible markup language document object model tree active in an application cache |
GB2377038A (en) | 2001-04-10 | 2002-12-31 | I2 Ltd | Method for identifying patterns in sequential event streams |
US6904019B2 (en) * | 2001-04-13 | 2005-06-07 | Agilent Technologies, Inc. | Identifying a pattern in a data stream |
US6748386B1 (en) | 2001-04-24 | 2004-06-08 | Nec Corporation | System and method for automated construction of URL, cookie, and database query mapping |
US6785677B1 (en) | 2001-05-02 | 2004-08-31 | Unisys Corporation | Method for execution of query to search strings of characters that match pattern with a target string utilizing bit vector |
US6850925B2 (en) | 2001-05-15 | 2005-02-01 | Microsoft Corporation | Query optimization by sub-plan memoization |
US7540011B2 (en) | 2001-06-11 | 2009-05-26 | Arrowsight, Inc. | Caching graphical interface for displaying video and ancillary data from a saved video |
US7757225B2 (en) | 2001-06-29 | 2010-07-13 | Microsoft Corporation | Linktime recognition of alternative implementations of programmed functionality |
US8332502B1 (en) | 2001-08-15 | 2012-12-11 | Metavante Corporation | Business to business network management event detection and response system and method |
US6856981B2 (en) | 2001-09-12 | 2005-02-15 | Safenet, Inc. | High speed data stream pattern recognition |
US7203927B2 (en) | 2001-09-20 | 2007-04-10 | International Business Machines Corporation | SQL debugging using XML dataflows |
US20030065655A1 (en) | 2001-09-28 | 2003-04-03 | International Business Machines Corporation | Method and apparatus for detecting query-driven topical events using textual phrases on foils as indication of topic |
AU2002334721B2 (en) | 2001-09-28 | 2008-10-23 | Oracle International Corporation | An index structure to access hierarchical data in a relational database system |
US6915290B2 (en) | 2001-12-11 | 2005-07-05 | International Business Machines Corporation | Database query optimization apparatus and method that represents queries as graphs |
US7475058B2 (en) | 2001-12-14 | 2009-01-06 | Microsoft Corporation | Method and system for providing a distributed querying and filtering system |
US20030135304A1 (en) | 2002-01-11 | 2003-07-17 | Brian Sroub | System and method for managing transportation assets |
US7117200B2 (en) | 2002-01-11 | 2006-10-03 | International Business Machines Corporation | Synthesizing information-bearing content from multiple channels |
WO2003060771A1 (en) | 2002-01-14 | 2003-07-24 | Jerzy Lewak | Identifier vocabulary data access method and system |
US7225188B1 (en) | 2002-02-13 | 2007-05-29 | Cisco Technology, Inc. | System and method for performing regular expression matching with high parallelism |
US6985904B1 (en) | 2002-02-28 | 2006-01-10 | Oracle International Corporation | Systems and methods for sharing of execution plans for similar database statements |
CA2374271A1 (en) | 2002-03-01 | 2003-09-01 | Ibm Canada Limited-Ibm Canada Limitee | Redundant join elimination and sub-query elimination using subsumption |
US7567953B2 (en) | 2002-03-01 | 2009-07-28 | Business Objects Americas | System and method for retrieving and organizing information from disparate computer network information sources |
US7107285B2 (en) | 2002-03-16 | 2006-09-12 | Questerra Corporation | Method, system, and program for an improved enterprise spatial system |
US20080010241A1 (en) | 2002-04-02 | 2008-01-10 | Mcgoveran David O | Computer-implemented method for managing through symbolic abstraction of a membership expression multiple logical representations and storage structures |
EP1504373A4 (en) | 2002-04-29 | 2007-02-28 | Kilian Stoffel | SEQUENCE MINER |
EP1361526A1 (en) | 2002-05-08 | 2003-11-12 | Accenture Global Services GmbH | Electronic data processing system and method of using an electronic processing system for automatically determining a risk indicator value |
US7457810B2 (en) | 2002-05-10 | 2008-11-25 | International Business Machines Corporation | Querying markup language data sources using a relational query processor |
US20030236766A1 (en) | 2002-05-14 | 2003-12-25 | Zenon Fortuna | Identifying occurrences of selected events in a system |
US7093023B2 (en) | 2002-05-21 | 2006-08-15 | Washington University | Methods, systems, and devices using reprogrammable hardware for high-speed processing of streaming data to find a redefinable pattern and respond thereto |
US7590987B2 (en) | 2002-06-05 | 2009-09-15 | Sap Ag | Apparatus and method for integrating variable subsidiary information with main office information in an enterprise system |
AU2003263987A1 (en) | 2002-08-05 | 2004-02-23 | John Campbell | System of finite state machines |
US7840550B2 (en) | 2002-08-13 | 2010-11-23 | International Business Machines Corporation | System and method for monitoring database queries |
US7451143B2 (en) | 2002-08-28 | 2008-11-11 | Cisco Technology, Inc. | Programmable rule processing apparatus for conducting high speed contextual searches and characterizations of patterns in data |
US8165993B2 (en) | 2002-09-06 | 2012-04-24 | Oracle International Corporation | Business intelligence system with interface that provides for immediate user action |
US7120645B2 (en) | 2002-09-27 | 2006-10-10 | Oracle International Corporation | Techniques for rewriting XML queries directed to relational database constructs |
US7043476B2 (en) | 2002-10-11 | 2006-05-09 | International Business Machines Corporation | Method and apparatus for data mining to discover associations and covariances associated with data |
FR2846181B1 (fr) | 2002-10-16 | 2005-09-02 | Canon Kk | Procede et dispositif de selection de donnees dans un reseau de communication |
US7213040B1 (en) | 2002-10-29 | 2007-05-01 | Novell, Inc. | Apparatus for policy based storage of file data and meta-data changes over time |
US7653645B1 (en) | 2002-10-29 | 2010-01-26 | Novell, Inc. | Multi-epoch method for saving and exporting file system events |
US20040088404A1 (en) | 2002-11-01 | 2004-05-06 | Vikas Aggarwal | Administering users in a fault and performance monitoring system using distributed data gathering and storage |
US7134143B2 (en) | 2003-02-04 | 2006-11-07 | Stellenberg Gerald S | Method and apparatus for data packet pattern matching |
GB0228447D0 (en) | 2002-12-06 | 2003-01-08 | Nicholls Charles M | System for detecting and interpreting transactions events or changes in computer systems |
US7051034B1 (en) | 2002-12-18 | 2006-05-23 | Oracle International Corporation | Dynamic optimization for processing a restartable sub-tree of a query execution plan |
US20050096124A1 (en) | 2003-01-21 | 2005-05-05 | Asip Holdings, Inc. | Parimutuel wagering system with opaque transactions |
US7954109B1 (en) | 2003-01-24 | 2011-05-31 | Jds Uniphase Corporation | Systems and methods for time based sorting and display of captured data events in a multi-protocol communications system |
US7437675B2 (en) | 2003-02-03 | 2008-10-14 | Hewlett-Packard Development Company, L.P. | System and method for monitoring event based systems |
US7634501B2 (en) | 2003-02-05 | 2009-12-15 | Next Generation Software | Method and apparatus for mediated cooperation |
WO2004072797A2 (en) | 2003-02-07 | 2004-08-26 | Safenet, Inc. | System and method for determining the start of a match of a regular expression |
US7062507B2 (en) | 2003-02-24 | 2006-06-13 | The Boeing Company | Indexing profile for efficient and scalable XML based publish and subscribe system |
US7185315B2 (en) | 2003-02-25 | 2007-02-27 | Sheet Dynamics, Ltd. | Graphical feedback of disparities in target designs in graphical development environment |
US7693810B2 (en) | 2003-03-04 | 2010-04-06 | Mantas, Inc. | Method and system for advanced scenario based alert generation and processing |
US7324108B2 (en) | 2003-03-12 | 2008-01-29 | International Business Machines Corporation | Monitoring events in a computer network |
JP2004280283A (ja) | 2003-03-13 | 2004-10-07 | Hitachi Ltd | 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法 |
US7392239B2 (en) | 2003-04-14 | 2008-06-24 | International Business Machines Corporation | System and method for querying XML streams |
US6986019B1 (en) * | 2003-04-21 | 2006-01-10 | Maxtor Corporation | Method and apparatus for detection and management of data streams |
CA2427209A1 (en) | 2003-04-30 | 2004-10-30 | Ibm Canada Limited - Ibm Canada Limitee | Optimization of queries on views defined by conditional expressions having mutually exclusive conditions |
US7103611B2 (en) | 2003-05-01 | 2006-09-05 | Oracle International Corporation | Techniques for retaining hierarchical information in mapping between XML documents and relational data |
US7386568B2 (en) | 2003-05-01 | 2008-06-10 | Oracle International Corporation | Techniques for partial rewrite of XPath queries in a relational database |
US6836778B2 (en) | 2003-05-01 | 2004-12-28 | Oracle International Corporation | Techniques for changing XML content in a relational database |
US7222123B2 (en) | 2003-05-28 | 2007-05-22 | Oracle International Corporation | Technique for using a current lookup for performing multiple merge operations using source data that is modified in between the merge operations |
US7546284B1 (en) | 2003-06-11 | 2009-06-09 | Blue Titan Software, Inc. | Virtual message persistence service |
US7519577B2 (en) | 2003-06-23 | 2009-04-14 | Microsoft Corporation | Query intermediate language method and system |
US7146352B2 (en) | 2003-06-23 | 2006-12-05 | Microsoft Corporation | Query optimizer system and method |
CA2433750A1 (en) | 2003-06-27 | 2004-12-27 | Ibm Canada Limited - Ibm Canada Limitee | Automatic collection of trace detail and history data |
US20050010896A1 (en) | 2003-07-07 | 2005-01-13 | International Business Machines Corporation | Universal format transformation between relational database management systems and extensible markup language using XML relational transformation |
WO2005006153A2 (en) | 2003-07-07 | 2005-01-20 | Netezza Corporation | Sql code generation for heterogeneous environment |
WO2005010727A2 (en) | 2003-07-23 | 2005-02-03 | Praedea Solutions, Inc. | Extracting data from semi-structured text documents |
US20080077780A1 (en) | 2003-07-25 | 2008-03-27 | Zingher Arthur R | System and Method for Software Debugging |
US7873645B2 (en) | 2003-09-05 | 2011-01-18 | Oracle International Corporation | Method and mechanism for handling arbitrarily-sized XML in SQL operator tree |
US20050108368A1 (en) | 2003-10-30 | 2005-05-19 | Aditya Mohan | Method and apparatus for representing data available in a peer-to-peer network using bloom-filters |
US20050097128A1 (en) | 2003-10-31 | 2005-05-05 | Ryan Joseph D. | Method for scalable, fast normalization of XML documents for insertion of data into a relational database |
US7167848B2 (en) | 2003-11-07 | 2007-01-23 | Microsoft Corporation | Generating a hierarchical plain-text execution plan from a database query |
GB0327589D0 (en) | 2003-11-27 | 2003-12-31 | Ibm | Searching in a computer network |
US7702676B2 (en) | 2006-12-29 | 2010-04-20 | Teradata Us, Inc. | Parallel virtual optimization |
US7508985B2 (en) | 2003-12-10 | 2009-03-24 | International Business Machines Corporation | Pattern-matching system |
US7308561B2 (en) | 2003-12-12 | 2007-12-11 | Alcatel Lucent | Fast, scalable pattern-matching engine |
US7440461B2 (en) * | 2003-12-23 | 2008-10-21 | Intel Corporation | Methods and apparatus for detecting patterns in a data stream |
US7672964B1 (en) | 2003-12-31 | 2010-03-02 | International Business Machines Corporation | Method and system for dynamically initializing a view for a streaming data base system |
US8775412B2 (en) | 2004-01-08 | 2014-07-08 | International Business Machines Corporation | Method and system for a self-healing query access plan |
US7526804B2 (en) * | 2004-02-02 | 2009-04-28 | Microsoft Corporation | Hardware assist for pattern matches |
US7376656B2 (en) | 2004-02-10 | 2008-05-20 | Microsoft Corporation | System and method for providing user defined aggregates in a database system |
US7194451B2 (en) | 2004-02-26 | 2007-03-20 | Microsoft Corporation | Database monitoring system |
US20050204340A1 (en) | 2004-03-10 | 2005-09-15 | Ruminer Michael D. | Attribute-based automated business rule identifier and methods of implementing same |
US7218325B1 (en) | 2004-03-31 | 2007-05-15 | Trading Technologies International, Inc. | Graphical display with integrated recent period zoom and historical period context data |
US7398265B2 (en) | 2004-04-09 | 2008-07-08 | Oracle International Corporation | Efficient query processing of XML data using XML index |
US20050273352A1 (en) | 2004-05-07 | 2005-12-08 | Lombardi Software, Inc. | Business method for continuous process improvement |
US20050273450A1 (en) | 2004-05-21 | 2005-12-08 | Mcmillen Robert J | Regular expression acceleration engine and processing model |
US7552365B1 (en) | 2004-05-26 | 2009-06-23 | Amazon Technologies, Inc. | Web site system with automated processes for detecting failure events and for selecting failure events for which to request user feedback |
US7516121B2 (en) | 2004-06-23 | 2009-04-07 | Oracle International Corporation | Efficient evaluation of queries using translation |
US7599924B2 (en) | 2004-06-25 | 2009-10-06 | International Business Machines Corporation | Relationship management in a data abstraction model |
US7370273B2 (en) | 2004-06-30 | 2008-05-06 | International Business Machines Corporation | System and method for creating dynamic folder hierarchies |
US20060007308A1 (en) | 2004-07-12 | 2006-01-12 | Ide Curtis E | Environmentally aware, intelligent surveillance device |
US7668806B2 (en) | 2004-08-05 | 2010-02-23 | Oracle International Corporation | Processing queries against one or more markup language sources |
US20060047696A1 (en) | 2004-08-24 | 2006-03-02 | Microsoft Corporation | Partially materialized views |
GB0420097D0 (en) | 2004-09-10 | 2004-10-13 | Cotares Ltd | Apparatus for and method of providing data to an external application |
US20060064438A1 (en) | 2004-09-17 | 2006-03-23 | International Business Machines Corporation | Methods and apparartus for monitoring abnormalities in data stream |
US7668856B2 (en) | 2004-09-30 | 2010-02-23 | Alcatel-Lucent Usa Inc. | Method for distinct count estimation over joins of continuous update stream |
US7310638B1 (en) | 2004-10-06 | 2007-12-18 | Metra Tech | Method and apparatus for efficiently processing queries in a streaming transaction processing system |
US7519962B2 (en) | 2004-10-07 | 2009-04-14 | Thomson Financial Llc | Command script parsing using local and extended storage for command lookup |
US20080077570A1 (en) | 2004-10-25 | 2008-03-27 | Infovell, Inc. | Full Text Query and Search Systems and Method of Use |
US20060212441A1 (en) | 2004-10-25 | 2006-09-21 | Yuanhua Tang | Full text query and search systems and methods of use |
US7403945B2 (en) | 2004-11-01 | 2008-07-22 | Sybase, Inc. | Distributed database system providing data and space management methodology |
US7533087B2 (en) | 2004-11-05 | 2009-05-12 | International Business Machines Corporation | Method, system, and program for executing a query having a union all operator and data modifying operations |
US20060100969A1 (en) | 2004-11-08 | 2006-05-11 | Min Wang | Learning-based method for estimating cost and statistics of complex operators in continuous queries |
US7493304B2 (en) | 2004-11-12 | 2009-02-17 | International Business Machines Corporation | Adjusting an amount of data logged for a query based on a change to an access plan |
US7526461B2 (en) | 2004-11-17 | 2009-04-28 | Gm Global Technology Operations, Inc. | System and method for temporal data mining |
JP2006155404A (ja) | 2004-11-30 | 2006-06-15 | Toshiba Corp | 時間情報抽出装置、時間情報抽出方法、及び時間情報抽出プログラム |
US7383253B1 (en) | 2004-12-17 | 2008-06-03 | Coral 8, Inc. | Publish and subscribe capable continuous query processor for real-time data streams |
US20060155719A1 (en) | 2005-01-10 | 2006-07-13 | International Business Machines Corporation | Complex event discovery in event databases |
EP1684192A1 (en) | 2005-01-25 | 2006-07-26 | Ontoprise GmbH | Integration platform for heterogeneous information sources |
US20060166704A1 (en) | 2005-01-26 | 2006-07-27 | Benco David S | Method for alerting a subscriber of an emergency call request |
US20060167869A1 (en) | 2005-01-27 | 2006-07-27 | Kevin Jones | Multi-path simultaneous Xpath evaluation over data streams |
US8396886B1 (en) | 2005-02-03 | 2013-03-12 | Sybase Inc. | Continuous processing language for real-time data streams |
JP5188817B2 (ja) | 2005-02-22 | 2013-04-24 | コネクティフ ソリューションズ インク. | 分散型資産管理システム及び方法 |
KR100690787B1 (ko) | 2005-02-25 | 2007-03-09 | 엘지전자 주식회사 | 무선통신 시스템에서 이벤트 통지방법 |
EP1859378A2 (en) | 2005-03-03 | 2007-11-28 | Washington University | Method and apparatus for performing biosequence similarity searching |
US8463801B2 (en) | 2005-04-04 | 2013-06-11 | Oracle International Corporation | Effectively and efficiently supporting XML sequence type and XQuery sequence natively in a SQL system |
US7428555B2 (en) | 2005-04-07 | 2008-09-23 | Google Inc. | Real-time, computer-generated modifications to an online advertising program |
US7685150B2 (en) | 2005-04-19 | 2010-03-23 | Oracle International Corporation | Optimization of queries over XML views that are based on union all operators |
US8145686B2 (en) | 2005-05-06 | 2012-03-27 | Microsoft Corporation | Maintenance of link level consistency between database and file system |
JP4687253B2 (ja) | 2005-06-03 | 2011-05-25 | 株式会社日立製作所 | ストリームデータ処理システムのクエリ処理方法 |
US20060294095A1 (en) | 2005-06-09 | 2006-12-28 | Mantas, Inc. | Runtime thresholds for behavior detection |
US9792351B2 (en) | 2005-06-10 | 2017-10-17 | International Business Machines Corporation | Tolerant and extensible discovery of relationships in data using structural information and data analysis |
US9747560B2 (en) | 2005-07-13 | 2017-08-29 | Sap Se | Method and system for combination of independent demand data streams |
US7818313B1 (en) | 2005-07-18 | 2010-10-19 | Sybase, Inc. | Method for distributing processing of queries over a cluster of servers in a continuous processing system |
JP4723301B2 (ja) | 2005-07-21 | 2011-07-13 | 株式会社日立製作所 | ストリームデータ処理システムおよびストリームデータ処理方法 |
US7962616B2 (en) | 2005-08-11 | 2011-06-14 | Micro Focus (Us), Inc. | Real-time activity monitoring and reporting |
US20090172014A1 (en) | 2005-08-23 | 2009-07-02 | Raymond John Huetter | Stream-Oriented Database Machine and Method |
US7990646B2 (en) | 2005-09-30 | 2011-08-02 | Seagate Technology Llc | Data pattern detection using adaptive search windows |
US7937257B2 (en) | 2005-10-10 | 2011-05-03 | Oracle International Corporation | Estimating performance of application based on automatic resizing of shared memory for messaging |
KR100813000B1 (ko) | 2005-12-01 | 2008-03-13 | 한국전자통신연구원 | 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리시스템 및 그 방법 |
US7702629B2 (en) | 2005-12-02 | 2010-04-20 | Exegy Incorporated | Method and device for high performance regular expression pattern matching |
US20070136254A1 (en) | 2005-12-08 | 2007-06-14 | Hyun-Hwa Choi | System and method for processing integrated queries against input data stream and data stored in database using trigger |
US7730023B2 (en) | 2005-12-22 | 2010-06-01 | Business Objects Sotware Ltd. | Apparatus and method for strategy map validation and visualization |
US20070168154A1 (en) | 2005-12-23 | 2007-07-19 | Ericson Richard E | User interface for statistical data analysis |
US7502889B2 (en) | 2005-12-30 | 2009-03-10 | Intel Corporation | Home node aware replacement policy for caches in a multiprocessor system |
US7814111B2 (en) | 2006-01-03 | 2010-10-12 | Microsoft International Holdings B.V. | Detection of patterns in data records |
US7844829B2 (en) | 2006-01-18 | 2010-11-30 | Sybase, Inc. | Secured database system with built-in antivirus protection |
US20070192301A1 (en) | 2006-02-15 | 2007-08-16 | Encirq Corporation | Systems and methods for indexing and searching data records based on distance metrics |
US20070198479A1 (en) | 2006-02-16 | 2007-08-23 | International Business Machines Corporation | Streaming XPath algorithm for XPath expressions with predicates |
US7446352B2 (en) | 2006-03-09 | 2008-11-04 | Tela Innovations, Inc. | Dynamic array architecture |
US7689582B2 (en) | 2006-03-10 | 2010-03-30 | International Business Machines Corporation | Data flow system and method for heterogeneous data integration environments |
US7536396B2 (en) | 2006-03-21 | 2009-05-19 | At&T Intellectual Property Ii, L.P. | Query-aware sampling of data streams |
US7877381B2 (en) | 2006-03-24 | 2011-01-25 | International Business Machines Corporation | Progressive refinement of a federated query plan during query execution |
US20070226188A1 (en) | 2006-03-27 | 2007-09-27 | Theodore Johnson | Method and apparatus for data stream sampling |
EP2002334A1 (en) | 2006-03-31 | 2008-12-17 | British Telecommunications Public Limited Company | Xml-based transfer and a local storage of java objects |
US7644066B2 (en) | 2006-03-31 | 2010-01-05 | Oracle International Corporation | Techniques of efficient XML meta-data query using XML table index |
GB0606776D0 (en) | 2006-04-03 | 2006-05-10 | Novartis Pharma Ag | Predictive biomarkers for chronic allograft nephropathy |
US7974984B2 (en) | 2006-04-19 | 2011-07-05 | Mobile Content Networks, Inc. | Method and system for managing single and multiple taxonomies |
WO2007122347A1 (fr) | 2006-04-20 | 2007-11-01 | France Telecom | Procede d'optimisation de la collecte d'evenements, procede de supervision, produits programmes d'ordinateur et dispositifs correspondants |
CN100449435C (zh) | 2006-04-20 | 2009-01-07 | 重庆杰信模具有限公司 | 基于kbe及web技术的锻模设计与制造系统 |
US7636703B2 (en) | 2006-05-02 | 2009-12-22 | Exegy Incorporated | Method and apparatus for approximate pattern matching |
US7548937B2 (en) | 2006-05-04 | 2009-06-16 | International Business Machines Corporation | System and method for scalable processing of multi-way data stream correlations |
US8131696B2 (en) | 2006-05-19 | 2012-03-06 | Oracle International Corporation | Sequence event processing using append-only tables |
JP4804233B2 (ja) | 2006-06-09 | 2011-11-02 | 株式会社日立製作所 | ストリームデータ処理方法 |
US7613848B2 (en) | 2006-06-13 | 2009-11-03 | International Business Machines Corporation | Dynamic stabilization for a stream processing system |
US20070294217A1 (en) | 2006-06-14 | 2007-12-20 | Nec Laboratories America, Inc. | Safety guarantee of continuous join queries over punctuated data streams |
US7921046B2 (en) | 2006-06-19 | 2011-04-05 | Exegy Incorporated | High speed processing of financial information using FPGA devices |
US20080010093A1 (en) | 2006-06-30 | 2008-01-10 | Laplante Pierre | System and Method for Processing Health Information |
US7499909B2 (en) | 2006-07-03 | 2009-03-03 | Oracle International Corporation | Techniques of using a relational caching framework for efficiently handling XML queries in the mid-tier data caching |
US20080016095A1 (en) | 2006-07-13 | 2008-01-17 | Nec Laboratories America, Inc. | Multi-Query Optimization of Window-Based Stream Queries |
US7496683B2 (en) | 2006-07-27 | 2009-02-24 | International Business Machines Corporation | Maximization of sustained throughput of distributed continuous queries |
US8671091B2 (en) | 2006-08-02 | 2014-03-11 | Hewlett-Packard Development Company, L.P. | Optimizing snowflake schema queries |
US20080034427A1 (en) | 2006-08-02 | 2008-02-07 | Nec Laboratories America, Inc. | Fast and scalable process for regular expression search |
WO2008018080A2 (en) | 2006-08-11 | 2008-02-14 | Bizwheel Ltd. | Smart integration engine and metadata-oriented architecture for automatic eii and business integration |
US8099400B2 (en) | 2006-08-18 | 2012-01-17 | National Instruments Corporation | Intelligent storing and retrieving in an enterprise data system |
KR100778314B1 (ko) | 2006-08-21 | 2007-11-22 | 한국전자통신연구원 | 사용자 정의 공유 트리거를 이용한 데이터 스트림과 저장데이터에 대한 통합 연속 질의 처리 시스템 및 그 방법 |
US8260910B2 (en) | 2006-09-19 | 2012-09-04 | Oracle America, Inc. | Method and apparatus for monitoring a data stream to detect a pattern of data elements using bloom filters |
US20080082484A1 (en) | 2006-09-28 | 2008-04-03 | Ramot At Tel-Aviv University Ltd. | Fast processing of an XML data stream |
US20080082514A1 (en) | 2006-09-29 | 2008-04-03 | International Business Machines Corporation | Method and apparatus for integrating relational and hierarchical data |
US20080098359A1 (en) | 2006-09-29 | 2008-04-24 | Ventsislav Ivanov | Manipulation of trace sessions based on address parameters |
US8645176B2 (en) | 2006-10-05 | 2014-02-04 | Trimble Navigation Limited | Utilizing historical data in an asset management environment |
US7921416B2 (en) | 2006-10-20 | 2011-04-05 | Yahoo! Inc. | Formal language and translator for parallel processing of data |
JP4933222B2 (ja) | 2006-11-15 | 2012-05-16 | 株式会社日立製作所 | インデックス処理方法及び計算機システム |
US20080120283A1 (en) | 2006-11-17 | 2008-05-22 | Oracle International Corporation | Processing XML data stream(s) using continuous queries in a data stream management system |
US9436779B2 (en) | 2006-11-17 | 2016-09-06 | Oracle International Corporation | Techniques of efficient XML query using combination of XML table index and path/value index |
US7899976B2 (en) | 2006-12-08 | 2011-03-01 | Pandya Ashish A | FSA extension architecture for programmable intelligent search memory |
US7716210B2 (en) | 2006-12-20 | 2010-05-11 | International Business Machines Corporation | Method and apparatus for XML query evaluation using early-outs and multiple passes |
US7895187B2 (en) | 2006-12-21 | 2011-02-22 | Sybase, Inc. | Hybrid evaluation of expressions in DBMS |
US20080195577A1 (en) | 2007-02-09 | 2008-08-14 | Wei Fan | Automatically and adaptively determining execution plans for queries with parameter markers |
US7630982B2 (en) | 2007-02-24 | 2009-12-08 | Trend Micro Incorporated | Fast identification of complex strings in a data stream |
US20090327102A1 (en) | 2007-03-23 | 2009-12-31 | Jatin Maniar | System and method for providing real time asset visibility |
US7827146B1 (en) | 2007-03-30 | 2010-11-02 | Symantec Operating Corporation | Storage system |
US8065319B2 (en) | 2007-04-01 | 2011-11-22 | Nec Laboratories America, Inc. | Runtime semantic query optimization for event stream processing |
US8098248B2 (en) | 2007-04-02 | 2012-01-17 | International Business Machines Corporation | Method for semantic modeling of stream processing components to enable automatic application composition |
US8370812B2 (en) | 2007-04-02 | 2013-02-05 | International Business Machines Corporation | Method and system for automatically assembling processing graphs in information processing systems |
US7818292B2 (en) | 2007-04-05 | 2010-10-19 | Anil Kumar Nori | SQL change tracking layer |
JP2008262046A (ja) | 2007-04-12 | 2008-10-30 | Hitachi Ltd | 会議可視化システム、会議可視化方法、及び集計処理サーバ |
US7788206B2 (en) | 2007-04-30 | 2010-08-31 | Lsi Corporation | State machine compression using multi-character state transition instructions |
US7899904B2 (en) * | 2007-04-30 | 2011-03-01 | Lsi Corporation | Hardware processing of regular expressions |
US7945540B2 (en) | 2007-05-04 | 2011-05-17 | Oracle International Corporation | Method to create a partition-by time/tuple-based window in an event processing service |
US7912853B2 (en) | 2007-05-07 | 2011-03-22 | International Business Machines Corporation | Query processing client-server database system |
US7953728B2 (en) | 2007-05-18 | 2011-05-31 | Oracle International Corp. | Queries with soft time constraints |
US8122006B2 (en) | 2007-05-29 | 2012-02-21 | Oracle International Corporation | Event processing query language including retain clause |
US7975109B2 (en) | 2007-05-30 | 2011-07-05 | Schooner Information Technology, Inc. | System including a fine-grained memory and a less-fine-grained memory |
US7792784B2 (en) * | 2007-05-31 | 2010-09-07 | International Business Machines Corporation | Streaming multidimensional data by bypassing multidimensional query processor |
US7984040B2 (en) | 2007-06-05 | 2011-07-19 | Oracle International Corporation | Methods and systems for querying event streams using multiple event processors |
US7933894B2 (en) | 2007-06-15 | 2011-04-26 | Microsoft Corporation | Parameter-sensitive plans for structural scenarios |
US7689622B2 (en) | 2007-06-28 | 2010-03-30 | Microsoft Corporation | Identification of events of search queries |
US8832073B2 (en) | 2007-06-29 | 2014-09-09 | Alcatel Lucent | Method and apparatus for efficient aggregate computation over data streams |
US7676461B2 (en) | 2007-07-18 | 2010-03-09 | Microsoft Corporation | Implementation of stream algebra over class instances |
US7984043B1 (en) | 2007-07-24 | 2011-07-19 | Amazon Technologies, Inc. | System and method for distributed query processing using configuration-independent query plans |
US8055653B2 (en) | 2007-08-09 | 2011-11-08 | International Business Machines Corporation | Processing overlapping continuous queries |
US8543534B2 (en) | 2007-09-11 | 2013-09-24 | Oracle International Corporation | Concurrency in event processing networks for event server |
US7827299B2 (en) | 2007-09-11 | 2010-11-02 | International Business Machines Corporation | Transitioning between historical and real time data streams in the processing of data change messages |
US20090076899A1 (en) | 2007-09-14 | 2009-03-19 | Gbodimowo Gbeminiyi A | Method for analyzing, searching for, and trading targeted advertisement spaces |
US7979420B2 (en) | 2007-10-16 | 2011-07-12 | Oracle International Corporation | Handling silent relations in a data stream management system |
US7996388B2 (en) | 2007-10-17 | 2011-08-09 | Oracle International Corporation | Adding new continuous queries to a data stream management system operating on existing queries |
US8296316B2 (en) | 2007-10-17 | 2012-10-23 | Oracle International Corporation | Dynamically sharing a subtree of operators in a data stream management system operating on existing queries |
US9189522B2 (en) | 2007-10-17 | 2015-11-17 | Oracle International Corporation | SQL execution plan baselines |
US7739265B2 (en) | 2007-10-18 | 2010-06-15 | Oracle International Corporation | Deleting a continuous query from a data stream management system continuing to operate on other queries |
US8073826B2 (en) | 2007-10-18 | 2011-12-06 | Oracle International Corporation | Support for user defined functions in a data stream management system |
US8307343B2 (en) | 2007-10-19 | 2012-11-06 | Microsoft Corporation | Application and database context correlation for database application developers |
US7991766B2 (en) | 2007-10-20 | 2011-08-02 | Oracle International Corporation | Support for user defined aggregations in a data stream management system |
US8521867B2 (en) | 2007-10-20 | 2013-08-27 | Oracle International Corporation | Support for incrementally processing user defined aggregations in a data stream management system |
US7673065B2 (en) | 2007-10-20 | 2010-03-02 | Oracle International Corporation | Support for sharing computation between aggregations in a data stream management system |
US7827127B2 (en) | 2007-10-26 | 2010-11-02 | Microsoft Corporation | Data scoping and data flow in a continuation based runtime |
US8335782B2 (en) | 2007-10-29 | 2012-12-18 | Hitachi, Ltd. | Ranking query processing method for stream data and stream data processing system having ranking query processing mechanism |
JP5377897B2 (ja) | 2007-10-29 | 2013-12-25 | 株式会社日立製作所 | ストリームデータのランキングクエリ処理方法およびランキングクエリ処理機構を有するストリームデータ処理システム |
US8019747B2 (en) | 2007-10-30 | 2011-09-13 | Oracle International Corporation | Facilitating flexible windows in data stream management systems |
US8103655B2 (en) | 2007-10-30 | 2012-01-24 | Oracle International Corporation | Specifying a family of logics defining windows in data stream management systems |
US8315990B2 (en) | 2007-11-08 | 2012-11-20 | Microsoft Corporation | Consistency sensitive streaming operators |
US20090125550A1 (en) | 2007-11-08 | 2009-05-14 | Microsoft Corporation | Temporal event stream model |
KR100894910B1 (ko) | 2007-11-09 | 2009-04-30 | 한국전자통신연구원 | 이기종 센서 네트워크 환경에서 다중 질의 처리 장치 및방법 |
US7870167B2 (en) | 2007-11-09 | 2011-01-11 | Oracle America, Inc. | Implementing event processors |
US9275353B2 (en) | 2007-11-09 | 2016-03-01 | Oracle America, Inc. | Event-processing operators |
US8156134B2 (en) | 2007-11-15 | 2012-04-10 | International Business Machines Corporation | Using different groups of query graph transform modules to generate execution plans for queries for different database types |
US8191074B2 (en) | 2007-11-15 | 2012-05-29 | Ericsson Ab | Method and apparatus for automatic debugging technique |
US8429601B2 (en) | 2007-11-29 | 2013-04-23 | Red Hat, Inc. | Code completion for object relational mapping query language (OQL) queries |
US7870124B2 (en) | 2007-12-13 | 2011-01-11 | Oracle International Corporation | Rewriting node reference-based XQuery using SQL/SML |
US8365140B2 (en) | 2007-12-20 | 2013-01-29 | Hsbc Technologies Inc. | Automated methods and systems for developing and deploying projects in parallel |
US7882087B2 (en) | 2008-01-15 | 2011-02-01 | At&T Intellectual Property I, L.P. | Complex dependencies for efficient data warehouse updates |
JP2009171193A (ja) | 2008-01-16 | 2009-07-30 | Kyocera Mita Corp | 通信装置、通信方法及び通信制御プログラム |
US20090192981A1 (en) | 2008-01-29 | 2009-07-30 | Olga Papaemmanouil | Query Deployment Plan For A Distributed Shared Stream Processing System |
US9489495B2 (en) | 2008-02-25 | 2016-11-08 | Georgetown University | System and method for detecting, collecting, analyzing, and communicating event-related information |
US8812487B2 (en) | 2008-03-06 | 2014-08-19 | Cisco Technology, Inc. | Addition and processing of continuous SQL queries in a streaming relational database management system |
US8055649B2 (en) | 2008-03-06 | 2011-11-08 | Microsoft Corporation | Scaled management system |
US8805879B2 (en) | 2008-03-11 | 2014-08-12 | Virtualagility Inc. | Techniques for integrating parameterized information request into a system for collaborative work |
WO2009119811A1 (ja) | 2008-03-28 | 2009-10-01 | 日本電気株式会社 | 情報再構成システム、情報再構成方法及び情報再構成用プログラム |
US7958114B2 (en) | 2008-04-04 | 2011-06-07 | Microsoft Corporation | Detecting estimation errors in dictinct page counts |
US7872948B2 (en) | 2008-04-14 | 2011-01-18 | The Boeing Company | Acoustic wide area air surveillance system |
US8122050B2 (en) | 2008-04-16 | 2012-02-21 | International Business Machines Corporation | Query processing visualization system and method of visualizing query processing |
JP5198929B2 (ja) | 2008-04-25 | 2013-05-15 | 株式会社日立製作所 | ストリームデータ処理方法及び計算機システム |
US8155880B2 (en) | 2008-05-09 | 2012-04-10 | Locomatix Inc. | Location tracking optimizations |
US8886637B2 (en) | 2008-05-12 | 2014-11-11 | Enpulz, L.L.C. | Web browser accessible search engine which adapts based on user interaction |
US8850409B2 (en) | 2008-05-21 | 2014-09-30 | Optumsoft, Inc. | Notification-based constraint set translation to imperative execution |
US7930322B2 (en) | 2008-05-27 | 2011-04-19 | Microsoft Corporation | Text based schema discovery and information extraction |
US8291006B2 (en) | 2008-05-30 | 2012-10-16 | International Business Machines Corporation | Method for generating a distributed stream processing application |
US8918507B2 (en) | 2008-05-30 | 2014-12-23 | Red Hat, Inc. | Dynamic grouping of enterprise assets |
US8112378B2 (en) | 2008-06-17 | 2012-02-07 | Hitachi, Ltd. | Methods and systems for performing root cause analysis |
US20090319501A1 (en) | 2008-06-24 | 2009-12-24 | Microsoft Corporation | Translation of streaming queries into sql queries |
US8316012B2 (en) | 2008-06-27 | 2012-11-20 | SAP France S.A. | Apparatus and method for facilitating continuous querying of multi-dimensional data streams |
CN102077236A (zh) | 2008-07-03 | 2011-05-25 | 松下电器产业株式会社 | 印象度提取装置和印象度提取方法 |
US8086644B2 (en) | 2008-07-10 | 2011-12-27 | International Business Machines Corporation | Simplifying complex data stream problems involving feature extraction from noisy data |
US8447739B2 (en) | 2008-07-16 | 2013-05-21 | SAP France S.A. | Systems and methods to create continuous queries via a semantic layer |
US9135583B2 (en) | 2008-07-16 | 2015-09-15 | Business Objects S.A. | Systems and methods to create continuous queries associated with push-type and pull-type data |
US8037040B2 (en) | 2008-08-08 | 2011-10-11 | Oracle International Corporation | Generating continuous query notifications |
US8185508B2 (en) | 2008-08-08 | 2012-05-22 | Oracle International Corporation | Adaptive filter index for determining queries affected by a DML operation |
US8335793B2 (en) | 2008-08-22 | 2012-12-18 | Disney Enterprises, Inc. | System and method for optimized filtered data feeds to capture data and send to multiple destinations |
US20110173235A1 (en) | 2008-09-15 | 2011-07-14 | Aman James A | Session automated recording together with rules based indexing, analysis and expression of content |
US8032544B2 (en) | 2008-09-24 | 2011-10-04 | The Boeing Company | Methods and apparatus for generating dynamic program files based on input queries that facilitate use of persistent query services |
US20100094838A1 (en) | 2008-10-10 | 2010-04-15 | Ants Software Inc. | Compatibility Server for Database Rehosting |
JP5337447B2 (ja) | 2008-10-28 | 2013-11-06 | 株式会社日立製作所 | ストリームデータ処理方法、及びシステム |
JP5154366B2 (ja) * | 2008-10-28 | 2013-02-27 | 株式会社日立製作所 | ストリームデータ処理プログラム及び計算機システム |
JP5465413B2 (ja) | 2008-10-29 | 2014-04-09 | 株式会社日立製作所 | ストリームデータ処理方法、及びそのシステム |
DE112009002533B4 (de) | 2008-10-31 | 2022-07-28 | Topy Kogyo K.K. | Fahrzeugradscheibe |
US20100128638A1 (en) | 2008-11-20 | 2010-05-27 | Sap Ag | Hierarchical shortest path first network routing protocol |
US7945565B2 (en) | 2008-11-20 | 2011-05-17 | Yahoo! Inc. | Method and system for generating a hyperlink-click graph |
US8392402B2 (en) | 2008-12-03 | 2013-03-05 | International Business Machines Corporation | Hybrid push/pull execution of continuous SQL queries |
US8145621B2 (en) | 2008-12-19 | 2012-03-27 | Ianywhere Solutions, Inc. | Graphical representation of query optimizer search space in a database management system |
US8935293B2 (en) | 2009-03-02 | 2015-01-13 | Oracle International Corporation | Framework for dynamically generating tuple and page classes |
US8352517B2 (en) | 2009-03-02 | 2013-01-08 | Oracle International Corporation | Infrastructure for spilling pages to a persistent store |
US8145859B2 (en) | 2009-03-02 | 2012-03-27 | Oracle International Corporation | Method and system for spilling from a queue to a persistent store |
US8725707B2 (en) | 2009-03-26 | 2014-05-13 | Hewlett-Packard Development Company, L.P. | Data continuous SQL process |
US8713038B2 (en) | 2009-04-02 | 2014-04-29 | Pivotal Software, Inc. | Integrating map-reduce into a distributed relational database |
US8285709B2 (en) | 2009-05-12 | 2012-10-09 | Teradata Us, Inc. | High-concurrency query operator and method |
US8161035B2 (en) | 2009-06-04 | 2012-04-17 | Oracle International Corporation | Query optimization by specifying path-based predicate evaluation in a path-based query operator |
US8868725B2 (en) | 2009-06-12 | 2014-10-21 | Kent State University | Apparatus and methods for real-time multimedia network traffic management and control in wireless networks |
US8572589B2 (en) | 2009-06-30 | 2013-10-29 | Agilent Technologies, Inc. | Programming language translator and enabling translation of machine-centric commands for controlling instrument |
US8407190B2 (en) | 2009-06-30 | 2013-03-26 | Commvault Systems, Inc. | Performing data storage operations with a cloud environment, including containerized deduplication, data pruning, and data transfer |
US8180801B2 (en) | 2009-07-16 | 2012-05-15 | Sap Ag | Unified window support for event stream data management |
US8880524B2 (en) | 2009-07-17 | 2014-11-04 | Apple Inc. | Scalable real time event stream processing |
US8321450B2 (en) | 2009-07-21 | 2012-11-27 | Oracle International Corporation | Standardized database connectivity support for an event processing server in an embedded context |
US8387076B2 (en) | 2009-07-21 | 2013-02-26 | Oracle International Corporation | Standardized database connectivity support for an event processing server |
US8572016B2 (en) * | 2009-07-31 | 2013-10-29 | International Business Machines Corporation | Match engine for detection of multi-pattern rules |
US8386466B2 (en) | 2009-08-03 | 2013-02-26 | Oracle International Corporation | Log visualization tool for a data stream processing server |
US8527458B2 (en) | 2009-08-03 | 2013-09-03 | Oracle International Corporation | Logging framework for a data stream processing server |
US20110035253A1 (en) | 2009-08-07 | 2011-02-10 | onFucus Healthcare | Systems and Methods for Optimizing Enterprise Performance Relationships to Other Applications |
CA2712576C (en) | 2009-08-11 | 2012-04-10 | Certusview Technologies, Llc | Systems and methods for complex event processing of vehicle-related information |
JP4925143B2 (ja) | 2009-08-12 | 2012-04-25 | 株式会社日立製作所 | ストリームデータ処理システム、ストリームデータ処理方法及びストリームデータ処理プログラム |
US8204873B2 (en) | 2009-08-26 | 2012-06-19 | Hewlett-Packard Development Company, L.P. | System and method for query expression optimization |
US20110084967A1 (en) | 2009-10-09 | 2011-04-14 | International Business Machines Corporation | Visualization of Datasets |
US8195648B2 (en) | 2009-10-21 | 2012-06-05 | Microsoft Corporation | Partitioned query execution in event processing systems |
US20110131588A1 (en) * | 2009-12-01 | 2011-06-02 | International Business Machines Corporation | Software architecture that can sense and respond to contextual and state information |
US9305057B2 (en) | 2009-12-28 | 2016-04-05 | Oracle International Corporation | Extensible indexing framework using data cartridges |
US9430494B2 (en) | 2009-12-28 | 2016-08-30 | Oracle International Corporation | Spatial data cartridge for event processing systems |
US8959106B2 (en) | 2009-12-28 | 2015-02-17 | Oracle International Corporation | Class loading using java data cartridges |
US9307038B2 (en) | 2009-12-29 | 2016-04-05 | Motorola Solutions, Inc. | Method for presence notification based on a sequence of events |
US8423576B2 (en) | 2010-01-11 | 2013-04-16 | International Business Machines Corporation | System and method for querying data streams |
US9805101B2 (en) * | 2010-02-26 | 2017-10-31 | Ebay Inc. | Parallel data stream processing system |
US8484243B2 (en) | 2010-05-05 | 2013-07-09 | Cisco Technology, Inc. | Order-independent stream query processing |
US8762297B2 (en) | 2010-05-17 | 2014-06-24 | Microsoft Corporation | Dynamic pattern matching over ordered and disordered data streams |
US8595234B2 (en) | 2010-05-17 | 2013-11-26 | Wal-Mart Stores, Inc. | Processing data feeds |
US10380186B2 (en) | 2010-05-26 | 2019-08-13 | Entit Software Llc | Virtual topological queries |
US8595840B1 (en) * | 2010-06-01 | 2013-11-26 | Trend Micro Incorporated | Detection of computer network data streams from a malware and its variants |
US20120116982A1 (en) | 2010-06-02 | 2012-05-10 | Salesforce. com. Inc. | Method and system for escalating content of discussions to particular memory locations |
CN101866353B (zh) | 2010-06-09 | 2012-10-10 | 孟小峰 | 一种基于位置服务的连续查询隐私保护方法 |
US8442863B2 (en) | 2010-06-17 | 2013-05-14 | Microsoft Corporation | Real-time-ready behavioral targeting in a large-scale advertisement system |
US20110314019A1 (en) | 2010-06-18 | 2011-12-22 | Universidad Politecnica De Madrid | Parallel processing of continuous queries on data streams |
US8627329B2 (en) | 2010-06-24 | 2014-01-07 | International Business Machines Corporation | Multithreaded physics engine with predictive load balancing |
US8719207B2 (en) | 2010-07-27 | 2014-05-06 | Oracle International Corporation | Method and system for providing decision making based on sense and respond |
US8713049B2 (en) | 2010-09-17 | 2014-04-29 | Oracle International Corporation | Support for a parameterized query/view in complex event processing |
US8260803B2 (en) | 2010-09-23 | 2012-09-04 | Hewlett-Packard Development Company, L.P. | System and method for data stream processing |
WO2012050555A1 (en) | 2010-10-11 | 2012-04-19 | Hewlett-Packard Development Company, L.P. | System and method for querying a data stream |
EP2628094A4 (en) | 2010-10-14 | 2015-01-28 | Hewlett Packard Development Co | CONTINUOUS INQUIRY OF A DATA STREAM |
US9189280B2 (en) | 2010-11-18 | 2015-11-17 | Oracle International Corporation | Tracking large numbers of moving objects in an event processing system |
US20120130963A1 (en) | 2010-11-24 | 2012-05-24 | Teradata Us, Inc. | User defined function database processing |
EP2469420B1 (en) | 2010-12-22 | 2019-11-27 | Software AG | CEP engine and method for processing CEP queries |
US8478743B2 (en) | 2010-12-23 | 2013-07-02 | Microsoft Corporation | Asynchronous transfer of state information between continuous query plans |
US8788484B2 (en) | 2010-12-27 | 2014-07-22 | Software Ag | Systems and/or methods for user feedback driven dynamic query rewriting in complex event processing environments |
US9350567B2 (en) | 2011-01-25 | 2016-05-24 | International Business Machines Corporation | Network resource configurations |
US8799271B2 (en) | 2011-01-25 | 2014-08-05 | Hewlett-Packard Development Company, L.P. | Range predicate canonization for translating a query |
US8655825B2 (en) | 2011-03-10 | 2014-02-18 | Sap Ag | Efficient management of data quality for streaming event data |
US8751639B2 (en) | 2011-04-27 | 2014-06-10 | Rackspace Us, Inc. | Event queuing and distribution system |
US8990416B2 (en) | 2011-05-06 | 2015-03-24 | Oracle International Corporation | Support for a new insert stream (ISTREAM) operation in complex event processing (CEP) |
EP2707812A1 (en) | 2011-05-10 | 2014-03-19 | Telefonaktiebolaget LM Ericsson (PUBL) | Optimised data stream management system |
US8738572B2 (en) * | 2011-05-24 | 2014-05-27 | Red Lambda, Inc. | System and method for storing data streams in a distributed environment |
US9965520B2 (en) | 2011-06-17 | 2018-05-08 | Microsoft Corporation | Efficient logical merging over physically divergent streams |
US9329975B2 (en) | 2011-07-07 | 2016-05-03 | Oracle International Corporation | Continuous query language (CQL) debugger in complex event processing (CEP) |
US20130031567A1 (en) | 2011-07-25 | 2013-01-31 | Microsoft Corporation | Local event processing |
US9286354B2 (en) | 2011-08-15 | 2016-03-15 | Software Ag | Systems and/or methods for forecasting future behavior of event streams in complex event processing (CEP) environments |
US8880493B2 (en) * | 2011-09-28 | 2014-11-04 | Hewlett-Packard Development Company, L.P. | Multi-streams analytics |
US8635208B2 (en) | 2011-11-03 | 2014-01-21 | Sap Ag | Multi-state query migration in data stream management |
US9424150B2 (en) | 2011-12-06 | 2016-08-23 | Sap Se | Fault tolerance based query execution |
WO2013131570A1 (en) | 2012-03-08 | 2013-09-12 | Telefonaktiebolaget L M Ericsson (Publ) | Data stream management systems |
US9201911B2 (en) | 2012-03-29 | 2015-12-01 | International Business Machines Corporation | Managing test data in large scale performance environment |
US9239864B2 (en) | 2012-04-17 | 2016-01-19 | Cisco Technology, Inc. | Distributing and processing streams over one or more networks |
CN102665207A (zh) | 2012-05-08 | 2012-09-12 | 杭州电子科技大学 | Lbs中基于移动终端的连续查询用户位置隐匿方法 |
US20130332240A1 (en) | 2012-06-08 | 2013-12-12 | University Of Southern California | System for integrating event-driven information in the oil and gas fields |
EP2868045B1 (en) * | 2012-06-29 | 2018-08-08 | Telefonaktiebolaget LM Ericsson (publ) | A method of and network server for detecting data patterns in an input data stream |
US20140019194A1 (en) | 2012-07-12 | 2014-01-16 | Bank Of America | Predictive Key Risk Indicator Identification Process Using Quantitative Methods |
US9009213B2 (en) | 2012-08-27 | 2015-04-14 | Sap Se | Distributing pre-rendering processing tasks |
CN102892073B (zh) | 2012-09-11 | 2015-07-01 | 北京航空航天大学 | 一种适用于位置服务系统中面向连续查询的位置匿名方法 |
US20140082013A1 (en) | 2012-09-20 | 2014-03-20 | Sap Ag | Query templates for queries in data stream management systems |
US8892484B2 (en) | 2012-09-28 | 2014-11-18 | Sphere Of Influence, Inc. | System and method for predicting events |
US9563663B2 (en) | 2012-09-28 | 2017-02-07 | Oracle International Corporation | Fast path evaluation of Boolean predicates |
US9953059B2 (en) | 2012-09-28 | 2018-04-24 | Oracle International Corporation | Generation of archiver queries for continuous queries over archived relations |
US10956422B2 (en) | 2012-12-05 | 2021-03-23 | Oracle International Corporation | Integrating event processing with map-reduce |
US9053210B2 (en) | 2012-12-14 | 2015-06-09 | Microsoft Technology Licensing, Llc | Graph query processing using plurality of engines |
US20140172506A1 (en) | 2012-12-17 | 2014-06-19 | Microsoft Corporation | Customer segmentation |
US10298444B2 (en) | 2013-01-15 | 2019-05-21 | Oracle International Corporation | Variable duration windows on continuous data streams |
US9098587B2 (en) | 2013-01-15 | 2015-08-04 | Oracle International Corporation | Variable duration non-event pattern matching |
US20140237487A1 (en) * | 2013-02-15 | 2014-08-21 | University Of Southern California | Complex event processing for dynamic data |
US9390135B2 (en) | 2013-02-19 | 2016-07-12 | Oracle International Corporation | Executing continuous event processing (CEP) queries in parallel |
US9047249B2 (en) | 2013-02-19 | 2015-06-02 | Oracle International Corporation | Handling faults in a continuous event processing (CEP) system |
US20140324530A1 (en) * | 2013-04-30 | 2014-10-30 | Liveops, Inc. | Method and system for detecting patters in data streams |
US9418113B2 (en) | 2013-05-30 | 2016-08-16 | Oracle International Corporation | Value based windows on relations in continuous data streams |
CN104252469B (zh) * | 2013-06-27 | 2017-10-20 | 国际商业机器公司 | 用于模式匹配的方法、设备和电路 |
US9934279B2 (en) | 2013-12-05 | 2018-04-03 | Oracle International Corporation | Pattern matching across multiple input data streams |
US9838512B2 (en) | 2014-10-30 | 2017-12-05 | Splunk Inc. | Protocol-based capture of network data using remote capture agents |
US9244978B2 (en) | 2014-06-11 | 2016-01-26 | Oracle International Corporation | Custom partitioning of a data stream |
US9712645B2 (en) | 2014-06-26 | 2017-07-18 | Oracle International Corporation | Embedded event processing |
US10120907B2 (en) | 2014-09-24 | 2018-11-06 | Oracle International Corporation | Scaling event processing using distributed flows and map-reduce operations |
US9886486B2 (en) | 2014-09-24 | 2018-02-06 | Oracle International Corporation | Enriching events with dynamically typed big data for event processing |
WO2017018901A1 (en) | 2015-07-24 | 2017-02-02 | Oracle International Corporation | Visually exploring and analyzing event streams |
-
2014
- 2014-12-03 US US14/559,550 patent/US9934279B2/en active Active
- 2014-12-04 JP JP2016536781A patent/JP6521973B2/ja active Active
- 2014-12-04 CN CN201480065473.8A patent/CN105993011B/zh active Active
- 2014-12-04 WO PCT/US2014/068641 patent/WO2015085103A1/en active Application Filing
- 2014-12-04 EP EP14825489.9A patent/EP3077926B1/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1716258A (zh) * | 2004-05-14 | 2006-01-04 | 微软公司 | 用于web数据库模型匹配的方法和系统 |
CN101611394A (zh) * | 2005-05-20 | 2009-12-23 | 微软公司 | 从事件流识别模式 |
CN101495974A (zh) * | 2006-06-16 | 2009-07-29 | 摩托罗拉公司 | 提供与数据流关联的参考的方法和系统 |
CN101261724A (zh) * | 2008-03-28 | 2008-09-10 | 山东浪潮齐鲁软件产业股份有限公司 | 基于方案的流程管理方法 |
US8589436B2 (en) * | 2008-08-29 | 2013-11-19 | Oracle International Corporation | Techniques for performing regular expression-based pattern matching in data streams |
CN102135984A (zh) * | 2010-01-21 | 2011-07-27 | 软件股份公司 | 用于分析对数据流的连续查询的分析系统和方法 |
CN103310011A (zh) * | 2013-07-02 | 2013-09-18 | 曙光信息产业(北京)有限公司 | 集群数据库系统环境下的数据查询解析方法 |
Non-Patent Citations (3)
Title |
---|
"Gigascope: a stream database for network applications";Chuck Cranor et al.;《SIGMOD "03 Proceedings of the 2003 ACM SIGMOD international conference on Management of data》;20030612;全文 * |
"Reduction of complex safety models based on Markov chains";Martin Kohlík et al.;《2012 IEEE 15th International Symposium on Design and Diagnostics of Electronic Circuits & Systems (DDECS)》;20120618;全文 * |
"一种混合属性数据流聚类算法";杨春宇 等;《计算机学报》;20071007;第30卷(第8期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
EP3077926B1 (en) | 2018-08-01 |
JP2016539427A (ja) | 2016-12-15 |
JP6521973B2 (ja) | 2019-05-29 |
US20150161214A1 (en) | 2015-06-11 |
US9934279B2 (en) | 2018-04-03 |
WO2015085103A1 (en) | 2015-06-11 |
EP3077926A1 (en) | 2016-10-12 |
CN105993011A (zh) | 2016-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105993011B (zh) | 跨多个输入数据流的样式匹配的方法、系统和设备 | |
JP7333424B2 (ja) | 分散イベント処理システムのためのグラフ生成 | |
US11394769B2 (en) | Framework for the deployment of event-based applications | |
JP7316341B2 (ja) | ストリームデータにおける空間変化検出器 | |
US11503107B2 (en) | Integrating logic in micro batch based event processing systems | |
US10349210B2 (en) | Scaling out moving objects for geo-fence proximity determination | |
US11507583B2 (en) | Tuple extraction using dynamically generated extractor classes | |
US10296192B2 (en) | Dynamic visual profiling and visualization of high volume datasets and real-time smart sampling and statistical profiling of extremely large datasets | |
CN108139948B (zh) | 保证分布式系统中多阶段处理的事件次序 | |
US10891272B2 (en) | Declarative language and visualization system for recommended data transformations and repairs | |
US10614048B2 (en) | Techniques for correlating data in a repository system | |
US10942900B2 (en) | Techniques for tenant controlled visualizations and management of files in cloud storage systems | |
US11609804B2 (en) | Flexible event ingestion framework in an event processing system | |
US10372488B2 (en) | Parallel processing using memory mapping |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |