[发明专利]并行文件系统的元数据文件布局管理方法有效
申请号: | 200910085482.4 | 申请日: | 2009-05-22 |
公开(公告)号: | CN101567001A | 公开(公告)日: | 2009-10-28 |
发明(设计)人: | 舒继武;耿亮;易乐天;薛巍 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L29/08 |
代理公司: | 北京众合诚成知识产权代理有限公司 | 代理人: | 朱 琨 |
地址: | 100084北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 并行文件系统的元数据文件布局管理方法属于文件系统领域,其特征在于:文件系统采用扩展块分配方式对文件进行组织;元数据服务器接收到用户请求后,对相应文件布局中的扩展块进行快速分配、划分、合并及释放等操作,达到文件布局的获取、提交或调整的要求,实现对文件布局的优化管理。本方法采用满足最低要求原则,应答请求对应的最小扩展块集合,因而最大程度满足多用户同时对同一文件的操作,提高了系统的并行性;同时采用扩展块实时合并策略以保证文件布局最大程度连续,优化存储,减少文件布局寻道时间,提高了文件系统性能。 | ||
搜索关键词: | 并行 文件系统 数据文件 布局 管理 方法 | ||
【主权项】:
1、并行文件系统的元数据文件布局管理方法,其特征在于,所述方法是在用以太网连接起来的,由客户机、元数据服务器和存储设备构成的存储区域网络并行文件系统中依次按以下步骤完成的:步骤(1)在所述系统中的元数据服务器之上加载一个文件布局管理模块:所述文件管理模块含有的数据结构为:blocklayout_extent:记录文件的扩展块的属性,包括长度、状态、在文件中的起始位置、所属磁盘的ID及在磁盘中的起始位置,其中状态可能有读写、读、无效、空四种,allocator_segment:记录向磁盘空间管理模块申请的文件的扩展块的属性,包括长度、在文件中的起始位置、所属磁盘的ID及在磁盘中的起始位置,bes_node:记录文件的扩展块,包含blocklayout_extent结构,作为节点加入文件扩展块链表,blocklayout_layout:记录文件的扩展块的节点的总数,同时作为文件扩展链表的表头,所述文件布局的数据结构组织方式为:所述blocklayout_layout作为链表头,所述bes_node作为链表节点的双向链表,该bes_node中的blocklayout_extent是所述文件的扩展块,所述文件的所有扩展块组成所述的文件布局的逻辑结构,所述文件布局管理模块设有与用户请求处理模块的接口,以及与磁盘空间管理模块的接口,其中:与用户请求处理模块的接口,有下述三个:layout_get:用于获取文件的布局,来自所述用户请求处理模块的请求输入参数包括指定文件的索引节点inode及所述指定文件的起始位置和长度,经过所述文件布局管理模块处理后,向所述用户请求处理模块返回对应于所述起始位置和长度的文件的扩展块集合,layout_commit:用于提交文件的布局,来自所述用户请求处理模块的请求输入参数包括指定文件的索引节点inode及提交给所述指定文件的扩展块的集合,经过所述文件布局管理模块处理后,向所述用户请求处理模块返回所述文件的布局提交是否成功的标志,layout_adjust:用于调整文件的布局,来自所述用户请求处理模块的请求输入参数包括指定文件的索引节点inode及所述指定文件的大小,经过文件布局管理模块处理后,向所述用户请求处理模块返回所述文件的布局按照指定大小修改是否成功的标志,与磁盘空间管理模块的接口,有下述两个:get_space_from_allocator:用于向所述磁盘空间管理模块请求分配新的磁盘空间,向所述磁盘空间管理模块输入的参数为:所述指定扩展块的最佳的磁盘ID和该磁盘起始位置及长度,经所述磁盘空间管理模块处理后,向所述文件布局管理模块返回的是实际提供给该指定扩展块的磁盘ID和磁盘起始位置,free_space_to_allocator:用于向所述磁盘空间管理模块释放空闲的磁盘空间,向所述磁盘空间管理模块输入的是指定扩展块的磁盘ID、磁盘起始位置及长度,经所述磁盘空间管理模块处理后,向所述文件布局管理模块返回实际释放是否成功的标志,在所述文件布局管理模块中设定:所述扩展块的属性包括长度、状态、在文件中的起始位置、所属磁盘的ID及在磁盘中的起始位置,所述的长度、状态、在文件中的起始位置、所属磁盘的ID及在磁盘中的起始位置都以非负整数表示,其中所述长度表示该扩展块的字节数,所述文件的起始位置表示该扩展块中第一个字节距文件第一个字节的字节数,待处理的文件布局为S,S={SE1,SE2,...,SEm},Sei∈S,1≤i≤m,SEi是该文件布局中包含的第i个扩展块,m为集合S的大小,若所述文件布局S中扩展块SEi对应的长度为lsi,则所述扩展块SE1包含的文件布局区间是[0,ls1),SE2包含的文件的布局区间是[ls1,ls2),……,SEm包含的文件的布局区间是[lsm-1,lsm),所述来自用户请求处理模块的请求中所要获取文件的起始位置为B,长度为L,所述与用户请求处理模块交互的扩展块集合为R,R={RE1,RE2,...,REn},REj∈R,1≤j≤n,REj是该请求中的第j个扩展块,n为集合R的大小,若所述扩展块集合R中扩展块REj对应的文件起始位置是brj,长度是lrj,则所述扩展块RE1包含的文件布局区间是[br1,br1+lr1),RE2包含的文件布局区间是[br2,br2+lr2),……,REn包含的文件的布局区间是[brn,brn+lrn),所述扩展块集合R是以扩展块在文件的起始位置的小于等于关系为偏序关系的偏序集,且所述R中任意两个扩展块的文件布局区间无互相覆盖部分,即对∀ j , 1 < j ≤ n , ]]> 有brj-1+lrj-1≤brj,所述文件布局S={SE1,SE2,...,SEm}中与所述来自用户请求处理模块的请求对应的子集为P={PE1,PE2,...,PEt},PE k ∈ P , P ⋐ S , 1 ≤ k ≤ t , ]]> PEk是对应用户请求的文件布局中的扩展块,t为集合P的大小,若所述扩展块集合P中扩展块PEk对应的文件起始位置是bpk,长度是lpk,则所述扩展块PE1包含的文件布局区间是[bp1,bp1+lp1),RE2包含的文件布局区间是[bp2,bp2+lp2),……,REt包含的文件的布局区间是[bpt,bpt+lpt),所述扩展块集合P是以扩展块在文件的起始位置的小于等于关系为偏序关系的偏序集,且所述P中任意两个扩展块的文件布局区间无互相覆盖部分,即对∀ k , 1 < k ≤ t , ]]> 有bpk-1+lpk-1≤bpk,在所述文件布局管理模块中,对于所述文件布局S中包含的连续两个扩展块E1和扩展块E2能够合并作如下定义:所述扩展块E1与所述扩展块E2能够合并是指:所述E1和E2的状态相同、所属磁盘的ID相同,所述E1在文件中的起始位置与长度的和等于所述E2在文件中的起始位置,所述E1在磁盘中的起始位置与长度的和等于所述E2在磁盘中的起始位置,合并后的扩展块在状态、所属磁盘的ID与合并前的所述E1、E2的相同,该合并后的扩展块的长度是合并前的所述扩展块E1与E2长度之和,该合并后的扩展块在文件中的起始位置及在磁盘中的起始位置与所述E1相同,在所述文件布局管理模块中,对于属于所述扩展块集合P的扩展块E与另一个属于所述扩展块集合R的扩展块E′之间的关系作如下定义:所述扩展块E′与所述扩展块E的内容相同:两者在扩展块的文件长度、状态、在文件中的起始位置、所属磁盘的ID及在磁盘中的起始位置均相同,所述两个扩展块E与E′的内容能做差运算,其条件为:所述E′在文件中的起始位置大于或等于所述E在文件中的起始位置,所述E′在文件中的起始位置与长度之和小于或等于所述E在文件中的起始位置与长度之和,所述两个扩展块E与E′内容之差的头部定义为扩展块E头,符合以下条件:所述扩展块E头的状态、所属磁盘的ID均与所述E相同,该扩展块E头的长度是所述E′在文件中的起始位置减去所述E在文件中的起始位置,该扩展块E头在文件中的起始位置是所述E在文件中的起始位置,该扩展块E头在磁盘中的起始位置是所述E在磁盘中的起始位置,所述两个扩展块E与E′内容之差的尾部定义为扩展块E尾,符合以下条件:所述扩展块E尾的状态、所属磁盘的ID均与所述E相同,该扩展块E尾的长度是所述E的长度减去所述E′的长度,该扩展块E尾在文件中的起始位置是所述E在文件中的起始位置加上所述E′的长度,该扩展块E尾在磁盘中的起始位置是所述E在磁盘中的起始位置加上所述E′的长度;步骤(2)在步骤(1)所述的系统中,所述文件布局管理模块依次按以下步骤执行并行文件系统的文件布局管理方法:步骤(2.1)获取文件布局:所述用户请求处理模块向所述文件布局管理模块发送获取文件布局的请求,该请求的输入参数包括指定文件的索引节点inode及所述指定文件的起始位置和长度,所述文件布局管理模块找到相应的文件布局,把组成文件布局的扩展块根据所述请求的起始位置和长度,进行划分与合并,返回给所述请求相应的扩展块集合,并告知所述文件系统,其步骤如下:步骤(2.1.1)从用户请求处理模块传来的请求中的索引节点inode结构获取对应的file结构,找到由file结构指向的元数据文件,步骤(2.1.2)若用户请求处理模块发来的是读请求,则从所述元数据文件中读取对应的文件布局S,S={SE1,SE2,...,SEm},根据所述请求的文件的起始位置B,长度L,获取相应的扩展块集合R={RE1,RE2,...,REn},并返回给所述用户请求处理模块,步骤(2.1.3)若用户请求处理模块发来的是写请求,则首先,根据所述元数据文件是否为空,判断该请求的文件是否存在,若文件不存在
则所述文件布局管理模块创建文件布局S={SE1},否则从所述元数据文件中读取对应的文件布局S,S={SE1,SE2,...,SEm},其次,若所述文件布局S={SE1,SE2,...,SEm}中对应用户请求的起始位置B,长度L的片段中包含尚未在磁盘上分配空间的扩展块时,先向所述磁盘空间管理模块申请空间,最后,若所述文件布局S发生改变,则告知系统新的文件布局S′={SE1′,SE2′,...,SEm′},并写入所述元数据文件中,根据所述请求的文件的起始位置B,长度L,获取相应的扩展块集合R={RE1,RE2,...,REn},并返回给所述用户请求处理模块,步骤(2.2)提交文件布局:所述用户请求处理模块向所述文件布局管理模块发送提交文件布局的请求,该请求的输入参数包括指定文件的索引节点inode及提交给所述指定文件的扩展块的集合,所述文件布局管理模块将该文件布局中的扩展块与该用户请求处理模块传来的扩展块依次比较,找到对应部分后,进行划分与合并操作,答复用户请求处理模块,并告知所述文件系统,其步骤如下:步骤(2.2.1)再次执行步骤(2.1.1),由所述元数据文件中读取对应的文件布局S,S={SE1,SE2,...,SEm},步骤(2.2.2)在步骤(2.2.1)得到的所述文件布局S={SE1,SE2,...,SEm}中检索到与该用户请求处理模块请求的扩展块集合R={RE1,RE2,...,REn}对应的文件扩展块集合P={PE1,PE2,...,PEt},区别以下两种情况,分别对所述P中的扩展块PEk作划分:若:所述R={RE1,RE2,...,REn}中的扩展块REj与相应的P={PE1,PE2,...,PEt}扩展块PEk起始位置匹配,且结束位置也匹配,则不需划分,如果结束位置不匹配,则从所述S中划分出一个新的扩展块PEk′,与所述REj内容相同,划分后,所述PEk的内容发生改变,改变为划分前所述PEk与所述REj内容之差的尾部,若:所述R={RE1,RE2,...,REn}中的扩展块REj与相应的P={PE1,PE2,...,PEt}扩展块PEk起始位置不匹配,则从所述S中划分一个新的扩展块PEk′,其内容是所述PEk与所述REj内容之差的头部,划分后,所述PEk的内容发生改变,改变为划分前所述PEk与所述PEk′内容之差的尾部,再按REj与PEk起始位置匹配的情况处理,步骤(2.2.3)判断步骤(2.2.2)得到的文件扩展块集合中是否有能合并的扩展块,若有,则合并相应的扩展块,步骤(2.2.4)若所述文件布局S={SE1,SE2,...,SEm}发生改变,则告知系统新的文件布局S′={SE1′,SE2′,...,SEm′},并写入所述元数据文件,答复所述用户请求处理模块步骤(2.3)调整文件布局:所述用户请求处理模块向所述文件布局管理模块发送调整文件布局的请求,该请求的输入参数包括指定文件的索引节点inode及所述指定文件的大小,所述文件布局管理模块通过删除扩展块或减少扩展块长度的方式裁剪文件布局以减小文件,或者通过增加扩展块或增大扩展块长度的方式以增大文件,答复该用户请求处理模块的请求,并告知所述文件系统,其步骤如下:步骤(2.3.1)重复步骤(2.1.1),由所述元数据文件中读取对应的文件布局S,S={SE1,SE2,...,SEm},步骤(2.3.2)按以下步骤处理扩展块,满足用户调整文件大小的请求:第一步,判断是否文件大小调整为0,如果是,则删除所有的扩展块,新的文件布局
否则进行下一步,第二步,判断调整的大小是否小于文件已有大小,如果是,删除超出部分的扩展块P={PE1,PE2,...,PEt},新的文件布局S′=S-P,否则进行下一步,第三步,判断调整的大小是否超出文件已有大小,如果是,创建一个新的扩展块SEm+1,新的文件布局S′=S+{SEm+1},否则结束,步骤(2.3.3)判断文件的扩展块集合中是否有能合并的扩展块,如果有,则合并相应的扩展块,步骤(2.3.4)若所述文件布局S={SE1,SE2,...,Sem}发生改变,则告知系统新的文件布局S′={SE1′,SE2′,...,SEm′},将其写入所述元数据文件,并答复所述用户请求处理模块。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200910085482.4/,转载请声明来源钻瓜专利网。
- 上一篇:数据传输方法及终端
- 下一篇:基于邻域方向性信息的SAR图像降斑方法