Resource scheduling method and device for multi-service function chain, equipment, storage medium and program product

By applying ant colony algorithm to optimize virtual machine resource scheduling in the multi-service function chain, the problem of unified resource scheduling in the existing technology is solved, efficient scheduling of virtual machines and virtual network functions is achieved, and delay and resource utilization is reduced.

CN119127486APending Publication Date: 2024-12-13CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411169094.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-23
Publication Date
2024-12-13

AI Technical Summary

Technical Problem

The existing technology lacks effective solutions in resource scheduling of multi-service function chains, which makes it difficult to achieve unified optimization of virtual machine placement, virtual network function mapping and virtual network function scheduling, increasing overall delay and virtual machine resource usage.

Method used

By determining the multiple service function chains to be processed, obtaining the instantiated paths of multiple service function chains based on sequence constraints and target conditions, using the ant colony algorithm to optimize the scheduling of virtual machine resources, realizing virtual machine placement, virtual network function mapping and virtualization Unified optimization of network function scheduling.

Benefits of technology

It reduces the overall delay and virtual machine resource usage, improves the resource scheduling effect of the multi-service function chain, and realizes efficient and unified optimization of virtual machine and virtual network functions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119127486A_ABST
    Figure CN119127486A_ABST
Patent Text Reader

Abstract

The invention relates to a resource scheduling method and device for multiple service function chains, equipment, a storage medium and a program product, and relates to the technical field of networks and security. According to the invention, the resource scheduling effect of the multi-service function chain can be improved. The method comprises: determining a plurality of to-be-processed service function chains, and obtaining instantiation paths corresponding to the plurality of service function chains based on sequence constraints and target conditions, the instantiation paths being used for indicating an instantiation sequence of each virtual network function in the plurality of service function chains, the sequence constraint enables the instantiation sequence of each virtual network function in the same service function chain to accord with the arrangement sequence of each virtual network function in the same service function chain, the instantiation sequence meets target conditions, and the target conditions comprise a time delay condition and a virtual machine resource occupation condition; and then resource scheduling results of the plurality of service function chains can be obtained according to the virtual machine resources corresponding to the instantiation paths.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of network and security technology, and in particular to a resource scheduling method, device, equipment, storage medium and program product for a multi-service function chain. Background Art

[0002] Network virtualization technology separates the two functions of network service provision and network infrastructure provision, and can coexist multiple heterogeneous virtual networks on the infrastructure to meet the needs of different users for flexible network configuration. Therefore, network virtualization technology can quickly deploy new network architectures, protocols, and applications without affecting the hardware infrastructure of the existing network, becoming an effective means to alleviate the "rigidity" of the Internet structure.

[0003] At present, operators' Network Functions Virtualization (NFV) applications involve the establishment of Service Function Chain (SFC) description models, SFC resource allocation mechanisms, virtualized networking, and SFC automatic configuration and management.

[0004] Among them, the service function chain of network function virtualization is an ordered collection of virtualized network functions (VNFs), and user traffic passes through multiple virtual network functions in sequence according to specified policies. Since the virtual network functions in the service function chain run in a virtual machine environment on a general server, the virtual network functions between servers form different virtualized networks. This highly scalable business processing architecture ensures the flexible loading and rapid adjustment capabilities of virtual network functions, but it also brings complex resource scheduling challenges.

[0005] In this regard, current technologies focus more on the research of single virtual machine (VM) placement problems in data center business scenarios, or single virtual network function scheduling problems. There is a lack of resource scheduling solutions for service function chains in virtual network function scenarios, and the effect of resource scheduling for multiple service function chains still needs to be improved. Summary of the invention

[0006] Based on this, it is necessary to provide a resource scheduling method, device, equipment, storage medium and program product for a multi-service function chain to address the above technical issues.

[0007] In a first aspect, the present application provides a resource scheduling method for a multi-service function chain, comprising:

[0008] Determine multiple service function chains to be processed;

[0009] Based on the sequence constraint and the target condition, the instantiation paths corresponding to the multiple service function chains are obtained; the instantiation paths are used to indicate the instantiation order of each virtual network function in the multiple service function chains; the sequence constraint makes the instantiation order of each virtual network function in the same service function chain conform to the arrangement order in the same service function chain; the instantiation order satisfies the target condition; the target condition includes a latency condition and a virtual machine resource occupancy condition;

[0010] According to the virtual machine resources corresponding to the instantiation path, the resource scheduling results of the multiple service function chains are obtained.

[0011] In one of the embodiments, obtaining the instantiation paths corresponding to the multiple service function chains based on the sequence constraint and the target condition includes: determining the optional routes for each of the virtual network functions in the multiple service function chains according to the sequence constraint; the optional routes include unidirectional routes and bidirectional routes; wherein the unidirectional route is a route formed by connecting the virtual network functions in the same service function chain according to the arrangement order; the bidirectional route is a route between two virtual network functions in different service function chains; determining the optimization target according to the delay condition and the virtual machine resource occupancy condition in the target condition; the optimization target includes path delay and virtual machine resource occupancy; based on the optional routes of each virtual network function and the optimization target, running the ant colony algorithm to obtain the instantiation paths corresponding to the multiple service function chains.

[0012] In one of the embodiments, based on the optional routes of each of the virtual network functions and the optimization target, running the ant colony algorithm to obtain the instantiation paths corresponding to the multiple service function chains includes: determining a screening method for effective routes for transferring from one virtual network function to the next virtual network function in the multiple service function chains based on the optional routes of each of the virtual network functions and the sequence constraints; the effective routes include routes that satisfy the sequence constraints in the optional routes; based on the optimization target and route delay, determining a method for determining the transfer probability of the effective route from the one virtual network function to the next virtual network function; the route delay includes the delay of the effective route; based on the screening method and the determination method, running the ant colony algorithm to obtain the instantiation path.

[0013] In one embodiment, the method for determining the transfer probability of the effective route from the one virtual network function to the next virtual network function based on the optimization target and the route delay includes: a first determination method for obtaining pheromone content according to the optimization target; a second determination method for obtaining heuristic information content according to the route delay; and the method for determining the transfer probability according to the first determination method of the pheromone content and the second determination method of the heuristic information content.

[0014] In one of the embodiments, based on the screening method and the determination method, running the ant colony algorithm to obtain the instantiation path includes: obtaining a processing method for the virtual machine of the next virtual network function in the effective route; the processing method includes selecting a virtual machine with the shortest latency among the available virtual machines of the next virtual network function and / or adding a virtual machine to the next virtual network function based on minimizing latency; based on the screening method, the processing method and the determination method, running the ant colony algorithm to obtain the instantiation path.

[0015] In one of the embodiments, determining the optimization target based on the delay condition and the virtual machine resource occupancy condition in the target condition includes: determining the maximum path delay corresponding to the multiple service function chains as the path delay based on the delay condition; determining the virtual machine resource occupancy based on the virtual machines occupied by the multiple service function chains based on the virtual machine resource occupancy condition; determining the optimization target based on the path delay and the virtual machine resource occupancy.

[0016] In one of the embodiments, the virtual machine resource occupancy amount is determined based on the virtual machines occupied by multiple service function chains according to the virtual machine resource occupancy condition, including: according to the virtual machine resource occupancy condition, the virtual machine resource occupancy amount is determined based on the accumulated idle time of the virtual machines occupied by multiple service function chains; or, according to the virtual machine resource occupancy condition, the virtual machine resource occupancy amount is determined based on the proportion of the number of virtual machines occupied by multiple service function chains.

[0017] In a second aspect, the present application also provides a resource scheduling device for a multi-service function chain, including:

[0018] A determination module, used for determining a plurality of service function chains to be processed;

[0019] An acquisition module is used to acquire instantiation paths corresponding to the plurality of service function chains based on a sequence constraint and a target condition; the instantiation path is used to indicate an instantiation order of each virtual network function in the plurality of service function chains; the sequence constraint makes the instantiation order of each virtual network function in the same service function chain conform to the arrangement order in the same service function chain; the instantiation order satisfies the target condition; the target condition includes a latency condition and a virtual machine resource occupancy condition;

[0020] An obtaining module is used to obtain resource scheduling results of the multiple service function chains according to the virtual machine resources corresponding to the instantiation path.

[0021] 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 when the processor executes the computer program, the following steps are implemented:

[0022] Determine multiple service function chains to be processed; based on sequence constraints and target conditions, obtain instantiation paths corresponding to the multiple service function chains; the instantiation paths are used to indicate the instantiation order of each virtual network function in the multiple service function chains; the sequence constraints make the instantiation order of each virtual network function in the same service function chain conform to the arrangement order in the same service function chain; the instantiation order satisfies the target conditions; the target conditions include latency conditions and virtual machine resource occupancy conditions; and obtain resource scheduling results of the multiple service function chains based on the virtual machine resources corresponding to the instantiation paths.

[0023] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the following steps are implemented:

[0024] Determine multiple service function chains to be processed; based on sequence constraints and target conditions, obtain instantiation paths corresponding to the multiple service function chains; the instantiation paths are used to indicate the instantiation order of each virtual network function in the multiple service function chains; the sequence constraints make the instantiation order of each virtual network function in the same service function chain conform to the arrangement order in the same service function chain; the instantiation order satisfies the target conditions; the target conditions include latency conditions and virtual machine resource occupancy conditions; and obtain resource scheduling results of the multiple service function chains based on the virtual machine resources corresponding to the instantiation paths.

[0025] In a fifth aspect, the present application further provides a computer program product, including a computer program, which implements the following steps when executed by a processor:

[0026] Determine multiple service function chains to be processed; based on sequence constraints and target conditions, obtain instantiation paths corresponding to the multiple service function chains; the instantiation paths are used to indicate the instantiation order of each virtual network function in the multiple service function chains; the sequence constraints make the instantiation order of each virtual network function in the same service function chain conform to the arrangement order in the same service function chain; the instantiation order satisfies the target conditions; the target conditions include latency conditions and virtual machine resource occupancy conditions; and obtain resource scheduling results of the multiple service function chains based on the virtual machine resources corresponding to the instantiation paths.

[0027] The resource scheduling method, device, equipment, storage medium and program product of the above-mentioned multiple service function chains determine multiple service function chains to be processed, and obtain the instantiation paths corresponding to the multiple service function chains based on the sequence constraint and the target condition. The instantiation path is used to indicate the instantiation order of each virtual network function in the multiple service function chains. The sequence constraint makes the instantiation order of each virtual network function in the same service function chain conform to its arrangement order in the same service function chain, and the instantiation order satisfies the target condition. The target condition includes the delay condition and the virtual machine resource occupancy condition. Then, the resource scheduling results of the multiple service function chains can be obtained according to the virtual machine resources corresponding to the instantiation path. This scheme can simultaneously perform parallel scheduling optimization on the resources of multiple service function chains, can realize the overall unified optimization of virtual machine placement, virtual network function mapping and virtual network function scheduling, can reduce the overall delay and virtual machine resource occupancy, and improve the resource scheduling effect of multiple service function chains. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] 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.

[0029] FIG1 is a schematic diagram of a flow chart of a resource scheduling method for a multi-service function chain in one embodiment;

[0030] FIG2 is a schematic diagram of an optional route of a virtual network function in one embodiment;

[0031] FIG3 is a schematic flow chart of steps for obtaining an instantiation path in one embodiment;

[0032] FIG4 is a schematic flow chart of steps for determining an optimization target in one embodiment;

[0033] FIG5 is a schematic flow chart of the steps of obtaining an instantiation path in another embodiment;

[0034] FIG6 is a flow chart showing steps of determining a method for determining a transition probability in one embodiment;

[0035] FIG7 is a schematic flow chart of the steps of obtaining an instantiation path in yet another embodiment;

[0036] FIG8 is a schematic diagram of a process of running an ant colony algorithm in one embodiment;

[0037] FIG9 is a structural block diagram of a resource scheduling device for a multi-service function chain in one embodiment;

[0038] FIG. 10 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0039] 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.

[0040] Description of professional terms involved in this application:

[0041] Network Function Virtualization: Network Function Virtualization (NFV) is a network architecture concept that aims to use virtualization technology to transform traditional network hardware functions into software implementations, thus no longer being limited to proprietary hardware architectures. The core of network function virtualization is virtual network functions, which provide a series of network functions that can only be found in traditional hardware, such as routing, mobile core networks, etc., and achieve network flexibility and automated scheduling through the integration and adjustment of applications, business processes and infrastructure software.

[0042] Virtual Network Function: Virtual Network Function (VNF) is an important part of network function virtualization, which allows network functions such as routers, switches, firewalls, etc. to run in software form on standard IT (Internet Technology) hardware.

[0043] Service Function Chain: Service Function Chain (SFC) is an ordered set of virtual network functions. User traffic passes through multiple virtual network functions in sequence according to specified policies. Since the virtual network functions in the function service chain run in a virtual machine environment on a general server, the function service chains between servers form different virtualized networks. This highly scalable telecommunications business processing architecture ensures the flexible loading and rapid adjustment capabilities of virtual network functions, but it also brings complex resource scheduling challenges.

[0044] Virtual Machine: 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.

[0045] The goal of resource scheduling of service function chains is to select a virtual machine for a specific virtual network function (i.e., placement of the virtual machine) and decide how to direct user traffic to the virtual machine (i.e., selecting a service path). In a network function virtualization environment, the implementation of network services usually requires three stages: virtual network function group chaining, virtual network function mapping, and virtual network function scheduling. These three stages influence and depend on each other. The virtual network function scheduling stage is based on the virtual network function mapping stage, and the two complement each other. The goals of resource scheduling of service function chains include reducing the total service time or latency, thereby improving the quality of network services and reducing energy loss accordingly. When multiple service function chains perform virtual network function instantiation services at the same time, it is necessary to sort and schedule the virtual network functions on different service function chains at the same time. Because multiple service function chains provide services at the same time and influence each other, the difficulty of scheduling is increased.

[0046] In this regard, the solution adopted by the related technology to optimize the virtual machine placement, virtual network function mapping and virtual network function scheduling separately will be difficult to achieve good results. The resource scheduling method of multiple service function chains provided in this application can simultaneously perform parallel scheduling optimization on the resources of multiple service function chains, and can achieve overall unified optimization of virtual machine placement, virtual network function mapping and virtual network function scheduling, which can reduce the overall delay and virtual machine resource occupancy, and improve the resource scheduling effect of multiple service function chains.

[0047] The resource scheduling method for the multi-service function chain provided in the present application can be executed by a computer device, which can be a server. The server can be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server that provides cloud computing services.

[0048] The resource scheduling method of the multi-service function chain of the present application is described in detail below in combination with various embodiments and drawings.

[0049] In an exemplary embodiment, as shown in FIG1 , a resource scheduling method for a multi-service function chain is provided, and the method may include the following steps:

[0050] Step S101, determining a plurality of service function chains to be processed.

[0051] In this step, the server can determine multiple service function chains to be processed. When the server receives task requirements from multiple concurrent users in a certain time period, it can obtain multiple service function chains to be processed according to the task requirements, thereby executing subsequent steps S102 and S103 to obtain resource scheduling results or resource scheduling solutions for the multiple service function chains, and then instantiation can be performed.

[0052] Step S102, based on the sequence constraint and the target condition, obtain the instantiation paths corresponding to the multiple service function chains.

[0053] In this step, the server can obtain the order constraint and the target condition, and obtain the instantiation path corresponding to the multiple service function chains based on the order constraint and the target condition. The instantiation path is used to indicate the instantiation order of each virtual network function in the multiple service function chains, wherein each virtual network function appears and only appears once in the instantiation path, that is, each virtual network function in the multiple service function chains will be sorted in the instantiation path in a certain order (recorded as the instantiation order). In conjunction with Figure 2, taking multiple service function chains including service function chain 1 and service function chain 2 as an example, service function chain 1 includes virtual network function 1-1, virtual network function 1-2 and virtual network function 1-3 in sequence, and service function chain 2 includes virtual network function 2-1, virtual network function 2-2 and virtual network function 2-3 in sequence. The instantiation path thus formed is used to indicate the instantiation order of these virtual network functions (virtual network function 1-1, virtual network function 1-2, virtual network function 1-3, virtual network function 2-1, virtual network function 2-2 and virtual network function 2-3). Each virtual network function appears in the instantiation path and only appears once. The order of these virtual network functions in the instantiation path is recorded as the instantiation order.

[0054] In this step, the order constraint makes the instantiation order of each virtual network function in the same service function chain conform to the arrangement order of the virtual network function in the same service function chain. In conjunction with Figure 2, the order of virtual network function 1-1, virtual network function 1-2 and virtual network function 1-3 in service function chain 1 is recorded as the arrangement order in the same service function chain, and the order of virtual network function 2-1, virtual network function 2-2 and virtual network function 2-3 in service function chain 2 is also the arrangement order in the same service function chain. The order constraint makes the instantiation order of virtual network function 1-1, virtual network function 1-2 and virtual network function 1-3 in the instantiation path conform to the arrangement order in service function chain 1, and the instantiation order of virtual network function 2-1, virtual network function 2-2 and virtual network function 2-3 in the instantiation path conform to the arrangement order in service function chain 2.

[0055] In this step, the instantiation order meets the target conditions, which include delay conditions and virtual machine resource occupation conditions. In practical applications, based on the order constraints, corresponding optimization goals can be set according to the target conditions to solve the instantiation paths corresponding to multiple service function chains, so that the instantiation order of the instantiation path meets the delay conditions and virtual machine resource occupation conditions included in the target conditions, and the optimization goals of the delay of the instantiation path and the occupied virtual machine resources can be set, and the instantiation paths corresponding to multiple service function chains can be solved by making the delay of the instantiation path and the occupied virtual machine resources as small as possible.

[0056] Step S103, obtaining resource scheduling results of multiple service function chains according to the virtual machine resources corresponding to the instantiation path.

[0057] In this step, after obtaining the instantiation paths corresponding to multiple service function chains, the server can obtain the resource scheduling results of the multiple service function chains or the resource scheduling plans of the multiple service function chains based on the virtual machine resources corresponding to the instantiation paths, and can thereby execute the instantiation of each virtual network function in the multiple service function chains.

