本发明涉及通信领域和故障检测技术领域,具体涉及一种通信设备软件故障检测收集恢复方法和系统。
背景技术:
随着通信技术的不断发展,对通信设备(例如:路由器、交换机、综合接入设备)所承担的业务功能越来越复杂。在通信设备运行过程中,每个设备都有MTBF(Mean Time Between Failure,平均故障间隔时间)的指标要求。所述故障可分为硬件故障和软件故障。对于硬件故障,网络管理员可以通过观察设备上的报警灯,很容易判断故障原因,及时采取维修措施排除故障。对于软件故障,由于故障种类繁多,所以网络管理员很难判断出故障原因。
传统的通信设备软件故障收集,一般需要外界下指令或者命令,才进行故障信息收集。在用户现场环境下,用户为了快速恢复通信设备正常使用,一般情况对整机直接进行重启,从而导致不能收集到发生故障时的信息。另外,传统的软件故障收集,一般情况下,都是登陆到设备,查看设备各种运行信息、异常信息,容易出现遗漏,导致现场信息收集不完整。这些都给后期技术人员排查故障原因造成了极大的困难。
一方面,通信设备软件在运行过程中不可避免发生故障;另一方面,各行各业对于发生故障时的及时修复要求也随之提高。传统的恢复方法,一般是单一应用模块发生故障时,直接重启整机软件。而在分布式系统中,各个应用模块独立存在,独自完成不同的任务,当系统中任何一个模块出现故障时,都会引起整个软件系统重新启动,可能会导致严重的后果。
因此,在相关技术中存在实时故障检测水平低、故障信息不能自动收集、故障不能及时恢复的问题。
技术实现要素:
本发明的目的在于针对现有技术的不足,提供一种通信设备软件故障检测收集恢复方法和系统,该通信设备软件故障检测收集恢复方法和系统可以很好地解决上述问题。
为达到上述要求,本发明采取的技术方案是:提供一种通信设备软件故障检测收集恢复方法和系统,该通信设备软件故障检测收集恢复方法和系统包括应用模块故障的方法和单板系统软件故障检测的步骤;
应用模块故障检测的步骤如下:
通信设备单板实时对通信设备系统中的多个应用模块进行检测,检测应用模块是否出现故障;若是,对出现故障的应用模块进行故障信息收集;
收集应用模块故障时的信息、运行信息和读取网络处理器的一些关键寄存器状态;打包形成异常信息文件,保存到本地存储模块,并上传至预置的运营商服务器;
对出现故障的应用模块进行重启;
所述单板系统软件故障检测的步骤如下:
通信设备控制平面与单板实时保活;
检测单板系统软件是否出现异常;
若出现单板软件故障时,则对单板进行硬件复位。
该通信设备软件故障检测收集恢复系统包括:
故障检测模块,用于实时对通信设备系统中的多个应用模块进行检测,检测应用模块是否出现故障;
故障收集模块,用于应用模块出现故障时,收集应用模块的信息及读取网络处理器一些关键寄存器状态,打包形成异常信息文件;
故障恢复模块,用于应用模块出现故障时,对出现故障的应用模块进行重启;
故障存储模块,用于应用模块出现故障时,对收集到异常信息文件存储到本地存储,并上传至预设的运营商服务器;
机箱管理模块,用于单板系统软件故障检测,定时检测单板系统软件是否出现故障,对出现故障的单板进行重启。
该通信设备软件故障检测收集恢复方法和系统具有的优点如下:
本发明在通信设备发生应用模块故障和单板系统软件故障时,能快速感知故障,并收集足够多的异常信息,有利于故障后分析具体的原因,并自动恢复软件系统到正常运行状态,有效地缩短通信设备的故障时间。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,在这些附图中使用相同的参考标号来表示相同或相似的部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示意性地示出了根据本申请一个实施例的模块故障检测的方法流程图。
图2示意性地示出了根据本申请一个实施例的单板系统软件故障检测的步骤流程图。
图3示意性地示出了根据本申请一个实施例的应用模块故障检测、收集、恢复系统的结构框图。
图4示意性地示出了根据本申请一个实施例的单板系统软件故障检测、收集、恢复系统的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本申请作进一步地详细说明。
在以下描述中,对“一个实施例”、“实施例”、“一个示例”、“示例”等等的引用表明如此描述的实施例或示例可以包括特定特征、结构、特性、性质、元素或限度,但并非每个实施例或示例都必然包括特定特征、结构、特性、性质、元素或限度。另外,重复使用短语“根据本申请的一个实施例”虽然有可能是指代相同实施例,但并非必然指代相同的实施例。
为简单起见,以下描述中省略了本领域技术人员公知的某些技术特征。
根据本申请的一个实施例,提供一种通信设备软件故障检测收集恢复方法,如图1至图2所示,包括应用模块故障检测的步骤和单板系统软件故障检测的步骤;
所述应用模块故障检测的步骤如下:
通信设备单板实时对通信设备系统中的多个应用模块进行检测,检测应用模块是否出现故障;
若是,对出现故障的应用模块进行故障信息收集;
收集应用模块故障时的信息、运行信息和读取网络处理器的一些关键寄存器状态;
打包形成异常信息文件,保存到本地存储模块,并上传至预置的运营商服务器;
对出现故障的应用模块进行重启;
所述单板系统软件故障检测的步骤如下:
通信设备控制平面与单板实时保活;
检测单板系统软件是否出现异常;
若出现单板软件故障时,则对单板进行硬件复位。
根据本申请的一个实施例,该通信设备软件故障检测收集恢复方法的检测单板系统软件是否出现异常的步骤,具体如下:
通过通信设备单板的实时多任务系统预设检测任务,实时读取多任务系统中的应用模块状态;
通过所述的检测任务发现应用模块是否存在,若不存在的应用模块则出现故障;
若应用模块存在,所述的检测任务继续判断应用模块是否存在调度异常,
通过所述检测任务检测出预设时间内未能成功访问的应用模块,作为出现故障的应用模块;
通过所述检测任务依次创建故障信息收集任务和故障重启任务。
根据本申请的一个实施例,该通信设备软件故障检测收集恢复方法的出现故障的检测任务继续判断应用模块是否存在调度异常的步骤,具体如下:
通过所述故障信息收集任务收集应用模块故障时的信息;
通过所述故障信息收集任务收集应用模块运行的信息;
通过所述故障信息收集任务收集网络处理器一些关键寄存器状态;
通过所述故障信息收集任务对收集到的信息打包成异常信息文件,所述异常信息文件名以特定名字加时间信息命名;
通过所述故障信息收集任务创建故障存储任务;
所述出现故障的创建故障重启任务的步骤,具体如下:
通过所述故障重启任务释放出现故障的应用模块所占资源;
通过所述故障重启任务重启出现故障的应用模块;
所述通过所述故障信息收集任务创建故障存储任务的步骤,具体如下:
计算异常信息文件的大小;
计算本地存储剩余空间的大小;
判断本地存储剩余空间的大小是否小于异常信息文件大小;
若是,根据异常信息文件名的时间信息排序,先删除旧的异常信息文件;
本地存储完毕之后,检查异常信息文件数目,是否超过预设的最大异常信息文件数目;
若是,删除一个旧的异常信息文件;
若预设远端故障服务器,将异常信息文件发送至远端服务器。
根据本申请的一个实施例,该通信设备软件故障检测收集恢复方法的单板系统软件故障检测的步骤,还包括以下步骤:
通过所述通信设备控制平面预设机箱管理任务,与其他单板的机箱管理任务建立连接;
单板的机箱管理任务发送保活报文到控制平面;
控制平面机箱管理任务在预设时间内未收到某单板的保活报文,则此单板的系统软件出现故障;
收集故障单板相关的运行信息、配置信息;
对出现故障的单板进行重启。
根据本申请的一个实施例,如图3至图4所示,该通信设备软件故障检测收集恢复系统包括:
故障检测模块,用于实时对通信设备系统中的多个应用模块进行检测,检测应用模块是否出现故障;
故障收集模块,用于应用模块出现故障时,收集应用模块的信息及读取网络处理器一些关键寄存器状态,打包形成异常信息文件;
故障恢复模块,用于应用模块出现故障时,对出现故障的应用模块进行重启;
故障存储模块,用于应用模块出现故障时,对收集到异常信息文件存储到本地存储,并上传至预设的运营商服务器;
机箱管理模块,用于单板系统软件故障检测,定时检测单板系统软件是否出现故障,对出现故障的单板进行重启。
根据本申请的一个实施例,该通信设备软件故障检测收集恢复系统的故障检测模块包括:
第一检测单元,用于通过所述预设的检测任务,实时读取实时多任务系统中的应用模块状态,检测出已经出现故障的应用模块;
第二检测单元,用于通过所述预设的检测任务,检测出预设时间内未能成功访问的应用模块,作为出现故障的应用模块。
根据本申请的一个实施例,该通信设备软件故障检测收集恢复系统的故障检收集模块包括:
第一收集单元,用于通过所述预设的故障收集任务,收集应用模块故障时的信息;
第二收集单元,用于通过所述预设的故障收集任务,收集应用模块故障的运行信息;
第三收集单元,用于通过所述预设的故障收集任务,收集网络处理器一些关键寄存器状态;
第四收集单元,用于通过所述预设的故障收集任务,对收集到异常信息打包成文件,所述异常信息文件名以特定名字加时间信息命名。
根据本申请的一个实施例,该通信设备软件故障检测收集恢复系统的故障存储模块包括:
第一存储单元,用于计算异常信息文件的大小;
第二存储单元,用于计算本地存储剩余空间的大小;
第三存储单元,用于判断本地存储剩余空间的大小是否小于异常信息文件大小;若是,根据异常信息文件名的时间信息排序,先删除旧的异常信息文件;
第四存储单元,用于本地存储完毕之后,检查异常信息文件数目,是否超过预设的最大异常信息文件数目;若是,删除一个旧的异常信息文件;
第五存储单元,若预设远端故障服务器,将异常信息文件发送至远端服务器。
根据本申请的一个实施例,该通信设备软件故障检测收集恢复系统的故障恢复模块包括:
第一恢复单元,用于释放出现故障的应用模块所占资源;
第一恢复单元,用于重启出现故障的应用模块。
根据本申请的一个实施例,该通信设备软件故障检测收集恢复系统的机箱管理模块分为主控机箱管理模块和单板机箱管理模块,所述主控机箱管理模块包括:
第一机箱管理单元,用于通过所述通信设备控制平面预设机箱管理任务,与其他单板的机箱管理任务建立连接;
第二机箱管理单元,用于控制平面机箱管理任务接收其他单板保活报文;
第三机箱管理单元,用于在预设时间内提取未接收保活报文的单板,作为出现故障的单板;
第四机箱管理单元,用于收集故障单板的配置信息和运行信息,保存并上至预置的运营商服务器。运营商服务器需要预先设置,若没有设置,则不上传;
第五机箱管理重启单元,用于对出现异常的单板进行重启,恢复单板系统软件至正常工作状态;
单板机箱管理模块用于通过单板的机箱管理任务与控制平面的机箱管理任务建立连接,定时发送保活报文到控制平面。
应用模块故障的检测、收集、恢复方法如图1所示,该流程包括如下步骤:
步骤S110:通信设备单板实时对通信设备系统中的多个应用模块进行检测,检测应用模块是否出现故障。具体到本实施例中,步骤S110包括步骤S111和步骤S112。
步骤S111:通过所述通信设备单板的实时多任务系统预设检测任务,实时读取操作系统中的应用模块状态,监控各应用模块的运行情况,当检测到某一应用模块不存在时,则可判断为此应用模块运行出现故障。若检测到应用模块出现故障,则执行步骤S120;若否,继续执行步骤S112。
步骤S112:通过所述通信设备单板的实时多任务系统预设检测任务,判断应用模块是否存在调度异常。预设时间内未能成功访问的应用模块,则可判断为此应用模块出现调度异常故障。预设时间可以根据实际情况调整。若检测到应用模块出现调度异常故障,则执行步骤S120;若否,返回步骤110,继续对应用模块检测。
步骤S120:对出现故障的应用模块进行故障信息收集。若检测应用模块出现故障,通过预设故障收集任务对出现故障的应用模块进行故障信息收集。自动收集足够多的故障信息,便于后续开发人员分析、定位到根本的故障原因。具体到本实施例中,步骤S120包括以下步骤:
步骤S121:收集故障时的信息,例如模块进程挂起的调用栈信息、模块进程调度异常时的调用栈信息、操作系统内核运行信息、操作系统内存使用情况;
步骤S122:收集故障的应用模块的运行信息;
步骤S123:收集及关联的应用模块的运行信息;
步骤S124:收集网络处理器一些关键寄存器状态;
步骤S125:对收集到的信息打包成异常信息文件,异常信息文件名以固定名称加上时间信息命名。
步骤S130:对收集到的异常信息文件进行故障信息存储。通信设备本地存储空间有限,不能无限地存储所有异常信息文件,因此需要对故障异常信息文件进行有效的存储,具体到本实施例中,步骤S130包括以下步骤:
步骤S131:计算异常信息文件的大小;
步骤S132:计算本地存储剩余空间的大小;
步骤S133:判断本地存储剩余空间的大小是否小于异常信息文件大小;若是,根据异常信息文件名的时间信息排序,先删除旧的异常信息文件;
步骤S134:本地存储完毕之后,检查异常信息文件数目,是否超过预设的最大异常信息文件数目;若是,删除一个旧的异常信息文件;
步骤S135:若预设远端故障服务器,将异常信息文件发送至远端服务器。
步骤S140:对出现故障的应用模块进行故障恢复。若检测应用模块出现故障,通过预设故障重启任务对出现故障的应用模块进行,恢复软件系统到正常运行。具体到本实施中,步骤S140包括以下步骤:
步骤S141:通过所述故障重启任务释放出现故障的应用模块所占资源;
步骤S142:通过所述故障重启任务重启出现故障的应用模块。
在本实施例,通信设备转发单板承担的转发功能,其业务功能多、转发逻辑复杂,容易出现单板系统软件整体异常。对单板系统软件故障的检测、收集、恢复方法如图2所示,该流程包括如下步骤:
步骤S150:通过所述通信设备控制平面预设机箱管理任务,与其他单板的机箱管理任务建立连接;
步骤S160:单板系统软件的机箱管理任务发送定时保活报文到控制平面,控制平面机箱管理任务定时检查在预设时间内未收到某单板的保活报文,则检查出单板系统软件出现异常。定时发送保活报文的间隔可根据实际情况调整,预设时间一般为定时发送保活报文的间隔2倍及以上;
步骤S170:收集故障单板的配置信息和运行信息,保存并上传至预置的运营商服务器。运营商服务器需要预先设置,若没有设置,则不上传;
步骤S180:对出现故障的单板进行重启,恢复其正常工作。
本发明实施例所提供的一种基于分布式系统的通信设备软件故障检测、故障收集、恢复方法,所述的通信设备软件故障,包括应用模块故障和单板系统软件故障。对于应用模块故障的检测,通信设备单板实时对通信设备系统中的多个应用模块进行检测,检测应用模块是否出现故障;若是出现故障时,收集故障信息,打包形成异常信息文件,先保存到本地存储模块,并上传至事先预置的运营商服务器;并对出现故障的应用模块进行重启。对于单板系统软件故障的检测,通信设备控制平面与单板实时保活,检测单板系统软件是否出现异常,出现单板软件故障时,对单板系统软件进行重启。本发明在通信设备发生应用模块故障和单板系统软件故障时,能快速感知故障,自动收集足够多的故障信息,有利于故障后分析具体的原因,并自动恢复软件系统到正常运行状态,有效地缩短通信设备的故障时间。
本发明提供了一种通信设备软件故障检测、收集、恢复的方法和系统系统,所述的通信设备软件故障,包括应用模块故障和单板系统软件故障。
对应用模块故障的检测、收集、恢复系统如图3所示,上述系统包括:故障检测模块110、故障收集模块120、故障存储模块130、故障恢复模块140。
故障检测模块110,用于实时对通信设备系统中的多个应用模块进行检测,检测应用模块是否出现故障。具体到本实施例中,故障检测模块110包括第一检测单元和第二检测单元。
第一检测单元,用于通过所述预设的检测任务,实时读取实时多任务系统中的应用模块状态,当检测到某一应用模块不存在时,则可判断为此应用模块运行出现故障;
第二检测单元,用于通过所述预设的检测任务,判断应用模块是否存在调度异常。预设时间内未能成功访问的应用模块,则可判断为此应用模块出现调度异常故障。
故障收集模块120,用于应用模块出现故障时,收集应用模块的信息及读取网络处理器一些关键寄存器状态,打包形成异常信息文件。自动收集足够多的故障信息,便于后续开发人员分析、定位到根本的故障原因。具体到本实施例中,故障收集模块120包括四个收集单元。
第一收集单元,用于通过所述预设的故障收集任务,收集应用模块故障时的异常信息。例如模块进程挂起的调用栈信息、模块进程调度异常时的调用栈信息、操作系统内核运行信息、操作系统内存使用情况;
第二收集单元,用于通过所述预设的故障收集任务,收集应用模块故障的运行信息;
第三收集单元,用于通过所述预设的故障收集任务,收集网络处理器一些关键寄存器状态;
第四收集单元,用于通过所述预设的故障收集任务,对收集到异常信息打包成文件,所述异常信息文件名以特定名字加时间信息命名。
故障存储模块130,用于应用模块出现故障时,对收集到异常信息文件存储到本地存储,并上传至预设的运营商服务器。通信设备本地存储空间有限,不能无限地存储所有异常信息文件,因此需要对故障异常信息文件进行有效的存储,具体到本实施例中,故障存储模块130包括五个存储单元。
第一存储单元,用于计算异常信息文件的大小;
第二存储单元,用于计算本地存储剩余空间的大小;
第三存储单元,用于判断本地存储剩余空间的大小是否小于异常信息文件大小;若是,根据异常信息文件名的时间信息排序,先删除旧的异常信息文件;
第四存储单元,用于本地存储完毕之后,检查异常信息文件数目,是否超过预设的最大异常信息文件数目;若是,删除一个旧的异常信息文件;
第五存储单元,若预设远端故障服务器,将异常信息文件发送至远端服务器。
故障恢复模块140,用于应用模块出现故障时,对出现故障的应用模块进行重启,恢复应用模块到正常工作状态。具体到本实施例中,故障恢复模块140包括第一恢复单元和第二恢复单元。
第一恢复单元,用于释放出现故障的应用模块所占资源;
第一恢复单元,用于重启出现故障的应用模块。
对单板系统软件故障的检测、收集、恢复系统如图4所示,上述系统包括:主控机箱管理模块150和单板机箱管理模块160。
主控机箱管理模块150,用于单板系统软件故障检测,定时检测单板系统软件是否出现故障,对出现故障的单板进行重启。具体到本实施例中,主控机箱管理模块150包括五个机箱管理单元。
第一机箱管理单元,用于通过所述通信设备控制平面预设机箱管理任务,与其他单板的机箱管理任务建立连接;
第二机箱管理单元,用于控制平面机箱管理任务接收其他单板保活报文;
第三机箱管理单元,用于在预设时间内提取未接收保活报文的单板,作为出现故障的单板;
第四机箱管理单元,用于收集故障单板的配置信息和运行信息,保存并上传至预置的运营商服务器。运营商服务器需要预先设置,若没有设置,则不上传;
第五机箱管理重启单元,用于对出现异常的单板进行重启,恢复单板系统软件至正常工作状态。
单板机箱管理模块160,用于通过单板的机箱管理任务与控制平面的机箱管理任务建立连接,定时发送保活报文到控制平面。
本发明实施例所提供的一种基于分布式系统的通信设备软件故障检测、故障收集、恢复系统,所述的通信设备软件故障,包括应用模块故障和单板系统软件故障。对于应用模块故障的检测,通信设备单板实时对通信设备系统中的多个应用模块进行检测,检测应用模块是否出现故障;若是出现故障时,收集故障信息,打包形成异常信息文件,先保存到本地存储模块,并上传至事先预置的运营商服务器;并对出现故障的应用模块进行重启。对于单板系统软件故障的检测,通信设备控制平面与单板实时保活,检测单板系统软件是否出现异常,出现单板软件故障时,对单板系统软件进行重启。本发明在通信设备发生应用模块故障和单板系统软件故障时,能快速感知故障,自动收集足够多的故障信息,有利于故障后分析具体的原因,并自动恢复软件系统到正常运行状态,有效地缩短通信设备的故障时间。
通过该通信设备软件故障检测收集恢复方法和系统,通信设备单板实时对通信设备系统中的多个应用模块进行检测,检测应用模块是否出现故障,出现故障时,自动收集应用模块故障时的信息、运行信息和读取网络处理器一些关键寄存器状态,打包形成异常信息文件,保存到本地存储模块,并上传给事先预置的运营商服务器,对出现故障的应用模块进行重启。通信设备控制平面的机箱管理模块与单板机箱管理模块实时保活,检测单板系统软件是否出现异常,出现单板软件故障时,对单板进行硬件复位,恢复单板正常工作。
以上所述实施例仅表示本发明的几种实施方式,其描述较为具体和详细,但并不能理解为对本发明范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明保护范围。因此本发明的保护范围应该以所述权利要求为准。