CN110213073B - 数据流向变更方法、电子设备、计算节点及存储介质 - Google Patents
数据流向变更方法、电子设备、计算节点及存储介质 Download PDFInfo
- Publication number
- CN110213073B CN110213073B CN201810362145.4A CN201810362145A CN110213073B CN 110213073 B CN110213073 B CN 110213073B CN 201810362145 A CN201810362145 A CN 201810362145A CN 110213073 B CN110213073 B CN 110213073B
- Authority
- CN
- China
- Prior art keywords
- computing node
- flow direction
- data
- data flow
- structure diagram
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了数据流向变更方法、电子设备、计算节点以及存储介质,本发明实施例的目标任务所使用的各计算节点均有相应的流向指示信息,且目标任务对应的各计算节点的流向指示信息与目标任务对应的拓扑结构图是去耦合的,即第二电子设备可以更新数据流向变更的目标计算节点的流向指示信息,但是并不影响数据流向未发生变更的计算节点的正常运行,只要在目标计算节点处理数据之前,更新完毕流向指示信息,目标计算节点就会按照第一拓扑结构图描述的数据流向传输数据。因此,无需中断目标任务对应的各计算节点的正常运行。从而不会导致计算节点处理的结果数据丢失,也不会产生由于中断导致的数据不能及时处理的现象。
Description
技术领域
本发明涉及通信技术领域,更具体的说,是涉及数据流向变更方法、电子设备、计算节点及存储介质。
背景技术
流式计算可以对运动过程中流动数据实时地进行分析,捕捉到可能有用的信息,并把有用的信息(即结果数据)发送到下一计算节点。目前很多任务,例如,网络安全实时监控任务,均采用流式计算;目前通常用拓扑结构图,例如,有向任务图(DAG)或拓扑图(Topology)来描述采用流式计算的任务所使用的各个计算节点之间的数据流向。
用户基于拓扑结构图对各计算节点之间的数据流向等处理逻辑编写程序,基于编写的程序使得该任务所使用的各计算节点基于拓扑结构图中描述的数据流向传输数据。若任务对应的拓扑结构图不能满足业务需求,则需要基于业务需求更改拓扑结构图,以基于更改的拓扑结构图进行数据流向的变更,这个过程中,需要基于更改的拓扑结构图重新编程,并停止运行之前编写的程序,启动重新编写的程序。
综上,若任务对应的拓扑结构图发生更变,进行数据流向变更时,需要停止运行之前编写的程序,启动重新编写的程序,这导致任务所使用的各计算节点的运行过程会发生中断。
发明内容
有鉴于此,本发明提供了一种数据流向变更方法、电子设备、计算节点以及存储介质,以克服现有技术中若任务对应的拓扑结构图发生更变,进行数据流向变更时,导致任务所使用的各计算节点的运行过程会发生中断的问题。
为实现上述目的,本发明提供如下技术方案:
一种数据流向变更方法,应用于第一电子设备,包括:
获取目标任务待更新的第一拓扑结构图;
基于所述第一拓扑结构图以及所述目标任务当前使用的第二拓扑结构图,获得数据流向变更信息;所述数据流向变更信息指示有相对于所述第二拓扑结构图,所述第一拓扑结构图对应的各计算节点中数据流向变更的目标计算节点,及所述目标计算节点关联的数据流向信息;
将所述数据流向变更信息发送至第二电子设备,以指示所述第二电子设备基于所述数据流向信息更新所述目标计算节点的流向指示信息,其中,一个计算节点的流向指示信息指示有该计算节点相应的输入计算节点和/或输出计算节点。
其中,所述获取目标任务待更新的第一拓扑结构图,包括:
基于展示有至少一个任务的第一窗口界面,确定所述目标任务;
在展示的第二窗口界面上传所述第一拓扑结构图;或,在展示的所述第二窗口界面中绘制所述第一拓扑结构图。
一种数据流向变更方法,应用于第二电子设备,包括:
获取目标任务对应的数据流向变更信息;
其中,所述数据流向变更信息指示有相对于第二拓扑结构图,第一拓扑结构图对应的各计算节点中数据流向变更的目标计算节点,以及,所述目标计算节点关联的数据流向信息,所述第一拓扑结构图为所述目标任务待更新的拓扑结构图,所述第二拓扑结构为所述目标任务当前使用的拓扑结构图;
基于所述数据流向信息,更新所述目标计算节点的流向指示信息,其中,一个计算节点的流向指示信息指示有该计算节点相应的输入计算节点和/或输出计算节点。
一种数据流向变更方法,应用于第一计算节点,包括:
接收第一数据;
基于所述第一数据,获得第二数据;
将所述第二数据输出至预设的流向指示信息指示的输出计算节点,所述输出计算节点不包括第二计算节点;
检测到所述第二计算节点接收所述第二数据时,在所述流向指示信息中增加输出计算节点包含所述第二计算节点的指示。
其中,所述接收第一数据,包括:
响应于第二电子设备的调用请求,接收第三计算节点当前正在输出的所述第一数据;
在所述流向指示信息中增加输入计算节点包含所述第三计算节点的指示。
其中,接收第一数据,包括:
基于预设的所述流向指示信息,接收第三计算节点输出的所述第一数据,所述流向指示信息指示有所述第一计算节点相应的输入计算节点包含所述第三计算节点。
可选的,还包括:
接收删除计算节点对应的删除指示信息;
删除所述流向指示信息中输出计算节点包括所述删除计算节点的指示,和/或,输入计算节点包括所述删除计算节点的指示。
一种第一电子设备,其特征在于,包括:
第一获取模块,用于获取目标任务待更新的第一拓扑结构图;
第二获取模块,用于基于所述第一拓扑结构图以及所述目标任务当前使用的第二拓扑结构图,获得数据流向变更信息;所述数据流向变更信息指示有相对于所述第二拓扑结构图,所述第一拓扑结构图对应的各计算节点中数据流向变更的目标计算节点,及所述目标计算节点关联的数据流向信息;
发送模块,用于将所述数据流向变更信息发送至第二电子设备,以指示所述第二电子设备基于所述数据流向信息更新所述目标计算节点的流向指示信息,其中,一个计算节点的流向指示信息指示有该计算节点相应的输入计算节点和/或输出计算节点。
一种第二电子设备,包括:
获取模块,用于获取目标任务对应的数据流向变更信息;
其中,所述数据流向变更信息指示有相对于第二拓扑结构图,第一拓扑结构图对应的各计算节点中数据流向变更的目标计算节点,以及,所述目标计算节点关联的数据流向信息,所述第一拓扑结构图为所述目标任务待更新的拓扑结构图,所述第二拓扑结构为所述目标任务当前使用的拓扑结构图;
更新模块,用于基于所述数据流向信息,更新所述目标计算节点的流向指示信息,其中,一个计算节点的流向指示信息指示有该计算节点相应的输入计算节点和/或输出计算节点。
一种第一计算节点,包括:
接收模块,用于接收第一数据;
处理模块,用于基于所述第一数据,获得第二数据;
发送模块,用于将所述第二数据输出至预设的流向指示信息指示的输出计算节点,所述输出计算节点不包括第二计算节点;
更新模块,用于检测到所述第二计算节点接收所述第二数据时,在所述流向指示信息中增加输出计算节点包含所述第二计算节点的指示。
一种第一电子设备,包括:
存储器,用于存储程序;
处理器,用于执行所述程序,所述程序具体用于:
获取目标任务待更新的第一拓扑结构图;
基于所述第一拓扑结构图以及所述目标任务当前使用的第二拓扑结构图,获得数据流向变更信息;所述数据流向变更信息指示有相对于所述第二拓扑结构图,所述第一拓扑结构图对应的各计算节点中数据流向变更的目标计算节点,及所述目标计算节点关联的数据流向信息;
将所述数据流向变更信息发送至第二电子设备,以指示所述第二电子设备基于所述数据流向信息更新所述目标计算节点的流向指示信息,其中,一个计算节点的流向指示信息指示有该计算节点相应的输入计算节点和/或输出计算节点。
一种第二电子设备,包括:
存储器,用于存储程序;
处理器,用于执行所述程序,所述程序具体用于:
获取目标任务对应的数据流向变更信息;
其中,所述数据流向变更信息指示有相对于第二拓扑结构图,第一拓扑结构图对应的各计算节点中数据流向变更的目标计算节点,以及,所述目标计算节点关联的数据流向信息,所述第一拓扑结构图为所述目标任务待更新的拓扑结构图,所述第二拓扑结构为所述目标任务当前使用的拓扑结构图;
基于所述数据流向信息,更新所述目标计算节点的流向指示信息,其中,一个计算节点的流向指示信息指示有该计算节点相应的输入计算节点和/或输出计算节点。
一种第一计算节点,包括:
存储器,用于存储程序;
处理器,用于执行所述程序,所述程序具体用于:
接收第一数据;
基于所述第一数据,获得第二数据;
将所述第二数据输出至预设的流向指示信息指示的输出计算节点,所述输出计算节点不包括第二计算节点;
检测到所述第二计算节点接收所述第二数据时,在所述流向指示信息中增加输出计算节点包含所述第二计算节点的指示。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述应用于第一电子设备的任一所述的数据流向变更方法包含的各个步骤。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述应用于第二电子设备的任一所述的数据流向变更方法包含的各个步骤。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述应用于第一计算节点的任一所述的数据流向变更方法包含的各个步骤。
经由上述的技术方案可知,与现有技术相比,本发明公开了一种数据流向变更方法,本发明实施例的目标任务所使用的各计算节点均有相应的流向指示信息,与现有技术中计算节点只能依靠用户编写的程序被动接收数据的功能不同;本发明实施例提供的目标任务对应的各计算节点的流向指示信息与目标任务对应的拓扑结构图是去耦合的,即在第一电子设备将数据流向变更信息传输至第二电子设备之前,目标任务对应的各计算节点仍然按照第二拓扑结构图描述的数据流向传输数据。在第一电子设备将数据流向变更信息传输至第二电子设备后,第二电子设备可以更新数据流向变更的目标计算节点的流向指示信息,但是并不影响数据流向未发生变更的计算节点的正常运行,只要在目标计算节点处理数据之前,更新完毕流向指示信息,目标计算节点就会按照第一拓扑结构图描述的数据流向传输数据。因此,无需中断目标任务所使用的各计算节点的正常运行。从而不会导致计算节点处理的结果数据丢失,也不会产生由于中断导致的数据不能及时处理的现象。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的数据流向变更***的结构图;
图2为本发明实施例提供的一种数据流向变更方法的信令图;
图3a、图3b、图3c为本发明实施例提供的目标任务对应的拓扑结构图;
图4为本发明实施例提供的数据流向变更方法中基于所述数据流向信息,更新目标计算节点的流向指示信息的一种实现方式的信令图;
图5为本发明实施例提供的第一电子设备基于第一拓扑结构图以及目标任务当前使用的第二拓扑结构图,获得数据流向变更信息的一种实现方式的流程图;
图6为本发明实施例提供的第一电子设备的一种实现方式的结构图;
图7为本发明实施例提供的第二电子设备的一种实现方式的结构图;
图8为本发明实施例提供的第一计算节点的一种实现方式的结构图;
图9为本发明实施例提供的第一电子设备的另一实现方式的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种数据流向变更方法,该数据流向变更方法涉及第一电子设备、第二电子设备以及一个或多个任务分别对应的各计算节点;以目标任务(目标任务为一个或多个任务任一个任务)为例,若基于业务需求,需要将目标任务当前使用的第二拓扑结构图更新为第一拓扑结构图,那么第一电子设备与第二电子设备可以协同工作,以更新目标任务对应的数据流向变更的目标计算节点的流向指示信息,从而实现了在不中断各计算节点运行的情况下,将目标任务对应的各计算节点之间的数据流向更新为第一拓扑结构图描述的数据流向。本发明实施例还提供了相应的电子设备(例如,第一电子设备、第二电子设备、计算节点)以及可读存储介质,以下分别进行详细说明。
本发明实施例中的电子设备可以为终端设备或服务器或云计算服务中心。
为了便于本领域技术人员快速理解本发明实施例提供的数据流向变更方法,下面介绍数据流向变更***,如图1所示,为本发明实施例提供的数据流向变更***的结构图,该数据流向变更***包括:
第一电子设备11、第二电子设备12,以及,至少一个任务分别包含的各计算节点。
图1中以目标任务为例进行说明,假设完成该目标任务需要四个计算节点协同完成,这四个计算节点分别为计算节点13、计算节点14、计算节点15以及计算节点16。若目标任务当前正在使用的第二拓扑结构图如图3a所示,则本发明实施例中将计算节点13称为计算节点14的输入计算节点,将计算节点14称为计算节点15的输入计算节点,依次类推;将计算节点14称为计算节点13的输出计算节点,将计算节点15称为计算节点14的输出计算节点,依次类推。
下面对各电子设备的功能进行说明。
第一电子设备11用于获得目标任务所使用的各计算节点之间的数据流向变更信息,并将数据流向变更信息发送至第二电子设备12。
第一电子设备11可以基于目标任务当前使用的第二拓扑结构图以及待更新的第一拓扑结构图获得数据流向变更信息。
数据流向变更信息指示有相对于第二拓扑结构图,第一拓扑结构图对应的各计算节点中数据流向变更的目标计算节点,及目标计算节点关联的数据流向信息。
在一可选实施例中,一个目标任务所使用的各计算节点可以属于一个集群。在一可选实施例中,第二电子设备12可以为目标任务对应集群中用于控制各计算节点的服务器。
第二电子设备12用于与目标计算节点进行交互,控制目标计算节点更新相应的流向指示信息,其中,一个计算节点的流向指示信息指示有该计算节点相应的输入计算节点和/或输出计算节点。例如,更新相应流向指示信息中新增了哪些输出计算节点的指示,和/或,新增了哪些输入计算节点的指示,和/或,删除哪些输入计算节点的指示,和/或,删除哪些输出计算节点的指示。
本发明实施例将目标任务对应的拓扑结构图巧妙地转化成目标任务对应的各计算计算分别对应的流向指示信息;因此,若需要更改目标任务的拓扑结构图,仅需要需改数据流向变更的目标计算节点的流向指示信息即可,不影响目标任务对应的各计算节点的正常运行。
在一可选实施例中,本发明实施例提供的目标任务对应的目标计算节点,具有响应第二电子设备12的调用请求的功能,本发明实施例可以在调用目标计算节点的过程中,实现更新目标计算节点的流向指示信息的目的。
本发明实施例中将数据流向能够发生变更的计算节点称为可插拔计算节点,将数据流向不能够发生变更的计算节点称为非可插拔计算节点。也就是,目标任务所使用的各计算节点均具有相应的流向指示信息;但是,可插拔计算节点可以更新相应的流向指示信息;非可插拔计算节点不可以更新相应的流向指示信息。
一个目标任务对应的计算节点可以均为可插拔计算节点;或,一个目标任务包含一个或多个可插拔计算节点以及一个或多个非可插拔计算节点。假设目标任务如图1所示,目标任务对应的四个计算节点中计算节点14、计算节点15、计算节点16均与第二电子设备12相连,说明计算节点14、计算节点15、计算节点16均为可插拔计算节点;计算节点13不与第二电子设备12相连,与计算节点14相连,说明计算节点13为非可插拔计算节点,计算节点13与计算节点14之间的数据流向不能更改。
本发明实施例提供的目标任务对应的各计算节点之间的数据流向与目标任务对应的拓扑结构图是去耦合的,即在第一电子设备11中将目标任务当前使用的第二拓扑结构图更改为第一拓扑结构图后,在第一电子设备11将数据流向变更信息传输至第二电子设备12之前,目标任务对应的各计算节点仍然按照第二拓扑结构图描述的数据流向传输数据。在第一电子设备11将数据流向变更信息传输至第二电子设备12后,第二电子设备12可以更新目标计算节点的流向指示信息,但是并不影响数据流向未发生变更的计算节点的正常运行,只要在目标计算节点处理数据之前,更新完毕目标计算节点的流向指示信息,目标计算节点就会按照第一拓扑结构图描述的数据流向传输数据。因此,无需中断目标任务对应的各计算节点的正常运行。
结合图1所示的数据流向变更***,下面对数据流向变更方法进行说明,如图2所示,为本发明实施例提供的一种数据流向变更方法的信令图,该方法包括:
步骤S201:第一电子设备11获取目标任务待更新的第一拓扑结构图。
在一可选实施例中,第一电子设备11可以为用户提供窗口界面,例如,第一电子设备11可以展示第一窗口界面,第一窗口界面可以展示有至少一个任务。用户可以在第一窗口界面中选择待更改拓扑结构图的目标任务。或者,第一电子设备11展示第一窗口界面,用户可以在第一窗口界面中输入选择待更改拓扑结构图的目标任务。
在一可选实施例中,第一电子设备11确定待更改拓扑结构图的目标任务后,可以展示第三窗口界面,第三窗口界面展示有对该目标任务中计算节点的操作类型,例如,更新计算节点,或,删除计算节点,或,增加计算节点本发明实施例中“更新计算节点”包括:删除待更新的计算节点,以及,增加更新后的计算节点。因此,本发明实施例对计算节点的操作类型主要包括两大类:删除计算节点以及增加计算节点。
用户可以在第三窗口界面中选择目标操作类型。
在一可选实施例中,若目标操作类型为删除计算节点,则第三窗口界面可以进一步展示目标任务对应的各计算节点,用户可以从中选择待删除的计算节点;若目标操作类型为增加计算节点,则第三窗口界面可以进一步展示用于用户编辑待增加的计算节点的程序代码的界面,或,第一电子设备11展示第四窗口界面,用户在第四窗口界面中编辑待增加的计算节点的程序代码,使得增加后的计算节点可以实现相应的功能。
在一可选实施例中,第一电子设备11可以基于目标操作类型,自动生成第一拓扑结构图;在另一可选实施例中,第一电子设备11可以展示第二窗口界面,用户可以在第二窗口界面中上传第一拓扑结构图,或者,在第二窗口界面中绘制第一拓扑结构图。
步骤S202:第一电子设备11基于第一拓扑结构图以及目标任务当前使用的第二拓扑结构图,获得数据流向变更信息。
其中,所述数据流向变更信息指示有数据流向变更的目标计算节点,以及,数据流向变更的目标计算节点关联的数据流向信息。
在一可选实施例中,第一电子设备11可以将第一拓扑结构图转换为拓扑结构原语,拓扑结构原语是能够被电子设备识别的语言,第一拓扑结构图对应的拓扑结构原语可以包括:第一拓扑结构图涉及的各计算节点的标识,以及各计算节点相应的输入计算节点和/或输出计算节点。第一电子设备11可以将第二拓扑结构图转换为拓扑结构原语,拓扑结构原语是能够被电子设备识别的语言,第二拓扑结构图对应的拓扑结构原语可以包括:第二拓扑结构图涉及的各计算节点的标识,以及各计算节点相应的输入计算节点和/或输出计算节点。第一电子设备11基于第一拓扑结构图对应的拓扑结构原语,以及,第二拓扑结构对应的拓扑结构原语,得到数据流向变更信息。
在一可选实施例中,可能是相对于第二拓扑结构图而言第一拓扑结构图涉及新增计算节点和/或删除计算节点,从而导致了数据流向变更;在另一可选实施例中,用户可能即不增加计算节点也不删除节点,即第一拓扑结构图与第二拓扑结构图涉及的各计算节点相同,但第一拓扑结构图涉及的各计算节点之间的数据流向与第二拓扑结构图涉及的各计算节点之间的数据流向不同,从而导致了数据流向变更。
下面举一由于新增计算节点导致的数据流向变更的例子,假设目标任务对应的第二拓扑结构图如图3a所示,则在未更新成第一拓扑结构图之前,各计算节点的流向指示信息与第二拓扑结构图对应,假设计算节点13相应的流向指示信息指示有:计算节点13相应的输出计算节点包括计算节点14;计算节点14相应的流向指示信息指示有:计算节点14相应的输出计算节点包括计算节点15;计算节点15存储的流向指示信息指示有:计算节点15相应的输出计算节点包括计算节点16。
假设需要将第二拓扑结构图变更为如图3b所示的第一拓扑结构图。
在一可选实施例中,第一电子设备11获得的数据流向变更信息如下:
数据流向变更的目标计算节点包括:计算节点17、计算节点14以及计算节点16。
数据流向信息包括:用于表征计算节点17为计算节点14新增的输出计算节点的调用指示信息(和/或,用于表征计算节点14为计算节点17新增的输入计算节点的调用指示信息);用于表征计算节点16为计算节点17新增输出计算节点的调用指示信息(和/或,用于表征计算节点17为计算节点16新增输入计算节点的调用指示信息)。
下面举一由于删除计算节点导致的数据流向变更的例子,假设目标任务当前使用的第二拓扑结构图如图3b所示,需要将第二拓扑结构图更新为如图3a所示的第一拓扑结构图,即删除计算节点17;则在一可选实施例中,第一电子设备11获得的数据流向变更信息如下:
数据流向变更的目标计算节点包括:计算节点14以及计算节点16。
数据流向信息包括:删除计算节点14相应的流向指示信息中输出计算节点包括计算节点17的删除指示信息;和/或,删除计算节点16相应的流向指示信息输入计算节点包括计算节点17的删除指示信息。
下面举一单纯变更各计算节点之间的数据流向的例子,假设,目标任务对应的第二拓扑结构图如图3a所示,目标任务对应的第一拓扑结构图如3c所示,则在一可选实施例中,第一电子设备11获得的数据流向变更信息如下:
数据流向变更的目标计算节点包括:计算节点14、计算节点15以及计算节点16。
数据流向信息包括:用于表征计算节点16为计算节点14新增的输出计算节点的调用指示信息(和/或,用于表征计算节点14为计算节点16新增的输入计算节点的调用指示信息);用于表征计算节点15为计算节点16新增输出计算节点的调用指示信息(和/或,用于表征计算节点16为计算节点15新增输入计算节点的调用指示信息);删除计算节点14相应的流向指示信息中输出计算节点包括计算节点15的删除指示信息(和/或,删除计算节点15相应的流向指示信息输入计算节点包括计算节点14的删除指示信息);删除计算节点15相应的流向指示信息中输出计算节点包括计算节点16的删除指示信息(和/或,删除计算节点16相应的流向指示信息输入计算节点包括计算节点15的删除指示信息)。
步骤S203:第一电子设备11将所述数据流向变更信息发送至第二电子设备12。
在一可选实施例中,第一电子设备11在获得数据流向变更信息后,就发送至第二电子设备12;即第一电子设备11一次性将数据流向变更信息发送至第二电子设备12。在另一可选实施例中,在目标任务对应的各计算节点运行过程中,若需要调用目标计算节点时,再将相应的数据流向信息发送至第二电子设备。
仍以图3a为第二拓扑结构图,图3b为第一拓扑结构图为例,在计算节点14输出数据之前,第一电子设备11将用于表征计算节点17为计算节点14新增的输出计算节点的调用指示信息(和/或,用于表征计算节点14为计算节点17新增的输入计算节点的调用指示信息)发送至第二电子设备12,使得第二电子设备12响应于计算节点14输出数据的操作,调用计算节点17,使得计算节点14获知计算节点17接收了自己输出的数据,和/或,使得计算节点17获知自己接收了计算节点14输出的数据,从而可以更新计算节点14和/或计算节点17相应的流向指示信息。在计算节点17输出结果数据之前,第一电子设备11将用于表征计算节点16为计算节点17新增输出计算节点的调用指示信息(和/或,用于表征计算节点17为计算节点16新增输入计算节点的调用指示信息)发送至第二电子设备12,使得第二电子设备12响应于计算节点17输出数据的操作,调用计算节点16,使得计算节点17获知计算节点16接收了自己输出的数据,和/或,使得计算节点16获知自己接收了计算节点17输出的数据,从而可以更新计算节点16和/或计算节点17中的流向指示信息。
步骤S204:第二电子设备12基于所述数据流向信息,更新数据流向变更的目标计算节点的流向指示信息。
本发明实施例中目标任务所使用的各计算节点均具有相应的流向指示信息,一个计算节点的流向指示信息指示有该计算节点相应的输入计算节点和/或输出计算节点。
在一可选实施例中,本发明实施例提供的目标任务对应的数据流向能够发生变更的计算节点,具有响应第二电子设备12的调用请求的功能,本发明实施例可以在调用目标计算节点的过程中,实现更新目标计算节点的流向指示信息的目的。
本发明实施例中将数据流向能够发生变更的计算节点称为可插拔计算节点,将数据流向不能够发生变更的计算节点称为非可插拔计算节点。也就是,目标任务所使用的各计算节点均具有相应的流向指示信息;但是,可插拔计算节点可以更新相应的流向指示信息;非可插拔计算节点不可以更新相应的流向指示信息。
在一可选实施例中,可插拔计算节点包括:用于接收并响应第二电子设备12调用请求的接收模块,以及,用于将接收到的数据进行处理的处理模块。在一可选实施例中可以采用代理模式实现可插拔计算节点上述的接收模块以及处理模块的功能。非可插拔计算节点包括:用于将接收到的数据进行处理的处理模块。
本发明实施例提供的目标任务所使用的各计算节点均具有相应的流向指示信息,各计算节点基于相应的流向指示信息传输数据,与现有技术中计算节点只能依靠用户编写的程序代码被动接收数据的功能不同;本发明实施例中目标任务对应的各计算节点在传输数据时,是依据自身的流向指示信息传输数据的,不是依据静态的程序代码,因此更改数据流向变更的目标计算节点的流向指示信息,即为将目标任务对应的第二拓扑结构图更新为第一拓扑结构图;且各计算节点的流向指示信息是相互独立的互不影响,更新目标计算节点的流向指示信息,并不影响已经更新流向指示信息的目标计算节点和数据流向未变更的计算节点处理数据和传输数据,因此,无需中断目标任务所使用的各计算节点的正常运行,从而不会导致计算节点正在处理的数据和/或输出的数据丢失,也不会产生由于中断导致的数据不能及时处理的现象。
本发明实施例中“第二电子设备12基于所述数据流向信息,更新数据流向变更的目标计算节点的流向指示信息”的方式有多种,本发明实施例提供但不限于以下方式。
将目标任务对应的各计算节点中任一计算节点称为第一计算节点;假设数据流向信息包括:用于表征第二计算节点为第一计算节点新增的输出计算节点的第一调用指示信息;和/或,用于表征第一计算节点为第三计算节点新增输出计算节点的第二调用指示信息,和/或,删除计算节点对应的删除指令信息。在本发明实施例中第一计算节点、第二计算节点、第三计算节点中一个或多个可以为新增计算节点;当然也可以都不是新增计算节点。
如图4所示,为本发明实施例提供的数据流向变更方法中基于所述数据流向信息,更新目标计算节点的流向指示信息的一种实现方式的信令图,该方法包括:
步骤S401:第一计算节点41接收第一数据,基于第一数据获得第二数据。
在一可选实施例中,假设第一计算节点为新增计算节点,或,第一计算节点不是新增计算节点但是数据流向变更了,则步骤S401中第一计算节点41接收第一数据的过程包括:
第一步:第二电子设备12基于第二调用指示信息,响应第三计算节点42输出第一数据的操作,通过第一计算节点41相应的调用信息,调用所述第一计算节点41。
若本发明实施例中第一计算节点为新增计算节点。在第一步之前第二电子设备12还需要存储第一计算节点的调用信息。
第二步:第三计算节点43检测到第一计算节点41接收所述第一数据,在自身相应的流向指示信息中增加输出计算节点包含所述第一计算节点的指示。
第三步:第一计算节点41响应于第二电子设备的调用请求,接收第三计算节点当前正在输出的所述第一数据。
第三步还可以包括:第一计算节点41在自身相应的流向指示信息中增加输入计算节点包含所述第三计算节点的指示。
在一可选实施例中,假设第一计算节点为第二拓扑结构图中涉及到的原始计算节点,则步骤S401中第一计算节点41接收第一数据的过程包括:
第三计算节点43将第一数据输出至预设的流向指示信息指示的输出计算节点。
假设第一计算节点与第三计算节点43为第二拓扑结构图中涉及到的原始计算节点,第一计算节点与第三计算节点之间的数据流向与第二拓扑结构图涉及的数据流向相同,则第三计算节点43预设的流向指示信息指示的输出计算节点包含第一计算节点。
在一可选实施例中,假设第一计算节点41与第三计算节点43为第二拓扑结构图中涉及到的原始计算节点,第一计算节点与第三计算节点之间的数据流向与第二拓扑结构图涉及的数据流向相同,则第一计算节点41预设的流向指示信息指示的输入计算节点包含第三计算节点,则步骤S401中第一计算节点41接收第一数据的过程包括:
基于预设的所述流向指示信息,接收第三计算节点输出的所述第一数据,所述流向指示信息指示有所述第一计算节点相应的输入计算节点包含所述第三计算节点。
步骤S402:第一计算节点41将所述第二数据输出至预设的流向指示信息指示的输出计算节点。
假设,第一计算节点预设的流向指示信息指示有第一计算节点相应的输出计算节点包括第四计算节点44,则步骤S402中第一计算节点41至少将第二数据传输至第四计算节点44。
假设,第二计算节点42为新增计算节点,例如,第二计算节点42可以如图3b中的计算节点17,第一计算节点可以为图3b中计算节点14(以图3b为第一拓扑结构图,图3a为第二拓扑结构图为例);此时,预设的流向指示信息指示的输出计算节点不包括第二计算节点。
假设第二计算节点为新增计算节点,则还包括:
步骤S403:第二电子设备12基于第一调用指示信息,响应第一计算节点41输出第二数据的操作,通过所述第二计算节点42的调用信息调用所述第二计算节点42。
若本发明实施例中第二计算节点为新增计算节点。则第二电子设备12还需要存储第二计算节点的调用信息。第二电子设备12存储第二计算节点的调用信息后,第二电子设备12就“认识”第二计算节点了,第二电子设备就可以调用第二计算节点。在一可选实施例中,上述第二计算节点的调用信息可以是用户在第一电子设备11中编写的程序代码。
在一可选实施例中,步骤S403是指第一计算节点数据处理完毕后,在输出数据的时刻,或,数据处理完毕之后输出数据之间,通过第二计算节点的调用信息调用所述第二计算节点。
步骤S402与步骤S403可以同时执行,也可以步骤S403先于步骤S402执行,也就可以步骤S402先于步骤S403执行。
步骤S404:第一计算节点41检测到第二计算节点42被调用,在相应的流向指示信息中增加输出计算节点包含第二计算节点的指示。
综上,第二电子设备12并不直接告知第一计算节点41需要增加输出计算节点包含第二计算节点的指示,而是通过在第一计算节点41处理完毕数据后,调用第二计算节点42的方式,告知第一计算节点第二计算节点也是接收其输出数据的计算节点之一。
除了使用步骤S404所示的方式之外,还可以使用以下步骤(该步骤与步骤S404是“和/或”的关系):第二计算节点42检测到自身被调用后,在自身相应的流向指示信息中增加输入计算节点包含所述第一计算节点的指示。
综上,本发明实施例通过第二电子设备12调用第二计算节点的方式将增加的第二计算节点***至第二拓扑结构图的相应位置。
步骤S405:第二计算节点42响应于第二电子设备的调用请求,接收第一计算节点当前正在输出的第二数据;第二计算节点42基于第二数据得到第三数据,将第三数据传输至自身相应的流向信息指示的输出计算节点。
步骤S404与步骤S405可以同时执行,也可以是步骤S405先于步骤S404执行,也可以是步骤S404先于步骤S405执行。在一可选实施例中,步骤S405与步骤S402同时执行,或,步骤S402先于步骤S405执行。
在一可选实施例中,若在第二拓扑结构图中删除计算节点的输入计算节点和/或输出计算节点包括第一计算节点41,则还可以包括:
步骤S406:第二电子设备12将删除计算节点对应的删除指令信息发送至第一计算节点41。
步骤S407:第一计算节点41删除所述流向指示信息中输出计算节点包括所述删除计算节点的指示,和/或,输入计算节点包括所述删除计算节点的指示。
如图5所示,为本发明实施例提供的第一电子设备基于第一拓扑结构图以及目标任务当前使用的第二拓扑结构图,获得数据流向变更信息的一种实现方式的流程图,该方法包括:
步骤S501:获取所述第一拓扑结构图对应的第一拓扑结构原语。
在一可选实施例中,第一电子设备11可以将第一拓扑结构图转换为第一拓扑结构原语,拓扑结构原语是能够被电子设备识别的语言,第一拓扑结构图对应的第一拓扑结构原语可以包括:第一拓扑结构图涉及的各计算节点的标识,以及各计算节点之间的数据流向。
步骤S502:获取所述第二拓扑结构图对应的第二拓扑结构原语。
在一可选实施例中,第一电子设备11可以将第二拓扑结构图转换为第二拓扑结构原语,拓扑结构原语是能够被电子设备识别的语言,第二拓扑结构图对应的第二拓扑结构原语可以包括:第二拓扑结构图涉及的各计算节点的标识,以及各计算节点之间的数据流向。
拓扑结构图是由多个计算节点连接形成的网状图,本发明实施例中拓扑结构图对应的各计算节点,即为连线形成拓扑结构图相应的各计算节点,例如,图3a中示出的拓扑结构图是由4个计算节点连线形成的,则图3a示出的拓扑结构图对应的各计算节点即为:计算节点13、计算节点14、计算节点15以及计算节点16。
步骤S503:基于所述第一拓扑结构原语以及所述第二拓扑结构原语,确定所述目标计算节点。
在一可选实施例中,可以基于第一拓扑结构原语包含的各计算节点的标识与第二拓扑结构原语包含的各计算节点的标识,确定新增计算节点和/或删除计算节点。
例如,若所述第一拓扑结构原语包含第一标识,所述第一标识不同于所述第二拓扑结构原语包含的各计算节点的标识,获得新增计算节点。
对于新增计算节点而言,可以将新增计算节点,以及在第一拓扑结构图中新增计算节点相应的输入计算节点和/或输出计算节点,确定为目标计算节点。以图3a为第二拓扑结构图,图3b为第一拓扑结构图为例,则新增计算节点为计算节点17,在第一拓扑结构图中计算节点17的输入计算节点为计算节点14,输出计算节点为计算节点16,则计算节点14、计算节点17为目标计算节点,或,计算节点14、计算节点17以及计算节点16为目标计算节点;或,计算节点17以及计算节点16为目标计算节点。
例如,若所述第二拓扑结构原语包含第二标识,所述第二标识不同于所述第一拓扑结构原语包含的各计算节点的标识,获得删除计算节点。
对于删除计算节点而言,可以将在第二拓扑结构图中所述删除计算节点相应的输入计算节点和/或输出计算节点,确定为目标计算节点。以图3b为第二拓扑结构图,图3a为第一拓扑结构图为例,则删除计算节点为计算节点17,在图3b中计算节点17的输入节点为计算节点14,输出计算节点为计算节点16;则计算节点14和/或计算节点17为目标计算节点。
在一可选实施例中,若所述第一拓扑结构图对应的各计算节点的标识与第二拓扑结构图对应的各计算节点的标识相同,基于第一拓扑结构原语包含的各计算节点之间的数据流向,以及,第二拓扑结构原语包含的各计算节点之间的数据流向,获得流向变更的目标计算节点。以图3a为第二拓扑结构图,图3c为第一拓扑结构图为例,则目标计算节点为计算节点14、计算节点15以及计算节点16。
步骤S504:基于在所述第一拓扑结构图中所述目标计算节点相应的输入计算节点和/或输出计算节点,获得所述数据流向信息。
在一可选实施例中,对目标任务初始化的过程包括:
第一电子设备11获得目标任务的原始拓扑结构图;第一电子设备11基于原始拓扑结构图获得各计算节点分别对应的流向指示信息。
本发明实施例涉及的“初始化”是指新建该目标任务,即在初始化目标任务之前,不存在目标任务。在一可选实施例中,若第一次更改目标任务的拓扑结构图,则第二拓扑结构图为原始拓扑结构图;若第二次更改目标任务的拓扑结构图,则第二拓扑结构图为第一次更新后的拓扑结构图,依次类推。
第一电子设备11将流向指示信息发送至第二电子设备12。第二电子设备12可以对各计算节点进行初始化,即控制各计算节点分别存储相应的流向指示信息。这样目标任务对应的各计算节点可以基于自身的流向指示信息传输数据。
在一可选实施例中,第二电子设备12通过调用目标计算节点的方式,更新目标计算节点相应的流向指示信息,为了使得第二电子设备12后续能够调用目标计算节点,在最开始初始化目标任务的过程中,第一电子设备11还需要将可插拔计算节点的调用信息发送至第二电子设备12,第二电子设备12存储可插拔计算节点的调用信息,以便可插拔计算节点(目标计算节点属于可插拔计算节点)相应的流向指示信息变更时,第二电子设备可以基于相应的调用信息调用相应的可插拔计算节点。
在一可选实施例中,在目标任务中增加计算节点时,可能会出现计算节点***失败的现象,例如,第二电子设备12无法正常调用增加的计算节点,或,增加的计算节点无法正常处理数据等,为了应对这种现象,本发明实施例还提供了以下方法:
若检测到所述第二计算节点***失败,返回步骤S204,再重新***第二计算节点;且重新处理相应的数据。如图3a所示,从计算节点13重新开始处理相应数据。在一可选实施例中,可以采用两阶段提交协议,实现上述功能。
为了本领域技术人员更加理解本发明实施例,下面举一具体例子进行说明。
仍以图3a为第二拓扑结构图,图3b为第一拓扑结构图为例进行说明,假设图3a对应的任务为公安局中的网络安全实时监控任务,假设计算节点13、计算节点14、计算节点15以及计算节点16属于同一集群,第二电子设备12为用于控制该集群包含的各计算节点的服务器。
首先,创建网络安全实时监控任务,步骤如下:
1、用户在第一电子设备11展示的窗口界面中创建目标任务,并在第一电子设备11中上传第二拓扑结构图(假设第二拓扑结构图为原始拓扑结构图)。
可选的,用户还可以在第一电子设备11中编辑各计算节点相应的功能程序代码。在第一电子设备11中编辑各计算节点分别对应的调用信息。
2、第一电子设备11基于第二拓扑结构图,获得网络安全实时监控任务对应的各计算节点的分别对应的流向指示信息,以及,计算节点14、计算节点15以及计算节点16分别对应的调用信息。
在一可选实施例中,第一电子设备11获得的流向指示信息指示有:计算节点14为计算节点13的输出计算节点的指示;计算节点15为计算节点14的输出计算节点的指示;计算节点16为计算节点15的输出计算节点的指示。
3、第一电子设备11将各计算节点分别对应的流向指示信息、计算节点14的调用信息、计算节点15的调用信息以及计算节点16的调用信息发送至第二电子设备12。
4、第二电子设备12存储计算节点14的调用信息、计算节点15的调用信息以及计算节点16的调用信息,并将各计算节点分别对应的流向指示信息发送至相应的计算节点。
在一可选实施例中,将计算节点14为计算节点13的输出计算节点的指示存储至计算节点13或预设电子设备;计算节点15为计算节点14的输出计算节点的指示计算节点14或预设电子设备;计算节点16为计算节点15的输出计算节点的指示计算节点15或预设电子设备。
在一可选实施例中,不同计算节点相应的流向指示信息可以存储于同一预设电子设备,也可存储于不同的预设电子设备,也可以存储于相应的计算节点中。
5、网络安全实时监控任务所使用的计算节点13、计算节点14、计算节点15以及计算节点16正常运行,在运行过程中分别基于自身的流向指示信息传输数据。
随着数据量的增加,若发现计算节点15处理速度较慢,需要增加一个并行的计算节点17,计算节点17的功能与计算节点15的功能相同,则执行以下步骤。
6、在第一电子设备11中上传如图3b所示的第一拓扑结构图。
7、第一电子设备11基于第一拓扑结构图以及第二拓扑结构图,获得数据流向变更信息。
如图3a和图3b所示,数据流向变更信息指示有:
数据流向变更的目标计算节点包括:计算节点17、计算节点14以及计算节点16。
数据流向信息包括:用于表征计算节点17为计算节点14新增的输出计算节点的调用指示信息(和/或,用于表征计算节点14为计算节点17新增的输入计算节点的调用指示信息);用于表征计算节点16为计算节点17新增输出计算节点的调用指示信息(和/或,用于表征计算节点17为计算节点16新增输入计算节点的调用指示信息);以及计算节点17的调用信息。
8、第一电子设备11将数据流向变更信息发送至第二电子设备12。
9、第二电子设备12存储计算节点17的调用信息。
10、计算节点13获取网吧中各计算机传输过来的实时上网记录;将各计算机传输过来的实时上网记录,发送至自身相应的流向指示信息指向的计算节点14。
11、计算节点14将各实时上网记录进行过滤,过滤掉预设白名单(例如,百度、网易等合法网站)中的上网记录,将过滤后的数据发送至自身相应的流向指示信息指向的计算节点15。
在一可选实施例中,步骤6至步骤9,可以与步骤10至步骤11同时执行。
12、第二电子设备12检测到计算节点14处理完毕数据后,基于计算节点17的调用信息调用计算节点17。计算节点17响应第二电子设备12的调用请求,接收计算节点14正在输出的过滤后的数据。
14、计算节点15以及计算节点17分别将上网记录对应到相应的用户账户中;计算节点15将自身得到的各用户账号分别对应的上网记录发送至自身相应的流向指示信息指示的计算节点16;计算节点17输出自身得到的各用户账号分别对应的上网记录。
15、第二电子设备12检测到计算节点17处理完毕数据后,基于计算节点16的调用信息调用计算节点16。
16、计算节点16响应第二电子设备12的调用请求,接收计算节点17正在输出的各用户账号分别对应的上网记录。计算节点17在自身相应的流向指示信息中增加输出计算节点包含计算节点16的指示。
17、计算节点16基于各用户账号对应的上网记录,判断用户账号是否需要被警告。
综上,在一可选实施例中,第二电子设备12仅需要在数据流向初次变更时,通过调用目标计算节点的方式更新目标计算节点相应的流向指示信息,在后续正常运行过程中,无需第二电子设备12的再次调用,目标任务对应的各计算节点直接基于自身的流向指示信息传输数据。
上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了装置,下面给出具体的实施例进行详细说明。
如图6所示,为本发明实施例提供的第一电子设备的一种实现方式的结构图,第一电子设备包括:
第一获取模块61,用于获取目标任务待更新的第一拓扑结构图;
第二获取模块62,用于基于所述第一拓扑结构图以及所述目标任务当前使用的第二拓扑结构图,获得数据流向变更信息;所述数据流向变更信息指示有相对于所述第二拓扑结构图,所述第一拓扑结构图对应的各计算节点中数据流向变更的目标计算节点,及所述目标计算节点关联的数据流向信息;
发送模块63,用于将所述数据流向变更信息发送至第二电子设备,以指示所述第二电子设备基于所述数据流向信息更新所述目标计算节点的流向指示信息,一个计算节点的流向指示信息指示有该计算节点相应的输入计算节点和/或输出计算节点。
在一可选实施例中,第二获取模块包括:
第一获取单元,用于获取所述第一拓扑结构图对应的第一拓扑结构原语,所述第一拓扑结构原语包括所述第一拓扑结构图对应的各计算节点的标识;
第二获取单元,用于获取所述第二拓扑结构图对应的第二拓扑结构原语,所述第二拓扑结构原语包括所述第二拓扑结构图对应的各计算节点的标识;
第一确定单元,用于基于所述第一拓扑结构原语以及所述第二拓扑结构原语,确定所述目标计算节点。
第三获取单元,用于基于在所述第一拓扑结构图中所述目标计算节点相应的输入计算节点和/或输出计算节点,获得所述数据流向信息。
在一可选实施例中,第一确定单元包括:
第一获取子单元,用于若所述第一拓扑结构原语包含第一标识,所述第一标识不同于所述第二拓扑结构原语包含的各计算节点的标识,获得新增计算节点;
第一确定子单元,用于将所述新增计算节点,以及,所述新增计算节点相应的输入计算节点和/或输出计算节点,确定为所述目标计算节点。
在一可选实施例中,第一确定单元包括:
第二获取子单元,用于若所述第二拓扑结构原语包含第二标识,所述第二标识不同于所述第一拓扑结构原语包含的各计算节点的标识,获得删除计算节点;
第二确定子单元,用于将在所述第二拓扑结构图中所述删除计算节点相应的输入计算节点和/或输出计算节点,确定为所述目标计算节点。
在一可选实施例中,还包括:
第三获取模块,用于获取所述目标任务对应的原始拓扑结构图;
第四获取模块,用于获得所述原始拓扑结构图对应的各计算节点分别对应的流向指示信息;
第二发送模块,用于将各计算节点分别对应的流向指示信息发送至所述第二电子设备,以使得所述第二电子设备控制各计算节点存储相应的流向指示信息,使得各计算节点基于相应的流向指示信息传输数据。
在一可选实施例中,第一获取模块包括:
第二确定单元,用于基于展示有至少一个任务的第一窗口界面,确定所述目标任务;
第三获取单元,用于在展示的第二窗口界面上传所述第一拓扑结构图;或,在展示的所述第二窗口界面中绘制所述第一拓扑结构图。
如图7所示,为本发明实施例提供的第二电子设备的一种实现方式的结构图,第二电子设备包括:
获取模块61,用于获取目标任务对应的数据流向变更信息;
其中,所述数据流向变更信息指示有相对于第二拓扑结构图,第一拓扑结构图对应的各计算节点中数据流向变更的目标计算节点,以及,所述目标计算节点关联的数据流向信息,所述第一拓扑结构图为所述目标任务待更新的拓扑结构图,所述第二拓扑结构为所述目标任务当前使用的拓扑结构图;
更新模块62,用于基于所述数据流向信息,更新所述目标计算节点的流向指示信息,一个计算节点的流向指示信息指示有该计算节点相应的输入计算节点和/或输出计算节点。
在一可选实施例中,所述数据流向信息包括用于表征第二计算节点为第一计算节点新增的输出计算节点的第一调用指示信息,更新模块包括:
检测单元,用于基于所述第一调用指示信息,检测所述第一计算节点输出数据的操作;
第一调用单元,用于响应于所述第一计算节点输出数据的操作,调用所述第二计算节点;以使所述第二计算节点接收所述第一计算节点输出的数据,以及,所述第一计算节点在相应的流向指示信息中增加输出计算节点新增所述第二计算节点的指示,和/或,所述第二计算节点在相应的流向指示信息中增加输入计算节点新增所述第一计算节点的指示。
在一可选实施例中,所述第二计算节点为新增计算节点,所述数据流向信息还包括所述第二计算节点的调用信息,更新模块还包括:
存储单元,用于存储所述第二计算节点的调用信息;
相应的,第一调用单元具体用于:响应于所述第一计算节点输出数据的操作,基于所述第二计算节点的调用信息调用所述第二计算节点。
在一可选实施例中,还包括:
回滚模块,用于检测到所述第二计算节点增加失败时,触发获取模块61。
在一可选实施例中,所述数据流向信息包括删除计算节点对应的删除指令信息,更新模块包括:
第一删除单元,用于删除预设的所述删除计算节点的调用信息;
控制单元,用于控制所述删除计算节点的输入计算节点删除相应的流向指示信息中输出计算节点包含所述删除计算节点的指示,和/或,控制所述删除计算节点的输出计算节点删除相应的流向指示信息中输入计算节点包含所述删除计算节点的指示。
在一可选实施例中,还包括:
第二获取模块,用于获取所述目标任务对应的原始拓扑结构图对应的各计算节点分别对应的流向指示信息;
控制模块,用于控制各计算节点存储相应的流向指示信息,使得各计算节点基于相应的流向指示信息传输数据。
如图8所示,为本发明实施例提供的第一计算节点的一种实现方式的结构图,包括:
接收模块81,用于接收第一数据;
处理模块82,用于基于所述第一数据,获得第二数据;
发送模块83,用于将所述第二数据输出至预设的流向指示信息指示的输出计算节点,所述输出计算节点不包括第二计算节点;
更新模块84,用于检测到所述第二计算节点接收所述第二数据时,在所述流向指示信息中增加输出计算节点包含所述第二计算节点的指示。
在一可选实施例中,接收模块包括:
第一接收单元,用于响应于第二电子设备的调用请求,接收第三计算节点当前正在输出的所述第一数据;
第一更新单元,用于在所述流向指示信息中增加输入计算节点包含所述第三计算节点的指示。
在一可选实施例中,接收模块包括:
第二接收单元,用于基于预设的所述流向指示信息,接收第三计算节点输出的所述第一数据,所述流向指示信息指示有所述第一计算节点相应的输入计算节点包含所述第三计算节点。
在一可选实施例中,还包括:
第二接收模块,用于接收删除计算节点对应的删除指示信息;
删除模块,用于删除所述流向指示信息中输出计算节点包括所述删除计算节点的指示,和/或,输入计算节点包括所述删除计算节点的指示。
如图9所示,为本发明实施例提供的第一电子设备的另一实现方式的结构图,第一电子设备包括:
存储器91,用于存储程序;
处理器92,用于执行所述程序,所述程序具体用于:
获取目标任务待更新的第一拓扑结构图;
基于所述第一拓扑结构图以及所述目标任务当前使用的第二拓扑结构图,获得数据流向变更信息;所述数据流向变更信息指示有相对于所述第二拓扑结构图,所述第一拓扑结构图对应的各计算节点中数据流向变更的目标计算节点,及所述目标计算节点关联的数据流向信息;
将所述数据流向变更信息发送至第二电子设备,以指示所述第二电子设备基于所述数据流向信息更新所述目标计算节点的流向指示信息,一个计算节点的流向指示信息指示有该计算节点相应的输入计算节点和/或输出计算节点。
处理器92可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
第一电子设备还可以包括通信接口93以及通信总线94,其中,存储器91、处理器92以及通信接口93通过通信总线94完成相互间的通信。
可选的,通信接口可以为通信模块的接口,如GSM模块的接口。
本发明实施例还提供了第二电子设备的另一实现方式,第二电子设备包括:
存储器,用于存储程序;
处理器,用于执行所述程序,所述程序具体用于:
获取目标任务对应的数据流向变更信息;
其中,所述数据流向变更信息指示有相对于第二拓扑结构图,第一拓扑结构图对应的各计算节点中数据流向变更的目标计算节点,以及,所述目标计算节点关联的数据流向信息,所述第一拓扑结构图为所述目标任务待更新的拓扑结构图,所述第二拓扑结构为所述目标任务当前使用的拓扑结构图;
基于所述数据流向信息,更新所述目标计算节点的流向指示信息,一个计算节点的流向指示信息指示有该计算节点相应的输入计算节点和/或输出计算节点。
处理器可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
第一电子设备还可以包括通信接口以及通信总线,其中,存储器、处理器以及通信接口通过通信总线完成相互间的通信。
可选的,通信接口可以为通信模块的接口,如GSM模块的接口。
本发明实施例还提供了第一计算节点的另一实现方式,包括:
存储器,用于存储程序;
处理器,用于执行所述程序,所述程序具体用于:
接收第一数据;
基于所述第一数据,获得第二数据;
将所述第二数据输出至预设的流向指示信息指示的输出计算节点,所述输出计算节点不包括第二计算节点;
检测到所述第二计算节点接收所述第二数据时,在所述流向指示信息中增加输出计算节点包含所述第二计算节点的指示。
处理器可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
第一电子设备还可以包括通信接口以及通信总线,其中,存储器、处理器以及通信接口通过通信总线完成相互间的通信。
可选的,通信接口可以为通信模块的接口,如GSM模块的接口。
本发明实施例还提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述应用于第一电子设备的任一所述的数据流向更新方法实施例包含的各个步骤。
本发明实施例还提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述应用于第二电子设备的任一所述的数据流向更新方法实施例包含的各个步骤。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述任一所述的数据流向变更方法实施例包含的各个步骤。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置或***类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (15)
1.一种数据流向变更方法,应用于第一电子设备,其特征在于,包括:
获取目标任务待更新的第一拓扑结构图;
基于所述第一拓扑结构图以及所述目标任务当前使用的第二拓扑结构图,获得数据流向变更信息;所述数据流向变更信息指示有相对于所述第二拓扑结构图,所述第一拓扑结构图对应的各计算节点中数据流向变更的目标计算节点,及所述目标计算节点关联的数据流向信息;
当所述目标计算节点需要被调用时,将所述数据流向变更信息发送至第二电子设备,以指示所述第二电子设备在所述目标计算节点处理数据之前,基于所述数据流向信息更新所述目标计算节点的流向指示信息,其中,一个计算节点的流向指示信息指示有该计算节点相应的输入计算节点和/或输出计算节点。
2.根据权利要求1所述数据流向变更方法,其特征在于,所述基于所述第一拓扑结构图以及所述目标任务当前使用的第二拓扑结构图,获得数据流向变更信息,包括:
获取所述第一拓扑结构图对应的第一拓扑结构原语,所述第一拓扑结构原语包括所述第一拓扑结构图对应的各计算节点的标识;
获取所述第二拓扑结构图对应的第二拓扑结构原语,所述第二拓扑结构原语包括所述第二拓扑结构图对应的各计算节点的标识;
基于所述第一拓扑结构原语以及所述第二拓扑结构原语,确定所述目标计算节点;
基于在所述第一拓扑结构图中所述目标计算节点相应的输入计算节点和/或输出计算节点,获得所述数据流向信息。
3.根据权利要求2所述数据流向变更方法,其特征在于,所述基于所述第一拓扑结构原语以及所述第二拓扑结构原语,确定所述目标计算节点,包括:
若所述第一拓扑结构原语包含第一标识,所述第一标识不同于所述第二拓扑结构原语包含的各计算节点的标识,获得新增计算节点;
将所述新增计算节点,以及,所述新增计算节点相应的输入计算节点和/或输出计算节点,确定为所述目标计算节点。
4.根据权利要求2所述数据流向变更方法,其特征在于,所述基于所述第一拓扑结构原语以及所述第二拓扑结构原语,确定所述目标计算节点,包括:
若所述第二拓扑结构原语包含第二标识,所述第二标识不同于所述第一拓扑结构原语包含的各计算节点的标识,获得删除计算节点;
将在所述第二拓扑结构图中所述删除计算节点相应的输入计算节点和/或输出计算节点,确定为所述目标计算节点。
5.根据权利要求1至4任一所述数据流向变更方法,其特征在于,还包括:
获取所述目标任务对应的原始拓扑结构图;
获得所述原始拓扑结构图对应的各计算节点分别对应的流向指示信息;
将各计算节点分别对应的流向指示信息发送至所述第二电子设备,以使得所述第二电子设备控制各计算节点存储相应的流向指示信息,使得各计算节点基于相应的流向指示信息传输数据。
6.一种数据流向变更方法,应用于第二电子设备,其特征在于,包括:
当需要调用目标计算节点时,获取目标任务对应的数据流向变更信息;
其中,所述数据流向变更信息指示有相对于第二拓扑结构图,第一拓扑结构图对应的各计算节点中数据流向变更的目标计算节点,以及,所述目标计算节点关联的数据流向信息,所述第一拓扑结构图为所述目标任务待更新的拓扑结构图,所述第二拓扑结构为所述目标任务当前使用的拓扑结构图;
在所述目标计算节点处理数据之前,基于所述数据流向信息,更新所述目标计算节点的流向指示信息,其中,一个计算节点的流向指示信息指示有该计算节点相应的输入计算节点和/或输出计算节点。
7.根据权利要求6所述数据流向变更方法,其特征在于,所述数据流向信息包括用于表征第二计算节点为第一计算节点新增的输出计算节点的第一调用指示信息,所述基于所述数据流向信息,更新所述目标计算节点的流向指示信息,包括:
基于所述第一调用指示信息,检测所述第一计算节点输出数据的操作;
响应于所述第一计算节点输出数据的操作,调用所述第二计算节点;以使所述第二计算节点接收所述第一计算节点输出的数据,以及,所述第一计算节点在相应的流向指示信息中增加输出计算节点新增所述第二计算节点的指示,和/或,所述第二计算节点在相应的流向指示信息中增加输入计算节点新增所述第一计算节点的指示。
8.根据权利要求7所述数据流向变更方法,其特征在于,
所述第二计算节点为新增计算节点,所述数据流向信息还包括所述第二计算节点的调用信息,所述基于所述数据流向信息,更新所述目标计算节点的流向指示信息,还包括:存储所述第二计算节点的调用信息;
所述响应于所述第一计算节点输出数据的操作,调用所述第二计算节点,包括:响应于所述第一计算节点输出数据的操作,基于所述第二计算节点的调用信息调用所述第二计算节点;
或,
所述第二计算节点为新增计算节点,所述数据流向变更方法还包括:
检测到所述第二计算节点增加失败时,返回步骤获取目标任务对应的数据流向变更信息。
9.根据权利要求6所述数据流向变更方法,其特征在于,所述数据流向信息包括删除计算节点对应的删除指令信息,所述基于所述数据流向信息,更新所述目标计算节点的流向指示信息,包括:
删除预设的所述删除计算节点的调用信息;
控制所述删除计算节点的输入计算节点删除相应的流向指示信息中输出计算节点包含所述删除计算节点的指示,和/或,控制所述删除计算节点的输出计算节点删除相应的流向指示信息中输入计算节点包含所述删除计算节点的指示。
10.根据权利要求6所述数据流向变更方法,其特征在于,还包括:
获取所述目标任务对应的原始拓扑结构图对应的各计算节点分别对应的流向指示信息;
控制各计算节点存储相应的流向指示信息,使得各计算节点基于相应的流向指示信息传输数据。
11.一种数据流向变更方法,其特征在于,应用于第一计算节点,包括:
接收第一数据;
基于所述第一数据,获得第二数据;
将所述第二数据输出至预设的流向指示信息指示的输出计算节点,所述输出计算节点不包括第二计算节点;
检测到所述第二计算节点接收所述第二数据时,在所述流向指示信息中增加输出计算节点包含所述第二计算节点的指示,所述增加输出计算节点包含所述第二计算节点的指示,是第二电子设备通过在所述第一计算节点处理完毕数据后,调用所述第二计算节点的方式,通知所述第一计算节点的。
12.一种第一电子设备,其特征在于,包括:
第一获取模块,用于获取目标任务待更新的第一拓扑结构图;
第二获取模块,用于基于所述第一拓扑结构图以及所述目标任务当前使用的第二拓扑结构图,获得数据流向变更信息;所述数据流向变更信息指示有相对于所述第二拓扑结构图,所述第一拓扑结构图对应的各计算节点中数据流向变更的目标计算节点,及所述目标计算节点关联的数据流向信息;
发送模块,用于当所述目标计算节点需要被调用时,将所述数据流向变更信息发送至第二电子设备,以指示所述第二电子设备在所述目标计算节点处理数据之前,基于所述数据流向信息更新所述目标计算节点的流向指示信息,其中,一个计算节点的流向指示信息指示有该计算节点相应的输入计算节点和/或输出计算节点。
13.一种第二电子设备,其特征在于,包括:
获取模块,用于当需要调用目标计算节点时,获取目标任务对应的数据流向变更信息;
其中,所述数据流向变更信息指示有相对于第二拓扑结构图,第一拓扑结构图对应的各计算节点中数据流向变更的目标计算节点,以及,所述目标计算节点关联的数据流向信息,所述第一拓扑结构图为所述目标任务待更新的拓扑结构图,所述第二拓扑结构为所述目标任务当前使用的拓扑结构图;
更新模块,用于在所述目标计算节点处理数据之前,基于所述数据流向信息,更新所述目标计算节点的流向指示信息,其中,一个计算节点的流向指示信息指示有该计算节点相应的输入计算节点和/或输出计算节点。
14.一种第一计算节点,其特征在于,包括:
接收模块,用于接收第一数据;
处理模块,用于基于所述第一数据,获得第二数据;
发送模块,用于将所述第二数据输出至预设的流向指示信息指示的输出计算节点,所述输出计算节点不包括第二计算节点;
更新模块,用于检测到所述第二计算节点接收所述第二数据时,在所述流向指示信息中增加输出计算节点包含所述第二计算节点的指示,所述增加输出计算节点包含所述第二计算节点的指示,是第二电子设备通过在所述第一计算节点处理完毕数据后,调用所述第二计算节点的方式,通知所述第一计算节点的。
15.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至5任一所述的数据流向变更方法包含的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810362145.4A CN110213073B (zh) | 2018-04-20 | 2018-04-20 | 数据流向变更方法、电子设备、计算节点及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810362145.4A CN110213073B (zh) | 2018-04-20 | 2018-04-20 | 数据流向变更方法、电子设备、计算节点及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110213073A CN110213073A (zh) | 2019-09-06 |
CN110213073B true CN110213073B (zh) | 2021-10-22 |
Family
ID=67778757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810362145.4A Active CN110213073B (zh) | 2018-04-20 | 2018-04-20 | 数据流向变更方法、电子设备、计算节点及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110213073B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905331B (zh) * | 2019-11-19 | 2024-06-07 | 上海商汤智能科技有限公司 | 任务处理***、方法及装置、电子设备和存储介质 |
CN111049900B (zh) * | 2019-12-11 | 2022-07-01 | 中移物联网有限公司 | 一种物联网流计算调度方法、装置和电子设备 |
CN113438124B (zh) * | 2021-06-07 | 2022-05-06 | 清华大学 | 基于意图驱动的网络测量方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102138138A (zh) * | 2008-08-18 | 2011-07-27 | 国际商业机器公司 | 用于实现流处理计算机架构的方法及*** |
WO2011153000A3 (en) * | 2010-06-04 | 2012-02-23 | Micron Technology Inc. | Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory |
CN104317556A (zh) * | 2014-10-22 | 2015-01-28 | 华为技术有限公司 | 一种流式应用升级方法、主控节点及流计算*** |
CN106126642A (zh) * | 2016-06-23 | 2016-11-16 | 北京工业大学 | 一种基于流式计算的金融仓单风控信息爬取和筛选方法 |
CN107135158A (zh) * | 2017-07-11 | 2017-09-05 | 北京工业大学 | 一种多路径传输中最优路径选择方法 |
-
2018
- 2018-04-20 CN CN201810362145.4A patent/CN110213073B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102138138A (zh) * | 2008-08-18 | 2011-07-27 | 国际商业机器公司 | 用于实现流处理计算机架构的方法及*** |
WO2011153000A3 (en) * | 2010-06-04 | 2012-02-23 | Micron Technology Inc. | Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory |
CN104317556A (zh) * | 2014-10-22 | 2015-01-28 | 华为技术有限公司 | 一种流式应用升级方法、主控节点及流计算*** |
CN106126642A (zh) * | 2016-06-23 | 2016-11-16 | 北京工业大学 | 一种基于流式计算的金融仓单风控信息爬取和筛选方法 |
CN107135158A (zh) * | 2017-07-11 | 2017-09-05 | 北京工业大学 | 一种多路径传输中最优路径选择方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110213073A (zh) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110213073B (zh) | 数据流向变更方法、电子设备、计算节点及存储介质 | |
CN112965901B (zh) | Api的测试方法、服务器、***以及电子设备 | |
CN107992537B (zh) | 业务属性传递方法、装置、计算机设备及存储介质 | |
CN109995805B (zh) | 一种智能机器人的管理方法、终端设备及介质 | |
CN103338243A (zh) | Web节点的缓存数据更新方法和*** | |
CN106790131B (zh) | 一种参数修改方法、装置及分布式平台 | |
CN112615746B (zh) | 一种边缘计算方法、装置及*** | |
CN111181787A (zh) | 一种bmc参数配置方法、装置、设备、介质 | |
CN110780918B (zh) | 中间件容器处理方法、装置、电子设备及存储介质 | |
CN113641640B (zh) | 用于流式计算***的数据处理方法、装置、设备和介质 | |
CN113791792A (zh) | 应用调用信息的获取方法、设备以及存储介质 | |
CN117435569A (zh) | 缓存***动态扩容方法、装置、设备、介质和程序产品 | |
CN115499489B (zh) | 一种链路中子网管理的方法、装置、设备及可读介质 | |
CN112615786B (zh) | 路由确定方法、装置、电子设备及计算机可读存储介质 | |
CN116701053A (zh) | 生产环境数据库的数据备份恢复方法、装置、设备及介质 | |
CN114595069B (zh) | 服务下线方法、装置、电子设备及存储介质 | |
CN107342981B (zh) | 传感器数据的传输方法及装置、虚拟现实头戴设备 | |
CN111629054B (zh) | 消息处理方法、装置、***、电子设备及可读存储介质 | |
CN111400060B (zh) | 设备联动方法、装置、服务器和介质 | |
JP6412641B2 (ja) | 通信リンクの送信方法、装置及び端末 | |
US10511687B2 (en) | Systems and methods for mobile device predictive response capabilities | |
CN115840604B (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN114546522B (zh) | 应用的图片配置方法、装置、电子设备及存储介质 | |
CN111132121B (zh) | 信息处理方法和网络仓库功能nrf网元 | |
CN107453904B (zh) | 一种集群管理界面实现方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |