面向嵌入式领域的分布式软总线设计与实现

2024-01-07 05:31吕广刘雨坤
无线互联科技 2023年22期
关键词:请求者调用嵌入式

吕广,刘雨坤,刘 陶

(中国航空工业集团公司 西安航空计算技术研究所,陕西 西安 710000)

0 引言

在分布式系统中,通信中间件是整个系统架构的核心技术,主要用于解决2方面的问题,一是解决不同子系统间的通信问题,屏蔽不同子系统间的差异为用户提供统一的通信接口;二是提供一种一致的方式,支持不同子系统间的交互[1]。分布式系统可按照集成程度进行分类:客户端服务器模式,一个网络应用由一个服务器组成,负责运行应用程序并使得其对远程程序可用,客户端可以发送请求给服务器,由服务器执行相应操作并返回执行结果;企业应用集成模型。该模型中,应用服务较为复杂,可对外提供独立的服务,不同的服务之间可以直接进行通信[2]。

为了满足不同的需求,形成了多种技术。例如:远程过程调用(RPC)[3]、远程方法调用(RMI),面向消息的中间件(MOM),公共对象请求代理体系结构(Common Object Request Broker Architecture,CORBA)[4]和数据分发服务(Data Distribution Service,DDS)[5]等。

还有许多集成度较高的中间件软件,例如:IBM ESB、Microsoft ESB、TARS,ServiceMix等。本文基于对上述技术的分析与研究,提出面向嵌入式领域的分布式软总线技术方案。

1 需求分析

软件模块化、功能服务化已经成为国际上武器装备发展的趋势,软件提供的能力不再局限于某个单一的节点,而是通过网络覆盖到整个分布式系统之中。软件模块化、功能服务化的技术在国外发达国家早已开展了前期研究。

软件通信体系结构(SCA)是一种开放式体系结构框架,可以指导设计师如何使硬件和软件各部分协调工作,是实现通信平台的组件可移植性、可互换性、互操作性、软件重用性、体系结构可缩放性的一种标准。

未来机载能力环境(Future Airborne Capability Environment,FACE)技术,定义了通用的机载运行环境用以支持整个航空系统软件运行,还定义了模块化、功能服务化的软件组件的实现方式,提升组件的可移植性、重用性。

针对分布式技术、软件模块化技术以及功能服务化技术衍生的通信、互操作需求以及嵌入式领域对实时性、服务质量、组网方式以及服务调用方式的特殊要求,本文将基于DDS构建面向嵌入式领域的分布式软总线。

2 总体方案

软总线的设计是参照国外FACE标准中对传输段的要求进行的,FACE框架示如图1所示。

图1 FACE框架

操作系统段承载着不同的操作系统、运行时、框架接口,并为其他段的所有软件提供接口,如任务管理、任务间同步与通信管理、通信端口管理、存储管理、时间管理、健康监控等。

I/O服务段为平台指定服务段访问操作系统设备驱动中的数据提供支持。

平台指定服务段是传统软件架构中与平台专用设备ICD紧耦合的部分,这些软件的构建有利于提高可移植组件段中组件的可移植性。

传输服务段中的组件和服务为可移植组件段和平台指定服务段之间以及可移植组件段或平台指定服务段中不同的组件之间的数据传输提供支持。

可移植组件段由一组可移植组件和公共服务组成,协同运行实现系统需要的平台级能力。

3 设计与实现

面向嵌入式领域的分布式软总线由2部分组成,基于发布订阅的数据分发服务和基于请求应答的互操作总线。其中基于发布订阅的数据分发服务是基础,具备Qos管理能力、数据转换能力、配置能力;基于请求应答的互操作总线则是在发布订阅机制的基础上通过构建远程服务的调用过程。

3.1 基于发布订阅的数据分发服务

基于发布订阅的数据分发服务为航电系统提供完整的分布式通信解决方案,在商用软件产品的基础上进行功能的扩展,包括:传输段接口封装、传输插件设计与封装、操作系统适配以及配置工具功能扩展。

