CN101350744A - 一种网络处理***中描述符资源的检测方法及其*** - Google Patents
一种网络处理***中描述符资源的检测方法及其*** Download PDFInfo
- Publication number
- CN101350744A CN101350744A CNA2008100679746A CN200810067974A CN101350744A CN 101350744 A CN101350744 A CN 101350744A CN A2008100679746 A CNA2008100679746 A CN A2008100679746A CN 200810067974 A CN200810067974 A CN 200810067974A CN 101350744 A CN101350744 A CN 101350744A
- Authority
- CN
- China
- Prior art keywords
- descriptor
- address
- message
- resource
- address 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
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络处理***中描述符资源的检测方法及其***,所述方法包括以下步骤:A.定时从描述符链表中连续获取多个报文描述符;B.分析所述多个报文描述符的地址信息,并判断所述地址信息是否正常,若所述地址信息不正常,则判定用于存储所述描述符链表的采用本发明的技术方案,填补了网络处理***通用检测手段的一个盲点,可以及时检测到网络处理***中可能出现的描述符资源的异常,如报文描述符资源耗尽、描述符链接关系混乱等严重故障,并采取相应的保护措施,从而大大提高了网络***设备的可靠性,避免网络处理***的瘫痪与业务长时间的中断。
Description
技术领域
本发明涉及网络处理资源的检测技术,尤其涉及专用于网络处理的网络处理器和多核处理器***的描述符资源检测方法及其***。
背景技术
目前的通信网络与无线产品中,大量使用网络处理器和多核处理器作为通用接口板与协议处理板。这些处理器专为网络应用设计,可以实现用户报文的实时处理与线速转发。网络处理***内部使用报文描述符传递报文信息,报文描述符即指向报文缓存的指针地址,其中包含报文处理过程中需要的一些基本参数,如报文类型、报文长度、偏移字节等信息。***运行前需要事先分配一段内存空间用作报文描述符空间,并将一个个报文描述符链接起来形成描述符链表,网络专用处理器芯片内部一般都集成有相关的硬件单元来实现这种描述符链表结构。当从网络接口收到一个报文时,就需要对应的从描述符链表中申请一个报文描述符,当报文经过网络处理***转发出去或按照一定策略丢弃时,则需要将描述符释放回描述符链表。
网络处理***的描述符链表资源一般以栈或队列方式组织,报文描述符的申请、释放直接操作描述符链表,所以描述符链表资源的使用始终伴随网络处理***中报文处理的全过程,由于网络处理***中网络处理器多线程和多核处理器多CPU***的复杂性,目前没有现成的内存检测工具及方法来发现网络处理***中潜在的内存泄露问题,一旦出现描述符泄露或队列操作错误必将引起描述符资源的异常,如描述符链接关系的混乱或描述符资源耗尽等情况,这类异常往往很难及时发现和定位,这样将直接导致网络处理***的瘫痪与业务长时间的中断。
因此,现有技术中存在一定的缺陷,需要进一步的改进。
发明内容
本发明的目的是提供一种网络处理***中描述符资源的检测方法及其***,其能快速地检测描述符资源的异常,有效地对网络处理***进行实时保护。
为实现上述目的,本发明采取如下技术方案:
本发明提供了一种网络处理***中描述符资源的检测方法,所述方法包括以下步骤:
A、定时从描述符链表中连续获取多个报文描述符;
B、分析所述多个报文描述符的地址信息,并判断所述地址信息是否正常,若所述地址信息不正常,则判定用于存储所述描述符链表的描述符资源存在异常情况。
其中,所述方法还包括以下步骤:
C、当判定描述符资源存在异常情况后,则发起主备***板倒换,并复位当前***。
其中,,所述地址信息不正常的情况包括:所述多个报文描述符地址一致且等于描述符链表尾部地址,所述多个报文描述符地址在几个描述符地址之间振荡,或者所述多个报文描述符地址为非法。
其中,所述步骤B中,所述多个报文描述符的地址信息分析及判断过程至少包括以下三个可选步骤中的一个:
S1、通过判断所述多个报文描述符地址是否一致且等于描述符链表尾部地址,来判定是否存在描述符资源耗尽的异常情况;
S2、通过判断所述多个报文描述符地址是否在几个描述符地址之间振荡,来判定是否存在描述符链接关系混乱的异常情况;
S3、通过判断所述多个报文描述符地址是否非法,来判定是否存在描述符地址非法的异常情况。
本发明还提供了一种具有描述符资源检测功能的网络处理***,其包括:主控模块、共享内存和至少一个业务模块,所述主控模块和共享内存通过内部总线与所述至少一个业务模块相连,所述业务模块通过网络接口与网络相连;所述***还包括:
定时单元,该单元用于记录预设检测周期,在到达预设检测周期时,触发所述主控模块从所述共享内存的描述符链表中连续申请多个报文描述符,并获取相应的报文描述符地址信息;以及
判定单元,该单元用于分析所述多个报文描述符的地址信息,并判断所述地址信息是否正常,当所述地址信息不正常时,给出描述符资源存在异常情况的指令信息。
其中,所述定时器单元和所述判定单元设置在所述主控模块中。
其中,所述地址信息不正常的情况包括:所述多个报文描述符地址一致且等于描述符链表尾部地址,所述多个报文描述符地址在几个描述符地址之间振荡,或者所述多个报文描述符地址为非法。
其中,所述判定单元至少包括以下三个可选单元中的一个:
用于通过判断所述多个报文描述符地址是否一致且等于描述符链表尾部地址,来判定是否存在描述符资源耗尽的单元;
用于通过判断所述多个报文描述符地址是否在几个描述符地址之间振荡,来判定是否存在描述符链接关系混乱的单元;
用于通过判断所述多个报文描述符地址是否非法,来判定是否存在描述符地址非法的单元。
其中,所述预设检测周期至少为秒级。
其中,所述判定单元在判定描述符资源存在异常情况时,通过所述指令信息触发所述主控模块发起用于主备***板倒换、并复位当前***的命令。
采用本发明的技术方案,填补了网络处理***通用检测手段的一个盲点,可以及时检测到网络处理***中可能出现的描述符资源的异常,如报文描述符资源耗尽、描述符链接关系混乱等严重故障,并采取相应的保护措施,从而大大提高了网络***设备的可靠性,避免网络处理***的瘫痪与业务长时间的中断。
附图说明
图1为本发明中网络处理***的组成结构示意图;
图2为本发明实现描述符链表资源检测的过程示意图;
图3为本发明实现描述符链表资源检测的具体实施过程示意图。
具体实施方式
以下结合附图详细描述本发明的技术方案。
本发明所提供的一种网络处理***中描述符资源的检测方法,主要是针对网络处理器***,如图1所示,该网络处理***主要包括主控模块101、共享内存、至少一个业务模块(如图1中的业务模块102、103)、以及其它***单元组成,所述主控模块101和共享内存通过内部总线与所述至少一个业务模块相连,所述业务模块通过网络接口与网络相连。这里的网络处理***通常是指网络处理器和多核处理器作为的通用接口板与协议处理板,共享内存中含有本发明需要检测的描述符链表资源。
为了检测图1所示***的描述符资源情况,本发明主要采用以下方式:首先,定时从描述符链表中连续获取多个报文描述符;然后,分析所述多个报文描述符的地址信息,并判断所述地址信息是否正常,若所述地址信息不正常,则判定用于存储所述描述符链表的描述符资源存在异常情况,若所述地址信息正常,则将正确的报文描述符释放回描述符链表。这里指的异常情况是描述符链接关系混乱、描述符资源耗尽、或描述符地址非法,并且在判定描述符资源存在异常情况后,可以通过发起主备***板倒换(通常情况下,网络处理***均含有一套与主***板相同的备用***板,这是现有技术中常用的方法),并复位当前***的措施来对网络处理***进行保护。与异常情况相对应的,所述地址信息不正常的情况包括:所述多个报文描述符地址一致且等于描述符链表尾部地址,所述多个报文描述符地址在几个描述符地址之间振荡,或者所述多个报文描述符地址为非法。
上述过程涉及到根据多个报文描述符的地址信息,来判定描述符资源是否存在异常情况的过程,例如其可以包括以下三个判断步骤:
第一,通过判断所述多个报文描述符地址是否一致且等于描述符链表尾部地址,可以判定是否存在描述符资源耗尽的异常情况;
第二,通过判断所述多个报文描述符地址是否在几个描述符地址之间振荡,可以判定是否存在描述符链接关系混乱的异常情况;
第三,通过判断所述多个报文描述符地址是否非法,可以判定是否存在描述符地址非法的异常情况。
上述三种异常情况的判断步骤,在分析所述多个报文描述符的地址信息时,可以有选择的使用,但是,本发明中应该至少要包括一种异常情况的判断步骤。只要判定描述符资源出现一种异常情况,则可以启动后序的保护措施,即发起主备网络处理***倒换,并复位当前***;但是,如果要证明描述符资源没有出现任何异常,则需要上述至少一个判断步骤的结论均为否,另外,在分析多个报文描述符地址信息的过程中,如果使用上述三个判断步骤作为判定描述符资源出现异常情况的依据,则可以有效地提高检测的准确性、使得检测万无一失。
如图2所示,给出了一种针对图1所示***结构、且采用本发明的描述符资源的检测方法的具体实施过程,如下:
步骤200:网络处理***启动时,由主控模块初始化描述符链表,并设置秒级的定时单元,用于记录预设检测周期;
步骤201:网络处理***工作后,主控模块在定时单元预先设置的检测周期到来时,从描述符链表连续申请多个报文描述符;
步骤202:比较连续申请的描述符地址,并判断其是否非法,是否在几个描述符地址之间振荡,是否一致且等于描述符链表尾部地址;
若上述三个判断均为否,则将合法的描述符释放回描述符链表,回到步骤201;若上述三个判断中有一个结论为是,则认为***中描述符资源出现异常情况,置描述符异常标志;
步骤203:如果描述符异常标志置位,则主控模块发起主备***板倒换,并将***复位。
在网络处理***中,往往存在多个描述符链表,所以可以通过设定一个定时单元,当其预先设置的检测周期到来时,要求网络处理***依次对多个描述符链表进行检测,并汇报检测报告;或者,采用并行处理机制,分别对多个描述符链表进行检测。
依据图2所示的实施过程,本发明还提供了一种具有描述符资源检测功能的网络处理***,此***在现有图1所示的***结构基础上,增加了一定时单元,该单元用于记录预设检测周期,在到达预设检测周期时,触发所述主控模块从所述共享内存的描述符链表中连续申请多个报文描述符,并获取相应的报文描述符地址信息;以及一判定单元,该单元用于分析所述多个报文描述符的地址信息,并判断所述地址信息是否正常,当所述地址信息不正常时,给出描述符资源存在异常情况的指令信息(该指令信息可以是一种异常状态标志,在下述将对其进行具体说明),另外,判定单元还可以在判定描述符资源存在异常情况时,通过所述指令信息触发所述主控模块发起用于主备***板倒换、并复位当前***的命令。这里所说的定时单元,与图2所说的定时单元作用是一样的,其主要是为了记录检测周期,并触发本发明所述的检测方法流程;该定时单元可以设置在原有主控模块中,使用主控模块内的***定时器或采用软件编程的方式实现计时功能。所述预设检测周期至少为秒级,是为了避免检测周期过长导致无法及时检测到描述符资源的异常情况,致使无法有效地避免网络处理***的瘫痪与业务长时间的中断。
上述***中的判定单元可以设置在原有主控模块中,通过软件编程的实现使主控模块具有其同样的功能。这个判定单元对应于上述检测方法,其至少包括以下三个可选单元中的一个:
用于通过判断所述多个报文描述符地址是否一致且等于描述符链表尾部地址,来判定是否存在描述符资源耗尽的单元;
用于通过判断所述多个报文描述符地址是否在几个描述符地址之间振荡,来判定是否存在描述符链接关系混乱的单元;
用于通过判断所述多个报文描述符地址是否非法,来判定是否存在描述符地址非法的单元。
以下举例说明本发明的方法和***如何实现对描述符资源的及时检测。
在CDMA2000分组交换***中,其R-P接口是无线网络(如PCF分组控制功能,PCF是Packet Control Function的缩写)和分组数据网PDSN(Packet Data Serving Node)之间的接口,PCF侧接口板以及用户面协议处理板一般都使用专用的网络处理器来实现快速的分组数据处理。对于PCF接口板和用户面协议处理板,都可以抽象成图1所示的***结构,***包括主控模块101和多个业务处理模块(102、103),其中主控模块在网络处理器的CPU上实现,完成整个***的上电、配置和控制平面的处理,业务模块在网络处理器的微引擎上实现,完成网络***业务报文的快速转发和协议处理。
以PCF接口板为例,采用本发明的方法实现网络***运行期的描述符资源检测,需要建立两个描述符链表,分别用于正常业务报文转发和分片报文重组处理。如图3所示,
步骤300,主控模块首先在***上电初始化时,根据描述符空间配置创建这两个描述符链表,同时设置一个描述符链表检测定时器,要求精度不低于秒级,初始化描述符异常标志为0,当前描述符链表号设置为0;在完成***配置后启动业务模块,业务处理模块工作后整个网络处理***即已经正常运行,主控模块在检测到定时器时间片到来时,则触发描述符资源检测过程;
步骤301,主控模块在定时器时间到来时,从当前描述符链表中连续申请多个报文描述符,并获取其地址信息;
步骤302,主控模块判断申请的每个描述符地址是否非法;
步骤303,如果描述符地址为零,或者不在分配的描述符内存空间范围内,或者不满足描述符构成规则,则认为地址信息非法,置描述符非法异常标志,转步骤310;
步骤304,主控模块判断是否存在描述符资源耗尽;
步骤305,如果连续申请到的描述符地址相同且等于描述符链表尾部地址,则说明存在描述符耗尽,置描述符耗尽异常标志,转步骤310;
步骤306,主控模块判断是否存在描述符链接关系混乱;
步骤307,如果连续申请到的描述符地址在几个描述符地址之间振荡,则说明描述符链接关系混乱,置描述符链表异常标志,转步骤310;
步骤308,将申请到的合法的描述符释放回描述符链表;
步骤309,如果描述符异常标志为0,当前描述符链表设置为下一描述符链表号,转步骤301;
步骤310,如果描述符异常标志已置位,主控模块记录异常信息,发起主备***板倒换,并将当前***复位。
综上所述,本发明所提出的网络处理***描述符资源检测方法简单有效且广泛适用,能够快速检测***中可能出现的描述符资源耗尽或链接关系乱等严重***故障,结合主备倒换等其他保护手段确保***的可靠性和业务的可用性,保证不会因为故障而中断网络业务。本发明具有广泛的适用性,可为不同网络处理***所通用。
上述各具体步骤的举例说明较为具体,并不能因此而认为是对本发明的专利保护范围的限制,本发明的专利保护范围应以所附权利要求为准。
Claims (10)
1、一种网络处理***中描述符资源的检测方法,其特征在于,所述方法包括以下步骤:
A、定时从描述符链表中连续获取多个报文描述符;
B、分析所述多个报文描述符的地址信息,并判断所述地址信息是否正常,若所述地址信息不正常,则判定用于存储所述描述符链表的描述符资源存在异常情况。
2、根据权利要求1所述的方法,其特征在于,所述方法还包括以下步骤:
C、当判定描述符资源存在异常情况后,则发起主备***板倒换,并复位当前***。
3、根据权利要求1或2所述的方法,其特征在于,所述步骤B中,所述地址信息不正常的情况包括:所述多个报文描述符地址一致且等于描述符链表尾部地址,所述多个报文描述符地址在几个描述符地址之间振荡,或者所述多个报文描述符地址为非法。
4、根据权利要求3所述的方法,其特征在于,所述步骤B中,所述多个报文描述符的地址信息分析及判断过程至少包括以下三个可选步骤中的一个:
S1、通过判断所述多个报文描述符地址是否一致且等于描述符链表尾部地址,来判定是否存在描述符资源耗尽的异常情况;
S2、通过判断所述多个报文描述符地址是否在几个描述符地址之间振荡,来判定是否存在描述符链接关系混乱的异常情况;
S3、通过判断所述多个报文描述符地址是否非法,来判定是否存在描述符地址非法的异常情况。
5、一种具有描述符资源检测功能的网络处理***,其包括:主控模块、共享内存和至少一个业务模块,所述主控模块和共享内存通过内部总线与所述至少一个业务模块相连,所述业务模块通过网络接口与网络相连;其特征在于,所述***还包括:
定时单元,该单元用于记录预设检测周期,在到达预设检测周期时,触发所述主控模块从所述共享内存的描述符链表中连续申请多个报文描述符,并获取相应的报文描述符地址信息;以及
判定单元,该单元用于分析所述多个报文描述符的地址信息,并判断所述地址信息是否正常,当所述地址信息不正常时,给出描述符资源存在异常情况的指令信息。
6、根据权利要求5所述的***,其特征在于,所述判定单元在判定描述符资源存在异常情况时,通过所述指令信息触发所述主控模块发起用于主备***板倒换、并复位当前***的命令。
7、根据权利要求6所述的***,其特征在于,所述定时器单元和所述判定单元设置在所述主控模块中。
8、根据权利要求5、6或7所述的***,其特征在于,所述地址信息不正常的情况包括:所述多个报文描述符地址一致且等于描述符链表尾部地址,所述多个报文描述符地址在几个描述符地址之间振荡,或者所述多个报文描述符地址为非法。
9、根据权利要求8所述的***,其特征在于,所述判定单元至少包括以下三个可选单元中的一个:
用于通过判断所述多个报文描述符地址是否一致且等于描述符链表尾部地址,来判定是否存在描述符资源耗尽的单元;
用于通过判断所述多个报文描述符地址是否在几个描述符地址之间振荡,来判定是否存在描述符链接关系混乱的单元;
用于通过判断所述多个报文描述符地址是否非法,来判定是否存在描述符地址非法的单元。
10、根据权利要求5所述的***,其特征在于,所述预设检测周期至少为秒级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810067974 CN101350744B (zh) | 2008-06-19 | 2008-06-19 | 一种网络处理***中描述符资源的检测方法及其*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810067974 CN101350744B (zh) | 2008-06-19 | 2008-06-19 | 一种网络处理***中描述符资源的检测方法及其*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101350744A true CN101350744A (zh) | 2009-01-21 |
CN101350744B CN101350744B (zh) | 2013-08-07 |
Family
ID=40269340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810067974 Expired - Fee Related CN101350744B (zh) | 2008-06-19 | 2008-06-19 | 一种网络处理***中描述符资源的检测方法及其*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101350744B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110535790A (zh) * | 2019-08-23 | 2019-12-03 | 天津芯海创科技有限公司 | 基于semaphore的交换芯片异常报文处理方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7281102B1 (en) * | 2004-08-12 | 2007-10-09 | Vmware, Inc. | Restricting memory access to protect data when sharing a common address space |
CN100361093C (zh) * | 2004-12-07 | 2008-01-09 | 华为技术有限公司 | 一种处理器中使用缓存区的方法 |
CN100504807C (zh) * | 2006-10-13 | 2009-06-24 | 中兴通讯股份有限公司 | 一种通信设备***中内存泄漏的检测方法 |
CN100504811C (zh) * | 2007-06-13 | 2009-06-24 | 中兴通讯股份有限公司 | 一种检测内存泄露的方法 |
-
2008
- 2008-06-19 CN CN 200810067974 patent/CN101350744B/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110535790A (zh) * | 2019-08-23 | 2019-12-03 | 天津芯海创科技有限公司 | 基于semaphore的交换芯片异常报文处理方法 |
CN110535790B (zh) * | 2019-08-23 | 2022-03-18 | 天津芯海创科技有限公司 | 基于semaphore的交换芯片异常报文处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101350744B (zh) | 2013-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3537670A1 (en) | Protection switching method, network device, and system | |
US10095576B2 (en) | Anomaly recovery method for virtual machine in distributed environment | |
US8151147B2 (en) | Synchronize error handling for a plurality of partitions | |
CN106656604A (zh) | 微服务请求管理方法、微服务控制器及高并发微服务架构 | |
CN106533805A (zh) | 一种微服务请求处理方法、微服务控制器及微服务架构 | |
EP3618350A1 (en) | Protection switching method, device and system | |
CN106155826B (zh) | 用于在总线结构中检测及处理错误的方法和*** | |
WO2002093374A2 (en) | Task supervision | |
CN112217658A (zh) | 一种堆叠***处理方法及装置 | |
US20030014516A1 (en) | Recovery support for reliable messaging | |
US8332069B2 (en) | Fault tolerance method and apparatus for robot software component | |
US10474518B1 (en) | Obtaining historical information in a device core dump | |
CN105871661A (zh) | 公网服务器探测方法及探测服务器 | |
CN103220189A (zh) | 一种mad检测备份方法和设备 | |
CN101662425A (zh) | 一种检测访问控制列表生效的方法和装置 | |
CN108235800B (zh) | 一种网络故障探测方法、控制中心设备及计算机存储介质 | |
CN101350744B (zh) | 一种网络处理***中描述符资源的检测方法及其*** | |
US8108736B2 (en) | Multi-partition computer system, failure handling method and program therefor | |
JP2006164185A (ja) | デバッグ装置 | |
US8880957B2 (en) | Facilitating processing in a communications environment using stop signaling | |
US20070171896A1 (en) | Management system and management method for managing a communication apparatus | |
US20060248531A1 (en) | Information processing device, information processing method and computer-readable medium having information processing program | |
CN114070799B (zh) | 优先级暂停帧的处理方法、处理装置及目标网络设备 | |
CN101202658A (zh) | 多主机***的服务接管***及方法 | |
CN102195746A (zh) | 循环检测方法及应用其的网络装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130807 Termination date: 20190619 |