一种程序更新方法、装置、星务计算机及存储介质制造方法及图纸

技术编号:25184633 阅读:20 留言:0更新日期:2020-08-07 21:12
本申请提供一种程序更新方法、装置、星务计算机及存储介质,该方法应用于星务计算机,包括:从星务计算机的程序存储区获取第一程序代码;判断第一程序代码与星务计算机的程序运行区中的第二程序代码是否相同;若否,则使用第一程序代码替换程序运行区中的第二程序代码,并执行程序运行区中的第一程序代码。在上述的实现过程中,通过整体替换程序代码的方式替换了采用补丁方式进行更新,从而使得在轨卫星上的星务计算机上正在运行的程序代码得到更新,有效地提高了对在轨卫星上的星务计算机进行程序更新的可靠性,改善了对在轨卫星上的星务计算机进行程序更新的可靠性非常低的技术问题。

【技术实现步骤摘要】
一种程序更新方法、装置、星务计算机及存储介质
本申请涉及计算机数据处理的
,具体而言,涉及一种程序更新方法、装置、星务计算机及存储介质。
技术介绍
星务计算机,是指运行在人造卫星中的计算机,星务计算机是小卫星信息系统核心,主要负责卫星的任务调度和综合信息处理工作;通常星务计算机可以包括存储程序的程序存储区和运行程序的程序运行区,其中,程序运行区仅能够存储一个程序代码,程序运行区中的程序代码是一个完整且连续的运行代码,必须作为一个整体连续运行,不允许中断退出。目前,星务计算机的程序更新采用补丁方式进行更新的可靠性较低,目前的星务计算机的应用程序必须作为一个整体连续运行,不允许中断退出,因此,难以实现新添一个程序补丁对原程序进行修补或者修改,再用修补或者修改后的程序替代原有程序运行;也就是说,采用补丁方式对在轨卫星上的星务计算机进行程序更新的可靠性非常低。
技术实现思路
本申请实施例的目的在于提供一种程序更新方法、装置、星务计算机及存储介质,用于改善对在轨卫星上的星务计算机进行程序更新的可靠性非常低的问题。本申请实施例提供了一种程序更新方法,应用于星务计算机,包括:从星务计算机的程序存储区获取第一程序代码;判断第一程序代码与星务计算机的程序运行区中的第二程序代码是否相同;若否,则使用第一程序代码替换程序运行区中的第二程序代码,并执行程序运行区中的第一程序代码。在上述的实现过程中,判断从程序存储区获取的第一程序代码与程序运行区中的第二程序代码是否相同;若不相同,则使用第一程序代码替换程序运行区中的第二程序代码,并执行程序运行区中的第一程序代码;通过整体替换程序代码的方式替换了采用补丁方式进行更新,从而让程序代码作为一个整体更新至程序运行区,待星务计算机下一次重启时执行更新后的程序代码,以避免程序代码被更新中断退出运行的情况,使得在轨卫星上的星务计算机上正在运行的程序代码得到更新,有效地提高了对在轨卫星上的星务计算机进行程序更新的可靠性,改善了对在轨卫星上的星务计算机进行程序更新的可靠性非常低的技术问题。可选地,在本申请实施例中,在从星务计算机的程序存储区获取第一程序代码之前,还包括:接收通信机发送的多个数据帧;判断多个数据帧是否接收完成;若否,则对多个数据帧中已经接收到的每个数据帧进行校验;若是,则根据多个数据帧生成第一程序代码,并在对第一程序代码进行校验通过后,将第一程序代码存储至程序存储区。在上述的实现过程中,通过对接收到的多个数据帧判断是否接收完成;若没有接收完成,则对每个数据帧校验,若接收完成,则对整个第一程序代码进行校验后,将第一程序代码存储在程序存储区,以便星务计算机下一次重启时执行程序更新;从而保证了第一程序代码在网络传输和计算机处理的过程中不被修改或破坏,有效地保证了待更新的第一程序代码的完整性和正确性。可选地,在本申请实施例中,将第一程序代码存储至程序存储区,包括:在星务计算机的引导加载程序运行时,判断在预设时长内是否接收到预设字符串,预设字符串表征存储并更新程序运行区中的程序代码的指令;若是,则将第一程序代码存储至程序存储区和程序运行区。在上述的实现过程中,通过在星务计算机的引导加载程序运行时,若在预设时长内接收到预设字符串,则将第一程序代码存储至程序存储区和程序运行区;从而提高星务计算机在地面调试时的工作效率,加快了星务计算机从调试状态到在轨运行状态的速度。可选地,在本申请实施例中,程序存储区包括:多个存储区;从星务计算机的程序存储区获取第一程序代码,包括:从多个存储区中的对应位置处按字节提取出至少两个相同的代码片段,获得多个代码片段;将多个代码片段进行拼接,获得第一程序代码。在上述的实现过程中,通过从多个存储区中的对应位置处按字节提取出至少两个相同的代码片段,获得多个代码片段;并将多个代码片段进行拼接,获得第一程序代码;也就是说,通过冗余存储的方式来存储程序代码,使得即使多个存储区中的存储区出现错误,也可以从剩余的存储区还原出正确的数据,有效地提高了获得第一程序代码的完整性和安全性。可选地,在本申请实施例中,使用第一程序代码替换程序运行区中的第二程序代码,包括:计算多个代码片段的第一校验码,第一校验码表征在第一程序代码传输之后的校验标志;从多个存储区中读取第二校验码,第二校验码表征在第一程序代码传输之前的校验标志;判断第一校验码与第二校验码是否相同;若是,则使用第一程序代码替换程序运行区中的第二程序代码。在上述的实现过程中,通过判断第一校验码与第二校验码是否相同;若是,则使用第一程序代码替换程序运行区中的第二程序代码;从而确保程序代码在网络传输或者计算机处理的过程中没有出现错误,有效地提高了程序代码在网络传输或者计算机处理的过程中的完整性和可用性。可选地,在本申请实施例中,在判断第一校验码与第二校验码是否相同之后,还包括:若第一校验码与第二校验码不相同,则执行程序运行区中的第二程序代码。在上述的实现过程中,通过若第一校验码与第二校验码不相同,则执行程序运行区中的第二程序代码;从而确保程序代码在网络传输或者计算机处理的过程中没有出现错误,有效地提高了程序代码在网络传输或者计算机处理的过程中的完整性和可用性。可选地,在本申请实施例中,在判断第一程序代码与星务计算机的程序运行区中的第二程序代码是否相同之后,还包括:若第一程序代码与第二程序代码相同,则执行程序运行区中的第二程序代码。本申请实施例还提供了一种程序更新装置,应用于星务计算机,包括:程序代码获取模块,用于从星务计算机的程序存储区获取第一程序代码;程序代码判断模块,用于判断第一程序代码与星务计算机的程序运行区中的第二程序代码是否相同;程序代码替换模块,用于若第一程序代码与星务计算机的程序运行区中的第二程序代码不相同,则使用第一程序代码替换程序运行区中的第二程序代码,并执行程序运行区中的第一程序代码。可选地,在本申请实施例中,程序更新装置,还包括:数据帧接收模块,用于接收通信机发送的多个数据帧;数据帧判断模块,用于判断多个数据帧是否接收完成;数据帧校验模块,用于若多个数据帧没有接收完成,则对多个数据帧中已经接收到的每个数据帧进行校验;数据帧存储模块,用于若多个数据帧接收完成,则根据多个数据帧生成第一程序代码,并在对第一程序代码进行校验通过后,将第一程序代码存储至程序存储区。可选地,在本申请实施例中,数据帧存储模块,包括:指令接收判断模块,用于在星务计算机的引导加载程序运行时,判断在预设时长内是否接收到预设字符串,预设字符串表征存储并更新程序运行区中的程序代码的指令;程序代码存储模块,用于若在预设时长内接收到预设字符串,则将第一程序代码存储至程序存储区和程序运行区。可选地,在本申请实施例中,程序存储区包括:多个存储区;程序代码获取模块,包括:代码片段获得模块,用于从多个存储区中的对应位置处按字节提取出至少两个相同的代码片段,获得多个代码片段;代码片段拼接模块,用于将多个代码片段进行拼接,获得第一程序代码。可选地,在本申请实施例中,程序代码替换模块,包括:第本文档来自技高网...

【技术保护点】
1.一种程序更新方法,其特征在于,应用于星务计算机,包括:/n从所述星务计算机的程序存储区获取第一程序代码;/n判断所述第一程序代码与所述星务计算机的程序运行区中的第二程序代码是否相同;/n若否,则使用所述第一程序代码替换所述程序运行区中的第二程序代码,并执行所述程序运行区中的所述第一程序代码。/n

【技术特征摘要】
1.一种程序更新方法,其特征在于,应用于星务计算机,包括:
从所述星务计算机的程序存储区获取第一程序代码;
判断所述第一程序代码与所述星务计算机的程序运行区中的第二程序代码是否相同;
若否,则使用所述第一程序代码替换所述程序运行区中的第二程序代码,并执行所述程序运行区中的所述第一程序代码。


2.根据权利要求1所述的方法,其特征在于,在所述从所述星务计算机的程序存储区获取第一程序代码之前,还包括:
接收通信机发送的多个数据帧;
判断所述多个数据帧是否接收完成;
若否,则对所述多个数据帧中已经接收到的每个数据帧进行校验;
若是,则根据所述多个数据帧生成所述第一程序代码,并在对所述第一程序代码进行校验通过后,将所述第一程序代码存储至所述程序存储区。


3.根据权利要求2所述的方法,其特征在于,所述将所述第一程序代码存储至所述程序存储区,包括:
在所述星务计算机的引导加载程序运行时,判断在预设时长内是否接收到预设字符串,所述预设字符串表征存储并更新程序运行区中的程序代码的指令;
若是,则将所述第一程序代码存储至所述程序存储区和所述程序运行区。


4.根据权利要求1所述的方法,其特征在于,所述程序存储区包括:多个存储区;所述从所述星务计算机的程序存储区获取第一程序代码,包括:
从所述多个存储区中的对应位置处按字节提取出至少两个相同的代码片段,获得多个代码片段;
将所述多个代码片段进行拼接,获得所述第一程序代码。


5.根据权利要求4所述的方法,其特征在于,所述使用所述第一程序代码替换所述程序运行区中的第二程序代码,包括:
计算所述多个代码片段的第一校验码,所述第一校验码表征...

【专利技术属性】
技术研发人员:苏帆孔令波高恩宇梁军民梁辉
申请(专利权)人:北京微纳星空科技有限公司
类型:发明
国别省市:北京;11

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

1