Data migration method and device, storage medium and electronic equipment

By automatically determining the target OSS in the distributed storage service collection and data migration is carried out according to the migration coefficient, the problem of low data migration efficiency in the existing technology is solved, efficient and automated capacity balance is achieved, and the stability of the cluster is improved.

CN120045126AActive Publication Date: 2025-05-27INSPUR SUZHOU INTELLIGENT TECH CO LTD

Patent Information

Application Number
CN202412000510.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-05-27
Estimated Expiration
2044-12-31

AI Technical Summary

Technical Problem

In the prior art, data migration efficiency is low and capacity equalization cannot be carried out in a timely and effective manner, especially when business pressure is high, it affects business performance.

Method used

By determining the OSS with a capacity utilization greater than the threshold value in the distributed storage service set as the target OSS, and migrating the object data to the storage space of the target OSS based on the migration coefficient matching the target OSS, the automation and efficiency of data migration are achieved.

Benefits of technology

The data migration capacity threshold is confirmed based on the capacity utilization difference of each OSS, which improves the efficiency and accuracy of data migration, reduces the situation where data writing of storage pools is affected due to the excessive capacity of individual OSSs in the storage pool, and increases the robustness of the cluster.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120045126A_ABST
    Figure CN120045126A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a data migration method and device, a storage medium and electronic equipment. The method comprises the following steps: determining an OSS of which the capacity utilization rate is greater than a first threshold value in a distributed storage service set as a first OSS; obtaining a capacity utilization rate difference value between a first capacity utilization rate of the first OSS and a second capacity utilization rate of at least one second OSS in the distributed storage service set; under the condition that the at least one capacity utilization rate difference value comprises at least one target capacity utilization rate difference value greater than or equal to a second threshold value, determining a second OSS corresponding to the at least one target capacity utilization rate difference value as a target OSS; and migrating the object data stored in the first OSS to a storage space corresponding to at least one target OSS according to the migration coefficient matched with the target OSS. The technical problem of low data migration efficiency in related technologies is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the technical field of data storage. Specifically, the embodiments of the present application relate to a data migration method, an apparatus, a storage medium, and an electronic device. Background Art

[0002] In the prior art, a general way to solve the problem of capacity balance among OSSs is to trigger a capacity warning when an OSS in the storage pool is about to be full, reminding the maintenance staff to manually trigger data migration among OSSs to balance the data among the OSSs in the storage pool or expand the storage pool.

[0003] However, the current capacity balance solution only uses the write capacity of the OSS as a reference for capacity balance, and requires the maintenance staff to judge according to the data writing situation of the storage pool and manually trigger the migration command. Manually triggering the migration command cannot perform capacity balance in a timely and effective manner, and performing data migration only based on the OSS write capacity as a reference will also affect the service performance when the business pressure is high. That is to say, there is a problem of low data migration efficiency in the related art.

[0004] In view of the above problems, no effective solution has been proposed yet. Summary of the Invention

[0005] The embodiments of the present application provide a data migration method, an apparatus, a storage medium, and an electronic device, so as to at least solve the problem of low data migration efficiency in the related art.

[0006] According to an embodiment of the present application, a data migration method is provided, including: determining an OSS with a capacity utilization rate greater than a first threshold in a distributed storage service set as a first OSS, where the capacity utilization rate is the ratio of the occupied storage capacity of the OSS to the total storage capacity, and the OSS is used to provide data reading and writing services for at least one client; obtaining a capacity utilization rate difference between the first capacity utilization rate of the first OSS and the second capacity utilization rates of at least one second OSS in the distributed storage service set, where the second OSS is other OSSs in the distributed storage service set except the first OSS; when at least one of the at least one capacity utilization rate differences includes at least one target capacity utilization rate difference greater than or equal to a second threshold, determining the at least one second OSS corresponding to each of the at least one target capacity utilization rate differences as a target OSS; and migrating the object data stored in the first OSS to the storage spaces corresponding to the at least one target OSS according to the migration coefficient matching the target OSS.

[0007] According to another aspect of the embodiments of the present application, a data migration device is further provided, including: a first determination unit that determines an OSS with a capacity utilization rate greater than a first threshold in a distributed storage service set as a first OSS, where the capacity utilization rate is the ratio between the occupied storage capacity and the total storage capacity of the OSS, and the OSS is used to provide data read and write services for at least one client; an acquisition unit that acquires the capacity utilization rate difference between the first capacity utilization rate of the first OSS and the second capacity utilization rates of at least one second OSS in the distributed storage service set, where the second OSS is other OSSs in the distributed storage service set except the first OSS; a second determination unit that, when at least one of the at least one capacity utilization rate difference includes at least one target capacity utilization rate difference greater than or equal to a second threshold, determines the second OSS corresponding to each of the at least one target capacity utilization rate difference as a target OSS; a migration unit that migrates the object data stored in the first OSS to the storage spaces corresponding to at least one target OSS according to the migration coefficient matching the target OSS.

[0008] Optionally, the above-mentioned migration unit includes: a third determination module configured to sum all the target capacity utilization rate differences to obtain the sum of the capacity utilization rate differences; determine the ratio of the target capacity utilization rate difference matching the target OSS to the sum of the capacity utilization rate differences as the migration factor matching the target OSS; use the product of the migration factor matching the target OSS and the influence factor matching the target OSS as the migration coefficient matching the target OSS, where the influence factor is used to indicate the frequency of the target OSS executing the migration operation.

[0009] Optionally, the above-mentioned third determination module includes: a second acquisition module configured to acquire the total amount of migrated data matching the first OSS; determine the reference amount of migrated data matching each target OSS according to the product of the total amount of migrated data and the migration coefficient matching each target OSS; migrate the data of the reference amount of migrated data matching it to the storage space corresponding to at least one target OSS.

[0010] Optionally, the above-mentioned third determination module includes: a fourth determination module configured to determine the migration policy level corresponding to each natural time node according to the historical migration results, where the historical migration results are used to indicate the processing pressure of executing the data migration task at each historical time node, and the migration policy level is used to indicate the operation performance level of executing the data migration task; acquire the migration policy level corresponding to the current time node, and migrate data to the storage space corresponding to the target OSS according to the migration policy level corresponding to the current time node.

[0011] Optionally, the above-mentioned fourth determination module includes: a fifth determination module, configured to obtain the amount of migrated data of the first OSS performing data migration tasks to each target OSS at each historical time node, and the impact factor matched with each target OSS at each historical time node; according to the impact factor matched with each target OSS at each historical time node, perform weighted average processing on the amount of migrated data matched with at least one target OSS at multiple historical time nodes corresponding to the same natural time node, to obtain the average migration quantity matched with each natural time node; determine the migration strategy level matched with each natural time node according to the magnitude of the average migration quantity corresponding to each natural time node.

[0012] Optionally, the above-mentioned migration unit is further configured to: when it is monitored within the first time interval that the difference in capacity utilization rates between a target OSS and the first OSS is less than a third threshold, interrupt the data migration operation of the first OSS to the storage space corresponding to the target OSS that meets the migration termination condition, where the migration termination condition is that the difference in capacity utilization rates is less than the third threshold; when it is monitored within the first time interval that the migration pressure value of the data migration operation is greater than a fourth threshold, interrupt the data migration operation of the first OSS to the storage spaces corresponding to all target OSSs, where the migration pressure value is used to indicate the operation pressure of performing the data migration operation.

[0013] Optionally, the above-mentioned migration unit is further configured to obtain the migration pressure value matched with the data migration operation after a second time interval; when the migration pressure value is less than a fifth threshold and there is a second OSS in the distributed storage service set with a difference in capacity utilization rate from the first capacity utilization rate greater than a second threshold, determine the second OSS that meets the migration recovery condition as the updated OSS, where the migration recovery condition is that the migration pressure value is less than the fifth threshold and the difference in capacity utilization rates between OSSs is greater than the second threshold; determine the migration coefficient matched with each updated OSS, where the migration coefficient is the product of the migration factor and the impact factor, the migration factor is used to indicate the degree to which the updated OSS can receive migrated data, and the impact factor is used to indicate the frequency of the updated OSS performing migration operations; determine the reference migration data quantity matched with each updated OSS according to the product of the migration coefficient matched with each updated OSS and the total amount of data already stored in the first OSS; migrate data to the updated OSSs matched therewith according to the reference migration data quantity.

[0014] According to another aspect of the embodiments of the present application, there is also provided a computer-readable storage medium, in which a computer program is stored, where the computer program is configured to execute the above-mentioned data migration method when running.

[0015] According to another aspect of the embodiments of the present application, a computer program product or a computer program is provided. The computer program product or the computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the data migration method as described above.

[0016] According to another aspect of the embodiments of the present application, an electronic device is further provided, including a memory and a processor. A computer program is stored in the memory, and the processor is configured to execute the data migration method described above through the computer program.

[0017] Through the present application, first, an OSS with a capacity utilization rate greater than a first threshold in a distributed storage service set is determined as a first OSS; then, a capacity utilization rate difference between the first capacity utilization rate of the first OSS and the second capacity utilization rates of at least one second OSS in the distributed storage service set is obtained, where the second OSS is other OSSs in the distributed storage service set except the first OSS; in the case that at least one of the at least one capacity utilization rate differences includes at least one target capacity utilization rate difference greater than or equal to a second threshold, the at least one second OSS corresponding to each of the at least one target capacity utilization rate differences is determined as a target OSS; thus, according to the migration coefficient matching the target OSS, the object data stored in the first OSS is migrated to the storage spaces corresponding to the at least one target OSSs, realizing the confirmation of the data migration capacity threshold according to the capacity utilization rate differences of each OSS. The data of the OSS with a higher capacity utilization rate is scattered and migrated to different OSSs, solving the technical problem in the related art that due to the manual triggering of the migration command, capacity balancing cannot be carried out in a timely and effective manner, resulting in low data migration efficiency. Description of the Drawings

[0018] The drawings described herein are used to provide a further understanding of the present application, and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application, and do not constitute an improper limitation to the present application. In the drawings:

[0019] Figure 1 is a hardware structure block diagram of a server device of a data migration method according to an embodiment of the present application;

[0020] Figure 2 is a flowchart of a data migration method according to an embodiment of the present application;

[0021] Figure 3 is a schematic diagram of a data migration method according to an embodiment of the present application;

[0022] Figure 4Another flowchart of the data migration method according to an embodiment of the present application;

[0023] Figure 5 A schematic structural diagram of a data migration device according to an embodiment of the present application;

[0024] Figure 6 A schematic structural diagram of a data migration electronic device according to an embodiment of the present application. Detailed implementation manners

[0025] In the following, embodiments of the present application will be described in detail with reference to the accompanying drawings and in combination with embodiments.

[0026] It should be noted that the terms "first", "second", etc. in the description and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily need to describe a specific order or sequence.

[0027] The method embodiments provided in the embodiments of the present application can be executed in a server device or a similar computing device. Taking running on a server device as an example, Figure 1 A hardware structure block diagram of a server device for a data migration method according to an embodiment of the present application. As Figure 1 shown, the server device may include one or more ( Figure 1 only one is shown in Figure 1 the figure) processors 102 (the processors 102 may include, but are not limited to, processing devices such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data. Among them, the above-mentioned server device may further include a transmission device 106 for communication functions and an input / output device 108. Those of ordinary skill in the art can understand that Figure 1 the structure shown in Figure 1 the figure is only schematic and does not limit the structure of the above-mentioned server device. For example, the server device may further include more or fewer components than

[0028] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the data migration method in the embodiments of the present application. The processor 102 executes various functional applications and data migration operations by running the computer program stored in the memory 104, that is, the above method is implemented. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memories, or other non-volatile solid-state memories. In some instances, the memory 104 may further include a memory remotely disposed relative to the processor 102, and these remote memories can be connected to the server device through a network. Examples of the above network include but are not limited to the Internet, enterprise intranet, local area network, mobile communication network, and combinations thereof.

[0029] The transmission device 106 is used to receive or send data via a network. Specific examples of the above network may include a wireless network provided by a communication provider of the server device. In one instance, the transmission device 106 includes a network adapter (abbreviated as NIC), which can be connected to other network devices through a base station and thus can communicate with the Internet. In one instance, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0030] As an alternative implementation, as Figure 2 shown, the above data migration method includes:

[0031] S202, determining the OSS with a capacity utilization rate greater than a first threshold in the distributed storage service set as the first OSS, where the capacity utilization rate is the ratio between the occupied storage capacity and the total storage capacity of the OSS, and the OSS is used to provide data read and write services for at least one client;

[0032] S204, obtaining the capacity utilization rate difference between the first capacity utilization rate of the first OSS and the second capacity utilization rates of at least one second OSS in the distributed storage service set, where the second OSS is other OSS in the distributed storage service set except the first OSS;

[0033] S206, in the case that at least one of the at least one capacity utilization rate differences includes at least one target capacity utilization rate difference greater than or equal to a second threshold, determining the at least one second OSS corresponding to each of the at least one target capacity utilization rate differences as the target OSS;

[0034] S208, migrating the object data stored in the first OSS to the storage spaces corresponding to the at least one target OSS according to the migration coefficient matching the target OSS.

[0035] As an alternative implementation, in step S202, the OSSs in the distributed storage service set with a capacity utilization rate greater than the first threshold are determined as the storage spaces corresponding to the first OSS, where the capacity utilization rate is the ratio of the occupied storage capacity of the OSS to the total storage capacity, and the OSS is used to provide data read and write services for at least one client;

[0036] It should be noted that in a distributed storage system, the storage space of the storage pool consists of multiple OSSs in multiple nodes. Optionally, a timing statistics method can be used. The capacity monitoring module statistically calculates the capacities of the OSSs in the storage pool every 10 minutes to detect the used capacities of each OSS. Specifically, the first determination unit in the capacity detection module determines the capacity utilization rate of each OSS according to the ratio of the used capacity to the total capacity, and determines the OSSs in the distributed storage service set with a capacity utilization rate greater than the first threshold as the first OSS. The first threshold can be dynamically determined according to circumstances, such as according to the size and growth trend of the current storage demand or the importance of the service and the degree of dependence on storage, etc. It should be noted that the OSS (Object Storage Service) is responsible for storing data and responding to the read and write requests of the client.

