基于Mesh结构的点对多点通信方法及通信节点与流程

文档序号:17748347发布日期:2019-05-24 20:47阅读:334来源:国知局
基于Mesh结构的点对多点通信方法及通信节点与流程

本发明涉及通信领域,特别涉及一种基于Mesh结构的点对多点通信方法及通信节点。



背景技术:

片上互联网络(Network-on-Chip,NoC)正成为众核系统的发展趋势。

当前片上众核系统比如Teraflop 80核和Tilera 64核都是通过有线网格网络(比如,2D-mesh)结构互连。Mesh结构和平面的硅片几何结构可以很好的匹配,并且提供比一维的总线或者是单环结构更好的可测量性和更高的带宽。但是随着众核系统的核数的增多,2D-mesh也将成为一种瓶颈,比如在100个核的芯片上,对角上的核通信需要经过20个核,而3D-mesh的NoC则很好的解决了这个问题。所以3D-NoC将是未来技术发展的趋势。

目前,对3D-NoC可建立如图1所示的坐标系,在图1中,坐标系中各节点的坐标,可利用如下公式进行编号。

L(x,y,z)={(a×b×z)+(a×y)+(x)} wherez:even,y:even

L(x,y,z)={(a×b×z)+(a×y)+(a-x-1)} wherez:even,y:odd

L(x,y,z)={(a×b×z)+(a×(b-y-1))+(a-x-1)} wherez:odd,y:even

L(x,y,z)={(a×b×z)+(a×(b-y-1))+(x)} wherez:odd,y:odd

在上述四个公式中,a、b、c分别代表图1中的3D-NOC网络中沿X轴方向,Y轴方向及Z轴方向排布的节点数目,在图1中,a、b、c分别取值为3。其中,x,y,z分别为各节点在坐标系中沿x轴、y轴和z轴方向的坐标,“wherez:even,y:even”、“wherez:even,y:odd”、“wherez:odd,y:even”及“wherez:odd,y:odd”分别给出了使用上述四个公司计算节点编号的选择原则,其中,“wherez:even,y:even”表示当节点沿z轴方向和y轴方向的坐标均为偶数时,则使用公式L(x,y,z)={(a×b×z)+(a×y)+(x)}计算节点的编号,比如,以编号1的节点的编号的计算为例,编号为1的节点在图1的坐标系中的坐标(x,y,z)=(1,0,0),则由此可知,该节点应使用公式L(x,y,z)={(a×b×z)+(a×y)+(x)}计算它的编号,将a=3、b=3,x=1,y=0,z=0代入公式后,最终得到的节点编号为L=0+0+1=1。其中,“wherez:even,y:odd”表示当节点沿z轴方向的坐标为偶数,沿y轴方向的坐标为奇数时,则使用公式L(x,y,z)={(a×b×z)+(a×y)+(a-x-1)}计算节点的编号,比如,以编号19的节点的编号的计算为例,编号为19的节点在图1的坐标系中的坐标(x,y,z)=(1,0,2),则由此可知,该节点应使用公式L(x,y,z)={(a×b×z)+(a×y)+(a-x-1)}计算它的编号,将a=3、b=3,x=1,y=0,z=2代入公式后,最终得到的节点编号为L=18+0+1=19。其中,“wherez:odd,y:even”表示当节点沿z轴方向的坐标为奇数,沿y轴方向的坐标为偶数时,则使用公式L(x,y,z)={(a×b×z)+(a×(b-y-1))+(a-x-1)}计算节点的编号,比如,以编号11的节点的编号的计算为例,编号为11的节点在图1的坐标系中的坐标(x,y,z)=(0,2,1),则由此可知,该节点应使用公式L(x,y,z)={(a×b×z)+(a×(b-y-1))+(a-x-1)}计算它的编号,将a=3、b=3,x=0,y=2,z=1代入公式后,最终得到的节点编号为L=9+0+2=11。其中,“wherez:odd,y:odd”表示当节点沿z轴方向的坐标为奇数,沿y轴方向的坐标为奇数时,则使用公式L(x,y,z)={(a×b×z)+(a×(b-y-1))+(x)}计算节点的编号,比如,以编号13的节点的编号的计算为例,编号为13的节点在图1的坐标系中的坐标(x,y,z)=(1,1,1),则由此可知,该节点应使用公式L(x,y,z)={(a×b×z)+(a×(b-y-1))+(x)}计算它的编号,将a=3、b=3,x=1,y=1,z=1代入公式后,最终得到的节点编号为L=9+3+1=13。

由图1可知,3D-mesh结构中通信链路存在多样性和复杂性的特点。如何将数据从源节点成功传递到目的节点一直讨论热点。

现有技术一提出了一种二区域分法(Two-Block Partitioning,TBP)数据传输方法。TBP方法以源节点为界,将所有小于源节点编号的节点作为一个区域A,将所有大于源节点编号的节点作为一个区域B。如图2所示,假设源节点为编号为25的节点(圆圈加粗的节点),则在图2中,将编号小于25的所有节点(编号0-24)划分为区域A,将编号大于25的多有节点(编号26-47)划分为区域B。在TBP算法中,对于A区域数据的传输规定只能从编号大的节点传输到编号小的节点,同样对于B区域只能从编号小的节点传输到编号大的节点,这样避免了死锁的发生。在进行数据传输时,将源节点的数据首先分别传输到A和B区域的第一个节点,然后每个区域分别从第一个节点依据传输规则传输到所有目的节点。由图2可知,TBP方法能避免数据死锁的发生,但是这种方法分的区域太少,数据传输需要经过较多链路,不够灵活。

现有技术二提出了一种多区域分法(Multi-Block Partitioning,MBP)数据传输方法。MBP方法对TBP方法进行了一定的改进,参考图3,MBP方法首先使用TBP方法将3D-mesh结构中的节点分为区域A和区域B,对于区域A和区域B,MBP方法进一步将区域内X坐标大于源节点的节点划分为一个新区域A1和B1,将小于源节点的节点划分为另一个新区域A2和B2。这样图3所示的3D-mesh结构一共被划分为4个区域,区域A中包括X坐标小于源节点25的节点构成的区域A1(编号0,7,8,15,16,23,24)和X坐标大于源节点25的节点构成的区域A2(编号1-14,17-22),区域B中包括X坐标小于源节点25的节点构成的区域B1(编号30-33,38-41,46-47)和X坐标大于源的节点构成的区域B2(编号26-27,34-37,42-45),其中,每个分区的数据传输规则与TBP方法相同。由图3可知,MBP虽然较TBP有较大改进,却仍然在信息传输需要经过较多链路,不够灵活。

现有技术三提供一种垂直方向分区域分法(Vertical-Block Partitioning,VBP)。VBP方法是对MBP方法的改进,首先采用TBP分得的两个区域A和B,对A区域和B区域的节点分别按照X轴坐标进行分区域,X坐标相同的点作为一个子区域。具体参考图4,MBP方法首先使用TBP方法将3D-mesh结构中的节点分为区域A和区域B,对于区域A和区域B,MBP方法进一步将区域内X坐标相同的点作为子区域。这样图4所示的3D-mesh结构一共被划分为8个区域,区域A中包括区域A1(编号0,7,8,15,16,23,24)、区域A2(编号1、6、9、14、17、22)、区域A3(编号2、5、10、13、18、21)和区域A4(编号3-4、11-12、19-20),区域B中包括区域B1(编号31-32、39、40、47)、区域B2(30、33、38、41、46)、区域B3(26、29、34、37、42、45)和区域B4(27-28、35-36、43-44),其中每个分区的数据传输规则与TBP方法相同。由图4可知,VBP虽然较MBP有较大改进,分得的区域较多,但是在信息传输仍然需要经过较多链路,不够灵活。



技术实现要素:

鉴于此,本发明提供一种基于Mesh结构的点对多点通信方法及通信节点,其实现简单,并且可减少数据传输链路,节省系统资源。

本发明第一方面提供一种基于Mesh有线网格网络结构的点对多点通信方法,其可包括:

分别计算预定区域范围内的Mesh有线网格网络结构中的每个目的节点和源节点在所建立的坐标系中的每一维上的坐标差值;

对每个目的节点,比较所述目的节点和源节点在所建立的坐标系中的每一维上的坐标的差值,确定出坐标差值绝对值最大的维度;

将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为正的目的节点划分到以所述源节点为界且沿所述维度的正向延伸的区域块中,将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为负的目的节点划分到以所述源节点为界且沿所述维度的负向延伸的区域块中;

对每个区域块,将待传输的数据从所述源节点传输到该区域块与所述源节点直接相连的第一个节点,并以所述第一个节点为新的源节点,该区域块为新的预定区域范围内的Mesh有线网格网络结构,返回到分别计算所述预定区域范围内的Mesh有线网格网络结构中的每个目的节点和源节点在所建立的坐标系中的每一维上的坐标差值的步骤重新开始执行,直至将数据传输到该区域块的每个目的节点。

结合第一方面,在第一种可行的实施方式中,当确定出的坐标差值最大的维度大于一个时,将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为正的目的节点优先划分到以所述源节点为界且沿所述多个最大的维度中的任一个维度的正向延伸且包括有目的节点的区域块中,将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为负的目的节点优先划分到以所述源节点为边界点且沿所述多个最大的维度中的任一个维度的负向延伸且包括有目的节点的区域块中。

结合第一方面或第一方面的第一种可行的实施方式,在第二种可行的实施方式中,该方法还包括:

为预定区域范围内的Mesh有线网格网络结构建立坐标系。

结合第一方面的第二种可行的实施方式,在第三种可行的实施方式中,所述Mesh有线网格网络结构为2D-Mesh有线网格网络结构,所述为预定区域范围内的Mesh有线网格网络结构建立的坐标系为2维坐标系。

结合第一方面的第二种可行的实施方式,在第四种可行的实施方式中,所述Mesh有线网格网络结构为3D-Mesh有线网格网络结构,所述为预定区域范围内的Mesh有线网格网络结构建立的坐标系为3维坐标系。

本发明第一方面提供一种通信节点,其可包括:

计算模块,分别计算预定区域范围内的Mesh有线网格网络结构中的每个目的节点和源节点在所建立的坐标系中的每一维上的坐标差值;

比较模块,用于对每个目的节点,比较所述目的节点和源节点在所建立的坐标系中的每一维上的坐标的差值,确定出坐标差值绝对值最大的维度;

划分模块,用于将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为正的目的节点划分到以所述源节点为界且沿所述维度的正向延伸的区域块中,将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为负的目的节点划分到以所述源节点为界且沿所述维度的负向延伸的区域块中;

传输处理模块,用于对每个区域块,将待传输的数据从所述源节点传输到该区域块与所述源节点直接相连的第一个节点,并以所述第一个节点为新的源节点,该区域块为新的预定区域范围内的Mesh有线网格网络结构,返回计算模块重新开始处理,直至将数据传输到该区域块的每个目的节点。

结合第二方面,在第一种可行的实施方式中,当所述比较模块确定出的坐标差值最大的维度大于一个时,所述划分模块具体用于将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为正的目的节点优先划分到以所述源节点为界且沿所述多个最大的维度中的任一个维度的正向延伸且包括有目的节点的区域块中,将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为负的目的节点优先划分到以所述源节点为边界点且沿所述多个最大的维度中的任一个维度的负向延伸且包括有目的节点的区域块中。

结合第二方面或第二方面的第一种可行的实施方式,在第二种可行的实施方式中,该节点还包括:

建立模块,用于为预定区域范围内的Mesh有线网格网络结构建立坐标系。

结合第二方面的第二种可行的实施方式,在第三种可行的实施方式中,所述Mesh有线网格网络结构为2D-Mesh有线网格网络结构,所述建立模块为预定区域范围内的Mesh有线网格网络结构建立的坐标系为2维坐标系。

结合第二方面的第二种可行的实施方式,在第四种可行的实施方式中,所述Mesh有线网格网络结构为3D-Mesh有线网格网络结构,所述建立模块为预定区域范围内的Mesh有线网格网络结构建立的坐标系为3维坐标系。

本发明第三方面提供一种通信节点,包括:输入装置、输出装置、通信链路、收发装置、存储器以及处理器,其中:

所述输入装置,用于接收外部输入到所述通信节点的输入数据;

所述输出设备,用于对外输出所述通信节点的输出数据;

所述通信链路,用于建立所述通信节点与所述Mesh有线网格网络结构的节点的通信链路;

所述收发装置,用于通过所述通信链路与所述Mesh有线网格网络结构的节点进行通讯;

所述存储器,用于存储带有各种功能的程序或非程序数据;

所述处理器,用于调用所述存储器中存储的程序数据,并执行如下操作:

分别计算预定区域范围内的Mesh有线网格网络结构中的每个目的节点和源节点在所建立的坐标系中的每一维上的坐标差值;

对每个目的节点,比较所述目的节点和源节点在所建立的坐标系中的每一维上的坐标的差值,确定出坐标差值绝对值最大的维度;

将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为正的目的节点划分到以所述源节点为界且沿所述维度的正向延伸的区域块中,将所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为负的目的节点划分到以所述源节点为界且沿所述维度的负向延伸的区域块中;

对每个区域块,将待传输的数据从所述源节点传输到该区域块与所述源节点直接相连的第一个节点,并以所述第一个节点为新的源节点,该区域块为新的预定区域范围内的Mesh有线网格网络结构,返回到分别计算所述预定区域范围内的Mesh有线网格网络结构中的每个目的节点和源节点在所建立的坐标系中的每一维上的坐标差值的步骤重新开始执行,直至将数据传输到该区域块的每个目的节点。

结合第三方面,在第一种可行的实施方式中,当所述处理器确定出的坐标差值最大的维度大于一个时,所述处理器具体用于将将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为正的目的节点优先划分到以所述源节点为界且沿所述多个最大的维度中的任一个维度的正向延伸且包括有目的节点的区域块中,将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为负的目的节点优先划分到以所述源节点为边界点且沿所述多个最大的维度中的任一个维度的负向延伸且包括有目的节点的区域块中。

结合第三方面或第三方面的第一种可行的实施方式,在第二种可行的实施方式中,所述处理器还执行如下步骤:

为预定区域范围内的Mesh有线网格网络结构建立坐标系。

结合第三方面的第二种可行的实施方式,在第三种可行的实施方式中,所述Mesh有线网格网络结构为2D-Mesh有线网格网络结构,所述处理器为预定区域范围内的Mesh有线网格网络结构建立的坐标系为2维坐标系。

结合第三方面的第二种可行的实施方式,在第四种可行的实施方式中,所述Mesh有线网格网络结构为3D-Mesh有线网格网络结构,所述处理器为预定区域范围内的Mesh有线网格网络结构建立的坐标系为3维坐标系。

本发明第四方面提供一种计算机存储介质,该计算机存储介质可存储有程序,给程序执行时可包括本发明各实施例所述方法的部分或全部步骤。

由上可见,在本发明的一些可行的实施方式中,分别计算预定区域范围内的Mesh有线网格网络结构中的每个目的节点和源节点在所建立的坐标系中的每一维上的坐标差值;对每个目的节点,比较所述目的节点和源节点在所建立的坐标系中的每一维上的坐标的差值,确定出坐标差值绝对值最大的维度;将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为正的目的节点划分到以所述源节点为界且沿所述维度的正向延伸的区域块中,将所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为负的目的节点划分到以所述源节点为界且沿所述维度的负向延伸的区域块中;对每个区域块,将待传输的数据从所述源节点传输到该区域块与所述源节点直接相连的第一个节点,并以所述第一个节点为新的源节点,该区域块为新的预定区域范围内的Mesh有线网格网络结构,返回到分别计算所述预定区域范围内的Mesh有线网格网络结构中的每个目的节点和源节点在所建立的坐标系中的每一维上的坐标差值的步骤重新开始执行,直至将数据传输到该区域块的每个目的节点。由此可见,本发明实施例的方法首先根据长边优先原则将节点划分为多个区域,在每个区域内在将数据传输到下一跳时,实时更新源节点,并基于新的源节点重复划分区域的步骤,这样的通信方法,自然形成了长边优先传输原则,其可减少数据传输过程中的传输时延,以及减少数据传输链路,节省系统资源,并且,这样的传输方法不存在环流,可尽可能地避免死锁情况的发生。

附图说明

图1为3D-NoC结构下建立的节点坐标系及各节点的编号示意图;

图2为现有技术一提出的二区域分法TBP数据传输方法的节点分布及数据传输原理示意图;

图3为现有技术二提出的多区域分法MBP数据传输方法的节点分布及数据传输原理示意图;

图4为现有技术三提出的垂直方向分区域分法VBP数据传输方法的节点分布及数据传输原理示意图;

图5为本发明基于Mesh有线网格网络结构的点对多点通信方法一实施例的流程示意图;

图6为本发明的Mesh有线网格网络结构的一实施例的结构组成示意图;

图7为本发明对Mesh有线网格网络结构中的目的节点进行区域划分的一种状态示意图;

图8为本发明对Mesh有线网格网络结构中的目的节点进行区域划分的一种划分结果的状态示意图;

图9为本发明的Mesh有线网格网络结构的另一实施例的结构组成示意图;

图10为为本发明的Mesh有线网格网络结构的另一实施例的结构组成示意图;

图11为本发明的Mesh有线网格网络结构的另一实施例的结构组成示意图;

图12为本发明的Mesh有线网格网络结构的另一实施例的结构组成示意图;

图13为本发明的Mesh有线网格网络结构的另一实施例的结构组成示意图;

图14为本发明的通信节点的一实施例的结构组成示意图;

图15为本发明的通信节点的另一实施例的结构组成示意图;

图16为本发明的通信节点的另一实施例的结构组成示意图。

具体实施方式

图5为本发明的基于Mesh有线网格网络结构的点对多点通信方法的一实施例的流程示意图。如图5所示,其可包括:

步骤S110,分别计算预定区域范围内的Mesh有线网格网络结构中的每个目的节点和源节点在所建立的坐标系中的每一维上的坐标差值。

以图6所示的3D-Mesh有线网格网络结构为例,其包括节点0至节点47共48个节点(其中,0-47为节点的编号,具体实现中,节点还可用数字之外的其他形式进行编号,比如,通过字母进行编号等。),其中,节点22为源节点,其他节点为目的节点,图6中建立了包括X、Y、Z三维构成的三维坐标系。对于图6的结构,在步骤S110,分别计算每个目的节点和源节点在所建立的坐标系中的每一维上的坐标差值。即分别计算每个目的节点和源节点在X方向、Y方向及Z方向的坐标差值。假设以Xi表示目的节点和源节点在X方向的坐标差值,其中,i为节点编号,Xdst表示目的节点在X方向的坐标,Xsrc表示源节点在X方向的坐标,Yi表示目的节点和源节点在Y方向的坐标差值,Ydst表示目的节点在Y方向的坐标,Ysrc表示源节点在Y方向的坐标,Zi表示目的节点和源节点在Z方向的坐标差值,Zdst表示目的节点在Z方向的坐标,Zsrc表示源节点在Z方向的坐标,则目的节点与源节点在X、Y及Z三个维度的坐标差值分别可表示为:

Xi=Xdst-Xsrc; 等式(1)

Yi=Ydst-Ysrc; 等式(2)

Zi=Zdst-Zsrc; 等式(3)

由此,本发明实施例在步骤S110可根据等式(1)-等式(3)计算图6中各目的节点与源节点在X、Y及Z方向的坐标差值。比如,以节点41与源节点22的坐标差值为例,节点41的坐标(X,Y,Z)=(1,2,2),节点22的坐标(X,Y,Z)=(1,2,1),则节点41与源节点22在X、Y及Z三个维度的坐标差值分别可表示为:X41=Xdst-Xsrc=1-1=0;Y41=Ydst-Ysrc=2-2=0;Z41=Zdst-Zsrc=2-1=1。再如,以节点27与源节点22的坐标差值为例,节点27的坐标(X,Y,Z)=(2,1,1),节点22的坐标(X,Y,Z)=(1,2,1),则节点27与源节点22在X、Y及Z三个维度的坐标差值分别可表示为:X27=Xdst-Xsrc=2-1=1;Y27=Ydst-Ysrc=1-2=-1;Z27=Zdst-Zsrc=1-1=0。其他节点的坐标差值计算方式类似,在此不一一列举。

具体实现中,本发明实施例在步骤S110之前还可包括:为预定区域范围内的Mesh有线网格网络结构建立坐标系。

图6中,每个节点的坐标包括X、Y、Z三个维度的坐标,比如,节点2的坐标(X,Y,Z)=(2,0,0);节点23的坐标(X,Y,Z)=(0,2,1)。图6中各节点的编号的方式与图1相同。比如,以节点2为例,图6中,a,b,c分别取值为4,4,3;其中,节点2的坐标(X,Y,Z)=(2,0,0),也即,节点2的y坐标和z坐标均为偶数,则采用L(x,y,z)={(a×b×z)+(a×y)+(x)}来计算节点2的编号,由此,将a=4、b=4,x=2,y=0,z=0代入公式后,最终得到的节点编号为L=0+0+2=2。再以节点9为例,节点9的坐标(X,Y,Z)=(1,2,0),也即,节点9的y坐标和z坐标均为偶数,则采用L(x,y,z)={(a×b×z)+(a×y)+(x)}来计算节点9的编号,由此,将a=4、b=4,x=1,y=2,z=0代入公式后,最终得到的节点编号为L=0+8+1=9。图6中其他节点编号的计算方式同样按照规则使用图1相同的公式中的一个来计算,在此不进行赘述。如前所述,Mesh有线网格网络中节点的编号也可不限于图1的公司编号方式,其还可以是字符,字母等能将各节点进行区别任意方式。

图6示出的是3D-Mesh有线网格网络及其建立的坐标系。具体实现中,本发明实施例的有线网格网络也可以是2D-Mesh有线网格网络,其可仅包括X和Y维。比如,一个2D-Mesh有线网格网络可为图6中第二层中的节点构成的网格网络。同样,2D-Mesh有线网格网络中各节点的编号方式也可为数字,字符,字母等各种形式。此时,在步骤S110,分别计算每个目的节点和源节点在所建立的坐标系中的每一维上的坐标差值时,即分别计算每个目的节点和源节点在X方向、Y方向的坐标差值。假设,2D-Mesh有线网格网络为图6中第二层中的节点构成的网格网络,该2D-Mesh有线网格网络中源节点为节点22,其他节点为目的节点。对于该结构,在步骤S110,分别计算每个目的节点和源节点22在所建立的二维坐标系中的X维和Y维的坐标差值。参考三维坐标差值的计算方式,对于二维坐标可使用等式(1)和等式(2)分别计算目的节点与源节点在X和Y两个维度的坐标差值。以节点27与源节点22的坐标差值为例,节点27的坐标(X,Y)=(2,1),节点22的坐标(X,Y)=(1,2)则节点27与源节点22在X、Y维度的坐标差值分别可表示为:X27=Xdst-Xsrc=2-1=1;Y27=Ydst-Ysrc=1-2=-1。再以节点30与源节点22的坐标差值为例,节点30的坐标(X,Y)=(1,0),节点22的坐标(X,Y)=(1,2)则节点30与源节点22在X、Y维度的坐标差值分别可表示为:X30=Xdst-Xsrc=1-1=0;Y30=Ydst-Ysrc=0-2=-2。其他节点的坐标差值计算方式类似,在此不一一列举。

步骤S111,对每个目的节点,比较所述目的节点和源节点在所建立的坐标系中的每一维上的坐标的差值,确定出坐标差值绝对值最大的维度。

以图6所示的3D-Mesh有线网格网络结构为例,在图6中,比较每个目的节点和源节点在所建立的三维坐标系中的X维、Y维及Z维上的坐标差值,以确定出坐标差值绝对值最大的维度。仍以目的节点41为例,由前面的描述可知,目的节点41与源节点22在X、Y及Z三个维度的坐标差值分别可表示为:

X41=Xdst-Xsrc=1-1=0;Y41=Ydst-Ysrc=2-2=0;Z41=Zdst-Zsrc=2-1=1。由此可知,目的节点41与源节点22坐标差值绝对值最大的维度为Z。再如,节点27与源节点22在X、Y及Z三个维度的坐标差值分别可表示为:X27=Xdst-Xsrc=2-1=1;Y27=Ydst-Ysrc=1-2=-1;Z27=Zdst-Zsrc=1-1=0。由此可知,目的节点27与源节点22坐标差值绝对值最大的维度为X维和Y维两个维度。对于图6中的其他目的节点,可采用相同的方式确定出与源节点22坐标差值绝对值最大的维度。对于2D-Mesh有线网格网络中的目的节点和源节点,可采用3D-Mesh有线网格网络中相同的坐标差值及最大坐标差值绝对值的维度确定方式,其与3D-Mesh有线网格网络不同仅在于,少了一维比较数据。比如,对于包括X维和Y维两位坐标系的2D-Mesh有线网格网络,仅比较目的节点和源节点的X坐标差值与Y坐标差值的绝对值,然后确定出坐标差值绝对值最大的维度即可。

步骤S112,将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为正的目的节点划分到以所述源节点为界且沿所述维度的正向延伸的区域块中,将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为负的目的节点划分到以所述源节点为界且沿所述维度的负向延伸的区域块中。

以图6所示的3D-Mesh有线网格网络结构为例,在图6中,步骤S110计算节点0-节点47(排除节点22)与源节点22在X、Y及Z三个维度的坐标差值和步骤S111的比较结果参考表1所示:

由表1可知,节点0-节点2、节点17、节点25、节点29-节点34与源节点22的坐标差值绝对值最大的维度为Y,其中节点0-节点2、节点25、节点29-节点34与所述源节点22在所述坐标差值绝对值最大的维度Y上的坐标差值为负,节点17与所述源节点22在所述坐标差值绝对值最大的维度Y上的坐标差值为正,则参考图7,在步骤S112,将节点0-节点2、节点25、节点29-节点34划分到以所述源节点22为界且沿所述Y维度的负向延伸的区域块Y-中;而将节点17划分到以所述源节点22为界且沿所述Y维度的正向延伸的区域块Y+中。同样,由表1可知,节点4、节点11-节点12、节点19-节点21、节点23、节点27、节点36、节点43-节点44与源节点与源节点22的坐标差值绝对值最大的维度为X,其中节点23与所述源节点22在所述坐标差值绝对值最大的维度X上的坐标差值为负,节点4、节点11-节点12、节点19-节点21、节点27、节点36、节点43-节点44与所述源节点22在所述坐标差值绝对值最大的维度X上的坐标差值为正,则参考图7,在步骤S112,将节点23划分到以所述源节点22为界且沿所述X维度的负向延伸的区域块X-中;而将节点4、节点11-节点12、节点19-节点21、节点27、节点36、节点43-节点44划分到以所述源节点22为界且沿所述X维度的正向延伸的区域块X+中。同样,由表1可知,节点9、节点41与源节点与源节点22的坐标差值绝对值最大的维度为Z,其中节点9与所述源节点22在所述坐标差值绝对值最大的维度Z上的坐标差值为负,节点41与所述源节点22在所述坐标差值绝对值最大的维度Z上的坐标差值为正,则参考图7,在步骤S112,将节点9划分到以所述源节点22为界且沿所述Z维度的负向延伸的区域块Z-中;而将节点41划分到以所述源节点22为界且沿所述Z维度的正向延伸的区域块Z+中。

由表1可知,节点3、节点5、节点6、节点7、节点8、节点10、节点13、节点14-节点16、节点18、节点24、节点26、节点28、节点35、节点37-节点40、节点42、节点45-节点46与源节点22的坐标差值绝对值最大的维度大于1个,对于这样的节点,本发明实施例在执行步骤S112时,可采用如下方式中任意一种执行:

方式1:将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为正的目的节点优先划分到以所述源节点为界且沿所述多个最大的维度中的任一个维度的正向延伸且包括有目的节点的区域块中,将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为负的目的节点优先划分到以所述源节点为边界点且沿所述多个最大的维度中的任一个维度的负向延伸且包括有目的节点的区域块中。以节点3为例,其与源节点22坐标差值绝对值最大的维度包括X和Y,并且,其与源节点22在X维度的坐标差值为正,与源节点22在Y维度的坐标差值为负,假设以源节点22为界沿X维度正向延伸的X+区域中包括目的节点,而以源节点22为界沿Y维度负向延伸的Y-区域中不包括目的节点,则参考8,本发明实施例可优先将节点3划分到以源节点22为界且沿X维度正向延伸的X+区域块中。再以节点38为例,其与源节点22坐标差值绝对值最大的维度包括Y和Z,并且,其与源节点22在Y维度的坐标差值为负,与源节点22在Z维度的坐标差值为正,假设以源节点22为界沿Y维度正向延伸的Y-区域中不包括目的节点,而以源节点22为界沿Z维度正向延伸的Z+区域中包括目的节点,则参考8,本发明实施例可优先将节点38划分到以源节点22为界且沿Z维度正向延伸的Z+区域块中,对于表1中其他与源节点22的坐标差值绝对值最大的维度大于1个的目的节点,也可采用方式1的处理方式划分到,以源节点22为界且沿X维度正向延伸的X+区域块、以源节点22为界且沿X维度负向延伸的X-区域块、以源节点22为界且沿Y维度正向延伸的Y+区域块、以源节点22为界且沿Y维度负向延伸的Y-区域块、以源节点22为界且沿Z维度正向延伸的Z+区域块、以源节点22为界且沿Z维度正向延伸的Z-区域块的任一个中。最终划分结果可如图8所示。

方式2:将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为正的目的节点划分到以所述源节点为界且沿所述多个最大的维度中的任一个维度的正向延伸的区域块中,将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为负的目的节点划分到以所述源节点为边界点且沿所述多个最大的维度中的任一个维度的负向延伸的区域块中。比如,仍以节点3为例,节点3其与源节点22坐标差值绝对值最大的维度包括X和Y,并且,其与源节点22在X维度的坐标差值为正,与源节点22在Y维度的坐标差值为负,当采用方式2时,节点3即可划分到以源节点22为界且沿X维度正向延伸的X+区域块中,也可划分到以源节点22为界且沿Y维度正向延伸的Y-区域块中。对于表1中其他与源节点22的坐标差值绝对值最大的维度大于1个的目的节点,也可采用方式2的处理方式划分到以源节点22为界且沿X维度正向延伸的X+区域块、以源节点22为界且沿X维度负向延伸的X-区域块、以源节点22为界且沿Y维度正向延伸的Y+区域块、以源节点22为界且沿Y维度负向延伸的Y-区域块、以源节点22为界且沿Z维度正向延伸的Z+区域块、以源节点22为界且沿Z维度正向延伸的Z-区域块的任一个中。最终划分结果也可如图8所示。

最终,参考图8,经过步骤S112之后,图8中除源节点22之外的目的节点分别被划分到了以源节点22为界且沿X维度正向延伸的X+区域块、以源节点22为界且沿X维度负向延伸的X-区域块、以源节点22为界且沿Y维度正向延伸的Y+区域块、以源节点22为界且沿Y维度负向延伸的Y-区域块、以源节点22为界且沿Z维度正向延伸的Z+区域块、以源节点22为界且沿Z维度正向延伸的Z-区域块的任一个。具体的,节点3-节点4、节点11-节点13、节点18-节点21、节点26-节点28、节点35-36、节点43-节点45被划分到以源节点22为界且沿X维度正向延伸的X+区域块;节点23被划分到以源节点22为界且沿X维度负向延伸的X-区域块;节点16-节点17被划分到以源节点22为界且沿Y维度正向延伸的Y+区域块;节点0-节点2、节点7、节点24-节点25、节点29-节点34、节点39被划分到以源节点22为界且沿Y维度负向延伸的Y-区域块;节点37-节点38、节点40-节点42、节点46-节点47被划分到以源节点22为界且沿Z维度正向延伸的Z+区域块;节点5-节点6、节点8-节点10、节点14-节点15被划分到以源节点22为界且沿Z维度负向延伸的Z-区域块。

对于2D-Mesh有线网格网络,其最终划分结果与3D-Mesh有线网格网络的不同之处在于,将网络中的目的节点划分到以源节点为界且沿X维度正向延伸的X+区域块、以源节点为界且沿X维度负向延伸的X-区域块、以源节点为界且沿Y维度正向延伸的Y+区域块、以源节点为界且沿Y维度负向延伸的Y-区域块的任一个中。

