Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
FILE MANAGEMENT METHOD AND FILE SYSTEM
Document Type and Number:
WIPO Patent Application WO/2015/161443
Kind Code:
A1
Abstract:
A file management method and a file system, applied to the technical field of data processing. The file system may monitor IO access information for operating a file, then determine an IO access mode of the file, and determine a corresponding file management policy according to the IO access mode, and finally adjust a current management method, such as a storage medium and a file management granularity, of the file according to the determined file management policy when the obtained file management policy is inconsistent with the current management method of the file, so as to dynamically adjust the storage medium of the file and the file management granularity according to the IO access mode of the file.

Inventors:
XU JUN (CN)
ZHU GUANYU (CN)
LUO CAIZHU (CN)
Application Number:
PCT/CN2014/075939
Publication Date:
October 29, 2015
Filing Date:
April 22, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
International Classes:
G06F12/00
Domestic Patent References:
WO2009102425A12009-08-20
Foreign References:
US20120290779A12012-11-15
CN102714047A2012-10-03
Other References:
See also references of EP 3125124A4
Attorney, Agent or Firm:
SHENPAT INTELLECTUAL PROPERTY AGENCY (CN)
深圳市深佳知识产权代理事务所(普通合伙) (CN)
Download PDF:
Claims:
权 利 要 求

1、 一种文件管理方法, 其特征在于, 包括:

获取对文件进行操作的输入输出 10访问信息;

确定所述 10访问信息对应的 10访问模式;

将所述确定的 10访问模式与预置的模式匹配库进行匹配, 得到所述确定 的 10访问模式对应的文件管理策略, 所述文件管理策略中包括如下至少一种 信息: 文件管理粒度和文件存储介质的类型, 所述模式匹配库中包括 10访问 模式与文件管理策略的对应关系;

当所述文件的当前管理方式与所述确定的 10访问模式对应的文件管理策 略不一致时,调整对所述文件的当前管理方式, 以使调整后的当前管理方式和 所述确定的 10访问模式对应的文件管理策略一致。

2、如权利要求 1所述的方法, 其特征在于, 所述确定所述 10访问信息对 应的 10访问模式, 包括:

如果所述 10访问信息中对所述文件的读操作比例大于预置的值, 则确定 所述 10访问模式为读操作的模式;

如果所述 10访问信息对所述文件的写操作比例大于预置的值, 则确定所 述 10访问模式为写操作的模式;

如果所述 10访问信息中对所述文件的写操作比例与读操作比例相差小于 预置的值, 则确定所述 10访问模式为读写混合操作的模式。

3、 如权利要求 1或 2所述的方法, 其特征在于, 所述当所述文件的当前 管理方式与所述确定的 10访问模式对应的文件管理策略不一致时, 调整对所 述文件的当前管理方式, 包括:

如果所述得到的文件管理策略中包括的文件管理粒度,与所述文件的当前 文件管理方式中文件管理粒度不一致, 则更新所述文件的管理粒度;

更新所述文件的元数据,使得更新后的元数据包括所述更新后的管理粒度 的信息。

4、 如权利要求 1或 2所述的方法, 其特征在于, 所述当所述文件的当前 管理方式与所述确定的 10访问模式对应的文件管理策略不一致时, 调整所述 文件的当前管理方式, 包括: 如果所述得到的文件管理策略中包括的文件存储介质的类型,与所述文件 的当前管理方式中存储介质不一致,则向目标存储介质申请用于储存所述文件 的存储块,所述目标存储介质为与所述文件管理策略中包括的文件存储介质的 类型一致的存储介质;

将所述文件从源存储介质迁移到所述申请的存储块中, 其中, 所述文件当 前所在的存储介质为源存储介质;

创建新的元数据, 使得所述新的元数据中包括迁移后的文件的存储信息。

5、 如权利要求 4所述的方法, 其特征在于, 所述方法还包括:

根据对所述文件进行操作的 10 访问请求对所请求操作的文件进行操作 时, 如果所述所请求操作的文件中的第一部分文件未储存在所述源存储介质 上, 而第二部分文件储存在所述源存储介质上, 则根据所述 10访问模式对应 的文件管理策略中的文件存储介质的类型,对所述迁移后的目标存储介质中的 第一部分文件进行操作, 对所述源存储介质上的第二部分文件进行操作。

6、 一种文件系统, 其特征在于, 包括:

信息获取单元, 用于获取对文件进行操作的输入输出 10访问信息; 访问模式确定单元, 用于确定所述信息获取单元获取的 10访问信息对应 的 10访问模式;

管理获取单元, 用于将所述访问模式确定单元确定的 10访问模式预置的 模式匹配库进行匹配得到所述确定的 10访问模式对应的文件管理策略, 所述 文件管理策略中包括如下至少一种信息: 文件管理粒度和文件存储介质的类 型, 所述模式匹配库中包括 10访问模式与文件管理策略的对应关系;

调整单元, 用于当所述文件的当前管理方式与所述管理获取单元确定的

10访问模式对应的文件管理策略不一致时, 调整对所述文件的当前管理方式, 以使调整后的当前管理方式和所述确定的 10访问模式对应的文件管理策略一 致。

7、 如权利要求 6所述的系统, 其特征在于,

所述访问模式确定单元, 用于如果所述信息获取单元获取的 10访问信息 中对所述文件的读操作比例大于预置的值, 则确定所述 10访问模式为读操作 的模式; 如果所述信息获取单元获取的 10访问信息中对所述文件的写操作比 例大于预置的值, 则确定所述 10访问模式为写操作的模式; 如果所述信息获 取单元获取的 10访问信息中对所述文件的写操作比例与读操作比例相差小于 预置的值, 则确定所述 10访问模式为读写混合操作的模式。

8、 如权利要求 6或 7所述的系统, 其特征在于, 所述调整单元, 包括: 更新单元, 用于如果所述得到的文件管理策略中包括的文件管理粒度, 与 所述文件的当前管理方式中文件管理粒度不一致, 更新所述文件的管理粒度; 更新所述文件的元数据,使得更新后的元数据包括所述更新后的管理粒度的信 息。

9、 如权利要求 6或 7所述的系统, 其特征在于, 所述调整单元, 包括: 迁移单元,用于如果所述得到的文件管理策略中包括的文件存储介质的类 型, 与所述文件的当前管理方式中存储介质不一致, 向目标存储介质申请用于 储存所述文件的存储块; 将所述文件从源存储介质迁移到所述申请的存储块 中; 其中, 所述文件当前所在的存储介质为源存储介质, 所述目标存储介质为 与所述文件管理策略中包括的文件存储介质的类型一致的存储介质;

创建单元, 用于创建新的元数据,使得所述新的元数据中包括所述迁移单 元迁移后的文件的存储信息。

10、 如权利要求 9所述的系统, 其特征在于, 所述系统还包括: 文件操作单元, 用于根据对所述文件进行操作的 10访问请求对所请求操 作的文件进行操作时,如果所述所请求操作的文件中的第一部分文件未储存在 所述源存储介质上,而第二部分文件储存在所述源存储介质上,则根据所述 10 访问模式对应的文件管理策略中的文件存储介质的类型,对所述迁移后的目标 存储介质中的第一部分文件进行操作,并对所述源存储介质上的第二部分文件 进行操作。

11、 一种文件系统, 其特征在于, 包括: 分别连接在总线的处理器, 及多 种存储器, 其中:

所述处理器, 用于获取对文件进行操作的输入输出 10访问信息; 确定所 述获取的 10访问信息对应的 10访问模式; 将所述确定的 10访问模式与预置 的模式匹配库进行匹配得到所述确定的 10访问模式对应的文件管理策略, 所 述文件管理策略中包括如下至少一种信息:文件管理粒度和文件存储介质的类 型, 所述模式匹配库中包括 10访问模式与文件管理策略的对应关系; 当所述 文件的当前管理方式与所述确定的 10访问模式对应的文件管理策略不一致 时,调整对所述文件的当前管理方式, 以使调整后的当前管理方式和所述确定 的 10访问模式对应的文件管理策略一致;

所述文件存储介质为所述存储器。

12、 如权利要求 11所述的系统, 其特征在于,

所述处理器, 用于如果所述获取的 10访问信息中对所述文件的读操作比 例大于预置的值, 则确定所述 10访问模式为读操作的模式; 如果所述获取的 10访问信息中对所述文件的写操作比例大于预置的值,则确定所述 10访问模 式为写操作的模式; 如果所述获取的 10访问信息中对所述文件的写操作比例 与读操作比例相差小于预置的值, 则确定所述 10访问模式为读写混合操作的 模式。

13、 如权利要求 11或 12所述的系统, 其特征在于,

所述处理器, 用于如果所述得到的文件管理策略中包括的文件管理粒度, 与所述存储器中储存的文件的当前管理方式中文件管理粒度不一致,更新所述 存储器中文件的管理粒度; 更新所述文件的元数据,使得更新后的元数据包括 所述更新后的管理粒度的信息。

14、 如权利要求 11或 12所述的系统, 其特征在于,

所述处理器,用于如果所述得到的文件管理策略中包括的文件存储介质的 类型, 与所述存储器中储存的文件的当前管理方式中存储介质不一致, 向所述 多个存储器中的目标存储介质申请用于储存所述文件的存储块;将所述文件从 所述多个存储器中源存储介质迁移到所述申请的存储块中; 并创建新的元数 其中, 所述文件当前所在的存储介质为源存储介质, 所述目标存储介质为 与所述文件管理策略中包括的文件存储介质的类型一致的存储介质。

15、 如权利要求 14所述的系统, 其特征在于,

所述处理器, 还用于根据对所述文件进行操作的 10访问请求对所请求操 作的文件进行操作时,如果所述所请求操作的文件中的第一部分文件未储存在 所述源存储介质上,而第二部分文件储存在所述源存储介质上,则根据所述 10 访问模式对应的文件管理策略中的文件存储介质的类型,对所述迁移后的目标 存储介质中的第一部分文件进行操作,对所述源存储介质上的第二部分文件进 行操作。

Description:
一种文件管理方法及文件系统

技术领域

本发明涉及数据处理技术领域, 特别涉及文件管理方法及文件系统。

背景技术

随着 NAND闪存( FLASH )的应用以及变相存储器( Phase change memory,

PCM )等新型存储介质的出现, 各种不同的介质表现出不同的读、 写特征, 这 就需要文件系统釆用不同粒度的管理方法, 对存储介质中储存的文件进行管 理, 来提升性能。 比如, 釆用大粒度管理, 能够减少元数据存储开销和元数 据索引查找时间的延迟; 釆用细粒度管理, 能够保证数据有效访问, 不会浪费 带宽, 减少数据迁移。

现有技术中, 文件系统会根据文件名或嵌入到文件中信息识 别文件类型, 为文件分配不同粒度的存储介质, 当文件类型确定后, 则文件的管理模式也就 确定了, 比较固定。

发明内容

本发明实施例提供文件管理方法及文件系统, 实现了根据对文件的 10访 问模式动态地调整文件的当前管理方式。

本发明实施例第一方面提供一种文件管理方法 , 包括:

获取对文件进行操作的输入输出 10访问信息;

确定所述 10访问信息对应的 10访问模式;

将所述确定的 10访问模式与预置的模式匹配库进行匹配, 得到所述确定 的 10访问模式对应的文件管理策略, 所述文件管理策略中包括如下至少一种 信息: 文件管理粒度和文件存储介质的类型, 所述模式匹配库中包括 10访问 模式与文件管理策略的对应关系;

