分布式文件系统的数据管理方法和装置的制造方法
【技术领域】
[0001]本发明涉及计算机存储技术领域,特别是涉及一种分布式文件系统的数据管理方法和装置。
【背景技术】
[0002]分布式文件系统(Distributed File System)是指文件系统管理的物理资源不一定直接连接到本地节点上,而是散布在不同的服务器上,通过计算机网络使各服务器互联,共同管理物理资源提供存储服务。分布式文件系统对外提供的是文件系统挂载服务,用户挂载分布式文件系统后,即可访问文件系统中全局的文件,效果等同于访问本地文件系统。
[0003]分布式文件系统底层采用本地文件系统存放数据文件,如果单个文件太大,将无法存放在某一个磁盘上,即文件大小将受限于本地文件系统的大小。传统的解决方式有两种:I)在客户端对大文件分成固定大小的小文件,然后存放到不同的服务器上;2)在服务端将文件分成固定大小的小文件,存放在本地服务器上的各个本地文件系统中。方式I)由于将大文件分成小文件存放到不同的服务器上,如某一服务器出现故障,则该文件对应的某一区段将无法访问;方式2)由于直接在服务器端内部进行切块,切分的分块存放在本服务器上,文件分布的范围不会扩大,实现简单,但在读写并发上较弱。但是不管采用方式I)还是方式2),当集群大文件较多,容量使用较满时,本地文件系统相应也较满,如发生掉电重启,本地文件系统进行文件系统校验时间长。
【发明内容】
[0004]基于此,有必要针对上述单个文件太大不能存放在某一个磁盘上且重启时进行文件系统校验时间长的问题,提供一种分布式文件系统的数据管理方法和装置。
[0005]—种分布式文件系统的数据管理方法,该方法包括:接收文件创建请求,获取请求创建的文件信息;根据文件信息确定文件的大小类别;若文件为小文件,则在本地文件系统中为小文件分配空间;若文件为大文件,则将大文件进行拆分,并为拆分后的子文件创建逻辑卷以存储子文件,记录子文件对应的逻辑卷信息,将记录的逻辑卷信息存储到本地文件系统。
[0006]在其中一个实施例中,根据文件信息确定文件的大小类别的步骤包括:根据文件信息识别文件的格式类型;根据预先建立的格式类型与大小类别之间的对应关系,确定文件的大小类别。
[0007]在其中一个实施例中,若文件为大文件,则将大文件进行拆分,为拆分后的子文件创建逻辑卷以存储子文件,并记录逻辑卷信息的步骤包括:若文件为大文件,则将大文件按预设的规则进行拆分;为拆分后的子文件分配卷组,并在卷组上为子文件创建逻辑卷以存储子文件,以及记录子文件对应的逻辑卷信息。
[0008]在其中一个实施例中,为拆分后的子文件分配卷组,并在卷组上为子文件创建逻辑卷以存储子文件,以及记录子文件对应的逻辑卷信息的步骤包括:在本地空间为拆分后的子文件分配卷组,并在卷组上为子文件创建逻辑卷,当本地空间不足时,则通过网络间的进程为子文件进行远程空间的申请,在远程空间分配的卷组上为所述子文件创建逻辑卷,并记录子文件对应的逻辑卷信息。
[0009]在其中一个实施例中,上述分布式文件系统的数据管理方法包括:接收删除文件的请求;若请求删除的文件为小文件,则直接在本地文件系统中删除对应的文件;若请求删除的文件为大文件,则查询大文件包含的子文件对应的逻辑卷信息,解析逻辑卷信息,根据解析后的逻辑卷信息删除对应的逻辑卷。
[0010]在其中一个实施例中,上述分布式文件系统的数据管理方法还包括:接收文件写入请求;若请求写入的文件为小文件,则直接将数据写入本地文件系统中对应的文件中;若请求写入的文件为大文件,则查询大文件包含的子文件对应的逻辑卷信息,根据逻辑卷信息和写入的偏移位置,确定与偏移位置对应的逻辑卷,将数据写入到该逻辑卷,并更新本地文件系统中相应的逻辑卷信息。
[0011 ]在其中一个实施例中,上述分布式文件系统的数据管理方法还包括:接收文件读取请求;若请求读取的文件为小文件,则直接从本地文件系统中读取对应的文件内容;若请求读取的文件为大文件,则查询大文件包含的子文件对应的逻辑卷信息,根据逻辑卷信息和读取的偏移位置,确定与偏移位置对应的逻辑卷,从逻辑卷中读取相应的文件内容,并更新本地文件系统中相应的逻辑卷信息。
[0012]—种分布式文件系统的数据管理装置包括:接收模块,用于接收文件创建请求,获取请求创建的文件信息;确定模块,用于根据文件信息确定文件的大小类别;分配模块,用于若文件为小文件,则在本地文件系统中为小文件分配空间,若文件为大文件,则将大文件进行拆分,并为拆分后的子文件创建逻辑卷以存储子文件,记录子文件对应的逻辑卷信息,将记录的逻辑卷信息存储到本地文件系统。
[0013]在其中一个实施例中,确定模块包括:识别模块,用于根据文件信息识别文件的格式类型;大小确定模块,用于根据预先建立的格式类型与大小类别之间的对应关系,确定文件的大小类别。
[0014]在其中一个实施例中,分配模块还用于若文件为大文件,则将大文件按预设的规则进行拆分,为拆分后的子文件分配卷组,并在卷组上为子文件创建逻辑卷以存储子文件,以及记录子文件对应的逻辑卷信息。
[0015]在其中一个实施例中,分配模块还用于在本地空间为拆分后的子文件分配卷组,并在所述卷组上为所述子文件创建逻辑卷,当本地空间不足时,则通过网络间的进程为子文件进行远程空间的申请,在远程空间分配的卷组上为所述子文件创建逻辑卷,并记录子文件对应的逻辑卷信息。
[0016]在其中一个实施例中,上述分布式文件系统数据管理装置还包括:请求删除模块,用于接收客户端发送的删除文件的请求;删除模块,用于若请求删除的文件为小文件,则直接在本地文件系统中删除对应的文件,若请求删除的文件为大文件,则查询大文件包含的子文件对应的逻辑卷信息,解析逻辑卷信息,根据解析后的逻辑卷信息删除对应的逻辑卷。
[0017]在其中一个实施例中,上述分布式文件系统数据管理装置还包括:请求写入模块,用于接收文件写入请求;写入模块,用于若请求写入的文件为小文件,则直接将数据写入本地文件系统中对应的文件中,若请求写入的文件为大文件,则查询文件对应的逻辑卷信息,根据逻辑卷信息和写入的偏移位置,确定与偏移位置对应的逻辑卷,将数据写入到逻辑卷,并更新本地文件系统中相应的逻辑卷信息。
[0018]在其中一个实施例中,上述分布式文件系统的数据管理装置还包括:读取请求模块,用于接收文件读取请求;读取模块,用于若请求读取的文件为小文件,则直接从本地文件系统中读取对应的文件内容,若请求读取的文件为大文件,则查询大文件对应的逻辑卷信息,根据逻辑卷信息和读取的偏移位置,确定与偏移位置对应的逻辑卷,从逻辑卷中读取相应的文件内容,并更新本地文件系统中相应的逻辑卷信息。
[0019]上述分布式文件系统的数据管理方法和装置,通过接收文件创建请求,获取请求创建的文件信息,根据文件信息确定文件的大小类别,若文件为小文件,则在本地文件系统中为小文件分配空间;若文件为大文件,则将大文件进行拆分,并为拆分后的子文件创建逻辑卷以存储子文件,记录子文件对应的逻辑卷信息,将记录的逻辑卷信息存储到本地文件系统。也就是说,只有当文件为小文件时,才将文件存储到本地文件系统中,这样就避免了单个文件突破单个本地文件系统的问题,同时,将大文件进行拆分,将子文件存储在逻辑卷中,只将记录的逻辑卷信息即大文件的元数据信息存储在本地文件系统中,需要重启时,本地文件系统自检的数据量较少,从而缩短了校验的时间。
【附图说明】
[0020]图1为一个实施例中分布式文件系统的数据管理方法流程图;
[0021 ]图2为一个实施例中分布式文件系统的数据管理的示意图;
[0022]图3为一个实施例中确定大小类别的方法流程图;
[0023]图4为一个实施例中大文件管理的方法流程图;
[0024]图5为另一个实施例中分布式文件系统的数据管理的示意图;
[0025]图6为一个实施例中分布式文件系统中删除文件的方法流程图;
[0026]图7为一个实施例中分布式文件系统中写入文件的方法流程图;
[0027]图8为一个实施例中分布式文件系统中读取文件的方法流程图;
[0028]图9为一个实施例中分布式文件系统的数据管理装置的结构框图;
[0029]图10为一个实施