[发明专利]一种基于纠删码的RDMA网络数据传输方法有效
申请号: | 201810487054.3 | 申请日: | 2018-05-21 |
公开(公告)号: | CN108631947B | 公开(公告)日: | 2021-06-25 |
发明(设计)人: | 易怀杰;叶保留;陆桑璐 | 申请(专利权)人: | 南京大学;国网浙江省电力有限公司;南瑞集团有限公司 |
主分类号: | H04L1/00 | 分类号: | H04L1/00 |
代理公司: | 南京苏创专利代理事务所(普通合伙) 32273 | 代理人: | 王华 |
地址: | 210093 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 纠删码 rdma 网络 数据传输 方法 | ||
1.一种基于纠删码的RDMA网络数据传输方法,其特征在于,所述方法包括以下步骤:
S1、发送端获取应用的数据,将数据切分成固定大小的数据帧,再将每一帧数据切分为k个大小相同的数据块,然后发送给接收端,具体地发送端将应用内存中的数据按照帧大小逐个拷贝到缓冲区中,并为这一帧数据分配一个帧号,每发送一帧数据帧号都会加一;然后将一帧数据切分为k个数据块,用k个QP并行地将这些数据块发送给接收端;
S2、发送端为每一帧数据设置一个定时器,定时器模块检查每一个发送的数据帧是否超时,如果超时后k个数据中还有没成功到达接收端,则通过纠删码模块对这一帧数据进行编码,生成m个校验块,然后调用数据传输模块用另外m个QP将校验块发送给接收端;
S3、接收端接收到这k+m个数据块中的任意k个时,恢复出一帧数据,当接收端收到所有的数据帧时,就完成了一次数据传输,其中接收端收到一个数据块以后,通过RDMA的Writewith immediate操作的立即数识别出它属于哪个数据帧,根据接收的数据块的QP获知是这个数据帧中的哪一个数据块或者校验块,当收集到一个数据帧的数据块加校验块的总数达到k个的时候,通过纠删码的解码得到这一帧数据的原始内容,最后将这一帧数据添加到已接收数据的队列中,等待应用程序读取;其中接收端按照帧号逐个读取已经接收到的数据帧,接收端用一个变量read_pos记录接下来要读取的数据帧的帧号,读取数据分为阻塞式和非阻塞式,在阻塞式下应用程序一直等待直到已接收的数据队列中出现帧号为read_pos的数据帧,在非阻塞式下,如果在已接收的数据队列中没有帧号为read_pos的数据帧就直接返回,应用程序从系统的接收缓冲区读取完一帧数据以后,将read_pos加一,然后读取下一帧数据,直到用户的缓冲区满或者遇到一个数据传输的最后一帧数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学;国网浙江省电力有限公司;南瑞集团有限公司,未经南京大学;国网浙江省电力有限公司;南瑞集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810487054.3/1.html,转载请声明来源钻瓜专利网。