一种对象级隔离运行槽切换的卫星在轨编程方法及系统与流程

摘要: 本发明涉及卫星在轨维护的,尤其涉及一种对象级隔离运行槽切换的卫星在轨编程方法及系统。具体包括航天器在轨维护、星载软件更新、载荷算法更新、智能模型更新、可编程逻辑...
一种对象级隔离运行槽切换的卫星在轨编程方法及系统与流程

本发明涉及卫星在轨维护的,尤其涉及一种对象级隔离运行槽切换的卫星在轨编程方法及系统。具体包括航天器在轨维护、星载软件更新、载荷算法更新、智能模型更新、可编程逻辑配置更新和软件定义卫星的细化领域。

背景技术:

1、随着低轨通信星座、遥感星座、软件定义卫星、智能载荷和星上边缘计算的发展,卫星在轨期间需要更新的对象已不再局限于星务核心软件或完整应用程序,还包括载荷处理服务、图像压缩算法、通信协议应用层逻辑、星间路由策略、目标识别模型、异常检测模型、参数配置和现场可编程逻辑配置数据等多种形态。

2、传统星载软件在轨维护多围绕星载计算机软件、固定程序块、可变程序块、整镜像、应用程序存储区、模块替换或补丁包展开。这类方案能够解决星载软件更新问题,但其更新对象通常以软件程序块、应用程序、模块或函数为主,对目标星载设备内部运行环境差异、非软件对象形态、对象级入口切换和对象级快速回退关注不足。

3、专利cn101980161b公开了一种星载计算机软件的在轨更新方法,该方案主要通过星务主机、星载下位机、应答机以及星上总线实现程序块在轨上注和更新,适合传统程序块级维护。专利cn103777983b公开了一种星载软件在轨维护及升级方法,支持整体软件升级、软件模块替换、参数修改和增加软件模块。专利cn110474673b公开了一种支持断点续传的动态在轨热更新方法,重点解决在轨更新过程中测控链路中断和数据续传问题。专利cn112241270b公开了一种用于卫星星座系统中星载软件在轨维护的系统及方法,重点面向星座级软件维护组织。

4、上述方案仍存在以下问题:第一,更新对象粒度偏粗,难以直接适配单个服务、单个算法、单个模型或单个逻辑配置数据的对象级更新;第二,回退粒度偏粗,通常面向程序块、模块、应用程序或整机软件版本,难以实现目标设备内部单对象快速回退;第三,对cpu、dsp、fpga、智能处理器等异构目标设备中的对象运行单元、入口选择方式和自检方式缺少统一定义;第四,传统双区或备份区易被实现为存储备份,缺少加载、校验、入口关联、自检结果、运行状态和异常记录等完整工程结构;第五,新对象在目标设备本地运行期间,缺少针对接口访问、资源占用、输出一致性和配置回读的沙箱约束与异常判定机制。

5、因此,需要一种面向卫星多类型目标星载设备的在轨服务编程方法,将待更新对象抽象为可独立加载、校验、自检、切换和回退的对象级单元,并在目标设备本地通过对象级隔离运行槽和入口选择表实现不覆盖原对象的安全切换。

技术实现思路

1、针对上述问题,本发明的目的在于提供一种对象级隔离运行槽切换的卫星在轨编程方法及系统。以解决现有技术中存在的更新对象粒度较粗、回退范围较大、目标设备异构处理架构难以统一适配、以及新对象缺少接口和资源约束的问题。

2、本发明的上述发明目的是通过以下技术方案得以实现的:

3、一种对象级隔离运行槽切换的卫星在轨编程方法,包括以下步骤:

4、s1:发射前在目标星载设备中预置服务沙箱执行环境,所述服务沙箱执行环境包括至少两个对象级隔离运行槽和入口选择表;

5、s2:地面生成服务编程包,经星务计算机校验和适配检查通过后,将所述服务编程包分发至对应的目标星载设备;

6、s3:所述目标星载设备将所述服务编程包中的待编程对象加载至备用对象级隔离运行槽,并执行短时自检;

7、s4:自检通过后,所述目标星载设备更新所述入口选择表,将当前调用入口切换至所述备用对象级隔离运行槽,使新对象生效;

8、s5:新对象试运行期间若监测到异常,则将所述入口选择表切回原对象级隔离运行槽,实现对象级回退,并将状态遥测包在测控窗口内下传至地面。

9、进一步地,在步骤s1中,在步骤s1中,所述服务沙箱执行环境还包括自检模块、运行监测模块、接口访问控制规则、资源限制规则和回退模块;

