巨型星座高效管理及智能应用关键技术研究
2023-04-03李宗凌宋桂萍汪路元于登云
李宗凌 宋桂萍 汪路元 于登云
(1 北京理工大学 信息与电子学院,北京 100081)(2 北京空间飞行器总体设计部,北京 100094)(3 中国航天科技集团有限公司,北京 100048)
万颗规模以上卫星节点构成的巨型星座是天基系统未来发展方向,应用领域涵盖通信、导航、遥感、深空探测等,拥有巨量传感器、计算、存储和通信等资源,可提供广域时空覆盖、精准特性感知、高效信息获取和全域互联互通等能力[1]。各国争相开始大规模网络化星座建设,掀起一股浪潮。
2018年4月,美国国防部先进研究项目(Defense Advanced Research Projects Agency,DARPA)开始实施黑杰克(Blackjack)计划,寻求研发具有较低尺寸、质量、功耗及成本特征的低轨军事通信与监视卫星,包括低成本卫星有效载荷和商业化卫星平台。为降低集成风险,Blackjack计划将为每个航天器开发一个名为“赌场指挥官”(Pit Boss)的航天电子单元,实现星座自主管控,灵活快速地对信息进行收集、处理和分配,实现多源信息的处理、预测与分析。
2019年3月,美国防部成立太空发展局(Space Development Agency,SDA),提出国防太空体系(National Defense Space Architecture,NDSA)七层架构,利用低轨大规模星座、人工智能、操作系统等先进技术构建“全域感知目指,云端智能服务”的天基网云体系[2]。
随着大规模星座建设推进,大量航天器进入太空,星座节点的高效管理及智能应用非常急迫,成为业内研究热点。本文围绕巨型星座高效管理及智能应用需求,提炼巨型星座核心共性基础功能,研究其中关键技术。通过操作系统这一技术手段,研制面向巨型星座复杂应用场景的巨型星座操作系统,作为上述巨型星座核心共性基础功能的软件载体,构建巨型星座的统一基础软件平台和信息基座,有效支撑巨型星座高效建设及能力快速形成。
1 问题提出
近年来,以星链、一网为代表的大规模星座网络已展开建设并初步形成能力[3]。截至2022年10月,SpaceX公司已累计发射3558颗星链卫星,具备全球通信能力。大规模星座的快速部署可以更好满足我国发展经济、服务大众民生的需求,也是我国占据空间轨位和频率资源的必然要求,已经上升为国家战略,并被纳入“新基建”。巨型星座资源管理、互联互通、协同应用、自主运控和安全可信等作为巨型星座系统核心共性基础功能及应用需求[4],是实现巨型星座高效管理及智能应用的关键难点。
操作系统是管理硬件与软件资源的基础软件,发展至今,精准匹配应用需求是发展的主流路线,新场景的出现都会催生出新的领域操作系统。因此,巨型星座场景必然会有相应的操作系统作为核心基础设施支撑应用,发挥其体系效能。虽然全球大规模星座已开展建设,但是巨型星座操作系统研究还处于起步阶段,基本采用在单星操作系统上改进或针对具体场景定制应用软件的技术途径,无法满足巨型星座复杂场景下互联互通、灵活组网、资源共享、软件定义复杂应用、安全可信等全新应用需求。
当前星载操作系统主要分为单星操作系统及星座操作系统两类。单星操作系统以轻量化、强实时、高可靠为基本需求,完成系统任务管理调度、任务间通信、内存管理等功能,支撑实现星务管理、平台姿态和载荷控制等基础功能,包含Vxworks、Linux、RTEMS、μC/OS-II、eCOS等典型操作系统[5]。星座操作系统在单星操作系统基础上,需要具备星座节点管控、互联互通、智能协同以及安全可信等增量功能[6]。美国SpaceX公司的星链卫星装载了带有自定义补丁和驱动程序的Linux操作系统,通过这种改进版分布式Linux实时操作系统与硬件交互,满足卫星互联网应用需求[7]。美国DARPA推出的Black-jack项目通过Pit Boss实现星座管理、节点互联互通、智能协同以及信息安全等应用需求,其中的核心技术之一为智能操作系统[8]。
操作系统软件在各类计算机应用中的核心地位,其设计已经得到国际学术界的广泛重视,取得很大进展。但是,巨型星座场景下操作系统的研究总体来说仍然处于探索阶段,尚面临很多挑战。对于巨型星座信息系统构建及应用,传统面向具体场景通过星座管控组网、天基传感器管理调度、星座天地一体测运控、星座信息安全、在轨多源数据智能解译等“一事一议”定制改进的设计方法,没有构建统一的基础软件平台,难以形成有效的知识积累、软硬件生态、标准化货架产品以及提升巨型星座建设和应用效率。
2 关键技术及解决思路
针对巨型星座复杂应用场景,构建巨型星座信息基座——巨型星座操作系统,本文对巨型星座操作系统研制时涉及的体系架构、高效内核、融合组网、安全可信、生态体系等关键技术进行梳理分析,并提供初步的解决思路。
2.1 体系架构关键技术
架构定义涵盖需求、层次结构、功能结构、层间接口、内核架构、协议架构、安全架构等内容,是实现巨型星座操作系统研制的核心基础和难点。
采用系统工程、多级分层软硬件抽象和接口标准化方法,对巨型星座系统进行建模,模型如图1所示,主要包含海量硬件资源、操作系统内核、操作系统应用框架以及巨量应用软件等层次架构。
注:SDK为软件开发工具包;DSP为数字信号处理器;FPGA为现场可编程门阵列;SPARC为可扩充处理器架构;RISC-V为第五代精简指令集计算架构;ARM为精简指令集计算架构微处理器。图1 巨型星座管理及应用模型Fig.1 Management and application model of mega-constellation
海量硬件资源主要由CPU、ARM、FPGA、DSP、XPU等处理器构成,各处理器间基于分布式软总线,利用消息模式进行信息交互和任务协同,主要完成巨型星座系统中数据级处理。
内核主要完成海量硬件、软件资源抽象管理和高效调度,包含系统软件安全实时内核以及系统服务功能模块。采用功能最小化设计原则,为上层运行的操作系统服务提供基础抽象,但不实现具体提供给应用程序使用的功能,主要完成巨型星座系统中信息级处理。
应用框架是便于操作系统服务通信、导航、遥感等多类型空间任务设定,采用模块化、定制化设计,具备规模可伸缩和功能可裁剪特点,包含用户分级服务、资源库管理、知识库管理、任务协同以及平台运控等功能模块,主要完成巨型星座系统中任务级处理。
应用软件是操作系统通过软件定义卫星功能的核心,通过不断丰富、改进星载软件和算法,将卫星平台和有效载荷的功能尽可能地迁移到计算平台之上,改用软件实现。通过软件和算法的快速迭代和演化,实现卫星产品的持续演进,主要完成巨型星座系统中服务级处理。
综上,根据巨型星座核心共性基础功能和后续持续演化需求,精细定义每个层次的功能,在不影响其他层次的前提下,根据技术的进步或需求的变化,自由地替换某一层次的具体实现方式,实现快速高效的功能重构和升级。
2.2 高效内核关键技术
内核是巨型星座操作系统的基础,对下管控硬件,对上提供抽象,负责资源管理与任务调度。面向巨型星座复杂应用场景,巨型星座操作系统内核需要满足轻量化、低时延及强容错等需求。
面向不同的应用场景,操作系统种类很多、功能丰富各异,按内核结构主要分为宏内核结构操作系统、简要结构操作系统、外核结构操作系统、微内核结构操作系统[9]。操作系统内核典型架构频谱如图2所示,架构详细介绍如下。
图2 操作系统内核典型架构频谱Fig.2 Spectrum of typical architecture of operating system kernel
简要结构操作系统:该结构将应用程序与操作系统运行在相同的特权级别和同一个地址空间中,主要面向不支持地址空间隔离或特权隔离等功能的嵌入式设备以及仅需要运行单个程序的简单场景。这种结构的一个优势是应用程序和操作系统之间的交互简单且快速。但也正因如此,应用程序中的错误可能直接导致整个系统崩溃。该操作系统结构缺乏可持续演进能力,在面向异构星载硬件资源等方面扩展能力较差。
外核结构操作系统:外核结构通过将硬件抽象封装到与应用程序直接链接的库操作系统中,而库操作系统是应用程序开发人员自主配置或者自行开发的。在运行时,库操作系统和应用程序运行在同一个地址空间并运行在用户态,外核不提供具体抽象而仅负责保证多个应用程序能够安全且高效地共享硬件资源。但是,在面向复杂场景,库操作系统将会变得非常复杂,甚至相当于一个完整的宏内核,从而丧失外核架构本身的优势。
宏内核结构操作系统:整个操作系统都运行在内核态且属于同一地址空间。操作系统中所有的模块组件,如文件系统、网络栈、硬件驱动、进程管理等,都运行在具有特权的内核态。宏内核结构操作系统的一个显著优势为拥有良好的生态。不过,宏内核结构操作系统架构缺乏系统隔离、在安全和可靠方面存在不足,难以使用形式化方法进行验证。
微内核结构操作系统:微内核结构操作系统包括运行在内核态的微核和运行在用户态的若干操作系统功能模块,比如文件系统、网络协议栈、硬件驱动等。微核本身代码量很少,主要包括支撑上层系统服务运行、提供不同系统服务之间通信能力等必要机制;不同系统服务运行在用户态及不同的地址空间中,彼此隔离。通过微核提供的通信能力进行交互协同,从而为应用程序提供服务。微内核结构操作系统的架构优势在于拥有更好的容错性和安全性,保证不同系统服务之间的隔离,即使某个系统服务出现故障或受到安全攻击,也不会直接导致整个操作系统崩溃或被攻破。此外,微内核结构操作系统比较方便为不同场景定制不同的系统服务,从而更好适应不同应用需求。
综上,围绕巨型星座任务需求,选用全自主研发微内核结构操作系统的技术路线,在轻量化、可控时延、运行效率、可靠性、安全性、扩展性以及自主软件生态构建等方面优势明显,满足巨型星座复杂应用场景需求。
2.3 融合组网关键技术
节点间互联互通、灵活组网是实现巨型星座高效管理及智能应用的基础。巨型星座场景下,空间网络具有网络复杂、规模巨大、高动态拓扑、故障难以预测等特点,为网络的实时性和可靠性带来了挑战[9]。因此,需要结合操作系统对整个网络进行优化设计。
采用SDN(软件定义网络)作为基本技术路线,采用分级管控与分域管控两大技术路线来实现。分级管控是提升网络对单个网络的可管控规模,分域管控则是将大网划分为可相对独立管控的小网,两条路线结合,可以实现对万颗规模以上卫星实时、高效、优化、鲁棒的管控,如图3所示。
图3 高效网络管控架构Fig.3 Efficient network management and control architecture
首先,分域管控是将万颗规模以上卫星划分为多个相对独立的、较小的网络域,对每个独立的网络域进行分而治之,不同网络域之间内部信息互不干扰,只提供抽象层面的路由与协作接口,可以以指数级的速度降低卫星节点规模对于网络整体管控的可扩展性压力。
面向万颗规模以上卫星节点的管控需求,卫星网络基于星座功能和轨道特征两种规则进行划分。首先,将卫星网络按照功能划分为多个星座,如遥感星座、通信星座、气象星座、导航星座等;基于上述划分,针对规模比较大的星座进一步划分为规模更小的网域,按照相对稳定的组网结构进行划分,比如一个轨道面的卫星划分为一个网域。一般情况下,一个网域的规模不超过200个节点。
其次,针对海量节点导致的软件定义网络(SDN)控制平面扩展性不足的问题,采用分布式多控制器协同控制卫星网络。将地面控制器分为中心控制节点和分布式控制节点:中心控制节点由控制器集群构成,提供全网拓扑和路由转发策略的统一获取和管理,实现全局流量调度和网络优化;分布式控制节点采用分布式部署,负责部分天基网络节点的管控,处理不需要进行全局决策的网络控制请求,能够有效降低网络操作的响应时延,避免不必要的长距离传输[10]。
综上,构建巨型星座操作系统作为天基网络组网、调度、控制及管理的核心,满足天基网络节点、路由转发策略的高效协同管控。
2.4 安全可信关键技术
操作系统作为巨型星座的核心基础设施,其可信与安全是空间数据资产安全的基础。巨型星座的组网方式决定了其节点在空间领域呈现分布式的特点。因此,操作系统的技术架构亟需完成由集中式向分布式转变。同时,考虑星上的实际处理能力,卫星节点间需要相互合作,保证在有效控制和管理自身计算、存储及网络资源的同时完成指定任务。
如图4所示,操作系统采用一种基于分布式基础架构和计算方式的区块链技术,保证数据传输和访问全链路安全的“云-边-端”可信与安全架构。
图4 “云-边-端”分布式安全可信体系Fig.4 Cloud-edge-end distributed security and credibility system
根据巨型星座操作系统中不同节点所控制资源的不同和具体的功能需求[11],对“云-边-端”分布式协同可信与安全架构作出以下定义。
核心云节点:将控制关键存储、计算和网络资源的卫星作为核心云节点。核心云节点负责数据的全量存储,记录完整的区块链账本,提供核心共识机制和核心网络的接入,并结合“数据链+日志链”的双链结构,保障操作系统数据可信。
边缘云节点:从核心云节点向边缘扩展资源的卫星。边缘云节点按需获取核心云节点资源,并且仅缓存核心云分配的部分数据,采用基于区块链的多副本机制保证拜占庭容错下边缘缓存数据之间的数据一致性,同时为终端提供低延时的访问服务。
终端节点:单星节点、移动设备等终端设备。无需缓存完整数据,仅储存重要的区块头等信息,收集环境中的数据,可以向边缘云节点请求计算和网络通信服务。
“云-边-端”分布式协同可信与安全架构:根据卫星节点在外太空领域呈现分布式特点,结合区块链技术构建“核心云-边缘云-终端”的可信与安全架构,即“云-边-端”分布式协同可信与安全架构,应用于操作系统中。核心云节点之间组网连通组成核心网络,边缘云节点可以和其他的边缘网络的节点进行跨边缘网络协作,二者通过横向和纵向的协同融合为终端提供多样计算和低延迟服务。
综上,围绕巨型星座多星协同、动态管控、攻击防范等核心需求,基于区块链技术构建去中心化、“云-边-端”分布式协同可信与安全架构,形成巨型星座操作系统安全可信基座,运行保障巨型星座安全。
2.5 生态体系关键技术
开源已成为一种软件科技创新的主流模式,包括人工智能、区块链等前沿IT技术几乎都通过开源模式得以快速发展,实现技术创新突破和产业生态发展。一方面,通过开源可以以更高的效率汇聚更多志同道合的“创客”,参与到新技术的革新和孕育之中,以寻求实现技术突破;另一方面,通过开源可以以更低的成本吸引更多的“新潮”用户,参与到新产品的成熟和传播之中,以寻求迅速从边缘低端产品变成主流高端产品。
巨型星座操作系统是一个新场景、新领域,如何实现快速发展仅仅靠一家单位是难以实现快速突破,需要汲取大规模群体智慧的力量,将核心开发者、各类厂商、科研机构、志愿者等广泛联接起来,开展探索创新。
围绕巨型星座操作系统的协同研发场景、测试和部署需求、应用构建特点等,构建一套面向通用领域的基础平台,需要突破适用于巨型星座操作系统大规模分布式协同研发需求的代码协作、任务协作和文档协作等技术,研究针对巨型星座操作系统持续演化需求的质量管理、持续集成、克隆检测技术等,并在基础平台之上做进一步的定制化开发,构造针对巨型星座操作系统的开发与演化支撑环境。
综上,通过巨型星座操作系统,促成星载硬件标准化、模块化,满足星载软硬件标准化设计和硬件资源虚拟化管理;促成软件构件化,提升软件复用度和继承性,减少二次开发,为形成软件生态奠定基础。
3 发展建议
以规模巨大、泛在物联、组网协同、敏捷重构、智能自主、弹性健壮等为基本特征的巨型星座已成为构建新型天基能力的重要支撑,引起全球各国高度重视,并争相开展大规模星座系统的建设。国外面向巨型星座场景的操作系统已开展研究,部分成果已走向工程应用。我国已开展大规模星座的论证或建设,而现有星载操作系统只能支撑单星应用,无法满足巨型星座复杂应用场景的需求,应从以下几方面加强研究。
3.1 强化巨型星座体系架构顶层设计和规划
我国已开始建设部署卫星互联网等大规模卫星星座,强化巨型星座体系架构顶层设计与规划,提升巨型星座的高效管理与智能应用能力,支持巨型星座网络化、云化、智能化以及用户无感的高效运行,将促进巨型星座体系效能的整体性跃升。
调研我国现有和规划的天基资源,并结合典型应用样式,应用体系工程设计方法研究建立未来巨型星座资源应用需求与体系架构,优化体系结构、增强功能性能、强化综合效能,实现需求到操作系统架构的映射连接,为我国自主开发巨型星座操作系统提供需求输入。
3.2 打造巨型星座系统核心基础设施和信息基座
操作系统作为巨型星座的核心基础设施和信息基座,将星座的各节点资源进行虚拟化连接和融合,是实现巨型星座网络化、云化和智能化的星上基础软件,负责支持大规模星座资源管理、互联互通、自主运控和安全可信等核心基础功能。
结合巨型星座任务需求,巨型星座操作系统采用自研微内核进行全自主研发的技术路线,满足核心基础设施必须自主可控、安全可信的国家战略需求。而且,不需要背负Linux等成熟开源操作系统沉重的历史包袱,在轻量化、可控时延、高可靠性、自主可控方面具有强优势。与此同时,操作系统应用成功的关键在于建立完整的生态,自研操作系统将掌握构建生态的主动权,形成面向航天领域的自主可控开源软件生态。
3.3 建立自主可控的航天软件生态体系
现有星载操作系统主要基于行业成熟或开源操作系统进行功能定制开发,安全可信、自主可控等方面难以保障,且只支持单星数据管理或平台控制等基础功能,无法满足巨型星座场景下全动态自主管控、互联互通、灵活组网、资源共享、智能协同、软件定义复杂应用等全新需求。
未来,通过巨型星座操作系统赋能,支撑实现巨型星座高效管理及智能应用,形成开放包容、自主可控的航天软件生态体系、万颗规模卫星的互联互通和自主运控、千颗规模卫星任务即时协同、巨型星座全链路安全可信等新质能力,显著提升我国航天装备研制效率和天基系统体系效能。
4 结束语
本文提出了一种面向巨型星座复杂应用场景的操作系统构想,梳理了体系架构、高效内核、融合组网、安全可信、生态体系等关键技术,支持实现巨型星座高效管理及智能应用。既可作为单星基础软件,支持单节点资源高效管理和任务即时调度;也可作为巨型星座基础软件,支持海量硬件资源融合管理,形成云服务能力。
巨型星座操作系统向下管理和驱动海量异构感知、计算、存储、网络和安全等基础硬件资源,即时聚合、关联、调配、迁移软硬件资源,管理任务;向上支持巨量航天App,为软件赋能航天装备提供统一、标准、安全、可靠的运行环境和接口,形成快速有弹性的软件能力。通过即时聚合、关联、调配和迁移软硬件资源,完成任务高效协同,为新技术通过软件定义的技术手段快速转化为新战力提供统一基础软件平台。