【技术实现步骤摘要】
一种基于多级调度的纠删码系统恢复方法及系统
[0001]本专利技术涉及数据存储及纠删码领域,特别涉及一种基于多级调度的纠删码恢复方法和系统。
技术介绍
[0002]在大数据时代,海量数据的存储正面临通过冗余机制保证可靠性与提高空间利用率降低存储成本的矛盾。目前存储机群大都由商用服务器构成,常态化的组件故障威胁存储系统的可靠性。磁盘阵列、副本和纠删码是用于保证数据可靠性的主流机制。然而,磁盘阵列造价昂贵,性价比低,且作用于单机,无法保证分布式系统的节点数据可靠性。副本机制简单,高效,是当前最为普遍的数据组织方式,但副本机制以多副本的形式保证数据可靠性,导致存储成本较大,特别是当前激增的海量数据环境。在3副本的情况下,副本占用3倍的磁盘存储开销。然而,纠删码只占用副本机制一半的磁盘存储开销,可以获得较副本机制更高的存储可靠性。在PB
‑
EB级存储系统汇总,纠删码可以节省几十万到几个亿的存储成本。纠删码存储方式,既具有较高的空间利用效率,又能保证数据存储的可靠性,越来越多的应用于存储系统当中,在Google的GF ...
【技术保护点】
【技术特征摘要】
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个块对应的节点存在
资源冗余,则该条带符合条件,并将其选为进行读取的条带,否则继续判断待恢复条带列表中下一个条带...
【专利技术属性】
技术研发人员:魏征,邢晶,谭光明,孙凝晖,
申请(专利权)人:中国科学院计算技术研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。