TinyDDS编程实践

背景

传统计算机网络的运行依赖于集中式运营商及服务提供商(Server),它在拓扑结构上的典型特点就是存在一个或数个“中心节点”。整个网络的数据传输和处理都集中在少数节点上。“中心节点”是维持整个系统运行的关键,也是控制整个系统运行的中枢。这种拓扑结构方便设计,但不够灵活,此外还存在健壮性和隐私性方面的缺陷。

分布式网络作为近几年发展较快的技术,受到越来越多的关注。它采用分布式、自组织组网思想。网络中没有绝对的控制中心,所有节点的地位平等,网络中的节点通过分布式算法来协调彼此的行为,无需人工干预和任何其他预置的网络设施,可以在任何时刻任何地方快速展开并自动组网。由于网络的分布式特征、节点的冗余性和不存在单点故障点,分布式网络的健壮性和抗毁性很好。此外,网络拓扑随时可以发生变化,特别适用于无法或不便预先铺设网络设施的场合和需要快速自动组网的场合等。

无线传感器网络是贯彻分布式网络思想的典型例子。近年来,随着无线通信、集成电路、传感器以及微机电系统(MEMS)等技术的飞速发展,低成本、低功耗、多功能的微型无线传感器的大量生产成为可能,这些微型无线传感器具有无线通信、数据采集和处理、协同合作等功能,无线传感器网络(简称传感器网络)就是由许多这种微型无线传感器节点协同组织起来的。传感器网络的节点可以随机或者特定地部署在目标环境中,它们之间通过特定的协议自组织起来,能够获取周围环境的信息并且相互协同工作完成特定任务。图示为无线传感器网络的结构。

 智能网联汽车是贯彻分布式网络思想的另一个例子。随着智能网联汽车的发展,用户的需求也越来越高,“软件定义汽车”已为产业共识。从技术角度来看,汽车软件架构正由“面向信号”迈向“面向服务(SOA)”。DDS(Data Distribution Service)数据分发服务,是新一代分布式实时通信中间件协议,高实时性能、高可靠性能、开放式体系结构和发布/订阅端的非耦合性能,大大加速和简化了分布式系统的开发,使其非常适用于汽车领域。

 智能机器人软件是贯彻分布式网络思想的重要例子。机器人操作系统(Robot Operating System)是一套开源的软件框架和工具集,用来帮助开发人员建立机器人应用程序,它提供了硬件抽象、设备驱动、函数库、可视化工具、消息传递和软件包管理等诸多功能。ROS可用于在不同进程间匿名的发布、订阅、传递信息。 ROS系统的核心部分是ROS图(ROS Graph)。ROS图是指在ROS系统中不同的节点间相互通信的连接关系。ROS2是ROS的新版本,有较大的变化,ROS2采用数据分发服务DDS作为其底层的通讯框架。

DDS介绍 

DDS(Data Distribution Service,数据分发服务) 是新一代分布式实时通信中间件协议,是一种以数据为中心的通信协议,具有高实时性、高可靠性、开放式体系结构和发布/订阅端非耦合的特点。

DDS标准由OMG(对象管理组织,Object Management Group)定义,是基于DCPS(Data-Centric Publish-Subscribe, 以数据为中心的发布订阅)模型的一种中间件协议和API标准,它将系统的组件集成在一起,提供业务和任务关键型物联网 (IoT) 应用程序所需的低延迟数据连接、极高的可靠性和可扩展架构。

在分布式系统中,中间件是位于操作系统和应用程序之间的软件层。它使系统的各个组件能够更轻松地通信和共享数据。它通过让软件开发人员专注于其应用程序的特定目的而不是在应用程序和系统之间传递信息的机制来简化分布式系统的开发。

DDS中间件是一个软件层,它从操作系统、网络传输和低级数据格式的细节中抽象出应用程序。相同的概念和API以不同的编程语言提供,允许应用程序跨操作系统、语言和处理器架构交换信息。数据线格式、发现、连接、可靠性、协议、传输选择、QoS、安全等低级细节由中间件管理。

DDS以数据为中心的发布--订阅模型为所有分布式节点之间建立了一个虚拟共享的全局数据空间。在该模型下分布式节点在网络上以发布或订阅的方式传输数据,节点可以是发布者或订阅者,或者既是发布者也是订阅者。网络中的数据对象用topic(主题)做标识,分布式节点在GDS中发布或者订阅感兴趣的主题信息。各节点在逻辑上无主从关系,点与点之间都是对等关系。通信方式可以是点对点,点对多,多对多等,在服务质量策略(QoS)的控制下建立连接,自动发现和配置网络参数 .

教学设计

对于大部分的计算机学院或者软件学院的学生来说,DDS是一个陌生的概念。因为当前绝大多数的网络应用都是中心化的,而TCP/IP的默认链接模式也是由Server和Client组成,自然地形成了中心化的拓扑。

对于以智能机器人软件为代表的分布式系统来说,“去中心化”和“以数据为中心”都是重要的设计思想。而如何实现“分布式网络”的无中心特性,如何在网络中没有绝对的控制中心,所有节点的地位平等的前提下,使网络中的节点通过分布式算法协调彼此的行为,实现自组织组网和动态拓扑,也是对学生的算法设计能力的考验和锻炼。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值