[发明专利]一种非阻塞RDMA连接建立方法及装置有效
| 申请号: | 202310152912.X | 申请日: | 2023-02-22 |
| 公开(公告)号: | CN115834660B | 公开(公告)日: | 2023-05-26 |
| 发明(设计)人: | 田万廷;刘运渠;官华伯;郭俊敏;王蒙 | 申请(专利权)人: | 江苏为是科技有限公司 |
| 主分类号: | H04L67/141 | 分类号: | H04L67/141;H04L69/163;H04L67/01 |
| 代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 魏文佳;解婷婷 |
| 地址: | 215000 江苏省苏州市苏州工业园区*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 阻塞 rdma 连接 建立 方法 装置 | ||
1.一种非阻塞RDMA连接建立方法,其特征在于,包括:
服务端通过轮询客户端的TCP连接请求在ViSocket层与至少一个客户端建立TCP连接,其中,所述ViSocket层由所述服务端控制进程调用ViSocket函数库形成,所述ViSocket函数库是预先建立的集成有TCP系统调用函数和RDMA信息传输函数的函数库,所述ViSocket层用于将通用的TCP系统调用转换为RDMA可识别传输操作;
所述服务端通过ViSocket层的TCP连接,在轮询客户端数据接收或发送的过程中与所述至少一个客户端交换RDMA建链信息;
所述服务端根据获得的RDMA建链信息,在轮询客户端数据接收或发送的过程中与所述至少一个客户端建立RDMA连接;
所述服务端通过轮询客户端的TCP连接请求在ViSocket层与至少一个客户端建立TCP连接之前还包括:
当所述服务端的应用程序对应的应用主进程运行时,所述应用主进程调用所述ViSocket函数库,形成所述应用主进程对应的ViSocket层;
当所述应用主进程调用侦听套接字的创建函数和套接字属性的设置函数时,所述应用主进程对应的ViSocket层拦截所述侦听套接字的创建函数的调用以及所述套接字属性的设置函数的调用,创建侦听套接字并设置所创建的侦听套接字的属性为非阻塞,得到非阻塞侦听套接字返回给所述应用主进程。
2.根据权利要求1所述的方法,其特征在于,所述服务端通过轮询客户端的TCP连接请求在ViSocket层与至少一个客户端建立TCP连接,包括:
所述应用主进程通过非阻塞侦听套接字调用轮询函数用以轮询至少一个客户端的TCP连接请求;
所述应用主进程对应的ViSocket层拦截所述用以轮询至少一个客户端的TCP连接请求的轮询函数的调用,并轮询是否接收到所述至少一个客户端的TCP连接请求;
每当所述应用主进程对应的ViSocket层轮询到一个客户端的TCP连接请求,所述应用主进程对应的ViSocket层将轮询到的客户端的TCP请求连接返回给所述应用主进程;
所述应用主进程调用TCP通信套接字的创建函数用以接收客户端的TCP连接请求时,所述应用主进程对应的ViSocket层拦截所述通信套接字的创建函数的调用,并接收所述客户端的TCP连接请求;
所述应用主进程对应的ViSocket层根据所述TCP连接请求与所述客户端建立TCP连接,并创建TCP通信套接字返回给所述应用主进程。
3.根据权利要求2所述的方法,其特征在于,所述服务端通过ViSocket层的TCP连接,在轮询客户端数据接收或发送的过程中与所述至少一个客户端交换RDMA建链信息,并根据获得的RDMA建链信息,在轮询客户端数据接收或发送的过程中与所述至少一个客户端建立RDMA连接,包括:
当所述应用主进程调用套接字属性的设置函数用以设置所述应用主进程的TCP通信套接字的属性时,所述应用主进程对应的ViSocket层拦截所述套接字属性的设置函数的调用,并设置所述应用主进程的TCP通信套接字的属性为非阻塞,得到非阻塞TCP通信套接字返回给所述应用主进程;
当所述应用主进程通过自身的非阻塞TCP通信套接字调用轮询函数用以轮询至少一个客户端的数据接收请求或数据发送请求时,所述应用主进程对应的ViSocket层拦截所述用以轮询至少一个客户端的数据接收请求或数据发送请求的轮询函数的调用;
当所述应用主进程对应的ViSocket层判断自身与所述客户端之间未建立RDMA连接时,所述应用主进程对应的ViSocket层通过自身的非阻塞TCP通信套接字通知所述客户端发送RDMA建链请求;
所述应用主进程的ViSocket层通过TCP连接接收来自所述客户端的与所述RDMA建链请求对应的RDMA建链信息,并根据所述RDMA建链信息与所述客户端建立RDMA连接,创建RDMA通信套接字并设置所创建的RDMA通信套接字的属性为非阻塞,得到非阻塞RDMA通信套接字。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏为是科技有限公司,未经江苏为是科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310152912.X/1.html,转载请声明来源钻瓜专利网。





