基于服务化体系架构的嵌入式软件研究与应用

2020-01-08 03:33王建国余文泉李昌春赵裕伟
火力与指挥控制 2019年11期
关键词:服务化服务提供者全局

李 莉,王建国,余文泉,李昌春,赵裕伟

(1.山西工程技术学院电气工程与自动化系,山西 阳泉 045000;2.北方自动控制技术研究所,太原 030006)

0 引言

现有大部分嵌入式信息系统在研制过程中往往是采用成熟技术、面向功能和性能进行的构件化软件设计模式,并未建立开放式标准化可扩展的软件体系架构,这使得在信息系统内软硬件耦合性依赖关系过强,各软件模块和设备间自主设计和灵活接入程度不高,信息平台间获取信息种类和信息数据能力较弱,更使得嵌入式平台间与上级信息采集控制系统直接获取对方所对外提供能力的直接手段。这就使得很难适应未来在高信息化条件下,面对多软件单元协同开发合作时,要求必须以更快、更灵活的方式构建更复杂、更大规模、更易于维护升级的信息系统,把各种物理硬件资源和软件资源柔性组合为一个有机整体,以实现对嵌入式信息系统有限资源的充分利用的需求。采用服务化技术体制(SOA)能够很好地打破现有技术间的壁垒、能够直接支持嵌入式平台层面上信息无缝对接,快速流转和直接临机协同的需求[1]。SOA(Service-Oriented Architecture)技术以统一规范的接口标准、封装自治的服务机制、松散耦合的交互方式、位置无关和透明传输等技术体制,解决了尤其在嵌入式信息系统的高效复用、快速构建、随需应变、柔性重组、自适应调整和敏捷响应变化等关键问题,成为新一代信息系统规划、开发、集成和维护的重点发展方向。

1 Web Services 技术

Web Services 技术是一种基于网络的通用分布式、面向服务的SOA 体系架构模型,如图1 所示。Web Services 体系架构是由服务注册中心、服务提供者和服务消费者3 部分组成[2]。这3 部分的主要操作为服务注册中心与服务提供者之间的发布、服务注册中心与服务消费者之间的发现和服务与服务之间的绑定调用。其中服务注册中心是服务化体系架构中的核心模块,也是服务提供者和服务消费者之间的中继节点,能够实现服务消费者和服务提供者各自独立自治、屏蔽各自功能实现的技术细节,双方能在时间、空间和位置上相互透明,服务消费者不再需要硬编码地址建立链接获取服务,能够解决服务提供者和消费者相互解耦的问题。服务提供者和服务消费者是在特定应用场景下,是按照服务能力对外提供和服务消费的角色进行定义区分。服务注册中心与服务提供者和服务消费者之间都是通过UDDI 和WSDL 数据协议进行服务的发布和发现。服务与服务之间通过SOAP 协议进行服务能力的获取[3]。

图1 Web Services 体系结构图

使用Web Services 技术能够实现通用软件的服务化体系架构,但是其技术体制所带来的通信带宽高、序列化和反序列化时延长、所占存储空间大、底层链路类型支持单一等一系列弊端,尤其是在计算资源、存储资源和通信资源相对受限的嵌入式平台下,底层链路多为非一致性IP 网络和实时性要求较高的嵌入式信息系统中无法直接使用此技术。鉴于此,本文针对于嵌入式信息系统提出了一种既能满足信息系统中固有特征属性和功能性能需求,又能符合服务化软件体系架构的一套软件设计方法。

2 体系架构

适用于Web Service 技术体制的通用化信息系统与嵌入式信息系统从上层应用至底层软硬件适配均有较大的区别[2]。首先,通用化信息系统和嵌入式信息系统上层应用使用场景不同,前者主要面向桌面应用系统,对界面的二三维显示样式具有较强的要求,后者主要是面向实时控制应用系统,对实时性具有较强的要求。其次,通用化信息系统和嵌入式信息系统底层软硬件运行支撑环境不同。通用化信息系统一般采用“高性能硬件处理器+Windows/Linux 桌面操作系统”软硬件配型,而嵌入式信息系统则采用“低能耗嵌入式处理芯片+Vx-Works/Reworks 实时操作系统”。

