Data asynchronous replication method and device, computer equipment and storage medium

By creating high-precision timers on the service bearer nodes of the storage system, the problem of insufficient accuracy of CSM timers is solved, and asynchronous replication of second-level data is realized, data recovery capability and system stability are improved.

CN119211257AActive Publication Date: 2024-12-27INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411214922.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-30
Publication Date
2024-12-27
Estimated Expiration
2044-08-30

AI Technical Summary

Technical Problem

In the prior art, the CSM timer in the storage system has poor accuracy, resulting in a large recovery point target for periodic asynchronous remote replication and poor data recovery capabilities.

Method used

By filtering out the service bearer nodes from multiple nodes in the storage system and creating high-precision timers on the service bearer nodes, it realizes asynchronous data replication in seconds, improves the periodic accuracy of asynchronous data replication, reduces recovery point targets, and improves data Resilience.

Benefits of technology

Asynchronous replication of second-level data is realized, which reduces data differences between the main and auxiliary volumes, improves data recovery capabilities and system stability, and reduces recovery point targets.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119211257A_ABST
    Figure CN119211257A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of data storage, and discloses a data asynchronous replication method and device, computer equipment and a storage medium, and the method comprises the steps: screening out a service bearing node from a plurality of nodes of a storage system, and creating a timer on the service bearing node; the method comprises the following steps: acquiring configuration information of an asynchronous replication relationship, performing asynchronous replication relationship configuration on a plurality of nodes based on the configuration information, determining a configuration state of the plurality of nodes and a data synchronization period of data asynchronous replication of the plurality of nodes based on the configuration information, and starting a timer on a service bearing node when the configuration state is a starting state, and determining whether a data synchronization moment of a data synchronization period is reached or not based on the timer, and issuing data synchronization information to the plurality of nodes through the service bearing node when the data synchronization moment of the data synchronization period is reached, so that the plurality of nodes perform data asynchronous copying based on the data synchronization information. According to the invention, the precision of the timer is improved, and the data recovery capability is strong.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of data storage, and in particular to a data asynchronous replication method, device, computer equipment and storage medium. Background Art

[0002] Remote copy (RC) defines the relationship between volumes on the primary and secondary systems. User data on the primary volume will be synchronized to the secondary volume. Remote copy relationships include periodic asynchronous remote copy relationships. Periodic asynchronous remote copy relationships synchronize the difference data generated by the primary volume within a period to the secondary volume according to the set periodic time.

[0003] In the related art, the periodic cycle of periodic asynchronous remote replication is usually triggered by a timer of a configuration management module (Control State Machines, CSM) in the storage system. At fixed intervals, the difference data generated by the primary volume within the cycle is synchronized to the secondary volume.

[0004] However, due to the poor accuracy of the CSM timer, the minimum granularity of the fixed period is 5 seconds, and the recovery point objective (RPO) is large, resulting in poor data recovery capabilities. Summary of the invention

[0005] In view of this, the present invention provides a data asynchronous replication method, apparatus, computer equipment and storage medium to solve the problem in the related art that the CSM timer has poor accuracy, resulting in a large recovery point target and poor data recovery capability.

[0006] In a first aspect, the present invention provides a method for asynchronous data replication, the method comprising:

[0007] Filtering a service bearing node from multiple nodes of the storage system, and creating a timer on the service bearing node;

[0008] In response to the configuration operation of the asynchronous replication relationship, the configuration information of the asynchronous replication relationship is obtained, and the asynchronous replication relationship is configured for multiple nodes based on the configuration information;

[0009] Based on the configuration information, determine the configuration status of the multiple nodes and the data synchronization period for the multiple nodes to perform asynchronous data replication;

[0010] When the configuration state is the startup state, start a timer on the service bearer node, and determine whether a data synchronization time of the data synchronization cycle has arrived based on the timer;

[0011] When the data synchronization time of the data synchronization cycle is reached, data synchronization information is published to multiple nodes through the service bearer node, so that the multiple nodes perform asynchronous data replication based on the data synchronization information.

[0012] The data asynchronous replication method provided in this embodiment selects a business bearer node from multiple nodes in the storage system, creates a timer on the business bearer node, starts the timer on the business bearer node when the configuration status of multiple nodes is in the startup status, determines whether the data synchronization moment of the data synchronization cycle has arrived based on the timer, and publishes data synchronization information to multiple nodes through the business bearer node when the data synchronization moment of the data synchronization cycle has arrived, so that multiple nodes perform data asynchronous replication based on the data synchronization information. By selecting a business bearer node and starting a high-precision timer on the specified business bearer node, data asynchronous replication can be achieved in seconds, which improves the cycle accuracy of data asynchronous replication, greatly reduces the data difference between the primary and secondary volumes of data asynchronous replication, reduces the recovery point target, and improves data recovery capabilities.

[0013] In an optional implementation manner, the step of selecting a service carrying node from a plurality of nodes of the storage system includes:

[0014] Obtaining a node with the largest index number among multiple nodes of the storage system;

[0015] Determine whether the node with the largest index number is a configuration node;

[0016] In the case where the node with the largest index number is not a configuration node, using the node with the largest index number as the service bearing node;

[0017] In the case that the node with the largest index number is a configuration node, the node with the largest index number is excluded, the node with the largest index number is screened out from the remaining nodes, and the step of determining whether the node with the largest index number is a configuration node is returned to be executed.

[0018] The data asynchronous replication method provided in this embodiment realizes node load balancing and brings into play the best performance of the system by selecting the node with the largest index number which is not a configuration node as the service bearing node, thereby ensuring the stability of the system.

[0019] In an optional embodiment, the method further includes:

[0020] When the node with the largest index number is a configuration node and there are no remaining nodes, the node with the largest index number is determined to be the service bearer node.

[0021] The data asynchronous replication method provided in this embodiment enhances the self-regulation capability of the system under special configuration and ensures the stability of the system by using the node with the largest index number as the service bearing node when there are no remaining nodes and the node with the largest index number is the configuration node.

[0022] In an optional embodiment, the method further includes:

[0023] Online monitoring of multiple nodes in the storage system;

[0024] When at least one node among the multiple nodes of the storage system is offline, determining to stop asynchronous replication of data of the multiple nodes;

[0025] A new service bearing node is selected from multiple nodes of the storage system, and the process returns to execute the step of creating a timer on the service bearing node.

[0026] The data asynchronous replication method provided in this embodiment can timely detect abnormal states of nodes (such as offline) by online monitoring of nodes in the storage system, thereby triggering a response mechanism, that is, stopping the asynchronous replication of data of multiple nodes, selecting new service-bearing nodes from multiple nodes of the storage system, and returning to execute the step of creating a timer on the service-bearing node. This prevents service interruptions caused by single point failures and improves the overall stability and reliability of the system.

[0027] In an optional embodiment, the method further includes:

[0028] When the configuration state is a stopped state, determining to stop asynchronous replication of data of multiple nodes;

[0029] When the configuration state is a deletion state, the asynchronous replication relationship of the multiple nodes is deleted.

[0030] The data asynchronous replication method provided in this embodiment implements refined control over data asynchronous replication by taking corresponding processing measures according to different configuration states, thereby ensuring the security of data management and the effective use of storage resources.

[0031] In an optional embodiment, the method further includes:

[0032] For any node among the multiple nodes, when the data synchronization time of the data synchronization cycle has not been reached and the host writes data to the primary volume corresponding to the node, the first bitmap is used to record the data difference between the primary volume and the secondary volume corresponding to the primary volume;

[0033] When a data synchronization time of a data synchronization cycle is reached, for any bit in the first bitmap, based on a value corresponding to the bit, determining a difference state of a data block on the primary volume corresponding to the bit;

[0034] When the difference state of the data block on the primary volume corresponding to the bit is changed, the difference data in the data block is read from the primary volume, and the difference data is synchronized to the secondary volume corresponding to the primary volume;

[0035] Clear the value corresponding to the bit in the first bitmap;

[0036] For any data synchronization cycle, when the data synchronization time of the data synchronization cycle is reached and the data synchronization time of the next data synchronization cycle has not been reached, and the host writes data to the primary volume corresponding to the node, the second bitmap is used to record the data difference between the primary volume and the auxiliary volume corresponding to the primary volume, so that when the data synchronization time of the next data synchronization cycle is reached, for any bit in the second bitmap, based on the value corresponding to the bit, the difference status of the data block on the primary volume corresponding to the bit is determined, and when the difference status of the data block on the primary volume corresponding to the bit is changed, the difference data in the data block is read from the primary volume, the difference data is synchronized to the auxiliary volume corresponding to the primary volume, and the value corresponding to the bit in the second bitmap is cleared.

[0037] The data asynchronous replication method provided in this embodiment removes the change volume and uses the first bitmap and the second bitmap to record the data difference between the primary volume and the secondary volume, thereby eliminating the system consumption caused by the start and stop of the change volume snapshot, and further ensuring that the data synchronization of the primary and secondary volumes of the data asynchronous replication can be completed within 1 second, thereby realizing high-precision periodic asynchronous remote replication with a period length of 1 second, reducing the RPO of the periodic asynchronous remote replication, and improving the reliability of the disaster recovery function of the storage device.

[0038] In an optional embodiment, the method further includes:

[0039] For any data synchronization cycle, the first bitmap in the previous data synchronization cycle is used as the second bitmap of the data synchronization cycle, and the second bitmap in the previous data synchronization cycle is used as the first bitmap of the data synchronization cycle.

[0040] The data asynchronous replication method provided in this embodiment solves the performance loss problem of changing the volume through the rotation mechanism of the first bitmap and the second bitmap, further ensures that the data synchronization of the primary and secondary volumes of the data asynchronous replication can be completed within 1 second, reduces the RPO of the periodic asynchronous remote replication, and improves the reliability of the disaster recovery function of the storage device.

[0041] In a second aspect, the present invention provides a data asynchronous replication device, the device comprising:

[0042] The screening module is used to screen out a service bearing node from a plurality of nodes in the storage system and create a timer on the service bearing node.

[0043] The acquisition module is used to obtain the configuration information of the asynchronous replication relationship in response to the configuration operation of the asynchronous replication relationship, and configure the asynchronous replication relationship for multiple nodes based on the configuration information.

[0044] The determination module is used to determine the configuration status of multiple nodes and the data synchronization period of the multiple nodes for asynchronous data replication based on the configuration information.

[0045] A startup module is used to start a timer on the service bearer node when the configuration state is the startup state, and determine whether the data synchronization time of the data synchronization cycle has arrived based on the timer.

[0046] The publishing module is used to publish data synchronization information to multiple nodes through the service bearing node when the data synchronization moment of the data synchronization cycle is reached, so that the multiple nodes perform data asynchronous replication based on the data synchronization information.

[0047] In a third aspect, the present invention provides a computer device, comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the data asynchronous replication method of the first aspect or any corresponding embodiment thereof by executing the computer instructions.

[0048] In a fourth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the data asynchronous replication method of the first aspect or any corresponding embodiment thereof.

[0049] In a fifth aspect, the present invention provides a computer program product, comprising computer instructions for causing a computer to execute the data asynchronous replication method of the first aspect or any corresponding embodiment thereof. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the related technologies, the drawings required for use in the specific embodiments or the related technical descriptions will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0051] Figure 1 is a schematic diagram of performing periodic asynchronous remote replication in the related art;

[0052] Figure 2 is a flow chart of a data asynchronous replication method according to an embodiment of the present invention;

[0053] Figure 3 is a schematic diagram of configuring an asynchronous replication relationship for multiple nodes according to an embodiment of the present invention;

[0054] Figure 4 is a schematic diagram of asynchronous data replication performed by multiple nodes according to an embodiment of the present invention;

[0055] Figure 5 is a flow chart of another data asynchronous replication method according to an embodiment of the present invention;

[0056] Figure 6 is a flowchart of screening service bearer nodes according to an embodiment of the present invention;

[0057] Figure 7 is a schematic diagram of online monitoring of multiple nodes of a storage system according to an embodiment of the present invention;

[0058] Figure 8 is a schematic diagram of performing asynchronous data replication according to an embodiment of the present invention;

[0059] Fig. 9 This is a schematic diagram of implementing asynchronous remote replication with a period of seconds according to an embodiment of the present invention;

[0060] Fig.10 is a structural block diagram of a data asynchronous replication device according to an embodiment of the present invention;

[0061] Fig.11 It is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION

[0062] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.

[0063] A remote replication relationship defines the relationship between volumes on two storage systems. Usually, one storage system is designated as the primary system, i.e., the main storage system. The primary system is used to receive user input / output (IO) data, and its volumes are designated as primary volumes. The other storage system is designated as the secondary system, i.e., the secondary storage system. The secondary system does not directly receive user IO data, and its volumes are designated as secondary volumes. Among them, user data on the primary volume will be synchronized to the secondary volume through the remote replication relationship.

[0064] Based on the data synchronization time, remote replication relationships are divided into three types: synchronous remote replication relationship, asynchronous remote replication relationship, and periodic asynchronous remote replication relationship.

[0065] Among them, the synchronous remote replication relationship is that after the host data is written to the primary volume, the data is synchronized to the secondary volume at the same time, and then the host is notified of the IO completion. The RPO of the synchronous remote replication relationship is 0. RPO refers to the maximum amount of data loss that an enterprise can tolerate during the disaster recovery process. It is an indicator to measure data recovery capabilities.

[0066] In an asynchronous remote replication relationship, host data is written to the primary volume, which means that the host IO is notified of completion, and then the data is immediately synchronized to the secondary volume in the IO order. The RPO of an asynchronous remote replication relationship is greater than 0 and is generally less than 1s.

