A method, related apparatus, and equipment for phased upgrades of nodes.
By leveraging the collaborative work of NFVI upgrade tools and VNFM, and employing a phased upgrade approach, the complex and inefficient VNF layer upgrade problem in the NFV architecture was resolved, resulting in improved service quality and balanced distribution.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2021-01-15
- Publication Date
- 2026-05-26
Smart Images

Figure CN116711276B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communications, and more particularly to a method, related apparatus, and device for phased upgrades of nodes. Background Technology
[0002] With the increasing trend of network cloudification, the 3rd Generation Partnership Project (3GPP) has launched the Network Functions Virtualization (NFV) architecture from the European Telecommunications Standards Institute (ETSI). NFV, as a key technology within this architecture, has received widespread attention and importance from the telecommunications industry. Standardization organizations have conducted in-depth research on it, and it has been practically applied in various aspects of the industry chain. As actual network services change and evolve, the Virtualized Network Function (VNF) layer in the NFV architecture also needs to be upgraded according to service requirements.
[0003] Currently, when NFV solutions are actually deployed, the network function virtualization infrastructure (NFVI) solution and VNF layer included in the NFV architecture will evolve independently. Therefore, the I-layer resources where the VNF is located can be manually orchestrated in batches in advance, and then upgraded in batches according to the batch order. For each batch, the services are first manually migrated away, and then the corresponding I-layer boards are upgraded. After the I-layer boards are upgraded, the previous services are manually migrated back.
[0004] However, manual migration / reverse migration requires manual processing before and after each batch, making the upgrade process complex, resulting in a long operation cycle and requiring constant monitoring, leading to low upgrade efficiency and reduced service quality. Summary of the Invention
[0005] This application provides a method, related apparatus, and equipment for batch node upgrades. These methods ensure normal service during the batch node upgrade process, thereby improving service quality while maintaining upgrade efficiency.
[0006] Firstly, a method for upgrading nodes in batches is provided. This method is applied to containerized scenarios. In this method, upgrade batch information is obtained through an NFVI upgrade tool or an NFVI batch upgrade tool. This upgrade batch information includes the upgrade order of each group. Then, the NFVI upgrade tool or the NFVI batch upgrade tool determines the group nodes to be upgraded according to the upgrade order. VNFM migrates the services on the group nodes to be upgraded to other non-upgrade nodes. Finally, the NFVI upgrade tool or the NFVI batch upgrade tool upgrades the group nodes to be upgraded.
[0007] In this implementation, since the services on the group node to be upgraded are migrated to other non-upgraded nodes before the upgrade is carried out, it can be ensured that the services are provided normally during the upgrade process of the group node to be upgraded. Therefore, the service quality is improved while ensuring upgrade efficiency.
[0008] In conjunction with the first aspect, in the first possible implementation of the first aspect, after the packet node to be upgraded has completed the upgrade, VNFM can also migrate services on other non-upgraded nodes to the upgraded packet node.
[0009] In this implementation, after the upgrade of the group node to be upgraded is completed, the services on other non-upgraded nodes are migrated to the upgraded group node, thus ensuring that each node carries services and ensuring a balanced distribution of services, thereby improving the quality of service.
[0010] In conjunction with the first possible implementation of the first aspect, in the second possible implementation of the first aspect, after VNFM migrates the services on other non-upgraded nodes to the upgraded group nodes, the NFVI upgrade tool or NFVI batch upgrade tool can also determine the next group node to be upgraded according to the upgrade order. Then, VNFM migrates the services on the next group node to be upgraded to other non-upgraded nodes, and the NFVI upgrade tool or NFVI batch upgrade tool upgrades the next group node to be upgraded.
[0011] In this implementation, after completing the upgrade of one group node to be upgraded, the service migration and upgrade of the next group node to be upgraded can continue. This further ensures that normal service is provided during the upgrade process of all group nodes that need to be upgraded, thus improving the quality of service while ensuring upgrade efficiency.
[0012] In combination with any of the second possible implementations of the first aspect, in the third possible implementation of the first aspect, each group includes the node type of each group, the identifier corresponding to the group order of each group, the node identifier corresponding to the node in each group, and the host identifier corresponding to the node in each group, and the node type of the group to be upgraded is the same as that of other non-upgraded nodes.
[0013] In this implementation, each group includes more diverse information, enabling the NFVI upgrade tool or the NFVI batch upgrade tool to more accurately identify the group nodes to be upgraded. Secondly, the fact that the group nodes to be upgraded are of the same node type as other non-upgrade nodes allows the non-upgrade nodes to better carry the migrated services, further improving the service quality during the batch upgrade process.
[0014] In combination with any of the third possible implementations of the first aspect, in the fourth possible implementation of the first aspect, before the NFVI upgrade tool or the NFVI batch upgrade tool obtains the upgrade batch information, the NFVI batch upgrade tool or the NFVI batch upgrade tool can obtain a node set, and each node in the node set corresponds to a node type. Then, it obtains a node batching rule set, which includes the node batching rules corresponding to each node type. Thus, the node set is batched according to the node batching rule set to obtain the upgrade batch information.
[0015] In this implementation, the batching rules corresponding to the node type can reflect the batching rules required by the characteristics of the node type. Therefore, batching different node types according to the batching rules corresponding to the node type can make the grouping included in the obtained upgrade batching information more accurate and more in line with the upgrade order required by each different node type.
[0016] In combination with any of the fourth possible implementation methods of the first aspect, in the fifth possible implementation method of the first aspect, the NFVI batching tool or NFVI batch upgrade tool also needs to determine the business running on the node, the business type corresponding to the business, then determine the batching rules corresponding to the business type, and finally determine the node batching rules corresponding to the node type based on the batching rules corresponding to the business type.
[0017] In this implementation, the node batching rules corresponding to the node type are determined based on the batching rules of the business type corresponding to the business running on the node, thereby improving the feasibility of this solution and the accuracy of the node batching rules.
[0018] In combination with any of the fifth possible implementations of the first aspect, in the sixth possible implementation of the first aspect, before the VNFM migrates the services on the packet node to be upgraded to other non-upgraded nodes, the VNFM can also obtain a first message, which instructs the packet node to be upgraded to perform the upgrade.
[0019] In this implementation, the first message is used to instruct the packet nodes to be upgraded to perform the upgrade. Therefore, VNFM can determine which nodes are the packet nodes to be upgraded through the first message. At this time, VNFM will migrate the services on the packet nodes to be upgraded, thereby improving the feasibility and reliability of this solution.
[0020] In combination with any of the fifth possible implementations of the first aspect, in the seventh possible implementation of the first aspect, before the NFVI upgrade tool or the NFVI batch upgrade tool upgrades the group node to be upgraded, the NFVI upgrade tool or the NFVI batch upgrade tool can also obtain a second message, which indicates that all services on the group node to be upgraded have been migrated to other non-upgrade nodes.
[0021] In this implementation, since the second message indicates that all services on the packet node to be upgraded have been migrated to other non-upgraded nodes, the NFVI upgrade tool or the NFVI batch upgrade tool can determine that there are no services on the packet to be upgraded after receiving the second message. Therefore, the packet node to be upgraded can be upgraded without affecting service.
[0022] In any of the first to fifth possible implementations of the first aspect, in the eighth possible implementation of the first aspect, before the VNFM migrates services on other non-upgraded nodes to the upgraded group nodes, the VNFM can also obtain a third message, which instructs the group nodes to be upgraded to complete the upgrade.
[0023] In this implementation, since the third message indicates that the packet node to be upgraded has completed the upgrade, the VNFM can determine that the packet node has completed the upgrade through the third message. At this time, the VNFM will migrate the services on other non-upgraded nodes back to the upgraded packet node, thereby improving the feasibility and reliability of this solution.
[0024] In the ninth possible implementation of the first aspect, in combination with any one of the second to fifth possible implementations of the first aspect, before the NFVI upgrade tool or the NFVI batch upgrade tool determines the next group node to be upgraded according to the upgrade order, the NFVI upgrade tool or the NFVI batch upgrade tool can also obtain a fourth message. The fourth message indicates that the services on other non-upgraded nodes have been migrated to the upgraded group nodes. It can be understood that some of the services on other non-upgraded nodes will be migrated to the upgraded group nodes, but not all of them will be migrated, so as to ensure that all service nodes are carrying services at this time.
[0025] In this implementation, since the fourth message indicates that the services on other non-upgraded nodes have been migrated to the upgraded group nodes, the NFVI upgrade tool or the NFVI batch upgrade tool can determine that the upgraded group nodes have completed the upgrade and started carrying services after receiving the fourth message. At this time, the next group node to be upgraded can be further determined, ensuring that all group nodes to be upgraded are upgraded in sequence, improving the efficiency of the batch upgrade of nodes, and further improving the feasibility and reliability of this solution.
[0026] Secondly, a node batch upgrade device is provided, which is applied in containerized scenarios. This node batch upgrade device has some or all of the functions of the network device described in the first aspect and any possible implementation thereof. For example, the device may have the functions of some or all of the network device embodiments in this application, or it may have the functions of any one embodiment of this application implemented individually. The functions can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more units or modules corresponding to the above functions.
[0027] In one embodiment, the node batch upgrade device includes:
[0028] The acquisition module is used to acquire upgrade batch information, which includes the upgrade order of each group;
[0029] The determination module is used to determine the group nodes to be upgraded according to the upgrade order;
[0030] The migration module is used to migrate services on the group nodes to be upgraded to other non-upgrade nodes;
[0031] The upgrade module is used to upgrade the group nodes that need to be upgraded.
[0032] In one possible implementation, the migration module is also used to migrate services on other non-upgraded nodes to the upgraded group node after the upgrade of the group node to be upgraded is completed.
[0033] In one possible implementation, the determining module is further configured to determine the next group node to be upgraded according to the upgrade order after migrating services on other non-upgraded nodes to the upgraded group nodes.
[0034] The migration module is also used to migrate services on the next group node to be upgraded to other non-upgraded nodes;
[0035] The upgrade module is also used to upgrade the next group node to be upgraded.
[0036] In one possible implementation, each group includes a node type for each group, an identifier corresponding to the group order of each group, a node identifier corresponding to the node in each group, and a host identifier corresponding to the node in each group.
[0037] The group nodes to be upgraded have the same node type as other non-upgraded nodes.
[0038] In one possible implementation, the node batch upgrade device further includes a batching module:
[0039] The acquisition module is also used to acquire a set of nodes before acquiring upgrade batch information, wherein each node in the set corresponds to a node type;
[0040] The acquisition module is also used to acquire a set of node batching rules, which includes the node batching rules corresponding to each node type.
[0041] The batching module is used to divide the node set into batches according to the node batching rule set in order to obtain upgrade batching information.
[0042] In one possible implementation, the determining module is further configured to determine the service being run by the node, wherein the service corresponds to a service type;
[0043] The determination module is also used to determine the batching rules corresponding to the business type;
[0044] The determination module is also used to determine the node batching rules corresponding to the node type based on the batching rules corresponding to the business type.
[0045] In one possible implementation, the acquisition module is further configured to acquire a first message before migrating the services on the group node to be upgraded to other non-upgraded nodes, wherein the first message instructs the group node to be upgraded to perform an upgrade.
[0046] In one possible implementation, the acquisition module is further configured to acquire a second message before upgrading the group node to be upgraded, wherein the second message indicates that all services on the group node to be upgraded have been migrated to other non-upgraded nodes.
[0047] In one possible implementation, the acquisition module is further configured to acquire a third message before migrating services on other non-upgraded nodes to the upgraded group node, wherein the third message indicates that the group node to be upgraded has completed the upgrade.
[0048] In one possible implementation, the acquisition module is further configured to acquire a fourth message before determining the next group node to be upgraded according to the upgrade order, wherein the fourth message indicates that services on other non-upgraded nodes have been migrated to the upgraded group node.
[0049] Thirdly, a node batch upgrade device is provided, including a processor. The processor is coupled to a memory and can be used to execute instructions in the memory to implement the method in any possible implementation of the first aspect described above. Optionally, the communication device further includes a memory. Optionally, the communication device further includes a communication interface, to which the processor is coupled, the communication interface being used for inputting and / or outputting information, the information including at least one of instructions and data.
[0050] In one implementation, the communication device is a network device. When the communication device is a network device, the communication interface can be a transceiver or an input / output interface.
[0051] Optionally, the transceiver can be a transceiver circuit. Optionally, the input / output interface can be an input / output circuit.
[0052] In another implementation, the communication device is a chip or chip system configured in a network device. When the communication device is a chip or chip system configured in a network device, the communication interface can be an input / output interface, interface circuit, output circuit, input circuit, pins, or related circuits, etc. The processor can also be manifested as a processing circuit or logic circuit.
[0053] Fourthly, a processor is provided, comprising: an input circuit, an output circuit, and a processing circuit. The processing circuit is configured to receive signals through the input circuit and transmit signals through the output circuit, causing the processor to execute the method in any possible implementation of the first aspect described above.
[0054] In specific implementation, the processor can be a chip, the input circuit can be an input pin, the output circuit can be an output pin, and the processing circuit can be a transistor, gate circuit, flip-flop, and various logic circuits. The input signal received by the input circuit can be received and input by, for example, but not limited to, a receiver, and the signal output by the output circuit can be output to, for example, but not limited to, a transmitter and transmitted by the transmitter. Furthermore, the input circuit and the output circuit can be the same circuit, which is used as the input circuit and the output circuit at different times. This application does not limit the specific implementation of the processor and various circuits.
[0055] Fifthly, a node batch upgrade apparatus is provided, including a communication interface and a processor. The communication interface is coupled to the processor. The communication interface is used for inputting and / or outputting information. The information includes at least one of instructions and data. The processor is used to execute a computer program to cause the node batch upgrade apparatus to perform the method in any possible implementation of the first aspect.
[0056] Optionally, the processor may be one or more, and the memory may be one or more.
[0057] In a sixth aspect, a node batch upgrade apparatus is provided, including a processor and a memory. The processor is used to read instructions stored in the memory and can receive signals via a receiver and transmit signals via a transmitter, so that the apparatus performs the method in any possible implementation of the first aspect.
[0058] Optionally, the processor may be one or more, and the memory may be one or more.
[0059] Optionally, the memory may be integrated with the processor, or the memory may be separated from the processor.
[0060] In specific implementation, the memory can be a non-transitory memory, such as read-only memory (ROM), which can be integrated with the processor on the same chip or set on different chips. The embodiments of this application do not limit the type of memory or the way the memory and processor are set.
[0061] It should be understood that related information exchange processes, such as sending a message, can be seen as the process of outputting a message from the processor, and receiving a message can be seen as the process of inputting a received message into the processor. Specifically, the information processed can be output to the transmitter, and the input information received by the processor can come from the receiver. Here, the transmitter and receiver can be collectively referred to as a transceiver.
[0062] The node batch upgrade device in the fifth and sixth aspects mentioned above can be a chip. The processor can be implemented in hardware or software. When implemented in hardware, the processor can be a logic circuit, integrated circuit, etc. When implemented in software, the processor can be a general-purpose processor that reads software code stored in memory. The memory can be integrated into the processor or located outside the processor and exist independently.
[0063] In a seventh aspect, a computer program product is provided, the computer program product comprising: a computer program (also referred to as code or instructions), which, when the computer program is run, causes a computer to perform the method in any possible implementation of the first aspect described above.
[0064] Eighthly, a computer-readable storage medium is provided that stores a computer program (also referred to as code or instructions) that, when executed on a computer, causes the computer to perform the methods in any of the possible implementations of the first aspect described above.
[0065] Ninthly, this application provides a chip system including a processor and an interface, the interface being used to acquire a program or instructions, and the processor being used to invoke the program or instructions to implement or support a network device in implementing the functions involved in the first aspect, such as determining or processing at least one of the data and information involved in the above methods.
[0066] In one possible design, the chip system further includes a memory for storing necessary program instructions and data for the network device. The chip system can be composed of chips or may include chips and other discrete components.
[0067] It should be noted that the beneficial effects of the embodiments of the second to ninth aspects of this application can be understood with reference to the embodiments of the first aspect, and therefore are not repeated. Attached Figure Description
[0068] Figure 1 A schematic diagram of an NFV architecture provided in an embodiment of this application;
[0069] Figure 2 A schematic diagram illustrating a method for batch upgrading of nodes provided in an embodiment of this application;
[0070] Figure 3 A flowchart for obtaining a set of nodes is provided in an embodiment of this application;
[0071] Figure 4 A flowchart illustrating another method for obtaining a node set, as provided in this application embodiment;
[0072] Figure 5 A flowchart illustrating a set of node batching rules is provided in this application embodiment;
[0073] Figure 6 A flowchart illustrating another method for obtaining a set of node batching rules provided in this application embodiment;
[0074] Figure 7 A flowchart of a service migration provided in an embodiment of this application;
[0075] Figure 8 A schematic diagram illustrating a business migration provided in an embodiment of this application;
[0076] Figure 9 A schematic diagram illustrating another method for batch upgrading of nodes provided in this application embodiment;
[0077] Figure 10 This is a schematic diagram of a node batch upgrade device provided in an embodiment of this application. Detailed Implementation
[0078] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. In order to facilitate understanding of the embodiments of this application, the following points are made.
[0079] First, in the embodiments shown below, for a technical feature, the technical features in that technical feature are distinguished by "first", "second", "third", etc., and there is no order of precedence or size among the technical features described by "first", "second", "third".
[0080] Second, "at least one" means one or more, while "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, and c can mean: a, or, b, or, c, or, a and b, or, a and c, or, b and c, or, a, b, and c. Here, a, b, and c can be single or multiple.
[0081] Third, the embodiments disclosed in this application will be presented around systems including multiple devices, components, modules, etc., to illustrate various aspects, embodiments, or features of this application. It should be understood and appreciated that individual systems may include additional devices, components, modules, etc., and / or may not include all devices, components, modules, etc. discussed in conjunction with the accompanying drawings. Furthermore, combinations of these approaches may also be used.
[0082] Fourth, in the embodiments disclosed in this application, the terms “of,” “relevant,” and “corresponding” can sometimes be used interchangeably. It should be noted that when their distinction is not emphasized, their intended meanings are consistent.
[0083] To better understand the method, related apparatus, and equipment for batch upgrade of nodes disclosed in this application, the nodes described in this application can be virtual machines (VMs) or bare metals. The standard architecture used in this invention's embodiments is described below. NFV primarily specifies industry-standard approaches for network cloudification. Based on modern internet technology (IT) virtualization technology, it provides a new network product environment, reducing costs, improving efficiency, and increasing agility. It uses general-purpose hardware such as x86 and virtualization technology to support software processing for many functions, thereby reducing the cost of expensive network equipment. Through hardware-software decoupling and functional abstraction, network device functions no longer depend on dedicated hardware, resources can be shared flexibly and fully, enabling rapid development and deployment of new services, and automatic deployment, elastic scaling, fault isolation, and self-healing based on actual business needs. Virtualization technology implements telecommunications network functions in software and can run on general-purpose server hardware. It can be migrated, instantiated, and deployed in different physical locations on the network as needed without installing new equipment.
[0084] Standardization work on NFV primarily focuses on the management and orchestration of network services, virtual network functions, and virtual resources. The functional definitions within the Management and Orchestration (MANO) framework are typically handled by the NFV Interface and Architecture Working Group under ETSI. Please refer to [link / reference needed]. Figure 1 , Figure 1This diagram illustrates an NFV architecture provided in an embodiment of this application. This NFV architecture can implement various networks, such as local area networks (LANs), Internet Protocol (IP) networks, or evolved packet core (EPC) networks. The NFV architecture may include NFVI, VNFs, a virtualized infrastructure manager (VIM), and a virtual network function manager (VNFM). NFVI is used to host and connect a set of resources for virtual functions. Specifically, NFVI is a cloud data center that includes servers, a hypervisor, an operating system, virtual machines, virtual switches, and network resources. VIM enables the management and monitoring of infrastructure layer resources (including computing, storage, and network resources), such as FusionSphere and VMware. VNFM enables lifecycle management of VNFs, including but not limited to automated capabilities such as deployment, scaling, deployment / deployment, and upgrades. Based on templates and VNF capacity requirements, VNFM decomposes the needs for virtual resources such as virtual machines and works with VNFs and VIM to perform functions such as VNF instantiation. In containerized scenarios (e.g., VM containers or bare metal containers), it can also work with Container as a Service (CaaS) managers to complete containerized VNF instantiation. A VNF consists of one or more lower-level VNF components (VNFCs). Furthermore, a VNF can be deployed on multiple VMs, with each VM carrying the functionality of one VNFC; a VNF can also be deployed on a single VM.
[0085] Secondly, the embodiments disclosed in this application also relate to cloud computing, a new computing method based on the Internet that provides on-demand computing to individual and enterprise users through heterogeneous and autonomous services on the Internet. Since the resources are on the Internet, and the Internet is often represented by a cloud-like pattern in flowcharts, it can be figuratively compared to a cloud. Cloud computing resources are dynamically scalable and virtualized, provided through the Internet. Terminals do not need to understand the details of the infrastructure in the "cloud," do not need corresponding professional knowledge, and do not need to directly control it; they only need to focus on what resources they truly need and how to obtain the corresponding services through the network. Cloud computing includes three layers of services: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). PaaS is a business model that provides server platforms as a service. In practice, it refers to delivering software development platforms as a service to users in a SaaS model. Containers are an operating system-level virtualization technology. Container is short for CaaS, which is a specific type of Platform as a Service (PaaS). Containers isolate different processes through operating system isolation technologies, such as CGroups and Namespaces in Linux. Unlike hardware virtualization, container technology has no virtual hardware and no internal operating system, only processes. This characteristic makes containers more lightweight and easier to manage than virtual machines. To facilitate management, a set of common management operations are defined during container runtime, such as start, stop, pause, and delete, providing unified lifecycle management for containers.
[0086] Because the NFVI and VNF layers in the NFV architecture evolve independently during actual deployment, the I-layer resources where the VNF resides can be manually orchestrated in batches beforehand. Then, upgrades can be performed in batches according to the batch order. For each batch, services are first manually migrated, then the corresponding I-layer boards are upgraded, and finally, the previous services are manually migrated back. However, manually migrating / reverting services requires manual processing before and after each batch, making the upgrade process complex, time-consuming, and requiring constant monitoring. This results in low upgrade efficiency and reduced service quality.
[0087] To address the aforementioned issues, this application provides a method for phased node upgrades, applicable to containerized scenarios, to ensure normal service provision and improve service quality during phased node upgrades.
[0088] In this embodiment of the application, the tool for performing node batching is the NFVI batching tool, and the tool for performing node upgrade is the NFVI upgrade tool. The NFVI batching tool and the NFVI upgrade tool can be different tools, performing node batching and node upgrade separately. The NFVI batching tool and the NFVI upgrade tool can also be integrated into one tool (NFVI batching and upgrade tool) to jointly perform node batching and node upgrade functions. The above two situations will be described separately below.
[0089] I. The NFVI batch tool and the NFVI upgrade tool are different tools.
[0090] Please see Figure 2 , Figure 2 A schematic diagram illustrating a method for batch upgrading of nodes provided in this application embodiment, as shown below. Figure 2 As shown, the method for upgrading nodes in batches includes the following steps.
[0091] S101, NFVI batch tool obtains node set;
[0092] In this embodiment, the NFVI batch tool obtains a set of nodes, and each node in the set corresponds to a node type. It should be understood that in practical applications, each node in the set may also correspond to a node identifier, a node name, and a host identifier. Therefore, the information corresponding to each node should be flexibly determined according to the actual situation.
[0093] Specifically, the NFVI batching tool obtains the node set in two ways. One way is that the NFVI batching tool directly obtains the node set. The other way is that EMS obtains the node set and sends the obtained node set to the NFVI batching tool, which then receives the node set. Therefore, the following sections will introduce the two different methods of obtaining upgrade batching information.
[0094] (1) The NFVI batching tool directly obtains the node set.
[0095] For easier understanding, please refer to Figure 3 , Figure 3 A flowchart for obtaining a node set is provided as an embodiment of this application, such as Figure 3 As shown, in step S201, the NFVI batching tool actively queries the VIM for node information of nodes that need to be upgraded. In step S202, the VIM obtains node information through the management and monitoring of infrastructure layer resources, and transmits a set of nodes including the obtained node information to the NFVI batching tool, thereby enabling the NFVI batching tool to obtain the node set.
[0096] For example, please refer to Table 1, which is an example of a set of nodes based on virtual machines. Each node in the set corresponds to a node type (Node-Type), a node identifier (Node-Id), a node name (Node-Name), and a host identifier (Host-Id).
[0097] Table 1
[0098] Node identifier Node type Node Name Host Identifier vm-omu-id-1 OMU_VM OMU-1 host-omu-id-1 vm-omu-id-2 OMU_VM OMU-2 host-omu-id-2 vm-spu-id-1 SPU_VM SPU-1 host-spu-id-1 vm-spu-id-2 SPU_VM SPU-2 host-spu-id-2 vm-spu-id-3 SPU_VM SPU-3 host-spu-id-3 vm-spu-id-4 SPU_VM SPU-4 host-spu-id-4 vm-cpu-id-1 CPU_VM CPU-1 host-cpu-id-1 vm-cpu-id-2 CPU_VM CPU-2 host-cpu-id-2
[0099] In this table, nodes named "OMU-1" and "OMU-2" correspond to the node type "OMU_VM"; nodes with node identifiers "vm-spu-id-1", "vm-spu-id-2", "vm-spu-id-3", and "vm-spu-id-4" correspond to the node type "SPU_VM"; and nodes with host identifiers "host-cpu-id-1" and "host-cpu-id-2" correspond to the node type "CPU_VM". Therefore, each node has a different node identifier, node name, and host identifier, but different nodes can belong to the same node type. It should be understood that the examples in Table 1 are only for understanding this scheme, and the specific information corresponding to each node should be flexibly determined according to the actual situation.
[0100] (2) The NFVI batching tool obtains the node set through EMS.
[0101] For easier understanding, please refer to Figure 4 , Figure 4 Another flowchart for obtaining a node set provided in this application embodiment is as follows: Figure 4 As shown, in step S301, the operator queries the VIM for node information of the nodes that need to be upgraded through EMS and VNFM. In step S302, VIM obtains the node information through the management and monitoring of infrastructure layer resources and transmits a node set including the obtained node information to EMS. Then, in step S303, the node set is sent to VIM through EMS and VNFM, and then sent to the NFVI batching tool through VIM, thereby the NFVI batching tool obtains the node set.
[0102] It should be understood that Figure 3 as well as Figure 4 The examples provided are for understanding this solution only; the specific process for obtaining the node set should be determined flexibly based on the actual situation.
[0103] S102, NFVI batching tool obtains the node batching rule set;
[0104] In this embodiment, the NFVI batching tool obtains a set of node batching rules, and the set of node batching rules includes the node batching rules corresponding to each node type. Specifically, the node batching rules may include, but are not limited to, the priority of node types, the quantity threshold of node types, and the percentage threshold of node types. For example, node type A is reset in the earlier batches, only one node of node type A is reset at a time, the maximum reset percentage of node type B is 50%, and node type C is reset in the later batches, etc. The specific node batching rules are not limited here.
[0105] Optionally, when there are few node types, meaning the set of node batching rules includes a limited number of rules for each node type, the set of node batching rules can be determined manually. For details, please refer to [link to relevant documentation]. Figure 5 , Figure 5 A flowchart for obtaining a set of node batching rules is provided in an embodiment of this application, such as... Figure 5 As shown, in step S401, the operator sends the determined set of node batching rules to VIM via EMS and VNFM, and then VIM sends the set of node batching rules to the NFVI batching tool, thereby enabling the NFVI batching tool to obtain the set of node batching rules.
[0106] For example, please refer to Table 2, which is an example of a batching rule based on nodes as virtual machines.
[0107] Table 2
[0108] Node type Batch rules OMU_VM PreBatch & OnlyOneEachBatch SPU_VM MultipleEachBatch & 50% CPU_VM PostBatch & OnlyOneEachBatch
[0109] Specifically, the batching rule for node type "OMU_VM" is "PreBatch & OnlyOneEachBatch", meaning that nodes of type "OMU_VM" must be reset in earlier batches, and only one node can be reset at a time. Secondly, the batching rule for node type "SPU_VM" is "MultipleEachBatch & 50%", meaning that the maximum reset percentage for node type "SPU_VM" is 50%. For example, if there are 4 nodes of type "SPU_VM", since the maximum reset percentage is 50%, the maximum number of nodes of type "SPU_VM" that can exist in each batch is 2, meaning that 1 or 2 nodes of type "SPU_VM" can be reset at a time. Thirdly, the batching rule for node type "CPU_VM" is "PostBatch & OnlyOneEachBatch", meaning that nodes of type "CPU_VM" must be reset in later batches, and only one node can be reset at a time. It should be understood that the examples in Table 2 are only for understanding this scheme, and the specific batching rules corresponding to the node types should be flexibly determined according to the actual situation.
[0110] Secondly, when there are many node types, it is not possible to directly determine the set of node batching rules manually. For details, please refer to [link / reference needed]. Figure 6 , Figure 6 A flowchart illustrating another method for obtaining a set of node batching rules, as provided in this application embodiment, is shown below. Figure 6 As shown, in step S501, the NFVI batching tool may, but is not limited to, querying and obtaining a set of node batching rules from the VNF through the EMS. In step S502, the VNF sends the correspondence between services and nodes to the EMS. In step S503, the EMS obtains and determines the correspondence between services and nodes, which includes the correspondence between service types and nodes. Then, in step S503, the batching rules corresponding to the service types are determined. Since each node in the node set corresponds to a node type, in step S504, the EMS can determine the batching rules corresponding to the node types based on the correspondence between services and nodes. Then, in step S505, the EMS obtains a set of node batching rules including the node batching rules corresponding to each node type according to the node types included in the node set, and sends the set of node batching rules to the NFVI batching tool.
[0111] Specifically, the correspondence between services and nodes includes, but is not limited to, service identifier, service type, node identifier, and node type. For ease of understanding, please refer to Table 3, which is an example of the correspondence between services and nodes based on nodes as virtual machines. The correspondence includes the service identifier (Pod-Id) and service type (Pod-Type) for each service, and the node identifier (Node-Id) and node type (Node-Type) for each node.
[0112] Table 3
[0113] Business Identifier Business type Node identifier Node type pod-om-id-1 om-pod vm-omu-id-1 OMU_VM pod-om-id-2 om-pod vm-omu-id-2 OMU_VM pod-sp-id-1 sp-pod vm-spu-id-1 SPU_VM pod-sp-id-2 sp-pod vm-spu-id-2 SPU_VM pod-sp-id-3 sp-pod vm-spu-id-3 SPU_VM pod-sp-id-4 sp-pod vm-spu-id-4 SPU_VM pod-cp-id-1 cp-pod vm-cpu-id-1 CPU_VM pod-cp-id-2 cp-pod vm-cpu-id-2 CPU_VM
[0114] Specifically, the service type "om-pod" corresponds to the node type "OMU_VM", the service type "sp-pod" corresponds to the node type "SPU_VM", and the service type "cp-pod" corresponds to the node type "CPU_VM". Thus, it can be seen that the node identifier corresponding to each node and the service identifier corresponding to each service are different, but different nodes can belong to the same node type, and the same node type corresponds to the same service type.
[0115] Secondly, please refer to Table 4, which is an example of a batching rule based on nodes as virtual machines.
[0116] Table 4
[0117] Business type Batch rules om-pod PreBatch & OnlyOneEachBatch sp-pod MultipleEachBatch & 50% cp-pod PostBatch & OnlyOneEachBatch
[0118] Specifically, the batching rule for the business type "om-pod" is "PreBatch & OnlyOneEachBatch", meaning that "om-pod" nodes must be reset in earlier batches, and only one node can be reset at a time. Secondly, the batching rule for the business type "sp-pod" is "MultipleEachBatch & 50%", meaning that the maximum reset percentage for "sp-pod" nodes is 50%. For example, if there are 6 nodes corresponding to the "sp-pod" business type, since the maximum reset percentage is 50%, the maximum number of "sp-pod" nodes that can exist in each batch is 3. That is, 1, 2, or 3 nodes of the "sp-pod" business type can be reset at a time. Thirdly, the batching rule for the business type "cp-pod" is "PostBatch & OnlyOneEachBatch", meaning that "cp-pod" nodes must be reset in later batches, and only one node can be reset at a time.
[0119] It should be understood that the examples in Tables 3 and 4 are only for understanding this solution. The specific correspondence between business and nodes, as well as the specific batching rules corresponding to business types, should be flexibly determined according to the actual situation.
[0120] S103, the NFVI batching tool divides the node set into batches according to the node batching rule set to obtain upgrade batching information;
[0121] In this embodiment, after the NFVI batching tool obtains the node batching rule set and the node set through steps S101 and S102, it can batch the node set according to the node batching rule set to obtain upgrade batching information. Specifically, the upgrade batching information includes the upgrade order of each group. In practical applications, the upgrade batching information may also include, but is not limited to, the node type of each group, the identifier corresponding to the grouping order of each group, the node identifier corresponding to the node in each group, and the host identifier corresponding to the node in each group. The specific upgrade batching information should not be construed as a limitation of the application embodiment.
[0122] For ease of understanding, Table 1 shows the node set, and Table 2 shows the node batching rule set, serving as an example. Table 1 shows that the node set includes node types "OMU_VM", "SPU_VM", and "CPU_VM". Table 2 shows that nodes of type "OMU_VM" need to be reset in earlier batches, and only one node is reset at a time. The maximum reset percentage for nodes of type "SPU_VM" is 50% per reset, and nodes of type "CPU_VM" need to be reset in later batches, and only one node is reset at a time. Therefore, the node set can be batched based on the aforementioned node batching rule set to obtain upgrade batching information.
[0123] Specifically, since "OMU_VM" needs to be reset in an earlier batch, and only one node can be reset at a time, the two nodes corresponding to the node type "OMU_VM" with node identifiers "vm-omu-id-1" and "vm-omu-id-2" cannot be reset in the same batch, and both need to be reset in an earlier batch. That is, the nodes corresponding to node identifiers "vm-omu-id-1" and "vm-omu-id-2" can be assigned to earlier upgrade batches in the grouping order. Secondly, since the maximum reset percentage for "SPU_VM" is 50%, and the four nodes corresponding to the node type "SPU_VM" with node identifiers "vm-spu-id-1" to "vm-spu-id-4" can only be reset one or two at a time. Secondly, since "CPU_VM" needs to be reset in a later batch and only one node can be reset at a time, the two nodes corresponding to the node type "CPU_VM" with the identifiers "vm-cpu-id-1" and "vm-cpu-id-2" cannot be reset in the same batch and must be reset in a later batch. That is, the nodes corresponding to the identifiers "vm-cpu-id-1" and "vm-cpu-id-2" can be assigned to the later upgrade batches in the grouping order.
[0124] Based on the foregoing introduction, please refer to Table 5. Table 5 is an example of upgrade batching information obtained by batching the node set shown in Table 1 according to the node batching rule set shown in Table 2. It should be understood that the example in Table 5 is only for understanding this scheme, and the specific upgrade batching information should be flexibly determined according to the actual situation.
[0125] Table 5
[0126]
[0127] S104, NFVI upgrade tool obtains upgrade batch information;
[0128] In this embodiment, the NFVI upgrade tool obtains upgrade batch information from the NFVI batch tool.
[0129] The S105 and NFVI upgrade tools determine the group nodes to be upgraded according to the upgrade order;
[0130] In this embodiment, since the upgrade batch information includes the upgrade order of each group, the NFVI upgrade tool can determine the group nodes to be upgraded based on the upgrade order.
[0131] For example, Table 5 shows the upgrade batch information as an example. As can be seen from Table 5, the NFVI upgrade tool can determine the nodes included in the group with the identifier "1" corresponding to the group order as the group nodes to be upgraded, that is, the nodes corresponding to the node identifiers "vm-omu-id-1", "vm-spu-id-1" and "vm-spu-id-3" are the group nodes to be upgraded.
[0132] S106, VNFM obtains the first message;
[0133] In this embodiment, after the NFVI upgrade tool determines the packet node to be upgraded, the NFVI upgrade tool can also send a first message to the VNFM. The first message instructs the packet node to be upgraded to perform the upgrade. The VNFM receives the first message sent by the NFVI upgrade tool, thereby triggering the VNFM to execute step S107.
[0134] For example, if the NFVI upgrade tool determines that the nodes identified as “vm-omu-id-1”, “vm-spu-id-1”, and “vm-spu-id-3” are the group nodes to be upgraded, then VNFM can determine through the first message that the nodes identified as “vm-omu-id-1”, “vm-spu-id-1”, and “vm-spu-id-3” need to be upgraded.
[0135] S107 and VNFM will migrate the services on the packet nodes to be upgraded to other non-upgraded nodes;
[0136] In this embodiment, VNFM migrates all services on the packet node to be upgraded to other non-upgraded nodes. Optionally, the packet node to be upgraded and the other non-upgraded nodes are of the same node type.
[0137] Specifically, please refer to Figure 7 , Figure 7 A flowchart of a service migration provided for an embodiment of this application is shown below. Figure 7As shown, in step S601, the VNFM queries the CaaS manager for the service deployment status and stack status of the nodes. In step S602, the CaaS manager reports the service deployment status and stack status of the nodes back to the VNFM. When the stack is in a normal state, in step S603, the VNFM sends a batch upgrade message to the VNF. The batch upgrade message includes a list of nodes whose services need to be migrated, i.e., it includes the group nodes to be upgraded, thereby triggering the VNF to migrate the services or traffic corresponding to the group nodes to be upgraded. Therefore, in step S604, the VNF migrates the services on the group nodes to be upgraded to other non-upgraded nodes, thus completing the service migration. Optionally, during the migration of the services or traffic corresponding to the group nodes to be upgraded, the VNF can also notify the VNFM of the service or traffic migration results and progress, such as that 80% of the services on the group nodes to be upgraded have been migrated, or that the migration of the group nodes to be upgraded has been completed, or that the migration of a certain node on the group nodes to be upgraded has failed. It should be understood that the above example is only for understanding this solution, and the specific service migration process and method should be flexibly determined according to the actual situation.
[0138] Furthermore, VNFM requires migrating the existing services carried on the groups to be upgraded to nodes of the same type that are not involved in the upgrade. For example, using Table 1 as an example of the node set, if the groups to be upgraded are the nodes with node identifiers "vm-omu-id-1", "vm-spu-id-1", and "vm-spu-id-3", then the non-upgraded node of the same type as the node with node identifier "vm-omu-id-1" is "vm-omu-id-2". Therefore, the services on the node with node identifier "vm-omu-id-1" can be migrated to the node with node identifier "vm-omu-id-2". Similarly, the services on the nodes with node identifiers "vm-spu-id-1" and "vm-spu-id-3" can be migrated to at least one of the nodes with node identifiers "vm-spu-id-2" and "vm-spu-id-4". For easier understanding, please refer to Figure 8 , Figure 8 This is a schematic diagram illustrating a business migration provided in an embodiment of this application, such as... Figure 8As shown, A1 and A2 indicate the packet nodes to be upgraded, and A3 and A4 indicate the non-upgraded nodes. As illustrated in the previous embodiments, both the packet nodes to be upgraded (A1 and A2) and the non-upgraded nodes (A3 and A4) belong to the "SPU_VM" node type. Therefore, the services of the packet nodes to be upgraded (A1 and A2) can be migrated to the non-upgraded nodes (A3 and A4) to ensure normal service operation. The above example is only for understanding this solution; the specific non-upgraded nodes for service migration should be flexibly determined based on the actual situation.
[0139] Secondly, the migration described in this application embodiment can be either a balanced migration or an unbalanced migration. For example, if a packet node to be upgraded carries 6 services, and there are 2 non-upgraded nodes of the same node type as the packet node to be upgraded, a balanced migration requires distributing the 6 services evenly across the 2 non-upgraded nodes, meaning that the 2 non-upgraded nodes each receive 3 migrated services. Similarly, an unbalanced migration does not require a completely balanced migration; the 6 services can be directly migrated to one of the 2 non-upgraded nodes. The above example is only for understanding this solution, and the specific number of services to be migrated should be flexibly determined according to the actual situation.
[0140] S108, NFVI upgrade tool obtains second message;
[0141] In this embodiment, considering the possibility that VNFM may connect to multiple VNF instances, VNFM needs to integrate the service migration progress of the packet nodes to be upgraded. That is, when the VNF notifies VNFM that the service or traffic migration result for the packet nodes to be upgraded is successful, the service migration is considered complete. At this point, there are no services carrying the packet nodes to be upgraded, and the upgrade can proceed. Therefore, VNFM sends a second message to the NFVI upgrade tool to indicate that all services on the packet nodes to be upgraded have been migrated to other non-upgrade nodes; that is, the NFVI upgrade tool receives the second message sent by VNFM.
[0142] Secondly, if any node in the group of nodes to be upgraded fails, the migration is determined to have failed, and VNFM will not send a second message to the NFVI upgrade tool.
[0143] The S109 and NFVI upgrade tools upgrade the group nodes to be upgraded.
[0144] In this embodiment, after the NFVI upgrade tool obtains the second message through step S108, it can determine that all services on the packet node have been migrated to other non-upgraded nodes, that is, there are no services carried on the packet to be upgraded. At this time, the NFVI upgrade tool notifies the NFVI layer (by calling the VIM interface) to upgrade the packet node to be upgraded. Specifically, the process of upgrading the packet node to be upgraded includes, but is not limited to, shutting down the packet node to be upgraded, resetting the host and loading the new version of the software, and then restarting and opening the packet node to be upgraded.
[0145] S110, VNFM acquires third messages;
[0146] In this embodiment, after the NFVI upgrade tool determines that the packet node to be upgraded has completed the upgrade, it needs to send a third message to the VNFM. The third message indicates that the packet node to be upgraded has completed the upgrade, so the VNFM obtains the third message sent by the NFVI upgrade tool.
[0147] S111 and VNFM migrate services on other non-upgraded nodes to the upgraded group nodes;
[0148] In this embodiment, after VNFM obtains the third message in step S110, it can determine that the packet node to be upgraded has completed the upgrade. At this time, it is necessary to migrate the services on other non-upgraded nodes to the upgraded packet node. The method of migrating services is similar to that in step S107, and will not be described again here.
[0149] Understandably, some services on other non-upgraded nodes will be migrated to the upgraded group nodes, but not all of them will be migrated, in order to ensure that all service nodes are still carrying services.
[0150] Optionally, the difference between the number of services carried by other non-upgraded nodes after the service migration and the number of services carried by the upgraded group nodes can be less than a preset threshold to achieve traffic balance. For example, if the number of services carried by other non-upgraded nodes after the service migration is 990 per node, and the number of services carried by the upgraded group nodes is 980 per node, then traffic balance can be determined. Alternatively, if the service load carried by other non-upgraded nodes after the service migration is 90% per node, and the service load carried by the upgraded group nodes is 85% per node, then traffic balance can be determined. It should be understood that the foregoing examples are only for understanding this solution and should not be construed as limiting the embodiments of this application.
[0151] S112, NFVI upgrade tool obtains fourth message;
[0152] In this embodiment, the scenario where VNFM may connect to multiple VNF instances is still considered. VNFM needs to integrate the service migration progress of other non-upgrade nodes. That is, when VNF notifies VNFM that the service or traffic migration result of other non-upgrade nodes is successful, the service migration is considered complete, and the service is re-carried on the packet to be upgraded. Therefore, VNFM sends a fourth message to the NFVI upgrade tool to indicate that the services on other non-upgrade nodes have been migrated to the upgraded packet node. In other words, the NFVI upgrade tool receives the fourth message sent by VNFM.
[0153] Secondly, if any node other than the upgrade node fails, indicating a migration failure, VNFM will not send a fourth message to the NFVI upgrade tool.
[0154] S113, the NFVI upgrade tool determines the next group node to be upgraded according to the upgrade order;
[0155] In this embodiment, since the upgrade batch information includes the upgrade order of each group, the NFVI upgrade tool can determine the next group node to be upgraded based on the upgrade order.
[0156] For example, Table 5 shows the upgrade batch information. As can be seen from Table 5, if the nodes included in the group with the identifier "1" corresponding to the group order are the nodes to be upgraded, then according to the upgrade order, the next node to be upgraded is the node included in the group with the identifier "2" corresponding to the group order. That is, the nodes corresponding to the node identifiers "vm-omu-id-2", "vm-spu-id-2" and "vm-spu-id-4" are the next nodes to be upgraded.
[0157] S114, VNFM retrieves the first message;
[0158] In this embodiment, after the NFVI upgrade tool determines the next packet node to be upgraded, the NFVI upgrade tool can also send a first message to the VNFM. The first message instructs the next packet node to be upgraded to perform the upgrade. The VNFM receives the first message sent by the NFVI upgrade tool, thereby triggering the VNFM to execute step S115.
[0159] S115, VNFM will migrate the services on the next packet node to be upgraded to other non-upgraded nodes;
[0160] In this embodiment, the method by which VNFM migrates all services on the next packet node to be upgraded to other non-upgraded nodes is similar to step S107, and will not be repeated here.
[0161] S116, NFVI upgrade tool obtains second message;
[0162] In this embodiment, the NFVI upgrade tool obtains the second message in a similar manner to step S108, and will not be described again here. This second message indicates that all services on the next packet node to be upgraded have been migrated to other non-upgraded nodes.
[0163] The S117 NFVI upgrade tool upgrades the next group node to be upgraded.
[0164] In this embodiment, the NFVI upgrade tool upgrades the next group node to be upgraded in a similar manner to step S109, and will not be described again here.
[0165] II. The NFVI batch upgrade tool and the NFVI upgrade tool have been integrated into the NFVI batch upgrade tool.
[0166] Please see Figure 9 , Figure 9 A schematic diagram illustrating another method for batch upgrades of nodes provided in this application embodiment, as shown below. Figure 9 As shown, the method for upgrading nodes in batches includes the following steps.
[0167] S701, NFVI batch upgrade tool obtains node set;
[0168] In this embodiment, the method by which the NFVI batch upgrade tool obtains the node set is similar to step S101, and will not be repeated here.
[0169] S702, NFVI batch upgrade tool obtains node batch rule set;
[0170] In this embodiment, the NFVI batch upgrade tool obtains the node batch rule set in a similar way to step S102, and will not be described again here.
[0171] The S703 and NFVI batch upgrade tools divide the node set into batches according to the node batching rule set to obtain upgrade batching information;
[0172] In this embodiment, the NFVI batch upgrade tool divides the node set into batches according to the node batching rule set to obtain upgrade batching information in a manner similar to step S103, and will not be described again here.
[0173] The S704 and NFVI batch upgrade tools determine the group nodes to be upgraded according to the upgrade order;
[0174] In this embodiment, since the upgrade batch information obtained by the NFVI batch upgrade tool includes the upgrade order of each group, the NFVI batch upgrade tool can determine the group nodes to be upgraded based on the upgrade order. The method by which the NFVI batch upgrade tool determines the group nodes to be upgraded based on the upgrade order is similar to step S105, and will not be described again here.
[0175] S705 and VNFM acquire the first message;
[0176] In this embodiment, the method by which VNFM obtains the first message is similar to step S106, and will not be described again here.
[0177] S706 and VNFM will migrate services on the packet nodes to be upgraded to other non-upgraded nodes;
[0178] In this embodiment, the method by which VNFM migrates services on the packet node to be upgraded to other non-upgraded nodes is similar to step S107, and will not be repeated here.
[0179] S707 and NFVI batch upgrade tools obtain the second message;
[0180] In this embodiment, the method by which the NFVI batch upgrade tool obtains the second message is similar to step S108, and will not be described again here.
[0181] The S708 and NFVI batch upgrade tools upgrade the group nodes to be upgraded;
[0182] In this embodiment, the NFVI batch upgrade tool upgrades the group nodes to be upgraded in a similar manner to step S109, and will not be described again here.
[0183] S709 and VNFM acquire third messages;
[0184] In this embodiment, the method by which VNFM obtains the third message is similar to step S110, and will not be described again here.
[0185] S710 and VNFM migrate services on other non-upgraded nodes to the upgraded group nodes;
[0186] In this embodiment, the method by which VNFM migrates services from other non-upgraded nodes to upgraded group nodes is similar to step S111, and will not be repeated here.
[0187] S711, NFVI batch upgrade tool obtains fourth message;
[0188] In this embodiment, the NFVI batch upgrade tool obtains the fourth message in a similar manner to step S112, and will not be described again here.
[0189] The S712 and NFVI batch upgrade tools determine the next group node to be upgraded based on the upgrade order;
[0190] In this embodiment, the NFVI batch upgrade tool determines the next group node to be upgraded according to the upgrade order in a similar way to step S113, and will not be described again here.
[0191] S713 and VNFM acquire the first message;
[0192] In this embodiment, the method by which VNFM obtains the first message is similar to step S114, and will not be described again here.
[0193] S714 and VNFM will migrate the services on the next packet node to be upgraded to other non-upgraded nodes;
[0194] In this embodiment, the method by which VNFM migrates the services on the next packet node to be upgraded to other non-upgraded nodes is similar to step S115, and will not be repeated here.
[0195] S715 and NFVI batch upgrade tools obtain the second message;
[0196] In this embodiment, the NFVI batch upgrade tool obtains the second message in a similar manner to step S116, and will not be described again here.
[0197] The S716 and NFVI batch upgrade tool upgrades the next group node to be upgraded.
[0198] In this embodiment, the NFVI batch upgrade tool upgrades the next group node to be upgraded in a similar manner to step S117, and will not be described again here.
[0199] The above primarily describes the solutions provided in the embodiments of this application from a methodological perspective. It is understood that the node batch upgrade device, in order to achieve the above functions, includes corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should readily recognize that, in conjunction with the modules and algorithm steps of the various examples described in the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0200] This application embodiment can divide the node batch upgrade device into functional modules based on the above method example. For example, each function can be divided into its own functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division; other division methods may be used in actual implementation.
[0201] The node batch upgrade device in this application is described in detail below. Please refer to [link / reference]. Figure 10 , Figure 10 This is a schematic diagram of a node batch upgrade device provided in an embodiment of this application, as shown below. Figure 10 As shown, the node batch upgrade device 1000 includes:
[0202] The acquisition module 1001 is used to acquire upgrade batch information, wherein the upgrade batch information includes the upgrade order of each group;
[0203] The determination module 1002 is used to determine the group nodes to be upgraded according to the upgrade order;
[0204] Migration module 1003 is used to migrate services on the group nodes to be upgraded to other non-upgrade nodes;
[0205] Upgrade module 1004 is used to upgrade the group nodes to be upgraded.
[0206] In one alternative implementation, in the above Figure 10 Based on the corresponding embodiments, in another embodiment of the node batch upgrade device 1000 provided in this application, the migration module 1003 is further used to migrate the services on other non-upgraded nodes to the upgraded group nodes after the group nodes to be upgraded have completed the upgrade.
[0207] In one alternative implementation, in the above Figure 10 Based on the corresponding embodiments, in another embodiment of the node batch upgrade device 1000 provided in this application, the determining module 1002 is further used to determine the next group node to be upgraded according to the upgrade order after migrating the services on other non-upgraded nodes to the upgraded group nodes.
[0208] Migration module 1003 is also used to migrate services on the next group node to be upgraded to other non-upgrade nodes;
[0209] Upgrade module 1004 is also used to upgrade the next group node to be upgraded.
[0210] In one alternative implementation, in the above Figure 10 Based on the corresponding embodiments, in another embodiment of the node batch upgrade device 1000 provided in this application, each group includes the node type of each group, the identifier corresponding to the group order of each group, the node identifier corresponding to the node in each group, and the host identifier corresponding to the node in each group.
[0211] The group nodes to be upgraded have the same node type as other non-upgraded nodes.
[0212] In one alternative implementation, in the above Figure 10Based on the corresponding embodiments, in another embodiment of the node batch upgrade device 1000 provided in this application, the node batch upgrade device 1000 further includes a batching module 1005:
[0213] The acquisition module 1001 is also used to acquire a node set before acquiring upgrade batch information, wherein each node in the node set corresponds to a node type;
[0214] The acquisition module 1001 is also used to acquire a set of node batching rules, wherein the set of node batching rules includes node batching rules corresponding to each node type;
[0215] The batching module 1005 is used to batch the node set according to the node batching rule set in order to obtain upgrade batching information.
[0216] In one alternative implementation, in the above Figure 10 Based on the corresponding embodiments, in another embodiment of the node batch upgrade device 1000 provided in this application, the determining module 1002 is further used to determine the service running on the node, wherein the service corresponds to the service type;
[0217] The determination module 1002 is also used to determine the batching rules corresponding to the business type;
[0218] The determination module 1002 is also used to determine the node batching rules corresponding to the node type based on the batching rules corresponding to the business type.
[0219] In one alternative implementation, in the above Figure 10 Based on the corresponding embodiments, in another embodiment of the node batch upgrade device 1000 provided in this application, the acquisition module 1001 is further used to acquire a first message before migrating the services on the group node to be upgraded to other non-upgrade nodes, wherein the first message instructs the group node to be upgraded to perform an upgrade.
[0220] In one alternative implementation, in the above Figure 10 Based on the corresponding embodiments, in another embodiment of the node batch upgrade device 1000 provided in this application, the acquisition module 1001 is further used to acquire a second message before upgrading the group nodes to be upgraded, wherein the second message indicates that all services on the group nodes to be upgraded have been migrated to other non-upgrade nodes.
[0221] In one alternative implementation, in the above Figure 10Based on the corresponding embodiments, in another embodiment of the node batch upgrade device 1000 provided in this application, the acquisition module 1001 is further used to acquire a third message before migrating services on other non-upgraded nodes to the upgraded group nodes, wherein the third message indicates that the group nodes to be upgraded have completed the upgrade.
[0222] In one alternative implementation, in the above Figure 10 Based on the corresponding embodiments, in another embodiment of the node batch upgrade device 1000 provided in this application, the acquisition module 1001 is further configured to acquire a fourth message before determining the next group node to be upgraded according to the upgrade order, wherein the fourth message indicates that the services on other non-upgraded nodes have been migrated to the upgraded group node.
[0223] This application also provides a node batch upgrade apparatus, including at least one processor, which is configured to execute a computer program stored in a memory, such that the node batch upgrade apparatus performs the methods performed by the NFVI batch tool, NFVI upgrade tool, NFVI batch upgrade tool, and VNFM in any of the above method embodiments.
[0224] It should be understood that the aforementioned node batch upgrade device can be one or more chips. For example, the node batch upgrade device can be a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a system on chip (SoC), a central processor unit (CPU), a network processor (NP), a digital signal processor (DSP), a micro controller unit (MCU), a programmable logic device (PLD), or other integrated chips.
[0225] This application also provides a node batch upgrade apparatus, including a processor and a communication interface. The communication interface is coupled to the processor. The communication interface is used for inputting and / or outputting information. The information includes at least one of instructions and data. The processor is used to execute a computer program to cause the node batch upgrade apparatus to perform the methods performed by the NFVI batch tool, NFVI upgrade tool, NFVI batch upgrade tool, and VNFM in any of the above method embodiments.
[0226] This application also provides a node batch upgrade apparatus, including a processor and a memory. The memory is used to store a computer program, and the processor is used to call and run the computer program from the memory, so that the node batch upgrade apparatus executes the methods performed by the NFVI batch tool, NFVI upgrade tool, NFVI batch upgrade tool, and VNFM in any of the above method embodiments.
[0227] In implementation, each step of the above method can be completed by integrated logic circuits in the processor's hardware or by instructions in software. The steps of the method disclosed in the embodiments of this application can be directly implemented by a hardware processor, or by a combination of hardware and software modules in the processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method. To avoid repetition, detailed descriptions are omitted here.
[0228] It should be noted that the processor in the embodiments of this application can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method embodiments can be completed by the integrated logic circuitry in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the above methods.
[0229] It is understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that the memory used in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0230] According to the method provided in the embodiments of this application, this application also provides a computer program product, which includes: computer program code, which, when run on a computer, causes the computer to execute... Figures 2 to 9 The illustrated embodiments include the NFVI batching tool, NFVI upgrade tool, NFVI batch upgrade tool, or VNFM execution method.
[0231] According to the method provided in the embodiments of this application, this application also provides a computer-readable storage medium storing program code, which, when executed on a computer, causes the computer to perform... Figures 2 to 9 The illustrated embodiments include the NFVI batching tool, NFVI upgrade tool, NFVI batch upgrade tool, or VNFM execution method.
[0232] According to the method provided in the embodiments of this application, this application also provides a system that includes one or more of the aforementioned NFVI batch tools, NFVI upgrade tools, NFVI batch upgrade tools, or VNFM.
[0233] The NFVI batching tool, NFVI upgrade tool, NFVI batch upgrade tool, or VNFM execution tool in the above-described device embodiments completely correspond to the NFVI batching tool, NFVI upgrade tool, NFVI batch upgrade tool, or VNFM execution tool in the method embodiments. The corresponding modules or units execute the corresponding steps. For example, the communication unit (transceiver) executes the receiving or sending steps in the method embodiments, while other steps besides sending and receiving can be executed by the processing unit (processor). The specific functions of each unit can be found in the corresponding method embodiments. There can be one or more processors.
[0234] As used in this specification, the terms "component," "module," "system," etc., are used to refer to computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program, and / or a computer. As illustrated, applications running on computing devices and computing devices can both be components. One or more components may reside in a process and / or an execution thread, and components may be located on a single computer and / or distributed among two or more computers. Furthermore, these components can be executed from various computer-readable media on which various data structures are stored. Components can communicate, for example, via local and / or remote processes based on signals having one or more data packets (e.g., data from two components interacting with another component between a local system, a distributed system, and / or a network, such as the Internet interacting with other systems via signals).
[0235] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0236] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0237] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0238] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0239] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0240] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0241] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A method for batch upgrading of nodes, the method comprising: include: Obtain upgrade batch information, wherein the upgrade batch information includes the upgrade order of each group; The group nodes to be upgraded are determined according to the upgrade order; Migrate the services on the group nodes to be upgraded to other non-upgraded nodes; Obtain a second message, wherein the second message indicates that all services on the group node to be upgraded have been migrated to the other non-upgraded nodes; Upgrade the group nodes to be upgraded; Migrate the services on the other non-upgraded nodes to the upgraded group nodes; Obtain a fourth message, wherein the fourth message indicates that the services on the other non-upgraded nodes have been migrated to the upgraded group node.
2. The method of claim 1, wherein, After migrating the services on the other non-upgraded nodes to the upgraded group nodes, the method further includes: The next group node to be upgraded is determined according to the upgrade order; Migrate the services on the next group node to be upgraded to other non-upgraded nodes; Upgrade the next group node to be upgraded.
3. The method according to claim 1 or 2, characterized in that, Each group includes the node type of each group, the identifier corresponding to the group order of each group, the node identifier corresponding to the node in each group, and the host identifier corresponding to the node in each group; The group node to be upgraded has the same node type as the other non-upgraded nodes.
4. The method according to any one of claims 1 to 3, characterized in that, Before obtaining the upgrade batch information, the method further includes: Obtain a set of nodes, wherein each node in the set corresponds to a node type; Obtain a set of node batching rules, wherein the set of node batching rules includes node batching rules corresponding to each node type; The node set is divided into batches according to the node batching rule set to obtain the upgrade batching information.
5. The method of claim 4, wherein, The method further includes: Determine the services that the node runs, wherein the services correspond to service types; Determine the batching rules corresponding to the business type; The node batching rules corresponding to the node type are determined based on the batching rules corresponding to the business type.
6. The method according to any one of claims 1 to 5, characterized in that, Before migrating the services on the group node to be upgraded to other non-upgraded nodes, the method further includes: Obtain a first message, wherein the first message instructs the group node to be upgraded to perform an upgrade.
7. The method according to any one of claims 1 to 5, characterized in that, Before migrating services on the other non-upgraded nodes to the upgraded group nodes, the method further includes: Obtain a third message, wherein the third message instructs the group node to be upgraded to complete the upgrade.
8. A node batch upgrade device, characterized in that, include: The acquisition module is used to acquire upgrade batch information, wherein the upgrade batch information includes the upgrade order of each group; The determination module is used to determine the group nodes to be upgraded according to the upgrade order; The migration module is used to migrate the services on the group node to be upgraded to other non-upgraded nodes; The upgrade module is used to upgrade the group nodes to be upgraded; The migration module is also used to migrate services on other non-upgraded nodes to the upgraded group node after the upgrade of the group node to be upgraded is completed. The acquisition module is further configured to acquire a second message before upgrading the group node to be upgraded, wherein the second message indicates that all services on the group node to be upgraded have been migrated to the other non-upgraded nodes. The acquisition module is further configured to acquire a fourth message, wherein the fourth message indicates that the services on the other non-upgraded nodes have been migrated to the upgraded group node.
9. The node batch upgrade device according to claim 8, characterized in that, The determining module is further configured to determine the next group node to be upgraded according to the upgrade order after migrating the services on the other non-upgraded nodes to the upgraded group nodes; The migration module is also used to migrate the services on the next group node to be upgraded to other non-upgraded nodes; The upgrade module is also used to upgrade the next group node to be upgraded.
10. The node batch upgrade device according to claim 8 or 9, characterized in that, Each group includes the node type of each group, the identifier corresponding to the group order of each group, the node identifier corresponding to the node in each group, and the host identifier corresponding to the node in each group; The group node to be upgraded has the same node type as the other non-upgraded nodes.
11. The node batch upgrade device according to any one of claims 8 to 10, characterized in that, The node batch upgrade device also includes a batching module: The acquisition module is further configured to acquire a node set before acquiring the upgrade batch information, wherein each node in the node set corresponds to a node type; The acquisition module is further configured to acquire a set of node batching rules, wherein the set of node batching rules includes node batching rules corresponding to each node type; The batching module is used to batch the node set according to the node batching rule set to obtain the upgrade batching information.
12. The node batch upgrade device according to claim 11, characterized in that, The determining module is further configured to determine the service being run by the node, wherein the service corresponds to a service type; The determining module is also used to determine the batching rules corresponding to the business type; The determining module is further configured to determine the node batching rule corresponding to the node type based on the batching rule corresponding to the business type.
13. The node batch upgrade device according to any one of claims 8 to 12, characterized in that, The acquisition module is further configured to acquire a first message before migrating the services on the group node to be upgraded to other non-upgraded nodes, wherein the first message instructs the group node to be upgraded to perform an upgrade.
14. The node batch upgrade device according to any one of claims 8 to 13, characterized in that, The acquisition module is further configured to acquire a third message before migrating the services on the other non-upgraded nodes to the upgraded group node, wherein the third message indicates that the group node to be upgraded has completed the upgrade.
15. A network device, characterized in that, include: Processor, memory, input / output interfaces; The processor is coupled to the memory and the input / output interface; The processor executes the method as described in any one of claims 1 to 7 by running code in the memory.
16. A chip, characterized in that, The chip includes at least one processor, which is communicatively connected to at least one memory, which stores instructions; the instructions are executed by the at least one processor according to any one of claims 1 to 7.
17. A computer-readable storage medium storing instructions that, when executed on a computer, cause the computer to perform the method as claimed in any one of claims 1 to 7.