一种发送数据的方法和装置与流程

文档序号:15624824发布日期:2018-10-09 22:43阅读:132来源:国知局

本申请涉及数据通信技术领域,特别涉及一种发送数据的方法和装置。



背景技术:

当今互联网广泛普及,大量网民的涌入带来了网络流量的急剧膨胀,承载具体应用的数据中心的网络节点常常满负荷运转。同时,随着网络业务量的增加,数据中心的传统网络架构已很难满足数据中心网络对整体的吞吐量的需求。

二级网状数据中心(mesh2datacenter,mesh2dc)网络采用网状拓扑结构,是一种多点到多点的网络拓扑结构。在这种网络结构中,各网络节点通过相邻的其他网络节点,以多跳方式相互连接。当数据在mesh2dc网络中进行传输时,可以根据传输的起始网络节点(可称为源节点)和传输的终止网络节点(可称为宿节点),确定出两网络节点间的最短传输路径,然后基于该最短传输路径进行传输。

在实现本申请的过程中,发明人发现上述处理至少存在以下问题:

当多个单位的数据的源节点和宿节点均相同时,该多个单位的数据的最短传输路径也基本一致,这样,当某个源节点到宿节点存在大量数据需要传输时,极易造成传输路径堵塞,从而导致数据传输的效率较低。



技术实现要素:

为了解决数据传输效率低的问题,本申请实施例提供了一种发送数据的方法和系统。所述技术方案如下:

第一方面,提供了一种发送数据的方法,方法包括:

源节点可以先确定待发往同一宿节点的多个单位的数据;再按照预设的多路径数据传输规则,将多个单位的数据发送至源节点所属组或者组间平面内的第一跳节点处;之后,每个第一跳节点可以将接收到的数据发送至宿节点所属组或者组间平面内的第二跳节点处;进而第二跳节点可以将接收到的数据发送至宿节点。

本公开实施例所示的方案,源节点可以将待发往同一宿节点的多个单位的数据通过多条路径有序地发送至宿节点,而不集中从一条路径发送,可以缓解传输路径堵塞的问题,从而可以提高数据传输的效率。

在一种可能的实现方式中,在确定发往同一宿节点的多个单位的数据后,源节点可以对其组内端口进行哈希操作,将多个单位的数据哈希到源节点所属组内的多个第一跳节点上;之后每个第一跳节点可以通过各自的组间端口,将接收到的数据发送至其对应的,宿节点所属组内的第二跳节点上;进而每个第二跳节点可以通过其组内端口,将接收到的数据发送至宿节点。

本公开实施例所示的方案,在源节点处进行一次组内端口哈希操作,全网路由经过两跳组内链路,一跳组间链路,组内端口的占用集中在源节点与宿节点所属的两个组,不占用其他组的组内端口资源。

在一种可能的实现方式中,在确定发往同一宿节点的多个单位的数据后,源节点可以对其组间端口进行哈希操作,将多个单位的数据哈希到源节点所属组间平面内的多个第一跳节点上;然后每个第一跳节点通过各自的组内端口,将接收到的数据发送至其组内的,宿节点所属组间平面内的第二跳节点上;进而第二跳节点可以通过其组间端口,将接收到的数据发送至宿节点。

本公开实施例所示的方案,在源节点进行一次组间端口哈希操作,全网路由经过两跳组间链路,一跳组内链路,组间端口的占用集中在源节点与宿节点所属的两个组间平面上,不占用其他组间平面端口资源,组内端口占用资源可以均匀分布到各组上。

在一种可能的实现方式中,在确定发往同一宿节点的多个单位的数据后,源节点可以对其组间端口和组内端口同时进行哈希操作,将多个单位的数据哈希到源节点所属组间平面和所属组内的多个第一跳节点上;源节点所属组间平面内的每个第一跳节点可以通过其组内端口,将接收到的数据发送至与其同组的,与宿节点同组间平面的第二跳节点上,而源节点所属组内的每个第一跳节点可以通过其组间端口,将接收到的数据发送至其同组间平面的,与宿节点同组的第二跳节点上;进一步的,宿节点所属组间平面内的第二跳节点则可以通过其组间端口,将接收到的数据发送至宿节点,而宿节点所属组内的第二跳节点则可以通过其组内端口,将接收到的数据发送至宿节点。

