WO2016078071A1 - 通信***、控制节点和通信方法 - Google Patents

通信***、控制节点和通信方法 Download PDF

Info

Publication number
WO2016078071A1
WO2016078071A1 PCT/CN2014/091847 CN2014091847W WO2016078071A1 WO 2016078071 A1 WO2016078071 A1 WO 2016078071A1 CN 2014091847 W CN2014091847 W CN 2014091847W WO 2016078071 A1 WO2016078071 A1 WO 2016078071A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
cluster
data packet
control node
information
Prior art date
Application number
PCT/CN2014/091847
Other languages
English (en)
French (fr)
Inventor
黄勤业
李扬
宋昆鹏
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2014/091847 priority Critical patent/WO2016078071A1/zh
Priority to CN201480037573.XA priority patent/CN105900383B/zh
Publication of WO2016078071A1 publication Critical patent/WO2016078071A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Definitions

  • Embodiments of the present invention relate to the field of communications and, more particularly, to communication systems, control nodes, and communication methods.
  • NoC Network-on-Chip
  • the route adaptation mechanism usually includes two parts: the first part calculates a plurality of optional routing paths between the source node and the destination node, and the second part selects one route from the multiple optional routing paths according to the network status information and the specific selection policy. path.
  • the routing policy in the prior art generally adopts a local area selection policy or a Neighbors on Path (NoP) policy. Specifically, taking the node (0, 0) shown in FIG. 1 as the source node and the node (3, 3) as the destination node as an example, the source node (0, 0) has two optional routing paths: the eastward direction Path and path to the south.
  • NoP Neighbors on Path
  • the source node (0, 0) In the local selection strategy, the source node (0, 0) only considers the state of the neighboring nodes when selecting the path, that is, only considers the state of the node (0, 1) and the node (1, 0). Since the node only considers the state of the possible next hop node when routing, congestion cannot be avoided at other nodes than the next hop node. In the NoP policy, the source node (0, 0) ignores the state of its neighbors (0, 1) and (1, 0) when selecting a path, and only considers the second hop node on the possible routing path. State, the state of nodes (0, 2) and (2, 0). The NoP strategy can avoid a deadlock at the corner in some scenarios, but since the NoP still only considers the state of some nodes and cannot balance the state of the whole network, the performance in the global scope is poor.
  • Embodiments of the present invention provide a communication system, a control node, and a communication method, which can improve overall performance of the system.
  • an embodiment of the present invention provides a communication system, including: a first node cluster and a second node cluster, where the first node cluster includes a first control node and at least one other node, and the second node cluster A second control node is included, wherein the first control node is not adjacent to the second control node; the first control node has a first transmission link with each of the at least one other node, The first transmission link is used to transmit state information of the node; the first control node and the second control node have a second transmission link, and the second transmission link is used to transmit state information of the node cluster.
  • the first transmission link is a wired transmission link
  • the second transmission link is a wireless transmission link
  • the first control node is configured to: receive each of the at least one other node sent by each of the other nodes on the corresponding first transmission link State information of other nodes; determining state information of the first node cluster according to state information of each of the other nodes; transmitting the number to the second control node on the second transmission link Status information of a node cluster.
  • the first control node is specifically configured to broadcast state information of the first node cluster on the second transmission link.
  • the status information includes a maximum cache occupancy rate BFM; the first control node is specifically configured to: the at least one other node and the first control node BFM The sum is determined as the BFM of the first node cluster.
  • each of the at least one other node is configured to: receive a status information reporting indication sent by the first control node, where the status information is reported Instructing each of the other nodes to send status information of each of the other nodes to the first control node; and transmitting status information of each of the other nodes to the first control node according to the status information reporting indication.
  • the first control node is further configured to: determine a third node cluster to which the destination node of the first data packet belongs, where the communication system further includes different a third node cluster of the first node cluster; determining a plurality of selectable routing paths of the first data packet from the first node cluster to the third node cluster, wherein each of the plurality of selectable routing paths
  • the optional routing path includes at least one node cluster; determining a target routing path from the plurality of optional routing paths according to state information of at least one node cluster included in each of the plurality of selectable routing paths .
  • the first data packet belongs to a first other node of the at least one other node; the first control node is further configured to determine the first data packet Before receiving the third node cluster to which the destination node belongs, receiving a path determination request sent by the first other node, where the path determination request is used to request the first control node to determine a routing path of the first data packet; the first control node Specifically, the third node cluster is determined according to the path determination request; the first control node is further configured to send the target to the first other node after determining the target routing path from the multiple optional routing paths. Routing path information.
  • the first other node is configured to: receive information about the target routing path sent by the first control node; add the target in the first data packet The information of the routing path; the first data packet of the information to which the target routing path is added is sent.
  • the first node cluster includes a forwarding node, the at least one other node includes the forwarding node, or the forwarding node is the first control node;
  • Receiving a second data packet where the second data packet carries information of a routing path of the second data packet, where information of the routing path includes information of at least one node cluster; and according to information about a routing path of the second data packet, Determining a next hop node cluster of the second data packet; determining, according to state information of the next hop node cluster of the second data packet and the plurality of neighboring nodes of the second other node, determining a next packet of the second data packet Jumping the node; sending the second data packet to the next hop node of the second data packet.
  • the at least one other node includes a second other node adjacent to the first control node; and between the first control node and the second other node There is also a third transmission link for transmitting data.
  • the at least one other node includes a third other node and a fourth other node adjacent to the third other node; the third other node and the There is a fourth transmission link between the fourth other nodes, and the fourth transmission link is used for transmitting data and status information of the node.
  • the first control node and the second control node have a wireless transceiver; any other node of the at least one other node does not have a wireless transceiver.
  • a control node including: a first transceiver unit, configured to receive status information of each of the other nodes sent by each of the at least one other node, where The first node cluster to which the control node belongs includes the at least one other node; the processing unit is configured to determine the first node cluster according to status information of each of the other nodes of the at least one other node received by the first transceiver unit The second transceiver unit is configured to send, to the second control node, status information of the first node cluster determined by the processing unit.
  • the second transceiver unit is specifically configured to broadcast state information of the first node cluster determined by the processing unit.
  • the second transceiver unit is further configured to: receive a token sent by the third control node, and send the first to the second control node according to the token State information of a node cluster; or the second transceiver unit is further configured to: after transmitting the state information of the first node cluster, send a token to the fourth control node, so that the fourth control node sends the token according to the token Status information of the node cluster to which the fourth control node belongs.
  • control node has a first wired transmission link with each of the other nodes
  • first transceiver unit is specifically configured to: Status information for each of the other nodes is received on a first wired transmission link with each of the other nodes.
  • the at least one other node includes a first other node adjacent to the control node, and the control node is different from the first other node. a second wired transmission link of the first wired transmission link; the first transceiver unit is further configured to send and receive data on the second wired transmission link.
  • the status information includes a maximum cache occupancy rate BFM, where the processing unit is specifically configured to determine the sum of the at least one other node and the BFM of the control node as the BFM of the first node cluster.
  • the first transceiver unit is further configured to: before receiving status information of each of the other nodes sent by each of the at least one other node, And transmitting, to each of the at least one other node, a status information reporting indication, the status information reporting indication for indicating that each of the other nodes sends its own status information.
  • the second transceiver unit is further configured to receive, by the second control node, status information of the second node cluster to which the second control node belongs;
  • the node further includes: a first storage unit, configured to store state information of the second node cluster received by the second transceiver unit.
  • the processing unit is further configured to: determine a third node cluster to which the destination node of the first data packet belongs; determine that the data packet is sent by the first node cluster a plurality of selectable routing paths of the third node cluster, wherein each of the plurality of selectable routing paths includes at least one node cluster; each optional route according to the plurality of selectable routing paths State information of at least one node cluster included in the path, and a target routing path is determined from the plurality of selectable routing paths.
  • the processing unit is specifically configured to: according to status information of at least one node cluster included in each optional routing path of the multiple optional routing paths, Determining the congestion status of each of the optional routing paths; determining the optional routing path with the least congestion in the plurality of optional routing paths as the target routing path.
  • the first data packet belongs to the control node, and the processing unit is further configured to add information of the target routing path to the first data packet;
  • a transceiver unit is further configured to send the first data packet to which the information of the target routing path is added.
  • the processing unit is further configured to acquire the control before the first transceiver unit sends the first data packet to which the information of the target routing path is added. State information of a plurality of neighboring nodes of the node, and determining a next hop node of the first data packet according to state information of the multiple neighboring nodes; the first transceiver unit is specifically configured to determine the The next hop node of the first data packet transmits the first data packet.
  • the processing unit is specifically configured to: determine, according to the status information of the multiple neighboring nodes, the uncongested state from the multiple neighboring nodes. At least one neighboring node; if the number of the at least one neighboring node is multiple, determining a next hop node cluster corresponding to the first node cluster in the target routing path, and the at least one neighboring node The next hop node cluster is determined to be the next hop node of the first data packet from the nearest neighbor node.
  • the first data packet belongs to a second other node of the at least one other node; the first transceiver unit is further configured to determine the first data Before receiving the third node cluster to which the destination node of the packet belongs, receiving a path determination request sent by the second other node, where the path determination request is used to request the control node to determine a routing path of the first data packet; the processing unit is specifically configured to: Determining, according to the path determination request received by the first transceiver unit, the third node cluster; the first transceiver unit is further configured to send the location to the second other node The information of the target routing path determined by the unit.
  • the path determining request carries information of the destination node of the first data packet;
  • the control node further includes: a second storage unit, configured to store the node and Corresponding relationship between the node clusters;
  • the processing unit is specifically configured to determine the third node cluster according to the information of the destination node and the correspondence between the node and the node cluster stored by the second storage unit.
  • the first transceiver unit is further configured to receive a second data packet, where the second data packet carries information about a routing path of the second data packet, where The information of the routing path of the second data packet includes information of the at least one node cluster; the processing unit is further configured to determine, according to the information of the routing path of the second data packet received by the first transceiver unit, the second data packet Determining a cluster of nodes, and determining a next hop node of the second data packet according to state information of a next hop node cluster of the second data packet and a plurality of neighboring nodes of the control node; the first transceiver unit further The second hop node for the second data packet determined by the processing unit transmits the second data packet.
  • a third aspect provides a communication method, including: a control node receiving status information of each of the other nodes sent by each of the at least one other node, wherein the first node cluster to which the control node belongs includes the At least one other node; determining state information of the first node cluster according to state information of each of the other nodes; and transmitting state information of the first node cluster to the second control node.
  • the sending the status information of the first node cluster to the second control node includes: broadcasting status information of the first node cluster.
  • the method before the sending, by the second control node, the status information of the first node cluster, the method further includes: receiving a token sent by the third control node;
  • the sending the status information of the first node cluster to the second control node includes: sending, according to the token, status information of the first node cluster to the second control node.
  • the status information includes a maximum cache occupancy rate BFM; and determining the first node cluster according to status information of each of the other nodes in the at least one other node.
  • the status information includes: determining a sum of BFM of the at least one other node and the control node as a BFM of the first node cluster.
  • the method before receiving, by each of the other nodes, the status information of each of the other nodes.
  • the method also includes transmitting a status information reporting indication to each of the at least one other node, the status information reporting indication for indicating that each of the other nodes transmits its own status information; the receiving at least one of the other nodes
  • the status information of each of the other nodes sent by the other nodes includes: receiving status information of each of the other nodes sent by each of the at least one other node according to the status information reporting indication.
  • the method further includes:
  • the method further includes: determining a third node cluster to which the destination node of the first data packet belongs; determining that the data packet is from the first node cluster to the first a plurality of optional routing paths of the three-node cluster, wherein each of the plurality of selectable routing paths includes at least one node cluster; according to each of the plurality of selectable routing paths The status information of the at least one node cluster is included, and the target routing path is determined from the plurality of optional routing paths.
  • the status information of the at least one node cluster included in each optional routing path of the multiple optional routing paths is selected from the multiple Determining a target routing path in the routing path, including: determining, according to state information of the at least one node cluster included in each of the plurality of optional routing paths, a congestion status of each optional routing path; An optional routing path with the least congestion in the multiple optional routing paths is determined as the target routing path.
  • the first data packet belongs to the control node; after the target routing path is determined from the multiple optional routing paths, the method further includes: Adding information of the target routing path to the first data packet; and transmitting the first data packet to which the information of the target routing path is added.
  • the method before the sending the first data packet to which the information of the target routing path is added, the method further includes: acquiring multiple neighbors of the control node Status information of the node; determining, according to the status information of the multiple neighboring nodes, a next hop node of the first data packet; sending the first data packet that adds information of the target routing path, including: to the first The next hop node of a data packet transmits the first data packet.
  • determining, according to the status information of the multiple neighboring nodes, determining a next hop node of the first data packet including: according to the multiple Determining the status information of the neighboring node, determining at least one neighboring node in the non-congested state from the plurality of neighboring nodes; if the number of the at least one neighboring node is multiple, determining the first in the target routing path a next hop node cluster corresponding to the node cluster, and determining a neighboring node that is closest to the next hop node cluster among the at least one neighboring node as a next hop node of the first data packet.
  • the method further includes: receiving a path determination request sent by the second other node, where the path determination request is used to request the control node to determine a routing path of the first data packet; determining the first data packet
  • the third node cluster to which the destination node belongs includes: determining the third node cluster according to the path determination request; after determining the target routing path from the multiple optional routing paths, the method further includes: Other nodes send information about the target routing path.
  • the path determining request carries the information of the destination node of the first data packet; determining the third node cluster according to the path determining request, including: Determining a correspondence between the node and the node cluster; determining the third node cluster according to the information of the destination node and the correspondence between the node and the node cluster.
  • the method further includes: receiving a second data packet, where the second data packet carries information about a routing path of the second data packet, and the second data packet The information of the routing path includes information of at least one node cluster; determining, according to information of the routing path of the second data packet, a next hop node cluster of the second data packet; and a next hop node cluster according to the second data packet And determining, by the status information of the multiple neighboring nodes of the control node, the next hop node of the second data packet; and sending the second data packet to the next hop node of the second data packet.
  • the communication system, the control node, and the communication method provided by the embodiment of the present invention include a first node cluster and a second node cluster, where the first control node and each of the other nodes in the first node cluster Having a first transmission link for transmitting state information of the node, and the first control node and the second control node not adjacent to the first control node have a state information for transmitting the cluster of nodes a second transmission link, such that the first control node can not only obtain the state information of each node included in the first node cluster, but also can obtain the state information of the second node cluster, thereby facilitating consideration of the selection of the output channel.
  • Local state information and global state information thereby avoiding the occurrence of congestion and improving the overall performance of the system.
  • FIG. 1 is a schematic diagram of a network architecture in the prior art.
  • FIG. 2 is a schematic diagram of a communication system according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of an example of a communication system according to an embodiment of the present invention.
  • FIG. 4 is a schematic block diagram of a control node according to an embodiment of the present invention.
  • FIG. 5 is a schematic block diagram of another control node according to an embodiment of the present invention.
  • FIG. 6 is a schematic flowchart of a communication method according to an embodiment of the present invention.
  • an interconnection communication system of an on-chip network such as an on-chip network composed of a processor unit and a memory unit, but may also be applied to a non-chip.
  • the network is not limited in this embodiment of the present invention.
  • a node may be in one-to-one correspondence with a router. Therefore, the description of a node in the embodiment of the present invention is equally applicable to a router.
  • FIG. 2 shows a schematic diagram of a communication system 100 in accordance with an embodiment of the present invention.
  • the communication system 100 includes:
  • first node cluster 110 includes a first control node 111 and at least one other node
  • second node cluster 120 includes a second control node 121, wherein the first node
  • the control node 111 is not adjacent to the second control node 121;
  • the first control node 111 has a first transmission link L1 between each of the at least one other node, and the first transmission link L1 is used to transmit state information of the node;
  • a communication system includes a first node cluster and a second node cluster, wherein the first control node and each of the other nodes in the first node cluster have state information for the transmission node a first transmission link, and the second control link between the first control node and the second control node not adjacent to the first control node has a second transmission link for transmitting state information of the node cluster, such that the A control node can not only obtain state information of each node included in the first node cluster, but also can obtain state information of the second node cluster, thereby facilitating consideration of local state information and global state information when selecting an output channel. In turn, congestion is avoided and the overall performance of the system is improved.
  • the state information of a node is a granularity of a node, and is used to indicate the state of the node.
  • the state information of the node cluster is used to indicate the state of the node cluster, and the state information of the node cluster may be granular by the node cluster.
  • the state of a node cluster may be determined according to the state of some or all of the nodes included in the node cluster.
  • the first node cluster 110 can include the first control node 111 and at least one other node, wherein the at least one other node can include a node that is not adjacent to the first control node 111.
  • the first control node 111 can have a first transmission link with each of the other nodes of the at least one other node.
  • the first transmission link L1 may be a wired link or a wireless link.
  • Each of the at least one other node may transmit its own status information to the first control node 111 via the first transmission link L1 with the first control node 111.
  • the first control node 111 may receive status information of each of the other nodes transmitted by the other node of the at least one other node on the corresponding first transmission link L1, and store the at least one other node.
  • the state information of each of the other nodes is determined, and/or the state information of the first node cluster is determined according to the state information of the at least one other node, but the embodiment of the present invention is not limited thereto.
  • the first control node 111 is located at the center of the first node cluster 110.
  • the first control node 111 may also be located at other locations of the first node cluster 110. This is not limited.
  • the first node cluster 110 also includes at least one other node, and FIG. 2 exemplarily shows eight other nodes, namely nodes 112-119.
  • the first control node 111 not only has a first transmission link L1 (represented by a long dashed line) for transmitting state information of the node, respectively, between the nodes 115, 113, 116 and 118 adjacent to the first control node, Further, there is also a first transmission link L1 between the nodes 112, 114, 117 and 119 which are not adjacent to the first control node.
  • L1 represented by a long dashed line
  • the first control node 111 and a node (eg, node 112) not adjacent to the first control node may have only one transmission link, that is, the first transmission link.
  • the first transmission link between the first control node 111 and a node not adjacent to the first control node cannot transmit data, such that the first control node 111 and a node not adjacent to the first control node Data cannot be transferred directly between.
  • the first control node 111 and the node adjacent to the first control node may have one or more transmission links, which is not limited in this embodiment of the present invention.
  • the at least one other node includes a second other node adjacent to the first control node 111, where the first control node 111 and the second other node are further used.
  • a third transmission link for transmitting data may be provided.
  • the first control node 111 has four adjacent nodes, namely, node 115, node 116, node 113, and node 118.
  • the first control node 111 and each of the four neighboring nodes may also have a third transmission link (represented by a short dashed line) for transmitting data.
  • the third transmission link may be dedicated to transmitting data
  • the first transmission link L1 between the first control node 111 and the four neighboring nodes may be dedicated to transmitting state information of the node, and It may be further used to transmit a route related message, for example, a neighboring node sends a path determination request to the first control node 111 through the first transmission link L1.
  • the first transmission link between the first control node 111 and the at least one neighboring node of the first control node 111 and the first control node 111 are adjacent to the at least one
  • the third transmission link between the nodes is the same link, for example, the first transmission link between the first control node 111 and the second other node, and the first control node 111 and the second other node
  • the third transmission link between the two is a same link or a different link, which is not limited by the embodiment of the present invention.
  • the second node cluster 120 can include the second control node 121 and can optionally further include at least one second other node.
  • the number of nodes included in the second node cluster 120 may be the same as or different from the number of nodes included in the first node cluster.
  • the configuration of the second node cluster 120 may be the same as or different from the configuration of the first node cluster 110.
  • the second control node 121 and some or all of the second other nodes of the at least one second other node may also have a first transmission link for transmitting state information of the node, and the second control node
  • the status information of each of the at least one second other node is obtained by the first transmission link, but is not limited by the embodiment of the present invention.
  • first control node 111 and the second control node 121 are further configured to transmit A second transmission link L2 (indicated by a long-short dashed line) of the status information of the node cluster, wherein the first control node 111 and the second control node 121 may not be adjacent.
  • the first control node 111 may send the state information of the first node cluster to the second control node 121 through the second transmission link L2, and receive the second control node 121 to send the second control node 121.
  • Status information of the second node cluster may be a wired or wireless link, but the embodiment of the present invention is not limited thereto.
  • the first transmission link L1 is a wired transmission link
  • the second transmission link L2 is a wireless transmission link.
  • only the first control node may have a wireless transceiver among all the nodes included in the first node cluster, and similarly, the second control node may also have Wireless transceiver. Accordingly, the first control node 111 and the second control node 121 have a wireless transceiver; any other of the at least one other node does not have a wireless transceiver.
  • the at least one other node includes a third other node and a fourth other node adjacent to the third other node, where the third other node and the fourth other node are between There is a fourth transmission link for transmitting data and status information of the node.
  • the first node cluster 110 may include the first control node 111 and a plurality of other nodes, wherein any two adjacent nodes of the plurality of other nodes may have a fourth transmission link (in a short
  • the dashed line indicates that the fourth transmission link can be used to transmit data, and can also be used to transmit state information of the node, for example, congestion information of the node.
  • node 113 and node 112 and node 114 respectively have a fourth transmission link, and node 113 can transmit itself to the node 112 through a fourth transmission link with the node 112.
  • Status information and/or data packets may also receive status information and/or data packets of the node 112 sent by the node 112 through a fourth transmission link with the node 112, but the embodiment of the present invention is not limited thereto. .
  • the third other node and the fourth other node may also have two transmission links, where one transmission link is used to transmit status information of the node, and another transmission link is used. It is used to transmit data, but the embodiment of the present invention is not limited thereto.
  • the communication network 100 may further include other node clusters than the first node cluster 110 and the second node cluster 120, wherein FIG. 3 exemplarily shows the node cluster 130. -190, but the embodiment of the invention is not limited thereto.
  • the node cluster 130-190 can be configured with the first
  • the node clusters 110 are the same or different, which is not limited by the embodiment of the present invention.
  • the communication network 100 can include M nodes, and the M nodes are divided into L node clusters, wherein the L node clusters can include the first node cluster and the second node cluster.
  • Each of the M nodes belongs to only one node cluster, and each of the L node clusters includes one or more nodes, 1 ⁇ L ⁇ M.
  • the number of the nodes of the two node clusters may be equal or different, which is not limited in this embodiment of the present invention.
  • the communication system 100 includes 81 nodes, and the 81 nodes are divided into nine node clusters (110-190), and each of the nine node clusters includes nine nodes.
  • the nine node clusters may have the same configuration.
  • the second node cluster 120 includes a node (3, 0), a node (3, 1), a node (3, 2), a node (4, 1), and a node (4, 2).
  • One hop node of the side (S) or the north side (N) is adjacent, for example, the neighboring nodes of the node (4, 1) include: a node (3, 1), a node (5, 1), a node (4, 0) ) and nodes (4, 2).
  • adjacent clusters of nodes may represent clusters of nodes that physically or logically satisfy an adjacent relationship.
  • adjacent node clusters of the first node cluster 110 include: a second node cluster 120 and a node cluster 140.
  • the first node cluster 110 and the second node cluster 120 may not be adjacent to each other, which is not limited by the embodiment of the present invention.
  • the node clusters can be divided in various ways.
  • the network may be divided into L physical areas, where each physical area corresponds to one node cluster.
  • at least one node located in the physical area belongs to a node cluster corresponding to the physical area, but the present invention further
  • the node clusters may be divided according to other manners, which is not limited by the embodiment of the present invention.
  • each of the L node clusters may include one control node.
  • the control node in a node cluster may be a node at a specific location among the multiple nodes included in the node cluster, for example, the control node is a node in the node cluster at the center of all nodes; or
  • the control node is a node in the cluster of nodes having a specific function or including a specific device, for example, the control node is a node including a wireless transceiver among all the nodes included in the node cluster, and the like, This is not limited.
  • the first node cluster may include a plurality of other nodes.
  • the first control node and the at least one other node of the plurality of other nodes may respectively have a first transmission link, wherein the first transmission link is used to transmit state information of the node.
  • the first control node may acquire state information of each of the other nodes, and according to each of the other nodes Status information, the first control node may determine status information of the node cluster.
  • the first control node may receive status information of the node sent by each neighboring node on the corresponding first transmission link with each of the at least one neighboring node, where The status information sent by the second other node adjacent to the first control node may include status information of the second other node, or further include status information of the third other node, where the third other node and the first control node Not adjacent.
  • the first control node may send status information of the node received by the first control node to the neighboring node of the first control node, or aggregate the status information of the received node with the status information of the first control node. And transmitting status information of the aggregated node to the neighboring node of the first control node. In this way, the first control node can acquire state information of all other nodes in the first node cluster except the first control node.
  • the first control node can have a first transmission link with each of the plurality of other nodes. At this time, the first control node may have a first transmission link with other nodes not adjacent to the first control node. The first control node may receive status information of each of the other nodes sent by the other node of the plurality of other nodes on a transmission link with the first control node, but the embodiment of the present invention is not limited thereto. this.
  • the first control node 111 is configured to:
  • the status information may include congestion information, for example, a maximum buffer occupancy rate (BFM), a virtual channel occupancy rate, and the like.
  • BFM maximum buffer occupancy rate
  • the status information may also include other information, which is not limited by the embodiment of the present invention.
  • Each of the at least one other node may periodically or triggerably transmit its own status information to the first control node.
  • the first control node may send a status information reporting indication to each of the at least one other node, where the status information reporting indication is used to send status information to the first control node; correspondingly, the At least one other node
  • Each of the other nodes is configured to send status information of each of the other nodes to the first control node according to the status information reporting indication.
  • the status information includes a maximum cache occupancy rate BFM; correspondingly, the first control node is specifically configured to: determine a sum of the BFM of the at least one other node and the first control node as the first BFM of the node cluster.
  • the first control node may determine a sum of BFMs of all nodes included in the first node cluster 110 as a BFM of the first node cluster.
  • the first control node may also use the mathematical mean value or other function value of the BFM of all the nodes included in the first node cluster 110 as the BFM of the first node cluster 110, but Embodiments of the invention are not limited thereto.
  • the first control node may determine status information of the first node cluster according to status information of a part of the nodes included in the first node cluster. For example, the first control node may first determine whether a BFM of each node included in the first node cluster satisfies a preset condition, and according to at least one node of all nodes included in the first node cluster that meets the preset condition Determining, by the BFM, the BFM of the first node cluster, for example, the first control node may use a sum of BFMs of at least one node that meets the preset condition, or a mathematical average of BFMs of at least one node that meets the preset condition Or other function values, as the BFM of the first node cluster 110, but the embodiment of the present invention is not limited thereto.
  • the at least one node that satisfies the preset condition may include the first control node and/or at least one other node.
  • the preset condition may include at least one of the following conditions: the BFM value of the node itself is greater than a certain threshold, and the difference between the BFM value of the node and the BFM value of at least one other node other than the node in the node cluster is greater than a certain threshold.
  • the embodiment of the present invention does not limit this.
  • the first control node may periodically send the status information of the first node cluster, where the period value may be preset; or the first control node may also trigger the status information of the first node cluster. For example, when receiving the request for requesting the state information of the first node cluster sent by the second control node, the first control node sends the state information of the first node cluster to the second control node; or The first control node sends the state information of the first node cluster when receiving the token sent by the third control node, and after transmitting the state information of the first node cluster, sends the token to the second control node, so that The second control node sends the status information of the second node cluster according to the token, but the embodiment of the present invention does not limit this.
  • each of the (L-1) other node clusters other than the first node cluster 110 may include one control node, and the (L-1) Other
  • the control nodes included in each of the other node clusters in the node cluster may be referred to as other control nodes.
  • the first control node may have a second transmission link with at least one other control node of the (L-1) other control nodes, and the at least one other control node includes the second control node.
  • the second transmission link is configured to transmit state information of the node cluster.
  • the first control node may determine each of the other clusters of the (L-1) other node clusters by receiving state information of the node clusters sent by the at least one other control node on the corresponding second transmission link status information.
  • only the adjacent node clusters include a second transmission link between the control nodes.
  • the first control node may receive state information of a node cluster transmitted by each of the at least one other control node through a second transmission link with the first control node, wherein the at least one other control node A node cluster to which each other control node belongs is adjacent to the first node cluster, and the at least one other control node may include the second control node.
  • the state information of the node cluster sent by the second control node may include state information of the second node cluster, or further include state information of a third node cluster different from the second node cluster, where the third node cluster
  • the status information may be from the third control node, where the node cluster to which the third control node belongs may be adjacent to the second node cluster, and the node cluster to which the third control node belongs may be different from the first node cluster. Neighbor, but the embodiment of the invention is not limited thereto.
  • the first control node may send status information of the node cluster received by the first control node to the at least one other control node, for example, as shown in FIG.
  • the first control node (1, 1) may Transmitting, to the control node (4, 1), status information of the node cluster transmitted by the control node (1, 4) received by the first control node, and transmitting, to the control node (1, 4), the first control node Controls the status information of the node cluster sent by the node (4, 1).
  • the first control node may first aggregate the state information of the node cluster received by the first control node with the state information of the first node cluster, and into the other node clusters adjacent to the first node cluster. The control node sends the status information of the aggregated node cluster. In this way, the first control node can acquire state information of (L-1) other node clusters other than the first node cluster.
  • the communication system 100 includes a second transmission link between any two of the L control nodes.
  • the state information of the node cluster sent by a certain control node to other control nodes may include only the state information of the node cluster to which the certain control node belongs.
  • the first control node may receive the other of the (L-1) other control nodes that are sent by the other control node on the second transmission link with the first control node.
  • the state information of the node cluster, and the first control node may send the state information of the first node cluster to the (L-1) other control nodes, but the embodiment of the present invention does not limit this.
  • the second transmission link is a wireless link.
  • the state information of the first node cluster 110 may be broadcasted to save signaling overhead.
  • the first control node is specifically configured to broadcast state information of the first node cluster on the second transmission link.
  • the first control node may also receive the state information of the node cluster to which the other control node is broadcasted by the other control node, and the embodiment of the present invention is not limited thereto.
  • the first control node is further configured to:
  • the state information of the second node cluster is stored.
  • the first control node may update the stored state information of the second node cluster.
  • the first control node may also use the stored state information of the second node cluster before receiving the state information of the second node cluster again, but the embodiment of the present invention is not limited thereto.
  • the first control node may also store state information of the first node cluster.
  • the first control node is further configured to:
  • the communication system 100 further includes a third node cluster, and the third node cluster may be adjacent to or not adjacent to the first node cluster 110.
  • the first control node may determine a plurality of selectable routing paths from the first node cluster to the third node cluster, each optional routing path including at least one node cluster.
  • the multiple optional routing paths may be coarse-grained routing paths, that is, the basic granularity of the multiple optional routing paths is a node cluster.
  • each of the plurality of optional routing paths may start with the first node cluster and end with the third node cluster. In the middle, you can go through zero, one or more node clusters.
  • each of the plurality of optional routing paths may not include the first node cluster and the third node cluster, and at least one node cluster included in each optional routing path a node cluster other than the first node cluster and the third node cluster in the communication system 100; or each of the plurality of selectable routing paths may also include the third node cluster, or The first node cluster is further included, or further includes at least one node cluster other than the first node cluster and the third node cluster, but the embodiment of the present invention is not limited thereto.
  • the first control node may acquire state information of each node cluster in at least one node cluster included in each optional routing path, and according to a state of each node cluster in at least one node cluster included in each optional routing path Information, selecting a target routing path from the plurality of optional routing paths.
  • the first control node is specifically configured to:
  • the optional routing path with the smallest degree of congestion in the plurality of optional routing paths is determined as the target routing path.
  • the status information of the node cluster may include the BFM of the node cluster, and the congestion status of the optional routing path may be represented by the BFM corresponding to the optional routing path.
  • the BFM corresponding to an optional routing path may be determined by the BFM of some or all of the node clusters included in the optional routing path.
  • the first control node determines the BFM corresponding to the first optional routing path of the multiple optional routing paths as the sum or mathematical mean of the BFMs of all the node clusters included in the first optional routing path.
  • the first control node may determine the BFM corresponding to the first optional routing path as the sum or mathematical average of the BFMs of the partial node clusters included in the first optional routing path, but the embodiment of the present invention is not limited thereto. this.
  • the first control node can determine the target routing path by a plurality of selection criteria.
  • the first control node may consider only the congestion status of each optional routing path, for example, the first control node may minimize congestion among the multiple optional routing paths ( The optional routing path with the lowest degree of congestion is determined as the target routing path.
  • the first control node may determine the target routing path according to the congestion status of each optional routing path and other parameters of each optional routing path.
  • the first control node may determine the target routing path according to a congestion state and a path length of each of the plurality of selectable routing paths.
  • the path length of an optional routing path may adopt a node cluster included in the optional routing path.
  • the number of the node clusters corresponds to the number of times the data packet is in the optional routing path, but the embodiment of the present invention does not limit this.
  • the first control node is specifically configured to: according to a congestion state of each of the plurality of selectable routing paths, and a number of node clusters included in each of the selectable routing paths, The target routing path is determined from the plurality of selectable routing paths.
  • the congestion state of the optional routing path may correspond to the first weight value
  • the number of node clusters included in the optional routing path may correspond to the second weight value.
  • the total weight value of an optional routing path may be determined according to the first weight value, the congestion status of the optional routing path, the second weight value, and the number of node clusters included in the optional routing path.
  • the total weight value may also have other functional forms, which are not limited by the embodiment of the present invention.
  • the first control node may determine a total weight value of each of the plurality of selectable routing paths, and determine an optional routing path having the smallest total weight value among the plurality of optional routing paths.
  • the path is routed to the target, but embodiments of the present invention are not limited thereto.
  • the first node of the at least one other node is a source node of the first data packet.
  • the first data packet belongs to the first other node of the at least one other node; correspondingly, the first control node is further configured to:
  • the information of the target routing path is sent to the first other node.
  • the path determination request may carry information of the destination node and/or information of the third node cluster.
  • the first control node may determine the third node cluster according to the path determination request.
  • the path determination request may carry information of the destination node, for example, an IP address or a device identifier of the destination node, and the like.
  • the first control node may determine the third node cluster according to the information of the destination node.
  • the first control node may acquire a correspondence between the node and the node cluster, and determine the third node cluster according to the information of the destination node and the obtained correspondence between the node and the node cluster, where The correspondence may be pre-stored by the first control node or
  • the embodiments of the present invention are not limited thereto.
  • the first control node may also send a request for carrying information of the destination node to another network device, where the other network device determines the third node cluster according to the information of the destination node, and Sending information of the third node cluster to the first control node.
  • the first other node may determine the third node cluster, and carry information of the third node cluster, for example, the number of the third node cluster, in the path determination request.
  • the first other node may pre-store or have a correspondence between the node and the node cluster, or the first other node may acquire a correspondence between the node and the node cluster from the first control node, and according to the node and the node cluster The corresponding relationship and the information of the destination node determine the third node cluster, but the embodiment of the present invention does not limit this.
  • the information of the target routing path may include identification information of each node cluster in the at least one node cluster included in the target routing path, or may further include information indicating an order of the at least one node cluster.
  • the first data packet passes through the at least one node cluster in this order, but the embodiment of the present invention is not limited thereto.
  • the first other node is used to:
  • the first data packet to which the information of the target routing path is added is sent.
  • the first other node may add the information of the target routing path to the packet header of the first data packet, but the embodiment of the present invention is not limited thereto.
  • the target routing path corresponds to the coarse-grained routing path of the first data packet, and the first other node may further determine a fine-grained routing path of the first data packet, where the fine-grained routing path has a node as a basic granularity.
  • the first other node is further configured to:
  • the status information of the plurality of neighboring nodes may include status information of some or all of the plurality of neighboring nodes.
  • the status information may include congestion information.
  • the first other node may have a fourth transmission chain for transmitting status information of the node with each of the plurality of neighboring nodes Correspondingly, the first other node may receive, by using a fourth transmission link corresponding to each adjacent one of the multiple neighboring nodes, status information of each of the neighboring nodes, but the present invention implements The example is not limited to this.
  • the first other node may determine, according to the target routing path, a next hop node cluster of the first data packet, and determine a distance between the multiple neighbor nodes of the first other node and the next hop node cluster
  • the nearest at least one neighboring node, wherein the at least one neighboring node that is closest to the cluster of the next hopping node may mean that the number of hops passed by the at least one neighboring node to the cluster of the next hopping node is the least.
  • the first other node may determine state information of each of the at least one neighboring node, and determine the next hop node according to state information of each of the at least one neighboring node .
  • the first other node may determine whether each of the at least one neighboring node is in a congested state, wherein the node that is not in the congestion state is in a non-congested state, if congestion is included in the state information of the node If the information meets the preset condition, the node is in a congested state, and the preset condition may include that the BFM of the node is greater than a certain threshold, or the difference between the BFM of the node and the average BFM of the first node cluster is greater than a certain threshold, etc., but Embodiments of the invention are not limited thereto.
  • the first other node may determine at least one neighbor of the plurality of neighboring nodes that is next to the next hop node cluster The node determines whether the at least one neighboring node that is next in the distance is in a congested state, and reciprocates until an adjacent node in a non-congested state is found. If the at least one neighboring node closest to the cluster of the next hop node has a neighboring node in a non-congested state, the first other node may be adjacent to the at least one neighboring node in a non-congested state. The node is determined to be the next hop node.
  • the first other node may determine the node with the least degree of congestion among the neighboring nodes in the non-congested state as the node
  • the next hop node wherein the neighboring node with the least degree of congestion may refer to the neighboring node corresponding to the smallest BFM value among the plurality of neighboring nodes in the non-congested state, but the embodiment of the present invention is not limited thereto.
  • the first other node may also first determine at least one neighboring node in the non-congested state among the multiple neighboring nodes, if the at least one neighboring node in the non-congested state If the number is one, the first other node may determine the neighboring node in the non-congested state as the next hop node. If the number of the at least one neighboring node in the non-congested state is multiple, the first other node may be according to the at least one neighboring node and the next hop The distance between the clusters of nodes determines the next hop node. At this time, the status information of the plurality of neighboring nodes may include status information of each of the plurality of neighboring nodes. Correspondingly, the first other node is specifically used for:
  • the nearest neighbor node is determined to be the next hop node.
  • the first other node may determine the nearest neighbor node as the next hop node. If the number of neighboring nodes that are closest to the next hop node cluster in the at least one neighboring node is multiple, the first other node may determine the neighboring node with the least congestion degree as the next hop. Node, but the embodiment of the invention is not limited thereto.
  • the first control node may also be similar.
  • the manner determines the next hop node of the first data packet, but the embodiment of the present invention is not limited thereto.
  • the first node cluster 110 includes a forwarding node, the at least one other node includes the forwarding node, or the forwarding node is the first control node;
  • the forwarding node is used to:
  • the second data packet carries information of a routing path of the second data packet, where the information of the routing path includes information of at least one node cluster;
  • the forwarding node may be the first control node, or may be a node in the at least one other node, and the manner in which the forwarding node determines the next hop node of the second data packet may refer to the foregoing description. I won't go into details here.
  • a communication system includes a first node cluster and a second node cluster, wherein a first control node in the first node cluster and another node have a node for transmitting a first transmission link of status information, and a second transmission link between the first control node and the second control node in the second node cluster for transmitting status information of the node cluster, such that the first
  • the control node can not only obtain the state information of each node included in the first node cluster, but also can obtain the state information of the second node cluster, thereby facilitating consideration of the local state information and the global state information when selecting the output channel, and further Avoid congestion and improve the overall performance of the system.
  • the load of each node cluster in the network can be balanced, thereby avoiding congestion.
  • the phenomenon occurs.
  • the node determines the next hop node of the first data packet according to the state information of the multiple neighboring nodes, and can further balance the load of each node in the source node cluster, thereby Balance the load of all nodes in the network to further avoid congestion.
  • FIG. 4 schematically illustrates a control node 200 in accordance with an embodiment of the present invention.
  • the control node 200 includes:
  • the first transceiver unit 210 is configured to receive status information of each of the other nodes sent by each of the at least one other node, where the first node cluster to which the control node belongs includes the at least one other node;
  • the processing unit 220 is configured to determine status information of the first node cluster according to status information of each of the at least one other node received by the first transceiver unit 210;
  • the second transceiver unit 230 is configured to send, to the second control node, status information of the first node cluster determined by the processing unit 220.
  • the control node receives status information of the other node through the first transmission link between the control node and other nodes, and determines status information of the first node cluster according to status information of each other node. And transmitting the state information of the first node cluster to the second control node by using a second transmission link with the second control node, thereby facilitating consideration of local state information and global state information when selecting an output channel In order to avoid the occurrence of congestion and improve the overall performance of the system.
  • control node 200 and the second control node may have a wireless link.
  • the second transceiver unit 230 is specifically configured to broadcast status information of the first node cluster determined by the processing unit 220.
  • the second transceiver unit 230 may periodically send status information of the first node cluster, where the period value may be preset; or the second transceiver unit 230 may also send the trigger information.
  • Status information of the first node cluster for example, when the second transceiver unit 230 receives the request for requesting status information of the first node cluster sent by the second control node, sending the first node to the second control node Status information of a node cluster; or, the second transceiver unit 230 transmits status information of the first node cluster when receiving the token sent by the third control node, where the third control node may generate the token or The third control node acquires the token from the other control node.
  • the second transceiver unit 230 may further send the token to the fourth control node, so as to facilitate The fourth control node sends the state information of the node cluster to which the fourth node belongs according to the token, but the embodiment of the present invention does not limit this.
  • the second transceiver unit 230 is further configured to: receive a token sent by the third control node, and send, according to the token, status information of the first node cluster to the second control node. ;or
  • the second transceiver unit 230 is further configured to: after transmitting the state information of the first node cluster, send a token to the fourth control node, so that the fourth control node sends, according to the token, the fourth control node belongs to Status information of the node cluster.
  • control node 200 has a first wired transmission link with each of the at least one other node;
  • the first transceiver unit 210 is specifically configured to receive status information of each of the other nodes on a first wired transmission link with each of the other nodes.
  • the at least one other node includes a first other node adjacent to the control node 200, and the control node 200 and the first other node further have a different difference from the first wired transmission. a second wired transmission link of the link;
  • the first transceiver unit 210 is further configured to send and receive data on the second wired transmission link.
  • the status information includes a maximum cache occupancy rate BFM
  • the processing unit 220 is specifically configured to determine a sum of BFMs of the at least one other node and the control node as a BFM of the first node cluster.
  • the processing unit may also use the at least one other node and other function values of the BFM of the control node as the BFM of the first node cluster, such as a mathematical average of the at least one other node and the BFM of the control node, and the like, Embodiments of the invention are not limited thereto.
  • the first transceiver unit 210 is further configured to:
  • the status information reporting indication is used to indicate that each of the other nodes sends its own status information.
  • Each of the at least one other node may send its own state information, such as congestion information, to the control node according to the status information reporting indication.
  • the second transceiver unit 230 is further configured to receive status information of the second node cluster to which the second control node belongs, sent by the second control node;
  • control node 200 further includes:
  • the first storage unit is configured to store state information of the second node cluster received by the second transceiver unit 230.
  • the first storage unit may update the stored state information of the second node cluster.
  • processing unit 220 is further configured to:
  • each of the plurality of optional routing paths includes at least one node cluster
  • the processing unit 220 can determine a plurality of selectable routing paths from the first node cluster to the third node cluster, each optional routing path including at least one node cluster.
  • the multiple optional routing paths may be coarse-grained routing paths, that is, the basic granularity of the multiple optional routing paths is a node cluster.
  • each of the plurality of optional routing paths may start with the first node cluster, and the third node cluster ends with zero, one or more nodes in sequence. cluster.
  • each of the plurality of optional routing paths may not include the first node cluster and the third node cluster, and at least one node cluster included in each optional routing path a node cluster other than the first node cluster and the third node cluster; or each of the plurality of selectable routing paths may also include the third node cluster, or further include the first The node cluster, or further includes at least one node cluster other than the first node cluster and the third node cluster, but the embodiment of the present invention is not limited thereto.
  • the state information of the node cluster may include the BFM of the node cluster, and the congestion state of the optional routing path may be represented by the BFM corresponding to the optional routing path.
  • the BFM corresponding to an optional routing path may be determined by the BFM of some or all of the node clusters included in the optional routing path.
  • the processing unit 220 may correspond to the first selectable routing path of the plurality of selectable routing paths.
  • the BFM determines the sum or mathematical mean of the BFMs of all the node clusters included in the first optional routing path, but the embodiment of the present invention is not limited thereto.
  • the processing unit 220 can determine the target routing path by a plurality of selection criteria.
  • the processing unit 220 may only consider the congestion status of each optional routing path when determining the target routing path, for example, the first control node may be the least congested among the multiple optional routing paths (ie, The optional routing path with the lowest degree of congestion is determined as the target routing path.
  • the processing unit 220 may determine the target routing path according to the congestion status of each optional routing path and other parameters of each optional routing path. For example, the target routing path is determined according to a congestion state and a path length of each of the plurality of selectable routing paths.
  • the path length of an optional routing path may be represented by the number of node clusters included in the optional routing path, and the number of the node clusters corresponds to the number of times the data packet is hopped in the optional routing path, but This embodiment of the present invention does not limit this.
  • the congestion state of the optional routing path may correspond to the first weight value
  • the number of node clusters included in the optional routing path may correspond to the second weight value.
  • the total weight value of an optional routing path may be determined according to the first weight value, the congestion status of the optional routing path, the second weight value, and the number of node clusters included in the optional routing path.
  • the total weight value may also have other functional forms, which are not limited by the embodiment of the present invention.
  • the processing unit 220 may determine a total weight value of each of the plurality of selectable routing paths, and determine an optional routing path having the smallest total weight value among the plurality of optional routing paths as The target routing path, but the embodiment of the present invention is not limited thereto.
  • processing unit 220 is specifically configured to:
  • the optional routing path with the smallest degree of congestion in the plurality of optional routing paths is determined as the target routing path.
  • the first data packet belongs to the control node 200, that is, the control node 200 is a source node of the first data packet.
  • the processing unit 220 is further configured to add information of the target routing path to the first data packet;
  • the first transceiver unit 210 is further configured to send information that adds the target routing path. The first packet of this.
  • the information of the target routing path may include identification information of each node cluster in the at least one node cluster included in the target routing path, or may further include information indicating an order of the at least one node cluster.
  • the first data packet passes through the at least one node cluster in this order, but the embodiment of the present invention is not limited thereto.
  • the processing unit 220 is further configured to acquire multiple neighbors of the control node before the first transceiver unit 210 sends the first data packet to which the information of the target routing path is added. Status information of the node, and determining a next hop node of the first data packet according to status information of the multiple neighboring nodes;
  • the first transceiver unit 210 is specifically configured to send the first data packet to the next hop node of the first data packet determined by the processing unit 220.
  • the processing unit 220 may determine, according to the target routing path, a next hop node cluster of the first data packet, and determine that a plurality of neighboring nodes of the control node 200 are closest to the next hop node cluster.
  • At least one neighboring node, wherein at least one neighboring node that is closest to the cluster of the next hopping node may mean that the number of hops passed by the at least one neighboring node to the cluster of the next hopping node is the least.
  • the processing unit 220 may determine status information of each of the at least one neighboring node, and determine the next hop node according to status information of each of the at least one neighboring node.
  • the first other node may determine whether each adjacent node of the at least one neighboring node is in a congestion state, where the node is in congestion if the congestion information included in the state information of the node meets a preset condition
  • the preset condition may include that the BFM of the node is greater than a certain threshold, or the difference between the BFM of the node and the average BFM of the first node cluster is greater than a certain threshold, etc., but the embodiment of the present invention is not limited thereto.
  • the processing unit 220 may determine at least one neighboring node of the plurality of neighboring nodes that is closest to the next hopping node cluster And determining whether the at least one neighboring node next to the distance is in a congested state, and reciprocating until a neighboring node in a non-congested state is found. If there is a neighboring node in a non-congested state among the at least one neighboring node closest to the next hop node cluster, the processing unit 220 may be a neighboring node in the non-congested state of the at least one neighboring node. Determined as the next hop node.
  • the processing unit 220 may determine the node with the smallest degree of congestion among the neighboring nodes in the non-congested state as the lower node.
  • a hop node wherein the neighboring node with the least congestion can refer to The plurality of adjacent nodes in the non-congested state correspond to the neighboring nodes of the smallest BFM value, but the embodiment of the present invention is not limited thereto.
  • the processing unit 220 may further determine, at least one neighboring node that is in a non-congested state among the multiple neighboring nodes, if the at least one neighboring node in the non-congested state If the number is one, the processing unit 220 may determine the neighboring node in the non-congested state as the next hop node. If the number of the at least one neighboring node in the non-congested state is multiple, the processing unit 220 may determine the next hop node according to the distance between the at least one neighboring node and the next hop node cluster. .
  • processing unit 220 is specifically configured to:
  • the nearest neighbor node is determined to be the next hop node of the first data packet.
  • the first data packet belongs to a second other node of the at least one other node, that is, the second other node is a source node of the first data packet.
  • the first transceiver unit 210 is further configured to: before determining the third node cluster to which the destination node of the first data packet belongs, receive a path determination request sent by the second other node, where the path determination request is used to request the The control node determines a routing path of the first data packet;
  • the processing unit 220 is specifically configured to determine the third node cluster according to the path determination request received by the first transceiver unit 210;
  • the first transceiver unit 210 is further configured to send information of the target routing path determined by the processing unit 220 to the second other node.
  • the path determination request may carry information of the destination node of the first data packet and/or information of the third node cluster, and the processing unit 220 may determine the third node cluster according to the path determination request.
  • the path determining request carries information of the destination node of the first data packet.
  • the control node 200 further includes: a second storage unit, configured to store a correspondence between the node and the node cluster;
  • the processing unit 220 is specifically configured to determine the third node cluster according to the information of the destination node and the correspondence between the node and the node cluster stored by the second storage unit.
  • the first transceiver unit 210 is further configured to receive the second data packet.
  • the second data packet carries information of a routing path of the second data packet, and the information of the routing path of the second data packet includes information of at least one node cluster;
  • the processing unit 220 is further configured to determine, according to information about a routing path of the second data packet received by the first transceiver unit 210, a next hop node cluster of the second data packet, and according to the next data packet. Determining state information of the node cluster and the plurality of neighboring nodes of the control node, and determining a next hop node of the second data packet;
  • the first transceiver unit 210 is further configured to send the second data packet to the next hop node of the second data packet determined by the processing unit 220.
  • the manner in which the processing unit 220 determines the next hop node of the second data packet may be similar to the manner in which the processing unit 210 determines the next hop node of the first data packet. For brevity, details are not described herein again.
  • the control node 200 can correspond to the first control node 110 in the communication system 100 described above, and the description of the control node 200 and the first control node 110 can be cross-referenced.
  • the control node receives status information of the other node through the first transmission link between the control node and other nodes, and determines status information of the first node cluster according to status information of each other node. And transmitting the state information of the first node cluster to the second control node by using a second transmission link with the second control node, thereby facilitating consideration of local state information and global state information when selecting an output channel In order to avoid the occurrence of congestion and improve the overall performance of the system.
  • the load of each node cluster in the network can be balanced, thereby avoiding congestion.
  • the phenomenon occurs.
  • the node determines the next hop node of the first data packet according to the state information of the multiple neighboring nodes, and can further balance the load of each node in the source node cluster, thereby Balance the load of all nodes in the network to further avoid congestion.
  • FIG. 5 schematically illustrates a control node 300 in accordance with an embodiment of the present invention.
  • the control node 300 includes:
  • a first transceiver 310 configured to receive status information of each of the other nodes sent by each of the at least one other node, where the first node cluster to which the control node belongs includes the at least one other node;
  • the processor 320 is configured to receive, according to the at least one other node, the first transceiver 310 State information of each of the other nodes, determining state information of the first node cluster;
  • the second transceiver 330 is configured to send, to the second control node, status information of the first node cluster determined by the processor 320.
  • the control node receives status information of the other node through the first transmission link between the control node and other nodes, and determines status information of the first node cluster according to status information of each other node. And transmitting the state information of the first node cluster to the second control node by using a second transmission link with the second control node, thereby facilitating consideration of local state information and global state information when selecting an output channel In order to avoid the occurrence of congestion and improve the overall performance of the system.
  • the processor 320 may be a central processing unit (“CPU"), and the processor 320 may also be other general-purpose processors, digital signal processors (DSPs). , an application specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, and the like.
  • the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
  • the second transceiver 330 is a wireless transceiver.
  • the second transceiver 330 is specifically configured to broadcast status information of the first node cluster determined by the processor 320.
  • the second transceiver 330 may periodically send status information of the first node cluster, where the period value may be preset; or the second transceiver 330 may also trigger the status of the first node cluster.
  • the information for example, the second transceiver 330 sends the status information of the first node cluster to the second control node when receiving the request for requesting the status information of the first node cluster sent by the second control node.
  • the second transceiver 330 sends the status information of the first node cluster when receiving the token sent by the third control node, where the third control node may generate the token or the third control node The other control node obtains the token.
  • the second transceiver 330 may further send the token to the fourth control node, so that the fourth control node is configured according to the fourth control node.
  • the token sends the state information of the node cluster to which the fourth node belongs, but the embodiment of the present invention does not limit this.
  • the second transceiver 330 is further configured to: receive a token sent by the third control node, and send, according to the token, status information of the first node cluster to the second control node. ;or
  • the second transceiver 330 is further configured to: after sending the state information of the first node cluster, send a token to the fourth control node, so that the fourth control node sends the fourth control section according to the token Status information of the node cluster to which the point belongs.
  • control node 300 has a first wired transmission link with each of the other nodes
  • first transceiver 310 is a wired transceiver.
  • the first transceiver 310 is specifically configured to receive status information of each of the other nodes on a first wired transmission link with each of the other nodes.
  • the at least one other node includes a first other node adjacent to the control node 300, and the control node 300 and the first other node further have a different difference from the first wired transmission.
  • the second wired transmission link of the link; correspondingly, the first transceiver 310 is further configured to send and receive data on the second wired transmission link.
  • the status information includes a maximum cache occupancy rate BFM
  • the processor 320 is specifically configured to determine a sum of BFMs of the at least one other node and the control node as a BFM of the first node cluster.
  • the processing unit may also use the at least one other node and other function values of the BFM of the control node as the BFM of the first node cluster, such as a mathematical average of the at least one other node and the BFM of the control node, and the like, Embodiments of the invention are not limited thereto.
  • the first transceiver 310 is further configured to:
  • Each of the at least one other node may send its own state information, such as congestion information, to the control node according to the status information reporting indication.
  • the second transceiver 330 is further configured to receive, by the second control node, state information of a second node cluster to which the second control node belongs;
  • control node 300 further includes:
  • a memory configured to store state information of the second node cluster received by the second transceiver 330.
  • the memory can include read only memory and random access memory and provides instructions and data to processor 320.
  • a portion of the memory may also include a non-volatile random access memory.
  • the memory can also store information of the device type.
  • the memory may update the stored state information of the second node cluster.
  • the processor 320 is further configured to:
  • each of the plurality of optional routing paths includes at least one node cluster
  • the processor 320 can determine a plurality of selectable routing paths from the first node cluster to the third node cluster, each optional routing path including at least one node cluster.
  • the multiple optional routing paths may be coarse-grained routing paths, that is, the basic granularity of the multiple optional routing paths is a node cluster.
  • each of the plurality of optional routing paths may start with the first node cluster, and the third node cluster ends with zero, one or more nodes in sequence. cluster.
  • each of the plurality of selectable routing paths may include a node cluster other than the first node cluster and the third node cluster, or further include the third node cluster, or further The first node cluster is included, but the embodiment of the present invention is not limited thereto.
  • the state information of the node cluster may include the BFM of the node cluster, and the congestion state of the optional routing path may be represented by the BFM corresponding to the optional routing path.
  • the BFM corresponding to an optional routing path may be determined by the BFM of some or all of the node clusters included in the optional routing path.
  • the processor 320 may determine the BFM corresponding to the first optional routing path of the multiple optional routing paths as the sum or mathematical mean of the BFMs of all the node clusters included in the first optional routing path,
  • embodiments of the invention are not limited thereto.
  • the congestion state of the optional routing path may correspond to the first weight value
  • the number of node clusters included in the optional routing path may correspond to the second weight value.
  • the total weight value of an optional routing path may be determined according to the first weight value, the congestion status of the optional routing path, the second weight value, and the number of node clusters included in the optional routing path.
  • the total weight value may also have other functional forms, which are not limited by the embodiment of the present invention.
  • the processor 320 may determine a total weight value of each of the plurality of selectable routing paths, and determine an optional routing path having the smallest total weight value among the plurality of selectable routing paths as The target routing path, but the embodiment of the present invention is not limited thereto.
  • the processor 320 is specifically configured to:
  • the optional routing path with the smallest degree of congestion in the plurality of optional routing paths is determined as the target routing path.
  • the first data packet belongs to the control node 300, that is, the control node is a source node of the first data packet.
  • the processor 320 is further configured to add information of the target routing path to the first data packet;
  • the first transceiver 310 is further configured to send the first data packet to which the information of the target routing path is added.
  • the information of the target routing path may include identification information of each node cluster in the at least one node cluster included in the target routing path, or may further include information indicating an order of the at least one node cluster.
  • the first data packet passes through the at least one node cluster in this order, but the embodiment of the present invention is not limited thereto.
  • the processor 320 is further configured to acquire multiple neighbors of the control node before the first transceiver 310 sends the first data packet to which the information of the target routing path is added. Status information of the node, and determining a next hop node of the first data packet according to status information of the multiple neighboring nodes;
  • the first transceiver 310 is specifically configured to send the first data packet to a next hop node of the first data packet determined by the processor 320.
  • the processor 320 may determine, according to the target routing path, a next hop node cluster of the first data packet, and determine that the neighboring nodes of the control node 200 are closest to the next hop node cluster.
  • At least one neighboring node, wherein at least one neighboring node that is closest to the cluster of the next hopping node may mean that the number of hops passed by the at least one neighboring node to the cluster of the next hopping node is the least.
  • the processor 320 may determine state information of each of the at least one neighboring node, and determine the next hop node according to state information of each of the at least one neighboring node.
  • the first other node may determine whether each adjacent node of the at least one neighboring node is in a congestion state, where the node is in congestion if the congestion information included in the state information of the node meets a preset condition
  • the preset condition may include that the BFM of the node is greater than a certain threshold, or the difference between the BFM of the node and the average BFM of the first node cluster is greater than a certain threshold, etc., but the embodiment of the present invention is not limited thereto.
  • the processor 320 may determine at least one of the plurality of neighboring nodes that is closest to the next hop node cluster Adjacent nodes, and determining whether at least one neighboring node next to the distance is in a congested state, and reciprocating until a neighboring node in a non-congested state is found. If there is a neighboring node in a non-congested state among the at least one neighboring node closest to the next hop node cluster, the processor 320 may be a neighboring node in the non-congested state of the at least one neighboring node. Determined as the next hop node.
  • the processor 320 may determine the node with the smallest degree of congestion among the neighboring nodes in the non-congested state as the lower one.
  • a hop node, wherein the neighboring node with the least degree of congestion may refer to the neighboring node corresponding to the smallest BFM value among the plurality of neighboring nodes in the non-congested state, but the embodiment of the present invention is not limited thereto.
  • the processor 320 may further determine, at least one neighboring node that is in a non-congested state among the multiple neighboring nodes, if the at least one neighboring node in the non-congested state If the number is one, the processor 320 can determine the neighboring node in the non-congested state as the next hop node. If the number of the at least one neighboring node in the non-congested state is multiple, the processor 320 may determine the next hop node according to the distance between the at least one neighboring node and the next hop node cluster. .
  • the processor 320 is specifically configured to:
  • the nearest neighbor node is determined to be the next hop node of the first data packet.
  • the first data packet belongs to a second other node of the at least one other node.
  • the first transceiver 310 is further configured to: before determining the third node cluster to which the destination node of the first data packet belongs, receive a path determination request sent by the second other node, where the path determination request is used to request the The control node determines a routing path of the first data packet;
  • the processor 320 is specifically configured to determine the third node cluster according to the path determination request received by the first transceiver 310.
  • the first transceiver 310 is further configured to send information of the target routing path determined by the processor 320 to the second other node.
  • the path determination request may carry information of the destination node of the first data packet and/or information of the third node cluster, and the processor 320 may determine the third node cluster according to the path determination request.
  • the path determining request carries information of the destination node of the first data packet.
  • the control node 300 further includes: a memory, configured to store a correspondence between the node and the node cluster;
  • the processor 320 is specifically configured to determine the third node cluster according to the information of the destination node and the correspondence between the node and the node cluster stored in the memory.
  • the first transceiver 310 is further configured to receive a second data packet, where the second data packet carries information about a routing path of the second data packet, and a routing path of the second data packet.
  • Information includes information of at least one cluster of nodes;
  • the processor 320 is further configured to determine, according to information about a routing path of the second data packet received by the first transceiver 310, a next hop node cluster of the second data packet, and according to the next data packet. Determining state information of the node cluster and the plurality of neighboring nodes of the control node, and determining a next hop node of the second data packet;
  • the first transceiver 310 is further configured to send the second data packet to a next hop node of the second data packet determined by the processor 320.
  • the manner in which the processor 320 determines the next hop node of the second data packet may be similar to the manner in which the processing unit 210 determines the next hop node of the first data packet. For brevity, no further details are provided herein.
  • the control node 300 can correspond to the first control node 110 in the communication system 100 described above, and the description of the control node 300 and the first control node 110 can be cross-referenced.
  • the control node receives status information of the other node through the first transmission link between the control node and other nodes, and determines status information of the first node cluster according to status information of each other node. And transmitting the state information of the first node cluster to the second control node by using a second transmission link with the second control node, thereby facilitating consideration of local state information and global state information when selecting an output channel In order to avoid the occurrence of congestion and improve the overall performance of the system.
  • the load of each node cluster in the network can be balanced, thereby avoiding congestion.
  • the phenomenon occurs.
  • the node determines the next hop node of the first data packet according to the state information of the multiple neighboring nodes, and can further balance the load of each node in the source node cluster, thereby Balance the load of all nodes in the network to further avoid congestion.
  • FIG. 6 illustrates a communication method 400 that may be performed by a control node in accordance with an embodiment of the present invention. As shown in FIG. 6, the method 400 includes:
  • S410 Receive status information of each of the other nodes sent by each of the at least one other node, where the first node cluster to which the control node belongs includes the at least one other node;
  • S420 Determine status information of the first node cluster according to status information of each of the other nodes.
  • S430 Send status information of the first node cluster to the second control node.
  • the communication method determines status information of the first node cluster according to status information of the at least one other node by receiving status information of each of the other nodes, and
  • the second control node sends the state information of the first node cluster, which is beneficial to consider the local state information and the global state information when selecting the output channel, thereby avoiding the occurrence of congestion and improving the overall performance of the system.
  • the S430 sends the status information of the first node cluster to the second control node, including:
  • Broadcasting status information of the first node cluster Broadcasting status information of the first node cluster.
  • the method 400 further includes: receiving a token sent by the third control node;
  • S430 sending, to the second control node, status information of the first node cluster, including:
  • the status information includes a maximum cache occupancy BFM.
  • S420 determining status information of the first node cluster according to status information of each of the other nodes of the at least one other node, including:
  • the sum of the BFM of the at least one other node and the control node is determined as the BFM of the first node cluster.
  • the control node determines the sum of BFMs of all nodes of the first node cluster as the BFM of the first node cluster.
  • the control node may further determine a mathematical mean value or other function value of the BFM of all nodes of the first node cluster as the BFM of the first node cluster, which is used by the embodiment of the present invention. Not limited.
  • the method 400 further includes:
  • S410 receiving status information of each of the other nodes sent by each of the other nodes, including:
  • Each of the other nodes receiving the at least one other node reports the status information of the each of the other nodes that are sent according to the status information.
  • the control node may have a first transmission link with each of the at least one other node, wherein the at least one other node may include a node adjacent to and/or not adjacent to the control node,
  • the first transmission link may be dedicated to the status related message of the transmitting node, for example, the status information reporting indication and status information of the node, and the like. In this way, the control node can receive status information directly sent by the at least one other node through the first transmission link.
  • the method 400 further includes:
  • the state information of the second node cluster is stored.
  • the first control node and the second control node may also have a second transmission link, where the first control node and the second control node may not be adjacent, and the second transmission link may also be used exclusively.
  • a status-related message is transmitted, for example, status information of a cluster of nodes.
  • the first control node and the second control node can directly interact with the state information of the node cluster through the second transmission link.
  • the method 400 further includes:
  • each of the plurality of optional routing paths includes at least one node cluster
  • the target routing path is determined from the multiple optional routing paths according to state information of at least one node cluster included in each of the plurality of selectable routing paths.
  • the optional routing path with the smallest degree of congestion in the plurality of optional routing paths is determined as the target routing path.
  • Each of the plurality of selectable routing paths includes at least one node cluster, which is more
  • the optional routing path includes multiple node clusters.
  • the at least one node cluster included in each of the plurality of selectable routing paths may include a forwarding node cluster other than the first node cluster and the third node cluster, or may further include the
  • the third node cluster may further include the first node cluster, which is not limited by the embodiment of the present invention.
  • the control node may acquire state information of each of the plurality of node clusters included in the plurality of selectable routing paths.
  • the control node may pre-store state information of multiple node clusters included in the multiple optional routing paths, or the control node may acquire multiple nodes included in the multiple optional routing paths from other control nodes.
  • the state information of the cluster is not limited in this embodiment of the present invention.
  • the first data packet belongs to the control node, that is, the control node is a source node of the first data packet.
  • the method 400 further includes:
  • the first data packet to which the information of the target routing path is added is sent.
  • the information of the target routing path may include information of at least one node cluster included in the target routing path.
  • the information of the target routing path may include identification information of the at least one node cluster and an order indicating the at least one node cluster.
  • the information of the first data packet is sequentially passed through the at least one node cluster in this order, but the information of the target routing path may also include other parameters, which is not limited by the embodiment of the present invention.
  • the node that receives the first data packet can determine the next hop of the first data packet according to the information of the target routing path carried by the first data packet, because the information of the target routing path is carried in the first data packet. And forwarding the first data packet to the next hop node.
  • the method 400 before the sending the first data packet to which the information of the target routing path is added, the method 400 further includes:
  • the sending the first data packet that adds the information of the target routing path includes:
  • the control node and the node not adjacent to the control node can directly transmit state-related information, such as state information of the node, but cannot directly transmit data.
  • any of the first node clusters may be directly transmitted between two adjacent nodes, and the data may be directly transmitted.
  • the link for transmitting the status information of the node may be the same link as the link for transmitting data.
  • determining, according to the status information of the multiple neighboring nodes, the next hop node of the first data packet including:
  • the nearest neighbor node is determined to be the next hop node of the first data packet.
  • the control node may determine whether the node is in a non-congested state according to status information of a node, where the status information may include congestion information, for example, BFM. For example, if the BFM of the node is greater than a certain threshold, the embodiment of the present invention is not limited thereto.
  • the control node may directly use the one neighboring node as the next hop node of the first data packet. If the number of the at least one neighboring node is multiple, the control node may determine a next hop node cluster corresponding to the first node cluster in the target routing path, and determine the middle and the lower of the at least one neighboring node The one-hop node cluster is the closest node, and if the number of nodes closest to the cluster of the next hop node is one, the control node can use the node as the next hop node.
  • control node may determine the node with the least congestion degree among the plurality of nodes closest to the next hop node cluster as the next hop.
  • a node, wherein the minimum degree of congestion may correspond to a minimum BFM, but embodiments of the present invention are not limited thereto.
  • the first data packet belongs to a second other node of the at least one other node, that is, the second other node is a source node of the first data packet.
  • the method 400 further includes:
  • determining the third node cluster to which the destination node of the first data packet belongs includes:
  • the method further includes:
  • the path determining request carries information of the destination node of the first data packet.
  • determining the third node cluster includes:
  • the third node cluster is determined according to the information of the destination node and the correspondence between the node and the node cluster.
  • the path determining request may also carry information about the third node cluster, for example, a number of the third node cluster.
  • the control node may determine the third node cluster according to the information of the three-node cluster in the local area.
  • the method 400 further includes:
  • the second data packet carries information of a routing path of the second data packet, where information of the routing path of the second data packet includes information of at least one node cluster;
  • control node determines the next hop node of the second data packet.
  • the communication method 400 may be performed by the control node 200, the control node 300, or the first control node 111 in the communication system 100 of the embodiment of the present invention, and the control node 200, the control node 300, or the first control node 111
  • the above and other operations and/or functions of the respective modules in the above are respectively to implement the corresponding processes of the respective methods in FIG. 6. Therefore, the various embodiments of the present invention may be referred to each other, and are not described herein again for brevity.
  • the communication method determines status information of the first node cluster according to status information of the at least one other node by receiving status information of each of the other nodes, and
  • the second control node sends the state information of the first node cluster, which is beneficial to consider the local state information and the global state information when selecting the output channel, thereby avoiding the occurrence of congestion and improving the overall performance of the system.
  • the load of each node cluster in the network can be balanced, thereby avoiding congestion.
  • the phenomenon occurs.
  • the node determines the next hop node of the first data packet according to the state information of the multiple neighboring nodes, and can further balance the load of each node in the source node cluster, thereby Balance the load of all nodes in the network to further avoid congestion.
  • association relationship describing the associated object indicates that there may be three relationships.
  • a and/or B may indicate that A exists separately, and A and B exist simultaneously, and B cases exist alone.
  • the character / in this paper generally indicates that the contextual object is an OR relationship.
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, or an electrical, mechanical or other form of connection.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the embodiments of the present invention.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • the technical solution of the present invention contributes in essence or to the prior art, or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium.
  • a number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program codes. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种通信***、控制节点和通信方法,该***包括:第一节点簇和第二节点簇,其中,该第一节点簇包括第一控制节点和至少一个其它节点,该第二节点簇包括第二控制节点,其中,该第一控制节点与该第二控制节点不相邻;该第一控制节点与该至少一个其它节点中的每个其它节点之间具有第一传输链路,该第一传输链路用于传输节点的状态信息;该第一控制节点和该第二控制节点之间具有第二传输链路,该第二传输链路用于传输节点簇的状态信息。本发明提供的通信***,有利于在选择输出通道时同时考虑局域状态信息和全局状态信息,进而避免拥塞现象的发生,提升***的整体性能。

Description

通信***、控制节点和通信方法 技术领域
本发明实施例涉及通信领域,并且更具体地,涉及通信***、控制节点和通信方法。
背景技术
片上网络(Network-on-Chip,NoC)能够将多个具有不同功能的模块集成到同一芯片中。但是随着NoC的规模越来越大,带来了一系列问题。例如,NoC规模的扩大会导致数据包传输的平均跳数的增加,从而增加延迟和功耗。此外,由于NoC中集成的多个功能模块具有不同的应用类型,使得网络中各个节点的负载不均衡,从而导致网络中的部分节点经常处于拥塞状态。目前,拥塞问题已经成为NoC主要的性能瓶颈。
路由自适应机制通常包括两部分:第一部分计算源节点到目的节点之间的多条可选路由路径,第二部分根据网络状态信息和特定选择策略从该多个可选路由路径中选择一个路由路径。在现有技术中的路由选择策略通常采用局域选择策略或路径上邻居(Neighbors on path,NoP)策略。具体地,以图1所示的节点(0,0)为源节点并且节点(3,3)为目的节点为例,源节点(0,0)有两条可选路由路径:向东方向的路径和向南方向的路径。在局域选择策略中,源节点(0,0)在选择路径时只考虑相邻节点的状态,即只考虑节点(0,1)和节点(1,0)的状态。由于节点在路由时只考虑可能的下一跳节点的状态,不能避免在下一跳节点以外的其它节点处产生拥塞。而在NoP策略中,源节点(0,0)在选择路径时忽略其相邻节点(0,1)和(1,0)的状态,而只考虑可能的路由路径上的第二跳节点的状态,即节点(0,2)和(2,0)的状态。该NoP策略能够在某些场景下避免在拐弯处陷入僵局,但是由于该NoP仍然仅考虑了部分节点的状态,不能兼顾网络整体的状态,因此在全局范围内的性能较差。
发明内容
本发明实施例提供一种通信***、控制节点和通信方法,能够提升***的整体性能。
第一方面,本发明实施例提供了一种通信***,包括:第一节点簇和第二节点簇,其中,该第一节点簇包括第一控制节点和至少一个其它节点,该第二节点簇包括第二控制节点,其中,该第一控制节点与该第二控制节点不相邻;该第一控制节点与该至少一个其它节点中的每个其它节点之间具有第一传输链路,该第一传输链路用于传输节点的状态信息;该第一控制节点和该第二控制节点之间具有第二传输链路,该第二传输链路用于传输节点簇的状态信息。
结合第一方面,在第一种可能的实现方式中,该第一传输链路为有线传输链路,该第二传输链路为无线传输链路。
结合上述可能的实现方式,在第二种可能的实现方式中,该第一控制节点用于:接收该至少一个其它节点中的每个其它节点在对应的第一传输链路上发送的该每个其它节点的状态信息;根据该至少一个其它节点中的每个其它节点的状态信息,确定该第一节点簇的状态信息;在该第二传输链路上向该第二控制节点发送该第一节点簇的状态信息。
结合上述可能的实现方式,在第三种可能的实现方式中,该第一控制节点具体用于在该第二传输链路上广播该第一节点簇的状态信息。
结合上述可能的实现方式,在第四种可能的实现方式中,该状态信息包括最大缓存占用率BFM;该第一控制节点具体用于:将该至少一个其它节点与该第一控制节点的BFM之和确定为该第一节点簇的BFM。
结合上述可能的实现方式,在第五种可能的实现方式中,该至少一个其它节点中的每个其它节点用于:接收该第一控制节点发送的状态信息上报指示,该状态信息上报指示用于指示该每个其它节点向该第一控制节点发送该每个其它节点的状态信息;根据该状态信息上报指示,向该第一控制节点发送该每个其它节点的状态信息。
结合上述可能的实现方式,在第六种可能的实现方式中,该第一控制节点还用于:确定第一数据包的目的节点所属的第三节点簇,其中,该通信***还包括不同于该第一节点簇的该第三节点簇;确定该第一数据包由该第一节点簇至该第三节点簇的多个可选路由路径,其中,该多个可选路由路径中的每个可选路由路径包括至少一个节点簇;根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,从该多个可选路由路径中确定目标路由路径。
结合上述可能的实现方式,在第七种可能的实现方式中,该第一数据包属于该至少一个其它节点中的第一其它节点;该第一控制节点还用于在确定该第一数据包的目的节点所属的第三节点簇之前,接收该第一其它节点发送的路径确定请求,该路径确定请求用于请求该第一控制节点确定该第一数据包的路由路径;该第一控制节点具体用于根据该路径确定请求,确定该第三节点簇;该第一控制节点还用于在该从该多个可选路由路径中确定目标路由路径之后,向该第一其它节点发送该目标路由路径的信息。
结合上述可能的实现方式,在第八种可能的实现方式中,该第一其它节点用于:接收该第一控制节点发送的该目标路由路径的信息;在该第一数据包中添加该目标路由路径的信息;发送添加了该目标路由路径的信息的该第一数据包。
结合上述可能的实现方式,在第九种可能的实现方式中,该第一节点簇包括转发节点,该至少一个其它节点包括该转发节点或该转发节点为该第一控制节点;该转发节点用于:接收第二数据包,该第二数据包携带该第二数据包的路由路径的信息,该路由路径的信息包括至少一个节点簇的信息;根据该第二数据包的路由路径的信息,确定该第二数据包的下一跳节点簇;根据该第二数据包的下一跳节点簇和该第二其它节点的多个相邻节点的状态信息,确定该第二数据包的下一跳节点;向该第二数据包的下一跳节点发送该第二数据包。
结合上述可能的实现方式,在第十种可能的实现方式中,该至少一个其它节点包括与该第一控制节点相邻的第二其它节点;该第一控制节点与该第二其它节点之间还具有用于传输数据的第三传输链路。
结合上述可能的实现方式,在第十一种可能的实现方式中,该至少一个其它节点包括第三其它节点和与该第三其它节点相邻的第四其它节点;该第三其它节点和该第四其它节点之间具有第四传输链路,该第四传输链路用于传输数据和节点的状态信息。
结合上述可能的实现方式,在第十二种可能的实现方式中,该第一控制节点和该第二控制节点具有无线收发器;该至少一个其它节点中的任意其它节点不具有无线收发器。
第二方面,提供了一种控制节点,包括:第一收发单元,用于接收至少一个其它节点中的每个其它节点发送的该每个其它节点的状态信息,其中, 该控制节点所属的第一节点簇包括该至少一个其它节点;处理单元,用于根据该第一收发单元接收的该至少一个其它节点中的每个其它节点的状态信息,确定该第一节点簇的状态信息;第二收发单元,用于向第二控制节点发送该处理单元确定的该第一节点簇的状态信息。
结合第二方面,在第一种可能的实现方式中,该第二收发单元具体用于广播该处理单元确定的该第一节点簇的状态信息。
结合上述可能的实现方式,在第二种可能的实现方式中,该第二收发单元还用于:接收第三控制节点发送的令牌,根据该令牌,向该第二控制节点发送该第一节点簇的状态信息;或者该第二收发单元还用于:在发送该第一节点簇的状态信息之后,向第四控制节点发送令牌,以便于该第四控制节点根据该令牌发送该第四控制节点所属的节点簇的状态信息。
结合上述可能的实现方式,在第三种可能的实现方式中,该控制节点与该至少一个其它节点中的每个其它节点之间具有第一有线传输链路;该第一收发单元具体用于在与该至少一个其它节点中的每个其它节点之间的第一有线传输链路上接收该每个其它节点的状态信息。
结合上述可能的实现方式,在第四种可能的实现方式中,该至少一个其它节点包括与该控制节点相邻的第一其它节点,该控制节点与该第一其它节点之间还具有不同于该第一有线传输链路的第二有线传输链路;该第一收发单元还用于在该第二有线传输链路上收发数据。
结合上述可能的实现方式,在第五种可能的实现方式中,该状态信息包括最大缓存占用率BFM,该处理单元具体用于将该至少一个其它节点和该控制节点的BFM之和确定为该第一节点簇的BFM。
结合上述可能的实现方式,在第六种可能的实现方式中,该第一收发单元还用于:在接收至少一个其它节点中的每个其它节点发送的该每个其它节点的状态信息之前,向该至少一个其它节点中的每个其它节点发送状态信息上报指示,该状态信息上报指示用于指示该每个其它节点发送自身的状态信息。
结合上述可能的实现方式,在第七种可能的实现方式中,该第二收发单元还用于接收该第二控制节点发送的该第二控制节点所属的第二节点簇的状态信息;该控制节点还包括:第一存储单元,用于存储该第二收发单元接收的该第二节点簇的状态信息。
结合上述可能的实现方式,在第八种可能的实现方式中,该处理单元还用于:确定第一数据包的目的节点所属的第三节点簇;确定该数据包由该第一节点簇至该第三节点簇的多个可选路由路径,其中,该多个可选路由路径中的每个可选路由路径包括至少一个节点簇;根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,从该多个可选路由路径中确定目标路由路径。
结合上述可能的实现方式,在第九种可能的实现方式中,该处理单元具体用于:根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,确定该每个可选路由路径的拥塞状态;将该多个可选路由路径中拥塞程度最小的可选路由路径确定为该目标路由路径。
结合上述可能的实现方式,在第十种可能的实现方式中,该第一数据包属于该控制节点;该处理单元还用于在该第一数据包中添加该目标路由路径的信息;该第一收发单元还用于发送添加了该目标路由路径的信息的该第一数据包。
结合上述可能的实现方式,在第十一种可能的实现方式中,该处理单元还用于在该第一收发单元发送添加了该目标路由路径的信息的该第一数据包之前,获取该控制节点的多个相邻节点的状态信息,并且根据该多个相邻节点的状态信息,确定该第一数据包的下一跳节点;该第一收发单元具体用于向该处理单元确定的该第一数据包的下一跳节点发送该第一数据包。
结合上述可能的实现方式,在第十二种可能的实现方式中,该处理单元具体用于:根据该多个相邻节点的状态信息,从该多个相邻节点中确定处于非拥塞状态的至少一个相邻节点;若该至少一个相邻节点的个数为多个,确定该目标路由路径中该第一节点簇对应的下一跳节点簇,并将该至少一个相邻节点中与该下一跳节点簇距离最近的相邻节点确定为该第一数据包的下一跳节点。
结合上述可能的实现方式,在第十三种可能的实现方式中,该第一数据包属于该至少一个其它节点中的第二其它节点;该第一收发单元还用于在确定该第一数据包的目的节点所属的第三节点簇之前,接收该第二其它节点发送的路径确定请求,该路径确定请求用于请求该控制节点确定该第一数据包的路由路径;该处理单元具体用于根据该第一收发单元接收的该路径确定请求,确定该第三节点簇;该第一收发单元还用于向该第二其它节点发送该处 理单元确定的该目标路由路径的信息。
结合上述可能的实现方式,在第十四种可能的实现方式中,该路径确定请求携带该第一数据包的目的节点的信息;该控制节点还包括:第二存储单元,用于存储节点与节点簇之间的对应关系;该处理单元具体用于根据该目的节点的信息和该第二存储单元存储的节点与节点簇之间的对应关系,确定该第三节点簇。
结合上述可能的实现方式,在第十五种可能的实现方式中,该第一收发单元还用于接收第二数据包,该第二数据包携带该第二数据包的路由路径的信息,该第二数据包的路由路径的信息包括至少一个节点簇的信息;该处理单元还用于根据该第一收发单元接收的该第二数据包的路由路径的信息,确定该第二数据包的下一跳节点簇,并且根据该第二数据包的下一跳节点簇和该控制节点的多个相邻节点的状态信息,确定该第二数据包的下一跳节点;该第一收发单元还用于向该处理单元确定的该第二数据包的下一跳节点发送该第二数据包。
第三方面,提供了一种通信方法,包括:控制节点接收至少一个其它节点中的每个其它节点发送的该每个其它节点的状态信息,其中,该控制节点所属的第一节点簇包括该至少一个其它节点;根据该至少一个其它节点中的每个其它节点的状态信息,确定该第一节点簇的状态信息;向第二控制节点发送该第一节点簇的状态信息。
结合第三方面,在第一种可能的实现方式中,该向第二控制节点发送该第一节点簇的状态信息,包括:广播该第一节点簇的状态信息。
结合上述可能的实现方式,在第二种可能的实现方式中,在该向第二控制节点发送该第一节点簇的状态信息之前,该方法还包括:接收第三控制节点发送的令牌;该向第二控制节点发送该第一节点簇的状态信息,包括:根据该令牌,向该第二控制节点发送该第一节点簇的状态信息。
结合上述可能的实现方式,在第三种可能的实现方式中,该状态信息包括最大缓存占用率BFM;该根据该至少一个其它节点中的每个其它节点的状态信息,确定该第一节点簇的状态信息,包括:将该至少一个其它节点和该控制节点的BFM之和确定为该第一节点簇的BFM。
结合上述可能的实现方式,在第四种可能的实现方式中,在该接收至少一个其它节点中的每个其它节点发送的该每个其它节点的状态信息之前,该 方法还包括:向该至少一个其它节点中的每个其它节点发送状态信息上报指示,该状态信息上报指示用于指示该每个其它节点发送自身的状态信息;该接收至少一个其它节点中的每个其它节点发送的该每个其它节点的状态信息,包括:接收至少一个其它节点中的每个其它节点根据该状态信息上报指示发送的该每个其它节点的状态信息。
结合上述可能的实现方式,在第五种可能的实现方式中,该方法还包括:
接收该第二控制节点发送的该第二控制节点所属的第二节点簇的状态信息;存储该第二节点簇的状态信息。
结合上述可能的实现方式,在第六种可能的实现方式中,该方法还包括:确定第一数据包的目的节点所属的第三节点簇;确定该数据包由该第一节点簇至该第三节点簇的多个可选路由路径,其中,该多个可选路由路径中的每个可选路由路径包括至少一个节点簇;根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,从该多个可选路由路径中确定目标路由路径。
结合上述可能的实现方式,在第七种可能的实现方式中,该根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,从该多个可选路由路径中确定目标路由路径,包括:根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,确定该每个可选路由路径的拥塞状态;将该多个可选路由路径中拥塞程度最小的可选路由路径确定为该目标路由路径。
结合上述可能的实现方式,在第八种可能的实现方式中,该第一数据包属于该控制节点;在该从该多个可选路由路径中确定目标路由路径之后,该方法还包括:在该第一数据包中添加该目标路由路径的信息;发送添加了该目标路由路径的信息的该第一数据包。
结合上述可能的实现方式,在第九种可能的实现方式中,在该发送添加了该目标路由路径的信息的该第一数据包之前,该方法还包括:获取该控制节点的多个相邻节点的状态信息;根据该多个相邻节点的状态信息,确定该第一数据包的下一跳节点;该发送添加了该目标路由路径的信息的该第一数据包,包括:向该第一数据包的下一跳节点发送该第一数据包。
结合上述可能的实现方式,在第十种可能的实现方式中,该根据该多个相邻节点的状态信息,确定该第一数据包的下一跳节点,包括:根据该多个 相邻节点的状态信息,从该多个相邻节点中确定处于非拥塞状态的至少一个相邻节点;若该至少一个相邻节点的个数为多个,确定该目标路由路径中该第一节点簇对应的下一跳节点簇,并将该至少一个相邻节点中与该下一跳节点簇距离最近的相邻节点确定为该第一数据包的下一跳节点。
结合上述可能的实现方式,在第十一种可能的实现方式中,该第一数据包属于该至少一个其它节点中的第二其它节点;在该确定该第一数据包的目的节点所属的第三节点簇之前,该方法还包括:接收该第二其它节点发送的路径确定请求,该路径确定请求用于请求该控制节点确定该第一数据包的路由路径;该确定该第一数据包的目的节点所属的第三节点簇,包括:根据该路径确定请求,确定该第三节点簇;在该从该多个可选路由路径中确定目标路由路径之后,该方法还包括:向该第二其它节点发送该目标路由路径的信息。
结合上述可能的实现方式,在第十二种可能的实现方式中,该路径确定请求携带该第一数据包的目的节点的信息;该根据该路径确定请求,确定该第三节点簇,包括:确定节点与节点簇之间的对应关系;根据该目的节点的信息和该节点与节点簇之间的对应关系,确定该第三节点簇。
结合上述可能的实现方式,在第十三种可能的实现方式中,该方法还包括:接收第二数据包,该第二数据包携带该第二数据包的路由路径的信息,第二数据包的路由路径的信息包括至少一个节点簇的信息;根据该第二数据包的路由路径的信息,确定该第二数据包的下一跳节点簇;根据该第二数据包的下一跳节点簇和该控制节点的多个相邻节点的状态信息,确定该第二数据包的下一跳节点;向该第二数据包的下一跳节点发送该第二数据包。
基于上述技术方案,本发明实施例提供的通信***、控制节点和通信方法,包括第一节点簇和第二节点簇,其中,第一控制节点与该第一节点簇中的每个其它节点之间具有用于传输节点的状态信息的第一传输链路,并且该第一控制节点和与该第一控制节点不相邻的第二控制节点之间具有用于传输节点簇的状态信息的第二传输链路,这样,该第一控制节点不仅能够该第一节点簇中包括的各个节点的状态信息,还能够获知该第二节点簇的状态信息,从而有利于在选择输出通道时同时考虑局域状态信息和全局状态信息,进而避免拥塞现象的发生,提升***的整体性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中的网络架构示意图。
图2为本发明实施例提供的通信***示意图。
图3为本发明实施例提供的通信***示例的示意图。
图4为本发明实施例提供的控制节点的示意性框图。
图5为本发明实施例提供的另一控制节点的示意性框图。
图6为本发明实施例提供的通信方法的示意性流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
应理解,本发明实施例的技术方案可以应用于片上网络的互连通信***,例如由计算单元(processor unit),内存单元(memory unit)所共同组成的片上网络,但也可以应用于非片上网络,本发明实施例对此不做限定。还应理解,在本发明实施例中,节点可以与路由器一一对应,因此,本发明实施例中对节点的描述同样适用于路由器。
图2示出了根据本发明实施例的通信***100的示意图。其中,该通信***100包括:
第一节点簇110和第二节点簇120,其中,该第一节点簇110包括第一控制节点111和至少一个其它节点,该第二节点簇120包括第二控制节点121,其中,该第一控制节点111与该第二控制节点121不相邻;
该第一控制节点111与该至少一个其它节点中的每个其它节点之间具有第一传输链路L1,该第一传输链路L1用于传输节点的状态信息;
该第一控制节点111和该第二控制节点121之间具有第二传输链路L2,该第二传输链路L2用于传输节点簇的状态信息。
因此,根据本发明实施例的通信***,包括第一节点簇和第二节点簇,其中,第一控制节点与该第一节点簇中的每个其它节点之间具有用于传输节点的状态信息的第一传输链路,并且该第一控制节点和与该第一控制节点不相邻的第二控制节点之间具有用于传输节点簇的状态信息的第二传输链路,这样,该第一控制节点不仅能够该第一节点簇中包括的各个节点的状态信息,还能够获知该第二节点簇的状态信息,从而有利于在选择输出通道时同时考虑局域状态信息和全局状态信息,进而避免拥塞现象的发生,提升***的整体性能。
应理解,在本发明实施例中,节点的状态信息以节点为粒度,用于表示节点的状态。节点簇的状态信息用于表示节点簇的状态,该节点簇的状态信息可以以节点簇为粒度。一个节点簇的状态可以根据该节点簇包括的部分或全部节点的状态确定。
该第一节点簇110可以包括该第一控制节点111和至少一个其它节点,其中,该至少一个其它节点可以包括与该第一控制节点111不相邻的节点。该第一控制节点111可以与该至少一个其它节点中的每个其它节点之间具有第一传输链路。可选地,该第一传输链路L1可以为有线链路或无线链路。该至少一个其它节点中的每个其它节点可以通过与该第一控制节点111之间的第一传输链路L1向该第一控制节点111传输自身的状态信息。相应地,该第一控制节点111可以接收该至少一个其它节点中的每个其它节点在对应的第一传输链路L1上传输的该每个其它节点的状态信息,并且存储该至少一个其它节点中的每个其它节点的状态信息,和/或根据该至少一个其它节点的状态信息,确定该第一节点簇的状态信息,但本发明实施例不限于此。
如图2所示,该第一控制节点111位于该第一节点簇110的中心,可选地,该第一控制节点111也可以位于该第一节点簇110的其他位置,本发明实施例对此不作限定。此外,该第一节点簇110还包括至少一个其它节点,图2示例性地示出了八个其它节点,即节点112-119。该第一控制节点111不仅和与该第一控制节点相邻的节点115、113、116和118之间分别具有用于传输节点的状态信息的第一传输链路L1(以长虚线表示),而且还和与该第一控制节点不相邻的节点112、114、117和119之间分别具有第一传输链路L1。这样,节点112-119中的每个节点可以通过与该第一控制节点111之间的第一传输链路L1直接向该第一控制节点111传输自身的状态信息。
可选地,该第一控制节点111和与该第一控制节点不相邻的节点(例如节点112)之间可以只具有一条传输链路,即该第一传输链路。该第一控制节点111和与该第一控制节点不相邻的节点之间的第一传输链路不能传输数据,这样,该第一控制节点111和与该第一控制节点不相邻的节点之间不能直接传输数据。
该第一控制节点111和与该第一控制节点相邻的节点(例如节点113)之间可以具有一条或多条传输链路,本发明实施例对此不做限定。可选地,作为另一实施例,该至少一个其它节点包括与该第一控制节点111相邻的第二其它节点,其中,该第一控制节点111与该第二其它节点之间还具有用于传输数据的第三传输链路。
如图2所示,该第一控制节点111具有四个相邻节点,即节点115、节点116、节点113和节点118。该第一控制节点111与该四个相邻节点中的每个相邻节点之间还可以具有用于传输数据的第三传输链路(以短虚线表示)。可选地,该第三传输链路可以专用于传输数据,而该第一控制节点111与该四个相邻节点之间的第一传输链路L1可以专门用于传输节点的状态信息,还可以进一步用于传输路由相关消息,例如,某个相邻节点通过该第一传输链路L1向该第一控制节点111发送路径确定请求。可选地,作为另一实施例,该第一控制节点111与该第一控制节点111的至少一个相邻节点之间的第一传输链路和该第一控制节点111与该至少一个相邻节点之间的第三传输链路为同一条链路,例如,该第一控制节点111与该第二其它节点之间的第一传输链路和该第一控制节点111与该第二其它节点之间的第三传输链路为同一条链路或不同的链路,本发明实施例对此不作限定。
该第二节点簇120可以包括该第二控制节点121,并且可选地还可以进一步包括至少一个第二其它节点。该第二节点簇120中包括的节点的数量可以与该第一节点簇包括的节点的数量相同或不同。此外,该第二节点簇120的配置可以与该第一节点簇110的配置相同或不同。具体地,该第二控制节点121与该至少一个第二其它节点中的部分或全部第二其它节点之间也可以具有用于传输节点的状态信息的第一传输链路,该第二控制节点121可以通过该第一传输链路获取该至少一个第二其它节点中的每个第二其它节点的状态信息,但本发明实施例对此不做限定。
此外,该第一控制节点111与该第二控制节点121之间还具有用于传输 节点簇的状态信息的第二传输链路L2(以长-短虚线表示),其中,该第一控制节点111与该第二控制节点121可以不相邻。该第一控制节点111可以通过该第二传输链路L2向该第二控制节点121发送该第一节点簇的状态信息,并且通过该第二传输链路L2接收该第二控制节点121发送的该第二节点簇的状态信息。可选地,该第二传输链路L2可以为有线或无线链路,但本发明实施例不限于此。
优选地,该第一传输链路L1为有线传输链路,该第二传输链路L2为无线传输链路。
可选地,作为另一实施例,在本发明实施例中,该第一节点簇包括的所有节点中可以只有该第一控制节点具有无线收发器,类似地,该第二控制节点也可以具有无线收发器。相应地,该第一控制节点111和该第二控制节点121具有无线收发器;该至少一个其它节点中的任意其它节点不具有无线收发器。
可选地,作为另一实施例,该至少一个其它节点包括第三其它节点和与该第三其它节点相邻的第四其它节点,其中,该第三其它节点和该第四其它节点之间具有第四传输链路,该第四传输链路用于传输数据和节点的状态信息。
此时,该第一节点簇110可以包括该第一控制节点111和多个其他节点,其中,该多个其他节点中的任意两个相邻节点之间可以具有第四传输链路(以短虚线表示),该第四传输链路可以用于传输数据,也可以用于传输节点的状态信息,例如,节点的拥塞信息。具体地,如图2所示,节点113与节点112和节点114之间分别具有第四传输链路,该节点113可以通过与该节点112之间的第四传输链路向该节点112发送自身的状态信息和/或数据包,也可以通过与该节点112之间的第四传输链路接收该节点112发送的该节点112的状态信息和/或数据包,但本发明实施例不限于此。
可选地,作为另一实施例,该第三其它节点与该第四其它节点之间也可以具有两条传输链路,其中一条传输链路用于传输节点的状态信息,另一条传输链路用于传输数据,但本发明实施例不限于此。
此外,如图3所示,该通信网络100还可以包括除该第一节点簇110和该第二节点簇120之外的其他节点簇,其中,该图3示例性地示出了节点簇130-190,但本发明实施例不限于此。该节点簇130-190的配置可以与该第一 节点簇110相同或不同,本发明实施例对此不作限定。
一般地,该通信网络100可以包括M个节点,并且该M个节点被划分为L个节点簇,其中,该L个节点簇可以包括该第一节点簇和该第二节点簇。该M个节点中的每个节点仅属于一个节点簇,并且该L个节点簇中的每个节点簇包括一个或多个节点,1<L<M。可选地,该L个节点簇中的任意两个节点簇包括的节点数量可以相等或不等,本发明实施例对此不做限定。
如图3所示,该通信***100包括81个节点,并且该81个节点被划分为九个节点簇(110-190),并且该九个节点簇中的每个节点簇包括九个节点。可选地,该九个节点簇可以具有相同的配置。以第二节点簇120为例,该第二节点簇120包括节点(3,0)、节点(3,1)、节点(3,2)、节点(4,1)、节点(4,2)、节点(4,3)、节点(5,1)、节点(5,2)和节点(5,3),其中,每个节点与在其东侧(E)、西侧(W)、南侧(S)或北侧(N)的一跳节点相邻,例如,节点(4,1)的相邻节点包括:节点(3,1)、节点(5,1)、节点(4,0)和节点(4,2)。
类似地,相邻的节点簇可以表示物理或者逻辑上满足相邻关系的节点簇。例如,如图3所示,第一节点簇110的相邻节点簇包括:第二节点簇120和节点簇140。可选地,作为另一实施例,该第一节点簇110与该第二节点簇120也可以不相邻,本发明实施例对此不做限定。
在本发明实施例中,可以通过多种方式划分节点簇。可选地,可以将该网络分为L个物理区域,每个物理区域对应于一个节点簇,此时,位于该物理区域内的至少一个节点属于该物理区域对应的节点簇,但本发明还可以根据其他方式划分节点簇,本发明实施例对此不做限定。
可选地,该L个节点簇中的每个节点簇可以包括一个控制节点。可选地,一个节点簇中的控制节点可以为该节点簇包括的多个节点中位于某一特定位置的节点,例如,控制节点为该节点簇中的位于所有节点的中心的节点;或者该控制节点为该节点簇中具有某一特定功能或包括某一特定器件的节点,例如,该控制节点为该节点簇包括的所有节点中包括无线收发器的节点,等等,本发明实施例对此不做限定。
可选地,该第一节点簇可以包括多个其他节点。该第一控制节点与该多个其它节点中的至少一个其它节点之间可以分别具有第一传输链路,其中,该第一传输链路用于传输节点的状态信息。通过接收该至少一个其它节点在 分别对应的第一传输链路上发送的节点的状态信息,该第一控制节点可以获取该多个其它节点中的每个其它节点的状态信息,并根据该多个其它节点中每个其它节点的状态信息,该第一控制节点可以确定该节点簇的状态信息。
在一个可选实施例中,该第一节点簇中只有相邻节点之间具有第一传输链路。此时,该第一控制节点可以在与至少一个相邻节点中的每个相邻节点在对应的第一传输链路上接收该每个相邻节点发送的节点的状态信息,其中,与该第一控制节点相邻的第二其他节点发送的状态信息可以包括该第二其他节点的状态信息,或进一步包括第三其他节点的状态信息,其中,该第三其他节点与该第一控制节点不相邻。该第一控制节点可以向该第一控制节点的相邻节点发送该第一控制节点接收到的节点的状态信息,或者将该接收到的节点的状态信息与该第一控制节点的状态信息聚合,并向该第一控制节点的相邻节点发送聚合后的节点的状态信息。这样,该第一控制节点可以获取该第一节点簇中除该第一控制节点以外的所有其它节点的状态信息。
在另一个可选实施例中,该第一控制节点可以与该多个其它节点中的每个其它节点之间具有第一传输链路。此时,该第一控制节点可以和与该第一控制节点不相邻的其它节点之间具有第一传输链路。该第一控制节点可以接收该多个其它节点中的每个其它节点在与该第一控制节点之间的传输链路上发送的该每个其它节点的状态信息,但本发明实施例不限于此。
可选地,作为另一实施例,该第一控制节点111用于:
接收该至少一个其它节点中的每个其它节点在对应的第一传输链路上发送的该每个其它节点的状态信息;
根据该至少一个其它节点中的每个其它节点的状态信息,确定该第一节点簇的状态信息;
在该第二传输链路上向该第二控制节点发送该第一节点簇的状态信息。
该状态信息可以包括拥塞信息,例如,最大缓存占用率(Mixmum Buffer Occupay,BFM),虚通道占用率,等等,该状态信息还可以包括其它信息,本发明实施例对此不作限定。
该至少一个其它节点中的每个其他节点可以周期性或触发性地向该第一控制节点发送自身的状态信息。可选地,该第一控制节点可以向该至少一个其他节点中的每个其他节点发送状态信息上报指示,该状态信息上报指示用于指示向该第一控制节点发送状态信息;相应地,该至少一个其它节点中 的每个其他节点用于根据该状态信息上报指示,向该第一控制节点发送该每个其他节点的状态信息。
作为一个可选实施例,该状态信息包括最大缓存占用率BFM;相应地,该第一控制节点具体用于:将该至少一个其它节点与该第一控制节点的BFM之和确定为该第一节点簇的BFM。
具体地,该第一控制节点可以将该第一节点簇110中包括的所有节点的BFM之和确定为该第一节点簇的BFM。可选地,作为另一实施例,该第一控制节点也可以将该第一节点簇110中包括的全部节点的BFM的数学平均值或其它函数值作为该第一节点簇110的BFM,但本发明实施例不限于此。
作为另一个可选实施例,该第一控制节点可以根据该第一节点簇包括的部分节点的状态信息,确定该第一节点簇的状态信息。例如,该第一控制节点可以首先确定该第一节点簇包括的每个节点的BFM是否满足预设条件,并且根据该第一节点簇包括的所有节点中满足该预设条件的至少一个节点的BFM,确定该第一节点簇的BFM,例如,该第一控制节点可以将满足该预设条件的至少一个节点的BFM之和、或满足该预设条件的至少一个节点的BFM的数学平均值或其它函数值,作为该第一节点簇110的BFM,但本发明实施例不限于此。该满足预设条件的至少一个节点可以包括该第一控制节点和/或至少一个其他节点。该预设条件可以包括下列条件中的至少一项:节点自身的BFM值大于一定阈值,节点的BFM值与该节点簇中除该节点之外的至少一个其它节点的BFM值的差大于一定阈值,等等,本发明实施例对此不做限定。
该第一控制节点可以周期性地发送该第一节点簇的状态信息,其中,该周期值可以预先设置;或者,该第一控制节点也可以触发性地发送该第一节点簇的状态信息,例如,第一控制节点在接收到该第二控制节点发送的用于请求该第一节点簇的状态信息的请求时,向该第二控制节点发送该第一节点簇的状态信息;或者,该第一控制节点在接收第三控制节点发送的令牌时,发送该第一节点簇的状态信息,并且在发送该第一节点簇的状态信息之后,向第二控制节点发送该令牌,以便于该第二控制节点根据该令牌发送该第二节点簇的状态信息,但本发明实施例对此不作限定。
可选地,在该通信***100中,除该第一节点簇110之外的(L-1)个其他节点簇中的每个其他节点簇可以包括一个控制节点,该(L-1)个其它 节点簇中的每个其它节点簇包括的控制节点可以称为其它控制节点。此时,该第一控制节点可以与该(L-1)个其它控制节点中的至少一个其他控制节点之间可以具有第二传输链路,并且该至少一个其他控制节点包括该第二控制节点,其中,该第二传输链路用于传输节点簇的状态信息。通过接收该至少一个其它控制节点在对应的第二传输链路上发送的节点簇的状态信息,该第一控制节点可以确定该(L-1)个其它节点簇中的每个其他节点簇的状态信息。
在一个可选实施例中,在该通信***100包括的L个控制节点中,只有相邻的节点簇包括的控制节点之间具有第二传输链路。该第一控制节点可以接收至少一个其它控制节点中的每个其它控制节点通过与该第一控制节点的第二传输链路发送的节点簇的状态信息,其中,该至少一个其它控制节点中的每个其它控制节点所属的节点簇与该第一节点簇相邻,并且该至少一个其它控制节点可以包括该第二控制节点。该第二控制节点发送的节点簇的状态信息可以包括该第二节点簇的状态信息,或进一步包括不同于该第二节点簇的第三节点簇的状态信息,其中,该第三节点簇的状态信息可以来自于第三控制节点,其中,该第三控制节点所属的节点簇可以与该第二节点簇相邻,并且该第三控制节点所属的节点簇可以与该第一节点簇不相邻,但本发明实施例不限于此。相应地,该第一控制节点可以向该至少一个其它控制节点发送该第一控制节点接收到的节点簇的状态信息,例如,如图4所示,该第一控制节点(1,1)可以向控制节点(4,1)发送该第一控制节点接收到的控制节点(1,4)发送的节点簇的状态信息,并且向控制节点(1,4)发送该第一控制节点接收到的控制节点(4,1)发送的节点簇的状态信息。或者,该第一控制节点可以先将该第一控制节点接收到的节点簇的状态信息与该第一节点簇的状态信息聚合,并向该与第一节点簇相邻的其它节点簇中的控制节点发送聚合后的节点簇的状态信息。这样,该第一控制节点可以获取除该第一节点簇以外的(L-1)个其它节点簇的状态信息。
在另一个可选实施例中,该通信***100包括的L个控制节点中的任意两个控制节点之间具有第二传输链路。此时,不仅属于相邻的节点簇的两个控制节点之间可以具有第二传输链路,而且属于不相邻的节点簇的两个控制节点之间也可以具有第二传输链路。某一控制节点向其它控制节点发送的节点簇的状态信息可以仅包括该某一控制节点所属的节点簇的状态信息。相应 地,该第一控制节点可以接收(L-1)个其它控制节点中的每个其它控制节点在与该第一控制节点的第二传输链路上发送的该每个其它控制节点所属的其它节点簇的状态信息,并且,该第一控制节点可以向(L-1)个其他控制节点发送该第一节点簇的状态信息,但本发明实施例对此不作限定。
可选地,作为另一实施例,如果该第二传输链路为无线链路。则该第一控制节点在发送该第一节点簇110的状态信息时,可以广播该第一节点簇110的状态信息,以节省信令开销。此时,该第一控制节点具体用于在该第二传输链路上广播该第一节点簇的状态信息。
相应地,该第一控制节点也可以接收其他控制节点广播的该其他控制节点所属的节点簇的状态信息,本发明实施例不限于此。
可选地,作为另一实施例,该第一控制节点还用于:
接收该第二控制节点发送的该第二节点簇的状态信息;
存储该第二节点簇的状态信息。
如果该第一控制节点已经存储有该第二节点簇的状态信息,该第一控制节点可以更新存储的该第二节点簇的状态信息。可选地,该第一控制节点也可以在再次接收到该第二节点簇的状态信息之前,一直使用存储的该第二节点簇的状态信息,但本发明实施例不限于此。此外,该第一控制节点也可以存储该第一节点簇的状态信息。
可选地,作为另一实施例,该第一控制节点还用于:
确定第一数据包的目的节点所属的第三节点簇,其中,该通信***还包括不同于该第一节点簇的该第三节点簇;
确定该第一数据包由该第一节点簇至该第三节点簇的多个可选路由路径,其中,该多个可选路由路径中的每个可选路由路径包括至少一个节点簇;
根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,从该多个可选路由路径中确定目标路由路径。
在本发明实施例中,该通信***100还包括第三节点簇,并且该第三节点簇可以与该第一节点簇110相邻或不相邻。该第一控制节点可以确定由该第一节点簇至该第三节点簇的多个可选路由路径,每个可选路由路径包括至少一个节点簇。可选地,该多个可选路由路径可以为粗粒度路由路径,即该多个可选路由路径的基本粒度为节点簇。此时,该多个可选路由路径中的每个可选路由路径可以以该第一节点簇为起点,并且以该第三节点簇为终点, 中间可以依次经过零个、一个或多个节点簇。可选地,该多个可选路由路径中的每个可选路由路径可以不包括该第一节点簇和该第三节点簇,此时,该每个可选路由路径包括的至少一个节点簇为该通信***100中除该第一节点簇和该第三节点簇之外的节点簇;或者该多个可选路由路径中的每个可选路由路径也可以包括该第三节点簇,或者进一步包括该第一节点簇,或者进一步包括除该第一节点簇和该第三节点簇之外的至少一个节点簇,但本发明实施例不限于此。
该第一控制节点可以获取每个可选路由路径中包括的至少一个节点簇中每个节点簇的状态信息,并根据每个可选路由路径包括的至少一个节点簇中每个节点簇的状态信息,从该多个可选路由路径中选取目标路由路径。可选地,该第一控制节点具体用于:
根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,确定该每个可选路由路径的拥塞状态;
将该多个可选路由路径中拥塞程度最小的可选路由路径确定为该目标路由路径。
作为一个示例,节点簇的状态信息可以包括节点簇的BFM,可选路由路径的拥塞状态可以由该可选路由路径对应的BFM表示。其中,一个可选路由路径对应的BFM可以由该可选路由路径中包括的部分或全部节点簇的BFM确定。例如,该第一控制节点将该多个可选路由路径中的第一可选路由路径对应的BFM确定为该第一可选路由路径中包括的所有节点簇的BFM之和或数学平均值。或者,该第一控制节点也可以将该第一可选路由路径对应的BFM确定为该第一可选路由路径包括的部分节点簇的BFM之和或数学平均值,但本发明实施例不限于此。
该第一控制节点可以通过多种选择准则确定该目标路由路径。可选地,该第一控制节点在确定该目标路由路径时,可以仅考虑各个可选路由路径的拥塞状态,例如,该第一控制节点可以将该多个可选路由路径中最不拥塞(即拥塞程度最低)的可选路由路径确定为该目标路由路径。或者,该第一控制节点可以根据各个可选路由路径的拥塞状态和各个可选路由路径的其他参数,确定该目标路由路径。例如,该第一控制节点可以根据该多个可选路由路径中每个可选路由路径的拥塞状态和路径长度,确定该目标路由路径。具体地,一个可选路由路径的路径长度可以采用该可选路由路径包括的节点簇 的个数表示,该节点簇的个数对应于数据包在该可选路由路径中的跳转次数,但本发明实施例对此不做限定。
作为一个可选实施例,该第一控制节点具体用于:根据该多个可选路由路径中每个可选路由路径的拥塞状态和该每个可选路由路径包括的节点簇的个数,从该多个可选路由路径中确定该目标路由路径。
在一个可选的选择准则中,可选路由路径的拥塞状态可以对应于第一权重值,可选路由路径包括的节点簇的个数可以对应于第二权重值。一个可选路由路径的总权重值可以根据该第一权重值、该可选路由路径的拥塞状态、第二权重值和该可选路由路径包括的节点簇的个数确定。例如,可选路由路径的总权重值W可以通过下式确定:W=(BFM)w1+Nw2,其中,N为该可选路由路径包括的节点簇的个数,w1为第一权重值,w2为第二权重值。可选地,该总权重值还可以具有其他函数形式,本发明实施例对此不作限定。
此时,该第一控制节点可以确定该多个可选路由路径中每个可选路由路径的总权重值,并且将该多个可选路由路径中具有最小总权重值的可选路由路径确定为该目标路由路径,但本发明实施例不限于此。
作为一个可选实施例,该至少一个其他节点中的第一节点为该第一数据包的源节点。此时,该第一数据包属于该至少一个其它节点中的第一其它节点;相应地,该第一控制节点还用于:
在确定该第一数据包的目的节点所属的第三节点簇之前,接收该第一其它节点发送的路径确定请求,该路径确定请求用于请求该第一控制节点确定该第一数据包的路由路径;
根据该路径确定请求,确定该第三节点簇;
在该从该多个可选路由路径中确定目标路由路径之后,向该第一其它节点发送该目标路由路径的信息。
该路径确定请求可以携带该目的节点的信息和/或该第三节点簇的信息。该第一控制节点可以根据该路径确定请求确定该第三节点簇。可选地,该路径确定请求可以携带该目的节点的信息,例如,目的节点的IP地址或设备标识,等等。此时,该第一控制节点可以根据该目的节点的信息,确定该第三节点簇。可选地,该第一控制节点可以获取节点与节点簇之间的对应关系,并且根据该目的节点的信息以及获取的该节点与节点簇之间的对应关系,确定该第三节点簇,其中,该对应关系可以是该第一控制节点预先存储的或者 从其他网络设备获取的,本发明实施例对此不做限定。可选地,作为另一实施例,该第一控制节点也可以向其它网络设备发送携带有该目的节点的信息的请求,该其它网络设备根据该目的节点的信息确定该第三节点簇,并向该第一控制节点发送该第三节点簇的信息。
可选地,作为另一实施例,该第一其他节点可以确定该第三节点簇,并且在该路径确定请求中携带该第三节点簇的信息,例如,该第三节点簇的编号。具体地,该第一其他节点可以预先存储或有节点与节点簇的对应关系,或者该第一其他节点可以从该第一控制节点获取节点与节点簇的对应关系,并根据该节点与节点簇的对应关系以及该目的节点的信息,确定该第三节点簇,但本发明实施例对此不做限定。
可选地,该目标路由路径的信息可以包括该目标路由路径中包括的至少一个节点簇中的每个节点簇的标识信息,或者还可以进一步包括用于表示该至少一个节点簇的次序的信息,其中,该第一数据包按照该次序依次经过该至少一个节点簇,但本发明实施例不限于此。
作为一个可选实施例,该第一其它节点用于:
接收该第一控制节点发送的该目标路由路径的信息;
在该第一数据包中添加该目标路由路径的信息;
发送添加了该目标路由路径的信息的该第一数据包。
可选地,该第一其他节点可以将该目标路由路径的信息添加至该第一数据包的包头,但本发明实施例不限于此。该目标路由路径对应于该第一数据包的粗粒度路由路径,则该第一其他节点还可以确定该第一数据包的细粒度路由路径,其中,该细粒度路由路径以节点为基本粒度。
可选地,作为另一实施例,该第一其他节点还用于:
在发送添加了该目标路由路径的信息的该第一数据包之前,获取该第一其他节点的多个相邻节点的状态信息,并且根据该多个相邻节点的状态信息,确定该第一数据包的下一跳节点;
向该第一数据包的下一跳节点发送添加了该目标路由路径的信息的该第一数据包。
该多个相邻节点的状态信息可以包括该多个相邻节点中的部分或全部节点的状态信息。该状态信息可以包括拥塞信息。该第一其他节点可以与多个相邻节点中的每个相邻节点具有用于传输节点的状态信息的第四传输链 路,相应地,该第一其他节点可以通过该多个相邻节点中的每个相邻节点对应的第四传输链路接收该每个相邻节点发送的自身的状态信息,但本发明实施例不限于此。
可选地,该第一其他节点可以根据该目标路由路径确定该第一数据包的下一跳节点簇,并确定该第一其他节点的多个相邻节点中与该下一跳节点簇距离最近的至少一个相邻节点,其中,与该下一跳节点簇距离最近的至少一个相邻节点可以指由该至少一个相邻节点到达该下一跳节点簇经过的跳数最少。然后,该第一其他节点可以确定该至少一个相邻节点中每个相邻节点的状态信息,并且根据该至少一个相邻节点中的每个相邻节点的状态信息,确定该下一跳节点。具体地,该第一其他节点可以确定该至少一个相邻节点中的每个相邻节点是否处于拥塞状态,其中,不处于拥塞状态的节点处于非拥塞状态,如果节点的状态信息中包括的拥塞信息满足预设条件,则该节点处于拥塞状态,该预设条件可以包括节点的BFM大于一定阈值,或者节点的BFM与该第一节点簇的平均BFM的差值大于一定阈值,等等,但本发明实施例不限于此。
如果该至少一个相邻节点中的每个相邻节点均处于拥塞状态,则该第一其他节点可以确定该多个相邻节点中与该下一跳节点簇的距离次近的至少一个相邻节点,并确定该距离次近的至少一个相邻节点是否处于拥塞状态,以此往复,直到找到处于非拥塞状态的相邻节点。如果与该下一跳节点簇距离最近的该至少一个相邻节点中存在处于非拥塞状态的相邻节点,则该第一其他节点可以将该至少一个相邻节点中处于非拥塞状态的相邻节点确定为该下一跳节点。如果该至少一个相邻节点中处于非拥塞状态的相邻节点的数量为多个,则该第一其他节点可以将该多个处于非拥塞状态的相邻节点中拥塞程度最小的节点确定为该下一跳节点,其中,拥塞程度最小的相邻节点可以指该多个处于非拥塞状态的相邻节点中对应于最小的BFM值的相邻节点,但本发明实施例不限于此。
可选地,作为另一实施例,该第一其他节点还可以首先确定该多个相邻节点中处于非拥塞状态的至少一个相邻节点,如果该处于非拥塞状态的至少一个相邻节点的个数为一个,则该第一其他节点可以将该处于非拥塞状态的相邻节点确定为该下一跳节点。如果该处于非拥塞状态的至少一个相邻节点的个数为多个,则该第一其他节点可以根据该至少一个相邻节点与该下一跳 节点簇之间的距离,确定该下一跳节点。此时,该多个相邻节点的状态信息可以包括该多个相邻节点中的每个相邻节点的状态信息。相应地,该第一其他节点具体用于:
根据该第一其他节点的多个相邻节点中的每个相邻节点的状态信息,从该多个相邻节点中确定处于非拥塞状态的至少一个相邻节点;
若该至少一个相邻节点的个数为多个,确定该目标转发路径中该第一其他节点簇对应的下一跳节点簇,并将该至少一个相邻节点中与该下一跳节点簇距离最近的相邻节点确定为该下一跳节点。
如果该至少一个相邻节点中与该下一跳节点簇距离最近的相邻节点的个数为一个,则该第一其他节点可以将该距离最近的相邻节点确定为该下一跳节点。如果该至少一个相邻节点中与该下一跳节点簇距离最近的相邻节点的个数为多个,则该第一其他节点可以将其中拥塞程度最小的相邻节点确定为该下一跳节点,但本发明实施例不限于此。
可选地,作为另一实施例,如果该第一数据包属于该第一控制节点,即该第一控制节点为该第一数据包的源节点,则该第一控制节点也可以以类似的方式确定该第一数据包的下一跳节点,但本发明实施例不限于此。
可选地,作为另一实施例,该第一节点簇110包括转发节点,该至少一个其它节点包括该转发节点或该转发节点为该第一控制节点;
该转发节点用于:
接收第二数据包,该第二数据包携带该第二数据包的路由路径的信息,该路由路径的信息包括至少一个节点簇的信息;
根据该第二数据包的路由路径的信息,确定该第二数据包的下一跳节点簇;
根据该第二数据包的下一跳节点簇和该第二其它节点的多个相邻节点的状态信息,确定该第二数据包的下一跳节点;
向该第二数据包的下一跳节点发送该第二数据包。
具体地,该转发节点可以为该第一控制节点,也可以为该至少一个其它节点中的节点,该转发节点确定该第二数据包的下一跳节点的方式可以参照上面描述,为了简洁,这里不再赘述。
因此,根据本发明实施例的通信***,包括第一节点簇和第二节点簇,其中,该第一节点簇中的第一控制节点与其它节点之间具有用于传输节点的 状态信息的第一传输链路,并且该第一控制节点和该第二节点簇中的第二控制节点之间具有用于传输节点簇的状态信息的第二传输链路,这样,该第一控制节点不仅能够该第一节点簇中包括的各个节点的状态信息,还能够获知该第二节点簇的状态信息,从而有利于在选择输出通道时同时考虑局域状态信息和全局状态信息,进而避免拥塞现象的发生,提升***的整体性能。
此外,通过根据第一数据包的每个可选路由路径中包括的每个节点簇的状态信息,确定该第一数据包的目标路由路径,能够均衡网络中各个节点簇的负载,从而避免拥塞现象的发生。进一步地,在发送该第一数据包时,节点通过根据多个相邻节点的状态信息,确定该第一数据包的下一跳节点,能够进一步均衡源节点簇中的各个节点的负载,从而均衡网络中所有节点的负载,进一步避免拥塞现象的发生。
图4示意性地示出了根据本发明实施例的控制节点200。该控制节点200包括:
第一收发单元210,用于接收至少一个其它节点中的每个其它节点发送的该每个其它节点的状态信息,其中,该控制节点所属的第一节点簇包括该至少一个其它节点;
处理单元220,用于根据该第一收发单元210接收的该至少一个其它节点中的每个其它节点的状态信息,确定该第一节点簇的状态信息;
第二收发单元230,用于向第二控制节点发送该处理单元220确定的该第一节点簇的状态信息。
因此,根据本发明实施例的控制节点,通过该控制节点与其它节点之间的第一传输链路接收该其它节点的状态信息,根据各个其它节点的状态信息确定该第一节点簇的状态信息,并通过与该第二控制节点之间的第二传输链路向该第二控制节点发送该第一节点簇的状态信息,有利于在选择输出通道时同时考虑局域状态信息和全局状态信息,进而避免拥塞现象的发生,提升***的整体性能。
可选地,该控制节点200与该第二控制节点之间可以具有无线链路。该第二收发单元230具体用于广播该处理单元220确定的该第一节点簇的状态信息。
该第二收发单元230可以周期性地发送该第一节点簇的状态信息,其中,该周期值可以预先设置;或者,该第二收发单元230也可以触发性地发送该 第一节点簇的状态信息,例如,该第二收发单元230在接收到该第二控制节点发送的用于请求该第一节点簇的状态信息的请求时,向该第二控制节点发送该第一节点簇的状态信息;或者,该第二收发单元230在接收第三控制节点发送的令牌时,发送该第一节点簇的状态信息,其中,该第三控制节点可以生成该令牌或者该第三控制节点从其它控制节点获取该令牌,可选地,在发送该第一节点簇的状态信息之后,该第二收发单元230还可以向第四控制节点发送该令牌,以便于该第四控制节点根据该令牌发送该第四节点所属的节点簇的状态信息,但本发明实施例对此不作限定。
可选地,作为另一实施例,该第二收发单元230还用于:接收第三控制节点发送的令牌,根据该令牌,向该第二控制节点发送该第一节点簇的状态信息;或者
该第二收发单元230还用于:在发送该第一节点簇的状态信息之后,向第四控制节点发送令牌,以便于该第四控制节点根据该令牌发送该第四控制节点所属的节点簇的状态信息。
可选地,作为另一实施例,该控制节点200与该至少一个其它节点中的每个其它节点之间具有第一有线传输链路;
该第一收发单元210具体用于在与该至少一个其它节点中的每个其它节点之间的第一有线传输链路上接收该每个其它节点的状态信息。
可选地,作为另一实施例,该至少一个其它节点包括与该控制节点200相邻的第一其它节点,该控制节点200与该第一其它节点之间还具有不同于该第一有线传输链路的第二有线传输链路;
相应地,该第一收发单元210还用于在该第二有线传输链路上收发数据。
可选地,作为另一实施例,该状态信息包括最大缓存占用率BFM,该处理单元220具体用于将该至少一个其它节点和该控制节点的BFM之和确定为该第一节点簇的BFM。
该处理单元还可以将该至少一个其它节点和该控制节点的BFM的其他函数值作为该第一节点簇的BFM,例如该至少一个其它节点和该控制节点的BFM的数学平均值,等等,本发明实施例不限于此。
可选地,作为另一实施例,该第一收发单元210还用于:
在接收至少一个其它节点中的每个其它节点发送的该每个其它节点的状态信息之前,向该至少一个其它节点中的每个其它节点发送状态信息上报 指示,该状态信息上报指示用于指示该每个其它节点发送自身的状态信息。
该至少一个其它节点中的每个其他节点可以根据该状态信息上报指示向该控制节点发送自身的状态信息,例如,拥塞信息。
可选地,作为另一实施例,该第二收发单元230还用于接收该第二控制节点发送的该第二控制节点所属的第二节点簇的状态信息;
相应地,该控制节点200还包括:
第一存储单元,用于存储该第二收发单元230接收的该第二节点簇的状态信息。
可选地,如果该第一存储单元已经存储有该第二节点簇的状态信息,则该第一存储单元可以更新存储的该第二节点簇的状态信息。
可选地,作为另一实施例,该处理单元220还用于:
确定第一数据包的目的节点所属的第三节点簇;
确定该数据包由该第一节点簇至该第三节点簇的多个可选路由路径,其中,该多个可选路由路径中的每个可选路由路径包括至少一个节点簇;
根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,从该多个可选路由路径中确定目标路由路径。
该处理单元220可以确定由该第一节点簇至该第三节点簇的多个可选路由路径,每个可选路由路径包括至少一个节点簇。可选地,该多个可选路由路径可以为粗粒度路由路径,即该多个可选路由路径的基本粒度为节点簇。此时,该多个可选路由路径中的每个可选路由路径可以以该第一节点簇为起点,并且以该第三节点簇为终点,中间可以依次经过零个、一个或多个节点簇。可选地,该多个可选路由路径中的每个可选路由路径可以不包括该第一节点簇和该第三节点簇,此时,该每个可选路由路径包括的至少一个节点簇为除该第一节点簇和该第三节点簇之外的节点簇;或者该多个可选路由路径中的每个可选路由路径也可以包括该第三节点簇,或者进一步包括该第一节点簇,或者进一步包括除该第一节点簇和该第三节点簇之外的至少一个节点簇,但本发明实施例不限于此。
节点簇的状态信息可以包括节点簇的BFM,可选路由路径的拥塞状态可以由该可选路由路径对应的BFM表示。其中,一个可选路由路径对应的BFM可以由该可选路由路径中包括的部分或全部节点簇的BFM确定。例如,该处理单元220可以将该多个可选路由路径中的第一可选路由路径对应的 BFM确定为该第一可选路由路径中包括的所有节点簇的BFM之和或数学平均值,但本发明实施例不限于此。
该处理单元220可以通过多种选择准则确定该目标路由路径。可选地,该处理单元220在确定该目标路由路径时,可以仅考虑各个可选路由路径的拥塞状态,例如,该第一控制节点可以将该多个可选路由路径中最不拥塞(即拥塞程度最低)的可选路由路径确定为该目标路由路径。或者,该处理单元220可以根据各个可选路由路径的拥塞状态和各个可选路由路径的其他参数,确定该目标路由路径。例如,根据该多个可选路由路径中每个可选路由路径的拥塞状态和路径长度,确定该目标路由路径。具体地,一个可选路由路径的路径长度可以采用该可选路由路径包括的节点簇的个数表示,该节点簇的个数对应于数据包在该可选路由路径中的跳转次数,但本发明实施例对此不做限定。
在一个可选的选择准则中,可选路由路径的拥塞状态可以对应于第一权重值,可选路由路径包括的节点簇的个数可以对应于第二权重值。一个可选路由路径的总权重值可以根据该第一权重值、该可选路由路径的拥塞状态、第二权重值和该可选路由路径包括的节点簇的个数确定。例如,可选路由路径的总权重值W可以通过下式确定:W=(BFM)w1+Nw2,其中,N为该可选路由路径包括的节点簇的个数,w1为第一权重值,w2为第二权重值。可选地,该总权重值还可以具有其他函数形式,本发明实施例对此不作限定。
此时,该处理单元220可以确定该多个可选路由路径中每个可选路由路径的总权重值,并且将该多个可选路由路径中具有最小总权重值的可选路由路径确定为该目标路由路径,但本发明实施例不限于此。
可选地,作为另一实施例,该处理单元220具体用于:
根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,确定该每个可选路由路径的拥塞状态;
将该多个可选路由路径中拥塞程度最小的可选路由路径确定为该目标路由路径。
可选地,作为另一实施例,该第一数据包属于该控制节点200,即该控制节点200为该第一数据包的源节点。此时,该处理单元220还用于在该第一数据包中添加该目标路由路径的信息;
相应地,该第一收发单元210还用于发送添加了该目标路由路径的信息 的该第一数据包。
可选地,该目标路由路径的信息可以包括该目标路由路径中包括的至少一个节点簇中的每个节点簇的标识信息,或者还可以进一步包括用于表示该至少一个节点簇的次序的信息,其中,该第一数据包按照该次序依次经过该至少一个节点簇,但本发明实施例不限于此。
可选地,作为另一实施例,该处理单元220还用于在该第一收发单元210发送添加了该目标路由路径的信息的该第一数据包之前,获取该控制节点的多个相邻节点的状态信息,并且根据该多个相邻节点的状态信息,确定该第一数据包的下一跳节点;
该第一收发单元210具体用于向该处理单元220确定的该第一数据包的下一跳节点发送该第一数据包。
可选地,该处理单元220可以根据该目标路由路径确定该第一数据包的下一跳节点簇,并确定该控制节点200的多个相邻节点中与该下一跳节点簇距离最近的至少一个相邻节点,其中,与该下一跳节点簇距离最近的至少一个相邻节点可以指由该至少一个相邻节点到达该下一跳节点簇经过的跳数最少。然后,该处理单元220可以确定该至少一个相邻节点中每个相邻节点的状态信息,并且根据该至少一个相邻节点中的每个相邻节点的状态信息,确定该下一跳节点。具体地,该第一其他节点可以确定该至少一个相邻节点中的每个相邻节点是否处于拥塞状态,其中,如果节点的状态信息中包括的拥塞信息满足预设条件,则该节点处于拥塞状态,该预设条件可以包括节点的BFM大于一定阈值,或者节点的BFM与该第一节点簇的平均BFM的差值大于一定阈值,等等,但本发明实施例不限于此。
如果该至少一个相邻节点中的每个相邻节点均处于拥塞状态,则该处理单元220可以确定该多个相邻节点中与该下一跳节点簇的距离次近的至少一个相邻节点,并确定该距离次近的至少一个相邻节点是否处于拥塞状态,以此往复,直到找到处于非拥塞状态的相邻节点。如果与该下一跳节点簇距离最近的该至少一个相邻节点中存在处于非拥塞状态的相邻节点,则该处理单元220可以将该至少一个相邻节点中处于非拥塞状态的相邻节点确定为该下一跳节点。如果该至少一个相邻节点中处于非拥塞状态的相邻节点的数量为多个,则该处理单元220可以将该多个处于非拥塞状态的相邻节点中拥塞程度最小的节点确定为该下一跳节点,其中,拥塞程度最小的相邻节点可以指 该多个处于非拥塞状态的相邻节点中对应于最小的BFM值的相邻节点,但本发明实施例不限于此。
可选地,作为另一实施例,该处理单元220还可以首先确定该多个相邻节点中处于非拥塞状态的至少一个相邻节点,如果该处于非拥塞状态的至少一个相邻节点的个数为一个,则该处理单元220可以将该处于非拥塞状态的相邻节点确定为该下一跳节点。如果该处于非拥塞状态的至少一个相邻节点的个数为多个,则该处理单元220可以根据该至少一个相邻节点与该下一跳节点簇之间的距离,确定该下一跳节点。
可选地,作为另一实施例,该处理单元220具体用于:
根据该多个相邻节点的状态信息,从该多个相邻节点中确定处于非拥塞状态的至少一个相邻节点;
若该至少一个相邻节点的个数为多个,确定该目标路由路径中该第一节点簇对应的下一跳节点簇,并将该至少一个相邻节点中与该下一跳节点簇距离最近的相邻节点确定为该第一数据包的下一跳节点。
可选地,作为另一实施例,该第一数据包属于该至少一个其它节点中的第二其它节点,即该第二其它节点为该第一数据包的源节点。此时,该第一收发单元210还用于在确定该第一数据包的目的节点所属的第三节点簇之前,接收该第二其它节点发送的路径确定请求,该路径确定请求用于请求该控制节点确定该第一数据包的路由路径;
该处理单元220具体用于根据该第一收发单元210接收的该路径确定请求,确定该第三节点簇;
该第一收发单元210还用于向该第二其它节点发送该处理单元220确定的该目标路由路径的信息。
该路径确定请求可以携带该第一数据包的目的节点的信息和/或该第三节点簇的信息,该处理单元220可以根据该路径确定请求确定该第三节点簇。
可选地,作为另一实施例,该路径确定请求携带该第一数据包的目的节点的信息。此时,该控制节点200还包括:第二存储单元,用于存储节点与节点簇之间的对应关系;
相应地,该处理单元220具体用于根据该目的节点的信息和该第二存储单元存储的节点与节点簇之间的对应关系,确定该第三节点簇。
可选地,作为另一实施例,该第一收发单元210还用于接收第二数据包, 该第二数据包携带该第二数据包的路由路径的信息,该第二数据包的路由路径的信息包括至少一个节点簇的信息;
该处理单元220还用于根据该第一收发单元210接收的该第二数据包的路由路径的信息,确定该第二数据包的下一跳节点簇,并且根据该第二数据包的下一跳节点簇和该控制节点的多个相邻节点的状态信息,确定该第二数据包的下一跳节点;
该第一收发单元210还用于向该处理单元220确定的该第二数据包的下一跳节点发送该第二数据包。
该处理单元220确定该第二数据包的下一跳节点的方式可以与该处理单元210确定该第一数据包的下一跳节点的方式类似,为了简洁,这里不再赘述。
该控制节点200可以对应于上述通信***100中的第一控制节点110,该控制节点200和该第一控制节点110的描述可以相互参照。
因此,根据本发明实施例的控制节点,通过该控制节点与其它节点之间的第一传输链路接收该其它节点的状态信息,根据各个其它节点的状态信息确定该第一节点簇的状态信息,并通过与该第二控制节点之间的第二传输链路向该第二控制节点发送该第一节点簇的状态信息,有利于在选择输出通道时同时考虑局域状态信息和全局状态信息,进而避免拥塞现象的发生,提升***的整体性能。
此外,通过根据第一数据包的每个可选路由路径中包括的每个节点簇的状态信息,确定该第一数据包的目标路由路径,能够均衡网络中各个节点簇的负载,从而避免拥塞现象的发生。进一步地,在发送该第一数据包时,节点通过根据多个相邻节点的状态信息,确定该第一数据包的下一跳节点,能够进一步均衡源节点簇中的各个节点的负载,从而均衡网络中所有节点的负载,进一步避免拥塞现象的发生。
图5示意性地示出了根据本发明实施例的控制节点300。该控制节点300包括:
第一收发器310,用于接收至少一个其它节点中的每个其它节点发送的该每个其它节点的状态信息,其中,该控制节点所属的第一节点簇包括该至少一个其它节点;
处理器320,用于根据该第一收发器310接收的该至少一个其它节点中 的每个其它节点的状态信息,确定该第一节点簇的状态信息;
第二收发器330,用于向第二控制节点发送该处理器320确定的该第一节点簇的状态信息。
因此,根据本发明实施例的控制节点,通过该控制节点与其它节点之间的第一传输链路接收该其它节点的状态信息,根据各个其它节点的状态信息确定该第一节点簇的状态信息,并通过与该第二控制节点之间的第二传输链路向该第二控制节点发送该第一节点簇的状态信息,有利于在选择输出通道时同时考虑局域状态信息和全局状态信息,进而避免拥塞现象的发生,提升***的整体性能。
应理解,在本发明实施例中,该处理器320可以是中央处理单元(Central Processing Unit,简称为“CPU”),该处理器320还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
可选地,该第二收发器330为无线收发器。该第二收发器330具体用于广播该处理器320确定的该第一节点簇的状态信息。
该第二收发器330可以周期性地发送该第一节点簇的状态信息,其中,该周期值可以预先设置;或者,该第二收发器330也可以触发性地发送该第一节点簇的状态信息,例如,该第二收发器330在接收到该第二控制节点发送的用于请求该第一节点簇的状态信息的请求时,向该第二控制节点发送该第一节点簇的状态信息;或者,该第二收发器330在接收第三控制节点发送的令牌时,发送该第一节点簇的状态信息,其中,该第三控制节点可以生成该令牌或者该第三控制节点从其它控制节点获取该令牌,可选地,在发送该第一节点簇的状态信息之后,该第二收发器330还可以向第四控制节点发送该令牌,以便于该第四控制节点根据该令牌发送该第四节点所属的节点簇的状态信息,但本发明实施例对此不作限定。
可选地,作为另一实施例,该第二收发器330还用于:接收第三控制节点发送的令牌,根据该令牌,向该第二控制节点发送该第一节点簇的状态信息;或者
该第二收发器330还用于:在发送该第一节点簇的状态信息之后,向第四控制节点发送令牌,以便于该第四控制节点根据该令牌发送该第四控制节 点所属的节点簇的状态信息。
可选地,作为另一实施例,该控制节点300与该至少一个其它节点中的每个其它节点之间具有第一有线传输链路,此时,该第一收发器310为有线收发器。该第一收发器310具体用于在与该至少一个其它节点中的每个其它节点之间的第一有线传输链路上接收该每个其它节点的状态信息。
可选地,作为另一实施例,该至少一个其它节点包括与该控制节点300相邻的第一其它节点,该控制节点300与该第一其它节点之间还具有不同于该第一有线传输链路的第二有线传输链路;相应地,该第一收发器310还用于在该第二有线传输链路上收发数据。
可选地,作为另一实施例,该状态信息包括最大缓存占用率BFM,该处理器320具体用于将该至少一个其它节点和该控制节点的BFM之和确定为该第一节点簇的BFM。
该处理单元还可以将该至少一个其它节点和该控制节点的BFM的其他函数值作为该第一节点簇的BFM,例如该至少一个其它节点和该控制节点的BFM的数学平均值,等等,本发明实施例不限于此。
可选地,作为另一实施例,该第一收发器310还用于:
在接收至少一个其它节点中的每个其它节点发送的该每个其它节点的状态信息之前,向该至少一个其它节点中的每个其它节点发送状态信息上报指示,该状态信息上报指示用于指示该每个其它节点发送自身的状态信息。
该至少一个其它节点中的每个其他节点可以根据该状态信息上报指示向该控制节点发送自身的状态信息,例如,拥塞信息。
可选地,作为另一实施例,该第二收发器330还用于接收该第二控制节点发送的该第二控制节点所属的第二节点簇的状态信息;
相应地,该控制节点300还包括:
存储器,用于存储该第二收发器330接收的该第二节点簇的状态信息。
该存储器可以包括只读存储器和随机存取存储器,并向处理器320提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
可选地,如果该存储器已经存储有该第二节点簇的状态信息,则该存储器可以更新存储的该第二节点簇的状态信息。
可选地,作为另一实施例,该处理器320还用于:
确定第一数据包的目的节点所属的第三节点簇;
确定该数据包由该第一节点簇至该第三节点簇的多个可选路由路径,其中,该多个可选路由路径中的每个可选路由路径包括至少一个节点簇;
根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,从该多个可选路由路径中确定目标路由路径。
该处理器320可以确定由该第一节点簇至该第三节点簇的多个可选路由路径,每个可选路由路径包括至少一个节点簇。可选地,该多个可选路由路径可以为粗粒度路由路径,即该多个可选路由路径的基本粒度为节点簇。此时,该多个可选路由路径中的每个可选路由路径可以以该第一节点簇为起点,并且以该第三节点簇为终点,中间可以依次经过零个、一个或多个节点簇。可选地,该多个可选路由路径中的每个可选路由路径可以包括除该第一节点簇和该第三节点簇之外的节点簇,或进一步包括该第三节点簇,或者进一步包括该第一节点簇,但本发明实施例不限于此。
节点簇的状态信息可以包括节点簇的BFM,可选路由路径的拥塞状态可以由该可选路由路径对应的BFM表示。其中,一个可选路由路径对应的BFM可以由该可选路由路径中包括的部分或全部节点簇的BFM确定。例如,该处理器320可以将该多个可选路由路径中的第一可选路由路径对应的BFM确定为该第一可选路由路径中包括的所有节点簇的BFM之和或数学平均值,但本发明实施例不限于此。
在一个可选的选择准则中,可选路由路径的拥塞状态可以对应于第一权重值,可选路由路径包括的节点簇的个数可以对应于第二权重值。一个可选路由路径的总权重值可以根据该第一权重值、该可选路由路径的拥塞状态、第二权重值和该可选路由路径包括的节点簇的个数确定。例如,可选路由路径的总权重值W可以通过下式确定:W=(BFM)w1+Nw2,其中,N为该可选路由路径包括的节点簇的个数,w1为第一权重值,w2为第二权重值。可选地,该总权重值还可以具有其他函数形式,本发明实施例对此不作限定。
此时,该处理器320可以确定该多个可选路由路径中每个可选路由路径的总权重值,并且将该多个可选路由路径中具有最小总权重值的可选路由路径确定为该目标路由路径,但本发明实施例不限于此。
可选地,作为另一实施例,该处理器320具体用于:
根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点 簇的状态信息,确定该每个可选路由路径的拥塞状态;
将该多个可选路由路径中拥塞程度最小的可选路由路径确定为该目标路由路径。
可选地,作为另一实施例,该第一数据包属于该控制节点300,即该控制节点为该第一数据包的源节点。此时,该处理器320还用于在该第一数据包中添加该目标路由路径的信息;
相应地,该第一收发器310还用于发送添加了该目标路由路径的信息的该第一数据包。
可选地,该目标路由路径的信息可以包括该目标路由路径中包括的至少一个节点簇中的每个节点簇的标识信息,或者还可以进一步包括用于表示该至少一个节点簇的次序的信息,其中,该第一数据包按照该次序依次经过该至少一个节点簇,但本发明实施例不限于此。
可选地,作为另一实施例,该处理器320还用于在该第一收发器310发送添加了该目标路由路径的信息的该第一数据包之前,获取该控制节点的多个相邻节点的状态信息,并且根据该多个相邻节点的状态信息,确定该第一数据包的下一跳节点;
该第一收发器310具体用于向该处理器320确定的该第一数据包的下一跳节点发送该第一数据包。
可选地,该处理器320可以根据该目标路由路径确定该第一数据包的下一跳节点簇,并确定该控制节点200的多个相邻节点中与该下一跳节点簇距离最近的至少一个相邻节点,其中,与该下一跳节点簇距离最近的至少一个相邻节点可以指由该至少一个相邻节点到达该下一跳节点簇经过的跳数最少。然后,该处理器320可以确定该至少一个相邻节点中每个相邻节点的状态信息,并且根据该至少一个相邻节点中的每个相邻节点的状态信息,确定该下一跳节点。具体地,该第一其他节点可以确定该至少一个相邻节点中的每个相邻节点是否处于拥塞状态,其中,如果节点的状态信息中包括的拥塞信息满足预设条件,则该节点处于拥塞状态,该预设条件可以包括节点的BFM大于一定阈值,或者节点的BFM与该第一节点簇的平均BFM的差值大于一定阈值,等等,但本发明实施例不限于此。
如果该至少一个相邻节点中的每个相邻节点均处于拥塞状态,则该处理器320可以确定该多个相邻节点中与该下一跳节点簇的距离次近的至少一个 相邻节点,并确定该距离次近的至少一个相邻节点是否处于拥塞状态,以此往复,直到找到处于非拥塞状态的相邻节点。如果与该下一跳节点簇距离最近的该至少一个相邻节点中存在处于非拥塞状态的相邻节点,则该处理器320可以将该至少一个相邻节点中处于非拥塞状态的相邻节点确定为该下一跳节点。如果该至少一个相邻节点中处于非拥塞状态的相邻节点的数量为多个,则该处理器320可以将该多个处于非拥塞状态的相邻节点中拥塞程度最小的节点确定为该下一跳节点,其中,拥塞程度最小的相邻节点可以指该多个处于非拥塞状态的相邻节点中对应于最小的BFM值的相邻节点,但本发明实施例不限于此。
可选地,作为另一实施例,该处理器320还可以首先确定该多个相邻节点中处于非拥塞状态的至少一个相邻节点,如果该处于非拥塞状态的至少一个相邻节点的个数为一个,则该处理器320可以将该处于非拥塞状态的相邻节点确定为该下一跳节点。如果该处于非拥塞状态的至少一个相邻节点的个数为多个,则该处理器320可以根据该至少一个相邻节点与该下一跳节点簇之间的距离,确定该下一跳节点。
可选地,作为另一实施例,该处理器320具体用于:
根据该多个相邻节点的状态信息,从该多个相邻节点中确定处于非拥塞状态的至少一个相邻节点;
若该至少一个相邻节点的个数为多个,确定该目标路由路径中该第一节点簇对应的下一跳节点簇,并将该至少一个相邻节点中与该下一跳节点簇距离最近的相邻节点确定为该第一数据包的下一跳节点。
可选地,作为另一实施例,该第一数据包属于该至少一个其它节点中的第二其它节点。此时,该第一收发器310还用于在确定该第一数据包的目的节点所属的第三节点簇之前,接收该第二其它节点发送的路径确定请求,该路径确定请求用于请求该控制节点确定该第一数据包的路由路径;
该处理器320具体用于根据该第一收发器310接收的该路径确定请求,确定该第三节点簇;
该第一收发器310还用于向该第二其它节点发送该处理器320确定的该目标路由路径的信息。
该路径确定请求可以携带该第一数据包的目的节点的信息和/或该第三节点簇的信息,该处理器320可以根据该路径确定请求确定该第三节点簇。
可选地,作为另一实施例,该路径确定请求携带该第一数据包的目的节点的信息。此时,该控制节点300还包括:存储器,用于存储节点与节点簇之间的对应关系;
相应地,该处理器320具体用于根据该目的节点的信息和该存储器存储的节点与节点簇之间的对应关系,确定该第三节点簇。
可选地,作为另一实施例,该第一收发器310还用于接收第二数据包,该第二数据包携带该第二数据包的路由路径的信息,该第二数据包的路由路径的信息包括至少一个节点簇的信息;
该处理器320还用于根据该第一收发器310接收的该第二数据包的路由路径的信息,确定该第二数据包的下一跳节点簇,并且根据该第二数据包的下一跳节点簇和该控制节点的多个相邻节点的状态信息,确定该第二数据包的下一跳节点;
该第一收发器310还用于向该处理器320确定的该第二数据包的下一跳节点发送该第二数据包。
该处理器320确定该第二数据包的下一跳节点的方式可以与该处理单元210确定该第一数据包的下一跳节点的方式类似,为了简洁,这里不再赘述。
该控制节点300可以对应于上述通信***100中的第一控制节点110,该控制节点300和该第一控制节点110的描述可以相互参照。
因此,根据本发明实施例的控制节点,通过该控制节点与其它节点之间的第一传输链路接收该其它节点的状态信息,根据各个其它节点的状态信息确定该第一节点簇的状态信息,并通过与该第二控制节点之间的第二传输链路向该第二控制节点发送该第一节点簇的状态信息,有利于在选择输出通道时同时考虑局域状态信息和全局状态信息,进而避免拥塞现象的发生,提升***的整体性能。
此外,通过根据第一数据包的每个可选路由路径中包括的每个节点簇的状态信息,确定该第一数据包的目标路由路径,能够均衡网络中各个节点簇的负载,从而避免拥塞现象的发生。进一步地,在发送该第一数据包时,节点通过根据多个相邻节点的状态信息,确定该第一数据包的下一跳节点,能够进一步均衡源节点簇中的各个节点的负载,从而均衡网络中所有节点的负载,进一步避免拥塞现象的发生。
上文中结合图2至图5,详细描述了根据本发明实施例的通信***和控 制节点,下面将结合图6,描述根据本发明实施例的通信方法。
图6示出了根据本发明实施例的通信方法400,该方法可以由控制节点执行。如图6所示,该方法400包括:
S410,接收至少一个其它节点中的每个其它节点发送的该每个其它节点的状态信息,其中,该控制节点所属的第一节点簇包括该至少一个其它节点;
S420,根据该至少一个其它节点中的每个其它节点的状态信息,确定该第一节点簇的状态信息;
S430,向第二控制节点发送该第一节点簇的状态信息。
因此,根据本发明实施例的通信方法,通过接收至少一个其它节点中的每个其它节点的状态信息,根据该至少一个其它节点的状态信息确定该第一节点簇的状态信息,并向该第二控制节点发送该第一节点簇的状态信息,有利于在选择输出通道时同时考虑局域状态信息和全局状态信息,进而避免拥塞现象的发生,提升***的整体性能。
可选地,S430,向第二控制节点发送该第一节点簇的状态信息,包括:
广播该第一节点簇的状态信息。
可选地,作为另一实施例,在S430之前,该方法400还包括:接收第三控制节点发送的令牌;
相应地,S430,向第二控制节点发送该第一节点簇的状态信息,包括:
根据该令牌,向该第二控制节点发送该第一节点簇的状态信息。
可选地,作为另一实施例,该状态信息包括最大缓存占用率BFM。此时,S420,根据该至少一个其它节点中的每个其它节点的状态信息,确定该第一节点簇的状态信息,包括:
将该至少一个其它节点和该控制节点的BFM之和确定为该第一节点簇的BFM。
该控制节点将该第一节点簇的所有节点的BFM之和确定为该第一节点簇的BFM。可选地,作为另一实施例,该控制节点还可以将该第一节点簇的所有节点的BFM的数学平均值或其它函数值确定为该第一节点簇的BFM,本发明实施例对此不做限定。
可选地,作为另一实施例,在S410之前,该方法400还包括:
向该至少一个其它节点中的每个其它节点发送状态信息上报指示,该状态信息上报指示用于指示该每个其它节点发送自身的状态信息;
相应地,S410,接收至少一个其它节点中的每个其它节点发送的该每个其它节点的状态信息,包括:
接收至少一个其它节点中的每个其它节点根据该状态信息上报指示发送的该每个其它节点的状态信息。
该控制节点可以与该至少一个其它节点中的每个其它节点之间具有第一传输链路,其中,该至少一个其它节点可以包括与该控制节点相邻和/或不相邻的节点,该第一传输链路可以专门用于传输节点的状态相关消息,例如,该状态信息上报指示和节点的状态信息,等等。这样,该控制节点可以通过该第一传输链路接收该至少一个其它节点直接发送的状态信息。
可选地,作为另一实施例,该方法400还包括:
接收该第二控制节点发送的该第二控制节点所属的第二节点簇的状态信息;
存储该第二节点簇的状态信息。
该第一控制节点与该第二控制节点之间也可以具有第二传输链路,其中,该第一控制节点与该第二控制节点可以不相邻,该第二传输链路也可以专门用于传输状态相关消息,例如,节点簇的状态信息。该第一控制节点和该第二控制节点可以通过该第二传输链路直接交互节点簇的状态信息。
可选地,作为另一实施例,该方法400还包括:
确定第一数据包的目的节点所属的第三节点簇;
确定该数据包由该第一节点簇至该第三节点簇的多个可选路由路径,其中,该多个可选路由路径中的每个可选路由路径包括至少一个节点簇;
根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,从该多个可选路由路径中确定目标路由路径。
可选地,作为另一实施例,该根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,从该多个可选路由路径中确定目标路由路径,包括:
根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,确定该每个可选路由路径的拥塞状态;
将该多个可选路由路径中拥塞程度最小的可选路由路径确定为该目标路由路径。
该多个可选路由路径中的每个可选路由路径包括至少一个节点簇,该多 个可选路由路径包括多个节点簇。其中,该多个可选路由路径中的每个可选路由路径包括的至少一个节点簇可以包括除该第一节点簇和该第三节点簇之外的转发节点簇,或者还可以进一步包括该第三节点簇,或者还可以进一步包括该第一节点簇,本发明实施例对此不做限定。
该控制节点可以获取该多个可选路由路径中包括的多个节点簇中每个节点簇的状态信息。可选地,该控制节点可以预先存储有该多个可选路由路径包括的多个节点簇的状态信息,或者该控制节点可以从其他控制节点获取该多个可选路由路径包括的多个节点簇的状态信息,本发明实施例对此不做限定。
可选地,作为另一实施例,该第一数据包属于该控制节点,即该控制节点为该第一数据包的源节点。此时,在该从该多个可选路由路径中确定目标路由路径之后,该方法400还包括:
在该第一数据包中添加该目标路由路径的信息;
发送添加了该目标路由路径的信息的该第一数据包。
该目标路由路径的信息可以包括该目标路由路径包括的至少一个节点簇的信息,可选地,该目标路由路径的信息可以包括该至少一个节点簇的标识信息和表示该至少一个节点簇的次序的信息,该第一数据包按照该按序依次经过该至少一个节点簇,但该目标路由路径的信息也可以包括其它参数,本发明实施例对此不做限定。
由于该第一数据包中携带该目标路由路径的信息,因此接收到该第一数据包的节点可以根据该第一数据包携带的该目标路由路径的信息确定该第一数据包的下一跳节点,并向该下一跳节点转发该第一数据包。
可选地,作为另一实施例,在该发送添加了该目标路由路径的信息的该第一数据包之前,该方法400还包括:
获取该控制节点的多个相邻节点的状态信息;
根据该多个相邻节点的状态信息,确定该第一数据包的下一跳节点;
该发送添加了该目标路由路径的信息的该第一数据包,包括:
向该第一数据包的下一跳节点发送该第一数据包。
在该第一节点簇中,不相邻的两个节点之间不能直接传输数据。这样,该控制节点和与该控制节点不相邻的节点之间可以直接传输状态相关信息,例如节点的状态信息,但不能直接传输数据。此外,该第一节点簇中的任意 两个相邻节点之间既可以直接传输节点的状态信息,也可以直接传输数据,其中,该用于传输节点的状态信息的链路可以与该用于传输数据的链路为相同的链路或不同的链路,本发明实施例对此不做限定。
可选地,作为另一实施例,该根据该多个相邻节点的状态信息,确定该第一数据包的下一跳节点,包括:
根据该多个相邻节点的状态信息,从该多个相邻节点中确定处于非拥塞状态的至少一个相邻节点;
若该至少一个相邻节点的个数为多个,确定该目标路由路径中该第一节点簇对应的下一跳节点簇,并将该至少一个相邻节点中与该下一跳节点簇距离最近的相邻节点确定为该第一数据包的下一跳节点。
该控制节点可以根据一个节点的状态信息,确定该节点是否处于非拥塞状态,其中,该状态信息可以包括拥塞信息,例如,BFM。例如,若节点的BFM大于一定阈值,但本发明实施例不限于此。
如果该至少一个相邻节点的个数为一个,则该控制节点可以直接将该一个相邻节点作为该第一数据包的下一跳节点。如果该至少一个相邻节点的个数为多个,则该控制节点可以确定该目标路由路径中该第一节点簇对应的下一跳节点簇,并且确定该至少一个相邻节点中与该下一跳节点簇距离最近的节点,其中,如果与该下一跳节点簇距离最近的节点的个数为一个,则该控制节点可以将该节点作为该下一跳节点。如果与该下一跳节点簇距离最近的节点的个数为多个,则该控制节点可以将与该下一跳节点簇距离最近的多个节点中拥塞程度最小的节点确定为该下一跳节点,其中,拥塞程度最小可以对应于最小的BFM,但本发明实施例不限于此。
可选地,作为另一实施例,该第一数据包属于该至少一个其它节点中的第二其它节点,即该第二其它节点为该第一数据包的源节点。此时,在该确定该第一数据包的目的节点所属的第三节点簇之前,该方法400还包括:
接收该第二其它节点发送的路径确定请求,该路径确定请求用于请求该控制节点确定该第一数据包的路由路径;
相应地,该确定该第一数据包的目的节点所属的第三节点簇,包括:
根据该路径确定请求,确定该第三节点簇;
在该从该多个可选路由路径中确定目标路由路径之后,该方法还包括:
向该第二其它节点发送该目标路由路径的信息。
可选地,作为另一实施例,该路径确定请求携带该第一数据包的目的节点的信息。此时,该根据该路径确定请求,确定该第三节点簇,包括:
确定节点与节点簇之间的对应关系;
根据该目的节点的信息和该节点与节点簇之间的对应关系,确定该第三节点簇。
可选地,作为另一实施例,该路径确定请求也可以携带该第三节点簇的信息,例如,该第三节点簇的编号。此时,该控制节点可以根据该地三节点簇的信息确定该第三节点簇。
可选地,作为另一实施例,该方法400还包括:
接收第二数据包,该第二数据包携带该第二数据包的路由路径的信息,该第二数据包的路由路径的信息包括至少一个节点簇的信息;
根据该第二数据包的路由路径的信息,确定该第二数据包的下一跳节点簇;
根据该第二数据包的下一跳节点簇和该控制节点的多个相邻节点的状态信息,确定该第二数据包的下一跳节点;
向该第二数据包的下一跳节点发送该第二数据包。
该控制节点确定该第二数据包的下一跳节点的方式可以参照上述实施例,为了简洁,这里不再赘述。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
根据本发明实施例的通信方法400可以由本发明实施例的控制节点200、控制节点300或通信***100中的第一控制节点111执行,并且该控制节点200、控制节点300或第一控制节点111中的各个模块的上述和其它操作和/或功能分别为了实现图6中的各个方法的相应流程,因此本发明的各个实施例可以互相参照,为了简洁,在此不再赘述。
因此,根据本发明实施例的通信方法,通过接收至少一个其它节点中的每个其它节点的状态信息,根据该至少一个其它节点的状态信息确定该第一节点簇的状态信息,并向该第二控制节点发送该第一节点簇的状态信息,有利于在选择输出通道时同时考虑局域状态信息和全局状态信息,进而避免拥塞现象的发生,提升***的整体性能。
此外,通过根据第一数据包的每个可选路由路径中包括的每个节点簇的状态信息,确定该第一数据包的目标路由路径,能够均衡网络中各个节点簇的负载,从而避免拥塞现象的发生。进一步地,在发送该第一数据包时,节点通过根据多个相邻节点的状态信息,确定该第一数据包的下一跳节点,能够进一步均衡源节点簇中的各个节点的负载,从而均衡网络中所有节点的负载,进一步避免拥塞现象的发生。
应理解,在本发明实施例中,术语和/或仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符/,一般表示前后关联对象是一种或的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (43)

  1. 一种通信***,其特征在于,包括:
    第一节点簇和第二节点簇,其中,所述第一节点簇包括第一控制节点和至少一个其它节点,所述第二节点簇包括第二控制节点,其中,所述第一控制节点与所述第二控制节点不相邻;
    所述第一控制节点与所述至少一个其它节点中的每个其它节点之间具有第一传输链路,所述第一传输链路用于传输节点的状态信息;
    所述第一控制节点和所述第二控制节点之间具有第二传输链路,所述第二传输链路用于传输节点簇的状态信息。
  2. 根据权利要求1所述的通信***,其特征在于,所述第一传输链路为有线传输链路,所述第二传输链路为无线传输链路。
  3. 根据权利要求1或2所述的通信***,其特征在于,所述第一控制节点用于:
    接收所述至少一个其它节点中的每个其它节点在对应的第一传输链路上发送的所述每个其它节点的状态信息;
    根据所述至少一个其它节点中的每个其它节点的状态信息,确定所述第一节点簇的状态信息;
    通过所述第二传输链路向所述第二控制节点发送所述第一节点簇的状态信息。
  4. 根据权利要求3所述的通信***,其特征在于,所述第一控制节点具体用于在所述第二传输链路上广播所述第一节点簇的状态信息。
  5. 根据权利要求3或4所述的通信***,其特征在于,所述状态信息包括最大缓存占用率BFM;
    所述第一控制节点具体用于:
    将所述至少一个其它节点与所述第一控制节点的BFM之和确定为所述第一节点簇的BFM。
  6. 根据权利要求3至5中任一项所述的通信***,其特征在于,所述至少一个其它节点中的每个其它节点用于:
    接收所述第一控制节点发送的状态信息上报指示,所述状态信息上报指示用于指示所述每个其它节点向所述第一控制节点发送所述每个其它节点的状态信息;
    根据所述状态信息上报指示,向所述第一控制节点发送所述每个其它节点的状态信息。
  7. 根据权利要求1至6中任一项所述的通信***,其特征在于,所述第一控制节点还用于:
    确定第一数据包的目的节点所属的第三节点簇,其中,所述通信***还包括不同于所述第一节点簇的所述第三节点簇;
    确定所述第一数据包由所述第一节点簇至所述第三节点簇的多个可选路由路径,其中,所述多个可选路由路径中的每个可选路由路径包括至少一个节点簇;
    根据所述多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,从所述多个可选路由路径中确定目标路由路径。
  8. 根据权利要求7所述的通信***,其特征在于,所述第一数据包属于所述至少一个其它节点中的第一其它节点;
    所述第一控制节点还用于在确定所述第一数据包的目的节点所属的第三节点簇之前,接收所述第一其它节点发送的路径确定请求,所述路径确定请求用于请求所述第一控制节点确定所述第一数据包的路由路径;
    所述第一控制节点具体用于根据所述路径确定请求,确定所述第三节点簇;
    所述第一控制节点还用于在所述从所述多个可选路由路径中确定目标路由路径之后,向所述第一其它节点发送所述目标路由路径的信息。
  9. 根据权利要求8所述的通信***,其特征在于,所述第一其它节点用于:
    接收所述第一控制节点发送的所述目标路由路径的信息;
    在所述第一数据包中添加所述目标路由路径的信息;
    发送添加了所述目标路由路径的信息的所述第一数据包。
  10. 根据权利要求1至9中任一项所述的通信***,其特征在于,所述第一节点簇包括转发节点,所述至少一个其它节点包括所述转发节点或所述转发节点为所述第一控制节点;
    所述转发节点用于:
    接收第二数据包,所述第二数据包携带所述第二数据包的路由路径的信息,所述路由路径的信息包括至少一个节点簇的信息;
    根据所述第二数据包的路由路径的信息,确定所述第二数据包的下一跳节点簇;
    根据所述第二数据包的下一跳节点簇和所述第二其它节点的多个相邻节点的状态信息,确定所述第二数据包的下一跳节点;
    向所述第二数据包的下一跳节点发送所述第二数据包。
  11. 根据权利要求1至10中任一项所述的通信***,其特征在于,所述至少一个其它节点包括与所述第一控制节点相邻的第二其它节点;
    所述第一控制节点与所述第二其它节点之间还具有用于传输数据的第三传输链路。
  12. 根据权利要求1至11中任一项所述的通信***,其特征在于,所述至少一个其它节点包括第三其它节点和与所述第三其它节点相邻的第四其它节点;
    所述第三其它节点和所述第四其它节点之间具有第四传输链路,所述第四传输链路用于传输数据和节点的状态信息。
  13. 根据权利要求1至12中任一项所述的通信***,其特征在于,所述第一控制节点和所述第二控制节点具有无线收发器;
    所述至少一个其它节点中的任意其它节点不具有无线收发器。
  14. 一种控制节点,其特征在于,包括:
    第一收发单元,用于接收至少一个其它节点中的每个其它节点发送的所述每个其它节点的状态信息,其中,所述控制节点所属的第一节点簇包括所述至少一个其它节点;
    处理单元,用于根据所述第一收发单元接收的所述至少一个其它节点中的每个其它节点的状态信息,确定所述第一节点簇的状态信息;
    第二收发单元,用于向第二控制节点发送所述处理单元确定的所述第一节点簇的状态信息。
  15. 根据权利要求14所述的控制节点,其特征在于,所述第二收发单元具体用于广播所述处理单元确定的所述第一节点簇的状态信息。
  16. 根据权利要求14或15所述的控制节点,其特征在于,所述第二收发单元还用于:接收第三控制节点发送的令牌,根据所述令牌,向所述第二控制节点发送所述第一节点簇的状态信息;或者
    所述第二收发单元还用于:在发送所述第一节点簇的状态信息之后,向 第四控制节点发送令牌,以便于所述第四控制节点根据所述令牌发送所述第四控制节点所属的节点簇的状态信息。
  17. 根据权利要求14至16中任一项所述的控制节点,其特征在于,所述控制节点与所述至少一个其它节点中的每个其它节点之间具有第一有线传输链路;
    所述第一收发单元具体用于在与所述至少一个其它节点中的每个其它节点之间的第一有线传输链路上接收所述每个其它节点的状态信息。
  18. 根据权利要求17所述的控制节点,其特征在于,所述至少一个其它节点包括与所述控制节点相邻的第一其它节点,所述控制节点与所述第一其它节点之间还具有不同于所述第一有线传输链路的第二有线传输链路;
    所述第一收发单元还用于在所述第二有线传输链路上收发数据。
  19. 根据权利要求14至18中任一项所述的控制节点,其特征在于,所述状态信息包括最大缓存占用率BFM,所述处理单元具体用于将所述至少一个其它节点和所述控制节点的BFM之和确定为所述第一节点簇的BFM。
  20. 根据权利要求14至19中任一项所述的控制节点,其特征在于,所述第一收发单元还用于:
    在接收至少一个其它节点中的每个其它节点发送的所述每个其它节点的状态信息之前,向所述至少一个其它节点中的每个其它节点发送状态信息上报指示,所述状态信息上报指示用于指示所述每个其它节点发送自身的状态信息。
  21. 根据权利要求14至20中任一项所述的控制节点,其特征在于,所述第二收发单元还用于接收所述第二控制节点发送的所述第二控制节点所属的第二节点簇的状态信息;
    所述控制节点还包括:
    第一存储单元,用于存储所述第二收发单元接收的所述第二节点簇的状态信息。
  22. 根据权利要求14至21中任一项所述的控制节点,其特征在于,所述处理单元还用于:
    确定第一数据包的目的节点所属的第三节点簇;
    确定所述数据包由所述第一节点簇至所述第三节点簇的多个可选路由路径,其中,所述多个可选路由路径中的每个可选路由路径包括至少一个节 点簇;
    根据所述多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,从所述多个可选路由路径中确定目标路由路径。
  23. 根据权利要求22所述的控制节点,其特征在于,所述处理单元具体用于:
    根据所述多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,确定所述每个可选路由路径的拥塞状态;
    将所述多个可选路由路径中拥塞程度最小的可选路由路径确定为所述目标路由路径。
  24. 根据权利要求22或23所述的控制节点,其特征在于,所述第一数据包属于所述控制节点;
    所述处理单元还用于在所述第一数据包中添加所述目标路由路径的信息;
    所述第一收发单元还用于发送添加了所述目标路由路径的信息的所述第一数据包。
  25. 根据权利要求24所述的控制节点,其特征在于,所述处理单元还用于在所述第一收发单元发送添加了所述目标路由路径的信息的所述第一数据包之前,获取所述控制节点的多个相邻节点的状态信息,并且根据所述多个相邻节点的状态信息,确定所述第一数据包的下一跳节点;
    所述第一收发单元具体用于向所述处理单元确定的所述第一数据包的下一跳节点发送所述第一数据包。
  26. 根据权利要求25所述的控制节点,其特征在于,所述处理单元具体用于:
    根据所述多个相邻节点的状态信息,从所述多个相邻节点中确定处于非拥塞状态的至少一个相邻节点;
    若所述至少一个相邻节点的个数为多个,确定所述目标路由路径中所述第一节点簇对应的下一跳节点簇,并将所述至少一个相邻节点中与所述下一跳节点簇距离最近的相邻节点确定为所述第一数据包的下一跳节点。
  27. 根据权利要求22所述的控制节点,其特征在于,所述第一数据包属于所述至少一个其它节点中的第二其它节点;
    所述第一收发单元还用于在确定所述第一数据包的目的节点所属的第 三节点簇之前,接收所述第二其它节点发送的路径确定请求,所述路径确定请求用于请求所述控制节点确定所述第一数据包的路由路径;
    所述处理单元具体用于根据所述第一收发单元接收的所述路径确定请求,确定所述第三节点簇;
    所述第一收发单元还用于向所述第二其它节点发送所述处理单元确定的所述目标路由路径的信息。
  28. 根据权利要求27所述的控制节点,其特征在于,所述路径确定请求携带所述第一数据包的目的节点的信息;
    所述控制节点还包括:
    第二存储单元,用于存储节点与节点簇之间的对应关系;
    所述处理单元具体用于根据所述目的节点的信息和所述第二存储单元存储的节点与节点簇之间的对应关系,确定所述第三节点簇。
  29. 根据权利要求14至28中任一项所述的控制节点,其特征在于,所述第一收发单元还用于接收第二数据包,所述第二数据包携带所述第二数据包的路由路径的信息,所述第二数据包的路由路径的信息包括至少一个节点簇的信息;
    所述处理单元还用于根据所述第一收发单元接收的所述第二数据包的路由路径的信息,确定所述第二数据包的下一跳节点簇,并且根据所述第二数据包的下一跳节点簇和所述控制节点的多个相邻节点的状态信息,确定所述第二数据包的下一跳节点;
    所述第一收发单元还用于向所述处理单元确定的所述第二数据包的下一跳节点发送所述第二数据包。
  30. 一种通信方法,其特征在于,包括:
    控制节点接收至少一个其它节点中的每个其它节点发送的所述每个其它节点的状态信息,其中,所述控制节点所属的第一节点簇包括所述至少一个其它节点;
    根据所述至少一个其它节点中的每个其它节点的状态信息,确定所述第一节点簇的状态信息;
    向第二控制节点发送所述第一节点簇的状态信息。
  31. 根据权利要求30所述的通信方法,其特征在于,所述向第二控制节点发送所述第一节点簇的状态信息,包括:
    广播所述第一节点簇的状态信息。
  32. 根据权利要求30或31所述的通信方法,其特征在于,在所述向第二控制节点发送所述第一节点簇的状态信息之前,所述方法还包括:
    接收第三控制节点发送的令牌;
    所述向第二控制节点发送所述第一节点簇的状态信息,包括:
    根据所述令牌,向所述第二控制节点发送所述第一节点簇的状态信息。
  33. 根据权利要求30至32中任一项所述的通信方法,其特征在于,所述状态信息包括最大缓存占用率BFM;
    所述根据所述至少一个其它节点中的每个其它节点的状态信息,确定所述第一节点簇的状态信息,包括:
    将所述至少一个其它节点和所述控制节点的BFM之和确定为所述第一节点簇的BFM。
  34. 根据权利要求30至33中任一项所述的通信方法,其特征在于,在所述接收至少一个其它节点中的每个其它节点发送的所述每个其它节点的状态信息之前,所述方法还包括:
    向所述至少一个其它节点中的每个其它节点发送状态信息上报指示,所述状态信息上报指示用于指示所述每个其它节点发送自身的状态信息;
    所述接收至少一个其它节点中的每个其它节点发送的所述每个其它节点的状态信息,包括:
    接收至少一个其它节点中的每个其它节点根据所述状态信息上报指示发送的所述每个其它节点的状态信息。
  35. 根据权利要求30至34中任一项所述的通信方法,其特征在于,所述方法还包括:
    接收所述第二控制节点发送的所述第二控制节点所属的第二节点簇的状态信息;
    存储所述第二节点簇的状态信息。
  36. 根据权利要求30至35中任一项所述的通信方法,其特征在于,所述方法还包括:
    确定第一数据包的目的节点所属的第三节点簇;
    确定所述数据包由所述第一节点簇至所述第三节点簇的多个可选路由路径,其中,所述多个可选路由路径中的每个可选路由路径包括至少一个节 点簇;
    根据所述多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,从所述多个可选路由路径中确定目标路由路径。
  37. 根据权利要求36所述的通信方法,其特征在于,所述根据所述多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,从所述多个可选路由路径中确定目标路由路径,包括:
    根据所述多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,确定所述每个可选路由路径的拥塞状态;
    将所述多个可选路由路径中拥塞程度最小的可选路由路径确定为所述目标路由路径。
  38. 根据权利要求36或37所述的通信方法,其特征在于,所述第一数据包属于所述控制节点;
    在所述从所述多个可选路由路径中确定目标路由路径之后,所述方法还包括:
    在所述第一数据包中添加所述目标路由路径的信息;
    发送添加了所述目标路由路径的信息的所述第一数据包。
  39. 根据权利要求38所述的通信方法,其特征在于,在所述发送添加了所述目标路由路径的信息的所述第一数据包之前,所述方法还包括:
    获取所述控制节点的多个相邻节点的状态信息;
    根据所述多个相邻节点的状态信息,确定所述第一数据包的下一跳节点;
    所述发送添加了所述目标路由路径的信息的所述第一数据包,包括:
    向所述第一数据包的下一跳节点发送所述第一数据包。
  40. 根据权利要求39所述的通信方法,其特征在于,所述根据所述多个相邻节点的状态信息,确定所述第一数据包的下一跳节点,包括:
    根据所述多个相邻节点的状态信息,从所述多个相邻节点中确定处于非拥塞状态的至少一个相邻节点;
    若所述至少一个相邻节点的个数为多个,确定所述目标路由路径中所述第一节点簇对应的下一跳节点簇,并将所述至少一个相邻节点中与所述下一跳节点簇距离最近的相邻节点确定为所述第一数据包的下一跳节点。
  41. 根据权利要求36所述的通信方法,其特征在于,所述第一数据包 属于所述至少一个其它节点中的第二其它节点;
    在所述确定所述第一数据包的目的节点所属的第三节点簇之前,所述方法还包括:
    接收所述第二其它节点发送的路径确定请求,所述路径确定请求用于请求所述控制节点确定所述第一数据包的路由路径;
    所述确定所述第一数据包的目的节点所属的第三节点簇,包括:
    根据所述路径确定请求,确定所述第三节点簇;
    在所述从所述多个可选路由路径中确定目标路由路径之后,所述方法还包括:
    向所述第二其它节点发送所述目标路由路径的信息。
  42. 根据权利要求41所述的通信方法,其特征在于,所述路径确定请求携带所述第一数据包的目的节点的信息;
    所述根据所述路径确定请求,确定所述第三节点簇,包括:
    确定节点与节点簇之间的对应关系;
    根据所述目的节点的信息和所述节点与节点簇之间的对应关系,确定所述第三节点簇。
  43. 根据权利要求30至42中任一项所述的通信方法,其特征在于,所述方法还包括:
    接收第二数据包,所述第二数据包携带所述第二数据包的路由路径的信息,所述第二数据包的路由路径的信息包括至少一个节点簇的信息;
    根据所述第二数据包的路由路径的信息,确定所述第二数据包的下一跳节点簇;
    根据所述第二数据包的下一跳节点簇和所述控制节点的多个相邻节点的状态信息,确定所述第二数据包的下一跳节点;
    向所述第二数据包的下一跳节点发送所述第二数据包。
PCT/CN2014/091847 2014-11-21 2014-11-21 通信***、控制节点和通信方法 WO2016078071A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2014/091847 WO2016078071A1 (zh) 2014-11-21 2014-11-21 通信***、控制节点和通信方法
CN201480037573.XA CN105900383B (zh) 2014-11-21 2014-11-21 通信***、控制节点和通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/091847 WO2016078071A1 (zh) 2014-11-21 2014-11-21 通信***、控制节点和通信方法

Publications (1)

Publication Number Publication Date
WO2016078071A1 true WO2016078071A1 (zh) 2016-05-26

Family

ID=56013094

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/091847 WO2016078071A1 (zh) 2014-11-21 2014-11-21 通信***、控制节点和通信方法

Country Status (2)

Country Link
CN (1) CN105900383B (zh)
WO (1) WO2016078071A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021143239A1 (zh) * 2020-01-13 2021-07-22 腾讯科技(深圳)有限公司 路由控制方法、装置、电子设备和存储介质
WO2024060730A1 (zh) * 2022-09-20 2024-03-28 华为技术有限公司 流量控制方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120233496A1 (en) * 2011-03-11 2012-09-13 Microsoft Corporation Fault tolerance in a parallel database system
CN103220216A (zh) * 2013-04-22 2013-07-24 南京邮电大学 一种基于区域划分的无线体域网路由方法
CN103889020A (zh) * 2014-03-14 2014-06-25 上海交通大学 一种基于动态路由的无线传感网络***及其方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101420355B (zh) * 2008-11-28 2011-06-01 西安邮电学院 一种星簇双环片上网络拓扑结构装置
CN102387585B (zh) * 2010-08-30 2015-05-13 富士通株式会社 用于无线通信网络的通信方法及节点
JP5928582B2 (ja) * 2012-05-16 2016-06-01 富士通株式会社 ノード装置および通信方法
CN105450555B (zh) * 2014-09-26 2018-11-30 杭州华为数字技术有限公司 一种片上网络***,及片上网络通信链路的建立方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120233496A1 (en) * 2011-03-11 2012-09-13 Microsoft Corporation Fault tolerance in a parallel database system
CN103220216A (zh) * 2013-04-22 2013-07-24 南京邮电大学 一种基于区域划分的无线体域网路由方法
CN103889020A (zh) * 2014-03-14 2014-06-25 上海交通大学 一种基于动态路由的无线传感网络***及其方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021143239A1 (zh) * 2020-01-13 2021-07-22 腾讯科技(深圳)有限公司 路由控制方法、装置、电子设备和存储介质
WO2024060730A1 (zh) * 2022-09-20 2024-03-28 华为技术有限公司 流量控制方法和装置

Also Published As

Publication number Publication date
CN105900383B (zh) 2019-05-24
CN105900383A (zh) 2016-08-24

Similar Documents

Publication Publication Date Title
JP6485671B2 (ja) マルチホップ異種無線ネットワークにおけるリソースアウェアマルチタスクルーティング
US8000239B2 (en) Method and system for bandwidth allocation using router feedback
Sergiou et al. Congestion control in wireless sensor networks through dynamic alternative path selection
JP5276220B2 (ja) バス制御装置およびバス制御装置に指示を出力する制御装置
US9154407B2 (en) Maintained message delivery during routing domain migration
US8743866B2 (en) Method and apparatus to reduce cumulative effect of dynamic metric advertisement in smart grid/sensor networks
US8982708B1 (en) Priority aware dynamic routing protocol for ad-hoc networks
KR102038343B1 (ko) 무선 메시 네트워크에서의 액세스 포인트의 집중 및 자동 디스에이블을 위한 시스템 및 방법
JP5296803B2 (ja) 処理メトリック情報のノード間における交換
CN102124783B (zh) 用于在无线网格网络中发现高吞吐量路由的方法
US20160112502A1 (en) Distributed computing based on deep packet inspection by network devices along network path to computing device
US8885501B2 (en) Reachability rate computation without link layer acknowledgments
CN107294852B (zh) 一种使用拓扑分散短路径集的网络路由方法
WO2022213817A1 (zh) 路由方法和路由装置
WO2016078070A1 (zh) 路由数据包的方法、节点和通信***
WO2016078071A1 (zh) 通信***、控制节点和通信方法
KR101897423B1 (ko) 정책 기반 네트워크들에서의 개선된 네트워크 이용
CN109379283A (zh) 基于物联网异构设备的自组网通信方法、装置及自组网
US8009570B2 (en) Router device for efficient routing with congestion minimized
Parthiban et al. Maximizing the network life time based on energy efficient routing in ad hoc networks
US10965585B2 (en) Method for transmitting path load information and network node
JP2006287919A (ja) 通信ネットワーク、コンテンツ配信ノード、ツリー構築方法、コンテンツ配信制御プログラム
Thongpook Load balancing of adaptive zone routing in ad hoc networks
Khan et al. Data rate adaptation strategy to avoid packet loss in MANETs
CN112770301A (zh) 无线网络中节点故障后的按需表和路由更新

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14906327

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14906327

Country of ref document: EP

Kind code of ref document: A1