WO2015165280A1 - 一种确定中间路由节点的方法、装置及系统 - Google Patents

一种确定中间路由节点的方法、装置及系统 Download PDF

Info

Publication number
WO2015165280A1
WO2015165280A1 PCT/CN2015/070038 CN2015070038W WO2015165280A1 WO 2015165280 A1 WO2015165280 A1 WO 2015165280A1 CN 2015070038 W CN2015070038 W CN 2015070038W WO 2015165280 A1 WO2015165280 A1 WO 2015165280A1
Authority
WO
WIPO (PCT)
Prior art keywords
channel
routing node
routing
node
dependency graph
Prior art date
Application number
PCT/CN2015/070038
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 EP15785832.5A priority Critical patent/EP3125478B1/en
Publication of WO2015165280A1 publication Critical patent/WO2015165280A1/zh
Priority to US15/333,500 priority patent/US9906435B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a method, device, and system for determining an intermediate routing node.
  • a failure in the network can cause the communication path between the source routing node and the destination routing node to be blocked, resulting in termination of data transmission.
  • fault-tolerant routing technology is commonly used in the prior art to tolerate network failures and provide reliable communication services to users by bypassing the point of failure.
  • the management node finds an intermediate routing node I for the affected node pair (S, D).
  • the intermediate routing node I needs to satisfy two conditions: 1) there is no fault on the path between S and I, and 2) there is no fault on the path from I to D.
  • I the message originally sent by S to D is first sent by S to I (routing phase 1) and then forwarded by I to D (routing phase 2).
  • routing a message from S to D goes through two phases. Namely: from S to I and from I to D.
  • a virtual channel is replaced when the message passes through the intermediate routing node I, and the number of the virtual channel is required to be monotonous. For example, the first virtual channel is used in routing phase 1 and the second virtual channel is used in routing phase 2.
  • a virtual channel method is used to avoid routing without deadlock, and the resource requirements are high. For example, if you need to use n intermediate routing nodes, you need to use n+1 virtual channels. These virtual channels are not used in the case of no failure, so the resources are wasted seriously and the network resource utilization is low. In addition, in most cases a small number of intermediate routing nodes can bypass the fault zone, but the system must reserve resources according to the worst case. This results in a serious imbalance in resource utilization, resulting in poor system performance.
  • An embodiment of the present invention provides a method for determining an intermediate routing node. Before determining an intermediate routing node, verifying whether the intermediate routing node becomes a dependency loop on the channel dependency graph, and determining that a dependency relationship does not appear on the channel dependency graph.
  • the intermediate routing node of the ring can realize the transit of data to be transmitted when two routing nodes are in communication failure through an intermediate routing node, and does not require multiple virtual channels to be idle ready state, thereby improving the utilization of routing network resources.
  • the embodiments of the present invention also provide corresponding devices and systems.
  • a first aspect of the present invention provides a method for determining an intermediate routing node, including:
  • the channel dependency is a channel combination of the two routing nodes performing data transmission through the intermediate routing node to be verified, and the channel of the pre-fault routing network
  • the dependency graph is used to describe the dependencies formed by any two channels in the routing network before the fault or the combination of the channel dependencies established before the fault;
  • the intermediate routing node to be verified is determined as a final intermediate routing node for relaying data to be transmitted, and the dependency loop is a channel dependency combination The ring formed.
  • the channel dependency relationship between the intermediate routing node to be verified and the two routing nodes is added to the channel dependency graph of the pre-fault routing network.
  • Become an updated channel dependency graph including:
  • the determining, by using the at least one intermediate routing node, to transfer data to be transferred between the two routing nodes include:
  • the channel dependency relationship between the intermediate routing node to be verified and the two routing nodes is added to the present before the channel dependency graph of the routing network before the secondary fault is made into the updated channel dependency graph, the method further includes:
  • the method further includes:
  • a second aspect of the present invention provides an apparatus for determining an intermediate routing node, including:
  • a first determining unit configured to determine, when the communication path between the two routing nodes is faulty, at least one intermediate routing node for transferring data to be transmitted between the two routing nodes;
  • a channel dependency graph updating unit configured to add a channel dependency relationship between the intermediate routing node to be verified and the two routing nodes to the channel dependency graph of the pre-fault routing network to make the updated channel dependency graph, wherein
  • the intermediate routing node to be verified is any one of the at least one intermediate routing node determined by the determining unit, and the channel dependency relationship is that the two routing nodes perform data transmission by using the intermediate routing node to be verified.
  • Channel combination the current pre-fault routing network
  • the channel dependency graph is used to describe the dependencies formed by any two channels in the routing network before the fault or the combination of the channel dependencies established before the fault;
  • a second determining unit configured to: when the updated channel dependency graph updated by the channel dependency graph updating unit has no dependency loop, determine the intermediate routing node to be verified as used for relaying data to be transmitted The final intermediate routing node, which is a ring formed by the combination of channel dependencies.
  • the channel dependency graph update unit includes:
  • Determining a sub-unit configured to determine, as a dependent start channel, the last one of the path of the source routing node that is searched by the lookup subunit and the path of the intermediate routing node to be verified, and the intermediate routing node to be verified
  • the first channel in the path of the destination routing node is determined to be a dependent end channel
  • Establishing a sub-unit configured to add a channel dependency relationship of the dependent start channel determined by the determining sub-unit to the dependent end channel in the channel dependency graph of the current pre-fault routing network, so that the current The channel dependency graph of the pre-fault routing network becomes the updated channel dependency graph.
  • the first determining unit includes:
  • a first acquiring subunit configured to acquire information of a routing node that is in a faultless communication connection with the source routing node of the two routing nodes, as a first information set
  • a second obtaining subunit configured to acquire information of a routing node that is connected to the destination routing node in the two routing nodes as a second information set
  • a calculation subunit configured to calculate an intersection of the first information set acquired by the first acquisition subunit and the second information set acquired by the second acquisition subunit;
  • the determining subunit is configured to determine, as the at least one intermediate routing node, a routing node corresponding to the information of the routing node included in the intersection calculated by the computing subunit.
  • the apparatus further includes:
  • an obtaining unit configured to acquire, before the channel dependency graph update unit, the channel dependency graph of the pre-failure routing network, obtain a channel dependency graph that does not include a dependency loop obtained when the channel dependency relationship is added last time, The channel dependency graph of the routing network before this failure.
  • the apparatus further includes:
  • a sending unit configured to send, to the source routing node of the two routing nodes, description information of the final intermediate routing node determined by the second determining unit, to facilitate the source routing node to the final intermediate routing node Sending the data to be transmitted.
  • a third aspect of the present invention provides a routing control system, including: a routing node and a management node, the routing node is communicatively connected according to a manner defined by a network topology, and any one of the routing nodes exists between the management node and the routing node. Communication connection
  • the management node is configured to: when the communication path between the two routing nodes is faulty, determine at least one intermediate routing node for transferring data to be transmitted between the two routing nodes, and the intermediate routing node to be verified.
  • the channel dependency relationship between the two routing nodes is added to the channel dependency graph of the pre-fault routing network to make it an updated channel dependency graph, wherein the intermediate routing node to be verified is the at least one intermediate routing node.
  • Any one of the channel dependencies is a combination of channels for data transmission by the two routing nodes through the to-be-verified intermediate routing node, and the channel dependency graph of the pre-fault routing network is used to describe the current fault.
  • the embodiment of the present invention determines at least one intermediate routing node for transferring data to be transmitted between the two routing nodes, and the intermediate routing node to be verified and the two The channel dependency relationship between the routing nodes is added to the channel dependency graph of the pre-fault routing network to become the updated channel dependency graph, wherein the intermediate routing node to be verified is in the at least one intermediate routing node.
  • the channel dependency graph of the pre-fault routing network is used to describe the pre-fault a combination of any two channels in the routing network, or a combination of channel dependencies established before the failure, when the update is performed
  • the intermediate routing node to be verified is determined as an intermediate routing node for relaying data to be transmitted, and the dependency loop is a loop formed by a channel dependency combination of the routing node.
  • the method provided by the embodiment of the present invention verifies the intermediate routing node on the channel dependency graph before determining the intermediate routing node. Whether it is a dependency loop, it is possible to determine an intermediate routing node that does not have a dependency loop on the channel dependency graph.
  • the intermediate routing node can realize the data transfer to be transmitted when the two routing nodes are in communication failure, and does not need multiple
  • the virtual channel is idle ready, which improves the utilization of routing network resources. Therefore, under the same resources, the solution has stronger fault tolerance and better network performance.
  • FIG. 1 is a schematic diagram of an embodiment of a method for determining an intermediate routing node in an embodiment of the present invention
  • FIG. 2 is a schematic diagram of another embodiment of a method for determining an intermediate routing node in an embodiment of the present invention
  • FIG. 3 is a schematic diagram of another embodiment of a method for determining an intermediate routing node in an embodiment of the present invention.
  • 4A is a schematic diagram of another embodiment of a method for determining an intermediate routing node in an embodiment of the present invention.
  • 4B is a schematic diagram of another embodiment of a method for determining an intermediate routing node in an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of another embodiment of a method for determining an intermediate routing node according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of another embodiment of a method for determining an intermediate routing node in an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of another embodiment of a method for determining an intermediate routing node in an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of another embodiment of a method for determining an intermediate routing node in an embodiment of the present invention.
  • FIG. 9 is a schematic diagram of another embodiment of a method for determining an intermediate routing node according to an embodiment of the present invention.
  • FIG. 10 is a schematic diagram of an embodiment of an apparatus for determining an intermediate routing node according to an embodiment of the present invention.
  • FIG. 11 is a schematic diagram of an embodiment of a method for determining an intermediate routing node in an embodiment of the present invention.
  • FIG. 12 is a schematic diagram of an embodiment of an apparatus for determining an intermediate routing node according to an embodiment of the present invention.
  • FIG. 13 is a schematic diagram of another embodiment of an apparatus for determining an intermediate routing node according to an embodiment of the present invention.
  • FIG. 14 is a schematic diagram of another embodiment of an apparatus for determining an intermediate routing node according to an embodiment of the present invention.
  • FIG. 15 is a schematic diagram of another embodiment of an apparatus for determining an intermediate routing node according to an embodiment of the present invention.
  • 16 is a schematic diagram of another embodiment of an apparatus for determining an intermediate routing node in an embodiment of the present invention.
  • 17 is a schematic diagram of another embodiment of an apparatus for determining an intermediate routing node in an embodiment of the present invention.
  • FIG. 18 is a schematic diagram of an embodiment of a route control system according to an embodiment of the present invention.
  • An embodiment of the present invention provides a method for determining an intermediate routing node. Before determining an intermediate routing node, verifying whether the intermediate routing node becomes a dependency loop on the channel dependency graph, and determining that a dependency relationship does not appear on the channel dependency graph.
  • the intermediate routing node of the ring can realize the transit of data to be transmitted when two routing nodes are in communication failure through an intermediate routing node, and does not require multiple virtual channels to be idle ready state, thereby improving the utilization of routing network resources.
  • the embodiments of the present invention also provide corresponding devices and systems. The details are described below separately.
  • FIG. 1 is a schematic diagram of an example of a routing network according to an embodiment of the present invention.
  • a fully interconnected routing network including four routing nodes is taken as an example. Since any two routing nodes of the fully interconnected routing network shown in FIG. 1 can directly transmit data, data transmitted between any two routing nodes does not need to be forwarded by other routing nodes, so there is no channel dependency.
  • the channel dependency diagram corresponding to Figure 1 is shown in Figure 2.
  • the channel dependency graph shown in Figure 2 can also be understood as the original channel dependency graph.
  • the channel dependency graph is defined as: each channel shown in Figure 1 is represented as a node in the channel dependency graph, and the symbol L 1,2 in the channel dependency graph represents the channel between node 1 and node 2. Assuming that there is an arrow between L 1,2 and L 2,4 , it means that the channel L 1,2 depends on the channel L 2,4 .
  • the current channel dependency graph has no channel dependencies.
  • Step 1 Build a channel dependency graph, as shown in Figure 2.
  • Step 5 First select routing node 2 as the intermediate routing node to be verified. Then the communication path from the routing node 1 to the routing node 4 is 1->2->4, that is, the communication path between the routing node 1 and the routing node 4 is composed of the channel L 1, 2 and the channel L 2, 4 in series.
  • the channel from the source routing node to the intermediate routing node to be verified is defined as the first channel, the second channel, and the last channel respectively from the source routing node.
  • the channel to be verified from the intermediate routing node to the destination routing node is from the middle to be verified.
  • the routing nodes are initially defined as the first channel, the second channel...the last channel, such that the last channel in the communication path between routing node 1 and routing node 2 on the communication path from routing node 1 to routing node 4 is L 1,2, L 1,2-dependent may be used as the initial channel, a communication path routing node routing node 2 and 4 in the first passage is L 2,4, L 2,4 may be as dependent on the channel ends, Therefore, in the channel dependency graph, that is , the channel dependency L 1,2 ->L 2,4 of L 1,2 to L 2,4 is added in FIG. As shown in FIG. 4A, corresponding edges are added to the channel dependency diagram 2. We can see that there is no dependency loop in Figure 4A at this time. Then routing node 2 will act as the final intermediate routing node for routing node 1 through node 4.
  • routing node 3 can serve as the final intermediate routing node of the routing node 4 to the routing node 1, and the channel dependency L 4,3 -> L 3 of L 4,3 to L 3,1 is added in FIG. 4A . 1 .
  • the channel dependency graph still has no dependency loop, so routing node 3 can be used as the final intermediate routing node of routing node 4 to routing node 1.
  • the channel dependency of the routing node 2 and the routing node 3 in the presence of a communication failure may be added to the channel dependency graph of FIG. 4B, and the above step 2 is repeated. Steps 3 and 4.
  • the channel dependency relationship L 2,4 ->L 4,3 is added in FIG.
  • the routing node 4B can serve as the final intermediate routing node for routing node 2 to routing node 3 communication.
  • the channel dependency L 3,1 -> L 1,2 is added to the channel dependency graph of Figure 6.
  • the updated channel dependency graph at this time is shown in Figure 7. It can be found that, at this time, the updated channel depends on the dependency loop in FIG. 7, and the routing node 1 cannot be used as the intermediate routing node that the routing node 3 communicates with the routing node 2. Moreover, the channel dependency graph for the existence of the dependency loop does not need to be saved, because the next time the channel dependency is added, the communication dependency graph containing the dependency loop is not used.
  • the routing node 4 can be tried again, and the channel dependency L 3,4 -> L 4,2 is added to the communication dependency graph 6.
  • the updated channel dependency graph at this time is shown in Figure 8. Since the channel dependent graph shown in FIG. 8 has no dependency loop, it is determined that the routing node 4 can serve as the final intermediate routing node for the routing node 3 to communicate with the routing node 2.
  • FIG. 9 is a schematic diagram of another embodiment of a routing network according to an embodiment of the present invention.
  • the embodiment of the present invention takes six routing nodes as an example.
  • the routing node 1 can directly communicate with the routing node 5, the routing node 3, and the routing node 4, respectively, but the routing node 1 needs to rely on the routing node 3 or the routing node 4 to communicate with the routing node 2 (this It is assumed that the Up*/Down* routing algorithm is used, and the routing node 2 can communicate directly with the routing node 3 and the routing node 4.
  • the channel dependency map corresponding to FIG. 9 is such that any two routing nodes in FIG. 9 can communicate.
  • Direct communication is possible when direct communication is possible, and indirect communication is possible through other routing nodes when direct communication is not possible, and indirect communication is performed with as few other routing nodes as possible. Therefore, the channel dependency diagram corresponding to the routing network shown in FIG. 9 is as shown in FIG.
  • a communication path routing node 1 and node 2 in the route last channel as a routing node for the routing node 1 to L 3,2, L 3,2, as may be dependent on the channel
  • the first channel in the communication path between routing node 2 and routing node 4 is L 2,4
  • channel L 2,4 can be used as the dependent ending channel, so in the channel dependency graph before the fault, that is In Figure 10, the channel dependence of the channel L 3,2 to the channel L 2,4 is added L 3,2 ->L 2,4 .
  • the new dependency is added to the channel dependency graph shown in Figure 10, and the updated channel dependency graph is obtained.
  • the updated channel dependency graph has no dependency loop, so routing node 2 can serve as routing node 1 and routing node 4.
  • the communication path is composed of a plurality of channels connected in series.
  • the channel from the source routing node to the intermediate routing node to be verified is defined as the first channel, the second channel, and the last channel respectively from the source routing node, and the intermediate routing node to be verified is
  • the channel of the destination routing node is defined as the first channel, the second channel, and the last channel from the intermediate routing node to be verified.
  • the channel dependency graph is determined by the communication relationship between the routing nodes pre-defined by the routing network. Not any two routing nodes can communicate directly, but the two routing nodes can rely on other routing nodes to implement communication.
  • an embodiment of a method for determining an intermediate routing node according to an embodiment of the present invention includes:
  • the intermediate routing node to be verified is any one of the at least one intermediate routing node, and the channel dependency relationship is a channel combination of the two routing nodes performing data transmission through the intermediate routing node to be verified.
  • the channel dependency graph of the pre-fault routing network is used to describe the dependencies formed by any two channels in the routing network before the fault or the combination of channel dependencies established before the fault.
  • the routing network is fault-tolerant, it does not need to be repaired immediately when a fault occurs. Therefore, after the first fault occurs, the channel dependency caused by the communication failure needs to be added to the initial channel dependency graph.
  • the channel dependency graph after adding the channel dependency is the updated channel dependency graph.
  • the channel dependency graph is defined as: each node in the channel dependency graph represents a channel in the routing network, and the symbol L 1,2 in the channel dependency graph represents a channel. If there is an arrow between L 1, 2 and L 2, 4 , as shown in Fig. 4A, it means that L 1, 2 channels and L 2, 4 channels are interdependent.
  • the embodiment of the present invention determines at least one intermediate routing node for transferring data to be transmitted between the two routing nodes, and the intermediate routing node to be verified and the two
  • the channel dependency relationship between the routing nodes is added to the channel dependency graph of the pre-fault routing network to make it an updated channel dependency graph, wherein the intermediate routing node to be verified is the at least one intermediate routing node.
  • Any one of the channel dependencies is a combination of channels for data transmission by the two routing nodes through the to-be-verified intermediate routing node, and the channel dependency graph of the pre-fault routing network is used to describe the current fault.
  • the method provided by the embodiment of the present invention verifies the intermediate routing node on the channel dependency graph before determining the intermediate routing node. Whether it is a dependency loop, it is possible to determine an intermediate routing node that does not have a dependency loop on the channel dependency graph.
  • the intermediate routing node can realize the data transfer to be transmitted when the two routing nodes are in communication failure, and does not need multiple
  • the virtual channel is idle ready, which improves the utilization of routing network resources. Therefore, under the same resources, the solution has stronger fault tolerance and better network performance.
  • the intermediate routing node to be verified and the two routing nodes are optionally selected on the basis of the foregoing embodiment corresponding to FIG.
  • the channel dependency relationship between the channels and the channel dependency graph of the pre-fault routing network to make it an updated channel dependency graph which may include:
  • the communication path between the source routing node, the intermediate routing node to be verified, and the destination routing node is composed of multiple channels connected in series, and the channel from the source routing node to the intermediate routing node to be verified is separately defined from the source routing node.
  • the channel to be verified from the intermediate routing node to the destination routing node is defined as the first channel, the second channel, and the last channel respectively.
  • the process described in the embodiments of the present invention is a process of adding a line in a channel dependency map, such as the process of adding an arrow between L 1, 2 and L 2, 4 described in Figures 1 - 10. We will not repeat too much here.
  • the at least one intermediate routing node that transfers the data to be transmitted between the two routing nodes may include:
  • the method may further include: before the channel dependency graph of the routing network before the fault is added to the channel dependency graph of the updated routing network, the method may further include:
  • the channel dependency graph of the pre-fault routing network described in the embodiment of the present invention is saved when the last channel dependency graph is updated, and only needs to be directly read, thereby improving the efficiency of obtaining the updated channel dependency graph.
  • the method may also be used in the foregoing embodiment of FIG. 11 or the optional embodiment corresponding to FIG. include:
  • the source routing node may directly send the data to be transmitted according to the description information of the final intermediate routing node, and the routing network provided by the embodiment of the present invention only needs source routing.
  • the communication path between the node to the final intermediate routing node and the final intermediate routing node to the destination routing node does not require other communication paths to remain idle ready state, thereby improving the resource utilization of the routing network.
  • an embodiment of an apparatus 20 for determining an intermediate routing node according to an embodiment of the present invention includes:
  • the first determining unit 201 is configured to determine, when the communication path between the two routing nodes is faulty, at least one intermediate routing node for transferring data to be transmitted between the two routing nodes;
  • the channel dependency graph updating unit 202 is configured to add a channel dependency relationship between the intermediate routing node to be verified and the two routing nodes to the channel dependency graph of the pre-fault routing network to make the updated channel dependency graph.
  • the intermediate routing node to be verified is any one of the at least one intermediate routing node determined by the determining unit, and the channel dependency relationship is that the two routing nodes perform data through the intermediate routing node to be verified.
  • Channel combination of the transmission, the channel dependency diagram of the pre-fault routing network is used to describe the channel formed by any two routing nodes in the routing network before the failure, or the channel dependency relationship established before the failure. combination;
  • the second determining unit 203 is configured to determine, when the channel dependent graph update unit 202 updates the updated channel dependency graph that there is no dependency loop, determine the intermediate routing node to be verified as used for transiting
  • the final intermediate routing node that transmits the data, and the dependency loop is a loop formed by the combination of channel dependencies.
  • the first determining unit 201 determines at least one intermediate routing node for transferring data to be transmitted between the two routing nodes, and the channel dependency graph is updated.
  • the unit 202 adds the channel dependency relationship between the intermediate routing node to be verified and the two routing nodes to the channel dependency graph of the pre-fault routing network to make the updated channel dependency graph, wherein the intermediate to be verified a routing node is any one of the at least one intermediate routing node determined by the determining unit, where the channel dependency is a channel combination of data transmission by the two routing nodes through the to-be-verified intermediate routing node,
  • the dependency graph is used to describe a channel formed by any two routing nodes in the routing network before the fault, or a combination of channel dependencies established before the fault, and the second determining unit 203 is the channel dependent graph updating unit.
  • the intermediate routing node to be verified is determined as a final intermediate routing node for relaying data to be transmitted, and the dependency loop is channel dependent.
  • the ring formed by the combination of relationships.
  • the apparatus provided by the embodiment of the present invention verifies whether the intermediate routing node is on the channel dependency graph before determining the intermediate routing node. As a dependency loop, an intermediate routing node that does not have a dependency loop on the channel dependency graph can be determined.
  • the intermediate routing node can realize the data transfer to be transmitted when the two routing nodes are in communication failure, and does not require multiple virtual
  • the channel is in an idle state, which improves the utilization of routing network resources. Therefore, under the same resources, the solution has stronger fault tolerance and better network performance.
  • the channel dependency graph updating unit 202 includes :
  • the locating unit 2021 is configured to find, in the channel dependency graph of the pre-failure routing network, the source routing node of the two routing nodes and the intermediate to be verified according to the transmission direction of the data to be transmitted. The last channel in the path of the routing node, and the first channel in the path of the intermediate routing node to be verified and the destination routing node in the two routing nodes;
  • a determining subunit 2022 configured to determine, as the dependent starting channel, the last one of the path of the source routing node and the path of the intermediate routing node to be verified that is searched by the searching subunit 2021, and the intermediate route to be verified
  • the first channel in the path between the node and the destination routing node is determined to be a dependent end channel
  • the establishing subunit 2023 is configured to add, in the channel dependency graph of the current pre-fault routing network, the channel dependency relationship of the dependent starting channel determined by the determining subunit 2022 to the dependent ending channel, so that the The channel dependency graph of the routing network before the fault becomes the updated channel dependency graph.
  • the first determining unit 201 includes:
  • a first obtaining subunit 2011, configured to acquire information of a routing node that is in a faultless communication connection with the source routing node of the two routing nodes, as a first information set;
  • a second obtaining subunit 2012 configured to acquire a destination routing node in the two routing nodes for no reason Information of a routing node connected to the barrier communication as a second information set;
  • the calculation sub-unit 2013 is configured to calculate an intersection of the first information set acquired by the first acquisition sub-unit 2011 and the second information set acquired by the second acquisition sub-unit 2012;
  • the determining subunit 2014 is configured to determine, as the at least one intermediate routing node, a routing node corresponding to the information of the routing node included in the intersection calculated by the calculating subunit 2013.
  • the apparatus 20 further includes:
  • the obtaining unit 204 is configured to obtain, before the channel dependency graph updating unit 202 updates the channel dependency graph of the current pre-fault routing network, the channel dependency graph obtained by adding the channel dependency relationship when the channel dependency map is added last time, As the channel dependency graph of the pre-fault routing network.
  • the apparatus 20 further includes:
  • the sending unit 205 is configured to send, to the source routing node of the two routing nodes, description information of the final intermediate routing node determined by the second determining unit 203, so that the source routing node is in the final middle
  • the routing node sends the data to be transmitted.
  • FIG. 17 is a schematic structural diagram of an apparatus 20 for determining an intermediate routing node according to an embodiment of the present invention.
  • Apparatus 20 for determining an intermediate routing node may include input device 210, output device 220, processor 230, and memory 240.
  • Memory 240 can include read only memory and random access memory and provides instructions and data to processor 230. A portion of memory 240 may also include non-volatile random access memory (NVRAM).
  • NVRAM non-volatile random access memory
  • the memory 240 stores the following elements, executable modules or data structures, or a subset thereof, or an extended set thereof:
  • Operation instructions include various operation instructions for implementing various operations.
  • Operating system Includes a variety of system programs for implementing various basic services and handling hardware-based tasks.
  • the processor 230 performs the following operations by calling an operation instruction stored in the memory 240 (the operation instruction can be stored in the operating system):
  • the channel dependency graph of the routing network is used to describe the channel formed by any two routing nodes in the routing network before the fault or the combination of the channel dependencies established before the fault;
  • the intermediate routing node to be verified is determined as a final intermediate routing node for relaying data to be transmitted, and the dependency loop is a channel dependency combination The ring formed.
  • the apparatus 20 for determining the intermediate routing node verifies whether the intermediate routing node becomes a dependency loop on the channel dependency graph before determining the intermediate routing node, so that it can be determined that a dependency does not appear on the channel dependency graph.
  • the intermediate routing node of the ring can realize the transit of data to be transmitted when two routing nodes are in communication failure through an intermediate routing node, and does not require multiple virtual channels to be idle ready state, thereby improving the utilization of routing network resources. Therefore, under the same resources, the solution has stronger fault tolerance and better network performance.
  • the processor 230 controls the operation of the device 20 that determines the intermediate routing node, which may also be referred to as a CPU (Central Processing Unit).
  • Memory 240 can include read only memory and random access memory and provides instructions and data to processor 230. A portion of memory 240 may also include non-volatile random access memory (NVRAM).
  • NVRAM non-volatile random access memory
  • the various components of the device 20 that determine the intermediate routing node are coupled together by a bus system 250, which may include, in addition to the data bus, a power bus, a control bus, a status signal bus, and the like. However, for clarity of description, various buses are labeled as bus system 250 in the figure.
  • Processor 230 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the foregoing method may be completed by an integrated logic circuit of hardware in the processor 230 or an instruction in a form of software.
  • the processor 230 described above may be a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, or discrete hardware. Component.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA off-the-shelf programmable gate array
  • the methods, steps, and logical block diagrams disclosed in the embodiments of the present invention may be implemented or carried out.
  • the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
  • the steps of the method disclosed in the embodiments of the present invention may be directly implemented by the hardware decoding processor, or by using hardware and software modules in the decoding processor.
  • the combination execution is completed.
  • the software module can be located in a conventional storage medium such as random access memory, flash memory, read only memory, programmable read only memory or electrically erasable programmable memory, registers, and the like.
  • the storage medium is located in the memory 240, and the processor 230 reads the information in the memory 240 and performs the steps of the above method in combination with its hardware.
  • processor 230 specifically:
  • processor 230 specifically:
  • processor 230 can also:
  • the obtained channel dependency graph without the dependency loop is used as the channel dependency graph of the pre-fault routing network.
  • the output device 220 is configured to send, to the source routing node of the two routing nodes, description information of the intermediate routing node, so that the source routing node sends the to-be-transmitted data to the intermediate routing node. .
  • an embodiment of a routing control system includes: a routing node 30 and a management node 40, and any two routing nodes in the routing node 30 are communicatively connected according to a manner defined by a network topology.
  • the management node 40 has a communication connection with any one of the routing nodes;
  • routing nodes 30 Only a few routing nodes 30 are shown in Figure 18. In fact, there may be many routing nodes 30, it being understood that not all of the figures are shown.
  • the management node 40 is configured to determine, when the communication path between the two routing nodes is faulty, at least one intermediate routing node for transferring data to be transmitted between the two routing nodes, and the intermediate routing node to be verified
  • the channel dependency relationship between the two routing nodes is added to the channel dependency graph of the pre-fault routing network to make the updated channel dependency graph, wherein the intermediate routing node to be verified is the at least one intermediate route Any one of the nodes, the channel dependency is a channel combination of the two routing nodes performing data transmission through the intermediate routing node to be verified, and the channel dependency graph of the pre-fault routing network is used to describe the current a combination of any two routing nodes in the routing network before the failure, or a combination of channel dependencies established before the failure, when there is no dependency loop in the updated channel dependency graph,
  • the intermediate routing node to be verified is determined as a final intermediate routing node for relaying data to be transmitted, and the dependency loop is a channel Lai ring formed by combination of the relationship.
  • the method provided by the embodiment of the present invention verifies the intermediate routing node on the channel dependency graph before determining the intermediate routing node. Whether it is a dependency loop, it is possible to determine an intermediate routing node that does not have a dependency loop on the channel dependency graph.
  • the intermediate routing node can realize the data transfer to be transmitted when the two routing nodes are in communication failure, and does not need multiple
  • the virtual channel is idle ready, which improves the utilization of routing network resources. Therefore, under the same resources, the solution has stronger fault tolerance and better network performance.
  • the program may be stored in a computer readable storage medium, and the storage medium may include: ROM, RAM, disk or CD.

Landscapes

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

Abstract

本发明公开了一种确定中间路由节点的方法,包括:在两个路由节点间的通信路径存在故障时,确定用于在所述两个路由节点间中转待传输数据的至少一个中间路由节点,将待验证中间路由节点与所述两个路由节点间的通道依赖关系,加入到本次故障前路由网络的通道依赖图使之成为更新后的通道依赖图,当所述更新后的通道依赖图中没有依赖关系环时,则将所述待验证中间路由节点确定为用于中转待传输数据的最终中间路由节点。本发明实施例提供的方法,可以确定一个不会在通道依赖图上出现依赖关系环的中间路由节点,通过一个中间路由节点就可以实现两个路由节点通信故障时的待传输数据中转,从而提高了路由网络资源的利用率。

Description

一种确定中间路由节点的方法、装置及系统
本申请要求于2014年4月30日提交中国专利局、申请号为201410182254.X、发明名称为“一种确定中间路由节点的方法、装置及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及通信技术领域,具体涉及一种确定中间路由节点的方法、装置及系统。
背景技术
在路由网络中,网络中的故障可以导致源路由节点与目的路由节点间的通信路径被阻断,从而导致数据传输的终止。在这种情况下现有技术中通常采用容错路由技术,通过绕过故障点的方式来容忍网络故障并向用户提供可靠的通信服务。
当路由网络中的源节点S和目的节点D的传输路径上出现故障后,管理节点为受到影响的节点对(S,D)找到一个中间路由节点I。该中间路由节点I需要满足两个条件:1)S到I之间的路径上没有故障,2)I到D的路径上没有故障。当找到I之后,原本由S发往D的消息,则首先由S发往I(路由阶段1),然后再由I转发给D(路由阶段2)。
在现有路由网络中,为了保证路由无死锁,当加入中间路由节点I之后,从S到D路由一个消息会经历两个阶段。即:由S到I和由I到D。为了保证经过中间节点I后,路由无死锁,现有技术中在消息经过中间路由节点I时更换一条虚拟通道,并且要求虚拟通道的编号是单调的。例如,在路由阶段1使用第一条虚拟通道,在路由阶段2使用第二条虚拟通道。
现有技术中使用虚拟通道的方法来避免路由无死锁,对资源的要求较高。例如需要使用n个中间路由节点,则需要使用n+1条虚拟通道。这些虚拟通道在无故障情况下都是不使用的,因此资源浪费严重,网络资源利用率低下。另外,大多数情况下少量的中间路由节点即能绕过故障区,但是系统必须按照最坏情况预留资源。这就造成资源利用率严重失衡,导致系统性能不优。
发明内容
本发明实施例提供一种确定中间路由节点的方法,在确定中间路由节点前验证所述中间路由节点在通道依赖图上是否成依赖关系环,可以确定一个不会在通道依赖图上出现依赖关系环的中间路由节点,通过一个中间路由节点就可以实现两个路由节点通信故障时的待传输数据中转,不需要多条虚拟通道处于闲置准备状态,从而提高了路由网络资源的利用率。本发明实施例还提供了相应的装置及系统。
本发明第一方面提供一种确定中间路由节点的方法,包括:
在两个路由节点间的通信路径存在故障时,确定用于在所述两个路由节点间中转待传输数据的至少一个中间路由节点;
将待验证中间路由节点与所述两个路由节点间的通道依赖关系,加入到本次故障前路由网络的通道依赖图使之成为更新后的通道依赖图,其中,所述待验证中间路由节点为所述至少一个中间路由节点中的任意一个,所述通道依赖关系为所述两个路由节点通过所述待验证中间路由节点进行数据传输的通道组合,所述本次故障前路由网络的通道依赖图用于描述本次故障前所述路由网络中任意两个通道所构成的依赖关系,或者与故障前已建立的通道依赖关系的组合;
当所述更新后的通道依赖图中没有依赖关系环时,则将所述待验证中间路由节点确定为用于中转待传输数据的最终中间路由节点,所述依赖关系环为通道依赖关系组合所形成的环。
结合第一方面,在第一种可能的实现方式中,所述将待验证中间路由节点与所述两个路由节点间的通道依赖关系,加入到本次故障前路由网络的通道依赖图使之成为更新后的通道依赖图,包括:
按照所述待传输数据的传输方向,在所述本次故障前路由网络的通道依赖图中查找到所述两个路由节点中的源路由节点与所述待验证中间路由节点的路径中的最后一条通道,以及所述待验证中间路由节点与所述两个路由节点中的目的路由节点的路径中的第一条通道;
将所述源路由节点与所述待验证中间路由节点的路径中的最后一条通道确定为依赖起始通道,将所述待验证中间路由节点与所述目的路由节点的路径中的第一条通道确定为依赖结束通道;
在所述本次故障前路由网络的通道依赖图中加入所述依赖起始通道到所述依赖结束通道的通信依赖关系,使所述本次故障前路由网络的通道依赖图成为更新后的通道依赖图。
结合第一方面或第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述确定用于在所述两个路由节点间中转待传输数据的至少一个中间路由节点,包括:
获取与所述两个路由节点中源路由节点无故障通信连接的路由节点的信息,作为第一信息集合;
获取与所述两个路由节点中目的路由节点无故障通信连接的路由节点的信息,作为第二信息集合,并计算所述第一信息集合与所述第二信息集合的交集;
将所述交集中所包含的路由节点的信息所对应的路由节点,确定为所述至少一个中间路由节点。
结合第一方面或第一方面第一种可能的实现方式,在第三种可能的实现方式中,所述将待验证中间路由节点与所述两个路由节点间的通道依赖关系,加入到本次故障前路由网络的通道依赖图使之成为更新后的通道依赖图之前,所述方法还包括:
获取上一次加入通道依赖关系时得到的不包含依赖关系环的通道依赖图,作为所述本次故障前路由网络的通道依赖图。
结合第一方面或第一方面第一种可能的实现方式,在第四种可能的实现方式中,所述方法还包括:
向所述两个路由节点中的源路由节点发送所述最终中间路由节点的描述信息,以便于所述源路由节点向所述最终中间路由节点发送所述待传输数据。
本发明第二方面提供一种确定中间路由节点的装置,包括:
第一确定单元,用于在两个路由节点间的通信路径存在故障时,确定用于在所述两个路由节点间中转待传输数据的至少一个中间路由节点;
通道依赖图更新单元,用于将待验证中间路由节点与所述两个路由节点间的通道依赖关系,加入到本次故障前路由网络的通道依赖图使之成为更新后的通道依赖图,其中,所述待验证中间路由节点为所述确定单元确定的所述至少一个中间路由节点中的任意一个,所述通道依赖关系为所述两个路由节点通过所述待验证中间路由节点进行数据传输的通道组合,所述本次故障前路由网络 的通道依赖图用于描述本次故障前所述路由网络中任意两个通道所构成的依赖关系,或者与故障前已建立的通道依赖关系的组合;
第二确定单元,用于当所述通道依赖图更新单元所更新的所述更新后的通道依赖图中没有依赖关系环时,则将所述待验证中间路由节点确定为用于中转待传输数据的最终中间路由节点,所述依赖关系环为通道依赖关系组合所形成的环。
结合第二方面,在第一种可能的实现方式中,所述通道依赖图更新单元,包括:
查找子单元,用于按照所述待传输数据的传输方向,在所述本次故障前路由网络的通道依赖图中查找到所述两个路由节点中的源路由节点与所述待验证中间路由节点的路径中的最后一条通道,以及所述待验证中间路由节点与所述两个路由节点中的目的路由节点的路径中的第一条通道;
确定子单元,用于将所述查找子单元查找的所述源路由节点与所述待验证中间路由节点的路径中的最后一条通道确定为依赖起始通道,将所述待验证中间路由节点与所述目的路由节点的路径中的第一条通道确定为依赖结束通道;
建立子单元,用于在所述本次故障前路由网络的通道依赖图中加入所述确定子单元确定的所述依赖起始通道到所述依赖结束通道的通道依赖关系,使所述本次故障前路由网络的通道依赖图成为更新后的通道依赖图。
结合第二方面或第二方面第一种可能的实现方式,在第二种可能的实现方式中,所述第一确定单元,包括:
第一获取子单元,用于获取与所述两个路由节点中源路由节点无故障通信连接的路由节点的信息,作为第一信息集合;
第二获取子单元,用于获取与所述两个路由节点中目的路由节点无故障通信连接的路由节点的信息,作为第二信息集合;
计算子单元,用于计算所述第一获取子单元获取的所述第一信息集合与所述第二获取子单元获取的第二信息集合的交集;
确定子单元,用于将所述计算子单元计算的交集中所包含的路由节点的信息所对应的路由节点,确定为所述至少一个中间路由节点。
结合第二方面或第二方面第一种可能的实现方式,在第三种可能的实现方式中,所述装置还包括:
获取单元,用于在所述通道依赖图更新单元更新所述本次故障前路由网络的通道依赖图之前,获取上一次加入通道依赖关系时得到的不包含依赖关系环的通道依赖图,作为所述本次故障前路由网络的通道依赖图。
结合第二方面或第二方面第一种可能的实现方式,在第四种可能的实现方式中,所述装置还包括:
发送单元,用于向所述两个路由节点中的源路由节点发送所述第二确定单元确定的所述最终中间路由节点的描述信息,以便于所述源路由节点向所述最终中间路由节点发送所述待传输数据。
本发明第三方面提供一种路由控制系统,包括:路由节点和管理节点,所述路由节点按照网络拓扑定义的方式通信连接,所述管理节点与所述路由节点中的任意一个路由节点均存在通信连接;
所述管理节点,用于在两个路由节点间的通信路径存在故障时,确定用于在所述两个路由节点间中转待传输数据的至少一个中间路由节点,将待验证中间路由节点与所述两个路由节点间的通道依赖关系,加入到本次故障前路由网络的通道依赖图使之成为更新后的通道依赖图,其中,所述待验证中间路由节点为所述至少一个中间路由节点中的任意一个,所述通道依赖关系为所述两个路由节点通过所述待验证中间路由节点进行数据传输的通道组合,所述本次故障前路由网络的通道依赖图用于描述本次故障前所述路由网络中任意两个路由节点所构成的通道,或者与故障前已建立的通道依赖关系的组合,当所述更新后的通道依赖图中没有依赖关系环时,则将所述待验证中间路由节点确定为用于中转待传输数据的最终中间路由节点,所述依赖关系环为通道依赖关系组合所形成的环。
本发明实施例采用在两个路由节点间的通信路径存在故障时,确定用于在所述两个路由节点间中转待传输数据的至少一个中间路由节点,将待验证中间路由节点与所述两个路由节点间的通道依赖关系,加入到本次故障前路由网络的通道依赖图使之成为更新后的通道依赖图,其中,所述待验证中间路由节点为所述至少一个中间路由节点中的任意一个,所述通道依赖关系为所述两个路由节点通过所述待验证中间路由节点进行数据传输的通道组合,所述本次故障前路由网络的通道依赖图用于描述本次故障前所述路由网络中任意两个通道所构成的依赖关系,或者与故障前已建立的通道依赖关系的组合,当所述更新后 的通道依赖图中没有依赖关系环时,则将所述待验证中间路由节点确定为用于中转待传输数据的中间路由节点,所述依赖关系环为路由节点的通道依赖关系组合所形成的环。与现有技术中为了避免路由无死锁,需要依赖多条虚拟通道才能实现数据中转相比,本发明实施例提供的方法,在确定中间路由节点前验证所述中间路由节点在通道依赖图上是否成依赖关系环,可以确定一个不会在通道依赖图上出现依赖关系环的中间路由节点,通过一个中间路由节点就可以实现两个路由节点通信故障时的待传输数据中转,不需要多条虚拟通道处于闲置准备状态,从而提高了路由网络资源的利用率。从而,在相同的资源下网络,本方案的容错能力更强,网络性能更好。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中确定中间路由节点的方法的一实施例示意图;
图2是本发明实施例中确定中间路由节点的方法的另一实施例示意图;
图3是本发明实施例中确定中间路由节点的方法的另一实施例示意图;
图4A是本发明实施例中确定中间路由节点的方法的另一实施例示意图;
图4B是本发明实施例中确定中间路由节点的方法的另一实施例示意图;
图5是本发明实施例中确定中间路由节点的方法的另一实施例示意图;
图6是本发明实施例中确定中间路由节点的方法的另一实施例示意图;
图7是本发明实施例中确定中间路由节点的方法的另一实施例示意图;
图8是本发明实施例中确定中间路由节点的方法的另一实施例示意图;
图9是本发明实施例中确定中间路由节点的方法的另一实施例示意图;
图10是本发明实施例中确定中间路由节点的装置的一实施例示意图;
图11是本发明实施例中确定中间路由节点的方法的一实施例示意图;
图12是本发明实施例中确定中间路由节点的装置的一实施例示意图;
图13是本发明实施例中确定中间路由节点的装置的另一实施例示意图;
图14是本发明实施例中确定中间路由节点的装置的另一实施例示意图;
图15是本发明实施例中确定中间路由节点的装置的另一实施例示意图;
图16是本发明实施例中确定中间路由节点的装置的另一实施例示意图;
图17是本发明实施例中确定中间路由节点的装置的另一实施例示意图;
图18是本发明实施例中路由控制系统的一实施例示意图。
具体实施方式
本发明实施例提供一种确定中间路由节点的方法,在确定中间路由节点前验证所述中间路由节点在通道依赖图上是否成依赖关系环,可以确定一个不会在通道依赖图上出现依赖关系环的中间路由节点,通过一个中间路由节点就可以实现两个路由节点通信故障时的待传输数据中转,不需要多条虚拟通道处于闲置准备状态,从而提高了路由网络资源的利用率。本发明实施例还提供了相应的装置及系统。以下分别进行详细说明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,图1为本发明实施例所提供的路由网络的一示例示意图,本发明实施例以包含4个路由节点的全互连路由网络为例,在路由网络不存在故障时,由于图1所示的全互连路由网络的任意两个路由节点都可以直接传输数据,因此任意两个路由节点间传输数据都不需要依赖其他路由节点进行转发,因此不存在通道依赖关系。图1对应的通道依赖图如图2所示,也可以将图2所示的通道依赖图理解为原始的通道依赖图。
通道依赖图的定义为:在图1所示的每条通道在通道依赖图中表示为一个节点,通道依赖图中的符号L1,2表示节点1到节点2之间的通道。假设L1,2与L2,4间有箭头,则表示L1,2这条通道依赖L2,4这条通道。
如图2所示,目前通道依赖图没有通道依赖关系。
如图3所示,当路由节点1和路由节点4间出现通信故障,即路由节点1与路由节点4不能直接进行通信。
为了在存在故障情况下,将消息从路由节点1传输到路由节点4,本发明实施例的主要步骤如下:
步骤1:构建通道依赖图,如图2所示。
步骤2:找到路由节点1按照任意路径可到达的所有路由节点集合Sr={2, 3}。
步骤3:找到按照任意路径可以到达目的路由节点4的所有路由节点集合Ds={2,3}。
步骤4:计算Sr和Ds的交集Isd={2,3},则可以确定用于在路由节点1和4之间中转待传输数据的中间路由节点为2和3。
步骤5:先选择路由节点2作为待验证中间路由节点。那么从路由节点1到路由节点4的通信路径为1->2->4,也就是说路由节点1和路由节点4之间的通信路径由通道L1,2和通道L2,4串联组成,从源路由节点到待验证中间路由节点的通道从源路由节点开始分别定义为第一条通道、第二条通道…最后一条通道,待验证中间路由节点到目的路由节点的通道从待验证中间路由节点开始分别定义为第一条通道、第二条通道…最后一条通道,这样,从路由节点1到路由节点4的通信路径上,路由节点1与路由节点2的通信路径中的最后一条通道为L1,2,可以将L1,2作为依赖起始通道,路由节点2与路由节点4的通信路径中的第一条通道为L2,4,可以将L2,4作为依赖结束通道,所以在通道依赖图中,也就是图2中加入L1,2到L2,4的通道依赖关系L1,2->L2,4。如图4A所示,在通道依赖图2中加入相应的边。我们可以发现此时图4A中没有依赖关系环。那么路由节点2将作为路由节点1到节点4通信的最终中间路由节点。
同理可以计算出路由节点3可以作为路由节点4到路由节点1的最终中间路由节点,在图4A中加入L4,3到L3,1的通道依赖关系L4,3->L3,1。如图4B所示,通道依赖图依然无依赖关系环,因此可以使用路由节点3作为路由节点4到路由节点1的最终中间路由节点。
在路由节点1与路由节点4之间通信出现故障后,此时如果路由节点2与路由节点3间的通信也出现故障,如图5所示。为了在故障情况下,将消息由路由节点2传输到路由节点3,可以在图4B的通道依赖图上加入路由节点2和路由节点3存在通信故障时的通道依赖关系,重复上面的步骤2、步骤3和步骤4。最后得到可以作为中间路由节点的集合Isd={1,4},当选择路由节点4作为待验证中间路由节点。此时,在图4B中加入通道依赖关系L2,4->L4,3,此时更新后的通道依赖图如图6所示。因为图6所示的更新后的通道依赖图中无依赖关系环,那么可以确定路由节点4可以作为路由节点2到路由节点3通信的最终中间路由节点。
为了将消息由路由节点3传输到路由节点2,如果选择路由节点1作为待验证 中间路由节点,那么在图6的通道依赖图上加入通道依赖关系L3,1->L1,2。此时更新后的通道依赖图如图7所示。可以发现,此时更新后的通道依赖图7存在依赖关系环,那么路由节点1不能作为路由节点3到路由节点2通信的中间路由节点。而且,对于存在依赖关系环的通道依赖图不需要保存,因为下一次再加入通道依赖关系时,不会使用包含依赖关系环的通信依赖图。接下来可以再尝试路由节点4,在通信依赖图6上加入通道依赖关系L3,4->L4,2。此时更新后的通道依赖图如图8所示。因为图8所示的通道依赖图无依赖关系环,那么确定路由节点4可以作为路由节点3与路由节点2通信的最终中间路由节点。
参阅图9,图9为本发明实施例所提供的路由网络的另一实施例示意图,本发明实施例以包含6个路由节点为例,在图9所示的路由网络不存在故障时,由图9所示的路由网络中路由节点1分别与路由节点5、路由节点3、路由节点4都能直接通信,但路由节点1要与路由节点2通信需要依赖路由节点3或者路由节点4(此时假设使用Up*/Down*路由算法),路由节点2与路由节点3和路由节点4都能直接通信,图9所对应的通道依赖图要使图9中任意两个路由节点都能通信,能直接通信则直接通信,不能直接通信则通过其他路由节点间接通信,而且要用尽可能少的其他路由节点来进行间接通信。所以图9所示的路由网络对应的通道依赖图如图10所示。
针对图9和图10所示的路由网络,当路由节点1和路由节点4间出现通信故障时,找到按照任意路径可到达路由节点1的所有路由节点集合Sr={2,3,5,6},找到按照任意路径可以到达路由节点4的所有路由节点集合Ds={2,3,6},计算Sr和Ds的交集Isd={2,3,6},所以还可以确定用于中转待传输数据的中间路由节点为路由节点2、路由节点3或路由节点6。假设采用路由节点2作为路由节点1到路由节点4的待验证中间路由节点,路由节点1与路由节点2的通信路径中的最后一条通道为L3,2,可以将通道L3,2作为依赖起始通道,路由节点2与路由节点4的通信路径中的第一条通道为L2,4,可以将通道L2,4作为依赖结束通道,所以在故障前的通道依赖图中,也就是图10中加入通道L3,2到通道L2,4的通道依赖关系L3,2->L2,4。将新的依赖关系加入到图10所示的通道依赖图中,所得更新后的通道依赖图,更新后的通道依赖图中没有依赖关系环,所以路由节点2可以作为路由节点1和路由节点4的最终中间路由节点。
本发明实施例中源路由节点、待验证中间路由节点和目的路由节点之间的 通信路径是有多条通道串联组成,从源路由节点到待验证中间路由节点的通道从源路由节点开始分别定义为第一条通道、第二条通道…最后一条通道,待验证中间路由节点到目的路由节点的通道从待验证中间路由节点开始分别定义为第一条通道、第二条通道…最后一条通道。
本发明实施例中在路由节点1和路由节点4存在故障,以及路由节点2和路由节点3同时存在故障时,与上述图1-图8中所描述的过程相同,图9和图10中只是要强调通道依赖图是依赖于路由网络预先定义的各路由节点间的通信关系确定的,并不是任意两个路由节点间都能直接通信,但两个路由节点可以依赖其他路由节点实现通信。
参阅图11,本发明实施例提供的确定中间路由节点的方法的一实施例包括:
101、在两个路由节点间的通信路径存在故障时,确定用于在所述两个路由节点间中转待传输数据的至少一个中间路由节点。
102、将待验证中间路由节点与所述两个路由节点间的通道依赖关系,加入到本次故障前路由网络的通道依赖图使之成为更新后的通道依赖图。
其中,所述待验证中间路由节点为所述至少一个中间路由节点中的任意一个,所述通道依赖关系为所述两个路由节点通过所述待验证中间路由节点进行数据传输的通道组合,所述本次故障前路由网络的通道依赖图用于描述本次故障前所述路由网络中任意两条通道所构成的依赖关系,或者与故障前已建立的通道依赖关系的组合。
因路由网络是有容错能力的,不需要在一有故障出现时,就立马进行修复,所以在第一次故障出现后,就需要在初始通道依赖图上加入因通信故障而导致的通道依赖关系,加入通道依赖关系后的通道依赖图是更新后的通道依赖图。
如果不是第一次故障,则需要在上一次加入通道依赖关系所得到的通信依赖图上加入本次故障所导致的通道依赖关系。
通道依赖图的定义为:通道依赖图中的每个节点表示路由网络中的一条通道,通道依赖图中的符号L1,2表示一条通道。如果L1,2与L2,4间有箭头,如图4A所示,表示L1,2通道与L2,4通道互相依赖。
103、当所述更新后的通道依赖图中没有依赖关系环时,则将所述待验证中间路由节点确定为用于中转待传输数据的最终中间路由节点,所述依赖关系环为通道依赖关系组合所形成的环。
本发明实施例采用在两个路由节点间的通信路径存在故障时,确定用于在所述两个路由节点间中转待传输数据的至少一个中间路由节点,将待验证中间路由节点与所述两个路由节点间的通道依赖关系,加入到本次故障前路由网络的通道依赖图使之成为更新后的通道依赖图,其中,其中,所述待验证中间路由节点为所述至少一个中间路由节点中的任意一个,所述通道依赖关系为所述两个路由节点通过所述待验证中间路由节点进行数据传输的通道组合,所述本次故障前路由网络的通道依赖图用于描述本次故障前所述路由网络中任意两个路由节点所构成的通道,或者与故障前已建立的通道依赖关系的组合,当所述更新后的通道依赖图中没有依赖关系环时,则将所述待验证中间路由节点确定为用于中转待传输数据的最终中间路由节点,所述依赖关系环为通道依赖关系组合所形成的环。与现有技术中为了避免路由无死锁,需要依赖多条虚拟通道才能实现数据中转相比,本发明实施例提供的方法,在确定中间路由节点前验证所述中间路由节点在通道依赖图上是否成依赖关系环,可以确定一个不会在通道依赖图上出现依赖关系环的中间路由节点,通过一个中间路由节点就可以实现两个路由节点通信故障时的待传输数据中转,不需要多条虚拟通道处于闲置准备状态,从而提高了路由网络资源的利用率。从而,在相同的资源下网络,本方案的容错能力更强,网络性能更好。
可选地,在上述图11对应的实施例的基础上,本发明实施例提供的确定中间路由节点的方法的另一实施例中,所述将待验证中间路由节点与所述两个路由节点间的通道依赖关系,加入到本次故障前路由网络的通道依赖图使之成为更新后的通道依赖图,可以包括:
按照所述待传输数据的传输方向,在所述本次故障前路由网络的通道依赖图中查找到所述两个路由节点中的源路由节点与所述待验证中间路由节点的路径中的最后一条通道,以及所述待验证中间路由节点与所述两个路由节点中的目的路由节点的路径中的第一条通道;
将所述源路由节点与所述待验证中间路由节点的路径中的最后一条通道确定为依赖起始通道,将所述待验证中间路由节点与所述目的路由节点的路径中的第一条通道确定为依赖结束通道;
在所述本次故障前路由网络的通道依赖图中加入所述依赖起始通道到所述依赖结束通道的通信依赖关系,使所述本次故障前路由网络的通道依赖图成为 更新后的通道依赖图。
本发明实施例中源路由节点、待验证中间路由节点和目的路由节点之间的通信路径是有多条通道串联组成,从源路由节点到待验证中间路由节点的通道从源路由节点开始分别定义为第一条通道、第二条通道…最后一条通道,待验证中间路由节点到目的路由节点的通道从待验证中间路由节点开始分别定义为第一条通道、第二条通道…最后一条通道。
本发明实施例所描述的过程就是在通道依赖图中加入线的过程,例如在图1-图10中所描述的L1,2和L2,4之间加入箭头的过程。本处不再做过多赘述。
可选地,在上述图11对应的实施例或图11对应的可选实施例的基础上,本发明实施例提供的确定中间路由节点的方法的另一实施例中,所述确定用于在所述两个路由节点间中转待传输数据的至少一个中间路由节点,可以包括:
获取与所述两个路由节点中源路由节点无故障通信连接的路由节点的信息,作为第一信息集合;
获取与所述两个路由节点中目的路由节点无故障通信连接的路由节点的信息,作为第二信息集合,并计算所述第一信息集合与所述第二信息集合的交集;
将所述交集中所包含的路由节点的信息所对应的路由节点,确定为所述至少一个中间路由节点。
本发明实施例所描述的过程为上述图1-图10中所描述的步骤2至步骤4的过程,本处不再做过多赘述。
可选地,在上述图11对应的实施例或图11对应的可选实施例的基础上,本发明实施例提供的确定中间路由节点的方法的另一实施例中,所述将待验证中间路由节点与所述两个路由节点间的通道依赖关系,加入到本次故障前路由网络的通道依赖图使之成为更新后的通道依赖图之前,所述方法还可以包括:
获取上一次加入通道依赖关系时得到的不包含依赖关系环的通道依赖图,作为所述本次故障前路由网络的通道依赖图。
本发明实施例中所描述的本次故障前路由网络的通道依赖图是上次通道依赖图更新时保存的,只需直接读取即可,可以提高得到更新后的通道依赖图的效率。
可选地,在上述图11对应的实施例或图11对应的可选实施例的基础上,本发明实施例提供的确定中间路由节点的方法的另一实施例中,所述方法还可以 包括:
向所述两个路由节点中的源路由节点发送所述最终中间路由节点的描述信息,以便于所述源路由节点向所述最终中间路由节点发送所述待传输数据。
本发明实施例中,源路由节点在得到最终中间路由节点的描述信息后,可以直接根据该最终中间路由节点的描述信息发送待传输数据,而且本发明实施例所提供的路由网络只需要源路由节点到最终中间路由节点,以及最终中间路由节点到目的路由节点之间的通信路径,不需要其他通信路径一直处于闲置准备状态,从而提高了路由网络的资源利用率。
参阅图12,本发明实施例提供的确定中间路由节点的装置20的一实施例包括:
第一确定单元201,用于在两个路由节点间的通信路径存在故障时,确定用于在所述两个路由节点间中转待传输数据的至少一个中间路由节点;
通道依赖图更新单元202,用于将待验证中间路由节点与所述两个路由节点间的通道依赖关系,加入到本次故障前路由网络的通道依赖图使之成为更新后的通道依赖图,其中,所述待验证中间路由节点为所述确定单元确定的所述至少一个中间路由节点中的任意一个,所述通道依赖关系为所述两个路由节点通过所述待验证中间路由节点进行数据传输的通道组合,所述本次故障前路由网络的通道依赖图用于描述本次故障前所述路由网络中任意两个路由节点所构成的通道,或者与故障前已建立的通道依赖关系的组合;
第二确定单元203,用于当所述通道依赖图更新单元202所更新的所述更新后的通道依赖图中没有依赖关系环时,则将所述待验证中间路由节点确定为用于中转待传输数据的最终中间路由节点,所述依赖关系环为通道依赖关系组合所形成的环。
本发明实施例中,第一确定单元201在两个路由节点间的通信路径存在故障时,确定用于在所述两个路由节点间中转待传输数据的至少一个中间路由节点,通道依赖图更新单元202将待验证中间路由节点与所述两个路由节点间的通道依赖关系,加入到本次故障前路由网络的通道依赖图使之成为更新后的通道依赖图,其中,所述待验证中间路由节点为所述确定单元确定的所述至少一个中间路由节点中的任意一个,所述通道依赖关系为所述两个路由节点通过所述待验证中间路由节点进行数据传输的通道组合,所述本次故障前路由网络的通道 依赖图用于描述本次故障前所述路由网络中任意两个路由节点所构成的通道,或者与故障前已建立的通道依赖关系的组合,第二确定单元203当所述通道依赖图更新单元202所更新的所述更新后的通道依赖图中没有依赖关系环时,则将所述待验证中间路由节点确定为用于中转待传输数据的最终中间路由节点,所述依赖关系环为通道依赖关系组合所形成的环。与现有技术中为了路由无死锁,需要依赖多条虚拟通道才能实现数据中转相比,本发明实施例提供的装置,在确定中间路由节点前验证所述中间路由节点在通道依赖图上是否成依赖关系环,可以确定一个不会在通道依赖图上出现依赖关系环的中间路由节点,通过一个中间路由节点就可以实现两个路由节点通信故障时的待传输数据中转,不需要多条虚拟通道处于闲置准备状态,从而提高了路由网络资源的利用率。从而,在相同的资源下网络,本方案的容错能力更强,网络性能更好。
可选地,在上述图12对应的实施例的基础上,参阅图13,本发明实施例提供的确定中间路由节点的装置20的另一实施例中,所述通道依赖图更新单元202,包括:
查找子单元2021,用于按照所述待传输数据的传输方向,在所述本次故障前路由网络的通道依赖图中查找到所述两个路由节点中的源路由节点与所述待验证中间路由节点的路径中的最后一条通道,以及所述待验证中间路由节点与所述两个路由节点中的目的路由节点的路径中的第一条通道;
确定子单元2022,用于将所述查找子单元2021查找的所述源路由节点与所述待验证中间路由节点的路径中的最后一条通道确定为依赖起始通道,将所述待验证中间路由节点与所述目的路由节点的路径中的第一条通道确定为依赖结束通道;
建立子单元2023,用于在所述本次故障前路由网络的通道依赖图中加入所述确定子单元2022确定的所述依赖起始通道到所述依赖结束通道的通道依赖关系,使所述本次故障前路由网络的通道依赖图成为更新后的通道依赖图。
可选地,在上述图10对应的实施例的基础上,参阅图14,本发明实施例提供的确定中间路由节点的装置20的另一实施例中,所述第一确定单元201,包括:
第一获取子单元2011,用于获取与所述两个路由节点中源路由节点无故障通信连接的路由节点的信息,作为第一信息集合;
第二获取子单元2012,用于获取与所述两个路由节点中目的路由节点无故 障通信连接的路由节点的信息,作为第二信息集合;
计算子单元2013,用于计算所述第一获取子单元2011获取的所述第一信息集合与所述第二获取子单元2012获取的第二信息集合的交集;
确定子单元2014,用于将所述计算子单元2013计算的交集中所包含的路由节点的信息所对应的路由节点,确定为所述至少一个中间路由节点。
可选地,在上述图12对应的实施例的基础上,参阅图15,本发明实施例提供的确定中间路由节点的装置20的另一实施例中,所述装置20还包括:
获取单元204,用于在所述通道依赖图更新单元202更新所述本次故障前路由网络的通道依赖图之前,获取上一次加入通道依赖关系时得到的不包含依赖关系环的通道依赖图,作为所述本次故障前路由网络的通道依赖图。
可选地,在上述图12对应的实施例的基础上,参阅图16,本发明实施例提供的确定中间路由节点的装置20的另一实施例中,所述装置20还包括:
发送单元205,用于向所述两个路由节点中的源路由节点发送所述第二确定单元203确定的所述最终中间路由节点的描述信息,以便于所述源路由节点向所述最终中间路由节点发送所述待传输数据。
图17是本发明实施例确定中间路由节点的装置20的结构示意图。确定中间路由节点的装置20可包括输入设备210、输出设备220、处理器230和存储器240。
存储器240可以包括只读存储器和随机存取存储器,并向处理器230提供指令和数据。存储器240的一部分还可以包括非易失性随机存取存储器(NVRAM)。
存储器240存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,处理器230通过调用存储器240存储的操作指令(该操作指令可存储在操作系统中),执行如下操作:
在两个路由节点间的通信路径存在故障时,确定用于在所述两个路由节点间中转待传输数据的至少一个中间路由节点;
将待验证中间路由节点与所述两个路由节点间的通道依赖关系,加入到本次故障前路由网络的通道依赖图使之成为更新后的通道依赖图,其中,所述待 验证中间路由节点为所述至少一个中间路由节点中的任意一个,所述通道依赖关系为所述两个路由节点通过所述待验证中间路由节点进行数据传输的通道组合,所述本次故障前路由网络的通道依赖图用于描述本次故障前所述路由网络中任意两个路由节点所构成的通道,或者与故障前已建立的通道依赖关系的组合;
当所述更新后的通道依赖图中没有依赖关系环时,则将所述待验证中间路由节点确定为用于中转待传输数据的最终中间路由节点,所述依赖关系环为通道依赖关系组合所形成的环。
本发明实施例中,确定中间路由节点的装置20在确定中间路由节点前验证所述中间路由节点在通道依赖图上是否成依赖关系环,这样可以确定一个不会在通道依赖图上出现依赖关系环的中间路由节点,通过一个中间路由节点就可以实现两个路由节点通信故障时的待传输数据中转,不需要多条虚拟通道处于闲置准备状态,从而提高了路由网络资源的利用率。从而,在相同的资源下网络,本方案的容错能力更强,网络性能更好。
处理器230控制确定中间路由节点的装置20的操作,处理器230还可以称为CPU(Central Processing Unit,中央处理单元)。存储器240可以包括只读存储器和随机存取存储器,并向处理器230提供指令和数据。存储器240的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中,确定中间路由节点的装置20的各个组件通过总线系统250耦合在一起,其中总线系统250除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统250。
上述本发明实施例揭示的方法可以应用于处理器230中,或者由处理器230实现。处理器230可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器230中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器230可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块 组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器240,处理器230读取存储器240中的信息,结合其硬件完成上述方法的步骤。
可选地,处理器230具体可:
按照所述待传输数据的传输方向,在所述本次故障前路由网络的通道依赖图中查找到所述两个路由节点中的源路由节点与所述待验证中间路由节点的路径中的最后一条通道,以及所述待验证中间路由节点与所述两个路由节点中的目的路由节点的路径中的第一条通道;
将所述源路由节点与所述待验证中间路由节点的路径中的最后一条通道确定为依赖起始通道,将所述待验证中间路由节点与所述目的路由节点的路径中的第一条通道确定为依赖结束通道;
在所述本次故障前路由网络的通道依赖图中加入所述依赖起始通道到所述依赖结束通道的通信依赖关系,使所述本次故障前路由网络的通道依赖图成为更新后的通道依赖图。
可选地,处理器230具体可:
获取与所述两个路由节点中源路由节点无故障通信连接的路由节点的信息,作为第一信息集合;
获取与所述两个路由节点中目的路由节点无故障通信连接的路由节点的信息,作为第二信息集合,并计算所述第一信息集合与所述第二信息集合的交集;
将所述交集中所包含的路由节点的信息所对应的路由节点,确定为所述至少一个中间路由节点。
可选地,处理器230还可:
将待验证中间路由节点与所述两个路由节点间的通道依赖关系,加入到本次故障前路由网络的通道依赖图使之成为更新后的通道依赖图之前,获取上一次加入通道依赖关系时得到的不包含依赖关系环的通道依赖图,作为所述本次故障前路由网络的通道依赖图。
可选地,输出设备220可用于向所述两个路由节点中的源路由节点发送所述中间路由节点的描述信息,以便于所述源路由节点向所述中间路由节点发送所述待传输数据。
参阅图18,本发明实施例提供的路由控制系统的一实施例包括:路由节点30和管理节点40,所述路由节点30中的任意两个路由节点按照网络拓扑定义的方式通信连接,所述管理节点40与所述路由节点中的任意一个路由节点均存在通信连接;
图18中只画出了几个路由节点30,实际上,路由节点30可以有很多个,可以理解的是图中未全部画出。
所述管理节点40,用于在两个路由节点间的通信路径存在故障时,确定用于在所述两个路由节点间中转待传输数据的至少一个中间路由节点,将待验证中间路由节点与所述两个路由节点间的通道依赖关系,加入到本次故障前路由网络的通道依赖图使之成为更新后的通道依赖图,其中,所述待验证中间路由节点为所述至少一个中间路由节点中的任意一个,所述通道依赖关系为所述两个路由节点通过所述待验证中间路由节点进行数据传输的通道组合,所述本次故障前路由网络的通道依赖图用于描述本次故障前所述路由网络中任意两个路由节点所构成的通道,或者与故障前已建立的通道依赖关系的组合,当所述更新后的通道依赖图中没有依赖关系环时,则将所述待验证中间路由节点确定为用于中转待传输数据的最终中间路由节点,所述依赖关系环为通道依赖关系组合所形成的环。
与现有技术中为了避免路由无死锁,需要依赖多条虚拟通道才能实现数据中转相比,本发明实施例提供的方法,在确定中间路由节点前验证所述中间路由节点在通道依赖图上是否成依赖关系环,可以确定一个不会在通道依赖图上出现依赖关系环的中间路由节点,通过一个中间路由节点就可以实现两个路由节点通信故障时的待传输数据中转,不需要多条虚拟通道处于闲置准备状态,从而提高了路由网络资源的利用率。从而,在相同的资源下网络,本方案的容错能力更强,网络性能更好。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本发明实施例所提供的确定中间路由节点的方法、装置以及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于 本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (11)

  1. 一种确定中间路由节点的方法,其特征在于,包括:
    在两个路由节点间的通信路径存在故障时,确定用于在所述两个路由节点间中转待传输数据的至少一个中间路由节点;
    将待验证中间路由节点与所述两个路由节点间的通道依赖关系,加入到本次故障前路由网络的通道依赖图使之成为更新后的通道依赖图,其中,所述待验证中间路由节点为所述至少一个中间路由节点中的任意一个,所述通道依赖关系为所述两个路由节点通过所述待验证中间路由节点进行数据传输的通道组合,所述本次故障前路由网络的通道依赖图用于描述本次故障前所述路由网络中任意两个通道所构成的依赖关系,或者与故障前已建立的通道依赖关系的组合;
    当所述更新后的通道依赖图中没有依赖关系环时,则将所述待验证中间路由节点确定为用于中转待传输数据的最终中间路由节点,所述依赖关系环为通道依赖关系组合所形成的环。
  2. 根据权利要求1所述的方法,其特征在于,所述将待验证中间路由节点与所述两个路由节点间的通道依赖关系,加入到本次故障前路由网络的通道依赖图使之成为更新后的通道依赖图,包括:
    按照所述待传输数据的传输方向,在所述本次故障前路由网络的通道依赖图中查找到所述两个路由节点中的源路由节点与所述待验证中间路由节点的路径中的最后一条通道,以及所述待验证中间路由节点与所述两个路由节点中的目的路由节点的路径中的第一条通道;
    将所述源路由节点与所述待验证中间路由节点的路径中的最后一条通道确定为依赖起始通道,将所述待验证中间路由节点与所述目的路由节点的路径中的第一条通道确定为依赖结束通道;
    在所述本次故障前路由网络的通道依赖图中加入所述依赖起始通道到所述依赖结束通道的通信依赖关系,使所述本次故障前路由网络的通道依赖图成为更新后的通道依赖图。
  3. 根据权利要求1或2所述的方法,其特征在于,所述确定用于在所述两个路由节点间中转待传输数据的至少一个中间路由节点,包括:
    获取与所述两个路由节点中源路由节点无故障通信连接的路由节点的信息,作为第一信息集合;
    获取与所述两个路由节点中目的路由节点无故障通信连接的路由节点的信息,作为第二信息集合,并计算所述第一信息集合与所述第二信息集合的交集;
    将所述交集中所包含的路由节点的信息所对应的路由节点,确定为所述至少一个中间路由节点。
  4. 根据权利要求1或2所述的方法,其特征在于,所述将待验证中间路由节点与所述两个路由节点间的通道依赖关系,加入到本次故障前路由网络的通道依赖图使之成为更新后的通道依赖图之前,所述方法还包括:
    获取上一次加入通道依赖关系时得到的不包含依赖关系环的通道依赖图,作为所述本次故障前路由网络的通道依赖图。
  5. 根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
    向所述两个路由节点中的源路由节点发送所述最终中间路由节点的描述信息,以便于所述源路由节点向所述最终中间路由节点发送所述待传输数据。
  6. 一种确定中间路由节点的装置,其特征在于,包括:
    第一确定单元,用于在两个路由节点间的通信路径存在故障时,确定用于在所述两个路由节点间中转待传输数据的至少一个中间路由节点;
    通道依赖图更新单元,用于将待验证中间路由节点与所述两个路由节点间的通道依赖关系,加入到本次故障前路由网络的通道依赖图使之成为更新后的通道依赖图,其中,所述待验证中间路由节点为所述确定单元确定的所述至少一个中间路由节点中的任意一个,所述通道依赖关系为所述两个路由节点通过所述待验证中间路由节点进行数据传输的通道组合,所述本次故障前路由网络的通道依赖图用于描述本次故障前所述路由网络中任意两个通道所构成的依赖关系,或者与故障前已建立的通道依赖关系的组合;
    第二确定单元,用于当所述通道依赖图更新单元所更新的所述更新后的通道依赖图中没有依赖关系环时,则将所述待验证中间路由节点确定为用于中转待传输数据的最终中间路由节点,所述依赖关系环为通道依赖关系组合所形成的环。
  7. 根据权利要求6所述的装置,其特征在于,所述通道依赖图更新单元,包括:
    查找子单元,用于按照所述待传输数据的传输方向,在所述本次故障前路由网络的通道依赖图中查找到所述两个路由节点中的源路由节点与所述待验证中间路由节点的路径中的最后一条通道,以及所述待验证中间路由节点与所述两个路由节点中的目的路由节点的路径中的第一条通道;
    确定子单元,用于将所述查找子单元查找的所述源路由节点与所述待验证中间路由节点的路径中的最后一条通道确定为依赖起始通道,将所述待验证中间路由节点与所述目的路由节点的路径中的第一条通道确定为依赖结束通道;
    建立子单元,用于在所述本次故障前路由网络的通道依赖图中加入所述确定子单元确定的所述依赖起始通道到所述依赖结束通道的通道依赖关系,使所述本次故障前路由网络的通道依赖图成为更新后的通道依赖图。
  8. 根据权利要求6或7所述的装置,其特征在于,所述第一确定单元,包括:
    第一获取子单元,用于获取与所述两个路由节点中源路由节点无故障通信连接的路由节点的信息,作为第一信息集合;
    第二获取子单元,用于获取与所述两个路由节点中目的路由节点无故障通信连接的路由节点的信息,作为第二信息集合;
    计算子单元,用于计算所述第一获取子单元获取的所述第一信息集合与所述第二获取子单元获取的第二信息集合的交集;
    确定子单元,用于将所述计算子单元计算的交集中所包含的路由节点的信息所对应的路由节点,确定为所述至少一个中间路由节点。
  9. 根据权利要求6或7所述的装置,其特征在于,所述装置还包括:
    获取单元,用于在所述通道依赖图更新单元更新所述本次故障前路由网络的通道依赖图之前,获取上一次加入通道依赖关系时得到的不包含依赖关系环的通道依赖图,作为所述本次故障前路由网络的通道依赖图。
  10. 根据权利要求6或7所述的装置,其特征在于,所述装置还包括:
    发送单元,用于向所述两个路由节点中的源路由节点发送所述第二确定单元确定的所述最终中间路由节点的描述信息,以便于所述源路由节点向所述最终中间路由节点发送所述待传输数据。
  11. 一种路由控制系统,其特征在于,包括:路由节点和管理节点,所述路由节点按照网络拓扑定义的方式通信连接,所述管理节点与所述路由节点中的任意一个路由节点均存在通信连接;
    所述管理节点,用于在两个路由节点间的通信路径存在故障时,确定用于在所述两个路由节点间中转待传输数据的至少一个中间路由节点,将待验证中间路由节点与所述两个路由节点间的通道依赖关系,加入到本次故障前路由网络的通道依赖图使之成为更新后的通道依赖图,其中,所述待验证中间路由节点为所述至少一个中间路由节点中的任意一个,所述通道依赖关系为所述两个路由节点通过所述待验证中间路由节点进行数据传输的通道组合,所述本次故障前路由网络的通道依赖图用于描述本次故障前所述路由网络中任意两个路由节点所构成的通道,或者与故障前已建立的通道依赖关系的组合,当所述更新后的通道依赖图中没有依赖关系环时,则将所述待验证中间路由节点确定为用于中转待传输数据的最终中间路由节点,所述依赖关系环为通道依赖关系组合所形成的环。
