CN117097742A - Data synchronization method and related equipment - Google Patents

Data synchronization method and related equipment Download PDF

Info

Publication number
CN117097742A
CN117097742A CN202311185914.5A CN202311185914A CN117097742A CN 117097742 A CN117097742 A CN 117097742A CN 202311185914 A CN202311185914 A CN 202311185914A CN 117097742 A CN117097742 A CN 117097742A
Authority
CN
China
Prior art keywords
redis
middleware
data
command
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311185914.5A
Other languages
Chinese (zh)
Inventor
桂家海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CMB Yunchuang Information Technology Co Ltd
Original Assignee
CMB Yunchuang Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CMB Yunchuang Information Technology Co Ltd filed Critical CMB Yunchuang Information Technology Co Ltd
Priority to CN202311185914.5A priority Critical patent/CN117097742A/en
Publication of CN117097742A publication Critical patent/CN117097742A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The embodiment of the application provides a data synchronization method and related equipment, which are used for solving the data synchronization among different Redis servers so as to reduce the system pressure as much as possible. The method of the embodiment of the application is applied to the Redis middleware, and the Redis client is in communication connection with the Redis server through the Redis middleware, and comprises the following steps: when the Redis middleware is in a first starting state, determining the corresponding relation between all the Redis middleware and all the Redis servers; receiving a network request instruction of a Redis client, acquiring command message data, and sending the command message data to a target Redis server with a corresponding relation with the Redis middleware; receiving command result data, and sending the command result data to the Redis client; when the Redis middleware acquires the command result data, the command message data are stored in the local storage space of the Redis middleware according to the return sequence of the command result data, so that the command message data are sent to another Redis server according to the return sequence.

Description

