网络处理器异常检测方法及系统技术方案

技术编号:5198743 阅读:196 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种网络处理器异常检测方法及系统,其中方法包括:网络处理器各个线程的执行流程中增加有异常检测操作代码,当网络处理器运行到当前线程的异常检测操作代码时,网络处理器将共享内存中异常保护标记数据区内当前线程对应的标记位置为第一标记;当定时器周期到达时,协处理器检测异常保护标记数据区的所有标记位,若检测出所有标记位不全为第一标记,则确定不为第一标记的标记位对应的线程出现异常;若检测出所有标记位全为第一标记,则协处理器将所有标记位置为第二标记。本发明专利技术利用了网络处理器软件流程的特点,能够及时、有效地对线程的异常进行检测,大大提升了以网络处理器为核心单元的网络设备运行期间故障的检测能力。

【技术实现步骤摘要】

本专利技术涉及通信
,更具体地说,涉及一种网络处理器异常检测方法及系 统。
技术介绍
网络处理器(Net Processor,简称NP)是面向网络应用领域的应用特定指令处 理器,是面向数据分组处理的、具有体系结构特征和/或特定电路的软件可编程器件。目前 在数据通信行业,主流交换机和路由器几乎都以网络处理器作为流量转发和业务处理的核 心部件。网络处理器的稳定运行,是保证数据通信产品流量高性能转发的基础,也是业务处 理安全、稳定的基本条件。近年来,随着网络服务的日益丰富,网络应用越来越复杂,对网络处理器业务处理 能力的需求不断攀升,业务实现方案日趋复杂,对网络处理器转发性能的要求也越来越高, 这些必然导致网络处理器运行期间出现异常的可能性也随之增加。在各种故障中,由于软 件和硬件原因导致的网络处理器死机异常占了较大比例,主要包括处理器硬件异常死机和 硬件问题导致软件程序局部死循环,例如访问外设异常导致的程序死循环等。这类故障对 网络中运营的业务危害极大,一旦发生而不能及时进行处理将导致大量丢包、长时间断流, 严重的甚至导致网络瘫痪,必然会给运营商和网络用户造成巨大的经济损失。目前,业内设备制造商面对网络处理器运行期间出现的问题多采用人工排查的方 式,耗费了大量的人力、物力和财力,也提高了运维成本,给企业增加了额外的负担。为了降 低企业的设备运维开销,亟需一种能够检测网络处理器软硬件死机异常的技术方案,以便 使处理器软件能在第一时间自动检测出故障。专利申请号为200410015057. 5、公开号为Cm641600的中国专利申请公开了一种预报电子装置死机机率的方法,该方法主要是通过统计系统执行侦错次数的指针值与预先 建立的用以预测系统执行状态系统状态的预测表进行比对,以此作为判断系统状态稳定与 否的依据。该检测方法主要是侧重“死机”的预测,且需要预先建立预测表,而网络处理器 的业务处理往往较为复杂,处理不同业务时,系统状态大相径庭,难以保持一成不变,因此 该方法很难应用于网络处理器的死机异常检测。专利申请号为200910169532. 7、公开号为CN101645035的中国专利申请公开了 一种检测程序代码运行位置的方法和嵌入式系统,通过运行插入有预定输出指令的程序代 码,输出指令包含本预定输出指令在程序代码中的位置信息;以及在运行到预定输出指令 时,向外部接口输出位置信息,由外部接口根据该位置信息控制在该外部接口上的发光二 极管显示预定输出指令在程序代码中的位置。该方案侧重序代码运行位置的检测,且需要 外接发光二极管进行显示。现有以网络处理器为核心的转发设备硬件组网均不会将其与发 光二极管这类外设连接,且网络处理器运行频率相当高,程序位置更新相当快,无法通过外 接发光二极管的方式进行显示。本专利技术所要解决的技术问题是针对现有技术的缺陷,提出一种网络处理器异常检 测方法及系统,用以提升以网络处理器为核心单元的网络设备运行期间故障的检测能力。为了解决上述技术问题,本专利技术提供了一种网络处理器异常检测方法,包括网络处理器各个线程的执行流程中增加有异常检测操作代码,当网络处理器运行 到当前线程的所述异常检测操作代码时,网络处理器将共享内存中异常保护标记数据区内 所述当前线程对应的标记位置为第一标记;当定时器周期到达时,协处理器检测共享内存中异常保护标记数据区的所有标记 位,若检测出所有标记位不全为第一标记,则确定不为第一标记的标记位对应的线程出现 异常;若检测出所有标记位全为第一标记,则协处理器将所有标记位置为第二标记。进一步的,所述网络处理器各个线程的执行流程中增加有异常检测操作代码包 括网络处理器各个线程的执行流程的公共流程中增加有异常检测操作代码;或者,网络 处理器各个线程的执行流程的分支流程中增加有异常检测操作代码。进一步的,所述网络处理器可以为单核网络处理器,所述当网络处理器运行到当 前线程的所述异常检测操作代码时,网络处理器将共享内存中异常保护标记数据区内所述 当前线程对应的标记位置为第一标记包括当网络处理器运行到当前线程的所述异常检测操作代码时,读取网络处理器的状 态寄存器,提取当前线程的线程号;网络处理器根据当前线程的线程号和共享内存中异常保护标记数据区的起始地 址,计算得到所述当前线程对应的标记位;网络处理器将所述当前线程对应的标记位置为第一标记。进一步的,所述网络处理器还可以为多核网络处理器,所述当网络处理器运行到 当前线程的所述异常检测操作代码时,网络处理器将共享内存中异常保护标记数据区内所 述当前线程对应的标记位置为第一标记包括当网络处理器运行到当前线程的所述异常检测操作代码时,读取网络处理器的状 态寄存器,提取当前线程所在的处理器核号和当前线程的线程号;网络处理器根据所述处理器核号和当前线程的线程号,计算所述当前线程在网络 处理器所有线程中的序号;网络处理器根据所述当前线程在网络处理器所有线程中的序号和共享内存中异 常保护标记数据区的起始地址,计算得到所述当前线程对应的标记位;网络处理器将所述当前线程对应的标记位置为第一标记。进一步的,所述定时器周期Tewsww可以根据下式来设定T定时器周期> max [1/f网络处理器频率*T平均指令周期*Ν指令行+T外设访问时间]其中,f_处理器频率表示正常工作时所述网络处理器的频率;T平均指令_表示正常工 作时所述网络处理器执行每条指令平均消耗的周期;NiMff表示程序中指令行数;T^mfnwra 表示程序中最差情况下输入/输出操作消耗的时间。本专利技术还提供了一种网络处理器异常检测系统,包括网络处理器,所述网络处理器各个线程的执行流程中增加有异常检测操作代码, 所述网络处理器用于当运行到当前线程的所述异常检测操作代码时,将共享内存中异常保护标记数据区内所述当前线程对应的标记位置为第一标记;协处理器,用于当定时器周期到达时,检测共享内存中异常保护标记数据区的所 有标记位,若检测出所有标记位不全为第一标记,则确定不为第一标记的标记位对应的线 程出现异常;若检测出所有标记位全为第一标记,则协处理器将所有标记位置为第二标 记;共享内存,用于存储所述网络存储器和所述协处理器写入的数据,供所述协处理 器访问。进一步的,所述网络处理器各个线程的执行流程的公共流程中增加有异常检测操 作代码;或者,所述网络处理器各个线程的执行流程的分支流程中增加有异常检测操作代码。进一步的,所述网络处理器可以为单核网络处理器,所述网络处理器包括第一读取模块,用于当运行到当前线程的所述异常检测操作代码时,读取网络处 理器的状态寄存器,提取当前线程的线程号;第一计算模块,用于根据当前线程的线程号和共享内存中异常保护标记数据区的 起始地址,计算得到所述当前线程对应的标记位;第一写入模块,用于将所述当前线程对应的标记位置为第一标记。进一步的,所述网络处理器还可以为多核网络处理器,所述网络处理器包括第二读取模块,用于当运行到当前线程的所述异常检测操作代码时,读取网络处 理器的状态寄存器,提取当前线程所在的处理器核号和当前线程的线程号;第二计算模块,用于根据所述处理器核号和当前线程的线程号,计算所述当前线 程在网络处理器所有线程中的序号;第三计算模块,用于根据所述当前线程本文档来自技高网...

