本技术实施例涉及数据交换领域,具体而言,涉及一种目标节点集合的划分方法、电子设备、计算机程序产品。
背景技术:
1、组播通信为互连网络的一种重要通信方法,组播通信大致可以分为路状路由和树状路由两种方法。许多研究表明,路状路由方法比树状路由方法的性能更优越。基于路径的方法只会在源节点处复制报文,不会在网络的其他节点复制报文,因此不会增加报文争用。然而,路状路由访问所有目标节点的路径可能会很长。
2、目前,双路径、多路径和列路径路由方法为2d-mesh网络常用的几种路径划分方法,每种方法都有其优缺点。尤其是在大规模mesh网络中,双路径路由方法和多路径路由方法均存在路由路径过长,增加了网络延时,多路径路由方法还存在目标节点集合划分不均匀的问题,这会导致一些组播路径较长,一些组播路径较短。
3、针对相关技术中, 对目标节点集合进行划分以后,可能会导致使用路状路由访问划分后的节点子集中的所有节点的路由路径较长的问题,目前尚未提出有效的解决方案。
技术实现思路
1、本技术实施例提供了一种目标节点集合的划分方法、电子设备、计算机程序产品,以至少解决采用相关技术 对目标节点集合进行划分以后,可能会导致使用路状路由访问划分后的节点子集中的所有节点的路由路径较长的问题 。
2、根据本技术的一个实施例,提供了一种目标节点集合的划分方法,包括:根据源网络节点的编号划分目标节点集合,得到第一节点集合和第二节点集合,其中,所述第一节点集合中的网络节点的编号大于所述源网络节点的编号,所述第二节点集合中的网络节点的编号小于所述源网络节点的编号,所述目标节点集合中具有多个目标节点,所述目标节点为所述指定网格网络中待接收所述源网络节点发送的报文的节点;根据参考路由路径长度对所述待划分节点集合进行划分,得到多个目标节点子集,其中,所述参考路由路径长度为预设的所述源网络节点到所述目标节点的最长路由路径长度,所述待划分节点集合包括:所述第一节点集合和所述第二节点集合。
3、在一个示例性的实施例中,在所述指定网格网络为m*n的网格网络的情况下,所述根据参考路由路径长度对待划分节点集合进行划分,得到多个目标节点子集之前,所述方法还包括:使用以下函数对所述指定网格网络中的网络节点进行编号:;其中,为网络节点在所述指定网格网络中的坐标,x为大于等于0、小于等于m-1的整数,y为大于等于0、小于等于n-1的整数。
4、在一个示例性的实施例中,所述根据参考路由路径长度对所述待划分节点集合进行划分,得到多个目标节点子集,包括:将所述待划分节点集合进行初始划分,得到k个节点子集,其中,k个节点子集中的每个节点子集中的网络节点的横坐标相同,第i-1个节点子集中的网络节点的横坐标小于第i个节点子集中的网络节点的横坐标,i为大于等于2、小于等于k的整数;根据参考路由路径长度对所述k个节点子集进行二次划分,得到多个目标节点子集。
5、在一个示例性的实施例中,所述根据参考路由路径长度对所述k个节点子集进行二次划分,得到多个目标节点子集,包括:将k个节点子集存放至存储集合中,并重复执行以下步骤,直至存储集合为空,得到多个目标节点子集:根据参考路由路径长度确定存储集合中的第一个节点子集是否需要补充节点;在所述第一个节点子集需要补充节点、且所述存储集合中存在第二个节点子集的情况下,将第二个节点子集中的部分或全部节点移动至所述第一个节点子集,其中,在将第二个节点子集中全部节点移动至所述第一个节点子集的情况下,将所述第二个节点子集从所述存储集合中删除;在所述第一个节点子集需要补充节点、且所述存储集合中不存在第二个节点子集的情况下,将所述第一个节点子集确定为一个目标节点子集,并将所述第一个节点子集从所述存储集合中删除;在所述第一个节点子集不需要补充节点的情况下,将所述第一个节点子集确定为一个目标节点子集,并将所述第一个节点子集从所述存储集合中删除。
6、在一个示例性的实施例中,所述根据参考路由路径长度对所述k个节点子集进行二次划分,得到多个目标节点子集,包括:循环执行以下步骤,其中,在首次执行以下步骤时,i等于1,j等于1:步骤一:将所述k个节点子集中的第i个节点子集确定为第j个目标节点子集,并在存在第i+1个节点子集的情况下,执行步骤二;在不存在第i+1个节点子集的情况下,退出循环;步骤二:确定所述第i个节点子集中最后一个网络节点与所述源网络节点的最短路由路径长度,并在所述最短路由路径长度大于或等于所述参考路由路径长度的情况下,执行步骤三;在所述最短路由路径长度小于所述参考路由路径长度的情况下,执行步骤四,其中,在所述待划分节点集合为所述第一节点集合的情况下,所述每个节点子集中的网络节点编号从小到大进行排序,在所述待划分节点集合为所述第二节点集合的情况下,所述每个节点子集中的网络节点编号从大到小进行排序;步骤三:将i的值更新为i+1,将j的值更新为j+1,并跳转至所述步骤一;步骤四:确定待补充节点数,并跳转至步骤五,其中,所述待补充节点数为待加入至所述第j个目标节点子集的网络节点的数量;步骤五:在所述待补充节点数小于第i+1个节点子集的网络节点数的情况下,执行步骤六;在所述待补充节点数大于或等于第i+1个节点子集的网络节点数的情况下,执行步骤七;步骤六:将所述第i+1个节点子集中的前q个网络节点移动至所述第j个目标节点子集中,并将i的值更新为i+1,将j的值更新为j+1,并跳转至所述步骤一,其中,q等于所述待补充节点数;步骤七:将所述第i+1个节点子集中的所有网络节点移动至所述第j个目标节点子集中,并在存在第i+2个节点子集的情况下,重新计算待补充节点数,将i的值更新为i+1,并跳转至所述步骤五;在不存在第i+2个节点子集的情况下,退出循环。
7、在一个示例性的实施例中,所述确定待补充节点数,包括:使用以下公式计算所述待补充节点数:;其中,为待补充节点数,为所述参考路由路径长度与所述最短路由路径长度的差,为所述第i个节点子集中的目标节点的横坐标,为所述第i+1个节点子集中的目标节点的横坐标。
8、在一个示例性的实施例中,所述重新计算待补充节点数,包括:使用以下公式重新计算所述待补充节点数:;其中,,为所述第i+1个节点子集的网络节点数,为所述第i+1个节点子集中的目标节点的横坐标,为所述第i+2个节点子集中的目标节点的横坐标,为重新计算后的待补充节点数。
9、在一个示例性的实施例中,所述确定所述第i个节点子集中最后一个网络节点与所述源网络节点的最短路由路径长度,包括:在所述第i个节点子集中最后一个网络节点的坐标为,所述源网络节点的坐标为的情况下,所述第i个节点子集中最后一个网络节点与所述源网络节点的最短路由路径长度等于。
10、在一个示例性的实施例中,所述根据所述c个网络将目标节点集合划分为c个目标节点子集之后,所述方法还包括:确定所述c个目标节点子集对应的c个目标节点列表,其中,第i个目标节点列表中具有第i个目标节点子集中的网络节点的编号,i为大于等于1,小于等于c的正整数;通过所述源网络节点根据所述c个目标节点列表得到c个目标报文,其中,第i个目标报文的头部携带有第i个目标节点列表,所述第i个目标报文为所述第i个目标节点子集中的网络节点待接收的报文。
11、在一个示例性的实施例中,在所述第i个目标节点子集中的网络节点为所述第一节点集合中的网络节点的情况下,所述第i个目标节点列表中的网络节点的编号从小到大进行排序。
12、在一个示例性的实施例中,在所述第i个目标节点子集中的网络节点为所述第二节点集合中的网络节点的情况下,所述第i个目标节点列表中的网络节点的编号从大到小进行排序。
13、在一个示例性的实施例中,所述方法还包括:在所述指定网格网络中的中间网络节点接收到目标报文,通过所述中间网络节点确定所述中间网络节点是否为所述目标报文的头部的目标节点列表中的第一个网络节点编号对应的节点;在所述中间网络节点为所述目标报文的头部的目标节点列表中的第一个网络节点编号对应的节点的情况下,通过所述中间网络节点复制所述目标报文的载荷部分,并将所述目标报文的头部的目标节点列表中的第一个网络节点编号删除,并在更新后的目标节点列表不为空的情况下,根据所述目标报文的头部的目标节点列表中的第一个网络节点编号转发所述目标报文。
14、在一个示例性的实施例中,所述方法还包括:在所述指定网格网络中的中间网络节点接收到目标报文的情况下,通过所述中间网络节点确定所述中间网络节点是否为所述目标报文的头部的目标节点列表中的第一个网络节点编号对应的节点;在所述中间网络节点不为所述目标报文的头部的目标节点列表中的第一个网络节点编号对应的节点的情况下,通过所述中间网络节点,根据所述目标报文的头部的目标节点列表中的第一个网络节点编号转发所述目标报文。
15、在一个示例性的实施例中,所述根据所述目标报文的头部的目标节点列表中的第一个网络节点编号转发所述目标报文 ,包括:在所述中间网络节点的编号小于所述第一个网络节点编号的情况下,将所述指定网格网络中所有编号小于或等于所述第一个网络节点编号、且与所述中间网络节点具有直接连接关系的网络节点中编号最大的网络节点确定为待转发网络节点,并将所述目标报文转发至所述待转发网络节点;在所述中间网络节点的编号大于所述第一个网络节点编号的情况下,将所述指定网格网络中所有编号大于或等于所述第一个网络节点编号、且与所述中间网络节点具有直接连接关系的网络节点中编号最小的网络节点确定为待转发网络节点,并将所述目标报文转发至所述待转发网络节点。
16、根据本技术的另一个实施例,还提供了一种目标节点集合的划分装置,包括:第一划分模块,用于根据源网络节点的编号划分目标节点集合,得到第一节点集合和第二节点集合,其中,所述第一节点集合中的网络节点的编号大于所述源网络节点的编号,所述第二节点集合中的网络节点的编号小于所述源网络节点的编号,所述目标节点集合中具有多个目标节点,所述目标节点为所述指定网格网络中待接收所述源网络节点发送的报文的节点;第二划分模块,用于根据参考路由路径长度对所述待划分节点集合进行划分,得到多个目标节点子集,其中,所述参考路由路径长度为预设的所述源网络节点到所述目标节点的最长路由路径长度,所述待划分节点集合包括:所述第一节点集合和所述第二节点集合。
17、根据本技术的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
18、根据本技术的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
19、根据本技术的又一个实施例,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一项方法实施例中的步骤。
20、通过本技术,根据源网络节点的编号划分目标节点集合,得到第一节点集合和第二节点集合,并根据参考路由路径长度分别对第一节点集合和第二节点集合进行划分,得到多个目标节点子集,其中,所述参考路由路径长度为预设的所述源网络节点到所述目标节点的最长路由路径长度。采用上述技术方案,可以对目标节点集合进行合理的划分,解决了 对目标节点集合进行划分以后,可能会导致使用路状路由访问划分后的节点子集中的所有节点的路由路径较长的问题。
1.一种目标节点集合的划分方法,其特征在于,
2.根据权利要求1所述的方法,其特征在于,在所述指定网格网络为m*n的网格网络的情况下,
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求3所述的方法,其特征在于,
5.根据权利要求3所述的方法,其特征在于,
6.根据权利要求5所述的方法,其特征在于,
7.根据权利要求6所述的方法,其特征在于,
8.根据权利要求5所述的方法,其特征在于,
9.根据权利要求1所述的方法,其特征在于,
10.根据权利要求9所述的方法,其特征在于,
11.根据权利要求9所述的方法,其特征在于,
12.根据权利要求9所述的方法,其特征在于,
13.根据权利要求12所述的方法,其特征在于,
14.根据权利要求13所述的方法,其特征在于,
15.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,
16.一种计算机程序产品,包括计算机程序,其特征在于,