Resource scheduling methods, equipment, and systems for network services

CN116346932BActive Publication Date: 2026-08-14ALIBABA (CHINA) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-17
Publication Date
2026-08-14

AI Technical Summary

Technical Problem

[0003]然而,NFV系统通过一个资源池提供的网络服务,无法调度另一资源池(或称作异构资源池)进行资源调度,降低了资源调度的灵活性

Benefits of technology

[0010]在本申请实施例中,NFV系统在异构资源池的场景下,基于M个资源池中各资源池的性能参数,确定M个资源池中待调度的N个资源,以使N个资源能够承载网络服务的第一带宽,实现在异构资源池场景下对虚拟网络资源的灵活调度。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116346932B_ABST
    Figure CN116346932B_ABST
Patent Text Reader

Abstract

This application provides a resource scheduling method, device, and system for network services. The method, applied to an NFV system, includes: obtaining a first bandwidth of the network service and performance parameters of M resource pools, where the first bandwidth is the bandwidth required by the network service, or the first bandwidth is the bandwidth variation for running the network service; each resource pool includes at least one resource, and the performance parameters of the resource pool indicate the network computing bandwidth and network forwarding bandwidth included in the resources within the resource pool, where M is an integer greater than 1; determining N resources to be scheduled from the M resource pools based on the first bandwidth and the performance parameters of the M resource pools, where N is a positive integer less than or equal to M; and scheduling the N resources as resources for running the network service. This enables the N resources to carry the first bandwidth of the network service, achieving flexible scheduling of virtual network resources in a heterogeneous resource pool scenario.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of cloud computing technology, and in particular to a resource scheduling method, device and system for network services. Background Technology

[0002] Currently, in Network Functions Virtualization (NFV) applications, NFV systems can provide network services to users through virtual network resources provided by resource pools. These resource pools are used to provide network services to a fixed number of users or user groups; that is, an NFV system can provide network services to corresponding users or user groups by running different resource pools. When the amount of resources required for network service operation changes, the number of resources in the resource pool can be increased or decreased, achieving elastic scaling of the resource pool.

[0003] However, since NFV systems provide network services through one resource pool, they cannot schedule resources from another resource pool (or heterogeneous resource pool), which reduces the flexibility of resource scheduling. Summary of the Invention

[0004] This application provides a method, device, and system for resource scheduling of network services, aiming to improve the flexibility of resource scheduling in NFV application scenarios.

[0005] In a first aspect, embodiments of this application provide a resource scheduling method for a network service, applied to an NFV system, comprising: obtaining a first bandwidth of the network service and performance parameters of M resource pools, wherein the first bandwidth is the bandwidth required by the network service, or the first bandwidth is the bandwidth variation for running the network service, the resource pools include at least one resource, and the performance parameters of the resource pools are used to indicate the network computing bandwidth and network forwarding bandwidth included in the resources in the resource pools, where M is an integer greater than 1; determining N resources to be scheduled in the M resource pools based on the first bandwidth and the performance parameters of the M resource pools, wherein N is a positive integer less than or equal to M; and scheduling the N resources as resources for running the network service.

[0006] In a second aspect, embodiments of this application provide an electronic device, including: at least one processor and a memory; the memory stores computer execution instructions; the at least one processor executes the computer execution instructions stored in the memory, causing the at least one processor to perform the method as described in the first aspect.

[0007] Thirdly, embodiments of this application provide an NFV system, including: a resource pool scheduling device and an NFV processing device, the resource pool scheduling device being communicatively connected to the NFV processing device; the resource pool scheduling device being configured to: obtain a first bandwidth of a network service and performance parameters of M resource pools, the first bandwidth being the bandwidth required by the network service, or the first bandwidth being the bandwidth change amount when running the network service, the resource pool including at least one resource, the performance parameters of the resource pool being used to indicate the network computing bandwidth and network forwarding bandwidth provided by the resources in the resource pool, M being an integer greater than 1; determine N resources to be scheduled in the M resource pools based on the first bandwidth and the performance parameters of the M resource pools, N being less than or equal to M, and N being a positive integer; the NFV processing device being configured to schedule the N resources as resources for running the network service.

[0008] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the method provided in the first aspect.

[0009] Fifthly, embodiments of this application provide a computer program product including computer instructions that, when executed by a processor, implement the method provided in the first aspect.

[0010] In this embodiment of the application, in the scenario of heterogeneous resource pools, the NFV system determines N resources to be scheduled in the M resource pools based on the performance parameters of each resource pool, so that the N resources can carry the first bandwidth of network services, thereby realizing flexible scheduling of virtual network resources in the scenario of heterogeneous resource pools. Attached Figure Description

[0011] Figure 1 A schematic diagram of an NFV application scenario 100 provided in an embodiment of this application;

[0012] Figure 2 A schematic diagram of the interaction flow of a resource scheduling method 200 for a network service provided in an embodiment of this application;