PCT/CN2015/070038 2014-04-30 2015-01-04 一种确定中间路由节点的方法、装置及系统 WO2015165280A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP15785832.5A EP3125478B1 (en) 2014-04-30 2015-01-04 Method, device, and system for determining intermediate routing node
US15/333,500 US9906435B2 (en) 2014-04-30 2016-10-25 Method and apparatus for determining intermediate routing node and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410182254.XA CN105099904B (zh) 2014-04-30 2014-04-30 一种确定中间路由节点的方法、装置及系统
CN201410182254.X 2014-04-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/333,500 Continuation US9906435B2 (en) 2014-04-30 2016-10-25 Method and apparatus for determining intermediate routing node and system

Publications (1)

Publication Number Publication Date
WO2015165280A1 true WO2015165280A1 (zh) 2015-11-05

Family

ID=54358138

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/070038 WO2015165280A1 (zh) 2014-04-30 2015-01-04 一种确定中间路由节点的方法、装置及系统

Country Status (4)

Country Link
US (1) US9906435B2 (zh)
EP (1) EP3125478B1 (zh)
CN (1) CN105099904B (zh)
WO (1) WO2015165280A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108292213A (zh) * 2015-12-07 2018-07-17 微软技术许可有限责任公司 更新依赖服务

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111294226B (zh) * 2018-12-10 2023-05-09 华为技术有限公司 通信方法和装置
CN113076129B (zh) * 2021-03-23 2023-11-28 成都安恒信息技术有限公司 一种复杂配置依赖关系自动检查处理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4933933A (en) * 1986-12-19 1990-06-12 The California Institute Of Technology Torus routing chip
CN102761475A (zh) * 2012-03-27 2012-10-31 西安交通大学 一种基于通道依赖关系图的片上互联网络容错路由方法
CN103179034A (zh) * 2011-12-22 2013-06-26 清华大学 无死锁自适应路由方法
US20140068132A1 (en) * 2012-08-30 2014-03-06 Netspeed Systems Automatic construction of deadlock free interconnects

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100414878C (zh) * 2002-09-23 2008-08-27 华为技术有限公司 基于异步传输模式的网络互连管理实现方法
GB2421158B (en) * 2003-10-03 2007-07-11 Avici Systems Inc Rapid alternate paths for network destinations
US9088502B2 (en) 2011-05-23 2015-07-21 Cisco Technology, Inc. Generating a loop-free routing topology using routing arcs
CN102546425B (zh) * 2012-01-31 2014-11-05 华为技术有限公司 相交环保护方法、设备和系统
US9178798B2 (en) 2012-05-09 2015-11-03 Juniper Networks, Inc. Fast reroute using loop free alternate next hops for multipoint label switched paths
US9485136B2 (en) * 2013-12-09 2016-11-01 Cisco Technology, Inc. Repair of failed network routing arcs using data plane protocol

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4933933A (en) * 1986-12-19 1990-06-12 The California Institute Of Technology Torus routing chip
CN103179034A (zh) * 2011-12-22 2013-06-26 清华大学 无死锁自适应路由方法
CN102761475A (zh) * 2012-03-27 2012-10-31 西安交通大学 一种基于通道依赖关系图的片上互联网络容错路由方法
US20140068132A1 (en) * 2012-08-30 2014-03-06 Netspeed Systems Automatic construction of deadlock free interconnects

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3125478A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108292213A (zh) * 2015-12-07 2018-07-17 微软技术许可有限责任公司 更新依赖服务
US10949194B2 (en) 2015-12-07 2021-03-16 Microsoft Technology Licensing, Llc Updating dependent services
CN108292213B (zh) * 2015-12-07 2021-06-08 微软技术许可有限责任公司 更新依赖服务

Also Published As

Publication number Publication date
EP3125478A4 (en) 2017-04-26
EP3125478B1 (en) 2018-03-07
US9906435B2 (en) 2018-02-27
EP3125478A1 (en) 2017-02-01
CN105099904A (zh) 2015-11-25
CN105099904B (zh) 2018-06-05
US20170041216A1 (en) 2017-02-09

Similar Documents

Publication Publication Date Title
US8379645B2 (en) Link data transmission method, node and system
WO2021077768A1 (zh) 路由信息的处理方法和装置
US11818038B2 (en) Initiator-based data-plane validation for segment routed, multiprotocol label switched (MPLS) networks
EP3213441B1 (en) Redundancy for port extender chains
US11431619B2 (en) Hierarchical ECMP control plane for dense topologies
WO2019105360A1 (zh) 数据传输方法、相关装置及网络
WO2020134827A1 (zh) 一种用于片上网络的路径创建方法、装置及电子设备
US9906435B2 (en) Method and apparatus for determining intermediate routing node and system
US11223559B2 (en) Determining connectivity between compute nodes in multi-hop paths
CN107547374B (zh) 一种聚合路由处理方法和装置
CN107770027B (zh) 一种基于OpenStack架构提供GRE隧道服务的实现方法
CN107181689B (zh) 路由器之间的消息交互方法和装置
WO2018004931A1 (en) Techniques for virtual ethernet switching of a multi-node fabric
CN113261249A (zh) 一种数据传输方法、相关设备及计算机存储介质
WO2019119269A1 (zh) 一种网络故障探测方法及控制中心设备
CN111628883B (zh) 在具有入网点的数据中心中部署网络配置的方法
CN116915708A (zh) 路由数据包的方法、处理器及可读存储介质
Marcon et al. Phoenix NoC: A distributed fault tolerant architecture
CN108390780B (zh) 用于处理信息的方法和装置
US10067816B2 (en) Model checking apparatus and method, and storage medium having program stored therein
CN114221899B (zh) 一种故障处理方法及装置
CN109688060B (zh) 链路分组配置方法、装置及路由器
CN111385182B (zh) 流量的传输方法及装置,系统
CN118101552A (zh) 一种故障处理方法、装置、设备及存储介质
WO2020177471A1 (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: 15785832

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2015785832

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015785832

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE