分布式文件存储构架的构建方法和装置的制作方法

文档序号:6580979阅读:232来源:国知局
专利名称:分布式文件存储构架的构建方法和装置的制作方法
技术领域
本发明涉及一种信息处理方法,尤其涉及一种分布式文件存储构架的构 建方法和装置。
背景技术
随着存储领域直连方式存储(DAS, Direct Attachment Storage)、网络 存储(NAS,Net雨k Attachment Storage)、存储域网(SAN, Storage Area Network)的高速发展,新技术不断涌现出来。近几年,分布式文件系统得到 大力发展,开始应用于存储解决方案中。
在本发明的过程中,本发明人发现,现有的分布式文件系统的管理都是 基于文件名称进行的,但由于使用者的操作习惯的不同,分布式文件系统中 会逐渐出现很多名称不同但内容相同的"重复文件",占据了大量的存储空间, 且不利于文件的管理。

发明内容
本发明实施例的目的在于提供一种分布式文件存储构架的构建方法和装 置,用于解决文件存储系统中的重复文件的问题。
本发明实施例提供一种分布式文件存储构架的构建方法,包括选取文 件;对所述文件的文件内容进行Hash计算,获得所述文件的文件标识;根据
所述文件标识来构建文件的分布式文件存储构架。
本发明实施例还提供一种分布式文件存储构架的构建装置,包括文件 标识获取模块,用于对文件的文件内容进行Hash计算,获得文件的文件标识; 构架构建模块,用于根据文件标识构建分布式文件存储构架。本发明通过将文件标识和文件内容相联系,使得分布式文件系统以文件内容为基础来管理文件,避免了冗余的重复文件的出现。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中
图1为本发明实施例一的分布式文件存储构架的构建方法的流程图2为本发明的分布式文件存储构架的结构示意图3为本发明的分布式文件存储构架中超级块的结构示意图4为本发明的分布式文件存储构架中索引节点分配表的结构示意图5为本发明实施例二的分布式文件存储构架的构建方法的流程图6为本发明实施例三的分布式文件存储构架的构建装置的结构示意图。
具体实施例方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
实施例一
本实施例提供一种分布式文件存储构架的构建方法。下面参照图1,详细描述该方法,该方法包括步骤S10h选取文件;
步骤S102:对所述文件的文件内容进行Hash计算,获得所述文件的文件标识;
其中,通过对文件内容进行Hash计算得到文件的HASH值从而获得文件的文件标识,比如,通过MD5、 SHA-1、 SHA-2、 SHA-256等方法计算得到;步骤S103:根据所述文件标识来构建文件的分布式文件存储构架。如图2所示,分布式文件存储构架包括超级块层(super block)、索引节点匹配层(IMAP, inodemap)、索引节点层(inode)和数据块层四层(datablock)。其中如图3所示,索引节点匹配层用于在文件标识和文件的索引节点之间进行匹配,索引节点层用于在文件的索引节点和存储数据之间迸行匹配。在该步骤中,在超级块层中定义块组(group descriptor),块位图(blockbitmap)、索引节点位图(inode bitmap)、索引节点匹配位图(I麼bitm即)。索引节点层可以采用EXT2/EXT3或其文件系统的索引节点结构。
此外,根据文件的文件标识构建索引节点匹配层。索引节点匹配层采取树状结构,由多个索引节点匹配表构成。每个索引节点匹配表由相关的主键值(key)和键值(value)对构成,可以用B树、B+树或B-树等来构建。以B+树为例,文件的文件标识,例如HASH值,作为指针块的主键值(key),文件的索引节点作为指针块的键值(value),定义如下
keyMAP 二 Map (ke尸文件的HASH值,value二文件的索引节点)。如图4所示,索引节点分配层中每个相关的主键值(key)和键值(value)对的顶AP结构具体包括匹配版本号(IMAP vers ion )、代号(generation画ber)、匹配时间(IMAP time)、匹配主键值(IMAP key)和匹配索引节点(IMAP inode),通过上述定义将匹配主键值和匹配索引节点对应起来。
当接收到客户端后续发送的文件时,标识首先对文件内容进行HASH计算并得到相应的文件标识,当后续发送的文件的文件标识不存在于所述索引节
点匹配层中时,根据后续发送的文件的标识生成新索引节点匹配表插入所述索引节点匹配层,以分配新的索引节点。如果客户端后续发送的文件的标识存在于所述索引节点匹配层中时,通过存在的索引节点匹配表将所述后续发送的文件指向对应的索引节点。
本发明实施例提供的分布式文件存储架构根据文件内容得到文件标识,再将文件标识与索引节点相匹配,可以避免了名称不同而内容相同的重复文件的出现,节省了大量的存储空间。
实施例二本实施例通过写操作进一步详细描述根据实施例一的分布式文件存储构 架的构建方法。参见图5,该方法包括
步骤S501:客户端根据将要写到存储节点上的文件内容计算其HASH值, 并将文件的HASH值传送给元数据服务器,文件的HASH值可以通过MD5、 SHA-1 、 SHA-2、 SHA-256等方法计算得到;
步骤S502:元数据服务器获取文件的HASH值;
步骤S503:元数据服务器根据文件的HASH值来构建索引节点匹配层(IMAP Tree),同时构建超级块层、索引节点层和数据块层;其中,索引节点匹配层 包括多个IMAP表,用B+树来构建,IMAP表的key值是文件HASH值,value 是文件的索引节点;
步骤S504:当元数据服务器接收到新的文件HASH值,首先检索文件HASH 值是否存在索引节点匹配层中;
步骤S505:如果该HASH值不存在于索引节点匹配层中,则元数据服务器 根据该HASH值分配新的索引节点,构建新IMAP表,并插入索引节点匹配层 中;
步骤S506:如果该HASH值已经存在索引节点匹配层中,则将该文件通过 对应的IMAP表指向原来对应的索引节点,不重新进行写操作。
本发明实施例提供的分布式文件存储架构根据文件内容得到文件标识, 再将文件标识与索引节点相匹配,可以避免了名称不同而内容相同的重复文 件的出现,节省了大量的存储空间。
实施例三
本实施例提供一种分布式文件存储构架的构建装置。如图6所示,所述 装置600包括
文件标识获取模块601,用于对文件的文件内容进行Hash计算,获得文 件的文件标识;文件标识为文件的HASH值,通过MD5、 SHA-1、 SHA-2、 SHA-256 等计算得到。构架构建模块602,用于根据文件标识构建分布式文件存储构架。如图2所示,分布式文件存储构架包括超级块层(super block)、索引节点匹配层(皿P, inode map)、索引节点层(inode)和数据块层四层(data block)。其中如图3所示,索引节点匹配层用于在文件标识和文件的索引节点之间进行匹配,索引节点层用于在文件的索引节点和存储数据之间进行匹配。
构架构建模块602在超级块层中定义块组(group descriptor),块位图(block bitmap)、索引节点位图(inode bitmap)、索引节点匹配位图(IMAPbitmap)。索引节点层可以采用EXT2/EXT3或其文件系统的索引节点结构。构架构建模块602根据文件的文件标识构建索引节点匹配层。索引节点匹配层采取树状结构,由多个索引节点匹配表构成。每个索引节点匹配表由相关的主键值(key)和键值(value)对构成,可以用B树、B+树或B-树等来构建。以B+树为例,文件的文件标识,例如HASH值,作为指针块的主键值(key),文件的索引节点作为指针块的键值(value),定义如下
keyMAP = Map (ke"文件的HASH值,value二文件的索引节点)。
如图4所示,索引节点分配层中每个相关的主键值(key)和键值(value)对的IMAP结构具体包括匹配版本号(IMAP version)、代号(generationnumber)、匹配时间(IMAP time)、匹配主键值(IMAP key)和匹配索引节点(IMAP inode),通过上述定义将匹配主键值和匹配索引节点对应起来。
该装置还可以进一步包括匹配识别模块603,用于识别客户端后续发送的文件标识是否存在于所述索引节点匹配层中。当匹配识别模块603识别后续发送的文件标识不存在于所述索引节点匹配层中时,构架构建模块602根据后续发送的文件的标识生成新索引节点匹配表插入所述索引节点匹配层,以分配新的索引节点。当匹配识别模块603识别后续发送的文件的标识存在于所述索引节点匹配层中时,构架构建模块602通过存在的索引节点匹配表将所述后续发送的文件指向对应的索引节点。
本发明实施例根据文件内容得到文件标识,再将文件标识与索引节点相匹配,可以避免了名称不同而内容相同的重复文件的出现,节省了大量的存储空间。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种分布式文件存储构架的构建方法,其特征在于,所述方法包括选取文件;对所述文件的文件内容进行Hash计算,获得所述文件的文件标识;根据所述文件标识来构建文件的分布式文件存储构架。
2、 根据权利要求l所述的方法,其特征在于,还包括所述分布式文件存储构架包括超级块层、索引节点匹配层、索引节点层和数据块层。
3、 根据权利要求1或2所述的方法,其特征在于,根据所述文件标识构建分布式文件存储构架步骤包括根据所述文件标识构建索引节点匹配层,用于在文件标识和索引节点层中的索引节点之间进行匹配。
4、 根据权利要求3所述的方法,其特征在于当获得的后续文件的文件标识不存在于所述索引节点匹配层中时,根据所述后续文件标识生成新索引 节点匹配表插入所述索引节点匹配层中。
5、 根据权利要求3所述的方法,其特征在于,还包括当获得的后续文件的文件标识存在于所述索引节点匹配层中时,将所述后续文件指向对应的 索引节点。
6、 根据权利要求3所述的方法,其特征在于所述文件标识为文件的散列值。
7、 一种分布式文件存储构架的构建装置,其特征在于,所述装置包括文件标识获取模块,用于对文件的文件内容进行Hash计算,获得文件的 文件标识;构架构建模块,用于根据文件标识构建分布式文件存储构架。
8、 根据权利要求7所述的装置,其特征在于所述分布式文件存储构架 包括超级块层、索引节点匹配层、索引节点层和数据块层。
9、 根据权利要求7或8所述的装置,其特征在于,还包括匹配识别模块,用于识别客户端后续发送的文件标识是否存在于所述索引节点匹配层中;当获得的后续文件的文件标识不存在于所述索引节点匹配层中时,所述 构架构建模块根据所述后续文件标识生成新索引节点匹配表插入所述索引节点匹配层中;当获得的后续文件的文件标识存在于所述索引节点匹配层中时, 所述构架构建模块将所述后续文件指向对应的索引节点。
10、根据权利要求7所述的装置,其特征在于所述文件标识为文件的 散列值。
全文摘要
本发明提供一种分布式文件存储构架的构建方法和装置。其中方法包括选取文件;对所述文件的文件内容进行Hash计算,获得所述文件的文件标识;根据所述文件标识来构建文件的分布式文件存储构架。所述装置包括文件标识获取模块,用于对文件的文件内容进行Hash计算,获得文件的文件标识;构架构建模块,用于根据文件标识构建分布式文件存储构架。本发明通过将文件标识与索引节点相匹配,从而避免了相同的文件重复保存和重复数据删除,不但保证了数据的可靠性,而且节省了大量的存储空间。
文档编号G06F17/30GK101673289SQ200910179938
公开日2010年3月17日 申请日期2009年10月10日 优先权日2009年10月10日
发明者晗 孔, 程菊生, 远 袁 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1