【技术保护点】

【技术特征摘要】
一种网络处理器异常检测方法,其特征在于,包括网络处理器各个线程的执行流程中增加有异常检测操作代码,当网络处理器运行到当前线程的所述异常检测操作代码时,网络处理器将共享内存中异常保护标记数据区内所述当前线程对应的标记位置为第一标记;当定时器周期到达时,协处理器检测共享内存中异常保护标记数据区的所有标记位,若检测出所有标记位不全为第一标记,则确定不为第一标记的标记位对应的线程出现异常;若检测出所有标记位全为第一标记,则协处理器将所有标记位置为第二标记。2.根据权利要求1所述的方法,其特征在于,所述网络处理器各个线程的执行流程中 增加有异常检测操作代码包括网络处理器各个线程的执行流程的公共流程中增加有异常 检测操作代码;或者,网络处理器各个线程的执行流程的分支流程中增加有异常检测操作 代码。3.根据权利要求1或2所述的方法,其特征在于,所述网络处理器为单核网络处理器, 所述当网络处理器运行到当前线程的所述异常检测操作代码时,网络处理器将共享内存中 异常保护标记数据区内所述当前线程对应的标记位置为第一标记包括当网络处理器运行到当前线程的所述异常检测操作代码时,读取网络处理器的状态寄 存器,提取当前线程的线程号;网络处理器根据当前线程的线程号和共享内存中异常保护标记数据区的起始地址,计 算得到所述当前线程对应的标记位;网络处理器将所述当前线程对应的标记位置为第一标记。4.根据权利要求1或2所述的方法,其特征在于,所述网络处理器为多核网络处理器, 所述当网络处理器运行到当前线程的所述异常检测操作代码时,网络处理器将共享内存中 异常保护标记数据区内所述当前线程对应的标记位置为第一标记包括当网络处理器运行到当前线程的所述异常检测操作代码时,读取网络处理器的状态寄 存器,提取当前线程所在的处理器核号和当前线程的线程号;网络处理器根据所述处理器核号和当前线程的线程号,计算所述当前线程在网络处理 器所有线程中的序号;网络处理器根据所述当前线程在网络处理器所有线程中的序号和共享内存中异常保 护标记数据区的起始地址,计算得到所述当前线程对应的标记位;网络处理器将所述当前线程对应的标记位置为第一标记。5.根据权利要求1所述的方法,其特征在于,所述定时器周期Tewaww根据下式来设定T定时器周期> max [ 1/f网络处理器频率*T平均指令周期*Ν指令行+T外设访问时间]其中,f^MM 表示正常工作时所述网络处理器的频率;示正常工作时 所述网络处理器执行每条指令平均消耗的周期;NiMff表示程序中指令行...

【专利技术属性】
技术研发人员:朱寅伍益荣
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94

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

1