一种异常zone自动补齐方法、装置及设备制造方法及图纸

技术编号:32570607 阅读:8 留言:0更新日期:2022-03-09 16:57
本申请提供一种异常zone自动补齐方法、装置及设备,该方法包括到达扫描周期时,对ZG缓存中可用ZG进行扫描;根据扫描到的可用ZG中多个zone内的写指针位置,筛选出包含异常zone的异常ZG,并生成补齐任务;确定全局zone补齐任务队列中不存在补齐任务时,将补齐任务添加到全局zone补齐任务队列,并将补齐任务下发给对应的存储节点;在设定时间内收到存储节点上报的补齐结果,确定数据补齐成功时,将补齐任务从全局zone补齐任务队列移除,并在确定满足复用条件时将补齐任务对应的ZG加入复用队列,实现异常zone的补齐,解决了因ZG内zone的写指针位置不同导致ZG无法进行复用的问题。位置不同导致ZG无法进行复用的问题。位置不同导致ZG无法进行复用的问题。

【技术实现步骤摘要】
一种异常zone自动补齐方法、装置及设备


[0001]本申请涉及分布式对象存储
,尤其涉及一种异常zone自动补齐方法、装置及设备。

技术介绍

[0002]SMR(叠瓦式磁记录)是一种新型磁盘技术,相邻磁道之间按序部分重叠,能提高单位存储介质的存储密度,降低存储成本。正是由于SMR磁盘物理上的特点,导致了它的读行为虽然与普通HDD(Hard Disk Drive,硬盘驱动器)机械硬盘无异,但是它的写行为却有着巨大的变化,它不支持随机写和原地更新写,因为这样会导致相重叠磁道数据被覆盖。因此SMR磁盘仅支持从头到尾的顺序写入。
[0003]SMR磁盘将磁道划分为多个带(Band),即连续磁道所构成的壳连续写入的区域,每个区域成为一个需要顺序写入的基本单元。Band是SMR磁盘物理概念,对应的逻辑概念称为“区域”(zone),一个zone的大小为256MB。
[0004]由于SMR磁盘在价格上有着无法规避的优势,因此分布式对象存储系统必须要支持这种新型磁盘技术。
[0005]在接收到数据写入指令,需要将一个文件中的数据以M+N形式划分为多个分片并写入多个zone时,以上述多个zone作为一个ZG(ZoneGroup,一组zone的集合)进行存储和管理,如果需要将对象分片写入ZG中包含已使用的zone,则首先需要对此ZG进行复用,而只有ZG内全部zone的写指针位置一致时该ZG才可以进行复用,然而网络的高频抖动和服务程序的异常等多种情况都可能会导致ZG内各个zone的写指针位置不一致的情况。如果不对上述异常ZG中写指针位置与该异常ZG中长度最长的zone的写指针位置一致的异常zone进行处理,就无法对上述异常的ZG进行复用,从而导致异常ZG内部zone空间浪费,使整个存储系统的垃圾容量占比提升,令用户的真正磁盘空间利用率达不到要求。

技术实现思路

[0006]本申请提供了一种异常zone自动补齐方法,用于解决因ZG内zone的写指针位置不同导致ZG无法进行复用的问题。
[0007]第一方面,本申请提供一种异常zone自动补齐方法,应用于管理节点,包括:
[0008]到达扫描周期时,对ZG缓存中可用ZG进行扫描,所述可用ZG为未超出复用周期,且包含的多个zone均为处于已上报状态且剩余空间大于预设值的zone的ZG,所述已上报状态用于标识对应的zone已完成对象分片写入且所述zone对应的存储节点已完成zone状态上报;
[0009]根据扫描到的可用ZG中多个zone内的写指针位置,筛选出包含异常zone的异常ZG,并生成对所述异常zone进行数据补齐的补齐任务;
[0010]确定全局zone补齐任务队列中不存在所述补齐任务时,将所述补齐任务添加到全局zone补齐任务队列,并将所述补齐任务下发给对应的存储节点;
[0011]在设定时间内收到存储节点上报的补齐结果,确定数据补齐成功时,将所述补齐任务从全局zone补齐任务队列移除,并在确定满足复用条件时将所述补齐任务对应的ZG加入复用队列。
[0012]在一种可能实现的方式中,确定全局zone补齐任务队列中不存在所述补齐任务时,将所述补齐任务添加到全局zone补齐任务队列,并将补齐任务下发给对应的存储节点,包括:
[0013]根据确定全局zone补齐任务队列中不存在所述补齐任务时,将所述补齐任务添加到全局zone补齐任务队列和待下发补齐任务队列;
[0014]将所述补齐任务下发给对应的存储节点,并将所述补齐任务从所述待下发补齐任务队列移除,添加到已下发补齐任务队列;
[0015]其中,将所述补齐任务从全局zone补齐任务队列移除时,将所述补齐任务从已下发补齐任务队列移除。
[0016]在一种可能实现的方式中,该方法还包括:
[0017]在设定时间内未收到所述存储节点上报的补齐结果,或在设定时间内收到补齐结果且确定数据补齐失败时,将所述补齐任务从所述已下发补齐任务队列移除,添加待下发补齐任务队列,延迟预设时间后再次下发给对应的存储节点。
[0018]在一种可能实现的方式中,将所述补齐任务下发给对应的存储节点,包括:
[0019]确定所述补齐任务对应的zone所在的ZG未超出复用周期,将所述补齐任务下发给对应的存储节点;
[0020]确定所述补齐任务对应的zone所在的ZG超出复用周期,将所述补齐任务从所述全局zone补齐任务队列和待下发补齐任务队列中移除。
[0021]在一种可能实现的方式中,在设定时间内收到存储节点上报的补齐结果,确定数据补齐成功时,包括:
[0022]确定所述补齐任务对应的zone所在的ZG超出复用周期,确定所述全局zone补齐任务队列中是否存在与所述补齐任务对应的ZG相同的其余补齐任务,其中同一文件的对象分片所在的zone属于相同ZG;
[0023]确定全局zone补齐任务队列中不存在所述其余补齐任务,延长所述补齐任务对应的zone所在的ZG的复用周期。
[0024]在一种可能实现的方式中,该方法还包括:
[0025]接收存储节点离线的信息,将与所述存储节点中zone对应的补齐任务添加到延迟清理补齐任务队列;
[0026]在预设时间内接收到所述存储节点恢复的信息,将所述补齐任务从延迟清理补齐任务队列移除;
[0027]在预设时间内未接收到所述存储节点恢复的信息,将所述补齐任务从延迟清理补齐任务队列、全局zone补齐任务队列移除。
[0028]在一种可能实现的方式中,该方法还包括:
[0029]接收存储节点删除的信息,将与所述存储节点中zone对应的补齐任务从全局zone补齐任务队列中移除。
[0030]在一种可能实现的方式中,该方法还包括:
[0031]对所述待下发补齐任务队列中的补齐任务进行周期性扫描,筛选出超出复用周期的补齐任务,并将所述超出复用周期的补齐任务从所述全局zone补齐任务队列和待下发补齐任务队列移除。
[0032]在一种可能实现的方式中,该方法还包括:
[0033]将所述补齐任务下发给对应的存储节点时,将所述补齐任务对应的zone的状态更改为未上报状态;
[0034]收到存储上报的补齐结果时,将所述补齐任务对应的zone的状态更改为已上报状态。
[0035]在一种可能实现的方式中,该方法还包括:
[0036]确定所述已下发补齐任务队列中任一存储节点对应的补齐任务数量到达设定阈值时,待所述任一存储节点对应的补齐任务数量小于设定阈值时向所述任一存储节点下发补齐任务。
[0037]本申请还提供一种异常zone自动补齐方法,应用于存储节点,包括:
[0038]接收到管理节点下发的补齐任务,确定所述补齐任务中zone的写指针位置与所述zone实际的写指针位置一致,且所述zone的补齐目标长度大于zone的实际长度时,对所述补齐任务对应的zone进行补齐;
[0039]确定所述补齐本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种异常zone自动补齐方法,应用于管理节点,其特征在于,该方法包括:到达扫描周期时,对ZG缓存中可用ZG进行扫描,所述可用ZG为未超出复用周期,且包含的多个zone均为处于已上报状态且剩余空间大于预设值的zone的ZG,所述已上报状态用于标识对应的zone已完成对象分片写入且所述zone对应的存储节点已完成zone状态上报;根据扫描到的可用ZG中多个zone内的写指针位置,筛选出包含异常zone的异常ZG,并生成对所述异常zone进行数据补齐的补齐任务;确定全局zone补齐任务队列中不存在所述补齐任务时,将所述补齐任务添加到全局zone补齐任务队列,并将所述补齐任务下发给对应的存储节点;在设定时间内收到存储节点上报的补齐结果,确定数据补齐成功时,将所述补齐任务从全局zone补齐任务队列移除,并在确定满足复用条件时将所述补齐任务对应的ZG加入复用队列。2.根据权利要求1所述的方法,其特征在于,确定全局zone补齐任务队列中不存在所述补齐任务时,将所述补齐任务添加到全局zone补齐任务队列,并将补齐任务下发给对应的存储节点,包括:根据确定全局zone补齐任务队列中不存在所述补齐任务时,将所述补齐任务添加到全局zone补齐任务队列和待下发补齐任务队列;将所述补齐任务下发给对应的存储节点,并将所述补齐任务从所述待下发补齐任务队列移除,添加到已下发补齐任务队列;其中,将所述补齐任务从全局zone补齐任务队列移除时,将所述补齐任务从已下发补齐任务队列移除。3.根据权利要求2所述的方法,其特征在于,还包括:在设定时间内未收到所述存储节点上报的补齐结果,或在设定时间内收到补齐结果且确定数据补齐失败时,将所述补齐任务从所述已下发补齐任务队列移除,添加待下发补齐任务队列,延迟预设时间后再次下发给对应的存储节点。4.根据权利要求2中所述的方法,其特征在于,将所述补齐任务下发给对应的存储节点,包括:确定所述补齐任务对应的zone所在的ZG未超出复用周期,将所述补齐任务下发给对应的存储节点;确定所述补齐任务对应的zone所在的ZG超出复用周期,将所述补齐任务从所述全局zone补齐任务队列和待下发补齐任务队列中移除。5.根据权利要求1中所述的方法,其特征在于,在设定时间内收到存储节点上报的补齐结果,确定数据补齐成功时,包括:确定所述补齐任务对应的zone所在的ZG超出复用周期,确定所述全局zone补齐任务队列中是否存在与所述补齐任务对应的ZG相同的其余补齐任务,其中同一文件的对象分片所在的zone属于相同ZG;确定全局zone补齐任务队列中不存在所述其余补齐任务,延长所述补齐任务对应的zone所在的ZG的复用周期。6.根据权利要求1所述的方法,其特征在于,还包括:接收存储节点离线的信息,将与所述存储节点中zone对应的补齐任务添加到延迟清理
补齐任务队列;在预设时间内接收到所述存储节点恢复的信息,将所述补齐任务从延迟清理补齐任务队列移除;在预设时间内未接收到所述存储节点恢复的信息,将所述补齐任务从延迟清理补齐任务队列、全局zone补齐任务队列移除。7.根据权利要求1中所述的方法,其特征在于,还包括:接收存储节点删除的信息,将与所述存储节点中zone对应的补齐任务从全局zone补齐任务队列中移除。8.根据权利...

【专利技术属性】
技术研发人员:江文龙陈松徐涛王志豪罗心周明伟
申请(专利权)人:浙江大华技术股份有限公司
类型:发明
国别省市:

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

1