A storage cluster synchronization method, device and medium

By employing multiplexing and demultiplexing transmission mechanisms, and using UDP or UDT protocols to optimize data synchronization across regional storage clusters, the problems of data replication latency and inconsistency are solved, achieving efficient storage cluster synchronization and high availability.

CN116126240BActive Publication Date: 2026-05-12JINAN INSPUR DATA TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
JINAN INSPUR DATA TECH CO LTD
Filing Date
2023-01-06
Publication Date
2026-05-12

Smart Images

  • Figure CN116126240B_ABST
    Figure CN116126240B_ABST
Patent Text Reader

Abstract

The application discloses a storage cluster synchronization method and device and a medium, and relates to the field of storage. In order to improve the replication efficiency during storage cluster backup, the application controls a storage pool of a master cluster to encapsulate to-be-synchronized information and generates multiplexed to-be-synchronized data packets; the to-be-synchronized data packets are sent to corresponding sub-clusters according to a multiplexing and demultiplexing transmission mechanism; and the to-be-synchronized information in the to-be-synchronized data packets is received and stored by the sub-clusters. The to-be-synchronized data packets are sent to the corresponding sub-clusters by using the multiplexing mechanism, and the sub-clusters can obtain the configuration information of the master cluster and the storage information of the storage pools in the master clusters in time and store the information to the sub-clusters. The multiplexing mechanism is used to enable the multiple storage pools to transmit simultaneously, effectively utilize network bandwidth, optimize transmission rate and reduce replication delay.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of storage, and in particular to a method, apparatus and medium for synchronizing a storage cluster. Background Technology

[0002] In the era of cloud computing, with cloud adoption becoming the primary architecture for most enterprises, server downtime and resulting business disruptions can have incalculable chain reactions and losses. High system availability and proactive disaster recovery measures have become standard practice for internet companies. Therefore, the availability of cloud performance and the adequacy of disaster recovery measures are becoming crucial criteria for evaluating public cloud providers. Storage, as a core component of internet infrastructure, is also seeing continuous development in its high availability solutions. The essence of high-availability storage solutions is to replicate data across multiple storage devices, achieving high availability through data redundancy. The complexity lies primarily in addressing data inconsistencies caused by replication delays and interruptions. Storage clusters within the same region can often accelerate data synchronization and reduce inconsistencies by increasing the throughput of the storage backplane. After deploying cross-regional storage clusters on a cloud platform, master and slave data centers typically ensure data synchronization through dedicated networks. Although the bandwidth of cross-regional dedicated networks is constantly improving, their speed still differs significantly from local networks. Furthermore, with the increase in network bandwidth-delay products (BDP), common methods using the Transmission Control Protocol (TCP) are becoming inefficient. The standard TCP Round Trip Time (RTT) algorithm struggles to achieve high efficiency and fairness in high BDP environments, and its AIMD algorithm cannot quickly restore available bandwidth.

[0003] AIMD stands for Additive Increase Multiplicative Decrease. In the Transmission Control Protocol / Internet Protocol (TCP / IP) model, it belongs to the transport layer and is a method for congestion control, namely: additive increase and multiplicative decrease, or "summary increase and product decrease".

[0004] Therefore, providing a storage high-availability solution to improve replication efficiency is a technical problem that urgently needs to be solved by those in the field. Summary of the Invention

[0005] The purpose of this application is to provide a storage cluster synchronization method, apparatus, and medium that improve replication efficiency.

[0006] To address the aforementioned technical problems, this application provides a storage cluster synchronization method, comprising:

[0007] The storage pool of the main cluster encapsulates the information to be synchronized and generates multiplexed data packets to be synchronized.

[0008] The data packets to be synchronized are sent to the corresponding sub-clusters according to the multiplexing and demultiplexing transmission mechanism;

[0009] The control sub-cluster receives and stores the synchronization information in the data packets to be synchronized.

[0010] Preferably, in the above storage cluster synchronization method, the storage pool controlling the master cluster encapsulates the information to be synchronized and generates multiplexed data packets to be synchronized, including:

[0011] Controls the storage pool of the main cluster to generate snapshot data files and snapshot configuration files;

[0012] Compare the current snapshot data file with the previous snapshot data file;

[0013] Filter out the changed information;

[0014] The changed information is encapsulated and used as a data packet to be synchronized;

[0015] Add a unique process identifier and port number to the encapsulated data packets to be synchronized.

[0016] Preferably, in the above storage cluster synchronization method, the primary cluster and the sub-cluster transmit data based on the User Datagram Protocol.

[0017] Preferably, in the above storage cluster synchronization method, the User Datagram Protocol (UDP) is a data transmission protocol based on the UDP.

[0018] Preferably, in the above storage cluster synchronization method, sending the data packets to be synchronized to the corresponding sub-cluster according to the multiplexing and demultiplexing transmission mechanism includes:

[0019] Based on the data transmission protocol, multiplexed data packets to be synchronized are sent.

[0020] Perform multiplexing on the data packets to be synchronized;

[0021] The decomposed data packets to be synchronized are sent to the corresponding sub-clusters.

[0022] Preferably, in the above storage cluster synchronization method, after demultiplexing the data packets to be synchronized, the method further includes:

[0023] Determine whether the decomposed data packets to be synchronized are complete;

[0024] If so, proceed to the step of sending the decomposed data packets to be synchronized to the corresponding sub-cluster.

[0025] Preferably, in the above storage cluster synchronization method, after controlling the sub-cluster to receive and store the synchronization information in the data packet to be synchronized, the method further includes:

[0026] Determine if the main cluster is online;

[0027] If not, control the sub-cluster to come online.

[0028] To address the aforementioned technical problems, this application also provides a storage cluster synchronization device, comprising:

[0029] The encapsulation module is used to control the storage pool of the main cluster to encapsulate the information to be synchronized and generate multiplexed data packets to be synchronized.

[0030] The sending module is used to send the data packets to be synchronized to the corresponding sub-cluster according to the multiplexing and demultiplexing transmission mechanism.

[0031] The storage module is used to control the sub-cluster to receive and store the synchronization information in the data packets to be synchronized.

[0032] The device also includes:

[0033] The encapsulation module includes: a generation subunit, used to control the generation of snapshot data files and snapshot configuration files by the storage pool of the main cluster;

[0034] The comparison sub-unit is used to compare the current snapshot data file with the previous snapshot data file;

[0035] The filtering sub-unit is used to filter out change information;

[0036] The encapsulation subunit is used to encapsulate change information as a data packet to be synchronized;

[0037] Add a sub-unit to add a unique process identifier and port number to the encapsulated data packet to be synchronized.

[0038] The multiplexing subunit is used to send multiplexed data packets to be synchronized based on the data transmission protocol;

[0039] The decomposition subunit is used to decompose the data packets to be synchronized into multiplexed packets.

[0040] The sending sub-unit is used to send the decomposed data packets to be synchronized to the corresponding sub-cluster.

[0041] The judgment sub-unit is used to determine whether the decomposed data packet to be synchronized is complete.

[0042] If so, trigger the sending sub-unit.

[0043] To address the aforementioned technical problems, this application also provides a storage cluster synchronization device, comprising:

[0044] Memory, used to store computer programs;

[0045] A processor is used to implement the steps of the above-described storage cluster synchronization method when executing computer programs.

[0046] To address the aforementioned technical problems, this application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the aforementioned storage cluster synchronization method.

[0047] The storage cluster synchronization method provided in this application controls the storage pool of the master cluster to encapsulate the information to be synchronized, generating multiplexed data packets to be synchronized; it then sends these data packets to the corresponding sub-clusters according to a multiplexing and demultiplexing transmission mechanism; and the sub-clusters receive and store the information to be synchronized from the data packets. By using a multiplexing mechanism to send the data packets to the corresponding sub-clusters, the sub-clusters can promptly obtain the configuration information of the master cluster and the storage information of each storage pool in the master cluster and store it in their respective sub-clusters. The multiplexing mechanism enables multiple storage pools to transmit simultaneously, effectively utilizing network bandwidth to optimize transmission rates and reduce replication latency.

[0048] In addition, this application also provides an apparatus and a medium that correspond to the above method and have the same effect. Attached Figure Description

[0049] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0050] Figure 1 A flowchart illustrating a storage cluster synchronization method provided in this application embodiment;

[0051] Figure 2 A schematic diagram of a storage cluster provided for an embodiment of this application;

[0052] Figure 3 A structural diagram of a storage cluster synchronization device provided in an embodiment of this application;

[0053] Figure 4 This is a structural diagram of another storage cluster synchronization device provided in an embodiment of this application. Detailed Implementation

[0054] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of this application.

[0055] The core of this application is to provide a storage cluster synchronization method, apparatus, and medium.

[0056] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0057] Enterprise cloud adoption refers to enterprises deploying their basic systems, management, and business operations to the cloud via the network. This allows them to more conveniently access computing, storage, software, and data services provided by cloud service providers, thereby improving resource allocation efficiency, reducing IT construction costs, and promoting the development of the sharing economy. Server downtime can cause business disruptions, with incalculable chain reactions and losses. High system availability and proactive disaster recovery measures have become standard practice for internet companies. The high availability of cloud performance and the adequacy of disaster recovery measures are becoming important criteria for evaluating public cloud providers. Storage, as a core component of chip infrastructure, is also seeing continuous development in its high availability solutions. The essence of high-availability storage solutions is to replicate data across multiple storage devices, achieving high availability through data redundancy. The complexity lies mainly in handling data inconsistencies caused by replication delays and interruptions. Storage clusters within the same region can often accelerate data synchronization and reduce inconsistencies by increasing the data throughput of the storage backplane. After deploying cross-regional storage clusters on a cloud platform, master and slave data centers typically ensure data synchronization through dedicated networks.

[0058] Despite the increasing bandwidth of cross-regional private networks, their speeds still lag significantly behind local networks. Furthermore, with the proliferation of BDP products, common methods using the Transmission Control Protocol (TCP) are becoming inefficient. The RTT algorithm struggles to achieve high efficiency and fairness in high-BDP environments, and its AIMD algorithm cannot quickly recover available bandwidth.

[0059] To address the above issues, optimize cross-regional storage resource synchronization speed, and reduce replication latency, this embodiment provides a storage cluster synchronization method, such as... Figure 1 As shown, it includes:

[0060] S11: Control the storage pool of the main cluster to encapsulate the information to be synchronized and generate multiplexed data packets to be synchronized;

[0061] S12: Send the data packets to be synchronized to the corresponding sub-cluster according to the multiplexing and demultiplexing transmission mechanism;

[0062] S13: Control the sub-cluster to receive and store the synchronization information in the data packets to be synchronized.

[0063] It should be noted that multiplexing technology combines multiple low-speed channels into a single high-speed channel. This effectively improves the utilization of data links, allowing a high-speed backbone to simultaneously serve multiple low-speed access links, meaning the network backbone can carry a large amount of voice and data transmission simultaneously. Multiplexing technology was developed to fully utilize the transmission medium by establishing multiple communication channels on a single physical line. Essentially, multiplexing technology aggregates data from multiple users in a region using a transmitting multiplexer, then transmits the aggregated data through a single physical line. A receiving multiplexer then separates the data and distributes it to multiple users. Multiplexing is typically classified into frequency division multiplexing (FDM), time division multiplexing (TDM), wavelength division multiplexing (WDM), code division multiple access (CDMA), and space division multiple access (SDMA). In this embodiment, data is transmitted based on a multiplexed transmission mechanism.

[0064] Step S11 encapsulates the information to be synchronized to the sub-cluster, generating multiplexed data packets to be synchronized; this embodiment mentions that the number of sub-clusters is greater than one, such as... Figure 2As shown, after different clients send data to the main cluster, the main cluster stores it in a storage pool and backs it up to each sub-cluster to achieve high storage availability. Preferably, the main cluster and sub-clusters communicate using the User Datagram Protocol (UDP). UDP is another important protocol above IP; it is a connectionless, unreliable datagram transmission protocol. It simply transmits datagrams to be sent to the network and receives datagrams from the network without establishing a connection with a remote UDP module. UDP provides services for user network applications, such as Network File System (NFS) and Simple Network Management Protocol (SNMP). UDP preserves the message boundaries defined by the application; it neither concatenates messages from two applications nor splits a message from one application into multiple parts. UDP also has its own checksum field, but when two UDP modules are connected only via Ethernet, a checksum may not be necessary. Furthermore, preferably, the User Datagram Protocol is a UDP-based Data Transfer Protocol (UDT). UDT is an Internet data transfer protocol. The primary purpose of UDT (User-Defined Data Transmission) is to support massive data transmission over high-speed wide area networks (WANs), while the standard Internet data transmission protocol TCP performs poorly on high-bandwidth, long-distance networks. As its name suggests, UDT is built on top of UDP and introduces new congestion control and data reliability control mechanisms. UDT is a connection-oriented, bidirectional application layer protocol. It supports both reliable data stream transmission and partially reliable datagram transmission. Because UDT is implemented entirely on UDP, it can also be applied to other application areas besides high-speed data transmission, such as peer-to-peer (P2P) technology, firewall traversal, and multimedia data transmission.

[0065] Step 2: Based on the multiplexing and demultiplexing transmission mechanism, the data packets to be synchronized are sent to the corresponding sub-clusters. The main purpose of UDT is to support massive data transmission over high-speed wide area networks. UDT is built on top of UDP and introduces new congestion control and data reliability control mechanisms. It supports both reliable data stream transmission and partially reliable datagram transmission. In cross-regional private networks, its firewall penetration and error handling performance can be fully utilized. In UDT version v4, the protocol supports the UDP Multiplexer mechanism, whose main function is to use new memory management and shared congestion control methods to support more concurrent UDT links. This embodiment uses the multiplexing mechanism to enable simultaneous transmission of multiple storage pool mirrors, effectively utilizing network bandwidth to optimize transmission rates and reduce replication latency. Step S13: Control the sub-clusters to receive and store the synchronization information in the data packets to be synchronized.

[0066] The storage cluster synchronization method provided in this embodiment controls the storage pool of the master cluster to encapsulate the information to be synchronized, generating multiplexed data packets to be synchronized; according to the multiplexing and demultiplexing transmission mechanism, the data packets to be synchronized are sent to the corresponding sub-clusters; and the sub-clusters are controlled to receive and store the information to be synchronized in the data packets. By using the multiplexing mechanism to send the data packets to the corresponding sub-clusters, the sub-clusters can promptly obtain the configuration information of the master cluster and the storage information of the storage pools in each master cluster and store it in their respective sub-clusters. The multiplexing mechanism enables multiple storage pools to transmit simultaneously, effectively utilizing network bandwidth to optimize transmission rates and reduce replication latency.

[0067] According to the above embodiments, the storage pool controlling the main cluster encapsulates the information to be synchronized, generating multiplexed data packets to be synchronized, including:

[0068] Controls the storage pool of the main cluster to generate snapshot data files and snapshot configuration files;

[0069] Compare the current snapshot data file with the previous snapshot data file;

[0070] Filter out the changed information;

[0071] The changed information is encapsulated and used as a data packet to be synchronized;

[0072] Add a unique process identifier and port number to the encapsulated data packets to be synchronized.

[0073] It's important to note that the Storage Networking Industry Association (SNIA) defines a snapshot as: a fully usable copy of a specified set of data, including an image of the data at a specific point in time (the time the copy began). A snapshot can be a copy of the data it represents, or a replica of the data. The primary function of snapshots is to enable online data backup and recovery. When storage devices experience application failures or file corruption, rapid data recovery is possible, restoring the data to a usable point in time. Another function of snapshots is to provide storage users with an alternative data access channel. While the original data is being processed online, users can access the snapshot data and utilize snapshots for testing and other tasks.

[0074] This embodiment controls the storage pool of the main cluster to generate snapshot data files and snapshot configuration files through storage snapshot control. The snapshot data file is a snapshot of the current storage data, and the snapshot configuration file is a snapshot of the current configuration information. The current snapshot data file is compared with the previous snapshot data file to filter out the changed information. The changed information is encapsulated as a data packet to be synchronized, and a unique process identifier (PID) and port number are added to the encapsulated data packet to be synchronized.

[0075] PID stands for Process Identifier. In an operating system, a process ID (PID) is created for each program opened. The PID is a unique identifier for each process. It is randomly assigned by the system during process execution and does not represent a specific process. The PID does not change during runtime, but it is reclaimed by the system after the program is terminated and then run again, and may be reassigned to a newly running program. Port refers to a specific source or destination port for a communication protocol. Each storage pool in the master cluster is assigned a unique process identifier (PID). During transmission, the control module maps each PID to a unique port number, requiring it to be identified by that specific port. In the UDT protocol, the PID and port form a multiplexing key. During transmission initialization, the master cluster establishes a connection with the other master cluster and specifies all port information used.

