[发明专利]基于实时数据分发服务的大数据包传输方法及装置有效
申请号: | 201910793557.8 | 申请日: | 2019-08-27 |
公开(公告)号: | CN110719228B | 公开(公告)日: | 2022-08-16 |
发明(设计)人: | 徐中中;尹章文;李俊 | 申请(专利权)人: | 中国船舶重工集团公司第七0九研究所 |
主分类号: | H04L47/34 | 分类号: | H04L47/34;H04L47/10;H04L47/62;H04L1/16;H04L1/18;G06F9/50 |
代理公司: | 武汉河山金堂专利事务所(普通合伙) 42212 | 代理人: | 胡清堂;陈懿 |
地址: | 430205 湖北省*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 实时 数据 分发 服务 数据包 传输 方法 装置 | ||
本发明公开一种基于实时数据分发服务的大数据包传输方法及装置,所述方法包括:构建小数据包发布订阅库,初始化;发布方发布大数据包主题,订阅方订阅大数据包主题;发送数据时,将大数据包分成若干个小数据包并填入相关数据信息后存入发送队列,通过异步发送线程发送数据分包;订阅方接收到首个数据分包时创建对应大数据包大小的缓存区,将接收到的数据分包按编号拷贝至对应区域;订阅方接收到最后一个数据分包时校验数据的完整性并反馈给发布方;发布方若接收到丢包反馈信息则重发丢失数据分包直至所有订阅方接收到全部数据分包。本发明提供了具备收敛性的数据分包重传机制,占用系统内存小且传输实时性高,还导出了简单易用的接口。
技术领域
本发明涉及数据传输技术领域,具体涉及一种基于实时数据分发服务的大数据包传输方法及装置。
背景技术
实时数据分发服务(Data Distribution Service,DDS)中的发布/订阅模型具有异步、无中心节点、松耦合和多对多通信的特点,已经成为构建大型分布式系统的基础,在诸多领域得到了广泛应用。目前,各类商用DDS产品在高效分发事件或者通知消息等小数据包上已经非常成熟,但是对大数据包(超出传输协议的允许范围,如UDP协议为64K)的分发还存在不足之处,一方面是系统的内存资源消耗较大,一方面是传输大数据包的数据重传机制存在比较明显的缺陷。
商用DDS产品在传输大数据包时,发布方会将大数据包分成若干个小数据分包并连续发送,接收方接收到所有数据分包后将其重新组装成完整的大数据包。当数据包较大时,受限于网络状况,即使应用了流控制服务质量策略也很难成功接收到全部的数据分包,导致重组大数据包失败,进而被接收方自动丢弃。虽然DDS提供了可靠传输服务质量策略,但该策略对应的数据粒度为整个大数据包,因此当出现丢包情况时发布方会重发整个大数据包,而不是仅重发丢失的小数据分包,这种数据重传机制不具备收敛性,即使重发多次也可能无法传输成功,不能满足应用系统的可靠性和实时性要求。而如果由应用系统来自行完成分包组包以及重传分包的工作,不仅代码量较大,还会造成数据和业务的紧耦合,同时也不具备通用性。
发明内容
本发明提供一种基于实时数据分发服务的大数据包传输方法及装置,以解决现有技术中大数据包传输的不足。
本发明第一方面,提出一种基于实时数据分发服务的大数据包传输方法,所述方法包括:
S1、构建小数据包发布订阅库,初始化DDS域参与者;
S2、发布方发布大数据包主题时,基于所述小数据包发布订阅库发布实际数据主题并订阅反馈信息主题,同时创建FIFO(First In First Out,先入先出)发送队列以及启动异步发送线程;
S3、订阅方订阅大数据包主题时,基于所述小数据包发布订阅库订阅实际数据主题并发布反馈信息主题,同时启动数据处理线程;
S4、发布方发送数据时,将大数据包分成若干个小数据包并填入相关数据信息后存入发送队列,通过所述异步发送线程发送数据分包;
S5、订阅方接收到首个数据分包时创建对应大数据包大小的缓存区,将接收到的数据分包按编号拷贝至对应区域;
S6、订阅方接收到最后一个数据分包时校验数据的完整性,如果数据完整则将数据分包重新组装为完整大数据包并传递给应用层,同时将传输成功信息反馈给发布方,如果不完整则将丢失数据分包信息及发布方Guid(Globally Unique Identifier,全局唯一标识号)信息反馈给发布方;
S7、发布方若接收到所有订阅方的传输成功信息则继续发送下一个大数据包,若接收到丢包反馈信息则重发丢失数据分包直至所有订阅方接收到全部数据分包。
优选的,所述步骤S2中,发布方通过DDS发现机制获取所述实际数据主题所有订阅者的Guid并存入发布订阅关系表;所述异步发送线程周期性检测所述实际数据主题所有订阅者的Guid,并实时更新所述发布订阅关系表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国船舶重工集团公司第七0九研究所,未经中国船舶重工集团公司第七0九研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910793557.8/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置