文件存储方法及装置与流程

文档序号:36411470发布日期:2023-12-19 01:06阅读:23来源:国知局
文件存储方法及装置与流程

本技术实施例涉及计算机领域,具体而言,涉及一种文件存储方法及装置。


背景技术:

1、现有技术中,对于存储系统内数据的部署,可以将数据切割成许多区段,分别存放在各个磁盘上,可以使得各个磁盘并行处理主机读/写请求,在提升存储系统的存储容量的同时,可以提高存储系统的读/写性能。

2、然而,在接收到对raid存储系统的混合读写请求的情况下,读取和写入同时发生时,读取请求可能会被堵塞在大量写入请求之后,导致读写性能大幅下降。

3、因此,现有技术中存储系统内的文件存储方式,存在对存储系统内所进行的读写请求的响应效率较低的问题。


技术实现思路

1、本技术实施例提供了一种文件存储方法及装置,以至少解决现有技术中存储系统内的文件存储方式存在对存储系统所进行的读写请求的响应效率较低的问题。

2、根据本技术的一个实施例,提供了一种文件存储方法,包括:确定目标文件的目标文件类型,其中,所述目标文件为需要存储到存储系统的文件;在所述存储系统的多个磁盘组中确定用于存储所述目标文件类型的文件的目标磁盘组,其中,所述多个磁盘组中的每个磁盘组用于存储对应的一个文件类型的文件,每个文件类型对应的读写特征不同,所述每个文件类型对应的读写特征用于表示所述每个文件类型的文件的读取频率与写入频率之间的大小关系;将所述目标文件存储到所述目标磁盘组。

3、在一个示例性实施例中,所述确定目标文件的目标文件类型,包括:获取所述目标文件的描述参数,其中,所述描述参数用于表示所述目标文件的来源;根据所述描述参数,确定所述目标文件的所述目标文件类型。

4、在一个示例性实施例中,所述获取所述目标文件的描述参数,包括:调用所述存储系统上的第一预设接口,以获取所述描述参数,其中,所述第一预设接口为所述存储系统与目标线程之间的通信接口,所述目标线程用于获取所述目标文件。

5、在一个示例性实施例中,所述根据所述描述参数,确定所述目标文件的所述目标文件类型,包括以下至少之一:在所述描述参数表示所述目标文件为待记录的日志文件的情况下,确定所述目标文件类型为日志文件类型;在所述描述参数表示所述目标文件为执行刷新操作所确定的文件的情况下,确定所述目标文件类型为刷新文件类型,其中,所述刷新操作用于将所述存储系统的内存中的文件存储在所述存储系统的磁盘中,并清空所述内存中的文件,所述目标文件包括所述内存中的文件;在所述描述参数表示所述目标文件是对所述存储系统的磁盘中的文件执行压缩操作所得到的文件的情况下,确定所述目标文件类型为压缩文件类型。

6、在一个示例性实施例中,在确定所述目标文件类型为刷新文件类型之前,所述方法还包括:在所述内存中存储的文件大于或者等于预设的所述内存的容量阈值的情况下,对所述内存中的文件执行所述刷新操作。

7、在一个示例性实施例中,所述日志文件类型对应第一读写特征,其中,所述第一读写特征用于表示所述日志文件类型的文件的写入频率大于读取频率、且所述日志文件类型的文件的写入频率与总频率的比值大于或等于第一预设阈值,或者所述日志文件类型的文件的读取频率大于写入频率、且所述日志文件类型的文件的读取频率与所述总频率的比值大于或等于第一预设阈值,所述总频率为写入频率和读取频率之和;和/或,所述刷新文件类型对应第二读写特征,其中,所述第二读写特征用于表示所述刷新文件类型的文件的写入频率与读取频率之间的第一差值的绝对值大于或等于第二预设阈值;和/或,所述压缩文件类型对应第三读写特征,其中,所述第三读写特征用于表示所述压缩文件类型的文件的写入频率大于读取频率、且所述压缩文件类型的文件的写入频率与读取频率之间的第二差值大于或等于第三预设阈值。

8、在一个示例性实施例中,在确定所述目标文件类型为压缩文件类型之前,所述方法还包括以下之一:在所述存储系统的磁盘中存储的文件的总容量大于或者等于预设的第一容量阈值的情况下,对所述存储系统的磁盘中存储的至少部分文件执行所述压缩操作,其中,所述目标文件是对所述存储系统的磁盘中存储的所述至少部分文件执行所述压缩操作所得到的文件;在所述存储系统的磁盘中存储的文件等级为目标等级的文件的总容量大于或者等于预设的第二容量阈值的情况下,对所述存储系统的磁盘中存储的文件等级为所述目标等级的文件执行所述压缩操作,其中,所述目标文件是对所述存储系统的磁盘中存储的文件等级为所述目标等级的文件执行所述压缩操作所得到的文件;在所述存储系统的磁盘中存储的文件等级高于目标等级的文件的总容量大于或者等于预设的第三容量阈值的情况下,对所述存储系统的磁盘中存储的文件等级高于所述目标等级的文件执行所述压缩操作,其中,所述目标文件是对所述存储系统的磁盘中存储的文件等级高于所述目标等级的文件执行所述压缩操作所得到的文件。

9、在一个示例性实施例中,在所述确定所述目标文件类型为压缩文件类型之前,所述方法还包括:在当前时刻满足预设时间间隔的情况下,对所述存储系统的磁盘中存储的文件等级为目标等级的文件执行所述压缩操作,其中,所述预设时间间隔为对所述目标等级的文件执行相邻两次压缩操作的时间间隔。

10、在一个示例性实施例中,在所述确定所述目标文件类型为压缩文件类型之后,所述方法还包括:确定所述压缩操作的开始时间和结束时间;将生成时间位于所述开始时间与所述结束时间之间的文件确定为所述目标文件。

11、在一个示例性实施例中,所述确定所述压缩操作的开始时间和结束时间,包括:通过所述存储系统的第二预设接口,获取所述压缩操作的开始时间和结束时间。

12、在一个示例性实施例中,所述在所述存储系统的多个磁盘组中确定用于存储所述目标文件类型的文件的目标磁盘组,包括:在所述多个磁盘组中存在n个磁盘组、且所述n个磁盘组均用于存储所述目标文件类型的文件、n为大于或等于2的正整数的情况下,根据所述目标文件所需的目标写入带宽,在所述n个磁盘组中确定m个磁盘组,其中,所述目标磁盘组包括所述m个磁盘组,m为大于或等于1、且小于或等于n的正整数,所述目标写入带宽表示在存储所述目标文件时单位时间内所需的写入容量,所述m个磁盘组的总空闲写入带宽大于或等于所述目标写入带宽,所述总空闲写入带宽表示所述m个磁盘组所允许的所述单位时间内的写入容量。

13、在一个示例性实施例中,所述根据所述目标文件所需的目标写入带宽,在所述n个磁盘组中确定m个磁盘组,包括:在所述n个磁盘组中存在k个磁盘组、且所述k个磁盘组中的每个磁盘组的空闲写入带宽均大于或等于所述目标写入带宽的情况下,在所述k个磁盘组中选择一个磁盘组,其中,m等于1,所述m个磁盘组包括所述一个磁盘组,k为大于或等于2、且小于或等于n的正整数。

14、在一个示例性实施例中,所述在所述k个磁盘组中选择一个磁盘组,包括以下之一:在所述k个磁盘组中随机选择一个磁盘组;在所述k个磁盘组中选择一个磁盘组,其中,在所述k个磁盘组中,所述一个磁盘组的空闲写入带宽最大;在所述k个磁盘组中选择一个磁盘组,其中,在所述k个磁盘组中,所述一个磁盘组的空闲写入带宽除以总写入带宽所得到的比值最大,所述总写入带宽表示所述一个磁盘组所允许的所述单位时间内的最大写入容量;在所述k个磁盘组中选择一个磁盘组,其中,在所述k个磁盘组中,所述一个磁盘组的已用读取带宽最小,或,所述一个磁盘组的已用读取带宽与总读取带宽所得到的比值最小,所述已用读取带宽表示所述一个磁盘组已被占用的所述单位时间内的读取容量,所述总读取带宽用于表示所述一个磁盘组所允许的所述单位时间内的最大读取容量。

15、在一个示例性实施例中,所述根据所述目标文件所需的目标写入带宽,在所述n个磁盘组中确定m个磁盘组,包括:在所述n个磁盘组中存在r种磁盘组组合、且每种磁盘组组合包括至少两个磁盘组,所述每种磁盘组组合的总空闲写入带宽均大于或等于所述目标写入带宽的情况下,在所述r种磁盘组组合中选择一种磁盘组组合,其中,m等于2,所述m个磁盘组包括所述一种磁盘组组合中的各个磁盘组,第i种磁盘组组合的总空闲写入带宽表示所述第i种磁盘组组合中的各个磁盘组的空闲写入带宽之和,r为大于或等于2的正整数,i为大于或等于1的正整数。

16、在一个示例性实施例中,所述在所述r种磁盘组组合中选择一种磁盘组组合,包括以下之一:在所述r种磁盘组组合中随机选择一种磁盘组组合;在所述r种磁盘组组合中选择一种磁盘组组合,其中,在所述r种磁盘组组合中,所述一种磁盘组组合的总空闲写入带宽最大;在所述r种磁盘组组合中选择一种磁盘组组合,其中,在所述r种磁盘组组合中,所述一种磁盘组组合的总空闲写入带宽除以总写入带宽之和所得到的比值最大,所述总写入带宽之和表示所述一种磁盘组组合中的各个磁盘组所允许的所述单位时间内的最大写入容量之和;在所述r种磁盘组组合中选择一种磁盘组组合,其中,在所述r种磁盘组组合中,所述一种磁盘组组合的总已用读取带宽最小,或,所述一种磁盘组组合的总已用读取带宽与总读取带宽之和所得到的比值最小,所述总已用读取带宽表示所述一种磁盘组组合中的各个磁盘组已被占用的所述单位时间内的读取容量之和,所述总读取带宽之和用于表示所述一种磁盘组组合中的各个磁盘组所允许的所述单位时间内的最大读取容量之和。

17、在一个示例性实施例中,在所述将所述目标文件存储到所述目标磁盘组之后,所述方法还包括:在所述存储系统的映射模块中,记录所述目标文件与所述目标磁盘组的目标映射关系。

18、在一个示例性实施例中,所述方法还包括:在接收到的访问请求的情况下,在所述映射模块中查找与所述访问请求所访问的所述目标文件具有所述目标映射关系的所述目标磁盘组,并从所述目标磁盘组中读取所述目标文件。

19、在一个示例性实施例中,在所述存储系统的多个磁盘组中确定用于存储所述目标文件类型的文件的目标磁盘组之前,所述方法还包括:获取样本文件集合中的所述目标文件类型的每个文件的读取次数与写入次数,其中,所述样本文件集合包括在预设的时长内被读取的文件和被写入的文件;将所述样本文件集合中的所述目标文件类型的每个文件的读取次数之和确定为总读取次数,并将所述样本文件集合中的所述目标文件类型的每个文件的写入次数之和确定为总写入次数;将所述总读取次数除以所述时长得到的比值确定为所述目标文件类型的文件的读取频率,并将所述总写入次数除以所述时长得到的比值确定为所述目标文件类型的文件的写入频率;在所述目标文件类型的文件的读取频率与写入频率之间的大小关系满足预设的读写隔离条件的情况下,将所述多个磁盘组中的p个磁盘组设置为用于存储所述目标文件类型的文件,其中,p为大于或等于1的正整数。

20、在一个示例性实施例中,所述在所述目标文件类型的文件的读取频率与写入频率之间的大小关系满足预设的读写隔离条件的情况下,将所述多个磁盘组中的p个磁盘组设置为用于存储所述目标文件类型的文件,包括以下至少之一:在所述目标文件类型的文件的写入频率大于读取频率、且所述目标文件类型的文件的写入频率与总频率的比值大于或等于第一预设阈值,或者读取频率大于写入频率、且所述目标文件类型的文件的读取频率与所述总频率的比值大于或等于第一预设阈值的情况下,将所述多个磁盘组中的p个磁盘组设置为用于存储所述目标文件类型的文件,其中,所述总频率为写入频率和读取频率之和;在所述目标文件类型的文件的写入频率与读取频率之间的第一差值的绝对值大于或等于第二预设阈值的情况下,将所述多个磁盘组中的p个磁盘组设置为用于存储所述目标文件类型的文件;在所述目标文件类型的文件的写入频率大于读取频率、且所述目标文件类型的文件的写入频率与读取频率之间的第二差值大于或等于第三预设阈值的情况下,将所述多个磁盘组中的p个磁盘组设置为用于存储所述目标文件类型的文件。

21、根据本技术的另一个实施例,提供了一种文件存储装置,包括:第一确定模块,用于确定目标文件的目标文件类型,其中,所述目标文件为需要存储到存储系统的文件;第二确定模块,用于在所述存储系统的多个磁盘组中确定用于存储所述目标文件类型的文件的目标磁盘组,其中,所述多个磁盘组中的每个磁盘组用于存储对应的一个文件类型的文件,每个文件类型对应的读写特征不同,所述每个文件类型对应的读写特征用于表示所述每个文件类型的文件的读取频率与写入频率之间的大小关系;存储模块,用于将所述目标文件存储到所述目标磁盘组。

22、根据本技术的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

23、根据本技术的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

24、通过本技术,采用将不同读写特征的文件存储在不同的磁盘组上的方式,由于在存储系统内包括多个磁盘组,根据每个待存储文件的文件类型所对应的读写特征,将不同类型的文件分别存储在不同的磁盘组上,在接收到读写混合请求时,可以基于读写混合请求中的读取请求所访问的文件类型,以及写入请求所对应的文件类型,分别将读取和写入请求发送到不同磁盘组上,从而实现文件之间的读/写操作的隔离,避免文件之间的读写操作相互干扰,因此,可以解决现有技术中存储系统内的文件存储方式存在对存储系统所进行的读写请求的响应效率较低的问题,达到提高对存储系统所进行的读写请求的响应效率的技术效果。

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