Cluster data migration method, device and electronic equipment
By performing data migration tasks based on cluster information and evaluation factor dynamic scheduling service nodes based on the data migration system in the financial technology field, the problem of too long cluster data migration time and Yicaton have been solved, and the data migration efficiency and system stability have been improved. sex.
Patent Information
- Application Number
- CN202011485975.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-12-16
- Publication Date
- 2025-01-24
- Estimated Expiration
- 2040-12-16
AI Technical Summary
In the field of financial technology, when facing large cluster data migration, the existing technology causes data migration to be too long and easy to stutter, and cannot effectively solve this problem.
Based on cluster information in the scheduling node, determine the master node based on cluster information, and use the evaluation factor (such as data migration task capacity, memory occupation rate, processor usage rate) dynamic scheduling service node to perform data migration tasks, support at least two service nodes to execute data Migration task.
This method can improve the data migration system's ability to handle concurrent data migration tasks, shorten data migration time, and reduce the probability of service nodes getting stuck.
Smart Images

Figure CN112632033B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a cluster data migration method, device and electronic equipment. Background Art
[0002] With the development of computer technology, more and more technologies are applied in the financial field. Traditional finance is gradually transforming to financial technology. However, due to the security and real-time requirements of the financial industry, financial technology also puts forward higher requirements on technology. In financial technology, migration tools or single servers are usually used to migrate cluster data. However, when facing the data migration of large clusters, due to the huge amount of data, the data migration time is too long and easy to be stuck. Summary of the invention
[0003] In view of this, embodiments of the present invention are intended to provide a cluster data migration method, device and electronic device to solve the technical problem in the related art that the data migration time is too long and prone to jamming when migrating data of a large cluster.
[0004] To achieve the above object, the technical solution of the present invention is achieved as follows:
[0005] An embodiment of the present invention provides a cluster data migration method, which is applied to each scheduling node in at least one scheduling node. The method includes:
[0006] Based on the cluster information of at least one first cluster, determining a master node corresponding to each first cluster in the at least one first cluster;
[0007] Based on at least one evaluation factor and the determined node information of the master node, a data migration task is issued to at least one service node; wherein,
[0008] The evaluation factor is used to evaluate the data migration task capability of the service node; the service node is used to execute the data migration task; each data migration task is used to migrate the data stored in the corresponding master node.
[0009] In the above solution, the step of sending a data migration task to at least one service node based on at least one evaluation factor and the determined node information of the master node includes:
[0010] Determining a score corresponding to each service node in the at least one service node based on at least one evaluation factor;
[0011] Based on the node information of each of the determined master nodes and the score corresponding to each service node, a data migration task is issued to at least one service node.
[0012] In the above scheme, the method further includes:
[0013] The at least one evaluation factor reported by each service node is received.
[0014] In the above scheme, the evaluation factor includes at least one of the following:
[0015] The first evaluation factor represents the total number of data migration tasks in execution state in the service node;
[0016] The second evaluation factor represents the memory usage of the service node;
[0017] The third evaluation factor represents the processor usage of the service node.
[0018] In the above solution, the first weight value corresponding to the first evaluation factor is greater than the second weight value corresponding to the second evaluation factor, and the second weight value corresponding to the second evaluation factor is greater than the third weight value corresponding to the third evaluation factor.
[0019] In the above solution, the node information includes a network domain;
[0020] The sending of the data migration task to at least one service node based on at least one evaluation factor and the determined node information of the master node includes:
[0021] Determine at least one service node based on the network domain of each master node and the network domain of each service node;
[0022] Based on at least one evaluation factor and the determined node information of at least one master node, a data migration task is issued to at least one service node among the at least one service node; wherein,
[0023] The network domain of each service node in the at least one service node is the same as the network domain of at least one master node; the service node is used to migrate data stored in the master node in the same network domain.
[0024] In the above scheme, the method further includes at least one of the following:
[0025] When a first service node among the at least one service node fails to execute the first data migration task, sending the first data migration task to a second service node among the at least one service node;
[0026] When the execution status of the data migration task reported by the first service node among the at least one service node is not received within the first set time period, a second data migration task corresponding to the first service node is issued to a second service node among the at least one service node; the second data migration task represents a data migration task whose execution status has not been reported among all the issued data migration tasks;
[0027] When the heartbeat information reported by the first service node among the at least one service node is not received within the second set time period, the first service node is set to an offline state.
[0028] The embodiment of the present invention further provides a cluster data migration device, including:
[0029] A determining unit, configured to determine at least one master node corresponding to the at least one first cluster based on cluster information of the at least one first cluster;
[0030] A scheduling unit, configured to send a data migration task to at least one service node based on at least one evaluation factor and the determined node information of at least one master node; wherein,
[0031] The evaluation factor is used to evaluate the data migration task capability of the service node; the service node is used to execute the data migration task; each data migration task is used to migrate the data stored in the corresponding master node.
[0032] An embodiment of the present invention further provides an electronic device, comprising: a processor and a memory for storing a computer program that can be run on the processor,
[0033] Wherein, the processor is used to execute the steps of any one of the above-mentioned cluster data migration methods when running the computer program.
[0034] An embodiment of the present invention further provides a storage medium on which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above cluster data migration methods are implemented.
[0035] In an embodiment of the present invention, at least one scheduling node in at least one scheduling node determines at least one master node corresponding to the at least one first cluster based on cluster information of at least one first cluster; and sends a data migration task to at least one service node based on at least one evaluation factor and the determined at least one master node; wherein the evaluation factor is used to evaluate the data migration task capability of the service node; the service node is used to execute the data migration task; and each data migration task is used to migrate the data stored in the corresponding master node. Since the total number of concurrent data migration tasks that can be processed by the service node is related to the corresponding data migration task capability, and the data migration task corresponds to the master node in the first cluster where data migration is required, each scheduling node can determine the service node for executing the data migration task corresponding to the first cluster based on the number of master nodes corresponding to the first cluster where data migration is required and based on the data migration task capability of the service node. Since the data migration task capability of the service node changes dynamically, when the number of master nodes corresponding to different first clusters is different, the service node determined by the scheduling node for executing the corresponding data migration task may be different, and the number of determined service nodes may also be different, that is, at different times, the scheduling node can dynamically schedule the service node for executing the data migration task. Since this solution supports at least two service nodes to perform concurrent data migration tasks, it can enhance the data migration system's ability to handle concurrent data migration tasks, improve the processing speed of concurrent data migration tasks, and shorten the processing time of concurrent data migration tasks. When concurrent data migration tasks are performed by at least two service nodes, the data processing volume of a single service node is reduced, which can reduce the probability of service node freezes. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] Figure 1 A schematic diagram of a cluster data migration system provided by an embodiment of the present invention;
[0037] Figure 2 An interaction diagram of a cluster data migration party provided by an embodiment of the present invention;
[0038] Figure 3 An interaction diagram of a cluster data migration party provided by another embodiment of the present invention;
[0039] Figure 4 A schematic diagram of the structure of a cluster data migration device provided by an embodiment of the present invention;
[0040] Figure 5 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present invention. DETAILED DESCRIPTION
[0041] Before introducing the technical solution of the present invention, a cluster data migration method in the related art is first introduced:
[0042] In the related technology, cluster data is usually migrated using migration tools or migration services.
[0043] When using the migration tool to migrate cluster data, the operation and maintenance personnel configure the migration tool with the information of the cluster that needs to migrate data, start the migration tool to migrate data, and the operation and maintenance personnel determine whether the data migration is successful based on the log corresponding to the migration tool. Among them, the cluster information includes the information of each node in the redis cluster. When there is no abnormal prompt information in the log corresponding to the migration tool, the operation and maintenance personnel believe that the data migration is successful; when there is abnormal prompt information in the log corresponding to the migration tool, the operation and maintenance personnel believe that the data migration has failed. This solution relies on the operation and maintenance personnel to configure the cluster information and on whether the data migration is successful. It is prone to errors and low intelligence. In addition, when facing the data migration of large clusters, due to the huge amount of data and fixed migration capacity, it cannot be expanded, resulting in a long migration time and easy jams due to garbage collection (GC) and other reasons, making it difficult to smoothly complete the data migration task.
[0044] When using the migration service to migrate cluster data, the migration service in a single server is called, data migration is performed based on the configuration information in the received request information, and the processing result is returned. When the processing result indicates that there is no abnormality in the operation of the migration service, the data migration is successful; when the processing result indicates that there is an abnormality in the operation of the migration service, the data migration fails. Although this solution solves the problem of irreparable losses caused by errors made by operation and maintenance personnel, when a single server faces the data migration of a large cluster, the data migration time is too long and it is easy to jam due to the huge amount of data and fixed migration capacity, making it impossible to complete the task smoothly.
[0045] In order to solve the above technical problems, an embodiment of the present invention provides a cluster data migration method, wherein at least one scheduling node in at least one scheduling node determines at least one master node corresponding to the at least one first cluster based on cluster information of at least one first cluster; and based on at least one evaluation factor and the determined at least one master node, sends a data migration task to at least one service node; wherein the evaluation factor is used to evaluate the data migration task capability of the service node; the service node is used to execute the data migration task; and each data migration task is used to migrate the data stored in the corresponding master node. The data migration task corresponds one-to-one to the master node in the cluster where data migration is required, and each scheduling node can dynamically increase the service node for executing the data migration task based on the number of master nodes corresponding to the cluster where data migration is required to be performed, so as to handle concurrent data migration tasks, and the scalability is strong. Since at least two service nodes are supported to execute concurrent data migration tasks in this solution, the ability of the data migration system to handle concurrent data migration tasks can be enhanced, the processing speed of concurrent data migration tasks can be improved, and the processing time of concurrent data migration tasks can be shortened. When concurrent data migration tasks are executed by at least two service nodes, the data processing volume of a single service node is reduced, and the probability of a service node freezing can be reduced.
[0046] The technical solution of the present invention is further described in detail below in conjunction with the accompanying drawings and specific embodiments.
[0047] Figure 1 FIG. 1 is a schematic diagram of a cluster data migration system provided by an embodiment of the present invention. Figure 1 As shown, the cluster data migration system includes at least one scheduling node 11, at least one service node 12 and at least one cluster 13. One scheduling node 11 can schedule at least one service node 12, and one service node 12 can migrate data in at least one cluster 13.
[0048] The scheduling node 11 is used to determine at least one master node corresponding to the at least one first cluster based on the cluster information of the at least one first cluster, and to issue a data migration task to at least one service node based on at least one evaluation factor and the determined at least one master node.
[0049] The first cluster represents the cluster that needs to migrate data. The first cluster can be a redis cluster or another cluster obtained by expanding the redis cluster. Each redis cluster includes a master node and at least one slave node. Both the master node and the slave node can be servers.
[0050] When the first cluster is composed of one redis cluster, each first cluster includes one master node; when the first cluster is composed of at least two redis clusters, each first cluster includes at least two master nodes.
[0051] The evaluation factor is used to evaluate the data migration task capability of the service node. A data migration task is used to control the service node to migrate the data stored in a master node.
[0052] In some embodiments, at least one scheduling node 11 is a distributed network node. The distributed network node may be a distributed server.
[0053] The service node 12 is used to execute the data migration task issued by the scheduling node 11 to migrate the data stored in the corresponding master node; and to report relevant information to the scheduling node 11. The relevant information includes the execution status of the data migration task, the heartbeat information of the service node 12, and the relevant information of the evaluation factor of the service node. The execution status is used to indicate whether the data migration task is executed successfully or failed.
[0054] It should be noted that when the network domains corresponding to the master nodes in different first clusters are different, the same scheduling node 11 can schedule data migration tasks corresponding to the master nodes in different network domains. In the case where the network domains are isolated from each other, it is necessary to deploy at least one service node 12 in each network domain. Each service node 12 is used to migrate data stored in the master nodes in the same network domain. At this time, the scheduling node 11 sends the corresponding data migration tasks to the service nodes 12 in the first network domain based on the first network domain of the master node. In the case where the network domains are not isolated, each service node 12 can be used to migrate data stored in the master nodes in different network domains. At this time, the scheduling node 12 can send the data migration tasks corresponding to the master nodes in different network domains to the same service node 12.
[0055] It should be noted that Figure 1 The scheduling node 11 and the service node 12 are divided into functional modules. The scheduling node 11 and the service node 12 can be separately set in different devices. The scheduling node 11 and the service node 12 can also be set in the same device.
[0056] For example, when using the data migration service to perform data migration, the scheduling node 11 and the service node 12 can be co-located on the same device, or can be separately located on different devices. The scheduling node 11 can be a distributed server. When the scheduling node 11 and the service node 12 are co-located on the same device, the service node 12 is also a distributed server. When the scheduling node 11 and the service node 12 are separately located on different devices, the service node 12 can be a server or a terminal.
[0057] When using the data migration tool to migrate data, the scheduling node 11 and the service node 12 are separately set in different devices. The scheduling node 11 can be a single server. The service node 12 can be a server or a terminal. The cluster data migration system includes at least one single server 11 and at least one service node 12.
[0058] It should be noted that the more service nodes a scheduling node can schedule, the higher the data migration efficiency and the better the data migration performance.
[0059] It should be noted that the cluster data migration system can schedule data migration tasks by one scheduling node 11, or by at least two scheduling nodes 11. The number of scheduling nodes participating in the data migration task scheduling is determined based on the actual situation. For example, when using the data migration tool to perform data migration, the number of scheduling nodes participating in the data migration task scheduling is 1; when using the data migration service to perform data migration, the number of scheduling nodes participating in the data migration task scheduling can be 1, or greater than or equal to 2. In actual applications, when using the data migration service to perform data migration, the number of scheduling nodes participating in the data migration task scheduling can be determined based on the number of the first cluster or the number of master nodes corresponding to the first cluster. Among them,
[0060] When the first cluster is composed of a redis cluster, each first cluster includes a master node. Therefore, the second total number of scheduling nodes 11 participating in the data migration task scheduling can be determined based on the first total number corresponding to each scheduling node 11 and the number of first clusters.
[0061] Here, the first total represents the sum of the first number of data migration tasks that can be currently processed by each service node 12 that can be scheduled by the corresponding scheduling node 11; the first number is less than or equal to the first difference corresponding to the corresponding service node 12; the first difference represents the difference between the set maximum number of concurrent tasks corresponding to the corresponding service node 12 and the total number of data migration tasks in execution. When the first total is greater than or equal to the number of the first cluster, the second total is 1; when the first total is less than the number of the first cluster, the second total is greater than or equal to 2. Among them, the set maximum number of concurrent tasks corresponding to different service nodes 12 can be the same or different.
[0062] When the first cluster is composed of at least two redis clusters, the second total number of scheduling nodes 11 participating in the data migration task scheduling can be determined based on the first total number corresponding to each scheduling node 11 and the number of master nodes corresponding to the first cluster. When the first total number is greater than or equal to the number of master nodes corresponding to the first cluster, the second total number is 1; when the first total number is less than the number of master nodes corresponding to the first cluster, the second total number is greater than or equal to 2.
[0063] After introducing the architecture of the cluster data migration system, Figure 2 Describe in detail the specific implementation process of each device when performing cluster data migration.
[0064] Figure 2 The interactive diagram of the cluster data migration method provided by the embodiment of the present invention is shown. The following description is made by taking the scheduling node 11 and the service node 12 as two separate devices. Figure 2 , cluster data migration methods include:
[0065] S201: The scheduling node determines a master node corresponding to each first cluster in the at least one first cluster based on cluster information of the at least one first cluster.
[0066] The scheduling node obtains cluster information of at least one first cluster, and determines a master node in each of the at least one first cluster based on the cluster information of each of the at least one first cluster. The cluster information includes a cluster identifier and node information of each node in the cluster. The node information may include a node identifier and an access address, etc.
[0067] In practical applications, both the cluster identifier and the node identifier can be unique identifiers. Each first cluster includes at least one redis native cluster.
[0068] In some embodiments, the cluster information of the first cluster may further include a key of a master node. Here, the key of the master node represents the key of the data stored in the master node, and is used for the service node to calculate the corresponding hash value, thereby determining the destination master node based on the key hash value of the data stored in the master node.
[0069] It should be noted that when the scheduling node runs the data migration service, the scheduling node obtains cluster information of at least one first cluster from the received data migration request. When the scheduling node runs the data migration tool, the scheduling node obtains cluster information of at least one first cluster from the received configuration information about data migration.
[0070] It should be noted that, when it is necessary to adjust the capacity of the cluster (for example, to expand or reduce the capacity of the incoming cluster), the data migration request or configuration information received by the scheduling node also includes the cluster information of the second cluster. The first cluster represents the cluster before the capacity adjustment, and the second cluster represents the cluster after the capacity adjustment. The identifier of the master node in the cluster information of the first cluster is used for the service node to determine the first hash ring, and the identifier of the master node in the cluster information of the second cluster is used for the service node to determine the second hash ring. The first hash ring and the second hash ring are used for the service node to determine the destination master node. Among them, the target master node is relative to the source master node. The source master node represents the master node where the data to be migrated is located, and the destination master node represents the new master node that stores the migrated data.
[0071] It should be noted that the source master node is the master node corresponding to the data migration task issued by the scheduling node, that is, the master nodes in the first cluster are all source master nodes; there is at least one target master node among the master nodes of the second cluster.
[0072] S202: The scheduling node sends a data migration task to at least one service node based on at least one evaluation factor and the determined node information of the master node; wherein:
[0073] The evaluation factor is used to evaluate the data migration task capability of the service node; the service node is used to execute the data migration task; each data migration task is used to migrate the data stored in the corresponding master node.
[0074] Here, the scheduling node generates at least one data migration task based on the node information of at least one master node, and one data migration task is used to migrate the data stored in one master node. The node information includes at least a node identifier, and may also include an access address, a key of the master node, and the like.
[0075] The scheduling node determines the data migration task capability of each service node based on at least one evaluation factor; determines at least one service node that meets the set conditions based on the data migration task capability of each service node, and sends at least one data migration task to the determined at least one service node.
[0076] The information related to the evaluation factor of the service node can be actively reported by the service node, or can be obtained by the scheduling node requesting the service node. The setting condition is set based on the capability requirement corresponding to the data migration task. Meeting the setting condition indicates that the corresponding service node can process the corresponding data migration task.
[0077] The setting condition may represent that the network domain of the service node is the same as the network domain of the master node; the setting condition may also represent that the total number of concurrent data migration tasks corresponding to the service node is less than the corresponding set maximum number of concurrent tasks; the setting condition may also represent that the score of the service node is greater than or equal to the set score.
[0078] The set maximum number of concurrent tasks represents the maximum number of concurrent tasks that the corresponding service node can process. For example, when the set maximum number of concurrent tasks is 50, it represents that the corresponding service node can process a maximum of 50 concurrent data migration tasks.
[0079] In actual applications, the scheduling node preferentially sends data migration tasks to service nodes with strong data migration task capabilities to improve data migration efficiency.
[0080] In actual applications, the scheduling node can select a communication method from the set communication methods to communicate with the service node according to the actual situation. The set communication methods include communication methods based on Hyper Text Transfer Protocol (HTTP), communication methods based on Transmission Control Protocol (TCP), and communication methods based on message middleware.
[0081] The scheduling node preferentially uses HTTP or TCP-based communication methods to communicate with the service node. If the scheduling node and the service node do not support HTTP and TCP-based communication methods and there is a message middleware, the scheduling node and the service node communicate based on the message middleware.
[0082] In some embodiments, when the node information includes a network domain, the method for the scheduling node to issue a data migration task to at least one service node based on at least one evaluation factor and the determined node information of the master node may include:
[0083] Determine at least one service node based on the network domain of each master node and the network domain of each service node;
[0084] Based on at least one evaluation factor and the determined node information of the master node, a data migration task is issued to at least one service node among the at least one service node; wherein,
[0085] The network domain of each of the at least one service node is the same as the network domain of at least one master node; the service node is used to migrate data stored in the master node in the same network domain.
[0086] Here, in the case where the node information includes a network domain, the network domains in the representation network architecture are isolated from each other, and the scheduling node issues a data migration task to at least one of the at least one service node from all online service nodes based on the network domain of each master node and the network domain of each service node, and based on at least one evaluation factor and the node identification, access address, key of the data stored in the master node in the node information of the determined master node. Among them, the network domain of the master node corresponding to the data migration task is the same as the network domain of the service node that executes the corresponding data migration task, so that the service node that receives the data migration task can migrate the data stored in the master node in the same network domain, thereby avoiding the situation that the service node cannot execute the corresponding data migration task due to the different network domain from the master node, which can improve the probability of successful execution of the data migration task and improve the processing efficiency of the data migration task. Among them, the online service node represents the service node that has successfully connected to the network.
[0087] In some embodiments, the method for the scheduling node to determine at least one service node may include: determining the at least one service node based on the total number of concurrent data migration tasks corresponding to each service node and based on the set maximum number of concurrent tasks corresponding to each service node; wherein,
[0088] The total number of concurrent data migration tasks corresponding to each service node of the at least one service node is less than the corresponding set maximum number of concurrent tasks.
[0089] Here, the scheduling node may configure the maximum number of concurrent tasks for each service node according to the hardware resource information of each service node. The hardware resource information includes at least one of the memory size and the data processing capability of the processor.
[0090] The scheduling node obtains the total number of concurrent data migration tasks corresponding to each service node, and based on the set maximum number of concurrent tasks corresponding to each service node, determines at least one service node from all online service nodes whose total number of concurrent data migration tasks is less than the corresponding maximum number of concurrent tasks. Among them, the scheduling node can obtain the total number of concurrent data migration tasks actively reported by each service node; the scheduling node can also send corresponding request information to each service node to request to obtain the total number of concurrent data migration tasks corresponding to each service node; the scheduling node can also determine the total number of historical data migration tasks issued to each service node based on the scheduling information of historical data migration tasks; based on the total number of historical data migration tasks issued to each service node, and based on the execution status of each historical data migration task corresponding to each service node, determine the total number of concurrent data migration tasks corresponding to each service node. Among them, the scheduling information of the historical data migration task represents the service node that executes the corresponding historical data migration task. The execution status represents the completion or failure of the data migration task.
[0091] It should be noted that, when the total number of concurrent data migration tasks corresponding to all current service nodes is equal to the corresponding maximum number of concurrent tasks, the scheduling node will not issue data migration tasks. When it is detected that the total number of concurrent data migration tasks corresponding to any service node is less than the corresponding set maximum number of concurrent tasks, the scheduling node will issue the first number of data migration tasks to the service node, so that the total number of concurrent data migration tasks corresponding to each service node is less than or equal to the corresponding set maximum number of concurrent tasks, thereby avoiding issuing too many data migration tasks to the same service node, resulting in the service node being unable to process data migration tasks in a timely manner, resulting in too long waiting time for data migration tasks, and further resulting in a significant decline in the overall performance of the cluster data migration system.
[0092] In some embodiments, the scheduling node may also receive the at least one evaluation factor reported by each service node.
[0093] In actual applications, when a service node is connected to a network, it can report the evaluation factor to the corresponding scheduling node in real time, or it can report the evaluation factor to the corresponding scheduling node according to a set period.
[0094] In the case of the above-mentioned first embodiment, this embodiment is proposed. In this embodiment, S202 may include:
[0095] Determining a score corresponding to each service node in the at least one service node based on at least one evaluation factor;
[0096] Based on the determined node information of each master node in the at least one master node and the score corresponding to each service node, a data migration task is issued to the at least one service node.
[0097] Here, the scheduling node can determine the score corresponding to each service node in at least one service node based on the numerical range of at least one evaluation factor of each service node. It should be noted that the evaluation dimensions of all service nodes are the same, that is, all service nodes are scored based on the same evaluation factor.
[0098] In actual applications, the scheduling node stores the correspondence between the numerical interval of the set evaluation factor and the set score. The scheduling node determines the score corresponding to each evaluation factor of each service node based on the numerical interval of at least one evaluation factor corresponding to each service node and the correspondence between the numerical interval of the set evaluation factor and the set score; determines the score corresponding to each service node based on the score corresponding to all evaluation factors of each service node; and determines at least one service node whose score meets the set conditions based on the score corresponding to each service node.
[0099] When a higher score indicates that the corresponding service node has a stronger data migration task capability, the service node whose score meets the set condition is a service node whose score is greater than or equal to the first set score.
[0100] When a higher score indicates that the corresponding service node has a weaker data migration task capability, the service node whose score meets the set condition is a service node whose score is less than or equal to the second set score. The first set score is greater than the second set score.
[0101] When the number of evaluation factors is 1, the score corresponding to the evaluation factor of each service node is the score corresponding to the corresponding service node.
[0102] When the number of evaluation factors is at least two, a weighted sum operation is performed based on the scores corresponding to each evaluation factor of each service node to obtain a score corresponding to the corresponding service node.
[0103] In some embodiments, the evaluation factor includes at least one of the following:
[0104] The first evaluation factor represents the total number of data migration tasks in execution state in the service node;
[0105] The second evaluation factor represents the memory usage of the service node;
[0106] The third evaluation factor represents the processor usage of the service node.
[0107] Here, the first evaluation factor is used to identify the total number of concurrent data migration tasks corresponding to the service node. The greater the total number of data migration tasks in execution in the service node, the lower the data migration task capability of the corresponding service node, and the lower the score corresponding to the first evaluation factor of the corresponding server.
[0108] The memory occupancy rate of the service node represents the ratio between the memory consumption and the memory configuration. The higher the memory occupancy rate of the service node, the lower the data migration task capability of the corresponding service node, and the lower the score corresponding to the second evaluation factor of the corresponding server.
[0109] The processor usage of the service node represents the ratio between the consumption of the processor and the configuration of the processor. The higher the processor usage of the service node, the lower the data migration task capability of the corresponding service node, and the lower the score corresponding to the third evaluation factor of the corresponding server.
[0110] In some embodiments, a first weight value corresponding to the first evaluation factor is greater than a second weight value corresponding to the second evaluation factor, and the second weight value corresponding to the second evaluation factor is greater than a third weight value corresponding to the third evaluation factor.
[0111] Here, when the number of evaluation factors is at least two, the weight value corresponding to each evaluation factor can be determined based on the importance of each evaluation factor, so that the score corresponding to the service node determined based on the evaluation factor can more accurately reflect the data migration task capability of the service node. In actual applications, the first weight value corresponding to the first evaluation factor is greater than the second weight value corresponding to the second evaluation factor, and the second weight value corresponding to the second evaluation factor is greater than the third weight value corresponding to the third evaluation factor. The sum of the first weight value, the second weight value, and the third weight value is equal to 1.
[0112] In practical applications, the first weight value may be 0.5, the second weight value may be 0.3, and the third weight value may be 0.2.
[0113] S203: The service node executes the data migration task issued by the scheduling node.
[0114] Each service node receives data migration tasks issued by at least one scheduling node and executes the issued data migration tasks. When the total number of data migration tasks received by the service node is less than or equal to the set maximum number of concurrent tasks corresponding to the service node, the service node can concurrently execute all received data migration tasks. When the total number of data migration tasks received by the service node is greater than the set maximum number of concurrent tasks corresponding to the service node, the service node concurrently executes the received data migration tasks in batches based on the set maximum number of concurrent tasks.
[0115] In practical applications, when there is no need to adjust the capacity of at least one first cluster, the number of master nodes corresponding to at least one first cluster remains unchanged. The data migration task issued by the scheduling node carries at least the node identifiers of all master nodes corresponding to the first cluster and the key of the master node corresponding to the corresponding data migration task. The node identifier can be the node name or the Internet Protocol address (IP) of the node.
[0116] When receiving the data migration task issued by the scheduling node, the service node calculates the first hash value corresponding to the node identifier of each master node based on the node identifiers of all master nodes corresponding to the first cluster, and hashes all master nodes corresponding to the first cluster into a continuum interval consisting of 0 to (232-1) based on the first hash value of each master node in all master nodes corresponding to the first cluster, and sets the hash value range corresponding to each node in the continuum interval of 0 to (232-1), thereby obtaining the first hash ring corresponding to the first cluster. Among them, the hash value range corresponding to each master node is different, and the hash value range corresponding to all master nodes in the first cluster constitutes a continuum interval of 0 to (232-1). 0 to (232-1) is the value range of the set hash function. The service node uses the set hash function to perform a hash operation on the key of the master node corresponding to the data migration task to obtain the second hash value corresponding to the key of the master node. In the case where the second hash value is not in the first hash value range corresponding to the corresponding master node, determine the second hash value range in which the second hash value corresponding to the key of the master node is located, and migrate all keys corresponding to the master node to the master node corresponding to the second hash value range for storage. Here, the master node corresponding to the first hash value range is the source master node, and the master node corresponding to the second hash value range is the destination master node. The service node migrates all keys stored in the source master node to the destination master node. In the case where the second hash value is in the first hash value range corresponding to the corresponding master node, it indicates that there is no need to migrate the keys stored in the corresponding master node.
[0117] In actual applications, when the capacity of at least one cluster needs to be adjusted, the data migration task issued by the scheduling node carries the node identifiers of all master nodes corresponding to all first clusters, the node identifiers of all master nodes corresponding to all second clusters, and the key of the master node corresponding to the corresponding data migration task.
[0118] Here, the service node constructs a second hash ring corresponding to the second cluster based on the node identifiers of all master nodes corresponding to all second clusters and according to the above method for constructing the first hash ring.
[0119] When the service node calculates the second hash value corresponding to the key of the master node corresponding to the corresponding data migration task, the service node determines the first master node corresponding to the hash value range where the second hash value is located in the first hash ring, and determines the second master node corresponding to the hash value range where the second hash value is located in the second hash ring. When the determined first master node is different from the determined second master node, all keys stored in the first master node in the first hash ring are migrated to the second master node in the second hash value for storage. When the determined first master node is the same as the determined second master node, it indicates that the keys stored in the corresponding master node do not need to be migrated.
[0120] It should be noted that the service node determines the target master node corresponding to the data migration task based on the consistent hashing algorithm, thereby migrating all keys stored in the source master node to the target master node.
[0121] It should be noted that the service node can report the execution status of each data migration task issued by the corresponding scheduling node to the scheduling node. The execution status is used to identify whether the corresponding data migration task is executed successfully or failed, so that the scheduling node can determine whether the corresponding data migration task is executed successfully based on the execution status of each data migration task. In the case where the execution status of any data migration task indicates that the corresponding data migration task has failed to execute, the scheduling node re-issues the data migration task based on the above process.
[0122] In the solution provided in this embodiment, each of the at least one scheduling node determines at least one master node corresponding to the at least one first cluster based on the cluster information of the at least one first cluster; and sends a data migration task to at least one service node based on at least one evaluation factor and the at least one determined master node; each of the at least one service node executes the received data migration task. The evaluation factor is used to evaluate the data migration task capability of the service node; each data migration task is used to migrate the data stored in the corresponding master node. Since the total number of concurrent data migration tasks that can be processed by the service node is related to the corresponding data migration task capability, and the data migration task corresponds to the master node in the first cluster where data needs to be migrated, each scheduling node can determine the service node for executing the data migration task corresponding to the first cluster based on the number of master nodes corresponding to the first cluster where data needs to be migrated and the data migration task capability of the service node. Since the data migration task capability of the service node changes dynamically, when the number of master nodes corresponding to different first clusters is different, the service node determined by the scheduling node for executing the corresponding data migration task may be different, and the number of determined service nodes may also be different, that is, at different times, the scheduling node can dynamically schedule the service node for executing the data migration task. Since this solution supports at least two service nodes to perform concurrent data migration tasks, it can enhance the data migration system's ability to handle concurrent data migration tasks, improve the processing speed of concurrent data migration tasks, and shorten the processing time of concurrent data migration tasks. When concurrent data migration tasks are performed by at least two service nodes, the data processing volume of a single service node is reduced, which can reduce the probability of service node freezes.
[0123] In addition, since the configuration of the scheduling node and the service node is relatively simple, the operation and maintenance personnel can hot-deploy the cluster data migration task on the scheduling node so that the scheduling node generates the corresponding data migration task based on the cluster data migration task, and then sends the data migration task to the service node.
[0124] As another embodiment of the present invention, Figure 3 An interactive diagram of a cluster data migration method provided by another embodiment of the present invention is shown. Figure 2 Based on the corresponding embodiments, Figure 3 The corresponding cluster data migration methods also include:
[0125] S204: The scheduling node monitors the execution status of each data migration task corresponding to each service node in the at least one service node; the execution status represents whether the corresponding data migration task is executed successfully or failed.
[0126] Here, the scheduling node receives the execution status of each data migration task reported by each service node, thereby monitoring the execution status of each data migration task corresponding to each service node. The scheduling node can determine the migration progress of the cluster data based on the data migration tasks issued to each service node and the data migration tasks whose execution status has been reported by each service node. The migration progress of the cluster data represents the total number of all data migration tasks corresponding to at least one first cluster and the total number of data migration tasks that have been successfully executed among all corresponding data migration tasks.
[0127] When the execution status of all data migration tasks corresponding to at least one first cluster indicates successful execution, the migration progress of the cluster data is updated to 100% or completed. When the execution status of any data migration task corresponding to at least one first cluster indicates failure, the migration progress of the cluster data is updated to failure.
[0128] In actual applications, when the scheduling node receives the execution status of any data migration task reported by any service node and the corresponding data migration task fails to execute, the scheduling node Figure 2 The corresponding processing flow re-issues the data migration task.
[0129] In some embodiments, the scheduling node may also receive the migration progress of the data migration task reported by each service node, and determine the migration progress of the cluster data based on the migration progress of the data migration task reported by each service node. The migration progress represents the total number of data migration tasks received by the corresponding service node and the total number of data migration tasks successfully executed by the corresponding service node.
[0130] In some embodiments, when the scheduling node monitors the execution status of each data migration task corresponding to each service node in the at least one service node, the method further includes at least one of the following:
[0131] When a first service node among the at least one service node fails to execute the first data migration task, sending the first data migration task to a second service node among the at least one service node;
[0132] When the execution status of the data migration task reported by the first service node among the at least one service node is not received within the first set time period, a second data migration task corresponding to the first service node is issued to a second service node among the at least one service node; the second data migration task represents a data migration task whose execution status has not been reported among all the issued data migration tasks;
[0133] When the heartbeat information reported by the first service node among the at least one service node is not received within the second set time period, the first service node is set to an offline state.
[0134] In actual applications, the scheduling node determines whether there is a first data migration task that failed to execute based on the execution status of each data migration task reported by each service node; when the judgment result indicates that the first service node among at least one service node failed to execute the first data migration task, the first data migration task is sent to the second service node among at least one service node to trigger the second service node to execute the first data migration task. This can avoid the situation where the first data migration task is sent to the first service node, resulting in the failure of the first data migration task to execute again. This can ensure that all data migration tasks are successfully executed.
[0135] In actual applications, when the scheduling node does not receive the execution status of the data migration task reported by the first service node among at least one service node within the first set time period, indicating that the migration progress of the data migration task corresponding to the first service node has not been updated within the first set time period, the scheduling node determines that an abnormality has occurred in the first service node, and sends the second data migration task corresponding to the first service node to the second service node among at least one service node, so as to ensure that all data migration tasks are successfully executed. Among them, the second data migration task represents the data migration task that has not reported the execution status among all the data migration tasks sent to the first service node. The first set time period is greater than the set period corresponding to the service node reporting the heartbeat information. In actual applications, the first set time period can be three set periods.
[0136] In actual applications, the scheduling node receives the heartbeat information reported by each service node in the cluster data migration system, so as to monitor the online status of each service node. The heartbeat information is reported by the service node to each scheduling node in the same network domain as the corresponding service node according to the set period, and the heartbeat information carries the identification of the corresponding service node. In the case where the heartbeat information reported by the service node is not received within the second set time, the corresponding service node is set to an offline state, indicating that the corresponding service node is shut down, so that the scheduling node will not subsequently issue data migration tasks to the offline service node, which can avoid affecting the migration progress of the cluster data due to the inability of the offline service node to execute the data migration task after the data migration task is issued to the offline service node. In the case of receiving the heartbeat information reported by the service node within the second set time, the corresponding service node is set to an online state. The second set time is greater than the set period corresponding to the heartbeat information reported by the service node. In actual applications, the second set time can be three set periods.
[0137] It should be noted that when the scheduling node runs the data migration service, the scheduling node stores the relevant information reported by the service node in the database. The terminal that calls the data migration service can send query requests to the scheduling node at a set period to query the migration progress of the cluster data.
[0138] When the scheduling node runs the data migration tool, the scheduling node stores the relevant information reported by the service node in the memory. The scheduling node can report the migration progress of the cluster data to the corresponding terminal based on the device identifier or IP address of the terminal that sends the cluster data migration request. When the scheduling node restarts abnormally, the scheduling node can reconstruct the migration progress of the cluster data based on the relevant information reported by the service node. It should be noted that when there is an isolated network domain for the master node corresponding to the first cluster, it is necessary to deploy at least one scheduling node that can run the data migration tool and at least one service node in different network domains, and each scheduling node that can run the data migration tool is responsible for the data migration of the first cluster in a network domain. The terminal that calls the data migration tool can select a scheduling node from multiple scheduling nodes that can run the data migration tool according to the network domain of the first cluster to migrate the data stored in the master node in the first cluster.
[0139] In the solution provided in this embodiment, the scheduling node can monitor the execution status of each data migration task corresponding to each service node in at least one service node, so that the migration progress of the cluster data can be accurately determined, so that the failed data migration tasks can be rescheduled based on the execution status, thereby ensuring that all data migration tasks are successfully executed.
[0140] To implement the method of the embodiment of the present invention, the embodiment of the present invention further provides a cluster data migration device, which is arranged on a scheduling node, such as Figure 4 As shown, the cluster data migration device includes:
[0141] A determining unit 41, configured to determine a master node corresponding to each first cluster in the at least one first cluster based on cluster information of the at least one first cluster;
[0142] The scheduling unit 42 is used to send a data migration task to at least one service node based on at least one evaluation factor and the determined node information of the master node; wherein,
[0143] The evaluation factor is used to evaluate the data migration task capability of the service node; the service node is used to execute the data migration task; each data migration task is used to migrate the data stored in the corresponding master node.
[0144] In some embodiments, the cluster data migration device further includes:
[0145] The monitoring unit is used to monitor the execution status of each data migration task corresponding to each service node in the at least one service node; the execution status represents the success or failure of the corresponding data migration task.
[0146] In some embodiments, the scheduling unit 42 is configured to:
[0147] Determining a score corresponding to each service node in the at least one service node based on at least one evaluation factor;
[0148] Based on the node information of each of the determined master nodes and the score corresponding to each service node, a data migration task is issued to at least one service node.
[0149] In some embodiments, the scheduling unit 42 is further configured to:
[0150] The at least one evaluation factor reported by each service node is received.
[0151] In some embodiments, the evaluation factor includes at least one of the following:
[0152] The first evaluation factor represents the total number of data migration tasks in execution state in the service node;
[0153] The second evaluation factor represents the memory usage of the service node;
[0154] The third evaluation factor represents the processor usage of the service node.
[0155] In some embodiments, a first weight value corresponding to the first evaluation factor is greater than a second weight value corresponding to the second evaluation factor, and the second weight value corresponding to the second evaluation factor is greater than a third weight value corresponding to the third evaluation factor.
[0156] In some embodiments, the node information includes a network domain; the scheduling unit 42 is further configured to:
[0157] Determine at least one service node based on the network domain of each master node and the network domain of each service node;
[0158] Based on at least one evaluation factor and the determined node information of the master node, a data migration task is issued to at least one service node among the at least one service node; wherein,
[0159] The network domain of each service node in the at least one service node is the same as the network domain of at least one master node; the service node is used to migrate data stored in the master node in the same network domain.
[0160] In some embodiments, the scheduling unit 42 is further configured to perform at least one of the following:
[0161] When a first service node among the at least one service node fails to execute the first data migration task, sending the first data migration task to a second service node among the at least one service node;
[0162] When the execution status of the data migration task reported by the first service node among the at least one service node is not received within the first set time period, a second data migration task corresponding to the first service node is issued to a second service node among the at least one service node; the second data migration task represents a data migration task whose execution status has not been reported among all the issued data migration tasks;
[0163] When the heartbeat information reported by the first service node among the at least one service node is not received within the second set time period, the first service node is set to an offline state.
[0164] In some embodiments, the at least one scheduling node is a distributed network node.
[0165] In actual application, each unit included in the cluster data migration device can be implemented by a processor in the cluster data migration device, or by a processor and a communication interface. Of course, the processor needs to run the program stored in the memory to implement the functions of the above program modules.
[0166] It should be noted that: the cluster data migration device provided in the above embodiment only uses the division of the above program modules as an example to illustrate when migrating cluster data. In actual applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the cluster data migration device is divided into different program modules to complete all or part of the processing described above. In addition, the cluster data migration device provided in the above embodiment and the cluster data migration method embodiment belong to the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.
[0167] Based on the hardware implementation of the above program modules and in order to implement the method of the embodiment of the present invention, the embodiment of the present invention further provides an electronic device. Figure 5 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present invention is shown in FIG. Figure 5 As shown, the electronic equipment includes:
[0168] Communication interface 1, capable of exchanging information with other devices such as servers;
[0169] The processor 2 is connected to the communication interface 1 to implement information interaction with other devices, and is used to execute the cluster data migration method provided by one or more technical solutions when running a computer program. The computer program is stored in the memory 3.
[0170] Of course, in actual application, the various components in the electronic device are coupled together through the bus system 4. It can be understood that the bus system 4 is used to realize the connection and communication between these components. In addition to the data bus, the bus system 4 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, Figure 5 Various buses are labeled as bus system 4.
[0171] The memory 3 in the embodiment of the present invention is used to store various types of data to support the operation of the electronic device. Examples of such data include: any computer program used to operate on the electronic device.
[0172] It can be understood that the memory 3 can be a volatile memory or a non-volatile memory, and can also include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic random access memory (FRAM), a flash memory, a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM); the magnetic surface memory can be a disk memory or a tape memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), synchronous static random access memory (SSRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct rambus random access memory (DRRAM).The memory 3 described in the embodiments of the present invention is intended to include but is not limited to these and any other suitable types of memories.
[0173] The method disclosed in the above embodiment of the present invention can be applied to the processor 2, or implemented by the processor 2. The processor 2 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit in the processor 2 or the instruction in the form of software. The above processor 2 may be a general-purpose processor, a DSP, or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The processor 2 can implement or execute the methods, steps and logic block diagrams disclosed in the embodiment of the present invention. The general-purpose processor may be a microprocessor or any conventional processor, etc. In combination with the steps of the method disclosed in the embodiment of the present invention, it can be directly embodied as a hardware decoding processor to execute, or it can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium, which is located in the memory 3. The processor 2 reads the program in the memory 3 and completes the steps of the above method in combination with its hardware.
[0174] When the processor 2 executes the program, the processes corresponding to the multi-core processor in each method of the embodiment of the present invention are implemented, which will not be described in detail here for the sake of brevity.
[0175] In an exemplary embodiment, the present invention further provides a storage medium, namely a computer storage medium, specifically a computer readable storage medium, for example, including a memory 3 storing a computer program, and the computer program can be executed by a processor 2 to complete the above Figures 2 to 3 The steps in the corresponding embodiments. The computer readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disk, or CD-ROM.
[0176] In the several embodiments provided by the present invention, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as: multiple units or components can be combined, or can be integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of the devices or units can be electrical, mechanical or other forms.
[0177] The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units; some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0178] In addition, all functional units in the embodiments of the present invention may be integrated into one processing module, or each unit may be separately used as a unit, or two or more units may be integrated into one unit; the above-mentioned integrated units may be implemented in the form of hardware or in the form of hardware plus software functional units.
[0179] A person skilled in the art can understand that: all or part of the steps of implementing the above method embodiment can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps of the above method embodiment; and the aforementioned storage medium includes: mobile storage devices, read-only memories (ROM, Read-Only Memory), random access memories (RAM, Random Access Memory), disks or optical disks, etc. Various media that can store program codes.
[0180] It should be noted that the technical solutions described in the embodiments of the present invention can be arbitrarily combined without conflict.
[0181] The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art who is familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed by the present invention, which should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention should be based on the protection scope of the claims.
Claims
1. A cluster data migration method, characterized in that: The method is applied to each scheduling node in at least one scheduling node in a cluster data migration system, wherein the cluster data migration system includes at least one scheduling node, at least one service node and at least one cluster; wherein one scheduling node can schedule at least one service node, and one service node can migrate data in at least one cluster; and one service node can concurrently execute all received data migration tasks; the method includes: The scheduling node determines, based on cluster information of at least one first cluster, a master node corresponding to each first cluster in the at least one first cluster; The scheduling node issues a data migration task to at least one service node based on at least one evaluation factor and the determined node information of the master node; wherein the evaluation factor is used to evaluate the data migration task capability of the service node; the service node is used to execute the data migration task; each data migration task is used to migrate the data stored in the corresponding master node; Wherein, the node information includes a network domain; The scheduling node sends a data migration task to at least one service node based on at least one evaluation factor and the determined node information of the master node, including: The scheduling node determines at least one service node based on the network domain of each master node and the network domain of each service node; The scheduling node sends a data migration task to at least one of the at least one service node based on at least one evaluation factor and the determined node information of the master node; wherein the network domain of each of the at least one service node is the same as the network domain of at least one master node; and the service node is used to migrate data stored in the master node in the same network domain.
2. The method according to claim 1, characterized in that The sending of the data migration task to at least one service node based on at least one evaluation factor and the determined node information of the master node includes: Determining a score corresponding to each service node in the at least one service node based on at least one evaluation factor; Based on the node information of each of the determined master nodes and the score corresponding to each service node, a data migration task is issued to at least one service node.
3. The method according to claim 1 or 2, characterized in that: The method further comprises: The at least one evaluation factor reported by each service node is received.
4. The method according to claim 2, characterized in that: The evaluation factors include at least one of the following: The first evaluation factor represents the total number of data migration tasks in execution state in the service node; The second evaluation factor represents the memory usage of the service node; The third evaluation factor represents the processor usage of the service node.
5. The method according to claim 4, characterized in that A first weight value corresponding to the first evaluation factor is greater than a second weight value corresponding to the second evaluation factor, and the second weight value corresponding to the second evaluation factor is greater than a third weight value corresponding to the third evaluation factor.
6. The method according to claim 1 or 2, characterized in that: The method further comprises at least one of the following: When a first service node among the at least one service node fails to execute the first data migration task, sending the first data migration task to a second service node among the at least one service node; When the execution status of the data migration task reported by the first service node among the at least one service node is not received within the first set time period, issuing a second data migration task corresponding to the first service node to a second service node among the at least one service node; The second data migration task represents a data migration task whose execution status has not been reported among all issued data migration tasks; When the heartbeat information reported by the first service node among the at least one service node is not received within the second set time period, the first service node is set to an offline state.
7. A cluster data migration device, characterized in that: Applied to a cluster data migration system; the cluster data migration system includes at least one scheduling node, at least one service node and at least one cluster; wherein one scheduling node can schedule at least one service node, one service node can migrate data in at least one cluster; one service node can concurrently execute all received data migration tasks; the device includes: A determination unit, configured to determine, based on cluster information of at least one first cluster, a master node corresponding to each first cluster in the at least one first cluster; A scheduling unit, configured to issue a data migration task to at least one service node based on at least one evaluation factor and the determined node information of the master node; wherein the evaluation factor is used to evaluate the data migration task capability of the service node; the service node is used to execute the data migration task; each data migration task is used to migrate data stored in the corresponding master node; the node information includes a network domain; A scheduling unit is used to determine at least one service node based on the network domain of each master node and the network domain of each service node; based on at least one evaluation factor and the node information of the determined master node, issue a data migration task to at least one service node among the at least one service node; wherein the network domain of each service node among the at least one service node is the same as the network domain of at least one master node; and the service node is used to migrate data stored in the master nodes in the same network domain.
8. An electronic device, characterized in that: include: a processor and a memory for storing a computer program capable of being executed on the processor, Wherein, when the processor is used to run the computer program, it executes the steps of the method described in any one of claims 1 to 6.
9. A storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.
Citation Information
Patent Citations
Table data migration method and device, computer equipment and storage medium
CN109783472A
Data migration method, device and system, electronic equipment and readable storage medium
CN111708755A