文件管理方法、系统、介质和计算机程序产品技术方案

技术编号:37348541 阅读:11 留言:0更新日期:2023-04-22 21:45
本发明专利技术的文件管理方法包括:对于由分布式存储系统存储的每个文件,由元数据服务器向文件分配文件标识,文件被划分为一个或多个二级制大对象,每个二级制大对象具有相应的二级制大对象标识,并且基于文件标识和二级制大对象标识,每个二级制大对象被哈希到相应的片段;对于每个片段,由元数据服务器向片段分配片段服务器以加载片段,每个片段具有相应的数据文件和索引文件,数据文件用于存储片段所对应的一个或多个文件的相应二级制大对象的数据信息,并且索引文件用于存储与片段对应的一个或多个文件的相应二级制大对象的索引信息。本发明专利技术还涉及文件管理系统、介质和计算机程序产品,在只支持文件追加写的分布式存储系统上对外提供随机写的能力。外提供随机写的能力。外提供随机写的能力。

【技术实现步骤摘要】
文件管理方法、系统、介质和计算机程序产品


[0001]本专利技术涉及数据处理领域,特别涉及文件管理方法、系统、介质和计算机程序产品。

技术介绍

[0002]分布式文件系统向用户提供统一的接口,将用户的数据存储在不同的节点上,并且维护好元数据,用户只需要像访问本地文件系统一样来访问分布式文件系统就行。
[0003]现有的分布式文件系统主要通过以下两种方式在各个节点对磁盘上的数据进行管理,一种是借助本地的文件系统进行管理,将数据切分为多个对象文件存储在本地文件系统中,另一种是直接对裸盘进行管理,自己维护磁盘的元数据。在收到上层的IO请求时,根据请求的内容找到对应的元数据,最后转换为对磁盘指定位置的一次读取操作或写入操作。这样的分布式文件系统实现复杂,维护难度大。

技术实现思路