基于以上的技术体制的不同决策分析,参照通用化信息系统Web Services 技术体制标准,设计定义一套基于RPC 远程调用的服务化技术体制,实现既能满足嵌入式信息系统自身领域的功能需求,又能降低软件与软件之间,软件与硬件之间的强耦合性,充分暴露自身资源的对外接口,从而达到整个嵌入式信息系统的透明、高效、轻负载和强实时的功能性能指标。系统部署总体架构如图2 所示。

图2 系统部署总体架构图

其中:

通信物理链路:是指系统间的底层传输物理通信链路,能够支持嵌入式系统中常用的以太网、CAN总线、FlexRay 总线和串口等链路。

新研/改进系统:是指能够按照嵌入式服务化体系架构标准接口进行软件架构研制或者适应性改造的系统。

封闭系统:是指系统功能较为简单或者软件系统架构不宜变动的系统。

封闭系统资源代理:是指将封闭系统内对外提供的接口按照服务化标准进行二次封装,将封闭系统内的资源纳入至服务化框架中,从而实现基于服务化软件系统和基于非服务化体系软件两类系统间的共存互通的管理平台。

服务注册中心:是服务交互的中心节点,是维护管理服务注册信息的组件。服务注册中心能够为服务提供者和消费者相互解耦,服务提供者位置透明、消费者不再需要通过硬编码获取服务,能够屏蔽底层物理链路通信地址,能在全异构软硬件环境下实现透明传输和远程调用。

Web Services 服务代理:是指能够将嵌入式服务系统中的服务资源有效地和通用化服务信息系统互为融合,使得两类系统能够在语义层面的互联互通和正确理解,从而实现两种服务等效的管理机制和能够共存的管理平台。

服务组合引擎:是指将整个嵌入式系统中的小粒度服务按照一定的规则和标准形成服务组合描述规则,基于服务组合描述规则对小粒度服务编排组合成粒度较大,功能较为复杂的大粒度服务,是组合服务执行和调度的管理平台。

3 服务管理技术

3.1 服务的描述

针对嵌入式信息系统中需求的多样性,建立嵌入式平台服务化统一的服务描述模式,采用一种多维服务描述框架实现对服务的轻量化二进制的服务描述。服务统一描述模型定义为一个四元组WS={S,C,P,Q}表示,如图3 所示。

其中:S 为服务的基本信息描述,主要包括服务名称、服务设备节点(服务所依附的物理设备节点标识)、服务基本描述及服务类型信息等。C 为服务的功能信息描述,主要包括服务的输入信息和输出信息。Q 表示服务质量信息(QoS)可用二元组Q={QC,QP}定义组成,其中,QC 表示服务质量的通用指标;QP 为服务质量的性能指标。P 为服务的受限约束,表示服务提供者对服务的资源约束说明,具体包括负载均衡策略、通信信道类型、服务通信方式和服务通信地址。

1)负载均衡策略目前初步考虑共有3 种,分别为:null:无负载均衡策略,此服务在系统中无冗余备份其他可用服务,不具备负载均衡的前置条件。fixed:固定策略,服务管理平台返回一个固定的负载均衡服务通信地址。adaptive:自适应策略,根据服务管理平台获取整个系统内的负载情况,选择负载最小的服务通信地址。

2)通信信道类型目前初步考虑嵌入式系统中常用的物理底层通信链路包括:以太网、CAN 总线、FlexRay 总线和串口等。

3)服务通信方式是根据不同的通信信息类型而定,如通信信道类型选用以太网时,则服务通信方式有TCP 和UDP 两种服务通信方式可选;通信信道类型选用CAN 总线时,则服务通信方式有CAN1.0 协议和CAN2.0 协议两种通信方式可选。

4)服务通信地址是指在通信方式已定的情况下唯一标识服务信息交互的身份标识,以太网总线服务通信地址用IP 地址和通信端口标识。CAN总线通信地址采用扩展帧标准协议,由源地址和目的地址组成唯一CAN 总线通信地址。FlexRay 总线采用时间槽和帧ID 相结合的方式来表征总线通信地址。

为了进一步阐述基于服务描述框架下轻量化二进制的服务描述,以下是一个基于姿态传感器的周期性提供位置姿态的服务描述,如下页图4 所示。通过多维服务描述框架中的基本信息、服务功能信息、服务受限约束和服务质量信息等全要素进行约定描述后,将所描述的要素通过对服务管理数据字典和服务应用数据字典进行检索编码,形成轻量化二进制服务描述,实现轻量级的服务描述信息的高效传输,有效降低了通信传输带宽占用率,可以适应嵌入式信息系统不同的窄带环境,提高在资源受限环境下的服务管理信息的传递效率。

图4 位置姿态服务描述

3.2 服务的注册

在服务化架构下,根据相应的应用场景服务和所具备的能力分为两类:服务提供者和服务消费者。服务提供者是能对外发布服务的服务方。服务消费者能够通过远程调用服务提供者的服务方。服务注册是指服务提供者通过轻量化二进制服务描述,向服务注册中心进行自身能力的上报注册的过程。服务注册中心将服务提供者和消费者按照统一的规则和方法有效的优化服务之间的发布/使用流程。服务提供者和消费者能够屏蔽底层物理链路通信地址,能在全异构软硬件环境下实现透明传输和远程调用。

考虑到嵌入式平台中计算资源、通信资源和存储资源受限和时敏类服务较多的情况,采用“局部注册,全局更新,增量迭代”的设计原则,即嵌入式系统内各服务节点在启动部署阶段都向服务注册中心发布自身所能提供/消费能力(服务描述),服务注册中心根据各服务部署节点所上报的服务描述信息构成全局服务目录。服务注册中心通过与系统内各服务设备节点通信回执、预置服务部署数目、预置服务部署时间等阈值后,将全局服务目录广播至系统内的服务部署节点,当有新的服务节点接入至系统中也向服务注册中心注册自身能力,则服务注册中心采用增量迭代的方式向全部服务节点下发新增服务目录。通过此设计可以降低服务在运行过程中的服务通信资源占有率,显著提高服务发现的速度,同时减轻服务注册中心的服务发现计算压力。

图5 嵌入式信息系统服务注册工作原理示意图

以图5 为例,阐述了嵌入式信息系统服务注册工作全流程,此例具有很强的普适性,以此为代表可以扩展至其他具体项目中。如图所示,此嵌入式信息系统中共有4 个物理设备节点,其分别为设备节点1、设备节点2、设备节点3 和服务注册中心设备节点。其中设备节点1 中具有两个对外提供服务的服务提供者,设备节点2 和设备节点3 各具备一个服务提供者。

其服务注册具体步骤如下:

1)当各设备节点正常启动,设备节点1、设备节点2 和设备节点3 服务将自身所具备对外提供的服务能力,通过向服务注册中心提交基于二进制轻量级服务描述的形式进行服务注册请求。

2)服务注册中心接收到相应设备节点服务注册请求后,会对服务描述信息进行解析,提取关键的服务描述属性,并对服务描述属性的正确性与一致性进行检测,避免与服务注册中心中已有的资源受限服务产生冲突。如果服务描述通过正确性校验,则服务注册中心新建/更新的系统内各个服务基本属性组成的全局服务目录。服务注册中心通过相应的约束策略判断后,则认为嵌入式系统中的所有服务均已完成服务注册过程。从而将全局服务目录广播至所有的服务部署节点。

3)服务注册中心通过与设备节点1、设备节点2 和设备节点3 进行数据新交互,将全局服务目录广播至系统内的所有设备节点,同时各设备服务节点接收到相应的全局服务目录后,将此目录缓存至本地存储系统中方便服务发现的过程。

通过以上步骤,完成服务的局部注册和全局更新服务注册功能。为了提高服务发现效率,减轻服务注册中心的服务发现计算压力,系统内全局服务目录被服务注册中心下发至各个服务部署节点。当进行服务发现时,各设备服务节点可以通过遍历索引全局服务目录的形式,进行服务的查找和匹配策略从而实现服务发现功能。

3.3 服务的调用

对于嵌入式信息系统下的服务访问调用,采用一种基于自适应感知的服务的调用方法,通过自适应感知实现对服务健康管理和状态实时监控,以实现资源受限服务的合理访问。

为了实现各种服务的自适应感知,将建立服务注册中心的服务注册机制、服务注销机制、全局服务列表同步更新机制以及服务监控机制。新接入的服务资源加入服务化资源时,可以通过向服务注册中心进行服务注册。旧的服务资源退出服务化资源时,可以通过向服务注册中心进行服务注销。新的服务进行注册或者旧的服务进行注销,服务注册中心按需执行服务注册目录同步。同时,服务管理中心通过周期轮询机制,自动监视服务非正常退出及运行异常情况,并及时完成全局服务目录同步。通过服务注册中心的服务注册机制、服务注销机制、同步机制以及非正常退出的服务监控等机制,服务的自适应感知的全过程对于服务客户端来所是完全透明的。服务的自适应感知如图6 所示。

在服务的自适应感知基础上,实现服务的自适应发现访问具体活动步骤描述如下,如下页图7所示。

1)已有服务集群中所有服务注册描述信息都向服务注册中心进行注册,服务注册中心形成系统内现有服务的全局服务注册信息列表,并且将全局服务列表下发至服务集群中的各个服务部署节点。

2)新进服务请求端接入至系统时向服务注册中心注册自身所能提供的服务能力,同时服务注册中心更新全局服务列表,再次以增量的形式向系统内的所有服务部署节点更新全局服务列表。

3)新进服务请求端进行服务调用时,向本地缓存或存储外设中查询服务注册信息,本地服务节点根据服务发现匹配算法,自动进行服务资源的选择,选择最为合适的资源实例提供服务地址。

图6 服务的自适应感知

图7 服务的自适应发现访问

4)服务请求端获取有效且适合的服务定位地址后与服务提供者建立通信连接。进行RPC 的远程服务调用,从而进行数据交换和信息流转。

5)服务提供者通过服务请求者输入参数信息后执行调用本地方法,将执行结果通过远程调用的形式返回至服务请求者,从而完成整个服务访问调用的过程。

4 结论

研究基于服务化体系架构的嵌入式软件,是实现兼容不同技术体制和硬件环境的重要手段之一,能够最大限度地解耦各类业务软件的关联关系,使得软件开发能够最大程度地复用以往的技术成果,最大可能地兼顾未来长远发展,软件升级对现有产品的影响也将到最小。而且具备了平台间直接获取对方所对外提供能力的直接手段。是对现有软件模块化、结构化,构件化软件体系架构的重塑。本文所提出的服务化设计方法尤其是在计算资源,通信资源和通信资源都相对受限的基础运行环境下具有一定的参考借鉴作用。

猜你喜欢
服务化服务提供者全局
江苏省制造企业服务化对绩效的影响
制造企业服务化程度、服务化模式和服务化收益研究
基于改进空间通道信息的全局烟雾注意网络
领导者的全局观
“算法推送”与网络服务提供者著作权侵权刑事责任规范性重构
——从“实际作用”转向“规范能力”
网络服务提供者的侵权责任研究
二分搜索算法在全局频繁项目集求解中的应用
制造业服务化对企业竞争力的影响
浅析网络服务提供者因网络用户侵权的侵权责任
落子山东,意在全局