另外,在其他实施例中,有线网格网络中包括的目的节点的个数和位置可与上述列举的实施例不同。本发明上述所列举的实施例不能用于限定有线网格网络中目的节点的个数。无论有线网格网络(包括2D-Mesh和3D-Mesh两种架构)中包括多少个目的节点,其目的节点的区域划分方式都是采用步骤S112及方式1和方式2,在此不对其他网格网络结构进行一一列举。

步骤S113,对每个区域块,将待传输的数据从所述源节点传输到该区域块与所述源节点直接相连的第一个节点。

步骤S114,判断是否将数据传输到该区域块的每个目的节点,如果判断为是,执行步骤S116,如果判断为否,执行步骤S115。

步骤S115,以所述第一个节点为新的源节点,该区域块为新的预定区域范围内的Mesh有线网格网络结构,返回到步骤S110。

步骤S116,结束对该区域块的数据传输。

以图8中以源节点22为界且沿X维度正向延伸的X+区域块为例。在步骤S113,将待传输的数据从所述源节点22传输到X+区域块与所述源节点22直接相连的第一个节点21,进一步,在步骤S114,判断是否已经将数据传输到X+区域块的每个目的节点,如果判断为是,执行步骤S116,结束对X+区域块的数据传输,参考图8,实际情况是,在步骤S114的判断结果为否,因此执行步骤S115,以所述第一个节点21为新的源节点,X+为新的预定区域范围内的Mesh有线网格网络结构(参考图9所示),返回步骤S110。以此类推,直到数据被传输到X+区域块的每个目地节点。

以图8中以源节点22为界且沿X维度负向延伸的X-区域块为例。在步骤S113,将待传输的数据从所述源节点22传输到X-区域块与所述源节点22直接相连的第一个节点23,进一步,在步骤S114,判断是否已经将数据传输到X-区域块的每个目的节点,如果判断为是,执行步骤S116,结束对X-区域块的数据传输,参考图8,实际情况是,在步骤S114的判断结果为是,因此执行步骤S116,停止对X-区域块的数据传输。

以图8中以源节点22为界且沿Y维度正向延伸的Y+区域块为例。在步骤S113,将待传输的数据从所述源节点22传输到Y+区域块与所述源节点22直接相连的第一个节点17,进一步,在步骤S114,判断是否已经将数据传输到Y+区域块的每个目的节点,如果判断为是,执行步骤S116,结束对Y+区域块的数据传输,参考图8,实际情况是,在步骤S114的判断结果为否,因此执行步骤S115,以所述第一个节点17为新的源节点,Y+为新的预定区域范围内的Mesh有线网格网络结构(参考图10所示),返回步骤S110。以此类推,直到数据被传输到Y+区域块的每个目地节点。

图8中以源节点22为界且沿Y维度负向延伸的Y-区域块为例。在步骤S113,将待传输的数据从所述源节点22传输到Y-区域块与所述源节点22直接相连的第一个节点25,进一步,在步骤S114,判断是否已经将数据传输到Y-区域块的每个目的节点,如果判断为是,执行步骤S116,结束对Y-区域块的数据传输,参考图8,实际情况是,在步骤S114的判断结果为否,因此执行步骤S115,以所述第一个节点25为新的源节点,Y-为新的预定区域范围内的Mesh有线网格网络结构(参考图11所示),返回步骤S110。以此类推,直到数据被传输到Y-区域块的每个目地节点。

图8中以源节点22为界且沿Z维度正向延伸的Z+区域块为例。在步骤S113,将待传输的数据从所述源节点22传输到Z+区域块与所述源节点22直接相连的第一个节点41,进一步,在步骤S114,判断是否已经将数据传输到Z+区域块的每个目的节点,如果判断为是,执行步骤S116,结束对Z+区域块的数据传输,参考图8,实际情况是,在步骤S114的判断结果为否,因此执行步骤S115,以所述第一个节点41为新的源节点,Z+为新的预定区域范围内的Mesh有线网格网络结构(参考图12所示),返回步骤S110。以此类推,直到数据被传输到Z+区域块的每个目地节点。

图8中以源节点22为界且沿Z维度负向延伸的Z-区域块为例。在步骤S113,将待传输的数据从所述源节点22传输到Z-区域块与所述源节点22直接相连的第一个节点9,进一步,在步骤S114,判断是否已经将数据传输到Z-区域块的每个目的节点,如果判断为是,执行步骤S116,结束对Z-区域块的数据传输,参考图8,实际情况是,在步骤S114的判断结果为否,因此执行步骤S115,以所述第一个节点9为新的源节点,Z-为新的预定区域范围内的Mesh有线网格网络结构(参考图13所示),返回步骤S110。以此类推,直到数据被传输到Z-区域块的每个目地节点。

由上可见,在本发明的一些可行的实施方式中,分别计算预定区域范围内的Mesh有线网格网络结构中的每个目的节点和源节点在所建立的坐标系中的每一维上的坐标差值;对每个目的节点,比较所述目的节点和源节点在所建立的坐标系中的每一维上的坐标的差值,确定出坐标差值绝对值最大的维度;将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为正的目的节点划分到以所述源节点为界且沿所述维度的正向延伸的区域块中,将所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为负的目的节点划分到以所述源节点为界且沿所述维度的负向延伸的区域块中;对每个区域块,将待传输的数据从所述源节点传输到该区域块与所述源节点直接相连的第一个节点,并以所述第一个节点为新的源节点,该区域块为新的预定区域范围内的Mesh有线网格网络结构,返回到分别计算所述预定区域范围内的Mesh有线网格网络结构中的每个目的节点和源节点在所建立的坐标系中的每一维上的坐标差值的步骤重新开始执行,直至将数据传输到该区域块的每个目的节点。由此可见,本发明实施例的方法首先根据长边优先原则将节点划分为多个区域,在每个区域内在将数据传输到下一跳时,实时更新源节点,并基于新的源节点重复划分区域的步骤,这样的通信方法,自然形成了长边优先传输原则,其可减少数据传输过程中的传输时延,以及减少数据传输链路,节省系统资源,并且,这样的传输方法不存在环流,可尽可能地避免死锁情况的发生。

相应的,本发明实施例还提供了可用于实施本发明上述方法的通信节点的功能结构组成示意图及硬件结构组成示意图。

图14为本发明的通信节点的一实施例的功能结构组成示意图。如图14所示,本发明实施例的通信节点可包括计算模块10、比较模块20、划分模块30以及传输处理模块40,其中:

计算模块10,分别计算预定区域范围内的Mesh有线网格网络结构中的每个目的节点和源节点在所建立的坐标系中的每一维上的坐标差值。

以图6所示的3D-Mesh有线网格网络结构为例,其包括节点0至节点47共48个节点(其中,0-47为节点的编号,具体实现中,节点还可用数字之外的其他形式进行编号,比如,通过字母进行编号等。),其中,节点22为源节点,其他节点为目的节点,图6中建立了包括X、Y、Z三维构成的三维坐标系。对于图6的结构,计算模块10可分别计算每个目的节点和源节点在所建立的坐标系中的每一维上的坐标差值。即分别计算每个目的节点和源节点在X方向、Y方向及Z方向的坐标差值。假设以Xi表示目的节点和源节点在X方向的坐标差值,其中,i为节点编号,Xdst表示目的节点在X方向的坐标,Xsrc表示源节点在X方向的坐标,Yi表示目的节点和源节点在Y方向的坐标差值,Ydst表示目的节点在Y方向的坐标,Ysrc表示源节点在Y方向的坐标,Zi表示目的节点和源节点在Z方向的坐标差值,Zdst表示目的节点在Z方向的坐标,Zsrc表示源节点在Z方向的坐标,则目的节点与源节点在X、Y及Z三个维度的坐标差值分别可表示为:

Xi=Xdst-Xsrc; 等式(1)

Yi=Ydst-Ysrc; 等式(2)

Zi=Zdst-Zsrc; 等式(3)

由此,本发明实施例的计算模块10可根据等式(1)-等式(3)计算图6中各目的节点与源节点在X、Y及Z方向的坐标差值。比如,以节点41与源节点22的坐标差值为例,节点41的坐标(X,Y,Z)=(1,2,2),节点22的坐标(X,Y,Z)=(1,2,1),则节点41与源节点22在X、Y及Z三个维度的坐标差值分别可表示为:X41=Xdst-Xsrc=1-1=0;Y41=Ydst-Ysrc=2-2=0;Z41=Zdst-Zsrc=2-1=1。再如,以节点27与源节点22的坐标差值为例,节点27的坐标(X,Y,Z)=(2,1,1),节点22的坐标(X,Y,Z)=(1,2,1),则节点27与源节点22在X、Y及Z三个维度的坐标差值分别可表示为:X27=Xdst-Xsrc=2-1=1;Y27=Ydst-Ysrc=1-2=-1;Z27=Zdst-Zsrc=1-1=0。其他节点的坐标差值计算方式类似,在此不一一列举。

具体实现中,如图15所示,本发明实施例的通信节点还可包括:创建模块50,用于为预定区域范围内的Mesh有线网格网络结构建立坐标系。图6中,每个节点的坐标包括X、Y、Z三个维度的坐标,比如,节点2的坐标(X,Y,Z)=(2,0,0);节点23的坐标(X,Y,Z)=(0,2,1)。图6中各节点的编号的方式与图1相同。比如,以节点2为例,图6中,a,b,c分别取值为4,4,3;其中,节点2的坐标(X,Y,Z)=(2,0,0),也即,节点2的y坐标和z坐标均为偶数,则采用L(x,y,z)={(a×b×z)+(a×y)+(x)}来计算节点2的编号,由此,将a=4、b=4,x=2,y=0,z=0代入公式后,最终得到的节点编号为L=0+0+2=2。再以节点9为例,节点9的坐标(X,Y,Z)=(1,2,0),也即,节点9的y坐标和z坐标均为偶数,则采用L(x,y,z)={(a×b×z)+(a×y)+(x)}来计算节点9的编号,由此,将a=4、b=4,x=1,y=2,z=0代入公式后,最终得到的节点编号为L=0+8+1=9。图6中其他节点编号的计算方式同样按照规则使用图1相同的公式中的一个来计算,在此不进行赘述。如前所述,Mesh有线网格网络中节点的编号也可不限于图1的公司编号方式,其还可以是字符,字母等能将各节点进行区别任意方式。

图6示出的是3D-Mesh有线网格网络及其建立的坐标系。具体实现中,本发明实施例的有线网格网络也可以是2D-Mesh有线网格网络,其可仅包括X和Y维。比如,一个2D-Mesh有线网格网络可为图6中第二层中的节点构成的网格网络。同样,2D-Mesh有线网格网络中各节点的编号方式也可为数字,字符,字母等各种形式。此时,计算模块10可分别计算每个目的节点和源节点在所建立的坐标系中的每一维上的坐标差值时,即分别计算每个目的节点和源节点在X方向、Y方向的坐标差值。假设,2D-Mesh有线网格网络为图6中第二层中的节点构成的网格网络,该2D-Mesh有线网格网络中源节点为节点22,其他节点为目的节点。对于该结构,计算模块10可分别计算每个目的节点和源节点22在所建立的二维坐标系中的X维和Y维的坐标差值。参考三维坐标差值的计算方式,对于二维坐标可使用等式(1)和等式(2)分别计算目的节点与源节点在X和Y两个维度的坐标差值。以节点27与源节点22的坐标差值为例,节点27的坐标(X,Y)=(2,1),节点22的坐标(X,Y)=(1,2)则节点27与源节点22在X、Y维度的坐标差值分别可表示为:X27=Xdst-Xsrc=2-1=1;Y27=Ydst-Ysrc=1-2=-1。再以节点30与源节点22的坐标差值为例,节点30的坐标(X,Y)=(1,0),节点22的坐标(X,Y)=(1,2)则节点30与源节点22在X、Y维度的坐标差值分别可表示为:X30=Xdst-Xsrc=1-1=0;Y30=Ydst-Ysrc=0-2=-2。图6中其他2D-Mesh有线网格网络结构中的节点的坐标差值计算方式类似,在此不一一列举。

比较模块20,用于对每个目的节点,比较所述目的节点和源节点在所建立的坐标系中的每一维上的坐标的差值,确定出坐标差值绝对值最大的维度。

以图6所示的3D-Mesh有线网格网络结构为例,比较模块20可比较每个目的节点和源节点在所建立的三维坐标系中的X维、Y维及Z维上的坐标差值,以确定出坐标差值绝对值最大的维度。仍以目的节点41为例,由前面的描述可知,目的节点41与源节点22在X、Y及Z三个维度的坐标差值分别可表示为:

X41=Xdst-Xsrc=1-1=0;Y41=Ydst-Ysrc=2-2=0;Z41=Zdst-Zsrc=2-1=1。由此可知,目的节点41与源节点22坐标差值绝对值最大的维度为Z。再如,节点27与源节点22在X、Y及Z三个维度的坐标差值分别可表示为:X27=Xdst-Xsrc=2-1=1;Y27=Ydst-Ysrc=1-2=-1;Z27=Zdst-Zsrc=1-1=0。由此可知,目的节点27与源节点22坐标差值绝对值最大的维度为X维和Y维两个维度。对于图6中的其他目的节点,可采用相同的方式确定出与源节点22坐标差值绝对值最大的维度。对于2D-Mesh有线网格网络中的目的节点和源节点,可采用3D-Mesh有线网格网络中相同的坐标差值及最大坐标差值绝对值的维度确定方式,其与3D-Mesh有线网格网络不同仅在于,少了一维比较数据。比如,对于包括X维和Y维两位坐标系的2D-Mesh有线网格网络,仅比较目的节点和源节点的X坐标差值与Y坐标差值的绝对值,然后确定出坐标差值绝对值最大的维度即可。

划分模块30,用于将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为正的目的节点划分到以所述源节点为界且沿所述维度的正向延伸的区域块中,将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为负的目的节点划分到以所述源节点为界且沿所述维度的负向延伸的区域块中。

以图6所示的3D-Mesh有线网格网络结构为例,在图6中,计算模块10计算节点0-节点47(排除节点22)与源节点22在X、Y及Z三个维度的坐标差值和比较模块20的比较结果参考表1所示:

由表1可知,节点0-节点2、节点17、节点25、节点29-节点34与源节点22的坐标差值绝对值最大的维度为Y,其中节点0-节点2、节点25、节点29-节点34与所述源节点22在所述坐标差值绝对值最大的维度Y上的坐标差值为负,节点17与所述源节点22在所述坐标差值绝对值最大的维度Y上的坐标差值为正,则参考图7,划分模块30用于将节点0-节点2、节点25、节点29-节点34划分到以所述源节点22为界且沿所述Y维度的负向延伸的区域块Y-中;而将节点17划分到以所述源节点22为界且沿所述Y维度的正向延伸的区域块Y+中。同样,由表1可知,节点4、节点11-节点12、节点19-节点21、节点23、节点27、节点36、节点43-节点44与源节点与源节点22的坐标差值绝对值最大的维度为X,其中节点23与所述源节点22在所述坐标差值绝对值最大的维度X上的坐标差值为负,节点4、节点11-节点12、节点19-节点21、节点27、节点36、节点43-节点44与所述源节点22在所述坐标差值绝对值最大的维度X上的坐标差值为正,则参考图7,划分模块30用于将节点23划分到以所述源节点22为界且沿所述X维度的负向延伸的区域块X-中;而将节点4、节点11-节点12、节点19-节点21、节点27、节点36、节点43-节点44划分到以所述源节点22为界且沿所述X维度的正向延伸的区域块X+中。同样,由表1可知,节点9、节点41与源节点与源节点22的坐标差值绝对值最大的维度为Z,其中节点9与所述源节点22在所述坐标差值绝对值最大的维度Z上的坐标差值为负,节点41与所述源节点22在所述坐标差值绝对值最大的维度Z上的坐标差值为正,则参考图7,划分模块30用于将节点9划分到以所述源节点22为界且沿所述Z维度的负向延伸的区域块Z-中;而将节点41划分到以所述源节点22为界且沿所述Z维度的正向延伸的区域块Z+中。

由表1可知,节点3、节点5、节点6、节点7、节点8、节点10、节点13、节点14-节点16、节点18、节点24、节点26、节点28、节点35、节点37-节点40、节点42、节点45-节点46与源节点22的坐标差值绝对值最大的维度大于1个,对于这样的节点,本发明实施例在通过划分模块30划分区域时,可采用如下方式中任意一种执行:

