针对Ceph文件的读取方法、装置、服务器及存储介质.pdf

上传人:王** 文档编号:14526505 上传时间:2024-05-19 格式:PDF 页数:14 大小:789.14KB
收藏 版权申诉 举报 下载
针对Ceph文件的读取方法、装置、服务器及存储介质.pdf_第1页
第1页 / 共14页
针对Ceph文件的读取方法、装置、服务器及存储介质.pdf_第2页
第2页 / 共14页
针对Ceph文件的读取方法、装置、服务器及存储介质.pdf_第3页
第3页 / 共14页
文档描述:

《针对Ceph文件的读取方法、装置、服务器及存储介质.pdf》由会员分享,可在线阅读,更多相关《针对Ceph文件的读取方法、装置、服务器及存储介质.pdf(14页完成版)》请在专利查询网上搜索。

1、(19)国家知识产权局(12)发明专利申请(10)申请公布号 (43)申请公布日 (21)申请号 202410004624.4(22)申请日 2024.01.03(71)申请人 柏科数据技术(深圳)股份有限公司地址 518000 广东省深圳市南山区桃源街道福光社区留仙大道3333号塘朗城广场(西区)A座、B座、C座A座2001、2002(72)发明人 刘江孟军张勤(74)专利代理机构 深圳市君胜知识产权代理事务所(普通合伙)44268专利代理师 温宏梅(51)Int.Cl.G06F 16/13(2019.01)G06F 16/172(2019.01)G06F 16/182(2019.01)(5。

2、4)发明名称针对Ceph文件的读取方法、装置、服务器及存储介质(57)摘要本申请公开了一种针对Ceph文件的读取方法、装置、服务器及存储介质,方法包括接收文件目录的读取请求,判断文件目录是否为包含于内存数据库对应的目录列表内;当文件目录包含于目录列表内时,在内存数据库中读取文件目录对应的元数据信息;当文件目录未包含于目录列表内时,执行基于读取请求生成的读取任务以读取文件目录的元数据信息。本申请通过在MDS的内存上构建内存数据库,然后将文件目录的元数据信息缓存于内存数据库内,特别是文件目录过长或者访问频率高的文件目录,这样在用户通过客户端读取文件目录信息时,可以直接从内存数据库中读取到文件目录的。

3、元数据信息,提高了元数据信息的读取效率,进而可以提高客户端的响应时效。权利要求书2页 说明书9页 附图2页CN 117493276 A2024.02.02CN 117493276 A1.一种针对Ceph文件的读取方法,其特征在于,所述的针对Ceph文件的读取方法包括:接收文件目录的读取请求,判断所述文件目录是否为包含于内存数据库对应的目录列表内,其中,所述内存数据库为设置于MDS内,用于缓存其对应的目录列表中的各缓存文件目录的元数据信息;当文件目录包含于目录列表内时,在所述内存数据库中读取所述文件目录对应的元数据信息;当文件目录未包含于目录列表内时,执行基于所述读取请求生成的读取任务以读取所述。

4、文件目录的元数据信息。2.根据权利要求1所述的针对Ceph文件的读取方法,其特征在于,所述接收文件目录的读取请求之前,所述方法还包括:在MDS的内存上构建内存数据库,并为所述内存数据库配置目录列表;响应用户针对于内存数据库的配置指令,读取所述配置指令对应的缓存文件目录,并将所述缓存文件目录配置于所述目录列表。3.根据权利要求1所述的针对Ceph文件的读取方法,其特征在于,所述接收文件目录的读取请求之前,所述方法还包括:在MDS的内存上构建内存数据库,并为所述内存数据库配置目录列表;读取CephFS中的各文件目录的目录长度和被读取次数;根据目录长度和被读取次数在CephFS中选取缓存文件目录,将。