[0037] In step S204, obtain the capacity utilization rate difference between the first capacity utilization rate of the first OSS and the second capacity utilization rates of at least one second OSS in the distributed storage service set, where the second OSSs are the other OSSs in the distributed storage service set except the first OSS;

[0038] As an alternative implementation, the capacity utilization rate differences between each pair of OSSs can be compared to obtain a set of capacity utilization rate difference data of the OSSs. For example, the capacity utilization rate difference array between multiple second OSSs and the first OSS is [rate_a_b, rate_a_c...rate_a_n];

[0039] Furthermore, in step S206, in the case where at least one target capacity utilization rate difference greater than or equal to the second threshold is included in at least one capacity utilization rate difference, determine the at least one second OSS corresponding to each target capacity utilization rate difference as the target OSS;

[0040] As an alternative implementation, the capacity utilization rate differences between OSSs can be compared with a set threshold. For example, the threshold for the capacity utilization rate difference between OSSs is set to 10%, and it is determined whether to trigger subsequent capacity balancing operations, and then determine the second OSS with a capacity utilization rate difference greater than 10% as the target OSS. The above-mentioned threshold for the capacity utilization rate difference between OSSs can be dynamically adjusted or a static fixed value.

[0041] Optionally, in step S208, according to the migration coefficient matching the target OSS, migrate the object data stored in the first OSS to at least one target OSS;

[0042] In some embodiments, for example, assume there are three storage units A, B, and C with capacities of 100GB, 200GB, and 300GB respectively, performances of 100MB / s, 150MB / s, and 200MB / s respectively, and reliabilities of 90%, 95%, and 98% respectively. Now, a total of 500GB of data needs to be migrated to these three storage units.

[0043] The above migration coefficient can be determined by allocating weights according to the capacity and performance of the storage unit. For example, the weights can be allocated according to the ratio of capacity and performance, that is, the weight of storage unit A is 1 (100GB / 100MB / s), the weight of storage unit B is 1.33 (200GB / 150MB / s), and the weight of storage unit C is 1.5 (300GB / 200MB / s). Determine the migration coefficient according to the weight ratio of each unit, that is, allocate 500GB of data to the storage units according to the weight ratio. The reliability of each OSS can also be further considered to finally achieve the balance and efficiency of data migration.

[0044] As an alternative implementation, select an OSS with a difference in capacity utilization rate from the first OSS greater than 10% as the second OSS for receiving data. It should be noted that data can be directly migrated to all second OSSs or a certain range of OSSs can be selected. For example, select 20% of the second OSSs in the distributed storage service set as the second OSSs for receiving data, or select the OSSs on specific nodes in the distributed storage service set as the second OSSs for receiving data. This is only an example here.

[0045] Through the above implementation methods described in this application, after detecting that the capacity imbalance of the OSSs in the storage pool reaches the set threshold, determine the migration range and data volume, and perform data migration according to the formulated data migration strategy, so that the capacities of the OSSs in the storage pool reach an equilibrium state again, reduce the situation that the data writing of the storage pool is affected by the excessive capacity of individual OSSs in the storage pool, and increase the robustness of the cluster.

[0046] In an alternative implementation, before migrating the object data stored in the first OSS to the storage space corresponding to at least one target OSS according to the migration coefficient matching the target OSS, it includes:

[0047] S1, sum up all the target capacity utilization rate differences to obtain the sum of capacity utilization rate differences;

[0048] S2. Determine the ratio of the target capacity utilization rate difference matching the target OSS to the sum of the capacity utilization rate differences as the migration factor matching the target OSS;

[0049] S3. Take the product of the migration factor matching the target OSS and the impact factor matching the target OSS as the migration coefficient matching the target OSS, where the impact factor is used to indicate the frequency of the migration operation performed by the target OSS.

[0050] Optionally, in the above step S1, sum up all the target capacity utilization rate differences to obtain the sum of the capacity utilization rate differences;

[0051] For example, there are 7 second OSSs that need to receive data, and the differences in capacity utilization rates between them and the first OSS are rate_1, rate_2... rate_7 respectively. Sum up all the differences in capacity utilization rates. For example, rate_1 + rate_2... rate_7 = B.

[0052] In step S2, determine the ratio of the target capacity utilization rate difference matching the target OSS to the sum of the capacity utilization rate differences as the migration factor matching the target OSS;

[0053] Optionally, for example, the migration factors matching each second OSS are (rate_1) / B, (rate_2) / B…(rate_7) / B.

[0054] In step S3, take the product of the migration factor matching the target OSS and the impact factor matching the target OSS as the migration coefficient matching the target OSS, where the impact factor is used to indicate the frequency of the migration operation performed by the target OSS;

[0055] The above impact factor can be determined in the following ways but is not limited to this. For example, the data frequencies of storage unit A and storage unit B are different. The data frequency of storage unit A is high, and it is often accessed and updated, while the data frequency of storage unit B is low, and it is rarely accessed and updated.

[0056] In this case, the impact factor can be determined according to the data frequency to affect the amount of data migrated by each unit. For example, the impact factor of storage unit A can be set to 1.5, indicating that its data migration amount is 1.5 times that in the normal case; while the impact factor of storage unit B can be set to 0.5, indicating that its data migration amount is only half of that in the normal case.

[0057] Furthermore, calculate the product of the above influence factor and the above migration factor to obtain a migration coefficient that matches the target OSS. For example, if the migration factor of storage unit A is (rate_1) / B and the influence factor is 1.5, then the migration coefficient that matches storage unit A is 1.5*(rate_1) / B. This is only an example here.

[0058] Through the above implementation, determine the ratio of the difference in target capacity utilization rate that matches the target OSS to the sum of the differences in capacity utilization rates as the migration factor that matches the target OSS. Then, use the product of the migration factor that matches the target OSS and the influence factor that matches the target OSS as the migration coefficient that matches the target OSS. It is possible to adjust the data migration volume according to the data frequency of different storage units, achieving a more reasonable data migration plan and improving the efficiency and accuracy of data migration.

[0059] In an alternative implementation, according to the migration coefficient that matches the target OSS, migrate the object data stored in the first OSS to the storage spaces corresponding to at least one target OSS, including:

[0060] S1. Obtain the total amount of migration data that matches the first OSS;

[0061] S2. Determine the reference migration data volume that matches each target OSS according to the product of the total migration data volume and the migration coefficient that matches each target OSS;

[0062] S3. Migrate the data of the reference migration quantity that matches it to the storage spaces corresponding to at least one target OSS.

[0063] Optionally, in the above steps S1 - S3, obtain the total amount of migration data that matches the first OSS; determine the reference migration data volume that matches each target OSS according to the product of the total migration data volume and the migration coefficient that matches each target OSS; migrate the data of the reference migration quantity that matches it to at least one target OSS.

