双路径无线网格网络的路由方法、装置、设备和存储介质与流程

文档序号:36424867发布日期:2023-12-20 17:57阅读:35来源:国知局
双路径无线网格网络的路由方法与流程

本技术涉及片上网络,特别是涉及一种双路径无线网格网络的路由方法、装置、计算机设备和存储介质。


背景技术:

1、由于片上网络从诞生至今不过数十年,尚且处于理论研究阶段。总体上看,片上网络的研究还处于起步阶段,相关的理论和技术就不大成熟,但是遵循着由单机到网络的发展趋势,相信片上网络在不久的将来会成为一种关键的技术得到广泛的应用,因此对之进行相关的研究还是很有必要的。

2、在现有的二维无线网格网络(mesh)片上网络的拓扑结构中,路由器用于仲裁数据的流向,决定数据包在路由网络内的传输路径;资源节点可以发送和接受数据,路由器与路由器之间以及路由器与资源节点之间都是双向连接线形成的链路,即全双工。每个路由使用链路连接一个资源节点。路由节点与资源节点之间,路由节点与路由节点之间都是通过两条独立且单向的链路连接起来的。

3、 在实际网络中,路由节点数量n的取值可以是任意大的,只要保证每个路由节点都连接一个资源节点即可。但是随着的增大,网络的直径和规模也随着增大,对网络的时延,功耗等性能将会产生很大影响。由于结构的组成结构简单,在规模不大的网络环境中得到了大量应用。且因为存在“闭环”,可能会出现死锁,xy路由方法可以避免死锁的产生,但是对于任意的路由请求,使用xy路由方法都只有一条路径,很容易造成阻塞。当然还有奇偶排序方法(odd-even sort),但是对于任意的路由请求路径比xy路由方法多,但是也很容易阻塞。

4、路由方法一般是指路由器r之间相互传输数据,因此后续我们只考虑数据在路由器r之间的传输。路由方法是noc研究人员研究内容的重点之一。在确定了网络拓扑结构的情况下,路由方法决定了消息包在网络中的传递路径。它会根据源节点和目标节点选择中间需要路由的节点。所以说路由方法就是对中间节点进行选择,在选择了合适节点的前提下向目标节点传输小细胞。这样做的目的是使数据包的网络延迟、投递过程中所需要的功耗、数据吞吐率以及可靠性都能达到所设定的指标。一个好的路由方法可以时芯片的性能达到最优,相反一个坏的路由方法则会使芯片的性能大大降低。同时一个好的路由方法能够有效的避免死锁、活锁和饿死这些降低芯片性能的问题。

5、对于一个二维无线网格网络拓扑结构的片上网络而言,每一个路由器都有一个坐标(x,y)与之唯一对应。但是目前二维无线网格网络拓扑结构的路由方法存在死锁、活锁和饿死的问题。


技术实现思路

1、基于此,有必要针对目前二维无线网格网络拓扑结构的路由方法存在死锁、活锁和饿死的技术问题,提供一种双路径无线网格网络的路由方法、装置、计算机设备和存储介质,能够避免死锁、活锁和饿死的情况出现,防止产生阻塞,提升芯片性能。

2、一方面,提供一种双路径无线网格网络的路由方法,所述方法包括:

3、对双路径无线网格网络构建二维坐标系,在二维坐标系中为双路径无线网格网络中各个路由节点设置一个坐标;

4、将位于相邻两个路由节点之间的正向双路径链路分别设置第一正向标记、第二正向标记,对将位于相邻两个路由节点之间的反向双路径链路分别设置第一反向标记、第二反向标记,将所有设置第一正向标记和第一反向标记的链路作为第一链路,将所有设置第二正向标记和第二反向标记的链路作为第二链路;

5、响应于存在路由请求时,获取路由请求的目标路由节点坐标以及路由请求当前所在的路由节点坐标,将目标路由节点坐标的x轴值与路由请求当前所在的路由节点坐标的x轴值的差值作为实时坐标差值δx,将目标路由节点坐标的y轴值与路由请求当前所在的路由节点坐标的y轴值的差值作为实时坐标差值δy;

6、当δx>0时判定路由请求向x轴正向传输,当δx<0时判定路由请求向x轴负向传输,当δy>0时判定路由请求向y轴正向传输,当δy<0时判定路由请求向y轴负向传输;

7、设置所有路由节点控制路由请求沿x轴正向、x轴负向、y轴正向、y轴负向中的一个方向传输时,控制沿顺时针方向选取第一链路,沿逆时针方向选取第二链路传输路由请求;或者控制沿顺时针方向选取第二链路,沿逆时针方向选取第一链路传输路由请求。

8、在其中一个实施例中,所述对双路径无线网格网络构建二维坐标系步骤包括:

9、获取双路径无线网格网络中各个路由节点的阵列排布方式,形成多排沿第一方向排布设置的路由节点以及多列沿第二方向排布设置的路由节点,将第一方向设置为x轴,将第二方向设置为y轴,形成对应双路径无线网格网络的二维坐标系。

10、在其中一个实施例中,所述将位于相邻两个路由节点之间的正向双路径链路分别设置第一正向标记、第二正向标记,对将位于相邻两个路由节点之间的反向双路径链路分别设置第一反向标记、第二反向标记步骤包括:

11、获取双路径无线网格网络中任意相邻两个路由节点之间沿x轴方向或y轴方向的正向双路径链路和反向双路径链路;

12、将x轴方向以及y轴方向的位于相邻两个路由节点之间的正向双路径链路分别设置第一正向标记、第二正向标记;

13、将x轴方向或y轴方向的位于相邻两个路由节点之间的反向双路径链路分别设置第一反向标记、第二反向标记。

14、在其中一个实施例中,所述将位于相邻两个路由节点之间的正向双路径链路分别设置第一正向标记、第二正向标记,对将位于相邻两个路由节点之间的反向双路径链路分别设置第一反向标记、第二反向标记步骤包括:

15、设置第一正向标记与第一反向标记均为“+”路径;

16、设置第二正向标记与第二反向标记均为“-”路径。

17、在其中一个实施例中,所述设置所有路由节点控制路由请求沿x轴正向、x轴负向、y轴正向、y轴负向中的一个方向传输时,控制沿顺时针方向选取第一链路,沿逆时针方向选取第二链路传输路由请求;或者控制沿顺时针方向选取第二链路,沿逆时针方向选取第一链路传输路由请求步骤包括:

18、当设置所有路由节点控制路由请求沿x轴正向传输时,控制在x轴正向上沿顺时针方向和沿逆时针方向传输路由请求时分别选取第一链路或第二链路来传输路由请求;

19、当δx<0,δy>0时,在当前路由节点选取第一链路或第二链路沿x轴负向、y轴正向传输路由请求;

20、当δx<0,δy<0时,在当前路由节点选取第一链路或第二链路沿x轴负向、y轴负向传输路由请求;

21、当δx>0,δy>0时,在当前路由节点选取第二链路沿x轴正向传输路由请求,在当前路由节点选取第一链路或第二链路沿y轴正向传输路由请求;

22、当δx>0,δy<0时,在当前路由节点选取第一链路选的链路沿x轴正向传输路由请求,在当前路由节点选取第一链路或第二链路沿y轴负向传输路由请求。

23、在其中一个实施例中,所述设置所有路由节点控制路由请求沿x轴正向、x轴负向、y轴正向、y轴负向中的一个方向传输时,控制沿顺时针方向选取第一链路,沿逆时针方向选取第二链路传输路由请求;或者控制沿顺时针方向选取第二链路,沿逆时针方向选取第一链路传输路由请求步骤还包括:

24、当路由请求传输至下一路由节点后,更新路由请求当前所在的路由节点坐标,继续控制路由请求在当前路由节点的传输路径;

25、当δx=0,δy>0时,在当前路由节点选取第一链路或第二链路沿y轴正向传输路由请求,直至δy=0,路由结束;

26、当δx=0,δy<0时,在当前路由节点选取第一链路或第二链路沿y轴负向传输路由请求,直至δy=0,路由结束;

27、当δy=0,δx<0时,在当前路由节点选取第一链路或第二链路沿x轴负向传输路由请求,直至δx=0,路由结束;

