CN110874384B - Method, device and system for expanding and shrinking capacity of database cluster - Google Patents

Method, device and system for expanding and shrinking capacity of database cluster Download PDF

Info

Publication number
CN110874384B
CN110874384B CN201811020508.2A CN201811020508A CN110874384B CN 110874384 B CN110874384 B CN 110874384B CN 201811020508 A CN201811020508 A CN 201811020508A CN 110874384 B CN110874384 B CN 110874384B
Authority
CN
China
Prior art keywords
node
capacity expansion
expansion
expanded
information
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.)
Active
Application number
CN201811020508.2A
Other languages
Chinese (zh)
Other versions
CN110874384A (en
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201811020508.2A priority Critical patent/CN110874384B/en
Publication of CN110874384A publication Critical patent/CN110874384A/en
Application granted granted Critical
Publication of CN110874384B publication Critical patent/CN110874384B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention discloses a method, a device and a system for expanding and shrinking capacity of a database cluster. Wherein the method comprises the following steps: when the database cluster expands, determining the number of target expansion nodes required by the nodes to be expanded in the database cluster; and synchronizing the capacity expansion information of the nodes to be expanded into the proxy device through the replication function of the nodes to be expanded, and synchronizing the capacity expansion information to target capacity expansion nodes corresponding to the target capacity expansion nodes. The invention solves the technical problem of data loss caused by the horizontal capacity expansion and contraction process of the storage database in the prior art.

Description

Method, device and system for expanding and shrinking capacity of database cluster
Technical Field
The invention relates to the field of Internet, in particular to a method, a device and a system for expanding and shrinking a database cluster.
Background
As a database of stored data, there is a storage database named Redis in storage technology, where Redis is an open-source, support network, memory-based, key-value-based storage database written using ANSI C.
In the process of realizing data storage, the Redis cluster provides a certain degree of availability through partitioning, and in an actual environment, the command is continuously processed under the condition that a certain node is down or not reachable. Wherein, the Redis cluster is a program set for sharing data among a plurality of Redis nodes.
Here, in the Redis Cluster-based horizontal expansion scheme, data is distributed to 16384 hash slots through a fixed hash algorithm using the concept of hash slots, and each node in the Cluster stores a portion of 16384 hash slots, respectively. During capacity expansion, it is necessary to determine which hash slots need to be moved to a new node, and then move the data to a new joining node. When shrinking, the hash slots on the node to be offline are moved to other nodes, and then the node can be offline.
It can be seen that the horizontal capacity expansion of the database system can be achieved by copying data and then modifying the data partitioning rule online, but the horizontal capacity expansion has no feasible and reliable solution, so that the data flow system cannot shrink once the horizontal capacity expansion, and a large amount of storage resources are wasted.
In the existing cluster scheme, data needs to be actively moved during expansion and contraction, if the data in a hash slot which needs to be moved changes during the process of moving the data, the changed data can possibly not move to a new node, and the data is lost. To avoid data loss, the original instance in which the hash slot is located may be prohibited from being written before the hash slot is moved, or only the hash slot to be moved may be prohibited from being written. However, prohibiting Ha Xicao writing may cause long-time unwritability when moving hash slots with large data volumes, which may have a long-time adverse effect on the system relying on the dis cluster.
In order to solve the problem of data loss caused by the process of horizontally expanding and contracting a storage database in the prior art, no effective solution is proposed at present.
Disclosure of Invention
The embodiment of the invention provides a method, a device and a system for expanding and shrinking capacity of a database cluster, which at least solve the technical problem of data loss caused by the process of horizontally expanding and shrinking capacity of a storage database in the prior art.
According to an aspect of an embodiment of the present invention, there is provided a system for expanding and shrinking a database cluster, including: the server is used for storing the fragmentation information of the database cluster; the access proxy terminal is respectively connected with the server terminal and the database cluster and is used for proxy of the access request to the corresponding database node in the database cluster according to the access request; the proxy device is connected with the server side and the database cluster respectively, and is used for expanding or shrinking the volume of the database nodes in the database cluster and updating the changed fragmentation information after the volume expansion or shrinking of the database nodes to the server side.
Optionally, the system further comprises: the load balancer is used for forwarding the request of the client to the real server according to a preset load balancing rule.
Optionally, the server sends the updated fragment information to the access proxy, and the access proxy updates the proxy rule.
According to another aspect of the embodiment of the present invention, there is provided a method for database cluster expansion, including: when the database cluster expands, determining the number of target expansion nodes required by the nodes to be expanded in the database cluster; and synchronizing the capacity expansion information of the nodes to be expanded into the proxy device through the replication function of the nodes to be expanded, and synchronizing the capacity expansion information to target capacity expansion nodes corresponding to the target capacity expansion nodes.
Optionally, the capacity expansion information includes: a hash slot range to be saved by the capacity expansion node;
optionally, determining the target number of expansion nodes required for the node to be expanded in the database cluster includes: the hash slot range and port number of the target capacity expansion node are stored by the proxy device.
Optionally, synchronizing the capacity expansion information to a target capacity expansion node corresponding to the target capacity expansion node number includes: monitoring a port of a target capacity expansion node through a proxy device, and providing a copying function for the port; acquiring synchronous information from a node to be expanded; and forwarding the synchronous information to the target capacity expansion node.
Further, optionally, acquiring the synchronization information from the node to be expanded includes: judging whether the synchronization difference value between the node to be expanded and the proxy device and the synchronization difference value between the proxy device and the target expansion node are larger than a preset threshold value or not; and under the condition that the judgment result is negative, controlling the node to be expanded to inhibit writing, and acquiring the synchronous information from the node to be expanded.
Optionally, forwarding the synchronization information to the target capacity expansion node includes: and sending synchronous information to the target capacity expansion node according to the stored hash slot range of the target capacity expansion node and a preset sequence.
Optionally, after synchronizing the capacity expansion information to the target capacity expansion node corresponding to the target capacity expansion node number, the method further includes: the hash groove distribution information of the target capacity expansion node after capacity expansion is sent to the server side, so that the server side can update; and determining the target capacity expansion node as a master node to execute read-write operation.
According to still another aspect of the embodiment of the present invention, there is provided a method for shrinking a database cluster, including: combining the synchronous information of at least one node to be offline through the proxy device; judging whether the synchronization difference value between at least one node to be offline and the proxy device and the synchronization difference value between the target capacity reduction node and the proxy device are larger than a preset threshold value or not; and if the judgment result is negative, controlling at least one node to be offline to inhibit writing, acquiring the synchronization information from the at least one node to be offline, and sending the synchronization information to a target capacity reduction node for replacing the at least one node to be offline.
Optionally, the method further comprises: and if the judgment result is yes, stopping the operation of synchronizing at least one node to be disconnected to the target capacity-shrinking node, and releasing the proxy device and the target capacity-shrinking node.
According to an aspect of another embodiment of the present invention, there is provided an apparatus for database cluster expansion, including: the node confirmation module is used for determining the number of target capacity expansion nodes required by the nodes to be expanded in the database cluster when the database cluster is expanded; and the capacity expansion module is used for synchronizing the capacity expansion information of the nodes to be expanded into the proxy device through the replication function of the nodes to be expanded and synchronizing the capacity expansion information to target capacity expansion nodes corresponding to the target capacity expansion nodes.
According to another aspect of another embodiment of the present invention, there is provided an apparatus for database cluster capacity reduction, including: the merging module is used for merging the synchronous information of at least one node to be offline through the proxy device; the judging module is used for judging whether the synchronization difference value between at least one node to be offline and the proxy device and the synchronization difference value between the target capacity reduction node and the proxy device are larger than a preset threshold value or not; and the capacity reduction module is used for controlling at least one node to be offline to inhibit writing under the condition that the judgment result is negative, acquiring the synchronous information from the at least one node to be offline, and sending the synchronous information to a target capacity reduction node for replacing the at least one node to be offline.
According to an aspect of still another embodiment of the present invention, there is also provided a storage medium including: the storage medium comprises a stored program, wherein the program is used for controlling the equipment where the storage medium is positioned to execute the method for expanding and contracting the database cluster.
In the embodiment of the invention, a proxy system is introduced, and a mode of real-time data copying and synchronization during the capacity expansion and capacity contraction of the cluster is taken over, and the server is used for storing the fragmentation information of the database cluster; the access proxy terminal is respectively connected with the server terminal and the database cluster and is used for proxy of the access request to the database nodes in the database cluster according to the access request; the proxy device is respectively connected with the server side and the database cluster, is used for carrying out capacity expansion or capacity reduction on the database nodes in the database cluster, and updating the changed fragmentation information after the capacity expansion or capacity reduction of the database nodes to the server side, so that the online capacity expansion and capacity reduction operation of the Redis cluster is realized, the writing influence time length of the migration process is controlled within a nearly fixed time length while the data is ensured not to be lost, the technical effect of smooth capacity expansion and capacity reduction experience is realized, and the technical problem of data loss caused by the horizontal capacity expansion and capacity reduction process of the storage database in the prior art is solved.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiments of the invention and together with the description serve to explain the invention and do not constitute a limitation on the invention. In the drawings:
FIG. 1 is a block diagram of a system for database cluster scaling in accordance with a first embodiment of the present invention;
FIG. 2a is a flow chart of database expansion in a database cluster expansion system according to a first embodiment of the present invention;
FIG. 2b is a flow chart of database expansion in another system for database cluster expansion according to the first embodiment of the present invention;
FIG. 3 is a flow chart of database scaling in a database cluster scaling system according to a first embodiment of the present invention;
FIG. 4a is an internal logic flow diagram of a proxy device expansion scheme in a database cluster expansion system according to a first embodiment of the present invention;
FIG. 4b is an internal logic flow diagram of a proxy device scaling scheme in a database cluster scaling system in accordance with one embodiment of the present invention;
FIG. 5 is a block diagram of a hardware architecture of a computer terminal of a method for database cluster expansion according to an embodiment of the present invention;
FIG. 6 is a flow chart of a method of database cluster expansion according to a second embodiment of the invention;
FIG. 7 is a flow chart of a method of database cluster scaling in accordance with embodiment III of the present invention;
FIG. 8 is a block diagram of an apparatus for database cluster expansion according to a fourth embodiment of the present invention;
fig. 9 is a block diagram of an apparatus for database cluster capacity reduction according to a fifth embodiment of the present invention.
Detailed Description
In order that those skilled in the art will better understand the present invention, a technical solution in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in which it is apparent that the described embodiments are only some embodiments of the present invention, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the present invention without making any inventive effort, shall fall within the scope of the present invention.
It should be noted that the terms "first," "second," and the like in the description and the claims of the present invention and the above figures 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 of the invention described herein may be implemented in sequences other 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.
The technical terms referred to in this application are:
redis, namely an open source, support network, memory and key value pair based storage database, and a storage system written by using ANSI C.
Example 1
According to an aspect of the embodiment of the present invention, there is further provided a system for expanding and shrinking, and fig. 1 is a structural diagram of a system for expanding and shrinking a database cluster according to an embodiment of the present invention. Comprising the following steps:
the server 10 is configured to store the fragmentation information of the database cluster; the access proxy end 12 is respectively connected with the server end 10 and the database cluster 14 and is used for proxy of the access request to the corresponding database node in the database cluster 14 according to the access request; the proxy device 16 is connected to the server 10 and the database cluster 14, and is configured to expand or contract the capacity of the database nodes in the database cluster 14, and update the modified fragment information after expanding or contracting the capacity of the database nodes to the server 10.
Optionally, the system for expanding and contracting capacity provided by the present application further includes: the load balancer 18, wherein the load balancer 18 is configured to forward a request of a client to a real server according to a preset load balancing rule.
Alternatively, the server 10 sends the updated fragment information to the access proxy 12, and the access proxy 12 updates the proxy rule.
Specifically, the capacity expansion and contraction system provided by the application can be suitable for a horizontal capacity expansion scene of a database system, wherein the service end 10 provided by the application can save a consensus cluster for using a distributed consistency protocol and is recorded as a Config Server; the distributed coherency protocol may include: raft, zab, paxos, the present application describes a preferred example of Raft;
the database cluster 14 herein may be a Redis cluster;
as shown in fig. 1, a Server 10 in the system for expanding and shrinking provided by the present application is denoted as a Config Server, and mainly stores the fragment information of the Redis cluster, such as the corresponding relationship between Ha Xicao and the Redis node (the database node provided by the present application). When Ha Xicao distribution information changes, the Config Server actively informs each node of the Proxy cluster, and the Proxy accesses the Config Server to acquire the latest hash slot distribution, and according to the latest hash slot distribution, the access request is guided to a Redis node storing the target hash slot.
The Proxy cluster is an access Proxy compatible with the Redis Protocol (Redis Protocol), and is used for Proxy of requests for accessing different hash slots to a Redis node storing a target hash slot.
The LVS is a load balancer 18 provided in the present application, which is located in the fourth layer of the TCP/IP protocol, and can forward a TCP connection request from a client to a Real Server (Real Server, abbreviated as RS) according to a certain load balancing rule, so as to avoid that the IP of the intranet Server is directly exposed to the client. In the Redis cluster, the RS is a Proxy node.
The proxy device 16 is denoted as a Sync Agent, and is used for taking over real-time data copying and synchronization during capacity expansion and capacity contraction of the clusters, so that online capacity expansion and contraction operation of the Redis clusters is performed, and data is ensured not to be lost.
In the embodiment provided by the application, a database capacity expansion scheme and a database capacity reduction scheme are provided based on the capacity expansion and reduction system.
Scheme one, database capacity expansion scheme:
according to the database capacity expansion scheme, the synchronous proxy is used, and the Redis node horizontal capacity expansion is realized by combining the Redis self-Replication function. Fig. 2a is a flowchart of database expansion in a database cluster expansion and contraction system according to a first embodiment of the present invention, as shown in fig. 2 a. The database capacity expansion scheme is specifically as follows:
first, for each node (Redis Old) that needs to be expanded, N empty Redis instances (Redis New x) are started first, and N is the number of target nodes to which the current node needs to be expanded.
Secondly, the Sync Agent is started, and the hash slot range stored on the node needing capacity expansion, the hash slot range stored by N nodes after capacity expansion and N different port numbers are transmitted.
Thirdly, after the Sync Agent is started, N different ports are monitored, N capacity-expanded Redis examples are corresponding to the N different ports, and a Replication function compatible with the Redis is provided on the N ports respectively.
Fourthly, N Redis nodes are sequentially used for acquiring the synchronization information from the ports exposed by the Sync Agent by using the SlaveOf instruction, meanwhile, the Sync Agent acquires the synchronization information from the Redis to be expanded, and then the synchronization information is transmitted to the corresponding expanded Redis instance according to the range of N hash slots transmitted during starting.
In the capacity expansion, the Sync Agent acts as a duplicate+ Ha Xicao splitter to divide the synchronization information 1 into N, so that no repeated data is ensured on the expanded example.
According to the database capacity expansion scheme, the current data synchronization progress is obtained through the Replication function of the Redis, when the Replication function on the Redis Old shows that the synchronization gap between the Redis Old and the Sync Agent is not more than 1MB, and the synchronization gap between the Sync Agent and each Redis New is not more than 1MB, the Redis Old is set to be prohibited to be written, and the last 1MB data synchronization is waited for to be completed, and the time consumption of the step is not more than a few seconds. After synchronization is completed, the hash slot distribution stored in the Config Server is modified, and all Redis New are set as master nodes to allow reading and writing. And the Config Server notifies the Proxy node of the hash slot distribution, and the Proxy node rebuilds the Proxy rule and replaces the rule with the expiration failure, so that node capacity expansion is completed.
Fig. 2b is a flowchart of database expansion in another database cluster expansion system according to the first embodiment of the present invention. As shown in fig. 2b, in the whole capacity expansion process, the time required to ensure that the data is not lost by prohibiting writing is only a few seconds at most, in fact, in the internal network of the data center, the time for transmitting 1MB of data is far less than a few seconds, and the capacity expansion influence time is shorter.
Scheme II, database capacity reduction scheme:
according to the database capacity expansion scheme, when the nodes shrink, the synchronization information of a plurality of nodes to be offline is combined through the Sync Agent, and then the synchronization information is sent to a Redis instance for replacing the nodes to be offline. As shown in fig. 3, fig. 3 is a flowchart of database scaling in a database cluster scaling system according to a first embodiment of the present invention. The database capacity reduction scheme is specifically as follows:
similarly to the capacity expansion, in order to ensure that data is not lost, it is necessary to prohibit writing of the Redis instance to be taken off line when the synchronization gap is not more than 1 MB. However, the capacity reduction and the capacity expansion are different, and the capacity reduction uses one node to bear the read-write requests of N nodes before, and the synchronization gap can not reach a state of not more than 1MB all the time possibly even be larger and larger because of insufficient example capacity, in this case, the capacity reduction operation needs to be stopped, and the Sync Agent and the newly built Redis example are released.
Because the capacity expansion process ensures that the same Key does not exist on different Redis fragments, the troublesome problem of merging data with the same Key is not required to be processed during capacity shrinkage.
In summary, the proxy device 16 in the system for expanding and shrinking provided in the present application also has different actual internal processing logic according to the expanding and shrinking scheme, and fig. 4a is an internal logic flow chart of the expanding scheme of the proxy device in the system for expanding and shrinking database clusters according to the first embodiment of the present invention; fig. 4b is an internal logic flow diagram of a capacity reduction scheme of a proxy device in a database cluster capacity reduction system according to a first embodiment of the present invention. As shown in fig. 4a, the internal logic of the expansion scheme of the proxy device is as follows:
1. starting synchronizing data from the source instance;
2. blocking to acquire source instance synchronous data;
3. calculating a hash slot corresponding to the record;
4. acquiring a port corresponding to the hash slot;
5. judging whether the connection is disconnected or not, executing the step 6 in a disconnected mode, and executing the step 7 in a non-disconnected mode;
6. ending;
7. and sending the synchronous data to the target port.
As shown in fig. 4b, the internal logic of the capacity reduction scheme of the proxy device is as follows:
1. starting synchronizing data from the source instance;
2. blocking to acquire source instance synchronous data;
3. writing into a blocking queue, judging whether data are accumulated too much, and if so, executing the step 4; if not, executing the step 5;
4. Too much data is accumulated and writing into the blocking queue fails;
5. judging whether the connection is disconnected or not, executing the step 6 in a disconnected mode, and executing the step 7 in a non-disconnected mode;
6. ending;
7. and sending the synchronous data to the target port.
In addition, the system for expanding and shrinking provided by the application further comprises: the fine-to-hash-slot read-write control is realized in the Redis kernel, only one hash slot is forbidden to be written before the hash slot is moved, and the read-write is allowed after the movement is completed, so that the scheme reduces the influence range from the whole example to a single Ha Xicao.
In summary, the proxy device in the capacity expansion and contraction system provided by the application can be a synchronization middle layer introduced in the process of horizontal capacity expansion and contraction of the Redis cluster, which is called as Sync Agent. The Sync Agent is a logically middle layer, and can be technically implemented in the Redis database kernel as a special module, or can be implemented as one or a group of processes independent of Redis.
The expansion and contraction system provided by the application processes synchronous data again by using processes other than Redis self-reproduction function, so that the split and merging of synchronous data streams are realized, and further the online horizontal smooth expansion and contraction are realized.
The capacity expansion and contraction system provides a reliable horizontal capacity expansion and contraction scheme for the Redis database, aims to solve the problem that Redis cluster service in a cloud computing environment is difficult to automatically expand and contract horizontally, and improves the quality and public praise of Redis service in the cloud computing environment.
According to the capacity expansion and contraction system, by introducing an agent system, real-time data copying and synchronization during cluster capacity expansion and contraction are taken over, so that on-line capacity expansion and contraction operation of a Redis cluster is realized, the writing influence duration of a migration process is controlled within a nearly fixed time length while data loss is avoided, and smooth capacity expansion and contraction experience is realized.
Example 2
In accordance with an embodiment of the present invention, there is also provided a method embodiment of database cluster expansion, it being noted that the steps illustrated in the flowchart of the figures may be performed in a computer system, such as a set of computer executable instructions, and, although a logical order is illustrated in the flowchart, in some cases, the steps illustrated or described may be performed in an order other than that illustrated herein.
The method embodiment provided in the first embodiment of the present application may be executed in a mobile terminal, a computer terminal or a similar computing device. Taking a computer terminal as an example, fig. 5 is a block diagram of a hardware structure of a computer terminal of a database cluster capacity expansion method according to an embodiment of the present invention. As shown in fig. 5, the computer terminal 50 may include one or more (only one is shown in the figure) processors 502 (the processors 502 may include, but are not limited to, a microprocessor MCU or a processing device such as a programmable logic device FPGA), a memory 504 for storing data, and a transmission module 506 for communication functions. It will be appreciated by those of ordinary skill in the art that the configuration shown in fig. 5 is merely illustrative and is not intended to limit the configuration of the electronic device described above. For example, the computer terminal 50 may also include more or fewer components than shown in FIG. 5, or have a different configuration than shown in FIG. 5.
The memory 504 may be used to store software programs and modules of application software, such as program instructions/modules corresponding to the method of capacity expansion in the embodiment of the present invention, and the processor 502 executes the software programs and modules stored in the memory 504 to perform various functional applications and data processing, that is, to implement the method of database cluster capacity expansion of application programs. Memory 504 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 504 may further comprise memory located remotely from the processor 502, which may be connected to the computer terminal 50 via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission means 506 is used to receive or transmit data via a network. The specific examples of the network described above may include a wireless network provided by a communication provider of the computer terminal 50. In one example, the transmission device 506 includes a network adapter (Network Interface Controller, NIC) that can connect to other network devices through a base station to communicate with the internet. In one example, the transmission device 506 may be a Radio Frequency (RF) module, which is used to communicate with the internet wirelessly.
In the above-described operating environment, the present application provides a method for database cluster expansion as shown in fig. 6. Fig. 6 is a flowchart of a method for database cluster expansion according to a second embodiment of the present invention.
Step S602, when the database cluster expands, determining the number of target expansion nodes required by the nodes to be expanded in the database cluster;
specifically, a process of N empty Redis instances (i.e., target number of expansion nodes) is initiated, where N is the number of target nodes to which the current node needs to be expanded.
Step S604, synchronizing the capacity expansion information of the nodes to be expanded into the proxy device through the replication function of the nodes to be expanded, and synchronizing the capacity expansion information to target capacity expansion nodes corresponding to the target capacity expansion nodes.
Specifically, in combination with step S602 and step S604, when there is a node that needs to be expanded, the method for expanding capacity provided in the present application is different from the prior art according to the database expansion scheme in embodiment 1 and fig. 2a and 2b, and by using the proxy device, for each node that needs to be expanded (i.e., the node to be expanded provided in the present application), N empty Redis instances (i.e., the target expansion nodes provided in the present application) are started first, that is, the Redis New1 and Redis New2 marked in fig. 2a and 2b, where N is the number of target nodes that the current node needs to be expanded to.
And further, the hash slot range stored on the node to be expanded, the hash slot range stored by N nodes after expansion and N different port numbers (namely, expansion information) are transmitted into the node to be expanded through the proxy device.
After the proxy device is started, monitoring ports corresponding to N different port numbers in the capacity expansion information, corresponding to the capacity-expanded Redis examples, and providing the Redis-compatible Replication function on the N ports respectively.
And finally, N Redis nodes sequentially use SlaveOf instructions to acquire synchronization information from ports exposed by Sync agents, and at the same time, the Sync agents acquire the synchronization information from the Redis to be expanded, and then the synchronization information is transmitted to corresponding expanded Redis examples according to N hash slot ranges transmitted during starting.
In the embodiment of the invention, a proxy system is introduced, and a mode of real-time data copying and synchronization during capacity expansion and capacity contraction of the cluster is adopted, so that the number of target capacity expansion nodes required by the nodes to be expanded in the database cluster is determined during capacity expansion of the database cluster; the capacity expansion information of the nodes to be expanded is synchronized to the proxy device through the replication function of the nodes to be expanded, and the capacity expansion information is synchronized to the target capacity expansion nodes corresponding to the target capacity expansion nodes, so that the online capacity expansion and contraction operation of the Redis cluster is achieved, the writing influence time length of the migration process is controlled within a nearly fixed time length while the data is not lost, the technical effects of smooth capacity expansion and capacity contraction experience are achieved, and the technical problem of data loss caused by the horizontal capacity expansion and contraction process of a storage database in the prior art is solved.
Optionally, the capacity expansion information includes: a hash slot range to be saved by the capacity expansion node;
optionally, determining the number of target capacity expansion nodes required for the capacity expansion node to be expanded in the database cluster in step S602 includes: the hash slot range and port number of the target capacity expansion node are stored by the proxy device.
Optionally, synchronizing the capacity expansion information to the target capacity expansion node corresponding to the target capacity expansion node number in step S604 includes:
step S6041, monitoring a port of a target capacity expansion node through a proxy device and providing a copying function for the port;
step S6042, obtaining synchronous information from the node to be expanded;
step S6043, forwarding the synchronization information to the target capacity expansion node.
Specifically, in combination with step S6041 to step S6043, after the proxy device is started, monitoring ports corresponding to N different port numbers in the capacity expansion information, and providing the corresponding capacity-expanded Redis instances on the N ports with a replying function compatible with the Redis.
Further, optionally, the step S6042 of obtaining the synchronization information from the node to be expanded includes:
step S60421, judging whether the synchronization difference between the node to be expanded and the proxy device and the synchronization difference between the proxy device and the target expansion node are larger than a preset threshold;
And step 60422, if the judgment result is negative, controlling the node to be expanded to inhibit writing, and acquiring the synchronization information from the node to be expanded.
Specifically, in combination with step S60421 and step S60422, the current data synchronization progress is obtained through the replying function of the Redis, and when the replying function on the Redis Old indicates that the synchronization gap between the Redis Old and the Sync Agent is not greater than 1MB and the synchronization gap between the Sync Agent and each Redis New is not greater than 1MB, the Redis Old is set to be prohibited from writing, and the last 1MB of data synchronization is waited for completion.
Optionally, forwarding the synchronization information to the target capacity expansion node in step S6043 includes:
step S60431, according to the hash slot range of the stored target capacity expansion node, sending synchronization information to the target capacity expansion node according to a preset sequence.
Specifically, N Redis nodes are sequentially used for acquiring synchronization information from a port exposed by a Sync Agent of the proxy device by using a SlaveOf instruction, and at the same time, the Sync Agent of the proxy device acquires the synchronization information from the Redis to be expanded, and then the synchronization information is transmitted to a corresponding Redis instance after expansion according to N hash slot ranges transmitted during starting.
Optionally, after synchronizing the capacity expansion information to the target capacity expansion nodes corresponding to the target capacity expansion node number in step S604, the method for database cluster capacity expansion provided in the present application further includes:
Step S605, hash slot distribution information of the target capacity expansion node after capacity expansion is sent to a server side so that the server side can update;
step S606, determining the target capacity expansion node as a master node to execute read-write operation.
Specifically, in combination with step S605 and step S606 and the system for expanding and shrinking provided in embodiment 1, after synchronization is completed, the hash slot distribution stored in the Config Server is modified, and all redisnew is set as the master node, so that reading and writing are allowed.
In the whole capacity expansion process, the time required to ensure that the data is not lost by prohibiting writing is only a few seconds at most, in fact, in the internal network of the data center, the time for transmitting 1MB data is far less than a few seconds, and the capacity expansion influence time is shorter.
In addition, the Config Server notifies the Proxy node of the hash slot distribution, the Proxy node rebuilds the Proxy rule, replaces the rule with expiration failure, and the node capacity expansion is completed.
Example 3
According to another aspect of the embodiment of the present invention, there is further provided a method for database cluster capacity reduction, and fig. 7 is a flowchart of a method for database cluster capacity reduction according to the third embodiment of the present invention. Comprising the following steps:
step S702, merging the synchronous information of at least one node to be offline through the proxy device;
Step S704, judging whether the synchronization difference between at least one node to be offline and the proxy device and the synchronization difference between the target capacity reduction node and the proxy device are larger than a preset threshold;
step S706, if the judgment result is no, controlling at least one node to be offline to inhibit writing, acquiring the synchronization information from the at least one node to be offline, and sending the synchronization information to a target capacitance shrinking node for replacing the at least one node to be offline.
Specifically, in combination with step S702 and step S706, when the node contracts, the database contraction scheme in the corresponding embodiment 1 and fig. 3, the method for contraction provided in the present application is different from the prior art, and the Sync information of a plurality of nodes to be disconnected is combined by the Agent device Sync Agent, and then the synchronization information is sent to the dis instance for replacing the node to be disconnected, where, similar to expansion, in order to ensure that data is not lost, when the synchronization gap is not greater than 1MB, writing of the dis instance to be disconnected is prohibited. .
In the embodiment of the invention, a proxy system is introduced, a mode of real-time data copying and synchronization during cluster capacity expansion and capacity contraction is taken over, and the synchronization information of at least one node to be offline is combined through a proxy device; judging whether the synchronization difference value between at least one node to be offline and the proxy device and the synchronization difference value between the target capacity reduction node and the proxy device are larger than a preset threshold value or not; under the condition that the judgment result is negative, at least one node to be offline is controlled to inhibit writing, synchronous information is acquired from the at least one node to be offline, and the synchronous information is sent to a target capacity reduction node for replacing the at least one node to be offline, so that the online capacity expansion and reduction operation of a Redis cluster is achieved, the writing influence time length of a migration process is controlled within a nearly fixed time length while data loss is avoided, the technical effect of smooth capacity expansion and reduction experience is achieved, and the technical problem of data loss caused by the process of horizontally expanding and reducing a storage database in the prior art is solved.
Optionally, the method for shrinking the database cluster provided by the application further includes:
step S7021, in the case that the determination result is yes, suspending the operation of synchronizing at least one node to be offline to the target capacitance node, and releasing the proxy device and the target capacitance node.
Specifically, the capacity reduction and the capacity expansion are different, and the capacity reduction uses one node to bear the read-write requests of N nodes before, so that the synchronization gap can not reach a state of not more than 1MB all the time possibly even the gap is larger and larger because of insufficient example capacity, and in this case, the capacity reduction operation needs to be stopped to release Sync Agent and newly built Redis examples.
Because the capacity expansion process ensures that the same Key does not exist on different Redis fragments, the troublesome problem of merging data with the same Key is not required to be processed during capacity shrinkage.
It should be noted that, for simplicity of description, the foregoing method embodiments are all described as a series of acts, but it should be understood by those skilled in the art that the present invention is not limited by the order of acts described, as some steps may be performed in other orders or concurrently in accordance with the present invention. Further, those skilled in the art will also appreciate that the embodiments described in the specification are all preferred embodiments, and that the acts and modules referred to are not necessarily required for the present invention.
From the above description of the embodiments, it will be clear to those skilled in the art that the method of shrinking the volume according to the above embodiments may be implemented by means of software plus a necessary general hardware platform, but of course may also be implemented by hardware, but in many cases the former is a preferred embodiment. Based on such understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art in the form of a software product stored in a storage medium (e.g. ROM/RAM, magnetic disk, optical disk) comprising instructions for causing a terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) to perform the method according to the embodiments of the present invention.
Example 4
According to an embodiment of the present invention, there is further provided an apparatus for implementing the method for database cluster expansion, as shown in fig. 8, and fig. 8 is a block diagram of an apparatus for database cluster expansion according to a fourth embodiment of the present invention. The device comprises:
the node confirmation module 82 is configured to determine, during the expansion process of the database cluster, a target expansion node number required by a node to be expanded in the database cluster; the capacity expansion module 84 is configured to synchronize capacity expansion information of the to-be-expanded node to the proxy device through a replication function of the to-be-expanded node, and synchronize the capacity expansion information to a target capacity expansion node corresponding to the target capacity expansion node number.
In the embodiment of the invention, a proxy system is introduced, and a mode of real-time data copying and synchronization during capacity expansion and capacity contraction of the cluster is adopted, so that the number of target capacity expansion nodes required by the nodes to be expanded in the database cluster is determined during capacity expansion of the database cluster; the capacity expansion information of the nodes to be expanded is synchronized to the proxy device through the replication function of the nodes to be expanded, and the capacity expansion information is synchronized to the target capacity expansion nodes corresponding to the target capacity expansion nodes, so that the online capacity expansion and contraction operation of the Redis cluster is achieved, the writing influence time length of the migration process is controlled within a nearly fixed time length while the data is not lost, the technical effects of smooth capacity expansion and capacity contraction experience are achieved, and the technical problem of data loss caused by the horizontal capacity expansion and contraction process of a storage database in the prior art is solved.
Example 5
According to an embodiment of the present invention, there is further provided an apparatus for implementing the above-mentioned method for reducing capacity, as shown in fig. 9, and fig. 9 is a structural diagram of an apparatus for expanding capacity according to a fifth embodiment of the present invention. The device comprises:
a merging module 92, configured to merge, by the proxy device, synchronization information of at least one node to be offline; a judging module 94, configured to judge whether a synchronization difference between at least one node to be offline and the proxy device, and a synchronization difference between the target capacity reduction node and the proxy device are greater than a preset threshold; and the capacity reduction module 96 is configured to control at least one node to be offline to prohibit writing if the determination result is no, acquire synchronization information from the at least one node to be offline, and send the synchronization information to a target capacity reduction node that replaces the at least one node to be offline.
In the embodiment of the invention, a proxy system is introduced, a mode of real-time data copying and synchronization during cluster capacity expansion and capacity contraction is taken over, and the synchronization information of at least one node to be offline is combined through a proxy device; judging whether the synchronization difference value between at least one node to be offline and the proxy device and the synchronization difference value between the target capacity reduction node and the proxy device are larger than a preset threshold value or not; under the condition that the judgment result is negative, at least one node to be offline is controlled to inhibit writing, synchronous information is acquired from the at least one node to be offline, and the synchronous information is sent to a target capacity reduction node for replacing the at least one node to be offline, so that the online capacity expansion and reduction operation of a Redis cluster is achieved, the writing influence time length of a migration process is controlled within a nearly fixed time length while data loss is avoided, the technical effect of smooth capacity expansion and reduction experience is achieved, and the technical problem of data loss caused by the process of horizontally expanding and reducing a storage database in the prior art is solved.
Example 6
According to an aspect of still another embodiment of the present invention, there is also provided a storage medium including: the storage medium includes a stored program, wherein the program when run controls a device in which the storage medium is located to perform the method of database cluster expansion and contraction in embodiment 2 or embodiment 3.
Example 7
The embodiment of the invention also provides a storage medium. Alternatively, in this embodiment, the storage medium may be used to store the program code executed by the capacity expansion method provided in the first embodiment.
Alternatively, in this embodiment, the storage medium may be located in any one of the computer terminals in the computer terminal group in the computer network, or in any one of the mobile terminals in the mobile terminal group.
Alternatively, in the present embodiment, the storage medium is configured to store program code for performing the steps of: when the database cluster expands, determining the number of target expansion nodes required by the nodes to be expanded in the database cluster; and synchronizing the capacity expansion information of the nodes to be expanded into the proxy device through the replication function of the nodes to be expanded, and synchronizing the capacity expansion information to target capacity expansion nodes corresponding to the target capacity expansion nodes.
Alternatively, in the present embodiment, the storage medium is configured to store program code for performing the steps of: the capacity expansion information comprises: a hash slot range to be saved by the capacity expansion node;
alternatively, in the present embodiment, the storage medium is configured to store program code for performing the steps of: the determining of the target capacity expansion node number required by the capacity expansion node to be expanded in the database cluster comprises the following steps: the hash slot range and port number of the target capacity expansion node are stored by the proxy device.
Alternatively, in the present embodiment, the storage medium is configured to store program code for performing the steps of: synchronizing the capacity expansion information to a target capacity expansion node corresponding to the target capacity expansion node number includes: monitoring a port of a target capacity expansion node through a proxy device, and providing a copying function for the port; acquiring synchronous information from a node to be expanded; and forwarding the synchronous information to the target capacity expansion node.
Further optionally, in the present embodiment, the storage medium is configured to store program code for performing the steps of: the step of obtaining the synchronization information from the node to be expanded comprises the following steps: judging whether the synchronization difference value between the node to be expanded and the proxy device and the synchronization difference value between the proxy device and the target expansion node are larger than a preset threshold value or not; and under the condition that the judgment result is negative, controlling the node to be expanded to inhibit writing, and acquiring the synchronous information from the node to be expanded.
Alternatively, in the present embodiment, the storage medium is configured to store program code for performing the steps of: forwarding the synchronization information to the target dilatation node includes: and sending synchronous information to the target capacity expansion node according to the stored hash slot range of the target capacity expansion node and a preset sequence.
Alternatively, in the present embodiment, the storage medium is configured to store program code for performing the steps of: after the capacity expansion information is synchronized to the target capacity expansion nodes corresponding to the target capacity expansion node number, the hash groove distribution information of the expanded target capacity expansion nodes is sent to the server side, so that the server side can update; and determining the target capacity expansion node as a master node to execute read-write operation.
The foregoing embodiment numbers of the present invention are merely for the purpose of description, and do not represent the advantages or disadvantages of the embodiments.
In the foregoing embodiments of the present invention, the descriptions of the embodiments are emphasized, and for a portion of this disclosure that is not described in detail in this embodiment, reference is made to the related descriptions of other embodiments.
In the several embodiments provided in the present application, it should be understood that the disclosed technology content may be implemented in other manners. The above-described embodiments of the apparatus are merely exemplary, and the division of the units, such as the division of the units, is merely a logical function division, and may be implemented in another manner, for example, multiple units or components may be combined or may be 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 through some interfaces, units or modules, or may be in electrical or other forms.
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 invention 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 invention 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 invention. And the aforementioned storage medium includes: a U-disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a removable hard disk, a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The foregoing is merely a preferred embodiment of the present invention and it should be noted that modifications and adaptations to those skilled in the art may be made without departing from the principles of the present invention, which are intended to be comprehended within the scope of the present invention.

Claims (12)

1. A system for database cluster scaling comprising:
the server is used for storing the fragmentation information of the database cluster;
the access proxy terminal is respectively connected with the server terminal and the database cluster and is used for proxy of the access request to a database node in the database cluster according to the access request;
the agent device is respectively connected with the server side and the database cluster, and is used for expanding or shrinking the volume of the database nodes in the database cluster and updating the changed fragmentation information after the volume expansion or shrinking of the database nodes to the server side;
the proxy device is further used for monitoring a port of a target capacity expansion node through the proxy device, providing a copying function for the port, acquiring synchronous information from the node to be expanded, forwarding the synchronous information to the target capacity expansion node, judging whether the synchronous difference between the node to be expanded and the proxy device and the synchronous difference between the proxy device and the target capacity expansion node are larger than a preset threshold value or not; if the judgment result is negative, controlling the node to be expanded to inhibit writing, and acquiring the synchronous information from the node to be expanded; and under the condition that the judgment result is yes, stopping the operation of synchronizing at least one node to be offline to the target capacity reduction node, and releasing the proxy device and the target capacity reduction node.
2. The system of claim 1, wherein the system further comprises: the load balancer is used for forwarding a request of the client to the real server according to a preset load balancing rule.
3. The system according to claim 1 or 2, wherein the server side sends updated fragment information to the access proxy side, and the access proxy side updates a proxy rule.
4. A method of database cluster expansion, comprising:
when a database cluster expands, determining the number of target expansion nodes required by nodes to be expanded in the database cluster;
synchronizing the capacity expansion information of the nodes to be expanded into an agent device through the replication function of the nodes to be expanded, and synchronizing the capacity expansion information to target capacity expansion nodes corresponding to the target capacity expansion nodes;
wherein synchronizing the capacity expansion information to a target capacity expansion node corresponding to the target capacity expansion node number includes:
monitoring a port of the target capacity expansion node through the proxy device, and providing a copying function for the port;
acquiring synchronous information from the node to be expanded;
forwarding the synchronization information to the target capacity expansion node;
Wherein, the obtaining the synchronization information from the node to be expanded includes:
judging whether the synchronization difference value between the node to be expanded and the proxy device and the synchronization difference value between the proxy device and the target expansion node are larger than a preset threshold value or not;
and under the condition that the judgment result is negative, controlling the node to be expanded to inhibit writing, and acquiring the synchronous information from the node to be expanded.
5. The method of claim 4, wherein the capacity-expansion information comprises: and the hash slot range stored by the node to be expanded.
6. The method of claim 4, wherein the determining the number of target capacity expansion nodes required for the node to be expanded in the database cluster comprises: and storing the hash slot range and the port number of the target capacity expansion node through the proxy device.
7. The method of claim 6, wherein the forwarding the synchronization information to the target dilatation node comprises:
and sending the synchronization information to the target capacity expansion node according to a preset sequence according to the stored hash slot range of the target capacity expansion node.
8. The method of claim 4, wherein after synchronizing the expansion information to a target expansion node corresponding to the target expansion node number, the method further comprises:
Transmitting the hash slot distribution information of the target capacity expansion node after capacity expansion to a server so that the server can update;
and determining the target capacity expansion node as a main node to execute read-write operation.
9. A method of database cluster scaling comprising:
combining the synchronous information of at least one node to be offline through the proxy device;
judging whether the synchronization difference value between the at least one node to be offline and the proxy device and the synchronization difference value between the target capacity reduction node and the proxy device are larger than a preset threshold value or not;
if the judgment result is negative, controlling the at least one node to be offline to inhibit writing, acquiring the synchronization information from the at least one node to be offline, and sending the synchronization information to the target capacitance shrinking node for replacing the at least one node to be offline;
wherein the method further comprises:
and if the judgment result is yes, stopping the operation of synchronizing the at least one node to be offline to the target capacity reduction node, and releasing the proxy device and the target capacity reduction node.
10. An apparatus for database cluster expansion, comprising:
the node confirmation module is used for determining the number of target capacity expansion nodes required by the nodes to be expanded in the database cluster when the database cluster is expanded;
The capacity expansion module is used for synchronizing capacity expansion information of the nodes to be expanded into the proxy device through the replication function of the nodes to be expanded, and synchronizing the capacity expansion information to target capacity expansion nodes corresponding to the target capacity expansion nodes;
wherein the node confirmation module is further configured to monitor a port of the target capacity expansion node through the proxy device, provide a copy function for the port, acquire synchronization information from the node to be expanded, forward the synchronization information to the target capacity expansion node,
the capacity expansion module is further used for judging whether the synchronization difference value between the node to be expanded and the proxy device and the synchronization difference value between the proxy device and the target capacity expansion node are larger than a preset threshold value or not;
and under the condition that the judgment result is negative, controlling the node to be expanded to inhibit writing, and acquiring the synchronous information from the node to be expanded.
11. An apparatus for database cluster scaling, comprising:
the merging module is used for merging the synchronous information of at least one node to be offline through the proxy device;
the judging module is used for judging whether the synchronization difference value between the at least one node to be offline and the proxy device and the synchronization difference value between the target capacity reduction node and the proxy device are larger than a preset threshold value or not;
The capacity reduction module is used for controlling the at least one node to be offline to inhibit writing under the condition that the judgment result is negative, acquiring the synchronous information from the at least one node to be offline, and sending the synchronous information to the target capacity reduction node for replacing the at least one node to be offline;
and the device is further used for stopping the operation of synchronizing the at least one node to be offline to the target capacity reduction node and releasing the proxy device and the target capacity reduction node under the condition that the judgment result is yes.
12. A storage medium comprising a stored program, wherein the program, when run, controls a device in which the storage medium is located to perform the method of database cluster expansion and contraction as claimed in any one of claims 4-9.
CN201811020508.2A 2018-09-03 2018-09-03 Method, device and system for expanding and shrinking capacity of database cluster Active CN110874384B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811020508.2A CN110874384B (en) 2018-09-03 2018-09-03 Method, device and system for expanding and shrinking capacity of database cluster

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811020508.2A CN110874384B (en) 2018-09-03 2018-09-03 Method, device and system for expanding and shrinking capacity of database cluster

