[发明专利]基于3取2计算机系统的预执行方法无效
| 申请号: | 201110073153.5 | 申请日: | 2011-03-25 |
| 公开(公告)号: | CN102193835A | 公开(公告)日: | 2011-09-21 |
| 发明(设计)人: | 林辉;崔卫麒;陈义军;谈长青;谢冕;陈晓萍;毛祺 | 申请(专利权)人: | 上海磁浮交通发展有限公司;上海磁浮交通工程技术研究中心 |
| 主分类号: | G06F11/00 | 分类号: | G06F11/00 |
| 代理公司: | 上海信好专利代理事务所(普通合伙) 31249 | 代理人: | 张静洁;张妍 |
| 地址: | 201204 上*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 计算机系统 执行 方法 | ||
技术领域
本发明涉及一种基于3取2计算机系统的预执行方法。
背景技术
避错和容错技术是提高计算机系统可靠性的两种主要技术手段。尤其是容错技术,它是当系统中某些指定的硬件发生故障或软件出现错误时,系统仍能正确地执行规定的一组程序或算法,是构造高可靠和高安全计算机系统强有力的直接手段。三取二计算机系统就是采用容错技术来实现其高可靠性、高安全性性能的,它是以“多数计算机的运行是正确的”为基础,实行“少数服从多数的”的纠错原理,即三台计算机中只要有两台的输出结果相同,系统就将该结果作为系统的正确输出,这样就可以屏蔽任意一个计算机的故障。
在三取二计算机系统中,3台进入运行状态的计算机运行相同的应用程序,实现相同的数据处理流程,将其中间或最终数据结果进行比较,从而达到检错、容错、提高系统可靠性的目的。为了保证3台计算机在比较时刻所用的是同一次计算的结果,以维持冗余模块计算数据的一致性,就必须使各冗余模块计算任务的执行进度相同。这种保持冗余模块的相同任务具有相同的执行进度的过程就是同步。同步技术是三取二系统故障检测和恢复的前提和基础。常见的同步方法有时钟级同步、松散同步和任务级同步等。
时钟级同步是一种紧同步,可对各冗余模块的时钟级计算结果进行比较和表决,因而具有故障发现及时、故障恢复快等优点。松散同步是指系统中各冗余模块在多个时钟周期N ·Tclock内(N 为时钟周期数,Tclock为一个时间片或桢) ,使冗余模块具有相同的执行进度。采用这种方式的冗余模块仅在时间片或桢边界进行比较表决,维持数据一致性。任务同步是指系统中各冗余模块在每个任务的操作系统调度周期内使冗余模块具有相同的执行进度。任务同步在冗余模块中独立运行,具有一定逻辑任务的一次执行作为同步的基础,在任务中设立1个或多个比较/表决点,对其中间结果和最终输出结果进行表决,维持冗余模块任务级一致。
《一种用于轨道交通的安全计算机平台的设计与实现》采用了任务级同步方式,在一次执行的任务中设立了3个同步点和1个比较点,即输入同步、结果分发同步、输出同步和计算结果比较。3取2计算机拥有两路输入通道,而该算法只采用了其中的一路通道作为主通道,所以另一路只有在主通道发生故障的时候才启用成为主通道。鉴于以上几点,如何保障主通道输入信息的正确性、如何检测主通道的故障、如何减少因多次同步带来的时间开销就成为整个系统急需解决的问题。
发明内容
本发明提出的一种基于3取2计算机系统的预执行方法,两路输入通道不分主次,最大限度的保障了输入通道传输信息的正确性、减少了因多次同步带来的时间开销,提高了3取2系统的执行效率。
为了达到上述目的,本发明提供了一种基于3取2计算机系统的预执行方法,该方法包含以下步骤:
步骤1、信息输入阶段,每台计算机判断是否收到了输入信息,若是,执行步骤2;
步骤2、配置有输入通道的计算机判断输入信息是否来自于本计算机的输入通道,若是,将该输入信息分发给其余两台计算机,然后执行步骤3,若否,执行步骤3;
步骤3、每台计算机分别进行预执行,执行过程中判断是否收到另一输入通道的输入信息,若是,执行步骤4,若否,执行步骤7;
步骤4、进行两路输入通道信息的比较,若一致,执行步骤5,若不一致,执行步骤6;
步骤5、清除缓存中保存的状态、删除定时器,并将该次输入信息的执行置为安全态,执行步骤8;
步骤6、删除定时器、依据缓存中保存的状态进行系统恢复,即,不执行该输入信息,执行步骤1;
步骤7、判断定时器中设置的时间是否到期,如未到期则等待到期,如到期则将另一输入通道的故障次数加1,并清除缓存中保存的状态、删除定时器,将该次输入信息置为安全态,执行步骤8;
步骤8、信息待输出阶段,每台计算机将自己的计算结果向3取2系统中的另外两台机器进行分发,同时接收来自另外两台计算机的计算结果;
步骤9、每台计算机都对三个计算结果进行比较,若比较结果中有2者相同,则计算结果合法,执行步骤10;
步骤10、信息输出阶段,每台计算机将待输出的信息发送给配置有输出通道的计算机(若本计算机有输出通道也包括自己);
步骤11、配置有输出通道的计算机在正常情况下会收到3份同样的输出信息,当接收到第一份的时候则进行输出,另外两份则直接抛弃,不作处理。
所述的步骤3包含以下步骤:
步骤3.1、假设输入信息正确,开始基于该输入信息的程序预执行;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海磁浮交通发展有限公司;上海磁浮交通工程技术研究中心,未经上海磁浮交通发展有限公司;上海磁浮交通工程技术研究中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110073153.5/2.html,转载请声明来源钻瓜专利网。





