基于飞腾平台的目录读取方法、装置、服务器和存储介质制造方法及图纸

技术编号:25521236 阅读:21 留言:0更新日期:2020-09-04 17:11
本发明专利技术提供一种基于飞腾平台的目录读取方法,通过FPGA模块执行,包括:从CPU获取目录文件信息的读取任务;将所述读取任务拆分为至少两个独立的子读取任务;调用FPGA模块至少两个计算引擎并行执行所述至少两个独立的子读取任务,以生成至少两个第一读取结果;将所述至少两个第一读取结果合并为第二读取结果。本发明专利技术还提供一种基于飞腾平台的目录读取装置、服务器和存储介质,本发明专利技术通过FPGA模块将读取任务拆分为至少两个,以实现提高目录文件信息的读取速度,减少目录文件读取时间的效果。

【技术实现步骤摘要】
基于飞腾平台的目录读取方法、装置、服务器和存储介质
本专利技术所述方法及技术涉及到集群文件系统领域,尤其涉及一种基于飞腾平台的目录读取方法、装置、服务器和存储介质。
技术介绍
在Ceph文件系统中,用户经常需要读取文件目录,对于目录的读取操作一般是客户查询端发出读取目录下文件信息的请求,元数据管理服务查询得到目录下文件数总量,CPU根据文件数总量依次获取相关文件信息,直到文件数总量获取完毕,再将结果返回到客户查询端。当分布式文件系统(如Ceph分布式文件系统)部署在飞腾硬件平台下,由于飞腾硬件平台的性能不能满足超大目录的读取操作,当超大目录加载失败时即无法读出目录,导致耗费大量时间。
技术实现思路
本专利技术提供一种基于飞腾平台的目录读取方法、装置、服务器和存储介质,以实现提高目录文件信息的读取速度,减少目录文件读取时间的效果。第一方面,本专利技术提供一种基于飞腾平台的目录读取方法,通过FPGA模块执行,包括:从CPU获取目录文件信息的读取任务;将所述读取任务拆分为至少两个独立的子读取任务;调用FPGA模块至少两个计算引擎并行执行所述至少两个独立的子读取任务,以生成至少两个第一读取结果;将所述至少两个第一读取结果合并为第二读取结果。进一步地,所述将所述读取任务拆分为至少两个独立的子读取任务,包括:根据所述读取任务获取所述目录文件信息的信息总数;基于所述目录文件信息的信息总数和预设的单个子读取任务的信息数量,将所述读取任务平均分成多个子读取任务。进一步地,所述基于所述目录文件信息的信息总数和预设的单个子读取任务的信息数量,将所述读取任务平均分成多个子读取任务,包括:将所述目录文件信息的信息总数设为L,单个子读取任务的信息数量设为M,计算得到所述子读取任务的数量P=L/N。进一步地,所述计算得到所述子读取任务的数量P=L/N,包括:判断所述L/N的值是否为整数;若所述L/N的值为整数,则P=L/N;若所述L/N的值为非整数,则P=L/N的值向上取整。进一步地,所述将所述至少两个第一读取结果合并为第二读取结果之后,还包括:将所述第二读取结果返回至所述CPU。第二方面,本专利技术提供一种基于飞腾平台的目录读取装置,所述FPGA模块包括:获取模块,用于从CPU获取目录文件信息的读取任务;拆分模块,用于将所述读取任务拆分为至少两个独立的子读取任务;执行模块,用于调用FPGA模块至少两个计算引擎并行执行所述至少两个独立的子读取任务,以生成至少两个第一读取结果;合并模块,用于将所述至少两个第一读取结果合并为第二读取结果。进一步地,所述拆分模块包括:获取单元,用于根据所述读取任务获取所述目录文件信息的信息总数;拆分单元,用于基于所述目录文件信息的信息总数和预设的单个子读取任务的信息数量,将所述读取任务平均分成多个子读取任务。进一步地,所述拆分单元还用于将所述目录文件信息的信息总数设为L,单个子读取任务的信息数量设为M,计算得到所述子读取任务的数量P=L/N。第三方面,本专利技术提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如上述任一所述的基于飞腾平台的目录读取的方法。第四方面,本专利技术提供一种终端可读存储介质,其上存储有程序,所述程序被处理器执行时能够实现如上述任一所述的基于飞腾平台的目录读取的方法。本专利技术提供一种基于飞腾平台的目录读取方法、装置、服务器和存储介质,通过FPGA模块将读取任务拆分为至少两个,以实现提高目录文件信息的读取速度,减少目录文件读取时间的效果。附图说明图1为实施例一的基于飞腾平台的目录读取方法流程图。图2为实施例二的基于飞腾平台的目录读取方法流程图。图3为实施例三的基于飞腾平台的目录读取装置模块图。图4为实施例三替代实施例的基于飞腾平台的目录读取装置模块图。图5为实施例四的服务器模块图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。此外,术语“第一”、“第二”等可在本文中用于描述各种方向、动作、步骤或元件等,但这些方向、动作、步骤或元件不受这些术语限制。这些术语仅用于将第一个方向、动作、步骤或元件与另一个方向、动作、步骤或元件区分。举例来说,在不脱离本申请的范围的情况下,第一读取结果可以为第二读取结果或第三读取结果,类似地,第二读取结果、第三读取结果可以为第一读取结果。第一读取结果和第二读取结果、第三读取结果都是分布式文件系统的获取模块,但其不是同一获取模块。术语“第一”、“第二”等而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本专利技术的描述中,“多个”、“批量”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。说明书中提及的英文缩写及专有名词含义如下:Ceph:一种分布式文件集群系统,指运行在多台计算机之间,通过某种方式相互通信从而将集群内所有存储空间资源整合、虚拟化并对外提供文件访问服务的文件系统。用户通过文件访问接口访问Ceph文件系统时需要读取文件目录,对于目录的读取操作一般涉及大量的元数据操作,比如获取目录下所有文件的信息等。通常,客户查询端发出读取目录下文件信息的请求,元数据管理服务查询得到目录下文件数总量,CPU根据文件数总量依次获取相关文件信息,直到文件数总量获取完毕,再将结果返回到客户查询端。FPGA模块:Field-ProgrammableGateArray,现场可编程门阵列,一般用于电路设计与产品设计。实施例一本实施例提供了一种适用于飞腾平台的目录读取方法。该方法可以由本专利技术任意实施例提供的基于飞腾平台的目录读取装置来实现,该装置可以采用软件和/或硬件的方式实现,并可集成在服务器。本专利技术通过FPGA模块执行,如图1所示,本专利技术实施例一的方法包括:S101、从CPU获取目录文件信息的读取任务。在该步骤中,所述FPGA模块与所述CPU相连接,所述CPU用于获取客户端的目录文件读取请求以生成目录文件信息的读取任务。其中所述FPGA模块包括至少两个计算引擎。目录文件是指本文档来自技高网...

【技术保护点】
1.一种基于飞腾平台的目录读取方法,通过FPGA模块执行,其特征在于,包括:/n从CPU获取目录文件信息的读取任务;/n将所述读取任务拆分为至少两个独立的子读取任务;/n调用FPGA模块至少两个计算引擎并行执行所述至少两个独立的子读取任务,以生成至少两个第一读取结果;/n将所述至少两个第一读取结果合并为第二读取结果。/n

【技术特征摘要】
1.一种基于飞腾平台的目录读取方法,通过FPGA模块执行,其特征在于,包括:
从CPU获取目录文件信息的读取任务;
将所述读取任务拆分为至少两个独立的子读取任务;
调用FPGA模块至少两个计算引擎并行执行所述至少两个独立的子读取任务,以生成至少两个第一读取结果;
将所述至少两个第一读取结果合并为第二读取结果。


2.根据权利要求1所述的基于飞腾平台的目录读取方法,其特征在于,所述将所述读取任务拆分为至少两个独立的子读取任务,包括:
根据所述读取任务获取所述目录文件信息的信息总数;
基于所述目录文件信息的信息总数和预设的单个子读取任务的信息数量,将所述读取任务平均分成多个子读取任务。


3.根据权利要求2所述的基于飞腾平台的目录读取方法,其特征在于,所述基于所述目录文件信息的信息总数和预设的单个子读取任务的信息数量,将所述读取任务平均分成多个子读取任务,包括:
将所述目录文件信息的信息总数设为L,单个子读取任务的信息数量设为M,计算得到所述子读取任务的数量P=L/N。


4.根据权利要求3所述的基于飞腾平台的目录读取方法,其特征在于,所述计算得到所述子读取任务的数量P=L/N,包括:
判断所述L/N的值是否为整数;
若所述L/N的值为整数,则P=L/N;
若所述L/N的值为非整数,则P=L/N的值向上取整。


5.根据权利要求1所述的基于飞腾平台的目录读取方法,其特征在于,所述将所述至少两个第一读取结果...

【专利技术属性】
技术研发人员:龚立义许宇峰
申请(专利权)人:柏科数据技术深圳股份有限公司
类型:发明
国别省市:广东;44

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

1