5、选取到的缓存文件目录配置于所述目录列表内。4.根据权利要求2或3所述的针对Ceph文件的读取方法,其特征在于,所述方法还包括:读取所述目录列表中各缓存文件目录对应的元数据信息,并将读取到的元数据信息缓存于所述内存数据库。5.根据权利要求1所述的针对Ceph文件的读取方法,其特征在于,所述当文件目录包含于目录列表内时,在所述内存数据库中读取所述文件目录对应的元数据信息具体包括:当文件目录包含于目录列表内时,确定所述内存数据库中是否存储有所述文件目录对应的元数据信息;若存在所述文件目录对应的元数据信息,则在所述内存数据库中读取所述文件目录对应的元数据信息,并将读取到的元数据信息反馈给客户端;若未存。

6、在所述文件目录对应的元数据信息,则执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息,并将读取到的元数据信息反馈给客户端并读取到内存数据库。6.根据权利要求1所述的针对Ceph文件的读取方法,其特征在于,所述方法还包括:当CephFS接收到针对缓存文件目录所包括的文件的写入操作时,对所述文件执行所述写入操作,并根据所述写入操作更新所述内存数据库。7.根据权利要求6所述的针对Ceph文件的读取方法,其特征在于,所述写入操作包括删除操作、修正操作和新增操作中一种或者多种;所述根据所述写入操作更新所述内存数据库具体包括:当所述写入操作为删除操作时,将所述文件的元数据信息从所述内存数据库。

7、内删除;当所述写入操作为修正操作时,将修正后的文件的元数据信息缓存于所述内存数据库权利要求书1/2 页2CN 117493276 A2内;当所述写入操作为新增操作时,将新增文件的元数据信息缓存于所述内存数据库内。8.一种针对Ceph文件的读取装置,其特征在于,所述的针对Ceph文件的读取装置包括:接收模块,用于接收文件目录的读取请求,判断所述文件目录是否为包含于内存数据库对应的目录列表内,其中,所述内存数据库为设置于MDS内,用于缓存其对应的目录列表中的各缓存文件目录的元数据信息;读取模块,用于当文件目录包含于目录列表内时,在所述内存数据库中读取所述文件目录对应的元数据信息;执行模块,用于当文。

8、件目录未包含于目录列表内时,执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息。9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求17任意一项所述的针对Ceph文件的读取方法中的步骤。10.一种服务器,其特征在于,包括:处理器和存储器;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述处理器执行所述计算机可读程序时实现如权利要求17任意一项所述的针对Ceph文件的读取方法中的步骤。权利要求书2/2 页3CN 117493276 A3针对Ceph文件的读取方法、装置、服务器及。

9、存储介质技术领域0001本申请涉及集群文件系统技术领域,特别涉及一种针对Ceph文件的读取方法、装置、服务器及存储介质。背景技术0002分布式文件集群系统简称为Ceph文件系统,是指运行在多台计算机之间,通过某种方式相互通信从而将集群内所有存储空间资源整合、虚拟化并对外提供文件访问服务的文件系统。0003用户经常需要通过Ceph文件系统读取文件目录,对于目录的读取操作一般是指元数据操作,比如获取目录下所有文件的信息等。通常,客户查询端发出读取目录下文件信息的请求,元数据管理服务查询得到目录下文件数总量,CPU根据文件数总量依次获取相关文件信息,直到文件数总量获取完毕,再将结果返回到客户查询端。。

10、然而,随着目录下文件的增多,文件目录对应的元数据信息也会随着增多,会导致读取文件目录的元数据信息时间过长,影响客户端的响应时效。0004因而现有技术还有待改进和提高。发明内容0005本申请要解决的技术问题在于,针对现有技术的不足,提供一种针对Ceph文件的读取方法、装置、服务器及存储介质。0006为了解决上述技术问题,本申请第一方面提供了一种针对Ceph文件的读取方法,其中,所述的针对Ceph文件的读取方法包括:接收文件目录的读取请求,判断所述文件目录是否为包含于内存数据库对应的目录列表内,其中,所述内存数据库为设置于MDS内,用于缓存其对应的目录列表中的各缓存文件目录的元数据信息;当文件目录。