本公开实施例所示的方案,在源节点处进行一次包括组内和组间端口的哈希操作,全网路由共三跳。

在一种可能的实现方式中,在确定发往同一宿节点的多个单位的数据后,源节点可以对其组内端口进行哈希操作,将多个单位的数据哈希到与其同组的多个第一跳节点上;之后每个第一跳节点可以对各自的组间端口进行哈希操作,将接收到的数据哈希到第一跳节点所属组间平面内的第三跳节点上;第三跳节点则可以通过其组间端口,将接收到的数据发送至与其同组间平面的,宿节点所属组内的第二跳节点;最后,第二跳节点可以通过组内端口,将接收到的数据发送至宿节点。

本公开实施例所示的方案,大多数数据经过四跳到达宿节点,部分数据经过一跳、两跳和三跳到达。数据转发经过两次端口哈希,数据经过组内链路两次,组间两路两次,可以实现全网数据无阻塞传输。

在一种可能的实现方式中,在确定发往同一宿节点的多个单位的数据后,源节点可以对其组间端口进行哈希操作,将多个单位的数据哈希到源节点所属组间平面内的多个第一跳节点上;之后,每个第一跳节点可以对各自的组内端口进行哈希操作,将接收到的数据哈希到第一跳节点所属组内的第三跳节点上;第三跳节点则可以通过其组内端口,将接收到的数据发送至第三跳节点同组的,宿节点所属组间平面内的第二跳节点;最后第二跳节点可以通过第二跳节点的组间端口,将接收到的数据发送至宿节点。

本公开实施例所示的方案,大多数数据经过四跳到达宿节点,部分数据经过一跳、两跳和三跳到达。数据转发经过两次端口哈希,数据经过组内链路两次,组间两路两次,可以实现全网数据无阻塞传输。

第二方面,提供了一种发送数据的系统,该系统包括至少一个设备,该至少一个设备用于实现上述第一方面所提供的发送数据的方法。

上述本公开实施例第二方面所获得的技术效果与第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。

本申请实施例提供的技术方案带来的有益效果是:

本申请实施例中,当源节点和宿节点间存在大量数据需要传输时,源节点可以按照预设的多路径数据传输方式,将数据先转发至与其同组或者与其同平面的第一跳节点上,然后第一跳节点可以将接收到数据发送至宿节点所属组或者组间平面内的第二跳节点上,进而,第二跳节点可以再将接收到的数据发送至宿节点。这样,在源节点和宿节点间传输数据时,通过多条路径有序地完成多个单位的数据的发送处理,可以有效缓解传输路径堵塞的问题,从而可以提高数据传输的效率。

附图说明

图1是本申请实施例提供的一种mesh2dc网络架构示意图;

图2是本申请实施例提供的一种发送数据的方法流程图;

图3是本申请实施例提供的一种发送数据的方法流程图;

图4是本申请实施例提供的一种数据传输流程的简单示意图;

图5是本申请实施例提供的一种发送数据的方法流程图;

图6是本申请实施例提供的一种数据传输流程的简单示意图;

图7是本申请实施例提供的一种发送数据的方法流程图;

图8是本申请实施例提供的一种数据传输流程的简单示意图;

图9是本申请实施例提供的一种发送数据的方法流程图;

图10是本申请实施例提供的一种数据传输流程的简单示意图;

图11是本申请实施例提供的一种发送数据的方法流程图;

图12是本申请实施例提供的一种数据传输流程的简单示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

本申请实施例提供了一种发送数据的方法,该方法可以应用于两级mesh2dc网络,执行主体可以是两级mesh2dc网络中的数据传输设备,数据传输设备可以是交换机、路由器。mesh2dc网络的架构可以参考图1,其中,由相互连接的多个单位的数据传输设备组成,每个数据传输设备均为网络的一个节点,每个节点可以同时用于数据接入和数据,每个节点都可以发送和接收数据,每个节点都可以与一个或者多个对等节点进行直接通信。两级mesh2dc网络中的数据传输设备可以分为多组,每组的数据传输设备数量相同,各组均可以按照相同的编号规律对组内设备进行编号,相同组的数据传输设备可以通过每个设备的组内端口进行通信,各组内编号相同的设备处于同一组间平面,相同组间平面的数据传输设备可以通过各个设备的组间端口进行通信。此外,本实施例中还引入了循环阵列波导光栅(circlearrayedwaveguidegrating,cawg)技术,它可以将每根输入纤上的波长分配到所有的输出纤上。利用此特性,即可将波分复用技术应用到数据中心的网络上,从而实现节省光纤的目的,具体的,可以在每一组内和每一组间平面内均布置cawg设备,用于数据传输设备在向其它节点传输数据时对数据进行多路径数据传输处理。下述说明中的“节点”均为“节点设备”的简称。

下面将结合具体实施方式,对图2所示的处理流程进行详细的说明,内容可以如下:

步骤201,源节点确定待发往同一宿节点的多个单位的数据。

其中,多个单位的数据可以是多个数据流,也可以是多个数据包。

在实施中,在mesh2dc网络中,某一节点(即源节点)在同一时刻可能存在大量数据需要发送,源节点可以从每个单位数据的数据包的报头获取该单位数据待发往的宿节点,然后按照对应的宿节点对数据进行分类,从而可以确定出待发往同一宿节点的多个单位的数据。

步骤202,源节点按照预设的多路径数据传输规则,将多个单位的数据发送至多个单位的第一跳节点。

其中,第一跳节点为源节点所属组或者组间平面内的节点。

在实施中,源节点在确定了待发往同一宿节点的多个单位的数据后,可以按照预设的多路径数据传输规则,通过多路径对多个单位的数据进行发送处理,将多个单位的数据中的每个数据发送至一个第一跳节点处,从而完成多个单位的数据从源节点到第一跳节点的传输处理。例如,存在1、2、3、…、10十个数据,总共有a、b、c、d、e五个第一跳节点,则可以将1、2两个数据发送至a节点,3、4两个数据发送至b节点,依次类推。需要说明的是,此处可以不限定具体的多路径数据传输原则。可以理解,mesh2dc网络中的每个节点在特定的数据传输流程中可以是源节点,也可以是第一跳节点,具体情况视不同的数据传输流程而定。

步骤203,第一跳节点将接收到的数据发送至第二跳节点。

其中,第二跳节点与宿节点所属组或者组间平面内的节点。

在实施中,第一跳节点接收到源节点发送的数据后,可以将接收到的数据发送至第二跳节点。

步骤204,第二跳节点将接收到的数据发送至宿节点。

在实施中,第二跳节点接收到第一跳节点发送的数据后,可以将接收到的数据发送至宿节点。

可选的,上述步骤202至步骤204的流程根据不同的传输规则,具体可以有以下几个可行的处理流程:

流程一,如图3所示:

步骤301,源节点对源节点的组内端口进行哈希操作,将多个单位的数据哈希到源节点所属组内的多个第一跳节点上。

在实施中,在确定待发往同一宿节点的多个单位的数据之后,源节点可以对其组内端口进行哈希操作,将多个单位的数据哈希到源节点所属组内的多个第一跳节点上。具体的,即为每个端口分配一个哈希值,这样,源节点可以对每个数据进行哈希计算,得到相应的哈希值,然后可以基于该哈希值映射到相应的组内端口,从而可以将数据从相应的组内端口进行传输,以发送至该组内端口指向的,与源节点所属组的第一跳节点上。例如,当源节点为第一组第一个数据传输设备s11,宿节点为第二组第二个数据传输设备s22时,此处则可以将待发送的多个单位的数据发送至源节点所属组内的第一跳节点s12、s13、…、s1n处。

步骤302,第一跳节点通过第一跳节点的组间端口,将接收到的数据发送至第一跳节点对应的,与宿节点所属组内的第二跳节点上。

在实施中,第一跳节点接收到源节点发送的数据后,可以将接收到的数据按照最优路径转发的规则,从其组间端口单路径转发至第一跳节点对应的,宿节点所属组内的各个第二跳节点上。此处,最优路径转发规则为成熟的技术,本实施例中不对其进行具体说明。基于步骤301的例子,此处的处理即为,第一跳节点s13将接收的数据通过其组间端口发送至第二跳节点s23,其余同理。本步处理中,源节点也可以认为是第一跳节点,进而源节点s11可以通过其组间端口,将数据发送至第二跳节点s21处,同时,宿节点也可以认为是第二跳节点,进而,第一跳节点s12可以通过其组间端口,将数据直接发送至宿节点s22处。

步骤303,第二跳节点通过第二跳节点的组内端口,将接收到的数据发送至宿节点。

