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

文档序号:37551008发布日期:2024-04-08 14:00阅读:10来源:国知局
一种数据存储方法及装置与流程

本技术涉及存储,尤其涉及一种数据存储方法及装置。


背景技术:

1、磁带因具备成本低、保存时间长等优点,一般被用作深度归档的存储介质。为了提高数据可靠性,存储系统通常将待存储的数据写入数据块中的数据分片,并基于校验技术生成数据块中的校验分片,之后将数据块中的数据分片和校验分片分别写入多个磁带。当某个分片丢失时,可以根据数据块中的其他分片(称作关联分片)重建目标分片。

2、由于磁带不支持部分空间回收,因此,在用户删除写入磁带的分片后,只能将磁带中的该分片标记为删除(或无效),降低磁带的利用率。当磁带的利用率较低时,存储系统对磁带中有效数据进行搬迁,并回收磁带的全部存储空间,此时,被标记删除的分片才能被真正删除。

3、当存储系统为了保证关联分片的可靠性,对其他磁带中的关联分片进行搬迁和标记删除时,会降低关联分片所在磁带(称作关联磁带)的利用率,进而导致大量的磁带被回收,存储系统需要执行大量的数据搬迁操作,浪费存储系统的资源,减低存储系统的性能。


技术实现思路

1、本技术提供一种数据存储方法及装置,即使存储系统对删除分片的关联分片进行搬迁和标记删除,有利于减少存储系统的数据搬迁操作,节约存储系统的资源,保证存储系统性能的稳定性。

2、第一方面,提供一种数据存储方法,可以应用于存储系统,该方法包括:获取目标数据块,所述目标数据块包括n个分片,所述n个分片包括数据分片和校验分片,n为正整数。将所述n个分片分别写入目标分区的n个磁带,所述目标分区为多个分区的一个分区,每个所述分区包括多个磁带中的n个磁带,并且,所述多个磁带中的每个磁带最多被划分至一个所述分区。可选的,在所述多个磁带中回收存储空间的最小单位为所述多个磁带中的至少一个磁带。

3、假设n个分片中的目标分片被写入目标分区的目标磁带,当确定删除目标分片时,可以将目标分片标记为被删除或无效,目标磁带的利用率下降。当回收目标磁带时,若存储系统为了保证目标数据块中其他分片(称作目标分片的关联分片)的可靠性,对目标分片的关联分片进行搬迁并标记删除,会降低该关联分片所在磁带(称作目标分片的关联磁带)的利用率。

4、目标磁带通常包括多个被标记删除的目标分片,回收目标磁带将降低每个目标分片的关联磁带的利用率。由于同一数据块中的所有分片存储在同一分区中,因此即使存储系统对目标分片的关联分片进行搬迁和标记删除,回收目标磁带所影响的磁带将被限制在目标磁带所在的分区中。由于目标磁带最多被划分至一个分区(即目标分区),因此,有利于将回收目标磁带所影响的磁带限制在单个分区(即目标分区)中,从而减少回收目标磁带所影响的磁带的数量,减少存储系统的数据搬迁操作,保证存储系统性能的稳定性。

5、可选的,所述方法还包括:当确定删除所述n个分片中的目标分片时,将所述目标分区中存储的所述目标分片标记为无效数据,并更新所述目标分区的利用率,其中,所述目标分区的利用率与所述目标分区中无效数据的总量相关。根据所述目标分区的利用率回收所述目标分区。根据目标分区的利用率一并回收目标分区中的全部磁带,相当于将在所述多个磁带中回收存储空间的最小单位提升至一个分区,无需分别根据每个磁带的利用率下指令回收相应磁带,提高回收效率。

6、可选的,目标分区为从多个分区中为目标数据块选择的一个分区。

7、存储系统可以包括存储服务器和n个存储设备,每个分区的不同磁带部署于不同存储设备中。可选的,存储服务器可以从多个分区中为目标数据块选择目标分区,之后向n个存储设备发送存储指令,该存储指令携带目标数据块中的一个分片,可选的,该存储指令还指示将分片存储在目标分区的磁带中。可选的,目标分区为从多个分区中为目标数据块随机选择的一个分区。

8、可选的,所述目标分区为根据所述目标数据块的信息从所述多个分区中确定的。

9、可选的,所述目标数据块的信息包括所述目标数据块的生命周期(例如存活期)。这样,有利于在分区中写入生命周期相同或接近的数据块,在回收分区时,未被标记为无效数据的数据量较小,有利于减少搬迁(或称备份)有效数据的开销。

10、可选的,所述目标数据块的信息包括所述目标数据块的标识。每个存储设备接收到存储服务器的存储指令后,可以根据分片所属数据块的标识将分片写入目标分区的磁带,无需存储服务器在存储指令中携带目标分区的标识,有利于减少存储设备对存储服务器的依赖,降低存储服务器的负载。

11、可选的,所述目标数据块的信息包括所述目标数据块的标识和/或所述目标数据块的生命周期。

12、可选的,所述n个分片中的数据分片为根据数据的生命周期从写请求指示写入的全部数据中选择的一部分数据。有利于将删除的对象限制在更少分区中,减少回收过程中搬迁操作的开销。

13、可选的,所述多个磁带为根据运行状态信息从存储集群中选择的磁带,所述运行状态信息指示所述存储集群中每个磁带的运行状态,所述运行状态指示可用状态或不可用状态。这样,有利于避免将目标数据块中的分片存储到不可用的磁带,导致写入失败或降低写入效率

14、第二方面,提供一种数据存储装置,包括:获取模块,用于获取目标数据块,所述目标数据块包括n个分片,所述n个分片包括数据分片和校验分片,n为正整数。存储模块,用于将所述n个分片分别写入目标分区的n个磁带,所述目标分区为多个分区的一个分区,每个所述分区包括多个磁带中的n个磁带,并且,所述多个磁带中的每个磁带最多被划分至一个所述分区。可选的,在所述多个磁带中回收存储空间的最小单位为所述多个磁带中的至少一个磁带。

15、可选的,所述装置还包括回收模块,所述回收模块用于:当确定删除所述n个分片中的目标分片时,将所述目标分区中存储的所述目标分片标记为无效数据,并更新所述目标分区的利用率,其中,所述目标分区的利用率与所述目标分区中无效数据的总量相关;根据所述目标分区的利用率回收所述目标分区。

16、可选的,所述目标分区为根据所述目标数据块的信息从所述多个分区中确定的。

17、可选的,所述目标数据块的信息包括所述目标数据块的标识和/或所述目标数据块的生命周期。

18、可选的,所述n个分片中的数据分片为根据数据的生命周期从写请求指示写入的全部数据中选择的一部分数据。

19、可选的,所述多个磁带为根据运行状态信息从存储集群中选择的磁带,所述运行状态信息指示所述存储集群中每个磁带的运行状态,所述运行状态指示可用状态或不可用状态。

20、第三方面,提供一种计算设备集群,包括至少一个计算设备,每个计算设备包括处理器和存储器;所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如第一方面或第一方面任意一种可能的实现方式所描述的方法。

21、第四方面,提供一种包含指令的计算机程序产品,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如第一方面或第一方面任意一种可能的实现方式所描述的方法。

22、第五方面,提供一种计算机可读存储介质,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如第一方面或第一方面任意一种可能的实现方式所描述的方法。

23、第六方面,提供一种芯片系统,该芯片系统包括处理器和接口电路,该处理器通过该接口电路与存储器耦合,该处理器用于执行该存储器中的程序代码,以执行第一方面或第一方面的任意一种可能的实现方式所描述的方法。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。

24、第七方面,提供一种存储系统,包括多个磁带或存储集群,该存储集群至少包括多个磁带。该存储系统还包括如第二方面提供的数据存储装置或如第三方面提供的计算设备集群或如第六方面提供的芯片系统。

25、由于本技术提供的各装置可用于执行前述对应的方法,因此本技术各装置所能获得到的技术效果可参考前述对应的方法所获得的技术效果,此处不再赘述。

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