CN105608193B - 分布式文件系统的数据管理方法和装置 - Google Patents

分布式文件系统的数据管理方法和装置 Download PDF

Info

Publication number
CN105608193B
CN105608193B CN201510980463.3A CN201510980463A CN105608193B CN 105608193 B CN105608193 B CN 105608193B CN 201510980463 A CN201510980463 A CN 201510980463A CN 105608193 B CN105608193 B CN 105608193B
Authority
CN
China
Prior art keywords
file
subfile
volume
information
big
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510980463.3A
Other languages
English (en)
Other versions
CN105608193A (zh
Inventor
蔡俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN201510980463.3A priority Critical patent/CN105608193B/zh
Publication of CN105608193A publication Critical patent/CN105608193A/zh
Application granted granted Critical
Publication of CN105608193B publication Critical patent/CN105608193B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems

Abstract

本发明提出了一种分布式文件系统的数据管理方法,该方法包括:接收文件创建请求,获取请求创建的文件信息;根据文件信息确定文件的大小类别;若文件为小文件,则在本地文件系统中为小文件分配空间;若文件为大文件,则将大文件进行拆分,并为拆分后的子文件创建逻辑卷以存储子文件,记录子文件对应的逻辑卷信息,将记录的逻辑卷信息存储到本地文件系统。通过只将小文件数据和大文件的元数据信息存储在本地文件系统,其他文件数据存储在逻辑卷中,这样不仅避免了单个文件突破单个本地文件系统的问题,当需要重启时,由于本地文件系统自检的数据量较小,缩短了校验的时间。

Description

分布式文件系统的数据管理方法和装置
技术领域
本发明涉及计算机存储技术领域,特别是涉及一种分布式文件系统的数据管理方法和装置。
背景技术
分布式文件系统(Distributed File System)是指文件系统管理的物理资源不一定直接连接到本地节点上,而是散布在不同的服务器上,通过计算机网络使各服务器互联,共同管理物理资源提供存储服务。分布式文件系统对外提供的是文件系统挂载服务,用户挂载分布式文件系统后,即可访问文件系统中全局的文件,效果等同于访问本地文件系统。
分布式文件系统底层采用本地文件系统存放数据文件,如果单个文件太大,将无法存放在某一个磁盘上,即文件大小将受限于本地文件系统的大小。传统的解决方式有两种:1)在客户端对大文件分成固定大小的小文件,然后存放到不同的服务器上;2)在服务端将文件分成固定大小的小文件,存放在本地服务器上的各个本地文件系统中。方式1)由于将大文件分成小文件存放到不同的服务器上,如某一服务器出现故障,则该文件对应的某一区段将无法访问;方式2)由于直接在服务器端内部进行切块,切分的分块存放在本服务器上,文件分布的范围不会扩大,实现简单,但在读写并发上较弱。但是不管采用方式1)还是方式2),当集群大文件较多,容量使用较满时,本地文件系统相应也较满,如发生掉电重启,本地文件系统进行文件系统校验时间长。
发明内容
基于此,有必要针对上述单个文件太大不能存放在某一个磁盘上且重启时进行文件系统校验时间长的问题,提供一种分布式文件系统的数据管理方法和装置。
一种分布式文件系统的数据管理方法,该方法包括:接收文件创建请求,获取请求创建的文件信息;根据文件信息确定文件的大小类别;若文件为小文件,则在本地文件系统中为小文件分配空间;若文件为大文件,则将大文件进行拆分,并为拆分后的子文件创建逻辑卷以存储子文件,记录子文件对应的逻辑卷信息,将记录的逻辑卷信息存储到本地文件系统。
在其中一个实施例中,根据文件信息确定文件的大小类别的步骤包括:根据文件信息识别文件的格式类型;根据预先建立的格式类型与大小类别之间的对应关系,确定文件的大小类别。
在其中一个实施例中,若文件为大文件,则将大文件进行拆分,为拆分后的子文件创建逻辑卷以存储子文件,并记录逻辑卷信息的步骤包括:若文件为大文件,则将大文件按预设的规则进行拆分;为拆分后的子文件分配卷组,并在卷组上为子文件创建逻辑卷以存储子文件,以及记录子文件对应的逻辑卷信息。
在其中一个实施例中,为拆分后的子文件分配卷组,并在卷组上为子文件创建逻辑卷以存储子文件,以及记录子文件对应的逻辑卷信息的步骤包括:在本地空间为拆分后的子文件分配卷组,并在卷组上为子文件创建逻辑卷,当本地空间不足时,则通过网络间的进程为子文件进行远程空间的申请,在远程空间分配的卷组上为所述子文件创建逻辑卷,并记录子文件对应的逻辑卷信息。
在其中一个实施例中,上述分布式文件系统的数据管理方法包括:接收删除文件的请求;若请求删除的文件为小文件,则直接在本地文件系统中删除对应的文件;若请求删除的文件为大文件,则查询大文件包含的子文件对应的逻辑卷信息,解析逻辑卷信息,根据解析后的逻辑卷信息删除对应的逻辑卷。
在其中一个实施例中,上述分布式文件系统的数据管理方法还包括:接收文件写入请求;若请求写入的文件为小文件,则直接将数据写入本地文件系统中对应的文件中;若请求写入的文件为大文件,则查询大文件包含的子文件对应的逻辑卷信息,根据逻辑卷信息和写入的偏移位置,确定与偏移位置对应的逻辑卷,将数据写入到该逻辑卷,并更新本地文件系统中相应的逻辑卷信息。
在其中一个实施例中,上述分布式文件系统的数据管理方法还包括:接收文件读取请求;若请求读取的文件为小文件,则直接从本地文件系统中读取对应的文件内容;若请求读取的文件为大文件,则查询大文件包含的子文件对应的逻辑卷信息,根据逻辑卷信息和读取的偏移位置,确定与偏移位置对应的逻辑卷,从逻辑卷中读取相应的文件内容,并更新本地文件系统中相应的逻辑卷信息。
一种分布式文件系统的数据管理装置包括:接收模块,用于接收文件创建请求,获取请求创建的文件信息;确定模块,用于根据文件信息确定文件的大小类别;分配模块,用于若文件为小文件,则在本地文件系统中为小文件分配空间,若文件为大文件,则将大文件进行拆分,并为拆分后的子文件创建逻辑卷以存储子文件,记录子文件对应的逻辑卷信息,将记录的逻辑卷信息存储到本地文件系统。
在其中一个实施例中,确定模块包括:识别模块,用于根据文件信息识别文件的格式类型;大小确定模块,用于根据预先建立的格式类型与大小类别之间的对应关系,确定文件的大小类别。
在其中一个实施例中,分配模块还用于若文件为大文件,则将大文件按预设的规则进行拆分,为拆分后的子文件分配卷组,并在卷组上为子文件创建逻辑卷以存储子文件,以及记录子文件对应的逻辑卷信息。
在其中一个实施例中,分配模块还用于在本地空间为拆分后的子文件分配卷组,并在所述卷组上为所述子文件创建逻辑卷,当本地空间不足时,则通过网络间的进程为子文件进行远程空间的申请,在远程空间分配的卷组上为所述子文件创建逻辑卷,并记录子文件对应的逻辑卷信息。
在其中一个实施例中,上述分布式文件系统数据管理装置还包括:请求删除模块,用于接收客户端发送的删除文件的请求;删除模块,用于若请求删除的文件为小文件,则直接在本地文件系统中删除对应的文件,若请求删除的文件为大文件,则查询大文件包含的子文件对应的逻辑卷信息,解析逻辑卷信息,根据解析后的逻辑卷信息删除对应的逻辑卷。
在其中一个实施例中,上述分布式文件系统数据管理装置还包括:请求写入模块,用于接收文件写入请求;写入模块,用于若请求写入的文件为小文件,则直接将数据写入本地文件系统中对应的文件中,若请求写入的文件为大文件,则查询文件对应的逻辑卷信息,根据逻辑卷信息和写入的偏移位置,确定与偏移位置对应的逻辑卷,将数据写入到逻辑卷,并更新本地文件系统中相应的逻辑卷信息。
在其中一个实施例中,上述分布式文件系统的数据管理装置还包括:读取请求模块,用于接收文件读取请求;读取模块,用于若请求读取的文件为小文件,则直接从本地文件系统中读取对应的文件内容,若请求读取的文件为大文件,则查询大文件对应的逻辑卷信息,根据逻辑卷信息和读取的偏移位置,确定与偏移位置对应的逻辑卷,从逻辑卷中读取相应的文件内容,并更新本地文件系统中相应的逻辑卷信息。
上述分布式文件系统的数据管理方法和装置,通过接收文件创建请求,获取请求创建的文件信息,根据文件信息确定文件的大小类别,若文件为小文件,则在本地文件系统中为小文件分配空间;若文件为大文件,则将大文件进行拆分,并为拆分后的子文件创建逻辑卷以存储子文件,记录子文件对应的逻辑卷信息,将记录的逻辑卷信息存储到本地文件系统。也就是说,只有当文件为小文件时,才将文件存储到本地文件系统中,这样就避免了单个文件突破单个本地文件系统的问题,同时,将大文件进行拆分,将子文件存储在逻辑卷中,只将记录的逻辑卷信息即大文件的元数据信息存储在本地文件系统中,需要重启时,本地文件系统自检的数据量较少,从而缩短了校验的时间。
附图说明
图1为一个实施例中分布式文件系统的数据管理方法流程图;
图2为一个实施例中分布式文件系统的数据管理的示意图;
图3为一个实施例中确定大小类别的方法流程图;
图4为一个实施例中大文件管理的方法流程图;
图5为另一个实施例中分布式文件系统的数据管理的示意图;
图6为一个实施例中分布式文件系统中删除文件的方法流程图;
图7为一个实施例中分布式文件系统中写入文件的方法流程图;
图8为一个实施例中分布式文件系统中读取文件的方法流程图;
图9为一个实施例中分布式文件系统的数据管理装置的结构框图;
图10为一个实施例中确定模块的结构框图;
图11为另一个实施例中分布式文件系统的数据管理装置的结构框图;
图12为再一个实施例中分布式文件系统的数据管理装置的结构框图;
图13为又一个实施例中分布式文件系统的数据管理装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,在一个实施例中,提出了一种分布式文件系统的数据管理方法,该方法包括:
步骤102,接收文件创建请求,获取请求创建的文件信息。
具体的,服务器接收客户端或其他服务器发送的文件创建请求,获取请求创建的文件信息,这里的文件信息包括文件的格式类型信息、文件的大小信息和文件的空间占用信息中的至少一种。
步骤104,根据文件信息确定文件的大小类别。
具体的,根据预先建立文件信息与文件大小类别之间的对应关系,根据文件信息,即可确定文件的大小类别。这里大小类别有两种,一种是大文件,一种是小文件。需要说明的是,这里的大文件和小文件,跟文件的真实大小并不一定相关,而是在实际应用中,有一些特定格式类型的文件通常都较大,比如.qcow2文件,.vmdk文件等。将这些特定格式类型的文件归为大文件,而其他的文件归为小文件。通过在线配置或离线配置,在分布式文件系统中建立文件的格式类型与大小类别之间的对应关系,通过获取文件的格式类型即可知道该文件属于大文件还是小文件。
步骤106,若文件为小文件,则在本地文件系统中为小文件分配空间。
在一个实施例中,通过文件的格式类型获取到需要创建的文件为小文件时,则直接在本地文件系统中为小文件分配空间,将小文件的数据和元数据都存储在本地文件系统中。其中,本地文件系统指的是在本机磁盘上,不能跨物理服务器的文件系统。
步骤108,若文件为大文件,则将大文件进行拆分,并为拆分后的子文件创建逻辑卷以存储子文件,记录子文件对应的逻辑卷信息,将记录的逻辑卷信息存储到本地文件系统。
在一个实施例中,当需要创建的文件为大文件时,则按预设的规则将大文件进行拆分,一般是将大文件按照预设的分片阈值进行分片即拆分,比如可以按照64MB进行分片,即将大文件按64MB的大小分成固定大小的文件,为了不浪费空间,最后一个分片是实际的大小,即当剩下的大小不足64MB时,不再进行切分,保留实际的大小。为拆分后的子文件创建逻辑卷以存储拆分后的子文件,具体的,首先,为拆分后的子文件选择合适的一个或多个卷组,在选择的卷组上创建逻辑卷,一个子文件对应一个逻辑卷,将拆分后的子文件存储在相应的逻辑卷中,并记录子文件对应的逻辑卷信息,逻辑卷信息包括大文件的分片阈值、分片后的各个子文件对应的逻辑卷的序号以及对应的逻辑卷的位置,还有逻辑卷的使用状态等,该逻辑卷信息即相当于大文件的元数据信息,通过该逻辑卷信息就可找到对应的逻辑卷。
在本实施例中,通过接收文件创建请求,获取请求创建的文件的文件信息,根据文件信息确定文件的大小类别,若文件为小文件,则在本地文件系统中为小文件分配空间;若文件为大文件,则将大文件进行拆分,并为拆分后的子文件创建逻辑卷以存储子文件,记录子文件对应的逻辑卷信息,将记录的逻辑卷信息存储到本地文件系统。也就是说,只有当文件为小文件时,才将文件存储到本地文件系统中,这样就避免了单个文件突破单个本地文件系统的问题,同时,将大文件进行拆分,将子文件存储在逻辑卷中,只将记录的逻辑卷信息即大文件的元数据信息存储在本地文件系统中,需要重启时,本地文件系统自检的数据量较少,从而缩短了校验的时间。
如图2所示,在一个实施例中,在存储服务器中部署有存储服务端程序Server(Server1、Server2、Server3和Server4)和空间管理模块SpaceManager,底层采用LVM(Logical Volume Manager,逻辑卷管理)管理磁盘。LVM是Linux环境下对磁盘分区进行管理的一种机制。其中,存储服务端程序Server有多个功能模块,包括用来负责文件切分和读写的Shard模块和文件系统操作层模块。具体的,客户端发起文件创建请求,存储服务器中的Server中的Shard模块接收该文件创建请求,获取需要创建的文件信息,识别请求创建的文件是大文件还是小文件,若识别出请求创建的文件为小文件,则通过Server中的文件系统操作层,操作图中黑色的逻辑卷,该逻辑卷是指定的强制要求创建本地文件系统的逻辑卷,也就是说,该逻辑卷就是本地文件系统,操作图中黑色的逻辑卷就是在本地文件系统上为小文件分配空间进行存储。若Shard模块识别出请求创建的文件为大文件,则将该大文件拆分成若干个固定大小的子文件,并向SpaceManager模块发送文件创建请求,SpaceManager模块选择合适的一个或多个VG(卷组),在卷组上为拆分后的子文件创建LV(逻辑卷),并记录子文件对应的LV(逻辑卷)信息,将该子文件对应的逻辑卷信息返回给Shard模块,Shard模块解析接收到的LV信息,并通过文件系统操作层将LV信息以内容的方式记入到了本地文件系统中的文件。
如图3所示,在一个实施例中,上述根据文件信息确定文件的大小类别的步骤包括:
步骤104a,根据文件信息识别文件的格式类型。
具体的,文件信息中包括了文件的格式类型、文件大小、文件的占用空间信息等,根据文件信息识别出该文件的格式类型,文件格式类型是指为了存储信息而使用的对信息的特殊编码方式,用于识别存储的资料。比如,有的存储图片,有的存储程序,有的存储文字信息,每一类信息以不同的文件格式进行保存,通常使用文件的扩展名来识别,如.doc,.vmdk,.xml等。
步骤104b,根据预先建立的格式类型与大小类别之间的对应关系,确定文件的大小类别。
具体的,识别出文件的格式类型后,根据预先建立的格式类型与文件大小类别之间的对应关系,其中,文件大小类别包括大文件和小文件两类。根据格式类型即可确定文件是属于大文件还是小文件。
如图4所示,在一个实施例中,上述若文件为大文件,则将大文件进行拆分,为拆分后的子文件创建逻辑卷以存储子文件,并记录逻辑卷信息的步骤包括:
步骤108a,若文件为大文件,则将大文件按预设的规则进行拆分。
具体的,如果识别出的文件为大文件,则按预设的切分规则对大文件进行拆分,比如设置切分阈值为32MB,则将大文件切分成多个固定大小为32MB的子文件,为了不浪费空间,最后一个不足32MB的保留为原大小。
步骤108b,为拆分后的子文件分配卷组,并在卷组上为子文件创建逻辑卷以存储子文件,以及记录子文件对应的逻辑卷信息。
具体的,将大文件拆分为多个子文件后,为拆分后的子文件选择合适的一个或多个卷组,在卷组上为子文件创建逻辑卷以存储该子文件,每一个子文件对应一个逻辑卷,并记录每个子文件对应的逻辑卷信息,包括逻辑卷的大小,对应的逻辑卷的编号、逻辑卷的位置、还有逻辑卷的最新使用状态等。
在一个实施例中,为拆分后的子文件分配卷组,并在所述卷组上为所述子文件创建逻辑卷以存储所述子文件,以及记录所述子文件对应的逻辑卷信息的步骤包括:在本地空间为拆分后的子文件分配卷组并创建逻辑卷,当本地空间不足时,则通过网络间的进程为子文件进行远程空间的申请,在远程空间分配的卷组上为所述子文件创建,并记录子文件对应的逻辑卷信息。
在本实施例中,首先在本地空间为拆分后的子文件分配卷组并在所分配的卷组上为每个子文件创建一个逻辑卷用于存储该子文件,当本地空间不足时,则通过网络间的进程在其他服务器上为子文件寻找合适的卷组,在该卷组上进行逻辑卷的创建,并记录各个子文件对应的逻辑卷信息,便于后续进行查找。
如图5所示,在每一台服务器上都部署一个网络间的进程NetRW(Network Readand Write),用于跨网络间的空间借用。当请求创建的文件为大文件时,Shard模块将大文件拆分为若干个固定大小的子文件,并向SpaceManager模块发送文件创建请求。此时,SpaceManager模块是网络互连的,SpaceManager模块首先在本地空间为各个子文件寻找合适的卷组,当本地空间不足时,通过网络间的进程NetRW去其他服务器中申请卷组进行逻辑卷LV的创建,并记录各个子文件的逻辑卷信息,包括逻辑卷的序号,以及各个逻辑卷的位置。Shard模块接收SpaceManager模块返回的LV信息,并将该LV信息通过文件系统操作层记入到本地文件系统中的文件中。当后续需要写入或者读取文件时,Shard模块通过读取本地文件系统中的逻辑卷信息查询各个子文件的位置,当子文件存储在其他服务器上时,通过NetRW进行远程逻辑卷LV的读写。通过利用全局的空间,达到了单个文件大小突破单台服务器磁盘容量的目的。
如图6所示,在一个实施例中,上述分布式文件系统数据管理方法还包括:
步骤602,接收删除文件的请求。
具体的,接收客户端或其他服务器发送的删除文件的请求。
步骤603,识别请求删除文件的大小类别。
具体的,根据缓存内容即根据当初创建该文件时记录的文件的大小类别,识别请求删除文件的大小类别。
步骤604,若请求删除的文件为小文件,则直接在本地文件系统中删除对应的文件。
具体的,若请求删除的文件为小文件,通过小文件的元数据信息直接在本地文件系统中找到请求删除的文件进行删除即可。其中,小文件的元数据也存储在本地文件系统中。
步骤606,若请求删除的文件为大文件,则查询大文件包含的子文件对应的逻辑卷信息,解析逻辑卷信息,根据解析后的逻辑卷信息删除对应的逻辑卷。
具体的,如果请求删除的文件为大文件,在首先查询存储在本地文件系统中的大文件元数据信息即各个子文件对应的逻辑卷信息,通过解析查找到的逻辑卷信息,找到各个子文件对应的逻辑卷并进行删除。
一个实施例中,通过如图2所示的场景图,客户端服务器Client发起删除文件请求,存储服务器中的Server中的Shard模块根据缓存内容判断请求删除的文件是大文件还是小文件,若请求删除的文件为小文件,则通过Server中的文件系统操作层在本地文件系统中即图中黑色的LV,找到请求删除的文件并进行删除。若请求删除的文件为大文件,Shard模块从本地文件系统中查询大文件包含的子文件对应的LV信息,向SpaceManager模块发送删除对应的LV的请求,SpaceManager模块根据接收到的请求,删除对应的LV。Shard模块将对应的LV信息从本地文件系统中删除。
如图7所示,在一个实施例中,上述分布式文件系统管理方法还包括:
步骤702,接收文件写入请求。
具体的,通过接收客户端或其他服务器发送的文件写入请求。
步骤703,识别请求写入文件的大小类别。
具体的,服务器接收写入请求,根据缓存内容判断请求写入文件的大小类别。
步骤704,若请求写入的文件为小文件,则直接将数据写入本地文件系统中对应的文件中。
具体的,如果请求写入的文件是小文件,通过本地文件系统中的小文件元数据信息在本地文件系统中找到对应的文件,将请求写入的数据写入到该文件中。
步骤706,若请求写入的文件为大文件,则查询大文件包含的子文件对应的逻辑卷信息,根据逻辑卷信息和写入的偏移位置,确定与偏移位置对应的逻辑卷,将数据写入到逻辑卷,并更新本地文件系统中相应的逻辑卷信息。
具体的,如果请求写入的文件为大文件,则查询该大文件包含的各个子文件对应的逻辑卷信息,并根据逻辑卷信息和请求写入的偏移位置,查找到与偏移位置对应的逻辑卷,并将数据写入到该逻辑卷,更新本地文件系统中相应的逻辑卷信息。这里的偏移位置是指请求写入数据的具体位置。
在一个实施例中,通过如图2所示的场景图,客户端服务器Client发起文件写入请求,存储服务器中的Server中的Shard模块根据缓存内容判断写入请求的文件是大文件还是小文件,若请求写入的文件为小文件,则通过Server中的文件系统操作层在本地文件系统中即图中黑色的LV,找到请求写入的文件,并将数据写入到对应的文件中。若请求写入的文件为大文件,则Shard模块从本地文件系统中查询该大文件包含的各个子文件对应的逻辑卷信息,并根据查找到的逻辑卷信息和请求写入的偏移位置,定位到与偏移位置对应的逻辑卷,在该逻辑卷中进行写入操作。Shard模块通过文件系统层更新本地文件系统中对应的逻辑卷信息,包括更新时间和文件大小等。
如图8所示,在一个实施例中,上述分布式文件系统的数据管理方法还包括:
步骤802,接收文件读取请求。
具体的,通过接收客户端或其他服务器发送的文件读取请求,根据缓存内容判断该请求读取的文件的大小类别。
步骤803,识别请求读取文件的大小类别。
具体的,服务器接收文件读取请求,根据缓存内容判断请求写入文件的大小类别。
步骤804,若请求读取的文件为小文件,则直接从本地文件系统中读取对应的文件内容。
具体的,如果请求读取的文件是小文件,通过本地文件系统中的小文件元数据信息在本地文件系统中找到对应的文件,并从找到的文件中读取对应的文件内容。
步骤806,若请求读取的文件为大文件,则查询大文件包含的子文件对应的逻辑卷信息,根据逻辑卷信息和读取的偏移位置,确定与偏移位置对应的逻辑卷,从逻辑卷中读取相应的文件内容,并更新本地文件系统中相应的逻辑卷信息。
具体的,如果请求读取的文件是大文件,则查询该大文件包含的各个子文件对应的逻辑卷信息,并根据逻辑卷信息和请求读取的偏移位置,查找到与偏移位置对应的逻辑卷,直接从该逻辑卷中读取相应的文件内容,并更新本地文件系统中相应的逻辑卷信息。
在一个实施例中,通过如图2所示的场景图,客户端服务器Client发起文件读取请求,存储服务器中的Server中的Shard模块根据缓存内容判断写入读取的文件是大文件还是小文件,若请求读取的文件为小文件,则通过Server中的文件系统操作层在本地文件系统中即图中黑色的LV,找到请求读取的文件,并从该文件中读取相应的文件内容。若请求写入的文件为大文件,则Shard模块从本地文件系统中查询该大文件包含的各个子文件对应的逻辑卷信息,并根据查找到的逻辑卷信息和请求读取的偏移位置,定位到与偏移位置对应的逻辑卷,从该逻辑卷中读取相应的文件内容。Shard模块通过文件系统层更新本地文件系统中对应的逻辑卷信息,包括更新时间和文件大小等。
如图9所示,在一个实施例中,提出了一种分布式文件系统的数据管理装置,该装置包括:
接收模块902,用于接收文件创建请求,获取请求创建的文件信息。
确定模块904,用于根据文件信息确定文件的大小类别。
分配模块906,用于若文件为小文件,则在本地文件系统中为小文件分配空间,若文件为大文件,则将大文件进行拆分,并为拆分后的子文件创建逻辑卷以存储子文件,记录子文件对应的逻辑卷信息,将记录的逻辑卷信息存储到本地文件系统。
如图10所示,在一个实施例中,确定模块904包括:
识别模块904a,用于根据文件信息识别文件的格式类型。
大小确定模块904b,根据预先建立的格式类型与大小类别之间的对应关系,确定文件的大小类别。
在一个实施例中,分配模块还用于若文件为大文件,则将大文件按预设的规则进行拆分,为拆分后的子文件分配卷组,并在卷组上为子文件创建逻辑卷以存储子文件,以及记录子文件对应的逻辑卷信息。
在一个实施例中,分配模块还用于在本地空间为拆分后的子文件分配卷组,并在该卷组上为子文件创建逻辑卷,当本地空间不足时,则通过网络间的进程为子文件进行远程空间的申请,在远程空间分配的卷组上为子文件创建逻辑卷,并记录子文件对应的逻辑卷信息。
如图11所示,在一个实施例中,上述分布式文件系统的数据管理装置还包括:
请求删除模块908,用于接收客户端发送的删除文件的请求。
删除模块910,用于若请求删除的文件为小文件,则直接在本地文件系统中删除对应的文件,若请求删除的文件为大文件,则查询大文件包含的子文件对应的逻辑卷信息,解析逻辑卷信息,根据解析后的逻辑卷信息删除对应的逻辑卷。
如图12所示,在一个实施例中,上述分布式文件系统的数据管理装置还包括:
请求写入模块912,用于接收文件写入请求;
写入模块914,用于若请求写入的文件为小文件,则直接将数据写入本地文件系统中对应的文件中,若请求写入的文件为大文件,则查询文件对应的逻辑卷信息,根据逻辑卷信息和写入的偏移位置,确定与偏移位置对应的逻辑卷,将数据写入到逻辑卷,并更新本地文件系统中相应的逻辑卷信息。
如图13所示,在一个实施例中,上述分布式文件系统的数据管理装置还包括:
请求读取模块916,用于接收文件读取请求。
读取模块918,用于若请求读取的文件为小文件,则直接从本地文件系统中读取对应的文件内容,若请求读取的文件为大文件,则查询大文件对应的逻辑卷信息,根据逻辑卷信息和读取的偏移位置,确定与偏移位置对应的逻辑卷,从逻辑卷中读取相应的文件内容,并更新本地文件系统中相应的逻辑卷信息。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (12)

1.一种分布式文件系统的数据管理方法,其特征在于,所述方法包括:
接收文件创建请求,获取请求创建的文件信息;
根据所述文件信息确定文件的大小类别;
若所述文件为小文件,则在本地文件系统中为所述小文件分配空间;
若所述文件为大文件,则将所述大文件进行拆分,并为拆分后的子文件创建逻辑卷以存储所述子文件,记录所述子文件对应的逻辑卷信息,将所述记录的逻辑卷信息存储到本地文件系统;
所述根据所述文件信息确定文件的大小类别的步骤包括:
根据所述文件信息识别文件的格式类型;
根据预先建立的格式类型与大小类别之间的对应关系,确定所述文件的大小类别。
2.根据权利要求1所述的方法,其特征在于,所述若所述文件为大文件,则将所述大文件进行拆分,为拆分后的子文件创建逻辑卷以存储所述子文件,并记录所述逻辑卷信息的步骤包括:
若所述文件为大文件,则将所述大文件按预设的规则进行拆分;
为所述拆分后的子文件分配卷组,并在所述卷组上为所述子文件创建逻辑卷以存储所述子文件,以及记录所述子文件对应的逻辑卷信息。
3.根据权利要求2所述的方法,其特征在于,所述为所述拆分后的子文件分配卷组,并在所述卷组上为所述子文件创建逻辑卷以存储所述子文件,以及记录所述子文件对应的逻辑卷信息的步骤包括:
在本地空间为拆分后的子文件分配卷组,并在所述卷组上为所述子文件创建逻辑卷,当本地空间不足时,则通过网络间的进程为所述子文件进行远程空间的申请,在远程空间分配的卷组上为所述子文件创建逻辑卷,并记录所述子文件对应的逻辑卷信息。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收删除文件的请求;
若请求删除的文件为小文件,则直接在本地文件系统中删除对应的文件;
若请求删除的文件为大文件,则查询所述大文件包含的子文件对应的逻辑卷信息,解析所述逻辑卷信息,根据解析后的逻辑卷信息删除对应的逻辑卷。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收文件写入请求;
若请求写入的文件为小文件,则直接将数据写入本地文件系统中对应的文件中;
若请求写入的文件为大文件,则查询所述大文件包含的子文件对应的逻辑卷信息,根据所述逻辑卷信息和写入的偏移位置,确定与偏移位置对应的逻辑卷,将数据写入到所述逻辑卷,并更新本地文件系统中相应的逻辑卷信息。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收文件读取请求;
若请求读取的文件为小文件,则直接从本地文件系统中读取对应的文件内容;
若请求读取的文件为大文件,则查询所述大文件包含的子文件对应的逻辑卷信息,根据所述逻辑卷信息和读取的偏移位置,确定与偏移位置对应的逻辑卷,从所述逻辑卷中读取相应的文件内容,并更新本地文件系统中相应的逻辑卷信息。
7.一种分布式文件系统的数据管理装置,其特征在于,所述装置包括:
接收模块,用于接收文件创建请求,获取请求创建的文件信息;
确定模块,用于根据所述文件信息确定文件的大小类别;
分配模块,用于若所述文件为小文件,则在本地文件系统中为所述小文件分配空间;若所述文件为大文件,则将所述大文件进行拆分,并为拆分后的子文件创建逻辑卷以存储所述子文件,记录所述子文件对应的逻辑卷信息,将所述记录的逻辑卷信息存储到本地文件系统;
所述确定模块包括:
识别模块,用于根据所述文件信息识别文件的格式类型;
大小确定模块,用于根据预先建立的格式类型与大小类别之间的对应关系,确定所述文件的大小类别。
8.根据权利要求7所述的装置,其特征在于,所述分配模块还用于若所述文件为大文件,则将所述大文件按预设的规则进行拆分,为所述拆分后的子文件分配卷组,并在所述卷组上为所述子文件创建逻辑卷以存储所述子文件,以及记录所述子文件对应的逻辑卷信息。
9.根据权利要求8所述的装置,其特征在于,所述分配模块还用于在本地空间为拆分后的子文件分配卷组,并在所述卷组上为所述子文件创建逻辑卷,当本地空间不足时,则通过网络间的进程为所述子文件进行远程空间的申请,在远程空间分配的卷组上为所述子文件创建逻辑卷,并记录所述子文件对应的逻辑卷信息。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
请求删除模块,用于接收客户端发送的删除文件的请求;
删除模块,用于若请求删除的文件为小文件,则直接在本地文件系统中删除对应的文件,若请求删除的文件为大文件,则查询所述大文件包含的子文件对应的逻辑卷信息,解析所述逻辑卷信息,根据解析后的逻辑卷信息删除对应的逻辑卷。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:
请求写入模块,用于接收文件写入请求;
写入模块,用于若请求写入的文件为小文件,则直接将数据写入本地文件系统中对应的文件中,若请求写入的文件为大文件,则查询所述文件对应的逻辑卷信息,根据所述逻辑卷信息和写入的偏移位置,确定与偏移位置对应的逻辑卷,将数据写入到所述逻辑卷,并更新本地文件系统中相应的逻辑卷信息。
12.根据权利要求7所述的装置,其特征在于,所述装置还包括:
读取请求模块,用于接收文件读取请求;
读取模块,用于若请求读取的文件为小文件,则直接从本地文件系统中读取对应的文件内容,若请求读取的文件为大文件,则查询所述大文件对应的逻辑卷信息,根据所述逻辑卷信息和读取的偏移位置,确定与偏移位置对应的逻辑卷,从所述逻辑卷中读取相应的文件内容,并更新本地文件系统中相应的逻辑卷信息。
CN201510980463.3A 2015-12-23 2015-12-23 分布式文件系统的数据管理方法和装置 Active CN105608193B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510980463.3A CN105608193B (zh) 2015-12-23 2015-12-23 分布式文件系统的数据管理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510980463.3A CN105608193B (zh) 2015-12-23 2015-12-23 分布式文件系统的数据管理方法和装置