[0064] As an alternative implementation, assume that the total amount of data to be migrated is A, the source migration data volume that matches the first OSS in the storage pool is 36. For example, the number of data migrations required is 20% of the total number, and the rounded-down number of destination OSS is 7. The utilization rate differences of the 7 OSSs from largest to smallest are [rate_l, rate_2...rate_7], the sum of the utilization rate differences of the 7 OSSs is B, and the migration coefficients that match each second OSS are (rate_1) / B, (rate_2) / B…(rate_7) / B; the amount of data migrated to each second OSS is A*(rate_1) / B, A*(rate_2) / B…A*(rate_7) / B.

[0065] Through the above embodiments of the present application, the reference migration data volume matching each target OSS is determined according to the product of the total migration data volume and the migration coefficient matching each target OSS; data with a reference migration quantity matching it is migrated to at least one target OSS, so as to better utilize storage resources and avoid the occurrence of resource waste or insufficiency.

[0066] In an alternative embodiment, after taking the product of the migration factor matching the target OSS and the influencing factor matching the target OSS as the migration coefficient matching the target OSS, it includes:

[0067] S1. Determine the migration strategy level corresponding to each natural time node according to the historical migration result, where the historical migration result is used to indicate the processing pressure for executing the data migration task at each historical time node, and the migration strategy level is used to indicate the operation performance level for executing the data migration task;

[0068] S2. Obtain the migration strategy level corresponding to the current time node, and migrate data to the storage space corresponding to the target OSS according to the migration strategy level corresponding to the current time node.

[0069] Optionally, in the above steps S1-S2, determine the migration strategy level corresponding to each natural time node according to the historical migration result, where the historical migration result is used to indicate the processing pressure for executing the data migration task at each historical time node, and the migration strategy level is used to indicate the operation performance level for executing the data migration task; obtain the migration strategy level corresponding to the current time node, and migrate data to the target OSS according to the migration strategy level corresponding to the current time node.

[0070] As an alternative embodiment, the data migration strategy is determined to adopt a configurable migration strategy, which is used to determine the time allocation of the migration operation and the migration performance, and reduce the impact of the migration operation on the front-end business of the system. The configurable migration strategy includes: Priority for front-end applications: Migrate at the set minimum migration rate, which can be selected for use when the system business pressure is relatively high; Fixed bandwidth threshold migration: The maximum bandwidth during migration can be set to ensure that the migration operation speed is within a controllable range and reduce the impact on the front-end business; Fixed IOPS threshold migration: The maximum IOPS during migration can be set to ensure that the migration operation speed is within a controllable range and reduce the impact on the front-end business; Fixed time period migration: The migration time period can be set, and the migration operation is performed during the time period with relatively low system business pressure selected according to the system business model;

[0071] It should be noted that when using the fixed-time migration strategy, multiple different migration time periods can be set, and a separate migration performance strategy (setting a fixed migration rate, setting a fixed bandwidth threshold, or setting a fixed IOPS threshold) can be set for each migration time period.

[0072] Optionally, for example, from 10 pm to 12 am, the server has fewer processing tasks and the data migration task pressure is small. Then, a migration strategy with a high level of migration bandwidth, migration rate, and IOPS threshold is used to perform data migration operations on each target OSS. From 11 am to 12 pm, the server has more processing tasks and the data migration task pressure is large. Then, a migration strategy with a low level of migration bandwidth, migration rate, and IOPS threshold is used to perform data migration operations on each target OSS.

[0073] Through the above implementation manners of the present application, different migration strategies can be used according to the cluster service pressure quota to determine the time allocation and migration performance of the migration operation, reduce the impact of the migration operation on the system front-end service, and through flexible migration strategies, minimize the impact of data migration operations during capacity imbalance on the ongoing business data reading and writing of the system.

[0074] In an alternative implementation manner, before determining the migration strategy level corresponding to each natural time node according to the historical migration results, it includes:

[0075] S1. Obtain the migration data volume of the first OSS to each target OSS for performing data migration tasks at each historical time node, and the impact factor matched with each target OSS at each historical time node;

[0076] S2. According to the impact factor matched with each target OSS at each historical time node, perform weighted average processing on the migration data volumes of at least one target OSS matched under multiple historical time nodes corresponding to the same natural time node to obtain the average migration quantity matched with each natural time node;

[0077] S3. Determine the migration strategy level matched with each natural time node according to the magnitude of the average migration quantity corresponding to each natural time node.

[0078] In the above steps S1 - S2, obtain the migration data volume of the first OSS to each target OSS for performing data migration tasks at each historical time node, and the impact factor matched with each target OSS at each historical time node; according to the impact factor matched with each target OSS at each historical time node, perform weighted average processing on the migration data volumes of at least one target OSS matched under multiple historical time nodes corresponding to the same natural time node to obtain the average migration quantity matched with each natural time node;

[0079] As an alternative implementation, for example, obtain the amount of migrated data received by each target OSS during the period from 10:00 to 12:00 in the morning and from 2:00 to 4:00 in the afternoon every day in the past week, and determine the weights corresponding to Monday to Sunday as 0.1, 0.15, 0.2, 0.25, 0.2, 0.15, 0.1 respectively according to the size and growth trend of the historically statistically stored requirements or the importance of the business and the degree of dependence on storage, etc. Then, perform a weighted sum on the amount of migrated data during the period from 10:00 to 12:00 in the morning and from 2:00 to 4:00 in the afternoon every day according to the weight corresponding to each day, and then obtain the average migration quantity corresponding to the period from 10:00 to 12:00 in the morning and from 2:00 to 4:00 in the afternoon respectively. This is just an example here.

[0080] Furthermore, in the above step S3, determine the migration strategy level matching each natural time node according to the size of the average migration quantity corresponding to each natural time node.

[0081] Optionally, if the average migration quantity corresponding to the period from 10:00 to 12:00 in the morning is greater than the average migration quantity corresponding to the period from 2:00 to 4:00 in the afternoon, it can be determined that the migration strategy corresponding to the period from 10:00 to 12:00 in the morning is a high-level migration strategy, and the migration strategy corresponding to the period from 2:00 to 4:00 in the afternoon is a low-level migration strategy. There is no specific limitation here.

[0082] Through the above implementation manners of the present application, obtain the amount of migrated data for the data migration task performed by the first OSS to each target OSS under each historical time node, and the influencing factor matching each target OSS under each historical time node; then, according to the influencing factor matching each target OSS under each historical time node, perform a weighted average process on the amount of migrated data matching at least one target OSS under multiple historical time nodes corresponding to the same natural time node, and obtain the average migration quantity matching each natural time node; realize determining the migration strategy level matching each natural time node according to the size of the average migration quantity corresponding to each natural time node. During peak hours or critical business operations, adopting a more efficient migration method can reduce the system downtime and the risk of data loss, and improve the stability and reliability of the system. During off-peak hours or non-critical business operations, a more economical migration method can be adopted to save resources and costs.

[0083] In an alternative implementation manner, after migrating the object data stored in the first OSS to at least one target OSS according to the migration coefficient matching the target OSS, it includes:

[0084] S1. When it is monitored within the first time interval that the difference in capacity utilization rate between the target OSS and the first OSS is less than the third threshold, interrupt the data migration operation of the first OSS to the storage space corresponding to the target OSS that meets the migration termination condition, where the migration termination condition is that the difference in capacity utilization rate is less than the third threshold.

[0085] S2. When it is monitored within the first time interval that the migration pressure value of the data migration operation is greater than the fourth threshold, interrupt the data migration operation of the first OSS to the storage spaces corresponding to all target OSSs, where the migration pressure value is used to indicate the operation pressure of the data migration operation.

[0086] In the above step S1, when it is monitored within the first time interval that the difference in capacity utilization rate between the target OSS and the first OSS is less than the third threshold, interrupt the data migration operation of the first OSS to the target OSS that meets the migration termination condition, where the migration termination condition is that the difference in capacity utilization rate is less than the third threshold.

[0087] It should be noted that the above third threshold can be dynamically determined as an interruption threshold according to network bandwidth, network stability, system performance, and load conditions, etc.

[0088] Optionally, during the data migration between OSSs, the system services are running simultaneously. To prevent the gap in the data write ratio between OSSs from widening during the data migration process, a data migration interruption mechanism is formulated. During the data migration process, the OSS capacity monitoring continues, and the difference in capacity utilization rate of each OSS is also compared. Set the data migration interruption judgment threshold to 1%. When the difference in capacity utilization rate between the two OSSs undergoing data migration < 1%, trigger the capacity balance migration interruption operation and interrupt the data migration between these two OSSs.

[0089] In the above step S2, when it is monitored within the first time interval that the migration pressure value of the data migration operation is greater than the fourth threshold, interrupt the data migration operation of the first OSS to all target OSSs, where the migration pressure value is used to indicate the operation pressure of the data migration operation.

[0090] It should be noted that during the data migration process, the read and write data of the system are collected in real time. When the read and write performance data (IOPS, bandwidth) of the system services exceed 70% of the system performance upper limit, it is determined that the current business pressure of the system is relatively large and it is not suitable to perform the data migration operation. Interrupt all data migration operations in the storage pool and wait until the system business pressure is relatively small to perform the data migration operation again.

[0091] Through the above-mentioned migration interruption mechanism of the present application, the judgment conditions include, but are not limited to, the difference in capacity utilization rates of each OSS, the system read / write l OPS, the bandwidth value, etc. After exceeding the judgment threshold, the data migration operation is interrupted to ensure that the migration operation is carried out within a safe range and reduce the impact of the migration operation on the front-end business of the system.

[0092] In an optional implementation manner, after interrupting the data migration operation from the first OSS to all target OSSs, it includes:

[0093] S1. Obtain the migration pressure value matching the data migration operation after a second time interval;

[0094] S2. When the migration pressure value is less than the fifth threshold and there is a second OSS in the distributed storage service set with a capacity utilization rate difference from the first capacity utilization rate greater than the second threshold, determine the second OSS that meets the migration recovery condition as the updated OSS, where the migration recovery condition is that the migration pressure value is less than the fifth threshold and the difference in capacity utilization rates between OSSs is greater than the second threshold;

[0095] S3. Determine the migration coefficient matching each updated OSS, where the migration coefficient is the product of the migration factor and the influence factor, the migration factor is used to indicate the degree to which the updated OSS can receive migrated data, and the influence factor is used to indicate the frequency of the migration operation performed by the updated OSS;

[0096] S4. Determine the reference migration data volume matching each updated OSS according to the product of the migration coefficient matching each updated OSS and the total amount of data already stored in the first OSS;

[0097] S5. Migrate data to the updated OSS matching it according to the reference migration data volume. Optionally, the above-mentioned second time interval can be a dynamic or static time period determined according to the migration performance of the current system, and the above-mentioned fifth threshold can be a value equal to or different from the above-mentioned third threshold.

[0098] As an optional implementation manner, set the system performance judgment threshold to 50%. When the system service read / write performance data (IOPS, bandwidth) is less than 50% of the system performance upper limit, when it is monitored that the usage capacity between OSSs reaches the migration judgment threshold, trigger the migration operation again.

[0099] The following illustrates the above process with a specific implementation manner:

[0100] After 10s, re-obtain the system pressure value of the current data migration module. When the task volume of the system processing other tasks except the migration operation is small, and thus there is enough performance to process the data migration task, that is, the migration pressure value is less than the fifth threshold;

[0101] And when there is a first OSS with a capacity utilization rate greater than the first threshold in the distributed storage service set, and a second OSS with a difference in capacity utilization rate from the first OSS greater than the second threshold, that is, when the migration recovery condition is met, the second OSS that meets the migration recovery condition is determined as the updated OSS;

[0102] Further determine the migration coefficient matching the updated OSS. The above migration coefficient is the product of a migration factor used to indicate the degree to which a storage unit can receive migrated data and an influence factor used to indicate the frequency of migration operations performed by the storage unit;

[0103] Therefore, according to the product of the above migration coefficient matching each updated OSS that receives migrated data and the total amount of data already stored in the first OSS, determine the reference migration data amount matching each said updated OSS; realize migrating data to the OSS according to the dynamically determined migration data amounts matching the OSSs that receive data.

[0104] Through the above implementation manner of the present application, by re - executing the data migration operation through the migration recovery mechanism described in the above steps, when it is detected that the system load pressure is too high, the system load pressure is reduced, avoiding the system performance degradation or even collapse caused by excessive load. In the case of migration interruption, the system can also automatically resume the migration operation using the migration recovery mechanism, avoiding manual intervention, reducing the system downtime, and improving the stability and reliability of the system.

[0105] The schematic diagram of the data migration architecture is as Figure 3 shown, including a user management module, a migration policy module, and a data migration module. The data migration module includes OSS capacity monitoring, determination of the migration destination OSS, and in - pool data migration;

[0106] The user management module sets the migration policy used during data migration.

[0107] The migration policy module stores the migration policies set by the user and their related parameters.

[0108] The data migration module performs OSS capacity monitoring, and determines the migration destination OSS and subsequent in - pool data migration actions when the capacity usage differences between OSSs are large.

[0109] The following Figure 4 is used to illustrate a complete data migration method.

[0110] S402, monitor the OSS capacity; specifically, after the storage pool is successfully created, start timing to monitor the used capacity of each OSS in the storage pool.

[0111] S404. Compare the OSS capacity usage ratios. As an alternative implementation, after each use of the capacity, calculate the capacity utilization rate of each OSS. When the capacity utilization rate of a single OSS is such that rate-a > 60, compare the differences in the capacity utilization rates of the OSSs.

[0112] S406. Whether the balance condition is met; for example, it can be determined whether there is a difference in the capacity utilization rates between OSSs > 10%. If there is no difference in the capacity utilization rates between OSSs > 10%, continue with capacity monitoring and execute S402;

