Data volume generation update control method and device, storage medium and electronic device

By calculating the common denominator of the data volume cluster to generate the cluster update cycle, the unified update generation of the data volume cluster is controlled, which solves the problem of high resource consumption in CDP technology, realizes the conservation of bandwidth resources and the efficient operation of the storage system.

CN119211258BActive Publication Date: 2025-09-23INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411215292.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-30
Publication Date
2025-09-23
Estimated Expiration
2044-08-30

AI Technical Summary

Technical Problem

Existing CDP technology consumes a lot of resources when updating data volume generations, especially the consumption of CPU resources and communication bandwidth between nodes. This problem is particularly prominent under high-frequency snapshot strategies.

Method used

By detecting the volume update cycles of multiple protected data volumes, calculating their common divisor to generate a cluster update cycle, and controlling the data volume cluster to uniformly update the data volume generations according to this cycle, it avoids each protected data volume being independently synchronized to other data volume clusters, and uses data volume groups as units to manage generation updates.

Benefits of technology

It reduces the consumption of bandwidth resources for data volume generation updates, improves the overall efficiency and performance of the storage system, and simplifies the access and management of data volume groups.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119211258B_ABST
    Figure CN119211258B_ABST
Patent Text Reader

Abstract

The present application discloses a control method and device, storage medium and electronic device for data volume generation update, the control method for data volume generation update comprising: detecting the volume update period of each protection data volume in a plurality of protection data volumes to obtain a plurality of volume update periods; generating a cluster update period corresponding to a target data volume cluster according to a common divisor of the plurality of volume update periods; controlling the target data volume cluster to update the cluster generation according to the cluster update period, and updating the data volume generation of the target protection data volume to the current target cluster generation of the target data volume cluster when there is a target protection data volume whose running time reaches the corresponding volume update period in the target data volume cluster. The above technical solution is adopted to solve the problem of large resource consumption of data volume generation update in the related technology, thereby achieving the technical effect of reducing the consumption of bandwidth resources by data volume generation update.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computers, and more specifically, to a method and device for controlling data volume generation updates, a storage medium, and an electronic device. Background Art

[0002] Continuous Data Protection (CDP) technology, as an advanced data protection solution, can continuously capture or track any changes in target data without interfering with the operation of primary data, providing infinitely variable recovery points, thereby effectively resisting ransomware attacks and ensuring that data can be restored to any point in time. However, the existing CDP technology has obvious resource consumption problems when implementing high-density snapshot functions. Specifically, the existing technology updates the data volume generation based on a single protected data volume, which means that each protected data volume needs to be synchronized to other data volume clusters in the storage system after the data volume generation is updated. This process not only consumes a lot of CPU resources, but also significantly increases the communication load between nodes. Especially under high-frequency snapshot strategies, the problem is particularly prominent.

[0003] Therefore, although the existing CDP technology performs well in data protection, it has obvious shortcomings in efficient resource utilization, especially in the occupancy rate of inter-node communication bandwidth and the high consumption of CPU resources.

[0004] In related technologies, effective solutions have not yet been proposed for problems such as the large resource consumption caused by data volume generation updates. Summary of the Invention

[0005] The embodiments of the present application provide a method and device for controlling data volume generation updates, a storage medium, and an electronic device to at least solve the problem of large resource consumption caused by data volume generation updates in related technologies.

[0006] According to one embodiment of the present application, a method for controlling data volume generation updates is provided, including: a storage system including multiple data volume clusters, each of which stores a source data volume and multiple protection data volumes, the multiple protection data volumes being used to back up the source data volume; the method being applied to a target data volume cluster among the multiple data volume clusters, the method comprising:

[0007] Detecting a volume update period of each of the plurality of protected data volumes to obtain a plurality of volume update periods, wherein each volume update period is a period for updating a data volume generation of the corresponding protected data volume;

[0008] Generating a cluster update period corresponding to the target data volume cluster according to a common divisor of a plurality of the volume update periods;

[0009] Control the target data volume cluster to update the cluster generation according to the cluster update cycle, and when there is a target protection data volume in the target data volume cluster whose running time has reached the corresponding volume update cycle, update the data volume generation of the target protection data volume to the current target cluster generation of the target data volume cluster.

[0010] Optionally, generating the cluster update period corresponding to the target data volume cluster according to a common divisor of the plurality of volume update periods includes:

[0011] When there are N common divisors among the plurality of volume update periods, and N is greater than or equal to 2, determining the cluster update period from the N common divisors, where N is a positive integer;

[0012] When there are N common divisors among the plurality of volume update periods, and N is less than 2, 1 is determined as the cluster update period.

[0013] Optionally, determining the cluster update period from the N common divisors includes:

[0014] Extracting the largest target common divisor from the N common divisors;

[0015] The target common divisor is determined as the cluster update period.

[0016] Optionally, controlling the target data volume cluster to update the cluster generation according to the cluster update period includes:

[0017] When the current cluster generation of the target data volume cluster is i, detecting whether the current running time of the target data volume cluster reaches the cluster update period, where i is a natural number;

[0018] When it is detected that the current running time of the target data volume cluster reaches the cluster update period, the current cluster generation of the target data volume cluster is updated from i to i+k, where k is an integer greater than or equal to .

[0019] Optionally, before detecting the volume update period of each of the plurality of protected data volumes to obtain the plurality of volume update periods, the method further includes:

[0020] Detecting whether there is an association relationship between the data stored in the plurality of protected data volumes;

[0021] Grouping the plurality of protected data volumes in which data are associated with each other into the same data volume group to obtain a plurality of the data volume groups;

[0022] The plurality of protected data volumes in the same data volume group are set to maintain consistent data volume generations during the process of updating the data volume generations of the protected data volumes.

[0023] Optionally, setting the plurality of protected data volumes in the same data volume group to maintain consistent data volume generations during an update of the data volume generations of the protected data volumes includes:

[0024] Detecting whether there is a protected data volume in the data volume group that has triggered a periodic allocation operation;

[0025] In the case of detecting whether there is a reference protection data volume in the data volume group that triggers a periodic allocation operation, detecting a reference volume update period currently allocated to the reference protection data volume;

[0026] The volume update periods of the other protected data volumes in the data volume group where the reference protected data volume is located are also allocated as the reference volume update period.

[0027] Optionally, before updating the data volume generation of the target protected data volume to the current target cluster generation of the target data volume cluster, the method further includes:

[0028] Perform the following steps on each of the protection data volumes in the target data volume cluster to determine whether the protection data volume is the target protection data volume:

[0029] Querying the reference time of the last update of the data volume generation of the protected data volume;

[0030] Querying the current running time of the protected data volume;

[0031] Determine the difference between the current running time of the protected data volume and the reference time as the waiting time of the protected data volume;

[0032] comparing the waiting time with the volume update period corresponding to the protected data volume;

[0033] When the waiting time is greater than or equal to the volume update period, the protected data volume is determined as the target protected data volume.

[0034] According to another embodiment of the present application, a control device for data volume generation updates is provided. A storage system includes multiple data volume clusters, each of which stores a source data volume and multiple protection data volumes. The multiple protection data volumes are used to back up the source data volume. The device is applied to a target data volume cluster among the multiple data volume clusters, and includes:

[0035] a first detection module configured to detect a volume update period of each of the plurality of protected data volumes to obtain a plurality of volume update periods, wherein each volume update period is a period for updating a data volume generation of the corresponding protected data volume;

[0036] A generating module, configured to generate a cluster update period corresponding to the target data volume cluster according to a common divisor of a plurality of the volume update periods;

[0037] A control module is used to control the target data volume cluster to update the cluster generation according to the cluster update cycle, and when there is a target protection data volume in the target data volume cluster whose running time has reached the corresponding volume update cycle, the data volume generation of the target protection data volume is updated to the current target cluster generation of the target data volume cluster.

[0038] According to another embodiment of the present application, a computer program product is provided, including a computer program, wherein a processor executes the steps in any one of the above method embodiments.

[0039] According to another embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored. The computer program is configured to execute the steps of any one of the above method embodiments when run.