10、所述接口访问控制规则限定待编程对象可访问的受控接口,并禁止待编程对象直接访问姿态控制接口、电源控制接口、遥控指令发送接口、底层总线驱动接口、启动区写入接口、星务核心镜像写入接口或故障保护策略修改接口;

11、所述资源限制规则包括最大内存、最大栈空间、最大运行时间、最大日志空间、最大重启次数、心跳超时时间、输入输出缓冲区大小、配置区大小和逻辑资源占用上限中的至少一种;

12、所述目标星载设备按照空闲态、接收态、校验态、备用槽加载态、自检态、待切换态、已切换试运行态、正常运行态、回退态和冻结态中的至少部分状态运行所述服务沙箱执行环境;

13、所述对象级隔离运行槽为所述目标星载设备中用于承载待编程对象的独立对象运行单元,每个所述对象级隔离运行槽至少包括对象存储区、对象元数据区、入口关联区、对象状态区、自检结果区和异常记录区。

14、进一步地,在步骤s2中,所述服务编程包包括目标设备适配信息、待编程对象类型、待编程对象数据、版本信息、接口权限信息、资源限制信息、自检规则、完整性校验值、数字签名和回退策略,其中所述目标设备适配信息包括目标设备标识、目标设备类型、目标处理架构、目标运行环境、目标版本、目标资源能力和目标接口能力中的至少一种;

15、所述星务计算机在接收到地面生成的所述服务编程包之后执行的校验和适配检查包括完整性校验、签名验证、目标卫星匹配、目标设备匹配、对象类型匹配、目标处理架构匹配、目标运行环境匹配、版本合法性检查和资源能力匹配。

16、进一步地,在步骤s2中,地面生成的所述服务编程包经过所述星务计算机校验失败时,所述星务计算机丢弃、冻结或隔离所述服务编程包,并保持所述目标星载设备当前状态;

17、所述星务计算机通过星内总线或星内高速链路将所述服务编程包分发至目标星载设备,所述星内总线或星内高速链路包括1553b总线、can总线、串行总线、以太网、高速串行链路或自定义星内总线中的至少一种;

18、当单个测控窗口无法完成所述服务编程包传输时,所述星务计算机采用分片接收和断点续传方式接收所述服务编程包,所述断点续传不改变所述目标星载设备中当前生效对象级隔离运行槽的生效状态。

19、进一步地,在步骤s3中,所述目标星载设备将所述待编程对象写入非当前生效的所述备用对象级隔离运行槽,并在对象元数据区记录对象标识、对象类型、版本号、校验值、资源限制、接口权限和回退策略;

20、所述待编程对象包括软件服务、算法模块、智能模型、配置参数和可编程逻辑配置数据中的至少一种;

21、所述短时自检为在所述备用对象级隔离运行槽中对所述待编程对象执行短时自检,包括加载检测、启动检测、心跳检测、资源占用检测、接口访问合法性检测、测试输入输出检测、配置回读检测、状态寄存器检测、测试向量输出比对和异常退出检测中的至少一种。

22、进一步地,在步骤s4中,所述目标星载设备仅更新所述入口选择表中的当前生效槽标识和入口关联信息,使当前调用入口、算法入口、模型索引、配置选择标志、数据通路选择信息或服务注册信息指向所述备用对象级隔离运行槽,不覆盖原对象级隔离运行槽中的对象数据;

23、所述入口选择表至少包括对象标识、对象类型、当前生效槽标识、备用槽标识、入口类型、当前入口地址或索引、备用入口地址或索引、校验状态、切换状态和回退标志。

24、进一步地,在步骤s5中,新对象被所述入口选择表指向后,所述目标星载设备进入试运行状态,在试运行时间窗口内根据接口访问控制规则、资源限制规则和运行状态监测结果判断新对象是否异常;

25、当新对象异常时,所述目标星载设备冻结、停止或禁用所述新对象,并将所述入口选择表恢复为指向原对象级隔离运行槽;

26、所述运行状态监测结果包括心跳状态、运行时间、资源占用、接口访问记录、输出结果、配置回读结果、状态寄存器、错误码和看门狗状态中的至少一种;

27、新状态异常包括启动失败、心跳异常、资源占用超限、非法接口访问、异常退出、输出错误码、测试结果不一致、配置失败、配置回读异常、数据通路异常或看门狗超时中的至少一种。

28、进一步地,在步骤s5中,还包状态汇聚和下传,具体为:

29、所述目标星载设备向所述星务计算机上报包括加载、自检、切换、试运行、异常或回退在内的状态摘要;

30、所述星务计算机汇聚一个或多个目标星载设备的状态遥测包,并在测控窗口内下传至地面;

31、所述状态摘要包括目标设备标识、待编程对象名称、旧版本、新版本、当前生效槽标识、备用槽标识、自检结果、切换状态、试运行状态、回退状态、错误码和资源占用峰值中的至少一种。

32、进一步地,所述目标星载设备包括采用通用处理器、数字信号处理器、现场可编程逻辑器件、智能处理器、片上系统处理器或专用处理器的星载设备;

33、当所述目标星载设备为通用处理器类设备时,所述对象级隔离运行槽为软件服务槽,所述入口选择表用于切换服务入口、任务调度入口或服务注册信息;

34、当所述目标星载设备为数字信号处理设备时,所述对象级隔离运行槽为算法槽,所述入口选择表用于切换算法入口、算法编号、输入输出缓冲区绑定关系或数据流路由关系;

35、当所述目标星载设备为现场可编程逻辑设备时,所述对象级隔离运行槽为逻辑配置槽,所述入口选择表用于切换配置选择标志、逻辑功能选择信息、配置启动标志或数据通路选择信息;

36、当所述目标星载设备为智能处理设备时,所述对象级隔离运行槽为模型槽,所述入口选择表用于切换模型索引、推理入口或模型加载表。

37、一种用于执行如上述的对象级隔离运行槽切换的卫星在轨编程方法的对象级隔离运行槽切换的卫星在轨编程系统,包括地面在轨服务编程管理平台、星务计算机和至少一个目标星载设备;

38、所述地面在轨服务编程管理平台用于生成服务编程包;

39、所述星务计算机用于接收所述服务编程包,执行完整性校验、签名验证、目标设备匹配、目标处理架构匹配、目标运行环境匹配、资源能力匹配、任务分发、回退协调和状态汇聚;

40、所述目标星载设备包括服务沙箱执行环境,所述服务沙箱执行环境包括至少两个对象级隔离运行槽、入口选择表、自检模块、运行监测模块和回退模块;所述入口选择表用于将当前生效入口指向备用对象级隔离运行槽,或者在异常时将当前生效入口切回原对象级隔离运行槽。

41、与现有技术相比,本发明包括以下至少一种有益效果是:

42、(1)本发明通过在地面生成服务编程包、由目标星载设备将待编程对象加载至备用对象级隔离运行槽、自检通过后更新入口选择表完成切换、异常时切回原槽实现对象级回退的整体流程,使得星载设备能够针对单个软件服务、算法模块、智能模型、配置参数或可编程逻辑配置数据进行对象级在轨服务编程,相对于完整镜像或大程序块更新,大大降低了单次更新影响范围,缩短了更新和回退时间。

43、(2)相对于传统双区存储,本发明的对象级隔离运行槽具有对象存储区、对象元数据区、入口关联区、对象状态区、自检结果区和异常记录区等工程结构,能够支撑待编程对象的实际加载、校验、运行和回退,使得每个隔离运行槽均可独立承载对象并记录完整生命周期状态,为入口选择表切换和异常恢复提供工程基础。

44、(3)本发明在切换时仅修改入口选择表,不覆盖原对象级隔离运行槽中的对象数据,能够在新对象异常时通过将入口选择表恢复为指向原对象级隔离运行槽实现快速恢复原对象入口,无需重新加载或重启目标设备,切换和回退过程对星务核心软件和其他并行运行的对象无影响。

45、(4)本发明通过接口访问控制规则和资源限制规则,限制新对象仅能访问被授权的受控接口,禁止其直接访问姿态控制、电源控制、遥控指令发送等安全关键接口,并约束其最大内存、最大栈空间、最大运行时间、最大重启次数等资源占用,从而降低异常对象影响卫星安全关键功能的风险。

46、(5)本发明适配通用处理器、数字信号处理器、现场可编程逻辑器件、智能处理器、片上系统处理器和专用处理板等异构目标设备,针对不同处理架构分别对应软件服务槽、算法槽、逻辑配置槽和模型槽等对象级隔离运行槽工程形态,避免将方案限定于单一星载计算机软件升级,具有良好的通用性和可扩展性。

47、(6)本发明中目标星载设备可在测控窗口外自主完成备用槽加载、短时自检、入口选择表切换、试运行监测和对象级回退,测控窗口内主要完成服务编程结果和状态遥测下传,减少了对测控链路的占用,适合低轨卫星有限测控窗口的实际约束。