[0076] In this embodiment, a multiplexing mechanism is used to send data packets to be synchronized to the corresponding sub-clusters. The sub-clusters can promptly obtain the configuration information of the master cluster and the latest snapshots of the storage pools in each master cluster, and merge the changes into each sub-cluster. Within the limits of network bandwidth, this strategy optimizes the synchronization speed of cross-regional storage resources and reduces replication latency in high-availability storage solutions.

[0077] This embodiment provides a specific preferred solution, which sends the data packets to be synchronized to the corresponding sub-cluster according to the multiplexing and demultiplexing transmission mechanism, including:

[0078] Based on the data transmission protocol, multiplexed data packets to be synchronized are sent.

[0079] Perform multiplexing on the data packets to be synchronized;

[0080] The decomposed data packets to be synchronized are sent to the corresponding sub-clusters.

[0081] The primary cluster uses a multiplexing mechanism to collect data blocks from different datasets, encapsulates each data block with a corresponding set of PID and port multiplexing keys, generates message fields, and begins transmission. The corresponding demultiplexing of the child cluster nodes delivers the data in the message segments to the correct child cluster storage pool. The child clusters can promptly obtain the configuration information of the primary cluster and the latest snapshots of the storage pools in each primary cluster, merging changes into each child cluster. Within the limits of network bandwidth, this strategy optimizes the synchronization speed of cross-regional storage resources and reduces replication latency in high-availability storage solutions.

[0082] According to the above embodiments, in order to ensure the security of communication data, preferably, after demultiplexing the data packets to be synchronized, the method further includes:

[0083] Determine whether the decomposed data packets to be synchronized are complete;

[0084] If so, proceed to the step of sending the decomposed data packets to be synchronized to the corresponding sub-cluster.

[0085] After receiving the data to be synchronized, the sub-cluster determines whether the decomposed data packet to be synchronized is complete; if it is complete, it proceeds to the step of sending the decomposed data packet to the corresponding sub-cluster.

[0086] To achieve high availability of storage and ensure normal business operation, this solution, after controlling the sub-cluster to receive and store the synchronization information in the data packets to be synchronized, also includes:

[0087] Determine if the main cluster is online;

[0088] If not, control the sub-cluster to come online.

[0089] When the primary cluster is offline, the sub-cluster can quickly come back online using the most recent backup data, ensuring normal business operation.

[0090] The storage cluster synchronization method has been described in detail in the above embodiments. This application also provides embodiments corresponding to the storage cluster synchronization device. It should be noted that this application describes the embodiments of the device part from two perspectives: one is based on the functional modules, and the other is based on the hardware.

[0091] From the perspective of functional modules Figure 3 A structural diagram of a storage cluster synchronization device provided in an embodiment of this application is shown below. Figure 3 As shown, it includes:

[0092] The encapsulation module 31 is used to control the storage pool of the main cluster to encapsulate the information to be synchronized and generate multiplexed data packets to be synchronized.

[0093] The sending module 32 is used to send the data packets to be synchronized to the corresponding sub-cluster according to the multiplexing and demultiplexing transmission mechanism;

[0094] Storage module 33 is used to control the sub-cluster to receive and store the synchronization information in the data packets to be synchronized.

[0095] Specifically, the encapsulation module 31 controls the storage pool of the main cluster to encapsulate the information to be synchronized, generating multiplexed data packets to be synchronized. The sending module 32 sends the data packets to be synchronized to the corresponding sub-clusters according to the multiplexing and demultiplexing transmission mechanism. The storage module 33 controls the sub-clusters to receive and store the information to be synchronized in the data packets. By using the multiplexing mechanism to send the data packets to be synchronized to the corresponding sub-clusters, the sub-clusters can promptly obtain the configuration information of the main cluster and the storage information of the storage pools in each main cluster and store it in their respective sub-clusters. The multiplexing mechanism enables multiple storage pools to transmit simultaneously, effectively utilizing network bandwidth to optimize the transmission rate and reduce replication latency.

