在虚拟仿真系统开发平台仿真与验证数据时,随着需求的多样化,系统功能越来越复杂,应用复杂度的不断增长使得开发和维护的成本急剧提高,为解决这个问题,需降低系统内部的耦合度,从而实现业务的并行处理和系统整体负载均衡,以此提高系统的可扩展性和可维护性。不同的软件之间需要一个通用的数据通信总线,可以动态地加入或退出分布式全数字仿真系统平台,并且能够提供开放二次开发接口,方便用户扩展集成其它仿真组件。
在此基础上我们提出了分布式网络中间件即分布式数据总线,分布式数据总线是虚拟仿真系统开发平台仿真与验证数据总线,支持热插拔设计,可连接整个模型和实物设备,通过分布式数据总线组件可以动态地加入或退出分布式全数字仿真系统平台;具有可选的时间同步功能,可用于同步仿真节点间的仿真节拍,其总线带宽最高可达1000Mbps,可支持强实时系统仿真与验证,实时性最高可达300微秒;提供开放二次开发接口,方便用户扩展集成其它仿真组件,扩展分布式数据总线的应用场合。
分布式数据总线是基于以数据为核心的设计思想,定义了描述网络环境下数据内容/交互行为和服务质量要求的标准技术。分布式数据总线以数据为中心的发布-订阅模型为所有分布式节点之间建立了一个虚拟共享的“全局数据空间(Global Data Space, GDS)。在该模型下分布式节点在网络上以发布或订阅的方式传输数据,节点可以是发布者或订阅者,或者既是发布者又是订阅者。网络中的数据对象用主题((Topic)做标识,分布式节点在全局数据空间中发布或订阅感兴趣的主题信息。各个节点在逻辑上无主从关系,点与点之间都是对等关系.通信方式可以是点对点、点对多、多对多等,在QoS的控制下建立连接,自动发现和配置网络参数。
- 分布式数据总线架构
分布式数据总线规范有两层,分别是数据本地重构层DLRL(Data Local Reconstruction Layer)和以数据为中心的发布一订阅层DCPS(Data-Centric Publish-Subscribe)。DCPS层是数据分发订阅的核心和基础,提供了通信的基本服务;DLRL层将DCPS层提供的服务进行了抽象,在DLRL层建立了与底层服务的映射关系。
分布式数据总线中的基本结构是域(Domain),Domain将各个应用程序绑定在一起进行通信。
分布式数据总线内所有的成员都是实体角色,分布式数据总线中的任两个实体角色通信都必须在同一个域内进行交互,即他们初始化时域ID是同一个,并且不同域的域ID必须唯一。域内的域参与者是服务的入口点,任何分布式数据总线应用都需首先获取域参与者,然后通过域参与者获取其他服务,如Publisher、Subscriber、Topic等。
分布式数据总线模块具有无与伦比的可靠性。它支持可掌控的数据传输并包括很多用户可配置的QoS策略,这些策略给与系统设计者大量的选择余地。数据分发订阅规范的实现中选择P2P的结构,消除了所有中心服务端可能的死机或崩溃,没有单点失败的可能。由于分布式数据总线实例不共享地址空间,应用程序之间相互隔离,可以避免内存崩溃。
在采用分布式数据总线作为新一代通讯中间件平台之间,之前系统均是基于TCP/UDP协议开发的,并且在目前通讯平台上存在大量的资源和工作中的应用程序。所以在新的基于分布式数据总线系统实现和应用过程中,将遇到以下实际困难:
如果将这些应用程序重新构建到新的分布式数据总线平台上所需要花费的时间和工作量将是相当可观的。如何解决?如何充分利用现有的资源,最大保护之前的投资?
针对上述问题,我们可以采用对旧系统逐步改造,逐步平稳过渡的方法,甚至对某些关键组件采用桥接处理的方法来实现系统的平稳升级。在系统先进性,资源重用和项目实现时限之间实现平衡。
在上述方法中,桥接技术起了关键的作用,它基于Routing Service组件进行二次开发实现而成。