一种数据平面异常检测的方法和装置制造方法及图纸

技术编号:7917559 阅读:187 留言:0更新日期:2012-10-25 02:24
本发明专利技术公开了一种数据平面异常检测的实现方法和装置。在控制平面上启用一个定时器进程,定时检测各个数据平面核共享内存中记录的运行标识位和时间戳。在定时检测时,先判断各个数据平面核是否在运行,如果在运行,进一步判断当前时间和前述共享内存中记录的该数据平面核的时间戳的差值是否大于设定的时间阈值,如果大于设定的时间阈值,则判断所述数据平面核已经挂死,保存该数据平面核的当前寄存器和内存中缓存的信息,同时重新启动该数据平面核或者数据平面整个CPU系统。

【技术实现步骤摘要】

本专利技术涉及多核处理系统
,尤指多核处理系统中的数据平面异常检测的实现方法和装置。
技术介绍
目前,在多核网络通信设备中,通常采用数据平面和控制平面分离的一种非对称处理结构。即控制平面运行在一个或多个CPU上,并且运行一个完整的嵌入式操作系统,有完整的多任务管理、中断管理、时间管理和定时器管理等等;数据平面运行在其他的CPU上,没有操作系统或者是提供了很简单的资源管理,通常只是做简单的数据流处理和转发 工作。为了防止出现挂死现象,在控制平面上通常设有硬件看门狗(Watchdog)模块,用以检测控制平面是否出现异常情况,当控制平面出现异常时,则重新启动该控制平面,因而可以保证控制平面不会出现挂死的情况。然而,由于数据平面上缺少类似控制平面上的看门狗模块来定期检测数据平面的异常,如果数据平面进入死循环或者访问非法内存时,则会导致数据平面挂死,进而影响数据流的转发和处理。
技术实现思路
有鉴于此,本专利技术提供了一种数据平面异常检测的方法和装置,通过在控制平面上启动一个定时器进程定时对各个数据平面核的运行状态和时间戳进行检测,进而防止数据平面核挂死不转发或不处理数据的情况。为达到上述目的,本专利技术的技术方案具体是这样实现的一种数据平面异常检测的装置,应用于由控制平面模块和数据平面模块组成的多核处理系统中,其中所述控制平面模块进一步包括定时器模块,用以定时检测各个数据平面核共享内存中记录的运行标识位和时间戳,在定时检测时,所述定时器模块先判断各个数据平面核是否在运行,如果在运行,进一步判断当前时间和共享内存中记录的该数据平面核的时间戳之间的差值是否大于设定的时间阈值,如果大于设定的时间阈值,则判断所述数据平面核已经挂死,保存该数据平面核的当前寄存器和内存中缓存的信息,同时重新启动该数据平面核或者数据平面模块上的整个CPU系统。本专利技术还公开了一种数据平面异常检测的方法,应用于包括数据平面和控制平面的多核处理系统中,其中所述控制平面包括一定时器模块,其中所述方法包括步骤501、设定确认数据平面核挂死的时间阈值以及控制平面定时器模块检测数据平面核的检测时间,并启动所述控制平面定时器模块;步骤502、控制平面定时器模块按照设定的检测时间定时对数据平面核进行检测;步骤503、判断当前时间和共享内存中记录的该数据平面核的时间戳的差值是否大于设定的时间阈值,如果大于设定的时间阈值,则进入步骤504,否则返回步骤502 ;步骤504,确认所述数据平面核已经挂死,保存该数据平面核的当前寄存器和内存中缓存的信息,重新启动该数据平面核或数据平面整个CPU系统后返回步骤502。由上述技术方案可见,本专利技术通过在控制平面上启动一个定时器进程定时对各个数据平面核的运行状态和时间戳进行检测,一旦当前时间与处于运行状态的数据平面核的时间戳之间的差值大于设定的时间阈值,则判断该数据平面核异常,保存该数据平面核的当前寄存器和内存中缓存的信息后,对该数据平面核或数据平面整个CPU系统进行重启。通过本专利技术,可以有效地防止数据平面核挂死不转发或不处理数据的情况。附图说明图I是现有技术多核处理系统的装置示意图;图2是现有技术数据平面处理数据的方法流程图;图3是本专利技术实施例提供的数据平面异常检测的装置结构图; 图4是本专利技术实施例数据平面和控制平面共享一段物理内存的示意图;图5是本专利技术实施例提供的一种数据平面异常检测的方法流程图;图6是本专利技术某一具体应用场景下数据平面处理数据的方法流程图。具体实施例方式为了实现本专利技术目的,本专利技术采用的核心思想为在控制平面上启用一个定时器进程,定时检测各个数据平面核共享内存中缓存的运行标识位和时间戳。在定时检测时,先判断各个数据平面核是否在运行,如果在运行,进一步判断当前时间和前述共享内存中记录的该数据平面核的时间戳的差值是否大于设定的时间阈值,如果大于设定的时间阈值,则判断所述数据平面核已经挂死,保存该数据平面核的当前寄存器和内存中缓存的信息,同时重新启动该数据平面核或者数据平面整个CPU系统。为了更加清楚和明白,以下结合实施例对本专利技术技术方案进行详细说明。在介绍本专利技术实施例之前,先简单地介绍一下现有技术数据平面核处理数据的流程图。如图I和图2所示,分别为现有技术多核处理系统的装置示意图和数据平面处理数据的流程图。如图I所示,所述现有技术多核处理系统包括数据平面模块和控制平面模块,其中所述控制平面模块上进一步包括防止该控制平面挂死的看门狗模块。当数据平面转发和处理数据时,其处理数据的流程如图2所示。步骤201,数据平面模块启动数据处理线程;步骤202,数据平面模块判断待处理的数据消息队列是否为空,如果为空,则进行步骤203,否则进入步骤204 ;步骤203,调用数据平面模块中CPU消息等待处理,同时进入到休眠状态;本步骤中,CUP消息是一个CPU的特殊指令,当前述数据消息队列为空时,该CPU消息指令会让CPU进入到休眠状态,直到新的消息队列出现把他唤醒,当然,实际过程中,软件有时也把它封装为函数。步骤204,数据平面模块读取待处理的消息队列内容;步骤205,数据平面模块判断待处理的消息是否正确,如果正确,则进入步骤206,否则进入步骤207 ;由于错误的消息是不正确的数据报文,如果处理起来可能会导致系统崩溃,因此,此步骤数据平面模块必须要先判断待处理的消息是否正确。步骤206,通过数据平面模块调用该消息相应的处理函数,完成对该消息的处理,并返回到步骤202;如报文的收发,CPU核间通信等,都有相应的该消息的处理函数,需要通过数据平面模块调用该消息相应的处理函数,完成对该消息的处理。步骤207,直接丢弃该消息,并返回到步骤202。由于现有技术多核处理系统中,数据平面模块上缺少类似控制平面模块上的看门 狗模块,当数据平面模块异常时,譬如数据平面模块中的某个数据平面核进入死循环或者访问非法内存时,依据上述流程,由于没有任何检测数据平面核异常的机制,会导致数据平面核挂死的情况得不到及时的检测,进而影响数据平面模块的数据转发和处理。为了解决上述问题,本专利技术提供了一种数据平面异常检测的方法和装置,通过在控制平面上启用一个定时器进程,定时检测各个数据平面核共享内存中缓存的运行标识位和时间戳,在进行定时检测时,先判断各个数据平面核是否在运行,如果在运行,进一步判断当前时间和共享内存中记录的该数据平面核的时间戳之间的差值是否大于设定的时间阈值,如果大于设定的时间阈值,则判断所述数据平面核已经挂死,保存该数据平面核的当前寄存器和内存中缓存的信息,同时重新启动该数据平面核或者数据平面整个CPU系统。如图3所示,为本专利技术实施例提供的一个数据平面异常检测的装置,具体包括数据平面模块和控制平面模块,其中所述控制平面模块进一步包括定时器模块和看门狗模块。其中,所述看门狗模块用以检测控制平面模块是否异常,并在控制平面模块异常时重新启动控制平面。所述定时器模块,定时检测各个数据平面核共享内存中缓存的运行标识位和时间戳,在定时检测时,先判断各个数据平面核是否在运行,如果在运行,进一步判断当前时间和共享内存中记录的该数据平面核的时间戳之间的差值是否大于设定的时间阈值,如果大于设定的时间阈值,则判断所述数据平面核已经挂死,保存该数据平面核的当前寄存器和内本文档来自技高网...

【技术保护点】
一种数据平面异常检测的装置,应用于由控制平面模块和数据平面模块组成的多核处理系统中,其特征在于:所述控制平面模块进一步包括定时器模块,用以定时检测各个数据平面核共享内存中记录的运行标识位和时间戳,在定时检测时,所述定时器模块先判断各个数据平面核是否在运行,如果在运行,进一步判断当前时间和共享内存中记录的该数据平面核的时间戳之间的差值是否大于设定的时间阈值,如果大于设定的时间阈值,则判断所述数据平面核已经挂死,保存该数据平面核的当前寄存器和内存中缓存的信息,同时重新启动该数据平面核或者数据平面模块上的整个CPU系统。

【技术特征摘要】

【专利技术属性】
技术研发人员:王其勇付炼
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1