[0004]本专利技术的目的在于提供文件管理方法、系统、介质和计算机程序产品,可以基于只支持文件追加写的分布式存储系统来实现,并且对外提供随机写的能力。
[0005]本专利技术公开了一种文件管理方法,所述方法包括:
[0006]对于由分布式存储系统存储的每个文件,由元数据服务器向所述文件分配文件标识,所述文件被划分为一个或多个二级制大对象,每个二级制大对象具有相应的二级制大对象标识,并且基于所述文件标识和所述二级制大对象标识,每个二级制大对象被哈希到相应的片段;
[0007]对于每个片段,由所述元数据服务器向所述片段分配片段服务器以加载所述片段,每个片段具有相应的数据文件和索引文件,所述数据文件用于存储所述片段所对应的一个或多个文件的相应二级制大对象的数据信息,并且所述索引文件用于存储与所述片段对应的所述一个或多个文件的所述相应二级制大对象的索引信息。
[0008]可选地,所述方法还包括:
[0009]由管理模块解析从客户端接收到的请求,所述请求包括写入请求,并且所述写入请求包括文件标识、偏移、长度和写入数据;
[0010]基于所述写入请求中的所述文件标识、所述偏移和所述长度,由所述管理模块确定相应文件的相应二级制大对象及其所对应的相应片段,并且向加载该片段的片段服务器发送所述写入请求;
[0011]由该片段服务器将所述写入请求中的所述文件标识、所述偏移、所述长度和所述写入数据写入该片段的一数据文件,更新缓存的索引信息,并且当该数据文件被封存且切换到该片段的下一数据文件时,将缓存的索引信息写入该片段的索引文件。
[0012]可选地,所述方法还包括:
[0013]由管理模块解析从客户端接收到的请求,所述请求包括读取请求,并且所述读取
请求包括文件标识、偏移和长度;
[0014]基于所述读取请求中的所述文件标识、所述偏移和所述长度,由所述管理模块确定相应文件的相应二级制大对象及其所对应的相应片段,并且向加载该片段的片段服务器发送所述读取请求;
[0015]基于所述读取请求中的所述文件标识、所述偏移和所述长度,由该片段服务器从缓存的索引信息和该片段的索引文件中寻找该片段的相应数据文件的读取位置,并且从该读取位置读取读取数据。
[0016]可选地,在每个片段服务器与所述元数据服务器之间传递心跳信息,并且当一片段服务器与所述元数据服务器的心跳中断时,由所述元数据服务器将该片段服务器加载的片段分配到另一片段服务器,并且更新片段与片段服务器之间的对应关系。
[0017]可选地,在由所述元数据服务器将该片段服务器加载的片段分配到另一片段服务器之后,该另一片段服务器基于该片段的索引文件和数据文件来恢复缓存的索引信息。
[0018]可选地,在所述管理模块与所述元数据服务器之间传递心跳信息,并且由所述管理模块从所述元数据服务器获取更新的片段与片段服务器之间的对应关系。
[0019]可选地,所述方法还包括:
[0020]由管理模块解析从客户端接收到的请求,所述请求包括元数据请求,并且所述元数据请求包括文件标识、文件名、文件类型和文件大小;
[0021]由所述管理模块向所述元数据服务器发送所述元数据请求;
[0022]基于所述元数据请求中的所述文件标识、所述文件名、所述文件类型和所述文件大小,由所述元数据服务器存储相应文件的元数据。
[0023]可选地,所述方法还包括:
[0024]由回收模块回收每个片段的相应数据文件中的无效数据和相应索引文件中的无效索引。
[0025]本专利技术公开了一种文件管理系统,所述系统包括分布式存储系统、元数据服务器和片段服务器;
[0026]对于由所述分布式存储系统存储的每个文件,由所述元数据服务器向所述文件分配文件标识,所述文件被划分为一个或多个二级制大对象,每个二级制大对象具有相应的二级制大对象标识,并且基于所述文件标识和所述二级制大对象标识,每个二级制大对象被哈希到相应的片段;
[0027]对于每个片段,由所述元数据服务器向所述片段分配所述片段服务器以加载所述片段,每个片段具有相应的数据文件和索引文件,所述数据文件用于存储所述片段所对应的一个或多个文件的相应二级制大对象的数据信息,并且所述索引文件用于存储与所述片段对应的所述一个或多个文件的所述相应二级制大对象的索引信息。
[0028]本专利技术公开了一种计算机可读存储介质,其上存储有计算机可执行指令,所述指令被处理器执行以实施根据上面描述的文件管理方法。
[0029]本专利技术公开了一种计算机程序产品,包括计算机可执行指令,所述指令被处理器执行以实施根据上面描述的文件管理方法。
[0030]本专利技术与现有技术相比,主要区别及其效果在于:
[0031]本专利技术设计了一种文件管理系统和方法,其底层存储是建立在一种只支持追加写
的分布式存储系统之上的,由底层存储系统保证数据的可靠性,并且提供多副本或纠删的冗余策略,由于该存储系统只支持追加写,复杂度低,减少了IO放大。上层负责实现用户文件的元数据管理、文件索引的检索和IO调度,向用户提供了对文件的随机写能力,支持NFS协议。这些逻辑和底层存储相互解耦,有节点出现故障时,上层逻辑无需关心底层数据的迁移,维护难度低。
附图说明
[0032]图1是根据本专利技术实施例的文件管理系统的结构图;
[0033]图2是根据本专利技术实施例的文件管理的原理图;
[0034]图3是根据本专利技术实施例的文件管理方法的流程图;
[0035]图4是根据本专利技术实施例的数据写入的流程图;
[0036]图5是根据本专利技术实施例的数据读取的流程图;
[0037]图6是根据本专利技术实施例的元数据管理的流程图。
具体实施方式
[0038]为使本专利技术实施例的目的和技术方案更加清楚,下面将结合本专利技术实施例的附图,对本专利技术实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本专利技术的一部分实施例,而不是全部的实施例。基于所描述的本专利技术的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件管理方法,其特征在于,所述方法包括:对于由分布式存储系统存储的每个文件,由元数据服务器向所述文件分配文件标识,所述文件被划分为一个或多个二级制大对象,每个二级制大对象具有相应的二级制大对象标识,并且基于所述文件标识和所述二级制大对象标识,每个二级制大对象被哈希到相应的片段;对于每个片段,由所述元数据服务器向所述片段分配片段服务器以加载所述片段,每个片段具有相应的数据文件和索引文件,所述数据文件用于存储所述片段所对应的一个或多个文件的相应二级制大对象的数据信息,并且所述索引文件用于存储与所述片段对应的所述一个或多个文件的所述相应二级制大对象的索引信息。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:由管理模块解析从客户端接收到的请求,所述请求包括写入请求,并且所述写入请求包括文件标识、偏移、长度和写入数据;基于所述写入请求中的所述文件标识、所述偏移和所述长度,由所述管理模块确定相应文件的相应二级制大对象及其所对应的相应片段,并且向加载该片段的片段服务器发送所述写入请求;由该片段服务器将所述写入请求中的所述文件标识、所述偏移、所述长度和所述写入数据写入该片段的一数据文件,更新缓存的索引信息,并且当该数据文件被封存且切换到该片段的下一数据文件时,将缓存的索引信息写入该片段的索引文件。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:由管理模块解析从客户端接收到的请求,所述请求包括读取请求,并且所述读取请求包括文件标识、偏移和长度;基于所述读取请求中的所述文件标识、所述偏移和所述长度,由所述管理模块确定相应文件的相应二级制大对象及其所对应的相应片段,并且向加载该片段的片段服务器发送所述读取请求;基于所述读取请求中的所述文件标识、所述偏移和所述长度,由该片段服务器从缓存的索引信息和该片段的索引文件中寻找该片段的相应数据文件的读取位置,并且从该读取位置读取读取数据。4.根据权利要求2或3所述的方法,其特征在于,在每个片段服务器与所述元数据服务器之间传递心跳信息,并且当一片段服务器与所述元数据服务器的心跳中断时,由所述元数据服务器将该片段服务器加载的片段分配到另一片段服务器,并且更新片段...

【专利技术属性】
技术研发人员:吴淦方然
申请(专利权)人:优刻得科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1