Migration task scheduling method for decentralized architecture storage system

文档序号:923449 发布日期:2021-03-02 浏览:19次 中文

阅读说明:本技术 一种针对去中心化架构存储系统的迁移任务调度方法 (Migration task scheduling method for decentralized architecture storage system ) 是由 董小社 李博闻 王龙翔 米珏 惠祖明 王宇菲 王强 张兴军 伍卫国 于 2020-10-28 设计创作,主要内容包括:本发明公开了一种针对去中心化架构存储系统的迁移任务调度方法,对每个迁移任务进行迁移后的数据分布进行预估,采集参与迁移硬盘带宽数据,建立基于去中心化架构存储系统的迁移任务干扰系数模型;为每个迁移任务建立任务干扰系数模型,通过观测硬盘观测窗口采样窗口内干扰系数的平均值,当干扰系数平均值小于设定阈值时,执行数据迁移;采集硬盘观测窗口内带宽变化调节迁移任务的速率,对迁移任务干扰系数模型的迁移带宽进行分配,实现迁移任务调度。本发明提高了去中心化架构存储系统的数据迁移速度的同时减少了迁移对于用户应用的影响。(The invention discloses a migration task scheduling method for a decentralized architecture storage system, which comprises the steps of pre-estimating the data distribution of each migration task after migration, collecting bandwidth data of a hard disk participating in migration, and establishing a migration task interference coefficient model based on the decentralized architecture storage system; establishing a task interference coefficient model for each migration task, observing the average value of interference coefficients in a sampling window of a hard disk observation window, and executing data migration when the average value of the interference coefficients is smaller than a set threshold value; and acquiring bandwidth change in a hard disk observation window to adjust the speed of the migration task, and distributing the migration bandwidth of the migration task interference coefficient model to realize migration task scheduling. The invention improves the data migration speed of the decentralized architecture storage system and reduces the influence of migration on user application.)

1. A migration task scheduling method for a decentralized architecture storage system is characterized by comprising the following steps:

s1, pre-estimating data distribution after each migration task is finished, collecting bandwidth data of the hard disks participating in migration, and establishing a migration task interference coefficient model based on a decentralized architecture storage system;

s2, establishing a migration task interference coefficient model obtained in the step S1 for each migration task, observing the average value of interference coefficients in a sampling window of a hard disk observation window, and executing data migration when the average value of the interference coefficients is smaller than a set threshold value;

and S3, acquiring bandwidth changes in the hard disk observation window to adjust the speed of the migration tasks, and distributing the migration bandwidth of the migration task interference coefficient model to realize the scheduling of the migration tasks.

2. The method according to claim 1, wherein step S1 is specifically:

s101, dividing a file into data blocks with fixed sizes, and hashing the data blocks to specific storage equipment; obtaining storage positions of all data blocks in the storage system by operating a Hash algorithm;

s102, estimating a new position of each data block to be migrated after the migration is finished by simulating a specific Hash algorithm used by a once-through decentralized architecture storage system, counting the number of the data blocks moved out and moved in each hard disk, and calculating to obtain the sum D of the read-write data volume of each hard disk participating in migrationdata(ii) a Defining a 10s observation window for monitoring the average bandwidth B of each window participating in the migration of hard disksusedAnd establishing a migration task interference coefficient model.

3. The method according to claim 2, wherein in step S102, the migration task interference factor FinterferenceThe method specifically comprises the following steps:

wherein the content of the first and second substances,for numbering the bandwidth occupied by the user application on the i disk,the amount of migration data on the hard disk is number i.

4. The method according to claim 1, wherein in step S2, when a migration task disturbance factor F is observed in the observation windowinterferenceIs lower than a threshold value alpha, the migration task is scheduled to start execution, F is observed in the observation windowinterferenceAnd if the threshold value alpha is exceeded, waiting for an observation window, and then judging the migration task interference function of the next observation window.

5. The method of claim 4, wherein the threshold α is calculated as follows:

wherein, BidealMaximum occupied bandwidth, D, where user application and migration task do not interfere with each other when maximum value of hard disk migration bandwidth is determineddataIs the amount of migrated data on the hard disk.

6. The method according to claim 1, wherein in step S3, after the migration task is started, the observation window is continuously used to collect and calculate the average bandwidth B in each window of the hard disks participating in the migrationwindowAdjusting migration bandwidth B in next window of hard disk participating in migrationnew_allocationAnd dynamically adjusting the bandwidth allocation of the migration tasks through continuous observation windows, and calculating the bandwidth allocation value of the next window according to the statistical value of the previous observation window after one window is finished.

