CN117493276B - 针对Ceph文件的读取方法、装置、服务器及存储介质 - Google Patents
针对Ceph文件的读取方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN117493276B CN117493276B CN202410004624.4A CN202410004624A CN117493276B CN 117493276 B CN117493276 B CN 117493276B CN 202410004624 A CN202410004624 A CN 202410004624A CN 117493276 B CN117493276 B CN 117493276B
- Authority
- CN
- China
- Prior art keywords
- directory
- file
- metadata information
- reading
- read
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000012937 correction Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 abstract description 6
- 238000004891 communication Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种针对Ceph文件的读取方法、装置、服务器及存储介质,方法包括接收文件目录的读取请求,判断文件目录是否为包含于内存数据库对应的目录列表内;当文件目录包含于目录列表内时,在内存数据库中读取文件目录对应的元数据信息;当文件目录未包含于目录列表内时,执行基于读取请求生成的读取任务以读取文件目录的元数据信息。本申请通过在MDS的内存上构建内存数据库,然后将文件目录的元数据信息缓存于内存数据库内,特别是文件目录过长或者访问频率高的文件目录,这样在用户通过客户端读取文件目录信息时,可以直接从内存数据库中读取到文件目录的元数据信息,提高了元数据信息的读取效率,进而可以提高客户端的响应时效。
Description
技术领域
本申请涉及集群文件系统技术领域,特别涉及一种针对Ceph文件的读取方法、装置、服务器及存储介质。
背景技术
分布式文件集群系统简称为Ceph文件系统,是指运行在多台计算机之间,通过某种方式相互通信从而将集群内所有存储空间资源整合、虚拟化并对外提供文件访问服务的文件系统。
用户经常需要通过Ceph文件系统读取文件目录,对于目录的读取操作一般是指元数据操作,比如获取目录下所有文件的信息等。通常,客户查询端发出读取目录下文件信息的请求,元数据管理服务查询得到目录下文件数总量,CPU根据文件数总量依次获取相关文件信息,直到文件数总量获取完毕,再将结果返回到客户查询端。然而,随着目录下文件的增多,文件目录对应的元数据信息也会随着增多,会导致读取文件目录的元数据信息时间过长,影响客户端的响应时效。
因而现有技术还有待改进和提高。
发明内容
本申请要解决的技术问题在于,针对现有技术的不足,提供一种针对Ceph文件的读取方法、装置、服务器及存储介质。
为了解决上述技术问题,本申请第一方面提供了一种针对Ceph文件的读取方法,其中,所述的针对Ceph文件的读取方法包括:
接收文件目录的读取请求,判断所述文件目录是否为包含于内存数据库对应的目录列表内,其中,所述内存数据库为设置于MDS内,用于缓存其对应的目录列表中的各缓存文件目录的元数据信息;
当文件目录包含于目录列表内时,在所述内存数据库中读取所述文件目录对应的元数据信息;
当文件目录未包含于目录列表内时,执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息。
所述的针对Ceph文件的读取方法,其中,所述接收文件目录的读取请求之前,所述方法还包括:
在MDS的内存上构建内存数据库,并为所述内存数据库配置目录列表;
响应用户针对于内存数据库的配置指令,读取所述配置指令对应的缓存文件目录,并将所述缓存文件目录配置于所述目录列表。
所述的针对Ceph文件的读取方法,其中,所述接收文件目录的读取请求之前,所述方法还包括:
在MDS的内存上构建内存数据库,并为所述内存数据库配置目录列表;
读取CephFS中的各文件目录的目录长度和被读取次数;
根据目录长度和被读取次数在CephFS中选取缓存文件目录,将选取到的缓存文件目录配置于所述目录列表内。
所述的针对Ceph文件的读取方法,其中,所述方法还包括:
读取所述目录列表中各缓存文件目录对应的元数据信息,并将读取到的元数据信息缓存于所述内存数据库。
所述的针对Ceph文件的读取方法,其中,所述当文件目录包含于目录列表内时,在所述内存数据库中读取所述文件目录对应的元数据信息具体包括:
当文件目录包含于目录列表内时,确定所述内存数据库中是否存储有所述文件目录对应的元数据信息;
若存在所述文件目录对应的元数据信息,则在所述内存数据库中读取所述文件目录对应的元数据信息,并将读取到的元数据信息反馈给客户端;
若未存在所述文件目录对应的元数据信息,则执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息,并将读取到的元数据信息反馈给客户端并读取到内存数据库。
所述的针对Ceph文件的读取方法,其中,所述方法还包括:
当CephFS接收到针对缓存文件目录所包括的文件的写入操作时,对所述文件执行所述写入操作,并根据所述写入操作更新所述内存数据库。
所述的针对Ceph文件的读取方法,其中,所述写入操作包括删除操作、修正操作和新增操作中一种或者多种;所述根据所述写入操作更新所述内存数据库具体包括:
当所述写入操作为删除操作时,将所述文件的元数据信息从所述内存数据库内删除;
当所述写入操作为修正操作时,将修正后的文件的元数据信息缓存于所述内存数据库内;
当所述写入操作为新增操作时,将新增文件的元数据信息缓存于所述内存数据库内。
本申请第二方面提供了一种针对Ceph文件的读取装置,其中,所述的针对Ceph文件的读取装置包括:
接收模块,用于接收文件目录的读取请求,判断所述文件目录是否为包含于内存数据库对应的目录列表内,其中,所述内存数据库为设置于MDS内,用于缓存其对应的目录列表中的各缓存文件目录的元数据信息;
读取模块,用于当文件目录包含于目录列表内时,在所述内存数据库中读取所述文件目录对应的元数据信息;
执行模块,用于当文件目录未包含于目录列表内时,执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息。
本申请第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的针对Ceph文件的读取方法中的步骤。
本申请第四方面提供了一种服务器,其包括:处理器和存储器;
所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述处理器执行所述计算机可读程序时实现如上任一所述的针对Ceph文件的读取方法中的步骤。
有益效果:与现有技术相比,本申请提供了一种针对Ceph文件的读取方法、装置、服务器及存储介质,方法包括接收文件目录的读取请求,判断所述文件目录是否为包含于内存数据库对应的目录列表内;当文件目录包含于目录列表内时,在所述内存数据库中读取所述文件目录对应的元数据信息;当文件目录未包含于目录列表内时,执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息。本申请通过在MDS的内存上构建内存数据库,然后将文件目录的元数据信息缓存于内存数据库内,特别是文件目录过长或者访问频率高的文件目录,这样在用户通过客户端读取文件目录信息时,可以直接从内存数据库中读取到文件目录的元数据信息,提高了元数据信息的读取效率,进而可以提高客户端的响应时效。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种针对Ceph文件的读取方法的流程图。
图2为本申请实施例提供的一种针对Ceph文件的读取方法中的步骤S20的流程图。
图3为本申请实施例提供的一种针对Ceph文件的读取装置的结构原理图。
图4为本申请实施例提供的服务器的结构原理图。
具体实施方式
本申请实施例提供一种针对Ceph文件的读取方法、装置、服务器及存储介质,为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
应理解,本实施例中各步骤的序号和大小并不意味着执行顺序的先后,各过程的执行顺序以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
经过研究发现,分布式文件集群系统简称为Ceph文件系统,是指运行在多台计算机之间,通过某种方式相互通信从而将集群内所有存储空间资源整合、虚拟化并对外提供文件访问服务的文件系统。
用户经常需要通过Ceph文件系统读取文件目录,对于目录的读取操作一般是指元数据操作,比如获取目录下所有文件的信息等。通常,客户查询端发出读取目录下文件信息的请求,元数据管理服务查询得到目录下文件数总量,CPU根据文件数总量依次获取相关文件信息,直到文件数总量获取完毕,再将结果返回到客户查询端。然而,随着目录下文件的增多,文件目录对应的元数据信息也会随着增多,会导致读取文件目录的元数据信息时间过长,影响客户端的响应时效。
为了解决上述问题,在本申请实施例中,接收文件目录的读取请求,判断所述文件目录是否为包含于内存数据库对应的目录列表内;当文件目录包含于目录列表内时,在所述内存数据库中读取所述文件目录对应的元数据信息;当文件目录未包含于目录列表内时,执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息。本申请通过在MDS的内存上构建内存数据库,然后将文件目录的元数据信息缓存于内存数据库内,特别是文件目录过长或者访问频率高的文件目录,这样在用户通过客户端读取文件目录信息时,可以直接从内存数据库中读取到文件目录的元数据信息,提高了元数据信息的读取效率,进而可以提高客户端的响应时效。
下面结合附图,通过对实施例的描述,对申请内容作进一步说明。
本实施例提供了一种针对Ceph文件的读取方法,可适用于使用Ceph的文件接口读取文件目录的元数据信息。该方法可以由本发明任意实施例提供的针对Ceph文件的读取装置来实现,该装置可以采用软件和/或硬件的方式实现,并可集成在服务器。
如图1所示,本实施例提供的针对Ceph文件的读取方法具体包括步骤S10-S30。
步骤S10、接收文件目录的读取请求,判断所述文件目录是否为包含于内存数据库对应的目录列表内。
具体地,文件目录用于反映文件名于存储空间中的物理地址的对应关系。读取请求为用于读取文件目录的元数据信息的请求,也就是说,当用户需要读取文件目录的元数据信息时,通过查询端发起文件目录的读取请求,服务器MDS获取文件目录的读取请求,并基于读取请求执行相关操作从而达到读取文件目录的元数据信息的要求。
元数据(Metadata)又称为中介数据、中继数据,是描述数据的数据(data aboutdata),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。在Ceph文件系统中,元数据信息用于记录文件目录的文件信息,其中,文件信息指的是包含有文件目录内包含的文件的信息,例如一个文件目录下包含多个Word文件,文件目录的文件信息包括但不限于每个Word文档的存储位置、文档大小、文档属性以及文档类型等等。
进一步,内存数据库为设置于MDS内,用于缓存其对应的目录列表中的各缓存文件目录的元数据信息。也就是说,在响应读取请求之前,需要预先在MDS内构建一个内存数据库,并为内存数据库配置缓存文件目录,其中,缓存文件目录可以根据用户指令配置的,也可以是根据文件目录来自动生成的。
在本申请实施例的一个实现方式中,所述接收文件目录的读取请求之前,所述方法还包括:
在MDS的内存上构建内存数据库,并为所述内存数据库配置目录列表;
响应用户针对于内存数据库的配置指令,读取所述配置指令对应的缓存文件目录,并将所述缓存文件目录配置于所述目录列表。
具体地,内存数据库设置于MDS的内存中,也就是说,在MDS的内存中预留一块存储区域作为内存数据库对应的缓存区域,以使得内存数据库对应的各缓存文件目录的元数据信息可以存储于该缓存区域,并根据目录列表可以在缓存区域中读取到各缓存目录的元数据信息,这样可以提高元数据信息的读取速度。
配置指令可以在MDS启动时形成的,用于将指定的缓存文件目录的元数据信息读取到内存数据库内。也就是说,MDS可以预先设置一配置选项,通过配置选项可以将CephFS中的目录配置为内存数据库对应的缓存文件目录,然后在MDS启动时,会根据配置选项形成配置指令,以使得基于所述配置指令来确定缓存文件目录,并将缓存文件目录配置于目录列表。
在本申请实施例的另一个实现方式中,所述的针对Ceph文件的读取方法,所述接收文件目录的读取请求之前,所述方法还包括:
在MDS的内存上构建内存数据库,并为所述内存数据库配置目录列表;
读取CephFS中的各文件目录的目录长度和被读取次数;
根据目录长度和被读取次数在CephFS中选取缓存文件目录,将选取到的缓存文件目录配置于所述目录列表内。
具体地,被读取次数指的是预设数据段内的被读取次数,例如,一周内的被读取次数,一天的被读取次数等。目录长度和被读取次数均为选取缓存文件目录的选取依据,也就是说,在CephFS中选取缓存文件目录时,是以目录长度和被读取次数作为选取依据的来确定文件目录是否被选取为缓存文件目录。具体地,在一个实现方式中,可以同时将目录长度与长度阈值进行比较,并将被读取次数与读取次数阈值进行比较,当目录长度大于长度阈值,或者被读取次数大于读取次数阈值时,将文件目录作为缓存文件目录;或者是,当目录长度大于长度阈值,且被读取次数大于长度阈值时,将文件目录作为缓存文件目录。在另一个实现方式中,可以先将目录长度与长度阈值进行比较,当目录长度大于长度阈值时,将文件目录作为缓存文件目录,当目录长度小于或者等于长度阈值时,再将被读取次数与读取次数阈值进行比较,当读取次数阈值大于读取次数阈值时,将文件目录作为缓存文件目。这样可以保持所有目录长度大于长度阈值的文件目录的元数据信息均可以保持于元数据信息内,可以进一步提高读取目录元数据的速度。
进一步,在将缓存文件目录配置于目录列表后,可以直接读取所述目录列表中各缓存文件目录对应的元数据信息,并将读取到的元数据信息缓存于所述内存数据库。也就是说,在将缓存文件目录配置于目录列表后,读取所述目录列表中各存储目录对应的元数据信息,并将读取到的元数据信息缓存于所述内存数据库。这样可以根据用户需求来配置内存数据库中的元数据信息,给用户使用带来方便。同时,还可以在将缓存文件目录配置于目录列表时,直接将元数据信息存储于内存数据库内,方便后续使用。当然,在实际应用中,为了避免将元数据信息读取到内存数据库的过程影响MDS的启动时长,可以仅将缓存文件目录存储于目录列表,而缓存文件目录的元数据信息可以在缓存文件目录被第一次读取缓存于内存数据库内,这样无需额外花费时间将元数据信息读取到文件数据库内。
在一个具体实现方式中,在将缓存文件目录配置于目录列表后,可以将缓存文件目录的目录长度与设定长度阈值进行比较,当目录长度大于设定长度阈值时,直接将元数据信息读取到内存数据库内;当目录长度小于或者等于设定长度阈值时,完成内存数据库配置,并当缓存文件目录被第一次读取时,在将读取到的元数据信息反馈给客户端的同时,将读取到的元数据信息读取到内存数据库内。这样既可以降低将元数据信息读取到内存数据库对MDS启动的影响,又可以避免过长文件目录导致的用户读取时间过长的问题,起到了平衡MDS启动和用户体验的作用。
S20、当文件目录包含于目录列表内时,在所述内存数据库中读取所述文件目录对应的元数据信息。
具体地,当文件目录包含于目录列表内时,说明文件目录的元数据信息会被缓存于内存数据库内。由此,可以在内存数据库中读取元数据信息。然而,由于元数据信息可以是在将文件目录配置于目录列表时直接读取到内存数据库,也可以是在将文件目录配置于目录列表后的第一次被读取时反馈给客户端的同时读取到内存数据库内。因此,在所述内存数据库中读取所述文件目录对应的元数据信息时,可能会读取到元数据信息,也可能会读取不到元数据信息,在读取不到元数据信息时,则直接按照MDS的现有流程来读取元数据信息。
基于此,在本申请实施例的一个实现方式中,如图2所示,所述当文件目录包含于目录列表内时,在所述内存数据库中读取所述文件目录对应的元数据信息具体包括:
S21、当文件目录包含于目录列表内时,确定所述内存数据库中是否存储有所述文件目录对应的元数据信息;
S22、若存在所述文件目录对应的元数据信息,则在所述内存数据库中读取所述文件目录对应的元数据信息,并将读取到的元数据信息反馈给客户端;
S23、若未存在所述文件目录对应的元数据信息,则执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息,并将读取到的元数据信息反馈给客户端并读取到内存数据库。
具体地,当内存数据库内存储有文件目录的元数据信息,则直接从内存数据库内读取元数据信息,这样通过从内存中直接读取元数据信息,可以提高元数据信息的读取速度。反之,当内存数据库内未存储有文件目录的元数据信息时,说明文件目录是被配置于目录列表中后第一次被读取,此时则直接按照MDS现有流程来读取文件目录的元数据信息,在读取到元数据信息后,将元数据信息反馈给客户端的同时将元数据信息读取到内存数据库,以使得后续可以直接从内存数据库内读取到该文件目录的元数据信息。
S30、当文件目录未包含于目录列表内时,执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息。
具体地,当文件目录未包含于目录列表内时,说明文件目录的元数据信息未被缓存于内存数据库内,此时则按照MDS现有流程来读取文件目录的元数据信息,即基于所述读取请求生成的读取任务,并执行该读取任务以读取所述文件目录的元数据信息,在读取到元数据信息后,将元数据信息反馈给客户端。
在一些实现方式中,由于CephFS中的文件被修改、删除或者增加,从而文件目录所包括的文件会被修改、删除或者增加,以导致文件目录的元数据信息会发生变化。因此,在生成内存数据库后,内存数据库存储的各元数据信息会根据CephFS中的文件变化而变化。基于此,在本申请实施例中,所述方法还包括:
当CephFS接收到针对缓存文件目录所包括的文件的写入操作时,对所述文件执行所述写入操作,并根据所述写入操作更新所述内存数据库。
具体地,所述写入操作为对缓存文件目录所包括的文件进行的操作,其中,写入操作可以为删除操作、新增操作以及修正操作等。也就是说,当CephFS有针对缓存文件目录所包括的文件的写入操作时,在执行写入操作后,根据写入操作后的缓存文件目录的元数据信息来修正内存数据库中的元数据信息,以保持内存数据库中的元数据信息的准确性。具体地,当所述写入操作为删除操作时,将所述文件的元数据信息从所述内存数据库内删除;当所述写入操作为修正操作时,将修正后的文件的元数据信息缓存于所述内存数据库内;当所述写入操作为新增操作时,将新增文件的元数据信息缓存于所述内存数据库内。
综上所述,本实施例提供了一种针对Ceph文件的读取方法,方法包括接收文件目录的读取请求,判断文件目录是否为包含于内存数据库对应的目录列表内;当文件目录包含于目录列表内时,在内存数据库中读取文件目录对应的元数据信息;当文件目录未包含于目录列表内时,执行基于读取请求生成的读取任务以读取文件目录的元数据信息。本申请通过在MDS的内存上构建内存数据库,然后将文件目录的元数据信息缓存于内存数据库内,特别是文件目录过长或者访问频率高的文件目录,这样在用户通过客户端读取文件目录信息时,可以直接从内存数据库中读取到文件目录的元数据信息,提高了元数据信息的读取效率,进而可以提高客户端的响应时效。
基于上述针对Ceph文件的读取方法,本实施例提供了一种针对Ceph文件的读取装置,如图3所示,所述的针对Ceph文件的读取装置包括:
接收模块100,用于接收文件目录的读取请求,判断所述文件目录是否为包含于内存数据库对应的目录列表内,其中,所述内存数据库为设置于MDS内,用于缓存其对应的目录列表中的各缓存文件目录的元数据信息;
读取模块200,用于当文件目录包含于目录列表内时,在所述内存数据库中读取所述文件目录对应的元数据信息;
执行模块300,用于当文件目录未包含于目录列表内时,执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息。
在一个实现方式中,所述针对Ceph文件的读取装置还包括:
第一构建模块,用于在MDS的内存上构建内存数据库,并为所述内存数据库配置目录列表;
第一读取模块,用于响应用户针对于内存数据库的配置指令,读取所述配置指令对应的缓存文件目录,并将所述缓存文件目录配置于所述目录列表。
在一个实现方式中,所述针对Ceph文件的读取装置还包括:
第二构建模块,用于在MDS的内存上构建内存数据库,并为所述内存数据库配置目录列表;
第二读取模块,用于读取CephFS中的各文件目录的目录长度和被读取次数;
选取模块,用于根据目录长度和被读取次数在CephFS中选取缓存文件目录,将选取到的缓存文件目录配置于所述目录列表内。
在一个实现方式中,所述第一读取模块或者第二读取模块,还用于读取所述目录列表中各缓存文件目录对应的元数据信息,并将读取到的元数据信息缓存于所述内存数据库。
在一个实现方式中,所述读取模块具体用于:
当文件目录包含于目录列表内时,确定所述内存数据库中是否存储有所述文件目录对应的元数据信息;若存在所述文件目录对应的元数据信息,则在所述内存数据库中读取所述文件目录对应的元数据信息,并将读取到的元数据信息反馈给客户端;若未存在所述文件目录对应的元数据信息,则执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息,并将读取到的元数据信息反馈给客户端并读取到内存数据库。
在一个实现方式中,所述针对Ceph文件的读取装置还包括:
更新模块,用于当CephFS接收到针对缓存文件目录所包括的文件的写入操作时,对所述文件执行所述写入操作,并根据所述写入操作更新所述内存数据库。
在一个实现方式中,所述写入操作包括删除操作、修正操作和新增操作中一种或者多种;所述更新模块具体用于:
当所述写入操作为删除操作时,将所述文件的元数据信息从所述内存数据库内删除;当所述写入操作为修正操作时,将修正后的文件的元数据信息缓存于所述内存数据库内;当所述写入操作为新增操作时,将新增文件的元数据信息缓存于所述内存数据库内。
基于上述针对Ceph文件的读取方法,本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例所述的针对Ceph文件的读取方法中的步骤。
基于上述针对Ceph文件的读取方法,本申请还提供了一种服务器,如图4所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
此外,上述存储介质以及服务器中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (7)
1.一种针对Ceph文件的读取方法,其特征在于,所述的针对Ceph文件的读取方法包括:
接收文件目录的读取请求,判断所述文件目录是否为包含于内存数据库对应的目录列表内,其中,所述内存数据库为设置于MDS内,用于缓存其对应的目录列表中的各缓存文件目录的元数据信息;
当文件目录包含于目录列表内时,在所述内存数据库中读取所述文件目录对应的元数据信息;
当文件目录未包含于目录列表内时,执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息,
其中,所述接收文件目录的读取请求之前,所述方法还包括:
在MDS的内存上构建内存数据库,并为所述内存数据库配置目录列表;
读取CephFS中的各文件目录的目录长度和被读取次数;
将目录长度与长度阈值进行比较,当目录长度大于长度阈值时,将文件目录作为缓存文件目录,当目录长度小于或者等于长度阈值时,再将被读取次数与读取次数阈值进行比较,当读取次数阈值大于读取次数阈值时,将文件目录作为缓存文件目录;
将选取到的缓存文件目录配置于所述目录列表内;
将缓存文件目录的目录长度与设定长度阈值进行比较,当目录长度大于设定长度阈值时,直接将元数据信息读取到内存数据库内;当目录长度小于或者等于设定长度阈值时,完成内存数据库配置,并当缓存文件目录被第一次读取时,在将读取到的元数据信息反馈给客户端的同时,将读取到的元数据信息读取到内存数据库内;
所述当文件目录包含于目录列表内时,在所述内存数据库中读取所述文件目录对应的元数据信息具体包括:
当文件目录包含于目录列表内时,确定所述内存数据库中是否存储有所述文件目录对应的元数据信息;
若存在所述文件目录对应的元数据信息,则在所述内存数据库中读取所述文件目录对应的元数据信息,并将读取到的元数据信息反馈给客户端;
若未存在所述文件目录对应的元数据信息,则执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息,并将读取到的元数据信息反馈给客户端并读取到内存数据库。
2.根据权利要求1所述的针对Ceph文件的读取方法,其特征在于,所述方法还包括:
读取所述目录列表中各缓存文件目录对应的元数据信息,并将读取到的元数据信息缓存于所述内存数据库。
3.根据权利要求1所述的针对Ceph文件的读取方法,其特征在于,所述方法还包括:
当CephFS接收到针对缓存文件目录所包括的文件的写入操作时,对所述文件执行所述写入操作,并根据所述写入操作更新所述内存数据库。
4.根据权利要求3所述的针对Ceph文件的读取方法,其特征在于,所述写入操作包括删除操作、修正操作和新增操作中一种或者多种;所述根据所述写入操作更新所述内存数据库具体包括:
当所述写入操作为删除操作时,将所述文件的元数据信息从所述内存数据库内删除;
当所述写入操作为修正操作时,将修正后的文件的元数据信息缓存于所述内存数据库内;
当所述写入操作为新增操作时,将新增文件的元数据信息缓存于所述内存数据库内。
5.一种针对Ceph文件的读取装置,其特征在于,所述的针对Ceph文件的读取装置包括:
接收模块,用于接收文件目录的读取请求,判断所述文件目录是否为包含于内存数据库对应的目录列表内,其中,所述内存数据库为设置于MDS内,用于缓存其对应的目录列表中的各缓存文件目录的元数据信息;
读取模块,用于当文件目录包含于目录列表内时,在所述内存数据库中读取所述文件目录对应的元数据信息;
执行模块,用于当文件目录未包含于目录列表内时,执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息;
其中,所述接收文件目录的读取请求之前,还包括:
在MDS的内存上构建内存数据库,并为所述内存数据库配置目录列表;
读取CephFS中的各文件目录的目录长度和被读取次数;
将目录长度与长度阈值进行比较,当目录长度大于长度阈值时,将文件目录作为缓存文件目录,当目录长度小于或者等于长度阈值时,再将被读取次数与读取次数阈值进行比较,当读取次数阈值大于读取次数阈值时,将文件目录作为缓存文件目录;
将选取到的缓存文件目录配置于所述目录列表内;
将缓存文件目录的目录长度与设定长度阈值进行比较,当目录长度大于设定长度阈值时,直接将元数据信息读取到内存数据库内;当目录长度小于或者等于设定长度阈值时,完成内存数据库配置,并当缓存文件目录被第一次读取时,在将读取到的元数据信息反馈给客户端的同时,将读取到的元数据信息读取到内存数据库内;
所述当文件目录包含于目录列表内时,在所述内存数据库中读取所述文件目录对应的元数据信息具体包括:
当文件目录包含于目录列表内时,确定所述内存数据库中是否存储有所述文件目录对应的元数据信息;
若存在所述文件目录对应的元数据信息,则在所述内存数据库中读取所述文件目录对应的元数据信息,并将读取到的元数据信息反馈给客户端;
若未存在所述文件目录对应的元数据信息,则执行基于所述读取请求生成的读取任务以读取所述文件目录的元数据信息,并将读取到的元数据信息反馈给客户端并读取到内存数据库。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-4任意一项所述的针对Ceph文件的读取方法中的步骤。
7.一种服务器,其特征在于,包括:处理器和存储器;
所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述处理器执行所述计算机可读程序时实现如权利要求1-4任意一项所述的针对Ceph文件的读取方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410004624.4A CN117493276B (zh) | 2024-01-03 | 2024-01-03 | 针对Ceph文件的读取方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410004624.4A CN117493276B (zh) | 2024-01-03 | 2024-01-03 | 针对Ceph文件的读取方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117493276A CN117493276A (zh) | 2024-02-02 |
CN117493276B true CN117493276B (zh) | 2024-04-09 |
Family
ID=89676891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410004624.4A Active CN117493276B (zh) | 2024-01-03 | 2024-01-03 | 针对Ceph文件的读取方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117493276B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920616A (zh) * | 2018-06-28 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种元数据访问性能优化方法、系统、装置及存储介质 |
CN109446160A (zh) * | 2018-11-06 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种文件读取方法、系统、装置及计算机可读存储介质 |
CN109684282A (zh) * | 2018-11-23 | 2019-04-26 | 华为技术有限公司 | 一种构建元数据缓存的方法及装置 |
CN113468139A (zh) * | 2021-06-24 | 2021-10-01 | 苏州浪潮智能科技有限公司 | 一种性能提升方法、系统、电子设备及存储介质 |
CN113704204A (zh) * | 2021-04-07 | 2021-11-26 | 腾讯科技(深圳)有限公司 | 数据文件处理方法、装置、电子设备及存储介质 |
WO2022068596A1 (zh) * | 2020-09-30 | 2022-04-07 | 华为技术有限公司 | 元数据管理方法和电子设备 |
CN114490527A (zh) * | 2021-11-12 | 2022-05-13 | 苏州浪潮智能科技有限公司 | 元数据检索方法、系统、终端及存储介质 |
CN116841978A (zh) * | 2023-08-31 | 2023-10-03 | 北京趋动智能科技有限公司 | 基于分布式文件系统的路径解析方法、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102376157B1 (ko) * | 2017-05-02 | 2022-03-21 | 한국전자통신연구원 | 메타데이터 서버 및 그것을 이용한 디렉토리 단위의 메타데이터 분산 방법 |
-
2024
- 2024-01-03 CN CN202410004624.4A patent/CN117493276B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920616A (zh) * | 2018-06-28 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种元数据访问性能优化方法、系统、装置及存储介质 |
CN109446160A (zh) * | 2018-11-06 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种文件读取方法、系统、装置及计算机可读存储介质 |
CN109684282A (zh) * | 2018-11-23 | 2019-04-26 | 华为技术有限公司 | 一种构建元数据缓存的方法及装置 |
WO2022068596A1 (zh) * | 2020-09-30 | 2022-04-07 | 华为技术有限公司 | 元数据管理方法和电子设备 |
CN113704204A (zh) * | 2021-04-07 | 2021-11-26 | 腾讯科技(深圳)有限公司 | 数据文件处理方法、装置、电子设备及存储介质 |
CN113468139A (zh) * | 2021-06-24 | 2021-10-01 | 苏州浪潮智能科技有限公司 | 一种性能提升方法、系统、电子设备及存储介质 |
CN114490527A (zh) * | 2021-11-12 | 2022-05-13 | 苏州浪潮智能科技有限公司 | 元数据检索方法、系统、终端及存储介质 |
CN116841978A (zh) * | 2023-08-31 | 2023-10-03 | 北京趋动智能科技有限公司 | 基于分布式文件系统的路径解析方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117493276A (zh) | 2024-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2629448C2 (ru) | Система и способ управления и организации кэша веб-браузера | |
CN114116613B (zh) | 基于分布式文件系统的元数据查询方法、设备和存储介质 | |
RU2608668C2 (ru) | Система и способ управления и организации кэша веб-браузера для обеспечения автономного просмотра | |
US20160357740A1 (en) | Metadata Updating Method and Apparatus Based on Columnar Storage in Distributed File System, and Host | |
US8126859B2 (en) | Updating a local version of a file based on a rule | |
US8185546B2 (en) | Enhanced control to users to populate a cache in a database system | |
CN109684282B (zh) | 一种构建元数据缓存的方法及装置 | |
US11221999B2 (en) | Database key compression | |
CN109766318B (zh) | 文件读取方法及装置 | |
US11868333B2 (en) | Data read/write method and apparatus for database | |
WO2019161620A1 (zh) | 应用依赖关系更新方法、终端、设备及存储介质 | |
CN109684270B (zh) | 数据库归档方法、装置、系统、设备及可读存储介质 | |
CN108038253B (zh) | 一种日志查询的处理方法及装置 | |
CN112100152A (zh) | 业务数据处理方法、系统、服务器和可读存储介质 | |
CN115114232A (zh) | 一种历史版本对象列举方法、装置及其介质 | |
CN112334891A (zh) | 用于搜索服务器的集中式存储 | |
CN112306957A (zh) | 获取索引节点号的方法、装置、计算设备和存储介质 | |
CN114610680A (zh) | 分布式文件系统元数据管理方法、装置、设备及存储介质 | |
CN111831691A (zh) | 一种数据读写方法及装置、电子设备、存储介质 | |
CN117493276B (zh) | 针对Ceph文件的读取方法、装置、服务器及存储介质 | |
CN107844483B (zh) | 文件管理方法及装置 | |
CN116610636A (zh) | 一种文件系统的数据处理方法、装置、电子设备及存储介质 | |
CN115729915A (zh) | 一种数据处理的方法、装置、电子设备及存储介质 | |
CN109857719B (zh) | 分布式文件处理方法、装置、计算机设备以及存储介质 | |
US7685107B2 (en) | Apparatus, system, and method for scanning a partitioned data set |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |