【技术实现步骤摘要】
远程数据访问方法及装置
[0001]本申请涉及通信
,尤其涉及一种远程数据访问方法及装置。
技术介绍
[0002]远程直接内存访问(remote direct memory access,RDMA)是一种用于解决网络传输中数据处理延迟的传输层网络协议。RDMA协议能够减少数据传输过程中在用于传输数据的主机设备内部对数据的复制操作,并且无需用于传输数据的主机设备的操作系统介入,因此RDMA协议能够降低用于传输数据的主机设备的中央处理单元(central processing unit,CPU)负载。
[0003]然而,当前的RDMA协议仅提供本端设备对远端设备的内存数据直接存(写)取(读)的功能。例如,当数据中心的客户端设备(也称为本端设备)采用RDMA协议中的读(read)请求从数据中心的服务器(也称为远端设备)查询数据时,客户端设备仅能利用一个或多个read请求将该服务器中的数据库读取到本地,然后再通过遍历读取到的数据库来查询需要的数据。可见,基于现有的RDMA协议实现的本端设备操作远端设备的数据的效率低。
技术实现思路
[0004]本申请提供了一种远程数据访问方法及装置,该方法能够提高本端设备操作远端设备的数据的效率。
[0005]为达上述目的,本申请提供如下技术方案:
[0006]第一方面,本申请提供了一种远程数据访问方法,该方法应用于与第二设备连接通信的第一设备,第一设备和第二设备均配置有具有远程直接内存访问(remote direct memory access ...
【技术保护点】
【技术特征摘要】
1.一种远程数据访问方法,其特征在于,应用于第一设备,所述第一设备与第二设备连接通信,所述第一设备和所述第二设备均配置有具有远程直接内存访问RDMA功能的网络接口卡NIC;所述方法由所述第一设备的NIC执行,所述方法包括:生成第一报文,所述第一报文包括类型标识和功能标识;向所述第二设备发送所述第一报文,其中,所述类型标识表示所述第一报文是远程内存功能调用RMFC类型的报文,所述RMFC类型的报文用于指示所述第二设备对所述第二设备的本地数据执行预设操作,所述功能标识用于指示所述预设操作的操作类型。2.根据权利要求1所述的方法,其特征在于,所述预设操作的操作类型包括查询操作、插入操作、或删除操作中的任一种。3.根据权利要求2所述的方法,其特征在于,如果所述预设操作的操作类型是查询操作,则所述方法还包括:接收第二报文,所述第二报文用于承载目标数据,所述目标数据是所述第二设备对所述第二设备的本地数据执行所述查询操作后获得的数据;将所述目标数据写入接收缓存区,所述接收缓存区是与所述第一设备中运行的应用进程相对应的接收队列RQ的头部接收队列元素RQE所指示的缓存区。4.根据权利要求3所述的方法,其特征在于,所述第一设备设置有扩展RQ,所述扩展RQ包括至少一个扩展RQE,所述至少一个扩展RQE中的任一个扩展RQE中包括与所述任一个扩展RQE对应的扩展缓存区的地址;所述将所述目标数据写入接收缓存区,包括:确定所述目标数据的长度大于所述接收缓存区的长度;调用一个或多个扩展RQE,并将所述目标数据写入所述接收缓存区和所述一个或多个扩展RQE对应的扩展缓存区。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:在完成队列CQ中写入完成队列元素CQE,其中,在所述第一设备的NIC调用所述一个或多个扩展RQE时,所述CQE用于指示所述目标数据已写入所述接收缓存区和所述一个或多个扩展RQE对应的扩展缓存区,并用于指示所述接收缓存区和所述一个或多个扩展RQE对应的扩展缓存区的地址。6.根据权利要求1
‑
5中任一项所述的方法,其特征在于,所述功能标识是基于所述第一设备中运行的应用进程发出的数据请求确定的。7.根据权利要求1
‑
6中任一项所述的方法,其特征在于,所述生成第一报文,包括:根据与所述第一设备中运行的应用进程对应的发送队列SQ的头部发送队列元素SQE,生成所述第一报文;所述头部SQE中包括与所述头部SQE对应的发送缓冲区的地址,所述发送缓冲区用于存储所述应用进程发出的数据请求的参数。8.一种远程数据访问方法,其特征在于,应用于第二设备,所述第二设备与第一设备连接通信,所述第二设备和所述第一设备均配置有具有远程直接内存访问RDMA功能的网络接口卡NIC;所述方法由所述第二设备的NIC执行,所述方法包括:接收来自所述第一设备的第一报文,所述第一报文包括类型标识和功能标识;当确定所述类型标识是用于指示所述第一报文是远程内存功能调用RMFC类型的报文的标识时,通知所述第二设备的处理单元对所述第二设备的本地数据执行预设操作,所述
预设操作的操作类型为所述第一报文中的所述功能标识所指示的操作类型。9.根据权利要求8所述的方法,其特征在于,所述通知所述第二设备的处理单元对所述第二设备的本地数据执行预设操作,包括:向所述处理单元发送通知消息,所述通知消息包括所述预设操作的执行优先级,所述通知消息用于通知所述处理单元按照所述预设操作的执行优先级,对所述第二设备的本地数据执行所述预设操作。10.根据权利要求8所述的方法,其特征在于,所述通知所述第二设备的处理单元对所述第二设备的本地数据执行预设操作,包括:向第二设备的调度单元发送通知消息,所述调度单元用于调度任务在所述处理单元的执行顺序,所述通知消息包括所述预设操作的执行优先级,所述通知消息用于通知所述调度单元按照所述预设操作的执行优先级,为所述处理单元调度所述预设操作的执行顺序,以使所述处理单元按照所述执行顺序对所述第二设备的本地数据执行所述预设操作。11.根据权利要求8
‑
10中任一项所述的方法,其特征在于,所述预设操作的操作类型包括查询操作、插入操作、或删除操作中的任一种。12.根据权利要求11所述的方法,其特征在于,如果所述预设操作的操作类型是查询操作,则所述方法还包括:向所述第一设备发送第二报文,所述第二报文用于承载目标数据,所述目标数据是所述第二设备对所述第二设备的本地数据执行所述查询操作后获得的数据。13.根据权利要求8
‑
12中任一项所述的方法,其特征在于,所述功能标识是所述第一设备基于所述第一设备中运行的应用进程发出的数据请求确定的。14.一种远程数据访问装置,其特征在于,应用于第一设备,所述第一设备与第二设备连接通信,所述装置具有远程直接内存访问RDMA功能;所述装置包括:生成单元,用于生成第一报文,所述第一报文包括类型标识和功能标识;发送单元,用于向所述第二设备发送所述第一报文,其中,所述类型标识表示所述第一报文是远程内存功能调用RMFC类型的报文,所述RMFC类型的报文用于指示所述第二设备对所述第二设备的本地数据执行预设操作,所述功能标识用于指示所述预设操作的操作类型。15.根据权利要求14所述的装置,其特征在于,所述预设操作的操作类型包括查询操作、插入操作、或删除操作中的任一种。16.根据权利要求15所述的装置,...
【专利技术属性】
技术研发人员:林伟彬,凌文凯,沈胜宇,谢尚港,潘秋萍,陈晓雨,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。