利用映射缩减集成事件处理的制作方法_4

文档序号:8516055阅读:来源:国知局
统(包括但不限于各种GNU/Linux操作系统)的工作站计算机。作为替代,客户端计算设备302、304、306和308可以是能够经网络(例如,下面描述的网络310)进行通信的任何其它电子设备,诸如瘦客户端计算机、启用因特网的游戏系统,和/或个人消息传送设备。虽然示例性系统环境300被示为具有四个客户端计算设备,但是可以支持任何数量的客户端计算设备。其它设备,诸如带传感器的设备等,可以与服务器312交互。
[0072]系统环境300可以包括网络310。网络310可以是本领域技术人员熟悉的任何类型的网络,这些网络可以利用任何各种商业上可用的协议支持数据通信,包括但不限于TCP/IP、SNA、IPX、AppleTalk等。仅仅作为例子,网络310可以是局域网(LAN),诸如以太网网络、令牌环网络等;广域网;虚拟网络,包括但不限于虚拟专用网(VPN);因特网;内联网;外联网;公共交换电话网(PSTN);红外线网络;无线网络(例如,按照IEEE802.11协议套件、本领域中已知的蓝牙协议和/或任何其它无线协议操作的网络中的任一种);和/或这些和/或其它网络的任意组合。
[0073]系统环境300还包括一个或多个服务器计算机312,其可以是通用计算机、专用服务器计算机(作为例子,包括PC服务器、UNIX服务器、中档服务器、大型计算机、机架式服务器等),服务器群、服务器群集,或者任何其它适当的布置和/或组合。在各种实施例中,服务器312可以适于运行在以上公开内容中描述的一个或多个服务或软件应用。例如,月艮务器312可以对应于图2的连续事件处理器206或映射缩减算法工具208。
[0074]服务器312可以运行操作系统,包括以上讨论的任何操作系统,以及任何商业上可用的服务器操作系统。服务器312还可以运行任何各种附加的服务器应用和/或中间层应用,包括HTTP服务器、FTP服务器、CGI服务器、Java服务器、数据库服务器等。示例性数据库服务器包括但不限于来自Oracle,Microsoft、Sybase、IBM等商业上可用的那些。
[0075]系统环境300还可以包括一个或多个数据库314、316。数据库314、316可以驻留在各种不同的位置。作为例子,数据库314、316中的一个或多个可以驻留在服务器312本地的存储介质上(和/或驻留在服务器312中)。作为替代,数据库314、316可以远离服务器312,并且经基于网络的或专用的连接与服务器312通信。在一组实施例中,数据库314、316可以驻留在本领域技术人员熟悉的存储区域网络(SAN)中。类似地,用于执行服务器312所具有的功能的任何必要的文件都可以适当地本地存储在服务器312上和/或远程存储。在一组实施例中,数据库314、316可以包括适于响应于SQL格式的命令而存储、更新和检索数据的关系型数据库,诸如Oracle 10g。
[0076]图4是可以根据本发明的实施例使用的计算机系统400的简化框图。例如,图2的连续事件处理器206或映射缩减算法工具208可以利用诸如系统400的系统实现。计算机系统400被示为包括可以经总线424电耦合的硬件元件。硬件元件可以包括一个或多个中央处理单元(CPU)402、一个或多个输入设备404(例如,鼠标、键盘等),以及一个或多个输出设备406 (例如,显示设备、打印机等)。计算机系统400还可以包括一个或多个存储设备408。作为例子,(一个或多个)存储设备408可以包括诸如盘驱动器、光存储设备以及诸如随机存取存储器(RAM)和/或只读存储器(ROM)的固态存储设备的设备,它们可以是可编程的、可闪存更新的等。
[0077]计算机系统400还可以包括计算机可读存储介质读取器412、通信子系统414 (例如,调制解调器、网卡(无线的或有线的)、红外通信设备等)和工作存储器418,其中工作存储器418可包括如上所述的RAM和ROM设备。在一些实施例中,计算机系统400还可以包括处理加速单元416,其可以包括数字信号处理器(DSP)、专用处理器等。
[0078]计算机可读存储介质读取器412还可连接到计算机可读存储介质410,一起(并且,可选地,结合(一个或多个)存储设备408)全面地表示远程、本地、固定和/或可移除存储设备加上用于临时和/或更永久地包含计算机可读信息的存储介质。通信系统414可以允许与网络和/或上述任何其它计算机交换数据。
[0079]计算机系统400还可以包括示为当前位于工作存储器418中的软件元素,包括操作系统420和/或其它代码422,诸如应用程序(其可以是客户端应用、Web浏览器、中间层应用、RDBMS等等)。在示例性实施例中,工作存储器418可以包括用于上述技术的可执行代码和相关联的数据结构(诸如高速缓存)。应当认识到,计算机系统400的备选实施例可以具有多个不同于以上所述的变化。例如,定制的硬件也可被使用和/或特定的元素可以用硬件、软件(包括便携式软件,诸如applet (小程序))或两者实现。另外,可以采用到诸如网络输入/输出设备的其它计算设备的连接。
[0080]用于包含代码或代码部分的存储介质和计算机可读介质可以包括本领域中已知或被使用的任何适当的介质,包括存储介质和通信介质,诸如但不限于,以用于诸如计算机可读指令、数据结构、程序模块或其它数据之类的信息的存储和/或传输的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质,包括RAM、R0M、EEPR0M、闪存存储器或其它存储器技术、CD-ROM、数字多样化盘(DVD)或其它光储存器、磁带盒、磁带、磁盘储存器或其它磁存储设备、数据信号、数据传输,或者可以被用来存储或发送期望信息并且可以被计算机访问的任何其它介质。
[0081]图7是根据本发明的实施例的电子设备700的简化框图。电子设备700可以包括启动单元702,其配置为启动相对于截至第一时间已存储在持久性数据存储区中的事件数据执行第一查询的第一批操作;执行单元704,其配置为当第一批操作正在执行时,相对于连续地从数据流中接收到的事件数据连续地执行第二查询;合并单元706,其配置为当第一批操作正在执行时,连续地将第二查询的结果与已完成的第二批操作的结果合并;输出单元708,其配置为连续地输出合并的结果;及替换单元710,其配置为响应于第一批操作的完成,用第一批操作的结果替换第二批操作的结果。
[0082]在例子中,电子设备700还包括存储单元,其配置为当第一批操作正在执行时,连续地并且在持久性数据存储区中存储连续地从数据流中接收到的事件数据;第二启动单元,其配置为响应于第一批操作的完成启动第三批操作,第三批操作相对于截至晚于第一时间的第二时间已存储在持久性数据存储区中的事件数据执行第一查询;第二执行单元,其配置为当第三批操作正在执行时,相对于连续地从数据流中接收到的事件数据连续地执行第二查询;第二合并单元,其配置为当第三批操作正在执行时,连续地将第二查询的结果与已完成的第一批操作的结果合并;第二输出单元,其配置为连续地输出第二查询与已完成的第一批操作的结果合并的结果;及第二替换单元,其配置为响应于第三批操作的完成,用第三批操作的结果替换第一批操作的结果。
[0083]在例子中,第一批操作是映射缩减操作,并且其中第二查询执行与第一查询相同的操作。
[0084]在例子中,电子设备700还包括接收单元,其配置为接收连续查询语言(CQL)查询作为第二查询;及生成单元,其配置为基于CQL查询自动地生成执行CQL查询的操作的映射缩减程序。
[0085]在例子中,电子设备700还包括:第二接收单元,其配置为接收连续查询语言(CQL)查询作为第二查询;解析单元,其配置为自动地解析CQL查询;分离单元,其配置为基于解析自动地将CQL查询分离为第一组运算符;第二生成单元,其配置为基于CQL运算符和Pig Latin运算符之间指定的映射自动地生成执行由第一组CQL运算符执行的运算符的第二组Pig Latin运算符;及第三生成单元,其配置为基于Pig Latin运算符自动地生成执行第一批操作的映射缩减程序。
[0086]在例子中,电子设备700还包括:第三接收单元,其配置为接收连续查询语言(CQL)查询作为第二查询;第二解析单元,其配置为自动地解析CQL查询;第二分离单元,其配置为基于解析自动地将CQL查询分离为第一组运算符;第四生成单元,其配置为基于CQL运算符和Pig Latin运算符之间指定的映射自动地生成执行由第一组CQL运算符执行的运算符的第二组Pig Latin运算符;及第五生成单元,其配置为自动地生成节点的有向图,该有向图包括来自第一组的运算符、来自第二组的运算符、从表示来自第一组的运算符的节点到表示来自第二组的运算符的节点的边、及从表示来自第二组的运算符的节点到表示来自第一组的运算符的节点的边。
[0087]本文公开的各种单元可以用硬件、软件或其组合实现或执行。它们可以用通用的单芯片或多芯片处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、离散硬件组件或设计为执行本文所描述功能的其任意组合来实现。通用处理器可以是微处理器,或者,任何常规的处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、与DSP内核结合的一个或多个微处理器、或任何其它这种配置。在一些实现方式中,单元可以通过特定于给定功能的电路系统来实现。
[0088]虽然已经描述了本发明的具体实施例,但是各种修改、变更、备选构造和等效物也包含在本发明的范围之内。修改、变更、备选构造和等效物包括所公开特征的任意相关的组合。本发明的实施例不限于在某些具体数据处理环境中的操作,而是可以自由地在多种数据处理环境中操作。此外,虽然本发明的实施例已经利用事务和步骤的特定序列进行了描述,但是对本领域技术人员来说应该很显然,本发明的范围不限于所描述的事务和步骤的序列。
[0089]另外,虽然本发明的实施例已经利用硬件和软件的特定组合进行了描述,但是应当认识到,硬件和软件的其它组合也在本发明的范围之内。本发明的实施例可以只用硬件或者只用软件或者利用其组合来实现。
[0090]因此,本说明书和附图要在说明性而不是限制性的意义上理解。但是,很显然,在不背离如权利要求中所阐述的更广泛的精神和范围的情况下,可以对其进行添加、减少、删除以及其它的修改和改变。
【主权项】
1.一种计算机实现的方法,包括: 启动第一批操作,其相对于截至第一时间已存储在持久性数据存储区中的事件数据执行第一查询; 当第一批操作正在执行时,相对于连续地从数据流中接收到的事件数据连续地执行第二查询; 当第一批操作正在执行时,连续地将第二查询的结果与已完成的第二批操作的结果合并; 连续地输出合并的结果;及 响应于第一批操作的完成,用第一批操作的结果替换第二批操作的结果。
2.如权利要求1所述的计算机实现的方法,还包括: 当第一批操作正在执行时,连续地在持久性数据存储区中存储连续地从数据流中接收到的事件数据; 响应于第一批操作的完成,启动第三批操作,其相对于截至晚于第一时间的第二时间已存储在持久性数据存储区中的事件数据执行第一查询; 当第三批操作正在执行时,相对于连续地
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1