一种用于通信系统的基于自陷保护与调试装置的制作方法

文档序号:7923883阅读:267来源:国知局
专利名称:一种用于通信系统的基于自陷保护与调试装置的制作方法
技术领域
本发明涉及一种用于通信系统的基于自陷保护与调试装置背景技术
现有通信系统的设计都是基于商用的开发平台,而这些商用的开发平台对各种系统中的异常情况一般只提供一些和平台相关报错信息。虽然该商用平台可以为系统平台的故障检测、恢复以及故障调试诊断等提供方便,但是依靠这点信息很难对大型控制系统中的bug(差错),尤其是OS(操作系统)和应用级别bug(差错)进行定位分析、调试,因此常常会出现非平台相关的错误不可控的情况,而在实际的系统中这种类型的错误又是很难避免的,尤其是对大型的复杂的通信系统而言更是如此。此外,通用的具有高可靠性保护机制的OS(操作系统),虽然可以满足热备份、重启恢复等系统保护功能的需要,但是正因为这种通用性,不可避免的带来了系统正常工作时保护负荷过大,恢复时间较长的缺点,这对于专用的对实时性要求较高的通信系统而言,显得较为笨重,甚至是满足不了需要的。

发明内容本发明的目的在于提供一种用于通信系统的基于自陷保护与调试装置,从而提高系统的自我监测能力及故障恢复功能,在系统出现故障时能按照不同情况采取相应措施,将损失降至最低,而且还能为开发、维护人员提供更多实用的出错信息。
本发明所提供的一种用于通信系统的基于自陷保护与调试装置,基于该通信系统主处理器的系统控制模块和若干应用程序模块,其特征在于它包括一个与主处理器的系统控制模块相连的异常处理模块、若干个在各个应用程序模块中一一设置的检测点单元,所述的异常处理模块由异常检测与分析单元、自陷单元、心跳检测单元、异常信息保存单元和与所述各单元分别相连的接口单元所组成,其中接口单元,完成系统控制命令的接收和结果的返回,对应用程序模块中对应检测点单元发布命令以及接收检测点向异常处理模块发送的报告;心跳检测单元,是基于系统定时或者基于处理器硬件特征在满足触发条件的情况下,主动检查相关处理器中各个任务模块的状态,并审计系统中的关键资源,如内存资源、定时器资源、资源竞争死锁;自陷单元,是当处理器满足一定的条件后,终止所有其余任务的执行,进入一种安全模式的自陷状态,等待人机命令的干预,在此状态下还可完成异常信息的存储和系统恢复;或者是当进入自陷状态后,完成必要的任务,如保存异常信息后,再根据系统策略,自动恢复或执行复位操作;异常检测与分析单元,是根据系统预先定义的策略、收集各个应用任务的异常检测信息并进行分析、获取心跳检测单元的输入后,再进行综合分析后,向系统控制模块提交报告,从而对系统或处理器发布命令;在其收到各个应用程序模块的错误检测和任务报警后,根据错误的严重程度,做出操作决定;以及异常信息保存单元,完成异常信息的保存,特别是出错时的现场信息;又所述的检测点单元,用于完成收集所述的应用程序模块中的所有关键信息和异常事件,并按照策略进行自动检查,以确定该应用程序模块是否处于正常状态,并向异常处理模块进行报告。
采用上述的技术解决方案,在通信系统的主处理器的系统控制模块上连接有一个异常处理模块,并在多个应用程序模块中设计了相应的检查点单元,使得在系统正常运行负荷不超过70%的情况下,系统工作的很好,并且对于系统中备份模块的切换没有任何影响,对于系统的调试和潜在错误的发现,具有重大的意义。同时,系统在长期运行过程中,一些平时不易发现的问题,也能找到相应的调试手段;在这些不易发现的错误发生时,还可以根据事先定义的策略,进行自动恢复,以降低整个系统的中断服务时间比。


