Method for upgrading nodes in batches, related apparatus and device - Patents.com
The NFVI Upgrade Tool or NFVI Batch Upgrade Tool migrates services to non-upgraded nodes before upgrading, addressing the inefficiencies in manual NFV upgrades by ensuring continuous service availability and optimizing the upgrade process.
Patent Information
- Application Number
- JP2023541555
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-01-15
- Publication Date
- 2025-01-15
- Estimated Expiration
- 2041-01-15
AI Technical Summary
The current manual process of upgrading network function virtualization infrastructure (NFVI) and virtualized network function (VNF) layers in NFV architecture is complex, lengthy, and inefficient, leading to reduced service quality during network upgrades.
A method and apparatus for batch upgrading nodes using the NFVI Upgrade Tool or NFVI Batch Upgrade Tool, which migrates services to non-upgraded nodes before upgrading, ensuring continuous service availability and optimizing the upgrade process.
The method improves service quality and efficiency by ensuring continuous service availability during node upgrades, balancing service distribution, and optimizing the upgrade process.
Smart Images

Figure 0007613650000006 
Figure 0007613650000007 
Figure 0007613650000008
Abstract
Description
[Technical field]
[0001] TECHNICAL FIELD Embodiments of the present application relate to the field of communications, and in particular to a method for upgrading nodes in batches, and related apparatus and devices. [Background technology]
[0002] As the trend of network cloudification becomes more obvious, the 3rd generation partnership project (3GPP) organization launched the European telecommunications standards institute (ETSI) network functions virtualization (NFV) architecture. As a key technology, NFV has attracted widespread attention from the telecommunications industry. The above standardization organizations have conducted in-depth research on NFV and applied it to multiple phases of the industrial chain. During the service changes and evolution of the actual network, the virtualized network function (VNF) layer in the NFV architecture also needs to be upgraded based on service requirements.
[0003] Currently, during the actual deployment of NFV solutions, the network function virtualization infrastructure (NFVI) and VNF layers included in the NFV architecture evolve independently. Therefore, batches of I-layer resources on which VNFs are located may be manually organized in advance, and then the I-layer resources are upgraded in batches based on the sequence of those batches. For each batch, services are manually migrated, and then the corresponding I-layer boards are upgraded. After the I-layer boards are upgraded, the pre-upgrade services are manually migrated back.
[0004] However, by manually migrating / migrating back services, the operation process needs to be manually performed before / after each batch, which makes the upgrade process relatively complicated. In this case, the operation period is relatively long, attention needs to be paid to the entire operation process, and the upgrade efficiency is relatively low, which reduces the service quality. Summary of the Invention [Problem to be solved by the invention]
[0005] The embodiments of the present application provide a method for upgrading nodes in batches, and related apparatus and devices, which are used to provide normal services in the process of upgrading nodes in batches, thus improving service quality while ensuring upgrade efficiency. [Means for solving the problem]
[0006] According to a first aspect, a method for upgrading nodes in a batch is provided. The method for upgrading nodes in a batch is used in a containerization scenario. In the method, batch information for upgrade is obtained by using an NFVI upgrade tool or an NFVI batch upgrade tool. The batch information for upgrade includes an upgrade sequence for each group. Then, the NFVI upgrade tool or the NFVI batch upgrade tool determines the group nodes to be upgraded based on the upgrade sequence, and the VNFM migrates services on the group nodes to be upgraded to another non-upgraded node. Then, the NFVI upgrade tool or the NFVI batch upgrade tool upgrades the group nodes to be upgraded.
[0007] In this implementation, before the group node to be upgraded is upgraded, the services on the group node to be upgraded are migrated to another non-upgraded node. Therefore, it can be guaranteed that normal services are provided for the services in the process of upgrading the group node to be upgraded. Therefore, the service quality is improved while the upgrade efficiency is guaranteed.
[0008] In relation to the first aspect, in a first possible implementation of the first aspect, after the to-be-upgraded group node is upgraded, the VNFM may further migrate services on the other non-upgraded nodes to the upgraded group node.
[0009] In this implementation, after the group node to be upgraded is upgraded, the services on the other non-upgraded nodes are migrated to the upgraded group node, thus ensuring that each node bears a service, ensuring a balanced distribution of services, and thereby improving the service quality.
[0010] In relation to the first possible implementation of the first aspect, in a second possible implementation of the first aspect, after the VNFM migrates services on the other non-upgraded node to the upgraded group node, the NFVI upgrade tool or the NFVI batch upgrade tool may further determine a next group node to be upgraded based on an upgrade sequence. Then, the VNFM migrates services on the next group node to be upgraded to another non-upgraded node, and the NFVI upgrade tool or the NFVI batch upgrade tool upgrades the next group node to be upgraded.
[0011] In this implementation, after the group node to be upgraded is upgraded once, the services on the next group node to be upgraded may be successively migrated, and the next group node to be upgraded may be upgraded. This further ensures that normal service is provided for the services in the process of upgrading all group nodes that need to be upgraded. Therefore, the service quality is improved while the upgrade efficiency is guaranteed.
[0012] In relation to any one of the second possible implementations of the first aspect, in a third possible implementation of the first aspect, each group includes a node type for each group, an identifier corresponding to a group sequence for each group, a node identifier corresponding to a node in each group, and a host identifier corresponding to a node in each group, wherein the node type of the group node to be upgraded is the same as the node type of the other non-upgraded node.
[0013] In this implementation, the information contained in each group is more diverse, so that the NFVI upgrade tool or the NFVI batch upgrade tool can more accurately determine the group nodes to be upgraded. The node type of the group nodes to be upgraded is the same as that of another non-upgraded node, so that the non-upgraded node can better bear the migrated service, thereby further improving the service quality in the batch upgrade process.
[0014] In relation to any one of the third possible implementations of the first aspect, in a fourth possible implementation of the first aspect, before the NFVI upgrade tool or the NFVI batch upgrade tool obtains batch information for upgrade, the NFVI batch tool or the NFVI batch upgrade tool may perform the steps of: obtaining a node set, where each node in the node set corresponds to a node type; obtaining a node batch rule set, where the node batch rule set includes node batch rules corresponding to each node type; and performing batching on the node set based on the node batch rule set to obtain the batch information for upgrade.
[0015] In this implementation, the batch rule corresponding to the node type can reflect the batch rule required by the characteristics of the node type, so that the batching is performed for different node types according to the batch rule corresponding to the node type, so that the groups included in the obtained batch information for upgrade can be more accurate, and the batch information for upgrade is more adapted to the upgrade sequence required by each different node type.
[0016] In relation to any one of the fourth possible implementations of the first aspect, in a fifth possible implementation of the first aspect, the NFVI batch tool or NFVI batch upgrade tool must further perform the steps of determining a service running on a node, the service corresponding to a service type; then determining a batch rule corresponding to the service type; and finally determining a node batch rule corresponding to the node type according to the batch rule corresponding to the service type.
[0017] In this implementation, the node batch rule corresponding to a node type is determined according to the service type batch rule corresponding to the service running on the node, which improves the feasibility of this solution and the accuracy of the node batch rule.
[0018] In relation to any one of the fifth possible implementations of the first aspect, in a sixth possible implementation of the first aspect, before the VNFM migrates services on the to-be-upgraded group node to the other non-upgraded node, the VNFM may further obtain a first message, the first message indicating that the to-be-upgraded group node is to be upgraded.
[0019] In this implementation, the first message indicates that the group node to be upgraded is to be upgraded. Thus, the VNFM can determine which node is the group node to be upgraded by using the first message. In this case, the VNFM migrates the services on the group node to be upgraded. This improves the feasibility and reliability of this solution.
[0020] In relation to any one of the fifth possible implementations of the first aspect, in a seventh possible implementation of the first aspect, before upgrading the to-be-upgraded group node, the NFVI upgrade tool or the NFVI batch upgrade tool may further obtain a second message, the second message indicating that all services on the to-be-upgraded group node have been migrated to the other non-upgraded node.
[0021] In this implementation, since the second message indicates that all services on the to-be-upgraded group node have been migrated to the other non-upgraded node, after receiving the second message, the NFVI upgrade tool or the NFVI batch upgrade tool may determine that no services are carried in the to-be-upgraded group, and thus the to-be-upgraded group node may be upgraded without affecting services.
[0022] In relation to any one of the first possible implementation of the first aspect through the fifth possible implementation of the first aspect, in an eighth possible implementation of the first aspect, before migrating services on the other non-upgraded node to the upgraded group node, the VNFM may further obtain a third message, the third message indicating that the to-be-upgraded group node has been upgraded.
[0023] In this implementation, the third message indicates that the group node to be upgraded has been upgraded, so the VNFM can determine that the group node has been upgraded by using the third message. In this case, the VNFM migrates the services on the other non-upgraded node back to the upgraded group node. This improves the feasibility and reliability of this solution.
[0024] In relation to any one of the second possible implementation of the first aspect to the fifth possible implementation of the first aspect, in a ninth possible implementation of the first aspect, before determining the next group node to be upgraded based on the upgrade sequence, the NFVI upgrade tool or the NFVI batch upgrade tool may further obtain a fourth message, the fourth message indicating that services on the other non-upgraded node have been migrated to the upgraded group node. It may be understood that some services on the other non-upgraded node are migrated to the upgraded group node, but not all services are migrated, ensuring that all service nodes are carrying services at this point.
[0025] In this implementation, the fourth message indicates that the services on the other non-upgraded nodes have been migrated to the upgraded group node, so that after receiving the fourth message, the NFVI upgrade tool or the NFVI batch upgrade tool can determine that the upgraded group node is upgraded and begins to bear services. In this case, the next group node to be upgraded may be further determined to ensure that all group nodes to be upgraded are upgraded sequentially. This improves the efficiency of upgrading nodes in batches, and further improves the feasibility and reliability of this solution.
[0026] According to a second aspect, an apparatus for upgrading nodes in a batch is provided, the apparatus for upgrading nodes in a batch being used in a containerization scenario. The apparatus for upgrading nodes in a batch has some or all of the functionality of implementing the network device in any one of the first aspect and possible implementations of the first aspect. For example, the functionality of the apparatus may include functionality in some or all of the embodiments of the network device in the present application, or may include functionality of separately implementing any one of the embodiments in the present application. The functionality may be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more units or modules corresponding to the functionality.
[0027] In one implementation, the mechanism for upgrading nodes in batches is an acquiring module configured to acquire batch information for upgrading, the batch information for upgrading including an upgrade sequence for each group; a determination module configured to determine a group node to be upgraded based on the upgrade sequence; a migration module configured to migrate services on the group node to be upgraded to another non-upgraded node; and an upgrade module configured to upgrade the group node to be upgraded.
[0028] In one possible implementation, the migration module is further configured to migrate services on the other non-upgraded nodes to the upgraded group node after the to-be-upgraded group node is upgraded.
[0029] In one possible implementation, the determination module is further configured to determine a next group node to be upgraded based on the upgrade sequence after services on the other non-upgraded node are migrated to an upgraded group node.
[0030] The migration module is further configured to migrate services on the next-to-be-upgraded group node to another non-upgraded node.
[0031] The upgrade module is further configured to upgrade the next to-be-upgraded group node.
[0032] In one possible implementation, each group includes a node type for each group, an identifier corresponding to a group sequence for each group, node identifiers corresponding to the nodes in each group, and host identifiers corresponding to the nodes in each group.
[0033] The node type of the group node to be upgraded is the same as the node type of the other non-upgraded node.
[0034] In one possible implementation, the apparatus for upgrading nodes in batches further includes a batching module.
[0035] The acquiring module is further configured to acquire a node set before acquiring the batch information for upgrade, where each node in the node set corresponds to a node type.
[0036] The obtaining module is further configured to obtain a node batch rule set, the node batch rule set including a node batch rule corresponding to each node type.
[0037] The batching module is configured to perform batching on the node set based on the node batch rule set to obtain the batch information for upgrade.
[0038] In one possible implementation, the determination module is further configured to determine a service running on the node, the service corresponding to a service type.
[0039] The determination module is further configured to determine a batch rule corresponding to the service type.
[0040] The determination module is further configured to determine a node batch rule corresponding to the node type according to the batch rule corresponding to the service type.
[0041] In one possible implementation, the acquisition module is further configured to acquire a first message before the services on the to-be-upgraded group node are migrated to the other non-upgraded node, the first message indicating that the to-be-upgraded group node is to be upgraded.
[0042] In one possible implementation, the acquisition module is further configured to acquire a second message before the to-be-upgraded group node is upgraded, the second message indicating that all services on the to-be-upgraded group node are to be migrated to the other non-upgraded node.
[0043] In one possible implementation, the acquisition module is further configured to acquire a third message before the services on the other non-upgraded node are migrated to an upgraded group node, the third message indicating that the to-be-upgraded group node has been upgraded.
[0044] In one possible implementation, the acquisition module is further configured to acquire a fourth message before the next to-be-upgraded group node is determined based on the upgrade sequence, the fourth message indicating that the service on the other non-upgraded node has been migrated to an upgraded group node.
[0045] According to a third aspect, there is provided an apparatus for upgrading nodes in batches, comprising a processor. The processor may be coupled to a memory and configured to execute instructions in the memory to perform a method according to any possible implementation of the first aspect. Optionally, a communication device further comprises the memory. Optionally, the communication device further comprises a communication interface. The processor is coupled to the communication interface. The communication interface is configured to input and / or output information. The information comprises at least one of instructions and data.
[0046] In one implementation, the communication device is a network device. When the communication device is a network device, the communication interface may be a transceiver or an input / output interface.
[0047] Optionally, the transceiver may be a transceiver circuit. Optionally, the input / output interface may be an input / output circuit.
[0048] In another implementation, the communication device is a chip or chip system disposed within a network device. When the communication device is a chip or chip system disposed within a network device, the communication interface may be an input / output interface, an interface circuit, an output circuit, an input circuit, a pin, associated circuitry, etc. The processor may alternatively be embodied as a processing circuit or a logic circuit.
[0049] According to a fourth aspect, there is provided a processor including an input circuit, an output circuit, and a processing circuit configured to: receive signals via the input circuit and transmit signals via the output circuit, such that the processor performs a method according to any possible implementation of the first aspect.
[0050] In a particular implementation process, the processor may be a chip, the input circuit may be an input pin, the output circuit may be an output pin, the processing circuit may be a transistor, a gate circuit, a trigger, various logic circuits, etc. The input signal received by the input circuit may be received and input by, for example, but not limited to, a receiver, the signal output by the output circuit may be output to, for example, but not limited to, a transmitter and transmitted by the transmitter, and the input circuit and the output circuit may be the same circuit, which is used as an input circuit and an output circuit at different moments. The particular implementation of the processor and various circuits is not limited in the embodiments of the present application.
[0051] According to a fifth aspect, there is provided an apparatus for upgrading nodes in batches, comprising a communication interface and a processor. The communication interface is coupled to the processor. The communication interface is configured to input and / or output information. The information includes at least one of instructions and data. The processor is configured to execute a computer program, whereby the apparatus for upgrading nodes in batches performs a method according to any possible implementation of the first aspect.
[0052] Optionally, there are one or more processors and one or more memories.
[0053] According to a sixth aspect, there is provided an apparatus for upgrading nodes in batches, comprising a processor and a memory. The processor may be configured to read instructions stored in the memory and receive signals through the receiver and transmit signals through the transmitter such that the apparatus performs a method according to any possible implementation of the first aspect.
[0054] Optionally, there are one or more processors and one or more memories.
[0055] Optionally, the memory may be integrated with the processor, or the memory and the processor may be separately located.
[0056] In a specific implementation process, the memory may be a non-transitory memory, for example, a read-only memory (ROM). The memory and the processor may be integrated into one chip, or may be separately located on different chips. The type of memory and the manner in which the memory and the processor are located are not limited in the embodiment of the present application.
[0057] It should be understood that in the related information exchange process, for example, sending a message may be a process of outputting a message from a processor, and receiving a message may be a process of inputting a received message to a processor. Specifically, the information output by the processor may be output to a transmitter, and the input information received by the processor may be from a receiver. The transmitter and receiver may be collectively referred to as a transceiver.
[0058] The apparatus for upgrading nodes in batches in the fifth and sixth aspects may be a chip. The processor may be implemented by hardware or by software. When the processor is implemented by hardware, the processor may be a logic circuit, an integrated circuit, etc. When the processor is implemented by software, the processor may be a general-purpose processor and is implemented by reading software code stored in a memory. The memory may be integrated into the processor or may be located outside the processor and exist independently.
[0059] According to a seventh aspect there is provided a computer program product, the computer program product comprising a computer program (sometimes referred to as code or instructions) which, when executed, causes a computer to be enabled to carry out a method according to any possible implementation of the first aspect.
[0060] According to an eighth aspect, there is provided a computer readable storage medium storing a computer program (sometimes called code or instructions) which, when executed on a computer, enables the computer to carry out a method according to any possible implementation of the first aspect.
[0061] According to a ninth aspect, the present application provides a chip system, the chip system including a processor and an interface, the interface configured to receive a program or instruction, the processor configured to call the program or instruction to implement or support a network device in implementing a function in the first aspect, such as in determining or processing at least one of the data and information in the method described above.
[0062] In one possible design, the chip system further includes a memory configured to store program instructions and data required for the network device. The chip system may include the chip, or may include both the chip and other discrete components.
[0063] It should be noted that the beneficial effects brought about by the implementation of the second to ninth aspects of the present application can be understood with reference to the implementation of the first aspect, and therefore details will not be repeated. [Brief description of the drawings]
[0064] [Figure 1] FIG. 1 is a schematic diagram of an NFV architecture according to an embodiment of the present application.
[0065] [Figure 2A] 1 is a first half of a schematic diagram of a method for upgrading nodes in batches according to an embodiment of the present application; [Figure 2B] 1 is a second schematic diagram of a method for upgrading nodes in batches according to an embodiment of the present application;
[0066] [Diagram 3] 1 is a flowchart of obtaining a node set according to an embodiment of the present application.
[0067] [Figure 4] 11 is another flowchart of obtaining a node set according to an embodiment of the present application.
[0068] [Diagram 5] 11 is a flowchart of obtaining a node batch rule set according to an embodiment of the present application.
[0069] [Figure 6] 11 is another flowchart of obtaining a node batch rule set according to an embodiment of the present application.
[0070] [Figure 7] 1 is a flow chart of service migration according to an embodiment of the present application.
[0071] [Figure 8] FIG. 2 is a schematic diagram of service migration according to an embodiment of the present application.
[0072] [Figure 9A] 1 is a first half of a schematic diagram of another method for upgrading nodes in batches according to an embodiment of the present application; [Figure 9B] 1 is a second half of a schematic diagram of another method for upgrading nodes in batches according to an embodiment of the present application;
[0073] [Figure 10] FIG. 1 is a schematic diagram of an apparatus for upgrading nodes in batches according to an embodiment of the present application; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0074] The following will clearly and completely describe the technical solutions in the embodiments of the present application with reference to the accompanying drawings in the embodiments of the present application. It is clear that the described embodiments are only a part of the embodiments of the present application, not all of them. In order to facilitate the understanding of the embodiments of the present application, the following description is provided.
[0075] (1) In the embodiments described below, for technical features, "first", "second", "third", etc. are used to distinguish among technical features in the technical features. There is no sequential order or size order among the technical features described by "first", "second", and "third".
[0076] (2) "At least one" means one or more, and "multiple" means two or more. "And / or" describes an association relationship between associated objects and indicates that three relationships may exist. For example, A and / or B may represent the following cases: only A is present, both A and B are present, or only B is present, where A and B may be singular or plural. The symbol " / " generally indicates an "or" relationship between associated objects. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or multiple items. For example, at least one of a, b, and c may represent a, b, c, a and b, a and c, b and c, or a, b, and c, where a, b, and c may each be singular or plural.
[0077] (3) Aspects, embodiments, or features of the present application are presented in the embodiments disclosed herein by describing a system that includes multiple devices, components, modules, etc. It should be understood that each system may include other devices, components, modules, etc. and / or may not include all of the devices, components, modules, etc. described with reference to the accompanying drawings. Additionally, combinations of these solutions may be used.
[0078] (4) In the embodiments of the present application, "of," "relevant," and "corresponding" may be used interchangeably. It should be noted that the meanings conveyed by these terms are consistent unless differences are highlighted.
[0079] In order to better understand the method for upgrading nodes in batches, related apparatus, and devices disclosed in the embodiments of the present application, the nodes described in the embodiments of the present application may be virtual machines (VMs) or bare metal. In the following, a standard architecture used in the embodiments of the present invention will be described first. NFV is mainly used because of the common standard in the industry for network cloudification. Based on modern Internet technology (IT) virtualization technology, a new network product environment is provided to reduce costs, improve efficiency, and increase agility. Universal hardware and virtualization technology such as x86 are used to support software processing of multiple functions to reduce the high device cost of the network. Software and hardware separation and function abstraction may be used. In this way, network device functions no longer depend on dedicated hardware. Resources can be shared fully and flexibly. New services are rapidly developed and deployed. Based on actual service requirements, automatic deployment, flexible scaling, fault isolation, self-healing, etc. are performed. With virtualization technology, telecommunications network functions are implemented in software, can run on general-purpose server hardware, and can be migrated, instantiated, and deployed to different physical locations in the network as needed, without the need to install new devices.
[0080] NFV standardization mainly focuses on the management and orchestration of network services, virtualized network functions, and virtualized resources. In general, the NFV Interface and Architecture Group Working Group in ETSI completes the function definition in the management and orchestration (MANO) framework of virtual resources. FIG. 1 is a schematic diagram of an NFV architecture according to an embodiment of the present application. The NFV architecture may implement multiple networks, such as a local area network (LAN), an internet protocol (IP) network, an evolved packet core (EPC) network, etc. The NFV architecture may include an NFVI, a VNF, a virtualized infrastructure manager (VIM), and a virtual network function manager (VNFM). The NFVI is a group of resources used to host and connect virtual functions. Specifically, the NFVI is a cloud data center that includes servers, virtualized management programs (hypervisors), operating systems, virtual machines, virtual switches, and network resources. The VIM manages and monitors infrastructure resources (including computing resources, storage resources, and network resources) such as FusionSphere and VMware. The VNFM manages the lifecycle of the VNF, including but not limited to automation functions such as deployment, scale-out and scale-in, online and offline, and upgrade functions, obtains requirements for virtual resources such as virtual machines based on templates and VNF capacity requirements through decomposition, and collaborates with the VNF and VIM to complete the function of instantiating the VNF.In a containerized scenario (e.g., VM container or bare metal container), the VNFM may further collaborate with a container as a service (CaaS) manager to complete the function of instantiating a VNF, etc. A VNF includes one or more VNF components (VNFCs) at a lower functional level. Furthermore, one VNF may be deployed on multiple VMs, with each VM responsible for the functionality of one VNFC. A VNF may alternatively be deployed on one VM.
[0081] In addition, the embodiments of the present application further disclose Cloud Computing. Cloud Computing is a new Internet-based computing aspect that provides on-demand computing to individual and enterprise users by using heterogeneous autonomous services on the Internet. This Internet-based computing aspect is likened to the cloud because the resources are on the Internet, and the Internet is often represented as a cloud in a flowchart. Cloud computing resources provided through the Internet are dynamically scalable and virtualized. The terminals do not need to know the details of the infrastructure in the "cloud," have the corresponding expertise, or directly control the infrastructure. Instead, the terminals only need to focus on the specific resources that the terminals actually need and how to obtain the services over the network. Cloud Computing includes three levels of services: infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS). PaaS is a commercial aspect that provides a server platform as a service. PaaS actually means that a software development platform is used as a service provided to users in a SaaS manner. Container is an operating system level virtualization technology, an abbreviation of CaaS. CaaS is a specific type of platform as a service (PaaS) service. Containers isolate different processes by using operating system isolation techniques such as CGroup and NameSpace in Linux. Unlike hardware virtualization technology, container technology does not have virtual hardware, there is no operating system, only processes inside the container.Thanks to this feature of container technology, containers are more lightweight and easier to manage compared to virtual machines. To facilitate management, a group of common management operations, such as starting, stopping, pausing, and deleting a container, are defined in the running state of the container to manage the lifecycle of the container in a unified manner.
[0082] During the actual deployment of the current NFV solution, the NFVI and VNF layers included in the NFV architecture evolve independently. Therefore, batches of I-layer resources on which VNFs are located may be manually organized in advance, and then the I-layer resources are upgraded in batches based on the sequence of the batches. For each batch, services are manually migrated, and then the corresponding I-layer board is upgraded. After the I-layer board is upgraded, the services before the upgrade are manually migrated back. However, by manually migrating / migrating back the services, the operation process needs to be manually performed before / after each batch, which makes the upgrade process relatively complicated. In this case, the operation period is relatively long, attention needs to be paid to the entire operation process, and the upgrade efficiency is relatively low. This reduces the service quality.
[0083] To solve the above problems, an embodiment of the present application provides a method for upgrading nodes in batches, which is used in a containerization scenario to ensure normal provision of services and improve service quality in the process of upgrading nodes in batches.
[0084] In this embodiment of the present application, the tool for performing the node batching function is an NFVI batch tool, and the tool for performing the node upgrade function is an NFVI upgrade tool. The NFVI batch tool and the NFVI upgrade tool may be different tools for separately performing batching and node upgrade. Alternatively, the NFVI batch tool and the NFVI upgrade tool may be integrated into a tool (NFVI batch upgrade tool) for jointly performing the functions of node batching and node upgrade. The following describes the above two cases separately.
[0085] 1. The NFVI batch tool and the NFVI upgrade tool are different tools.
[0086] 2A and 2B are schematic diagrams of a method for upgrading a node in a batch according to an embodiment of the present application. As shown in FIG. 2A and 2B, the method for upgrading a node in a batch includes the following steps:
[0087] S101: NFVI batch tool gets node set.
[0088] In this embodiment, the NFVI batch tool obtains a node set, and each node in the node set corresponds to a node type. It should be understood that in practical application, each node in the node set may further correspond to a node identifier, a node name, and a host identifier. Therefore, the information corresponding to each node should be flexibly determined based on the actual situation.
[0089] Specifically, the NFVI batch tool obtains the node set in two ways. In one way, the NFVI batch tool obtains the node set directly. In the other way, the EMS obtains the node set and delivers the obtained node set to the NFVI batch tool, so that the NFVI obtains the node set. Thus, the above two different ways of obtaining batch information for upgrade are described separately below.
[0090] (1) The NFVI batch tool retrieves the node set directly.
[0091] For ease of understanding, please refer to Fig. 3. Fig. 3 is a flowchart of obtaining a node set according to an embodiment of the present application. As shown in Fig. 3, in step S201, the NFVI batch tool actively queries the VIM for node information of nodes that need to be upgraded. In step S202, the VIM obtains node information by managing and monitoring infrastructure layer resources, and sends the node set including the obtained node information to the NFVI batch tool, so that the NFVI batch tool obtains the node set.
[0092] For example, see Table 1. Table 1 is an example of a node set where the nodes are virtual machines, and each node in the node set corresponds to a node type (Node-Type), a node identifier (Node-Id), a node name (Node-Name), and a host identifier (Host-Id). [Table 1]
[0093] The node type corresponding to the nodes whose node names are "OMU-1" and "OMU-2" is "OMU_VM". The node type corresponding to the nodes whose node identifiers are "vm-spu-id-1", "vm-spu-id-2", "vm-spu-id-3" and "vm-spu-id-4" is "SPU_VM". The node type corresponding to the nodes whose host identifiers are "host-cpu-id-1" and "host-cpu-id-2" is "CPU_VM". Therefore, it can be seen that the node identifiers, node names and host identifiers corresponding to each node are different. However, different nodes may be the same node type. It should be understood that the example in Table 1 is only used to understand this solution. The specific information corresponding to each node should be flexibly determined based on the actual situation.
[0094] (2) The NFVI batch tool obtains the node set by using the EMS.
[0095] For ease of understanding, please refer to FIG. 4. FIG. 4 is another flowchart of acquiring a node set according to an embodiment of the present application. As shown in FIG. 4, in step S301, an operator queries a VIM for node information of nodes that need to be upgraded by using an EMS via a VNFM. In step S302, the VIM acquires node information by managing and monitoring infrastructure layer resources, and sends a node set including the acquired node information to the EMS. Then, in step S303, the node set is delivered to the VIM via a VNFM by using an EMS. Then, the VIM sends the node set to an NFVI batch tool, so that the NFVI batch tool acquires the node set.
[0096] It should be understood that the examples in Figures 3 and 4 are only used to understand this solution. The specific steps for obtaining a node set should be flexibly determined according to the actual situation.
[0097] S102: The NFVI batch tool gets the node batch rule set.
[0098] In this embodiment, the NFVI batch tool obtains a node batch rule set, and the node batch rule set includes a node batch rule corresponding to each node type. Specifically, the node batch rule may include, but is not limited to, a node type priority, a node type quantity threshold, and a node type percentage threshold. For example, node type A is reset in pre-batch, only one node type A is reset in each batch, the maximum reset percentage for node type B is 50%, node type C is reset in post-batch, etc. The specific node batch rule is not limited here.
[0099] Optionally, when there are several node types, i.e., there are also several node batch rules corresponding to each node type included in the node batch rule set, the node batch rule set may be determined manually and directly. Specifically, refer to FIG. 5. FIG. 5 is a flowchart of obtaining a node batch rule set according to an embodiment of the present application. As shown in FIG. 5, in step S401, an operator delivers the determined node batch rule set to a VIM by using an EMS via a VNFM. Then, the VNFM sends the node batch rule set to an NFVI batch tool, so that the NFVI batch tool obtains the node batch rule set.
[0100] For example, see Table 2. Table 2 is an example of batch rules when the nodes are virtual machines. [Table 2]
[0101] The batch rule corresponding to node type "OMU_VM" is "PreBatch&OnlyOneEachBatch". That is, the node corresponding to node type "OMU_VM" needs to be reset in pre-batch, and only one node can be reset in each batch. The batch rule corresponding to node type "SPU_VM" is "MultipleEachBatch&50%". That is, the maximum reset percentage of the node corresponding to node type "SPU_VM" in each batch is 50%. For example, if there are 4 nodes corresponding to node type "SPU_VM", the maximum number of nodes corresponding to node type "SPU_VM" in each batch is 2, since the maximum reset percentage of each batch is 50%. That is, one or two nodes corresponding to node type "SPU_VM" can be reset in each batch. The batch rule corresponding to node type "CPU_VM" is "PostBatch&OnlyOneEachBatch". That is, the node corresponding to the node type "CPU_VM" needs to be reset in post batch, and only one node is reset in each batch. It should be understood that the example in Table 2 is only used to understand this solution. The specific batch rule corresponding to the node type should be flexibly determined based on the actual situation.
[0102] Also, when there are multiple node types, the node batch rule set cannot be determined manually and directly. Specifically, see FIG. 6. FIG. 6 is another flowchart of obtaining a node batch rule set according to an embodiment of the present application. As shown in FIG. 6, in step S501, the NFVI batch tool may include, but is not limited to, querying and obtaining a node batch rule set from a VNF by using an EMS. In step S502, the VNF sends a correspondence between a service and a node to the EMS. In step S503, the EMS obtains and determines a correspondence between a service and a node, where the correspondence between the service and the node includes a correspondence between a service type and a node. Then, in step S503, the EMS determines a batch rule corresponding to the service type. Because each node in the node set corresponds to one node type, in step S504, the EMS can determine a batch rule corresponding to the node type based on the correspondence between the service and the node. Then, in step S505, the EMS obtains a node batch rule set including node batch rules corresponding to each node type based on the node types included in the node set, and sends the node batch rule set to the NFVI batch tool.
[0103] Specifically, the correspondence between services and nodes includes, but is not limited to, a service identifier, a service type, a node identifier, and a node type. For ease of understanding, please refer to Table 3. Table 3 is an example of a correspondence between services and nodes when the node is a virtual machine. The correspondence includes a service identifier (Pod-Id) and a service type (Pod-Type) corresponding to each service, and a node identifier (Node-Id) and a node type (Node-Type) corresponding to each node. [Table 3]
[0104] A service with service type "om-pod" corresponds to a node with node type "OMU_VM". A service with service type "sp-pod" corresponds to a node with node type "SPU_VM". A service with service type "cp-pod" corresponds to a node with node type "CPU_VM". Thus, it can be seen that different nodes can be of the same node type, although the node identifiers corresponding to each node and the service identifiers corresponding to each service are different. The same node type corresponds to the same service type.
[0105] Table 4 is an example of a batch rule when the node is a virtual machine. [Table 4]
[0106] The batch rule corresponding to the service type "om-pod" is "PreBatch&OnlyOneEachBatch". That is, the nodes corresponding to the service type "om-pod" need to be reset in the pre-batch, and only one node is reset in each batch. The batch rule corresponding to the service type "sp-pod" is "MultipleEachBatch&50%". That is, the maximum reset percentage of the nodes corresponding to the service type "sp-pod" in each batch is 50%. For example, if there are 6 nodes corresponding to the service type "sp-pod", the maximum number of nodes corresponding to the service type "sp-pod" in each batch is 3, since the maximum reset percentage of each batch is 50%. That is, one, two, or three nodes corresponding to the service type "sp-pod service" may be reset in each batch. Then, the batch rule corresponding to the service type "cp-pod" is "PostBatch&OnlyOneEachBatch". That is, nodes corresponding to the service type “cp-pod” need to be reset in a post batch, and only one node can be reset in each batch.
[0107] It should be understood that the examples in Tables 3 and 4 are only used to understand this solution. The specific correspondence between services and nodes, and the specific batch rules corresponding to the service types should be flexibly determined based on the actual situation.
[0108] S103: The NFVI batch tool performs batching on the node set based on the node batch rule set to obtain batch information for upgrade.
[0109] In this embodiment, after obtaining the node batch rule set and the node set by using step S101 and step S102, the NFVI batch tool can perform batching on the node set based on the node batch rule set to obtain batch information for upgrade. Specifically, the batch information for upgrade includes the upgrade sequence of each group. In practical application, the batch information for upgrade may further include, but is not limited to, the node type of each group, an identifier corresponding to the group sequence of each group, a node identifier corresponding to the node in each group, and a host identifier corresponding to the node in each group. The specific batch information for upgrade should not be understood as a limitation of this embodiment of the present application.
[0110] For ease of understanding, as an example for illustration, a node set is shown in Table 1, and a node batch rule set is shown in Table 2. From Table 1, it can be seen that the node types included in the node set are "OMU_VM", "SPU_VM" and "CPU_VM". As shown in Table 2, the node corresponding to the node type "OMU_VM" needs to be reset in pre-batch, and only one node needs to be reset in each batch, the maximum reset percentage for the node corresponding to the node type "SPU_VM" in each batch is 50%, and the node corresponding to the node type "CPU_VM" needs to be reset in post-batch, and only one node needs to be reset in each batch. Therefore, to obtain the batch information for upgrade, batching may be performed on the node set based on the aforementioned node batch rule set.
[0111] Specifically, since the node corresponding to "OMU_VM" needs to be reset in the pre-batch and only one node is reset in each batch, two nodes with node identifiers as "vm-omu-id-1" and "vm-omu-id-2" corresponding to node type "OMU_VM" cannot be reset in the same batch and both need to be reset in the pre-batch. That is, the nodes corresponding to node identifiers "vm-omu-id-1" and "vm-omu-id-2" are batched separately into an upgrade batch with a higher ranking. Then, the maximum reset percentage for the node corresponding to "SPU_VM" in each batch is 50%, and the four node identifiers corresponding to node type "SPU_VM" are the nodes corresponding to "vm-spu-id-1" to "vm-spu-id-4". That is, only one or two nodes with node identifiers from "vm-spu-id-1" to "vm-spu-id-4" may be reset in each batch. Since the nodes corresponding to "CPU_VM" need to be reset in a post batch and only one node can be reset in each batch, two nodes with node identifiers as "vm-cpu-id-1" and "vm-cpu-id-2" corresponding to node type "CPU_VM" cannot be reset in the same batch and both need to be reset in a post batch, i.e., the nodes corresponding to node identifiers "vm-cpu-id-1" and "vm-cpu-id-2" are batched separately into an upgrade batch with a lower ranking.
[0112] Based on the above description, please refer to Table 5. Table 5 is an example of batch information for upgrading obtained by performing batching on the node set shown in Table 1 based on the node batch rule set shown in Table 2. It should be understood that the example of Table 5 is only used for understanding this solution, and the specific batch information for upgrading should be flexibly determined according to the actual situation. [Table 5]
[0113] S104: The NFVI upgrade tool obtains batch information for upgrade.
[0114] In this embodiment, the NFVI upgrade tool obtains batch information for the upgrade from the NFVI batch tool.
[0115] S105: The NFVI upgrade tool determines the group nodes to be upgraded based on the upgrade sequence.
[0116] In this embodiment, the batch information for the upgrade includes the upgrade sequence of each group, so that the NFVI upgrade tool can determine the group nodes to be upgraded based on the upgrade sequence.
[0117] For example, the batch information for upgrade shown in Table 5 is used as an example for explanation. From Table 5, it can be seen that the NFVI upgrade tool can determine that a node included in a group with a group sequence identifier of "1" is a group node to be upgraded based on the upgrade sequence. That is, the nodes corresponding to node identifiers vm-omu-id-1, vm-spu-id-1, and vm-spu-id-3 are group nodes to be upgraded.
[0118] S106: The VNFM obtains the first message.
[0119] In this embodiment, after the NFVI upgrade tool determines the group node to be upgraded, the NFVI upgrade tool may further send a first message to the VNFM, where the first message indicates that the group node to be upgraded should be upgraded. In this way, the VNFM receives the first message sent by the NFVI upgrade tool, and the VNFM is triggered to perform step S107.
[0120] For example, the NFVI upgrade tool determines that the nodes corresponding to the node identifiers “vm-omu-id-1”, “vm-spu-id-1”, and “vm-spu-id-3” are group nodes to be upgraded. In this case, the VNFM may determine by using the first message that the nodes corresponding to the node identifiers “vm-omu-id-1”, “vm-spu-id-1”, and “vm-spu-id-3” need to be upgraded.
[0121] S107: The VNFM migrates services on the group node to be upgraded to another non-upgraded node.
[0122] In this embodiment, the VNFM migrates all services on the group node to be upgraded to the other non-upgraded node. Optionally, the node type of the group node to be upgraded is the same as the node type of the other non-upgraded node.
[0123] Specifically, please refer to FIG. 7. FIG. 7 is a flow chart of service migration according to an embodiment of the present application. As shown in FIG. 7, in step S601, the VNFM inquires of the CaaS manager about the service status and stack status of the node deployment. In step S602, the CaaS manager feedbacks the service status and stack status of the node deployment to the VNFM. When the stack is in a normal state, in step S603, the VNFM sends a batch upgrade message to the VNF, and the batch upgrade message includes a list of nodes to which services need to be migrated. That is, the group nodes to be upgraded are included, so that the VNF is triggered to migrate the services or traffic corresponding to the group nodes to be upgraded. Thus, in step S604, the VNF migrates the services on the group nodes to be upgraded to the other non-upgraded nodes, thereby completing the service migration. Optionally, in the process of migrating the service or traffic corresponding to the group node to be upgraded, the VNF may further notify the VNFM of the service or traffic migration result and progress, such as, migration of 80% of the services of the group node to be upgraded is completed, or migration of the group node to be upgraded is completed, or migration of some of the group nodes to be upgraded has failed, etc. It should be understood that the above examples are only used to understand this solution, and the specific service migration process and manner should be flexibly determined based on the actual situation.
[0124] Furthermore, the VNFM needs to migrate the original services carried on the group nodes to be upgraded to nodes having the same node type and not participating in the upgrade. For example, Table 1 is used as an example for illustration. If the group nodes to be upgraded are the nodes corresponding to node identifiers "vm-omu-id-1", "vm-spu-id-1", and "vm-spu-id-3", the non-upgraded node having the same node type as that of the node corresponding to node identifier "vm-omu-id-1" is the node corresponding to "vm-omu-id-2". Thus, the services on the node corresponding to node identifier "vm-omu-id-1" can be migrated to the node corresponding to node identifier "vm-omu-id-2". Similarly, the services on the nodes corresponding to node identifiers "vm-spu-id-1" and "vm-spu-id-3" can be migrated to at least one of the nodes corresponding to node identifiers "vm-spu-id-2" and "vm-spu-id-4". For ease of understanding, please refer to FIG. 8. FIG. 8 is a schematic diagram of service migration according to an embodiment of the present application. As shown in FIG. 8, A1 and A2 indicate group nodes to be upgraded, and A3 and A4 indicate non-upgraded nodes. From the above embodiment, it can be seen that the group node A1 to be upgraded, the group node A2 to be upgraded, the non-upgraded node A3, and the non-upgraded node A4 all belong to the node type of "SPU_VM". Therefore, in order to ensure normal service execution, the services of the group node A1 to be upgraded and the group node A2 to be upgraded can be migrated to the non-upgraded node A3 and the non-upgraded node A4. The above example is only used to understand this solution. The specific non-upgraded nodes for service migration should be flexibly determined according to the actual situation.
[0125] In addition, the migration described in this embodiment of the present application may be a balanced migration or an unbalanced migration. For example, a group node to be upgraded carries six services, and there are two non-upgraded nodes with the same node type as the group node to be upgraded. In this case, the balanced migration needs to balance the six services to the two non-upgraded nodes, that is, the two non-upgraded nodes receive the three migrated services separately. Similarly, the unbalanced migration means that the services do not need to be fully migrated in a balanced node, so that the six services can be directly migrated to one of the two non-upgraded nodes. The above example is only used to understand this solution. The specific amount of services to be migrated should be flexibly determined according to the actual situation.
[0126] S108: The NFVI upgrade tool receives a second message.
[0127] In this embodiment, considering the case where the VNFM can correspond to multiple VNFs, the VNFM needs to consolidate the service migration process progress of the to-be-upgraded group node. That is, the VNF notifies the VNFM of the service or traffic migration result that the to-be-upgraded group node has succeeded in the service migration, i.e., completed the service migration. In this case, the to-be-upgraded group node is not carrying any service and can be upgraded. Therefore, the VNFM sends a second message to the NFVI upgrade tool to indicate that all services on the to-be-upgraded group node have been migrated to the other non-upgraded node. That is, the NFVI upgrade tool obtains the second message sent by the VNFM.
[0128] Then, if any one of the group nodes to be upgraded fails, it is determined that the migration has failed. In this case, the VNFM does not send a second message to the NFVI upgrade tool.
[0129] S109: The NFVI upgrade tool upgrades the group nodes to be upgraded.
[0130] In this embodiment, after obtaining the second message in step S108, the NFVI upgrade tool may determine that all services on the group node have been migrated to the other non-upgraded node, i.e., no services are carried on the to-be-upgraded group node. In this case, the NFVI upgrade tool notifies the NFVI layer (invoking the VIM interface) to upgrade the to-be-upgraded group node. Specifically, the process of upgrading the to-be-upgraded group node includes, but is not limited to, disabling the to-be-upgraded group node, resetting the host, loading the new version of the software, and then restarting and enabling the to-be-upgraded group node.
[0131] S110: The VNFM obtains the third message.
[0132] In this embodiment, after determining that the group node to be upgraded has been upgraded, the NFVI upgrade tool needs to send a third message to the VNFM, which indicates that the group node to be upgraded has been upgraded. Thus, the VNFM obtains the third message sent by the NFVI upgrade tool.
[0133] S111: The VNFM migrates services on the other non-upgraded node to the upgraded group node.
[0134] In this embodiment, after obtaining the third message in step S110, the VNFM may determine that the to-be-upgraded group node has been upgraded. In this case, the services on the other non-upgraded nodes need to be migrated to the upgraded group node. The manner of migrating services is similar to step S107. Details are not described again here.
[0135] It may be appreciated that some services on the other non-upgraded nodes are migrated to the upgraded group node, but not all services, to ensure that all service nodes are responsible for the services at this point.
[0136] Optionally, the difference between the amount of service carried in the other non-upgraded node after the service migration is completed and the amount of service carried in the upgraded group node may be less than a preset threshold to achieve traffic balancing. For example, the amount of service carried in the other non-upgraded node after the service migration is completed is 990 per single node, and the amount of service carried in the upgraded group node is 980 per single node. In this case, it may be determined that traffic balancing is achieved. Alternatively, the service load carried in the other non-upgraded node after the service migration is completed is 90% per single node, and the service load carried in the upgraded group node is 85% per single node. In this case, it may be determined that traffic balancing is achieved. It should be understood that the above example is only used to understand this solution and should not be understood as a limitation on this embodiment of the present application.
[0137] S112: The NFVI upgrade tool gets the fourth message.
[0138] In this embodiment, considering the case where the VNFM can correspond to multiple VNFs, the VNFM needs to integrate the service migration process progress of the other non-upgraded node. That is, the VNF notifies the VNFM of the service or traffic migration result that the other non-upgraded node has succeeded in the service migration, i.e., completed the service migration. In this case, the service is carried again in the group node to be upgraded. Therefore, the VNFM sends a fourth message to the NFVI upgrade tool to indicate that the service on the other non-upgraded node has been migrated to the upgraded group node. That is, the NFVI upgrade tool obtains the fourth message sent by the VNFM.
[0139] Then, if any one of the non-upgraded nodes fails, the migration is determined to have failed. In this case, the VNFM does not send the fourth message to the NFVI upgrade tool.
[0140] S113: The NFVI upgrade tool determines the next group node to be upgraded based on the upgrade sequence.
[0141] In this embodiment, the batch information for the upgrade includes the upgrade sequence of each group, so that the NFVI upgrade tool can determine the next group node to be upgraded based on the upgrade sequence.
[0142] For example, the batch information for upgrade shown in Table 5 is used as an example for explanation. It can be seen from Table 5 that if a node included in a group corresponding to group sequence identifier "1" is the group node to be upgraded, it can be determined based on the upgrade sequence that the next group node to be upgraded is a node included in a group corresponding to group sequence identifier "2". That is, the nodes corresponding to node identifiers "vm-omu-id-2", "vm-spu-id-2" and "vm-spu-id-4" are the next group nodes to be upgraded.
[0143] S114: The VNFM obtains the first message.
[0144] In this embodiment, after the NFVI upgrade tool determines the group node to be upgraded, the NFVI upgrade tool may further send a first message to the VNFM, where the first message indicates that the next group node to be upgraded should be upgraded. In this way, when the VNFM receives the first message sent by the NFVI upgrade tool, the VNFM is triggered to perform step S115.
[0145] S115: The VNFM migrates services on the next to be upgraded group node to another non-upgraded node.
[0146] In this embodiment, the manner in which the VNFM migrates all services on the next to-be-upgraded group node to another non-upgraded node is similar to step S107, and the details are not described again here.
[0147] S116: The NFVI upgrade tool gets a second message.
[0148] In this embodiment, the manner in which the NFVI upgrade tool obtains the second message is similar to the manner in step S108. Details will not be described again here. The second information indicates that all services on the next to-be-upgraded group node have been migrated to the other non-upgraded node.
[0149] S117: The NFVI upgrade tool upgrades the next group node to be upgraded.
[0150] In this embodiment, the manner in which the NFVI upgrade tool upgrades the next group node to be upgraded is similar to step S109. Details will not be described again here.
[0151] 2. The NFVI Batch Upgrade Tool and the NFVI Upgrade Tool are integrated as the NFVI Batch Upgrade Tool.
[0152] 9A and 9B are schematic diagrams of another method for upgrading nodes in batches according to an embodiment of the present application. As shown in FIG. 9A and 9B, the method for upgrading nodes in batches includes the following steps:
[0153] S701: NFVI batch upgrade tool gets a set of nodes.
[0154] In this embodiment, the manner in which the NFVI batch upgrade tool obtains the node set is similar to step S101, and the details are not described again here.
[0155] S702: The NFVI batch upgrade tool obtains the node batch rule set.
[0156] In this embodiment, the manner in which the NFVI batch upgrade tool obtains the node batch rule set is similar to step S102. The details are not described again here.
[0157] S703: The NFVI batch upgrade tool performs batching on the node set based on the node batch rule set to obtain batch information for upgrade.
[0158] In this embodiment, the manner in which the NFVI batch upgrade tool performs batching on a node set based on a node batch rule set to obtain batch information for upgrade is similar to step S103. Details are not described again here.
[0159] S704: The NFVI batch upgrade tool determines a group of nodes to be upgraded based on an upgrade sequence.
[0160] In this embodiment, the batch information for upgrade acquired by the NFVI batch upgrade tool includes the upgrade sequence of each group, so that the NFVI batch upgrade tool can determine the group nodes to be upgraded based on the upgrade sequence. The manner in which the NFVI batch upgrade tool determines the group nodes to be upgraded based on the upgrade sequence is similar to step S105. The details will not be described again here.
[0161] S705: The VNFM obtains the first message.
[0162] In this embodiment, the manner in which the VNFM obtains the first message is similar to step S106. The details are not described again here.
[0163] S706: The VNFM migrates services on the group node to be upgraded to another non-upgraded node.
[0164] In this embodiment, the manner in which the VNFM migrates the services on the group node to be upgraded to another non-upgraded node is similar to step S107, and the details are not described again here.
[0165] S707: The NFVI batch upgrade tool gets the second message.
[0166] In this embodiment, the manner in which the NFVI batch upgrade tool obtains the second message is similar to step S108. The details are not described again here.
[0167] S708: The NFVI batch upgrade tool upgrades the group nodes to be upgraded.
[0168] In this embodiment, the manner in which the NFVI batch upgrade tool upgrades the group nodes to be upgraded is similar to step S109. Details will not be described again here.
[0169] S709: The VNFM obtains the third message.
[0170] In this embodiment, the manner in which the VNFM obtains the third message is similar to step S110. The details are not described again here.
[0171] S710: The VNFM migrates services on the other non-upgraded node to the upgraded group node.
[0172] In this embodiment, the manner in which the VNFM migrates the service on the other non-upgraded group node to the upgraded group node is similar to step S111. Details are not described again here.
[0173] S711: NFVI batch upgrade tool gets the fourth message.
[0174] In this embodiment, the manner in which the NFVI batch upgrade tool obtains the fourth message is similar to step S112. The details are not described again here.
[0175] S712: The NFVI batch upgrade tool determines the next group node to be upgraded based on the upgrade sequence.
[0176] In this embodiment, the manner in which the NFVI batch upgrade tool determines the next group node to be upgraded based on the upgrade sequence is similar to step S113. Details are not described again here.
[0177] S713: The VNFM obtains the first message.
[0178] In this embodiment, the manner in which the VNFM obtains the first message is similar to step S114. The details are not described again here.
[0179] S714: The VNFM migrates services on the next to-be-upgraded group node to another non-upgraded node.
[0180] In this embodiment, the manner in which the VNFM migrates the services on the next to-be-upgraded group node to the other non-upgraded node is similar to step S115, and the details are not described again here.
[0181] S715: The NFVI batch upgrade tool gets the second message.
[0182] In this embodiment, the manner in which the NFVI batch upgrade tool obtains the second message is similar to step S116. The details are not described again here.
[0183] S716: The NFVI batch upgrade tool upgrades the next group node to be upgraded.
[0184] In this embodiment, the manner in which the NFVI batch upgrade tool upgrades the next group node to be upgraded is similar to step S117. Details will not be described again here.
[0185] The above mainly describes the solutions provided in the embodiments of the present application from the perspective of a method. It can be understood that, to implement the aforementioned functions, an apparatus for upgrading nodes in a batch includes a hardware structure and / or a software module for performing the corresponding functions. Those skilled in the art should easily recognize that the present application may be implemented by hardware or a combination of hardware and computer software, in combination with the exemplary modules and algorithm steps described in the embodiments disclosed herein. Whether the functions are performed by hardware or by hardware driven by computer software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be considered to go beyond the scope of the present application.
[0186] In the embodiment of the present application, the apparatus for upgrading nodes in batches may be divided into functional modules based on the above method embodiment. For example, each functional module may be obtained through division based on each corresponding function, or two or more functions may be integrated into one processing module. The integrated module may be implemented in the form of hardware or in the form of a software functional module. It should be noted that in the embodiment of the present application, the module division is an example and is merely a logical function division. Another division method may be used during actual implementation.
[0187] The following describes in detail the apparatus for upgrading nodes in batches in this application. Figure 10 is a schematic diagram of an apparatus for upgrading nodes in batches according to an embodiment of the present application. As shown in Figure 10, the apparatus 1000 for upgrading nodes in batches includes: an acquisition module 1001 configured to acquire batch information for upgrading, the batch information for upgrading including an upgrade sequence for each group; A determination module 1002 configured to determine a group node to be upgraded based on the upgrade sequence; a migration module 1003 configured to migrate services on the group node to be upgraded to another non-upgraded node; An upgrade module 1004 configured to upgrade the group node to be upgraded.
[0188] In an optional implementation, based on an embodiment corresponding to FIG. 10, in another embodiment of the apparatus 1000 for upgrading nodes in a batch provided in this embodiment of the present application, the migration module 1003 is further configured to migrate services on the other non-upgraded nodes to the upgraded group node after the to-be-upgraded group node is upgraded.
[0189] In an optional implementation, based on an embodiment corresponding to FIG. 10, in another embodiment of the apparatus 1000 for upgrading nodes in a batch provided in this embodiment of the present application, the determination module 1002 is further configured to: determine the next group node to be upgraded based on an upgrade sequence after services on the other non-upgraded node are migrated to the upgraded group node.
[0190] The migration module 1003 is further configured to migrate services on the next-to-be-upgraded group node to another non-upgraded node.
[0191] The upgrade module 1004 is further configured to upgrade the next to-be-upgraded group node.
[0192] In an optional implementation, based on the embodiment corresponding to FIG. 10, in another embodiment of the apparatus 1000 for upgrading nodes in batches provided in this embodiment of the present application, each group includes a node type for each group, an identifier corresponding to a group sequence for each group, a node identifier corresponding to the nodes in each group, and a host identifier corresponding to the nodes in each group.
[0193] The node type of the group node to be upgraded is the same as the node type of the other non-upgraded node.
[0194] In an optional implementation, based on an embodiment corresponding to FIG. 10 , in another embodiment of the apparatus 1000 for upgrading nodes in batches provided in this embodiment of the present application, the apparatus 1000 for upgrading nodes in batches further includes a batching module 1005.
[0195] The acquiring module 1001 is further configured to acquire a node set before acquiring the batch information for the upgrade, where each node in the node set corresponds to a node type.
[0196] The acquiring module 1001 is further configured to acquire a node batch rule set, the node batch rule set including a node batch rule corresponding to each node type.
[0197] The batching module 1005 is configured to perform batching on a set of nodes based on a node batch rule set to obtain batch information for the upgrade.
[0198] In an optional implementation, in another embodiment of the apparatus 1000 for upgrading nodes in a batch provided in this embodiment of the present application based on the embodiment corresponding to Fig. 10, the determination module 1002 is further configured to determine a service running on the node. The service corresponds to a service type.
[0199] The determination module 1002 is further configured to determine a batch rule corresponding to the service type.
[0200] The determination module 1002 is further configured to determine a node batch rule corresponding to the node type according to the batch rule corresponding to the service type.
[0201] In an optional implementation, in another embodiment of the apparatus 1000 for upgrading nodes in a batch provided in this embodiment of the present application based on the embodiment corresponding to Fig. 10, the acquisition module 1001 is further configured to acquire a first message before services on the to-be-upgraded group node are migrated to the other non-upgraded node, the first message indicating that the to-be-upgraded group node is to be upgraded.
[0202] In an optional implementation, in another embodiment of the apparatus 1000 for upgrading nodes in a batch provided in this embodiment of the present application based on the embodiment corresponding to Fig. 10, the acquisition module 1001 is further configured to acquire a second message before the to-be-upgraded group node is upgraded, the second message indicating that all services on the to-be-upgraded group node have been migrated to the other non-upgraded node.
[0203] In an optional implementation, in another embodiment of the apparatus 1000 for upgrading nodes in a batch provided in this embodiment of the present application based on the embodiment corresponding to Fig. 10, the acquisition module 1001 is further configured to acquire a third message before services on the other non-upgraded nodes are migrated to the upgraded group node, the third message indicating that the to-be-upgraded group node has been upgraded.
[0204] In an optional implementation, in another embodiment of the apparatus 1000 for upgrading nodes in a batch provided in this embodiment of the present application based on the embodiment corresponding to Fig. 10, the acquisition module 1001 is further configured to acquire a fourth message before the next group node to be upgraded is determined based on an upgrade sequence, the fourth message indicating that services on the other non-upgraded node are to be migrated to the upgraded group node.
[0205] The present application further provides an apparatus for upgrading nodes in a batch, the apparatus including at least one processor configured to execute a computer program stored in a memory, such that the apparatus for upgrading nodes in a batch performs the method performed by the NFVI batch tool, the NFVI upgrade tool, the NFVI batch upgrade tool, and the VNFM in any one of the aforementioned method embodiments.
[0206] It should be understood that the above-mentioned apparatus for upgrading nodes in a batch can be one or more chips. For example, the apparatus for upgrading nodes in a batch can be a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a system on chip (SoC), a central processor unit (CPU), a network processor (NP), a digital signal processor (DSP) circuit, a micro controller unit (MCU), a programmable controller (programmable logic device, PLD), or another integrated chip.
[0207] An embodiment of the present application further provides an apparatus for upgrading nodes in batches, including a processor and a communication interface. The communication interface is coupled to the processor. The communication interface is configured to input and / or output information. The information includes at least one of instructions and data. The processor is configured to execute a computer program, such that the apparatus for upgrading nodes in batches performs the method performed by the NFVI batch tool, the NFVI upgrade tool, the NFVI batch upgrade tool, and the VNFM in any one of the method embodiments described above.
[0208] An embodiment of the present application further provides an apparatus for upgrading nodes in a batch, the apparatus including a processor and a memory, the memory configured to store a computer program, and the processor configured to retrieve and execute the computer program from the memory, such that the apparatus for upgrading nodes in a batch performs the method performed by the NFVI batch tool, the NFVI upgrade tool, the NFVI batch upgrade tool, and the VNFM in any one of the method embodiments described above.
[0209] In one implementation process, the steps in the aforementioned method may be implemented by using hardware integrated logic circuits in a processor or by using instructions in the form of software. The steps of the method disclosed with reference to the embodiments of the present application may be directly executed and achieved by a hardware processor, or may be executed and achieved by using a combination of hardware and software modules in a processor. The software modules may be located in a mature storage medium in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, or a register. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the aforementioned method in combination with the hardware of the processor. To avoid repetition, the details will not be described again here.
[0210] It should be noted that the processor in the embodiments of the present application may be an integrated circuit chip and have signal processing capabilities. In one implementation process, the steps in the above method embodiments can be implemented by using hardware integrated logic circuits in the processor or by using instructions in the form of software. The processor may be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or another programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. It may implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor may be a microprocessor, or the processor may be any conventional processor, etc. The steps of the methods disclosed with reference to the embodiments of the present application may be directly performed and accomplished by a hardware decoding processor, or may be performed and accomplished by using a combination of hardware and software modules in the decoding processor. The software modules may be located in a mature storage medium in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, or a register. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above-mentioned method in combination with the processor's hardware.
[0211] It can be understood that the memory in this embodiment of the present application may be volatile or non-volatile memory, or may include volatile and non-volatile memory. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory may be random access memory (RAM) used as an external cache. By way of example and not limitation, many forms of RAM may be used, such as static random access memory (static RAM, SRAM), dynamic random access memory (dynamic RAM, DRAM), synchronous dynamic random access memory (synchronous DRAM, SDRAM), double data rate synchronous dynamic random access memory (double data rate SDRAM, DDR SDRAM), enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), synchlink dynamic random access memory (synchlink DRAM, SLDRAM), and direct rambus dynamic random access memory (direct rambus RAM, DR RAM). It should be noted that the memory of the systems and methods described herein includes, but is not limited to, these and any other suitable types of memory.
[0212] According to the methods provided in the embodiments of the present application, the present application further provides a computer program product, which includes computer program code, which, when executed on a computer, enables the computer to execute the methods performed by the NFVI batch tool, the NFVI upgrade tool, the NFVI batch upgrade tool, and the VNFM in the embodiments shown in Figures 2A and 2B through 9A and 9B.
[0213] According to the method provided in the embodiment of the present application, the present application further provides a computer-readable storage medium, which stores computer program code, which, when executed on a computer, enables the computer to execute the methods performed by the NFVI batch tool, the NFVI upgrade tool, the NFVI batch upgrade tool, and the VNFM in the embodiments shown in Figures 2A and 2B to 9A and 9B.
[0214] According to the method provided in the embodiment of the present application, the present application further provides a system including one or more of an NFVI batch tool, an NFVI upgrade tool, an NFVI batch upgrade tool, and a VNFM.
[0215] The NFVI batch tool, NFVI upgrade tool, NFVI batch upgrade tool, or VNFM in the above-mentioned apparatus embodiments fully correspond to the NFVI batch tool, NFVI upgrade tool, NFVI batch upgrade tool, or VNFM in the method embodiments, and perform the steps by using the corresponding modules or units. For example, a communication unit (transceiver) performs the receiving or transmitting step in the method embodiments, and other steps other than transmitting and receiving may be performed by a processing unit (processor). For the functions of specific units, please refer to the corresponding method embodiments. There may be one or more processors.
[0216] As used herein, terms such as "component," "module," and "system" are used to indicate computer-related entities, hardware, firmware, a combination of hardware and software, software, or software being executed. For example, a component may be, but is not limited to, a process running on a processor, a processor, an object, an executable file, a thread of execution, a program, and / or a computer. As illustrated by the use of the diagrams, both computing devices and applications running on computing devices may be components. One or more components may reside within a process and / or thread of execution, and a component may be located on one computer and / or distributed among two or more computers. Additionally, these components may execute from various computer-readable media that store various data structures. For example, components may communicate by using local and / or remote processes, based on, for example, signals having one or more data packets (e.g., data from two components interacting with another component in a local system, a distributed system, and / or across a network such as the Internet that interacts with other systems by using signals).
[0217] Those skilled in the art may recognize that the units and algorithm steps may be implemented by electronic hardware or a combination of computer software and electronic hardware in combination with the examples described in the embodiments disclosed herein. Whether a function is performed by hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be considered to go beyond the scope of this application.
[0218] For the sake of convenience, the detailed operating processes of the above-mentioned systems, devices and units may be referred to the corresponding processes in the above-mentioned method embodiments, which can be clearly understood by those skilled in the art, and the details will not be described again here.
[0219] In some embodiments provided in the present application, it should be understood that the disclosed system, device, and method may be implemented in other manners. For example, the described device embodiment is merely an example. For example, the division into units is merely a logical functional division, and may be other divisions in actual implementation. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not implemented. In addition, the shown or discussed mutual couplings or direct couplings or communication connections may be implemented by using some interfaces. Indirect couplings or communication connections between devices or units may be implemented electronically, mechanically, or in other ways.
[0220] The units described as separate parts may or may not be physically separate, and the parts shown as units may or may not be physical units, and may be located in one location or distributed over multiple network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of the embodiments.
[0221] In addition, the functional units in the embodiments of the present application may be integrated into one processing unit, or each of the units may exist physically alone, or two or more units may be integrated into one unit.
[0222] When a function is implemented in the form of a software functional unit and sold or used as an independent product, the function may be stored in a computer-readable storage medium. Based on such understanding, the technical solution of the present application may essentially, or a part that contributes to the prior art, or a part of the technical solution may be implemented in the form of a software product. The computer software product includes some instructions stored in a storage medium to instruct a computer device (which may be a personal computer, a server, a network device, etc.) to execute all or part of the steps of the method described in the embodiments of the present application. The aforementioned storage medium includes any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0223] The above description is merely a specific implementation of the present application, and is not intended to limit the scope of protection of the present application. Any variations or replacements that are easily conceived by those skilled in the art within the technical scope disclosed in this application shall fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be subject to the scope of protection of the claims.
Claims
1. A computer-implemented method for upgrading nodes in a batch, comprising: obtaining batch information for an upgrade, the batch information for an upgrade including one or more groups, each group corresponding to a batch and including one or more group nodes to be upgraded, the batch information including an upgrade sequence for each group; determining a group of nodes to be upgraded based on the upgrade sequence; migrating services on the group node to be upgraded to another non-upgraded node; upgrading the to-be-upgraded group node into an upgraded group node; migrating only a portion of the services on the other non-upgraded node back to the upgraded group node. method.
2. The method of claim 1, wherein each group node is a virtual machine.
3. After migrating services on the other non-upgraded nodes to the upgraded group nodes, the method further includes: determining a next group node to be upgraded based on an upgrade sequence; migrating services on the next to-be-upgraded group node to another non-upgraded node; upgrading the next to-be-upgraded group node. The method according to claim 1 or 2.
4. The batch information includes a node type of a group node of each group, an identifier corresponding to an upgrade sequence of each group, a node identifier corresponding to a node in each group, and a host identifier corresponding to the node in each group; the node type of the group node to be upgraded is the same as the node type of the other non-upgraded node; 4. The method according to any one of claims 1 to 3.
5. Before obtaining batch information for upgrading, the method: obtaining a node set, each node in the node set corresponding to a node type; obtaining a node batch rule set, the node batch rule set including a node batch rule corresponding to each node type; performing batching on the node set based on the node batch rule set to obtain the batch information for upgrade.
5. The method according to any one of claims 1 to 4.
6. determining services running on a node, the services corresponding to a service type; determining a batch rule corresponding to the service type; determining a node batch rule corresponding to the node type according to the batch rule corresponding to the service type. The method according to claim 5.
7. Before migrating services on the group node to be upgraded to another non-upgraded node, the method includes: and obtaining a first message, the first message indicating that the to-be-upgraded group node is to be upgraded.
7. The method according to any one of claims 1 to 6.
8. Before upgrading the group node to be upgraded, the method includes: obtaining a second message, the second message indicating that all services on the to-be-upgraded group node have been migrated to the other non-upgraded node.
7. The method according to any one of claims 1 to 6.
9. Before migrating services on the other non-upgraded node to the upgraded group node, the method includes: and receiving a third message, the third message indicating that the to-be-upgraded group node has been upgraded.
7. The method according to any one of claims 2 to 6.
10. Before determining a next group node to be upgraded based on the upgrade sequence, the method includes: obtaining a fourth message, the fourth message indicating that services on the other non-upgraded node have been migrated to the upgraded group node.
7. The method according to any one of claims 3 to 6.
11. 1. An apparatus for upgrading nodes in batches, comprising: an acquisition module configured to acquire batch information for an upgrade, the batch information for an upgrade including one or more groups, each group corresponding to a batch and including one or more group nodes to be upgraded, the batch information including an upgrade sequence for each group; a determination module configured to determine a group node to be upgraded based on the upgrade sequence; a migration module configured to migrate services on the group node to be upgraded to another non-upgraded node; an upgrade module configured to upgrade the to-be-upgraded group node into an upgraded group node; the migration module is further configured to migrate only a portion of the services on the other non-upgraded node back to the upgraded group node after the to-be-upgraded group node has been upgraded. Device.
12. The apparatus of claim 11, wherein each group node is a virtual machine.
13. The determination module is further configured to determine a next group node to be upgraded based on the upgrade sequence after services on the other non-upgraded node are migrated to the upgraded group node; The migration module is further configured to migrate services on the next to-be-upgraded group node to another non-upgraded node; the upgrade module is further configured to upgrade the next to-be-upgraded group node.
13. Apparatus according to claim 11 or 12.
14. The apparatus for upgrading nodes in batches further includes a batching module; The acquiring module is further configured to acquire a node set before acquiring the batch information for upgrading, each node in the node set corresponding to a node type; The obtaining module is further configured to obtain a node batch rule set, the node batch rule set including a node batch rule corresponding to each node type; the batching module is configured to perform batching on the set of nodes based on the node batch rule set to obtain the batch information for upgrade; 14. Apparatus according to any one of claims 11 to 13.
15. A computer readable storage medium storing a computer program for causing a computer to carry out the method according to any one of claims 1 to 10.
Citation Information
Patent Citations
Non-disruptive software update system based on container cluster
US20200073655A1
Upgrade management method and scheduling node, and storage system
US20200218453A1