一种数据流处理方法和装置与流程

文档序号:12182628阅读:359来源:国知局
一种数据流处理方法和装置与流程

本发明涉及通信技术领域,尤其涉及一种数据流处理方法和装置。



背景技术:

随着科技的进步和用户需求的发展,现在存在大量的实时数据,其中,实时数据实时性强,且数据量大,且没有止境,目前主要通过实时计算系统以流计算的方式对实时数据进行计算,例如:Storm应用。然而,目前的实时计算系统中由于都是依赖JAVA应用程序编程接口(Application Programming Interface,API)实现代码,并打包提交任务实现的,所以已经在运行的实时计算系统的业务逻辑不可变,即实时计算系统中在运行时,该系统的拓扑(Topology)结构是不可变的。但是现在很多需求是希望能够动态调整实时计算系统的处理逻辑,即动态调整实时计算系统的拓扑结构,从而可以适应业务的需求。可见,目前如何动态调整实时计算系统的拓扑结构是当前急需解决的技术问题。



技术实现要素:

本发明实施例提供了一种数据流处理方法和装置,可以动态调整实时计算系统的拓扑结构。

第一方面,本发明实施例提供一种数据流处理方法,包括:

实时计算系统的处理节点接收所述实时计算系统的管理节点发送的用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构;

所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;

当所述处理节点接收到数据流时,所述处理节点对所述数据流进行业务处理,并按照所述更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。

在第一方面的第一种可能的实现方式中,所述方法还包括:

所述处理节点将所述更新的数据流流通表发送至所述实时计算系统的共享存储节点;

当所述处理节点进行故障恢复时,所述处理节点从所述共享存储节点获取所述更新的数据流流通表,并按照所述更新的数据流流通表进行数据流的发送。

结合第一方面或者第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述方法还包括:

所述处理节点向所述实时计算系统的源节点反馈所述数据流流通表更新的更新结果,以使所述更新结构表示更新失败时,由所述源节点向所述管理节点发送所述控制流;

当所述更新结果表示更新失败时,所述处理节点接收所述管理节点发送的所述控制流,并按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表。

结合第一方面或者第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述方法还包括:

所述处理节点向所述实时计算系统的输出节点反馈所述数据流流通表更新的更新结果,由所述输出节点对所述实时计算系统所有的处理节点反馈的所述更新结果进行汇总,并输出汇总结果。

第二方面,本发明实施例提供一种数据流处理方法,包括:

实时计算系统的管理节点接收所述实时计算系统的源节点发送的用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构;

所述管理节点将所述控制流发送至用于对数据流进行业务处理的处理节点,以使所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;当所述处理节点接收到数据流时,由所述处理节点对所述数据流进行业务处理,并按照所述更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。

在第二方面的第一种可能的实现方式中,所述方法还包括:

所述管理节点与所述实时计算系统中的各个所述处理节点建立并保持连 接;

所述管理节点将所述控制流发送至用于对数据流进行业务处理的处理节点,包括:

所述管理节点以广播方式将所述控制流发送至所述实时计算系统的各个所述处理节点。

第三方面,本发明实施例提供一种数据流处理方法,包括:

实时计算系统的源节点获取用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构;

所述源节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;

所述源节点将所述控制流发送给所述实时计算系统的管理节点,以使所述管理节点将所述控制流发送至用于对数据流进行业务处理的处理节点,以使所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;

所述源节点接收数据流,并将所述数据流按照所述源节点更新的数据流流通表包括的数据流流通路径发送至所述处理节点,由所述处理节点对所述数据流进行业务处理,并按照该处理节点更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。

在第三方面的第一种可能的实现方式中,所述方法还包括:

所述源节点将所述更新的数据流流通表发送至所述实时计算系统的共享存储节点;

当所述源节点进行故障恢复时,所述源节点从所述共享存储节点获取所述更新的数据流流通表,并按照所述更新的数据流流通表进行数据流的发送。

结合第三方面或者第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述方法还包括:

所述源节点接收所述处理节点反馈的所述处理节点更新所述数据流流通表的更新结果;

当所述更新结果表示更新失败时,所述源节点向所述管理节点发送所述控 制流,以使所述管理节点向所述处理节点发送所述控制流,由所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新所述数据流流通表。

第四方面,本发明实施例提供一种数据流处理装置,所述装置应用于实时计算系统的处理节点,包括:接收单元、第一更新单元和第一发送单元,其中:

所述接收单元,用于接收实时计算系统的管理节点发送的用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构;

所述第一更新单元,用于按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;

所述第一发送单元,用于当所述处理节点接收到数据流时,对所述数据流进行业务处理,并按照所述更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。

在第四方面的第一种可能的实现方式中,所述装置还包括:

第二发送单元,用于将所述更新的数据流流通表发送至所述实时计算系统的共享存储节点;

恢复单元,用于当所述处理节点进行故障恢复时,从所述共享存储节点获取所述更新的数据流流通表,并按照所述更新的数据流流通表进行数据流的发送。

结合第四方面或者第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述装置还包括:

第一反馈单元,用于向所述实时计算系统的源节点反馈所述数据流流通表更新的更新结果,以使所述更新结构表示更新失败时,由所述源节点向所述管理节点发送所述控制流;

第二更新单元,用于当所述更新结果表示所述第一更新单元更新失败时,接收所述管理节点发送的所述控制流,并按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表。

结合第四方面或者第四方面的第一种可能的实现方式,在第四方面的第三种可能的实现方式中,所述装置还包括:

第二反馈单元,用于向所述实时计算系统的输出节点反馈所述数据流流通 表更新的更新结果,由所述输出节点对所述实时计算系统所有的处理节点反馈的所述更新结果进行汇总,并输出汇总结果。

第五方面,本发明实施例提供一种数据流处理装置,包括:接收单元和发送单元,其中:

所述接收单元,用于接收实时计算系统的源节点发送的用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构;

所述发送单元,用于将所述控制流发送至用于对数据流进行业务处理的处理节点,以使所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;当所述处理节点接收到数据流时,由所述处理节点对所述数据流进行业务处理,并按照所述更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。

在第五方面的第一种可能的实现方式中,所述装置还包括:

保持单元,用于与所述实时计算系统中的各个所述处理节点建立并保持连接;

所述发送单元用于以广播方式将所述控制流发送至所述实时计算系统的各个所述处理节点。

第六方面,本发明实施例提供一种数据流处理装置,所述装置应用于实时计算系统的源节点,包括:获取单元、更新单元、第一发送单元和第二发送单元,其中:

所述获取单元,用于获取用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构;

所述更新单元,用于按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;

所述第一发送单元,用于将所述控制流发送给所述实时计算系统的管理节点,以使所述管理节点将所述控制流发送至用于对数据流进行业务处理的处理节点,以使所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更 新的拓扑结构匹配的数据流流通路径;

所述第二发送单元,用于接收数据流,并将所述数据流按照所述源节点更新的数据流流通表包括的数据流流通路径发送至所述处理节点,由所述处理节点对所述数据流进行业务处理,并按照该处理节点更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。

在第六方面的第一种可能的实现方式中,所述装置还包括:

第三发送单元,用于将所述更新的数据流流通表发送至所述实时计算系统的共享存储节点;

恢复单元,用于当所述源节点进行故障恢复时,从所述共享存储节点获取所述更新的数据流流通表,并按照所述更新的数据流流通表进行数据流的发送。

结合第六方面或者第六方面的第一种可能的实现方式,在第六方面的第二种可能的实现方式中,所述装置还包括:

接收单元,用于接收所述处理节点反馈的所述处理节点更新所述数据流流通表的更新结果;

第四发送单元,用于当所述更新结果表示更新失败时,向所述管理节点发送所述控制流,以使所述管理节点向所述处理节点发送所述控制流,由所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新所述数据流流通表。

上述技术方案中,实时计算系统的处理节点接收所述实时计算系统的管理节点发送的用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构;所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;当所述处理节点接收到数据流时,所述处理节点对所述数据流进行业务处理,并按照所述更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。这样可以通过实时更新数据流流通表的方式实现更新实时计算系统的处理逻辑,即可以动态地调整实时计算系统的拓扑结构。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的数据流处理方法可应用的实时计算系统的架构图;

图2是本发明实施例提供的一种数据流处理方法的流程示意图;

图3是本发明实施例提供的另一种数据流处理方法的流程示意图;

图4是本发明实施例提供的另一种数据流处理方法的流程示意图;

图5是本发明实施例提供的另一种数据流处理方法的流程示意图;

图6是本发明实施例提供的以Storm应用为例的控制流传输示意图;

图7是本发明实施例提供的以Storm应用为例的数据流传输示意图;

图8是本发明实施例提供的一种数据流处理装置的结构示意图;

图9是本发明实施例提供的另一种数据流处理装置的结构示意图;

图10是本发明实施例提供的另一种数据流处理装置的结构示意图;

图11是本发明实施例提供的另一种数据流处理装置的结构示意图;

图12是本发明实施例提供的另一种数据流处理装置的结构示意图;

图13是本发明实施例提供的另一种数据流处理装置的结构示意图;

图14是本发明实施例提供的另一种数据流处理装置的结构示意图;

图15是本发明实施例提供的另一种数据流处理装置的结构示意图;

图16是本发明实施例提供的另一种数据流处理装置的结构示意图;

图17是本发明实施例提供的另一种数据流处理装置的结构示意图;

图18是本发明实施例提供的另一种数据流处理装置的结构示意图;

图19是本发明实施例提供的另一种数据流处理装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,图1是本发明实施例提供的数据流处理方法可应用的实时计算 系统的架构图,如图1所示,包括:监督主体11、源节点12,以及还包括一个或者多个处理节点13和管理模块14,其中,监督主体11分别与源节点12以及各个处理节点13连接,源节点12至少与其中一个处理节点13连接,且各个处理节点13依次相连。另外,管理模块14包括管理节点141和输出节点142,其中,管理节点141与源节点以及各个处理节点13连接,输出节点142与各个处理节点13连接。其中,上述实时计算系统中各节点之间的连接关系表现为该实时计算系统的拓扑(Topology),或者理解为拓扑模型。

需要说明的是,本实施例中描述的节点之间的连接可以理解为逻辑连接上的连接,连接的节点之间可以进行数据流或者控制流的传输。

在上述实时计算系统在运行时,数据流从源节点12流入,然后源节点12按照存储的数据流流通表将数据流发送给对应的处理节点13,该处理节点13对接收的数据流进行业务处理,其中,该业务处理可以包括对数据流进行实时计算或者理解为流计算,该处理节点13按照存储的数据流流通表将业务处理后的数据流发送给另一处理节点13,由该处理节点13按照存储的数据流流通表将业务处理后的数据流发送给另一节点或者输出结果。其中,本发明实施例中,数据流流通表包括与实时计算系统的拓扑结构匹配的数据流流通路径,即本实施例中,通过数据流流通表来控制数据流的传输路径或者传输结构,这样无论是源节点12还是处理节点13都可以通过各自存储的数据流流通表将当前需要发送的数据流发送至相应的节点。例如:上述实时计算系统的拓扑结构包括源节点12连接处理节点A,处理节点A再连接处理节点B,处理节点B再连接处理节点C,处理节点C为结束节点。这样在源节点12存储的数据流流通表就可以包括数据流由源节点12发送至处理节点A的映射,处理节点A存储的数据流流通表就可以包括数据流由处理节点A发送至处理节点B的映射,处理节点B存储的数据流流通表就可以包括数据流由处理节点B发送至处理节点C的映射,处理节点C存储的数据流流通表就可以包括处理节点C输出业务处理结果的映射。当然,本实施例中,每个节点存储的数据流流通表可以包括所有映射或者仅包括与自己相关的映射。

