一种基于FPGA故障检测的双机热备系统的实现方法技术方案

技术编号:33776564 阅读:13 留言:0更新日期:2022-06-12 14:30
本发明专利技术涉及一种基于FPGA故障检测的双机热备系统的实现方法,属于故障检测领域。本发明专利技术基于FPGA故障检测的双机热备系统硬件环境由两个集成了FPGA模块和传感器芯片的主板组成,分别作为主机和从机;每个主板均运行故障检测驱动软件,系统监控软件、IP迁移控制软件。所述双机热备系统能够在毫秒级时间内发现系统运行故障或硬件故障并执行主从切换,适用于对故障检测实时性要求高的应用场景。本发明专利技术通过FPGA模块进行故障检测,提升了故障检测的实时性,不仅能够对操作系统运行状态和关键进程状态进行检测,还能够针对硬件故障进行检测。还能够针对硬件故障进行检测。还能够针对硬件故障进行检测。

【技术实现步骤摘要】
一种基于FPGA故障检测的双机热备系统的实现方法


[0001]本专利技术属于故障检测领域,涉及一种基于FPGA故障检测的双机热备系统的实现方法,具体地涉及双机热备系统的硬件组成、故障检测方式、高可用的实现。

技术介绍

[0002]以往的双机热备技术大多采用高可用软件实现双机热备。高可用软件以网络心跳报文作为故障检测手段,主机以固定的时间周期向从机发送心跳报文,从机在连续三个心跳周期内无法收到主机的心跳报文后判定主机存在故障,并进行主从切换。基于网络心跳报文的故障检测方法时间较长,通常为秒级,对于某些对主从切换的实时性有要求的设备来说,该方法难以满足较高的实时性指标。除此之外,高可用软件缺少感知硬件故障的有效手段,尤其无法针对设备上电初期出现的硬件故障进行检测。

技术实现思路

[0003](一)要解决的技术问题
[0004]本专利技术要解决的技术问题是如何提供一种基于FPGA故障检测的双机热备系统的实现方法,以解决以往的双机热备技术难以满足较高的实时性指标、无法针对设备上电初期出现的硬件故障进行检测等方面的问题。
[0005](二)技术方案
[0006]为了解决上述技术问题,本专利技术提出一种基于FPGA故障检测的双机热备系统的实现方法,所述双机热备系统的硬件环境由两个集成了FPGA模块和传感器芯片的主板组成,两个主板分别作为主机和从机;每个主板的FPGA分别通过IIC和PCIe与传感器芯片和CPU通信,两个主板的FPGA通过底板串口通信;每个主板的CPU上均运行故障检测驱动软件、系统监控软件和IP迁移控制软件,系统监控软件和IP迁移控制软件通过故障检测驱动软件与FPGA通信;其中,所述FPGA模块实现故障检测、心跳检测和故障上报功能,故障检测分为硬件故障检测、软件故障检测和FPGA故障检测。
[0007]进一步地,所述传感器为数字式电压、电流、温度监控器,实现了主板关键硬件状态的采集,关键硬件状态作为主板故障判别的依据,关键硬件状态包括RTC电压、DDR电压、CPU电压、输入电压、桥片温度和CPU温度;采集后的数据通过IIC发送给FPGA模块。
[0008]进一步地,所述硬件故障检测包括上电时序检测和硬件关键状态检测,FPGA通过读取电源芯片的“电源正常”PG信号实现上电时序的检测,硬件关键状态的检测是FPGA控制传感器采集主板的关键硬件状态,将采集后的数值与额定值进行比较,若超出额定范围,则判定硬件故障。
[0009]进一步地,所述软件故障检测包括操作系统运行状态检测,操作系统状态检测通过中断机制实现,通过驱动软件的运行状态间接反映操作系统是否死机,FPGA每3ms向CPU发送中断信号,若中断能够被驱动软件及时清除,则认为操作系统运行正常,若在9ms时间内不能清除中断,判定操作系统运行故障。
[0010]进一步地,所述软件故障检测包括系统资源使用状况检测,系统资源使用状况的检测依赖于系统监控软件,系统监控软件会监测操作系统关键进程、CPU和内存的使用率,每300ms向FPGA模块发送关键进程状态,每1s向FPGA发送CPU和内存使用率情况,最终由FPGA判断是否存在关键进程异常、CPU或内存使用率异常;若主机的FPGA运行正常,则主板软硬件故障产生后,主机的FPGA模块可以检测出故障内容,并向从机FPGA模块发送故障报文,从机接收到故障报文后判定主机出现故障;若主机FPGA运行异常,则从机的FPGA可以通过FPGA间的心跳检测判断出主机FPGA故障。
[0011]进一步地,FPGA间的心跳检测实现方法为:主机与从机的FPGA每1ms通过串口互发心跳报文,若主机FPGA运行异常,则无法按时发出心跳报文,从机连续3ms均无法收到心跳报文后判定主机FPGA故障;从机FPGA模块发现主机故障后,会通过专用寄存器暂存故障信息,并立即产生中断信号,该中断经驱动软件处理,最终传递给IP迁移控制软件。
[0012]进一步地,所述驱动软件实现了中断处理和应用软件读写FPGA模块的能力,中断的处理内容分为操作系统运行状态中断处理和故障上报中断处理,驱动软件会对中断来源进行判断,若是FPGA产生的3ms中断信号,即用来判断操作系统运行状态的中断信号,则立即清除中断,若是故障上报中断,则通过异步通知机制,发送故障上报消息到应用层,交由应用层的IP迁移控制软件继续处理。
[0013]进一步地,所述驱动软件将FPGA模块映射为PCI设备,使IP迁移控制软件和系统监控软件能够通过POSIX标准接口对FPGA的数据寄存器进行读写操作,进而实现将系统关键进程状态、CPU、内存使用率发送给FPGA和从FPGA中读取故障信息的功能。
[0014]进一步地,所述系统监控软件实现了操作系统资源的监控,该软件以守护进程的形式在操作系统启动后自动运行,周期性检测系统关键进程以及CPU和内存使用率情况,将监测的结果,通过驱动软件接口,发送至FPGA。
[0015]进一步地,所述IP迁移控制软件在系统开机之后自动运行,配置对外通信IP,IP迁移控制软件能够接收FPGA驱动发送的故障上报消息,在接收到故障上报消息后,通过驱动软件读取FPGA寄存器,判断故障内容,控制对外通信IP从主机迁移至从机;对外通信IP是唯一的,当主机可以工作时,主机上的IP迁移控制软件将对外通信IP绑定在主机网卡上;当主机发生故障后,从机的IP迁移控制软件将对外通信IP绑定在从机网卡上;主、从机运行相同的服务类应用程序,与局域网其他客户端设备通信方式为“请求

响应”,若故障发生时刻客户端设备没有产生请求,由于主从切换前后对外通信IP地址不变,从机接替主机后,客户端设备产生新的请求会发送给从机,由从机响应;若主机在响应请求过程中发生故障,则该次请求无法正常响应,客户端设备在判断响应超时后再次发出请求,此次请求会由从机处理。
[0016](三)有益效果
[0017]本专利技术提出一种基于FPGA故障检测的双机热备系统的实现方法,本专利技术的双机热备系统能够在毫秒级时间内发现系统运行故障或硬件故障并执行主从切换,适用于对故障检测实时性要求高的应用场景。本专利技术通过FPGA模块进行故障检测,提升了故障检测的实时性,不仅能够对操作系统运行状态和关键进程状态进行检测,还能够针对硬件故障进行检测。
附图说明
[0018]图1为本专利技术的系统架构图;
[0019]图2为本专利技术实施例;
[0020]图3为主机故障检测执行流程图;
[0021]图4为从机在发现主机故障后的执行流程图。
具体实施方式
[0022]为使本专利技术的目的、内容和优点更加清楚,下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。
[0023]本专利技术提供一种基于FPGA故障检测的双机热备系统的实现方法。基于FPGA故障检测的双机热备系统硬件环境由两个集成了FPGA模块和传感器芯片的主板组成,分别作为主机和从机;每个主板均运行故障检测驱动软件、系统监控软件和IP迁移控制软件。所述双机本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于FPGA故障检测的双机热备系统的实现方法,其特征在于,所述双机热备系统的硬件环境由两个集成了FPGA模块和传感器芯片的主板组成,两个主板分别作为主机和从机;每个主板的FPGA分别通过IIC和PCIe与传感器芯片和CPU通信,两个主板的FPGA通过底板串口通信;每个主板的CPU上均运行故障检测驱动软件、系统监控软件和IP迁移控制软件,系统监控软件和IP迁移控制软件通过故障检测驱动软件与FPGA通信;其中,所述FPGA模块实现故障检测、心跳检测和故障上报功能,故障检测分为硬件故障检测、软件故障检测和FPGA故障检测。2.如权利要求1所述的基于FPGA故障检测的双机热备系统的实现方法,其特征在于,所述传感器为数字式电压、电流、温度监控器,实现了主板关键硬件状态的采集,关键硬件状态作为主板故障判别的依据,关键硬件状态包括RTC电压、DDR电压、CPU电压、输入电压、桥片温度和CPU温度;采集后的数据通过IIC发送给FPGA模块。3.如权利要求1或2所述的基于FPGA故障检测的双机热备系统的实现方法,其特征在于,所述硬件故障检测包括上电时序检测和硬件关键状态检测,FPGA通过读取电源芯片的“电源正常”PG信号实现上电时序的检测,硬件关键状态的检测是FPGA控制传感器采集主板的关键硬件状态,将采集后的数值与额定值进行比较,若超出额定范围,则判定硬件故障。4.如权利要求1或2所述的基于FPGA故障检测的双机热备系统的实现方法,其特征在于,所述软件故障检测包括操作系统运行状态检测,操作系统状态检测通过中断机制实现,通过驱动软件的运行状态间接反映操作系统是否死机,FPGA每3ms向CPU发送中断信号,若中断能够被驱动软件及时清除,则认为操作系统运行正常,若在9ms时间内不能清除中断,判定操作系统运行故障。5.如权利要求1或2所述的基于FPGA故障检测的双机热备系统的实现方法,其特征在于,所述软件故障检测包括系统资源使用状况检测,系统资源使用状况的检测依赖于系统监控软件,系统监控软件会监测操作系统关键进程、CPU和内存的使用率,每300ms向FPGA模块发送关键进程状态,每1s向FPGA发送CPU和内存使用率情况,最终由FPGA判断是否存在关键进程异常、CPU或内存使用率异常;若主机的FPGA运行正常,则主板软硬件故障产生后,主机的FPGA模块可以检测出故障内容,并向从机FPGA模块发送故障报文,从机接收到故障报文后判定主机出现故障;若主机FPGA运行异常,则从机的FPGA可以通过FPGA间的心跳检测判断出主机FPGA故障。6.如权利要求5所述的基于FPGA故障检测的双机热备系统的实现...

【专利技术属性】
技术研发人员:王宇耕闵新宇赵伯阳庄博阳田帅伟
申请(专利权)人:北京计算机技术及应用研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1