基于发布订阅的数据分发服务具有以下优势:(1)有效地实现了应用与网络协议的解耦,为应用提供实时透明的传输服务;(2)能够感知节点的动态接入与退出,在系统重构以及动态组网环境下具有明显优势;(3)整个网络拓扑形态中不存在中心节点,不存在单点失效的问题;(4)提供了多种服务质量如:可靠传输、所有权选择、基于时间的过滤等,能够直接应用于网络不稳定、冗余备份、周期数据传输等特殊的应用场景中,应用程序无需进行改动,只需调整服务质量的配置即可,提升了应用开发效率;(5)提供了有效的工具用于工程实践,形成了应用间逻辑关系到网络层物理关系的有效映射。

该架构包括传输段接口、数据分发服务(DDS)、操作系统以及配置工具4个部分。

(1)传输段接口。参照FACE标准对原有DDS接口进行了封装,简化DDS的初始化过程,使数据分发的操作简单易行。

(2)数据分发服务是该系统的重要组成部分,支持以数据为中心的发布订阅以及发布订阅相关的服务质量。在扩展过程中,采用适配器模式设计了传输插件用于支持多种不同网络协议。

(3)操作系统。目前基于发布订阅的数据分发服务可支持WindowsXP和天脉系列操作系统,还可扩展。

(4)配置工具。有效地解决了ICD文件与主题定义文件之间的转换,提升了航电应用开发效率,能够生成DDS所需的节点互联关系配置信息、传输段配置、主题定义文件。

3.2 基于请求应答的互操作总线

经典的互操作总线包括服务提供者、服务请求者以及服务注册中心。服务请求者作为一个应用程序组件、一个功能组件,可以是一个独立的结构也可以由几个组件组装而成。当需要某一服务时,向服务代理者发起查询请求,执行相应功能。服务注册中心用于管理服务,是服务发现的支持者,允许请求者查找服务提供者的接口。服务提供者实现具体的服务,通过数据总线将自己的服务和接口信息等发送到服务代理者,以便服务请求者可以发现和访问。

本文在数据分发服务和利用在发布订阅通信机制的基础上,建立基于请求应答的互操作总线。相较于传统模型,基于请求应答的互操作总线,在主题与服务之间建立一对一的关系,服务的发现过程通过主题的发布订阅过程实现,不必建立独立的服务注册中心,减少了服务查询过程,在执行远程调用时能够直接将请求发送到服务端,提升了服务执行效率。其软件架构如图2所示。

图2 基于请求应答的互操作总线方案

服务请求端发送请求命令执行某种服务,并接收执行结果。服务执行端用于接收请求命令,执行服务,返回执行结果。

基于发布订阅的远程服务调用需要涉及请求对象和应答对象。请求对象包含服务请求者发送服务请求命令;服务应答读者接收应答消息。应答对象包含服务请求读者接收服务请求命令;服务应答者发送服务执行结果的应答消息。

4 结语

软总线在工业制造、人工智能、航空航天、物联网、医疗、金融、交通等多个领域有着广泛的应用前景,当前国内外在通用领域已有成熟的软件产品和技术标准,但没有嵌入式的解决方案。本文提出的面向嵌入式领域的分布式软总线解决方案,既考虑了分布式通信的需求又提供了远程过程调用的能力,充分满足了嵌入式场景中互联互操作的需要,后续可在异构通信、组网方面开展进一步的研究。

猜你喜欢
请求者调用嵌入式
基于D2D 多播通信的合作内容下载机制
群智感知中基于云辅助的隐私信息保护机制
核电项目物项调用管理的应用研究
LabWindows/CVI下基于ActiveX技术的Excel调用
汉语自然会话中请求行为的序列结构
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
基于差值诱导的Web服务评价可信度的评估
基于系统调用的恶意软件检测技术研究
Altera加入嵌入式视觉联盟