CN114257492B - 智能网卡的故障处理方法、装置、计算机设备和介质 - Google Patents

智能网卡的故障处理方法、装置、计算机设备和介质 Download PDF

Info

Publication number
CN114257492B
CN114257492B CN202111497980.7A CN202111497980A CN114257492B CN 114257492 B CN114257492 B CN 114257492B CN 202111497980 A CN202111497980 A CN 202111497980A CN 114257492 B CN114257492 B CN 114257492B
Authority
CN
China
Prior art keywords
fault
network card
intelligent network
state
reset
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
Application number
CN202111497980.7A
Other languages
English (en)
Other versions
CN114257492A (zh
Inventor
陈许蒙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202111497980.7A priority Critical patent/CN114257492B/zh
Publication of CN114257492A publication Critical patent/CN114257492A/zh
Application granted granted Critical
Publication of CN114257492B publication Critical patent/CN114257492B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • H04L41/0661Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开涉及一种智能网卡的故障处理方法、装置、计算机设备和介质;其中,该方法包括:确定智能网卡处于故障状态时,获取各调试寄存器分别对应的状态值;根据状态值,确定智能网卡的故障原因;根据故障原因对应的复位功能区域,执行对应的复位操作。本公开实施例能够在智能网卡出现故障时,迅速定位故障原因,以及根据故障原因自动启动相应的复位操作,实现智能网卡的功能恢复,减少业务阻塞时长,降低业务报文丢失数量。

Description

智能网卡的故障处理方法、装置、计算机设备和介质
技术领域
本公开涉及网络通信领域,尤其涉及一种智能网卡的故障处理方法、装置、计算机设备和介质。
背景技术
随着互联网技术的发展,智能网卡的应用越来越广泛,尤其是在大数据、云计算、人工智能以及网络安全行业等领域,为了满足更高的数据吞吐性能,中央处理器(CentralProcessing Unit,简称CPU)通常使用智能网卡实现数据接收、传输和加速处理等。智能网卡相对于CPU独立运行,一旦出现故障,智能网卡本身无法进行数据处理,系统的业务会受到严重影响,因此,智能网卡的故障处理变得尤为重要。
现有技术中,当智能网卡、CPU以及其他设备组成的系统出现故障后,需要技术人员现场确认是系统中哪部分功能出现故障,当确认是系统中智能网卡出现故障时,可通过两种方式恢复系统的功能,第一种方式,将设备断电或重启;第二种方式,如果智能网卡支持软复位操作,则对智能网卡执行软复位操作。
但是,上述方法具有以下缺点:需要技术人员到现场进行故障排查,故障排查时间长;在故障定位后,需要现场调试进行系统恢复,业务阻塞时间长;通过断电或者重启设备进行系统恢复,容易造成业务流量的丢失。
发明内容
为了解决上述技术问题,本公开提供了一种智能网卡的故障处理方法、装置、计算机设备和介质。
第一方面,本公开提供了一种智能网卡的故障处理方法,包括:
确定智能网卡处于故障状态时,获取各调试寄存器分别对应的状态值;
根据所述状态值,确定所述智能网卡的故障原因;
根据所述故障原因对应的复位功能区域,执行对应的复位操作。
可选的,所述复位功能区域为接口收发逻辑复位区域时,
相应的,所述根据所述故障原因对应的复位功能区域,执行对应的复位操作,包括:
关闭所述智能网卡中面板接口报文数据的输入或接收使能开关,并对所述接口收发逻辑复位区域执行复位操作;
在复位完成后,读取对应的故障状态寄存器对应的第一目标数值;
若所述第一目标数值等于预设数值,则打开面板报文数据的输入和接收开关。
可选的,所述复位功能区域为报文处理逻辑复位区域时,
相应的,所述根据所述故障原因对应的复位功能区域,执行对应的复位操作,包括:
对所述报文处理逻辑复位区域执行复位操作。
可选的,所述复位功能区域为直接存储器访问DMA逻辑复位区域时,
相应的,所述根据所述故障原因对应的复位功能区域,执行对应的复位操作,包括:
关闭DMA收发使能开关,并对所述DMA逻辑复位区域执行复位操作;
在复位完成后,对DMA逻辑进行初始化,并在初始化完成后,确认对应的故障状态寄存器状态对应的第二目标数值;
若所述第二目标数值等于预设数值,则打开所述DMA收发使能开关。
可选的,所述确定智能网卡处于故障状态时,获取各调试寄存器分别对应的状态值之前,还包括:
周期性的获取所述智能网卡中所有故障状态寄存器分别对应的数值;
根据所述数值确定所述智能网卡处于故障状态。
可选的,所述故障状态寄存器中存储状态机故障反馈信息、存储故障反馈信息以及接口故障反馈信息;
相应的,所述根据所述数值确定所述智能网卡处于故障状态,包括:
确定所述存储状态机故障反馈信息对应的第一数值、所述存储故障反馈信息对应的第二数值以及所述接口故障反馈信息对应的第三数值;
若所述第一数值、所述第二数值以及所述第三数值中的至少一个数值等于目标数值,则确定所述智能网卡处于故障状态。
可选的,所述根据所述状态值,确定所述智能网卡的故障原因,包括:
将所述状态值以及所述智能网卡出现故障的时间存储至对应的日志文件中;
根据所述日志文件对所述智能网卡进行分析,得到分析结果;
根据所述分析结果,确定所述智能网卡的故障原因。
第二方面,本公开提供了一种智能网卡的故障处理装置,包括:
获取模块,用于确定智能网卡处于故障状态时,获取各调试寄存器分别对应的状态值;
确定模块,用于根据所述状态值,确定所述智能网卡的故障原因;
执行模块,用于根据所述故障原因对应的复位功能区域,执行对应的复位操作。
可选的,所述复位功能区域为接口收发逻辑复位区域时,
相应的,执行模块,具体用于:
关闭所述智能网卡中面板接口报文数据的输入或接收使能开关,并对所述接口收发逻辑复位区域执行复位操作;
在复位完成后,读取对应的故障状态寄存器对应的第一目标数值;
若所述第一目标数值等于预设数值,则打开面板报文数据的输入和接收开关。
可选的,所述复位功能区域为报文处理逻辑复位区域时,
相应的,执行模块,具体用于:
对所述报文处理逻辑复位区域执行复位操作。
可选的,所述复位功能区域为直接存储器访问DMA逻辑复位区域时,
相应的,执行模块,具体用于:
关闭DMA收发使能开关,并对所述DMA逻辑复位区域执行复位操作;
在复位完成后,对DMA逻辑进行初始化,并在初始化完成后,确认对应的故障状态寄存器状态对应的第二目标数值;
若所述第二目标数值等于预设数值,则打开所述DMA收发使能开关。
可选的,上述装置还包括:
数值获取模块,用于确定智能网卡处于故障状态时,获取各调试寄存器分别对应的状态值之前,周期性的获取所述智能网卡中所有故障状态寄存器分别对应的数值;
故障状态确定模块,用于根据所述数值确定所述智能网卡处于故障状态。
可选的,所述故障状态寄存器中存储状态机故障反馈信息、存储故障反馈信息以及接口故障反馈信息;
相应的,故障状态确定模块,具体用于:
确定所述存储状态机故障反馈信息对应的第一数值、所述存储故障反馈信息对应的第二数值以及所述接口故障反馈信息对应的第三数值;
若所述第一数值、所述第二数值以及所述第三数值中的至少一个数值等于目标数值,则确定所述智能网卡处于故障状态。
可选的,确定模块,具体用于:
将所述状态值以及所述智能网卡出现故障的时间存储至对应的日志文件中;
根据所述日志文件对所述智能网卡进行分析,得到分析结果;
根据所述分析结果,确定所述智能网卡的故障原因。
第三方面,本公开还提供了一种计算机设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本公开实施例中的任一种所述的智能网卡的故障处理方法。
第四方面,本公开还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开实施例中的任一种所述的智能网卡的故障处理方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:确定智能网卡处于故障状态时,获取各调试寄存器分别对应的状态值;根据状态值,确定智能网卡的故障原因;根据故障原因对应的复位功能区域,执行对应的复位操作,能够在智能网卡出现故障时,迅速定位故障原因,以及根据故障原因自动启动相应的复位操作,实现智能网卡的功能恢复,减少业务阻塞时长,降低业务报文丢失数量。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的一种智能网卡的故障处理方法的流程示意图;
图2A是本公开实施例提供的另一种智能网卡的故障处理方法的流程示意图;
图2B是本公开实施例中某故障状态寄存器对应的模块的示意图;
图2C是本公开实施例中智能网卡的故障处理方法的应用过程示意图;
图3是本公开实施例提供的一种智能网卡的故障处理装置的结构示意图;
图4是本公开实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
图1是本公开实施例提供的一种智能网卡的故障处理方法的流程示意图。本实施例可适用于在智能网卡出现故障时,对故障进行处理的情况。本实施例方法可由智能网卡的故障处理装置来执行,该装置可采用硬件/或软件的方式来实现,并可配置于计算机设备中。如图1所示,该方法具体包括如下:
S110,确定智能网卡处于故障状态时,获取各调试寄存器分别对应的状态值。
其中,智能网卡能够协助CPU处理网络相关事务,解放CPU,以处理更多的应用需求。智能网卡可以基于现场可编程逻辑门阵列(Field Programmable Gate Array,简称FPGA)或者专用集成电路(Application Specific Integrated Circuit,简称ASIC)实现,本实施例对智能网卡的实现方式不做具体限制。调试寄存器可以理解为智能网卡中用于存储与智能网卡相关的各种信息的寄存器,例如可以存储状态机的状态信息、存储模块接口的状态信息、接口信号的状态信息以及内部逻辑信号的状态信息等。状态值可以理解为调试寄存器中存储的各状态信息分别对应的具体值。
与智能网卡相连的CPU在确定智能网卡处于故障状态时,由于智能网卡中配置有多个调试寄存器用于存储与智能网卡相关的各种信息,因此CPU能够获取各调试寄存器分别对应的状态值,以便后续根据状态值,确定智能网卡的故障原因。
S120,根据状态值,确定智能网卡的故障原因。
CPU在获取到各调试寄存器分别对应的状态值之后,由于状态值能够反应出与智能网卡相关的各种信息,因此,通过对状态值进行分析,能够确定出智能网卡的故障原因,即具体是智能网卡中的哪部分出现了故障。
S130,根据故障原因对应的复位功能区域,执行对应的复位操作。
其中,复位功能区域可以理解为通过复位能够使智能网卡的功能恢复正常的逻辑区域。
CPU对故障原因进行分析能够确定出该故障原因所属的复位功能区域,从而根据该复位功能区域的特点执行与该复位功能区域所对应的复位操作。
在本实施例中,确定智能网卡处于故障状态时,获取各调试寄存器分别对应的状态值;根据状态值,确定智能网卡的故障原因;根据故障原因对应的复位功能区域,执行对应的复位操作,能够在智能网卡出现故障时,迅速定位故障原因,以及根据故障原因自动启动相应的复位操作,实现智能网卡的功能恢复,减少业务阻塞时长,降低业务报文丢失数量。
在本实施例中,可选的,所述复位功能区域为接口收发逻辑复位区域时,
相应的,所述根据所述故障原因对应的复位功能区域,执行对应的复位操作,包括:
关闭所述智能网卡中面板接口报文数据的输入或接收使能开关,并对所述接口收发逻辑复位区域执行复位操作;
在复位完成后,读取对应的故障状态寄存器对应的第一目标数值;
若所述第一目标数值等于预设数值,则打开面板报文数据的输入和接收开关。
其中,接口收发逻辑复位区域可以理解为负责智能网卡的面板接口的报文接收和发送的复位区域。第一目标数值可以理解为与接口收发逻辑所对应的故障状态寄存器对应的数值。预设数值可以为预先设置的数值,例如1,也可以视具体情况而定,本实施例不做具体限制。
具体的,当故障原因为接口收发逻辑故障时,该故障会导致报文数据的接收和发送产生阻塞,此时对应的复位功能区域为接口收发逻辑复位区域,为了尽快恢复智能网卡的正常使用,CPU需要先关闭智能网卡中面板接口报文数据的输入或接收使能开关,以确保该部分逻辑复位释放过程中,不受报文数据的干扰。接着CPU对接口收发逻辑复位区域执行复位操作,即初始化操作,在复位完成后,读取与接口收发逻辑所对应的故障状态寄存器对应的数值,即第一目标数值,确定第一目标数值与预设数值是否相等。若第一目标数值等于预设数值,则说明故障状态寄存器的功能状态恢复为正常运行状态,打开面板报文数据的输入和接收开关,以使智能网卡的面板接口能够进行报文接收和发送。若第一目标数值不等于预设数值,则说明对应的故障状态寄存器的状态未恢复正常,此时需要重启CPU并重新确定故障原因,以对故障进行处理。
在本实施例中,在复位功能区域为接口收发逻辑复位区域时,通过上述方法进行复位,无需人工参与,能够自动启动与接口收发逻辑复位区域对应的复位操作,在线实现智能网卡的功能恢复,减少业务阻塞时长。
在本实施例中,可选的,所述复位功能区域为报文处理逻辑复位区域时,
相应的,所述根据所述故障原因对应的复位功能区域,执行对应的复位操作,包括:
对所述报文处理逻辑复位区域执行复位操作。
其中,报文处理逻辑复位区域可以理解为负责报文逻辑处理的复位区域。
具体的,当故障原因为报文处理逻辑故障时,对应的复位功能区域为报文处理逻辑复位区域,由于报文处理逻辑通常和接口收发逻辑之间有缓存模块的隔离,因此,CPU对报文处理逻辑复位区域执行复位操作,即初始化操作,就能够解决报文处理逻辑故障。
在本实施例中,在复位功能区域为报文处理逻辑复位区域时,通过上述方法进行复位,无需人工参与,能够自动启动与报文处理逻辑复位区域对应的复位操作,在线实现智能网卡的功能恢复,节省时间。
在本实施例中,可选的,所述复位功能区域为直接存储器访问DMA逻辑复位区域时,
相应的,所述根据所述故障原因对应的复位功能区域,执行对应的复位操作,包括:
关闭DMA收发使能开关,并对所述DMA逻辑复位区域执行复位操作;
在复位完成后,对DMA逻辑进行初始化,并在初始化完成后,确认对应的故障状态寄存器状态对应的第二目标数值;
若所述第二目标数值等于预设数值,则打开所述DMA收发使能开关。
其中,直接存储器访问(Direct Memory Access,简称DMA)允许不同速度的硬件装置来沟通,不需要依赖于CPU的大量中断负载。第二目标数值可以理解为与DMA逻辑所对应的故障状态寄存器对应的数值。预设数值已经在前面说明过,此处不再赘述。
具体的,DMA逻辑部分是CPU和FPGA交互的桥梁,当故障原因为DMA逻辑故障时,该故障会导致CPU和智能网卡之间的数据交互出现问题,此时对应的复位功能区域为DMA逻辑复位区域,为了尽快恢复智能网卡的正常使用,CPU需要先关闭DMA收发使能开关,然后CPU对DMA逻辑复位区域执行复位操作,在复位完成后,需要再次进行DMA初始化,主要包括队列基地址初始化和收发指针初始化等流程,完成DMA的所有初始化流程后,需要确认与DMA逻辑所对应的故障状态寄存器对应的数值,即第二目标数值,确定第二目标数值与预设数值是否相等。若第二目标数值等于预设数值,则说明对应的故障状态寄存器的状态恢复正常,打开DMA收发使能开关,以使CPU和FPGA能够进行数据交互。若第二目标数值不等于预设数值,则说明故障状态寄存器的功能状态未恢复正常运行状态,即仍处于故障状态,此时可能出现了严重性DMA故障或硬件故障,需要重启CPU并重新确定故障原因,以对故障进行处理。
在本实施例中,在复位功能区域为DMA逻辑复位区域时,通过上述方法进行复位,无需人工参与,能够自动启动与DMA逻辑复位区域时对应的复位操作,在线实现智能网卡的功能恢复,减少业务阻塞时长,节省时间,提高用户的使用体验。
图2A是本公开实施例提供的另一种智能网卡的故障处理方法的流程示意图。本实施例是在上述实施例的基础上进行优化。可选的,本实施例对确定智能网卡处于故障状态时,获取各调试寄存器分别对应的状态值之前以及确定智能网卡的故障原因的过程进行详细的解释说明。如图2A所示,该方法具体包括如下:
S210,周期性的获取智能网卡中所有故障状态寄存器分别对应的数值。
其中,故障状态寄存器可以理解为用于存储智能网卡中包括的各模块的功能状态的寄存器。功能状态可以包括正常运行状态和故障状态。故障状态寄存器分别对应的数值可以理解为智能网卡中包括的各模块的功能状态所对应的具体数值。
需要说明的是本实施例中的周期可以预先设定好,例如5s,也可以是具体情况而定,本实施例不做具体限制。
CPU中与智能网卡的故障状态监测对应的线程能够周期性的获取智能网卡中所有故障状态寄存器分别对应的数值,例如每5s读取一次所有故障状态寄存器分别对应的数值。
示例性的,图2B是本公开实施例中某故障状态寄存器对应的模块的示意图,示例性的给出了一种实现方式,如图2B所示:
某故障状态寄存器的位宽为32比特(binary digit,简称bit),每个bit可以表示一个模块的运行状态,其中,bit[0]表示模块0的功能状态,bit[1]表示模块1的功能状态,bit[2]表示模块2的功能状态,…,bit[29]表示模块29的功能状态,bit[30]表示模块30的功能状态,bit[31]表示模块31的功能状态。
因此,使用少量的寄存器,就能够监测智能网卡中较大数量的模块的功能状态,提高故障状态寄存器的使用效率。
需要说明的是,智能网卡中可以配置多个故障状态寄存器,本实施例对故障状态寄存器的个数,以及每个故障状态寄存器中分别存储智能网卡中包括的哪些模块的功能状态不做具体限制。
S220,根据数值确定智能网卡处于故障状态。
由于故障状态寄存器被CPU读取之后就会自动清零,故障状态寄存器被清零后,如果对应的模块运行正常,相应的bit会被赋“1”值,如果某个模块故障,那么该模块的对应的bit为“0”值。例如,如图2B所示,当某故障状态寄存器的数值为32’hffffffff(’h表示16进制)时,表示32个模块的功能状态处于正常运行状态;当该故障状态寄存器的数值为fffffffa时,表示bit[2]和bit[0]所对应的模块2和模块0出现了故障。因此,CPU根据所有故障状态寄存器分别对应的数值能够确定智能网卡是否处于故障状态,由于本实施例主要解决智能网卡的故障,因此本实施例主要是针对智能网卡已经发生故障的情况,因此,根据数值能够确定智能网卡处于故障状态。
S230,确定智能网卡处于故障状态时,获取各调试寄存器分别对应的状态值。
S240,将状态值以及智能网卡出现故障的时间存储至对应的日志文件中。
在CPU获取到各调试寄存器分别对应的状态值之后,将状态值以及智能网卡出现故障的时间存储至对应的日志文件中,能够方便后续的查询和分析,避免文件的丢失。
S250,根据日志文件对智能网卡进行分析,得到分析结果。
CPU根据日志文件中包含的各调试寄存器分别对应的状态值以及智能网卡出现故障的时间,对智能网卡进行分析,能够确定智能网卡中具体是哪个模块或者哪些模块之间出了故障,从而得到分析结果。
S260,根据所述分析结果,确定智能网卡的故障原因。
CPU在得到分析结果之后,根据分析结果,能够确定出故障的模块的具体故障原因,从而便于后续根据故障原因对应的复位功能区域,执行对应的复位操作。
S270,根据故障原因对应的复位功能区域,执行对应的复位操作。
在本实施例中,通过周期性的获取智能网卡中所有故障状态寄存器分别对应的数值,根据数值确定智能网卡处于故障状态,确定智能网卡处于故障状态时,获取各调试寄存器分别对应的状态值,将状态值以及智能网卡出现故障的时间存储至对应的日志文件中,根据日志文件对智能网卡进行分析,得到分析结果,根据所述分析结果,确定智能网卡的故障原因,根据故障原因对应的复位功能区域,执行对应的复位操作,上述方法中,通过实时监测智能网卡的故障状态,能够及时发现智能网卡出现了故障,并且在智能网卡出现故障时,迅速定位故障原因,以及根据故障原因自动启动相应的复位操作,实现智能网卡的功能恢复,减少业务阻塞时长,降低业务报文丢失数量。
在本实施例中,可选的,所述故障状态寄存器中存储状态机故障反馈信息、存储故障反馈信息以及接口故障反馈信息;
相应的,所述根据所述数值确定所述智能网卡处于故障状态,可以具体包括:
确定所述存储状态机故障反馈信息对应的第一数值、所述存储故障反馈信息对应的第二数值以及所述接口故障反馈信息对应的第三数值;
若所述第一数值、所述第二数值以及所述第三数值中的至少一个数值等于目标数值,则确定所述智能网卡处于故障状态。
其中,状态机故障反馈信息可以理解为能够反馈状态机的状态是否正常的信息,例如,反馈状态机的状态是否为IDLE状态(空闲状态)的信息。存储故障反馈信息可以理解为能够反馈存储模块是否正常运行的信息,例如,反馈报文和报文的信息是否同步对齐的信息。接口故障反馈信息可以理解为能够反馈接口是否能够进行数据交互的信息,例如,反馈某模块是否能够正常发送响应信号的信息。第一数值可以理解为与状态机故障反馈信息对应的具体数值。第二数值可以理解为与存储故障反馈信息对应的具体数值。第三数值可以理解为与接口故障反馈信息对应的具体数值。目标数值可以为可以理解为预先设置的数值,例如0,也可以视具体情况而定,本实施例不做具体限制。
由于状态机通常设计有多个不同的状态,所有的状态机都包含IDLE状态,即:状态机的开始状态,也就是说,状态机跳到IDLE状态表示上一次逻辑功能成功完成。如果状态机无法返回到IDLE状态,那么该模块的逻辑功能出现了故障,例如挂死或者卡死,因此,状态机的IDLE状态可以作为状态机是否正常运行的状态反馈的使能标识,当state(状态)=IDLE时,写相应的故障状态寄存器的bit为“1”,否则,不执行写操作,即相应的故障状态寄存器的bit为“0”。
由于存储模块是FPGA开发过程的一个关键部分,主要以先进先出(First InputFirst Output,简称FIFO)存储器或随机存取存储器(Random Access Memory,简称RAM)的模式使用为主,基于FPGA的智能网卡开发中,存储模块通常用于存储报文数据和报文对应的信息,例如长度(Length)和身份证标识号(Identity document,简称ID)等,当报文和报文的信息是同步对齐的,例如,pkt fifo存储一个报文,pkt info fifo存储了报文信息,说明存储模块未出现故障;当pkt fifo不为空,而pkt info fifo为空或者当pkt info fifo不为空,而pkt fifo为空时,说明存储模块出现了故障。当报文和报文的信息同步对齐时,存储模块正常运行,写相应的故障状态寄存器的bit为“1”,否则,不执行写操作,即相应的故障状态寄存器的bit为“0”。
由于FPGA内部功能单元主要由模块(module)组成,各个module通过接口互联进行数据交互,为了保证各个module间数据交互的过程中数据不会丢失,module间需建立握手机制,如master(主)模块发送数据给slave(从)模块时,master模块需要首先发送req信号(请求信号),slave模块回复ack信号(响应信号)后,master模块可以将报文数据发送给slave模块,直到报文数据接收完成,本次数据交互结束。因此,根据握手机制的原理,当req信号发出后,在规定的时间内未收到回复的ack信号,即slave模块发送ack信号失败,导致两个模块的数据交互出现故障。当正常实现数据交互时,写相应的故障状态寄存器的bit为“1”,否则,不执行写操作,即相应的故障状态寄存器的bit为“0”。
由于故障状态寄存器中存储有状态机故障反馈信息、存储故障反馈信息以及接口故障反馈信息,因此需要确定存储状态机故障反馈信息对应的第一数值、存储故障反馈信息对应的第二数值以及接口故障反馈信息对应的第三数值,以便根据第一数值、第二数值以及第三数值与目标数值的关系确定智能网卡是否处于故障状态,具体的,如果第一数值、第二数值以及第三数值中的至少一个数值等于目标数值(例如0),则确定智能网卡处于故障状态。
本实施例中,通过上述方法确定智能网卡处于故障状态,简单高效,且不容易出错,能够减少误判。
示例性的,图2C是本公开实施例中智能网卡的故障处理方法的应用过程示意图,下面以该方法应用于基于FPGA实现的智能网卡网络防火墙系统平台为例进行说明:
1、CPU启动后,对智能网卡内部功能进行初始化,主要包括控制寄存器、复位开关以及DMA等相关功能的初始化;
2、完成智能网卡的初始化后,CPU启动与智能网卡的故障状态监测对应的线程;
3、智能网卡在初始化完成后,开始正常运行,运行期间,所有状态机、存储模块和模块接口交互处于正常状态时,不断的回写正常运行状态值(即:将相应的故障状态寄存器的bit置为1);
4、CPU周期性的获取所有故障状态寄存器分别对应的数值,并在读取完成后,故障状态寄存器自动清零;
5、CPU根据读取到的所有故障状态寄存器分别对应的数值能够确定智能网卡是否处于故障状态,例如,某个故障状态寄存器状态值被清零后,个别bit没有被置1,则说明该bit对应的逻辑可能出现了故障;
6、若CPU确定智能网卡处于正常状态,则CPU继续周期性的获取所有故障状态寄存器分别对应的数值;
7、若CPU确定智能网卡处于故障状态,则获取各调试寄存器分别对应的状态值,并将状态值以及智能网卡出现故障的时间存储至对应的日志文件中;
8、根据日志文件,确定智能网卡的故障原因以及对应的复位功能区域,以使智能网卡执行相应的复位操作。
如果对应的复位功能区域为接口收发逻辑复位区域,则CPU关闭智能网卡中面板接口报文数据的输入或接收使能开关,并对此部分的功能逻辑执行复位操作,复位操作完成后,读取对应的故障状态寄存器对应的第一目标数值,确认该功能逻辑恢复正常运行后,打开面板报文数据的输入和接收开关,实现智能网卡的功能恢复;
如果对应的复位功能区域为报文处理逻辑复位区域,CPU直接对此部分逻辑进行复位操作,复位完成后,实现智能网卡的功能恢复;
如果对应的复位功能区域为DMA逻辑复位区域,CPU关闭DMA收发使能开关,然后对DMA逻辑进行初始化,初始化完成后,读取对应的故障状态寄存器状态对应的第二目标数值,确认DMA逻辑恢复正常运行后,打开DMA收发队列使能开关,实现智能网卡的功能恢复。
图3是本公开实施例提供的一种智能网卡的故障处理装置的结构示意图;该装置配置于计算机设备中,可实现本申请任意实施例所述的智能网卡的故障处理方法。该装置具体包括如下:
获取模块310,用于确定智能网卡处于故障状态时,获取各调试寄存器分别对应的状态值;
确定模块320,用于根据所述状态值,确定所述智能网卡的故障原因;
执行模块330,用于根据所述故障原因对应的复位功能区域,执行对应的复位操作。
在本实施例中,可选的,所述复位功能区域为接口收发逻辑复位区域时,
相应的,执行模块330,具体用于:
关闭所述智能网卡中面板接口报文数据的输入或接收使能开关,并对所述接口收发逻辑复位区域执行复位操作;
在复位完成后,读取对应的故障状态寄存器对应的第一目标数值;
若所述第一目标数值等于预设数值,则打开面板报文数据的输入和接收开关。
在本实施例中,可选的,所述复位功能区域为报文处理逻辑复位区域时,
相应的,执行模块330,具体用于:
对所述报文处理逻辑复位区域执行复位操作。
在本实施例中,可选的,所述复位功能区域为直接存储器访问DMA逻辑复位区域时,
相应的,执行模块330,具体用于:
关闭DMA收发使能开关,并对所述DMA逻辑复位区域执行复位操作;
在复位完成后,对DMA逻辑进行初始化,并在初始化完成后,确认对应的故障状态寄存器状态对应的第二目标数值;
若所述第二目标数值等于预设数值,则打开所述DMA收发使能开关。
在本实施例中,可选的,上述装置还包括:
数值获取模块,用于确定智能网卡处于故障状态时,获取各调试寄存器分别对应的状态值之前,周期性的获取所述智能网卡中所有故障状态寄存器分别对应的数值;
故障状态确定模块,用于根据所述数值确定所述智能网卡处于故障状态。
在本实施例中,可选的,所述故障状态寄存器中存储状态机故障反馈信息、存储故障反馈信息以及接口故障反馈信息;
相应的,故障状态确定模块,具体用于:
确定所述存储状态机故障反馈信息对应的第一数值、所述存储故障反馈信息对应的第二数值以及所述接口故障反馈信息对应的第三数值;
若所述第一数值、所述第二数值以及所述第三数值中的至少一个数值等于目标数值,则确定所述智能网卡处于故障状态。
在本实施例中,可选的,确定模块320,具体用于:
将所述状态值以及所述智能网卡出现故障的时间存储至对应的日志文件中;
根据所述日志文件对所述智能网卡进行分析,得到分析结果;
根据所述分析结果,确定所述智能网卡的故障原因。
通过本公开实施例提供的智能网卡的故障处理装置,确定智能网卡处于故障状态时,获取各调试寄存器分别对应的状态值;根据状态值,确定智能网卡的故障原因;根据故障原因对应的复位功能区域,执行对应的复位操作,能够在智能网卡出现故障时,迅速定位故障原因,以及根据故障原因自动启动相应的复位操作,实现智能网卡的功能恢复,减少业务阻塞时长,降低业务报文丢失数量。
本公开实施例所提供的智能网卡的故障处理装置可执行本公开任意实施例所提供的智能网卡的故障处理方法,具备执行方法相应的功能模块和有益效果。
图4是本公开实施例提供的一种计算机设备的结构示意图。如图4所示,该计算机设备包括处理器410和存储装置420;计算机设备中处理器410的数量可以是一个或多个,图4中以一个处理器410为例;计算机设备中的处理器410和存储装置420可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储装置420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本公开实施例中的智能网卡的故障处理方法对应的程序指令/模块。处理器410通过运行存储在存储装置420中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现本公开实施例所提供的智能网卡的故障处理方法。
存储装置420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本实施例提供的一种计算机设备可用于执行上述任意实施例提供的智能网卡的故障处理方法,具备相应的功能和有益效果。
本公开实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于实现本公开实施例所提供的智能网卡的故障处理方法。
当然,本公开实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本公开任意实施例所提供的智能网卡的故障处理方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本公开可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述的方法。
值得注意的是,上述智能网卡的故障处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开的保护范围。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种智能网卡的故障处理方法,其特征在于,所述方法包括:
确定智能网卡处于故障状态时,获取各调试寄存器分别对应的状态值,其中,所述状态值用于表征智能网卡的相关信息;
根据所述状态值,确定所述智能网卡的故障原因;
根据所述故障原因对应的复位功能区域,自动执行对应的复位操作,其中,所述复位功能区域为接口收发逻辑复位区域、报文处理逻辑复位区域、直接存储器访问DMA逻辑复位区域中任意一种。
2.根据权利要求1所述的方法,其特征在于,所述复位功能区域为接口收发逻辑复位区域时,
相应的,所述根据所述故障原因对应的复位功能区域,自动执行对应的复位操作,包括:
关闭所述智能网卡中面板接口报文数据的输入或接收使能开关,并对所述接口收发逻辑复位区域执行复位操作;
在复位完成后,读取对应的故障状态寄存器对应的第一目标数值;
若所述第一目标数值等于预设数值,则打开面板报文数据的输入和接收开关。
3.根据权利要求1所述的方法,其特征在于,所述复位功能区域为报文处理逻辑复位区域时,
相应的,所述根据所述故障原因对应的复位功能区域,自动执行对应的复位操作,包括:
对所述报文处理逻辑复位区域执行复位操作。
4.根据权利要求1所述的方法,其特征在于,所述复位功能区域为直接存储器访问DMA逻辑复位区域时,
相应的,所述根据所述故障原因对应的复位功能区域,自动执行对应的复位操作,包括:
关闭DMA收发使能开关,并对所述DMA逻辑复位区域执行复位操作;
在复位完成后,对DMA逻辑进行初始化,并在初始化完成后,确认对应的故障状态寄存器状态对应的第二目标数值;
若所述第二目标数值等于预设数值,则打开所述DMA收发使能开关。
5.根据权利要求1所述的方法,其特征在于,所述确定智能网卡处于故障状态时,获取各调试寄存器分别对应的状态值之前,还包括:
周期性的获取所述智能网卡中所有故障状态寄存器分别对应的数值;
根据所述数值确定所述智能网卡处于故障状态。
6.根据权利要求5所述的方法,其特征在于,所述故障状态寄存器中存储状态机故障反馈信息、存储故障反馈信息以及接口故障反馈信息;
相应的,所述根据所述数值确定所述智能网卡处于故障状态,包括:
确定所述存储状态机故障反馈信息对应的第一数值、所述存储故障反馈信息对应的第二数值以及所述接口故障反馈信息对应的第三数值;
若所述第一数值、所述第二数值以及所述第三数值中的至少一个数值等于目标数值,则确定所述智能网卡处于故障状态。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述根据所述状态值,确定所述智能网卡的故障原因,包括:
将所述状态值以及所述智能网卡出现故障的时间存储至对应的日志文件中;
根据所述日志文件对所述智能网卡进行分析,得到分析结果;
根据所述分析结果,确定所述智能网卡的故障原因。
8.一种智能网卡的故障处理装置,其特征在于,所述装置包括:
获取模块,用于确定智能网卡处于故障状态时,获取各调试寄存器分别对应的状态值,其中,所述状态值用于表征智能网卡的相关信息;
确定模块,用于根据所述状态值,确定所述智能网卡的故障原因;
执行模块,用于根据所述故障原因对应的复位功能区域,自动执行对应的复位操作,其中,所述复位功能区域为接口收发逻辑复位区域、报文处理逻辑复位区域、直接存储器访问DMA逻辑复位区域中任意一种。
9.一种计算机设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN202111497980.7A 2021-12-09 2021-12-09 智能网卡的故障处理方法、装置、计算机设备和介质 Active CN114257492B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111497980.7A CN114257492B (zh) 2021-12-09 2021-12-09 智能网卡的故障处理方法、装置、计算机设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111497980.7A CN114257492B (zh) 2021-12-09 2021-12-09 智能网卡的故障处理方法、装置、计算机设备和介质

Publications (2)

Publication Number Publication Date
CN114257492A CN114257492A (zh) 2022-03-29
CN114257492B true CN114257492B (zh) 2023-11-28

Family

ID=80794338

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111497980.7A Active CN114257492B (zh) 2021-12-09 2021-12-09 智能网卡的故障处理方法、装置、计算机设备和介质

Country Status (1)

Country Link
CN (1) CN114257492B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116436823B (zh) * 2023-06-13 2023-09-05 珠海星云智联科技有限公司 智能网卡的状态监控方法及相关设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200310910Y1 (ko) * 2003-01-29 2003-04-21 삼성전자주식회사 스마트카드 제어 장치
CN101488881A (zh) * 2008-01-17 2009-07-22 鼎桥通信技术有限公司 一种故障处理方法
CN106354118A (zh) * 2016-08-25 2017-01-25 株洲中车时代电气股份有限公司 一种基于故障树的列车故障诊断系统及方法
CN109634397A (zh) * 2018-12-07 2019-04-16 郑州云海信息技术有限公司 一种实现智能网卡上下电功能的系统及方法
CN110456774A (zh) * 2019-08-15 2019-11-15 中车大连机车研究所有限公司 一种快捷货运机车的故障诊断与预警装置及方法
CN110851318A (zh) * 2019-09-22 2020-02-28 苏州浪潮智能科技有限公司 一种服务器管理系统下的串口日志收集方法、系统及设备
WO2020088351A1 (zh) * 2018-11-01 2020-05-07 华为技术有限公司 设备信息发送的方法、计算机设备和分布式计算机设备系统
CN111190745A (zh) * 2019-11-05 2020-05-22 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机可读存储介质
CN113630288A (zh) * 2021-07-09 2021-11-09 济南浪潮数据技术有限公司 一种智能网卡故障信息收集方法、装置、终端及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200310910Y1 (ko) * 2003-01-29 2003-04-21 삼성전자주식회사 스마트카드 제어 장치
CN101488881A (zh) * 2008-01-17 2009-07-22 鼎桥通信技术有限公司 一种故障处理方法
CN106354118A (zh) * 2016-08-25 2017-01-25 株洲中车时代电气股份有限公司 一种基于故障树的列车故障诊断系统及方法
WO2020088351A1 (zh) * 2018-11-01 2020-05-07 华为技术有限公司 设备信息发送的方法、计算机设备和分布式计算机设备系统
CN109634397A (zh) * 2018-12-07 2019-04-16 郑州云海信息技术有限公司 一种实现智能网卡上下电功能的系统及方法
CN110456774A (zh) * 2019-08-15 2019-11-15 中车大连机车研究所有限公司 一种快捷货运机车的故障诊断与预警装置及方法
CN110851318A (zh) * 2019-09-22 2020-02-28 苏州浪潮智能科技有限公司 一种服务器管理系统下的串口日志收集方法、系统及设备
CN111190745A (zh) * 2019-11-05 2020-05-22 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机可读存储介质
CN113630288A (zh) * 2021-07-09 2021-11-09 济南浪潮数据技术有限公司 一种智能网卡故障信息收集方法、装置、终端及存储介质

Also Published As

Publication number Publication date
CN114257492A (zh) 2022-03-29

Similar Documents

Publication Publication Date Title
EP3090345B1 (en) Method of delaying checkpoints by inspecting network packets
US9104638B2 (en) High availability system and execution state control method
CN110061896B (zh) 一种modbus-rtu总线地址冲突检测方法
CN112463614A (zh) 一种基于硬件板卡接入的软件虚拟化测试环境构建方法
CN114257492B (zh) 智能网卡的故障处理方法、装置、计算机设备和介质
CN109271268B (zh) 一种基于dpdk的智能容错方法
CN116521324B (zh) 中断虚拟化处理方法、装置及电子设备
CN109582379B (zh) 基于微内核操作系统的可编程逻辑控制器系统、控制方法
CN115150464B (zh) 应用代理方法、装置、设备及介质
CN116204214A (zh) Bmc升级方法、装置、系统、电子设备及存储介质
CN115292077A (zh) 内核异常处理方法及系统
US11360926B2 (en) Configuration management device, configuration management system, configuration management method, and non-transitory computer readable storage medium
CN108600044B (zh) 一种接口状态获取方法、装置及设备
CN108804343B (zh) 嵌入式存储接口数据传输方法、装置、计算机设备及介质
CN108037942B (zh) 一种嵌入式设备的自适应数据恢复与更新方法及装置
CN113010336A (zh) 应用处理器死机现场调试方法及应用处理器
CN117033276B (zh) 总线通信方法、系统、电子设备及存储介质
CN113645056B (zh) 一种定位智能网卡故障的方法及系统
CN114301927B (zh) 一种分布式系统中主节点选取方法、装置及介质
CN114253877B (zh) Liunx系统下的高速外围组件互联PCIE设备扫描方法及装置
CN111061597B (zh) 一种测试kcs通信稳定性的方法
CN115904750A (zh) 一种消息处理方法、装置及存储介质
CN115733806A (zh) 信息传输方法、装置、系统、电子设备以及存储介质
CN111488301A (zh) 血液细胞分析仪及其控制系统、方法、电子设备、介质
CN117349062A (zh) 一种bios故障处理方法、系统、装置、设备及介质

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
GR01 Patent grant