CN105574141B - Method and device for carrying out data migration on database - Google Patents
Method and device for carrying out data migration on database Download PDFInfo
- Publication number
- CN105574141B CN105574141B CN201510937799.1A CN201510937799A CN105574141B CN 105574141 B CN105574141 B CN 105574141B CN 201510937799 A CN201510937799 A CN 201510937799A CN 105574141 B CN105574141 B CN 105574141B
- Authority
- CN
- China
- Prior art keywords
- migration
- database
- data
- load
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000005012 migration Effects 0.000 title claims abstract description 273
- 238000013508 migration Methods 0.000 title claims abstract description 273
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000007958 sleep Effects 0.000 claims description 31
- 230000004617 sleep duration Effects 0.000 claims description 21
- 230000004622 sleep time Effects 0.000 claims description 21
- 230000005059 dormancy Effects 0.000 claims description 11
- 230000002596 correlated effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 14
- 230000000875 corresponding effect Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 239000002699 waste material Substances 0.000 description 5
- 230000006266 hibernation Effects 0.000 description 4
- 230000008676 import Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The embodiment of the invention provides a method and a device for carrying out data migration on a database, wherein the method comprises the following steps: the method comprises the steps of determining a first service load of a database, adjusting M active threads in N active threads during data migration to M dormant threads when the first service load reaches a first load threshold value, wherein N is an integer larger than 0, M is an integer larger than 0, and M is smaller than or equal to N.
Description
Technical Field
The embodiment of the invention relates to the field of communication, in particular to a method and a device for migrating data of a database.
Background
This section is intended to provide a background or context to the embodiments of the invention that are recited in the claims. The description herein is not admitted to be prior art by inclusion in this section.
The MySQL (Structured Query Language) database is a database developed based on a Linux operating system, and since Linux is an operating system for opening source codes, the MySQL database also has the characteristic of opening source codes.
Currently, the MySQL database is widely applied due to the characteristic of open source codes. With the increasing development of the information age, the deployment scale of the MySQL database will be continuously enlarged, and in the use process of the MySQL database, data migration is often required to be performed on the MySQL database, for example, under the situations of insufficient server resources, network isolation, data disaster tolerance, and the like. Today, the migration of MySQL databases to the cloud is becoming more and more common due to the rapid development of cloud computing technology, and because the scale of the existing non-cloud databases is extremely large, the Database migration operation is performed manually by a DBA (Database Administrator ), which is obviously not preferable, and it is very important to select an efficient data migration method.
At present, there are three main schemes for implementing data migration of MySQL database:
the first one is: a single-threaded logical migration method; the second method is as follows: a multi-threaded physical migration method; the third is: among them, the third method, namely the multi-threaded logical migration method, is widely used because it has the advantages of high migration efficiency, high compatibility, and timely optimization of the migrated MySQL database.
The third method, namely the multithreading logic migration method, occupies the most resources, and therefore has the greatest influence on other services on the server of the MySQL database.
Disclosure of Invention
Therefore, in the prior art, the method for performing data migration on the database affects the service of the server where the database is located, and reduces the service quality, which is a very annoying process.
Therefore, an improved method and an improved device for data migration of a database are needed, so as to avoid affecting the service of the server where the database for data migration is located, improve the service quality, and further improve the utilization rate of server resources.
In this context, embodiments of the present invention are intended to provide a method and apparatus for data migration of a database.
In a first aspect of embodiments of the present invention, a method for performing data migration on a database is provided, including: determining a first traffic load of the database; and when the first service load is determined to reach a first load threshold value, adjusting M active threads in the N active threads during the data migration into M dormant threads, wherein N is an integer larger than 0, M is an integer larger than 0, and M is smaller than or equal to N.
In a second aspect of the embodiments of the present invention, there is provided an apparatus for performing data migration on a database, including: a determination module configured to determine a first traffic load of the database; an adjusting module configured to adjust M active threads of the N active threads in migrating the data to M dormant threads when the determining module determines that the first traffic load reaches a first load threshold, where N is an integer greater than 0, M is an integer greater than 0, and M is less than or equal to N.
According to the apparatus for migrating data of a database in the foregoing embodiment of the present invention, the determining module is further configured to: determining a second traffic load of the database; wherein the adjustment module is further configured to: and when the determining module determines that the second service load does not reach a second load threshold value, increasing the number of active threads during the data migration.
According to the apparatus for migrating data in a database in any of the above embodiments of the present invention, the apparatus further includes: a migration time recording module configured to record a migration time from the beginning of the migration of the data; the device further comprises: and the migration stopping module is configured to stop migrating the data when the migration time recorded by the migration time recording module reaches a migration time threshold value before the data is migrated.
According to the apparatus for migrating data in a database in any of the above embodiments of the present invention, the apparatus further includes: a sleep time adjustment recording module configured to record the sleep time adjustment; wherein the determination module is further configured to: and determining that the recorded adjusted sleep times reach an adjusted sleep times threshold.
The apparatus for migrating data in a database according to any of the above embodiments of the present invention, wherein the determining module is configured to: periodically determining a first traffic load of the database; or determining a trigger condition, and determining the first service load of the database according to the trigger condition.
According to the apparatus for migrating data to a database in any of the foregoing embodiments of the present invention, a sleep duration of each of the M sleep threads is positively correlated with a load difference, where the load difference represents a difference between the first traffic load and the first load threshold.
The apparatus for migrating data in a database according to any of the above embodiments of the present invention, wherein the determining module is configured to: determining at least one of lock contention, transaction number, file input/output, Write Ahead Log, record add/delete modify check operation, and buffer pool operation of the database.
According to the apparatus for migrating data in a database in any of the above embodiments of the present invention, the apparatus further includes: a migration time recording module configured to record migration time from the start of the migration of the data; wherein the determination module is configured to: and before the migration time recorded by the migration time recording module reaches a migration time threshold, determining whether the migration of the data is finished according to the related information of the migrated data.
According to the method and the device for data migration of the database, a first service load of the database can be determined in the process of data migration of the database, when the first service load reaches a first load threshold value, M active threads in N song active threads in the process of data migration of the database are adjusted to M dormant threads, wherein N is an integer larger than 0, M is an integer larger than 0, and M is smaller than or equal to N.
Drawings
The above and other objects, features and advantages of exemplary embodiments of the present invention will become readily apparent from the following detailed description read in conjunction with the accompanying drawings. Several embodiments of the invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which:
FIG. 1 is a schematic flow chart diagram illustrating a method for data migration of a database according to an embodiment of the present invention;
FIG. 2 is a schematic flow chart diagram illustrating a method for data migration of a database according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of an apparatus for data migration of a database according to an embodiment of the present invention;
FIG. 4 schematically illustrates a schematic diagram of an apparatus for data migration of a database according to another embodiment of the present invention; and
FIG. 5 schematically illustrates a program product for data migration of a database according to another embodiment of the present invention.
In the drawings, the same or corresponding reference numerals indicate the same or corresponding parts.
Detailed Description
The principles and spirit of the present invention will be described with reference to a number of exemplary embodiments. It is understood that these embodiments are given solely for the purpose of enabling those skilled in the art to better understand and to practice the invention, and are not intended to limit the scope of the invention in any way. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
As will be appreciated by one skilled in the art, embodiments of the present invention may be embodied as a system, apparatus, device, method, or computer program product. Accordingly, the present disclosure may be embodied in the form of: entirely hardware, entirely software (including firmware, resident software, micro-code, etc.), or a combination of hardware and software.
According to the embodiment of the invention, a method and a device for carrying out data migration on a database are provided.
In this document, it is to be understood that any number of elements in the figures are provided by way of illustration and not limitation, and any nomenclature is used for differentiation only and not in any limiting sense.
Technical terms used in the present invention are simply explained below to be understood by those skilled in the art.
And (3) migrating the database: the method can refer to a process of exporting data from a database by a certain way, exporting information such as table structures and table data in the database, and/or importing data by a certain way, and recovering the database, namely, migrating the database, wherein the process comprises data export and/or data import;
data export: the method can refer to saving data in a database into a file by means of logical backup, such as data backup;
data import: may refer to writing the data in the exported backup file to a new database, such as data recovery;
and (3) service load: may refer to the load caused by operations such as data insertion, update, deletion, and/or querying of the database.
The principles and spirit of the present invention are explained in detail below with reference to several representative embodiments of the invention.
Summary of The Invention
The inventor finds that the service load condition can be considered in the process of data migration of the database, and the state of the thread during the migration of the database can be adjusted according to the comparison result of the service load of the database and the corresponding threshold, for example, when the first service load of the database reaches the first load threshold, M active threads in N active threads during the migration of the data are adjusted to M dormant threads, M is less than or equal to N, and then when the second service load of the database reaches the second load threshold, the number of the active threads during the migration of the data can be increased, so that in the process of data migration of the database, the service load of the server where the database is located is considered, and then the state of the thread during the migration of the data can be adjusted according to the service load condition, thereby avoiding the migration data from causing great influence on the service quality of the server where the database is located, and the service quality and the utilization rate of server resources are improved.
Having described the general principles of the invention, various non-limiting embodiments of the invention are described in detail below.
Application scene overview
The embodiment of the invention can be applied to a cloud computing platform RDS (Relational Database Service), in particular to databases such as the migration of a blog Database, the migration of an album Database, the migration of a mailbox Database and/or the migration of a cloud music Database, and the like, thereby greatly improving the migration efficiency of the databases and the utilization rate of server resources.
When the device applying the method provided by the embodiment of the invention performs data migration on a database (assuming an album database), a first service load of the database is determined, when the first service load reaches a first load threshold value, and assuming that the number of active threads during data migration at the time is 10, 6 active threads in the 10 active threads can be adjusted to be dormant threads, and the rest 4 active threads also continue to perform data migration on the album database, because the service load of a server occupied by the 4 active threads is less than the service load of the server occupied by the 10 active threads, the problems of influencing service quality and wasting server resources can be solved.
Those skilled in the art will appreciate that the scenario described above is but one example in which an embodiment of the invention may be implemented. The scope of applicability of the embodiments of the present invention is not limited in any way.
Exemplary method
In the following, in combination with the above described application scenarios, a method for data migration of a database according to an exemplary embodiment of the present invention is described with reference to the above described scenarios. It should be noted that the above application scenarios are merely illustrated for the convenience of understanding the spirit and principles of the present invention, and the embodiments of the present invention are not limited in this respect. Rather, embodiments of the present invention may be applied to any scenario where applicable.
FIG. 1 schematically shows a flowchart of a method 100 for data migration of a database according to an embodiment of the present invention. As shown in fig. 1, the method 100 may include:
s101, determining a first service load of the database.
In some possible implementations, when determining the first traffic load of the database in step S101 according to the embodiment of the present invention, the first traffic load of the database may be determined periodically, for example, the first traffic load of the database is determined once in 30 minutes; as another example, to further avoid impact on quality of service, the first traffic load of the database may be determined once in 10 minutes.
In other possible implementations, when the step S101 determines the first traffic load of the database according to the embodiment of the present invention, it may also be that a trigger condition is determined, and the first traffic load of the database is determined according to the trigger condition.
The above two manners are only specific examples of possible implementations of determining the first traffic load of the database, and certainly, other manners may also be used to determine the first traffic load of the database when implementing the implementations of the database.
While the above description is directed to determining the first traffic load of the database, a description is provided below of possible specific implementations of determining the first traffic load of the database.
In some possible implementations, when determining the first traffic load of the database in step S101 according to the embodiment of the present invention, a plurality of ways may be adopted: for example, at least one of lock contention, number of transactions, file input/output, Write Ahead Log, record add-drop-and-delete-modify-check operations, buffer pool operations of the database may be determined. That is, when at least one of lock contention, number of transactions, file input/output, Write Ahead Log, record add/delete modify operation, and buffer pool operation of the database is determined, a first traffic load of the database may be determined. Note that at least one includes one and also includes more than one.
S102, when the first service load reaches a first load threshold value, adjusting M active threads in the N active threads during data migration into M dormant threads, wherein N is an integer larger than 0, M is an integer larger than 0, and M is smaller than or equal to N.
In some possible implementations, in an embodiment of the present invention, the method 100 further includes: and stopping migrating the data after all the data in the database are migrated.
In other possible embodiments, in an embodiment of the present invention, further, the method 100 further includes: recording migration time from the beginning of the data migration; and stopping migrating the data when the recorded migration time reaches a migration time threshold value before the data migration is finished.
That is to say, when data migration starts, migration time needs to be recorded, and when migration of the entire database is not completed, but the recorded migration time reaches a migration time threshold, migration of the database needs to be stopped at this time, so that the influence of long time taken by the migration of the database on service quality can be avoided, and the service quality can be improved.
When the migration time exceeds the set migration time threshold, data export and import are completed, and the corresponding BinLog file is deleted and finally fails when incremental data synchronization is started; for example, as the migrated data is in a consistency state at a past time point, information such as an undo log which the database needs to reserve for is continuously accumulated along with the extension of time, and further, IO bandwidth and storage space of the disk are occupied. In order to avoid the influence on the service quality caused by using longer migration time when data migration is carried out on the database, namely, in order to improve the service quality, the utilization rate of resources and the success rate of migration, the migration time is recorded from the beginning of the data migration; and stopping migrating the data when the recorded migration time reaches a migration time threshold value before the data migration is finished.
In some possible embodiments, after adjusting M active threads of the N active threads in migrating the data to be dormant threads, the method 100 further includes: recording and adjusting the sleep times; after determining that the recorded migration time reaches the migration time threshold and before stopping migrating the data, the method 100 further includes: determining that the recorded adjusted sleep number reaches an adjusted sleep threshold.
In practical applications, in some cases, the influence of migrating a database on a traffic load is small, at this time, if data migration is stopped when migration of the entire database is not completed but migration time of a record reaches a migration time threshold, there may be a situation of resource waste, that is, in some cases, when migration of the entire database is not completed, if migration of the database is stopped when migration time of a record reaches a migration time threshold, resource waste may be caused, and therefore, in other possible embodiments, further, in an embodiment of the present invention, after adjusting M active threads of N active threads in migrating the data to M dormant threads, the method 100 further includes: recording and adjusting the sleep times; at this time, after determining that the migration time of the record reaches the migration time threshold and before stopping migrating the data, the method 100 further includes the following operations: determining that the recorded adjusted sleep number reaches an adjusted sleep threshold. That is, when the migration of the entire database is not completed, if the recorded migration time reaches the migration time threshold, it is further determined whether the recorded adjusted hibernation number reaches the adjusted hibernation threshold, if so, the migration of the data is stopped, and if the recorded adjusted hibernation number does not reach the adjusted hibernation threshold, the data migration is continued. For example, the migration time threshold is 3 hours, the sleep time threshold is adjusted to 3 times, when the recorded migration time reaches 3 hours, it is further determined whether the sleep time is adjusted to 3 times, if the sleep time reaches 3 times, the migration of the data is stopped, and if the sleep time does not reach 3 times, the migration of the data can be continued.
It should be noted that, when performing an operation of adjusting M active threads of the N active threads to M dormant threads when migrating the data once, the number of times of adjusting the dormant threads is recorded once.
In some possible embodiments, it may be determined whether M active threads of the N active threads in data migration need to be adjusted to M dormant threads according to the load according to the value of the parameter adjust _ status, for example, when adjust _ status is set to a value other than 0, it indicates that M active threads of the N active threads in data migration need to be adjusted to M dormant threads according to the traffic load, and when adjust _ status is set to a value 0, it indicates that no adjustment of active threads is needed, for example, when adjust _ status is set to 1, it indicates that M active threads of the N active threads in data migration need to be adjusted to M dormant threads according to the traffic load.
In other possible embodiments, further to improve the utilization rate of the resource, after adjusting M active threads of the N active threads in migrating the data to M dormant threads, the method 100 further includes: determining a second traffic load of the database; and when the second service load is determined not to reach a second load threshold value, increasing the number of active threads during the data migration. That is, after the number of active threads is decreased, if the determined second traffic load of the database does not reach the second load threshold, further, in order to improve the utilization rate of the resource, the number of active threads when the data is migrated may be increased. It should be noted that the number of active threads in the increased migration data also has an active thread number threshold, and the number of active threads cannot be increased without limitation. For example, the current active thread number is 4, the active thread number threshold is 8, at this time, when the second traffic load does not reach the second load threshold, the active thread number may be increased, and the maximum increased active thread number is 8.
In other possible implementations, in an embodiment of the present invention, a sleep duration of each of the M sleep threads is positively correlated with a load difference, where the load difference represents a difference between the first traffic load and the first load threshold. The load difference may be equal to a difference obtained by subtracting the first load threshold from the first traffic load, or may also be equal to a quotient obtained by dividing the first traffic load by the first load threshold, or may also be equal to a value obtained by rounding a quotient obtained by dividing the first traffic load by the first load threshold. For example, the load difference in the first case is a first load difference, the sleep duration of each of the M sleep threads is a first sleep duration, the load difference in the second case is a second load difference, the sleep duration of each of the M sleep threads is a second sleep duration, if the first load difference is greater than the second load difference, the first sleep duration is greater than the second sleep duration, and if the first load difference is less than the second load difference, the first sleep duration is less than the second sleep duration.
In some possible embodiments, in a specific implementation, the load difference may be embodied according to a value of monitor _ result, for example, if the load difference is less than 0, the monitor _ result is 0, and for a numerical monitoring item, the monitor _ result may be respectively set to 1, 2, 3, and so on according to a degree that the first traffic load exceeds the first load threshold; for example, the following manner may be chosen to set the value of monitor _ result: the quotient of the first traffic load divided by the first load threshold is taken as an integer as the value of monitor _ result, e.g., the first traffic load is 25, and the threshold is 50, monitor _ result is set to 0, monitor _ result is set to 1 if the first traffic load is 55, monitor _ result is set to 2 if the first traffic load is 100, and so on. Of course, other functional relationships between the first traffic load and the first load threshold may also be selected to set the value of monitor _ result, as long as the functional relationship represents a functional change relationship that the larger the extent that the first traffic load exceeds the first load threshold, the larger the value of monitor _ result is, and the functional change relationship is not specifically limited herein.
In practical applications, the migration of the data may be completed before the recorded migration time reaches the migration time threshold, and therefore, further, in some possible embodiments, the method 100 further includes: recording migration time from the beginning of the data migration; and before the recorded migration time reaches a migration time threshold, determining whether the migration of the data is finished according to the related information of the migrated data. When determining whether to complete migration of the data according to the related information of the migrated data, optionally, multiple manners may be adopted, for example, whether to complete migration of the data is determined according to the type of the migrated data, for example, whether to complete migration of the data is determined according to an identifier carried by the migrated data, and of course, other manners of determining whether to complete migration of the data may be possible, and details are not described here. In one embodiment, the type of the data to be migrated is determined before the thread exits, if the type of the data to be migrated is shutdown _ job, the data migration is completed, and the thread exits normally, otherwise the thread exits abnormally.
In the embodiment of the present invention, the condition of the service load may be considered in the process of migrating data to the database, and the state of the thread in migrating the database may be adjusted according to the comparison result between the service load of the database and the corresponding threshold, for example, when the first service load of the database reaches the first load threshold, M active threads of N active threads in migrating data are adjusted to M dormant threads, M is less than or equal to N, and then when the second service load of the database reaches the second load threshold, the number of active threads in migrating data is increased, so that, in the process of migrating data to the database, the service load of the server in which the database in migrating data is located is considered, and the state of the thread in migrating data is adjusted according to the condition of the service load, thereby avoiding the migration data from largely affecting the service quality of the server in which the database is located, and the service quality and the utilization rate of server resources are improved.
That is to say, the embodiment of the present invention can not only realize accelerating migration efficiency through multithread migration, but also prevent normal services of a server where a migrated database is located from being affected to different degrees due to too many system or database resources occupied by migration operations, so as to improve migration efficiency to the maximum extent on the premise of causing limited or acceptable impact on service quality, and further, avoid deterioration of database health state due to continuous consumption of some resources of the database caused by too long migration time by establishing a migration timeout exit mechanism.
To facilitate understanding of those skilled in the art, fig. 2 schematically shows a flowchart of a method 200 for data migration of a database according to an embodiment of the present invention, which illustrates a process of data migration of a database. As shown in fig. 2, the method 200 may include:
step S201, starting to perform data migration on the database 1 and recording migration time;
step S202, after data migration is started, determining a trigger condition, and determining a first service load of the database according to the trigger condition;
step S203, judging whether the first service load reaches a first load threshold value, if so, executing step S204, otherwise, continuing to perform data migration on the database 1;
step S204, adjusting 5 active threads in 8 active threads during data migration into 5 dormant threads, continuously configuring the rest 3 active threads into migration data, and recording that the number of times of adjusting the dormant threads is 1;
step S205, determining a second service load of the database 1, and judging whether the second service load reaches a second load threshold, if so, not executing any operation, otherwise, executing step S206;
step S206, adjusting the number of active threads in data migration from 3 to 7;
step S207, before determining that the migration data is not completed, and after determining that the recorded migration time reaches the migration time threshold, and further determining that the recorded sleep adjustment number reaches the sleep adjustment number threshold, stopping data migration on the database 1, so that the active thread exits.
When the data migration is completed, the active thread is normally exited if the active thread is exited, and the active thread is abnormally exited if the active thread is exited.
It can be seen from this embodiment that, the embodiment of the present invention can dynamically adjust the number of active threads according to the change of the traffic load, so as to achieve the effect of reducing the number of active threads when the traffic load increases. The more traffic load exceeds the corresponding threshold, the greater the number of active threads adjusted to dormant threads and the longer the dormancy duration adjusted to dormant threads. This is more advantageous for the explosive traffic load to be responded to quickly.
Compared with the existing migration technical scheme, the technical scheme of the invention can greatly improve the automation degree of migration, avoid the DBA from frequently intervening in the migration process because the migration affects the normal business, and greatly save the time consumed in the migration operation. One-click MySQL database migration is realized.
Further, while the operations of the method of the present invention are depicted in fig. 2 in a particular order, this does not require or imply that the operations must be performed in this particular order, or that all of the illustrated operations must be performed, to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken down into multiple step executions.
Exemplary device
Having described the method of the exemplary embodiment of the present invention, the apparatus for data migration of a database of the exemplary embodiment of the present invention is next described with reference to fig. 3.
Fig. 3 schematically shows a schematic diagram of an apparatus 300 for data migration of a database according to an embodiment of the present invention. As shown in fig. 3, the apparatus 300 may include:
a determining module 301 configured to determine a first traffic load of the database;
an adjusting module 302, configured to, when the determining module 301 determines that the first traffic load reaches a first load threshold, adjust M active threads of the N active threads in migrating the data to M dormant threads, where N is an integer greater than 0, M is an integer greater than 0, and M is less than or equal to N.
In some possible embodiments, the determining module 301 in the apparatus 300 may determine the first traffic load of the database periodically, for example, the first traffic load of the database is determined once in 30 minutes; as another example, to further avoid impact on quality of service, the first traffic load of the database may be determined once in 10 minutes.
In other possible embodiments, when the determining module 301 in the apparatus 300 determines the first traffic load of the database, it may also determine a trigger condition, and determine the first traffic load of the database according to the trigger condition.
The above two manners are only specific examples of possible implementations of determining the first traffic load of the database by the determining module 301 in the apparatus 300, and certainly, other manners may also be used to determine the first traffic load of the database when implementing the implementations, and the implementations are not limited to the above two manners, and detailed description is not provided herein.
While the determination module 301 determines the first traffic load of the database when described above, a description is provided below of possible implementations of the determination module 301 determining the first traffic load of the database.
In some possible embodiments, when the determining module 301 in the apparatus 300 determines the first traffic load of the database, a plurality of ways may be adopted: for example, the determining module 301 determines at least one of lock contention, number of transactions, file input/output, Write Ahead Log, record add-delete modify operation, buffer pool operation of the database. That is, when at least one of lock contention, number of transactions, file input/output, Write Ahead Log, record add/delete modify operation, and buffer pool operation of the database is determined, a first traffic load of the database may be determined. In addition, at least one of the cases includes one and more.
In some possible embodiments, in the apparatus 300, a migration stopping module 303 is further included, configured to stop migrating data after all data in the database is migrated.
In other possible embodiments, the apparatus 300 further includes a migration time recording module 304: recording migration time from the beginning of the data migration; before the data is migrated, when it is determined that the migration time recorded by the migration time recording module 304 reaches the migration time threshold, the stop migration module 303 stops migrating the data.
That is to say, the migration time recording module 304 records the migration time from the beginning of the data migration, and when the migration of the entire database is not completed but the migration time recorded by the migration time recording module 304 reaches the migration time threshold, the migration stopping module 303 also stops the migration of the database at this time, so that the influence of the long time taken by the database migration on the service quality can be avoided, and the service quality can be improved.
When the migration time exceeds the set migration time threshold, data export and import are completed, and the corresponding BinLog file is deleted and finally fails when incremental data synchronization is started; for example, as the migrated data is in a consistency state at a past time point, information such as an undo log which the database needs to reserve for is continuously accumulated along with the extension of time, and further, IO bandwidth and storage space of the disk are occupied. In order to avoid the influence on the service quality caused by using a longer migration time when data migration is performed on the database, that is, in order to improve the service quality, the utilization rate of resources and the success rate of migration, the migration time recording module 304 records the migration time from the beginning of migrating the data; the stop migration module 303 stops migrating the data when it is determined that the recorded migration time reaches the migration time threshold before the data migration is completed.
In some possible embodiments, the apparatus 300 further includes an adjust dormancy number recording module 305: configured to record the adjusted sleep times; the determination module 301 is further configured to: it is determined that the adjusted sleep count recorded by the adjusted sleep count recording module 305 reaches the adjusted sleep threshold.
In practical applications, in some cases, the influence of migrating a database on a service load is small, at this time, if the migration of the entire database is not completed, but the migration time recorded by the migration time recording module 304 reaches the migration time threshold, the migration stopping module 303 stops migrating data, there is a situation of resource waste, that is, in some cases, when the migration of the entire database is not completed, if the migration stopping module 303 stops migrating the database because the migration time recorded by the migration time recording module 304 reaches the migration time threshold, there is a waste of resources, and therefore, in this embodiment of the present invention, the method further includes the sleep time adjustment recording module 305: configured to record the adjusted sleep times; the determination module 301 is further configured to: it is determined that the adjusted sleep count recorded by the adjusted sleep count recording module 305 reaches the adjusted sleep threshold. That is to say, when migration of the entire database is not completed, if the migration time recorded by the migration time recording module 304 reaches the migration time threshold, it is further determined whether the adjusted dormancy number recorded by the adjusted dormancy number recording module 305 reaches the adjusted dormancy threshold, if so, the migration stopping module 303 stops migrating data, and if the adjusted dormancy number recorded by the adjusted dormancy number recording module 305 does not reach the adjusted dormancy threshold, at this time, data migration is continued, so that data migration can be continued without straining resource occupation, and waste of resources is avoided. For example, the migration time threshold is 3 hours, the sleep time adjustment threshold is 3 times, when the migration time recorded by the migration time recording module 304 reaches 3 hours, it is further determined whether the sleep time adjustment recorded by the sleep time adjustment recording module 305 is 3 times, if the sleep time adjustment is 3 times, the migration of the data is stopped by the migration module 303, and if the sleep time adjustment is not 3 times, the data may be continuously migrated.
It should be noted that, when the adjusting module 302 performs an operation of adjusting M active threads of the N active threads during the migration of the data to M dormant threads each time, the adjusted dormant number recording module 305 records the adjusted dormant number once.
In some possible embodiments, the adjusting module 302 may determine whether M active threads of the N active threads in the data migration need to be adjusted to M dormant threads according to the load according to a value of the parameter adjust _ status, for example, when adjust _ status is set to a value other than 0, it indicates that M active threads of the N active threads in the data migration need to be adjusted to M dormant threads according to the traffic load, and when adjust _ status is set to a value 0, it indicates that no adjustment of active threads is needed, for example, when adjust _ status is set to 1, it indicates that M active threads of the N active threads in the data migration need to be adjusted to M dormant threads according to the traffic load.
In other possible embodiments, further to improve the utilization rate of the resource, the determining module 301 is further configured to: determining a second traffic load of the database; when the determining module 301 determines that the second traffic load does not reach the second load threshold, the adjusting module 302 increases the number of active threads in migrating the data. That is, after the number of active threads is decreased, if the determined second traffic load of the database does not reach the second load threshold, further, in order to improve the utilization rate of the resource, the number of active threads when the data is migrated may be increased. It should be noted that the number of active threads in the increased migration data also has an active thread number threshold, and the number of active threads cannot be increased without limitation. For example, the current active thread number is 4, the active thread number threshold is 8, at this time, when the second traffic load does not reach the second load threshold, the active thread number may be increased, and the maximum increased active thread number is 8.
In other possible implementations, in an embodiment of the present invention, a sleep duration of each of the M sleep threads is positively correlated with a load difference, where the load difference represents a difference between the first traffic load and the first load threshold. The load difference may be equal to a difference obtained by subtracting the first load threshold from the first traffic load, or may also be equal to a quotient obtained by dividing the first traffic load by the first load threshold, or may also be equal to a value obtained by rounding a quotient obtained by dividing the first traffic load by the first load threshold. For example, the load difference in the first case is a first load difference, the sleep duration of each of the M sleep threads is a first sleep duration, the load difference in the second case is a second load difference, the sleep duration of each of the M sleep threads is a second sleep duration, if the first load difference is greater than the second load difference, the first sleep duration is greater than the second sleep duration, and if the first load difference is less than the second load difference, the first sleep duration is less than the second sleep duration.
In some possible embodiments, in a specific implementation, the load difference may be embodied according to a value of monitor _ result, for example, if the load difference is less than 0, the monitor _ result is 0, and for a numerical monitoring item, the monitor _ result may be respectively set to 1, 2, 3, and so on according to a degree that the first traffic load exceeds the first load threshold; for example, the following manner may be chosen to set the value of monitor _ result: the quotient of the first traffic load divided by the first load threshold is taken as an integer as the value of monitor _ result, e.g., the first traffic load is 25, and the threshold is 50, monitor _ result is set to 0, monitor _ result is set to 1 if the first traffic load is 55, monitor _ result is set to 2 if the first traffic load is 100, and so on. Of course, other functional relationships between the first traffic load and the first load threshold may also be selected to set the value of monitor _ result, as long as the functional relationship can represent a functional change relationship that the larger the extent that the first traffic load exceeds the first load threshold, the larger the value of monitor _ result is, and the functional change relationship is not specifically limited herein.
In some possible implementations, the migration time recording module 304 is further configured to: recording migration time from the beginning of the data migration; before the migration time recorded by the migration time recording module 304 reaches the migration time threshold, the determining module 301 determines whether to complete the migration of the data according to the related information of the migrated data. When determining whether to complete the data migration according to the related information of the migrated data, optionally, the determining module 301 may determine whether to complete the data migration according to the type of the migrated data, for example, determine whether to complete the data migration according to an identifier carried by the migrated data, and certainly, there may be other manners of determining whether to complete the data migration, which will not be described in detail herein. In one embodiment, the type of the data to be migrated is determined before the thread exits, if the type of the data to be migrated is shutdown _ job, the data migration is completed, and the thread exits normally, otherwise the thread exits abnormally.
In the embodiment of the present invention, a condition of a service load may be considered in a process of performing data migration on a database, and according to a comparison result between the service load of the database and a corresponding threshold, the adjusting module 302 adjusts a state of a thread when migrating the database, for example, when the determining module 301 determines that a first service load of the database reaches a first load threshold, the adjusting module 302 adjusts M active threads of N active threads when migrating data to M dormant threads, where M is less than or equal to N, and then when the determining module 301 determines that a second service load of the database reaches a second load threshold, the adjusting module 302 increases the number of active threads when migrating data, so that, in a process of performing data migration on the database, by considering a service load of a server where the database performing data migration is located, a state of a thread when migrating data is further adjusted according to a condition of the service load, the method and the device avoid the large influence of the migration data on the service quality of the server where the database is located, and improve the service quality and the utilization rate of server resources.
That is to say, the embodiment of the present invention can not only realize accelerating the migration efficiency through multithread migration, but also prevent the normal database service from being affected by different degrees due to too many system or database resources occupied by the migration operation, so as to improve the migration efficiency to the maximum extent on the premise of causing limited or acceptable impact on the database service, and avoid the deterioration of the health state of the database due to the continuous consumption of some resources of the database caused by too long migration time by establishing a migration timeout exit mechanism.
Exemplary device
Having described the method and apparatus of an exemplary embodiment of the present invention, an apparatus for data migration of a database according to another exemplary embodiment of the present invention is described.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or program product. Thus, various aspects of the invention may be embodied in the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, microcode, etc.) or an embodiment combining hardware and software aspects that may all generally be referred to herein as a "circuit," module "or" system.
In some possible embodiments, the apparatus for data migration of a database according to the present invention may include at least one processing unit and at least one storage unit. Wherein the storage unit stores program code that, when executed by the processing unit, causes the processing unit to perform the steps in the method of migrating data from a database according to various exemplary embodiments of the present invention described in the "exemplary methods" section above in this specification. For example, the processing unit may execute step S101 shown in fig. 1, determine a first traffic load of the database, and adjust M active threads of the N active threads in migrating the data to M dormant threads when determining that the first traffic load reaches a first load threshold, where N is an integer greater than 0, M is an integer greater than 0, and M is less than or equal to N.
The apparatus 10 for data migration of a database according to this embodiment of the present invention is described below with reference to fig. 4. The data migration apparatus 10 for database shown in fig. 4 is only an example, and should not bring any limitation to the function and the scope of the embodiments of the present invention.
As shown in fig. 4, the means 10 for data migration of a database is in the form of a general purpose computing device. The components of the apparatus 10 for data migration of a database may include, but are not limited to: the at least one processing unit 16, the at least one memory unit 28, and the bus 18 that connects the various system components (including the memory unit 28 and the processing unit 16).
The storage unit 28 may include readable media in the form of volatile memory, such as Random Access Memory (RAM)30 and/or cache memory 32, and may further include Read Only Memory (ROM) 34.
The means for data migration of a database 10 may also communicate with one or more external devices 14 (e.g., keyboard, pointing device, bluetooth device, etc.), with one or more devices that enable a user to interact with the means for data migration of a database 10, and/or with any device (e.g., router, modem, etc.) that enables the means for data migration of a database 10 to communicate with one or more other computing devices. Such communication may be through an input/output (I/O) interface 22. Also, the data migration apparatus 10 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network, such as the internet) via the network adapter 20. As shown, the network adapter 20 communicates with the other modules of the data migration apparatus 10 for databases over the bus 18. It should be understood that although not shown, other hardware and/or software modules may be used in conjunction with the data migration apparatus 10 for databases, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
Exemplary program product
In some possible embodiments, aspects of the present invention may also be implemented in the form of a program product, comprising program code means for causing a terminal device to carry out the steps of the method for data migration of a database according to various exemplifying embodiments of the present invention as described in the above-mentioned "exemplifying method" part of the present description, when said program product is run on said terminal device, for example, the terminal device may perform step S101 as shown in fig. 1, determine a first traffic load of the database, and step S102, when the first service load reaches a first load threshold value, adjusting M active threads in the N active threads during the data migration into M dormant threads, wherein N is an integer greater than 0, M is an integer greater than 0, and M is less than or equal to N.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
As shown in fig. 5, a program product 50 for data migration of a database according to an embodiment of the present invention is described, which may employ a portable compact disc read only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited in this regard and, in the present document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A readable signal medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device over any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., over the internet using an internet service provider).
It should be noted that although in the above detailed description reference is made to several means or sub-means of a data migration apparatus for a database, such partitioning is not mandatory only. Indeed, the features and functions of two or more of the devices described above may be embodied in one device, according to embodiments of the invention. Conversely, the features and functions of one apparatus described above may be further divided into embodiments by a plurality of apparatuses.
Moreover, while the operations of the method of the invention are depicted in the drawings in a particular order, this does not require or imply that the operations must be performed in this particular order, or that all of the illustrated operations must be performed, to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken down into multiple step executions.
While the spirit and principles of the invention have been described with reference to several particular embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, nor is the division of aspects, which is for convenience only as the features in such aspects may not be combined to benefit. The invention is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.
Claims (10)
1. A method for data migration of a database, comprising:
determining a first traffic load of the database;
when the first service load reaches a first load threshold value, adjusting M active threads in the N active threads during data migration into M dormant threads, wherein N is an integer larger than 0, M is an integer larger than 0, and M is smaller than or equal to N;
wherein the determining a first traffic load of the database comprises:
determining at least one of lock competition, transaction quantity, file input/output, Write Ahead Log, record adding, deleting, modifying and checking operation and buffer pool operation of the database;
the method further comprises the following steps: recording migration time from the beginning of the data migration;
after adjusting M active threads of the N active threads in migrating the data to M dormant threads, the method further includes: recording and adjusting the sleep times; before the data is migrated, when the recorded migration time reaches a migration time threshold value, further judging whether the recorded sleep adjustment times reach a sleep adjustment time threshold value; if the recorded sleep adjustment times reach the sleep adjustment threshold, the data migration is stopped, and if the recorded sleep adjustment times do not reach the sleep adjustment threshold, the data migration is continued.
2. The method of claim 1, wherein adjusting M active threads of the N active threads in migrating the data to M dormant threads further comprises:
determining a second traffic load of the database;
and when the second service load is determined not to reach a second load threshold value, increasing the number of active threads during the data migration.
3. The method of claim 1 or 2, wherein determining the first traffic load of the database comprises:
periodically determining a first traffic load of the database; or
Determining a trigger condition, and determining a first service load of the database according to the trigger condition.
4. The method of claim 1 or 2, wherein a sleep duration of each of the M sleeping threads is positively correlated with a load difference value characterizing a difference between the first traffic load and the first load threshold.
5. The method of claim 1 or 2, wherein the method further comprises:
and before the recorded migration time reaches a migration time threshold, determining whether the migration of the data is finished according to the related information of the migrated data.
6. An apparatus for data migration of a database, comprising:
a determination module configured to determine a first traffic load of the database;
an adjusting module configured to adjust M active threads of the N active threads in migrating the data to M dormant threads when the determining module determines that the first traffic load reaches a first load threshold, where N is an integer greater than 0, M is an integer greater than 0, and M is less than or equal to N;
wherein the determining a first traffic load of the database comprises:
determining at least one of lock competition, transaction quantity, file input/output, Write Ahead Log, record adding, deleting, modifying and checking operation and buffer pool operation of the database;
the device further comprises: a migration time recording module configured to record a migration time from the beginning of the migration of the data;
the device further comprises: a sleep time adjustment recording module configured to record the sleep time adjustment;
the device further comprises: the migration stopping module is configured to determine whether the adjusted dormancy number recorded by the dormancy number adjusting recording module reaches an adjusted dormancy threshold value when the migration time recorded by the migration time recording module reaches the migration time threshold value before the data is migrated; if the sleep adjustment times recorded by the sleep adjustment times recording module reach the sleep adjustment threshold, the migration stopping module stops migrating the data, and if the sleep adjustment times recorded by the sleep adjustment times recording module do not reach the sleep adjustment threshold, the data is continuously migrated.
7. The apparatus of claim 6, wherein the determination module is further configured to:
determining a second traffic load of the database;
wherein the adjustment module is further configured to:
and when the determining module determines that the second service load does not reach a second load threshold value, increasing the number of active threads during the data migration.
8. The apparatus of claim 6 or 7, wherein the determination module is configured to:
periodically determining a first traffic load of the database; or
Determining a trigger condition, and determining a first service load of the database according to the trigger condition.
9. The apparatus of claim 6 or 7, wherein a sleep duration of each of the M dormant threads is positively correlated with a load difference value characterizing a difference between the first traffic load and the first load threshold.
10. The apparatus of claim 6 or 7,
wherein the determination module is configured to:
and before the migration time recorded by the migration time recording module reaches a migration time threshold, determining whether the migration of the data is finished according to the related information of the migrated data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510937799.1A CN105574141B (en) | 2015-12-15 | 2015-12-15 | Method and device for carrying out data migration on database |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510937799.1A CN105574141B (en) | 2015-12-15 | 2015-12-15 | Method and device for carrying out data migration on database |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105574141A CN105574141A (en) | 2016-05-11 |
CN105574141B true CN105574141B (en) | 2021-04-27 |
Family
ID=55884272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510937799.1A Active CN105574141B (en) | 2015-12-15 | 2015-12-15 | Method and device for carrying out data migration on database |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105574141B (en) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109558219B (en) * | 2017-09-25 | 2023-05-26 | 阿里巴巴集团控股有限公司 | Down-conversion method, device and storage medium in thermal migration |
CN109325016B (en) * | 2018-09-12 | 2021-04-20 | 杭州朗和科技有限公司 | Data migration method, device, medium and electronic equipment |
CN109358816B (en) * | 2018-10-19 | 2022-05-20 | 网宿科技股份有限公司 | Flow control method and device of distributed storage system |
CN109857528B (en) * | 2019-01-10 | 2021-08-27 | 北京三快在线科技有限公司 | Data migration speed adjusting method and device, storage medium and mobile terminal |
CN113127143A (en) * | 2020-01-15 | 2021-07-16 | 中国移动通信有限公司研究院 | Virtual machine live migration method and related equipment |
CN113849476A (en) * | 2020-06-28 | 2021-12-28 | 中兴通讯股份有限公司 | Data migration method and device, network equipment and storage medium |
CN112162963B (en) * | 2020-10-15 | 2025-01-28 | 苏州交驰人工智能研究院有限公司 | Data synchronization method, device, computer equipment and storage medium |
CN112463763B (en) * | 2020-11-19 | 2023-09-29 | 东北大学 | MySQL database parameter screening method based on RF algorithm |
CN114760313B (en) * | 2020-12-29 | 2023-11-24 | 中国联合网络通信集团有限公司 | Service scheduling method and service scheduling device |
CN114090225A (en) * | 2021-01-19 | 2022-02-25 | 北京沃东天骏信息技术有限公司 | Method and device for dynamically adjusting regional server thread |
CN113778982B (en) * | 2021-03-09 | 2025-02-21 | 北京沃东天骏信息技术有限公司 | Data migration method and device |
CN113326140B (en) * | 2021-06-30 | 2024-11-26 | 统信软件技术有限公司 | Process migration method, device, computing device and storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706803A (en) * | 2009-11-27 | 2010-05-12 | 天津工业大学 | Method for migrating production data of weaving workshop |
CN102495857A (en) * | 2011-11-21 | 2012-06-13 | 北京新媒传信科技有限公司 | Load balancing method for distributed database |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070106710A1 (en) * | 2005-10-26 | 2007-05-10 | Nils Haustein | Apparatus, system, and method for data migration |
-
2015
- 2015-12-15 CN CN201510937799.1A patent/CN105574141B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706803A (en) * | 2009-11-27 | 2010-05-12 | 天津工业大学 | Method for migrating production data of weaving workshop |
CN102495857A (en) * | 2011-11-21 | 2012-06-13 | 北京新媒传信科技有限公司 | Load balancing method for distributed database |
Non-Patent Citations (2)
Title |
---|
一种基于CPU负载平均的负载均衡算法;何龙等;《计算机与数字工程》;20121231;第22-24页 * |
在线动态数据迁移下系统负载控制的设计与实现;苏睿;《中国优秀硕士学位论文全文数据库 信息科技辑》;20131215;第7-11页、第35-45页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105574141A (en) | 2016-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105574141B (en) | Method and device for carrying out data migration on database | |
US10198189B2 (en) | Data allocation among devices with different data rates | |
US12056391B2 (en) | SSD-based log data storage method and apparatus, device and medium | |
US10523743B2 (en) | Dynamic load-based merging | |
US11366788B2 (en) | Parallel pipelined processing for snapshot data deletion | |
US20140215127A1 (en) | Apparatus, system, and method for adaptive intent logging | |
US10048880B1 (en) | Efficient scrubbing of mirrored memory | |
EP4036735A1 (en) | Method, apparatus and readable storage medium | |
US10459641B2 (en) | Efficient serialization of journal data | |
US20140108839A1 (en) | Log record writing system, device, method, and program | |
CN113553216A (en) | Data recovery method and device, electronic equipment and storage medium | |
US11789622B2 (en) | Method, device and computer program product for storage management | |
US11704151B2 (en) | Estimate and control execution time of a utility command | |
CN110413197B (en) | Method, apparatus and computer program product for managing a storage system | |
KR102175999B1 (en) | I/o completion methods in computer system and computer systems therefor | |
CN110941436B (en) | Data storage method and device for application program, storage medium and terminal equipment | |
US9658965B2 (en) | Cache utilization to efficiently manage a storage system | |
US20170357657A1 (en) | Systems and methods for implementing dynamic file systems | |
US10761940B2 (en) | Method, device and program product for reducing data recovery time of storage system | |
CN112434013A (en) | Data table migration method and device, electronic equipment and storage medium | |
CN114296649B (en) | Inter-cloud service migration system | |
US11662916B2 (en) | Method, electronic device and computer program product for managing a storage system | |
CN113485713B (en) | Method and device for quickly compiling program, electronic equipment and storage medium | |
US11340825B1 (en) | Method, device, and computer program product for managing storage system | |
CN111552439B (en) | Data storage method, device, system, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Hangzhou NetEase Shuzhifan Technology Co.,Ltd. Address before: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee before: HANGZHOU LANGHE TECHNOLOGY Ltd. |
|
CP01 | Change in the name or title of a patent holder |