CN117354230B - Routing path determining method, device, equipment and medium of bidirectional topological network - Google Patents

Routing path determining method, device, equipment and medium of bidirectional topological network Download PDF

Info

Publication number
CN117354230B
CN117354230B CN202311632542.6A CN202311632542A CN117354230B CN 117354230 B CN117354230 B CN 117354230B CN 202311632542 A CN202311632542 A CN 202311632542A CN 117354230 B CN117354230 B CN 117354230B
Authority
CN
China
Prior art keywords
node
routing
path
target
exclusive
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
Application number
CN202311632542.6A
Other languages
Chinese (zh)
Other versions
CN117354230A (en
Inventor
陈静静
李树青
孙华锦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202311632542.6A priority Critical patent/CN117354230B/en
Publication of CN117354230A publication Critical patent/CN117354230A/en
Application granted granted Critical
Publication of CN117354230B publication Critical patent/CN117354230B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application provides a routing path determining method, device, equipment and medium of a bidirectional topological network. Comprising the following steps: invoking a source terminal node to carry out exclusive OR processing on a first node number of the source terminal node and a second node number of a target terminal node to obtain an exclusive OR node number, and splitting the exclusive OR node number into intermediate vectors corresponding to other routing nodes except the source routing node in the intermediate routing nodes; sequentially calling intermediate routing nodes, and calculating the node number of the next routing node according to the node number of the current intermediate routing node and the intermediate vector corresponding to the next routing node until the target routing node is reached; determining M routing paths between a source terminal node and a target terminal node based on the node numbers of the intermediate routing nodes; based on a preset path screening rule, a unique target routing path between a source terminal node and a target terminal node is screened from M routing paths. The method and the device can avoid the problem of data disorder and achieve the purpose of data order preservation.

Description

Routing path determining method, device, equipment and medium of bidirectional topological network
Technical Field
The present invention relates to the field of routing path planning technologies, and in particular, to a method, an apparatus, a device, and a medium for determining a routing path of a bidirectional topology network.
Background
The interconnect topology is typically defined by four main attributes: (1) node degree: the number of channels connecting a node with its neighbors, or the number of ports of routers in the node. (2) network diameter: maximum value of shortest distance between two nodes in the network. (3) number of links: the number of links throughout the network is determined because the topology is determined and the number of links is then determined. (4) bisection bandwidth: all nodes in the network are divided into two equally divided sub-networks, and the link bandwidth corresponding to the minimum cut set is the binary bandwidth. The higher the binary bandwidth, the more network communication capability.
For a two-stage bidirectional topological structure, in a traditional routing implementation scheme, a terminal node initiates a data transmission request to a corresponding target terminal node, when a certain initial terminal node initiates multi-packet data transmission to the same target terminal node, different packet data can be matched with different routing paths to carry out data routing transmission due to the path diversity of the topological structure, and the sequence of transmitting data to the target terminal node through different secondary routing nodes cannot be controlled due to the different blocking degree of each secondary routing node, so that the multi-packet data transmission initiated at a source terminal node cannot be sequentially output from the corresponding target terminal node according to the initial corresponding sequence, namely, the disorder phenomenon of the data occurs, and the data transmission errors are caused.
Disclosure of Invention
The embodiment of the application provides a routing path determining method, device, equipment and medium of a bidirectional topological network, which are used for solving the problems that in the prior art, aiming at a two-stage bidirectional topological network structure, multi-packet data transmission initiated at a source terminal node cannot be sequentially output from a corresponding destination terminal node according to the initial corresponding sequence, namely, the data is out of order, and the data transmission is wrong.
In order to solve the above technical problems, embodiments of the present application are implemented as follows:
in a first aspect, an embodiment of the present application provides a routing path determining method of a bidirectional topology network, which is applied to an IO control chip, where the IO control chip includes: the method comprises the steps of enabling a source terminal node to be a terminal node under a source route node, enabling a target terminal node to be a terminal node under the target route node, and enabling the target terminal node to be a terminal node under the target route node, wherein the source terminal node is the terminal node under the source route node, and the target route node comprises the following steps:
invoking the source terminal node, performing exclusive-or processing on a first node number of the source terminal node and a second node number of the target terminal node to obtain an exclusive-or node number, and splitting the exclusive-or node number into intermediate vectors corresponding to other routing nodes except the source routing node in the intermediate routing nodes;
Sequentially calling the intermediate routing nodes, and calculating to obtain the node number of the next routing node according to the node number of the current intermediate routing node and the intermediate vector corresponding to the next routing node until the node number reaches the target routing node;
determining M routing paths between the source terminal node and the target terminal node based on the node number of the intermediate routing node, wherein M is a positive integer greater than or equal to 2;
and screening out the unique target routing path between the source terminal node and the target terminal node from the M routing paths based on a preset path screening rule.
Optionally, splitting the exclusive or node number into intermediate vectors corresponding to other routing nodes except the source routing node in the intermediate routing nodes includes:
determining the node number of the intermediate routing nodes between the source terminal node and the target terminal according to the number of the numerical value 1 in the first N-1 bits of the exclusive OR node number; n is the number of bits of the exclusive OR node number, and N is a positive integer;
and under the condition that the number of the nodes is larger than 2, according to the inverse operation of the exclusive or operation, the position of the numerical value 1 in the first N-1 bits of the exclusive or node number is split from the highest bit of the exclusive or node number, so that the intermediate vector is obtained.
Optionally, the determining the node number of the intermediate routing node between the source terminal node and the target terminal according to the number of the numerical value 1 in the first N-1 bits of the exclusive or node number includes:
acquiring the number of numerical value 1 in the first N-1 bits of the exclusive OR node number;
and calculating to obtain a sum value of the number and 1, and taking the sum value as the node number of the intermediate routing nodes.
Optionally, the sequentially calling the intermediate routing nodes, calculating to obtain the node number of the next routing node according to the node number of the current intermediate routing node and the intermediate vector corresponding to the next routing node, and sending the intermediate vector and the exclusive or node number to the next routing node until reaching the target routing node, including:
sequentially calling the intermediate routing nodes from the source routing node, performing exclusive or on the node number of the current intermediate routing node and the intermediate vector corresponding to the next routing node to obtain the node number of the next routing node, and transmitting the intermediate vector and the exclusive or node number to the next routing node;
and ending the searching process of the intermediate routing node until the node number of the next routing node obtained by calculation is the same as the node number of the target routing node, so as to obtain the node number of the intermediate routing node.
Optionally, the selecting, based on a preset path screening rule, a unique target routing path between the source terminal node and the target terminal node from the M routing paths includes:
under the condition that the preset path screening rule is an exclusive or number screening rule, randomly screening two routing paths from the M routing paths, and marking the two routing paths as a first routing path and a second routing path respectively;
and screening the target routing path from the first routing path and the second routing path based on the exclusive or node numbers.
Optionally, the selecting the target routing path from the first routing path and the second routing path based on the xor node number includes:
acquiring the bit number with the bit value of 1 in the first N-1 bits of the exclusive OR node number;
and screening the target routing path from the first routing path and the second routing path according to the bit number.
Optionally, the selecting the target routing path from the first routing path and the second routing path according to the bit number includes:
Comparing the magnitude relation between the first node number and the second node number in the case that the bit number is greater than 1;
when the size relation indicates that the first node number is smaller than the second node number, the first routing path is used as the target routing path;
and taking the second routing path as the target routing path when the size relation indicates that the first node number is larger than the second node number.
Optionally, the selecting the target routing path from the first routing path and the second routing path according to the bit number includes:
under the condition that the bit number is equal to 1, acquiring the bit value of the last bit in the first N-1 bits of the exclusive OR node number;
taking the first routing path as the target routing path in the case that the bit value is 1;
and taking the second routing path as the target routing path in the case that the bit value is 0.
Optionally, the selecting, based on a preset path screening rule, a unique target routing path between the source terminal node and the target terminal node from the M routing paths includes:
Under the condition that the preset path screening rule is a quality screening rule, determining data transmission quality information of the M routing paths according to the historical data transmission information of the M routing paths;
and screening a route path with highest data transmission quality from the M route paths according to the data transmission quality information to serve as the target route path.
Optionally, the selecting, based on a preset path screening rule, a unique target routing path between the source terminal node and the target terminal node from the M routing paths includes:
acquiring the busy/idle state information of the M routing paths under the condition that the preset path screening rule is the busy/idle state screening rule;
and screening the target routing path from the M routing paths based on the busy and idle state information.
Optionally, the selecting, based on a preset path screening rule, a unique target routing path between the source terminal node and the target terminal node from the M routing paths includes:
under the condition that the preset path screening rule is a time delay screening rule, determining transmission time delay information of the M routing paths according to historical data transmission information of the M routing paths within a preset time length from the current time;
And screening a routing path with the lowest transmission delay from the M routing paths based on the transmission delay information to serve as the target routing path.
Optionally, after performing exclusive-or processing on the first node number of the source terminal node and the second node number of the target terminal node to obtain an exclusive-or node number, the method further includes:
determining whether bit values of the first N-1 bits in the exclusive OR node number are all 0;
and in response to the bit values of the first N-1 bits being 0, determining that the source routing node and the target routing node are the same routing node, and ending the routing flow.
In a second aspect, an embodiment of the present application provides a routing path determining apparatus of a bidirectional topology network, which is applied to an IO control chip, where the IO control chip includes: the device comprises a source terminal node, a target terminal node, a source routing node and a target routing node, wherein the source terminal node is a terminal node under the source routing node, and the target terminal node is a terminal node under the target routing node, and the device comprises:
the node number processing module is used for calling the source terminal node, carrying out exclusive-or processing on the first node number of the source terminal node and the second node number of the target terminal node to obtain an exclusive-or node number, and splitting the exclusive-or node number into intermediate vectors corresponding to other routing nodes except the source routing node in the intermediate routing nodes;
The intermediate node number acquisition module is used for sequentially calling the intermediate routing nodes, and calculating the node number of the next routing node according to the node number of the current intermediate routing node and the intermediate vector corresponding to the next routing node until the node number reaches the target routing node;
the routing path determining module is used for determining M routing paths between the source terminal node and the target terminal node based on the node number of the intermediate routing node, wherein M is a positive integer greater than or equal to 2;
and the target routing path screening module is used for screening out the unique target routing path between the source terminal node and the target terminal node from the M routing paths based on a preset path screening rule.
Optionally, the node numbering processing module includes:
a node number determining unit, configured to determine the number of nodes of an intermediate routing node between the source terminal node and the target terminal according to the number of numerical values 1 in the first N-1 bits of the exclusive or node number; n is the number of bits of the exclusive OR node number, and N is a positive integer;
and the intermediate vector acquisition unit is used for splitting the position of the numerical value 1 in the first N-1 bits of the exclusive-or node number from the highest bit of the exclusive-or node number according to the inverse operation of the exclusive-or operation under the condition that the number of the nodes is larger than 2, so as to obtain the intermediate vector.
Optionally, the node number determining unit includes:
the number acquisition subunit is used for acquiring the number of the numerical value 1 in the first N-1 bits of the exclusive OR node number;
and the node acquisition subunit is used for calculating the sum value of the number and 1, and taking the sum value as the node number of the intermediate routing nodes.
Optionally, the intermediate node number acquisition module includes:
the node number acquisition unit is used for sequentially calling the intermediate routing nodes from the source routing node, performing exclusive or on the node number of the current intermediate routing node and an intermediate vector corresponding to a next routing node to obtain the node number of the next routing node, and transmitting the intermediate vector and the exclusive or node number to the next routing node;
and the node flow ending unit is used for ending the searching flow of the intermediate routing node until the node number of the next routing node obtained through calculation is the same as the node number of the target routing node, so as to obtain the node number of the intermediate routing node.
Optionally, the target routing path screening module includes:
the routing path marking unit is used for randomly screening two routing paths from the M routing paths under the condition that the preset path screening rule is an exclusive or number screening rule, and marking the two routing paths as a first routing path and a second routing path respectively;
And the first path screening unit is used for screening the target routing path from the first routing path and the second routing path based on the exclusive or node number.
Optionally, the first path screening unit includes:
a bit number obtaining subunit, configured to obtain a bit number with a bit value of 1 in the first N-1 bits of the xor node number;
and the target path screening subunit is used for screening the target routing path from the first routing path and the second routing path according to the bit number.
Optionally, the target path screening subunit includes:
a size relation comparing subunit, configured to compare a size relation between the first node number and the second node number when the number of bits is greater than 1;
a first path obtaining subunit, configured to take the first routing path as the target routing path when the size relationship indicates that the first node number is smaller than the second node number;
a second path obtaining subunit, configured to take the second routing path as the target routing path when the size relationship indicates that the first node number is greater than the second node number.
Optionally, the target path screening subunit includes:
a bit value obtaining subunit, configured to obtain, when the number of bits is equal to 1, a bit value of a last bit of the first N-1 bits of the xor node number;
a third path obtaining subunit, configured to take the first routing path as the target routing path if the bit value is 1;
a fourth path obtaining subunit, configured to take the second routing path as the target routing path when the bit value is 0.
Optionally, the target routing path screening module includes:
a transmission quality determining unit, configured to determine data transmission quality information of the M routing paths according to historical data transmission information of the M routing paths when the preset path screening rule is a quality screening rule;
and the second path screening unit is used for screening a routing path with highest data transmission quality from the M routing paths according to the data transmission quality information to serve as the target routing path.
Optionally, the target routing path screening module includes:
the busy/idle state acquisition unit is used for acquiring the busy/idle state information of the M routing paths under the condition that the preset path screening rule is the busy/idle state screening rule;
And the third path screening unit is used for screening the target routing path from the M routing paths based on the busy and idle state information.
Optionally, the target routing path screening module includes:
the transmission delay determining unit is used for determining the transmission delay information of the M routing paths according to the historical data transmission information of the M routing paths within a preset time length from the current time when the preset path screening rule is the delay screening rule;
and a fourth path screening unit, configured to screen, based on the transmission delay information, a routing path with the lowest transmission delay from the M routing paths, so as to serve as the target routing path.
Optionally, the apparatus further comprises:
a bit value determining module, configured to determine whether bit values of the first N-1 bits in the xor node number are all 0;
and the routing flow ending module is used for determining that the source routing node and the target routing node are the same routing node and ending the routing flow in response to the fact that the bit values of the first N-1 bits are 0.
In a third aspect, an embodiment of the present application provides an electronic device, including:
a memory, a processor, and a computer program stored on the memory and executable on the processor, which when executed by the processor, implements the routing path determination method of a bi-directional topology network of any of the above.
In a fourth aspect, embodiments of the present application provide a readable storage medium, which when executed by a processor of an electronic device, enables the electronic device to perform a routing path determination method of a bidirectional topology network as set forth in any one of the preceding claims.
In the embodiment of the application, the first node number of the source terminal node and the second node number of the target terminal node are subjected to exclusive or processing by calling the source terminal node to obtain the exclusive or node number, and the exclusive or node number is split into intermediate vectors corresponding to other routing nodes except the source routing node in the intermediate routing nodes. And sequentially calling the intermediate routing nodes, and calculating the node number of the next routing node according to the node number of the current intermediate routing node and the intermediate vector corresponding to the next routing node until the target routing node is reached. And determining M routing paths between the source terminal node and the target terminal node based on the node numbers of the intermediate routing nodes, wherein M is a positive integer greater than or equal to 2. Based on a preset path screening rule, a unique target routing path between a source terminal node and the target terminal node is screened from M routing paths. According to the method and the device, the intermediate routing node is determined by combining the exclusive or node numbers obtained by exclusive or of the source routing node and the target routing node, and the unique target routing path between the source terminal node and the target terminal node is screened from the plurality of routing paths according to the preset path screening rule, so that data is transmitted between the source terminal node and the target terminal node through the unique routing path, the problem of data disorder can be avoided, and the purpose of data order preservation is achieved.
The foregoing description is only an overview of the technical solutions of the present application, and may be implemented according to the content of the specification in order to make the technical means of the present application more clearly understood, and in order to make the above-mentioned and other objects, features and advantages of the present application more clearly understood, the following detailed description of the present application will be given.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the description of the embodiments of the present application will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained according to these drawings without inventive effort for a person of ordinary skill in the art.
Fig. 1 is a step flowchart of a routing path determining method of a bidirectional topology network according to an embodiment of the present application;
fig. 2 is a schematic diagram of a routing algorithm flow provided in an embodiment of the present application;
fig. 3 is a schematic diagram of another routing algorithm flow provided in an embodiment of the present application;
fig. 4 is a schematic diagram of a flattened fat tree network topology according to an embodiment of the present application;
FIG. 5 is a schematic diagram of a path marking method according to an embodiment of the present disclosure;
Fig. 6 is a schematic structural diagram of a routing path determining apparatus of a bidirectional topology network according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
The following description of the embodiments of the present application will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are some, but not all, of the embodiments of the present application. All other embodiments, which can be made by one of ordinary skill in the art based on the embodiments herein without making any inventive effort, are intended to be within the scope of the present application.
Referring to fig. 1, a flowchart illustrating steps of a routing path determining method of a bidirectional topology network according to an embodiment of the present application is shown, and as shown in fig. 1, the routing path determining method of the bidirectional topology network may include: step 101, step 102, step 103 and step 104.
Step 101: and calling the source terminal node, performing exclusive OR processing on the first node number of the source terminal node and the second node number of the target terminal node to obtain an exclusive OR node number, and splitting the exclusive OR node number into intermediate vectors corresponding to other routing nodes except the source routing node in the intermediate routing nodes.
The method and the device can be applied to the scene of determining the intermediate routing node by combining the exclusive or node numbers of the source node and the target node and screening the unique routing path.
The embodiment of the application can be applied to an IO control chip, namely, the execution main body is the IO control chip. Wherein, the IO control chip may include: the system comprises a source terminal node, a target terminal node, a source routing node and a target routing node, wherein the source terminal node is a terminal node under the source routing node, and the target terminal node is a terminal node under the target routing node.
The present embodiment may screen routing paths in a bidirectional topology network, where the bidirectional topology network may be a flattened fat tree network structure, where the flattened fat tree network structure may be extended based on the fat tree network structure, where each routing node links two terminal nodes as shown in fig. 4, where a circle in fig. 4 represents a routing node, and a square box represents a terminal node, where two channels are provided between the routing nodes.
The first node number refers to the node number of the source terminal node.
The second node number refers to the node number of the target terminal node.
In this example, the first node number and the second node number are both binary numbers, i.e., the first node number and the second node number only include two values of "1" and "0".
When planning a route path between a source terminal node and a target terminal node, the source terminal node can acquire a first node number of the source terminal node and a second node number of the target terminal node.
After the first node number and the second node number are obtained, exclusive-or processing may be performed on the first node number and the second node number to obtain an exclusive-or node number. For example, the node number of the source terminal node S is 0110, the node number of the target terminal node D is 00111, and the exclusive or node number I can be obtained after bitwise exclusive or: 00001, etc.
It will be appreciated that the above examples are only examples listed for better understanding of the technical solutions of the embodiments of the present application, and are not to be construed as the only limitation of the present embodiments.
In this example, after the xor node number is obtained, it may be determined whether the first N-1 bits of the xor node number are all 0, and if so, the routing flow is ended, where N is the number of bits of the xor node number. The implementation may be described in detail in connection with the following specific implementations.
In a specific implementation manner of the present application, after the step 101, the method may further include:
step A1: and determining whether bit values of the first N-1 bits in the exclusive-or node number are 0, wherein N is the number of bits of the exclusive-or node number.
In this embodiment, after the xor node number is obtained, it may be determined whether the bit values of the first N-1 bits in the xor node number are all 0. Wherein N is the number of bits of the exclusive OR node number, and N is a positive integer.
Step A2: and in response to the bit values of the first N-1 bits being 0, determining that the source routing node and the target routing node are the same routing node, and ending the routing flow.
If the bit values of the first N-1 bits are all 0, then the source routing node and the target routing node can be determined to be the same routing node in response to the bit values of the first N-1 bits being all 0, and the routing flow is ended. For example, the node number of the source terminal node S is 00110, the node number of the target terminal node D is 00111, and the exclusive or node number I is obtained after bitwise exclusive or: 00001, the first 4 bits are all 0, and the two terminal nodes are on one routing node, so that the routing is directly carried out inside without carrying out subsequent routing flow.
According to the embodiment of the application, whether the source routing node and the target routing node are the same routing node can be effectively judged by judging whether the bit values of the first N-1 bits of the exclusive OR node number are all 0.
If the values of the first N-1 bits of the exclusive or node number are not all 0, the node number of the intermediate routing nodes between the source terminal node and the target terminal can be determined according to the number of the numerical value 1 in the first N-1 bits of the exclusive or node number, and the exclusive or node number is split into intermediate vectors corresponding to other routing nodes except the source routing node in the intermediate routing nodes.
Specifically, after the number of the exclusive or node is obtained, the number of nodes of an intermediate node between the source routing node and the target routing node can be determined according to the number of 1 in the first N-1 bits of the number of the exclusive or node, N is the number of bits of the number of the exclusive or node, and N is a positive integer. For example, the node number of the source terminal node S is 00010, the node number of the target terminal node D is 11111, the xor node number I is 11101 after bitwise xoring, at this time, the first 4 bits contain 3 1S, and then the number of the four nodes including the source routing node and the target routing node from the source terminal node to the target terminal node is 4, i.e. the number of the four nodes is 4, and the intermediate node is 4.
It will be appreciated that the above examples are only examples listed for better understanding of the technical solutions of the embodiments of the present application, and are not to be construed as the only limitation of the present embodiments.
After the number of nodes is obtained, whether the number of the nodes is larger than 2 can be judged, if the number of the nodes is equal to 2, the fact that only a source routing node and a target routing node exist between a source terminal node and a target terminal node is indicated, and only a target routing path is directly screened between the source routing node and the target routing node, so that intermediate vector splitting is not needed.
If the number of nodes is greater than 2, the exclusive or node number may be split into intermediate vectors, and the implementation process may be described in detail in connection with the following specific implementation manner.
In a specific implementation of the present application, the step 101 may include:
substep B1: determining the node number of the intermediate routing nodes between the source terminal node and the target terminal according to the number of the numerical value 1 in the first N-1 bits of the exclusive OR node number; n is the number of bits of the exclusive OR node number, and N is a positive integer.
In the embodiment of the application, after the exclusive or node number is obtained, the node number of the intermediate routing node between the source terminal node and the target terminal can be determined according to the number of the numerical value 1 in the first N-1 bits of the exclusive or node number. Wherein N is the number of bits of the exclusive OR node number, and N is a positive integer.
In a specific implementation, the number of the numerical value 1 in the first N-1 bits of the exclusive OR node number can be obtained, and then the sum of the number and the numerical value 1 can be calculated to serve as the node number of the intermediate routing node.
Substep B2: and under the condition that the number of the nodes is larger than 2, according to the inverse operation of the exclusive or operation, the position of the numerical value 1 in the first N-1 bits of the exclusive or node number is split from the highest bit of the exclusive or node number, so that the intermediate vector is obtained.
After determining the number of nodes of the intermediate nodes between the source routing node and the target routing node according to the number of 1 in the first N-1 bits of the exclusive OR node number, the exclusive OR node number can be split into intermediate vectors corresponding to other routing nodes except the source routing node in the intermediate routing nodes. Specifically, the exclusive or node number may be split into intermediate vectors according to an inverse operation of the exclusive or operation, and then the intermediate routing node may be determined according to the intermediate vectors.
In a specific implementation, after determining the number of nodes of the routing node between the source terminal node and the target terminal node based on the exclusive-or node number, the position of the value 1 in the first N-1 bits of the exclusive-or node number can be sequentially split into intermediate vectors from the highest bit of the exclusive-or node number according to the inverse operation of the exclusive-or operation, and if the value 0 exists in the first N-1 bits, skipping. For example, the node number of the source terminal node S is 00010, the node number of the target terminal node D is 11111, the exclusive or node number I is 11101 after bitwise exclusive or, and further, the first 3 bits of I may be split into exclusive or operations of several vectors, as shown in the following formula (1):
(1)
Three intermediate vectors can be obtained by the above formula (1),wherein, the method comprises the steps of, wherein,. Wherein (1)>The exclusive OR operation is carried out to obtain the exclusive OR node number, wherein, < ->The intermediate vectors are corresponding to other intermediate routing nodes except the source routing node in the intermediate routing nodes respectively.
It will be appreciated that the above examples are only examples listed for better understanding of the technical solutions of the embodiments of the present application, and are not to be construed as the only limitation of the present embodiments.
And after the intermediate vector is obtained by sequentially splitting the position of the value 1 in the first N-1 bits of the exclusive-or node number from the highest bit of the exclusive-or node number according to the inverse operation of the exclusive-or operation, the source terminal node sends the intermediate vector and the exclusive-or node number to the source routing node so as to execute the determination process of the intermediate routing node.
Step 102: and sequentially calling the intermediate routing nodes, and calculating the node number of the next routing node according to the node number of the current intermediate routing node and the intermediate vector corresponding to the next routing node until the node number reaches the target routing node.
After the source terminal node sends the intermediate vector and the exclusive or node number to the source routing node, the intermediate routing node can be sequentially called, the node number of the next routing node is calculated according to the node number of the current intermediate routing node and the intermediate vector corresponding to the next routing node, and the intermediate vector and the exclusive or node number are sent to the next routing node until the target routing node is reached.
In a specific implementation, from a source routing node, the intermediate routing node can be sequentially called, the node number of the current intermediate routing node and the intermediate vector corresponding to the next routing node are xored to obtain the node number of the next routing node, and the intermediate vector and the xored node number are sent to the next routing node. And ending the searching process of the intermediate routing node until the node number of the next routing node obtained by calculation is the same as the node number of the target routing node, so as to obtain the node number of the intermediate routing node. For example, following the example in step 102 above, three intermediate vectors are obtained,wherein->The node number of the source routing node is: 00010,/>The routing nodes that each hop will reach are determined as follows:
determining a routing node of the first hop: />Routing node +.>
Determining a routing node of the second hop: />From the routing node->Routing node to second hop +.>
Determining a routing node of the third hop: />From the routing node->Routing node to third hop +.>
At this time, the liquid crystal display device,is the destination node of the entire routing request (i.e., the target routing node).
It will be appreciated that the above examples are only examples listed for better understanding of the technical solutions of the embodiments of the present application, and are not to be construed as the only limitation of the present embodiments.
The above method for determining the intermediate routing node provided by the embodiment of the present application can ensure that only one group of routing nodes exists between the source terminal node and the target terminal node, so that the selection of the subsequent unique routing path is facilitated.
Step 103: and determining M routing paths between the source terminal node and the target terminal node based on the node numbers of the intermediate routing nodes, wherein M is a positive integer greater than or equal to 2.
After the node numbers of the intermediate routing nodes (including the source routing node and the target routing node) are obtained through the steps, M routing paths between the source terminal node and the target terminal node can be determined based on the node numbers of the intermediate routing nodes, wherein M is a positive integer greater than or equal to 2. For example, when only the source routing node and the destination routing node exist in the source terminal node and the destination terminal node, two routing paths exist between the source routing node and the destination routing node due to the bidirectional topology network. And when there are at least 3 routing nodes between the source terminal node and the destination terminal node, then there are multiple routing paths (greater than 2) between the source routing node and the destination routing node, etc.
It will be appreciated that the above examples are only examples listed for better understanding of the technical solutions provided by the embodiments of the present application, and are not the only limitation of the present embodiments.
In some examples, M routing paths between the source end node and the target end node may be determined by the source end node from the intermediate node number. Specifically, the intermediate routing node may send the calculated node number of the next intermediate routing node to the source terminal node until the source terminal node obtains the node number of the target routing node, and then the source terminal node may determine M routing paths according to the node number of the intermediate routing node.
In some examples, M routing paths between the source and target end nodes may be determined by a CPU (Central Processing Unit, central processor) from the intermediate node numbers. Specifically, the intermediate routing node may send the calculated node number of the next intermediate routing node to the CPU until the CPU obtains the node number of the target routing node, and further, the CPU may determine M routing paths according to the node number of the intermediate routing node.
After determining M routing paths between the source and destination end nodes based on the node numbers of the intermediate routing nodes, step 104 is performed.
Step 104: and screening out the unique target routing path between the source terminal node and the target terminal node from the M routing paths based on a preset path screening rule.
In this embodiment, the preset path filtering rule may include: the exclusive or number screening rule, the quality screening rule, the busy state screening rule, the time delay screening rule and other rules.
After determining M routing paths between the source terminal node and the target terminal node based on the node numbers of the intermediate routing nodes, a unique target routing path between the source terminal node and the target terminal node can be screened out of the M routing paths based on a preset path screening rule.
According to the method and the device, the intermediate routing nodes are screened by combining the exclusive OR node numbers of the source routing nodes and the target routing nodes, and the unique target routing path between the source terminal node and the target terminal node is determined, so that data is transmitted between the source terminal node and the target terminal node through the unique routing path, the problem of data disorder can be avoided, and the purpose of data order preservation is achieved.
In the embodiment of the present application, the above implementation process may be described in detail below with reference to fig. 2 and 3, respectively.
Referring to fig. 2, a schematic diagram of a routing algorithm flow provided in an embodiment of the present application is shown. As shown in fig. 2, first, the exclusive or node number and the split intermediate vector may be transmitted by the source terminal node to a first one of the intermediate routing nodes, i.e., the source routing node. And secondly, the source routing node can calculate the node number of the next node according to the source routing node number and the corresponding intermediate vector of the next node, return the node number of the next node to the source terminal node, and simultaneously send the exclusive or node number and the split intermediate vector to the next routing node. Then, the next routing node can calculate the node number of the next routing node according to the node number of the current node and the intermediate vector corresponding to the next routing node, and return the node number of the next routing node to the source terminal node, and simultaneously send the exclusive or node number and the intermediate vector to the next routing node until reaching the target routing node. So far, the source terminal node can obtain the node numbers of all the intermediate routing nodes. Furthermore, the source terminal node can determine M routing paths according to the acquired intermediate node numbers of the intermediate routing nodes, and screen out unique target routing paths from the M routing paths according to a preset path screening rule, so that the source terminal node can perform data communication with the target terminal node according to the unique target routing paths.
Referring to fig. 3, a schematic diagram of a routing algorithm flow provided in an embodiment of the present application is shown. As shown in fig. 3, first, the exclusive or node number and the split intermediate vector may be transmitted by the source terminal node to a first one of the intermediate routing nodes, i.e., the source routing node. And secondly, the source routing node can calculate the node number of the next node according to the source routing node number and the intermediate vector corresponding to the next node, send the node number of the next node to the CPU, and send the exclusive OR node number and the split intermediate vector to the next routing node. Then, the next routing node can calculate the node number of the next routing node according to the node number of the current node and the intermediate vector corresponding to the next routing node, and send the node number of the next routing node to the CPU, and meanwhile send the exclusive OR node number and the intermediate vector to the next routing node until reaching the target routing node. So far, the CPU can obtain the node numbers of all the intermediate routing nodes. Furthermore, the CPU may determine M routing paths according to the obtained intermediate node numbers of the intermediate routing nodes, and screen a unique target routing path from the M routing paths according to a preset path screening rule. Finally, the CPU may send the screened target routing path to the source terminal node for data communication with the target terminal node by the source terminal node according to the unique target routing path.
It may be appreciated that in the above two implementations, the source terminal node may determine the routing path and screen the target routing path according to the intermediate node number, or the CPU may determine the routing path and screen the target routing path according to the intermediate node number, and specifically, the specific implementation manner of determining the routing path and screening the target routing path may depend on the service requirement, which is not limited in this embodiment.
First, the target routing path screening process combined with the xor number screening rule may be described in detail in connection with the following specific implementation manner.
In a specific implementation of the present application, the step 104 may include:
substep C1: and under the condition that the preset path screening rule is an exclusive or number screening rule, randomly screening two routing paths from the M routing paths, and marking the two routing paths as a first routing path and a second routing path respectively.
In this embodiment of the present application, in the case where the preset path screening rule is an exclusive or number screening rule, two routing paths may be randomly screened out from M routing paths, and the two routing paths may be respectively marked as a first routing path and a second routing path. As shown in fig. 5, two paths, which are identical to the start node and the end node, may be denoted as a "+" path and a "-" path, respectively, i.e., a first routing path and a second routing path in this example.
In this example, when m=2, then the two routing paths may be marked as a first routing path and a second routing path, respectively. When M is greater than 2, two paths may be randomly selected from the M paths, for example, m=6, and the six routing paths are respectively: in this case, the path 1 and the path 2 may be two randomly selected routing paths, the path 3 and the path 6 may be two randomly selected routing paths, the path 2 and the path 5 may be two randomly selected routing paths, or the path 1, the path 2, the path 4, the path 5, the path 6, and the like.
After randomly screening two routing paths from the M routing paths and marking the two routing paths as a first routing path and a second routing path respectively, a sub-step C2 is performed.
Substep C2: and screening the target routing path from the first routing path and the second routing path based on the exclusive or node numbers.
After the two routing paths are respectively marked as the first routing path and the second routing path, the target routing path can be screened out from the first routing path and the second routing path based on the exclusive or node number.
According to the method and the device, the two routing paths between the source terminal node and the target terminal node are marked and then screened, so that the uniqueness of the routing paths between the source terminal node and the target terminal node can be ensured, and the problem of data disorder is avoided.
In a specific implementation, when screening the target routing path, the screening may be performed in combination with the number of bits with a bit value of 1 in the xor node number, and the implementation process may be described in detail in combination with the following specific implementation manner.
In a specific implementation of the present application, the above sub-step C1 may include:
substep D1: and acquiring the bit number with the bit value of 1 in the first N-1 bits of the exclusive-or node number, wherein N is the bit number of the exclusive-or node number.
In this embodiment, when the screening of the target routing path is performed, the number of bits with bit value of 1 out of the first N-1 bits of the xor node number may be obtained. For example, at exclusive or node number: 00100, the number of bits with bit value 1 in the exclusive or node number is 1. The serial numbers of the exclusive or nodes are as follows: 11101, the number of bits with a bit value of 1 in the exclusive or node number is 3.
It will be appreciated that the above examples are only examples listed for better understanding of the technical solutions of the embodiments of the present application, and are not to be construed as the only limitation of the present embodiments.
After the number of bits having a bit value of 1 among the first N-1 bits of the exclusive-or node number is acquired, a sub-step D2 is performed.
Substep D2: and screening the target routing path from the first routing path and the second routing path according to the bit number.
After the bit number with the bit value of 1 in the first N-1 bits of the exclusive OR node number is obtained, the target routing path can be screened from the first routing path and the second routing path according to the bit number.
Specifically, when the number of bits with a bit value of 1 out of the first N-1 bits of the exclusive or node number is greater than 1, the magnitude relation between the first node number and the second node number may be compared. Further, the target routing path may be screened from the first routing path and the second routing path according to the size relationship.
Specifically, in the case where the size relationship indicates that the first node number is smaller than the second node number, the first routing path may be regarded as the target routing path.
In case the size relation indicates that the first node number is larger than the second node number, the second routing path may be taken as the target routing path.
And when the bit number of the bit value 1 in the first N-1 bits of the exclusive-or node number is equal to 1, the bit value of the last bit in the first N-1 bits of the exclusive-or node number can be obtained, and the screening of the target routing path can be performed according to the bit value. The implementation may be described in detail below in connection with the following specific implementations.
In another specific implementation of the present application, the foregoing substep C2 may include:
substep E1: and under the condition that the bit number is equal to 1, acquiring the bit value of the last bit in the first N-1 bits of the exclusive OR node number.
In this embodiment, when the number of bits with bit value 1 in the first N-1 bits of the xor node number is equal to 1, the bit value of the last bit in the first N-1 bits of the xor node number may be obtained.
Substep E2: and screening the target routing path from the first routing path and the second routing path according to the bit value.
After the bit value of the last bit in the first N-1 bits of the xor node number is obtained, the target routing path may be screened from the first routing path and the second routing path according to the bit value. Specifically, in the case where the bit value is 1, the first routing path may be regarded as the target routing path. In case the bit value is 0, the second routing path may be taken as the target routing path.
The method for screening the target routing paths can ensure that only one unique routing path exists between the source terminal node and the target terminal node, so that the problem of data disorder can be avoided, and the purpose of data order preservation is achieved.
The screening process of the target routing path may be described in detail below in conjunction with fig. 5.
As shown in fig. 5, two paths, which are identical to the start node and the end node, may be denoted as a "+" path and a "-" path, respectively.
The convention for path screening in this embodiment is as follows:
contract 1: if the number of "1" s in exclusive or node number I is greater than 1: if the starting route node number (i.e. the first node number) is small and the target route node number (i.e. the second node number) is large, the route is considered to be a positive route, and only a "+" path can be taken along; if the starting route node label is large and the target route node label is small, the route node label is considered as a negative route, and only a "-" path can be taken along the route.
If the number of "1" in I is equal to 1, it indicates that the source node and the destination node are adjacent, and at this time, the destination node can be reached only by one hop, if the routing is still performed according to the convention 1, one path is always unused, for example, s=00001, d=00011, i=0001_, if the routing is still performed according to the convention 1, the routing is considered to be a positive route, and only "+" paths can be taken along, so that the "-" paths are wasted. Conversely, if the route is still according to convention 1, then it is considered to be a negative route, and only the "-" path can be followed along, for example, s=00011, d=00001, i=0001_; there is a "+" path wastage situation, so to further optimize routing paths to reduce wastage, there is a convention of 2.
Contract 2: if the number of "1" s in I is equal to 1, then: observing the last bit of the I, if the last bit is 1, only a "+" path can be taken along the way; if 0, only the "-" path can be taken along the way. For example, s=00001, d=00011, i=00010, if still routed according to contract 2, then only the "-" path can be taken along the way. Alternatively, s=00001, d=00010, i=00011, if still routed according to contract 2, then only the "+" path can be followed.
It will be appreciated that the above examples are only examples listed for better understanding of the technical solutions of the embodiments of the present application, and are not to be construed as the only limitation of the present embodiments.
Next, a process of screening the target routing path for the quality screening rule may be described in detail in connection with the following specific implementation manner.
In a specific implementation of the present application, the step 104 may include:
substep F1: and under the condition that the preset path screening rule is a quality screening rule, determining data transmission quality information of the M routing paths according to the historical data transmission information of the M routing paths.
In this embodiment of the present application, in the case where the preset path filtering rule is a quality filtering rule, data transmission quality information of M routing paths may be determined according to historical data transmission information of M routing paths. The data transmission quality information may be used to indicate the quality of the M routing paths when transmitting data.
In a specific implementation, data transmission information of M routing paths in a historical time with a preset duration from the current time can be obtained, the number of times of transmission failure of each routing path in the M routing paths can be counted through the data transmission information, and then the probability of transmission failure of each routing path is counted, the transmission quality information of the M routing paths can be obtained through the probability, specifically, the larger the probability is, the lower the transmission quality is, and otherwise, the smaller the probability is, the higher the transmission quality is.
After determining the data transmission quality information of the M routing paths according to the historical data transmission information of the M routing paths, a sub-step F2 is performed.
Substep F2: and screening a route path with highest data transmission quality from the M route paths according to the data transmission quality information to serve as the target route path.
After determining the data transmission quality information of the M routing paths according to the historical data transmission information of the M routing paths, the routing path with the highest data transmission quality can be screened out of the M routing paths according to the data transmission quality information to serve as a target routing path. For example, m=4, and the four routing paths are respectively: path 1, path 2, path 3 and path 4, the quality of these four routing paths are: path 3 > path 1 > path 4 > path 2, and in this case, path 3 may be a target route path or the like.
It will be appreciated that the above examples are only examples listed for better understanding of the technical solutions provided by the embodiments of the present application, and are not the only limitation of the present embodiments.
Of course, after the target routing path is screened according to the quality screening rule, when the source terminal node and the target terminal node transmit the data packet, the complete data packet needs to be successfully transmitted, and then the target routing path can be switched. For example, when a data packet is split into several data packets for transmission, such as splitting a complete data packet into 20 sub-data packets, and when data transmission is performed according to the target routing path, after all the 20 sub-data packets need to be sent to the receiving end, the switching of the target routing path can be performed, for example, when the current path 2 is the path with the highest quality, and after one hour, the path 3 becomes the path with the highest quality, and during the data transmission, the switching of the target routing path is not allowed until the complete data packet is completely transmitted.
According to the method and the device, the unique target route path between the source terminal node and the target terminal node is screened out from the M route paths according to the transmission quality, so that the data order keeping purpose is achieved, and meanwhile, the data transmission efficiency between the source terminal node and the target terminal node can be improved.
The process of screening the target routing path in conjunction with the busy state screening rules will be described in detail in connection with the following specific implementation.
In a specific implementation of the present application, the step 104 may include:
substep G1: and under the condition that the preset path screening rule is a busy state screening rule, acquiring busy and idle state information of the M routing paths.
In the embodiment of the application, under the condition that the preset path screening rule is a busy state screening rule, busy state information of M routing paths is obtained. The busy state information may be used to indicate whether the M routing paths are busy or idle. In a specific implementation, the busy states of the M routing paths may be determined according to the current data transmission amounts of the M routing paths.
After the busy state information of the M routing paths is acquired, a sub-step G2 is performed.
Substep G2: and screening the target routing path from the M routing paths based on the busy and idle state information.
After the busy/idle state information of the M routing paths is obtained, the target routing path may be screened out of the M routing paths based on the busy/idle state information. Specifically, the most idle route path may be selected from the M route paths as the target route path. I.e. the target routing path has the least amount of data to transmit at the current time.
Of course, after the target routing path is screened out according to the busy state screening rule, when the source terminal node and the target terminal node transmit the data packet, the complete data packet needs to be successfully sent, and then the target routing path can be switched.
According to the method and the device, the unique target route path between the source terminal node and the target terminal node is screened out from the multiple route paths by adopting the busy state rule, so that the data order keeping purpose is achieved, and meanwhile, the data transmission efficiency between the source terminal node and the target terminal node can be improved.
Next, a process of screening the target routing path in combination with the delay screening rule may be described in detail in connection with the following specific implementation manner.
In a specific implementation of the present application, the step 104 may include:
substep H1: and under the condition that the preset path screening rule is a time delay screening rule, determining transmission time delay information of the M routing paths according to historical data transmission information of the M routing paths within a preset time length from the current time.
In this embodiment of the present application, in the case where the preset path filtering rule is a delay filtering rule, transmission delay information of M routing paths may be determined according to historical data transmission information of M routing paths within a preset duration from a current time. The transmission delay information may be used to indicate delays of the M routing paths when transmitting data. Specifically, the time spent by transmitting each data packet by the M routing paths and the time required by normal transmission can be counted according to the historical data transmission information, and the average time delay of each routing path is counted by means of averaging, so as to be used as the transmission time delay information of each routing path.
And after determining the transmission delay information of the M routing paths according to the historical data transmission information of the M routing paths within a preset time length from the current time, executing the substep H2.
Substep H2: and screening a routing path with the lowest transmission delay from the M routing paths based on the transmission delay information to serve as the target routing path.
After determining the transmission delay information of the M routing paths according to the historical data transmission information of the M routing paths within a preset time length from the current time, the routing path with the lowest transmission delay can be screened from the M routing paths according to the transmission delay information, so as to be used as a target routing path.
It can be appreciated that after the target routing path is screened according to the delay screening rule, when the source terminal node and the target terminal node transmit the data packet, the complete data packet needs to be successfully transmitted, and then the target routing path can be switched.
According to the method and the device, the unique target route path between the source terminal node and the target terminal node is screened out from the plurality of route paths by adopting the time delay screening rule, so that the data order keeping purpose is achieved, and meanwhile, the data transmission efficiency between the source terminal node and the target terminal node can be improved.
According to the routing path determining method of the bidirectional topological network, the source terminal node is called, exclusive-or processing is conducted on the first node number of the source terminal node and the second node number of the target terminal node, the exclusive-or node number is obtained, and the exclusive-or node number is split into intermediate vectors corresponding to other routing nodes except the source routing node in the intermediate routing nodes. And sequentially calling the intermediate routing nodes, and calculating the node number of the next routing node according to the node number of the current intermediate routing node and the intermediate vector corresponding to the next routing node until the target routing node is reached. And determining M routing paths between the source terminal node and the target terminal node based on the node numbers of the intermediate routing nodes, wherein M is a positive integer greater than or equal to 2. Based on a preset path screening rule, a unique target routing path between a source terminal node and the target terminal node is screened from M routing paths. According to the method and the device, the intermediate routing node is determined by combining the exclusive or node numbers obtained by exclusive or of the source routing node and the target routing node, and the unique target routing path between the source terminal node and the target terminal node is screened from the plurality of routing paths according to the preset path screening rule, so that data is transmitted between the source terminal node and the target terminal node through the unique routing path, the problem of data disorder can be avoided, and the purpose of data order preservation is achieved.
Referring to fig. 6, a schematic structural diagram of a routing path determining apparatus of a bidirectional topology network provided in an embodiment of the present application is shown, where the apparatus may be applied to an IO control chip, and the IO control chip includes: the system comprises a source terminal node, a target terminal node, a source routing node and a target routing node, wherein the source terminal node is a terminal node under the source routing node, and the target terminal node is a terminal node under the target routing node. As shown in fig. 6, the routing path determining apparatus 600 of the bidirectional topology network may include the following modules:
the node number processing module 610 is configured to invoke the source terminal node, perform exclusive-or processing on a first node number of the source terminal node and a second node number of the target terminal node to obtain an exclusive-or node number, and split the exclusive-or node number into intermediate vectors corresponding to other routing nodes in the intermediate routing nodes except the source routing node;
an intermediate node number obtaining module 620, configured to call the intermediate routing nodes in sequence, and calculate, according to the node number of the current intermediate routing node and the intermediate vector corresponding to the next routing node, the node number of the next routing node until the target routing node is reached;
A routing path determining module 630, configured to determine M routing paths between the source terminal node and the target terminal node based on the node number of the intermediate routing node, where M is a positive integer greater than or equal to 2;
and the target routing path screening module 640 is configured to screen a unique target routing path between the source terminal node and the target terminal node from the M routing paths based on a preset path screening rule.
Optionally, the node numbering processing module includes:
a node number determining unit, configured to determine the number of nodes of an intermediate routing node between the source terminal node and the target terminal according to the number of numerical values 1 in the first N-1 bits of the exclusive or node number; n is the number of bits of the exclusive OR node number, and N is a positive integer;
and the intermediate vector acquisition unit is used for splitting the position of the numerical value 1 in the first N-1 bits of the exclusive-or node number from the highest bit of the exclusive-or node number according to the inverse operation of the exclusive-or operation under the condition that the number of the nodes is larger than 2, so as to obtain the intermediate vector.
Optionally, the node number determining unit includes:
the number acquisition subunit is used for acquiring the number of the numerical value 1 in the first N-1 bits of the exclusive OR node number;
And the node acquisition subunit is used for calculating the sum value of the number and 1, and taking the sum value as the node number of the intermediate routing nodes.
Optionally, the intermediate node number acquisition module includes:
the node number acquisition unit is used for sequentially calling the intermediate routing nodes from the source routing node, performing exclusive or on the node number of the current intermediate routing node and an intermediate vector corresponding to a next routing node to obtain the node number of the next routing node, and transmitting the intermediate vector and the exclusive or node number to the next routing node;
and the node flow ending unit is used for ending the searching flow of the intermediate routing node until the node number of the next routing node obtained through calculation is the same as the node number of the target routing node, so as to obtain the node number of the intermediate routing node.
Optionally, the target routing path screening module includes:
the routing path marking unit is used for randomly screening two routing paths from the M routing paths under the condition that the preset path screening rule is an exclusive or number screening rule, and marking the two routing paths as a first routing path and a second routing path respectively;
And the first path screening unit is used for screening the target routing path from the first routing path and the second routing path based on the exclusive or node number.
Optionally, the first path screening unit includes:
a bit number obtaining subunit, configured to obtain a bit number with a bit value of 1 in the first N-1 bits of the xor node number;
and the target path screening subunit is used for screening the target routing path from the first routing path and the second routing path according to the bit number.
Optionally, the target path screening subunit includes:
a size relation comparing subunit, configured to compare a size relation between the first node number and the second node number when the number of bits is greater than 1;
a first path obtaining subunit, configured to take the first routing path as the target routing path when the size relationship indicates that the first node number is smaller than the second node number;
a second path obtaining subunit, configured to take the second routing path as the target routing path when the size relationship indicates that the first node number is greater than the second node number.
Optionally, the target path screening subunit includes:
a bit value obtaining subunit, configured to obtain, when the number of bits is equal to 1, a bit value of a last bit of the first N-1 bits of the xor node number;
a third path obtaining subunit, configured to take the first routing path as the target routing path if the bit value is 1;
a fourth path obtaining subunit, configured to take the second routing path as the target routing path when the bit value is 0.
Optionally, the target routing path screening module includes:
a transmission quality determining unit, configured to determine data transmission quality information of the M routing paths according to historical data transmission information of the M routing paths when the preset path screening rule is a quality screening rule;
and the second path screening unit is used for screening a routing path with highest data transmission quality from the M routing paths according to the data transmission quality information to serve as the target routing path.
Optionally, the target routing path screening module includes:
the busy/idle state acquisition unit is used for acquiring the busy/idle state information of the M routing paths under the condition that the preset path screening rule is the busy/idle state screening rule;
And the third path screening unit is used for screening the target routing path from the M routing paths based on the busy and idle state information.
Optionally, the target routing path screening module includes:
the transmission delay determining unit is used for determining the transmission delay information of the M routing paths according to the historical data transmission information of the M routing paths within a preset time length from the current time when the preset path screening rule is the delay screening rule;
and a fourth path screening unit, configured to screen, based on the transmission delay information, a routing path with the lowest transmission delay from the M routing paths, so as to serve as the target routing path.
Optionally, the apparatus further comprises:
a bit value determining module, configured to determine whether bit values of the first N-1 bits in the xor node number are all 0;
and the routing flow ending module is used for determining that the source routing node and the target routing node are the same routing node and ending the routing flow in response to the fact that the bit values of the first N-1 bits are 0.
According to the routing path determining device of the bidirectional topological network, the source terminal node is called, exclusive or processing is conducted on the first node number of the source terminal node and the second node number of the target terminal node, the exclusive or node number is obtained, and the exclusive or node number is split into intermediate vectors corresponding to other routing nodes except the source routing node in the intermediate routing nodes. And sequentially calling the intermediate routing nodes, and calculating the node number of the next routing node according to the node number of the current intermediate routing node and the intermediate vector corresponding to the next routing node until the target routing node is reached. And determining M routing paths between the source terminal node and the target terminal node based on the node numbers of the intermediate routing nodes, wherein M is a positive integer greater than or equal to 2. Based on a preset path screening rule, a unique target routing path between a source terminal node and the target terminal node is screened from M routing paths. According to the method and the device, the intermediate routing node is determined by combining the exclusive or node numbers obtained by exclusive or of the source routing node and the target routing node, and the unique target routing path between the source terminal node and the target terminal node is screened from the plurality of routing paths according to the preset path screening rule, so that data is transmitted between the source terminal node and the target terminal node through the unique routing path, the problem of data disorder can be avoided, and the purpose of data order preservation is achieved.
Additionally, the embodiment of the application also provides electronic equipment, which comprises: the routing path determination method for the bidirectional topological network comprises a memory, a processor and a computer program which is stored in the memory and can run on the processor, wherein the computer program realizes the routing path determination method for the bidirectional topological network when being executed by the processor.
Fig. 7 shows a schematic structural diagram of an electronic device 700 according to an embodiment of the present invention. As shown in fig. 7, the electronic device 700 includes a Central Processing Unit (CPU) 701 that can perform various suitable actions and processes according to computer program instructions stored in a Read Only Memory (ROM) 702 or computer program instructions loaded from a storage unit 708 into a Random Access Memory (RAM) 703. In the RAM703, various programs and data required for the operation of the electronic device 700 may also be stored. The CPU701, ROM 702, and RAM703 are connected to each other through a bus 704. An input/output (I/O) interface 705 is also connected to bus 704.
Various components in the electronic device 700 are connected to the I/O interface 705, including: an input unit 706 such as a keyboard, mouse, microphone, etc.; an output unit 707 such as various types of displays, speakers, and the like; a storage unit 708 such as a magnetic disk, an optical disk, or the like; and a communication unit 709 such as a network card, modem, wireless communication transceiver, etc. The communication unit 709 allows the electronic device 700 to exchange information/data with other devices through a computer network, such as the internet, and/or various telecommunication networks.
The various procedures and processes described above may be performed by the processing unit 701. For example, the methods of any of the embodiments described above may be implemented as a computer software program tangibly embodied on a computer-readable medium, such as storage unit 708. In some embodiments, part or all of the computer program may be loaded and/or installed onto the electronic device 700 via the ROM702 and/or the communication unit 709. When the computer program is loaded into RAM703 and executed by CPU701, one or more actions of the methods described above may be performed.
The embodiment of the application also provides a computer readable storage medium, on which a computer program is stored, which when executed by a processor, implements the processes of the routing path determining method embodiment of the bidirectional topology network, and can achieve the same technical effects, so that repetition is avoided, and no further description is given here. Wherein the computer readable storage medium is selected from Read-Only Memory (ROM), random access Memory (Random Access Memory, RAM), magnetic disk or optical disk.
The foregoing is merely specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily think about changes or substitutions within the technical scope of the present application, and the changes and substitutions are intended to be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (13)

1. A routing path determining method of a bidirectional topology network is applied to an IO control chip, wherein the IO control chip comprises: the method comprises the steps of providing a source terminal node, a target terminal node, a source routing node and a target routing node, wherein the source terminal node is a terminal node under the source routing node, and the target terminal node is a terminal node under the target routing node, and is characterized in that the method comprises the following steps:
invoking the source terminal node, performing exclusive-or processing on a first node number of the source terminal node and a second node number of the target terminal node to obtain an exclusive-or node number, and splitting the exclusive-or node number into intermediate vectors corresponding to other routing nodes except the source routing node in the intermediate routing nodes;
sequentially calling the intermediate routing nodes, calculating the node number of the next routing node according to the node number of the current intermediate routing node and the intermediate vector corresponding to the next routing node until the node number reaches the target routing node, and comprising the following steps: sequentially calling the intermediate routing nodes from the source routing node, performing exclusive or on the node number of the current intermediate routing node and the intermediate vector corresponding to the next routing node to obtain the node number of the next routing node, and transmitting the intermediate vector and the exclusive or node number to the next routing node; ending the searching process of the intermediate routing node until the node number of the next routing node obtained by calculation is the same as the node number of the target routing node, so as to obtain the node number of the intermediate routing node;
Determining M routing paths between the source terminal node and the target terminal node based on the node number of the intermediate routing node, wherein M is a positive integer greater than or equal to 2;
based on a preset path screening rule, screening out a unique target routing path between the source terminal node and the target terminal node from the M routing paths, wherein the method comprises the following steps: under the condition that the preset path screening rule is an exclusive or number screening rule, randomly screening two routing paths from the M routing paths, and marking the two routing paths as a first routing path and a second routing path respectively; and screening the target routing path from the first routing path and the second routing path based on the exclusive or node numbers.
2. The method according to claim 1, wherein splitting the exclusive or node number into intermediate vectors corresponding to other routing nodes than the source routing node among the intermediate routing nodes comprises:
determining the node number of the intermediate routing nodes between the source terminal node and the target terminal according to the number of the numerical value 1 in the first N-1 bits of the exclusive OR node number; n is the number of bits of the exclusive OR node number, and N is a positive integer;
And under the condition that the number of the nodes is larger than 2, according to the inverse operation of the exclusive or operation, the position of the numerical value 1 in the first N-1 bits of the exclusive or node number is split from the highest bit of the exclusive or node number, so that the intermediate vector is obtained.
3. The method according to claim 2, wherein determining the number of nodes of the intermediate routing node between the source terminal node and the destination terminal according to the number of numerical 1 in the first N-1 bits of the exclusive-or node number includes:
acquiring the number of numerical value 1 in the first N-1 bits of the exclusive OR node number;
and calculating to obtain a sum value of the number and 1, and taking the sum value as the node number of the intermediate routing nodes.
4. The method of claim 1, wherein the screening the target routing path from the first routing path and the second routing path based on the exclusive or node number comprises:
acquiring the bit number with the bit value of 1 in the first N-1 bits of the exclusive OR node number;
and screening the target routing path from the first routing path and the second routing path according to the bit number.
5. The method of claim 4, wherein the selecting the target routing path from the first routing path and the second routing path based on the number of bits comprises:
comparing the magnitude relation between the first node number and the second node number in the case that the bit number is greater than 1;
when the size relation indicates that the first node number is smaller than the second node number, the first routing path is used as the target routing path;
and taking the second routing path as the target routing path when the size relation indicates that the first node number is larger than the second node number.
6. The method of claim 4, wherein the selecting the target routing path from the first routing path and the second routing path based on the number of bits comprises:
under the condition that the bit number is equal to 1, acquiring the bit value of the last bit in the first N-1 bits of the exclusive OR node number;
taking the first routing path as the target routing path in the case that the bit value is 1;
And taking the second routing path as the target routing path in the case that the bit value is 0.
7. The method according to claim 1, wherein the selecting a unique target routing path between the source terminal node and the target terminal node from the M routing paths based on a preset path selection rule includes:
under the condition that the preset path screening rule is a quality screening rule, determining data transmission quality information of the M routing paths according to the historical data transmission information of the M routing paths;
and screening a route path with highest data transmission quality from the M route paths according to the data transmission quality information to serve as the target route path.
8. The method according to claim 1, wherein the selecting a unique target routing path between the source terminal node and the target terminal node from the M routing paths based on a preset path selection rule includes:
acquiring the busy/idle state information of the M routing paths under the condition that the preset path screening rule is the busy/idle state screening rule;
and screening the target routing path from the M routing paths based on the busy and idle state information.
9. The method according to claim 1, wherein the selecting a unique target routing path between the source terminal node and the target terminal node from the M routing paths based on a preset path selection rule includes:
under the condition that the preset path screening rule is a time delay screening rule, determining transmission time delay information of the M routing paths according to historical data transmission information of the M routing paths within a preset time length from the current time;
and screening a routing path with the lowest transmission delay from the M routing paths based on the transmission delay information to serve as the target routing path.
10. The method according to claim 1, further comprising, after performing exclusive-or processing on the first node number of the source terminal node and the second node number of the target terminal node to obtain an exclusive-or node number:
determining whether bit values of the first N-1 bits in the exclusive OR node number are all 0;
and in response to the bit values of the first N-1 bits being 0, determining that the source routing node and the target routing node are the same routing node, and ending the routing flow.
11. A routing path determining device of a bidirectional topology network is applied to an IO control chip, wherein the IO control chip comprises: the device comprises a source terminal node, a target terminal node, a source routing node and a target routing node, wherein the source terminal node is a terminal node under the source routing node, and the target terminal node is a terminal node under the target routing node, and the device is characterized in that the device comprises:
the node number processing module is used for calling the source terminal node, carrying out exclusive or processing on a first node number of the source terminal node and a second node number of the target terminal node to obtain an exclusive or node number, splitting the exclusive or node number into intermediate vectors corresponding to other routing nodes except the source routing node in the intermediate routing nodes, wherein the first node number and the second node number are binary numbers;
the intermediate node number acquisition module is used for sequentially calling the intermediate routing nodes, and calculating the node number of the next routing node according to the node number of the current intermediate routing node and the intermediate vector corresponding to the next routing node until the node number reaches the target routing node;
The routing path determining module is used for determining M routing paths between the source terminal node and the target terminal node based on the node number of the intermediate routing node, wherein M is a positive integer greater than or equal to 2;
the target route path screening module is used for screening out a unique target route path between the source terminal node and the target terminal node from the M route paths based on a preset route screening rule;
the intermediate node number acquisition module includes:
the node number acquisition unit is used for sequentially calling the intermediate routing nodes from the source routing node, performing exclusive or on the node number of the current intermediate routing node and an intermediate vector corresponding to a next routing node to obtain the node number of the next routing node, and transmitting the intermediate vector and the exclusive or node number to the next routing node;
a node flow ending unit, configured to end a searching flow of an intermediate routing node until the calculated node number of the next routing node is the same as the node number of the target routing node, so as to obtain the node number of the intermediate routing node;
the target routing path screening module comprises:
The routing path marking unit is used for randomly screening two routing paths from the M routing paths under the condition that the preset path screening rule is an exclusive or number screening rule, and marking the two routing paths as a first routing path and a second routing path respectively;
and the first path screening unit is used for screening the target routing path from the first routing path and the second routing path based on the exclusive or node number.
12. An electronic device, comprising:
memory, a processor and a computer program stored on the memory and executable on the processor, which when executed by the processor implements the routing path determination method of a bi-directional topology network according to any of claims 1 to 10.
13. A readable storage medium, characterized in that instructions in the storage medium, when executed by a processor of an electronic device, enable the electronic device to perform the routing path determination method of the bidirectional topology network of any of claims 1 to 10.
CN202311632542.6A 2023-11-30 2023-11-30 Routing path determining method, device, equipment and medium of bidirectional topological network Active CN117354230B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311632542.6A CN117354230B (en) 2023-11-30 2023-11-30 Routing path determining method, device, equipment and medium of bidirectional topological network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311632542.6A CN117354230B (en) 2023-11-30 2023-11-30 Routing path determining method, device, equipment and medium of bidirectional topological network

Publications (2)

Publication Number Publication Date
CN117354230A CN117354230A (en) 2024-01-05
CN117354230B true CN117354230B (en) 2024-02-27

Family

ID=89361708

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311632542.6A Active CN117354230B (en) 2023-11-30 2023-11-30 Routing path determining method, device, equipment and medium of bidirectional topological network

Country Status (1)

Country Link
CN (1) CN117354230B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117135108A (en) * 2023-10-25 2023-11-28 苏州元脑智能科技有限公司 Routing path planning method, routing request processing method, equipment and medium
CN117135106A (en) * 2023-10-25 2023-11-28 苏州元脑智能科技有限公司 Routing path planning method, routing request processing method, equipment and medium
CN117135059A (en) * 2023-10-25 2023-11-28 苏州元脑智能科技有限公司 Network topology structure, construction method, routing algorithm, equipment and medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117135108A (en) * 2023-10-25 2023-11-28 苏州元脑智能科技有限公司 Routing path planning method, routing request processing method, equipment and medium
CN117135106A (en) * 2023-10-25 2023-11-28 苏州元脑智能科技有限公司 Routing path planning method, routing request processing method, equipment and medium
CN117135059A (en) * 2023-10-25 2023-11-28 苏州元脑智能科技有限公司 Network topology structure, construction method, routing algorithm, equipment and medium

Also Published As

Publication number Publication date
CN117354230A (en) 2024-01-05

Similar Documents

Publication Publication Date Title
US11082308B2 (en) Multi-path aware tracing and probing functionality at service topology layer
US8279753B2 (en) Efficient determination of fast routes when voluminous data is to be sent from a single node to many destination nodes via other intermediate nodes
US11323366B2 (en) Path determining method, apparatus, and system
US10355971B2 (en) System and method for data path validation and verification
CN112822106A (en) Segment routing service processing method, device, source node and storage medium
CN107508712B (en) Network topology discovery method and device
CN107682270B (en) Network topology discovery method and device
CN115208815A (en) Routing method and routing device
CN105337860A (en) Method and system for determining transmission path of data packet, and apparatuses
CN105814850B (en) Route method, node and the communication system of data packet
CN117354230B (en) Routing path determining method, device, equipment and medium of bidirectional topological network
US7941531B2 (en) Age biased distributed collision resolution without clocks
CN111464443B (en) Message forwarding method, device, equipment and storage medium based on service function chain
US20160352607A1 (en) Method and controller for announcing bandwidth of cluster system
EP2923464A1 (en) System and method for finding partially disjoint paths for spare capacity allocation in shared backup path protection for dual fiber cuts
CN112087376B (en) Load sharing method and device
CN117155846B (en) Routing method, device, computer equipment and storage medium of interconnection network
CN117240772B (en) Routing path determining method and device, electronic equipment and storage medium
EP3742686B1 (en) Computing a sustainable rate for broadcast traffic in a network
Qi et al. An improved sierpinski fractal based network architecture for edge computing datacenters
CN113825175B (en) Satellite data transmission method, device, equipment and storage medium
CN116192753B (en) Flow distribution method and device
CN116192533B (en) WAF deployment system, WAF deployment method, WAF deployment equipment and WAF deployment medium
CN114666265B (en) Data transmission method, device, computing equipment and medium
JP2009200768A (en) Communication path setting method, communication path setting program, communication terminal, wireless network system

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