Data backup method and device and related equipment

Through real-time continuous data backup and data snapshot backup, the problem of data synchronization consistency between multiple memories of the computing node is solved, ensuring the accuracy and reliability of data recovery.

CN119292822APending Publication Date: 2025-01-10HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311138829.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-07-10
Filing Date
2023-09-04
Publication Date
2025-01-10

AI Technical Summary

Technical Problem

When a computing node is equipped with a variety of different types of memory, the prior art is difficult to ensure data synchronization consistency, resulting in the inability to determine the time point of data consistency during data recovery, which affects the accuracy of data recovery.

Method used

Real-time continuous data backup is used to back up the first type of memory and data snapshot backup to the second type of memory. The data consistency time point is determined through the snapshot cycle to ensure that the computing node is consistent with the data in the backup device, thereby achieving the accuracy of data recovery.

Benefits of technology

It effectively avoids the difficulty in determining the time point of data consistency and ensures the accuracy and reliability of the data recovery process of the computing node.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119292822A_ABST
    Figure CN119292822A_ABST
Patent Text Reader

Abstract

The invention discloses a data backup method and device and related equipment, and the data backup method can be applied to an application scene in which a first-class memory and a second-class memory jointly provide a storage space for a computing node. The method comprises the following steps of: performing data backup in real time aiming at data stored in a first-class memory by a calculated node; and for the data stored in the second-class memory by the calculated node, performing data backup according to a snapshot period in a data snapshot manner. As real-time continuous data backup is executed for the first type of memories, for the first type of memories, data stored in the computing nodes and data stored in the backup equipment are consistent at any moment. Therefore, the data consistency time point of the computing node and the backup device can be determined according to the snapshot period, the situation that the data consistency time point cannot be determined can be avoided, and correct data recovery can be performed on the computing node according to the data consistency time point.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims the priority of the Chinese patent application filed with the China National Intellectual Property Administration on July 10, 2023, with application number 202310842240.5 and application name “A Data Protection Method”, the entire contents of which are incorporated by reference into this application. Technical Field

[0003] The present application relates to the technical field of data storage, and in particular to a data backup method, device and related equipment. Background Art

[0004] In the field of data storage technology, in order to prevent the data stored in the memory of a computing node from being lost or damaged when the memory of the computing node fails, a backup device can be set to back up the data stored in the memory of the computing node in the backup device.

[0005] Data synchronization can be performed periodically between the computing node and the backup device, and the data stored in the memory of the computing node is stored in the memory of the backup device through data synchronization. However, when the computing node is provided with multiple different types of memories, if data synchronization is performed periodically for the multiple different types of memories respectively, it is difficult to ensure that data synchronization is performed on all memories at the same time. If data synchronization is performed on different memories at different times, the data consistency time point cannot be determined when the computing node is restored, that is, at any time point, the data stored in the backup device cannot be consistent with the data stored in all the memories of the computing node, thereby affecting the data recovery of the computing node.

[0006] When a computing node is equipped with multiple different types of storage, how to perform data backup is an urgent problem to be solved. Summary of the invention

[0007] The present application provides a data backup method, apparatus and related equipment for performing data backup on a computing node in a scenario where the computing node is provided with a plurality of different types of storage devices.

[0008] In a first aspect, the present application provides a data backup method, which is executed by a computing node or a storage device to which the computing node belongs, and the computing node has at least a first type of memory and a second type of memory, that is, the first type of memory and the second type of memory provide storage space for the computing node. The data backup method may include: performing real-time data backup for data stored in the first type of memory by the computing node; performing data backup in the form of data snapshots for data stored in the second type of memory by the computing node.

[0009] The data backup method provided by the present application can perform real-time continuous data backup for the first type of memory. For the second type of memory, data backup can be performed according to the snapshot period by means of data snapshots. Since real-time continuous data backup is performed for the first type of memory, for the first type of memory, the data stored in the computing node and the backup device are consistent at any time. Therefore, the data consistency time point of the computing node and the backup device can be determined according to the snapshot period. At the data consistency time point, the data stored in the backup device is consistent with the data stored in the first type of memory and the second type of memory of the computing node, thereby avoiding the situation where the data consistency time point cannot be determined, which is conducive to correct data recovery of the computing node according to the data consistency time point.

[0010] In an optional implementation, when receiving a write data operation for the first type of memory, the computing node or the storage device to which the computing node belongs may generate backup information of the write data operation in real time through a continuous data protection (CDP) method.

[0011] In an optional implementation, the computing node or the storage device to which the computing node belongs can generate a data snapshot and a snapshot time point of the second type of storage according to a set snapshot period, and the snapshot time point can be understood as the creation time of the data snapshot. The snapshot time point of the second type of storage can be used as a common data recovery time point for the first type of storage and the second type of storage.

[0012] In the above implementation, since at the snapshot time point of the second-type storage, the data stored in the backup device is consistent with the data stored in the first-type storage and the second-type storage of the computing node, that is, the snapshot time point of the second-type storage is the data consistency time point of the computing node and the backup device, the snapshot time point of the second-type storage can be used as the common data recovery time point of the first-type storage and the second-type storage, and at the data recovery time point, the computing node can be correctly restored.

[0013] In an optional implementation, the computing node may be a virtual machine or a container, the first type of memory may be a virtual memory associated with the computing node; and the second type of memory may be a physical memory associated with the computing node.

[0014] In another optional implementation, the computing node may be a physical machine, the first type of memory may be an internal memory of the physical machine, and the second type of memory may be an external memory of the physical machine.

[0015] In an optional implementation, when performing data recovery, the computing node or the storage device to which the computing node belongs can select a target data recovery time point from multiple data recovery time points, that is, the target data recovery time point can be any data recovery time point among multiple data recovery time points that conform to the snapshot cycle. The computing node or the storage device to which the computing node belongs can obtain the backup data corresponding to the target data recovery time point, and the backup data can include the backup data of the real-time backup of the first type of storage and the backup data of the snapshot backup of the second type of storage. Among them, the backup data of the first type of storage refers to the backup information of the write data operation of the first type of storage saved before the data recovery time point. The backup data of the second type of storage refers to the data snapshot of the second type of storage corresponding to the data recovery time point. The computing node or the storage device to which the computing node belongs can perform data recovery on the first type of storage and the second type of storage based on the backup data corresponding to the target data recovery time point.

[0016] In the above implementation, any data recovery time point can be selected from multiple data recovery time points as the target data recovery time point according to the actual needs of fault recovery. The computing node or the storage device to which the computing node belongs can obtain the backup data of the first type of storage and the backup data of the second type of storage respectively, so as to perform data recovery on the first type of storage and the second type of storage.

[0017] In an optional implementation, when performing data recovery on the first type of storage and the second type of storage, the computing node or the storage device to which the computing node belongs may create a target storage and restore the backup data corresponding to the target data recovery time point to the target storage. Exemplarily, the computing node or the storage device to which the computing node belongs may obtain information about the storage to be recovered and create a target storage based on the information about the storage to be recovered. The storage to be recovered includes the first type of storage and the second type of storage.

[0018] In the above implementation, when a computing node or a storage device to which the computing node belongs recovers data in the first and second types of storage, it can create a target storage based on the information of the storage to be recovered stored in the backup device to save the data stored in the first and second types of storage.

[0019] In a second aspect, the present application provides a data backup method, which is executed by a backup device, the backup device communicates with a computing node, and the first type of memory and the second type of memory provide storage space for the computing node. The data backup method may include: the backup device saves the backup data sent by the computing node for real-time backup of the first type of memory; the backup device saves the backup data sent by the computing node for snapshot backup of the second type of memory.

[0020] In an optional implementation, the backup device can receive and save backup information of write data operations sent by the computing node in real time; wherein, the backup information of the write data operation is sent by the computing node through continuous data protection CDP when receiving the write data operation for the first type of memory.

[0021] In an optional implementation, the backup device may receive and save the data snapshots and snapshot time points of the second type of storage sent by the computing node according to the snapshot cycle, and use the snapshot time points as the common data recovery time points for the first type of storage and the second type of storage.

[0022] In an optional implementation, the data backup method further includes: the backup device receives a data acquisition request sent by the computing node; the data acquisition request carries a target data recovery time point; the backup device sends backup data corresponding to the target data recovery time point to the computing node; wherein the backup data includes backup data of the first type of storage real-time backup and backup data of the second type of storage snapshot backup. Exemplarily, when the computing node is a virtual machine or a container, the operation performed by the computing node can be performed by the storage device to which the computing node belongs.

[0023] In an optional implementation, the backup data of the real-time backup of the first type of storage refers to the backup information of the write data operation of the first type of storage saved before the data recovery time point; the backup data of the snapshot backup of the second type of storage refers to the data snapshot of the second type of storage corresponding to the data recovery time point.

[0024] In a third aspect, the present application provides a data backup device, which may include:

[0025] A first data backup unit, used for backing up data stored in the first type of storage by the computing node in real time;

[0026] A second data backup unit, used for backing up the data stored in the second type of storage by the computing node by means of data snapshot;

[0027] The first type of memory and the second type of memory provide storage space for computing nodes.

[0028] In an optional implementation, the first data backup unit may be specifically configured to:

[0029] When a write data operation for the first type of memory is received, backup information of the write data operation is generated in real time through a continuous data protection (CDP) mode.

[0030] In an optional implementation, the second data backup unit may be specifically used for:

[0031] According to the snapshot cycle, a data snapshot and a snapshot time point of the second type of storage are generated; wherein the snapshot time point serves as a common data recovery time point for the first type of storage and the second type of storage.

[0032] In an optional implementation, the data backup device may further include a data recovery unit, which may be used to:

[0033] When performing data recovery, a target data recovery time point is selected from multiple data recovery time points;

[0034] Acquire backup data corresponding to the target data recovery time point; the backup data includes backup data of the first type of storage real-time backup and backup data of the second type of storage snapshot backup;

[0035] Based on the backup data corresponding to the target data recovery time point, data recovery is performed on the first type of storage and the second type of storage.

[0036] In an optional implementation, the data recovery unit may be specifically used for:

[0037] Create target storage;

[0038] The backup data corresponding to the target data recovery time point is restored to the target storage.

[0039] In an optional implementation, the data recovery unit may be specifically used for:

[0040] Acquire information of the memory to be restored; wherein the memory to be restored may include a first type of memory and a second type of memory;

[0041] Create a target storage device based on the information of the storage device to be restored.

[0042] In a fourth aspect, the present application provides a data backup device, which may include:

[0043] A first data storage unit, used to store the backup data sent by the computing node for real-time backup of the first type of storage;

[0044] The second data storage unit is used to store the backup data for the second type of storage snapshot backup sent by the computing node.

[0045] In an optional implementation, the first data storage unit can be specifically used to: receive and save backup information of write data operations sent by the computing node in real time; wherein the backup information of the write data operation is sent by the computing node through continuous data protection CDP when receiving the write data operation for the first type of memory.

[0046] In an optional implementation, the second data storage unit can be specifically used to: receive and save data snapshots and snapshot time points of the second type of storage sent by the computing node according to the snapshot period, and use the snapshot time point as the common data recovery time point of the first type of storage and the second type of storage.

[0047] In an optional implementation, the data backup device may further include a backup control unit, which may be used to:

[0048] Receiving a data acquisition request sent by a computing node; the data acquisition request carries a target data recovery time point;

[0049] The backup data corresponding to the target data recovery time point is sent to the computing node; the backup data includes the backup data of the first type of storage real-time backup and the backup data of the second type of storage snapshot backup.

[0050] In a fifth aspect, the present application provides a chip, comprising a processor and a power supply circuit, wherein the power supply circuit is used to supply power to the processor, and the processor is used to execute a computer program to implement any one of the methods described in the first aspect.

[0051] In a sixth aspect, the present application provides a chip, comprising a processor and a power supply circuit, wherein the power supply circuit is used to supply power to the processor, and the processor is used to execute a computer program to implement any one of the methods described in the second aspect above.

[0052] In a seventh aspect, the present application provides a storage device comprising a memory and a processor, wherein a computer program is stored in the memory; the processor is used to execute the computer program stored in the memory to implement any one of the methods described in the first aspect above.

[0053] In an eighth aspect, the present application provides a backup device, comprising a memory and a processor, wherein a computer program is stored in the memory; the processor is used to execute the computer program stored in the memory to implement any one of the methods described in the second aspect above.

[0054] In a ninth aspect, the present application provides a data storage system, comprising a storage device and a backup device. The computing node runs based on the storage device; the storage device is used to execute a computer program to implement any method described in the first aspect; and the backup device is used to store backup data of the computing node.

[0055] In a tenth aspect, the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to enable a computer to execute any one of the methods provided in the first aspect above.

[0056] In an eleventh aspect, the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to enable a computer to execute any one of the methods provided in the second aspect above.

[0057] The technical effects that can be achieved in any of the second to eleventh aspects mentioned above can refer to the description of the beneficial effects in the first aspect mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0058] Figure 1 A schematic diagram of the structure of a data storage system provided in an embodiment of the present application;

[0059] Figure 2 An interactive flow chart of a data backup method provided in an embodiment of the present application;

[0060] Figure 3 A schematic diagram of the structure of another data storage system provided in an embodiment of the present application;

[0061] Figure 4 A logical schematic diagram of a data backup process provided in an embodiment of the present application;

[0062] Figure 5 An interactive flow chart of the data recovery process provided by an embodiment of the present application;

[0063] Figure 6 A logical schematic diagram of a data recovery process provided in an embodiment of the present application;

[0064] Figure 7 A logical schematic diagram of another data recovery process provided by an embodiment of the present application;

[0065] Figure 8 A logical schematic diagram of another data recovery process provided by an embodiment of the present application;

[0066] Fig. 9 A structural block diagram of a data backup device provided in an embodiment of the present application;

[0067] Fig.10 A structural block diagram of another data backup device provided in an embodiment of the present application;

[0068] Fig.11 A schematic diagram of the structure of a chip provided in an embodiment of the present application;

[0069] Fig.12 A schematic diagram of the structure of a storage device provided in an embodiment of the present application;

[0070] Fig.13 A schematic diagram of the structure of a backup device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0071] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the embodiments of the present application will be described in detail below in conjunction with the accompanying drawings. The terms used in the implementation method section of the present application are only used to explain the specific embodiments of the present application, and are not intended to limit the present application.

[0072] Before introducing the specific solutions provided by the embodiments of the present application, some terms in the present application are explained to facilitate understanding by those skilled in the art, and the terms in the present application are not limited.

[0073] (1) Virtual machine (VM) software: It is used to provide the function of running different operating systems on a single desktop at the same time. Based on VM software, multiple virtual machines can run on the desktop of a physical computer. Each virtual machine can run an operating system independently, and different virtual machines can run different operating systems. Users can switch between multiple virtual machines running on the desktop.

[0074] (2) Virtual storage: The storage device is a simulated storage configured for the virtual machine, which can be implemented based on the files dedicated to allocating storage space provided in the virtual machine file system (VMFS). The size and type of virtual storage can be configured as needed to simulate storage with specific capacity and performance characteristics (such as HDD, SSD). The data operation of the virtual machine accessing the virtual storage goes through VMFS.

[0075] (3) Raw device mapping (RDM) physical storage: A type of storage configured by a storage device for a virtual machine. This type of storage can be mapped to a logical hard disk unit in the physical storage through RDM, so that the virtual machine can directly access the logical hard disk unit in the physical storage and read data from or write data to the physical storage. Each logical hard disk unit in the physical storage has a logical unit number (LUN). The data operation of the virtual machine accessing the RDM physical storage does not go through VMFS.

[0076] In the embodiments of the present application, "multiple" refers to two or more than two. In view of this, in the embodiments of the present application, "multiple" can also be understood as "at least two". "At least one" can be understood as one or more, for example, one, two or more. For example, including at least one means including one, two or more, and there is no restriction on which ones are included. For example, including at least one of A, B and C, then A, B, C, A and B, A and C, B and C, or A and B and C may be included. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / ", unless otherwise specified, generally indicates that the previously associated objects are in an "or" relationship.

[0077] Unless otherwise specified, the ordinal numbers such as "first" and "second" mentioned in the embodiments of the present application are used to distinguish multiple objects and are not used to limit the order, timing, priority or importance of the multiple objects.

[0078] The data backup method provided in the embodiment of the present application can be applied to a data storage system, for example, it can be applied to a data storage system in application scenarios such as cloud storage or cloud computing. Figure 1 The following is a schematic diagram showing a structure of a data storage system. Figure 1 As shown, the data storage system may include a storage device 100 and a backup device 200. The storage device 100 and the backup device 200 may be communicatively connected via a network, and the data stored in the storage device 100 may be backed up in the backup device 200. The storage device 100 and the backup device 200 may be physical machines such as physical servers or computers.

[0079] One or more virtual machines may be run on the storage device 100. For example, VM software may be installed on the storage device 100, and virtual machines may be deployed on the storage device 100 through the VM software. Figure 1As shown, a virtual machine 110 is running on the storage device 100. The virtual machine 110 can run based on the processor of the storage device 100. The storage device 100 is configured with different types of memories for the virtual machine 110. The virtual machine 110 can access the memory configured for it by the storage device 100. For example, the storage device 100 is configured with 4 memories for the virtual machine 110, namely, memory D1, memory D2, memory D3 and memory D4. Among them, memory D1 can be a virtual memory, memory D2, memory D3 and memory D4 can be RDM physical memory, memory D2 can be mapped to the logical hard disk unit LUN2 in the physical memory of the storage device 100, memory D3 can be mapped to the logical hard disk unit LUN3 in the physical memory of the storage device 100, and memory D4 can be mapped to the logical hard disk unit LUN4 in the physical memory of the storage device 100. Virtual memory and RDM physical memory are two different types of memory. Virtual memory is a virtual memory associated with the virtual machine 110, and RDM physical memory is a physical memory associated with the virtual machine 110, which can also be called RDM physical memory.

[0080] The backup device 200 may include a backup processor 210 and a backup memory 220. The backup memory 220 may be understood as a physical memory for storing backup data of data stored in various memories by the virtual machine 110 running in the storage device 100. The backup processor 210 may be used to store the backup data of the virtual machine 110 sent by the storage device 100 in the backup memory 220.

[0081] An embodiment of the present application provides a data backup method, which can be applied to an application scenario in which a first type of memory and a second type of memory jointly provide storage space for a computing node. In this application scenario, data backup can be performed in real time for the data stored in the first type of memory of the computing node; and data backup can be performed by means of data snapshots for the data stored in the second type of memory of the computing node. Since the data backup of the first type of memory is performed in real time, the data consistency time point between the computing node and the backup device can be determined according to the snapshot period corresponding to the second type of memory. At the data consistency time point, the data stored in the backup device is consistent with the data stored in the first type of memory and the second type of memory of the computing node, thereby avoiding the situation in which the data consistency time point cannot be determined, and facilitating the correct data recovery of the computing node according to the data consistency time point. Among them, the computing node can be a physical machine, such as Figure 1 The storage device 100 shown in FIG. 100 ; the computing node may also be a virtual machine, such as Figure 1 The virtual machine 110 shown in FIG. 1 ; the computing node may also be a container, and the container may run on a storage device such as a physical server.

[0082] The data backup method provided in the embodiment of the present application can be applied not only to Figure 1 In the application scenarios shown, it can also be applied to other application scenarios in which the computing node includes two or more different types of memories. For example, in some application scenarios, the computing node can be a physical machine, and the physical machine can include internal memory and external memory. The internal memory can also be called the local memory of the physical machine. The external memory can be connected to the physical machine by wired connection or wireless connection. The external memory can also be a cloud storage connected to the physical machine through a network. In other application scenarios, the physical machine can include two different types of external memories, and the two different types of external memories can be memories of two different arrays. For example, the first type of memory can be a solid-state drive (SSD), and the second type of memory can be a mechanical hard disk (HDD). In other application scenarios, computing nodes such as physical machines, virtual machines, and containers can also include two different types of internal memories. In other application scenarios, computing nodes can also include multiple different types of memories. For example, computing nodes can include internal memory and two different types of external memories. The actual application scenario can also include more different situations, which are not listed one by one here. The embodiments of the present application are not limited to this.

[0083] The following is Figure 1 Taking the application scenario shown as an example, that is, taking the computing node as a virtual machine as an example, the data backup method provided by the embodiment of the present application is described. Figure 1 In the application scenario shown, the virtual memory configured by the storage device for the virtual machine can be understood as the first type of memory of the computing node, and the RDM physical memory configured by the storage device for the virtual machine can be understood as the second type of memory of the computing node.

[0084] The virtual machine can send the data stored in the first type of storage and the second type of storage to the backup device through the communication module in the storage device. Since the virtual machine runs based on the processor of the storage device, the operations performed by the virtual machine can be understood as being performed by the processor of the storage device. During the virtual machine data backup process, the interaction process between the storage device to which the virtual machine belongs and the backup device, such as Figure 2 As shown, the following steps may be included:

[0085] S201, a backup device sends a virtual machine information query request to a storage device.

[0086] VM software is installed on both the storage device and the backup device. It is assumed that multiple virtual machines are running on the storage device. The backup device can send a virtual machine information query request to the storage device through the virtualization platform (vSphere) interface of the VM software. The virtual machine information query request carries the identification information of the first virtual machine and requests the storage device to provide the memory information of the first virtual machine. The first virtual machine can be understood as any virtual machine running on the storage device.

[0087] S202: The storage device sends the storage information of the first virtual machine to the backup device.

[0088] The backup device receives the virtual machine information query request sent by the primary storage device, obtains the memory information of the first virtual machine according to the virtual machine identification information carried in the virtual machine information query request, and sends it to the backup device. The memory information of the first virtual machine may include the memory identification, memory size, memory type and other information of the multiple memories configured by the storage device for the first virtual machine.

[0089] Exemplarily, it is assumed that the storage device is configured with the following for the first virtual machine: Figure 1 The four memories shown are memory D1, memory D2, memory D3 and memory D4; wherein memory D1 is a virtual memory, and memory D2, memory D3 and memory D4 are RDM physical memories; the memory information of the first virtual machine may include the memory identifiers and storage area types of the four memories, that is, the virtual memory includes memory D1, and the RDM physical memory includes memory D2, memory D3 and memory D4; the memory information of the first virtual machine may also include the memory sizes of the four memories, for example, the size of memory D1 is 128GB, and the sizes of memory D2, memory D3 and memory D4 are all 256GB.

[0090] S203: The backup device saves the memory information of the first virtual machine, and configures a backup storage space for the first virtual machine in the backup memory.

[0091] The backup device receives the memory information of the first virtual machine sent by the storage device, saves the memory information of the first virtual machine, and configures backup storage space for each memory of the first virtual machine in the backup memory. Exemplarily, the backup storage space configured by the backup device for memory D1 may be File1, File1 may be understood as a file system, and the data in File1 is stored in the backup memory. The backup storage space configured by the backup device for memory D2 may be RDMFile2, the backup storage space configured for memory D3 may be RDMFile3, and the backup storage space configured for memory D4 may be RDMFile4. RDMFile2, RDMFile3, and RDMFile4 may all be understood as file systems, and the data in the file systems are stored in the backup memory.

[0092] S204: The storage device receives a data write operation for the virtual memory and generates backup information of the data write operation.

[0093] S205: The storage device sends backup information of the data write operation to the backup device.

[0094] In the embodiment of the present application, for the virtual memory, a continuous data protection (CDP) mechanism can be used to back up the data stored in the virtual memory. The storage device can monitor the write data operation for the virtual memory in real time, and when receiving the write data operation for the virtual memory, the backup information of the write data operation is sent to the backup device in real time through the CDP method.

[0095] In some embodiments, Figure 3 As shown, a CDP agent module is provided in the storage device, and a CDP server module is provided in the backup device. The CDP Agent module in the storage device can intercept the write data operation for the virtual memory at the interception (block) layer, and copy the write data operation, generate backup information of the write data operation, and send the backup information of the write data operation to the CDP Server module in the backup device. For example, when the CDP Agent module in the storage device detects the write data operation for the memory D1, it copies the write data operation, generates backup information of the write data operation, and sends the backup information of the write data operation to the CDP Server module in the backup device. The backup information of the write data operation carries the target address and the data to be written of the write data operation, as well as the time when the storage device receives the write data operation.

[0096] S206: The backup device generates and saves a write operation log for the virtual storage according to the backup information of the write data operation.

[0097] In some embodiments, the CDP Server module in the backup device receives backup information of write data operations from the storage device, and generates a write operation log for the virtual storage based on the backup information of the write data operations, wherein the write operation log includes the target address and the data to be written of the write data operation, and the reception time of the write data operation, wherein the reception time of the write data operation is the time when the storage device receives the write data operation. The backup device saves the write operation log for the virtual storage to the backup storage. For example, the CDP Server module in the backup device receives backup information of the write data operation for the storage D1, generates a write operation log for the storage D1, and saves it to File1. File1 stores multiple write operation logs for the storage D1, and different write operation logs correspond to write data operations received by the storage device at different times. Therefore, File1 can also be called a log storage space, such as Figure 4 As shown in the figure, the write operation log in File1 is saved in the backup memory.

[0098] S207: The storage device creates a data snapshot for the RDM physical storage according to the snapshot period.

[0099] S208: The storage device sends the data snapshot and the snapshot time point to the backup device.

[0100] In some embodiments, Figure 3 As shown, a snapshot backup agent module is provided in the storage device, and a snapshot backup server module is provided in the backup device. The snapshot backup agent module in the storage device can create data snapshots for each RDM physical storage according to the snapshot period, and send the created data snapshots and snapshot time points to the snapshot backup server module in the backup device. Among them, the snapshot time point is the creation time of the data snapshot. The snapshot period can be determined according to the actual needs in different scenarios. Exemplarily, the snapshot period can be 10 minutes, 30 minutes or 2 hours. For example, assuming that the snapshot period is 30 minutes, the snapshot backup agent module in the storage device can create data snapshots for each RDM physical storage at 8:30, and create data snapshots for each RDM physical storage again at 9:00. The data snapshot includes the data stored in each RDM physical storage at the corresponding creation time and the storage address of each data.

[0101] Assuming that the RDM physical storage includes storage D2, storage D3, and storage D4, the snapshot backup Agent module in the storage device can create a data snapshot T1 at time T1 based on the data stored in storage D2 (LUN2), storage D3 (LUN3), and storage D4 (LUN4) at the current time. The data snapshot T1 can include data snapshot D2a of storage D2, data snapshot D3a of storage D3, and data snapshot D4a of storage D4. The creation time of data snapshot T1 is T1. The snapshot backup Agent module in the storage device can use T1 as the snapshot time point and send the data snapshot T1 and the snapshot time point T1 to the snapshot backup Server module in the backup storage device. After the set cycle length, the snapshot Backup Agent module in the storage device can create a data snapshot T2 again at time T2 based on the data stored in storage D2, storage D3, and storage D4 at the current time. The data snapshot T2 can include data snapshot D2b of storage D2, data snapshot D3b of storage D3, and data snapshot D4b of storage D4. The creation time of data snapshot T2 is T2. The snapshot backup Agent module in the storage device can use T2 as the snapshot time point, and send the data snapshot T2 and the snapshot time point T2 to the snapshot backup Server module in the backup device. After the set period has passed, the snapshot backup Agent module in the storage device can create a data snapshot T3 at time T3 again based on the data stored in the memory D2, memory D3, and memory D4 at the current time. The data snapshot T3 can include the data snapshot D2c of the memory D2, the data snapshot D3c of the memory D3, and the data snapshot D4c of the memory D4. The creation time of the data snapshot T3 is T3. The snapshot backup Agent module in the storage device can use T3 as the snapshot time point, and send the data snapshot T3 and the snapshot time point T3 to the snapshot backup Server module in the backup device. Among them, the time intervals between T1 and T2, and between T2 and T3 are the same.

[0102] S209: The backup device saves the received data snapshot and snapshot time point of the RDM physical storage.

[0103] The storage device sends the data snapshot and snapshot time point of the RDM physical storage to the backup device according to the set period, and the backup device receives the data snapshot and snapshot time point of the RDM physical storage in the storage device according to the set period and saves them to the backup storage.

[0104] For example, Figure 4As shown, the backup device receives the data snapshot T1 and the snapshot time point T1 sent by the storage device at time T1, saves the data snapshot D2a of the storage D2 contained in the data snapshot T1 to RDMFile2, saves the data snapshot D3a of the storage D3 to RDMFile3, saves the data snapshot D4a of the storage D4 to RDMFile4, and records that the snapshot time point corresponding to the data snapshots D2a, D3a and D4a is T1. Similarly, the backup device receives the data snapshots D2b, D3b and D4b and the snapshot time point T2 sent by the storage device at time T2, saves the data snapshot D2b of the storage D2 to RDMFile2, saves the data snapshot D3b of the storage D3 to RDMFile3, saves the data snapshot D4b of the storage D4 to RDMFile4, and records that the snapshot time point corresponding to the data snapshots D2b, D3b and D4b is T2. The backup device receives the data snapshots D2c, data snapshot D3c and data snapshot D4c and the snapshot time point T3 sent by the storage device at time T3, saves the data snapshot D2c of the storage D2 to RDMFile2, saves the data snapshot D3c of the storage D3 to RDMFile3, saves the data snapshot D4c of the storage D4 to RDMFile4, and records that the snapshot time point corresponding to the data snapshots D2b, data snapshot D3b and data snapshot D4b is T3.

[0105] S210: The backup device records the snapshot time point of the RDM physical storage as a common data recovery time point of the virtual storage and the RDM physical storage.

[0106] Since the data backup of the virtual storage is performed in real time, the snapshot time point of the RDM physical storage can be used as the data consistency time point between the storage device and the backup device, and the backup device can use the snapshot time point of the RDM physical storage as the data recovery time point of the virtual storage. Figure 3 As shown, the backup device can use T1, T2 and T3 as the data recovery time points of the log storage space corresponding to the virtual storage, that is, T1, T2 and T3 are used as the data consistency time points between the storage device and the backup device, indicating that at time T1, the data saved in File1 in the backup device is consistent with the data saved in the virtual storage D1 in the storage device, the data saved in RDMFile2 in the backup device is consistent with the data saved in the RDM physical storage D2 in the storage device, the data saved in RDMFile3 in the backup device is consistent with the data saved in the RDM physical storage D3 in the storage device, and the data saved in RDMFile4 in the backup device is consistent with the data saved in the RDM physical storage D4 in the storage device.

[0107] During the normal operation of the first virtual machine, the storage device and the backup device can communicate with each other according to Figure 2 The process shown backs up the data of the first virtual machine. In some embodiments, if the first type of storage and the second type of storage that provide storage space for the first virtual machine fail, the storage device can restore the data of the first type of storage and the second type of storage based on the data stored in the backup device. In other embodiments, if one of the first type of storage and the second type of storage fails, the storage device can also restore the data of the first type of storage and the second type of storage together based on the data stored in the backup device. For example, if the first type of storage fails, in order to maintain data consistency, the storage device can restore the data of the first type of storage and the second type of storage together based on the data stored in the backup device. Similarly, if the second type of storage fails, the storage device can also restore the data of the first type of storage and the second type of storage together based on the data stored in the backup device. In other embodiments, if the first virtual machine fails, the storage device can also restore the data of the first virtual machine based on the data stored in the backup device.

[0108] During data recovery, the interaction between the storage device and the backup device, such as Figure 5 As shown, the following steps may be included:

[0109] S501: A storage device sends a storage information acquisition request to a backup device.

[0110] When the storage device receives a data recovery instruction input by a user and the data recovery instruction indicates that data recovery is to be performed on the first virtual machine, a storage information acquisition request may be generated and sent to the backup device. In some embodiments, if the first virtual machine fails, the storage device may recreate the first virtual machine after receiving the data recovery instruction. Exemplarily, the storage device may call a vSphere interface to create the first virtual machine and send a storage information acquisition request to the backup device. The storage information acquisition request carries identification information of the virtual machine to be restored, i.e., identification information of the first virtual machine.

[0111] S502: The backup device sends the memory information of the first virtual machine to the storage device.

[0112] During the data backup process, the backup device has saved the memory information of the first virtual machine. The memory information of the first virtual machine may include the memory identification, memory size, memory type and other information of multiple memories configured by the storage device for the first virtual machine.

[0113] When performing fault recovery, the backup device receives a storage information acquisition request sent by the storage device, and can query the storage information of the first virtual machine based on the identification information of the virtual machine carried in the storage information acquisition request, and send the storage information of the first virtual machine to the storage device. The storage information of the first virtual machine can be understood as the information of the storage to be recovered.

[0114] S503: The storage device creates a target storage according to the storage information of the first virtual machine.

[0115] The storage device receives the memory information of the first virtual machine and can create a target memory according to the memory information of the first virtual machine.

[0116] In some embodiments, the storage device may create target memories of corresponding types and corresponding numbers according to the number of memories, the size of each memory, and the type of each memory contained in the memory information of the first virtual machine. For example, assume that the memory information of the first virtual machine contains the following information: the memories corresponding to the first virtual machine include memory D1, memory D2, memory D3, and memory D4, wherein memory D1 is a virtual memory, and memory D2, memory D3, and memory D4 are RDM physical memories; the size of memory D1 is 128GB, and the sizes of memory D2, memory D3, and memory D4 are all 256GB. Based on this, the storage device may create four target memories correspondingly, and the four target memories are the memories corresponding to the newly created first virtual machine. The four target memories may be memory D1', memory D2', memory D3', and memory D4', respectively. Among them, memory D1' is a virtual memory, and the size of memory D1' is the same as that of memory D1, both of which are 128GB. Storage D2', storage D3' and storage D4' are RDM physical storages, storage D2' is the same size as storage D2, storage D3' is the same size as storage D3, storage D4' is the same size as storage D4, and the sizes of storage D2', storage D3' and storage D4' are all 256GB. Storage D2' can be mapped to a logical hard disk unit LUN2 in the physical storage of the storage device, storage D3' can be mapped to a logical hard disk unit LUN3 in the physical storage of the storage device, and storage D4' can be mapped to a logical hard disk unit LUN4 in the physical storage of the storage device. Exemplarily, the storage device can call a vSphere interface to create storage D1', and the storage device can call a storage system interface to create storage D2', storage D3' and storage D4'.

[0117] S504: The storage device determines a target data recovery time point.

[0118] In some embodiments, during the data backup process, the storage device may save each data recovery time point. In other embodiments, the storage device may also send a time point query request to the backup device, the time point query request carries the identification information of the first virtual machine, and the backup device may send each data recovery time point corresponding to the first virtual machine to the storage device based on the received time point query request.

[0119] The storage device may present each data recovery time point as a selectable time point, and display the selectable time points to the user, so that the user can select a target data recovery time point from the selectable time points. For example, the storage device may present three moments T1, T2, and T3 to the user, and the user may select a moment from the three moments as the target data recovery time point according to the recovery requirements.

[0120] S505: The storage device sends a data acquisition request to the backup device.

[0121] The data acquisition request carries the identification information of the virtual machine to be restored from a fault and the target data restoration time point, wherein the identification information of the virtual machine to be restored from a fault is the identification information of the first virtual machine.

[0122] S506: The backup device sends the backup data corresponding to the target data recovery time point to the storage device.

[0123] The backup device receives the data acquisition request sent by the storage device, and queries the saved backup data of the first virtual machine according to the identification information of the virtual machine carried in the data acquisition request. The backup device stores the backup data corresponding to the first virtual machine at each data recovery time point. The backup device can query the backup data corresponding to the first virtual machine at the target data recovery time point according to the target data recovery time point carried in the data acquisition request, and send it to the storage device. The backup data may include the write operation log for the virtual storage saved before the target data recovery time point and the data snapshot for the RDM physical storage corresponding to the target data recovery time point.

[0124] For example, assuming that the target data recovery time point is T3, the backup device queries the backup data corresponding to the first virtual machine at T3 and sends the backup data to the storage device. The backup data may include the write operation log for storage D1 before T3 saved in File1, as well as the data snapshot D2c for storage D2 corresponding to T3 saved in RDMFile2, the data snapshot D3c for storage D3 corresponding to T3 saved in RDMFile3, and the data snapshot D4c for storage D4 corresponding to T3 saved in RDMFile4.

[0125] In some embodiments, Figure 6 As shown, the CDP Server module in the backup device can obtain the write operation log for storage D1 stored in File1, and send the write operation log for storage D1 before time T3 to the CDP Agent module in the primary storage device. The snapshot backup Server module in the backup device can obtain the data snapshot D2c for storage D2 corresponding to time T3 stored in RDMFile2, the data snapshot D3c for storage D3 corresponding to time T3 stored in RDMFile3, and the data snapshot D4c for storage D4 corresponding to time T3 stored in RDMFile4, and send the data snapshots D2c, D3c, and D4c to the snapshot backup Agent module in the storage device.

[0126] S507: The storage device restores the data of the first virtual machine to the target storage based on the received backup data.

[0127] In some embodiments, the storage device can obtain the write operation log for the virtual memory and the data snapshot for the RDM physical memory based on the received backup data corresponding to the target data recovery time point, restore the data of the virtual memory of the first virtual machine based on the write operation log for the virtual memory, and restore the data of the RDM physical memory of the first virtual machine based on the data snapshot for the RDM physical memory.

