OpenDDS开发手册---前言

来源:互联网 发布:幼儿园软件 编辑:程序博客网 时间:2024/04/26 19:30

前言

什么是openDDS?
OpenDDS 是两篇Object Management Group (OMG)规范的一个开源实现。
1) Data Distribution Service (DDS) for Real-Time Systems v1.4(OMG Document
formal/2015-04-10). 实时数据分发服务。This specification details the core functionality implemented by
OpenDDS for real-time publish and subscribe applications and is described throughout
this document.
2) The Real-time Publish-Subscribe Wire Protocol DDS Interoperability Wire
Protocol Specification (DDSI-RTPS) v2.2
(OMG Document formal/2014-09-01). This
specification describes the primary requirements for interoperability between industry
DDS implementations. This is not the only protocol for which a specifications exists,
however, it is the protocol used for interoperability testing among DDS
implementations.
OpenDDS 由 Object Computing, Inc. (OCI)发起 ,可从其官网上下载。



支持的平台
Linux family:
** Red Hat EL 5 and 5.3, x86_64
** Red Hat EL and CentOS 6.6 and 6.8, x86_64
** Red Hat EL 7, x86_64
** Fedora Core 6, x86
** Fedora 24 x86_64
** Ubuntu 16.04 LTS, x86_64
** openSUSE 42.1, x86_64

Windows family:
** Windows 7 (32-bit, 64-bit)
** Windows Server 2012 R2 (64-bit)

Others:
** SunOS 5.10 (Solaris 10) (SPARC)
** Mac OSX 10.11 (El Capitan)

Embedded/Mobile/IoT:
** LynxOS-178 (OpenDDS Safety Profile)
** VxWorks 6.9 and 7 (see below)
** Linux on Raspberry Pi and Intel Edison
** Android NDK r12b (ARM)

编译器支持
** Microsoft Visual C++ 9 with SP1 (Visual Studio 2008)
** Microsoft Visual C++ 10 with SP1 (Visual Studio 2010)
** Microsoft Visual C++ 11 (Visual Studio 2012) - Update 4
** Microsoft Visual C++ 12 (Visual Studio 2013) - Update 5
** Microsoft Visual C++ 14 (Visual Studio 2015) - Update 3
** gcc 4.1.x
** gcc 4.4.x
** gcc 4.8.x
** gcc 4.9.x
** gcc 5.4
** gcc 6.2
** Clang 3.8 (llvm.org) and 7.3 (Apple)
** Sun C++ 5.9 SunOS_sparc Patch 124863-01 2007/07/25

* Building and Installing

最近偶然接触了一本关于OpenDDS的开发书籍,名字叫《分布式系统实时发布/订阅数据分布技术》(Real-Time Publish/Subscribe Data Distribution for Distributed Systems),对于DDS的入门挺有帮助的,觉得更像是入门手册的翻译与工程经验的入门总结与使用。

实时信息分发技术取决于网络本身的物理特性、信息分发的模型、信息分发的策略。
常见的四种通信模型:点对点模型、客户/服务器(Client/Server,C/S)模型、分布式对象模型、发布/订阅(Publish/Subscribe,P/S)模型。

点对点模型:
优点:一种简单的一对一通信模型,能够支持高宽带信息传输
缺点:一对多需求较多,应用范围有局限

C/S模型,客户端和服务器粉笔运行与不同的机器或者进程中,服务器为客户提供系统定义的各种服务,如文件系统、数据库、事务处理等,为用户提供了一种有效的资源共享手段。
优点:优化网络利用率,减少网络流量;缩短响应时间;把应用程序与数据隔离,保护数据。
缺点:可扩展性差,维护困难。

分布式对象模型:采用面向对象的多层C/S计算模型,将分布在网络上的资源按照对象的概念组织起来,为每个对象定义清晰的接口访问。这里面的客户端与服务器的角色都是相对的和多层次的。主要的三种实现有:CORBA、DCOM、EJB。本质上还是C/S模型。
优点:将复杂的网络通信功能抽象出来,提高了对象的课重用性,减少了开发者工作量。
缺点:请求应答的模式不能满足实时性要求,不能根据不同的数据流类型来进行实时性和可靠性的选择。

P/S模型:专门为一对多的数据传输要求而设计的。在这种模式里,应用程序只是简单的发布或者订阅数据。
优点:1.以数据为中心,降低网络延迟.2.发布订阅应用是模块化的,内容可伸缩,提高数据传输能力。3.支持多种数据流类型,数据流的控制管理较为容易。4.应用程序通过名称来订阅数据而不是特定的地址,配置改变不会导致数据流的终端。5.支持多方发布订阅,允许应用程序动态的加入或者离开系统而不影响系统工作,满足在线扩展和维护,容错性好。6.通过参数由应用程序自己来控制数据流的传输特性。在定时传输和可靠性之间做出这种选择,传输方式灵活多样。7.与C/S模型相比更为高效,对宽带利用率更高。
1 0
原创粉丝点击