[发明专利]一种基于多级调度的纠删码系统恢复方法及系统有效
申请号: | 202110742243.2 | 申请日: | 2021-06-24 |
公开(公告)号: | CN113504875B | 公开(公告)日: | 2023-08-01 |
发明(设计)人: | 魏征;邢晶;谭光明;孙凝晖 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F11/10;G06F11/14 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 祁建国 |
地址: | 100080 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 多级 调度 纠删码 系统 恢复 方法 | ||
1.一种基于多级调度的纠删码系统恢复方法,其特征在于,包括:
步骤1、根据失效磁盘或节点,获取丢失块对应的条带列表作为待恢复条带队列;
步骤2、水平恢复调度器从待恢复条带队列中获取部分条带,执行步骤3;垂直恢复调度器从待恢复条带队列中获取单失效且失效节点开启垂直条带部署的条带,执行步骤7;
步骤3、根据分布式存储系统中各节点状况选择进行恢复的条带及条带内参与恢复的块,将选中的条带中参与恢复的块进行标记,并将选中的条带放入读取条带队列,将条带中标记的块对应的节点的资源值进行更新;
步骤4、读取线程在读取条带队列中获取条带,并根据条带中标记的块,向其对应的节点发送读取指令,对应节点收到读取指令,将块读取到该节点内存中,等待重建节点远程读取,将完成读取的条带放入待传输条带队列;
步骤5、根据各节点的网络资源窗口,从该待传输条带队列中选择进行网络传输的条带,并加入传输条带队列,然后更新网络资源窗口;
步骤6、恢复线程在传输条带队列中获取传输条带,在该分布式存储系统中选择重建节点,将传输条带发送到重建节点进行数据传输和解码,得到恢复数据,并将恢复数据写入指定节点;
步骤7、根据数据恢复窗口资源确定最大的并发条带数量,选择对应数量的单失效的条带,然后发送到发生磁盘失效的节点,在磁盘失效节点内进行数据的读取和解码,得到恢复数据,并将该恢复数据写入该磁盘失效节点。
2.如权利要求1所述的基于多级调度的纠删码系统恢复方法,其特征在于,
步骤3包括:在数据读取过程中,根据存储系统中各存储节点的存储资源排名,选择进行恢复的条带及条带内参与恢复的块;
步骤5包括:根据该分布式存储系统的网络资源阈值,选择进行网络传输的条带;
步骤6包括:根据该分布式存储系统中各节点的CPU计算资源和内存资源,选择重建节点进行数据重建;
且数据读取、网络传输和解码计算以并行流水线方式并发进行,且数据读取、网络传输和解码计算均通过各资源窗口进行并发控制。
3.如权利要求1所述的基于多级调度的纠删码系统恢复方法,其特征在于,该分布式存储系统具有预设数量的令牌;执行该步骤3消耗一个令牌;该步骤6执行完成后恢复一个令牌。
4.如权利要求1所述的基于多级调度的纠删码系统恢复方法,其特征在于,该步骤3通过以下步骤选择进行读取的条带:
将所有节点按照窗口资源数量进行降序排序,针对前k+i个窗口:轮询所有的待恢复条带列表,若条带内存在k个块且k个块所在的节点在前k+i个窗口中,则该条带符合条件,并将其选为进行读取的条带;若轮询完待恢复条带列表,没有符合条件的条带,则将i自增1,继续轮询。
5.如权利要求1所述的基于多级调度的纠删码系统恢复方法,其特征在于,该步骤3通过以下步骤选择进行读取的条带:
按顺序轮询每一个待恢复条带列表的条带,根据条带内的节点与网络资源窗口中对应的资源数进行对比,选择条带中对应窗口资源数最多的k个块,若该k个块对应的节点存在资源冗余,则该条带符合条件,并将其选为进行读取的条带,否则继续判断待恢复条带列表中下一个条带。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110742243.2/1.html,转载请声明来源钻瓜专利网。