一种针对去中心化架构存储系统的迁移任务调度方法与流程

文档序号:24121370发布日期:2021-03-02 11:39阅读:87来源:国知局
一种针对去中心化架构存储系统的迁移任务调度方法与流程

[0001]
本发明属于分布式存储技术领域,具体涉及一种针对去中心化架构存储系统的迁移任务调度方法。


背景技术:

[0002]
随着人类进入了大数据时代,数据量成爆炸式的增长对存储系统提出了更高的要求,分布式存储系统的可扩展性遇到了巨大挑战,分布式存储系统的容量不断扩展,一方面存储系统需要保证性能的同步提高,另一方面存储系统还需要保持高可靠性和高可用性。为解决此问题,分布式存储技术得到了极大的发展,更多的研究点都集中在了分布式存储的高性能、高可靠性及高可用性上。
[0003]
传统的分布式存储系统使用中心化的架构,将管理节点和存储节点分开,这样的架构在存储节点有限的时候具有很好的性能。但当面对海量的数据存储情求,中心化的管理节点将成为分布式存储系统的性能瓶颈。因为大量的用户访问在与存储节点建立联系前,都需要请求管理节点查询数据的存储位置,中心化架构面临的单点故障和性能瓶颈问题成为了制约中心化架构存储系统可扩展性的关键问题。
[0004]
去中心化架构存储系统成为分布式存储系统发展的一个趋势,它在元数据管理上通常使用带权重的哈希算法来确定数据放置的位置,当客户端需要存取数据时,只需要在本地运行一遍特定的哈希算法就可以计算得到需要访问的存储节点,之后客户端可以直接与存储节点交互,这样的方法可以消除元数据服务器的性能瓶颈问题。
[0005]
为满足海量的数据存储需求,大规模分布式存储系统面临着严峻的挑战,首先是频繁的硬件故障,其中节点故障和硬盘故障最为频繁,严重影响分布式存储系统的可靠性和可用性,当故障发生时,故障节点或硬盘中的数据需要恢复到存储系统其它的存储节点上,这个恢复过程会触发数据迁移,数据迁移对存储系统有两方面影响:一方面数据迁移的快慢直接影响存储系统的可靠性;另一方面,数据迁移会和存储系统中运行的用户应用的访问产生资源竞争,这将导致存储系统的性能下降。
[0006]
在大规模存储集群中,运行着大量的用户应用,用户应用造成的负载通常是不均匀的,通常体现在存储节点负载的不均衡和存储设备(硬盘)负载的不均衡,这种不均衡的现象为数据迁移任务调度提出了挑战。
[0007]
目前国内外分布式存储系统在单点故障或者业务需要迁移数据时,由于数据迁移过程对于存储系统上用户应用访问的影响,往往采取简单的限速策略,将每个硬盘提供给迁移任务的带宽设定为固定值。这会导致硬盘带宽利用率较低,迁移速率较慢,系统的可靠性下降等问题。


技术实现要素:

[0008]
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种针对去中心化架构存储系统的迁移任务调度方法,在确保减少影响用户应用访问质量的同时,提高
迁移速度。
[0009]
本发明采用以下技术方案:
[0010]
一种针对去中心化架构存储系统的迁移任务调度方法,包括以下步骤:
[0011]
s1、预估每个迁移任务结束后的数据分布,采集参与迁移硬盘带宽数据,建立基于去中心化架构存储系统的迁移任务干扰系数模型;
[0012]
s2、为每个迁移任务建立步骤s1得到的迁移任务干扰系数模型,通过观测硬盘观测窗口采样窗口内干扰系数的平均值,当干扰系数平均值小于设定阈值时,执行数据迁移;
[0013]
s3、采集硬盘观测窗口内带宽变化调节迁移任务的速率,对迁移任务干扰系数模型的迁移带宽进行分配,实现迁移任务调度。
[0014]
具体的,步骤s1具体为:
[0015]
s101、将文件分割成大小固定的数据块,然后将数据块哈希到具体的存储设备上;通过运行哈希算法得到存储系统中所有数据块的存放位置;
[0016]
s102、通过模拟一遍去中心化架构存储系统使用的特定哈希算法,估算出每个需要迁移的数据块在迁移结束后新的位置,统计每个硬盘移出和迁入的数据块数,计算得到每个参与迁移硬盘的读写数据量之和d
data
;定义一个10s大小的观测窗口用来监测每个参与迁移硬盘的窗口平均带宽b
used
,建立迁移任务干扰系数模型。
[0017]
进一步的,步骤s102中,迁移任务干扰系数f
interference
具体为:
[0018][0019]
其中,为编号i磁盘上用户应用占用的带宽,为编号i硬盘上迁移数据量。
[0020]
具体的,步骤s2中,当在观测窗口中观察到迁移任务干扰系数f
interference
的平均值低于阈值α时,调度迁移任务开始执行,当观测窗口中观察到的f
interference
超过阈值α,等待一个观测窗口,再判断下个观测窗口的迁移任务干扰函数。
[0021]
进一步的,阈值α计算如下:
[0022][0023]
其中,b
ideal
是硬盘迁移带宽最大值确定时用户应用与迁移任务互不干扰的最大占用带宽,d
data
为硬盘上的迁移数据量。
[0024]
具体的,步骤s3中,在迁移任务开始执行后,持续使用观测窗口采集并计算每个参与迁移硬盘的窗口内平均带宽b
window
,调整参与迁移硬盘下一个窗口内的迁移带宽b
new_allocation
,通过连续的观测窗口动态调节迁移任务的带宽分配,在一个窗口结束后,由上一个观测窗口的统计值计算出下一个窗口的带宽分配值。
[0025]
进一步的,参与迁移硬盘下一个窗口内的迁移带宽b
new_allocation
具体为:
[0026]
b
new_allocation
=max(b
old_allocation-(b
window-75%
×
b
total
),b
min
)
[0027]
其中,b
old_allocation
表示上一个观测窗口硬盘上分配给迁移任务的带宽,b
total
表示硬盘理论带宽,b
min
表示分配给迁移任务的最小带宽。
[0028]
与现有技术相比,本发明至少具有以下有益效果:
[0029]
本发明一种针对去中心化架构存储系统的迁移任务调度方法,利用系统原有的数据放置算法,预估迁移后的数据分布,为迁移任务建立干扰系数模型,调度迁移任务执行,并且动态的为迁移任务分配带宽。可以在不影响用户应用延迟的同时,提高存储系统中硬盘的带宽利用率,缩短迁移任务的完成时间。
[0030]
进一步的,本发明通过为迁移任务建立干扰系数模型,可以明确量化迁移任务对用户应用的影响指数,通过这个指数确定迁移启动的时机。
[0031]
进一步的,本发明通过模拟一遍去中心化架构存储系统使用的特定哈希算法,估算出每个需要迁移的数据块在迁移结束后新的位置,统计每个硬盘移出和迁入的数据块数,计算得到每个参与迁移硬盘的读写数据量。这个读写数据量将作为干扰系数模型的输入来帮助建立每个迁移任务的干扰系数模型。
[0032]
进一步的,本发明在建立干扰系数模型后,量化了每个迁移任务对于用户应用的干扰系数,通过设定一个不影响用户应用的最大干扰系数阈值,并不断通过观测窗口观测干扰系数的均值,判断干扰系数均值与阈值的关系,进而确定迁移任务启动的具体时间。
[0033]
进一步的,本发明在量化了迁移任务对于用户应用的影响后,需要一个阈值来决定迁移任务的启动时机,当量化的干扰系数低于阈值时启动迁移任务。
[0034]
进一步的,由于用户应用的负载是不断变化的,本发明通过观测窗口动态的调整迁移速率,可以维持干扰系数在阈值以下。
[0035]
进一步的,本发明通过模型设定迁移带宽,可以在通过上一个观测窗口的观测值调整下一个观测窗口的带宽,达到动态速率调整的目的,保证了迁移任务对于用户应用的低干扰。
[0036]
综上所述,本发明提高了去中心化架构存储系统的数据迁移速度的同时减少了迁移对于用户应用的影响。
[0037]
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
[0038]
图1为去中心化架构存储系统哈希算法原理示意图;
[0039]
图2为迁移任务干扰系数模型示意图;
[0040]
图3为迁移任务调度方法流程图;
[0041]
图4为迁移带宽分配流程图;
[0042]
图5为基于观测窗口的迁移调度方法示意图。
具体实施方式
[0043]
本发明提供了一种针对去中心化架构存储系统的迁移任务调度方法,针对去中心化架构存储系统的迁移任务干扰系数进行建模,能够准确评估迁移任务(迁移硬盘上的数据)对于分布式存储系统上用户访问的影响;其次,根据迁移任务干扰系数模型调度迁移任务的时机;最后,采集观察窗口内带宽变化调节迁移任务的速率。
[0044]
请参阅图3,本发明一种针对去中心化架构存储系统的迁移任务调度方法,包括以下步骤:
[0045]
s1、建立基于去中心化架构存储系统的迁移任务干扰系数模型;
[0046]
对每个迁移任务进行迁移后数据分布进行预估,由于去中心化架构存储系统通过特定的哈希算法计算出所有数据块的副本位置。
[0047]
s101、请参阅图1,首先将文件分割成大小固定的数据块(block),然后将数据块哈希到具体的存储设备上;通过运行一遍哈希算法,可以得到存储系统中所有数据块的存放位置。
[0048]
s102、请参阅图2,通过模拟一遍去中心化架构存储系统使用的特定哈希算法,估算出每个需要迁移的数据块在迁移结束后新的位置(存储设备编号),再统计每个硬盘移出和迁入的数据块数,计算得到每个参与迁移硬盘的读写数据量之和d
data

[0049]
定义一个10s大小的观测窗口用来监测每个参与迁移硬盘的窗口平均带宽b
used
,带宽被用于建立迁移任务干扰系数模型,迁移任务干扰系数f
interference
具体为:
[0050][0051]
其中,为编号i磁盘上用户应用占用的带宽,为编号i硬盘上迁移数据量。
[0052]
s2、针对迁移任务干扰系数模型的迁移任务进行调度;
[0053]
请参阅图3,首先为每个迁移任务建立任务干扰系数模型,其次通过观测窗口采样窗口内干扰系数的平均值,并且与设定好的阈值α进行比较,当干扰系数小于阈值时,执行数据迁移。
[0054][0055]
b
ideal
=75%
×
b
total-b
max_migration
[0056]
其中,b
ideal
是b
max_migration
(硬盘迁移带宽最大值)确定时,用户应用与迁移任务互不干扰的最大占用带宽。
[0057]
在大规模存储集群中观测到,当用户应用带宽与迁移任务带宽之和超过总带宽的百分之75%时,用户应用的延迟显著增加;阈值α是迁移任务与当前用户应用互不干扰的临界值;当在观测窗口中观察到f
interference
的平均值低于阈值α时,判断迁移任务对于用户应用的影响较弱,此时调度迁移任务开始执行,当观测窗口中观察到的f
interference
超过阈值α,说明此时执行迁移任务将对用户应用产生较大干扰,此时选择等待一个观测窗口,再判断下个观测窗口的迁移任务干扰函数。
[0058]
s3、对迁移任务干扰系数模型的迁移带宽进行分配,采集观察窗口内带宽变化调节迁移任务的速率,在新的观测窗口开始前,根据迁移任务的干扰系数和优先级进行调度,相同优先级的任务干扰系数小的优先调度。
[0059]
请参阅图4,在迁移任务开始执行后,持续使用观测窗口采集并计算每个参与迁移硬盘的窗口内平均带宽b
window
,调整参与迁移硬盘下一个窗口内的迁移带宽b
new_allocation
,保证迁移任务与用户应用互不干扰的同时,尽量快速的完成迁移。迁移带宽分配过程如图5所示。
[0060]
b
new_allocation
=max(b
old_allocation-(b
window-75%
×
b
total
),b
min
)
[0061]
其中,b
old_allocation
表示上一个观测窗口硬盘上分配给迁移任务的带宽,b
total
表示
硬盘理论带宽,b
min
表示分配给迁移任务的最小带宽。
[0062]
请参阅图5,通过连续的观测窗口动态调节迁移任务的带宽分配,在一个窗口结束后,由上一个观测窗口的统计值计算出下一个窗口的带宽分配值。
[0063]
本发明在实际部署去中心化架构存储系统的机群上,应用了本发明的方法。在真实采集的用户应用trace下,实现了本发明方法的存储系统比较原始系统,迁移速率提高了约百分之7,而用户应用的平均延迟下降了约百分之19%。
[0064]
综上所述,本发明一种针对去中心化架构存储系统的迁移调度方法,通过对迁移任务建立干扰系数模型,采用阈值决定迁移任务调度时机,并使用观测窗口动态调整迁移速率。提高了去中心化架构存储系统的迁移速率,并且降低了存储系统上用户应用的延迟。
[0065]
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0066]
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0067]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0068]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0069]
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1