[0040] According to another embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0041] In an embodiment of the present application, a control method for data volume generation update is proposed. The storage system includes multiple data volume clusters, each data volume cluster stores a source data volume and multiple protection data volumes, and the multiple protection data volumes are used to back up the source data volume. The method is applied to a target data volume cluster in the multiple data volume clusters. The target data volume cluster first detects the volume update cycle of each protection data volume in the multiple protection data volumes to obtain multiple volume update cycles, wherein each volume update cycle is the cycle for the corresponding protection data volume to update the data volume generation; and generates the cluster update cycle corresponding to the target data volume cluster according to the common divisor of the multiple volume update cycles; finally, controls the target data volume cluster to update the cluster generation according to the cluster update cycle, and when there is a target protection data volume in the target data volume cluster whose running time reaches the corresponding volume update cycle, the target data volume cluster is updated. The data volume generation of the protection data volume is updated to the current target cluster generation of the target data volume cluster. This is different from the related technology that updates the data volume generation based on a single protection data volume, which results in each protection data volume in the data volume cluster needing to consume bandwidth resources to synchronize to other data volume clusters of the storage system after updating the data volume generation. This solution updates the data volume generation based on the entire data volume cluster. The protection data volumes with updated data volume generations in the data volume cluster are all updated to the same target cluster generation, that is, the protection data volumes with updated data volume generations share the same data volume generation. Therefore, the target cluster generation can be directly synchronized to other data volume clusters, without consuming bandwidth resources to synchronize to other data volume clusters of the storage system when the data volume generation of each protection data volume is updated, which greatly reduces the consumption of bandwidth resources. The above technical solution solves the problem of large resource consumption of data volume generation updates in the related technology, and achieves the technical effect of reducing the consumption of bandwidth resources for data volume generation updates. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] Figure 1 This is a hardware structure block diagram of a computer device for a data volume generation update control method according to an embodiment of the present application;

[0043] Figure 2 This is a flow chart of a method for controlling data volume generation updates according to an embodiment of the present application;

[0044] Figure 3 is a schematic diagram of a storage system according to an embodiment of the present application;

[0045] Figure 4 is a schematic diagram of a data volume cluster according to an embodiment of the present application;

[0046] Figure 5 This is a structural block diagram of a control device for updating data volume generations according to an embodiment of the present application;

[0047] Figure 6 is a schematic diagram of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0048] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0049] It should be noted that the terms "first", "second", etc. in the description and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0050] The method embodiments provided in the embodiments of the present application can be executed in a server device or a similar computing device. Taking running on a server device as an example, Figure 1 This is a hardware structure block diagram of a computer device for a data volume generation update control method according to an embodiment of the present application. Figure 1 As shown, the server device may include one or more ( Figure 1 Only one is shown) a processor 102 (the processor 102 may include but is not limited to a microprocessor MCU or a programmable logic device FPGA and other processing devices) and a memory 104 for storing data, wherein the above-mentioned server device may also include a transmission device 106 for communication functions and an input and output device 108. It will be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above server device. Figure 1 More or fewer components than shown, or with Figure 1 Different configurations shown.

[0051] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the control method for data volume generation update in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, implements the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely located relative to the processor 102, and these remote memories may be connected to a server device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.

[0052] The transmission device 106 is used to receive or send data via a network. A specific example of the aforementioned network may include a wireless network provided by a communication provider of the server device. In one embodiment, the transmission device 106 includes a network interface controller (NIC), which can be connected to other network devices via a base station to enable communication with the Internet. In another embodiment, the transmission device 106 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0053] The terms involved in the embodiments of this application are explained as follows:

[0054] CDP: Continuous Data Protection, also known as high-density snapshot technology. A CDP volume is a protected data volume.

[0055] In this embodiment, a method for controlling data volume generation updates is provided. Figure 2 Flowchart of a method for controlling data volume generation updates according to an embodiment of the present application. Figure 2 As shown, the storage system includes multiple data volume clusters, each of which stores a source data volume and multiple protection data volumes. The multiple protection data volumes are used to back up the source data volume. The method is applied to a target data volume cluster in the multiple data volume clusters. The process includes the following steps:

[0056] Step S12: detecting a volume update period of each of the plurality of protected data volumes to obtain a plurality of volume update periods, wherein each volume update period is a period for updating a corresponding protected data volume generation;

[0057] Optionally, in this embodiment, Figure 3 is a schematic diagram of a storage system according to an embodiment of the present application, such as Figure 3 As shown, the storage system includes multiple data volume clusters (Data Volume Cluster A, Data Volume Cluster B, and Data Volume Cluster C). Each of these clusters stores different source data volumes and corresponding protection volumes. Each protection volume has its own update cycle, known as the volume update period. This cycle is set to generate a new generation of protection volumes through a CDP snapshot at regular intervals to maintain continuous data protection. This cycle can be customized by the user based on the importance and frequency of data changes, or automatically set by the system based on analysis results.

[0058] The system traverses all protected volumes in the target volume cluster and collects the update period for each protected volume. For example, the target volume cluster contains three protected volumes, P1, P2, and P3, with update periods of T1 = 6 seconds, T2 = 8 seconds, and T3 = 12 seconds.

[0059] Step S14, generating a cluster update period corresponding to the target data volume cluster according to a common divisor of the plurality of volume update periods;

[0060] Optionally, in this embodiment, after collecting the volume update periods of all protected data volumes, the system calculates the common divisor of these periods to determine the cluster update period. The multiple of the common divisor is the minimum period shared by all volume update periods.

[0061] Taking the update period mentioned in step S12 as an example, the greatest common divisor of T1, T2, and T3 is 2 seconds, so the cluster update period of the target data volume cluster is set to GCD = 2 seconds. This means that the cluster generation will be updated once every 2 seconds.

[0062] Step S16, controlling the target data volume cluster to update the cluster generation according to the cluster update cycle, and when there is a target protection data volume in the target data volume cluster whose running time has reached the corresponding volume update cycle, updating the data volume generation of the target protection data volume to the current target cluster generation of the target data volume cluster.

[0063] Optionally, in this embodiment, when the cluster update cycle is reached, the storage system automatically updates the cluster generation of the entire target data volume cluster. Simultaneously, the system checks whether the runtime of the protected data volumes within the target data volume cluster has reached their respective set volume update cycles. For protected data volumes whose update cycles have reached their respective update cycles, their data volume generations are updated to the current cluster generation.

[0064] For example, at GCD = 2 seconds, if the P2 protected data volume's runtime reaches 8 seconds, which is the P2 volume update period, the P2 data volume generation will be updated to the cluster's current generation. This way, even if the update periods of individual protected data volumes differ, their generation updates will be based on the cluster's minimum update period, ensuring consistency and efficiency across the entire cluster.

[0065] As an optional solution, generating the cluster update period corresponding to the target data volume cluster according to a common divisor of a plurality of volume update periods includes:

[0066] S21, when there are N common divisors among the plurality of volume update periods, and N is greater than or equal to 2, determining the cluster update period from the N common divisors, where N is a positive integer;

[0067] Optionally, in this embodiment, it is assumed that there are three protected data volumes in the storage system, namely protected data volume A, protected data volume B and protected data volume C, and their volume update periods are 4 seconds, 6 seconds and 8 seconds respectively.

[0068] First, we need to find all the common divisors of the three volume update periods (4 seconds, 6 seconds, and 8 seconds). Common divisors are numbers that can be divided by all of these numbers at the same time.

[0069] For 4, 6 and 8, their common divisors include 1 second and 2 seconds, so N=2 (two common divisors of 1 second and 2 seconds).

[0070] Then, one of these common divisors is selected as the cluster update period. The selection principle is usually based on efficiency and rational use of resources. The largest common divisor, that is, 2 seconds, is selected as the cluster update period.

[0071] This means that the entire cluster will update the global generation (i.e., cluster generation) every 2 seconds, instead of each protected data volume updating independently according to its own cycle, thereby reducing the number of communications between nodes (data volume clusters) (for synchronizing data volume generations) and the CPU computing burden.

[0072] S22: When there are N common divisors among the plurality of volume update periods, and N is less than 2, determine 1 as the cluster update period.

[0073] Assume a different scenario in which the volume update period for protecting data volume D is 5 seconds and the volume update period for protecting data volume E is 10 seconds.

[0074] The only common divisor of 5 seconds and 10 seconds is 1 second, so N=1.

[0075] According to the definition, when N is less than 2, 1 second is directly determined as the cluster update cycle. Although this may not be the optimal cycle, it ensures that all protected data volumes can be updated in a common cycle.

[0076] In this case, although the cluster update cycle may be shorter than the original cycle of some protected data volumes, resulting in slightly increased resource consumption, it at least ensures that all protected data volumes can be managed under a unified framework, avoiding more complex management and coordination issues.

[0077] As an optional solution, determining the cluster update period from the N common divisors includes:

[0078] S31, extracting the largest target common divisor from the N common divisors;

[0079] S32: Determine the target common divisor as the cluster update period.

[0080] Optionally, in this embodiment, in the example of step S21, 2 seconds is the target common divisor, which is the greatest common divisor of the N common divisors.

[0081] As an optional solution, controlling the target data volume cluster to update the cluster generation according to the cluster update cycle includes:

[0082] S41, when the current cluster generation of the target data volume cluster is i, detecting whether the current running time of the target data volume cluster reaches the cluster update period, where i is a natural number;

[0083] S42 : When it is detected that the current running time of the target data volume cluster reaches the cluster update period, update the current cluster generation of the target data volume cluster from i to i+k, where k is an integer greater than or equal to .

[0084] Optionally, in this embodiment, Figure 4 is a schematic diagram of a data volume cluster according to an embodiment of the present application, such as Figure 4 As shown, the data volume cluster includes 16 protection data volumes. The value on each protection data volume is the data volume generation. The 16 data volumes are divided into 4 rows, and each row is a group that shares a volume update cycle. For example, the volume update cycle of the 4 protection data volumes in the first group is 3 seconds, the volume update cycle of the 4 protection data volumes in the second group is 6 seconds, the volume update cycle of the 4 protection data volumes in the third group is 6 seconds, and the volume update cycle of the 4 protection data volumes in the fourth group is 3 seconds. Based on the volume update cycle of the 16 protection data volumes, the cluster update cycle is calculated to be 3 seconds. Taking K as an example, the cluster generation of the data volume cluster increases by 1 every 3 seconds.

[0085] As an optional solution, before detecting the volume update period of each of the plurality of protected data volumes to obtain the plurality of volume update periods, the method further includes:

[0086] S51, detecting whether there is an association relationship between the data stored in the plurality of protected data volumes;

[0087] S52, grouping the plurality of protected data volumes in which data are associated with each other into the same data volume group to obtain a plurality of the data volume groups;

[0088] S53: Setting the plurality of protected data volumes in the same data volume group to maintain consistent data volume generations during the process of updating the data volume generations of the protected data volumes.

[0089] Optionally, in this embodiment, if Figure 4 As shown, the data volume cluster includes 16 protection data volumes, and multiple protection data volumes with associated data in the protection data volumes are divided into the same data volume group to obtain multiple data volume groups. For example, the 16 data volumes are divided into 4 rows according to the association between the data, and each row is a group that shares a volume update cycle (that is, the same row is a data volume group). The running time of the data volume cluster is from 12:00:00 to 12:00:03, and from 12:00:03 to 12:00:06. The data volume generation of each protection data volume in each data volume group remains consistent during the process of updating the data volume generation of the protection data volume.

[0090] It's worth noting that this solution can add old protected volumes from newly generated generations to the historical volume list, allowing them to be converted to physical form for read and write access, or to be deleted and eliminated after the maximum number of volumes is reached. Maintaining volume generations at the volume group level simplifies access to these volumes.

[0091] As an optional solution, setting the plurality of protected data volumes in the same data volume group to maintain consistent data volume generations during the process of updating the data volume generations of the protected data volumes includes:

[0092] S61, detecting whether there is a protected data volume in the data volume group that has triggered a periodic allocation operation;

[0093] S62, in the case of detecting whether there is a reference protection data volume in the data volume group that has triggered a periodic allocation operation, detecting a reference volume update period currently allocated to the reference protection data volume;

[0094] S63: Allocate the volume update periods of other protected data volumes in the data volume group where the reference protected data volume is located as the reference volume update period.

[0095] Optionally, in this embodiment, if Figure 4As shown, the data volume cluster includes 16 protection data volumes, and multiple protection data volumes with data association relationships between the protection data volumes are divided into the same data volume group to obtain multiple data volume groups. For example, the 16 data volumes are divided into 4 rows according to the association relationship between the data, and each row is a group sharing a volume update cycle (that is, the same row is a data volume group). The running time of the data volume cluster is from 12:00:00 to 12:00:03, and from 12:00:03 to 12:00:06. The data volume generations of each protection data volume in each data volume group remain consistent during the process of updating the data volume generations of the protection data volumes. The specific implementation method can be to assign the same reference volume update cycle to each protection data volume in the same data volume group. For example, the volume update cycle of the 4 protection data volumes in the first group is 3 seconds, the volume update cycle of the 4 protection data volumes in the second group is 6 seconds, the volume update cycle of the 4 protection data volumes in the third group is 6 seconds, and the volume update cycle of the 4 protection data volumes in the fourth group is 3 seconds.

[0096] As an optional solution, before updating the data volume generation of the target protected data volume to the current target cluster generation of the target data volume cluster, the method further includes:

[0097] S71: Perform the following steps on each of the protection data volumes in the target data volume cluster to determine whether the protection data volume is the target protection data volume:

[0098] S72, querying the reference time of the last updated data volume generation of the protected data volume;

[0099] S73, querying the current running time of the protected data volume;

[0100] S74, determining the difference between the current running time of the protected data volume and the reference time as the waiting time of the protected data volume;

[0101] S75, comparing the waiting time with the volume update period corresponding to the protected data volume;

[0102] S76 : When the waiting time is greater than or equal to the volume update period, determine the protected data volume as the target protected data volume.

[0103] Optionally, in this embodiment, the assumed target data volume cluster (cluster A) contains multiple protected data volumes (volume 1, volume 2, volume 3, etc.). It is known that each protected data volume has its own data volume generation, and cluster A has a global target cluster generation for unified management of the generation updates of these volumes. Before updating the data volume generation of the protected data volume to the target cluster generation, it is first necessary to ensure that only those volumes that really need to be updated are incremented in generation to avoid unnecessary resource consumption. To this end, perform the following steps: Take volume 1 as an example: query the reference time of the last data volume generation update of volume 1. Assume that the last generation update of volume 1 was at 10:00. Query the current running time of volume 1. For example, the current time is 10:04. The difference between the current running time of volume 1 (10:04) and the reference time (10:00) is determined as the waiting time of volume 1, that is, 4 seconds. Compare the waiting time of volume 1 (4 seconds) with the volume update period corresponding to volume 1. Assume that the volume update period of volume 1 is 4 seconds. Since the waiting time for volume 1 (4 seconds) is equal to its volume update cycle (4 seconds), according to the rules, volume 1 is determined as the target protected data volume, which means that the data volume generation of volume 1 should be updated. Then, steps S72 to S76 are repeated for all other protected data volumes in cluster A (volume 2, volume 3, etc.) to determine which volumes' data volume generations need to be updated to the target cluster generation. This process ensures efficient resource utilization, and the generation is updated only when the protected data volume reaches its preset volume update cycle, thereby reducing unnecessary consumption of CPU and inter-node communication bandwidth while ensuring the continuity and consistency of data protection.

[0104] It is worth noting that this solution innovatively improves the granularity of data volume generation management from a single data volume to the entire data volume cluster. By calculating the greatest common divisor of the volume update periods of all protected data volumes in the data volume cluster as the cluster update period for global cluster generation updates, it effectively reduces the consumption of CPU resources by data volume generation updates, while reducing the bandwidth usage caused by data volume generation synchronization between data volume clusters, thereby improving the overall efficiency and performance of the storage system.

[0105] Compared with the traditional method in which each protected data volume independently maintains the data volume generation, the present invention proposes to record the data volume generation in units of consistency groups (data volume groups). This means that when multiple protected data volumes belong to the same consistency group, it is only necessary to maintain the generation of the consistency group, and there is no need to record independent information of each protected data volume. This simplifies the access and management of the consistency group and improves the convenience of snapshot rollback operations.

[0106] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0107] This embodiment also provides a control device for updating data volume generations, which is used to implement the above-mentioned embodiments and preferred implementations. Details that have already been described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, implementation using hardware, or a combination of software and hardware, is also possible and contemplated.

[0108] Figure 5 is a structural block diagram of a control device for updating data volume generations according to an embodiment of the present application; Figure 5 As shown, the storage system includes multiple data volume clusters, each of which stores a source data volume and multiple protection data volumes, and the multiple protection data volumes are used to back up the source data volume. The device is applied to a target data volume cluster in the multiple data volume clusters, and the device includes:

[0109] A first detection module 502 is configured to detect a volume update period of each of the plurality of protected data volumes to obtain a plurality of volume update periods, wherein each volume update period is a period for updating a corresponding protected data volume generation;

[0110] A generating module 504 is configured to generate a cluster update period corresponding to the target data volume cluster according to a common divisor of a plurality of volume update periods;

[0111] The control module 506 is used to control the target data volume cluster to update the cluster generation according to the cluster update cycle, and when there is a target protection data volume in the target data volume cluster whose running time has reached the corresponding volume update cycle, the data volume generation of the target protection data volume is updated to the current target cluster generation of the target data volume cluster.

[0112] In an exemplary embodiment, the generating module includes:

[0113] A first determining unit is configured to determine the cluster update period from the N common divisors when there are N common divisors among the plurality of volume update periods, and N is greater than or equal to 2, where N is a positive integer;

[0114] The second determining unit is configured to, when there are N common divisors among the plurality of volume update periods and N is less than 2, determine 1 as the cluster update period.

