【技术实现步骤摘要】
数据传输方法、装置及计算机存储介质
本申请涉及通信
,特别涉及一种数据传输方法、装置及计算机存储介质。
技术介绍
随着通信技术的发展,不同计算机之间可以采用RDMA(remotedirectmemoryaccess,远程直接内存访问)技术进行数据传输,该技术可以实现数据从一台计算机的内存直接传输到另一台计算机的内存,无需计算机上的CPU(centralprocessingunit,中央处理器)的介入,从而有效解决了数据传输过程的延迟问题。相关技术中,在利用RDMA技术进行数据传输时,如果接收端的内存未准备就绪就进入数据传输状态,将导致接收端接收数据出现延时的概率大大增加,极大影响数据传输性能。因此,发送端在每次进行数据传输之前,先向接收端发送内存申请请求,该内存申请请求携带待申请的内存的大小。接收端根据内存申请请求配置出用于缓存发送端发送的数据的内存,然后向发送端发送确认消息,发送端在接收到确认消息之后便可进行数据传输。由于发送端每次在进行数据传输之前均需要和接收端进行消息交互,而随着数据传输次 ...
【技术保护点】
1.一种数据传输方法,其特征在于,应用于接收端,所述接收端中配置有接收队列,所述接收队列包括N个内存块,一个内存块用于缓存一个数据单元,所述N为大于1的正整数;所述方法包括:/n接收发送端发送的一个或多个数据单元,所述一个或多个数据单元的数量小于所述N;/n将所述一个或多个数据单元缓存在所述接收队列包括的内存块中;/n向发送端发送用于指示所述接收队列中空闲内存块的数量的通知消息,以使所述发送端根据所述空闲内存块的数量继续发送数据单元,所述空闲内存块是指没有缓存数据单元的内存块。/n
【技术特征摘要】
1.一种数据传输方法,其特征在于,应用于接收端,所述接收端中配置有接收队列,所述接收队列包括N个内存块,一个内存块用于缓存一个数据单元,所述N为大于1的正整数;所述方法包括:
接收发送端发送的一个或多个数据单元,所述一个或多个数据单元的数量小于所述N;
将所述一个或多个数据单元缓存在所述接收队列包括的内存块中;
向发送端发送用于指示所述接收队列中空闲内存块的数量的通知消息,以使所述发送端根据所述空闲内存块的数量继续发送数据单元,所述空闲内存块是指没有缓存数据单元的内存块。
2.如权利要求1所述的方法,其特征在于,所述向发送端发送用于指示所述接收队列中空闲内存块的数量的通知消息,包括:
如果检测到所述接收队列中存在内存块被移出所述接收队列,在所述接收队列中添加空闲内存块,添加的空闲内存块的数量和被移出的内存块的数量相同;
向所述发送端发送所述通知消息。
3.如权利要求2所述的方法,其特征在于,所述接收端上部署有计数器,所述计数器用于记录从创建所述接收队列到当前时间之间从所述接收队列中移出的内存块的总数量;
所述检测到所述接收队列中存在内存块被移出所述接收队列,包括:
如果所述计数器记录的数量发生变化,则确定检测到所述接收队列中存在内存块被移出所述接收队列;
所述向所述发送端发送所述通知消息,包括:
向所述发送端发送携带所述计数器记录的数量的通知消息,以使所述发送端根据所述计数器记录的数量确定所述接收队列中空闲内存块的数量。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述发送端发送的协商消息,所述协商消息携带所述待创建的内存块的大小以及待创建的内存块的数量;
根据所述协商消息创建所述接收队列,创建的接收队列中包括的内存块的数量等于所述协商消息中待创建内存块的数量,所述创建的接收队列中包括的内存块的大小等于所述协商消息中待创建的内存块的大小。
5.如权利要求1至4任一所述的方法,其特征在于,所述发送端基于远程直接内存访问RDMA方式向所述接收端传输数据;
所述接收发送端发送的一个或多个数据单元,包括:
通过所述接收端与所述发送端之间的数据链路接收所述一个或多个数据单元;
所述向发送端发送用于指示所述接收队列中空闲内存块的数量的通知消息,包括:
通过所述接收端与所述发送端之间的控制链路发送所述通知消息。
6.一种数据传输方法,其特征在于,应用于发送端,所述方法包括:
获取接收端发送的通知消息,所述通知消息用于指示所述接收端中配置的接收队列中空闲内存块的数量,所述接收队列包括N个内存块,一个内存块用于缓存所述发送端发送的一个数据单元,所述N为大于1的正整数,所述空闲内存块是指没有缓存数据单元的内存块;
根据所述通知消息,确定所述空闲内存块的数量;
根据所述空闲内存块的数量和待发送的数据单元的数量,确定目标数量;...
【专利技术属性】
技术研发人员:唐盛武,黄健,杨裕焱,
申请(专利权)人:杭州海康威视系统技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。