本发明属于机载计算机系统余度管理研究领域,主要涉及一种双余度计算机的主、从通道动态切换方法。
背景技术:
为了提高系统的可靠性,许多计算机系统对整个设备或者部分关键功能采用主备通道双余度的工作方式,但通常只在产品出厂时对主备通道的全状态工作能力进行检测,而嵌入式计算机一旦装备在系统环境里,则只有主通道掌握系统控制权,而从(备份)通道均处于“待命”状态。只有当主通道失效或者出现故障后,才进行主、从通道切换。这种方法的主、从通道的“地位”是“固定的”,在整个产品寿命周期过程中,在发生过通道切换之前,从(备份)通道一直未曾真正的“工作”过,也就是说从(备份)通道的全状态工作能力在其产品全寿命周期内的绝大部分时间里是无法得到验证测试的,因此,当系统需要发生通道切换时,可能会由于从(备份)通道存在故障而不能正常工作,导致系统存在安全隐患。
技术实现要素:
本发明提出了一种双余度计算机的主、从通道动态切换方法,解决了现有系统需要发生主、从通道切换时,可能会由于从(备份)通道存在故障而不能正常工作,导致系统存在安全隐患的问题。
本发明的基本实现原理是:
通过使用通道硬件id自识别,双通道数据传输,主、备通道轮值的方式在机载计算机每次重新启动时双通道之间进行系统控制权互换,从而实现双余度机载计算机主、从(备份)通道的动态切换。
本发明的具体技术方案是:
本发明提供了一种双余度计算机的主、从通道动态切换方法,其具体实现步骤如下:
步骤1:双余度计算机初次上电,系统进行初始化,双通道输出接口禁止;
步骤2:双通道分别获取本通道硬件id,根据两个通道各自的硬件id设置主、从通道的标识符;获取主通道标识符的通道为a通道,获取从通道标识符的通道b通道;此时a通道作为主通道获得系统控制权,b通道为从通道,处于热备份状态;
步骤3:产品第n次上电,系统进行初始化,双通道输出接口禁止;n大于等于2;
步骤4、a通道和b通道分别获取本通道的硬件id,启动a通道和b通道握手通讯;
当a通道和b通道握手成功,则执行步骤5,否则执行步骤2;
步骤5、a通道和b通道在各自非易失存储区指定地址获取第n-1次工作周期时本通道的主、从通道标识符;
步骤6、采用a通道和b通道之间的双通道串行数据总线,a通道和b通道分别将第n-1次工作周期时对应的主、从通道标识符发送给对方通道;
步骤7、a通道和b通道分别将接收的对方通道第n-1次工作周期的主、从通道标识符写入本通道非易失存储区指定位置,此时双通道之间已完成了主备通道的信息交换;
步骤8、a通道和b通道根据主、从通道标识符,启动通道控制逻辑电路,通道控制逻辑电路将系统控制权交由主通道管理,此时,从通道禁止输出,双余度计算机启动应用任务,进入正常工作状态。
主备通道分配电路,执行主备通道轮值软件下发的控制指令,获取系统控制权的通道将作为主通道执行相关任务,同时互锁电路将禁止作为备份通道的cpu获取系统控制权(总线输出、接口输出控制权)。
进一步地,上述双通道输出接口禁止包括系统总线输出禁止、各类离散量接口输出禁止、模拟量接口输出禁止。
进一步地,上述a通道和b通道结构相同,均包括通道硬件id识别电路、cpu单元、非易失存储电路、双通道串行数据总线以及通道控制逻辑电路;
所述通道硬件id识别电路、非易失存储电路、通道控制逻辑电路分别与cpu单元连接;双通道串行数据总线在两个通道cpu之间进行互联。
进一步地,上述通道硬件id识别电路为一组具有固定状态的离散量输入接口电路。
进一步地,上述双通道串行数据总线为ieee-1394b或rs422。
进一步地,上述主通道标识符为0xaah,从通道标识符0x55h。
本发明的有益效果是:
采用本发明的方法基于动态主、从(备份)通道轮值机制,使双余度计算机双通道功能、性能交替获取系统控制权,确保双通道各类资源可在线(机上)得到测试验证,提高系统的测试性及安全性,双通道资源得到充分利用,均有工作周期与备份周期,从而延长了产品寿命。
附图说明
图1为本发明方法的流程框图。
图2为主、从(备份)通道控制权转换关系图。
具体实施方式
下面结合附图对本发明的方法做进一步详细说明。
如图1所示,一种双余度计算机的主、从通道动态切换方法,其具体操作如下:
步骤1:产品初次上电,系统进行初始化,双通道输出接口禁止;
步骤2:双通道分别获取本通道硬件id,根据两个通道各自的硬件id,设置主、从通道的标识符分别为0xaah、0x55h,获取主通道标识符的通道为a通道,获取从通道标识符的通道b通道;
此时a通道作为主控通道获得系统控制权,b通道为备份通道,处于热备份状态;
该步骤中,双通道利用各自通道内的通道硬件id识别电路,在双余度计算机每次上电时,每个通道的cpu处理单元可根据该电路获取自身通道号,且通道硬件id自识别电路通常由固定状态的离散量输入电路构成。在计算机中,每个通道的硬件id是固定的。
步骤3:产品第n次上电,系统进行初始化,双通道输出接口禁止;n大于等于2;
步骤4:a通道和b通道分别获取本通道的硬件id,启动a通道和b通道握手通讯;此过程中,需要确保本通道硬件id正常(值为预期值),双通道串行通信功能正常;
当a通道和b通道握手成功,则执行步骤5,否则执行步骤2;
步骤5:a通道和b通道在各自非易失存储区指定地址获取第n-1次工作周期时本通道的主、从通道标识符;此处所说的非易失存储区及为双通道内部的非易失存储电路。
步骤6:采用a通道和b通道之间的双通道串行数据总线,a通道和b通道分别将第n-1次工作周期时对应的主、从通道标识符发送给对方通道;
步骤7:a通道和b通道分别将接收的对方通道第n-1次工作周期的主、从通道标识符写入本通道非易失存储区指定位置,此时双通道之间已完成了主备通道的信息交换;
步骤8:a通道和b通道根据主、从通道标识符,启动通道控制逻辑电路,通道控制逻辑电路将系统控制权交由主通道管理,此时,从通道禁止输出,双余度计算机启动应用任务,进入正常工作状态。
采用上述方法,主、从(备份)通道控制权转换关系由图2可知,在机载计算机正式交付用户使用后开始,以产品的每次加电开始工作直至本次工作结束(产品下电)为一个工作周期,如图2中t1、t2、t3、t4、tn时间段,计算机上每次重新上电后,a、b通道都要进行一次主备关系位置互换,在第n次工作周期内由a通道获取系统控制权,b设备进行监听备份;而在第n+1次工作周期内,由b通道获取系统控制权,a设备进行监听备份;主备通道控制权如此循环往复直至装备退役。
1.一种双余度计算机的主、从通道动态切换方法,其特征在于,包括如下步骤:
步骤1:双余度计算机初次上电,系统进行初始化,双通道输出接口禁止;
步骤2:双通道分别获取本通道硬件id,根据两个通道各自的硬件id设置主、从通道的标识符;获取主通道标识符的通道为a通道,获取从通道标识符的通道b通道;此时a通道作为主通道获得系统控制权,b通道为从通道,处于热备份状态;
步骤3:产品第n次上电,系统进行初始化,双通道输出接口禁止;n大于等于2;
步骤4、a通道和b通道分别获取本通道的硬件id,启动a通道和b通道握手通讯;
当a通道和b通道握手成功,则执行步骤5,否则执行步骤2;
步骤5、a通道和b通道在各自非易失存储区指定地址获取第n-1次工作周期时本通道的主、从通道标识符;
步骤6、采用a通道和b通道之间的双通道串行数据总线,a通道和b通道分别将第n-1次工作周期时对应的主、从通道标识符发送给对方通道;
步骤7、a通道和b通道分别将接收的对方通道第n-1次工作周期的主、从通道标识符写入本通道非易失存储区指定位置,此时双通道之间已完成了主备通道的信息交换;
步骤8、a通道和b通道根据主、从通道标识符,启动通道控制逻辑电路,通道控制逻辑电路将系统控制权交由主通道管理,此时,从通道禁止输出,双余度计算机启动应用任务,进入正常工作状态。
2.根据权利要求1所述双余度计算机的主、从通道动态切换方法,其特征在于:双通道输出接口禁止包括系统总线输出禁止、各类离散量接口输出禁止、模拟量接口输出禁止。
3.根据权利要求1所述双余度计算机的主、从通道动态切换方法,其特征在于:所述a通道和b通道结构相同,均包括通道硬件id识别电路、cpu单元、非易失存储电路、双通道串行数据总线以及通道控制逻辑电路;
所述通道硬件id识别电路、非易失存储电路、通道控制逻辑电路分别与cpu单元连接;双通道串行数据总线在两个通道cpu之间进行互联。
4.根据权利要求1所述双余度计算机的主、从通道动态切换方法,其特征在于,所述通道硬件id识别电路为一组具有固定状态的离散量输入接口电路。
5.根据权利要求1所述一种双余度计算机的主、从通道动态切换方法,其特征在于,所述双通道串行数据总线为ieee-1394b或rs422。
6.根据权利要求1所述双余度计算机的主、从通道动态切换方法,其特征在于:主通道标识符为0xaah,从通道标识符0x55h。