段海军, 郭勇, 陈福
(1.沈阳飞机设计研究所扬州协同创新研究院有限公司, 扬州 225006; 2.中国航空工业集团公司西安航空计算技术研究所, 西安 710119)
航空电子系统涵盖了飞机的通信、导航、雷达、电子战、飞行控制和管理等电子子系统,同时也包括这些系统间用于信息交换和资源共享的信息综合系统,航空电子系统的发展经历了分布式、联合式、综合化模块化的阶段[1-5],现已进入分布式综合化模块化的发展阶段,即分布式综合化模块化航空电子系统(distributed integrated modular avionics,DIMA)。DIMA采用分布式系统架构和高容错的实时通信网络,将分布于整个飞机范围内的分布式模块化电子(distributed modular electronics,DME)相连接,为系统提供存储、计算和网络通信等功能[6-8]。
随着计算机硬件、软件和网络等技术的飞速发展,航空电子系统对平台管理提出了更高的要求。云技术可以提高机载资源的利用率,同时提升软件的复用能力。云技术整合了局域网内的网络技术、信息技术、整合技术、管理平台技术和应用技术等,组成资源池,按需使用,灵活便利。
航空电子云计算的关键技术有:计算虚拟化、网络虚拟化、存储虚拟化及平台管理等技术。针对虚拟化技术,文献[9-13]将航空电子云分为多层结构,一般包括基础设施层、平台服务层和应用软件层。资源管理技术目前研究针对负载均衡,文献[14]提出一种边缘计算环境下联合云模型的任务处理方法HEELS,解决了任务高效部署的问题,促进云边各计算节点的负载均衡;文献[15]提出了分布式在线优化算法,通过时间解耦将多核并行云计算中复杂的资源调度问题解耦为处理器内核的CPU时间分配和电压配置、服务器之间以及服务器内部不同处理器内核之间的数据分发调度三个子问题分别同时优化,实现云计算中心能源效率最高;文献[16]设计了一种基于EEMD方法和自回归整合移动平均模型相结合的短期预测算法,解决突发非稳定的资源需求;文献[17]提出一种基于分布式架构管理模式的延迟敏感在线负载分配与任务调度算法,其通过对云雾计算系统整体任务处理过程的优化,降低云雾计算系统的任务服务延迟;文献[18-19]提出一种基于强化学习的资源优化分配策略构建方法,实现实施响应用户负载动态变化。针对分布式存储系统的研究,文献[20]设计一种面向多机协同的分布式航空云文件存储系统,实现航空计算存储资源的跨机整合和海量数据的多机协同;文献[21]将区块链融入到端边云架构中,使多参与方之间进行可信的数据交互。针对云平台故障检测的研究,文献[22]设计了云计算平台故障检测与恢复能力测评体系,用于评估云计算平台。当前航空电子(或嵌入式电子)云模型为概念模型,并没有结合相关的行业标准对其进一步细化,缺少对工程应用的指导。本文结合行业标准,对航空电子云模型进一步细化,并从航空电子系统中资源虚拟化、平台管理和应用软件接纳等角度,对航空电子云模型进行了研究。
现分析行业内的相关标准(ARINC653标准和FACE标准),结合相关标准设计多层次架构航空电子云;针对计算虚拟化、存储虚拟化和网络虚拟化等关键的虚拟化技术提出具体的方案;结合工程实践,设计云平台的平台管理方案;最后对应用软件的接纳展开研究。
ARINC653是针对综合化模块化航空电子系统(integrated modular avionics, IMA)的需求而提出的一种多分区操作系统接口标准。通过抽象的应用运行接口(APplication/EXecutive, APEX)保障应用软件和操作系统之间的松耦合,提高软件的可重用性;时间/空间分区管理保障航空电子系统软件相互独立,避免软件故障蔓延。基于ARINC653标准的软件架构如图1所示。ARINC653通过内存管理单元(memory management unit,MMU)保证空间分区的空间隔离,通过严格的时间周期轮转调度访问完成时间分区调度,在分区内可实现优先级调度或者轮转调度策略。
图1 基于ARINC653标准的软件架构Fig.1 Software architecture based on ARINC653 standard
一个分区是一个独立的应用环境,由数据、上下文关系、配置属性和其他项组成,所有分区共享系统资源,分区的运行要满足时间和空间的要求。分区在时间调度上是固定的,按照调度算法预先确定,并按照固定周期重复执行,而分区之间是没有优先级的。分区之间所占用的存储空间是独立,一个分区的执行并不会影响到其他分区。
可将多个应用软件按照功能划分为多个分区,一个分区可有一个或多个进程。依据二进制配置文件为分区分配执行所需的时间资源和空间资源,从而保证每个应用软件拥有独立的计算资源和存储资源。分区操作系统可以配置不同的客户操作系统(VxWorks、天脉、Windows、Linux),从而保障了应用软件的多样性和可移植性。
FACE标准是由开放组织(The Open Group)发布和管理的未来机载能力环境(future airborne capability environment, FACE)标准,主要解决美军航电软件重用性和可移植性不高的问题,用于开发软件通用操作环境开发的技术标准,从而在整个军事航空界推进软件可移植性以及软件产品线的建立。
基于分段的思想,将系统中的软件划分为5个段:可移植组件段(portable components segment, PCS)、特定平台服务段(platform-specific services segment, PSSS)、传输服务段(transport services segment, TSS)、IO服务段(input/output services segment, IOSS)和操作系统段(operating system segment, OSS)。各段之间依据FACE标准定义的接口进行衔接和数据交互[23-24],如图2所示。
图2 FACE系统架构Fig.2 Face system architecture
可移植组件段由功能或业务逻辑的软件组件组成,与硬件和传感器无关。这些组件不与任何数据传输或操作系统绑定,以满足可操作性和互操作的要求。可移植组件段可在任意不同的硬件计算平台和软件环境中部署,最多只需进行重新编译,或者软件库、编程语言运行时需对库以及应用框架进行重新链接。
传输服务段由通信服务组成,从软件组件中抽象传输机制和数据访问,便于将不同的传输机制集成到不同的体系结构和平台中。为可移植组件段和特定平台服务段提供标准TS接口,负责可移植组件或特定平台服务之间的数据分发。其功能包括但不限于软件接口信息的分布和路由、优先级、可寻址性、关联、抽象、转换和组件状态持久性。传输服务段可用第三方传输组件实现,包括DDS、CORBA。
特定平台服务段由平台通用服务、平台设备服务和图形服务组成。平台通用服务由高级别的服务组成,包括日志服务、设备协议中间服务、流媒体、健康监控、故障管理及配置管理组成。平台设备服务负责平台接口控制文件(interface control document,ICD)与FACE数据模型之间数据的管理和转换,充当平台硬件设备的软件抽象,消除PCS中平台设备的可变性,为PCS提供数据和控制能力。图形服务负责平台的显示管理,从软件组件中抽象出GPU或其他图形设备的接口。
IO服务段将供应商提供的硬件设备驱动的接口进行规范,为特定平台服务段提供硬件和设备驱动的抽象接口,从而平台服务段只需关注接口数据,而不需要关注硬件和设备驱动。用于隔离不同厂商驱动可能给特定平台服务段软件带来影响,在厂商驱动发生变化时,只需修改对应的IO服务组件即可。
操作系统段为其他各个段提供和控制对计算平台和软件环境的访问。包括操作系统、应用软件运行框架、编程软件运行框架、操作系统级健康监控和故障管理、配置服务、外部网络功能、生命周期管理等。操作系统段须支持分区,包括时间分区和空间分区;须支持POSIX和ARINC653。
航空电子云通过高速交换网络整合机内所有电子模块的计算资源、存储资源和网络资源,实现资源的统一分配、任务统一部署,如图3所示。
图3 航空电子云概念模型Fig.3 Avionics cloud conceptual model
将航空电子系统中的通信系统平台(硬件和平台软件)、核心处理系统平台、飞机管理系统平台、导航系统平台、综合显示系统平台、机载维护系统平台及其他子系统平台的通过数据交换系统对其硬件资源进行整合,统一为各应用软件分配资源和部署软件。各应用软件作为可移植组件不在固定的部署在某个子系统平台上,可以部署在任意子系统的平台上,应用软件共享航空电子系统计算资源、网络资源和存储资源。
依据商业云模型的系统架构,结合航空电子系统的特点将系统分为5层:物理资源层、本地资源管理层、资源虚拟化层、平台管理层和应用功能层,如图4所示。
图4 航空电子云层次结构Fig.4 Avionics cloud hierarchy
物理资源包括飞机内所有电子模块的计算资源、存储资源、网络资源及其他资源,作为航空电子任务运行的载体。
本地资源管理负责对电子模块的资源管理和任务调度。其包括操作系统、文件系统、网络驱动、存储驱动、数据库、操作系统级的健康监控和故障管理及其他的操作系统组件。
资源虚拟将航空电子系统的资源虚拟成多个计算池、存储池和网络池,为应用软件提供运行平台。提供的服务有虚拟化存储服务(分布式文件系统和分布式数据库)、虚拟化网络服务、虚拟化计算服务。
平台管理对计算池、存储池和网络池进行管理,包括资源分配、平台健康监控和故障管理等。
应用功能由一组组软件功能构件组成,执行平台通用服务功能或具体的航空电子任务,如GPS、雷达、火控管理、飞行控制、数据融合、远程通信和精确导航等。
依据FACE分段的思想,结合航空电子云模型各组件功能和可移植性的特点,将其组件部署在FACE系统架构不同的段内,其航空电子云层次结构与FACE标准的对应关系如图5所示。
图5 FACE标准的航空电子云Fig.5 Face standard avionics cloud
本地资源管理的任务调度、存储资源管理及设备驱动软件(操作系统、文件系统、网络驱动、存储驱动、数据库、OS级的健康监控和管理管理及其他组件)部署于操作系统段内,对本地设备的管理功能则部署于IO服务段中。
资源虚拟化的计算资源虚拟化功能部署于操作系统段中,由其对本地的计算资源进行虚拟化,形成多个计算池,为应用软件提供独立的计算平台;存储资源虚拟化功能部署于特定平台服务段中的通用服务中,将存储资源虚拟成多个存储池,由分布式文件系统和分布式数据库实现对存储池的数据访问,为每个应用提供独立的数据存储区域;网络虚拟化则部署于传输服务段,将网络总线虚拟成网络池组,为每个应用提供独有的网络通信地址和通信资源。
平台管理则部署于特定平台段中通用服务中,对整个航空电子云进行管理。
应用功能层则根据软件功能,提供平台设备服务的部署于特定平台段的设备服务中,提供平台图形服务的则部署于特定平台段的图形服务中,其他的部署在可移植组件段中。
在航空电子云模型中,机内的电子模块上部署着符合ARINC653标准的分区操作系统。其航空电子云的平台管理功能在每个模块上的都有部署,并且独占一个分区;虚拟化功能则在每个分区上都有部署,如图6所示。模块上的平台管理功能负责对本模块的资源管理和任务调度,同时通过高速网络与其他模块平台资源管理功能进行信息交互,协同完成航空电子云平台的管理;虚拟化功能将分区内的软件所需计算资源、存储资源和网络资源虚拟成独立运行的资源,为分区内应用软件的运行提供平台。
图6 航空电子云在分区操作系统中的部署Fig.6 Deployment of avionics cloud in partitioned operating system
计算虚拟化将应用软件运行所需要的处理器、内存、NVRAM、FLASH等资源虚拟化,为每个应用软件提供独立的计算平台。利用ARINC653标准的分区操作系统的机制,时间分区将处理器资源虚拟成多个独立的虚拟处理单元,空间分区将内存、NVRAM、FLASH等资源划分成独立多个块,为虚拟处理单元提供基本的运行资源,如图7所示。
图7 航空电子系统的计算资源虚拟化Fig.7 Virtualization of computing resources in avionics systems
分区是严格按照时间片轮转调度的,当一个分区的时间片消耗完毕后,不管分区任务是否完成,都会强制切换到下一个分区的程序。分区在时间内独占处理器的资源,则依据分区个数将处理器资源虚拟成多个虚拟处理单元,虚拟的处理单元在时间片内运行。ARINC653的分区操作系统将计算所需要的内存、NVRAM和FLASH等资源划分成许多小块,通过MMU保障各小块的空间的独立性,为分区应用软件的运行提供了所需的资源。一个虚拟处理单元及其对应的内存、NVRAM和FLASH等资源组成一个计算池。机内所有电子模块的计算池组成了航空电子云所需要的计算池组。
分区内的客户操作系统提供不同操作系统(包括VxWorks、天脉、Windows、Linux、翼辉等操作系统)和应用软件所需要的接口库,便于将运行在不同操作系统上的应用软件部署在航空电子云系统中。
计算资源的虚拟化利用了ARINC653标准的分区操作系统机制,既能保证关键任务的执行,同时在分区内提供了APEX接口,符合FACE标准对接口的要求。
由于航空电子系统中存储资源分布不均,只有部分电子模块上拥有大容量存储介质,其他模块需要通过分布式存储方式存储数据。将拥有大容量存储介质的模块集中起来,形成存储集群,通过分布式文件系统和分布式数据库,为各应用软件提供海量数据存储和查询的功能。每个计算池应拥有独立的存储空间,通过分布式文件系统为计算池虚拟存储空间,用以存储数据;分布式数据库为计算池提供快速查找和修改数据的能力。将集群中的存储资源划分为多个存储块,为每个计算池提供虚拟的存储块,以满足应用软件对存储的要求,如图8所示。
图8 虚拟存储池Fig.8 Virtual storage pool
存储集群中的大容量存储模块使用文件系统分区功能将大容量存储器分割成多个存储块,为每个存储块依次分配文件系统的盘符。分布式文件系统的客户端挂载(mount)服务器上的文件系统,服务器是以盘符为最小单位挂载单位,保障客户端的存储空间独立性。客户端将服务器的文件系统挂载到本地虚拟的C盘下,每个客户端拥有自己独立的C盘存储空间,为应用软件提供数据存储功能,如图9所示。计算池需要共享文件时,可在客户端增加虚拟盘符,用于挂接服务器上共享的文件盘符,多个计算池可访问同一个文件。分布式文件系统客户端对外提供标准的文件操作接口,符合FACE标准对接口的要求。
图9 分布式文件系统原理Fig.9 Principle of distributed file system
分布式数据库为航空电子云系统提供高效的数据检索和修改能力。由存储集群提供数据库,为各个计算池提供分布式数据检索和修改的服务。为提高数据的检索速率,在每个计算池的内存资源充足的情况,允许在内存中存储数据库的副本(部分或全部副本),如图10所示。
图10 分布式数据库原理Fig.10 Principle of distributed database
分布式数据库客户端的全局数据库管理解析应用软件命令,判断本地是否有副本,如果有则访问本地的副本,否则访问远程服务器的主本;远程数据库管理提供远程访问远程数据库的主本能力,并保持主副本的数据同步。分布式数据库服务器响应客户端的数据库访问请求,并时刻与客户端的副本数据保持同步;提供访问控制功能,检查用户的身份,用户只能访问已授权的数据库。使用数据库的访问控制功能可以使每个计算池拥有自己独立的数据库,同时又可以共享部分数据库。
网络虚拟化将物理网络资源(包括FC、1553B、模拟量、离散量、RS422等通信总线或网络)进行抽象形成虚拟网卡(网络池),满足各计算池对网络资源的分割,如图11所示。在航空电子系统中的通信网络由主通信网络(FC网络)和特有通信网络或总线组成,其中大部分设备通过FC网络相连接,组成主通信网络,部分设备通过特有通信资源(模拟量、离散量、1553B等)与主网络中的设备相连,组成了覆盖全航空电子系统的数据通信网络,其虚拟化网络体系架构如图12所示。
图11 网络虚拟化Fig.11 Network virtualization
图12 虚拟化网络体系架构Fig.12 Virtualized network architecture
虚拟网卡为计算池提供了数据交换的服务,其中包括数据通信服务、发布/订阅服务、QOS服务等,如图13所示。虚拟网卡为应用软件提供了符合FACE标准的通信接口,应用软件通过TS接口访问虚拟网卡,可以接收或发送任意总线的数据。虚拟化网卡将应用软件和物理总线进行逻辑隔离,应用软件并不需要关心数据传输的路径和物理总线,仅需关注数据内容,降低了应用软件与部署模块的耦合度,增强了软件的移植性。
图13 虚拟交换Fig.13 Virtual switch
虚拟网络支持数据的发布订阅,发布方的应用软件通过虚拟网卡发布主题数据,虚拟交换网络将数据路由到所有订阅方的虚拟网卡,订阅方的应用软件通过虚拟网卡收取主题数据。为保证虚拟网路数据的准确性、可靠性和实时性,虚拟网络支持QOS服务,提供了可靠传输、截止期、时间过滤、存活性等服务质量。
数据发布订阅关系表建立了主题发布方和订阅方的关系,格式如表1所示。
表1 发布订阅关系表Table 1 Publish subscribe relationship table
系统动态建立的发布订阅关系,在应用软件使用虚拟网卡发布主题时,将虚拟网卡的地址和主题信息存储在本地的发布订阅关系表中;订阅主题时,向虚拟网络中广播订阅的主题和网卡地址;虚拟交换机的发布订阅关系维护功能接收到订阅主题时,查找本地的发布订阅关系表中是否有发布的主题,在主题和QOS一致的情况下,将订阅者的通信地址在发布订阅关系表中更新。网络数据路由接收到应用软件发布的主题数据时,依据发布订阅关系表获取所有订阅者的网络地址,将其主题数据发送给所有的订阅者。
每个计算池拥有一个虚拟网卡,每个网卡拥有一个独立的通信地址,计算池依据网卡的通信地址进行通信,虚拟交换机依据数据路由配置表对其数据路由,实现模块内及模块间计算池的数据通信,其数据路由配置表如表2所示。
表2 数据路由配置表Table 2 Data routing configuration table
针对航空电子系统的通信资源分布不均的特点,虚拟交换机支持对本节点特有通信资源(除主通信网络之外的资源)的管理,虚拟交换机从内存或主通信网络中订阅需要通过本模块特有通信资源发送的主题数据,并将数据通过对应的物理总线发送;从总线上收取数据,并在内存或主通信网络中发布相关主题数据。依据物理链路配置表管理主题与总线的对应关系,在主题数据物理传输路径发生变化时,只需修改主题与总线的对应关系。
物理链路配置表管理着主题数据与实际物理链路的对应关系,格式如表3所示。物理链路配置表是由系统开发人员静态配置,虚拟交换机的特有设备管理器在系统加电后,订阅物理链路配置表中的发送主题,发布物理链路配置表中的接收主题;在系统运行过程中,将订阅到的主题数据依据物理链路配置表中主题对应的物理链路和参数,通过相应的总线发送数据;从主题对应的物理链路上接收主题数据,并将其通过虚拟网络发布主题数据。
表3 物理链路配置表Table 3 Physical link configuration table
在航空电子云模型中,一个计算池对应一个分区,计算池只有一个虚拟网卡。分区操作系统的时间分区机制保证虚拟网卡对FC网络的访问时间,不受其他虚拟网卡的影响,有效的对网络资源进行分割,保证了虚拟网卡的独立性。
航空电子云系统的平台管理分为两级,系统级和模块级,系统级平台管理部署在某个电子模块上负责航空电子云系统平台的管理,模块级平台管理在每个电子模块上均有部署,负责电子模块的管理,模块级平台管理接受系统级的统一管理,如图14所示。
图14 平台管理架构Fig.14 Platform management architecture
模块级平台管理负责本模块计算池的资源分配、任务调度、健康监控和故障管理;系统级平台管理通过与模块级的信息交互,获取系统所有计算池的资源、任务和健康情况,统一为应用软件调度和分配航空电子云平台中的资源。
为避免系统级平台管理失效导致云平台失控,系统级平台管理采取了主从热备份的方式。主系统级平台管理拥有平台的控制权;从系统级平台管理只能获取平台的资源信息,并没有平台的控制权。从系统级平台管理实时监控主系统级平台管理的状态,在主系统级失效后,从系统级切换为主系统级平台管理,接管系统平台的控制权。主系统级和从系统级平台管理应部署在不同子系统中,增强系统的抗风险能力。
航空电子云平台提供了多个具有一定资源的计算池,在部署应用软件时依据软件所需资源情况,选择合适的计算池运行应用软件。系统开发人员为计算池的分配资源,形成计算池信息表,如表4所示。
表4 计算池信息表Table 4 Compute pool information table
系统初始化时依据计算池信息表创建计算池,并为其分配存储资源和网络资源。各模块的平台管理软件依据计算池表中本模块的计算池的资源为其创建计算池(分区),分配内存、NVRAM、FLASH等资源,计算池启动时挂载远程的存储器和数据库,如图15所示。
图15 系统初始化流程Fig.15 System initialization process
计算池的操作系统既是ARINC653标准操作系统的分区操作系统;计算资源的大小是由本模块的处理能力乘以计算池在本模块运行的时间比,依据计算资源的大小,分配分区调度表中,每个分区的时间片,将分区时间片在总时间框内的占比达到对计算池处理能力的要求;内存、NVRAM、FLASH等资源则是由ARINC653标准操作系统的配置工程进行划分,依据所需要资源的大小,为本模块上每个计算池在配置工程里分配合符合要求的物理空间。在配置ARINC653标准操作系统的配置时,依据计算池中的信息进行静态配置。计算池的创建则利用操作系统创建分区的功能,操作系统创建分区和启动分区既是完成了计算池的创建和启动。
存储集群中的大容量存储模块依据计算池中信息,初始化本地的文件系统并按照其存储大小和盘符要求将其分区,并完成分布式文件系统服务器端的初始化。计算池在初始化分布式文件系统的客户端时使用MOUNT协议挂载所对应的大容量存储模块的设备盘,为本计算池创建虚拟的存储盘。大容量存储模块依据计算池信息表中的创建本地数据库,并初始化分布式数据库的服务器端;计算池在初始化时完成分布式数据库客户端的初始化。
系统级平台管理软件在接收到应用软件时,依据应用软件对计算资源、操作系统、NVRAM等资源的需求,从未使用的计算池中查找符合要求的计算池。在找到合适的计算池时,将应用软件映像发送给相应的模块级平台管理软件,由模块级平台管理软件使用分区的动态加载技术,将应用软件加载到相应的计算池中,完成应用软件的加载和启动。系统级平台管理将已分配出的计算池的使用标志设置为已使用。应用软件在启动过程中,使用TS接口发布主题和订阅主题,在计算池中创建虚拟网卡,启动后则可以与其他系统或者应用软件进行通信。
健康监控负责对计算池、网络池和存储池等资源的健康情况进行监控。模块级健康监控负责对模块内资源状态进行监控;系统级健康监控负责对航空电子云平台资源状态进行监控。健康监控的软件架构如图16所示。
图16 健康监控软件架构Fig.16 Health monitoring software architecture
模块级健康监控的方式有BIT(自检测)、OS级健康监控、网络检测、电压检测和状态集采等方式。BIT检测电子模块的CPU、内存、NVRAM、FLASH等资源;网络检测负责检测通信网络或总线资源,包括FC网络、RS422、1553B、模拟量、离散量等资源;状态采集监控模块的模块、光电收发器的功率、及模块的电流电压等;OS-HM负责监控本模块所有计算池(分区)的异常信息。在BIT、网络检测和状态采集发现故障后,则该模块的上所有计算池故障;OS-HM监测到某个计算池故障,则为单个计算池故障。
系统级健康监控通过查询模块级健康监控的生命消息和收集其故障信息监控平台的健康状态。系统级健康监控周期性的向模块级健康监控发送查询生命消息的命令,在规定的时间内没有接收到模块级健康监控回复的生命消息,则认为该模块上的所有计算池故障;模块级健康监控在监测到本模块计算池故障后,将其故障信息上报给系统级健康监控。系统级健康监控监测到某个计算池故障后,则将计算池信息表中该计算池的状态设置为故障。
故障管理在接收到健康监控检测到故障信息后,负责对该故障进行处理,如图17所示。对本模块内计算池的故障处理,无法处理的故障则上报给系统级故障处理;系统级故障管理负责对平台所有的故障进行处理。模块级故障管理有OS级故障处理、故障信息记录等;系统级故障管理有应用软件迁移、故障信息记录等。
图17 故障管理Fig.17 Fault management
OS-FM提供丰富的故障处理动作,包括分区重启、分区挂起、任务重启等,可以用于对计算池故障进行处理;故障信息记录将系统所产生的故障以故障日志的形式记录在系统中,便于系统维护人员解析故障,维护系统;在某个计算池故障,无法继续承担计算任务后,将其应用软件迁移到其他计算池中继续运行。
应用软件在迁移时,由系统级故障管理向故障计算池所在的模块级故障管理发送计算池挂起命令;模块级故障管理将该计算池挂起;系统级管理管理从计算池信息表中查找符合应用软件需求的、未使用的计算池,将应用软件加载到新计算池中。为保证任务执行的连续性,在计算池启动后,挂载原计算池的存储空间和数据库。应用软件迁移工作原理如图18所示。
图18 应用软件迁移原理图Fig.18 Schematic diagram of application software migration
航空电子云系统提供日志管理功能和配置管理功能。日志管理功能记录系统中的事件、故障信息及应用软件部署情况,模块级日志管理功能将本模块内的日志信息记录在本地的NVRAM中,系统级日志管理功能将系统的日志信息记录在大远程的大容量存储模块上。日志管理功能便于系统开发人员分析平台的运行情况,依据日志信息快速的定位故障。
配置管理功能可配置计算池的运行的应用软件。对于某些对特定通信资源实时性要求高的应用软件,可以使用配置管理功能将其固定部署在具有相应资源模块的计算池中运行。其他应用软件则由平台的资源管理根据系统情况部署应用软件。
航空电子云系统未提供虚拟化操作界面,用户无法通过界面操作选择所需的资源、部署和运行应用软件。用户需将应用软件所需资源、软件映像、数据库及其他特殊需求提供给系统开发人员。系统开发人员依据应用软件所需的资源生成应用软件需求表,其内容如表5所示。
表5 应用软件需求表Table 5 Application software requirement table
系统开发人员将应用软件需求表、计算池信息表、软件映像、数据库及其他文件通过FTP上传给航空电子云平台的某个大容量存储模块上。平台的系统级资源管理功能从服务器中获取相关文件,对平台资源是否满足应用软件需求进行检查,在不满足的情况下,通过串口打印或其他方式提醒系统开发人员。系统开发人员对计算池信息表进行调整,以满足应用软件的需求。应用软件接纳的过程如图19所示。
图19 应用软件接纳原理Fig.19 Application software acceptance principle
平台的系统级资源管理功能确认平台资源能够满足应用软件的需求,则应用软件被接纳,否则不被接纳。在应用软件被接纳后,资源管理功能首先查找由特殊需求的应用软件,为其分配计算池,然后为其他的应用软件分配计算池。平台级资源管理功能将其计算池的分配信息传送给各模块级资源管理功能,由各模块级资源管理功能获取软件映像,并加载到相应的计算池中,启动应用软件。
结合行业标准和工程经验,对航空电子云模型进行了研究。
(1)分析了航空电子领域的ARINC653标准和FACE标准,结合行业标准设计了航空电子云模型。
(2)研究了虚拟化技术,设计了计算虚拟化、网络虚拟化、存储虚拟化的方案。
(3)讨论了平台管理技术,设计了航空电子云系统的资源管理、健康管理和故障处理的方案。
后续计划针对航空电子云存储、服务器的负载均衡等技术进一步研究。