Stand-alone ISSU upgrading method and device

By building independent containers for business software and chip drivers on network devices, and synchronizing data and switching containers when receiving ISSU upgrade instructions, the business interruption caused by ISSU upgrade in the prior art is solved, and business stability during the upgrade process is improved.

CN119829097APending Publication Date: 2025-04-15NEW H3C TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411931119.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-25
Publication Date
2025-04-15

AI Technical Summary

Technical Problem

In the existing stand-alone ISSU upgrade solution, there is a problem of business interruption, especially the uncertainty of the interruption duration caused by chip driver upgrades.

Method used

By building a first container and a second container on a network device, the first container is used to run the service software, the second container is used to run the chip driver, and establishing a communication connection between the two. Upon receiving the ISSU upgrade instruction, a mirror container of the first container is created and data synchronization is performed. When synchronization is completed, switch the mirror container as the main container, establish a communication connection with the second container, and disconnect the communication connection between the first container and the second container, thereby avoiding chip driver upgrades.

Benefits of technology

By separating the chip driver from the business software and running in different containers, business interruptions caused by chip driver upgrades are avoided, and business stability during the single-machine ISSU upgrade process is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119829097A_ABST
    Figure CN119829097A_ABST
Patent Text Reader

Abstract

The invention provides a stand-alone ISSU upgrading method and device. The method comprises the steps that an ISSU upgrading instruction for service software in a first container is received; creating a mirror image container of the first container, and controlling the mirror image container of the first container to perform data synchronization with the first container; and under the condition of determining that the data synchronization is completed, controlling the mirror image container of the first container to be switched into a main container, establishing communication connection with the second container, and controlling the first container to disconnect the communication connection with the second container. By applying the embodiment of the invention, the service stability in a stand-alone ISSU upgrading process can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of data processing technology, and in particular to a single-machine ISSU upgrade method and device. Background Art

[0002] ISSU (In-Service Software Upgrade) is a highly reliable way to upgrade the startup software of a device. ISSU upgrade can ensure that services are not interrupted or the interruption time is short during the upgrade process.

[0003] Existing ISSU technology is no longer limited to stacked networking, but has developed to implement ISSU software upgrades on a single network device with the help of containers (which can be called stand-alone ISSU upgrades). Its core idea is to separate programs and data, and the program runs in the container. During the ISSU upgrade, the program in the container is replaced and upgraded as a whole, while the data remains unchanged, so as to achieve the upgrade effect without interrupting the business.

[0004] However, the existing single-machine ISSU upgrade solution is incompatible with the drivers of different chip manufacturers and is highly dependent on the capability set provided by the forwarding chip. The support of different chip manufacturers for ISSU technology will also affect the duration of business interruption during the upgrade process. Summary of the invention

[0005] The present invention provides a single-machine ISSU upgrade method and device to solve the problem of service interruption caused by ISSU upgrade in the prior art.

[0006] According to a first aspect of an embodiment of the present invention, a stand-alone ISSU upgrade method is provided, which is applied to a network device, wherein a first container and a second container are built on the network device, wherein the first container is used to run service software, and the second container is used to run a chip driver, and a communication connection is established between the first container and the second container, including:

[0007] Receiving an ISSU upgrade instruction for service software in the first container;

[0008] Creating a mirror container of the first container, and controlling the mirror container of the first container to synchronize data with the first container; wherein the first container runs the original version of the business software, and the mirror container of the first container runs the target version of the business software;

[0009] When it is determined that data synchronization is completed, the mirror container of the first container is controlled to switch to the main container, a communication connection is established with the second container, and the first container is controlled to disconnect the communication connection with the second container.

[0010] According to a second aspect of an embodiment of the present invention, a stand-alone ISSU upgrade device is provided, which is deployed on a network device, wherein a first container and a second container are built on the network device, wherein the first container is used to run service software, and the second container is used to run a chip driver, and a communication connection is established between the first container and the second container, wherein the device includes:

[0011] A receiving unit, configured to receive an ISSU upgrade instruction for the service software in the first container;

[0012] A creating unit, configured to create a mirror container of the first container; wherein the first container runs the original version of the business software, and the mirror container of the first container runs the target version of the business software;

[0013] A control unit, used for controlling the mirror container of the first container to synchronize data with the first container;

[0014] The control unit is further configured to, when determining that data synchronization is completed, control the mirror container of the first container to switch to the main container, establish a communication connection with the second container, and control the first container to disconnect the communication connection with the second container.

[0015] The technical solution disclosed in the present invention is applied, by building a first container and a second container on a network device, running business software on the first container, running a chip driver on the second container, and establishing a communication connection between the first container and the second container, when an ISSU upgrade instruction for the business software in the first container is received, a mirror container of the first container is created, and the mirror container of the first container is controlled to synchronize data with the first container. When it is determined that the data synchronization is completed, on the one hand, the mirror container of the first container is controlled to switch to the main container and establish a communication connection with the second container; on the other hand, the first container is controlled to disconnect the communication connection with the second container. By separating the chip driver from other user-mode processes and running them in different containers respectively, during the stand-alone ISSU upgrade of the network device, the chip driver is not upgraded, thereby avoiding business interruption caused by the chip driver upgrade and improving business stability during the stand-alone ISSU upgrade. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 It is a schematic diagram of the implementation principle of a single-machine ISSU;

[0017] Figure 2 It is a flowchart of a single-machine ISSU upgrade method provided by an embodiment of the present invention;

[0018] Figure 3 This is a diagram showing the effect of normalized operation of a device provided by an embodiment of the present invention;

[0019] Figure 4 It is a flowchart of a single-machine ISSU upgrade method provided by an embodiment of the present invention;

[0020] Figure 5 It is a structural schematic diagram of a single-machine ISSU upgrade device provided by an embodiment of the present invention;

[0021] Figure 6 It is a structural schematic diagram of another stand-alone ISSU upgrade device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0022] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of the present invention, the implementation principle of a single-machine ISSU is briefly described below.

[0023] like Figure 1 As shown, network devices (such as switches or routers, etc.) can include three levels: forwarding chip, kernel state, and user state. Among them:

[0024] A forwarding chip refers to a hardware module of a network device, whose main function is to forward or process data.

[0025] Kernel state is the core execution mode of the operating system. It runs the core part of the operating system and is responsible for system-level tasks such as hardware management, process scheduling, and memory management.

[0026] User state is the normal mode in which processes in an operating system run. User state programs cannot directly access hardware resources and can only access them indirectly through the system call interface provided by the operating system.

[0027] In order to implement stand-alone ISSU, user-state programs run in containers, and user-state data is independent of the container and stored using databases (LMDB (Lightning Memory-Mapped Database) databases), shared memory, etc., to achieve cross-container access.

[0028] During the ISSU upgrade process, the kernel state and forwarding chip remain unchanged, and the user state is upgraded.

[0029] During the user-mode upgrade process, a new container can be created and the user-mode process can be restarted in the channel container using the new version.

[0030] The user-mode process may include a service process and a chip driver (also referred to as an SDK process).

[0031] Some terms involved in the embodiments of the present invention are explained below.

[0032] ISSU (In-Service Software Upgrade): A highly reliable way to upgrade device startup software.

[0033] SDK (Software Development Kit): A comprehensive development tool set that includes various resources and tools required for developing applications for a specific platform or programming environment. In the embodiment of the present invention, the chip driver may include an SDK corresponding to the development application of the chip.

[0034] LMDB (Lightning Memory-Mapped Database): A high-performance, key-value storage database that is widely used in a variety of high-performance applications that require persistent storage. PCIE (Peripheral Component Interconnect Express): A high-speed serial computer expansion bus standard used to connect the motherboard to various external devices or built-in devices.

[0035] In order to make the above-mentioned purposes, features and advantages of the embodiments of the present invention more obvious and understandable, the technical solutions in the embodiments of the present invention are further described in detail below with reference to the accompanying drawings.

[0036] See also Figure 2 , is a flow chart of a single-machine ISSU upgrade method provided by an embodiment of the present invention. The single-machine ISSU upgrade method can be applied to network devices, such as switches or routers, such as Figure 2 As shown, the single-machine ISSU upgrade method may include the following steps:

[0037] Step 201: Receive an ISSU upgrade instruction for service software in a first container.

[0038] In the embodiment of the present invention, in order to avoid service interruption of the network device, when the network device needs to perform software upgrade, the software upgrade can be performed through the uninterrupted software upgrade (ie ISSU) technology.

[0039] Accordingly, when the service software in the first container needs to be upgraded, an uninterrupted software upgrade instruction (hereinafter referred to as ISSU upgrade instruction) for the service software in the first container may be issued to the network device.

[0040] Taking into account the actual scenario, the chip driver (also known as the SDK process) is provided by the chip manufacturer and usually has low upgrade requirements. Therefore, in order to avoid business interruptions caused by the chip driver being upgraded together with other user-mode processes during the ISSU upgrade process, the chip driver can be separated during the stand-alone ISSU upgrade process and no longer upgraded together with other user-mode processes.

[0041] Accordingly, in an embodiment of the present invention, two containers (which may be respectively referred to as a first container and a second container) may be created for a user-mode process. The first container is used to run the business software, and the second container is used to run the chip driver. During a stand-alone ISSU upgrade, the chip driver may not be upgraded.

[0042] A communication connection is established between the first container and the second container, so that the service software in the first container can access the forwarding chip, such as accessing the chip register, through the driver interface provided by the chip driver in the second container.

[0043] Step 202: Create a mirror container of the first container, and control the mirror container of the first container to synchronize data with the first container; wherein the first container runs the original version of the business software, and the mirror container of the first container runs the target version of the business software.

[0044] In the embodiment of the present invention, when the network device receives an ISSU upgrade instruction for the service software in the first container, it can create a mirror container of the first container.

[0045] The first container runs the original version of the business software, the second container runs the target version of the business software, and the business software running in the first container corresponds one to one with the business software running in the second container.

[0046] The initial state of the mirror container of the first container is a standby state, and no communication connection is established with the second container.

[0047] In the embodiment of the present invention, when the network device completes the creation of the mirror container of the first container, the mirror container of the first container can be controlled to synchronize data with the first container to ensure that the mirror container of the first container and the same application in the first container have the same data.

[0048] Exemplarily, the above data synchronization may include synchronization of forwarding table entry data.

[0049] Step 203: When it is determined that data synchronization is completed, the mirror container of the first container is controlled to switch to the main container, a communication connection is established with the second container, and the first container is controlled to disconnect the communication connection with the second container.

[0050] In an embodiment of the present invention, when the mirror container of the first container and the first container complete data synchronization, the network device can, on the one hand, control the mirror container of the first container to switch to the main container and establish a communication connection with the second container; on the other hand, it can control the first container to disconnect the communication connection with the second container, so that the business software in the first container cannot access the forwarding chip through the driver interface provided by the chip driver in the second container, thereby avoiding access conflicts of the forwarding chip.

[0051] The service software in the image container of the first container can communicate with the chip driver in the second container through a socket.

[0052] It can be seen that in Figure 2 In the method flow shown, a first container and a second container are built on a network device, business software is run on the first container, a chip driver is run on the second container, and a communication connection is established between the first container and the second container. When an ISSU upgrade instruction for the business software in the first container is received, a mirror container of the first container is created, and the mirror container of the first container is controlled to synchronize data with the first container. When it is determined that the data synchronization is completed, on the one hand, the mirror container of the first container is controlled to switch to the main container and establish a communication connection with the second container; on the other hand, the first container is controlled to disconnect the communication connection with the second container. By separating the chip driver from other user-mode processes and running them in different containers respectively, the chip driver is not upgraded during the stand-alone ISSU upgrade of the network device, thereby avoiding business interruption caused by the chip driver upgrade and improving business stability during the stand-alone ISSU upgrade.

[0053] In some embodiments, creating a mirror container of the first container and controlling the mirror container of the first container to synchronize data with the first container may include:

[0054] Control the first container to store normalized data in a first designated storage space; wherein the first designated storage space includes a shared memory and / or a database; the normalized data includes data generated in the first container when the ISSU upgrade instruction is received;

[0055] A mirror image container of the first container is created, and the mirror image container of the first container is controlled to read the normalized data of the first container from the first designated storage space.

[0056] Exemplarily, in order to achieve data synchronization between a first container and a mirror container of the first container, upon receiving an ISSU upgrade instruction for the business software in the first container, on the one hand, the first container can be controlled to store current data (which can be called normalized data) in a first designated storage space.

[0057] Exemplarily, the first designated storage space may include a shared memory and / or a database (such as an LMDB database).

[0058] For example, the first container may be controlled to store global variable data in a shared memory and other data in a database.

[0059] On the other hand, a mirror container of the first container may be created, and the mirror container of the first container may be controlled to read the normalized data of the first container from the first designated storage space, thereby achieving data synchronization between the first container and the mirror container of the first container.

[0060] In one example, the solution provided by the embodiment of the present application may also include:

[0061] Control the first container to store abnormal data in a second designated storage space; wherein the second designated storage space includes a temporary database or a temporary file; the abnormal data includes data generated in the first container after receiving the ISSU upgrade instruction and / or data that is inconvenient for daily maintenance;

[0062] The mirror container of the first container is controlled to read and store the abnormalized data of the first container from the second designated storage space.

[0063] For example, considering that new data may be generated in the first container during the ISSU upgrade process of a single machine, this part of data also needs to be updated between the first container and the mirror container of the first container.

[0064] Accordingly, when an ISSU upgrade instruction for the business software of the first container is received, in addition to synchronizing the normalized data in the above manner, the first container can be controlled to store the data generated during the upgrade process (i.e., the data generated in the first container after receiving the ISSU upgrade instruction) and / or the data that is inconvenient for daily maintenance (collectively referred to as abnormal data) in the second designated storage space, and the mirror container of the first container can be controlled to read the abnormal data of the first container from the second designated storage space, and store the read abnormal data of the first container.

[0065] Exemplarily, data that is inconvenient for daily maintenance refers to data that is inconvenient to manage in daily maintenance or routine monitoring due to the particularity of system design, configuration or operation. It may include but is not limited to part or all of the stack traces, fault dump data, abnormal patterns in log data, analysis reports, and other data generated when an abnormality occurs in the device.

[0066] Exemplarily, the second designated storage space may include a temporary database or a temporary file.

[0067] In some embodiments, the above-mentioned control of switching the mirror container of the first container to the main container and establishing a communication connection with the second container may also include:

[0068] Based on the data in the mirror container of the first container, the mirror container of the first container is controlled to synchronize data with the SDK process in the second container.

[0069] In this embodiment, when the mirror container of the first container is switched to the main container and a communication connection is established with the second container, in order to maintain data consistency, the mirror container of the first container can be used as a benchmark to control the data synchronization between the mirror container of the first container and the SDK process in the second container, and align the new data generated during the ISSU upgrade process and the differences.

[0070] Exemplarily, the data in the image container of the first container and the data in the SDK process in the second container may be compared.

[0071] The data that exists in the image container of the first container but does not exist in the SDK process in the second container is sent to the SDK process in the second container.

[0072] The data that does not exist in the image container of the first container but exists in the SDK process in the second container is deleted from the SDK process in the second container.

[0073] In some embodiments, after controlling the first container to disconnect the communication connection with the second container, the following steps may also be included:

[0074] The first container is recycled.

[0075] In this embodiment, in order to save system resources, after the communication connection between the first container and the second container is disconnected, the network device may recycle resources of the first container, that is, notify the first container to exit and release resources.

[0076] For example, an ISSU completion event can be issued to each process of the first container, and each process in the first container cleans up the backup data files generated by the process (that is, the new data generated by each process in the first container during the ISSU upgrade process, such as the above-mentioned abnormal data) (such as by deleting the temporary database or temporary files) to prevent resource leakage.

[0077] When each process completes its own resource recovery, the docker stop command (a command used to stop a running container) can be executed for the first container, and wait for each process in the first container to terminate execution. When each process in the first container terminates execution, the first container is deleted, or, when the set timeout period is reached, the SIGKILL signal (a signal that notifies a process to terminate immediately and release its resources) is used to forcibly terminate each process in the first container and delete the first container.

[0078] In order to enable those skilled in the art to better understand the technical solution provided by the embodiment of the present invention, the technical solution provided by the embodiment of the present invention is described below in conjunction with specific application scenarios.

[0079] In this embodiment, considering the single-machine ISSU upgrade process, when the SDK process is upgraded together with the service software, the following problems may occur:

[0080] 1) The new container and the old container access the PCIE (Peripheral Component Interconnect Express) chip register at a high frequency at the same time, resulting in a PCIE chip register access conflict;

[0081] 2) Abnormal message receiving and sending by the CPU (Center Process Unit): When the original container receives and sends messages to the chip normally, if the new container initializes the DMA (Direct Memory Access) of the chip to send and receive messages, the DMA will not work and messages cannot be sent or received subsequently;

[0082] 3) The chip driver's table entries are inconsistent with the chip table entry storage location, resulting in a brief interruption or table entry anomaly during the recovery process: The chip driver has the ability to manage the chip transfer table. Some transfer table entries are stored in hash form, and their storage location is related to the order in which the table entries are added. The order in which these table entries are added cannot be guaranteed during recovery, resulting in a different hash position from the hard table. During the smoothing process, a brief interruption may occur due to position adjustment.

[0083] Based on the above considerations, and considering that the chip driver is provided by the chip manufacturer and usually has low upgrade requirements, in order to avoid various problems caused by upgrading the chip driver together with other user-mode processes during the ISSU upgrade process, during the stand-alone ISSU upgrade process, the chip driver can be separated and no longer upgraded together with other user-mode processes.

[0084] The implementation process of the single-machine ISSU upgrade solution provided by the embodiment of the present invention is described below with reference to the accompanying drawings.

[0085] In this embodiment, the normal operation effect diagram of the equipment is as follows: Figure 3 As shown, compared with the traditional single-machine ISSU upgrade solution (such as Figure 1 ) compared to adding a container (such as Figure 3 Container 2 in the above container (i.e., the second container) runs the chip driver program separately. The device is divided into four levels: user state, chip driver program, kernel state, and forwarding chip. Except for the chip driver program, other user state processes run in a container (such as Figure 3 In container 1, i.e., the first container mentioned above, the user state data of these processes are independent of the container and are stored using LMDB database, shared memory, etc., which can achieve cross-container access.

[0086] like Figure 4 As shown, in this embodiment, the single-machine ISSU upgrade implementation process is as follows:

[0087] Step 401: Receive an ISSU upgrade instruction for a first container.

[0088] In this embodiment, when there is an ISSU upgrade requirement for the network device, a new version of software can be loaded into the network device, and an ISSU upgrade instruction for the service software in container 1 can be issued to the network device.

[0089] The network device receives the ISSU upgrade instruction and determines that there is a difference between the service software version currently running in container 1 and the newly loaded software version, and upgrades the network device through a single-machine ISSU upgrade method.

[0090] Step 402: Back up the business software in container 1, create a mirror container of the container, run the new version of the business software in the mirror container, and synchronize the data.

[0091] In this embodiment, when the network device receives an ISSU upgrade instruction for the service process in container 1, on the one hand, each service process of the first container can be notified to save data.

[0092] Exemplarily, data can be stored using LMDB database, shared memory and / or file reading and writing, etc. Cross-container access can be achieved by sharing file directories between containers.

[0093] For example, for normalized data, container 1 may save the data through an LMDB database or a shared memory; for abnormalized data, container 1 may save the data through a temporary database or a temporary file.

[0094] On the other hand, a mirror container of container 1 can be created, which has the same properties as container 1, and a new version of business software can be loaded into the mirror container. During the operation of the mirror container, the business process in the mirror container can read the data saved in container 1, for example, read normalized data from LMDB data or shared memory, and read abnormal data from a temporary database or temporary file, to achieve data synchronization and maintain data consistency between the mirror container and container 1.

[0095] Among them, since the chip driver has been running independently in container 2, it does not need to be upgraded together with the business software in container 1. Therefore, it does not involve chip-related initialization processes, does not need to consider redundant operations such as register mutual exclusion and forwarding management table recovery, and will not cause related problems.

[0096] Step 403: When data synchronization is completed, the mirror container is controlled to switch to the main container, a communication connection is established with container 2, and container 1 is controlled to disconnect the communication connection with container 2.

[0097] In this embodiment, when it is determined that the mirror container has completed configuration and state data synchronization with container 1, on the one hand, container 1 can be controlled to switch to the main container and establish a communication connection with container 2.

[0098] Among them, when container 1 switches to the main container and establishes a communication connection with container 2, in order to maintain data consistency, it can also use the data in the mirror container as a benchmark to control the SDK process in the mirror container and container 2 to synchronize data, and align the new data and differences generated during the ISSU upgrade process.

[0099] On the other hand, container 1 can be controlled to disconnect the communication connection with container 2 to prevent the old version of the business software in container 1 from accessing the forwarding chip again through the driver interface provided by the SDK process.

[0100] Step 404: Recycle container 1.

[0101] In this embodiment, in order to save system resources, after the communication connection between container 1 and container 2 is disconnected, the network device can recycle resources for container 1, that is, notify container 1 to exit and release resources.

[0102] For example, an ISSU completion event may be issued to each process of container 1, and each process in container 1 cleans up the backup data files generated by the process to prevent resource leakage.

[0103] When each process completes its own resource recycling, you can execute the docker stop command for container 1 and wait for each process in container 1 to terminate execution. When each process in container 1 terminates execution, delete container 1, or, when the set timeout period is reached, forcibly terminate each process in container 1 through the SIGKILL signal and delete container 1.

[0104] See also Figure 5 , is a schematic diagram of the structure of a stand-alone ISSU upgrade device provided by an embodiment of the present invention, wherein the stand-alone ISSU upgrade device can be deployed on a network device, a first container and a second container are built on the network device, the first container is used to run the service software, the second container is used to run the chip driver, and a communication connection is established between the first container and the second container, such as Figure 5 As shown, the stand-alone ISSU upgrade device may include:

[0105] The receiving unit 510 is configured to receive an ISSU upgrade instruction for the service software in the first container;

[0106] A creation unit 520 is used to create a mirror container of the first container; wherein the original version of the business software is running in the first container, and the mirror container of the first container is running the target version of the business software;

[0107] A control unit 530, configured to control the mirror container of the first container to synchronize data with the first container;

[0108] The control unit 530 is further configured to, when determining that data synchronization is completed, control the mirror container of the first container to switch to the main container, establish a communication connection with the second container, and control the first container to disconnect the communication connection with the second container.

[0109] In some embodiments, the control unit 530 is specifically used to control the first container to store normalized data in a first designated storage space; wherein the first designated storage space includes a shared memory and / or a database; the normalized data includes data generated in the first container when the ISSU upgrade instruction is received;

[0110] The control unit 530 is further configured to control the image container of the first container to read the normalized data of the first container from the first designated storage space.

[0111] In some embodiments, the control unit 530 is further specifically used to control the first container to store abnormal data in a second designated storage space; wherein the second designated storage space includes a temporary database or a temporary file; the abnormal data includes data generated in the first container after receiving the ISSU upgrade instruction and / or data that is inconvenient for daily maintenance;

[0112] The control unit 530 is further specifically configured to control the image container of the first container to read and store the abnormal data of the first container from the second designated storage space.

[0113] In some embodiments, the control unit 530 controls the mirror container of the first container to switch to the main container, and after establishing a communication connection with the second container, further includes:

[0114] Based on the data in the mirror container of the first container, the mirror container of the first container is controlled to synchronize data with the chip driver in the second container.

[0115] In some embodiments, Figure 6 As shown, the device also includes:

[0116] The recycling unit 540 is used to recycle resources of the first container.

[0117] An embodiment of the present invention further provides an electronic device, including a processor and a memory, wherein the memory is used to store a computer program; and the processor is used to implement the above-described single-machine ISSU upgrade method when executing the program stored in the memory.

[0118] The memory mentioned in this article can be any electronic, magnetic, optical or other physical storage device that can contain or store information, such as executable instructions, data, etc. For example, the machine-readable storage medium can be: RAM (RadomAccess Memory, random access memory), volatile memory, non-volatile memory, flash memory, storage drive (such as hard disk drive), solid state drive, any type of storage disk (such as CD, DVD, etc.), or similar storage medium, or a combination thereof.

[0119] An embodiment of the present invention further provides a machine-readable storage medium, such as the above-mentioned memory, in which machine-executable instructions are stored, and when the machine-executable instructions are executed by a processor, the single-machine ISSU upgrade method described above is implemented. For example, the machine-readable storage medium may be a ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc.

[0120] An embodiment of the present invention further provides a computer program product, which stores a computer program. When a processor executes the computer program, the processor is prompted to execute the single-machine ISSU upgrade method described above.

Claims

1. A single-machine ISSU upgrade method, characterized in that: Applied to a network device, a first container and a second container are built on the network device, the first container is used to run business software, the second container is used to run a chip driver, and a communication connection is established between the first container and the second container. The method includes: Receiving an ISSU upgrade instruction for service software in the first container; Creating a mirror container of the first container, and controlling the mirror container of the first container to synchronize data with the first container; wherein the first container runs the original version of the business software, and the mirror container of the first container runs the target version of the business software; When it is determined that data synchronization is completed, the mirror container of the first container is controlled to switch to the main container, a communication connection is established with the second container, and the first container is controlled to disconnect the communication connection with the second container.

2. The method according to claim 1, characterized in that The creating a mirror container of the first container and controlling the mirror container of the first container to synchronize data with the first container includes: Control the first container to store normalized data in a first designated storage space; wherein the first designated storage space includes a shared memory and / or a database; the normalized data includes data generated in the first container when the ISSU upgrade instruction is received; A mirror container of the first container is created, and the mirror container of the first container is controlled to read the normalized data of the first container from the first designated storage space.

3. The method according to claim 2, characterized in that The method further comprises: Control the first container to store abnormal data into a second designated storage space; wherein the second designated storage space includes a temporary database or a temporary file; the abnormal data includes data generated in the first container after receiving the ISSU upgrade instruction and / or data that is inconvenient for daily maintenance; The mirror container of the first container is controlled to read and store the abnormal data of the first container from the second designated storage space.

4. The method according to claim 1, characterized in that: After the mirror container controlling the first container is switched to the main container and a communication connection is established with the second container, the method further includes: Based on the data in the mirror container of the first container, the mirror container of the first container is controlled to synchronize data with the chip driver in the second container.

5. The method according to claim 1, characterized in that After controlling the first container to disconnect the communication connection with the second container, the method further includes: The first container is recycled.

6. A single-machine ISSU upgrade device, characterized in that: Deployed on a network device, a first container and a second container are built on the network device, the first container is used to run business software, the second container is used to run a chip driver, a communication connection is established between the first container and the second container, and the device includes: A receiving unit, configured to receive an ISSU upgrade instruction for the service software in the first container; A creating unit, configured to create a mirror container of the first container; wherein the first container runs the original version of the business software, and the mirror container of the first container runs the target version of the business software; A control unit, used for controlling the mirror container of the first container to synchronize data with the first container; The control unit is further configured to, when determining that data synchronization is completed, control the mirror container of the first container to switch to the main container, establish a communication connection with the second container, and control the first container to disconnect the communication connection with the second container.

7. The device according to claim 6, characterized in that The control unit is specifically used to control the first container to store normalized data in a first designated storage space; wherein the first designated storage space includes a shared memory and / or a database; the normalized data includes data generated in the first container when the ISSU upgrade instruction is received; The control unit is further configured to control the mirror container of the first container to read the normalized data of the first container from the first designated storage space.

8. The device according to claim 7, characterized in that The control unit is further specifically used to control the first container to store abnormal data in a second designated storage space; wherein the second designated storage space includes a temporary database or a temporary file; the abnormal data includes data generated in the first container after receiving the ISSU upgrade instruction and / or data that is inconvenient for daily maintenance; The control unit is further specifically configured to control the mirror container of the first container to read and store the abnormal data of the first container from the second designated storage space.

9. The device according to claim 6, characterized in that The control unit controls the mirror container of the first container to switch to the main container, and after establishing a communication connection with the second container, further includes: Based on the data in the mirror container of the first container, the mirror container of the first container is controlled to synchronize data with the chip driver in the second container.

10. The device according to claim 6, characterized in that The device also includes: A recycling unit is used to recycle resources of the first container.