[发明专利]数据传输方法、装置及计算机存储介质在审
申请号: | 201911268511.0 | 申请日: | 2019-12-11 |
公开(公告)号: | CN111404842A | 公开(公告)日: | 2020-07-10 |
发明(设计)人: | 唐盛武;黄健;杨裕焱 | 申请(专利权)人: | 杭州海康威视系统技术有限公司 |
主分类号: | H04L12/879 | 分类号: | H04L12/879;H04L12/861 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 李珂珂 |
地址: | 310051 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据传输 方法 装置 计算机 存储 介质 | ||
本申请公开了一种数据传输方法、装置及计算机存储介质,属于通信技术领域。所述方法包括:接收端中配置有接收队列,接收队列包括N个内存块,一个内存块用于缓存一个数据单元,N为大于1的正整数。也即是,在本申请实施例中,在接收端配置一个固定容量的接收队列,当接收端接收到发送端发送的一个或多个数据单元时,将每个数据单元缓存在接收队列中的一个内存块中,并由接收端及时向发送端发送通知消息,以便于发送端能够根据空闲内存块的数量来发送数据单元,无需发送端每次传输数据之前先向接收端发送内存申请请求,从而避免了数据传输过程中接收端与发送端之间频繁的交互。
技术领域
本申请涉及通信技术领域,特别涉及一种数据传输方法、装置及计算机存储介质。
背景技术
随着通信技术的发展,不同计算机之间可以采用RDMA(remote direct memoryaccess,远程直接内存访问)技术进行数据传输,该技术可以实现数据从一台计算机的内存直接传输到另一台计算机的内存,无需计算机上的CPU(central processing unit,中央处理器)的介入,从而有效解决了数据传输过程的延迟问题。
相关技术中,在利用RDMA技术进行数据传输时,如果接收端的内存未准备就绪就进入数据传输状态,将导致接收端接收数据出现延时的概率大大增加,极大影响数据传输性能。因此,发送端在每次进行数据传输之前,先向接收端发送内存申请请求,该内存申请请求携带待申请的内存的大小。接收端根据内存申请请求配置出用于缓存发送端发送的数据的内存,然后向发送端发送确认消息,发送端在接收到确认消息之后便可进行数据传输。
由于发送端每次在进行数据传输之前均需要和接收端进行消息交互,而随着数据传输次数的增多,频繁的消息交互会严重影响数据传输性能。
发明内容
本申请实施例提供了一种数据传输方法,可以避免现有技术中发送端和接收端频繁的消息交互。所述技术方案如下:
第一方面,提供了一种数据传输方法,应用于接收端,所述接收端中配置有接收队列,所述接收队列包括N个内存块,一个内存块用于缓存一个数据单元,所述N为大于1的正整数;所述方法包括:
接收发送端发送的一个或多个数据单元,所述一个或多个数据单元的数量小于所述N;
将所述一个或多个数据单元缓存在所述接收队列包括的内存块中;
向发送端发送用于指示所述接收队列中空闲内存块的数量的通知消息,以使所述发送端根据所述空闲内存块的数量继续发送数据单元,所述空闲内存块是指没有缓存数据单元的内存块。
可选的,所述向发送端发送用于指示所述接收队列中空闲内存块的数量的通知消息,包括:
如果检测到所述接收队列中存在内存块被移出所述接收队列,在所述接收队列中添加空闲内存块,添加的空闲内存块的数量和被移出的内存块的数量相同;
向所述发送端发送所述通知消息。
可选的,所述接收端上部署有计数器,所述计数器用于记录从创建所述接收队列到当前时间之间从所述接收队列中移出的内存块的总数量;
所述检测到所述接收队列中存在内存块被移出所述接收队列,包括:
如果所述计数器记录的数量发生变化,则确定检测到所述接收队列中存在内存块被移出所述接收队列;
所述向所述发送端发送所述通知消息,包括:
向所述发送端发送携带所述计数器记录的数量的通知消息,以使所述发送端根据所述计数器记录的数量确定所述接收队列中空闲内存块的数量。
可选的,所述方法还包括:
接收所述发送端发送的协商消息,所述协商消息携带所述待创建的内存块的大小以及待创建的内存块的数量;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州海康威视系统技术有限公司,未经杭州海康威视系统技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911268511.0/2.html,转载请声明来源钻瓜专利网。