[0128] For example, assuming that the target data recovery time point is time T3, the storage device receives the backup data corresponding to the first virtual machine at time T3 sent by the backup device. The backup data includes the write operation log for the memory D1 before time T3 and the data snapshots D2c, D3c and D4c corresponding to time T3. For example, Figure 6 As shown, the CDP Agent module in the storage device receives the write operation log for the storage D1 before the time T3, and by replaying the log, the data stored in the storage D1 can be restored to the newly created storage D1'. The snapshot backup Agent module in the storage device receives the data snapshots D2c, D3c and D4c at the time T3, and can restore the data stored in the storage D2 to the newly created storage D2' (or the LUN2 corresponding to the storage D2') based on the data snapshot D2c by writing to the hard disk, restore the data stored in the storage D3 to the newly created storage D3' (or the LUN3 corresponding to the storage D3') based on the data snapshot D3c, and restore the data stored in the storage D4 to the newly created storage D4' (or the LUN4 corresponding to the storage D4') based on the data snapshot D4c.

[0129] In the above embodiment, the storage device receives the memory information of the first virtual machine and can create target memories of corresponding types and quantities according to the number of memories, the size of each memory and the type of each memory contained in the memory information of the first virtual machine.

[0130] In other embodiments, the storage device receives the memory information of the first virtual machine and can create a corresponding number of target memories according to the number of memories and the size of each memory included in the memory information of the first virtual machine.

[0131] For example, in an optional embodiment, the storage device may create a corresponding number of virtual memories for the first virtual machine according to the number of memories and the size of each memory contained in the memory information of the first virtual machine, that is, the created target memories are all virtual memories. Figure 7 As shown, it is assumed that the memory information of the first virtual machine contains the following information: the memory corresponding to the first virtual machine includes memory D1, memory D2, memory D3 and memory D4, wherein memory D1 is a virtual memory, and memory D2, memory D3 and memory D4 are RDM physical memories; the size of memory D1 is 128GB, and the sizes of memory D2, memory D3 and memory D4 are all 256GB. Based on this, the storage device can create four target memories accordingly. The four target memories can be memory D1', memory D2', memory D3' and memory D4' respectively. Exemplarily, the storage device can call the vSphere interface to create memory D1', memory D2', memory D3' and memory D4'. Memory D1', memory D2', memory D3' and memory D4' are all virtual memories. Memory D1' is the same size as memory D1, both are 128GB. Memory D2' is the same size as memory D2. Memory D3' is the same size as memory D3. Memory D4' is the same size as memory D4. Memory D2', memory D3' and memory D4' are all 256GB.

[0132] Assuming that the target data recovery time point is T3, the CDP Agent module in the storage device receives the write operation log for the memory D1 before T3 sent by the CDP Server module in the backup device. By replaying the log, the data stored in the memory D1 at T3 can be restored to the newly created memory D1'. The snapshot backup Agent module in the storage device receives the data snapshots D2c, D3c and D4c at T3 sent by the snapshot backup Server module in the backup device. Based on the data snapshot D2c, the data stored in the memory D2 can be restored to the newly created memory D2', based on the data snapshot D3c, the data stored in the memory D3 can be restored to the newly created memory D3', and based on the data snapshot D4c, the data stored in the memory D4 can be restored to the newly created memory D4'.

[0133] In another optional embodiment, the storage device may create a corresponding number of RDM physical memories for the first virtual machine according to the number of memories and the size of each memory contained in the memory information of the first virtual machine, that is, the created target memories are all RDM physical memories. Figure 8 As shown, it is assumed that the memory information of the first virtual machine contains the following information: the memory corresponding to the first virtual machine includes memory D1, memory D2, memory D3 and memory D4, wherein memory D1 is a virtual memory, and memory D2, memory D3 and memory D4 are RDM physical memories; the size of memory D1 is 128GB, and the sizes of memory D2, memory D3 and memory D4 are all 256GB. Based on this, the storage device can create four target memories accordingly. The four target memories can be memory D1', memory D2', memory D3' and memory D4' respectively. Exemplarily, the storage device can call the storage system interface to create memory D1', memory D2', memory D3' and memory D4'. Storage D1', storage D2', storage D3' and storage D4' are all RDM physical storages. Storage D1' has the same size as storage D1, both of which are 128 GB. Storage D2' has the same size as storage D2. Storage D3' has the same size as storage D3. Storage D4' has the same size as storage D4. Storage D2', storage D3' and storage D4' all have sizes of 256 GB. Storage D1' can be mapped to a logical hard disk unit LUN1 in the physical storage of a storage device. Storage D2' can be mapped to a logical hard disk unit LUN2 in the physical storage of a storage device. Storage D3' can be mapped to a logical hard disk unit LUN3 in the physical storage of a storage device. Storage D4' can be mapped to a logical hard disk unit LUN4 in the physical storage of a storage device.

[0134] Assuming that the target data recovery time point is T3, the CDP Agent module in the storage device receives the write operation log for the storage D1 before T3 sent by the CDP Server module in the backup device. By replaying the log, the data stored in the storage D1 at T3 can be restored to the LUN1 corresponding to the newly created storage D1'. The snapshot backup Agent module in the storage device receives the data snapshots D2c, D3c and D4c at T3 sent by the snapshot backup Server module in the backup device. Based on the data snapshot D2c, the data stored in the storage D2 can be restored to the LUN2 corresponding to the newly created storage D2', based on the data snapshot D3c, the data stored in the storage D3 can be restored to the LUN3 corresponding to the newly created storage D3', and based on the data snapshot D4c, the data stored in the storage D4 can be restored to the LUN4 corresponding to the newly created storage D4'.

[0135] In another optional embodiment, assuming that the first virtual machine corresponds to 4 memories, the storage device can create 4 target memories for the first virtual machine according to the memory information of the first virtual machine, which may include 2 virtual memories and 2 RDM physical memories.

[0136] The above embodiment is described by taking the computing node as a virtual machine and the storage device as a virtual machine configured with virtual memory and RDM physical memory as an example. In other embodiments, the computing node may also be a container, that is, the virtual machine may be replaced by a container. When the computing node is a container configured with two different types of memory, data backup and data recovery may also be performed by referring to the method provided in the above embodiment.

[0137] In other embodiments, the computing node may also be a physical machine, for example, a storage device may also be understood as a computing node. The storage device may include two different types of memories, of which the first type of memory may be used for real-time data backup, and the second type of memory may be used for snapshot data backup. Before performing data backup, the storage device may send its own device identification and memory information to the backup device for storage. When a memory fails, a new memory may be replaced. After the replacement is completed, when performing data recovery, the storage device may send a memory information acquisition request to the backup device, and the memory information acquisition request carries its own device identification. The backup device sends the memory information of the device identification to the storage device, and the storage device may partition the replaced new memory based on the memory information to create a target memory of corresponding quantity and size.

[0138] In some embodiments, the computing node may also include multiple different types of memories. When the computing node includes multiple different types of memories, the computing node or the storage device to which the computing node belongs may use a snapshot backup method to perform data backup on the second type of memory among the multiple different types, and may use a CDP method to back up other types of memory except the second type, and use the snapshot time point of the second type of memory as the common data recovery time point for the multiple different types of memories, that is, as the data consistency time point between the computing node and the backup device. The second type may be any type among the multiple different types.

[0139] In the above embodiment, the steps performed by the computing node or the storage device to which the computing node belongs may include: real-time data backup for the data stored in the first type of storage by the computing node; data backup by means of data snapshot for the data stored in the second type of storage by the computing node. The first type of storage and the second type of storage provide storage space for the computing node. The steps performed by the backup device may include: saving the backup data sent by the computing node for the real-time backup of the first type of storage; saving the backup data sent by the computing node for the snapshot backup of the second type of storage.

[0140] Based on the same technical concept as the above method embodiment, the present application embodiment also provides a data backup device. The data backup device can be set in a computing node or a storage device to which the computing node belongs. In some embodiments, Fig. 9 As shown, the data backup device 900 may include a first data backup unit 901 and a second data backup unit 902. The data backup device 900 may be used to implement the function of the storage device in the above method embodiment, and thus may achieve the beneficial effects possessed by the above method embodiment.

[0141] The first data backup unit 901 can be used to perform real-time data backup for data stored in the first type of storage by the computing node; the second data backup unit 902 can be used to perform data backup by means of data snapshot for data stored in the second type of storage by the computing node; wherein the first type of storage and the second type of storage provide storage space for the computing node. Exemplarily, the first data backup unit 901 can be the CDP Agent module in the above embodiment, and the second data backup unit 902 can be the snapshot backup Agent module in the above embodiment.

[0142] It should be noted that, in other embodiments, the first data backup unit 901 can be used to execute any step in the data backup method executed by the storage device, and the second data backup unit 902 can be used to execute any step in the data backup method executed by the storage device. The steps that the first data backup unit 901 and the second data backup unit 902 are responsible for implementing can be specified as needed, and the first data backup unit 901 and the second data backup unit 902 respectively implement different steps in the data backup method executed by the storage device to realize the full functions of the data backup device.

[0143] Each functional module in the embodiment of the present application can be integrated into one processor, or each module can exist physically separately, or two or more modules can be integrated into one module. The above integrated modules can be implemented in the form of hardware or in the form of software functional units.

[0144] Based on the same technical concept as the above method embodiment, the present application embodiment also provides a data backup device. The data backup device can be set in a backup device. In some embodiments, Fig.10 As shown, the data backup device 1000 may include a first data storage unit 1001 and a second data storage unit 1002. The data backup device 1000 may be used to implement the function of the backup device in the above method embodiment, and thus may achieve the beneficial effects possessed by the above method embodiment.

[0145] The first data storage unit 1001 can be used to store the backup data for the real-time backup of the first type of storage sent by the computing node; the second data storage unit 1002 can be used to store the backup data for the snapshot backup of the second type of storage sent by the computing node; wherein the first type of storage and the second type of storage provide storage space for the computing node. Exemplarily, the first data storage unit 1001 can be the CDP Server module in the above embodiment, and the second data storage unit 1002 can be the snapshot backup Server module in the above embodiment.

[0146] It should be noted that, in other embodiments, the first data storage unit 1001 can be used to execute any step in the data backup method executed by the backup device, and the second data storage unit 1002 can be used to execute any step in the data backup method executed by the backup device. The steps that the first data storage unit 1001 and the second data storage unit 1002 are responsible for implementing can be specified as needed, and the first data storage unit 1001 and the second data storage unit 1002 respectively implement different steps in the data backup method executed by the backup device to realize the full functions of the data backup device.

[0147] Each functional module in the embodiment of the present application can be integrated into one processor, or each module can exist physically separately, or two or more modules can be integrated into one module. The above integrated modules can be implemented in the form of hardware or in the form of software functional units.

[0148] Based on the same technical concept as the above method embodiment, a chip is also provided in the embodiment of the present application, which can be a computing chip, and the chip can be applied to a storage device or a backup device. The chip can be used to implement the functions of the above method embodiment, and thus can achieve the beneficial effects of the above method embodiment.

[0149] In some embodiments, the structure of the chip 1100 can be as follows: Fig.11 As shown, it includes a processor 1101 and a power supply circuit 1102 connected to the processor 1101. The processor 1101 and the power supply circuit 1102 can be connected to each other through a bus. The processor 1101 can be a digital signal processor (digital signal processor, DSP), ASIC, field programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components or other specific integrated circuits. The bus can be a peripheral component interconnect (peripheral component interconnect, PCI) bus or an extended industry standard architecture (extendedindustry standard architecture, EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. The power supply circuit 1102 is used to power the processor 1101 through the bus.

[0150] Processor 1101 can be connected to a memory disposed outside the chip, or to a memory disposed inside the chip, to run software programs and modules stored in the memory, thereby executing various functional applications and data processing of chip 1100, such as the data backup method provided in an embodiment of the present application.

[0151] In some embodiments, the processor 1101 may include one or more processing units, and different processing units may be independent devices or integrated into one or more processors. The processor 1101 may also include a controller, which may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.

[0152] In some embodiments, if the chip is set in a storage device, the processor 1101 can perform the following operations: for the data stored in the first type of storage by the computing node, real-time data backup is performed; for the data stored in the second type of storage by the computing node, data backup is performed by means of data snapshot. Wherein, the computing node can refer to a storage device, or a virtual machine or container running based on the storage device.

[0153] In other embodiments, if the chip is set in a backup device, the processor 1101 can perform the following operations: save the backup data sent by the computing node for the real-time backup of the first type of storage; save the backup data sent by the computing node for the snapshot backup of the second type of storage.

[0154] Based on the same technical concept as the above embodiment, a storage device is also provided in the embodiment of the present application. The storage device can be used as a computing node or a physical device that provides an operating environment for the computing node. The storage device can be used to implement the functions implemented by the storage device in the above method embodiment, so the beneficial effects of the above method embodiment can be achieved.

[0155] In some embodiments, the structure of the storage device 1200 can be as follows: Fig.12 As shown, it includes a processor 1201 and a memory 1202 connected to the processor 1201. The processor 1201 and the memory 1202 can be connected to each other through a bus. The processor 1201 can be a general-purpose processor, such as a microprocessor, or other conventional processors. The bus can be a PCI bus or an EISA bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc.

[0156] Among them, the memory 1202 can be used to store software programs and modules. The processor 1201 executes various functional applications and data processing of the storage device 1200 by running the software programs and modules stored in the memory 1202, such as the data backup method provided in the embodiment of the present application.

[0157] The memory 1202 may mainly include a program storage area and a data storage area, wherein the program storage area may store at least one application program, etc.; the data storage area may be used to store data used during the operation of the processor, etc. In addition, the memory 1202 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.

[0158] The processor 1201 in the storage device 1200 is used to run the computer instructions or programs stored in the memory 1202, and execute the functions implemented by the storage device in any of the above-mentioned method embodiments. In some embodiments, the processor 1201 may include one or more processing units, and different processing units may be independent devices or integrated in one or more processors. The processor 1201 may also include a controller, and the controller may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.

[0159] It is to be understood that the structure illustrated in the embodiments of the present application does not constitute a specific limitation on the storage device. In other embodiments of the present application, the storage device may include more or fewer components than shown in the figure, or combine certain components, or split certain components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0160] Based on the same technical concept as the above-mentioned embodiment, a backup device is also provided in the embodiment of the present application. The backup device can be used to implement the functions implemented by the backup device in the above-mentioned method embodiment, thereby achieving the beneficial effects possessed by the above-mentioned method embodiment.

[0161] In some embodiments, the structure of the backup device 1300 can be as follows: Fig.13 As shown, the processor 1301 and the memory 1302 connected to the processor 1301 can be connected to each other via a bus. The processor 1301 can be a general-purpose processor, such as a microprocessor, or other conventional processors. The processor 1301 can be understood as Figure 1 The backup processor shown in . The bus can be a PCI bus or an EISA bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc.

[0162] Among them, the memory 1302 can be used to store software programs and modules. The processor 1301 executes various functional applications and data processing of the storage device 1300 by running the software programs and modules stored in the memory 1302, such as the data backup method provided in the embodiment of the present application.

[0163] The memory 1302 may mainly include a program storage area and a data storage area, wherein the program storage area may store at least one application program, etc.; the data storage area may be used to store data used during the operation of the processor, etc. In addition, the memory 1302 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.

[0164] The processor 1301 in the storage device 1300 is used to run the computer instructions or programs stored in the memory 1302, and execute the functions implemented by the storage device in any of the above-mentioned method embodiments. In some embodiments, the processor 1301 may include one or more processing units, and different processing units may be independent devices or integrated in one or more processors. The processor 1301 may also include a controller, which may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.

[0165] It is to be understood that the structure illustrated in the embodiments of the present application does not constitute a specific limitation on the storage device. In other embodiments of the present application, the storage device may include more or fewer components than shown in the figure, or combine certain components, or split certain components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0166] Based on the same technical concept as the above method embodiment, the present application embodiment also provides a data storage system, which may include a storage device and a backup device. In one embodiment, the structure of the data storage system may be as follows: Figure 1 As shown. Among them, the structure of the storage device can be as follows Fig.12 As shown, the structure of the backup device can be as follows Fig.13 The backup device can be used to store backup data of the storage device, or backup data of the computing node running on the storage device.

[0167] The method steps in the embodiments of the present application may be implemented by hardware, or by a processor executing a computer program or instruction. The computer program or instruction may constitute a computer program product.

[0168] The present application also provides a computer program product, which includes computer executable instructions. In one embodiment, the computer executable instructions are used to enable a computer to execute the functions of the above method embodiment.

[0169] The computer executable instructions may be stored in a computer readable storage medium. The present application also provides a computer readable storage medium, wherein the computer readable storage medium stores the executable instructions. In one embodiment, the computer executable instructions are used to enable a computer to execute the functions in the above method embodiment.

[0170] The computer-readable storage medium provided in the embodiments of the present application may be a random access memory (RAM), a flash memory, a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a register, a hard disk, a mobile hard disk, a CD-ROM, or any other form of computer-readable storage medium known in the art.

[0171] Computer executable instructions may be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage medium. For example, the computer program or instructions may be transferred from one website, computer, server or data center to another website, computer, server or data center by wired or wireless means. The computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium may be a magnetic medium, such as a floppy disk, a hard disk, or a magnetic tape; it may also be an optical medium, such as a digital video disc (DVD); it may also be a semiconductor medium, such as a solid state drive.

[0172] One or more of the above modules or units can be implemented by software, hardware or a combination of the two. When any of the above modules or units is implemented in software, the software exists in the form of computer program instructions and is stored in a memory, and the processor can be used to execute the program instructions and implement the above method flow. The processor may include but is not limited to at least one of the following: a CPU, a microprocessor, a digital signal processor (digital signal processor, DSP), a microcontroller (microcontroller unit, MCU), or an artificial intelligence processor and other types of storage devices for running software, each storage device may include one or more cores for executing software instructions for calculation or processing. The processor may be built into a SoC, a DPU or an ASIC, or it may be an independent semiconductor chip. In addition to the core used to execute software instructions for calculation or processing in the processor, it may further include necessary hardware accelerators, such as FPGA, PLD or logic circuits for implementing dedicated logic operations.

[0173] When the above modules or units are implemented in hardware, the hardware can be any one or any combination of a CPU, a microprocessor, a DSP, an MCU, an artificial intelligence processor, an ASIC, a SoC, an FPGA, a PLD, a dedicated digital circuit, a hardware accelerator or a non-integrated discrete device, which can run the necessary software or not rely on the software to execute the above method flow.

[0174] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in the present application, and these modifications or replacements should be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be based on the protection scope of the claims.

Claims

1. A data backup method, characterized in that: The method comprises: For the data stored in the first type of storage by the computing node, data backup is performed in real time; For the data stored in the second type of storage by the computing node, data backup is performed in the form of data snapshot; the first type of storage and the second type of storage provide storage space for the computing node.

2. The method according to claim 1, characterized in that The real-time data backup of the data stored in the first type of memory by the computing node includes: When a write data operation for the first type of memory is received, backup information of the write data operation is generated in real time through a continuous data protection (CDP) mode.

3. The method according to claim 2, characterized in that The backing up of the data stored in the second-type memory by the computing node by means of a data snapshot includes: According to the snapshot cycle, a data snapshot and a snapshot time point of the second type of storage are generated; the snapshot time point is used as a common data recovery time point for the first type of storage and the second type of storage.

4. The method according to any one of claims 1 to 3, characterized in that: The computing node is a virtual machine or a container, the first type of memory is a virtual memory associated with the computing node; and the second type of memory is a physical memory associated with the computing node.

5. The method according to any one of claims 1 to 3, characterized in that: The computing node is a physical machine; the first type of memory is an internal memory of the computing node; and the second type of memory is an external memory of the computing node.

6. The method according to claim 3, characterized in that The method further comprises: When performing data recovery, a target data recovery time point is selected from multiple data recovery time points; Acquire the backup data corresponding to the target data recovery time point; the backup data includes the backup data of the first type of storage real-time backup and the backup data of the second type of storage snapshot backup; Based on the backup data corresponding to the target data recovery time point, data recovery is performed on the first type of storage and the second type of storage.

7. The method according to claim 6, characterized in that The backup data of the real-time backup of the first type of storage refers to the backup information of the write data operation of the first type of storage saved before the data recovery time point; the backup data of the snapshot backup of the second type of storage refers to the data snapshot of the second type of storage corresponding to the data recovery time point.

8. The method according to claim 6 or 7, characterized in that: The performing data recovery on the first type of storage and the second type of storage based on the backup data corresponding to the target data recovery time point includes: Create target storage; The backup data corresponding to the target data recovery time point is restored to the target storage.

9. The method according to claim 8, characterized in that The creating of the target storage comprises: Acquire information of a memory to be restored; the memory to be restored includes the first type of memory and the second type of memory; The target storage is created according to the information of the storage to be restored.

10. A data backup method, characterized in that: The backup device communicates with the computing node, and the first type of memory and the second type of memory provide storage space for the computing node; the method includes: Saving the backup data sent by the computing node for real-time backup of the first type of storage; The backup data for the second-type storage snapshot backup sent by the computing node is saved.

11. The method according to claim 10, characterized in that The method further comprises: Receiving a data acquisition request sent by the computing node; the data acquisition request carries a target data recovery time point; The backup data corresponding to the target data recovery time point is sent to the computing node; the backup data includes the backup data of the real-time backup of the first type of storage and the backup data of the snapshot backup of the second type of storage.

12. The method according to claim 11, characterized in that The backup data of the real-time backup of the first type of storage refers to the backup information of the write data operation of the first type of storage saved before the data recovery time point; the backup data of the snapshot backup of the second type of storage refers to the data snapshot of the second type of storage corresponding to the data recovery time point.

13. A data backup device, characterized in that: The device comprises: A first data backup unit, used for backing up data stored in the first type of storage by the computing node in real time; A second data backup unit, used for backing up the data stored in the second type of storage by the computing node by means of data snapshot; The first type of memory and the second type of memory provide storage space for the computing node.

14. The device according to claim 13, characterized in that The first data backup unit is specifically used for: When a write data operation for the first type of memory is received, backup information of the write data operation is generated in real time through a continuous data protection (CDP) mode.

15. The device according to claim 13 or 14, characterized in that The second data backup unit is specifically used for: According to the snapshot cycle, a data snapshot and a snapshot time point of the second type of storage are generated; the snapshot time point is used as a common data recovery time point for the first type of storage and the second type of storage.

16. The device according to claim 15, characterized in that The device further comprises a data recovery unit, wherein the data recovery unit is configured to: When performing data recovery, a target data recovery time point is selected from multiple data recovery time points; Acquire the backup data corresponding to the target data recovery time point; the backup data includes the backup data of the first type of storage real-time backup and the backup data of the second type of storage snapshot backup; Based on the backup data corresponding to the target data recovery time point, data recovery is performed on the first type of storage and the second type of storage.

17. A data backup device, characterized in that: The backup device communicates with the computing node, and the first type of memory and the second type of memory provide storage space for the computing node; the device includes: A first data storage unit, used for storing the backup data sent by the computing node for real-time backup of the first type of storage; The second data storage unit is used to store the backup data for the second-type storage snapshot backup sent by the computing node.

18. The device according to claim 17, characterized in that The device further comprises a backup control unit, wherein the backup control unit is configured to: Receiving a data acquisition request sent by the computing node; the data acquisition request carries a target data recovery time point; The backup data corresponding to the target data recovery time point is sent to the computing node; the backup data includes the backup data of the real-time backup of the first type of storage and the backup data of the snapshot backup of the second type of storage.

19. A chip, characterized in that: It comprises a processor and a power supply circuit; the power supply circuit is used to supply power to the processor, and the processor is used to execute a computer program to implement the method according to any one of claims 1 to 9, or to implement the method according to any one of claims 10 to 12.

20. A storage device, characterized in that: It comprises a processor and a memory; the computing node runs based on the processor; the memory stores a computer program, and the processor is used to execute the computer program in the memory to implement the method as described in any one of claims 1 to 9.

21. A backup device, characterized in that: It comprises a processor and a memory; the memory stores a computer program, and the processor is used to execute the computer program in the memory to implement the method as claimed in any one of claims 10 to 12.

22. A data storage system, characterized in that: It includes a storage device and a backup device; the computing node runs based on the storage device; The storage device is used to execute a computer program to implement the method according to any one of claims 1 to 9; The backup device is used to store the backup data of the computing node.

23. A computer-readable storage medium, characterized in that: Computer executable instructions are stored, and the computer executable instructions are used to make a computer execute the method according to any one of claims 1 to 9, or the method according to any one of claims 10 to 12.