在上述实时计算系统在运行时,控制流可以从源节点12传输至管理节点141,其中,该控制流用于描述所述实时计算系统当前需要更新的拓扑结构。管理节点141再将控制流传输给每个处理节点13,这样这些处理节点13就可以根 据控制流更新存储的数据流流通表,从而实现动态调整实时计算系统的拓扑结构。

另外,本发明实施例中,上述实时计算系统可以是分布式系统,即上述各节点可以分布运行在不同的机器中,当然,也可以允许其中的一部分节点运行在同一机器中,例如:管理节点121和输出节点122可以运行在同一机器中或者运行在不同的机器中。另外,本发明实施例中,这些机器不作限定,例如:这些机器可以是计算机或者服务器等。

请参阅图2,图2是本发明实施例提供的一种数据流处理方法的流程示意图,如图2所示,包括以下步骤:

201、实时计算系统的处理节点接收所述实时计算系统的管理节点发送的用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构。

本实施例中,上述控制流描述的当前需要更新的拓扑结构可以是实时计算系统当前需要更新的完整拓扑结构,例如:上述控制流可以描述如图1所示的源节点、处理节点、管理节点和输出节点之间的拓扑结构。或者,上述控制流描述的当前需要更新的拓扑结构可以是当前需要调整的拓扑结构,例如:原先的拓扑结构中处理节点A连接处理节点B,处理节点B再连接处理节点C,即数据流的流通顺序是处理节点A到处理节点B再到处理节点C,而当前需要调整为处理节点A连接处理节点C,处理节点C再连接处理节点B。那么,上述控制流可以仅是描述处理节点A连接处理节点C,处理节点C再连接处理节点B的拓扑结构,即更新后,数据流的流通顺序是处理节点A到处理节点B再到处理节点C。

另外,本实施例中,上述控制流可以理解为控制流信息,即上述控制流可以理解为一条信息。

202、处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径。

本实施例中,处理节点存储有与原拓扑结构匹配的数据流流通表,当接收到上述控制流时,即当前拓扑结构需要更新时,就可以按照当前需要更新的拓 扑结构更新数据流流通表。而更新后的数据流流通表包括与当前需要更新的拓扑结构匹配的数据流流通路径,这样就可以实现该处理节点在发送数据流时,是按照更新后的拓扑结构发送数据流。

另外,上述与当前需要更新的拓扑结构匹配的数据流流通路径可以理解为在当前需要更新的拓扑结构中数据流的流通路径或者流通结构。例如:当前需要更新的拓扑结构是处理节点A连接处理节点C,那么,上述更新的数据流流通表就会包括数据流从处理节点A传输给处理节点C,即当执行步骤202的处理节点为处理节点A,那么,上述更新的数据流流通表就可以包括将数据流传输至处理节点C的数据流流通路径。

203、当所述处理节点接收到数据流时,所述处理节点对所述数据流进行业务处理,并按照所述更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。

通过上述步骤可以实现处理节点在发送数据流时是按照更新的拓扑结构进行发送的,从而可以实现动态地调整实时计算系统的拓扑结构。另外,在实时计算系统在进行巨量业务运行时通过上述步骤动态调整实时计算系统的拓扑结构不会对正在进行处理的数据流造成的干扰。另外,当实时计算系统为分布式系统,各个节点运行在不同的机器时,通过上述步骤动态调整实时计算系统的拓扑结构可以避免某个机器的修改滞后导致的问题。

本实施例中,上述处理节点可以是实时计算系统中的任意处理节点。

本实施例中,实时计算系统的处理节点接收所述实时计算系统的管理节点发送的用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构;所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;当所述处理节点接收到数据流时,所述处理节点对所述数据流进行业务处理,并按照所述更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。这样可以通过实时更新数据流流通表的方式实现更新实时计算系统的处理逻辑,即可以动态地调整实时计算系统的拓扑结构。

请参阅图3,图3是本发明实施例提供的另一种数据流处理方法的流程示意 图,如图3所示,包括以下步骤:

301、实时计算系统的处理节点接收所述实时计算系统的管理节点发送的用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构。

302、处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径。

本实施例中,处理节点在更新数据流流通表时,可以暂停数据流发送,但可以对数据流进行业务处理。或者处理节点在更新数据流流通表时,可以暂停对数据流进行业务处理和数据流发送。在更新完数据流流通表时,恢复暂停的数据流发送和/或对数据流的业务处理。这样可以实现在动态调整实时计算系统的拓扑结构时,不然会出现数据流的错误处理和系统的阻塞影响性能。

303、当所述处理节点接收到数据流时,所述处理节点对所述数据流进行业务处理,并按照所述更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。

上述方法还可以包括如下步骤:

304、处理节点将所述更新的数据流流通表发送至所述实时计算系统的共享存储节点。

305、当所述处理节点进行故障恢复时,所述处理节点从所述共享存储节点获取所述更新的数据流流通表,并按照所述更新的数据流流通表进行数据流的发送。

该实施方式中,可以实现处理节点在出现故障后,进行恢复时可以直接从共享存储节点获取步骤302更新的数据流流通表,从而可以实现处理节点在出现故障后,可以从共享存储节点中读取并初始化该数据流流通表,即完成了动态调整拓扑结构的高可用(High Availability,HA)机制。

本实施例中,上述方法还可以包括如下步骤:

所述处理节点向所述实时计算系统的源节点反馈所述数据流流通表更新的更新结果,以使所述更新结构表示更新失败时,由所述源节点向所述管理节点发送所述控制流;

当所述更新结果表示更新失败时,所述处理节点接收所述管理节点发送的 所述控制流,并按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表。

该实施方式中,上述更新结果可以是步骤302的更新结果,当步骤302更新成功时,就可以通过上述更新结果告诉源节点上述处理节点更新成功。当更新失败时,通过上述更新结果告诉源节点上述处理节点更新失败,这样上述源节点就会再次向管理节点发送上述控制流,由管理节点再次向该处理节点发送上述控制流以使处理节点再次进行更新。当然,在源节点再次向管理节点发送上述控制流时,还可以携带有更新失败的处理节点的标识信息,这样可以使管理节点只向更新失败的处理节点再次发送控制流,而不向更新成功的处理节点再次发送控制流,以节约传输资源。

该实施方式可以实现能够正确反馈更新结果,假如更新失败,能够再次启动更新任务。

本实施例中,上述方法还可以包括如下步骤:

处理节点向所述实时计算系统的输出节点反馈所述数据流流通表更新的更新结果,由所述输出节点对所述实时计算系统所有的处理节点反馈的所述更新结果进行汇总,并输出汇总结果。

该输出节点可以获取每一个处理节点反馈的更新结果,这样输出节点就可以对其进行汇总,从而可以输出汇总结果,例如:将该汇总结果发送给展现设备,或者将该汇总结果进行打印等,从而让用户知道实时计算系统的拓扑结构调整的状态。

本实施例中,在图2所示的实施例的基础上增加了多种可选的实施方式,且都可以实现动态调整实时计算系统的拓扑结构。

请参阅图4,图4是本发明实施例提供的另一种数据流处理方法的流程示意图,如图4所示,包括以下步骤:

401、实时计算系统的管理节点接收所述实时计算系统的源节点发送的用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构。

本实施例中,上述控制流可以包括当前需要更新的拓扑结构的结构信息,以及还可以包括管理节点或者管理模块内部处理逻辑约定好的控制流分解结构 标识,即可以通过控制流分解结构标识和结构信息识别出当前需要更新的拓扑结构。

402、管理节点将所述控制流发送至用于对数据流进行业务处理的处理节点,以使所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;当所述处理节点接收到数据流时,由所述处理节点对所述数据流进行业务处理,并按照所述更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。

本实施例中,管理节点可以是向实时计算系统中的所有处理节点发送上述控制流,这样所有处理节点都会对其存储的数据流流通表进行更新。例如:上述方法还可以包括如下步骤:

所述管理节点与所述实时计算系统中的各个所述处理节点建立并保持连接;

上述管理节点将所述控制流发送至用于对数据流进行业务处理的处理节点的步骤,可以包括:

所述管理节点以广播方式将所述控制流发送至所述实时计算系统的各个所述处理节点。

这样就可以实现通过广播方式将控制流发送给所有处理节点。

当然,本实施例中,管理节点还可以只是向部分处理节点发送控制流,例如:当前需要更新的拓扑结构中只涉及到部分处理节点时,那么,管理节点就可以只向这些被涉及到的处理节点发送控制流,以使这些被涉及到处理节点更新数据流流通表,而没有被涉及到则可以不更新数据流流通表。

本实施例中,实时计算系统的管理节点接收所述实时计算系统的源节点发送的用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构;所述管理节点将所述控制流发送至用于对数据流进行业务处理的处理节点,以使所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;当所述处理节点接收到数据流时,由所述处理节点对所述数据流进行业务处理,并按照所述更新的数据流流通表包括的数据流流通路径发送所述业务处 理后的数据流。这样可以实现动态调整实时计算系统的拓扑结构。

请参阅图5,图5是本发明实施例提供的另一种数据流处理方法的流程示意图,如图5所示,包括以下步骤:

501、实时计算系统的源节点获取用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构。

其中,上述控制流可以是源节点接收用户输入的控制流。这里的控制流可以参考图1-4所示的实施例中描述的控制流,此处不作重复说明。

502、源节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径。

源节点接收到上述控制流后,就可以对其进行分解,并根据分解获取的当前需要更新的拓扑结构更新数据流流通表。另外,源节点会存储或者缓存更新后的数据流流通表。当然,还可以存储或者缓存上述控制流。

503、源节点将所述控制流发送给所述实时计算系统的管理节点,以使所述管理节点将所述控制流发送至用于对数据流进行业务处理的处理节点,以使所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径。

通过该步骤就可以实现由管理节点将控制流发送至处理节点,处理节点再对其存储的数据流流通表进行更新。

504、源节点接收数据流,并将所述数据流按照所述源节点更新的数据流流通表包括的数据流流通路径发送至所述处理节点,由所述处理节点对所述数据流进行业务处理,并按照该处理节点更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。

本实施例中,上述数据流可以用户输入的数据或者采集设备传输的数据等实时计算系统当前需要计算的数据。

由于步骤502更新数据流流通表,这样步骤504按照更新后的数据流流通表发送数据流,就可以实现源节点是按照更新后的拓扑结构发送数据流,以实 现动态调整实时计算系统的拓扑结构。