[0067] In a periodic asynchronous remote replication relationship, host data is written to the primary volume, which means that the host IO is completed, but the data is not immediately synchronized to the secondary volume. Instead, the differential data generated by the primary volume within the cycle is synchronized to the secondary volume according to the bitmap according to the set cycle time. The RPO of a periodic asynchronous remote replication relationship is greater than 0 and is generally less than twice the cycle length.

[0068] Figure 1 FIG. 1 is a schematic diagram of performing periodic asynchronous remote replication in the related art. Figure 1 As shown in the figure, periodic asynchronous remote replication consists of a primary volume, a primary volume change volume, a secondary volume, and a secondary volume change volume. The primary volume automatically starts data replication once every fixed period. The default period time is 300 seconds, and the period time range can be 60 seconds to 24 hours.

[0069] The cycle of periodic asynchronous remote replication includes the following processes:

[0070] During the periodic synchronization process, the primary volume change volume snapshot in the primary volume change volume is in the start state. When the host IO writes data to the primary volume, the primary volume change volume snapshot bitmap records the data difference between the primary and secondary volumes.

[0071] When periodic synchronization is not started, the primary volume change volume snapshot in the primary volume change volume is in a stopped state. When the host IO writes data to the primary volume, the remote replication bitmap in the primary volume records the data difference between the primary and secondary volumes.

[0072] At the end of each synchronization cycle, the snapshot bitmap of the primary volume change volume will be synchronized to the remote replication bitmap for merging. In each data synchronization cycle, the incremental data synchronization within the cycle is performed based on the merged remote replication bitmap.

[0073] It should be noted that the auxiliary volume change volume is used for data backup and recovery, and is used to start the auxiliary volume change volume snapshot before the start of each data synchronization cycle, and use the auxiliary volume change volume snapshot to back up the auxiliary volume data to achieve auxiliary volume data recovery.

[0074] However, the periodic cycle of periodic asynchronous remote replication is usually triggered by the timer on the CSM side of the storage system. Since the timer on the CSM side has poor accuracy and a minimum granularity of 5 seconds, the cycle of periodic asynchronous remote replication must be an integer multiple of 5 seconds, resulting in a large RPO and poor data recovery capability.

[0075] In addition, the data synchronization of the current periodic asynchronous remote replication is achieved with the help of change volume snapshots. The change volume snapshots must be started and stopped twice in each data synchronization cycle. The start and stop of the change volume snapshots consumes a lot of central processing unit (CPU) and memory resources. Even if the cycle of the periodic asynchronous remote replication is achieved with an accuracy of 1 second, the start and stop of the change volume snapshots puts a lot of pressure on the system, which often makes it impossible to truly achieve the 1-second accuracy requirement.

[0076] The embodiment of the present invention provides a data asynchronous replication method, which aims to truly realize periodic asynchronous remote replication with 1-second accuracy. By selecting a business bearer node and starting a high-precision timer on the specified business bearer node, data asynchronous replication at the second level can be achieved, so as to improve the periodic accuracy of data asynchronous replication, greatly reduce the data difference between the primary and secondary volumes of data asynchronous replication, reduce the recovery point target, and improve the data recovery capability.

[0077] According to an embodiment of the present invention, an embodiment of a method for asynchronous data replication is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0078] In this embodiment, a data asynchronous replication method is provided, which can be used in a primary storage system. Figure 2is a flow chart of a data asynchronous replication method according to an embodiment of the present invention. Figure 2 As shown, the process includes the following steps:

[0079] Step S201 , selecting a service bearing node from multiple nodes of a storage system, and creating a timer on the service bearing node.

[0080] Among them, most current storage systems are composed of 2 nodes or 4 nodes. In this embodiment, the CSM end of the storage system selects a node from multiple nodes of the storage system as a service bearing node. The CSM end is often used to represent the configuration and status information of each component of the system.

[0081] After the service bearer nodes are screened out, a high-precision timer is created at the service processing end (agent end) of the service bearer node.

[0082] It should be noted that, since the timer accuracy of the CSM end is poor and cannot be improved, this embodiment abandons the timer of the CSM end and creates a high-precision timer on the agent end of the service bearer node. In this embodiment, the timer is started every 100ms, and 1 / 10 of the total amount of periodic asynchronous remote replication data is scanned each time. All periodic asynchronous remote replications are fully scanned once per second, achieving periodic asynchronous remote replication with second-level accuracy.

[0083] Step S202: in response to the configuration operation of the asynchronous replication relationship, obtain the configuration information of the asynchronous replication relationship, and configure the asynchronous replication relationship for multiple nodes based on the configuration information.

[0084] in, Figure 3 FIG. 1 is a schematic diagram of configuring an asynchronous replication relationship for multiple nodes according to an embodiment of the present invention. Figure 3 As shown, the CSM end of the storage system responds to the configuration operation of the asynchronous replication relationship and obtains the configuration information of the asynchronous replication relationship. The configuration information includes two categories. One category is the configuration information related to the periodic asynchronous remote replication status, such as the creation, start, stop, and deletion of the asynchronous replication relationship. The other category is the configuration information related to the synchronization of primary and secondary volume data, such as the change of the cycle duration and the change of the data synchronization rate, among which the cycle duration is changed to the data synchronization cycle, and the data synchronization rate is changed to the rate when data synchronization is performed. It should be noted that both types of information are notified to the agent end of all nodes by the CSM end through the UTAR mechanism.

[0085] After the CSM obtains the configuration information of the asynchronous replication relationship, it configures the asynchronous replication relationship for multiple nodes in the storage system based on the configuration information, that is, it configures the asynchronous replication relationship for the agent end (ALL NODE AGENT) of all nodes in the storage system based on the configuration information.

[0086] It should be noted that the CSM notifies the agent of all nodes of the configuration information of the asynchronous replication relationship through the UTAR mechanism, and the agent of the node controls and changes the periodic asynchronous remote replication according to the changes in the configuration information. Among them, UTAR (UTility Agent Receive) is the agent receiving data from the CSM.

[0087] The CSM in the storage system manages configuration information. The asynchronous replication relationship is a periodic asynchronous remote replication relationship.

[0088] Step S203: Based on the configuration information, determine the configuration status of the multiple nodes and the data synchronization period for the multiple nodes to perform asynchronous data replication.

[0089] After the asynchronous replication relationship is configured for the multiple nodes based on the configuration information, the configuration states of the multiple nodes and the data synchronization period for the asynchronous replication of data by the multiple nodes are determined according to the configuration information.

[0090] It should be noted that the configuration status of multiple nodes can be a creation completion status, a start status, a stop status, and a deletion status.

[0091] Step S204: when the configuration state is the start state, start the timer on the service bearer node, and determine whether the data synchronization time of the data synchronization cycle has arrived based on the timer.

[0092] It should be noted that the configuration status in the configuration information represents the creation, start, stop, deletion, etc. of the asynchronous replication relationship in all nodes. First, the asynchronous replication relationship needs to be created on all nodes. After all nodes have completed the creation of the asynchronous replication relationship, the configuration status of all nodes is the creation completion status, that is, the pause (STOP) status. It is necessary to wait for the user to send the configuration information with the configuration status as the start status before the timer can be triggered to enter the asynchronous replication of the data of the primary volume.

[0093] After the user sends the configuration information with the configuration status as the startup status, the CSM notifies all nodes through the UTAR mechanism that the configuration status is changed from the creation completion status to the startup status. The startup status is the READY status.

[0094] When the configuration status of all nodes is the startup status, the timer on the service bearer node is started, and it is determined based on the timer whether the data synchronization time of the data synchronization cycle has arrived.

[0095] Step S205: when the data synchronization time of the data synchronization cycle is reached, data synchronization information is published to multiple nodes through the service bearer node, so that the multiple nodes perform data asynchronous replication based on the data synchronization information.

[0096] in, Figure 4 FIG. 1 is a schematic diagram of asynchronous data replication performed by multiple nodes according to an embodiment of the present invention. Figure 4 As shown, when the data synchronization moment of the current data synchronization cycle is determined based on the timer, the timer on the business bearer node triggers data synchronization, and the business bearer node publishes data synchronization information to multiple nodes, that is, it wants to publish message notifications to multiple nodes, and the configuration status of all nodes changes from the startup state to the replication state. Multiple nodes perform asynchronous data replication based on the data synchronization information, that is, perform data synchronization of the asynchronous replication of this cycle.

[0097] It is understandable that in each data synchronization cycle, after multiple nodes complete asynchronous data replication, the configuration status of multiple nodes changes from replication status to startup status, and continues to perform the step of determining whether the data synchronization time of the data synchronization cycle has been reached based on the timer. In other words, after the agent of each node completes data synchronization in this cycle, it continues to wait for the startup notification of the next cycle.

[0098] The data asynchronous replication method provided in this embodiment selects a business bearer node from multiple nodes in the storage system, creates a timer on the business bearer node, starts the timer on the business bearer node when the configuration status of multiple nodes is in the startup status, determines whether the data synchronization moment of the data synchronization cycle has arrived based on the timer, and publishes data synchronization information to multiple nodes through the business bearer node when the data synchronization moment of the data synchronization cycle has arrived, so that multiple nodes perform data asynchronous replication based on the data synchronization information. By selecting a business bearer node and starting a high-precision timer on the specified business bearer node, data asynchronous replication can be achieved in seconds, which improves the cycle accuracy of data asynchronous replication, greatly reduces the data difference between the primary and secondary volumes of data asynchronous replication, reduces the recovery point target, and improves data recovery capabilities.

[0099] In this embodiment, a data asynchronous replication method is provided, which can be used in a primary storage system. Figure 5 is a flow chart of a data asynchronous replication method according to an embodiment of the present invention. Figure 5 As shown, the process includes the following steps:

[0100] Step S501: Filter out a service bearing node from multiple nodes of a storage system, and create a timer on the service bearing node.

[0101] Specifically, the above step S501 includes:

[0102] Step S5011, obtaining a node with the largest index number among multiple nodes of the storage system.

[0103] in, Figure 6 FIG. 4 is a flowchart of selecting a service bearer node according to an embodiment of the present invention. Figure 6 As shown, the node with the largest index number is selected from multiple nodes in the storage system.

[0104] It should be noted that each node in the storage system corresponds to an index number. For example, in this embodiment, the storage system includes 4 nodes, and the index numbers corresponding to the 4 nodes are 1, 2, 3, and 4. The node with the largest index number is the node with index number 4, that is, max{1,2,3,4}=4.

[0105] Step S5012, determining whether the node with the largest index number is a configuration node.

[0106] After obtaining the node with the largest index number, it is determined whether the node with the largest index number is a configuration node. For example, it is determined whether the node with the index number 4 is a configuration node.

[0107] The configuration node is a node that executes various configuration commands issued by the server, and may include a node that executes asynchronous replication commands issued by the server.

[0108] It should be noted that the configuration node is not selected as the business bearing node mainly because the configuration node carries the processing work of command lines, which is generally busy. If it is used as a business bearing node, the pressure on the node will increase, the node load will be unbalanced, and the system cannot perform at its best.

[0109] Step S5013: When the node with the largest index number is not a configuration node, the node with the largest index number is used as a service bearing node.

[0110] If the node with the largest index number is not a configuration node, the node with the largest index number is directly used as a service bearing node.

[0111] Step S5014, when the node with the largest index number is a configuration node, exclude the node with the largest index number, select the node with the largest index number from the remaining nodes, and return to execute the step of determining whether the node with the largest index number is a configuration node.

[0112] Among them, Figure 6As shown, when the node with the largest index number is a configuration node, the node with the largest index number is excluded, the node with the largest index number is filtered out from the remaining nodes, and the step of determining whether the node with the largest index number is a configuration node and the steps after this step are returned to execute until the service carrying node is filtered out.

[0113] Exemplarily, when the node with index number 4 is a configuration node, the node is excluded, and the node with the largest index number is filtered out from the nodes corresponding to index numbers 1, 2, and 3, that is, the node with index number 3 max{1,2,3}=3, and the process returns to the step of determining whether the node with index number 3 is a configuration node and the steps after this step.

[0114] Step S502: In response to the configuration operation of the asynchronous replication relationship, the configuration information of the asynchronous replication relationship is obtained, and the asynchronous replication relationship is configured for multiple nodes based on the configuration information. Figure 2 Step S202 of the illustrated embodiment will not be described in detail here.

[0115] Step S503: Based on the configuration information, determine the configuration status of multiple nodes and the data synchronization period for asynchronous data replication of multiple nodes. Figure 2 Step S203 of the illustrated embodiment will not be described in detail here.

[0116] Step S504: When the configuration state is the start state, start the timer on the service bearer node and determine whether the data synchronization time of the data synchronization cycle has arrived based on the timer. Figure 2 Step S204 of the illustrated embodiment will not be described in detail here.

[0117] Step S505: When the data synchronization time of the data synchronization cycle is reached, data synchronization information is published to multiple nodes through the service bearer node, so that the multiple nodes perform data asynchronous replication based on the data synchronization information. Figure 2 Step S205 of the illustrated embodiment will not be described in detail here.

[0118] The data asynchronous replication method provided in this embodiment realizes node load balancing and brings into play the best performance of the system by selecting the node with the largest index number which is not a configuration node as the service bearing node, thereby ensuring the stability of the system.

[0119] In some optional implementations, the data asynchronous replication method further includes:

[0120] Step a1: when the node with the largest index number is a configuration node and there are no remaining nodes, determine the node with the largest index number as a service bearer node.

[0121] Among them, after obtaining the node with the largest index number, if the node with the largest index number is a configuration node and there are no remaining nodes, it means that there is no node that is not a configuration node in the storage system, and the node with the largest index number is determined to be a service bearing node.

[0122] It should be noted that, when the node with the largest index number is a configuration node and there is only one remaining node, the remaining node is determined to be a service bearer node.

[0123] The CSM end notifies the agent end of the service bearer node to prepare to start periodic asynchronous remote replication through a call gate message.

[0124] The data asynchronous replication method provided in this embodiment enhances the self-regulation capability of the system under special configuration and ensures the stability of the system by using the last determined node with the largest index number as the service bearing node when all nodes are configuration nodes.

[0125] When the node with the largest index number is a configuration node and there is only one remaining node, whether the remaining node is a configuration node or not, the remaining node is used as a service bearing node, thereby enhancing the self-regulation capability of the system under special configuration and ensuring the stability of the system.

[0126] In some optional implementations, the data asynchronous replication method further includes:

[0127] Step b1, performing online monitoring on multiple nodes of the storage system.

[0128] During the operation of the storage system, a fault may occur, such as a node going offline due to a hardware fault. The offline node may be a service-bearing node, and a new service-bearing node needs to be elected.

[0129] Therefore, it is necessary to perform online monitoring on multiple nodes in the storage system to obtain the online status of the multiple nodes, and then determine whether it is necessary to re-screen the service bearing nodes according to the online status of the multiple nodes.

[0130] Step b2: when at least one node among the multiple nodes of the storage system is offline, determine to stop asynchronous replication of data of the multiple nodes.

[0131] in, Figure 7 FIG. 1 is a schematic diagram of performing online monitoring on multiple nodes of a storage system according to an embodiment of the present invention. Figure 7As shown, after the CSM end selects the service bearer node, that is, elects the service bearer node, the CSM end notifies the agent end of the service bearer node through a call gate message to prepare to start periodic asynchronous remote replication, that is, the configuration state of multiple startup nodes is the startup state, and at this time, the timer on the service bearer node is started, and it is determined based on the timer whether the data synchronization moment of the data synchronization cycle has arrived. In the case of reaching the data synchronization moment of the data synchronization cycle, data synchronization information is issued to multiple nodes through the service bearer node, so that multiple nodes perform data asynchronous replication based on the data synchronization information. For example, as Figure 7 As shown, the service carrying node is the node with index number 4, namely NODE4.

[0132] In the case where multiple nodes perform asynchronous data replication based on data synchronization information, if at least one node among the multiple nodes of the storage system is offline, it is determined to stop the asynchronous data replication of the multiple nodes.

[0133] For example, Figure 7 As shown, the CSM detects that the node with index number 3, that is, NODE3, is offline, and notifies all nodes except the offline node to stop asynchronous data replication through a callgate message. It can be understood that the timer on the service bearer node also stops timing.

[0134] Step b3, selecting a new service bearing node from multiple nodes of the storage system, and returning to execute the step of creating a timer on the service bearing node.

[0135] After multiple nodes stop asynchronous data replication, a service bearing node is re-elected, that is, a new service bearing node is selected from multiple nodes of the storage system, and the process returns to execute the step of creating a timer on the service bearing node and subsequent steps.

[0136] It is understandable that the method of selecting a new service bearer node is the same as the above, and will not be described in detail here.

[0137] After screening out new service bearing nodes, the CSM notifies the agent of the new service bearing node through a call gate message to prepare to start periodic asynchronous remote replication.

[0138] It should be noted that the new service carrying nodes are selected from multiple nodes of the storage system, including:

[0139] When the offline node is restored to an online state, a new service-bearing node is selected from multiple nodes in the storage system.

[0140] When the offline node can be restored to an online state after fault repair, a new service-bearing node is selected from multiple nodes of the storage system.

[0141] It is understandable that when at least one node among multiple nodes of the storage system is offline, offline alarm information is sent so that the user can determine that a node is offline based on the offline alarm information, check for possible faults, and repair the faults.

[0142] The offline node is an offline node in the storage system.

[0143] The data asynchronous replication method provided in this embodiment sends offline alarm information when at least one node among multiple nodes is offline, so that users can promptly discover the existence of node offline situations and check possible faults to repair the faults, thereby improving the stability and reliability of the system.

[0144] The data asynchronous replication method provided in this embodiment can timely detect abnormal states of nodes (such as offline) by online monitoring of nodes in the storage system, thereby triggering a response mechanism, that is, stopping the asynchronous replication of data of multiple nodes, selecting new service-bearing nodes from multiple nodes of the storage system, and returning to execute the step of creating a timer on the service-bearing node. This prevents service interruptions caused by single point failures and improves the overall stability and reliability of the system.

[0145] In some optional implementations, the data asynchronous replication method further includes:

[0146] Step c1, when the configuration state is the stopped state, determine to stop the asynchronous replication of data of multiple nodes.

[0147] The CSM sends the configuration information to the multiple nodes through the UTAR mechanism. If the configuration state determined based on the configuration information is a stop state, it is determined to stop the asynchronous replication of data of the multiple nodes.

[0148] Step c2: when the configuration state is the deletion state, the asynchronous replication relationship of multiple nodes is deleted.

[0149] The CSM sends the configuration information to the multiple nodes through the UTAR mechanism. If the configuration state determined based on the configuration information is a deletion state, the asynchronous replication relationship of the multiple nodes is deleted.

[0150] The data asynchronous replication method provided in this embodiment implements refined control over data asynchronous replication by taking corresponding processing measures according to different configuration states, thereby ensuring the security of data management and the effective use of storage resources.

[0151] In some optional implementations, the data asynchronous replication method further includes:

[0152] Step d1, for any node among the multiple nodes, when the data synchronization time of the data synchronization cycle has not been reached and the host writes data to the primary volume corresponding to the node, the first bitmap is used to record the data difference between the primary volume and the auxiliary volume corresponding to the primary volume.

[0153] In order to eliminate the performance consumption of the storage system caused by the start and stop of the change volume snapshot, this embodiment will remove the change volume and the change volume snapshot, and the periodic asynchronous remote replication will only consist of the primary volume and the auxiliary volume. Figure 1 and position Figure 2 , namely the first bitmap and the second bitmap. The host read / write (Input / Output, referred to as: IO) data sent by the user will be sent to the agent end of different nodes for data read and write operations according to the logical block address (Logical Block Address, referred to as: LBA) of the storage system. Among them, the logical block address is a general mechanism for describing the block where the data is located on the computer storage device.

[0154] Figure 8 FIG. 1 is a schematic diagram of performing asynchronous data replication according to an embodiment of the present invention. Figure 8 As shown, for any node among the multiple nodes of the main system, when the data synchronization period has not been reached and the host writes data to the primary volume corresponding to the node, that is, the host executes the host IO, the first bitmap is used to record the data difference between the primary volume and the auxiliary volume corresponding to the primary volume, that is, the bitmap is used to record the data difference between the primary volume and the auxiliary volume corresponding to the primary volume. Figure 1 Record the differences between the primary and secondary volumes.

[0155] Step d2: When the data synchronization time of the data synchronization cycle is reached, for any bit in the first bitmap, based on the value corresponding to the bit, determine the difference status of the data block on the primary volume corresponding to the bit.

[0156] When the data synchronization time of the data synchronization cycle is reached, that is, when the cycle synchronization is started, the bit Figure 1 The differences between the primary and secondary ends are synchronized to the secondary volume block by block, that is, IO is written to the secondary volume.

[0157] Among them, according to the position Figure 1 The difference between the primary and secondary ends is synchronized to the secondary volume block by block. For any bit in the first bitmap, based on the value corresponding to the bit, the difference status of the data block on the primary volume corresponding to the bit is determined.

[0158] Step d3, when the difference status of the data block on the primary volume corresponding to the bit is changed, the difference data in the data block is read from the primary volume, and the difference data is synchronized to the auxiliary volume corresponding to the primary volume.

[0159] Among them, when the difference status of the data block on the primary volume corresponding to the bit is changed, it means that there is a difference between the data in the data block on the primary volume corresponding to the bit and the data on the auxiliary volume. In this case, it is necessary to read the difference data of the data block from the primary volume and synchronize the difference data to the auxiliary volume corresponding to the primary volume.

[0160] Step d4, clearing the value corresponding to the bit in the first bitmap.

[0161] After synchronizing the difference data to the auxiliary volume corresponding to the primary volume, the value corresponding to the bit in the first bitmap is cleared, that is, the value corresponding to the bit is modified to a value indicating that the difference state of the data block on the primary volume corresponding to the bit is no difference.

[0162] It is understandable that the periodic asynchronous remote replication of the primary and secondary volumes will be based on the location Figure 1 The recorded data differences are synchronized incrementally, and the bit is cleared after synchronization is completed. Figure 1 The corresponding bit.

[0163] Step d5, for any data synchronization cycle, when the data synchronization time of the data synchronization cycle is reached and the data synchronization time of the next data synchronization cycle has not been reached, and the host writes data to the primary volume corresponding to the node, the second bitmap is used to record the data difference between the primary volume and the auxiliary volume corresponding to the primary volume, so that when the data synchronization time of the next data synchronization cycle is reached, for any bit in the second bitmap, based on the value corresponding to the bit, the difference status of the data block on the primary volume corresponding to the bit is determined, and when the difference status of the data block on the primary volume corresponding to the bit is changed, the difference data in the data block is read from the primary volume, and the difference data is synchronized to the auxiliary volume corresponding to the primary volume, and the value corresponding to the bit in the second bitmap is cleared.

[0164] Among them, for any data synchronization cycle, such as Figure 8 As shown, when the data synchronization time of the data synchronization cycle is reached, the data synchronization time of the next data synchronization cycle has not been reached, and the host writes data to the primary volume corresponding to the node, the second bitmap is used to record the data difference between the primary volume and the auxiliary volume corresponding to the primary volume.

[0165] That is to say, when data synchronization is performed in any data synchronization cycle, the bit Figure 1 Record the data difference caused by the host IO, by bit Figure 2 Record the data differences caused by the host IO. During the data synchronization process, if there is a host IO write, the bit Figure 1 Determine whether the primary volume is different from the secondary volume. If there is no difference, just put it in place. Figure 2 The new difference is recorded and written to the primary volume; if there is a difference, the corresponding data of the primary volume is read out and synchronized to the secondary volume first, and the bit is cleared after the synchronization is completed. Figure 1 The corresponding bit, then Figure 2 Record new differences and write host IO to the primary volume until the Figure 1 Complete the incremental data synchronization of the primary and secondary volumes.

[0166] It can be understood that when the data synchronization time of the next data synchronization cycle is reached, since the previous data synchronization cycle uses the second bitmap to record the differences between the primary and secondary volumes, in the current data synchronization cycle, for any bit in the second bitmap, based on the value corresponding to the bit, the difference status of the data block on the primary volume corresponding to the bit is determined, and when the difference status of the data block on the primary volume corresponding to the bit is changed, the difference data in the data block is read from the primary volume, and the difference data is synchronized to the secondary volume corresponding to the primary volume, and the value corresponding to the bit in the second bitmap is cleared.

[0167] The data asynchronous replication method provided in this embodiment removes the change volume and uses the first bitmap and the second bitmap to record the data difference between the primary volume and the secondary volume, thereby eliminating the system consumption caused by the start and stop of the change volume snapshot, and further ensuring that the data synchronization of the primary and secondary volumes of the data asynchronous replication can be completed within 1 second, thereby realizing high-precision periodic asynchronous remote replication with a period length of 1 second, reducing the RPO of the periodic asynchronous remote replication, and improving the reliability of the disaster recovery function of the storage device.

[0168] In some optional implementations, the data asynchronous replication method further includes:

[0169] Step e1: for any data synchronization cycle, the first bitmap in the previous data synchronization cycle is used as the second bitmap of the data synchronization cycle, and the second bitmap in the previous data synchronization cycle is used as the first bitmap of the data synchronization cycle.

[0170] For any data synchronization cycle, within the data synchronization cycle, the first bitmap in the previous data synchronization cycle is used as the second bitmap in the data synchronization cycle, and the second bitmap in the previous data synchronization cycle is used as the first bitmap in the data synchronization cycle. That is, at the beginning of each data synchronization cycle, the bitmap Figure 1 and position Figure 2 The roles will be swapped once.

[0171] It should be noted that the first bitmap in the previous data synchronization cycle as the first bitmap in the second bitmap of the data synchronization cycle is the first bitmap after completing synchronization of the difference data and clearing the values ​​of the bits corresponding to the difference data.

[0172] The bit corresponding to the difference data is the bit where the difference status of the data block on the corresponding primary volume is changed.

[0173] In the previous data synchronization cycle, when the data synchronization time of the data synchronization cycle is reached, for any bit in the first bitmap, based on the value corresponding to the bit, the difference state of the data block on the primary volume corresponding to the bit is determined. When the difference state of the data block on the primary volume corresponding to the bit is changed, the difference data in the data block is read from the primary volume, and the difference data is synchronized to the auxiliary volume corresponding to the primary volume. The value corresponding to the bit in the first bitmap is cleared.

[0174] Then in the data synchronization cycle, when the data synchronization time of the data synchronization cycle is reached, for any bit in the second bitmap, the difference status of the data block on the primary volume corresponding to the bit is determined based on the value corresponding to the bit, and when the difference status of the data block on the primary volume corresponding to the bit is changed, the difference data in the data block is read from the primary volume, and the difference data is synchronized to the auxiliary volume corresponding to the primary volume, and the value corresponding to the bit in the second bitmap is cleared.

[0175] The first bitmap is used in the previous data synchronization cycle to record the difference between the primary and secondary volumes during the data synchronization period, and the second bitmap is used in the current data synchronization cycle to record the difference between the primary and secondary volumes during the data synchronization period. The second bitmap is used in the previous data synchronization cycle to record the difference between the primary and secondary volumes from the completion of data synchronization to the next data synchronization period, and the first bitmap is used in the current data synchronization cycle to record the difference between the primary and secondary volumes from the completion of data synchronization to the next data synchronization period. That is, for any data synchronization period in this embodiment, within the data synchronization period, the first bitmap in the previous data synchronization period of the data synchronization period is used as the second bitmap of the data synchronization period, and the second bitmap in the previous data synchronization period is used as the first bitmap of the data synchronization period.