当所述文件的当前管理方式与所述确定的 10访问模式对应的文件管理策 略不一致时,调整对所述文件的当前管理方式 , 以使调整后的当前管理方式和 所述确定的 10访问模式对应的文件管理策略一致。

本发明实施例第一方面的第一种可能实现方式 中, 所述确定所述 10访问 信息对应的 10访问模式, 包括:

如果所述 10访问信息中对所述文件的读操作比例大于预 的值, 则确定 所述 10访问模式为读操作的模式;

如果所述 10访问信息对所述文件的写操作比例大于预置 值, 则确定所 述 10访问模式为写操作的模式;

如果所述 10访问信息中对所述文件的写操作比例与读操 比例相差小于 预置的值, 则确定所述 10访问模式为读写混合操作的模式。

结合本发明实施例第一方面或第一方面的第一 种可能实现方式,在本发明 实施例第一方面的第二种可能实现方式中,所 述当所述文件的当前管理方式与 所述确定的 10访问模式对应的文件管理策略不一致时, 调整对所述文件的当 前管理方式, 包括:

如果所述得到的文件管理策略中包括的文件管 理粒度,与所述文件的当前 文件管理方式中文件管理粒度不一致, 则更新所述文件的管理粒度;

更新所述文件的元数据,使得更新后的元数据 包括所述更新后的管理粒度 的信息。

结合本发明实施例第一方面或第一方面的第一 种可能实现方式,在本发明 实施例第一方面的第三种可能实现方式中,所 述当所述文件的当前管理方式与 所述确定的 10访问模式对应的文件管理策略不一致时, 调整所述文件的当前 管理方式, 包括:

如果所述得到的文件管理策略中包括的文件存 储介质的类型,与所述文件 的当前管理方式中存储介质不一致,则向目标 存储介质申请用于储存所述文件 的存储块,所述目标存储介质为与所述文件管 理策略中包括的文件存储介质的 类型一致的存储介质;

将所述文件从源存储介质迁移到所述申请的存 储块中, 其中, 所述文件当 前所在的存储介质为源存储介质;

创建新的元数据, 使得所述新的元数据中包括迁移后的文件的存 储信息。 结合本发明实施例第一方面的第三种可能实现 方式,在本发明实施例第一 方面的第四种可能实现方式中, 所述方法还包括:

根据对所述文件进行操作的 10访问请求对所请求操作的文件进行操作 时, 如果所述所请求操作的文件中的第一部分文件 未储存在所述源存储介质 上, 而第二部分文件储存在所述源存储介质上, 则根据所述 10访问模式对应 的文件管理策略中的文件存储介质的类型,对 所述迁移后的目标存储介质中的 第一部分文件进行操作, 对所述源存储介质上的第二部分文件进行操作 。

本发明实施例第二方面提供一种文件系统, 包括:

信息获取单元, 用于获取对文件进行操作的输入输出 10访问信息; 访问模式确定单元, 用于确定所述信息获取单元获取的 10访问信息对应 的 10访问模式;

管理获取单元, 用于将所述访问模式确定单元确定的 10访问模式预置的 模式匹配库进行匹配得到所述确定的 10访问模式对应的文件管理策略, 所述 文件管理策略中包括如下至少一种信息: 文件管理粒度和文件存储介质的类 型, 所述模式匹配库中包括 10访问模式与文件管理策略的对应关系;

调整单元, 用于当所述文件的当前管理方式与所述管理获 取单元确定的

10访问模式对应的文件管理策略不一致时, 调整对所述文件的当前管理方式, 以使调整后的当前管理方式和所述确定的 10访问模式对应的文件管理策略一 致。

本发明实施例第二方面第一种可能实现方式中 :

所述访问模式确定单元, 用于如果所述信息获取单元获取的 10访问信息 中对所述文件的读操作比例大于预置的值, 则确定所述 10访问模式为读操作 的模式; 如果所述信息获取单元获取的 10访问信息中对所述文件的写操作比 例大于预置的值, 则确定所述 10访问模式为写操作的模式; 如果所述信息获 取单元获取的 10访问信息中对所述文件的写操作比例与读操 比例相差小于 预置的值, 则确定所述 10访问模式为读写混合操作的模式。

结合本发明实施例第二方面或第二方面的第一 种可能实现方式,在本发明 实施例第二方面的第二种可能实现方式中, 所述调整单元, 包括:

更新单元, 用于如果所述得到的文件管理策略中包括的文 件管理粒度, 与 所述文件的当前管理方式中文件管理粒度不一 致, 更新所述文件的管理粒度; 更新所述文件的元数据,使得更新后的元数据 包括所述更新后的管理粒度的信 息。

结合本发明实施例第二方面或第二方面的第一 种可能实现方式,在本发明 实施例第二方面的第三种可能实现方式中, 所述调整单元, 包括: 迁移单元,用于如果所述得到的文件管理策略 中包括的文件存储介质的类 型, 与所述文件的当前管理方式中存储介质不一致 , 向目标存储介质申请用于 储存所述文件的存储块; 将所述文件从源存储介质迁移到所述申请的存 储块 中; 其中, 所述文件当前所在的存储介质为源存储介质, 所述目标存储介质为 与所述文件管理策略中包括的文件存储介质的 类型一致的存储介质;

创建单元, 用于创建新的元数据,使得所述新的元数据中 包括所述迁移单 元迁移后的文件的存储信息。

结合本发明实施例第二方面的第三种可能实现 方式,在本发明实施例第二 方面的第四种可能实现方式中, 所述系统还包括:

文件操作单元, 用于根据对所述文件进行操作的 10访问请求对所请求操 作的文件进行操作时,如果所述所请求操作的 文件中的第一部分文件未储存在 所述源存储介质上,而第二部分文件储存在所 述源存储介质上,则根据所述 10 访问模式对应的文件管理策略中的文件存储介 质的类型,对所述迁移后的目标 存储介质中的第一部分文件进行操作,并对所 述源存储介质上的第二部分文件 进行操作。

本发明实施例第三方面提供一种文件系统, 包括: 分别连接在总线的处理 器, 及多种存储器, 其中:

所述处理器, 用于获取对文件进行操作的输入输出 10访问信息; 确定所 述获取的 10访问信息对应的 10访问模式; 将所述确定的 10访问模式与预置 的模式匹配库进行匹配得到所述确定的 10访问模式对应的文件管理策略, 所 述文件管理策略中包括如下至少一种信息:文 件管理粒度和文件存储介质的类 型, 所述模式匹配库中包括 10访问模式与文件管理策略的对应关系; 当所述 文件的当前管理方式与所述确定的 10访问模式对应的文件管理策略不一致 时,调整对所述文件的当前管理方式, 以使调整后的当前管理方式和所述确定 的 10访问模式对应的文件管理策略一致;

所述文件存储介质为所述存储器。

本发明实施例第三方面的第一种可能实现方式 中:

所述处理器, 用于如果所述获取的 10访问信息中对所述文件的读操作比 例大于预置的值, 则确定所述 10访问模式为读操作的模式; 如果所述获取的 10访问信息中对所述文件的写操作比例大于预 的值,则确定所述 10访问模 式为写操作的模式; 如果所述获取的 10访问信息中对所述文件的写操作比例 与读操作比例相差小于预置的值, 则确定所述 10访问模式为读写混合操作的 模式。

结合本发明实施例第三方面或第三方面的第一 种可能实现方式,在本发明 实施例第三方面的第二种可能实现方式中:

所述处理器, 用于如果所述得到的文件管理策略中包括的文 件管理粒度, 与所述存储器中储存的文件的当前管理方式中 文件管理粒度不一致,更新所述 存储器中文件的管理粒度; 更新所述文件的元数据,使得更新后的元数据 包括 所述更新后的管理粒度的信息。

结合本发明实施例第三方面或第三方面的第一 种可能实现方式,在本发明 实施例第三方面的第三种可能实现方式中:

所述处理器,用于如果所述得到的文件管理策 略中包括的文件存储介质的 类型, 与所述存储器中储存的文件的当前管理方式中 存储介质不一致, 向所述 多个存储器中的目标存储介质申请用于储存所 述文件的存储块;将所述文件从 所述多个存储器中源存储介质迁移到所述申请 的存储块中; 并创建新的元数 其中, 所述文件当前所在的存储介质为源存储介质, 所述目标存储介质为 与所述文件管理策略中包括的文件存储介质的 类型一致的存储介质。

结合本发明实施例第三方面的第三种可能实现 方式,在本发明实施例第三 方面的第四种可能实现方式中:

所述处理器, 还用于根据对所述文件进行操作的 10访问请求对所请求操 作的文件进行操作时,如果所述所请求操作的 文件中的第一部分文件未储存在 所述源存储介质上,而第二部分文件储存在所 述源存储介质上,则根据所述 10 访问模式对应的文件管理策略中的文件存储介 质的类型,对所述迁移后的目标 存储介质中的第一部分文件进行操作,对所述 源存储介质上的第二部分文件进 行操作。

可见,在本发明实施例中,文件系统会监控对 文件操作(比如读、写操作) 的 10访问信息, 并确定文件的 10访问模式, 并根据 10访问模式确定对应的 文件管理策略, 最后根据文件管理策略动态调整文件的当前管 理方式。这样在 文件管理时, 可以根据文件的不同 10访问模式釆用对应的不同的文件管理策 略, 即釆用不同的文件管理粒度和 /或不同的文件存储介质, 使得对文件的访 问性能达到最优, 同时充分发挥存储介质的特点。

附图说明

为了更清楚地说明本发明实施例或现有技术中 的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作简单 地介绍,显而易见地, 下面描述 中的附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲,在不付 出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。

图 1是本发明实施例提供的一种文件管理方法的 程图;

图 2是本发明实施例提供的另一种文件管理方法 流程图;

图 3是本发明实施例提供的一种文件系统的结构 意图;

图 4是本发明实施例提供的文件迁移的示意图;

图 5是本发明实施例提供的另一种文件系统的结 示意图;

图 6是本发明实施例提供的另一种文件系统的结 示意图;

图 7是本发明实施例提供的另一种文件系统的结 示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明 实施例中的技术方案进行清 楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是 全部的实施例。基于本发明中的实施例, 本领域普通技术人员在没有作出创造 性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的 术语"第一"、 "第二"、 "第 三""第四"等 (如果存在)是用于区别类似的对象, 而不必用于描述特定的顺 序或先后次序。应该理解这样使用的数据在适 当情况下可以互换, 以便这里描 述的本发明的实施例,例如能够以除了在这里 图示或描述的那些以外的顺序实 施。 此外, 术语"包括"和"具有"以及他们的任何变形, 意图在于覆盖不排它的 包含, 例如, 包含了一系列步骤或单元的过程、 方法、 系统、 产品或设备不必 限于清楚地列出的那些步骤或单元,而是可包 括没有清楚地列出的或对于这些 过程、 方法、 产品或设备固有的其它步骤或单元。 本发明实施例提供一种文件管理方法, 主要应用于文件系统中, 该文件系 统可以承载在任一终端设备或网络设备上, 可以包括多种类型的存储介质, 用 于储存各种文件, 本实施例的方法的流程图如图 1所示, 包括:

步骤 101, 获取对文件进行操作的输入输出 (IN/OUT, 10 )访问信息。 其中这里, 由于文件的数据都是储存在文件系统中的存储 介质, 这里的 10访 问信息是指文件系统对存储介质中文件进行访 问的信息, 可以包括: 访问进程 的标识( PID ), 文件名, 文件偏移量( file offset ), 每次 10访问请求的文件大 小, 10访问对应的文件操作类型 (比如读、 写或查询等)、 10访问请求的时 间戳(开始和结束时间)。

步骤 102, 确定步骤 101获取的 10访问信息对应的 10访问模式。

可以理解,在文件系统中应用程序的运行过程 中可以触发对文件操作的流 程, 比如对文件进行读 /写操作, 则执行应用程序的模块就会向文件系统发送 对 10访问请求, 该 10访问请求中可以包括: 所请求操作 (包括读 /写操作 ) 的文件的信息等, 这样文件系统就可以对相应的文件进行操作。

当一个文件首次被写入到文件系统的存储介质 后,该文件可以被多次进行 操作, 则文件系统可以监控该文件的 10访问信息, 并截获对该文件操作的 10 访问信息, 比如 10访问类型和次数, 是对文件进行顺序 /随机读操作的 10访 问还是对文件进行顺序 /随机写操作的 10访问,读写比例及每次访问时文件的 粒度等信息, 还可以包括操作的文件偏移量。 然后文件系统会根据获取的 10 访问信息来确定 10访问模式,该 10访问模式是指对文件以什么粒度进行什么 形式操作的模式, 可以包括: 以一定粒度进行随机读操作的模式, 以一定粒度 进行顺序读操作的模式, 以一定粒度进行随机写操作的模式, 以一定粒度进行 顺序写操作的模式,及以一定粒度进行顺序读 写混合操作的模式和以一定粒度 进行随机读写混合操作的模式等模式。

具体地, 如果在 10访问信息中对文件的读操作比例大于预置的 , 则认 为 10访问模式为读操作的模式;如果 10访问信息中对文件的写操作比例大于 预置的值,则确定所述 10访问模式为写操作的模式;如果接 10访问信息中对 文件的写操作比例与读操作比例相差小于预置 的值, 则确定 10访问模式为读 写混合操作的模式。 且在 10访问模式中还可以包括进行操作的粒度。 步骤 103, 将步骤 102中确定的 10访问模式与文件系统中预置的模式匹 配库进行匹配, 得到确定的 10访问模式对应的文件管理策略。 其中, 文件模 式匹配库是预置在文件系统中的, 可以包括 10访问模式与文件管理策略的对 应关系, 该文件管理策略中包括文件管理粒度和 /或文件存储介质的类型。

其中文件管理粒度是指文件储存的最小单位, 比如 4k、 1MB等, 而文件 存储介质的类型有多种, 可以包括变相存储器、 动态随机存储器 (Dynamic Random Access Memory, DRAM )、硬盘驱动( Hard Disk Drive, HDD )和 NAND FLASH等。 其中, 由于各种类型的存储介质都有各自对应的读写 特性, 则不 同类型的存储介质对应不同的 10访问模式, 具体地:

( 1 ) 变相存储器是一种非易失存储设备, 与 DRAM—样是按字节寻址, 有很高的写入速度, 其写入耐用性大概是 10的 6次方至 10的 8次方。 变相存 储器适合较小的文件管理粒度, 比如 64Byte-8KB, 并适合随机、 小粒度的读、 写操作。

( 2 ) NAND FLASH写以页面为单位, 擦除以块为单位(一个块通常包含 64个或更多的页面), 因此, NAND Flash适合釆用以页面或块为单位的文件 管理粒度, 比如 4KB, 8KB , 16KB , ..512KB , 并适合较大尺寸的随机读操作, 此外, NAND Flash读要比写快许多。

( 3 ) HDD由于寻道时间较长, 导致读、 写延迟较大, HDD适合较大粒 度的读、写操作, 比如 1MB, 2MB, 4MB等, 此外, HDD适合顺序读、写操作; 需要说明的是,对应用文件的访问一般呈现不 同的访问特点, 比如视频文 件, 一般是顺序读、 写, 每次读、 写的粒度较大; 再比如, 数据库文件, 呈现 随机、 小粒度的读、 写操作特点。 这样对不同文件的访问呈现出不同的访问特 点, 可以匹配不同的存储介质和文件管理粒度。

本实施例中, 用户可以预先在文件系统的模式匹配库中设置 10访问模式 与文件管理策略的对应关系,比如 10访问模式是以 1MB到 4 MB的粒度顺序 读操作的模式对应的文件管理策略为: 文件管理粒度为 1MB, 文件存储介质 的类型为 HDD或 NAND FLASH。 这样, 文件系统可以通过 10访问模式及文 件系统中预置的模式匹配库, 就能得到对应的文件管理策略。 如表 1中所示: 表 1 IO访问信息 IO访问模式 文件管理策略 文件访问粒度: 1MB 读操作比例 >80%, 以 1MB到 4 MB的

存储介质的类型: HDD, NAND 1MB -4MB 粒度顺序读操作

FLASH 以 512Byte到 4KB 文件访问粒度: 4KB 写操作比例 >80%,

的粒度随机写操 存储介质的类型: PCM, NAND 512Byte-4KB

作 FLASH 文件访问粒度: 4KB 读操作比例 >80%, 以 4KB到 64KB的

存储介质的类型: NAND 4KB -64KB 粒度随机读操作

FLASH, PCM 文件访问粒度: 4KB

50%读, 50%写 以 16KB的粒度读

存储介质的类型: PCM, NAND 16KB 写混合操作

FLASH

