CN116471225A - Multicast stream transmission path optimization method and device, electronic equipment and storage medium - Google Patents
Multicast stream transmission path optimization method and device, electronic equipment and storage medium Download PDFInfo
- Publication number
- CN116471225A CN116471225A CN202310691008.6A CN202310691008A CN116471225A CN 116471225 A CN116471225 A CN 116471225A CN 202310691008 A CN202310691008 A CN 202310691008A CN 116471225 A CN116471225 A CN 116471225A
- Authority
- CN
- China
- Prior art keywords
- node
- priority value
- path
- real
- priority
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 89
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 238000005457 optimization Methods 0.000 title description 2
- 238000013439 planning Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 14
- 238000004891 communication Methods 0.000 abstract description 2
- 230000000903 blocking effect Effects 0.000 abstract 1
- 238000004364 calculation method Methods 0.000 description 40
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The application provides a preferred method and device for a multicast stream transmission path, electronic equipment and a storage medium, and relates to the technical field of network communication, wherein the method comprises the following steps: for each alternative path of the first multicast stream to be transmitted, calculating a node priority value of each node on the alternative path; the node priority values comprise real-time priority values, plan priority values and link priority values; accumulating node priority values of all nodes on the alternative path to determine the path priority value of the alternative path; determining an alternative path with the highest path priority value as a target path, and transmitting a first multicast stream based on the target path; the embodiment of the application is particularly suitable for scenes with strong control demands on the multicast streams, and can reasonably distribute the transmission of the multicast streams in the network, improve the network utilization rate and reduce the network blocking.
Description
Technical Field
The present invention relates to the field of network communications technologies, and in particular, to a preferred method and apparatus for a multicast streaming transmission path, an electronic device, and a storage medium.
Background
With the development of IP (Internet Protocol ) in the broadcast television field, the IP video network gradually replaces the conventional SDI (Serial digital interface, digital serial interface) video network, and the video and audio data stream commonly used in the IP video network is a multicast stream based on the IP multicast technology. Typically a video-audio stream contains: 1 video multicast stream, 1 audio multicast stream, 1 auxiliary data multicast stream.
The conventional SDI data line can mix and transmit video and audio streams, so that a path of video and audio signals can be defined and controlled simply by using the SDI line, but in the IP network, the video signals cannot be simply managed by using a single-line single-signal mode. Although the introduced SDN (Software-defined networking) technology can solve the problem of partial video streaming, in the existing SDN implementation mechanism, a path algorithm is mostly simpler, usually a shortest path or minimum delay algorithm is adopted, and real-time path node traffic is not considered, and actual usage planning is not considered.
It should be noted that the information disclosed in the above background section is only for enhancing understanding of the background of the present disclosure and thus may include information that does not constitute prior art known to those of ordinary skill in the art.
Disclosure of Invention
In view of the above-mentioned problems with strong regulatory requirements, especially in the field of broadcast and television, where multicast stream multipath transmission and selection policies of IP remain to be further optimized and improved, the present application has been proposed to provide preferred methods and apparatuses, electronic devices, storage media of multicast stream transmission paths that overcome or at least partially solve the above-mentioned problems, including:
a preferred method of multicasting a streaming path, the method comprising:
for each alternative path of a first multicast stream to be transmitted, calculating a node priority value of each node on the alternative path; the node priority values include a real-time priority value related to a real-time traffic of the node, a planned priority value related to a planned traffic of the node, and a link priority value related to a link corresponding to the node;
determining a path priority value of the alternative path according to node priority values of all nodes on the alternative path;
and determining the alternative path with the highest path priority value as a target path, and transmitting the first multicast stream based on the target path.
Optionally, the calculating, for each alternative path of the first multicast stream to be transmitted, a node priority value of each node on the alternative path further includes:
And sequentially calculating the node priority values of the nodes of the alternative paths according to the transmission sequence of each node on the alternative paths.
Optionally, before determining the path priority value of the alternative path according to the node priority values of all nodes on the alternative path, the method further includes:
and when the node priority value in the alternative path is calculated to be an invalid value, eliminating the alternative path.
Optionally, the method further comprises:
the method comprises the steps of naming a first multicast stream to be transmitted according to a preset naming specification, and determining a first multicast stream name of the first multicast stream, wherein the first multicast stream name comprises transmission flow required by the transmission of the first multicast stream, a first multicast stream sending terminal keyword and a first multicast stream receiving terminal keyword.
Optionally, the calculating, for each alternative path of the first multicast stream to be transmitted, a node priority value of each node on the alternative path includes:
for each node of each alternative path of a first multicast stream to be transmitted, determining a real-time inflow flow of an inflow port corresponding to each node and a real-time outflow flow of an outflow port corresponding to each node;
Determining a real-time priority value of each node according to the transmission flow, the real-time inflow flow and the real-time outflow flow;
determining the planned inflow flow of the inflow port corresponding to each node and the planned outflow flow of the outflow port corresponding to each node;
determining a planned priority value of each node according to the transmission flow, the planned inflow flow and the planned outflow flow;
inquiring a preset link priority table according to the first multicast stream sending end keyword, the first multicast stream receiving end keyword and the links corresponding to each node, and determining the link priority value of each node; the preset link priority table is used for recording priority values associated with the keywords and the links;
and obtaining the node priority value of each node according to the real-time priority value, the planning priority value and the link priority value of each node.
Optionally, the determining the real-time priority value of each node according to the transmission traffic, the real-time inflow traffic and the real-time outflow traffic includes:
determining a real-time inflow priority value of the inflow port according to the relation between the first flow sum of the real-time inflow flow and the transmission flow and the maximum flow value of the inflow port;
Determining a real-time outflow priority value of the outflow port according to the relation between the second flow sum of the real-time outflow flow and the transmission flow and the maximum flow value of the outflow port;
and determining the real-time priority value of each node according to the real-time inflow priority value and the real-time outflow priority value.
Optionally, the method further comprises:
when the real-time inflow priority value of the inflow port is an invalid value, eliminating the alternative paths containing the inflow port;
and when the real-time outflow priority value of the outflow port is an invalid value, eliminating the alternative paths containing the outflow port.
Optionally, the determining the plan priority value of each node according to the transmission traffic, the plan inflow traffic and the plan outflow traffic includes:
determining a planned inflow priority value of the inflow port according to the relation between the third flow sum of the planned inflow flow and the transmission flow and the maximum flow value of the inflow port;
determining a planned outflow priority value of the outflow port according to the relation between the fourth flow sum of the planned outflow flow and the transmission flow and the maximum flow value of the outflow port;
And determining the plan priority value of each node according to the plan inflow priority value and the plan outflow priority value.
Optionally, the method further comprises:
when the planned inflow priority value of the inflow port is an invalid value, rejecting an alternative path containing the inflow port;
and when the planned outflow priority value of the outflow port is an invalid value, eliminating the alternative paths containing the outflow port.
A preferred apparatus for multicasting a streaming path, the apparatus comprising:
the node priority value determining module is used for calculating the node priority value of each node on each alternative path of the first multicast stream to be transmitted; the node priority values include a real-time priority value related to a real-time traffic of the node, a planned priority value related to a planned traffic of the node, and a link priority value related to a link corresponding to the node;
a path priority value determining module, configured to determine a path priority value of the alternative path according to node priority values of all nodes on the alternative path;
and the target path determining module is used for determining the alternative path with the highest path priority value as a target path and transmitting the first multicast stream based on the target path.
Optionally, the node priority value determining module is further configured to sequentially calculate a node priority value of the nodes of the alternative path according to the transmission order of each node on the alternative path.
Optionally, the apparatus further comprises:
and the alternative path eliminating module is used for eliminating the alternative path when the node priority value in the alternative path is calculated to be an invalid value.
Optionally, the apparatus further comprises:
the multicast stream naming module is used for naming a first multicast stream to be transmitted according to a preset naming specification, and determining a first multicast stream name of the first multicast stream, wherein the first multicast stream name comprises transmission flow required by the transmission of the first multicast stream, a first multicast stream sending end keyword and a first multicast stream receiving end keyword.
Optionally, the node priority value determining module includes:
a real-time flow determining submodule, configured to determine, for each node of each alternative path of a first multicast stream to be transmitted, a real-time inflow flow of an inflow port corresponding to each node and a real-time outflow flow of an outflow port corresponding to each node;
a real-time priority value calculation sub-module, configured to determine a real-time priority value of each node according to the transmission traffic, the real-time inflow traffic, and the real-time outflow traffic;
A planned flow rate determining sub-module, configured to determine a planned inflow rate of the inflow port corresponding to each node, and a planned outflow rate of the outflow port corresponding to each node;
a plan priority value calculation sub-module, configured to determine a plan priority value of each node according to the transmission traffic, the plan inflow traffic, and the plan outflow traffic;
the link priority value calculation sub-module is used for inquiring a preset link priority table according to the first multicast stream sending end keyword, the first multicast stream receiving end keyword and the links corresponding to each node, and determining the link priority value of each node; the preset link priority table is used for recording priority values associated with the keywords and the links;
and the node priority value calculation sub-module is used for obtaining the node priority value of each node according to the real-time priority value, the planning priority value and the link priority value of each node.
Optionally, the real-time priority value calculating submodule includes:
a first determining unit, configured to determine a real-time inflow priority value of the inflow port according to a relationship between a first flow sum of the real-time inflow flow and the transmission flow and a maximum flow value of the inflow port;
A second determining unit, configured to determine a real-time outflow priority value of the outflow port according to a relationship between a second flow sum of the real-time outflow flow and the transmission flow and a maximum flow value of the outflow port;
and the third determining unit is used for determining the real-time priority value of each node according to the real-time inflow priority value and the real-time outflow priority value.
Optionally, the apparatus further comprises:
the first rejecting module is used for rejecting the alternative paths containing the inflow port when the real-time inflow priority value of the inflow port is an invalid value;
and the second rejecting module is used for rejecting the alternative paths containing the outflow port when the real-time outflow priority value of the outflow port is an invalid value.
Optionally, the plan priority value calculation sub-module includes:
a fourth determining unit configured to determine a planned inflow priority value of the inflow port according to a relationship between a third flow sum of the planned inflow flow and the transmission flow and a maximum flow value of the inflow port;
a fifth determining unit, configured to determine a planned outflow priority value of the outflow port according to a relationship between a fourth flow sum of the planned outflow flow and the transmission flow and a maximum flow value of the outflow port;
And a sixth determining unit, configured to determine a plan priority value of each node according to the plan inflow priority value and the plan outflow priority value.
Optionally, the apparatus further comprises:
a third reject module, configured to reject an alternative path including the ingress port when the planned ingress priority value of the ingress port is an invalid value;
and the fourth rejection module is used for rejecting the alternative paths containing the outflow port when the planned outflow priority value of the outflow port is an invalid value.
An electronic device comprising a processor, a memory and a computer program stored on the memory and capable of running on the processor, which when executed by the processor implements the preferred method of multicast streaming paths as described above.
A computer readable storage medium having stored thereon a computer program which when executed by a processor implements a preferred method of multicast streaming path as described above.
The application has the following advantages:
according to the preferred method for the multicast stream transmission path, node priority values of all nodes on each alternative path of a first multicast stream to be transmitted are calculated; wherein the node priority values include a real-time priority value associated with a real-time traffic of the node, a planned priority value associated with a planned traffic of the node, and a link priority value associated with a link corresponding to the node; determining the path priority value of the alternative path according to the node priority values of all nodes on the alternative path; determining an alternative path with the highest path priority value as a target path, and transmitting the first multicast stream based on the target path; the optimal path is selected by combining the real-time priority value, the planning priority value and the link priority value of the node, so that the method is particularly suitable for scenes with strong control requirements on multicast streams, can realize reasonable distribution of the transmission of the multicast streams in a network, improves the network utilization rate and reduces network congestion.
Drawings
In order to more clearly illustrate the technical solutions of the present application, the drawings that are needed in the description of the present application will be briefly described below, it being obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained according to these drawings without inventive effort to a person skilled in the art.
Fig. 1 is a flow chart of steps of a preferred method of multicasting a streaming path according to an embodiment of the present application;
FIG. 2 is a schematic diagram of a network topology in an example of the present application;
FIG. 3 is a flowchart illustrating steps for determining a node priority value in an example of the present application;
FIG. 4 is a schematic diagram of synchronously calculating node priority values for a plurality of alternative paths in an example of the present application;
fig. 5 is a block diagram of a preferred apparatus for a multicast streaming path according to an embodiment of the present application.
Detailed Description
In order that the above-recited objects, features and advantages of the present application will become more readily apparent, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments that are illustrated in the appended drawings. It will be apparent that the embodiments described are some, but not all, of the embodiments of the present application. All other embodiments, which can be made by one of ordinary skill in the art based on the embodiments herein without making any inventive effort, are intended to be within the scope of the present application.
One of the core inventions of the embodiments of the present application is that, considering factors such as real-time traffic and a management policy in actual use, by determining at least one alternative path that may be used for transmitting a first multicast stream, for each alternative path, a node priority value of each node on the alternative path is calculated, where the node priority value is obtained according to a real-time priority value related to the real-time traffic of the node, a plan priority value related to the planned traffic of the node, and a node priority value of a link priority value related to a link corresponding to the node, and then determining a path priority value of the alternative path based on node priority values of all nodes on the alternative path, and determining a target path with a highest path priority value from at least one alternative path to transmit the first multicast stream, so as to reasonably allocate propagation of the multicast stream in a network, improve network utilization, and reduce network congestion.
Referring to fig. 1, a flowchart illustrating steps of a preferred method for a multicast stream transmission path according to an embodiment of the present application is particularly suitable for a scenario where there is a need for controlling a multicast stream, for example, a scenario where there is a need for strongly controlling a video and audio signal stream in the broadcast television field. The preferred method for multicast flow path provided in the embodiment of the present application may specifically include the following steps:
Step 102, for each alternative path of the first multicast stream to be transmitted, calculating a node priority value of each node on the alternative path.
The first multicast stream may refer to any path of multicast streams to be transmitted, for any multicast stream to be transmitted, source port information and destination port information of the multicast stream may be determined, and at least one alternative path for transmitting the first multicast stream is determined according to the source port information and the destination port information of the first multicast stream to be transmitted. The source port refers to a port that initially transmits the multicast stream, and the destination port refers to a port that finally receives the multicast stream. In connection with the network topology, at least one path connecting the source port and the destination port may be determined, and the path may be denoted as an alternative path.
Wherein the node priority values include real-time priority values associated with real-time traffic of the node, planned priority values associated with planned traffic of the node, and link priority values associated with links corresponding to the node.
After determining the plurality of alternative paths, the same step of calculating node priority values of the nodes on each alternative path may be performed for each alternative path.
It should be emphasized that in the embodiment of the present application, the node priority value includes a real-time priority value related to a real-time traffic of a node, a planned priority value related to a planned traffic of a node, and a link priority value related to a link corresponding to the node, and the optimal transmission path is determined by integrating multiple factors, so that the rationality of multicast stream transmission can be improved.
Step 103, determining the path priority value of the alternative path according to the node priority values of all the nodes on the alternative path.
For each alternative path, the node priority values of the nodes on the alternative path can be obtained in step 102, and then the path priority value of the alternative path is determined according to the node priority values of all the nodes of the alternative path.
For example, node priority values of all nodes of the alternative path may be accumulated, where the accumulated value is the path priority value of the alternative path.
And 104, determining the alternative path with the highest path priority value as a target path, and transmitting the first multicast stream based on the target path.
After obtaining the path priority value of each alternative path, the path priority values of all the alternative paths may be sorted or compared, the highest path priority value is determined therefrom, the alternative path corresponding to the highest path priority value is determined as the target path, i.e. the optimal path, and the first multicast stream is transmitted through the target path.
According to the embodiment of the application, at least one alternative path for transmitting a first multicast stream is determined according to source port information and destination port information of the first multicast stream to be transmitted; for each alternative path, calculating a node priority value of each node on the alternative path; wherein the node priority values include a real-time priority value associated with a real-time traffic of the node, a planned priority value associated with a planned traffic of the node, and a link priority value associated with a link corresponding to the node; accumulating node priority values of all nodes on the alternative path to determine the path priority value of the alternative path; determining an alternative path with the highest path priority value as a target path, and transmitting the first multicast stream based on the target path; the optimal path is selected by combining the real-time priority value, the planning priority value and the link priority value of the node, so that the method is particularly suitable for scenes with strong control requirements on multicast streams, can realize reasonable distribution of the transmission of the multicast streams in a network, improves the network utilization rate and reduces network congestion.
Next, a preferred method of multicast streaming paths in the present exemplary embodiment will be further described.
Prior to step 102, at least one alternative path for transmitting a first multicast stream may be determined from source port information and destination port information of the first multicast stream to be transmitted.
Taking the transmission of video signals in the field of broadcast television as an example, the video signals comprise video streams, audio streams and auxiliary data streams, wherein the video streams, the audio streams and the auxiliary data streams are all multicast streams.
In some embodiments, for transmission of video signals, the optimal paths for respective transmission may be determined by using the preferred methods of the multicast stream transmission paths provided in the embodiments of the present application for the video stream, the audio stream, and the auxiliary data stream, and transmitted on the respective optimal paths.
Because the data size of the audio stream and the auxiliary data stream is smaller than that of the video stream, in practical use, for the transmission of the video signal, the optimal path may be determined only according to the video stream by adopting the preferred method of the multicast stream transmission path provided in the embodiment of the present application, and the video stream, the audio stream and the auxiliary data stream of the video signal may be transmitted based on the optimal path.
One path of multicast stream needs to pass through one or more switches from a source port to a destination port, and multiple paths are possible to select, in this embodiment of the present application, to avoid confusion, the multicast stream to be transmitted is denoted as a first multicast stream, for example, a video stream in a path of video signal to be transmitted is denoted as a first multicast stream; the path that the first multicast stream can be transmitted from the source port to the destination port is denoted as an alternative path.
As shown in fig. 2, fig. 2 shows a network topology diagram of a source port and a destination port of a first multicast stream in an example, where PC1 represents a transmitting end of the first multicast stream, S1, S2, S3, S4 represent switches that support an OpenFlow protocol and are already under the control of an SDN controller that controls the switches based on the OpenFlow protocol, and PC2 represents a receiving end of the first multicast stream. The connection in the figure represents the available trend of the first multicast stream in the physical line in the network, wherein the connection arrow points to the flow direction representing the first multicast stream, and the two ends of the connection represent the access ports of the respective devices respectively. For example, the connection PC1→S1.1 represents the flow of the first multicast stream from the port of PC1 to the 1 port of switch S1.
According to the connection between the PC1 and the PC2, all available paths of the first multicast stream, namely all alternative paths of the first multicast stream, can be obtained by sequentially arranging and combining. In fig. 2, alternative paths for the first multicast stream are shown in table 1.
TABLE 1
As can be taken from table 1, there are two alternative paths for the first multicast stream: alternative path 1: PC 1- & gt S1.1, S1.11- & gt S2.1, S2.11- & gt S4.1, S4.11- & gt PC2; alternative path 2: PC 1- > S1.1, S1.12- > S3.1, S3.11- > S4.2, S4.11- > PC2.
In step 102, for each alternative path of the first multicast stream to be transmitted, a node priority value for each node on the alternative path is calculated.
Wherein the node priority values include real-time priority values related to real-time traffic of the node, planned priority values related to planned traffic of the node, link priority values related to links corresponding to the node.
In an optional embodiment of the present application, the node priority value of each node on the alternative path may be calculated by a priority calculation module, where the priority calculation module includes three sub-modules, which are a first priority calculation sub-module, a second priority calculation sub-module, and a third priority calculation sub-module, respectively. The first priority computing sub-module can periodically acquire real-time flow information of each port of the node so as to compute a real-time priority value related to the real-time flow of the node; the second priority computing sub-module can acquire the access flow of each node port occupied by the planned multicast stream so as to compute a planning priority value related to the planning flow of the node; the third priority calculating submodule is used for searching a preset link priority table to calculate a link priority value related to a link of the node in the path.
In this embodiment of the present application, the node priority value is related to the sender characteristic and the receiver characteristic of the first multicast stream to be transmitted. The sender characteristic is used for representing the relevant information of the first multicast stream at the sender, and the receiver characteristic is used for representing the relevant information of the first multicast stream at the receiver. In an example, the sender characteristic may include a source channel of the first multicast stream, a code stream to which the first multicast stream belongs, a source name of the first multicast stream; the receiver characteristics may include a destination channel of the first multicast stream, a use of the first multicast stream at the receiver, and a destination name of the first multicast stream. In practical application, specific characteristics of the transmitting end and the receiving end may be determined according to practical requirements.
For example, when the source channel of the first multicast stream is 01 channel (CH 01), the source name of the first multicast stream is LOOP1 (LOOP 1), and the source name is a video stream for LOOP play, the first multicast stream sender characteristic may be denoted as CH01-M-LOOP1, that is, the first multicast stream sender keyword includes keyword 1: CH01, keyword 2: m, keyword 3: LOOP1.
When the destination channel of the first multicast stream is 01 channel (CH 01), the purpose of the first multicast stream at the receiving end is CHECK, and the destination name of the first multicast stream is TEST1 (TEST 1), the characteristics of the receiving end of the first multicast stream may be denoted as CH01-CHECK-TEST1, that is, the keywords of the receiving end of the first multicast stream include keyword 4: CH01, keyword 5: CHECK, keyword 6: TEST1.
In order to facilitate calculation of the node priority value, in some alternative embodiments, a first multicast stream to be transmitted may be named according to a preset naming specification, and a first multicast stream name of the first multicast stream may be determined, where the first multicast stream name includes a transmission flow required for transmission of the first multicast stream, a first multicast stream sender keyword, and a first multicast stream receiver keyword; therefore, the transmission flow, the first multicast stream sending end keyword and the first multicast stream receiving end keyword required by the first multicast stream transmission can be determined according to the first multicast stream name. In one example, the preset naming convention is shown in table 2 below.
TABLE 2
Wherein, the first Part (Part 1) represents the transmission flow of the first multicast stream, the second Part (Part 2) represents the keywords of the first multicast stream transmitting end, 3 keywords of the first multicast stream transmitting end are shown in table 2, keyword 1 (key 1) represents the source channel, keyword 2 (key 2) represents the code stream (comprising a main code stream (M) and a standby code stream (S)), and keyword 3 (key 3) represents the source name; the third Part (Part 3) represents the first multicast stream receiver keywords, and in table 2, there are 3 first multicast stream receiver keywords, namely, keyword 4 (key 4), keyword 5 (key 5) and keyword 6 (key 6), key4 represents the destination channel, key5 represents the purpose (CHECK), PREVIEW (PREVIEW)), and key6 represents the destination name. It will be appreciated that the keywords in the second part of the preset naming convention are related to the sender characteristics, and the keywords in the third part are related to the receiver characteristics.
Illustratively, as shown in fig. 3, the above calculation of the node priority value of each node on each alternative path may include the following steps 1021-1026.
Step 1021, for each node of each alternative path of the first multicast stream to be transmitted, determining a real-time inflow traffic of an inflow port corresponding to each node and a real-time outflow traffic of an outflow port corresponding to each node.
The ingress port and the egress port corresponding to each node are related to an alternative path, for example, in the network topology diagram shown in fig. 2, the node S1 has ports S1.1, S1.11, and S1.12, and in the alternative path 1, the ingress port of the node S1 is S1.1, and the egress port is S1.11.
After determining the inflow port and the outflow port of each node in each alternative path, the real-time inflow flow of the inflow port and the real-time outflow flow of the outflow port can be obtained, wherein the real-time inflow flow refers to the flow occupied by the data currently transmitted to the inflow port; real-time outgoing traffic refers to traffic occupied by data currently output from an outgoing port.
Specifically, the real-time flow of the port corresponding to each node of each alternative path may be obtained through related functions and interfaces of the SDN controller, specifically, the real-time flow of each port may be periodically obtained and recorded in a real-time flow record table, that is, the real-time flow record table is periodically updated, as shown in table 3 below, which is a real-time flow record table of the port corresponding to the required node in an example. The maximum inflow or maximum outflow is generally smaller than the nominal maximum flow of the network port, so as to cope with the situations of instantaneous burst of flow and the like.
TABLE 3 Table 3
Step 1022, determining a real-time priority value of each node according to the transmission traffic, the real-time inflow traffic, and the real-time outflow traffic.
The transmission traffic refers to traffic required for transmitting the first multicast stream.
The real-time priority value of each node is determined according to the transmission flow, the real-time inflow flow and the real-time outflow flow, and it can be understood that the real-time priority value of the node is related to the real-time inflow flow of the inflow port, the real-time outflow flow of the outflow port and the transmission flow required by the first multicast flow to be transmitted.
In an optional embodiment, the determining the real-time priority value of each node according to the transmission traffic, the real-time ingress traffic and the real-time egress traffic may include:
determining a real-time inflow priority value of the inflow port according to the relation between the first flow sum of the real-time inflow flow and the transmission flow and the maximum flow value of the inflow port;
determining a real-time outflow priority value of the outflow port according to the relation between the second flow sum of the real-time outflow flow and the transmission flow and the maximum flow value of the outflow port;
and determining the real-time priority value of each node according to the real-time inflow priority value and the real-time outflow priority value.
Considering that in actual use, for any switch node, when the real-time transmissible traffic of the ingress port is smaller than the transmission traffic of the first multicast stream to be transmitted, the first multicast stream cannot be transmitted; or when the real-time transmissible traffic of the outflow port is smaller than the transmission traffic of the first multicast stream to be transmitted, the first multicast stream cannot be transmitted. The real-time transmissible flow of the inflow port is equal to the difference value between the maximum flow value of the inflow port and the real-time inflow flow; the real-time transmissible flow of the outflow port is equal to the difference between the maximum flow value of the outflow port and the real-time outflow flow.
Therefore, the real-time inflow priority value of the inflow port can be determined according to the relation between the sum of the flows of the real-time inflow flow and the transmission flow and the maximum flow value of the inflow port; for ease of distinction, the flow sum of the real-time inflow flow and the transport flow is denoted as the first flow sum. When the first traffic sum is greater than the maximum traffic value of the ingress port, the ingress port cannot transmit the first multicast stream, and the corresponding real-time ingress priority value is an invalid value, which may be denoted as N/a.
When the real-time inflow priority value or the real-time outflow priority value of the node is an invalid value, the real-time priority value of the node is an invalid value, which means that the node cannot transmit the first multicast stream in the alternative path, and accordingly, the alternative path cannot transmit the first multicast stream, the alternative path can be directly eliminated, and no subsequent steps are executed.
When the real-time inflow priority value of the inflow port is an invalid value, the inflow port cannot receive the first multicast stream, and accordingly, the first multicast stream cannot be transmitted in the alternative path including the inflow port, and the alternative path including the inflow port can be directly eliminated.
When the real-time outflow priority value of the outflow port is an invalid value, it is indicated that the outflow port cannot output the first multicast stream, and accordingly, the first multicast stream cannot be transmitted in the alternative path including the outflow port, and the alternative path including the outflow port can be directly removed.
That is, when the real-time inflow priority value of any one of the inflow ports is an invalid value or the real-time outflow priority value of any one of the outflow ports is an invalid value in the alternative path, the alternative path is rejected.
The ingress port may transmit the first multicast stream when the first traffic sum is less than or equal to the maximum traffic value of the ingress port, and the corresponding real-time ingress priority value may be represented by a fixed value, e.g., when the first traffic sum is less than or equal to the maximum traffic value of the ingress port, the corresponding real-time ingress priority value is 1; the real-time transmissible flow of the inflow port can also be in a linear or nonlinear relation, and in general, the larger the real-time transmissible flow of the inflow port is, the larger the corresponding real-time inflow priority value is; it will be appreciated that at a given maximum flow value into the port, the greater the real-time inflow flow, the smaller the corresponding real-time inflow priority value.
Similarly, a real-time outflow priority value may be determined.
After the real-time inflow priority value and the real-time outflow priority value of the node are obtained, the real-time priority value of the node can be determined according to the real-time inflow priority value and the real-time outflow priority value.
For example, the real-time ingress priority value of a node may be multiplied by the real-time egress priority value, and the resulting product is taken as the real-time priority value of the node.
Of course, the real-time priority value of a node may also be calculated by other calculation means, including, but not limited to, summing the real-time ingress priority value of the node with the real-time egress priority value as the real-time priority value of the node.
Step 1023, determining the planned inflow traffic of the inflow port corresponding to each node and the planned outflow traffic of the outflow port corresponding to each node.
For a node in an alternative path, the planned ingress traffic refers to the predetermined traffic required for the planned multicast stream that needs to be accessed from the node into the ingress port input and egress port output in the alternative path. The planned inflow traffic of the inflow port and the planned outflow traffic of the outflow port of each node may be recorded in a preset planned multicast stream table, which may be preset by a worker. As shown in table 4, an example of a scheduled multicast stream table.
TABLE 4 Table 4
By presetting a planned multicast flow table, it is possible to determine a planned inflow flow of an inflow port and a planned outflow flow of an outflow port corresponding to a node, for example, in table 4, the planned inflow flow of an inflow port S1.1 of a node S1 is 50+50+50=150 Mbps; for another example, in table 4, the planned outgoing traffic of the outgoing port S1.11 of the node S1 is 50+50=100 Mbps.
Step 1024, determining a planned priority value for each node based on the transmitted traffic, the planned ingress traffic, and the planned egress traffic.
The planned priority value for each node is determined from the transport traffic, the planned inflow traffic and the planned outflow traffic, it being understood that the planned priority value for a node is related to the planned inflow traffic for the inflow port, the planned outflow traffic for the outflow port and the transport traffic required for the first multicast stream to be transported.
In an alternative embodiment, the determining the plan priority value of each node according to the transmission traffic, the plan inflow traffic and the plan outflow traffic may include:
determining a planned inflow priority value of the inflow port according to the relation between the third flow sum of the planned inflow flow and the transmission flow and the maximum flow value of the inflow port;
Determining a planned outflow priority value of the outflow port according to the relation between the fourth flow sum of the planned outflow flow and the transmission flow and the maximum flow value of the outflow port;
and determining the plan priority value of each node according to the plan inflow priority value and the plan outflow priority value.
Considering that in practical use, in order to ensure that the planned multicast stream can be smoothly transmitted, for any switch node, when the planned transmissible traffic of the ingress port is smaller than the transmission traffic of the first multicast stream to be transmitted, the first multicast stream cannot be transmitted; alternatively, the first multicast stream cannot be transmitted when the planned transmissible traffic of the egress port is smaller than the transmission traffic of the first multicast stream to be transmitted. Wherein the planned transmissible flow rate of the inflow port is equal to a difference between a maximum flow rate value of the inflow port and the planned inflow flow rate; the planned transmissible flow rate of the outflow port is equal to the difference between the maximum flow rate value of the outflow port and the planned outflow flow rate.
Therefore, the planned inflow priority value of the inflow port can be determined according to the relation between the sum of the flow rates of the planned inflow flow rate and the transmission flow rate and the maximum flow rate value of the inflow port; for ease of distinction, the flow sum of the planned inflow flow and the delivery flow is noted as a third flow sum. When the third traffic sum is greater than the maximum traffic value of the ingress port, the ingress port cannot transmit the first multicast stream, and the corresponding planned ingress priority value is an invalid value, which may be denoted as N/a.
When the planned inflow priority value or the planned outflow priority value of the node is an invalid value, which means that the node cannot transmit the first multicast stream in the alternative path, and accordingly, the alternative path cannot transmit the first multicast stream, the alternative path can be directly eliminated, and no subsequent steps are executed.
When the planned inflow priority value of the inflow port is an invalid value, it is indicated that the inflow port cannot receive the first multicast stream, and accordingly, the first multicast stream cannot be transmitted in the alternative path including the inflow port, and the alternative path including the inflow port can be directly eliminated.
When the planned outflow priority value of the outflow port is an invalid value, it is indicated that the outflow port cannot output the first multicast stream, and accordingly, the first multicast stream cannot be transmitted in the alternative path including the outflow port, and the alternative path including the outflow port can be directly eliminated.
That is, when the planned inflow priority value of any one of the inflow ports is an invalid value or the planned outflow priority value of any one of the outflow ports is an invalid value in the alternative path, the alternative path is eliminated.
The ingress port may transmit the first multicast stream when the third traffic sum is less than or equal to the maximum traffic value of the ingress port, and the corresponding planned ingress priority value may be represented by a fixed value, e.g., when the third traffic sum is less than or equal to the maximum traffic value of the ingress port, the corresponding planned ingress priority value is 1; the flow rate of the inflow port plan transmissible flow can be in a linear or nonlinear relation, and in general, the larger the flow rate of the inflow port plan transmissible flow is, the larger the corresponding plan inflow priority value is; it will be appreciated that at a given maximum flow value of the ingress port, the greater the planned ingress flow, the smaller the corresponding planned ingress priority value.
Likewise, a plan outflow priority value may be determined.
After obtaining the plan inflow priority value and the plan outflow priority value of the node, the plan priority value of the node may be determined according to the plan inflow priority value and the plan outflow priority value.
For example, the plan inflow priority value of a node may be multiplied by the plan outflow priority value, and the resulting product is taken as the plan priority value of the node, where the priority value is typically a natural number.
Of course, the plan priority value of a node may also be calculated by other calculation means, including, but not limited to, summing the plan inflow priority value of the node with the plan outflow priority value as the plan priority value of the node.
Step 1025, inquiring a preset link priority table according to the first multicast stream sending end keyword, the first multicast stream receiving end keyword and the links corresponding to each node, and determining the link priority value of each node; the preset link priority table is used for recording priority values associated with the keywords and the links.
The preset link priority table is used for recording priority values associated with each keyword and each link, and the keywords are related to the sending end characteristic and the receiving end characteristic of the first multicast stream to be transmitted.
The preset link priority table is typically formulated by the relevant personnel based on experience and/or network planning, as shown in table 5 below, which is an example of the preset link priority table in this application.
TABLE 5
Wherein the key of the preset link priority table is divided into three segments (in the form of x.y.z) by points, x represents the part of the name of the multicast stream to which the key belongs (when x=2, the second part is represented; when x=3, the third part is represented); y represents what number of keywords in the belonging part (when y=1, keyword 1 or keyword 4; when y=2, keyword 2 or keyword 5; when y=3, keyword 3 or keyword 6); z represents specific content.
If the content of the key 1 of the second part in the first multicast stream name is CH01, that is, if the content of the key 1 of the second part in the first multicast stream name is CH01 or equal to CH01, the priority value of the corresponding node link s1.11→s2.1 is 100, the priority value of s2.11→s4.1 is 100, and the priority value of s1.12→s3.1 is 0, as in the key 2.1.ch01. Specifically, when the priority value corresponding to the key word of the node link is N/a, that is, the priority value is invalid, which indicates that the link does not allow the multicast stream containing the corresponding key word to pass through, the alternative path can be directly eliminated, and the subsequent steps are not executed.
According to the keywords of each part in the first multicast stream name and the links corresponding to the nodes, the priority values of the keywords of each part in the links corresponding to the nodes can be obtained through table lookup, and then the sum of the priority values corresponding to all the keywords in the first multicast stream name, namely the link priority values of the nodes, is obtained.
And 1026, obtaining the node priority value of each node according to the real-time priority value, the plan priority value and the link priority value of each node.
And when the real-time priority value, the plan priority value and the link priority value of a node are all effective values, obtaining the node priority value of the node according to the real-time priority value, the plan priority value and the link priority value.
In an alternative embodiment, according to the real-time priority value, the plan priority value and the link priority value, the real-time priority value, the plan priority value and the link priority value of the same node may be accumulated and summed to obtain the node priority value of the node.
In other alternative embodiments, the node priority value of the node is obtained according to the real-time priority value, the plan priority value, and the link priority value, including but not limited to, continuously multiplying the real-time priority value of the same node with the plan priority value and the link priority value.
Optionally, the calculating, for each alternative path, a node priority value of each node on the alternative path may further include:
and sequentially calculating the node priority values of the nodes of the alternative paths according to the transmission sequence of each node on the alternative paths.
In this embodiment, in the process of calculating the node priority value of each node on each alternative path, the node priority values may be calculated sequentially according to the transmission order of each node on the alternative path.
It will be appreciated that after a plurality of alternative paths are determined, the same step may be performed for each alternative path, namely calculating node priority values for the various nodes on that alternative path. As shown in fig. 4, the calculation of the nodes of the multiple alternative paths should be a parallel alignment process, that is, the calculation is started from the first node of all the alternative paths, the node priority value judgment of the first node is started after the 1 st node of all the alternative paths is calculated, that is, when the node priority value is an invalid value, the corresponding invalid alternative paths are removed, and then the next node priority value of the rest alternative paths is calculated until all the nodes are calculated.
According to the transmission sequence of each node, node priority values are calculated in sequence, in the process of calculating the node priority values, when the real-time/planned inflow priority values of the inflow ports of the nodes are calculated to be invalid values, all the alternative paths containing the inflow ports are directly removed, and similarly, when the real-time/planned outflow priority values of the outflow ports of the nodes are calculated to be invalid values, all the alternative paths containing the outflow ports are directly removed, so that unnecessary calculation resources can be reduced, and the selection efficiency of target paths is improved.
In step 103, a path priority value of the alternative path is determined according to node priority values of all nodes on the alternative path.
For each alternative path, the node priority values of the nodes on the alternative path can be obtained through step 102, and then the node priority values of all the nodes of the alternative path are accumulated, and the accumulated value is the path priority value of the alternative path.
In step 104, the alternative path with the highest path priority value is determined as a target path, and the first multicast stream is transmitted based on the target path.
After obtaining the path priority value of each alternative path, the path priority values of all the alternative paths may be sorted or compared, the highest path priority value is determined therefrom, the alternative path corresponding to the highest path priority value is determined as the target path, i.e. the optimal path, and the first multicast stream is transmitted through the target path.
According to the method and the device for transmitting the first multicast stream, the real-time priority value, the planning priority value and the link priority value of the node are calculated to obtain the node priority value of the node, then the path priority value is determined according to the node priority value, finally the alternative path with the highest path priority value is determined to be the target path to transmit the first multicast stream, the optimal transmission path is determined by integrating various factors, and the rationality of multicast stream transmission can be improved.
In addition, in the process of calculating the node priority value of each alternative path, the node priority values are sequentially calculated according to the transmission sequence of each node, and when the node priority value in each alternative path is calculated to be an invalid value, the alternative path is removed, so that the invalid alternative path can be removed in time, unnecessary waste of calculation resources is reduced, and the efficiency of determining the optimal path is improved.
For the convenience of understanding the present solution by those skilled in the art, a preferred method of multicast streaming transmission path provided in the embodiment of the present application will be exemplarily explained and illustrated with reference to the network topology of fig. 2.
In this example, after the first multicast stream to be transmitted is named according to the preset naming specification, the name of the obtained first multicast stream is 50 mbps@ch01-M-lop1@check-TEST 1, and the preset naming specification is subjected to style parsing according to table 2, so that the following information can be obtained:
A first part: the transmission flow of the first multicast stream is 50Mbps;
a second part: the source channel of the first multicast stream is CH01, belongs to the main path M stream, and has the source name LOOP1;
third section: the destination channel of the first multicast stream is CH01, the purpose is CHECK, and the destination name is TEST1.
All available network paths from PC1 to PC2 are available as alternative paths for the first multicast flow described above, by means of an SDN controller module based on the OpenFlow protocol, the alternative paths being shown in table 1.
Then, for each alternative path, path priority analysis is performed on each node from the beginning of the first node to the ending of the last node of the alternative path, namely, a node priority value of the node is calculated, wherein the node priority value comprises a real-time priority value, a planning priority value and a link priority value.
The node priority value calculation process of each node comprises the following four main steps:
first, a plan priority value of the node is calculated.
Taking the node priority value of the node 1 in the calculation alternative path 1 as an example, the priority calculation module (abbreviated as MC module) calls the first priority calculation sub-module (abbreviated as mc.c1) to calculate the real-time priority PRI of each port of the node 1 runtime Further, the real-time priority value NPRI of the node 1 is calculated runtime . For an ingress port, real-time priority may be understood as a real-time ingress priority value, and for an egress port, real-time priority may be understood as a real-time egress priority value. For simplicity of description, the present example uses a 1-N/a judgment method to calculate the port real-time priority, that is, if the port traffic does not reach the upper limit, the real-time priority is 1, otherwise, N/a is used, which indicates that the port is prohibited from being used, and the corresponding port real-time priority calculation formula is as follows:
PRI runtime =F current +F add ;
PRI runtime <F max ?1 : N/A;
wherein PRI runtime Representing port real-time priority, F current Representing port real-time ingress (or egress) traffic, F add Representing the traffic of the current stream to be added, i.e. the transmission traffic of the first multicast stream, F max Indicating maximum ingress of port (orOutlet) flow.
The real-time priority value of the node is calculated as follows:
NPRI runtime =PRI runtime1 ×PRI runtime2 ;
wherein, NPRI runtime Representing real-time priority values, PRI, of nodes runtime1 Real-time priority, PRI, representing the first port (egress port) of a node runtime2 Representing the real-time priority of the second port (ingress port) of the node. It should be noted that if the real-time priority of any one port is N/a, the real-time priority value of the node is N/a.
A port with a priority value of N/a will be eliminated immediately, meaning that alternative paths containing that port will also be eliminated. In the node 1, the PC1 is not in SDN network management and control, and considers that it does not limit traffic, so its priority is 1, the S1.1 port belongs to the ingress port in the node 1, and in SDN network management and control, according to the above port real-time priority calculation formula, the real-time ingress traffic F of the S1.1 port is queried from the pre-cached latest real-time traffic table current =100 Mbps, maximum ingress flow F max =1000 Mbps, traffic F of current to-be-added flow add The real-time priority of the port S1.1 is 1, the real-time priority of the port S1.11 is 1, and the real-time priority value NPRI of the node 1 is finally obtained runtime =1×1=1。
Second, calculate the plan priority value of the node.
The MC module invokes a second priority calculation sub-module (abbreviated mc.c2) to calculate the plan priority value PRI for node 1 plan The process of calculating the planned priority value is similar to the process of calculating the real-time priority value, and for the sake of understanding, the port planned priority is calculated by adopting a 1-N/A judging method, that is, if the port planned flow is smaller than the port maximum flow, the priority is 1, otherwise, the priority is N/A. The corresponding port plan priority calculation formula is as follows:
PRI plan =F planed +F add ;
PRI plan <F max ?1 : N/A;
Wherein PRI plan Representing the planned priority of ports, F planed Representing planned ingress (or egress) traffic of a port, i.e. planned ingress (or egress) traffic of a port, F max Representing the maximum ingress (or egress) traffic of the port.
The calculation formula of the planning priority value of the node is as follows:
NPRI plan =PRI plan1 ×PRI plan2 ;
wherein, NPRI plan PRI representing a planning priority value of a node plan1 PRI representing the intended priority of the first port (egress port) of a node plan2 Representing the planned priority of the second port (ingress port) of the node. If any one of the port plan priorities is N/a, the plan priority value of the node is N/a.
For port PC1 in node 1, its maximum traffic is considered to be unrestricted because it is not within the SDN network regulatory range, and therefore its priority is noted as 1, for port S1.1, the mc.c2 module looks up the multicast flow paths for all the input S1.1 ports in table 4 and counts the sum of the traffic for the relevant path inputs S1.1. According to table 4, a total of 3 multicast streams radial S1.1 generate an ingress flow, the sum of which is 50+50+50=150 Mbps, according to 3, the maximum ingress flow of a port S1.1 is 1000Mbps, the plan priority is calculated according to a port plan priority calculation formula to obtain 1, and similarly, the plan priority of a port S1.11 is also 1, and finally the plan priority value of a node 1 is calculated according to a node plan priority value calculation formula to obtain an NPRI plan =1×1=1。
And thirdly, calculating the link priority value of the node.
The MC module invokes a third priority calculation sub-module (abbreviated as mc.c3) to calculate the link priority value PRI of node 1 based on the first multicast stream name link . The link priority value may be calculated by using a table look-up method, according to the first multicast stream name in this example: 50Mbps@CH01-M-LOOP1@CH01-CHECK-TEST1, the priority corresponding to each keyword can be obtained by looking up table 5, and the priorities can be accumulated to obtain the sectionLink priority value for point 1. The calculation formula of the link priority value of the node is as follows:
NPRI link =ƩPRI link ;
wherein, NPRI link PRI representing a link priority value of a node link It should be noted that, if any PRI is used to represent the priority value of a single key corresponding to a node link With a value of N/A, NPRI link =n/a, if PRI link Number 0, NPRI link =0, taking the smallest priority.
Since the link of node 1 cannot be queried from the table, its link priority nprilink=0. For illustration, it can be seen that the links of node 2 of alternative path 1 can be queried from the table with a link priority value of 500, as shown in table 6 below.
TABLE 6
And step four, merging the real-time priority value, the planning priority value and the link priority value of the node to obtain the node priority value of the node.
According to the calculated real-time priority value, the plan priority value and the link priority value, the node priority value of the node 1 can be calculated, and for convenience of description, the calculation formula of the node priority value is as follows:
NPRI=NPRI runtime +NPRI plan +NPR Ilink ;
the NPRI represents a node priority value of a node, and it should be noted that if any one of the real-time priority value, the plan priority value, and the link priority value is N/a, the node priority value is N/a.
The real-time priority value of the node 1 is 1 through the first step, the plan priority value of the node 1 is 1 through the second step, and the link priority value of the node 1 is 0 through the third step, so that the node priority value of the node 1 can be calculated according to a calculation formula of the node priority value to be npri=1+1+0=2.
After the node priority values of all the nodes of the alternative path are obtained, accumulating the node priority values to obtain the path priority value of the alternative path.
Specifically, the priority calculating module applies the above four main steps to all nodes on each alternative path, so as to obtain node priority values of all nodes, and further obtain a path priority value PPRI of the whole alternative path, where a path priority value calculating formula is as follows:
PPRI = Ʃ NPRI;
Wherein PPRI represents a path priority value.
The path priority value calculation results of the alternative path 1 and the alternative path 2 are shown in table 7 below.
TABLE 7
I.e. alternative path 1 has a path priority value 1008 and alternative path 2 has a path priority value 208.
And finally, determining the alternative path with the highest path priority value as the optimal path, namely the target path, so as to transmit the first multicast stream.
In this example, the path priority value of the alternative path 1 is highest, and thus, the target path is the alternative path 1.
For ease of understanding, in a network environment such as that of fig. 2, if the first multicast stream name of the first multicast stream from PC1 to PC2 is 50mbps@ch02-S-test1@ch02-CHECK-TEST2, there are also two alternative paths from PC1 to PC2, and the path priority value table shown in table 8 can be obtained according to the path priority value calculation rule described above.
TABLE 8
The node priority value of the second node of the alternative path 1 is N/a, so that the path priority value of the alternative path 1 is directly determined to be N/a without calculating the node priority value of the subsequent node. The path priority value of the alternative path 2 is 1008, and thus, in this example, the alternative path 2 is the target path.
It should be noted that, for simplicity of description, the method embodiments are shown as a series of acts, but it should be understood by those skilled in the art that the embodiments are not limited by the order of acts described, as some steps may occur in other orders or concurrently in accordance with the embodiments. Further, those skilled in the art will appreciate that the embodiments described in the specification are all preferred embodiments and that the acts referred to are not necessarily required by the embodiments of the present application.
Referring to fig. 5, there is shown a block diagram of a preferred apparatus embodiment of a multicast streaming path of the present application, corresponding to the preferred method embodiment of the multicast streaming path described above, in this embodiment of the present application, the apparatus may include the following modules:
a node priority value determining module 502, configured to calculate, for each alternative path of a first multicast stream to be transmitted, a node priority value of each node on the alternative path; the node priority values comprise real-time priority values related to real-time traffic of the nodes, planned priority values related to planned traffic of the nodes, and link priority values related to links corresponding to the nodes;
A path priority value determining module 503, configured to determine a path priority value of the alternative path according to node priority values of all nodes on the alternative path;
a target path determining module 504, configured to determine the candidate path with the highest path priority value as a target path, and transmit the first multicast stream based on the target path.
Optionally, the node priority value determining module 502 is further configured to sequentially calculate a node priority value of the nodes of the alternative path according to the transmission order of each node on the alternative path.
Optionally, the apparatus may further include:
and the alternative path eliminating module is used for eliminating the alternative path when the node priority value in the alternative path is calculated to be an invalid value.
Optionally, the apparatus may further include:
the multicast stream naming module is used for naming a first multicast stream to be transmitted according to a preset naming specification, and determining a first multicast stream name of the first multicast stream, wherein the first multicast stream name comprises transmission flow required by the transmission of the first multicast stream, a first multicast stream sending end keyword and a first multicast stream receiving end keyword.
Optionally, the node priority value determining module 502 includes:
a real-time flow determining submodule, configured to determine, for each node of each alternative path of a first multicast stream to be transmitted, a real-time inflow flow of an inflow port corresponding to each node and a real-time outflow flow of an outflow port corresponding to each node;
a real-time priority value calculation sub-module, configured to determine a real-time priority value of each node according to the transmission traffic, the real-time inflow traffic, and the real-time outflow traffic;
a planned flow rate determining sub-module, configured to determine a planned inflow rate of the inflow port corresponding to each node, and a planned outflow rate of the outflow port corresponding to each node;
a plan priority value calculation sub-module, configured to determine a plan priority value of each node according to the transmission traffic, the plan inflow traffic, and the plan outflow traffic;
the link priority value calculation sub-module is used for inquiring a preset link priority table according to the first multicast stream sending end keyword, the first multicast stream receiving end keyword and the links corresponding to each node, and determining the link priority value of each node; the preset link priority table is used for recording priority values associated with the keywords and the links;
And the node priority value calculation sub-module is used for obtaining the node priority value of each node according to the real-time priority value, the planning priority value and the link priority value of each node.
Optionally, the real-time priority value calculating sub-module may include:
a first determining unit, configured to determine a real-time inflow priority value of the inflow port according to a relationship between a first flow sum of the real-time inflow flow and the transmission flow and a maximum flow value of the inflow port;
a second determining unit, configured to determine a real-time outflow priority value of the outflow port according to a relationship between a second flow sum of the real-time outflow flow and the transmission flow and a maximum flow value of the outflow port;
and the third determining unit is used for determining the real-time priority value of each node according to the real-time inflow priority value and the real-time outflow priority value.
Optionally, the apparatus may further include:
the first rejecting module is used for rejecting the alternative paths containing the inflow port when the real-time inflow priority value of the inflow port is an invalid value;
and the second rejecting module is used for rejecting the alternative paths containing the outflow port when the real-time outflow priority value of the outflow port is an invalid value.
Optionally, the plan priority value calculation sub-module may include:
a fourth determining unit configured to determine a planned inflow priority value of the inflow port according to a relationship between a third flow sum of the planned inflow flow and the transmission flow and a maximum flow value of the inflow port;
a fifth determining unit, configured to determine a planned outflow priority value of the outflow port according to a relationship between a fourth flow sum of the planned outflow flow and the transmission flow and a maximum flow value of the outflow port;
and a sixth determining unit, configured to determine a plan priority value of each node according to the plan inflow priority value and the plan outflow priority value.
Optionally, the apparatus may further include:
a third reject module, configured to reject an alternative path including the ingress port when the planned ingress priority value of the ingress port is an invalid value;
and the fourth rejection module is used for rejecting the alternative paths containing the outflow port when the planned outflow priority value of the outflow port is an invalid value.
For the device embodiments, since they are substantially similar to the method embodiments, the description is relatively simple, and reference is made to the description of the method embodiments for relevant points.
The embodiment of the application also discloses an electronic device, comprising a processor, a memory and a computer program stored on the memory and capable of running on the processor, wherein the computer program realizes the preferred method of the multicast stream transmission path when being executed by the processor.
The embodiments also disclose a computer readable storage medium having stored thereon a computer program which when executed by a processor implements a preferred method of multicast streaming path as described above.
In this specification, each embodiment is described in a progressive manner, and each embodiment is mainly described by differences from other embodiments, and identical and similar parts between the embodiments are all enough to be referred to each other.
It will be apparent to those skilled in the art that embodiments of the present application may be provided as a method, apparatus, or computer program product. Accordingly, the present embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present application may take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
Embodiments of the present application are described with reference to flowchart illustrations and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing terminal device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal device, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
All the actions for obtaining information proposed in the embodiments of the present application are performed under the premise of conforming to the corresponding data protection regulation policy of the country of the location, and obtaining the authorization given by the owner of the corresponding device.
While preferred embodiments of the present embodiments have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. It is therefore intended that the following claims be interpreted as including the preferred embodiments and all such alterations and modifications as fall within the scope of the embodiments of the present application.
Finally, it is further noted that relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or terminal that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or terminal. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article or terminal device comprising the element.
The foregoing describes in detail a preferred method and apparatus for multicast streaming transmission path, electronic device, and storage medium, and specific examples are applied to illustrate the principles and embodiments of the present application, and the description of the foregoing examples is only used to help understand the method and core idea of the present application; meanwhile, as those skilled in the art will have modifications in the specific embodiments and application scope in accordance with the ideas of the present application, the present description should not be construed as limiting the present application in view of the above.
Claims (12)
1. A preferred method of multicasting a streaming path, the method comprising:
for each alternative path of a first multicast stream to be transmitted, calculating a node priority value of each node on the alternative path; the node priority values include a real-time priority value related to a real-time traffic of the node, a planned priority value related to a planned traffic of the node, and a link priority value related to a link corresponding to the node;
determining a path priority value of the alternative path according to node priority values of all nodes on the alternative path;
And determining the alternative path with the highest path priority value as a target path, and transmitting the first multicast stream based on the target path.
2. The method of claim 1, wherein the calculating node priority values for each node on each alternative path of the first multicast stream to be transmitted further comprises:
and sequentially calculating the node priority values of the nodes of the alternative paths according to the transmission sequence of each node on the alternative paths.
3. The method of claim 2, wherein prior to said determining the path priority value for the alternative path based on the node priority values for all nodes on the alternative path, the method further comprises:
and when the node priority value in the alternative path is calculated to be an invalid value, eliminating the alternative path.
4. A method according to any one of claims 1-3, wherein the method further comprises:
the method comprises the steps of naming a first multicast stream to be transmitted according to a preset naming specification, and determining a first multicast stream name of the first multicast stream, wherein the first multicast stream name comprises transmission flow required by the transmission of the first multicast stream, a first multicast stream sending terminal keyword and a first multicast stream receiving terminal keyword.
5. The method of claim 4, wherein the calculating, for each alternative path of the first multicast stream to be transmitted, a node priority value for each node on the alternative path comprises:
for each node of each alternative path of a first multicast stream to be transmitted, determining a real-time inflow flow of an inflow port corresponding to each node and a real-time outflow flow of an outflow port corresponding to each node;
determining a real-time priority value of each node according to the transmission flow, the real-time inflow flow and the real-time outflow flow;
determining the planned inflow flow of the inflow port corresponding to each node and the planned outflow flow of the outflow port corresponding to each node;
determining a planned priority value of each node according to the transmission flow, the planned inflow flow and the planned outflow flow;
inquiring a preset link priority table according to the first multicast stream sending end keyword, the first multicast stream receiving end keyword and the links corresponding to each node, and determining the link priority value of each node; the preset link priority table is used for recording priority values associated with the keywords and the links;
And obtaining the node priority value of each node according to the real-time priority value, the planning priority value and the link priority value of each node.
6. The method of claim 5, wherein said determining a real-time priority value for each node based on said traffic, said real-time ingress traffic, and said real-time egress traffic comprises:
determining a real-time inflow priority value of the inflow port according to the relation between the first flow sum of the real-time inflow flow and the transmission flow and the maximum flow value of the inflow port;
determining a real-time outflow priority value of the outflow port according to the relation between the second flow sum of the real-time outflow flow and the transmission flow and the maximum flow value of the outflow port;
and determining the real-time priority value of each node according to the real-time inflow priority value and the real-time outflow priority value.
7. The method of claim 6, wherein the method further comprises:
when the real-time inflow priority value of the inflow port is an invalid value, eliminating the alternative paths containing the inflow port;
And when the real-time outflow priority value of the outflow port is an invalid value, eliminating the alternative paths containing the outflow port.
8. The method of claim 5, wherein said determining a plan priority value for each node based on said traffic, said planned inflow traffic, and said planned outflow traffic comprises:
determining a planned inflow priority value of the inflow port according to the relation between the third flow sum of the planned inflow flow and the transmission flow and the maximum flow value of the inflow port;
determining a planned outflow priority value of the outflow port according to the relation between the fourth flow sum of the planned outflow flow and the transmission flow and the maximum flow value of the outflow port;
and determining the plan priority value of each node according to the plan inflow priority value and the plan outflow priority value.
9. The method of claim 8, wherein the method further comprises:
when the planned inflow priority value of the inflow port is an invalid value, rejecting an alternative path containing the inflow port;
and when the planned outflow priority value of the outflow port is an invalid value, eliminating the alternative paths containing the outflow port.
10. A preferred apparatus for multicasting a streaming path, the apparatus comprising:
the node priority value determining module is used for calculating the node priority value of each node on each alternative path of the first multicast stream to be transmitted; the node priority values include a real-time priority value related to a real-time traffic of the node, a planned priority value related to a planned traffic of the node, and a link priority value related to a link corresponding to the node;
a path priority value determining module, configured to determine a path priority value of the alternative path according to node priority values of all nodes on the alternative path;
and the target path determining module is used for determining the alternative path with the highest path priority value as a target path and transmitting the first multicast stream based on the target path.
11. An electronic device comprising a processor, a memory and a computer program stored on the memory and capable of running on the processor, which when executed by the processor implements the preferred method of multicast streaming path according to any of claims 1 to 9.
12. A computer readable storage medium, characterized in that the computer readable storage medium has stored thereon a computer program which, when executed by a processor, implements a preferred method of multicast streaming path according to any of claims 1 to 9.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310691008.6A CN116471225B (en) | 2023-06-12 | 2023-06-12 | Multicast stream transmission path optimization method and device, electronic equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310691008.6A CN116471225B (en) | 2023-06-12 | 2023-06-12 | Multicast stream transmission path optimization method and device, electronic equipment and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116471225A true CN116471225A (en) | 2023-07-21 |
CN116471225B CN116471225B (en) | 2023-08-18 |
Family
ID=87177391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310691008.6A Active CN116471225B (en) | 2023-06-12 | 2023-06-12 | Multicast stream transmission path optimization method and device, electronic equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116471225B (en) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025628A (en) * | 2010-12-07 | 2011-04-20 | 北京邮电大学 | Distribution method of network flow |
JP2011182294A (en) * | 2010-03-03 | 2011-09-15 | Kddi Corp | Management apparatus, program, and traffic control method |
CN104202243A (en) * | 2014-09-06 | 2014-12-10 | 国家电网公司 | Multipath simultaneous transmission method in wide area backup protection |
CN104301256A (en) * | 2014-10-31 | 2015-01-21 | 杭州华三通信技术有限公司 | Method for dynamically reserving bandwidths in SDN and controller |
CN104780147A (en) * | 2014-01-14 | 2015-07-15 | 杭州华三通信技术有限公司 | BYOD access control method and device |
CN109218213A (en) * | 2018-09-25 | 2019-01-15 | 中国银联股份有限公司 | A kind of flow control method and device |
CN109302346A (en) * | 2018-10-25 | 2019-02-01 | 网宿科技股份有限公司 | A kind of method and apparatus of transmitting data stream amount |
CN109495908A (en) * | 2018-12-05 | 2019-03-19 | 国网辽宁省电力有限公司大连供电公司 | It is a kind of based on the wireless network optimized approach with super low-power consumption Internet of Things wireless fusion of LTE |
CN112260950A (en) * | 2020-10-19 | 2021-01-22 | 桂林电子科技大学 | Cloud storage network multicast stream scheduling method based on service priority differentiation |
CN113949659A (en) * | 2021-10-14 | 2022-01-18 | 中电福富信息科技有限公司 | Intelligent routing method and device for traffic bearing path |
CN114024907A (en) * | 2021-11-15 | 2022-02-08 | 中国电信集团系统集成有限责任公司 | Flow scheduling method and system under multi-port annular structure |
-
2023
- 2023-06-12 CN CN202310691008.6A patent/CN116471225B/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011182294A (en) * | 2010-03-03 | 2011-09-15 | Kddi Corp | Management apparatus, program, and traffic control method |
CN102025628A (en) * | 2010-12-07 | 2011-04-20 | 北京邮电大学 | Distribution method of network flow |
CN104780147A (en) * | 2014-01-14 | 2015-07-15 | 杭州华三通信技术有限公司 | BYOD access control method and device |
CN104202243A (en) * | 2014-09-06 | 2014-12-10 | 国家电网公司 | Multipath simultaneous transmission method in wide area backup protection |
CN104301256A (en) * | 2014-10-31 | 2015-01-21 | 杭州华三通信技术有限公司 | Method for dynamically reserving bandwidths in SDN and controller |
CN109218213A (en) * | 2018-09-25 | 2019-01-15 | 中国银联股份有限公司 | A kind of flow control method and device |
CN109302346A (en) * | 2018-10-25 | 2019-02-01 | 网宿科技股份有限公司 | A kind of method and apparatus of transmitting data stream amount |
CN109495908A (en) * | 2018-12-05 | 2019-03-19 | 国网辽宁省电力有限公司大连供电公司 | It is a kind of based on the wireless network optimized approach with super low-power consumption Internet of Things wireless fusion of LTE |
CN112260950A (en) * | 2020-10-19 | 2021-01-22 | 桂林电子科技大学 | Cloud storage network multicast stream scheduling method based on service priority differentiation |
CN113949659A (en) * | 2021-10-14 | 2022-01-18 | 中电福富信息科技有限公司 | Intelligent routing method and device for traffic bearing path |
CN114024907A (en) * | 2021-11-15 | 2022-02-08 | 中国电信集团系统集成有限责任公司 | Flow scheduling method and system under multi-port annular structure |
WO2023082431A1 (en) * | 2021-11-15 | 2023-05-19 | 中电信数智科技有限公司 | Traffic scheduling method and system under multi-square ring structure |
Also Published As
Publication number | Publication date |
---|---|
CN116471225B (en) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5600638A (en) | Method and system for improving the processing time of the path selection in a high speed packet switching network | |
US8400920B2 (en) | Method for optimizing the transfer of information in a telecommunication network | |
CN103384159B (en) | QOS on bonded channels of a shared access cable network | |
Cobb et al. | Time-shift scheduling-fair scheduling of flows in high-speed networks | |
US8111714B2 (en) | Method and arrangement relating to admission control of broadband services | |
CN104660507B (en) | The control method and device of forwarding data flow routing | |
CN105103492A (en) | Controlling a topology of a network | |
US20220217089A1 (en) | Path traffic allocation method, network device, and network system | |
CN112583636B (en) | Construction method of government network slice, electronic equipment and storage medium | |
CN110300431A (en) | A kind of data traffic processing method and related network device | |
CN101778114A (en) | Method for multi-channel parallel transmission of streaming media services on basis of load balance | |
US20210306267A1 (en) | Optimized network latency using in-band telemetry | |
JP2006506845A (en) | How to select a logical link for a packet in a router | |
CN116192651B (en) | Time sensitive network scheduling method based on bandwidth reservation | |
US7920463B2 (en) | Method and network control unit for deactivating a network component | |
CN116471225B (en) | Multicast stream transmission path optimization method and device, electronic equipment and storage medium | |
US11153214B2 (en) | In service flow capability update in guaranteed bandwidth multicast network | |
Sarkar et al. | Fair allocation of utilities in multirate multicast networks | |
JP4393132B2 (en) | Multi-layer user management method of multi-casting proxy | |
Kaur | An overview of quality of service computer network | |
JP2008085686A (en) | Reservation admission control system, method and program | |
US20080101359A1 (en) | Multicast communication resource management apparatus and methods | |
CN118433759B (en) | Data transmission method, device, equipment and medium | |
Moshak | Justification of the Choice of Criterion of Effeciency of Infocommunication Network | |
US12075278B2 (en) | Traffic processing monitoring method |
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 |