# 介绍
# 概述
- uDDS(platforuDDS)是由南京磐优自主研发的面向未来计算机网络应用系统需求的新一代高性能数据交互解决方案。
- 该解决方案由一套逻辑相互关联、功能各有侧重的中间件及工具软件组成,构建在分布式系统网络化硬件平台上,面向分布式系统应用领域需求、系统集成特点,结合公司多年来在海军舰艇作战系统、电子信息系统、武器系统等领域系统集成的丰富经验,为用户提供了高效、可靠的开发/部署/集成大规模分布式实时系统的手段。
# 说明文档组成
# 版本
目标运行OS | 开发环境 | 开发方式 | 开发工具 |
---|---|---|---|
VxWorks5.5 | Windows XP/7/10 | dkm | Workbench3.2 |
VxWorks6.8 | Windows XP/7/10 | RTP/dkm | Workbench3.2 |
VxWorks6.9 | Windows XP/7/10 | RTP/dkm | Workbench3.2 |
Windows XP/7/10 | Windows XP/7/10 | Visual Studio 2008~2019 | |
Linux主要发行版 | Linux主要发行版 | GCC |
# 安装
# 什么是DDS和uDDS
# DDS
数据分发服务(Data Distribution Service)是OMG的有关分布式实时系统中数据分发的一个规范。该规范标准化了分布式实时系统中数据发布、传递和接受的接口和行为,定义了以数据为中心的发布/订阅(Data-Centric Publish-Subscribe)机制,提供了一个与平台无关的数据模型。
# uDDS
uDDS基于OMG组织 (opens new window)制订的DDS1.4规范 (opens new window),使用订阅/发布机制进行应用功能软件间的信息传输通道组织和信息分发,使应用无需关心信息的来源和去向等信息传输细节,以统一的信息交互接口实现按需信息分发、按需信息获取,根据不同的系统信息流设计模式和要求,提供质量保证策略接口,保证高质量的实时信息传输。
以实时数据分发服务为核心,uDDS还提供了系统状态监视、数据记录、辅助开发、组件检测等工具套件,为系统提供实时、高效、灵活的数据交互手段,并在应用系统设计、开发、调试、运行的各个环节提供完整的支撑服务。
# uDDS的特性
# 完善的开发环境
uDDS为分布式系统的开发者提供了完整的开发环境。用户在应用程序开发阶段可使用IDL语言编译器及辅助开发工具实现中间件相关代码的便捷嵌入;在系统集成阶段可使用应用程序检测工具对程序进行预检测,以降低集成测试的故障发生概率和定位成本;系统实际运行阶段可使用系统监控、数据记录工具来获取系统的运行状态,并能够对数据进行离线分析。使用uDDS提供的完整开发环境,可以极大程度地降低分布式应用系统设计、实现、测试和故障定位的复杂性。
# 高性能数据通信
uDDS通过高效运行的核心代码和灵活多样的QoS策略,保证应用系统在苛刻的应用场景下能够实现良好的数据交互。
# 应用数据过滤
uDDS提供多种应用数据过滤方式。在应用系统中进行一对多的数据传输时,不同的订阅者对同一主题的数据内容、数据频率需求不尽相同。针对这一应用需求,uDDS可根据用户配置,自动过滤掉订阅者不关心的数据,以减少应用程序的数据处理工作。
# 可靠性
uDDS为大规模应用系统中的应用程序提供P2P的信息交互服务,在系统中不存在集中式的代理或服务器进程,从而保证整个系统服务不存在单点故障的风险。
# 独立升级和可移植
uDDS提供多个操作系统的版本,均采用动态库的形式提供应用程序使用,并为不同操作系统下的应用程序提供统一的服务调用接口。应用系统和uDDS可分别进行独立升级,且应用系统在不同操作系统上移植时几乎无需针对uDDS相关的代码进行改动。
# 扩展性
uDDS使用“订阅/发布”机制进行数据交互,建立全局的虚拟数据空间,在通信层面将应用逻辑与节点的物理信息解耦合。应用程序可根据需要在系统中的任意节点上部署或迁移,uDDS均能够自动完成发现过程,保证应用程序实现原有的通信功能。当系统由于链路故障或人为需要而物理上被划分成多个子系统时,各子系统内仍能够按照原有的交互关系进行通信;当多个子系统存在物理连接时,也同样能够完成自动化集成。
# QoS策略丰富
uDDS提供丰富的QoS策略。QoS策略能够独立或组合使用,以满足用户不同的应用场景下对通信质量灵活而复杂的需求。
# IDL至C++的映射
uDDS符合OMG IDL/C++语言映射规范。有关通过idlc编译程序实现的当前uDDS IDL至C++语言的映射的汇总,请参阅IDL-C++映射。对于每个IDL构造,都存在描述相应的C++构造以及代码示例的小节。 有关映射规范的详情,请参阅OMG IDL/C++语言映射规范 (opens new window)。
# 完善的开发工具套件
uDDS作为一套成熟的高性能数据交互解决方案,由一套逻辑相互关联、功能各有侧重的中间件及工具软件组成。其中,与用户开发相关的工具主要包括:
- uDDS数据定义文件编译工具(uDDS IDLC)
- uDDS数据交互中间件(uDDS)
- uDDS辅助开发工具(uDDS Developer)
# uDDS数据定义文件编译工具(uDDS IDLC)
uDDS数据交互中间件支持用户通过IDL文件格式定义用户数据类型,以便在数据收发过程中对应用数据进行封装和解析。在进行应用软件开发之前,请使用IDL文件编译器(idlc.exe)对IDL文件进行编译,将生成的C++代码文件添加到应用代码工程中(详见进阶开发)。
# uDDS数据交互中间件(uDDS)
uDDS数据交互中间件以动态库的形式提供应用软件调用,为分布式实时系统提供实时的数据分发服务。为提高应用灵活性,中间件的部分使用参数在配置文件(udds.conf)中进行设置,用户可使用文本编辑器对配置文件进行修改(详见进阶开发)。
# uDDS辅助开发工具(uDDS Developer)
uDDS辅助开发工具(uDDS Developer)以开发环境插件的形式,辅助用户使用BLUE DDS进行应用程序开发(详见辅助开发工具使用说明),包括:
- 为用户提供界面式的应用程序配置界面,用户可设计应用程序所需的主题数据结构及发布、订阅关系
- 根据用户配置,自动生成接口代码并添加到应用程序工程中
- 为应用程序自动设置开发环境所需的配置参数
- 自动生成配试程序,实现对应用程序通信功能的及时测试
# 兼容性
uDDS兼容以下规范: