Virtual network function deployment method, device, equipment and storage medium

By constructing a target function that takes into account system utilization and load balancing, optimize the deployment of virtual network function, solve the problem of unreasonable resource utilization in existing technology, and realize the use of load balancing and efficient resource use.

CN113535385BActive Publication Date: 2025-01-24GCI SCI & TECH +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202110684448.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-06-21
Publication Date
2025-01-24
Estimated Expiration
2041-06-21

AI Technical Summary

Technical Problem

The existing technology fails to effectively comprehensively consider the system's load balancing and resource utilization in the deployment of virtual network functions, resulting in unreasonable resource utilization.

Method used

By receiving service requests, the total amount of resources and the amount of resource allocated by the candidate server will be obtained, and the target function that takes into account the system utilization and load balancing is established to find a candidate server that meets the target function to deploy virtual network functions.

Benefits of technology

It achieves a balance between system load balancing and utilization, rationally utilizes system resources, and improves the efficiency of virtual network function deployment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113535385B_ABST
    Figure CN113535385B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for deploying virtual network functions, including: receiving a service request; wherein the service request includes at least one virtual network function; obtaining the total amount of resources of each candidate server and the amount of resources allocated to each candidate server; constructing an objective function that takes into account both system utilization and system load balancing according to the total amount of resources of each candidate server and the amount of resources allocated to each candidate server; and searching for candidate servers that meet the objective function according to the virtual network function to deploy the virtual network function. The present invention also discloses a virtual network function deployment device, equipment, and storage medium, which comprehensively consider the load balancing and utilization of the system, construct an objective function related to the load imbalance and system utilization, obtain a virtual network function deployment plan to deploy the virtual network function, achieve a balance between the load balancing and utilization of the system, and reasonably utilize system resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of network technology, and in particular to a virtual network function deployment method, device, equipment and storage medium. Background Art

[0002] With the continuous development of computer technology and 5G technology, service providers have introduced Network Function Virtualization (NFV) technology for 5G network architecture, which decouples network functions from software and hardware. Service requests are abstracted into multiple virtual network functions (VNFs), and then the abstracted VNFs are mapped to the underlying servers, ultimately realizing the deployment of virtual network functions to increase network flexibility, scalability, and utilization of network resources.

[0003] In the prior art, the deployment of virtual network functions is mostly based on the failure rate of links between server nodes and the availability of servers, and servers with low link failure rate and high node availability are selected for resource invocation, but the load and resource utilization of the servers of the entire system are not further considered comprehensively, which makes the virtual network function deployment scheme in the prior art unreasonable and the utilization of system resources unreasonable. Summary of the invention

[0004] The embodiments of the present invention provide a virtual network function deployment method, apparatus, device and storage medium, which comprehensively consider the load balancing and utilization of the system, take the minimum load imbalance and the maximum system utilization as the objective function, obtain an optimized virtual network function deployment plan to deploy the virtual network function, achieve a balance between the load balancing and utilization of the system, and reasonably use system resources.

[0005] To achieve the above object, an embodiment of the present invention provides a virtual network function deployment method, including:

[0006] Receiving a service request; wherein the service request includes at least one virtual network function;

[0007] Obtain several candidate servers;

[0008] Obtain the total amount of resources of each candidate server and the amount of resources allocated to each candidate server;

[0009] According to the total resources of each candidate server and the allocated resources of each candidate server, an objective function that takes into account both system utilization and system load balancing is constructed;

[0010] According to the virtual network function, a candidate server that satisfies the objective function is found to deploy the virtual network function.

[0011] As an improvement of the above solution, the total amount of resources of each candidate server includes the total amount of resources of each resource type of each candidate server, and the allocated amount of resources of each candidate server includes the allocated amount of resources of each resource type of each candidate server;

[0012] Then, the objective function is constructed in the following way:

[0013] The utilization of each resource type in each candidate server is calculated according to the following formula:

[0014]

[0015] Among them, allocated ir represents the amount of resources allocated to resource type r in candidate server i, total ir represents the total amount of resources of resource type r in candidate server i, i is a positive integer not greater than the total number of candidate servers, and r is a positive integer not greater than the total number of resource types of the candidate servers;

[0016] The average utilization of system resources is calculated according to the following formula:

[0017]

[0018] Wherein, m represents the total number of resource types in the candidate servers, and n represents the total number of the candidate servers;

[0019] The system load imbalance is calculated according to the following formula:

[0020]

[0021] The objective function is constructed according to the following formula:

[0022] f max (U avg , μ)=U avg -μ.

[0023] As an improvement of the above solution, the step of searching for a candidate server that satisfies the objective function according to the virtual network function to deploy the virtual network function specifically includes:

[0024] Particle initialization step: initializing particle parameters; wherein the particle parameters include the position of the particle and the speed of the particle, the particle represents the virtual network function, and the position of the particle represents a candidate server for deploying the virtual network function;

[0025] Particle fitness calculation step: calculating the objective function according to the particle parameters, and taking the value of the objective function as the particle fitness;

[0026] Optimal particle determination step: obtaining a local optimal solution and a global optimal solution according to the fitness of the particle;

[0027] Particle updating step: updating the particle parameters according to the fitness of the particle to obtain an updated particle;

[0028] Global optimal solution calculation step: when the preset conditions are met, the maximum fitness is taken as the global optimal solution, the position of the particle corresponding to the maximum fitness is obtained, and the virtual network function is deployed according to the position of the particle corresponding to the maximum fitness; when the preset conditions are not met, return to the particle fitness calculation step.

[0029] As an improvement to the above solution, the velocity of the particle is updated according to the following formula:

[0030] v(t+1)=w·v(t)+c1·rand()[p k,best (t)-x k (t)]+c2·rand()[g k,best (t)-x k (t)]; c1 represents the self-learning factor, c2 represents the global learning factor, w represents the inertia coefficient, rand() represents a random number between 0 and 1, v(t) represents the velocity of the particle before the update, p k,best (t) represents the local optimal solution of the kth particle before updating, g k,best (t) represents the global optimal solution before updating, x k (t) represents the position of the kth particle before updating;

[0031] The self-learning factor and the global learning factor are calculated by the following formula:

[0032] c1=c max *(1-γ T-t );

[0033] c2=c min *(1+γ T-t );

[0034] T represents the total number of iterations, t represents the current number of iterations, and c max is the upper limit of the learning factor, c min is the lower limit of the learning factor.

[0035] As an improvement of the above solution, before obtaining the total amount of resources of each candidate server and the amount of allocated resources of each candidate server, the following steps are further included:

[0036] Get several servers;

[0037] Calculate the utilization of each resource type in each server;

[0038] According to the virtual network function, the utilization rate of each resource type in each server and the failure rate of the links between the servers, several servers are selected from the servers as candidate servers.

[0039] As an improvement of the above solution, the resource type includes at least one of CPU, memory, and bandwidth.

[0040] To achieve the above object, an embodiment of the present invention further provides a virtual network function deployment device, including:

[0041] A service request receiving module, configured to receive a service request; wherein the service request includes at least one virtual network function;

[0042] A resource quantity acquisition module is used to acquire the total resource quantity of each candidate server and the allocated resource quantity of each candidate server;

[0043] An objective function building module is used to build an objective function that takes into account system utilization and system load balancing according to the total amount of resources of each candidate server and the amount of resources allocated to each candidate server;

[0044] The virtual network function deployment module is used to find a candidate server that meets the objective function according to the virtual network function to deploy the virtual network function.

[0045] As an improvement of the above solution, the total amount of resources of each candidate server includes the total amount of resources of each resource type of each candidate server, and the allocated amount of resources of each candidate server includes the allocated amount of resources of each resource type of each candidate server;

[0046] Then, the objective function construction module specifically includes:

[0047] The resource utilization calculation unit is used to calculate the utilization of each resource type in each candidate server according to the following formula:

[0048]

[0049] Among them, allocated ir represents the amount of resources allocated to resource type r in candidate server i, total irrepresents the total amount of resources of resource type r in candidate server i, i is a positive integer not greater than the total number of candidate servers, and r is a positive integer not greater than the total number of resource types of the candidate servers;

[0050] The resource average utilization calculation unit is used to calculate the average utilization of system resources according to the following formula:

[0051]

[0052] Wherein, m represents the total number of resource types in the candidate servers, and n represents the total number of the candidate servers;

[0053] The load imbalance calculation unit is used to calculate the system load imbalance according to the following formula:

[0054]

[0055] The objective function building unit is used to build the objective function according to the following formula:

[0056] f max (U avg , μ)=U avg -μ.

[0057] To achieve the above objectives, an embodiment of the present invention further provides a virtual network function deployment device, comprising a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein when the processor executes the computer program, the virtual network function deployment method as described in any of the above embodiments is implemented.

[0058] To achieve the above objectives, an embodiment of the present invention further provides a storage medium, which includes a stored computer program, wherein when the computer program is running, the device where the storage medium is located is controlled to execute the virtual network function deployment method as described in any of the above embodiments.

[0059] Compared with the prior art, the embodiment of the present invention discloses a method, device, equipment and storage medium for deploying a virtual network function. By acquiring a number of candidate servers, the total amount of resources of each candidate server and the amount of resources allocated to each candidate server are acquired. According to the total amount of resources of each candidate server and the amount of resources allocated to each candidate server, an objective function that takes into account both system utilization and system load balancing is constructed. Then, according to the received service request composed of the virtual network function, a candidate server that satisfies the objective function is searched according to the virtual network function to deploy the virtual network function. It can be seen that the embodiment of the present invention comprehensively considers the load balancing and utilization of the system, takes the minimum load imbalance and the maximum system utilization as the objective function, and obtains the optimized virtual network function deployment plan to deploy the virtual network function, so as to achieve a balance between the load balancing and utilization of the system and make rational use of system resources. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] Figure 1 It is a mapping diagram of core network resources of a service-oriented network architecture provided by an embodiment of the present invention;

[0061] Figure 2 is a flow chart of a virtual network function deployment method provided by an embodiment of the present invention;

[0062] Figure 3 It is a structural diagram of a virtual network function deployment device provided by an embodiment of the present invention;

[0063] Figure 4 is a schematic diagram of the structure of an objective function building module provided by an embodiment of the present invention;

[0064] Figure 5 It is a structural diagram of a virtual network function deployment device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0065] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0066] The embodiments of the present application are mainly applicable to virtualized network systems and can be applied in 5G core networks. The network function virtualization (NFV) technology is used to decouple the network function from software and hardware. The user's business request (i.e., service request) will be abstracted into multiple virtual network functions (VNFs). Then, the abstracted VNFs are mapped with the underlying servers to finally realize resource allocation. The mapping of core network resources based on the service-oriented network architecture can be found in Figure 1 Based on SDN and NFV service network architecture, the requirements for latency, reliability and power consumption of each scenario are effectively met, and network resource functions are constructed, combined and adjusted to customize different network slices. VNF and physical layer network resources are included in the slices, and then different virtual function combinations are customized according to user needs, and related interfaces are called to apply for underlying physical network resources to realize the instantiation and orchestration of virtual network functions, and finally form the deployment of service function chain. Figure 1 As shown in the figure, after the instantiation and orchestration of the network function, the deployment of the service function chain is realized. Each slice request corresponds to a service function chain. Seven VNFs constitute a service function chain. Then, the corresponding VNFs in the function chain are instantiated into the low-level physical network resources to realize the deployment of resource configuration under the user's QOS requirements.

[0067] See also Figure 2 , is a flowchart of a virtual network function deployment method provided by an embodiment of the present invention.

[0068] The method comprises steps S11 to S14:

[0069] S11. Receive a service request; wherein the service request includes at least one virtual network function;

[0070] S12, obtaining the total amount of resources of each candidate server and the amount of resources allocated to each candidate server;

[0071] S13, constructing an objective function that takes into account both system utilization and system load balancing according to the total amount of resources of each candidate server and the amount of resources allocated to each candidate server;

[0072] S14. According to the virtual network function, find a candidate server that meets the objective function to deploy the virtual network function.

[0073] In step S11, a service request may include one or more virtual network functions.

[0074] Before step S12, several servers are first obtained from the servers in the system as candidate servers. In step S12, the total amount of resources of each candidate server and the amount of allocated resources of each candidate server are calculated based on the obtained candidate servers.

[0075] In this embodiment, by obtaining several candidate servers, the total amount of resources of each candidate server and the amount of resources allocated to each candidate server are obtained, and the objective function that takes into account both system utilization and system load balancing is constructed according to the total amount of resources of each candidate server and the amount of resources allocated to each candidate server, and then according to the received service request composed of virtual network functions, the candidate server that meets the objective function is found according to the virtual network function to deploy the virtual network function. It can be seen that the embodiment of the present invention comprehensively considers the load balancing and utilization of the system, takes the minimum load imbalance and the maximum system utilization as the objective function, and obtains the optimized virtual network function deployment plan to deploy the virtual network function, achieves a balance between the load balancing and utilization of the system, and reasonably utilizes system resources.

[0076] In one implementation, based on steps S11 to S14, specifically, the total amount of resources of each candidate server includes the total amount of resources of each resource type of each candidate server, and the allocated amount of resources of each candidate server includes the allocated amount of resources of each resource type of each candidate server; then, the objective function in step S13 is constructed in the following manner, specifically including steps S131 to S134:

[0077] S131. Calculate the utilization rate of each resource type in each candidate server according to the following formula:

[0078]

[0079] Among them, allocated ir represents the amount of resources allocated to resource type r in candidate server i, total ir represents the total amount of resources of resource type r in candidate server i, i is a positive integer not greater than the total number of candidate servers, and r is a positive integer not greater than the total number of resource types of the candidate servers;

[0080] S132. Calculate the average utilization rate of system resources according to the following formula:

[0081]

[0082] Wherein, m represents the total number of resource types in the candidate servers, and n represents the total number of the candidate servers;

[0083] S133. Calculate the system load imbalance according to the following formula:

[0084]

[0085] S134. Construct the objective function according to the following formula:

[0086] f max (U avg , μ)=U avg -μ.

[0087] For example, assume that the 5G core network includes n candidate servers and a total of m resource types. The 5G network is dynamically changing. Assume that the resource type r in the candidate server i at the current moment has been allocated ir , the total amount of resources of resource type r in candidate server i is total ir , then the average utilization of server i on resource r is: According to the above formula, the average utilization rate of each resource type in each server is calculated, and then according to the formula Calculate the average utilization of the entire system resources, and then use the formula Calculate the load imbalance of the system and construct the objective function f based on the average utilization of system resources and the load imbalance max (U avg , μ)=U avg -μ. By taking load imbalance and system utilization into consideration, the system utilization can be effectively improved while minimizing load imbalance.

[0088] It is understandable that when there is no resource r in the candidate server i, the utilization rate of the resource r in the candidate server i is not calculated.

[0089] In one implementation, based on steps S11 to S14, in step S14, searching for a candidate server that satisfies the objective function according to the virtual network function to deploy the virtual network function specifically includes steps S141 to S14:

[0090] S141, particle initialization step: initializing particle parameters; wherein the particle parameters include the position of the particle and the speed of the particle, the particle represents the virtual network function, and the position of the particle represents a candidate server for deploying the virtual network function;

[0091] S142, particle fitness calculation step: calculating the objective function according to the particle parameters, and taking the value of the objective function as the particle fitness;

[0092] S143, optimal particle determination step: obtaining a local optimal solution and a global optimal solution according to the fitness of the particle;

[0093] S144, particle updating step: updating the particle parameters according to the fitness of the particle to obtain an updated particle;

[0094] S145, global optimal solution calculation step: when the preset conditions are met, the maximum fitness is taken as the global optimal solution, the position of the particle corresponding to the maximum fitness is obtained, and the virtual network function is deployed according to the position of the particle corresponding to the maximum fitness; when the preset conditions are not met, return to the particle fitness calculation step.

[0095] Furthermore, in order to quickly select the scheduling strategy, a bottom-level physical resource selection strategy based on improved discrete particle swarm is adopted to quickly search for the global optimal solution through iteration to improve the convergence of the algorithm. In step S144, the speed of the particle is updated according to the following formula:

[0096] v(t+1)=w·v(t)+c1·rand()[p k,best (t)-x k (t)]+c2·rand()[g k,best (t)-x k (t)];

[0097] c1 represents the self-learning factor, c2 represents the global learning factor, w represents the inertia coefficient, rand() represents a random number between 0 and 1, v(t) represents the velocity of the particle before the update, and p k,best (t) represents the local optimal solution of the kth particle before updating, g k,best (t) represents the global optimal solution before updating, x k (t) represents the position of the kth particle before updating;

[0098] The self-learning factor and the global learning factor are calculated by the following formula:

[0099] c1=c max *(1-γ T-t );

[0100] c2=c min *(1+γ T-t );

[0101] T represents the total number of iterations, t represents the current number of iterations, and c max is the upper limit of the learning factor, c min is the lower limit of the learning factor.

[0102] In order to better improve the resource search process of discrete particle swarm algorithm, the following is a detailed description:

[0103] Assume that there is a service request, the system abstracts the service request into D virtual network functions, and uses the particle position x as the final search solution for D virtual network functions. k =(x k1 ,x k2 ,…,x kD ) is used to represent the kD Indicates that the Dth virtual network function is placed in the number x kD In the server, v k =(v k1 ,v k2 ,…,v kD ) represents the particle speed. Then the problem can be reduced to the discrete binary particle swarm algorithm, and the particle update speed is expressed as:

[0104] v(t+1)=w·v(t)+c1·rand()[p k,best (t)-x k (t)]+c2·rand()[g k,best (t)-x k (t)]; c1 represents a self-learning factor, which is generally a constant; c2 represents a global learning factor, which is generally a constant; w is an inertia coefficient, c1, c2, and w are usually set to constants.

[0105] In the early stage of particle search, particles lack information about interaction with other particles, so the larger the self-learning factor, the better, and the smaller the global learning factor, the better. This will allow particles to diverge into the search space as much as possible, increase the ability of global search, and avoid the problem of premature convergence of the algorithm. As the number of iterations increases, the interactive information between particles becomes more and more sufficient, the larger the global learning factor, the better, and the smaller the self-learning factor, the better. This will better guide particles to perform local optimization search and improve the convergence ability of the algorithm. Therefore, the idea of ​​time decay coefficient is used to correct the self-learning factor and the global learning factor:

[0106] c1=c max *(1-γ t-t );

[0107] c2=c min *(1+γ T-t );

[0108] T represents the total number of iterations, t represents the number of iterations of the algorithm, and c max is the upper limit of the learning factor, c minis the lower limit of the learning factor. By considering the adaptive problem of the learning factor, the self-adjustment of the learning factor in the algorithm iteration process is met, forming an adaptive learning rule that relies on the experience of self-learning in the early stage and the experience of global learning in the later stage, avoiding the algorithm from falling into the situation of local optimization.

[0109] Since the position is a discrete variable, the sigmoid function is used to transform the speed and map it to between 0 and 1. S(V(t+1))=1 / (1+exp(-V(t))), then the absolute probability of position change is expressed as:

[0110]

[0111] Used to represent feasible solutions for particle positions corresponding to values ​​0 / 1.

[0112] Based on the above improved particle algorithm, the maximum value of the objective function is taken as the global optimal solution, and a set of feasible solutions x is found based on the current maximum number of iterations. k =(x k1 ,x k2 ,…,x kD ) meets the maximum utilization and minimum load imbalance rate, and realizes the mapping of virtual network functions to server nodes.

[0113] In one implementation, before step S12, steps S111 to S113 are further included:

[0114] S111, obtaining several servers;

[0115] S112, calculating the utilization rate of each resource type in each server;

[0116] S113: Select several servers from the servers as candidate servers according to the virtual network function, the utilization rate of each resource type in each server, and the failure rate of the links between the servers.

[0117] Combined with the user's QOS requirements, quickly screen server nodes that meet node reliability and link reliability, narrow the selection range of system servers, select candidate servers, and increase the possibility of successful virtual network function mapping. Candidate servers are selected based on the reliability of servers and links. The following is a detailed description of the selection of candidate servers:

[0118] The reliability of a server refers to the average availability of the remaining resources of the server. It is known that the average utilization of server i on resource r is U ir , then the average availability of the server for resource r is expressed as S ir :S ir =1-U ir .

[0119] The reliability of a link can be expressed by the failure rate of the link. Since the timeliness of the link satisfies the exponential distribution, that is, the transmission time t from node f to the next physical node h fh The failure rate of the link is expressed as Then, the availability of the link is expressed as Among them, R(f,h) represents the availability of the link from node f to node h, λ fn Indicates the parameters set by the system, d fh represents the transmission delay from node f to node h.

[0120] The minimum resource requirements of multiple virtual network functions can be simplified to node reliability and link reliability. In order to obtain the available candidate server set, all server nodes in the system are traversed in combination with node reliability and link reliability requirements to filter out server nodes that meet the minimum resource requirements. The filtering rule can be expressed as: S ir >S min,VNF , R(f,h)>R min,VNF That is, the availability of a certain resource of the server is greater than the minimum requirement of the virtual network function for a certain resource. The link availability between servers in the 5G core network must be greater than the minimum requirement for data transmission between virtual network functions to ensure that the selected server node can smoothly transmit the data to the next selected server node after processing the data.

[0121] Optionally, the resource type includes at least one of CPU, memory, and bandwidth.

[0122] In summary, compared with the prior art, the embodiment of the present invention comprehensively considers the load balance and utilization of the system, takes the minimum load imbalance and the maximum system utilization as the objective function, obtains the optimized virtual network function deployment plan to deploy the virtual network function, achieves the balance between the load balance and utilization of the system, reasonably utilizes the system resources, and adopts the improved discrete particle swarm algorithm to realize the adaptive underlying physical resource allocation, which can not only improve the speed of particle convergence, but also adopts the time attenuation coefficient to realize the adaptive adjustment of the learning factor value, effectively improves the accuracy of the algorithm, and finds the optimal deployment plan.

[0123] See also Figure 3 , is a schematic diagram of the structure of a virtual network function deployment device provided by an embodiment of the present invention, the virtual network function deployment device 20 includes:

[0124] The service request receiving module 21 is used to receive a service request; wherein the service request includes at least one virtual network function;

[0125] A resource quantity acquisition module 22 is used to acquire the total resource quantity of each candidate server and the allocated resource quantity of each candidate server;

[0126] The objective function construction module 23 is used to construct an objective function that takes into account system utilization and system load balancing according to the total amount of resources of each candidate server and the amount of resources allocated to each candidate server;

[0127] The virtual network function deployment module 24 is used to find a candidate server that meets the objective function according to the virtual network function, so as to deploy the virtual network function.

[0128] As an improvement of the above solution, the total amount of resources of each candidate server includes the total amount of resources of each resource type of each candidate server, and the allocated amount of resources of each candidate server includes the allocated amount of resources of each resource type of each candidate server;

[0129] Then, see Figure 4 The embodiment of the present invention shown provides an objective function construction module, and the objective function construction module 23 specifically includes:

[0130] The resource utilization calculation unit 231 is used to calculate the utilization of each resource type in each candidate server according to the following formula:

[0131]

[0132] Among them, allocated ir represents the amount of resources allocated to resource type r in candidate server i, total ir represents the total amount of resources of resource type r in candidate server i, i is a positive integer not greater than the total number of candidate servers, and r is a positive integer not greater than the total number of resource types of candidate servers;

[0133] The resource average utilization calculation unit 232 is used to calculate the system resource average utilization according to the following formula:

[0134]

[0135] Wherein, m represents the total number of resource types in the candidate servers, and n represents the total number of the candidate servers;

[0136] The load imbalance calculation unit 233 is used to calculate the system load imbalance according to the following formula:

[0137]

[0138] The objective function constructing unit 234 is used to construct the objective function according to the following formula:

[0139] f max (U avg , μ)=U avg -μ.

[0140] It is worth noting that the working principle of the virtual network function deployment device 20 can refer to the virtual network function deployment method described in any of the above embodiments, which will not be repeated here.

[0141] Compared with the prior art, a virtual network function deployment device disclosed in an embodiment of the present invention obtains the total amount of resources of each candidate server and the amount of resources allocated to each candidate server by obtaining a number of candidate servers, and constructs an objective function that takes into account both system utilization and system load balancing according to the total amount of resources of each candidate server and the amount of resources allocated to each candidate server, and then searches for a candidate server that satisfies the objective function according to the virtual network function according to the received service request composed of the virtual network function, so as to deploy the virtual network function. It can be seen that the embodiment of the present invention comprehensively considers the load balancing and utilization of the system, takes the minimum load imbalance and the maximum system utilization as the objective function, obtains the optimized virtual network function deployment plan to deploy the virtual network function, achieves a balance between the load balancing and utilization of the system, and reasonably utilizes system resources.

[0142] See also Figure 5 , is a schematic diagram of the structure of a virtual network function deployment device provided in an embodiment of the present invention, wherein the virtual network function deployment device 30 includes a processor 31, a memory 32, and a computer program stored in the memory 32 and configured to be executed by the processor 32, and when the processor 31 executes the computer program, the steps in the above-mentioned virtual network function deployment method embodiment are implemented, for example Figure 1 or, the processor 31 implements the functions of each module in the above-mentioned device embodiments, such as the service request receiving module 21, when executing the computer program.

[0143] Exemplarily, the computer program may be divided into one or more modules, which are stored in the memory 32 and executed by the processor 31 to complete the present invention. The one or more modules may be a series of computer program instruction segments capable of completing specific functions, which are used to describe the execution process of the computer program in the virtual network function deployment device 30. For example, the computer program may be divided into a service request receiving module 21, a resource quantity acquisition module 22, an objective function construction module 23, and a virtual network function deployment module 24, and the specific functions of each module are as follows:

[0144] The service request receiving module 21 is used to receive a service request; wherein the service request includes at least one virtual network function;

[0145] A resource quantity acquisition module 22 is used to acquire the total resource quantity of each candidate server and the allocated resource quantity of each candidate server;

[0146] The objective function construction module 23 is used to construct an objective function that takes into account system utilization and system load balancing according to the total amount of resources of each candidate server and the amount of resources allocated to each candidate server;

[0147] The virtual network function deployment module 24 is used to find a candidate server that meets the objective function according to the virtual network function, so as to deploy the virtual network function.

[0148] The specific working process of each module can refer to the working process of the virtual network function deployment device 20 described in the above embodiment, which will not be repeated here.

[0149] The virtual network function deployment device 30 may be a computing device such as a desktop computer, a notebook, a PDA, and a cloud server. The virtual network function deployment device 30 may include, but is not limited to, a processor 31 and a memory 32. Those skilled in the art may understand that the schematic diagram is merely an example of a virtual network function deployment device and does not constitute a limitation on the virtual network function deployment device 30. The virtual network function deployment device 30 may include more or fewer components than shown in the figure, or may combine certain components, or different components. For example, the virtual network function deployment device 30 may also include input and output devices, network access devices, buses, etc.

[0150] The processor 31 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc. The processor 31 is the control center of the virtual network function deployment device 30, and uses various interfaces and lines to connect various parts of the entire virtual network function deployment device 30.

[0151] The memory 32 can be used to store the computer program and / or module. The processor 31 implements various functions of the virtual network function deployment device 30 by running or executing the computer program and / or module stored in the memory 32 and calling the data stored in the memory 32. The memory 32 can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area can store data created according to the use of the mobile phone (such as audio data, a phone book, etc.), etc. In addition, the memory 32 can include a high-speed random access memory, and can also include a non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.

[0152] Wherein, if the module integrated in the virtual network function deployment device 30 is implemented in the form of a software function unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the present invention implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Wherein, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form, etc. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, U disk, mobile hard disk, disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electrical carrier signal, telecommunication signal and software distribution medium, etc.

[0153] A person skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program, and the program can be stored in a computer-readable storage medium, and when the program is executed, it can include the processes of the embodiments of the above-mentioned methods. The storage medium can be a disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc.

[0154] The above is a preferred embodiment of the present invention. It should be pointed out that a person skilled in the art can make several improvements and modifications without departing from the principle of the present invention. These improvements and modifications are also considered to be within the scope of protection of the present invention.

Claims

1. A virtual network function deployment method, characterized in that: include: Receiving a service request; wherein the service request includes at least one virtual network function; Obtain the total amount of resources of each candidate server and the amount of resources allocated to each candidate server; According to the total resources of each candidate server and the allocated resources of each candidate server, an objective function that takes into account both system utilization and system load balancing is constructed; According to the virtual network function, searching for a candidate server that satisfies the objective function to deploy the virtual network function; The searching, according to the virtual network function, for a candidate server that satisfies the objective function to deploy the virtual network function specifically includes: Particle initialization step: initializing particle parameters; wherein the particle parameters include the position of the particle and the speed of the particle, the particle represents the virtual network function, and the position of the particle represents a candidate server for deploying the virtual network function; Particle fitness calculation step: calculating the objective function according to the particle parameters, and taking the value of the objective function as the particle fitness; Optimal particle determination step: obtaining a local optimal solution and a global optimal solution according to the fitness of the particle; Particle updating step: updating the particle parameters according to the fitness of the particle to obtain an updated particle; Global optimal solution calculation step: when the preset conditions are met, the maximum fitness is taken as the global optimal solution, the position of the particle corresponding to the maximum fitness is obtained, and the virtual network function is deployed according to the position of the particle corresponding to the maximum fitness; when the preset conditions are not met, return to the particle fitness calculation step; The velocity of the particle is updated according to the following formula: v(t+1)=w·v(t)+c1·rand()[p k,best (t)-x k (t)]+c2·rand()[g k,best (t)-x k (t)]; c1 represents the self-learning factor, c2 represents the global learning factor, w represents the inertia coefficient, rand() represents a random number between 0 and 1, v(t) represents the velocity of the particle before the update, p k,best (t) represents the local optimal solution of the kth particle before updating, g k,best (t) represents the global optimal solution before updating, x k (t) represents the position of the kth particle before updating; The self-learning factor and the global learning factor are calculated by the following formula: c1=c max *(1-γ T-t ); c2=c min *(1+c T-t ); T represents the total number of iterations, t represents the current number of iterations, and c max is the upper limit of the learning factor, c min is the lower limit of the learning factor.

2. The virtual network function deployment method according to claim 1, characterized in that: The total amount of resources of each candidate server includes the total amount of resources of each resource type of each candidate server, and the allocated amount of resources of each candidate server includes the allocated amount of resources of each resource type of each candidate server; Then, the objective function is constructed in the following way: The utilization of each resource type in each candidate server is calculated according to the following formula: Among them, allocated ir represents the amount of resources allocated to resource type r in candidate server i, total ir represents the total amount of resources of resource type r in candidate server i, i is a positive integer not greater than the total number of candidate servers, and r is a positive integer not greater than the total number of resource types of the candidate servers; The average utilization of system resources is calculated according to the following formula: Wherein, m represents the total number of resource types of the candidate servers, and n represents the total number of the candidate servers; The system load imbalance is calculated according to the following formula: The objective function is constructed according to the following formula: f max (The avg ,μ)=U avg -μ。 3. The virtual network function deployment method according to claim 2, characterized in that: Before obtaining the total amount of resources of each candidate server and the amount of allocated resources of each candidate server, the method further includes: Get several servers; Calculate the utilization of each resource type in each server; According to the virtual network function, the utilization rate of each resource type in each server and the failure rate of the links between the servers, several servers are selected from the servers as candidate servers.

4. The virtual network function deployment method according to claim 2, characterized in that: The resource type includes at least one of CPU, memory, and bandwidth.

5. A virtual network function deployment device, characterized in that: include: A service request receiving module, configured to receive a service request; wherein the service request includes at least one virtual network function; A resource quantity acquisition module is used to acquire the total resource quantity of each candidate server and the allocated resource quantity of each candidate server; An objective function building module is used to build an objective function that takes into account system utilization and system load balancing according to the total amount of resources of each candidate server and the amount of resources allocated to each candidate server; A virtual network function deployment module, used to find a candidate server that meets the objective function according to the virtual network function, so as to deploy the virtual network function; The virtual network function deployment module is specifically used to: Particle initialization step: initializing particle parameters; wherein the particle parameters include the position of the particle and the speed of the particle, the particle represents the virtual network function, and the position of the particle represents a candidate server for deploying the virtual network function; Particle fitness calculation step: calculating the objective function according to the particle parameters, and taking the value of the objective function as the particle fitness; Optimal particle determination step: obtaining a local optimal solution and a global optimal solution according to the fitness of the particle; Particle updating step: updating the particle parameters according to the fitness of the particle to obtain an updated particle; Global optimal solution calculation step: when the preset conditions are met, the maximum fitness is taken as the global optimal solution, the position of the particle corresponding to the maximum fitness is obtained, and the virtual network function is deployed according to the position of the particle corresponding to the maximum fitness; when the preset conditions are not met, return to the particle fitness calculation step; The velocity of the particle is updated according to the following formula: v(t+1)=w·v(t)+c1·rand()[p k,best (t)-x k (t)]+c2·rand()[g k,best (t)-x k (t)]; c1 represents the self-learning factor, c2 represents the global learning factor, w represents the inertia coefficient, rand() represents a random number between 0 and 1, v(t) represents the velocity of the particle before the update, p k,best (t) represents the local optimal solution of the kth particle before updating, g k,best (t) represents the global optimal solution before updating, x k (t) represents the position of the kth particle before updating; The self-learning factor and the global learning factor are calculated by the following formula: c1=c max *(1-γ T-t ); c2=c min *(1+c T-t ); T represents the total number of iterations, t represents the current number of iterations, and c max is the upper limit of the learning factor, c min is the lower limit of the learning factor.

6. The virtual network function deployment device according to claim 5, characterized in that: The total amount of resources of each candidate server includes the total amount of resources of each resource type of each candidate server, and the allocated amount of resources of each candidate server includes the allocated amount of resources of each resource type of each candidate server; Then, the objective function construction module specifically includes: The resource utilization calculation unit is used to calculate the utilization of each resource type in each candidate server according to the following formula: Among them, allocated ir represents the amount of resources allocated to resource type r in candidate server i, total ir represents the total amount of resources of resource type r in candidate server i, i is a positive integer not greater than the total number of candidate servers, and r is a positive integer not greater than the total number of resource types of the candidate servers; The resource average utilization calculation unit is used to calculate the average utilization of system resources according to the following formula: Wherein, m represents the total number of resource types in the candidate servers, and n represents the total number of the candidate servers; The load imbalance calculation unit is used to calculate the system load imbalance according to the following formula: The objective function building unit is used to build the objective function according to the following formula: f max (The avg ,μ)=U avg -μ。 7. A virtual network function deployment device, characterized in that: The method comprises a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein when the processor executes the computer program, the virtual network function deployment method as described in any one of claims 1 to 4 is implemented.

8. A storage medium, characterized in that: The storage medium includes a stored computer program, wherein when the computer program is running, the device where the storage medium is located is controlled to execute the virtual network function deployment method according to any one of claims 1 to 4.