[0113] If the balance condition is met, then execute S408 to determine the migration scope; for example, it can be 20% of the number of OSSs in the storage pool; S410. Determine the amount of data to be migrated for each OSS;

[0114] S412. Obtain the migration policy; call the data migration policy stored in the migration policy module.

[0115] S414. Migrate the data; migrate the data according to the migration policy.

[0116] S416. Whether the migration interruption condition is met; for example, monitor the capacity data and system performance data between OSSs to determine whether the migration needs to be interrupted.

[0117] If, during the migration process, the migration interruption condition is not met, then migrate the data according to the preset amount of data migration until the end, that is, execute S418 to migrate until the set amount of data migration ends.

[0118] If the interruption condition is met, execute S420 to interrupt the migration.

[0119] It should be noted that for the foregoing method embodiments, for the sake of simple description, they are all expressed as a series of action combinations. However, those skilled in the art should be aware that the present application is not limited by the described order of actions, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to the present application.

[0120] According to another aspect of the embodiments of the present application, there is also provided a data migration device for implementing the above data migration method. As Figure 5 shown, the device includes:

[0121] A first determination unit 502 that determines the OSSs with a capacity utilization rate greater than a first threshold in the distributed storage service set as the first OSSs, where the capacity utilization rate is the ratio of the occupied storage capacity of the OSS to the total storage capacity, and the OSS is used to provide data read and write services for at least one client;

[0122] An obtaining unit 504 obtains a capacity utilization rate difference between a first capacity utilization rate of a first OSS and second capacity utilization rates of at least one second OSS in a distributed storage service set, where the second OSSs are other OSSs in the distributed storage service set except the first OSS.

[0123] A second determination unit 506 determines, when at least one of the at least one capacity utilization rate differences includes at least one target capacity utilization rate difference greater than or equal to a second threshold, the at least one second OSS corresponding to the at least one target capacity utilization rate difference as target OSSs.

[0124] A migration unit 508 migrates object data stored in the first OSS to a storage space corresponding to at least one target OSS according to a migration coefficient matching the target OSS.

[0125] Optionally, the above-mentioned migration unit includes: a third determination module, configured to sum all the target capacity utilization rate differences to obtain a sum of capacity utilization rate differences; determine a ratio of the target capacity utilization rate difference matching the target OSS to the sum of capacity utilization rate differences as a migration factor matching the target OSS; and use a product of the migration factor matching the target OSS and an influence factor matching the target OSS as a migration coefficient matching the target OSS, where the influence factor is used to indicate the frequency of the target OSS executing a migration operation.

[0126] Optionally, the above-mentioned third determination module includes: a second obtaining module, configured to obtain a total amount of migrated data matching the first OSS; determine a reference amount of migrated data matching each target OSS according to a product of the total amount of migrated data and the migration coefficient matching each target OSS; and migrate data with a reference amount of migrated data matching thereto to a storage space corresponding to at least one target OSS.

[0127] Optionally, the above-mentioned third determination module includes: a fourth determination module, configured to determine a migration policy level corresponding to each natural time node according to historical migration results, where the historical migration results are used to indicate the processing pressure of executing a data migration task at each historical time node, and the migration policy level is used to indicate the operation performance level of executing a data migration task; obtain a migration policy level corresponding to the current time node, and migrate data to a storage space corresponding to the target OSS according to the migration policy level corresponding to the current time node.

[0128] Optionally, the above-mentioned fourth determination module includes: a fifth determination module, configured to obtain the amount of migrated data for each data migration task performed by the first OSS to each target OSS at each historical time node, and the influencing factor matched with each target OSS at each historical time node; according to the influencing factor matched with each target OSS at each historical time node, perform weighted average processing on the amount of migrated data matched with at least one target OSS at multiple historical time nodes corresponding to the same natural time node, to obtain the average migration quantity matched with each natural time node; determine the migration strategy level matched with each natural time node according to the magnitude of the average migration quantity corresponding to each natural time node.

[0129] Optionally, the above-mentioned migration unit is further configured to: when it is monitored within the first time interval that the difference in capacity utilization rates between a target OSS and the first OSS is less than a third threshold, interrupt the data migration operation performed by the first OSS to the storage space corresponding to the target OSS that meets the migration termination condition, where the migration termination condition is that the difference in capacity utilization rates is less than the third threshold; when it is monitored within the first time interval that the migration pressure value of the data migration operation is greater than a fourth threshold, interrupt the data migration operation performed by the first OSS to the storage spaces corresponding to all target OSSs, where the migration pressure value is used to indicate the operation pressure of performing the data migration operation.

[0130] Optionally, the above-mentioned migration unit is further configured to obtain the migration pressure value matched with the data migration operation after the second time interval; when the migration pressure value is less than a fifth threshold and there is a second OSS in the distributed storage service set whose difference in capacity utilization rate from the first capacity utilization rate is greater than a second threshold, determine the second OSS that meets the migration recovery condition as the updated OSS, where the migration recovery condition is that the migration pressure value is less than the fifth threshold and the difference in capacity utilization rates between OSSs is greater than the second threshold; determine the migration coefficient matched with each updated OSS, where the migration coefficient is the product of the migration factor and the influencing factor, the migration factor is used to indicate the degree to which the updated OSS can receive migrated data, and the influencing factor is used to indicate the frequency of the updated OSS performing migration operations; determine the reference migration data quantity matched with each updated OSS according to the product of the migration coefficient matched with each updated OSS and the total amount of data already stored in the first OSS; migrate data to the updated OSSs matched therewith according to the reference migration data quantity.

[0131] According to another aspect of the embodiments of the present application, there is also provided an electronic device for implementing the data migration method in the above-mentioned memory. The electronic device may be Figure 1 the terminal device or server shown in the figure. This embodiment takes the electronic device as a mobile phone or a computer as an example for illustration. As Figure 6As shown, the electronic device includes a memory 602 and a processor 604. A computer program is stored in the memory 602, and the processor 604 is configured to execute the steps in any of the above method embodiments through the computer program.

[0132] Optionally, in this embodiment, the above electronic device may be at least one network device among multiple network devices in a computer network.

[0133] Optionally, in this embodiment, the above processor may be configured to execute the following steps through a computer program:

[0134] S1. Determine the OSS with a capacity utilization rate greater than a first threshold in the distributed storage service set as the first OSS, where the capacity utilization rate is the ratio of the occupied storage capacity of the OSS to the total storage capacity, and the OSS is used to provide data reading and writing services for at least one client;

[0135] S2. Obtain the capacity utilization rate difference between the first capacity utilization rate of the first OSS and the second capacity utilization rates of at least one second OSS in the distributed storage service set, where the second OSS is other OSS in the distributed storage service set except the first OSS;

[0136] S3. In the case where at least one of the at least one capacity utilization rate differences includes at least one target capacity utilization rate difference greater than or equal to a second threshold, determine the at least one second OSS corresponding to each of the at least one target capacity utilization rate differences as the target OSS; S4. Migrate the object data stored in the first OSS to the storage spaces corresponding to the at least one target OSS according to the migration coefficient matching the target OSS.