11、包含于目录列表内时,在所述内存数据库中读取所述文件目录对应的元数据信息;当文件目录未包含于目录列表内时,执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息。0007所述的针对Ceph文件的读取方法,其中,所述接收文件目录的读取请求之前,所述方法还包括:在MDS的内存上构建内存数据库,并为所述内存数据库配置目录列表;响应用户针对于内存数据库的配置指令,读取所述配置指令对应的缓存文件目录,并将所述缓存文件目录配置于所述目录列表。0008所述的针对Ceph文件的读取方法,其中,所述接收文件目录的读取请求之前,所述方法还包括:在MDS的内存上构建内存数据库,并为所述内存数据库配置目录列表。

12、;说明书1/9 页4CN 117493276 A4读取CephFS中的各文件目录的目录长度和被读取次数;根据目录长度和被读取次数在CephFS中选取缓存文件目录,将选取到的缓存文件目录配置于所述目录列表内。0009所述的针对Ceph文件的读取方法,其中,所述方法还包括:读取所述目录列表中各缓存文件目录对应的元数据信息,并将读取到的元数据信息缓存于所述内存数据库。0010所述的针对Ceph文件的读取方法,其中,所述当文件目录包含于目录列表内时,在所述内存数据库中读取所述文件目录对应的元数据信息具体包括:当文件目录包含于目录列表内时,确定所述内存数据库中是否存储有所述文件目录对应的元数据信息;若存。

13、在所述文件目录对应的元数据信息,则在所述内存数据库中读取所述文件目录对应的元数据信息,并将读取到的元数据信息反馈给客户端;若未存在所述文件目录对应的元数据信息,则执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息,并将读取到的元数据信息反馈给客户端并读取到内存数据库。0011所述的针对Ceph文件的读取方法,其中,所述方法还包括:当CephFS接收到针对缓存文件目录所包括的文件的写入操作时,对所述文件执行所述写入操作,并根据所述写入操作更新所述内存数据库。0012所述的针对Ceph文件的读取方法,其中,所述写入操作包括删除操作、修正操作和新增操作中一种或者多种;所述根据所述写入操。

14、作更新所述内存数据库具体包括:当所述写入操作为删除操作时,将所述文件的元数据信息从所述内存数据库内删除;当所述写入操作为修正操作时,将修正后的文件的元数据信息缓存于所述内存数据库内;当所述写入操作为新增操作时,将新增文件的元数据信息缓存于所述内存数据库内。0013本申请第二方面提供了一种针对Ceph文件的读取装置,其中,所述的针对Ceph文件的读取装置包括:接收模块,用于接收文件目录的读取请求,判断所述文件目录是否为包含于内存数据库对应的目录列表内,其中,所述内存数据库为设置于MDS内,用于缓存其对应的目录列表中的各缓存文件目录的元数据信息;读取模块,用于当文件目录包含于目录列表内时,在所述内。

15、存数据库中读取所述文件目录对应的元数据信息;执行模块,用于当文件目录未包含于目录列表内时,执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息。0014本申请第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的针对Ceph文件的读取方法中的步骤。0015本申请第四方面提供了一种服务器,其包括:处理器和存储器;说明书2/9 页5CN 117493276 A5所述存储器上存储有可被所述处理器执行的计算机可读程序;所述处理器执行所述计算机可读程序时实现如上任一所述的针对Ceph文件的读取方。

16、法中的步骤。0016有益效果:与现有技术相比,本申请提供了一种针对Ceph文件的读取方法、装置、服务器及存储介质,方法包括接收文件目录的读取请求,判断所述文件目录是否为包含于内存数据库对应的目录列表内;当文件目录包含于目录列表内时,在所述内存数据库中读取所述文件目录对应的元数据信息;当文件目录未包含于目录列表内时,执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息。本申请通过在MDS的内存上构建内存数据库,然后将文件目录的元数据信息缓存于内存数据库内,特别是文件目录过长或者访问频率高的文件目录,这样在用户通过客户端读取文件目录信息时,可以直接从内存数据库中读取到文件目录的元数据信。

17、息,提高了元数据信息的读取效率,进而可以提高客户端的响应时效。附图说明0017为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。0018图1为本申请实施例提供的一种针对Ceph文件的读取方法的流程图。0019图2为本申请实施例提供的一种针对Ceph文件的读取方法中的步骤S20的流程图。0020图3为本申请实施例提供的一种针对Ceph文件的读取装置的结构原理图。0021图4为本申请实施例提供的服务器的结构原理图。。

18、具体实施方式0022本申请实施例提供一种针对Ceph文件的读取方法、装置、服务器及存储介质,为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。0023本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”。

19、或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。0024本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。说明书3/9 页6CN 117493276 A600。

20、25应理解,本实施例中各步骤的序号和大小并不意味着执行顺序的先后,各过程的执行顺序以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。0026经过研究发现,分布式文件集群系统简称为Ceph文件系统,是指运行在多台计算机之间,通过某种方式相互通信从而将集群内所有存储空间资源整合、虚拟化并对外提供文件访问服务的文件系统。0027用户经常需要通过Ceph文件系统读取文件目录,对于目录的读取操作一般是指元数据操作,比如获取目录下所有文件的信息等。通常,客户查询端发出读取目录下文件信息的请求,元数据管理服务查询得到目录下文件数总量,CPU根据文件数总量依次获取相关文件信息,直到文件数总量。

21、获取完毕,再将结果返回到客户查询端。然而,随着目录下文件的增多,文件目录对应的元数据信息也会随着增多,会导致读取文件目录的元数据信息时间过长,影响客户端的响应时效。0028为了解决上述问题,在本申请实施例中,接收文件目录的读取请求,判断所述文件目录是否为包含于内存数据库对应的目录列表内;当文件目录包含于目录列表内时,在所述内存数据库中读取所述文件目录对应的元数据信息;当文件目录未包含于目录列表内时,执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息。本申请通过在MDS的内存上构建内存数据库,然后将文件目录的元数据信息缓存于内存数据库内,特别是文件目录过长或者访问频率高的文件目录,。

22、这样在用户通过客户端读取文件目录信息时,可以直接从内存数据库中读取到文件目录的元数据信息,提高了元数据信息的读取效率,进而可以提高客户端的响应时效。0029下面结合附图,通过对实施例的描述,对申请内容作进一步说明。0030本实施例提供了一种针对Ceph文件的读取方法,可适用于使用Ceph的文件接口读取文件目录的元数据信息。该方法可以由本发明任意实施例提供的针对Ceph文件的读取装置来实现,该装置可以采用软件和/或硬件的方式实现,并可集成在服务器。0031如图1所示,本实施例提供的针对Ceph文件的读取方法具体包括步骤S10S30。0032步骤S10、接收文件目录的读取请求,判断所述文件目录是否。

23、为包含于内存数据库对应的目录列表内。0033具体地,文件目录用于反映文件名于存储空间中的物理地址的对应关系。读取请求为用于读取文件目录的元数据信息的请求,也就是说,当用户需要读取文件目录的元数据信息时,通过查询端发起文件目录的读取请求,服务器MDS获取文件目录的读取请求,并基于读取请求执行相关操作从而达到读取文件目录的元数据信息的要求。0034元数据(Metadata)又称为中介数据、中继数据,是描述数据的数据(data about data),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。在Ceph文件系统中,元数据信息用于记录文件。

24、目录的文件信息,其中,文件信息指的是包含有文件目录内包含的文件的信息,例如一个文件目录下包含多个Word文件,文件目录的文件信息包括但不限于每个Word文档的存储位置、文档大小、文档属性以及文档类型等等。0035进一步,内存数据库为设置于MDS内,用于缓存其对应的目录列表中的各缓存文件目录的元数据信息。也就是说,在响应读取请求之前,需要预先在MDS内构建一个内存数据库,并为内存数据库配置缓存文件目录,其中,缓存文件目录可以根据用户指令配置的,也说明书4/9 页7CN 117493276 A7可以是根据文件目录来自动生成的。0036在本申请实施例的一个实现方式中,所述接收文件目录的读取请求之前,。

