CN111580844A - 支持在轨动态更新的软硬件协同的应用程序维护方法 - Google Patents

支持在轨动态更新的软硬件协同的应用程序维护方法 Download PDF

Info

Publication number
CN111580844A
CN111580844A CN202010390005.5A CN202010390005A CN111580844A CN 111580844 A CN111580844 A CN 111580844A CN 202010390005 A CN202010390005 A CN 202010390005A CN 111580844 A CN111580844 A CN 111580844A
Authority
CN
China
Prior art keywords
partition
check code
redundant
code file
check
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010390005.5A
Other languages
English (en)
Other versions
CN111580844B (zh
Inventor
徐凡
田文波
朱新忠
朱华
孙逸帆
洪小骏
游红俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Aerospace Electronic Communication Equipment Research Institute
Original Assignee
Shanghai Aerospace Electronic Communication Equipment Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Aerospace Electronic Communication Equipment Research Institute filed Critical Shanghai Aerospace Electronic Communication Equipment Research Institute
Priority to CN202010390005.5A priority Critical patent/CN111580844B/zh
Publication of CN111580844A publication Critical patent/CN111580844A/zh
Application granted granted Critical
Publication of CN111580844B publication Critical patent/CN111580844B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种支持在轨动态更新的软硬件协同的应用程序维护方法,包括:步骤一,可在轨动态更新的应用程序做三份存储,即所有应用程序都分别存储至主分区、冗余分区1、冗余分区2;步骤二,分别计算三份应用程序目标代码的校验码,并存储;步骤三,定期对应用程序校验码进行维护;步骤四,依据主分区、冗余分区1、冗余分区2的顺序,如果应用程序校验码正确则启动相应分区应用程序;步骤五,如果出现分区的校验码与相应的应用程序不一致,则从3份应用程序取出一份正确应用程序执行。本发明针对现有应用软件可靠性维护措施的不足,结合嵌入式操作系统提供的动态加载特性,实现卫星在轨期间对操作系统进行升级,节约研制时间和成本。

Description

支持在轨动态更新的软硬件协同的应用程序维护方法
技术领域
本发明涉及一种支持在轨动态更新的软硬件协同的应用程序维护方法。
背景技术
随着星载综合电子系统功能的复杂化,传统“裸机”开发的星载系统软件模式变得捉襟见肘,使用实时嵌入式操作系统进行星载软件的开发是目前及未来星载综合电子系统的趋势。而使用星载嵌入式操作系统后,会带来功能模块众多、程序逻辑复杂。这就导致在星载系统软件在地面测试验证时,无法完全覆盖所有功能模块,会导致星载系统软件在轨后,仍然存在功能缺陷需要改进和逻辑流程不符合设计意图需要修正。甚至有些模块功能未完全实现,留待在轨数据完备后,再进行相应的补充完善,即星载系统软件需要在轨功能扩展。而卫星在轨运行后,模块的在轨启用和维护的正确性,直接决定了星载系统软件在轨运行能力,关系到卫星在轨使用寿命和可靠性的保证。
应用程序在轨维护在现有航天工程中得到广泛的应用,已具有在轨热更新,可修改任意应用程序功能,但应用程序可靠性的维护目前使用的技术仅依靠对应用程序的定时读写。
发明内容
本发明的目的在于提供一种支持在轨动态更新的软硬件协同的应用程序维护方法。
为解决上述问题,本发明提供一种支持在轨动态更新的软硬件协同的应用程序维护方法,包括:
步骤一,在轨动态更新的所有应用程序做三份存储,其中,应用程序的存储空间分割为主分区、冗余分区1、冗余分区2;
步骤二,在主分区、冗余分区1、冗余分区2的每个应用程序存储时,为该应用程序生成三份同样的校验码,生成的校验码写入该应用程序的校验码文件;
步骤三,星载应用程序运行过程中,周期性的对主分区、冗余分区1或冗余分区2中的每个应用程序的三份校验码进行“三取二”比对和刷新;
步骤四,依据主分区、冗余分区1、冗余分区2的顺序,如果主分区、冗余分区1或冗余分区2中应用程序的校验码正确,则启动相应分区的该应用程序;
步骤五,如果主分区、冗余分区1和冗余分区2的校验码与相应的应用程序的校验码均不一致,则从主分区、冗余分区1和冗余分区2中的3份应用程序取出一份正确应用程序执行。
进一步的,上述方法中,步骤三,星载应用程序运行过程中,周期性的对主分区、冗余分区1或冗余分区2中的每个应用程序的三份校验码进行“三取二”比对和刷新,包括:
星载应用程序运行过程中,FPGA芯片周期性的分别对主分区、冗余分区1或冗余分区2中三份校验码进行“三取二”比对,
若“三取二”比对发现主分区、冗余分区1或冗余分区2中的3份校验码各自至少二份校验码相同,则用FPGA芯片分别对主分区、冗余分区1或冗余分区2中的3份校验码文件进行刷新,否则不对校验码进行刷新
进一步的,上述方法中,若“三取二”比对发现主分区、冗余分区1或冗余分区2中的3份校验码各自至少二份校验码相同,则用FPGA芯片分别对主分区、冗余分区1或冗余分区2中的3份校验码文件进行刷新,否则不对校验码进行刷新,包括:
步骤S31:若主分区内第1份校验码文件与主分区内第2份校验码文件相同,则将主分区内第1份校验码写入主分区内第3份校验码文件;
步骤S32:若主分区内第1份校验码文件与主分区内第2份校验码文件不同,则将主分区内第1份校验码文件与主分区内第3份校验码文件进行比对;
步骤S33:若主分区内第1份校验码文件与主分区内第3份校验码文件相同,则将主分区内第1份校验码文件写入主分区内第2份校验码文件;
步骤S34:若主分区内第1份校验码文件与主分区内第3份校验码文件不同,则将主分区内第2份校验码文件与主分区内第3份校验码文件进行比对;
步骤S35:若主分区内第2份校验码文件与主分区内第3份校验码文件相同,则将主分区内第2份校验码文件写入主分区内第1份校验码文件;
步骤S36:若主分区内第2份校验码文件与主分区内第3份校验码文件不同,不对主分区内这三份校验码文件进行刷新。
进一步的,上述方法中,若“三取二”比对发现主分区、冗余分区1或冗余分区2中的3份校验码各自至少二份校验码相同,则用FPGA芯片分别对主分区、冗余分区1或冗余分区2中的3份校验码文件进行刷新,否则不对校验码进行刷新,包括:
步骤S41:若冗余分区1内第1份校验码文件与冗余分区1内第2份校验码文件相同,则将冗余分区1内第1份校验码写入冗余分区1内第3份校验码文件;
步骤S42:若冗余分区1内第1份校验码文件与冗余分区1内第2份校验码文件不同,则将冗余分区1内第1份校验码文件与冗余分区1内第3份校验码文件进行比对;
步骤S43:若冗余分区1内第1份校验码文件与冗余分区1内第3份校验码文件相同,则将冗余分区1内第1份校验码文件写入冗余分区1内第2份校验码文件;
步骤S44:若冗余分区1内第1份校验码文件与冗余分区1内第3份校验码文件不同,则将冗余分区1内第2份校验码文件与冗余分区1内第3份校验码文件进行比对;
步骤S45:若冗余分区1内第2份校验码文件与冗余分区1内第3份校验码文件相同,则将冗余分区1内第2份校验码文件写入冗余分区1内第1份校验码文件;
步骤S46:若冗余分区1内第2份校验码文件与冗余分区1内第3份校验码文件不同,不对冗余分区1内这三份校验码文件进行刷新。
进一步的,上述方法中,若“三取二”比对发现主分区、冗余分区1或冗余分区2中的3份校验码各自至少二份校验码相同,则用FPGA芯片分别对主分区、冗余分区1或冗余分区2中的3份校验码文件进行刷新,否则不对校验码进行刷新,包括:
步骤S51:若冗余分区2内第1份校验码文件与冗余分区2内第2份校验码文件相同,则将冗余分区2内第1份校验码写入冗余分区2内第3份校验码文件;
步骤S52:若冗余分区2内第1份校验码文件与冗余分区2内第2份校验码文件不同,则将冗余分区2内第1份校验码文件与冗余分区2内第3份校验码文件进行比对;
步骤S53:若冗余分区2内第1份校验码文件与冗余分区2内第3份校验码文件相同,则将冗余分区2内第1份校验码文件写入冗余分区2内第2份校验码文件;
步骤S54:若冗余分区2内第1份校验码文件与冗余分区2内第3份校验码文件不同,则将冗余分区2内第2份校验码文件与冗余分区2内第3份校验码文件进行比对;
步骤S55:若冗余分区2内第2份校验码文件与冗余分区2内第3份校验码文件相同,则将冗余分区2内第2份校验码文件写入冗余分区2内第1份校验码文件;
步骤S56:若冗余分区2内第2份校验码文件与冗余分区2内第3份校验码文件不同,不对冗余分区2内这三份校验码文件进行刷新。
进一步的,上述方法中,步骤四,依据主分区、冗余分区1、冗余分区2的顺序,如果主分区、冗余分区1或冗余分区2中应用程序的校验码正确,则启动相应分区的该应用程序,包括:
步骤四一,启动应用程序时,先计算主分区内应用程序的校验码,将该校验码与存放在主分区内的校验码进行比对,得到比对结果,
步骤四二,依据所述比对结果:
若比对发现计算的校验码与主分区内存储的校验码相同,则操作系统启动主分区内的应用程序;
若计算的校验码与主分区存储的校验码不同,则与冗余分区1中存储的校验码进行比对;
步骤四三,依据计算的校验码与冗余分区1中存储的校验码比对结果:
若发现计算的校验码与存储在冗余分区1中的校验码相同,则操作系统启动冗余分区1中的应用程序,并启动对主分区中存放应用程序和校验码进行刷新;
若发现计算的校验码与冗余区1的校验码不同,与冗余分区2中的校验码进行比对;
步骤四四,依据计算的校验码与冗余分区2中存储的校验码比对结果:
若发现计算的校验码与存储在冗余分区2中的校验码相同,则操作系统启动冗余分区2中的应用程序,并对主分区、冗余分区1中存放应用程序和校验码进行刷新。
进一步的,上述方法中,步骤四三中,启动对主分区中存放应用程序和校验码进行刷新,包括:
FPGA芯片读取冗余分区1中的应用程序文件和校验码文件,写入并覆盖主分区中相应的应用程序文件和校验码文件。
进一步的,上述方法中,步骤四四中,对主分区、冗余分区1中存放应用程序和校验码进行刷新,包括:
FPGA芯片读取冗余分区2中的应用程序文件和校验码文件,写入并覆盖主分区、冗余分区1中相应的应用程序文件和校验码文件。
进一步的,上述方法中,步骤四中,对主分区、冗余分区1、冗余分区2中存放的校验码的读取由FPGA芯片采用三取二方式获取,包括:
步骤S71:若分区内第1份校验码文件与分区内第2份校验码文件相同,则将分区内第1份校验码写入分区内第3份校验码文件,并以第1份校验码文件为获取的校验码;
步骤S72:若分区内第1份校验码文件与分区内第2份校验码文件不同,则将分区内第1份校验码文件与分区内第3份校验码文件进行比对;
步骤S73:若分区内第1份校验码文件与分区内第3份校验码文件相同,则将分区内第1份校验码文件写入分区内第2份校验码文件,并以第1份校验码文件为获取的校验码;
步骤S74:若分区内第1份校验码文件与分区内第3份校验码文件不同,则将分区内第2份校验码文件与分区内第3份校验码文件进行比对;
步骤S75:若分区内第2份校验码文件与分区内第3份校验码文件相同,则将分区内第2份校验码文件写入分区内第1份校验码文件,并以第2份校验码文件为获取的校验码;
步骤S76:若分区内第2份校验码文件与分区内第3份校验码文件不同,不对分区内这三份校验码文件进行刷新,则以第1份校验码文件为获取的校验码。
进一步的,上述方法中,步骤五,如果主分区、冗余分区1和冗余分区2的校验码与相应的应用程序的校验码均不一致,则从主分区、冗余分区1和冗余分区2中的3份应用程序取出一份正确应用程序执行,包括:
若比对发现计算的校验码与主分区、冗余分区1和冗余分区2存储的校验码均不同,操作系统内存管理部件则启动对主分区、冗余分区1、冗余分区2中存放3份应用程序进行按位“三取二”操作,形成一份应用程序,并对形成的一份应用程序启动执行。
进一步的,上述方法中,所述按位“三取二”,包括:
在3份校验码文件中,读取的序号相同的字或字节,将该字或字节中序号相同的位,进行异或运算,将异或运算的结果作为该位的值。与现有技术相比,本发明与现有星载软件在轨更新与维护技术相比,利用本发明,可以对所有应用程序进行在轨更新和维护,解决了卫星在轨期间更新的应用程序难以确保其代码正确性的问题。进一步地,由于星载应用软件和操作系统是以文件形式存放的,运用该发明,还能达到如下有益效果:
1、采用同样的实现方式,对星载操作系统文件进行在轨更新和维护,可以实现卫星在轨期间对操作系统进行升级,节约研制时间和成本;
2、可以适应不同的卫星型号,具有广泛的适用性。
附图说明
图1是本发明一实施例的支持在轨动态更新的软硬件协同的应用程序维护方法的实现流程示意图;
图2是本发明一实施例的具体实施过程中的在轨热更新流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1和2所示,本发明提供一种支持在轨动态更新的软硬件协同的应用程序维护方法,包括:
步骤一,在轨动态更新的所有应用程序做三份存储,其中,应用程序的存储空间分割为主分区、冗余分区1、冗余分区2;
优选的,所述步骤一中,所述应用程序存储可视存储介质容量、应用程序大小而定;所述应用程序存储可被分为多个区域:主分区、冗余分区1和冗余分区2,这三个分区是三个不同的物理区域。所有的应用程序文件在每个分区内都存放一份;
步骤二,在主分区、冗余分区1、冗余分区2的每个应用程序存储时,为该应用程序生成三份同样的校验码,生成的校验码写入该应用程序的校验码文件;
优选的,所述步骤二中,FPGA芯片对每个区中存放的每一个应用程序进行1次校验码计算,并将校验码存放三份;
在此,在每个分区初始存储时,可由FPGA芯片为该存放该分区的应用程序按照预定的校验算法计算并生成校验码,再将生成的校验码写入3份校验码文件;
步骤三,星载应用程序运行过程中,周期性的对主分区、冗余分区1或冗余分区2中的每个应用程序的三份校验码进行“三取二”比对和刷新;
在此,所述步骤三中,周期性的对这三份校验码文件进行“三取二”比对和刷新,可以通过软件或硬件设计完成。定期对程序采用软硬件协同的方式进行维护,防止因为单粒子翻转造成存储器中数据被修改,进而影响到文件的一致性;
步骤四,依据主分区、冗余分区1、冗余分区2的顺序,如果主分区、冗余分区1或冗余分区2中应用程序的校验码正确,则启动相应分区的该应用程序;
步骤五,如果主分区、冗余分区1和冗余分区2的校验码与相应的应用程序的校验码均不一致,则从主分区、冗余分区1和冗余分区2中的3份应用程序取出一份正确应用程序执行。
在此,所述步骤一、二中,应用程序分三区存放,分为主分区、冗余分区1、冗余分区2;每区的应用程序的校验码亦作三份存放。所有的应用程序文件、动态库文件及重要的配置文件在每个分区内都存放一份,保持系统的可靠性和健壮性。多处进行数据备份,降低空间单粒子累计效应,提高星载应用程序的可靠性。
所述步骤四中,应用程序的启动依据对分区应用程序计算获得校验码与存储的校验码对比的正确性,以此确认应用程序的正确性;可以使用各类校验码算法,并通过软硬件协同的方式实现,提高星载应用程序的可靠性。
所述步骤四中,先从主分区确定应用程序校验值的正确,即时使用该区应用程序,确保快速启动应用程序。对其余分区采用同样仅确认校验值的方法,降低时间开销,保持操作系统的快速响应。
本发明针对现有应用软件可靠性维护措施的不足,结合嵌入式操作系统提供的动态加载特性,可以实现卫星在轨期间对操作系统进行升级,节约研制时间和成本。
本发明的支持在轨动态更新的软硬件协同的应用程序维护方法一实施例中,步骤三,星载应用程序运行过程中,周期性的对主分区、冗余分区1或冗余分区2中的每个应用程序的三份校验码进行“三取二”比对和刷新,包括:
星载应用程序运行过程中,FPGA芯片周期性的分别对主分区、冗余分区1或冗余分区2中三份校验码进行“三取二”比对,
若“三取二”比对发现主分区、冗余分区1或冗余分区2中的3份校验码各自至少二份校验码相同,则用FPGA芯片分别对主分区、冗余分区1或冗余分区2中的3份校验码文件进行刷新,否则不对校验码进行刷新。
本发明的支持在轨动态更新的软硬件协同的应用程序维护方法一实施例中,若“三取二”比对发现主分区、冗余分区1或冗余分区2中的3份校验码各自至少二份校验码相同,则用FPGA芯片分别对主分区、冗余分区1或冗余分区2中的3份校验码文件进行刷新,否则不对校验码进行刷新,包括:
步骤S31:若主分区内第1份校验码文件与主分区内第2份校验码文件相同,则将主分区内第1份校验码写入主分区内第3份校验码文件;
步骤S32:若主分区内第1份校验码文件与主分区内第2份校验码文件不同,则将主分区内第1份校验码文件与主分区内第3份校验码文件进行比对;
步骤S33:若主分区内第1份校验码文件与主分区内第3份校验码文件相同,则将主分区内第1份校验码文件写入主分区内第2份校验码文件;
步骤S34:若主分区内第1份校验码文件与主分区内第3份校验码文件不同,则将主分区内第2份校验码文件与主分区内第3份校验码文件进行比对;
步骤S35:若主分区内第2份校验码文件与主分区内第3份校验码文件相同,则将主分区内第2份校验码文件写入主分区内第1份校验码文件;
步骤S36:若主分区内第2份校验码文件与主分区内第3份校验码文件不同,不对主分区内这三份校验码文件进行刷新。
本发明的支持在轨动态更新的软硬件协同的应用程序维护方法一实施例中,若“三取二”比对发现主分区、冗余分区1或冗余分区2中的3份校验码各自至少二份校验码相同,则用FPGA芯片分别对主分区、冗余分区1或冗余分区2中的3份校验码文件进行刷新,否则不对校验码进行刷新,包括:
步骤S41:若冗余分区1内第1份校验码文件与冗余分区1内第2份校验码文件相同,则将冗余分区1内第1份校验码写入冗余分区1内第3份校验码文件;
步骤S42:若冗余分区1内第1份校验码文件与冗余分区1内第2份校验码文件不同,则将冗余分区1内第1份校验码文件与冗余分区1内第3份校验码文件进行比对;
步骤S43:若冗余分区1内第1份校验码文件与冗余分区1内第3份校验码文件相同,则将冗余分区1内第1份校验码文件写入冗余分区1内第2份校验码文件;
步骤S44:若冗余分区1内第1份校验码文件与冗余分区1内第3份校验码文件不同,则将冗余分区1内第2份校验码文件与冗余分区1内第3份校验码文件进行比对;
步骤S45:若冗余分区1内第2份校验码文件与冗余分区1内第3份校验码文件相同,则将冗余分区1内第2份校验码文件写入冗余分区1内第1份校验码文件;
步骤S46:若冗余分区1内第2份校验码文件与冗余分区1内第3份校验码文件不同,不对冗余分区1内这三份校验码文件进行刷新。
本发明的支持在轨动态更新的软硬件协同的应用程序维护方法一实施例中,若“三取二”比对发现主分区、冗余分区1或冗余分区2中的3份校验码各自至少二份校验码相同,则用FPGA芯片分别对主分区、冗余分区1或冗余分区2中的3份校验码文件进行刷新,否则不对校验码进行刷新,包括:
步骤S51:若冗余分区2内第1份校验码文件与冗余分区2内第2份校验码文件相同,则将冗余分区2内第1份校验码写入冗余分区2内第3份校验码文件;
步骤S52:若冗余分区2内第1份校验码文件与冗余分区2内第2份校验码文件不同,则将冗余分区2内第1份校验码文件与冗余分区2内第3份校验码文件进行比对;
步骤S53:若冗余分区2内第1份校验码文件与冗余分区2内第3份校验码文件相同,则将冗余分区2内第1份校验码文件写入冗余分区2内第2份校验码文件;
步骤S54:若冗余分区2内第1份校验码文件与冗余分区2内第3份校验码文件不同,则将冗余分区2内第2份校验码文件与冗余分区2内第3份校验码文件进行比对;
步骤S55:若冗余分区2内第2份校验码文件与冗余分区2内第3份校验码文件相同,则将冗余分区2内第2份校验码文件写入冗余分区2内第1份校验码文件;
步骤S56:若冗余分区2内第2份校验码文件与冗余分区2内第3份校验码文件不同,不对冗余分区2内这三份校验码文件进行刷新。
本发明的支持在轨动态更新的软硬件协同的应用程序维护方法一实施例中,步骤四,依据主分区、冗余分区1、冗余分区2的顺序,如果主分区、冗余分区1或冗余分区2中应用程序的校验码正确,则启动相应分区的该应用程序,包括:
步骤四一,启动应用程序时,先计算主分区内应用程序的校验码,将该校验码与存放在主分区内的校验码进行比对,得到比对结果,
步骤四二,依据所述比对结果:
若比对发现计算的校验码与主分区内存储的校验码相同,则操作系统启动主分区内的应用程序;
若比对发现计算的校验码与存储的校验码不同,则与冗余分区1中存储的校验码进行比对;
步骤四三,依据计算的校验码与冗余分区1中存储的校验码比对结果:
若发现片计算的校验码与存储在冗余分区1中的校验码相同,则操作系统启动冗余分区1中的应用程序,并启动对主分区中存放应用程序和校验码进行刷新;
若发现计算的校验码与冗余区1的校验码不同,与冗余分区2中的校验码进行比对;
步骤四四,依据计算的校验码与冗余分区2中存储的校验码比对结果:
若发现计算的校验码与存储在冗余分区2中的校验码相同,则操作系统启动冗余分区2中的应用程序,并对主分区、冗余分区1中存放应用程序和校验码进行刷新。
本发明的支持在轨动态更新的软硬件协同的应用程序维护方法一实施例中,步骤四三中,启动对主分区中存放应用程序和校验码进行刷新,包括:
FPGA芯片读取冗余分区1中的应用程序文件和校验码文件,写入并覆盖主分区中相应的应用程序文件和校验码文件。
本发明的支持在轨动态更新的软硬件协同的应用程序维护方法一实施例中,步骤四四中,对主分区、冗余分区1中存放应用程序和校验码进行刷新,包括:
FPGA芯片读取冗余分区2中的应用程序文件和校验码文件,写入并覆盖主分区、冗余分区1中相应的应用程序文件和校验码文件。
本发明的支持在轨动态更新的软硬件协同的应用程序维护方法一实施例中,
步骤四中,对主分区、冗余分区1、冗余分区2中存放的校验码的读取由FPGA芯片采用三取二方式获取,包括:
步骤S71:若分区内第1份校验码文件与分区内第2份校验码文件相同,则将分区内第1份校验码写入分区内第3份校验码文件,并以第1份校验码文件为获取的校验码;
步骤S72:若分区内第1份校验码文件与分区内第2份校验码文件不同,则将分区内第1份校验码文件与分区内第3份校验码文件进行比对;
步骤S73:若分区内第1份校验码文件与分区内第3份校验码文件相同,则将分区内第1份校验码文件写入分区内第2份校验码文件,并以第1份校验码文件为获取的校验码;
步骤S74:若分区内第1份校验码文件与分区内第3份校验码文件不同,则将分区内第2份校验码文件与分区内第3份校验码文件进行比对;
步骤S75:若分区内第2份校验码文件与分区内第3份校验码文件相同,则将分区内第2份校验码文件写入分区内第1份校验码文件,并以第2份校验码文件为获取的校验码;
步骤S76:若分区内第2份校验码文件与分区内第3份校验码文件不同,不对分区内这三份校验码文件进行刷新,则以第1份校验码文件为获取的校验码。
本发明的支持在轨动态更新的软硬件协同的应用程序维护方法一实施例中,
步骤五,如果主分区、冗余分区1和冗余分区2的校验码与相应的应用程序的校验码均不一致,则从主分区、冗余分区1和冗余分区2中的3份应用程序取出一份正确应用程序执行,包括:
若比对发现计算的校验码与主分区、冗余分区1和冗余分区2存储的校验码均不同,操作系统内存管理部件则启动对主分区、冗余分区1、冗余分区2中存放3份应用程序进行按位“三取二”操作,形成一份应用程序,并对形成的一份应用程序启动执行。
本发明的支持在轨动态更新的软硬件协同的应用程序维护方法一实施例中,所述按位“三取二”,包括:
在3份校验码文件中,读取的序号相同的字或字节,将该字或字节中序号相同的位,进行异或运算,将异或运算的结果作为该位的值。
本发明与现有星载软件在轨更新与维护技术相比,利用本发明,可以对所有应用程序进行在轨更新和维护,解决了卫星在轨期间更新的应用程序难以确保其代码正确性的问题。进一步地,由于星载应用软件和操作系统是以文件形式存放的,运用该发明,还能达到如下有益效果:
1、采用同样的实现方式,对星载操作系统文件进行在轨更新和维护,可以实现卫星在轨期间对操作系统进行升级,节约研制时间和成本;
2、可以适应不同的卫星型号,具有广泛的适用性。
具体的,如图1至图2所示,本发明提供的支持在轨动态更新的软硬件协同的应用程序维护方法包括步骤如下:
步骤S1,应用程序存储在三份:主分区、冗余分区1、冗余分区2;
步骤S2,在每个分区初始存储时,由FPGA芯片为该存放该分区的应用程序生成基于MD5算法的校验码,再将生成的校验码写入3份校验码文件;
步骤S3,星载应用程序运行过程中,FPGA芯片周期性的对这三份MD5值进行“三取二”比对。若三取二比对发现3份校验码文件至少二份MD5值相同,则用FPGA芯片对3份校验码文件进行刷新,否则不对校验码进行刷新;
步骤S4,启动指定应用程序时,启动FPGA芯片计算主分区内应用程序基于MD5算法的校验码,将该MD5值与存放主分区内的MD5值进行比对;
步骤S5,依据所述比对结果:
若比对发现FPGA芯片计算的MD5值与存储的MD5值相同,则操作系统启动主分区内的应用程序;
若比对发现FPGA芯片计算的MD5值与存储的MD5值不同,则与冗余分区1中存储的MD5值进行比对;
步骤S6,依据FPGA芯片计算的MD5值与冗余分区1中存储的MD5值比对结果:
若发现FPGA芯片计算的MD5值与存储在冗余分区1中的MD5值相同,则操作系统启动冗余分区1中的应用程序,并启动FPGA芯片对主分区中存放应用程序和MD5值进行刷新;
若比对发现FPGA芯片计算的MD5值与存储的MD5值不同,则与冗余分区2中存储的MD5值进行比对;
步骤S7,依据FPGA芯片计算的MD5值与冗余分区2中存储的MD5值比对结果:
若发现FPGA芯片计算的MD5值与存储在冗余分区2中的MD5值相同,则操作系统启动冗余分区2中的应用程序,并启动FPGA芯片对主分区、冗余分区1中存放应用程序和MD5值进行刷新;
若比对发现FPGA芯片计算的MD5值与存储的MD5值不同,操作系统内存管理部件则启动FPGA芯片对主分区、冗余分区1、冗余分区2中存放3份应用程序进行按位“三取二”操作,形成一份应用程序,并启动执行。
优选的,所述步骤S1中,所述应用程序存储可视存储介质容量、应用程序大小而定;所述应用程序存储可被分为多个区域:主分区、冗余分区1和冗余分区2,这三个分区是三个不同的物理区域。所有的应用程序文件在每个分区内都存放一份;
优选的,所述步骤S2中,FPGA芯片对每个区中存放的每一个应用程序进行1次MD5值计算,并将MD5值存放三份。
优选的,所述步骤S3中,所述FPGA芯片对主分区内3份应用程序的校验码文件进行刷新的过程进一步为:
步骤S31:若主分区内第1份校验码文件与主分区内第2份校验码文件相同,则将主分区内第1份校验码写入主分区内第3份校验码文件;
步骤S32:若主分区内第1份校验码文件与主分区内第2份校验码文件不同,则将主分区内第1份校验码文件与主分区内第3份校验码文件进行比对;
步骤S33:若主分区内第1份校验码文件与主分区内第3份校验码文件相同,则将主分区内第1份校验码文件写入主分区内第2份校验码文件;
步骤S34:若主分区内第1份校验码文件与主分区内第3份校验码文件不同,则将主分区内第2份校验码文件与主分区内第3份校验码文件进行比对;
步骤S35:若主分区内第2份校验码文件与主分区内第3份校验码文件相同,则将主分区内第2份校验码文件写入主分区内第1份校验码文件;
步骤S36:若主分区内第2份校验码文件与主分区内第3份校验码文件不同,不对主分区内这三份校验码文件进行刷新。
优选地,所述步骤S4中,FPGA芯片计算的主分区内应用程序的MD5值与存放在主分区内的MD5值进行比对的过程进一步为:
步骤S41,FPGA芯片采用三取二方式读取存放在主分区内的校验码文件;
步骤S42,将主分区内第1份校验码文件与第2份校验码文件进行比对,若相同,则将第1份校验码文件内容作为读取到的存放在主分区内的MD5值,否则,将第1份校验码文件与第3份校验码文件进行比对;
步骤S43,若第1份校验码文件与第3份校验码文件相同,则将第1份校验码文件内容作为读取到的存放在主分区内的MD5值,否则,将第2份校验码文件与第3份校验码文件进行比对;
步骤S44,若第2份校验码文件与第3份校验码文件相同,则将第2份校验码文件内容作为读取到的存放在主分区内的MD5值,否则,将第1份校验码文件、第2份校验码文件和第3份校验码文件三取二的结果作为读取到的存放在主分区内的MD5值。
优选地,所述步骤S44中,所述三取二的结果进一步为,对这三份文件中,读取的序号相同的字(或字节)。将该字(或字节)中序号相同的位,进行异或运算。将异或运算的结果作为该位的值。
优选地,所述步骤S5中,将FPGA芯片计算的MD5值与冗余分区1中存储的MD5值进行比较,该比较过程进一步为:
步骤S51,FPGA芯片采用三取二方式读取存放在冗余分区1内的校验码文件;
步骤S52,将冗余分区1内第1份校验码文件与第2份校验码文件进行比对,若相同,则将第1份校验码文件内容作为读取到的存放在冗余分区1内的MD5值,否则,将第1份校验码文件与第3份校验码文件进行比对;
步骤S53,若第1份校验码文件与第3份校验码文件相同,则将第1份校验码文件内容作为读取到的存放在冗余分区1内的MD5值,否则,将第2份校验码文件与第3份校验码文件进行比对;
步骤S54,若第2份校验码文件与第3份校验码文件相同,则将第2份校验码文件内容作为读取到的存放在冗余分区1内的校验码,否则,将第1份校验码文件、第2份校验码文件和第3份校验码文件三取二的结果作为读取到的存放在冗余分区1内的MD5值。
优选地,所述步骤S6中,启动FPGA芯片对冗余分区2中存放应用程序和校验码进行刷新,该比较过程进一步为:FPGA芯片读取冗余分区1中的应用程序文件和三份校验码文件,写入并覆盖主分区中相应的应用程序文件和三份校验码文件。
优选地,所述步骤S6中,将FPGA芯片计算的MD5值与冗余分区2中存储的MD5值进行比较,该比较过程进一步为:
步骤S61,FPGA芯片采用三取二方式读取存放在冗余分区2内的校验码文件;
步骤S62,将冗余分区2内第1份校验码文件与第2份校验码文件进行比对,若相同,则将第1份校验码文件内容作为读取到的存放在冗余分区2内的MD5值,否则,将第1份校验码文件与第3份校验码文件进行比对;
步骤S63,若第1份校验码文件与第3份校验码文件相同,则将第1份校验码文件内容作为读取到的存放在冗余分区2内的MD5值,否则,将第2份校验码文件与第3份校验码文件进行比对;
步骤S64,若第2份校验码文件与第3份校验码文件相同,则将第2份校验码文件内容作为读取到的存放在冗余分区2内的MD5值,否则,将第1份校验码文件、第2份校验码文件和第3份校验码文件三取二的结果作为读取到的存放在冗余分区2内的MD5值。
优选地,所述步骤S7中,启动FPGA芯片对主分区中存放应用程序和校验码进行刷新,该比较过程进一步为:FPGA芯片读取冗余分区2中的应用程序文件和三份校验码文件,写入并覆盖主分区、冗余分区1中相应的应用程序文件和三份校验码文件。
优选地,所述步骤S7中,操作系统内存管理部件则启动FPGA芯片对主分区、冗余分区1、冗余分区2中存放3份应用程序进行按位“三取二”操作,所述按位三取二的结果进一步为,对这三份文件中,读取的序号相同的字(或字节)。将该字(或字节)中序号相同的位,进行异或运算。将异或运算的结果作为该位的值。
本发明的支持在轨动态更新的软硬件协同的应用程序维护方法一实施例中,所述按位“三取二”,包括:
在3份应用程序中,读取的序号相同的字或字节,将该字或字节中序号相同的位,进行异或运算,将异或运算的结果作为该位的值。
所述步骤五中,操作系统内存管理部件则启动FPGA芯片对主分区、冗余分区1、冗余分区2中存放3份应用程序进行按位“三取二”操作,所述按位三取二的结果进一步为,对这三份文件中,读取的序号相同的字(或字节)。将该字(或字节)中序号相同的位,进行异或运算。将异或运算的结果作为该位的值。
本发明的设计原理和设计思路主要包含如下三部分:具体为:
(1)利用MD5即Message-Digest A1gorithm5(信息摘要算法5),是计算机广泛使用的散列算法之一。用于确保信息传输完整一致,具有较好的安全性。运用于提高星载应用程序在轨启用的可靠性。可与星载操作系统提供的动态加载有效结合,确保在轨热更新、动态链接应用程序功能安全可靠实施。硬件FPGA实现该功能设计,即实现与操作系统的软硬件协同处理,提高操作系统运算效率;同时应用程序的校验方法亦可替换校验算法,可有助于应对不同硬件状态。
(2)本发明将应用程序存放三处,可适用与不同的存储介质。对于应用程序的选取,在应用程序存储时进行MD5算法获得校验值存放三份,进行启动时,首先对位于主分区的应用程序开展校验值的比对,一致即可启动应用程序,无需再对其他分区的应用程序进行检测,从而有效的缩减启动时间。
(3)本发明通过软硬件协同设计实现对应用程序校验码计算、定时为维护,可以有效提高星载操作系统的效率。
综上所述,本发明方式能够对使用操作系统作为运行平台的星载嵌入式系统的功能模块或者应用程序进行有效可靠的启用,具有较强的灵活性和自维护性;支持应用程序的在轨热更新,具有较强的可扩展性;且基于动态库或者应用程序,能够较容易实现功能扩展或者缺陷修复,且不受限于空间大小,极大提高星载软件的可维护性。相比于传统的星载软件应用程序启用实现方式,软硬件的协同设计探寻了操作系统结合FPGA实现校验算法的可能性,具有易实现、可靠且灵活、启动时间短等特点,且具有较强的工程实践价值。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

Claims (10)

1.一种支持在轨动态更新的软硬件协同的应用程序维护方法,其特征在于,包括:
步骤一,在轨动态更新的所有应用程序做三份存储,其中,应用程序的存储空间分割为主分区、冗余分区1、冗余分区2;
步骤二,在主分区、冗余分区1、冗余分区2的每个应用程序存储时,为该应用程序生成三份同样的校验码,生成的校验码写入该应用程序的校验码文件;
步骤三,星载应用程序运行过程中,周期性的对主分区、冗余分区1或冗余分区2中的每个应用程序的三份校验码进行“三取二”比对和刷新;
步骤四,依据主分区、冗余分区1、冗余分区2的顺序,如果主分区、冗余分区1或冗余分区2中应用程序的校验码正确,则启动相应分区的该应用程序;
步骤五,如果主分区、冗余分区1和冗余分区2的校验码与相应的应用程序的校验码均不一致,则从主分区、冗余分区1和冗余分区2中的3份应用程序取出一份正确应用程序执行。
2.如权利要求1所述的支持在轨动态更新的软硬件协同的应用程序维护方法,其特征在于,步骤三,星载应用程序运行过程中,周期性的对主分区、冗余分区1或冗余分区2中的每个应用程序的三份校验码进行“三取二”比对和刷新,包括:
星载应用程序运行过程中,FPGA芯片周期性的分别对主分区、冗余分区1或冗余分区2中三份校验码进行“三取二”比对,
若“三取二”比对发现主分区、冗余分区1或冗余分区2中的3份校验码各自至少二份校验码相同,则用FPGA芯片分别对主分区、冗余分区1或冗余分区2中的3份校验码文件进行刷新,否则不对校验码进行刷新。
3.如权利要求2所述的支持在轨动态更新的软硬件协同的应用程序维护方法,其特征在于,若“三取二”比对发现主分区、冗余分区1或冗余分区2中的3份校验码各自至少二份校验码相同,则用FPGA芯片分别对主分区、冗余分区1或冗余分区2中的3份校验码文件进行刷新,否则不对校验码进行刷新,包括:
步骤S31:若主分区内第1份校验码文件与主分区内第2份校验码文件相同,则将主分区内第1份校验码写入主分区内第3份校验码文件;
步骤S32:若主分区内第1份校验码文件与主分区内第2份校验码文件不同,则将主分区内第1份校验码文件与主分区内第3份校验码文件进行比对;
步骤S33:若主分区内第1份校验码文件与主分区内第3份校验码文件相同,则将主分区内第1份校验码文件写入主分区内第2份校验码文件;
步骤S34:若主分区内第1份校验码文件与主分区内第3份校验码文件不同,则将主分区内第2份校验码文件与主分区内第3份校验码文件进行比对;
步骤S35:若主分区内第2份校验码文件与主分区内第3份校验码文件相同,则将主分区内第2份校验码文件写入主分区内第1份校验码文件;
步骤S36:若主分区内第2份校验码文件与主分区内第3份校验码文件不同,不对主分区内这三份校验码文件进行刷新。
4.如权利要求2所述的支持在轨动态更新的软硬件协同的应用程序维护方法,其特征在于,若“三取二”比对发现主分区、冗余分区1或冗余分区2中的3份校验码各自至少二份校验码相同,则用FPGA芯片分别对主分区、冗余分区1或冗余分区2中的3份校验码文件进行刷新,否则不对校验码进行刷新,包括:
步骤S41:若冗余分区1内第1份校验码文件与冗余分区1内第2份校验码文件相同,则将冗余分区1内第1份校验码写入冗余分区1内第3份校验码文件;
步骤S42:若冗余分区1内第1份校验码文件与冗余分区1内第2份校验码文件不同,则将冗余分区1内第1份校验码文件与冗余分区1内第3份校验码文件进行比对;
步骤S43:若冗余分区1内第1份校验码文件与冗余分区1内第3份校验码文件相同,则将冗余分区1内第1份校验码文件写入冗余分区1内第2份校验码文件;
步骤S44:若冗余分区1内第1份校验码文件与冗余分区1内第3份校验码文件不同,则将冗余分区1内第2份校验码文件与冗余分区1内第3份校验码文件进行比对;
步骤S45:若冗余分区1内第2份校验码文件与冗余分区1内第3份校验码文件相同,则将冗余分区1内第2份校验码文件写入冗余分区1内第1份校验码文件;
步骤S46:若冗余分区1内第2份校验码文件与冗余分区1内第3份校验码文件不同,不对冗余分区1内这三份校验码文件进行刷新。
5.如权利要求2所述的支持在轨动态更新的软硬件协同的应用程序维护方法,其特征在于,若“三取二”比对发现主分区、冗余分区1或冗余分区2中的3份校验码各自至少二份校验码相同,则用FPGA芯片分别对主分区、冗余分区1或冗余分区2中的3份校验码文件进行刷新,否则不对校验码进行刷新,包括:
步骤S51:若冗余分区2内第1份校验码文件与冗余分区2内第2份校验码文件相同,则将冗余分区2内第1份校验码写入冗余分区2内第3份校验码文件;
步骤S52:若冗余分区2内第1份校验码文件与冗余分区2内第2份校验码文件不同,则将冗余分区2内第1份校验码文件与冗余分区2内第3份校验码文件进行比对;
步骤S53:若冗余分区2内第1份校验码文件与冗余分区2内第3份校验码文件相同,则将冗余分区2内第1份校验码文件写入冗余分区2内第2份校验码文件;
步骤S54:若冗余分区2内第1份校验码文件与冗余分区2内第3份校验码文件不同,则将冗余分区2内第2份校验码文件与冗余分区2内第3份校验码文件进行比对;
步骤S55:若冗余分区2内第2份校验码文件与冗余分区2内第3份校验码文件相同,则将冗余分区2内第2份校验码文件写入冗余分区2内第1份校验码文件;
步骤S56:若冗余分区2内第2份校验码文件与冗余分区2内第3份校验码文件不同,不对冗余分区2内这三份校验码文件进行刷新。
6.如权利要求1所述的支持在轨动态更新的软硬件协同的应用程序维护方法,其特征在于,步骤四,依据主分区、冗余分区1、冗余分区2的顺序,如果主分区、冗余分区1或冗余分区2中应用程序的校验码正确,则启动相应分区的该应用程序,包括:
步骤四一,启动应用程序时,先计算主分区内应用程序的校验码,将该校验码与存放在主分区内的校验码进行比对,得到比对结果,
步骤四二,依据所述比对结果:
若比对发现计算的校验码与主分区内存储的校验码相同,则操作系统启动主分区内的应用程序;
若计算的校验码与主分区存储的校验码不同,则与冗余分区1中存储的校验码进行比对;
步骤四三,依据计算的校验码与冗余分区1中存储的校验码比对结果:
若发现计算的校验码与存储在冗余分区1中的校验码相同,则操作系统启动冗余分区1中的应用程序,并启动对主分区中存放应用程序和校验码进行刷新;
若发现计算的校验码与冗余区1的校验码不同,与冗余分区2中的校验码进行比对;
步骤四四,依据计算的校验码与冗余分区2中存储的校验码比对结果:
若发现计算的校验码与存储在冗余分区2中的校验码相同,则操作系统启动冗余分区2中的应用程序,并对主分区、冗余分区1中存放应用程序和校验码进行刷新。
7.如权利要求4所述的支持在轨动态更新的软硬件协同的应用程序维护方法,其特征在于,步骤四三中,启动对主分区中存放应用程序和校验码进行刷新,包括:
FPGA芯片读取冗余分区1中的应用程序文件和校验码文件,写入并覆盖主分区中相应的应用程序文件和校验码文件。
8.如权利要求4所述的支持在轨动态更新的软硬件协同的应用程序维护方法,其特征在于,步骤四四中,对主分区、冗余分区1中存放应用程序和校验码进行刷新,包括:
FPGA芯片读取冗余分区2中的应用程序文件和校验码文件,写入并覆盖主分区、冗余分区1中相应的应用程序文件和校验码文件。
9.如权利要求1所述的支持在轨动态更新的软硬件协同的应用程序维护方法,其特征在于,步骤四中,对主分区、冗余分区1、冗余分区2中存放的校验码的读取由FPGA芯片采用三取二方式获取,包括:
步骤S71:若分区内第1份校验码文件与分区内第2份校验码文件相同,则将分区内第1份校验码写入分区内第3份校验码文件,并以第1份校验码文件为获取的校验码;
步骤S72:若分区内第1份校验码文件与分区内第2份校验码文件不同,则将分区内第1份校验码文件与分区内第3份校验码文件进行比对;
步骤S73:若分区内第1份校验码文件与分区内第3份校验码文件相同,则将分区内第1份校验码文件写入分区内第2份校验码文件,并以第1份校验码文件为获取的校验码;
步骤S74:若分区内第1份校验码文件与分区内第3份校验码文件不同,则将分区内第2份校验码文件与分区内第3份校验码文件进行比对;
步骤S75:若分区内第2份校验码文件与分区内第3份校验码文件相同,则将分区内第2份校验码文件写入分区内第1份校验码文件,并以第2份校验码文件为获取的校验码;
步骤S76:若分区内第2份校验码文件与分区内第3份校验码文件不同,不对分区内这三份校验码文件进行刷新,则以第1份校验码文件为获取的校验码。
10.如权利要求1所述的支持在轨动态更新的软硬件协同的应用程序维护方法,其特征在于,步骤五,如果主分区、冗余分区1和冗余分区2的校验码与相应的应用程序的校验码均不一致,则从主分区、冗余分区1和冗余分区2中的3份应用程序取出一份正确应用程序执行,包括:
若比对发现计算的校验码与主分区、冗余分区1和冗余分区2存储的校验码均不同,操作系统内存管理部件则启动对主分区、冗余分区1、冗余分区2中存放3份应用程序进行按位“三取二”操作,形成一份应用程序,并对形成的一份应用程序启动执行;所述按位“三取二”,包括:
在3份校验码文件中,读取的序号相同的字或字节,将该字或字节中序号相同的位,进行异或运算,将异或运算的结果作为该位的值。
CN202010390005.5A 2020-05-09 2020-05-09 支持在轨动态更新的软硬件协同的应用程序维护方法 Active CN111580844B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010390005.5A CN111580844B (zh) 2020-05-09 2020-05-09 支持在轨动态更新的软硬件协同的应用程序维护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010390005.5A CN111580844B (zh) 2020-05-09 2020-05-09 支持在轨动态更新的软硬件协同的应用程序维护方法

Publications (2)

Publication Number Publication Date
CN111580844A true CN111580844A (zh) 2020-08-25
CN111580844B CN111580844B (zh) 2024-02-02

Family

ID=72126489

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010390005.5A Active CN111580844B (zh) 2020-05-09 2020-05-09 支持在轨动态更新的软硬件协同的应用程序维护方法

Country Status (1)

Country Link
CN (1) CN111580844B (zh)

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799502A (zh) * 2012-06-28 2012-11-28 航天恒星科技有限公司 一种星载嵌入式软件在轨维护方法
CN104820586A (zh) * 2015-04-09 2015-08-05 北京空间机电研究所 一种航天器嵌入式软件在轨维护方法
CN104915219A (zh) * 2014-03-12 2015-09-16 奇点新源国际技术开发(北京)有限公司 单片机程序升级方法及装置
US20160085543A1 (en) * 2014-09-24 2016-03-24 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
JP6085767B1 (ja) * 2016-09-21 2017-03-01 株式会社 ローバルコム 文書識別情報表示方法及び文書識別情報表示装置、改定バージョン文書表示方法及び改定バージョン文書表示装置、及びこれら方法を実行するための媒体
CN106776122A (zh) * 2016-11-23 2017-05-31 武汉光迅科技股份有限公司 一种基于Flash启动过程中主备保护的方法
US20170323089A1 (en) * 2016-05-06 2017-11-09 Enterpriseweb Llc Systems and methods for domain-driven design and execution of modular and dynamic services, applications and processes
CN107391189A (zh) * 2017-07-17 2017-11-24 上海卫星工程研究所 星载软件的在轨编程方法
CN108052355A (zh) * 2017-11-22 2018-05-18 西南电子技术研究所(中国电子科技集团公司第十研究所) 星载载荷单元软件在轨重组方法
CN108446189A (zh) * 2018-06-12 2018-08-24 中国科学院上海技术物理研究所 一种星载嵌入式软件容错启动系统及方法
CN110609699A (zh) * 2018-06-15 2019-12-24 伊姆西Ip控股有限责任公司 维护存储系统的组件的方法、电子设备和计算机程序产品
CN110674046A (zh) * 2019-09-24 2020-01-10 上海航天电子通讯设备研究所 提高星载嵌入式文件系统可靠性的方法
CN110795129A (zh) * 2019-11-04 2020-02-14 阳光电源股份有限公司 一种数据刷写方法、装置和设备
CN110955558A (zh) * 2018-09-26 2020-04-03 Emc知识产权控股有限公司 用于向高可用性应用程序提供备份服务的系统和方法
CN111045713A (zh) * 2019-12-19 2020-04-21 浪潮(北京)电子信息产业有限公司 一种计算机系统的升级方法、系统及装置

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799502A (zh) * 2012-06-28 2012-11-28 航天恒星科技有限公司 一种星载嵌入式软件在轨维护方法
CN104915219A (zh) * 2014-03-12 2015-09-16 奇点新源国际技术开发(北京)有限公司 单片机程序升级方法及装置
US20160085543A1 (en) * 2014-09-24 2016-03-24 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
CN104820586A (zh) * 2015-04-09 2015-08-05 北京空间机电研究所 一种航天器嵌入式软件在轨维护方法
US20170323089A1 (en) * 2016-05-06 2017-11-09 Enterpriseweb Llc Systems and methods for domain-driven design and execution of modular and dynamic services, applications and processes
JP6085767B1 (ja) * 2016-09-21 2017-03-01 株式会社 ローバルコム 文書識別情報表示方法及び文書識別情報表示装置、改定バージョン文書表示方法及び改定バージョン文書表示装置、及びこれら方法を実行するための媒体
CN106776122A (zh) * 2016-11-23 2017-05-31 武汉光迅科技股份有限公司 一种基于Flash启动过程中主备保护的方法
CN107391189A (zh) * 2017-07-17 2017-11-24 上海卫星工程研究所 星载软件的在轨编程方法
CN108052355A (zh) * 2017-11-22 2018-05-18 西南电子技术研究所(中国电子科技集团公司第十研究所) 星载载荷单元软件在轨重组方法
CN108446189A (zh) * 2018-06-12 2018-08-24 中国科学院上海技术物理研究所 一种星载嵌入式软件容错启动系统及方法
CN110609699A (zh) * 2018-06-15 2019-12-24 伊姆西Ip控股有限责任公司 维护存储系统的组件的方法、电子设备和计算机程序产品
CN110955558A (zh) * 2018-09-26 2020-04-03 Emc知识产权控股有限公司 用于向高可用性应用程序提供备份服务的系统和方法
CN110674046A (zh) * 2019-09-24 2020-01-10 上海航天电子通讯设备研究所 提高星载嵌入式文件系统可靠性的方法
CN110795129A (zh) * 2019-11-04 2020-02-14 阳光电源股份有限公司 一种数据刷写方法、装置和设备
CN111045713A (zh) * 2019-12-19 2020-04-21 浪潮(北京)电子信息产业有限公司 一种计算机系统的升级方法、系统及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
杨越超等: "矿产资源潜力评价数据管理系统更新与维护研究—以中南地区为例", vol. 42, no. 3, pages 446 - 451 *
王钊;李勇;崔维鑫;雒莎;: "一种星载嵌入式软件容错启动系统设计", 电子设计工程, no. 08 *

Also Published As

Publication number Publication date
CN111580844B (zh) 2024-02-02

Similar Documents

Publication Publication Date Title
US8156405B1 (en) Efficient redundant memory unit array
CN111327490B (zh) 区块链的拜占庭容错检测方法及相关装置
CN108932249B (zh) 一种管理文件系统的方法及装置
CN110647295B (zh) 缩短ssd上电恢复时间的方法、系统、设备及存储介质
CN111400267A (zh) 记录日志的方法和装置
CN112332902B (zh) 一种星上自主控制的在轨重构系统与方法
CN102521074B (zh) 一种加快raid5恢复的方法
US7356727B1 (en) Electronic device employing efficient fault tolerance
CN115904250A (zh) 数据读写方法、装置、存储设备及可读存储介质
EP0976041A1 (en) Detecting memory problems in computers
CN113312205B (zh) 数据校验方法、装置、存储介质和计算机设备
CN110674046B (zh) 提高星载嵌入式文件系统可靠性的方法
CN111580844A (zh) 支持在轨动态更新的软硬件协同的应用程序维护方法
US7240272B2 (en) Method and system for correcting errors in a memory device
CN114579163A (zh) 一种磁盘固件升级方法、计算装置及系统
CN111858119A (zh) 一种bios故障修复方法及相关装置
CN110119285A (zh) 一种低端单片机软件升级方法及相关装置
US20190205205A1 (en) Sequential memory access on a high performance computing system
CN111625606B (zh) 一种联盟链数据处理方法、装置以及电子设备
EP1001432A1 (en) Method of testing random-access memory
CN113535468B (zh) Dsp芯片的启动方法和启动装置
CN101470666A (zh) 一种数据存储方法
CN111857884A (zh) 高可靠星载软件启动系统及方法
CN111611000A (zh) 一种高可靠的固件空中升级方法及系统
CN111104256A (zh) 一种数据读取方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant