一种数据传输方法、装置、电子设备及存储介质制造方法及图纸

技术编号:36326271 阅读:17 留言:0更新日期:2023-01-14 17:34
本申请公开了一种数据传输方法,所述数据传输方法包括:初始化目标节点的数据传输进程,并为所述数据传输进程预注册预设深度的远程直接数据存取RDMA内存;接收针对所述目标节点的数据传输指令;根据所述数据传输指令将目标数据存储至所述RDMA内存;所述目标数据存储至所述RDMA内存后,则将所述RDMA内存中的目标数据传输至数据接收端。本申请还公开了一种数据传输装置、一种电子设备及一种存储介质,具有以上有益效果。有以上有益效果。有以上有益效果。

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


[0001]本申请涉及数据存储
,特别涉及一种数据传输方法、装置、一种电子设备及一种存储介质。

技术介绍

[0002]随着云计算、大数据、人工智能、5G、物联网大行其道,对数据的存储和传输都带来新的挑战。分布式存储系统中不同节点之间采用基于Socket的TCP/IP协议进行互连和数据传输。随着网卡硬件性能和网络带宽高速增长,用户对存储IO时延和系统吞吐提出更高要求,网络协议栈开销成为约束存储系统网络性能的瓶颈。RDMA技术支持内核旁路且不需要CPU参与,但是与传统基于Socket机制直接申请和使用内存不同,RDMA需要创建保护域且对内存进行注册才能使用。
[0003]相关技术中,通常在有存储需求时临时注册内存空间,但是由于内存注册的时间会增加访问时延,影响数据传输效率。
[0004]因此,如何提高数据传输效率是本领域技术人员目前需要解决的技术问题。

技术实现思路

