DDS中拦截器机制的设计与实现

 2022-08-01 08:08

论文总字数:28208字

摘 要

发布/订阅分布式系统中各构件通过发布/订阅中间件进行相互通信。根据中间件的设计原则,发布/订阅中间件的处理过程对构件而言是透明的。但在以发布/订阅模式为基础的数据分发服务(DDS)中间件中,上层应用难以通过正常手段来获取发布/订阅流程中发布/订阅实体的状态参数和数据内容。这大大影响了DDS中间件的扩展性。

本文将在现有的DDS中间件基础上,提供一套接口和机制来解决上层应用获取内部信息困难的问题。具体来讲,本文将参考CORBA Interceptor的实现机制,设计并实现DDS Interceptor机制。利用拦截器获取内部消息并提供给上层应用。并在此基础上提供辅助开发工具用于生成DDS拦截器程序模板,以便于开发者设计DDS拦截器或开发基于DDS拦截器的应用。在此之后设计了实验,验证了这一机制的可行性。

关键词:发布/订阅 中间件 数据分发服务 拦截器

Abstract

The components of publish-subscribe distributed system communicate with each other via publish-subscribe middleware. According to the design principles of middleware, the process of publish-subscribe middleware is transparent to the components. However, it is difficult for the upper application to obtain the status parameters and data contents of the publish/subscribe entities in publish-subscribe process via normal means in a DDS middleware based on publish-subscribe model. This greatly affects the scalability of DDS middleware.

This paper will provide a set of interfaces and mechanisms on the basis of the existing DDS middleware to solve the problem that the upper application is difficult to obtain internal information. Specifically, it will refer to the implementation mechanism of CORBA Interceptor, design and implement the DDS Interceptor mechanism, to get internal messages by using interceptors and provide them to the upper applications. Based on this, it provides auxiliary development tools for generating DDS interceptor program templates for developers who want to design DDS interceptors or develop applications based on DDS interceptors. After this, experiment was designed to verify the feasibility of this mechanism.

KEY WORDS: Publish-subscribe, Middleware, DDS, Interceptor

目 录

摘 要 2

Abstract 3

第一章 绪论 5

1.1背景介绍 5

1.2 论文组织结构 6

第二章 相关技术 7

2.1 CORBA Interceptor机制 7

2.1.1 CORBA简介 7

2.1.2 Interceptor机制 7

2.1.2.1请求拦截器 8

2.1.2.2 IOR拦截器 8

2.2 DDS中间件 9

2.3发布/订阅中间件拦截器机制 10

第三章 DDS拦截机制设计 11

3.1 DDS拦截机制概述 11

3.2DDS拦截机制的设计 12

3.2.1 DDS拦截机制的模块设计 13

3.2.2拦截器 14

3.2.3拦截器管理者 18

第四章 DDS拦截机制的实现 20

4.1拦截机制的实现 20

4.1.1拦截点处理程序的实现 21

4.1.2拦截器管理器的实现 21

4.1.3拦截器基类的声明 22

4.1.4其他类的实现 23

4.1.5兼容性控制 23

4.2辅助工具设计 23

4.2.1辅助工具的需求 24

4.2.2辅助工具的设计 24

4.2.3辅助工具的实现 24

第五章 测试与分析 26

5.1拦截器机制功能测试设计 26

5.1.1创建拦截器测试 26

5.1.2数据拦截器测试 26

5.1.3实验结果 26

5.2实验结论 27

第六章 总结与展望 28

6.1论文总结 28

6.2未来展望 28

致谢 29

参考文献 30

  1. 绪论

1.1背景介绍

随着计算机软硬件技术的不断发展,人们对于功能强大同时成本低廉的实时系统的需求也日益扩大,实时运算技术在军事、航天、交通等多个领域得到广泛应用。然而硬件的发展现在进入了一个死胡同,NVIDIA创始人黄仁勋先生甚至断言:“摩尔定律已经失效。”随着计算机缓慢发展的算力,与之相对的是人们对于计算机算力要求的逐步提升。而这一僧多粥少的局面,被分布式技术所打破。“设备分布,算力集中”可以说对分布式系统一个比较中肯的描述,将时间空间不同的众多计算机或者其他运算设备,通过分布式网络或者分布式总线统合起来,解决同一问题。

分布式系统,无疑是如今算力不足而研究机构又没有足够的人力物力提供更优质的硬件条件的问题的极佳的解决方案。然而,实践起来,众多问题层出不穷。分散的系统可能运行在不同时空,不同设备甚至不同编程语言中。想要实现这些系统的统合相当的困难,不仅对上层应用的扩展性有着极高要求,还对底层组网以及通讯协议的设计提出了挑战。加上实时通信所必定面临的系统同步问题。传统的一对一,点对点的TCP/IP的通信模式恐怕并不受用。

解决这一问题的是发布订阅模型以及支持这一模型的中间件。前者是在逻辑上将网络上的不同实体解耦,而后者则是在网络结构中,将上层应用与底层网络解耦。发布/订阅模型将网络划分为参与者和全局数据空间。参与的节点可以说数据的生产者,也可以是数据的消费者。参与者可以作为发布者,注册其提供的数据,将其发送到全局数据空间中。也可作为订阅者,选择自己关心的主题接收数据。如图1-1所示,在这一过程中,发布者无需关注接收方是谁,他们的一切操作只对自己上传的数据负责;而订阅者也不需要了解发送方是谁,他们只处理符合自己所订阅主题的所有数据。结果上来说,发布者和接收者之间通过全局数据空间实现了解耦合。而这一结构中的全局数据空间,并不一定是一个实体的数据库,它是一个逻辑上的概念,可能分散到各个工作站中,也可能仅仅持有于部分具有特权的终端中。甚至可以是区块链,保存在各个节点中。它的具体实现多种多样,本文不做过多描述,但需要了解的是,全局数据空间是发布订阅模型中各个节点所维护的一个全局数据集散地。

剩余内容已隐藏,请支付后下载全文,论文总字数:28208字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;