步骤 104, 根据步骤 103中得到的文件管理策略, 调整对文件的当前管理 方式, 具体地, 是当文件的当前管理方式与确定的 10访问模式对应的文件管 理策略不一致时,调整对文件的当前管理方式 , 以使调整后的当前管理方式和 确定的 10访问模式对应的文件管理策略一致, 比如改变文件的存储介质, 和 / 或改变文件的管理粒度。 进一步地, 由于文件系统中还储存着文件的元数据, 在元数据中包括文件大小和文件标识等信息, 以方便对文件的查找, 当调整了 文件的当前管理方式后, 还需要更新文件系统中储存的元数据。

需要说明的是, 上述在文件管理过程中, 合适的文件管理粒度, 便于有效 的文件预取操作, 提高对文件进行操作的速度, 且还便于有效的元数据管理。 比如顺序访问文件,一次写入 4MB的文件,如果釆用 2MB的文件管理粒度(即 一个存储块的最小单位为 2MB ), 仅需要两次数据定位且发送两次 10访问请 求给存储介质, 且只需要管理两个存储块的元数据; 如果釆用 4KB的文件管 理粒度,则需要 1000次数据定位且需要发送 1000次 10访问请求给存储介质, 需要管理 1000个存储块的元数据。 可见, 在本发明实施例中, 文件系统会监控对文件操作的 10访问信息, 并确定 10访问模式,然后根据 10访问模式确定对应的文件管理策略,最后在 得到的文件管理策略与文件的当前管理方式不 一致时,根据得到的文件管理策 略动态地调整对文件的当前管理方式。 这样使得在文件管理时, 可以根据文件 的不同 10访问模式而釆用对应的不同的文件管理策略 即釆用不同的文件管 理粒度和 /或不同的文件存储介质, 使得对文件的访问性能达到最优, 同时充 分发挥存储介质的特点。 参考图 2所示, 在具体的实施例中, 文件系统在执行上述步骤 104时, 根 据步骤 103中得到的文件管理策略可以有如下几种方法 :

( 1 )如果步骤 103得到的文件管理策略中包括的文件管理粒度 , 与文件 的当前管理方式中的文件管理粒度不一致,则 文件系统在执行步骤 104时,会:

A1 : 更新文件的管理粒度为上述步骤 103得到的文件管理粒度。

A2: 更新文件的元数据, 使得更新后的元数据包括所述更新后的管理粒 度的信息。

( 2 )如果步骤 103得到的文件管理策略中包括的文件存储介质 的类型, 与文件的当前管理方式中存储介质不一致, 则文件系统在执行上述步骤 104 时, 会进行文件存储介质的迁移, 具体地:

B1 : 向目标存储介质申请用于储存上述文件的存储 块, 该目标存储介质 即为与上述步骤 103 中得到的文件管理策略中包括的文件存储介质 的类型一 致的存储介质。

具体地,这里申请的存储块的粒度可以由上述 步骤 103中得到的文件管理 粒度来决定,如果在得到的文件管理策略中没 有包括文件管理粒度, 则申请的 存储块的粒度可以是该文件在源存储介质中储 存的最小单位,也可以是该目标 存储介质所适合的粒度等; 如果在得到的文件管理策略中包括了文件管理 粒 度, 则申请的存储块的粒度就是文件管理策略中的 文件管理粒度。

B2: 将文件从源存储介质迁移到申请的存储块中, 即将文件从源存储介 质拷贝, 并添加到申请的存储块中,且还可以将源存储 介质中该文件的数据删 除。 其中, 文件当前所在的存储介质为源存储介质。 B3: 创建新的元数据, 使得新的元数据中包括迁移后的文件的存储信 息, 比如文件大小和文件储存的最小单位等。

需要说明的是,在调整文件的当前管理方式时 , 涉及到了文件存储介质的 迁移, 而文件系统在这个过程中还是会不断地通过存 储介质的对文件进行操 作, 即文件系统会根据对文件进行操作的 10访问请求对所请求操作的文件进 行相应的操作(比如读写操作)。 在这种情况下, 文件系统在对文件读 /写操作 前,需要先判断所请求操作的文件是否已经迁 移到了目标存储介质上,具体地, 是查看源存储介质中是否储存了所请求操作的 文件,如果所请求操作的文件中 一部分(比如第一部分)文件未储存在源存储 介质上, 而所请求操作的文件中 另一部分(比如第二部分)文件储存在源存储 介质上, 则文件系统根据 10访 问模式对应的文件管理策略中的文件存储介质 的类型,对迁移后的目标存储介 质中的第一文件进行操作, 且对所述源存储介质上的第二部分文件进行操 作。 以下以一个具体的实施例来本发明的文件管理 方法,本实施例中的文件管 理方法主要是应用于任一文件系统中, 该文件系统可以包括如图 3 所示的结 构, 包括:

文件访问模块, 文件 10访问统计、 模式分析模块, 策略匹配控制模块, 元数据管理模块和文件数据块调整、 迁移模块, 还包括多种类型的存储介质, 比如 HDD和 PCM等。 其中:

在各种存储介质中储存着各种文件;

文件访问模块, 用于接收对文件进行操作的 10访问请求, 并对文件存储 介质中, 该访问请求所请求的文件进行操作; 该文件访问模块可以接收该文件 系统通过用户接口发送的 10访问请求, 也可以接收文件系统中其它模块发送 的 10访问请求;

文件 10访问统计、 模式分析模块用于对文件访问模块对存储介质 中文件 的访问进行监控, 釆集文件访问模块对存储介质中储存文件进行 操作的 10访 问信息, 并对 10访问模式进行分析;

策略匹配控制模块用于根据不同的 10访问模式匹配不同的文件管理策 略, 包括文件管理粒度和文件存储介质的类型; 元数据管理模块用于在调整文件的当前管理方 式后,对文件的元数据进行 更新; 文件数据块调整、 迁移模块用于调整文件管理粒度, 及将文件从一个存 储介质迁移到另一存储介质。

本实施例中的文件系统支持不同粒度的管理方 式, 比如 4K、 16Κ、 64Κ、 1Μ、 2Μ等。 在文件初始创建时, 可以按照一定的粒度比如 64Κ将文件储存 在一个或多个存储介质上;然后由上述图 3中所示的四个模块动态地调整文件 的当前管理方式。 例如, 文件 1在初始创建时, 以文件管理粒度为 4KB储存 在 PCM上, 经过动态调整; 将文件 1迁移到 HDD上, 且以文件管理粒度为 2MB进行储存。

参考图 4所示,在文件迁移的过程中, 文件系统可以以源存储介质上的源 文件管理粒度来迁移文件, 比如源存储介质的文件管理粒度为 2MB, 则文件 系统以 2MB为单位来迁移文件, 且会为正在迁移的文件加锁, 并在源存储介 质上已迁移的位置进行标记; 另外, 在文件迁移后, 文件系统需要创建新的元 数据。 在这个过程中, 当文件访问模块有对文件操作的 10访问请求时, 如果 所请求的文件中有部分文件已经被迁移到目标 存储介质,即未储存在源存储介 质上, 则对迁移后的目标存储介质中的该部分文件进 行操作; 如果所请求的文 件中另一部分文件还未被迁移到目标存储介质 ,则对源存储介质中该另一部分 文件进行操作。 本发明实施例还提供一种文件系统,在文件系 统中通过多种存储介质储存 文件, 其结构示意图如图 5所示, 包括:

信息获取单元 10, 用于获取对文件进行操作的输入输出 10访问信息, 10 访问信息包括了对文件操作的具体情况, 比如访问次数,是对文件进行读操作 的 10访问还是对文件进行写操作的 10访问, 读写比例及每次访问时读 /写文 件的粒度等信息。

访问模式确定单元 11, 用于确定所述信息获取单元 10获取的 10访问信 息对应的 10访问模式。

具体地,访问模式确定单元 11,用于如果所述信息获取单元 10获取的 10 访问信息中对所述文件的读操作比例大于预置 的值, 则确定所述 10访问模式 为读操作的模式;如果所述信息获取单元 10获取的 10访问信息中对所述文件 的写操作比例大于预置的值, 则确定所述 10访问模式为写操作的模式; 如果 所述信息获取单元 10获取的 10访问信息中对所述文件的写操作比例与读操 比例相差小于预置的值, 则确定所述 10访问模式为读写混合操作的模式。 且 在 10访问模式中还可以包括读 /写操作的粒度。

管理获取单元 12, 用于将所述访问模式确定单元 11确定的 10访问模式 与预置的模式匹配库进行匹配得到所述确定的 10访问模式对应的文件管理策 略, 所述文件管理策略中包括如下至少一个信息: 文件管理粒度和文件存储介 质的类型, 模式匹配库中包括 10访问模式与文件管理策略的对应关系。

调整单元 13, 用于当所述文件的当前管理方式与所述管理获 取单元 12确 定的 10访问模式对应的文件管理策略不一致时, 调整对所述文件的当前管理 方式, 以使调整后的当前管理方式和所述确定的 10访问模式对应的文件管理 策略一致, 比如改变文件的存储介质, 和 /或改变文件的管理粒度。 进一步地, 由于文件系统中还储存着文件的元数据,在元 数据中包括文件大小和文件标识 等信息, 以方便对文件的查找, 当调整单元 13调整了文件的当前管理方式后, 还需要更新文件系统中储存的元数据。

可见, 在本发明实施例的文件系统中, 信息获取单元 10会监控对文件操 作 (包括读、 写操作 ) 的 10访问信息, 并由访问模式确定单元 11确定 10访 问模式,从而管理获取单元 12根据 10访问模式确定对应的文件管理策略, 最 后调整单元 13根据得到的文件管理策略动态地调整对文件 当前管理方式。 这样使得在文件管理时, 可以根据文件的不同 10访问模式而釆用对应的不同 的文件管理策略, 即釆用不同的文件管理粒度和 /或不同的文件存储介质, 使 得对文件的访问性能达到最优, 同时能充分发挥存储介质各自的特点。

参考图 6 所示, 在一个具体的实施例中, 文件系统除了可以包括如图 5 所示的结构外, 还可以包括文件操作单元 14, 且其中的调整单元 13可以通过 更新单元 131、 迁移单元 132和创建单元 133来实现, 具体地:

更新单元 131, 用于如果所述管理获取单元 12得到的文件管理策略中包 括的文件管理粒度, 与所述文件的当前管理方式中文件管理粒度不 一致, 更新 所述文件的管理粒度, 更新为管理获取单元 12获取到的文件管理粒度; 更新 所述文件的元数据, 使得更新后的元数据包括所述更新后的管理粒 度的信息。 迁移单元 132, 用于如果所述管理获取单元 12得到的文件管理策略中包 括的文件存储介质的类型, 与所述文件的当前管理方式中存储介质不一致 , 向 目标存储介质申请用于储存所述文件的存储块 ;将所述文件从源存储介质迁移 到所述申请的存储块中, 其中, 所述文件当前所在的存储介质为源存储介质, 所述目标存储介质为与所述文件管理策略中包 括的文件存储介质的类型一致 的存储介质; 创建单元 133, 用于创建新的元数据, 使得所述新的元数据中包 括所述迁移单元 132迁移后的文件的存储信息,包括迁移后文件 所在的目标存 储介质的信息, 及在目标存储介质上文件的管理粒度等信息。 其中, 目标存储 介质为与管理获取单元 12获取的文件管理策略中包括的文件存储介质 类型 一致的存储介质, 且申请的存储块的粒度可以由管理获取单元 12得到的文件 管理粒度来决定,如果在得到的文件管理策略 中没有包括文件管理粒度, 则申 请的存储块的粒度可以是该文件在源存储介质 中储存的最小单位,也可以是该 目标存储介质所适合的粒度等。

文件操作单元 14,用于根据对所述文件进行操作的 10访问请求对所请求 操作的文件进行操作时,如果所述所请求操作 的文件中的第一部分文件未储存 在所述源存储介质上, 而第二部分文件储存在所述源存储介质上, 则根据所述 管理获取单元 12确定的 10访问模式对应的文件管理策略中的文件存储 质的 类型,对所述迁移后的目标存储介质中的第一 部分文件进行操作,且对所述源 存储介质上的第二部分文件进行操作。

本实施例的文件系统中, 当调整单元 13单元在进行文件的当前管理方式 的调整时, 可以只通过更新单元 131来更新文件的当前存储粒度; 或通过迁移 单元 132和创建单元 133将文件从一个存储介质 (即源存储介质 )迁移到另一 存储介质 (即目标存储介质), 在这种情况下, 如果文件操作单元 14通过存储 介质的接口对文件进行操作时,需要先判断文 件是否已经被全部迁移到目标存 储介质上, 然后再进行相应的处理。 本发明实施例还提供另一种文件系统,主要可 以对文件系统中储存的文件 进行管理, 其结构示意图如图 7所示, 包括分别连接到总线上的处理器 21及 多种类型的存储器 22比如 HDD和 PCM等存储器, 且还可以包括连接在总线 的输入装置和输出装置, 具体地:

存储器 22 中用来储存从输入装置输入的文件, 且还可以储存处理器 21 处理数据的必要文件等信息,本实施例中存储 器 22即为上述的文件存储介质; 输入装置和输出装置是文件系统与其它设备通 信的端口,还可以包括文件系统 外接的设备比如显示器、 键盘、 鼠标和打印机等。

处理器 21,用于获取对文件进行操作的 10访问信息;确定所述获取的 10 访问信息对应的 10访问模式;将所述确定的 10访问模式与预置的模式匹配库 进行匹配得到所述确定的 10访问模式对应的文件管理策略, 所述文件管理策 略中包括如下至少一个信息: 文件管理粒度和文件存储介质的类型,且所述 模 式匹配库中包括 10访问模式与文件管理策略的对应关系; 当所述文件的当前 管理方式与所述确定的 10访问模式对应的文件管理策略不一致时, 调整对所 述文件的当前管理方式, 以使调整后的当前管理方式和所述确定的 10访问模 式对应的文件管理策略一致。 其中, 处理器 21在确定 10访问模式时, 用于如 果所述获取的 10访问信息中对所述文件的读操作比例大于预 的值, 则确定 所述 10访问模式为读操作的模式;如果所述获取的 10访问信息中对所述文件 的写操作比例大于预置的值, 则确定所述 10访问模式为写操作的模式; 如果 所述获取的 10访问信息中对所述文件的写操作比例与读操 比例相差小于预 置的值,则确定所述 10访问模式为读写混合操作的模式,且在 10访问模式中 还可以包括读 /写操作的粒度。 进一步地, 由于文件系统中的存储介质还储存 着文件的元数据, 在元数据中包括文件大小、 文件标识和 inode号等信息, 以 方便对文件的查找, 当处理器 21调整了文件的当前管理方式后, 还需要更新 文件系统中储存的元数据。

这样使得在文件管理时, 可以根据不同的 10访问模式而釆用对应的不同 的文件管理策略, 即釆用不同的文件管理粒度和 /或不同的文件存储介质, 使 得对文件的访问性能达到最优, 同时能充分发挥存储介质的特点。

在一些具体的实施例中, 处理器 21, 用于如果所述得到的文件管理策略 中包括的文件管理粒度,与所述存储器中储存 的文件的当前管理方式中文件管 理粒度不一致, 更新所述存储器中文件的管理粒度; 更新所述文件的元数据, 使得更新后的元数据包括所述更新后的管理粒 度的信息。

另一方面, 处理器 21用于如果所述得到的文件管理策略中包括的 件存 储介质的类型, 与所述存储器中储存的文件的当前管理方式中 存储介质不一 致, 向所述多个存储器中目标存储介质申请用于储 存所述文件的存储块; 将所 述文件从所述多个存储器中源存储介质迁移到 所述申请的存储块中;并创建新 的元数据, 使得所述新的元数据中包括所述迁移单元迁移 后的文件的存储信 息。 其中, 所述文件当前所在的存储介质为源存储介质, 所述目标存储介质为 与所述文件管理策略中包括的文件存储介质的 类型一致的存储介质。

在这种情况下, 如果处理器 21通过存储介质的接口对文件进行操作时, 需要先判断文件是否已经被全部迁移到目标存 储介质上,然后再进行相应的处 理,具体地,处理器 21还用于根据对所述文件进行操作的 10访问请求对所请 求操作的文件进行操作时,如果所述所请求操 作的文件中的第一部分文件未储 存在所述源存储介质上, 而第二部分文件储存在所述源存储介质上, 则根据所 述 10访问模式对应的文件管理策略中的文件存储 质的类型, 对所述迁移后 的目标存储介质中的第一部分文件进行操作, 对所述源存储介质上的第二部分 文件进行操作。 本领域普通技术人员可以理解上述实施例的各 种方法中的全部或部分步 骤是可以通过程序来指令相关的硬件来完成, 该程序可以存储于一计算机可读 存储介质中, 存储介质可以包括: ROM、 RAM, 磁盘或光盘等。

以上对本发明实施例所提供的文件管理方法及 文件系统进行了详细介绍, 说明只是用于帮助理解本发明的方法及其核心 思想; 同时,对于本领域的一般 技术人员,依据本发明的思想,在具体实施方 式及应用范围上均会有改变之处, 综上所述, 本说明书内容不应理解为对本发明的限制。