CN111158945A - 内核故障处理方法、装置、网络安全设备和可读存储介质 - Google Patents
内核故障处理方法、装置、网络安全设备和可读存储介质 Download PDFInfo
- Publication number
- CN111158945A CN111158945A CN201911424835.9A CN201911424835A CN111158945A CN 111158945 A CN111158945 A CN 111158945A CN 201911424835 A CN201911424835 A CN 201911424835A CN 111158945 A CN111158945 A CN 111158945A
- Authority
- CN
- China
- Prior art keywords
- kernel
- memory space
- fault
- information
- fault information
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0778—Dumping, i.e. gathering error/state information after a fault for later diagnosis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Retry When Errors Occur (AREA)
Abstract
本公开提供了一种用于网络安全设备的内核故障处理方法,包括:设置内存空间,其中,内存空间用于保存一次或多次内核故障信息;在内核中增加故障信息输出代码,以便在内核发生故障时,将内核的故障信息写入内存空间;以及在内核发生故障时,将内核的故障信息写入内存空间,以便基于内存空间中的故障信息对内核的故障进行定位。本公开还提供了一种用于网络安全设备的内核故障处理装置、一种网络安全设备、一种计算机可读存储介质和一种计算机程序产品。
Description
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种用于网络安全设备的内核故障处理方法、一种用于网络安全设备的内核故障处理装置、一种网络安全设备、一种计算机可读存储介质、一种计算机程序产品。
背景技术
网络安全设备通常采用Linux作为操作系统的基础内核,对内核进行配置裁剪和修改。例如裁剪掉不会使用的硬件设备驱动,如AGP_INTEL(用于支持I8xx和E7x05等芯片集);裁剪一些压缩算法,如LZMA压缩算法(Lempel-Ziv-Markov chain-Algorithm);研发用于加强网络流量处理能力的内核模块。与服务器/台式机等设备不同,服务器/台式机设备多采用发行版Linux系统(如Centos、Ubuntu等),一般对内核配置全面,如kdump(基于kexec的Linux内核崩溃捕获机制)的配置、常用的权威厂商设备驱动配置等,辅以功能强大的文件系统,具备完善的Linux系统环境如yum(软件包管理器)、network(网络基础服务),但系统运行需要较大的资源开销。发行版Linux系统运行时内核发生异常panic(故障)重启后,可以通过/var/log/messages(发行版Linux系统的系统日志文件目录)获取上一次panic时的错误信息及程序的调用栈信息等。
但是在网络安全设备中,操作系统是经过高度剪裁并进行安全加固,当系统异常panic重启后不会保留上一次的运行信息。仅在异常panic发生时向网络安全设备的串口控制台上输出panic信息,不便于问题分析和定位。
发明内容
有鉴于此,本公开提供了一种用于网络安全设备的内核故障处理方法、一种用于网络安全设备的内核故障处理装置、一种网络安全设备、一种计算机可读存储介质、一种计算机程序产品。
本公开的一个方面提供了一种用于网络安全设备的内核故障处理方法,包括:设置内存空间,其中,上述内存空间用于保存一次或多次内核故障信息;在上述内核中增加故障信息输出代码,以便在上述内核发生故障时,将上述内核的故障信息写入上述内存空间;以及在上述内核发生故障时,将上述内核的故障信息写入上述内存空间,以便基于上述内存空间中的故障信息对上述内核的故障进行定位。
根据本公开的实施例,上述设置内存空间包括:获取内核启动参数;以及在上述内核启动的过程中,将上述内核启动参数写入内存,以便指示上述内存预留出上述内存空间。
根据本公开的实施例,将上述内核的故障信息写入上述内存空间包括:对上述内核的故障信息进行过滤,得到过滤后的用于分析内核故障的有效信息;以及将上述有效信息写入上述内存空间。
根据本公开的实施例,上述有效信息包括以下一种或多种:导致内核故障的进程名称、进程识别号、函数调用层级关系、函数内局部变量值信息、系统寄存器值信息。
根据本公开的实施例,上述的方法还包括:在将上述内核的故障信息写入上述内存空间的过程中,判断上述内存空间是否存在未写入信息的空白空间;在上述内存空间不存在上述空白空间的情况下,按照已写入信息写入上述内存空间中的时间顺序,删除上述内存空间中已写入的部分信息,以得到新的空白空间;以及将上述内核的故障信息写入上述新的空白空间中。
根据本公开的实施例,上述的方法还包括:在基于上述内存空间中的故障信息对上述内核的故障进行定位之前,重启上述网络安全设备;在重启上述网络安全设备的过程中,启动故障信息转储程序;通过上述故障信息转储程序检查上述内存空间中是否存在故障信息;以及在上述内存空间中存在故障信息的情况下,将上述内存空间中的故障信息存储在硬盘中。
本公开的另一个方面提供了一种用于网络安全设备的内核故障处理装置,包括:设置模块,用于设置内存空间,其中,上述内存空间用于保存一次或多次内核故障信息;增加模块,用于在上述内核中增加故障信息输出代码,以便在上述内核发生故障时,将上述内核的故障信息写入上述内存空间;以及写入模块,用于在上述内核发生故障时,将上述内核的故障信息写入上述内存空间,以便基于上述内存空间中的故障信息对上述内核的故障进行定位。
根据本公开的实施例,上述设置模块包括:获取单元,用于获取内核启动参数;以及写入单元,用于在上述内核启动的过程中,将上述内核启动参数写入内存,以便指示上述内存预留出上述内存空间。
根据本公开的实施例,上述的装置还包括:过滤模块,用于对上述内核的故障信息进行过滤,得到过滤后的用于分析内核故障的有效信息;以及上述写入模块,用于将上述有效信息写入上述内存空间。
根据本公开的实施例,上述的装置还包括:判断模块,用于在将上述内核的故障信息写入上述内存空间的过程中,判断上述内存空间是否存在未写入信息的空白空间;删除模块,用于在上述内存空间不存在上述空白空间的情况下,按照已写入信息写入上述内存空间中的时间顺序,删除上述内存空间中已写入的部分信息,以得到新的空白空间;以及上述写入模块还用于将上述内核的故障信息写入上述新的空白空间中。
根据本公开的实施例,上述的装置还包括:重启模块,用于在基于上述内存空间中的故障信息对上述内核的故障进行定位之前,重启上述网络安全设备;启动模块,用于在重启上述网络安全设备的过程中,启动故障信息转储程序;检查模块,用于通过上述故障信息转储程序检查上述内存空间中是否存在故障信息;以及存储模块,用于在上述内存空间中存在故障信息的情况下,将上述内存空间中的故障信息存储在硬盘中。
本公开的另一方面提供了一种网络安全设备,包括:一个或多个处理器;存储介质,用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序产品,包括可执行指令,该指令被处理器执行时使处理器实现如上所述的方法。
根据本公开的实施例,采用修改、完善系统内核的方式,首先预留一部分系统内存,在内核发生故障时有选择地将故障信息存放其中,该内存大小可根据产品型号设定。在系统重启后,通过自开发程序(即故障信息输出代码)读取保存在内存中的信息,以方便故障定位。
根据本公开的实施例,本公开可以对信息进行处理过滤去冗余后以自定义文件的形式存留在硬盘上,支持多次保存,能够在占用空间较大时覆盖保存时间较长的文件,并可根据配置将故障文件通过网络发回系统服务器。该方法对内核进行修改和完善,有着不添加硬件成本,和较低的内存空间占用的特点,在不影响内核性能和稳定性的情况下,实时有效地保存故障时的系统栈信息。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以应用用于网络安全设备的内核故障处理方法及装置的示例性系统架构;
图2示意性示出了根据本公开实施例的用于网络安全设备的内核故障处理方法的流程图;
图3示意性示出了根据本公开实施例的设置内存空间的流程图;
图4示意性示出了根据本公开实施例的将内核的故障信息写入内存空间的流程图;
图5示意性示出了根据本公开另一实施例的用于网络安全设备的内核故障处理方法的流程图;
图6示意性示出了根据本公开另一实施例的将内存空间中的故障信息存储在硬盘中的流程图;
图7示意性示出了根据本公开实施例的用于网络安全设备的内核故障处理装置的框图;以及
图8示意性示出了根据本公开实施例的网络安全设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
本公开的实施例提供了一种用于网络安全设备的内核故障处理方法,包括:设置内存空间,其中,内存空间用于保存一次或多次内核故障信息;在内核中增加故障信息输出代码,以便在内核发生故障时,将内核的故障信息写入内存空间;以及在内核发生故障时,将内核的故障信息写入内存空间,以便基于内存空间中的故障信息对内核的故障进行定位。
图1示意性示出了根据本公开实施例的可以应用用于网络安全设备的内核故障处理方法及装置的示例性系统架构。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括网络安全设备101,硬盘102和服务器103。其中,硬盘102可以是网络安全设备101所包含的;也可以是单独存在,而未装配入网络安全设备101中。硬盘102的种类不做限定,例如,可以是SCSI接口的机械硬盘。服务器103可以是在本地机房中,也可以是在远程机房中。
根据本公开的实施例,网络安全设备101上可以包括操作系统,操作系统可以包括系统内核,当系统内核宕机之后,可以将故障信息写入内存中,故障信息处理程序可以从内存中读取内存数据,通过SATA接口写入硬盘102中,或者通过网络发送给服务器103。
具体地,例如,在内核启动之后,可以预留出系统内存空间,当内核出现故障时,将包含故障信息的stack栈信息缓存到预留内存中。在系统重启之后,故障信息处理程序可以将预留内存中的数据存储到文件中,网络安全设备101依据文件初步自动分析内核故障原因。网络安全设备101可以远程发送故障信息文件至服务器103,开发人员可以根据故障信息文件分析故障原因。
根据本公开的实施例,网络安全设备101可以包括网络安全领域中的防火墙、IPS(intrusion prevention system,入侵防御系统)、IDS(intrusion detection system,入侵检测系统)等基于网络流量监控的硬件设备。
应该理解,图1中的网络安全设备、硬盘和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的网络安全设备、硬盘和服务器。
图2示意性示出了根据本公开实施例的用于网络安全设备的内核故障处理方法的流程图。
如图2所示,该方法包括操作S210~S230。
在操作S210,设置内存空间,其中,内存空间用于保存一次或多次内核故障信息。
根据本公开的实施例,设置的内存空间属于预留的内存空间,可以专门用于保存一次或多次内核故障信息。内存空间的大小可以预先设定,例如,一般可以设定4MB大小的空间保存多次panic信息(即内存故障信息)。
在操作S220,在内核中增加故障信息输出代码,以便在内核发生故障时,将内核的故障信息写入内存空间。
根据本公开的实施例,可以在内核源码中增加用于输出故障信息的信息输出代码,有效保存导致内核故障的进程名称、pid号(进程识别号),函数调用层级关系,函数内局部变量值信息,系统寄存器值信息等。
从完善系统内核的角度,通过添加故障信息输出代码,在系统的启动、运行、宕机的各个环节利用代码结构,以无硬件成本、资源占用少(低内存占用和磁盘空间占用)的形式,实现保存系统宕机(内核故障)时的系统内有效信息,该种方法可有效运用在定制化低硬件成本的嵌入式产品中,对于复杂情况下偶然出现的系统宕机,能够切实地保存丰富的故障信息。
在操作S230,在内核发生故障时,将内核的故障信息写入内存空间,以便基于内存空间中的故障信息对内核的故障进行定位。
根据本公开的实施例,将内核的故障信息写入内存空间可以包括对内核的故障信息进行过滤,得到过滤后的用于分析内核故障的有效信息;将有效信息写入内存空间。通过将有效信息写入内存空间,而没有将所有故障信息写入内存空间,可以节省内存空间,以实现保存多次故障信息。
根据本公开的实施例,有效信息可以包括以下一种或多种:导致内核故障的进程名称、进程识别号、函数调用层级关系、函数内局部变量值信息、系统寄存器值信息。
根据本公开的实施例,采用修改、完善系统内核的方式,首先预留一部分系统内存,在内核发生故障时有选择地将故障信息存放其中,该内存大小可根据产品型号设定。在系统重启后,通过自开发程序(例如,故障信息输出代码)读取保存在内存中的信息,以方便故障定位。
本公开的方法可以运行在X86、ARM64、MIPS64等多种不同架构的产品中,使网络产品在运行过程中偶然出现的内核故障信息得以保存,为后续定位故障原因提供基础。
以防火墙设备为例,一旦系统宕机,在客户手中很难进行技术性定位,特别是内核层的原因分析。本公开的方法可以有效解决了此种情况,系统可将内核故障信息存储下来后,可根据配置将文件自动发回系统服务器或者保留在本地,之后再交由专门的内核研发人员进行定位和分析。
此外,在实现本公开的过程中,发明人发现,如果在额外的硬件主板上使用其他独立系统读取内核故障信息,在获取内存信息进行定位时,需要系统中断在内核故障的瞬间,然后硬件介入,这时机器不能重启,在实际产品中也就造成了业务的长时间中断,需要将硬件主板附着在硬件产品中,带来较高的硬件成本。本公开的方法实用成本更低,无需硬件主板,且可有效附着在发布产品中,可有效保存网络产品(如防火墙)在实际运行场景下的系统故障信息。此外,本公开无需系统中断并处于内核故障状态,可减少产品业务处理的中断时间。
下面参考图3~图6,结合具体实施例对图2所示的方法做进一步说明。
图3示意性示出了根据本公开实施例的设置内存空间的流程图。
如图3所示,设置内存空间包括操作S310~S320。
在操作S310,获取内核启动参数。
在操作S320,在内核启动的过程中,将内核启动参数写入内存,以便指示内存预留出内存空间。
根据本公开的实施例,通过增加内核启动参数向内核传递需要保留的内存区域大小。例如,内存区域大小为1MB大小的空间。当内核启动后,在内存初始化时读取内核启动参数,并按照内存大小寻找合适的内存块,依据内核启动参数确定预留内存的位置,后续内存分配不会使用这块内存。根据本公开的实施例,可以通过/proc/iomem文件(记录物理地址的分配情况的文件)记录这块内存的具体信息,可以包括起始地址和大小。
通过本公开的实施例,通过预先设定内存空间,使得该内存空间可以专用于存储故障信息,当需要对故障信息进行分析时,可以快速定位并获取故障信息。
图4示意性示出了根据本公开实施例的将内核的故障信息写入内存空间的流程图。
如图4所示,该方法包括操作S410~S430。
在操作S410,在将内核的故障信息写入内存空间的过程中,判断内存空间是否存在未写入信息的空白空间。
根据本公开的实施例,由于预留的内存空间的空间大小是固定的,如果出现多次内核故障,内存空间可以会被占满。因此,在将内核的故障信息写入内存空间之前,或者写入内存空间的同时,判断内存空间是否存在未写入信息的空白空间。
在操作S420,在内存空间不存在空白空间的情况下,按照已写入信息写入内存空间中的时间顺序,删除内存空间中已写入的部分信息,以得到新的空白空间。
例如,删除最早写入内存空间中的故障信息,使得内存中得到新的空白空间。根据本公开的实施例,可以根据本次拟写入的故障信息的数据量确定需要删除的数据量,然后按照写入内存空间中的时间顺序删除需要删除的数据量。
在操作S430,将内核的故障信息写入新的空白空间中。
根据本公开的实施例,如果拟写入的内核故障信息占用空间较大,可以空出新的空白空间,保证了内核故障信息可以保存在内存中,并且由于固定了内存空间,避免了内核故障信息占用过多的内存空间。
图5示意性示出了根据本公开另一实施例的用于网络安全设备的内核故障处理方法的流程图。
在该实施例中,可以包括图2所示的操作S210~S230,为了描述的简洁起见,在此不再赘述。如图5所示,该方法包括操作S510~S540。
在操作S510,在基于内存空间中的故障信息对内核的故障进行定位之前,重启网络安全设备。
在操作S520,在重启网络安全设备的过程中,启动故障信息转储程序。
在操作S530,通过故障信息转储程序检查内存空间中是否存在故障信息。
根据本公开的实施例,内核发生故障时,系统可以重启,网络安全设备在启动过程中可以自动启动故障信息转储程序,检查保留内存区中是否存在故障信息,从而避免多次重启或设备下电后故障信息丢失。
在操作S540,在内存空间中存在故障信息的情况下,将内存空间中的故障信息存储在硬盘中。
根据本公开的实施例,若内存空间中存在故障信息,可以将其保存在文件中,再根据网络安全设备的配置选择是否发回系统服务器,以及是否保留在本地。故障信息转储程序可以有三个传入参数,分别是/dev/mem设备文件(通过该文件,用户态程序能够通过物理内存地址访问内存)、偏移地址、生成文件的路径。故障信息转储程序也可以对内存字段内容处理验证、过滤得到有效信息、将内存字段内容写到磁盘文件等。
图6示意性示出了根据本公开另一实施例的将内存空间中的故障信息存储在硬盘中的流程图。
如图6所示,该方法包括操作S610~S650。
在操作S610,确定预留内存中是否存在数据。
在操作S620,若预留内存中存在数据,读取内存数据,获取故障信息。
在操作S630,对故障信息进行处理,得到有效信息。例如,对故障信息进行验证和过滤等等。
在操作S640,将有效信息,例如,函数调用关系、寄存器值等存入磁盘文件,或者传输给服务器。
在操作S650,若预留内存中不存在数据,可以按照一定时间间隔或者在系统重启之后再次确定预留内存中是否存在数据。
根据本公开的实施例,本公开可以对信息进行处理过滤去冗余后以自定义文件的形式存留在硬盘上,支持多次保存,并可根据配置将故障文件通过网络发回系统服务器。该方法对内核进行修改和完善,有着不添加硬件成本,和较低的内存空间占用的特点,在不影响内核性能和稳定性的情况下,实时有效地保存故障时的系统栈信息。
通过本公开的实施例,本公开占用系统硬盘空间和内存空间较小,且适用于内核高度裁剪等系统资源较为紧张的嵌入式产品中。
图7示意性示出了根据本公开实施例的用于网络安全设备的内核故障处理装置的框图。
如图7所示,用于网络安全设备的内核故障处理装置700包括设置模块710、增加模块720和写入模块730。
设置模块710用于设置内存空间,其中,内存空间用于保存一次或多次内核故障信息。
增加模块720用于在内核中增加故障信息输出代码,以便在内核发生故障时,将内核的故障信息写入内存空间。
写入模块730用于在将内核的故障信息写入内存空间之后,对内存空间中的故障信息进行分析,以便对内核的故障进行定位。
根据本公开的实施例,设置模块710包括获取单元和写入单元。
获取单元用于获取内核启动参数。
写入单元用于在内核启动的过程中,将内核启动参数写入内存,以便指示内存预留出内存空间。
根据本公开的实施例,用于网络安全设备的内核故障处理装置700还包括过滤模块。
过滤模块用于对内核的故障信息进行过滤,得到过滤后的用于分析内核故障的有效信息。
写入模块还用于将有效信息写入内存空间。
根据本公开的实施例,用于网络安全设备的内核故障处理装置700还包括判断模块和删除模块。
判断模块用于在将内核的故障信息写入内存空间的过程中,判断内存空间是否存在未写入信息的空白空间。
删除模块用于在内存空间不存在空白空间的情况下,按照已写入信息写入内存空间中的时间顺序,删除内存空间中已写入的部分信息,以得到新的空白空间。
写入模块还用于将内核的故障信息写入新的空白空间中。
根据本公开的实施例,用于网络安全设备的内核故障处理装置700还包括重启模块、启动模块、检查模块和存储模块。
重启模块用于在基于所述内存空间中的故障信息对所述内核的故障进行定位之前,重启网络安全设备。
启动模块用于在重启网络安全设备的过程中,启动故障信息转储程序。
检查模块用于通过故障信息转储程序检查内存空间中是否存在故障信息。
存储模块用于在内存空间中存在故障信息的情况下,将内存空间中的故障信息存储在硬盘中。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,设置模块710、增加模块720和写入模块730中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,设置模块710、增加模块720和写入模块730中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,设置模块710、增加模块720和写入模块730中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
根据本公开的实施例,还提供了一种网络安全设备,包括:一个或多个处理器;存储介质,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本公开实施例的方法。
图8示意性示出了根据本公开实施例的网络安全设备的框图。图8示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,根据本公开实施例的网络安全设备800包括处理器801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。处理器801例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器801还可以包括用于缓存用途的板载存储器。处理器801可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 803中,存储有网络安全设备800操作所需的各种程序和数据。处理器801、ROM 802以及RAM 803通过总线804彼此相连。处理器801通过执行ROM 802和/或RAM 803中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 802和RAM 803以外的一个或多个存储器中。处理器801也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,网络安全设备800还可以包括输入/输出(I/O)接口805,输入/输出(I/O)接口805也连接至总线804。网络安全设备800还可以包括连接至I/O接口805的以下部件中的一项或多项:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被处理器801执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现本公开实施例的方法。该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 802和/或RAM 803和/或ROM 802和RAM 803以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (10)
1.一种用于网络安全设备的内核故障处理方法,包括:
设置内存空间,其中,所述内存空间用于保存一次或多次内核故障信息;
在所述内核中增加故障信息输出代码,以便在所述内核发生故障时,将所述内核的故障信息写入所述内存空间;以及
在所述内核发生故障时,将所述内核的故障信息写入所述内存空间,以便基于所述内存空间中的故障信息对所述内核的故障进行定位。
2.根据权利要求1所述的方法,其中,所述设置内存空间包括:
获取内核启动参数;以及
在所述内核启动的过程中,将所述内核启动参数写入内存,以便指示所述内存预留出所述内存空间。
3.根据权利要求1所述的方法,其中,将所述内核的故障信息写入所述内存空间包括:
对所述内核的故障信息进行过滤,得到过滤后的用于分析内核故障的有效信息;以及
将所述有效信息写入所述内存空间。
4.根据权利要求1所述的方法,其中,所述有效信息包括以下至少之一:
导致内核故障的进程名称、函数调用层级关系、函数内局部变量值信息、系统寄存器值信息。
5.根据权利要求1所述的方法,还包括:
在将所述内核的故障信息写入所述内存空间的过程中,判断所述内存空间是否存在未写入信息的空白空间;
在所述内存空间不存在所述空白空间的情况下,按照已写入信息写入所述内存空间中的时间顺序,删除所述内存空间中已写入的部分信息,以得到新的空白空间;以及
将所述内核的故障信息写入所述新的空白空间中。
6.根据权利要求1所述的方法,还包括:
在基于所述内存空间中的故障信息对所述内核的故障进行定位之前,重启所述网络安全设备;
在重启所述网络安全设备的过程中,启动故障信息转储程序;
通过所述故障信息转储程序检查所述内存空间中是否存在故障信息;以及
在所述内存空间中存在故障信息的情况下,将所述内存空间中的故障信息存储在硬盘中。
7.一种用于网络安全设备的内核故障处理装置,包括:
设置模块,用于设置内存空间,其中,所述内存空间用于保存一次或多次内核故障信息;
增加模块,用于在所述内核中增加故障信息输出代码,以便在所述内核发生故障时,将所述内核的故障信息写入所述内存空间;以及
写入模块,用于在所述内核发生故障时,将所述内核的故障信息写入所述内存空间,以便基于所述内存空间中的故障信息对所述内核的故障进行定位。
8.一种网络安全设备,包括:
一个或多个处理器;
存储介质,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至6中任一项所述的方法。
9.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至6中任一项所述的方法。
10.一种计算机程序产品,包括可执行指令,该指令被处理器执行时使处理器实现权利要求1至6中任一项所述的方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201911424835.9A CN111158945B (zh) | 2019-12-31 | 2019-12-31 | 内核故障处理方法、装置、网络安全设备和可读存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201911424835.9A CN111158945B (zh) | 2019-12-31 | 2019-12-31 | 内核故障处理方法、装置、网络安全设备和可读存储介质 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111158945A true CN111158945A (zh) | 2020-05-15 |
| CN111158945B CN111158945B (zh) | 2023-12-22 |
Family
ID=70560687
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201911424835.9A Active CN111158945B (zh) | 2019-12-31 | 2019-12-31 | 内核故障处理方法、装置、网络安全设备和可读存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN111158945B (zh) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113687971A (zh) * | 2021-08-24 | 2021-11-23 | 杭州迪普科技股份有限公司 | 内存映象文件的生成方法及装置 |
| CN113900914A (zh) * | 2020-06-22 | 2022-01-07 | 阿里巴巴集团控股有限公司 | 异常处理方法、装置、电子设备及计算机存储介质 |
| CN114706708A (zh) * | 2022-05-24 | 2022-07-05 | 北京拓林思软件有限公司 | 一种用于Linux操作系统的故障分析方法及系统 |
| CN115357424A (zh) * | 2022-08-19 | 2022-11-18 | 展讯通信(天津)有限公司 | 内存故障定位方法、装置及终端设备 |
| CN116882966A (zh) * | 2023-06-27 | 2023-10-13 | 广州慧云网络科技有限公司 | 一种运维设备巡检结果的故障判断方法和装置 |
| CN120929295A (zh) * | 2025-10-10 | 2025-11-11 | 北京开源芯片研究院 | 故障处理器核的寄存器数据处理方法、装置、设备及介质 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030120968A1 (en) * | 2001-08-31 | 2003-06-26 | Bull Hn Information Systems Inc. | Preserving dump capability after a fault-on-fault or related type failure in a fault tolerant computer system |
| CN102662785A (zh) * | 2012-04-12 | 2012-09-12 | 青岛海信移动通信技术股份有限公司 | 一种Android系统内核错误信息获取方法及装置 |
| CN104360939A (zh) * | 2014-10-29 | 2015-02-18 | 中国建设银行股份有限公司 | 定位故障的方法、设备及系统 |
| WO2017148271A1 (zh) * | 2016-03-04 | 2017-09-08 | 中兴通讯股份有限公司 | 一种Linux系统复位处理方法、装置及计算机存储介质 |
| CN107832166A (zh) * | 2017-11-27 | 2018-03-23 | 郑州云海信息技术有限公司 | 一种Linux服务器宕机故障分析系统及方法 |
| CN109426606A (zh) * | 2017-08-23 | 2019-03-05 | 东软集团股份有限公司 | 内核故障诊断信息处理方法、装置、存储介质及电子设备 |
-
2019
- 2019-12-31 CN CN201911424835.9A patent/CN111158945B/zh active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030120968A1 (en) * | 2001-08-31 | 2003-06-26 | Bull Hn Information Systems Inc. | Preserving dump capability after a fault-on-fault or related type failure in a fault tolerant computer system |
| CN102662785A (zh) * | 2012-04-12 | 2012-09-12 | 青岛海信移动通信技术股份有限公司 | 一种Android系统内核错误信息获取方法及装置 |
| CN104360939A (zh) * | 2014-10-29 | 2015-02-18 | 中国建设银行股份有限公司 | 定位故障的方法、设备及系统 |
| WO2017148271A1 (zh) * | 2016-03-04 | 2017-09-08 | 中兴通讯股份有限公司 | 一种Linux系统复位处理方法、装置及计算机存储介质 |
| CN109426606A (zh) * | 2017-08-23 | 2019-03-05 | 东软集团股份有限公司 | 内核故障诊断信息处理方法、装置、存储介质及电子设备 |
| CN107832166A (zh) * | 2017-11-27 | 2018-03-23 | 郑州云海信息技术有限公司 | 一种Linux服务器宕机故障分析系统及方法 |
Non-Patent Citations (3)
| Title |
|---|
| HAO ZHENG ET.AL.: ""Improving Virtual Machine Reliability with Driver Fault Isolation"", 《2013 14TH ACIS INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ARTIFICIAL INTELLIGENCE, NETWORKING AND PARALLEL/DISTRIBUTED COMPUTING》 * |
| 乔少明: ""龙芯多核处理器多线程故障恢复系统设计与实现"", 《中国优秀硕士学位论文全文数据库信息科技辑》, vol. 2017, no. 02, pages 137 - 58 * |
| 朱怡安;史佳龙;: "基于补偿回滚的操作系统故障自恢复技术", 西北工业大学学报, vol. 33, no. 05, pages 709 - 715 * |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113900914A (zh) * | 2020-06-22 | 2022-01-07 | 阿里巴巴集团控股有限公司 | 异常处理方法、装置、电子设备及计算机存储介质 |
| CN113900914B (zh) * | 2020-06-22 | 2025-08-22 | 阿里巴巴集团控股有限公司 | 异常处理方法、装置、电子设备及计算机存储介质 |
| CN113687971A (zh) * | 2021-08-24 | 2021-11-23 | 杭州迪普科技股份有限公司 | 内存映象文件的生成方法及装置 |
| CN114706708A (zh) * | 2022-05-24 | 2022-07-05 | 北京拓林思软件有限公司 | 一种用于Linux操作系统的故障分析方法及系统 |
| CN114706708B (zh) * | 2022-05-24 | 2022-08-30 | 北京拓林思软件有限公司 | 一种用于Linux操作系统的故障分析方法及系统 |
| CN115357424A (zh) * | 2022-08-19 | 2022-11-18 | 展讯通信(天津)有限公司 | 内存故障定位方法、装置及终端设备 |
| CN116882966A (zh) * | 2023-06-27 | 2023-10-13 | 广州慧云网络科技有限公司 | 一种运维设备巡检结果的故障判断方法和装置 |
| CN116882966B (zh) * | 2023-06-27 | 2024-04-19 | 广东慧云科技股份有限公司 | 一种运维设备巡检结果的故障判断方法和装置 |
| CN120929295A (zh) * | 2025-10-10 | 2025-11-11 | 北京开源芯片研究院 | 故障处理器核的寄存器数据处理方法、装置、设备及介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN111158945B (zh) | 2023-12-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111158945A (zh) | 内核故障处理方法、装置、网络安全设备和可读存储介质 | |
| US11392461B2 (en) | Method and apparatus for processing information | |
| TWI544328B (zh) | 用於經由背景虛擬機器的探測插入的方法及系統 | |
| US10067692B2 (en) | Method and apparatus for backing up and restoring cross-virtual machine application | |
| US10061651B2 (en) | System and method for hosting multiple recovery operating systems in memory | |
| JP6297715B2 (ja) | コンピューティングデバイスの初期化トレース | |
| US10802847B1 (en) | System and method for reproducing and resolving application errors | |
| US9954958B2 (en) | Shared resource management | |
| CN108304209B (zh) | 固件升级方法及固件升级系统 | |
| US11960366B2 (en) | Live migrating virtual machines to a target host upon fatal memory errors | |
| US9792168B2 (en) | System and method for cloud remediation of a client with a non-bootable storage medium | |
| CN118444987B (zh) | jailhouse non-root cell内部os重启方法、系统及存储介质 | |
| CN115934447A (zh) | 显示信息获取方法、装置、电子设备和存储介质 | |
| CN110633190A (zh) | 一种应用程序内存监控方法、装置、设备及存储介质 | |
| US9026777B2 (en) | Automatic update of persistent boot parameter storage | |
| CN119829098A (zh) | 固件集更新方法 | |
| CN111737088B (zh) | 日志获取方法和装置、电子设备、及介质 | |
| US8949588B1 (en) | Mobile telephone as bootstrap device | |
| CN114153503A (zh) | 一种bios控制方法、装置、介质 | |
| US9454485B2 (en) | Sharing local cache from a failover node | |
| CN111090546B (zh) | 一种操作系统重启方法、装置、设备及可读存储介质 | |
| CN108197041B (zh) | 一种确定子进程的父进程的方法、设备及其存储介质 | |
| JP2007133544A (ja) | 障害情報解析方法及びその実施装置 | |
| US20090259794A1 (en) | Serviceability level indicator processing for storage alteration | |
| US8171345B2 (en) | Disablement of an exception generating operation of a client system |
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 | ||
| CB02 | Change of applicant information | ||
| CB02 | Change of applicant information |
Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088 Applicant after: QAX Technology Group Inc. Applicant after: Qianxin Wangshen information technology (Beijing) Co.,Ltd. Address before: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088 Applicant before: QAX Technology Group Inc. Applicant before: LEGENDSEC INFORMATION TECHNOLOGY (BEIJING) Inc. |
|
| GR01 | Patent grant | ||
| GR01 | Patent grant |