Publications (2)

Publication Number Publication Date
CN105608193A CN105608193A (zh) 2016-05-25
CN105608193B true CN105608193B (zh) 2019-03-26

Family

ID=55988132

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510980463.3A Active CN105608193B (zh) 2015-12-23 2015-12-23 分布式文件系统的数据管理方法和装置

Country Status (1)

Country Link
CN (1) CN105608193B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106959997A (zh) * 2017-02-04 2017-07-18 深圳市中博科创信息技术有限公司 基于集群文件系统的文件处理方法和装置
CN106790273B (zh) * 2017-02-17 2020-08-21 北京同有飞骥科技股份有限公司 分布式文件系统中流媒体数据的加密存储方法和装置
CN109241011B (zh) * 2018-09-21 2023-01-06 联想(北京)有限公司 一种虚拟机文件处理方法及装置
CN109492425B (zh) * 2018-09-30 2021-12-28 南京中铁信息工程有限公司 一种在分布式文件系统上的worm一写多读技术应用方法
CN109558754B (zh) * 2018-11-30 2022-04-01 安徽继远软件有限公司 一种备份数据防盗取的方法和装置
CN110990468B (zh) * 2019-11-12 2023-10-20 中核控制系统工程有限公司 一种基于关系数据库的dcs在线配置解决方法
CN111782616A (zh) * 2020-07-14 2020-10-16 武汉空心科技有限公司 一种工作平台分包用文件存储方法
CN113641633B (zh) * 2021-08-10 2024-03-29 中国工商银行股份有限公司 文件处理方法、装置、电子设备、介质和计算机程序
CN113626872B (zh) * 2021-10-11 2021-12-14 宁波集联软件科技有限公司 汽车存储芯片模组中预置资源完整性的控制方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1971562A (zh) * 2006-11-29 2007-05-30 华中科技大学 面向对象存储系统中的对象分布方法
CN101866359A (zh) * 2010-06-24 2010-10-20 北京航空航天大学 一种机群文件系统中的小文件存储和访问方法
CN103180852A (zh) * 2012-08-09 2013-06-26 华为技术有限公司 分布式数据处理方法及装置
WO2013169997A2 (en) * 2012-05-10 2013-11-14 Aetherstore, Llc Systems and methods for distributed storage
CN104111804A (zh) * 2014-06-27 2014-10-22 暨南大学 一种分布式文件系统
CN104331428A (zh) * 2014-10-20 2015-02-04 暨南大学 一种小文件和大文件的存储及访问方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1971562A (zh) * 2006-11-29 2007-05-30 华中科技大学 面向对象存储系统中的对象分布方法
CN101866359A (zh) * 2010-06-24 2010-10-20 北京航空航天大学 一种机群文件系统中的小文件存储和访问方法
WO2013169997A2 (en) * 2012-05-10 2013-11-14 Aetherstore, Llc Systems and methods for distributed storage
CN103180852A (zh) * 2012-08-09 2013-06-26 华为技术有限公司 分布式数据处理方法及装置
CN104111804A (zh) * 2014-06-27 2014-10-22 暨南大学 一种分布式文件系统
CN104331428A (zh) * 2014-10-20 2015-02-04 暨南大学 一种小文件和大文件的存储及访问方法