[0176] The data asynchronous replication method provided in this embodiment solves the performance loss problem of changing the volume through the rotation mechanism of the first bitmap and the second bitmap, further ensures that the data synchronization of the primary and secondary volumes of the data asynchronous replication can be completed within 1 second, reduces the RPO of the periodic asynchronous remote replication, and improves the reliability of the disaster recovery function of the storage device.

[0177] In summary, Fig. 9 1 is a schematic diagram of implementing asynchronous remote replication with a period of seconds according to an embodiment of the present invention. Fig. 9 As shown, in order to solve the problem of poor accuracy of the CSM-side timer and the problem of excessive consumption of operating system resources caused by starting and stopping the volume snapshot twice, the embodiment of the present invention realizes the transformation from minute-level periodic asynchronous remote replication to second-level periodic asynchronous remote replication through four parts.

[0178] Among them, Fig. 9 As shown, the four parts are 1. Business bearer node election; 2. Configuration information transmission; 3. Timer change; 4. Data synchronization mode change.

[0179] Among them, the business bearer node election corresponds to the relevant description of the aforementioned step S501, which will not be repeated here. The configuration information transmission corresponds to the relevant description of the aforementioned step S502, which will not be repeated here. The timer change is to change the timer on the CSM side to a high-precision timer on the business bearer node, which can achieve periodic asynchronous remote replication with second-level accuracy. The data synchronization method is changed to remove the change volume and the change volume snapshot, and is composed only of the primary volume and the auxiliary volume, and the first bitmap and the second bitmap are used to record the data differences between the primary and auxiliary volumes.

[0180] By electing service-carrying nodes and starting a high-precision timer on the designated node, the periodic accuracy of periodic asynchronous remote replication is improved. At the same time, the change volume is removed, and the system consumption caused by the start and stop of the change volume snapshot is further eliminated, so that periodic asynchronous replication can achieve high-precision operation of 1 cycle per second. The data difference between the primary and secondary volumes of periodic asynchronous remote replication is greatly reduced, and the RPO of periodic asynchronous remote replication is reduced to less than 1 second.

[0181] In this embodiment, a data asynchronous replication device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0182] This embodiment provides a data asynchronous replication device, such as Fig.10 As shown, including:

[0183] The screening module 1001 is used to screen out service bearing nodes from multiple nodes of the storage system and create a timer on the service bearing node.

[0184] The acquisition module 1002 is used to obtain the configuration information of the asynchronous replication relationship in response to the configuration operation of the asynchronous replication relationship, and configure the asynchronous replication relationship for multiple nodes based on the configuration information.

[0185] The determination module 1003 is used to determine the configuration status of multiple nodes and the data synchronization period for asynchronous data replication of multiple nodes based on the configuration information.

[0186] The starting module 1004 is used to start the timer on the service bearer node when the configuration state is the starting state, and determine whether the data synchronization time of the data synchronization cycle has arrived based on the timer.

[0187] The publishing module 1005 is used to publish data synchronization information to multiple nodes through the service bearer node when the data synchronization time of the data synchronization cycle is reached, so that the multiple nodes perform data asynchronous replication based on the data synchronization information.

[0188] In some optional implementations, the screening module 1001 includes:

[0189] The first acquisition unit is used to acquire a node with a largest index number among multiple nodes of the storage system.

[0190] The first judgment unit is used to judge whether the node with the largest index number is a configuration node.

[0191] The first determining unit is configured to use the node with the largest index number as a service bearing node when the node with the largest index number is not a configuration node.

[0192] The first return execution unit is used to exclude the node with the largest index number when the node with the largest index number is a configuration node, filter out the node with the largest index number from the remaining nodes, and return to execute the step of determining whether the node with the largest index number is a configuration node.

[0193] In some optional implementations, the data asynchronous replication device further includes:

[0194] The second determining unit is configured to determine the node with the largest index number as a service bearing node when the node with the largest index number is a configuration node and there are no remaining nodes.

[0195] In some optional implementations, the data asynchronous replication device further includes:

[0196] The monitoring unit is used to perform online monitoring on multiple nodes of the storage system.

[0197] The third determining unit is configured to determine to stop asynchronous replication of data of the multiple nodes when at least one node among the multiple nodes of the storage system is offline.

[0198] The second return execution unit is used to screen out a new service bearing node from multiple nodes of the storage system, and return to execute the step of creating a timer on the service bearing node.

[0199] In some optional implementations, the data asynchronous replication device further includes:

[0200] The fourth determining unit is used to determine to stop asynchronous replication of data of multiple nodes when the configuration state is a stop state.

[0201] The fifth determining unit is used to delete the asynchronous replication relationship of multiple nodes when the configuration state is a deletion state.

[0202] In some optional implementations, the data asynchronous replication device further includes:

[0203] The first recording unit is used to record the data difference between the primary volume and the auxiliary volume corresponding to the primary volume using the first bitmap for any node among the multiple nodes when the data synchronization time of the data synchronization cycle has not been reached and the host writes data to the primary volume corresponding to the node.

[0204] The sixth determination unit is used to determine, for any bit in the first bitmap and based on a value corresponding to the bit, a difference state of a data block on the primary volume corresponding to the bit when a data synchronization time of the data synchronization period is reached.

[0205] The data synchronization unit is used to read the difference data in the data block from the primary volume when the difference state of the data block on the primary volume corresponding to the bit is changed, and synchronize the difference data to the auxiliary volume corresponding to the primary volume.

[0206] The clearing unit is used to clear the value corresponding to the bit in the first bit map.

[0207] The second recording unit is used for, for any data synchronization cycle, when the data synchronization time of the data synchronization cycle is reached and the data synchronization time of the next data synchronization cycle has not been reached, and the host writes data to the primary volume corresponding to the node, to record the data difference between the primary volume and the auxiliary volume corresponding to the primary volume using the second bitmap, so that when the data synchronization time of the next data synchronization cycle is reached, for any bit in the second bitmap, based on the value corresponding to the bit, the difference state of the data block on the primary volume corresponding to the bit is determined, and when the difference state of the data block on the primary volume corresponding to the bit is changed, the difference data in the data block is read from the primary volume, the difference data is synchronized to the auxiliary volume corresponding to the primary volume, and the value corresponding to the bit in the second bitmap is cleared.

[0208] In some optional implementations, the data asynchronous replication device further includes:

[0209] The seventh determining unit is used to use, for any data synchronization cycle, the first bitmap in the previous data synchronization cycle as the second bitmap of the data synchronization cycle, and the second bitmap in the previous data synchronization cycle as the first bitmap of the data synchronization cycle.

