CN105308592A - 连续数据流中关于关系的基于值的窗口 - Google Patents
连续数据流中关于关系的基于值的窗口 Download PDFInfo
- Publication number
- CN105308592A CN105308592A CN201480030482.3A CN201480030482A CN105308592A CN 105308592 A CN105308592 A CN 105308592A CN 201480030482 A CN201480030482 A CN 201480030482A CN 105308592 A CN105308592 A CN 105308592A
- Authority
- CN
- China
- Prior art keywords
- relation
- input
- operational symbol
- window operational
- continuous
- 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.)
- Granted
Links
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/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
背景技术
在传统的数据库技术中,数据通常以表的形式存储在一个或多个数据库中。然后,所存储的数据利用诸如结构化查询语言(SQL)的数据管理语言被查询和操纵。例如,SQL查询可以被定义并执行,以便从存储在数据库中的数据识别相关的数据。因此,SQL查询对存储在数据库中的有限数据集执行。另外,当SQL查询被执行时,它对有限数据集执行一次并且产生有限的静态结果。因此,数据库最佳配备为在有限存储的数据集上运行。
但是,众多的现代应用和系统以连续数据或事件流而不是有限数据集的形式生成数据。这种应用的例子包括但不限于传感器数据应用、金融行情(financialtickers)、网络性能测量工具(例如,网络监视和流量管理应用)、点击流分析工具、汽车交通监视,等等。这种应用已经引起了对可以处理数据流的新型应用的需求。例如,温度传感器可被配置为发出温度读数。
管理和处理用于这些类型的基于事件流的应用的数据涉及利用强时间焦点建立数据管理和查询能力。需要包括对连续无界限数据集进行长期运行查询的不同种类的查询机制。虽然一些厂商现在提供针对事件流处理的产品套件,但是这些产品供应仍然缺乏处理如今的事件处理需求所需要的处理灵活性。
发明内容
在一些例子中,提供了关于关系管理基于值的窗口的方法。该方法可以包括接收识别输入关系的连续查询。在一个例子中,输入关系是与应用相关的数据记录的有界集合。然后,该方法可以包括识别与处理输入关系关联的可配置窗口运算符。此外,该方法可以包括至少部分地基于可配置窗口运算符来执行连续查询,以生成输出关系。在一些方面中,该方法还可以包括至少部分地基于连续查询的执行来提供输出关系的数据记录。
在一些例子中,输入关系可以是至少部分地基于进入的、与应用相关的连续输入数据流生成的外部数据源。此外,在一些例子中,输入关系可以是至少部分地基于存储在历史数据的数据库中的、与应用相关的信息生成的外部数据源。输入关系也可以是至少部分地基于与应用相关的一个或多个归档的关系生成的外部数据源。
在一些例子中,可配置窗口运算符可以是对输入关系定义的通用值窗口运算符并且该方法可以包括对输入关系中的属性应用通用值窗口运算符,以生成输出关系。在其它例子中,可配置窗口运算符可以是对输入关系定义的当前小时值窗口运算符并且该方法可以包括对输入关系中的属性应用当前小时值窗口运算符,以生成输出关系。此外,在一些例子中,可配置窗口运算符可以是对输入关系定义的当前时段值窗口运算符并且该方法可以包括对输入关系中的属性应用当前时段值窗口运算符,以生成输出关系。
在一些方面,该方法还可以包括显示输出关系。在一些例子中,输出关系可以包括来自输入关系的、其属性值位于由可配置窗口运算符定义的指定范围内的数据记录的子集。
在一些例子中,可以提供非暂态计算机可读介质。该介质可以存储可由一个或多个处理器执行的多条指令。在一些例子中,指令可以包括生成输入关系并识别被配置为处理输入关系的查询。此外,指令可以包括识别与处理输入关系关联的可配置窗口运算符并且至少部分地基于可配置窗口运算符来执行查询,以生成输出关系。在一些方面,指令还可以包括至少部分地基于连续查询的执行来通过显示输出关系提供输出关系的数据记录。在一些例子中,输出关系可以包括来自输入关系的、其属性值位于由可配置窗口运算符定义的指定范围内的数据记录的子集。
在一些实施例中,可以提供系统。该系统可以包括存储器和被配置为访问存储器并执行指令以生成输入关系的一个或多个处理器。指令还可以被执行,以识别被配置为处理输入关系的查询并识别与处理输入关系关联的可配置窗口运算符。此外,指令可以被执行,以至少部分地基于可配置窗口运算符执行查询,以生成输出关系。
在一些例子中,可以提供计算机实现的装置,其包括:用于生成输入关系的装置,该输入关系是与应用相关的数据记录的有界集合;用于接收标识输入关系的连续查询的装置;用于识别与处理输入关系关联的可配置窗口运算符的装置;用于至少部分地基于可配置窗口运算符执行连续查询以生成输出关系的装置;以及用于至少部分地基于连续查询的执行来提供输出关系的数据记录的装置。
在一些例子中,输入关系可以是至少部分地基于进入的、与应用相关的连续输入数据流生成的外部数据源。
在一些例子中,输入关系可以是至少部分地基于存储在历史数据的数据库中的、与应用相关的信息生成的外部数据源。
在一些例子中,输入关系可以是至少部分地基于与应用相关的一个或多个归档的关系生成的外部数据源。
在一些例子中,可配置窗口运算符可以是对输入关系定义的通用值窗口运算符,并且用于执行连续查询的装置包括用于对输入关系中的属性应用通用值窗口运算符以生成输出关系的装置。
在一些例子中,可配置窗口运算符可以是对输入关系定义的当前小时值窗口运算符并且用于执行连续查询的装置包括对输入关系中的属性应用当前小时值窗口运算符以生成输出关系的装置。
在一些例子中,可配置窗口运算符可以是对输入关系定义的当前时段值窗口运算符并且用于执行连续查询的装置包括对输入关系中的属性应用当前时段值窗口运算符以生成输出关系的装置。
在一些例子中,用于提供数据记录的装置包括用于显示输出关系的装置,其中输出关系包括来自输入关系的、其属性值位于由可配置窗口运算符定义的指定范围内的数据记录的子集。
在一些例子中,可以提供服务提供商设备(1101),其包括:输入关系单元(1102),被配置为接收识别输入关系的连续查询,其中输入关系是与应用相关的数据记录的有界集合;可配置窗口运算符单元(1103),被配置为识别与处理输入关系关联的可配置窗口运算符;输出关系单元(1105),被配置为至少部分地基于可配置窗口运算符来执行连续查询,以生成输出关系;以及提供单元(1107),被配置为至少部分地基于连续查询的执行来提供输出关系的数据记录。
在一些例子中,输入关系可以是至少部分地基于进入的、与应用相关的连续输入数据流生成的外部数据源。
在一些例子中,输入关系可以是至少部分地基于存储在历史数据的数据库中的、与应用相关的信息生成的外部数据源。
在一些例子中,输入关系可以是至少部分地基于与应用相关的一个或多个归档的关系生成的外部数据源。
在一些例子中,可配置窗口运算符可以是对输入关系定义的通用值窗口运算符,并且其中输出关系单元(1105)还可以被配置为对输入关系中的属性应用通用值窗口运算符,以生成输出关系。
在一些例子中,可配置窗口运算符可以是对输入关系定义的当前小时值窗口运算符,并且输出关系单元(1105)还可以被配置为对输入关系中的属性应用当前小时值窗口运算符,以生成输出关系。
在一些例子中,可配置窗口运算符可以是对输入关系定义的当前时段值窗口运算符,并且输出关系单元(1105)还可以被配置为对输入关系中的属性应用该前时段值窗口运算符,以生成输出关系。
在一些例子中,提供单元(1107)还可以被配置为显示输出关系,其中输出关系包括来自输入关系的、其属性值位于由可配置窗口运算符定义的指定范围内的数据记录的子集。
在一些例子中,可以提供计算机实现的装置,其包括:用于生成输入关系的装置;用于识别处理输入关系的查询的装置;用于识别与处理输入关系关联的可配置窗口运算符的装置;以及用于至少部分地基于可配置窗口运算符来执行查询以生成输出关系的装置。
在一些例子中,输入关系可以是至少部分地基于进入的、与应用相关的连续输入数据流生成的外部数据源。
在一些例子中,输入关系可以是至少部分地基于存储在历史数据的数据库中的、与应用相关的信息生成的外部数据源。
在一些例子中,输入关系可以是至少部分地基于与应用相关的一个或多个归档的关系生成的外部数据源。
在一些例子中,可配置窗口运算符可以是对输入关系定义的通用值窗口运算符,并且用于执行连续查询的装置包括用于对输入关系中的属性应用通用值窗口运算符以生成输出关系的装置。
在一些例子中,该装置还可以包括用于至少部分地基于连续查询的执行来提供输出关系的数据记录的装置。
在一些例子中,该装置还可以包括用于显示输出关系的装置,输出关系包括来自输入关系的、其属性值位于由可配置窗口运算符定义的指定范围内的数据记录的子集。
在一些例子中,可以提供服务提供商设备(1201),其包括:输入关系单元(1202),被配置为接收并识别被配置为处理输入关系的查询;可配置窗口运算符单元(1203),被配置为识别与处理输入关系关联的可配置窗口运算符;以及输出关系单元(1205),被配置为至少部分地基于可配置窗口运算符来执行查询,以生成输出关系。
在一些例子中,输入关系可以是至少部分地基于进入的、与应用相关的连续输入数据流生成的外部数据源。
在一些例子中,输入关系可以是至少部分地基于存储在历史数据的数据库中的、与应用相关的信息生成的外部数据源。
在一些例子中,输入关系可以是至少部分地基于与应用相关的一个或多个归档的关系生成的外部数据源。
在一些例子中,可配置窗口运算符可以是对输入关系定义的通用值窗口运算符,并且输出关系单元(1205)还可以被配置为对输入关系中的属性应用通用值窗口运算符,以生成输出关系。
在一些例子中,服务提供商设备(1201)还可以包括提供单元(1207),被配置为至少部分地基于连续查询的执行来提供输出关系的数据记录。
在一种实施例中,提供单元(1207)还可以被配置为显示输出关系,其中输出关系包括来自输入关系的、其属性值位于由可配置窗口运算符定义的指定范围内的数据记录的子集。
连同其它特征和实施例一起,当参考以下说明书、权利要求和附图时,以上所述将变得更加显然。
附图说明
具体描述是参考附图阐述的。在附图中,标号的最左边的(一个或多个)数字识别该标号在其中第一次出现的图。相同标号在不同图中的使用指示相似或完全相同的项。
图1绘出了用于关于关系管理基于值的窗口的技术可以在其中实现的简化示例系统或体系架构。
图2示出了可以利用其描述用于关于关系管理基于值的窗口的特征的简化框图。
图3示出了根据本公开内容一种实施例、存储在输入关系中的示例性信息以及当输入关系利用可配置窗口运算符被处理时输出关系的生成。
图4示出了根据本公开内容另一种实施例、存储在输入关系中的示例性信息以及当输入关系利用可配置窗口运算符被处理时输出关系的生成。
图5示出了根据本公开内容另一种实施例、存储在输入关系中的示例性信息以及当输入关系利用可配置窗口运算符被处理时输出关系的生成。
图6是示出根据至少一个例子、本文所述关于关系管理基于值的窗口的至少一些特征的简化过程流。
图7是示出根据至少一个例子、本文所述关于关系管理基于值的窗口的至少一些特征的另一个简化过程流。
图8是示出根据至少一个例子、可以根据本文所述关于关系管理基于值的窗口的实施例被使用的系统环境的部件的简化框图。
图9是示出根据至少一个例子、可以根据本文所述关于关系管理基于值的窗口的实施例被使用的计算机系统的简化框图。
图10示出了根据本发明另一种实施例、示出用于实现本文所述关于关系管理基于值的窗口的过程的示例流程图。
图11是可以根据本发明的某些实施例被使用的服务提供商设备的简化框图。
图12是可以根据本发明的某些实施例被使用的服务提供商设备的简化框图。
具体实施方式
在以下描述中,将描述各种实施例。为了解释,阐述具体的配置和细节,以便提供对实施例的透彻理解。但是,对本领域技术人员也将显然,实施例没有这些具体细节也可以实践。此外,众所周知的特征可以被略去或简化,以避免模糊所描述的实施例。
在一些应用中,数据可以采取连续的无界数据流的形式,而不是有限的存储数据集。这种数据流的例子可以包括金融应用中的股票行情(stocktick)、网络监视和流量管理中的性能测量、web跟踪和个性化的日志记录或点击流、来自传感器应用的数据馈入、基于防火墙的安全性中的网络数据包和消息、电信中的呼叫细节记录等等。由于其连续性本质,这些数据流通常可以利用连续查询,而不是传统的一次性SQL查询,来查询。
一般而言,连续的数据流(也被称为事件流)可以包括其本质可以是没有明显结束的连续的或无界数据或事件流。在逻辑上,事件或数据流可以是一系列数据元素(也被称为事件),每个数据元素具有关联的时间戳。连续的事件流可以逻辑表示为数据元素的包(bag)或集合(s,T),其中“s”代表数据部分并且“T”是在时间域中。“s”部分一般被称为元组或事件。因此,事件流是带时间戳的元组或事件的序列。
在一些方面,与流中的事件关联的时间戳可以等同于时钟时间。但是,在其它例子中,与事件流中的事件关联的时间可以由应用域定义并且可以不对应于时钟时间,但是可以例如代替地由序列号表示。因此,与事件流内的事件关联的时间信息可以由表示时间的符号的数字、时间戳或任何其它信息表示。对于接收输入事件流的系统,事件以增加的时间戳的次序到达系统。可以有多个一个具有相同时间戳的事件。
在一些例子中,事件流中的事件可以代表一些世俗事件的发生(例如,当温度传感器把值改变成新值时;当股票代码的价格改变时)并且与事件关联的时间信息可以指示由数据流事件表示的世俗事件发生的时间。
对于经由事件流接收的事件,与事件关联的时间信息可以被用来确保事件流中的事件按增加的时间戳值次序到达。这使得在事件流中接收的事件基于它们关联的时间信息被排序并处理。为了启用这种排序,时间戳可以以非减小的方式与事件流中的事件关联,使得后生成的事件具有比早生成的事件更晚的时间戳。作为另一个例子,如果序列号被用作时间信息,则与后生成的事件关联的序列号可以大于与之前生成的事件关联的序列号。在一些例子中,多个事件可以与相同的时间戳或序列号关联,例如,当由数据流事件表示的世俗事件同时发生时。属于相同事件流的事件一般而言可以通过关联的时间信息按强加于事件的次序被处理,较早的事件在较晚的事件之前被处理。
与事件流中的事件关联的时间信息(例如,时间戳)可以由流的源设置或者,作为替代,可以由接收该流的系统设置。例如,在某些实施例中,心跳可以在接收事件流的系统上维护,并且与事件关联的时间可以基于事件到达系统的时间,如由心跳测量的。有可能事件流中的两个事件具有相同的时间信息。应当指出,虽然时间戳排序需求特定于一个事件流,但是不同流的事件可以任意交织。
事件流具有关联的模式“S”,该模式包括时间信息和一组一个或多个命名属性。属于特定事件流的所有事件都符合与那个特定事件流关联的模式。因此,对于事件流(s,T),事件流可以具有模式“S”(<time_stamp>,<attribute(s)>),其中<attribute>代表模式的数据部分并且可以包括一个或多个属性。例如,用于股票行情事件流的模式可以包括属性<股票代码>和<股票价格>。每个经由这种流接收的事件将具有时间戳和两个属性。例如,股票行情事件流可以接收以下事件和关联的时间戳:
…
(<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可以是元素的包(也被称为“多集”)(s,T),其中“s”在S的模式中并且“T”在时间域中。此外,流元素可以是元组-时间戳对,其可以被表示为一系列加时间戳的元组插入。换句话说,流可以是一系列加时间戳的元组。在一些情况下,可能有多于一个具有相同时间戳的元组。并且,输入流的元组可以被要求按增加时间戳的次序到达系统。作为替代,关系(也被称为“时变关系”,并且不要与可以包括来自关系数据库的数据的“关系数据”混淆)可以是从时间域到模式R的无界元组包的映射。在一些例子中,关系可以是元组的无序、时变包(即,瞬时关系)。在一些情况下,在每个时刻,关系可以是有界集合。它还可以被表示为一系列加时间戳的元组,其可以包括插入、删除和/或更新,以捕获关系的变化状态。类似于流,关系可以具有固定的模式,关系的每个元组可以符合该模式。另外,如本文所使用的,连续查询通常一般可以能够处理流和/或关系的数据(即,相对于其进行查询)。此外,关系可以引用流的数据。
在一些例子中,商业智能(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,BI传统上会被用作识别模式的、事实后的和基于报告的方法。
在一些例子中,业务事件分析和监视(BEAM)系统可以包括CQL引擎,以处理和/或接收动态数据(in-flightdata)。例如,CQL引擎可以是被配置为查询或以其它方式处理进入的实时信息(例如,BI或OI)的存储器内实时事件处理引擎。CQL引擎可以利用或理解时序语义并且被配置为允许处理数据窗口的定义。在一些情况下,利用CQL引擎可以涉及总是对进入的数据运行查询。
在一些方面,CQL引擎可以包括完全成熟的查询语言。照此,用户可以就查询而言指定计算。此外,CQL引擎可以被设计为利用查询语言特征、运算符共享、丰富的模式匹配、丰富的语言结构等等优化存储器。此外,在一些例子中,CQL引擎可以同时处理历史数据和流化数据。例如,用户可以设置查询,以便在加州销售额高于某一目标时发送警报。因此,在一些例子中,警报可以至少部分地基于历史销售数据以及进入的活(即,实时)销售数据。
在一些例子中,CQL引擎或下面描述的概念的其它特征可以被配置为以实时的方式组合历史上下文(即,仓库数据)与进入的数据。因此,在一些情况下,本公开内容可以描述数据库存储的信息与动态信息的边界。数据库存储的信息和动态信息都可以包括BI数据。照此,在一些例子中,数据库可以是BI服务器或者它可以是任何类型的数据库。另外,在一些例子中,本公开内容的特征可以启用以上特征的实现,而无需用户知道如何编程或以其它方式编写代码。换句话说,特征可以在特征丰富的用户界面(UI)中或者以其它允许非开发人员实现历史数据与实时数据的组合的方式提供。
在一些例子中,以上概念可以被用来充分利用与复杂事件处理关联的丰富的实时和连续事件处理能力。几个特征可以被支持,诸如,但不限于,归档的关系。照此,为了充分利用这种特征(例如,丰富的实时和连续事件处理),系统可以被配置为透明地处理关系数据的起动状态和运行时状态。换句话说,系统可以被配置为管理在其创建时非空的查询(即,归档的关系)。
在一些例子中,存档的关系都可以被使用。照此,当CQL引擎看到指示其基于存档的关系的查询时;例如,那个存档的关系也可以指示存在某些它可以为了查询历史上下文而调用的实体。在一些例子中,数据定义语言(DDL)可以指示关于存档的关系的注解,诸如,但不限于,如何查询、什么是表中重要的列和/或将其余的数据发送到何处。在一些例子中,一旦查询在CQL引擎中被构造(例如,作为图),系统就可以分析该查询图。此外,在一些方面,存在某些有状态的运算符,就像“distinct”,“groupaggr”,“pattern”和/或“groupby”。但是,无状态的运算符可以仅仅取得输入并将其发送到父亲,例如,下游的运算符。因此,一种方法是在这里保存这整个表。但是,利用归档的关系,系统可以分析查询图并且决定它可以使用哪个最低的有状态运算符来查询档案。在一些例子中,系统(或者一个或多个计算机实现的方法)可以检索在遍历图时到达的处于最低有状态运算符的状态。例如,查询图可以从源开始按拓扑次序被分析。至少部分地基于这第一个有状态的运算符,CQL引擎可以随后确定要被获取的最佳数据量,以便对经存档的关系定义的查询初始化运算符的状态。
在至少一个非限制性例子中,像关系和/或源的源运算符可以首先出现在拓扑遍历中,查询输出和/或根最后到来。例如,如果CQL查询看起来像:selectsum(c1)fromR1wherec2>c25,则用于这个查询的计划可以看起来像:RelationSource→SELECT→GroupAggr。因此,沿着拓扑次序,并且由于RelationSource和SELECT都是无状态的,因此最低的有状态运算符可以是GroupAggr。以这种方式,查询的有状态运算符(在这个例子中是GroupAggr)可以使查询引擎能够在接收流数据之前利用来自数据存储的历史数据填充查询引擎。这可以至少部分地基于查询正在分析归档的关系并且该归档的关系已经这样被指示的事实来启用。
在一些例子中,用于给定的归档的关系的窗口尺寸可以由用户指定。在一些方面,关于归档的关系,窗口可以包括查询图中分析或以别的方式评估进入的活动内容的节点。换句话说,窗口可以定义可以被查询引擎分析和/或处理的活动内容的量和/或将包括在归档的关系中的历史数据的量。
在高级别,一旦对流应用窗口,它就变成关系,然后可以应用规律的关系逻辑,就像对关系数据库一样。随着元组到达和离开窗口,所考虑的关系随着对照其被编译的查询而变化,从而同时发出结果。CQL可以支持RANGE(高达纳秒粒度)、ROWS、PARTITIONBY和可扩展的窗口。这些窗口是流到关系运算符的例子。另一方面,ISTREAM(即,插入流),DSTREAM(即,删除流)和RSTREAM(即,关系流)是关系到流运算符。在一些例子中,用户、开发者和/或管理者可以设置由查询引擎或者操作或托管该查询引擎的一个或多个计算系统提供的窗口尺寸(例如,经UI)。在一些例子中,流上的窗口可以是基于时间的范围窗口。例如,归档的关系上可配置值的窗口可以利用窗口尺寸和关于其计算窗口的属性来指定。当存在在归档的关系之上指定的可配置值的窗口时,可以计算快照查询并且可以输出在窗口限制内的快照元组。此外,在状态初始化之后,值窗口可以应用到进入的活动数据。在一些例子中,只有进入的活动数据将被插入其窗口属性值与当前事件时间之差小于窗口尺寸的窗口中。
如以上所讨论的,在一些例子中,利用连续查询的连续数据流处理可以涉及对流应用窗口、指定考虑固定数量的最近流元组而不是整个流历史,或者指定考虑仅在指定时间内到达的流元组而不是整个流历史。如以上进一步讨论的,在一些例子中,连续查询处理可以涉及使用处理进入的连续流的各种运算符,以将其转换为将输入关系转换为输出流数据的关系或运算符。
但是,在某些情况下,利用与存储在关系(例如,外部数据源)中的应用相关的数据,用户可以设置可能需要处理与应用相关的进入的实时数据的查询。如果关系的尺寸非常大,则需要被带入存储器以便查询这种数据的数据量也会非常大。由于CQL引擎通常可以是被配置为查询或以其它方式处理进入的实时信息的存储器内实时事件处理引擎,因此它可能不能扩展,以便在有限的存储器中联接这种高速率输入流与大尺寸的关系。
因此,在一些实施例中,窗口运算符可以为在连续查询(例如,CQL查询)中处理关系而定义。在一个例子中,窗口运算符可以是用户可配置的。窗口运算符可以使得能够对指定的时间范围处理关系中的数据记录子集。因此,关系的数据记录子集可以在有限的存储器中被查询,而不是在存储器中处理关系的整个数据记录集合。
在某些实施例中,可以生成输入关系。在一个例子中,输入关系可以是包括与应用相关的数据记录的有界集合的外部数据源。在一个例子中,输入关系可以从连续的输入数据流生成。作为替代,输入关系可以基于与应用相关的历史数据的数据库生成。此外,输入关系最初可以从一个或多个归档的关系生成并且输入关系的剩余部分可以基于进入的流输数据生成。
根据本公开内容的一种实施例,识别输入关系的连续查询(例如,CQL查询)可以被接收。然后可以识别在输入关系之上定义的窗口运算符。查询可以至少部分地基于窗口运算符来执行,以生成输出关系。在一种实施例中,输出关系可以包括来自输入关系的、其属性值可以位于由输入关系中窗口运算符定义的指定范围内的数据记录的子集。
以上和以下描述的技术可以以多种方式并在多种上下文中实现。参考以下附图提供几个示例实现和上下文,如在下面更详细描述的。但是,以下实现和上下文仅仅是很多当中的一些。
图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,但是所描述的技术可以同等地应用在用户通过固定电话经一个或多个用户设备104、经信息站或者以任何其它方式与一个或多个服务提供商计算机106交互的情况中。还应当指出,所描述的技术可以应用在其它客户端/服务器布置(例如,机顶盒等等)当中,以及非客户端/服务器布置(例如,本地存储的应用等等)当中。
用户设备104可以是任何类型的计算设备,诸如但不限于,移动电话、智能电话、个人数字助理(PDA)、膝上型计算机、台式计算机、瘦客户端设备、平板PC等等。在一些例子中,用户设备104可以经网络108或者经其它网络连接与服务提供商计算机106通信。另外,用户设备104还可以被配置为提供一个或多个用于请求要处理的数据库112(或者其它数据存储)的数据的查询或查询语句。
在一些方面,服务提供商计算机106也可以是任何类型的计算设备,诸如但不限于,移动、台式、瘦客户端和/或云计算设备,诸如服务器。在一些例子中,服务提供商计算机106可以经网络108或者经其它网络连接与用户设备104通信。服务提供商计算机106可以包括一个或多个服务器,有可能布置在群集中、作为服务器群或者作为彼此不关联的单独服务器。这些服务器可以被配置为执行或以别的方式托管本文所述的特征,包括但不限于,本文所述的CQL关系的管理、输入关系的生成、与输入关系关联的可配置窗口运算符,和输出关系的生成。此外,在一些方面,服务提供商计算机106可以被配置为包括流数据源计算机110和/或数据库112的集成式、分布式计算环境的部分。
在一种说明性配置中,服务提供商计算机106可以包括至少一个存储器136和一个或多个处理单元(或(一个或多个)处理器)138。处理器138可以适当地在硬件、计算机可执行指令、固件或者其组合中实现。(一个或多个)处理器138的计算机可执行指令或固件实现可以包括以任何合适的编程语言书写的计算机可执行或机器可执行指令,以执行所描述的各种功能。
存储器136可以存储可在(一个或多个)处理器138上加载并执行的程序指令,以及在这些程序执行过程中生成的数据。依赖于服务提供商计算机106的配置和类型,存储器136可以是易失性的(诸如随机存取存储器(RAM))和/或非易失性的(诸如只读存储器(ROM)、闪存存储器等等)。服务提供商计算机106或服务器还可以包括附加的储存器140,它可以包括可移动的储存器和/或不可移动的储存器。附加的储存器140可以包括,但不限于,磁储存器、光盘和/或带储存器。盘驱动器及其关联的计算机可读介质可以提供用于计算设备的计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。在一些实现中,存储器136可以包括多种不同类型的存储器,诸如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或ROM。
都是可移动和不可移动的存储器136、附加的储存器140全是计算机可读存储介质的例子。例如,计算机可读存储介质可以包括以任何方法或技术实现的易失性或非易失性、可移动或不可移动的介质,用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息。存储器136和附加的储存器140都是计算机存储介质的例子。
服务提供商计算机106还可以包含允许服务提供商计算机106与所存储的数据库、另一计算设备或服务器、用户终端和/或其它设备在网络108上通信的(一个或多个)通信连接142。服务提供商计算机106还可以包括(一个或多个)输入/输出(I/O)设备144,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备、显示器、一个或多个扬声器、打印机等等。
更具体地转向存储器136的内容,存储器136可以包括操作系统146和用于实现本文所公开的特征的一个或多个应用程序或服务,包括至少输入关系模块148、可配置窗口运算符模块150和/或输入关系模块152。如本文所使用的,模块可以指由服务器或服务器群集执行的作为服务的部分的编程模块。在这种特定的语境下,模块可以被作为服务提供商计算机106的部分的服务器或服务器群集执行。
在一些例子中,输入关系模块148可以被配置为接收、识别、生成或以别的方式提供一个或多个输入关系。在一种实施例中,输入关系154是包括与应用相关的数据记录的有界集合的外部数据源(例如,关系或归档的关系)。
在一个例子中,输入关系154可以是可基于进入的连续输入数据流,包括与应用相关的数据或事件流(例如,来自数据源计算机110),生成的外部数据源,其中输入关系可以包括数据记录的有界集合,该集合包括连续事件流条目s1、s2…sN当中一个或多个。在另一个例子中,输入关系154可以是可基于存储在历史数据的数据库(例如,数据库112)中的、与应用相关的信息生成的外部数据源,其中输入关系可以包括数据记录的有界集合,该集合包括从持久性或历史数据的数据库预先加载的一个或多个事件流条目(例如,s1和/或s2、更多条目或更少)。
在其它例子中,输入关系154可以是可基于一个或多个归档的关系生成的外部数据源,其可以包括对与应用相关的一个或多个事件流条目s1、s2、...、sN的引用。在一个例子中,输入关系154最初可从一个或多个归档的关系生成并且输入关系的剩余部分可以基于进入的流传输数据生成。
在一个例子中,输入关系154中的数据记录可以包括一系列捕获输入关系154的变化状态的加时间戳的元组或数据记录。在一种实施例中,输入关系154中的每个数据记录可以包括可由以下模式“S”表示的事件流条目:(<time_stamp>,<attribute(s)>),其中<attribute>表示模式的数据部分并且可以包括一个或多个属性。
可配置窗口运算符模块150可以被配置为定义一个或多个可配置窗口运算符156,用于在连续的查询中处理输入关系。存在其中可配置窗口运算符可以为输入关系定义的各种方法。在一种实施例中,可配置窗口运算符可以是用户可配置的。在某些实施例中,并且如下面将详细讨论的,可配置窗口运算符可以产生包括来自输入关系的、其属性值位于由可配置窗口运算符关于输入关系中的数据记录的时间戳t指定的范围内的数据记录的子集的输入关系。
在一种实施例中,第一类型的可配置窗口运算符可以被定义为对输入关系的“通用值”窗口运算符。在一个例子中,“通用值”窗口运算符可以被表示为如下对输入关系154的子句:
RANGErange_valONattr。
在某些实施例中,“通用值”窗口运算符可以产生包括来自输入关系的、其属性“attr”值关于输入关系中对应数据记录的时间戳t位于指定范围“range_val”中的数据记录的子集。“通用值”窗口运算符可以在CQL查询中对输入关系定义的方式的示例操作在下面详细讨论。
在另一种实施例中,第二类型的可配置窗口运算符可以被定义为对输入关系的“当前小时值”窗口运算符。在一个例子中,“当前小时值”窗口运算符可以被表示为如下对输入关系的子句:
CurrentHouronattr
在一种实施例中,“当前小时值”窗口运算符可以产生包括来自输入关系的、其属性“attr”值关于输入关系中对应数据记录的时间戳t位于当前小时“CurrentHour”中的数据记录的子集。“当前小时值”窗口运算符可以在CQL查询中对输入关系定义的方式的示例操作在下面详细讨论。
在另一种实施例中,第三类型的可配置窗口运算符可以被定义为对输入关系的“当前时段值”窗口运算符。在一个例子中,“当前时段值”窗口运算符可以被表示为如下对输入关系的子句:
CurrentPeriod(“t1”,”t2”)onattr
在一种实施例中,“当前时段值”窗口运算符可以产生包括来自输入关系的、其属性“attr”值关于输入关系中对应数据记录的时间戳t位于当前时段“CurrentPeriod”中的数据记录的子集。“当前时段值”窗口运算符可以在CQL查询中对输入关系定义的方式的示例操作在下面详细讨论。
虽然以上述讨论涉及在CQL查询中对输入关系定义三种类型的可配置窗口运算符,但是应当认识到,在至少一些实施例中,附加类型的窗口运算符可以由可配置窗口运算符模块150在CQL查询中对输入关系定义。
输出关系模块152可以被配置为生成一个或多个输出关系158。在一种实施例中,输出关系模块152可以被配置为从CQL引擎和/或CQ服务接收CQL查询。在某些实施例中,输出关系模块152可以识别CQL查询中的输入关系,识别对输入关系定义的可配置窗口运算符,并至少部分地基于可配置窗口运算符来执行CQL查询以生成输出关系。作为替代,在一些例子中,当识别或接收到包括输入关系的查询(例如,CQL查询)时,CQL引擎和/或CQ服务可以解析查询206,以处理输入关系并生成输出关系。在一种实施例中,并且如下面将详细讨论的,输出关系包括来自输入关系的、其属性值位于由输入关系中可配置窗口运算符定义的指定范围内的数据记录的子集。在某些实施例中,然后可以接收CQL查询,以便在存储器中处理输出关系中的数据记录的子集。
图2示出了可以利用其描述用于关于关系管理基于值的窗口的特征的简化框图。如图所示,图2描述了用于管理输入关系154的CQL引擎和/或CQ服务200的至少一种实现。CQL引擎和/或CQ服务200最初可以从输入源202接收信息。在一个例子中,输入源202可以包括接收进入的连续输入数据流的数据源计算机110,该数据流包括与应用相关的数据或事件流。在一个例子中,CQL引擎和/或CQ服务200然后可以识别输入关系154,输入关系154可以是来自输入源202的数据的表示。在一些例子中,并且如以上所讨论的,输入源202可以包括与应用相关的数据记录的有界集合。在某种实施例中,当识别或接收到包括输入关系154的查询(例如,连续查询)时,CQL引擎200可以解析该查询,以识别查询中的可配置窗口运算符156并且至少部分地基于该可配置窗口运算符执行查询,以生成输出关系158。在一种实施例中,CQL引擎和/或CQ服务200可以通过对输入关系中的属性应用可配置窗口运算符来执行查询,以生成输出关系。在一些例子中,输出关系可以是与应用相关的数据的表示(例如,数据记录的子集)。然后,CQL引擎和/或CQ服务200可以在输出目的地204中,诸如像在图1中所示的数据库112中,存储输出关系。
图3示出了根据本公开内容一种实施例、存储在输入关系中的示例性信息以及当输入关系利用可配置窗口运算符被处理时输出关系的生成。作为例子,考虑可如下生成的输入关系“CallCentreRecords”:
CREATERELATIONCallCentreRecords(callerNamechar(50),callTime,timestamp)。
经由这种定义,输入关系“CallCentreRecords”包含两个属性,第一属性“callerName”,第二属性“callTime”,以及时间戳。在一个例子中,输入关系“CallCentreRecords”可以存储来自呼叫中心的、与呼叫细节记录相关的连续数据流。如本文所使用的,“呼叫中心”通常是指服务网络,其中客户服务代表可以经由电话向客户提供服务。来自呼叫中心的连续数据流通常包括经短时间间隔汇总的、与呼叫相关的逐一呼叫信息。这种逐一呼叫信息可以包括,例如,数据库中呼叫被记录或接收的时间戳、呼叫者的名字、发起呼叫的时间,等等。
参考图3中所示的例子,在一种实施例中,输入关系,“CallCenterRecords”,302包括识别数据记录在其插入输入关系302的每个时间戳的列,识别发起呼叫的呼叫者的名字的“callerName”属性,以及识别发起呼叫的日期和时间的“callTime”属性。
在某些实施例中,可以识别或接收包括如下“CallCenterRecords”输入关系302的CQL查询:
SELECT*FROMCallCentreRecords[RANGE1HOURONcallTime]
按照上面所示的CQL查询,可配置窗口运算符被识别为“通用值”窗口运算符303。然后,通过对“CallCenterRecords”输入关系302中的属性“callTime”应用“RANGE1HOUR”窗口运算符,CQL查询至少部分地基于“通用值”窗口运算符303被执行,以生成输出关系。作为应用“RANGE1HOUR”的窗口运算符303的结果而生成的输出关系304也在图3中示出。
在一种实施例中,并且如图3中所示,输出关系304包括来自输入关系302的、其属性值“callTime”关于数据记录的时间戳t位于指定范围“1HOUR”内的数据记录的子集。在图3所示的例子中,在一种实施例中,“CallCenterRecords”输出关系304还包括为每个数据记录识别“SIGN”属性的列,该属性指示来自输入关系302的特定数据记录,作为对输入关系302应用“通用值”窗口运算符303的结果,是插入输出关系304还是从输出关系304除去。“CallCenterRecords”输出关系304生成的方式在下面详细讨论。
考虑“CallCenterRecords”输入关系302中的第一个数据记录。按照“CallCenterRecords”输入关系302中的信息,这个记录具有时间戳21/01/20129:00:00AM并且指示呼叫由呼叫者“Robin”在21/01/20128:30:00AM发起。当“RANGE1HOUR”窗口运算符303被应用到“callTime”属性时,确定第一个数据记录是否要被插入到“CallCenterRecords”输出关系304。在这个例子中,“CallCenterRecords”输入关系302中的第一个数据记录将被插入到“CallCenterRecords”输出关系304,因为这个呼叫的呼叫时间(8:30:00AM)在从当前时间戳21/01/20129:00:00AM开始的1小时范围内,其中,对于这个数据记录,从当前时间戳21/01/20129:00:00AM开始的1小时范围被定义为(8.00AM-9.00AM)。在一种实施例中,并且如图3中所示,这个数据记录插入到“CallCenterRecords”输出关系304是由对应于该数据记录的SIGN列中的+条目指示的。
类似地,“CallCenterRecords”输入关系302中指示呼叫由呼叫者“Michael”在21/01/20128:45:00AM发起的第二个数据记录也将被插入到“CallCenterRecords”输出关系304,因为这个呼叫的呼叫时间(8:45:00AM)也在从当前时间戳21/01/20129:00:00AM开始的1小时范围内,其中,对于这个数据记录,从当前时间戳21/01/20129:00:00AM开始的1小时范围被定义为(8.00AM-9.00AM)。
“CallCenterRecords”输入关系302中的下一个数据记录指示当前时间戳现在已经转移到21/01/201210:00:00AM。还可以观察到,两个数据记录已经在当前时间戳10:00:00AM被插入到输入关系302中。这些记录包括其呼叫在21/01/20129:06:00AM发起的呼叫者“Sandeep”和其呼叫在21/01/20129:30:00AM发起的呼叫者“Anand”。因为这些记录都位于当前时间戳10:00:00AM的1小时范围内,其中,从当前时间戳21/01/201210:00:00AM开始的1小时范围被定义为(9:00:00AM–10:00:00AM),所以它们也被插入到“CallCenterRecords”输出关系304中,如由这些数据记录旁边的SIGN列中的+运算符所指示的。但是,可以观察到,包括呼叫者“Robin”和“Michael”的数据记录现在不再在从当前时间戳开始的1小时范围(9:00:00AM–10:00:00AM)内。因此,这些记录在当前时间戳10:00:00AM从“CallCenterRecords”输出关系304中被除去。在一种实施例中,并且如图3中所示,这些数据记录从“CallCenterRecords”输出关系304中删除是由对应于数据记录的SIGN列中的-条目指示的。
现在,当前时间戳已经移到21/01/20123:00:00PM。在这个时间戳,“CallCenterRecords”输入关系302中的数据记录包括其呼叫在21/01/201211:00:00AM发起的呼叫者“Unmesh”和其呼叫在21/01/20121:15:00PM发起的呼叫者“Alex”。但是,这些记录不插入到输出关系304,因为这些呼叫的呼叫时间不在当前时间戳21/01/20123:00:00PM的1小时范围内,其中从当前时间戳开始的1小时范围被定义为(2:00:00PM–3:00:00PM)。但是其呼叫在21/01/20122:30:00PM发起的呼叫者“Sundar”被插入“CallCenterRecords”输出关系304,因为这个呼叫是在当前时间戳21/01/20123:00:00PM的1小时范围内发起的。类似地,可以观察到,包括呼叫者“Sandeep”和“Anand”的数据记录现在不再位于当前时间戳21/01/20123:00:00PM的1小时的范围内。因此,这些数据记录从“CallCenterRecords”输出关系304中删除,如由对应于数据记录的SIGN列中的-条目指示的。
应当认识到,在“CallCenterRecords”输入关系302和“CallCenterRecords”输出关系304中列出的信息仅仅是作为例子提供的并且不是旨在限制本公开内容的范围。本领域普通技术人员将认识到许多变化、修改和备选方案。
图4示出了根据本公开内容另一种实施例、存储在输入关系中的示例性信息以及当输入关系利用可配置窗口运算符被处理时输出关系的生成。根据本公开内容的一种实施例,图4示出了存储在“CallCenterRecords”输入关系402中的示例性信息。在图4所示的例子中,在一种实施例中,输入关系“CallCenterRecords”402包括识别数据记录插入输入关系时的每个时间戳的列、识别发起呼叫的呼叫者的名字的“callerName”属性,以及识别呼叫被发起的日期和时间的“callTime”属性。
在某些实施例中,可以识别或接收如下包括“CallCenterRecords”输入关系402的CQL查询:
SELECTcallerName,callTimeFROMCallCentreRecords[CurrentHourONcallTime]
按照以上示出的CQL查询,可配置窗口运算符被识别为“当前小时”窗口运算符403。然后,通过对“CallCenterRecords”输入关系402中的属性“callTime”应用“CurrentHour”窗口运算符403来生成输出关系,CQL查询至少部分地基于“当前小时”窗口运算符403被执行。作为应用“CurrentHour”窗口运算符403的结果生成的输出关系404也在图4中示出。
在一种实施例中,并且如图4中所示,输出关系404包括来自输入关系402的、其属性值“callTime”关于数据记录的时间戳t位于当前小时内的数据记录的子集。在图4所示的例子中,在一种实施例中,“CallCenterRecords”输出关系404还包括对于每个数据记录识别“SIGN”属性的列,该属性指示来自输入关系402的特定数据记录,作为对输入关系402应用“CurrentHour”窗口运算符403的结果,是被插入输出关系404还是从输出关系404中被除去。
图5示出了根据本公开内容另一种实施例、存储在输入关系中的示例性信息以及当输入关系利用可配置窗口运算符被处理时输出关系的生成。根据本公开内容的一种实施例,图5示出了存储在“CallCenterRecords”输入关系502中的示例性信息。在图5所示的例子中,在一种实施例中,输入关系502“CallCenterRecords”包括识别数据记录插入输入关系时的每个时间戳的列、识别发起呼叫的呼叫者的名字的“callerName”属性,以及识别呼叫被发起的日期和时间的“callTime”属性。
在某些实施例中,可以识别或接收如下包括“CallCenterRecords”输入关系502的CQL查询:
SELECTcallerName,callTimeFROMCallCentreRecords[CurrentPeriod(“0900”,“1500”ONcallTime]
按照以上示出的CQL查询,可配置窗口运算符被识别为“当前时段”窗口运算符503。然后,通过对“CallCenterRecords”中的属性“callTime”应用“CurrentPeriod”窗口运算符503,CQL查询至少部分地基于“CurrentPeriod”窗口运算符503来执行。作为应用“CurrentPeriod”窗口运算符503的结果生成的输出关系504也在图5中示出。
在一种实施例中,并且如图5中所示,输出关系504可以包括来自输入关系502的、其属性值“callTime”关于数据记录的时间戳t位于当前时段CurrentPeriod(“0900”,“1500”)内的数据记录的子集。在图5所示的例子中,在一种实施例中,“CallCenterRecords”输出关系504还包括对于每个数据记录识别“SIGN”属性的列,该属性指示来自输入关系502的特定数据记录,作为对输入关系502应用CurrentPeriod(“0900”,“1500”)窗口运算符503的结果,是被插入输出关系504还是从输出关系504中被除去。
所公开的技术使得能够利用连续查询(例如,CQL查询)处理与存储在外部数据源中的应用相关的进入的实时信息(例如,关系)。这种进入的实时信息通常利用存储器内的事件处理引擎(例如,CQL引擎)来处理。但是,当实时接收到的与应用相关的信息量增加时,存储在存储器中的关系的尺寸也增加。利用连续查询在有限的存储器中处理这种大尺寸的关系可能是不能扩展的,因为这可能涉及在有限的存储器中联接高速率输入流与大尺寸的关系。
所公开的技术使得能够通过在连续查询(例如,CQL查询)中定义窗口运算符来在有限的存储器中查询关系的数据记录的子集,而不是在存储器中处理关系的数据记录的整个集合。连续查询(例如,CQL查询)对输入关系应用窗口运算符的持续时间,以生成输出关系。与输出关系相关的数据记录集合被提供给用户。窗口运算符可由用户配置并且使得能够在指定的时间范围上处理关系中数据记录的子集。因此,关系的数据记录的子集可以在有限的存储器中被查询,而不是在存储器中处理关系的数据记录的整个集合。
所公开的技术可以应用到与现实世界应用相关的数据,这些数据可以构成连续的无界数据流。这种数据流的例子可以包括金融应用中的股票行情、网络监视和流量管理中的性能测量、web跟踪和个性化的日志记录或点击流、来自传感器应用的数据馈入、基于防火墙的安全性中的网络数据包和消息、电信中的呼叫细节记录,等等。
图6-7示出了用于实现本文所述关于关系管理基于值的窗口的相应过程600和700的示例流程图。这些过程600和700被示为逻辑流程图,其每个操作代表可以在硬件、计算机指令或者其组合中实现的一系列操作。在计算机指令的语境下,操作代表存储在一个或多个计算机可读存储介质上的计算机可执行指令,当指令被一个或多个处理器执行时,执行所述操作。一般而言,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。操作被描述的次序并不是要被解释为限制,并且任何数量的所描述操作都可以以任何次序和/或并行地被组合,以实现过程。
此外,一些、任何或全部过程可以在利用可执行指令配置的一个或多个计算机系统的控制下执行并且可以实现为在一个或多个处理器上共同执行的代码(例如,可执行指令、一个或多个计算机程序,或者一个或多个应用)、硬件或者其组合。如以上所指出的,代码可以存储在计算机可读存储介质上,例如,以包括可由一个或多个处理器执行的多条指令的计算机程序的形式。计算机可读存储介质可以是非暂态的。
在一些例子中,至少图1(以及其它图)中所示的一个或多个服务提供商计算机106(例如,利用至少输入关系模块148,可配置窗口运算符模块150或输出关系模块152)可以执行图6的过程600。过程600可以在方框602通过包括生成输入关系开始。在方框604,过程600可以包括识别查询(例如,CQL查询),以处理输入关系。在方框606,过程600可以包括识别与处理输入关系关联的可配置窗口运算符。另外,在一些例子中,过程600可以在方框608通过包括至少部分地基于可配置窗口运算符来执行查询以生成输出关系而结束。
图7示出了示出用于实现本文所述关于关系管理基于值的窗口的过程700的示例流程图。至少图1(以及其它图)中所示的一个或多个服务提供商计算机106(例如,利用至少输入关系模块148、可配置窗口运算符模块150或输出关系模块152)可以执行图7的过程700。过程700可以在方框702通过包括生成输入关系开始。在一种实施例中,输入关系是与应用相关的数据记录的有界集合。在方框704,过程700可以包括接收识别输入关系的连续查询(例如,CQL查询)。在方框706,过程700可以包括识别与处理输入关系关联的可配置窗口运算符。另外,在一些例子中,过程700可以包括在方框708至少部分地基于可配置窗口运算符来执行查询以生成输出关系。另外,过程700可以在方框710通过包括至少部分地基于连续查询的执行来提供输出关系的数据记录而结束。
图8是示出根据本公开内容实施例可以被使用的系统环境800的部件的简化框图。如图所示,系统环境800包括一个或多个客户端计算设备802、804、806、808,它们被配置为经一个或多个网络810(诸如,但不限于,类似于图1的网络108的网络)操作客户端应用,诸如web浏览器、专有客户端(例如,OracleForms)等。在各种实施例中,客户端计算设备802、804、806和808可以经网络810与服务器812交互。
客户端计算设备802、804、806和808可以是通用个人计算机(作为例子,包括运行各种版本的MicrosoftWindows和/或AppleMacintosh操作系统的个人计算机和/或膝上型计算机)、手机或PDA(运行诸如MicrosoftWindowsMobile的软件,并且是启用互联网、电子邮件、SMS、Blackberry或其它通信协议的),和/或运行任何各种市售UNIX或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统)的工作站计算机。作为替代,客户端计算设备802、804、806和808可以是能够经网络(例如,下面描述的网络810)进行通信的任何其它电子设备,诸如瘦客户端计算机、启用互联网的游戏系统,以及个人消息传输设备。虽然示例性系统环境800被示为具有四个客户端计算设备,但是任何数量的客户端计算设备都可以被支持。其它设备,诸如带传感器的设备等,可以与服务器812交互。
系统环境800可以包括网络810。网络810可以是本领域技术人员熟悉的任何类型的网络,这些网络可以利用任何各种市售的协议,包括但不限于TCP/IP、SNA、IPX、AppleTalk等,支持数据通信。仅仅作为例子,网络810可以是局域网(LAN),诸如以太网网络、令牌环网等;广域网;虚拟网络,包括但不限于虚拟专用网(VPN);互联网;内联网;外联网;公共交换电话网(PSTN);红外线网络;无线网络(例如,按照任何IEEE802.11协议套件、本领域中已知的蓝牙协议和/或任何其它无线协议操作的网络);和/或这些和/或其它网络的任何组合。
系统环境800还包括一个或多个服务器计算机812,这可以是通用计算机、专用服务器计算机(作为例子,包括PC服务器、UNIX服务器、中档服务器、大型计算机、机架式服务器等),服务器群、服务器群集,或者任何其它适当的布置和/或组合。在各种实施例中,服务器812可以适合于运行在前述公开内容中描述的一个或多个服务或软件应用。例如,服务器812可以对应于用于执行根据本公开内容实施例的上述处理的服务器。
服务器812可以运行操作系统,包括以上讨论的任何操作系统,以及任何市售的服务器操作系统。服务器812还可以运行任何各种附加的服务器应用和/或中间层应用,包括HTTP服务器、FTP服务器、CGI服务器、Java服务器、数据库服务器等。示例性数据库服务器包括但不限于可从Oracle,Microsoft、Sybase、IBM等商购的那些。
系统环境800还可以包括一个或多个数据库814、816。数据库814、816可以驻留在各种不同的位置。作为例子,一个或多个数据库814、816可以驻留在服务器812本地的非暂态存储介质上(和/或驻留在服务器812中)。作为替代,数据库814、816可以远离服务器812,并且经基于网络的或专用的连接与服务器812通信。在一组实施例中,数据库814、816可以驻留在本领域技术人员熟悉的存储区域网络(SAN)中。类似地,用于执行服务器812所具有的功能的任何必要的文件都可以适当地本地存储在服务器812上和/或远程存储。在一组实施例中,数据库814、816可以包括适于响应于SQL格式的命令而存储、更新和检索数据的关系数据库,例如由Oracle提供的数据库。
图9是根据本公开内容的实施例可以被使用的计算机系统900的简化框图。例如,服务提供商计算机106可以利用诸如系统900的系统实现。计算机系统900被示为包括可以经总线901电和/或通信耦合的硬件元件。硬件元件可以包括一个或多个中央处理单元(CPU)902、一个或多个输入设备904(例如,鼠标、键盘等),以及一个或多个输出设备906(例如,显示设备、打印机等)。计算机系统900还可以包括一个或多个存储设备908。作为例子,(一个或多个)存储设备908可以包括可编程、闪存可更新等的设备,诸如盘驱动器、光存储设备以及诸如随机存取存储器(RAM)和/或只读存储器(ROM)的固态存储设备。
计算机系统900还可以包括计算机可读存储介质读取器912、通信子系统914(例如,调制解调器、网卡(无线的或有线的)、红外通信设备等)和工作存储器918,其中存储器918可包括如上所述的RAM和ROM设备。在一些实施例中,计算机系统900还可以包括处理加速单元916,这可以包括数字信号处理器(DSP)、专用处理器等。
计算机可读存储介质读取器912还可被连接到计算机可读存储介质910,一起(并且,可选地,结合(一个或多个)存储设备908)全面地表示远程、本地、固定和/或可移动存储设备加上用于临时和/或更永久地包含计算机可读信息的存储介质。通信系统914可以允许数据与网络912和/或以上关于系统环境900所描述的任何其它计算机进行交换。
计算机系统900还可以包括软件元件,当前示为位于工作存储器918中,包括操作系统920和/或其它代码922,诸如应用程序(这可以是客户端应用、Web浏览器、中间层应用、RDBMS等等)。在示例性实施例中,工作存储器918可以包括用于如上所述依赖方和开放式授权相关的处理的可执行代码和关联的数据结构。应当认识到,计算机系统900的备选实施例可以具有不同于以上所述的众多变化。例如,定制的硬件也可被使用和/或特定的元件可以在硬件、软件(包括便携式软件,诸如小程序)或两者当中实现。另外,可以采用到诸如网络输入/输出设备的其它计算设备的连接。
图10示出了根据本发明另一种实施例、示出用于实现本文所述关于关系管理基于值的窗口的过程1000的示例流程图。至少图1(以及其它图)中所示的一个或多个服务提供商计算机106(例如,利用至少输入关系模块148、可配置窗口运算符模块150或输出关系模块152)可以执行图10的过程1000。过程1000可以在方框1002通过包括识别被配置为处理输入关系的查询(例如,连续查询)开始。在方框1004,过程1000可以包括基于可配置窗口运算符起动查询,以生成输出关系。在方框1006,过程1000可以包括生成输入事件并将其发送到CQL引擎和/或CQ服务200。在一些实施例中,输入事件可以在新事件在CQL引擎和/或CQ服务200被接收时生成。例如,输入事件可以包括被以上讨论的“CallCentreRecords”输入关系302中的呼叫者发起的新呼叫。在方框1008,过程1000可以包括接收输入事件和可配置窗口运算符并且产生输出事件。输出事件可以包括,例如,当可配置窗口运算符应用到“‘CallCentreRecords”输入关系302中的“calltime”属性时被插入“CallCentreRecords”输出关系304中的数据记录。
图11是根据本发明的某些实施例可以被使用的服务提供商设备1101的简化框图。服务提供商设备1101的块可以由硬件、软件或者硬件和软件的组合实现,以执行本发明的原理。本领域技术人员应当理解,图11中所描述的块可以组合或分离成子块,以实现如上所述本发明的原理。因此,本文的描述可以支持任何可能的组合或分离或者本文所述功能块的进一步定义。
如图11中所示,服务提供商设备1101可以包括输入关系单元1102、可配置窗口运算符单元1103、输出关系单元1105和提供单元1107。输入关系单元1102可以被配置为接收识别输入关系的连续查询,其中输入关系是与应用相关的数据记录的有界集合。可配置窗口运算符单元1103可以被配置为识别与处理输入关系关联的可配置窗口运算符。输出关系单元1105可以被配置为至少部分地基于可配置窗口运算符来执行连续查询,以生成输出关系。提供单元1107可以被配置为至少部分地基于连续查询的执行来提供输出关系的数据记录。在一种实施例中,每个单元可以被实现为通过读取计算机程序指令来执行对应过程的处理器。
在一种实施例中,输入关系可以是至少部分地基于进入的、与应用相关的连续输入数据流生成的外部数据源。
在一种实施例中,输入关系可以是至少部分地基于存储在历史数据的数据库中的、与应用相关的信息生成的外部数据源。
在一种实施例中,输入关系可以是至少部分地基于与应用相关的一个或多个归档的关系生成的外部数据源。
在一种实施例中,可配置窗口运算符可以是对输入关系定义的通用值窗口运算符,并且其中输出关系单元1105还可以被配置为对输入关系中的属性应用通用值窗口运算符,以生成输出关系。
在一种实施例中,可配置窗口运算符可以是对输入关系定义的当前小时值窗口运算符,并且其中输出关系单元1105还可以被配置为对输入关系中的属性应用当前小时值窗口运算符,以生成输出关系。
在一种实施例中,可配置窗口运算符可以是对输入关系定义的当前时段值窗口运算符,并且其中输出关系单元1105还可以被配置为对输入关系中的属性应用当前时段值窗口运算符,以生成输出关系。
在一种实施例中,提供单元1107还可以被配置为显示输出关系,其中输出关系包括来自输入关系的、其属性值位于由可配置窗口运算符定义的指定范围内的数据记录的子集。
图12是根据本发明的某些实施例可以被使用的服务提供商设备1201的简化框图。服务提供商设备1201的块可以由硬件、软件或者硬件和软件的组合实现,以执行本发明的原理。本领域技术人员应当理解,图12中所描述的块可以组合或分离成子块,以实现如上所述本发明的原理。因此,本文的描述可以支持任何可能的组合或分离或者本文所述功能块的进一步定义。
如图12中所示,服务提供商设备1201可以包括输入关系单元1202、可配置窗口运算符单元1203和输出关系单元1205。输入关系单元1202可以被配置为接收并识别被配置为处理输入关系的查询。可配置窗口运算符单元1203可以被配置为识别与处理输入关系关联的可配置窗口运算符。输出关系单元1205可以被配置为至少部分地基于可配置窗口运算符来执行查询,以生成输出关系。在一种实施例中,每个单元可以被实现为通过读取计算机程序指令来执行对应过程的处理器。
在一种实施例中,输入关系可以是至少部分地基于进入的、与应用相关的连续输入数据流生成的外部数据源。
在一种实施例中,输入关系可以是至少部分地基于存储在历史数据的数据库中的、与应用相关的信息生成的外部数据源。
在一种实施例中,输入关系可以是至少部分地基于与应用相关的一个或多个归档的关系生成的外部数据源。
在一种实施例中,可配置窗口运算符可以是对输入关系定义的通用值窗口运算符,并且输出关系单元1205还可以被配置为对输入关系中的属性应用通用值窗口运算符,以生成输出关系。
在一种实施例中,服务提供商设备1201还可以包括提供单元1207,被配置为至少部分地基于连续查询的执行来提供输出关系的数据记录。
在一种实施例中,提供单元1207还可以被配置为显示输出关系,其中输出关系包括来自输入关系的、其属性值位于由可配置窗口运算符定义的指定范围内的数据记录的子集。
用于包含代码或代码部分的存储介质和计算机可读介质可以包括本领域中已知或被使用的任何适当的介质,包括存储介质和通信介质,诸如但不限于,以任何方法或技术实现的用于诸如计算机可读指令、数据结构、程序模块或其它数据之类的信息存储和/或传输的易失性和非易失性(非暂态)、可移动和不可移动介质,包括RAM、ROM、EEPROM、闪存存储器或其它存储器技术、CD-ROM、数字多样化盘(DVD)或其它光储存器、磁带盒、磁带、磁盘储存器或其它磁存储设备、数据信号、数据传输,或者可以被用来存储或发送期望信息并且可以被计算机访问的任何其它介质。
虽然已经描述了本公开内容的具体实施例,但是各种修改、变更、备选构造和等价物也包含在本公开内容的范围内。本公开内容的实施例不限于在某些具体数据处理环境中的操作,而是可以自由地在多种数据处理环境中操作。此外,虽然本公开内容的实施例已经利用事务或步骤的特定序列进行了描述,但是对本领域技术人员来说很显然,本公开内容的范围不限于所描述的事务或步骤的序列。
另外,虽然本公开内容的实施例已经利用硬件和软件的特定组合进行了描述,但是应当认识到,硬件和软件的其它组合也在本公开内容的范围之内。本公开内容的实施例可以只在硬件中或者只在软件中或者利用其组合来实现。
因而,本说明书和附图要在说明性而不是限制性的意义上理解。但是,很显然,在不背离更广泛精神和范围的情况下,可以对其进行添加、减少、删除以及其它修改和变化。以上描述了用于提供本公开内容特征的说明性方法和系统。这些系统和方法当中的一些或全部可以,但不必须,至少部分地由诸如以上图1-2中所示的体系架构实现。
虽然实施例已经以特定于结构特征和/或方法动作的语言进行了描述,但是应当理解,本公开内容不必局限于所描述的具体特征或动作。更确切地说,所述具体特征和动作是作为实现实施例的说明性形式公开的。除其它的之外,除非具体地另外声明或者在所使用的上下文中以别的方式被理解,否则有条件的语言,诸如“可以”、“可能”,一般要传达某些实施例可以包括,而其它实施例不包括,某些特征、元件和/或步骤。因此,这种有条件的语言一般不是要暗示特征、元件和/或步骤以任何方式被一种或多种实施例需要或者一种或多种实施例必需包括用于,在有或没有用户输入或提示的情况下,决定这些特征、元件和/或步骤要在任何特定实施例中包括或执行的逻辑。
Claims (20)
1.一种计算机实现的方法,包括:
生成输入关系,该输入关系是与应用相关的数据记录的有界集合;
接收识别输入关系的连续查询;
识别与处理输入关系关联的可配置窗口运算符;
至少部分地基于可配置窗口运算符来执行连续查询,以生成输出关系;及
至少部分地基于连续查询的执行来提供输出关系的数据记录。
2.如权利要求1所述的计算机实现的方法,其中输入关系是至少部分地基于进入的、与应用相关的连续输入数据流生成的外部数据源。
3.如权利要求1或2所述的计算机实现的方法,其中输入关系是至少部分地基于存储在历史数据的数据库中的、与应用相关的信息生成的外部数据源。
4.如权利要求1或2或3所述的计算机实现的方法,其中输入关系是至少部分地基于与应用相关的一个或多个归档的关系生成的外部数据源。
5.如权利要求1-4中任何一项所述的计算机实现的方法,其中可配置窗口运算符是对输入关系定义的通用值窗口运算符,并且其中执行连续查询包括对输入关系中的属性应用通用值窗口运算符,以生成输出关系。
6.如权利要求1-5中任何一项所述的计算机实现的方法,其中可配置窗口运算符是对输入关系定义的当前小时值窗口运算符,并且其中执行连续查询包括对输入关系中的属性应用当前小时值窗口运算符,以生成输出关系。
7.如权利要求1-6中任何一项所述的计算机实现的方法,其中可配置窗口运算符是对输入关系定义的当前时段值窗口运算符,并且其中执行连续查询包括对输入关系中的属性应用当前时段值窗口运算符,以生成输出关系。
8.如权利要求1-7中任何一项所述的计算机实现的方法,其中提供数据记录包括显示输出关系,其中输出关系包括来自输入关系的、其属性值位于由可配置窗口运算符定义的指定范围内的数据记录的子集。
9.一种存储可由一个或多个处理器执行的多条指令的非暂态计算机可读存储器,这多条指令包括:
使一个或多个处理器生成输入关系的指令;
使一个或多个处理器识别被配置为处理输入关系的查询的指令;
使一个或多个处理器识别与处理输入关系关联的可配置窗口运算符的指令;及
使一个或多个处理器至少部分地基于可配置窗口运算符来执行查询以生成输出关系的指令。
10.如权利要求9所述的计算机可读存储器,其中输入关系是至少部分地基于进入的、与应用相关的连续输入数据流生成的外部数据源。
11.如权利要求9或10所述的计算机可读存储器,其中输入关系是至少部分地基于存储在历史数据的数据库中的、与应用相关的信息生成的外部数据源。
12.如权利要求9或10或11所述的计算机可读存储器,其中输入关系是至少部分地基于与应用相关的一个或多个归档的关系生成的外部数据源。
13.如权利要求9-12中任何一项所述的计算机可读存储器,其中可配置窗口运算符是对输入关系定义的通用值窗口运算符,并且其中执行连续查询包括对输入关系中的属性应用通用值窗口运算符,以生成输出关系。
14.如权利要求9-13中任何一项所述的计算机可读存储器,还包括至少部分地基于连续查询的执行来提供输出关系的数据记录的指令。
15.如权利要求9-14中任何一项所述的计算机可读存储器,还包括显示输出关系的指令,其中输出关系包括来自输入关系的、其属性值位于由可配置窗口运算符定义的指定范围内的数据记录的子集。
16.一种系统,包括:
存储器,存储多条指令;及
一个或多个处理器,被配置为访问存储器,其中该一个或多个处理器还被配置为执行多条指令,以便至少:
生成输入关系;
识别被配置为处理输入关系的查询;
识别与处理输入关系关联的可配置窗口运算符;及
至少部分地基于可配置窗口运算符执行查询,以生成输出关系。
17.如权利要求16所述的系统,其中输入关系是至少部分地基于进入的、与应用相关的连续输入数据流生成的外部数据源。
18.如权利要求16或17所述的系统,其中可配置窗口运算符是对输入关系定义的当前时段值窗口运算符,并且其中执行连续查询包括对输入关系中的属性应用当前时段值窗口运算符,以生成输出关系。
19.如权利要求16或17或18所述的系统,其中一个或多个处理器还被配置为执行多条指令,以便至少部分地基于连续查询的执行来提供输出关系的数据记录。
20.如权利要求16-19中任何一项所述的系统,其中一个或多个处理器还被配置为显示输出关系,其中输出关系包括来自输入关系的、其属性值位于由可配置窗口运算符定义的指定范围内的数据记录的子集。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/906,162 | 2013-05-30 | ||
US13/906,162 US9418113B2 (en) | 2013-05-30 | 2013-05-30 | Value based windows on relations in continuous data streams |
PCT/US2014/039771 WO2014193943A1 (en) | 2013-05-30 | 2014-05-28 | Value based windows on relations in continuous data streams |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105308592A true CN105308592A (zh) | 2016-02-03 |
CN105308592B CN105308592B (zh) | 2017-12-19 |
Family
ID=51023120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480030482.3A Active CN105308592B (zh) | 2013-05-30 | 2014-05-28 | 连续数据流中关于关系的基于值的窗口 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9418113B2 (zh) |
EP (1) | EP3005164A1 (zh) |
JP (1) | JP6511438B2 (zh) |
CN (1) | CN105308592B (zh) |
WO (1) | WO2014193943A1 (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9535761B2 (en) | 2011-05-13 | 2017-01-03 | Oracle International Corporation | Tracking large numbers of moving objects in an event processing system |
US9703836B2 (en) | 2012-09-28 | 2017-07-11 | Oracle International Corporation | Tactical query to continuous query conversion |
US9886486B2 (en) | 2014-09-24 | 2018-02-06 | Oracle International Corporation | Enriching events with dynamically typed big data for event processing |
US9934279B2 (en) | 2013-12-05 | 2018-04-03 | Oracle International Corporation | Pattern matching across multiple input data streams |
US9953059B2 (en) | 2012-09-28 | 2018-04-24 | Oracle International Corporation | Generation of archiver queries for continuous queries over archived relations |
US9972103B2 (en) | 2015-07-24 | 2018-05-15 | Oracle International Corporation | Visually exploring and analyzing event streams |
US10120907B2 (en) | 2014-09-24 | 2018-11-06 | Oracle International Corporation | Scaling event processing using distributed flows and map-reduce operations |
CN109074377A (zh) * | 2016-03-29 | 2018-12-21 | 亚马逊科技公司 | 用于实时处理数据流的受管理功能执行 |
CN109690517A (zh) * | 2016-09-15 | 2019-04-26 | 甲骨文国际公司 | 利用微批处理管理快照和状态 |
CN109716323A (zh) * | 2016-09-15 | 2019-05-03 | 甲骨文国际公司 | 流数据中的空间变化检测器 |
US10956422B2 (en) | 2012-12-05 | 2021-03-23 | Oracle International Corporation | Integrating event processing with map-reduce |
CN113366464A (zh) * | 2019-02-15 | 2021-09-07 | 华为技术有限公司 | 用于在数据库中嵌入流处理执行的系统 |
CN113393296A (zh) * | 2021-06-16 | 2021-09-14 | 北京沃东天骏信息技术有限公司 | 一种数据关系的表示方法、装置、设备及存储介质 |
US11573965B2 (en) | 2016-09-15 | 2023-02-07 | Oracle International Corporation | Data partitioning and parallelism in a distributed event processing system |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10102091B2 (en) | 2008-06-04 | 2018-10-16 | Oracle International Corporation | System and method for supporting a testing framework for an event processing system using multiple input event streams |
US9892009B2 (en) | 2008-06-04 | 2018-02-13 | Oracle International Corporation | System and method for supporting a sliding window for testing an event processing system |
US9430494B2 (en) | 2009-12-28 | 2016-08-30 | Oracle International Corporation | Spatial data cartridge for event processing systems |
US9305057B2 (en) | 2009-12-28 | 2016-04-05 | Oracle International Corporation | Extensible indexing framework using data cartridges |
US8713049B2 (en) | 2010-09-17 | 2014-04-29 | Oracle International Corporation | Support for a parameterized query/view in complex event processing |
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) |
US9098587B2 (en) | 2013-01-15 | 2015-08-04 | Oracle International Corporation | Variable duration non-event pattern matching |
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 |
SG11201604525TA (en) | 2013-12-05 | 2016-07-28 | Ab Initio Technology Llc | Managing interfaces for dataflow graphs composed of sub-graphs |
US9558225B2 (en) * | 2013-12-16 | 2017-01-31 | Sybase, Inc. | Event stream processor |
US20150310069A1 (en) * | 2014-04-28 | 2015-10-29 | Teradata Us, Inc. | Methods and system to process streaming data |
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 |
US10152480B2 (en) | 2015-01-31 | 2018-12-11 | Splunk Inc. | Archiving indexed data |
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 |
US10514952B2 (en) * | 2016-09-15 | 2019-12-24 | Oracle International Corporation | Processing timestamps and heartbeat events for automatic time progression |
WO2018146761A1 (ja) * | 2017-02-09 | 2018-08-16 | 日本電気株式会社 | 分析装置 |
US10877971B2 (en) | 2017-09-29 | 2020-12-29 | Oracle International Corporation | Logical queries in a distributed stream processing system |
US10902000B2 (en) | 2017-09-29 | 2021-01-26 | Oracle International Corporation | Heartbeat propagation in a distributed stream processing system |
US11023896B2 (en) * | 2019-06-20 | 2021-06-01 | Coupang, Corp. | Systems and methods for real-time processing of data streams |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866353A (zh) * | 2010-06-09 | 2010-10-20 | 孟小峰 | 一种基于位置服务的连续查询隐私保护方法 |
CN102135984A (zh) * | 2010-01-21 | 2011-07-27 | 软件股份公司 | 用于分析对数据流的连续查询的分析系统和方法 |
CN102665207A (zh) * | 2012-05-08 | 2012-09-12 | 杭州电子科技大学 | Lbs中基于移动终端的连续查询用户位置隐匿方法 |
CN102892073A (zh) * | 2012-09-11 | 2013-01-23 | 北京航空航天大学 | 一种适用于位置服务系统中面向连续查询的位置匿名方法 |
Family Cites Families (402)
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 |
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 |
WO2010030978A2 (en) | 2008-09-15 | 2010-03-18 | Aman James A | Session automated recording together with rules based indexing, analysis and expression of content |
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 | デバッグ装置、方法及び記録媒体 |
US7457279B1 (en) | 1999-09-10 | 2008-11-25 | Vertical Communications Acquisition Corp. | Method, system, and computer program product for managing routing servers and services |
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 |
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 |
AU2001229464A1 (en) | 2000-01-14 | 2001-07-24 | Saba Software, Inc. | 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 |
WO2001065418A1 (en) | 2000-02-28 | 2001-09-07 | 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 |
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 |
US6578032B1 (en) | 2000-06-28 | 2003-06-10 | Microsoft Corporation | Method and system for performing phrase/word clustering and cluster merging |
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 |
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 |
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 |
US20040003132A1 (en) | 2000-12-06 | 2004-01-01 | Biosentients, Inc. | Data pool architecture, system, and method for intelligent object data in heterogeneous data environments |
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 |
US7904486B2 (en) | 2000-12-15 | 2011-03-08 | British Telecommunications Public Limited Company | Method of indexing entities |
US7062749B2 (en) | 2000-12-15 | 2006-06-13 | Promenix, Inc. | Measuring, monitoring and tracking enterprise communications and processes |
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 |
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 |
US20040117359A1 (en) | 2001-03-01 | 2004-06-17 | Snodgrass Richard Thomas | Adaptable query optimization and evaluation in temporal middleware |
GB2377038A (en) | 2001-04-10 | 2002-12-31 | I2 Ltd | Method for identifying patterns in sequential event streams |
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 |
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 |
AU2002334721B2 (en) | 2001-09-28 | 2008-10-23 | Oracle International Corporation | An index structure to access hierarchical data in a relational database system |
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 |
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 |
US7117200B2 (en) | 2002-01-11 | 2006-10-03 | International Business Machines Corporation | Synthesizing information-bearing content from multiple channels |
US20030135304A1 (en) | 2002-01-11 | 2003-07-17 | Brian Sroub | System and method for managing transportation assets |
US6826566B2 (en) | 2002-01-14 | 2004-11-30 | Speedtrack, Inc. | 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 |
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 |
CA2374271A1 (en) | 2002-03-01 | 2003-09-01 | Ibm Canada Limited-Ibm Canada Limitee | Redundant join elimination and sub-query elimination using subsumption |
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 |
US20040024773A1 (en) | 2002-04-29 | 2004-02-05 | 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 |
WO2003104990A1 (en) | 2002-06-05 | 2003-12-18 | Sap Aktiengesellschaft | Apparatus and method for integrating variable subsidiary information with main office information in an enterprise system |
WO2004014065A2 (en) | 2002-08-05 | 2004-02-12 | John Campbell | System of finite state machines |
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 |
US7305391B2 (en) | 2003-02-07 | 2007-12-04 | 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 |
US7392239B2 (en) | 2003-04-14 | 2008-06-24 | International Business Machines Corporation | System and method for querying XML streams |
US20040220896A1 (en) | 2003-04-30 | 2004-11-04 | International Business Machines Corporation | System and method for optimizing 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 |
US7146352B2 (en) | 2003-06-23 | 2006-12-05 | Microsoft Corporation | Query optimizer system and method |
US7519577B2 (en) | 2003-06-23 | 2009-04-14 | Microsoft Corporation | Query intermediate language method and system |
CA2433750A1 (en) | 2003-06-27 | 2004-12-27 | Ibm Canada Limited - Ibm Canada Limitee | Automatic collection of trace detail and history data |
US7433863B2 (en) | 2003-07-07 | 2008-10-07 | Netezza Corporation | SQL code generation for heterogeneous environment |
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 |
WO2005010727A2 (en) | 2003-07-23 | 2005-02-03 | Praedea Solutions, Inc. | Extracting data from semi-structured text documents |
EP1654656A4 (en) | 2003-07-25 | 2010-08-04 | Arthur R Zingher | DEVICE 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 |
US9116929B2 (en) | 2003-12-08 | 2015-08-25 | Teradata Us, Inc. | Workload priority influenced data temperature |
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 |
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 |
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 |
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 |
EP1825395A4 (en) | 2004-10-25 | 2010-07-07 | Yuanhua Tang | FULL TEXT INTERROGATION AND RESEARCH SYSTEMS AND METHODS OF USE |
US20080077570A1 (en) | 2004-10-25 | 2008-03-27 | Infovell, Inc. | Full Text Query and Search Systems and Method 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 |
US8396886B1 (en) | 2005-02-03 | 2013-03-12 | Sybase Inc. | Continuous processing language for real-time data streams |
AU2006217563B2 (en) | 2005-02-22 | 2012-05-17 | Connectif Solutions Inc. | Distributed asset management system and method |
KR100690787B1 (ko) | 2005-02-25 | 2007-03-09 | 엘지전자 주식회사 | 무선통신 시스템에서 이벤트 통지방법 |
AU2006221023A1 (en) | 2005-03-03 | 2006-09-14 | 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 |
WO2007022560A1 (en) | 2005-08-23 | 2007-03-01 | Position Networks Pty Ltd | A 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 |
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 |
US8788569B2 (en) | 2006-03-31 | 2014-07-22 | British Telecommunications Public Limited Company | Server computer system running versions of an application simultaneously |
US7644066B2 (en) | 2006-03-31 | 2010-01-05 | Oracle International Corporation | Techniques of efficient XML meta-data query using XML table index |
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 |
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 |
US7580946B2 (en) | 2006-08-11 | 2009-08-25 | Bizweel 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 |
US7988817B2 (en) | 2006-11-10 | 2011-08-02 | Adp Engineering Co., Ltd. | Lift pin driving device and a flat panel display manufacturing apparatus having same |
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 |
US7912808B2 (en) | 2006-12-08 | 2011-03-22 | Pandya Ashish A | 100Gbps security and search architecture using programmable intelligent search memory that uses a power down mode |
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 | 会議可視化システム、会議可視化方法、及び集計処理サーバ |
US8156247B2 (en) | 2007-04-30 | 2012-04-10 | Lsi Corportion | Systems and methods for reducing network performance degradation |
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 |
US20080301135A1 (en) | 2007-05-29 | 2008-12-04 | Bea Systems, Inc. | Event processing query language using pattern matching |
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 |
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 |
US20090070786A1 (en) | 2007-09-11 | 2009-03-12 | Bea Systems, Inc. | Xml-based event processing networks for event server |
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 |
US8335767B2 (en) | 2007-10-17 | 2012-12-18 | Oracle International Corporation | Maintaining and utilizing SQL execution plan histories |
US8073826B2 (en) | 2007-10-18 | 2011-12-06 | Oracle International Corporation | Support for user defined functions in a data stream management system |
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 |
US8307343B2 (en) | 2007-10-19 | 2012-11-06 | Microsoft Corporation | Application and database context correlation for database application developers |
US7673065B2 (en) | 2007-10-20 | 2010-03-02 | Oracle International Corporation | Support for sharing computation between 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 |
US7991766B2 (en) | 2007-10-20 | 2011-08-02 | Oracle International Corporation | Support for user defined aggregations in a data stream management system |
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 |
US9275353B2 (en) | 2007-11-09 | 2016-03-01 | Oracle America, Inc. | Event-processing operators |
US7870167B2 (en) | 2007-11-09 | 2011-01-11 | Oracle America, Inc. | Implementing event processors |
US8191074B2 (en) | 2007-11-15 | 2012-05-29 | Ericsson Ab | Method and apparatus for automatic debugging technique |
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 |
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 |
CA2710346A1 (en) | 2007-12-20 | 2009-07-02 | 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 |
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 |
US8903802B2 (en) | 2008-03-06 | 2014-12-02 | Cisco Technology, Inc. | Systems and methods for managing queries |
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 |
US20110105857A1 (en) | 2008-07-03 | 2011-05-05 | Panasonic Corporation | Impression degree extraction apparatus and impression degree extraction method |
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 |
US8676841B2 (en) | 2008-08-29 | 2014-03-18 | Oracle International Corporation | Detection of recurring non-occurrences of events using pattern matching |
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 | 株式会社日立製作所 | ストリームデータ処理方法、及びシステム |
JP5465413B2 (ja) | 2008-10-29 | 2014-04-09 | 株式会社日立製作所 | ストリームデータ処理方法、及びそのシステム |
US20100128638A1 (en) | 2008-11-20 | 2010-05-27 | Sap Ag | Hierarchical shortest path first network routing protocol |
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 |
US8352517B2 (en) | 2009-03-02 | 2013-01-08 | Oracle International Corporation | Infrastructure for spilling pages to a persistent store |
US8935293B2 (en) | 2009-03-02 | 2015-01-13 | Oracle International Corporation | Framework for dynamically generating tuple and page classes |
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 |
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 |
US20100332401A1 (en) | 2009-06-30 | 2010-12-30 | Anand Prahlad | Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites |
US8572589B2 (en) | 2009-06-30 | 2013-10-29 | Agilent Technologies, Inc. | Programming language translator and enabling translation of machine-centric commands for controlling instrument |
US8180801B2 (en) | 2009-07-16 | 2012-05-15 | Sap Ag | Unified window support for event stream data management |
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 |
US8527458B2 (en) | 2009-08-03 | 2013-09-03 | Oracle International Corporation | Logging framework for a data stream processing server |
US8386466B2 (en) | 2009-08-03 | 2013-02-26 | Oracle International Corporation | Log visualization tool for a data stream processing server |
US20110032260A1 (en) * | 2009-08-05 | 2011-02-10 | International Business Machines Corporation | Enhancing visualization of relationships and temporal proximity between events |
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 |
US8195648B2 (en) | 2009-10-21 | 2012-06-05 | Microsoft Corporation | Partitioned query execution in event processing systems |
US8959106B2 (en) | 2009-12-28 | 2015-02-17 | Oracle International Corporation | Class loading using java data cartridges |
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 |
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 |
US8484243B2 (en) | 2010-05-05 | 2013-07-09 | Cisco Technology, Inc. | Order-independent stream query processing |
WO2011142026A1 (ja) * | 2010-05-14 | 2011-11-17 | 株式会社日立製作所 | 時系列データ管理装置、システム、方法、およびプログラム |
US8595234B2 (en) | 2010-05-17 | 2013-11-26 | Wal-Mart Stores, Inc. | Processing data feeds |
US8762297B2 (en) | 2010-05-17 | 2014-06-24 | Microsoft Corporation | Dynamic pattern matching over ordered and disordered data streams |
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 |
US20130191370A1 (en) | 2010-10-11 | 2013-07-25 | Qiming Chen | System and Method for Querying a Data Stream |
CN103250147B (zh) | 2010-10-14 | 2016-04-20 | 惠普发展公司,有限责任合伙企业 | 数据流的连续查询 |
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 |
US8799271B2 (en) | 2011-01-25 | 2014-08-05 | Hewlett-Packard Development Company, L.P. | Range predicate canonization for translating a query |
US9350567B2 (en) | 2011-01-25 | 2016-05-24 | International Business Machines Corporation | Network resource configurations |
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) |
WO2012152315A1 (en) | 2011-05-10 | 2012-11-15 | Telefonaktiebolaget L M Ericsson (Publ) | Optimised data stream management system |
WO2012172600A1 (ja) * | 2011-06-14 | 2012-12-20 | 株式会社日立製作所 | データ検索システム及びデータ検索方法 |
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 |
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 |
US20130332240A1 (en) | 2012-06-08 | 2013-12-12 | University Of Southern California | System for integrating event-driven information in the oil and gas fields |
US20140082013A1 (en) | 2012-09-20 | 2014-03-20 | Sap Ag | Query templates for queries in data stream management systems |
US9563663B2 (en) | 2012-09-28 | 2017-02-07 | Oracle International Corporation | Fast path evaluation of Boolean predicates |
US9805095B2 (en) | 2012-09-28 | 2017-10-31 | Oracle International Corporation | State initialization for continuous queries over archived views |
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 |
US9098587B2 (en) | 2013-01-15 | 2015-08-04 | Oracle International Corporation | Variable duration non-event pattern matching |
US10298444B2 (en) | 2013-01-15 | 2019-05-21 | Oracle International Corporation | Variable duration windows on continuous data streams |
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 |
US9934279B2 (en) | 2013-12-05 | 2018-04-03 | Oracle International Corporation | Pattern matching across multiple input data streams |
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 |
-
2013
- 2013-05-30 US US13/906,162 patent/US9418113B2/en active Active
-
2014
- 2014-05-28 CN CN201480030482.3A patent/CN105308592B/zh active Active
- 2014-05-28 WO PCT/US2014/039771 patent/WO2014193943A1/en active Application Filing
- 2014-05-28 EP EP14733856.0A patent/EP3005164A1/en not_active Ceased
- 2014-05-28 JP JP2016516778A patent/JP6511438B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102135984A (zh) * | 2010-01-21 | 2011-07-27 | 软件股份公司 | 用于分析对数据流的连续查询的分析系统和方法 |
CN101866353A (zh) * | 2010-06-09 | 2010-10-20 | 孟小峰 | 一种基于位置服务的连续查询隐私保护方法 |
CN102665207A (zh) * | 2012-05-08 | 2012-09-12 | 杭州电子科技大学 | Lbs中基于移动终端的连续查询用户位置隐匿方法 |
CN102892073A (zh) * | 2012-09-11 | 2013-01-23 | 北京航空航天大学 | 一种适用于位置服务系统中面向连续查询的位置匿名方法 |
Non-Patent Citations (1)
Title |
---|
ARVIND ARASU ET AL: "The CQL continuous query language: semantic foundations and query execution", 《THE VLDB JOURNAL;THE INTERNATIONAL JOURNAL ON VERY LARGE DATA BASES》 * |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9535761B2 (en) | 2011-05-13 | 2017-01-03 | Oracle International Corporation | Tracking large numbers of moving objects in an event processing system |
US10102250B2 (en) | 2012-09-28 | 2018-10-16 | Oracle International Corporation | Managing continuous queries with archived relations |
US9703836B2 (en) | 2012-09-28 | 2017-07-11 | Oracle International Corporation | Tactical query to continuous query conversion |
US9715529B2 (en) | 2012-09-28 | 2017-07-25 | Oracle International Corporation | Hybrid execution of continuous and scheduled queries |
US11093505B2 (en) | 2012-09-28 | 2021-08-17 | Oracle International Corporation | Real-time business event analysis and monitoring |
US9946756B2 (en) | 2012-09-28 | 2018-04-17 | Oracle International Corporation | Mechanism to chain continuous queries |
US9953059B2 (en) | 2012-09-28 | 2018-04-24 | Oracle International Corporation | Generation of archiver queries for continuous queries over archived relations |
US9990401B2 (en) | 2012-09-28 | 2018-06-05 | Oracle International Corporation | Processing events for continuous queries on archived relations |
US10025825B2 (en) | 2012-09-28 | 2018-07-17 | Oracle International Corporation | Configurable data windows for archived relations |
US10042890B2 (en) | 2012-09-28 | 2018-08-07 | Oracle International Corporation | Parameterized continuous query templates |
US10956422B2 (en) | 2012-12-05 | 2021-03-23 | Oracle International Corporation | Integrating event processing with map-reduce |
US9934279B2 (en) | 2013-12-05 | 2018-04-03 | Oracle International Corporation | Pattern matching across multiple input data streams |
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 |
US9972103B2 (en) | 2015-07-24 | 2018-05-15 | Oracle International Corporation | Visually exploring and analyzing event streams |
CN109074377A (zh) * | 2016-03-29 | 2018-12-21 | 亚马逊科技公司 | 用于实时处理数据流的受管理功能执行 |
CN109074377B (zh) * | 2016-03-29 | 2024-04-16 | 亚马逊科技公司 | 用于实时处理数据流的受管理功能执行 |
CN109690517A (zh) * | 2016-09-15 | 2019-04-26 | 甲骨文国际公司 | 利用微批处理管理快照和状态 |
CN109716323A (zh) * | 2016-09-15 | 2019-05-03 | 甲骨文国际公司 | 流数据中的空间变化检测器 |
US11573965B2 (en) | 2016-09-15 | 2023-02-07 | Oracle International Corporation | Data partitioning and parallelism in a distributed event processing system |
CN109716322B (zh) * | 2016-09-15 | 2023-03-21 | 甲骨文国际公司 | 用于微批次流传输的复杂事件处理 |
US11615088B2 (en) | 2016-09-15 | 2023-03-28 | Oracle International Corporation | Complex event processing for micro-batch streaming |
CN109690517B (zh) * | 2016-09-15 | 2023-04-04 | 甲骨文国际公司 | 利用微批处理管理快照和状态 |
US11657056B2 (en) | 2016-09-15 | 2023-05-23 | Oracle International Corporation | Data serialization in a distributed event processing system |
CN109716322A (zh) * | 2016-09-15 | 2019-05-03 | 甲骨文国际公司 | 用于微批次流传输的复杂事件处理 |
US11977549B2 (en) | 2016-09-15 | 2024-05-07 | Oracle International Corporation | Clustering event processing engines |
CN113366464A (zh) * | 2019-02-15 | 2021-09-07 | 华为技术有限公司 | 用于在数据库中嵌入流处理执行的系统 |
CN113393296A (zh) * | 2021-06-16 | 2021-09-14 | 北京沃东天骏信息技术有限公司 | 一种数据关系的表示方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3005164A1 (en) | 2016-04-13 |
JP6511438B2 (ja) | 2019-05-15 |
JP2016524756A (ja) | 2016-08-18 |
WO2014193943A1 (en) | 2014-12-04 |
US9418113B2 (en) | 2016-08-16 |
CN105308592B (zh) | 2017-12-19 |
US20140358959A1 (en) | 2014-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105308592A (zh) | 连续数据流中关于关系的基于值的窗口 | |
US11269908B2 (en) | Cross-system journey monitoring based on relation of machine data | |
US11144608B2 (en) | Triggering generation of an accelerated data model summary for a data model | |
US11429627B2 (en) | System monitoring driven by automatically determined operational parameters of dependency graph model with user interface | |
US11741396B1 (en) | Efficient command execution using aggregated compute units | |
US10853124B2 (en) | Managing user data in a multitenant deployment | |
US11061918B2 (en) | Locating and categorizing data using inverted indexes | |
US10997192B2 (en) | Data source correlation user interface | |
US11880399B2 (en) | Data categorization using inverted indexes | |
US20200104401A1 (en) | Real-Time Measurement And System Monitoring Based On Generated Dependency Graph Models Of System Components | |
US10659609B2 (en) | Hierarchy based graphical user interface generation | |
US11172065B1 (en) | Monitoring framework | |
US10769163B2 (en) | Cross-system nested journey monitoring based on relation of machine data | |
US11500783B1 (en) | Evicting data associated with a data intake and query system from a local storage | |
US11436116B1 (en) | Recovering pre-indexed data from a shared storage system following a failed indexer | |
US11106713B2 (en) | Sampling data using inverted indexes in response to grouping selection | |
US11663109B1 (en) | Automated seasonal frequency identification | |
US11829415B1 (en) | Mapping buckets and search peers to a bucket map identifier for searching |
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 |