[0005]本申请的目的是提供一种数据传输方法、装置、一种电子设备及一种存储介质,能够提高数据传输效率。
[0006]为解决上述技术问题,本申请提供一种数据传输方法,该数据传输方法包括:
[0007]初始化目标节点的数据传输进程,并为所述数据传输进程预注册预设深度的远程直接数据存取RDMA内存;
[0008]接收针对所述目标节点的数据传输指令;
[0009]根据所述数据传输指令将目标数据存储至所述RDMA内存;
[0010]所述目标数据存储至所述RDMA内存后,则将所述RDMA内存中的目标数据传输至数据接收端。
[0011]可选的,为所述数据传输进程预注册预设深度的RDMA内存,包括:
[0012]获取存储配置,并根据所述存储配置确定最大双边内存深度;
[0013]为所述数据传输进程预注册最大双边内存深度的RDMA双边内存。
[0014]可选的,为所述数据传输进程预注册预设深度的RDMA内存,包括:
[0015]为所述数据传输进程预注册N个内存区域作为RDMA单边内存;
[0016]其中,在根据接收到的数据传输指令将目标数据存储至所述RDMA内存之后,还包括:
[0017]根据所述RDMA单边内存中已占用的内存区域数量预注册新的内存区域,以使所述RDMA单边内存中未占用的内存区域数量为N。
[0018]可选的,在为所述数据传输进程预注册预设深度的RDMA内存之后,还包括:
[0019]利用链表记录已注册的内存空间;
[0020]若检测目标内存空间被销毁,则根据所述链表取消对所述目标内存空间的注册。
[0021]可选的,将所述RDMA内存中的目标数据传输至数据接收端,包括:
[0022]使用操作系统unix套接字将所述RDMA内存中的目标数据传输至本地的数据接收端;
[0023]或,通过基于以太网的远程直接数据存取RoCE协议将所述RDMA内存中的目标数据传输至非本地的数据接收端。
[0024]可选的,在为所述数据传输进程预注册预设深度的RDMA内存之后,还包括:
[0025]利用引用计数器记录所述RDMA内存的引用次数。
[0026]可选的,在为所述数据传输进程预注册预设深度的RDMA内存之后,还包括:
[0027]若检测到所述数据传输进程退出或RDMA服务退出,则对所述RDMA内存取消注册,并释放所述RDMA内存。
[0028]本申请还提供了一种数据传输装置,该装置包括:
[0029]预注册模块,用于初始化目标节点的数据传输进程,并为所述数据传输进程预注册预设深度的远程直接数据存取RDMA内存;
[0030]指令接收模块,用于接收针对所述目标节点的数据传输指令;
[0031]数据存储模块,用于根据接所述数据传输指令将目标数据存储至所述RDMA内存;
[0032]数据传输模块,用于所述目标数据存储至所述RDMA内存后,则将所述RDMA内存中的目标数据传输至数据接收端。
[0033]本申请还提供了一种存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述数据传输方法执行的步骤。
[0034]本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述数据传输方法执行的步骤。
[0035]本申请提供了一种数据传输方法,包括:初始化目标节点的数据传输进程,并为所述数据传输进程预注册预设深度的远程直接数据存取RDMA内存;接收针对所述目标节点的数据传输指令;根据所述数据传输指令将目标数据存储至所述RDMA内存;所述目标数据存储至所述RDMA内存后,则将所述RDMA内存中的目标数据传输至数据接收端。
[0036]本申请在初始化数据传输进程的过程中,为数据传输进程预注册预设深度的RDMA内存,在接收到数据传输指令后无需临时注册用于存储目标数据的RDMA内存,可以直接使用预先注册好的RDMA内存来存储并传输数据,降低了数据传输过程中的时延。本申请通过预先注册RDMA内存,避免临时注册内存时产生的访问时延,能够提高数据传输效率。本申请同时还提供了一种数据传输装置、一种电子设备和一种存储介质,具有上述有益效果,在此不再赘述。
附图说明
[0037]为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038]图1为本申请实施例所提供的一种数据传输方法的流程图;
[0039]图2为本申请实施例所提供的一种基于RoCE的内存预注册和使用方法框架图;
[0040]图3为本申请实施例所提供的一种分布式存储系统中双边内存的注册结构图;
[0041]图4为本申请实施例所提供的一种分布式存储系统中单边内存的注册结构图;
[0042]图5为本申请实施例所提供的一种数据传输装置的结构示意图。
具体实施方式
[0043]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0044]下面请参见图1,图1为本申请实施例所提供的一种数据传输方法的流程图。
[0045]具体步骤可以包括:
[0046]S101:初始化目标节点的数据传输进程,并为所述数据传输进程预注册预设深度的RDMA(Remote Direct Memory Access,远程直接数据存取)内存;
[0047]其中,本实施例可以应用于分布式存储系统的任本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据传输方法,其特征在于,包括:初始化目标节点的数据传输进程,并为所述数据传输进程预注册预设深度的远程直接数据存取RDMA内存;接收针对所述目标节点的数据传输指令;根据所述数据传输指令将目标数据存储至所述RDMA内存;所述目标数据存储至所述RDMA内存后,则将所述RDMA内存中的目标数据传输至数据接收端。2.根据权利要求1所述数据传输方法,其特征在于,为所述数据传输进程预注册预设深度的RDMA内存,包括:获取存储配置,并根据所述存储配置确定最大双边内存深度;为所述数据传输进程预注册最大双边内存深度的RDMA双边内存。3.根据权利要求1所述数据传输方法,其特征在于,为所述数据传输进程预注册预设深度的RDMA内存,包括:为所述数据传输进程预注册N个内存区域作为RDMA单边内存;其中,在根据接收到的数据传输指令将目标数据存储至所述RDMA内存之后,还包括:根据所述RDMA单边内存中已占用的内存区域数量预注册新的内存区域,以使所述RDMA单边内存中未占用的内存区域数量为N。4.根据权利要求1所述数据传输方法,其特征在于,在为所述数据传输进程预注册预设深度的RDMA内存之后,还包括:利用链表记录已注册的内存空间;若检测目标内存空间被销毁,则根据所述链表取消对所述目标内存空间的注册。5.根据权利要求1所述数据传输方法,其特征在于,将所述RDMA内存中的目标数据传输至数据接收端,包括:使用操作系统unix套接字将所述RDMA内存中的目标数...

【专利技术属性】
技术研发人员:周玉坤翁同玖付忞王正古亮
申请(专利权)人:深信服科技股份有限公司
类型:发明
国别省市:

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

1