一种数据传输处理方法、装置及计算机设备、存储介质与流程

文档序号:36326157发布日期:2023-12-09 14:57阅读:41来源:国知局
一种数据传输处理方法与流程

本技术涉及数字处理,特别是涉及一种数据传输处理方法、装置及计算机设备、存储介质。


背景技术:

1、对于存储领域,对存储系统的性能要求较高。影响存储系统的性能的因素有很多,通常在开发过程中需要不断去调试,将所有能想到会影响性能的位置优化,直到性能符合预期的要求。

2、在存储领域应用中,rdma(remote-direct memory access,远程内存直接访问)因其花费cpu(处理器)开销较小的特点,在一定程度上可以提升性能及减少时延。当前,rdma网卡进行远程数据传输时,采用单一处理器核对rdma网卡的端口进行数据传输处理。然而,rdma网卡在进行远程数据传输时,基于不同的业务需求,其端口需要处理多条数据,此时多条数据需要排队等待。因此,导致存储系统的rdma的数据传输速度慢,数据传输性能差。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种数据传输处理方法、装置及计算机设备、存储介质,能够提高rdma的数据传输速度,从而提高rdma的数据传输性能。

2、一种数据传输处理方法,包括:读取多核处理器的核数量,根据多核处理器的核数量创建多条线程;将各线程分别与多核处理器的各处理器核绑定;初始化远程内存直接访问组件,并为远程内存直接访问组件分配多条线程;基于非易失性内存主机控制器接口规范协议并通过多条线程创建远程内存直接访问组件与第一远程主机之间的多条第一远程内存直接访问连接,其中,任一线程用于创建一条或多条第一远程内存直接访问连接;在远程内存直接访问组件与第一远程主机通过任一条第一远程内存直接访问连接进行数据传输时,通过任一条第一远程内存直接访问连接对应的线程进行数据传输处理。

3、在其中一个实施例中,根据多核处理器的核数量创建多条线程,包括:读取系统待处理任务的任务数量;识别非空闲的处理器核的数量;将多核处理器的核数量减去系统待处理任务的任务数量以及非空闲的处理器核的数量,得到差值;根据差值创建多条线程,其中,多条线程的数量少于或等于差值。

4、在其中一个实施例中,一种数据传输处理方法还包括:为各线程分配传输管理命令的内存资源,和/或,分配传输输入/输出数据的内存资源、传输输入/输出数据的承载结构体资源;通过任一条第一远程内存直接访问连接对应的线程进行数据传输处理,包括:识别任一条第一远程内存直接访问连接对应的线程的处理器核;确定任一条第一远程内存直接访问连接传输数据的数据类型;若数据类型为管理命令,则使用识别出的处理器核调用传输管理命令的内存资源,对任一条第一远程内存直接访问连接进行数据传输处理;若数据类型为输入/输出数据,则使用识别出的处理器核调用传输输入/输出数据的内存资源以及传输输入/输出数据的承载结构体资源,对任一条第一远程内存直接访问连接进行数据传输处理。

5、在其中一个实施例中,传输管理命令的内存资源包括发送资源内存、接收资源内存、状态接收资源内存;和/或,传输输入/输出数据的内存资源包括发送资源内存、接收资源内存、状态接收资源内存;和/或,传输输入/输出数据的承载结构体资源用于记录数据传输的传输地址及传输的数据长度。

6、在其中一个实施例中,多条第一远程内存直接访问连接包括一条传输管理命令的第一远程内存直接访问连接和多条传输输入/输出数据的第一远程内存直接访问连接;当多条线程的数量小于多条第一远程内存直接访问连接的数量时,传输管理命令的第一远程内存直接访问连接对应的线程仅用于处理传输管理命令的第一远程内存直接访问连接的数据传输。

7、在其中一个实施例中,一种数据传输处理方法还包括:基于非易失性内存主机控制器接口规范协议并通过多条线程创建远程内存直接访问组件与第二远程主机之间的多条第二远程内存直接访问连接,其中,任一线程用于创建一条或多条第二远程内存直接访问连接;在远程内存直接访问组件与第二远程主机通过任一条第二远程内存直接访问连接进行数据传输时,通过任一条第二远程内存直接访问连接对应的线程进行数据传输处理;其中,多条线程的数量小于多条第二远程内存直接访问连接的数量与多条第一远程内存直接访问连接的数量的总和,多条第二远程内存直接访问连接包括一条传输管理命令的第二远程内存直接访问连接和多条传输输入/输出数据的第二远程内存直接访问连接,传输管理命令的第二远程内存直接访问连接对应的线程仅用于处理管理命令传输的第二远程内存直接访问连接的数据传输。

8、在其中一个实施例中,基于非易失性内存主机控制器接口规范协议并通过多条线程创建远程内存直接访问组件与第二远程主机之间的多条第二远程内存直接访问连接,包括:读取多条线程中各线程处理第一远程内存直接访问连接的数量;识别处理第一远程内存直接访问连接的数量满足设定条件的多条目标线程;基于非易失性内存主机控制器接口规范协议并通过多条目标线程创建远程内存直接访问组件与第二远程主机之间的多条第二远程内存直接访问连接,其中,任一目标线程用于创建一条或多条第二远程内存直接访问连接。

9、一种数据传输处理装置,包括:第一创建模块,用于读取多核处理器的核数量,根据多核处理器的核数量创建多条线程;绑定模块,用于将各线程分别与多核处理器的各处理器核绑定;分配模块,用于初始化远程内存直接访问组件,并为远程内存直接访问组件分配多条线程;第二创建模块,用于基于非易失性内存主机控制器接口规范协议并通过多条线程创建远程内存直接访问组件与第一远程主机之间的多条第一远程内存直接访问连接,其中,任一线程用于创建一条或多条第一远程内存直接访问连接;数据传输模块,用于在远程内存直接访问组件与第一远程主机通过任一条第一远程内存直接访问连接进行数据传输时,通过任一条第一远程内存直接访问连接对应的线程进行数据传输处理。

10、一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一实施例方法的步骤。

11、一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例方法的步骤。

12、上述一种数据传输处理方法、装置及计算机设备、存储介质,读取多核处理器的核数量,根据多核处理器的核数量创建多条线程;将各线程分别与多核处理器的各处理器核绑定;初始化远程内存直接访问组件,并为远程内存直接访问组件分配多条线程;基于非易失性内存主机控制器接口规范协议并通过多条线程创建远程内存直接访问组件与第一远程主机之间的多条第一远程内存直接访问连接,其中,任一线程用于创建一条或多条第一远程内存直接访问连接;在远程内存直接访问组件与第一远程主机通过任一条第一远程内存直接访问连接进行数据传输时,通过任一条第一远程内存直接访问连接对应的线程进行数据传输处理。

13、各线程对应各处理器核,可采用各线程对应的各处理器核对任一条第一远程内存直接访问连接进行数据传输处理,从而实现多线程对远程内存直接访问组件与第一远程主机之间的多条第一远程内存直接访问连接进行数据传输处理。因此,提高rdma的数据传输速度,从而提高rdma的数据传输性能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1