CN114448889A - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN114448889A CN114448889A CN202011131010.0A CN202011131010A CN114448889A CN 114448889 A CN114448889 A CN 114448889A CN 202011131010 A CN202011131010 A CN 202011131010A CN 114448889 A CN114448889 A CN 114448889A
- Authority
- CN
- China
- Prior art keywords
- network node
- computing task
- node
- routing table
- task
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
Abstract
本申请实施例提供一种数据处理方法,主网络节点用于连接第一网络节点及第二网络节点,所述第二网络节点为新增网络节点或者故障网络节点;主网络节点当侦测到所述第二网络节点时,发送通知消息至所述第一网络节点;第一网络节点发送所述通知消息之前从未接收过的计算任务给主网络节点;主网络节点接收所述第一网络节点发送的所述第一网络节点在接收到所述通知消息之前从未接收过的计算任务并处理。本发明的数据处理方法解决现有技术中网内计算在结构发生变化时,需要中断计算任务处理的缺陷。
Description
技术领域
本申请涉及网内计算领域,具体涉及一种数据处理方法。
背景技术
在相关技术中,路由器和交换机除了转发业务报文外,还可以具备业务报文处理能力。通过网内计算技术,可以将一些适合通过路由器和交换机处理的计算任务卸载至路由器和交换机等网络节点执行,从而减轻了计算节点的压力。一般情况下,属于同一计算任务的业务报文需要分配给同一网络节点执行,在网络节点接收到业务报文后,会对业务报文中携带的计算任务ID以网络内的网络节点的个数为长度进行哈希计算,以计算处理所述计算任务的网络节点,并在接收到所述计算任务的网络节点中的路由表中记录处理所述计算任务的网络节点。但是当网络中的网络节点的数量发生变化后,例如网络节点故障或者增加新的网络节点,则由于哈希长度的变化,在接收到之前已经接收到计算任务时,则通过哈希计算确定的处理所述计算任务的网络节点与网络节点发生变化之前计算的处理所述计算任务的网络节点不同。相关技术中,为了避免上述情况的发生,会停止发送计算任务,在所有网路节点中的路由表同步之后,再重新开始发送计算任务。
发明内容
本申请实施例旨在提供一种数据处理方法,以在分布式网络的结构发生变化时,不需要中断计算任务的执行。
为实现上述目的,本发明实施例第一方面提供了一种数据处理方法,由主网络节点执行,所述主网络节点用于连接第一网络节点及第二网络节点,所述第二网络节点为新增网络节点或者故障网络节点,所述方法包括:当侦测到所述第二网络节点时,发送通知消息至所述第一网络节点;接收所述第一网络节点发送的所述第一网络节点在接收到所述通知消息之前从未接收过的计算任务;处理所述第一网络节点发送的计算任务。
通过将第一网络节点发送的从未接收过的计算任务由主网络节点处理,避免在分布式网络中网络节点结构变化时,计算任务的处理中断,提高计算任务处理效率。
在一种具体的实施方式中,在所述发送通知消息至所述第一网络节点之后,所述方法还包括:接收所述第一网络节点发送的确认信息,所述确认信息用于指示所述第一网络节点已接收到所述通知信息;将全局路由表发送至所述第一网络节点,所述全局路由表包括所述主网络节点接收到的第一计算任务及处理所述第一计算任务的网络节点,及所述第一网络节点在接收到所述通知消息之前所接收到的第二计算任务及处理所述第二计算任务的网络节点。
通过向第一网路节点发送全局路由表,保证分布式网络结构变化前后的所有节点路由表的一致性。
在一种具体的实施方式中,所述方法还包括:在发送通知消息至所述第一网络节点后,接收所述第一网络节点发送的第一网络节点中的节点路由表,所述第一网络节点中的节点路由表包括所述第一网络节点在接收到所述通知消息之前所接收到的第二计算任务及处理所述第二计算任务的网络节点;将所述第一网络节点中的节点路由表与所述主网络节点中的节点路由表合并为所述全局路由表,所述主网络节点的路由表包括所述主网络节点接收到的第一计算任务及处理所述第一计算任务的网络节点。
在一种具体的实施方式中,所述方法还包括,第一网络节点在正常工作期间,当接收到计算任务的第一个报文时,根据所述报文更新节点路由表,并将所述节点路由表更新的内容发送给主网络节点。
避免了主节点在路由表同步时期同步所有节点的节点路由表的压力。
在一种具体的实施方式中,在所述处理所述第一网络节点发送的计算任务之后,所述方法还包括:将所述计算任务及处理所述计算任务的网络节点存储至所述主网络节点的路由表。
在网络结构发生变化期间,主网络节点将计算任务的网络节点信息及时保存至主网络节点的路由表中,保证根据主网络节点的路由表生成的全网路由表的准确性。
在一种具体的实施方式中,接收所述第一网络节点发送的确认信息,所述确认信息用于指示所述第一网络节点已接收到所述通知信息之后,还包括,向第一网络节点发送哈希路由表,所述哈希路由表用于以所述主网络节点及所述第一网络节点所在的网络系统中的网络节点的数量为哈希长度计算处理所述计算任务。
在一种具体的实施方式中,在所述发送通知消息至所述第一网络节点之后,若超过第一时间阈值未收到第一网络节点的确认信息,重新向第一网络节点发送通知消息。
通过超时重发机制,保证每个第一网络节点都获取网络结构变化的通知消息。
本发明的第二方面提供了一种数据处理方法,由第一网络节点执行,所述第一网络节点连接至主网络节点,所述方法包括:接收所述主网络节点发送的通知消息,所述通知消息用于通知所述主网络节点侦测到第二网络节点,所述第二网络节点为新增网络节点或者故障网络节点;接收第一计算任务;在确定所接收的计算任务是在收到所述通知消息之前从未接收过的计算任务时,发送所述计算任务至所述主网络节点。
通过将第一网络节点发送的从未接受过的计算任务由主网络节点处理,避免在分布式网络结构变化时,计算任务的处理中断,提高计算任务处理效率。
在一种具体的实施方式中,所述第一网络节点包括节点路由表,所述节点路由表中记录了所述第一网络节点在收到所述通知消息之前接收到的计算任务及处理所述计算任务的网络节点。
在一种具体的实施方式中,所述方法还包括:在确定所接收的计算任务是在收到所述通知消息之前接收过的计算任务时,根据所述第一网络节点中的节点路由表将所述计算任务转发至所述计算任务对应的网络节点。
将原有的业务继续在第一网络节点本节点处理,减轻主网络节点的负载。
在一种具体的实施方式中,所述方法包括:在接收到所述通知消息之后,发送所述节点路由表至所述主网络节点。
在一种具体的实施方式中,所述方法还包括,第一网络节点在正常工作期间,当接收到计算任务的第一个报文时,根据所述报文更新节点路由表,并将所述节点路由表更新的内容发送给主网络节点。
在一种具体的实施方式中,所述方法包括:接收所述主网络节点发送的全局路由表,所述全局路由表包括所述主网络节点接收到的第一计算任务及处理所述第一计算任务的网络节点,及所述第一网络节点在接收到所述通知消息之前所接收到的第二计算任务及处理所述第二计算任务的网络节点;接收第二计算任务,当所述第二计算任务为所述全局路由表中的计算任务时,根据所述全局路由表确定处理所述第二计算任务的网络节点,并将所述第二计算任务发送至所确定的网络节点。
通过向第一网路节点发送全局路由表,保证分布式网络结构变化前后的所有节点路由表的一致性。
在一种具体的实施方式中,所述方法包括:接收所述主网络节点发送的全局路由表,所述全局路由表包括所述主网络节点接收到的第一计算任务及处理所述第一计算任务的网络节点,及所述第一网络节点在接收到所述通知消息之前所接收到的第二计算任务及处理所述第二计算任务的网络节点;接收第二计算任务,当所述第二计算任务不是所述全局路由表中的计算任务时,以所述主网络节点及所述第一网络节点所在的网络系统中的网络节点的数量为哈希长度计算处理所述第二计算任务的网络节点。
接收全局路由表标志着路由表更新的结束,按照新的网络结构的哈希路由表计算任务的目标网络节点减轻了主网络节点的负载。
本发明的第三方面提供了一种数据处理装置用于执行第一方面所述的方法。
本发明的第四方面提供了一种数据处理装置用于执行第二方面所述的方法。
本发明的第五方面提供了一种网络节点系统,所述网络节点系统包括主网络节点和第一网络节点,其特征在于:
所述主网络节点用于执行第一方面所述的方法,
所述第一网络节点用于执行第二方面所述的方法。
本发明的第五方面提供了一种网络节点,其特征在于所述节点包括:处理器和存储器,所述存储器中存储有程序指令,所述处理器执行所述程序指令以实现第一方面或第二方面所述的方法。
本发明的第六方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序或指令,当所述计算机程序或指令在计算机中执行时,令计算机执行第一或第二方面所述的方法。
本发明的第七方面提供了一种计算机程序产品,所述计算计算机程序产品包括指令,当其在计算机上运行时,使得计算机执行上述第一或第二方面所述的方法。
附图说明
通过结合附图描述本说申请实施例,可以使得本申请实施例更加清楚:
图1示出了本发明分布式网络的结构示意图;
图2示出了本发明分布式网络中网络节点的结构示意图;
图3示出了本发明中网络节点业务报文处理流程图;
图4示出了本发明的一种网络节点结构发生变化后路由表同步的流程图;
图5a示出了本发明实施例1中的移除网络节点的情形;
图5b示出了本发明实施例1中的增加网络节点的情形;
图6示出了本发明图4中报文处理的流程图;
图7示出了本发明的另一种分布式网络结构发生变化后路由表同步的流程图;
图8示出了本发明的数据处理装置的结构方框图;
图9示出了本发明的另一种数据处理装置的结构方框图。
具体实施方式
为了使本申请的上述目的、技术方案和优点更易于理解,下文提供了详细的描述。所述详细的描述通过使用方框图、流程图和/或示例提出了设备和/或过程的各种实施例。由于这些方框图、流程图和/或示例包含一个或多个功能和/或操作,所以本领域内人员将理解可以通过许多硬件、软件、固件或它们的任意组合单独和/或共同实施这些方框图、流程图或示例内的每个功能和/或操作。
图1为分布式网络100网络架构的简化方框图,分布式网络100中包括多个网络节点和计算节点,示例性的以四个网络节点和四个计算节点为例,分别为网络节点101、网络节点102、网络节点103、网络节点104和计算节点105,计算节点106,计算节点107,计算节点108。网络节点与对应的计算节点相连,如图所示,网络节点101与计算节点105相连,网络节点102与计算节点106相连,网络节点103与计算节点107相连,网络节点104与计算节点108相连;分布式网络100中的网络节点间是全互连的。
计算节点之间通过网络节点连接,计算节点用于数据处理,并通过网络节点进行数据的传输。其中计算节点是网络中具有数据处理能力的终端设备,如主机或存储设备等。网络节点用于转发来自计算设备的数据,其中网络节点路由器或交换机等。
由于目前的网络节点除了基本的业务报文转发的功能外,还可以做一些特定计算,这样,对于计算节点之间传输的业务报文,可以在通过网络节点传输时,在网络节点中对所传输的业务报文进行特定的处理,从而减轻计算节点的负载,这就是网内计算技术。通过网内计算技术,可以将一些适合通过网络节点处理的计算任务卸载至网络节点执行。一般情况下,属于同一计算任务的业务报文需要分配给同一网络节点执行,在网络节点接收到业务报文后,会对业务报文中携带的计算任务标识以网络内的网络节点的个数为长度进行哈希计算,以计算处理所述计算任务的网络节点,并在接收到所述计算任务的网络节点中的路由表中记录处理所述计算任务的网络节点,然后将业务报文转发至所确定的网络节点执行,等下次再接收到同一计算任务的业务报文时,则直接根据计算任务ID查询路由表即可确定处理所述业务报文的网络节点。
图2为所述具有计算能力的网络节点200的结构图。网络节点200包括与一个或多个数据存储单元连接的处理器201。数据存储单元可以包括存储介质203和内存单元(cache)204。存储介质203可以是只读的,如只读存储器(ROM),或是可读写的,如硬盘或闪存。内存单元204可以与处理器201集成在一起也可为独立的元件。处理器201是网络节点200的控制中心,用于执行程序代码以实现与所述程序指令对应的功能。可选地,处理器201包括一个或多个网络处理器单元(Network Processer Unit,NPU),用于处理业务报文,例如,如图2所示的NPU0和NPU1。可选地,网络节点200包括一个以上的处理器,例如,如图2所示的处理器201和205。本文所使用的术语“处理器”指一个或多个用于处理计算机程序指令等数据的设备、电路和/或处理内核。可替换的,网络处理器可以是中央处理器(CPU)。
处理器201和/或205的CPU将执行的程序代码存储在内存单元204或存储介质203中。可选地,存储介质203中存储的程序代码可以复制到内存单元204中以便处理器执行。根据程序代码,在内存单元204中对接收到的数据报文进行处理。处理器可执行至少一个内核(例如,以LINUZTM、UNIXTM、WINDOWSTM、ANDROIDTM、IOSTM等品牌厂商出售的操作系统中的内核),众所周知该内核通过控制其它程序的执行、控制与外围设备的通信以及控制网络节点资源的使用来控制网络节点200的运行。
网络节点200还包括通信接口202,网络节点200可通过该通信端口202直接或通过外部网络与另一设备或系统进行通信。网络节点200的上述元件可通过数据总线、地址总线、控制总线、扩展总线和本地总线等总线中的任一或任意组合互相连接。
作为实用示例,上述网络节点200可以是具有数据处理功能的交换机、具有数据处理功能的路由器或具有如图2所示类似结构的用于业务报文转发和处理的任何其它设备。
对于需要进行网内计算的业务报文,会在业务报文中携带需要通过网络节点执行的计算任务的标识(ID)。在支持网内计算的分布式网络100建立时,管理员会为网络中每一个网络节点配置两张路由表。在分布式网络网络100工作正常时,业务报文到达网络100中任意一个网络节点后,根据业务报文中携带的计算任务的ID两张路由表得到执行所述计算任务的目标网络节点地址,并将业务报文转发到目标网络节点进行处理。
具体的,两张路由表分别为节点路由表和哈希路由表。其中节点路由表包括计算任务标识与目标网络节点的对应关系,如表1所示;哈希路由表包括哈希值与目标网络节点的对应关系,如表2所示。关于如何根据上述两张路由表确定执行业务报文中携带的计算任务的目标节点的方法将结合图3所述的流程图进行描述。
表1
计算任务标识 | 网络节点IP地址 |
00001 | 10.0.0.1(节点101) |
00002 | 10.0.0.2(节点102) |
表2
哈希值 | 网络节点IP地址 |
0 | 10.0.0.1(节点101) |
1 | 10.0.0.2(节点102) |
2 | 10.0.0.3(节点103) |
3 | 10.0.0.4(节点104) |
接下来,结合图3对网络节点确定执行业务报文中的计算任务的目标网络节点的流程进行介绍。
步骤S301、当业务报文到达网络节点时,确定业务报文中的计算任务标识是否存在所述节点路由表中。若不存在,则转至步骤S302;若存在,转至步骤S303。
如果业务报文中的计算任务标识不包含在所述节点路由表中,则说明所述网络节点之前没有接收过需要执行所述计算任务的业务报文,如果业务报文中的计算任务标识不包含在所述节点路由表中,则说明所述网络节点之前已经接收过需要执行所述计算任务的业务报文,
步骤S302、对计算任务标识进行哈希计算,得到哈希值,根据哈希值在哈希路由表中获取哈希值对应的目标网络节点的地址,并将哈希值及对应的目标网络节点的地址更新到节点路由表。
在对计算任务标识进行哈希计算时,所述哈希计算的哈希长度为分布式网络中的网络节点的数量。
示例性的,哈希计算公式为:id=Hash(taskID)modnode_num;其中taskID为业务报文中的计算任务标识,node_num为网络100中网络节点的数量。其中网络节点的数量为网络节点的哈希路由表中的行数。
步骤S303、获取所述计算任务标识对应的目标网络节点的地址,并根据目标网络节点地址判断本网络节点是否为目标网络节点。若是,则转至步骤S304;否则转至步骤S305。
根据目标网络节点的IP地址与本网络节点的IP地址进行匹配,若相同则判断本网络节点为目标网络节点。
步骤S304、在本网络节点处理业务报文。
步骤S305、本网络节点转发业务报文到目标网络节点,以使目标网络节点处理所述业务报文。
以上为分布式网络结构未发生变化时进行网内计算进行数据处理时的流程。
但是当网络中的网络节点的数量发生变化后,例如网络节点故障或者增加新的网络节点,对于第一次接收到一个计算任务的业务报文的网络节点,会按照新的哈希长度计算哈希值,以确定处理所述业务报文的目标网络节点,然而这个计算任务的业务报文可能之前已被其他网络节点接收,并以之前的网络节点的数量作为哈希长度计算了哈希值,并确定了目标网络节点,这将导致网络节点的数量变化前后,对于属于相同计算任务的业务报文会确定出不同的目标网络节点,即属于相同计算任务的业务报文被不同的网络节点处理。相关技术中,为了避免上述情况的发生,计算节点会停止发送业务报文,在所有网路节点中的路由表同步之后,再重新开始发送计算任务。
本发明实施例提供的技术方案可以在分布式网络中的网络节点的数量发生变化后,从网络节点将所接收到之前从没有接收过的计算任务的业务报文转发至主网络节点处理,从而避免网络节点的数量发生变化后,计算节点停止发送业务报文,从而保证计算任务的连续执行。
本发明实施例提供的方案将结合图4、图5a,5b、图6详细描述。其中图4为本发明实施例中在网络节点的数量发生变化后,各网络节点中的路由表同步的流程示意图,图5a,5b中为分布式网络中100中移除故障网络节点或添加新的网络节点的示意图,图6为本发明实施例中各网络节点进行路由表同步过程中的对接收到的业务报文的处理流程。
在分布式网络100搭建时,管理员在分布式网络100的网络节点中选择一个网络节点作为主网络节点,并将主网络节点的地址发送给从网络节点。主网络节点用于管理整个路由表更新过程与路由表更新过程中的数据处理。通过主网络节点,保证网络节点路由表更新后网络节点间的路由表是一致的,并且保证整个网内计算的数据处理不中断。本发明未指定选择主网络节点的过程,可以通过现有技术中任意方式或方式组合进行选举。如通过所有的网络节点选举主网络节点,由管理员指定主网络节点,按照网络节点特性,如剩余带宽等进行排序选择带宽最大的网络节点为主网络节点等。
由于网络节点结构变化的不确定性,可能会出现主网络节点由于故障被移除的情况。为了防止主网络节点被移除的情况,管理员可以指定一个从网络节点作为主网络节点的备份网络节点,将主网络节点的节点路由表周期性的备份到该备份节点中。在主网络节点被移除导致的网络100结构变化的情况发生时,由备份网络节点监测到主网络节点故障,随后备份网络节点作为主网络节点,并广播该节点的地址给其他从网络节点。可选的,为了防止主网络节点故障的情况,主网络节点可以在网络发生异常后进行再设定。
步骤S401、主网络节点侦测到网络节点数量发生变化,向从网络节点发送通知消息。
所述通知消息用于通知从网络节点分布式网络100结构发生变化。
具体的,主网络节点可以与网络中所有的从网络节点进行心跳连接,当某个从网络节点的心跳连接断开时,判断该网络节点故障;或,新加入网络100的网络节点向网络中所有的网络节点与计算节点广播报文,主网络节点接收到该报文后,判断有新节点加入网络100。
步骤S402、从网络节点收到通知消息后,发送第一确认报文和本节点的节点路由表给主网络节点。
其中第一确认报文用于通知所述主网络节点所述从网络节点已经收到所述通知消息。所述节点路由表为网络节点的数量发生变化前生成的节点路由表。
在步骤S402之后到步骤S406之前,对于到达任意一个网络节点的报文依旧进行处理,保证网内计算的计算任务的业务报文转发和处理不中断。具体的,报文处理方式如图6所示。
步骤S403、主网络节点在接收到所有的从网络节点的第一确认报文和节点路由表后,生成全局路由表。
具体的,主网络节点将所有网络节点(包括主节点本身)的节点路由表进行汇总,合并生成全局路由表,合并的过程是将多个节点路由表取并集,得到全网路由表,由于在网络结构发生变化前,所有网络节点的节点路由表中网络节点与计算任务标识的对应关系都是根据原哈希路由表生成的,在网络结构变化后,将所有的网络节点的节点路由表在主网络节点处汇总保证在路由表同步前后属于相同的已有的计算任务的业务报文均记载在全局路由表中。
在步骤S403中,主网络节点还需要更新本网络节点的哈希路由表,对于移除或增加节点的情况,需要保证表2中哈希值的连续性。
示例性的,如图5a所示,若分布式网络100中的网络节点103因故障被移除,主网络节点的哈希路由表变更为表3所示的形式。步骤S303中的哈希计算公式中node_num数量减1。
表3
哈希值 | 网络节点IP地址 |
0 | 10.0.0.1(网络节点101) |
1 | 10.0.0.2(网络节点102) |
2 | 10.0.0.4(网络节点104) |
如图5b所示,若分布式网络100中的新增节点105,主网络节点哈希路由表变更为表4所示的形式。步骤S303中的哈希计算公式中node_num数量加1。
表4
哈希值 | 节点地址 |
0 | 10.0.0.1(网络节点101) |
1 | 10.0.0.2(网络节点102) |
2 | 10.0.0.3(网络节点103) |
3 | 10.0.0.4(网络节点104) |
4 | 10.0.0.5(网络节点109) |
若超过第一时间阈值主网络节点仍未从网络节点发送的第一确认报文,表明超时。主网络节点根据哈希路由表中的记录统计。主网络节点向未发送确认报文的从网络节点重新进行步骤S401。
步骤S404、主网络节点将全局路由表发送给从网络节点。
在步骤S404后,主网络节点按照新的哈希路由表和全局路由表处理到达主网络节点的业务报文。
步骤S405、从网络节点收到全局路由表后替换节点路由表,并发送第二确认报文给主网络节点。
在步骤S405后,从网络节点按照新的哈希路由表和全局路由表处理到达从网络节点的业务报文。对于从节点的新的哈希路由表,可选的,在步骤S404中,主网络节点可以将更新后的哈希路由表发送给从网络节点。或,在步骤S401中,主网络节点在通知消息中携带新增或移除节点的标识信息发送给从网络节点,步骤S405后,从网络节点根据新增或移除节点的标识信息更新哈希路由表,具体的更新过程,与步骤S404中主网络节点的更新过程相同。
步骤S406、主网络节点在接收到所有的从网络节点的第二确认报文后,表明同步完成。
若超过第二时间阈值主网络节点仍未收到从网络节点发送第二确认报文,表明超时,则主网络节点向仍未发送第二确认报文的从网络节点重新发送全局路由表。
图6为图4中步骤S402-S405之间,到达分布式网络从网络节点的业务报文的处理流程图:
步骤S601、在从网络节点接收到业务报文后,根据该业务报文的计算任务标识在节点路由表中进行查找,若节点路由表中存在计算任务标识对应的目标网络节点的记录,转至步骤S602,若否,转至步骤S603。
步骤S602、从网络节点依据节点路由表处理业务报文。
具体的,步骤S602的处理流程与图3中S303-S305相同,在此不做赘述。
步骤S603、从网络节点根据业务报文中主网络节点字段判断业务报文是否是主网络节点发送的;若否,则转向步骤S604,若是,则转向步骤S606。
本实施例中在每个计算任务的业务报文中增加了主网络节点字段,主网络节点字段用于标识在路由表同步过程中业务报文被主网络节点接管。所述主网络节点字段可以在业务报文的预留字段中选择并设置。主网络节点字段用于标识该报文是否由在主网络节点处理过,示例性的,0表示该业务报文未被主网络节点处理过,1该业务报文表示被主网络节点处理过。对于任意到达分布式网络100的业务报文,默认的,该字段置为0。
具体的,业务报文中主网络节点字段为1,表明业务报文是否是主网络节点发送的,若主网络节点字段为0,表明业务报文未经过主网络节点处理。
步骤S604、从网络节点修改业务报文中主网络节点字段并将业务报文转发到主网络节点处理。
示例性的,从网络节点将业务报文中的主网络节点字段从0修改为1。
步骤S605、主网络节点处理该业务报文。
具体的,步骤S605主网络节点处理计算任务的业务报文的流程与图3中S301-S305相同,在此不做赘述。
步骤S606、将业务报文在本节点处理。
如果主网络节点字段为1,表明该报文为主网络节点转发的报文,说明本网络节点被主网络节点认定为目标网络节点,所以在本节点处理该报文。
对于到达主网络节点的业务报文来说,主网络节点一直按照图3的流程处理计算任务的业务报文。
在步骤S402-步骤403之间的业务报文均会在主网络节点的全局路由表中记录,保证后续路由表同步的一致性,主网络节点在接收到业务报文时,按照网络结构发生变化前的节点路由表和未更新的哈希路由表按照图3的流程处理业务报文。对于步骤S404-S405之间的到达从网络节点的从网络节点从未处理过的计算任务的业务报文,从节点依旧会转发给主网络节点处理,主网络节点按照全局路由表和新的哈希路由表按照图3的流程处理该业务报文。在步骤S405后,到达从网络节点的从网络节点从未处理过的计算任务的业务报文,从网络节点不再转发该业务报文,从网络节点按照全局路由表和新的哈希路由表处理该业务报文。步骤S406后,表明路由表更新完成,所有网络节点依旧按照图3的步骤进行业务报文的处理。在节点处理报文时不再考虑主网络节点字段。
对于因故障移除节点的情况,如果到达分布式网络从网络节点的报文为计算任务的第一个报文且时间在步骤S402-S403之间,则该报文被转发到主网络节点。主网络节点可以将此业务报文先根据分布式网络结构变化前的原哈希路由表进行哈希运算,如果哈希值对应的网络节点IP地址为未移除的网络节点的IP地址,则将此报文按照计算得到的网络节点的IP地址进行转发并更新节点路由表,如果得到的结果为移除的节点的IP地址,将该报文指定任意一个未删除的网络节点作为目标节点进行转发并处理,并在将计算任务标识和目标节点的IP地址的对应关系更新主网络节点的节点路由表。需要解释的是,其中计算任务的第一个报文的结构与后续属于同一个计算任务的报文结构不同,通常,计算任务的第一个报文不包含数据,报文长度小于后续的属于同一个计算任务的报文,网络节点通过业务报文的长度判断该业务报文是否为计算任务的第一个业务报文。
对于分布式网络节点结构变化前,若属于同一个计算任务的业务报文已经在移除的网络节点上处理,则在分布式网络的网络结构变化后,各网络节点依旧按照节点路由表转发到移除节点。因为网络节点移除后已经无法获取分布式网络节点结构变化前属于该计算任务的报文处理结果,若继续通过其他网络节点处理属于该计算任务的报文是无用的。
实施例一在分布式网络结构发生变化后,通过主网络节点对系统中从网络节点路由表信息的整合,并承接从网络节点的从未处理过的计算任务的业务报文,保证系统业务转发策略的一致性的同时不中断计算任务的数据处理,提高了数据处理效率。
实施例二、
考虑到实施例一数据处理过程中所有的不包含在从网络节点的节点路由表中的业务报文均由主网络节点处理,除此之外,主网络节点还负责所有网络节点的节点路由表的汇总更新工作,这会导致主网络节点的负载压力较大。在此基础上,对实施例一中的路由表同步策略进行改进,具体参见图7的流程图:
与图4的流程图区别在于:在步骤S401之前:
在分布式网络建立时,在分布式网络中选择主网络节点,并将主网络节点的标识广播给所有的从网络节点。在未发生网络结构的变化的正常通信过程中,主网络节点周期性的获取所有从网络节点的节点路由表进行周期性的更新。由于周期性更新会占用大量的网络资源,考虑到新计算任务的首个业务报文的格式与后续的业务报文的格式不同,在任意一个网络节点接收到新计算任务的首个业务报文时,按照图3的步骤处理并将本地的节点路由表中的关于该报文中的计算任务标识主动上报给主网络节点,主网络节点在收到该信息后更新主网络节点的节点路由表。这样保证了在网络结构发生变化前,主网络节点的节点路由表的信息是全网络的。由于后续网络结构变化的不确定性,可能会出现主网络节点被移除的情况。为了防止主网络节点被移除的情况,可以由主网络节点指定一个从网络节点作为备份网络节点,将主网络节点的路由表信息周期性的备份到该备份网络节点中。在主网络节点被移除导致的网络100结构变化的情况发生时,由备份网络节点作为主网络节点。
可选的,可以通过在报文中设置相应的字段用于标识业务的第一个报文或非第一个报文。
与实施例一图4的步骤不同的是:
步骤S702、从网络节点收到异常报文后,发送第一确认报文给主网络节点。
由于主网络节点在正常通信的过程中已经收集了全网络中所有业务的信息,步骤S702中从网络节点就不需要将节点路由表发送给主网络节点了。
步骤S703具体为主网络节点将主网络节点的节点路由表作为全局路由表。
需要解释的是,在步骤S703需要主网络节点生成全局路由表,在步骤S701之前,主网络节点的节点路由表并非全局路由表,因为在步骤S702时,全网的计算任务依旧在执行,可能会有新的计算任务到达分布式网络中的网络节点,所以,在图7的步骤S702-S703之间,主节点的节点路由表可能会进行更新。
步骤S701、步骤S704-步骤S706与步骤S401、步骤S404-S406相同。
可选的,可以在步骤S701之前不设置主网络节点,可以在分布式网络中任意一个网络节点收到新计算任务的第一个报文时,统一将该报文的信息广播全网,这样处理保证每一个网络节点的节点路由表均为全局路由表,可以在网络结构发生变化的时候再选择主网络节点,防止主网络节点被移除的情况发生。但这样会占用额外的更多的网络传输资源。
通过在正常业务处理过程中设置主网络节点收集全网计算任务信息,减轻了在网络结构发生变化时主网络节点汇总节点路由表生成全局路由表时的负载,使得数据处理过程更加高效的进行。
本发明的实施例还提供一种数据处理装置800,如图8所示。数据处理装置800应用于主网络节点,所述主网络节点用于连接第一网络节点及第二网络节点,所述第二网络节点为新增网络节点或者故障网络节点,数据处理装置800包括:通信模块801和处理模块802。
处理模块801,用于侦测所述第二网络节点。所述处理模块所执行的功能的具体实现方式请参考图3中步骤S301-S305、图4中的S401、S403、S406,图6中的S601-S606,图7中的S701、S703、S706,在此不再赘述。
通信模块802,用于发送通知消息至所述第一网络节点;接收所述第一网络节点发送的所述第一网络节点在接收到所述通知消息之前从未接收过的计算任务。所述通信模块所执行的功能的具体实现方式请参考图3中步骤S305、图4中的S402、S404、S406,图6中的S604,图7中的S402、S404、S406,在此不再赘述。
所述处理模块801还用于,处理所述第一网络节点发送的计算任务。
本发明的实施例还提供了一种数据处理装置900,如图9所述。数据处理装置900,应用于第一网络节点,所述第一网络节点连接至主网络节点,所述装置900包括:通信模块901和判断模块902。
通信模块,用于接收所述主网络节点发送的通知消息,所述通知消息用于通知所述主网络节点侦测到第二网络节点,所述第二网络节点为新增网络节点或者故障网络节点;接收第一计算任务。所述通信模块所执行的功能的具体实现方式请参考图3中步骤S301-S305、图4中的S402、S405,图6中的S601、S604,图7中的S702、S705,在此不再赘述。
判断模块902,用于确定所接收的计算任务是在收到所述通知消息之前从未接收过的计算任务。所述判断模块所执行的功能的具体实现方式请参考图3中步骤S301-S305、图4中的S405,图6中的S601、S603、S606,图7中的S705,在此不再赘述。
所述通信模块901还用于,发送所述计算任务至所述主网络节点。
本发明的还提供了一种网络节点系统,所述网络节点系统包括主网络节点和第一网络节点,其特征在于:
所述主网络节点用于执行实施例一或实施例二中主网络节点所执行的方法,
所述第一网络节点用于执行实施例一或实施例二中从网络节点所执行的方法。
本发明的还提供了一种网络节点,其特征在于所述节点包括:处理器和存储器,所述存储器中存储有程序指令,所述处理器执行所述程序指令以实现实施例一或实施例二所述的数据处理方法。
本发明的还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序或指令,当所述计算机程序或指令在计算机中执行时,令计算机执行实施例一或实施例二所述的数据处理方法。
本发明的第七方面提供了一种计算机程序产品,所述计算计算机程序产品包括指令,当其在计算机上运行时,使得计算机执行上述实施例一或实施例二所述的数据处理方法。
需要理解,本文中的“第一”,“第二”等描述,仅仅为了描述的简单而对相似概念进行区分,并不具有其他限定作用。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (20)
1.一种数据处理方法,由主网络节点执行,所述主网络节点用于连接第一网络节点及第二网络节点,所述第二网络节点为新增网络节点或者移除网络节点,其特征在于,所述方法包括:
当侦测到所述第二网络节点时,发送通知消息至所述第一网络节点;
接收所述第一网络节点发送的所述第一网络节点在接收到所述通知消息之前从未接收过的第一计算任务的业务报文;
处理所述第一网络节点发送的所述计算任务的业务报文。
2.如权利要求1所述的方法,其特征在于,在所述发送通知消息至所述第一网络节点之后,所述方法还包括:接收所述第一网络节点发送的确认信息,所述确认信息用于指示所述第一网络节点已接收到所述通知信息;
将全局路由表发送至所述第一网络节点,所述全局路由表包括所述主网络节点接收到的业务报文对应的第二计算任务及处理所述第二计算任务的业务报文的网络节点,及所述第一网络节点在接收到所述通知消息之前所接收到的业务报文对应的第三计算任务及处理所述第三计算任务的业务报文的网络节点。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
在发送通知消息至所述第一网络节点后,接收所述第一网络节点发送的第一网络节点中的节点路由表,所述第一网络节点中的节点路由表包括所述第一网络节点在接收到所述通知消息之前所接收到的业务报文对应的第三计算任务及处理所述第三计算任务的业务报文的网络节点;
将所述第一网络节点中的节点路由表与所述主网络节点中的节点路由表合并为所述全局路由表,所述主网络节点的路由表包括所述主网络节点接收到的业务报文对应的第二计算任务及处理所述第一计算任务的业务报文的网络节点。
4.如权利要求1-3任意一项所述的方法,其特征在于,在所述处理所述第一网络节点发送的所述第一计算任务的业务报文之后,所述方法还包括:
将所述第一计算任务及处理所述第一计算任务的报文的网络节点存储至所述主网络节点的节点路由表。
5.一种数据处理方法,由第一网络节点执行,所述第一网络节点连接至主网络节点,其特征在于,所述方法包括:
接收所述主网络节点发送的通知消息,所述通知消息用于通知侦测到第二网络节点,所述第二网络节点为新增网络节点或者移除网络节点;
接收第一计算任务对应的业务报文;
在确定所接收的第一计算任务对应的业务报文是在收到所述通知消息之前从未接收过的计算任务的业务报文时,发送所述第一计算任务对应的业务报文至所述主网络节点。
6.如权利要求5所述的方法,其特征在于,所述第一网络节点包括节点路由表,所述节点路由表中记录了所述第一网络节点在收到所述通知消息之前接收到业务报文对应的第二计算任务及处理所述第二计算任务的业务报文的网络节点。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
在确定所接收的计算任务是在收到所述通知消息之前接收过的第二计算任务时,根据所述第一网络节点中的节点路由表将所述第二计算任务的业务报文转发至所述第二计算任务对应的网络节点。
8.如权利要求6所述的方法,其特征在于,所述方法包括:
在接收到所述通知消息之后,发送所述节点路由表至所述主网络节点。
9.如权利要求5-8任意一项所述的方法,其特征在于,所述方法包括:
接收所述主网络节点发送的全局路由表,所述全局路由表包括所述主网络节点接收到的第一计算任务及处理所述第一计算任务的网络节点,及所述第一网络节点在接收到所述通知消息之前所接收到的第二计算任务及处理所述第二计算任务的网络节点;
接收第二计算任务,当所述第二计算任务为所述全局路由表中的计算任务时,根据所述全局路由表确定处理所述第二计算任务的网络节点,并将所述第二计算任务发送至所确定的网络节点。
10.如权利要求5-8任意一项所述的方法,其特征在于,所述方法包括:
接收所述主网络节点发送的全局路由表,所述全局路由表包括所述主网络节点接收到的第一计算任务及处理所述第一计算任务的网络节点,及所述第一网络节点在接收到所述通知消息之前所接收到的第二计算任务及处理所述第二计算任务的网络节点;
接收第二计算任务,当所述第二计算任务不是所述全局路由表中的计算任务时,以所述主网络节点及所述第一网络节点所在的网络系统中的网络节点的数量为哈希长度计算处理所述第二计算任务的网络节点。
11.一种数据处理装置,应用于主网络节点,所述主网络节点用于连接第一网络节点及第二网络节点,所述第二网络节点为新增网络节点或者故障网络节点,其特征在于,所述装置包括:
处理模块,用于侦测所述第二网络节点;
通信模块,用于发送通知消息至所述第一网络节点;接收所述第一网络节点发送的所述第一网络节点在接收到所述通知消息之前从未接收过的计算任务;
所述处理模块还用于,处理所述第一网络节点发送的计算任务。
12.如权利要求11所述的装置,其特征在于,所述通信模块还用于,在所述发送通知消息至所述第一网络节点之后,接收所述第一网络节点发送的确认信息,所述确认信息用于指示所述第一网络节点已接收到所述通知信息;
将全局路由表发送至所述第一网络节点,所述全局路由表包括所述主网络节点接收到的第一计算任务及处理所述第一计算任务的网络节点,及所述第一网络节点在接收到所述通知消息之前所接收到的第二计算任务及处理所述第二计算任务的网络节点。
13.如权利要求12所述的装置,其特征在于,
所述通信模块还用于,
在发送通知消息至所述第一网络节点后,接收所述第一网络节点发送的第一网络节点中的节点路由表,所述第一网络节点中的节点路由表包括所述第一网络节点在接收到所述通知消息之前所接收到的第二计算任务及处理所述第二计算任务的网络节点;
所述处理模块还用于,将所述第一网络节点中的节点路由表与所述主网络节点中的节点路由表合并为所述全局路由表,所述主网络节点的路由表包括所述主网络节点接收到的第一计算任务及处理所述第一计算任务的网络节点。
14.如权利要求11-13任意一项所述的装置,其特征在于,所述处理模块还用于,在所述处理所述第一网络节点发送的计算任务之后,将所述计算任务及处理所述计算任务的网络节点存储至所述主网络节点的节点路由表。
15.一种数据处理装置,应用于第一网络节点,所述第一网络节点连接至主网络节点,其特征在于,所述装置包括:
通信模块,用于接收所述主网络节点发送的通知消息,所述通知消息用于通知所述主网络节点侦测到第二网络节点,所述第二网络节点为新增网络节点或者故障网络节点;接收第一计算任务;
判断模块,用于确定所接收的计算任务是在收到所述通知消息之前从未接收过的计算任务;
所述通信模块还用于,发送所述计算任务至所述主网络节点。
16.如权利要求15所述的装置,其特征在于,所述第一网络节点包括节点路由表,所述节点路由表中记录了所述第一网络节点在收到所述通知消息之前接收到的计算任务及处理所述计算任务的网络节点。
17.如权利要求16所述的装置,其特征在于,所述通信模块还用于,
在确定所接收的计算任务是在收到所述通知消息之前接收过的计算任务时,根据所述第一网络节点中的节点路由表将所述计算任务转发至所述计算任务对应的网络节点。
18.如权利要求16所述的装置,其特征在于,所述通信模块还用于,
在接收到所述通知消息之后,发送所述节点路由表至所述主网络节点。
19.如权利要求15-18任意一项所述的装置,其特征在于,
所述通信模块还用于,接收所述主网络节点发送的全局路由表,所述全局路由表包括所述主网络节点接收到的第一计算任务及处理所述第一计算任务的网络节点,及所述第一网络节点在接收到所述通知消息之前所接收到的第二计算任务及处理所述第二计算任务的网络节点;接收第二计算任务;
所述判断模块还用于,当所述第二计算任务为所述全局路由表中的计算任务时,根据所述全局路由表确定处理所述第二计算任务的网络节点;
所述通信模块还用于,将所述第二计算任务发送至所确定的网络节点。
20.如权利要求15-18任意一项所述的装置,其特征在于,
所述通信模块还用于,接收所述主网络节点发送的全局路由表,所述全局路由表包括所述主网络节点接收到的第一计算任务及处理所述第一计算任务的网络节点,及所述第一网络节点在接收到所述通知消息之前所接收到的第二计算任务及处理所述第二计算任务的网络节点;接收第二计算任务;
所述判断模块还用于,当所述第二计算任务不是所述全局路由表中的计算任务时,以所述主网络节点及所述第一网络节点所在的网络系统中的网络节点的数量为哈希长度计算处理所述第二计算任务的网络节点。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011131010.0A CN114448889A (zh) | 2020-10-21 | 2020-10-21 | 数据处理方法及装置 |
PCT/CN2021/123930 WO2022083503A1 (zh) | 2020-10-21 | 2021-10-14 | 数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011131010.0A CN114448889A (zh) | 2020-10-21 | 2020-10-21 | 数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114448889A true CN114448889A (zh) | 2022-05-06 |
Family
ID=81289668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011131010.0A Pending CN114448889A (zh) | 2020-10-21 | 2020-10-21 | 数据处理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114448889A (zh) |
WO (1) | WO2022083503A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050198370A1 (en) * | 2004-02-01 | 2005-09-08 | Phonex Broadband Corporation | Method for creating, deleting, and maintaining logical networks |
CN101399746B (zh) * | 2007-09-26 | 2011-03-16 | 华为技术有限公司 | 报文路由方法、系统、设备和选择备份资源的方法、系统 |
CN106302841A (zh) * | 2015-05-18 | 2017-01-04 | 中兴通讯股份有限公司 | 一种运营商级网络地址转换的方法及装置 |
CN109219102B (zh) * | 2017-06-30 | 2021-08-03 | 华为技术有限公司 | 一种数据转发方法和装置 |
-
2020
- 2020-10-21 CN CN202011131010.0A patent/CN114448889A/zh active Pending
-
2021
- 2021-10-14 WO PCT/CN2021/123930 patent/WO2022083503A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022083503A1 (zh) | 2022-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106330475B (zh) | 一种通信系统中管理主备节点的方法和装置及高可用集群 | |
CN109344014B (zh) | 一种主备切换方法、装置及通信设备 | |
US10911295B2 (en) | Server apparatus, cluster system, cluster control method and program | |
EP3291487B1 (en) | Method for processing virtual machine cluster and computer system | |
CN112583708B (zh) | 一种连接关系控制方法、装置和电子设备 | |
CN113055196B (zh) | 报文处理方法、网络设备及计算机可读存储介质 | |
CN109189854B (zh) | 提供持续业务的方法及节点设备 | |
US11695856B2 (en) | Scheduling solution configuration method and apparatus, computer readable storage medium thereof, and computer device | |
US9246796B2 (en) | Transmitting and forwarding data | |
JP4344333B2 (ja) | パケット転送装置、パケット転送ネットワークシステムおよびパケット転送方法 | |
CN110661599B (zh) | 一种主、备节点间的ha实现方法、装置及存储介质 | |
CN110830310B (zh) | 一种跨数据中心的灾难备份方法及bras系统 | |
CN110661836B (zh) | 消息路由方法、装置及系统、存储介质 | |
CN114448889A (zh) | 数据处理方法及装置 | |
CN113438105B (zh) | 一种辅助mad检测多irf分裂方法、装置及设备 | |
CN112260971B (zh) | 网络设备系统的容错方法、装置、计算机设备和存储介质 | |
CN115794769A (zh) | 高可用数据库管理的方法、电子设备及存储介质 | |
US20220200885A1 (en) | High availability router switchover decision using monitoring and policies | |
US11757987B2 (en) | Load balancing systems and methods | |
CN109818870B (zh) | 一种组播选路方法、装置、业务板及机器可读存储介质 | |
CN113596195A (zh) | 公共ip地址管理方法、装置、主节点及存储介质 | |
WO2021249173A1 (zh) | 一种分布式存储系统及其异常处理方法和相关装置 | |
CN115277379B (zh) | 分布式锁容灾处理方法、装置、电子设备及存储介质 | |
JP6179981B2 (ja) | 情報処理システム、情報処理装置、情報処理方法及びプログラム | |
JP4824914B2 (ja) | ネットワークリカバリーシステム及びネットワークリカバリー方法並びにノード |
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 |