[0058] The method of this embodiment determines multiple service function chains to be processed, obtains the instantiation paths corresponding to the multiple service function chains based on the sequence constraints and target conditions, and the instantiation paths are used to indicate the instantiation order of each virtual network function in the multiple service function chains. The sequence constraints make the instantiation order of each virtual network function in the same service function chain conform to its arrangement order in the same service function chain, and the instantiation order satisfies the target conditions, which include latency conditions and virtual machine resource occupancy conditions. Then, the resource scheduling results of the multiple service function chains can be obtained based on the virtual machine resources corresponding to the instantiation paths. This method can simultaneously perform parallel scheduling optimization on the resources of multiple service function chains, can achieve overall unified optimization of virtual machine placement, virtual network function mapping, and virtual network function scheduling, can reduce overall latency and virtual machine resource occupancy, and improve the resource scheduling effect of multiple service function chains.

[0059] In an exemplary embodiment, as shown in FIG. 3 , obtaining instantiation paths corresponding to multiple service function chains based on the sequence constraint and the target condition in step S102 may include:

[0060] Step S301, determining the optional routes of each virtual network function in a plurality of service function chains according to the sequence constraint.

[0061] In this step, the server can determine the optional routes for each virtual network function in multiple service function chains according to the order constraint. The optional route refers to the route that each virtual network function can choose to transfer to the next virtual network function. The optional route includes a unidirectional route and a bidirectional route, wherein the unidirectional route is a route formed by connecting each virtual network function in the same service function chain according to the arrangement order, so that the arrangement order of the virtual network function in the service function chain can be maintained in the instantiation path, wherein the bidirectional route is a route between two virtual network functions connected in different service function chains, and can be transferred from any virtual network function of the two virtual network functions to another virtual network function, that is, for a virtual network function, the selectable next virtual network function can be a virtual network function in the same service function chain, or a virtual network function in a different service function chain, thereby being able to connect to each virtual network function in multiple service function chains in the instantiation path.

[0062] As an example, in combination with Figure 2, according to the sequence constraint, for virtual network function 1-2, the next virtual network function may include virtual network function 1-3, virtual network function 2-1, virtual network function 2-2, and virtual network function 2-3. Accordingly, the optional routes of virtual network function 1-2 may include, for example, a unidirectional route between virtual network function 1-2 and virtual network function 1-3 (indicated by a solid line with an arrow), and a bidirectional route between virtual network function 1-2 and virtual network function 2-1, virtual network function 2-2, and virtual network function 2-3, respectively (indicated by a dotted line without an arrow).

[0063] Step S302: determining an optimization target according to the latency condition and the virtual machine resource occupancy condition in the target condition.

[0064] In this step, the server can determine the optimization target according to the delay condition and the virtual machine resource occupancy condition in the target condition, and the optimization target can include the path delay and the virtual machine resource occupancy. Among them, the path delay can be used to represent the path delay of the instantiated path as a whole, and the virtual machine resource occupancy can be used to represent the resources of the virtual machine occupied by the instantiated path as a whole.

[0065] Step S303: Based on the optional routes and optimization goals of each virtual network function, an ant colony algorithm is run to obtain instantiation paths corresponding to multiple service function chains.

[0066] In this step, based on the optional routes and optimization targets of each virtual network function, the instantiation paths corresponding to multiple service function chains are obtained by running the ant colony algorithm. In addition to the optional routes and optimization targets of each virtual network function, the relevant parameters for executing the ant colony algorithm can also be set, such as service function chain parameters, hardware parameters, the number / type of existing virtual machines, initialization parameters of the ant colony algorithm, etc. In conjunction with Figure 2, multiple service function chains can be set to include service function chains 1 and 2, service function chain 1 includes virtual network function 1-1, virtual network function 1-2 and virtual network function 1-3, etc. Hardware parameters can include the number and performance parameters of general hardware function devices such as servers, storage, network links, etc., as well as the number and type of virtualization of each server, the type of virtual network functions supported by the virtual machine, etc. The initialization parameters of the ant colony algorithm can include the number of ants, initial pheromones, refresh frequency, number of iterations, etc.

[0067] In this embodiment, by running the ant colony algorithm based on the optional routes and optimization targets of each virtual network function, the instantiation paths corresponding to the multiple service function chains can be accurately and effectively obtained.

[0068] In an exemplary embodiment, as shown in FIG. 4 , determining the optimization target according to the latency condition and the virtual machine resource occupancy condition in the target condition in step S302 may include:

[0069] Step S401: According to the delay condition, the maximum path delay corresponding to the plurality of service function chains is determined as the path delay.

[0070] In this step, the server can determine the maximum path delay corresponding to multiple service function chains as the path delay according to the delay condition. In the instantiated path, each service function chain corresponds to a path delay, which can include transmission delay and calculation delay, wherein the calculation delay can include the calculation time of each virtual network function in the service function chain. The path delay can be expressed as the path delay corresponding to the service function chain , i can represent the serial number of the service function chain, and M represents the total number of service function chains. Then the path delay in the optimization objective can be expressed as .

[0071] Step S402, according to the virtual machine resource occupation condition, the virtual machine resource occupation amount is determined based on the virtual machines occupied by multiple service function chains.

[0072] In this step, the server may determine the virtual machine resource occupancy amount based on the virtual machines occupied by multiple service function chains according to the virtual machine resource occupancy condition.

[0073] As one of the embodiments, determining the virtual machine resource occupation amount based on the virtual machines occupied by multiple service function chains according to the virtual machine resource occupation condition in step S402 may include:

[0074] According to the virtual machine resource occupancy conditions, the virtual machine resource occupancy is determined based on the accumulated idle time of virtual machines occupied by multiple service function chains; or, according to the virtual machine resource occupancy conditions, the virtual machine resource occupancy is determined based on the proportion of the number of virtual machines occupied by multiple service function chains.

[0075] In this embodiment, according to the virtual machine resource occupation condition, the virtual machine resource occupation amount may be determined based on the accumulated idle time of the occupied virtual machines or the ratio of the number of occupied virtual machines.

[0076] As an example, for determining the virtual machine resource usage based on the accumulated idle time of the occupied virtual machines, record is the accumulated idle time of the jth occupied virtual machine, and r is the total number of occupied virtual machines. Therefore, the virtual machine resource usage can be recorded as .

[0077] As another example, for determining the virtual machine resource occupation based on the ratio of the number of occupied virtual machines, the virtual machine resource occupation may be expressed as “the number of occupied virtual machines / the maximum number of virtual machines that can be provided”.

[0078] Therefore, the virtual machine resource occupancy amount can be accurately set as one of the optimization targets according to the virtual machine resource occupancy conditions. Compared with the related technology that only has a single delay indicator and does not consider resource occupancy, the solution of this embodiment can improve the resource scheduling effect.

[0079] Step S403: determining an optimization target according to the path delay and the virtual machine resource usage.

[0080] In this step, the server can determine the optimization target based on the path delay and the virtual machine resource usage. As an example, the path delay in the aforementioned optimization target can be expressed as and virtual machine resource usage The server can also combine the first weighting coefficient and the second weighting coefficient , determine the optimization goal of each ant k in the ant colony algorithm for The influence composition of the optimization target can be flexibly adjusted through the weighting coefficient.

[0081] The solution of this embodiment can accurately determine the optimization target of the adaptation target condition by setting the path delay and the virtual machine resource occupancy, so that the operation of the ant colony algorithm can effectively obtain the instantiation paths corresponding to multiple service function chains.

[0082] In an exemplary embodiment, as shown in FIG. 5 , in step S303 , based on the optional routes and optimization goals of each virtual network function, running the ant colony algorithm to obtain instantiation paths corresponding to multiple service function chains may include:

[0083] Step S501 , based on the optional routes and sequence constraints of each virtual network function, determine a screening method for an effective route from a virtual network function to a next virtual network function in a plurality of service function chains.

[0084] In this step, based on the optional routes and sequence constraints of each virtual network function, the server can determine a screening method for the effective route. The screening method is mainly used to screen the route of the next virtual network function (corresponding to the next virtual network function) that can be transferred for the virtual network function (corresponding to a virtual network function) currently located by ant k during the operation of the ant colony algorithm. The route is determined from the optional routes and recorded as the effective route. The effective route includes the route that meets the sequence constraint in the optional routes. If the optional route can include multiple routes, the effective route is the route that meets the sequence constraint.

[0085] As an example, in combination with Figure 2, for virtual network function 1-2, the next virtual network function may include virtual network function 1-3, virtual network function 2-1, virtual network function 2-2, and virtual network function 2-3. Correspondingly, the optional routes of virtual network function 1-2 may include, for example, a unidirectional route between virtual network function 1-2 and virtual network function 1-3, and bidirectional routes between virtual network function 1-2 and virtual network function 2-1, virtual network function 2-2, and virtual network function 2-3 respectively. Based on the sequence constraint, virtual network functions can be taken out from these optional routes in turn for timing checks. The previous virtual network function in the same service function chain of the selected next virtual network function must have been traversed, otherwise the selected next virtual network function is illegal and does not meet the sequence constraint, and can be eliminated. Assuming that virtual network function 2-1 has not been traversed, virtual network function 2-2 and virtual network function 2-3 do not meet the sequence constraint, and they are eliminated. The remaining ones that have not been eliminated can be used as valid routes that meet the sequence constraint. This method is determined as the screening method for valid routes.

[0086] Step S502 : determining a method for determining a transfer probability of an effective route from one virtual network function to the next virtual network function based on an optimization target and a route delay.

[0087] In this step, for each ant k, we can optimize the and route delay , a method for determining the probability of a valid route from one virtual network function to the next virtual network function. Among them, the route delay Including the delay of an effective route from one virtual network function x to the next virtual network function y, the delay may include the transmission time of a virtual network function x to the next virtual network function y and the calculation time of the next virtual network function y. The transfer probability is used to represent the probability of transferring from the one virtual network function to the next virtual network function. Based on the optimization target and the route delay, the server can determine the method of determining the transfer probability by setting related functions.

[0088] Step S503: Based on the screening method and the determination method, an ant colony algorithm is run to obtain an instantiation path.

[0089] In this step, the server can further run the ant colony algorithm based on the screening method of the effective routes and the determination method of the transfer probability to obtain the instantiation path, so as to accurately and effectively obtain the instantiation paths corresponding to the multiple service function chains.

[0090] In an exemplary embodiment, as shown in FIG. 6 , the method for determining the transfer probability of an effective route from one virtual network function to the next virtual network function based on the optimization target and the route delay in step S502 may include:

[0091] Step S601, obtaining a first determination method of pheromone content according to an optimization target.

[0092] In this step, a first determination method for determining the pheromone content is obtained according to the optimization target.

[0093] Specifically, the pheromone content on the effective route from one virtual network function x to the next virtual network function y in the tth round of cycle is expressed as , the pheromone content can be updated as follows: , where ρ represents the volatility coefficient of pheromone, which indicates the volatilization rate of pheromone in the route, It represents the pheromone content added to the effective route from one virtual network function x to the next virtual network function y in the tth cycle, and is calculated as follows: , where m represents the number of ants k. The calculation method of the added pheromone content is expressed as:

[0094]

[0095] Where Q is a constant coefficient. The server can then optimize the The first determination method for obtaining the pheromone content may include the above-mentioned updating method of the pheromone content and the added calculation method of the pheromone content.

[0096] Step S602: obtaining a second determination method of the heuristic information content according to the route delay.

[0097] In this step, the server can obtain the second determination method of the heuristic information content according to the route delay. The route delay can be expressed as , which can be the sum of the transmission time from one virtual network function x to the next virtual network function y and the computing time of the next virtual network function y. The heuristic information content can be recorded as , the second way to determine the heuristic information content can be expressed as: , so the closer the next virtual network function y is to the virtual network function x where the current ant is located, the greater the probability of it being selected when other conditions are the same.

[0098] Step S603: Acquire a method for determining the transition probability according to the first method for determining the pheromone content and the second method for determining the heuristic information content.

[0099] In this step, the transfer probability can be obtained according to the pheromone content and the heuristic information content. The ant determines the transfer probability of each valid route based on the pheromone content and the heuristic information content on the valid routes corresponding to the current virtual network function x and each virtual network function y, thereby determining its transfer direction.

[0100] Specifically, the server can obtain the transition probability according to the first determination method of the pheromone content and the second determination method of the heuristic information content. (i.e., the probability of transferring from a virtual network function x to a virtual network function y in the tth cycle), the transfer probability The determination method can be expressed as:

[0101] p xy k t = [ τ xy (t) ] α ∙ [ η xy (t)] β ∑ s∈ allowed k [ τ xs (t)] α ∙ [ η xs (t)] β yϵ allowed k 0 other

[0102] in, Represents the set of optional next virtual network functions y of a virtual network function x where ant k is located, s represents the sequence number of the virtual network function in the set, and y represents the sequence number of the virtual network function in the targeted set. Among them, α is the pheromone heuristic factor, and β is the expected heuristic factor. These two factors can be used to set the pheromone weight and the heuristic information weight respectively. When the pheromone weight is large, it means that pheromone will be considered more when transferring virtual network functions; vice versa. Therefore, in the operation of the ant colony algorithm, ant k can transfer according to the above transfer probability The state transfer is performed in a determined way. The tabu table tabuk can also be used to record the virtual network functions that ant k has currently passed. As ant k continues to move to the next virtual network function, the virtual network functions it has passed will be continuously added to the tabu table, and the virtual network functions in the tabu table will not be selected again. When the tabu table has included all virtual network functions, ant k will no longer move, the deconstruction is completed, and the instantiation path of ant k in the tth round of loop is obtained.

[0103] The solution of this embodiment can set the determination method of pheromone content and heuristic information content respectively by optimizing the target and route delay, thereby obtaining the determination method of transfer probability, so that the operation of the ant colony algorithm can accurately and effectively obtain the instantiation paths corresponding to multiple service function chains.

[0104] In an exemplary embodiment, as shown in FIG. 7 , the step S503 of running the ant colony algorithm to obtain the instantiation path based on the screening method and the determination method may include:

[0105] Step S701, obtaining a processing method for a virtual machine of a next virtual network function in a valid route.

[0106] In this step, the server also obtains a processing method for the virtual machine of the next virtual network function in the valid route. The processing method may include selecting a virtual machine with the shortest latency among the available virtual machines of the next virtual network function, and / or the processing method may include adding a virtual machine for the next virtual network function based on minimizing latency.

[0107] Specifically, after screening out a valid route for a virtual network function, the server may perform a virtual machine resource check on each next virtual network function, including whether all possible instantiation virtual machines of the selected next virtual network function are occupied, that is, whether there are available virtual machines for the next virtual network function. If not all of them are occupied, there are available virtual machines for the next virtual network function. At this time, the valid route for the next virtual network function may be reserved, and a virtual machine with the shortest latency among the available virtual machines for the next virtual network function may be selected to instantiate the next virtual network function. If all of them are occupied, an additional virtual machine is added based on minimizing latency (or based on the proximity principle). If the virtual machine cannot be added, the occupied virtual machine is waited for to enter idle time, thereby obtaining a processing method for the virtual machine of the next virtual network function in the valid route.

[0108] Among them, in actual applications, the method of adding virtual machines based on minimizing latency may include:

[0109] Determine whether the number of virtual machines of the server where the current virtual network function is located has reached an upper limit. If not, add virtual machines for the next virtual network function based on the server. If the upper limit is reached, determine whether the number of virtual machines of the adjacent servers of the server where the virtual network function is located has reached an upper limit. If not, select the adjacent server with the least number of virtual machines among the adjacent servers that have not reached the upper limit to add virtual machines for the next virtual network function. If the upper limit is reached, continue to determine whether the number of virtual machines of the adjacent servers of the adjacent servers has reached the upper limit, and so on to add virtual machines for the next virtual network function.

[0110] Step S702: Based on the screening method, the processing method and the determination method, an ant colony algorithm is run to obtain an instantiation path.

[0111] In this step, combined with the screening method of the effective route, the processing method of the virtual machine of the next virtual network function in the effective route and the determination method of the transfer probability, virtual machines can be dynamically added as needed during the operation of the ant colony algorithm, so as to occupy as few virtual machine resources as possible. Compared with the related technology in which the number of virtual machines is fixed, this embodiment further improves the resource scheduling effect of the multi-service function chain and makes full use of virtual machine resources.

[0112] In one embodiment, the resource scheduling method of the multi-service function chain of the present application is described in combination with the operation of the ant colony algorithm, as shown in FIG8 , which may include the following steps:

[0113] First, initialization is performed, and multiple service function chain parameters, hardware parameters, the number and type of existing virtual machines, initialization parameters of the ant colony algorithm, etc. These parameters have been described in the previous text and will not be repeated here.

[0114] Then a set of candidate virtual network functions can be established. If ant k wants to move from the current virtual network function to the next virtual network function along the route, the virtual network function and the next virtual network function must be connected by a route, which can include the aforementioned one-way route and two-way route. Ant k can select any one of the currently available routes and the corresponding virtual network function, and can pre-explore all feasible routes to establish a preliminary set of candidate virtual network functions. For example, ant k in Figure 2 is currently in virtual network function 1-2. In the next step, all feasible virtual network functions may include virtual network function 1-3, virtual network function 2-1, virtual network function 2-2, and virtual network function 2-3, so as to establish a preliminary set of candidate virtual network functions.

[0115] Then a timing check can be performed, and virtual network functions are taken out from the candidate virtual network function set one by one for timing check. The previous virtual network function in the same service function chain of the next selected virtual network function must have passed through, otherwise the next virtual network function is illegal and can be removed from the candidate virtual network function set. As shown in Figure 2, assuming that virtual network function 2-1 has not passed through, virtual network function 2-2 and virtual network function 2-3 are illegal and are removed.

[0116] Then a resource check is performed. The virtual network functions that pass the timing check are checked for resources again to see whether all possible instantiated virtual machines of the next selected virtual network function are occupied. If so, the process proceeds to the step of adding virtual machines. If not, the virtual network function is allowed to remain in the candidate virtual network function set, and the virtual machine with the shortest latency is selected to instantiate the virtual network function.

[0117] In the step of adding a virtual machine, a virtual machine is added according to the principle of proximity. If the system resources cannot add a virtual machine, wait for the occupied virtual machine to enter idle time. The specific steps of adding a virtual machine may include:

[0118] Determine whether the number of virtual machines of the server where the current virtual network function is located has reached an upper limit. If not, add a virtual machine for the next virtual network function based on the server. If the upper limit is reached, determine whether the number of virtual machines of the adjacent servers of the server where the virtual network function is located has reached an upper limit. If not, select the adjacent server with the least number of virtual machines among the adjacent servers that have not reached the upper limit to add a virtual machine to the next virtual network function. If the upper limit is reached, continue to determine whether the number of virtual machines of the adjacent servers of the adjacent servers has reached the upper limit, and so on to add virtual machines to the next virtual network function.

[0119] Then the route is selected. The transition probability of the route of the virtual network function in the candidate virtual network function set is calculated. The next route is selected according to the transition probability selection method of the ant colony algorithm, and the ant k is moved to the corresponding virtual network function. As mentioned above, the transition probability The determination method can be expressed as:

[0120] p xy k t = [ τ xy (t)] α ∙ [ η xy (t)] β ∑ s∈ allowed k [ τ xs (t)] α ∙ [ η xs (t)] β yϵ allowed k 0 other .

[0121] For this transition probability The method for determining may refer to the relevant description in the aforementioned embodiment and will not be described in detail here.

[0122] Ant k will transfer according to the above determination method, and use the tabuk table to record the virtual network functions that ant k has passed through. As ant k continues to move to the next virtual network function, the virtual network functions it has passed through will be continuously added to the tabuk table, and the virtual network functions in the tabuk table will not be selected again. When all virtual network functions are included in the tabuk table, ant k will no longer move and the deconstruction is completed.

[0123] Then determine whether the entire path is completed and check whether all virtual network functions of ant k have been traversed. If so, go to the next step, otherwise continue to find the next virtual network function.

[0124] Then the pheromone content can be updated by calculating the optimization target of the entire path , add pheromones to all routes of the full path and attenuate pheromones of other routes. As mentioned above, the optimization goal It can be expressed as For this, please refer to the relevant description in the aforementioned embodiment, which will not be repeated here.

[0125] Next, the number of iterations is checked to determine whether it reaches / exceeds the preset number of iterations. If it reaches / exceeds the preset number of iterations, the algorithm ends; otherwise, the ant colony algorithm continues to execute.

[0126] The solution of this embodiment is based on the improvement of the ant colony algorithm and is applied to the resource scheduling optimization of multiple service function chains. It can realize the parallel scheduling optimization of multiple service function chains, reduce the overall delay, and dynamically increase virtual machines according to demand, make full use of hardware resources, and realize the overall unified optimization of virtual machine placement, virtual network function mapping and virtual network function scheduling. Compared with the separate optimization in the relevant technology, the solution of this embodiment has a better effect on resource scheduling. The solution of this embodiment finally forms a single optimization path through the search of ants, and multiple service function chains provide services at the same time, influence each other, and multiple paths are parallel and interconnected. One-way and two-way routes are proposed, thereby converting the parallel scheduling problem of multiple service function chains into a single path optimization problem. Virtual machines can be gradually increased according to demand during the optimization process, so as to occupy as few virtual machine resources as possible. In the optimization, virtual machine resource occupancy indicators are also added to further improve the resource scheduling effect of multiple service function chains.

[0127] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned 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 does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can 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 to be 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.

[0128] Based on the same inventive concept, the embodiment of the present application also provides a resource scheduling device for a multi-service function chain for implementing the resource scheduling method for a multi-service function chain 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 the embodiments of one or more resource scheduling devices for multi-service function chains provided below can refer to the limitations of the resource scheduling method for multi-service function chains above, and will not be repeated here.

[0129] In an exemplary embodiment, as shown in FIG9 , a resource scheduling device for a multi-service function chain is provided. The device 900 may include:

[0130] A determination module 901 is used to determine a plurality of service function chains to be processed;

[0131] The acquisition module 902 is used to acquire the instantiation paths corresponding to the multiple service function chains based on the sequence constraint and the target condition; the instantiation path is used to indicate the instantiation order of each virtual network function in the multiple service function chains; the sequence constraint makes the instantiation order of each virtual network function in the same service function chain conform to the arrangement order in the same service function chain; the instantiation order satisfies the target condition; the target condition includes a delay condition and a virtual machine resource occupancy condition;

[0132] Obtaining module 903 is used to obtain resource scheduling results of the multiple service function chains according to the virtual machine resources corresponding to the instantiation path.

[0133] In one embodiment, the acquisition module 902 is used to determine the optional routes for each of the virtual network functions in the multiple service function chains according to the sequence constraint; the optional routes include unidirectional routes and bidirectional routes; wherein the unidirectional route is a route formed by connecting the virtual network functions in the same service function chain according to the arrangement order; the bidirectional route is a route between two virtual network functions in different service function chains; the optimization target is determined according to the delay condition and the virtual machine resource occupancy condition in the target condition; the optimization target includes path delay and virtual machine resource occupancy; based on the optional routes of each virtual network function and the optimization target, an ant colony algorithm is run to obtain the instantiated paths corresponding to the multiple service function chains.

[0134] In one embodiment, the acquisition module 902 is used to determine a screening method for a valid route for transferring from a virtual network function in the multiple service function chains to the next virtual network function based on the optional routes and the sequence constraints of each virtual network function; the valid route includes the route that satisfies the sequence constraints among the optional routes; based on the optimization target and the route delay, determine a method for determining the transfer probability of the valid route from the one virtual network function to the next virtual network function; the route delay includes the delay of the valid route; based on the screening method and the determination method, run the ant colony algorithm to obtain the instantiated path.

[0135] In one embodiment, the acquisition module 902 is used to obtain a first determination method for pheromone content according to the optimization target; obtain a second determination method for heuristic information content according to the route delay; and obtain the determination method for the transition probability according to the first determination method for the pheromone content and the second determination method for the heuristic information content.

[0136] In one embodiment, the acquisition module 902 is used to obtain a processing method for the virtual machine of the next virtual network function in the valid route; the processing method includes selecting a virtual machine with the shortest delay from the available virtual machines of the next virtual network function and / or adding a virtual machine for the next virtual network function based on minimizing the delay; based on the screening method, the processing method and the determination method, the ant colony algorithm is run to obtain the instantiated path.