本实施例中,上述方法还可以包括如下步骤:

所述源节点将所述更新的数据流流通表发送至所述实时计算系统的共享存储节点;

当所述源节点进行故障恢复时,所述源节点从所述共享存储节点获取所述更新的数据流流通表,并按照所述更新的数据流流通表进行数据流的发送。

该实施方式中,可以实现源节点在出现故障后,进行恢复时可以直接从共享存储节点获取步骤502更新的数据流流通表,从而可以实现源节点在出现故障后,可以从共享存储节点中读取并初始化该数据流流通表,即完成了动态调整拓扑结构的HA机制。

本实施例中,上述方法还可以包括如下步骤:

所述源节点接收所述处理节点反馈的所述处理节点更新所述数据流流通表的更新结果;

当所述更新结果表示更新失败时,所述源节点向所述管理节点发送所述控制流,以使所述管理节点向所述处理节点发送所述控制流,由所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新所述数据流流通表。

该实施方式中,可以及时获取各处理节点当前更新数据流流通表的更新结果。当某一个或者多个处理节点更新失败时,源节点可以触发管理节点向更新失败的处理节点发送控制流,以使更新失败的处理节点再次更新数据流流通表。

本实施例中,实时计算系统的源节点获取用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构;所述源节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;所述源节点将所述控制流发送给所述实时计算系统的管理节点,以使所述管理节点将所述控制流发送至用于对数据流进行业务处理的处理节点,以使所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;所述源节点接收数据流,并将所述数据流按照所述源节点更新的数据流流通表包括的数据流流通路径发送至所述处理节点,由所述处理节点对所述数据流进行业务处理,并按 照该处理节点更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。可以动态调整实时计算系统的拓扑结构。

请参阅图6,图6是本发明实施例提供的以Storm应用为例的控制流传输示意图,如图6所示,包括:

601、报警节点接收控制流消息,解析控制流消息获取控制流,并根据该控制流更新数据流流通表,以及将控制流消息发送至警局节点。

其中,Storm应用为实时计算系统。上述报警节点可以理解为图1-图5所示的实施例中的源节点。该报警节点为Storm实时计算系统的Spout功能类节点,其中,Spout功能类是指是Storm应用中的数据源类,用于接收外部数据流并发送,或者自己构建数据流发送。

上述警局节点理解为图1-图5所示的实施例中的管理节点,警局节点为Storm应用中Bolt功能类节点,依赖警察模块主体(图1所示的实施例中的管理模块主体)的支撑,内部自动集成在Storm应用拓扑结构中,跟Storm应用中除给自己发送数据的报警节点外的所有节点保持连通。其中,Bolt功能类节点是Storm应用中的数据处理节点,各个Bolt实现了不同的业务逻辑,多个Bolt组合完成复杂的业务逻辑处理。

602、警局节点将控制流消息发送给警务节点A、警务节点B和警务节点C。

其中,警务节点可以理解为图1-图5所示的实施例中的处理节点,为Bolt功能类节点。

603、警务节点A分解控制流消息,并根据分解获取的控制流更新数据流流通表。

604、警务节点A将控制流处理消息反馈给警报节点,以及将处理过程的反馈消息反馈给报警节点。

当步骤603更新失败时,警务节点A可以从报警节点获取到控制流消息,以实现再次进行更新,该情况下,向警报节点反馈的控制流处理消息可以是再次更新的更新结果。

605、警务节点B分解控制流消息,并根据分解获取的控制流更新数据流流通表。

606、警务节点B将控制流处理消息反馈给警报节点,以及将处理过程的反 馈消息反馈给报警节点。

607、警务节点C分解控制流消息,并根据分解获取的控制流更新数据流流通表。

608、警务节点C将控制流处理消息反馈给警报节点,以及将处理过程的反馈消息反馈给报警节点。

609、警报节点汇总反馈的更新结构,并按照预定的逻辑发送或者打印控制流处理结构。

请参阅图7,图7是本发明实施例提供的以Storm应用为例的数据流传输示意图,如图7所示,包括:

701、报警节点接收数据流,并按照数据流流通表将数据流发送给处理节点A。

702、警务节点A对接收到数据流进行业务处理,并按照数据流流通表将业务处理后的数据流发送给警务节点B。

703、警务节点B对接收到数据流进行业务处理,并按照数据流流通表将业务处理后的数据流发送给警务节点C。

704、警务节点C对接收到数据流进行业务处理,并按照数据流流通表将业务处理后的数据流发送给下一个节点或者输出结果。

请参阅图8,图8是本发明实施例提供的一种数据流处理装置的结构示意图,如图8所示,包括:接收单元81、第一更新单元82和第一发送单元83,其中:

接收单元81,用于接收实时计算系统的管理节点发送的用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构。

需要说明的是,本实施例中的数据流处理装置可以应用于实时计算系统的处理节点,例如:如图1所示的处理节点。

本实施例中,上述控制流描述的当前需要更新的拓扑结构可以是实时计算系统当前需要更新的完整拓扑结构,例如:上述控制流可以描述如图1所示的源节点、处理节点、管理节点和输出节点之间的拓扑结构。或者,上述控制流描述的当前需要更新的拓扑结构可以是当前需要调整的拓扑结构,例如:原先 的拓扑结构中处理节点A连接处理节点B,处理节点B再连接处理节点C,即数据流的流通顺序是处理节点A到处理节点B再到处理节点C,而当前需要调整为处理节点A连接处理节点C,处理节点C再连接处理节点B。那么,上述控制流可以仅是描述处理节点A连接处理节点C,处理节点C再连接处理节点B的拓扑结构,即更新后,数据流的流通顺序是处理节点A到处理节点B再到处理节点C。

另外,本实施例中,上述控制流可以理解为控制流信息,即上述控制流可以理解为一条信息。

第一更新单元82,用于按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径。

本实施例中,处理节点存储有与原拓扑结构匹配的数据流流通表,当接收到上述控制流时,即当前拓扑结构需要更新时,就可以按照当前需要更新的拓扑结构更新数据流流通表。而更新后的数据流流通表包括与当前需要更新的拓扑结构匹配的数据流流通路径,这样就可以实现该处理节点在发送数据流时,是按照更新后的拓扑结构发送数据流。

另外,上述与当前需要更新的拓扑结构匹配的数据流流通路径可以理解为在当前需要更新的拓扑结构中数据流的流通路径或者流通结构。例如:当前需要更新的拓扑结构是处理节点A连接处理节点C,那么,上述更新的数据流流通表就会包括数据流从处理节点A传输给处理节点C,即当上述装置应用于处理节点为处理节点A,那么,上述更新的数据流流通表就可以包括将数据流传输至处理节点C的数据流流通路径。

第一发送单元83,用于当所述处理节点接收到数据流时,对所述数据流进行业务处理,并按照所述更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。

通过上述装置可以实现处理节点在发送数据流时是按照更新的拓扑结构进行发送的,从而可以实现动态地调整实时计算系统的拓扑结构。另外,在实时计算系统在进行巨量业务运行时通过上述步骤动态调整实时计算系统的拓扑结构不会对正在进行处理的数据流造成的干扰。另外,当实时计算系统为分布式系统,各个节点运行在不同的机器时,通过上述步骤动态调整实时计算系统的 拓扑结构可以避免某个机器的修改滞后导致的问题。

本实施例中,上述处理节点可以是实时计算系统中的任意处理节点。

本实施例中,实时计算系统的处理节点接收所述实时计算系统的管理节点发送的用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构;所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;当所述处理节点接收到数据流时,所述处理节点对所述数据流进行业务处理,并按照所述更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。这样可以通过实时更新数据流流通表的方式实现更新实时计算系统的处理逻辑,即可以动态地调整实时计算系统的拓扑结构。

请参阅图9,图9是本发明实施例提供的另一种数据流处理装置的结构示意图,如图9所示,包括:接收单元91、第一更新单元92和第一发送单元93,其中:

接收单元91,用于接收实时计算系统的管理节点发送的用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构。

需要说明的是,本实施例中的数据流处理装置可以应用于实时计算系统的处理节点,例如:如图1所示的处理节点。

第一更新单元92,用于按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径。

本实施例中,处理节点在更新数据流流通表时,可以暂停数据流发送,但可以对数据流进行业务处理。或者处理节点在更新数据流流通表时,可以暂停对数据流进行业务处理和数据流发送。在更新完数据流流通表时,恢复暂停的数据流发送和/或对数据流的业务处理。这样可以实现在动态调整实时计算系统的拓扑结构时,不然会出现数据流的错误处理和系统的阻塞影响性能。

第一发送单元93,用于当所述处理节点接收到数据流时,对所述数据流进行业务处理,并按照所述更新的数据流流通表包括的数据流流通路径发送所述 业务处理后的数据流。

本实施例中,所述装置还可以包括:

第二发送单元94,用于将所述更新的数据流流通表发送至所述实时计算系统的共享存储节点;

恢复单元95,用于当所述处理节点进行故障恢复时,从所述共享存储节点获取所述更新的数据流流通表,并按照所述更新的数据流流通表进行数据流的发送。

该实施方式中,可以实现处理节点在出现故障后,进行恢复时可以直接从共享存储节点获取第一更新单元92更新的数据流流通表,从而可以实现处理节点在出现故障后,可以从共享存储节点中读取并初始化该数据流流通表,即完成了动态调整拓扑结构的HA机制。

如图10所示,上述装置还可以包括:

第一反馈单元96,用于向所述实时计算系统的源节点反馈所述数据流流通表更新的更新结果,以使所述更新结构表示更新失败时,由所述源节点向所述管理节点发送所述控制流;

第二更新单元97,用于当所述更新结果表示所述第一更新单元更新失败时,接收所述管理节点发送的所述控制流,并按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表。

该实施方式中,上述更新结果可以是第一更新单元92的更新结果,当第一更新单元92更新成功时,就可以通过上述更新结果告诉源节点上述处理节点更新成功。当更新失败时,通过上述更新结果告诉源节点上述处理节点更新失败,这样上述源节点就会再次向管理节点发送上述控制流,由管理节点再次向该处理节点发送上述控制流以使处理节点再次进行更新。当然,在源节点再次向管理节点发送上述控制流时,还可以携带有更新失败的处理节点的标识信息,这样可以使管理节点只向更新失败的处理节点再次发送控制流,而不向更新成功的处理节点再次发送控制流,以节约传输资源。

该实施方式可以实现能够正确反馈更新结果,假如更新失败,能够再次启动更新任务。

如图11所示,上述装置还可以包括:

第二反馈单元98,用于向所述实时计算系统的输出节点反馈所述数据流流 通表更新的更新结果,由所述输出节点对所述实时计算系统所有的处理节点反馈的所述更新结果进行汇总,并输出汇总结果。

该输出节点可以获取每一个处理节点反馈的更新结果,这样输出节点就可以对其进行汇总,从而可以输出汇总结果,例如:将该汇总结果发送给展现设备,或者将该汇总结果进行打印等,从而让用户知道实时计算系统的拓扑结构调整的状态。

