Method for determining location information of a routing node, computer device, storage medium, program product and network total system
By dividing the flattened fat tree network into multiple network subsystems and using XOR operations and encoding analysis to determine the location information of routing nodes, the data packet transmission path is optimized, solving the problem of low transmission efficiency in the flattened fat tree network and improving network communication efficiency and resource utilization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
- Filing Date
- 2024-09-11
- Publication Date
- 2026-04-21
AI Technical Summary
The existing flat-tree network has low transmission efficiency, resulting in large network communication delays.
The network is divided into multiple network subsystems, each with the same number of routing nodes. Adjacent nodes and diagonal nodes are directly connected. The location information of the routing nodes is determined through XOR operations and encoding analysis to optimize the data packet transmission path.
It reduces data transmission across network subsystems, improves network transmission efficiency, optimizes network resource utilization and bandwidth utilization, and shortens network communication latency.
Smart Images

Figure CN119135598B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of network technology, and more specifically to a method for determining the location information of routing nodes, computer equipment, storage media, program products, and a network system. Background Technology
[0002] In the field of networking, Flattened Fat Tree Network (FBT) is a highly optimized architecture designed for data center internal networks, aiming to overcome the limitations of traditional network architectures, such as bandwidth bottlenecks, latency, and scalability issues. FBT improves network efficiency and performance by reducing network layers and optimizing network structure, making it particularly suitable for large-scale data centers and high-performance computing environments. However, current FBT networks suffer from relatively low transmission efficiency. Summary of the Invention
[0003] In view of this, the present invention provides a method, apparatus, computer equipment, storage medium, program product, and network system for determining the location information of routing nodes, so as to solve the problem of low network transmission efficiency.
[0004] In a first aspect, the present invention provides a method for determining the location information of a routing node. The method is applied to a network system comprising multiple network subsystems, each subsystem comprising multiple routing nodes, and each subsystem comprising the same number of routing nodes. Routing nodes within the same subsystem are directly connected if their location relationship is adjacent, and directly connected if their location relationship is diagonal. The method is executed by a first routing node, which is any routing node in any subsystem. The method includes:
[0005] The location information of the first routing node and the location information of the target routing node are obtained, wherein the first routing node is the current starting routing node and the target routing node is the final routing node receiving data. The location information of the first routing node includes a first code of the first routing node in its first network subsystem and a second code of the first network subsystem in the overall network system. The location information of the target routing node includes a third code of the target routing node in its second network subsystem and a fourth code of the second network subsystem in the overall network system.
[0006] Based on the second code and the fourth code, determine whether the first routing node and the target routing node belong to the same network subsystem;
[0007] When it is determined that the first routing node and the target routing node belong to the same network subsystem, an XOR operation is performed on the first code and the third code to obtain the target code.
[0008] Determine the number of target values included in the target code, wherein the number of target values is used to indicate the positional relationship between any two routing nodes belonging to the same network subsystem;
[0009] Based on the number of target values, the first code, the second code, the third code, and one or more elements of the target code, determine the location information of the next routing node corresponding to the first routing node.
[0010] The method for determining the location information of routing nodes provided by this invention has the following advantages:
[0011] In the improved network system, routing nodes are divided into multiple network subsystems for management. Within the same subsystem, the number of routing nodes is the same, and adjacent nodes are directly connected, as are diagonally opposite nodes. This increases the number of directly reachable nodes within the subsystem. Furthermore, reaching other nodes within the same subsystem does not require traversing subsystems; it only requires passing through existing nodes. In other words, determining the location of the next node only utilizes the location information of nodes within the current subsystem. This reduces data transmission across subsystems, thereby improving network transmission efficiency.
[0012] In one optional implementation, determining the location information of the next routing node corresponding to the first routing node based on the number of the target values, the first code, the second code, the third code, and one or more elements of the target code includes:
[0013] Based on the number of the target values, determine the positional relationship between the first routing node and the target routing node;
[0014] Based on the location relationship, obtain the target routing rule corresponding to the location relationship;
[0015] According to the target routing rule, one or more elements are selected from the first code, the second code, the third code, the target code, and the number of target values to determine the location information of the next routing node corresponding to the first routing node.
[0016] Specifically, this scheme can determine the positional relationship between routing nodes by the number of target values. Furthermore, based on the positional relationship between routing nodes, the corresponding routing rules can be determined, providing a basis for subsequent routing node selection and enhancing the accuracy of path selection.
[0017] In one alternative implementation, each of the network subsystems contains eight routing nodes, forming an octagonal network, wherein the first network subsystem and the second network subsystem are two adjacent network subsystems.
[0018] In one optional implementation, determining the positional relationship between the first routing node and the target routing node based on the quantity of the target value includes:
[0019] When the number of the target values is the first value, it is determined that the target routing node is adjacent to the first routing node;
[0020] Alternatively, when the number of the target values is the second value, it is determined that there is a one-route-node interval between the target route node and the first route node;
[0021] Alternatively, when the number of the target values is a third value, it is determined that there are two routing nodes between the first routing node and the target routing node;
[0022] Alternatively, when the number of target values is the fourth value, it is determined that the first routing node and the target routing node are located at two opposite corners of the octagonal network, wherein the first value to the fourth value increases sequentially.
[0023] Specifically, by accurately determining the positional relationship between nodes, this solution can optimize the transmission path of data packets, avoid resource waste, and improve the utilization rate of network resources.
[0024] In one optional implementation, determining the location information of the next routing node corresponding to the first routing node based on the number of the target values, the first code, the second code, the third code, and one or more elements of the target code includes:
[0025] When the number of the target values is determined to be the first value or the fourth value, the location information of the target routing node is determined to be the location information of the next routing node;
[0026] Alternatively, when the number of target values is the second value, the location information of the next routing node is determined based on the target code, the first code, the second code, and the third code.
[0027] Alternatively, when the number of target values is a third value, the location information of the next routing node is determined according to the first code, the second code, and the preset value, wherein the preset value is used to determine the diagonal node of any routing node;
[0028] Alternatively, when the number of target values is a third value, the location information of the next routing node is determined based on the second code, the third code, and the preset value.
[0029] Specifically, this scheme uses different strategies to determine the location information of the next routing node based on different numbers of target values, namely the first value, the second value, the third value, or the fourth value. This ensures that data packets are transmitted along the optimal path and improves the accuracy of routing.
[0030] In one optional implementation, when the number of target values is a second value, determining the location information of the next routing node based on the target code, the first code, the second code, and the third code includes:
[0031] The target code is split into a first one-hot code and a second one-hot code;
[0032] Perform an XOR operation on the first code and the first one-hot code to obtain the fifth code;
[0033] Perform an XOR operation on the third code and the first one-hot code to obtain the sixth code;
[0034] Based on the continuity of the target values included in the fifth code and the continuity of the target values included in the sixth code, select one code from the fifth code and the sixth code;
[0035] The location information of the next routing node is determined based on the selected encoding and the second encoding.
[0036] Specifically, by accurately locating the next routing node, this solution can avoid data packets being transmitted between unnecessary nodes, reducing the waste of network resources and improving bandwidth utilization and overall network performance.
[0037] In one optional implementation, when the number of target values is a third value, determining the location information of the next routing node based on the first code, the second code, and the preset value includes:
[0038] Perform an XOR operation on the preset value and the first code to obtain the seventh code;
[0039] The location information of the next routing node is determined based on the second encoding and the seventh encoding.
[0040] Specifically, this scheme combines the second and seventh codes for analysis, which can accurately determine the location information of the next routing node, ensure that data packets are transmitted along the optimal path, avoid unnecessary path jumps, and improve the efficiency of data transmission.
[0041] In one optional implementation, when the number of target values is a third value, determining the location information of the next routing node based on the second code, the third code, and the preset value includes:
[0042] Perform an XOR operation on the preset value and the third code to obtain the eighth code;
[0043] The location information of the next routing node is determined based on the second encoding and the eighth encoding.
[0044] Specifically, this scheme combines the second and eighth codes for analysis, which can accurately determine the location information of the next routing node, ensure that data packets are transmitted along the optimal path, avoid unnecessary path jumps, and improve the efficiency of data transmission.
[0045] In one optional implementation, the multiple network subsystems have the same structure, and two routing nodes in the same position in adjacent network subsystems are directly connected, wherein the first network subsystem and the second network subsystem are adjacent network subsystems;
[0046] When it is determined that the first routing node and the target routing node do not belong to the same network subsystem, the method further includes:
[0047] Based on the first code and the third code, determine whether the position of the first routing node in the first network subsystem is the same as the position of the target routing node in the second network subsystem;
[0048] When it is determined that the position of the first routing node in the first network subsystem is the same as the position of the target routing node in the second network subsystem, the position information of the target routing node is determined as the position information of the next routing node.
[0049] Specifically, when it is determined that the first routing node and the target routing node do not belong to the same network subsystem, the subsequent routing nodes are determined by comparing the first code and the third code, thereby avoiding unnecessary network transmission processes and reducing the waste of network resources.
[0050] In an optional implementation, when it is determined that the location of the first routing node in the first network subsystem is different from the location of the target routing node in the second network subsystem, the method further includes:
[0051] The location information of the next routing node is determined based on the fourth encoding and the first encoding.
[0052] Specifically, this scheme combines the fourth encoding with the first encoding for analysis, which can accurately determine the location information of the next routing node, ensure that data packets are transmitted along the optimal path, avoid unnecessary path jumps, and improve the efficiency of data transmission.
[0053] In an optional implementation, when it is determined that the location of the first routing node in the first network subsystem is different from the location of the target routing node in the second network subsystem, the method further includes:
[0054] The location information of the next routing node is determined based on the second encoding and the third encoding.
[0055] Specifically, this scheme combines the second and third encodings for analysis, which can accurately determine the location information of the next routing node, ensure that data packets are transmitted along the optimal path, avoid unnecessary path jumps, and improve the efficiency of data transmission.
[0056] In a second aspect, the present invention provides an apparatus for determining the location information of a routing node, the apparatus comprising:
[0057] The acquisition module is used to acquire the location information of the first routing node and the location information of the target routing node, wherein the first routing node is the current starting routing node, the target routing node is the final routing node receiving data, the location information of the first routing node includes a first code of the first routing node in its first network subsystem and a second code of the first network subsystem in the overall network system, and the location information of the target routing node includes a third code of the target routing node in its second network subsystem and a fourth code of the second network subsystem in the overall network system;
[0058] The determining module is configured to: determine whether the first routing node and the target routing node belong to the same network subsystem based on the second encoding and the fourth encoding; when it is determined that the first routing node and the target routing node belong to the same network subsystem, perform an XOR operation on the first encoding and the third encoding to obtain a target encoding; determine the number of target values included in the target encoding, wherein the number of target values is used to indicate the positional relationship between any two routing nodes belonging to the same network subsystem; and determine the position information of the next routing node corresponding to the first routing node based on the number of target values, the first encoding, the second encoding, the third encoding, and one or more elements in the target encoding.
[0059] Thirdly, the present invention provides a network system comprising multiple network subsystems, each network subsystem comprising multiple routing nodes, and each network subsystem comprising the same number of routing nodes. Routing nodes in the same network subsystem that are adjacent to each other are directly connected, and routing nodes in the same network subsystem that are diagonally connected are directly connected. The multiple network subsystems have the same structure, and two routing nodes in the same position in adjacent network subsystems are directly connected.
[0060] Fourthly, the present invention provides a computer device, comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the computer instructions to perform the method for determining the location information of a routing node as described in the first aspect or any corresponding embodiment.
[0061] Fifthly, the present invention provides a computer-readable storage medium storing computer instructions for causing a computer to perform the method for determining the location information of a routing node as described in the first aspect or any corresponding embodiment.
[0062] In a sixth aspect, the present invention provides a computer program product, including computer instructions for causing a computer to execute the method for determining the location information of a routing node as described in the first aspect or any corresponding embodiment thereof. Attached Figure Description
[0063] To more clearly illustrate the technical solutions in the specific embodiments or related technologies of the present invention, the drawings used in the description of the specific embodiments or related technologies will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0064] Figure 1 This is a schematic diagram of the structure of a flattened fat tree network system based on relevant technologies;
[0065] Figure 2 This is a schematic diagram of the overall network system according to an embodiment of the present invention;
[0066] Figure 3 This is a schematic diagram illustrating the encoding of the location information of a routing node according to an embodiment of the present invention;
[0067] Figure 4 This is a flowchart illustrating a method for determining the location information of a routing node according to an embodiment of the present invention;
[0068] Figure 5 This is a routing diagram corresponding to the first value according to an embodiment of the present invention;
[0069] Figure 6 This is a routing diagram corresponding to the third value according to an embodiment of the present invention;
[0070] Figure 7 This is a routing diagram corresponding to another third value according to an embodiment of the present invention;
[0071] Figure 8 This is a structural block diagram of an apparatus for determining the location information of a routing node according to an embodiment of the present invention;
[0072] Figure 9 This is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. Detailed Implementation
[0073] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0074] like Figure 1 As shown, a flattened fat tree network system in the related art is provided. This flattened fat tree network system includes 16 routing nodes, and the network directivity is 4 hops, meaning that the minimum number of routing nodes traversed when communicating between the two furthest routing nodes is 4. For example, the path from routing node 4 to routing node 11 is "routing node 4 -> routing node 6 -> routing node 14 -> routing node 10 -> routing node 11". This flattened fat tree network system in the related art has a large network diameter, resulting in significant network communication latency.
[0075] This invention provides a network system that can include multiple network subsystems. Each network subsystem can include multiple routing nodes, and each network subsystem includes the same number of routing nodes. Routing nodes within the same network subsystem that are adjacent are directly connected, and routing nodes within the same network subsystem that are diagonally connected are also directly connected. All network subsystems have identical structures, and two routing nodes at the same location in adjacent network subsystems are directly connected.
[0076] In this context, the overall network system can be a cluster of computer devices, and correspondingly, the routing nodes can be router devices within that cluster. A cluster of computer devices can be a group of servers, terminals, etc. Alternatively, the overall network system can be a chip, and correspondingly, the routing nodes can be router components on that chip. The chip can be a System on a Chip (SOC), such as a PCIe switch (Peripheral Component Interconnect Express Switch, PCIESwitch), a hardware device used to manage and allocate bandwidth among multiple PCIe devices. A PCIe switch can connect multiple drives, and a routing node on the PCIe switch can be responsible for data transmission between one or more drives to complete network transmission between drives.
[0077] The location information of routing nodes in the overall network system can follow the following encoding rules:
[0078] The location information of a routing node consists of two parts: the encoding of the network subsystem to which the routing node belongs within the overall network system (which can be a non-negative integer), and the encoding of the routing node within its own network subsystem. The encoding of a routing node within its own network subsystem can be a binary number. For example, when the number of routing nodes in a network subsystem is 8, the encoding of a routing node within its own network subsystem can be a 4-bit binary number. The encodings of any two adjacent routing nodes belonging to the same network subsystem differ by only one bit.
[0079] For example, the location information of a routing node can be represented as (i, j), such as Figure 2 As shown, i is the encoding of the network subsystem to which the routing node belongs in the overall network system, and j is the encoding of the routing node in its own network subsystem.
[0080] Any routing node in any network subsystem is connected to a routing node in an adjacent network subsystem, and the j-encodings of these two routing nodes are the same. For example... Figure 2The routing node (0,0001) in the first network subsystem and the routing node (1,0001) in the second network subsystem.
[0081] like Figure 3 As shown, in a two-layer octagonal network, "000011110000" can be used as the base. Any routing node in the target network subsystem can be considered the first routing node. "0000" is used as the encoding of the first routing node in the target network subsystem, "0001" as the encoding of the second routing node, "0011" as the encoding of the third routing node, "0111" as the encoding of the fourth routing node, "1111" as the encoding of the fifth routing node, "1110" as the encoding of the sixth routing node, "1100" as the encoding of the seventh routing node, and "1000" as the encoding of the eighth routing node. The first to eighth routing nodes are arranged clockwise or counterclockwise.
[0082] This invention provides a method for determining the location information of routing nodes. Under the same network scale, by changing the network structure and routing algorithm, the network diameter can be reduced, and further, network communication latency can be shortened, thereby improving network transmission efficiency.
[0083] According to an embodiment of the present invention, a method embodiment for determining the location information of a routing node is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0084] This embodiment provides a method for determining the location information of a routing node, which can be used in the overall network system and is executed by a first routing node, which can be any routing node in the overall network system. Figure 4 This is a flowchart of a method for determining the location information of a routing node according to an embodiment of the present invention, such as... Figure 4 As shown, the process includes the following steps:
[0085] Step S401: Obtain the location information of the first routing node and the location information of the target routing node.
[0086] In this system, the first routing node is the current starting routing node, and its location information includes a first code within its own first network subsystem and a second code within the overall network system. The target routing node is the final receiving routing node, and its location information includes a third code within its own second network subsystem and a fourth code within the overall network system. The first and second network subsystems can be adjacent network subsystems.
[0087] In implementation, when the first routing node obtains the data transmitted by the previous routing node and the location information of the target routing node, or obtains the data transmitted by the device (or component) under its responsibility and the location information of the target routing node, it can extract its own location information from its own storage area.
[0088] Step S402: Determine whether the first routing node and the target routing node belong to the same network subsystem based on the second and fourth codes.
[0089] In implementation, the first routing node can determine whether the second and fourth codes are the same. If they are, it can be determined that the first routing node and the target routing node belong to the same network subsystem. If not, it can be determined that the first routing node and the target routing node do not belong to the same network subsystem.
[0090] When it is determined that the first routing node and the target routing node do not belong to the same network subsystem, the following steps can be performed:
[0091] Step 1: Based on the first and third codes, determine whether the position of the first routing node in the first network subsystem is the same as the position of the target routing node in the second network subsystem.
[0092] In implementation, the first routing node can determine whether the first code and the third code are the same. If they are, it can be determined that the position of the first routing node in the first network subsystem is the same as the position of the target routing node in the second network subsystem. If not, it can be determined that the position of the first routing node in the first network subsystem is different from the position of the target routing node in the second network subsystem.
[0093] Example 1: The location information of the first routing node is (0, 0001), and the location information of the target routing node is (1, 0001). Based on the first code "0001" and the third code "0001", it can be determined that the location of the first routing node in the first network subsystem is the same as the location of the target routing node in the second network subsystem, and the first routing node and the target routing node are directly connected.
[0094] Example 2: The location information of the first routing node is (0, 0001), and the location information of the target routing node is (1, 0011). Based on the first code "0001" and the third code "0011", it can be determined that the location of the first routing node in the first network subsystem is different from the location of the target routing node in the second network subsystem.
[0095] Step 2: When it is determined that the position of the first routing node in the first network subsystem is the same as the position of the target routing node in the second network subsystem, the position information of the target routing node is determined as the position information of the next routing node.
[0096] Step 3: When it is determined that the position of the first routing node in the first network subsystem is different from the position of the target routing node in the second network subsystem, the position information of the next routing node is determined according to the fourth code and the first code.
[0097] In practice, when it is determined that the position of the first routing node in the first network subsystem is different from the position of the target routing node in the second network subsystem, the first routing node can construct the position information of the next routing node based on the fourth code and the first code.
[0098] Step four: When it is determined that the location of the first routing node in the first network subsystem is different from the location of the target routing node in the second network subsystem, the location information of the next routing node is determined according to the second and third codes.
[0099] In implementation, the first routing node can obtain the first location information based on the second and third codes. The first routing node can then use the routing node corresponding to the first location information as the updated target routing node. Further, based on the location information of the first routing node and the first location information, the location information of the next routing node is determined. The specific processing of this step can be found in steps S402 to S405.
[0100] Step S403: When it is determined that the first routing node and the target routing node belong to the same network subsystem, perform an XOR operation on the first code and the third code to obtain the target code.
[0101] The target code can be a binary number.
[0102] In practice, when it is determined that the first routing node and the target routing node belong to the same network subsystem, the first code and the third code can be XORed bitwise to obtain the target code.
[0103] Step S404: Determine the number of target values included in the target code.
[0104] The target value can be "0" or "1", and the number of target values is used to indicate the positional relationship between any two routing nodes belonging to the same network subsystem.
[0105] Step S405: Determine the location information of the next routing node corresponding to the first routing node based on the number of target values, the first code, the second code, the third code, and one or more elements in the target code.
[0106] In implementation, the first routing node can determine the location information of the next routing node in several ways, as shown below. Figure 2 The network system shown is used as an example for detailed explanation.
[0107] Method 1
[0108] Step 1: Determine the positional relationship between the first routing node and the target routing node based on the number of target values.
[0109] The positional relationship can be used to indicate the number of routing nodes between the first routing node and the target routing node. The target value can be "1".
[0110] In implementation, when the number of target values is the first value, the target routing node is determined to be adjacent to the first routing node. Alternatively, when the number of target values is the second value, the target routing node and the first routing node are determined to be separated by one routing node (e.g., ...). Figure 5 As shown, S represents the first routing node, and D represents the target routing node. Alternatively, when the target value is the third value, determine that there are two routing nodes between the first routing node and the target routing node (e.g., Figure 6 and Figure 7 (As shown). Alternatively, when the number of target values is the fourth value, determine that the first routing node and the target routing node are located at opposite corners of the octagonal network, where the first value increases sequentially to the fourth value.
[0111] Example 1, in Figure 2 The location information of the routing node in the first network subsystem is (0, 1100) and (0, 1110). After performing an XOR operation on the j-encoding of the two location information bits, we can get "0010". The corresponding data expression is I = 1100^1110 = 0010, where the number of "1" is 1 (the first value), indicating that the target routing node and the first routing node are adjacent and directly connected, and can be reached directly through one routing step.
[0112] Example 2, in Figure 2After performing a bitwise XOR operation on the j-encoding of the routing nodes (0,1110) and (0,0001) in the first octagon, we can get "1111". The corresponding data expression is I = 1110^0001 = 1111, where the number of "1"s is 4 (the fourth value). This indicates that the target routing node and the first routing node are diagonally connected and can be reached directly through a cross link.
[0113] Step 2: Based on the location relationship, obtain the target routing rules corresponding to the location relationship.
[0114] Among them, the target routing rule can be used to indicate the rule for determining the location information of the next routing node.
[0115] In implementation, when the target routing node is adjacent to the first routing node, or when the first routing node and the target routing node are located at opposite corners of an octagonal network, the target routing rule instructs the first routing node to directly determine the location information of the target routing node as the location information of the next routing node. Alternatively, when there is one routing node between the target routing node and the first routing node, the target routing rule instructs the first routing node to determine the location information of the next routing node based on the target code, the first code, the second code, and the third code. Or, when there are two routing nodes between the first routing node and the target routing node, the target routing rule instructs the first routing node to determine the location information of the next routing node based on the first code, the second code, and a preset value.
[0116] Step 3: Based on the target routing rules, select one or more elements from the first code, second code, third code, target code, and the number of target values to determine the location information of the next routing node corresponding to the first routing node.
[0117] In implementation, the first routing node can select one or more elements corresponding to the target routing rule from the first code, second code, third code, target code, and the number of target values, in order to calculate the location information of the next routing node.
[0118] Method 2
[0119] Step 1: When the number of target values is determined to be the first or fourth value, the location information of the target routing node is determined as the location information of the next routing node.
[0120] Step 2: When the number of target values is the second value, determine the location information of the next routing node based on the target code, the first code, the second code, and the third code.
[0121] In implementation, the first routing node can first split the target code into a first one-hot code and a second one-hot code. Then, an XOR operation is performed on the first code and the first one-hot code to obtain the fifth code, and an XOR operation is performed on the third code and the first one-hot code to obtain the sixth code. Based on the continuity of the target values included in the fifth code and the sixth code, one code is selected from the fifth and sixth codes. Finally, the location information of the next routing node is determined based on the selected code and the second code. The continuity includes two types: continuous and discontinuous. Continuous means that the target values in the code are all arranged consecutively, such as "1100" and "1111". Discontinuous means that there are two target values separated by another number, such as "1010" and "1011". When selecting a code, the code containing continuous target values is chosen.
[0122] In practical applications, one of methods, Method 1 or Method 2, can be chosen to calculate the location information of the next routing node. Alternatively, the location information of two next routing nodes (referred to as the second and third routing nodes) can be calculated simultaneously using both methods. During the operation of the overall network system, each routing node can record the frequency of its own transmitted data packets (e.g., the number of data packets transmitted in one hour) and update this parameter at a preset period. Thus, the first routing node can obtain the corresponding data packet transmission frequencies from the second and third routing nodes respectively, compare them, and select the routing node with the lower frequency as the next routing node.
[0123] When routing nodes are heavily loaded, data packets need to be queued, leading to network communication delays. Therefore, by identifying multiple routing nodes in two ways and then selecting the next routing node based on their load, data traffic can be effectively distributed, preventing some routing nodes from becoming overloaded. Furthermore, this can shorten network communication delays and improve network transmission efficiency.
[0124] It should be noted that when there are multiple ways to determine the location information of the next routing node in this scheme, the rules here can be used for processing.
[0125] Step 3: When the number of target values is the third value, determine the location information of the next routing node based on the first code, the second code, and the preset value.
[0126] The preset value is used to determine the diagonal node of any routing node. For example, the preset value can be "1111".
[0127] In implementation, the first routing node can perform an XOR operation on a preset value and a first code to obtain a seventh code. Based on the second code and the seventh code, the location information of the next routing node (e.g., ...) is determined. Figure 6 (As shown). Alternatively, the first routing node can perform an XOR operation on the preset value and the third code to obtain the eighth code. Based on the second code and the eighth code, the location information of the next routing node is determined (e.g., Figure 7 (As shown).
[0128] It should be noted that when the overall network system is a cluster of computer devices, the path information can be calculated at the source routing node (the first routing node to receive the transmission data, which is equivalent to the first routing node mentioned above being the source routing node in this case). Accordingly, during the data transmission process, the calculated path information can be used directly. Alternatively, when the overall network system is a chip, the path information can be calculated step by step. That is, at the current starting routing node (i.e., the first routing node mentioned above), only the next routing node is determined. When the next routing node is reached, the next routing node is used as the new starting routing node (i.e., the first routing node mentioned above) to calculate the subsequent routing nodes, and so on.
[0129] The method for determining the location information of routing nodes provided in this embodiment, in such cases... Figure 2 In the network system shown, communication between the two furthest routing nodes within the same network subsystem requires only two routing steps, while communication between the two furthest routing nodes in different network subsystems requires only three routing steps (network diameter is 3). Compared to... Figure 1 The flattened fat tree network improved in the related technologies shown maintains the same network size but has a smaller network diameter, without increasing the number of interfaces on the routing nodes (all are 4). The smaller network diameter reduces network communication latency and improves network transmission efficiency. Furthermore, multiple calculation methods are provided for the various steps involved in determining the location information of the next routing node. Technicians can choose according to actual needs, or allow the routing node to use multiple methods to determine multiple next routing nodes simultaneously, and then select based on the actual load, thus balancing the load and improving network transmission efficiency.
[0130] The following examples further illustrate the method for determining the location information of routing nodes.
[0131] Example 1, the location information of the first routing node is S now =(i now j now ) = (1,0011), the location information of the target routing node is D = (i D j D ) = (0, 1111).
[0132] Method 1
[0133] First step, based on i now and i D It can be determined that the first routing node and the target routing node are not in the same network subsystem.
[0134] The second step is based on j now and j D It can be determined that the first routing node and the target routing node are located in different positions within the octagonal network. In this case, S can be... new1 =(i new1 ,j new1 )=(i D ,j now The location information of the next routing node is determined by (0, 0011).
[0135] The third step is to put S new1 =(i new1 ,j new1 (0, 0011) is used as the new starting routing node, based on i new1 and i D Determine that the new starting routing node and the target routing node are in the same network subsystem.
[0136] Fourth step, j new1 and j D Perform a bitwise XOR operation to obtain the target code, i.e., target code I = j. new1 ^j D =0011^1111=1100.
[0137] Fifth step: Since the target code includes two "1"s, it can be split into two one-hot codes, namely I1 = 1000 and I2 = 0100.
[0138] Step 6, j new1 Performing a bitwise XOR operation with I1 = 1000 yields j1 = 0011^1000 = 1011. Then, j... new1 Performing a bitwise XOR operation with I2 = 0100 yields j2 = 0011^0100 = 0111.
[0139] In step seven, the 1s in j1 are not consecutive, while the 1s in j2 are consecutive. Therefore, S can be... new2 =(i new2 ,j new2 )=(i new1 The location information of the next routing node is determined by (j2) = (0, 0111).
[0140] Step 8, place S new2=(i new2 ,j new2 (0, 0111) is used as the new starting routing node, based on i new2 and i D Determine the new starting routing node S new2 It is in the same network subsystem as the target routing node.
[0141] Step 9, j new2 and j D Perform a bitwise XOR operation to obtain the target code, i.e., target code I = j. new2 ^j D =0111^1111=1000.
[0142] In the tenth step, since the target code includes a "1", it can be determined that the new starting routing node and the target routing node determined in the eighth step are adjacent, and the location information of the target routing node is directly determined as the location information of the next routing node.
[0143] In summary, the path from the first routing node to the target routing node is "(1,0011)—>(0,0011)—>(0,0111)—>(0,1111)".
[0144] Method 2
[0145] First step, based on i now and i D It is determined that the first routing node and the target routing node are not in the same network subsystem.
[0146] The second step is based on j now and j D It is determined that the first routing node and the destination routing node are located in different positions within the octagonal network. In this case, S can be... new3 =(i new3 ,j new3 )=(i now ,j D The location information of the new target routing node is determined as (1, 1111).
[0147] Third step, according to i D and i new3 Determine that the first routing node and the new target routing node are in the same network subsystem.
[0148] Fourth step, j new3 and j now Perform a bitwise XOR operation to obtain the target code, i.e., target code I = j. now ^j new3 =0011^1111=1100.
[0149] Fifth step: Since the target code includes two "1"s, it can be split into two one-hot codes, namely I3 = 1000 and I4 = 0100.
[0150] Step 6, j now Performing a bitwise XOR operation with I1 = 1000 yields j3 = 0011^1000 = 1011. Then, j... now Performing a bitwise XOR operation with I2 = 0100 yields j4 = 0011^0100 = 0111.
[0151] In step seven, the 1s in j3 are discontinuous, while the 1s in j4 are continuous. Therefore, S can be... new4 =(i new4 ,j new4 )=(i new3 The location information of the next routing node is determined by (j4) = (1, 0111).
[0152] Step 8, place S new4 =(i new4 ,j new4 (1, 0111) is used as the new starting routing node, based on i new4 and i new3 The new starting routing node and the new target routing node determined in the second step are in the same network subsystem.
[0153] Step 9, j new4 and j new3 Perform a bitwise XOR operation to obtain the target code, i.e., target code I = j. new4 ^j new3 =0111^1111=1000.
[0154] Step 10: Since the target code includes one "1", it can be determined that the new starting route node determined in step 8 is adjacent to the new target route node determined in step 2, and then directly S... new3 =(i new3 ,j new3 The location information of the next routing node is determined by (1, 1111).
[0155] Step 11, S new3 =(i new3 ,j new3 (1, 1111) is used as the new starting routing node, based on i new3 and i D It is determined that the new starting routing node and the final destination routing node D are not in the same network subsystem, according to j new3 and j DSince the new starting routing node and the final destination routing node D are located in the same position in the network subsystem, D = (i D j D The location information of the next routing node is determined by (0, 1111).
[0156] In summary, the path from the first routing node to the target routing node is "(1,0011)—>(1,0111)—>(1,1111)—>(0,1111)".
[0157] Example 2, the location information of the first routing node is S now =(i now j now ) = (1,0011), the location information of the target routing node is D = (i D j D ) = (1, 1000).
[0158] Method 1
[0159] First step, based on i now and i D It can be determined that the first routing node and the target routing node are in the same network subsystem.
[0160] The second step is to... now and j D Perform a bitwise XOR operation to obtain the target code, i.e., target code I = j. now ^j D =0011^1000=1011.
[0161] Thirdly, since the target encoding includes three "1"s, j can be... now Perform a bitwise XOR operation with the preset value (1111) to obtain j. new5 =0011^1111=1100, so S new5 =(i new5 ,j new5 )=(i now ,j new5 The location information of the next routing node is determined by (1, 1100).
[0162] Fourth step, S new5 =(i new5 ,j new5 The node (1, 1100) is determined as the new starting routing node, based on i. new5 and i D It can be determined that the new starting routing node and the target routing node are in the same network subsystem.
[0163] Fifth step, j new5and j D Perform a bitwise XOR operation to obtain the target code, i.e., target code I = j. new5 ^j D =1100^1000=0100.
[0164] In the sixth step, since the target code includes a "1", it can be determined that the new starting routing node is adjacent to the target routing node, and the location information of the target routing node can be directly determined as the location information of the next routing node.
[0165] In summary, the path from the first routing node to the target routing node is "(1,0011)—>(1,1100)—>(1,1000)".
[0166] Method 2
[0167] First step, based on i now and i D Determine that the first routing node and the target routing node are in the same network subsystem.
[0168] The second step is to... now and j D Perform a bitwise XOR operation to obtain the target code, i.e., target code I = j. now ^j D =0011^1000=1011.
[0169] Thirdly, since the target encoding includes three "1"s, j can be... D Perform a bitwise XOR operation with the preset value (1111) to obtain j. new6 =1000^1111=0111, so S new6 =(i new6 ,j new6 )=(i now ,j new6 The location information of the next routing node is determined by (1, 0111).
[0170] Fourth step, S new6 =(i new6 ,j new6 The node (1, 0111) is determined as the new starting routing node, based on i. new6 and i D Determine that the new starting routing node and the target routing node are in the same network subsystem.
[0171] Fifth step, j new6 and j D Perform a bitwise XOR operation to obtain the target code, i.e., target code I = j. new6 ^j D =0111^1000=1111.
[0172] In the sixth step, since the target code includes four "1"s, it can be determined that the new starting routing node is diagonally connected to the target routing node, and the location information of the target routing node can be directly determined as the location information of the next routing node.
[0173] In summary, the path from the first routing node to the target routing node is "(1,0011)—>(1,0111)—>(1,1000)".
[0174] This embodiment also provides a device for determining the location information of routing nodes. This device is used to implement the above embodiments and preferred embodiments, and details already described will not be repeated. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.
[0175] This embodiment provides a device for determining the location information of routing nodes, such as... Figure 8 As shown, it includes:
[0176] The acquisition module 801 is used to acquire the location information of the first routing node and the location information of the target routing node. The first routing node is the current starting routing node, and the target routing node is the routing node that will eventually receive the data. The location information of the first routing node includes the first code of the first routing node in its first network subsystem and the second code of the first network subsystem in the overall network system. The location information of the target routing node includes the third code of the target routing node in its second network subsystem and the fourth code of the second network subsystem in the overall network system.
[0177] The determining module 802 is used to determine whether the first routing node and the target routing node belong to the same network subsystem based on the second encoding and the fourth encoding; when it is determined that the first routing node and the target routing node belong to the same network subsystem, an XOR operation is performed on the first encoding and the third encoding to obtain the target encoding; the number of target values included in the target encoding is determined, wherein the number of target values is used to indicate the positional relationship between any two routing nodes belonging to the same network subsystem; and the positional information of the next routing node corresponding to the first routing node is determined based on the number of target values, the first encoding, the second encoding, the third encoding, and one or more elements in the target encoding.
[0178] In one alternative implementation, the determining module 802 is specifically used for:
[0179] Determine the positional relationship between the first routing node and the target routing node based on the number of target values;
[0180] Based on the location relationship, obtain the target routing rule corresponding to the location relationship;
[0181] Based on the target routing rules, select one or more elements from the first code, second code, third code, target code, and the number of target values to determine the location information of the next routing node corresponding to the first routing node.
[0182] In one alternative implementation, each network subsystem has eight routing nodes, and the number of routing nodes in the network subsystems forms an octagonal network. The first network subsystem and the second network subsystem are two adjacent network subsystems.
[0183] In one alternative implementation, the determining module 802 is specifically used for:
[0184] When the number of target values is the first value, the target routing node is determined to be adjacent to the first routing node;
[0185] Alternatively, when the number of target values is the second value, determine that there is a one-route-node interval between the target route node and the first route node;
[0186] Alternatively, when the number of target values is the third value, determine that there are two routing nodes between the first routing node and the target routing node;
[0187] Alternatively, when the number of target values is the fourth value, the first routing node and the target routing node are located at opposite corners of the octagonal network, with the first value increasing sequentially to the fourth value.
[0188] In one alternative implementation, the determining module 802 is specifically used for:
[0189] When the number of target values is determined to be the first or fourth value, the location information of the target routing node is determined to be the location information of the next routing node.
[0190] Alternatively, when the number of target values is the second value, the location information of the next routing node is determined based on the target code, the first code, the second code, and the third code.
[0191] Alternatively, when the number of target values is the third value, the location information of the next routing node is determined based on the first code, the second code, and the preset value, wherein the preset value is used to determine the diagonal node of any routing node;
[0192] Alternatively, when the number of target values is the third value, the location information of the next routing node is determined based on the second code, the third code, and the preset value.
[0193] In one alternative implementation, the determining module 802 is specifically used for:
[0194] The target code is split into a first one-hot code and a second one-hot code;
[0195] Perform an XOR operation on the first code and the first one-hot code to obtain the fifth code;
[0196] Perform an XOR operation on the third code and the first one-hot code to obtain the sixth code;
[0197] Based on the continuity of the target values included in the fifth code and the continuity of the target values included in the sixth code, select one code from the fifth code and the sixth code;
[0198] Based on the selected code and the second code, determine the location information of the next routing node.
[0199] In one alternative implementation, the determining module 802 is specifically used for:
[0200] Perform an XOR operation between the preset value and the first code to obtain the seventh code;
[0201] The location information of the next routing node is determined based on the second and seventh codes.
[0202] In one alternative implementation, the determining module 802 is specifically used for:
[0203] Perform an XOR operation between the preset value and the third code to obtain the eighth code;
[0204] The location information of the next routing node is determined based on the second and eighth codes.
[0205] In one optional implementation, multiple network subsystems have the same structure, and two routing nodes in the same position in adjacent network subsystems are directly connected. The first network subsystem and the second network subsystem are adjacent network subsystems.
[0206] Module 802 is also used for:
[0207] When it is determined that the first routing node and the target routing node do not belong to the same network subsystem, the first coding and the third coding are used to determine whether the position of the first routing node in the first network subsystem is the same as the position of the target routing node in the second network subsystem.
[0208] When it is determined that the position of the first routing node in the first network subsystem is the same as the position of the target routing node in the second network subsystem, the position information of the target routing node is determined as the position information of the next routing node.
[0209] In an alternative implementation, the determining module 802 is further configured to:
[0210] When it is determined that the location of the first routing node in the first network subsystem is different from the location of the target routing node in the second network subsystem, the location information of the next routing node is determined according to the fourth code and the first code.
[0211] In an alternative implementation, the determining module 802 is further configured to:
[0212] When it is determined that the location of the first routing node in the first network subsystem is different from the location of the target routing node in the second network subsystem, the location information of the next routing node is determined according to the second and third codes.
[0213] Further functional descriptions of the above modules and units are the same as those in the corresponding embodiments described above, and will not be repeated here.
[0214] In this embodiment, the device for determining the location information of routing nodes is presented in the form of a functional unit. Here, a unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that execute one or more software or fixed programs, and / or other devices that can provide the above-mentioned functions.
[0215] This invention also provides a computer device having the above-described features. Figure 8 The device shown is for determining the location information of routing nodes.
[0216] Please see Figure 9 , Figure 9 This is a schematic diagram of the structure of a computer device provided in an optional embodiment of the present invention, such as... Figure 9 As shown, the computer device includes one or more processors 10, memory 20, and interfaces for connecting the components, including high-speed interfaces and low-speed interfaces. The components communicate with each other via different buses and can be mounted on a common motherboard or otherwise installed as needed. The processors can process instructions executed within the computer device, including instructions stored in or on memory to display graphical information of a GUI on external input / output devices (such as display devices coupled to the interfaces). In some alternative implementations, multiple processors and / or multiple buses can be used with multiple memories and multiple memory modules, if desired. Similarly, multiple computer devices can be connected, each providing some of the necessary operations (e.g., as a server array, a group of blade servers, or a multiprocessor system). Figure 9 Take a processor 10 as an example.
[0217] Processor 10 may be a central processing unit, a network processor, or a combination thereof. Processor 10 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The programmable logic device may be a complex programmable logic device (CAMP), a field-programmable gate array (FPGA), a general-purpose array logic (GDA), or any combination thereof.
[0218] The memory 20 stores instructions executable by at least one processor 10 to cause the at least one processor 10 to perform the method shown in the above embodiments.
[0219] The memory 20 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created based on the use of the computer device. Furthermore, the memory 20 may include high-speed random access memory and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some alternative embodiments, the memory 20 may optionally include memory remotely located relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0220] The memory 20 may include volatile memory, such as random access memory; the memory may also include non-volatile memory, such as flash memory, hard disk or solid-state drive; the memory 20 may also include a combination of the above types of memory.
[0221] The computer device also includes a communication interface 30 for communicating with other devices or communication networks.
[0222] This invention also provides a computer-readable storage medium. The methods described above according to embodiments of the invention can be implemented in hardware or firmware, or implemented as computer code that can be recorded on a storage medium, or implemented as computer code downloaded via a network and originally stored on a remote storage medium or a non-transitory machine-readable storage medium and then stored on a local storage medium. Thus, the methods described herein can be processed by software stored on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. The storage medium can be a magnetic disk, optical disk, read-only memory, random access memory, flash memory, hard disk, or solid-state drive, etc.; further, the storage medium can also include combinations of the above types of memory. It is understood that computers, processors, microprocessor controllers, or programmable hardware include storage components capable of storing or receiving software or computer code, which, when accessed and executed by the computer, processor, or hardware, implements the methods shown in the above embodiments.
[0223] A portion of this invention can be applied as a computer program product, such as computer program instructions, which, when executed by a computer, can invoke or provide the methods and / or technical solutions according to the invention through the operation of the computer. Those skilled in the art will understand that the forms in which computer program instructions exist in a computer-readable medium include, but are not limited to, source files, executable files, installation package files, etc. Correspondingly, the ways in which computer program instructions are executed by a computer include, but are not limited to: the computer directly executing the instructions, or the computer compiling the instructions and then executing the corresponding compiled program, or the computer reading and executing the instructions, or the computer reading and installing the instructions and then executing the corresponding installed program. Here, the computer-readable medium can be any available computer-readable storage medium or communication medium accessible to a computer.
[0224] Although embodiments of the invention have been described in conjunction with the accompanying drawings, those skilled in the art can make various modifications and variations without departing from the spirit and scope of the invention, and such modifications and variations all fall within the scope defined by the appended claims.
Claims
1. A method for determining the location information of a routing node, characterized in that, The method is applied to a network system comprising multiple network subsystems, each subsystem comprising multiple routing nodes, and each subsystem comprising the same number of routing nodes. Routing nodes within the same subsystem that are adjacent are directly connected, and routing nodes within the same subsystem that are diagonally connected are also directly connected. The method is executed by a first routing node, which is any routing node in any subsystem. The method includes: The location information of the first routing node and the location information of the target routing node are obtained, wherein the first routing node is the current starting routing node and the target routing node is the final routing node receiving data. The location information of the first routing node includes a first code of the first routing node in its first network subsystem and a second code of the first network subsystem in the overall network system. The location information of the target routing node includes a third code of the target routing node in its second network subsystem and a fourth code of the second network subsystem in the overall network system. Based on the second code and the fourth code, determine whether the first routing node and the target routing node belong to the same network subsystem; When it is determined that the first routing node and the target routing node belong to the same network subsystem, an XOR operation is performed on the first code and the third code to obtain the target code. Determine the number of target values included in the target code, wherein the number of target values is used to indicate the positional relationship between any two routing nodes belonging to the same network subsystem; Based on the number of target values, the first code, the second code, the third code, and one or more elements of the target code, determine the location information of the next routing node corresponding to the first routing node.
2. The method according to claim 1, characterized in that, Determining the location information of the next routing node corresponding to the first routing node based on the number of target values, the first code, the second code, the third code, and one or more elements of the target code includes: Based on the number of the target values, determine the positional relationship between the first routing node and the target routing node; Based on the location relationship, obtain the target routing rule corresponding to the location relationship; According to the target routing rule, one or more elements are selected from the first code, the second code, the third code, the target code, and the number of target values to determine the location information of the next routing node corresponding to the first routing node.
3. The method according to claim 1, characterized in that, Each of the network subsystems contains eight routing nodes, and the number of routing nodes in the network subsystems forms an octagonal network. The first network subsystem and the second network subsystem are two adjacent network subsystems.
4. The method according to claim 3, characterized in that, Determining the positional relationship between the first routing node and the target routing node based on the quantity of the target value includes: When the number of the target values is the first value, it is determined that the target routing node is adjacent to the first routing node; Alternatively, when the number of the target values is the second value, it is determined that there is a one-route-node interval between the target route node and the first route node; Alternatively, when the number of the target values is a third value, it is determined that there are two routing nodes between the first routing node and the target routing node; Alternatively, when the number of target values is the fourth value, it is determined that the first routing node and the target routing node are located at two opposite corners of the octagonal network, wherein the first value to the fourth value increases sequentially.
5. The method according to claim 3, characterized in that, Determining the location information of the next routing node corresponding to the first routing node based on the number of target values, the first code, the second code, the third code, and one or more elements of the target code includes: When the number of the target values is determined to be the first value or the fourth value, the location information of the target routing node is determined to be the location information of the next routing node; Alternatively, when the number of target values is the second value, the location information of the next routing node is determined based on the target code, the first code, the second code, and the third code. Alternatively, when the number of target values is a third value, the location information of the next routing node is determined according to the first code, the second code, and the preset value, wherein the preset value is used to determine the diagonal node of any routing node; Alternatively, when the number of target values is a third value, the location information of the next routing node is determined based on the second code, the third code, and the preset value.
6. The method according to claim 5, characterized in that, When the number of target values is a second value, the location information of the next routing node is determined based on the target code, the first code, the second code, and the third code, including: The target code is split into a first one-hot code and a second one-hot code; Perform an XOR operation on the first code and the first one-hot code to obtain the fifth code; Perform an XOR operation on the third code and the first one-hot code to obtain the sixth code; Based on the continuity of the target values included in the fifth code and the continuity of the target values included in the sixth code, select one code from the fifth code and the sixth code; The location information of the next routing node is determined based on the selected encoding and the second encoding.
7. The method according to claim 5, characterized in that, When the number of target values is a third value, the location information of the next routing node is determined based on the first code, the second code, and the preset value, including: Perform an XOR operation on the preset value and the first code to obtain the seventh code; The location information of the next routing node is determined based on the second encoding and the seventh encoding.
8. The method according to claim 5, characterized in that, When the number of target values is a third value, the location information of the next routing node is determined based on the second code, the third code, and the preset value, including: Perform an XOR operation on the preset value and the third code to obtain the eighth code; The location information of the next routing node is determined based on the second encoding and the eighth encoding.
9. The method according to any one of claims 1 to 8, characterized in that, The multiple network subsystems have the same structure, and two routing nodes in the same position in adjacent network subsystems are directly connected. The first network subsystem and the second network subsystem are adjacent network subsystems. When it is determined that the first routing node and the target routing node do not belong to the same network subsystem, the method further includes: Based on the first code and the third code, determine whether the position of the first routing node in the first network subsystem is the same as the position of the target routing node in the second network subsystem; When it is determined that the position of the first routing node in the first network subsystem is the same as the position of the target routing node in the second network subsystem, the position information of the target routing node is determined as the position information of the next routing node.
10. The method according to claim 9, characterized in that, When it is determined that the location of the first routing node in the first network subsystem is different from the location of the target routing node in the second network subsystem, the method further includes: The location information of the next routing node is determined based on the fourth encoding and the first encoding.
11. The method according to claim 9, characterized in that, When it is determined that the location of the first routing node in the first network subsystem is different from the location of the target routing node in the second network subsystem, the method further includes: The location information of the next routing node is determined based on the second encoding and the third encoding.
12. A network system, characterized in that, The overall network system includes multiple network subsystems, each of which includes multiple routing nodes, and each network subsystem includes the same number of routing nodes. Routing nodes that are adjacent to each other within the same network subsystem are directly connected, and routing nodes that are diagonally opposite each other within the same network subsystem are directly connected. The structures of the multiple network subsystems are all the same, and two routing nodes at the same position in adjacent network subsystems are directly connected. The first routing node is used for: The location information of the first routing node and the location information of the target routing node are obtained, wherein the first routing node is the current starting routing node in the network system, and the target routing node is the routing node that will ultimately receive the data. The location information of the first routing node includes a first code of the first routing node in its first network subsystem and a second code of the first network subsystem in the network system. The location information of the target routing node includes a third code of the target routing node in its second network subsystem and a fourth code of the second network subsystem in the network system. Based on the second code and the fourth code, determine whether the first routing node and the target routing node belong to the same network subsystem; When it is determined that the first routing node and the target routing node belong to the same network subsystem, an XOR operation is performed on the first code and the third code to obtain the target code. Determine the number of target values included in the target code, wherein the number of target values is used to indicate the positional relationship between any two routing nodes belonging to the same network subsystem; Based on the number of target values, the first code, the second code, the third code, and one or more elements of the target code, determine the location information of the next routing node corresponding to the first routing node.
13. A computer device, characterized in that, include: A memory and a processor are communicatively connected, the memory storing computer instructions, and the processor executing the computer instructions to perform the method for determining the location information of a routing node as described in any one of claims 1 to 11.
14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions for causing a computer to perform the method of determining the location information of a routing node as described in any one of claims 1 to 11.
15. A computer program product, characterized in that, Includes computer instructions for causing a computer to perform the method of determining the location information of a routing node as described in any one of claims 1 to 11.