本发明基于自陷保护与调试装置的结构框图。
具体实施方式
如图1所示,本发明在通信系统主处理器的驱动程序和应用层中设有一个异常处理模块1,以支持系统处理器的异常检测、异常处理、异常恢复、异常策略控制、异常信息存储等功能;在各个应用程序模块4中,设有一个检测点单元2,用于支持异常检测和异常恢复。通过异常处理模块1、应用程序模块中检测点单元2、系统控制模块3共同完成系统软件的保护,并通过外部调试环境等模块协作,以完成软件系统的调试,从而降低系统服务故障时间,提高稳定性。
异常处理模块1由接口单元15、异常检测与分析单元12、自陷单元13、心跳检测单元11、异常信息保存单元14所组成。其中接口单元15,完成系统控制命令的接收和结果的返回,对应用程序模块4中对应检测点单元2发布命令以及接收检测点向异常处理模块发送的报告;心跳检测单元11,是基于系统定时或者基于处理器硬件特征在满足触发条件的情况下,主动检查相关处理器中各个任务模块的状态,并审计系统中的关键资源,如内存资源、定时器资源、资源竞争死锁;自陷单元13,是当处理器满足一定的条件后,终止所有其余任务的执行,进入一种安全模式的自陷状态,等待人机命令的干预,在此状态下还可完成异常信息的存储和系统恢复;或者是当进入自陷状态后,完成必要的任务,如保存异常信息后,再根据系统策略,自动恢复或执行复位操作。系统进入自陷软件的条件由异常模块静态或者动态设置,比如将条件设置为某个级别的严重错误发生、多少个错误发生;异常检测与分析单元12,是根据系统预先定义的策略、收集各个应用任务的异常检测信息并进行分析、获取心跳检测单元11的输入后,再进行综合分析后,向系统控制模块3提交报告,从而对系统或处理器发布命令。在其收到各个应用程序模块的错误检测和任务报警后,主要根据错误的严重程度,决定需要进行何种操作,如向系统级总控报警或对该模块进行复位和重启;异常信息保存单元14,是按照系统定义的策略,完成异常信息的保存,特别是出错时的现场信息,而且是保存在闪存或者某些半擦除快速存储器件中,以备系统异常问题的深入调查。
检测点单元2,位于应用程序模块中,同异常处理模块1一起,共同完成系统的陷入保护。该单元主要完成收集该应用程序模块4中的所有关键信息和异常事件,并按照某种策略进行自动检查,以确定该应用程序模块4是否处于正常状态,如果不正常,还需要向异常处理模块1进行报告。对于正常的状态,也是按照某种策略进行定时或者非定时的报告。
此外,在大型通信系统中,一般都有系统控制模块3,它负责接收异常处理模块1的报告,确定异常处理策略,并按照策略将相关信息提交到监控台;以及接收监控台的命令,并转发给相应的执行模块;还进行整个系统的控制等。
本发明在异常处理模块1、系统控制模块3、若干应用程序模块4和其检测点模块2的共同协作下,组成了一个具有安全保护的系统软件;并可以在系统外部监控台和其调试软件的配合下,共同完成了系统软件的调试,特别是系统在临界状态、复位状态、死锁和难以预料的非法状态下的现场环境信息的记录和调试。
本发明基于自陷保护与调试装置用于WCDMA NodeB(宽带码分多址基站)的环境,其中整个环境包含了一个完整的NodeB(基站)系统和监控调试台。在NodeB(基站)系统中,包含了一块系统控制单盘和一块业务处理单盘,每个单盘上都有一个MPC860(美国摩托罗拉公司生产的一种处理器芯片)处理器,单盘之间通过工业总线相连,可以实时交互信息。系统与监控台之间通过以太网相连,并连到控制单盘的处理器上。
主处理器上除了原有的控制和逻辑任务模块外,增加了一个异常处理模块1。业务处理器上原有多个应用任务,我们在Iub(基站与基站控制器之间接口)接口信令处理任务、网管代理任务中分别按照其任务的具体内容增加了检测点单元2,检测点单元2将根据任务状态转移、错误发生产生报告,发送到异常处理模块1。检测点单元2和异常处理模块1一起共同完成系统的陷入保护,这里有两个于检测点收集有关的关键问题收集什么信息(即检测点的内容)和怎么去收集这些信息。对于这两个关键问题可以提供多种实施的策略,在本系统中采用了如下的策略。对于收集什么信息(即检测点的内容)的问题,在系统中采用了“应用进程相关的检测点函数”的策略,为不同的应用任务,根据其功能和重要性的不同分别设计了不同的检测点收集函数,而不是对所有任务采用系统的内存保存方法,这样可以在给系统增加最小负荷的前提下完成所需应用状态数据的收集和存储,从而支持在故障影响系统或板子需要重启时可以获取故障前重要的状态数据。对于怎么去收集这些信息的问题,方法如下在系统中存在一个优先级较高的检测点收集/恢复模块,定时的通过向所有进程的消息队列中发送一个检测点请求(放到进程消息队列头),具有全局唯一的检测点标识(老检测点标识加1),进程接收到检测点请求后,设置一个“准备的检测点”,暂停与其他进程的交互,并向检测点收集模块返回检测点收集应答,当检测点收集模块收集到所有进程的应答消息,向所有进程发检测点提交消息(放到进程消息队列头),此时进程用“准备的检测点”替代老的检测点,并继续与其他进程间的交互。当检测点设置好后,清除检测点前所有的“决定因素”的历史记录(即所有标识小于检查点标识的历史),并记录新的“决定因素”一每个进程接收的消息以及发送消息的内容。当某个进程检测到错误发生,必须退回到最近的一个检测点,重新执行“决定因素”的历史记录,回到错误发生前的状态。
异常处理模块1中包含了五个子单元模块心跳检测单元11、异常检测与分析单元12、自陷单元13、异常信息保存单元14、接口单元15等。心跳检测单元11进行定时监控,以发现主处理器和从处理器的内存资源问题,如果产生异常,则报告给异常处理模块1,这里涉及心跳检测的策略,我们的策略如下由于通信软件每个任务的内部皆是循环检测消息、处理消息,因此对任务运行情况的检测采用消息驱动的方式,即定时向各任务发送心跳信息,如果连续数次检测模块没有收到应答的话,则可认为此任务进入死循环,需通知错误处理模块进行处理以判断是否发生故障。同时故障检测模块还可定期对每个执行任务的代码段进行校验和计算,防止对误操作引起的代码段改变。;接口单元15完成主处理器中异常处理模块1与外界的通信,包括与控制台、检测点单元2之间的通信;异常信息保存单元14和异常检测与分析单元12和自陷单元13间存在调用关系,以完成异常检测与分析单元12和自陷单元13与闪存间必要的信息的交互;自陷单元13则设计成实模式,当系统发生了严重错误后,产生一个中断0,从而陷入到整个程序中,进行一些调试、恢复和复位工作。异常检测和分析单元12则负责接收所有的异常报告和控制台的命令,并产生相应的命令。异常处理模块1和检测点单元2一起共同完成系统的陷入保护,异常处理模块1从检测点单元2收集到的检测点信息为各个进程对应任务的关键数据信息和异常信息,在一定时间后(可以是别的条件),这些信息将存储在非易失性记忆体中如闪存、磁盘等。当错误处理模块决定对系统和某个进程进行恢复时,也将通过异常处理模块1和检测点单元2共同完成。出错模块对各出错信息的处理采用分级的方式,对完全需要重启的任务需先将其从内存清出,然后从ROM(只读内存)装入新的可执行代码,对一般性的错误只需恢复检测点保存的数据即可。另外系统外控制台与主处理器相连,其提供的人机交互功能可以直接将控制命令发送给异常处理模块1,而异常处理模块1上的信息也可以发送给控制台上。
系统运行时,网管代理应用程序发生一般异常时,应用程序可以通过检测点单元2将信息发送到异常处理模块1中,异常处理模块1则命令网管代理应用程序切换到前一个状态;心跳检测单元11发现严重错误时,它将通知异常处理模块1,并能记录到闪存中;控制台通过命令可以命令某个应用程序复位、回到前面的状态、系统进入陷入调试状态、查看闪存中的异常信息等。
权利要求
1.一种用于通信系统的基于自陷保护与调试装置,基于该通信系统主处理器的系统控制模块和若干应用程序模块,其特征在于它包括一个与主处理器的系统控制模块相连的异常处理模块、若干个在各个应用程序模块中一一设置的检测点单元,所述的异常处理模块由异常检测与分析单元、自陷单元、心跳检测单元、异常信息保存单元和与所述各单元分别相连的接口单元所组成,其中接口单元,完成系统控制命令的接收和结果的返回,对应用程序模块中对应检测点单元发布命令以及接收检测点向异常处理模块发送的报告;心跳检测单元,是基于系统定时或者基于处理器硬件特征在满足触发条件的情况下,主动检查相关处理器中各个任务模块的状态,并审计系统中的关键资源,如内存资源、定时器资源、资源竞争死锁;自陷单元,是当处理器满足一定的条件后,终止所有其余任务的执行,进入一种安全模式的自陷状态,等待人机命令的干预,在此状态下还可完成异常信息的存储和系统恢复;或者是当进入自陷状态后,完成必要的任务,如保存异常信息后,再根据系统策略,自动恢复或执行复位操作;异常检测与分析单元,是根据系统预先定义的策略、收集各个应用任务的异常检测信息并进行分析、获取心跳检测单元的输入后,再进行综合分析后,向系统控制模块提交报告,从而对系统或处理器发布命令;在其收到各个应用程序模块的错误检测和任务报警后,根据错误的严重程度,做出操作决定;以及异常信息保存单元,完成异常信息的保存,特别是出错时的现场信息;又所述的检测点单元,用于完成收集所述的应用程序模块中的所有关键信息和异常事件,并按照策略进行自动检查,以确定该应用程序模块是否处于正常状态,并向异常处理模块进行报告。
全文摘要
一种用于通信系统的基于自陷保护与调试装置,在通信系统主处理器的系统控制模块中设有一个异常处理模块,以支持系统处理器的异常检测、异常处理、异常恢复、异常策略控制、异常信息存储等功能;在各个应用程序模块中设有一个检测点单元,用于支持异常检测和异常恢复。通过本发明,使得系统正常运行负荷不超过70%的情况下工作很好,并且对于系统中备份模块的切换没有任何影响,对于系统的调试和潜在错误的发现,具有重大的意义。同时,系统在长期运行过程中,一些平时不易发现的问题,也能找到相应的调试手段;在这些不易发现的错误发生时,还可以根据事先定义的策略,进行自动恢复,以降低整个系统的中断服务时间比。
文档编号H04B17/00GK1477801SQ0213656
公开日2004年2月25日 申请日期2002年8月19日 优先权日2002年8月19日
发明者程煜明, 张建林, 樊迅, 孙金梁, 季利军 申请人:上海贝尔有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1