DDS数据分发与服务

今天进一步了解了DDS,并且目前在多种vs版本中均已安装编译了OpenDDS,准备着手研究OpenDDS的能力,下面把今天的成果简单地描述出来。

为什么选择DDS?

1. DDS是什么?

简单地说,DDS就是数据分发服务,是一个中间件。那么中间件又是什么?在分布式系统中,中间件就是存在于系统和应用程序之间的软件层,它使得系统的各个组件更容易进行通讯和共享数据,说白了,就是DDS合理地调用了系统层的组件,很好地调用了资源,让处在非常高的速度以及非常动态,苛刻和不可预测的环境同时指定所有这些事情的情况下,应用程序依旧可以很高效的运行。
)

2. DDS做了什么?

使得系统层和应用程序层分开,使得数据的分发和管理,既不用动系统底层,也不用开发人员去为了提高性能在应用程序层绞尽脑汁,提供了java的原生接口,其他语言可以使用代码托管,跨语言调用DDS的接口

3. DDS的应用

医疗,航空(美国空军指定的分布式系统,美军战斗机处理大量设备信息的分布式用的就是DDS系统),物联网

这里写图片描述

DDS的数据结构:

module Messenger {
#pragma DCPS_DATA_TYPE "Messenger::Message"
#pragma DCPS_DATA_KEY "Messenger::Message subject_id"
 struct Message {
 string from;
 string subject;
 long subject_id;
 string text;
 long count;
 };
};

DCPS_DATA_TYPE 和DCPS_DATA_KEY分别表示了subject_id的类型和值,用于区分同一个topic不同的实例,如何使用ACE+TAO环境生成我们所需要的DDS接口,后续我会写教程发表到博客。

DDS开发流程

DDS特殊的数据类型以及结构,使得我们使用C++编写OpenDDS接口和数据以及我们所需要的通讯类型结构体,然后使用MPC工具使其变成DLL文件,最后通过c#调用c++生成的DLL,为我们所用。

  • 3
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值