一种基于资源的分布式存储方法、系统、设备及存储介质与流程

文档序号:29915702发布日期:2022-05-06 04:27阅读:103来源:国知局
一种基于资源的分布式存储方法、系统、设备及存储介质与流程

1.本发明涉及分布式存储技术领域,尤其涉及一种基于资源的分布式存储方法、系统、设备及存储介质。


背景技术:

2.国内主流私有云平台使用openstack搭建,后端分布式存储一般使用ceph技术实现,ceph则依托于crush算法,确定数据对象的存储位置和通过计算数据存储位置检索数据。
3.然而传统的crush算法在存储数据时,会自动将高相关性的文件数据放入同一存储节点内,这无疑是一种省时的方法,但同时也存在着局限性。为了确保负载均衡,从集群的角度看,每一个阶段的剩余容量应当详尽,保证每个节点的数据量大致相同;从数据的角度看,相关性高的数据应该分散存储在不同的节点中,确保不会造成部分节点i/o繁忙而部分节点空闲,导致资源读取效率降低。传统的crush算法则只能确保容量的均匀性,不能考虑到各个节点磁盘的i/o性能,也就无法确保在某些对资源存取速度有要求的场景下能够选择更合适的存储节点,进而影响到数据存取的效率。
4.因此,当前还没有一个普遍适用的方法,能够解决当前ceph分布式存储没有考虑到不同场景下的对存储性能和存储节点i/o要求的差异,忽视多方面因素结合对数据存取效率的影响的问题。


技术实现要素:

5.有鉴于此,本发明提出了一种基于资源的分布式存储方法,用于解决当前ceph分布式存储没有考虑到不同场景下的对存储性能和存储节点i/o要求的差异,忽视多方面因素结合对数据存取效率的影响的问题。
6.本发明的技术方案是这样实现的:
7.本发明第一方面,公开一种基于资源的分布式存储方法,所述方法包括:
8.s1,根据请求类型设置请求优先级,继续执行步骤s2;
9.s2,引入温度因子监测存储节点的访问频率,同时监测各磁盘的i/o属性,继续执行步骤s3;
10.s3,综合分析所述请求优先级、存储节点的访问频率以及磁盘的i/o属性并进行决策,选出最优的osd存储方案。
11.本发明通过上述方法,综合考虑请求优先级、存储节点的访问频率以及磁盘的i/o属性多因素对数据存储的影响,通过多属性决策来选择最优的osd存储方案,确定当前最佳存储位置。
12.在以上技术方案的基础上,优选的,步骤s1中,所述根据请求类型设置请求优先级具体包括:
13.根据存储对象对i/o及延时的敏感性设置请求优先级,敏感性越高则优先级越高,
优先级设置包括:p
rbd
>p
radosgw
>p
cephfs
,其中rbd为块存储radosgw为对象存储,cephfs为文件系统存储。
14.本发明通过上述方法,对ceph提供统一的对象存储加以区分,不同的存储对象在实际的生产环境不同,块存储通过rbd用于主机或虚拟机的存储对象,对象存储通过radosgw用于第三方存储系统的兼容与地接,文件系统通过cephfs用于文件系统的读写;在生产环境中对io及延时的敏感性通常为rbd>radosgw>cephfs,因此将请求的优先级设为p
rbd
>p
radosgw
>p
cephfs
优先级越高在io请求和资源配置上越优先保障。
15.在以上技术方案的基础上,优选的,步骤s2中,监测存储节点的访问频率具体包括:
16.s2-1,引入温度因子t
new
,初始化各存储节点温度为0,同时初始化定时器,每经过一个单位周期t
down
存储节点的温度值tc下降t
down

17.s2-2,当某个存储节点进行写请求且tc=0,则该存储节点温度tc以v
up
的温度增加速率持续升高,直到该次写请求完成;若该存储节点在一个单位周期t
down
内写请求频率f不低于预设频率阈值fo,增速v
up
增加第一设定值z1;若该存储节点在一个单位周期t
down
内写请求频率f低于预设频率阈值fo,增速v
up
减少第二设定值z2:
[0018][0019]
其中,t
new
表示存储节点本次存储请求时的温度值,th表示上一次请求时该存储节点的温度值,tc表示当前温度值;t
down
表示单位周期t
down
内的温度下降总量,v
up
表示温度增加速率,to为某次写请求持续时间,n
osd
表示集群节点数量,n
osd
≥3;
[0020]
s2-3,每个存储节点的温度因子t
new
值大小即表示该存储节点的访问频率,根据t
new
值由大到小排列各存储节点即得到各存储节点访问频率由高到低的排序,设定存储节点的访问频率与读写需求成正比。
[0021]
本发明通过上述方法,引入温度因子用以反映存储节点的访问频率,进而确定存储节点的读写需求;在计算温度因子时考虑到了存储节点的写请求持续时间,以及写请求频率,将这两个因素加入温度因子的计算过程,以此获得更为精确的存储节点访问频率。
[0022]
在以上技术方案的基础上,优选的,步骤s2中,监测各磁盘的i/o属性具体包括:
[0023]
实时监测各磁盘每秒的读写次数,每秒的读写次数与磁盘的读写性能成正比。
[0024]
在以上技术方案的基础上,优选的,步骤s3具体包括:
[0025]
s3-1,构建属性矩阵m,并进行归一化处理,m
ij
表示矩阵m中第i行第j列的值,m’ij
表示归一化后第i行第j列的值:
[0026]
[0027][0028]
其中l为正指标,表示磁盘的i/o属性;-h为负指标,表示读写需求,其值与所述存储节点的未来读写需求正相关;p为正指标,表示请求优先级,其值越大请求优先级越高;
[0029]
s3-2,为磁盘的i/o属性l,读写需求h和请求优先级p分别设置权重系数w
l
、wh、w
p
,并获得权重系数矩阵w:
[0030][0031]
s3-3,采用maut方法获得各osd存储方案的效用值,采用效用值最大的osd存储方案为最优的osd存储方案。
[0032]
在以上技术方案的基础上,优选的,步骤s1-3具体包括:
[0033]
获得所有osd存储方案组成方案集a={a1,a2,
…am
},结合属性矩阵m和权重系数矩阵w,采用maut方法计算效用值:
[0034][0035]
其中,u(ai)为方案ai的综合效用值,uj为效用函数。
[0036]
在以上技术方案的基础上,优选的,所述效用函数具体包括:
[0037][0038]
其中r
max
、r
min
表示目标方案的最大和最小结果值,α是最小效用值,α≠0;uj是第j个属性的效用值。
[0039]
本发明通过上述方法,采用多属性效用理论方法maut方法计算各存储方案的效用值,并根据效用值大小筛选出最优的存储方案。
[0040]
本发明第二方面,公开一种基于资源的分布式存储系统,所述系统包括:
[0041]
优先级设置模块:用于根据存储对象对i/o及延时的敏感性设置请求优先级;
[0042]
监测模块:用于引入温度因子监测存储节点的访问频率,同时监测各磁盘的i/o属性;
[0043]
分析决策模块:用于根据所述请求优先级、存储节点的访问频率以及磁盘的i/o属性采用maut方法进行决策,选出最优的osd存储方案。
[0044]
本发明第三方面,公开一种电子设备,所述设备包括:至少一个处理器、至少一个存储器、通信接口和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的一种基于资源的分布式存储方法程序,一种基于资源的分布式存储方法程序配置为实现如本发明第一方面所述的一种基于资源的分布式存储方法。
[0045]
本发明第四方面,公开一种计算机可读存储介质,所述存储介质上存储有一种基
于资源的分布式存储方法程序,所述一种基于资源的分布式存储方法程序被执行时实现如本发明第一方面所述的一种基于资源的分布式存储方法。
[0046]
本发明的一种基于资源的分布式存储方法相对于现有技术具有以下有益效果:
[0047]
(1)通过引入温度因子用以反映存储节点的访问频率,进而确定存储节点的读写需求;在计算温度因子时考虑到了存储节点的写请求持续时间,以及写请求频率,将这两个因素加入温度因子的计算过程,以此获得更为精确的存储节点访问频率;
[0048]
(2)综合考虑请求优先级、存储节点的访问频率以及磁盘的i/o属性多因素对数据存储的影响,通过多属性决策来选择最优的osd存储方案,确定当前最佳存储位置。
附图说明
[0049]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0050]
图1为本发明一种基于资源的分布式存储方法工作流程图。
具体实施方式
[0051]
下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
[0052]
实施例
[0053]
本发明一种基于资源的分布式存储方法工作流程见图1,处理步骤说明如下:
[0054]
步骤s1,根据请求类型设置请求优先级。转步骤s2。
[0055]
应当理解的是,在上述方案的基础上,客户端对集群的请求都是通过osd的守护进展rados进行读写操作,ceph提供统一的对象存储,包括块存储、对象存储和文件系统,不同的存储对象在实际的生产环境不同,块存储通过rbd用于主机或虚拟机的存储对象,对象存储通过radosgw用于第三方存储系统的兼容与地接,文件系统通过cephfs用于文件系统的读写;在生产环境中对io及延时的敏感性通常为rbd>radosgw>cephfs,因此将请求的优先级设为p
rbd
>p
radosgw
>p
cephfs
优先级越高在io请求和资源配置上越优先保障。
[0056]
步骤s2,引入温度因子监测存储节点的访问频率,同时监测各磁盘的i/o属性。转步骤s3。
[0057]
应当理解的是,在上述方案的基础上,步骤s2中,监测存储节点的访问频率具体包括:
[0058]
s2-1,引入温度因子t
new
,初始化各存储节点温度为0,同时初始化定时器,每经过一个单位周期t
down
存储节点的温度值tc下降t
down