7. The method of claim 6, wherein participating in migrating bandwidth B in a next window of a hard disknew_allocationThe method specifically comprises the following steps:

Bnew_allocation=max(Bold_allocation-(Bwindow-75%×Btotal),Bmin)

wherein, Bold_allocationIndicating the bandwidth allocated to the migration task on the hard disk of the last observation window, BtotalRepresenting theoretical bandwidth of the hard disk, BminIndicating the minimum bandwidth allocated to the migration task.

Technical Field

The invention belongs to the technical field of distributed storage, and particularly relates to a migration task scheduling method for a decentralized architecture storage system.

Background

As human beings enter the big data era, the explosive growth of data volume puts higher demands on the storage system, the expandability of the distributed storage system meets huge challenges, the capacity of the distributed storage system is continuously expanded, on one hand, the storage system needs to ensure the synchronous improvement of performance, and on the other hand, the storage system also needs to maintain high reliability and high availability. To solve this problem, distributed storage technology has been greatly developed, and more research points have focused on the high performance, high reliability and high availability of distributed storage.

The traditional distributed storage system uses a centralized architecture to separate the management node from the storage node, and the architecture has good performance when the storage node is limited. However, when the situation of mass data storage is met, the centralized management node becomes a performance bottleneck of the distributed storage system. Because a large number of users need to request the management node to query the storage location of data before establishing contact with the storage node, the single-point failure and performance bottleneck problem faced by the centralized architecture becomes a key problem restricting the scalability of the storage system of the centralized architecture.

A decentralized architecture storage system becomes a trend of development of a distributed storage system, a weighted hash algorithm is generally used for determining the position of data placement in metadata management, when a client needs to access data, a storage node needing to be accessed can be calculated only by running a specific hash algorithm locally, and then the client can directly interact with the storage node.

In order to meet the requirement of mass data storage, a large-scale distributed storage system faces a serious challenge, and firstly, frequent hardware failures occur, wherein node failures and hard disk failures are the most frequent, which seriously affects the reliability and the availability of the distributed storage system, when a failure occurs, data in a failed node or a hard disk needs to be recovered to other storage nodes of the storage system, the recovery process triggers data migration, and the data migration has two effects on the storage system: on one hand, the reliability of the storage system is directly influenced by the speed of data migration; on the other hand, data migration may create resource contention with access of user applications running in the storage system, which may result in performance degradation of the storage system.

In a large-scale storage cluster, a large number of user applications are running, loads caused by the user applications are usually uneven, which is usually reflected in unbalance of storage node loads and unbalance of storage device (hard disk) loads, and the phenomenon of the unbalance provides a challenge for data migration task scheduling.

At present, when a single point of failure or a service of a home and abroad distributed storage system needs to migrate data, a simple speed limit strategy is often adopted due to the influence of a data migration process on user application access on the storage system, and a bandwidth provided by each hard disk for a migration task is set to be a fixed value. This may lead to problems of low utilization of the hard disk bandwidth, slow migration rate, reduced system reliability, etc.

Disclosure of Invention

The technical problem to be solved by the present invention is to provide a migration task scheduling method for a decentralized architecture storage system, which improves the migration speed while ensuring that the access quality of the user application is reduced.

The invention adopts the following technical scheme:

a migration task scheduling method for a decentralized architecture storage system comprises the following steps:

s1, pre-estimating data distribution after each migration task is finished, collecting bandwidth data of the hard disks participating in migration, and establishing a migration task interference coefficient model based on a decentralized architecture storage system;

s2, establishing a migration task interference coefficient model obtained in the step S1 for each migration task, observing the average value of interference coefficients in a sampling window of a hard disk observation window, and executing data migration when the average value of the interference coefficients is smaller than a set threshold value;

and S3, acquiring bandwidth changes in the hard disk observation window to adjust the speed of the migration tasks, and distributing the migration bandwidth of the migration task interference coefficient model to realize the scheduling of the migration tasks.

Specifically, step S1 specifically includes:

s101, dividing a file into data blocks with fixed sizes, and hashing the data blocks to specific storage equipment; obtaining storage positions of all data blocks in the storage system by operating a Hash algorithm;

s102, estimating a new position of each data block to be migrated after the migration is finished by simulating a specific Hash algorithm used by a once-through decentralized architecture storage system, counting the number of the data blocks moved out and moved in each hard disk, and calculating to obtain the sum D of the read-write data volume of each hard disk participating in migrationdata(ii) a Defining a 10s observation window for monitoring the average bandwidth B of each window participating in the migration of hard disksusedAnd establishing a migration task interference coefficient model.

Further, in step S102, the task disturbance factor F is migratedinterferenceThe method specifically comprises the following steps:

wherein the content of the first and second substances,for numbering the bandwidth occupied by the user application on the i disk,the amount of migration data on the hard disk is number i.

Specifically, in step S2, when the migration task disturbance coefficient F is observed in the observation windowinterferenceIs lower than a threshold value alpha, the migration task is scheduled to start execution, F is observed in the observation windowinterferenceAnd if the threshold value alpha is exceeded, waiting for an observation window, and then judging the migration task interference function of the next observation window.

Further, the threshold α is calculated as follows:

wherein, BidealMaximum occupied bandwidth, D, where user application and migration task do not interfere with each other when maximum value of hard disk migration bandwidth is determineddataIs the amount of migrated data on the hard disk.

Specifically, in step S3, after the migration task starts to be executed, the observation window is continuously used to collect and calculate the average bandwidth B in each window participating in the migration of the hard diskwindowAdjusting migration bandwidth B in next window of hard disk participating in migrationnew_allocationAnd dynamically adjusting the bandwidth allocation of the migration tasks through continuous observation windows, and calculating the bandwidth allocation value of the next window according to the statistical value of the previous observation window after one window is finished.

Furthermore, participating in migrating the migration bandwidth B in the next window of the hard disknew_allocationThe method specifically comprises the following steps:

Bnew_allocation=max(Bold_allocation-(Bwindow-75%×Btotal),Bmin)

wherein, Bold_allocationIndicating the bandwidth allocated to the migration task on the hard disk of the last observation window, BtotalRepresenting theoretical bandwidth of the hard disk, BminIndicating the minimum bandwidth allocated to the migration task.

Compared with the prior art, the invention has at least the following beneficial effects:

the invention relates to a migration task scheduling method for a decentralized architecture storage system, which utilizes an original data placement algorithm of the system to estimate data distribution after migration, establishes an interference coefficient model for a migration task, schedules the execution of the migration task, and dynamically allocates bandwidth for the migration task. The bandwidth utilization rate of a hard disk in a storage system can be improved and the completion time of a migration task can be shortened while the application delay of a user is not influenced.

Furthermore, the invention can definitely quantify the influence index of the migration task on the user application by establishing an interference coefficient model for the migration task, and the opportunity of starting the migration is determined by the index.

Furthermore, the invention estimates the new position of each data block to be migrated after the migration is finished by simulating the specific hash algorithm used by the once-through decentralized architecture storage system, counts the number of the data blocks moved out and moved in each hard disk, and calculates the read-write data volume of each hard disk participating in migration. This amount of read and write data will be used as an input to the interference coefficient model to help build the interference coefficient model for each migration task.

Furthermore, after the interference coefficient model is established, the interference coefficient of each migration task for the user application is quantized, the relationship between the interference coefficient mean value and the threshold value is judged by setting a maximum interference coefficient threshold value which does not influence the user application and continuously observing the mean value of the interference coefficients through an observation window, and the specific time for starting the migration task is further determined.

Furthermore, after the influence of the migration task on the user application is quantified, a threshold value is needed to determine the starting time of the migration task, and the migration task is started when the quantified interference coefficient is lower than the threshold value.

Furthermore, because the load applied by the user is constantly changed, the invention can maintain the interference coefficient below the threshold value by dynamically adjusting the migration rate through the observation window.

Furthermore, the invention sets the migration bandwidth through the model, and can adjust the bandwidth of the next observation window through the observation value of the previous observation window, thereby achieving the purpose of dynamic rate adjustment and ensuring the low interference of the migration task to the user application.

In conclusion, the invention improves the data migration speed of the decentralized architecture storage system and reduces the influence of migration on user application.

The technical solution of the present invention is further described in detail by the accompanying drawings and embodiments.

Drawings

FIG. 1 is a schematic diagram of a hash algorithm of a decentralized architecture storage system;

FIG. 2 is a schematic diagram of a migration task interference coefficient model;

FIG. 3 is a flow chart of a migration task scheduling method;

FIG. 4 is a flow diagram of migration bandwidth allocation;

fig. 5 is a schematic diagram of a migration scheduling method based on an observation window.

Detailed Description

The invention provides a migration task scheduling method for a decentralized architecture storage system, which is used for modeling a migration task interference coefficient of the decentralized architecture storage system and accurately evaluating the influence of a migration task (migrating data on a hard disk) on user access on a distributed storage system; secondly, scheduling the time of the migration task according to the migration task interference coefficient model; and finally, acquiring bandwidth change in the observation window to adjust the speed of the migration task.

Referring to fig. 3, a migration task scheduling method for a decentralized architecture storage system according to the present invention includes the following steps:

s1, establishing a migration task interference coefficient model based on the decentralized architecture storage system;

and estimating the data distribution after each migration task is migrated, wherein the positions of the copies of all the data blocks are calculated by the decentralized architecture storage system through a specific Hash algorithm.

S101, referring to fig. 1, first dividing a file into data blocks (blocks) with fixed sizes, and then hashing the data blocks to a specific storage device; by running the hash algorithm once, the storage positions of all the data blocks in the storage system can be obtained.

S102, referring to fig. 2, estimating a new position (storage device number) of each data block to be migrated after the migration is completed by simulating a specific hash algorithm used by the decentralized architecture storage system, and then counting each data block to be migratedThe number of the data blocks moved out and moved in of each hard disk is calculated to obtain the sum D of the read-write data volume of each hard disk participating in the movementdata

Defining a 10s observation window for monitoring the average bandwidth B of each window participating in the migration of hard disksusedThe bandwidth is used for establishing a migration task interference coefficient model, a migration task interference coefficient FinterferenceThe method specifically comprises the following steps:

wherein the content of the first and second substances,for numbering the bandwidth occupied by the user application on the i disk,the amount of migration data on the hard disk is number i.

S2, scheduling the migration tasks of the migration task interference coefficient model;

referring to fig. 3, firstly, a task interference coefficient model is established for each migration task, secondly, an average value of interference coefficients in a sampling window is sampled through an observation window and compared with a set threshold value α, and when the interference coefficient is smaller than the threshold value, data migration is performed.

Bideal=75%×Btotal-Bmax_migration

Wherein, BidealIs Bmax_migrationAnd (maximum value of hard disk migration bandwidth) determining the maximum occupied bandwidth without mutual interference between the user application and the migration task.

It was observed in large-scale storage clusters that the latency of user applications increased significantly when the sum of user application bandwidth and migration task bandwidth exceeded 75% of the total bandwidth; threshold value alpha is transitionA critical value which does not interfere with the current user application is used in the task moving; when F is observed in the observation windowinterferenceWhen the average value of the values is lower than the threshold value alpha, judging that the influence of the migration task on the user application is weak, scheduling the migration task to start executing at the moment, and when F is observed in the observation windowinterferenceIf the threshold value alpha is exceeded, the execution of the migration task at the moment is indicated to generate larger interference on the application of the user, at the moment, one observation window is selected to wait, and then the migration task interference function of the next observation window is judged.

S3, distributing the migration bandwidth of the migration task interference coefficient model, collecting the bandwidth change in the observation window to adjust the speed of the migration task, and scheduling according to the interference coefficient and the priority of the migration task before the new observation window starts, wherein the task with the same priority has a small interference coefficient and is scheduled preferentially.

Referring to fig. 4, after the migration task starts to be executed, the observation window is continuously used to collect and calculate the average bandwidth B in each window participating in the migration of the hard diskwindowAdjusting migration bandwidth B in next window of hard disk participating in migrationnew_allocationThe migration task and the user application are guaranteed not to interfere with each other, and the migration is completed as fast as possible. The migration bandwidth allocation process is shown in fig. 5.

Bnew_allocation=max(Bold_allocation-(Bwindow-75%×Btotal),Bmin)

Wherein, Bold_allocationIndicating the bandwidth allocated to the migration task on the hard disk of the last observation window, BtotalRepresenting theoretical bandwidth of the hard disk, BminIndicating the minimum bandwidth allocated to the migration task.

Referring to fig. 5, the bandwidth allocation of the migration task is dynamically adjusted through the continuous observation windows, and after one window is finished, the bandwidth allocation value of the next window is calculated according to the statistics of the previous observation window.

The method is applied to the cluster which is actually deployed with a decentralized architecture storage system. Under the really acquired user application trace, the storage system which realizes the method of the invention has the migration rate improved by about 7 percent compared with the original system, and the average delay of the user application is reduced by about 19 percent.

In summary, the migration scheduling method for the decentralized architecture storage system according to the present invention establishes an interference coefficient model for the migration task, determines the scheduling time of the migration task by using a threshold, and dynamically adjusts the migration rate by using an observation window. Migration rate of the decentralized architecture storage system is improved, and delay of user application on the storage system is reduced.

As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.

The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.

These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.

These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.

The above-mentioned contents are only for illustrating the technical idea of the present invention, and the protection scope of the present invention is not limited thereby, and any modification made on the basis of the technical idea of the present invention falls within the protection scope of the claims of the present invention.

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种数据持久化方法、系统、设备以及介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类