Method, device, storage medium and electronic device for synchronizing stored data
By detecting the node interconnection view and link status, only the target storage volume configuration data related to the change is synchronized. Using a parallel transmission method, the problem of low storage data synchronization efficiency is solved, synchronization efficiency is improved, and host silent time is reduced to ensure business continuity.
Patent Information
- Application Number
- CN202411204303.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-29
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2044-08-29
AI Technical Summary
The efficiency of storage data synchronization in the prior art is low, resulting in long I/O silence time of the host device and frequent restarts.
By detecting the node interconnection view update status and link connection status of the storage cluster, only the configuration data of the target storage volume associated with the change is synchronized, and a parallel transmission method is used to reduce the amount of synchronized data.
Improves the efficiency of storage data synchronization, reduces host device I/O quiet time, prevents restarts, optimizes the management of remote replication links, and ensures business continuity.
Smart Images

Figure CN119088307B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of computers, and more specifically, to a method, device, storage medium, and electronic device for synchronizing stored data. Background Art
[0002] In order to prevent large-scale data disasters, multi-point disaster recovery has gradually become one of the development directions in the disaster recovery field, that is, storing business data on each node in the data center. At present, in order to maintain the consistency of data of each node in the data center, when the node interconnection view changes, the configuration data needs to be synchronized to all nodes. When synchronizing the configuration data, the host device I / O (Input / Output) needs to be silent. Since the full amount of business data is stored on each node, a large amount of configuration data needs to be synchronized to each node, which increases the remote replication latency and causes the host device I / O to be silent for too long and restart.
[0003] In view of the low efficiency of storage data synchronization and other problems in related technologies, no effective solutions have been proposed yet. Summary of the Invention
[0004] The embodiments of the present application provide a method, apparatus, storage medium, and electronic device for synchronizing stored data, so as to at least solve the problem of low efficiency of synchronization of stored data in related technologies.
[0005] According to one embodiment of the present application, a method for synchronizing stored data is provided. A data center for a target business includes: a first storage cluster and a second storage cluster with a first link established. A data production node and a first disaster recovery node with a second link established are deployed in the first storage cluster. A second disaster recovery node is deployed in the second storage cluster. The data production node is used to connect to a business device of the target business, and the business device is used to use the data center to store business data of the target business. The method includes:
[0006] Detecting, by the data production node, an update status of a node interconnection view of the first storage cluster, wherein the update status is used to indicate whether the node interconnection view has been updated;
[0007] In a case where it is detected that the update status indicates that the node interconnection view has been updated, detecting, by the data production node, a connection status of the first link, wherein the connection status indicates whether a change has occurred on the first link;
[0008] When detecting that the connection state indicates that a change has occurred on the first link, searching, by the data production node, from storage volumes stored on the data production node, for a target storage volume associated with the change that has occurred on the first link;
[0009] The configuration data of the target storage volume is synchronized to nodes in the first storage cluster through the data production node.
[0010] In an exemplary embodiment, the detecting the connection status of the first link through the data production node includes: detecting the link status of the first link, wherein the link status includes a disconnected state and a connected state; when the link status of the first link is the disconnected state, determining that the connection status is detected to indicate that a change has occurred on the first link; when the link status of the first link is the connected state, detecting whether a reconnection event has occurred on the first link, wherein the reconnection event is used to indicate that the links have been reconnected; when a reconnection event is detected on the first link, determining that the connection status is detected to indicate that a change has occurred on the first link.
[0011] In an exemplary embodiment, searching, through the data production node, for a target storage volume associated with a change occurring on the first link from among the storage volumes stored on the data production node, includes: detecting a synchronization attribute of each storage volume stored on the data production node, wherein the synchronization attribute is used to indicate whether the corresponding storage volume is allowed to be synchronized to the second storage cluster via the first link; searching, based on the synchronization attribute, for a storage volume that is allowed to be synchronized to the second storage cluster via the first link from among the storage volumes stored on the data production node; and determining the storage volume that is allowed to be synchronized to the second storage cluster via the first link as the target storage volume associated with the change occurring on the first link.
[0012] In an exemplary embodiment, the detecting of the synchronization attributes of each storage volume stored on the data production node includes: detecting whether the business data stored in each storage volume stored on the data production node is allowed to be synchronized to the second storage cluster through the first link; in the case where it is detected that the business data stored in the storage volume is allowed to be synchronized to the second storage cluster through the first link, determining the synchronization attributes of the storage volume to indicate that the storage volume is allowed to be synchronized to the second storage cluster through the first link; in the case where it is detected that the business data stored in the storage volume is not allowed to be synchronized to the second storage cluster through the first link, determining the synchronization attributes of the storage volume to indicate that the storage volume is not allowed to be synchronized to the second storage cluster through the first link.
[0013] In an exemplary embodiment, synchronizing the configuration data of the target storage volume to the nodes in the first storage cluster through the data production node includes: obtaining the configuration data of the target storage volume; encapsulating the configuration data into a target data packet; dividing the target data packet into N data packet slices, where N is an integer greater than 1; and transmitting the N data packet slices in parallel to the nodes in the first storage cluster, wherein the nodes in the first storage cluster are used to parse the N data packet slices upon receiving the N data packet slices to obtain the configuration data corresponding to the N data packet slices and use the configuration data to update the configuration data in the first storage cluster.
[0014] In an exemplary embodiment, encapsulating the configuration data into a target data packet includes: splitting the configuration data into multiple initial structure units; converting the multiple initial structure units into target structure units according to a target format to obtain multiple target structure units, wherein the target format is a format allowed for transmitting the configuration data; integrating the multiple target structure units into a data structure to obtain a target data structure; and compressing the target data structure to obtain the target data packet.
[0015] In an exemplary embodiment, a first counter and a second counter are deployed on the second link; before detecting the update status of the node interconnection view of the first storage cluster through the data production node, the method further includes: detecting whether a transmission abnormality occurs in the second link in the current cycle, wherein the transmission abnormality includes a first abnormality caused by failure to execute a command request due to timeout and a second abnormality caused by failure to complete an input / output operation due to timeout; when the first abnormality is detected to have occurred in the second link, recording the occurrence of the first abnormality in the second link in the current cycle through the first counter; counting a first frequency of the occurrence of the first abnormality in the second link through the first counter; when the first frequency is greater than or equal to a first frequency threshold, disconnecting the second link between the data production node and the first disaster recovery node; when the second abnormality is detected to have occurred in the second link, recording the occurrence of the second abnormality in the second link in the current cycle through the second counter; counting a second frequency of the occurrence of the second abnormality in the second link through the second counter; when the second frequency is greater than or equal to a second frequency threshold, disconnecting the second link between the data production node and the first disaster recovery node.
[0016] According to another embodiment of the present application, a device for synchronizing stored data is provided. A data center for a target business includes: a first storage cluster and a second storage cluster with a first link established. A data production node and a first disaster recovery node with a second link established are deployed in the first storage cluster. A second disaster recovery node is deployed in the second storage cluster. The data production node is used to connect to a business device of the target business. The business device is used to use the data center to store business data of the target business. The device includes:
[0017] a first detection module, configured to detect, through the data production node, an update status of a node interconnection view of the first storage cluster, wherein the update status is used to indicate whether the node interconnection view has been updated;
[0018] a second detection module configured to, upon detecting that the update status indicates that the node interconnection view has been updated, detect a connection status of the first link through the data production node, wherein the connection status indicates whether a change has occurred on the first link;
[0019] a search module configured to, when detecting that the connection status indicates that a change has occurred on the first link, search, through the data production node, from the storage volumes stored on the data production node for a target storage volume associated with the change that has occurred on the first link;
[0020] A synchronization module is used to synchronize the configuration data of the target storage volume to the nodes in the first storage cluster through the data production node.
[0021] 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.
[0022] 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.
[0023] According to another embodiment of the present application, a computer program product is provided, including a computer program, which implements the steps of any of the above method embodiments when executed by a processor.
[0024] Through the present application, the update status of the node interconnection view of the first storage cluster is detected by the data production node, wherein the update status is used to indicate whether the node interconnection view has been updated; when it is detected that the update status is used to indicate that the node interconnection view has been updated, the connection status of the first link is detected by the data production node, wherein the connection status is used to indicate whether a change has occurred on the first link; when it is detected that the connection status is used to indicate that a change has occurred on the first link, the target storage volume that has an association with the change that has occurred on the first link is searched from the storage volume stored on the data production node by the data production node; and the configuration data of the target storage volume is synchronized to the nodes in the first storage cluster by the data production node. That is to say, when the node interconnection view is updated, only the configuration data of the target storage volume that has an association with the change that has occurred on the first link is synchronized, which reduces the amount of synchronized configuration data and reduces the restart of the host device due to the long I / O silence time caused by the increase in remote replication latency. Therefore, the problem of low efficiency of storage data synchronization can be solved, and the effect of improving the efficiency of storage data synchronization can be achieved. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Figure 1 This is a hardware structure block diagram of a server device for a method for synchronizing stored data according to an embodiment of the present application;
[0026] Figure 2 is a flowchart of a method for synchronizing stored data according to an embodiment of the present application;
[0027] Figure 3is a schematic diagram of a data center according to an embodiment of the present application;
[0028] Figure 4 This is a schematic diagram of an update of a node interconnection view of a data center according to an embodiment of the present application;
[0029] Figure 5 is a schematic diagram of a counting method of a first counter and a second counter according to an embodiment of the present application;
[0030] Figure 6 is a schematic diagram of a working process of a data center according to an embodiment of the present application;
[0031] Figure 7 is a structural block diagram of a device for synchronizing stored data according to an embodiment of the present application;
[0032] Figure 8 This is a structural block diagram of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION
[0033] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0034] 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.
[0035] 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 diagram of a server device for a method of synchronizing stored data 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.
[0036] 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 method for synchronizing stored data 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, implementing 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 combinations thereof.
[0037] 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.
[0038] In this embodiment, a method for synchronizing stored data is provided. A data center of a target business includes: a first storage cluster and a second storage cluster having a first link established therewith; a data production node and a first disaster recovery node having a second link established therewith are deployed in the first storage cluster; a second disaster recovery node is deployed in the second storage cluster; the data production node is used to connect to a business device of the target business; and the business device is used to use the data center to store business data of the target business. Figure 2 is a flowchart of a method for synchronizing stored data according to an embodiment of the present application. Figure 2 As shown, the process includes the following steps:
[0039] Step S202: detecting, by the data production node, an update status of the node interconnection view of the first storage cluster, wherein the update status is used to indicate whether the node interconnection view has been updated;
[0040] Step S204: When it is detected that the update status indicates that the node interconnection view has been updated, the data production node detects the connection status of the first link, wherein the connection status indicates whether a change has occurred on the first link.
[0041] Step S206: When it is detected that the connection status indicates that a change has occurred on the first link, searching, by the data production node, from the storage volumes stored on the data production node, for a target storage volume associated with the change that has occurred on the first link;
[0042] Step S208: Synchronize the configuration data of the target storage volume to the nodes in the first storage cluster through the data production node.
[0043] Through the above steps, the update status of the node interconnection view of the first storage cluster is detected by the data production node, wherein the update status is used to indicate whether the node interconnection view has been updated; when it is detected that the update status is used to indicate that the node interconnection view has been updated, the connection status of the first link is detected by the data production node, wherein the connection status is used to indicate whether a change has occurred on the first link; when it is detected that the connection status is used to indicate that a change has occurred on the first link, the target storage volume associated with the change on the first link is searched from the storage volume stored on the data production node by the data production node; and the configuration data of the target storage volume is synchronized to the nodes in the first storage cluster by the data production node. That is, when the node interconnection view is updated, only the configuration data of the target storage volume associated with the change on the first link is synchronized, which reduces the amount of synchronized configuration data and reduces the restart of the host device due to the long I / O silence time caused by the increase in remote replication latency. Therefore, the problem of low efficiency of storage data synchronization can be solved, and the efficiency of storage data synchronization can be improved.
[0044] Optionally, in this embodiment, the storage data synchronization method proposed in this application is used in a wide range of scenarios, including but not limited to: 3DC (Data Centers), 2DC, distributed storage systems, etc. In the following embodiments, the above-mentioned storage data synchronization method can be described using, but not limited to, the application in the 3DC scenario as an example, but the usage scenario is not limited. Any scenario that uses multiple disaster recovery nodes to store business data can use the storage data synchronization method proposed in this application.
[0045] Optionally, in this embodiment, the first storage cluster includes a data production node and a first disaster recovery node. The data production node is connected to the business equipment of the target business and is connected to the first disaster recovery node through a second link. The first disaster recovery node is connected to the second disaster recovery node in the second storage cluster through the first link.
[0046] Optionally, in this embodiment, the first disaster recovery node may be deployed at a location close to the data production node, for example, within 40 kilometers of the data production node. An optical fiber may be used as the second link to connect the data production node and the first disaster recovery node, or other links suitable for short-distance data transmission may be used as the second link.
[0047] Optionally, in this embodiment, the second storage cluster can be deployed at a location remote from the first storage cluster, for example, more than 1,000 kilometers away. Data can be transmitted between the first and second storage clusters using, but not limited to, an IP remote replication link. Alternatively, other links suitable for long-distance data transmission can be used as the first link. The second storage cluster can be deployed with, but not limited to, one or more secondary disaster recovery nodes for remotely storing service data.
[0048] In one exemplary embodiment, an example of a data center is provided. Figure 3 is a schematic diagram of a data center according to an embodiment of the present application, such as Figure 3 As shown in the figure, the business equipment is the front-end host, the first storage cluster is Cluster A, the second storage cluster is Cluster B, the data production node is the production center deployed in Cluster A, the first disaster recovery node is the local disaster recovery center deployed in Cluster A, and the second disaster recovery node is the remote disaster recovery center deployed in Cluster B. Cluster B is deployed more than 1000 kilometers away from Cluster A and transmits data via IP remote replication links. The production center in Cluster A is connected to the front-end host, and the local disaster recovery center is deployed within 40 kilometers of the production center and transmits data via FC (Fiber Channel) optical fibers.
[0049] Controllers 1 and 2 are deployed in the production center. Controller 2 can be used as a backup device for Controller 1, but is not limited to using it. Controllers 3 and 4 are deployed in the first disaster recovery node. Controller 4 can be used as a backup device for Controller 3, but is not limited to using it. Controllers 1 and 2 are deployed in the second disaster recovery node. Controller 2 can be used as a backup device for Controller 1, but is not limited to using it.
[0050] Since the remote disaster recovery center is far away from cluster A and there are many communication links, the data transmission process of the remote disaster recovery center is subject to signal attenuation, noise interference, etc., and the communication quality and reliability become restrictive factors affecting the data center. In the storage data synchronization method proposed in this application, since only the configuration data of the target storage volume is synchronized, the host I / O silent time caused by the data synchronization operation is reduced, thereby reducing the impact on business performance, optimizing the management of the remote replication link, ensuring that the business can be quickly restored in the event of a failure, and enhancing business continuity.
[0051] In the technical solution provided in the above step S202, in the storage system, the reasons for updating the node interconnection view may include but are not limited to: when a new node joins the cluster or an existing node exits, the view needs to be updated to reflect the new status of the cluster members; when the first link is disconnected or reconnected, the view needs to be updated; when the role of the node in the cluster changes (for example, the master node fails over to the backup node), the view needs to be updated; when a storage volume is added, deleted or the attributes are modified, such as capacity, performance parameters, etc., the view is updated to reflect the new status of the resource; during data replication or synchronization, if the synchronization status changes, the view is updated, etc.
[0052] Optionally, in this embodiment, the data production node can detect whether the node interconnection view has been updated in a variety of ways, but is not limited to: the data production node uses a specific management protocol to exchange status information and configuration updates to identify view changes, the data production node can be used to detect node status changes, including node joining and exiting, through periodic heartbeat signals, the data production node uses configuration management tools to monitor and manage system configuration, these tools can detect configuration changes and report view updates to the data production node, the data production node uses an API (Application Programming Interface) or script interface, the automated system queries the cluster status and detects view changes, etc.
[0053] In an exemplary embodiment, an example of updating a node interconnection view of a data center is provided. Figure 4 is a schematic diagram of an update of a node interconnection view of a data center according to an embodiment of the present application, such as Figure 4As shown, taking the business equipment as the front-end host, the first storage cluster as cluster A, the second storage cluster as cluster B, the data production node as the production center deployed in cluster A, the first disaster recovery node as the same-city disaster recovery center deployed in cluster A, and the second disaster recovery node as the remote disaster recovery center deployed in cluster B as an example, when the remote replication link between cluster A and cluster B is disconnected, the view of cluster A is changed. In the storage data synchronization method proposed in this application, the configuration data to be synchronized is serially synchronized to each controller, reducing the front-end host I / O blocking caused by maintaining I / O silence during configuration data transmission, thereby causing the transmission to take too long and resulting in the front-end host timeout and restart.
[0054] It should be noted that the present application can be, but is not limited to, testing the data center in the relevant technology (for example: simulation testing, building the same equipment environment as the on-site. Setting a signal simulator in the IP link, adding a simulated delay, setting the packet loss rate, retransmitting the data packet, and actively disconnecting the remote replication link when the CL layer protocol command times out, and then the storage system IO is silent when the remote replication link is disconnected and reconnected. After repeated debugging, the problem phenomenon is reproduced. According to the debugging log, the root cause is located layer by layer: when the remote replication link between clusters is disconnected and reconnected, the TM module is triggered to update the node interconnection view. At this time, the RC module initiates a disconnect action, synchronizes the configuration data between the cluster nodes, and sends the data of all instances (without distinguishing between valid data and invalid data). 32KB data packets are used for serial transmission, the link quality is poor, the latency is high, and the transmission is slow. Keeping IO silent during the configuration data transmission causes the host IO to be blocked, and the host timeout restarts due to the long transmission time). Analysis shows that the cause of the front-end host timeout restart is: keeping I / O silent during the configuration data transmission causes the front-end host I / O to be blocked, resulting in the front-end host timeout restart.
[0055] Furthermore, based on the conclusion obtained through testing that the front-end host I / O is blocked due to I / O silence during the configuration data transmission, resulting in a front-end host timeout restart, improvements can be made to the data center in the related art, namely, by reducing the business data to be synchronized (filtering the remote replication volume), reducing the configuration data of the storage volume to be synchronized, and adopting a parallel synchronization method to reduce the time spent on synchronizing the configuration data of the storage volume, thereby preventing the front-end host I / O from being blocked due to I / O silence during the configuration data transmission, resulting in a front-end host timeout restart. In addition, the first counter and the second counter are used to count the number of errors that occur, and instead of restarting immediately upon timeout, the front-end host is counted periodically, thereby improving the robustness of the front-end host in the face of abnormal situations.
[0056] In the technical solution provided in step S204 above, the changes allowed to occur on the first link may include, but are not limited to, disconnection of the first link, reconnection of the first link after disconnection, etc. Upon detecting one of the above changes on the first link, determining that the connection state of the first link has been detected is used to indicate that a change has occurred on the first link may be, but is not limited to, when one of the above changes is detected on the first link.
[0057] In an exemplary embodiment, the connection status of the first link can be detected by the data production node in the following manner, but is not limited to: detecting the link status of the first link, wherein the link status includes a disconnected state and a connected state; when the link status of the first link is the disconnected state, determining that the connection status is detected to indicate that a change has occurred on the first link; when the link status of the first link is the connected state, detecting whether a reconnection event has occurred on the first link, wherein the reconnection event is used to indicate that the links have been reconnected; when a reconnection event is detected on the first link, determining that the connection status is detected to indicate that a change has occurred on the first link.
[0058] Optionally, in this embodiment, it is possible but not limited to first detecting whether the first link is in a disconnected state. When the first link is detected to be in a disconnected state, it is determined that a change has been detected on the first link. When the first link is not detected to be in a disconnected state, it is continued to detect whether a reconnection event has occurred on the first link. When a reconnection event is detected to have occurred on the first link, it is determined that the detected connection state is used to indicate that a change has occurred on the first link. When the reconnection event is not detected to have occurred on the first link, it is determined that the detected connection state is used to indicate that no change has occurred on the first link.
[0059] In the technical solution provided in the above step S206, the storage volume to be synchronized from the data production node to the second disaster recovery node can be determined as, but is not limited to, a target storage volume associated with the change occurring on the first link.
[0060] Optionally, in this embodiment, it is possible but not limited to define which business data needs to be synchronized to the second storage cluster based on the business needs of the target business and the system architecture of the data center. When a connection status is detected to indicate that a change has occurred on the first link, the business data that needs to be synchronized to the second storage cluster is extracted from the storage volumes stored on the data production node. The storage volumes whose business data has changed and the storage volumes whose configuration data has changed are identified from the business data that needs to be synchronized to the second storage cluster, and these storage volumes are determined as target storage volumes that have an associated relationship with the changes that have occurred on the first link.
[0061] In an exemplary embodiment, the target storage volume associated with the change occurring on the first link can be searched from the storage volumes stored on the data production node by the data production node in the following manner, but is not limited to: detecting the synchronization attribute of each storage volume stored on the data production node, wherein the synchronization attribute is used to indicate whether the corresponding storage volume is allowed to be synchronized to the second storage cluster through the first link; searching for the storage volume allowed to be synchronized to the second storage cluster through the first link from the storage volumes stored on the data production node according to the synchronization attribute; and determining the storage volume allowed to be synchronized to the second storage cluster through the first link as the target storage volume associated with the change occurring on the first link.
[0062] Optionally, in this embodiment, the synchronization attribute of the storage volume can be determined based on, but not limited to, whether the storage volume is allowed to be synchronized to the second storage cluster. For example: in the case where the synchronization attribute of the storage volume is determined by allowing the storage volume to be synchronized to the second storage cluster, the synchronization attribute is determined to be allowing the storage volume to be synchronized to the second storage cluster; in the case where the synchronization attribute of the storage volume is determined by not allowing the storage volume to be synchronized to the second storage cluster, the synchronization attribute is determined to be not allowing the storage volume to be synchronized to the second storage cluster, etc.
[0063] In an exemplary embodiment, the synchronization attributes of each storage volume stored on the data production node can be detected in the following manner, but is not limited to: detecting whether the business data stored in each storage volume stored on the data production node is allowed to be synchronized to the second storage cluster through the first link; in the case where it is detected that the business data stored in the storage volume is allowed to be synchronized to the second storage cluster through the first link, determining the synchronization attributes of the storage volume to indicate that the storage volume is allowed to be synchronized to the second storage cluster through the first link; in the case where it is detected that the business data stored in the storage volume is not allowed to be synchronized to the second storage cluster through the first link, determining the synchronization attributes of the storage volume to indicate that the storage volume is not allowed to be synchronized to the second storage cluster through the first link.
[0064] Optionally, in this embodiment, the data type of the business data to be synchronized to the second storage cluster can be pre-set but is not limited to. When the data production node transmits business data to the first disaster recovery node, the first disaster recovery node detects the data type of the business data and determines whether it needs to be synchronized to the second storage cluster based on the data type.
[0065] In the technical solution provided in step S208 above, the configuration data of the target storage volume may be synchronized to the nodes in the first storage cluster in a serial transmission manner, but is not limited thereto. For example, the configuration data of each target storage volume may be transmitted to each node in the first storage cluster in sequence. That is, after the configuration data of the current target storage volume is transmitted to each node in the first storage cluster, the configuration data of the next target storage volume is transmitted.
[0066] Alternatively, the configuration data of the target storage volume is synchronized to the nodes in the first storage cluster in a parallel transmission manner, and the configuration data of multiple target storage volumes are transmitted in parallel to each node in the first storage cluster. For example, taking the configuration data including configuration data A, configuration data B, configuration data C and configuration data D as an example, configuration data A and configuration data B are transmitted in parallel. If the transmission of configuration data A and configuration data B is completed within the current transmission cycle, configuration data C and configuration data D are continued to be transmitted; if the transmission of configuration data A is not completed within the current transmission cycle, configuration data A and configuration data C are continued to be transmitted, etc.;
[0067] Alternatively, the configuration data of the target storage volume can be synchronized to the nodes in the first storage cluster through serial and parallel collaboration. The transmission method used can be determined based on, but not limited to, the transmission parameters of the current data production node. For example: when the transmission parameter is greater than or equal to the first transmission threshold, the current data production node is considered to have a high transmission efficiency, and a parallel transmission method is used. The amount of configuration data transmitted in parallel is determined based on the transmission parameter, and the transmission parameter is positively correlated with the data amount; when the transmission parameter is less than the first transmission threshold and greater than or equal to the second transmission threshold, the current data production node is considered to have a medium transmission efficiency, and serial transmission and parallel transmission methods are periodically used. The amount of configuration data transmitted in parallel is determined based on the transmission parameter, and the transmission parameter is positively correlated with the data amount; when the transmission parameter is less than the second transmission threshold, the current data production node is considered to have a poor transmission efficiency, and a serial transmission method is used.
[0068] In an exemplary embodiment, the configuration data of the target storage volume can be synchronized to the nodes in the first storage cluster through the data production node in the following manner, but is not limited to: obtaining the configuration data of the target storage volume; encapsulating the configuration data into a target data packet; dividing the target data packet into N data packet slices, where N is an integer greater than 1; transmitting the N data packet slices in parallel to the nodes in the first storage cluster, wherein the nodes in the first storage cluster are used to parse the N data packet slices upon receiving the N data packet slices to obtain the configuration data corresponding to the N data packet slices and use the configuration data to update the configuration data in the first storage cluster.
[0069] Optionally, in this embodiment, the configuration data of the target storage volume can be obtained and the configuration data can be encapsulated into a target data packet in the following manner, but not limited to: obtaining the volume ID, size, permissions, replication status and other attributes of the target storage volume; abstracting the extracted attributes into data structures such as classes, structures or dictionaries; creating instances according to the defined structural unit template, filling in specific attribute values to obtain the structural unit of each target storage volume, wherein the structural unit template is a predefined key information containing the target storage volume; encapsulating each structural unit into an independent data packet; integrating all structural unit instances into a data set, such as: a list, array or other data structure; compressing the integrated data set to reduce the amount of transmitted data; adding necessary metadata to the data set, such as timestamp, version number, synchronization batch, etc., to obtain the target data packet.
[0070] In an exemplary embodiment, the configuration data can be encapsulated into a target data packet in the following manner, but is not limited to: splitting the configuration data into multiple initial structure units; converting the multiple initial structure units into target structure units according to a target format to obtain multiple target structure units, wherein the target format is a format allowed for transmitting the configuration data; integrating the multiple target structure units into a data structure to obtain a target data structure; and compressing the target data structure to obtain the target data packet.
[0071] Optionally, in this embodiment, the storage volumes in the first storage cluster may be divided into, but not limited to, local replication volumes, active-active volumes, remote replication volumes, and thin volumes for executing different storage services. Because the disconnection and reconnection of the first link only affect the remote replication volumes and have no impact on the local replication volumes, active-active volumes, compressed volumes, and thin volumes in the production center, the remote replication volumes are determined as the target storage volumes.
[0072] Optionally, in this embodiment, when the first link is disconnected or reconnected, it will cause the cluster node view to change (including the view formed by all connected nodes). In order to maintain the data consistency of each node in the data center, when the node view changes, the configuration data (volume data changes and other configurations) can be synchronized to all nodes through the RC module, but is not limited to.
[0073] Optionally, in this embodiment, when N data packet slices are obtained, it is no longer necessary to wait for each packet (32k) to be successfully delivered before transmitting the next one. Instead, the entire packet memory slice is sent in parallel to improve transmission efficiency, and a success flag is returned after all reception is completed.
[0074] In an exemplary embodiment, a first counter and a second counter are deployed on the second link; before the update status of the node interconnection view of the first storage cluster is detected by the data production node, whether to disconnect the second link between the data production node and the first disaster recovery node can be determined in the following manner, but is not limited to: detecting whether a transmission abnormality occurs in the second link in the current cycle, wherein the transmission abnormality includes a first abnormality caused by failure to execute a command request due to timeout and a second abnormality caused by failure to complete an input or output operation due to timeout; when the first abnormality is detected in the second link, recording the occurrence of the first abnormality in the second link in the current cycle through the first counter; counting a first frequency of the occurrence of the first abnormality in the second link through the first counter; when the first frequency is greater than or equal to a first frequency threshold, disconnecting the second link between the data production node and the first disaster recovery node; when the second abnormality is detected in the second link, recording the occurrence of the second abnormality in the second link in the current cycle through the second counter; counting a second frequency of the occurrence of the second abnormality in the second link through the second counter; when the second frequency is greater than or equal to a second frequency threshold, disconnecting the second link between the data production node and the first disaster recovery node.
[0075] In an exemplary embodiment, an example of a counting method of a first counter and a second counter is provided. Figure 5 is a schematic diagram of a counting method of a first counter and a second counter according to an embodiment of the present application, such as Figure 5 As shown, taking cluster A as the first storage cluster and cluster B as the second storage cluster as an example, cluster A being the CL initiator and cluster B being the CL responder, the first counter is used to record a first exception caused by a timeout and failure to execute a command request in the second link during the current cycle. The first exception may be considered to have occurred in the second link in, but is not limited to, the following circumstances:
[0076] The first exception (IO full process timeout) refers to the total length of time it takes for an IO request to be sent from the CL module initiator, transmitted over the link, and then delivered to the peer node. The peer node's response (status or data + status) is then transmitted over the link and finally delivered to the local CL module initiator. If the entire IO process takes too long, it naturally indicates poor communication performance, as there is an upper limit on the number of concurrent IO requests, which affects IO concurrency.
[0077] According to the formula: Protocol Command Timeout (CMD_TIMEOUT) = Link Transmission Time + Maximum Response Scheduling Time + Idle Wait + Detection Period + IO Return Scheduling Time, we can know that Protocol Command Timeout = (2000 + 400) + 800 + 800 + 400 + 800 = 5200 milliseconds, and the full IO process timeout threshold is 5.2s.
[0078] That is, within a cycle, if the execution time of an IO request exceeds 5.2s, a timeout error is considered to have occurred. The first counter +1 discards the timed-out protocol command. If the above situation occurs in each consecutive detection cycle, the count is increased by 1. When the cumulative count reaches 5 (the first frequency threshold), the link is disconnected and the count is reset to 0. If the cumulative count reaches the target number (for example: 3) and no timeout occurs in the next cycle, the count is reduced by 1 until it reaches 0.
[0079] The second counter is used to record a second exception caused by an incomplete input / output operation due to a timeout in the second link during the current cycle. The second exception may be considered to have occurred in the second link in, but is not limited to, the following circumstances:
[0080] The second exception (protocol command interval timeout) refers to the maximum time interval between two I / O requests received by the CL module responder. Protocol command timeout detects communication link anomalies such as congestion or timeouts on the initiator, while protocol command interval timeout detects congestion, timeouts, and other anomalies on the responder.
[0081] According to the formula: protocol command interval timeout (COMPLETION_TIMEOUT) = protocol command timeout + maximum time consumption of new command response scheduling, it can be known that protocol command interval timeout = CMD_TIMEOUT + 800 = 600 milliseconds, and the protocol command interval timeout threshold is 6 seconds.
[0082] That is to say, within a cycle, if the maximum time interval between receiving two IO requests exceeds 6 seconds, it is considered that a timeout error has occurred, and the second counter +1 discards the protocol command that has timed out. If the above situation occurs in each consecutive detection cycle, the count is increased by 1. When the cumulative count reaches 5 (the second frequency threshold), the link is disconnected and the count is reset to 0. If the cumulative count reaches the target number (for example: 3) and no timeout occurs in the next cycle, the count is reduced by 1 until it reaches 0.
[0083] The above process improves the CL module's tolerance for abnormal situations. Ordinary protocol command timeouts or idle timeouts no longer directly disconnect the link. Instead, continuous timeouts occur within a certain time range, and then the link is actively disconnected and reset. This reduces the number of changes in the first link, and subsequently reduces the number of updates to the node interconnection view of the first storage cluster.
[0084] Optionally, in this embodiment, in order to better understand the process of synchronizing the above-mentioned stored data in the method for synchronizing stored data proposed in this application, the above-mentioned process is described below in conjunction with an optional embodiment, but is not used to limit the technical solution of the embodiment of this application.
[0085] In an exemplary embodiment, an example of a working process of a data center is provided. Figure 6 is a schematic diagram of a working process of a data center according to an embodiment of the present application, such as Figure 6 As shown, taking the first storage cluster as cluster A, the second storage cluster as cluster B, the data production node as the production center deployed in cluster A, the first disaster recovery node as the disaster recovery center in the same city deployed in cluster A, and the second disaster recovery node as the off-site disaster recovery center deployed in cluster B as an example, the business data in the production center is stored as local copy volumes, active-active volumes, remote copy volumes and thin volumes respectively, the local copy volumes, active-active volumes, remote copy volumes and thin volumes are stored in the disaster recovery center in the same city, and the remote copy volumes are selected to be stored in the off-site disaster recovery center. When it is detected that the node interconnection view has been updated and there are changes on the first link, the remote copy volume is determined as the target storage volume, and the configuration data of the remote copy volume is obtained, and the configuration data is concurrently synchronized to the disaster recovery center in the same city.
[0086] Through the storage data synchronization method proposed in this application, by improving the abnormal tolerance of the CL module, ordinary protocol command timeout or idle timeout no longer directly disconnects the link. Instead, when timeouts occur continuously within a certain time range, the link is actively disconnected and reset, thereby improving the robustness of the first link in the face of abnormal situations; by reducing the scale of configuration data for synchronous transmission and adjusting the synchronization mode from serial to parallel, the synchronization efficiency of the configuration data is improved.
[0087] 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 relevant technology, 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 method described in each embodiment of the present application.
[0088] In this embodiment, a synchronization device for storing data is also provided, and the data center of the target business includes: a first storage cluster and a second storage cluster with a first link established, a data production node and a first disaster recovery node with a second link established are deployed in the first storage cluster, and a second disaster recovery node is deployed in the second storage cluster, the data production node is used to connect to the business equipment of the target business, and the business equipment is used to use the data center to store the business data of the target business. The device is used to implement the above-mentioned embodiments and preferred implementation methods, and those that have been explained will not be repeated. As used below, the term "module" can implement 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, implementation in hardware, or a combination of software and hardware is also possible and conceived.
[0089] Figure 7 is a structural block diagram of a synchronization device for storing data according to an embodiment of the present application, such as Figure 7 As shown, the device includes:
[0090] A first detection module 72 is configured to detect, through the data production node, an update status of a node interconnection view of the first storage cluster, wherein the update status is used to indicate whether the node interconnection view has been updated;
[0091] A second detection module 74 is configured to, upon detecting that the update status indicates that the node interconnection view has been updated, detect a connection status of the first link through the data production node, wherein the connection status indicates whether a change has occurred on the first link;
[0092] a search module 76 configured to, when detecting that the connection status indicates that a change has occurred on the first link, search, through the data production node, from the storage volumes stored on the data production node for a target storage volume associated with the change that has occurred on the first link;
[0093] The synchronization module 78 is configured to synchronize the configuration data of the target storage volume to the nodes in the first storage cluster through the data production node.
[0094] Through the above-mentioned device, the update status of the node interconnection view of the first storage cluster is detected by the data production node, wherein the update status is used to indicate whether the node interconnection view has been updated; when it is detected that the update status is used to indicate that the node interconnection view has been updated, the connection status of the first link is detected by the data production node, wherein the connection status is used to indicate whether a change has occurred on the first link; when it is detected that the connection status is used to indicate that a change has occurred on the first link, the target storage volume associated with the change on the first link is searched from the storage volumes stored on the data production node by the data production node; and the configuration data of the target storage volume is synchronized to the nodes in the first storage cluster by the data production node. That is, when the node interconnection view is updated, only the configuration data of the target storage volume associated with the change on the first link is synchronized, thereby reducing the amount of synchronized configuration data and reducing the restart of the host device due to the long I / O silence time caused by the increase in remote replication latency. Therefore, the problem of low efficiency of storage data synchronization can be solved, thereby achieving the effect of improving the efficiency of storage data synchronization.
[0095] In an exemplary embodiment, the second detection module includes:
[0096] a first detection unit, configured to detect a link state of the first link, wherein the link state includes a disconnected state and a connected state;
[0097] a first determining unit, configured to, when the link state of the first link is the disconnected state, determine that the detected connection state indicates that a change has occurred on the first link;
[0098] a second detection unit, configured to detect whether a reconnection event occurs on the first link when the link state of the first link is the connected state, wherein the reconnection event is used to indicate that the links are reconnected;
[0099] The second determining unit is configured to, when a reconnection event is detected on the first link, determine that the connection state detected indicates that a change has occurred on the first link.
[0100] In an exemplary embodiment, the search module includes:
[0101] a third detection unit, configured to detect a synchronization attribute of each storage volume stored on the data production node, wherein the synchronization attribute is used to indicate whether synchronization of the corresponding storage volume to the second storage cluster through the first link is allowed;
[0102] a search unit, configured to search, from the storage volumes stored on the data production node according to the synchronization attribute, a storage volume that is allowed to be synchronized to the second storage cluster through the first link;
[0103] The third determining unit is configured to determine the storage volume allowed to be synchronized to the second storage cluster through the first link as the target storage volume associated with the change occurring on the first link.
[0104] In an exemplary embodiment, the third detection unit is further used to: detect whether the business data stored in each storage volume stored on the data production node is allowed to be synchronized to the second storage cluster through the first link; when it is detected that the business data stored in the storage volume is allowed to be synchronized to the second storage cluster through the first link, determine the synchronization attribute of the storage volume to indicate that the storage volume is allowed to be synchronized to the second storage cluster through the first link; when it is detected that the business data stored in the storage volume is not allowed to be synchronized to the second storage cluster through the first link, determine the synchronization attribute of the storage volume to indicate that the storage volume is not allowed to be synchronized to the second storage cluster through the first link.
[0105] In an exemplary embodiment, the synchronization module includes:
[0106] an acquiring unit, configured to acquire the configuration data of the target storage volume;
[0107] an encapsulation unit, configured to encapsulate the configuration data into a target data packet;
[0108] a dividing unit, configured to divide the target data packet into N data packet slices, where N is an integer greater than 1;
[0109] A transmission unit is used to transmit the N data packet slices in parallel to the nodes in the first storage cluster, wherein the nodes in the first storage cluster are used to parse the N data packet slices upon receiving the N data packet slices to obtain configuration data corresponding to the N data packet slices and use the configuration data to update the configuration data in the first storage cluster.
[0110] In an exemplary embodiment, the encapsulation unit is further used to: split the configuration data into multiple initial structure units; convert the multiple initial structure units into target structure units according to a target format to obtain multiple target structure units, wherein the target format is a format allowed for transmitting the configuration data; integrate the multiple target structure units into a data structure to obtain a target data structure; and compress the target data structure to obtain the target data packet.
[0111] In an exemplary embodiment, a first counter and a second counter are deployed on the second link; before detecting the update status of the node interconnection view of the first storage cluster by the data production node, the apparatus further includes:
[0112] a third detection module, configured to detect whether a transmission anomaly occurs in the second link in a current cycle, wherein the transmission anomaly includes a first anomaly caused by failure to execute a command request due to timeout and a second anomaly caused by failure to complete an input / output operation due to timeout;
[0113] a first recording module, configured to, upon detecting that the first anomaly has occurred in the second link, record, using the first counter, the occurrence of the first anomaly in the second link within the current period; a first statistical module, configured to count, using the first counter, a first frequency of the occurrence of the first anomaly in the second link; and a first disconnection module, configured to disconnect the second link between the data production node and the first disaster recovery node when the first frequency is greater than or equal to a first frequency threshold;
[0114] A second recording module is used to record the occurrence of the second abnormality in the second link within the current period through the second counter when the second abnormality is detected in the second link; a second statistical module is used to count the second frequency of the occurrence of the second abnormality in the second link through the second counter; and a second disconnection module is used to disconnect the second link between the data production node and the first disaster recovery node when the second frequency is greater than or equal to a second frequency threshold.
[0115] 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.
[0116] 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.
[0117] 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.
[0118] An embodiment of the present application further provides an electronic device, Figure 8 is a structural block diagram of an electronic device according to an embodiment of the present application, such as Figure 8 As shown, the electronic device includes a memory and a processor, 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.
[0119] 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.
[0120] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any one of the above method embodiments are implemented.
[0121] An embodiment of the present application further provides another computer program product, comprising a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any of the above method embodiments are implemented.
[0122] An embodiment of the present application further provides a computer program, which includes computer instructions stored in a computer-readable storage medium; a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the steps of any of the above method embodiments.
[0123] 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.
[0124] 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.
[0125] 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 synchronizing stored data, characterized in that: The data center of the target business includes: a first storage cluster and a second storage cluster with a first link established, a data production node and a first disaster recovery node with a second link established are deployed in the first storage cluster, and a second disaster recovery node is deployed in the second storage cluster, the data production node is used to connect to a business device of the target business, and the business device is used to use the data center to store business data of the target business. The method includes: Detecting, by the data production node, an update status of a node interconnection view of the first storage cluster, wherein the update status is used to indicate whether the node interconnection view has been updated; In a case where it is detected that the update status indicates that the node interconnection view has been updated, detecting, by the data production node, a connection status of the first link, wherein the connection status indicates whether a change has occurred on the first link; When detecting that the connection state indicates that a change has occurred on the first link, searching, by the data production node, from storage volumes stored on the data production node, for a target storage volume associated with the change that has occurred on the first link; The configuration data of the target storage volume is synchronized to nodes in the first storage cluster through the data production node.
2. The method according to claim 1, characterized in that The detecting the connection status of the first link by the data production node includes: detecting a link state of the first link, wherein the link state includes a disconnected state and a connected state; When the link state of the first link is the disconnected state, determining that the connection state is detected is used to indicate that a change has occurred on the first link; When the link state of the first link is the connected state, detecting whether a reconnection event occurs on the first link, wherein the reconnection event is used to indicate that the links are reconnected; In a case where a reconnection event is detected on the first link, it is determined that the connection state is detected to indicate that a change occurs on the first link.
3. The method according to claim 1, characterized in that The searching, by the data production node, from the storage volumes stored on the data production node, for a target storage volume associated with the change occurring on the first link includes: detecting a synchronization attribute of each storage volume stored on the data production node, wherein the synchronization attribute is used to indicate whether synchronization of the corresponding storage volume to the second storage cluster through the first link is allowed; Searching, from the storage volumes stored on the data production node according to the synchronization attribute, for a storage volume that is allowed to be synchronized to the second storage cluster through the first link; A storage volume that is allowed to be synchronized to the second storage cluster through the first link is determined as the target storage volume associated with the change that occurs on the first link.
4. The method according to claim 3, characterized in that The detecting the synchronization attribute of each storage volume stored on the data production node includes: Detecting whether the business data stored in each storage volume stored on the data production node is allowed to be synchronized to the second storage cluster through the first link; In a case where it is detected that the service data stored in the storage volume is allowed to be synchronized to the second storage cluster through the first link, determining a synchronization attribute of the storage volume to indicate that synchronization of the storage volume to the second storage cluster through the first link is allowed; When it is detected that the service data stored in the storage volume is not allowed to be synchronized to the second storage cluster through the first link, a synchronization attribute of the storage volume is determined to indicate that synchronization of the storage volume to the second storage cluster through the first link is not allowed.
5. The method according to claim 1, wherein Synchronizing the configuration data of the target storage volume to the nodes in the first storage cluster through the data production node includes: Obtaining the configuration data of the target storage volume; Encapsulating the configuration data into a target data packet; Divide the target data packet into N data packet slices, where N is an integer greater than 1; The N data packet slices are transmitted in parallel to the nodes in the first storage cluster, wherein the nodes in the first storage cluster are used to parse the N data packet slices upon receiving the N data packet slices to obtain configuration data corresponding to the N data packet slices and use the configuration data to update the configuration data in the first storage cluster.
6. The method according to claim 5, characterized in that Encapsulating the configuration data into a target data packet includes: Splitting the configuration data into a plurality of initial structure units; Converting the plurality of initial structural units into target structural units according to a target format to obtain a plurality of target structural units, wherein the target format is a format allowed for transmitting the configuration data; Integrating the plurality of target structural units into a data structure to obtain a target data structure; The target data structure is compressed to obtain the target data packet.
7. The method according to claim 1, characterized in that A first counter and a second counter are deployed on the second link; Before detecting the update status of the node interconnection view of the first storage cluster by the data production node, the method further includes: Detecting whether a transmission exception occurs in the second link in a current cycle, wherein the transmission exception includes a first exception caused by failure to execute a command request due to timeout and a second exception caused by failure to complete an input / output operation due to timeout; When the first abnormality is detected in the second link, recording the occurrence of the first abnormality in the second link in the current period by the first counter; counting a first frequency of the occurrence of the first abnormality in the second link by the first counter; and disconnecting the second link between the data production node and the first disaster recovery node when the first frequency is greater than or equal to a first frequency threshold; When it is detected that the second abnormality has occurred in the second link, the second counter records the occurrence of the second abnormality in the second link in the current period; the second counter counts the second frequency of the occurrence of the second abnormality in the second link; when the second frequency is greater than or equal to the second frequency threshold, the second link between the data production node and the first disaster recovery node is disconnected.
8. A synchronization device for storing data, characterized in that: The data center of the target business includes: a first storage cluster and a second storage cluster with a first link established, a data production node and a first disaster recovery node with a second link established are deployed in the first storage cluster, and a second disaster recovery node is deployed in the second storage cluster, the data production node is used to connect to the business equipment of the target business, and the business equipment is used to use the data center to store business data of the target business, and the device includes: a first detection module, configured to detect, through the data production node, an update status of a node interconnection view of the first storage cluster, wherein the update status is used to indicate whether the node interconnection view has been updated; a second detection module configured to, upon detecting that the update status indicates that the node interconnection view has been updated, detect a connection status of the first link through the data production node, wherein the connection status indicates whether a change has occurred on the first link; a search module configured to, when detecting that the connection status indicates that a change has occurred on the first link, search, through the data production node, from the storage volumes stored on the data production node for a target storage volume associated with the change that has occurred on the first link; A synchronization module is used to synchronize the configuration data of the target storage volume to the nodes in the first storage cluster through the data production node.
9. 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 7 when executed by a processor.
10. 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 7 are implemented.
Citation Information
Patent Citations
Distributed block storage data access method based on stateful DHT and storage system
CN116627315A
Configuration data verification method and device, storage medium and electronic equipment
CN118250157A