数据存储的管理方法、装置及电子设备与流程

文档序号:34021793发布日期:2023-05-05 01:52阅读:37来源:国知局
数据存储的管理方法、装置及电子设备与流程

本发明实施例涉及云,具体而言,涉及一种数据存储的管理方法、装置及电子设备。


背景技术:

1、在数字化转型的背景下,数据量呈指数增长,分布式存储已经得到普遍应用。硬盘作为一种经济高效的存储介质,在当今的众多领域(如:安防领域等)中依然起着中流砥柱的作用。目前硬盘大多还在使用常规式磁记录(cmr,conventional magnetic recording)技术,但该技术即将达到其存储密度极限,业内迫切希望引入新的技术来克服限制,继续提升存储容量。

2、在存储容量饥荒问题的迫切需求下,叠瓦式磁记录(smr,shingled magneticrecording)盘的诞生了,该磁盘缩小磁轨间的保护间距,允许磁轨相互重叠,可在不缩小磁头的前提下大大提高了存储密度,降低了磁盘单位存储容量的成本,但是,smr盘存在读写限制,其不支持随机写,只能以256mb作为连续写入和删除的最小单位(称为一个zone),每个zone内有一写指针,用于控制zone内数据的顺序写入。

3、在相关技术中,数据节点(dn,date node)基于内存中的硬盘索引数据提供与smr盘相关的存储服务,当发生系统异常重启等事件时,会导致内存中的硬盘索引数据异常丢失,硬盘索引数据难以恢复,从而影响存储服务的正常进行,具有系统容灾能力差的问题。


技术实现思路

1、本发明实施例提供了一种数据存储的管理方法、装置及电子设备,以至少解决相关技术中当内存中的硬盘索引数据异常丢失时,硬盘索引数据难以恢复所造成的系统容灾能力差的问题。

2、根据本发明的一个实施例,提供了一种数据存储的管理方法,包括:响应第一写数据指令,获取数据块,将数据块写入第一硬盘内;基于数据块的标识和数据块的存储信息,生成与数据块对应的第一索引键值对;将第一索引键值对存储至第一硬盘内,并将第一索引键值对存储至第一硬盘所在的终端的内存中,其中,终端用于基于内存中的索引键值对提供存储服务;在内存中的第一索引键值对丢失的情况下,基于第一硬盘内的第一索引键值对,恢复内存中的第一索引键值对。

3、在一个示例性实施例中,数据存储的管理方法还包括:将第一索引键值对存储至第一硬盘的目标分区内的目标日志中。

4、在一个示例性实施例中,数据存储的管理方法还包括:按照第一预设时间周期对内存中与第一硬盘对应的多个索引键值对进行序列化处理,得到与第一硬盘对应的目标快照文件;当每次得到新的目标快照文件时,将新的目标快照文件存储至目标分区,并删除目标分区中的历史目标快照文件以及当前目标日志,创建新的目标日志;在内存中的第一索引键值对丢失的情况下,基于新的目标日志内的索引键值对以及目标分区中的目标快照文件,恢复内存中的第一索引键值对。

5、在一个示例性实施例中,数据存储的管理方法还包括:按照第二预设时间周期对内存中多个硬盘对应的索引键值对进行序列化处理,得到目标快照文件;当每次得到新的目标快照文件时,将新的目标快照文件存储至第二硬盘,删除第二硬盘中的历史目标快照文件,并删除目标分区内的当前目标日志,创建新的目标日志,其中,第二硬盘与第一硬盘不同;在内存中的第一索引键值对丢失的情况下,基于新的目标日志内的索引键值对以及第二硬盘中的目标快照文件,恢复内存中的第一索引键值对。

6、在一个示例性实施例中,数据存储的管理方法还包括:确定数据块的存储生命周期以及数据大小,并确定第一硬盘内至少一个可用zone的剩余空间以及到期时间;基于至少一个可用zone的剩余空间以及到期时间,确定至少一个可用zone中是否存在目标可用zone;若至少一个可用zone中存在目标可用zone,则将数据块写入目标可用zone;若至少一个可用zone中不存在目标可用zone,则将数据块写入第一硬盘内的任意一个空闲zone,并确定写入数据块的空闲zone为可用zone。

7、在一个示例性实施例中,数据存储的管理方法还包括:基于数据块的存储生命周期确定数据块的到期时间;基于至少一个可用zone的剩余空间以及到期时间,确定至少一个可用zone中是否存在至少一个初始目标可用zone,其中,至少一个初始目标可用zone的到期时间与数据块的到期时间相同,并且至少一个初始目标可用zone的剩余空间大于或等于数据块的数据大小;若存在至少一个初始目标可用zone,则根据每个初始目标可用zone的剩余空间,从至少一个初始目标可用zone筛选出目标可用zone;若不存在至少一个初始目标可用zone,则确定不存在目标可用zone。

8、在一个示例性实施例中,数据存储的管理方法还包括:在将第一索引键值对存储至第一硬盘内,并将第一索引键值对存储至第一硬盘所在的终端的内存中之后,响应目标对象的读数据指令,获取目标索引键,其中,第一索引键值对由目标索引键和目标索引值组成;基于目标索引键,从内存中查询到与目标索引键对应的第一硬盘,并基于第一硬盘,从内存中查询与第一硬盘对应的数据集合,其中,数据集合包括与第一硬盘对应的多个索引值;从数据集合中筛选出与目标索引键匹配的索引值,得到目标索引值;根据目标索引值从第一硬盘内读取数据块,并将数据块反馈给目标对象。

9、在一个示例性实施例中,数据存储的管理方法还包括:在将第一索引键值对存储至第一硬盘内,并将第一索引键值对存储至第一硬盘所在的终端的内存中之后,响应删除数据指令,在目标日志中添加第二索引键值对,其中,第一索引键值对与第二索引键值对均记录有数据块的数据状态,且第一索引键值对中记录的数据状态表征数据块未删除,第二索引键值对中记录的数据状态表征数据块已删除;基于第二索引键值对,删除内存中的第一索引键值对,并确定内存中是否存在与目标zone对应的索引键值对,其中,目标zone为存储有数据块的zone;若内存中不存在与目标zone对应的索引键值对,则确定目标zone为空闲zone;响应第二写数据指令,获取目标数据块,将目标数据块写入目标zone。

10、根据本发明的另一个实施例,提供了一种数据存储的管理装置,包括:第一获取模块,用于响应第一写数据指令,获取数据块,将数据块写入第一硬盘内;生成模块,用于基于数据块的标识和数据块的存储信息,生成与数据块对应的第一索引键值对;存储模块,用于将第一索引键值对存储至第一硬盘内,并将第一索引键值对存储至第一硬盘所在的终端的内存中,其中,终端用于基于内存中的索引键值对提供存储服务;恢复模块,用于在内存中的第一索引键值对丢失的情况下,基于第一硬盘内的第一索引键值对,恢复内存中的第一索引键值对。

11、根据本发明的又一个实施例,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被处理器执行时实现上述任一项方法实施例中的步骤。

12、根据本发明的又一个实施例,还提供了一种电子设备,包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述任一项方法实施例中的步骤。

13、在本发明实施例中,采用基于第一硬盘内的硬盘索引数据,恢复内存中的硬盘索引数据的方式,通过响应第一写数据指令,获取数据块,将数据块写入第一硬盘内,然后基于数据块的标识和数据块的存储信息,生成与数据块对应的第一索引键值对,接着将第一索引键值对存储至第一硬盘内,并将第一索引键值对存储至第一硬盘所在的终端的内存中,从而在内存中的第一索引键值对丢失的情况下,基于第一硬盘内的第一索引键值对,恢复内存中的第一索引键值对。其中,终端用于基于内存中的索引键值对提供存储服务。

14、容易注意到的是,在上述过程中,通过将用于确定数据块的存储信息的第一索引键值对存储至第一硬盘所在的终端的内存中,使得终端可以正常提供存储服务,通过将第一索引键值对存储至第一硬盘内,实现了对第一索引键值对的有效备份。进一步地,通过在内存中的硬盘索引数据异常丢失后,基于第一硬盘内的第一索引键值对,恢复内存中的第一索引键值对,实现了对内存中的硬盘索引数据的有效恢复,保证了内存中的硬盘索引数据的完整性,从而使得终端能够快速恢复提供正常的存储服务,提高了系统的容灾能力。

15、由此可见,本技术所提供的方案达到了基于第一硬盘内的硬盘索引数据,恢复内存中的硬盘索引数据的目的,从而实现了提高系统容灾能力的技术效果,进而解决了相关技术中当内存中的硬盘索引数据异常丢失时,硬盘索引数据难以恢复所造成的系统容灾能力差的技术问题。

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