Path planning method and device, computer equipment, readable storage medium and program product
Through the path planning method, the target VNF taboo table and pheromone transfer probability are used to optimize load balancing between virtual machines, solving the problem of insufficient load balancing in network function virtualization scenarios, and achieving efficient task scheduling and resource utilization.
Patent Information
- Application Number
- CN202411762269.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-03
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2044-12-03
AI Technical Summary
In the network function virtualization scenario, how to achieve load balancing of virtual network functions on various service chains to solve the problem of insufficient load balancing based on hardware characteristics in traditional technology.
Through a path planning method, the target VNF taboo table and pheromone transfer probability are used to determine the next VNF of the current VNF, and the optimal VNF mobile path is optimized through load balancing indicators to achieve load balancing between virtual machines.
It improves task scheduling efficiency and load balancing between virtual machines, reduces the overall task delay, and improves the utilization rate of system resources.
Smart Images

Figure CN119728694A_ABST
Abstract
Description
Technical Field
[0001] The present 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 Art
[0002] Due to the inconvenience of management of hardware equipment in the current network deployment process, with the development of network technology, a network function virtualization technology that realizes flexible loading has emerged, which can reduce the deployment cycle of network services and realize the flexibility of service deployment. Since network function virtualization relies on multiple general servers to be implemented, and multiple servers form a cluster system through the network, in order to prevent the load imbalance on each server, it is necessary to balance the load on each server.
[0003] In traditional technologies, load balancing is generally performed based on the hardware characteristics of the servers in the cluster system. However, in the network function virtualization scenario, the various service chains on the network function virtualization provide services simultaneously and affect each other. How to achieve load balancing for each virtual network function on each service chain is an urgent problem to be solved. Summary of the invention
[0004] Based on this, it is necessary to provide a path planning method, device, computer equipment, computer-readable storage medium and computer program product that can improve task scheduling efficiency and load balancing on each virtual machine in response to the above technical problems.
[0005] In a first aspect, the present application provides a path planning method, the system comprising a plurality of service function chains, each of the service function chains comprising a plurality of virtual network functions VNF; the method comprising:
[0006] Based on the target VNF taboo table, determine the target candidate VNFs corresponding to the current VNF;
[0007] Calculate the transfer 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 transfer probabilities;
[0008] 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 a set of candidate VNFs for the current VNF based on the target VNF taboo table is re-executed until the system meets the traversal condition and the VNF movement path is obtained;
[0009] Based on the VNF mobile path and the objective function corresponding to the load balancing indicator, the optimal VNF mobile path is obtained.
[0010] In one of the embodiments, the target VNF taboo table includes each VNF that has been passed; and determining each target candidate VNF corresponding to the current VNF based on the target VNF taboo table includes:
[0011] Based on the connection relationship between each of the service function chains and the connection relationship between the multiple VNFs contained in each of the service function chains, determine the initial reachable VNF of the current VNF; and in each of the initial reachable VNFs, eliminate each VNF contained in the target VNF taboo table to obtain an initial candidate VNF;
[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, determine whether each of the initial candidate VNFs meets the preset legal conditions;
[0013] If the initial candidate VNF meets the preset legal conditions, the initial candidate VNF is determined as the target candidate VNF; if the initial candidate VNF does not meet the preset legal conditions, 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 re-executed.
[0014] In one embodiment, the method further comprises:
[0015] If the previous candidate VNF of the initial candidate VNF is a VNF that has already passed, it is determined that the initial candidate VNF meets the preset legal conditions, and the previous candidate VNF and the initial candidate VNF are in the same service function chain.
[0016] In one of the embodiments, calculating the transfer probability from the current VNF to each of the target candidate VNFs, and determining the next VNF of the current VNF based on each of the transfer probabilities, includes:
[0017] Obtaining the pheromone content on the path from the current VNF to each of the target candidate VNFs, and the heuristic information content on the path from the current VNF to each of the target candidate VNFs;
[0018] Processing each of the pheromone contents based on the pheromone weight to obtain the pheromone parameters corresponding to each of the target candidate VNFs, and processing each of the heuristic information contents based on the heuristic information weight to obtain the heuristic information parameters corresponding to the target candidate VNFs;
[0019] Calculate the target parameters corresponding to the target candidate VNF based on the pheromone parameters and the heuristic information parameters corresponding to the target candidate VNF;
[0020] For each of the target candidate VNFs, the transfer 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.
[0021] In one of the embodiments, 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 a set of candidate VNFs for the current VNF based on the target VNF taboo table is re-executed until the system meets the traversal condition and the VNF movement path is obtained, including:
[0022] If there are any VNFs that have not been passed in the system, the next VNF is updated to the current VNF, and after the next VNF is added to the target VNF taboo table, the step of determining the set of candidate VNFs for the current VNF based on the target VNF taboo table is re-executed until there are no VNFs that have not been passed in the system. Then, based on each current VNF and the next VNF of each current VNF, a VNF moving path is obtained, and based on the pheromone adjustment strategy, the pheromone content is increased on each route in the VNF moving path.
[0023] In one of the embodiments, obtaining the optimal VNF mobile path based on the VNF mobile path and the objective function corresponding to the load balancing indicator includes:
[0024] Calculate the objective function value of the VNF mobile path based on the objective function corresponding to the load balancing indicator;
[0025] If the objective function value does not meet the preset iteration end condition, the step of determining the target candidate VNFs corresponding to the current VNF based on the target VNF taboo table is re-executed until it is determined that the objective function value meets the preset iteration end condition, and the optimal VNF moving path is obtained.
[0026] In one of the embodiments, the objective function corresponding to the load balancing indicator is used to calculate the objective function value of the VNF mobile path, including:
[0027] Through the objective function corresponding to the load balancing indicator, the cumulative working time of the available virtual machines of each VNF contained in the VNF mobile path and the instantiation delay of each service function chain are processed to obtain the objective function value of the VNF mobile path.
[0028] In one of the embodiments, determining that the objective function value satisfies the preset iteration end condition to obtain the optimal VNF mobility path includes:
[0029] If the objective function value has converged, it is determined that the preset iteration end condition is met, and the VNF mobile path corresponding to the objective function value is the optimal VNF mobile path; or,
[0030] If the calculation rounds corresponding to the objective function value reach the preset number of iterations, based on the objective function values corresponding to each of the calculation rounds, the VNF mobile path corresponding to the optimal objective function value is determined as the optimal VNF mobile path.
[0031] In a second aspect, the present application further provides a path planning device, which is applied to a system, wherein the system includes a plurality of service function chains, each of which includes a plurality of virtual network functions VNF; the device includes: a first determination module, which is used to determine each target candidate VNF corresponding to the current VNF based on a target VNF taboo table;
[0032] A first calculation module is used to calculate the transfer 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 transfer probabilities;
[0033] The second determination module is used for updating the next VNF to the current VNF if it is determined that the system does not meet the traversal condition, and re-executing the step of determining the set of candidate VNFs of the current VNF based on the target VNF taboo table, until the system meets the traversal condition and obtains the VNF movement path;
[0034] The third determination module is used to obtain the optimal VNF moving path based on the objective function corresponding to the VNF moving path and the load balancing indicator.
[0035] In a third aspect, the present application further provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps in the above embodiments when executing the computer program.
[0036] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps in the above embodiment are implemented.
[0037] In a fifth aspect, the present application also provides a computer program product, including a computer program, which implements the steps in the above embodiment when executed by a processor.
[0038] The above-mentioned path planning method, device, computer equipment, computer-readable storage medium and computer program product, by adopting this method, can be scheduled for virtual machines to achieve global optimization, distribute the tasks of multiple concurrent service function chains as evenly as possible to the virtual machines corresponding to each virtual network function, achieve load balancing of each virtual network function and reduce the overall task latency, thereby improving the task scheduling efficiency and task processing efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0040] Figure 1 A diagram of an application environment of a path planning method in an embodiment;
[0041] Figure 2 A schematic diagram of a process flow of a path planning method in one embodiment;
[0042] Figure 3 A flowchart of a step for determining whether a preset legal condition is met in one embodiment;
[0043] Figure 4 A schematic diagram of a flow chart of a step of calculating a transition probability in one embodiment;
[0044] Figure 5 A schematic diagram of a process flow of a path planning step in an embodiment;
[0045] Figure 6 A schematic diagram of a process flow of a path planning step in an embodiment;
[0046] Figure 7 is a flow chart of a path planning method in another embodiment;
[0047] Figure 8 is a structural block diagram of a path planning device in one embodiment;
[0048] Fig. 9 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0049] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0050] The path planning method provided in the embodiment of the present application can be applied to Figure 1 In the system shown. It may include multiple service function chains, for example, it may include SFC1, SFC2, and SFC3, each service function chain includes multiple virtual network functions VNF, and each VNF is interconnected. For example, SFC1 may include VNF1-1, VNF1-2, and VNF1-3; SFC2 may include VNF2-1, VNF2-2, and VNF2-3; SFC3 may include VNF3-1, VNF3-2, and VNF3-3; wherein, the movement between VNFs on the same service function chain is called X-direction movement, and the movement between VNFs that do not belong to the same service function chain is called Y-direction movement. Other related forward jump contents will be described in detail in subsequent embodiments and will not be repeated here. Each VNF on each service function chain can communicate through the network.
[0051] In one embodiment, if Figure 2 As shown, a path planning method is provided, which is applied to Figure 1 The system in is taken as an example, the system includes multiple service function chains, each service function chain includes multiple virtual network functions VNF; the path planning method includes the following steps 202 to 208. Among them:
[0052] Step 202: Determine the target candidate VNFs corresponding to the current VNF based on the target VNF taboo table.
[0053] Among them, the target VNF taboo table can be a table data storing candidate VNFs of each VNF. The target VNF taboo table is updated in real time based on the movement of tasks between different VNFs. The current VNF can be the VNF where the task is currently located; each target candidate VNF corresponding to the current VNF can be the next VNF to which the task can move from the current VNF.
[0054] Specifically, the system can determine the VNFs corresponding to all feasible routes of the next step of the current VNF by querying the target VNF taboo table, that is, determine the target candidate VNFs corresponding to the current VNF.
[0055] Step 204, calculate the transfer probability from the current VNF to each target candidate VNF, and determine the next VNF of the current VNF based on each transfer probability.
[0056] Among them, the transfer 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 transfer probability is used to determine the next VNF of the current VNF. The transfer probability is determined based on the pheromone content and the heuristic information content on the route from the current VNF to the target candidate VNF.
[0057] Specifically, after determining each target candidate VNF corresponding to the current VNF, the system can determine the route between the current VNF and each target candidate VNF, and calculate the transfer probability corresponding to the route based on the pheromone content and the heuristic information content on the route. Based on this, the system can screen based on the calculated transfer probabilities on the routes from the current VNF to each target candidate VNF, and determine the next VNF of the current 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 system may perform screening based on the transfer probabilities corresponding to the target candidate VNFs, and the system may determine the target candidate VNF corresponding to the largest transfer 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, 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 taboo table is re-executed until the system meets the traversal conditions and the VNF movement path is obtained.
[0060] The traversal condition may be predetermined, and the content of the traversal condition may be that each VNF on each service function chain in the system has passed through, or whether the task has passed through each VNF included in the system. The VNF moving path may be the moving route between each VNF included 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, determine whether the task has passed through each VNF included in the system; if it is determined that the system has a VNF that the task has not passed through, it is determined that the system does not meet the traversal conditions, so that the system can determine the next VNF that has been moved to as the current VNF, and re-execute the step of determining the set of candidate VNFs for the current VNF based on the target VNF taboo table in the above embodiment based on the updated current VNF, until the system determines that the preset traversal conditions are currently met, that is, it is determined that the system currently does not have a VNF that the task has not passed through, and the system can determine the moving route of the task between each VNF as the VNF moving path. The VNF moving path contains each VNF arranged in the order of moving to.
[0062] Step 208, based on the VNF mobile path and the objective function corresponding to the load balancing indicator, obtain the optimal VNF mobile path.
[0063] Among them, the objective function is used to calculate the objective function value, the objective function value is used to characterize the degree of balance of the load distribution of the obtained VNF mobile path, and the load balancing index is used to characterize the degree of balance of the load distribution of the tasks on the VNF mobile path. For example, the lower the objective function value corresponding to the load balancing index, the more balanced the load distribution of the current VNF mobile path; conversely, the higher the objective function value corresponding to the load balancing index, the more unbalanced the load distribution of the current VNF mobile path. The optimal VNF mobile path can be the path with the most balanced load distribution represented by the objective function value among multiple VNF mobile paths.
[0064] Specifically, based on the objective function corresponding to the load balancing indicator and the parameters on the VNF mobile path, the objective function value corresponding to the VNF mobile path is calculated, and judgment and processing are performed based on the objective function value and the preset iteration end condition to obtain the optimal VNF mobile path.
[0065] In the above path planning method, scheduling can be performed for virtual machines to achieve global optimization, and the tasks of multiple concurrent service function chains can be distributed as evenly as possible to the virtual machines corresponding to each virtual network function, thereby achieving load balancing of each virtual network function and reducing the overall task latency, thereby improving the task scheduling efficiency and task processing efficiency.
[0066] In one embodiment, the target VNF taboo table includes each VNF that has been passed. Specifically, the target VNF taboo table includes each VNF node that the task in the system has passed through, and the target VNF taboo table is updated in real time based on each VNF that the task currently passes through. For example, the VNF to which the task in the system has currently moved can be added to the target VNF taboo table; the target VNF taboo table can also include movement direction indications between each VNF on each service function chain in the system.
[0067] Accordingly, if Figure 3 As shown, the specific processing process of the step "determining each target candidate VNF corresponding to the current VNF based on the target VNF taboo table" may include:
[0068] Step 302: Based on the connection relationship between each service function chain and the connection relationship between multiple VNFs contained in each service function chain, determine the initial reachable VNF of the current VNF. And in each initial reachable VNF, remove each VNF contained in the target VNF taboo table to obtain the initial candidate VNF.
[0069] Among them, each VNF included in the target VNF taboo table may be the name information of each VNF that the task has passed;
[0070] Specifically, the system can obtain the connection relationship between each service function chain, and the directed connection relationship between each VNF contained in each service function chain, that is, the system can obtain the directed connection relationship between each VNF and each VNF contained in the same service function chain, and the directed connection relationship between each VNF and each VNF contained in different service function chains, and can determine the initial reachable VNF of the current VNF. The initial reachable VNF is determined based on the directed connection relationship, and the tasks can be moved from the current VNF to each VNF. For example, it can include the initial reachable VNF in the X direction and the initial reachable VNF in the Y direction, that is, the VNF in the same service function chain as the current VNF and the VNF that does not belong to the same service function chain as the current VNF.
[0071] In this way, after the system determines multiple initially reachable VNFs of the current VNF, the system can query the target VNF taboo table and eliminate the VNFs that the task has passed through; for example, the system can query the identification information of the VNFs that the task has passed through in the target VNF taboo table, and eliminate the VNFs that are consistent with the identification information of the queried VNFs that have passed through in each initially reachable VNF, and determine each initially reachable VNF that has not been eliminated as the initial candidate VNF.
[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] Among them, the content of the preset legal condition may be that the previous VNF of the VNF has been experienced by the task; that is, for a certain initial candidate VNF, if the task has been moved to the previous VNF of the initial candidate VNF, then it is determined that the initial candidate VNF meets the preset legal condition, wherein the previous VNF is a VNF on the same service function chain as the initial candidate VNF.
[0074] Specifically, the system can screen each initial candidate VNF to obtain each target candidate VNF of the current VNF. The specific screening process that the system can perform on each initial candidate VNF can be: 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 legal conditions, and specifically can determine the previous VNF of the initial candidate VNF that belongs to the same service function chain as the initial candidate VNF; if the previous VNF has been passed by the task, the system can determine that the initial candidate VNF meets the preset legal conditions.
[0075] Step 306: If the initial candidate VNF meets the preset legal conditions, the initial candidate VNF is determined as the target candidate VNF. If the initial candidate VNF does not meet the preset legal conditions, 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 re-executed.
[0076] Specifically, if the system determines that the initial candidate VNF meets the preset legal conditions, the system can determine the initial candidate VNF as the target candidate VNF; if the system determines that the previous VNF of the initial candidate VNF has not been passed 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 judging whether the initial candidate VNF meets the preset legal conditions, until the judgment result of whether the preset legal conditions are met is obtained for each initial candidate VNF corresponding to each current VNF, and each target candidate VNF corresponding to the current VNF is obtained based on the judgment result.
[0077] Optionally, after determining the target candidate VNFs corresponding to the current VNF, the instantiated virtual machines corresponding to the target candidate VNFs can be determined based on the virtual machine taboo table to obtain candidate available virtual machines, which are used to carry the software functions of the VNF and process tasks.
[0078] In this embodiment, the target VNF taboo table and the forward jump strategy are used to efficiently and accurately screen the initial reachable VNFs of the current VNF to obtain the target candidate VNFs of the current VNF.
[0079] In one embodiment, the method further comprises:
[0080] If the previous candidate VNF of the initial candidate VNF is a VNF that has already passed, it is determined that the initial candidate VNF meets the preset legal conditions, and the previous candidate VNF is in the same service function chain as the initial candidate VNF.
[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 previous VNF of the initial candidate VNF that belongs to the same service function chain as the initial candidate VNF. Based on the target VNF taboo table, it is queried whether the previous VNF is a VNF that the task has passed through. If the task has passed through the previous VNF, it is determined that the initial candidate VNF meets the preset legal conditions. If it is determined that the previous VNF is a VNF that has not been passed by the task, it can be determined that the initial candidate VNF does not meet the preset legal conditions.
[0082] In this embodiment, by performing a legal check on the initial candidate VNF, the legality of the path planning can be guaranteed and it can be ensured that the task can pass through each VNF on the system, thereby achieving scheduling optimization of tasks on multiple parallel service function chains, achieving load balancing and improving the utilization of system resources.
[0083] In one embodiment, if Figure 4 As shown, the specific implementation process of the step of "calculating the transfer probability from the current VNF to each target candidate VNF, and determining the next VNF of the current VNF based on each transfer probability" may include:
[0084] Step 402, obtain the pheromone content on the path from the current VNF to each target candidate VNF, and the heuristic information content on the path from the current VNF to each target candidate VNF.
[0085] The pheromone content on the path from the current VNF to each target candidate VNF may be the pheromone content on the path from the current VNF to each target candidate VNF at the current time t; the heuristic information content on the path from the current VNF to each target candidate VNF may be the heuristic information content on 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 moving distance between nodes, for example, the reciprocal of the moving 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 corresponding pheromone content on the path from the current VNF to each target candidate VNF can be expressed as τ ij (t) represents; the heuristic information content on the path from the current VNF to each target candidate VNF can be expressed as η ij (t) represents. The system can obtain the pheromone content and heuristic information content on the path from the current VNF to each target candidate VNF at the current time t.
[0087] Step 404, processing each pheromone content based on the pheromone weight to obtain the pheromone parameter corresponding to each target candidate VNF, and processing each heuristic information content based on the heuristic information weight to obtain the heuristic information parameter corresponding to the target candidate VNF.
[0088] Among them, the pheromone weight may be pre-configured, and the pheromone weight may be a pheromone heuristic factor α; the heuristic information weight may be pre-configured, and the heuristic information weight may be a heuristic information heuristic factor β, that is, an expected heuristic factor β. The pheromone parameter corresponding to the target candidate VNF is the pheromone parameter of the route from the current VNF to the target candidate VNF; the heuristic information parameter corresponding to the target VNF is 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 index 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, the heuristic information content corresponding to the target candidate VNF is indexed based on the heuristic information weight to obtain the heuristic information parameter corresponding to the target candidate VNF [ η ij (t)] β .
[0090] Step 406, 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.
[0091] Specifically, the system can calculate the target parameters corresponding to each target candidate VNF. The specific calculation process can be that the system can obtain the pheromone parameters and heuristic information parameters corresponding to the target candidate VNF, and calculate the product value between the pheromone parameters and the heuristic information parameters. In this way, the system can determine the product value as the target parameter corresponding to the target candidate VNF.
[0092] Step 408, for each target candidate VNF, calculate the transfer 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 transfer probability corresponding to each target candidate VNF respectively, that is, calculate the transfer probability corresponding to the route moving 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 for calculating the current VNF in the above embodiment, so that the system can superimpose the target parameters of each target candidate VNF to obtain the sum value. For each target candidate VNF, the terminal can calculate the ratio between the target parameter corresponding to the target candidate VNF and the sum value calculated in the above embodiment, and determine the ratio as the transfer probability corresponding to the target candidate VNF. For example, the transfer probability corresponding to the target candidate VNF can be calculated by the following formula:
[0094]
[0095] Among them, allowed k It represents the set of target candidate VNFs corresponding to the current VNF (node i) when task k is in the current VNF; node j represents any target candidate VNF of the current VNF; It represents the transfer probability corresponding to the route of task k transferring from node i to node j at time t, that is, the transfer probability corresponding to the target candidate VNF (node j).
[0096] In this embodiment, the transfer 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 moving distance, and the scheduling problem of multiple parallel service function chains is converted into a single path optimization problem, thereby improving the global considerations and efficiency of path planning.
[0097] In one of the embodiments, the specific implementation process of the step "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 a set of candidate VNFs for the current VNF based on the target VNF taboo table is re-executed until the system meets the traversal condition and the VNF moving path is obtained" may include:
[0098] If there are any VNFs that have not been passed in the system, the next VNF will be updated to the current VNF, and after the next VNF is added to the target VNF taboo table, the step of determining the set of candidate VNFs for the current VNF based on the target VNF taboo table will be re-executed until there are no VNFs that have not been passed in the system. Then, based on each current VNF and the next VNF of each current VNF, the VNF moving path is obtained, and based on the pheromone adjustment strategy, the pheromone content is increased on each route in the VNF moving 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, determine whether the task has passed through each VNF included in the system, that is, determine whether the system currently has a VNF that the task has not passed through; if it is determined that the system has a VNF that the task has not passed through, it is determined that the system does not meet the traversal conditions, so that the system can update the next VNF that has been moved to as the current VNF, and add the updated current VNF as the node that the task has passed through to the target VNF taboo table; accordingly, the system can re-execute the step of determining the set of candidate VNFs for the current VNF based on the target VNF taboo table in the above embodiment based on the updated current VNF, until the system determines that the preset traversal conditions are currently met, that is, it is determined that the system currently has no VNF that the task has not passed through. At this time, the system can determine the order of movement of tasks between various VNFs and the movement route as the VNF movement path. The VNF movement path contains various VNFs arranged in the order of movement to. At the same time, based on the pheromone adjustment strategy, the system can also add pheromone content to each moving route included in the VNF moving path, and attenuate the pheromone content of each moving route not included in the VNF moving path. For example, the system can add pheromone content and attenuate pheromone content based on a preset pheromone content adjustment value.
[0100] Optionally, based on the pheromone adjustment strategy, the process of increasing the pheromone content on each route in the VNF moving path may be as follows:
[0101]
[0102] Wherein, t may be time t or the t-th iteration, and the VNF mobile path may be the mobile path obtained during the t-th iteration; represents the pheromone content on the path from node i to node j at the tth iteration, represents the pheromone content on the path from node i to node j at the t+1th iteration; ρ represents the volatility coefficient of the information system, represents the pheromone content added from node i to node j in the VNF mobile path obtained in the tth iteration, which can be calculated by the following formula :
[0103]
[0104] Among them, m represents the total number of tasks k that the current system needs to process; It represents the pheromone content added to the path of task k moving from node i to node j in the tth iteration.
[0105]
[0106] Among them, Q is a pre-configured constant coefficient, object k It can be the objective function value of the VNF mobile path. That is, in the tth iteration, the pheromone content added to the path of task k moving from node i to node j is calculated based on the preconfigured constant coefficient and the objective function value on the VNF mobile path. Optionally, the objective function value corresponding to the objective function 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 mobile path can be flexibly adjusted in a timely manner, providing a reliable data basis for accurately calculating the transfer probability of each target candidate VNF.
[0108] In one embodiment, if Figure 5 As shown in FIG. 1 , the specific processing process of the step “obtaining the optimal VNF mobile path based on the VNF mobile path and the objective function corresponding to the load balancing indicator” includes:
[0109] Step 502, based on the objective function corresponding to the load balancing indicator, calculate the objective function value of the VNF mobile path.
[0110] Specifically, the system can obtain the objective function corresponding to the pre-configured load balancing indicator for measuring 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 end 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 it is determined that the objective function value meets the preset iteration end condition, and the optimal VNF moving path is obtained.
[0112] Specifically, after obtaining the objective function value corresponding to the VNF mobile path corresponding to the current iteration round, determine whether the preset iteration end condition is met. If it is determined that the current objective function value does not meet the preset iteration end condition, the system can re-execute the step of determining each target candidate VNF corresponding to the current VNF based on the target VNF taboo table, that is, execute the next round of iteration until it is determined that the objective function value of the VNF mobile path corresponding to the current iteration round meets the preset iteration end condition, and screen the VNF mobile paths corresponding to multiple iteration rounds to determine the optimal VNF mobile path.
[0113] In this embodiment, by judging whether the preset iteration end condition is met, the global optimization can be performed, and the optimization efficiency and optimization performance of the obtained optimal VNF mobile path are better.
[0114] In one embodiment, the specific processing process of the step of "calculating the objective function value of the VNF mobile path based on the objective function corresponding to the load balancing indicator" includes:
[0115] Through the objective function corresponding to the load balancing indicator, the cumulative working time of the available virtual machines of each VNF contained in the VNF mobile path and the instantiation delay of each service function chain are processed to obtain the objective function value of the VNF mobile path.
[0116] Specifically, the system can obtain the cumulative working time of the available virtual machines of each VNF on the VNF mobile path, and calculate the average working time of each virtual machine, calculate the difference between the cumulative working time of each virtual machine and the average working time, and perform exponential processing on the difference to obtain the index value corresponding to the virtual machine, and superimpose the exponential values corresponding to each virtual machine to obtain the superimposed value; perform instantiation processing on each service function chain included in the system, and extract the maximum delay therein; the system can perform processing based on the superimposed value, the first coefficient F1, the maximum delay and the second coefficient F2 to obtain the objective function value corresponding to the VNF mobile path.
[0117] In one example, the system can calculate the objective function value on the moving path based on the accumulated working time of each virtual machine on the VNF moving path, the average working time of the virtual machine, and the maximum virtual machine available value of the system. For example, the objective function value object can be calculated by the following formula k :
[0118]
[0119] Among them, F1 represents the first coefficient; F2 represents the second coefficient, Represents the cumulative working time of the i-th VM. represents the average working time of all VMs, r is the maximum number of VMs available in the system; T_SFCi represents the delay of instantiation of the i-th function chain on the selected path, including transmission delay and calculation delay.
[0120] Optionally, the system can also calculate the objective function value object by the following formula k :
[0121]
[0122] Wherein, F represents the coefficient.
[0123] In this embodiment, the load balancing index on the VNF mobile path is calculated by processing the task time, so as to ensure the accuracy of the calculation.
[0124] In one embodiment, if Figure 6 As shown in FIG. 1 , the specific processing process of the step “determining that the objective function value satisfies the preset iteration end condition and obtaining the optimal VNF mobile path” includes:
[0125] Step 602: If the objective function value has converged, it is determined that the preset iteration end condition is met, and the VNF mobile path corresponding to the objective function value is set as the optimal VNF mobile path. Or,
[0126] Specifically, after calculating the objective function value of the VNF mobile path of the current iteration round, the system can determine whether the objective function value has converged. If it is determined that the objective function value corresponding to the VNF mobile path obtained by the current iteration number has converged, the system can determine the VNF mobile path obtained by the current iteration round as the optimal mobile path. Or;
[0127] Step 604: If the calculation round corresponding to the objective function value reaches the preset number of iterations, based on the objective function values corresponding to each calculation round, the VNF mobile path corresponding to the optimal objective function value is determined as the optimal VNF mobile path.
[0128] Specifically, after calculating the objective function value of the VNF mobile path of 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 of the preset configuration. If it has reached the preset number of iterations, it is determined that the preset iteration end condition has been met. In this way, the system can compare the objective function values of the VNF mobile paths obtained in each round of iteration, extract the optimal objective function value, and determine the VNF mobile path corresponding to the optimal objective function value as the optimal VNF mobile path.
[0129] Optionally, the objective function value may be negatively correlated with whether the VNF mobile path is balanced. In this case, the system may determine the VNF mobile path corresponding to the smallest objective function value as the optimal VNF mobile path.
[0130] It should be noted that the present disclosure does not limit the execution order of the above steps 602 and 604. The present disclosure can execute one or more of the above steps 602 and 604 based on the actual needs of the actual application scenario.
[0131] In this embodiment, by judging whether the preset iteration end condition is met, the global optimization can be performed, and the optimization efficiency and optimization performance of the obtained optimal VNF mobile path are better.
[0132] The specific implementation process of the above path planning method is described in detail below in conjunction with a specific embodiment:
[0133] First, various technical terms related to this disclosure are introduced:
[0134] Load balancing: Distributing user request tasks relatively evenly to multiple servers for joint processing is the most effective technical means to deal with high concurrency problems.
[0135] Ant Colony Optimization (ACO) is a bionic algorithm that simulates the foraging behavior of ants in nature. It guides other ants to choose paths by simulating the pheromones left by ants in the process of looking for food. Ants tend to choose paths with higher pheromone concentrations. This behavior causes pheromones to accumulate on the optimal path, and eventually all ants choose the same shortest path.
[0136] Virtual Network Function (VNF) is an important part of Network Function Virtualization (NFV), which allows network functions such as routers, switches, firewalls, etc. to run in software on standard IT hardware.
[0137] A service function chain (SFC) is an ordered set of virtual network functions (VNFs). User traffic passes through multiple VNFs in sequence according to specified policies.
[0138] A virtual machine (VM) is a complete computer system that is simulated by software and has complete hardware system functions and runs in a completely isolated environment.
[0139] The task of network function virtualization is presented in the form of network function service chain. Only by combining the characteristics of network function service chain can load balancing scheduling be more targeted. Therefore, the load balancing of network function virtualization in this disclosure should take virtual machines as objects and scheduling units, while the current research on network function virtualization load balancing is still based on hardware CPU and memory, resulting in poor scheduling efficiency.
[0140] The present 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 finally formed through the point-by-point movement of ants. In this process, the movement of ants and their trajectories are one-dimensional, while multiple service function chains provide services at the same time and influence each other. There are multiple paths that are parallel and interconnected. Therefore, the current one-dimensional ant colony algorithm has great limitations. The ant colony algorithm provided by the present disclosure has been greatly improved and is a two-dimensional ant colony algorithm. In addition to moving on a service function chain (called X-direction movement), ants can also move between multiple service function chains (called Y-direction movement). In this process, ants have two different dimensions of movement.
[0141] Forward jump strategy: In the same service function chain, the previous virtual network function VNF must be completed before entering the next VNF. In the process of moving in the Y direction of the two-dimensional ant colony algorithm, when the ant leaves a VNF in the A service function chain, i Move horizontally to a VNF in service function chain B j When VNF j Previous VNF k If the move operation is not completed (also on B), then this move operation is illegal. In this disclosure, this move will be changed to jump forward to VNF. k , not VNFs j .
[0142] The Y-direction moving node distance calculation when the Y-direction moving occurs. The present disclosure also relates to a VNF taboo table and a VM taboo table, wherein the VNF taboo table records the VNFs that have been passed, and all VNFs must pass through and only pass through once, and the VM taboo table records the candidate VMs that can be passed through next time, and each VM may not pass through, or may pass through multiple times (not in the same time period); the load balancing index is a global objective function with the load balancing index; the path planning method provided by the present disclosure is based on the virtual machine as the object and scheduling unit.
[0143] The path planning method provided by the present disclosure can realize parallel scheduling optimization of multiple service chains and reduce overall latency; it can realize load balancing based on virtual machines, improve system resource utilization, and make full use of hardware resources; it can also use global optimization algorithms to achieve better optimization efficiency and performance. Figure 1 All VNFs in the same SFC in the ant form a directed path. The movement from the previous VNF to the next VNF is in the X direction, and the movement between different SFCs is in the Y direction. Ant walking rules: Ants can walk in the X direction. Ants can only move one step at a time in the direction of the arrow. They complete a path by passing through all VNFs once and only once. The movement in the Y direction may produce illegal movements, which can be made legal through the forward jump strategy.
[0144] like Figure 7 As shown, it may be a detailed process of a specific implementation of a path planning method provided in this embodiment:
[0145] S1, system initialization.
[0146] Specifically, multiple service function chain parameters, hardware parameters, the number and type of existing VMs, and ant colony algorithm initialization are input. Figure 1 For example, there is a service function chain SFC1, including VNF1-1, VNF1-2, and VNF1-3; there is a service function chain SFC2, including VNF2-1, VNF2-2, and VNF2-3; there is a service function chain SFC3, including VNF3-1, VNF3-2, and VNF3-3; the hardware parameters include the number and performance parameters of general hardware functional devices such as servers, storage, and network links. The number and type of virtualized VMs on each server, and the types of VNFs supported by the VMs. The parameters of the ant colony algorithm include the number of ants, initial pheromones, refresh frequency, etc. The number of ants is the number of tasks that the system currently needs to process.
[0147] S2, VNF taboo table check.
[0148] Specifically, if a task ant k wants to walk from the current node (i.e., the current VNF) along the route to the next point, there must be a route connecting the current point and the next point, including the X direction and the Y direction. The ant selects one of the currently available routes and the corresponding VNF according to the walking rules. All feasible routes can be obtained through the VNF taboo table. For example, Figure 1 The ant is currently in VNF1-2. The next feasible VNFs are: VNF1-3, VNF2-2, VNF3-3, so as to establish a preliminary set of candidate VNFs, that is, the initial reachable VNFs.
[0149] S3, select a VNF from the candidate VNF set.
[0150] S4, determine whether it is a Y-direction movement. If yes, execute S5, if not, execute S6.
[0151] S5, if it is a Y-direction move, determine whether 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 (the same SFC) of the selected VNF of another SFC must have been passed, otherwise the next VNF is illegal, and the forward jump strategy is entered, and it jumps forward one step, and then checks again. If it is still illegal, it continues to jump forward until it is legal. For example, in Figure 1, it moves from VNF1-2 to VNF3-3, but VNF3-2 has not been executed yet, so it is illegal, and it jumps forward to VNF3-2.
[0153] S6, determine whether the candidate set has been checked. If not, return to re-execute S3; if so, execute S7.
[0154] S7, VM taboo table check. Specifically, check all possible instantiation VMs of the selected next step VNF to find all candidate available VMs.
[0155] S8, calculate the distance to the next node and move to the next VNF according to the probability.
[0156] Specifically, the transfer probability of each target candidate VNF in the candidate set is calculated, the next route is selected according to the transfer probability of the ant colony algorithm, and the 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-direction distance and the Y-direction distance; m represents the number of task ants that the current system needs to process; the ant will determine its transfer direction based on the pheromone content on the path between the current node and other nodes and the relevant heuristic information value; heuristic information refers to the reciprocal of the distance between nodes, that is, Therefore, the closer j is to the current ant i, the greater the probability of its being selected when other conditions are the same. j ) is the transmission delay of the X-direction line plus the node VNF j The calculation time of
[0157] The distance in the Y direction includes the following three cases: Case 1, VNF j If it has already been passed, it is forbidden to select it in the next step, and there is no need to calculate the distance; Case 2, VNF j The previous VNF of the SFC where the VNF has not been passed k Already passed, then d ij For VNF k To VNF j Transmission delay plus node VNF j Computation time; Case 3, VNF j The previous VNF of the SFC where the VNF has not been passed kThe forward jump is generated and the calculation is performed according to case 2. The calculation formula of the transition probability has been mentioned in the above embodiment and will not be repeated here.
[0158] S9, determine whether all VNFs have been traversed, if yes, execute S10, if not, return to execute S2. Specifically, full path check: check whether all VNFs of ant k have been traversed, if yes, go to the next step, otherwise continue to find the next VNF.
[0159] S10, calculate the load balancing objective function, update the pheromone, and determine whether the number of iterations exceeds the limit. If it exceeds, the process ends. If it does not exceed, the process returns to execute S2. Specifically, the objective function value of the entire path is calculated, pheromones are added to all routes on the path, and pheromones of other routes are attenuated.
[0160] A 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 as a means to distribute the tasks of multiple concurrent functional service chains to each virtual machine as evenly as possible, 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 involved in the above embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0162] Based on the same inventive concept, the embodiment of the present application also provides a path planning device for implementing the path planning method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more path planning device embodiments provided below can refer to the limitations of the path planning method above, and will not be repeated here.
[0163] In one embodiment, if Figure 8 As shown, a path planning device 800 is provided, which is applied to a system, the system includes multiple service function chains, each service function chain includes multiple virtual network functions VNF, and the device includes:
[0164] The first determination 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 transfer probability from the current VNF to each target candidate VNF, and determine the next VNF of the current VNF based on each transfer probability.
[0166] The second determination module 806 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 re-execute the step of determining the set of candidate VNFs for the current VNF based on the target VNF taboo table until the system meets the traversal conditions and obtains the VNF movement path.
[0167] The third determination module 808 is used to obtain the optimal VNF moving path based on the objective function corresponding to the VNF moving path and the load balancing indicator.
[0168] In one embodiment, the target VNF taboo table includes each VNF that has been passed; and the first determination module is specifically used to:
[0169] Based on the connection relationship between each of the service function chains and the connection relationship between the multiple VNFs contained in each of the service function chains, determine the initial reachable VNF of the current VNF; and in each of the initial reachable VNFs, eliminate each VNF contained in the target VNF taboo table to obtain an initial candidate VNF;
[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, determine whether each of the initial candidate VNFs meets the preset legal conditions;
[0171] If the initial candidate VNF meets the preset legal conditions, the initial candidate VNF is determined as the target candidate VNF; if the initial candidate VNF does not meet the preset legal conditions, 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 re-executed.
[0172] In one embodiment, the device further comprises:
[0173] The fourth determination module is used to determine that the initial candidate VNF meets the preset legal condition if the previous candidate VNF of the initial candidate VNF is a VNF that has already passed, and the previous candidate VNF is in the same service function chain as the initial candidate VNF.
[0174] In one embodiment, the first computing module is specifically configured to:
[0175] Obtaining the pheromone content on the path from the current VNF to each of the target candidate VNFs, and the heuristic information content on the path from the current VNF to each of the target candidate VNFs;
[0176] Processing each of the pheromone contents based on the pheromone weight to obtain the pheromone parameters corresponding to each of the target candidate VNFs, and processing each of the heuristic information contents based on the heuristic information weight to obtain the heuristic information parameters corresponding to the target candidate VNFs;
[0177] Calculate the target parameters corresponding to the target candidate VNF based on the pheromone parameters and the heuristic information parameters corresponding to the target candidate VNF;
[0178] For each of the target candidate VNFs, the transfer 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.
[0179] In one embodiment, the second determining module is specifically configured to:
[0180] If there are any VNFs that have not been passed in the system, the next VNF is updated to the current VNF, and after the next VNF is added to the target VNF taboo table, the step of determining the set of candidate VNFs for the current VNF based on the target VNF taboo table is re-executed until there are no VNFs that have not been passed in the system. Then, based on each current VNF and the next VNF of each current VNF, a VNF moving path is obtained, and based on the pheromone adjustment strategy, the pheromone content is increased on each route in the VNF moving path.
[0181] In one embodiment, the third determination module is specifically used to:
[0182] Calculate the objective function value of the VNF mobile path based on the objective function corresponding to the load balancing indicator;
[0183] If the objective function value does not meet the preset iteration end condition, the step of determining the target candidate VNFs corresponding to the current VNF based on the target VNF taboo table is re-executed until it is determined that the objective function value meets the preset iteration end condition, and the optimal VNF moving path is obtained.
[0184] In one embodiment, the third determination module is specifically used to:
[0185] Through the objective function corresponding to the load balancing indicator, the cumulative working time of the available virtual machines of each VNF contained in the VNF mobile path and the instantiation delay of each service function chain are processed to obtain the objective function value of the VNF mobile path.
[0186] In one embodiment, the third determination module is specifically used to:
[0187] If the objective function value has converged, it is determined that the preset iteration end condition is met, and the VNF mobile path corresponding to the objective function value is determined as the optimal VNF mobile path; or, if the calculation rounds corresponding to the objective function value reach the preset number of iterations, based on the objective function values corresponding to each of the calculation rounds, the VNF mobile path corresponding to the optimal objective function value is determined as the optimal VNF mobile path.
[0188] Each module in the above-mentioned path planning device can be implemented in whole or in part by software, hardware or a combination thereof. Each of the above-mentioned modules can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute the operations corresponding to each of the above modules.
[0189] In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Fig. 9 As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store path planning data. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a path planning method is implemented.
[0190] Those skilled in the art will understand that Fig. 9 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0191] In one embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above embodiment when executing the computer program.
[0192] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above embodiments are implemented.
[0193] In one embodiment, a computer program product is provided, including a computer program. When the computer program is executed by a processor, the steps in the above embodiments are implemented.
[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, stored data, displayed data, 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 relevant data must comply with relevant regulations.
[0195] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium 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. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to this.
[0196] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, 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 only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A path planning method, characterized in that: Applied to a system, the system includes a plurality of service function chains, each of the service function chains includes a plurality of virtual network functions VNF; the method includes: Based on the target VNF taboo table, determine the target candidate VNFs corresponding to the current VNF; Calculate the transfer 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 transfer probabilities; 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 a set of candidate VNFs for the current VNF based on the target VNF taboo table is re-executed until the system meets the traversal condition and the VNF movement path is obtained; Based on the VNF mobile path and the objective function corresponding to the load balancing indicator, the optimal VNF mobile path is obtained.
2. The method according to claim 1, characterized in that The target VNF taboo table includes each VNF that has passed; and determining each target candidate VNF corresponding to the current VNF based on the target VNF taboo table includes: Based on the connection relationship between each of the service function chains and the connection relationship between the multiple VNFs contained in each of the service function chains, determine the initial reachable VNF of the current VNF; and in each of the initial reachable VNFs, eliminate each VNF contained in the target VNF taboo table to obtain an initial candidate VNF; For each of the initial candidate VNFs, if the initial candidate VNF and the current VNF are not in the same service function chain, determine whether each of the initial candidate VNFs meets the preset legal conditions; If the initial candidate VNF meets the preset legal conditions, the initial candidate VNF is determined as the target candidate VNF; if the initial candidate VNF does not meet the preset legal conditions, 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 re-executed.
3. The method according to claim 2, characterized in that The method further comprises: If the previous candidate VNF of the initial candidate VNF is a VNF that has already passed, it is determined that the initial candidate VNF meets the preset legal conditions, and the previous candidate VNF and the initial candidate VNF are in the same service function chain.
4. The method according to claim 1, characterized in that: The calculating the transfer probability from the current VNF to each of the target candidate VNFs includes: Obtaining the pheromone content on the path from the current VNF to each of the target candidate VNFs, and the heuristic information content on the path from the current VNF to each of the target candidate VNFs; Processing each of the pheromone contents based on the pheromone weight to obtain the pheromone parameters corresponding to each of the target candidate VNFs, and processing each of the heuristic information contents based on the heuristic information weight to obtain the heuristic information parameters corresponding to the target candidate VNFs; Calculate the target parameters corresponding to the target candidate VNF based on the pheromone parameters and the heuristic information parameters corresponding to the target candidate VNF; For each of the target candidate VNFs, the transfer 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.
5. The method according to any one of claims 1 to 4, 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 a set of candidate VNFs for the current VNF based on the target VNF taboo table is re-executed until the system meets the traversal condition and the VNF movement path is obtained, including: If there are any VNFs that have not been passed in the system, the next VNF is updated to the current VNF, and after the next VNF is added to the target VNF taboo table, the step of determining the set of candidate VNFs for the current VNF based on the target VNF taboo table is re-executed until there are no VNFs that have not been passed in the system. Then, based on each current VNF and the next VNF of each current VNF, a VNF moving path is obtained, and based on the pheromone adjustment strategy, the pheromone content is increased on each route in the VNF moving path.
6. The method according to claim 5, characterized in that The obtaining of the optimal VNF mobile path based on the VNF mobile path and the objective function corresponding to the load balancing indicator includes: Calculate the objective function value of the VNF mobile path based on the objective function corresponding to the load balancing indicator; If the objective function value does not meet the preset iteration end condition, the step of determining the target candidate VNFs corresponding to the current VNF based on the target VNF taboo table is re-executed until it is determined that the objective function value meets the preset iteration end condition, and the optimal VNF moving path is obtained.
7. The method according to claim 6, characterized in that The calculating the objective function value of the VNF mobile path based on the objective function corresponding to the load balancing indicator includes: Through the objective function corresponding to the load balancing indicator, the cumulative working time of the available virtual machines of each VNF contained in the VNF mobile path and the instantiation delay of each service function chain are processed to obtain the objective function value of the VNF mobile path.
8. The method according to claim 6, characterized in that The determining that the objective function value satisfies the preset iteration end condition to obtain the optimal VNF mobility path includes: If the objective function value has converged, it is determined that the preset iteration end condition is met, and the VNF mobile path corresponding to the objective function value is the optimal VNF mobile path; or, If the calculation rounds corresponding to the objective function value reach the preset number of iterations, based on the objective function values corresponding to each of the calculation rounds, the VNF mobile path corresponding to the optimal objective function value is determined as the optimal VNF mobile path.
9. A path planning device, characterized in that: Applied to a system, the system includes a plurality of service function chains, each of the service function chains includes a plurality of virtual network functions VNF; the device includes: The first determination module is used to determine each target candidate VNF corresponding to the current VNF based on the target VNF taboo table; A first calculation module is used to calculate the transfer 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 transfer probabilities; The second determination module is used for updating the next VNF to the current VNF if it is determined that the system does not meet the traversal condition, and re-executing the step of determining the set of candidate VNFs of the current VNF based on the target VNF taboo table, until the system meets the traversal condition and obtains the VNF movement path; The third determination module is used to obtain the optimal VNF moving path based on the objective function corresponding to the VNF moving path and the load balancing indicator.
10. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 8 are implemented.
11. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.
12. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.
Citation Information
Patent Citations
Dynamic routing algorithm in power line carrier communication
CN103701702A
Task allocation method of distributed computing system
CN106844049A
Robot path planning method and device based on ant colony algorithm
CN110989612A
Path planning method, device and terminal
CN113110472A
Mobile robot path planning method based on improved ant colony algorithm
CN114326735A