Path planning method and device, computer device, readable storage medium and program product
By optimizing the VNF movement path in the network function virtualization system using the target VNF taboo table and load balancing metrics, the problem of unbalanced service chain load is solved, and load balancing and task efficiency are improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER
- Filing Date
- 2024-12-03
- Publication Date
- 2026-06-23
Smart Images

Figure CN119728694B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the fields of network technology and security technology, and in particular to a path planning method, apparatus, computer equipment, computer-readable storage medium and computer program product. Background Technology
[0002] Due to the inconvenience of managing hardware devices in current network deployments, network function virtualization (NFV) technology has emerged with the development of network technology. This technology enables flexible loading of network services, reducing deployment cycles and increasing service deployment flexibility. Since NFV relies on multiple general-purpose servers, which form a cluster system via a network, load balancing is necessary to prevent uneven load distribution across the servers.
[0003] In traditional technologies, load balancing is generally based on the hardware characteristics of servers in a cluster system. However, in network function virtualization scenarios, the various service chains on network function virtualization provide services simultaneously and influence each other. How to achieve load balancing of the various virtual network functions on each service chain is an urgent problem to be solved. Summary of the Invention
[0004] Therefore, it is necessary to provide a path planning method, apparatus, computer equipment, computer-readable storage medium, and computer program product that can improve task scheduling efficiency and load balancing on virtual machines, in order to address the above-mentioned technical problems.
[0005] In a first aspect, this application provides a path planning method, wherein the system includes multiple service function chains, and each service function chain includes multiple virtual network functions (VNFs); the method includes:
[0006] Based on the target VNF tabu list, determine each target candidate VNF corresponding to the current VNF;
[0007] Calculate the transition probability from the current VNF to each of the target candidate VNFs, and determine the next VNF based on each of the transition probabilities;
[0008] If it is determined that the system does not meet the traversal conditions, the next VNF is updated to the current VNF, and the step of determining the set of candidate VNFs of the current VNF based on the target VNF tabu list is re-executed until the system meets the traversal conditions and the VNF movement path is obtained.
[0009] Based on the objective function corresponding to the VNF movement path and the load balancing metric, the optimal VNF movement path is obtained.
[0010] In one embodiment, the target VNF tabu list contains all the VNFs that have already been visited; the step of determining each target candidate VNF corresponding to the current VNF based on the target VNF tabu list includes:
[0011] Based on the connection relationships between the service function chains and the connection relationships of the multiple VNFs contained in each service function chain, the initial reachable VNFs of the current VNF are determined; and among the initially reachable VNFs, the VNFs contained in the target VNF tabu list are removed to obtain the initial candidate VNFs.
[0012] For each of the initial candidate VNFs, if the initial candidate VNF and the current VNF are not in the same service function chain, it is determined whether each of the initial candidate VNFs meets the preset legal conditions.
[0013] If the initial candidate VNF meets the preset legal conditions, then the initial candidate VNF is determined as the target candidate VNF; if the initial candidate VNF does not meet the preset legal conditions, then the previous VNF of the initial candidate VNF is determined as the initial candidate VNF, and the step of determining whether the initial candidate VNF meets the preset legal conditions is executed again.
[0014] In one embodiment, the method further includes:
[0015] If the preceding candidate VNF of the initial candidate VNF is a VNF that has already been visited, then the initial candidate VNF is determined to meet the preset legal condition, and the preceding candidate VNF and the initial candidate VNF are in the same service function chain.
[0016] In one embodiment, calculating the transition probability from the current VNF to each of the target candidate VNFs, and determining the next VNF based on each of the transition probabilities, includes:
[0017] Obtain the pheromone content along the path from the current VNF to each of the target candidate VNFs, and the heuristic information content along the path from the current VNF to each of the target candidate VNFs;
[0018] The pheromone content of each target candidate VNF is processed based on the pheromone weight to obtain the pheromone parameter of each target candidate VNF, and the heuristic information content of each target candidate VNF is processed based on the heuristic information weight to obtain the heuristic information parameter of each target candidate VNF.
[0019] Based on the pheromone parameters and heuristic information parameters corresponding to the target candidate VNF, calculate the target parameters corresponding to the target candidate VNF;
[0020] For each target candidate VNF, the transition probability of the target candidate VNF is calculated based on the target parameters corresponding to the target candidate VNF and the target parameters corresponding to each target candidate VNF of the current VNF.
[0021] In one embodiment, the step of updating the next VNF to the current VNF and re-executing the step of determining the set of candidate VNFs for the current VNF based on the target VNF tabu list, if it is determined that the system does not meet the traversal condition, until the VNF movement path is obtained, includes:
[0022] If the system contains a previously unexplored VNF, then the next VNF is updated to the current VNF, and the next VNF is added to the target VNF tabu list. Then, the step of determining the set of candidate VNFs for the current VNF based on the target VNF tabu list is repeated until the system contains no previously unexplored VNFs. Then, based on each current VNF and the next VNF of each current VNF, a VNF movement path is obtained, and based on the pheromone adjustment strategy, the pheromone content is increased on each route in the VNF movement path.
[0023] In one embodiment, obtaining the optimal VNF mobility path based on the objective function corresponding to the VNF mobility path and the load balancing metric includes:
[0024] Based on the objective function corresponding to the load balancing metric, calculate the objective function value of the VNF movement path;
[0025] If the objective function value does not meet the preset iteration termination condition, the step of determining each target candidate VNF corresponding to the current VNF based on the target VNF taboo table is re-executed until the objective function value is determined to meet the preset iteration termination condition, and the optimal VNF movement path is obtained.
[0026] In one embodiment, calculating the objective function value of the VNF mobility path based on the objective function corresponding to the load balancing metric includes:
[0027] By using the objective function corresponding to the load balancing metric, the cumulative working time of the available virtual machines of each VNF included in the VNF mobility path and the instantiation latency of each service function chain are processed to obtain the objective function value of the VNF mobility path.
[0028] In one embodiment, determining that the objective function value satisfies the preset iteration termination condition to obtain the optimal VNF movement path includes:
[0029] If the objective function value has converged, then the preset iteration termination condition is satisfied, and the VNF movement path corresponding to the objective function value is the optimal VNF movement path; or,
[0030] If the calculation round corresponding to the objective function value reaches the preset number of iterations, then based on the objective function value corresponding to each calculation round, the VNF movement path corresponding to the optimal objective function value is determined as the optimal VNF movement path.
[0031] Secondly, this application also provides a path planning device applied to a system, the system including multiple service function chains, each service function chain including multiple virtual network functions (VNFs); the device includes: a first determining module, used to determine each target candidate VNF corresponding to the current VNF based on a target VNF tabu list;
[0032] The first calculation module is used to calculate the transition probability from the current VNF to each of the target candidate VNFs, and determine the next VNF of the current VNF based on each of the transition probabilities;
[0033] The second determining module is used to update the next VNF to the current VNF if it is determined that the system does not meet the traversal conditions, and to re-execute the step of determining the set of candidate VNFs of the current VNF based on the target VNF tabu list, until the system meets the traversal conditions and the VNF movement path is obtained.
[0034] The third determining module is used to obtain the optimal VNF movement path based on the objective function corresponding to the VNF movement path and the load balancing index.
[0035] Thirdly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above embodiments.
[0036] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps in the above embodiments.
[0037] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps in the above embodiments.
[0038] The aforementioned path planning method, apparatus, computer equipment, computer-readable storage medium, and computer program product, by adopting this method, can schedule virtual machines, achieve global optimization, and distribute the tasks of multiple concurrent service function chains as evenly as possible to the virtual machines corresponding to each virtual network function, thereby achieving load balancing of each virtual network function, reducing the overall task latency, and improving task scheduling efficiency and task processing efficiency. Attached Figure Description
[0039] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0040] Figure 1 This is a diagram illustrating the application environment of the path planning method in one embodiment;
[0041] Figure 2 This is a flowchart illustrating a path planning method in one embodiment;
[0042] Figure 3 This is a flowchart illustrating the steps for determining whether a preset legal condition is met in one embodiment;
[0043] Figure 4 This is a flowchart illustrating the steps for calculating the transition probability in one embodiment;
[0044] Figure 5 This is a flowchart illustrating the path planning steps in one embodiment;
[0045] Figure 6 This is a flowchart illustrating the path planning steps in one embodiment;
[0046] Figure 7 This is a flowchart illustrating the path planning method in another embodiment;
[0047] Figure 8 This is a structural block diagram of a path planning device in one embodiment;
[0048] Figure 9 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0049] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0050] The path planning method provided in this application embodiment can be applied to, for example, Figure 1 The system shown can contain multiple service function chains, such as SFC1, SFC2, and SFC3. Each service function chain includes multiple Virtual Network Functions (VNFs), which are interconnected. For example, SFC1 can contain VNF1-1, VNF1-2, and VNF1-3; SFC2 can contain VNF2-1, VNF2-2, and VNF2-3; and SFC3 can contain VNF3-1, VNF3-2, and VNF3-3. Movement between VNFs on the same service function chain is called X-axis movement, and movement between VNFs on different service function chains is called Y-axis movement. Other related hop-forwarding concepts will be described in detail in subsequent embodiments and will not be repeated here. The VNFs on each service function chain can communicate via the network.
[0051] In one embodiment, such as Figure 2 As shown, a path planning method is provided, which can be applied to... Figure 1 Taking the system in question as an example, this system includes multiple service function chains, and each service function chain includes multiple Virtual Network Functions (VNFs). The path planning method includes the following steps 202 to 208. Among them:
[0052] Step 202: Based on the target VNF tabu list, determine each target candidate VNF corresponding to the current VNF.
[0053] The target VNF taboo list can be a table storing candidate VNFs for each VNF. The target VNF taboo list is updated in real-time based on the task's movement between different VNFs. The current VNF can be the VNF in which the task is currently located; the target candidate VNFs corresponding to the current VNF can be the next VNF the task can move from the current VNF to.
[0054] Specifically, the system can determine all feasible routes to the next step of the current VNF by querying the target VNF taboo table, that is, determine each target candidate VNF corresponding to the current VNF.
[0055] Step 204: Calculate the transition probability from the current VNF to each target candidate VNF, and determine the next VNF based on each transition probability.
[0056] The transition probability from the current VNF to the target candidate VNF represents the priority of the route from the current VNF to the target candidate VNF. The transition probability is used to determine the next VNF of the current VNF. The transition probability is determined based on the pheromone content and heuristic information content on the route from the current VNF to the target candidate VNF.
[0057] Specifically, after determining the target candidate VNFs corresponding to the current VNF, the system can determine the routes from the current VNF to each target candidate VNF, and calculate the transition probabilities corresponding to each route based on the pheromone content and heuristic information content along those routes. Based on this, the system can filter and determine the next VNF of the current VNF based on the calculated transition probabilities along the routes from the current VNF to each target candidate VNF. That is, the system can move the task from the current VNF to the determined next VNF of the current VNF.
[0058] Optionally, the process of filtering based on the transition probabilities of each target candidate VNF can be that the system can determine the target candidate VNF with the highest transition probability as the next VNF of the current VNF.
[0059] Step 206: If it is determined that the system does not meet the traversal conditions, then update the next VNF to the current VNF, and re-execute the step of determining the set of candidate VNFs of the current VNF based on the tabu list of the target VNF, until the system meets the traversal conditions and the VNF movement path is obtained.
[0060] The traversal conditions can be predetermined, and their content can be whether all VNFs on each service function chain in the system have been traversed, or whether the task has traversed all VNFs contained in the system. The VNF movement path can be the movement route of the task between the various VNFs contained in the system.
[0061] Specifically, after calculating the next VNF of the current VNF, the system can transfer the task from the current VNF to the next VNF and determine whether the current system meets the preset traversal conditions, that is, whether the task has traversed all the VNFs contained in the system. If it is determined that there are VNFs that the task has not yet visited, then the system does not meet the traversal conditions. In this case, the system can determine the next VNF that has been moved to as the current VNF, and re-execute the steps in the above embodiment of determining the set of candidate VNFs based on the target VNF tabu list based on the updated current VNF, until the system determines that the preset traversal conditions are met, that is, it is determined that there are no VNFs that the task has not yet visited. The system can then determine the movement route of the task between the VNFs as the VNF movement path. This VNF movement path contains the VNFs arranged in the order they were moved to.
[0062] Step 208: Based on the objective function corresponding to the VNF migration path and the load balancing metric, obtain the optimal VNF migration path.
[0063] The objective function is used to calculate its value, which characterizes the load balancing of the obtained VNF movement path. The load balancing metric characterizes the load balancing of tasks on that VNF movement path. For example, a lower objective function value for the load balancing metric indicates a more balanced load distribution on the current VNF movement path; conversely, a higher objective function value indicates a more unbalanced load distribution. The optimal VNF movement path can be the path whose load distribution is most balanced among multiple VNF movement paths, as represented by the objective function value.
[0064] Specifically, based on the objective function corresponding to the load balancing index and the parameters on the VNF moving path, the objective function value corresponding to the VNF moving path is calculated, and the optimal VNF moving path is obtained by judging and processing based on the objective function value and the preset iteration termination condition.
[0065] The above path planning method can be used to schedule virtual machines, achieve global optimization, and distribute the tasks of multiple concurrent service function chains as evenly as possible to the virtual machines corresponding to each virtual network function. This achieves load balancing of each virtual network function, reduces the overall task latency, and improves task scheduling efficiency and task processing efficiency.
[0066] In one embodiment, the target VNF taboo list contains all the VNFs that have been visited. Specifically, the target VNF taboo list contains all the VNF nodes that the task in the system has visited. The target VNF taboo list is updated in real time based on the VNFs that the task is currently visiting. For example, the VNFs that the task has currently moved to can be added to the target VNF taboo list. The target VNF taboo list may also include movement direction indicators between VNFs on the various service function chains in the system.
[0067] Accordingly, such as Figure 3 As shown, the specific processing steps of "determining each target candidate VNF based on the target VNF taboo list" can include:
[0068] Step 302: Based on the connection relationships between each service function chain and the connection relationships of multiple VNFs contained in each service function chain, determine the initial reachable VNFs of the current VNF. Then, among each initially reachable VNF, remove all VNFs contained in the target VNF tabu list to obtain the initial candidate VNFs.
[0069] The target VNF taboo list contains the name information of each VNF that the task has already traversed;
[0070] Specifically, the system can obtain the connection relationships between various service function chains, as well as the directed connection relationships between the VNFs contained in each service function chain. That is, the system can obtain the directed connection relationships between each VNF and each VNF contained in the same service function chain, and the directed connection relationships between each VNF and each VNF contained in different service function chains, and can determine the initial reachable VNFs of the current VNF. These initial reachable VNFs are determined based on the directed connection relationships, and are the VNFs that the task can move from the current VNF to. For example, this can include the initial reachable VNFs in the X direction and the initial reachable VNFs in the Y direction, that is, VNFs in the same service function chain as the current VNF and VNFs that do not belong to the same service function chain as the current VNF.
[0071] In this way, after the system identifies multiple initially reachable VNFs of the current VNF, the system can query the target VNF taboo table and remove VNFs that the task has already passed through. For example, the system can query the target VNF taboo table to find the identification information of VNFs that the task has already passed through, and remove VNFs that match the identification information of the queried already passed VNFs from each initially reachable VNF. The remaining initially reachable VNFs are then identified as initial candidate VNFs.
[0072] Step 304: For each initial candidate VNF, if the initial candidate VNF and the current VNF are not in the same service function chain, determine whether each initial candidate VNF meets the preset legal conditions.
[0073] The preset legal condition can be that the previous VNF of the VNF has been traversed by the task; that is, for a certain initial candidate VNF, if the task has already moved to the previous VNF of the initial candidate VNF, then the initial candidate VNF is determined to meet the preset legal condition, wherein the previous VNF is a VNF that is on the same service function chain as the initial candidate VNF.
[0074] Specifically, the system can filter each initial candidate VNF to obtain each target candidate VNF of the current VNF. The specific filtering process for each initial candidate VNF can be as follows: if the initial candidate VNF and the current VNF do not belong to the same service function chain, the system can determine whether the initial candidate VNF meets the preset legality conditions. Specifically, it can determine the preceding VNF of the initial candidate VNF that belongs to the same service function chain as the initial candidate VNF; if the preceding VNF has already been traversed by the task, the system can determine that the initial candidate VNF meets the preset legality conditions.
[0075] Step 306: If the initial candidate VNF meets the preset legality conditions, then the initial candidate VNF is determined as the target candidate VNF. If the initial candidate VNF does not meet the preset legality conditions, then the preceding VNF of the initial candidate VNF is determined as the initial candidate VNF, and the step of determining whether the initial candidate VNF meets the preset legality conditions is executed again.
[0076] Specifically, if the system determines that the initial candidate VNF meets the preset legal conditions, the system can determine that the initial candidate VNF is the target candidate VNF; if the system determines that the previous VNF of the initial candidate VNF has not been traversed by the task, the system enters the forward jump strategy, that is, determines the previous VNF of the initial candidate VNF as the initial candidate VNF, and re-executes the above steps of determining whether the initial candidate VNF meets the preset legal conditions, until the determination results of whether the preset legal conditions are met are obtained for each initial candidate VNF corresponding to each current VNF, and the target candidate VNFs corresponding to the current VNF are obtained based on the determination results.
[0077] Optionally, after determining each target candidate VNF corresponding to the current VNF, the instantiable virtual machines corresponding to each target candidate VNF can be determined based on the virtual machine taboo table, thus obtaining the candidate available virtual machines. These virtual machines are used to carry the software functions of the VNF and process tasks.
[0078] In this embodiment, the target VNF tabu list and the forward jump strategy are used to efficiently and accurately filter each initially reachable VNF of the current VNF to obtain each target candidate VNF of the current VNF.
[0079] In one embodiment, the method further includes:
[0080] If the preceding candidate VNF of the initial candidate VNF is a VNF that has already been visited, then the initial candidate VNF is determined to meet the preset legal conditions, and the preceding candidate VNF and the initial candidate VNF are in the same service function chain.
[0081] Specifically, for an initial candidate VNF that does not belong to the same service function chain as the current VNF, the system can obtain the preceding VNF that belongs to the same service function chain as the initial candidate VNF. Based on the target VNF tabu list, the system queries whether the preceding VNF is a VNF that the task has already traversed. If the task has already traversed the preceding VNF, the initial candidate VNF is determined to meet the preset legality conditions. If the preceding VNF is determined to be a VNF that has not been traversed by the task, the initial candidate VNF is determined not to meet the preset legality conditions.
[0082] In this embodiment, by performing a validity check on the initial candidate VNFs, the validity of the path planning can be guaranteed and the task can pass through each VNF on the system. This enables the scheduling optimization of tasks on multiple parallel service function chains, achieving load balancing and improving the utilization of system resources.
[0083] In one embodiment, such as Figure 4 As shown, the specific implementation process of the step "calculate the transition probability from the current VNF to each target candidate VNF, and determine the next VNF based on each transition probability" can include:
[0084] Step 402: Obtain the pheromone content along the path from the current VNF to each target candidate VNF, and the heuristic pheromone content along the path from the current VNF to each target candidate VNF.
[0085] The pheromone content along the path from the current VNF to each target candidate VNF can be the pheromone content along the path from the current VNF to each target candidate VNF at the current time t; the heuristic information content along the path from the current VNF to each target candidate VNF can be the heuristic information content along the path from the current VNF to each target candidate VNF at the current time t. The heuristic information content is determined based on the movement distance between nodes, for example, it can be the reciprocal of that movement distance.
[0086] Specifically, the current time can be t, the current VNF can be node i, the target candidate VNF can be node j, and the pheromone content on the corresponding path from the current VNF to each target candidate VNF can be represented by τ. ij (t) represents the heuristic information content along the path from the current VNF to each target candidate VNF, which can be represented by η. ij (t) represents the pheromone content and heuristic information content along the paths from the current VNF to each target candidate VNF at the current time t.
[0087] Step 404: Process the pheromone content based on pheromone weights to obtain the pheromone parameters corresponding to each target candidate VNF, and process the heuristic information content based on heuristic information weights to obtain the heuristic information parameters corresponding to each target candidate VNF.
[0088] The pheromone weights can be pre-configured, and these weights can be pheromone heuristic factors α; the heuristic information weights can also be pre-configured, and these weights can be heuristic information heuristic factors β, i.e., expected heuristic factors β. The pheromone parameters corresponding to the target candidate VNF are the pheromone parameters of the route from the current VNF to the target candidate VNF; the heuristic information parameters corresponding to the target VNF are the heuristic information of the route from the current VNF to the target candidate VNF.
[0089] Specifically, for each target candidate VNF, the system can perform exponential processing on the pheromone content corresponding to the target candidate VNF based on the pheromone weight to obtain the pheromone parameter corresponding to the target candidate VNF. [ τ ij (t )] α Similarly, based on the heuristic information weights, the heuristic information content corresponding to the target candidate VNF is exponentially processed to obtain the heuristic information parameters corresponding to the target candidate VNF. [ η ij (t)] β .
[0090] Step 406: Calculate the target parameters corresponding to the target candidate VNF based on the pheromone parameters and heuristic information parameters corresponding to the target candidate VNF.
[0091] Specifically, the system can calculate the target parameters corresponding to each target candidate VNF. The specific calculation process can be as follows: the system can obtain the pheromone parameter and heuristic information parameter corresponding to the target candidate VNF, and calculate the product between the pheromone parameter and the heuristic information parameter. In this way, the system can determine the product as the target parameter corresponding to the target candidate VNF.
[0092] Step 408: For each target candidate VNF, calculate the transition probability of the target candidate VNF based on the target parameters corresponding to the target candidate VNF and the target parameters corresponding to each target candidate VNF of the current VNF.
[0093] Specifically, the system can calculate the transition probability corresponding to each target candidate VNF, that is, calculate the transition probability corresponding to the route from the current VNF to each target candidate VNF. For each target candidate VNF, the system can obtain the target parameters corresponding to each target candidate VNF calculated in the above embodiment. Thus, the system can sum the target parameters of each target candidate VNF to obtain a sum. For each target candidate VNF, the terminal can calculate the ratio between the target parameter corresponding to the target candidate VNF and the sum calculated in the above embodiment, and determine this ratio as the transition probability corresponding to the target candidate VNF. For example, the transition probability corresponding to the target candidate VNF can be calculated using the following formula:
[0094]
[0095] Among them, allowed k This represents the set of all candidate VNFs corresponding to the current VNF when task k is in the current VNF (node i); node j represents any candidate VNF of the current VNF. Let represent the transition probability of task k at time t, corresponding to the route from node i to node j, that is, the transition probability corresponding to the target candidate VNF (node j).
[0096] In this embodiment, the transition probability of each route is determined by the pheromone content on the path from the current node to other nodes and the heuristic information content corresponding to the movement distance. This transforms the scheduling problem of multiple parallel service function chains into a single path optimization problem, improving the globality of path planning and the efficiency of path planning.
[0097] In one embodiment, the specific implementation process of the step "If it is determined that the system does not meet the traversal conditions, update the next VNF to the current VNF, and re-execute the step of determining the set of candidate VNFs for the current VNF based on the target VNF tabu list, until the system meets the traversal conditions and the VNF movement path is obtained" may include:
[0098] If the system has a VNF that has not been encountered before, then the next VNF is updated to the current VNF, and the next VNF is added to the target VNF tabu list. Then, the steps of determining the set of candidate VNFs for the current VNF based on the target VNF tabu list are repeated until there are no more VNFs that have not been encountered before. Then, based on each current VNF and the next VNF of each current VNF, the VNF movement path is obtained, and based on the pheromone adjustment strategy, the pheromone content is increased on each route in the VNF movement path.
[0099] Specifically, after calculating the next VNF of the current VNF, the system can transfer the task from the current VNF to the next VNF and determine whether the current system meets the preset traversal conditions, that is, whether the task has traversed all the VNFs included in the system, or whether there are still VNFs that the task has not yet visited. If it is determined that there are VNFs that the task has not yet visited, then the system does not meet the traversal conditions. In this case, the system can update the next VNF that has been moved to as the current VNF, and add the updated current VNF as a node that the task has already visited to the target VNF tabu list. Accordingly, the system can re-execute the steps in the above embodiment of determining the set of candidate VNFs based on the target VNF tabu list based on the updated current VNF, until the system determines that the preset traversal conditions are met, that is, it determines that there are no longer any VNFs that the task has not yet visited. At this time, the system can determine the order of the task's movement among the VNFs and the movement route as the VNF movement path. This VNF movement path includes the VNFs arranged in the order they were moved to. At the same time, the system can also add pheromone content to each movement route included in the VNF movement path based on the pheromone adjustment strategy, and attenuate the pheromone content of each movement route not included in the VNF movement path. For example, it can add pheromone content and attenuate pheromone content based on preset pheromone content adjustment values.
[0100] Optionally, based on the pheromone adjustment strategy, the process of increasing the pheromone content on each route in the VNF movement path can be as follows:
[0101]
[0102] Where t can be time t or the t-th iteration, and the VNF movement path can be the movement path obtained during the t-th iteration; This represents the pheromone content along the path from node i to node j at iteration t. Let represent the pheromone content along the path from node i to node j at iteration t+1; ρ represents the pheromone evaporation coefficient. This represents the amount of pheromone added from node i to node j in the VNF movement path obtained in the t-th iteration, which can be calculated using, for example, the following formula. :
[0103]
[0104] Where m represents the total number of tasks k that the current system needs to process; This represents the pheromone content along the path of task k added to the node k as it moves from node i to node j in the t-th iteration.
[0105]
[0106] Where Q is a pre-configured constant coefficient, object k This could be the objective function value of the VNF movement path. That is, in the t-th iteration, the pheromone content along the path from node i to node j for the added task k is calculated based on pre-configured constant coefficients and the objective function value along the VNF movement path. Optionally, the objective function value will be described in detail in the following embodiments and will not be repeated here.
[0107] In this embodiment, the pheromone content on each route included in the VNF movement path can be flexibly adjusted in a timely manner, providing a reliable data foundation for accurately calculating the transition probability of each target candidate VNF.
[0108] In one embodiment, such as Figure 5 As shown, the specific processing steps of the step "obtaining the optimal VNF migration path based on the objective function corresponding to the VNF migration path and load balancing metrics" include:
[0109] Step 502: Calculate the objective function value of the VNF moving path based on the objective function corresponding to the load balancing index.
[0110] Specifically, the system can obtain the objective function corresponding to the pre-configured load balancing metric used to measure whether the load of the VNF mobile path is balanced, and replace the variables in the objective function with the parameters in the VNF mobile path to calculate the objective function value corresponding to the VNF mobile path.
[0111] Step 504: If the objective function value does not meet the preset iteration termination condition, then the steps of determining each target candidate VNF corresponding to the current VNF based on the target VNF taboo list are executed again until the objective function value is determined to meet the preset iteration termination condition, and the optimal VNF movement path is obtained.
[0112] Specifically, after obtaining the objective function value corresponding to the VNF movement path of the current iteration round, it is determined whether the preset iteration termination condition is met. If it is determined that the current objective function value does not meet the preset iteration termination condition, the system can re-execute the step of determining each target candidate VNF based on the target VNF taboo list, that is, execute the next iteration round until it is determined that the objective function value of the VNF movement path corresponding to the current iteration round meets the preset iteration termination condition. The optimal VNF movement path is determined by filtering among the VNF movement paths corresponding to multiple iteration rounds.
[0113] In this embodiment, by determining whether the preset iteration termination condition is met, global optimization can be performed, and the optimization efficiency and performance of the obtained optimal VNF movement path are good.
[0114] In one embodiment, the specific processing steps of "calculating the objective function value of the VNF movement path based on the objective function corresponding to the load balancing metric" include:
[0115] By using the objective function corresponding to the load balancing metric, the cumulative working time of the available virtual machines in each VNF included in the VNF migration path and the instantiation latency of each service function chain are processed to obtain the objective function value of the VNF migration path.
[0116] Specifically, the system can obtain the cumulative working time of available virtual machines in each VNF on the VNF mobility path, calculate the average working time of each virtual machine, calculate the difference between the cumulative working time and the average working time of each virtual machine, and perform exponential processing on the difference to obtain the exponential value corresponding to the virtual machine. The exponential values corresponding to each virtual machine are superimposed to obtain the superimposed value. The system can also extract the maximum latency of the instantiation of each service function chain included in the system. The system can then process the superimposed value, the first coefficient F1, the maximum latency, and the second coefficient F2 to obtain the objective function value corresponding to the VNF mobility path.
[0117] In one example, the system can calculate the objective function value for the movement path based on the cumulative working time of each virtual machine on the VNF movement path, the average working time of the virtual machines, and the maximum number of available virtual machines in the system. For example, the objective function value can be calculated using the following formula: k :
[0118]
[0119] Where F1 represents the first coefficient; F2 represents the second coefficient. This represents the cumulative working time of the i-th VM. T_SFCi represents the average working time of all VMs, r is the maximum number of VMs available in the system; T_SFCi represents the latency of instantiating the i-th function chain on the selected path, including transmission latency and computation latency.
[0120] Alternatively, the system can also calculate the objective function value using the following formula: k :
[0121]
[0122] Where F represents the coefficient.
[0123] In this embodiment, the load balancing index on the VNF moving path is calculated by using the processing time of the task, which can ensure the accuracy of the calculation.
[0124] In one embodiment, such as Figure 6 As shown, the specific processing steps for the step "determining that the objective function value satisfies the preset iteration termination condition and obtaining the optimal VNF movement path" include:
[0125] Step 602: If the objective function value has converged, then the preset iteration termination condition is satisfied, and the VNF movement path corresponding to the objective function value is set as the optimal VNF movement path. Alternatively,
[0126] Specifically, after calculating the objective function value of the VNF movement path in the current iteration, the system can determine whether the objective function value has converged. If it is determined that the objective function value corresponding to the VNF movement path obtained in the current iteration has converged, the system can determine the VNF movement path obtained in the current iteration as the optimal movement path. Or;
[0127] Step 604: If the calculation round corresponding to the objective function value reaches the preset number of iterations, then based on the objective function values corresponding to each calculation round, the VNF movement path corresponding to the optimal objective function value is determined as the optimal VNF movement path.
[0128] Specifically, after calculating the objective function value of the VNF movement path in the current iteration round, the system can determine whether the current iteration round corresponding to the objective function value has reached the preset number of iterations. If the preset number of iterations has been reached, it is determined that the preset iteration termination condition has been met. In this way, the system can compare the objective function values of the VNF movement paths obtained in each iteration, extract the optimal objective function value, and determine the VNF movement path corresponding to the optimal objective function value as the optimal VNF movement path.
[0129] Optionally, the objective function value can be negatively correlated with whether the VNF movement path is balanced. In this case, the system can determine the VNF movement path corresponding to the smallest objective function value as the optimal VNF movement path.
[0130] It should be noted that this disclosure does not limit the execution order of steps 602 and 604 above. This disclosure may execute one or more of steps 602 and 604 above based on the actual needs of the actual application scenario.
[0131] In this embodiment, by determining whether the preset iteration termination condition is met, global optimization can be performed, and the optimization efficiency and performance of the obtained optimal VNF movement path are good.
[0132] The following describes in detail the specific implementation process of the above path planning method with reference to a specific embodiment:
[0133] First, let's introduce the various technical terms relevant to this disclosure:
[0134] Load balancing: Distributing user requests relatively evenly across multiple servers for collaborative processing is the most effective technical means to address high concurrency issues.
[0135] Ant Colony Optimization (ACO) is a biomimetic algorithm that simulates the foraging behavior of ants in nature. It guides other ants in choosing their paths by mimicking the pheromones left behind by ants during their search for food. Ants tend to choose paths with higher pheromone concentrations, leading to the accumulation of pheromones on the optimal path, ultimately causing all ants to choose the same shortest path.
[0136] Virtual Network Function (VNF) is an important component of Network Function Virtualization (NFV), which allows network functions such as routers, switches, and firewalls to run as software on standard IT hardware.
[0137] A Service Function Chain (SFC) is an ordered set of Virtual Network Functions (VNFs) through which user traffic passes sequentially according to a specified policy.
[0138] A virtual machine (VM) is a complete computer system simulated by software, possessing full hardware system functionality and running in a completely isolated environment.
[0139] The tasks of network function virtualization are presented in the form of network function service chains. Only by combining the characteristics of network function service chains can load balancing scheduling be more targeted. Therefore, the load balancing of network function virtualization in this disclosure should take virtual machines as the object and scheduling unit. However, current research on network function virtualization load balancing still takes hardware CPUs and memory as the object, resulting in poor scheduling efficiency.
[0140] This disclosure mainly involves the following aspects: Since the ant colony algorithm in traditional technology is designed based on the Traveling Salesman Problem (TSP), an optimized route is eventually formed by the point-by-point movement of ants. In this process, the movement and trajectory of the ants are one-dimensional. However, multiple service function chains provide services at the same time, affect each other, and have multiple parallel and interconnected paths. Therefore, the current one-dimensional ant colony algorithm has significant limitations. The ant colony algorithm provided in this disclosure has been greatly improved and is a two-dimensional ant colony algorithm. In addition to moving on a service function chain (called X-axis movement), ants can also move between multiple service function chains (called Y-axis movement). In this process, ants have two different dimensions of movement.
[0141] Forward hop strategy: Within the same service function chain, an ant must complete the previous virtual network function (VNF) before entering the next VNF. In the two-dimensional ant colony algorithm, during movement in the Y direction, when an ant moves from a VNF in service function chain A... i Laterally move to a VNF in the B service function chain j At that time, VNF may be possible j The previous VNF k If the move (also on B) is not completed, then this move operation is illegal. In this disclosure, the move will be changed to a forward jump to VNF. k Instead of VNF j .
[0142] The Y-direction movement distance is calculated when Y-direction movement occurs. This disclosure also involves VNF tabu tables and VM tabu tables. The VNF tabu table records the VNFs that have been traversed, and all VNFs must be traversed exactly once. The VM tabu table records the candidate VMs that can be traversed in the next step. Each VM can be skipped or traversed multiple times (not in the same time period). The load balancing metric is used as the global objective function. The path planning method provided in this disclosure uses virtual machines as the object and scheduling unit.
[0143] The path planning method provided in this disclosure can achieve parallel scheduling optimization of multiple service chains, reducing overall latency; it achieves load balancing on a virtual machine basis, improving system resource utilization and making full use of hardware resources; and it employs a global optimization algorithm for better efficiency and performance. Correspondingly, Figure 1 In a network, all VNFs within the same SFC (Self-Focused Controller) form a directed path. Movement between VNFs is X-axis movement, and movement between different SFCs is Y-axis movement. The ant's movement rules are: it can move in any X-axis direction, but can only follow the arrow direction, moving one step at a time, completing a path by traversing all VNFs exactly once. Y-axis movement may result in illegal movements, which are made legal using a forward jump strategy.
[0144] like Figure 7 The following is a detailed process of implementing a path planning method provided in this embodiment:
[0145] S1, System initialization.
[0146] Specifically, input multiple service function chain parameters, hardware parameters, the number and types of existing VMs, and ant colony algorithm initialization. Figure 1 For example, there is a service function chain SFC1, including VNF1-1, VNF1-2, and VNF1-3; a service function chain SFC2, including VNF2-1, VNF2-2, and VNF2-3; and a service function chain SFC3, including VNF3-1, VNF3-2, and VNF3-3. Hardware parameters include the quantity and performance parameters of general-purpose hardware devices such as servers, storage, and network links. The number and type of VMs that each server can virtualize, and the types of VNFs supported by each VM, are also considered. Ant colony algorithm parameters include the number of ants, initial pheromone levels, and refresh rate. The number of ants represents the number of tasks the system currently needs to process.
[0147] S2, VNF taboo table check.
[0148] Specifically, if ant k wants to move from its current node (i.e., the current VNF) to the next node, then there must be a path connecting the current node and the next node, including both X and Y directions. The ant chooses any available path and its corresponding VNF according to the walking rules. All feasible paths can be obtained through the VNF tabu list. For example, Figure 1 Ant is currently at VNF1-2. The next feasible VNFs are: VNF1-3, VNF2-2, and VNF3-3. This will establish a preliminary set of candidate VNFs, i.e., the initially reachable VNFs.
[0149] S3, select a VNF from the candidate VNF set.
[0150] S4: Determine if the movement is in the Y direction. If yes, proceed to S5; otherwise, proceed to S6.
[0151] S5. If the movement is in the Y direction, determine if it is illegal. If it is illegal, perform a forward jump strategy and then execute S6. If it is not illegal, directly execute step S6.
[0152] Specifically, when task ant k moves in the Y direction, it is checked that the previous VNF (within the same SFC) of the selected SFC must have been traversed; otherwise, the next VNF is invalid, and a forward jump strategy is entered. The process is repeated, and if still invalid, the forward jump continues until it becomes valid. For example, in Figure 1, the movement is from VNF1-2 to VNF3-3, but VNF3-2 has not yet been executed, so it is invalid, and the ant jumps to VNF3-2.
[0153] S6: Determine whether the candidate set has been checked. If not, return to re-execute S3; if yes, execute S7.
[0154] S7, VM Tabu Table Check. Specifically, this checks all possible VMs that the selected next VNF can instantiate, identifying all available candidate VMs.
[0155] S8, calculate the distance to the next node, and move to the next VNF according to the probability.
[0156] Specifically, the transition probability is calculated for each target candidate VNF in the candidate set, the next route is selected according to the transition probability of the ant colony algorithm, and ant k is moved to the corresponding VNF; n can represent the number of VNFs, d ij represents the distance between node i and node j, including the X-axis distance and the Y-axis distance; m represents the number of task ants that the current system needs to process; the ant will determine its direction of movement based on the pheromone content on the paths between its current node and other nodes, as well as the relevant heuristic information value; the heuristic information refers to the reciprocal of the distance between nodes, i.e., ... Therefore, the closer ant j is to the current ant i, the greater its probability of being selected, all other things being equal. The distance in the X direction (i.e., the distance moved through the X direction to VNF) is considered. j The transmission delay of the X-direction line plus the node VNF is added. j The calculation time;
[0157] The distance in the Y direction includes the following three cases: Case 1, VNF j If it has already been visited, then selecting it in the next step is prohibited; no distance calculation is needed. Case 2: VNF j It has not been visited, and the previous VNF of its SFC. k If it has already been passed, then d ij For VNF k To VNF j Transmission delay plus node VNF j The computation time; Case 3, VNF j It has not been visited, and the previous VNF of its SFC. kSince no path has been taken, a forward jump occurs, and the calculation is then performed according to Case 2. The formula for calculating the transition probability has already been mentioned in the above embodiments and will not be repeated here.
[0158] S9 checks if the entire VNF has been traversed. If yes, proceed to S10; otherwise, return to S2. Specifically, the full path check checks if ant k has traversed all VNFs. If yes, proceed to the next step; otherwise, continue searching for the next VNF.
[0159] S10 calculates the load balancing objective function, updates the pheromones, and checks if the iteration count has been exceeded. If it has, the process ends; otherwise, it returns to S2. Specifically, it calculates the objective function value for the entire path, adds pheromones to all routes on that path, and attenuates pheromones on other routes.
[0160] The path planning method provided in this embodiment can combine the characteristics of network function virtualization, take virtual machines as objects and scheduling units, and use global optimization algorithms to distribute the tasks of multiple concurrent function service chains as evenly as possible to each virtual machine, thereby achieving load balancing and reducing the overall latency of the entire task.
[0161] It should be understood that although the steps in the flowcharts of the above embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0162] Based on the same inventive concept, this application also provides a path planning apparatus for implementing the path planning method described above. The solution provided by this apparatus is similar to the implementation described in the above method; therefore, the specific limitations in one or more path planning apparatus embodiments provided below can be found in the limitations of the path planning method described above, and will not be repeated here.
[0163] In one embodiment, such as Figure 8 As shown, a path planning device 800 is provided, applied to a system including multiple service function chains, each service function chain including multiple virtual network functions (VNFs). The device includes:
[0164] The first determining module 802 is used to determine each target candidate VNF corresponding to the current VNF based on the target VNF taboo table.
[0165] The first calculation module 804 is used to calculate the transition probability from the current VNF to each target candidate VNF, and determine the next VNF based on each transition probability.
[0166] The second determining module 806 is used to update the next VNF to the current VNF if the system does not meet the traversal conditions, and re-execute the step of determining the set of candidate VNFs of the current VNF based on the taboo table of the target VNF, until the system meets the traversal conditions and the VNF movement path is obtained.
[0167] The third determining module 808 is used to obtain the optimal VNF movement path based on the objective function corresponding to the VNF movement path and the load balancing index.
[0168] In one embodiment, the target VNF tabu list contains all the VNFs that have been visited; the first determining module is specifically used for:
[0169] Based on the connection relationships between the service function chains and the connection relationships of the multiple VNFs contained in each service function chain, the initial reachable VNFs of the current VNF are determined; and among the initially reachable VNFs, the VNFs contained in the target VNF tabu list are removed to obtain the initial candidate VNFs.
[0170] For each of the initial candidate VNFs, if the initial candidate VNF and the current VNF are not in the same service function chain, it is determined whether each of the initial candidate VNFs meets the preset legal conditions.
[0171] If the initial candidate VNF meets the preset legal conditions, then the initial candidate VNF is determined as the target candidate VNF; if the initial candidate VNF does not meet the preset legal conditions, then the previous VNF of the initial candidate VNF is determined as the initial candidate VNF, and the step of determining whether the initial candidate VNF meets the preset legal conditions is executed again.
[0172] In one embodiment, the device further includes:
[0173] The fourth determining module is used to determine that if the preceding candidate VNF of the initial candidate VNF is a VNF that has already been passed, the initial candidate VNF satisfies the preset legal condition, and the preceding candidate VNF and the initial candidate VNF are in the same service function chain.
[0174] In one embodiment, the first computing module is specifically used for:
[0175] Obtain the pheromone content along the path from the current VNF to each of the target candidate VNFs, and the heuristic information content along the path from the current VNF to each of the target candidate VNFs;
[0176] The pheromone content of each target candidate VNF is processed based on the pheromone weight to obtain the pheromone parameter of each target candidate VNF, and the heuristic information content of each target candidate VNF is processed based on the heuristic information weight to obtain the heuristic information parameter of each target candidate VNF.
[0177] Based on the pheromone parameters and heuristic information parameters corresponding to the target candidate VNF, calculate the target parameters corresponding to the target candidate VNF;
[0178] For each target candidate VNF, the transition probability of the target candidate VNF is calculated based on the target parameters corresponding to the target candidate VNF and the target parameters corresponding to each target candidate VNF of the current VNF.
[0179] In one embodiment, the second determining module is specifically used for:
[0180] If the system contains a previously unexplored VNF, then the next VNF is updated to the current VNF, and the next VNF is added to the target VNF tabu list. Then, the step of determining the set of candidate VNFs for the current VNF based on the target VNF tabu list is repeated until the system contains no previously unexplored VNFs. Then, based on each current VNF and the next VNF of each current VNF, a VNF movement path is obtained, and based on the pheromone adjustment strategy, the pheromone content is increased on each route in the VNF movement path.
[0181] In one embodiment, the third determining module is specifically used for:
[0182] Based on the objective function corresponding to the load balancing metric, calculate the objective function value of the VNF movement path;
[0183] If the objective function value does not meet the preset iteration termination condition, the step of determining each target candidate VNF corresponding to the current VNF based on the target VNF taboo table is re-executed until the objective function value is determined to meet the preset iteration termination condition, and the optimal VNF movement path is obtained.
[0184] In one embodiment, the third determining module is specifically used for:
[0185] By using the objective function corresponding to the load balancing metric, the cumulative working time of the available virtual machines of each VNF included in the VNF mobility path and the instantiation latency of each service function chain are processed to obtain the objective function value of the VNF mobility path.
[0186] In one embodiment, the third determining module is specifically used for:
[0187] If the objective function value has converged, then the preset iteration termination condition is satisfied, and the VNF movement path corresponding to the objective function value is determined as the optimal VNF movement path; or, if the calculation round corresponding to the objective function value reaches the preset iteration number, then based on the objective function value corresponding to each calculation round, the VNF movement path corresponding to the optimal objective function value is determined as the optimal VNF movement path.
[0188] Each module in the aforementioned path planning device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.
[0189] In one embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows. Figure 9 As shown, this computer device includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operating system and computer programs stored in the non-volatile storage media. The database stores path planning data. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communicating with external terminals via a network connection. When executed by the processor, the computer program implements a path planning method.
[0190] Those skilled in the art will understand that Figure 9 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0191] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above embodiments.
[0192] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, performs the steps described in the above embodiments.
[0193] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above embodiments.
[0194] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.
[0195] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.
[0196] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0197] The above embodiments are merely illustrative of several implementation methods of this application, and their descriptions are relatively specific and detailed. However, they should not be construed as limiting the scope of this application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A path planning method characterized by, The method is applied to a system comprising multiple service function chains, each service function chain comprising multiple virtual network functions (VNFs); the method includes: Based on the target VNF taboo list, determine each target candidate VNF corresponding to the current VNF; Calculate the transition probability from the current VNF to each of the target candidate VNFs, and based on each of the transition probabilities, determine the target candidate VNF corresponding to the highest transition probability as the next VNF of the current VNF; If it is determined that the system does not meet the traversal conditions, the next VNF is updated to the current VNF, and the step of determining the set of candidate VNFs of the current VNF based on the target VNF tabu list is re-executed until the system meets the traversal conditions and the VNF movement path is obtained. Based on the objective function corresponding to the VNF movement path and the load balancing metric, the optimal VNF movement path is obtained. The process of determining each target candidate VNF corresponding to the current VNF based on the target VNF tabu list includes: Based on the connection relationships between the service function chains and the connection relationships of the multiple VNFs contained in each service function chain, the initial reachable VNFs of the current VNF are determined; and among the initially reachable VNFs, the VNFs contained in the target VNF tabu list are removed to obtain the initial candidate VNFs. For each initial candidate VNF, if the initial candidate VNF and the current VNF are not in the same service function chain, it is determined whether each initial candidate VNF meets a preset legal condition; if the initial candidate VNF meets the preset legal condition, then the initial candidate VNF is determined to be the target candidate VNF. The method further includes: if the preceding candidate VNF of the initial candidate VNF is a VNF that has already been passed, then the initial candidate VNF is determined to satisfy the preset legal condition, and the preceding candidate VNF and the initial candidate VNF are in the same service function chain.
2. The method of claim 1, wherein, The target VNF tabu list contains all the VNFs that have been visited; the method further includes: If the initial candidate VNF does not meet the preset legality condition, then the previous VNF of the initial candidate VNF is determined as the initial candidate VNF, and the step of determining whether the initial candidate VNF meets the preset legality condition is executed again.
3. The method of claim 1, wherein, The calculation of the transition probability from the current VNF to each of the target candidate VNFs includes: Obtain the pheromone content along the path from the current VNF to each of the target candidate VNFs, and the heuristic information content along the path from the current VNF to each of the target candidate VNFs; The pheromone content of each target candidate VNF is processed based on the pheromone weight to obtain the pheromone parameter of each target candidate VNF, and the heuristic information content of each target candidate VNF is processed based on the heuristic information weight to obtain the heuristic information parameter of each target candidate VNF. Based on the pheromone parameters and heuristic information parameters corresponding to the target candidate VNF, calculate the target parameters corresponding to the target candidate VNF; For each of the target candidate VNFs, the transition probability of the target candidate VNF is calculated based on the target parameters corresponding to the target candidate VNF and the target parameters corresponding to each of the target candidate VNFs of the current VNF.
4. The method according to any one of claims 1 to 3, characterized in that, If it is determined that the system does not meet the traversal condition, the next VNF is updated to the current VNF, and the step of determining the set of candidate VNFs for the current VNF based on the target VNF tabu list is re-executed until the system meets the traversal condition, thus obtaining the VNF movement path, including: If the system contains a previously unexplored VNF, then the next VNF is updated to the current VNF, and the next VNF is added to the target VNF tabu list. Then, the step of determining the set of candidate VNFs for the current VNF based on the target VNF tabu list is repeated until the system contains no previously unexplored VNFs. Then, based on each current VNF and the next VNF of each current VNF, a VNF movement path is obtained, and based on the pheromone adjustment strategy, the pheromone content is increased on each route in the VNF movement path.
5. The method of claim 4, wherein, The process of obtaining the optimal VNF mobility path based on the objective function corresponding to the VNF mobility path and load balancing metrics includes: Based on the objective function corresponding to the load balancing metric, calculate the objective function value of the VNF movement path; If the objective function value does not meet the preset iteration termination condition, the step of determining each target candidate VNF corresponding to the current VNF based on the target VNF taboo table is re-executed until the objective function value is determined to meet the preset iteration termination condition, and the optimal VNF movement path is obtained.
6. The method of claim 5, wherein, The calculation of the objective function value of the VNF mobility path based on the objective function corresponding to the load balancing metric includes: By using the objective function corresponding to the load balancing metric, the cumulative working time of the available virtual machines of each VNF included in the VNF mobility path and the instantiation latency of each service function chain are processed to obtain the objective function value of the VNF mobility path.
7. The method of claim 5, wherein, The step of determining that the objective function value satisfies the preset iteration termination condition to obtain the optimal VNF movement path includes: If the objective function value has converged, then the preset iteration termination condition is satisfied, and the VNF movement path corresponding to the objective function value is the optimal VNF movement path; or, If the calculation round corresponding to the objective function value reaches the preset number of iterations, then based on the objective function value corresponding to each calculation round, the VNF movement path corresponding to the optimal objective function value is determined as the optimal VNF movement path.
8. A route planning apparatus characterized by comprising: The system is applied to a system comprising multiple service function chains, each service function chain comprising multiple virtual network functions (VNFs); the device comprises: The first determination module is used to determine each target candidate VNF corresponding to the current VNF based on the target VNF taboo list; The first calculation module is used to calculate the transition probability from the current VNF to each of the target candidate VNFs, and based on each of the transition probabilities, determine the target candidate VNF corresponding to the largest transition probability as the next VNF of the current VNF; The second determining module is used to update the next VNF to the current VNF if it is determined that the system does not meet the traversal conditions, and to re-execute the step of determining the set of candidate VNFs of the current VNF based on the target VNF tabu list, until the system meets the traversal conditions and the VNF movement path is obtained. The third determining module is used to obtain the optimal VNF movement path based on the objective function corresponding to the VNF movement path and the load balancing index. The first calculation module is specifically used to determine the initial reachable VNF of the current VNF based on the connection relationship between each of the service function chains and the connection relationship of multiple VNFs contained in each of the service function chains; and to remove each VNF contained in the target VNF tabu list from each of the initial reachable VNFs to obtain the initial candidate VNFs. For each initial candidate VNF, if the initial candidate VNF and the current VNF are not in the same service function chain, it is determined whether each initial candidate VNF meets a preset legal condition; if the initial candidate VNF meets the preset legal condition, then the initial candidate VNF is determined to be the target candidate VNF. The device further includes: The fourth determining module is used to determine that if the preceding candidate VNF of the initial candidate VNF is a VNF that has already been passed, the initial candidate VNF satisfies the preset legal condition, and the preceding candidate VNF and the initial candidate VNF are in the same service function chain. 9.A computer device, comprising a memory and a processor, wherein the memory stores a computer program, and the computer device is configured to perform the method according to any one of claims 1-8 when the computer program is executed by the processor. When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 7.
10. A computer-readable storage medium having stored thereon a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.
11. A computer program product comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 7.