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 PDF

Info

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
Application number
CN202210301100.2A
Other languages
Chinese (zh)
Other versions
CN114745322B (en
Inventor
郭永安
王禹博
田丰
佘昊
钱琪杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN202210301100.2A priority Critical patent/CN114745322B/en
Publication of CN114745322A publication Critical patent/CN114745322A/en
Application granted granted Critical
Publication of CN114745322B publication Critical patent/CN114745322B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/30Routing of multiclass traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing 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

Video stream routing method based on genetic algorithm in SDN environment
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 f isdelay(i) Is a delay fitness computation function represented by path i:
Figure BDA0003562913250000031
wherein, sumi(delay) is the sum of the delays of path i, n is the number of individuals in the generation population,
floss(i) is a packet loss rate fitness calculation function of the path i:
Figure BDA0003562913250000032
Figure BDA0003562913250000033
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 f isdelay(i) Is a delay fitness computation function represented by path i:
Figure BDA0003562913250000091
wherein, sumi(delay) is the sum of the delays of path i, n is the number of individuals in a generation population,
floss(i) is a packet loss rate fitness calculation function of the path i:
Figure BDA0003562913250000092
Figure BDA0003562913250000093
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 f isdelay(i) Is a delay fitness computation function represented by a path i:
Figure FDA0003562913240000031
wherein, sumi(delay) is the sum of the delays of path i, n is the number of individuals in the generation population,
floss(i) is a packet loss rate fitness calculation function of the path i:
Figure FDA0003562913240000032
Figure FDA0003562913240000033
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.
CN202210301100.2A 2022-03-24 2022-03-24 Video flow routing method based on genetic algorithm in SDN environment Active CN114745322B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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