Data synchronization method and related equipment
Technical Field
The embodiment of the application relates to the technical field of data processing, in particular to a data synchronization method and related equipment.
Background
The system of the common financial enterprise provides application programming interface (API, application programming interface) service to the outside, and the availability of the system is extremely high because the customers who are in butt joint are mostly banks and financial enterprises. In fact, though there is a high availability of guaranteed services at the application level, if a machine room failure, network interruption, power outage, etc. occur, the system is still rendered unusable.
Therefore, the master-slave copy function of the Redis is used for realizing the reusability of the system. Redis's master-slave replication refers to replicating data of one management synchronization server to other management synchronization servers. The former is called master and the latter is called slave. In practice, however, redis only supports data synchronization between a master node and a slave node within a cluster, and does not support data synchronization between clusters.
Therefore, there is a need for a Redis that addresses data consistency between two systems without affecting the normal use of the systems.
Disclosure of Invention
The embodiment of the application provides a data synchronization method and related equipment, which are used for solving the data synchronization among different Redis servers so as to reduce the system pressure as much as possible.
The first aspect of the embodiment of the application provides a data synchronization method applied to a Redis middleware, wherein a Redis client is in communication connection with a Redis server through the Redis middleware, and the method comprises the following steps:
when the Redis middleware is in a first starting state, determining the corresponding relation between all the Redis middleware and all the Redis servers;
receiving a network request instruction of the Redis client, acquiring command message data, and sending the command message data to a target Redis server with a corresponding relation with the Redis middleware;
receiving command result data, and sending the command result data to the Redis client; the command message data is processing result data of the target Redis server after the command message data is processed;
when the Redis middleware acquires the command result data, storing the command message data in a local storage space of the Redis middleware according to the return sequence of the command result data, so as to send the command message data to another Redis server according to the return sequence; the other Redis server is other Redis servers except the target Redis server.
Optionally, the determining the correspondence between all the Redis middleware and all the Redis servers includes:
when the Redis middleware is in a first starting state, registering the Redis middleware to obtain service registration data;
when the registration number of the Redis middleware corresponding to the service registration data meets a preset condition, determining any one of the Redis middleware as a target Redis middleware; wherein, all the Redis middleware is the registered Redis middleware;
acquiring target cluster information of all the Redis servers through the target Redis middleware so as to distribute identification information for all the Redis middleware and all the Redis servers according to the target cluster information;
and determining the corresponding relation between any Redis middleware and any Redis server according to the identification information.
Optionally, the method further comprises:
when a first Redis middleware is in a fault state, determining a first Redis server with a corresponding relation with the first Redis middleware through the target Redis middleware;
setting the corresponding relation between the first Redis server and the second Redis middleware according to the identification information; the first Redis middleware and the second Redis middleware are any two Redis middleware in all the Redis middleware, the second Redis middleware is in an idle state, and the Redis server is any one of the Redis servers.
Optionally, the Redis middleware includes a client module, a server module, and a processing module, where the client module, the server module, and the processing module are connected in two-by-two communication, and the receiving the network request instruction of the Redis client, obtaining command message data, and sending the command message data to a target Redis server having a corresponding relationship with the Redis middleware, includes:
the server module receives the network request instruction of the Redis client and unpacks network message data in the network request instruction according to a target communication protocol to obtain initial message data;
invoking the processing module to filter the initial message data so as to intercept the intercepted message data which does not meet the preset interception condition and acquire the command message data;
and forwarding the command message data to the target Redis server through the client module.
Optionally, the Redis middleware includes a client module, a server module, and a processing module, where the client module, the server module, and the processing module are connected in two-to-two communication, and the receiving the command result data and sending the command result data to the Redis client includes:
The processing module obtains the command result data transmitted by the target Redis server through the client module;
and sending all the command result data to the Redis client according to the return sequence of all the command result data.
Optionally, the storing the command message data in the local storage space of the Redis middleware according to the return sequence of the command result data, so as to send the command message data to another Redis server according to the return sequence, including:
according to the return sequence, storing the command message data in a local storage space of the Redis middleware according to a target storage format to obtain a command storage file;
and reading the command message data according to the command storage file so as to pass through the client module, and sending the command message data to the other Redis server according to the return sequence.
Optionally, after the storing the command message data in the local storage space of the Redis middleware according to the return sequence of the command result data so as to send the command message data to another Redis server according to the return sequence, the method further includes:
When the other Redis server side acquires the command message data, storing the index position of the command message data in the local storage space according to a target writing format and the return sequence to acquire the command index data;
when the Redis middleware is in a second starting state, acquiring the command message data according to the command index data, and forwarding the command message data to the other Redis server side so as to enable all the Redis server sides to complete data synchronization.
The second aspect of the embodiment of the application provides a data synchronization system, which is applied to a Redis middleware, wherein a Redis client is in communication connection with a Redis server through the Redis middleware, and the data synchronization system comprises:
a determining unit, configured to determine, when the Redis middleware is in a first start state, correspondence between all Redis middleware and all Redis servers;
the receiving unit is used for receiving the network request instruction of the Redis client, obtaining command message data and sending the command message data to a target Redis server which has a corresponding relation with the Redis middleware;
the receiving unit is further configured to receive command result data, and send the command result data to the Redis client; the command message data is processing result data of the target Redis server after the command message data is processed;
The storage unit is used for storing the command message data in a local storage space of the Redis middleware according to the return sequence of the command result data when the Redis middleware acquires the command result data, so as to send the command message data to another Redis server according to the return sequence; the other Redis server is other Redis servers except the target Redis server.
A second aspect of the embodiment of the present application provides a method for executing the data synchronization method described in the first aspect.
A third aspect of an embodiment of the present application provides a data synchronization device, including:
the device comprises a central processing unit, a memory, an input/output interface, a wired or wireless network interface and a power supply;
the memory is a short-term memory or a persistent memory;
the central processor is configured to communicate with the memory and to execute instruction operations in the memory to perform the data synchronization method of the first aspect.
A fourth aspect of the embodiment of the present application provides a computer-readable storage medium, which includes instructions that, when executed on a computer, cause the computer to perform the data synchronization method according to the first aspect.
From the above technical solutions, the embodiment of the present application has the following advantages: according to the data synchronization method disclosed by the embodiment of the application, when the Redis middleware is in the first starting state, the corresponding relation between all the Redis middleware and all the Redis server sides is determined; then, receiving a network request instruction of the Redis client, acquiring command message data, and sending the command message data to a target Redis server with a corresponding relation with the Redis middleware; receiving command result data and sending the command result data to the Redis client; the command message data is processing result data of the target Redis server after the command message data is processed; finally, when the Redis middleware acquires the command result data, storing the command message data in a local storage space of the Redis middleware according to the return sequence of the command result data so as to send the command message data to another Redis server according to the return sequence; the other Redis server is other Redis servers except the target Redis server. Therefore, the data can be synchronized in different server clusters, the normal use of the whole system is not affected, and the method has high availability under the condition of ensuring service.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for the description of the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments described in the present application, and other drawings may be obtained according to these drawings for those of ordinary skill in the art.
FIG. 1 is a schematic diagram of a system architecture for remote data synchronization according to an embodiment of the present application;
FIG. 2 is a schematic flow chart of a data synchronization method according to an embodiment of the present application;
FIG. 3 is a flow chart of another data synchronization method according to an embodiment of the present application;
FIG. 4 is a schematic diagram of a command forwarding architecture according to an embodiment of the present application;
FIG. 5 is a schematic diagram of a command synchronization architecture according to an embodiment of the present application;
FIG. 6 is a schematic diagram of a data synchronization system according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of a data synchronization device according to an embodiment of the present application.
Detailed Description
The terms "first," "second," "third," "fourth" and the like in the description and in the claims and in the above drawings, if any, are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments described herein may be implemented in other sequences than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
It should be noted that the description of "first", "second", etc. in this disclosure is for descriptive purposes only and is not to be construed as indicating or implying a relative importance or implying an indication of the number of technical features being indicated. Thus, a feature defining "a first" or "a second" may explicitly or implicitly include at least one such feature. In addition, the technical solutions of the embodiments may be combined with each other, but it is necessary to base that the technical solutions can be realized by those skilled in the art, and when the technical solutions are contradictory or cannot be realized, the combination of the technical solutions should be considered to be absent and not within the scope of protection claimed in the present application.
The system may provide API services externally. However, since most of the customers who are in butt joint are banks and finance, the availability to the system is extremely high. In fact, though there is a guarantee of high availability of services at the application level, if a machine room failure, network interruption, power outage, etc. occur, the system is still rendered unusable. Therefore, on the basis of high availability, a remote double-activity scheme is introduced, namely, the system is deployed in two different machine rooms, and meanwhile, the service is provided for clients. The difficulty of the two-active-in-place scheme is how to solve the data consistency between two sets of systems, and the normal use of the systems is not affected. The Redis Sync middleware is used for solving the problem of mutual synchronization of data among Redis clusters.
In the technical scheme of the application, the Redis multi-cluster data synchronization middleware, hereinafter referred to as Redis Sync for short, is a type of Redis data synchronization middleware, and is used for solving the problem of data synchronization of a plurality of Redis clusters in a different-place double-activity scene and ensuring the final consistency of data among the Redis clusters in different clusters. Wherein, the Redis Sync has the following functions: (1) an agent for Redis services; (2) full synchronization among Redis clusters; (3) incremental synchronization between Redis clusters. It will be appreciated that Redis acts as a local memory database for relieving IO pressure while it also has the property of low latency.
For the convenience of understanding and description, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is apparent that the described embodiments are only some embodiments of the present application, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
Referring to fig. 1, fig. 1 is a schematic diagram of a system architecture for remote data synchronization according to an embodiment of the present application.
Based on the technical problems, the technical scheme of the application adopts a different-place double-activity scheme. In the two living schemes in different places, the system can be deployed in two machine rooms in different places, and in two sets of environments, all applications and middleware are the same, including databases, redis clusters and the like. In practice, redis only supports data synchronization between a master node and a slave node within a cluster, and does not support data synchronization between clusters. This is the design initiative for the Redis multi-cluster data synchronization middleware (Redis Sync).
Based on fig. 1, it can be seen that the whole set of applications are deployed in the machine rooms of two cities respectively, and the local storage is accessed. Specifically, in one design scheme, two sets of completely identical systems are respectively deployed in a Shenzhen machine room and Shanghai. For example, a Redis client (Redis Client), a Redis Sync, and a Redis Cluster (Redis Cluster) are deployed in the Shenzhen machine room. Wherein, the Redis cluster includes a plurality of Redis servers (Redis Server). Redis clients are in communication connection with Redis Server in the Redis cluster through Redis Sync.
It should be noted that the redisSync middleware is essentially a Server that is distributed and implements the Redis protocol. For a client, it can be considered a Redis proxy, accessed through Redis commands; for Redis server, it can be considered a Redis client. Therefore, the Redis Sync serves as a core function of the proxy, namely, receives a command from the Redis client and forwards the command to the Redis server; and returning the result from the Redis server to the Redis client. Meanwhile, as a proxy, the Redis Sync is not only used for forwarding commands and results, but also can forward specified commands to the Redis clusters so as to realize incremental real-time synchronization of data among the Redis clusters. In addition, based on the principle of Redis master-slave replication, the Redis Sync also realizes that the data of the Redis cluster is replicated to another Redis cluster in full.
In fig. 1, redissync_1, redissync_2, or redissync_3 can be understood as three independent RedisSync middleware, and redis_m1, redis_m2, or redis_m3 represents a master node of any Redis server inside a Redis cluster. I.e. master is abbreviated as m and dis _ m (1, 2, 3) represents the master node. The slave node of the Redis server corresponds to Redis_s1, redis_s2 or Redis_s3 respectively. I.e. the master slave is abbreviated as s, dis _ s (1, 2, 3) represents the slave.
Meanwhile, assuming that the scale of the Redis cluster is three masters and three slaves, the Redis Sync service needs to deploy at least three service nodes. As shown in FIG. 1, each Redis Sync service node can only act as a Redis master node proxy, in a manner that prevents the individual Redis Sync from being over-stressed, thereby affecting system performance. The Redis command is asynchronously forwarded to the Redis cluster of another machine room in the Redis Sync, so that the data real-time synchronization of the two Redis clusters in different places is realized, namely the Redis Sync is also a distributed and high-availability middleware.
In summary, in the Redis cluster, the master-slave node ratio is 1: n is greater than or equal to 0, the master node can read and write, and the slave node can only read; in the Redis Sync and the Redis cluster, the Redis Sync only proxies the Redis master node, and the ratio of the Redis Sync service node to the Redis master node is a relation of 1:1; in practice, the number of RedisSync service nodes may be slightly larger for failover. In particular, there is no limitation herein.
Based on the design concept, in another specific embodiment, in the distributed scheme of the Redis Sync, a Zookeeper middleware is introduced to realize functions of leader election, redis Sync service discovery and the like of the Redis cluster. Specifically, when the Redis cluster is started, a Zookeeper registration and discovery function is utilized to select one Redis Sync service node as a Leader, the Leader service generates a proxy rule, and then an instruction is sent to other Redis Sync service nodes to inform the latest proxy rule. This will be described in detail later for ease of understanding.
For convenience in describing the specific implementation manner of the middleware for synchronizing the dis data in fig. 1, refer to fig. 2, and fig. 2 is a schematic flow chart of a data synchronization method according to an embodiment of the present application. Including steps 201-204. It should be noted in advance that, for convenience of understanding, detailed descriptions of the Redis middleware, the Redis client, and the Redis server are not described in detail, and in particular, reference may be made to the descriptions of the Redis middleware, the Redis client, and the Redis server in fig. 1.
201. When the Redis middleware is in the first starting state, determining the corresponding relation between all the Redis middleware and all the Redis servers.
When the Redis Sync is started (i.e. the Redis middleware), the Redis Sync can determine the corresponding relation between all the Redis Sync and all the Redis servers in the Redis cluster.
In one specific embodiment, after the RedisSync is started, the current service node information may be registered in the Zookeeper, and at the same time, the registration information from other RedisSync service nodes may be monitored. Therefore, the corresponding relation between all Redis Sync and all Redis servers in the Redis cluster is determined through the specified rule. It is to be understood that the correspondence may be understood as a correspondence between one RedisSync and one Redis server in a Redis cluster. Reference is made in particular to the detailed description of this relationship in fig. 1.
Based on the above description, in different systems, for example, two sets of systems of the Shenzhen machine room and the Shanghai machine room, the Redis Sync of the Shenzhen machine room only has a corresponding relationship with the Redis server in the local Redis cluster. For convenience of description, a detailed description thereof will be omitted.
202. Receiving a network request instruction of a Redis client, acquiring command message data, and sending the command message data to a target Redis server with a corresponding relation with the Redis middleware.
After the corresponding relation between all Redis Sync and all Redis servers is determined, a network request instruction from the Redis client can be received, so that command message data in the network request instruction is acquired based on the network request instruction. Thus, the Redis Sync can send command message data to the target Redis server. It is to be understood that the target dis server is a dis server having a correspondence with the dis sync that receives the network request command. For convenience of description, a detailed description thereof will be omitted.
In one particular embodiment, the Redis Sync service node may implement command forwarding. Specifically, after receiving a network request from a Redis client, the Redis Sync service node unpacks a message carried by the network request according to a Redis communication protocol, thereby obtaining a complete command message, namely command message data. And then, after the command message data is processed, the command message data is forwarded to a target Redis server. So that the target dis server processes the command message data to return the result, and executes step 203.
203. Receiving command result data and sending the command result data to the Redis client.
After the target Redis server processes the command message data in the steps, a processing result, namely command result data, is generated. The target Redis server transmits the command result data back to the Redis Sync service node, and then the Redis Sync service node transmits the command result data back to the Redis client.
In one particular embodiment, execution of the entire command logic is accomplished by sending command result data to the Redis client.
204. When the Redis middleware acquires the command result data, the command message data are stored in the local storage space of the Redis middleware according to the return sequence of the command result data, so that the command message data are sent to another Redis server according to the return sequence.
When the Redis Sync service node obtains the command result data, the command message data processing success can be determined, so that the command message data can be stored in the local storage space of the Redis Sync service node according to the return sequence of the command result data, and then the command message data is sent to another Redis server side according to the return sequence, thereby completing data synchronization.
Based on the above embodiments, in one specific embodiment, the RedisSync service node may write the command that has been processed correctly, that is, the command message data, into the log file, so that in the asynchronous thread, the command message data is read from the log file, and forwarded to the Redis server or other multiple servers in another Redis cluster.
It should be noted that, the RedisSync service node may also forward to other Redis servers in the local Redis cluster, and this manner may be similar to the current existing scheme, which is not described herein in detail. For convenience of description, description will be made later with the Redis server in other Redis clusters.
It is to be understood that the other Redis server is another Redis server except the target Redis server. In one specific embodiment, the other Redis server may be a Redis server located in the same Redis cluster as the target Redis server, or may be a Redis server in another Redis cluster, which is not limited herein.
Through the data synchronization method disclosed by the embodiment, when the Redis middleware is in the first starting state, the corresponding relation between all the Redis middleware and all the Redis server sides is determined; then, receiving a network request instruction of the Redis client, acquiring command message data, and sending the command message data to a target Redis server with a corresponding relation with the Redis middleware; receiving command result data and sending the command result data to the Redis client; the command message data is processing result data of the target Redis server after the command message data is processed; finally, when the Redis middleware acquires the command result data, storing the command message data in a local storage space of the Redis middleware according to the return sequence of the command result data so as to send the command message data to another Redis server according to the return sequence; the other Redis server is other Redis servers except the target Redis server. Therefore, the data can be synchronized in different server clusters, the normal use of the whole system is not affected, and the method has high availability under the condition of ensuring service.
For convenience in describing the data synchronization method described in fig. 2 in detail, please refer to fig. 3, and fig. 3 is a flow chart of another data synchronization method disclosed in the embodiment of the application. Including steps 301-309.
301. When the Redis middleware is in a first starting state, registering the Redis middleware, and acquiring service registration data, so that when the registration number of the Redis middleware corresponding to the service registration data meets a preset condition, determining any one of the Redis middleware as a target Redis middleware.
When the Redis Sync service node is started, the Redis Sync service node can be registered, so that service registration data is obtained. When the registration number of the Redis Sync service nodes corresponding to the service registration data meets a preset condition, determining any one of the Redis Sync service nodes as a target Redis Sync service node. It is to be understood that all of the above-described RedisSync service nodes are successfully registered RedisSync service nodes.
In one embodiment, after the Redis Sync service node and the Redis cluster are started, the current service information, i.e. the service registration data, may be registered in the Zookeeper immediately. At the same time, the Redis cluster may monitor registration information from other Redis Sync service nodes. Thereby acquiring a registration list of the RedisSync service node corresponding to the registration information. In this embodiment, the Redis cluster mainly listens for registration information from the Redis Sync service node in the local system. When the registration number of the Redis Sync service nodes meets the preset condition, one Redis Sync service node can be selected as a target Redis Sync service node according to the specified rule and used as a manager Controller. It is to be understood that the preset condition may be understood as whether the number of RedisSync service nodes that are successfully registered is greater than or equal to the number of redismaster nodes (i.e., the number of Redis servers). Based on the system architecture described in fig. 1, in other words, it can be understood whether the number of RedisSync service nodes is greater than or equal to 3.
Based on the above embodiment, in another specific embodiment, there are two important functional modules in the RedisSync service node, namely, a Controller and an agent Broker. The main function of the Broker is to proxy the command from the Redis client, forward it to the Redis server, and synchronize the command to another Redis cluster. The main function of the Controller is to manage all the broaders in the dis cluster, so that only one service is selected as the Leader, i.e. the Controller, in the whole dis cluster. This is also the main effect of introducing Zookeeper. Among these, it is understood that the ZooKeeper is a distributed, open source distributed application coordination service.
It should be noted that, referring to fig. 1, if redissync_1 is elected as a Leader, it enables both the Controller and the Broker function modules; if it is not elected as a Leader, it will only enable the Broker function module. For convenience of description, a detailed description thereof will be omitted.
Further, in another specific embodiment, the specified rule may score all the RedisSync service nodes, so as to determine the RedisSync service node with the highest score as the target RedisSync service node; meanwhile, the Redis Sync service node can be randomly selected as a target Redis Sync service node. In particular, the selection manner of the target RedisSync service node is not limited here.
302. Acquiring target cluster information of all the Redis servers through the target Redis middleware, distributing identification information to all the Redis middleware and all the Redis servers according to the target cluster information, and determining the corresponding relation between any one of the Redis middleware and any one of the Redis servers according to the identification information.
Therefore, the target cluster information of all the Redis servers can be obtained through the target Redis Sync service node, so that identification information is distributed to all the Redis Sync service nodes and all the Redis servers according to the target cluster information, and the corresponding relation between the Redis Sync service node and the Redis server (Redis master node) can be determined according to the identification information.
In one specific embodiment, after the Controller is selected, the Redis cluster information is obtained through the Controller service, the proxy rules of the Redis Sync service node and the Redis server are generated, and then the proxy rules are broadcast to the Broker of other Redis Sync service nodes. When the Broker receives the proxy rules, proxy capabilities can be provided to the Redis client. It will be appreciated that the Redis cluster may disperse the identification into different Redis master nodes according to proxy rules, while the slave nodes are only used to synchronize the data of the Redis master nodes. In the proxy rule, the Redis Sync service node is in a one-to-one relationship with the Redis master node service, i.e., each Redis Sync service node proxies only one Redis master node.
Based on the above embodiment, in another specific embodiment, the proxy rule is that in one embodiment, in particular, 16384 hash slots are built in the dis cluster, when a key-value is stored in the dis cluster, a hash value is calculated for the key, and then a remainder is taken for 16384 as a result, so that each key corresponds to the hash slots between 0 and 16383. The Redis cluster will then allocate these hash slots to all Redis master nodes. The Redis client obtains hash slot allocation information from the Redis cluster and knows which Redis master node the command was sent to. The key may be understood as the identification information in the above description, and the hash value may be understood as the service registration information in the above description. The proxy rule is to acquire hash slot allocation information of the Redis cluster, and then replace the Redis master node by the Redis Sync service node.
For example:
0-5000:Redis_m1;5001-10000:Redis_m2;10001-16383:Redis_m3。
that proxy rule is 0-5000: redis Sync_1;5001-10000: redisSync_2;10001-16383: redisSync_3.
In summary, there is a correspondence between Redis_m1 and Redis Sync_1, a correspondence between Redis_m2 and Redis Sync_2, and a correspondence between Redis_m3 and Redis Sync_3.
303. When the first Redis middleware is in a fault state, determining a first Redis server with a corresponding relation with the first Redis middleware through the target Redis middleware, and setting the corresponding relation between the first Redis server and the second Redis middleware according to the identification information.
Based on step 302, when the first RedisSync service node is in a fault state, the first Redis service end having a corresponding relationship with the first RedisSync service node can be determined by the target RedisSync service node, so that the corresponding relationship between the first Redis service end and the second RedisSync service node is set according to the identification information. It should be understood that the first RedisSync service node is any one of all the RedisSync service nodes, and the second RedisSync service node is a RedisSync service node in an idle state.
In one specific embodiment, when any of the Redis Sync service nodes fails, the whole Redis service end is rendered indistinct. Thus, in practice, deployment of redundant Redis Sync service nodes may be considered. I.e. when the serving RedisSync service node goes offline (fails or stops normally), the Controller will shift its responsible work to the idle RedisSync service node. Specifically, determining the offline Redis Sync service node and the corresponding Redis server, so as to bind the Redis Sync service node in an idle state with the Redis server.
Based on the above embodiment, in another specific embodiment, the Controller also detects whether the dis cluster changes, listens to the Zookeeper, and thus detects whether the service list of the dis sync service node changes. When a change is detected, the Controller may regenerate the proxy rule and broadcast it to other broaders. The manner of re-generating the proxy rule is not limited here in particular, and can be understood simply as re-calculating the hash value and assigning the identity.
304. And receiving a network request instruction of the Redis client, unpacking network message data in the network request instruction according to the target communication protocol, and obtaining initial message data.
It should be noted in advance that the RedisSync service node includes a Client module (Client module), a Server module (Server module), and a processing module (HandlerChain module), where the Client module, the Server module, and the processing module are connected in two-by-two communication. Referring to fig. 4, fig. 4 is a schematic diagram of a command forwarding architecture according to an embodiment of the present application. As can be seen from fig. 4, the Redis client (RedisClient) is connected to the Redis server (RedisServer) through a Broker in the RedisSync service node. Wherein, the Broker includes a Server module, a handlechain module and a Client module. The specific data flow mode is Redis Client side, server module, handlerChain module, client module, redis Server side, client module, server module and Redis Client side. This will be described in detail later for ease of understanding.
It should be further noted in advance that the command forwarding is one of the core functions of the Broker, receives the command from the Redis client, processes the command, forwards the command to the Redis server, and forwards the result returned by the Redis server to the Redis client.
The Redis Sync service node receives a network request instruction of the Redis client, unpacks network message data in the network request instruction according to a target communication protocol, and acquires initial message data.
In one specific embodiment, to ensure performance, a Netty framework may be introduced by the Server module and Client module of the Broker. The Netty bottom layer relies on the NIO technology and also provides good packaging for thread models, interfaces, etc. Specifically, in connection with fig. 4, after receiving a network request instruction of a Redis client, the server module unpacks network message data (a message in a specific form) carried by the network request instruction according to a Redis communication protocol to obtain complete initial message data (i.e., command message).
305. And calling a processing module to filter the initial message data so as to intercept the intercepted message data which does not meet the preset interception condition, acquiring command message data, and forwarding the command message data to the target Redis server.
After the initial message data is acquired, a HandlerChain module is called, so that the initial message data is filtered and processed to intercept the intercepted message data which does not meet the preset interception condition, so that command message data is acquired, and then the command message data is forwarded to a target Redis server through a Client module.
In one specific embodiment, the HandlerChain module may intercept message data (i.e., intercept message data) that does not meet a preset intercept condition, thereby generating command message data. It will be appreciated that in one embodiment, the command message data is initial message data that does not include intercept message data. For example, the preset interception condition may be that when the command is a command such as "cluster info" or "quick", the command is intercepted. The intercepted message data is directly processed by the Redis Sync service node and returned to the Redis client. After the HandlerChain module finishes the processing of the command message data, the command message data is forwarded to the target Redis server through the Client module.
Based on the above embodiment, in another specific embodiment, in the HandlerChain module, the following functions are respectively provided:
(1) And (5) filtering. The Redis Sync service node, after having proxied the Redis server, cannot support all native Redis commands, such as transaction correlation. In addition, commands like, for example, "cluster info" or "quick" are intercepted, processed directly by the Redis Sync service node, and returned to the Redis client.
(2) And (5) persistence. For commands that need to be synchronized to other Redis clusters, then it persists to disk and the asynchronous thread is then forwarded to the other Redis clusters.
306. Obtaining command result data transmitted by a target Redis server side, and sending all command result data to a Redis client side according to the return sequence of all command result data.
Step 306 in this embodiment is similar to step 203 in fig. 2, and detailed description thereof will be omitted herein. However, it should be noted that after the Broker sends the command message data to the target dis server, the target dis server processes the command message data. When the target Redis server generates command result data based on the processing result of the command message data, and transmits the command result data to the Redis Sync service node, so that the Redis Sync service node can send all the command result data to the Redis client according to the return sequence of all the command result data.
307. And according to the return sequence, storing the command message data in the local storage space of the Redis middleware according to the target storage format, and obtaining the command storage file.
Based on step 306, after determining the command result data, it may be determined that the command message data processing is successful, so that the command message data may be stored in the local storage space of the RedisSync service node according to the target storage format according to the return sequence, thereby obtaining the command storage file.
In one specific embodiment, in the handlechain module, when a command (i.e., command message data) that has been processed by the Redis server is received, the handlechain module records the command that needs to be forwarded into a log file according to a target storage format (i.e., log is a suffix), where the recording of the command message data is strictly in the order of return of the Redis server. Wherein each log file defaults to no more than 1G. In addition, the log file is named, and is a long integer of long type, is increased from 1, and is then converted into a string of 19 bits.
Based on the above embodiment, further, in another specific embodiment, the HandlerChain module persists the command that is effectively processed to disk, and then forwards the asynchronous thread to other dis clusters to achieve the final consistency of the dis multi-cluster data. In the persistence module, there are two kinds of files, namely a log file with ". Log" as a suffix and an index file with ". Index" as a suffix. The log file is used to store Redis commands, and the index file is used to record command indexes that have been written to other Redis clusters. For ease of understanding, reference may be made to fig. 5, where fig. 5 is a schematic diagram illustrating a command synchronization architecture according to an embodiment of the present application. As can be seen from fig. 5, the handlechain module writes command message data into log files according to a return sequence by means of writing, so as to generate command storage files. The message1 to message N may be understood as N pieces of command message data, where the return order is shown as a sequential order of 1 to N in the log file.
308. And reading the command message data according to the command storage file so as to pass through the client module, and sending the command message data to another Redis server according to the return sequence.
After the command storage file is generated, the command message data can be read according to the command storage file, so that the command message data is sent to another Redis server according to the return sequence through the Client module.
In one specific embodiment, after the command storage file is written into the log file, the read command message data is read from the log file in the asynchronous thread, so that the loss of Redis performance in the proxy command process can be reduced as much as possible. And then, writing the command message data into another Redis server according to the return sequence. Specifically, the Broker writes the command message data into the Redis server in another Redis cluster according to the return sequence through the Client module. Thereby completing data synchronization.
309. When another Redis server acquires command message data, the index position of the command message data is stored in a local storage space according to the target writing format and the return sequence, and the command index data is acquired, so that when the Redis middleware is in a second starting state, the command message data is acquired according to the command index data, and the command message data is forwarded to the other Redis server, so that the completion data of all the Redis servers are synchronized.
When another Redis server acquires the command message data, the index position of the command message data can be stored in the local storage space according to the target writing format and the return sequence, the command index data is acquired, and when the Redis middleware is in the second starting state, the command message data is acquired according to the command index data, so that the command message data is forwarded to the other Redis server, and the completion data of all the Redis servers are synchronized.
In one specific embodiment, to solve the problem that the Redis Sync service node is restarted, the Redis Sync service node knows the consumption location of the log file, and thus introduces the index file. Specifically, any command message data can be written into another Redis server according to the return sequence. Thus, each time a command in the log form is successfully written to another Redis cluster, the corresponding index (i.e., the position of the command in the log file) is written to the index file, indicating that the Redis command has been synchronized to the other Redis cluster. After the Redis Sync service node is restarted (the second starting state), the index file (command index data) is read, so that the log file is determined according to the command index data, command message data are obtained, and then the command message data are forwarded to the Redis servers of other Redis clusters, so that the synchronization state can be recovered.
Based on the above embodiment, in another specific embodiment, as can be seen from fig. 5, in the index file, the last four bits correspond to the location of the local storage space of the log file, and in another embodiment, the corresponding manner is not limited.
According to the data synchronization method disclosed by the embodiment, by utilizing the Redis data full synchronization function, in the remote double-activity scheme, the quick construction and initialization of a remote environment are greatly facilitated. Meanwhile, as a distributed middleware, the fault can be automatically transferred without manual intervention. Furthermore, as a proxy, the system can be highly customized to realize functions such as monitoring and security. Finally, abstract and interface the functional module, thereby providing the expansion capability and parameter configuration function to meet various requirements.
It should be understood that, although the steps in the flowcharts related to the embodiments described above are sequentially shown as indicated by arrows, these steps are not necessarily sequentially performed in the order indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least some of the steps in the flowcharts described in the above embodiments may include a plurality of steps or a plurality of stages, which are not necessarily performed at the same time, but may be performed at different times, and the order of the steps or stages is not necessarily performed sequentially, but may be performed alternately or alternately with at least some of the other steps or stages.
If the scheme involves sensitive information (e.g., user information, business information), it should be noted that the collection, use and handling of the sensitive information requires compliance with laws and regulations of the relevant country and region, and needs to be performed with approval or consent of the corresponding subject (e.g., user or business, etc.).
Referring to fig. 6, fig. 6 is a schematic structural diagram of a data synchronization system according to an embodiment of the present application. The method is applied to the Redis middleware, and the Redis client is in communication connection with the Redis server through the Redis middleware.
A determining unit 601, configured to determine, when the dis middleware is in the first start state, correspondence between all the dis middleware and all the dis servers;
a receiving unit 602, configured to receive a network request instruction of a Redis client, obtain command message data, and send the command message data to a target Redis server that has a corresponding relationship with a Redis middleware;
the receiving unit 602 is further configured to receive command result data, and send the command result data to the target dis server; the command message data is processing result data after the Redis server side processes the command message data;
a storage unit 603, configured to store, when the Redis middleware obtains the command result data, the command message data in a local storage space of the Redis middleware according to a return sequence of the command result data, so as to send the command message data to another Redis server according to the return sequence; the other Redis server is other Redis servers except the target Redis server.
Illustratively, the system further comprises: an acquisition unit 604;
an obtaining unit 604, configured to register the Redis middleware when the Redis middleware is in the first start state, and obtain service registration data;
a determining unit 601, configured to determine, when a registration number of Redis middleware corresponding to service registration data meets a preset condition, that any Redis middleware is a target Redis middleware; wherein, all the Redis middleware is the registered Redis middleware;
the obtaining unit 604 is further configured to obtain, by using the target Redis middleware, target cluster information of all Redis servers, so as to allocate identification information for all Redis middleware and all Redis servers according to the target cluster information;
the determining unit 601 is further configured to determine a correspondence between any Redis middleware and any Redis server according to the identification information.
Illustratively, the system further comprises: a setting unit 605;
the determining unit 601 is further configured to determine, when the first dis middleware is in a failure state, a first dis server that has a correspondence relationship with the first dis middleware through the target dis middleware;
a setting unit 605, configured to set a correspondence between the first Redis server and the second Redis middleware according to the identification information; the first Redis middleware and the second Redis middleware are any two Redis middleware in all the Redis middleware, the second Redis middleware is in an idle state, and the Redis server is any one of all the Redis servers.
Illustratively, the Redis middleware includes a client module, a server module, and a processing module, where the client module, the server module, and the processing module are connected in two-by-two communication, and the system further includes: a calling unit 606 and a transmitting unit 607;
the receiving unit 602 is specifically configured to receive a network request instruction of the Redis client, and unpack network message data in the network request instruction according to a target communication protocol, so as to obtain initial message data;
the calling unit 606 is configured to call the processing module, filter the initial message data, intercept the intercepted message data that does not meet the preset interception condition, and obtain command message data;
a sending unit 607, configured to forward the command packet data to the target dis server.
Illustratively, the Redis middleware includes a client module, a server module, and a processing module, where the client module, the server module, and the processing module are connected in two-by-two communication, and the system further includes:
an obtaining unit 604, configured to obtain command result data transmitted by the target dis server;
the sending unit 607 is specifically configured to send all the command result data to the target dis server according to the return sequence of all the command result data.
Illustratively, the system includes:
the storage unit 603 is specifically configured to store the command message data in the local storage space of the Redis middleware according to the target storage format according to the return sequence, and obtain a command storage file;
the sending unit 607 is specifically configured to read the command message data according to the command storage file, so as to send the command message data to another Redis server according to the return sequence through the client module.
Illustratively, the system includes:
the storage unit 603 is further configured to store, when the other Redis server obtains the command message data, an index position of the command message data in a local storage space according to the target write format and the return sequence, and obtain command index data;
the obtaining unit 604 is further configured to obtain, when the Redis middleware is in the second start state, command packet data according to the command index data, so as to forward the command packet data to another Redis server, so that the completion data of all the Redis servers are synchronized.
Referring to fig. 7, a schematic structural diagram of a data synchronization device according to an embodiment of the present application includes:
a central processor 701, a memory 705, an input/output interface 704, a wired or wireless network interface 703, and a power supply 702;
Memory 705 is transient memory or persistent memory;
the central processor 701 is configured to communicate with the memory 705 and to execute the operations of the instructions in the memory 705 to perform the methods of the embodiments described above with respect to fig. 2 or 3.
The embodiment of the application also provides a chip system, which is characterized in that the chip system comprises at least one processor and a communication interface, the communication interface and the at least one processor are interconnected through a line, and the at least one processor is used for running a computer program or instructions to execute the method in the embodiment shown in fig. 2 or fig. 3.
It will be clear to those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described systems, apparatuses and units may refer to corresponding procedures in the foregoing method embodiments, which are not repeated herein.
In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be embodied essentially or in part or all of the technical solution or in part in the form of a software product stored in a storage medium, including instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a read-only memory (ROM), a random access memory (RAM, random access memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.

Claims (10)

1. The data synchronization method is characterized by being applied to a Redis middleware, wherein a Redis client is in communication connection with the Redis server through the Redis middleware, and the method comprises the following steps:
when the Redis middleware is in a first starting state, determining the corresponding relation between all the Redis middleware and all the Redis servers;
receiving a network request instruction of the Redis client, acquiring command message data, and sending the command message data to a target Redis server with a corresponding relation with the Redis middleware;
receiving command result data, and sending the command result data to the Redis client; the command message data is processing result data of the target Redis server after the command message data is processed;
when the Redis middleware acquires the command result data, storing the command message data in a local storage space of the Redis middleware according to the return sequence of the command result data, so as to send the command message data to another Redis server according to the return sequence; the other Redis server is other Redis servers except the target Redis server.
2. The method for synchronizing data according to claim 1, wherein the determining the correspondence between all the dis middleware and all the dis servers comprises:
when the Redis middleware is in a first starting state, registering the Redis middleware to obtain service registration data;
when the registration number of the Redis middleware corresponding to the service registration data meets a preset condition, determining any one of the Redis middleware as a target Redis middleware; wherein, all the Redis middleware is the registered Redis middleware;
acquiring target cluster information of all the Redis servers through the target Redis middleware so as to distribute identification information for all the Redis middleware and all the Redis servers according to the target cluster information;
and determining the corresponding relation between any Redis middleware and any Redis server according to the identification information.
3. The method of data synchronization according to claim 2, wherein the method further comprises:
when a first Redis middleware is in a fault state, determining a first Redis server with a corresponding relation with the first Redis middleware through the target Redis middleware;
Setting the corresponding relation between the first Redis server and the second Redis middleware according to the identification information; the first Redis middleware and the second Redis middleware are any two Redis middleware in all the Redis middleware, the second Redis middleware is in an idle state, and the Redis server is any one of the Redis servers.
4. The method of claim 1, wherein the dis middleware comprises a client module, a server module and a processing module, the client module, the server module and the processing module are connected in a two-to-two communication manner, the receiving the network request instruction of the dis client, obtaining command message data, and sending the command message data to a target dis server having a corresponding relationship with the dis middleware, the method comprises:
the server module receives the network request instruction of the Redis client and unpacks network message data in the network request instruction according to a target communication protocol to obtain initial message data;
invoking the processing module to filter the initial message data so as to intercept the intercepted message data which does not meet the preset interception condition and acquire the command message data;
And forwarding the command message data to the target Redis server through the client module.
5. The data synchronization method according to claim 1, wherein the dis middleware includes a client module, a server module, and a processing module, the client module, the server module, and the processing module are connected in two-to-two communication, the receiving command result data, and sending the command result data to the dis client includes:
the processing module obtains the command result data transmitted by the target Redis server through the client module;
and sending all the command result data to the Redis client according to the return sequence of all the command result data.
6. The data synchronization method according to claim 5, wherein storing the command message data in the local storage space of the dis middleware according to the return order of the command result data, so as to send the command message data to another dis server according to the return order, includes:
according to the return sequence, storing the command message data in a local storage space of the Redis middleware according to a target storage format to obtain a command storage file;
And reading the command message data according to the command storage file so as to pass through the client module, and sending the command message data to the other Redis server according to the return sequence.
7. The data synchronization method according to claim 5, wherein after storing the command message data in the local storage space of the dis middleware in the return order of the command result data to send the command message data to another dis server according to the return order, the method further comprises:
when the other Redis server side acquires the command message data, storing the index position of the command message data in the local storage space according to a target writing format and the return sequence to acquire the command index data;
when the Redis middleware is in a second starting state, acquiring the command message data according to the command index data, and forwarding the command message data to the other Redis server side so as to enable all the Redis server sides to complete data synchronization.
8. The data synchronization system is characterized by being applied to a Redis middleware, wherein a Redis client is in communication connection with the Redis server through the Redis middleware, and the system comprises:
A determining unit, configured to determine, when the Redis middleware is in a first start state, correspondence between all Redis middleware and all Redis servers;
the receiving unit is used for receiving the network request instruction of the Redis client, obtaining command message data and sending the command message data to a target Redis server which has a corresponding relation with the Redis middleware;
the receiving unit is further configured to receive command result data, and send the command result data to the Redis client; the command message data is processing result data of the target Redis server after the command message data is processed;
the storage unit is used for storing the command message data in a local storage space of the Redis middleware according to the return sequence of the command result data when the Redis middleware acquires the command result data, so as to send the command message data to another Redis server according to the return sequence; the other Redis server is other Redis servers except the target Redis server.
9. A data synchronization device, the device comprising:
The device comprises a central processing unit, a memory, an input/output interface, a wired or wireless network interface and a power supply;
the memory is a short-term memory or a persistent memory;
the central processor is configured to communicate with the memory and to execute instruction operations in the memory to perform the data synchronization method of any one of claims 1 to 7.
10. A computer readable storage medium comprising instructions which, when run on a computer, cause the computer to perform the data synchronization method of any one of claims 1 to 7.
CN202311185914.5A 2023-09-14 2023-09-14 Data synchronization method and related equipment Pending CN117097742A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311185914.5A CN117097742A (en) 2023-09-14 2023-09-14 Data synchronization method and related equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311185914.5A CN117097742A (en) 2023-09-14 2023-09-14 Data synchronization method and related equipment

Publications (1)

Publication Number Publication Date
CN117097742A true CN117097742A (en) 2023-11-21

Family

ID=88783480

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311185914.5A Pending CN117097742A (en) 2023-09-14 2023-09-14 Data synchronization method and related equipment

Country Status (1)

Country Link
CN (1) CN117097742A (en)

Similar Documents

Publication Publication Date Title
CN102265277B (en) Operation method and device for data memory system
US9483366B2 (en) Bitmap selection for remote copying of updates
JP5548829B2 (en) Computer system, data management method, and data management program
US20060031647A1 (en) Storage system and data processing system
US7761431B2 (en) Consolidating session information for a cluster of sessions in a coupled session environment
CN111581284A (en) High-availability method, device and system for database and storage medium
US8566555B2 (en) Data insertion system, data control device, storage device, data insertion method, data control method, data storing method
CN108628717A (en) A kind of Database Systems and monitoring method
WO2001084314A2 (en) Method and system for providing cluster replicated checkpoint services
KR101545626B1 (en) System for interoperation between dds and dbms
CN102708150A (en) Method, device and system for asynchronously copying data
JP2009237826A (en) Storage system and volume management method therefor
US20100011179A1 (en) Remote copy system and method
CN113407637A (en) Data synchronization method and device, electronic equipment and storage medium
CN113190620B (en) Method, device, equipment and storage medium for synchronizing data between Redis clusters
CN115292408A (en) Master-slave synchronization method, device, equipment and medium for MySQL database
WO2021082925A1 (en) Transaction processing method and apparatus
CN111381766B (en) Method for dynamically loading disk and cloud storage system
CN117097742A (en) Data synchronization method and related equipment
CN111522688B (en) Data backup method and device for distributed system
JPH07114495A (en) Multiplexing file managing system
CN115297129B (en) Method and device for establishing data communication network
CN115238005B (en) Data synchronization method and system based on message middleware cluster
WO2023246241A1 (en) Data processing system, data processing method and apparatus, and related device
US20220374322A1 (en) Global entity distribution

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination