CN111404822A - Data transmission method, device, equipment and computer readable storage medium - Google Patents

Data transmission method, device, equipment and computer readable storage medium Download PDF

Info

Publication number
CN111404822A
CN111404822A CN202010128210.4A CN202010128210A CN111404822A CN 111404822 A CN111404822 A CN 111404822A CN 202010128210 A CN202010128210 A CN 202010128210A CN 111404822 A CN111404822 A CN 111404822A
Authority
CN
China
Prior art keywords
node
forwarding
state
information
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010128210.4A
Other languages
Chinese (zh)
Other versions
CN111404822B (en
Inventor
胡中华
郭建军
李凤凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010128210.4A priority Critical patent/CN111404822B/en
Publication of CN111404822A publication Critical patent/CN111404822A/en
Application granted granted Critical
Publication of CN111404822B publication Critical patent/CN111404822B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • 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/28Routing or path finding of packets in data switching networks using route fault recovery

Abstract

The application discloses a data transmission method, a data transmission device, data transmission equipment and a computer readable storage medium, and belongs to the technical field of information. According to the method, the data generation node acquires the first state information of any forwarding node on the first forwarding path, and can determine that the forwarding node has a fault, the data generation node can determine a second forwarding path for the data stream transmitted on the first forwarding path according to the acquired first state information, and transmit the data stream on the second forwarding path.

Description

Data transmission method, device, equipment and computer readable storage medium
Technical Field
The present application relates to the field of information technology, and in particular, to a data transmission method, apparatus, device, and computer-readable storage medium.
Background
The centralized control management type network can comprise data generation nodes, control nodes and forwarding nodes, and data streams generated by the data generation nodes can be transmitted among the forwarding nodes according to forwarding paths determined by the control nodes so as to meet user requirements.
At present, a control node may obtain topology information of the centralized control management network, allocate a forwarding path for a data stream generated by a data generation node according to the topology information, and send routing information of the forwarding path of the data stream to each forwarding node on the forwarding path, so that each forwarding node on the forwarding path may transmit the data stream according to the routing information of the forwarding path sent by the control node when receiving the data stream.
Because the forwarding node only transmits the data stream according to the routing information of the forwarding path issued by the control node, once the next forwarding node of the forwarding node on the forwarding path fails, if the forwarding node still transmits the data stream to the failed forwarding node, the data stream will be blocked at the failed forwarding node.
Disclosure of Invention
The embodiment of the application provides a data transmission method, a data transmission device, data transmission equipment and a computer readable storage medium, which can avoid the data stream from being blocked at a fault forwarding node. The technical scheme is as follows:
in a first aspect, a data transmission method is provided, which is applied to a data generation node, and includes:
acquiring first state information of any forwarding node on a first forwarding path, determining a second forwarding path of a data stream according to the first state information, and transmitting the data stream on the second forwarding path;
the data generation node is configured to generate a data stream, and plan a forwarding path for the generated data stream, where a process of the data generation node generating the data stream may be: for the application data stream generated by the application program in the data generation node, the data generation node may determine, according to the stream identifier carried by the application data stream, a forwarding path planned for the application data stream from among the multiple forwarding paths, and add the routing information of the forwarding path planned for the application data stream to the application data stream, to obtain the data stream generated by the data generation node. In a possible implementation manner, an application program in the data generation node sends the application data stream to an intelligent network card in the data generation node, and the intelligent network card determines a forwarding path planned for the application data stream from a plurality of forwarding paths according to a stream identifier carried by the application data stream, and adds routing information of the forwarding path planned for the application data stream to obtain the data stream generated by the data generation node.
The first forwarding path is configured to transmit the data stream, where the data stream may be a data stream generated by the data generating node, the first state information is used to indicate that the forwarding node fails, a node state of each forwarding node on the second forwarding path is a normal state, and the normal state is used to indicate that the forwarding node can forward the data stream normally.
Based on the above implementation manner, the data generating node may determine that the forwarding node fails by acquiring the first state information of any forwarding node on the first forwarding path, and then the data generating node may determine, according to the acquired first state information, a second forwarding path for the data stream transmitted on the first forwarding path and transmit the data stream on the second forwarding path. And the data generation node can determine the second forwarding path of the data stream generated by the data generation node according to the topological connection information of the target forwarding nodes, and the data stream generated by each data generation node by the control node is not needed to determine the forwarding path, so that the workload of the control node is reduced, and the coordination capacity of the data transmission system is improved.
In a possible implementation manner, the first state information includes a failure state of the forwarding node and a first state occurrence time, where the failure state is used to indicate that the forwarding node fails, and the first state occurrence time is a time when the forwarding node fails.
In a possible implementation manner, the determining, according to the first state information, a second forwarding path of the data flow includes:
and when the first state occurrence time is longer than the state occurrence time of the stored state of the forwarding node, determining the second forwarding path according to the topological connection information of a plurality of target forwarding nodes, wherein the stored state is used for representing the node state of the forwarding node which is stored currently, and the node states of the plurality of target forwarding nodes are normal states.
In a possible implementation manner, the obtaining the first state information of any forwarding node on the first forwarding path includes:
receiving first state information of the forwarding node sent by a control node; or the like, or, alternatively,
receiving the data stream which carries first state occurrence time and is returned by the forwarding node, wherein the first state occurrence time is the time when the forwarding node fails; and acquiring first state information of the forwarding node based on the received data stream carrying the first state occurrence time.
In a possible implementation manner, after obtaining the first state information of any forwarding node on the first forwarding path, the method further includes:
updating the stored state when the first state occurrence time is greater than the state occurrence time of the stored state.
In one possible implementation, the updating the stored state includes:
modifying the stored state to the fault state.
In one possible implementation, the method further includes:
when the first state occurrence time is less than or equal to the state occurrence time of the stored state, the stored state is not updated.
In a possible implementation manner, after receiving the data stream carrying the first state occurrence time returned by the forwarding node, the method further includes:
and sending fault information of the forwarding node to a control node, wherein the fault information comprises the fault state and the first state occurrence time.
Based on the possible implementation manner, the data generation node may report the node state of the failure forwarding node to the control node according to the data stream returned by the failure forwarding node.
In a possible implementation manner, before the obtaining the first state information of any forwarding node on the first forwarding path, the method further includes:
acquiring routing information of a first forwarding path of the data stream, wherein the routing information is used for indicating each forwarding node on the forwarding path;
adding the routing information in the data stream;
and sending the data stream carrying the routing information to a first forwarding node on the first forwarding path.
In a possible implementation manner, the process of sending the data stream carrying the routing information to the first forwarding node on the first forwarding path may be:
when the first forwarding path comprises at least one forwarding path, transmitting the data stream carrying the routing information of any forwarding path to a first forwarding node on any first forwarding path according to the routing information of any forwarding path in the at least one forwarding path; or the like, or, alternatively,
and when the first forwarding path comprises a plurality of forwarding paths, transmitting part of data in the data stream to a first forwarding node of each forwarding path in the plurality of forwarding paths according to the routing information of the plurality of forwarding paths.
In one possible implementation, the transmitting the data stream on the second forwarding path includes:
adding routing information of the second forwarding path in the data stream, wherein the routing information is used for indicating each forwarding node on the forwarding path;
and sending the data stream carrying the routing information to the first target forwarding node on the second forwarding path.
In one possible implementation, the method further includes:
receiving second state information of the forwarding node, which is sent by a control node, wherein the second state information includes a normal state of the forwarding node and second state occurrence time, and the second state occurrence time is time for recovering a failure of the forwarding node;
updating the stored state according to the second state information and the state occurrence time of the stored state of the forwarding node, wherein the stored state is used for representing the node state of the forwarding node which is stored currently.
In one possible implementation, the updating the stored state includes:
modifying the stored state to a normal state.
In one possible implementation, the method further includes:
when the second state occurrence time is less than or equal to the state occurrence time of the stored state, then the stored state is not updated.
In a second aspect, a data transmission method is provided, which is applied to a forwarding node, and includes:
receiving a data stream;
adding first state occurrence time in the data stream, wherein the first state occurrence time is the time when the forwarding node fails;
and returning the data stream carrying the first state occurrence time to a data generation node generating the data stream.
Based on the above implementation manner, when the forwarding node fails, the first state occurrence time may be directly added to the received data stream to indicate that the forwarding node fails, and the data stream carrying the first state occurrence time is returned to the data generating node.
In a possible implementation manner, the returning, to a data generation node that generates the data stream, the data stream that carries the first state occurrence time includes:
acquiring address information of the data generation node from path information carried by the data stream;
and sending the data stream carrying the first state occurrence time to the data generation node according to the address information of the data generation node.
In one possible implementation, the method further includes:
and when the forwarding node is detected to have a fault, sending fault information to a control node, wherein the fault information comprises a fault state of the forwarding node and the occurrence time of the first state, and the fault state is used for indicating that the forwarding node has the fault.
Based on the possible implementation mode, the node state of the forwarding node is not required to be tested by the neighbor node, and once the forwarding node fails, the failed forwarding node can automatically report the failure to the control node
In a possible implementation manner, after the sending of the fault information to the control node, the method further includes:
when the fault of the forwarding node is detected to be repaired, sending recovery information to the control node, wherein the recovery information comprises a normal state of the forwarding node and second state occurrence time, and the second state occurrence time is the time for recovering the fault of the forwarding node.
In one possible implementation, after receiving the data stream, the method further includes:
and when the forwarding node has no fault, transmitting the data stream to a next forwarding node of the forwarding nodes on a forwarding path indicated by the routing information according to the routing information in the data stream, wherein the routing information is used for indicating each forwarding node on the forwarding path.
Based on the possible implementation manner, the forwarding node can directly transmit the data stream according to the routing information carried by the data stream, and the routing information of the forwarding path of the data stream is determined without searching a routing table, so that the transmission efficiency of the data is improved.
In a third aspect, a data transmission method is provided, which is applied to a control node, and the method includes:
the method comprises the steps of firstly determining the node state of a forwarding node, and then sending the state information of the forwarding node to at least one data generation node, wherein the state information comprises the node state of the forwarding node and target state occurrence time, the node state is used for indicating whether the forwarding node has a fault, and the target state occurrence time is the time when the node state occurs in the forwarding node.
Based on the implementation manner, after receiving the node state of one forwarding node, the control node notifies all the data generation nodes so that all the data generation nodes can update the node state of the forwarding node in time.
In a possible implementation manner, the process of determining the node status of the forwarding node may be:
acquiring fault information of the forwarding node, and determining a node state of the forwarding node as a fault state based on the fault information, wherein the fault information includes a fault state of the forwarding node and first state occurrence time, the fault state is used for indicating that the forwarding node fails, and the first state occurrence time is time when the forwarding node fails.
In a possible implementation manner, the process of acquiring the failure information of the forwarding node may be:
receiving the fault information sent by the forwarding node; or the like, or, alternatively,
and receiving the fault information sent by any data generation node.
In a possible implementation manner, the process of determining the node status of the forwarding node may be:
and receiving recovery information sent by the forwarding node, and determining the node state of the forwarding node as a normal state based on the recovery information, wherein the recovery information comprises the normal state of the forwarding node and second state occurrence time, and the second state occurrence time is the time for recovering the forwarding node from the fault.
In one possible implementation, the method further includes:
receiving state information of the forwarding node;
acquiring state occurrence time of a stored state of the forwarding node, wherein the stored state is used for representing a node state of the forwarding node which is stored currently;
updating the stored state based on the state information and a state occurrence time of the stored state;
and sending the updated node state of the forwarding node to the at least one data generation node.
In one possible implementation, the updating the stored state based on the state information and the state occurrence time of the stored state includes:
and when the target state occurrence time is longer than the state occurrence time of the stored state, modifying the stored state into the node state in the state information.
In one possible implementation, the method further includes:
when the target state occurrence time is less than or equal to the state occurrence time of the stored state, the stored state is not updated.
In a fourth aspect, a data transmission apparatus is provided, where the apparatus is a data generation node, and the apparatus includes:
an obtaining unit, configured to obtain first state information of any forwarding node on a first forwarding path, where the first forwarding path is used to transmit a data stream, and the first state information is used to indicate that the forwarding node fails;
a determining unit, configured to determine a second forwarding path of the data stream according to the first state information, where a node state of each forwarding node on the second forwarding path is a normal state;
a transmission unit, configured to transmit the data stream on the second forwarding path.
In a possible implementation manner, the first state information includes a failure state of the forwarding node and a first state occurrence time, where the failure state is used to indicate that the forwarding node fails, and the first state occurrence time is a time when the forwarding node fails.
In a possible implementation manner, the determining unit is configured to:
and when the first state occurrence time is longer than the state occurrence time of the stored state of the forwarding node, determining the second forwarding path according to the topological connection information of a plurality of target forwarding nodes, wherein the stored state is used for representing the node state of the forwarding node which is stored currently, and the node states of the plurality of target forwarding nodes are normal states.
In a possible implementation manner, the obtaining unit is configured to:
receiving first state information of the forwarding node sent by a control node; or the like, or, alternatively,
receiving the data stream which carries the first state occurrence time and is returned by the forwarding node; and acquiring first state information of the forwarding node based on the received data stream carrying the first state occurrence time.
In one possible implementation, the apparatus further includes:
a first updating unit for updating the stored state when the first state occurrence time is greater than the state occurrence time of the stored state.
In a possible implementation manner, the first updating unit is configured to:
modifying the stored state to the fault state;
in a possible implementation manner, the first updating unit is further configured to:
when the first state occurrence time is less than or equal to the state occurrence time of the stored state, the stored state is not updated.
In one possible implementation, the transmission unit is further configured to:
and sending fault information of the forwarding node to a control node, wherein the fault information comprises the fault state and the first state occurrence time.
In a possible implementation, the apparatus further includes an adding unit;
the obtaining unit is further configured to obtain routing information of a first forwarding path of the data stream, where the routing information is used to indicate each forwarding node on the forwarding path;
the adding unit is used for adding the routing information in the data flow;
the transmission unit is further configured to send the data stream carrying the routing information to a first forwarding node on the first forwarding path.
In one possible implementation, the transmission unit is configured to:
when the first forwarding path comprises at least one forwarding path, transmitting the data stream carrying the routing information of any forwarding path to a first forwarding node on any first forwarding path according to the routing information of any forwarding path in the at least one forwarding path; or the like, or, alternatively,
and when the first forwarding path comprises a plurality of forwarding paths, transmitting part of data in the data stream to a first forwarding node of each forwarding path in the plurality of forwarding paths according to the routing information of the plurality of forwarding paths.
In one possible implementation, the transmission unit is configured to:
adding routing information of the second forwarding path in the data stream, wherein the routing information is used for indicating each forwarding node on the forwarding path;
and sending the data stream carrying the routing information to the first target forwarding node on the second forwarding path.
In a possible implementation manner, the apparatus further includes a second updating unit;
the obtaining unit is further configured to receive second state information of the forwarding node, where the second state information is sent by a control node, and the second state information includes a normal state of the forwarding node and a second state occurrence time, where the second state occurrence time is a time for recovering from the failure of the forwarding node;
the second updating unit is configured to update the stored state of the forwarding node according to the second state information and a state occurrence time of the stored state of the forwarding node, where the stored state is used to indicate a node state of the forwarding node that is currently stored.
In a possible implementation manner, the second updating unit is configured to:
modifying the stored state to a normal state.
In a possible implementation manner, the second updating unit is further configured to:
when the second state occurrence time is less than or equal to the state occurrence time of the stored state, then the stored state is not updated.
In a fifth aspect, a data transmission apparatus is provided, where the apparatus is a forwarding node, and the apparatus includes:
a receiving unit for receiving a data stream;
an adding unit, configured to add a first state occurrence time to the data stream, where the first state occurrence time is a time when the forwarding node fails;
and the sending unit is used for returning the data stream carrying the first state occurrence time to a data generation node which generates the data stream.
In a possible implementation manner, the sending unit is configured to:
acquiring address information of the data generation node from path information carried by the data stream;
and sending the data stream carrying the first state occurrence time to the data generation node according to the address information of the data generation node.
In a possible implementation manner, the sending unit is further configured to:
and when the forwarding node is detected to have a fault, sending fault information to a control node, wherein the fault information comprises a fault state of the forwarding node and the occurrence time of the first state, and the fault state is used for indicating that the forwarding node has the fault.
In a possible implementation manner, the sending unit is further configured to:
when the fault of the forwarding node is detected to be repaired, the control node sends recovery information, wherein the recovery information comprises the normal state of the forwarding node and the second state occurrence time, and the second state occurrence time is the fault recovery time of the forwarding node.
In a possible implementation manner, the sending unit is further configured to:
and when the forwarding node has no fault, transmitting the data stream to a next forwarding node of the forwarding nodes on a forwarding path indicated by the routing information according to the routing information in the data stream, wherein the routing information is used for indicating each forwarding node on the forwarding path.
In a sixth aspect, there is provided a data transmission apparatus, the apparatus being a control node, the apparatus comprising:
a determining unit, configured to determine a node status of a forwarding node, where the node status is used to indicate whether the forwarding node fails;
a sending unit, configured to send state information of the forwarding node to at least one data generation node, where the state information includes the node state and target state occurrence time, and the target state occurrence time is time when the node state occurs in the forwarding node.
In one possible implementation manner, the determining unit includes:
an obtaining subunit, configured to obtain fault information of the forwarding node, where the fault information includes a fault state of the forwarding node and a first state occurrence time, the fault state is used to indicate that the forwarding node fails, and the first state occurrence time is time when the forwarding node fails;
and the determining subunit is configured to determine, based on the fault information, the node state of the forwarding node as a fault state.
In one possible implementation manner, the obtaining subunit is configured to:
receiving the fault information sent by the forwarding node; or the like, or, alternatively,
and receiving the fault information sent by any data generation node.
In a possible implementation manner, the determining unit is configured to:
receiving recovery information sent by the forwarding node, wherein the recovery information comprises a normal state of the forwarding node and second state occurrence time, and the second state occurrence time is the time for recovering the forwarding node from the fault;
determining the node status of the forwarding node as the normal status based on the restoration information.
In one possible implementation, the apparatus further includes:
a receiving unit, configured to receive state information of the forwarding node;
the receiving unit is further configured to acquire a state occurrence time of a stored state of the forwarding node, where the stored state is used to indicate a node state of the forwarding node that has been currently stored;
an updating unit configured to update the stored state based on the state information and a state occurrence time of the stored state;
the sending unit is further configured to send the updated node status of the forwarding node to the at least one data generating node.
In a possible implementation manner, the updating unit is configured to:
and when the target state occurrence time is longer than the state occurrence time of the stored state, modifying the stored state into the node state in the state information.
In a possible implementation manner, the updating unit is further configured to:
when the target state occurrence time is less than or equal to the state occurrence time of the stored state, the stored state is not updated.
In a seventh aspect, a computing device is provided, which includes a processor and a memory, where at least one instruction is stored in the memory, and the instruction is loaded by the processor and executed to implement the operations performed by the data transmission method according to the first aspect or any one of the optional manners of the first aspect.
In an eighth aspect, a network device is provided, which includes a processor and a memory, where at least one instruction is stored in the memory, and the instruction is loaded and executed by the processor to implement the operations performed by the data transmission method according to the second aspect or any one of the optional manners of the second aspect.
In a ninth aspect, there is provided a computing device comprising a processor and a memory, the memory having stored therein at least one instruction, the instruction being loaded and executed by the processor to perform operations performed by the data transmission method as provided in the third aspect above or any one of the alternatives to the third aspect above.
In a tenth aspect, a computer-readable storage medium is provided, in which at least one instruction is stored, and the instruction is loaded and executed by a processor to implement the operations performed by the data transmission method as described above.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a schematic diagram of a data transmission system provided in an embodiment of the present application;
fig. 2 is a schematic diagram of another data transmission system provided in an embodiment of the present application;
FIG. 3 is a schematic structural diagram of a computing device according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of a network device according to an embodiment of the present application;
fig. 5 is a flowchart of a data transmission method provided in an embodiment of the present application;
fig. 6 is a flowchart of a data transmission method provided in an embodiment of the present application;
fig. 7 is a flowchart of another data transmission method provided in the embodiments of the present application;
fig. 8 is a flowchart of a node status notification method according to an embodiment of the present application;
fig. 9 is a flowchart of updating a node state according to an embodiment of the present application;
fig. 10 is a schematic structural diagram of a data transmission device according to an embodiment of the present application;
fig. 11 is a schematic structural diagram of a data transmission device according to an embodiment of the present application;
fig. 12 is a schematic structural diagram of a data transmission device according to an embodiment of the present application.
Detailed Description
To make the objects, technical solutions and advantages of the present application more clear, embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
Fig. 1 is a schematic diagram of a data transmission system provided in an embodiment of the present application, and referring to fig. 1, the data transmission system 100 may include a plurality of forwarding nodes 101, a control node 102, and a plurality of data generation nodes 103 (e.g., data generation nodes 103a to 103c in fig. 1). Each forwarding node 101 may have a control interface and at least one data interface, and each forwarding node 101 may be connected to the control node through the control interface, so that the control interfaces of the multiple forwarding nodes may form a control plane of the data transmission system 100, and the forwarding node 101 may report local connection information, failure information, and recovery information to the control node 102 through the control interface. The local connection information is also the connection information of the forwarding node, and the connection information of one forwarding node is used for indicating the forwarding node connected with the forwarding node; the fault information is used for indicating that the forwarding node has a fault; the restoration information is used to indicate that the failure occurred at the forwarding node has been repaired. Wherein, forwarding node 101 sends failure information to control node 102, that is, forwarding node 101 reports a failure to control node 102, and forwarding node 101 sends recovery information to control node 102, that is, forwarding node 101 reports failure recovery to control node 102.
Each forwarding node 101 may be connected to at least one other forwarding node 101 through a data interface, and may also be connected to at least one data generating node 103, so that the connection between the data interfaces may constitute a data plane of the data transmission system 100. Data streams may be transmitted between forwarding node 101 and between forwarding node 101 and data generating node 103 through data interfaces, that is, data streams are transmitted on a data plane. When any forwarding node 101 fails, if the forwarding node 101 receives any data stream, the forwarding node 101 may return the data stream to the data generating node 103 that generates the data stream, so that the data generating node 103 may determine the node state of the forwarding node 101 as a failure state. The returned data stream is also a process of reporting a fault to the data generating node 103. The forwarding node 101 may be a network device such as a switch and a router, and the hardware form of the forwarding node 101 is not specifically limited in this embodiment of the application.
The control node 102 is configured to receive local connection information, failure information, and recovery information sent by each forwarding node 101, and determine topology connection information of the data transmission system 100 according to the connection information of each forwarding node 101, where the topology connection information of the data transmission system 100 is used to indicate a connection relationship between each node in the data transmission system 100, where the connection relationship between each node may include a connection relationship between each forwarding node 101 and a connection relationship between the forwarding node 101 and the data generating node 103. The control node 102 is also configured to issue the topology connection information to all data generating nodes 103 in the data transmission system 100. The control node 102 may also be configured to receive the fault information of the forwarding node 101 sent by the data generating node 103, determine the node state of the forwarding node 101 according to the fault information of the forwarding node 101 sent by the data generating node 103, the fault information sent by the forwarding node 101, or the recovery information sent by the forwarding node 101, and issue the node state of the forwarding node 101 to all the data generating nodes 103 in the data transmission system 100, that is, a process of state notification. In a possible implementation manner, the control node 102 may be further configured to store the node state of each forwarding node 101, update the stored node state of each forwarding node 101 according to the fault information of the forwarding node 101, the fault information and the recovery information sent by the forwarding node 101, and send the updated node state of each forwarding node 101 to each data generating node 103. The control node 102 may be a computer, a terminal, a server, and other computing devices, and the hardware form of the control node 102 is not specifically limited in this embodiment.
Each data generating node 103 is configured to generate a data stream, receive topology connection information issued by the control node 102, send the generated data stream to the forwarding node 101, and receive a data stream returned by the forwarding node 101, and modify a stored node state of the forwarding node 101 according to a node state of any forwarding node 101 issued by the control node 102 or a data stream returned by the forwarding node 101. When the data generation node 103 receives a data stream returned by any forwarding node 101, which indicates that the forwarding node 101 cannot transmit the data stream to other forwarding nodes, the forwarding node 101 fails, and the data generation node 103 may send failure information of the forwarding node 101 to the control node 102, so as to implement a process of reporting a failure. Each data generation node 103 may also determine a forwarding path for the data stream generated by itself according to the topology connection information of the forwarding node that has not failed in the data transmission system 100, and add the routing information of the determined forwarding path to the data stream, so that each forwarding node on the forwarding path may send the data stream to the next forwarding node of the forwarding node on the forwarding path based on the routing information in the data stream. In a possible implementation manner, the data generating node 103 may also directly receive node states of all forwarding nodes issued by the control node, and directly determine a forwarding path of the data stream according to the node states of all forwarding nodes issued by the control node. The data generating node 103 may be a computer, a terminal, a server, and other computing devices, and the hardware form of the data generating node 103 is not specifically limited in this embodiment of the application.
When the number of forwarding nodes 101 and data generating nodes 103 managed by the control node 102 is large, the data transmission system 100 may further include a target node 104, where the target node 104 may serve as an intermediate forwarding device for implementing communication between the control node and the forwarding nodes and between the control node and the data generating nodes, for example, a schematic diagram of another data transmission system provided in the embodiment of the present application shown in fig. 2. The data transmission system shown in fig. 2 includes n forwarding nodes 101, one control node 102, m data generating nodes 103, and a target node 104, where n and m are integers greater than 0.
When the forwarding node is in a failure state, the forwarding node is configured to send a forwarding flow packet to a target node, and the target node sends the forwarding flow packet to the forwarding sub-module 112, when the forwarding flow packet is in the failure state, the forwarding sub-module 112 may send the forwarding flow packet to the forwarding sub-module 112, and when the forwarding flow packet is in the failure state, the forwarding flow packet is sent to the forwarding sub-module 114.
The control node 102 may include a network control module 21, the network control module 21 is configured to manage topology connection information of the entire data transmission system, and the network control module 21 may include a topology management sub-module 211, an IGP sub-module 212, a Border Gateway Protocol (BGP) sub-module 213, and a NetConf sub-module 214. The NetConf sub-module 214 is configured to collect connection information of each forwarding node in the data transmission system, and send the collected connection information to the topology management sub-module 211. The topology management sub-module 211 is configured to determine topology connection information of the data transmission system according to the connection information of each forwarding node, store the topology connection information, and issue the topology connection information to each data generating node. When a forwarding node is added to the data transmission system, the topology management sub-module 211 may also update the topology connection information of the data transmission system according to the connection information of the newly added forwarding node. The topology management sub-module 211 is further configured to analyze the failure information and the recovery information reported by the forwarding node, and analyze the failure information of the forwarding node reported by the data generating node. The topology management sub-module 211 is further configured to issue, to each data generating node, status information of a forwarding node through the target node based on the content in the analyzed fault information or recovery information. The IGP submodule 212 and the BGP submodule 213 may ensure communication between the control node and the forwarding node and communication between the control node and the data generating node based on IGP and BGP, respectively.
The data generating node 103 may include a data generating module 31 and an intelligent network card 32, where the data generating module 31 is configured to generate a data stream. The intelligent network card 32 may include a route calculation submodule 321 and a second data forwarding submodule 322, where the route calculation submodule 321 is configured to receive topology connection information of the data transmission system sent by the control node, receive state information of each forwarding node in the data transmission system sent by the control node, store a current node state of each forwarding node and time when the current node state occurs, and receive a device identifier of each data generation node. The route calculation sub-module 321 is further configured to calculate, according to the topology connection information of the forwarding node without failure, a forwarding path of the data stream generated by the data generating node, where the forwarding path is a forwarding path from the data generating node generating the data stream to a destination node, where the destination node is a data generating node for receiving the data stream. The route calculation sub-module 321 is further configured to send the route information of the forwarding path to the second data forwarding sub-module 322. The second data forwarding sub-module 322 is configured to add routing information of a forwarding path of the data stream to the generated data stream, and transmit the data stream carrying the routing information, and the second data forwarding sub-module 322 is further configured to receive the data stream returned by the forwarding node, and send a time of occurrence of a fault in the returned data stream to the route calculation sub-module, so that the route calculation sub-module 321 may update a current node state of the forwarding node and an occurrence time of the current node state according to the time of occurrence of the fault, and report the time of occurrence of the fault and the failure of the forwarding node to the control node through the target node. When the data volume of the data stream generated by the data generating node is less than the preset data volume, the data stream is regarded as a small data stream, the route calculation sub-module 321 may calculate a primary forwarding path and a standby forwarding path for the small data stream, and store the primary forwarding path and the standby forwarding path in the routing table, and when the small data stream is a data stream to be transmitted, the second data forwarding module 322 may obtain the routing information of two forwarding paths of the small data stream from the routing table, and preferentially forward the small data stream on the primary forwarding path. When the data volume of the data stream generated by the data generating node is greater than or equal to the preset data volume, the data stream is regarded as a large data stream, the route calculation submodule 321 may calculate a plurality of forwarding paths for the large data stream, and when the large data stream is a data stream to be transmitted, the second data forwarding submodule 322 may transmit the large data stream on any one of the plurality of forwarding paths, and may also transmit part of data in the large data stream on the plurality of forwarding paths, so that balanced use of a network link may be achieved. It should be noted that, in the embodiment of the present application, the preset data amount is not specifically limited.
The target node 104 may include a second forwarding module 41, where the second forwarding module 41 may include an IGP sub-module 411, a BGP sub-module 412, and a route management sub-module 413, and the IGP sub-module 411 and the BGP sub-module 412 may ensure communication between the control node and the forwarding node and communication between the control node and the data generating node based on IGP and BGP, respectively. The routing management sub-module 413 is configured to receive topology connection information of the data transmission system sent by the control node, and send the received topology connection information to each data generation node of the data transmission system. The target node 104 may be a network device such as a switch and a router, and the hardware form of the target node is not specifically limited in this embodiment of the application.
It should be noted that the data transmission system may be a data center, and each node in the data transmission system is also a device deployed in the data center. The data center can also be applied to a cloud scene, and the data center is also a cloud data center in the cloud scene. In a possible implementation manner, a user terminal may send a data generation request to any data generation node of a cloud data center, where the data generation request may carry a service requirement; the data generation node can generate a data stream and determine a destination node for receiving the data stream based on the service requirement in the data generation request; the data generation node calculates a plurality of forwarding paths of the data stream according to the topological connection information of the cloud data center and a target node, wherein the last forwarding node on each forwarding path is connected with the target node; the data generating node may transmit the data stream from at least one of the plurality of forwarding paths to the destination node.
In a possible implementation manner, the control node and the data generating node may be computing devices shown in fig. 3, where fig. 3 is a schematic structural diagram of a computing device provided in an embodiment of the present application, and the computing device 300 includes a relatively large difference due to different configurations or performances, and may include one or more processors (CPUs) 301 and one or more memories 302, where the memories 302 store at least one instruction, and the at least one instruction is loaded and executed by the processors 301 to implement operations performed by the control node or the data generating node in the methods provided in the following method embodiments. Of course, the computing device 300 may also have components such as a wired or wireless network interface, a keyboard, and an input/output interface, so as to perform input and output, and the computing device 300 may also include other components for implementing device functions, which are not described herein again.
In a possible implementation manner, the forwarding node may be the network device shown in fig. 4, where fig. 4 is a schematic structural diagram of a network device provided in an embodiment of the present application, and the network device 400 includes a network device that may have a relatively large difference due to a difference in configuration or performance, and may include one or more processors 401 and one or more memories 402, where the memory 402 stores at least one instruction, and the at least one instruction is loaded and executed by the processor 401 to implement the operation performed by the forwarding node in the method provided in each method embodiment described below. Of course, the network device 400 may also have components such as a wired or wireless network interface, a keyboard, and an input/output interface, so as to perform input and output, and the network device 400 may also include other components for implementing device functions, which are not described herein again.
In an exemplary embodiment, a computer-readable storage medium, such as a memory, including instructions executable by a processor in a terminal to perform the method in the embodiments described below is also provided. For example, the computer-readable storage medium may be a read-only memory (ROM), a Random Access Memory (RAM), a compact disc-read-only memory (CD-ROM), a magnetic tape, a floppy disk, an optical data storage device, and the like.
The control node may issue topology connection information of the data transmission system to each data generation node in the data transmission system, so that the data generation node may determine a forwarding path for a data stream generated by the control node according to the topology connection information, add routing information of the forwarding path of the data stream to the data stream, and the forwarding node receiving the data stream may transmit the data stream according to the routing information carried by the data stream. For further explanation of the data transmission process, refer to the flowchart of a data transmission method provided in the embodiment of the present application shown in fig. 5, where the flow of the method may include steps 501 and 511.
501. The forwarding node sends connection information to the control node, wherein the connection information is used for indicating the forwarding node connected with the forwarding node.
The forwarding node is any forwarding node managed by the control node. The connection information is connection information of the forwarding node, where the connection information of the forwarding node may include device identifiers of the forwarding nodes connected to the forwarding node, port identifiers of the ports of the forwarding node, and port identifiers of the ports of the forwarding node connected to the ports of the forwarding node. In the foregoing, the process of acquiring the connection information by the forwarding node and sending the connection information to the control node is described, and details are not described herein in this embodiment of the present application.
Taking the forwarding node 101 in fig. 2 as an example, this step 501 may be performed by the NetConf submodule 113 of the forwarding node 101, and the NetConf submodule 113 may collect the connection information of the forwarding node 101 from the LL DP submodule 111, package the connection information, and send the packaged connection information to the destination node 104, and then the destination node 104 sends the packaged connection information to the control node 102.
It should be noted that, when the forwarding node connected to the forwarding node is not changed, the forwarding node only needs to execute this step 501 once, and does not need to execute the step many times.
502. The control node receives connection information of a plurality of forwarding nodes.
The plurality of forwarding nodes may be forwarding nodes managed by the control node, and each forwarding node managed by the control node may send its connection information to the control node, so that the control node may receive the connection information of the plurality of forwarding nodes. Taking the control node 102 in fig. 2 as an example, the step 502 may be executed by the NetConf sub-module 214 of the control node 102, and the NetConf sub-module 214 may obtain the connection information of the multiple forwarding nodes 101 sent by the target node 104, so as to achieve the purpose of collecting the connection information of the multiple forwarding nodes 101. The NetConf sub-module 214 may also send the collected connection information of the plurality of forwarding nodes 101 to the topology management sub-module 211 of the control node 102, and the topology management sub-module 211 processes the connection information of the plurality of forwarding nodes 101.
503. The control node determines topological connection information of the plurality of forwarding nodes based on the connection information of the plurality of forwarding nodes.
The topology connection information is used to indicate a connection relationship between multiple forwarding nodes, and if the multiple forwarding nodes are all forwarding nodes in the data transmission system, the topology connection information is also the topology connection information of the data transmission system. The topology connection information may include forwarding nodes to which respective forwarding nodes of the plurality of forwarding nodes are connected and a node status of each forwarding node.
The node state is used to indicate whether the forwarding node fails, and the node state may include a normal state and a fault state, where the normal state is used to indicate that the forwarding node can normally forward the data stream, that is, the forwarding node does not fail, and the fault state is used to indicate that the forwarding node fails. Each node state may be represented by a state identifier, and the state identifiers of different node states are different, for example, the state identifier of a normal state may be 00, and the state identifier of a fault state may be 01. The node states included in the topology connection information may be represented by corresponding state identifiers, and the representation manner of the state identifiers is not specifically limited in this embodiment of the application. It should be noted that, initially, the forwarding node sends connection information to the control node, and it can be considered that the forwarding node has no fault, and the node state of each forwarding node in the topology connection information is a normal state.
The control node may perform integration processing on the connection information of the plurality of forwarding nodes to determine a topology structure of the plurality of forwarding nodes, and determine the topology connection information of the plurality of forwarding nodes according to the topology structure. In a possible implementation manner, the control node may further determine, based on the connection information of the first forwarding node, at least one forwarding node to which the first forwarding node is connected, where the first forwarding node is any one of the multiple forwarding nodes; for a second forwarding node in the at least one forwarding node, the control node determines a third forwarding node, other than the first forwarding node, to which the second forwarding node is connected, according to the connection information of the second forwarding node, where the second forwarding node is any one of the at least one forwarding node; by analogy, the control node determines the forwarding node connected to any third forwarding node, so that the control node can obtain the topology of the multiple forwarding nodes, where the topology may be a connection structure between multiple forwarding nodes shown in the data plane or the control plane in fig. 1. The control node may generate the topological connection information to represent the topology.
After the control node acquires the topology connection information, the topology connection information may be stored. When the control node receives the connection information sent by the new forwarding node, the control node may further execute step 503 to obtain new topology connection information based on the connection information of the new forwarding node and the connection information of the multiple forwarding nodes. When the control node receives the connection information retransmitted by any forwarding node in the forwarding nodes, the control node may further execute step 503 to obtain new topology connection information based on the connection information retransmitted by the forwarding node and the connection information of other forwarding nodes in the forwarding nodes. And when the control node acquires new topological connection information, the control node can update the stored topological connection information into the new topological connection information and send the new topological connection information to each data generation node. Still taking fig. 2 as an example, the step 503 may be executed by the topology management submodule 211 of the control node 102.
504. The control node transmits the topology connection information to at least one data generation node.
The at least one data generating node is all data generating nodes managed by the control node. The control node may enable each data generating node to receive the topological connection information by performing this step 504.
Still taking fig. 2 as an example, in this step 504, the IGP submodule 212 or the BGP submodule 213 of the control node 102 may be used to execute the step, and the IGP submodule 212 or the BGP submodule 213 may obtain the topology connection information from the topology management submodule 211 of the control node 102, send the topology connection information to the target node 104, and send the topology connection information to each data generating node 103 in the data transmission system 100 by the target node 104.
505. The data generating node receives the topological connection information.
The data generating node is any one of the at least one data generating node. When the data generation node receives the topology connection information, the data generation node may further store the topology connection information. When the data generation node receives new topology connection information again, the stored topology connection information may be updated to the new topology connection information. Still taking fig. 2 as an example, the step 505 may be performed by the route calculation sub-module 321 of the data generating node 103, and the route calculation sub-module 321 may obtain the topology connection information from the target node 104 through the second data forwarding sub-module 322.
506. The data generation node determines a first forwarding path of the data stream to be transmitted based on the topological connection information.
The data flow may be any data flow generated by the data generating node, the first forwarding path is used for transmitting the data flow, and the first forwarding path may include at least one forwarding path. The control node may determine a destination node for finally receiving the data stream based on the service requirement; the data generation node may determine, based on the topology structure indicated by the topology connection information, the forwarding node to which the data generation node is connected, and the destination node, a plurality of forwarding paths in which the forwarding node to which the data generation node is connected is the first forwarding node and the forwarding node to which the destination node is connected is the last forwarding node, and select a target number of the forwarding paths from the plurality of forwarding paths as the first forwarding path of the data stream. After the multiple forwarding paths are determined, the data generating node may further select at least one forwarding path from the multiple forwarding paths as a first forwarding path of the data stream based on a target algorithm, where the target algorithm is used to balance usage rates of forwarding nodes in the data transmission system, and a usage rate of one forwarding node is a ratio between a data amount currently forwarded by the forwarding node and a maximum data amount that can be forwarded by the forwarding node. Still taking fig. 2 as an example, this step 506 may be performed by the route calculation sub-module 321 of the data generating node 103.
507. The data generation node determines routing information of a first forwarding path of the data flow according to the first forwarding path, wherein the routing information is used for indicating each forwarding node on the forwarding path.
After the first forwarding path of the data flow is determined, the first forwarding path may include at least one forwarding path, the data generation node generates routing information of each forwarding path of the data flow, and the routing information of one forwarding path may include destination port identifiers of each forwarding node on the forwarding path, where a destination port identifier of one forwarding node is used to indicate a forwarding port used to forward the data flow in the forwarding node, and the destination port identifiers of each forwarding node may be arranged according to a position order of each forwarding node on the forwarding path. For example, each forwarding node on the forwarding path a is a forwarding node 1, a forwarding node 2, and a forwarding node 3 in sequence, and the routing information of the forwarding path a is a destination port identifier 1 of the forwarding node 1, a destination port identifier 2 of the forwarding node 2, and a destination port identifier 3 of the forwarding node 3. Still taking fig. 2 as an example, this step 507 may be performed by the route calculation sub-module 321 of the data generating node 103.
It should be noted that the process shown in step 505 and 507 is also a process in which the data generation node acquires the routing information of the forwarding path of the data stream to be transmitted.
508. The data generation node adds the routing information of the first forwarding path in the data flow.
When the first forwarding path includes at least one forwarding path, if the data generating node transmits the data stream only on any forwarding path of the at least one forwarding path, the data generating node adds the routing information of the forwarding path in the data stream.
When the data generating node transmits the data stream on multiple forwarding paths, the data generating node adds routing information of one forwarding path in each partial data of the data stream, in a possible implementation manner, for any partial data of the data stream, the data generating node may add routing information of one forwarding path in the partial data, that is, each partial data of the data stream corresponds to one forwarding path, so that each partial data is transmitted on the corresponding forwarding path, where the routing information of one forwarding path is used to indicate each forwarding node on one forwarding path.
Still taking fig. 2 as an example, this step 508 may be performed by the second data forwarding sub-module 322 of the data generating node 103, and the second data forwarding sub-module 322 may obtain the routing information from the route calculating sub-module 321 and add the routing information to the data stream.
509. And the data generation node sends the data stream carrying the routing information of the first forwarding path to the first forwarding node on the forwarding path.
When the first forwarding path includes at least one forwarding path, the data generation node may carry the data stream of the routing information of the forwarding path to a first forwarding node on the forwarding path according to the routing information of any forwarding path in the at least one forwarding path.
When the first forwarding path includes multiple forwarding paths, the data generating node may further transmit, to a first forwarding node of each forwarding path in the multiple forwarding paths, a part of data in the data stream according to the routing information of the multiple forwarding paths, where each part of data carries routing information of one forwarding path. Still taking fig. 2 as an example, this step 509 may be executed by the second data forwarding sub-module 322 of the data generating node 103, and the second data forwarding sub-module 322 may send the data stream carrying the routing information of the first forwarding path to the first data forwarding sub-module 114 in the first forwarding node.
510. The first forwarding node receives the data stream carrying routing information for the first forwarding path.
Still taking fig. 2 as an example, this step 510 may be performed by the first data forwarding sub-module 114 in the first forwarding node, where the first data forwarding sub-module 114 receives the data stream carrying the routing information of the first forwarding path.
511. And when the first forwarding node has no fault, the first forwarding node transmits the data stream carrying the routing information of the first forwarding path to the next forwarding node of the first forwarding node on the first forwarding path according to the routing information.
After any forwarding node on the forwarding path receives the data stream carrying the routing information of the first forwarding path, if the forwarding node has no fault, the forwarding node transmits the data stream carrying the routing information of the first forwarding path to the next forwarding node on the first forwarding path according to the routing information carried in the data stream, so that the data stream carrying the routing information of the first forwarding path can be transmitted on the forwarding path until the destination node is reached.
Wherein, the process of the forwarding node transmitting the data stream carrying the routing information of the first forwarding path to the next forwarding node on the forwarding path according to the routing information may be: and the forwarding node acquires the destination port identifier of the next forwarding node of the forwarding node from the routing information, and transmits the data stream carrying the routing information of the first forwarding path to the port indicated by the destination port identifier of the next forwarding node. Still taking fig. 2 as an example, this step 511 may be performed by the first data forwarding sub-module 114 in the first forwarding node, where the first data forwarding sub-module 114 acquires the routing information from the received data stream, and sends the received data stream to the first data forwarding sub-module 114 of the next forwarding node on the forwarding path indicated by the routing information. The process shown in this step 511 is that the forwarding node transmits the data stream to the next forwarding node of the forwarding node on the forwarding path indicated by the routing information according to the routing information in the data stream.
According to the method provided by the embodiment of the application, the first forwarding path of the data stream generated by the data generation node is determined through the data generation node, the data stream generated by each data generation node is not required to be determined by the control node, and the forwarding path is determined, so that the workload of the control node is reduced, and the coordination capacity of the data transmission system is improved. In addition, the forwarding node can directly transmit the data stream according to the routing information carried by the data stream without looking up a routing table to determine the routing information of the forwarding path of the data stream, so that the transmission efficiency of the data is improved.
When any forwarding node fails, the forwarding node can report the failure to the control node, the data generation node can also report the failure to the control node, and when the control node receives the reported information that the forwarding node fails, the control node can send the failure state of the forwarding node to each data generation node in the data transmission system, so that each data generation node can update the stored node state of the forwarding node, so that the data generation node can determine the forwarding path of the newly generated data stream, or determine a new forwarding path for the data stream flowing through the forwarding node again, the forwarding node can be avoided, and the normal transmission of the data stream is ensured. For further explanation of the process, refer to a flow chart of a data transmission method provided in the embodiment of the present application shown in fig. 6, where the flow chart may include the following steps 601-615.
601. For any forwarding node on the first forwarding path, when detecting that the forwarding node fails, the forwarding node may determine its own node state as a failure state.
The forwarding node is any forwarding node managed by the control node. The forwarding node may detect whether the forwarding node fails, and if the forwarding node cannot output a data stream to a next forwarding node, the forwarding node fails, and the forwarding node may determine a node state of the forwarding node as a failure state. For example, if the forwarding node is disconnected from other forwarding nodes, the forwarding node fails. Still taking fig. 2 as an example, this step 601 may be performed by status marking submodule 112 of forwarding node 101.
602. The forwarding node sends fault information to a control node, wherein the fault information comprises a fault state of the forwarding node and first state occurrence time, and the first state occurrence time is the time when the forwarding node fails.
The fault state in the fault information may be identified by a state identification of the fault state, and the first state occurrence time may be identified by a time identification. The time identifier may be a timestamp, and the time identifier may also be a counting identifier, for example, initially, each forwarding node in the data transmission system shares the same counter to count, and the counting identifier corresponding to the fault state may be data counted by the counter when the forwarding node fails. The embodiment of the present application does not specifically limit the representation manner of the time stamp. Still taking fig. 2 as an example, the step 602 may be executed by the status marking sub-module 112 of the forwarding node 101, where the status marking sub-module 112 may send the fault information to the NetConf sub-module 113, and the NetConf sub-module 113 reports the fault information to the control node 102 through the target node 104.
It should be noted that, when the forwarding node detects that it has a failure, it indicates that the node state of the forwarding node is a failure state, and the forwarding node may not execute the process of determining the node state in step 601, and may directly execute step 602. The process of the forwarding node sending the fault information to the control node, that is, a way of the forwarding node reporting the fault to the control node. The forwarding node may report the fault to the control node through the data generating node in addition to automatically reporting the fault to the control node, and in a possible implementation manner, the process of reporting the fault to the control node through the data generating node by the forwarding node may include the following step 603 and 609.
603. The forwarding node receives a data stream.
Still taking fig. 2 as an example, this step 603 may be performed by the first data forwarding sub-module 114 of the forwarding node 101.
604. The forwarding node adds the first state occurrence time in the data flow.
The forwarding node may add the time identification of the time when the first state occurred to a packet in the data flow. Still taking fig. 2 as an example, this step 604 may be performed by first data forwarding sub-module 114 of forwarding node 101.
605. And the forwarding node returns the data stream carrying the first state occurrence time to the data generation node generating the data stream.
The forwarding node returns the data stream carrying the first state occurrence time to the data generating node, that is, indicates to the data generating node that the forwarding node has a fault and cannot continue forwarding the data stream according to the routing information in the data stream, so that the forwarding node returns the data stream carrying the first state occurrence time to the data generating node, that is, a way for the forwarding node to report the fault to the data generating node. In a possible implementation manner, the forwarding node may obtain address information of the data generating node from path information carried by the data stream, and send the data stream carrying the first state occurrence time to the data generating node according to the address information of the data generating node.
It should be noted that, when the forwarding node returns a data stream to the data generating node, the data stream is directly sent to the data generating node, without returning the data stream on the original route according to the routing information in the data stream. Still taking fig. 2 as an example, this step 605 may be executed by the first data forwarding sub-module 114 of the forwarding node 101, where the first data forwarding sub-module 114 sends the data stream carrying the first state occurrence time to the second data forwarding sub-module 322 of the data generating node 103.
606. And the data generation node receives the data stream which carries the first state occurrence time and is returned by the forwarding node.
Still taking fig. 2 as an example, this step 606 may be performed by the second data forwarding sub-module 322 of the data generating node 103.
607. The data generating node acquires a state occurrence time of a stored state of the forwarding node, the stored state being indicative of a node state of the forwarding node that has been currently stored at the data generating node.
The data generation node stores the node state of each forwarding node in the data transmission system and the occurrence time of the node state, and the data generation node can store the node state of each forwarding node in the data transmission system and the occurrence time of the node state through a state table. For example, a state table shown in table 1 stores node states of n forwarding nodes, where a node state of the forwarding node 1 is a normal state, a state occurrence time corresponding to the normal state is 0, which indicates that the forwarding node 1 is always normal and has no fault, a node state of the forwarding node 2 is a fault state, and a state occurrence time corresponding to the fault state is 2, which indicates that the forwarding node 2 has a fault at 2 points and the fault of the forwarding node 2 has not been repaired from 2 points to the current time. The node status of the forwarding node n is also a normal state.
TABLE 1
Forwarding node Node status Time of occurrence of state
Forwarding node 1 Normal state 0
Forwarding node 2 Fault state 2
... ... ...
Forwarding node n Normal state 0
When the data generation node receives the data stream carrying the first state occurrence time returned by the forwarding node, the data generation node may obtain the stored state of the forwarding node and the occurrence time of the stored state from the state table. Taking the forwarding node as the forwarding node 1 in table 1 as an example, the stored state of the forwarding node 1 is a normal state, and the occurrence time of the stored state of the forwarding node 1 is 0. Still taking fig. 2 as an example, this step 607 may be performed by the route calculation sub-module 321 of the data generating node 103.
608. If the first state occurrence time is longer than the state occurrence time of the stored state, the data generation node determines the node state of the forwarding node as a fault state, and modifies the stored state to the fault state, otherwise, the stored state is not modified.
When the data generation node receives the data stream carrying the first state occurrence time returned by the forwarding node, the data generation node may obtain the first state occurrence time of the fault state of the forwarding node by analyzing a packet in the data stream. When the first state occurrence time is longer than the state occurrence time of the stored state, it indicates that the failure state is the current node state of the forwarding node, and the data generation node may determine the node state of the forwarding node as the failure state. In order to make the stored state of the forwarding node the latest node state, the data generating node may modify the stored state of the forwarding node in the state table to a failure state, and modify the state occurrence time of the stored state to the first state occurrence time, where the failure state becomes the stored state of the forwarding node. Still taking fig. 2 as an example, this step 608 may be executed by the route calculation sub-module 321 of the data generating node 103, and the route calculation sub-module 321 may obtain the first state occurrence time from the second data forwarding sub-module 322, and execute this step 608 based on the obtained first state occurrence time.
When the first state occurrence time is less than or equal to the state occurrence time of the stored state, it indicates that the failure state is not the current node state of the forwarding node, and the stored state is the current node state of the forwarding node, and the data generation node does not need to update the stored state of the forwarding node, that is, does not need to modify the stored state. The process shown in this step 608 is that the data generation node updates the stored state of the forwarding node based on the first state occurrence time of the forwarding node and the state occurrence time of the stored state.
The data generation node updates the node state of the forwarding node by comparing the first state occurrence time with the state occurrence time of the stored state, so that the node state of the forwarding node stored in the data generation node can be the latest node state, and the data generation node can consider how to use the forwarding node according to the latest node state of the forwarding node.
If the data generating node determines that the node state of the forwarding node is a fault state, the data generating node may re-plan a forwarding path for the data stream to replace the first forwarding path of the data stream where the forwarding node is located. In another possible implementation manner, if the data generating node determines the node state of the forwarding node to be a fault state, when there are multiple first forwarding paths of the data stream, the forwarding path where the forwarding node is located is part of the multiple first forwarding paths, and a service requirement does not require the transmission duration of the data stream, the data generating node may also not re-plan the forwarding path for the data stream, but directly use the first forwarding path that does not include the forwarding node to continue transmitting the data stream. In a possible implementation manner, if the data generating node determines that the node state of the forwarding node is a failure state and there is only one first forwarding path of the data stream, the data forwarding node further needs to re-plan a forwarding path for the data stream and transmit the data stream on the re-planned forwarding path.
The process of the data generation node replanning the forwarding path for the data flow may include the following steps 1 to 3.
Step 1, the data generation node determines a second forwarding path of the data stream according to the topology connection information of a plurality of target forwarding nodes, and the node state of the target forwarding nodes is a normal state.
The second forwarding path is composed of the target forwarding nodes, and therefore, the node status of each forwarding node on the second forwarding path is a normal status. The data generation node may execute step 1 by using the forwarding node in which the node state in the state table is the normal state as the target forwarding node. The process shown in step 1 is the same as the process shown in step 506, and here, the description of step 1 is omitted in this embodiment. It should be noted that, before the data generating node performs step 1, the data generating node may also obtain the topology connection information of the multiple target forwarding nodes, and in a possible implementation manner, the data generating node may receive the topology connection information of the multiple target forwarding nodes sent by the control node.
And 2, adding the routing information of the second forwarding path in the data stream by the data generation node.
The process shown in step 2 is the same as the process shown in steps 507-508, and here, the description of step 2 is not repeated in this embodiment of the present application.
And 3, the data generation node sends the data stream carrying the routing information to the first target forwarding node on the second forwarding path.
After receiving the data stream carrying the routing information, any target forwarding node on the second forwarding path may transmit the received data stream based on the routing information carried in the data stream, so that the data stream may be transmitted on the second forwarding path.
609. And if the node state of the forwarding node is determined to be a fault state, the data generation node sends fault information of the forwarding node to a control node, wherein the fault information comprises the fault state of the forwarding node and the first state occurrence time.
The failure information of the forwarding node is described in step 602, and here, the failure information is not described in detail in this embodiment of the present application. The process shown in step 609 is also a process in which the data generation node reports a forwarding node failure to the control node. Still taking fig. 2 as an example, this step 609 may be executed by the route calculation sub-module 321 of the data generating node 103, and when the route calculation sub-module 321 determines the node status of the forwarding node 101 as a fault status, the route calculation sub-module 321 may send the fault information to the second forwarding module 41 of the target node 104, and the second forwarding module 41 of the target node 104 forwards the fault information to the control node 102.
610. And the control node acquires the fault information of the forwarding node.
The control node may receive the failure information sent by the forwarding node to obtain the failure information. The control node may also receive fault information sent by the data generating node to obtain the fault information. Still taking fig. 2 as an example, this step 610 may be executed by the IGP submodule 212 or the BGP submodule 213 of the control node 102, where the IGP submodule 212 or the BGP submodule 213 receives the failure information sent by the second forwarding module 41 of the target node 104.
611. The control node determines the node status of the forwarding node as a failure status based on the failure information.
Since the failure information is used to indicate that the forwarding node has a failure and the failure information carries the failure state of the forwarding node, the control node may determine the node state of the forwarding node as the failure state. It should be noted that the processes shown in steps 610 and 611 are also processes in which the control node determines the node status of the forwarding node. Still taking fig. 2 as an example, this step 611 may be executed by the topology management sub-module 211 of the control node 102, and the topology management sub-module 211 may analyze the fault information sent by the IGP sub-module 212 or the BGP sub-module 213 to obtain the node state of the forwarding node 101.
612. The control node sends first state information to at least one data generation node, wherein the first state information comprises a fault state of the forwarding node and occurrence time of the first state.
The at least one data generating node may be all data generating nodes managed by the control node, so that through this step 612, the control node may notify all data generating nodes of the failure status of the forwarding node.
If the failure information received by the control node is transmitted by the first data generating node, the control node may transmit the first state information not to the first data generating node but to a data generating node managed by the control node other than the first data generating node. Still taking fig. 2 as an example, the step 612 may be performed by the topology management submodule 211 of the control node 102.
613. The data generating node receives the first state information.
The data generating node is any one of the at least one data generating node. The process shown in step 613 is also a process in which the data generating node receives the state information of the forwarding node sent by the control node. Still taking fig. 2 as an example, this step 613 may be performed by the route calculation sub-module 321 of the data generating node 103, and the route calculation sub-module 321 may obtain the first status information from the target node 104 through the second data forwarding sub-module 322.
614. The data generating node acquires a state occurrence time of a stored state of the forwarding node, the stored state being indicative of a node state of the forwarding node that has been currently stored at the data generating node.
The process shown in step 614 is the same as the process shown in step 607, and here, the embodiment of the present application does not repeat this step 614.
615. If the first state occurrence time is greater than the state occurrence time of the stored state, the data generating node modifies the stored state to the failed state, otherwise, the stored state is not modified.
The process shown in step 615 is the same as the process shown in step 608, and here, the description of step 615 is not repeated in this embodiment of the present application. The process shown in step 615 is that when the first state occurrence time is longer than the state occurrence time of the stored state, the data generating node updates the stored state of the forwarding node.
When a forwarding node on the first forwarding path fails, the data generating node may obtain a plurality of target forwarding nodes of which the node states are normal from the state table, determine a second forwarding path of the data stream based on topology connection information of the plurality of target forwarding nodes, and transmit the data stream on the determined second forwarding path, for example, the process shown in the above step 1-3.
It should be noted that the process shown in the above step 601-615 is a process in which the forwarding node or the data generation reports a fault to the control node, the control node sends the first state information of the forwarding node to each data generation node managed by the control node according to the reported fault, and each data generation node updates the locally stored node state of the forwarding node according to the first state information of the forwarding node sent by the control node. The data generation node may also update the stored state of the forwarding node not according to the first state information issued by the control node, but by the control node. In a possible implementation manner, the control node may further store the stored state of each forwarding node, directly update the locally stored node state of the forwarding node according to the reported fault, and send the updated node state of the forwarding node to each data generation node, where at this time, the data generation node only needs to store the node state of the forwarding node issued by the control node.
In a possible implementation manner, the control node may further store a node state of each forwarding node, and the control node may store the node state of each forwarding node by using the state table shown in table 1. After the control node acquires the fault information of the forwarding node, the control node can also acquire the stored state of the forwarding node and the occurrence time of the stored state from a state table; the control node may determine a node status of the forwarding node based on the fault information and a status occurrence time of the stored status of the forwarding node. In a possible implementation manner, if the first state occurrence time is greater than the state occurrence time of the stored state, the control node determines the node state of the forwarding node as the failure state, otherwise, the control node determines the node state of the forwarding node as the stored state of the forwarding node. If the stored state of the forwarding node in the state table is not a failed state, the control node updates the stored state of the forwarding node to a failed state, and after the control node updates the stored state of the forwarding node to the failed state, the control node may execute 612; or, the control node may also directly send the updated state table to each data generation node, so that each data generation node may directly update the locally stored state table to the state table issued by the control node, and plan a forwarding path for the data stream according to the forwarding node having no fault in the state table.
It should be noted that, the process shown in step 601-615 introduces a process in which the data generation node updates the stored state of the forwarding node according to the first state information sent by the control node or the data stream carrying the first state occurrence time returned by the forwarding node, determines a second forwarding path of the data stream, and transmits the data stream on the second forwarding path. In a possible implementation manner, when the data generating node only receives the first state information sent by the control node, but does not receive the data stream carrying the occurrence time of the first state returned by the forwarding node, if the first state information sent by the control node is received, it is also indicated that the forwarding node fails, the data generating node may not update the stored state of the forwarding node, but directly determine the second forwarding path of the data stream. In a possible implementation manner, when the data generating node receives only the data stream carrying the first state occurrence time returned by the forwarding node, but does not receive the first state information sent by the control node, if the data stream carrying the first state occurrence time returned by the forwarding node is received, that is, the forwarding node fails, the data generating node may not update the stored state of the forwarding node, but directly determine the second forwarding path of the data stream.
In the method provided by the embodiment of the present application, a data generating node may determine that a forwarding node fails by acquiring first state information of any forwarding node on a first forwarding path, and then the data generating node may determine, according to the acquired first state information, a second forwarding path for a data stream transmitted on the first forwarding path and transmit the data stream on the second forwarding path. In the prior art, when the forwarding node fails, the forwarding node cannot return a data stream to the data generating node and report the failure to the control node, but waits for a neighboring node of the forwarding node to detect the forwarding node, and if the neighboring node detects that the forwarding node fails, the neighboring node reports that the forwarding node fails to the control node. In this application, when the forwarding node fails, if the forwarding node is connected to a data generating node that generates the data stream, the forwarding node may return the data stream to the data generating node to indicate that the forwarding node fails. And when the connection between the forwarding node and the data generation node is disconnected, the forwarding node cannot return a data stream to the data generation node, and the forwarding node can also automatically report a fault to the control node without a neighbor node testing the forwarding node and reporting the fault. Certainly, the forwarding node can report the failure of the forwarding node to the control node by returning a data stream to the data generating node and then reporting the failure of the forwarding node to the control node by the data generating node, and the other side can also report the failure to the control node directly, and the two failure reporting modes can be parallel, so that a multi-path failure reporting operation mechanism is formed, and the failure state of any forwarding node can be reported to the control node in time. And after the control node receives the node state of one forwarding node, all the data generation nodes are informed, so that all the data generation nodes can update the node state of the forwarding node in time.
When the fault repair of any faulty forwarding node is completed, the forwarding node may report the repair completion information to the control node, so that the control node may notify all the data generating nodes, so that each data generating node may determine the node state of the forwarding node as a normal state. For further explanation of the process, refer to a flowchart of another data transmission method provided in the embodiment of the present application shown in fig. 7, where the flowchart may include steps 701-708 described below.
701. When the forwarding node detects that the fault of the forwarding node is repaired, the forwarding node determines the node state of the forwarding node as a normal state.
When the forwarding node fails, if the forwarding node detects that normal communication with other forwarding nodes is available, the failure of the forwarding node is repaired, and the forwarding node can determine the node state of the forwarding node as a normal state, so that the forwarding node can update the node state stored by the forwarding node from the failure state to the normal state and update the time of the failure state to the time of failure recovery. Still taking fig. 2 as an example, this step 701 may be performed by the status marking submodule 112 of the forwarding node 101.
702. The forwarding node sends recovery information to the control node, wherein the recovery information comprises a normal state of the forwarding node and second state occurrence time, and the second state occurrence time is the time for failure recovery of the forwarding node.
The normal state in the recovery information may be identified by a state identifier of the normal state, and the second state occurrence time may be identified by a time identifier. Still taking fig. 2 as an example, this step 702 may be executed by the status marking sub-module 112 of the forwarding node 101, where the status marking sub-module 112 may send the recovery information to the NetConf sub-module 113, and the NetConf sub-module 113 reports the recovery information to the control node 102 through the target node 104. It should be noted that, when the forwarding node detects that the fault occurred on the forwarding node has been repaired, it indicates that the node state of the forwarding node is a normal state, and the forwarding node may not execute the process of determining the node state in step 701, but directly execute this step 702.
703. And the control node receives the recovery information sent by the forwarding node.
Still taking fig. 2 as an example, this step 703 may be executed by the IGP submodule 212 or the BGP submodule 213 of the control node 102, where the IGP submodule 212 or the BGP submodule 213 receives the recovery information sent by the second forwarding module 41 of the target node 104.
704. The control node determines the node state of the forwarding node as a normal state based on the restoration information.
Since the recovery information is used to indicate that the failure occurring in the forwarding node has been repaired and the recovery information carries the normal state of the forwarding node, the control node may determine the node state of the forwarding node as the normal state. It should be noted that the processes shown in steps 703 and 704 are also processes in which the control node determines the node status of the forwarding node. Still taking fig. 2 as an example, this step 704 may be executed by the topology management sub-module 211 of the control node 102, and the topology management sub-module 211 analyzes the recovery information sent by the IGP sub-module 212 or the BGP sub-module 213 to obtain the node state of the forwarding node 101.
705. And the control node sends second state information of the forwarding node to at least one data generation node, wherein the second state information comprises the normal state of the forwarding node and the occurrence time of the second state.
The at least one data generating node may be all data generating nodes managed by the control node, so that the control node may notify all data generating nodes of the normal state of the forwarding node through this step 705. Still taking fig. 2 as an example, the step 705 may be performed by the topology management submodule 211 of the control node 102.
706. And the data generation node receives second state information of the forwarding node sent by the control node.
The data generating node is any one of the at least one data generating node. Still taking fig. 2 as an example, this step 706 may be performed by the route calculation sub-module 321 of the data generating node 103, and the route calculation sub-module 321 may obtain the second status information from the target node 104 through the second data forwarding sub-module 322.
707. The data generation node acquires the state occurrence time of the stored state of the forwarding node, wherein the stored state is used for representing the node state of the forwarding node which is stored on the data generation node currently.
The process shown in step 707 is the same as the process shown in step 607, and here, the description of step 707 is not repeated in this embodiment of the present application.
708. If the second state occurrence time is greater than the stored state occurrence time, the data generating node modifies the stored state to the normal state, otherwise, the stored state is not modified.
When the second state occurrence time is longer than the state occurrence time of the stored state, it indicates that the normal state is the current node state of the forwarding node, and the data generation node may determine the node state of the forwarding node as the normal state. In order to make the stored state of the forwarding node the latest node state, the data generating node may modify the stored state of the forwarding node in the state table to the normal state, and modify the state occurrence time of the stored state to the second state occurrence time, where the normal state is also the stored state of the forwarding node.
When the second state occurrence time is less than or equal to the state occurrence time of the stored state, it indicates that the normal state is not the current node state of the forwarding node, and the stored state is the current node state of the forwarding node, and the data generation node does not need to update the stored state of the forwarding node, that is, does not need to modify the stored state. Still taking fig. 2 as an example, this step 708 may be performed by the route calculation submodule 321 of the data generating node 103, and the route calculation submodule 321 may acquire the second state occurrence time from the second data forwarding submodule 322, and perform this step 708 based on the acquired second state occurrence time.
It should be noted that the process shown in the above step 701-708 is that the forwarding node reports the recovery information to the control node, the control node sends the second state information of the forwarding node to each data generating node managed by the control node according to the reported recovery information, and each data generating node updates the locally stored node state of the forwarding node according to the second state information of the forwarding node sent by the control node. In a possible implementation manner, the control node may further store the stored state of each forwarding node, directly update the locally stored node state of the forwarding node according to the reported recovery information, and send the updated node state of the forwarding node to each data generation node, where at this time, the data generation node only needs to store the node state of the forwarding node issued by the control node.
In a possible implementation manner, after the control node acquires the recovery information of the forwarding node, the control node may further acquire the stored state of the forwarding node and the occurrence time of the stored state from a state table; the control node may determine a node state of the forwarding node based on the recovery information and a state occurrence time of the stored state of the forwarding node. In a possible implementation manner, if the second state occurrence time is greater than the state occurrence time of the stored state, the control node determines the node state of the forwarding node as the recovery state, otherwise, the control node determines the node state of the forwarding node as the stored state of the forwarding node. And if the stored state of the forwarding node in the state table is not a normal state, the control node updates the stored state of the forwarding node to a normal state, and after the control node updates the stored state of the forwarding node to the normal state, the control node sends the updated state table to each data generation node, so that each data generation node can directly update the locally stored state table to the state table issued by the control node, and plans a forwarding path for the data stream according to the forwarding node without a fault in the state table.
According to the method provided by the embodiment of the application, the failed forwarding node reports the recovery information to the control node, so that the control node can issue the second state information to all the data generation nodes, each data generation node can modify the node state of the forwarding node into a normal state, and each data generation node can consider the forwarding node when determining the forwarding path for the data stream, so that more forwarding paths can be provided for the data stream.
It should be noted that, the state information of one forwarding node is used to indicate the node state of the forwarding node and the time when the node state occurs, and therefore, the state information of one forwarding node may include the node state of the forwarding node and the target state occurrence time, where the node state is used to indicate whether the forwarding node fails, and the target state occurrence time is the time when the node state in the state information occurs in the forwarding node. Because the node state of the forwarding node may be a failure state or a normal state, that is, two types of state information are required to carry different node states of the forwarding node, the state information of one forwarding node may be the first state information or the second state information. The first status information is used to indicate that the forwarding node fails and a time of the failure, that is, the first status information may include a failure status of the forwarding node and a time of the first status. The second state information is used to indicate the failure recovery of the forwarding node and the time when the failure recovery occurs, that is, the second state information may include the normal state of the forwarding node and the time when the second state occurs. It can be understood that, when the node state of the forwarding node is a fault state, the target state occurrence time corresponding to the node state is also the first state occurrence time, and when the node state of the forwarding node is a normal state, the target state occurrence time corresponding to the node state is also the second state occurrence time.
Based on the above description of the state information, the first state information, and the second state information, it can be seen that:
a process of the data generating node receiving the first state information or the second state information of the forwarding node sent by the control node, that is, a process of the data generating node receiving the state information sent by the control node. After the data generation node receives the data stream carrying the first state occurrence time returned by the forwarding node, the first state information of the forwarding node can be acquired based on the received data stream carrying the first state occurrence time, and both the two processes are processes in which the data generation node acquires the state information of the forwarding node. The process shown in step 615 or step 708 is a process in which the data generation node updates the stored state of the forwarding node when the target state occurrence time is greater than the state occurrence time of the stored state. In the above step 615, the data generating node determines the second forwarding path of the data stream based on the topology connection information of the target forwarding nodes, that is, when the target state occurrence time is longer than the state occurrence time of the stored state, if the node state of the forwarding node is a failure state, the data generating node determines the second forwarding path according to the topology connection information of the target forwarding nodes.
For further explanation of the process of transferring the node status of the forwarding node in the data transmission system, refer to a flowchart of a node status notification method provided in this embodiment shown in fig. 8.
801. When the node state of the forwarding node changes, the forwarding node stores the target state occurrence time and the current node state of the forwarding node in an associated manner.
802. If the current node state is a fault state, the forwarding node may send fault information to the control node, and if the current node state is a normal state, the forwarding node may send recovery information to the control node.
803. And if the current node state is a fault state, the forwarding node returns a data stream carrying the occurrence time of the target state to the data generation node.
804. And the data generation node sends the fault information of the forwarding node to the control node according to the data stream returned by the forwarding node.
805. And when the control node receives any fault information or recovery information, corresponding state information is issued to all the data generation nodes.
According to the method provided by the embodiment of the application, the node state of the forwarding node is not required to be tested by the neighbor node, once the forwarding node fails, the failed forwarding node can automatically report the failure to the control node, and the data generation node can report the node state of the failed forwarding node to the control node according to the data stream returned by the failed forwarding node, so that a multi-path fault reporting operation mechanism is formed, and the fault state of any forwarding node can be reported in time.
For further explaining a process of the data generating node updating the node state of the forwarding node according to the state information of the forwarding node, refer to a flowchart of updating the node state provided in the embodiment of the present application shown in fig. 9.
901. And the data generation node receives the state information of the forwarding node sent by the control node, and analyzes the state information to obtain the target state occurrence time carried by the state information and the node state of the forwarding node.
902. And querying a local state table by the data generation node, if the stored state of the forwarding node is stored in the state table, executing step 903, otherwise, regarding the state information as invalid data, and ending the processing.
903. If the target state occurrence time is longer than the state occurrence time of the stored state, the data generation node modifies the stored state into the node state in the state information, otherwise, the stored state is not modified, that is, the processing is finished this time.
According to the method provided by the embodiment of the application, the node state of the forwarding node and the occurrence time of the node state are issued to each data generation node through the control node, so that each data generation node can update the stored state of the forwarding node and the occurrence time of the stored state according to the received node state of the forwarding node and the occurrence time of the node state, and the subsequent data generation node can plan the forwarding path for the data stream according to the latest stored state of each forwarding node.
Fig. 10 is a schematic structural diagram of a data transmission apparatus according to an embodiment of the present application, where the apparatus is a data generating node, and the apparatus includes:
an obtaining unit 1001, configured to obtain first state information of any forwarding node on a first forwarding path, where the first forwarding path is used to transmit a data stream, and the first state information is used to indicate that the forwarding node fails;
a determining unit 1002, configured to determine a second forwarding path of the data stream according to the first state information, where a node state of each forwarding node on the second forwarding path is a normal state;
a transmitting unit 1003, configured to transmit the data stream on the second forwarding path.
Optionally, the first state information includes a failure state of the forwarding node and a first state occurrence time, where the failure state is used to indicate that the forwarding node fails, and the first state occurrence time is a time when the forwarding node fails.
Optionally, the determining unit 1002 is configured to:
and when the first state occurrence time is longer than the state occurrence time of the stored state of the forwarding node, determining the second forwarding path according to the topological connection information of a plurality of target forwarding nodes, wherein the stored state is used for representing the node state of the forwarding node which is stored currently, and the node states of the plurality of target forwarding nodes are normal states.
Optionally, the obtaining unit 1001 is configured to:
receiving first state information of the forwarding node sent by a control node; or the like, or, alternatively,
receiving the data stream which carries the first state occurrence time and is returned by the forwarding node; and acquiring first state information of the forwarding node based on the received data stream carrying the first state occurrence time.
Optionally, the apparatus further comprises:
a first updating unit for updating the stored state when the first state occurrence time is greater than the state occurrence time of the stored state.
Optionally, the first updating unit is configured to:
modifying the stored state to the fault state;
optionally, the first updating unit is further configured to:
when the first state occurrence time is less than or equal to the state occurrence time of the stored state, the stored state is not updated.
Optionally, the transmission unit 1003 is further configured to:
and sending fault information of the forwarding node to a control node, wherein the fault information comprises the fault state and the first state occurrence time.
Optionally, the apparatus further comprises an adding unit;
the obtaining unit 1001 is further configured to obtain routing information of a first forwarding path of the data stream, where the routing information is used to indicate each forwarding node on the forwarding path;
the adding unit is used for adding the routing information in the data flow;
the transmission unit 1003 is further configured to send the data stream carrying the routing information to a first forwarding node on the first forwarding path.
Optionally, the transmission unit 1003 is configured to:
when the first forwarding path comprises at least one forwarding path, transmitting the data stream carrying the routing information of any forwarding path to a first forwarding node on any first forwarding path according to the routing information of any forwarding path in the at least one forwarding path; or the like, or, alternatively,
and when the first forwarding path comprises a plurality of forwarding paths, transmitting part of data in the data stream to a first forwarding node of each forwarding path in the plurality of forwarding paths according to the routing information of the plurality of forwarding paths.
Optionally, the transmission unit 1003 is configured to:
adding routing information of the second forwarding path in the data stream, wherein the routing information is used for indicating each forwarding node on the forwarding path;
and sending the data stream carrying the routing information to the first target forwarding node on the second forwarding path.
Optionally, the apparatus further comprises a second updating unit;
the obtaining unit is further configured to receive second state information of the forwarding node, where the second state information is sent by a control node, and the second state information includes a normal state of the forwarding node and a second state occurrence time, where the second state occurrence time is a time for recovering from the failure of the forwarding node;
the second updating unit is configured to update the stored state of the forwarding node according to the second state information and a state occurrence time of the stored state of the forwarding node, where the stored state is used to indicate a node state of the forwarding node that is currently stored.
Optionally, the second updating unit is configured to:
modifying the stored state to a normal state.
Optionally, the second updating unit is further configured to:
when the second state occurrence time is less than or equal to the state occurrence time of the stored state, then the stored state is not updated.
The data generating node may determine that the forwarding node fails by acquiring first state information of any forwarding node on the first forwarding path, and then the data generating node may determine, according to the acquired first state information, a second forwarding path for the data stream transmitted on the first forwarding path and transmit the data stream on the second forwarding path.
Fig. 11 is a schematic structural diagram of a data transmission apparatus provided in an embodiment of the present application, where the apparatus is a forwarding node, and the apparatus includes:
a receiving unit 1101 for receiving a data stream;
an adding unit 1102, configured to add a first state occurrence time in the data stream, where the first state occurrence time is a time when the forwarding node fails;
a sending unit 1103, configured to return the data stream carrying the first state occurrence time to a data generating node that generates the data stream.
Optionally, the sending unit 1103 is configured to:
acquiring address information of the data generation node from path information carried by the data stream;
and sending the data stream carrying the first state occurrence time to the data generation node according to the address information of the data generation node.
Optionally, the sending unit is further configured to:
and when the forwarding node is detected to have a fault, sending fault information to a control node, wherein the fault information comprises a fault state of the forwarding node and the occurrence time of the first state, and the fault state is used for indicating that the forwarding node has the fault.
Optionally, the determining unit, the sending unit, is further configured to:
when the fault of the forwarding node is detected to be repaired, sending recovery information to the control node, wherein the recovery information comprises a normal state of the forwarding node and second state occurrence time, and the second state occurrence time is the time for recovering the fault of the forwarding node.
Optionally, the sending unit 1103 is further configured to:
and when the forwarding node has no fault, transmitting the data stream to a next forwarding node of the forwarding nodes on a forwarding path indicated by the routing information according to the routing information in the data stream, wherein the routing information is used for indicating each forwarding node on the forwarding path.
When the forwarding node fails, the first state occurrence time can be directly added to the received data stream to indicate that the forwarding node fails, and the time data stream carrying the first state occurrence is returned to the data generation node.
Fig. 12 is a schematic structural diagram of a data transmission apparatus according to an embodiment of the present application, where the apparatus is a control node, and the apparatus includes:
a determining unit 1201, configured to determine a node status of a forwarding node, where the node status is used to indicate whether the forwarding node fails;
a sending unit 1202, configured to send, to at least one data generating node, state information of the forwarding node, where the state information includes the node state and first state occurrence time, and the first state occurrence time is time when the node state occurs in the forwarding node.
Optionally, the determining unit 1201 includes:
an obtaining subunit, configured to obtain fault information of the forwarding node, where the fault information includes a fault state of the forwarding node and second state occurrence time, where the fault state is used to indicate that the forwarding node fails, and the second state occurrence time is time when the forwarding node fails;
and the determining subunit is configured to determine, based on the fault information, the node state of the forwarding node as a fault state.
Optionally, the obtaining subunit is configured to:
receiving the fault information sent by the forwarding node; or the like, or, alternatively,
and receiving the fault information sent by any data generation node.
Optionally, the determining unit 1201 is configured to:
receiving recovery information sent by the forwarding node, wherein the recovery information comprises a normal state of the forwarding node and second state occurrence time, and the second state occurrence time is the time for recovering the forwarding node from the fault;
determining the node status of the forwarding node as the normal status based on the restoration information.
Optionally, the method further comprises:
a receiving unit, configured to receive state information of the forwarding node, where the state information includes a node state of the forwarding node and a first state occurrence time, where the node state is used to indicate whether the forwarding node fails, and the first state occurrence time is a time when the forwarding node occurs in the node state;
the receiving unit is further configured to acquire a state occurrence time of a stored state of the forwarding node, where the stored state is used to indicate a node state of the forwarding node that has been currently stored;
an updating unit configured to update the stored state based on the state information and a state occurrence time of the stored state;
the sending unit 1202 is further configured to send the updated node status of the forwarding node to the at least one data generating node.
Optionally, the updating unit is configured to:
and when the target state occurrence time is greater than the state occurrence time of the stored state, modifying the stored state to the node state in the state information.
Optionally, the updating unit is further configured to:
when the target state occurrence time is less than or equal to the state occurrence time of the stored state, the stored state is not updated.
All the above optional technical solutions may be combined arbitrarily to form the optional embodiments of the present disclosure, and are not described herein again.
It should be noted that: in the data transmission device provided in the above embodiment, when transmitting data, only the division of the above functional modules is used for illustration, and in practical applications, the above function distribution may be completed by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules, so as to complete all or part of the above described functions. In addition, the embodiments of the data transmission method provided by the above embodiments belong to the same concept, and specific implementation processes thereof are described in the embodiments of the method for details, which are not described herein again.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description is only exemplary of the present application and should not be taken as limiting, as any modification, equivalent replacement, or improvement made within the spirit and principle of the present application should be included in the protection scope of the present application.

Claims (19)

1. A data transmission method applied to a data generation node, the method comprising:
acquiring first state information of any forwarding node on a first forwarding path, wherein the first forwarding path is used for transmitting data streams, and the first state information is used for indicating that the forwarding node has a fault;
determining a second forwarding path of the data stream according to the first state information, wherein the node state of each forwarding node on the second forwarding path is a normal state;
transmitting the data stream over the second forwarding path.
2. The method of claim 1, wherein the first status information comprises a failure status of the forwarding node, the failure status indicating that the forwarding node failed, and a first status occurrence time, the first status occurrence time being a time when the forwarding node failed.
3. The method of claim 2, wherein determining the second forwarding path for the data flow according to the first state information comprises:
and when the first state occurrence time is longer than the state occurrence time of the stored state of the forwarding node, determining the second forwarding path according to the topological connection information of a plurality of target forwarding nodes, wherein the stored state is used for representing the node state of the forwarding node which is stored currently, and the node states of the plurality of target forwarding nodes are normal states.
4. The method according to any of claims 1-3, wherein said obtaining first state information of any forwarding node on the first forwarding path comprises:
receiving first state information of the forwarding node sent by a control node; or the like, or, alternatively,
receiving the data stream which carries first state occurrence time and is returned by the forwarding node, wherein the first state occurrence time is the time when the forwarding node fails; and acquiring first state information of the forwarding node based on the received data stream carrying the first state occurrence time.
5. The method of claim 4, wherein after receiving the data stream carrying the first state occurrence time returned by the forwarding node, the method further comprises:
and sending fault information of the forwarding node to a control node, wherein the fault information comprises the fault state and the first state occurrence time.
6. The method of claim 2, wherein after obtaining the first state information of any forwarding node on the first forwarding path, the method further comprises:
updating the stored state when the first state occurrence time is greater than the state occurrence time of the stored state.
7. The method of claim 1, further comprising:
receiving second state information of the forwarding node, which is sent by a control node, wherein the second state information includes a normal state of the forwarding node and second state occurrence time, and the second state occurrence time is time for recovering a failure of the forwarding node;
updating the stored state according to the second state information and the state occurrence time of the stored state of the forwarding node, wherein the stored state is used for representing the node state of the forwarding node which is stored currently.
8. A data transmission method applied to a forwarding node, the method comprising:
receiving a data stream;
adding first state occurrence time in the data stream, wherein the first state occurrence time is the time when the forwarding node fails;
and returning the data stream carrying the first state occurrence time to a data generation node generating the data stream.
9. The method of claim 8, wherein returning the data stream carrying the first state occurrence time to a data generation node that generated the data stream comprises:
acquiring address information of the data generation node from path information carried by the data stream;
and sending the data stream carrying the first state occurrence time to the data generation node according to the address information of the data generation node.
10. The method of claim 8, further comprising:
and when the forwarding node is detected to have a fault, sending fault information to a control node, wherein the fault information comprises a fault state of the forwarding node and the occurrence time of the first state, and the fault state is used for indicating that the forwarding node has the fault.
11. The method of claim 10, wherein after sending the failure information to the control node, the method further comprises:
when the fault of the forwarding node is detected to be repaired, sending recovery information to the control node, wherein the recovery information comprises a normal state of the forwarding node and second state occurrence time, and the second state occurrence time is the time for recovering the fault of the forwarding node.
12. A data transmission apparatus, wherein the apparatus is a data generation node, the apparatus comprising:
an obtaining unit, configured to obtain first state information of any forwarding node on a first forwarding path, where the first forwarding path is used to transmit a data stream, and the first state information is used to indicate that the forwarding node fails;
a determining unit, configured to determine a second forwarding path of the data stream according to the first state information, where a node state of each forwarding node on the second forwarding path is a normal state;
a transmission unit, configured to transmit the data stream on the second forwarding path.
13. The method of claim 12, wherein the first status information comprises a failure status of the forwarding node, the failure status indicating that the forwarding node failed, and a first status occurrence time, the first status occurrence time being a time when the forwarding node failed.
14. The apparatus of claim 13, wherein the determining unit is configured to:
and when the first state occurrence time is longer than the state occurrence time of the stored state of the forwarding node, determining the second forwarding path according to the topological connection information of a plurality of target forwarding nodes, wherein the stored state is used for representing the node state of the forwarding node which is stored currently, and the node states of the plurality of target forwarding nodes are normal states.
15. A data transmission apparatus, wherein the apparatus is a forwarding node, the apparatus comprising:
a receiving unit for receiving a data stream;
an adding unit, configured to add a first state occurrence time to the data stream, where the first state occurrence time is a time when the forwarding node fails;
and the sending unit is used for returning the data stream carrying the first state occurrence time to a data generation node which generates the data stream.
16. The apparatus of claim 15, wherein the sending unit is configured to:
acquiring address information of the data generation node from path information carried by the data stream;
and sending the data stream carrying the first state occurrence time to the data generation node according to the address information of the data generation node.
17. A computing device comprising a processor and a memory, the memory having stored therein at least one instruction that is loaded and executed by the processor to perform operations performed by the data transfer method of any of claims 1 to 7.
18. A network device comprising a processor and a memory, the memory having stored therein at least one instruction that is loaded and executed by the processor to perform operations performed by the data transmission method of any one of claims 8 to 11.
19. A computer-readable storage medium having stored therein at least one instruction which is loaded and executed by a processor to perform operations performed by a data transfer method as claimed in any one of claims 1 to 11.
CN202010128210.4A 2020-02-28 2020-02-28 Data transmission method, device, equipment and computer readable storage medium Active CN111404822B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010128210.4A CN111404822B (en) 2020-02-28 2020-02-28 Data transmission method, device, equipment and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010128210.4A CN111404822B (en) 2020-02-28 2020-02-28 Data transmission method, device, equipment and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN111404822A true CN111404822A (en) 2020-07-10
CN111404822B CN111404822B (en) 2022-08-26

Family

ID=71413889

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010128210.4A Active CN111404822B (en) 2020-02-28 2020-02-28 Data transmission method, device, equipment and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN111404822B (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112422428A (en) * 2020-11-09 2021-02-26 迈普通信技术股份有限公司 Link state acquisition method and device, electronic equipment and readable storage medium
CN113660158A (en) * 2021-08-05 2021-11-16 北京网聚云联科技有限公司 Method, server and storage medium for scheduling dynamic routing of Overlay virtual link
CN113676938A (en) * 2021-08-19 2021-11-19 上海上实龙创智能科技股份有限公司 Fault detection method and device, storage medium and electronic equipment
CN114615208A (en) * 2022-03-09 2022-06-10 新华三半导体技术有限公司 Method, device and network chip for transmitting and requesting back pressure information
CN116866450A (en) * 2023-06-08 2023-10-10 兴华永恒(北京)科技有限责任公司 Data transmission method, device, electronic equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102299835A (en) * 2011-08-26 2011-12-28 华为技术有限公司 Ring network fault switching method and apparatus
US20130232259A1 (en) * 2010-07-30 2013-09-05 Telefonaktiebolaget L M Ericsson (Publ) Method and Apparatus for Handling Network Resource Failures in a Router
CN105827524A (en) * 2016-03-18 2016-08-03 联想(北京)有限公司 Information processing method and electronic device
CN106464520A (en) * 2014-03-31 2017-02-22 西门子公司 Detection of a faulty node in a network
CN110336728A (en) * 2019-07-26 2019-10-15 新华三大数据技术有限公司 A kind of message processing method, node device, electronic equipment and readable storage medium storing program for executing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130232259A1 (en) * 2010-07-30 2013-09-05 Telefonaktiebolaget L M Ericsson (Publ) Method and Apparatus for Handling Network Resource Failures in a Router
CN102299835A (en) * 2011-08-26 2011-12-28 华为技术有限公司 Ring network fault switching method and apparatus
CN106464520A (en) * 2014-03-31 2017-02-22 西门子公司 Detection of a faulty node in a network
CN105827524A (en) * 2016-03-18 2016-08-03 联想(北京)有限公司 Information processing method and electronic device
CN110336728A (en) * 2019-07-26 2019-10-15 新华三大数据技术有限公司 A kind of message processing method, node device, electronic equipment and readable storage medium storing program for executing

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112422428A (en) * 2020-11-09 2021-02-26 迈普通信技术股份有限公司 Link state acquisition method and device, electronic equipment and readable storage medium
CN113660158A (en) * 2021-08-05 2021-11-16 北京网聚云联科技有限公司 Method, server and storage medium for scheduling dynamic routing of Overlay virtual link
CN113676938A (en) * 2021-08-19 2021-11-19 上海上实龙创智能科技股份有限公司 Fault detection method and device, storage medium and electronic equipment
CN114615208A (en) * 2022-03-09 2022-06-10 新华三半导体技术有限公司 Method, device and network chip for transmitting and requesting back pressure information
CN114615208B (en) * 2022-03-09 2024-02-23 新华三半导体技术有限公司 Back pressure information transmission and request sending method and device and network chip
CN116866450A (en) * 2023-06-08 2023-10-10 兴华永恒(北京)科技有限责任公司 Data transmission method, device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN111404822B (en) 2022-08-26

Similar Documents

Publication Publication Date Title
CN111404822B (en) Data transmission method, device, equipment and computer readable storage medium
CN101656732B (en) Contouring system
CN112787841B (en) Fault root cause positioning method and device and computer storage medium
US8804490B2 (en) Controller placement for fast failover in the split architecture
US9185027B2 (en) Method and apparatus for resilient routing of control traffic in a split-architecture system
US8897141B2 (en) Network system and routing method
CN110708245B (en) SDN data plane fault monitoring and recovery method under multi-controller architecture
US10411972B2 (en) Determining impact of network failures
CN112564964B (en) Fault link detection and recovery method based on software defined network
EP2837136A1 (en) Network availability analytics
CN106209615B (en) A kind of Dynamic Route Control method and system calculating forward-path based on SPFA algorithm
CN105530115B (en) A kind of method and device for realizing operation management maintainance function
CN102546248B (en) Method, the Apparatus and system of accurate fault location under multi-protocol label switching environment
CN108924011A (en) Monitoring system, relevant device, method and medium for OSPF+ Routing Protocol
CN102792636A (en) Methods, apparatus and communication network for providing restoration survivability
US20230069626A1 (en) Traffic monitoring method, related device, and system
Philip et al. Cross-control: A scalable multi-topology fault restoration mechanism using logically centralized controllers
CN115987883A (en) Forwarding path generation method, SDN controller, slicing network system and storage medium
Gonzalez et al. GEARSHIFT: Guaranteeing availability requirements in SLAs using hybrid fault tolerance
CN114157595A (en) Communication system, data processing method and related equipment
CN114039833B (en) SRv 6-based industrial Internet multi-domain integrated architecture
CN113810282B (en) Path determining method, device and storage medium
JP5045551B2 (en) Route aggregation device and aggregation processing method
Osukhivska et al. Method for Estimating the Convergence Parameters of Dynamic Routing Protocols in Computer Networks
WO2023233470A1 (en) Estimating the cause of network abnormality

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant