CN108647091B - 一种基于任务自适应分配的星载计算机动态重构方法及系统 - Google Patents
一种基于任务自适应分配的星载计算机动态重构方法及系统 Download PDFInfo
- Publication number
- CN108647091B CN108647091B CN201810391012.XA CN201810391012A CN108647091B CN 108647091 B CN108647091 B CN 108647091B CN 201810391012 A CN201810391012 A CN 201810391012A CN 108647091 B CN108647091 B CN 108647091B
- Authority
- CN
- China
- Prior art keywords
- cpu
- working mode
- task
- module
- heartbeat information
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2033—Failover techniques switching over of hardware resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Hardware Redundancy (AREA)
Abstract
一种基于任务自适应分配的星载计算机动态重构方法及系统,包括步骤如下:CPU之间发送心跳信息,根据心跳信息以及自身CPU标识进行系统工作模式的初始设置,通过对周期性心跳信息的监控实现系统工作模式的自主切换以及任务的动态分配和创建。通过该方法,各CPU可重新根据工作模式以及自身CPU标识启动工作任务,并支持创建和启动拓展任务,增加系统处理任务数量的能力,系统灵活性强,支持航天器在轨运行期间根据任务需要动态扩展星载计算机的软件功能,提升系统的计算能力和可靠性。
Description
技术领域
本发明涉及一种基于任务自适应分配的星载计算机动态重构方法及系统,属于航天器综合电子技术领域。
背景技术
为提升可靠性,传统航天器中的星载计算机一般采用双机或三机方式,其中双机一般采用冷备模式,每个单机都包含处理器(CPU)模块以及若干IO模块,不同单机间的CPU无法进行通信,一个单机的CPU无法对另一个单机的IO模块进行访问。
上述设计有如下缺点:
(1)双机中两个单机是完全备份的状态,各单机完成的任务完全相同,当单机处理能力有限而航天器任务大幅增加时,无法通过双机并行运行实现任务扩展。
(2)双机中CPU与IO模块是绑定的状态,若其中一个单机的CPU故障,其对应该单机中与该CPU接口的其它模块即使正常也无法使用,只能整体切换至另一个单机。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提供一种基于任务自适应分配的星载计算机动态重构方法及系统,解决了双机单模块故障时只能整机切换以及任务无法按需扩展和并行运行的问题。
本发明的技术方案是:
本发明与现有技术相比的有益效果是:
(1)本发明中在一个星载计算机中包括若干CPU模块和IO模块,通过内部总线相连,如图4所示。各CPU模块可以是冷备份,也可以同时工作,系统灵活性强。当单CPU模块处理能力有限而航天器任务大幅增加时,各CPU模块可以同时工作,实现双机并行工作模式,分别承担不同的工作任务,根据任务需要动态扩展星载计算机的软件功能,相对于现有技术的冷备模式,提升系统的扩展能力和灵活性;
(2)本发明CPU模块和IO模块是松耦合的关系,CPU模块和IO模块之间可任意组合,若其中一个CPU模块故障,则可以用另一个CPU模块代替,该故障CPU模块所访问的IO模块仍然可以由新CPU模块进行访问,系统容错能力可大幅提升;
(3)本发明在CPU模块之间采用心跳判断的模式,可以动态切换单机和双机工作模式,实现系统的动态重构;
附图说明
图1是任务分配状态初始化过程示意图;
图2是后台监控过程示意图;
图3是心跳信息结构图;
图4是星载计算机组成示意图。
具体实施方式
具体实施方式如下所述。
一种基于任务自适应分配的星载计算机动态重构方法,该方法用于在星载计算机内部不同CPU之间进行任务自适应分配及动态重构。包括如下步骤:
步骤1、任务分配状态初始化。任务分配状态初始化过程的示意图如图1所示,具体处理过程如下:
(1)各CPU设置其工作模式为初始化模式,并对通信驱动模块进行初始化,建立CPU之间通信的硬件通道连接。本实施例中,采用ARINC659总线作为CPU之间通信的硬件通道,设计ARINC659总线通信驱动模块,并将其挂接到操作系统中,然后调用操作系统的系统调用创建CPU通信设备。若采用其它星载链路,可开发对应的通信驱动模块予以替换即可;
(2)各CPU的系统监控模块通过CPU的通信驱动模块发送心跳消息到另一个CPU,本实施例中,心跳信息的结构如图3所示;
(3)等待2秒;
(4)各CPU的系统监控模块调用操作系统的系统调用,读取CPU通信驱动设备,以获取另一CPU的心跳信息。本实施例中,若心跳信息的字节长度为4且同步头为0xEB90,则认为是正确接收到心跳信息,设置当前模式为双机工作模式,否则设置当前模式为单机工作模式;
(5)各CPU根据从CPU模块读取的CPU标识设置本CPU的APID基址(唯一标识一个工作任务),启动本CPU的系统监控模块对应的后台监控任务,本实施例中,具体处理过程包括:
(a)若CPU标识为0x0B,则设置本CPU的APID基址为0x440,其它情况设置本CPU的APID基址为0x420。
(b)将本CPU的遥控处理任务的APID设置为APID基址+1,遥测处理任务的APID设置为APID基址+2,内务处理任务的APID设置为APID基址+3,程控处理任务的APID设置为APID基址+4,其它任务依此类推。
(c)调用操作系统的任务创建系统调用启动本CPU的后台监控任务,后台监控任务的处理流程见下文步骤2。
(6)各CPU根据APID基址以及当前工作模式启动本CPU对应的应用任务。本实施例中,具体处理过程包括:
(a)若当前为单机模式,则调用操作系统的任务创建系统调用,启动遥控处理任务、遥测处理任务、内务处理任务、程控处理任务、扩展任务等。
(b)若当前为双机模式,则当APID基址为0x420时表示为当班机,调用操作系统的任务创建系统调用,创建并启动遥控处理任务、遥测处理任务、内务处理任务、程控处理任务;当APID基址为0x440时表示为非当班机,调用操作系统的任务创建系统调用,创建并启动扩展任务。
步骤2、各CPU的系统监控模块的后台监控任务通过CPU之间的心跳信息对当前CPU模块在线状态进行实时监测,根据CPU模块在线状态进行工作模式切换、任务启动、任务删除等操作,实现任务自适应分配及动态重构。后台监控过程示意图如图2所示,具体处理过程如下:
(1)将CPU接收不成功次数清0;
(2)CPU的后台监控任务通过CPU通信驱动模块发送心跳消息到另一个CPU,本实施例中,心跳信息的结构如图3所示;
(3)将CPU接收不成功次数加1;
(4)CPU的后台监控任务通过CPU通信驱动模块获取另一CPU的心跳信息,判断是否正确接收到心跳信息,本实施例中,若心跳信息的字节长度为4且同步头为0xEB90,则认为是正确接收到心跳信息,将CPU接收不成功次数清0;
(5)若CPU接收不成功次数为0且当前模式为单机模式,则将模式切换为双机模式,并根据双机模式下本CPU的任务配置进行任务启动、删除操作。本实施例中,任务配置具体处理过程为:若扩展任务进程标识大于0,则调用操作系统的任务删除系统调用将扩展任务删除,设置扩展任务进程标识为0。
(6)若当前模式为双机模式且CPU接收不成功次数大于3,则将模式切换为单机模式,并根据单机模式下本CPU的任务配置进行任务自适应分配。本实施例中,任务自适应分配具体处理过程为:
(a)若APID基址为0x420,表示当班机由双机模式变为单机模式,则调用操作系统的任务创建系统调用创建扩展任务,将返回值赋予扩展任务进程标识。
(b)若APID基址为0x440,表示当前为非当班机,在双机变为单机后需切换为当班机,此时先将APID基址重设为0x420,并按照步骤1中(5)的(b)项处理方法设置各任务的APID,调用操作系统的任务创建系统调用创建并启动遥控处理任务、遥测处理任务、内务处理任务、程控处理任务。从而将原当班机中的任务自适应分配至现在的当班机。
(7)延时2秒,转到处理过程(2)继续执行。
本实施例中,如图4所示,航天器中可以采用星载计算机实现上述方法,具体包含2个CPU和若干个IO模块,各模块通过ARINC659总线连接。
CPU中运行操作系统、任务分配状态初始化软件以及本CPU的后台监控任务,CPU可以在任一单机加电状态或者双机加电状态下启动,在运行过程中可以对其中的任一CPU进行加断电操作,实现任务的自适应分配和动态重构。
IO模块通过ARINC659总线与CPU进行通信,可在CPU的控制下实现遥测采集、指令发送等功能。
本发明说明书中未作详细描述的内容属本领域专业技术人员的公知技术。
Claims (4)
1.一种基于任务自适应分配的星载计算机动态重构方法,其特征在于,包括步骤如下:
1)获取星载计算机动态重构间隔周期T,根据动态重构间隔周期T控制各个CPU通过Arinc659总线向所有其他CPU发送心跳信息;所述的心跳信息包括同步头、CPU标识,其中,同步头实现心跳信息识别,CPU标识用于识别发送心跳信息的CPU模块,控制CPU工作模式切换为双机工作模式或者单机工作模式,双机工作模式为主CPU、备CPU均与对应的IO模块进行通信控制,单机工作模式为主CPU与对应的IO模块进行通信控制;
2)监测各个CPU是否接收到正确的心跳信息,若接收到正确的心跳信息,则进入步骤3),若接收到的心跳信息不正确或未接收到心跳信息,则进入步骤4);
3)判断当前工作状态,若当前CPU的工作模式是初始化模式,则将工作模式设置为双机工作模式,根据CPU标识启动在双机工作模式下的工作任务,进入步骤1);若当前CPU的工作模式是双机工作模式,则保持原工作模式不变,进入步骤1);若当前的工作模式是单机工作模式,则将工作模式设置为双机工作模式,并停止原单机工作模式任务中在双机工作模式下没有的工作任务,根据CPU标识启动在双机工作模式下新增的工作任务,进入步骤1);
4)判断当前工作状态,若当前CPU的工作模式是初始化模式,则将工作模式设置为单机工作模式,并根据自身CPU标识启动CPU在单机工作模式下的工作任务,进入步骤1);若当前的工作模式是双机工作模式,则停止原双机工作模式中在单机工作模式下没有的工作任务,并根据CPU标识启动CPU在单机工作模式下新增的工作任务,进入步骤1);若当前的工作模式是单机工作模式,则保持原工作模式不变,进入步骤1);步骤2)中所述的监测CPU是否接收到正确的心跳信息的具体方法为:若心跳信息的字节长度及心跳信息的同步头都与预期一致,则该心跳信息为正确的心跳信息;
各CPU根据从CPU模块读取的CPU标识设置本CPU的应用过程标识基址,各CPU根据APID基址以及当前工作模式启动本CPU对应的应用任务,各应用任务根据APID基址设置任务的APID;
执行星载计算机动态重构方法的系统包括多个CPU模块、IO模块,CPU模块之间、CPU与IO模块之间均采用Arinc659总线互联,CPU模块包括任务分配状态初始化模块、系统监控模块、通信驱动模块;其中:
IO模块在CPU模块的控制下完成发送指令或者采集遥测;
CPU模块中的任务分配状态初始化模块对通信驱动、当前模式进行初始化设置;
CPU模块中的通信驱动模块负责CPU模块之间的通信控制;
CPU模块中的系统监控模块控制CPU向其他CPU发送心跳信息;监测各个CPU是否接收到正确的心跳信息,若接收到正确的心跳信息且当前CPU的工作模式是初始化模式,则将工作模式设置为双机工作模式,根据CPU标识启动在双机工作模式下的工作任务,若接收到正确的心跳信息且当前CPU的工作模式是双机工作模式,则保持原工作模式不变,若接收到正确的心跳信息且当前的工作模式是单机工作模式,则将工作模式设置为双机工作模式,并停止原单机工作模式任务中在双机工作模式下没有的工作任务,根据CPU标识启动在双机工作模式下新增的工作任务;
若接收到的心跳信息不正确或未接收到心跳信息且当前CPU的工作模式是初始化模式,则将工作模式设置为单机工作模式,并根据从CPU硬件模块读取的自身CPU标识启动CPU在单机工作模式下的工作任务,若接收到的心跳信息不正确或未接收到心跳信息且当前的工作模式是双机工作模式,则停止原双机工作模式中在单机工作模式下没有的工作任务,并根据CPU标识启动CPU在单机工作模式下新增的工作任务,若接收到的心跳信息不正确或未接收到心跳信息且当前的工作模式是单机工作模式,则保持原工作模式不变;所述的心跳信息包括同步头、CPU标识,其中,同步头实现心跳信息识别,CPU标识用于识别发送心跳信息的CPU模块,双机工作模式为主CPU、备CPU均与对应的IO模块进行通信控制,单机工作模式为主CPU与对应的IO模块进行通信控制。
2.根据权利要求1所述的一种基于任务自适应分配的星载计算机动态重构方法,其特征在于:所述的根据CPU标识启动CPU在双机工作模式下的工作任务具体为:
主CPU模块创建并启动遥控处理任务、遥测处理任务、内务处理任务、程控处理任务;备CPU模块创建并启动扩展任务;主CPU模块中的遥控处理任务、遥测处理任务可以接收IO模块通过内部总线发来的数据,并对其关联的IO模块进行控制,备CPU模块的扩展任务通过内部总线与主CPU模块的各类任务进行通信。
3.根据权利要求1所述的一种基于任务自适应分配的星载计算机动态重构方法,其特征在于:所述的启动CPU在单机工作模式下的工作任务的具体方法为:主CPU模块启动遥控处理任务、遥测处理任务、内务处理任务、程控处理任务、扩展任务,主CPU模块中的遥控处理任务、遥测处理任务可以接收IO模块通过内部总线发来的数据,并对其关联的IO模块进行控制,扩展任务通过操作系统提供的内部通信机制与其它任务进行通信。
4.根据权利要求1所述的一种基于任务自适应分配的星载计算机动态重构方法,其特征在于:所述的T=2s。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810391012.XA CN108647091B (zh) | 2018-04-27 | 2018-04-27 | 一种基于任务自适应分配的星载计算机动态重构方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810391012.XA CN108647091B (zh) | 2018-04-27 | 2018-04-27 | 一种基于任务自适应分配的星载计算机动态重构方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108647091A CN108647091A (zh) | 2018-10-12 |
CN108647091B true CN108647091B (zh) | 2021-03-26 |
Family
ID=63748264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810391012.XA Active CN108647091B (zh) | 2018-04-27 | 2018-04-27 | 一种基于任务自适应分配的星载计算机动态重构方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108647091B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109597383B (zh) * | 2018-12-08 | 2021-10-08 | 顾满洲 | 一种轻量化小系统可靠性结构设计 |
CN112306809B (zh) * | 2020-11-05 | 2024-04-09 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于表驱动的机电系统及其多模式管理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572213A (zh) * | 2015-01-23 | 2015-04-29 | 北京控制工程研究所 | 一种星载控制计算机的重构方法 |
US9766933B2 (en) * | 2011-09-30 | 2017-09-19 | Teradata Us, Inc. | Fine-grained capacity management of computing environments that may support a database |
-
2018
- 2018-04-27 CN CN201810391012.XA patent/CN108647091B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9766933B2 (en) * | 2011-09-30 | 2017-09-19 | Teradata Us, Inc. | Fine-grained capacity management of computing environments that may support a database |
CN104572213A (zh) * | 2015-01-23 | 2015-04-29 | 北京控制工程研究所 | 一种星载控制计算机的重构方法 |
Non-Patent Citations (1)
Title |
---|
星载并行处理计算机系统容错技术研究;张国强;《中国优秀硕士学位论文全文数据库 信息科技辑》;20071115(第5期);正文第3.3-4.4节及其中所有图表 * |
Also Published As
Publication number | Publication date |
---|---|
CN108647091A (zh) | 2018-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102693201B (zh) | 具有持续端口配置的sas控制器 | |
US8375363B2 (en) | Mechanism to change firmware in a high availability single processor system | |
JP3177117B2 (ja) | 複数のノード内の制御コードを更新する方法および装置 | |
CN102081540B (zh) | 一种分布式双主控网络设备软件升级方法和装置 | |
US9020894B2 (en) | Service version modification of a high-availability system | |
CN109547367B (zh) | 基于sca的软件无线电平台 | |
US20040083358A1 (en) | Reboot manager usable to change firmware in a high availability single processor system | |
JP7116802B2 (ja) | マスター・スタンドバイコンテナシステム切替 | |
EP3407187B1 (en) | Optical line terminal, and method for upgrading master device and slave device | |
CN103532753A (zh) | 一种基于内存换页同步的双机热备方法 | |
CN108647091B (zh) | 一种基于任务自适应分配的星载计算机动态重构方法及系统 | |
CN102291808A (zh) | 一种网络通信方法、通信设备以及通信设备的中间件 | |
CN107025152B (zh) | 基于任务级的双冗余热备份设备的数据同步方法 | |
CN105005283A (zh) | 一种主控单元双冗余热备份发射车控制方法 | |
US20060282831A1 (en) | Method and hardware node for customized upgrade control | |
CN105653306A (zh) | 显示启动设置界面的方法和装置 | |
CN109194497A (zh) | 面向软件无线电系统的双srio网络备份系统 | |
CN108984195B (zh) | 一种软件升级方法及装置 | |
CN109857471A (zh) | 一种bios和bmc下电策略实时同步的方法、装置、终端及存储介质 | |
US9154448B2 (en) | Apparatus and method for switching connection to a communication network | |
CN101515834A (zh) | 一种主控卡、基于多备份主控卡的切换系统及其切换方法 | |
CN101557307B (zh) | 调度自动化系统应用状态管理方法 | |
CN111142945A (zh) | 一种双余度计算机的主、从通道动态切换方法 | |
CN101145955A (zh) | 网管软件热备份的方法、网管及网管系统 | |
CN102983997A (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 |