[0210] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.

[0211] The data asynchronous replication device in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.

[0212] The embodiment of the present invention also provides a computer device having the above Fig.10 The data shown is replicated asynchronously.

[0213] See also Fig.11 , Fig.11 is a schematic diagram of the structure of a computer device provided by an optional embodiment of the present invention, such as Fig.11 As shown, the computer device includes: one or more processors 1101, memory 1102, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Each component utilizes different buses to communicate with each other, and can be installed on a common mainboard or installed in other ways as required. The processor can process the instructions executed in the computer device, including instructions stored in the memory or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides part of the necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Fig.11 A processor 1101 is taken as an example.

[0214] The processor 1101 may be a central processing unit, a network processor or a combination thereof. The processor 1101 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable logic gate array, a general purpose array logic or any combination thereof.

[0215] The memory 1102 stores instructions executable by at least one processor 1101, so as to enable at least one processor 1101 to implement the method shown in the above embodiment.

[0216] The memory 1102 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 1102 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 1102 may optionally include a memory remotely arranged relative to the processor 1101, and these remote memories may be connected to the computer 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 combinations thereof.

[0217] The memory 1102 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 1102 may also include a combination of the above types of memory.

[0218] The computer device also includes a communication interface 1103, which is used for the computer device to communicate with other devices or a communication network.

[0219] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.

[0220] A part of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the existence of the computer program instruction in a computer-readable medium includes, but is not limited to, a source file, an executable file, an installation package file, etc., and accordingly, the way in which the computer program instruction is executed by the computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium may be any available computer-readable storage medium or communication medium accessible to the computer.

[0221] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations are all within the scope defined by the appended claims.

Claims

1. A data asynchronous replication method, characterized in that: The method comprises: Filtering a service bearing node from multiple nodes of the storage system, and creating a timer on the service bearing node; In response to the configuration operation of the asynchronous replication relationship, the configuration information of the asynchronous replication relationship is obtained, and the asynchronous replication relationship is configured for multiple nodes based on the configuration information; Based on the configuration information, determine the configuration status of the multiple nodes and the data synchronization period for the multiple nodes to perform asynchronous data replication; When the configuration state is the startup state, start a timer on the service bearer node, and determine whether a data synchronization time of the data synchronization cycle has arrived based on the timer; When the data synchronization time of the data synchronization cycle is reached, data synchronization information is published to multiple nodes through the service bearer node, so that the multiple nodes perform asynchronous data replication based on the data synchronization information.

2. The method according to claim 1, characterized in that: The step of selecting a service bearing node from a plurality of nodes of the storage system includes: Obtaining a node with the largest index number among multiple nodes of the storage system; Determine whether the node with the largest index number is a configuration node; In the case where the node with the largest index number is not a configuration node, using the node with the largest index number as the service bearing node; In the case that the node with the largest index number is a configuration node, the node with the largest index number is excluded, the node with the largest index number is screened out from the remaining nodes, and the step of determining whether the node with the largest index number is a configuration node is returned to be executed.

3. The method according to claim 2, characterized in that The method further comprises: When the node with the largest index number is a configuration node and there are no remaining nodes, the node with the largest index number is determined to be the service bearer node.

4. The method according to claim 1, characterized in that: The method further comprises: Online monitoring of multiple nodes in the storage system; When at least one node among the multiple nodes of the storage system is offline, determining to stop asynchronous replication of data of the multiple nodes; A new service bearing node is selected from multiple nodes of the storage system, and the process returns to execute the step of creating a timer on the service bearing node.

5. The method according to claim 1, characterized in that: The method further comprises: When the configuration state is a stopped state, determining to stop asynchronous replication of data of multiple nodes; When the configuration state is a deletion state, the asynchronous replication relationship of the multiple nodes is deleted.

6. The method according to claim 1, characterized in that The method further comprises: For any node among the multiple nodes, when the data synchronization time of the data synchronization cycle has not been reached and the host writes data to the primary volume corresponding to the node, the first bitmap is used to record the data difference between the primary volume and the secondary volume corresponding to the primary volume; When a data synchronization time of a data synchronization cycle is reached, for any bit in the first bitmap, based on a value corresponding to the bit, determining a difference state of a data block on the primary volume corresponding to the bit; When the difference state of the data block on the primary volume corresponding to the bit is changed, the difference data in the data block is read from the primary volume, and the difference data is synchronized to the secondary volume corresponding to the primary volume; Clear the value corresponding to the bit in the first bitmap; For any data synchronization cycle, when the data synchronization time of the data synchronization cycle is reached and the data synchronization time of the next data synchronization cycle has not been reached, and the host writes data to the primary volume corresponding to the node, the second bitmap is used to record the data difference between the primary volume and the auxiliary volume corresponding to the primary volume, so that when the data synchronization time of the next data synchronization cycle is reached, for any bit in the second bitmap, based on the value corresponding to the bit, the difference status of the data block on the primary volume corresponding to the bit is determined, and when the difference status of the data block on the primary volume corresponding to the bit is changed, the difference data in the data block is read from the primary volume, the difference data is synchronized to the auxiliary volume corresponding to the primary volume, and the value corresponding to the bit in the second bitmap is cleared.

7. The method according to claim 1, characterized in that The method further comprises: For any data synchronization cycle, the first bitmap in the previous data synchronization cycle is used as the second bitmap of the data synchronization cycle, and the second bitmap in the previous data synchronization cycle is used as the first bitmap of the data synchronization cycle.

8. A data asynchronous replication device, characterized in that: The device comprises: A screening module, used to screen out a service bearing node from a plurality of nodes of the storage system, and create a timer on the service bearing node; An acquisition module, configured to acquire configuration information of the asynchronous replication relationship in response to a configuration operation of the asynchronous replication relationship, and perform asynchronous replication relationship configuration on multiple nodes based on the configuration information; A determination module, used to determine the configuration status of multiple nodes and a data synchronization period for asynchronous data replication of multiple nodes based on the configuration information; A starting module, configured to start a timer on the service bearer node when the configuration state is the starting state, and determine whether a data synchronization moment of the data synchronization cycle has arrived based on the timer; The publishing module is used to publish data synchronization information to multiple nodes through the service bearing node when the data synchronization moment of the data synchronization cycle is reached, so that the multiple nodes perform data asynchronous replication based on the data synchronization information.

9. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the data asynchronous replication method according to any one of claims 1 to 7 by executing the computer instructions.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the data asynchronous replication method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Self-adaptive asynchronous replication method, device and equipment

    CN113868331A

  • Periodic asynchronous replication method and device and storage medium

    CN116414623A

  • User snapshot synchronization method and device based on periodic asynchronous remote replication relationship

    CN118170716A

  • Efficient migration between asynchronous data replication technologies

    US20190188310A1

  • Methods and systems to reduce latency of input / output (i / o) operations based on consistency point optimizations during creation of common snapshots for synchronous replicated datasets of a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system

    US20240143447A1