CN114745322A - Video stream routing method based on genetic algorithm in SDN environment - Google Patents
Video stream routing method based on genetic algorithm in SDN environment Download PDFInfo
- Publication number
- CN114745322A CN114745322A CN202210301100.2A CN202210301100A CN114745322A CN 114745322 A CN114745322 A CN 114745322A CN 202210301100 A CN202210301100 A CN 202210301100A CN 114745322 A CN114745322 A CN 114745322A
- Authority
- CN
- China
- Prior art keywords
- path
- population
- paths
- fitness
- transmission
- 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
Images
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/302—Route determination based on requested QoS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- 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/02—Topology update or discovery
-
- 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
- H04L45/122—Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
-
- 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/14—Routing performance; Theoretical aspects
-
- 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/30—Routing of multiclass traffic
-
- 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/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
-
- 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/38—Flow based routing
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Genetics & Genomics (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Physiology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The embodiment of the application provides a video stream routing method based on a genetic algorithm in an SDN environment, which has the technical key points that: after the received initial message data is a routing request, extracting message header information to obtain source and destination switch information and application layer protocol types; judging whether the initial message data is a video streaming media or not according to the source-destination switch information and the application layer protocol type, if not, determining the initial message data is a service data stream, and obtaining a first transmission path through Dijstra calculation to guide transmission; if the video streaming media are the video streaming media, acquiring a second transmission path between source and target switches by using a genetic algorithm, and issuing the second transmission path to the corresponding switch so as to guide the transmission of the video streaming media; when the first transmission path or the second transmission path is blocked, a genetic algorithm is used for replanning the path so as to guide transmission. The problem of transmission performance of the streaming media service in the related technology is at least solved, so that the video service quality is further improved.
Description
Technical Field
The application relates to the technical field of internet, in particular to a video stream routing method based on a genetic algorithm in an SDN environment.
Background
The rise and rapid development of the internet technology promote the development of video services, and the life and work of people are continuously changed by a series of streaming media video applications such as live video, video on demand, video conference, surveillance video and the like. With the upgrade and innovation of network technology, service stream data on the internet will be more and more, and the application of streaming media services will gradually occupy the half-wall river mountain of network traffic, and if a better video watching effect is desired, sufficient network bandwidth, low time delay and low packet loss rate need to be ensured in the video transmission process, but as far as today, the traditional network has great limitations, and cannot provide resources without limitation to meet the transmission requirements of various videos. Such services have very strict QoS requirements, but the conventional network architecture at present has many disadvantages, which cannot completely satisfy the transmission of the streaming media service, resulting in poor transmission performance of the streaming media service.
In the related art, for the dilemma encountered by the video streaming media transmission in the network, the IETF has proposed many quality of service mechanisms and models to try to solve the problem, but these mechanisms and models are all established on a distributed network architecture, which makes it difficult to collect global network state information, so that a situation that a data transmission policy cannot be changed in time often occurs, the quality of service of the video streaming media cannot be effectively guaranteed, and when a large number of data requests are overlapped, a transmission path is easily congested, which further causes that the transmitted video data needs a long time to reach an opposite end or is directly discarded due to an excessively long congestion time, thereby seriously affecting the quality of service of the video.
Based on the above technical requirements, how to improve the transmission performance of the streaming media service and improve the video service quality is a problem that needs to be solved urgently.
Disclosure of Invention
The embodiment of the application provides a video stream routing method based on a genetic algorithm in an SDN environment, so as to at least solve the problem of transmission performance of streaming media service in the related technology, thereby further improving the video service quality.
In one embodiment of the present application, a method for routing a video stream based on genetic algorithm in an SDN environment is provided, the method comprising:
receiving initial message data, acquiring effective data in the initial message data, extracting message header information of the initial message data after judging that the initial message data is a routing request, and analyzing the message header information to acquire source-destination switch information and application layer protocol types;
judging whether the initial message data is a video streaming media or not according to the source-destination switch information and the application layer protocol type, if not, obtaining a first transmission path for a service data stream through Dijstra calculation, and issuing the first transmission path to a corresponding switch to guide the transmission of the service data stream;
if the video streaming media are the video streaming media, acquiring a second transmission path between source and target switches by using a genetic algorithm, and issuing the second transmission path to the corresponding switch so as to guide the transmission of the video streaming media;
when the first transmission path or the second transmission path is blocked, a genetic algorithm is used for replanning the path, and when the replanned new path is different from the old path, the new path is used for issuing to the corresponding switch so as to guide transmission.
In one embodiment, the genetic algorithm comprises:
setting four parameters of M, L, N and K, wherein M is the initial population number, L is the next generation population number, and N and K are termination conditions for judging whether the algorithm stops or not;
initializing a population, designing, randomly generating an initial population, counting the number M of the population, and calculating the fitness of individuals in the population;
executing an elite selection operator, performing cross operation on the remaining individuals, and performing mutation processing on the selected cross individuals according to mutation probability;
judging whether the number of the new population meets the requirement, and if the number of the new population does not meet the requirement, returning to continuously execute the elite selection operator;
if the number of the new population meets the requirement, storing all chromosomes which do not appear before and meet the Qos requirement;
judging whether the number of the chromosomes meeting the requirement reaches N, if so, selecting an optimal individual according to the fitness of the chromosomes, outputting a result, and ending the algorithm;
if the number does not reach N, judging whether the iteration number reaches K, if the iteration number does not reach K, returning to continue calculating the fitness of the individuals in the population, and continuing the operation;
and if the iteration number reaches K, selecting the optimal individual according to the fitness of the individuals in the population, outputting the result and finishing the algorithm.
In one embodiment, the population initialization design includes:
randomly arranging all switch nodes, and randomly generating a part of paths from a starting point to an end point as an initial population;
and storing the path generated each time into the path set, if the newly generated path is in the set, discarding the path, and if the newly generated path is not in the path set, adding the path into the path set until the number of the population is reached.
In one embodiment, the calculating the fitness of the individuals in the population includes:
presetting a fitness function, wherein the smaller the value of the fitness function is, the more excellent the path is, and the fitness calculation function of the path i is as follows: (f) is (f)delay(i)+floss(i))÷2;
wherein, sumi(delay) is the sum of the delays of path i, n is the number of individuals in the generation population,
wherein, sumi(loss) the sum of the packet loss rates of path i, n being the number of individuals in the generation population.
In one embodiment, the elite selection operator includes:
setting the number of elite paths required to be reserved each time and the number of common paths reserved randomly;
for a generation group, carrying out sequential arrangement of paths from small to large according to fitness values, selecting an elite path with better fitness from the paths according to a set quantity value, and directly copying the elite path to the next generation;
and performing cross operation on the rest paths according to the set quantity value, and transmitting the rest paths into the next generation.
In one embodiment, the genetic algorithm includes generating a new path by a crossover operator, the crossover operator including:
and if the two paths have more than one same switch node except the source switch node and the destination switch node, randomly selecting one node from the same switch nodes as a cross point to perform cross operation, namely, respectively exchanging the front switch node and the rear switch node of the two paths by taking the cross point as a central axis to obtain two new paths.
In one embodiment, the genetic algorithm comprises increasing an algorithm search scope by a mutation operator comprising:
presetting a variation probability;
traversing all next generation individuals after the elite selection operator and the crossover operator, and generating a random number by using a random generator every time a path is traversed, and comparing the random number with the mutation rate;
and if the variation rate is larger than the random value, randomly selecting a switch node in the path, and randomly resetting the switch node to a new value.
According to the embodiment of the application, the SDN network architecture has the characteristics of transfer control separation and programmability, the complexity of network management is simplified, network resources can be flexibly called, and compared with the traditional network, the SDN network architecture improves the transmission of streaming media videos. The QoS routing strategy utilizes the programmability of the SDN network and the characteristic that network link information can be obtained periodically, a genetic algorithm is applied to QoS routing, a dynamic routing strategy can be executed, when the network is congested, a new transmission path is calculated for the video streaming media, meanwhile, the updating sequence of a flow table is optimized, the problem of flow table consistency is solved, the problems of stream transmission interruption, packet loss and the like caused by the dynamic routing are avoided, and the transmission performance of the video streaming media is improved.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the application and together with the description serve to explain the application and not to limit the application. In the drawings:
FIG. 1 is an alternative flow diagram according to an embodiment of the present application;
FIG. 2 is a flow diagram of an alternative route management module implementation according to an embodiment of the present application;
FIG. 3 is an alternative population initialization flow diagram according to an embodiment of the present application;
FIG. 4 is a flow chart of an alternative fitness value calculation according to an embodiment of the present application;
FIG. 5 is a flow diagram of an alternative elite operator selection process according to an embodiment of the present application;
FIG. 6 is a flow diagram of an alternative crossover operator according to an embodiment of the present application;
FIG. 7 is a flow diagram of an alternative mutation operator according to an embodiment of the present application;
FIG. 8 is a flow chart of an alternative algorithm termination operation according to an embodiment of the present application;
fig. 9 is a flow chart of an alternative genetic algorithm for solving QoS routes according to an embodiment of the present application.
Detailed Description
The present application will be described in detail below with reference to the accompanying drawings in conjunction with embodiments. It should be noted that, in the present application, the embodiments and features of the embodiments may be combined with each other without conflict.
It should be noted that the terms "first," "second," and the like in the description and claims of this application and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order.
As shown in fig. 1, a video stream routing method based on genetic algorithm in SDN environment is proposed, the method comprising:
s202, receiving initial message data, acquiring effective data in the initial message data, extracting message header information of the initial message data after judging that the initial message data is a routing request, and analyzing the message header information to acquire source and destination switch information and application layer protocol types;
s204, judging whether the initial message data is a video streaming media or not according to the source-destination switch information and the application layer protocol type, if not, obtaining a service data stream, calculating through Dijstra (Dijstra algorithm) to obtain a first transmission path, and issuing the first transmission path to a corresponding switch to guide the transmission of the service data stream;
s206, if the video streaming media are the video streaming media, acquiring a second transmission path between source and destination switches by using a genetic algorithm, and issuing the second transmission path to the corresponding switch so as to guide the transmission of the video streaming media;
and S208, when the first transmission path or the second transmission path is blocked, replanning the path by using a genetic algorithm, and when the replanned new path is different from the old path, issuing the new path to a corresponding switch to guide transmission.
In an sdn (software Defined network) software Defined network, data flow is transmitted by using an action of a flow entry in a flow table, and if a flow entry in a certain flow table is matched, the data flow is transmitted according to an action specified by the flow entry; if no flow table is matched, the information of the packet is generally handed to a management module of the routing controller for different processing. After distinguishing the video streaming media data streams, the controller can perform QoS (quality of service) routing based on a genetic algorithm, and service data streams with other priorities perform minimum hop routing.
The method comprises the steps that effective data are obtained through analysis of a received message on an SDN controller Ryu through a routing management module in the Ryu controller, the effective data mainly comprise flow tables with various control behaviors, the routing management module determines that actions of flow table entries in the flow tables are routing requests, the routing management module can further process the message through a classified issuing method, message header information in the message is extracted firstly, then data in the message header are analyzed to obtain information of a source-destination switch and an application layer protocol, if the analyzed data are business flows with the highest priority, the controller calculates a transmission path, and then the path flow table is issued to a corresponding switch to guide transmission of the business data flows. If the video stream with the highest priority is obtained by analysis, a genetic algorithm is needed to obtain a transmission path between the source switch and the destination switch. If the transmission path is congested, the path is re-planned, if the new path is different from the cache path, the new path is directly added, the old path is deleted, the flow table is issued according to the new path, if the new path is the same as the cache path, the situation that the network is completely congested is indicated, and at this time, the video streaming media can be preferentially scheduled at the port only by means of a queue scheduling strategy, so that the problem caused by congestion is reduced to the maximum extent. .
As shown in fig. 2, in one embodiment, the genetic algorithm comprises:
s1, setting four parameters of M, L, N and K, wherein M is the initial population number, L is the next generation population number, and N and K are termination conditions for judging whether the algorithm stops;
s2, performing population initialization design, randomly generating an initial population and a population number M, and calculating the fitness of individuals in the population;
s3, executing an elite selection operator, performing crossover operation on the remaining individuals, and performing mutation processing on the selected crossover individuals according to mutation probability;
s4, judging whether the number of the new population meets the requirement, if not, returning to continue executing the elite selection operator;
s5, if the number of the new population meets the requirement, storing all chromosomes which do not appear before and meet the Qos requirement;
s6, judging whether the number of the chromosomes meeting the requirements reaches N, if so, selecting the optimal individual according to the fitness of the chromosomes, outputting the result, and ending the algorithm;
s7, if the number does not reach N, judging whether the iteration number reaches K, if the iteration number does not reach K, returning to continue calculating the fitness of the individuals in the population, and continuing the operation;
and S8, if the iteration number reaches K, selecting the optimal individual according to the fitness of the individuals in the population, then outputting the result, and ending the algorithm.
It should be noted that the application of the genetic algorithm to solve the actual problem requires the initialization to generate chromosomes, which are the objects of the algorithm operation. Population initialization generally requires consideration of two points, namely the mode of initialization and the size of the population.
As shown in fig. 3, in an embodiment, the population initialization design includes:
randomly arranging all the switch nodes, and randomly generating a path from a starting point to an end point as an initial population;
and storing the generated paths into a path set every time, discarding the paths if the newly generated paths are in the set, and adding the paths into the path set until the number of the population is reached if the newly generated paths are not in the path set.
It should be noted that the specific population initialization method is as follows: the path from the starting point to the end point is randomly generated to serve as an initial population, all the neighbor nodes which are not marked yet need to be randomly arranged before the algorithm selects the adjacent nodes which are not marked, and therefore the selection of the next hop is completely random, and the randomness of path generation is guaranteed. When the node has no unmarked adjacent point, firstly judging whether the node is a source point, if not, continuing to search until finding a point with the adjacent node which is not completely marked, stopping searching of the algorithm, adding the adjacent node into the path chain table, and repeating the operation until obtaining a path connecting the source point and the destination. The path generated each time is stored in a path set, if the newly generated path is in the set, the new path is discarded and is not used for constructing a population; if the newly generated path is not in the set, the new path is added into the path set until the number of the population is reached, and the operation reduces the repetition of individuals and can effectively improve the diversity of population genes and the search breadth.
As shown in fig. 4, in an embodiment, the calculating the fitness of the individuals in the population includes:
presetting a fitness function, wherein the smaller the value of the fitness function is, the more excellent the path is, and the fitness calculation function of the path i is as follows: (f) is (f)delay(i)+floss(i))÷2;
wherein, sumi(delay) is the sum of the delays of path i, n is the number of individuals in a generation population,
wherein, sumi(loss) the sum of the packet loss rates of path i, n being the number of individuals in the generation population.
It should be noted that the fitness is used to determine whether a chromosome is good or bad, and the value is calculated according to the fitness function. Various evolutionary operations in the genetic algorithm need to take fitness values of chromosomes as a measurement standard, so that the design of a fitness function becomes a key step in the genetic algorithm, and the fitness function has great influence on the convergence speed of the algorithm and whether a proper solution can be found.
The fitness calculation method comprises the following specific steps: before calculating the fitness of the chromosome, a fitness calculation formula needs to be designed, and besides the fitness formula, a linked list containing path link information and QoS performance parameters of each link need to be acquired. And finally, calculating the fitness of each chromosome according to the fitness function. When designing the fitness function, the calculation of the time delay and the packet loss rate is divided by the sum of the corresponding performance values of all chromosomes in the generation, so after obtaining the path linked list and the QoS performance parameters, the sum of the corresponding performance values of all chromosomes is calculated, so that the fitness of each performance is calculated.
As shown in fig. 5, in one embodiment, the elite selection operator includes:
setting the number of elite paths required to be reserved each time and the number of common paths reserved randomly;
for a generation group, carrying out sequential arrangement of paths from small to large according to fitness values, selecting an elite path with better fitness from the paths according to a set quantity value, and directly copying the elite path to the next generation;
and performing cross operation on the rest paths according to the set quantity value, and transmitting the rest paths into the next generation.
It should be noted that, the implementation of the genetic operator includes a selection operator, a crossover operator, a mutation operator and an algorithm termination, and the following are:
and the selection operator judges whether an individual has stronger 'vitality' according to the fitness of the individual. The selection operator performs the operation of excellent individual retention and inheritance to the next generation or generation of offspring individuals using crossover operators. The genetic operator adopts an 'elite selection' strategy, and the excellent individuals in the population of each generation are directly inherited to the next generation without the operation of a crossover equivalent operator.
The specific method for selecting the operator is as follows: the elite selection strategy takes the current population as input, calculates the fitness value of the individuals in the input population, sorts the fitness values according to the fitness values after obtaining the fitness values of the individuals, then selects better individuals in the population according to a preset retention rate, directly copies the better individuals to the next generation, and sets the retention rate value to be 10%; and traversing the rest individuals, wherein each time one individual is traversed, a random value is generated by using a random generator and is compared with the selection rate, if the selection rate is greater than the random value, the individual is taken as the individual in the next generation of population, the selection rate is set to be 1%, and the random value generated by the random generator is between 0 and 1. .
As shown in fig. 6, in one embodiment, the genetic algorithm includes generating a new path through a crossover operator, the crossover operator including:
and if the two paths have more than one same switch node except the source switch node and the destination switch node, randomly selecting one node from the same switch nodes as a cross point to perform cross operation, namely, respectively exchanging the front switch node and the rear switch node of the two paths by taking the cross point as a central axis to obtain two new paths.
It should be noted that the crossover operator is an operation of performing gene exchange on chromosomes, and the crossover operation will obtain a new gene combination, i.e., a new individual, thereby expanding the search space of the algorithm.
The specific method of the crossover operator is as follows: and if the new chromosome has no repeated genes, the new chromosome can be used as a next generation new chromosome, then whether all the chromosomes are completely crossed is judged, and if the chromosomes are not completely crossed, the chromosome is returned to be continuously selected at random.
As shown in fig. 7, in one embodiment, the genetic algorithm includes increasing the algorithm search scope by a mutation operator, the mutation operator including:
presetting a variation probability;
traversing all next generation individuals after the elite selection operator and the crossover operator, and generating a random number by using a random generator every time a path is traversed, and comparing the random number with the mutation rate;
if the variation rate is larger than the random value, a switch node is randomly selected in the path and is randomly reset to a new value.
The mutation operator can expand the diversity of genes, enlarge the search range of the algorithm, and prevent the occurrence of local optimal solutions to a certain extent, and the mutation probability and the mutation mode are the basis for realizing the mutation operator.
The mutation operator is specifically as follows: and traversing all the selected and crossed next generation individuals in a random resetting mode, generating a random number by using a random generator every time one individual is traversed, comparing the random number with the variation rate, if the variation rate is greater than the random value, acquiring the random gene position, randomly acquiring the value of the gene in a reasonable range, and endowing the acquired random value to the gene.
As shown in fig. 8, in one embodiment, when the algorithm that is determined to run by the termination check is terminated, when the number of paths that satisfy the demand reaches the N value set before, the genetic algorithm may be terminated, and one of the paths with the best fitness may be used as the solution. In this embodiment, the algorithm termination determines when the running algorithm is terminated, and the algorithm termination exemplarily designs two ways for terminating the running of the algorithm, that is, the iteration number reaches a set value, the algorithm will not be executed any more, and a best path is returned; and secondly, the genetic algorithm can be terminated and a path with the best fitness can be returned when the N value set during algorithm initialization is required, namely the number of stored chromosomes (paths) meeting the requirements reaches N. This is done because the QoS control is very sensitive to time requirements, and the increase in algorithm convergence speed can improve routing efficiency and improve the performance of QoS control.
The foregoing is only a preferred embodiment of the present application and it should be noted that those skilled in the art can make several improvements and modifications without departing from the principle of the present application, and these improvements and modifications should also be considered as the protection scope of the present application.
Claims (7)
1. A genetic algorithm based video stream routing method in an SDN environment, the method comprising:
receiving initial message data, acquiring effective data in the initial message data, extracting message header information of the initial message data after judging that the initial message data is a routing request, and analyzing the message header information to acquire source-destination switch information and application layer protocol types;
judging whether the initial message data is a video streaming media or not according to the source-destination switch information and the application layer protocol type, if not, determining the initial message data is a service data stream, obtaining a first transmission path through Dijstra calculation, and issuing the first transmission path to a corresponding switch so as to guide the transmission of the service data stream;
if the video streaming media is the video streaming media, acquiring a second transmission path between source and destination switches by using a genetic algorithm, and issuing the second transmission path to the corresponding switch so as to guide the transmission of the video streaming media;
when the first transmission path or the second transmission path is blocked, a genetic algorithm is used for replanning the path, and when the replanned new path is different from the old path, the new path is used for issuing to the corresponding switch so as to guide transmission.
2. The method of claim 1, wherein the genetic algorithm comprises:
setting four parameters of M, L, N and K, wherein M is the initial population number, L is the next generation population number, and N and K are termination conditions for judging whether the algorithm stops or not;
performing population initialization design, randomly generating an initial population and the number M of the population, and calculating the fitness of individuals in the population;
executing an elite selection operator, performing cross operation on the remaining individuals, and performing mutation processing on the selected cross individuals according to mutation probability;
judging whether the number of the new population meets the requirement, and if the number of the new population does not meet the requirement, returning to continuously execute the elite selection operator;
if the number of the new population meets the requirement, storing all chromosomes which do not appear before and meet the Qos requirement;
judging whether the number of the chromosomes meeting the requirement reaches N, if so, selecting an optimal individual according to the fitness of the chromosomes, outputting a result, and ending the algorithm;
if the number does not reach N, judging whether the iteration number reaches K, if the iteration number does not reach K, returning to continue calculating the fitness of the individuals in the population, and continuing the operation;
and if the iteration number reaches K, selecting the optimal individual according to the fitness of the individuals in the population, outputting the result and finishing the algorithm.
3. The method of claim 2, wherein the population initialization design comprises:
randomly arranging all switch nodes, and randomly generating a part of paths from a starting point to an end point as an initial population;
and storing the generated paths into a path set every time, discarding the paths if the newly generated paths are in the set, and adding the paths into the path set until the number of the population is reached if the newly generated paths are not in the path set.
4. The method of claim 3, wherein calculating the fitness of the individuals in the population comprises:
presetting a fitness function, wherein the smaller the value of the fitness function is, the more excellent the path is, and the fitness calculation function of the path i is as follows: (f) is (f)delay(i)+floss(i))÷2;
wherein, sumi(delay) is the sum of the delays of path i, n is the number of individuals in the generation population,
wherein, sumi(loss) the sum of the packet loss ratios of path i, n is the number of individuals in a generation population.
5. The method of claim 4, wherein the elite selection operator comprises:
setting the number of elite paths required to be reserved each time and the number of common paths reserved randomly;
for a generation group, carrying out sequential arrangement of paths from small to large according to fitness values, selecting an elite path with better fitness from the paths according to a set quantity value, and directly copying the elite path to the next generation;
and performing cross operation on the rest paths according to the set quantity value, and transmitting the rest paths into the next generation.
6. The method of claim 5, wherein the genetic algorithm comprises generating a new path by a crossover operator, wherein the crossover operator comprises:
and if the two paths have more than one same switch node except the source switch node and the destination switch node, randomly selecting one node from the same switch nodes as a cross point to perform cross operation, namely, respectively exchanging the front switch node and the rear switch node of the two paths by taking the cross point as a central axis to obtain two new paths.
7. The method of claim 6, wherein the genetic algorithm comprises augmenting an algorithm search scope with a mutation operator comprising:
presetting a variation probability;
traversing all next generation individuals after the elite selection operator and the crossover operator, and generating a random number by using a random generator every time a path is traversed, and comparing the random number with the mutation rate;
and if the variation rate is larger than the random value, randomly selecting a switch node in the path, and randomly resetting the switch node to a new value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210301100.2A CN114745322B (en) | 2022-03-24 | 2022-03-24 | Video flow routing method based on genetic algorithm in SDN environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210301100.2A CN114745322B (en) | 2022-03-24 | 2022-03-24 | Video flow routing method based on genetic algorithm in SDN environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114745322A true CN114745322A (en) | 2022-07-12 |
CN114745322B CN114745322B (en) | 2023-07-07 |
Family
ID=82277948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210301100.2A Active CN114745322B (en) | 2022-03-24 | 2022-03-24 | Video flow routing method based on genetic algorithm in SDN environment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114745322B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116156592A (en) * | 2022-12-27 | 2023-05-23 | 深圳市宇通联发科技有限公司 | Low-delay wireless transmission method, device, communication management equipment and storage medium |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020035404A1 (en) * | 2000-09-14 | 2002-03-21 | Michael Ficco | Device control via digitally stored program content |
US6633544B1 (en) * | 1998-06-24 | 2003-10-14 | At&T Corp. | Efficient precomputation of quality-of-service routes |
US20120016820A1 (en) * | 2010-07-19 | 2012-01-19 | Tapicu, Inc. | Stochastic search strategies for multimedia resource discovery and retrieval system |
US20120140636A1 (en) * | 2010-12-07 | 2012-06-07 | Resende Mauricio Guilherme De Carvalho | Methods and apparatus to determine network link weights |
US20170206512A1 (en) * | 2005-10-04 | 2017-07-20 | Steven M. Hoffberg | Multifactorial optimization system and method |
CN110535770A (en) * | 2019-08-30 | 2019-12-03 | 西安邮电大学 | A kind of video flowing method for intelligently routing based on QoS perception under SDN environment |
CN113759927A (en) * | 2021-09-16 | 2021-12-07 | 重庆邮电大学 | Warehousing robot path planning method based on artificial bee colony-adaptive genetic algorithm |
-
2022
- 2022-03-24 CN CN202210301100.2A patent/CN114745322B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6633544B1 (en) * | 1998-06-24 | 2003-10-14 | At&T Corp. | Efficient precomputation of quality-of-service routes |
US20020035404A1 (en) * | 2000-09-14 | 2002-03-21 | Michael Ficco | Device control via digitally stored program content |
US20170206512A1 (en) * | 2005-10-04 | 2017-07-20 | Steven M. Hoffberg | Multifactorial optimization system and method |
US20120016820A1 (en) * | 2010-07-19 | 2012-01-19 | Tapicu, Inc. | Stochastic search strategies for multimedia resource discovery and retrieval system |
US20120140636A1 (en) * | 2010-12-07 | 2012-06-07 | Resende Mauricio Guilherme De Carvalho | Methods and apparatus to determine network link weights |
CN110535770A (en) * | 2019-08-30 | 2019-12-03 | 西安邮电大学 | A kind of video flowing method for intelligently routing based on QoS perception under SDN environment |
CN113759927A (en) * | 2021-09-16 | 2021-12-07 | 重庆邮电大学 | Warehousing robot path planning method based on artificial bee colony-adaptive genetic algorithm |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116156592A (en) * | 2022-12-27 | 2023-05-23 | 深圳市宇通联发科技有限公司 | Low-delay wireless transmission method, device, communication management equipment and storage medium |
CN116156592B (en) * | 2022-12-27 | 2023-08-22 | 深圳市宇通联发科技有限公司 | Low-delay wireless transmission method, device, communication management equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN114745322B (en) | 2023-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | RL-routing: An SDN routing algorithm based on deep reinforcement learning | |
US6584071B1 (en) | Routing with service level guarantees between ingress-egress points in a packet network | |
Iwata et al. | ATM routing algorithms with multiple QoS requirements for multimedia internetworking | |
Chen et al. | An overview of quality of service routing for next-generation high-speed networks: problems and solutions | |
US6538991B1 (en) | Constraint-based routing between ingress-egress points in a packet network | |
US8320277B2 (en) | Multitopology routing method and system | |
CN111245722B (en) | SDN data center network flow forwarding method based on genetic algorithm | |
Oida et al. | An agent-based routing system for QoS guarantees | |
US6515965B1 (en) | Available bit rate flow control for service allocation in a packet network | |
CN114745322B (en) | Video flow routing method based on genetic algorithm in SDN environment | |
Chang et al. | CROP: Community-relevance-based opportunistic routing in delay tolerant networks | |
Hoceini et al. | K-shortest paths Q-routing: a new QoS routing algorithm in telecommunication networks | |
Li et al. | A data forwarding mechanism based on deep reinforcement learning for deterministic networks | |
Chooprateep et al. | Video path selection for traffic engineering in SDN | |
Aboelela et al. | Fuzzy generalized network approach for solving an optimization model for routing in B‐ISDN | |
Kandavanam et al. | A hybrid genetic algorithm/variable neighborhood search approach to maximizing residual bandwidth of links for route planning | |
JP3925423B2 (en) | Optimal detour route control system and method, program and recording medium thereof, and communication apparatus | |
Felstaine et al. | Crankback prediction in hierarchical ATM networks | |
Matta et al. | On routing real-time multicast connections | |
Andrade et al. | Analysis of selection and crossover methods used by genetic algorithm-based heuristic to solve the lsp allocation problem in mpls networks under capacity constraints | |
Randaccio et al. | A Genetic Algorithms Based Approach for Group Multicast Routing. | |
Juva | Analysis of quality of service routing approaches and algorithms | |
Garcia et al. | Optimal lsp placement with qos constraints in diffserv/mpls networks | |
Yasodharan et al. | Revenue Optimal Bandwidth Allocation in a Class of Multihop Networks: Algorithms and Asymptotic Optimality | |
Kim et al. | Bio‐inspired Load Balancing Routing for Delay‐Guaranteed Services in Ever‐Changing Networks |
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 |