Also Published As

Publication number Publication date
CN105608193A (zh) 2016-05-25

Similar Documents

Publication Publication Date Title
CN105608193B (zh) 分布式文件系统的数据管理方法和装置
CN110554834B (zh) 文件系统数据访问方法和文件系统
US9448927B1 (en) System and methods for removing obsolete data in a distributed system of hybrid storage and compute nodes
US11003621B2 (en) Scalable enterprise content management
CN102708165B (zh) 分布式文件系统中的文件处理方法及装置
US20190213171A1 (en) Directory Deletion Method and Apparatus, and Storage Server
CN106951375B (zh) 在存储系统中删除快照卷的方法及装置
US20110196828A1 (en) Method and System for Dynamically Replicating Data Within A Distributed Storage System
CN108776682B (zh) 基于对象存储的随机读写对象的方法和系统
CN111949629B (zh) 一种面向边缘云的文件存储方法及终端
CN104750859A (zh) 一种网络存储方法
CN108614837B (zh) 文件存储和检索的方法及装置
US20080016107A1 (en) Data processing
CN104331453A (zh) 一种分布式文件系统及分布式文件系统的构建方法
WO2011100365A1 (en) Method and system for dynamically replicating data within a distributed storage system
US10812543B1 (en) Managed distribution of data stream contents
CN109460345B (zh) 实时数据的计算方法及系统
US20060230085A1 (en) Key sequenced clustered I/O in a database management system
CN110008197A (zh) 一种数据处理方法、系统及电子设备和存储介质
CN110245129B (zh) 一种分布式全局数据去重方法和装置
CN105187565A (zh) 一种利用网络存储数据的方法
CN110737389B (zh) 存储数据的方法和装置
CN111190537A (zh) 一种追加写场景下顺序存储磁盘管理的方法及系统
US8176087B2 (en) Data processing
JP2023531751A (ja) 車載データ記憶方法およびシステム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 518000 the first floor of A1 building, Nanshan Zhiyuan 1001, Nanshan District Xue Yuan Avenue, Shenzhen, Guangdong.

Applicant after: SINFOR Polytron Technologies Inc

Address before: 518000 the first floor of A1 building, Nanshan Zhiyuan 1001, Nanshan District Xue Yuan Avenue, Shenzhen, Guangdong.

Applicant before: Shenxinfu Electronics Science and Technology Co., Ltd., Shenzhen

GR01 Patent grant
GR01 Patent grant