[0115] In an exemplary embodiment, the first determining unit includes:

[0116] Extracting the largest target common divisor from the N common divisors;

[0117] The target common divisor is determined as the cluster update period.

[0118] In an exemplary embodiment, the control module includes:

[0119] A first detection unit is configured to detect whether the current running time of the target data volume cluster reaches the cluster update period when the current cluster generation of the target data volume cluster is i, where i is a natural number;

[0120] The updating unit is configured to update the current cluster generation of the target data volume cluster from i to i+k when detecting that the current running time of the target data volume cluster reaches the cluster update period, wherein k is an integer greater than or equal to .

[0121] In an exemplary embodiment, the apparatus further comprises:

[0122] a second detection module configured to detect whether there is an association relationship between the data stored in the plurality of protected data volumes before detecting the volume update period of each of the plurality of protected data volumes to obtain the plurality of volume update periods;

[0123] a partitioning module, configured to partition the plurality of protected data volumes in which data are associated with each other into a same data volume group, thereby obtaining a plurality of the data volume groups;

[0124] The setting module is configured to set the plurality of protected data volumes in the same data volume group to maintain consistent data volume generations during an update process of the data volume generations of the protected data volumes.

[0125] In an exemplary embodiment, the setting module includes:

[0126] A second detection unit is configured to detect whether there is a protected data volume in the data volume group that has triggered a periodic allocation operation;

[0127] a third detection unit, configured to detect a reference volume update period currently allocated to the reference protection data volume when detecting whether there is a reference protection data volume for which a periodic allocation operation is triggered in the data volume group;

[0128] An allocating unit is configured to allocate the volume update periods of other protected data volumes in the data volume group where the reference protected data volume is located as the reference volume update period.

[0129] In an exemplary embodiment, the apparatus further comprises:

[0130] An execution module is configured to, before updating the data volume generation of the target protection data volume to the current target cluster generation of the target data volume cluster, execute the following steps on each protection data volume in the target data volume cluster to determine whether the protection data volume is the target protection data volume:

[0131] A first query module is used to query the reference time of the last updated data volume generation of the protected data volume;

[0132] A second query module, configured to query the current running time of the protected data volume;

[0133] A first determining module is configured to determine a difference between the current running time of the protected data volume and the reference time as a waiting time of the protected data volume;

[0134] a comparison module, configured to compare the waiting time with the volume update period corresponding to the protected data volume;

[0135] The second determining module is configured to determine the protected data volume as the target protected data volume if the waiting time is greater than or equal to the volume update period.

[0136] It should be noted that the above modules can be implemented through software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.

[0137] An embodiment of the present application further provides a computer program product, comprising a computer program, which, when executed by a processor, implements the steps of the method described in each embodiment of the present application; the computer program product further comprises a non-volatile computer-readable storage medium, which stores the computer program, which, when executed by a processor, implements the steps of the method described in each embodiment of the present application.

[0138] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored. The computer program is configured to execute the steps of any of the above method embodiments when run.

[0139] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.

[0140] An embodiment of the present application further provides an electronic device, Figure 6 is a schematic diagram of an electronic device according to an embodiment of the present application, such as Figure 6 As shown, the electronic device includes a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0141] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0142] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail here.

[0143] Obviously, those skilled in the art should understand that the modules or steps of the present application described above can be implemented using a general-purpose computing device, they can be concentrated on a single computing device, or distributed across a network composed of multiple computing devices, they can be implemented using program code executable by the computing device, and thus, they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be performed in a different order than herein, or they can be fabricated into separate integrated circuit modules, or multiple modules or steps can be fabricated into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.

[0144] The above description is merely a preferred embodiment of the present application and is not intended to limit the present application. Various modifications and variations are possible for those skilled in the art. Any modifications, equivalent substitutions, improvements, etc. made within the principles of the present application shall be included within the scope of protection of the present application.

Claims