[0013] Figure 3 A schematic block diagram of an apparatus 300 provided in an embodiment of this application;

[0014] Figure 4 This is a schematic diagram of the structure of an electronic device 400 provided for an exemplary embodiment of this application. Detailed Implementation

[0015] The embodiments of this application can be applied to any network service scenario implemented using the NFV architecture. Unlike the strong hardware-software binding relationship in traditional physical devices, the NFV architecture allows various network function standard software to be applied on the same hardware device.

[0016] When providing network services in an NFV-based NFV system, in some scenarios, different resource pools are used to provide network services to different users or user groups. For example, each resource pool serves users or user groups belonging to the same cloud service provider, or they are service targets of the same cloud service provider. Alternatively, each resource pool provides different types of network services. In other scenarios, the resource pools are implemented in different ways. For example, one resource pool is implemented using cloud resources (such as cloud virtual machines), while another resource pool is implemented using non-cloud resources (such as physical server resources of bare metal servers). This allows the provider to provide network services to users with low and rapidly changing traffic through cloud resources to reduce costs, and to provide network services to users with high traffic and requiring priority protection through non-cloud resources to achieve fast network forwarding. It should be understood that the different resource pools in this application embodiment can be called heterogeneous resource pools. To solve the above problems, this application embodiment determines at least one resource to be scheduled in different resource pools based on the performance parameters of different resource pools, aiming to achieve flexible resource allocation.

[0017] The technical solutions of the embodiments of this application will be described by way of example below with reference to the accompanying drawings.

[0018] Figure 1 This is a schematic diagram of an NFV application scenario 100 provided in an embodiment of this application.

[0019] Combination Figure 1 As shown, the NFV system 110 can be a software implementation built on an NFV network architecture. The NFV system 110 may include an NFV processing unit 111, a resource pool scheduling unit 112, and a resource pool monitoring unit 113. The resource pool scheduling unit 112 is communicatively connected to both the NFV processing unit 111 and the resource pool monitoring unit 113.

[0020] NFV system 110 can communicate with heterogeneous resource pools 120 (such as resource pools 120-1 to 120-M) to obtain parameters or traffic data from the resource pools. Resource pools 120-1 to 120-M can include cloud-based resources and non-cloud-based resources. When the resource pool is a cloud-based resource, it can provide network resources for virtual machines, including network computing bandwidth and network forwarding bandwidth. For ease of description, the virtual machines and physical servers providing resources will be referred to as compute nodes in the following text. One compute node provides one resource. Operations on resources mentioned below, such as identifying, creating, and deleting resources, can be understood as operations on the compute node providing the resource, such as identifying, creating, and deleting compute nodes.

[0021] On one hand, the resource pool scheduling device 112 can obtain the performance parameters of each of the M resource pools, where M is an integer greater than 1. These performance parameters indicate the network computing bandwidth and network forwarding bandwidth provided by the resources in that resource pool. On the other hand, the resource pool scheduling device 112 can obtain traffic data (such as the bandwidth occupied by running the corresponding network service) collected by the resource pool monitoring device 113. The resource pool monitoring device 113 may include multiple resource pool monitoring sub-devices, each monitoring a corresponding resource pool.

[0022] Furthermore, the resource pool scheduling device 112 can determine the bandwidth change of the network service based on the traffic data collected by the resource pool monitoring device 113, and determine the N resources to be scheduled in the M resource pools based on the performance parameters of each of the M resource pools, where N is a positive integer less than or equal to M.

[0023] The resource pool scheduling device 112 can generate N resource scheduling requests (or scheduling events) and send the scheduling requests to the NFV processing device 111 so that the NFV processing device 111 can perform resource scheduling for the network service so that the N resources can be used to run the network service.

[0024] The NFV processing unit 111 may include: an NFV controller 1111, a Network Functions Virtualization Orchestrator (NFVO) 1112, and a Network Functions Virtualization Infrastructure (NFVI) 1113. The NFV controller 1111 is communicatively connected to the NFVO 1112 and multiple NFVI components 1113 (e.g., 1113-1 to 1113-M), and the NFVO 1112 is communicatively connected to the resource pool scheduling unit 112.

[0025] The NFV controller 111 manages and schedules the NFVI component 1113; the NFVO 1112 orchestrates and manages the infrastructure, resources, and network services of the NFV system 110; and the NFVI component 1113 manages the resource pools required for the NFV to run network services, such as resource pools 120-1 to 120-M, providing the operating environment for the NFV system 110. NFVI 1113-1 to 1113-M correspond one-to-one with resource pools 120-1 to 120-M, for example, NFVI 1113-1 corresponds to resource pool 120-1, and NFVI 1113-1 is used to call the interface of resource pool 120-1 to achieve resource scheduling.

