基于主题发布-订阅的分布式通信总线设计与实现*
2021-08-06魏兴雲任祥维谭陆媛
魏兴雲,任祥维,谭陆媛
(中国电子科技集团公司第三十研究所,四川 成都 610041)
0 引 言
随着计算机与网络技术的高速发展,在计算机上处理的工作越来越多,业务也越来越复杂,多个系统(节点)协同工作的需求也越来越大。为了高效地实现系统间数据共享、互操作,解决系统不易集成问题,对象管理组织(Object Management Group,OMG)在高级体系结构(High Level Architecture,HLA)和通用对象请求代理体系(Common Object Request Broker Architecture,CORBA)等标准的基础上,制定了采用以数据为中心发布-订阅机制(Data Centric Publish Subscribe,DCPS)的分布式实时通信中间件技术规范:数据分发服务(Data Distribute Service,DDS)[1]。DDS基于主题进行数据发布-订阅,适用于分布式节点之间的数据交换,其以数据为中心,能实现高效和实时地数据交换[2]。在工业自动化、分布式控制和仿真应用等领域,许多实时应用程序都构建了以数据中心的DDS通信模型,其中部分应用程序发布(提供或流式传输)数据,供对该数据感兴趣的远程应用程序订阅使用。
1 数据分发服务DDS
1.1 DDS简介
根据规范,DDS主要分为如图1所示的两个层次,分别是DCPS层和本地数据重构(Data Local Reconstruction Layer,DLRL)层。其中,DCPS是数据发布-订阅系统的基本框架,其负责系统中数据的发布、订阅、处理、分发,并实现把主题数据发送给已订阅的节点;DLRL层的目的是外部应用程序与DDS内部的数据交互,提供简单的方式,使各个外部应用能够之间向DDS中获取数据或者向DDS中写入数据[1]。
本文所介绍的通信中间件主要参考DCPS层进行系统设计与实现,因此下文主要对DCPS的发布-订阅模型进行介绍。
1.2 DDS模型与DCPS
DCPS是实现数据发布订阅服务的基础框架,其概念模型如图2所示。……
