一种数据存储方法以及数据存储装置与流程

文档序号:12463877阅读:来源:国知局

技术特征:

1.一种数据存储方法,应用于包括数据副本,虚拟副本和数据存储装置的分布式存储系统,其特征在于,包括:

所述数据存储装置发送正常写请求到所述数据副本和所述虚拟副本;

所述数据存储装置接收所述数据副本和所述虚拟副本发送的第一反馈信息;

若所述第一反馈信息指示所述数据副本和所述虚拟副本执行所述正常写请求成功且所述数据副本中存在第一离线副本,则所述数据存储装置向所述虚拟副本发送携带第一指控信息的指控写请求,以使得所述虚拟副本将所述第一指控信息进行存储,所述第一指控信息包括所述正常写请求的数据和所述第一离线副本的信息;

若所述携带第一指控信息的指控写请求执行成功,当所述第一离线副本恢复在线时,所述数据存储装置根据所述正常写请求的数据修复所述第一离线副本。

2.根据权利要求1所述的方法,其特征在于,所述正常写请求包括携带真实数据的写请求和不携带真实数据的写请求,所述数据存储装置发送正常写请求所述数据副本和所述虚拟副本包括:

所述数据存储装置将所述携带真实数据的写请求发送给所述数据副本以及将所述不携带真实数据的写请求发送给所述虚拟副本。

3.根据权利要求1或2所述的方法,其特征在于,所述数据存储装置根据所述正常写请求的数据修复所述第一离线副本之前,所述方法还包括:

所述数据存储装置向所述数据副本中的第一在线副本发送携带所述第一指控信息的指控写请求;

所述数据存储装置根据所述正常写请求的数据修复所述第一离线副本包括:

若所述虚拟副本执行所述携带第一指控信息的指控写请求成功,则所述数据存储装置根据所述虚拟副本中的所述正常写请求的数据修复所述第一离线副本;

若所述虚拟副本执行所述携带第一指控信息的指控写请求失败,则所述数据存储装置在所述第一在线副本中任意选择所述正常写请求的数据恢复所述第一离线副本。

4.根据权利要求1所述的方法,其特征在于,所述数据存储装置向所述虚拟副本发送携带第一指控信息的指控写请求之后,所述方法还包括:

若所述第一离线副本离线时长超过预定时长或所述虚拟副本存储的数据体积大于预设体积,且所述虚拟副本在线,则所述数据存储装置将所述第一离线副本降级为虚拟副本以及将所述虚拟副本根据所述第一在线副本的数据升级为数据副本。

5.根据权利要求1所述的方法,其特征在于,在所述第一离线副本恢复在线且所述数据存储装置正在修复所述第一离线副本时,所述方法还包括:

所述数据存储装置向所述数据副本和所述虚拟副本发送修复写请求,所述数据副本中的所述第一离线副本接收的所述修复写请求携带有第二指控信息,所述第二指控信息包括所述修复写请求的数据以及用于指示所述第一离线副本在数据修复完成之后执行所述修复写请求;

所述数据存储装置接收所述数据副本和所述虚拟副本发送的第二反馈信息;

若所述第二反馈信息指示所述数据副本和所述虚拟副本执行所述修复写请求成功且所述数据副本存在第二离线副本,则所述数据存储装置向所述虚拟副本发送携带第三指控信息的指控写请求,所述第三指控信息包括所述修复写请求的数据和所述第二离线副本的信息;

若所述携带第三指控信息的指控写请求执行成功,当所述第二离线副本恢复在线时,所述数据存储装置根据所述修复写请求的数据恢复所述第二离线副本。

6.根据权利要求1所述的方法,其特征在于,所述数据存储装置根据所述正常写请求的数据修复所述第一离线副本之前,所述方法还包括:

所述数据存储装置向所述数据副本的第一在线副本和所述虚拟副本发送降级写请求,所述降级写请求包括第四指控信息,所述第四指控信息包括所述第一离线副本的信息和所述降级写请求的数据;

所述数据存储装置接收所述第一在线副本和所述虚拟副本发送的第三反馈信息;

若所述第三反馈信息指示所述第一在线副本与所述虚拟副本中超过半数副本执行所述降级写请求成功,则所述数据存储装置确定所述降级写请求执行成功。

7.一种数据存储装置,应用于包括数据副本,虚拟副本和数据存储装置的分布式存储系统,其特征在于,包括:

第一发送模块,用于发送正常写请求到所述数据副本和所述虚拟副本;

第一接收模块,用于接收所述数据副本和所述虚拟副本发送的第一反馈信息;

