使操作器图中的流无效的制作方法

文档序号:6496238阅读:144来源:国知局
使操作器图中的流无效的制作方法
【专利摘要】公开了用于在一个或多个处理元件处使包含数据元组的数据流无效的技术。经由数据流接收多个元组,从而基于所述多个元组中的至少一个元组,来确定所述数据流将被无效。然后使所述数据流无效,并且发出消息,该消息使所述基于流的计算系统包括中的并且与被无效的数据相关的一个或多个数据流也被无效。
【专利说明】使操作器图中的流无效
【技术领域】【背景技术】
[0001]计算机数据库已经变得极其复杂,例如,对数据库系统的计算需求已经迅速地增力口。数据库系统典型地配置为将存储数据的处理与对于存储在该数据库中的数据的访问、操控或者使用分隔开。更加具体地说,数据库使用其中首先存储数据,然后索引数据,并且然后查询数据的模型。然而,这一模型不能够满足一些实时应用的性能要求。例如,数据库系统能够接受和存储进入数据的速度会限制能够处理或者以其他方式评估多少数据,这继而限制了配置为实时处理大量数据的数据库应用的效用。
[0002]为了解决这一问题,基于流的计算以及基于流的数据库计算作为用于数据库系统的开发技术正在兴起,其中产品可用并且允许用户创建在流传输的数据到达数据库文件之前处理和查询该流传输的数据的应用。利用这一兴起的技术,用户能够指定处理逻辑以便应用于入站数据,尽管它们出于“进行中(in flight)”,结果在毫秒内可用。使用这一类型的处理构建应用已经开启了新的编程范例,这将允许要被开发的宽范围的创新型应用、系统和处理,并且对于应用程序设计人员和数据开发者提出了新的挑战。
[0003]一个或多个数据流可以在对该一个或多个数据流进行操作的处理元件(processing element)上“环回(looped back)”。结果,生成复制和/或类似的数据流并且该数据流继续由处理元件进行处理。在一些情况下,处理元件可以确定应该不再处理特定数据流,并且该处理元件终止该数据流。不幸的是,与特定数据流相关的所有数据流(也应该不再被处理)继续由其他处理元件进行处理。结果,发生系统资源的浪费的消耗。

【发明内容】

[0004]本发明的一个实施方式提供一种用于使数据流以及与其相关的一个或多个数据流无效的技术。接收数据流,并且基于经由所述数据流接收的至少一个元组来使所述数据流无效。然后发出消息,该消息使包括在基于流的计算系统中的并且与被无效的数据流相关的一个或多个数据流也被无效。
[0005]本发明的另一实施方式提供一种包括多个计算节点的系统,每一个计算节点包括处理器和存储器,其中所述存储器存储管理器,当由所述计算节点执行时,所述管理器配置为使一个或多个数据流无效。所述操作包括接收数据流,基于经由所述数据流接收的至少一个元组来使所述数据流无效,并且发出消息,该消息使包括在基于流的计算系统中的并且与被无效的数据流相关的一个或多个数据流也被无效。
[0006]本发明的进一步实施方式提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质包括用于使计算机系统执行上面阐释的一种或多种方法的指令。
【专利附图】

【附图说明】
[0007]通过参照附图提供对上面简要概述的本发明实施方式的更加具体的描述,能够实现上面陈述的方面并且能够详细地理解这些方面。
[0008]然而,应该注意到,附图仅示出了本发明的典型实施方式,并且因此,并不意在限制本发明的范围,因为本发明可以承认其他等效的实施方式。
[0009]图1A-1B示出了根据本发明实施方式的配置为执行流数据库应用的计算基础设施。
[0010]图2示出了根据本发明实施方式的计算节点。
[0011]图3示出了根据本发明实施方式的管理系统。
[0012]图4示出了根据本发明实施方式的、其中使数据流和与其相关的一个或多个数据流无效的操作器图(operator graph)。
[0013]图5示出了根据本发明实施方式的用于使一个或多个数据流无效的方法。
【具体实施方式】
[0014]本发明实施方式提供用于使数据流以及与其相关的一个或多个数据流无效的技术。处理元件可以基于经由给定数据流接收的某一元组(或多个元组)来使该数据流无效。当处理元件使给定数据流无效时,其也可以发出消息,该消息使得基于流的计算系统中的一个或多个相关的数据流也被无效。结果,降低了处理和带宽资源的浪费消耗。
[0015]在本公开的上下文中,数据流通常指代经过处理元件的序列流动的元组(或多个元组)。每一个处理元件可以通常接收元组(或多个元组)并且向其他处理元件发射元组(或多个元组)。发射的元组可以由所述处理元件未做出改变,但是也可以生成新的或修改的元组。进而,处理元件可以复制元组(或多个元组)并且将副本发送到多个处理元件。即,一个处理元件可以在流中创建分支,其中出去的元组沿多个方向分支出到下游。在这一情况中,一个分支中的处理元件可以确定应该使对于给定元组(或多个元组)的数据流无效。即,处理元件可以确定不应当对该元组执行进一步的处理。在这样的情况下,该处理元件可以配置为由于被无效的元组而不向下游发出任何进一步的元组。进而,在一个实施方式中,处理元件可以通知其他处理元件不处理(或者中止处理)与被无效的一个元组相关的元组。可以将这样的通知直接发送到处理器元件,但是也可以通过流管理器来调解这样的通知。
[0016]下面参照本发明的实施方式。然而,应该理解,本发明并不局限于具体描述的实施方式。而是,可以设计下面特征和元件的组合,无论与不同的实施方式相关与否,来实现和实践本发明。而且,尽管本发明实施方式可以实现优于可能的方案和/或与现有技术的优点,但是特定优点是否由给定实施方式实现并不限制本发明。因而,下面的方面、特征、实施方式和优点只是示出性的,并且除非在权利要求中进行了简要的阐述,并不将其认为是所附权利要求的要素或者限制。同样,对“本发明”的引用不应该被认为是对本文公开的任何创造性主题的概括,并且除非在权利要求中进行了明确阐述,并不将其认为是所附权利要求的要素或者限制。
[0017]本领域的普通技术人员将意识到,可以将本发明的方面体现为系统、方法或者计算机程序产品。因此,本发明的方面可以采取完全硬件实施方式、完全软件实施方式(包括固件、驻留的软件、伪代码等等)或者在本文中通常被称为“电路”、“模块”或者“系统”的组合软件和硬件方面的实施方式的形式。而且,本发明的方面可以采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质具有体现在其上的计算机可读程序代码。
[0018]可以利用一个或多个计算机可读介质的任何组合。所述计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质可以例如是但不局限于电、磁、光、电磁、红外或者半导体系统、装置或者设备,或者前述的任何适当的组合。计算机可读存储介质的更加具体的示例(非排它性列表)将包括下列项目:具有一个或者多个布线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPR0M或闪存)、光纤、便携式压缩盘只读存储器(CD-ROM)、光存储设备、磁存储设备或者前述的任何适当的组合。在本文档的上下文中,计算机可读存储介质可以是能够包含或者存储用于由指令执行系统、装置或者设备使用或者结合该指令执行系统、装置或者设备使用的程序的任何有形介质。
[0019]计算机可读信号介质可以包括其中体现有计算机可读程序代码的传播的数据信号,例如在基带中或者作为载波的一部分。这样传播的信号可以采取任意的各种形式,包括但不局限于电磁、光或者其任何适当的组合。计算机可读信号介质可以是不是计算机可读存储介质并且能够通信、传播或者传输用于由指令执行系统、装置或者设备使用或者结合该指令执行系统、装置或者设备使用的任何计算机可读介质。
[0020]体现在计算机可读介质上的程序代码可以使用任何合适的介质进行传输,包括但不局限于无线、有线、光纤电缆、RF等等或者前述的任何适当组合。
[0021]用于执行对于本发明方面的操作的计算机程序代码可以按照一种或者多种编程语目的任意组合来编写,包括诸如Java、Smalltalk、C++等等的面向对象的编程语目以及诸如“C”编程语言或者类似编程语言的传统的面向过程的编程语言。程序代码可以完全在用户的计算机上、部分地在用户的计算机上、作为单机软件包、部分地在用户的计算机上并且部分地在远程计算机上或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以经过任何类型的网络连接到用户的计算机,包括局域网(LAN)或者宽域网(WAN),或者可以做出到外部计算机的连接(例如,经过使用互联网服务提供商的互联网)。
[0022]下面参照根据本发明实施方式的方法、装置(系统)和计算机程序产品的流程图示出/方框图来描述本发明的方面。将理解,流程图示出和/或方框图的每一个方框以及流程图示出和/或方框图的方框的组合可以由计算机程序指令实现。可以将这些计算机程序指令提供到通用计算机、专用计算机或者其他可编程数据处理装置的处理器以便制造机器,以使得在经由所述计算机或者其他可编程数据处理装置执行所述指令时,创建用于实现在所述流程图和/或方框图的一个或多个方框中指定的功能/动作。
[0023]也可以将这些计算机程序指令存储在计算机可读介质中,该计算机可读介质能够指导计算机、其他可编程数据处理装置或者其他设备按照特定的方式起作用,以使得存储在所述计算机可读介质中的指令产生包括实现在所述流程图和/或方框图的一个或多个方框中指定的功能/动作的指令的制造物品。
[0024]也可以将所述计算机程序指令加载在计算机、其他可编程数据处理装置或者其他设备上以使一系列操作步骤在所述计算机、其他可编程装置或者其他设备上执行以便产生计算机实现的处理,以使得在所述计算机或者其他可编程装置上执行的指令提供用于实现在所述流程图和/或方框图的一个或多个方框中指定的功能/动作的处理。
[0025]可以经过计算基础设施将本发明实施方式提供到终端用户。云计算通常指代经过网络提供可调节的计算资源作为服务。更加正规地,可以将云计算定义为在计算资源及其底层技术架构(例如,服务器、存储、网络)之间提供抽象的计算能力,能够支持到可配置的计算资源的共享池的方便且按需的网络接入,该共享池能够在具有最小的管理努力或者服务提供商交互的情况下进行快速的提供和释放。因而,云计算允许用户访问“云”中的虚拟计算资源(例如,存储、数据、应用以及甚至完全虚拟化的计算系统),而与用于提供该计算资源的底层物理系统(或者那些系统的位置)无关。
[0026]典型地,基于按使用付费(pay-per-use)向用户提供云计算资源,其中仅对于实际使用的用户资源向用户收费(例如,由用户消费的存储空间的量或者由用户实例化的虚拟化系统的数量)。用户能够在任何时间并且从互联网上的任何地点访问驻留在云终端任何资源。在本发明的上下文中,用户可以访问在云中可用的应用或者相关的数据。这样做允许用户从附接到网络的任何计算系统访问这一信息,该网络连接到云(例如,互联网)。
[0027]附图中的流程图和方框图示出了根据本发明各种实施方式的系统、方法和计算机程序产品的可能实现的架构、功能和操作。为此,流程图或者方框图中的每一个方框可以代表代码的模块、段或者部分,包括用于执行指定的一个或多个逻辑功能的一个或多个可执行指令。也应该注意到,在一些备选实现中,方框中标注的功能可以按照与在附图中标注的顺序不同的顺序发生。例如,连续示出的两个方框可以实际上基本上被同时地执行,或者取决于涉及的功能,有时按照相反的顺序来执行这些方框。还将注意到,方框图和/或流程图示出的每一个方框,以及方框图和/或流程图示出中的方框的组合可以由执行指定的功能或者动作的基于专用硬件的系统或者专用硬件和计算机指令的组合来实现。
[0028]图1A-1B示出了根据本发明一个实施方式配置为执行流应用的计算基础设施100。如图所示,计算基础设施100包括管理系统105以及各自连接到通信网络120的多个计算节点13(V4。并且,管理系统105包括操作器图132和流管理器134。操作器图132代表从一个或多个源处理元件(PE)开始直到一个或多个宿PE的流应用。数据元流入流应用的源PE并且由该PE进行处理。典型地,处理元件从该流接收数据元的N元组并且将数据元的N元组发射到该流中(除了流在其处终止的宿PE)。当然,由处理元件接收的N元组不必是向下游发送的相同的N元组。并且处理元件可以配置为按照除了 N元组之外的格式来接收或者发射数据(例如,这些处理元件能够交换被标记为XML文档的数据)。此外,每一个处理元件可以配置为对接收到的元组执行任何形式的数据处理功能,例如,写入到数据库表或者执行诸如数据连接(join)、拆分(split)、读取等等的其他数据库操作,并且执行其他数据分析功能或者操作。
[0029]流管理器134可以配置为监控在计算机节点13(V4上运行的流应用,并且改变操作器图132的结构。例如,流管理器134可以将处理元件(PE)从一个计算节点130移动到另一个计算节点,例如以便管理计算基础设施100中的计算节点130的处理负载。进而,流管理器134可以通过插入、移除、融合、解融合或者以其他方式修改在计算节点130“上运行的处理元件(或者流到该处理元件的数据元组)来控制该流应用。
[0030]图1B示出了包括在计算节点130卜4上运行的十个处理元件(标记为PE1-PE10)的示例操作器图。尽管可以将处理元件执行为独立运行的处理(基于其自身的处理ID(PID)和存储空间),但是可以融合多个处理元件以便作为单个处理(具有PID和存储空间)来运行。在其中两个(或更多个)处理元件独立运行的情况下,会发生使用网络套接字(例如,TCP/IP套接字)的处理间通信。然而,当将处理融合到一起时,融合的处理元件能够使用更加快速的通信技术用于在处理元件(以及每一个处理元件中的操作者)之间传送N元组(或其他数据)。
[0031]如图所示,操作器图开始于从源135进行读取的PEl并且结束于二者都写入到宿HO1^2的PE6和PE10。计算节点UO1包括源PEl连同PE2和PE3。源PEl发射由PE2和PE3接收的元组。例如,PEl可以拆分在元组中接收的数据元,并且将一些数据元传送到PE2且将另一些传送到PE3。流到PE2的数据产生被发射到计算节点1302上的PE4的元组。并且由PE4发射的数据源自流到宿PE6,其向宿HO1写入。类似地,从PE3流到PE5的数据元组也到达宿PE6,该PE6向宿HO1写入。因而,除了作为对于这一示例操作器图的宿,PE6可以配置为执行连接操作,组合从PE4和PE5接收到的元组。这一示例操作器图还示出了从PE3流到计算节点1303上的PE7的数据元组,该计算节点1303本身示出了流到PE8并且环回PE7的数据元组。从PE8发射的数据元组流到计算节点1304上的PE9,该PE9发射由PElO处理的元组,该PElO写入宿1402。
[0032]图2是根据本发明一个实施方式的图1A-1B的计算节点130的更加详细的视图。如图所示,计算节点130非限制性地包括中央处理单元(CPU)205、网络接口 215、互连220、存储器225以及存储230。计算节点130还可以包括用于将I/O设备212 (例如,键盘、显示器和鼠标设备)连接到计算节点130的I/O设备接口 210。
[0033]CPU205获取并且执行存储在存储器225中的编程指令。类似地,CPU205存储并且获取驻留在存储器225中的应用数据。互连220用于在CPU205、I/0设备接口 210、存储230、网络接口 215和存储器225之间发射编程指令和应用数据。包括CPU205以便代表单个CPU、多个CPU、具有多个处理核的单个CPU等等。并且通常包括存储器225以便代表随机访问存储器。诸如硬盘驱动、固态设备(SSD)或者闪存驱动的存储230可以存储非易失性数据。
[0034]在这一示例中,存储器225包括融合的处理元件(PE)235、流节点245和流连接数据255。流街道245包括操作器240的集合。每一个操作器240可以提供配置为处理流入处理元件(例如,PE235)中的数据,并且将数据发射到该PE中的其他操作器240以及发射到流应用中的其他PE的小块可执行代码。这样的PE可以位于相同的计算节点130上或者位于通过数据通信网络120访问的其他计算节点上。
[0035]缓冲的流数据260代表用于从上游处理元件(或者从用于该流应用的数据源)流入计算节点105的数据的存储空间。例如,缓冲的流数据可以包括等待被诸如PE235的处理元件处理的数据元组。缓冲的流数据260还可以存储将被发送到下游处理元件(或者散布在下游处理元件处的负载)的由PE235执行的数据处理的结果。
[0036]图3是根据本发明一个实施方式的图1的管理系统105的更加详细的视图。如图所示,管理系统105非限制性地包括中央处理单元(CPU) 305、网络接口 315、互连320、存储器325以及存储330。客户端系统130还可以包括用于将I/O设备312 (例如,键盘、显示器和鼠标设备)连接到管理系统105的I/O设备接口 310。
[0037]与图2的CPU205类似,CPU305配置为获取并且执行存储在存储器325和存储330中的编程指令。类似地,CPU305配置为存储并且获取驻留在存储器325和存储330中的应用数据。互连32 0配置为在CPU305、I/0设备接口 310、存储单元330、网络接口 315和存储器325之间移动诸如编程指令和应用数据的数据。与CPU205类似,包括CPU305以便代表单个CPU、多个CPU、具有多个处理核的单个CPU等等。通常包括存储器225以便代表随机访问存储器。网络接口 315配置为经由通信网络120传输数据。尽管被表示为单个单元,但是存储330可以是固定和/或可移除存储设备的组合,例如硬盘驱动、可移除存储卡、光学存储、SSD或者闪存设备、网络附接的存储(NAS)或者到存储区域网络(SAN)设备的连接。
[0038]如图所示,存储器325存储流管理器134。存储330包括操作器图132。操作器图132代表从一个或多个源处理元件(PE)开始经过到一个或多个宿PE的流应用。在一个实施方式中,流管理器134监控在计算节点130卜4上运行的流应用,并且根据需要改变操作器图132的结构。例如,流管理器134可以将处理元件(PE)从一个计算节点130移动到另一个计算节点,以便例如管理计算基础设施100中的计算节点130的处理负载。进而,流管理器134可以通过插入、移除、融合、解融合或者以其他方式修改在计算节点130“上运行的处理元件(或者流到该处理元件的数据元组)来控制该流应用。
[0039]图4示出了根据本发明实施方式的、其中使数据流以及一个或多个相关的数据流无效的操作器图。如图所示,数据流402从PE404流到PE406,其中PE406创建数据流402的六个副本,即,数据流、数据流4022、数据流4023、数据流4024、数据流4025和数据流4026。如还示出的,三个数据流从PE406流到PE408用于处理,而其他三个数据流从PE406流到PE410用于处理。
[0040]当PE408和PE410分别处理数据流402^和4024_6时,它们被作为402^’和4024_6’输出,并且被转发到PE412用于进一步处理。当PE412处理数据流402^’时,它们被作为数据流402^’ ’输出,其中数据流402i_5’ ’被转发到PE414,并且数据流4026’ ’被“环回”到PE410用于由PE410进行附加处理,其中PE410可以可选地向PE412输出数据流4026’ ’ ’。
[0041]在特定的时间点,包括在操作器图400中的PE可以确定数据流402的任何部分(例如数据流4026’ ’)被无效。这一确定可以基于各种条件来发生,例如,数据流会要求太多的处理时间并且因此到达与其相关联的到期时间戳。作为另一示例,一个处理元件可以确定对于流经该数据流的元组的集合的数据出于一个或者另一原因而被无效。例如,假设数据流将医疗测试结果评估为研究学习的一部分,并且PE中的一个确定递交的在元组数据中反映的测试是否满足对于该研究学习的数据质量要求。如果数据质量处理元件使给定的测试结果无效,则其可以通知其他处理元件中止(或者不考虑)与被无效的测试结果相关联的元组。即,数据质量处理元件可以使其他相关的数据流无效。
[0042]与图4相关,例如当PE410使给定元组无效时,PE410可以通知包括在操作器图400中的一个或多个PE,以便也使与数据流4026’ ’相关的数据流(例如数据流402i_5’ ’中的任意一个)无效。确定数据流之间的关系可以根据各种技术来执行。在一个示例中,两个数据流可以基于包括在其中的元组之间的共享属性进行相关。在另一示例中,数据流可以基于共享相同的源进行相关,例如,数据流402^相关,因为它们在ΡΕ406处基于特定的输入元组(或者多个元组)生成。由ΡΕ406发射的作为数据流402^的产生的元组也共享共同的历史。
[0043]PE410可以根据各种`技术来通知一个或多个PE。在一个示例中,PE410可以仅向包括在操作器图400中的特定PE或者PE的集合(未示出)发出无效消息。例如,PE404和PE406可以属于PE的第一集合,以使得PE410仅需要向PE的第一集合发出作为多播消息的无效消息,这比向PE404和PE406中的每一个发出单独消息更加有效。
[0044]作为另一示例,PE410可以仅向位于操作器图400的上游和/或下游处的PE发出无效消息。例如,如果PE408确定仅上游PE应该使相关的数据流402无效,则仅PE404和PE406将执行相关的数据流402的无效。可选地,如果PE408确定仅下游PE应该使相关的数据流402无效,则仅PE412和PE414将执行相关的数据流402的无效。
[0045]在另一示例中,PE410可以仅向包括在特定计算节点(未示出)或者计算节点的集合(未示出)中的PE发出无效消息。例如,PE404和406可以正在第一计算节点上执行,PE408、410和412可以正在第二计算节点上执行,并且PE414可以正在第三计算节点上执行。在这一示例中,PE410可以仅向第三计算节点发出无效消息,以使得PE414是执行一个或多个相关的数据流402的无效的除了 PE410的唯一 PE。
[0046]在另一示例中,PE410可以发出仅使具有满足特定准则的历史日志430的PE来使数据流402无效的无效消息。这里,历史日志430可以配置为以任何级别的细节对其中包括的PE的处理获得进行记日志。例如,PE408可以配置为维持由PE408接收和处理的至少一百个元组的记录。因此,无效消息可以包括无效准则,该无效准则例如指定仅在相关的数据流402中包括处理的五十或者更多元组的PE应该使相关的数据流402无效。
[0047]在再一示例中,PE410可以仅向诸如PE414的用作窗部件的PE发出无效消息。这里,PE414配置为聚合经由一个或多个数据流接收的元组。该聚合可以根据各种技术来执行,例如包括对在PE414处接收的至少一百个元组的属性进行加和,对在PE414处在最后两分钟内接收的所有分组的属性进行加和,连接在PE414处接收的特定数据的元组等等。
[0048]图5是根据本发明实施方式使一个或多个数据流无效的方法500的流程图。在一个实施方式中,方法步骤500由包括在计算节点(即,计算节点130)中的PE执行。在备选实施方式中,管理系统105可以配置为执行方法步骤500。如图所示,方法500开始于步骤502,其中诸如PE410的PE建立与提供多个元组的数据流的连接。在一个示例中,参照图4,PE410建立与PE406和PE412的连接以便分别接收数据流4024_6和数据流4026’ ’。
[0049]在步骤504,PE410根据上面结合图4描述的技术确定数据流中的一个或多个元组是否无效。在步骤504处,如果PE410确定数据流中的一个或多个元组无效,则方法500进行到步骤506。否则,PE410继续处理该数据流,直到发生一个或多个元组的无效。
[0050]在步骤506,PE410使该数据流无效,该数据流中的数据在此处被消除。在步骤508,PE410向一个或多个PE发出消息,此情况下该PE使与被无效的数据流相关的任何数据流无效。这一消息可以根据上面结合图4描述的技术进行发出,以使得按照受控的方式发生相关的数据流的无效。
[0051]有利的是,上述的本发明实施方式提供用于使流应用中的数据流无效的技术。具体地说,本发明实施方式提供用于至少基于对数据流进行操作的计算节点、处理元件、历史部件和/或窗部件,来使该数据流无效。结果,减低了处理和带宽资源的浪费消耗。
[0052]附图中的流程图和方框图示出了根据本发明各种实施方式的系统、方法和计算机程序产品的可能实现的架构、功能和操作。为此,流程图或者方框图中的每一个方框可以代表包括用于执行指定的一个或多个逻辑功能的一个或多个可执行指令的代码的模块、段或者部分。还应该注意到,在一些备选实现中,方框中标注的功能可以按照与在附图中标注的顺序不同的顺序发生。例如,连续示出的两个方框可以实际上被基本上同时执行,或者可以按照相反的顺序来执行所述方框,这取决于涉及的功能。也将注意到,方框图和/或流程图示出的每一个方框,以及该方框图和/或流程图示出中的方框的组合,可以由执行指定的功能或者动作的基于专用硬件的系统或者专用硬件和计算机指令的组合来实现。
[0053] 尽管上面涉及本发明实施方式,但是在不偏离本发明基本范围的情况下,可以设计本发明的其他或者进一步实施方式,本发明的范围由所附权利要求进行确定。
【权利要求】
1.一种在基于流的计算系统中实现的方法,所述方法包括: 在配置为处理流经所述基于流的计算系统的数据元组的第一处理元件处,接收与第一数据流相关联的一个或多个数据元组; 基于经由所述第一数据流接收的所述数据元组中的至少一个数据元组,使所述第一数据流无效;以及 发出由被配置为处理流经所述基于流的计算系统的数据元组的至少第二处理元件接收的、使除了所述第一数据流之外的至少第二数据流无效的消息。
2.根据权利 要求1所述的方法,其中使所述第一数据流无效并且使所述第二数据流无效包括:从所述基于流的计算系统移除经由所述第一数据流接收的所有数据元组以及经由所述第二数据流接收的所有数据元组。
3.根据权利要求1所述的方法,其中所述至少第二数据流基于在所述至少一个数据元组和经由所述至少第二数据流接收的所述数据元组之间共享的属性而被确定为与所述数据流相关。
4.根据权利要求1所述的方法,其中所述至少第二数据流被设置在所述第一处理元件的上游和/或下游。
5.根据权利要求1所述的方法,其中仅仅正在由一个或多个单独的计算节点或者计算节点的一个或多个集合处理的相关的数据流被无效。
6.根据权利要求1所述的方法,其中仅仅正在由一个或多个单独的处理元件或者处理元件的一个或多个集合处理的相关的数据流被无效,其中所述处理元件中的每一个处理元件包括至少一个操作器。
7.根据权利要求1所述的方法,其中所述至少第二处理元件包括与特定的准则相匹配的处理日志。
8.根据权利要求1所述的方法,其中所述至少第二处理元件包括执行所述至少第二数据流的聚合的窗部件。
9.一种存储应用的计算机可读存储介质,当在基于流的计算系统中的处理器上执行时,所述应用执行处理,所述处理包括: 在配置为处理流经所述基于流的计算系统的数据元组的第一处理元件处,接收与第一数据流相关联的一个或多个数据元组; 基于经由所述第一数据流接收的所述数据元组中的至少一个数据元组,使所述第一数据流无效;以及 发出由被配置为处理流经所述基于流的计算系统的数据元组的至少第二处理元件接收的、使除了所述第一数据流之外的至少第二数据流无效的消息。
10.根据权利要求9所述的计算机可读存储介质,其中使所述第一数据流无效并且使所述第二数据流无效包括:从所述基于流的计算系统移除经由所述第一数据流接收的所有数据元组以及经由所述第二数据流接收的所有数据元组。
11.根据权利要求9所述的计算机可读存储介质,其中所述至少第二数据流基于在所述至少一个数据元组和经由所述至少第二数据流接收的所述数据元组之间共享的属性而被确定为与所述数据流相关。
12.根据权利要求9所述的计算机可读存储介质,其中所述至少第二数据流设置在所述第一处理元件的上游和/或下游。
13.根据权利要求9所述的计算机可读存储介质,其中仅仅正在由一个或多个单独的计算节点或者计算节点的一个或多个集合处理的相关的数据流被无效。
14.根据权利要求9所述的计算机可读存储介质,其中仅仅正在由一个或多个单独的处理元件或者处理元件的一个或多个集合处理的相关的数据流被无效,其中所述处理元件中的每一个处理元件包括至少一个操作器。
15.根据权利要求9所述的计算机可读存储介质,其中所述至少第二处理元件包括与特定的准则相匹配的处理日志。
16.根据权利要求9所述的计算机可读存储介质,其中所述至少第二处理元件包括执行所述至少第二数据流的聚合的窗部件。
17.—种系统,包括: 多个计算节点,每一个计算节点包括至少处理器和存储器,其中所述存储器存储管理器,当由所述计算节点执行时,所述管理器配置为使一个或多个数据流无效,所述操作包括: 在配置为处理流经所述基于流的计算系统的数据元组的第一处理元件处,接收与第一数据流相关联的一个或多个数据元组,其中所述第一处理元件在所述多个计算节点中包括的第一计算节点上执行; 基于经由所述第一数据流接收的所述数据元组中的至少一个数据元组,使所述第一数据流无效;以及 发出由被配置为处理流经所`述基于流的计算系统的数据元组的至少第二处理元件接收的、使除了所述第一数据流之外的至少第二数据流无效的消息,其中所述第二处理元件在所述第一计算节点上或者在所述多个计算节点中包括的不同的计算节点上执行。
18.根据权利要求17所述的系统,其中使所述第一数据流无效并且使所述第二数据流无效包括:从所述系统移除经由所述第一数据流接收的所有数据元组以及经由所述第二数据流接收的所有数据元组。
19.根据权利要求17所述的系统,其中所述至少第二数据流基于在所述至少一个数据元组和经由所述至少第二数据流接收的所述数据元组之间共享的属性而被确定为与所述数据流相关。
20.根据权利要求17所述的系统,其中所述至少第二数据流设置在所述第一处理元件的上游和/或下游。
21.根据权利要求17所述的系统,其中仅仅正在由所述多个计算节点中的一个或多个单独的计算节点或者所述多个计算节点中的计算节点的一个或多个集合处理的相关的数据流被无效。
22.根据权利要求17所述的系统,其中仅仅正在由一个或多个单独的处理元件或者处理元件的一个或多个集合处理的相关的数据流被无效,其中所述处理元件中的每一个处理元件包括至少一个操作器,并且其中所述处理元件中的每一个处理元件在所述多个计算节点中包括的计算节点上执行。
23.根据权利要求17所述的系统,其中所述至少第二处理元件包括与特定的准则相匹配的处理日志。
24.根据权利要求17所述的系统,其中所述至少第二处理元件包括执行所述至少第二数据流 的聚合的窗部件。
【文档编号】G06F15/173GK103733188SQ201280040265
【公开日】2014年4月16日 申请日期:2012年7月3日 优先权日:2011年8月26日
【发明者】R·K·克拉迪克, J·桑托索索, M·D·普费弗 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1