25、所述方法还包括:在MDS的内存上构建内存数据库,并为所述内存数据库配置目录列表;响应用户针对于内存数据库的配置指令,读取所述配置指令对应的缓存文件目录,并将所述缓存文件目录配置于所述目录列表。0037具体地,内存数据库设置于MDS的内存中,也就是说,在MDS的内存中预留一块存储区域作为内存数据库对应的缓存区域,以使得内存数据库对应的各缓存文件目录的元数据信息可以存储于该缓存区域,并根据目录列表可以在缓存区域中读取到各缓存目录的元数据信息,这样可以提高元数据信息的读取速度。0038配置指令可以在MDS启动时形成的,用于将指定的缓存文件目录的元数据信息读取到内存数据库内。也就是说,MDS可以预先设。

26、置一配置选项,通过配置选项可以将CephFS中的目录配置为内存数据库对应的缓存文件目录,然后在MDS启动时,会根据配置选项形成配置指令,以使得基于所述配置指令来确定缓存文件目录,并将缓存文件目录配置于目录列表。0039在本申请实施例的另一个实现方式中,所述的针对Ceph文件的读取方法,所述接收文件目录的读取请求之前,所述方法还包括:在MDS的内存上构建内存数据库,并为所述内存数据库配置目录列表;读取CephFS中的各文件目录的目录长度和被读取次数;根据目录长度和被读取次数在CephFS中选取缓存文件目录,将选取到的缓存文件目录配置于所述目录列表内。0040具体地,被读取次数指的是预设数据段内的。

27、被读取次数,例如,一周内的被读取次数,一天的被读取次数等。目录长度和被读取次数均为选取缓存文件目录的选取依据,也就是说,在CephFS中选取缓存文件目录时,是以目录长度和被读取次数作为选取依据的来确定文件目录是否被选取为缓存文件目录。具体地,在一个实现方式中,可以同时将目录长度与长度阈值进行比较,并将被读取次数与读取次数阈值进行比较,当目录长度大于长度阈值,或者被读取次数大于读取次数阈值时,将文件目录作为缓存文件目录;或者是,当目录长度大于长度阈值,且被读取次数大于长度阈值时,将文件目录作为缓存文件目录。在另一个实现方式中,可以先将目录长度与长度阈值进行比较,当目录长度大于长度阈值时,将文件目。

28、录作为缓存文件目录,当目录长度小于或者等于长度阈值时,再将被读取次数与读取次数阈值进行比较,当读取次数阈值大于读取次数阈值时,将文件目录作为缓存文件目。这样可以保持所有目录长度大于长度阈值的文件目录的元数据信息均可以保持于元数据信息内,可以进一步提高读取目录元数据的速度。0041进一步,在将缓存文件目录配置于目录列表后,可以直接读取所述目录列表中各缓存文件目录对应的元数据信息,并将读取到的元数据信息缓存于所述内存数据库。也就是说,在将缓存文件目录配置于目录列表后,读取所述目录列表中各存储目录对应的元数据信息,并将读取到的元数据信息缓存于所述内存数据库。这样可以根据用户需求来配置内存数据库中的元。

29、数据信息,给用户使用带来方便。同时,还可以在将缓存文件目录配置于目录列表时,直接将元数据信息存储于内存数据库内,方便后续使用。当然,在实际应用中,说明书5/9 页8CN 117493276 A8为了避免将元数据信息读取到内存数据库的过程影响MDS的启动时长,可以仅将缓存文件目录存储于目录列表,而缓存文件目录的元数据信息可以在缓存文件目录被第一次读取缓存于内存数据库内,这样无需额外花费时间将元数据信息读取到文件数据库内。0042在一个具体实现方式中,在将缓存文件目录配置于目录列表后,可以将缓存文件目录的目录长度与设定长度阈值进行比较,当目录长度大于设定长度阈值时,直接将元数据信息读取到内存数据库。

30、内;当目录长度小于或者等于设定长度阈值时,完成内存数据库配置,并当缓存文件目录被第一次读取时,在将读取到的元数据信息反馈给客户端的同时,将读取到的元数据信息读取到内存数据库内。这样既可以降低将元数据信息读取到内存数据库对MDS启动的影响,又可以避免过长文件目录导致的用户读取时间过长的问题,起到了平衡MDS启动和用户体验的作用。0043S20、当文件目录包含于目录列表内时,在所述内存数据库中读取所述文件目录对应的元数据信息。0044具体地,当文件目录包含于目录列表内时,说明文件目录的元数据信息会被缓存于内存数据库内。由此,可以在内存数据库中读取元数据信息。然而,由于元数据信息可以是在将文件目录配。

31、置于目录列表时直接读取到内存数据库,也可以是在将文件目录配置于目录列表后的第一次被读取时反馈给客户端的同时读取到内存数据库内。因此,在所述内存数据库中读取所述文件目录对应的元数据信息时,可能会读取到元数据信息,也可能会读取不到元数据信息,在读取不到元数据信息时,则直接按照MDS的现有流程来读取元数据信息。0045基于此,在本申请实施例的一个实现方式中,如图2所示,所述当文件目录包含于目录列表内时,在所述内存数据库中读取所述文件目录对应的元数据信息具体包括:S21、当文件目录包含于目录列表内时,确定所述内存数据库中是否存储有所述文件目录对应的元数据信息;S22、若存在所述文件目录对应的元数据信息。

32、,则在所述内存数据库中读取所述文件目录对应的元数据信息,并将读取到的元数据信息反馈给客户端;S23、若未存在所述文件目录对应的元数据信息,则执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息,并将读取到的元数据信息反馈给客户端并读取到内存数据库。0046具体地,当内存数据库内存储有文件目录的元数据信息,则直接从内存数据库内读取元数据信息,这样通过从内存中直接读取元数据信息,可以提高元数据信息的读取速度。反之,当内存数据库内未存储有文件目录的元数据信息时,说明文件目录是被配置于目录列表中后第一次被读取,此时则直接按照MDS现有流程来读取文件目录的元数据信息,在读取到元数据信息后,将。

33、元数据信息反馈给客户端的同时将元数据信息读取到内存数据库,以使得后续可以直接从内存数据库内读取到该文件目录的元数据信息。0047S30、当文件目录未包含于目录列表内时,执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息。0048具体地,当文件目录未包含于目录列表内时,说明文件目录的元数据信息未被缓存于内存数据库内,此时则按照MDS现有流程来读取文件目录的元数据信息,即基于所述读取请求生成的读取任务,并执行该读取任务以读取所述文件目录的元数据信息,在读取到说明书6/9 页9CN 117493276 A9元数据信息后,将元数据信息反馈给客户端。0049在一些实现方式中,由于CephF。

34、S中的文件被修改、删除或者增加,从而文件目录所包括的文件会被修改、删除或者增加,以导致文件目录的元数据信息会发生变化。因此,在生成内存数据库后,内存数据库存储的各元数据信息会根据CephFS中的文件变化而变化。基于此,在本申请实施例中,所述方法还包括:当CephFS接收到针对缓存文件目录所包括的文件的写入操作时,对所述文件执行所述写入操作,并根据所述写入操作更新所述内存数据库。0050具体地,所述写入操作为对缓存文件目录所包括的文件进行的操作,其中,写入操作可以为删除操作、新增操作以及修正操作等。也就是说,当CephFS有针对缓存文件目录所包括的文件的写入操作时,在执行写入操作后,根据写入操作。

35、后的缓存文件目录的元数据信息来修正内存数据库中的元数据信息,以保持内存数据库中的元数据信息的准确性。具体地,当所述写入操作为删除操作时,将所述文件的元数据信息从所述内存数据库内删除;当所述写入操作为修正操作时,将修正后的文件的元数据信息缓存于所述内存数据库内;当所述写入操作为新增操作时,将新增文件的元数据信息缓存于所述内存数据库内。0051综上所述,本实施例提供了一种针对Ceph文件的读取方法,方法包括接收文件目录的读取请求,判断文件目录是否为包含于内存数据库对应的目录列表内;当文件目录包含于目录列表内时,在内存数据库中读取文件目录对应的元数据信息;当文件目录未包含于目录列表内时,执行基于读取。

36、请求生成的读取任务以读取文件目录的元数据信息。本申请通过在MDS的内存上构建内存数据库,然后将文件目录的元数据信息缓存于内存数据库内,特别是文件目录过长或者访问频率高的文件目录,这样在用户通过客户端读取文件目录信息时,可以直接从内存数据库中读取到文件目录的元数据信息,提高了元数据信息的读取效率,进而可以提高客户端的响应时效。0052基于上述针对Ceph文件的读取方法,本实施例提供了一种针对Ceph文件的读取装置,如图3所示,所述的针对Ceph文件的读取装置包括:接收模块100,用于接收文件目录的读取请求,判断所述文件目录是否为包含于内存数据库对应的目录列表内,其中,所述内存数据库为设置于MDS。

37、内,用于缓存其对应的目录列表中的各缓存文件目录的元数据信息;读取模块200,用于当文件目录包含于目录列表内时,在所述内存数据库中读取所述文件目录对应的元数据信息;执行模块300,用于当文件目录未包含于目录列表内时,执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息。0053在一个实现方式中,所述针对Ceph文件的读取装置还包括:第一构建模块,用于在MDS的内存上构建内存数据库,并为所述内存数据库配置目录列表;第一读取模块,用于响应用户针对于内存数据库的配置指令,读取所述配置指令对应的缓存文件目录,并将所述缓存文件目录配置于所述目录列表。0054在一个实现方式中,所述针对Ceph文。

38、件的读取装置还包括:第二构建模块,用于在MDS的内存上构建内存数据库,并为所述内存数据库配置目录列表;说明书7/9 页10CN 117493276 A10第二读取模块,用于读取CephFS中的各文件目录的目录长度和被读取次数;选取模块,用于根据目录长度和被读取次数在CephFS中选取缓存文件目录,将选取到的缓存文件目录配置于所述目录列表内。0055在一个实现方式中,所述第一读取模块或者第二读取模块,还用于读取所述目录列表中各缓存文件目录对应的元数据信息,并将读取到的元数据信息缓存于所述内存数据库。0056在一个实现方式中,所述读取模块具体用于:当文件目录包含于目录列表内时,确定所述内存数据库中。

39、是否存储有所述文件目录对应的元数据信息;若存在所述文件目录对应的元数据信息,则在所述内存数据库中读取所述文件目录对应的元数据信息,并将读取到的元数据信息反馈给客户端;若未存在所述文件目录对应的元数据信息,则执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息,并将读取到的元数据信息反馈给客户端并读取到内存数据库。0057在一个实现方式中,所述针对Ceph文件的读取装置还包括:更新模块,用于当CephFS接收到针对缓存文件目录所包括的文件的写入操作时,对所述文件执行所述写入操作,并根据所述写入操作更新所述内存数据库。0058在一个实现方式中,所述写入操作包括删除操作、修正操作和新增操。

40、作中一种或者多种;所述更新模块具体用于:当所述写入操作为删除操作时,将所述文件的元数据信息从所述内存数据库内删除;当所述写入操作为修正操作时,将修正后的文件的元数据信息缓存于所述内存数据库内;当所述写入操作为新增操作时,将新增文件的元数据信息缓存于所述内存数据库内。0059基于上述针对Ceph文件的读取方法,本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例所述的针对Ceph文件的读取方法中的步骤。0060基于上述针对Ceph文件的读取方法,本申请还提供了一种服务器,如图4所示,其包括至少一个处。

41、理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。0061此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。0062存储器22作为一种计算机可读存储介质,可设置为存储软件。

42、程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。0063存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(ReadOnly Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、说明书8/9 页11CN 117493276 。

43、A11磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。0064此外,上述存储介质以及服务器中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。0065最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。说明书9/9 页12CN 117493276 A12图 1图 2图 3说明书附图1/2 页13CN 117493276 A13图 4说明书附图2/2 页14CN 117493276 A14。

展开阅读全文
内容关键字: 针对 Ceph 文件 读取 方法 装置 服务器 存储 介质
关于本文
本文标题:针对Ceph文件的读取方法、装置、服务器及存储介质.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/14526505.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1