本实施例中,在图8所示的实施例的基础上增加了多种可选的实施方式,且都可以实现动态调整实时计算系统的拓扑结构。

请参阅图12,图12是本发明实施例提供的另一种数据流处理装置的结构示意图,如图12所示,包括:接收单元121和发送单元122,其中:

接收单元121,用于接收实时计算系统的源节点发送的用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构。

需要说明的是,本实施例提供的数据流处理装置可以应用于实时计算系统的管理节点,例如:图1所示的管理节点。

本实施例中,上述控制流可以包括当前需要更新的拓扑结构的结构信息,以及还可以包括管理节点或者管理模块内部处理逻辑约定好的控制流分解结构标识,即可以通过控制流分解结构标识和结构信息识别出当前需要更新的拓扑结构。

发送单元122,用于将所述控制流发送至用于对数据流进行业务处理的处理节点,以使所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;当所述处理节点接收到数据流时,由所述处理节点对所述数据流进行业务处理,并按照所述更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。

本实施例中,管理节点可以是向实时计算系统中的所有处理节点发送上述控制流,这样所有处理节点都会对其存储的数据流流通表进行更新。例如:如图13所示,上述装置还可以包括:

保持单元123,用于与所述实时计算系统中的各个所述处理节点建立并保持 连接;

所述发送单元122用于以广播方式将所述控制流发送至所述实时计算系统的各个所述处理节点。

这样就可以实现通过广播方式将控制流发送给所有处理节点。

当然,本实施例中,管理节点还可以只是向部分处理节点发送控制流,例如:当前需要更新的拓扑结构中只涉及到部分处理节点时,那么,管理节点就可以只向这些被涉及到的处理节点发送控制流,以使这些被涉及到处理节点更新数据流流通表,而没有被涉及到则可以不更新数据流流通表。

本实施例中,实时计算系统的管理节点接收所述实时计算系统的源节点发送的用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构;所述管理节点将所述控制流发送至用于对数据流进行业务处理的处理节点,以使所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;当所述处理节点接收到数据流时,由所述处理节点对所述数据流进行业务处理,并按照所述更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。这样可以实现动态调整实时计算系统的拓扑结构。

请参阅图14,图14是本发明实施例提供的另一种数据流处理装置的结构示意图,如图14所示,包括:获取单元141、更新单元142、第一发送单元143和第二发送单元144,其中:

获取单元141,用于获取用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构;

需要说明的是,本实施例中提供的数据流处理装置可以应用于实时计算系统的源节点,例如:如图1所示的源节点。

其中,上述控制流可以是源节点接收用户输入的控制流。这里的控制流可以参考图1-4所示的实施例中描述的控制流,此处不作重复说明。

更新单元142,用于按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径。

源节点接收到上述控制流后,就可以对其进行分解,并根据分解获取的当前需要更新的拓扑结构更新数据流流通表。另外,源节点会存储或者缓存更新后的数据流流通表。当然,还可以存储或者缓存上述控制流。

第一发送单元143,用于将所述控制流发送给所述实时计算系统的管理节点,以使所述管理节点将所述控制流发送至用于对数据流进行业务处理的处理节点,以使所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;

通过该单元就可以实现由管理节点将控制流发送至处理节点,处理节点再对其存储的数据流流通表进行更新。

第二发送单元144,用于接收数据流,并将所述数据流按照所述源节点更新的数据流流通表包括的数据流流通路径发送至所述处理节点,由所述处理节点对所述数据流进行业务处理,并按照该处理节点更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。

本实施例中,上述数据流可以用户输入的数据或者采集设备传输的数据等实时计算系统当前需要计算的数据。

由于更新单元142更新数据流流通表,这样第二发送单元144按照更新后的数据流流通表发送数据流,就可以实现源节点是按照更新后的拓扑结构发送数据流,以实现动态调整实时计算系统的拓扑结构。

本实施例中,如图15所示,上述装置还可以包括:

第三发送单元145,用于将所述更新的数据流流通表发送至所述实时计算系统的共享存储节点;

恢复单元146,用于当所述源节点进行故障恢复时,从所述共享存储节点获取所述更新的数据流流通表,并按照所述更新的数据流流通表进行数据流的发送。

该实施方式中,可以实现源节点在出现故障后,进行恢复时可以直接从共享存储节点获取更新单元142更新的数据流流通表,从而可以实现源节点在出现故障后,可以从共享存储节点中读取并初始化该数据流流通表,即完成了动态调整拓扑结构的HA机制。

本实施例中,如图16所示,所述装置还可以包括:

接收单元147,用于接收所述处理节点反馈的所述处理节点更新所述数据流流通表的更新结果;

第四发送单元148,用于当所述更新结果表示更新失败时,向所述管理节点发送所述控制流,以使所述管理节点向所述处理节点发送所述控制流,由所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新所述数据流流通表。

该实施方式中,可以及时获取各处理节点当前更新数据流流通表的更新结果。当某一个或者多个处理节点更新失败时,源节点可以触发管理节点向更新失败的处理节点发送控制流,以使更新失败的处理节点再次更新数据流流通表。

本实施例中,实时计算系统的源节点获取用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构;所述源节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;所述源节点将所述控制流发送给所述实时计算系统的管理节点,以使所述管理节点将所述控制流发送至用于对数据流进行业务处理的处理节点,以使所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;所述源节点接收数据流,并将所述数据流按照所述源节点更新的数据流流通表包括的数据流流通路径发送至所述处理节点,由所述处理节点对所述数据流进行业务处理,并按照该处理节点更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。可以动态调整实时计算系统的拓扑结构。