第二发送模块,用于若所述接收模块接收到的所述第一反馈信息指示所述数据副本和所述虚拟副本执行所述正常写请求成功且所述数据副本中存在第一离线副本,则向所述虚拟副本发送携带第一指控信息的指控写请求,以使得所述虚拟副本将所述第一指控信息进行存储,所述第一指控信息包括所述正常写请求的数据和所述第一离线副本的信息;

第一修复模块,用于若所述携带第一指控信息的指控写请求执行成功,当所述第一离线副本恢复在线时,根据所述正常写请求的数据恢复所述第一离线副本。

8.根据权利要求7所述的数据存储装置,其特征在于,所述正常写请求包括携带真实数据的写请求和不携带真实数据的写请求,所述第一发送模块包括:

发送单元,用于将所述携带真实数据的写请求发送给所述数据副本以及将所述不携带真实数据的写请求发送给所述虚拟副本。

9.根据权利要求7或8所述的数据存储装置,其特征在于,所述数据存储装置还包括:

第三发送模块,用于向所述数据副本中的第一在线副本发送携带所述第一指控信息的指控写请求;

所述第一修复模块包括:

第一恢复单元,用于若所述虚拟副本执行所述携带第一指控信息的指控写请求成功,则根据所述虚拟副本中的所述正常写请求的数据恢复所述第一离线副本;

第二恢复单元,用于若所述虚拟副本执行所述携带第一指控信息的指控写请求失败,则在所述第一在线副本中任意选择所述正常写请求的数据恢复所述第一离线副本。

10.根据权利要求7所述的数据存储装置,其特征在于,所述数据存储装置还包括:

处理模块,用于若所述第一离线副本离线时长超过预定时长或所述虚拟副本存储的数据体积大于预设体积,且所述虚拟副本在线,则将所述第一离线副本降级为虚拟副本以及将所述虚拟副本根据所述第一在线副本的数据升级为数据副本。

11.根据权利要求7所述的数据存储装置,其特征在于,在所述第一离线副本恢复在线且所述数据存储装置正在修复所述第一离线副本时,所述数据存储装置还包括:

第四发送模块,用于向所述数据副本和所述虚拟副本发送修复写请求,所述数据副本中的所述第一离线副本接收的所述修复写请求携带有第二指控信息,所述第二指控信息包括所述修复写请求的数据以及用于指示所述第一离线副本在数据修复完成之后执行所述修复写请求;

第二接收模块,用于接收所述数据副本和所述虚拟副本发送的第二反馈信息;

第五发送模块,用于若所述第二反馈信息指示所述数据副本和所述虚拟副本执行所述修复写请求成功且所述数据副本存在第二离线副本,则向所述虚拟副本发送携带第三指控信息的指控写请求,所述第三指控信息包括所述修复写请求的数据和所述第二离线副本的信息;

第二修复模块,用于若所述携带第三指控信息的指控写请求执行成功,当所述第二离线副本恢复在线时,根据所述修复写请求的数据恢复所述第二离线副本。

12.根据权利要求7所述的数据存储装置,其特征在于,所述数据存储装置还包括:

第六发送模块,用于向所述数据副本的第一在线副本和所述虚拟副本发送降级写请求,所述降级写请求包括第四指控信息,所述第四指控信息包括所述第一离线副本的信息和所述降级写请求的数据;

第三接收模块,用于接收所述第一在线副本和所述虚拟副本发送的第三反馈信息;

确定模块,用于若所述第三反馈信息指示所述第一在线副本与所述虚拟副本中超过半数副本执行所述降级写请求成功,则确定所述降级写请求执行成功。

13.一种数据存储装置,应用于包括数据副本,虚拟副本和数据存储装置的分布式存储系统,其特征在于,包括:

收发器,处理器,以及总线;

所述收发器与所述处理器通过所述总线相连;

所述收发器,执行如下步骤:

发送正常写请求所述数据副本和所述虚拟副本;接收所述数据副本和所述虚拟副本发送的第一反馈信息;若所述第一反馈信息指示所述数据副本和所述虚拟副本执行所述正常写请求成功且所述数据副本中存在第一离线副本,则向所述虚拟副本发送携带第一指控信息的指控写请求,以使得所述虚拟副本将所述第一指控信息进行存储,所述第一指控信息包括所述正常写请求的数据和所述第一离线副本的信息;

所述处理器,执行如下步骤:

若所述携带第一指控信息的指控写请求执行成功,当所述第一离线副本恢复在线时,根据所述正常写请求的数据恢复所述第一离线副本。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1