[0137] In one embodiment, the acquisition module 902 is used to determine the maximum path delay corresponding to the multiple service function chains as the path delay according to the delay condition; determine the virtual machine resource occupancy based on the virtual machines occupied by the multiple service function chains according to the virtual machine resource occupancy condition; and determine the optimization target according to the path delay and the virtual machine resource occupancy.

[0138] In one embodiment, the acquisition module 902 is used to determine the virtual machine resource occupancy amount based on the accumulated idle time of the virtual machines occupied by multiple service function chains according to the virtual machine resource occupancy condition; or, according to the virtual machine resource occupancy condition, determine the virtual machine resource occupancy amount based on the proportion of the number of virtual machines occupied by multiple service function chains.

[0139] Each module in the resource scheduling device of the multi-service function chain can be implemented in whole or in part by software, hardware and a combination thereof. Each module 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 module.

[0140] In an exemplary embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be shown in FIG10. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. Among them, 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. Among them, 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 and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. 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 resource scheduling method for a multi-service function chain is implemented.

[0141] Those skilled in the art will understand that the structure shown in FIG. 10 is merely a block diagram of a partial 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 shown in the figure, or combine certain components, or have a different arrangement of components.

[0142] In one embodiment, a computer device is further 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 method embodiments when executing the computer program.

[0143] 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-mentioned method embodiments are implemented.

[0144] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.

[0145] 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.

[0146] A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment method 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 the present 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.

[0147] 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.

[0148] The above-described 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 resource scheduling method for a multi-service function chain, characterized in that: The method comprises: Determine multiple service function chains to be processed; Based on the sequence constraint and the target condition, the instantiation paths corresponding to the multiple service function chains are obtained; the instantiation paths are used to indicate the instantiation order of each virtual network function in the multiple service function chains; the sequence constraint makes the instantiation order of each virtual network function in the same service function chain conform to the arrangement order in the same service function chain; the instantiation order satisfies the target condition; the target condition includes a latency condition and a virtual machine resource occupancy condition; According to the virtual machine resources corresponding to the instantiation path, the resource scheduling results of the multiple service function chains are obtained.

2. The method according to claim 1, characterized in that The acquiring, based on the sequence constraint and the target condition, instantiation paths corresponding to the plurality of service function chains comprises: According to the sequence constraint, determining an optional route for each virtual network function in a plurality of the service function chains; the optional routes include a unidirectional route and a bidirectional route; wherein the unidirectional route is a route formed by connecting the virtual network functions in the same service function chain according to the arrangement order; and the bidirectional route is a route between two virtual network functions in different service function chains; Determine an optimization target according to the delay condition and the virtual machine resource occupancy condition in the target condition; the optimization target includes path delay and virtual machine resource occupancy; Based on the optional routes of each virtual network function and the optimization target, an ant colony algorithm is run to obtain the instantiation paths corresponding to the multiple service function chains.

3. The method according to claim 2, characterized in that The step of running an ant colony algorithm to obtain the instantiation paths corresponding to the plurality of service function chains based on the optional routes and the optimization target of each virtual network function includes: Based on the optional routes and the sequence constraints of each of the virtual network functions, determine a screening method for an effective route for transferring from a virtual network function to a next virtual network function in the plurality of service function chains; the effective route includes a route that satisfies the sequence constraints among the optional routes; Determine a method for determining a transfer probability of the valid route from the first virtual network function to the next virtual network function based on the optimization target and the route delay; the route delay includes the delay of the valid route; Based on the screening method and the determining method, the ant colony algorithm is run to obtain the instantiation path.

4. The method according to claim 3, characterized in that The method of determining the transfer probability of the valid route from the first virtual network function to the next virtual network function based on the optimization target and the route delay includes: According to the optimization goal, a first determination method for obtaining pheromone content is obtained; A second determining method for obtaining heuristic information content according to the route delay; The determination method of the transition probability is acquired according to the first determination method of the pheromone content and the second determination method of the heuristic information content.

5. The method according to claim 3, characterized in that: The step of running the ant colony algorithm to obtain the instantiation path based on the screening method and the determination method includes: Obtaining a processing method for the virtual machine of the next virtual network function in the effective route; the processing method includes selecting a virtual machine with the shortest latency from available virtual machines of the next virtual network function and / or adding a virtual machine for the next virtual network function based on minimizing latency; Based on the screening method, the processing method and the determining method, the ant colony algorithm is run to obtain the instantiation path.

6. The method according to claim 2, characterized in that The step of determining the optimization target according to the latency condition and the virtual machine resource occupancy condition in the target condition includes: According to the delay condition, determining the maximum path delay corresponding to the plurality of service function chains as the path delay; According to the virtual machine resource occupation condition, determining the virtual machine resource occupation amount based on the virtual machines occupied by the plurality of service function chains; The optimization target is determined according to the path delay and the virtual machine resource occupancy.

7. The method according to claim 6, characterized in that The determining the virtual machine resource occupation amount based on the virtual machines occupied by the plurality of service function chains according to the virtual machine resource occupation condition includes: According to the virtual machine resource occupancy condition, the virtual machine resource occupancy is determined based on the accumulated idle time of the virtual machines occupied by multiple service function chains; or, according to the virtual machine resource occupancy condition, the virtual machine resource occupancy is determined based on the proportion of the number of virtual machines occupied by multiple service function chains.

8. A resource scheduling device for a multi-service function chain, characterized in that: The device comprises: A determination module, used for determining a plurality of service function chains to be processed; An acquisition module is used to acquire instantiation paths corresponding to the plurality of service function chains based on a sequence constraint and a target condition; the instantiation path is used to indicate an instantiation order of each virtual network function in the plurality of service function chains; the sequence constraint makes the instantiation order of each virtual network function in the same service function chain conform to the arrangement order in the same service function chain; the instantiation order satisfies the target condition; the target condition includes a latency condition and a virtual machine resource occupancy condition; An obtaining module is used to obtain resource scheduling results of the multiple service function chains according to the virtual machine resources corresponding to the instantiation path.

9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.

10. 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 7 are implemented.

11. 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 7 are implemented.