本申请提供一种检测FPGA芯片挂死的方法及装置,所述方法包括:在预设时间周期内,针对所述交换芯片上的每个端口,获取该端口的收包统计值和发包统计值,以及与该端口连接的所述FPGA芯片上的端口的丢包统计值,并判断所述发包统计值是否不为零且所述收包统计值与所述丢包统计值之和小于第一预设数值,若是,则将出错次数加1;判断所述出错次数是否高于第二预设数值;若是,则确定所述FPGA芯片挂死。本申请通过收包统计值、发包统计值以及丢包统计值判断端口是否出错,并根据出错端口数便可确定FPGA芯片是否挂死,而不需要人工进行检测,提高了检测实时性。
【技术实现步骤摘要】
本申请涉及网络通信
,尤其涉及一种检测FPGA芯片挂死的方法及装置。
技术介绍
目前,网络设备中用FPGA(Field-ProgrammableGateArray,现场可编程门阵列)芯片对报文进行业务处理,以分担CPU对报文处理分析的工作量,提高了报文的转发性能。使用FPGA芯片进行报文业务处理,一方面使CPU从疲劳应对高速数据流量处理中解脱,加快了报文的分类处理速度,另一方面使报文转发的稳定性更为可靠。因此,在网络通信中,FPGA芯片处于至关重要的地位,如果FPGA芯片出现挂死,将会造成业务中断的问题。在相关技术中,通过管理设备的监控系统,管理人员实时观察网络设备的运行状态是否正常,如果不正常,则确定具体是哪一个网络设备出现异常,然后再确定是否为网络设备上的FPGA芯片挂死,如果是,则需要管理人员手动重启或热插播网络设备以恢复业务。然而这种通过人工检测FPGA芯片是否挂死的过程复杂繁琐,检测实时性差,无法及时地恢复业务。
技术实现思路
有鉴于此,本申请提供一种检测FPGA芯片挂死的方法及装置,以解决现有人工检测方式实时性差的问题。根据本申请实施例的第一方面,提供一种检测FPGA芯片挂死的方法,所述方法可包括:在预设时间周期内,针对所述交换芯片上的每个端口,获取该端口的收包统计值和发包统计值,以及与该端口连接的所述FPGA芯片上的端口的丢包统计值,并判断所述发包统计值是否不为零且所述收包统计值与所述丢包统计值之和小于第一预设数值,若是,则将出错次数加1;判断所述出错次数是否高于第二预设数值;若是,则确定所述FPGA芯片挂死。根据本申请实施例的第二方面,提供一种检测FPGA芯片挂死的装置,所述装置可包括:端口统计单元,用于在预设时间周期内,针对所述交换芯片上的每个端口,获取该端口的收包统计值和发包统计值,以及与该端口连接的所述FPGA芯片上的端口的丢包统计值,并判断所述发包统计值是否不为零且所述收包统计值与所述丢包统计值之和小于第一预设数值,若是,则将出错次数加1;判断单元,用于判断所述出错次数是否高于第二预设数值;确定单元,用于在判断结果为是时,确定所述FPGA芯片挂死。应用本申请实施例,网络设备可以在预设时间周期内,针对交换芯片上的每个端口,获取该端口的收包统计值和发包统计值,以及与该端口连接的FPGA芯片上的端口的丢包统计值,并判断发包统计值是否不为零且收包统计值与丢包统计值之和小于第一预设数值,若是,则将出错次数加1;如果出错次数高于第二预设数值,则确定FPGA芯片挂死。基于上述实现方式,通过交换芯片的收包统计值、发包统计值以及FPGA芯片的丢包统计值判断端口是否出错,并根据出错端口数便可确定FPGA芯片是否挂死,并且网络设备是每隔预设时间周期自动检测一次FPGA芯片是否挂死,而不需要人工长时间观察,并进行手工检测,从而,可以提高检测实时性,同时也提高了检测便捷性。附图说明图1为本申请根据一示例性实施例示出的一种检测FPGA芯片挂死的方法的实施例流程图;图2为本申请根据一示例性实施例示出的一种网络设备的硬件结构图;图3为本申请根据一示例性实施例示出的一种检测FPGA芯片挂死的装置的实施例结构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。图1为本申请根据一示例性实施例示出的一种检测FPGA芯片挂死的方法的实施例流程图,该实施例可以应用于网络设备(例如,路由器、交换机等),该网络设备可以包括交换芯片和FPGA芯片,交换芯片与FPGA芯片均包括至少一个端口,并且每个端口一一对应连接,交换芯片的每个端口上设置有收包计数器和发包计数器,FPGA芯片的每个端口上设置有丢包计数器,在本申请实施例中,交换芯片在接收到报文时,先将报文从一个端口发送至FPGA芯片,该端口上的发包计数器的统计值加1,FPGA芯片对报文进行业务处理(例如,包过滤、NAT(NetworkAddressTranslation,网络地址转换)等),在业务处理过程中,FPGA芯片如果确定报文是杂包,则将报文丢弃,并将接收该报文的端口上的丢包计数器的统计值加1,如果确定不是杂包,则,将处理完的报文从接收该报文的端口返回至交换芯片,交换芯片再将该端口上的收包计数器的统计值加1,并根据报文的出端口对报文进行转发。如图1所示,该检测FPGA芯片挂死的方法包括如下步骤:步骤101:在预设时间周期内,针对交换芯片上的每个端口,获取该端口的收包统计值和发包统计值,以及与该端口连接的FPGA芯片上的端口的丢包统计值。在一实施例中,该预设时间周期可以根据实际需求进行设置,例如,1000毫秒。在网络设备运行期间,网络设备可以每隔预设时间周期,针对交换芯片上的每个端口,获取一次该端口在该预设时间周期内的收包统计值和发包统计值,以及与该端口连接的FPGA芯片上的端口的丢包统计值。在一实施例中,在预设时间周期之后,网络设备可以将交换芯片上的每个端口的收包统计值和发包统计值清零,以使交换芯片上的每个端口重新开始统计收包计数和发包计数,此外,也可以将FPGA芯片上的每个端口的丢包统计值清零,以使FPGA芯片上的每个端口重新开始统计丢包计数。在另一实施例中,在预设时间周期之后,网络设备也可以将交换芯片上的每个端口的收包统计值和发包统计值、以及FPGA芯片上的每个端口的丢包统计值存储在存储介质中,以用于在下一个预设时间周期内获取到某一端口的收包统计值时,能够将获取到的收包统计值与存储的该端口的收包统计值相减,得到下一个预设时间周期内的收包统计值,对于下一个预设时间周期内的发包统计值、丢包统计值,也可用此方法得到。从而,可以确保在每个预设时间周期内,网络设备获取的收包统计值、发包统计值以及丢包统计值均是在该预设时间周期内统计得到的。步骤102:判断发包统计值是否不为零且收包统计值与丢包统计值之和小于第一预设数值,若是,则执行步骤103,否则,继续执行步骤101。在一实施例中,第一预设数值可以根据实际需求进行设置,例如,第一预设数值可以是零,假设交换芯片的端口1与FPGA芯片的端口2连接,端口1有向端口2发送报文,即端口1的发包统计值不为零,而FPGA芯片的端口2既没有向交换芯片的端口1返回报本文档来自技高网...
【技术保护点】
一种检测FPGA芯片挂死的方法,其特征在于,所述方法应用于网络设备,所述网络设备包括交换芯片和FPGA芯片,所述交换芯片与所述FPGA芯片均包括至少一个端口,并且每个端口一一对应连接,所述交换芯片的每个端口上设置有收包计数器和发包计数器,所述FPGA芯片的每个端口上设置有丢包计数器,所述方法包括:在预设时间周期内,针对所述交换芯片上的每个端口,获取该端口的收包统计值和发包统计值,以及与该端口连接的所述FPGA芯片上的端口的丢包统计值,并判断所述发包统计值是否不为零且所述收包统计值与所述丢包统计值之和小于第一预设数值,若是,则将出错次数加1;判断所述出错次数是否高于第二预设数值;若是,则确定所述FPGA芯片挂死。
【技术特征摘要】
1.一种检测FPGA芯片挂死的方法,其特征在于,所述方法应用于网络设备,所述网络设备包括交换芯片和FPGA芯片,所述交换芯片与所述FPGA芯片均包括至少一个端口,并且每个端口一一对应连接,所述交换芯片的每个端口上设置有收包计数器和发包计数器,所述FPGA芯片的每个端口上设置有丢包计数器,所述方法包括:在预设时间周期内,针对所述交换芯片上的每个端口,获取该端口的收包统计值和发包统计值,以及与该端口连接的所述FPGA芯片上的端口的丢包统计值,并判断所述发包统计值是否不为零且所述收包统计值与所述丢包统计值之和小于第一预设数值,若是,则将出错次数加1;判断所述出错次数是否高于第二预设数值;若是,则确定所述FPGA芯片挂死。2.根据权利要求1所述的方法,其特征在于,所述获取与该端口连接的所述FPGA芯片上的端口的丢包统计值之前,所述方法还包括:获取与该端口连接的所述FPGA芯片上的端口的状态;判断所述端口的状态是否为非连接状态;若是,则向所述FPGA芯片发送端口复位命令,以使所述FPGA芯片进行端口复位操作;若否,则执行获取与该端口连接的所述FPGA芯片上的端口的丢包统计值的过程。3.根据权利要求1所述的方法,其特征在于,所述确定所述FPGA芯片挂死之后,所述方法还包括:获取所述FPGA芯片上当前的寄存器信息、当前的表项信息以及当前的时间戳信息;将所述寄存器信息、所述表项信息以及所述时间戳信息存储在本地存储介质中,以使管理设备在定位问题时访问所述网络设备存储的所述寄存器信息、所述表项信息以及所述时间戳信息,并进行显示。4.根据权利要求1所述的方法,其特征在于,所述判断所述出错次数是否高于第二预设数值之后,所述方法还包括:将所述交换芯片上的每个端口的收包统计值和发包统计值均清零,以使所述交换芯片上的每个端口重新开始统计收包计数和发包计数;将所述FPGA芯片上的每个端口的丢包统计值清零,以使所述FPGA芯片上的每个端口重新开始统计丢包计数;将所述出错次数清零。5.一种检测FPGA芯片挂死的装置,其特征在于,所述装置应用于网络设备...
【专利技术属性】
技术研发人员:王亚亮,刘小兵,
申请(专利权)人:杭州迪普科技股份有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。