[发明专利]一种不稳定网络环境下的DDS数据交互方法有效
申请号: | 201510968696.1 | 申请日: | 2015-12-21 |
公开(公告)号: | CN106899645B | 公开(公告)日: | 2019-10-18 |
发明(设计)人: | 王殷辉;岳东峰;许畅;张玲;王锦晨;靳凯文;康静;刘严岩;江永健;高甜容;李琳超;王砾;施金金 | 申请(专利权)人: | 北方信息控制集团有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 南京理工大学专利中心 32203 | 代理人: | 王培松 |
地址: | 210000 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 不稳定 网络 环境 dds 数据 交互 方法 | ||
1.一种不稳定网络环境下数据分发服务DDS数据交互方法,其特征在于,包括以下步骤:
第一步:调用DDS的注册函数接口进行DDS实体对象的创建;
第二步:调用LINUX底层的管理设备驱动程序中设备I/O通道的ioctl函数获得当前系统的所有网络接口信息,将得到的所有网络接口信息保存到ifconf结构中,遍历ifconf结构,将每个接口信息保存到ifreq结构体中,剔除本地回环的网络接口,再次调用ioctl接口得到每个ifreq结构体中网络接口的状态,由此判断当前网络连接是否正常;
第三步:根据当前网络情况创建DDS中间件的实体对象,若是网络运行正常,则创建基于网络接口与共享内存的DDS中间件的实体对象,这种DDS实体对象具有这样的属性:既可与本终端主题与QOS均相匹配的DDS实体对象通信,也可与其他终端相匹配的DDS实体对象通信;若是没有网络连接,则创建基于本终端回环地址的DDS实体,这种DDS实体对象具有这样的属性:只可与本终端相匹配的DDS实体对象通信,不可以与其他终端上的任何DDS实体对象通信;
第四步:开启实时监控网络状态的线程,线程中调用第二步中的方法获得实时网络状态;
第五步:设置当前记录DDS实体对象订阅状态的初始值;
第六步:若是订阅端,记录DDS中间件的实体对象当前的订阅状态,若实体对象放弃了对某种策略数据的订阅,记录数据实时更新,当前的记录一直保持实体对象最新的订阅状态;
第七步:在监控网络状态的线程给出网络状态发生变化的信息时,注销当前正在运行的DDS中间件的实体对象,创建基于当前网络状态的新的DDS中间件的实体对象,创建方法与第三步相同;
第八步:根据在网络状态发生变化之前记录的DDS实体对象的订阅信息,重新订阅,保证上层应用需要的数据不会因为网络状态发生变化而不再订阅:重置当前记录DDS实体对象订阅状态为第五步中的初始值;
第九步:转到第四步,监控当前网络状态。
2.根据权利要求1所述的不稳定网络环境下数据分发服务DDS数据交互方法,其特征在于,在前述监控网络状态的线程实时运行过程中,及时反馈网络状态,根据反馈的网络状态调整DDS实体的状态,最终保证DDS的稳定运行,同时维持DDS实体对象在网络状态发生变化时的订阅状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北方信息控制集团有限公司,未经北方信息控制集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510968696.1/1.html,转载请声明来源钻瓜专利网。