一种基于FPGA故障检测的双机热备系统的实现方法与流程

文档序号:30380687发布日期:2022-06-11 03:47阅读:102来源:国知局
一种基于FPGA故障检测的双机热备系统的实现方法与流程
一种基于fpga故障检测的双机热备系统的实现方法
技术领域
1.本发明属于故障检测领域,涉及一种基于fpga故障检测的双机热备系统的实现方法,具体地涉及双机热备系统的硬件组成、故障检测方式、高可用的实现。


背景技术:

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


技术实现要素:

3.(一)要解决的技术问题
4.本发明要解决的技术问题是如何提供一种基于fpga故障检测的双机热备系统的实现方法,以解决以往的双机热备技术难以满足较高的实时性指标、无法针对设备上电初期出现的硬件故障进行检测等方面的问题。
5.(二)技术方案
6.为了解决上述技术问题,本发明提出一种基于fpga故障检测的双机热备系统的实现方法,所述双机热备系统的硬件环境由两个集成了fpga模块和传感器芯片的主板组成,两个主板分别作为主机和从机;每个主板的fpga分别通过iic和pcie与传感器芯片和cpu通信,两个主板的fpga通过底板串口通信;每个主板的cpu上均运行故障检测驱动软件、系统监控软件和ip迁移控制软件,系统监控软件和ip迁移控制软件通过故障检测驱动软件与fpga通信;其中,所述fpga模块实现故障检测、心跳检测和故障上报功能,故障检测分为硬件故障检测、软件故障检测和fpga故障检测。
7.进一步地,所述传感器为数字式电压、电流、温度监控器,实现了主板关键硬件状态的采集,关键硬件状态作为主板故障判别的依据,关键硬件状态包括rtc电压、ddr电压、cpu电压、输入电压、桥片温度和cpu温度;采集后的数据通过iic发送给fpga模块。
8.进一步地,所述硬件故障检测包括上电时序检测和硬件关键状态检测,fpga通过读取电源芯片的“电源正常”pg信号实现上电时序的检测,硬件关键状态的检测是fpga控制传感器采集主板的关键硬件状态,将采集后的数值与额定值进行比较,若超出额定范围,则判定硬件故障。
9.进一步地,所述软件故障检测包括操作系统运行状态检测,操作系统状态检测通过中断机制实现,通过驱动软件的运行状态间接反映操作系统是否死机,fpga每3ms向cpu发送中断信号,若中断能够被驱动软件及时清除,则认为操作系统运行正常,若在9ms时间内不能清除中断,判定操作系统运行故障。
10.进一步地,所述软件故障检测包括系统资源使用状况检测,系统资源使用状况的检测依赖于系统监控软件,系统监控软件会监测操作系统关键进程、cpu和内存的使用率,每300ms向fpga模块发送关键进程状态,每1s向fpga发送cpu和内存使用率情况,最终由fpga判断是否存在关键进程异常、cpu或内存使用率异常;若主机的fpga运行正常,则主板软硬件故障产生后,主机的fpga模块可以检测出故障内容,并向从机fpga模块发送故障报文,从机接收到故障报文后判定主机出现故障;若主机fpga运行异常,则从机的fpga可以通过fpga间的心跳检测判断出主机fpga故障。
11.进一步地,fpga间的心跳检测实现方法为:主机与从机的fpga每1ms通过串口互发心跳报文,若主机fpga运行异常,则无法按时发出心跳报文,从机连续3ms均无法收到心跳报文后判定主机fpga故障;从机fpga模块发现主机故障后,会通过专用寄存器暂存故障信息,并立即产生中断信号,该中断经驱动软件处理,最终传递给ip迁移控制软件。
12.进一步地,所述驱动软件实现了中断处理和应用软件读写fpga模块的能力,中断的处理内容分为操作系统运行状态中断处理和故障上报中断处理,驱动软件会对中断来源进行判断,若是fpga产生的3ms中断信号,即用来判断操作系统运行状态的中断信号,则立即清除中断,若是故障上报中断,则通过异步通知机制,发送故障上报消息到应用层,交由应用层的ip迁移控制软件继续处理。
13.进一步地,所述驱动软件将fpga模块映射为pci设备,使ip迁移控制软件和系统监控软件能够通过posix标准接口对fpga的数据寄存器进行读写操作,进而实现将系统关键进程状态、cpu、内存使用率发送给fpga和从fpga中读取故障信息的功能。
14.进一步地,所述系统监控软件实现了操作系统资源的监控,该软件以守护进程的形式在操作系统启动后自动运行,周期性检测系统关键进程以及cpu和内存使用率情况,将监测的结果,通过驱动软件接口,发送至fpga。
15.进一步地,所述ip迁移控制软件在系统开机之后自动运行,配置对外通信ip,ip迁移控制软件能够接收fpga驱动发送的故障上报消息,在接收到故障上报消息后,通过驱动软件读取fpga寄存器,判断故障内容,控制对外通信ip从主机迁移至从机;对外通信ip是唯一的,当主机可以工作时,主机上的ip迁移控制软件将对外通信ip绑定在主机网卡上;当主机发生故障后,从机的ip迁移控制软件将对外通信ip绑定在从机网卡上;主、从机运行相同的服务类应用程序,与局域网其他客户端设备通信方式为“请求-响应”,若故障发生时刻客户端设备没有产生请求,由于主从切换前后对外通信ip地址不变,从机接替主机后,客户端设备产生新的请求会发送给从机,由从机响应;若主机在响应请求过程中发生故障,则该次请求无法正常响应,客户端设备在判断响应超时后再次发出请求,此次请求会由从机处理。
16.(三)有益效果
17.本发明提出一种基于fpga故障检测的双机热备系统的实现方法,本发明的双机热备系统能够在毫秒级时间内发现系统运行故障或硬件故障并执行主从切换,适用于对故障检测实时性要求高的应用场景。本发明通过fpga模块进行故障检测,提升了故障检测的实时性,不仅能够对操作系统运行状态和关键进程状态进行检测,还能够针对硬件故障进行检测。
附图说明
18.图1为本发明的系统架构图;
19.图2为本发明实施例;
20.图3为主机故障检测执行流程图;
21.图4为从机在发现主机故障后的执行流程图。
具体实施方式
22.为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
23.本发明提供一种基于fpga故障检测的双机热备系统的实现方法。基于fpga故障检测的双机热备系统硬件环境由两个集成了fpga模块和传感器芯片的主板组成,分别作为主机和从机;每个主板均运行故障检测驱动软件、系统监控软件和ip迁移控制软件。所述双机热备系统能够在毫秒级时间内发现系统运行故障或硬件故障并执行主从切换,适用于对故障检测实时性要求高的应用场景。
24.本发明针对现有技术存在的不足和问题,提供一种基于fpga故障检测的双机热备系统实现方法,通过fpga模块进行故障检测,提升了故障检测的实时性,不仅能够对操作系统运行状态和关键进程状态进行检测,还能够针对硬件故障进行检测。
25.所述双机热备系统,硬件环境由两个集成了fpga模块和传感器芯片的主板组成,两个主板分别作为主机和从机。每个主板的fpga分别通过iic和pcie与传感器芯片和cpu通信,两个主板的fpga通过底板串口通信;每个主板的cpu上均运行故障检测驱动软件、系统监控软件和ip迁移控制软件,系统监控软件和ip迁移控制软件通过故障检测驱动软件与fpga通信。
26.所述fpga模块,实现了故障检测、心跳检测和故障上报功能。
27.故障检测分为硬件故障检测、软件故障检测、fpga故障检测。
28.硬件故障检测包括上电时序检测和硬件关键状态检测,fpga通过读取电源芯片的“电源正常”pg信号可实现上电时序的检测,硬件关键状态的检测是fpga控制传感器采集主板的关键硬件状态,如电压、电流和温度,将采集后的数值与额定值进行比较,若超出额定范围,则判定硬件故障;
29.软件故障检测分为操作系统运行状态检测和系统资源使用状况检测。操作系统状态检测通过中断机制实现,通过驱动软件的运行状态间接反映操作系统是否死机,fpga每3ms向cpu发送中断信号,若中断能够被驱动软件及时清除,则认为操作系统运行正常,若在9ms时间内不能清除中断,判定操作系统运行故障。系统资源使用状况的检测依赖于系统监控软件,系统监控软件会监测操作系统关键进程、cpu和内存的使用率,每300ms向fpga模块发送关键进程状态,每1s向fpga发送cpu和内存使用率情况,最终由fpga判断是否存在关键进程异常、cpu或内存使用率异常;若主机的fpga运行正常,则主板软硬件故障产生后,主机的fpga模块可以检测出故障内容,并向从机fpga模块发送故障报文,从机接收到故障报文后判定主机出现故障;若主机fpga运行异常,则从机的fpga可以通过fpga间的心跳检测判断出主机fpga故障。
30.fpga间的心跳检测实现方法为,主机与从机的fpga每1ms通过串口互发心跳报文,
若主机fpga运行异常,则无法按时发出心跳报文,从机连续3ms均无法收到心跳报文后判定主机fpga故障。从机fpga模块发现主机故障后,会通过专用寄存器暂存故障信息,并立即产生中断信号,该中断经驱动软件处理,最终传递给ip迁移控制软件。
31.所述传感器为一种数字式电压、电流、温度监控器,实现了主板关键硬件状态的采集,关键硬件状态作为主板故障判别的依据,关键硬件状态包括rtc电压、ddr电压、cpu电压、输入电压、桥片温度和cpu温度。采集后的数据通过iic发送给fpga模块。
32.所述驱动软件,实现了中断处理和应用软件读写fpga模块的能力。中断的处理内容分为操作系统运行状态中断处理和故障上报中断处理,驱动软件会对中断来源进行判断,若是fpga产生的3ms中断信号,即用来判断操作系统运行状态的中断信号,则立即清除中断,若是故障上报中断,则通过异步通知机制,发送故障上报消息到应用层,交由应用层的ip迁移控制软件继续处理。驱动软件将fpga模块映射为pci设备,使ip迁移控制软件和系统监控软件能够通过posix标准接口对fpga的数据寄存器进行读写操作,进而实现将系统关键进程状态、cpu、内存使用率发送给fpga和从fpga中读取故障信息的功能。
33.所述系统监控软件,实现了操作系统资源的监控,该软件以守护进程的形式在操作系统启动后自动运行,周期性检测系统关键进程以及cpu和内存使用率情况,将监测的结果,通过驱动软件接口,发送至fpga。
34.所述ip迁移控制软件,在系统开机之后自动运行,配置对外通信ip。ip迁移控制软件能够接收fpga驱动发送的故障上报消息,在接收到故障上报消息后,通过驱动软件读取fpga寄存器,判断故障内容,控制对外通信ip从主机迁移至从机。对外通信ip是唯一的,当主机可以工作时,主机上的ip迁移控制软件将对外通信ip绑定在主机网卡上;当主机发生故障后,从机的ip迁移控制软件将对外通信ip绑定在从机网卡上。主、从机运行相同的服务类应用程序,与局域网其他客户端设备通信方式为“请求-响应”,若故障发生时刻客户端设备没有产生请求,由于主从切换前后对外通信ip地址不变,从机接替主机后,客户端设备产生新的请求会发送给从机,由从机响应;若主机在响应请求过程中发生故障,则该次请求无法正常响应,客户端设备在判断响应超时后再次发出请求,此次请求会由从机处理。由于故障检测和ip迁移绑定的时间为毫秒级,客户端的超时时间亦可缩短为同一量级,从而减少故障恢复的时间。
35.以下通过一套已经部署的实施例对本发明进行详细描述,对本发明做进一步的说明,但不作为对本发明的限定。
36.如图2所示,为本发明实施例示意图。
37.具体地,在本实施例中,机箱内的两块主板组成主从关系,两块主板上的fpga模块通过底板串口互联,两块主板均能通过机箱接入交换机,与局域网内其他设备进行网络通信。
38.机箱加电后,fpga模块首先会对加电时序及关键硬件状态进行检测,若时序异常或关键硬件状态异常,则主机无法顺利启动,此时主机fpga模块立即通过心跳报文向通知从机fpga模块主机故障。从机正常启动后,ip迁移控制软件首先会读取fpga中存有故障信息的寄存器数据,在获知主机未能启动后,立即将对外通信ip绑定至从机。
39.若主机上电正常,主机的ip迁移控制软件将对外通信ip绑定至主机。在主机正常运行过程中,主机上的应用通过对外通信ip与局域网内的其他设备通信,从机会启动与主
机相同的应用,但由于对外通信绑定在主机网卡上,无法通信,处于待机状态。fpga模块协同驱动软件、系统监测软件一同对主板软硬件故障进行监测,最终由fpga判断是否有故障产生。故障类型分为硬件故障、系统运行故障、资源使用异常、系统关键进程故障、fpga故障。故障判别条件如下:
40.1.硬件关键状态超出额定范围,判定主板硬件故障;
41.2.未能在9ms内及时清除fpga的3ms中断,判定系统运行故障;
42.3.fpga对系统监控软件采集的cpu和内存使用率与正常阈值进行比较,当连续10s均超过正常阈值,判定资源使用异常;
43.4.fpga判断系统监控软件采集的关键进程状态,若关键进程异常,则判定系统关键进程故障。
44.5.当从机的fpga模块在3ms内均无法收到主机fpga模块的心跳报文,则判定主机fpga故障。
45.其中除了资源使用异常需要长时间累积进行判断外,其他故障现象均为毫秒级检测。
46.若故障类型为非fpga故障,则主机的fpga模块在发现故障产生后,产生一次故障上报中断,同时发送故障心跳报文,故障上报中断经由主机的驱动软件处理后产生故障上报消息,通知到主机的ip迁移控制软件,为防止ip冲突,主机的ip迁移控制软件在接收到故障上报消息后完成对外通信ip与主机网卡的解绑;从机的fpga模块通过故障报文发现主机故障后,产生一次故障上报中断,从机的ip迁移控制软件执行对外通信ip与从机网卡的绑定,并发送arp广播报文,更新局域网内各设备的arp缓存表。
47.若故障类型为主机fpga模块故障,从机在连续3ms的时间内均无法收到主机产生的1ms一次的心跳报文后,判定主机故障,从机的ip迁移控制软件执行对外通信ip与从机网卡的绑定,并发送arp广播报文,更新局域网内各设备的arp缓存表,局域网内客户端设备产生新的请求报文会发送到从机网卡上;同时,主机的ip迁移控制软件在接收到从机arp广播报文后,立即解除主机网卡与对外通信ip的绑定,不会接收客户端的请求报文。
48.由于主、从机运行相同的应用程序,ip迁移前后ip地址不变,因此从机可以接替主机工作与局域网内其他设备进行通信。
49.本发明的双机热备系统能够在毫秒级时间内发现系统运行故障或硬件故障并执行主从切换,适用于对故障检测实时性要求高的应用场景。
50.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1