[0026] For example, the resource pool scheduling device 112 can generate scheduling requests (or scheduling events) for N resources and send the scheduling requests to NFVO 1112. After receiving the scheduling requests, NFVO 1112 can orchestrate the scheduling requests and send them to NFV controller 1111. After receiving the orchestrated scheduling requests, NFV controller 1111 requests allocation to the NFVIs corresponding to the resource pools to which the N resources belong. The NFVIs call the interfaces of the corresponding resource pools to schedule the resources so that the N resources can be used to run the corresponding network services, thus completing the resource scheduling process for network services.

[0027] It should be understood that the NFV system 110 may include more than Figure 1 The architecture shown has more or fewer components, or Figure 1 Some components in the architecture shown can be combined to achieve corresponding functions, or Figure 1 Some components in the architecture can be broken down into smaller components to achieve corresponding functions, and this application does not limit this. For example, in the scenario of network service creation, the embodiments of this application do not need to monitor the real-time traffic of the resource pool, so the resource pool scheduling device 114 may not be included.

[0028] It should be understood that the following description is for ease of understanding and explanation only, using an NFV system as the execution subject as an example to illustrate the method provided in the embodiments of this application in detail. The NFV system can be... Figure 1 The NFV system 110 shown can be implemented as a hardware device or as a software program, and this application does not limit it in this way.

[0029] However, it should be understood that this should not limit the entity that can execute the methods provided in this application. Any entity that can implement the methods provided in this application by running a program containing code of the methods provided in the embodiments of this application can be considered the entity that can execute the methods provided in the embodiments of this application. For example, the NFV system in the following embodiments can be implemented as an electronic device, or as a chip, chip system, or other functional module capable of calling and executing programs. The electronic device can be a server, such as a cloud server.

[0030] The resource scheduling method for network services provided in this application can be applied to at least two of the following scenarios:

[0031] Scenario 1: The creation phase of network services.

[0032] In the above scenario one, the NFV system can trigger resource scheduling by the creation request of a network service, and create resources for the network service in M ​​resource pools.

[0033] Scenario 2: The operational phase of network services.

[0034] In the above scenario two, the NFV system can trigger resource scheduling based on the real-time status of the resource pool used by the network service to create resources for the network service in M ​​resource pools to achieve expansion, or delete the resources corresponding to the network service in M ​​resource pools to achieve reduction.

[0035] In Scenario 2, during the network creation phase, the NFV system can use the default resource pool of the network service to run the network service, for example, use the resource pool corresponding to vendor A to run the network service serving users of vendor A; or the NFV system can run the network service according to the resources determined in Scenario 1.

[0036] The resource scheduling method for network services provided in this application embodiment will be described below in conjunction with the two possible scenarios mentioned above.

[0037] Figure 2 This is a schematic diagram of the interaction flow of a resource scheduling method 200 for a network service provided in an embodiment of this application. Figure 2 As shown, method 200 includes some or all of the following processes:

[0038] S210, obtain the first bandwidth of the network service and the performance parameters of M resource pools, each resource pool including at least one resource, the performance parameters of which are used to indicate the network computing bandwidth and network forwarding bandwidth provided by the resources in the resource pool, where M is an integer greater than 1;

[0039] S220, Based on the first bandwidth and the performance parameters of the M resource pools, determine the N resources to be scheduled in the M resource pools, where N is a positive integer less than or equal to M;

[0040] S230, schedule the N resources as resources to run the network service.

[0041] In scenario one above, the first bandwidth of the network service can be the bandwidth required by the network service; in scenario two above, the first bandwidth of the network service can be the bandwidth change amount for running the network service, which can be an increase or a decrease in bandwidth. Therefore, this application embodiment needs to determine N resources to be scheduled for the first bandwidth to achieve the carrying capacity of the first bandwidth, thereby ensuring the normal and stable operation of the network service.

[0042] The NFV system can determine N resources for carrying the first bandwidth of network services based on the performance parameters of M resource pools. It should be noted that the N resources can belong to the same resource pool or different resource pools; this application does not impose any restrictions on this.

[0043] The performance parameters of the resource pool can include the performance parameters of each compute node. These performance parameters are attribute values ​​of the compute node and can be read by the NFV system from the resource pool. The performance parameters of compute nodes corresponding to different resources in a resource pool can be the same or different; this application does not limit this. The performance parameters of compute nodes may include, but are not limited to:

[0044] Network card processing capacity: T n (b / s)

[0045] Core processor (Central Processing Unit, CPU) clock speed: F c (Hz)

[0046] Network card queue: Q n (indivual)

[0047] Average processing clock cycle per packet: C P (indivual)

[0048] System processing coefficient: K s

[0049] Among them, K sThis is used to balance the impact of software capabilities on network forwarding within the resource pool. The above performance parameters can reflect the network computing bandwidth and network forwarding bandwidth possessed by the computing node. For example, the network computing bandwidth B1 and network forwarding bandwidth B2 of the computing node can satisfy the following formulas (1) and (2), respectively.

[0050] B1 = F c *Q n / C P (1)

[0051] B2 = T n (2)

[0052] Assume that the compute nodes in a resource pool are of the same specification and that the number of compute nodes in the resource pool is N. s Then the resource pool can provide a maximum network bandwidth B to the outside world. s It satisfies the following formula (3)

[0053] B s =min(B2,B1)*N s *K s (3)

[0054] Where, N s This represents the number of resources in the resource pool. It should be understood that when the performance parameters of the computing nodes corresponding to different resources in the resource pool are different, formula (3) can be replaced with... i is a positive integer less than or equal to x, where x is a positive integer.

[0055] Formula (3) above is a network capability model for a heterogeneous resource pool constructed in an embodiment of this application. Based on this capability model, the network capabilities of the heterogeneous resource pool that the NFV system can adopt can be determined.

[0056] In S220 above, the NFV system determines N resources from M resource pools that can carry the first bandwidth. In the expansion scenarios of Scenario 1 and Scenario 2 above, the N resources are resources to be created; in the reduction scenario of Scenario 2 above, the N resources are resources already created in the resource pools that are already participating in the operation of network services.

[0057] The bandwidth carrying capacity of N resources can be determined based on the performance parameters of M resource pools. Assuming that all resources in a resource pool have the same network computing bandwidth and network forwarding bandwidth, the number of resources carrying the first bandwidth, i.e., N, can be determined based on the first bandwidth, network computing bandwidth, and network forwarding bandwidth. Then, these N resources are selected from the M resource pools. For example, in the expansion scenarios of Scenario 1 or Scenario 2 above, the M resource pools can be sorted in ascending order of bandwidth utilization, and the N resources to be scheduled can be preferentially selected from the resource pools with lower bandwidth utilization. For instance, the N resources can be selected from the resource pool with the lowest bandwidth utilization, or a portion of the N resources can be selected from the top K1 resource pools with the highest bandwidth utilization. For example, in the above scenario two, the M resource pools can be sorted in descending order of bandwidth utilization, and the N resources to be scheduled can be determined first from the resource pools with higher bandwidth utilization. For example, the N resources can be determined from the resource pool with the highest bandwidth utilization, or some of the N resources can be determined from the top K2 resource pools with the highest bandwidth utilization.

[0058] For example, each of the N resources includes network computing bandwidth and network forwarding bandwidth. At least one of the network computing bandwidth and network forwarding bandwidth included in the N resources is greater than or equal to the first bandwidth mentioned above; or the maximum value of the network computing bandwidth and network forwarding bandwidth included in the N resources is greater than or equal to the first bandwidth.

[0059] In the expansion scenarios of Scenario 1 and Scenario 2 above, the NFV system in S230 can create the N resources in at least one of the M resource pools; in the reduction scenario of Scenario 2 above, the NFV system in S230 can delete the N resources in at least one of the M resource pools. It should be understood that for each of the N resources, the NFV system creates or deletes the resource in the corresponding resource pool.

[0060] For example, S210 and S220 described above can be performed by a resource pool scheduling device in an NFV system (such as...). Figure 1 The resource pool scheduling device 112 in the system executes the above S230, which can be performed by the NFV processing device in the NFV system (such as...). Figure 1 The NFV processing device 111 in the process is executed, for example, by the interaction between NFVO, NFV controller and NFVI.

[0061] Therefore, in this embodiment of the application, the NFV system, in the scenario of heterogeneous resource pools, determines N resources to be scheduled in the M resource pools based on the performance parameters of each resource pool, so that the N resources can carry the first bandwidth of network services, thereby realizing flexible scheduling of virtual network resources in the scenario of heterogeneous resource pools.

[0062] In some implementations of S220 above, the NFV system can determine the target parameters based on the performance parameters of the M resource pools; and determine the number of resources N1 carrying the first bandwidth under the target network computing bandwidth indicated by the target parameters, and determine the number of resources N2 carrying the first bandwidth under the target network forwarding bandwidth indicated by the target parameters; then, determine the final number N of resources carrying the first bandwidth based on the larger value of N1 and N2; finally, determine the N resources to be scheduled in the M resource pools.

[0063] The target parameters include the target network computing bandwidth and the target network forwarding bandwidth.

[0064] In one example, the target network computing bandwidth is the average of the network computing bandwidths included in the resources of the M resource pools, and the target network forwarding bandwidth is the average of the network forwarding bandwidths included in the resources of the M resource pools.

[0065] In another example, the target parameter is the performance parameter of one of the M resource pools. In this case, if the performance parameters of all compute nodes in the resource pool are the same, the target network compute bandwidth is the network compute bandwidth included in any resource in the resource pool, and the target network forwarding bandwidth is the network forwarding bandwidth included in any resource in the resource pool; if at least two compute nodes in the resource pool have different performance parameters, the target network compute bandwidth is the average network compute bandwidth of all resources in the resource pool, and the target network forwarding bandwidth is the average network forwarding bandwidth of all resources in the resource pool.

[0066] This application does not limit the method of determining the target parameter. For example, the target parameter can be determined by calculating the mean or by calculating the variance.

[0067] In another embodiment, the target parameters include the network computing bandwidth and network forwarding bandwidth of each resource in the M resource pools. The NFV system can determine the bandwidth carrying capacity of each resource one by one, and add the bandwidth carrying capacities of multiple resources together to determine the first bandwidth, thus identifying the N resources. It should be understood that the NFV system can determine the bandwidth carrying capacity of each resource one by one based on the priority of the resources in the M resource pools. The priority of a resource can be related to the bandwidth utilization rate of the resource pool to which the resource belongs. The bandwidth carrying capacity of a resource can be determined by the resource's network computing bandwidth and network forwarding bandwidth, for example, it can be the larger of the network computing bandwidth and network forwarding bandwidth.

[0068] Assuming that the performance parameters of the M resource pools are all the same, in the above embodiment, the NFV system can determine N according to the following formula (4);

[0069] N = max(ΔB / B2, ΔB / B1) / K s (4)

[0070] Where ΔB is the first bandwidth. ΔB / B² / K s N2 represents the number of resources N2 carrying the first bandwidth under the target network forwarding bandwidth indicated by the target parameters, ΔB / B1 / K. s N1 represents the number of resources N1 that carry the first bandwidth under the target network computing bandwidth indicated by the target parameters.

[0071] In some embodiments, the NFV system uses the larger of N1 and N2, plus the number of resources N3 occupied by the cross-resource pool call, as the final number N of resources carrying the first bandwidth; wherein, the number N3 of resources occupied by the cross-resource pool call is determined based on the cross-resource pool bandwidth. The larger the cross-resource pool bandwidth, the more resources the cross-resource pool call occupies, i.e., the larger N3 is. The cross-resource pool bandwidth can be less than or equal to the first bandwidth.

[0072] Assuming that the performance parameters of the M resource pools are all the same, in the above embodiment, the NFV system can determine N according to the following formula (5):

[0073] N = max(ΔB / B2, ΔB / B1) / K s +N c *B d (5)

[0074] Where, N c B represents the network consumption required for transmission across resource pools per unit bandwidth. d For the bandwidth across resource pools, that is, N3 = N c *B d .

[0075] In some embodiments, the NFV system determines N resources from the M resource pools based on a first bandwidth, performance parameters of the M resource pools, and cost parameters of the M resource pools. Based on this embodiment, network service costs are reduced while enabling flexible scheduling of resources from heterogeneous resource pools.

[0076] For example, based on a first bandwidth and the performance parameters of M resource pools, the NFV system can determine multiple sets of resources from the M resource pools. Each set of resources may include the same or different numbers of resources. The system then determines the set of resources with the lowest cost among these sets and schedules N resources within that set. Alternatively, the NFV system can simultaneously combine the first bandwidth, the performance parameters of the M resource pools, and the cost parameters of the M resource pools to determine the N resources. The cost parameters for each resource within each resource pool can be the same.

[0077] Assuming that the performance parameters of the M resource pools are all the same, in the above embodiment, the NFV system can solve for the number of resources N that resource pool B can expand or shrink according to the following set of equations (6). i :

[0078]

[0079] Where, N max This represents the maximum number of resources that can be created in resource pool B. Resource pool B is a resource pool to which at least one of the N resources belongs. In Scenario 1 above, resource pool B is the resource pool determined by the NFV system from M resource pools to provide the first bandwidth carrying capacity for network services. As an interpretation, during the network service creation phase, the resources used to determine the network service can be resource expansion. In the expansion scenario of Scenario 2 above, during the process of running network services through resource pool A, resource pool B is the resource pool determined by the NFV system from M resource pools for expansion. In the reduction scenario of Scenario 2 above, resource pool B is the resource pool determined by the NFV system from M resource pools for reduction.

[0080] Furthermore, the NFV system can determine N from at least one of the M resource pools according to the following set of equations (7). i Given resources, find the union of N resources determined from each resource pool in at least one resource pool, with the lowest cost:

[0081]

[0082] Among them, C i The cost of a computing node in the resource pool.

[0083] The following description, using the two scenarios described above, provides an exemplary illustration of the triggering conditions for resource scheduling in the embodiments of this application.

[0084] In the scenario described above, the NFV system can receive a network service establishment request. This request can be input by a user or sent by an external device; this application does not limit the specific request. The network service request is used to request the NFV system to provide a network service. Based on this establishment request, the NFV system can use the initial bandwidth of the resource pool corresponding to the network service as the first bandwidth. As mentioned earlier, the resource pool corresponding to the network service can be a resource pool pre-bound to the network service, i.e., a default resource pool, or the NFV system can determine the resource pool for the network service from M resource pools.

[0085] In the above scenario two, the NFV system can detect the occupied bandwidth of the resource pool used to run network services and determine the bandwidth utilization rate of the resource pool based on the occupied bandwidth. When the bandwidth utilization rate is greater than or equal to the upper limit threshold, or less than or equal to the lower limit threshold, the bandwidth change is determined based on the occupied bandwidth and a preset value, which represents the expected bandwidth utilization rate of the resource pool used to run network services.

[0086] For example, an NFV system can detect the occupied bandwidth of a resource pool used by a resource pool to run network services through a resource pool monitoring device, and send the occupied bandwidth of the resource pool to a resource pool scheduling device. The resource pool scheduling device then determines the occupied bandwidth based on the occupied bandwidth B of the resource pool. now and the maximum network bandwidth B of the resource pool s Determine the bandwidth utilization rate T of the resource pool. now =B now / B s At bandwidth utilization T now Greater than or equal to the upper limit threshold T max When a resource expansion event is triggered, the first bandwidth to be expanded is ΔB = B. now / T exp -B s , among which, T exp This represents the expected bandwidth utilization rate of the resource pool; at bandwidth utilization rate T... now Less than or equal to the lower limit threshold T min When a resource scaling-down event is triggered, the first bandwidth to be scaled down is ΔB = B. s -B now / T exp , among which, T exp The expected bandwidth utilization of this resource pool

[0087] The NFV system can also detect the occupied bandwidth of unused resource pools running network services, so that during the resource expansion process, resource pools that can be selected to implement cross-resource expansion can be selected based on the occupied bandwidth of unused resource pools.

[0088] It should be noted that, in the embodiments of this application, when NFV provides network services through resource pool A among the M resource pools, it can achieve cross-resource pool expansion or contraction in other resource pools among the M resource pools, or it can achieve expansion or contraction within resource pool A, or a combination of both, that is, it can achieve expansion or contraction within resource pool A, while simultaneously achieving cross-resource pool expansion or contraction in other resource pools among the M resource pools.

[0089] It should be noted that the terms "first" and "second" in this article are used to distinguish different bandwidths, data types, etc., and do not represent a chronological order, nor do they limit "first" and "second" to different types.

[0090] Figure 3 This is a schematic block diagram of an apparatus 300 provided in an embodiment of this application. Figure 3 As shown, the device 300 may include an acquisition unit 310, a processing unit 320, and a scheduling unit 330.

[0091] The acquisition unit 310 can be used to acquire the first bandwidth of the network service and the performance parameters of M resource pools. The first bandwidth is the bandwidth required by the network service, or the first bandwidth is the bandwidth variation for running the network service. The resource pool includes at least one resource. The performance parameters of the resource pool are used to indicate the network computing bandwidth and network forwarding bandwidth included in the resources in the resource pool. M is an integer greater than 1. The processing unit 320 can be used to determine N resources to be scheduled in the M resource pools based on the first bandwidth and the performance parameters of the M resource pools. N is a positive integer less than or equal to M. The scheduling unit 330 can be used to schedule the N resources as resources for running the network service.

[0092] In some embodiments, the maximum value of the network computing bandwidth and network forwarding bandwidth provided by the N resources is greater than or equal to the first bandwidth.

[0093] In some embodiments, the processing unit 320 is specifically configured to: determine target parameters based on the performance parameters of the M resource pools; wherein the target parameters include target network computing bandwidth and target network forwarding bandwidth, the target network computing bandwidth being the average of the network computing bandwidths included in the resources of the M resource pools, and the target network forwarding bandwidth being the average of the network forwarding bandwidths included in the resources of the M resource pools; or, the target parameters are the performance parameters of one of the M resource pools; determine the number N1 of resources carrying the first bandwidth under the target network computing bandwidth indicated by the target parameters, and determine the number N2 of resources carrying the first bandwidth under the target network forwarding bandwidth indicated by the target parameters; determine the final number N of resources carrying the first bandwidth based on the larger value of N1 and N2; and determine the N resources to be scheduled in the M resource pools.

[0094] In some embodiments, the processing unit 320 is specifically configured to: sum the larger value of N1 and N2 with the number of resources N3 occupied by the cross-resource pool call, as the final number N of resources carrying the first bandwidth; wherein the number of resources occupied by the cross-resource pool call is determined based on the bandwidth of the cross-resource pool.

[0095] In some embodiments, the processing unit 320 is specifically configured to: determine N resources from the M resource pools based on the first bandwidth, the performance parameters of the M resource pools, and the cost parameters of the M resource pools.

[0096] In some embodiments, the scheduling unit 330 is specifically configured to: create a resource in the resource pool corresponding to each of the N resources, where the first bandwidth is the bandwidth increase when running the network service; or delete a resource for each of the N resources, where the first bandwidth is the bandwidth decrease when running the network service.

[0097] In some embodiments, the acquisition unit 330 is specifically configured to: receive the establishment request of the network service; and use the initial bandwidth of the resource pool corresponding to the network service as the first bandwidth.

[0098] In some embodiments, the acquisition unit 330 is specifically configured to: detect the occupied bandwidth of the resource pool used to run the network service; determine the bandwidth utilization rate of the resource pool based on the occupied bandwidth; and when the bandwidth utilization rate is greater than or equal to an upper limit threshold, or when the bandwidth utilization rate is less than or equal to a lower limit threshold, determine the bandwidth change based on the occupied bandwidth and a preset value, wherein the preset value represents the expected bandwidth utilization rate of the resource pool used to run the network service.

[0099] It should be understood that the specific process of each unit performing the above-mentioned corresponding steps has been described in detail in the above method embodiments, and will not be repeated here for the sake of brevity.

[0100] Figure 4 This is a schematic diagram of the structure of an electronic device 400 provided for an exemplary embodiment of this application. The electronic device 400 can be an implementation of the NFV system described in the method embodiments above. For example... Figure 4 As shown, the electronic device 400 includes a memory 410 and a processor 420.

[0101] Memory 410 is used to store computer programs and can be configured to store various other data to support operation on electronic devices. Memory 410 may be object storage (OSS).

[0102] Processor 420, coupled to memory 410, is used to execute computer programs in memory 410 for implementing the methods implemented by the NFV system in the above method embodiments.

[0103] Furthermore, such as Figure 4 As shown, when the electronic device is implemented as a cloud server, it may also include other components such as a firewall 430, a load balancer 440, a communication component 450, and a power supply component 460. Figure 4 The diagram only shows some components and does not mean that the electronic device includes only these components. Figure 4 The components shown.

[0104] It should be understood that Figure 4 The electronic device 400 shown is capable of implementing the various processes of the NFV system involved in the above method embodiments. The operation and / or function of each module in the electronic device 400 are respectively for implementing the corresponding processes in the above method embodiments. For details, please refer to the description in the above method embodiments; to avoid repetition, detailed descriptions are appropriately omitted here.

[0105] This application also provides a processing apparatus including at least one processor, the at least one processor being configured to execute a computer program stored in a memory, such that the processing apparatus performs the method executed by the NFV system in the above method embodiments.

[0106] This application also provides a processing apparatus, including a processor and an input / output interface. The input / output interface is coupled to the processor. The input / output interface is used to input and / or output information. The information includes at least one of instructions and data. The processor is used to execute a computer program to cause the processing apparatus to perform the method executed by the NFV system in the above method embodiments.

[0107] This application also provides a processing apparatus, including a processor and a memory. The memory is used to store a computer program, and the processor is used to call and run the computer program from the memory, so that the processing apparatus performs the method executed by the NFV system in the above method embodiments.

[0108] It should be understood that the aforementioned processing device can be one or more chips. For example, the processing device can be a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a system-on-chip (SoC), a central processor unit (CPU), a network processor (NP), a digital signal processor (DSP), a microcontroller unit (MCU), a programmable logic device (PLD), or other integrated chips.

[0109] In implementation, each step of the above method can be completed by integrated logic circuits in the processor's hardware or by instructions in software. The steps of the method disclosed in the embodiments of this application can be directly implemented by a hardware processor, or by a combination of hardware and software modules in the processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method. To avoid repetition, detailed descriptions are omitted here.

[0110] It should be noted that the processor in the embodiments of this application can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method embodiments can be completed by the integrated logic circuitry in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the above methods.

[0111] It is understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that the memory used in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0112] According to the method provided in the embodiments of this application, this application also provides a computer program product, which includes: computer program code, which, when run on a computer, causes the computer to execute the method executed by the NFV system in the above method embodiments.

[0113] According to the method provided in the embodiments of this application, this application also provides a computer-readable storage medium storing program code, which, when run on a computer, causes the computer to execute the method executed by the NFV system in the above method embodiments.

[0114] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A resource scheduling method for network services, characterized in that, Applications to Network Functions Virtualization (NFV) systems include: Obtain the first bandwidth of the network service and the performance parameters of M resource pools. The first bandwidth is the bandwidth required by the network service, or the first bandwidth is the bandwidth change amount for running the network service. The resource pool includes at least one resource. The performance parameters of the resource pool are used to indicate the network computing bandwidth and network forwarding bandwidth included in the resources in the resource pool. M is an integer greater than 1. Based on the first bandwidth and the performance parameters of the M resource pools, determine N resources to be scheduled in the M resource pools, where N is a positive integer less than or equal to M; Schedule the N resources to run the network service; The first bandwidth is the bandwidth change amount for running the network service, and obtaining the first bandwidth of the network service includes: Detect the occupied bandwidth of the resource pool used to run the network service; The bandwidth utilization rate of the resource pool is determined based on the occupied bandwidth. When the bandwidth utilization rate is greater than or equal to the upper limit threshold, or when the bandwidth utilization rate is less than or equal to the lower limit threshold, the bandwidth change is determined based on the occupied bandwidth and a preset value, where the preset value represents the expected bandwidth utilization rate of the resource pool used to run the network service.

2. The method according to claim 1, characterized in that, The maximum value of the network computing bandwidth and network forwarding bandwidth provided by the N resources is greater than or equal to the first bandwidth.

3. The method according to claim 2, characterized in that, The step of determining N resources to be scheduled from the M resource pools based on the first bandwidth and the performance parameters of the M resource pools includes: Based on the performance parameters of the M resource pools, target parameters are determined; wherein, the target parameters include target network computing bandwidth and target network forwarding bandwidth, the target network computing bandwidth being the average of the network computing bandwidths of the M resource pools, and the target network forwarding bandwidth being the average of the network forwarding bandwidths of the M resource pools; or, the target parameters are the performance parameters of one of the M resource pools. Under the target network computing bandwidth indicated by the target parameter, determine the number N1 of resources carrying the first bandwidth, and under the target network forwarding bandwidth indicated by the target parameter, determine the number N2 of resources carrying the first bandwidth. The number N of resources that will ultimately carry the first bandwidth is determined based on the larger of N1 and N2. Identify the N resources to be scheduled from the M resource pools.

4. The method according to claim 3, characterized in that, Determining the number N of resources ultimately carrying the first bandwidth based on the larger of N1 and N2 includes: The larger of N1 and N2 is summed with the number of resources N3 occupied by cross-resource pool calls, and this sum is taken as the final number N of resources carrying the first bandwidth; where, The number of resources used by the cross-resource pool call is determined based on the bandwidth of the cross-resource pool.

5. The method according to any one of claims 1 to 4, characterized in that, The step of determining N resources to be scheduled from the M resource pools based on the first bandwidth and the performance parameters of the M resource pools includes: Based on the first bandwidth, the performance parameters of the M resource pools, and the cost parameters of the M resource pools, N resources are determined from the M resource pools.

6. The method according to any one of claims 1 to 4, characterized in that, The first bandwidth is the bandwidth change amount for running the network service, and the method further includes: If the first bandwidth is the bandwidth increase when running the network service, then for each of the N resources, the resource is created in the resource pool corresponding to that resource; or... If the first bandwidth is the bandwidth reduction amount when running the network service, then delete the resource for each of the N resources.

7. The method according to any one of claims 1 to 4, characterized in that, The first bandwidth is the bandwidth required by the network service, and obtaining the first bandwidth of the network service includes: Receive the request to establish the network service; The initial bandwidth of the resource pool corresponding to the network service is taken as the first bandwidth.

8. An electronic device, characterized in that, include: At least one processor and memory; The memory stores computer-executed instructions; The at least one processor executes computer execution instructions stored in the memory, causing the at least one processor to perform the method as described in any one of claims 1 to 7.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1 to 7.

10. An NFV system, characterized in that, include: The resource pool scheduling device and the NFV processing device are communicatively connected. The resource pool scheduling device is used for: Obtain the first bandwidth of the network service and the performance parameters of M resource pools. The first bandwidth is the bandwidth required by the network service, or the first bandwidth is the bandwidth change when the network service is running. The resource pool includes at least one resource. The performance parameters of the resource pool are used to indicate the network computing bandwidth and network forwarding bandwidth provided by the resources in the resource pool. M is an integer greater than 1. Based on the first bandwidth and the performance parameters of the M resource pools, determine N resources to be scheduled in the M resource pools, where N is less than or equal to M and N is a positive integer; The NFV processing device is used to schedule the N resources as resources to run the network service; The first bandwidth is the bandwidth change amount for running the network service, and the resource pool scheduling device is specifically used for: Detect the occupied bandwidth of the resource pool used to run the network service; The bandwidth utilization rate of the resource pool is determined based on the occupied bandwidth. When the bandwidth utilization rate is greater than or equal to the upper limit threshold, or when the bandwidth utilization rate is less than or equal to the lower limit threshold, the bandwidth change is determined based on the occupied bandwidth and a preset value, where the preset value represents the expected bandwidth utilization rate of the resource pool used to run the network service.

11. The system according to claim 10, characterized in that, It also includes: a resource pool monitoring device, which is communicatively connected to the resource pool scheduling device; The resource pool monitoring device is used to detect the occupied bandwidth of the resource pool used to run the network service; The resource pool scheduling device is further configured to determine the bandwidth change based on the occupied bandwidth and a preset value when the occupied bandwidth is greater than or equal to the upper limit threshold, or when the occupied bandwidth is less than or equal to the lower limit threshold. The preset value represents the expected bandwidth usage of the resource pool used to run the network service.

Citation Information

Patent Citations

  • Resource scheduling method and device

    CN115567537A