临时存储副本管理方法、系统、设备和存储介质技术方案

技术编号:35163039 阅读:13 留言:0更新日期:2022-10-12 17:24
本申请提供了一种临时存储副本管理方法、系统、设备和存储介质,其中具体包括在存储副本出现读写错误的情况下,将失败副本从副本位置中移除并为失败副本分配对应的临时副本,通过临时副本实现失败副本的数据备份和恢复。通过本申请提出的技术方案,以引入临时副本的形式对分布式存储系统的副本剔除策略进行了优化,能够避免在服务器网络抖动和磁盘存储异常的故障叠加场景下出现数据丢失难以寻回的情况,借助临时副本的搭建提升了分布式存储系统整体的数据可恢复性,提高了多副本备份的数据安全性,具有可推广价值。具有可推广价值。具有可推广价值。

【技术实现步骤摘要】
临时存储副本管理方法、系统、设备和存储介质


[0001]本申请涉及分布式存储
,具体地,公开了一种临时存储副本管理方法、系统、设备和存储介质。

技术介绍

[0002]传统的网络存储系统,往往采用集中的存储服务器对所有数据进行统一的管理和存放,导致存储服务器的部署、硬件性能以及数据管理模式均可能成为整个存储系统的发展瓶颈,难以满足日益增长的大规模存储需求。因此,越来越多的网络存储系统开始采用将数据分散存储在多台独立服务器的分布式存储系统。分布式块存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用副本管理服务进行副本分配,恢复和迁移,不但有效提高了系统的可靠性、可用性和存取效率,还具有易于扩展的特性。
[0003]现有技术中,分布式块存储系统提供了虚拟机卷供用户使用,用户可以通过存储协议(如iSCSI等)将虚拟机卷挂载到虚拟机或者计算节点。分布式块存储系统中一般将虚拟卷划分成若干个小数据块进行管理和存储,每个小数据块代表一个合适的物理空间大小,比如64MB或是256MB等。
[0004]对于小数据块而言,可以采用多种方式进行存储管理,其中一种生产中常见的方式是多副本存储模式,用于避免某个副本所在的存储服务器出现异常情况(例如磁盘故障、网络波动、网络连接断开失联等)而引起的可能的数据丢失。而为了保证小数据块的多个副本间保持数据的一致性,在某一副本出现读写错误或读写失败的情况下,需要及时剔除掉失败副本然后进行数据恢复。

技术实现思路

[0005]本申请提供了一种临时存储副本管理方法、系统、设备和计算机可读存储介质。其中具体的,本申请的第一方面提供了一种临时存储副本管理方法,其中数据块对应若干存储副本,存储副本分布在不同的存储服务器中;
[0006]该种临时存储副本管理方法包括如下步骤:
[0007]在存储副本出现读写错误的情况下,将失败副本从副本位置中移除并为失败副本分配对应的临时副本;
[0008]通过读写管理队列对临时副本执行数据更新操作;
[0009]在接收到恢复指令的情况下,将临时副本存储的数据块恢复至新增存储副本中,并移除临时副本。
[0010]在前述第一方面的一种可能的实现中,将失败副本从副本位置中移除并为失败副本分配对应的临时副本包括如下步骤:
[0011]判断数据块对应的临时副本的数量与存储副本的数量之和是否小于预设期望阈值:
[0012]若是,则根据预设约束规则为失败副本分配对应的临时副本;
[0013]若否,则将失败副本从副本位置中移除后不执行任何步骤。
[0014]在前述第一方面的一种可能的实现中,预设约束规则包括以下的一项或多项:
[0015]临时副本对应的存储服务节点的可用存储空间大于预设阈值;
[0016]临时副本对应的存储服务节点与数据块的其他存储副本对应的存储服务节点不同;以及
[0017]临时副本对应的存储服务节点与失败副本对应的存储服务节点不同。
[0018]在前述第一方面的一种可能的实现中,通过读写管理队列对临时副本执行数据更新操作包括如下步骤:
[0019]记录临时副本对应的未返回写IO个数以及未返回IO对应的最大数据版本;
[0020]在未返回写IO对应的数据版本小于最大数据版本且未返回写IO返回的情况下,将未返回写IO个数减1并将对应的IO置入读写管理队列;
[0021]在未返回写IO个数为零的情况下,根据读写管理队列依照数据版本递增的顺序将对应的IO重放至临时副本中。
[0022]在前述第一方面的一种可能的实现中,在未返回写IO个数不为零的情况下,新写入的写IO直接置入读写管理队列;
[0023]在IO重放至临时副本完成的情况下,新写入的写IO直接置入临时副本中。
[0024]在前述第一方面的一种可能的实现中,临时副本记录的元数据包括:
[0025]临时副本对应的最小数据版本;
[0026]临时副本对应的最大数据版本;以及
[0027]临时副本对应的有效读写区域。
[0028]在前述第一方面的一种可能的实现中,在接收到恢复指令的情况下将临时副本存储的数据块恢复至新增存储副本中并移除临时副本包括如下步骤:
[0029]获取恢复指令,恢复指令包括临时副本信息和恢复目标地信息;
[0030]在恢复目标地对应的副本状态为异常的情况下,终止恢复步骤的执行;
[0031]在恢复目标地对应的数据版本不在临时副本对应的数据版本区间内的情况下,终止恢复步骤的执行。
[0032]本申请的第二方面提供了一种临时存储副本管理系统,应用于前述第一方面提供的临时存储副本管理方法中;
[0033]该种临时存储副本管理系统包括:
[0034]分配单元,用于在存储副本出现读写错误的情况下,将失败副本从副本位置中移除并为失败副本分配对应的临时副本;
[0035]管理单元,用于通过读写管理队列对临时副本执行数据更新操作;
[0036]恢复单元,用于在接收到恢复指令的情况下,将临时副本存储的数据块恢复至新增存储副本中,并移除临时副本。
[0037]本申请的第三方面公开了一种临时存储副本管理设备,包括:
[0038]存储器,用于存储计算机程序;
[0039]处理器,用于执行计算机程序时实现如前述第一方面提供的临时存储副本管理方法。
[0040]本申请的第四方面公开了一种计算机可读存储介质,计算机可读存储介质上存储
有计算机程序,计算机程序被处理器执行时实现如前述第一方面提供的临时存储副本管理方法。
[0041]与现有技术相比,本申请具有如下的有益效果:
[0042]本申请提供了一种临时存储副本管理方法、系统、设备和计算机可读存储介质。通过本申请提出的技术方案,以引入临时副本的形式对分布式存储系统的副本剔除策略进行了优化,能够避免在服务器网络抖动和磁盘存储异常的故障叠加场景下出现数据丢失难以寻回的情况,借助临时副本的搭建提升了分布式存储系统整体的数据可恢复性,提高了多副本备份的数据安全性,具有可推广价值。
附图说明
[0043]通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:
[0044]图1根据本申请实施例,示出了一种临时存储副本管理方法的流程示意图;
[0045]图2根据本申请实施例,示出了一种在将失败副本从副本位置中移除并为失败副本分配对应的临时副本的流程示意图;
[0046]图3根据本申请实施例,示出了一种通过读写管理队列对临时副本执行数据更新操作的流程示意图;
[0047]图4根据本申请实施例,示出了一种将临时副本存储的数据块恢复至新增存储副本中并移除临时副本的流程示意图;
[0048]图5根据本申请实施例,示出了一种临时存储副本管理系统的结构示意图;
[0049]图6根据本申请实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种临时存储副本管理方法,其特征在于,数据块对应若干存储副本,所述存储副本分布在不同的存储服务器中;所述临时存储副本管理方法包括如下步骤:在所述存储副本出现读写错误的情况下,将失败副本从副本位置中移除并为所述失败副本分配对应的临时副本;通过读写管理队列对所述临时副本执行数据更新操作;在接收到恢复指令的情况下,将所述临时副本存储的数据块恢复至新增存储副本中,并移除所述临时副本。2.如权利要求1所述的临时存储副本管理方法,其特征在于,所述将失败副本从副本位置中移除并为失败副本分配对应的临时副本包括如下步骤:判断所述数据块对应的所述临时副本的数量与所述存储副本的数量之和是否小于预设期望阈值:若是,则根据预设约束规则为所述失败副本分配对应的所述临时副本;若否,则将所述失败副本从副本位置中移除后不执行任何步骤。3.如权利要求2所述的临时存储副本管理方法,其特征在于,所述预设约束规则包括以下的一项或多项:所述临时副本对应的存储服务节点的可用存储空间大于预设阈值;所述临时副本对应的存储服务节点与所述数据块的其他所述存储副本对应的存储服务节点不同;以及所述临时副本对应的存储服务节点与所述失败副本对应的存储服务节点不同。4.如权利要求1所述的临时存储副本管理方法,其特征在于,所述通过读写管理队列对临时副本执行数据更新操作包括如下步骤:记录所述临时副本对应的未返回写IO个数以及未返回IO对应的最大数据版本;在所述未返回写IO对应的数据版本小于所述最大数据版本且所述未返回写IO返回的情况下,将所述未返回写IO个数减1并将对应的IO置入所述读写管理队列;在所述未返回写IO个数为零的情况下,根据所述读写管理队列依照数据版本递增的顺序将对应的IO重放至所述临时副本中。5.如权利要求4中所述的临时存储副本管理方法,...

【专利技术属性】
技术研发人员:朱伟鹏徐文豪王弘毅张凯
申请(专利权)人:北京志凌海纳科技有限公司
类型:发明
国别省市:

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

1