一种IROS面向大数据包的可靠传输方法与流程
- 国知局
- 2024-08-02 12:43:54
本发明涉及数据传输,具体涉及一种iros面向大数据包的可靠传输方法。
背景技术:
1、在智能机器人技术迅猛发展的背景下,智能机器人操作系统iros(intelligentrobot operating system)以驱动智能机器人的核心平台为目标,实现了以话题为中心,遵循发布/订阅模式的数据高效传输。在此分布式传输架构下,任何发布者向话题中发布的数据都会即时同步至与该话题相关联的所有订阅者,促进了多个系统载体在数据沟通上的无缝对接。
2、为了保证多个系统载体之间的传输效率,iros默认采用udp(user datagramprotocol)协议作为多机之间的传输协议,实现了多机器人之间的高速数据交换,但也存在一些局限。udp协议虽能提供快速传输,但其最大载荷限制在65507字节,这对于日益增长的大数据包传输需求而言,无疑构成了瓶颈。此外,诸如udp的网络传输会受到网络波动或终端性能波动的影响,容易引发数据包丢失现象,在网络掉线这种极端情况下更会不可避免地导致数据丢失,这对于一些依赖数据完整性与连续性的iros应用场景来说,是一个不容忽视的挑战。
3、鉴于上述障碍,探索并实现一种既能维持iros标志性的高效传输速率,又能确保大数据包可靠交付的传输机制,显得尤为迫切。
技术实现思路
1、针对现有技术的不足,本发明提供一种iros面向大数据包的可靠传输方法,在确保高效传输的同时,实现了iros面向大数据包的可靠传输。
2、本发明是通过如下技术方案实现的:
3、提供一种iros面向大数据包的可靠传输方法,包括以下步骤:
4、s1、发送端在发送数据前,对大数据包分片处理,每个数据切片包含固定尺寸的头部和实际数据负载,头部携带有分片总数、最大分片尺寸及分片序列号,各数据切片通过udp依次发送;
5、s2、接收端接收数据后,先验证其头部信息,依据数据切片头部的分片序列号将数据负载对应存储到内存池中预先分配的缓存区域中;
6、s3、每个数据切片存储完成,接收端检查该大数据包的数据切片是否接收完整,
7、如果数据切片接收不完整,则接收端继续等待接收后面的数据切片,直至该大数据包接收完整或出现接收到的数据包序列号跳变的情况;
8、如果数据切片接收不完整,则接收端继续等待接收后面的数据切片,直至该大数据包接收完整或出现接收到的大数据包序列号跳变的情况;
9、如果数据切片接收完整,则对大数据包做标记;
10、如果出现接收到的大数据包序列号跳变的情况时,则接收端进一步核实期望大数据包的缓存区域接收的数据切片是否完整,若发现缺失,则判断为数据切片的丢失,接收端将这些缺失数据切片的序列号映射为位图形式,指示出该大数据包未接收到的数据切片,并将该位图反馈至发送端,发送端根据位图将缺失的数据切片向接收端重传直至该大数据包的数据切片接收完整;
11、s4、一个大数据包在接收端的缓存区域中重组完成后,接收端提取并处理该大数据包,同时递增预期的数据包序列号,准备接收下一个大数据包,重复步骤s1-s4。
12、进一步的,在步骤s2中,在数据处理完毕后,接收端将申请的缓存区域重新放回内存池。
13、进一步的,在步骤s3中,位图包含数据切片的起始序列号、终止序列号以及一个8字节的二进制字段,从起始序列号开始,二进制字段的每一位对应一个数据切片,1表示缺失,0表示已接收,到终止序列号结束,最多表示64个数据切片。
14、进一步的,在步骤s1中,每个数据切片的尺寸不超过65507字节。
15、本发明的有益效果:
16、本发明结合大数据包分片重组策略、内存池动态缓存技术和数据包的丢包检测与恢复机制,在保证高效传输的同时,突破了iros使用udp传输的最大容量限制,实现了iros在要求数据完整连续的传输场景中的可靠传输。
17、为应对udp传输中可能引发的乱序问题,接收端采用动态接收记录机制,依据切片头部的分片序列号将数据负载精确存储到预先分配的缓存区域中。该缓存区域源自内存池,其设计旨在通过预分配内存来避免频繁调用系统malloc带来的开销,从而提高数据处理速度。
技术特征:1.一种iros面向大数据包的可靠传输方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的iros面向大数据包的可靠传输方法,其特征在于:在步骤s2中,在数据处理完毕后,接收端将申请的缓存区域重新放回内存池。
3.根据权利要求1所述的iros面向大数据包的可靠传输方法,其特征在于:在步骤s3中,位图包含数据切片的起始序列号、终止序列号以及一个8字节的二进制字段,从起始序列号开始,二进制字段的每一位对应一个数据切片,1表示缺失,0表示已接收,到终止序列号结束,最多表示64个数据切片。
4.根据权利要求1所述的iros面向大数据包的可靠传输方法,其特征在于:在步骤s1中,每个数据切片的尺寸不超过65507字节。
技术总结本发明涉及数据传输技术领域,具体涉及一种IROS面向大数据包的可靠传输方法,包括以下步骤:S1、数据切片;S2、依据数据切片头部的分片序列号将数据负载对应存储到内存池中预先分配的缓存区域中;S3、每个数据切片存储完成,接收端检查该大数据包的数据切片是否完整,利用位图反馈,将缺失的数据切片向接收端重传直至数据切片接收完整;S4、一个大数据包在接收端的缓存区域中重组完成后,接收端提取并处理该大数据包,同时递增预期的数据包序列号,准备接收下一个大数据包,重复步骤S1‑S4。本发明既能维持IROS标志性的高效传输速率,又能确保大数据包可靠传输数据不丢失。技术研发人员:赵洪宇,李朝铭,刘鹏,谭雯,姬克勇,翟凯受保护的技术使用者:浪潮智能终端有限公司技术研发日:技术公布日:2024/8/1本文地址:https://www.jishuxx.com/zhuanli/20240802/237573.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表