CN117240772B - 一种路由路径确定方法、装置、电子设备及存储介质 - Google Patents
一种路由路径确定方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117240772B CN117240772B CN202311481739.4A CN202311481739A CN117240772B CN 117240772 B CN117240772 B CN 117240772B CN 202311481739 A CN202311481739 A CN 202311481739A CN 117240772 B CN117240772 B CN 117240772B
- Authority
- CN
- China
- Prior art keywords
- node
- routing
- bit
- routing node
- source
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 235000008694 Humulus lupulus Nutrition 0.000 claims description 49
- 230000009191 jumping Effects 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004321 preservation Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种路由路径确定方法、装置、电子设备及存储介质。所述方法包括:对源终端节点所在的源路由节点的第一节点编号和目标终端节点所在目标路由节点的第二节点编号进行异或处理,得到异或节点编号,所述第一节点编号和所述第二节点编号均为二进制位数的编号;基于预设路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点;基于所述中间路由节点、所述源路由节点和所述目标路由节点,确定所述源终端节点与所述目标终端节点之间的路由路径。本申请可以避免数据包到达目标终端节点的顺序发生变化,导致接收端出现数据乱序错误的问题,达到了数据保序的目的。
Description
技术领域
本申请涉及网络路由技术领域,尤其涉及一种路由路径确定方法、装置、电子设备及存储介质。
背景技术
胖树网络传统的最短路径的路由算法:随机的选择一个源节点s和终端节点d最近的父亲节点F,先从s到F,再从F到d。但是对于源节点s和终端节点d存在多个父亲节点,即从源节点s到终端节点d存在路径多样性。
当某一个起始终端节点发起向同一个目标终端节点的多包数据传输时,由于拓扑结构的路径多样性,不同包数据可能会匹配不同的路由路径进行数据路由传输,由于每个二级路由节点的阻塞程度不同,所以数据经由不同的二级路由节点传送至目标终端节点的顺序无法控制,这就导致在源终端节点发起的多包数据传输,无法按照其起始对应的先后顺序依次从对应目的终端节点输出,即出现数据的乱序现象,导致数据传输出错。例如,假设输入终端节点0向输出终端节点6发送3包数据,这3包数据在输入终端节点0发起传输时的顺序为数据包1→数据包2→数据包3,由于拓扑的路由多样性。
由于互联结构中数据路由路径的多样性,各个路由节点都会有不同路径的路由请求进行仲裁,由于仲裁方法的影响会导致三包数据在路由节点存在不同程度的阻塞,导致数据包到达目标节点的顺序发生变化,导致接收端出现数据乱序错误。
发明内容
本申请实施例提供一种路由路径确定方法、装置、电子设备及存储介质,以解决现有技术中各个路由节点都会有不同路径的路由请求进行仲裁,由于仲裁方法的影响会导致三包数据在路由节点存在不同程度的阻塞,导致数据包到达目标节点的顺序发生变化,导致接收端出现数据乱序错误的问题。
为了解决上述技术问题,本申请实施例是这样实现的:
第一方面,本申请实施例提供了一种路由路径确定方法,所述方法包括:
对源终端节点所在的源路由节点的第一节点编号和目标终端节点所在目标路由节点的第二节点编号进行异或处理,得到异或节点编号,所述第一节点编号和所述第二节点编号均为二进制位数的编号;
基于预设路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点;
基于所述中间路由节点、所述源路由节点和所述目标路由节点,确定所述源终端节点与所述目标终端节点之间的路由路径。
可选地,在所述预设路由算法为先完成直接向上跳跃再开始向下路由的路由算法时,
所述基于预设路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点,包括:
获取所述异或节点编号中的有效位,及所述有效位的数值K,K为正整数;
从所述源路由节点开始,经过K次直接向上跳跃,得到第一路由节点;所述直接向上跳跃是指由当前节点直接向上跳跃到高一层编号相同的路由节点;
从所述第一路由节点中的最高层路由节点开始,以所述有效位作为起始位置,将所述第一节点编号的比特位的值进行取反,得到向下路由的第二路由节点;所述向下路由是指路由节点根据路由算法路由到低一层编号不同的路由节点;
将所述第一路由节点和所述第二路由节点作为所述中间路由节点。
可选地,所述获取所述异或节点编号中的有效位,包括:
获取所述异或节点编号中数值1所处的最高比特位的位置;
根据所述最高比特位的位置,确定所述有效位。
可选地,所述从所述源路由节点开始,经过K次直接向上跳跃,得到第一路由节点,包括:
从所述源路由节点开始,经过K次的直接向上跳跃,到达K+1层的与所述第一节点编号相同编号的路由节点;
将直接向上跳跃经过的路由节点作为所述第一路由节点;所述第一路由节点的节点编号与所述第一节点编号相同。
可选地,所述以所述有效位作为起始位置,将所述第一节点编号的比特位的值进行取反,得到向下路由的第二路由节点,包括:
从所述起始位置开始,将所述第一节点编号中对应比特位的比特值依次进行取反,得到所述最高层之后的每一层的节点编号,在所述有效位的比特值为0时,则直接向下跳跃,所述直接向下跳跃是指由当前节点直接向下跳跃到低一层编号相同的路由节点;
根据每一层的节点编号,确定向下路由的第二路由节点。
可选地,所述基于预设路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点,包括:
获取所述第一节点编号的最低比特位的值;
在所述最低比特位的值为0时,确定所述预设路由算法为先完成直接向上跳跃再开始向下路由的路由算法;
基于所述先完成直接向上跳跃再开始向下路由的路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点。
可选地,所述基于所述中间路由节点、所述源路由节点和所述目标路由节点,确定所述源终端节点与所述目标终端节点之间的路由路径,包括:
获取所述第二节点编号的最后一个比特位的比特位信息;
基于所述中间路由节点、所述源路由节点、所述目标路由节点和所述比特位信息,确定所述源终端节点与所述目标终端节点之间的路由路径。
可选地,在所述预设路由算法为先完成向上路由再直接向下跳跃的路由算法时,
所述基于预设路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点,包括:
基于所述异或节点编号中数值1所处的最高比特位的位置,确定所述异或节点编号中的有效位,及所述有效位的数值N,N为正整数;
从所述异或节点编号的有效位的最低比特位开始,将所述第一节点编号的比特位的值进行取反,得到向上路由的第三路由节点;所述向上路由是指路由节点根据路由算法路由到高一层编号不同的路由节点;
从所述第三路由节点的最高层路由节点开始,经过N次的直接向下跳跃,得到第四路由节点;所述直接向下跳跃是指由当前节点直接向下跳跃到低一层编号相同的路由节点;
将所述第三路由节点和所述第四路由节点作为所述中间路由节点。
可选地,所述从所述异或节点编号的有效位的最低比特位开始,将所述第一节点编号的比特位的值进行取反,得到向上路由的第三路由节点,包括:
从所述有效位的最低比特位开始,将所述第一节点编号中对应比特位的比特值依次进行取反,得到所述第一节点编号所在层之后的每一层的节点编号,其中,在所述有效位的比特值为0时,则直接向上跳跃,所述直接向上跳跃是指由当前节点直接向上跳跃到高一层编号相同的路由节点;
根据每一层的节点编号,确定向上路由的第三路由节点。
可选地,所述从所述第三路由节点的最高层路由节点开始,经过N次的直接向下跳跃,得到第四路由节点,包括:
从所述第三路由节点的最高层路由节点开始,经过N次的直接向下跳跃,到达所述目标终端节点;
将直接向下跳跃经过的路由节点中除所述目标终端节点外的其它路由节点作为所述第四路由节点;所述第四路由节点的节点编号与所述第二节点编号相同。
可选地,所述基于预设路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点,包括:
获取所述第一节点编号的最低比特位的值;
在所述最低比特位的值为1时,确定所述预设路由算法为先完成向上路由再直接向下跳跃的路由算法;
基于所述先完成向上路由再直接向下跳跃的路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点。
可选地,在所述对源终端节点所在的源路由节点的第一节点编号和目标终端节点所在目标路由节点的第二节点编号进行异或处理,得到异或节点编号之后,还包括:
确定所述异或节点编号所有位的值是否均为0;
响应于所述异或节点编号所有位的值均为0,确定所述源路由节点和所述目标路由节点为同一路由节点,结束路由流程。
第二方面,本申请实施例提供了一种路由路径确定装置,所述装置包括:
节点编号获取模块,用于对源终端节点所在的源路由节点的第一节点编号和目标终端节点所在目标路由节点的第二节点编号进行异或处理,得到异或节点编号,所述第一节点编号和所述第二节点编号均为二进制位数的编号;
中间路由节点确定模块,用于基于预设路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点;
路由路径确定模块,用于基于所述中间路由节点、所述源路由节点和所述目标路由节点,确定所述源终端节点与所述目标终端节点之间的路由路径。
可选地,在所述预设路由算法为先完成直接向上跳跃再开始向下路由的路由算法时,
所述中间路由节点确定模块包括:
有效位获取单元,用于获取所述异或节点编号中的有效位,及所述有效位的数值K,K为正整数;
第一节点获取单元,用于从所述源路由节点开始,经过K次直接向上跳跃,得到第一路由节点;所述直接向上跳跃是指由当前节点直接向上跳跃到高一层编号相同的路由节点;
第二节点获取单元,用于从所述第一路由节点中的最高层路由节点开始,以所述有效位作为起始位置,将所述第一节点编号的比特位的值进行取反,得到向下路由的第二路由节点;所述向下路由是指路由节点根据路由算法路由到低一层编号不同的路由节点;
第一中间节点获取单元,用于将所述第一路由节点和所述第二路由节点作为所述中间路由节点。
可选地,所述有效位获取单元包括:
位置获取子单元,用于获取所述异或节点编号中数值1所处的最高比特位的位置;
有效位确定子单元,用于根据所述最高比特位的位置,确定所述有效位。
可选地,所述第一节点获取单元包括:
路由节点获取子单元,用于从所述源路由节点开始,经过K次的直接向上跳跃,到达K+1层的与所述第一节点编号相同编号的路由节点;
第一节点获取子单元,用于将直接向上跳跃经过的路由节点作为所述第一路由节点;所述第一路由节点的节点编号与所述第一节点编号相同。
可选地,所述第二节点获取单元包括:
第一节点编号获取子单元,用于从所述起始位置开始,将所述第一节点编号中对应比特位的比特值依次进行取反,得到所述最高层之后的每一层的节点编号,在所述有效位的比特值为0时,则直接向下跳跃,所述直接向下跳跃是指由当前节点直接向下跳跃到低一层编号相同的路由节点;
第二节点确定子单元,用于根据每一层的节点编号,确定向下路由的第二路由节点。
可选地,所述中间路由节点确定模块包括:
第一比特值获取单元,用于获取所述第一节点编号的最低比特位的值;
第一路由算法确定单元,用于在所述最低比特位的值为0时,确定所述预设路由算法为先完成直接向上跳跃再开始向下路由的路由算法;
中间路由节点确定单元,用于基于所述先完成直接向上跳跃再开始向下路由的路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点。
可选地,所述路由路径确定模块包括:
比特位信息获取单元,用于获取所述第二节点编号的最后一个比特位的比特位信息;
路由路径确定子单元,用于基于所述中间路由节点、所述源路由节点、所述目标路由节点和所述比特位信息,确定所述源终端节点与所述目标终端节点之间的路由路径。
可选地,在所述预设路由算法为先完成向上路由再直接向下跳跃的路由算法时,
所述中间路由节点确定模块包括:
有效位确定单元,用于基于所述异或节点编号中数值1所处的最高比特位的位置,确定所述异或节点编号中的有效位,及所述有效位的数值N,N为正整数;
第三节点获取单元,用于从所述异或节点编号的有效位的最低比特位开始,将所述第一节点编号的比特位的值进行取反,得到向上路由的第三路由节点;所述向上路由是指路由节点根据路由算法路由到高一层编号不同的路由节点;
第四节点获取单元,用于从所述第三路由节点的最高层路由节点开始,经过N次的直接向下跳跃,得到第四路由节点;所述直接向下跳跃是指由当前节点直接向下跳跃到低一层编号相同的路由节点;
第二中间节点获取单元,用于将所述第三路由节点和所述第四路由节点作为所述中间路由节点。
可选地,所述第三节点获取单元包括:
第二节点编号获取子单元,用于从所述有效位的最低比特位开始,将所述第一节点编号中对应比特位的比特值依次进行取反,得到所述第一节点编号所在层之后的每一层的节点编号,其中,在所述有效位的比特值为0时,则直接向上跳跃,所述直接向上跳跃是指由当前节点直接向上跳跃到高一层编号相同的路由节点;
第三节点确定子单元,用于根据每一层的节点编号,确定向上路由的第三路由节点。
可选地,所述第四节点获取单元包括:
目标节点获取子单元,用于从所述第三路由节点的最高层路由节点开始,经过N次的直接向下跳跃,到达所述目标终端节点;
第四节点获取子单元,用于将直接向下跳跃经过的路由节点中除所述目标终端节点外的其它路由节点作为所述第四路由节点;所述第四路由节点的节点编号与所述第二节点编号相同。
可选地,所述中间路由节点确定模块包括:
第二比特值获取单元,用于获取所述第一节点编号的最低比特位的值;
第二路由算法确定单元,用于在所述最低比特位的值为1时,确定所述预设路由算法为先完成向上路由再直接向下跳跃的路由算法;
中间节点确定单元,用于基于所述先完成向上路由再直接向下跳跃的路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点。
可选地,所述装置还包括:
节点编号值确定模块,用于确定所述异或节点编号所有位的值是否均为0;
路由流程结束模块,用于响应于所述异或节点编号所有位的值均为0,确定所述源路由节点和所述目标路由节点为同一路由节点,结束路由流程。
第三方面,本申请实施例提供了一种电子设备,包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一项所述的路由路径确定方法。
第四方面,本申请实施例提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一项所述的路由路径确定方法。
在本申请实施例中,通过对源终端节点所在的源路由节点的第一节点编号和目标终端节点所在目标路由节点的第二节点编号进行异或处理,得到异或节点编号,第一节点编号和第二节点编号均为二进制位数的编号。基于预设路由算法和异或节点编号中的有效比特位,确定源路由节点与目标路由节点之间的中间路由节点。基于中间路由节点、源路由节点和目标路由节点,确定源终端节点与目标终端节点之间的路由路径。本申请实施例通过结合异或节点编号中的有效比特位和预设路由算法确定源路由节点与目标终端节点之间唯一的中间路由节点,以由源路由节点与目标终端节点按照此固定路径进行传输,从而可以避免数据包到达目标终端节点的顺序发生变化,导致接收端出现数据乱序错误的问题,达到了数据保序的目的。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
图1为本申请实施例提供的一种路由路径确定方法的步骤流程图;
图2为本申请实施例提供的一种中间路由节点获取方法的步骤流程图;
图3为本申请实施例提供的一种有效比特位确定方法的步骤流程图;
图4为本申请实施例提供的一种第一路由节点获取方法的步骤流程图;
图5为本申请实施例提供的一种第二路由节点确定方法的步骤流程图;
图6为本申请实施例提供的一种中间路由节点确定方法的步骤流程图;
图7为本申请实施例提供的一种路由路径确定方法的步骤流程图;
图8为本申请实施例提供的另一种中间路由节点获取方法的步骤流程图;
图9为本申请实施例提供的一种第三路由节点确定方法的步骤流程图;
图10为本申请实施例提供的一种第四路由节点获取方法的步骤流程图;
图11为本申请实施例提供的另一种中间路由节点确定方法的步骤流程图;
图12为本申请实施例提供的一种路由流程结束方法的步骤流程图;
图13为本申请实施例提供的一种路由过程的示意图;
图14为本申请实施例提供的另一种路由过程的示意图;
图15为本申请实施例提供的一种路由路径的示意图;
图16为本申请实施例提供的另一种路由路径的示意图;
图17为本申请实施例提供的一种路由算法选择方式的示意图;
图18为本申请实施例提供的一种路由路径确定装置的结构示意图;
图19为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参照图1,示出了本申请实施例提供的一种路由路径确定方法的步骤流程图,如图1所示,该路由路径确定方法可以包括:步骤101、步骤102和步骤103。
步骤101:对源终端节点所在的源路由节点的第一节点编号和目标终端节点所在目标路由节点的第二节点编号进行异或处理,得到异或节点编号,所述第一节点编号和所述第二节点编号均为二进制位数的编号。
本申请实施例可以应用于结合预设路由算法与源路由节点和目标终端节点的异或节点编号的有效比特位,筛选出源路由节点和目标终端节点的唯一路由路径的场景中。
本实施例可以应用于对胖树网络的路由路径进行选择的场景中。
第一节点编号是指源终端节点所在的源路由节点的节点编号。第二节点编号即为目标终端节点所在目标路由节点的节点编号。
在具体实现中,对于不用的路由节点可以先进行编号,如001、002、110、010等,可以理解地,在胖树网络结构中,所有路由节点的节点编号的位数是相同的,例如,所有路由节点的节点编号的位数为3位、或者5位等等。对于路由节点编号的编号位数可以根据业务需求而定,本实施例对此不加以限制。
在本示例中,第一节点编号和第二节点编号均为二进制位数的编号,即节点编号仅包含0和1两个值。
在对源终端节点和目标终端节点进行唯一路由路径的选择时,可以获取源终端节点所在源路由节点的第一节点编号,以及目标终端节点所在目标路由节点的第二节点编号。
然后,可以对第一节点编号和第二节点编号进行异或处理,从而可以得到异或节点编号。例如,源终端节点所在的路由节点S的节点编号为010,目标终端节点所在的路由节点D的节点编号为001,将010和001进行异或可以得到011,此时,可以将异或结果011作为异或节点编号等。
可以理解地,上述示例仅是为了更好地理解本申请实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
在对源终端节点所在的源路由节点的第一节点编号和目标终端节点所在目标路由节点的第二节点编号进行异或处理,得到异或节点编号之后,执行步骤102。
步骤102:基于预设路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点。
在异或节点编号所有位的值均为0时,则表示源路由节点和目标路由节点为同一路由节点,则结束路由流程。对于该实现过程可以结合图12进行如下详细描述。
参照图12,示出了本申请实施例提供的一种路由流程结束方法的步骤流程图。如图12所示,该路由流程结束方法可以包括:步骤1201和步骤1202。
步骤1201:确定所述异或节点编号所有位的值是否均为0。
在本申请实施例中,在获取到异或节点编号之后,可以判断异或节点编号中所有位的值是否均为0。
步骤1202:响应于所述异或节点编号所有位的值均为0,确定所述源路由节点和所述目标路由节点为同一路由节点,结束路由流程。
若异或节点编号中所有位的值均为0,则可以响应于异或节点编号所有位的值均为0,确定源路由节点和目标路由节点为同一路由节点,结束路由流程。例如,在得到异或节点编号I之后,若I中有效位的每个bit:如果都是0,则证明源终端节点和目标终端节点在同一个路由节点,直接在路由节点内部进行路由即可,路由结束。
本申请实施例通过对异或节点编号所有位是否为0进行判断,若全为0,则确定源路由节点和目标路由节点为同一路由节点,从而直接在路由节点内部进行路由即可,并不会存在数据乱序的问题。也无需进行后续的路由节点选择过程。
中间路由节点是指从胖树网络中筛选的源路由节点与目标终端节点之间的路由节点,即从源路由节点、中间路由节点到目标终端节点共同组成了源终端节点与目标终端节点之间的路由路径。
在对源终端节点所在的源路由节点的第一节点编号和目标终端节点所在目标路由节点的第二节点编号进行异或处理,得到异或节点编号之后,则可以基于预设路由算法和所述异或节点编号中的有效比特位,确定源路由节点与目标路由节点之间的中间路由节点。
在本示例中,预设路由算法可以为先完成直接向上跳跃再开始向下路由的路由算法时,对于确定中间路由节点的实现过程可以结合图2进行如下详细描述。
参照图2,示出了本申请实施例提供的一种中间路由节点获取方法的步骤流程图。如图2所示,该中间路由节点获取方法可以包括:步骤201、步骤202、步骤203和步骤204。
步骤201:获取所述异或节点编号中的有效位,及所述有效位的数值K,K为正整数。
在本申请实施例中,预设路由算法可以为先完成直接向上跳跃再开始向下路由的路由算法。
在本实施例中,可以在源路由节点的节点编号的最低比特位的值为0时,选择该先完成直接向上跳跃再开始向下路由的路由算法。对于该实现过程可以结合图6进行如下详细描述。
参照图6,示出了本申请实施例提供的一种中间路由节点确定方法的步骤流程图。如图6所示,该中间路由节点确定方法可以包括:步骤601、步骤602和步骤603。
步骤601:获取所述第一节点编号的最低比特位的值。
在本申请实施例中,在进行预设路由算法的选择时,可以获取第一节点编号的最低比特位的值,即源路由节点的节点编号的最低比特位的值。
步骤602:在所述最低比特位的值为0时,确定所述预设路由算法为先完成直接向上跳跃再开始向下路由的路由算法。
在获取到第一节点编号的最低比特位的值之后,可以判断该值是否为0,若为0,则可以确定预设路由算法为先完成直接向上跳跃再开始向下路由的路由算法。
步骤603:基于所述先完成直接向上跳跃再开始向下路由的路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点。
最后,可以基于先完成直接向上跳跃再开始向下路由的路由算法和异或节点编号中的有效比特位,确定出源路由节点与目标路由节点之间的中间路由节点。
其中,直接向上跳跃是指由当前节点直接向上跳跃到高一层编号相同的路由节点。
向下路由是指路由节点根据路由算法路由到低一层编号不同的路由节点。
在获取到异或节点编号之后,则可以获取异或节点编号中的有效位,及有效位的数值K,K为正整数。
在具体实现中,可以获取异或节点编号中数值1所处的最高比特位的位置,并将该最高比特位的位置作为有效位。对于该实现过程可以结合图3进行如下详细描述。
参照图3,示出了本申请实施例提供的一种有效位确定方法的步骤流程图。如图3所示,该有效位确定方法可以包括:步骤301和步骤302。
步骤301:获取所述异或节点编号中数值1所处的最高比特位的位置。
在本实施例中,在得到异或节点编号之后,则可以获取异或节点编号中数值1所处的最高比特位的位置。
步骤302:根据所述最高比特位的位置,确定所述有效位。
进而,可以根据异或节点编号中数值1所处的最高比特位的位置确定异或节点编号的有效位。例如,源终端节点所在的路由节点S的节点编号为110,目标终端节点所在的路由节点D的节点编号为011,异或节点编号为101,则1所处最高位为第三位,该第三位即为有效位,有效位的数值即为3。或者,源终端节点所在的路由节点S的节点编号为010,目标终端节点所在的路由节点D的节点编号为001,异或节点编号为011,则1所处最高位为第二位,该第二位即为有效位,有效位的数值即为2等。
可以理解地,上述示例仅是为了更好地理解本申请实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
本申请实施例通过按照异或节点编号中数值1所处的最为比特位确定有效位,从而可以便于后续进行中间路由节点的选择。
在获取到异或节点编号中的有效位,及有效位的数值K之后,执行步骤202。
步骤202:从所述源路由节点开始,经过K次直接向上跳跃,得到第一路由节点;所述直接向上跳跃是指由当前节点直接向上跳跃到高一层编号相同的路由节点。
在获取到异或节点编号中的有效位,及有效位的数值K之后,则表示从第一层编号为源路由节点,经过K次向上跳跃,到达第K+1层编号为与源路由节点的节点编号相同的路由节点,即第一路由节点。
对于获取第一路由节点的实现过程可以结合图4进行如下详细描述。
参照图4,示出了本申请实施例提供的一种第一路由节点获取方法的步骤流程图。如图4所示,该第一路由节点获取方法可以包括:步骤401和步骤402。
步骤401:从所述源路由节点开始,经过K次的直接向上跳跃,到达K+1层的与所述第一节点编号相同编号的路由节点。
在本申请实施例中,在得到有效位的数值K之后,则可以从源路由节点开始,经过K次的直接向上跳跃,到达K+1层的与第一节点编号相同编号的路由节点。
步骤402:将直接向上跳跃经过的路由节点作为所述第一路由节点;所述第一路由节点的节点编号与所述第一节点编号相同。
进而,可以将直接向上跳跃经过的路由节点作为第一路由节点,第一路由节点的节点编号与第一节点编号均相同。例如,源终端节点所在的路由节点S的节点编号为010,目标终端节点所在的路由节点D的节点编号为001。异或节点编号为_11,有效位为 2位,则需要经过2次向上跳跃,从第一层编号为010的路由节点(即源路由节点),经过2次向上跳跃,到达第3层编号为010的路由节点2等。此时,可以将第2层编号为010的路由节点和第3层编号为010的路由节点共同作为第一路由节点等。
可以理解地,上述示例仅是为了更好地理解本申请实施例提供的技术方案而列举的示例,不作为对本实施例的唯一限制。
本申请实施例通过直接向上跳跃的方式,能够直接识别出路由路径中与源路由节点的节点编号相同的中间路由节点,便于进行中间路由节点的选择。
在从源路由节点开始,经过K次直接向上跳跃,得到第一路由节点之后,执行步骤203。
步骤203:从所述第一路由节点中的最高层路由节点开始,以所述有效位作为起始位置,将所述第一节点编号的比特位的值进行取反,得到向下路由的第二路由节点;所述向下路由是指路由节点根据路由算法路由到低一层编号不同的路由节点。
在从源路由节点开始,经过K次直接向上跳跃,得到第一路由节点之后,则可以从第一路由节点中的最高层路由节点开始,以有效位作为起始位置,将第一节点编号的比特位的值进行取反,得到向下路由的第二路由节点。具体地,可以按照第一节点编号的比特位的值依次进行取反,并确定每一层的节点编号。对于该实现过程可以结合图5进行如下详细描述。
参照图5,示出了本申请实施例提供的一种第二路由节点确定方法的步骤流程图。如图5所示,该第二路由节点确定方法可以包括:步骤501和步骤502。
步骤501:从所述起始位置开始,将所述第一节点编号中对应比特位的比特值依次进行取反,得到所述最高层之后的每一层的节点编号,在所述有效位的比特值为0时,则直接向下跳跃,所述直接向下跳跃是指由当前节点直接向下跳跃到低一层编号相同的路由节点。
在本实施例中,在从源路由节点开始,经过K次直接向上跳跃,得到第一路由节点之后,则可以从以有效位对应的起始位置开始,将第一节点编号中对应比特位的比特值依次进行取反,得到最高层之后的每一层的节点编号,其中,在有效位的比特值为0时,则直接向下跳跃,直接向下跳跃是指由当前节点直接向下跳跃到低一层编号相同的路由节点。
步骤502:根据每一层的节点编号,确定向下路由的第二路由节点。
在将第一节点编号的比特位的值依次进行取反,得到最高层之后的每一层的节点编号之后,则可以根据每一层的节点编号,确定向下路由的第二路由节点。例如,承接上述步骤402中的示例,在到达第3层编号为010的路由节点2之后的,开始向下路由,I为_11,I中从低位开始的2位(11)执行如下操作:从高位开始,“1”的位置将S对应的bit进行取反,得到向下路由的路由节点,“0”的位置直接向下跳跃即可。如第三层路由节点010(I:_11)->第二层路由节点000(I1:__1)->第一层路由节点001(I2:___)。在第三层路由节点为010,从第二位开始取反,第一次变为000,然后,对第三位进行取反,则变为001,即向下路由时,第二层节点编号为000,第一层节点编号为001等。
可以理解地,上述示例仅是为了更好地理解本申请实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
在从第一路由节点中的最高层路由节点开始,以有效位作为起始位置,将第一节点编号的比特位的值进行取反,得到向下路由的第二路由节点之后,执行步骤204。
步骤204:将所述第一路由节点和所述第二路由节点作为所述中间路由节点。
在通过上述步骤得到第一路由节点和第二路由节点之后,则可以将第一路由节点和第二路由节点共同作为中间路由节点。
对于采用先完成直接向上跳跃再开始向下路由的路由算法选择路由节点的过程,可以结合图13进行如下详细描述。
如图13所示,源路由节点为S2,目标路由节点为D1,有效位的数值为2,则可以从S2开始直接向上跳跃2次,即从第一层的S2,到第二层的节点2,然后到第三层的节点2,节点S2、第二层的节点2和第三层的节点2的节点编号是相同的。然后,可以从2开始向下路由,第三层路由节点010(I:_11)->第二层路由节点000(I1:__1)->第一层路由节点001,至此即可以确定出源终端节点与目标终端节点之间的中间路由节点等。
可以理解地,上述示例仅是为了更好地理解本申请实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
本申请实施例通过采用先完成直接向上跳跃再开始向下路由的路由算法,从而可以选择出源终端节点和目标终端节点之间唯一的路由路径,数据从传输端到接收端仅按照选择的固定路径进行传输,可以达到数据保序的目的。
在本示例中,预设路由算法可以为先完成向上路由再直接向下跳跃的路由算法时,对于确定中间路由节点的实现过程可以结合图8进行如下详细描述。
参照图8,示出了本申请实施例提供的另一种中间路由节点获取方法的步骤流程图。如图8所示,该中间路由节点获取方法可以包括:步骤801、步骤802、步骤803和步骤804。
步骤801:基于所述异或节点编号中数值1所处的最高比特位的位置,确定所述异或节点编号中的有效位,及所述有效位的数值N,N为正整数。
在本实施例中,预设路由算法可以为先完成向上路由再直接向下跳跃的路由算法。
在本实施例中,可以在源路由节点的节点编号的最低比特位的值为0时,选择该先完成向上路由再直接向下跳跃的路由算法。对于该实现过程可以结合图11进行如下详细描述。
参照图11,示出了本申请实施例提供的另一种中间路由节点确定方法的步骤流程图。如图11所示,该中间路由节点确定方法可以包括:步骤1101、步骤1102和步骤1103。
步骤1101:获取所述第一节点编号的最低比特位的值。
在本申请实施例中,在进行预设路由算法的选择时,可以获取第一节点编号的最低比特位的值。
步骤1102:在所述最低比特位的值为1时,确定所述预设路由算法为先完成向上路由再直接向下跳跃的路由算法。
在获取到第一节点编号的最低比特位的值之后,可以判断该值是否为0。
若为0,则可以确定预设路由算法为先完成向上路由再直接向下跳跃的路由算法。
步骤1103:基于所述先完成向上路由再直接向下跳跃的路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点。
进而,可以基于先完成向上路由再直接向下跳跃的路由算法和异或节点编号中的有效比特位,确定出源路由节点与目标路由节点之间的中间路由节点。
其中,向上路由是指路由节点根据路由算法路由到高一层编号不同的路由节点。
直接向下跳跃是指由当前节点直接向下跳跃到低一层编号相同的路由节点。
在获取到异或节点编号之后,则可以基于异或节点编号中数值1所处的最高比特位的位置,确定异或节点编号中的有效位,及有效位的数值N。例如,源终端节点所在的路由节点为S的节点编号为110,目标终端节点所在的路由节点D的节点编号为011,异或节点编号为101,数值1的最高比特位即为第三位,则有效位为第三位,有效位的数值N=3等。
在基于异或节点编号中数值1所处的最高比特位的位置,确定出异或节点编号中的有效位及有效位的数值N之后,执行步骤802。
步骤802:从所述异或节点编号的有效位的最低比特位开始,将所述第一节点编号的比特位的值进行取反,得到向上路由的第三路由节点。
在基于异或节点编号中数值1所处的最高比特位的位置,确定出异或节点编号中的有效位及有效位的数值N之后,则可以从异或节点编号的有效位的最低比特位开始,将第一节点编号的比特位的值进行取反,得到向上路由的第三路由节点。即采用先向上路由的方式得到第三路由节点。具体地,可以将第一节点编号的比特位的值依次取反,从而可以得到第一节点编号所在层之后的每一层的节点编号,以此确定第三路由节点。对于该实现过程可以结合图9进行如下详细描述。
参照图9,示出了本申请实施例提供的一种第三路由节点确定方法的步骤流程图。如图9所示,该第三路由节点确定方法可以包括:步骤901和步骤902。
步骤901:从所述有效位的最低比特位开始,将所述第一节点编号中对应比特位的比特值依次进行取反,得到所述第一节点编号所在层之后的每一层的节点编号,其中,在所述有效位的比特值为0时,则直接向上跳跃,所述直接向上跳跃是指由当前节点直接向上跳跃到高一层编号相同的路由节点。
在本实施例中,可以从异或节点编号的有效位的最低比特位开始,将第一节点编号中对应比特位的比特值依次进行取反,得到第一节点编号所在层之后的每一层的节点编号。其中,在有效位的比特值为0时,则直接向上跳跃,直接向上跳跃是指由当前节点直接向上跳跃到高一层编号相同的路由节点。
步骤902:根据每一层的节点编号,确定向上路由的第三路由节点。
进而,可以根据每一层的节点编号,确定向上路由的第三路由节点。例如,源终端节点所在的路由节点为S的节点编号为110,目标终端节点所在的路由节点D的节点编号为011,异或节点编号为101,数值1的最高比特位即为第三位,则有效位为第三位,有效位的数值N=3。首先,可以向上路由,I中有效位按照从低位开始,“1”的位置将S对应的bit进行取反,得到向上路由的路由节点,“0”的位置直接向上跳跃即可;直到I中的“1”全部变成“0”。第一层路由节点110(I:101)->第二层路由节点111(I1:10_)->第三层路由节点111(I2:1__)->第四层路由节点011(I2:____),即第一层路由节点的节点编号为110(源路由节点的节点编号),第二层路由节点的节点编号为111,第三层路由节点的节点编号为111,第四层路由节点的节点编号为110,此时,可以将第二层路由节点的节点编号为111、第三层路由节点的节点编号为111和第四层路由节点的节点编号为110对应的节点作为第三路由节点等。
可以理解地的,上述示例仅是为了更好地理解本申请实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
本申请实施例通过按位取反的方式,能够识别出从源路由节点到最高层的路由节点的节点编号,以识别出唯一的第三路由节点。
在根据每一层的节点编号确定向上路由的第三路由节点之后,执行步骤803。
步骤803:从所述第三路由节点的最高层路由节点开始,经过N次的直接向下跳跃,得到第四路由节点。
在根据每一层的节点编号确定向上路由的第三路由节点之后,则可以从第三路由节点的最高层路由节点开始,经过N次的直接向下跳跃,得到第四路由节点。对于该实现过程可以结合图10进行如下详细描述。
参照图10,示出了本申请实施例提供的一种第四路由节点获取方法的步骤流程图。如图10所示,该第四路由节点获取方法可以包括:步骤1001和步骤1002。
步骤1001:从所述第三路由节点的最高层路由节点开始,经过N次的直接向下跳跃,到达所述目标终端节点。
在本实施例中,在根据每一层的节点编号确定向上路由的第三路由节点之后,则可以从第三路由节点的最高层路由节点开始,经过N次的直接向下跳跃,到达目标终端节点。
步骤1002:将直接向下跳跃经过的路由节点中除所述目标终端节点外的其它路由节点作为所述第四路由节点;所述第四路由节点的节点编号与所述第二节点编号相同。
进而,可以将直接向下跳跃经过的路由节点中除目标终端节点外的其它路由节点作为第四路由节点,其中,第四路由节点的节点编号与第二节点编号相同。
步骤804:将所述第三路由节点和所述第四路由节点作为所述中间路由节点。
在得到第三路由节点和第四路由节点之后,则可以将第三路由节点和第四路由节点作为中间路由节点。
对于采用先完成向上路由再直接向下跳跃的路由算法选择路由节点的过程,可以结合图14进行如下详细描述。
如图14所示,源路由节点为S6,目标路由节点为D3,S6节点编号为110,目标终端节点所在的路由节点D3节点编号为011。异或节点编号I为101,I的有效位为3位,路由节点的确定方法。按照约定,先完成向上路由,再开始直接向下跳跃。向上路由:I中有效位按照从低位开始,“1”的位置将S对应的bit进行取反,得到向上路由的路由节点,“0”的位置直接向上跳跃即可;直到I中的“1”全部变成“0”。第一层路由节点110(I:101)->第二层路由节点111(I1:10_)->第三层路由节点111(I2:1__)->第四层路由节点011(I2:____)。即110从最低位进行取反,得到111,即第二层路由节点为111。然后,处于“0”的位置则直接向上跳跃(即I的第二位为0),即第三层路由节点为111,然后,对第三位进行取反,则可以得到第四层路由节点为011。然后,直接开始直接向下跳跃:直接到达第一层编号为D的路由节点。
本申请实施例通过采用先向上路由再开始直接向下跳跃的方式进行路由节点的选择,可以保证源终端节点和目标终端节点之间的路由节点的唯一性。
在基于预设路由算法和异或节点编号中的有效比特位,确定源路由节点与目标路由节点之间的中间路由节点之后,执行步骤103。
步骤103:基于所述中间路由节点、所述源路由节点和所述目标路由节点,确定所述源终端节点与所述目标终端节点之间的路由路径。
在基于预设路由算法和异或节点编号中的有效比特位,确定源路由节点与目标路由节点之间的中间路由节点之后,则可以基于中间路由节点、源路由节点和目标路由节点,确定源终端节点与目标终端节点之间的路由路径。在具体实现中,在每个路由节点下可以挂两个终端,路由节点编号的最后一个比特位可以用于指示终端的标识,对于最终终端节点的确认过程可以结合图7进行如下详细描述。
参照图7,示出了本申请实施例提供的一种路由路径确定方法的步骤流程图。如图7所示,该路由路径确定方法可以包括:步骤701和步骤702。
步骤701:获取所述第二节点编号的最后一个比特位的比特位信息。
在本申请实施例中,在得到中间路由节点之后,可以获取第二节点编号的最后一个比特位的比特位信息,该比特位信息可以用于指示终端的身份。
步骤702:基于所述中间路由节点、所述源路由节点、所述目标路由节点和所述比特位信息,确定所述源终端节点与所述目标终端节点之间的路由路径。
进而,可以根据中间路由节点、源路由节点、目标路由节点和比特位信息,确定出源终端节点与所述目标终端节点之间的路由路径。
本申请实施例通过结合第二节点编号的最后一个比特位的比特位信息,能够准确识别出目标终端节点,避免输出传输错误。
源终端节点所在的路由节点为S,目标终端节点所在的路由节点为D,不管使用算法1(先完成直接向上跳跃再开始向下路由的路由算法)和算法2(即先完成向上路由再直接向下跳跃的路由算法),都只有唯一的路由路径。
对于算法1:需要先完成直接向上跳跃,再开始向下路由路由算法。如果对于所有的路由请求都使用算法1,图15列出了对于第一级路由节点0和路由节点1直接所有可能发生的路由请求使用算法1时的路由路径,看出对于编号相同、层级不同的路由节点之间的链路,向上链路的使用几率大于向下链路的使用几率。
对于算法2:需要先完成向上路由,再开始直接向下跳跃的路由算法。如果对于所有的路由请求都使用算法2,图16列出了对于第一级路由节点0和路由节点1直接所有可能发生的路由请求使用算法2时的路由路径,看出对于编号相同、层级不同的路由节点之间的链路,向下链路的使用几率大于向上链路的使用几率。
为了平衡算法1和算法2的优缺点,我们将算法1和算法2进行混合使用,我们用二进制位数表示源终端节点和目标终端节点,已知对于第一层的每个路由节点上都挂了两个终端节点,最终使用的路由算法:判断源终端节点的节点编号的最低位,如果为0,则使用算法1进行路由。如果为1,则使用算法2进行路由;这样可以使两个路由节点之间的所有链路、所有方向都能得到均匀的使用,如图17所示。
本申请实施例提供的路由路径确定方法,通过对源终端节点所在的源路由节点的第一节点编号和目标终端节点所在目标路由节点的第二节点编号进行异或处理,得到异或节点编号,第一节点编号和第二节点编号均为二进制位数的编号。基于预设路由算法和异或节点编号中的有效比特位,确定源路由节点与目标路由节点之间的中间路由节点。基于中间路由节点、源路由节点和目标路由节点,确定源终端节点与目标终端节点之间的路由路径。本申请实施例通过结合异或节点编号中的有效比特位和预设路由算法确定源路由节点与目标终端节点之间唯一的中间路由节点,以由源路由节点与目标终端节点按照此固定路径进行传输,从而可以避免数据包到达目标终端节点的顺序发生变化,导致接收端出现数据乱序错误的问题,达到了数据保序的目的。
参照图18,示出了本申请实施例提供的一种路由路径确定装置的结构示意图。如图18所示,该路由路径确定装置1800可以包括以下模块:
节点编号获取模块1810,用于对源终端节点所在的源路由节点的第一节点编号和目标终端节点所在目标路由节点的第二节点编号进行异或处理,得到异或节点编号,所述第一节点编号和所述第二节点编号均为二进制位数的编号;
中间路由节点确定模块1820,用于基于预设路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点;
路由路径确定模块1830,用于基于所述中间路由节点、所述源路由节点和所述目标路由节点,确定所述源终端节点与所述目标终端节点之间的路由路径。
可选地,在所述预设路由算法为先完成直接向上跳跃再开始向下路由的路由算法时,
所述中间路由节点确定模块包括:
有效位获取单元,用于获取所述异或节点编号中的有效位,及所述有效位的数值K,K为正整数;
第一节点获取单元,用于从所述源路由节点开始,经过K次直接向上跳跃,得到第一路由节点;所述直接向上跳跃是指由当前节点直接向上跳跃到高一层编号相同的路由节点;
第二节点获取单元,用于从所述第一路由节点中的最高层路由节点开始,以所述有效位作为起始位置,将所述第一节点编号的比特位的值进行取反,得到向下路由的第二路由节点;所述向下路由是指路由节点根据路由算法路由到低一层编号不同的路由节点;
第一中间节点获取单元,用于将所述第一路由节点和所述第二路由节点作为所述中间路由节点。
可选地,所述有效位获取单元包括:
位置获取子单元,用于获取所述异或节点编号中数值1所处的最高比特位的位置;
有效位确定子单元,用于根据所述最高比特位的位置,确定所述有效位。
可选地,所述第一节点获取单元包括:
路由节点获取子单元,用于从所述源路由节点开始,经过K次的直接向上跳跃,到达K+1层的与所述第一节点编号相同编号的路由节点;
第一节点获取子单元,用于将直接向上跳跃经过的路由节点作为所述第一路由节点;所述第一路由节点的节点编号与所述第一节点编号相同。
可选地,所述第二节点获取单元包括:
第一节点编号获取子单元,用于从所述起始位置开始,将所述第一节点编号中对应比特位的比特值依次进行取反,得到所述最高层之后的每一层的节点编号,在所述有效位的比特值为0时,则直接向下跳跃,所述直接向下跳跃是指由当前节点直接向下跳跃到低一层编号相同的路由节点;
第二节点确定子单元,用于根据每一层的节点编号,确定向下路由的第二路由节点。
可选地,所述中间路由节点确定模块包括:
第一比特值获取单元,用于获取所述第一节点编号的最低比特位的值;
第一路由算法确定单元,用于在所述最低比特位的值为0时,确定所述预设路由算法为先完成直接向上跳跃再开始向下路由的路由算法;
中间路由节点确定单元,用于基于所述先完成直接向上跳跃再开始向下路由的路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点。
可选地,所述路由路径确定模块包括:
比特位信息获取单元,用于获取所述第二节点编号的最后一个比特位的比特位信息;
路由路径确定子单元,用于基于所述中间路由节点、所述源路由节点、所述目标路由节点和所述比特位信息,确定所述源终端节点与所述目标终端节点之间的路由路径。
可选地,在所述预设路由算法为先完成向上路由再直接向下跳跃的路由算法时,
所述中间路由节点确定模块包括:
有效位确定单元,用于基于所述异或节点编号中数值1所处的最高比特位的位置,确定所述异或节点编号中的有效位,及所述有效位的数值N,N为正整数;
第三节点获取单元,用于从所述异或节点编号的有效位的最低比特位开始,将所述第一节点编号的比特位的值进行取反,得到向上路由的第三路由节点;所述向上路由是指路由节点根据路由算法路由到高一层编号不同的路由节点;
第四节点获取单元,用于从所述第三路由节点的最高层路由节点开始,经过N次的直接向下跳跃,得到第四路由节点;所述直接向下跳跃是指由当前节点直接向下跳跃到低一层编号相同的路由节点;
第二中间节点获取单元,用于将所述第三路由节点和所述第四路由节点作为所述中间路由节点。
可选地,所述第三节点获取单元包括:
第二节点编号获取子单元,用于从所述有效位的最低比特位开始,将所述第一节点编号中对应比特位的比特值依次进行取反,得到所述第一节点编号所在层之后的每一层的节点编号,其中,在所述有效位的比特值为0时,则直接向上跳跃,所述直接向上跳跃是指由当前节点直接向上跳跃到高一层编号相同的路由节点;
第三节点确定子单元,用于根据每一层的节点编号,确定向上路由的第三路由节点。
可选地,所述第四节点获取单元包括:
目标节点获取子单元,用于从所述第三路由节点的最高层路由节点开始,经过N次的直接向下跳跃,到达所述目标终端节点;
第四节点获取子单元,用于将直接向下跳跃经过的路由节点中除所述目标终端节点外的其它路由节点作为所述第四路由节点;所述第四路由节点的节点编号与所述第二节点编号相同。
可选地,所述中间路由节点确定模块包括:
第二比特值获取单元,用于获取所述第一节点编号的最低比特位的值;
第二路由算法确定单元,用于在所述最低比特位的值为1时,确定所述预设路由算法为先完成向上路由再直接向下跳跃的路由算法;
中间节点确定单元,用于基于所述先完成向上路由再直接向下跳跃的路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点。
可选地,所述装置还包括:
节点编号值确定模块,用于确定所述异或节点编号所有位的值是否均为0;
路由流程结束模块,用于响应于所述异或节点编号所有位的值均为0,确定所述源路由节点和所述目标路由节点为同一路由节点,结束路由流程。
本申请实施例提供的路由路径确定装置,通过对源终端节点所在的源路由节点的第一节点编号和目标终端节点所在目标路由节点的第二节点编号进行异或处理,得到异或节点编号,第一节点编号和第二节点编号均为二进制位数的编号。基于预设路由算法和异或节点编号中的有效比特位,确定源路由节点与目标路由节点之间的中间路由节点。基于中间路由节点、源路由节点和目标路由节点,确定源终端节点与目标终端节点之间的路由路径。本申请实施例通过结合异或节点编号中的有效比特位和预设路由算法确定源路由节点与目标终端节点之间唯一的中间路由节点,以由源路由节点与目标终端节点按照此固定路径进行传输,从而可以避免数据包到达目标终端节点的顺序发生变化,导致接收端出现数据乱序错误的问题,达到了数据保序的目的。
另外地,本申请实施例还提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述路由路径确定方法。
图19示出了本发明实施例的一种电子设备1900的结构示意图。如图19所示,电子设备1900包括中央处理单元(CPU)1901,其可以根据存储在只读存储器(ROM)1902中的计算机程序指令或者从存储单元1908加载到随机访问存储器(RAM)1903中的计算机程序指令,来执行各种适当的动作和处理。在RAM 1903中,还可存储电子设备1900操作所需的各种程序和数据。CPU1901、ROM 1902以及RAM 1903通过总线1904彼此相连。输入/输出(I/O)接口1905也连接至总线1904。
电子设备1900中的多个部件连接至I/O接口1905,包括:输入单元1906,例如键盘、鼠标、麦克风等;输出单元1907,例如各种类型的显示器、扬声器等;存储单元1908,例如磁盘、光盘等;以及通信单元1909,例如网卡、调制解调器、无线通信收发机等。通信单元1909允许电子设备1900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,可由处理单元1901执行。例如,上述任一实施例的方法可被实现为计算机软件程序,其被有形地包含于计算机可读介质,例如存储单元1908。在一些实施例中,计算机程序的部分或者全部可以经由ROM1902和/或通信单元1909而被载入和/或安装到电子设备1900上。当计算机程序被加载到RAM1903并由CPU1901执行时,可以执行上文描述的方法中的一个或多个动作。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述路由路径确定方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (15)
1.一种路由路径确定方法,其特征在于,所述方法包括:
对源终端节点所在的源路由节点的第一节点编号和目标终端节点所在目标路由节点的第二节点编号进行异或处理,得到异或节点编号,所述第一节点编号和所述第二节点编号均为二进制位数的编号;
基于预设路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点;
基于所述中间路由节点、所述源路由节点和所述目标路由节点,确定所述源终端节点与所述目标终端节点之间的路由路径;
所述预设路由算法为先完成直接向上跳跃再开始向下路由的路由算法,或者,先完成向上路由再直接向下跳跃的路由算法,其中,
直接向上跳跃是指由当前节点直接向上跳跃到高一层编号相同的路由节点;
向下路由是指路由节点根据路由算法路由到低一层编号不同的路由节点;
向上路由是指路由节点根据路由算法路由到高一层编号不同的路由节点;
直接向下跳跃是指由当前节点直接向下跳跃到低一层编号相同的路由节点。
2.根据权利要求1所述的方法,其特征在于,在所述预设路由算法为先完成直接向上跳跃再开始向下路由的路由算法时,
所述基于预设路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点,包括:
获取所述异或节点编号中的有效位,及所述有效位的数值K,K为正整数;
从所述源路由节点开始,经过K次直接向上跳跃,得到第一路由节点;所述直接向上跳跃是指由当前节点直接向上跳跃到高一层编号相同的路由节点;
从所述第一路由节点中的最高层路由节点开始,以所述有效位作为起始位置,将所述第一节点编号的比特位的值进行取反,得到向下路由的第二路由节点;所述向下路由是指路由节点根据路由算法路由到低一层编号不同的路由节点;
将所述第一路由节点和所述第二路由节点作为所述中间路由节点。
3.根据权利要求2所述的方法,其特征在于,所述获取所述异或节点编号中的有效位,包括:
获取所述异或节点编号中数值1所处的最高比特位的位置;
根据所述最高比特位的位置,确定所述有效位。
4.根据权利要求2所述的方法,其特征在于,所述从所述源路由节点开始,经过K次直接向上跳跃,得到第一路由节点,包括:
从所述源路由节点开始,经过K次的直接向上跳跃,到达K+1层的与所述第一节点编号相同编号的路由节点;
将直接向上跳跃经过的路由节点作为所述第一路由节点;所述第一路由节点的节点编号与所述第一节点编号相同。
5.根据权利要求2所述的方法,其特征在于,所述以所述有效位作为起始位置,将所述第一节点编号的比特位的值进行取反,得到向下路由的第二路由节点,包括:
从所述起始位置开始,将所述第一节点编号中对应比特位的比特值依次进行取反,得到所述最高层之后的每一层的节点编号,在所述有效位的比特值为0时,则直接向下跳跃,所述直接向下跳跃是指由当前节点直接向下跳跃到低一层编号相同的路由节点;
根据每一层的节点编号,确定向下路由的第二路由节点。
6.根据权利要求2所述的方法,其特征在于,所述基于预设路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点,包括:
获取所述第一节点编号的最低比特位的值;
在所述最低比特位的值为0时,确定所述预设路由算法为先完成直接向上跳跃再开始向下路由的路由算法;
基于所述先完成直接向上跳跃再开始向下路由的路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点。
7.根据权利要求2所述的方法,其特征在于,所述基于所述中间路由节点、所述源路由节点和所述目标路由节点,确定所述源终端节点与所述目标终端节点之间的路由路径,包括:
获取所述第二节点编号的最后一个比特位的比特位信息;
基于所述中间路由节点、所述源路由节点、所述目标路由节点和所述比特位信息,确定所述源终端节点与所述目标终端节点之间的路由路径。
8.根据权利要求1所述的方法,其特征在于,在所述预设路由算法为先完成向上路由再直接向下跳跃的路由算法时,
所述基于预设路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点,包括:
基于所述异或节点编号中数值1所处的最高比特位的位置,确定所述异或节点编号中的有效位,及所述有效位的数值N,N为正整数;
从所述异或节点编号的有效位的最低比特位开始,将所述第一节点编号的比特位的值进行取反,得到向上路由的第三路由节点;所述向上路由是指路由节点根据路由算法路由到高一层编号不同的路由节点;
从所述第三路由节点的最高层路由节点开始,经过N次的直接向下跳跃,得到第四路由节点;所述直接向下跳跃是指由当前节点直接向下跳跃到低一层编号相同的路由节点;
将所述第三路由节点和所述第四路由节点作为所述中间路由节点。
9.根据权利要求8所述的方法,其特征在于,所述从所述异或节点编号的有效位的最低比特位开始,将所述第一节点编号的比特位的值进行取反,得到向上路由的第三路由节点,包括:
从所述有效位的最低比特位开始,将所述第一节点编号中对应比特位的比特值依次进行取反,得到所述第一节点编号所在层之后的每一层的节点编号,其中,在所述有效位的比特值为0时,则直接向上跳跃,所述直接向上跳跃是指由当前节点直接向上跳跃到高一层编号相同的路由节点;
根据每一层的节点编号,确定向上路由的第三路由节点。
10.根据权利要求8所述的方法,其特征在于,所述从所述第三路由节点的最高层路由节点开始,经过N次的直接向下跳跃,得到第四路由节点,包括:
从所述第三路由节点的最高层路由节点开始,经过N次的直接向下跳跃,到达所述目标终端节点;
将直接向下跳跃经过的路由节点中除所述目标终端节点外的其它路由节点作为所述第四路由节点;所述第四路由节点的节点编号与所述第二节点编号相同。
11.根据权利要求8所述的方法,其特征在于,所述基于预设路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点,包括:
获取所述第一节点编号的最低比特位的值;
在所述最低比特位的值为1时,确定所述预设路由算法为先完成向上路由再直接向下跳跃的路由算法;
基于所述先完成向上路由再直接向下跳跃的路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点。
12.根据权利要求1所述的方法,其特征在于,在所述对源终端节点所在的源路由节点的第一节点编号和目标终端节点所在目标路由节点的第二节点编号进行异或处理,得到异或节点编号之后,还包括:
确定所述异或节点编号所有位的值是否均为0;
响应于所述异或节点编号所有位的值均为0,确定所述源路由节点和所述目标路由节点为同一路由节点,结束路由流程。
13.一种路由路径确定装置,其特征在于,所述装置包括:
节点编号获取模块,用于对源终端节点所在的源路由节点的第一节点编号和目标终端节点所在目标路由节点的第二节点编号进行异或处理,得到异或节点编号,所述第一节点编号和所述第二节点编号均为二进制位数的编号;
中间路由节点确定模块,用于基于预设路由算法和所述异或节点编号中的有效比特位,确定所述源路由节点与所述目标路由节点之间的中间路由节点;
路由路径确定模块,用于基于所述中间路由节点、所述源路由节点和所述目标路由节点,确定所述源终端节点与所述目标终端节点之间的路由路径;
所述预设路由算法为先完成直接向上跳跃再开始向下路由的路由算法,或者,先完成向上路由再直接向下跳跃的路由算法,其中,
直接向上跳跃是指由当前节点直接向上跳跃到高一层编号相同的路由节点;
向下路由是指路由节点根据路由算法路由到低一层编号不同的路由节点;
向上路由是指路由节点根据路由算法路由到高一层编号不同的路由节点;
直接向下跳跃是指由当前节点直接向下跳跃到低一层编号相同的路由节点。
14.一种电子设备,其特征在于,包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至12中任一项所述的路由路径确定方法。
15.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行权利要求1至12任一项所述的路由路径确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311481739.4A CN117240772B (zh) | 2023-11-08 | 2023-11-08 | 一种路由路径确定方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311481739.4A CN117240772B (zh) | 2023-11-08 | 2023-11-08 | 一种路由路径确定方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117240772A CN117240772A (zh) | 2023-12-15 |
CN117240772B true CN117240772B (zh) | 2024-03-01 |
Family
ID=89086350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311481739.4A Active CN117240772B (zh) | 2023-11-08 | 2023-11-08 | 一种路由路径确定方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117240772B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008096909A1 (en) * | 2007-02-04 | 2008-08-14 | Ki-Hyung Kim | Method for routing a path setting in a wireless sensor network and apparatus for performing the same |
JP2014116854A (ja) * | 2012-12-11 | 2014-06-26 | Hideo Tatsuno | セルまたはパケットまたはセルヘッダ付きパケットを転送する網 |
CN111385208A (zh) * | 2018-12-29 | 2020-07-07 | 广州市百果园信息技术有限公司 | 路由选择方法、装置、计算机设备及存储介质 |
CN111526555A (zh) * | 2020-05-25 | 2020-08-11 | 南京邮电大学 | 基于遗传算法的多跳路由路径选择方法 |
CN115150312A (zh) * | 2021-03-31 | 2022-10-04 | 华为技术有限公司 | 一种路由方法及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7466701B2 (en) * | 2004-11-12 | 2008-12-16 | Stmicroelectronics S.R.L. | Routing procedure and system, corresponding network, such as a network on chip (NOC), and computer program product therefor |
-
2023
- 2023-11-08 CN CN202311481739.4A patent/CN117240772B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008096909A1 (en) * | 2007-02-04 | 2008-08-14 | Ki-Hyung Kim | Method for routing a path setting in a wireless sensor network and apparatus for performing the same |
JP2014116854A (ja) * | 2012-12-11 | 2014-06-26 | Hideo Tatsuno | セルまたはパケットまたはセルヘッダ付きパケットを転送する網 |
CN111385208A (zh) * | 2018-12-29 | 2020-07-07 | 广州市百果园信息技术有限公司 | 路由选择方法、装置、计算机设备及存储介质 |
CN111526555A (zh) * | 2020-05-25 | 2020-08-11 | 南京邮电大学 | 基于遗传算法的多跳路由路径选择方法 |
CN115150312A (zh) * | 2021-03-31 | 2022-10-04 | 华为技术有限公司 | 一种路由方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117240772A (zh) | 2023-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113438172B (zh) | 基于多级节点网络的数据传输方法和装置 | |
CN113259394B (zh) | 基于路由计算的跨域用户认证方法、***、设备 | |
JP6509332B2 (ja) | ユーザーペアリング処理方法、装置及び基地局 | |
CN112202753A (zh) | 基于云平台和区块链的数据流检测方法及*** | |
CN107682270B (zh) | 一种网络拓扑发现方法及装置 | |
CN107508712B (zh) | 一种网络拓扑发现方法及装置 | |
KR20190073408A (ko) | 업링크 신호 전송 방법, 단말 기기 및 네트워크측 기기 | |
CN117240772B (zh) | 一种路由路径确定方法、装置、电子设备及存储介质 | |
CN105917701B (zh) | 路由信息的方法、频谱控制器和无线电资源管理器 | |
CN114706778A (zh) | 云服务api的模糊测试方法和装置 | |
CN107278364B (zh) | 节点认证方法及节点认证*** | |
US10250477B2 (en) | Method and controller for announcing bandwidth of cluster system | |
US20100131635A1 (en) | Age biased distributed collision resolution without clocks | |
CN117354230B (zh) | 双向拓扑网络的路由路径确定方法、装置、设备及介质 | |
KR20070115893A (ko) | 경로에 따른 라우팅 메트릭을 통해 반복적으로 라우팅하기위한 방법 | |
KR20220125738A (ko) | 신호 처리 방법, 장치, 제1 통신 노드, 제2 통신 노드 및 저장 매체 | |
US20170325285A1 (en) | Data transmission method, device, and system | |
CN113825175B (zh) | 一种卫星数据的传输方法、装置、设备及存储介质 | |
CN114070780B (zh) | 一种基于喷泉编码的多路径传输方法及*** | |
US10033625B2 (en) | Loop avoidance in repeater networks | |
CN114448620B (zh) | 多协议量子密钥分发网络的业务路径选择方法及相关设备 | |
KR102070936B1 (ko) | 슬롯프레임 파티셔닝 기반 셀 스케쥴링 방법, 장치 및 프로그램 | |
US10193648B2 (en) | Mitigating packet interference | |
CN116346322A (zh) | 基于量子密钥分发网络的攻击检测缓解方法及相关设备 | |
KR20230097795A (ko) | D2D(Device to Device) 네트워크에서 분산 기회적 스케쥴링 방법 및 장치 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |