WO2015096142A1 - 一种Hadoop集群中数据备份的方法、设备及系统 - Google Patents

一种Hadoop集群中数据备份的方法、设备及系统 Download PDF

Info

Publication number
WO2015096142A1
WO2015096142A1 PCT/CN2013/090723 CN2013090723W WO2015096142A1 WO 2015096142 A1 WO2015096142 A1 WO 2015096142A1 CN 2013090723 W CN2013090723 W CN 2013090723W WO 2015096142 A1 WO2015096142 A1 WO 2015096142A1
Authority
WO
WIPO (PCT)
Prior art keywords
application capability
adjusted
data block
computing nodes
node
Prior art date
Application number
PCT/CN2013/090723
Other languages
English (en)
French (fr)
Inventor
王朱珍
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN201380002586.9A priority Critical patent/CN105052110B/zh
Priority to PCT/CN2013/090723 priority patent/WO2015096142A1/zh
Publication of WO2015096142A1 publication Critical patent/WO2015096142A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space

Definitions

  • the present invention relates to the field of data storage, and in particular, to a method, device and system for backing up data in a Hadoop cluster.
  • HDFS Hadoop Distributed File System
  • the data block copy backup strategy of the existing Hadoop cluster is to save 3 copies for each data block: the first copy is on the compute node where the current request is located, and the second copy is saved in another rack that is not in the same rack as the current compute node. On one compute node in the rack, the third replica is on another node in the rack where the compute node where the current request resides.
  • the specifically selected nodes are determined by the load balancing mechanism.
  • the inventors of the present invention have found that the data block copy backup strategy of the existing Hadoop cluster does not fully consider the heterogeneous situation between the compute nodes, and cannot fully optimize the processing capability of each compute node, and the data block is not backed up to process the data block. The most capable compute node.
  • the embodiment of the invention provides a data backup method in a Hadoop cluster, which can back up a data block to a computing node having the strongest capability for processing the data block, thereby improving the efficiency of data processing.
  • Embodiments of the present invention also provide corresponding devices and systems.
  • a first aspect of the present invention provides a data backup method in a Hadoop cluster, including: acquiring various application capability values of each computing node;
  • the data block to be adjusted is backed up to the determined first N available computing nodes.
  • the determining the various application capabilities The value of the application capability that affects the processing efficiency of the adjusted data block in the value, including:
  • the data blocks to be adjusted that need to be backed up are pre-backuped to N pre-selected computing nodes, and the N pre-selected computing nodes respectively have one of the maximum application capability values of the various application capability values. ;
  • the backing up the to-be-adjusted data block to the determined first N available computing nodes includes:
  • the acquiring, by using the computing device, the value of each application capability including: Describe the hardware parameters of each computing node;
  • the acquiring, Afterwards, the method further includes:
  • the global ordered node linked list is a computing node linked list sequentially arranged according to each of the application capability value values; correspondingly, the Determining the top N available computing nodes with the strongest application capability value in each of the computing nodes, including:
  • the top N available computing nodes having the strongest application capability value are searched for from the most influential application capability value in the global ordered node list.
  • the determining the top N available computing nodes with the most influential application capability value in each of the computing nodes includes:
  • the application capability value that has the greatest influence on the processing efficiency of the data block to be adjusted is re-determined among the various application capability values.
  • the backing up the to-be-adjusted data block to the determined After the first N available computing nodes the method further includes:
  • Obtaining a characterization parameter of the number of times the data block to be adjusted is accessed, where the characterization parameter of the number of times of access is the number of times the data block to be adjusted is accessed within a preset time period;
  • the determining, by the characterization parameter of the number of times of accessing, determining to increase or decrease the number of backups of the data block to be adjusted includes:
  • the new backup computing node sorting the first most applicable number of available computing nodes for the most influential application capability value in the remaining computing nodes.
  • determining, according to the characterization parameter of the number of times of access, increasing or decreasing the number of backups of the to-be-adjusted data block including:
  • a second aspect of the present invention provides an apparatus for controlling data backup, including:
  • An obtaining unit configured to obtain various application capability values that each computing node has
  • a first determining unit configured to determine an application capability value that has the greatest impact on processing efficiency of the data block to be adjusted, and a backup quantity N of the to-be-adjusted data block in the various application capability values acquired by the acquiring unit, N is an integer greater than one;
  • a second determining unit configured to determine the top N available computing nodes with the strongest application capability value determined by the first determining unit in each computing node
  • a scheduling unit configured to back up the to-be-adjusted data block to the top N available computing nodes determined by the second determining unit.
  • the first determining unit includes: a backup subunit, configured to pre-backup the to-be-adjusted data block that needs to be backed up to N pre-selected calculations And the N pre-selected computing nodes respectively have one of the maximum application capability values of the various application capability values;
  • a recording subunit configured to record, when the N preselected computing nodes respectively process the to-be-adjusted data block backed up by the backup subunit, to record the N preselected computing nodes Adjust the processing efficiency of the data block;
  • Determining a sub-unit configured to determine, according to processing efficiency of the to-be-adjusted data block by each of the N pre-selected computing nodes recorded by the recording subunit, determining processing of the data block to be adjusted in the various application capability values The value of the application capability that has the greatest impact on efficiency.
  • the scheduling unit is configured to migrate the to-be-adjusted data block from the N pre-selected computing nodes to a backup The first N available compute nodes.
  • the acquiring unit is configured to acquire hardware parameters of each of the computing nodes, and select, according to the preset correspondence between the various application capability values and the hardware parameters, the hardware parameters.
  • the various application capability values are calculated by applying hardware parameters corresponding to the capability values.
  • the device further includes:
  • a table building unit configured to construct a global ordered node linked list according to the various application capability values obtained by the obtaining unit, where the global ordered node linked list is in accordance with each application capability value according to the various application capability values.
  • the second determining unit is configured to search for the top N most influential application capability values under the most influential application capability value in the global ordered node linked list established by the table forming unit. Available compute nodes.
  • the second determining unit is configured to: according to the most affected application capability value, each of the computing nodes
  • the load capability parameter determines the top N available compute nodes with the strongest application capability value in each of the compute nodes.
  • the first determining unit is further configured to re-determine an application capability value that has the greatest impact on the processing efficiency of the data block to be adjusted among the various application capability values.
  • any one of the first to sixth possible implementation manners of the second aspect in a seventh possible implementation manner,
  • the obtaining unit is further configured to obtain a characterization parameter of the number of times the data block to be adjusted is accessed, where the characterization parameter of the number of times of access is the number of times the data block to be adjusted is accessed within a preset time period;
  • the second determining unit is further configured to determine to increase or decrease the number of backups of the to-be-adjusted data block according to the characterization parameter of the accessed times.
  • the second determining unit is configured to: when the characterization parameter of the accessed times meets increasing the backup of the to-be-adjusted data block a quantity of conditions, selecting a new backup computing node among the remaining computing nodes other than the first N available computing nodes, and adding a backup under the new backup computing node, the new backup computing node Sorting the first most affected number of available computing nodes for the most influential application capability value in the remaining computing nodes.
  • the second determining unit is configured to: when the characterization parameter of the accessed times meets reducing the backup of the to-be-adjusted data block And determining, by the quantity condition, a second preset number of computing nodes having the least affected application capability value among the top N available computing nodes, and deleting the second preset number of computing nodes The data block to be adjusted, the second preset quantity is less than N.
  • a third aspect of the present invention provides a master node device, including: an input device, an output device, a memory, and a processor,
  • the processor is configured to perform the following steps:
  • the data block to be adjusted is backed up to the determined first N available computing nodes.
  • a fourth aspect of the present invention provides a Hadoop cluster system, including: a master node device and multiple computing nodes;
  • the plurality of computing nodes are configured to store data blocks to be adjusted and process the data blocks to be adjusted; the master node device is configured to obtain various application capability values of each computing node, and determine the various application capabilities.
  • the first N available computing nodes with the strongest application capability value in the point are backed up, and the data block to be adjusted is backed up to the determined first N available computing nodes.
  • the embodiment of the present invention determines the application capability of each of the various application capabilities that has the greatest impact on the processing efficiency of the data block to be adjusted, and the number of backups of the to-be-adjusted data block.
  • N the N is an integer greater than 1, determining the top N available computing nodes with the strongest application capability value in each of the computing nodes, and backing up the to-be-adjusted data block to the determined The first N available compute nodes.
  • the method provided by the embodiment of the present invention can back up the data block to the computing node having the strongest capability for processing the data block. , thereby improving the efficiency of data processing.
  • FIG. 1 is a schematic diagram of an embodiment of a method for backing up data in an embodiment of the present invention
  • FIG. 2 is a schematic diagram of another embodiment of a method for backing up data in an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of an embodiment of an apparatus for controlling data backup in an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of another embodiment of an apparatus for controlling data backup in an embodiment of the present invention
  • FIG. 5 is a schematic diagram of another embodiment of an apparatus for controlling data backup in an embodiment of the present invention
  • Schematic diagram of an embodiment of the device
  • FIG. 7 is a schematic diagram of an embodiment of a cluster system according to an embodiment of the present invention.
  • the embodiment of the invention provides a data backup method in a Hadoop cluster, which can back up a data block to a computing node having the strongest capability for processing the data block, thereby improving the efficiency of data processing.
  • Embodiments of the present invention also provide corresponding devices and systems. The details are described below separately.
  • Hadoop is a distributed system infrastructure developed by the Apache Foundation. Users can take advantage of the power of Hadoop clusters for high-speed computing and storage.
  • Hadoop implements a distributed file system (Hdoop Distributed File System) called HDFS.
  • HDFS is highly fault tolerant and is designed to be deployed on low-cost hardware. And it provides high throughput to access application data, suitable for applications with large data sets.
  • an embodiment of a method for backing up data in a Hadoop cluster includes:
  • Applications can include applications such as calculations, input (Input, 1) / output (Output, 0), image processing, and streaming.
  • the calculation capability value and I/O capability value are used as examples:
  • the X can be determined by the architecture and model of the compute node. The newer the architecture, the newer model, and the faster the CPU, the larger the corresponding X value.
  • the number of cores, the size of the cache (Cache), the delay, the memory bus bandwidth, and the like can also be considered when the computing power value is obtained.
  • the I/O capability value Y of the compute node can be determined by Cache delay, memory delay, underlying storage access latency, and network 10 delay. Of course, factors such as Cache size and memory size can also be considered.
  • the capability parameters of various hardware may be expressed in the form of specific numerical values. Then, specific values are substituted according to a unified calculation rule, and a specific application capability value may be obtained, for example: The computing power value of a computing node is obtained by the specific value calculated by the hardware parameter. The calculated result is 0.95, then the computing power value of the computing node is 0.95, and the I/O capability value is also converted according to the hardware parameter. Method calculated, calculated I/O ability value It is 0.60.
  • the three backups are stored on three different computing nodes.
  • the three computing nodes respectively process the data block to be adjusted, and record the processing of the data block by each computing node.
  • Efficiency for example: processing time, the processing node with the shortest processing time has the greatest influence on the data block to be adjusted. If the computing power value of the various application capability values of the computing node with the shortest processing time is the largest, the computing application capability value is calculated.
  • the data block to be adjusted has the greatest impact.
  • the maximum computing power value can be determined according to the number of backups N.
  • the first N available computing nodes because some computing nodes may be overloaded, so even if the computing node has a large computing power value, it is not suitable to select the computing node to back up the data block to be adjusted.
  • the computing node with the overloaded load and the computing power value at the top N is excluded.
  • the embodiment of the present invention adopts acquiring various application capability values of each computing node, determining an application capability value that has the greatest influence on the processing efficiency of the data block to be adjusted in the various application capability values, and the data block to be adjusted.
  • the number of backups N is an integer greater than 1, determining the top N available computing nodes with the strongest application capability value in each of the computing nodes, and backing up the to-be-adjusted data block to the determined The first N available computing nodes.
  • the method provided by the embodiment of the present invention can back up the data block to the computing node having the strongest capability for processing the data block. , thereby improving the efficiency of data processing.
  • the determining, in the foregoing, the data to be adjusted in the various application capability values can include:
  • the data blocks to be adjusted that need to be backed up are pre-backuped to N pre-selected computing nodes, and the N pre-selected computing nodes respectively have one of the maximum application capability values of the various application capability values. ;
  • N when selecting a computing node, three computing nodes with the largest application capability value are selected according to a preset policy, for example: A computing node computing power value is in all computing nodes. The strongest, the I/O ability value of the B-computing node is the strongest among all the computing nodes, and the image processing capability value of the C-computing node is the strongest among all the computing nodes.
  • the weakest or weakest other power values of the A, B, and C computing nodes are the best, so that coupling and interference between different capability values can be avoided.
  • the application type is not limited to calculation, 1/0, image processing, but also other types, but the number of backups may be smaller than the application type, so only the number of compute nodes that need to be backed up is selected.
  • the data block to be adjusted is backed up to the determined one, according to the optional embodiment corresponding to FIG.
  • the first N available compute nodes can include:
  • the first N available computing nodes with the strongest computing power value may be determined, for example: determining the computing node A and calculating according to load balancing.
  • Node D and compute node E are the first three available compute nodes with the strongest computing power value, and the data block to be adjusted backed up on compute node B can be migrated to compute node D.
  • the data block to be adjusted on the computing node C is migrated to the computing node E.
  • the obtaining various types of each computing node is performed on the basis of the foregoing embodiment or the optional embodiment of FIG.
  • Application capability value which can include;
  • the hardware parameters of each computing node may include the architecture, model, core number, cache size, memory bus bandwidth, Cache delay, memory delay, underlying storage access delay, and network 10 of the compute node processor. Delay, etc.
  • each application capability value of each compute node can be calculated separately.
  • the obtaining various types of each computing node is performed on the basis of the foregoing embodiment or the optional embodiment of FIG.
  • the method may further include:
  • the global ordered node linked list is a computing node linked list sequentially arranged according to each of the application capability value values; correspondingly, the Determining the top N available computing nodes with the strongest application capability value in each of the computing nodes, including:
  • the top N available computing nodes having the strongest application capability value are searched for from the most influential application capability value in the global ordered node list.
  • the global ordered numbered node list records the computing nodes sorted according to the size of the application capability value for each application capability value. See Table 1 for an understanding of the global ordered node list: Table 1: Global ordered node list Computing application I/O application image processing application streaming application
  • the computing node A has the largest computing power value
  • the computing node B has the largest I/O capability value
  • the computing node C has the largest image processing capability value
  • the computing node D has the largest streaming media capability value.
  • determining the top N available computing nodes with the strongest application capability values corresponding to the most influential application capability value category for example: determining the top 3 computing nodes with the strongest computing power, it can be from Table 1. Find the compute nodes eight, B, and C directly.
  • Table 1 is only an example. In fact, there are many computing nodes in the cluster, and the application types are not limited to four in Table 1.
  • the determining the determining in each of the computing nodes is performed on the basis of the foregoing embodiment or the optional embodiment of FIG.
  • the top N available compute nodes with the strongest impact on the application value can include:
  • the load capability parameter may be the current load of the computing node, for example: 80%. If it is determined that the computing power values of the computing nodes A, B, and C have the greatest influence on the data block to be adjusted, but where the computing node C is If the load is too heavy, the load can be understood as: When the load of a computing node exceeds 70%, the load is considered too heavy. Of course, the definition of the specific overload can be preset, not limited to 70%. In this way, when the load of the computing node C is too heavy, the computing node D with the computing power value ranked fourth can be considered again. When the load of the computing node D is not excessive, the computing power value can be determined to be the strongest. The first three available compute nodes are 8, and 0, respectively.
  • the method may further include:
  • the application capability value that has the greatest influence on the processing efficiency of the data block to be adjusted is re-determined among the various application capability values.
  • the data to be adjusted is When the block is initially backed up, it is only backed up on the compute nodes A, B, and C.
  • the compute node D has the highest streaming media capability value. Therefore, when initially determining the application capability value that has the greatest impact on the adjusted data block, the streaming media capability value is not evaluated. The impact on the data block to be adjusted. In this way, it is necessary to migrate the data block to be adjusted to the computing node D, and re-evaluate whether the influence of the streaming media value on the data block to be adjusted is the largest.
  • the application capability value of the new computing node in the embodiment of the present invention satisfies the preset condition, and may be the first half of the global orderly node list of the computing node D in the streaming media capability value.
  • the data block to be adjusted is backed up to the determination according to the foregoing embodiment or the optional embodiment.
  • the method may further include:
  • Obtaining a characterization parameter of the number of times the data block to be adjusted is accessed, where the characterization parameter of the number of times of access is the number of times the data block to be adjusted is accessed within a preset time period;
  • the characterization parameter of the number of times of access may be the frequency of being accessed, or the density of the accessed, and the frequency of the access may be represented by the number of times accessed in the preset time period, and the density of the accessed may be It is expressed by the number of times the unit is accessed.
  • each data block is backed up by 3 copies, so that for a large amount of data blocks, the backup can be increased and adjusted to 4 or 5 copies. For data that requires less data, backups can be reduced, with only one or two copies backed up.
  • an optimized time window technique can be used to set the access density of the data block and the change threshold of the accessed frequency, for example 20%, when the accessed density is acquired twice in succession If the variation range of the access frequency is less than the threshold, then the time window sampling is temporarily stopped, and the sampling time is again sampled after the time T. If the variation still does not exceed the threshold, then wait for 2T time and then sample again, then wait for 4T time, wait 8T time, And so on. This effectively controls the sampling overhead.
  • the data blocks can be divided into four categories, namely the Hot class, the Normal class, the Cooled class, and the Cold class.
  • the preset range of the access frequency corresponding to the Cold class is [0, X)
  • the preset range of the access frequency corresponding to the Normal class is [ ⁇ , ⁇ )
  • the preset range of the access frequency corresponding to the Cooled class is [ ⁇ , ⁇ )
  • the preset range of the access frequency corresponding to the Hot class is [Z , R), where R > Z > Y > X > 0.
  • the number of backups needs to be increased to improve the availability of data and improve the response time of data processing.
  • the number of backups can be increased from 3 to 4 or 5 copies.
  • the Hot data block is degraded by the access density and the frequency of access, the number of backups of the current data block exceeds 3, and the number of backups of the data block needs to be reduced to the Normal level.
  • Data with low access density and frequency of access is required to reduce the number of backups and improve storage space utilization.
  • the number of copies can be 1 or 2 copies.
  • the data backup provided by the embodiment of the present invention is provided on the basis of the previous optional embodiment.
  • the determining, by the characterization parameter of the number of times of access, the increasing or decreasing the number of backups of the data block to be adjusted may include:
  • the new backup computing node sorting the first most applicable number of available computing nodes for the most influential application capability value in the remaining computing nodes.
  • increasing the number of data block backups for the data with the accessed density and the accessed frequency can improve the data availability and improve the response time of the data processing.
  • the calculation node is selected according to selecting a new backup computing node among the remaining computing nodes except the first N available computing nodes, and adding a backup under the new backup computing node.
  • the new backup computing node sorts the most influential application capability values in the remaining computing nodes by the first preset number of available computing nodes to ensure that the processing efficiency of the newly added data is still high.
  • the computing power value has the greatest impact on the data block
  • the data block has been backed up on the computing nodes A, B, and C. If the number of backups of the data block is to be increased to 5, the computing power of the nodes D and E is calculated. The value is ranked immediately after C in the order of computing power of all compute nodes, so when the load of compute nodes D and E is not overloaded, the data block can be backed up to compute node D and compute node E.
  • the determining, according to the characterization parameter of the accessed times, determining to increase or decrease the The number of backups of the data block to be adjusted may include:
  • the data block has been backed up on the computing nodes A, B, and C. If the number of backups of the data block is to be reduced to 1 copy, Retain the data block on compute node A, delete compute node 8 and (on the data block. This guarantees The remaining data blocks have the highest processing efficiency.
  • the master node device provided by the embodiment of the present invention can back up the data block to the computing with the strongest capability for processing the data block. On the node, which improves the efficiency of data processing.
  • rack A and rack B Take two racks in the cluster as examples, namely rack A and rack B.
  • compute nodes in rack A which are compute node A1, compute node A2, compute node A3, and compute node A4.
  • shelf B There are four computing nodes in shelf B: computing node B1, computing node B2, computing node B3, and computing node B4.
  • a global ordered node list is created.
  • the global ordered node list can be understood by referring to Table 2.
  • Table 2 Global ordered node list
  • Data block 1 is most affected by the computing power value
  • data block 2 is subject to the I/O capability value.
  • the impact is the biggest
  • the data block 3 is most affected by the image processing capability value
  • the data block 4 is the largest with the streaming media capability value image. If you want to back up the four data, you can back up two copies in one rack and another under the rack. Back up a backup plan, and assume that each compute node is under load balancing and there are no overloaded compute nodes.
  • the optimal backup scheme can be understood by referring to FIG. 2.
  • the data block 1 is backed up in the rack A, and when the rack B is backed up, the data is backed up on the computing nodes A1, B1, and A3.
  • Data block 2 is to be backed up in two copies on rack A. When one copy is taken on rack B, one data block 2 is backed up on compute nodes A3, B3 and 4.
  • Data block 3 is to be backed up on rack A. When two copies are backed up on rack B, one copy is made on compute nodes B2, A2, and B1, and data block 4 is backed up on rack A. When two copies are backed up on rack B, one data block 4 is backed up on compute nodes A4, B4, and B3.
  • the data block 1 can be The number of backups is increased to 4, and the number of backups of data block 4 is reduced to 2.
  • the computing power of the computing node B3 is the strongest compared with other computing nodes that do not store the data block 1.
  • a backup of the data block 1 can be added under the computing node B3 of the rack B.
  • the streaming media capability of the computing node A4 is weaker than that of the computing nodes B4 and B3, so the computing node can be deleted. Data block 4 under B3.
  • an embodiment of an apparatus for controlling data backup includes: an obtaining unit 201, configured to acquire various application capability values of each computing node; and a first determining unit 202, configured to determine The application capability value that has the greatest impact on the processing efficiency of the data block to be adjusted, and the number N of backups of the to-be-adjusted data block, the N is an integer greater than 1;
  • a second determining unit 203 configured to determine, in the each computing node, the first N available computing nodes that have the strongest application capability value determined by the first determining unit 202;
  • the scheduling unit 204 is configured to back up the to-be-adjusted data block to the top N available computing nodes determined by the second determining unit 203.
  • the obtaining unit 201 obtains an application capability value that has the greatest impact on the processing efficiency of the data processing adjustment data blocks of each computing node, and the number N of backups of the data block to be adjusted, where the N is An integer greater than 1, the second determining unit 203 determines the top N available computing nodes with the strongest application capability value determined by the first determining unit 202 in each computing node, and the scheduling unit 204 Determining the adjusted data block backup to the location determined by the second determining unit 203 Said on the top N available compute nodes.
  • the device provided by the embodiment of the present invention can back up the data block to the computing node having the strongest capability for processing the data block. , thereby improving the efficiency of data processing.
  • the first determining unit 202 includes:
  • the backup subunit 2021 is configured to pre-backup the to-be-adjusted data blocks that need to be backed up to N pre-selected computing nodes, where the N pre-selected computing nodes respectively have the various application capability values.
  • a recording sub-unit 2022 configured to record, when the N pre-selected computing nodes respectively process the to-be-adjusted data block backed up by the backup sub-unit 2021, record the N pre-selected computing nodes Describe the processing efficiency of the adjusted data block;
  • a determining sub-unit 2023 configured to determine, according to processing efficiency of the to-adjusted data block by each of the N pre-selected computing nodes recorded by the recording sub-unit 2022, determining a data block to be adjusted in the various application capability values
  • the processing efficiency affects the maximum application capability value.
  • the scheduling unit 204 is configured to migrate the to-be-adjusted data block from the N pre-selected computing nodes to the top N available computing nodes.
  • the acquiring unit 201 is configured to acquire hardware parameters of each of the computing nodes, and select, according to the preset correspondence between the various application capability values and the hardware parameters, the hardware parameters.
  • the hardware parameter corresponding to the application capability value is used to calculate the various application capability values.
  • the device further includes:
  • a table forming unit 205 configured to construct a global ordered node linked list according to the various application capability values acquired by the obtaining unit 201, where the global ordered node linked list is in accordance with each of the various application capability values.
  • the second determining unit 203 is configured to search for the most influential application capability value from the most influential application capability value in the global ordered node linked list established by the table forming unit 205. N available compute nodes.
  • the second determining unit 203 is configured to determine, according to the most affected application capability value and the load capability parameter of each computing node, that the most influential application capability value in each computing node is the strongest The first N available compute nodes.
  • the first determining unit 202 is further configured to re-determine an application capability value that has the greatest impact on the processing efficiency of the data block to be adjusted among the various application capability values.
  • the obtaining unit 201 is further configured to obtain a characterization parameter of the number of times the data block to be adjusted is accessed, where the characterization parameter of the number of times of access is the number of times the data block to be adjusted is accessed within a preset time period;
  • the second determining unit 203 is further configured to determine to increase or decrease the number of backups of the to-be-adjusted data block according to the characterization parameter of the accessed times.
  • the second determining unit 203 is configured to: when the characterization parameter of the accessed times meets a condition for increasing the number of backups of the to-be-adjusted data block, remaining calculations other than the first N available computing nodes Selecting a new backup computing node in the node, and adding a backup under the new backup computing node, where the new backup computing node is the most influential application capability value in the remaining computing node Sort the first available number of available compute nodes in the first.
  • the second determining unit 203 is configured to determine, when the characterization parameter of the accessed times meets a condition for reducing the number of backups of the to-be-adjusted data block, the application that is most affected among the first N available computing nodes. a second preset number of computing nodes having the smallest capability value, and deleting the to-be-adjusted data block under the second preset number of computing nodes, where the second preset quantity is less than
  • FIG. 6 is a schematic structural diagram of a master node device 200 according to an embodiment of the present invention.
  • the master node device 200 can include an input device 210, an output device 220, a processor 230, and a memory 240.
  • Memory 240 can include read only memory and random access memory and provides instructions and data to processor 230. A portion of memory 240 may also include non-volatile random access memory (NVRAM).
  • NVRAM non-volatile random access memory
  • Memory 240 stores the following elements, executable modules or data structures, or a subset thereof, or an extended set of them:
  • Operation instructions Includes various operation instructions for implementing various operations.
  • Operating System Includes a variety of system programs for implementing basic services and handling hardware-based tasks.
  • the processor 230 performs the following operations by calling an operation instruction stored in the memory 240 (the operation instruction can be stored in the operating system):
  • the data block to be adjusted is backed up to the determined first N available computing nodes.
  • the master node device 200 can back up the data block to the computing node having the strongest capability for processing the data block, thereby improving the efficiency of data processing.
  • the processor 230 controls the operation of the master node device 200, which may also be referred to as a CPU (Central Processing Unit).
  • Memory 240 can include read only memory and random access memory and provides instructions and data to processor 230. A portion of the memory 240 may also include non-easy Loss Random Access Memory (NVRAM).
  • NVRAM non-easy Loss Random Access Memory
  • the various components of the network device 20 are coupled together by a bus system 250.
  • the bus system 250 may include a power bus, a control bus, a status signal bus, and the like in addition to the data bus. However, for clarity of description, various buses are labeled as bus system 250 in the figure.
  • Processor 230 may be an integrated circuit chip with signal processing capabilities.
  • the instruction in the form of implementation is completed.
  • the processor 230 described above may be a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware. Component.
  • the methods, steps, and logic blocks disclosed in the embodiments of the present invention may be implemented or carried out.
  • the general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
  • the steps of the method disclosed in the embodiments of the present invention may be directly implemented as a hardware decoding processor, or may be performed by a combination of hardware and software modules in a decoding processor.
  • the software modules can be located in a conventional storage medium such as random access memory, flash memory, read only memory, programmable read only memory or electrically erasable programmable memory, registers, and the like.
  • the storage medium is located in the memory 240, and the processor 230 reads the information in the memory 240 and combines the hardware to perform the steps of the above method.
  • the processor 230 is configured to pre-backup the to-be-adjusted data blocks that need to be backed up to N pre-selected computing nodes, where the N pre-selected computing nodes respectively have the various application capabilities.
  • a value of the maximum application capability value when the N pre-selected computing nodes respectively process the to-be-adjusted data block, record the N pre-selected computing nodes to each of the to-be-adjusted data blocks
  • the processing efficiency determines the application capability value that has the greatest influence on the processing efficiency of the data block to be adjusted among the various application capability values according to the processing efficiency of the N pre-selected computing nodes.
  • the processor 230 is configured to migrate the to-be-adjusted data block from the N pre-selected computing nodes to the top N available computing nodes.
  • the processor 230 is configured to acquire hardware parameters of each of the computing nodes, and select, according to the preset correspondence between the various application capability values and the hardware parameters, the hardware parameters.
  • the hardware parameters corresponding to the various application capability values are described, and the various application capability values are calculated.
  • the processor 230 is configured to construct a global ordered node linked list according to the various application capability values, where the global ordered node linked list is sequentially arranged according to each of the application capability value values. Calculating a node linked list, and searching for the top N available computing nodes with the strongest application capability value from the most influential application capability value in the global ordered node linked list.
  • the processor 230 is configured to determine, according to the most affected application capability value and the load capability parameter of each computing node, the most influential application capability value in each computing node. N available compute nodes.
  • the processor 230 is configured to: when the first N available computing nodes include a new computing node that has not stored the to-be-adjusted data block, and when determining the maximum application capability value, does not consider The application capability value of the new computing node is determined, and when the application capability value satisfies the preset condition, the application capability that has the greatest influence on the processing efficiency of the data block to be adjusted is newly determined among the various application capability values. value.
  • the processor 230 is further configured to obtain a characterization parameter of the number of times the data block to be adjusted is accessed, where the characterization parameter of the number of times of access is the number of times the data block to be adjusted is accessed within a preset time period, And determining, according to the characterization parameter of the accessed times, increasing or decreasing the number of backups of the to-be-adjusted data block.
  • the processor 230 is configured to: when the characterization parameter of the accessed times meets a condition for increasing the number of backups of the to-be-adjusted data block, remaining computing nodes except the first N available computing nodes Selecting a new backup computing node, and adding a backup under the new backup computing node, where the new backup computing node sorts the most influential application capability value in the remaining computing node in the first first preset The number of available compute nodes.
  • the processor 230 is configured to determine, when the characterization parameter of the accessed times meets a condition for reducing the number of backups of the to-be-adjusted data block, the application capability that is the most influential among the top N available computing nodes. And a second preset number of computing nodes having the smallest value, and deleting the to-be-adjusted data block under the second preset number of computing nodes, where the second preset quantity is less than N.
  • an embodiment of a Hadoop cluster system provided by an embodiment of the present invention includes a master node device 200 and a plurality of computing nodes 300, and a master node device 200 and a plurality of computing nodes 300 are communicatively connected. Only four computing nodes 300 are drawn, and in fact there may be more than one.
  • the plurality of computing nodes 300 are configured to store data blocks to be adjusted and process the data blocks to be adjusted; the master node device 200 is configured to acquire various application capability values of each computing node, and determine the various types.
  • the first available computing nodes with the strongest application capability value are backed up, and the data block to be adjusted is backed up to the determined first available computing nodes.
  • the program may be stored in a computer readable storage medium, and the storage medium may include: ROM, RAM, disk or CD, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种Hadoop集群中数据备份的方法,包括:获取每个计算节点所具有的各种应用能力值,确定所述各种应用能力值中对待调整数据块的处理效率影响最大的应用能力值,以及所述待调整数据块的备份数量N,所述N为大于1的整数,确定所述每个计算节点中所述影响最大的应用能力值最强的前N个可用计算节点,将所述待调整数据块备份到确定的所述前N个可用计算节点上。本发明实施例提供的方法,可以将数据块备份到处理该数据块能力最强的计算节点上,从而提高了数据处理的效率。

Description

一种 Hadoop集群中数据备份的方法、 设备及系统 技术领域
本发明涉及数据存储领域,具体涉及一种 Hadoop集群中数据备份的方法、 设备及系统。
背景技术
Hadoop集群的基础是分布式文件系统( Hadoop Distributed File System, HDFS )。在现有的 HDFS中每个数据块通常都有 3个副本,数据块副本的放置 位置对于 Hadoop集群的可靠性和性能来说至关重要。
现有 Hadoop集群的数据块副本备份策略是为每个数据块保存 3个副本: 第一个副本在当前请求所在的计算节点,第二个副本保存在与当前计算节点不 在同一机架的另一机架中的一个计算节点上,第三个副本在当前请求所在的计 算节点所在机架的另一个节点上。 具体选择的节点由负载均衡机制确定。
本发明的发明人发现, 现有 Hadoop集群的数据块副本备份策略没有充分 考虑计算节点间异构的情况, 无法充分最优化利用各个计算节点的处理能力, 数据块并没有备份到处理该数据块能力最强的计算节点上。
发明内容
本发明实施例提供一种 Hadoop集群中数据备份的方法, 可以将数据块备 份到处理该数据块能力最强的计算节点上,从而提高了数据处理的效率。本发 明实施例还提供了相应的设备及系统。
本发明第一方面提供一种 Hadoop集群中数据备份的方法, 包括: 获取每个计算节点所具有的各种应用能力值;
确定所述各种应用能力值中对待调整数据块的处理效率影响最大的应用 能力值, 以及所述待调整数据块的备份数量 N, 所述 N为大于 1的整数;
确定所述每个计算节点中所述影响最大的应用能力值最强的前 N个可用 计算节点;
将所述待调整数据块备份到确定的所述前 N个可用计算节点上。
结合第一方面,在第一种可能的实现方式中, 所述确定所述各种应用能力 值中对待调整数据块的处理效率影响最大的应用能力值, 包括:
将需要备份 N份的所述待调整数据块预先备份到 N个预选择的计算节点 上, 所述 N个预选择的计算节点分別具有所述各种应用能力值中一种最大的应 用能力值;
在所述 N个预选择的计算节点分別对所述待调整数据块进行处理时, 记录 所述 N个预选择的计算节点各自对所述待调整数据块的处理效率;
根据所述 N个预选择的计算节点各自对所述待调整数据块的处理效率, 确 定所述各种应用能力值中对待调整数据块的处理效率影响最大的应用能力值。
结合第一方面第一种可能的实现方式, 在第二种可能的实现方式中, 所述 将所述待调整数据块备份到确定的所述前 N个可用计算节点上, 包括:
将所述待调整数据块, 从所述 N个预选择的计算节点迁移备份到所述前 N 个可用计算节点。
结合第一方面、第一方面第一种或第二种可能的实现方式,在第三种可能 的实现方式中, 所述获取每个计算节点所具有的各种应用能力值, 包括; 获取所述每个计算节点的硬件参数;
根据预置的所述各种应用能力值与所述硬件参数的对应关系,从所述硬件 参数中选择与所述各种应用能力值对应的硬件参数, 计算所述各种应用能力 值。
结合第一方面、 第一方面第一种至第三种可能的实现方式中的任意一种, 在第四种可能的实现方式中,所述获取每个计算节点所具有的各种应用能力值 之后, 所述方法还包括:
根据所述各种应用能力值构建全局有序节点链表,所述全局有序节点链表 为按照所述各种应用能力值中每种应用能力值大小顺序排列的计算节点链表; 对应的,所述确定所述每个计算节点中所述影响最大的应用能力值最强的 前 N个可用计算节点, 包括:
从所述全局有序节点链表中所述影响最大的应用能力值下,查找所述影响 最大的应用能力值最强的前 N个可用计算节点。
结合第一方面、 第一方面第一种至第四种可能的实现方式中的任意一种, 在第五种可能的实现方式中,所述确定所述每个计算节点中所述影响最大的应 用能力值最强的前 N个可用计算节点, 包括:
根据所述影响最大的应用能力值和所述每个计算节点的负载能力参数,确 定所述每个计算节点中所述影响最大的应用能力值最强的前 N个可用计算节 点。
结合第一方面、 第一方面第一种至第五种可能的实现方式中的任意一种, 在第六种可能的实现方式中, 当所述前 N个可用计算节点中包含从未存放过所 述待调整数据块的新计算节点,且在确定所述最大的应用能力值时, 未考虑所 述新计算节点所具有的一种应用能力值,而且所述一种应用能力值满足预置条 件时, 所述方法还包括:
重新确定所述各种应用能力值中,对待调整数据块的处理效率影响最大的 应用能力值。
结合第一方面、 第一方面第一种至第六种可能的实现方式中的任意一种, 在第七种可能的实现方式中, 所述将所述待调整数据块备份到确定的所述前 N 个可用计算节点上之后, 所述方法还包括:
获取所述待调整数据块被访问次数的表征参数,所述被访问次数的表征参 数为所述待调整数据块在预置时间段内被访问的次数;
根据所述被访问次数的表征参数,确定增加或减少所述待调整数据块的备 份数量。
结合第一方面第七种可能的实现方式, 在第八种可能的实现方式中, 所述 根据所述被访问次数的表征参数,确定增加或减少所述待调整数据块的备份数 量, 包括:
当所述被访问次数的表征参数满足增加所述待调整数据块的备份数量的 条件时, 在除出所述前 N个可用计算节点之外的剩余计算节点中选择新的备份 计算节点, 并在所述新的备份计算节点下增加备份, 所述新的备份计算节点为 所述剩余计算节点中所述影响最大的应用能力值排序在前第一预置数量的可 用计算节点。
结合第一方面第七种可能的实现方式, 在第九种可能的实现方式中, 所述 根据所述被访问次数的表征参数,确定增加或减少所述待调整数据块的备份数 量, 包括:
当所述被访问次数的表征参数满足减少所述待调整数据块的备份数量的 条件时, 确定所述前 N个可用计算节点中所述影响最大的应用能力值最小的第 二预置数量的计算节点,并删除所述第二预置数量的计算节点下的所述待调整 数据块, 所述第二预置数量小于^
本发明第二方面提供一种控制数据备份的设备, 包括:
获取单元, 用于获取每个计算节点所具有的各种应用能力值;
第一确定单元,用于确定所述获取单元获取的所述各种应用能力值中对待 调整数据块的处理效率影响最大的应用能力值,以及所述待调整数据块的备份 数量 N, 所述 N为大于 1的整数;
第二确定单元,用于确定所述每个计算节点中所述第一确定单元确定的所 述影响最大的应用能力值最强的前 N个可用计算节点;
调度单元,用于将所述待调整数据块备份到所述第二确定单元确定的所述 前 N个可用计算节点上。
结合第二方面, 在第一种可能的实现方式中, 所述第一确定单元包括: 备份子单元, 用于将需要备份 N份的所述待调整数据块预先备份到 N个预 选择的计算节点上, 所述 N个预选择的计算节点分別具有所述各种应用能力值 中一种最大的应用能力值;
记录子单元, 用于在所述 N个预选择的计算节点分別对所述备份子单元备 份的所述待调整数据块进行处理时, 记录所述 N个预选择的计算节点各自对所 述待调整数据块的处理效率;
确定子单元, 用于根据所述记录子单元记录的所述 N个预选择的计算节点 各自对所述待调整数据块的处理效率,确定所述各种应用能力值中对待调整数 据块的处理效率影响最大的应用能力值。
结合第二方面第一种可能的实现方式, 在第二种可能的实现方式中, 所述调度单元, 用于将所述待调整数据块, 从所述 N个预选择的计算节点 迁移备份到所述前 N个可用计算节点。 结合第二方面、第二方面第一种或第二种可能的实现方式,在第三种可能 的实现方式中,
所述获取单元, 用于获取所述每个计算节点的硬件参数,根据预置的所述 各种应用能力值与所述硬件参数的对应关系,从所述硬件参数中选择与所述各 种应用能力值对应的硬件参数, 计算所述各种应用能力值。
结合第二方面、 第二方面第一种至第三种可能的实现方式中的任意一种, 在第四种可能的实现方式中, 所述设备还包括:
建表单元,用于根据所述获取单元获取的所述各种应用能力值构建全局有 序节点链表,所述全局有序节点链表为按照所述各种应用能力值中每种应用能 力值大小顺序排列的计算节点链表;
所述第二确定单元,用于从所述建表单元建立的所述全局有序节点链表中 所述影响最大的应用能力值下, 查找所述影响最大的应用能力值最强的前 N个 可用计算节点。
结合第二方面、 第二方面第一种至第四种可能的实现方式中的任意一种, 所述第二确定单元,用于根据所述影响最大的应用能力值和所述每个计算 节点的负载能力参数,确定所述每个计算节点中所述影响最大的应用能力值最 强的前 N个可用计算节点。
结合第二方面、 第二方面第一种至第五种可能的实现方式中的任意一种, 在第六种可能的实现方式中, 当所述前 N个可用计算节点中包含从未存放过所 述待调整数据块的新计算节点,且在确定所述最大的应用能力值时, 未考虑所 述新计算节点所具有的一种应用能力值,而且所述一种应用能力值满足预置条 件时, 所述方法还包括:
所述第一确定单元,还用于重新确定所述各种应用能力值中,对待调整数 据块的处理效率影响最大的应用能力值。
结合第二方面、 第二方面第一种至第六种可能的实现方式中的任意一种, 在第七种可能的实现方式中,
所述获取单元,还用于获取所述待调整数据块被访问次数的表征参数, 所 述被访问次数的表征参数为所述待调整数据块在预置时间段内被访问的次数; 所述第二确定单元,还用于根据所述被访问次数的表征参数,确定增加或 减少所述待调整数据块的备份数量。
结合第二方面第七种可能的实现方式, 在第八种可能的实现方式中, 所述第二确定单元,用于当所述被访问次数的表征参数满足增加所述待调 整数据块的备份数量的条件时, 在除出所述前 N个可用计算节点之外的剩余计 算节点中选择新的备份计算节点, 并在所述新的备份计算节点下增加备份, 所 述新的备份计算节点为所述剩余计算节点中所述影响最大的应用能力值排序 在前第一预置数量的可用计算节点。
结合第二方面第七种可能的实现方式, 在第九种可能的实现方式中, 所述第二确定单元,用于当所述被访问次数的表征参数满足减少所述待调 整数据块的备份数量的条件时, 确定所述前 N个可用计算节点中所述影响最大 的应用能力值最小的第二预置数量的计算节点,并删除所述第二预置数量的计 算节点下的所述待调整数据块, 所述第二预置数量小于 N。
本发明第三方面提供一种主节点设备, 包括: 输入设备、 输出设备、 存储 器和处理器,
其中, 所述处理器用于执行如下步骤:
获取每个计算节点所具有的各种应用能力值;
确定所述各种应用能力值中对待调整数据块的处理效率影响最大的应用 能力值, 以及所述待调整数据块的备份数量 N, 所述 N为大于 1的整数;
确定所述每个计算节点中所述影响最大的应用能力值最强的前 N个可用 计算节点;
将所述待调整数据块备份到确定的所述前 N个可用计算节点上。
本发明第四方面提供一种 Hadoop集群系统, 包括: 主节点设备和多个计 算节点;
所述多个计算节点用于存储待调整数据块和处理所述待调整数据块; 所述主节点设备用于获取每个计算节点所具有的各种应用能力值,确定所 述各种应用能力值中对待调整数据块的处理效率影响最大的应用能力值,以及 所述待调整数据块的备份数量 N, 所述 N为大于 1的整数, 确定所述每个计算节 点中所述影响最大的应用能力值最强的前 N个可用计算节点, 将所述待调整数 据块备份到确定的所述前 N个可用计算节点上。
本发明实施例采用获取每个计算节点所具有的各种应用能力值,确定所述 各种应用能力中对待调整数据块的处理效率影响最大的应用能力,以及所述待 调整数据块的备份数量 N, 所述 N为大于 1的整数, 确定所述每个计算节点中所 述影响最大的应用能力值最强的前 N个可用计算节点, 将所述待调整数据块备 份到确定的所述前 N个可用计算节点上。 与现有技术中数据块并没有备份到处 理该数据块能力最强的计算节点上相比, 本发明实施例提供的方法, 可以将数 据块备份到处理该数据块能力最强的计算节点上, 从而提高了数据处理的效 率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所 需要使用的附图作筒单地介绍,显而易见地, 下面描述中的附图仅仅是本发明 的一些实施例, 对于本领域技术人员来讲, 在不付出创造性劳动的前提下, 还 可以根据这些附图获得其他的附图。
图 1是本发明实施例中数据备份的方法的一实施例示意图;
图 2是本发明实施例中数据备份的方法的另一实施例示意图;
图 3是本发明实施例中控制数据备份的设备的一实施例示意图;
图 4是本发明实施例中控制数据备份的设备的另一实施例示意图; 图 5是本发明实施例中控制数据备份的设备的另一实施例示意图; 图 6是本发明实施例中主节点设备的一实施例示意图;
图 7是本发明实施例中集群系统的一实施例示意图。
具体实施方式
本发明实施例提供一种 Hadoop集群中数据备份的方法, 可以将数据块备 份到处理该数据块能力最强的计算节点上,从而提高了数据处理的效率。本发 明实施例还提供了相应的设备及系统。 以下分別进行详细说明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是 全部的实施例。基于本发明中的实施例, 本领域技术人员在没有作出创造性劳 动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
Hadoop是一个分布式系统基础架构, 由 Apache基金会所开发。 用户可以 充分利用 Hadoop集群的威力高速运算和存储。 Hadoop实现了一个分布式文件 系统( Hadoop Distributed File System ) , 筒称 HDFS。 HDFS有着高容错性的特 点,并且设计用来部署在低廉的(low-cost )硬件上。而且它提供高传输率(high throughput )来访问应用程序的数据, 适合那些有着超大数据集( large data set ) 的应用程序。
参阅图 1 , 本发明实施例提供的 Hadoop集群中数据备份的方法的一实施例 包括:
101、 获取每个计算节点所具有的各种应用能力值。
各种应用可以包括为计算、 输入(Input, 1 ) /输出 (Output, 0 )、 图像处 理和流媒体等应用。
各种应用能力值可以通过下面的方式获取:
以计算能力值和 I/O能力值为例进行说明:
获取每个计算节点的计算能力值一一 X
X可以由计算节点的架构、 型号确定来确定, 架构、 型号越新、 速度越快 的 CPU, 对应的 X值越大。
当然,获取每个计算节点的计算能力值时还可以有次计算能力值时还可以 考虑核心数、 緩存(Cache ) 大小、 延迟、 内存总线带宽等。
获取每个计算节点的 I/O能力值一一 Y
计算节点的 I/O能力值 Y可以由 Cache延迟、 内存延迟、底层存储访问延迟、 网络 10延迟确定, 当然, 还可以考虑 Cache大小、 内存大小等因素。
关于各种应用能力值的获取,可以是将各种硬件的能力参数以具体数值的 形式表示出来, 然后, 按照统一的计算规则将具体数值代入, 可以求出一个具 体的应用能力值, 例如: 一个计算节点的计算能力值通过硬件参数折算出的具 体数值得到, 计算的结果为 0.95 , 那么该计算节点的计算能力值就为 0.95 , I/O 能力值也按这种硬件参数折算具体数值的方法计算得到, 计算出的 I/O能力值 为 0.60。
102、 确定所述各种应用能力值中对待调整数据块的处理效率影响最大的 应用能力值, 以及所述待调整数据块的备份数量 N, 所述 N为大于 1的整数。
例如: 待调整数据块有 3个备份, 这 3个备份分別存储在三个不同的计算节 点上, 这三个计算节点分別处理该待调整数据块,记录每个计算节点对该数据 块的处理效率, 例如: 处理时间, 处理时间最短的计算节点对该待调整数据块 影响最大,如果该处理时间最短的计算节点的各种应用能力值中计算能力值最 大, 则说明计算应用能力值对该待调整数据块影响最大。
103、 确定所述每个计算节点中所述影响最大的应用能力值最强的前 N个 可用计算节点。
因为在步骤 101中已经计算出了每个计算节点的各种应用能力值, 所以在 确定出计算能力值对所述待调整数据块影响最大时, 就可以根据备份数量 N确 定计算能力值最大的前 N个可用计算节点, 因为有的计算节点可能负载过重, 这样, 即使该计算节点的计算能力值很大,也不适合再选择该计算节点备份待 调整数据块。
也就是说, 在确定计算能力值最大的前 N个可用计算节点时, 要先排除负 载过重, 但计算能力值又在前 N的计算节点。
104、 将所述待调整数据块备份到确定的所述前 N个可用计算节点上。 本发明实施例采用获取每个计算节点所具有的各种应用能力值,确定所述 各种应用能力值中对待调整数据块的处理效率影响最大的应用能力值,以及所 述待调整数据块的备份数量 N, 所述 N为大于 1的整数, 确定所述每个计算节点 中所述影响最大的应用能力值最强的前 N个可用计算节点, 将所述待调整数据 块备份到确定的所述前 N个可用计算节点上。 与现有技术中数据块并没有备份 到处理该数据块能力最强的计算节点上相比, 本发明实施例提供的方法, 可以 将数据块备份到处理该数据块能力最强的计算节点上,从而提高了数据处理的 效率。
可选地, 在上述图 1对应的实施例的基础上, 本发明实施例提供的数据备 份的方法的另一实施例中,所述确定所述各种应用能力值中对待调整数据块的 处理效率影响最大的应用能力值, 可以包括:
将需要备份 N份的所述待调整数据块预先备份到 N个预选择的计算节点 上, 所述 N个预选择的计算节点分別具有所述各种应用能力值中一种最大的应 用能力值;
在所述 N个预选择的计算节点分別对所述待调整数据块进行处理时, 记录 所述 N个预选择的计算节点各自对所述待调整数据块的处理效率;
根据所述 N个预选择的计算节点各自对所述待调整数据块的处理效率, 确 定所述各种应用能力值中对待调整数据块的处理效率影响最大的应用能力值。 本发明实施例中, 以 N取 3为例, 在选择计算节点时, 按照预置的策略选择三 个不同应用能力值最大的计算节点, 例如: A计算节点的计算能力值在所有计 算节点中最强, B计算节点的 I/O能力值在所有计算节点中最强, C计算节点的 图像处理能力值在所有计算节点中最强。 同时 A、 B、 C计算节点的其他能力值 最弱或较弱是最好的, 这样可以避免可种不同能力值之间的耦合和干扰。
当然, 应用类型不限于计算、 1/0、 图像处理, 还可以有其他类型, 但需 要备份的数量可能会小于应用类型, 所以只会选择需要备份数量的计算节点。
在 、 B、 C三个计算节点分別对待调整数据块进行处理时, 记录 A、 B、 C 三个计算节点处理该待调整数据块的时间, 例如: 记录的结果是 A计算节点处 理待调整数据块最快, 用时最短, 则可以确定计算应用能力值对该待调整数据 块影响最大。
可选地, 在上述图 1对应的可选实施例的基础上, 本发明实施例提供的数 据备份的方法的另一实施例中,所述将所述待调整数据块备份到确定的所述前 N个可用计算节点上, 可以包括:
将所述待调整数据块, 从所述 N个预选择的计算节点迁移备份到所述前 N 个可用计算节点。
本发明实施例中, 在确定出计算应用能力值对待调整数据块影响最大时, 可以确定计算能力值最强的前 N个可用计算节点, 例如: 考虑到负载均衡, 确 定出计算节点 A、 计算节点 D和计算节点 E为计算能力值最强的前 3个可用计算 节点, 则可以将备份在计算节点 B上的待调整数据块迁移到计算节点 D上, 将 计算节点 C上的待调整数据块迁移到计算节点 E上。
可选地, 在上述图 1对应的实施例或可选实施例的基础上, 本发明实施例 提供的数据备份的方法的另一实施例中,所述获取每个计算节点所具有的各种 应用能力值, 可以包括;
获取所述每个计算节点的硬件参数;
根据预置的所述各种应用能力值与所述硬件参数的对应关系,从所述硬件 参数中选择与所述各种应用能力值对应的硬件参数, 计算所述各种应用能力 值。
本发明实施例中 ,每个计算节点的硬件参数可以包括计算节点处理器的架 构、 型号、 核心数、 緩存(Cache ) 大小、 内存总线带宽、 Cache延迟、 内存延 迟、 底层存储访问延迟、 网络 10延迟等。
例如: 计算能力值可以由计算节点的架构、 型号来确定, 则可以选择算节 点的架构、 型号的硬件参数, 例如: 计算节点的架构参数为 0.8, 型号的硬件 参数为 0.7,计算能力值与硬件参数的对应关系为: X =a*架构参数 +b*型号参数, a和 b分別为权重系数, 当 a=0.7, b=0.5时, 可以计算出 X=0.91。
按照这种方式, 可以分別计算出每个计算节点的各应用能力值。
可选地, 在上述图 1对应的实施例或可选实施例的基础上, 本发明实施例 提供的数据备份的方法的另一实施例中,所述获取每个计算节点所具有的各种 应用能力值之后, 所述方法还可以包括:
根据所述各种应用能力值构建全局有序节点链表,所述全局有序节点链表 为按照所述各种应用能力值中每种应用能力值大小顺序排列的计算节点链表; 对应的,所述确定所述每个计算节点中所述影响最大的应用能力值最强的 前 N个可用计算节点, 包括:
从所述全局有序节点链表中所述影响最大的应用能力值下,查找所述影响 最大的应用能力值最强的前 N个可用计算节点。
本发明实施例中,全局有序节点链表中记录了每种应用能力值下按照该应 用能力值的大小排序的计算节点。可以参阅表 1对全局有序节点链表进行理解: 表 1 : 全局有序节点链表 计算应用 I/O应用 图像处理应用 流媒体应用
A B C D
B C A A
C D B E
D A E B
E E D C
从表 1中可以获知, 计算节点 A的计算能力值最大, 计算节点 B的 I/O能力 值最大, 计算节点 C的图像处理能力值最大, 计算节点 D的流媒体能力值最大。
这样,在确定与所述影响最大的应用能力值类別对应的应用能力值最强的 前 N个可用计算节点时, 例如: 确定计算能力最强的前 3个计算节点, 就可以 从表 1中直接查找到计算节点八、 B、 C。
当然表 1中只是举例说明, 实际上集群中会有很多个计算节点, 应用类型 也不限于表 1中的 4个。
可选地, 在上述图 1对应的实施例或可选实施例的基础上, 本发明实施例 提供的数据备份的方法的另一实施例中,所述确定所述每个计算节点中所述影 响最大的应用能力值最强的前 N个可用计算节点, 可以包括:
根据所述影响最大的应用能力值和所述每个计算节点的负载能力参数,确 定所述每个计算节点中所述影响最大的应用能力值最强的前 N个可用计算节 点。
本发明实施例中, 负载能力参数可以是计算节点目前的负载量, 例如: 80%, 如果确定出计算节点 A、 B、 C的计算能力值对待调整数据块影响最大, 但其中计算节点 C的负载过重, 负载过重可以理解为: 一个计算节点的负载量 超过 70%时, 就认为负载过重, 当然, 具体负载过重的定义可以预先设置, 不 限定为是 70%。 这样, 当计算节点 C的负载过重时, 则可以再考虑计算能力值 排在第四位的计算节点 D, 当计算节点 D的负载没有过重时, 则可以确定出计 算能力值最强的前 3个可用计算节点分別为 、 8和0。
可选地, 在上述图 1对应的实施例或可选实施例的基础上, 本发明实施例 提供的数据备份的方法的另一实施例中, 当所述前 N个可用计算节点中包含从 未存放过所述待调整数据块的新计算节点, 且在确定所述最大的应用能力值 时, 未考虑所述新计算节点所具有的一种应用能力值, 而且所述一种应用能力 值满足预置条件时, 所述方法还可以包括:
重新确定所述各种应用能力值中,对待调整数据块的处理效率影响最大的 应用能力值。
本发明实施例中,当确定的对待调整数据块影响最大的应用能力值为计算 能力值, 而且计算能力值排在前 3个的可用计算节点分別为 A、 B和 D, 在该待 调整数据块最初备份时, 只备份在了计算节点 A、 B、 C上, 计算节点 D的流媒 体能力值最大, 所以, 最初判断对待调整数据块影响最大的应用能力值时, 没 有评估流媒体能力值对该待调整数据块的影响。这样, 就需要将待调整数据块 迁移到计算节点 D上, 重新评估一下流媒体能力值对待调整数据块的影响是否 是最大的。
对于,本发明实施例中的所述新计算节点所具有的一种应用能力值满足预 置条件可以为计算节点 D在流媒体能力值全局有序节点链表的前半部分。
可选地, 在上述图 1对应的实施例或可选实施例的基础上, 本发明实施例 提供的数据备份的方法的另一实施例中,所述将所述待调整数据块备份到确定 的所述前 N个可用计算节点上之后, 所述方法还可以包括:
获取所述待调整数据块被访问次数的表征参数,所述被访问次数的表征参 数为所述待调整数据块在预置时间段内被访问的次数;
根据所述被访问次数的表征参数,确定增加或减少所述待调整数据块的备 份数量。
本发明实施例中,被访问次数的表征参数可以为被访问的频率,也可以为 被访问的密度,被访问频度可以用预置时间段内被访问的次数来表示,被访问 的密度可以用单位时间内被访问的次数来表示。
当一个数据块频繁被访问时,说明对该数据块的需求量较大, 可以增加该 数据块的备份数量, 当一个数据块很久没有被访问时,说明对该数据块的需求 很小, 可以减少该数据块的备份数量, 例如: 在初始状态, 每个数据块都备份 3份, 这样, 对于需求量大的数据块, 就可以增加备份, 调整到备份 4份或 5份, 对于需求量少的数据, 就可以减少备份, 只备份 1份或者 2份。 这样针对需求量 大的数据块增加备份数量可以提升数据的可用性, 进而提升数据处理响应时 间,针对需求量小的数据块减少备份数量, 既不会影响数据的可用性与数据的 处理响应时间, 还可以提高存储空间利用率。
对于监控数据块被访问的频度和密度可以采用优化时间窗技术,设置一个 数据块的被访问密度与被访问频度的变化阈值, 例如 20% , 当连续两次获取的 被访问密度与被访问频度的变化范围小于阈值, 那么, 暂时停止时间窗采样, 等待时间 T之后再次采样, 如果变化量仍然不超过阈值, 那么等待 2T时间之后 再次采样, 然后是等待 4T时间、 等待 8T时间, 以此类推。 这样可以有效控制 采样开销。
根据统计结果, 将可以数据块分为四种类別, 分別为 Hot类、 Normal类、 Cooled类和 Cold类。 其中, Cold类对应的访问频度的预置范围为 [0,X), Normal 类对应的访问频度的预置范围为 [Χ ,Υ) , Cooled类对应的访问频度的预置范围 为 [Υ ,Ζ) , Hot类对应的访问频度的预置范围为 [Z ,R), 其中, R > Z > Y > X > 0。
Hot类:
数据访问密度与访问频度都超过阈值的数据,需要增加备份数量来提高数 据的可用性以及提升数据处理的响应时间,可以将备份数量由 3份增加到 4份或 5份。
Normal类:
刚创建的数据默认的类別, 一般备份数量为 3份。
Cooled类:
Hot数据块被访问密度与被访问频度下降后, 当前数据块的备份数超过 3 份, 需要减少数据块的备份数到 Normal水平。
Cold类:
数据被访问密度与被访问频度都很低的数据, 需要减少备份数,提高存储 空间利用率。 对此类数据, 副本数可以为 1份或 2份。
可选地,在上一个可选实施例的基础上, 本发明实施例提供的数据备份的 方法的另一实施例中, 所述根据所述被访问次数的表征参数,确定增加或减少 所述待调整数据块的备份数量, 可以包括:
当所述被访问次数的表征参数满足增加所述待调整数据块的备份数量的 条件时, 在除出所述前 N个可用计算节点之外的剩余计算节点中选择新的备份 计算节点, 并在所述新的备份计算节点下增加备份, 所述新的备份计算节点为 所述剩余计算节点中所述影响最大的应用能力值排序在前第一预置数量的可 用计算节点。
本发明实施例中,针对被访问密度与被访问频度大的数据,增加数据块备 份数量可以提高数据可用性, 提升数据处理的响应时间。 增加备份数量时, 选 择计算节点的依据是在除出所述前 N个可用计算节点之外的剩余计算节点中 选择新的备份计算节点, 并在所述新的备份计算节点下增加备份, 所述新的备 份计算节点为所述剩余计算节点中所述影响最大的应用能力值排序在前第一 预置数量的可用计算节点, 以保证新增数据的处理效率仍然 4艮高。
例如: 当计算能力值对数据块的影响最大, 该数据块已经在计算节点 A、 B、 C上备份, 如果要将该数据块的备份数量增加到 5份, 计算节点 D和 E的计 算能力值在所有计算节点的计算能力排序中, 是紧排在 C之后的, 所以当计算 节点 D和 E的负载没有超负荷时,就可以在将数据块备份到计算节点 D和计算节 点 E下。
可选地,在上一个可选实施例的基础上, 本发明实施例提供的数据备份的 方法的另一实施例中, 所述根据所述被访问次数的表征参数,确定增加或减少 所述待调整数据块的备份数量, 可以包括:
当所述被访问次数的表征参数满足减少所述待调整数据块的备份数量的 条件时, 确定所述前 N个可用计算节点中所述影响最大的应用能力值最小的第 二预置数量的计算节点,并删除所述第二预置数量的计算节点下的所述待调整 数据块, 所述第二预置数量小于^
本发明实施例中, 例如: 当计算能力值对数据块的影响最大, 该数据块已 经在计算节点 A、 B、 C上备份, 如果要将该数据块的备份数量减少到 1份, 则 可以保留计算节点 A上的数据块,删除计算节点 8和(上的数据块。这样保证保 留的数据块具有最高的处理效率。与现有技术中数据块并没有备份到处理该数 据块能力最强的计算节点上相比, 本发明实施例提供的主节点设备, 可以将数 据块备份到处理该数据块能力最强的计算节点上, 从而提高了数据处理的效 率。
为了便于理解, 下面以一个具体的应用场景为例, 说明本发明实施例中
Hadoop集群中数据备份的方法的过程:
以集群中有两个机架为例, 分別为机架 A和机架 B, 机架 A中有 4个计算节 点, 分別为计算节点 Al、 计算节点 A2、 计算节点 A3和计算节点 A4, 机架 B中 有 4个计算节点分別为计算节点 Bl、 计算节点 B2、 计算节点 B3和计算节点 B4。
获取上述机架 A和机架 B中 8个计算节点各自的计算能力值、 I/O能力值、 图像处理能力值和流媒体能力值。
依据各能力值, 创建全局有序节点链表, 全局有序节点链表可以参阅表 2 进行理解。
表 2: 全局有序节点链表
Figure imgf000017_0001
例如: 有 4个数据块, 这 4个数据块分別是数据块 1、 数据块 2、 数据块 3和 数据块 4, 数据块 1受计算能力值影响最大, 数据块 2受 I/O能力值影响最大, 数 据块 3受图像处理能力值影响最大,数据块 4受流媒体能力值影像最大,如果要 将这 4个数据都备份 3份,一个机架下备份两份, 另一个机架下备份一份的备份 方案,而且假设每个计算节点都处于负载均衡状态下,没有超负荷的计算节点, 则最优的备份方案可以参阅图 2进行理解, 数据块 1要在机架 A上备份两份, 机 架 B上备份一份时, 则在计算节点 Al、 B1和 A3上各备份一份数据块 1。 数据块 2要在机架 A上备份两份, 机架 B上备份一份时, 则在计算节点 A3、 B3和 4上 各备份一份数据块 2。 数据块 3要在机架 A上备份一份, 机架 B上备份两份时, 则在计算节点 B2、 A2和 B1上各备份一份, 数据块 4要在机架 A上备份一份, 机 架 B上备份两份时, 则在计算节点 A4、 B4和 B3上各备份一份数据块 4。
如果采用时间窗技术,确定出数据块 1被频繁访问,数据块 2的被访问频率 正常, 数据块 3的被访问频率正常, 数据块 4的被访问频率很低, 则可以将数据 块 1的备份数量增加到 4份, 将数据块 4的备份数量减少到 2块, 在增加数据块 1 时, 计算节点 B3的计算能力相比与其他没有存储数据块 1的计算节点, 计算能 力最强, 可以在机架 B的计算节点 B3下增加一个数据块 1的备份, 在减少数据 块 4时,计算节点 A4的流媒体能力比计算节点 B4和 B3的流媒体能力要弱,所以 可以删除计算节点 B3下的数据块 4。
参阅图 3, 本发明实施例提供的控制数据备份的设备的一实施例包括: 获取单元 201 , 用于获取每个计算节点所具有的各种应用能力值; 第一确定单元 202,用于确定所述获取单元 201获取的所述各种应用能力值 中对待调整数据块的处理效率影响最大的应用能力值,以及所述待调整数据块 的备份数量 N, 所述 N为大于 1的整数;
第二确定单元 203 , 用于确定所述每个计算节点中所述第一确定单元 202 确定的所述影响最大的应用能力值最强的前 N个可用计算节点;
调度单元 204,用于将所述待调整数据块备份到所述第二确定单元 203确定 的所述前 N个可用计算节点上。
本发明实施例中, 获取单元 201获取每个计算节点所具有的各种应用能力 调整数据块的处理效率影响最大的应用能力值,以及所述待调整数据块的备份 数量 N, 所述 N为大于 1的整数, 第二确定单元 203确定所述每个计算节点中所 述第一确定单元 202确定的所述影响最大的应用能力值最强的前 N个可用计算 节点,调度单元 204将所述待调整数据块备份到所述第二确定单元 203确定的所 述前 N个可用计算节点上。 与现有技术中数据块并没有备份到处理该数据块能 力最强的计算节点上相比, 本发明实施例提供的设备, 可以将数据块备份到处 理该数据块能力最强的计算节点上, 从而提高了数据处理的效率。
可选地, 在上述图 3对应的实施例的基石出上, 参阅图 4, 本发明实施例提供 的主节点设备的另一实施例中, 所述第一确定单元 202包括:
备份子单元 2021 , 用于将需要备份 N份的所述待调整数据块预先备份到 N 个预选择的计算节点上, 所述 N个预选择的计算节点分別具有所述各种应用能 力值中一种最大的应用能力值;
记录子单元 2022, 用于在所述 N个预选择的计算节点分別对所述备份子单 元 2021备份的所述待调整数据块进行处理时, 记录所述 N个预选择的计算节点 各自对所述待调整数据块的处理效率;
确定子单元 2023, 用于根据所述记录子单元 2022记录的所述 N个预选择的 计算节点各自对所述待调整数据块的处理效率,确定所述各种应用能力值中对 待调整数据块的处理效率影响最大的应用能力值。
可选地, 在上述图 4对应的实施例的基础上, 本发明实施例提供的主节点 设备的另一实施例中,
所述调度单元 204, 用于将所述待调整数据块, 从所述 N个预选择的计算 节点迁移备份到所述前 N个可用计算节点。
可选地,在上述图 3或图 4对应的实施例的基石出上, 本发明实施例提供的主 节点设备的另一实施例中,
所述获取单元 201 , 用于获取所述每个计算节点的硬件参数, 根据预置的 所述各种应用能力值与所述硬件参数的对应关系,从所述硬件参数中选择与所 述各种应用能力值对应的硬件参数, 计算所述各种应用能力值。
可选地, 在上述图 3对应的实施例的基石出上, 参阅图 5, 本发明实施例提供 的主节点设备的另一实施例中, 所述设备还包括:
建表单元 205,用于根据所述获取单元 201获取的所述各种应用能力值构建 全局有序节点链表,所述全局有序节点链表为按照所述各种应用能力值中每种 应用能力值大小顺序排列的计算节点链表; 所述第二确定单元 203 ,用于从所述建表单元 205建立的所述全局有序节点 链表中所述影响最大的应用能力值下,查找所述影响最大的应用能力值最强的 前 N个可用计算节点。
可选地, 在上述图 3-图 5对应的任一实施例的基础上, 本发明实施例提供 的主节点设备的另一实施例中,
所述第二确定单元 203 , 用于根据所述影响最大的应用能力值和所述每个 计算节点的负载能力参数,确定所述每个计算节点中所述影响最大的应用能力 值最强的前 N个可用计算节点。
可选地, 在上述图 3-图 5对应的任一实施例的基础上, 本发明实施例提供 的主节点设备的另一实施例中, 当所述前 N个可用计算节点中包含从未存放过 所述待调整数据块的新计算节点,且在确定所述最大的应用能力值时, 未考虑 所述新计算节点所具有的一种应用能力值,而且所述一种应用能力值满足预置 条件时,
所述第一确定单元 202, 还用于重新确定所述各种应用能力值中, 对待调 整数据块的处理效率影响最大的应用能力值。
可选地, 在上述图 3-图 5对应的任一实施例的基础上, 本发明实施例提供 的主节点设备的另一实施例中,
所述获取单元 201 ,还用于获取所述待调整数据块被访问次数的表征参数, 所述被访问次数的表征参数为所述待调整数据块在预置时间段内被访问的次 数;
所述第二确定单元 203 , 还用于根据所述被访问次数的表征参数, 确定增 加或减少所述待调整数据块的备份数量。
可选地,在上一实施例的基石出上, 本发明实施例提供的主节点设备的另一 实施例中,
所述第二确定单元 203 , 用于当所述被访问次数的表征参数满足增加所述 待调整数据块的备份数量的条件时, 在除出所述前 N个可用计算节点之外的剩 余计算节点中选择新的备份计算节点, 并在所述新的备份计算节点下增加备 份,所述新的备份计算节点为所述剩余计算节点中所述影响最大的应用能力值 排序在前第一预置数量的可用计算节点。
所述第二确定单元 203 , 用于当所述被访问次数的表征参数满足减少所述 待调整数据块的备份数量的条件时, 确定所述前 N个可用计算节点中所述影响 最大的应用能力值最小的第二预置数量的计算节点,并删除所述第二预置数量 的计算节点下的所述待调整数据块, 所述第二预置数量小于
图 6是本发明实施例主节点设备 200的结构示意图。 主节点设备 200可包括 输入设备 210、 输出设备 220、 处理器 230和存储器 240。
存储器 240可以包括只读存储器和随机存取存储器,并向处理器 230提供指 令和数据。 存储器 240的一部分还可以包括非易失性随机存取存储器 ( NVRAM )。
存储器 240存储了如下的元素, 可执行模块或者数据结构, 或者它们的子 集, 或者它们的扩展集:
操作指令: 包括各种操作指令, 用于实现各种操作。
操作系统: 包括各种系统程序, 用于实现各种基础业务以及处理基于硬件 的任务。
在本发明实施例中, 处理器 230通过调用存储器 240存储的操作指令(该操 作指令可存储在操作系统中), 执行如下操作:
获取每个计算节点所具有的各种应用能力值;
确定所述各种应用能力值中对待调整数据块的处理效率影响最大的应用 能力值, 以及所述待调整数据块的备份数量 N, 所述 N为大于 1的整数;
确定所述每个计算节点中所述影响最大的应用能力值最强的前 N个可用 计算节点;
将所述待调整数据块备份到确定的所述前 N个可用计算节点上。
本发明实施例中, 主节点设备 200可以将数据块备份到处理该数据块能力 最强的计算节点上, 从而提高了数据处理的效率。
处理器 230控制主节点设备 200的操作,处理器 230还可以称为 CPU( Central Processing Unit, 中央处理单元)。 存储器 240可以包括只读存储器和随机存取 存储器, 并向处理器 230提供指令和数据。存储器 240的一部分还可以包括非易 失性随机存取存储器(NVRAM )。 具体的应用中, 网络设备 20的各个组件通 过总线系统 250耦合在一起, 其中总线系统 250除包括数据总线之外,还可以包 括电源总线、 控制总线和状态信号总线等。 但是为了清楚说明起见, 在图中将 各种总线都标为总线系统 250。
上述本发明实施例揭示的方法可以应用于处理器 230中,或者由处理器 230 实现。 处理器 230可能是一种集成电路芯片, 具有信号的处理能力。 在实现过 件形式的指令完成。 上述的处理器 230可以是通用处理器、 数字信号处理器 ( DSP )、 专用集成电路(ASIC )、 现成可编程门阵列 (FPGA )或者其他可编 程逻辑器件、 分立门或者晶体管逻辑器件、 分立硬件组件。 可以实现或者执行 本发明实施例中的公开的各方法、 步骤及逻辑框图。通用处理器可以是微处理 器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方 法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬 件及软件模块组合执行完成。 软件模块可以位于随机存储器, 闪存、 只读存储 器, 可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存 储介质中。 该存储介质位于存储器 240, 处理器 230读取存储器 240中的信息, 结合其硬件完成上述方法的步骤。
可选地,处理器 230用于将需要备份 N份的所述待调整数据块预先备份到 N 个预选择的计算节点上, 所述 N个预选择的计算节点分別具有所述各种应用能 力值中一种最大的应用能力值, 在所述 N个预选择的计算节点分別对所述待调 整数据块进行处理时, 记录所述 N个预选择的计算节点各自对所述待调整数据 块的处理效率, 根据所述 N个预选择的计算节点各自对所述待调整数据块的处 理效率,确定所述各种应用能力值中对待调整数据块的处理效率影响最大的应 用能力值。
可选地, 处理器 230用于将所述待调整数据块, 从所述 N个预选择的计算 节点迁移备份到所述前 N个可用计算节点。
可选地, 处理器 230用于获取所述每个计算节点的硬件参数, 根据预置的 所述各种应用能力值与所述硬件参数的对应关系,从所述硬件参数中选择与所 述各种应用能力值对应的硬件参数, 计算所述各种应用能力值。
可选地,处理器 230用于根据所述各种应用能力值构建全局有序节点链表, 所述全局有序节点链表为按照所述各种应用能力值中每种应用能力值大小顺 序排列的计算节点链表,从所述全局有序节点链表中所述影响最大的应用能力 值下, 查找所述影响最大的应用能力值最强的前 N个可用计算节点。
可选地, 处理器 230用于根据所述影响最大的应用能力值和所述每个计算 节点的负载能力参数,确定所述每个计算节点中所述影响最大的应用能力值最 强的前 N个可用计算节点。
可选地, 处理器 230用于当所述前 N个可用计算节点中包含从未存放过所 述待调整数据块的新计算节点,且在确定所述最大的应用能力值时, 未考虑所 述新计算节点所具有的一种应用能力值,而且所述一种应用能力值满足预置条 件时, 重新确定所述各种应用能力值中,对待调整数据块的处理效率影响最大 的应用能力值。
可选地,处理器 230还用于获取所述待调整数据块被访问次数的表征参数, 所述被访问次数的表征参数为所述待调整数据块在预置时间段内被访问的次 数,根据所述被访问次数的表征参数, 确定增加或减少所述待调整数据块的备 份数量。
可选地, 处理器 230用于当所述被访问次数的表征参数满足增加所述待调 整数据块的备份数量的条件时, 在除出所述前 N个可用计算节点之外的剩余计 算节点中选择新的备份计算节点, 并在所述新的备份计算节点下增加备份, 所 述新的备份计算节点为所述剩余计算节点中所述影响最大的应用能力值排序 在前第一预置数量的可用计算节点。
可选地, 处理器 230用于当所述被访问次数的表征参数满足减少所述待调 整数据块的备份数量的条件时, 确定所述前 N个可用计算节点中所述影响最大 的应用能力值最小的第二预置数量的计算节点,并删除所述第二预置数量的计 算节点下的所述待调整数据块, 所述第二预置数量小于 N。
参阅图 7, 本发明实施例提供的 Hadoop集群系统的一实施例包括主节点设 备 200和多个计算节点 300, 主节点设备 200和多个计算节点 300通信连接, 图中 只画出了 4个计算节点 300, 实际上可以有艮多个。
所述多个计算节点 300用于存储待调整数据块和处理所述待调整数据块; 所述主节点设备 200用于获取每个计算节点所具有的各种应用能力值, 确 定所述各种应用能力值中对待调整数据块的处理效率影响最大的应用能力值, 以及所述待调整数据块的备份数量 Ν, 所述 Ν为大于 1的整数, 确定所述每个计 算节点中所述影响最大的应用能力值最强的前 Ν个可用计算节点, 将所述待调 整数据块备份到确定的所述前 Ν个可用计算节点上。 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步 骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读 存储介质中, 存储介质可以包括: ROM、 RAM, 磁盘或光盘等。
以上对本发明实施例所提供的 Hadoop集群中数据备份的方法、 设备以及 了阐述, 以上实施例的说明只是用于帮助理解本发明的方法及其核心思想; 同 时, 对于本领域的一般技术人员, 依据本发明的思想, 在具体实施方式及应用 范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims

权 利 要 求
1、 一种 Hadoop集群中数据备份的方法, 其特征在于, 包括:
获取每个计算节点所具有的各种应用能力值;
确定所述各种应用能力值中对待调整数据块的处理效率影响最大的应用 能力值, 以及所述待调整数据块的备份数量 N, 所述 N为大于 1的整数;
确定所述每个计算节点中所述影响最大的应用能力值最强的前 N个可用 计算节点;
将所述待调整数据块备份到确定的所述前 N个可用计算节点上。
2、根据权利要求 1所述的方法, 其特征在于, 所述确定所述各种应用能力 值中对待调整数据块的处理效率影响最大的应用能力值, 包括:
将需要备份 N份的所述待调整数据块预先备份到 N个预选择的计算节点 上, 所述 N个预选择的计算节点分別具有所述各种应用能力值中一种最大的应 用能力值;
在所述 N个预选择的计算节点分別对所述待调整数据块进行处理时, 记录 所述 N个预选择的计算节点各自对所述待调整数据块的处理效率;
根据所述 N个预选择的计算节点各自对所述待调整数据块的处理效率, 确 定所述各种应用能力值中对待调整数据块的处理效率影响最大的应用能力值。
3、根据权利要求 2所述的方法, 其特征在于, 所述将所述待调整数据块备 份到确定的所述前 N个可用计算节点上, 包括:
将所述待调整数据块, 从所述 N个预选择的计算节点迁移备份到所述前 N 个可用计算节点。
4、 根据权利要求 1-3任一所述的方法, 其特征在于, 所述获取每个计算节 点所具有的各种应用能力值, 包括;
获取所述每个计算节点的硬件参数;
根据预置的所述各种应用能力值与所述硬件参数的对应关系,从所述硬件 参数中选择与所述各种应用能力值对应的硬件参数, 计算所述各种应用能力 值。
5、 根据权利要求 1-4任一所述的方法, 其特征在于, 所述获取每个计算节 点所具有的各种应用能力值之后, 所述方法还包括:
根据所述各种应用能力值构建全局有序节点链表,所述全局有序节点链表 为按照所述各种应用能力值中每种应用能力值大小顺序排列的计算节点链表; 对应的,所述确定所述每个计算节点中所述影响最大的应用能力值最强的 前 N个可用计算节点, 包括:
从所述全局有序节点链表中所述影响最大的应用能力值下,查找所述影响 最大的应用能力值最强的前 N个可用计算节点。
6、 根据权利要求 1-5任一所述的方法, 其特征在于, 所述确定所述每个计 算节点中所述影响最大的应用能力值最强的前 N个可用计算节点, 包括:
根据所述影响最大的应用能力值和所述每个计算节点的负载能力参数,确 定所述每个计算节点中所述影响最大的应用能力值最强的前 N个可用计算节 点。
7、 根据权利要求 1-6任一所述的方法, 其特征在于, 当所述前 N个可用计 算节点中包含从未存放过所述待调整数据块的新计算节点,且在确定所述最大 的应用能力值时, 未考虑所述新计算节点所具有的一种应用能力值, 而且所述 一种应用能力值满足预置条件时, 所述方法还包括:
重新确定所述各种应用能力值中,对待调整数据块的处理效率影响最大的 应用能力值。
8、 根据权利要求 1-7任一所述的方法, 其特征在于, 所述将所述待调整数 据块备份到确定的所述前 N个可用计算节点上之后, 所述方法还包括:
获取所述待调整数据块被访问次数的表征参数,所述被访问次数的表征参 数为所述待调整数据块在预置时间段内被访问的次数;
根据所述被访问次数的表征参数,确定增加或减少所述待调整数据块的备 份数量。
9、根据权利要求 8所述的方法, 其特征在于, 所述根据所述被访问次数的 表征参数, 确定增加或减少所述待调整数据块的备份数量, 包括:
当所述被访问次数的表征参数满足增加所述待调整数据块的备份数量的 条件时, 在除出所述前 N个可用计算节点之外的剩余计算节点中选择新的备份 计算节点, 并在所述新的备份计算节点下增加备份, 所述新的备份计算节点为 所述剩余计算节点中所述影响最大的应用能力值排序在前第一预置数量的可 用计算节点。
10、 根据权利要求 8所述的方法, 其特征在于, 所述根据所述被访问次数 的表征参数, 确定增加或减少所述待调整数据块的备份数量, 包括:
当所述被访问次数的表征参数满足减少所述待调整数据块的备份数量的 条件时, 确定所述前 N个可用计算节点中所述影响最大的应用能力值最小的第 二预置数量的计算节点,并删除所述第二预置数量的计算节点下的所述待调整 数据块, 所述第二预置数量小于
11、 一种控制数据备份的设备, 其特征在于, 包括:
获取单元, 用于获取每个计算节点所具有的各种应用能力值;
第一确定单元,用于确定所述获取单元获取的所述各种应用能力值中对待 调整数据块的处理效率影响最大的应用能力值,以及所述待调整数据块的备份 数量 N, 所述 N为大于 1的整数;
第二确定单元,用于确定所述每个计算节点中所述第一确定单元确定的所 述影响最大的应用能力值最强的前 N个可用计算节点;
调度单元,用于将所述待调整数据块备份到所述第二确定单元确定的所述 前 N个可用计算节点上。
12、 根据权利要求 11所述的设备, 其特征在于, 所述第一确定单元包括: 备份子单元, 用于将需要备份 N份的所述待调整数据块预先备份到 N个预 选择的计算节点上, 所述 N个预选择的计算节点分別具有所述各种应用能力值 中一种最大的应用能力值;
记录子单元, 用于在所述 N个预选择的计算节点分別对所述备份子单元备 份的所述待调整数据块进行处理时, 记录所述 N个预选择的计算节点各自对所 述待调整数据块的处理效率;
确定子单元, 用于根据所述记录子单元记录的所述 N个预选择的计算节点 各自对所述待调整数据块的处理效率,确定所述各种应用能力值中对待调整数 据块的处理效率影响最大的应用能力值。
13、 根据权利要求 12所述的设备, 其特征在于,
所述调度单元, 用于将所述待调整数据块, 从所述 N个预选择的计算节点 迁移备份到所述前 N个可用计算节点。
14、 根据权利要求 11-13任一所述的设备, 其特征在于,
所述获取单元, 用于获取所述每个计算节点的硬件参数,根据预置的所述 各种应用能力值与所述硬件参数的对应关系,从所述硬件参数中选择与所述各 种应用能力值对应的硬件参数, 计算所述各种应用能力值。
15、 根据权利要求 11-14任一所述的设备, 其特征在于, 所述设备还包括: 建表单元,用于根据所述获取单元获取的所述各种应用能力值构建全局有 序节点链表,所述全局有序节点链表为按照所述各种应用能力值中每种应用能 力值大小顺序排列的计算节点链表;
所述第二确定单元,用于从所述建表单元建立的所述全局有序节点链表中 所述影响最大的应用能力值下, 查找所述影响最大的应用能力值最强的前 N个 可用计算节点。
16、 根据权利要求 11-15任一所述的设备, 其特征在于,
所述第二确定单元,用于根据所述影响最大的应用能力值和所述每个计算 节点的负载能力参数,确定所述每个计算节点中所述影响最大的应用能力值最 强的前 N个可用计算节点。
17、 根据权利要求 11-16任一所述的设备, 其特征在于, 当所述前 N个可用 计算节点中包含从未存放过所述待调整数据块的新计算节点,且在确定所述最 大的应用能力值时, 未考虑所述新计算节点所具有的一种应用能力值, 而且所 述一种应用能力值满足预置条件时, 所述方法还包括:
所述第一确定单元,还用于重新确定所述各种应用能力值中,对待调整数 据块的处理效率影响最大的应用能力值。
18、 根据权利要求 11-17任一所述的设备, 其特征在于,
所述获取单元,还用于获取所述待调整数据块被访问次数的表征参数, 所 述被访问次数的表征参数为所述待调整数据块在预置时间段内被访问的次数; 所述第二确定单元,还用于根据所述被访问次数的表征参数,确定增加或 减少所述待调整数据块的备份数量。
19、 根据权利要求 18所述的设备, 其特征在于,
所述第二确定单元,用于当所述被访问次数的表征参数满足增加所述待调 整数据块的备份数量的条件时, 在除出所述前 N个可用计算节点之外的剩余计 算节点中选择新的备份计算节点, 并在所述新的备份计算节点下增加备份, 所 述新的备份计算节点为所述剩余计算节点中所述影响最大的应用能力值排序 在前第一预置数量的可用计算节点。
20、 根据权利要求 18所述的设备, 其特征在于,
所述第二确定单元,用于当所述被访问次数的表征参数满足减少所述待调 整数据块的备份数量的条件时, 确定所述前 N个可用计算节点中所述影响最大 的应用能力值最小的第二预置数量的计算节点,并删除所述第二预置数量的计 算节点下的所述待调整数据块, 所述第二预置数量小于 N。
21、 一种主节点设备, 其特征在于, 包括: 输入设备、 输出设备、 存储器 和处理器,
其中, 所述处理器用于执行如下步骤:
获取每个计算节点所具有的各种应用能力值;
确定所述各种应用能力值中对待调整数据块的处理效率影响最大的应用 能力值, 以及所述待调整数据块的备份数量 N, 所述 N为大于 1的整数;
确定所述每个计算节点中所述影响最大的应用能力值最强的前 N个可用 计算节点;
将所述待调整数据块备份到确定的所述前 N个可用计算节点上。
22、 一种 Hadoop集群系统, 其特征在于, 包括: 主节点设备和多个计算 节点;
所述多个计算节点用于存储待调整数据块和处理所述待调整数据块; 所述主节点设备用于获取每个计算节点所具有的各种应用能力值,确定所 述各种应用能力值中对待调整数据块的处理效率影响最大的应用能力值,以及 所述待调整数据块的备份数量 N, 所述 N为大于 1的整数, 确定所述每个计算节 点中所述影响最大的应用能力值最强的前 N个可用计算节点, 将所述待调整数 据块备份到确定的所述前 N个可用计算节点上。
PCT/CN2013/090723 2013-12-27 2013-12-27 一种Hadoop集群中数据备份的方法、设备及系统 WO2015096142A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201380002586.9A CN105052110B (zh) 2013-12-27 2013-12-27 一种Hadoop集群中数据备份的方法、设备及系统
PCT/CN2013/090723 WO2015096142A1 (zh) 2013-12-27 2013-12-27 一种Hadoop集群中数据备份的方法、设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/090723 WO2015096142A1 (zh) 2013-12-27 2013-12-27 一种Hadoop集群中数据备份的方法、设备及系统

Publications (1)

Publication Number Publication Date
WO2015096142A1 true WO2015096142A1 (zh) 2015-07-02

Family

ID=53477404

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/090723 WO2015096142A1 (zh) 2013-12-27 2013-12-27 一种Hadoop集群中数据备份的方法、设备及系统

Country Status (2)

Country Link
CN (1) CN105052110B (zh)
WO (1) WO2015096142A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108153759B (zh) * 2016-12-05 2021-07-09 中国移动通信集团公司 一种分布式数据库的数据传输方法、中间层服务器及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103108029A (zh) * 2012-12-13 2013-05-15 中国科学院深圳先进技术研究院 vod系统的数据访问方法
CN103220183A (zh) * 2013-05-02 2013-07-24 杭州电子科技大学 一种基于双主机热备份的Hadoop高可用性系统实现方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103108029A (zh) * 2012-12-13 2013-05-15 中国科学院深圳先进技术研究院 vod系统的数据访问方法
CN103220183A (zh) * 2013-05-02 2013-07-24 杭州电子科技大学 一种基于双主机热备份的Hadoop高可用性系统实现方法

Also Published As

Publication number Publication date
CN105052110B (zh) 2018-10-30
CN105052110A (zh) 2015-11-11

Similar Documents

Publication Publication Date Title
US20190163371A1 (en) Next generation storage controller in hybrid environments
JP5566899B2 (ja) メモリにアクセスするシステム及び方法
CN111722786B (zh) 基于NVMe设备的存储系统
US20200201763A1 (en) Memory hierarchy-aware processing
KR101569093B1 (ko) 분산 시스템에서 데이터를 처리하는 방법
US8997109B2 (en) Apparatus and method for managing data stream distributed parallel processing service
JP6886964B2 (ja) 負荷平衡方法及び装置
US11025745B2 (en) Technologies for end-to-end quality of service deadline-aware I/O scheduling
US20190129876A1 (en) Devices and methods for data storage management
US20130111172A1 (en) Data Migration Between Storage Devices
US10936516B2 (en) Accelerated data handling in cloud data storage system
CN114661457A (zh) 管理服务质量强制实施和存储器间的迁移的存储器控制器
US8874873B2 (en) Resources allocation in a computer storage system
EP3859509A1 (en) Latency and throughput centric reconfigurable storage device
US11880710B2 (en) Adaptive data shipment based on burden functions
US10768976B2 (en) Apparatus and method to configure an optimum number of circuits for executing tasks
CN116820324A (zh) 存储扩容方法及装置、存储介质和电子设备
US10050627B2 (en) Information processing device, PLD management program, and PLD management method
WO2015096142A1 (zh) 一种Hadoop集群中数据备份的方法、设备及系统
JP2015176218A (ja) 演算処理装置、演算処理装置の制御方法、及び演算処理装置の制御プログラム
US20180329756A1 (en) Distributed processing system, distributed processing method, and storage medium
CN114625474A (zh) 容器迁移方法、装置、电子设备及存储介质
US10025730B2 (en) Register device and method for software programming
JP7180362B2 (ja) 情報処理装置、情報処理プログラムおよび情報処理システム
WO2024093280A1 (zh) 任务管理方法、装置、系统、通信设备及存储介质

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201380002586.9

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13900054

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13900054

Country of ref document: EP

Kind code of ref document: A1