[0137] Optionally, those of ordinary skill in the art can understand that Figure 6 the structure shown is only schematic, and the electronic device may also be a smart phone (such as an Android phone, an iOS phone, etc.), a tablet computer, a handheld computer, and terminal devices such as Mobile Internet Devices (MID), PAD, etc. Figure 6 It does not limit the structure of the above electronic device. For example, the electronic device may also include more or fewer components (such as a network interface, etc.) than those shown Figure 6 here, or have a different configuration from that shown Figure 6 here.

[0138] Among them, the memory 602 can be used to store software programs and modules, such as the program instructions / modules corresponding to the data migration method and device in the embodiments of the present application. The processor 604 executes various functional applications and data migration by running the software programs and modules stored in the memory 602, that is, implements the above-mentioned data migration method. The memory 602 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memories, or other non-volatile solid-state memories. In some instances, the memory 602 may further include a memory remotely disposed relative to the processor 604, and these remote memories can be connected to the terminal through a network. Examples of the above network include but are not limited to the Internet, enterprise intranets, local area networks, mobile communication networks, and combinations thereof. Among them, the memory 602 can specifically but not limitedly be used to store information such as page elements and page styles. As an example, as Figure 6 shown, the above-mentioned memory 602 may include but is not limited to the first determination unit 502, the acquisition unit 504, the second determination unit 506, and the migration unit 508 in the above-mentioned data migration device. In addition, it may also include but is not limited to other module units in the above-mentioned data migration device, which will not be elaborated in this example.

[0139] Optionally, the above-mentioned transmission device 606 is used to receive or send data via a network. Specific examples of the above network may include wired networks and wireless networks. In one instance, the transmission device 606 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices and routers through a network cable, so as to communicate with the Internet or a local area network. In one instance, the transmission device 606 is a radio frequency (Radio Frequency, RF) module, which is used to communicate with the Internet wirelessly.

[0140] In addition, the above-mentioned electronic device further includes: a display 608; and a connection bus 610, which is used to connect each module component in the above-mentioned electronic device.

[0141] In other embodiments, the above-mentioned terminal device or server may be a node in a distributed system. Among them, the distributed system may be a blockchain system, and the blockchain system may be a distributed system formed by connecting the multiple nodes through network communication. Among them, the nodes can form a point-to-point network, and any form of computing device, such as servers, terminals and other electronic devices, can become a node in the blockchain system by joining the point-to-point network.

[0142] According to one aspect of the present application, a computer-readable storage medium is provided. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the methods provided in the above various optional implementation manners;

[0143] Optionally, in this embodiment, the above computer-readable storage medium may be set to store a computer program for executing the following steps:

[0144] S1. Determine the OSSs with a capacity utilization rate greater than a first threshold in the distributed storage service set as the first OSSs, where the capacity utilization rate is the ratio of the occupied storage capacity of the OSS to the total storage capacity, and the OSS is used to provide data reading and writing services for at least one client;

[0145] S2. Obtain the capacity utilization rate difference between the first capacity utilization rate of the first OSS and the second capacity utilization rates of at least one second OSS in the distributed storage service set, where the second OSSs are other OSSs in the distributed storage service set except the first OSS;

[0146] S3. In the case that at least one target capacity utilization rate difference greater than or equal to a second threshold is included in at least one capacity utilization rate difference, determine the second OSSs corresponding to the at least one target capacity utilization rate difference as the target OSSs;

[0147] S4. Migrate the object data stored in the first OSS to the storage spaces corresponding to the at least one target OSSs according to the migration coefficient matching the target OSSs.

[0148] Optionally, in the embodiments of the present application, the term "module" or "unit" refers to a computer program with a predetermined function or a part of a computer program, which works together with other related parts to achieve a predetermined goal, and can be fully or partially implemented by using software, hardware (such as a processing circuit or a memory), or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be a part of the overall module or unit including the function of the module or unit.

[0149] Optionally, in this embodiment, those of ordinary skill in the art can understand that all or part of the steps in the above various methods can be completed by instructing the relevant hardware of the terminal device through a program, and the program can be stored in a computer-readable storage medium. The storage medium may include: a flash drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, an optical disc, etc.

[0150] If the integrated units in the above embodiments are implemented in the form of software functional units and sold or used as independent products, they can be stored in the above computer-readable storage media. Based on such an understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to enable one or more computer devices (which can be personal computers, servers, or network devices, etc.) to execute all or part of the steps of the methods in various embodiments of this application.

[0151] In the above embodiments of this application, the descriptions of each embodiment have their own focuses. For the parts not detailed in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0152] In the several embodiments provided in this application, it should be understood that the disclosed client can be implemented in other ways. Among them, the device embodiments described above are only illustrative. For example, the division of units is only a logical function division. In actual implementation, there can be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed coupling or direct coupling or communication connection to each other can be through some interfaces. The indirect coupling or communication connection of units or modules can be in an electrical or other form.

[0153] The units described as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they can be located in one place, or can be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0154] In addition, the functional units in various embodiments of this application can be integrated in one processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above integrated units can be implemented in the form of hardware or in the form of software functional units.

[0155] The above is only the preferred embodiment of this application. It should be noted that for those of ordinary skill in the art, without departing from the principle of this application, several improvements and refinements can still be made, and these improvements and refinements should also be regarded as the protection scope of this application.

[0156] It should be noted that the above-mentioned modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above-mentioned modules are all located in the same processor; or, the above-mentioned modules are respectively located in different processors in any combination form.

[0157] An embodiment of the present application also provides a computer-readable storage medium, in which a computer program is stored. Wherein, the computer program is set to execute the steps in any one of the above method embodiments when running.

[0158] In an exemplary embodiment, the above computer-readable storage medium may include, but is not limited to: various media such as USB flash drives, read-only memories (ROM for short), random access memories (RAM for short), mobile hard disks, magnetic disks or optical discs that can store computer programs.

[0159] An embodiment of the present application also provides an electronic device, including a memory and a processor. A computer program is stored in the memory, and the processor is set to run the computer program to execute the steps in any one of the above method embodiments.

[0160] In an exemplary embodiment, the above electronic device may further include a transmission device and an input / output device. Wherein, the transmission device is connected to the above processor, and the input / output device is connected to the above processor.

[0161] An embodiment of the present application also provides a computer program product. The above computer program product includes a computer program, and when the computer program is executed by a processor, it implements the steps in any one of the above method embodiments.

[0162] An embodiment of the present application also provides another computer program product, including a non-volatile computer-readable storage medium. The non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, it implements the steps in any one of the above method embodiments.

[0163] An embodiment of the present application also provides a computer program. The computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium; a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the steps in any one of the above method embodiments.

[0164] Specific examples in this embodiment may refer to the examples described in the above embodiments and exemplary embodiments, and will not be repeated here.

[0165] Obviously, those skilled in the art should understand that the various modules or steps of the present application described above can be implemented by a general-purpose computing device. They can be concentrated on a single computing device or distributed on a network composed of multiple computing devices. They can be implemented by program codes executable by the computing device. Thus, they can be stored in a storage device and executed by the computing device. And in some cases, the steps shown or described can be executed in a sequence different from that here, or they can be separately fabricated into individual integrated circuit modules, or multiple modules or steps among them can be fabricated into a single integrated circuit module for implementation. In this way, the present application is not limited to any specific combination of hardware and software.

[0166] The above are only the preferred embodiments of the present application and are not used to limit the present application. For those skilled in the art, the present application can have various changes and modifications. Any modification, equivalent replacement, improvement, etc. made within the principle of the present application shall be included within the protection scope of the present application.

Claims

1. A data migration method, characterized in that: include: Determine an OSS in the distributed storage service set whose capacity utilization rate is greater than a first threshold as a first OSS, wherein the capacity utilization rate is a ratio between an occupied storage capacity of the OSS and a total storage capacity, and the OSS is used to provide data read and write services for at least one client; Obtaining a capacity utilization difference between a first capacity utilization rate of the first OSS and a second capacity utilization rate of each of at least one second OSS in the distributed storage service set, wherein the second OSS is an OSS other than the first OSS in the distributed storage service set; In a case where at least one of the capacity usage rate differences includes at least one target capacity usage rate difference that is greater than or equal to a second threshold, the second OSS corresponding to each of the at least one target capacity usage rate difference is determined as a target OSS; and according to a migration coefficient matching the target OSS, the object data stored in the first OSS is migrated to a storage space corresponding to the at least one target OSS.

2. The method according to claim 1, characterized in that The step of migrating the object data stored in the first OSS to at least one storage space corresponding to the target OSS according to the migration coefficient matching the target OSS includes: Summing all the target capacity utilization rate differences to obtain a sum of the capacity utilization rate differences; determining a ratio of the target capacity usage rate difference value matched with the target OSS to the sum of the capacity usage rate differences as a migration factor matched with the target OSS; The product of the migration factor matching the target OSS and the impact factor matching the target OSS is used as the migration coefficient matching the target OSS, wherein the impact factor is used to indicate the frequency of performing the migration operation on the target OSS.

3. The method according to claim 2, characterized in that The step of migrating the object data stored in the first OSS to a storage space corresponding to at least one of the target OSSs according to a migration coefficient matching the target OSS includes: Acquire a total amount of migrated data matching the first OSS; determining a reference migration data amount matching each of the target OSSs according to a product of the total migration data amount and the migration coefficient matching each of the target OSSs; Migrate data matching the reference migration data volume to a storage space corresponding to at least one of the target OSSs.

4. The method according to claim 2, characterized in that: The method further comprises: taking the product of the migration factor matching the target OSS and the impact factor matching the target OSS as the migration coefficient matching the target OSS, comprising: Determine a migration strategy level corresponding to each natural time node according to historical migration results, wherein the historical migration results are used to indicate the processing pressure of executing the data migration task at each historical time node, and the migration strategy level is used to indicate the operation performance level of executing the data migration task; The migration strategy level corresponding to the current time node is acquired, and data is migrated to a storage space corresponding to the target OSS according to the migration strategy level corresponding to the current time node.

5. The method according to claim 4, characterized in that Before determining the migration strategy level corresponding to each natural time node according to the historical migration results, the method includes: Acquire the amount of migrated data performed by the first OSS to each target OSS at each of the historical time nodes and the impact factor matched with each of the target OSSs at each of the historical time nodes; According to the impact factor matched with each target OSS at each historical time node, weighted average processing is performed on the migration data amount matched with at least one target OSS at multiple historical time nodes corresponding to the same natural time node to obtain an average migration amount matched with each natural time node; The migration strategy level matching each natural time node is determined according to the average migration quantity corresponding to each natural time node.

6. The method according to claim 1, characterized in that The step of migrating the object data stored in the first OSS to at least one of the target OSSs according to the migration coefficient matching the target OSS includes: When it is monitored within a first time interval that the capacity usage difference between the target OSS and the first OSS is less than a third threshold, interrupting the first OSS from performing a data migration operation to a storage space corresponding to the target OSS that meets a migration termination condition, wherein the migration termination condition is that the capacity usage difference is less than the third threshold; When it is monitored within the first time interval that a migration pressure value of the data migration operation is greater than a fourth threshold, interrupting the first OSS from executing the data migration operation on all storage spaces corresponding to the target OSSs, wherein the migration pressure value is used to indicate an operation pressure for executing the data migration operation.

7. The method according to claim 6, characterized in that After interrupting the first OSS from performing the data migration operation on the storage spaces corresponding to all the target OSSs, the method includes: acquiring the migration pressure value matching the data migration operation after a second time interval; In a case where the migration pressure value is less than a fifth threshold value, and there exists a second OSS in the distributed storage service set whose capacity usage rate difference with the first capacity usage rate is greater than the second threshold value, determining that the second OSS that meets the migration recovery condition is an update OSS, wherein the migration recovery condition is that the migration pressure value is less than the fifth threshold value and the capacity usage rate difference between the OSSs is greater than the second threshold value; Determine the migration coefficient matched with each of the update OSSs, wherein the migration coefficient is the product of a migration factor and an impact factor, the migration factor is used to indicate the degree to which the update OSS can receive migration data, and the impact factor is used to indicate the frequency of the update OSS performing migration operations; Determine a reference migration data amount matching each of the update OSSs according to the product of the migration coefficient matching each of the update OSSs and the total amount of data stored in the first OSS; The data is migrated to the update OSS that matches the reference migration data amount according to the reference migration data amount.

8. A data migration device, characterized in that: include: A first determining unit is configured to determine an OSS in the distributed storage service set whose capacity utilization rate is greater than a first threshold as a first OSS, wherein the capacity utilization rate is a ratio between an occupied storage capacity and a total storage capacity of the OSS, and the OSS is used to provide data reading and writing services for at least one client; An acquiring unit is configured to acquire a capacity utilization rate difference between a first capacity utilization rate of the first OSS and a second capacity utilization rate of each of at least one second OSS in the distributed storage service set, wherein the second OSS is another OSS in the distributed storage service set except the first OSS; a second determining unit, wherein, when at least one of the capacity usage rate differences includes at least one target capacity usage rate difference that is greater than or equal to a second threshold, determining the second OSS corresponding to each of the at least one target capacity usage rate difference as a target OSS; A migration unit is configured to migrate the object data stored in the first OSS to a storage space corresponding to at least one of the target OSSs according to a migration coefficient matching the target OSS.

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

10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method described in any one of claims 1 to 7 are implemented.

11. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method described in any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • Storage volume online migration method and device and storage volume online migration system

    CN111913663A

  • Data migration method and device, equipment and storage medium

    CN114415965A

  • Data migration method and device, equipment and storage medium

    CN118605804A

  • Dynamic scheduling method and device for object storage, equipment and storage medium

    CN118819946A

  • Capacity balancing method and device of distributed storage system, program product and medium

    CN119182776A

Cited By

  • Data migration method and device, electronic equipment and storage medium

    CN120832095A