请参阅图17,图17是本发明实施例提供的另一种数据流处理装置的结构示意图,该装置应用于实时计算系统的处理节点,如图17所示,包括:处理器171、网络接口172、存储器173和通信总线174,其中,所述通信总线174用于实现所述处理器171、网络接口172和存储器173之间连接通信,所述处理器171执行所述存储器173中存储的程序用于实现以下方法:

接收所述实时计算系统的管理节点发送的用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新 的拓扑结构;

按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;

当处理节点接收到数据流时,对所述数据流进行业务处理,并按照所述更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。

本实施例中,处理器171还可以执行如下程序:

将所述更新的数据流流通表发送至所述实时计算系统的共享存储节点;

当所述处理节点进行故障恢复时,从所述共享存储节点获取所述更新的数据流流通表,并按照所述更新的数据流流通表进行数据流的发送。

本实施例中,处理器171还可以执行如下程序:

向所述实时计算系统的源节点反馈所述数据流流通表更新的更新结果,以使所述更新结构表示更新失败时,由所述源节点向所述管理节点发送所述控制流;

当所述更新结果表示更新失败时,所述处理节点接收所述管理节点发送的所述控制流,并按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表。

本实施例中,处理器171还可以执行如下程序:

向所述实时计算系统的输出节点反馈所述数据流流通表更新的更新结果,由所述输出节点对所述实时计算系统所有的处理节点反馈的所述更新结果进行汇总,并输出汇总结果。

本实施例中,实时计算系统的处理节点接收所述实时计算系统的管理节点发送的用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构;所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;当所述处理节点接收到数据流时,所述处理节点对所述数据流进行业务处理,并按照所述更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。这样可以通过实时更新数据流流通表的方式实现更新实时计算系统的处理逻辑,即可以动态地调整实时计算系统的拓扑结构。

请参阅图18,图18是本发明实施例提供的另一种数据流处理装置的结构示意图,该装置应用于实时计算系统的管理节点,如图18所示,包括:处理器181、网络接口182、存储器183和通信总线184,其中,所述通信总线184用于实现所述处理器181、网络接口182和存储器183之间连接通信,所述处理器181执行所述存储器183中存储的程序用于实现以下方法:

接收所述实时计算系统的源节点发送的用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构;

将所述控制流发送至用于对数据流进行业务处理的处理节点,以使所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;当所述处理节点接收到数据流时,由所述处理节点对所述数据流进行业务处理,并按照所述更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。

本实施例中,处理器181还可以执行如下程序:

与所述实时计算系统中的各个所述处理节点建立并保持连接;

处理器181执行的将所述控制流发送至用于对数据流进行业务处理的处理节点的程序,可以包括:

所述管理节点以广播方式将所述控制流发送至所述实时计算系统的各个所述处理节点。

本实施例中,实时计算系统的管理节点接收所述实时计算系统的源节点发送的用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构;所述管理节点将所述控制流发送至用于对数据流进行业务处理的处理节点,以使所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;当所述处理节点接收到数据流时,由所述处理节点对所述数据流进行业务处理,并按照所述更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。这样可以实现动态调整实时计算系统的拓扑结构。

请参阅图19,图19是本发明实施例提供的另一种数据流处理装置的结构示意图,该装置应用于实时计算系统的源节点,如图19所示,包括:处理器191、网络接口192、存储器193和通信总线194,其中,所述通信总线194用于实现所述处理器191、网络接口192和存储器193之间连接通信,所述处理器191执行所述存储器193中存储的程序用于实现以下方法:

获取用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构;

按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;

将所述控制流发送给所述实时计算系统的管理节点,以使所述管理节点将所述控制流发送至用于对数据流进行业务处理的处理节点,以使所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;

接收数据流,并将所述数据流按照所述源节点更新的数据流流通表包括的数据流流通路径发送至所述处理节点,由所述处理节点对所述数据流进行业务处理,并按照该处理节点更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。

本实施例中,处理器191执行的程序还可以包括:

将所述更新的数据流流通表发送至所述实时计算系统的共享存储节点;

当所述源节点进行故障恢复时,从所述共享存储节点获取所述更新的数据流流通表,并按照所述更新的数据流流通表进行数据流的发送。

本实施例中,处理器191执行的程序还可以包括:

接收所述处理节点反馈的所述处理节点更新所述数据流流通表的更新结果;

当所述更新结果表示更新失败时,向所述管理节点发送所述控制流,以使所述管理节点向所述处理节点发送所述控制流,由所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新所述数据流流通表。

本实施例中,实时计算系统的源节点获取用于调整所述实时计算系统的拓扑结构的控制流,其中,所述控制流用于描述所述实时计算系统当前需要更新的拓扑结构;所述源节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;所述源节点将所述控制流发送给所述实时计算系统的管理节点,以使所述管理节点将所述控制流发送至用于对数据流进行业务处理的处理节点,以使所述处理节点按照所述控制流所描述的所述当前需要更新的拓扑结构更新数据流流通表,其中,所述更新的数据流流通表包括与所述当前需要更新的拓扑结构匹配的数据流流通路径;所述源节点接收数据流,并将所述数据流按照所述源节点更新的数据流流通表包括的数据流流通路径发送至所述处理节点,由所述处理节点对所述数据流进行业务处理,并按照该处理节点更新的数据流流通表包括的数据流流通路径发送所述业务处理后的数据流。可以动态调整实时计算系统的拓扑结构。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存取存储器(Random Access Memory,简称RAM)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1