[0096] In addition, the device also includes:

[0097] Encapsulation module 31 includes: a generation subunit, used to control the storage pool of the main cluster to generate snapshot data files and snapshot configuration files;

[0098] The comparison sub-unit is used to compare the current snapshot data file with the previous snapshot data file;

[0099] The filtering sub-unit is used to filter out change information;

[0100] The encapsulation subunit is used to encapsulate change information as a data packet to be synchronized;

[0101] Add a sub-unit to add a unique process identifier and port number to the encapsulated data packet to be synchronized.

[0102] The multiplexing subunit is used to send multiplexed data packets to be synchronized based on the data transmission protocol;

[0103] The decomposition subunit is used to decompose the data packets to be synchronized into multiplexed packets.

[0104] The sending sub-unit is used to send the decomposed data packets to be synchronized to the corresponding sub-cluster.

[0105] The judgment sub-unit is used to determine whether the decomposed data packet to be synchronized is complete.

[0106] If so, trigger the sending sub-unit.

[0107] Since the embodiments of the apparatus and the embodiments of the method correspond to each other, please refer to the description of the embodiments of the method for the embodiments of the apparatus, which will not be repeated here.

[0108] Figure 4 A structural diagram of another storage cluster synchronization device provided in the embodiments of this application is shown below. Figure 4 As shown, the storage cluster synchronization device includes: a memory 40 for storing computer programs;

[0109] The processor 41 is used to execute a computer program to implement the steps of the method for obtaining user operation habit information as described in the above embodiment (storage cluster synchronization method).

[0110] The storage cluster synchronization device provided in this embodiment may include, but is not limited to, smartphones, tablets, laptops, or desktop computers.

[0111] The processor 41 may include one or more processing cores, such as a quad-core processor or an octa-core processor. The processor 41 may be implemented using at least one of the following hardware forms: Digital Signal Processor (DSP), Field-Programmable Gate Array (FPGA), or Programmable Logic Array (PLA). The processor 41 may also include a main processor and a coprocessor. The main processor, also known as the Central Processing Unit (CPU), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, the processor 41 may integrate a Graphics Processing Unit (GPU), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, the processor 41 may also include an Artificial Intelligence (AI) processor, which handles computational operations related to machine learning.

[0112] The memory 40 may include one or more computer-readable storage media, which may be non-transitory. The memory 40 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In this embodiment, the memory 40 is used to store at least the following computer program 401, which, after being loaded and executed by the processor 41, is capable of implementing the relevant steps of the storage cluster synchronization method disclosed in any of the foregoing embodiments. In addition, the resources stored in the memory 40 may also include an operating system 402 and data 403, and the storage method may be temporary or permanent storage. The operating system 402 may include Windows, Unix, Linux, etc. The data 403 may include, but is not limited to, the data involved in implementing the storage cluster synchronization method.

[0113] In some embodiments, the storage cluster synchronization device may further include a display screen 42, an input / output interface 43, a communication interface 44, a power supply 45, and a communication bus 46.

[0114] Those skilled in the art will understand that Figure 4 The structure shown does not constitute a limitation on the storage cluster synchronization device and may include more or fewer components than illustrated.

[0115] The storage cluster synchronization device provided in this application includes a memory and a processor. When the processor executes a program stored in the memory, it can implement the following method: a storage cluster synchronization method, which controls the storage pool of the master cluster to encapsulate the information to be synchronized, generating multiplexed data packets to be synchronized; sends the data packets to be synchronized to the corresponding sub-clusters according to a multiplexing and demultiplexing transmission mechanism; and controls the sub-clusters to receive and store the information to be synchronized in the data packets. By using a multiplexing mechanism to send the data packets to be synchronized to the corresponding sub-clusters, the sub-clusters can promptly obtain the configuration information of the master cluster and the storage information of the storage pools in each master cluster and store it in their respective sub-clusters. The multiplexing mechanism enables multiple storage pools to transmit simultaneously, effectively utilizing network bandwidth to optimize transmission rates and reduce replication latency.

[0116] Finally, this application also provides an embodiment corresponding to a computer-readable storage medium. The computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps described in the above-described storage cluster synchronization method embodiment.

[0117] It is understood that if the methods in the above embodiments are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and executes all or part of the steps of the methods in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0118] The computer-readable storage medium provided in this embodiment stores a computer program. When the processor executes the program, it can implement the following method: a storage cluster synchronization method, which controls the storage pool of the master cluster to encapsulate the information to be synchronized, generating multiplexed data packets to be synchronized; sends the data packets to be synchronized to the corresponding sub-clusters according to the multiplexing and demultiplexing transmission mechanism; and controls the sub-clusters to receive and store the information to be synchronized in the data packets. By using the multiplexing mechanism to send the data packets to be synchronized to the corresponding sub-clusters, the sub-clusters can promptly obtain the configuration information of the master cluster and the storage information of the storage pools in each master cluster and store it in their respective sub-clusters. The multiplexing mechanism enables multiple storage pools to transmit simultaneously, effectively utilizing network bandwidth to optimize transmission rates and reduce replication latency.

[0119] The storage cluster synchronization method, apparatus, and medium provided in this application have been described in detail above. The various embodiments in the specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section. It should be noted that those skilled in the art can make several improvements and modifications to this application without departing from the principles of this application, and these improvements and modifications also fall within the protection scope of the claims of this application.

[0120] It should also be noted that, in this specification, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

Claims

1. A storage cluster synchronization method, characterized in that, include: The storage pool of the main cluster encapsulates the information to be synchronized and generates multiplexed data packets to be synchronized. The data packets to be synchronized are sent to the corresponding sub-clusters according to the multiplexing and demultiplexing transmission mechanism; The sub-cluster is controlled to receive and store the synchronization information in the data packet to be synchronized; The storage pool of the control master cluster encapsulates the information to be synchronized, generating multiplexed data packets to be synchronized, including: Control the storage pool of the main cluster to generate snapshot data files and snapshot configuration files; Compare the snapshot data file described this time with the snapshot data file described last time; Filter out the changed information; The change information is encapsulated and used as the data packet to be synchronized; Add a unique process identifier and port number to the encapsulated data packet to be synchronized.

2. The storage cluster synchronization method according to claim 1, characterized in that, The primary cluster and the sub-cluster communicate using the User Datagram Protocol (UDP).

3. The storage cluster synchronization method according to claim 2, characterized in that, The User Datagram Protocol (UDP) is a data transmission protocol based on the UDP protocol.

4. The storage cluster synchronization method according to claim 3, characterized in that, The step of sending the data packets to be synchronized to the corresponding sub-cluster according to the multiplexing and demultiplexing transmission mechanism includes: Based on the aforementioned data transmission protocol, multiplexed data packets to be synchronized are sent. The data packets to be synchronized are demultiplexed; The decomposed data packets to be synchronized are sent to the corresponding sub-cluster.

5. The storage cluster synchronization method according to claim 4, characterized in that, After performing multiplexing on the data packets to be synchronized, the method further includes: Determine whether the decomposed data packet to be synchronized is complete; If so, proceed to the step of sending the decomposed data packets to be synchronized to the corresponding sub-cluster.

6. The storage cluster synchronization method according to any one of claims 1 to 5, characterized in that, After controlling the sub-cluster to receive and store the synchronization information in the synchronization data packet, the method further includes: Determine whether the main cluster is online; If not, control the sub-cluster to come online.

7. A storage cluster synchronization device, characterized in that, include: The encapsulation module is used to control the storage pool of the main cluster to encapsulate the information to be synchronized and generate multiplexed data packets to be synchronized. The sending module is used to send the data packets to be synchronized to the corresponding sub-cluster according to the multiplexing and demultiplexing transmission mechanism; The storage module is used to control the sub-cluster to receive and store the information to be synchronized in the data packet to be synchronized; The storage pool of the control master cluster encapsulates the information to be synchronized, generating multiplexed data packets to be synchronized, including: Control the storage pool of the main cluster to generate snapshot data files and snapshot configuration files; Compare the snapshot data file described this time with the snapshot data file described last time; Filter out the changed information; The change information is encapsulated and used as the data packet to be synchronized; Add a unique process identifier and port number to the encapsulated data packet to be synchronized.

8. A storage cluster synchronization device, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the storage cluster synchronization method as described in any one of claims 1 to 6 when executing the computer program.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the storage cluster synchronization method as described in any one of claims 1 to 6.