IO请求处理方法、装置、主机和计算机可读存储介质制造方法及图纸

技术编号:38223386 阅读:17 留言:0更新日期:2023-07-25 17:55
本发明专利技术涉及分布式存储技术领域,提供了一种IO请求处理方法、装置、主机和计算机可读存储介质,所述方法包括:接收客户端发送的写请求,写请求包括待写对象;基于写请求,按照容量均衡策略从多个硬盘组中确定目标硬盘,其中,每一硬盘组包括各存储节点的至少一块硬盘,每一硬盘只属于一个硬盘组,容量均衡策略用于保证多个硬盘组间的容量均衡和目标硬盘所属的硬盘组内的容量均衡;确定目标硬盘的当前IO处理负载;根据目标硬盘的当前IO处理负载,对待写对象进行写处理,以使目标硬盘的负载达到均衡。本发明专利技术能够使得分布式存储系统各节点尽量均衡,以提高分布式存储系统整体存储性能。以提高分布式存储系统整体存储性能。以提高分布式存储系统整体存储性能。

【技术实现步骤摘要】
IO请求处理方法、装置、主机和计算机可读存储介质


[0001]本专利技术涉及分布式存储
,具体而言,涉及一种IO请求处理方法、装置、主机和计算机可读存储介质。

技术介绍

[0002]为了支撑不断增加的海量数据的存储需求,分布式存储系统以横向方式进行规模化地扩展,分布式存储系统中的存储节点数量越来越多,各存储节点不均衡地的问题极大地影响了分布式存储系统整体存储性能。

技术实现思路

[0003]本专利技术的目的在于提供了一种IO请求处理方法、装置、主机和计算机可读存储介质,其能够使得分布式存储系统各存储节点尽量均衡,以提高分布式存储系统整体存储性能。
[0004]本专利技术的实施例可以这样实现:第一方面,本专利技术提供一种IO请求处理方法,应用于分布式存储系统中的主机,所述分布式存储系统还包括多个存储节点,每一所述存储节点包括多块硬盘,所述主机与客户端及多个所述存储节点均通信连接,所述的IO请求处理方法包括:接收所述客户端发送的写请求,所述写请求包括待写对象;基于所述写请求,按照容量均衡策略从多个硬盘组中确定目标硬盘,其中,每一所述硬盘组包括各存储节点的至少一块硬盘,每一所述硬盘只属于一个硬盘组,所述容量均衡策略用于保证多个所述硬盘组间的容量均衡和所述目标硬盘所属的硬盘组内的容量均衡;确定所述目标硬盘的当前IO处理负载;根据所述目标硬盘的当前IO处理负载,对所述待写对象进行写处理,以使所述目标硬盘的负载达到均衡。
[0005]在可选的实施方式中,所述基于所述写请求,按照容量均衡策略从多个硬盘组中确定目标硬盘的步骤包括:计算每一所述硬盘组的剩余容量百分比;根据每一所述硬盘组的剩余容量百分比,从多个所述硬盘组中确定目标硬盘组;计算所述目标硬盘组中每一块硬盘的剩余容量百分比;根据所述目标硬盘组中每一块硬盘的剩余容量百分比,从所述目标硬盘组中确定目标硬盘。
[0006]在可选的实施方式中,所述根据每一所述硬盘组的剩余容量百分比,从多个所述硬盘组中确定目标硬盘组的步骤包括:若多个所述硬盘组的剩余容量百分比中的最大值与最小值之间的差值大于预设均衡差值,则将除剩余容量百分比最小的硬盘组之外的硬盘组作为初选硬盘组;
若多个所述硬盘组的剩余容量百分比中的最大值与最小值之间的差值不大于预设均衡差值,则将所有所述硬盘组作为初选硬盘组;从所述初选硬盘组中确定所述目标硬盘组。
[0007]在可选的实施方式中,确定所述目标硬盘的当前IO处理负载的步骤包括:计算所述目标硬盘所属的目标存储节点的节点带宽压力;获取所述目标硬盘当前正在处理的IO数量及IO大小;将所述节点带宽压力、IO数量及IO大小确定为所述目标硬盘的当前IO处理负载。
[0008]在可选的实施方式中,所述计算所述目标硬盘所属的目标存储节点的节点带宽压力的步骤包括:根据所述目标存储节点中每一硬盘当前正在处理的IO及其IO长度,计算所述目标存储节点中每一硬盘当前正在处理的数据量;将所述目标存储节点中所有硬盘当前正在处理的数据量求和,得到所述节点带宽压力。
[0009]在可选的实施方式中,所述主机还包括存储级别内存SCM,所述根据所述目标硬盘的当前IO处理负载,对所述待写对象进行写处理的步骤包括:根据所述当前IO处理负载,判断所述目标硬盘是否满足预设负载条件;若所述目标硬盘满足所述预设负载条件,则将所述待写对象写入至所述目标硬盘;若所述目标硬盘不满足所述预设负载条件,则将所述待写对象暂存至所述SCM。
[0010]在可选的实施方式中,所述目标硬盘为多个,每一所述目标硬盘的当前IO处理负载均包括节点带宽压力、IO数量及IO大小,所述根据所述当前IO处理负载,判断所述目标硬盘是否满足预设负载条件的步骤包括:根据每一所述目标硬盘的节点带宽压力、所述IO数量及所述IO大小,计算每一所述目标硬盘的负载评分;若所述目标硬盘中存在负载评分不大于预设值的硬盘,则判定所述目标硬盘满足所述预设负载条件,否则,判定所述目标硬盘不满足所述预设负载条件。
[0011]在可选的实施方式中,所述目标硬盘为多个,每一所述目标硬盘的当前IO处理负载均包括节点带宽压力、IO数量及IO大小,所述根据所述当前IO处理负载,判断所述目标硬盘是否满足预设负载条件的步骤还包括:若所述目标硬盘中存在节点带宽压力小于预设压力、IO数量小于预设数量、且IO大小小于预设大小的硬盘,则判定所述目标硬盘满足所述预设负载条件,否则,判定所述目标硬盘不满足所述预设负载条件。
[0012]第二方面,本专利技术提供一种IO请求处理装置,应用于分布式存储系统中的主机,所述分布式存储系统还包括多个存储节点,每一所述存储节点包括多块硬盘,所述主机与客户端及多个所述存储节点均通信连接,所述IO请求处理装置包括:接收模块,用于接收所述客户端发送的写请求,所述写请求包括待写对象;确定模块,用于基于所述写请求,按照容量均衡策略从多个硬盘组中确定目标硬盘,其中,每一所述硬盘组包括各存储节点的至少一块硬盘,每一所述硬盘只属于一个硬盘组,所述容量均衡策略用于保证多个所述硬盘组间的容量均衡和所述目标硬盘所属的硬盘
组内的容量均衡;所述确定模块,还用于确定所述目标硬盘的当前IO处理负载;处理模块,用于根据所述目标硬盘的当前IO处理负载,对所述待写对象进行写处理,以使所述目标硬盘的负载达到均衡。
[0013]第三方面,本专利技术提供一种主机,包括处理器和存储器,所述存储器用于存储程序,所述处理器用于在执行所述程序时,实现前述实施方式中任一项所述的IO请求处理方法。
[0014]第四方面,本专利技术提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现前述实施方式中任一项所述的IO请求处理方法。
[0015]与现有技术相比,本专利技术中的存储节点包括多个硬盘组,每一硬盘组包括各存储节点的至少一块硬盘,一块硬盘只属于一个硬盘组,先基于接收的写请求、按照容量均衡策略从多个硬盘组中确定目标硬盘,保证多个硬盘组间的容量均衡和目标硬盘所属的硬盘组内的容量均衡,然后根据目标硬盘的当前IO处理负载,对写请求中的待写对象进行写处理,以使目标硬盘的负载达到均衡,通过容量均衡和负载均衡,使得分布式存储系统各存储节点尽量均衡,提高了分布式存储系统整体存储性能。
附图说明
[0016]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0017]图1为本专利技术实施例提供的应用场景的示例图。
[0018]图2为本专利技术实施例提供的硬盘组的示例图。
[0019]图3为本专利技术实施例提供的主机的方框示例图。
[0020]图4为本专利技术实施例提供的IO请求处理方法的流程示例图。
[0021]图5为本专利技术实施例提供的IO请求处理装置的方框示例图。
[0022]图标本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种IO请求处理方法,其特征在于,应用于分布式存储系统中的主机,所述分布式存储系统还包括多个存储节点,每一所述存储节点包括多块硬盘,所述主机与客户端及多个所述存储节点均通信连接,所述的IO请求处理方法包括:接收所述客户端发送的写请求,所述写请求包括待写对象;基于所述写请求,按照容量均衡策略从多个硬盘组中确定目标硬盘,其中,每一所述硬盘组包括各存储节点的至少一块硬盘,每一所述硬盘只属于一个硬盘组,所述容量均衡策略用于保证多个所述硬盘组间的容量均衡和所述目标硬盘所属的硬盘组内的容量均衡;确定所述目标硬盘的当前IO处理负载;根据所述目标硬盘的当前IO处理负载,对所述待写对象进行写处理,以使所述目标硬盘的负载达到均衡。2.如权利要求1所述的IO请求处理方法,其特征在于,所述基于所述写请求,按照容量均衡策略从多个硬盘组中确定目标硬盘的步骤包括:计算每一所述硬盘组的剩余容量百分比;根据每一所述硬盘组的剩余容量百分比,从多个所述硬盘组中确定目标硬盘组;计算所述目标硬盘组中每一块硬盘的剩余容量百分比;根据所述目标硬盘组中每一块硬盘的剩余容量百分比,从所述目标硬盘组中确定目标硬盘。3.如权利要求2所述的IO请求处理方法,其特征在于,所述根据每一所述硬盘组的剩余容量百分比,从多个所述硬盘组中确定目标硬盘组的步骤包括:若多个所述硬盘组的剩余容量百分比中的最大值与最小值之间的差值大于预设均衡差值,则将除剩余容量百分比最小的硬盘组之外的硬盘组作为初选硬盘组;若多个所述硬盘组的剩余容量百分比中的最大值与最小值之间的差值不大于预设均衡差值,则将所有所述硬盘组作为初选硬盘组;从所述初选硬盘组中确定所述目标硬盘组。4.如权利要求2所述的IO请求处理方法,其特征在于,确定所述目标硬盘的当前IO处理负载的步骤包括:计算所述目标硬盘所属的目标存储节点的节点带宽压力;获取所述目标硬盘当前正在处理的IO数量及IO大小;将所述节点带宽压力、IO数量及IO大小确定为所述目标硬盘的当前IO处理负载。5.如权利要求4所述的IO请求处理方法,其特征在于,所述计算所述目标硬盘所属的目标存储节点的节点带宽压力的步骤包括:根据所述目标存储节点中每一硬盘当前正在处理的IO及其IO长度,计算所述目标存储节点中每一硬盘当前正在处理的数据量;将所述目标存储节点中所有硬盘当前正在处理的数据量求和,得到所述节点带宽压力。6.如权利要求2所述的IO请求处理方法,其特征在于,所述主机还包括存储级别内存SCM,所述根据所述目标硬盘的当前IO处理负载,对所述待写对象进行写处理的步...

【专利技术属性】
技术研发人员:钟辉
申请(专利权)人:成都泛联智存科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1