CN111355602B - Resource object management method and device - Google Patents

Resource object management method and device Download PDF

Info

Publication number
CN111355602B
CN111355602B CN201811590814.XA CN201811590814A CN111355602B CN 111355602 B CN111355602 B CN 111355602B CN 201811590814 A CN201811590814 A CN 201811590814A CN 111355602 B CN111355602 B CN 111355602B
Authority
CN
China
Prior art keywords
resource
resource object
objects
nfv management
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811590814.XA
Other languages
Chinese (zh)
Other versions
CN111355602A (en
Inventor
曹登京
杜建成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201811590814.XA priority Critical patent/CN111355602B/en
Priority to PCT/CN2019/126428 priority patent/WO2020125698A1/en
Publication of CN111355602A publication Critical patent/CN111355602A/en
Application granted granted Critical
Publication of CN111355602B publication Critical patent/CN111355602B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Stored Programmes (AREA)

Abstract

The application relates to the technical field of communication, and discloses a method and a device for managing resource objects, wherein the method comprises the following steps: the NFV management equipment determines the requirement information of a plurality of resource objects needing to be created; acquiring physical resource information from the resource allocation equipment, and pre-arranging to obtain the deployment position of each resource object in the plurality of resource objects according to the demand information and the physical resource information of the plurality of resource objects, wherein the deployment position of each resource object is used for indicating the physical resources occupied by each resource object; and the NFV management device sends a plurality of resource object creating requests to the resource allocation device, wherein each resource object creating request comprises the deployment position of each resource object. By adopting the method, the NFV management device determines the deployment position of each resource object in advance and creates the resource objects based on the predetermined deployment position, so that a plurality of resource objects can be centrally arranged and optimally deployed in consideration of the whole situation.

Description

Resource object management method and device
Technical Field
The present application relates to the field of communications technologies, and in particular, to a method and an apparatus for managing resource objects.
Background
Network Function Virtualization (NFV) is a technology in which a telecommunication network operator uses generic hardware such as x86 and virtualization technology to carry software processing of many functions and implement part of network functions in a generic high-performance server, switch and storage device, thereby reducing the expensive equipment cost of a network. Various types of existing network devices, such as firewalls, routers, Broadband Remote Access Servers (BRAS), carrier-level network address translation (CG-NAT), and the like, can implement virtualization through the NFV technology.
In a conventional NFV architecture, taking an instantiation scenario of a VNF as an example, when instantiation of a certain VNF is implemented, a VNF manager (VNFmanager, VNFM) may determine, according to an instantiation requirement, requirement information of a Virtual Machine (VM) that needs to be created; and for each VM, determining the deployment position of the VM by a Virtualized Infrastructure Manager (VIM) based on the current physical resource information by adopting a uniform deployment algorithm, and creating the VM at the corresponding deployment position.
However, since the VNFM randomly searches for a deployment location for each VM by using a uniform deployment algorithm, after the VM is created, a large resource fragment may occur in the physical machine, resulting in low resource utilization efficiency.
Disclosure of Invention
In view of this, the present application provides a method and an apparatus for managing resource objects, so as to solve the technical problems of occurrence of large resource fragments and low resource utilization efficiency in the Host.
In a first aspect, an embodiment of the present application provides a method for managing resource objects, including:
the NFV management equipment determines the requirement information of a plurality of resource objects needing to be created;
the NFV management equipment acquires physical resource information from resource allocation equipment, and pre-arranges a deployment position of each resource object in the multiple resource objects according to the demand information of the multiple resource objects and the physical resource information, wherein the deployment position of each resource object is used for indicating physical resources occupied by each resource object;
the NFV management device sends a creation request of the plurality of resource objects to a resource allocation device, the creation request of each resource object including a deployment location of the each resource object. In one example, the creation request of each resource object may further include requirement information of each resource object.
By adopting the method, the NFV management equipment obtains the deployment position of each resource object according to the demand information and the physical resource information of the resource objects in a pre-arranging manner, namely the NFV management equipment determines the deployment position of each resource object in advance, and then creates each resource object based on the predetermined deployment position, so that the multiple resource objects can be subjected to centralized arranging and optimized deploying in a global view; compared with a mode that the resource allocation device randomly searches for the deployment position by adopting a uniform algorithm for each resource object, the deployment positions of the resource objects can be predetermined in an optimization mode before the resource objects are created, and therefore the resource utilization efficiency can be improved.
In one possible design, the deployment location of each resource object includes:
the identifier of the Host where each resource object is located; alternatively, the first and second electrodes may be,
the identification of a Central Processing Unit (CPU) where each resource object is located and the identification of a Host where the CPU is located; alternatively, the first and second electrodes may be,
the identification of a Central Processing Unit (CPU) where each resource object is located, the identification of a Host where the CPU is located, and the identification of a NUMA node where the CPU is located; alternatively, the first and second electrodes may be,
the method comprises the steps of identifying the CPU where each resource object is located, identifying the Host where the CPU is located, identifying the NUMA node where the CPU is located, and allocating the memory to each resource object.
In one possible design, after the NFV management apparatus obtains the deployment location of each resource object in the plurality of resource objects through pre-programming, the NFV management apparatus further includes:
the NFV management device sends a resource reservation request to the resource allocation device, wherein the resource reservation request comprises one or more identifiers of the first Host; the resource reservation request is used for requesting to reserve the one or more first hosts; the identification of the one or more first hosts is derived from a deployment location of each resource object in the plurality of resource objects.
In one possible design, reserving the one or more first hosts includes:
pre-occupying the one or more first hosts, and/or closing the high available HA functions corresponding to the one or more first hosts.
By pre-occupying the one or more first hosts, the one or more first hosts can be prevented from being occupied by other applications, so that a plurality of resource objects cannot be deployed according to the pre-programmed deployment positions; by closing the high-availability HA function corresponding to the one or more first hosts, the resource objects deployed in the one or more first hosts can be effectively prevented from being randomly migrated when the fault occurs, so that resource fragments are generated.
In one possible design, the method further includes:
the NFV management equipment deletes a first resource object after determining that the first resource object has a fault;
the NFV management equipment determines the deployment position of a first resource object to be reconstructed according to the deployment position of the first resource object;
the NFV management device sends a reconstruction request of the first resource object to the resource allocation device, where the reconstruction request includes a deployment location of the first resource object to be reconstructed.
Therefore, in a resource object fault scene, the NFV management device can determine the deployment position of the second resource object to be reconstructed according to the deployment position of the first resource object, so that the generation of resource fragments due to random migration after the resource object is in fault is avoided, and the resource utilization rate is improved.
In one possible design, the first resource object is a business resource object, and the second resource object is a management resource object for managing the first resource object in the plurality of resource objects;
the NFV management device determining that the first resource object fails includes:
and the NFV management equipment receives a fault notification sent by a second resource object, wherein the fault notification is used for indicating that the first resource object has a fault.
In one possible design, the NFV management apparatus determines requirement information of a plurality of resource objects that need to be created, including:
the NFV management device receives an instantiation request of a VNF, wherein the instantiation request comprises a Virtual Network Function Description (VNFD) of the VNF; the NFV management device determines demand information of a plurality of resource objects to be created according to the VNFD of the VNF; alternatively, the first and second electrodes may be,
the NFV management device receives a capacity expansion request of the VNF, wherein the capacity expansion request comprises capacity expansion strategy information; and the NFV management equipment determines the demand information of a plurality of resource objects needing to be created according to the capacity expansion strategy information and the load information of the VNF.
In one possible design, after the NFV managing device sends the request for creating the plurality of resource objects to the resource allocating device, the NFV managing device further includes:
the NFV management equipment receives a capacity reduction request of a VNF, wherein the capacity reduction request comprises capacity reduction strategy information;
the NFV management equipment determines the number of resource objects to be subjected to capacity reduction as M according to the capacity reduction strategy information and the load information of the VNF;
the NFV management equipment determines M resource objects to be subjected to capacity reduction from the multiple resource objects according to the deployment position of each resource object in the multiple resource objects;
and the NFV management device sends a deletion request to the resource allocation device, wherein the deletion request comprises the identifiers of the M resource objects to be subjected to capacity reduction.
In one possible design, the determining, by the NFV management device, M resource objects from the plurality of resource objects according to the deployment location of each resource object in the plurality of resource objects includes:
the NFV management equipment divides the resource objects into N groups of resource objects according to the number of the VMs to be reduced, wherein each group of resource objects in the N groups of resource objects comprises M resource objects;
the NFV management device determines the number of hosts in which each group of resource objects in the N groups of resource objects is located according to the deployment position of each resource object in the plurality of resource objects;
and the NFV management equipment determines a group of resource objects with the minimum number of the hosts as the M resource objects to be subjected to capacity reduction.
Therefore, the resource object to be subjected to capacity reduction is determined by the method, so that the determined resource object to be subjected to capacity reduction can be located on the same Host as much as possible, resource fragments caused by capacity reduction are reduced, and the resource utilization rate is effectively improved.
In one possible design, after the NFV managing device sends the deletion request to the resource allocating device, the method further includes:
the NFV management device sends a resource release request to the resource allocation device, wherein the resource release request comprises identification of one or more second hosts, and the resource release request is used for requesting release of the one or more second hosts; the identifier of the one or more second hosts is obtained according to the deployment position of each resource object in the M resource objects to be condensed.
In this way, after deleting the resource object, the NFV management device sends a resource release request to the resource allocation device, thereby facilitating the physical resource to be used by other applications.
In one possible design, the resource object is a virtual machine VM or a virtual container.
In a second aspect, an embodiment of the present application provides a method for managing resource objects, where the method includes:
the method comprises the steps that a resource allocation device receives a creation request of a plurality of resource objects sent by an NFV management device, wherein the creation request of each resource object in the plurality of resource objects comprises a deployment position of each resource object;
and the resource allocation equipment creates each resource object according to the deployment position of each resource object.
In one possible design, the deployment location of each resource object includes:
the identifier of the Host where each resource object is located; alternatively, the first and second electrodes may be,
the identification of a Central Processing Unit (CPU) where each resource object is located and the identification of a Host where the CPU is located; or, an identifier of a Central Processing Unit (CPU) where each resource object is located, an identifier of a Host where the CPU is located, and an identifier of a NUMA node where the CPU is located; alternatively, the first and second electrodes may be,
the method comprises the steps of identifying the CPU where each resource object is located, identifying the Host where the CPU is located, identifying the NUMA node where the CPU is located, and allocating the memory to each resource object.
In one possible design, the method further includes:
the resource allocation device receives a resource reservation request sent by the NFV management device, wherein the resource reservation request comprises one or more identifiers of a first Host; the identification of the one or more first hosts is obtained according to the deployment position of each resource object in the plurality of resource objects;
the resource allocation device reserves the one or more first hosts.
In one possible design, the resource allocation device reserves the one or more first hosts, including:
the resource allocation device pre-occupies the one or more first hosts, and/or the resource allocation device closes the HA function corresponding to the one or more first hosts.
In one possible design, the method further includes:
the resource allocation device receives a reconstruction request of a first resource object sent by the NFV management device, where the reconstruction request includes a deployment location of the first resource object to be reconstructed;
and the resource allocation equipment reconstructs the first resource object according to the deployment position of the first resource object to be reconstructed.
In one possible design, the method further includes:
the resource allocation device receives a resource release request sent by the NFV management device, where the resource release request includes an identifier of one or more second hosts; the identification of the one or more second hosts is obtained according to the deployment position of each object in the M resource objects to be subjected to capacity reduction;
the resource allocation device releases the one or more second hosts.
In one possible design, the resource object is a VM or a virtual container.
In a third aspect, an embodiment of the present application provides a method for managing resource objects, where the method includes:
the NFV management equipment determines the requirement information of a plurality of resource objects needing to be created;
the NFV management device sends the demand information of the plurality of resource objects to a resource allocation device;
the NFV management device receives a deployment position of each resource object in the plurality of resource objects sent by the resource allocation device, where the deployment position of each resource object is used to indicate a physical resource occupied by each resource object;
the NFV management device sends a creation request of the plurality of resource objects to a resource allocation device, where the creation request of each resource object includes requirement information of each resource object.
In this way, the resource allocation device obtains the deployment position of each resource object according to the requirement information and the physical resource information of the plurality of resource objects in a pre-arranging manner, that is, the resource allocation device determines the deployment position of each resource object in advance, and then creates each resource object based on the predetermined deployment position, so that the plurality of resource objects can be subjected to centralized arrangement and optimized deployment in a global view; compared with a mode that the resource allocation device randomly searches for the deployment position by adopting a uniform algorithm for each resource object, the deployment positions of the resource objects can be predetermined in an optimization mode before the resource objects are created, and therefore the resource utilization efficiency can be improved.
In one possible design, the creation request for each resource object includes a deployment location for the each resource object.
In one possible design, the deployment location of each resource object includes:
the identifier of the Host where each resource object is located; alternatively, the first and second electrodes may be,
the identification of a Central Processing Unit (CPU) where each resource object is located and the identification of a Host where the CPU is located; alternatively, the first and second electrodes may be,
the identification of a Central Processing Unit (CPU) where each resource object is located, the identification of a Host where the CPU is located, and the identification of a NUMA node where the CPU is located; alternatively, the first and second electrodes may be,
the method comprises the steps of identifying the CPU where each resource object is located, identifying the Host where the CPU is located, identifying the NUMA node where the CPU is located, and allocating the memory to each resource object.
In one possible design, after the NFV management device receives the deployment location of each resource object in the plurality of resource objects sent by the resource allocation device, the NFV management device further includes:
the NFV management device sends a resource reservation request to the resource allocation device, wherein the resource reservation request comprises one or more identifiers of the first Host; the resource reservation request is used for requesting to reserve the one or more first hosts; the identification of the one or more first hosts is derived from a deployment location of each resource object in the plurality of resource objects.
In one possible design, the method further includes:
the NFV management equipment deletes a first resource object after determining that the first resource object has a fault; the NFV management equipment determines the deployment position of a first resource object to be reconstructed according to the deployment position of the first resource object; the NFV management device sends a reconstruction request of the first resource object to the resource allocation device, where the reconstruction request includes a deployment location of the first resource object to be reconstructed; alternatively, the first and second electrodes may be,
the NFV management equipment deletes a first resource object after determining that the first resource object has a fault; the NFV management device sends a reconstruction request of a first resource object to a resource allocation object, where the reconstruction request includes demand information of the first resource object.
In one possible design, after the NFV managing device sends the request for creating the plurality of resource objects to the resource allocating device, the NFV managing device further includes:
the NFV management equipment receives a capacity reduction request of a VNF, wherein the capacity reduction request comprises capacity reduction strategy information;
the NFV management equipment determines the number of resource objects to be subjected to capacity reduction as M according to the capacity reduction strategy information and the load information of the VNF;
the NFV management equipment determines M resource objects to be subjected to capacity reduction from the multiple resource objects according to the deployment position of each resource object in the multiple resource objects;
and the NFV management device sends a deletion request to the resource allocation device, wherein the deletion request comprises the identifiers of the M resource objects to be subjected to capacity reduction.
In one possible design, the determining, by the NFV management device, M resource objects from the plurality of resource objects according to the deployment location of each resource object in the plurality of resource objects includes:
the NFV management equipment divides the resource objects into N groups of resource objects according to the number of the VMs to be reduced, wherein each group of resource objects in the N groups of resource objects comprises M resource objects;
the NFV management device determines the number of hosts in which each group of resource objects in the N groups of resource objects is located according to the deployment position of each resource object in the plurality of resource objects;
and the NFV management equipment determines a group of resource objects with the minimum number of the hosts as the M resource objects to be subjected to capacity reduction.
In one possible design, after the NFV managing device sends the deletion request to the resource allocating device, the method further includes:
the NFV management device sends a resource release request to the resource allocation device, wherein the resource release request comprises identification of one or more second hosts, and the resource release request is used for requesting release of the one or more second hosts; the identifier of the one or more second hosts is obtained according to the deployment position of each resource object in the M resource objects to be condensed.
In a fourth aspect, an embodiment of the present application provides a method for managing resource objects, where the method includes:
the method comprises the steps that a resource allocation device receives demand information of a plurality of resource objects sent by an NFV management device;
the resource allocation equipment acquires physical resource information, and pre-arranges the deployment position of each resource object in the plurality of resource objects according to the demand information of the plurality of resource objects and the physical resource information, wherein the deployment position of each resource object is used for indicating physical resources occupied by each resource object;
the resource allocation device sends the deployment position of each resource object in the plurality of resource objects to the NFV management device;
the resource allocation device receives the creation request of the plurality of resource objects sent by the NFV management device, and creates each resource object according to the deployment position of each resource object in the plurality of resource objects.
In one possible design, after the resource allocation apparatus pre-programs the deployment location of each resource object in the plurality of resource objects, the method further includes:
the resource allocation device obtains the identifier of one or more first hosts according to the deployment position of each resource object in the plurality of resource objects, and reserves one or more first hosts.
In one possible design, after the sending, by the resource allocation device, the deployment location of each resource object in the plurality of resource objects to the NFV management device, the method further includes:
the resource allocation device receives a resource reservation request sent by an NFV management device, wherein the resource reservation request comprises one or more identifiers of a first Host; the identification of the one or more first hosts is obtained according to the deployment position of each resource object in the plurality of resource objects;
the resource allocation device reserves the one or more first hosts.
In one possible design, the method further includes:
the method comprises the steps that a resource allocation device receives a reconstruction request of a first resource object sent by an NFV management device, wherein the reconstruction request comprises a deployment position of the first resource object to be reconstructed; the resource allocation equipment reconstructs the first resource object according to the deployment position of the first resource object to be reconstructed; alternatively, the first and second electrodes may be,
the resource allocation device receives a reconstruction request of a first resource object sent by the NFV management device, wherein the reconstruction request includes demand information of the first resource object, the resource allocation device determines a deployment position of the first resource object to be reconstructed according to the deployment position of the first resource object, and reconstructs the first resource object based on the determined deployment position and the demand information of the first resource object.
In one possible design, the method further includes:
the resource allocation device receives a resource release request sent by the NFV management device, where the resource release request includes an identifier of one or more second hosts; the identification of the one or more second hosts is obtained according to the deployment position of each object in the M resource objects to be subjected to capacity reduction;
the resource allocation device releases the one or more second hosts.
In a fifth aspect, an embodiment of the present application provides an apparatus, which may be an NFV management device or a resource allocation device, or may also be a semiconductor chip disposed in the NFV management device or the resource allocation device. The apparatus has the functionality to implement the various possible implementations of the first to fourth aspects described above. The function can be realized by hardware, and can also be realized by executing corresponding software by hardware. The hardware or software includes one or more units or modules corresponding to the above functions.
In a sixth aspect, an embodiment of the present application provides an apparatus, including: a processor and a memory; the memory is configured to store computer executable instructions which, when executed by the apparatus, cause the apparatus to perform the method according to any one of the first aspect or the first aspect, or cause the apparatus to perform the method according to any one of the second aspect or the second aspect, or cause the apparatus to perform the method according to any one of the third aspect or the third aspect, or cause the apparatus to perform the method according to any one of the fourth aspect or the fourth aspect.
In a seventh aspect, this application embodiment further provides a computer-readable storage medium, which stores instructions that, when executed on a computer, cause the computer to perform the method in the above aspects.
In an eighth aspect, embodiments of the present application further provide a computer program product including instructions, which when run on a computer, cause the computer to perform the method of the above aspects.
These and other aspects of the present application will be more readily apparent from the following description of the embodiments.
Drawings
Fig. 1 is a schematic diagram of an NFV architecture according to an embodiment of the present invention;
FIG. 2 is a NUMA topology diagram provided by an embodiment of the invention;
fig. 3 is a schematic flowchart illustrating a corresponding process of a resource object management method according to an embodiment of the present application;
fig. 4 is a schematic flowchart of a resource object management method according to a second embodiment of the present application;
fig. 5 is a schematic flowchart of a corresponding method for managing resource objects according to a third embodiment of the present application;
fig. 6 is a schematic flowchart of a resource object management method according to a fourth embodiment of the present application;
fig. 7 is a schematic flowchart of a resource object management method according to a fifth embodiment of the present application;
fig. 8 is a schematic flowchart of a resource object management method according to a sixth embodiment of the present application;
fig. 9 is a schematic flowchart of a resource object management method according to a seventh embodiment of the present application;
FIG. 10 is a possible exemplary block diagram of the devices involved in the embodiments of the present application;
fig. 11 is a schematic structural diagram of an apparatus according to an embodiment of the present disclosure.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more clear, the present application will be further described in detail with reference to the accompanying drawings.
Referring to fig. 1, an embodiment of the invention provides an NFV architecture. The NFV architecture may implement a variety of networks, such as a Local Area Network (LAN), an Internet Protocol (IP) network, or an Evolved Packet Core (EPC) network. As shown in fig. 1, the NFV architecture may include an NFV management and orchestration system (NFV-MANO) 110, an NFV infrastructure (NFV infrastructure, NFVI)150, a plurality of VNFs 140, a plurality of Element Management Systems (EMS) 130, and one or more operation support systems/business support systems (OSS/BSS) 120.
The NFV-MANO 110 may include an NFV Orchestrator (NFVO Orchester, NFVO)111, one or more VNFM's 112, and one or more VIM's 113; NFVI 150 may include a hardware resource layer composed of computing hardware 1521, storage hardware 1522, network hardware 1523, a virtualization layer, and a virtual resource layer composed of virtual computing 1511 (e.g., virtual machine), virtual storage 1512, and virtual network 1513.
The computing hardware 1521 in the hardware resource layer may be a dedicated processor or a general-purpose processor for providing processing and computing functions, such as a Central Processing Unit (CPU); the storage hardware 1522 is used to provide storage capability, such as a disk or Network Attached Storage (NAS); the network hardware 1523 may be switches, routers, and/or other network devices.
The virtualization layer in the NFVI 150 is used to abstract hardware resources of the hardware resource layer, decouple the VNF140 and a physical layer to which the hardware resources belong, and provide virtual resources to the VNF.
The virtual resource layer may include virtual compute 1511, virtual storage 1512, and virtual network 1513. Virtual computing 1511, virtual storage 1512 may be provided to VNF140 in the form of virtual machines or other virtual containers, e.g., one or more virtual machines comprising one VNF 140. The virtualization layer forms a virtual network 1513 through abstract network hardware 1523. And a virtual network 1513, configured to implement communication between multiple virtual machines or between multiple other types of virtual containers that carry VNFs. The virtual network may be created by using a Virtual Local Area Network (VLAN), a Virtual Private LAN Service (VPLS), a virtual extensible local area network (VxLAN), or a general routing encapsulation Network Virtualization (NVGRE).
The OSS/BSS120 is mainly oriented to telecommunication service operators, and provides integrated network management and service operation functions, including network management (e.g., fault monitoring, network information collection, etc.), billing management, and customer service management.
The NFV-MANO 110 may be used to implement monitoring and management of the VNFs 140 and NFVI 150. The NFVO 111 may communicate with one or more VNFMs 112 to implement resource-related requests, send configuration information to the VNFMs 112, and collect status information of the VNFs 140. In addition, NFVO 111 may also communicate with VIM113 to enable resource allocation and/or to enable reservation and exchange of configuration information and status information for virtualized hardware resources. The VNFM112 may be used to manage one or more VNFs 140, perform various management functions, such as initializing, updating, querying, and/or terminating the VNF 140. VIM113 may be used to control and manage interaction of VNF140 with computing hardware 1521, storage hardware 1522, network hardware 1523, virtual computing 1511, virtual storage 1512, and virtual network 1513. For example, VIM113 may be used to perform resource allocation operations to VNF 140. VNFM112 and VIM113 may communicate with each other to exchange virtualized hardware resource configuration and status information.
NFVI 150 contains hardware and software that together establish a virtualized environment to deploy, manage, and execute VNF 140. That is, the hardware resource layer and the virtual resource layer are used to provide virtual resources, such as virtual machines and/or other forms of virtual containers, to VNF 140.
As shown in fig. 1, VNFM112 may communicate with VNF140 and EMS130 to perform VNF lifecycle management and enable exchange of configuration/state information. VNF140 is a virtualization of at least one network function that was previously provided by a physical network device. In one implementation, the VNF140 may be a virtualized Mobility Management Entity (MME) node configured to provide all network functions provided by a typical non-virtualized MME device. In another implementation, VNF140 may be used to implement the functionality of some of all components provided on a non-virtualized MME device. One VNF140 may be composed of one or more Virtual Network Function Components (VNFCs), which may be virtual machines or other forms of virtual containers. EMS130 may be used to manage one or more VNFs 140.
As can be seen from the above functional discussion of each component in the system architecture of the NFV system, the VNFM112 is used to perform various management functions on the VNF140, such as initializing, updating, querying, and terminating the VNF140, and the VIM113 is used to control and manage the VNF140 to interact with other components, so if one VNF140 is implemented, the VNFM112 and the VIM113 must cooperate, and therefore, the VNFM112 and the VIM113 can communicate with each other to exchange virtualized hardware resource configuration and status information, where the VNFM112 and the VIM113 establish communication connection through an interface.
Based on the NFV architecture illustrated in fig. 1, for example, in a scenario such as instantiation of a VNF or capacity expansion of the VNF, after the VNFM determines requirement information of multiple VMs to be created, the deployment location of the VM is determined by the VIM, and the VIM generally determines the deployment location of the VM based on a unified deployment algorithm. Because the deployment algorithm cannot comprehensively consider the VMs to be created in the future, and can only plan the deployment position of the VMs one by one according to the current situation, resource fragments may occur in the Host, and the resource utilization efficiency is low.
Based on this, the embodiment of the present application provides a method for managing resource objects, which is used to solve the technical problems that resource fragments may occur in a Host and resource utilization efficiency is low after a uniform deployment algorithm is used to determine a deployment position of a VM and create the VM.
Hereinafter, some terms in the present application are explained to facilitate understanding by those skilled in the art.
(1) Host (Host): which may also be referred to as a physical machine, is an entity device that may carry a resource object, such as a computer, a server, and so on.
(2) Non-uniform memory access architecture (NUMA): the processor and the memory are divided into different nodes (nodes), the internal local memory of the nodes can be accessed through own memory buses, and all the nodes can access the remote memories of other nodes through shared buses on the mainboard. FIG. 2 is a NUMA topology diagram, as shown in FIG. 2, including four nodes, node 1, node 2, node 3, and node 4, each including two CPUs and a memory.
(3) Pod: which may be understood as the smallest unit managed or created. A Pod may be a logical host in a container environment that may contain one or more closely coupled applications, which may be on the same physical or virtual machine.
(4) The NFV management apparatus: taking VNF instantiation scenario as an example, the NFV management device may be a device that receives a VNF instantiation request during VNF instantiation, and generates a creation request for each resource object of at least one resource object of the VNF. The NFV control device may be an NFVO 111 and/or a VNFM112 in the NFV architecture shown in fig. 1.
(5) The resource allocation device: taking VNF instantiation scenario as an example, the resource allocation device may be a device that receives a creation request of a resource object and creates the resource object based on the creation request. The resource allocation device may be VIM113 in the NFV architecture shown in fig. 1.
(6) Resource object: may be a VM or a virtual container (virtualized container), and it is understood that the resource object may also be other possible virtual units, such as a Pod, which is not specifically limited in this embodiment of the present application.
(7) High Availability (HA) functionality: an automatic failover mechanism, for example, multiple hosts can be regarded as a failover cluster, and when a certain Host in the cluster fails, a resource object (e.g., a VM) located on the Host can be automatically migrated to another available Host in the cluster for restart.
(8) The various numbers of the first, second, etc. mentioned in the embodiments of the present application are only used for the convenience of description and are not used to limit the scope of the embodiments of the present application, nor to indicate the sequence. "and/or" describes the association relationship of the associated objects, meaning that there may be three relationships, e.g., a and/or B, which may mean: a exists alone, A and B exist simultaneously, and B exists alone. "at least one" means one or more. At least two means two or more. "at least one," "any," or similar expressions refer to any combination of these items, including any combination of singular or plural items. For example, at least one (one ) of a, b, or c, may represent: a, b, c, a-b, a-c, b-c, or a-b-c, wherein a, b, c may be single or multiple.
Example one
Fig. 3 is a flowchart illustrating a corresponding method for managing a resource object according to an embodiment of the present application, where as shown in fig. 3, the method includes:
in step 301, the NFV management apparatus determines requirement information of a plurality of resource objects that need to be created.
Here, the NFV management apparatus may determine the implementation manner of the requirement information of the plurality of resource objects that need to be created in various ways. The multiple resource objects that need to be created may belong to the same VNF or may also belong to different VNFs.
In one possible implementation manner, after receiving an instantiation request of a VNF, the NFV management device may determine, according to a VNFD of the VNF included in the instantiation request, requirement information of a plurality of resource objects that need to be created. For example, after receiving the instantiation request of the VNF1, the NFV management device determines, according to the VNFD of the VNF1, requirement information of resource objects (including the resource object a0 to the resource object a9) that need to be created, where a plurality of resources (i.e., the resource object a0 to the resource object a9) belong to the same VNF, i.e., the VNF 1. For another example, after receiving instantiation requests of VNF2 and VNF3, the NFV management device determines, according to VNFD of VNF2, requirement information of resource objects (including resource object b0 to resource object b9) that need to be created, and determines, according to VNFD of VNF3, requirement information of resource objects (including resource object c0 to resource object c9) that need to be created, at this time, a plurality of resources (i.e., resource object b0 to resource object b9, resource object c0 to resource object c9) belong to different VNFs, where resource object b0 to resource object b9 belong to VNF2, and resource object c0 to resource object c9 belong to VNF 3.
In this embodiment, the VNFD of the VNF may include a default _ flag, information of a plurality of VDUs, a virtual _ link, a connection _ point, a dependency, and an affinity/anti-affinity. The parameters included in VNFD are briefly described below: the deployment _ flag specifies the deployment mode of the VNF, for example, the deployment mode is divided into three types, i.e., large, medium, and small: in a large deployment mode, the NFV management device needs to deploy a resource object with a higher specification (such as a virtual machine with a large hard disk and a large memory), or deploy a larger number of resource objects; in the medium deployment mode, resource objects with moderate specification or resource objects with moderate deployment quantity are adopted; in the small deployment mode, resource objects with lower specifications or resource objects with less deployment quantity are adopted. The information of a VDU specifies a specification of a resource object, for example, the specification of the resource object may include at least one of the number of CPUs, the CPU performance, the memory size, the bandwidth, and the storage size of the resource object (such as a virtual machine). The virtual _ link specifies the attributes of the virtual link between the different resource objects constituting the VNF and the external virtual link of the VNF, including the link type (e.g., tree type), the link bandwidth, and the like. connection _ point specifies an internal port and an external connection port of the VNF, and in different application environments, the types of the ports are different, for example, the ports may be two-layer ports (which interact using a Media Access Control (MAC) address) or three-layer ports (which interact using an Internet Protocol (IP) address), and the ports are associated with virtual _ link, so that the network connection condition of the VNF is completely described; dependency specifies the dependency between resource objects to indicate the instantiation order of different resource objects during deployment, i.e. a depended resource object needs to be instantiated first, and after the depended resource object is started, other resource objects can be instantiated. The affinity/anti-affinity indicates an affinity attribute of a resource object, wherein the affinity indicates that the indicated resource object needs to be deployed on the same Host, and the anti-affinity indicates that the indicated resource object cannot be deployed on the same Host.
For example, the requirement information of the resource object may include the specification of the resource object, so that the NFV management device may determine the information of the plurality of VDUs; for another example, the requirement information of the resource object may include the specification and affinity of the resource object, so that the NFV management device may obtain the requirement information of the multiple resource objects according to the information of the multiple VDUs and affinity/anti-affinity. It is understood that the requirement information of the resource object may also include other possible information, and is not limited specifically.
In this embodiment, the VNFD of the VNF may further include a redundancy specification, and the NFV management device may further obtain the redundancy specification from the VNFD. Specifically, the multiple resource objects may have different specifications, for example, for a certain specification of resource objects, the redundancy specification of the resource object may be 5:1, and if the VNF needs to create 10 resource objects of the specification, in step 303, the NFV management apparatus may pre-program 12 deployment locations of the resource objects of the specification, where the deployment locations of 2 resource objects are the redundancy locations of the resource objects of the specification.
In another possible implementation manner, after receiving the capacity expansion request of the VNF, the NFV management device may determine, according to capacity expansion policy information included in the capacity expansion request and load information of the VNF, demand information of a plurality of resource objects that need to be created. Here, the NFV management device may determine the requirement information of the plurality of resource objects that need to be created after receiving the capacity expansion request of the one or more VNFs. The capacity expansion policy information may be set by an operator, and specific implementation of determining the requirement information of the plurality of resource objects to be created according to the capacity expansion policy information and the load information of the VNF may refer to the prior art and is not described in detail.
It should be noted that, in the instantiation scenario of the VNF and the capacity expansion scenario of the VNF, the multiple resource objects to be created may include a management resource object and a business resource object, or may also include only a business resource object; wherein a managed resource object may be used to manage one or more business resource objects. In the embodiment of the present application, since the creation processes of the management resource object and the business resource object are similar, the management resource object and the business resource object are not specifically distinguished in the following description.
Step 302, the NFV management device obtains physical resource information from the resource allocation device.
Here, the NFV management device may send a request message for acquiring physical resource information to the resource allocation device through a preset interface; accordingly, the resource allocation device may feed back a response message to the NFV management device, where the response message includes the physical resource information.
The physical resource information may include an identifier (such as an ID) of the Host, an identifier of the NUMA node, CPUs on the NUMA node, a memory corresponding to the NUMA node, idle CPUs in the NUMA node, and an idle memory corresponding to the NUMA node. As shown in table 1, is an example of physical resource information.
Table 1: physical resource information examples
Figure BDA0001920214220000101
Figure BDA0001920214220000111
Step 303, the NFV management device pre-arranges the deployment position of each resource object in the multiple resource objects according to the demand information and the physical resource information of the multiple resource objects, where the deployment position of each resource object is used to indicate the physical resource occupied by each resource object.
Specifically, the NFV management device may obtain the deployment position of each resource object in the plurality of resource objects through pre-arrangement in various specific implementation manners, for example, the NFV management device may obtain the deployment position of each resource object in the plurality of resource objects through a multiple-round iterative optimization algorithm according to the requirement information and the physical resource information of the plurality of resource objects.
It should be noted that, in the embodiment of the present application, before creating a plurality of objects, the NFV management device comprehensively considers the requirement information and the physical resource information of each resource object to pre-program the deployment position of each resource object, so as to avoid the problem of resource fragmentation caused by the resource allocation device adopting a uniform deployment algorithm to randomly find the deployment position for each resource object. The specific pre-arrangement mode may not be limited.
In one example, the deployment location of each resource object includes any of: (1) the mark of the Host where each resource object is located; (2) the identification of the CPU where each resource object is located and the identification of the Host where the CPU is located; (3) the identification of a CPU where each resource object is located, the identification of a Host where the CPU is located, and the identification of a NUMA node where the CPU is located; (4) the method comprises the steps of identifying a CPU where each resource object is located, identifying a Host where the CPU is located, identifying a NUMA node where the CPU is located, and allocating memory to each resource object, wherein the memory allocated to each resource object refers to the memory allocated to each resource object on the NUMA node. It is understood that the above is only an example, and in other possible embodiments, the deployment location of the resource object 1 may further include other information, which is not limited specifically.
After the NFV management device obtains the deployment location of each resource object through pre-arrangement, the NFV management device may store the topology relationship table of the plurality of resource objects. As shown in table 2, is an example of a topological relationship table for a plurality of resource objects.
Table 2: multiple resource object topological relation representation example
Figure BDA0001920214220000112
In table 2, taking resource object 1 as an example, it can be seen that the CPU in which resource object 1 is located is CPU0, the NUMA node in which CPU0 is located is node 1, the Host in which CPU0 is located is Host1, and the memory allocated to resource object 1 is 20G, that is, the memory allocated to resource object 1 on node 1 is 20G. Taking fig. 2 as an example, since the storage on the node 1 is the storage 1, the memory allocated to the resource object 1 can be understood as the memory allocated to the resource object 1 in the storage 1.
The contents shown in the last four columns of table 2 are the deployment locations of the resource objects. The NFV management device may update the table 2 under the trigger of a preset condition, where the preset condition may be that a deployment position of a certain resource object changes, or that one or more resource objects are deleted, or that one or more resource objects are added, and the like, and is not limited specifically.
In this embodiment of the present application, the NFV management device may further send a resource reservation request to the resource allocation device, where the resource reservation request may include one or more identifiers of the first Host, and further may further include a reservation indication, and the reservation indication may be a pre-occupation indication and/or an indication for closing the HA function. The identifier of the one or more first hosts is obtained according to the deployment location of each resource object in the plurality of resource objects, and in one example, the identifier of the one or more first hosts is an identifier of a Host in which the plurality of resource objects are located. For example, the plurality of resource objects are respectively resource object 1 to resource object 10, and according to the deployment position of each resource object in the plurality of resource objects, the Host where resource object 1 and resource object 2 are located is Host1, the Host where resource object 3 and resource object 4 are located is Host2, the Host where resource object 5 and resource object 6 are located is Host3, the Host where resource object 7 and resource object 8 are located is Host4, the Host where resource object 9 is Host5, and the Host where resource object 10 is located is Host 6; as such, one or more first hosts may be derived including Host1, Host2, Host3, Host4, Host5, and Host 6.
In this embodiment of the present application, one or more first hosts may be understood as a resource pool (or may also be referred to as a Host group), and thus, the resource reservation request may further include an identifier of the resource pool.
Correspondingly, after receiving the resource reservation request, the resource allocation object may reserve one or more first hosts according to the identifiers of the one or more first hosts included in the resource reservation request. In one example, reserving the one or more first hosts may include pre-occupying the one or more first hosts, such that the one or more first hosts may be avoided from being occupied by other applications; in yet another example, reserving the one or more first hosts may include turning off highly available HA functions corresponding to the one or more first hosts, so that arbitrary migration of resource objects deployed in the one or more first hosts when a failure occurs may be effectively avoided. In yet another example, reserving the one or more first hosts may include pre-occupying the one or more first hosts and turning off high available HA functions corresponding to the one or more first hosts.
Step 304, the NFV management apparatus sends a creation request of the plurality of resource objects to the resource allocation apparatus, where the creation request of each resource object includes a deployment location of each resource object.
Accordingly, in step 305, the resource allocation device receives a creation request for each resource object and creates each resource object according to its deployment location.
Here, taking the resource object 1 as an example, the creation request of the resource object 1 may include an identifier (such as Host1) of a Host where the resource object 1 is located, and further may include requirement information of the resource object 1. In this manner, the resource allocation apparatus can create the resource object 1 on the Host1 according to the demand information of the resource object 1.
By adopting the method, the NFV management equipment obtains the deployment position of each resource object according to the demand information and the physical resource information of the resource objects in a pre-arranging manner, namely the NFV management equipment determines the deployment position of each resource object in advance, and then creates each resource object based on the predetermined deployment position, so that the multiple resource objects can be subjected to centralized arranging and optimized deploying in a global view; compared with a mode that the resource allocation device randomly searches for the deployment position by adopting a uniform algorithm for each resource object, the deployment positions of the resource objects can be predetermined in an optimization mode before the resource objects are created, and therefore the resource utilization efficiency can be improved.
The above steps 301 to 305 describe the creation process of multiple resource objects in the instantiation scene of the VNF or the capacity expansion scene of the VNF, and after multiple resource objects are created, the resource objects may fail, or the VNF may also need to perform capacity reduction, and the following description is given for the failure scene of the resource objects and the capacity reduction scene of the VNF.
(1) Failure scenarios for resource objects
In this embodiment of the application, if, in the process of creating a plurality of resource objects, the NFV management device requests the resource allocation device to close one or more HA functions corresponding to the first Host, after the plurality of resource objects are created, the NFV management device may request the resource allocation device to open one or more HA functions corresponding to the first Host, so that the resource objects deployed on the one or more first hosts may be self-healed through the HA functions after the resource objects fail. Specifically, the NFV management device may send a resource release request to the VIM, where in an example, the resource release request includes one or more first Host identifiers and an indication to open the HA function; in another example, if the resource reservation request sent by the NFV management device includes an identifier of a resource pool, the resource release request may also include the identifier of the resource pool and an indication to start an HA function, without carrying one or more first Host identifiers, so as to save transmission resources.
Alternatively, the NFV management device may not open one or more HA functions corresponding to the first Host, in this case, the embodiment of the present application further provides a reconstruction method for a resource object after a failure (including step 306 and step 307), which is described in detail below with reference to step 306 and step 307.
Step 306, after determining that the first resource object fails, the NFV management device may delete the first resource object, and determine a deployment position of the first resource object to be reconstructed according to the deployment position of the first resource object; the NFV management device sends a reconstruction request of the first resource object to the resource allocation device, where the reconstruction request includes a deployment location of the first resource object to be reconstructed. Accordingly, in step 307, the resource allocation device receives a reconstruction request of the first resource object, and reconstructs the first resource object according to the deployment location of the first resource object to be reconstructed. It is to be understood that the request for reconstruction of the first resource object may also include requirement information for the first resource object.
For example, the port and the data disk may be released first, and then the first resource object is deleted.
There are various ways in which the NFV management device determines that a resource object has failed. In one example, the NFV management device may monitor the statuses of the plurality of resource objects, for example, may monitor the statuses of the plurality of resource objects through a heartbeat mechanism, and may determine that the first resource object fails to timely feed back a heartbeat response if the first resource object fails to timely feed back the heartbeat response. In yet another example, the plurality of resource objects includes a management resource object and a business resource object; the NFV management device may monitor a state of the management resource object, for example, the NFV management device may monitor a state of the management resource object through a heartbeat mechanism, and the NFV management device may monitor a state of the service resource object through the management resource object; for example, the first resource object is a service resource object, the second resource object is a management resource object used for managing the first resource object in the plurality of resource objects, and after determining that the first resource object fails, the second resource object may send a failure notification (for indicating that the first resource object fails) to the NFV management device, so that the NFV management device may determine that the first resource object fails.
There may be various reasons for the failure of the first resource object, for example, the resource allocation device changes the first Host to the second Host, which may cause the failure of the resource object (e.g., the first resource object) deployed on the first Host. For such a failure situation, in a possible example, the specifications of the first Host and the second Host are the same, and the identifiers of the first Host and the second Host are the same, the NFV management device may use the deployment location of the first resource object as the deployment location of the first resource object to be reconstructed, and send a reconstruction request of the first resource object to the resource allocation device; accordingly, after receiving the reconstruction request, the resource allocation device may create the first resource object on the second Host according to the deployment location of the first resource object to be reconstructed. In this example, since the identifiers of the first Host and the second Host are the same, it can be understood that the deployment location of the reconstructed first resource object is the same as the deployment location of the first resource object before reconstruction.
In another possible example, the specifications of the first Host and the second Host are the same, and the identifiers of the first Host and the second Host are different, that is, the resource allocation device deletes the identifier of the original Host, and reconstructs and adds a new identifier of the Host, which is equivalent to newly expanding a Host. The resource allocation device may synchronize the replaced physical resource information (such as the identifier of the second Host) to the NFV management device. After determining that the first resource object fails, the NFV management device may obtain an idle Host (for example, a second Host) with the same specification as the first Host, determine a deployment location (which may include an identifier of the second Host) of the first resource object to be reconstructed, and further send a reconstruction request of the first resource object to the resource allocation device; accordingly, after receiving the reconstruction request, the resource allocation device may create the first resource object on the second Host according to the deployment location of the first resource object to be reconstructed. It should be noted that, in this example, because the identifiers of the first Host and the second Host are different, it may be understood that the deployment position of the reconstructed first resource object is different from the deployment position of the first resource object before reconstruction, in this case, the NFV management device may further update the deployment position of the first resource object in the topological relation table of the resource object, so as to ensure the accuracy of the topological relation table.
According to the two examples, when the Host is replaced by the resource allocation device and the first resource object fails, the NFV management device may determine the deployment position of the second resource object to be reconstructed according to the deployment position of the first resource object, and then complete the reconstruction of the first resource object. In other possible implementation manners, for example, if the deployment position of the resource object pre-programmed by the NFV management device includes the redundant position, after determining that the redundant position meets the requirement information of the first resource object, the NFV management device may also use the redundant position as the deployment position of the first resource object to be reconstructed, thereby completing the reconstruction of the first resource object.
It can be understood that, the above is only an example of a case where the first resource object fails due to the replacement of the Host by the resource allocation device, and the method for reconstructing the resource object provided in the embodiment of the present application may also be applied to a case where the resource object fails due to other reasons, which is not limited specifically.
(2) Capacity reduction scenario for VNF
The embodiment of the present application further provides a processing method (including step 308 and step 309) in the VNF capacity reduction scenario, which is described in detail below with reference to step 308 and step 309.
Step 308, the NFV management device receives a capacity reduction request of the VNF, where the capacity reduction request includes capacity reduction policy information; the capacity reduction policy information may be set by an operator, and is not limited specifically. The NFV management equipment determines the number of resource objects to be subjected to capacity reduction as M according to the capacity reduction strategy information and the load information of the VNF, wherein M is an integer greater than or equal to 1; the load information of the VNF may be acquired by the NFV management device from the VNF. The NFV management equipment determines M resource objects to be subjected to capacity reduction from the multiple resource objects according to the deployment position of each resource object in the multiple resource objects, and sends a deletion request to the resource allocation equipment, wherein the deletion request comprises the identifiers of the M resource objects to be subjected to capacity reduction. Accordingly, in step 309, the resource allocation apparatus may delete the M resource objects to be condensed according to the deletion request.
The NFV management device determines, from the multiple resource objects, specific implementation manners of M resource objects to be capacity-reduced, where one possible implementation manner is: the NFV management equipment divides a plurality of resource objects into N groups of resource objects according to the number of VMs to be subjected to capacity reduction, wherein each group of resource objects in the N groups of resource objects comprises M resource objects; the NFV management equipment determines the number of Host in which each group of resource object in the N groups of resource objects is located according to the deployment position of each resource object in the plurality of resource objects; the NFV management device determines a group of resource objects with the minimum number of the hosts as M resource objects to be subjected to capacity reduction. Here, if the number of hosts in which two or more sets of resource objects exist is the minimum, one of the sets of resource objects may be randomly selected and determined as M resource objects to be condensed.
For example, the VNF to be scaled is VNF1, and VNF1 includes 5 resource objects, which are resource pairs respectivelyThe objects 1 to 5, wherein the Host where the resource object 1 and the resource object 2 are located is Host1, and the Host where the resource object 3, the resource object 4 and the resource object 5 are located is Host 2; determining the number of resource objects to be scaled to be 3 (i.e. M is 3) according to the scaling policy information and the load information of the VNF, and thus obtaining C5 3For example, the number of the hosts in which the first group of resource objects (including resource object 1, resource object 2, and resource object 3) is located is 2(Host1 and Host2), the number of the hosts in which the second group of resource objects (including resource object 1, resource object 3, and resource object 5) is 2(Host1 and Host2), … …, and the number of the hosts in which the tenth group of resource objects (including resource object 3, resource object 4, and resource object 5) is 1(Host 2). According to the number of the hosts where the 10 groups of resource objects are located, the group of resource objects with the smallest number of the hosts is the tenth group of resource objects, and at this time, the 3 resource objects to be subjected to capacity reduction are obtained as the resource object 3, the resource object 4 and the resource object 5.
It should be noted that, the above describes one VNF by way of example, and it is understood that, in this embodiment, two or more VNFs may also be reduced, and are not limited specifically.
By adopting the method to determine the resource object to be subjected to capacity reduction, the determined resource object to be subjected to capacity reduction can be positioned on the same Host as much as possible, so that resource fragments caused by capacity reduction are reduced, and the resource utilization rate is effectively improved.
In the embodiment of the application, after the NFV management device determines M resource objects to be contracted and sends a deletion request to the resource allocation device, the NFV management device may also send a resource release request to the resource allocation device, where the resource release request includes one or more second Host identifiers, and further includes a reservation indication, where the reservation indication may be an indication to release pre-occupation and/or an indication to open an HA function; the identifiers of the one or more second hosts are obtained according to the deployment positions of the M resource objects to be subjected to capacity reduction, and in one example, the identifiers of the one or more second hosts are identifiers of hosts where the M resource objects to be subjected to capacity reduction are located. For example, following the above example, if the 3 resource objects to be condensed are resource object 3, resource object 4, and resource object 5, the resource release request may include the identifier of Host 2. Accordingly, the resource allocation device may release the one or more second hosts (i.e., Host2) after receiving the resource release request. In one example, releasing the one or more second hosts may include pre-empting the one or more second hosts; in yet another example, releasing the one or more second hosts may include turning on HA functions corresponding to the one or more second hosts. In yet another example, releasing the one or more second hosts may include pre-empting the one or more second hosts and turning on HA functions corresponding to the one or more second hosts.
It should be noted that the resource release request may correspond to the resource reservation request described above, for example, if the resource reservation request is used to request to close one or more HA functions corresponding to the first Host, the resource release request here may be used to request to open one or more HA functions corresponding to the second Host; if the resource reservation request is used for requesting pre-occupation of one or more first hosts, the resource release request here can be used for requesting pre-occupation of one or more second hosts. If the resource reservation request is used to request pre-occupation of one or more first hosts and closing of one or more HA functions corresponding to the first hosts, the resource release request herein may be used to request pre-occupation removal of one or more second hosts and opening of one or more HA functions corresponding to the second hosts.
In the embodiment of the present application, in order to further reduce resource fragmentation, the NFV management device may also perform orchestration on deployment positions of resource objects deployed on a Host that is not reserved, for example, after a resource object 1b is deployed on Host1a and a resource object 2b is deployed on Host2a, and after determining that idle resources on Host1a meet requirement information of the resource object 2b, the NFV management device may migrate the resource object 2b to Host1a on the premise that service influence is acceptable, so as to reduce resource fragmentation on Host1 a. By adopting the method, the NFV management equipment actively arranges the deployment positions of the created resource objects and carries out gradual migration on the resource objects, thereby more effectively reducing fragmented resources, facilitating the deployment of more resource objects and improving the resource utilization rate.
The functions performed by the NFV management apparatus described in the first embodiment above may be performed by the VNFM in the NFV architecture alone; or, the VNFM and the NFVO in the NFV architecture may be jointly completed, that is, the VNFM and the NFVO perform part of functions thereof, for example, the foregoing steps 301 to 303 may be performed by the NFVO, in this case, the NFVO may send the deployment location of each resource object obtained by pre-arrangement to the VNFM, and then the VNFM performs step 304, and further, the VNFM may send the resource reservation request to the resource allocation device, or the NFVO may send the resource reservation request to the resource allocation device. This is not particularly limited in the embodiments of the present application.
Example two
In the first embodiment, the NFV management device pre-arranges the deployment locations of the multiple resource objects, and in this embodiment, the resource allocation device may also pre-arrange the deployment locations of the multiple resource objects, which is described below with reference to the implementation of pre-arranging the deployment locations of the multiple resource objects by two pairs of resource allocation devices in the first embodiment.
Fig. 4 is a flowchart illustrating a corresponding method for managing resource objects according to a second embodiment of the present application, where as shown in fig. 4, the method includes:
in step 401, the NFV management apparatus determines demand information of a plurality of resource objects that need to be created. The specific implementation can refer to step 301 described above.
Step 402, the NFV management device sends the demand information of the plurality of resource objects to the resource allocation device.
Step 403, after receiving the demand information of the multiple resource objects, the resource allocation device obtains physical resource information, and pre-arranges the deployment position of each resource object in the multiple resource objects according to the demand information of the multiple resource objects and the physical resource information, where the deployment position of each resource object is used to indicate the physical resource occupied by each resource object. Here, for a specific implementation of the resource allocation device pre-arranging the deployment locations of the multiple resource objects, reference may be made to the description of the NFV management device pre-arranging the deployment locations of the multiple resource objects in the first embodiment.
Step 404, the resource allocation device sends the deployment location of each resource object in the plurality of resource objects to the NFV management device.
In this embodiment of the present application, after the resource allocation device obtains the deployment locations of the plurality of resource objects through pre-arrangement, one or more first hosts (one or more first hosts may be hosts where the plurality of resource objects are located) may be reserved directly based on the deployment locations of the plurality of resource objects, for example, pre-occupying the one or more first hosts and/or closing HA functions corresponding to the one or more first hosts; alternatively, the resource allocation device may also reserve one or more first hosts after receiving the resource reservation request sent by the NFV management device. And is not particularly limited.
Step 405, after receiving the deployment location of each resource object in the multiple resource objects, the NFV management device sends a creation request of the multiple resource objects to the resource allocation device, where the creation request of each resource object includes the requirement information of each resource object. Here, the creation request of each resource object may further include a deployment location of each resource object.
In an example, if the resource allocation device obtains the deployment location of each resource object in the plurality of resource objects through pre-programming and stores the deployment location in the local, the creation request of each resource object sent by the NFV management device may not include the deployment location of each resource object. This is not particularly limited in the embodiments of the present application.
In step 406, the resource allocation device receives a request for creating a plurality of resource objects sent by the NFV management device, and creates a plurality of resource objects according to the deployment location of each resource object in the plurality of resource objects.
It should be noted that, regarding the above process, the difference between the second embodiment and the first embodiment is: in the second embodiment, the NFV management device sends the demand information of the plurality of resource objects to the resource allocation device, and the resource allocation device pre-arranges the deployment locations of the plurality of resource objects according to the demand information and the physical resource information of the plurality of resource objects, whereas in the first embodiment, the NFV management device obtains the physical resource information from the resource allocation device and pre-arranges the deployment locations of the plurality of resource objects according to the demand information and the physical resource information of the plurality of resource objects. That is, the execution bodies pre-marshalling the deployment locations of the plurality of resource objects differ. In addition to the difference, reference may be made to steps 301 to 305 in the first embodiment.
After creating the plurality of resource objects, the method may further include:
step 407, after determining that the first resource object fails, the NFV management device deletes the first resource object, and sends a reestablishment request of the first resource object to the resource allocation object, where the reestablishment request includes requirement information of the first resource object.
Step 408, the resource allocation device receives the reconstruction request of the first resource object sent by the NFV management device, determines the deployment position of the first resource object to be reconstructed according to the deployment position of the first resource object, and reconstructs the first resource object based on the determined deployment position and the requirement information of the first resource object.
It should be noted that, step 407 and step 408 are one possible processing manner in the scenario where the first resource object fails. It is understood that, in the second embodiment, other possible processing manners may also be adopted, for example, the step 306 and the step 307 in the first embodiment may also be adopted, and are not limited specifically.
Further, steps 407 and 408 differ from steps 306 and 307 in that: the former is the determination of the deployment position of the first resource object to be reconstructed by the NFV management device based on the deployment position of the first resource object, and the latter is the determination of the deployment position of the first resource object to be reconstructed by the resource allocation device based on the deployment position of the first resource object. That is, the execution subject of determining the deployment location of the first resource object to be reconstructed is different. Except for this difference, the steps 306 and 307 in the first embodiment may be referred to for execution.
Step 409, the NFV management device receives a capacity reduction request of the VNF, where the capacity reduction request includes capacity reduction policy information; the NFV management equipment determines the number of resource objects to be subjected to capacity reduction as M according to the capacity reduction strategy information and the load information of the VNF; and the NFV management equipment sends the number of the resource objects to be reduced to the resource allocation equipment.
Step 410, after the resource allocation device receives the number of the resource objects to be scaled down, according to the deployment position of each resource object in the plurality of resource objects, determining M resource objects to be scaled down from the plurality of resource objects, and deleting the M resource objects to be scaled down.
It should be noted that, the steps 409 and 410 are one possible processing manner in the capacity reduction scenario of the VNF. It is understood that, in the second embodiment, other possible processing manners may also be adopted, for example, the steps 308 and 309 in the first embodiment may also be adopted, and are not limited specifically.
Further, steps 409 and 410 are different from steps 308 and 309 in that: the former is that M resource objects to be condensed are determined by the NFV management device based on the number of resource objects to be condensed and the deployment positions of the plurality of resource objects, and the latter is that M resource objects to be condensed are determined by the resource allocation device based on the number of resource objects to be condensed and the deployment positions of the plurality of resource objects. That is, it is determined that the execution bodies of the M resource objects to be condensed are different. Except for this difference, the steps 308 and 309 in the first embodiment can be performed.
It can be seen that the difference between the second embodiment and the first embodiment is mainly that the main body performing the related action may be different, and all the contents except the difference can be referred to each other.
As can be seen from the above, in the second embodiment, the resource allocation device obtains the deployment position of each resource object according to the requirement information and the physical resource information of the plurality of resource objects by pre-arranging, that is, the resource allocation device determines the deployment position of each resource object in advance, and then creates each resource object based on the predetermined deployment position, so that the plurality of resource objects can be centrally arranged and optimally deployed in consideration of the global situation; compared with a mode that the resource allocation device randomly searches for the deployment position by adopting a uniform algorithm for each resource object, the deployment positions of the resource objects can be predetermined in an optimization mode before the resource objects are created, and therefore the resource utilization efficiency can be improved.
In the following, a possible interaction flow related to the resource object management method is described with reference to the third to seventh embodiments, respectively.
EXAMPLE III
Fig. 5 is a flowchart illustrating a corresponding method for managing a resource object according to a third embodiment of the present application, and mainly relates to an instantiation scenario of a VNF, where as shown in fig. 5, the method includes:
in step 501, the operator calculates the required resource object based on the system specification and fills in the VNFD. For example, if the operator determines that a VNF needs to be instantiated, configuration information of the VNF may be filled in the VNFD.
In step 502, the VNFD is uploaded so that the VNFM can obtain the VNFD. Specifically, the VNFD may be manually uploaded to the VNFM by an operator, or the VNFD may also be uploaded to the VNFM through the NFVO by an OSS/BSS or other network management entity in the NFV architecture.
In step 503, the VNF installation package is uploaded, so that the VNFM can acquire the VNF installation package. Specifically, the VNF installation package may be manually uploaded to the VNFM by an operator, or the VNF installation package may also be uploaded to the VNFM through the NFVO by an OSS/BSS or other network management entity in the NFV architecture.
In step 504, the VNF instantiation process is started.
Step 505, the VNFM determines, according to the VNFD of one or more VNFs, demand information of a plurality of resource objects that need to be created.
Here, the VNFM can determine the number of resource objects that need to be created and the requirement information of each resource object according to the VNFD. The resource object to be created may include a management resource object and a business resource object, and is not particularly limited; the requirement information of the resource object may include a specification and an affinity attribute of the resource object, and the specification of the resource object may include at least one of the number of CPUs of the resource object, the CPU performance, the memory size, the bandwidth, and the storage size, which is not particularly limited. For example, the VNFM can determine that 10 resource objects (2 management resource objects and 8 business resource objects) need to be created according to the VNFD.
Step 506, the VNFM acquires the physical resource information from the VIM, and obtains the deployment location of each resource object in the plurality of resource objects according to the demand information and the physical resource information of the plurality of resource objects. Here, after the VNFM pre-programs the deployment location of each resource object, the deployment location of each resource object may be stored in a form of a topological relation table (e.g., table 2).
In step 507, the VNFM sends a resource reservation request to the VIM, where the resource reservation request may include an identifier of one or more first hosts (i.e., hosts where multiple resource objects are located), and further may include an indication of preemption and an indication of closing the HA function.
Step 508, after receiving the resource reservation request, the VIM reserves one or more first hosts, i.e., pre-occupies the one or more first hosts, and closes the HA function corresponding to the one or more first hosts.
In step 509, the VNFM may send a create request to the VIM for the management resource object, where the create request includes the deployment location of the management resource object. Here, following the above example, the description is made only by taking the creation of one of the management resource objects as an example.
Step 510, the VIM deploys the managed resource object according to the deployment location of the managed resource object.
In step 511, the VIM returns a create response to the VNFM indicating that the management resource object has been created.
In step 512, the VNFM starts the management resource object on the VNF based on the image of the management resource object.
In step 513, the VNF determines that the start of the management resource object is complete.
In step 514, the VNF sends a request to download the VNF installation package to the VNFM.
In step 515, the VNFM instructs the VNF to complete downloading the VNF installation package.
In step 516, the VNF initiates an instantiation request of the business resource object to the VNFM.
Step 517, the VNFM sends a request for creating the service resource object to the VIM, where the request for creating includes the deployment location of the service resource object. Here, following the above example, the description is only given by taking the creation of one of the business resource objects as an example.
Step 518, the VIM creates a business resource object according to the deployment location of the business resource object.
In step 519, the VIM returns a create response of the service resource object to the VNFM, which is used to indicate that the creation of the service resource object is completed.
In step 520, the VNFM returns a create response of the service resource object to the VNF, which is used to indicate that the creation of the service resource object is completed.
According to the process, in the instantiation process of the VNF, the deployment position of each resource object is pre-programmed by the VNFM, so that a plurality of resource objects to be created can be comprehensively considered, resource fragments in the Host are effectively reduced, and the resource utilization efficiency is improved.
Example four
Fig. 6 is a flowchart illustrating a corresponding method for managing a resource object according to the fourth embodiment of the present application, which mainly relates to a volume expansion scenario of a VNF, and as shown in fig. 6, the method includes:
step 601, the operator sets up the capacity expansion strategy information and uploads the capacity expansion strategy information to the VNFM.
Step 602, the VNFM sends a request for acquiring load information to the VNF that needs capacity expansion according to the capacity expansion policy.
In step 606, the VNF returns load information of the VNF to the VNFM.
In step 604, the VNFM calculates the number of resource objects that need to be expanded and the demand information of each resource object based on the expansion policy and the load information of the VNF. In one example, the resource objects that need to be expanded may all be business resource objects.
Step 605, the VNFM acquires the physical resource information from the VIM, and obtains the deployment location of each resource object in the plurality of resource objects according to the demand information and the physical resource information of the plurality of resource objects. Here, after the VNFM pre-programs the deployment location of each resource object, the deployment location of each resource object may be stored in a form of a topological relation table (e.g., table 2).
In step 606, the VNFM sends a resource reservation request to the VIM, where the resource reservation request may include an identifier of one or more first hosts (i.e., hosts where multiple resource objects are located), and further may include an indication of preemption and an indication of closing the HA function.
Step 607, after receiving the resource reservation request, the VIM reserves one or more first hosts, i.e. pre-occupies the one or more first hosts, and closes the HA function corresponding to the one or more first hosts.
At step 608, the VNFM may send a create request of the service resource object to the VIM, where the create request includes a deployment location of the service resource object. Here, the creation of one of the business resource objects is described as an example.
And step 609, the VIM deploys the service resource object according to the deployment position of the service resource object.
In step 610, the VIM returns a create response of the service resource object to the VNFM, which is used to indicate that the creation of the service resource object is completed.
Step 611, the VNF starts the resource object, implements the service loading, and completes the expansion process.
According to the process, in the capacity expansion scene of the VNF, when a plurality of resource objects need to be expanded simultaneously, the arrangement position of each resource object is pre-arranged by the VNFM, so that the resource objects to be expanded can be comprehensively considered, resource fragments in the Host are effectively reduced, and the resource utilization efficiency is improved.
EXAMPLE five
Fig. 7 is a flowchart illustrating a corresponding method for managing a resource object according to the fifth embodiment of the present application, which mainly relates to a capacity reduction scenario of a VNF, and as shown in fig. 7, the method includes:
in step 701, an operator sets the capacity reduction strategy information and uploads the capacity reduction strategy information to the VNFM.
In step 702, the VNFM sends a request for acquiring load information to the VNF that needs to be reduced according to the reduction policy information.
Step 703, the VNF returns load information of the VNF to the VNFM.
Step 704, the VNFM calculates the number of resource objects to be reduced according to the reduction policy information and the load information of the VNF.
Step 705, the VNFM determines M resource objects to be scaled according to the deployment positions of the plurality of resource objects included in the VNF that needs to be scaled. In one example, the M resource objects to be condensed may all be business resource objects.
In step 706, the VNFM sends a deletion request to the VIM, where the deletion request may include the identifiers of the M resource objects to be contracted.
In step 707, the VIM returns a deletion response to the VNFM, indicating that the M resource objects to be contracted have been deleted.
Step 708, the VNFM sends a resource release request to the VIM, where the resource release request may include an identifier of one or more second hosts, and the one or more second hosts are hosts where the M resource objects to be contracted are located.
In step 709, the VIM releases the one or more second hosts, such as pre-occupation of the one or more second hosts, and opens HA functions corresponding to the one or more second hosts.
In step 710, the VIM returns a release resource response to the VNFM indicating that the one or more second hosts have been released.
According to the above process, in the capacity reduction scene of the VNF, when M resource objects need to be reduced simultaneously, the VNFM can select M resource objects to be reduced from the multiple resource objects according to the deployment positions of the multiple resource objects, so that the selected M resource objects to be reduced are located in the same Host as much as possible, resource fragments caused by capacity reduction are reduced, and resource utilization rate is effectively improved.
EXAMPLE six
Fig. 8 is a flowchart illustrating a corresponding method for managing a resource object according to a sixth embodiment of the present application, which mainly relates to managing a resource object fault scenario, and as shown in fig. 8, the method includes:
in step 801, the VNFM sends a heartbeat request to the management resource object.
Step 802, the management resource object feeds back a heartbeat response after time out, or does not feed back the heartbeat response.
In step 803, the VNFM may query the VIM for the status of the managed resource object and the status of the Host.
Step 804, the VNFM determines that the management resource object fails according to the state of the management resource object and the state of the Host where the management resource object is located.
In step 805, the VNFM deletes the managed resource object, for example, the port and the data disk may be disconnected first, and then the managed resource object is deleted.
Step 806, the VNFM determines the deployment location of the management resource object to be rebuilt according to the deployment location of the management resource object.
In step 807, the VNFM sends a reconstruction request to the VIM for the managed resource object, where the reconstruction request includes the deployment location of the managed resource object to be reconstructed.
And 808, reconstructing the management resource object by the VIM according to the deployment position of the management resource object to be reconstructed.
Step 809, the VIM returns a rebuild response to the VNFM to indicate that the management resource object is completely rebuilt.
According to the process, in the scene of the fault of the management resource object, the VNFM determines the deployment position of the management resource object to be reconstructed according to the deployment position of the management resource object, and then the VIM reconstructs the management resource object according to the deployment position of the management resource object to be reconstructed, so that the situation that the VIM randomly searches for the deployment position for the management resource object to be reconstructed based on a uniform deployment algorithm is avoided, resource fragments in the Host can be reduced, and the resource utilization efficiency is improved.
EXAMPLE seven
Fig. 9 is a flowchart illustrating a corresponding process of a resource object management method according to a seventh embodiment of the present application, which mainly relates to a service resource object fault scenario, and as shown in fig. 9, the method includes:
step 901, the management resource object sends a heartbeat request to the service resource object.
Step 902, the service resource object feeds back the heartbeat response after time out, or does not feed back the heartbeat response.
Step 903, the management resource object determines that the service resource object has a fault.
Step 904, the management resource object sends a failure notification to the VNFM for indicating that the service resource object fails.
In step 905, the VNFM deletes the service resource object, for example, the port and the data disk may be disconnected first, and then the service resource object is deleted.
Step 906, the VNFM determines the deployment position of the service resource object to be rebuilt according to the deployment position of the service resource object.
Step 907, the VNFM sends a reconstruction request of the service resource object to the VIM, where the reconstruction request includes a deployment location of the service resource object to be reconstructed.
Step 908, the VIM reconstructs the business resource object according to the deployment position of the business resource object to be reconstructed.
In step 909, the VIM returns a rebuild response to the VNFM to indicate that the business resource object has been rebuilt.
According to the process, the VNFM monitors the state of the service resource object through the management resource object, and in a scene of a fault of the service resource object, the VNFM determines the deployment position of the service resource object to be reconstructed according to the deployment position of the service resource object, and then the VIM manages the service resource object according to the deployment position of the service resource object to be reconstructed, so that resource fragments in the Host can be reduced, and the resource utilization efficiency is improved.
It should be noted that the step numbers in the embodiments (embodiment one to embodiment seven) of the present application are only one possible example of the execution flow, and do not limit the execution sequence of each step. In the embodiment of the present application, there is no strict execution sequence between steps having no timing dependency relationship with each other.
The above-mentioned scheme provided by the present application is mainly introduced from the perspective of interaction between the NFV management device and the resource allocation device. It is to be understood that, in order to implement the above functions, the NFV management apparatus or the resource allocation apparatus may include a corresponding hardware structure and/or software module that performs each function. Those of skill in the art will readily appreciate that the present invention can be implemented in hardware or a combination of hardware and computer software, with the exemplary elements and algorithm steps described in connection with the embodiments disclosed herein. Whether a function is performed as hardware or computer software drives hardware depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
In case of an integrated unit, fig. 10 shows a possible exemplary block diagram of the apparatus involved in the embodiments of the present application, which apparatus 1000 may be present in the form of software. The apparatus 1000 may include: a processing unit 1002 and a communication unit 1003. The processing unit 1002 is used for controlling and managing operations of the apparatus 1000. The communication unit 1003 is used to support the communication between the apparatus 1000 and other devices. The device 1000 may further comprise a storage unit 1001 for storing program codes and data of the device 1000.
The processing unit 1002 may be a processor or a controller, such as a Central Processing Unit (CPU). Which may implement or perform the various illustrative logical blocks, modules, and circuits described in connection with the disclosure. The processor may also be a combination of computing functions, e.g., comprising one or more microprocessors, DSPs, and microprocessors, among others. The communication unit 1003 may be a communication interface, a transceiver circuit, or the like, wherein the communication interface is referred to as a generic term, and in a specific implementation, the communication interface may include a plurality of interfaces. The storage unit 1001 may be a memory.
The apparatus 1000 may be an NFV management device (such as VNFM and/or NFVO) in any of the above embodiments, or may also be a semiconductor chip disposed in the NFV management device. The processing unit 1002 may enable the apparatus 1000 to perform the actions of the NFV management device in the above method examples. Alternatively, the processing unit 1002 mainly performs the NFV management device internal actions in the method example, and the communication unit 1003 may support communication between the apparatus 1000 and the resource allocation device.
Specifically, in one embodiment, the processing unit is configured to determine requirement information of a plurality of resource objects that need to be created;
the communication unit is configured to obtain physical resource information from the resource allocation device, and the processing unit is further configured to pre-arrange a deployment position of each resource object in the plurality of resource objects according to the demand information of the plurality of resource objects and the physical resource information, where the deployment position of each resource object is used to indicate a physical resource occupied by the each resource object;
the communication unit is further configured to send a creation request of the plurality of resource objects to a resource allocation device, where the creation request of each resource object includes a deployment location of the each resource object.
In one possible design, the deployment location of each resource object includes:
the identifier of the Host where each resource object is located; alternatively, the first and second electrodes may be,
the identification of a Central Processing Unit (CPU) where each resource object is located and the identification of a Host where the CPU is located; alternatively, the first and second electrodes may be,
the identification of a Central Processing Unit (CPU) where each resource object is located, the identification of a Host where the CPU is located, and the identification of a NUMA node where the CPU is located; alternatively, the first and second electrodes may be,
the method comprises the steps of identifying the CPU where each resource object is located, identifying the Host where the CPU is located, identifying the NUMA node where the CPU is located, and allocating the memory to each resource object.
In one possible design, after the processing unit pre-orchestrates the deployment location of each resource object in the plurality of resource objects, the communication unit is further configured to:
sending a resource reservation request to the resource allocation device, the resource reservation request including an identification of one or more first hosts; the resource reservation request is used for requesting to reserve the one or more first hosts; the identification of the one or more first hosts is derived from a deployment location of each resource object in the plurality of resource objects.
In one possible design, reserving the one or more first hosts includes:
pre-occupying the one or more first hosts, and/or closing the high available HA functions corresponding to the one or more first hosts.
In one possible design, the processing unit is further configured to: deleting a first resource object after the first resource object is determined to have a fault; determining the deployment position of the first resource object to be reconstructed according to the deployment position of the first resource object;
the communication unit is further configured to send a reconstruction request of the first resource object to the resource allocation device, where the reconstruction request includes a deployment location of the first resource object to be reconstructed.
In one possible design, the first resource object is a business resource object, and the second resource object is a management resource object for managing the first resource object in the plurality of resource objects;
the communication unit is further configured to receive a failure notification sent by the second resource object, where the failure notification is used to indicate that the first resource object fails.
In one possible design, the communication unit is further configured to receive an instantiation request of a VNF, the instantiation request including a virtual network function description, VNFD, of the VNF; the processing unit is specifically configured to determine, according to the VNFD of the VNF, demand information of a plurality of resource objects that need to be created; alternatively, the first and second electrodes may be,
the communication unit is further configured to receive a capacity expansion request of the VNF, where the capacity expansion request includes capacity expansion policy information; the processing unit is specifically configured to determine, according to the expansion policy information and the load information of the VNF, demand information of a plurality of resource objects that need to be created.
In a possible design, after sending the request for creating the plurality of resource objects to the resource allocation device, the communication unit is further configured to receive a capacity reduction request of the VNF, where the capacity reduction request includes capacity reduction policy information;
the processing unit is further configured to determine, according to the capacity reduction policy information and the load information of the VNF, that the number of resource objects to be reduced is M; determining M resource objects to be scaled down from the plurality of resource objects according to the deployment position of each resource object in the plurality of resource objects;
the communication unit is further configured to send a deletion request to the resource allocation device, where the deletion request includes the identifiers of the M resource objects to be condensed.
In one possible design, the processing unit determines, according to the deployment position of each resource object in the plurality of resource objects, M resource objects from the plurality of resource objects, specifically:
dividing the plurality of resource objects into N groups of resource objects according to the number of the VMs to be capacity reduced, wherein each group of resource objects in the N groups of resource objects comprises M resource objects;
determining the number of hosts in which each resource object in the N groups of resource objects is located according to the deployment position of each resource object in the plurality of resource objects;
and determining a group of resource objects with the minimum number of the hosts as the M resource objects to be subjected to capacity reduction.
In one possible design, after the communication unit sends the deletion request to the resource allocation device, the communication unit is further configured to:
sending a resource release request to the resource allocation device, wherein the resource release request comprises identification of one or more second hosts, and the resource release request is used for requesting to release the one or more second hosts; the identifier of the one or more second hosts is obtained according to the deployment position of each resource object in the M resource objects to be condensed.
In one possible design, the resource object is a virtual machine VM or a virtual container.
The apparatus 1000 may also be the resource allocation device in any of the above embodiments, or may also be a semiconductor chip disposed in the resource allocation device. The processing unit 1002 may enable the apparatus 1000 to perform the actions of the resource allocation device in the above examples of methods. Alternatively, the processing unit 1002 mainly performs the internal actions of the resource allocation device in the method example, and the communication unit 1003 may support communication between the apparatus 1000 and the NFV management device.
Specifically, in an embodiment, the communication unit is configured to receive a creation request of a plurality of resource objects sent by an NFV management device, where the creation request of each resource object in the plurality of resource objects includes a deployment location of the each resource object;
the processing unit is configured to create each resource object according to the deployment location of each resource object.
In one possible design, the deployment location of each resource object includes:
the identifier of the Host where each resource object is located; alternatively, the first and second electrodes may be,
the identification of a Central Processing Unit (CPU) where each resource object is located and the identification of a Host where the CPU is located; alternatively, the first and second electrodes may be,
the identification of a Central Processing Unit (CPU) where each resource object is located, the identification of a Host where the CPU is located, and the identification of a NUMA node where the CPU is located; alternatively, the first and second electrodes may be,
the method comprises the steps of identifying the CPU where each resource object is located, identifying the Host where the CPU is located, identifying the NUMA node where the CPU is located, and allocating the memory to each resource object.
In one possible design, the communication unit is further configured to receive a resource reservation request sent by the NFV management device, where the resource reservation request includes an identification of one or more first hosts; the identification of the one or more first hosts is obtained according to the deployment position of each resource object in the plurality of resource objects;
the processing unit is further configured to reserve the one or more first hosts.
In one possible design, the processing unit reserves the one or more first hosts, specifically:
the processing unit pre-occupies the one or more first hosts, and/or the processing unit closes the HA functions corresponding to the one or more first hosts.
In one possible design, the communication unit is further configured to receive a reconstruction request of the first resource object sent by the NFV management apparatus, where the reconstruction request includes a deployment location of the first resource object to be reconstructed;
the processing unit is further configured to reconstruct the first resource object according to the deployment position of the first resource object to be reconstructed.
In one possible design, the communication unit is further configured to receive a resource release request sent by the NFV management device, where the resource release request includes an identifier of one or more second hosts; the identification of the one or more second hosts is obtained according to the deployment position of each object in the M resource objects to be subjected to capacity reduction;
the processing unit is further configured to release the one or more second hosts.
In one possible design, the resource object is a VM or a virtual container.
Based on the foregoing embodiments, fig. 11 shows a schematic structural diagram of an apparatus, where the apparatus 1100 may be an NFV management device (such as NFVO and/or VNFM) or a resource allocation device (such as VIM) described in the first to seventh embodiments. The apparatus 1100 may be used to implement the contents described in the first to seventh embodiments, and specific reference may be made to the descriptions in the first to seventh embodiments.
The apparatus 1100 may comprise one or more processors 1101, which processors 1101 may also be referred to as processing units and may perform certain control functions. The processor 1101 may be a general purpose processor, a special purpose processor, or the like, and may be a baseband processor, for example.
In one possible design, the processor 1101 may also have instructions and/or data 1103 stored therein, and the instructions and/or data 1103 may be executed by the processor to cause the apparatus 1100 to perform the method described in the above method embodiment.
In one possible design, a transceiver unit may be included in processor 1101 for performing receive and transmit functions. The transceiving unit may be a transceiving circuit, or an interface, for example. The circuits or interfaces used to implement the receive and transmit functions may be separate or integrated.
In yet another possible design, the apparatus 1100 may include circuitry that may implement the functionality of transmitting or receiving in the foregoing method embodiments.
Optionally, the apparatus 1100 may include one or more memories 1102, on which instructions 1104 may be stored, the instructions being executable on the processor to cause the apparatus 1100 to perform the methods described in the above embodiments. Optionally, the memory may further store data therein. Optionally, instructions and/or data may also be stored in the processor. The processor and the memory may be provided separately or may be integrated together.
Optionally, the apparatus 1100 may further include a transceiver 1105 and/or an antenna 1106. The processor 1101 may be referred to as a processing unit and controls the apparatus. The transceiver 1105 may be referred to as a transceiving unit, a transceiver, a transceiving circuit or a transceiver, etc. for implementing transceiving functions of the apparatus.
In one possible design, an apparatus 1100 (e.g., an integrated circuit, a wireless device, a circuit module, a radar, etc.) may include a processor 1101 and a transceiver 1105.
The processors and transceivers described herein may be implemented on Integrated Circuits (ICs), analog ICs, Radio Frequency Integrated Circuits (RFICs), mixed signal ICs, Application Specific Integrated Circuits (ASICs), Printed Circuit Boards (PCBs), electronic devices, and the like. The processor and transceiver may also be fabricated using various IC process technologies, such as Complementary Metal Oxide Semiconductor (CMOS), N-type metal oxide semiconductor (NMOS), P-type metal oxide semiconductor (PMOS), Bipolar Junction Transistor (BJT), Bipolar CMOS (bicmos), silicon germanium (SiGe), gallium arsenide (GaAs), and the like.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the invention to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (devices) and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
Although the present application has been described in conjunction with specific features and embodiments thereof, it will be evident that various modifications and combinations can be made thereto without departing from the spirit and scope of the application. Accordingly, the specification and figures are merely exemplary of the present application as defined in the appended claims and are intended to cover any and all modifications, variations, combinations, or equivalents within the scope of the present application. It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.

Claims (23)

1. A method for managing resource objects, the method comprising:
the Network Function Virtualization (NFV) management equipment determines the demand information of a plurality of resource objects needing to be created;
the NFV management equipment acquires physical resource information from resource allocation equipment, and pre-arranges a deployment position of each resource object in the multiple resource objects according to the demand information of the multiple resource objects and the physical resource information, wherein the deployment position of each resource object is used for indicating physical resources occupied by each resource object; the deployment location of each resource object comprises: the identification of a Central Processing Unit (CPU) where each resource object is located, the identification of a Host where the CPU is located, and the identification of a non-uniform memory access architecture (NUMA) node where the CPU is located;
the NFV management device sends a creation request of the plurality of resource objects to a resource allocation device, the creation request of each resource object including a deployment location of the each resource object.
2. The method of claim 1, wherein the deployment location of each resource object comprises:
the mark of the Host where each resource object is located; alternatively, the first and second electrodes may be,
the identification of the CPU where each resource object is located and the identification of the Host where the CPU is located; alternatively, the first and second electrodes may be,
the method comprises the steps of identifying the CPU where each resource object is located, identifying the Host where the CPU is located, identifying the NUMA node where the CPU is located, and allocating the memory to each resource object.
3. The method according to claim 1 or 2, wherein after the NFV management apparatus pre-programs the deployment location of each resource object in the plurality of resource objects, the method further comprises:
the NFV management device sends a resource reservation request to the resource allocation device, wherein the resource reservation request comprises one or more identifiers of the first Host; the resource reservation request is used for requesting to reserve the one or more first hosts; the identification of the one or more first hosts is derived from a deployment location of each resource object in the plurality of resource objects.
4. The method of claim 3, wherein reserving the one or more first hosts comprises:
pre-occupying the one or more first hosts, and/or closing the high available HA functions corresponding to the one or more first hosts.
5. The method of claim 4, further comprising:
the NFV management equipment deletes a first resource object after determining that the first resource object has a fault;
the NFV management equipment determines the deployment position of a first resource object to be reconstructed according to the deployment position of the first resource object;
the NFV management device sends a reconstruction request of the first resource object to the resource allocation device, where the reconstruction request includes a deployment location of the first resource object to be reconstructed.
6. The method of claim 5, wherein the first resource object is a business resource object, and the second resource object is a management resource object of the plurality of resource objects for managing the first resource object;
the NFV management device determining that the first resource object fails includes:
and the NFV management equipment receives a fault notification sent by a second resource object, wherein the fault notification is used for indicating that the first resource object has a fault.
7. The method according to claim 1 or 2, wherein the NFV management device determines the demand information of the plurality of resource objects that need to be created, including:
the NFV management device receives an instantiation request of a Virtual Network Function (VNF), wherein the instantiation request comprises a VNFD of the VNF; the NFV management device determines demand information of a plurality of resource objects to be created according to the VNFD of the VNF; alternatively, the first and second electrodes may be,
the NFV management device receives a capacity expansion request of the VNF, wherein the capacity expansion request comprises capacity expansion strategy information; and the NFV management equipment determines the demand information of a plurality of resource objects needing to be created according to the capacity expansion strategy information and the load information of the VNF.
8. The method according to claim 1 or 2, wherein after the NFV managing device sends the request for creating the plurality of resource objects to the resource allocating device, the method further comprises:
the NFV management equipment receives a capacity reduction request of a VNF, wherein the capacity reduction request comprises capacity reduction strategy information;
the NFV management equipment determines the number of resource objects to be subjected to capacity reduction as M according to the capacity reduction strategy information and the load information of the VNF;
the NFV management equipment determines M resource objects to be subjected to capacity reduction from the multiple resource objects according to the deployment position of each resource object in the multiple resource objects;
and the NFV management device sends a deletion request to the resource allocation device, wherein the deletion request comprises the identifiers of the M resource objects to be subjected to capacity reduction.
9. The method according to claim 8, wherein the NFV management device determines M resource objects from the plurality of resource objects according to a deployment location of each resource object in the plurality of resource objects, including:
the NFV management equipment divides the resource objects into N groups of resource objects according to the number of the resource objects to be reduced, wherein each group of resource objects in the N groups of resource objects comprises M resource objects;
the NFV management device determines the number of hosts in which each group of resource objects in the N groups of resource objects is located according to the deployment position of each resource object in the plurality of resource objects;
and the NFV management equipment determines a group of resource objects with the minimum number of the hosts as the M resource objects to be subjected to capacity reduction.
10. The method according to claim 8, wherein after the NFV management device sends the deletion request to the resource allocation device, the method further comprises:
the NFV management device sends a resource release request to the resource allocation device, wherein the resource release request comprises identification of one or more second hosts, and the resource release request is used for requesting release of the one or more second hosts; the identifier of the one or more second hosts is obtained according to the deployment position of each resource object in the M resource objects to be condensed.
11. The method of claim 1 or 2, wherein the resource object is a Virtual Machine (VM) or a virtual container.
12. A method for managing resource objects, the method comprising:
the method comprises the steps that a resource allocation device receives a creation request of a plurality of resource objects sent by an NFV management device, wherein the creation request of each resource object in the plurality of resource objects comprises a deployment position of each resource object; the deployment location of each resource object comprises: the identification of a Central Processing Unit (CPU) where each resource object is located, the identification of a Host where the CPU is located, and the identification of a non-uniform memory access architecture (NUMA) node where the CPU is located;
and the resource allocation equipment creates each resource object according to the deployment position of each resource object.
13. The method of claim 12, wherein the deployment location of each resource object comprises:
the mark of the Host where each resource object is located; alternatively, the first and second electrodes may be,
the identification of the CPU where each resource object is located and the identification of the Host where the CPU is located; alternatively, the first and second electrodes may be,
the method comprises the steps of identifying the CPU where each resource object is located, identifying the Host where the CPU is located, identifying the NUMA node where the CPU is located, and allocating the memory to each resource object.
14. The method according to claim 12 or 13, characterized in that the method further comprises:
the resource allocation device receives a resource reservation request sent by the NFV management device, wherein the resource reservation request comprises one or more identifiers of a first Host; the identification of the one or more first hosts is obtained according to the deployment position of each resource object in the plurality of resource objects;
the resource allocation device reserves the one or more first hosts.
15. The method of claim 14, wherein the resource allocation device reserves the one or more first hosts, comprising:
the resource allocation device pre-occupies the one or more first hosts, and/or the resource allocation device closes the HA function corresponding to the one or more first hosts.
16. The method of claim 15, further comprising:
the resource allocation device receives a reconstruction request of a first resource object sent by the NFV management device, where the reconstruction request includes a deployment location of the first resource object to be reconstructed;
and the resource allocation equipment reconstructs the first resource object according to the deployment position of the first resource object to be reconstructed.
17. The method according to claim 12 or 13, characterized in that the method further comprises:
the resource allocation device receives a resource release request sent by the NFV management device, where the resource release request includes an identifier of one or more second hosts; the identification of the one or more second hosts is obtained according to the deployment position of each object in the M resource objects to be subjected to capacity reduction;
the resource allocation device releases the one or more second hosts.
18. The method of claim 12 or 13, wherein the resource object is a VM or a virtual container.
19. An apparatus comprising a processor, a memory, and instructions stored on the memory and executable on the processor, which when executed, cause the apparatus to perform the method performed by the NFV management device of any of claims 1 to 11.
20. An apparatus comprising a processor, a memory, and instructions stored on the memory and executable on the processor, which when executed, cause the apparatus to perform the method performed by the resource allocation device of any of claims 12 to 18.
21. An NFV management apparatus, comprising the apparatus of claim 19.
22. A resource allocation device comprising the apparatus of claim 20.
23. A computer-readable storage medium comprising instructions which, when executed on a computer, cause the computer to perform the method of any one of claims 1 to 18.
CN201811590814.XA 2018-12-21 2018-12-21 Resource object management method and device Active CN111355602B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811590814.XA CN111355602B (en) 2018-12-21 2018-12-21 Resource object management method and device
PCT/CN2019/126428 WO2020125698A1 (en) 2018-12-21 2019-12-18 Resource object management method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811590814.XA CN111355602B (en) 2018-12-21 2018-12-21 Resource object management method and device

Publications (2)

Publication Number Publication Date
CN111355602A CN111355602A (en) 2020-06-30
CN111355602B true CN111355602B (en) 2021-11-30

Family

ID=71100636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811590814.XA Active CN111355602B (en) 2018-12-21 2018-12-21 Resource object management method and device

Country Status (2)

Country Link
CN (1) CN111355602B (en)
WO (1) WO2020125698A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115314389A (en) * 2021-05-08 2022-11-08 中国移动通信有限公司研究院 Network service capacity expansion exception handling method and device and storage medium
CN115794337B (en) * 2022-11-14 2023-09-26 北京百度网讯科技有限公司 Resource scheduling method, device, cloud platform, equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810023A (en) * 2014-03-06 2014-05-21 中国科学院信息工程研究所 Distributed application intelligent deployment method and system in cloud platform
CN104301812A (en) * 2014-09-19 2015-01-21 中国电力科学研究院信息通信研究所 Optical network system and network function visualizing method
CN104484220A (en) * 2014-11-28 2015-04-01 杭州华为数字技术有限公司 Method and device for dispatching dynamic resources of virtual cluster
CN104536803A (en) * 2014-12-23 2015-04-22 西安电子科技大学 Virtual machine scheduling method based on combination optimization
CN106170769A (en) * 2014-12-11 2016-11-30 华为技术有限公司 Determine the method for resources of virtual machine, device and program product
CN108241531A (en) * 2016-12-23 2018-07-03 阿里巴巴集团控股有限公司 A kind of method and apparatus for distributing resource for virtual machine in the cluster

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102646052B (en) * 2011-02-16 2016-01-27 中国移动通信集团公司 A kind of virtual machine deployment method, Apparatus and system
CN105656646B (en) * 2014-11-10 2019-02-05 中国移动通信集团公司 A kind of dispositions method and device of Virtual NE
EP3040860A1 (en) * 2014-12-29 2016-07-06 NTT DoCoMo, Inc. Resource management in cloud systems
US20160316011A1 (en) * 2015-04-27 2016-10-27 Telefonaktiebolaget L M Ericsson (Publ) Sdn network element affinity based data partition and flexible migration schemes
CN105700961B (en) * 2016-02-29 2019-03-08 华为技术有限公司 Business container creation method and device
CN108132827B (en) * 2016-11-30 2021-12-10 华为技术有限公司 Network slice resource mapping method, related equipment and system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810023A (en) * 2014-03-06 2014-05-21 中国科学院信息工程研究所 Distributed application intelligent deployment method and system in cloud platform
CN104301812A (en) * 2014-09-19 2015-01-21 中国电力科学研究院信息通信研究所 Optical network system and network function visualizing method
CN104484220A (en) * 2014-11-28 2015-04-01 杭州华为数字技术有限公司 Method and device for dispatching dynamic resources of virtual cluster
CN106170769A (en) * 2014-12-11 2016-11-30 华为技术有限公司 Determine the method for resources of virtual machine, device and program product
CN104536803A (en) * 2014-12-23 2015-04-22 西安电子科技大学 Virtual machine scheduling method based on combination optimization
CN108241531A (en) * 2016-12-23 2018-07-03 阿里巴巴集团控股有限公司 A kind of method and apparatus for distributing resource for virtual machine in the cluster

Also Published As

Publication number Publication date
WO2020125698A1 (en) 2020-06-25
CN111355602A (en) 2020-06-30

Similar Documents

Publication Publication Date Title
US11283684B2 (en) Network slice deployment method and apparatus
US10298439B2 (en) Network functions virtualization network system and data processing method, and apparatus
US9999030B2 (en) Resource provisioning method
JP6834033B2 (en) Network slice management methods, units, and systems
US10511506B2 (en) Method and device for managing virtualized network function
CN111698112B (en) Resource management method and device for VNF (virtual network function)
JP6463851B2 (en) Methods and entities for service availability management
US20180123870A1 (en) Vnf failover method and apparatus
WO2019137516A1 (en) Network slice deployment method and apparatus
CN108345490B (en) Method and system for deploying virtual machine in NFV
US20180123969A1 (en) Openflow protocol-based resource control method and system, and apparatus
CN111355602B (en) Resource object management method and device
EP4149062A1 (en) Deployment method and apparatus for virtualized network service
CN112306625A (en) Method and related device for deploying virtual machine
WO2023066224A1 (en) Method and apparatus for deploying container service
CN113660131B (en) Virtual network function unit switching method, device, controller and storage medium
CN118118447A (en) Distributed switch deployment method and server
CN113051027A (en) Virtual machine flow table information sending method and device of cloud management system
CN116627589A (en) Service processing method, system, platform and storage medium
CN116263692A (en) SDN-based cloud network virtual machine migration method, SDN-based cloud network virtual machine migration system and computing equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant