利索能及
我要发布
收藏
专利号: 2017107427054
申请人: 杭州海康威视数字技术股份有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-08-04
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种数据恢复方法,其特征在于,应用于分布式系统中的管理服务器,所述方法包括:确定待恢复元数据指向的存储空间,所述存储空间位于所述分布式系统的存储服务器中;

基于预先获取的数据结构信息,确定所述存储空间包含的存储单元;其中,所述数据结构信息中包括:存储空间与其包含的每个存储单元的对应关系;存储单元为存储数据片段的最小单元,多个存储单元构成一个存储空间,所述一个存储空间的元数据包含所述多个存储单元的索引信息;

读取所确定的存储单元的索引信息;其中,所读取的索引信息中包含所对应存储单元所在的存储空间的第一标识、所对应存储单元存储的数据片段的第一属性;

将所述第一标识确定为所述待恢复元数据包含的每条索引信息中的存储空间标识;

根据所述第一属性、以及预设数据存储策略,确定所述待恢复元数据包含的每条索引信息中的数据片段属性;

基于所述待恢复元数据包含的每条索引信息中的存储空间标识及数据片段属性,恢复得到所述待恢复元数据。

2.根据权利要求1所述的方法,其特征在于,所述数据结构信息中包括:存储空间与其包含的每份条带数据的对应关系、以及所述每份条带数据与其包含的每个存储单元的对应关系;一个存储空间的元数据包含至少一份条带数据,每份条带数据中包含多个存储单元的索引信息;所读取的索引信息还包含所对应条带数据的第二标识;

在所述基于所述待恢复元数据包含的每条索引信息中的存储空间标识及数据片段属性,恢复得到所述待恢复元数据之前,还包括:根据所述第二标识、或者所述第二标识及预设条带标识规则,确定所述元数据包含的每条索引信息中的条带标识;

所述基于所述待恢复元数据包含的每条索引信息中的存储空间标识及数据片段属性,恢复得到所述待恢复元数据,包括:基于所述待恢复元数据包含的每条索引信息中的存储空间标识、数据片段属性及条带标识,恢复得到至少一份条带数据。

3.根据权利要求2所述的方法,其特征在于,所述数据片段属性包含所对应目标数据的标识、所述目标数据的数据量、所对应纠删码策略、条带内序号、数据偏移量;所述第一属性中包含所对应目标数据的第三标识、所对应目标数据的第一数据量、第一纠删码策略、第一条带内序号、第一数据偏移量;

所述根据所述第一属性、以及预设数据存储策略,确定所述元数据包含的每条索引信息中的数据片段属性,包括:根据所述第三标识,确定所述元数据包含的每条索引信息中的目标数据标识;

根据所述第一数据量,确定所述元数据包含的每条索引信息中的目标数据的数据量;

将所述第一纠删码策略确定为所述元数据包含的每条索引信息中的纠删码策略;

根据所述第一条带内序号及预设数据存储策略中的排序规则,确定所述元数据包含的每条索引信息中的条带内序号;

根据所述第一数据偏移量及预设数据存储策略中的偏移规则,确定所述元数据包含的每条索引信息中的数据偏移量。

4.根据权利要求3所述的方法,其特征在于,所述元数据中还包含至少一份目标数据信息,在所述基于所述待恢复元数据包含的每条索引信息中的存储空间标识、数据片段属性及条带标识,恢复得到至少一份条带数据之后,还包括:将所述元数据中目标数据标识相同的条带数据组成一条目标数据信息。

5.根据权利要求1所述的方法,其特征在于,所述数据结构信息中包括:存储空间与其包含的每份条带数据的对应关系、以及所述每份条带数据与其包含的每个存储单元的对应关系;一个存储空间的元数据包含至少一份条带数据,每份条带数据中包含多个存储单元的索引信息;

所述方法还包括:

确定不完整条带数据,所述不完整条带数据为丢失索引信息的条带数据;

基于所述数据结构信息,确定所述不完整条带数据指向的存储单元,作为目标存储单元;

读取所述目标存储单元的索引信息,得到目标存储空间标识、目标条带标识、数据片段的目标属性;

将所述目标存储空间标识确定为丢失的索引信息中的存储空间标识;

将所述目标条带标识确定为所述丢失的索引信息中的条带标识;

根据所述目标属性,确定所述丢失的索引信息中的数据片段属性;

基于所述丢失的索引信息中的存储空间标识、条带标识及数据片段属性,对所述不完整条带数据进行恢复。

6.根据权利要求5所述的方法,其特征在于,所述数据片段属性包含所对应纠删码策略、条带内序号、所对应目标数据的数据量、数据偏移量;所述目标属性包含目标纠删码策略、目标序号、目标数据量、目标数据偏移量;

所述根据所述目标属性,确定所述丢失的索引信息中的数据片段属性,包括:将所述目标纠删码策略确定为所述丢失的索引信息中的纠删码策略;

根据所述目标序号及预设排序规则,确定所述丢失的索引信息中的条带内序号;

将所述目标数据量确定为所述丢失的索引信息中的数据量;

根据所述目标数据偏移量及预设偏移规则,确定所述丢失的索引信息中的数据偏移量。

7.根据权利要求5所述的方法,其特征在于,在确定不完整条带数据之后,所述方法还包括:统计所述不完整条带数据中丢失的索引信息的数量;

判断所述数量是否大于m,所述m为所述不完整条带数据对应的纠删码策略中的冗余片段份数;

如果否,执行所述基于所述数据结构信息,确定所述不完整条带数据指向的存储单元,作为目标存储单元的步骤。

8.根据权利要求7所述的方法,其特征在于,在判断所述数量大于m的情况下,所述方法还包括:重构所述不完整条带数据对应的目标数据;

利用预设的纠删码策略k+m,对所述目标数据进行存储;

获得所述目标数据对应的新的条带数据。

9.根据权利要求5所述的方法,其特征在于,所述确定不完整条带数据,包括:确定丢失索引信息的目标条带数据;

判断所述目标条带数据是否被写满;

如果被写满,将所述目标条带数据确定为不完整条带数据;

如果未被写满,判断所述目标条带数据中的丢失索引信息对应的存储单元是否为空存储单元,如果否,将所述目标条带数据确定为不完整条带数据。

10.根据权利要求6所述的方法,其特征在于,在所述基于所述丢失的索引信息中的存储空间标识、条带标识及数据片段属性,恢复得到所述不完整条带数据之后,还包括:确定所述丢失的索引信息对应的数据长度;

根据所述数据长度、以及所述丢失的索引信息,重构所述丢失的索引信息对应的存储数据。

11.一种数据恢复装置,其特征在于,应用于分布式系统中的管理服务器,所述装置包括:第一确定模块,用于确定待恢复元数据指向的存储空间,所述存储空间位于所述分布式系统的存储服务器中;

第二确定模块,用于基于预先获取的数据结构信息,确定所述存储空间包含的存储单元;其中,所述数据结构信息中包括:存储空间与其包含的每个存储单元的对应关系;存储单元为存储数据片段的最小单元,多个存储单元构成一个存储空间,所述一个存储空间的元数据包含所述多个存储单元的索引信息;

第一读取模块,用于读取所确定的存储单元的索引信息;其中,所读取的索引信息中包含所对应存储单元所在的存储空间的第一标识、所对应存储单元存储的数据片段的第一属性;

第三确定模块,用于将所述第一标识确定为所述待恢复元数据包含的每条索引信息中的存储空间标识;

第四确定模块,用于根据所述第一属性、以及预设数据存储策略,确定所述待恢复元数据包含的每条索引信息中的数据片段属性;

第一恢复模块,用于基于所述待恢复元数据包含的每条索引信息中的存储空间标识及数据片段属性,恢复得到所述待恢复元数据。

12.根据权利要求11所述的装置,其特征在于,所述数据结构信息中包括:存储空间与其包含的每份条带数据的对应关系、以及所述每份条带数据与其包含的每个存储单元的对应关系;一个存储空间的元数据包含至少一份条带数据,每份条带数据中包含多个存储单元的索引信息;所读取的索引信息还包含所对应条带数据的第二标识;

所述装置还包括:

第五确定模块,用于根据所述第二标识、或者所述第二标识及预设条带标识规则,确定所述元数据包含的每条索引信息中的条带标识;

所述第一恢复模块,具体用于:

基于所述待恢复元数据包含的每条索引信息中的存储空间标识、数据片段属性及条带标识,恢复得到至少一份条带数据。

13.根据权利要求12所述的装置,其特征在于,所述数据片段属性包含所对应目标数据的标识、所述目标数据的数据量、所对应纠删码策略、条带内序号、数据偏移量;所述第一属性中包含所对应目标数据的第三标识、所对应目标数据的第一数据量、第一纠删码策略、第一条带内序号、第一数据偏移量;

所述第四确定模块,具体用于:

根据所述第三标识,确定所述元数据包含的每条索引信息中的目标数据标识;

根据所述第一数据量,确定所述元数据包含的每条索引信息中的目标数据的数据量;

将所述第一纠删码策略确定为所述元数据包含的每条索引信息中的纠删码策略;

根据所述第一条带内序号及预设数据存储策略中的排序规则,确定所述元数据包含的每条索引信息中的条带内序号;

根据所述第一数据偏移量及预设数据存储策略中的偏移规则,确定所述元数据包含的每条索引信息中的数据偏移量。

14.根据权利要求13所述的装置,其特征在于,所述元数据中还包含至少一份目标数据信息,所述装置还包括:组合模块,用于将所述元数据中目标数据标识相同的条带数据组成一条目标数据信息。

15.根据权利要求11所述的装置,其特征在于,所述数据结构信息中包括:存储空间与其包含的每份条带数据的对应关系、以及所述每份条带数据与其包含的每个存储单元的对应关系;一个存储空间的元数据包含至少一份条带数据,每份条带数据中包含多个存储单元的索引信息;

所述装置还包括:

第六确定模块,用于确定不完整条带数据,所述不完整条带数据为丢失索引信息的条带数据;

第七确定模块,用于基于所述数据结构信息,确定所述不完整条带数据指向的存储单元,作为目标存储单元;

第二读取模块,用于读取所述目标存储单元的索引信息,得到目标存储空间标识、目标条带标识、数据片段的目标属性;

第八确定模块,用于将所述目标存储空间标识确定为丢失的索引信息中的存储空间标识;

第九确定模块,用于将所述目标条带标识确定为所述丢失的索引信息中的条带标识;

第十确定模块,用于根据所述目标属性,确定所述丢失的索引信息中的数据片段属性;

第二恢复模块,用于基于所述丢失的索引信息中的存储空间标识、条带标识及数据片段属性,恢复得到所述不完整条带数据。

16.根据权利要求15所述的装置,其特征在于,所述数据片段属性包含所对应纠删码策略、条带内序号、所对应目标数据的数据量、数据偏移量;所述目标属性包含目标纠删码策略、目标序号、目标数据量、目标数据偏移量;

所述第十确定模块,具体用于:

将所述目标纠删码策略确定为所述丢失的索引信息中的纠删码策略;

根据所述目标序号及预设排序规则,确定所述丢失的索引信息中的条带内序号;

将所述目标数据量确定为所述丢失的索引信息中的数据量;

根据所述目标数据偏移量及预设偏移规则,确定所述丢失的索引信息中的数据偏移量。

17.根据权利要求15所述的装置,其特征在于,所述装置还包括:统计模块,用于统计所述不完整条带数据中丢失的索引信息的数量;

判断模块,用于判断所述数量是否大于m,所述m为所述不完整条带数据对应的纠删码策略中的冗余片段份数;如果否,触发所述第七确定模块。

18.根据权利要求17所述的装置,其特征在于,所述装置还包括:第一重构模块,用于在所述判断模块判断所述数量大于m的情况下,重构所述不完整条带数据对应的目标数据;

存储模块,用于利用预设的纠删码策略k+m,对所述目标数据进行存储;

获得模块,用于获得所述目标数据对应的新的条带数据。

19.根据权利要求15所述的装置,其特征在于,所述第六确定模块,具体用于:确定丢失索引信息的目标条带数据;

判断所述目标条带数据是否被写满;

如果被写满,将所述目标条带数据确定为不完整条带数据;

如果未被写满,判断所述目标条带数据中的丢失索引信息对应的存储单元是否为空存储单元,如果否,将所述目标条带数据确定为不完整条带数据。

20.根据权利要求16所述的装置,其特征在于,所述装置还包括:第二重构模块,用于确定所述丢失的索引信息对应的数据长度;根据所述数据长度、以及所述丢失的索引信息,重构所述丢失的索引信息对应的存储数据。

21.一种分布式系统,其特征在于,包括:存储服务器和管理服务器,其中,所述存储服务器中包含至少一个存储空间,每个存储空间包含多个存储单元,存储单元为存储数据片段的最小单元;

所述存储服务器,用于存储所述存储服务器中的每个存储单元的索引信息;

所述管理服务器,用于确定待恢复元数据指向的存储空间,所述存储空间位于所述分布式系统的存储服务器中;基于预先获取的数据结构信息,确定所述存储空间包含的存储单元;其中,所述数据结构信息中包括:存储空间与其包含的每个存储单元的对应关系;一个存储空间的元数据包含所述一个存储空间中多个存储单元的索引信息;读取所确定的存储单元的索引信息;其中,所读取的索引信息中包含所对应存储单元所在的存储空间的第一标识、所对应存储单元存储的数据片段的第一属性;将所述第一标识确定为所述待恢复元数据包含的每条索引信息中的存储空间标识;根据所述第一属性、以及预设数据存储策略,确定所述待恢复元数据包含的每条索引信息中的数据片段属性;基于所述待恢复元数据包含的每条索引信息中的存储空间标识及数据片段属性,恢复得到所述待恢复元数据。

22.根据权利要求21所述的系统,其特征在于,所述数据结构信息中包括:存储空间与其包含的每份条带数据的对应关系、以及所述每份条带数据与其包含的每个存储单元的对应关系;一个存储空间的元数据包含至少一份条带数据,每份条带数据中包含多个存储单元的索引信息;

所述管理服务器,还用于:

确定不完整条带数据,所述不完整条带数据为丢失索引信息的条带数据;

基于所述数据结构信息,确定所述不完整条带数据指向的存储单元,作为目标存储单元;

读取所述目标存储单元的索引信息,得到目标存储空间标识、目标条带标识、数据片段的目标属性;

将所述目标存储空间标识确定为丢失的索引信息中的存储空间标识;

将所述目标条带标识确定为所述丢失的索引信息中的条带标识;

根据所述目标属性,确定所述丢失的索引信息中的数据片段属性;

基于所述丢失的索引信息中的存储空间标识、条带标识及数据片段属性,恢复得到所述不完整条带数据。