在学习OpenDDS过程中,发现网上的资料教程不全,同时很多大佬把一些步骤省略(虽然他们认为很简单,但是对于小白来说太南了),所以为了给广大小白提供便利,同时也给自己(小白)做个笔记,就把步骤记录下来,希望能与诸君共勉!
DDS(Data Distribution Service)是数据分发服务
的首字母缩略词。
DDS采用发布/订阅体系架构,强调以数据为中心,提供丰富的QoS服务质量策略,能保障数据进行实时、高效、灵活地分发,可满足各种分布式实时通信应用需求。
根据OMG(对象管理组织,Object Management Group)定义的标准,它本质上是一个通过网络交换数据的协议。广泛应用于分布式应用,模拟器等。它基于 DCPS(Data-Centric Publish-Subscribe, 以数据为中心的发布订阅)模型。
DDS中以数据为中心的发布/订阅(DCPS)模型构建了一个共享的”全局数据空间
“的概念,所有的数据对象都存在于此空间中,分布式节点通过简单的读、写操作便可以访问这些数据对象。实际上,数据并非存在于所有计算机的地址空间中,它仅存在于那些对它感兴趣的应用程序的本地缓存中
,而这一点正是发布/订阅模型的关键所在。
DDS规范使用UML语言描述服务,提供了一个与平台无关
的数据模型(这个模型能够映射到各种具体的平台和编程语言),使得实时分布式系统中数据能够高效、可靠地发布,它主要应用在要求高性能
、可预见性
和对资源有效使用
的关键任务领域
。
DDS规范列举并正式定义了一整套全面的QoS(Quality of Service,服务质量)策略,能利用QoS进行系统控制。每一个DCPS实体都有自身的QoS策略,而且在每一对发布者和订阅者之间又都可以建立独立的QoS协定。这使得DDS可以很好地配置和利用系统资源,协调可预言性与执行效率间的平衡,并能支持复杂多变的数据流需求。
DDS经常被用于三种设计和应用环境,包括:
- 数据苛刻性场合的应用
- 多个数据源需要连接到多个数据接收点的应用程序
- 系统结构动态需要发生变化的应用程序
配置过程如下:
目录
环境
Linux:Centos 8.1.1911
Perl: 5.32
Make: GNU Make 4.2.1
gcc: 8.3.1
perl下载编译
Perl下载地址:http://www.perl.org/get.html#unix_like
Perl安装包名为:perl-5.32.0.tar.gz
下载解压
http://www.perl.org/get.html#unix_like
$ tar -xvzf perl-5.32.0.tar.gz
编译
$ cd perl-5.32.0
$ ./Configure
$ make
$ sudo make install
$ make clean
ACE+TAO与OpenDDS下载编译
ACE+TAO下载地址
http://download.dre.vanderbilt.edu/
OpenDDS下载地址
http://download.ociweb.com/OpenDDS/
下载解压
将ACE+TAO与OpenDDS解压至/opt目录下
sudo tar -zxvf ACE+TAO-6.5.10.tar.gz -C /opt
sudo tar -zxvf OpenDDS-3.14.tar.gz -C /opt
解压完毕后,在/opt
目录下已存在ACE_wrappers
和OpenDDS-3.14
两个文件夹,修改其权限
(不修改权限会在编译时出现Permission denied的情况)
cd /opt
sudo chmod 777 -R ACE_wrappers/
sudo chmod 777 -R OpenDDS-3.14/
PS:
ACE+TAO 下载选择 FULL 版本,因为 FULL 版本包含所有 GNU make 预生成 makefile
的源代码,而Sources Only版本则仅包含源代码,您还必须使用MPC生成自己的 makefile。
设置相关环境变量
$ cd ~
$ ls -al #会看到有.bashrc文件
$ gedit .bashrc
在.bashrc
末尾添加如下的环境变量:
# A