28、当δy=0,δx>0时,在当前路由节点选取第一链路或第二链路沿x轴正向传输路由请求,直至δx=0,路由结束。

29、在其中一个实施例中,所述设置所有路由节点控制路由请求沿x轴正向、x轴负向、y轴正向、y轴负向中的一个方向传输时,控制沿顺时针方向选取第一链路,沿逆时针方向选取第二链路传输路由请求;或者控制沿顺时针方向选取第二链路,沿逆时针方向选取第一链路传输路由请求步骤包括:

30、当设置所有路由节点控制路由请求沿x轴负向传输时,控制在x轴负向上沿顺时针方向选取第一链路传输路由请求,沿逆时针方向选取第二链路来传输路由请求;

31、当δx>0,δy>0时,在当前路由节点选取第一链路或第二链路沿x轴正向、y轴正向传输路由请求;

32、当δx>0,δy<0时,在当前路由节点选取第一链路或第二链路沿x轴正向、y轴负向传输路由请求;

33、当δx<0,δy>0时,在当前路由节点选取第一链路沿x轴负向传输路由请求,在当前路由节点选取第一链路或第二链路沿y轴正向传输路由请求;

34、当δx<0,δy<0时,在当前路由节点选取第二链路选的链路沿x轴负向传输路由请求,在当前路由节点选取第一链路或第二链路沿y轴负向传输路由请求。

35、在其中一个实施例中,所述设置所有路由节点控制路由请求沿x轴正向、x轴负向、y轴正向、y轴负向中的一个方向传输时,控制沿顺时针方向选取第一链路,沿逆时针方向选取第二链路传输路由请求;或者控制沿顺时针方向选取第二链路,沿逆时针方向选取第一链路传输路由请求步骤还包括:

36、当路由请求传输至下一路由节点后,更新路由请求当前所在的路由节点坐标,继续控制路由请求在当前路由节点的传输路径;

37、当δx=0,δy>0时,在当前路由节点选取第一链路或第二链路沿y轴正向传输路由请求,直至δy=0,路由结束;

38、当δx=0,δy<0时,在当前路由节点选取第一链路或第二链路沿y轴负向传输路由请求,直至δy=0,路由结束;

39、当δy=0,δx>0时,在当前路由节点选取第一链路或第二链路沿x轴正向传输路由请求,直至δx=0,路由结束;

40、当δy=0,δx<0时,在当前路由节点选取第一链路或第二链路沿x轴负向传输路由请求,直至δx=0,路由结束。

41、在其中一个实施例中,所述设置所有路由节点控制路由请求沿x轴正向、x轴负向、y轴正向、y轴负向中的一个方向传输时,控制沿顺时针方向选取第一链路,沿逆时针方向选取第二链路传输路由请求;或者控制沿顺时针方向选取第二链路,沿逆时针方向选取第一链路传输路由请求步骤包括:

42、当设置所有路由节点控制路由请求沿y轴正向传输时,控制在y轴正向上沿顺时针方向传输路由请求时选取第一链路传输路由请求,沿逆时针方向传输路由请求时选取第二链路传输路由请求;

43、当δy<0,δx>0时,在当前路由节点选取第一链路或第二链路沿x轴正向、y轴负向传输路由请求;

44、当δy<0,δx<0时,在当前路由节点选取第一链路或第二链路沿x轴负向、y轴负向传输路由请求;

45、当δx>0,δy>0时,在当前路由节点选取第二链路沿y轴正向传输路由请求,在当前路由节点选取第一链路或第二链路沿x轴正向传输路由请求;

46、当δx<0,δy>0时,在当前路由节点选取第一链路选的链路沿y轴正向传输路由请求,在当前路由节点选取第一链路或第二链路沿x轴负向传输路由请求。

47、在其中一个实施例中,所述设置所有路由节点控制路由请求沿x轴正向、x轴负向、y轴正向、y轴负向中的一个方向传输时,控制沿顺时针方向选取第一链路,沿逆时针方向选取第二链路传输路由请求;或者控制沿顺时针方向选取第二链路,沿逆时针方向选取第一链路传输路由请求步骤还包括:

48、当路由请求传输至下一路由节点后,更新路由请求当前所在的路由节点坐标,继续控制路由请求在当前路由节点的传输路径;

49、当δy=0,δx>0时,在当前路由节点选取第一链路或第二链路沿x轴正向传输路由请求,直至δx=0,路由结束;

50、当δy=0,δx<0时,在当前路由节点选取第一链路或第二链路沿x轴负向传输路由请求,直至δx=0,路由结束;

51、当δx=0,δy<0时,在当前路由节点选取第一链路或第二链路沿y轴正向传输路由请求,直至δy=0,路由结束;

52、当δx=0,δy>0时,在当前路由节点选取第一链路或第二链路沿y轴正向传输路由请求,直至δy=0,路由结束。

53、在其中一个实施例中,所述设置所有路由节点控制路由请求沿x轴正向、x轴负向、y轴正向、y轴负向中的一个方向传输时,控制沿顺时针方向选取第一链路,沿逆时针方向选取第二链路传输路由请求;或者控制沿顺时针方向选取第二链路,沿逆时针方向选取第一链路传输路由请求步骤包括:

54、当设置所有路由节点控制路由请求沿y轴负向传输时,控制在y轴负向上沿顺时针方向传输路由请求时选取第一链路传输路由请求,沿逆时针方向传输路由请求时选取第二链路传输路由请求;

55、当δy>0,δx>0或δx<0时,在当前路由节点选取第一链路或第二链路沿x轴正向、x轴负向、y轴正向传输路由请求;

56、当δx>0,δy<0时,在当前路由节点选取第一链路沿y轴负向传输路由请求,在当前路由节点选取第一链路或第二链路沿x轴正向传输路由请求;

57、当δx<0,δy<0时,在当前路由节点选取第二链路选的链路沿y轴负向传输路由请求,在当前路由节点选取第一链路或第二链路沿x轴负向传输路由请求。

58、在其中一个实施例中,所述设置所有路由节点控制路由请求沿x轴正向、x轴负向、y轴正向、y轴负向中的一个方向传输时,控制沿顺时针方向选取第一链路,沿逆时针方向选取第二链路传输路由请求;或者控制沿顺时针方向选取第二链路,沿逆时针方向选取第一链路传输路由请求步骤还包括:

59、当路由请求传输至下一路由节点后,更新路由请求当前所在的路由节点坐标,继续控制路由请求在当前路由节点的传输路径;

60、当δy=0,δx>0时,在当前路由节点选取第一链路或第二链路沿x轴正向传输路由请求,直至δx=0,路由结束;

61、当δy=0,δx<0时,在当前路由节点选取第一链路或第二链路沿x轴负向传输路由请求,直至δx=0,路由结束;

62、当δx=0,δy>0时,在当前路由节点选取第一链路或第二链路沿y轴正向传输路由请求,直至δy=0,路由结束;

63、当δx=0,δy<0时,在当前路由节点选取第一链路或第二链路沿y轴负向传输路由请求,直至δy=0,路由结束。

64、另一方面,提供了一种双路径无线网格网络的路由装置,所述装置包括:

65、构建二维坐标系模块,用于对双路径无线网格网络构建二维坐标系,在二维坐标系中为双路径无线网格网络中各个路由节点设置一个坐标;

66、标记路径设置模块,用于将位于相邻两个路由节点之间的正向双路径链路分别设置第一正向标记、第二正向标记,对将位于相邻两个路由节点之间的反向双路径链路分别设置第一反向标记、第二反向标记,将所有设置第一正向标记和第一反向标记的链路作为第一链路,将所有设置第二正向标记和第二反向标记的链路作为第二链路;

67、实时坐标差值计算模块,用于响应于存在路由请求时,获取路由请求的目标路由节点坐标以及路由请求当前所在的路由节点坐标,将目标路由节点坐标的x轴值与路由请求当前所在的路由节点坐标的x轴值的差值作为实时坐标差值δx,将目标路由节点坐标的y轴值与路由请求当前所在的路由节点坐标的y轴值的差值作为实时坐标差值δy;

68、路由方向判断模块,用于当δx>0时判定路由请求向x轴正向传输,当δx<0时判定路由请求向x轴负向传输,当δy>0时判定路由请求向y轴正向传输,当δy<0时判定路由请求向y轴负向传输;

69、路由节点路由路径控制模块,用于设置所有路由节点控制路由请求沿x轴正向、x轴负向、y轴正向、y轴负向中的一个方向传输时,控制沿顺时针方向选取第一链路,沿逆时针方向选取第二链路传输路由请求;或者控制沿顺时针方向选取第二链路,沿逆时针方向选取第一链路传输路由请求。

70、再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

71、对双路径无线网格网络构建二维坐标系,在二维坐标系中为双路径无线网格网络中各个路由节点设置一个坐标;

72、将位于相邻两个路由节点之间的正向双路径链路分别设置第一正向标记、第二正向标记,对将位于相邻两个路由节点之间的反向双路径链路分别设置第一反向标记、第二反向标记,将所有设置第一正向标记和第一反向标记的链路作为第一链路,将所有设置第二正向标记和第二反向标记的链路作为第二链路;

73、响应于存在路由请求时,获取路由请求的目标路由节点坐标以及路由请求当前所在的路由节点坐标,将目标路由节点坐标的x轴值与路由请求当前所在的路由节点坐标的x轴值的差值作为实时坐标差值δx,将目标路由节点坐标的y轴值与路由请求当前所在的路由节点坐标的y轴值的差值作为实时坐标差值δy;

74、当δx>0时判定路由请求向x轴正向传输,当δx<0时判定路由请求向x轴负向传输,当δy>0时判定路由请求向y轴正向传输,当δy<0时判定路由请求向y轴负向传输;

75、设置所有路由节点控制路由请求沿x轴正向、x轴负向、y轴正向、y轴负向中的一个方向传输时,控制沿顺时针方向选取第一链路,沿逆时针方向选取第二链路传输路由请求;或者控制沿顺时针方向选取第二链路,沿逆时针方向选取第一链路传输路由请求。

76、又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

77、对双路径无线网格网络构建二维坐标系,在二维坐标系中为双路径无线网格网络中各个路由节点设置一个坐标;

78、将位于相邻两个路由节点之间的正向双路径链路分别设置第一正向标记、第二正向标记,对将位于相邻两个路由节点之间的反向双路径链路分别设置第一反向标记、第二反向标记,将所有设置第一正向标记和第一反向标记的链路作为第一链路,将所有设置第二正向标记和第二反向标记的链路作为第二链路;

79、响应于存在路由请求时,获取路由请求的目标路由节点坐标以及路由请求当前所在的路由节点坐标,将目标路由节点坐标的x轴值与路由请求当前所在的路由节点坐标的x轴值的差值作为实时坐标差值δx,将目标路由节点坐标的y轴值与路由请求当前所在的路由节点坐标的y轴值的差值作为实时坐标差值δy;

80、当δx>0时判定路由请求向x轴正向传输,当δx<0时判定路由请求向x轴负向传输,当δy>0时判定路由请求向y轴正向传输,当δy<0时判定路由请求向y轴负向传输;

81、设置所有路由节点控制路由请求沿x轴正向、x轴负向、y轴正向、y轴负向中的一个方向传输时,控制沿顺时针方向选取第一链路,沿逆时针方向选取第二链路传输路由请求;或者控制沿顺时针方向选取第二链路,沿逆时针方向选取第一链路传输路由请求。

82、上述双路径无线网格网络的路由方法、装置、计算机设备和存储介质,通过在二维坐标内的所有路由节点传输路由请求时,在沿x轴、y轴任一正负方向中选取其中一个方向设置为在同向双路中的顺时针和逆时针方向路由分别选取设置不同标记路径传输路由请求,避免了在相邻四个路由节点中形成环形锁死回路,实现了始终朝向目标路由节点传输路由请求,从而形成最短路由路径,因此也不存在活锁现象;且所有路由节点的路由请求在传输过程中都是等地位的,不会产生饿死现象;本技术不仅能解决死锁、活锁和饿死问题还能尽量保持路径的多样性,减少阻塞。

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