一种分布式文件系统的文件读写方法及装置的制造方法

文档序号:9249235阅读:219来源:国知局
一种分布式文件系统的文件读写方法及装置的制造方法
【技术领域】
[0001]本发明涉及文件系统领域,尤其涉及一种分布式文件系统的文件读写方法及装置。
【背景技术】
[0002]分布式文件系统是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。参阅图1所示,传统的分布式文件系统读写文件的具体步骤如下:
[0003]步骤100:客户端接收用户发送的创建文件请求;
[0004]步骤110:客户端向元数据服务器请求创建文件;
[0005]步骤120:客户端接收元数据服务器根据该创建文件请求将该文件在数据服务器中创建后返回的文件ID ;
[0006]步骤130:客户端把文件ID编码为字符串文件名发送给用户;
[0007]步骤140:客户端接收用户通过该字符串文件名发起的文件读写请求;
[0008]步骤150:客户端将字符串文件名反编码为文件ID,并向元数据服务器请求该文件相关的数据服务器信息,该数据服务器信息用于指示将该文件被创建至在哪个数据服务器;
[0009]步骤160:客户端接收元数据服务器根据文件ID索引出的该文件的相关数据服务器信息;
[0010]步骤170:客户端根据元数据服务器返回的相关数据服务器信息读写该文件。
[0011]在执行步骤140后,客户端无法根据用户传入的该文件的文件名直接读写数据服务器,必须通过执行步骤150和步骤160之后,即必须通过从元数据服务器获取该文件的数据服务器信息之后,才能读写数据服务器。这种读写文件的方式降低了客户端访问文件的效率,同时也增大了元数据服务器的访问压力。
[0012]同时传统的分布式文件系统存储文件时,不区分文件的大小,对所有文件都采用副本的方式进行存储,其中,采用副本方式存储即存储一份源文件以及多份副本文件,如此在读写大文件时,必然导致访问效率低下。
[0013]另一方面,分布式文件系统接收多个进程读写文件时,元数据服务器只能按照请求的先后顺序,依次处理多个读写请求,也会降低元数据服务器的处理效率,增大元数据服务器的处理负荷。

【发明内容】

[0014]本发明实施例提供一种分布式文件系统的文件ID的生成方法及装置,用以解决现有技术中访问较大文件的效率低下,元数据服务器处理负荷大的问题。
[0015]本发明提供的解决方案如下:
[0016]一种分布式文件系统的文件读写方法,该方法包括:
[0017]向元数据服务器发起文件创建请求,并接收元数据服务器根据文件创建请求返回的文件ID,文件ID中至少携带有数据节点信息;
[0018]根据预设的编码规则将文件ID转换为字符串文件名;
[0019]接收到用户通过字符串文件名发起的文件读写请求后,将字符串文件名按照预设的编码规则反编码为文件ID ;
[0020]根据文件ID读写数据节点信息指示的数据服务器中的文件。
[0021]本发明实施例提供的方案,利用文件ID携带的文件的各种关键信息来简化分布式文件系统的处理流程,降低了元数据服务器的访问压力,提高了读取和写入文件的效率,减少了客户端和元数据服务器交互的次数。
[0022]较佳的,文件ID,包括:
[0023]第一区域、第二区域、第三区域、第四区域、第五区域和第六区域,其中,
[0024]第一区域,用于存储文件系统信息,文件系统信息用于指示文件存储的文件系统;
[0025]第二区域,用于存储文件大小类型信息,文件大小类型信息用于指示文件的期望大小是否大于等于设定阈值;
[0026]第三区域,用于存储集群信息,集群信息用于指示文件归属的集群;
[0027]第四区域,用于存储文件族信息,文件族信息用于指示文件归属的文件族,其中,每一个文件族内的文件共享一个文件锁;
[0028]第五区域,用于存储文件族内ID,文件族内ID用于指示文件族内唯一标识;
[0029]第六区域,用于存储数据节点信息,数据节点信息用于指示文件存储的数据服务器信息。
[0030]较佳的,根据文件ID读写数据节点信息指示的数据服务器中的文件,包括:
[0031]根据文件的期望大小信息确定文件的期望大小大于等于设定阈值时,将文件分为多个数据块,并将数据块存储在数据节点信息指示的存储位置,其中,将每个数据块分为多个数据片,每个数据块中的数据片分别对应一个数据服务器进行存储;或者,
[0032]根据文件的期望大小信息确定文件的期望大小小于设定阈值时,将文件的源文件和源文件的多个副本文件存储在数据节点信息指示的存储位置,其中,源文件和源文件的多个副本文件分别对应一个数据服务器进行存储。
[0033]通过这种可能的实施方式,增强了数据存储的自适应性,分别针对文件的期望大小大于等于设定阈值的文件和文件的期望大小小于设定阈值的文件,采用不同的方式存储,有效提高了文件读写的效率。
[0034]较佳的,根据文件ID读写数据节点信息指示的数据服务器中的文件,还包括:
[0035]根据文件的期望大小信息确定文件的期望大小大于等于设定阈值时,向数据服务器请求读写数据片,若数据片被损坏,接收数据服务器返回的数据片在其他位置的恢复信息,根据恢复信息访问在其他位置的数据片;或者,
[0036]根据文件的期望大小信息确定文件的期望大小小于设定阈值时,向数据服务器请求读写源文件或副本文件,若源文件或副本文件被损坏,接收数据服务器返回的源文件或副本文件在其他位置的恢复信息,根据恢复信息访问在其他位置的源文件或副本文件。
[0037]通过这种可能的实施方式,利用受损数据及时恢复数据节点信息来解决数据损坏带来的文件数据分布漂移的问题。
[0038]较佳的,根据文件ID读写数据节点信息指示的数据服务器中的文件,还包括:
[0039]若接收到多个通过字符串文件名发起的元数据信息修改请求,则将各个字符串文件名按照预设的编码规则反编码为对应的文件ID,并令元数据服务器根据文件ID中携带的文件族信息判断采用何种方式处理各个元数据信息修改请求,其中,元数据服务器采用并发方式处理文件族信息不同的文件的元数据信息修改请求,以及采用顺序方式处理文件族信息相同的文件的元数据信息修改请求。
[0040]通过这种可能的实施方式,将一把全局文件锁分割为多个文件族锁,增加元数据服务器并发处理修改文件元数据信息的能力,降低了全局文件锁的并发度,提高了海量文件并发访问的能力。
[0041]一种分布式文件系统的文件读写装置,该装置包括:
[0042]接收单元,用于向元数据服务器发起文件创建请求,并接收元数据服务器根据文件创建请求返回的文件ID,文件ID中至少携带有数据节点信息;
[0043]编码单元,用于根据预设的编码规则将文件ID转换为字符串文件名;
[0044]反编码单元,用于接收到用户通过字符串文件名发起的文件读写请求后,将字符串文件名按照预设的编码规则反编码为文件ID ;
[0045]读写单元,用于根据文件ID读写数据节点信息指示的数据服务器中的文件。
[0046]本发明实施例提供的方案,利用文件ID携带的文件的各种关键信息来简化分布式文件系统的处理流程,降低了元数据服务器的访问压力,提高了读取和写入文件的效率,减少了客户端和元数据服务器交互的次数。
[0047]较佳的,文件ID,包括:
[0048]第一区域、第二区域、第三区域、第四区域、第五区域和第六区域,其中,
[0049]第一区域,用于存储文件系统信息,文件系统信息用于指示文件存储的文件系统;
[0050]第二区域,用于存储文件大小类型信息,文件大小类型信息用于指示文件的期望大小是否大于等于设定阈值;
[0051]第三区域,用于存储集群信息,集群信息用于指示文件归属的集群;
[0052]第四区域,用于存储文件族信息,文件族信息用于指示文件归属的文件族,其中,每一个文件族内的文件共享一个文件锁;
[0053]第五区域,用于存储文件族内ID,文件族内ID用于指示文件族内唯一标识;
[0054]第六区域,用于存储数据节点信息,数据节点信息用于指示文件存储的数据服务器信息。
[0055]较佳的,读写单元,具体用于:根据文件的期望大小信息确定文件的期望大小大于等于设定阈值时,将文件分为多个数据块,并将数
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1