1.一种星载软件高可靠快速重构方法,其特征在于,所述方法包括:利用SmartFusion2芯片、FLASH模组、DDR和SRAM型FPGA构建空间飞行器中的星载处理器;所述FLASH模组包括多个FLASH芯片;向空间飞行器发送指令利用星载处理器读取FLASH芯片中对应的软件配置项的可执行文件,进行校验并返回校验值;根据星载处理器返回的校验值,确认星载FLASH中的程序版本以及数据是否正确,并对需要在轨重构的可执行文件进行比较,生成重构差异数据包;确定文件分割的数据块大小;以数据块为单位,将待重构的原始可执行文件数据包以及重构差异数据包进行分割后分别进行压缩,计算压缩率,并以压缩率为指标,逐块选取压缩率高的数据块,按顺序组成最终的待注入文件,并生成解压信息,标注每个数据块是选取的原始重构数据还是重构差异数据;以数据块为单位,将解压信息和最终的待注入文件通过星地链路上注至空间飞行器;星载处理器收到注入信息后,以数据块为单位,将注入信息进行解压缩,并根据注入的解压信息,决定当前数据块写入FLASH芯片时的处理方式将注入信息写入FLASH芯片后,返回数据块处理结果;根据星载处理器返回的处理结果决定继续上注或重新上注,直至所有数据块上注完成实现数据快速重构;根据注入的解压信息,决定当前数据块写入FLASH芯片时的处理方式将注入信息写入FLASH芯片,包括:星载处理器向FLASH芯片中写入数据时,根据数据包的解压信息进行不同处理,若当前数据块为原始重构数据,则解压后直接写入FLASH芯片中;若当前数据块为差异重构数据,则首先从FLASH芯片对应地址中读取出数据,然后与解压后的差异重构数据异或,将异或后的结果写入FLASH中;计算压缩率的过程包括:根据原始数据块的大小和压缩后数据块的大小计算压缩比,并根据所述压缩比和预先设置的控制压缩比曲线形状参数计算得到压缩比调整系数;根据压缩数据块所需时间和解压数据块所需时间计算得到时间惩罚系数;根据CRC算法计算解压过程中的数据完整性校验值,利用所述数据完整性校验值和解压过程中检测到的数据错误数量构建完整性奖励函数;利用所述压缩比调整系数、时间惩罚系数、完整性奖励函数和原始数据块大小计算得到压缩率。
2. 根据权利要求1所述的方法,其特征在于,所述SmartFusion2芯片作为重构单元,其内部的ARM Cortex-M3单元运行重构应用程序,负责接收与解析重构相关数据帧、解压压缩文件以及控制向FLASH芯片写入源程序文件;SmartFusion2芯片中的FPGA单元完成与FLASH芯片、SRAM型FPGA及其他器件的接口转换、数据交互和时序控制。
3.根据权利要求1所述的方法,其特征在于,所述FLASH芯片挂载于SmartFusion2芯片上,外部处理器可通过板间互联线,经过SmartFusion2芯片以只读的方式获取FLASH芯片内容;仅重构应用具备Flash芯片的写权限,保障重构内容的数据安全性,同时为多处理器的硬件结构提供可靠的重构数据安全保障。
4.根据权利要求1所述的方法,其特征在于,确定文件分割的数据块大小的过程包括:确定文件分割的数据块单元大小时,通过有限遍历查询的方式选取,数据块大小为FLASH芯片每个扇区大小的2 N 倍,其中N为从0开始的正整数,2 N 最大不超过待重构文件的大小,以混合压缩后文件最小为目标选取N的数值。
5. 根据权利要求1所述的方法,其特征在于,根据所述压缩比和预先设置的控制压缩比曲线形状参数计算得到压缩比调整系数,包括:根据所述压缩比和预先设置的控制压缩比曲线形状参数计算得到压缩比调整系数其中, 表示压缩比, 表示原始数据块大小, 表示压缩后数据块大小, 和 表示控制压缩比曲线形状参数。
6. 根据权利要求1所述的方法,其特征在于,根据压缩数据块所需时间和解压数据块所需时间计算得到时间惩罚系数,包括:根据压缩数据块所需时间和解压数据块所需时间计算得到时间惩罚系数为其中, 表示压缩数据块所需时间, 表示解压数据块所需时间, 和 表示时间权重参数。
7. 根据权利要求1所述的方法,其特征在于,利用所述数据完整性校验值和解压过程中检测到的数据错误数量构建完整性奖励函数,包括:利用所述数据完整性校验值和解压过程中检测到的数据错误数量构建完整性奖励函数为其中, 表示解压过程中检测到的数据错误数量, 和 表示完整性权重参数, 表示数据完整性校验值, 表示当前原始数据块的数据完整性值。
8. 根据权利要求1所述的方法,其特征在于,利用所述压缩比调整系数、时间惩罚系数、完整性奖励函数和原始数据块大小计算得到压缩率,包括:利用所述压缩比调整系数、时间惩罚系数、完整性奖励函数和原始数据块大小计算得到压缩率其中, 表示压缩比调整系数, 表示时间惩罚系数, 表示完整性奖励函数, 表示原始数据块大小。