方式1:将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为正的目的节点优先划分到以所述源节点为界且沿所述多个最大的维度中的任一个维度的正向延伸且包括有目的节点的区域块中,将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为负的目的节点优先划分到以所述源节点为边界点且沿所述多个最大的维度中的任一个维度的负向延伸且包括有目的节点的区域块中。以节点3为例,其与源节点22坐标差值绝对值最大的维度包括X和Y,并且,其与源节点22在X维度的坐标差值为正,与源节点22在Y维度的坐标差值为负,假设以源节点22为界沿X维度正向延伸的X+区域中包括目的节点,而以源节点22为界沿Y维度负向延伸的Y-区域中不包括目的节点,则参考8,本发明实施例可优先将节点3划分到以源节点22为界且沿X维度正向延伸的X+区域块中。再以节点38为例,其与源节点22坐标差值绝对值最大的维度包括Y和Z,并且,其与源节点22在Y维度的坐标差值为负,与源节点22在Z维度的坐标差值为正,假设以源节点22为界沿Y维度正向延伸的Y-区域中不包括目的节点,而以源节点22为界沿Z维度正向延伸的Z+区域中包括目的节点,则参考8,本发明实施例可优先将节点38划分到以源节点22为界且沿Z维度正向延伸的Z+区域块中,对于表1中其他与源节点22的坐标差值绝对值最大的维度大于1个的目的节点,也可采用方式1的处理方式划分到,以源节点22为界且沿X维度正向延伸的X+区域块、以源节点22为界且沿X维度负向延伸的X-区域块、以源节点22为界且沿Y维度正向延伸的Y+区域块、以源节点22为界且沿Y维度负向延伸的Y-区域块、以源节点22为界且沿Z维度正向延伸的Z+区域块、以源节点22为界且沿Z维度正向延伸的Z-区域块的任一个中。最终划分结果可如图8所示。

方式2:将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为正的目的节点划分到以所述源节点为界且沿所述多个最大的维度中的任一个维度的正向延伸的区域块中,将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为负的目的节点划分到以所述源节点为边界点且沿所述多个最大的维度中的任一个维度的负向延伸的区域块中。比如,仍以节点3为例,节点3其与源节点22坐标差值绝对值最大的维度包括X和Y,并且,其与源节点22在X维度的坐标差值为正,与源节点22在Y维度的坐标差值为负,当采用方式2时,节点3即可划分到以源节点22为界且沿X维度正向延伸的X+区域块中,也可划分到以源节点22为界且沿Y维度正向延伸的Y-区域块中。对于表1中其他与源节点22的坐标差值绝对值最大的维度大于1个的目的节点,也可采用方式2的处理方式划分到以源节点22为界且沿X维度正向延伸的X+区域块、以源节点22为界且沿X维度负向延伸的X-区域块、以源节点22为界且沿Y维度正向延伸的Y+区域块、以源节点22为界且沿Y维度负向延伸的Y-区域块、以源节点22为界且沿Z维度正向延伸的Z+区域块、以源节点22为界且沿Z维度正向延伸的Z-区域块的任一个中。最终划分结果也可如图8所示。

最终,参考图8,经过划分模块30划分之后,图8中除源节点22之外的目的节点分别被划分到了以源节点22为界且沿X维度正向延伸的X+区域块、以源节点22为界且沿X维度负向延伸的X-区域块、以源节点22为界且沿Y维度正向延伸的Y+区域块、以源节点22为界且沿Y维度负向延伸的Y-区域块、以源节点22为界且沿Z维度正向延伸的Z+区域块、以源节点22为界且沿Z维度正向延伸的Z-区域块的任一个。具体的,节点3-节点4、节点11-节点13、节点18-节点21、节点26-节点28、节点35-36、节点43-节点45被划分到以源节点22为界且沿X维度正向延伸的X+区域块;节点23被划分到以源节点22为界且沿X维度负向延伸的X-区域块;节点16-节点17被划分到以源节点22为界且沿Y维度正向延伸的Y+区域块;节点0-节点2、节点7、节点24-节点25、节点29-节点34、节点39被划分到以源节点22为界且沿Y维度负向延伸的Y-区域块;节点37-节点38、节点40-节点42、节点46-节点47被划分到以源节点22为界且沿Z维度正向延伸的Z+区域块;节点5-节点6、节点8-节点10、节点14-节点15被划分到以源节点22为界且沿Z维度负向延伸的Z-区域块。

对于2D-Mesh有线网格网络,其最终划分结果与3D-Mesh有线网格网络的不同之处在于,将网络中的目的节点划分到以源节点为界且沿X维度正向延伸的X+区域块、以源节点为界且沿X维度负向延伸的X-区域块、以源节点为界且沿Y维度正向延伸的Y+区域块、以源节点为界且沿Y维度负向延伸的Y-区域块的任一个中。

另外,在其他实施例中,有线网格网络中包括的目的节点的个数和位置可与上述列举的实施例不同。本发明上述所列举的实施例不能用于限定有线网格网络中目的节点的个数。无论有线网格网络(包括2D-Mesh和3D-Mesh两种架构)中包括多少个目的节点,其目的节点的区域划分方式都是采用划分模块30上述所使用的划分方式,在此不对其他网格网络结构进行一一列举。

传输处理模块40,用于对每个区域块,将待传输的数据从所述源节点传输到该区域块与所述源节点直接相连的第一个节点,并以所述第一个节点为新的源节点,该区域块为新的预定区域范围内的Mesh有线网格网络结构,返回计算模块重新开始处理,直至将数据传输到该区域块的每个目的节点。

具体实现中,作为一种实施方式,传输处理模块40具体用于,对每个区域块,将待传输的数据从所述源节点传输到该区域块与所述源节点直接相连的第一个节点,并判断是否将数据传输到该区域块的每个目的节点,如果判断为是,结束对该区域块的数据传输;如果判断为否,以所述第一个节点为新的源节点,该区域块为新的预定区域范围内的Mesh有线网格网络结构,返回到计算模块10重新开始处理,直至将数据传输到该区域块的每个目的节点。

以图8中以源节点22为界且沿X维度正向延伸的X+区域块为例。当传输处理模块40将待传输的数据从所述源节点22传输到X+区域块与所述源节点22直接相连的第一个节点21之后,进一步,判断是否已经将数据传输到X+区域块的每个目的节点,如果判断为是,结束对该区域块的数据传输;如果判断为否,以所述第一个节点为新的源节点,该区域块为新的预定区域范围内的Mesh有线网格网络结构,返回到计算模块10重新开始处理,直至将数据传输到该区域块的每个目的节点。参考图8,实际情况是,传输处理模块40的判断结果为否,因此,本发明实施例将以所述第一个节点21为新的源节点,X+为新的预定区域范围内的Mesh有线网格网络结构(参考图9所示),返回计算模块10重新开始处理。以此类推,直到数据被传输到X+区域块的每个目地节点。

以图8中以源节点22为界且沿X维度负向延伸的X-区域块为例。当传输处理模块40将待传输的数据从所述源节点22传输到X-区域块与所述源节点22直接相连的第一个节点23,进一步,判断是否已经将数据传输到X-区域块的每个目的节点,如果判断为是,结束对该区域块的数据传输;如果判断为否,以所述第一个节点为新的源节点,该区域块为新的预定区域范围内的Mesh有线网格网络结构,返回到计算模块10重新开始处理,直至将数据传输到该区域块的每个目的节点。参考图8,实际情况是,对于X-区域块,传输处理模块40的判断结果为是,因此,停止对X-区域块的数据传输。

以图8中以源节点22为界且沿Y维度正向延伸的Y+区域块为例。当传输处理模块40将待传输的数据从所述源节点22传输到Y+区域块与所述源节点22直接相连的第一个节点17,进一步,判断是否已经将数据传输到Y+区域块的每个目的节点,如果判断为是,结束对该区域块的数据传输;如果判断为否,以所述第一个节点为新的源节点,该区域块为新的预定区域范围内的Mesh有线网格网络结构,返回到计算模块10重新开始处理,直至将数据传输到该区域块的每个目的节点。参考图8,实际情况是,传输处理模块40判断结果为否,因此以所述第一个节点17为新的源节点,Y+为新的预定区域范围内的Mesh有线网格网络结构(参考图10所示),返回计算模块10重新开始处理。以此类推,直到数据被传输到Y+区域块的每个目地节点。