在实施中,第二跳节点接收到第一跳节点发送的数据后,可以将接收到的数据按照最优路径转发的规则,从其组内端口单路径转发至宿节点。基于步骤301的例子,此处的处理即为,第二跳节点s23将接收到的数据通过其组内端口发送至宿节点s22,其余同理。

图4为上述数据传输流程的简要示意图,在源节点处进行一次组内端口哈希操作,全网路由经过两跳组内链路,一跳组间链路,组内端口的占用集中在源节点与宿节点所属的两个组,不占用其他组的组内端口资源。

流程二,如图5所示:

步骤501,源节点对源节点的组间端口进行哈希操作,将多个单位的数据哈希到源节点所属组间平面内的多个第一跳节点上。

在实施中,在确定待发往同一宿节点的多个单位的数据之后,源节点可以对其组间端口进行哈希操作,将多个单位的数据哈希到源节点所属组间平面内的多个第一跳节点上。例如,当源节点为第一组第一个数据传输设备s11,宿节点为第二组第二个数据传输设备s22时,此处则可以将待发送的多个单位的数据发送至源节点所属组间平面内的第一跳节点s21、s31、…、sn1处。

步骤502,第一跳节点通过第一跳节点的组内端口,将接收到的数据发送至第一跳节点对应的,宿节点所属组间平面内的第二跳节点上。

在实施中,第一跳节点接收到源节点发送的数据后,可以将接收到的数据按照最优路径转发的规则,从其组内端口单路径转发至第一跳节点对应的,宿节点所属组间平面内的各个第二跳节点上。基于步骤501的例子,此处的处理即为,第一跳节点s31将接收的数据通过其组间端口发送至第二跳节点s32,其余同理。本步处理中,源节点也可以认为是第一跳节点,进而源节点s11可以通过其组内端口,将数据发送至第二跳节点s12处,同时,宿节点也可以认为是第二跳节点,进而,第一跳节点s21可以通过其组内端口,将数据直接发送至宿节点s22处。

步骤503,第二跳节点通过第二跳节点的组间端口,将接收到的数据发送至宿节点。

在实施中,第二跳节点接收到第一跳节点发送的数据后,可以将接收到的数据按照最优路径转发的规则,从其组间端口单路径转发至宿节点。基于步骤501的例子,此处的处理即为,第二跳节点s32将接收到的数据通过其组间端口发送至宿节点s22,其余同理。

图6为上述数据传输流程的简要示意图,在源节点进行一次组间端口哈希操作,全网路由经过两跳组间链路,一跳组内链路,组间端口的占用集中在源节点与宿节点所属的两个组间平面上,不占用其他组间平面端口资源,组内端口占用资源可以均匀分布到各组上。

流程三,如图7所示:

步骤701,源节点对源节点的组间端口和组内端口同时进行哈希操作,将多个单位的数据哈希到源节点所属组间平面和所属组内的多个第一跳节点上。

在实施中,在确定待发往同一宿节点的多个单位的数据之后,源节点可以对其组间端口和组内端口同时进行哈希操作,将多个单位的数据哈希到源节点所属组间平面和所属组内的多个第一跳节点上。例如,当源节点为第一组第一个数据传输设备s11,宿节点为第二组第二个数据传输设备s22时,此处则可以将待发送的多个单位的数据发送至源节点所属组间平面内的第一跳节点s21、s31、…、sn1,以及源节点所属组内的第一跳节点s12、s13、...、s1n处。

步骤702,对于源节点所属组间平面内的第一跳节点,第一跳节点通过第一跳节点的组内端口,将接收到的数据发送至第一跳节点对应的,宿节点所属组间平面内的第二跳节点上,对于源节点所属组内的第一跳节点,第一跳节点通过第一跳节点的组间端口,将接收到的数据发送至第一跳节点对应的,宿节点所属组内的第二跳节点上。

