【技术实现步骤摘要】
一种基于模拟退火的分布式纠删码存储系统数据修复方法
本专利技术属于分布式纠删码存储系统领域,具体涉及一种基于模拟退火的分布式纠删码存储系统数据修复方法。
技术介绍
分布式存储系统凭借较好的可扩展性和较低的成本得到了广泛的关注,这种系统由廉价的存储服务器通过网络互联组成,并采取了一些数据冗余技术以保证数据的可靠性。分布式存储系统中传统的数据冗余技术是副本策略,但是副本策略带来了存储开销大的问题,例如对于三副本策略来说,它会带来三倍的存储开销。纠删码策略是一种比较新型的数据冗余技术,它将原始数据分割成k个块,并对这些数据块进行编码操作以得到m个校验块,最后将数据块和校验块放置在不同的节点上。当系统中某个节点发生故障时,它从剩余存活的数据块和校验块中读取k个即可解码出丢失的块。纠删码策略具有存储开销小的优点,在很多分布式存储系统中得到了广泛的应用。对于基于异或运算的纠删码来说,它将数据块和校验块分割成w个更小的元素,校验块中的每个元素都是由数据块的元素之间通过异或运算得到。这种纠删码的生成矩阵是一个0-1矩阵,编解码运算通过该矩阵进行调度完成,常见的基于异或运算的纠删码 ...
【技术保护点】
1.一种基于模拟退火的分布式纠删码存储系统数据修复方法,其特征在于,包括以下步骤:步骤1:构建一个分布式存储系统,它由多个节点组成,每个节点都是一台独立运行的计算机,它们通过网络互联;该分布式存储系统由两类节点组成,一类是存储节点,它负责存储数据,一类是监控节点,它负责监听分布式存储系统中的存储节点的状态,当存储节点发生故障时,监控节点会触发修复操作;待存入存储系统的数据文件F使用CRS纠删码进行编码;当监控节点在规定的时间内未能接收到某个存储节点发送的心跳信息,则认为该存储节点出现了故障;在对失效的存储节点进行修复时,监控节点将选择一个存储节点Ln用来存储失效的数据,Ln ...
【技术特征摘要】
1.一种基于模拟退火的分布式纠删码存储系统数据修复方法,其特征在于,包括以下步骤:步骤1:构建一个分布式存储系统,它由多个节点组成,每个节点都是一台独立运行的计算机,它们通过网络互联;该分布式存储系统由两类节点组成,一类是存储节点,它负责存储数据,一类是监控节点,它负责监听分布式存储系统中的存储节点的状态,当存储节点发生故障时,监控节点会触发修复操作;待存入存储系统的数据文件F使用CRS纠删码进行编码;当监控节点在规定的时间内未能接收到某个存储节点发送的心跳信息,则认为该存储节点出现了故障;在对失效的存储节点进行修复时,监控节点将选择一个存储节点Ln用来存储失效的数据,Ln节点将负责整个的数据修复工作;步骤2:Ln节点获取集群中各个节点之间的网络传输速度bandwidthi,j,其中0≤i≤k+m-1,0≤j≤k+m-1;步骤3:Ln节点获取当前节点编号ln,失效节点编号fn,以及当前纠删码配置下的纠删码生成矩阵G;如果失效节点为校验节点,则直接读取全部的数据块并执行编码操作以得到相应的校验块;如果失效节点为数据节点,则执行矩阵调度算法,查找修复开销最小的数据修复方案;步骤4:根据数据修复方案确定数据修复所需要的数据读请求;步骤5:将修复操作对应的数据读请求发送到具体的存储节点;步骤6:各个存储节点接受到数据读请求后,根据相应的数据读操作的偏移量,读取本地磁盘数据,并发送回修复节点;步骤7:修复节点接受到全部的返回数据后,执行解码操作,将丢失的数据重构出来;步骤8:修复节点完成编码块修复之后,将编码块修复情况发送给监控节点,如果修复成功,将修复节点上编码块相关的元数据信息发送给监控节点;如果修复失败,修复节点对失效编码块进行重新修复。2.根据权利要求1所述的一种基于模拟退火的分布式纠删码存储系统数据修复方法,其特征在于,步骤1中,存储节点的存储方法为:待存入存储系统的数据文件F使用CRS纠删码进行编码,CRS纠删码用k,m,w表示;数据文件F被分割为k个数据块,记做D0,D1,…,Dk-1,每个数据块包含w个数据元素,数据块Di(0≤i≤k-1)的w个元素记作di,0,di,1,…,di,w-1;接下来,调用CRS纠删码编码方法,得到k+m个编码块,包含k个原始数据块和m个校验块,校验块记作C0,C1,…,Cm-1,每个校验块包含w个元素,校验块Cj(0≤j≤m-1)的w个元素记作cj,0,cj,1,…,cj,w-1;k+m个编码块组成了一个条带,编码块被分别存储在不同的存储节点上。3.根据权利要求1所述的一种基于模拟退火的分布式纠删码存储系统数据修复方法,其特征在于,步骤3中,根据纠删码生成矩阵G、故障节点编号fn、存储集群中各节点之间的网络带宽,执行调度算法,该算法将获取一个K-V集合,每组K-V表示从对应的节点K读取的元素编号集合V。4.根据权利要求3所述的一种基于模拟退火的分布式纠删码存储系统数据修复方法,其特征在于,在步骤4中,获取每个数据块和校验块的元数据信息,如块的位置、块的大小等;根据步骤三获取的K-V数值以及上述元数据信息,确定每个节点上块的数据读操作的偏移量,以此来确定数据修复时对应的数据读请求。5.根据权利要求1所述的一种基于模拟退火的分布式纠删码存储系统数据修复方法,其特征在于,在步骤3中,纠删码调度算法的具体执行步骤如下:(1...
【专利技术属性】
技术研发人员:张兴军,刘云飞,董小社,梁宁静,刘威,武旭瑞,赵英交,
申请(专利权)人:西安交通大学,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。