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

文档序号:9249235阅读:来源:国知局
降低了元数据服务器的访问压力,提高了读取和写入文件的效率,减少了客户端和元数据服务器交互的次数,并通过受损数据及时恢复数据节点信息来解决数据损坏带来的文件数据分布漂移的问题;通过比对文件系统信息,使其只可以读写本文件系统中的文件,避免访问不属于本文件系统的数据,提高了数据访问的安全性;增强了数据存储的自适应性,分别针对文件的期望大小大于等于设定阈值的文件和文件的期望大小小于设定阈值的文件,采用不同的方式存储,有效提高了文件读写的效率;并且,将一把全局文件锁分割为多个文件族锁,增加元数据服务器并发处理修改文件元数据信息的能力,降低了全局文件锁的并发度,提高了海量文件并发访问的能力。
[0138]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【主权项】
1.一种分布式文件系统的文件读写方法,其特征在于,所述方法包括: 向元数据服务器发起文件创建请求,并接收元数据服务器根据所述文件创建请求返回的文件ID,所述文件ID中至少携带有数据节点信息; 根据预设的编码规则将所述文件ID转换为字符串文件名; 接收到用户通过所述字符串文件名发起的文件读写请求后,将所述字符串文件名按照所述预设的编码规则反编码为所述文件ID ; 根据所述文件ID读写所述数据节点信息指示的数据服务器中的文件。2.如权利要求1所述的方法,其特征在于,所述文件ID,包括: 第一区域、第二区域、第三区域、第四区域、第五区域和第六区域,其中, 第一区域,用于存储文件系统信息,所述文件系统信息用于指示所述文件存储的文件系统; 第二区域,用于存储所述文件大小类型信息,所述文件大小类型信息用于指示所述文件的期望大小是否大于等于设定阈值; 第三区域,用于存储集群信息,所述集群信息用于指示所述文件归属的集群; 第四区域,用于存储所述文件族信息,所述文件族信息用于指示所述文件归属的文件族,其中,每一个文件族内的文件共享一个文件锁; 第五区域,用于存储文件族内ID,所述文件族内ID用于指示文件族内唯一标识; 第六区域,用于存储数据节点信息,所述数据节点信息用于指示所述文件存储的数据服务器信息。3.如权利要求2所述的方法,其特征在于,根据所述文件ID读写所述数据节点信息指示的数据服务器中的文件,包括: 根据所述文件的期望大小信息确定所述文件的期望大小大于等于设定阈值时,将所述文件分为多个数据块,并将所述数据块存储在所述数据节点信息指示的存储位置,其中,将每个数据块分为多个数据片,每个数据块中的数据片分别对应一个数据服务器进行存储;或者, 根据所述文件的期望大小信息确定所述文件的期望大小小于设定阈值时,将所述文件的源文件和源文件的多个副本文件存储在所述数据节点信息指示的存储位置,其中,所述源文件和源文件的多个副本文件分别对应一个数据服务器进行存储。4.如权利要求3所述的方法,其特征在于,根据所述文件ID读写所述数据节点信息指示的数据服务器中的文件,还包括: 根据所述文件的期望大小信息确定所述文件的期望大小大于等于设定阈值时,向数据服务器请求读写数据片,若所述数据片被损坏,接收所述数据服务器返回的所述数据片在其他位置的恢复信息,根据所述恢复信息访问在所述其他位置的所述数据片;或者, 根据所述文件的期望大小信息确定所述文件的期望大小小于设定阈值时,向数据服务器请求读写源文件或副本文件,若所述源文件或所述副本文件被损坏,接收所述数据服务器返回的所述源文件或所述副本文件在其他位置的恢复信息,根据所述恢复信息访问在所述其他位置的所述源文件或所述副本文件。5.如权利要求2-4任一项所述的方法,其特征在于,根据所述文件ID读写所述数据节点信息指示的数据服务器中的文件,还包括: 若接收到多个通过字符串文件名发起的元数据信息修改请求,则将各个字符串文件名按照所述预设的编码规则反编码为对应的文件ID,并令所述元数据服务器根据所述文件ID中携带的文件族信息判断采用何种方式处理所述各个元数据信息修改请求,其中,所述元数据服务器采用并发方式处理所述文件族信息不同的文件的元数据信息修改请求,以及采用顺序方式处理所述文件族信息相同的文件的元数据信息修改请求。6.一种分布式文件系统的文件读写装置,其特征在于,所述装置包括: 接收单元,用于向元数据服务器发起文件创建请求,并接收元数据服务器根据所述文件创建请求返回的文件ID,所述文件ID中至少携带有数据节点信息; 编码单元,用于根据预设的编码规则将所述文件ID转换为字符串文件名; 反编码单元,用于接收到用户通过所述字符串文件名发起的文件读写请求后,将所述字符串文件名按照所述预设的编码规则反编码为所述文件ID ; 读写单元,用于根据所述文件ID读写所述数据节点信息指示的数据服务器中的文件。7.如权利要求6所述的装置,其特征在于,所述文件ID,包括: 第一区域、第二区域、第三区域、第四区域、第五区域和第六区域,其中, 第一区域,用于存储文件系统信息,所述文件系统信息用于指示所述文件存储的文件系统; 第二区域,用于存储所述文件大小类型信息,所述文件大小类型信息用于指示所述文件的期望大小是否大于等于设定阈值; 第三区域,用于存储集群信息,所述集群信息用于指示所述文件归属的集群; 第四区域,用于存储所述文件族信息,所述文件族信息用于指示所述文件归属的文件族,其中,每一个文件族内的文件共享一个文件锁; 第五区域,用于存储文件族内ID,所述文件族内ID用于指示文件族内唯一标识; 第六区域,用于存储数据节点信息,所述数据节点信息用于指示所述文件存储的数据服务器信息。8.如权利要求7所述的装置,其特征在于,所述读写单元,具体用于:根据所述文件的期望大小信息确定所述文件的期望大小大于等于设定阈值时,将所述文件分为多个数据块,并将所述数据块存储在所述数据节点信息指示的存储位置,其中,将每个数据块分为多个数据片,每个数据块中的数据片分别对应一个数据服务器进行存储;或者, 根据所述文件的期望大小信息确定所述文件的期望大小小于设定阈值时,将所述文件的源文件和源文件的多个副本文件存储在所述数据节点信息指示的存储位置,其中,所述源文件和源文件的多个副本文件分别对应一个数据服务器进行存储。9.如权利要求8所述的装置,其特征在于,所述读写单元,还用于: 根据所述文件的期望大小信息确定所述文件的期望大小大于等于设定阈值时,向数据服务器请求读写数据片,若所述数据片被损坏,接收所述数据服务器返回的所述数据片在其他位置的恢复信息,根据所述恢复信息访问在所述其他位置的所述数据片;或者, 根据所述文件的期望大小信息确定所述文件的期望大小小于设定阈值时,向数据服务器请求读写源文件或副本文件,若所述源文件或所述副本文件被损坏,接收所述数据服务器返回的所述源文件或所述副本文件在其他位置的恢复信息,根据所述恢复信息访问在所述其他位置的所述源文件或所述副本文件。10.如权利要求7-9任一项所述的装置,其特征在于,所述读写单元,还用于: 在接收到多个通过字符串文件名发起的元数据信息修改请求时,将各个字符串文件名按照所述预设的编码规则反编码为对应的文件ID,并令所述元数据服务器根据所述文件ID中携带的文件族信息判断采用何种方式处理所述各个元数据信息修改请求,其中,所述元数据服务器采用并发方式处理所述文件族信息不同的文件的元数据信息修改请求,以及采用顺序方式处理所述文件族信息相同的文件的元数据信息修改请求。
【专利摘要】本发明公开了一种分布式文件系统的文件读写方法及装置,用于解决现有技术中访问较大文件时的效率低下,以及元数据服务器处理负荷过大的问题。该方法为:向元数据服务器发起文件创建请求,并接收元数据服务器根据文件创建请求返回的文件ID,文件ID中至少携带有数据节点信息;根据预设的编码规则将文件ID转换为字符串文件名;接收到用户通过字符串文件名发起的文件读写请求后,将字符串文件名按照预设的编码规则反编码为文件ID;根据文件ID读写数据节点信息指示的数据服务器中的文件。采用上述方法,有效降低了元数据服务器的处理负荷,提高了元数据服务器的并发处理能力,提高了文件访问的安全性、提高了大文件访问的效率。
【IPC分类】G06F17/30
【公开号】CN104965835
【申请号】CN201410371520
【发明人】王亮, 周明伟, 翁健, 舒添翼, 陈伟, 许焰, 张兴明
【申请人】浙江大华技术股份有限公司
【公开日】2015年10月7日
【申请日】2014年7月30日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1