一种基于差异化算法的航天器软件在轨增量重构方法技术

技术编号:27271047 阅读:20 留言:0更新日期:2021-02-06 11:36
本公开的基于差异化算法的航天器软件在轨增量重构方法,通过将航天器的基线星载软件和新版星载软件输入到重构编码器中,通过差异化算法计算得基线星载软件和新版星载软件的补丁文件;利用Deflate压缩算法对补丁文件进行压缩,并封装为航天器上注时使用的遥控帧数据;将遥控帧发送给目标航天器;对遥控帧进行逐一解析,并进入在轨维护状态;根据基线星载软件和补丁文件,用差异化查找算法恢复新版本星载软件;比较恢复的新版本星载软件的CRC

【技术实现步骤摘要】
一种基于差异化算法的航天器软件在轨增量重构方法


[0001]本公开属于航天器在轨维护与在轨重构
,特别涉及一种基于差异化算法的航天器软件在轨增量重构方法。

技术介绍

[0002]随着航天技术的发展,航天器服役时间不断增长。同时,星载软件也因航天器功能的不断增加而日趋复杂。这些都使得航天在寿命期内对星载软件升级的需求与日剧增。然而,当前航天器一般仅支持单星功能级(函数级)在轨重构和单机软件级在轨注入和重构两种在轨重构方式。前者一般通过预设函数接口的方式实现,优点是软件重构时非更新功能仍然可以无间断工作,无需重启,缺点是一方面对需要地面维护人员熟悉航天器软件状态,否则将难以避免维护过程中可能存在的重构盲区;另一方面是单机复位后软件将恢复重构前状态,需要地面重新注入。后者一般通过地面上注重写EEPROM或FLASH的方式实现,优点是可以实现单机软件全功能替换。缺点则是全功能替换导致地面需要通过大量的指令上注,从而向航天器发送在轨重构所需的完整的软件信息。这使得在轨维护将占用一个或多个可见弧段,严重影响航天器的使用。不仅如此,现有航天器软件在轨重构的共同点是针对每个卫星每一次一次重构都需要专门制定相关方案,并需要卫星方和基地用户安排专人测试和执行重构,效率较低且周期较长。
[0003]当前星载软件功能增加,随之而来的即是星上软件规模迅速增长,程序上注时间越来越长,这与遥感卫星或深空探测可见弧段和资源极为受限相矛盾。同时,在轨卫星数量的大幅度增加,以及侦察、监视星群的出现,由于缺乏具备统一性和通用性的方法,导致地面维护人员往往需要每个卫星进行重构前大量准备与复核工作,需提前准备1~3周。这种低效率的方式逐渐难以满足更新需求。以导航星座为例,不同批次的卫星载荷、硬件可能都存在差异,如果对整网三十多个型号逐个更新耗时巨大,耗人众多。若未来数百颗卫星的网络,这种重构方式更是无法承受。
[0004]由此可见,当前星载软件在轨重构能力落后且无力支持未来卫星网络星群重构需求。航天器在轨维护方面缺少具备统一性、通用性和高效率的新型在轨维护与在轨重构方法,相关问题亟待解决。

技术实现思路

[0005]有鉴于此,本公开提出了一种基于差异化算法的航天器软件在轨增量重构方法,具备低数据传输需求、高复用性和高可靠性的在轨重构方法。在不改变航天器硬件、单机设计的前提下,提高了航天器在轨重构效率,并适应未来卫星网络化、星群化的需求;能够将在轨维护功能划分在航天器多个运行阶段中,保证了待更新软件数据的快速解析,即使在重构过程中出现故障,也仍然能够保证原始星载软件可以有效运行。
[0006]根据本公开的一方面,提出了一种基于差异化算法的航天器软件在轨增量重构方法,所述方法包括:
[0007]将所述目标航天器的基线星载软件和新版星载软件输入到重构编码器中,通过差异化算法计算得到所述基线星载软件和新版星载软件的补丁文件;
[0008]利用Deflate压缩算法对所述补丁文件进行压缩,将压缩后的补丁文件封装为所述航天器上注时使用的遥控帧数据;
[0009]将补丁文件遥控帧发送给所述目标航天器;
[0010]所述目标航天器对所接收的补丁文件遥控帧进行逐一解析,将恢复的压缩补丁文件保存都所述航天器的存储器中,并进入在轨维护状态;
[0011]根据所述航天器中保存的基线星载软件和补丁文件,用差异化查找算法恢复新版本星载软件;
[0012]比较所述恢复的新版本星载软件的CRC-32校验码与所述补丁文件中的新版本星载软件的CRC-32校验码,若二者相同,则执行新版本星载软件,否则,执行基线星载软件。
[0013]在一种可能的实现方式中,所述补丁文件包括:块识别号,控制块、差异块和新增块;
[0014]其中,所述块识别号,用于标记所述差异化算法版本;
[0015]所述控制块,用于标记所述基线星载软件和新版星载软件待比较的数据子序列,标记所述差异块和新增块的数据长度;
[0016]所述差异块,用于表示所述基线星载软件和新版星载软件在当前子序列中存在差异的数据部分;
[0017]所述新增块,用于表示所述新版星载软件新增的数据部分和所述基线星载软件独有的数据部分。
[0018]在一种可能的实现方式中,所述压缩后的补丁文件包括:块识别、压缩后补丁文件的长度数据、所述基线星载软件和新版星载软件的CRC-32校验码和补丁文件的原始数据。
[0019]在一种可能的实现方式中,所述遥控帧数据包括补丁文件数据帧和补丁文件校验帧;
[0020]所述补丁文件数据帧为所述压缩后的补丁文件根据所述遥控帧数据的最大长度拆分而成,所述补丁文件数据帧包括被拆分补丁文件的块序号、块地址偏移和块长度;
[0021]所述补丁文件校验帧包括所述压缩后的补丁文件的CRC-32校验码和长度信息。
[0022]在一种可能的实现方式中,所述目标航天器对所接收的补丁文件遥控帧进行逐一解析,包括:
[0023]步骤S1:对所述补丁文件遥控帧的补丁文件数据帧逐一解析,获取所述补丁文件数据帧的块序号、块地址偏移和块长度的参数;当所述参数在有效数值范围时,根据所述块序号和块地址偏移保存到相应的存储空间;
[0024]步骤S2:所述航天器的星载软件根据接收到的所述补丁文件校验帧,计算缓存中子初始位置至所述压缩后补丁文件长度信息内的CRC-32校验码,比较所述CRC-32计算校验码和所述补丁文件校验帧的CRC校验码,当二者相同时,执行步骤S3;
[0025]步骤S3:将缓存中保存的补丁文件数据烧写到所述航天器指定的地址空间中。
[0026]本公开的基于差异化算法的航天器软件在轨增量重构方法,通过将所述目标航天器的基线星载软件和新版星载软件输入到重构编码器中,通过差异化算法计算得到所述基线星载软件和新版星载软件的补丁文件;利用Deflate压缩算法对所述补丁文件进行压缩,
将压缩后的补丁文件封装为所述航天器上注时使用的遥控帧数据;所述航天器将补丁文件遥控帧发送给所述目标航天器;对所接收的补丁文件遥控帧进行逐一解析,将恢复的压缩补丁文件保存都所述航天器的存储器中,并进入在轨维护状态;根据所述航天器中保存的基线星载软件和补丁文件,用差异化查找算法恢复新版本星载软件;比较所述恢复的新版本星载软件的CRC-32校验码与所述补丁文件中的新版本星载软件的CRC-32校验码,若二者相同,则执行新版本星载软件,否则,执行基线星载软件。具备低数据传输需求、高复用性和高可靠性的在轨重构方法。在不改变航天器硬件的前提下,提高航天器在轨重构效率、适应未来卫星网络化、星群化的需求;能够将在轨维护功能划分在航天器多个运行阶段中,保证待更新软件数据的快速解析,即使在重构过程中出现故障,也能够保证原始星载软件的有效运行。
[0027]根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
[0028]包含在说明书中并且构成说明书的一部分本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于差异化算法的航天器软件在轨增量重构方法,其特征在于,所述方法包括:将所述目标航天器的基线星载软件和新版星载软件输入到重构编码器中,通过差异化算法计算得到所述基线星载软件和新版星载软件的补丁文件;利用Deflate压缩算法对所述补丁文件进行压缩,将压缩后的补丁文件封装为所述航天器上注时使用的遥控帧数据;将补丁文件遥控帧发送给所述目标航天器;所述目标航天器对所接收的补丁文件遥控帧进行逐一解析,将恢复的压缩补丁文件保存到所述目标航天器的存储器中,并进入在轨维护状态;所述目标航天器的重构解码器启动引导状态,根据所述目标航天器中保存的基线星载软件和补丁文件,用差异化查找算法恢复新版本星载软件;比较所述恢复的新版本星载软件的CRC-32校验码与所述补丁文件中的新版本星载软件的CRC-32校验码,若二者相同,则执行新版本星载软件,否则,执行基线星载软件。2.根据权利要求1所述的在轨增量重构方法,其特征在于,所述补丁文件包括:块识别号,控制块、差异块和新增块;其中,所述块识别号,用于标记所述差异化算法版本;所述控制块,用于标记所述基线星载软件和新版星载软件待比较的数据子序列,标记所述差异块和新增块的数据长度;所述差异块,用于表示所述基线星载软件和新版星载软件在当前子序列中存在差异的数据部分;所述新增块,用于表示所述新版星载软件新增的数据部分和所...

【专利技术属性】
技术研发人员:杨培尧张亚航董振辉赵方圆杨柳青张红军张冉杨志刚于俊慧李佳津
申请(专利权)人:北京空间飞行器总体设计部
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1