CN112306763B - 一种对冗余数据源的选择方法及装置 - Google Patents
一种对冗余数据源的选择方法及装置 Download PDFInfo
- Publication number
- CN112306763B CN112306763B CN202011211299.7A CN202011211299A CN112306763B CN 112306763 B CN112306763 B CN 112306763B CN 202011211299 A CN202011211299 A CN 202011211299A CN 112306763 B CN112306763 B CN 112306763B
- Authority
- CN
- China
- Prior art keywords
- data exchange
- exchange area
- data
- current
- faults
- 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
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000001052 transient effect Effects 0.000 claims abstract description 20
- 230000000737 periodic effect Effects 0.000 claims abstract description 14
- 238000011084 recovery Methods 0.000 description 6
- 238000010187 selection method Methods 0.000 description 1
Classifications
-
- 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/2041—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 with more than one idle spare processing component
Abstract
本申请提供一种对冗余数据源的选择方法及装置,所述方法应用于容错计算机,所述容错计算机包括N个处理器,每个处理器分别与对应的数据交换区,每个数据交换区分别与对应的系统I/O处理区域处理器连接,方法包括:分别对无优先级设定的数据交换区进行顺序编号,所述编号包括1、2…N;对所有的数据交换区的当前状态进行标定,数据交换区的当前状态包括瞬态故障、永久故障和正常状态;若判断出数据交换区存在永久故障,则根据所述编号,依次顺序向后寻找编号最靠近的、处于正常状态,且当前数据有效可用的数据交换区作为最新数据交换区;根据所述最新数据交换区的数据执行本周期任务。
Description
技术领域
本申请涉及计算机领域,具体涉及一种对冗余数据源的选择方法及装置。
背景技术
机载容错计算机体系下智能化的I/O处理区不可避免的需要对多个冗余处理器所输出的数据进行选择后使用,会用到的方法是设置优先级进行选择,就是针对所有的处理器所对应的数据交换区设置固定优先权编号,当所有区域数据都正常的情况下使用优先级高的数据交换区的数据进行使用,高优先级数据交换区数据出现无效时,转向使用有效的次优先级数据交换区的数据,在使用低优先级数据交换区数据期间,如果识别出高优先级数据交换区的数据满足条件而恢复正常,则遵循优先原则会重新再选择已经恢复正常的高优先级数据交换区的数据进行使用。
这种方法自身已经得到较为稳健的应用,可能存在一点争议之处是对所有数据交换区的使用存在一定的不均衡,由于为了提高可靠性所具有的可恢复特性使得所用数据总在优先级较高的数据交换区之间进行切换选择,而人为设定的低优先级数据交换区的数据总得不到选用,即使低优先级数据交换区的数据更加的稳定也会“永远”不能被使用。有必要再构想一种方法以供系统应用选择。
发明内容
为了解决上述技术问题,本申请提供了一种对冗余数据源的选择方法及装置,能够提高所有数据交换区的数据利用率。
第一方面,本申请提供一种对冗余数据源的选择方法,所述方法应用于容错计算机,所述容错计算机包括N个处理器,每个处理器分别与对应的数据交换区,每个数据交换区分别与对应的系统I/O处理区域处理器连接,方法包括:
分别对无优先级设定的数据交换区进行顺序编号,所述编号包括1、2…N;
对所有的数据交换区的当前状态进行标定,数据交换区的当前状态包括瞬态故障、永久故障和正常状态;
若判断出数据交换区存在永久故障,则根据所述编号,依次顺序向后寻找编号最靠近的、处于正常状态,且当前数据有效可用的数据交换区作为最新数据交换区;
根据所述最新数据交换区的数据执行本周期任务。
优选的,方法还包括:
如果当前全部的数据交换区都存在故障,则采用相应的故障状态下应急数据执行本周期任务。
优选的,若判断出数据交换区存在永久故障,方法还包括:
对所述存在永久故障的数据交换区进行故障处理,若所述数据交换区恢复正常,则将所述数据交换区的状态修改为正常状态。
优选的,若判断出数据交换区存在瞬态故障,则继续使用当前数据交换区的数据执行本周期任务。
优选的,方法还包括:
若判断出数据交换区存在永久故障,且当前数据交换区对应的编号为N,则重新从编号为1的数据交换区依次顺序向后寻找编号最靠近的、处于正常状态,且当前数据有效可用的数据交换区作为最新数据交换区。
第二方面,本申请提供一种对冗余数据源的选择装置,所述装置包括编号单元、标定单元、判断单元和执行单元,其中:
编号单元,用于分别对无优先级设定的数据交换区进行顺序编号,所述编号包括1、2…N;
标定单元,用于对所有的数据交换区的当前状态进行标定,数据交换区的当前状态包括瞬态故障、永久故障和正常状态;
判断单元,用于若判断出数据交换区存在永久故障,则根据所述编号,依次顺序向后寻找编号最靠近的、处于正常状态,且当前数据有效可用的数据交换区作为最新数据交换区;
执行单元,用于根据所述最新数据交换区的数据执行本周期任务。
优选的,执行单元,还用于如果当前全部的数据交换区都存在故障,则采用相应的故障状态下应急数据执行本周期任务。
优选的,判断单元,还用于判断出数据交换区存在永久故障,对所述存在永久故障的数据交换区进行故障处理,若所述数据交换区恢复正常,则将所述数据交换区的状态修改为正常状态。
综上所述,本申请提供一种对冗余数据源的选择方法及装置,该方法融入了对瞬态故障的抑制以及对永久故障恢复的策略,其主要特点是采用顺序方式对无优先级设定的具有固定编号的多个冗余数据交换区数据依据其自身状态进行循环选择使用,具有一定的健壮鲁帮特性,支持机载容错计算机系统的可靠运行,可以被广泛推广应用。
附图说明
图1为现有技术中的容错计算机体系模型结构;
图2为本申请提供的一种冗余数据源选择方法的流程示意图。
具体实施方式
本申请在于:采用顺序方式(如图1所示)对无优先级设定的多个处理器及其所对应数据交换区数据进行循环选择使用,并融入了对瞬态故障的抑制以及对永久故障恢复的策略。主要特征:对不同的数据交换区进行自然编号设定,每周期内对各个数据交换区采用先判据、再选取、后使用的步骤执行。判决操作是对所有数据交换区的当前状态进行标定,融合了对瞬态故障的计数、对永久故障的判定标示、对可恢复故障的重标定等;选取操作,如果最近使用到的数据交换区出现了永久故障,则依次顺序向后寻找编号最靠近的无永久故障且当前数据有效可用的数据交换区作为所选择到的最新数据交换区,融合了对当前数据交换区瞬态故障情况的处理;使用数据,采用最新选定的数据交换区的数据执行本周期任务,如果当前全部数据交换区都不可用则采用相应的故障状态下应急数据执行本周期任务。
详细流程如图2所示,具体描述如下:
步骤1:启动,系统I/O处理区域的处理器重新通电或复位后启动运行,下一步执行步骤2;
步骤2:初始化,包括不局限于这些参数:HeartbeatCount(心跳计数,整型变量,初始置0),DataNum(指示被选数据交换区的编号,整型变量,初始值置1),FaultState(指示永久故障的数量为N的布尔型数组FaultState,每个变量初始置为FALSE),TranFaultCount(指示瞬态故障的数量为N的整型数组,每个变量初始置为0),FaultReCount(指示故障恢复计数的数量为N的整型数组,每个变量初始置为0),DataSel(指示本处理周期内是否已选到合适的数据交换区数据,布尔类型变量,初始置为FALSE),下一步执行步骤3;
步骤3:参与控制循环的第1变量i置为1,下一步执行步骤4;
步骤4:开始执行判别流程,i如果不大于N(所有数据交换区的数量)下一步执行步骤4.1,否则下一步执行步骤5;
步骤4.1:编号为i的数据交换区的数据如果有效,下一步执行步骤4.1.2,否则下一步执行步骤4.1.3;
步骤4.1.2:数据交换区i的故障状态如果已经标记为永久故障(TRUE)下一步执行步骤4.1.2.1,否则下一步执行步骤4.1.2.2;
步骤4.1.2.1:数据交换区i的故障恢复计数值自增1,下一步执行步骤4.1.2.2;
步骤4.1.2.2:如果数据交换区i的故障恢复计数值等于恢复门限值ReLimit,下一步执行步骤4.1.2.2.1,否则下一步执行步骤4.2;
步骤4.1.2.2.1:数据交换区i的故障恢复计数值置0,数据交换区i的故障状态置FALSE(非永久故障),下一步执行步骤4.2;
步骤4.1.2.2:数据交换区i的瞬态故障计数值如果大于0,下一步执行步骤4.1.2.2.1,否则下一步执行步骤4.2;
步骤4.1.2.2.1:数据交换区i的瞬态故障计数值自减1,下一步执行步骤4.2;
步骤4.1.3:数据交换区i的故障状态如果已经标记为无永久故障(FALSE)下一步执行步骤4.1.3.1,否则下一步执行步骤4.1.3.2;
步骤4.1.3.1:数据交换区i的瞬态故障计数值如果小于FaultLimit(故障门限值),下一步执行步骤4.1.3.1.1,否则下一步执行步骤4.1.3.1.2;
步骤4.1.3.1.1:数据交换区i的瞬态故障计数值自增1,下一步执行步骤4.2;
步骤4.1.3.1.2:数据交换区i的故障状态置TRUE(指示该数据交换区永久故障),数据交换区i的瞬态故障计数值置0,下一步执行步骤4.2;
步骤4.1.3.2:数据交换区i的故障恢复计数值置0,下一步执行步骤4.2;
步骤4.2:参与控制循环的第1变量i自增1,下一步执行步骤4;
步骤5:参与控制循环的第2变量k置为1;
步骤6:第2变量k的数值大于N或DataSel的状态是TRUE,下一步执行步骤7,否则下一步执行步骤6.1;
步骤6.1,开始执行选择流程,编号DataNum数据交换区的故障状态如果是TRUE(永久故障),下一步执行步骤6.1.1,否则下一步执行步骤6.1.2;
步骤6.1.1:变量DataNum的数值小于N,下一步执行步骤6.1.1.1,否则下一步执行步骤6.1.1.2;
步骤6.1.1.1:变量DataNum自增1,下一步执行步骤6.1.3;
步骤6.1.1.2:变量DataNum置1,下一步执行步骤6.1.1.3;
步骤6.1.1.3:第2变量k的数值自增1,下一步执行步骤6;
步骤6.1.2:编号DataNum的数据交换区如果有效,下一步执行步骤6.1.2.1,否则下一步执行步骤6.1.2.2;
步骤6.1.2.1:选取编号DataNum的数据交换区数据,下一步执行步骤6.1.2.3;
步骤6.1.2.2:第2变量k是1,下一步执行步骤6.1.2.2.1,否则下一步执行步骤6.1.1;
步骤6.1.2.2.1:依据心跳计数变量HeartbeatCount、TranFaultCount[DataNum](编号DataNum的数据交换区的瞬态故障计数值)的内容选取安全数据,下一步执行步骤6.1.2.3;
步骤6.1.2.3:布尔变量DataSel的状态置TRUE,下一步执行步骤6;
步骤7:开始执行使用流程,布尔变量DataSel是TRUE,下一步执行步骤7.1,否则下一步执行步骤7.2;
步骤7.1:采用已选取的数据执行本周期任务,下一步执行步骤7.3;
步骤7.2:参考第2变量k、心跳计数变量HeartbeatCount数值采用相应故障应急数据执行本周期任务,下一步执行步骤7.3;
步骤7.3:布尔变量DataSel置FALSE,下一步执行步骤8;
步骤8:执行心跳计数程序,下一步执行步骤9;
步骤9:本周期运新结束,下一步执行步骤3。
综上所述,本提案针对机载容错计算机系统提供了一种对冗余数据源的选择方法,该方法融入了对瞬态故障的抑制以及对永久故障恢复的策略,其主要特点是采用顺序方式对无优先级设定的具有固定编号的多个冗余数据交换区数据依据其自身状态进行循环选择使用,具有一定的健壮鲁帮特性,支持机载容错计算机系统的可靠运行,可以被广泛推广应用。
Claims (6)
1.一种对冗余数据源的选择方法,其特征在于,所述方法应用于容错计算机,所述容错计算机包括N个处理器,每个处理器分别与对应的数据交换区,每个数据交换区分别与对应的系统I/O处理区域处理器连接,方法包括:
分别对无优先级设定的数据交换区进行顺序编号,所述编号包括1、2…N;
对所有的数据交换区的当前状态进行标定,数据交换区的当前状态包括瞬态故障、永久故障和正常状态;
若判断出数据交换区存在永久故障,则根据所述编号,依次顺序向后寻找编号最靠近的、处于正常状态,且当前数据有效可用的数据交换区作为最新数据交换区;
根据所述最新数据交换区的数据执行本周期任务;
若判断出数据交换区存在瞬态故障,则继续使用当前数据交换区的数据执行本周期任务;
若判断出数据交换区存在永久故障,且当前数据交换区对应的编号为N,则重新从编号为1的数据交换区依次顺序向后寻找编号最靠近的、处于正常状态,且当前数据有效可用的数据交换区作为最新数据交换区。
2.根据权利要求1所述的方法,其特征在于,方法还包括:
如果当前全部的数据交换区都存在故障,则采用相应的故障状态下应急数据执行本周期任务。
3.根据权利要求1所述的方法,其特征在于,若判断出数据交换区存在永久故障,方法还包括:
对所述存在永久故障的数据交换区进行故障处理,若所述数据交换区恢复正常,则将所述数据交换区的状态修改为正常状态。
4.一种对冗余数据源的选择装置,其特征在于,所述装置包括编号单元、标定单元、判断单元和执行单元,其中:
编号单元,用于分别对无优先级设定的数据交换区进行顺序编号,所述编号包括1、2…N;
标定单元,用于对所有的数据交换区的当前状态进行标定,数据交换区的当前状态包括瞬态故障、永久故障和正常状态;
判断单元,用于若判断出数据交换区存在永久故障,则根据所述编号,依次顺序向后寻找编号最靠近的、处于正常状态,且当前数据有效可用的数据交换区作为最新数据交换区;若判断出数据交换区存在瞬态故障,则继续使用当前数据交换区的数据执行本周期任务;若判断出数据交换区存在永久故障,且当前数据交换区对应的编号为N,则重新从编号为1的数据交换区依次顺序向后寻找编号最靠近的、处于正常状态,且当前数据有效可用的数据交换区作为最新数据交换区;
执行单元,用于根据所述最新数据交换区的数据执行本周期任务。
5.根据权利要求4所述的装置,其特征在于,执行单元,还用于如果当前全部的数据交换区都存在故障,则采用相应的故障状态下应急数据执行本周期任务。
6.根据权利要求4所述的装置,其特征在于,判断单元,还用于判断出数据交换区存在永久故障,对所述存在永久故障的数据交换区进行故障处理,若所述数据交换区恢复正常,则将所述数据交换区的状态修改为正常状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011211299.7A CN112306763B (zh) | 2020-11-03 | 2020-11-03 | 一种对冗余数据源的选择方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011211299.7A CN112306763B (zh) | 2020-11-03 | 2020-11-03 | 一种对冗余数据源的选择方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112306763A CN112306763A (zh) | 2021-02-02 |
CN112306763B true CN112306763B (zh) | 2024-04-09 |
Family
ID=74332679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011211299.7A Active CN112306763B (zh) | 2020-11-03 | 2020-11-03 | 一种对冗余数据源的选择方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112306763B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012118725A (ja) * | 2010-11-30 | 2012-06-21 | Mitsubishi Electric Corp | エラー検出修復装置 |
CN103442035A (zh) * | 2013-08-08 | 2013-12-11 | 中国民航大学 | 一种空管自动化系统的双网热备冗余实现方法 |
CN105308574A (zh) * | 2013-06-28 | 2016-02-03 | 惠普发展公司,有限责任合伙企业 | 永久主存储器的容错 |
CN109558335A (zh) * | 2018-10-17 | 2019-04-02 | 上海移芯通信科技有限公司 | 一种基于Nor Flash存储器的嵌入式系统的文件存储格式 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130019083A1 (en) * | 2011-07-11 | 2013-01-17 | International Business Machines Corporation | Redundant Transactional Memory |
-
2020
- 2020-11-03 CN CN202011211299.7A patent/CN112306763B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012118725A (ja) * | 2010-11-30 | 2012-06-21 | Mitsubishi Electric Corp | エラー検出修復装置 |
CN105308574A (zh) * | 2013-06-28 | 2016-02-03 | 惠普发展公司,有限责任合伙企业 | 永久主存储器的容错 |
CN103442035A (zh) * | 2013-08-08 | 2013-12-11 | 中国民航大学 | 一种空管自动化系统的双网热备冗余实现方法 |
CN109558335A (zh) * | 2018-10-17 | 2019-04-02 | 上海移芯通信科技有限公司 | 一种基于Nor Flash存储器的嵌入式系统的文件存储格式 |
Non-Patent Citations (2)
Title |
---|
基于工控微机现场总线网络的设计与实现;杨威;《计算机系统应用》(第08期);全文 * |
延迟中断容忍网络路由技术综述;朱至天;谌明;闫朝星;李永;;遥测遥控;20181115(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112306763A (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9823983B2 (en) | Electronic fault detection unit | |
US9164854B2 (en) | Thread sparing between cores in a multi-threaded processor | |
US8671311B2 (en) | Multiprocessor switch with selective pairing | |
CN109032021B (zh) | 一种冗余双mcu热备份控制系统的使用方法 | |
CN102483712B (zh) | 在存储器控制器处对命令进行有效调度的系统和方法 | |
US10657010B2 (en) | Error detection triggering a recovery process that determines whether the error is resolvable | |
US8037350B1 (en) | Altering a degree of redundancy used during execution of an application | |
CN105630732B (zh) | 一种双模冗余微处理器的热切换方法 | |
US10114356B2 (en) | Method and apparatus for controlling a physical unit in an automation system | |
US7590885B2 (en) | Method and system of copying memory from a source processor to a target processor by duplicating memory writes | |
CN110784331B (zh) | 一种共识流程恢复方法及相关节点 | |
JP5315748B2 (ja) | マイクロプロセッサおよびシグネチャ生成方法ならびに多重化システムおよび多重化実行検証方法 | |
CN101887386A (zh) | 一种磁盘阵列控制器故障处理方法及系统 | |
JPH0950424A (ja) | ダンプ採取装置およびダンプ採取方法 | |
JP2009129409A (ja) | 障害回復方法、計算機、クラスタシステム、管理計算機及び障害回復プログラム | |
US5835698A (en) | Unilaterally-controlled, time-insensitive, data-link recovery apparatus and method | |
JP2003015900A (ja) | 追走型多重化システム、及び追走により信頼性を高めるデータ処理方法 | |
CN111045843B (zh) | 具有容错能力的分布式数据处理方法 | |
CN101027646A (zh) | 用于处理计算机系统上的计算机程序的方法 | |
CN112306763B (zh) | 一种对冗余数据源的选择方法及装置 | |
CN110888761A (zh) | 一种基于关键任务部分主动备份的容错方法和流处理平台 | |
Montezanti et al. | A methodology for soft errors detection and automatic recovery | |
CN115080315B (zh) | 故障检测及处理方法、装置、处理器及电子设备 | |
CN115755570A (zh) | 多冗余度异构调度裁决器的调度裁决方法及装置 | |
JP3447347B2 (ja) | 障害検出方法 |
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 |