Technical articles
数字虚拟化平台建设-分布式网络中间件
在虚拟仿真系统开发平台仿真与验证数据时,随着需求的多样化,系统功能越来越复杂,应用复杂度的不断增长使得开发和维护的成本急剧提高,为解决这个问题,需降低系统内部的耦合度,从而实现业务的并行处理和系统整体负载均衡,以此提高系统的可扩展性和可维护性。不同的软件之间需要一个通用的数据通信总线,可以动态地加入或退出分布式全数字仿真系统平台,并且能够提供开放二次开发接口,方便用户扩展集成其它仿真组件。
在此基础上我们提出了分布式网络中间件即分布式数据总线,分布式数据总线是虚拟仿真系统开发平台仿真与验证数据总线,支持热插拔设计,可连接整个模型和实物设备,通过分布式数据总线组件可以动态地加入或退出分布式全数字仿真系统平台;具有可选的时间同步功能,可用于同步仿真节点间的仿真节拍,其总线带宽最高可达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组件进行二次开发实现而成。
软总线编程简单,并且无需指定对方IP地址。节点的加入和退出不需要确定的顺序。
二、产品优势
分布式网络中间件使得可能由不同部门或者不同单位开发的各系统之间能够按照统一的标准实现,这使得系统之间的接口和协议达成一致,不仅能够对该项目的开发和调试带来巨大的便利,并大大提高了系统的维护性。以数据为中心的机制还能够带了系统之间的松耦合,这也为将来必须的扩展打下良好基础,并且能够提供开放二次开发接口,方便用户扩展集成其它仿真组件,也能将系统移植到不同的项目中,研发人员可以从关注数据交换和协议中解脱出来,使得研发人员能够专注应用层的开发,大大减轻了工程师的工作负担和压力,不仅降低了开发成本,还能够大大减少开发周期。
同时,根据分布式网络中间件的外围软件的自定义开发完成,可搭建出自己的一套完善数字化生态系统,实现数字化方案的集成部署。
技术文章