[0059]
s2-2,当某个存储节点进行写请求且tc=0,则该存储节点温度tc以v
up
的温度增加速率持续升高,直到该次写请求完成;若该存储节点在一个单位周期t
down
内写请求频率f不低于预设频率阈值fo,增速v
up
增加第一设定值z1;若该存储节点在一个单位周期t
down
内写请
求频率f低于预设频率阈值fo,增速v
up
减少第二设定值z2:
[0060][0061]
其中,t
new
表示存储节点本次存储请求时的温度值,th表示上一次请求时该存储节点的温度值,tc表示当前温度值;t
down
表示单位周期t
down
内的温度下降总量,v
up
表示温度增加速率,to为某次写请求持续时间,n
osd
表示集群节点数量,n
osd
≥3;
[0062]
s2-3,每个存储节点的温度因子t
new
值大小即表示该存储节点的访问频率,根据t
new
值由大到小排列各存储节点即得到各存储节点访问频率由高到低的排序,设定存储节点的访问频率与读写需求成正比。
[0063]
本发明中引入温度因子t
new
用以反映存储节点的访问频率,一般来讲当前访问频次高的存储节点未来的读写需求也会更高,因此基于访问频率可以预测该存储节点未来的读写需求。
[0064]
应当理解的是,在上述方案的基础上,步骤s2中,监测各磁盘的i/o属性具体包括:
[0065]
iops是衡量磁盘性能的主要指标之一,实时监测各磁盘每秒的读写次数,每秒的读写次数与磁盘的读写性能成正比。
[0066]
步骤s3,综合分析所述请求优先级、存储节点的访问频率以及磁盘的i/o属性并进行决策。
[0067]
应当理解的是,在上述方案的基础上,步骤s3具体包括:
[0068]
s3-1,构建属性矩阵m,并进行归一化处理,m
ij
表示矩阵m中第i行第j列的值,m’ij
表示归一化后第i行第j列的值:
[0069][0070][0071]
其中l为正指标,表示磁盘的i/o属性;-h为负指标,表示读写需求,其值与所述存储节点的读写需求正相关;p为正指标,表示请求优先级,其值越大请求优先级越高;
[0072]
s3-2,为磁盘的i/o属性l,读写需求h和请求优先级p分别设置权重系数w
l
、wh、w
p
,并获得权重系数矩阵w:
[0073][0074]
s3-3,采用maut方法获得各osd存储方案的效用值,采用效用值最大的osd存储方案为最优的osd存储方案。
[0075]
应当理解的是,在上述方案的基础上,步骤s3-3具体包括:
[0076]
获得所有osd存储方案组成方案集a={a1,a2,
…am
},结合属性矩阵m和权重系数矩阵w,采用maut方法计算效用值:
[0077][0078]
其中,u(ai)为方案ai的综合效用值,uj为效用函数。
[0079]
应当理解的是,在上述方案的基础上,效用函数具体包括:
[0080][0081]
其中r
max
、r
min
表示目标方案的最大和最小结果值,α是最小效用值,α≠0;uj是第j个属性的效用值。
[0082]
本发明根据多属性决定结果的特点,选择多属性效用理论方法maut方法进行各方案的效用值计算,最后根据效用值筛选出最优的osd存储方案,考虑到了各属性对数据存取效率的影响、不同场景下的对存储性能和存储节点i/o要求的差异,做出最高效的资源分布式存储决定。
[0083]
本发明还公开一种基于资源的分布式存储系统,所述系统包括:
[0084]
优先级设置模块:用于根据存储对象对i/o及延时的敏感性设置请求优先级;
[0085]
监测模块:用于引入温度因子监测存储节点的访问频率,同时监测各磁盘的i/o属性;
[0086]
分析决策模块:用于根据所述请求优先级、存储节点的访问频率以及磁盘的i/o属性采用maut方法进行决策,选出最优的osd存储方案。
[0087]
本发明还公开一种电子设备,所述设备包括:至少一个处理器、至少一个存储器、通信接口和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的一种基于资源的分布式存储方法程序,一种基于资源的分布式存储方法程序配置为实现如本发明实施例所述的一种基于资源的分布式存储方法。
[0088]
本发明还公开一种计算机可读存储介质,所述存储介质上存储有一种基于资源的分布式存储方法程序,所述一种基于资源的分布式存储方法程序被执行时实现如本发明实施例所述的一种基于资源的分布式存储方法。
[0089]
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1