[发明专利]数据传输方法、装置、电子设备及计算机存储介质在审
| 申请号: | 202110164907.1 | 申请日: | 2021-02-05 |
| 公开(公告)号: | CN113422793A | 公开(公告)日: | 2021-09-21 |
| 发明(设计)人: | 高翼枭;李强;邱昊楠 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F15/173;G06F13/28 |
| 代理公司: | 北京合智同创知识产权代理有限公司 11545 | 代理人: | 李杰;张美洁 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据传输 方法 装置 电子设备 计算机 存储 介质 | ||
1.一种数据传输方法,所述方法包括:
数据发送端从第一RDMA网卡注册的第一缓存区中确定待发送给数据接收端的数据包,其中,所述数据包占用所述第一缓存区中的部分存储空间;
所述数据发送端根据所述数据包在第一缓存区中的存储地址以及预先获得的所述数据接收端的第二缓存区的存储地址,确定所述数据包存储至所述第二缓存区的目标存储地址,其中,所述第二缓存区的存储地址通过所述数据发送端和所述数据接收端之间的一次握手交互得到;
基于所述数据包在第一缓存区中的存储地址以及所述目标存储地址执行RDMA写操作,以提取所述数据包并发送至所述数据接收端,使得所述数据包存储至第二缓存区中的所述目标存储地址;
所述数据发送端在确定所述数据包已被所述数据接收端处理完成后,释放所述数据包在所述第一缓存区中占用的存储空间。
2.根据权利要求1所述的方法,其中,所述第二缓存区为所述数据接收端通过第二RDMA网卡预先注册的缓存区,所述第二缓存区与所述第一缓存区的大小相同。
3.根据权利要求1所述的方法,其中,所述方法还包括:
所述数据发送端根据待分配存储空间的数据包的长度以及所述第一缓存区中已分配区域的结束地址,确定为数据包分配的存储空间的结束地址,以将所述数据包存储至所述第一缓存区中。
4.根据权利要求3所述的方法,其中,所述方法还包括:
若所述第一缓存区中末个数据包的结束地址与所述第一缓存区的结束地址之间的未分配区域的大小,小于待分配存储空间的数据包的大小,则从所述第一缓存区开始地址至第一个数据包的开始地址之间的未分配区域中,为所述数据包分配存储空间,以对所述第一缓存区进行回环操作。
5.根据权利要求4所述的方法,其中,所述方法还包括:
通过所述数据发送端的所述第一RDMA网卡,向所述数据接收端发送用于指示所述回环操作的信息,以使得所述数据接收端根据所述指示回环操作的信息,对所述第二缓存区进行回环操作。
6.根据权利要求4所述的方法,其中,所述方法还包括:
若所述数据发送端确定RDMA写操作失败,则所述数据发送端通过RDMA拷贝操作,将失败的RDMA写操作对应的数据包拷贝至所述数据接收端的所述第二RDMA网卡的缓存中。
7.根据权利要求6所述的方法,其中,所述方法还包括:
所述数据发送端向所述数据接收端发送所述数据发送端当前的回环操作的次数信息,以使得所述数据接收端验证对第二缓存区进行的回环操作的次数,与所述数据包中携带的回环操作的次数信息指示的次数是否一致;
若一致,则将所述数据包从所述第二RDMA网卡的缓存拷贝至所述第二缓存区中;
或者,若不一致,则丢弃所述数据包。
8.根据权利要求1所述的方法,其中,所述方法还包括:
所述数据发送端接收所述数据接收端对某次用于发送数据包的发送消息进行响应的响应消息,其中,所述响应消息中包括发送的所述数据包在所述第二缓存区的存储地址,以及所述第二缓存区被释放的次数信息;
所述数据发送端释放所述数据包在所述第一缓存区中占用的存储空间,包括:
若所述数据发送端对所述第一缓存区进行的缓存释放的次数小于所述响应消息中包括的所述第二缓存区被释放的次数信息指示的次数,则所述数据发送端根据所述响应信息中包括的所述数据包在所述第二缓存区的存储地址,释放所述第一缓存区中对应的存储空间。
9.根据权利要求1所述的方法,其中,所述方法还包括:
通过所述RDMA写操作的即时数据,标识所述数据包被存储至所述数据接收端的第二缓存区中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110164907.1/1.html,转载请声明来源钻瓜专利网。





