【技术实现步骤摘要】
一种基于DDS的跨网段通信方法
本专利技术涉及一种跨网段通信方法,尤其涉及一种基于DDS的跨网段通信方法。
技术介绍
随着信息化建设的快速发展,人们需要面对越来越多变的海量数据信息,实时、高效、可靠的数据交互就显得至关重要。因此,应当建立实时性强、可靠性高、安全性好的信息传输中间件,这不仅可以提高系统互联能力,满足系统内各种信息交换和共享需求,还能解决应用软件之间的数据共享和集成问题。数据分发服务(DataDistributionService,DDS)是对象管理组织(ObjectManagementGroup,OMG)继推出CORBA规范后颁布的实现发布/订阅通信模式、满足实时性要求的软件设计标准和规范,该规范对分布式实时系统中数据发布、传递和接收的接口和行为进行了标准化。DDS纯粹以数据为中心来进行数据分发,并将资源状况、对资源的期待程度、网络状况等都用服务质量(QualityofService,QoS)这一参数来描述,大大增强了通信的实时性和灵活性,简化了分布式系统中数据的有效发布,为实时环境下以数据为中心的分布式应用提供了高效、有用的通信服务。DDS定义了以数据为中心的发布/订阅通信机制,以数据为中心的发布/订阅模型基于全局数据空间(GlobalDataSpace)的概念,如图1所示。DDS规范包括域参与者、发布者、订阅者、数据类型、数据写入者、数据读取者、主题、内置主题和QoS等。在具体的产品实现中,DDS处于操作系统之上、用户应用程序之下,可以很好地屏蔽底层系统、总线的异构等细节,向应用数据提供统一的API接口,具体如图2所示。DDS使用域来划 ...
【技术保护点】
1.一种基于DDS的跨网段通信方法,其特征在于,包括步骤:(1)定义主机A与主机B之间通信的数据类型,并使用DDS编译器将定义的数据类型生成中间件中C文件和H头文件,供应用程序使用;(2)在主机A上使用DDS中间件,创建ID为a的域domain a,a∈[0,230],a∈Z;创建发布者pub,注册数据类型;创建主题Topic;创建数据写入者DataWriter,写入数据;以组播的形式发布数据;其中,注册的数据类型为步骤(1)中定义的数据类型;(3)在与主机A处于不同网段的主机B上使用DDS中间件,创建ID为b的域domain b,b≠a,b∈[0,230],b∈Z;创建订阅者sub,注册数据类型;创建主题Topic;创建数据读取者DataReader,读取发布者pub发布的数据,实现数据的订阅;其中,注册的数据类型为步骤(1)中定义的数据类型,且与主机A上注册的数据类型相同;创建的主题与主机A上创建的主题相同;(4)在双网卡电脑C上设置用于运行domain a的sub和domain b的pub的xml配置文件;所述电脑C的双网卡的IP地址分别与主机A的IP地址和主机B的IP地址在相同 ...
【技术特征摘要】
1.一种基于DDS的跨网段通信方法,其特征在于,包括步骤:(1)定义主机A与主机B之间通信的数据类型,并使用DDS编译器将定义的数据类型生成中间件中C文件和H头文件,供应用程序使用;(2)在主机A上使用DDS中间件,创建ID为a的域domaina,a∈[0,230],a∈Z;创建发布者pub,注册数据类型;创建主题Topic;创建数据写入者DataWriter,写入数据;以组播的形式发布数据;其中,注册的数据类型为步骤(1)中定义的数据类型;(3)在与主机A处于不同网段的主机B上使用DDS中间件,创建ID为b的域domainb,b≠a,b∈[0,230],b∈Z;创建订阅者sub,注册数据类型;创建主题Topic;创建数据读取者DataReader,读取发布者pub发布的数据,实现数据的订阅;其中,注册的数据类型为步骤(1)中定义的数据类型,且与主机A上注册的数据类型相同;创建的主题与主机A上创建的主题相同;(4)在双网卡电脑C上设置用于运行domaina的sub和domainb的pub的xml配置文件;所述电脑C的双网卡的IP地址分别与主机A的IP地址和主机B的IP地址在相同网段;(5)读取xml配置文件,根据配置文件中的信息分别创建域input_dp和output_dp,创建发布者output_publisher、订阅者input_subscriber,并将xml配置文件中的绑定信息保存至QMap<QString,QVector<ROUTE_BIND_INFO>>类的map映射中;其中,input_dp是与主机A创建的pub对应的sub的域,output_dp是与主机B创建的sub对应的pub的域;(6)根据创建的域input_dp获取其内置主题为DCPSPublication的datareader,并设置回调函数;(7)在步骤(6)中的回调函数内,根据步骤(5)保存的配置文件的绑定信息创建代理datareader和datawriter;(8)在代理datareader回调函数中,首先获取主机A以步骤(1)中定义的数据类型发布的数据,然后获取user_data策略中代理datawriter指针,再通过代理datawriter把获取到的主机A发布的数据发送至主机B。2.根据权利要求1所述的一种基于DDS的跨网段通信方法,其特征在于:步骤(1)中,所述数据类型为使主机A发布的与主机B订阅的相同的数据类型,用于实现主机A、B的相互通信。3.根据权利要求1所述的一种基于DDS的跨网段通信方法,其特征在于:步骤(1)中,所述定义主机A与主机B之间通信的数据类型为:定义一个结构体,所述结构体中可以根据实际通信需求定义不同数据类型成员变量。4.根据权利要求1所述的一种基于DDS的跨网段通信方法,其特征在于:步骤(5)中,所述xml配置文件包括绑定信息,所述绑定信息为主机A、B的域ID信息、主题信息以及QoS配置信息。5.根据权利要求1所述的一种基于DDS的跨网段通信方法,其特征在于:所述步骤(5)包括:(5.1)读取xml配置文件,将xml配置文件中的绑定信息保存至QMap<QString,QVector<ROUTE_BIND_INFO>...
【专利技术属性】
技术研发人员:浦勇,吴俊,李敏敏,李俊,王啸,
申请(专利权)人:南京华讯方舟通信设备有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。