1.本技术涉及计算机技术领域,尤其涉及一种文件管理的方法、设备和系统。
背景技术:2.随着近年来数据的爆炸式增长,文件的智能式管理将成未来的主流模式之一。根据文件信息的价值可以衡量不同文件的重要程度,重要的文件需要得到更快的访问速度和更严谨的保存策略。目前的主流分布式文件系统主要依赖查询文件的元信息去衡量文件的价值,以便衡量文件的存储方法和存储区域,然而在大规模文件的分布式存储中,访问每个文件的元数据信息将是非常耗时的过程。不仅如此,同一个文件在不同的节点上,由于一段时间内访问次数和访问要求均不同,其文件的价值也随时间和节点的变化有所不同。往往导致将原始文件上传至分布式系统的过程,或者从一个分布式系统迁移到另一个分布式系统时,产生了巨大的时间损耗,严重影响分布式文件系统的存储性能。因此,如何提供一种能高效感知文件的价值,提升分布式文件系统中文件存储速度和性能的方法成为亟待解决的技术问题。
技术实现要素:3.本技术提供了一种文件管理的方法、设备和系统,以此提供一种高效感知文件的大小和生命周期,推荐文件的存储策略的方法,提升分布式文件系统中文件存储速度和性能。
4.第一方面,提供一种文件管理的方法,该方法包括:获取文件的存储路径,并根据存储路径和属性预测模型计算得到文件的属性,再根据属性确定文件的存储策略。通过上述方法,可以利用文件的存储路径预测文件的属性,并得到文件的存储策略,减少了对文件的元数据的访问次数,提高了文件存储和读取的速度。
5.在一种可能的实现方式中,在计算得到文件的属性之前,该方法还包括:获取已经保存的文件的属性数据和文件路径,并使用属性数据和文件路径训练初始模型得到属性预测模型。通过上述方法,可以使用训练好的属性预测模型预测文件的属性,提高了预测的准确度。
6.在另一种可能的实现方法中,管理的文件为新创建文件,属性为该文件的大小,文件的存储策略为该文件的数据存储时使用的条带的数量。通过上述方法,可以利用文件的存储路径预测文件的大小,并得到文件存储时的布局策略,减少了对文件的元数据的访问次数,提高了文件存储的速度。
7.在另一种可能的实现方法中,管理的文件为客户端文件,属性为该文件的生命周期值,文件的存储策略为该文件的数据存储时使用的存储介质。通过上述方法,可以利用文件的存储路径预测文件的生命周期值,并得到文件存储时的存储介质,减少了对文件的元数据的访问次数,提高了文件在客户端读取时的速度和性能。
8.在另一种可能的实现方法中,确定文件数据存储时使用的存储介质的方法具体
为:获取文件当前存储的第一存储介质以及该文件在第一存储介质中存放的时间;当存放时间不超过第一时间阈值时,依然使用第一存储介质存放;当存放时间超过第一时间阈值时,使用第二存储介质存放,并且第二存储介质的读取速度小于第一存储介质的读取速度。通过上述方法,可以将存放时间超过文件的生命周期预测值的文件存储在读取速度较慢的存储介质中,将有限的资源优先满足经常使用的文件。
9.第二方面,本技术提供一种文件管理的装置,文件管理装置可以是位于客户端上或者其他设备上的软件装置或硬件装置,也可以是一台单独的设备,所述文件管理装置包括用于执行第一方面或第一方面任一种可能实现方式中的文件管理方法的各个模块。
10.第三方面,本技术提供一种设备,该设备包括处理器和存储器。其中,存储器用于存储属性预测模型和计算机执行指令。处理器用于执行所述存储器中的计算机执行指令,使得设备执行第一方面或第一方面任一种可能实现方式中的文件管理方法的操作步骤。
11.第四方面,本技术提供一种文件管理的系统,系统包括文件管理单元和客户端。文件管理单元可以是一台单独的设备,也可以是位于一台设备上的软件装置或硬件装置,其中文件管理装置和客户端共同用于实现第一方面或第一方面任一种可能实现方式中的文件管理方法的操作步骤。
12.第五方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面任一种可能实现方式中所述方法的操作步骤。
13.第六方面,本技术提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面或第一方面任一种可能实现方式中所述方法的操作步骤。
14.本技术在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
15.图1是本技术实施例提供的一种存储系统的示意图;
16.图2是本技术提供的一种文件的数据布局的示意图;
17.图3是本技术提供的一种文件管理的方法的流程示意图;
18.图4是本技术提供的一种确定数据布局的方法的示意图;
19.图5是本技术提供的另一种文件管理的方法的流程示意图;
20.图6是本技术实施例提供的一种确定存储介质的方法的示意图;
21.图7为本技术实施例提供的一种文件管理的装置的示意图;
22.图8为本技术实施例提供的一种设备的示意图
具体实施方式
23.下面结合附图对本技术实施例中的技术方案进行描述。在对本技术实施例提供的文件管理的方法介绍之前,对本技术实施例所适用的系统架构进行介绍。
24.图1是本技术实施例提供的一种存储系统的示意图,包括客户端11、元数据服务12、存储服务13以及文件管理装置14。其中,客户端、元数据服务以及存储服务可以通过链路互相连链接。示例性地,链路可以是局域网(local area network,简称lan)、广域网
(wide area network,简称wan),或其他类型的通信信道。文件管理装置14可以通过类似链路与客户端11相连,或者与元数据服务12相连或者同时与客户端11和元数据服务12相连。可选地,文件管理装置14还可以通过类似链路与存储服务13相连。
25.客户端11包括多个具有存储功能和计算功能的设备,用户可以通过客户端11运行分布式文件系统的软件,调用软件中提供的接口,将文件存储在存储系统中或者将存储系统中存储的文件读取到客户端中。客户端11还可以为用户提供可视化的分布式文件系统的操作界面。客户端包括至少一个存储器,客户端11读取文件时,可以将文件从远端取回并保存在存储器中。存储器可以是内存,内存包括至少两种存储器,例如内存既可以是随机存取存储器,也可以是只读存储器(read-only memory,rom)。举例来说,随机存取存储器可以是动态随机存取存储器(dynamic random access memory,dram),也可以是存储级存储器(storage class memory,scm)。内存还可以包括其他随机存取存储器,例如静态随机存取存储器(static ram,sram)等。而对于只读存储器,举例来说,可以是可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)等。另外,内存还可以是双列直插式存储器模块或双线存储器模块(dual in-line memory module,简称dimm),即由动态随机存取存储器(dram)组成的模块。本实施例中的存储器还可以是硬盘,与内存不同的是,硬盘读写数据的速度比内存慢,硬盘类型可以为固态硬盘(solid state drive,ssd)、机械硬盘(hard drive,hdd),或者其他类型的硬盘。
26.元数据服务12用于管理和存储文件的元数据。元数据服务12包括一个或多个元数据服务器,例如元数据服务器121,元数据记录的数据包括文件名称、文件路径、文件的访问权限、文件的访问时间以及文件的数据布局等,元数据可以用于支持如指示存储位置、历史数据、资源查找、文件记录等功能。
27.与元数据服务12类似,存储服务13用于管理和存储文件的数据。存储服务13包括一个或多个对象存储服务器,例如对象存储服务器131。每一个对象存储服务器可以在逻辑上分为一个或多个对象存储目标,对象存储服务器可以将文件的数据存储在不同的对象存储目标中。
28.一个文件可以被划分成多个数据块,存储在不同的对象存储目标中,以加快文件的存储和读取速度。其中的一个数据块可以称为一个条带,而将文件条带化并存储的方式称为文件的数据布局。对于一个给定文件,它所分布的对象存储目标的数量也就是这个文件的条带数量。在文件创建时,条带的数量和条带的大小可以由用户配置,也可以由元数据服务器根据每个对象存储目标的工作负载情况进行自动配置。文件在存储的过程中,条带以循环的形式存储在文件被分配的对象存储目标中,当文件的数据写满一个条带时,第二个条带自动写入下一个对象存储目标中。图2是本技术提供的一种文件的数据布局的示意图,如图2所示,文件a存储在三个对象存储目标中,条带数量为3,文件b存储在两个对象存储目标中,条带数量为2,文件c存储在一个对象存储目标中,条带数量为1。根据条带大小,文件a可以被分为8个条带块,依次循环存入被分配的对象存储目标中。其中,条带0存储在对象存储目标1中,条带1存储在对象存储目标2,条带2存储在对象存储目标3中,条带3又重新存储在对象存储目标1中。每个对象存储目标中可以存储一个或多个条带块。
29.文件管理装置14用于利用深度学习方法对文件的生命周期和文件大小进行建模,构建文件属性预测模型。文件管理装置14还可以用于根据文件属性预测模型,协同文件管
理系统的其他组件,得到文件大小和生命周期的预测值,实现文件的存储和读取。其中,文件的生命周期文件用于描述文件在其整个使用寿命中所经历的一系列阶段,这些阶段包括创建文档,使用和修改文档直至销毁或永久存档文档,可以很好地衡量文件的使用价值。
30.文件管理装置14可以是是一台服务器,或者是由若干台服务器组成的服务器集群,或者是一个云计算服务中心。在其他实施例中,文件管理装置14还可以是一个硬件装置上的硬件组件或者是运行在硬件装置上的一套软件装置。该硬件装置也可以是一台服务器,或者是由若干台服务器组成的服务器集群,或者是一个云计算服务中心,特别地,当文件管理装置14是软件装置时,它可以位于图1中的客户端11中。
31.值得说明的是,图1所示的存储系统的统架构仅仅是为了更好的说明本技术所提供的文件管理的方法所提供的系统架构的示例,并不构成对本技术实施例的限定。
32.下面将结合图3-6对本技术实施例提供的文件管理的方法进行说明,图3是本技术提供的一种文件管理的方法的流程示意图,可以用于确定新创建文件的数据布局。该方法包括训练阶段和存储阶段两个阶段,如图所示,具体方法包括:
33.s301、文件管理装置14采集样本文件的属性数据。
34.文件管理装置14将一部分已经存在在存储节点中的文件作为样本文件,读取这些文件的元数据,并且将得到的元数据的数据进行筛选,提取与文件的生命周期以及大小相关的属性数据。该属性数据包括文件路径,文件大小、文件创建时间(btime),文件最近访问时间(atime)、文件的内容最近修改时间(mtime)以及文件最近元数据修改时间(ctime)。其中,通过文件创建时间,文件最近访问时间、文件内容的最近修改时间以及文件元数据的最近修改时间文件可以得到文件的生命周期f
life
,文件的生命周期满足公式1:
35.f
life
=log(max(atime,ctime,mtime)-btime)
ꢀꢀꢀ
公式1
36.其中,max(atime,ctime,mtime)表示在文件的最近访问时间、文件内容的最近修改时间以及文件元数据的最近修改时间中的最大值。
37.s302、文件管理装置14对属性数据进行预处理。
38.文件管理装置14采集的样本文件的属性数据可以用于训练文件属性预测模型,为了提高训练的效率和精度,在训练之前,可以先对采集的属性数据进行预处理。预处理包括以下三个部分:
39.1)对文件的生命周期进行标准化
40.由于文件的属性数据中记录的时间数据的变化范围为零到无穷大,两个不同的文件的生命周期之间可能存在较大的间隔,生命周期的值较大的样本数据对降低生命周期的值较小的样本数据的训练能力。因此,可以采用log表达式对生命周期的值进行标准化,以减少不同文件的生命周期值之间的差距。标准化的生命周期f
normlife
满足公式2:
41.f
normlife
=log(max(atime,ctime,mtime)-btime)
ꢀꢀꢀ
公式2
42.需要说明的是,本技术的实施例对生命周期的单位并不做限定,示例性地,在本技术的实施例中以秒为单元。
43.2)对文件的大小进行标准化
44.与生命周期类似,文件大小的变化范围也为零到无穷大,因此,也可以采用log表达式对大小的值进行标准化,以减少不同文件的大小的值之间的差距。标准化的大小f
normsize
满足公式3:
45.f
normsize
=log(f
realsize
)
ꢀꢀꢀ
公式3
46.其中,f
realsize
是文件标准化之前的大小。需要说明的是,本技术的实施例对大小的单位并不做限定,示例性地,在本技术的实施例中以kb为单元。
47.3)对文件路径进行编码
48.由于文件路径的数据为字符串的形式,为了量化该特征,可以采用编码的方式生成文件路径的向量数据,作为训练文件属性预测模型的输入数据。本技术的实施例对编码方式并不做限定,示例性地,可以采用独热(one-hot)编码,具体编码方式如下:
49.·
将文件的路径的统一为特定数量的字符。示例性地,可以统一为4096个字符,当文件路径的长度不超过4095个字符时,在文件路径的末尾补上字符
‘
\0’,使得文件路径的长度达到4096个字符,其中,字符
‘
\0’又称为文件结尾(eof)字符。当文件的路径长度超过4095个字符时,以目录为粒度,删除文件路径开头的目录,使得最终文件的路径长度不超过4095个字符,当删除后,再在文件路径的末尾补上字符
‘
\0’,使得文件路径的长度达到4096个字符。例如,假设文件的路径为d:\abcde\abd时,仅为12个字符,在文件路径的末尾补上4084个字符
‘
\0’,使得文件路径的长度达到4096个字符。假设文件的路径为d:\abcde\abd\...\efd时,共4100个字符,其中
…
为省略的路径。则删除文件路径中的d:\目录以及abcde\目录,是的文件的路径为4091个字符,然后在文件路径的末尾补上5个字符
‘
\0’,使得文件路径的长度达到4096个字符,最终文件的路径为abd\...\efd\0\0\0\0\0。
50.·
使用二进制数字标识文件路径中的可能出现的字符,包括a-z、a-z、0-9,以及特殊字符
‘
`’、
‘
~’、
‘
!’、
‘
@’、
‘
#’、
‘
$’、
‘
%’、
‘
^’、
‘
&’、
‘
*’、
‘
(’、
‘
)’、
‘‑’
、
‘
_’、
‘
=’、
‘
+’、
‘
[’、
‘
]’、
‘
{’、
‘
}’、
‘
\’、
‘
|’、
‘
;’、
‘
:’、
‘”
、
‘”’
、
‘
,’、
‘
《’、
‘
.’、
‘
》’、
‘
/’、
‘
?
’‘
\0’。示例性地,可以使用95位的二进制标识上述的95个字符,每一个字符的二进制数字中存在一位是1,其余位数是0,不同的字符中数值为1的位的位置不一样。则95位的二进制数中可以使用数值为1的位的位置区分95个字符,例如字符a的二进制数为1000
…
000,b的二进制数为0100
…
000,c的二进制数为0010
…
000。则对于同一长度为4096位的路径,其二进制的编码为一个95
×
4096的矩阵,矩阵的每一行代表路径中一个字符的二进制编码。
[0051]
·
将矩阵的每一列进行串联,生成一个列向量。示例性地,可以从矩阵的第二列开始,按照从左至右的顺序,将每一列的数据连接在其左边列最后一行的数据的下面,例如,当矩阵为时,串联后生成列向量为类似地,上一步中95
×
4096的矩阵经过串联后可以得到1
×
389,120的矩阵。
[0052]
·
将生成的列向量作为训练文件属性预测模型的输入数据。
[0053]
s303、文件管理装置14生成文件属性预测模型。
[0054]
文件属性预测模型为经过机器学习训练后获得的一种人工智能(artificial intelligence,ai)模型,训练文件属性预测模型的过程可以使用监督训练中的反向传播算法实现,具体过程可以如下:
[0055]
1)构建样本集。
[0056]
使用s301步骤获取到的样本文件的经过s302步骤处理后的属性数据作为样本集,样本文件可以是文件管理系统中已经保存在存储节点中的文件。样本集中每个样本包括采
用编码的方式生成文件路径的向量数据、标准化的生命周期值以及标准化的文件大小。其中,向量数据作为文件属性预测模型输入数据,经过文件属性预测模型的计算之后可以得到预测的生命周期值和预测的文件大小,而标准化的生命周期值以及标准化的文件大小作为标签值,用于与预测值进行比较从而更新文件属性预测模型。
[0057]
2)初始化文件属性预测模型。
[0058]
本技术的实施例对文件属性预测模型所采用的网络类型并不做限定,示例性地,可以采用卷积神经网络(convolutional neural networks,cnn),cnn包括卷积层、池化层和全连接层三个部分。其中,卷积层用于提取输入数据的局部特征,可以使用卷积核的每个元素分别与输入数据的每个元素相乘并求和,得到的卷积结果z满足公式4:
[0059][0060]
其中,f是输入数据,h是卷积核,m为卷积核的元素数量,卷积结果z的元素数量为输入数据的数量减去卷积核的数量后加1。例如,当输入数据为向量{1,2,3,4,5,6,7},卷积核为{-1,2,1}时,卷积结果中第一个数的计算过程为-1*3+2*2+1*1,计算结果为2,最终卷积结果为{2,4,6,8,10}。
[0061]
池化层用于对卷积结果进行采样,可以减少计算数据的数量。全连接层用于最终的结果,可以采用三层的模型,第一层为输入层,用于接收池化后的数据。第二层为隐藏层,包括至少一个节点,需要说明的是,这些节点可以组成一层或多层结构,每一层可以包括一个或多个节点,层数和每一层的节点数量不受本技术的限制。隐藏层的第一层的每一个节点都与输入层的每一个节点相连,第一层每一个节点的值由与之相连的输入层的每一个节点的加权和得到;隐藏层的中间层的每一层的每一个节点都与其上一层的每一个节点相连,每一层每一个节点的值由与之相连的上一层的每一个节点的加权和得到;隐藏层的最后一层的每一个节点还与输出层的每一个节点相连,输出层的每一个节点的值由与之相连的最后一层的每一个节点的加权和得到。第三层为输出层,包括两个节点,用于输出样本经过计算之后得到的生命周期值和文件大小。
[0062]
将卷积核的元素的值以及全连接层中节点的权值作为待训练的参数。
[0063]
可选地,在卷积层和池化层之间可以加入修正线性单元(rectified linear unit,relu)进行计算,relu函数是一个分段线性函数,当x为负值时,输出均为0;当x为正值时,输出保持不变。
[0064]
可选地,cnn可能包含更多或更少的卷积层、池化层和全连接层。本技术的实施例对卷积层、池化层以及全连接层的数量以及连接关系并不做限定。
[0065]
3)设置文件属性预测模型中待训练的参数的初始参数值,初始参数值不受本技术的限制。
[0066]
4)将样本集中一个样本的文件路径的向量数据作为文件属性预测模型的输入,计算该样本经过文件属性预测模型后输出的生命周期值和文件大小。
[0067]
5)使用梯度下降法,根据误差从最后一层的节点开始,反向更新每一个参数的数值。
[0068]
6)使用更新后的参数值返回执行步骤4)和步骤5)直到得到的误差的数值小于第一阈值。第一阈值应该小于样本集中所有样本的生命周期值和文件大小与该样本标签之间的误差的最小值。
[0069]
7)重复步骤4)、5)和6),直到样本集中的所有样本执行完毕,即得到最终的文件属性预测模型。
[0070]
训练好的文件属性预测模型可以存储在图1中的文件管理装置14中。
[0071]
通过上述操作过程,可以完成文件管理方法的训练阶段,得到文件属性预测模型。接下来,可以通过文件属性预测模型,得到新创建文件的生命周期值或文件大小,并按照设置的存储策略进行存储,该过程也可称为存储阶段。需要说明的是,在文件管理方法执行的过程中,训练阶段只需要执行一次,而每新创建一个文件可以执行一次存储阶段,每次可以使用同一个文件属性预测模型。存储阶段具体包括:
[0072]
s304、文件管理装置14获取新创建文件的存储路径。
[0073]
用户可以通过客户端11创建新的文件,并指定文件的存储路径。文件管理装置14从客户端处获取新创建的文件的存储路径后,采用类似s302中的编码方法对路径进行编码。
[0074]
s305、文件管理装置14得到新创建文件的文件大小。
[0075]
文件管理装置14将新创建文件的存储路径,输入训练好的文件属性预测模型中,得到预测的文件大小。进一步地,根据s302中的标准化方式,文件管理系统采用反函数计算得到新创建文件最终的文件大小的预测值。
[0076]
s306、文件管理装置14根据文件大小的预测值确定文件的数据布局。
[0077]
可以将文件的大小分为多个连续的区间,文件的大小小于或等于第二阈值的区间使用较少的条带数目存储,文件的大小大于或等于第三阈值的区间使用较多的条带数目存储,本技术的实施例对第二阈值和第三阈值的具体数值以及区间的数量不做限定。文件管理装置14根据s305得到的文件大小的预测值所属的区间,使用对应的条带数目进行存储。示例性地,文件大小可以分为(0~1m)、(1m~256m)、(256m~1g)、(1g~265g)以及(256g~无穷大)五个区间,每个区间分别对应如图4所示的条带数目,当文件大小小于1m时,文件数据存储的条带数目为1;当文件大小大于等于1m并且小于256m时,文件数据存储的条带数目为4;当文件大小大于等于256m并且小于1g时,文件数据存储的条带数目为8;当文件大小位于1g和256g之间时,文件数据存储的条带数目为16;当文件大小大于256g时,文件数据存储使用所有条带。
[0078]
可选地,当文件数据存储的条带数目小于第四阈值时,将元数据与文件数据存储在一起,当文件数据存储的条带数目大于或等于第四阈值时,将元数据与文件数据分开存放。本技术的实施例对第四阈值的具体数值不做限定。示例性地,如图4所示,当文件大小小于1m时,文件的元数据与文件的数据存储在一起;当文件大小大于1m时,文件的元数据与文件的数据分开存储。
[0079]
s307、客户端获取新创建文件的数据布局方式。
[0080]
当文件管理装置14与客户端11相连接时,文件管理装置14可以直接将新创建文件的数据布局方式发送给客户端。数据布局方式包括条带数目以及存储标志,其中,存储标志用于指示文件的元数据与数据是否存放在一起。
[0081]
当文件管理装置14与元数据服务器120相连接时,文件管理装置14还可以将新创建文件的数据布局方式发送给元数据服务器120,由客户端从元数据服务器120处获取新创建文件的数据布局方式。
[0082]
当文件管理装置14既与客户端11相连接又与元数据服务器120相连接时,可以采取上面两种方式的任意一种。
[0083]
s308、客户端根据文件的数据布局方式存储新创建文件。
[0084]
客户端根据文件的数据布局方式将新创建的文件存储在对象存储目标中。
[0085]
通过上述文件管理的方法,用户可以能够提前感知新创建的文件的大小,减少元数据访问,直接执行存储相关操作,提高文件管理系统的存储性能。
[0086]
在另一种实施例中,文件管理装置14可以只预测新创建文件的大小,而由客户端11确定新创建文件的数据布局方式。与图3所示的文件管理方法不同的是,在s306中,文件管理装置14将得到的预测的文件大小发送给客户端11,由客户端11根据s306的方法确定新创建的文件的数据布局方式。相应地,可以不执行s307,其余步骤与图3所示的文件管理方法类似。通过这种方式,文件管理装置14可以部署于云端,使用云端设备的高计算能力训练文件属性预测模型并得到预测的文件大小,而根据预测的文件大小得到文件的数据布局的简单计算可以由本地的客户端完成,提高文件管理系统的性能。
[0087]
在另一种实施例中,还可以由元数据管理器120确定新创建文件的数据布局方式。与图3所示的文件管理方法不同的是,在s306中,文件管理装置14将得到的预测的文件大小发送给元数据管理器120,由元数据管理器120根据s306的方法确定新创建的文件的数据布局方式。相应地,在s307中,由客户端11从元数据管理器120处获取新创建文件的数据布局方式。
[0088]
图5是本技术提供的另一种文件管理的方法的流程示意图,可以用于确定客户端保存的文件的存储介质。该方法包括训练阶段和存储阶段两个阶段,如图所示,其中训练阶段的步骤s501-s503可以采用与s301-s303类似的方法,得到文件属性预测模型,并存储在文件管理装置14中。存储阶段的具体方法包括:
[0089]
s504、文件管理装置14获取客户端文件的存储路径。
[0090]
客户端文件包括客户端从对象存储目标中读取后正在使用的文件以及使用完毕还存储在客户端的存储器中的文件。文件管理装置14从客户端处获取客户端的文件的存储路径后,采用类似s302中的编码方法对路径进行编码。
[0091]
s505、文件管理装置14得到客户端文件的生命周期值。
[0092]
文件管理装置14将客户端文件的存储路径,输入训练好的文件属性预测模型中,得到预测的生命周期值。进一步地,根据s302中的标准化方式,文件管理系统采用反函数计算得到客户端文件最终的生命周期的预测值。
[0093]
s506、文件管理装置14根据预测的生命周期值确定文件的存储介质。
[0094]
正如前面所述,客户端具有多种不同存储介质的存储器,包括,dram、ssd、以及hdd,不同存储介质的存储器具有不同的数据读写速度。文件管理装置14可以获取客户端文件在客户端中存储的存储介质,特别地,当客户端文件正在使用时,会存放在客户端的dram中。文件管理装置14监控的客户端文件在当前存储介质的中存在的时间,当存在时间超过第一时间阈值时,文件管理装置14将该文件的存储介质设置为读取速度慢于当前存储介质的存储介质。其中,第一时间阈值t可以满足公式5:
[0095]
t=(1+δ)
×fꢀꢀꢀ
公式5
[0096]
式中,f是预测的生命周期值,δ用于对预测的生命周期值进行弹性设置,本技术
的实施例对δ的值并不做限定。示例性地,δ可以是在s303的文件属性预测模型训练步骤中,样本的生命周期的标签值与预测的生命周期值的差值的平均误差率。图6是本技术实施例提供的一种确定存储介质的方法的示意图,如图6所示,以dram、ssd和hdd为例,dram的数据读写速度大于ssd,ssd的数据读写速度大于hdd。对于存储在dram中的文件,当文件的存在时间不大于第一时间阈值时,文件的存储介质继续设置为dram;当文件的存在时间大于第一时间阈值时,文件的存储介质设置为ssd。对于存储在ssd中的文件,当文件的存在时间不大于第一时间阈值时,文件的存储介质继续设置为ssd;当文件的存在时间大于第一时间阈值时,文件的存储介质设置为hdd。
[0097]
s507、客户端获取客户端文件的存储介质的类型。
[0098]
文件管理装置14将客户端文件的存储介质的类型发送给客户端。
[0099]
s508、客户端根据客户端文件的存储介质存储文件。
[0100]
客户端根据客户端文件的存储介质将文件存储在对应存储介质的存储器中。
[0101]
通过上述文件管理的方法,用户可以能够提前感知客户端文件的生命周期值,并监控文件的存放时长,将存放时长超过生命周期的文件从读写速度较的存储介质去除,释放读写速度较快的存储介质的空间,提高文件管理系统的存储性能。
[0102]
在另一种实施例中,文件管理装置14可以只预测客户端文件的生命周期值,而由客户端11确定客户端文件的存储介质。与图5所示的文件管理方法不同的是,在s506中,文件管理装置14将得到的预测的生命周期值发送给客户端11,由客户端11根据图6所示的方法确定客户端文件的存储介质。相应地,可以不执行s507,其余步骤与图5所示的文件管理方法类似。通过这种方式,文件管理装置14可以部署于云端,使用云端设备的高计算能力训练文件属性预测模型并得到预测的生命周期值,而监控客户端文件的存放时间可以由本地的客户端完成,减少了数据上传云端的时间。
[0103]
值得说明的是,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制。
[0104]
本领域的技术人员根据以上描述的内容,能够想到的其他合理的步骤组合,也属于本技术的保护范围内。其次,本领域技术人员也应该熟悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本技术所必须的。
[0105]
上文中结合图2至图6,详细描述了根据本技术实施例所提供的文件管理方法,下面将结合图7,进一步介绍根据本技术实施例所提供的文件管理装置14。
[0106]
图7为本技术实施例提供的一种文件管理的装置700的示意图,包括存储单元701、获取单元702、计算单元703以及控制单元704。装置700可对应于执行图3或图5中描述的方法。
[0107]
其中,存储单元701,用于存储属性预测模型。
[0108]
获取单元702,用于获取文件的存储路径,具体实现可参考图3中s304或者图5中s504的步骤,这里不再赘述。
[0109]
计算单元703,用于根据存储路径和属性预测模型计算得到文件的属性,具体实现可参考图3中s305或者图5中s505的步骤,这里不再赘述。
[0110]
控制单元704,用于根据所述属性确定文件的存储策略,具体实现可参考图3中s306或者图5中s506的步骤,这里不再赘述。
[0111]
应理解的是,本技术实施例的文件管理装置700可以通过专用集成电路(application-specific integrated circuit,asic)实现,或可编程逻辑器件(programmable logic device,pld)实现,上述pld可以是复杂程序逻辑器件(complex programmable logical device,cpld),现场可编程门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。也可以通过软件实现图3所示的模型推荐方法时,文件管理装置700及其各个模块也可以为软件模块,此时,文件管理装置700可以由图1所示的客户端11或者其他设备执行,也可以由一台单独的设备,例如如图1所示的文件管理装置14执行。
[0112]
可选地,在计算得到文件的属性之前,获取单元702还可以获取已经保存的文件的属性数据和文件路径。则计算单元703还用于根据属性确定文件的存储策略,具体实现可参考图3中s301-s303或者图5中s501-s503的步骤,这里不再赘述。
[0113]
可选地,控制单元704具体用于,获取文件当前存储的第一存储介质以及该文件在第一存储介质中存放的时间;当存放时间不超过第一时间阈值时,依然使用第一存储介质存放;当存放时间超过第一时间阈值时,使用第二存储介质存放,并且第二存储介质的读取速度小于第一存储介质的读取速度。具体实现可参考图5中s506的步骤,这里不再赘述。
[0114]
综上所述,本技术实施例提供的文件管理装置700,可以利用文件的存储路径预测文件的属性,并得到文件的存储策略,减少了对文件的元数据的访问次数,提高了文件存储和读取的速度。
[0115]
图8为本技术实施例提供的一种设备800的示意图,如图所示,设备800包括处理器801、存储器802、通信接口803和总线804。其中,处理器801、存储器802、通信接口803通过总线804进行通信,也可以通过无线传输等其他手段实现通信。存储器802用于存储计算机执行指令以及属性预测模型,处理器801用于执行存储器802存储的计算机执行指令以实现下述操作步骤:
[0116]
获取文件的存储路径;
[0117]
并根据存储路径和属性预测模型计算得到文件的属性;
[0118]
再根据属性确定文件的存储策略。
[0119]
应理解,在本技术实施例中,该处理器801可以是cpu,该处理器801还可以是其他通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
[0120]
该存储器802可以包括只读存储器和随机存取存储器,并向处理器801提供指令和数据。存储器802还可以包括非易失性随机存取存储器。例如,存储器802还可以存储设备类型的信息。
[0121]
该存储器802可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性
但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data date sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。
[0122]
该总线804除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线804。
[0123]
应理解,根据本技术实施例的文件管理装置800可以对应于执行根据本技术实施例中图3所示的方法中的相应主体,并且文件管理装置800中的各个模块的上述和其它操作和/或功能分别为了实现图中的各个方法的相应流程,为了简洁,在此不再赘述。
[0124]
综上所述,本技术实施例提供的文件管理装置800,可对应于本技术实施例中的文件管理装置700,并可以使用文件管理装置管理文件的存储方式,通过预测文件的生命周期以及文件大小两项属性,进行文件的分级存储策略和数据布局策略,以便降低元数据查询频率,提高文件管理的速度。
[0125]
本技术还提供一种文件管理的系统,系统包括文件管理装置和客户端。文件管理装置和客户端分别用于实现上述文件管理装置中相应主体所执行的方法的操作步骤。文件管理装置可以部署于客户端上、其他设备上或为一台单独的设备。
[0126]
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,ssd)。
[0127]
以上所述,仅为本技术的具体实施方式。熟悉本技术领域的技术人员根据本技术提供的具体实施方式,可想到变化或替换,都应涵盖在本技术的保护范围之内。