图8中以源节点22为界且沿Y维度负向延伸的Y-区域块为例。当传输处理模块40将待传输的数据从所述源节点22传输到Y-区域块与所述源节点22直接相连的第一个节点25,进一步,判断是否已经将数据传输到Y-区域块的每个目的节点,如果判断为是,结束对该区域块的数据传输;如果判断为否,以所述第一个节点为新的源节点,该区域块为新的预定区域范围内的Mesh有线网格网络结构,返回到计算模块10重新开始处理,直至将数据传输到该区域块的每个目的节点。参考图8,实际情况是,传输处理模块40判断结果为否,因此以所述第一个节点25为新的源节点,Y-为新的预定区域范围内的Mesh有线网格网络结构(参考图11所示),返回计算模块10重新开始处理。以此类推,直到数据被传输到Y-区域块的每个目地节点。

图8中以源节点22为界且沿Z维度正向延伸的Z+区域块为例。当传输处理模块40将待传输的数据从所述源节点22传输到Z+区域块与所述源节点22直接相连的第一个节点41,进一步,判断是否已经将数据传输到Z+区域块的每个目的节点,如果判断为是,结束对该区域块的数据传输;如果判断为否,以所述第一个节点为新的源节点,该区域块为新的预定区域范围内的Mesh有线网格网络结构,返回到计算模块10重新开始处理,直至将数据传输到该区域块的每个目的节点。参考图8,实际情况是,传输处理模块40的判断结果为否,因此以所述第一个节点41为新的源节点,Z+为新的预定区域范围内的Mesh有线网格网络结构(参考图12所示),返回计算模块10重新开始处理。以此类推,直到数据被传输到Z+区域块的每个目地节点。

图8中以源节点22为界且沿Z维度负向延伸的Z-区域块为例当传输处理模块40将待传输的数据从所述源节点22传输到Z-区域块与所述源节点22直接相连的第一个节点9,进一步,判断是否已经将数据传输到Z-区域块的每个目的节点,如果判断为是,结束对该区域块的数据传输;如果判断为否,以所述第一个节点为新的源节点,该区域块为新的预定区域范围内的Mesh有线网格网络结构,返回到计算模块10重新开始处理,直至将数据传输到该区域块的每个目的节点。参考图8,实际情况是,传输处理模块40的判断结果为否,因此以所述第一个节点9为新的源节点,Z-为新的预定区域范围内的Mesh有线网格网络结构(参考图13所示),返回计算模块10重新开始处理。以此类推,直到数据被传输到Z-区域块的每个目地节点。

由上可见,在本发明的通信节点的一些可行的实施方式中,分别计算预定区域范围内的Mesh有线网格网络结构中的每个目的节点和源节点在所建立的坐标系中的每一维上的坐标差值;对每个目的节点,比较所述目的节点和源节点在所建立的坐标系中的每一维上的坐标的差值,确定出坐标差值绝对值最大的维度;将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为正的目的节点划分到以所述源节点为界且沿所述维度的正向延伸的区域块中,将所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为负的目的节点划分到以所述源节点为界且沿所述维度的负向延伸的区域块中;对每个区域块,将待传输的数据从所述源节点传输到该区域块与所述源节点直接相连的第一个节点,并以所述第一个节点为新的源节点,该区域块为新的预定区域范围内的Mesh有线网格网络结构,返回到分别计算所述预定区域范围内的Mesh有线网格网络结构中的每个目的节点和源节点在所建立的坐标系中的每一维上的坐标差值的步骤重新开始执行,直至将数据传输到该区域块的每个目的节点。由此可见,本发明实施例的方法首先根据长边优先原则将节点划分为多个区域,在每个区域内在将数据传输到下一跳时,实时更新源节点,并基于新的源节点重复划分区域的步骤,这样的通信方法,自然形成了长边优先传输原则,其可减少数据传输过程中的传输时延,以及减少数据传输链路,节省系统资源,并且,这样的传输方法不存在环流,可尽可能地避免死锁情况的发生。

相应的,本发明实施例还公开了一种通信节点,其具体结构如图18所示,具体实现中,本实施例的通信节点可为Mesh有线网格网络结构中的任意一个节点。下面结合附图,对本发明实施例的通信节点的结构实施例进行举例说明。

具体的,如图16所示,本实施例的通信节点可包括输入装置161、输出装置162、通信链路163、收发装置164、存储器165以及处理器166,其中:

所述输入装置161,用于接收外部输入所述通信节点的输入数据。具体实现中,本发明实施例所述的输入装置161可包括键盘、鼠标、光电输入装置、声音输入装置、触摸式输入装置、扫描仪等。

所述输出设备162,用于对外输出所述通信节点的输出数据。具体实现中,本发明实施例所述的输出装置162可包括显示器、扬声器、打印机等。

所述通信链路163,用于建立所述通信节点与所述Mesh有线网格网络结构的其他节点通讯连接。具体实现中,本发明实施例所述的通信链路163可是传播介质的一个实例。传播介质一般可以将计算机可读指令、数据结构、程序模块或其他调制数据信号(诸如载波或其他传送机制)形式的其他数据具体化,举例来说,传播介质可包括有线媒体、诸如优先网络或直线连接,传播介质还可包括有线介质,比如声波、射频、红外线等。

所述收发装置164,用于通过所述通信链路163与所述Mesh网络中的其他节点进行通信,比如,收发数据。具体实现中,所述收发装置164可为天线等收发装置。

所述存储器165,用于存储带有各种功能的程序数据。具体实现中,本发明实施例的存储器165可以是系统存储器,比如,挥发性的(诸如RAM),非易失性的(诸如ROM,闪存等),或者两者的结合。具体实现中,本发明实施例的存储器165还可以是系统之外的外部存储器,比如,磁盘、光盘、磁带等。

所述处理器166,用于调用所述存储器165中存储的程序数据,并执行如下操作:

分别计算预定区域范围内的Mesh有线网格网络结构中的每个目的节点和源节点在所建立的坐标系中的每一维上的坐标差值;

对每个目的节点,比较所述目的节点和源节点在所建立的坐标系中的每一维上的坐标的差值,确定出坐标差值绝对值最大的维度;

将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为正的目的节点划分到以所述源节点为界且沿所述维度的正向延伸的区域块中,将所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为负的目的节点划分到以所述源节点为界且沿所述维度的负向延伸的区域块中;

对每个区域块,将待传输的数据从所述源节点传输到该区域块与所述源节点直接相连的第一个节点,并以所述第一个节点为新的源节点,该区域块为新的预定区域范围内的Mesh有线网格网络结构,返回到分别计算所述预定区域范围内的Mesh有线网格网络结构中的每个目的节点和源节点在所建立的坐标系中的每一维上的坐标差值的步骤重新开始执行,直至将数据传输到该区域块的每个目的节点。

在一些可行的实施方式中,当所述处理器166确定出的坐标差值最大的维度大于一个时,所述处理器166具体用于将将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为正的目的节点优先划分到以所述源节点为界且沿所述多个最大的维度中的任一个维度的正向延伸且包括有目的节点的区域块中,将与所述源节点在所述坐标差值绝对值最大的维度上的坐标差值为负的目的节点优先划分到以所述源节点为边界点且沿所述多个最大的维度中的任一个维度的负向延伸且包括有目的节点的区域块中。

在一些可行的实施方式中,所述处理器166还执行如下步骤:

为预定区域范围内的Mesh有线网格网络结构建立坐标系。

在一些可行的实施方式中,所述Mesh有线网格网络结构为2D-Mesh有线网格网络结构,所述处理器166为预定区域范围内的Mesh有线网格网络结构建立的坐标系为2维坐标系。

在一些可行的实施方式中,所述Mesh有线网格网络结构为3D-Mesh有线网格网络结构,所述处理器166为预定区域范围内的Mesh有线网格网络结构建立的坐标系为3维坐标系。

另外,本发明实施例还提供了一种计算机存储介质,该计算机存储介质可存储有程序,该程序执行时可运行本发明实施例所述的方法的部分或全部步骤。具体实现中,本发明实施例的计算机存储介质包括:RAM、ROM、EEPROM、闪存、CD-ROM、DVD或其他光存储器,磁带、磁盘或其他磁存储器,或者其他任何可以用于存储所需信息并可被计算机设备所访问的介质。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘且本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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