Data synchronization method and system, computer device, and storage medium
By storing data from data synchronization nodes in cloud servers, the problem of the data synchronization system recovering too long in disaster recovery scenarios in the prior art is solved, and real-time and cost-effective data synchronization is achieved.
Patent Information
- Application Number
- PCT/IB2024/063162
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-25
- Filing Date
- 2024-12-25
- Publication Date
- 2025-07-03
AI Technical Summary
In the disaster recovery scenario, the existing data synchronization system needs to re-pull a large amount of data from the source database, resulting in too long recovery time and cannot meet the real-time synchronization requirements. At the same time, the system transformation cost is high, the operation and maintenance cost is high, and the storage cost is greatly increased.
By storing the data to be synchronized by the data synchronization node on the cloud server and synchronizing data in the cloud server, the dependence on local storage is reduced, allowing data to be read from the cloud server for recovery in disaster recovery situations.
It shortens the data recovery time, meets the real-time requirements of data synchronization scenarios, and reduces system transformation costs and storage costs.
Smart Images

Figure IB2024063162_03072025_PF_FP_ABST
Abstract
Description
[0001] A Data Synchronization Method, System, Computer Device, and Storage Medium. This disclosure relates to the technical field of data processing, and more specifically, to a data synchronization method, system, computer device, and storage medium. Background: A data synchronization system can synchronize data from a source database to a target database for storage. In this data synchronization system, a storage module in the data synchronization system can cache data from the source database to a local hard disk, and then synchronize the data from the local hard disk to the target database for storage. When a storage module in the data synchronization system fails, a large amount of data must be retrieved from the source database. Therefore, when the amount of data to be retrieved is large, the recovery time of the data synchronization system is prolonged. SUMMARY OF THE INVENTION: Embodiments of the present disclosure provide at least one data synchronization method, system, computer device, and storage medium. In a first aspect, embodiments of the present disclosure provide a data synchronization method, applied to a client, comprising: obtaining first synchronization data from a source database in response to a first synchronization operation of a data synchronization node; wherein the data synchronization node is configured to synchronize the first synchronization data from the source database to a corresponding target database; storing the first synchronization data in a cloud server; wherein the cloud server includes a cloud storage space for storing data to be synchronized from the source database; and synchronizing the first synchronization data in the cloud storage space to the target database for storage in response to a second synchronization operation of the data synchronization node. In an optional embodiment, synchronizing the first synchronization data in the cloud storage space to the target database for storage in response to the second synchronization operation of the data synchronization node comprises: searching for the first synchronization data in a local storage space in response to the second synchronization operation; wherein the data stored in the local storage space is pre-synchronized data previously acquired from the cloud storage space; and synchronizing the found first synchronization data to the target database for storage.In an optional embodiment, the method further includes: in response to a disaster recovery instruction from the data synchronization node, obtaining second synchronization data from the cloud storage space; wherein the second synchronization data is data from the source database that has not been synchronized to the target database; and sending the second synchronization data to the restarted data synchronization node; wherein the restarted data synchronization node is configured to synchronize the second synchronization data to the target database. In an optional embodiment, the method further includes: obtaining an operating status of the data synchronization node; and sending the operating status to the cloud server; wherein the operating status is used to control the execution status of data synchronization tasks executed by the data synchronization node. In a second aspect, an embodiment of the present disclosure provides a data synchronization method, applied to a cloud server, comprising: in response to a first synchronization request from a client, obtaining first synchronization data sent by the client; wherein the first synchronization data is data from the source database to be synchronized to the corresponding target database; storing the first synchronization data in the cloud storage space; and in response to a second synchronization request from the client, obtaining the first synchronization data from the data stored in the cloud storage space, and returning the first synchronization data to the client. In an optional implementation, the method further includes: obtaining the operating status of the data synchronization node sent by the client; wherein the data synchronization node is used to synchronize the first synchronization data from the source database to the corresponding target database, and the operating status is used to indicate whether a failure has occurred in the data synchronization node; and controlling the task execution status of the data synchronization task executed by the data synchronization node based on the operating status.In one optional embodiment, there are multiple data synchronization nodes; controlling the task execution status of data synchronization tasks executed by the data synchronization nodes based on the operating status includes: determining a multi-level synchronization node group based on the multiple data synchronization nodes; wherein each level includes at least one synchronization node group, and the data synchronization nodes in the synchronization node groups at the same level are different; determining a target operating status for the data synchronization nodes in each synchronization node group; and controlling the task execution status of data synchronization tasks executed by the data synchronization nodes in the synchronization node group based on the target operating status. In one optional embodiment, controlling the task execution status of data synchronization tasks executed by the data synchronization nodes in the synchronization node group based on the target operating status includes: if a first synchronization node group in which all data synchronization nodes have failed is determined in the synchronization node group based on the target operating status, determining a level label for the first synchronization node group; wherein the level label indicates a service area of the first synchronization node group; determining a second synchronization node group in normal operation within the service area; and scheduling the data synchronization tasks executed by the data synchronization nodes in the second synchronization node group to the second synchronization node group. In one optional embodiment, controlling the task execution state of the data synchronization task executed by the synchronization node group based on the target operating state includes: if a third synchronization node group in which some data synchronization nodes have failed is determined based on the target operating state, determining a second data synchronization node in the third synchronization node group that is in a normal operating state; and scheduling the data synchronization task executed by the failed data synchronization node in the third synchronization node group to the second data synchronization node. In one optional embodiment, after storing the first synchronization data in the cloud storage space, the method further includes: determining second synchronization data in the first synchronization data that has been stored for longer than a preset time; and moving the second synchronization data from a current storage area to a low-frequency storage area.In a third aspect, an embodiment of the present disclosure provides a data synchronization system, comprising: a data synchronization node, a client, and a cloud server; the client, configured to obtain first synchronization data from a source database in response to a first synchronization operation of the data synchronization node; wherein the data synchronization node is configured to synchronize the first synchronization data from the source database to a corresponding target database; and in response to a second synchronization operation of the data synchronization node, synchronize the first synchronization data in a cloud storage space to the target database for storage; the cloud server, configured to obtain first synchronization data sent by the client in response to a first synchronization request of the client; wherein the first synchronization data is data in the source database to be synchronized to the corresponding target database; and in response to the second synchronization request of the client, store in the cloud storage space. In a fourth aspect, an embodiment of the present disclosure further provides a computer device, comprising: a processor, a memory, and a bus, wherein the memory stores machine-readable instructions executable by the processor, and when the computer device is running, the processor communicates with the memory via the bus, and when the machine-readable instructions are executed by the processor, the steps of the above-mentioned first aspect or any possible implementation of the first aspect are performed. In a fifth aspect, embodiments of the present disclosure further provide a computer-readable storage medium storing a computer program that, when executed by a processor, performs the steps of the first aspect or any possible implementation of the first aspect. In embodiments of the present disclosure, a client, in response to a first synchronization operation of a data synchronization node, obtains first synchronization data from a source database; then, stores the first synchronization data in a cloud server, wherein the cloud server includes cloud storage space for storing data to be synchronized from the source database; and, in response to a second synchronization operation of the data synchronization node, synchronizes the first synchronization data in the cloud storage space to a target database for storage. As can be seen from the above description, by storing the first synchronization data in the cloud server via the data storage module, the separation of computation and storage at the data synchronization node can be achieved.In disaster recovery scenarios, data synchronization nodes can read data that needs to be restored from cloud servers. By reading restored data from cloud servers, data recovery time can be shortened, thereby meeting the real-time synchronization requirements of data synchronization scenarios. To make the aforementioned objectives, features, and advantages of the present disclosure more readily apparent, preferred embodiments are described below in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS To more clearly illustrate the technical solutions of the embodiments of the present disclosure, the following briefly describes the drawings used in the embodiments. The drawings herein are incorporated into and constitute a part of this specification. These drawings illustrate embodiments consistent with the present disclosure and, together with the specification, serve to illustrate the technical solutions of the present disclosure. It should be understood that the following drawings illustrate only certain embodiments of the present disclosure and should not be construed as limiting the scope. Persons of ordinary skill in the art can, without inventive effort, derive other relevant drawings from these drawings. Figure 1 shows a flowchart of a data synchronization method provided by an embodiment of the present disclosure; Figure 2 shows a schematic diagram of the structure of a data synchronization cluster provided by an embodiment of the present disclosure; Figure 3 shows a flowchart of another data synchronization method provided by an embodiment of the present disclosure; Figure 4 shows a schematic diagram of a data synchronization system provided by an embodiment of the present disclosure; Figure 5 shows a schematic diagram of the distribution of a data synchronization cluster provided by an embodiment of the present disclosure; Figure 6 shows a schematic diagram of data sharding and data rotation provided by an embodiment of the present disclosure; Figure 7 shows a schematic diagram of a computer device provided by an embodiment of the present disclosure; and Figure 8 shows a schematic diagram of a computer-readable storage medium provided by an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE EMBODIMENTS To further clarify the objectives, technical solutions, and advantages of the embodiments of the present disclosure, the technical solutions of the embodiments of the present disclosure will be described clearly and completely below in conjunction with the accompanying drawings. It should be understood that the described embodiments are only some of the embodiments of the present disclosure, and are not exhaustive. The components of the embodiments of the present disclosure described and illustrated in the drawings herein may be arranged and designed in a variety of different configurations. Therefore, the following detailed description of the embodiments of the present disclosure provided in the drawings is not intended to limit the scope of the claimed disclosure, but rather merely represents selected embodiments of the present disclosure.All other embodiments derived by persons skilled in the art based on the embodiments of this disclosure without inventive effort are within the scope of protection of this disclosure. It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, storage, and display, etc.) involved in this disclosure are all information and data authorized by the user or fully authorized by all parties. The collection, use, and processing of relevant data must comply with the relevant laws, regulations, and standards of the relevant countries and regions, and corresponding operation portals are provided for users to choose to authorize or deny. In related technologies, data synchronization systems can synchronize data from a source database to a target database for storage. Data synchronization systems typically include the following modules: a data parsing module, a data storage module, and a data writing module. The data parsing module can pull and parse logs from the source database, delivering the parsed data to the data storage module for caching. The data writing module can subscribe to the data in the data storage module and write it to the target database in real time. In this data synchronization system, the data storage module caches a large amount of parsed data based on logs pulled from the source database on a local hard drive. The data writing module then synchronizes the data from the local hard drive to the target database for storage. The data storage module's computational program and data storage are coupled together. If disaster recovery scenarios require rebuilding the data storage module, a large amount of data must be pulled from the source database again. This operation typically takes minutes to hours to recover, depending on the amount of data to be recovered. However, the data synchronization system requires data latency between the target and source databases to be within seconds, so extended disaster recovery times can have significant impacts. Specifically, large amounts of data require extended recovery times.In an alternative implementation, a distributed file system (Hadoop Distributed File System, HDFS) can be deployed independently for the data storage module to address this issue. For example, the data storage module can write cached data to HDFS via the HDFS API instead of writing it to the local hard disk. This approach allows for the separation of computing and storage within the data storage module while ensuring throughput. Specifically, when the data storage module needs to be rebuilt for disaster recovery or other scenarios, data can be directly restored from the remote distributed file system HDFS, rather than having to re-pull large amounts of data from the source database. This significantly reduces recovery time. While this approach solves the problem of coupled computing and storage, it also introduces new issues:
[0002] 1. High system transformation costs. The data synchronization system needs to be modified, and all operations that were previously based on direct file read and write operations need to be converted to HDFS API implementations. This system transformation cost is high, and performance will be significantly reduced in specific scenarios such as random writes.
[0003] 2. High operation and maintenance costs. Compared with the original technical solution of writing to local hard disks, the introduction of HDFS will significantly increase the overall system operation and maintenance costs.
[0004] 3. Storage costs increase significantly. HDFS uses a three-copy storage solution, which triples the amount of data stored compared to the original single-copy solution, resulting in a corresponding threefold increase in storage costs. Based on the above research, the present disclosure provides a data synchronization method, system, computer device, and storage medium. In an embodiment of the present disclosure, a client, in response to a first synchronization operation by a data synchronization node, obtains first synchronization data from a source database. The client then stores the first synchronization data on a cloud server, which includes cloud storage space for storing data to be synchronized from the source database. In response to a second synchronization operation by the data synchronization node, the client synchronizes the first synchronization data in the cloud storage space to a target database for storage. In related technologies, if a data synchronization node experiences an exception, data recovery requires retrieving a large amount of data from the source database. The present disclosure achieves this by storing the first synchronization data to be synchronized to the target database by the data synchronization node on a cloud server, and then synchronizing the first synchronization data on the cloud server to the target database. Based on this, if a data synchronization node experiences an anomaly, the data to be recovered can be read from the cloud server during the data recovery process. Compared to the related art method of re-pulling large amounts of data from the source database, this method of reading recovered data from the cloud server can shorten data recovery time, thereby meeting the real-time synchronization requirements of data synchronization scenarios. The shortcomings of the above solutions are the result of the inventors' careful practice and research. Therefore, the discovery of these issues and the solutions proposed below in this disclosure should be considered as the inventors' contributions to this disclosure. It should be noted that similar numbers and letters represent similar items in the following figures. Therefore, once an item is defined in one figure, it does not need to be further defined or explained in subsequent figures. To facilitate understanding of this embodiment, a data synchronization method disclosed in this embodiment will first be described in detail. The data synchronization method provided in this embodiment is generally executed by a computer device with certain computing capabilities.In some possible implementations, the data synchronization method can be implemented by a processor invoking computer-readable instructions stored in a memory. The data synchronization method provided by an embodiment of the present disclosure is described below using a client as an example. FIG. 1 shows a flowchart of a data synchronization method provided by an embodiment of the present disclosure. The method includes steps S101-S105, where:
[0005] S101: In response to a first synchronization operation on a data synchronization node, first synchronization data is obtained from a source database. The data synchronization node is configured to synchronize the first synchronization data from the source database to a corresponding target database. As shown in Figure 2, a data synchronization cluster includes multiple data synchronization nodes, each of which includes a data parsing module, a data storage module, and a data writing module. A client is an application pre-configured in the data synchronization cluster that can communicate with the data synchronization node. Each data synchronization node can be configured with a client, and the client and the data synchronization node can be deployed on the same device, or alternatively, the client and the data synchronization node can be deployed on different devices. The data storage module in the data synchronization node can communicate with the client, and the data storage module and the client can communicate via a POXIS interface. This processing approach eliminates the need for any modification to the existing system disk read / write functionality in the data synchronization cluster, resulting in low integration costs. The data parsing module in the data synchronization node pulls logs from the source database and parses them to obtain the first synchronization data. The data parsing module then sends the first synchronization data to the data storage module in the data synchronization node. The data storage module requests the client to synchronize and cache the first synchronization data. At this time, the client detects the first synchronization operation of the data synchronization node. The client responds to the first synchronization operation and obtains the first synchronization data.
[0006] S103: Storing the first synchronized data in a cloud server; wherein the cloud server includes cloud storage space for storing the data to be synchronized in the source database. After obtaining the first synchronized data, the client may store the first synchronized data in the cloud storage space of the cloud server. Cloud storage space may be pre-allocated in the cloud server for the source database or the target database. The cloud storage space may be tagged in the cloud server using the identifier of the source database or the target database. The cloud server may utilize an object storage service provided by a mature, high-performance cloud vendor. This disclosure does not specifically limit the type of cloud server; implementation is preferred.
[0007] S105: In response to the second synchronization operation of the data synchronization node, the first synchronization data in the cloud storage space is synchronized to the target database for storage. The data writing module in the data synchronization node can periodically request the data storage module for the first synchronization data to be written to the target database. After detecting this request, the data storage module requests the first synchronization data from the client. At this point, the client detects the second synchronization operation of the data synchronization node and returns the first synchronization data in the cloud storage space to the data storage module. The data storage module then sends the first synchronization data to the data writing module, which writes the first synchronization data to the target database. In the disclosed embodiment, in response to the first synchronization operation of the data synchronization node, the client obtains the first synchronization data from the source database; then, the first synchronization data is stored in a cloud server, which includes a cloud storage space for storing the data to be synchronized from the source database; and in response to the second synchronization operation of the data synchronization node, the first synchronization data in the cloud storage space is synchronized to the target database for storage. In related art, if a data synchronization node experiences an exception, a large amount of data must be re-pulled from the source database during data recovery. The disclosed technical solution stores the first synchronized data to be synchronized from a data synchronization node to a target database on a cloud server and synchronizes the first synchronized data from the cloud server to the target database. Based on this, if a data synchronization node experiences an exception, the data to be recovered can be read from the cloud server during data recovery. Compared to the related art method of re-pulling large amounts of data from the source database, this method of reading recovered data from the cloud server can shorten data recovery time, thereby meeting the real-time synchronization requirements of data synchronization scenarios.In an optional embodiment, step S105 synchronizes the first synchronized data in the cloud storage space to the target database for storage in response to the second synchronization operation of the data synchronization node. Specifically, it includes the following steps: Step S11: In response to the second synchronization operation, searching the local storage space for the first synchronized data; wherein the data stored in the local storage space is pre-synchronized data previously obtained from the cloud storage space; Step S12: Synchronizing the found first synchronized data to the target database for storage. As shown in Figure 2, in this embodiment of the present disclosure, the local storage space pre-set for the data synchronization node is, for example, storage space on a local hard drive. The local storage space and the data synchronization node can be deployed on the same or different devices; or the local storage space and the client can be deployed on the same or different devices. The client can write data to and read data from the local storage space. In this embodiment of the present disclosure, before detecting the second synchronization operation of the data synchronization node, the client can pre-store the first synchronized data currently to be written to the target database in the local storage space. For example, at time t-1, the first synchronization data to be written to the target database at time t can be cached in the local storage space. At time t, if a second synchronization operation of the data synchronization node is detected, the first synchronization data can be searched in the local storage space. If the first synchronization data is found, the first synchronization data is fed back to the data storage module. If the first synchronization data is not found, the first synchronization data is searched from the cloud server. Here, after the first synchronization data is fed back to the data storage module, the first synchronization data can be deleted from the local storage space, and the first synchronization data to be written to the target database at a future time can be cached in the local storage space. Through this processing method, the synchronization efficiency of data to the target database can be improved, thereby accelerating the speed of data synchronization, meeting data synchronization scenarios with higher real-time requirements.In an optional embodiment, the method further includes the following steps: in response to a disaster recovery instruction from the data synchronization node, obtaining second synchronization data from the cloud storage space; wherein the second synchronization data is data in the source database that has not been synchronized to the target database; and sending the second synchronization data to the restarted data synchronization node; wherein the restarted data synchronization node is configured to synchronize the second synchronization data to the target database. In an embodiment of the present disclosure, if a data storage module in a data synchronization node fails, the data storage module can be restarted on another device. The client can then determine data in the source database that has not been synchronized to the target database. Here, the second synchronization data can be determined based on the comparison results by comparing the data in the source database and the target database. After determining the second synchronization data, the client can synchronize data to the target database through the restarted data storage module in the data synchronization node. After the data storage module is restarted, the client can request the second synchronization data that has not been synchronized to the target database from the client. The client can then send the second synchronization data to the restarted data storage module in the data synchronization node, so that the data storage module forwards the second synchronization data to the data write module. Through the above processing approach, in disaster recovery scenarios, the data storage module can read the data that needs to be restored from the cloud server. By reading the restored data from the cloud server, data recovery time can be shortened, thereby meeting the real-time synchronization requirements of data synchronization scenarios. In an optional embodiment, the method further includes the following steps: obtaining the operating status of the data synchronization node; and sending the operating status to the cloud server. The operating status is used to control the execution status of the data synchronization tasks executed by the data synchronization node. In the disclosed embodiment, the client can also obtain the operating status of the corresponding data synchronization node, and use this operating status to determine whether the data synchronization data is in a normal operating state or an abnormal operating state.For example, a heartbeat connection can be established between a data synchronization node and a client. When the data synchronization node is operating normally, the data synchronization node can report a heartbeat signal to the client, thereby obtaining the data synchronization node's operating status based on the heartbeat signal. If the data synchronization node normally sends heartbeat signals to the client, the data synchronization node's operating status can be determined to be normal. If the data synchronization node experiences an abnormal heartbeat signal, for example, it stops sending heartbeat signals to the client, the data synchronization node's operating status can be determined to be abnormal. After obtaining the operating status of the data synchronization node, the client can send the operating status to the cloud server. The cloud server can control the task execution status of the data synchronization task executed by the data synchronization node based on the operating status. For example, if the cloud server determines that the operating status is normal, the data synchronization node can continue executing the data synchronization task, i.e., the task execution status is continuing. For another example, if the cloud server determines that the operating status is abnormal, the cloud server can dispatch the data synchronization task executed by the data synchronization node to another data synchronization node. By obtaining the operating status of data synchronization nodes, the normal execution of data synchronization tasks can be ensured, thereby ensuring the normal operation of the data synchronization system. The data synchronization method provided by an embodiment of the present disclosure will be described below, using a cloud server as an example. FIG3 shows a flowchart of a data synchronization method provided by an embodiment of the present disclosure. The method includes steps S301-S305, wherein: Step S301: Responding to a first synchronization request from a client, obtaining first synchronization data sent by the client; wherein the first synchronization data is data from a source database to be synchronized to a corresponding target database. Step S303: Storing the first synchronization data in a cloud storage space. Here, as shown in FIG2 , the data synchronization cluster includes multiple data synchronization nodes, each of which includes a data parsing module, a data storage module, and a data writing module.The client is an application pre-configured in the data synchronization cluster that can communicate with the data synchronization node. Each data synchronization node can be configured with a client, deployed on the same device as the data synchronization node, or on different devices. The data storage module in the data synchronization node can communicate with the client, and communication between the data storage module and the client can occur via the POXIS interface. This approach eliminates the need for any modifications to the existing system disk read / write functionality in the data synchronization cluster, resulting in low integration costs. The data parsing module in the data synchronization node pulls logs from the source database and parses them to obtain first synchronization data. The data parsing module then sends this first synchronization data to the data storage module in the data synchronization node. The data storage module requests the client to synchronize and cache the first synchronization data. At this point, the client detects the first synchronization operation from the data synchronization node. In response to this first synchronization operation, the client obtains the first synchronization data. The client then sends a first synchronization request to the cloud server. After receiving the first synchronization request, the cloud server can retrieve the first synchronization data sent by the client and store it in the cloud storage space. Step S305: In response to the client's second synchronization request, the cloud server retrieves the first synchronization data from the data stored in the cloud storage space and returns the first synchronization data to the client. The data writing module in the data synchronization node can periodically request the data storage module for the first synchronization data to be written to the target database. After detecting this request, the data storage module requests the first synchronization data from the client. At this point, the client detects the second synchronization operation of the data synchronization node and sends a second synchronization request to the cloud server. After receiving the second synchronization request, the cloud server locates the first synchronization data in the cloud storage space and returns it to the client. The client can then return the first synchronization data to the data storage module. The data storage module then sends the first synchronization data to the data writing module, which writes it to the target database.As can be seen from the above description, by storing the first synchronization data in a cloud server through the data storage module, the data synchronization node can achieve separation of computing and storage. In a disaster recovery scenario, the data synchronization node can read the data to be recovered from the cloud server. By reading the recovered data from the cloud server, data recovery time can be shortened, thereby meeting the real-time synchronization requirements of the data synchronization scenario. In an optional embodiment, the method further includes the following steps: obtaining the operating status of the data synchronization node sent by the client; wherein the data synchronization node is used to synchronize the first synchronization data from the source database to the corresponding target database, and the operating status indicates whether the data synchronization node has experienced a failure; and controlling the task execution status of the data synchronization task executed by the data synchronization node based on the operating status. In this embodiment of the present disclosure, the client can also obtain the operating status of the corresponding data synchronization node. Based on this operating status, it can determine whether the data synchronization data is in a normal operating state or an abnormal operating state. For example, a heartbeat connection can be established between the data synchronization node and the client. When the data synchronization node is in a normal operating state, the data synchronization node can report a heartbeat signal to the client, thereby obtaining the operating status of the data synchronization node based on the heartbeat signal. If the data synchronization node normally sends heartbeat signals to the client, the data synchronization node's operating status can be determined to be normal. If the data synchronization node abnormally sends heartbeat signals, for example, stops sending heartbeat signals to the client, the data synchronization node's operating status is determined to be abnormal. After obtaining the operating status of the data synchronization node, the client can send this operating status to the cloud server. The cloud server can control the task execution status of the data synchronization task executed by the data synchronization node based on this operating status. For example, if the cloud server determines that the operating status is normal, the data synchronization node can continue to execute the data synchronization task, that is, the task execution status is continued. For another example, if the cloud server determines that the operating status is abnormal, the cloud server can dispatch the data synchronization task executed by the data synchronization node to another data synchronization node.By obtaining the operating status of data synchronization nodes, the normal execution of data synchronization tasks can be ensured, thereby ensuring the normal operation of the data synchronization system. In an optional embodiment, if there are multiple data synchronization nodes, the above steps control the task execution status of data synchronization tasks executed by the data synchronization nodes based on the operating status, specifically including the following steps: determining a multi-level synchronization node group based on the multiple data synchronization nodes; wherein each level includes at least one synchronization node group, and synchronization node groups at the same level have different data synchronization nodes; determining a target operating status for the data synchronization nodes in each synchronization node group; and controlling the task execution status of data synchronization tasks executed by the data synchronization nodes in the synchronization node group based on the target operating status. Here, if there are multiple data synchronization nodes, the data synchronization nodes can be grouped into multiple levels to obtain multi-level synchronization node groups. The data synchronization nodes can be grouped according to a classification label, which includes multiple hierarchical sub-labels, such as region, availability zone, and cluster. A region can contain multiple availability zones, an availability zone can contain multiple clusters, and a cluster can contain multiple data synchronization nodes. For example, multiple data synchronization nodes can be grouped by region to obtain region 1 and region 2. Region 1 is then divided into availability zones, for example, into availability zones 11 and 12, and region 2 is divided into availability zones 31 and 32. Next, availability zone 11 is divided into clusters 111 and 112, availability zone 12 is divided into clusters 121 and 122, availability zone 21 is divided into clusters 211 and 212, and availability zone 22 is divided into clusters 221 and 222. A cluster can be understood as the data synchronization cluster described in the embodiments of this disclosure. Region 1 and region 2 are two synchronization node groups at the same level, and availability zones 11 and 12 are two synchronization node groups at the same level. Here, regions, availability zones, and clusters can all be understood as groups of synchronized nodes. Clusters are contained within availability zones, and availability zones are contained within regions.At this point, multiple levels of synchronization node groups can be determined based on all synchronization node groups. Then, a target operating state for the data synchronization nodes in the synchronization node groups can be determined; and the task execution state of the data synchronization tasks executed by the data synchronization nodes in the synchronization node groups can be controlled based on the target operating state. In an optional embodiment, the above step of controlling the task execution state of the data synchronization tasks executed by the data synchronization nodes in the synchronization node groups based on the target operating state specifically includes the following steps: if a first synchronization node group in which all data synchronization nodes have failed is determined based on the target operating state, determining a level label for the first synchronization node group; wherein the level label indicates a service area for the first synchronization node group; determining a second synchronization node group in normal operation within the service area; and scheduling the data synchronization tasks executed by the data synchronization nodes in the first synchronization node group to the second synchronization node group. In this disclosed embodiment, after obtaining the target operating state of each data synchronization node in the synchronization node group, the cloud server can determine whether all data synchronization nodes in the synchronization node group have failed based on the target operating state. If, based on the target operating state, it is determined that there is a first synchronization node group in which all data synchronization nodes in the synchronization node group have failed. Then, a hierarchical label of the first synchronization node group is determined; wherein, the hierarchical label can be understood as a sub-label in the classification label described in the above embodiment. The hierarchical label can be used to indicate the service area of the first synchronization node group. For example, the service area is "Region Beijing", and another example is "Availability Zone A in Region Beijing". After determining the service area, a second synchronization node group in normal operation in the service area can be determined. For example, if the service area is "Availability Zone", then a second synchronization node group in normal operation can be determined in the synchronization node group corresponding to the availability zone; then, the data synchronization tasks executed by the data synchronization nodes in the first synchronization node group are scheduled to the second synchronization node group.In an optional embodiment, the above step controls the task execution status of the data synchronization tasks executed by the synchronization node group based on the target operating status, specifically including the following steps: if a third synchronization node group in which some data synchronization nodes have failed is determined based on the target operating status, then a second data synchronization node in the third synchronization node group is determined to be in a normal operating state; and the data synchronization task executed by the failed data synchronization node in the third synchronization node group is scheduled to the second data synchronization node. In this embodiment of the present disclosure, after obtaining the target operating status of each data synchronization node in the synchronization node group, the cloud server can determine whether all data synchronization nodes in the synchronization node group have failed based on the target operating status. If a third synchronization node group in which some data synchronization nodes have failed is determined based on the target operating status, for example, if cluster 111 in availability zone 11 has failed and cluster 112 is in a normal operating state, this indicates that some data synchronization nodes in the data node group corresponding to availability zone 11 have failed. In this case, the second data synchronization node in availability zone 11, for example, cluster 112, which is determined to be in a normal operating state, can be scheduled. Afterward, the data synchronization task being executed by the faulty data synchronization node in the third synchronization node group can be scheduled to the second data synchronization node. For example, the data synchronization task being executed by cluster 111 can be scheduled to cluster 112. In the aforementioned implementation, a data synchronization system typically uses multiple data synchronization nodes to perform the task of synchronizing data from a source database to a target database. Therefore, by processing the operating status of data synchronization nodes based on the synchronization node group dimension, it is possible to accurately locate abnormal data synchronization tasks, thereby ensuring the normal execution of data synchronization tasks and, consequently, the normal operation of the data synchronization system. In the disclosed embodiment, each synchronization node group can also be expanded or reduced in capacity based on its resource utilization.In an optional embodiment, after storing the first synchronized data in the cloud storage space, the method further includes the following steps: determining third synchronized data within the first synchronized data whose storage time exceeds a preset time; and moving the third synchronized data from the current storage area to the low-frequency storage area. In this embodiment of the present disclosure, the data synchronization system can partition the first synchronized data written to the cloud storage space according to data write time, where each data partition corresponds to a data write time. In this case, data write times that do not meet write requirements can be determined, i.e., the storage time between the current time and the data write time exceeds a preset time. In this case, the data partition corresponding to the data write time can be determined, and the data corresponding to the data partition can be designated as the third synchronized data. The third synchronized data can then be moved from the current storage area to the low-frequency storage area. This processing approach can further reduce storage costs, with an estimated 30% reduction in historical data storage costs. If historical data needs to be backdated, the data partitions in the low-frequency storage can be directly read. FIG4 shows a schematic diagram of the structure of a data synchronization system provided in an embodiment of the present disclosure, comprising a data synchronization node 41, a client 42, and a cloud server 43. Client 42 is configured to, in response to a first synchronization operation of the data synchronization node, obtain first synchronization data from a source database. The data synchronization node is configured to synchronize the first synchronization data from the source database to a corresponding target database. Furthermore, in response to a second synchronization operation of the data synchronization node, the first synchronization data in the cloud storage space is synchronized to the target database for storage. Cloud server 43 is configured to, in response to a first synchronization request from the client, obtain first synchronization data sent by the client. The first synchronization data is data from the source database to be synchronized to the corresponding target database. Furthermore, in response to a second synchronization request from the client, the first synchronization data is obtained from data stored in the cloud storage space and returned to the client. As shown in FIG2 , the data synchronization cluster includes multiple data synchronization nodes, each of which includes a data parsing module, a data storage module, and a data writing module.The client is an application pre-configured in the data synchronization cluster that can communicate with the data synchronization node. Each data synchronization node can be configured with a client, deployed on the same device as the data synchronization node, or on different devices. The data storage module in the data synchronization node can communicate with the client, and communication between the data storage module and the client can occur via the POXIS interface. This approach eliminates the need for any modifications to the existing system disk read / write functionality in the data synchronization cluster, resulting in low integration costs. The data parsing module in the data synchronization node pulls logs from the source database and parses them to obtain first synchronization data. The data parsing module then sends this first synchronization data to the data storage module in the data synchronization node. The data storage module requests the client to synchronize and cache the first synchronization data. At this point, the client detects the first synchronization operation from the data synchronization node. In response to this first synchronization operation, the client obtains the first synchronization data. The client then sends a first synchronization request to the cloud server. After receiving the first synchronization request, the cloud server can obtain the first synchronization data sent by the client and store the first synchronization data in the cloud storage space. Cloud storage space can be pre-allocated in the cloud server for the source database or the target database. The cloud storage space can be tagged in the cloud server using the identifier of the source database or the target database. The cloud server can use a mature, high-performance object storage service provided by a cloud vendor. This disclosure does not specifically limit the type of cloud server; implementation is the only applicable requirement. The data writing module in the data synchronization node can periodically request the data storage module for the first synchronization data to be written to the target database. After detecting this request, the data storage module requests the first synchronization data from the client. At this point, the client detects a second synchronization operation by the data synchronization node and sends a second synchronization request to the cloud server. After receiving the second synchronization request, the cloud server determines the first synchronization data in the cloud storage space and returns it to the client. The client can then return the first synchronization data to the data storage module.The data storage module then sends the first synchronized data to the data writing module, which writes the first synchronized data to the target database. As can be seen from the above description, by having the data storage module store the first synchronized data in the cloud server, the data synchronization node can achieve separation of computation and storage. In disaster recovery scenarios, the data synchronization node can read the data to be recovered from the cloud server. By reading the recovered data from the cloud server, data recovery time can be shortened, thereby meeting the real-time synchronization requirements of data synchronization scenarios. The above process is described below with reference to specific embodiments. As can be seen from the above description, the data synchronization system includes multiple data synchronization clusters. As shown in Figure 2, the data synchronization cluster includes multiple data synchronization nodes, each of which includes a data parsing module, a data storage module, and a data writing module. A client is an application pre-configured in the data synchronization cluster that can communicate with the data synchronization node. A client can be provided for each data synchronization node, and the client and the data synchronization node can be deployed on the same device; alternatively, the client and the data synchronization node can be deployed on different devices. As shown in Figure 2, the data synchronization system also includes a storage system metadata engine and cloud storage space. The cloud storage space can be an object storage service provided by a cloud vendor, but this disclosure does not specifically limit this. The client provides POXIS access, which is the same interface used to access a local hard drive. Existing data synchronization systems can directly use the POXIS interface to access the object storage service, reducing modification costs. In write scenarios, the data storage module can write to the client through the POXIS interface, and the client data will be persisted to the remote cloud storage space, thus achieving the separation of computing and storage capabilities in the data storage module. In read scenarios, the data storage module can read from the client through the POXIS interface. The client can use the local hard drive as a cache disk and implement basic caching functions such as pre-reading. Once data hits the cache disk, the read performance is the same as reading from the local hard drive.When a single data storage module fails, since the stored data is in remote cloud storage, single-machine disaster recovery eliminates the need to rebuild the data storage module. Instead, the module can be restarted on a functioning device. After the restart, the module can directly read the persisted data from the cloud storage. This approach improves data recovery time, reducing it to seconds, thereby improving data synchronization efficiency. Furthermore, this approach reduces storage costs. Unlike local hard drive failures, which only cause an outage in the corresponding data storage module, in data storage systems with separate compute and storage, an outage in the metadata engine or cloud storage can cause an outage in the entire data synchronization cluster, expanding the failure radius. Therefore, comprehensive fault isolation, fault awareness, and disaster recovery solutions are crucial. As shown in Figure 5, data synchronization nodes can be deployed hierarchically, resulting in a multi-tiered synchronization node group. This article describes the deployment of data synchronization nodes using the classification labels of region, availability zone, and cluster as an example. As shown in Figure 5, the deployment plan deploys at least two availability zones in each region, and at least two data synchronization clusters in each availability zone. For example, data synchronization cluster 1 and data synchronization cluster 2 are two independent clusters in the same region and availability zone. For example, data synchronization cluster 1 and data synchronization cluster 3 are two independent clusters in the same region and different availability zones. For example, data synchronization cluster 1 and data synchronization cluster 5 are two independent clusters in different regions and different availability zones. The client can send the operating status of the data synchronization node to the data synchronization anomaly detection module in the cloud server. If an anomaly occurs in the metadata engine or cloud storage space, the data synchronization anomaly detection module can detect it in real time and trigger single-cluster disaster recovery, scheduling all data synchronization tasks in the corresponding cluster to other functioning clusters in the same availability zone. Here, a task scheduling module for the data synchronization system can be set up in the cloud server. This task scheduling module can schedule all data synchronization tasks in the corresponding cluster to other functioning clusters in the same availability zone. For example, if data synchronization cluster 1 fails, the task scheduling module can schedule all data synchronization tasks in data synchronization cluster 1 to other functioning clusters in the same availability zone.If a single-AZ-level failure occurs, the data synchronization anomaly detection module can detect it in real time and trigger single-AZ disaster recovery, scheduling data synchronization tasks for all clusters in that zone to a functioning AZ in the same region. A task scheduling module for the data synchronization system can be set up in the cloud server. This task scheduling module can schedule data synchronization tasks for all clusters in that zone to functioning AZs in the same region. For example, if Zone A fails, the task scheduling module can schedule all data synchronization tasks in Zone A to other functioning AZs in the same region. If a regional-level failure occurs, the data synchronization anomaly detection module can detect it in real time and trigger regional-level disaster recovery, scheduling data synchronization tasks for all clusters in that zone to other functioning zones. A task scheduling module for the data synchronization system can be set up in the cloud server. This task scheduling module can schedule data synchronization tasks for all clusters in that zone to other functioning zones. For example, if Zone Beijing fails, the task scheduling module can schedule all data synchronization tasks in that zone to other functioning zones. Furthermore, the data synchronization anomaly detection module can identify hotspot resources in real time, such as high CPU / IO usage on a single client, high metadata engine load, or high cloud storage space usage, and formulate corresponding load balancing strategies. The data synchronization method provided herein may generate a large number of data synchronization clusters. Therefore, a resource management module for the data synchronization system can be set up in the cloud server to automatically create and destroy data synchronization clusters. If a data synchronization cluster's resource utilization is high, the resource management module can identify this in real time and automatically scale it up. If resource utilization is low, the resource management module can identify this in real time and automatically scale it down to ensure stable overall resource utilization. In an embodiment of the present disclosure, the data synchronization system can partition the first synchronized data written to the cloud storage space into data shards based on the data write time; each data shard corresponds to a data write time. For example, as shown in Figure 6, the first synchronized data can be partitioned into data shard 1, data shard 2, and data shard 3.At this point, it can be determined that the data write time does not meet the write requirements, that is, the storage time between the current time and the data write time exceeds the preset time. In this case, the data shard corresponding to the data write time can be determined, and the data corresponding to the data shard can be designated as the third synchronization data. The third synchronization data is then moved from the current storage area to the low-frequency storage area. A data rotation module for the data synchronization system can be pre-configured in the cloud server. This module automatically rotates written data shards according to the data write time, switching from standard storage to low-frequency storage, thereby reducing storage costs. Historical data storage costs are expected to be reduced by 30%. If historical data needs to be backdated, the data shards in the low-frequency storage can be directly read. In the disclosed embodiment, the data synchronization system can implement communication between cloud servers using a POSIX interface, thereby reducing access costs. In terms of operation and maintenance costs, the data synchronization system can improve stability and reduce operation and maintenance costs by using cloud storage space. The data synchronization system can also reduce storage costs. Another embodiment of the present disclosure provides a computer device, which can be a device used for product analysis on an industrial production line, such as a host computer. The computer device includes a memory, a processor, and a computer program stored in the memory and executable on the processor. The processor executes the program to implement the product analysis method described in any of the aforementioned embodiments. As shown in FIG7 , the computer device 70 may include a processor 700, a memory 701, a bus 702, and a communication interface 703. The processor 700, the communication interface 703, and the memory 701 are connected via the bus 702. The memory 701 stores a computer program executable on the processor 700. When the processor 700 executes the computer program, the method described in any of the aforementioned embodiments of the present disclosure is executed. The memory 701 may include high-speed random access memory (RAM) or may also include non-volatile memory, such as at least one disk storage device.The communication connection between the system network element and at least one other network element is achieved via at least one communication interface 703 (which may be wired or wireless). This interface may include the Internet, a wide area network, a local area network, a metropolitan area network, or the like. Bus 702 may be an ISA bus, a PCI bus, or an EISA bus. Buses may be classified as address buses, data buses, or control buses. Memory 701 is used to store programs. Processor 700 executes these programs upon receiving execution instructions. The methods disclosed in any of the aforementioned embodiments of the present disclosure may be applied to or implemented by processor 700. Processor 700 may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the aforementioned method may be performed by hardware integrated logic circuits in processor 700 or by software instructions. The processor 700 described above can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of this disclosure. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in conjunction with the embodiments of this disclosure can be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software modules within the decoding processor. The software modules can be located in a storage medium well-known in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. The storage medium is located in memory 701. The processor 700 reads information from memory 701 and, in conjunction with its hardware, completes the steps of the aforementioned methods. The computer device provided by the embodiment of the present disclosure and the method provided by the embodiment of the present disclosure are based on the same inventive concept and have the same beneficial effects as the method adopted, operated or implemented by them.Another embodiment of the present disclosure provides a computer-readable storage medium having a computer program stored thereon. This program is executed by a processor to implement the control method of any of the aforementioned embodiments. Referring to FIG8 , the computer-readable storage medium shown is an optical disc 20 having a computer program (i.e., a program product) stored thereon. When executed by the processor, this computer program executes the method provided in any of the aforementioned embodiments. It should be noted that examples of computer-readable storage media may also include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory, or other optical or magnetic storage media, and these are not detailed here. Another embodiment of the present disclosure provides a computer program product including a computer program. This program is executed by a processor to implement the control method of any of the aforementioned embodiments. The computer-readable storage media and computer program products provided in the above-described embodiments of the present disclosure are based on the same inventive concepts as the methods provided in the embodiments of the present disclosure and have the same beneficial effects as the methods employed, executed, or implemented by the application programs stored therein. It should be noted that the term "module" is not intended to be limited to a specific physical form. Depending on the specific application, a module can be implemented as hardware, firmware, software, and / or a combination thereof. Furthermore, different modules may share common components or even be implemented by the same components. Clear boundaries may or may not exist between different modules. The algorithms and displays provided herein are not inherently related to any particular computer, virtual device, or other device. Various general-purpose devices may also be used with the examples based thereon. The structures required to construct such devices are apparent from the above description. Furthermore, the present disclosure is not specific to any particular programming language. It should be understood that the content of the present disclosure described herein can be implemented using a variety of programming languages, and the above description of specific languages is provided to illustrate the embodiments of the present disclosure. It should be understood that although the steps in the flowcharts of the accompanying drawings are shown sequentially as indicated by the arrows, these steps are not necessarily executed in the order indicated by the arrows.Unless otherwise explicitly stated herein, the execution of these steps is not strictly limited to a specific order and may be performed in other orders. Furthermore, at least some of the steps in the flowcharts of the accompanying drawings may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed and completed at the same time, but may be executed at different times. Their execution order is not necessarily sequential, but may be performed in rotation or alternation with other steps or at least a portion of their sub-steps or stages. The above embodiments merely represent implementation methods of the present disclosure. While the description is relatively specific and detailed, they should not be construed as limiting the scope of the present disclosure. It should be noted that those skilled in the art may make various variations and improvements without departing from the spirit of the present disclosure, and such variations and improvements are within the scope of protection of the present disclosure. Therefore, the scope of protection of the present disclosure shall be determined by the appended claims.
Claims
Claims 1. A data synchronization method, applied to a client, comprising: In response to a first synchronization operation of the data synchronization node, obtain first synchronized data in the source database; wherein, the data synchronization node is used to synchronize the first synchronized data from the source database to the corresponding target database; store the first synchronized data in the cloud server; wherein, the cloud server includes a cloud storage space for storing the data to be synchronized in the source database; in response to a second synchronization operation of the data synchronization node, synchronize the first synchronized data in the cloud storage space to the target database for storage.
2. The method according to claim 1, wherein The step of, in response to the second synchronization operation of the data synchronization node, synchronizing the first synchronized data in the cloud storage space to the target database for storage includes: in response to the second synchronization operation, search for the first synchronized data in the local storage space; wherein, the data stored in the local storage space is pre-synchronized data previously obtained from the cloud storage space; synchronize the found first synchronized data to the target database for storage.
3. The method according to claim 1, wherein The method further includes: in response to a disaster recovery instruction of the data synchronization node, obtain second synchronized data from the cloud storage space; wherein, the second synchronized data is the data in the source database that has not been synchronized to the target database; send the second synchronized data to the data synchronization node after restart; wherein, the data synchronization node after restart is used to synchronize the second synchronized data to the target database.
4. The method according to claim 1, wherein The method further includes: 28 Obtain the running state of the data synchronization node; send the running state to the cloud server; wherein, the running state is used to control the task execution state of the data synchronization task executed by the data synchronization node.
5. A data synchronization method applied to a cloud server, comprising: In response to a first synchronization request from the client, obtain the first synchronized data sent by the client; wherein, the first synchronized data is the data in the source database to be synchronized to the corresponding target database; store the first synchronized data in the cloud storage space; in response to a second synchronization request from the client, obtain the first synchronized data from the data stored in the cloud storage space, and return the first synchronized data to the client.
6. The method according to claim 5, wherein The method further includes: obtaining the running state of the data synchronization node sent by the client; wherein, the data synchronization node is used to synchronize the first synchronization data from the source database to the corresponding target database, and the running state is used to indicate whether the data synchronization node has a fault; controlling the task execution state of the data synchronization task executed by the data synchronization node based on the running state.
7. The method according to claim 6, wherein The number of the data synchronization nodes is multiple; the controlling the task execution state of the data synchronization task executed by the data synchronization node based on the running state includes: determining a multi-level synchronization node group based on the multiple data synchronization nodes; wherein, each level includes at least one synchronization node group, and the data synchronization nodes in the synchronization node groups at the same level are different; determining the target running state of the data synchronization nodes in each synchronization node group; controlling the task execution state of the data synchronization task executed by the data synchronization nodes in the synchronization node group based on the target running state.
8. The method according to claim 7, wherein The controlling the task execution state of the data synchronization task executed by the data synchronization nodes in the synchronization node group based on the target running state includes: if a first synchronization node group in which all data synchronization nodes have faults is determined in the synchronization node group based on the target running state, determining the level label of the first synchronization node group; wherein, the level label is used to indicate the service area of the first synchronization node group; determining a second synchronization node group in the service area that is in a normal running state; scheduling the data synchronization task executed by the data synchronization nodes in the second synchronization node group to the second synchronization node group.
9. The method according to claim 7, wherein The controlling the task execution state of the data synchronization task executed by the synchronization node group based on the target running state includes: if a third synchronization node group in which some data synchronization nodes have faults is determined in the synchronization node group based on the target running state, determining a second data synchronization node in the third synchronization node group that is in a normal running state; scheduling the data synchronization task executed by the data synchronization nodes with faults in the third synchronization node group to the second data synchronization node.
10. The method according to claim 6, wherein After storing the first synchronization data in the cloud storage space, the method further includes: determining third synchronization data in the first synchronization data whose storage time exceeds a preset time; moving the third synchronization data from the current storage area to a low-frequency storage area.
11. The method according to claim 6, wherein Obtaining the running state of the data synchronization node sent by the client, including: in response to the data synchronization node normally sending a heartbeat signal to the client, determining that the running state is a normal running state; in response to the data synchronization node stopping sending the heartbeat signal to the client, determining That the running state is an abnormal running state.
12. The method according to claim 11, wherein Determining third synchronization data in the first synchronization data whose storage time exceeds a preset time, including: performing data sharding on the first synchronization data according to the data writing time to obtain a plurality of data shards; determining, from the plurality of data shards, a target data shard whose storage time exceeds the preset time, and determining the target data shard as the third synchronization data.
13. A data synchronization system, comprising: A data synchronization node, a client, and a cloud server; the client is configured to, in response to a first synchronization operation of the data synchronization node, obtain first synchronization data in a source database; wherein, the data synchronization node is configured to synchronize the first synchronization data from the source database to a corresponding target database; and in response to a second synchronization operation of the data synchronization node, synchronize the first synchronization data in the cloud storage space to the target database for storage; the cloud server is configured to, in response to a first synchronization request of the client, obtain the first synchronization data sent by the client; wherein, the first synchronization data is data in the source database to be synchronized to a corresponding target database; and in response to a second synchronization request of the client, obtain the first synchronization data from the data stored in the cloud storage space, and return the first synchronization data to the client.
14. A computer device, comprising: A processor, a memory, and a bus, the memory stores machine-readable instructions executable by the processor, when the computer device runs, the processor communicates with the memory through the bus, and when the machine-readable instructions are executed by the processor, the steps of the data synchronization method according to any one of claims 1 to 12 are executed.
15. A computer-readable storage medium, on which a computer program is stored. When the computer program is run by a processor, it executes the steps of the data synchronization method described in any one of claims 1 to 12.
Citation Information
Patent Citations
Method and device for migrating businesses and disaster recovery system
CN103647849A
Data synchronization method and device, computer equipment and storage medium
CN110147411A
Business data storage exception processing method and device and server
CN113849352A
Cloud computing service processing method and system and computer readable storage medium
CN116074188A
Multi-active framework data synchronization method and device, computer equipment and storage medium
CN117061535A