卫星程序管理系统和卫星程序管理方法与流程

文档序号:17773029发布日期:2019-05-28 19:40阅读:314来源:国知局
卫星程序管理系统和卫星程序管理方法与流程

本发明涉及卫星领域,尤其是卫星程序管理系统和卫星程序管理方法。



背景技术:

在卫星计算机开机后,引导程序(bootloader)自动运行,完成计算机的硬件初始化。然后,引导程序将存储器上的应用程序加载到内存中,此后,应用程序负责管理计算机和执行指定的任务。应用程序可以是基于通用操作系统的应用,也可以是专用的软件系统。

卫星程序管理系统负责管理引导程序、应用程序和存储设备。现有的程序管理方式分为备份方式和备份加精简方式。

一、备份方式

在备份方式下,引导程序存储在引导存储器上。应用程序和其备份存储在应用存储器上。

在引导程序完成初始化后,引导程序加载应用程序到内存中运行。如果引导程序无法加载应用程序,则加载应用程序的备份。

在备份方式下,如果应用存储器故障,则所有应用程序都无法加载,计算机系统无法运行也不能恢复。

二、备份加精简方式

在备份加精简方式下,引导程序存储在引导存储器上;应用程序和其备份存储在应用存储器上;精简应用程序也存储在引导存储器上,精简应用程序只支持应用程序中维持系统运行的必须的功能。

在引导程序完成初始化后,引导程序加载应用程序到内存中运行;如果引导程序无法加载应用程序,则加载应用程序的备份。如果引导程序无法加载应用程序的备份,则引导程序加载精简应用程序。

在备份加精简方式下,如果应用存储器故障,则计算机系统只能加载精简应用程序,支持基本功能;计算机系统只能通过卫星测控中心下发应用程序数据进行恢复,而上行速率通常很低,因此恢复速度很慢。

由于增加了精简应用程序,因此也需要相应增加大量的研发工作。

现有的卫星计算机上使用可编程只读存储器(prom)、可擦除可编程只读存储器(eeprom)作为存储器,存储引导程序和应用程序。prom和eeprom通常容量很小,这就限制其应用,尤其是需要通过多个备份来提高可靠性时。或非型闪存(norflash)是相对新出现的存储器件,容量大,并且可以随机寻址,适于存储需要在开机后加载的应用程序。



技术实现要素:

本发明要解决的技术问题是提高卫星应用程序的可靠性,支持快速修复应用程序,简化应用程序开发。

为解决上述技术问题,本发明提供一种卫星程序管理系统,包括:应用存储器,被配置为可读可写,存储应用程序和第一备份应用程序;引导存储器,被配置为只读,存储引导程序和第二备份应用程序;和控制器,控制所述第二备份应用程序修复所述应用程序和/或所述第一备份应用程序,其中,所述引导存储器和所述应用存储器是或非型闪存(norflash)。

进一步的,所述控制器被配置为执行修复操作,包括:用卫星测控中心下发的新应用程序修复所述应用程序和/或所述第一备份应用程序;或用所述第一备份应用程序修复所述应用程序;或用所述应用程序修复所述第一备份应用程序。

进一步的,所述控制器被配置为按照卫星测控中心的指令执行所述修复操作。

进一步的,所述引导存储器被用硬件跳线设置为只读,如通过硬件跳线实现。

进一步的,所述引导程序被配置按照卫星测控中心指令或按照预设加载规则自动加载所述应用程序、所述第一备份应用程序和所述第二备份应用程序中的一者。

进一步的,所述预设加载规则包括:在计算机上电或初始化后,加载所述应用程序;当所述应用程序校验失败或其在预设时间内复位超过预设次数时,则加载所述第一备份应用程序;当所述第一备份程序校验失败或其在预设时间内复位超过预设次数时,加载所述第二备份应用程序;当所述第二备份程序校验失败或其在预设时间内复位超过预设次数时,加载所述应用程序。

进一步的,所述应用程序、所述第一备份应用程序、所述第二备份应用程序都按照相同方式切分为程序块;所述应用程序的程序块,和所述第一备份应用程序的程序块一一对应并且相同,和所述第二备份应用程序中的程序块一一对应并且相同;所述引导程序选择校验成功的所述程序块制成组装程序,所述组装程序与所述应用程序相同;所述引导程序加载所述组装程序。

本发明还提供一种卫星程序管理方法,包括:存储引导程序和第二备份应用程序到引导存储器;存储应用程序和第一备份应用程序到应用存储器;用所述第二备份用程序修复所述应用程序和/或所述第一备份应用程序,其中所述引导存储器和所述应用存储器是或非型闪存(norflash)。

进一步的,所述的卫星程序管理方法,还包括:用卫星测控中心下发的新应用程序修复所述应用程序和/或所述第一备份应用程序;或用所述第一备份应用程序修复所述应用程序;或用所述应用程序修复所述第一备份应用程序。

进一步的,所述的卫星程序管理方法,还包括:在计算机上电或初始化后,加载所述应用程序;在所述应用程序校验失败或其在预设时间内复位超过预设次数后,加载所述第一备份应用程序;在所述第一备份程序校验失败或其在预设时间内复位超过预设次数后,加载所述第二备份应用程序;在所述第二备份程序校验失败或其在预设时间内复位超过预设次数后,加载所述应用程序。

综上所述,本发明提供的卫星程序管理系统和卫星程序管理方法,综合了备份、修复、加载控制、切块等技术手段,大大提高了应用程序存储和加载的可靠性,节省了应用程序开发的工作量。

附图说明

图1是本发明的卫星程序管理系统的一种实施方式的系统结构图;

图2是本发明的卫星程序管理系统的程序切块和组装图。

具体实施方式

下面结合附图对本发明的具体实施方式做进一步详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变型和改进。这些都属于本发明的保护范围。

一、应用程序的备份和修复

卫星程序管理系统通过备份和修复的方法来保证程序存储的可靠性。

在一个实施例中,如图1所示,本发明的卫星程序管理系统包括:引导存储器1,被配置为只读,存储引导程序50和第二备份应用程序53;应用存储器2,被配置为可读可写,存储应用程序51和第一备份应用程序52;和控制器3,被配置为用所述第二备份应用程序53修复所述应用程序51和/或所述第一备份应用程序52,其中,所述引导存储器1和所述应用存储器2是或非型闪存(norflash)。

应用程序51、第一备份应用程序52、第二备份应用程序53是相同程序,通过存储三份相同程序,避免单个程序异常。

设置两个存储器,引导存储器1和应用存储器2,将三份相同程序分散到两个存储器中,避免单个存储器异常导致的程序异常。

引导存储器1被设置为只读,可以保护其上的程序不被修改。

应用存储器2是可写的,如果控制器3检测到应用存储器2上的程序异常,用引导存储器1上的程序修复应用存储器2上的程序,例如直接复制一份正常程序。由于该修复操作只使用卫星上的数据,可以实现快速修复,避免了从卫星控制中心4到卫星的缓慢传输修复数据的过程。

或非型闪存(norflash)是相对新出现的存储器件,容量大,并且可以随机寻址,适于存储需要在开机后加载的应用程序。将或非型闪存应用到卫星技术领域,则能极大增强卫星应用程序的存储容量。

在一个实施例中,所述控制器3被配置为执行修复操作,包括:卫星控制中心4下发的新应用程序修复所述应用程序51和/或所述第一备份应用程序52;或用所述第一备份应用程序52修复所述应用程序51;或用所述应用程序51修复所述第一备份应用程序52。

该实施例中支持更多的修复方法,进一步增加修复操作的可靠性。

并且,即使卫星上的应用程序可以可靠运行,也可以通过卫星测控中心4上传新应用程序到卫星上,以增加新的程序功能或修改程序缺陷。

在一个实施例中,控制器3被配置为按照卫星测控中心4的指令执行所述修复操作。卫星测控中心4可以人工干预卫星上的程序修复过程,进一步增加修复操作的可靠性。

在一个实施例中,用硬件跳线设置所述引导存储器1为只读。硬件设置只读可以保障引导存储器1不会被错误写入或错误修改,进一步提高程序存储的可靠性。

二、应用程序加载

卫星程序管理系统通过依次尝试加载各个应用程序或者其备份来提高加载的成功概率。

在一个实施例中,所述引导程序50被配置为加载所述应用程序51、所述第一备份应用程序52和所述第二备份应用程序53中的一者。

因为存在多份相同程序,所以引导程序可以选择其中的正常程序加载,从而程序加载成功率上升,可靠性增强。

在一个实施例中,所述引导程序50被配置为:在计算机上电或初始化后,加载所述应用程序51;当所述应用程序51校验失败或其在预设时间内复位超过预设次数时,则加载第一备份应用程序52;当所述第一备份程序52校验失败或其在预设时间内复位超过预设次数时,加载第二备份应用程序53;当所述第二备份程序53校验失败或其在预设时间内复位超过预设次数时,加载所述应用程序51。

引导程序50通过指定的加载顺序,循环尝试加载各个程序,直至加载成功。这样可以有效避免单个程序加载异常。

三、应用程序切块和组装

应用程序切块后和组装可以进一步存储的可靠性和加载的成功率。

在一个实施例中,所述应用程序51、所述第一备份应用程序52、所述第二备份应用程序53都按照相同方式切分为程序块;所述应用程序51的程序块,和所述第一备份应用程序52的程序块一一对应并且相同,和所述第二备份应用程序53中的程序块一一对应并且相同;所述引导程序50选择校验成功的所述程序块制成组装程序,所述组装程序与所述应用程序51相同;所述引导程序50加载所述组装程序。

如果不切块,则一个程序只能全部校验成功,或者全部校验失败。如果切块,则一个程序只有异常的块校验失败,其它块都校验成功。由于每个块都有对应多个备份,这样还是很高概率组装出正常的应用程序。因此该方法,可以进一步增强系统对抗存储器局部存储块异常的能力和成功加载应用程序的能力。

例如,在一个实施例中,如图2所示,应用程序51、第一备份应用程序52和第二备份应用程序53被分成相同的程序块a、b、c,分别保存在存储器上。引导程序50对各个程序块进行校验,并将校验通过的块组合到一起形成一个完整的应用程序。例如将应用程序51的程序块a、第一备份应用程序52中的块b、第二备份应用程序53中的块c,组合成一个完整的程序。应当说明,该实施例中,每个程序也可以分成两块、四块或四块以上。

在一个实施例中,卫星测控中心4可以人工干预卫星上的程序加载过程,进一步增加程序加载的可靠性。

四、卫星程序管理方法

在一个实施例中,本发明的卫星程序管理方法,包括:存储引导程序和第二备份应用程序到引导存储器;存储应用程序和第一备份应用程序到应用存储器;用所述第二备份用程序修复所述应用程序和/或所述第一备份应用程序,其中所述引导存储器和所述应用存储器是或非型闪存(norflash)。

在一个实施例中,本发明的卫星程序管理方法,包括:用卫星测控中心下发的新应用程序修复所述应用程序和/或所述第一备份应用程序;或用所述第一备份应用程序修复所述应用程序;或用所述应用程序修复所述第一备份应用程序。

在一个实施例中,本发明的卫星程序管理方法,包括:在计算机上电或初始化后,加载所述应用程序;在所述应用程序校验失败或其在预设时间内复位超过预设次数后,加载第一备份应用程序;在所述第一备份程序校验失败或其在预设时间内复位超过预设次数后,加载所述第二备份应用程序;在所述第二备份程序校验失败或其在预设时间内复位超过预设次数后,加载所述应用程序。

以上详细描述了本发明的较佳具体实施例。应当理解,在本发明的教导下,本领域的普通技术人员可以对本发明做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1