1. A method for controlling data volume generation updates, characterized in that: A storage system includes multiple data volume clusters, each of which stores a source data volume and multiple protection data volumes, wherein the multiple protection data volumes are used to back up the source data volume. The method is applied to a target data volume cluster in the multiple data volume clusters, and the method includes: Detecting a volume update period of each of the plurality of protected data volumes to obtain a plurality of volume update periods, wherein each volume update period is a period for updating a data volume generation of the corresponding protected data volume; Generating a cluster update period corresponding to the target data volume cluster according to a common divisor of a plurality of the volume update periods; controlling the target data volume cluster to update the cluster generation according to the cluster update period, and, if a target protection data volume whose running time has reached the corresponding volume update period exists in the target data volume cluster, updating the data volume generation of the target protection data volume to the current target cluster generation of the target data volume cluster; The step of generating the cluster update period corresponding to the target data volume cluster according to the common divisor of the plurality of volume update periods includes: if there are N common divisors among the plurality of volume update periods, and N is greater than or equal to 2, determining the cluster update period from the N common divisors, where N is a positive integer; and if there are N common divisors among the plurality of volume update periods, and N is less than 2, determining 1 as the cluster update period. The step of determining the cluster update period from the N common divisors includes: extracting a maximum target common divisor from the N common divisors; and determining the target common divisor as the cluster update period.

2. The method according to claim 1, characterized in that The controlling the target data volume cluster to update the cluster generation according to the cluster update cycle includes: When the current cluster generation of the target data volume cluster is i, detecting whether the current running time of the target data volume cluster reaches the cluster update period, where i is a natural number; When it is detected that the current running time of the target data volume cluster reaches the cluster update period, the current cluster generation of the target data volume cluster is updated from i to i+k, where k is an integer greater than or equal to .

3. The method according to claim 1, characterized in that Before detecting the volume update period of each of the plurality of protected data volumes to obtain the plurality of volume update periods, the method further includes: Detecting whether there is an association relationship between the data stored in the plurality of protected data volumes; Grouping the plurality of protected data volumes in which data are associated with each other into the same data volume group to obtain a plurality of the data volume groups; The plurality of protected data volumes in the same data volume group are set to maintain consistent data volume generations during the process of updating the data volume generations of the protected data volumes.

4. The method according to claim 3, characterized in that The step of setting the plurality of protected data volumes in the same data volume group to maintain consistent data volume generations during the process of updating the data volume generations of the protected data volumes comprises: Detecting whether there is a protected data volume in the data volume group that has triggered a periodic allocation operation; In the case of detecting whether there is a reference protection data volume in the data volume group that triggers a periodic allocation operation, detecting a reference volume update period currently allocated to the reference protection data volume; The volume update periods of the other protected data volumes in the data volume group where the reference protected data volume is located are also allocated as the reference volume update period.

5. The method according to claim 1, wherein Before updating the data volume generation of the target protected data volume to the current target cluster generation of the target data volume cluster, the method further includes: Perform the following steps on each of the protection data volumes in the target data volume cluster to determine whether the protection data volume is the target protection data volume: Querying the reference time of the last update of the data volume generation of the protected data volume; Querying the current running time of the protected data volume; Determine the difference between the current running time of the protected data volume and the reference time as the waiting time of the protected data volume; comparing the waiting time with the volume update period corresponding to the protected data volume; When the waiting time is greater than or equal to the volume update period, the protected data volume is determined as the target protected data volume.

6. A control device for updating data volume generations, It is characterized by: include: The storage system includes multiple data volume clusters, each of which stores a source data volume and multiple protection data volumes, wherein the multiple protection data volumes are used to back up the source data volume. The device is applied to a target data volume cluster in the multiple data volume clusters, and includes: a first detection module configured to detect a volume update period of each of the plurality of protected data volumes to obtain a plurality of volume update periods, wherein each volume update period is a period for updating a data volume generation of the corresponding protected data volume; A generating module, configured to generate a cluster update period corresponding to the target data volume cluster according to a common divisor of a plurality of the volume update periods; a control module, configured to control the target data volume cluster to update the cluster generation according to the cluster update period, and, if a target protection data volume exists in the target data volume cluster and its running time has reached the corresponding volume update period, update the data volume generation of the target protection data volume to the current target cluster generation of the target data volume cluster; The generating module includes: a first determining unit configured to determine the cluster update period from the N common divisors when there are N common divisors among the plurality of volume update periods and N is greater than or equal to 2, wherein N is a positive integer; and a second determining unit configured to determine 1 as the cluster update period when there are N common divisors among the plurality of volume update periods and N is less than 2; The first determining unit is further configured to: extract a maximum target common divisor from the N common divisors; and determine the target common divisor as the cluster update period.

7. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method according to any one of claims 1 to 5 when executed by a processor.

8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 5 are implemented.

Citation Information

Patent Citations

  • Data backup method and system based on continuous data protection (CDP) protocol

    CN113608925A

  • Method and system for continuous data protection

    US20080208932A1