[发明专利]一种基于UDP的可靠一对多数据传输方法有效
申请号: | 202310237665.3 | 申请日: | 2023-03-14 |
公开(公告)号: | CN116073957B | 公开(公告)日: | 2023-06-06 |
发明(设计)人: | 吴阳 | 申请(专利权)人: | 南京鼎岩信创科技有限公司 |
主分类号: | H04L1/00 | 分类号: | H04L1/00;H04L1/1607;H04L67/06;H04L69/164 |
代理公司: | 南京源古知识产权代理事务所(普通合伙) 32300 | 代理人: | 郑宜梅 |
地址: | 210000 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 udp 可靠 一对 多数 据传 方法 | ||
1.一种基于UDP的可靠一对多数据传输方法,包括以下步骤:
步骤一:发送端将待发送数据按照预设单位数据块大小b分成M块;每一个数据块按照预设单位数据包大小s分成N个数据包,其中s小于等于网络最大传输单元MTU;根据数据包的个数N创建对应数目位的状态位图sbmp;其中M、N均为大于等于1的整数;
步骤二:发送端将待发送数据HEAD信息,通过UDP广播或组播的形式发送给所有接收端;所述待发送数据HEAD信息包括待发送数据大小、数据块大小b、数据块数目M、每个数据包大小s、每个数据块中包含数据包的数目N;接收端接收到待发送数据HEAD信息后根据数据包数目N创建对应数目位状态位图rbmp,使状态位图rbmp的每一位对应一个数据包,然后回复发送端确认收到HEAD信息;发送端如果在预设的时间发现有的接收端没有回复,则重新发送HEAD信息至没有回复的接收端,直到所有接收端都回复收到为止;
步骤三:发送端依次发送所有数据块,每个数据块的数据传输具体包括以下步骤:
S31:发送端将状态位图sbmp中所有位清零;
S32:发送端采用UDP广播或组播的形式通知所有接收端准备传输当前块,接收端收到通知后,清零状态位图rbmp;
S33:发送端依次查看sbmp位是否为0,如果为0则发送当前位对应的数据包;
S34:接收端收到数据包后,将数据包存储到状态位图rbmp的对应位置,并将其在rbmp中对应位置标记为1;
S35:发送端发送完当前块的所有数据包后,采用UDP广播或组播的形式通知所有接收端结束传输当前块;接收端收到通知后,将标记后的状态位图rbmp发送给发送端,如果发送端收到标记后的状态位图rbmp则回复接收端,否则接收端重新发送标记后的状态位图rbmp,直到发送端接收到为止;
S36:发送端将状态位图sbmp所有位设置为1,每收到一个接收端的rbmp,则将sbmp与rbmp的对应位进行与运算,并将运算结果存入sbmp的对应位;
S37:发送端查看当前sbmp是否全部为1,如果全部为1则当前数据块发送完成,否则重复执行步骤S33-S36,直到sbmp的所有位都为1;
步骤四:当收到的数据块个数和步骤二发送的HEAD中M相等时,接收端则判断数据完成传输。
2.根据权利要求1所述的一种基于UDP的可靠一对多数据传输方法,其特征在于:所述发送端将待发送数据按照预设单位数据块大小b分成M块为除去最后一个数据块大小小于b,其余数据块大小均等于b。
3.根据权利要求1所述的一种基于UDP的可靠一对多数据传输方法,其特征在于:所述每一个数据块按照预设单位数据包大小s分成N个数据包为除了最后一个数据包大小小于s,其余的数据包大小均等于s。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京鼎岩信创科技有限公司,未经南京鼎岩信创科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310237665.3/1.html,转载请声明来源钻瓜专利网。