Publications (2)

Publication Number Publication Date
CN110874384A CN110874384A (en) 2020-03-10
CN110874384B true CN110874384B (en) 2023-05-02

Family

ID=69716611

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811020508.2A Active CN110874384B (en) 2018-09-03 2018-09-03 Method, device and system for expanding and shrinking capacity of database cluster

Country Status (1)

Country Link
CN (1) CN110874384B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021207923A1 (en) * 2020-04-14 2021-10-21 深圳市欢太科技有限公司 Cluster expansion method and apparatus, storage medium, and electronic device
CN111708763B (en) * 2020-06-18 2023-12-01 北京金山云网络技术有限公司 Data migration method and device of sliced cluster and sliced cluster system
CN112698926B (en) * 2021-03-25 2021-07-02 成都新希望金融信息有限公司 Data processing method, device, equipment, storage medium and system
CN113934707A (en) * 2021-10-09 2022-01-14 京东科技信息技术有限公司 Cloud native database, database capacity expansion method, database capacity reduction method and device
CN114500576A (en) * 2021-12-27 2022-05-13 天翼云科技有限公司 Distributed cache capacity expansion and reduction method, system, device and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016197994A1 (en) * 2015-12-03 2016-12-15 中兴通讯股份有限公司 Capacity expansion method and device
CN107357896A (en) * 2017-07-13 2017-11-17 北京小度信息科技有限公司 Expansion method, device, system and the data base cluster system of data-base cluster
CN107526838A (en) * 2017-09-08 2017-12-29 北京京东尚科信息技术有限公司 The method and apparatus of data-base cluster dilatation
WO2018072708A1 (en) * 2016-10-21 2018-04-26 中兴通讯股份有限公司 Cloud platform service capacity reduction method, apparatus, and cloud platform
WO2018153218A1 (en) * 2017-02-27 2018-08-30 腾讯科技(深圳)有限公司 Resource processing method, related apparatus and communication system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060117505A (en) * 2005-05-11 2006-11-17 인하대학교 산학협력단 A recovery method using extendible hashing based cluster log in a shared-nothing spatial database cluster

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016197994A1 (en) * 2015-12-03 2016-12-15 中兴通讯股份有限公司 Capacity expansion method and device
WO2018072708A1 (en) * 2016-10-21 2018-04-26 中兴通讯股份有限公司 Cloud platform service capacity reduction method, apparatus, and cloud platform
WO2018153218A1 (en) * 2017-02-27 2018-08-30 腾讯科技(深圳)有限公司 Resource processing method, related apparatus and communication system
CN107357896A (en) * 2017-07-13 2017-11-17 北京小度信息科技有限公司 Expansion method, device, system and the data base cluster system of data-base cluster
CN107526838A (en) * 2017-09-08 2017-12-29 北京京东尚科信息技术有限公司 The method and apparatus of data-base cluster dilatation

Also Published As

Publication number Publication date
CN110874384A (en) 2020-03-10

Similar Documents

Publication Publication Date Title
CN110874384B (en) Method, device and system for expanding and shrinking capacity of database cluster
AU2019236685B2 (en) Distributed file system using consensus nodes
CN109729111B (en) Method, apparatus and computer program product for managing distributed systems
US9934242B2 (en) Replication of data between mirrored data sites
CA2938768C (en) Geographically-distributed file system using coordinated namespace replication
CN105407117B (en) The methods, devices and systems of distributed backup data
KR20190049266A (en) Apparatus for controlling synchronization of metadata on network and method for the same
CN111131451A (en) Service processing system and service processing method
CN113010496B (en) Data migration method, device, equipment and storage medium
US20150067004A1 (en) Distributed file system using consensus nodes
CN104243527A (en) Data synchronization method and device and distributed system
TW201724809A (en) System and method for acquiring, processing, and updating global information
CN106603319B (en) Fault processing method, management server and logic server
CN102932409B (en) The method and system that a kind of virtual machine moves online
EP4050850A1 (en) Service upgrading method, device and system
JP2018515850A (en) Data copy method and device
CN111600794B (en) Server switching method, terminal, server and storage medium
CN112612769A (en) File processing method, device and storage medium
CN111726388A (en) Cross-cluster high-availability implementation method, device, system and equipment
CN105323271B (en) Cloud computing system and processing method and device thereof
CN111400285B (en) mySQL data fragment processing method, device, computer equipment and readable storage medium
CN116560904A (en) NAS data backup disaster recovery method, system, terminal and storage medium
CN112261097B (en) Object positioning method for distributed storage system and electronic equipment
CN116260827A (en) Election method, election system and related device of leader in cluster
CN114363350A (en) Service management system and method

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
GR01 Patent grant
GR01 Patent grant