一种文件传输方法、装置、设备及存储介质制造方法及图纸

技术编号:31160705 阅读:23 留言:0更新日期:2021-12-04 10:27
本发明专利技术公开了一种文件传输方法、装置、设备及存储介质,该方法包括:接收应用程序发起的文件传输请求,在文件传输请求的触发下申请内核缓存,并从磁盘中读取相应文件至内核缓存中;通过RDMA网卡驱动告知RDMA网卡硬件发起读操作,以指示RDMA网卡硬件读取内核缓存中的文件至RDMA网卡硬件的内部缓存中,并将内部缓存中的文件发送至远端节点。可见,本申请以内核空间已有的RDMA网卡驱动提供的相关功能为基础,通过将磁盘中相应文件读入申请的内核缓存及将内核缓存中相应文件读入RDMA网卡硬件实现文件传输,避免冗余的内存拷贝操作,降低数据从磁盘搬运到RDMA网卡硬件内部缓存的时间,提高文件传输的传输效率。提高文件传输的传输效率。提高文件传输的传输效率。

【技术实现步骤摘要】
一种文件传输方法、装置、设备及存储介质


[0001]本专利技术涉及数据搬运
,更具体地说,涉及一种文件传输方法、装置、设备及存储介质。

技术介绍

[0002]当前使用RDMA(Remote Direct Memory Access,远程直接地址访问)实现文件传输功能时,技术层面主要分如下几个步骤:在应用程序的触发下,将数据从磁盘读入内核缓存,再将数据从内核缓存拷贝到应用缓存,最后将数据从应用缓存读入硬件内部缓存,并将数据从硬件内部缓存发送至远端节点。可见,上述操作步骤中,和数据搬移有关的一共有三次,分别为将数据从磁盘读入内核缓存、将数据从内核缓存拷贝到应用缓存、从应用缓存读入硬件内部缓存,其中将数据从内核缓存拷贝到应用缓存的内存拷贝,本质上是把数据从内存硬件中的一段地址空间搬移到另一段地址空间,从原理上是一次冗余操作,并且非常耗时。

技术实现思路

[0003]本专利技术的目的是提供一种文件传输方法、装置、设备及存储介质,能够避免冗余的内存拷贝操作,降低数据从磁盘搬运到RDMA网卡硬件内部缓存的时间,提高文件传输的传输效率。
[0004]为了实现上述目的,本专利技术提供如下技术方案:
[0005]一种文件传输方法,包括:
[0006]接收应用程序发起的文件传输请求,在所述文件传输请求的触发下申请内核缓存,并从磁盘中读取相应文件至所述内核缓存中;
[0007]通过RDMA网卡驱动告知RDMA网卡硬件发起读操作,以指示所述RDMA网卡硬件读取所述内核缓存中的文件至所述RDMA网卡硬件的内部缓存中,并将所述内部缓存中的文件发送至远端节点。
[0008]优选的,从磁盘中读取相应文件,包括:
[0009]通过DMA操作从所述磁盘中读取相应文件;
[0010]指示所述RDMA网卡硬件读取所述内核缓存中的文件,包括:
[0011]指示所述RDMA网卡硬件通过DMA操作读取所述内核缓存中的文件。
[0012]优选的,在所述文件传输请求的触发下请求内核缓存,包括:
[0013]指示文件系统申请内核缓存,接收所述文件系统返回的内核缓存地址信息,以供基于所述内核缓存地址信息将相应文件发送至所述内核缓存中;其中,所述内核缓存地址信息为所述文件系统申请得到的内核缓存的地址信息。
[0014]优选的,通过RDMA网卡驱动告知RDMA网卡硬件发起读操作之前,还包括:
[0015]调用所述RDMA网卡驱动提供的缓存注册接口注册所述内核缓存,以供所述RDMA网卡硬件基于注册的所述内核缓存发起读操作;
[0016]通过RDMA网卡驱动告知RDMA网卡硬件发起读操作,包括:
[0017]调用所述RDMA网卡驱动提供的指示读接口,指示所述RDMA网卡驱动告知所述RDMA网卡硬件发起读操作。
[0018]一种文件传输装置,包括:
[0019]第一读模块,用于:接收应用程序发起的文件传输请求,在所述文件传输请求的触发下申请内核缓存,并从磁盘中读取相应文件至所述内核缓存中;
[0020]第二读模块,用于:通过RDMA网卡驱动告知RDMA网卡硬件发起读操作,以指示所述RDMA网卡硬件读取所述内核缓存中的文件至所述RDMA网卡硬件的内部缓存中,并将所述内部缓存中的文件发送至远端节点。
[0021]优选的,第一读模块包括:
[0022]第一读单元,用于:通过DMA操作从所述磁盘中读取相应文件;
[0023]第二读模块包括:
[0024]第二读单元,用于:指示所述RDMA网卡硬件通过DMA操作读取所述内核缓存中的文件。
[0025]优选的,第一读模块包括:
[0026]申请单元,用于:指示文件系统申请内核缓存,接收所述文件系统返回的内核缓存地址信息,以供基于所述内核缓存地址信息将相应文件发送至所述内核缓存中;其中,所述内核缓存地址信息为所述文件系统申请得到的内核缓存的地址信息。
[0027]优选的,还包括:
[0028]调用模块,用于:通过RDMA网卡驱动告知RDMA网卡硬件发起读操作之前,调用所述RDMA网卡驱动提供的缓存注册接口注册所述内核缓存,以供所述RDMA网卡硬件基于注册的所述内核缓存发起读操作;
[0029]第二读模块,包括:
[0030]调用单元,用于:调用所述RDMA网卡驱动提供的指示读接口,指示所述RDMA网卡驱动告知所述RDMA网卡硬件发起读操作。
[0031]一种文件传输设备,包括:
[0032]存储器,用于存储计算机程序;
[0033]处理器,用于执行所述计算机程序时实现如上任一项所述文件传输方法的步骤。
[0034]一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项文件传输方法的步骤。
[0035]本专利技术提供了一种文件传输方法、装置、设备及存储介质,该方法包括:接收应用程序发起的文件传输请求,在所述文件传输请求的触发下申请内核缓存,并从磁盘中读取相应文件至所述内核缓存中;通过RDMA网卡驱动告知RDMA网卡硬件发起读操作,以指示所述RDMA网卡硬件读取所述内核缓存中的文件至所述RDMA网卡硬件的内部缓存中,并将所述内部缓存中的文件发送至远端节点。本申请响应应用程序的文件传输请求,从磁盘中读取相应文件至申请的内核缓存中,再通过RDMA网卡驱动指示RDMA网卡硬件读取内核缓存中的文件至内部缓存中,以通过网络或者光纤将内部缓存中的文件发送至远端节点。可见,本申请以内核空间已有的RDMA网卡驱动提供的相关功能为基础,通过将磁盘中相应文件读入申请的内核缓存及将内核缓存中相应文件读入RDMA网卡硬件实现文件传输,避免冗余的内存
拷贝操作,降低数据从磁盘搬运到RDMA网卡硬件内部缓存的时间,提高文件传输的传输效率。
附图说明
[0036]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0037]图1为本专利技术实施例提供的一种文件传输方法的流程图;
[0038]图2为本专利技术实施例提供的一种文件传输方法的实现示意图;
[0039]图3为本专利技术实施例提供的一种文件传输装置的结构示意图。
具体实施方式
[0040]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0041]请参阅图1,其示出了本专利技术实施例提供的一种文件传输方法的流程图,具体可以包括:
[0042]S11:接收应用程序发起的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件传输方法,其特征在于,包括:接收应用程序发起的文件传输请求,在所述文件传输请求的触发下申请内核缓存,并从磁盘中读取相应文件至所述内核缓存中;通过RDMA网卡驱动告知RDMA网卡硬件发起读操作,以指示所述RDMA网卡硬件读取所述内核缓存中的文件至所述RDMA网卡硬件的内部缓存中,并将所述内部缓存中的文件发送至远端节点。2.根据权利要求1所述的方法,其特征在于,从磁盘中读取相应文件,包括:通过DMA操作从所述磁盘中读取相应文件;指示所述RDMA网卡硬件读取所述内核缓存中的文件,包括:指示所述RDMA网卡硬件通过DMA操作读取所述内核缓存中的文件。3.根据权利要求2所述的方法,其特征在于,在所述文件传输请求的触发下请求内核缓存,包括:指示文件系统申请内核缓存,接收所述文件系统返回的内核缓存地址信息,以供基于所述内核缓存地址信息将相应文件发送至所述内核缓存中;其中,所述内核缓存地址信息为所述文件系统申请得到的内核缓存的地址信息。4.根据权利要求3所述的方法,其特征在于,通过RDMA网卡驱动告知RDMA网卡硬件发起读操作之前,还包括:调用所述RDMA网卡驱动提供的缓存注册接口注册所述内核缓存,以供所述RDMA网卡硬件基于注册的所述内核缓存发起读操作;通过RDMA网卡驱动告知RDMA网卡硬件发起读操作,包括:调用所述RDMA网卡驱动提供的指示读接口,指示所述RDMA网卡驱动告知所述RDMA网卡硬件发起读操作。5.一种文件传输装置,其特征在于,包括:第一读模块,用于:接收应用程序发起的文件传输请求,在所述文件传输请求的触发下申请内核缓存,并从磁盘中读取相应文件至所述内核缓存中...

【专利技术属性】
技术研发人员:刘伟宿栋栋沈艳梅阚宏伟
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:

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

1