OpenSplice DDS 分布式DDS网络架构(DDS 6.9.0+VS 2013+Qt 5.8.0 )

最近在忙项目,几天没更博,心里还是痒痒的。。。

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

分布式DDS网络架构

前言

数据分发服务DDS(DataDistributionService)是对象管理组织(OMG)在HLA及CORBA等标准的基础上制定的新一代分布式实时通信中间件技术规范,DDS采用发布/订阅体系架构,强调以数据为中心,提供丰富的QoS服务质量策略,能保障数据进行实时、高效、灵活地分发,可满足各种分布式实时通信应用需求。DDS信息分发中间件是一种轻便的、能够提供实时信息传送的中间件技术。

DDS(DataDistributionService)数据分发服务技术最早应用于美国海军,用于解决舰船复杂网络环境中大量软件升级的兼容性问题,目前已经成为美国国防部的强制标准。2003年,DDS被OMG组织接受,并发布了专门为实时系统设计的数据分发/订阅标准。DDS目前已经广泛应用于国防、民航、工业控制等领域,成为分布式实时系统中数据发布/订阅的标准解决方案。DDS技术是基于以数据为核心的设计思想提出的,定义了描述网络环境下数据内容、交互行为和服务质量要求的标准。DDS以数据为核心的设计思想非常贴合如传感器网络、指挥信息网等应用场景,其提供的数据传输模型能够很好地适应应用系统的开发需要。

关于DDS

官网&下载

Dital Distribute Server数据分发服务

 

数据分发模型

 

获取实例

ddslib* mydds =(ddslib*)ddslib::GetInstancePtr();//dds单例模式获取实例

订阅/发布

Real-Time Networking

 

 

以上只是实现DDS基本的分布式网络节点结构,基于DDS中间件,我们封装了一套接口,便于项目实施&开发

同时欢迎广大做DDS分布式网络结构伙伴 留言 共享!

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

项目实施

设计思路

根据不同项目需求,使用合理的前端设计。设计中会用到C++开发环境VS,我这里用的是VS2013+Qt+Gis 做的前端规划,引擎用到vstasker。这里关于引擎这块用到了两种方法,一是采用引擎软件vstasker,另一种采用引用模型动态库的方式。

DDS中间件模块

基于DDS,便于项目开发实施,可以对DDS做了一层封装

1> DDS使用


 

publish(param* a,param* b);//发布

subscribe();               //订阅

sendData();                //发送数据

receiveData();             //接收数据
 
getLastError();            //获取错误信息
//<具体参数,这里不做过多添加和说明,感兴趣的同学欢迎留言 交流 学习!

2> DDS中间件的使用

在使用过程中,为了方便调用接口,我们基于DDS 封装了一层

Bai_Du_Init(param* a,param* b);    //初始化
Bai_Du_Read();                     //读
Bai_Du_Set_Read_Callback();        //读取 回调
Bai_Du_ReadLatest();               //读取最后一个
Bai_Du_Write();                    //写
Bai_Du_Close();                    //关闭DDS
Du_Trace_Enable();                 //跟踪
Du_Get_LastError();                //get error

//<具体参数,这里不做过多添加和说明,感兴趣的同学欢迎留言 交流 学习!

 

================================================================================================

对DDS感兴趣的同学欢迎留言 交流 学习!

祝编码愉快 >>+<<!

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
DDS(Data Distribution Service)是一种分布式通信架构设计。DDS采用发布-订阅模式,可以在分布式系统中进行高效且可靠地数据传输和通信。 首先,DDS采用数据中心的方式将数据和行为逻辑分离,实现了解耦合的分布式通信。数据中心负责数据的管理和分发,而行为逻辑由订阅者和发布者处理。发布者负责向数据中心发布数据,而订阅者负责从数据中心订阅数据,实现了数据的可靠分发和接收。 其次,DDS具有高度灵活性和可伸缩性。由于DDS支持动态发现和配置,可以根据系统需求动态添加或删除发布者和订阅者。这使得系统具有很高的扩展性,能够应对大规模分布式系统的需要。 此外,DDS还具有优异的实时性能。DDS采用了基于时间戳的数据传输机制,可以实时地传输和处理数据,保证了数据的准确性和实时性。同时,DDS还支持QoS(Quality of Service)策略的配置,可以根据系统要求设置消息的优先级、延迟和带宽等参数,从而更好地满足系统的实时通信需求。 最后,DDS还具备容错和可靠性的特点。DDS可以自动检测和处理网络故障,能够实现高可用性和容错性,保证数据的可靠性和稳定性。 综上所述,DDS作为一种分布式通信架构设计,具有数据中心分离、高灵活性、可伸缩性、实时性能和容错性等特点,适用于构建可靠、高效的分布式系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值