说明:收录全网最新的团体标准 提供单次或批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211173785.3 (22)申请日 2022.09.26 (71)申请人 广州文远知行 科技有限公司 地址 510000 广东省广州市黄埔区广州国 际生物岛螺旋大道68号合景科盛广场 A栋地上第16层01、 02、 0 3、 04单元 (72)发明人 何华海  (74)专利代理 机构 深圳市深佳知识产权代理事 务所(普通 合伙) 44285 专利代理师 石翰林 (51)Int.Cl. G06F 9/54(2006.01) G06F 9/50(2006.01) (54)发明名称 一种数据传输方法和系统 (57)摘要 本申请公开了一种数据传输方法和系统, 方 法包括: 发布 者通过创建共享内存并初始化元数 据, 以注册topic; 发布者将待传输 数据存入所述 共享内存和所述元数据; 订阅者订阅所述topic, 并映射所述topic 下的元数据到 所述订阅者的内 存空间; 所述订阅者根据所述元数据, 在所述内 存空间中通过反序列化取出所述待传输数据。 本 申请基于共享内存、 无锁数据结构、 零拷贝等技 术, 实现同一个计算单元内各模块之间的高性能 数据传输, 本申请具有高吞吐率、 低延迟、 无阻 塞、 零拷贝、 无 单点故障等优点。 权利要求书2页 说明书9页 附图3页 CN 115454677 A 2022.12.09 CN 115454677 A 1.一种数据传输方法, 其特 征在于, 包括: 发布者通过创建共享内存并初始化元 数据, 以注 册topic; 发布者将待传输数据存 入所述共享内存和所述元 数据; 订阅者订阅所述topic, 并映射所述topic下的元 数据到所述 订阅者的内存空间; 所述订阅者根据所述元 数据, 在所述内存空间中通过反序列化取 出所述待传输数据。 2.根据权利要求1所述的方法, 其特征在于, 所述发布者通过创建共享内存 并初始化元 数据, 以注 册topic的过程, 包括: 所述发布者创建共享内存, 并将所述共享 内存作为topic下的共享 内存环形缓冲区, 所 述共享内存环形缓冲区带有头尾指针; 所述发布者初始化元数据, 所述元数据包括带有头尾指针的消息元数据数组、 预存信 息区、 标记文件。 3.根据权利要求2所述的方法, 其特征在于, 所述发布者将待传输数据存入所述共享内 存和所述元 数据的过程, 包括: 所述发布者将所述待传输数据的业务数据存入所述预存信 息区, 并在所述预存信 息区 中对所述待传输数据进行 数据分解; 所述发布者将所述待传输数据的业 务数据存 入所述共享内存环形缓冲区; 所述发布者将所述待传输数据的基础信 息和数据地址存入所述消息元数据数组, 所述 数据地址为所述 业务数据在所述共享内存环形缓冲区中的存 储地址; 所述发布者将所述待传输数据对应的topic名称和数据类型存 入所述标记文件。 4.根据权利要求3所述的方法, 其特 征在于, 还 包括: 所述发布者在所述待传输数据存入所述共享内存和所述元数据之后, 清 空并释放所述 预存信息区。 5.根据权利要求1所述的方法, 其特 征在于, 所述发布者注 册topic的过程, 还 包括: 所述发布者创建本地进程间通信, 以监听连接请求; 所述订阅者订阅所述topic, 包括: 所述订阅者利用i notify监控框架监听所述topic的所述标记文件; 当所述订阅者监听到所述标记文件中出现所述发布者时, 向所述发布者发送连接请 求, 并将所述发布者 提供的回调函数加入轮询数组。 6.根据权利要求5所述的方法, 其特征在于, 所述订阅者根据所述元数据, 在所述内存 空间中通过反序列化取 出所述待传输数据的过程, 包括: 所述订阅者在所述元数据的消息元数据数组里查找并确定与所述待传输数据的业务 数据的数据地址; 所述订阅者基于所述待传输数据的数据地址, 从所述共享内存环形缓冲区中提取, 并 通过反序列化还原所述待传输数据的业 务数据; 所述订阅者通过调用对应的所述回调函数, 生成所述待传输数据。 7.根据权利要求3所述的方法, 其特征在于, 所述订阅者根据所述元数据, 在所述内存 空间中通过反序列化取 出所述待传输数据的过程, 还 包括: 所述订阅者通过所述共享内存环形缓冲区的头尾指针位置和/或所述消息元数据 数组 的头尾指针位置, 确认所述待传输数据的有效性。权 利 要 求 书 1/2 页 2 CN 115454677 A 28.根据权利要求7所述的方法, 其特征在于, 所述订 阅者通过所述共享内存环形缓冲区 的头尾指针位置确认所述待传输数据的有效性的过程, 包括: 所述订阅者通过所述共享内存环形缓冲区的头尾指针位置, 判断所述待传输数据的内 存数据在所述共享内存环形缓冲区中是否发生覆盖; 若所述内存数据在所述共享内存环形缓冲区中被覆盖, 则所述订 阅者确认所述待传输 数据无效; 若所述内存数据在所述共享内存环形缓冲区中未被覆盖, 则所述订阅者确 认所述待传 输数据有效。 9.根据权利要求7所述的方法, 其特征在于, 所述订 阅者通过所述消息元数据 数组的头 尾指针位置确认所述待传输数据的有效性的过程, 包括: 所述订阅者通过所述消息元数据数组 的头尾指针位置, 判断所述待传输数据的数据地 址在所述消息元 数据数组中是否发生覆盖; 若所述数据地址在所述消息元数据 数组中被覆盖, 则所述订阅者确 认所述待传输数据 无效; 若所述数据地址在所述消息元数据 数组中未被覆盖, 则所述订 阅者确认所述待传输数 据有效。 10.一种数据传输系统, 其特 征在于, 包括发布者和订阅者; 所述发布者通过创建共享内存并初始化元数据, 以注册topic, 并将待传输数据存入所 述共享内存和所述元 数据; 所述订阅者订阅所述topic, 映射所述topic下的元数据到所述订阅者的内存空间, 并 根据所述元 数据, 在所述内存空间中通过反序列化取 出所述待传输数据。权 利 要 求 书 2/2 页 3 CN 115454677 A 3

.PDF文档 专利 一种数据传输方法和系统

文档预览
中文文档 15 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共15页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种数据传输方法和系统 第 1 页 专利 一种数据传输方法和系统 第 2 页 专利 一种数据传输方法和系统 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:09:49上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。