System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及到数据传输领域,特别涉及到一种用户数据报协议的数据传输方法、设备和存储介质。
技术介绍
1、udp(user datagram protocol,用户数据报协议)在传输数据时,没有像 tcp(transmission control protocol,传输控制协议)那样的重传机制。当网络状况不佳,如网络拥塞、链路故障或者路由器缓冲区溢出时,udp 发送的数据包可能会在传输过程中被丢弃。而且,udp 本身没有机制来识别和处理重复的数据包。在复杂的网络环境中,由于网络设备(如路由器)的故障或者某些网络协议的异常行为,可能会导致数据包被重复发送;另外,udp 不保证数据包按照发送顺序到达接收端。在网络传输过程中,数据包可能会通过不同的路径到达接收端,这些路径的延迟和带宽等特性各不相同。
2、所以,udp在传输数据时可靠性无法保证,可能导致数据完整性受损。
技术实现思路
1、本专利技术提供一种用户数据报协议的数据传输方法、设备和存储介质,旨在解决udp在传输数据时可靠性无法保证,可能导致数据完整性受损的技术问题。
2、为了实现上述专利技术目的,本专利技术第一方面提出一种用户数据报协议的数据传输方法,包括步骤:
3、接收端生成一个目标序列号;
4、到预设的接收缓存队列中搜索与所述目标序列号对应的目标数据包,其中,所述接收缓存队列中暂存有由发送端发送的带有唯一序列号的数据包,所述接收端生成的目标序列号,与所述发送端给数据包分配的唯一
5、若搜索到所述目标数据包,则处理所述目标数据包,并将所述目标数据包在所述接收缓存队列中移除;
6、若未搜索到所述目标数据包,则向所述发送端发送重传请求。
7、进一步地,所述向所述发送端发送重传请求的步骤之后,包括:
8、判断是否接收到发送端发送的继续处理下一个数据包的命令;
9、若是,则生成下一个目标序列号;
10、若否,则等待接收所述发送端发送的目标数据包。
11、进一步地,所述到预设的接收缓存队列中搜索与所述目标序列号对应的目标数据包的步骤之前,包括:
12、当接收到带有序列号的当前数据包时,获取所述当前数据包的当前序列号;
13、到预设的已处理缓存队列中搜索与所述当前序列号匹配的已处理序列号;其中,所述已处理序列号为暂存的已经被处理的数据包对应的序列号;
14、若搜索到与所述当前序列号匹配的所述已处理序列号,则丢弃所述当前数据包。
15、进一步地,用户数据报协议的数据传输方法,还包括步骤:
16、所述接收端若接收到所述发送端发送的数据包,则向所述发送端反馈对应的确认接收信号。
17、本专利技术第二方面提出一种用户数据报协议的数据传输方法,包括步骤:
18、发送端给待发送的数据包分配一个唯一序列号;
19、将带有唯一序列号的数据包发送给接收端,以便于所述接收端根据其生成的目标序列号,搜索带有唯一序列号的数据包,其中,所述发送端给数据包分配的唯一序列号,与所述接收端生成的目标序列号相对应;
20、其中,所述接收端将所述数据包缓存到预设的接收缓存队列中,当需要处理数据包时,生成目标序列号,并到所述接收缓存队列中搜索与所述目标序列号对应的目标数据包。
21、进一步地,所述发送端给待发送的数据包分配一个唯一序列号的步骤之后,还包括:
22、将带有唯一序列号的数据包缓存到预设的发送缓存队列中。
23、进一步地,用户数据报协议的数据传输方法,还包括步骤:
24、当接收到所述接收端反馈的重传请求时,判断是否重传,其中,所述重传请求中携带有需要重传的数据包的重传序列号;
25、若需要重传,则到所述发送缓存队列中查找与所述重传序列号对应的重传数据包,并发送给所述接收端;
26、若不需要重传,则反馈继续处理下一个数据包的命令。
27、进一步地,所述将带有唯一序列号的数据包发送给接收端的步骤之后,还包括:
28、所述发送端判断在预设时间内是否接收到所述接收端反馈的确认接收信号;
29、若没有接收到所述确认接收信号,则重新向所述接收端发送所述带有唯一序列号的数据包;
30、若接收到所述确认接收信号,则向所述接收端继续发送下一个数据包。
31、本专利技术第三方面提出一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如上述任一项所述的用户数据报协议的数据传输方法的步骤。
32、本专利技术第四方面提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的用户数据报协议的数据传输方法的步骤。
33、有益效果:
34、本专利技术提供一种用户数据报协议的数据传输方法、设备和存储介质,其中,方法首先通过接收端生成目标序列号并在接收缓存队列中搜索对应的目标数据包,能够确保数据包按照正确的顺序被处理。在复杂的网络环境中,数据包可能会因为各种原因乱序到达接收端,而这种方式可以有效地解决这个问题,保证数据处理的顺序性,从而提高数据的准确性和完整性。此外,接收端只需要关注当前需要处理的目标数据包,而不需要对整个接收缓存队列中的数据包进行无差别处理,减少了不必要的处理时间和资源消耗。同时,通过准确地找到目标数据包并进行处理,避免了对重复数据包或不需要处理的数据包的误处理,进一步提高了数据处理的效率和准确性。在大规模数据传输场景中,这种效率的提升尤为明显,可以大大减少数据处理的时间成本,提高整个系统的性能。
本文档来自技高网...【技术保护点】
1.一种用户数据报协议的数据传输方法,其特征在于,包括步骤:
2.根据权利要求1所述的用户数据报协议的数据传输方法,其特征在于,所述向所述发送端发送重传请求的步骤之后,包括:
3.根据权利要求1所述的用户数据报协议的数据传输方法,其特征在于,所述到预设的接收缓存队列中搜索与所述目标序列号对应的目标数据包的步骤之前,包括:
4.根据权利要求1-3中任一项所述的用户数据报协议的数据传输方法,其特征在于,还包括步骤:
5.一种用户数据报协议的数据传输方法,其特征在于,包括步骤:
6.根据权利要求5所述的用户数据报协议的数据传输方法,其特征在于,所述发送端给待发送的数据包分配一个唯一序列号的步骤之后,还包括:
7.根据权利要求6所述的用户数据报协议的数据传输方法,其特征在于,还包括步骤:
8.根据权利要求5-7中任一项所述的用户数据报协议的数据传输方法,其特征在于,所述将带有唯一序列号的数据包发送给接收端的步骤之后,还包括:
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的用户数据报协议的数据传输方法的步骤。
...【技术特征摘要】
1.一种用户数据报协议的数据传输方法,其特征在于,包括步骤:
2.根据权利要求1所述的用户数据报协议的数据传输方法,其特征在于,所述向所述发送端发送重传请求的步骤之后,包括:
3.根据权利要求1所述的用户数据报协议的数据传输方法,其特征在于,所述到预设的接收缓存队列中搜索与所述目标序列号对应的目标数据包的步骤之前,包括:
4.根据权利要求1-3中任一项所述的用户数据报协议的数据传输方法,其特征在于,还包括步骤:
5.一种用户数据报协议的数据传输方法,其特征在于,包括步骤:
6.根据权利要求5所述的用户数据报协议的数据传输方法,其特征在于,所述发送端给待发送的数据包分配一个唯一...
【专利技术属性】
技术研发人员:梁兴维,邓家宝,
申请(专利权)人:深圳爱博合创医疗机器人有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。