在实施中,对于源节点所属组间平面内的第一跳节点,第一跳节点接收到源节点发送的数据后,可以将接收到的数据按照最优路径转发的规则,从其组内端口单路径转发至第一跳节点对应的,宿节点所属组间平面内的各个第二跳节点上。基于步骤701的例子,此处的处理即为,第一跳节点s31将接收的数据通过其组间端口发送至第二跳节点s32,其余同理。对于源节点所属组内的第一跳节点,第一跳节点接收到源节点发送的数据后,可以将接收到的数据按照最优路径转发的规则,从其组间端口单路径转发至第一跳节点对应的,宿节点所属组内的各个第二跳节点上。此处,最优路径转发规则为成熟的技术,本实施例中不对其进行具体说明。基于步骤701的例子,此处的处理即为,第一跳节点s13将接收的数据通过其组间端口发送至第二跳节点s23,其余同理。本步处理中,源节点也可以认为是第一跳节点,进而源节点s11可以通过其组内端口,将数据发送至第二跳节点s12处,同时,宿节点也可以认为是第二跳节点,进而,第一跳节点s21可以通过其组内端口,将数据直接发送至宿节点s22处。

步骤703,对于宿节点所属组间平面内的第二跳节点,第二跳节点通过第二跳节点的组间端口,将接收到的数据发送至宿节点,对于宿节点所属组内的第二跳节点,第二跳节点通过第二跳节点的组内端口,将接收到的数据发送至宿节点。

在实施中,对于宿节点所属组间平面内的第二跳节点,第二跳节点接收到第一跳节点发送的数据后,可以将接收到的数据按照最优路径转发的规则,从其组间端口单路径转发至宿节点。基于步骤701的例子,此处的处理即为,第二跳节点s32将接收到的数据通过其组间端口发送至宿节点s22,其余同理。对于宿节点所属组内的第二跳节点,第二跳节点接收到第一跳节点发送的数据后,可以将接收到的数据按照最优路径转发的规则,从其组内端口单路径转发至宿节点。基于步骤701的例子,此处的处理即为,第二跳节点s23将接收到的数据通过其组内端口发送至宿节点s22,其余同理。

图8为上述数据传输流程的简要示意图,在源节点处进行一次包括组内和组间端口的哈希操作,全网路由共三跳。该流程可以认为是流程一和流程二的叠加处理。

流程四,如图9所示:

步骤901,源节点对源节点的组内端口进行哈希操作,将多个单位的数据哈希到源节点所属组内的多个第一跳节点上。

在实施中,在确定待发往同一宿节点的多个单位的数据之后,源节点可以对其组内端口进行哈希操作,将多个单位的数据哈希到源节点所属组内的多个第一跳节点上。例如,当源节点为第一组第一个数据传输设备s11,宿节点为第二组第二个数据传输设备s22时,此处则可以将待发送的多个单位的数据发送至源节点所属组内的第一跳节点s12、s13、…、s1n处。

步骤902,第一跳节点对第一跳节点的组间端口进行哈希操作,将接收到的数据哈希到第一跳节点所属组间平面内的第三跳节点上。

在实施中,第一跳节点接收到源节点发送的数据后,可以对其组间端口进行哈希操作,将多个单位的数据哈希到第一跳节点所属组间平面内的多个第一跳节点上。基于步骤901的例子,此处的处理即为,第一跳节点s13将接收的数据通过其组间端口发送至第三跳节点s23、s33、…、sn3处,其余同理。本步处理中,源节点也可以认为是第一跳节点,进而源节点s11可以通过其组间端口,将数据发送至第三跳节点s21、s31、…、sn1处,同时,宿节点也可以认为是第三跳节点,进而,第一跳节点s12可以通过其组间端口,将部分数据直接发送至宿节点s22处。

步骤903,第三跳节点通过第三跳节点的组间端口,将接收到的数据发送至第三跳节点对应的,宿节点所属组内的第二跳节点。

在实施中,第三跳节点接收到第一跳节点发送的数据后,可以将接收到的数据按照最优路径转发的规则,从其组间端口单路径发送至第三跳节点对应的,宿节点所属组内的第二跳节点。基于步骤901的例子,此处的处理即为,第三跳节点s13、s33、s43、…、sn3均将接收到的数据通过各自组间端口发送至第二跳节点s23,其余同理。可以理解,对于宿节点所属组件平面内的各节点,在本步处理中即可以将接收到数据通过各自的组间端口发送至宿节点。

步骤904,第二跳节点通过第二跳节点的组内端口,将接收到的数据发送至宿节点。

在实施中,第二跳节点接收到第三跳节点发送的数据后,可以将接收到的数据按照最优路径转发的规则,从其组内端口单路径转发至宿节点。基于步骤901的例子,此处的处理即为,第二跳节点s23将接收到的数据通过其组内端口发送至宿节点s22,其余同理。

图10为上述数据传输流程的简要示意图,大多数数据经过四跳到达宿节点,部分数据经过一跳、两跳和三跳到达。数据转发经过两次端口哈希,数据经过组内链路两次,组间链路两次,可以实现全网数据无阻塞传输。

流程五,如图11所示:

步骤1101,源节点对源节点的组间端口进行哈希操作,将多个单位的数据哈希到源节点所属组间平面内的多个第一跳节点上。

在实施中,在确定待发往同一宿节点的多个单位的数据之后,源节点可以对其组间端口进行哈希操作,将多个单位的数据哈希到源节点所属组间平面内的多个第一跳节点上。例如,当源节点为第一组第一个数据传输设备s11,宿节点为第二组第二个数据传输设备s22时,此处则可以将待发送的多个单位的数据发送至源节点所属组间平面内的第一跳节点s21、s31、…、sn1处。

步骤1102,第一跳节点对第一跳节点的组内端口进行哈希操作,将接收到的数据哈希到第一跳节点所属组内的第三跳节点上。

在实施中,第一跳节点接收到源节点发送的数据后,可以对其组内端口进行哈希操作,将多个单位的数据哈希到第一跳节点所属组内的多个第一跳节点上。基于步骤1101的例子,此处的处理即为,第一跳节点s31将接收的数据通过其组内端口发送至第三跳节点s32、s33、…、s3n处,其余同理。本步处理中,源节点也可以认为是第一跳节点,进而源节点s11可以通过其组内端口,将数据发送至第三跳节点s12、s13、…、s1n处,同时,宿节点也可以认为是第三跳节点,进而,第一跳节点s12可以通过其组内端口,将部分数据直接发送至宿节点s22处。

步骤1103,第三跳节点通过第三跳节点的组内端口,将接收到的数据发送至第三跳节点对应的,宿节点所属组间平面内的第二跳节点。

在实施中,第三跳节点接收到第一跳节点发送的数据后,可以将接收到的数据按照最优路径转发的规则,从其组内端口单路径发送至第三跳节点对应的,宿节点所属组内的第二跳节点。基于步骤1101的例子,此处的处理即为,第三跳节点s31、s33、s34、…、s3n均将接收到的数据通过各自组内端口发送至第二跳节点s32,其余同理。可以理解,对于宿节点所属组内的各节点,在本步处理中即可以将接收到数据通过各自的组内端口发送至宿节点。

步骤1104,第二跳节点通过第二跳节点的组间端口,将接收到的数据发送至宿节点。

在实施中,第二跳节点接收到第三跳节点发送的数据后,可以将接收到的数据按照最优路径转发的规则,从其组间端口单路径转发至宿节点。基于步骤901的例子,此处的处理即为,第二跳节点s23将接收到的数据通过其组内端口发送至宿节点s22,其余同理。

图12为上述数据传输流程的简要示意图,大多数数据经过四跳到达宿节点,部分数据经过一跳、两跳和三跳到达。数据转发经过两次端口哈希,数据经过组内链路两次,组间链路两次,可以实现全网数据无阻塞传输。

不难看出,上述五个流程主要适用于源节点和宿节点不属于同一组,或者同一组间平面的情况,而当源节点和宿节点属于同一组时,源节点可以对其组内端口进行哈希,将多个单位的数据哈希到源节点所属组内的多个节点上,然后组内多个节点可以再将接收到的数据发送至宿节点上。

本申请实施例中,当源节点和宿节点间存在大量数据需要传输时,源节点可以按照预设的多路径数据传输方式,将数据先转发至与其同组或者与其同平面的第一跳节点上,然后第一跳节点可以将接收到数据发送至宿节点所属组或者组间平面内的第二跳节点上,进而,第二跳节点可以再将接收到的数据发送至宿节点。这样,在源节点和宿节点间传输数据时,通过多条路径有序地完成多个单位的数据的发送处理,可以有效缓解传输路径堵塞的问题,从而可以提高数据传输的效率。

基于相同的技术构思,本申请实施例还提供了一种发送数据的系统,所述系统部署于mesh2dc网络中,所述系统包括多个节点,所述节点包含源节点、第一跳节点、第二跳节点和宿节点,其中:

所述源节点,用于确定待发往同一宿节点的多个单位的数据;

所述源节点,用于按照预设的多路径数据传输规则,将所述多个单位的数据发送至多个所述第一跳节点,其中,所述第一跳节点为所述源节点所属组或者组间平面内的节点;

所述第一跳节点,用于将接收到的数据发送至所述第二跳节点,其中,所述第二跳节点为所述宿节点所属组或者组间平面内的节点;

所述第二跳节点,用于将接收到的数据发送至所述宿节点。

可选的,所述源节点,具体用于:

对源节点的组内端口进行哈希操作,将所述多个单位的数据哈希到所述源节点所属组内的多个第一跳节点上;

所述第一跳节点,具体用于:

通过所述第一跳节点的组间端口,将接收到的数据发送至所述第一跳节点对应的,所述宿节点所属组内的第二跳节点上;

所述第二跳节点,具体用于:

通过所述第二跳节点的组内端口,将接收到的数据发送至宿节点。

可选的,所述源节点,具体用于:

所述源节点对源节点的组间端口进行哈希操作,将所述多个单位的数据哈希到所述源节点所属组间平面内的多个第一跳节点上;

所述第一跳节点,具体用于:

通过所述第一跳节点的组内端口,将接收到的数据发送至所述第一跳节点对应的,所述宿节点所属组间平面内的第二跳节点上;

所述第二跳节点,具体用于:

通过所述第二跳节点的组间端口,将接收到的数据发送至宿节点。

可选的,所述源节点,具体用于:

对源节点的组间端口和组内端口同时进行哈希操作,将所述多个单位的数据哈希到所述源节点所属组间平面和所属组内的多个第一跳节点上;

所述第一跳节点,具体用于:

对于所述源节点所属组间平面内的第一跳节点,通过所述第一跳节点的组内端口,将接收到的数据发送至所述第一跳节点对应的,所述宿节点所属组间平面内的第二跳节点上,对于所述源节点所属组内的第一跳节点,通过所述第一跳节点的组间端口,将接收到的数据发送至所述第一跳节点对应的,所述宿节点所属组内的第二跳节点上;

所述第二跳节点,具体用于:

对于所述宿节点所属组间平面内的第二跳节点,通过所述第二跳节点的组间端口,将接收到的数据发送至宿节点,对于所述宿节点所属组内的第二跳节点,通过所述第二跳节点的组内端口,将接收到的数据发送至宿节点。

可选的,所述节点还包含第三跳节点;

所述源节点,具体用于:

对源节点的组内端口进行哈希操作,将所述多个单位的数据哈希到所述源节点所属组内的多个第一跳节点上;

所述第一跳节点,具体用于:

对所述第一跳节点的组间端口进行哈希操作,将接收到的数据哈希到所述第一跳节点所属组间平面内的第三跳节点上;

所述第三跳节点,用于通过所述第三跳节点的组间端口,将接收到的数据发送至所述第三跳节点对应的,所述宿节点所属组内的第二跳节点;

所述第二跳节点,具体用于:

通过所述第二跳节点的组内端口,将接收到的数据发送至宿节点。

可选的,所述节点还包含第三跳节点;

所述源节点,具体用于:

对源节点的组间端口进行哈希操作,将所述多个单位的数据哈希到所述源节点所属组间平面内的多个第一跳节点上;

所述第一跳节点,具体用于:

对所述第一跳节点的组内端口进行哈希操作,将接收到的数据哈希到所述第一跳节点所属组内的第三跳节点上;

所述第三跳节点,用于通过所述第三跳节点的组内端口,将接收到的数据发送至所述第三跳节点对应的,所述宿节点所属组间平面内的第二跳节点;

所述第二跳节点,具体用于:

通过所述第二跳节点的组间端口,将接收到的数据发送至宿节点。

本申请实施例中,当源节点和宿节点间存在大量数据需要传输时,源节点可以按照预设的多路径数据传输方式,将数据先转发至与其同组或者与其同平面的第一跳节点上,然后第一跳节点可以将接收到数据发送至宿节点所属组或者组间平面内的第二跳节点上,进而,第二跳节点可以再将接收到的数据发送至宿节点。这样,在源节点和宿节点间传输数据时,通过多条路径有序地完成多个单位的数据的发送处理,可以有效缓解传输路径堵塞的问题,从而可以提高数据传输的效率。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请的一种可行的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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