报文轨迹记录方法及报文轨迹记录装置的制作方法

文档序号:7698890阅读:139来源:国知局
专利名称:报文轨迹记录方法及报文轨迹记录装置的制作方法
技术领域
本发明实施例涉及通信4支术领域,尤其涉及一种才艮文轨迹记录方法及4艮 文轨迹记录装置。
背景技术
网络处理器是一种可编程器件,主要用于通信领域的各种报文转发处理、 路由查找、声音/数据的汇聚等,具有处理功能简单、速度快、可编程等优点,
目前在互联网协议(Internet Protocol;以下简称IP )凄史据通讯方面广泛4吏用。 网络处理器能够将从背板、面板和控制面各个输入端口输入的报文或者产生 于网络处理器内部模块的报文,通过重组、换头、路由、分片、服务质量(Quality ofService;以下简称QOS)等操作转发出去。在网络处理器转发报文的过 程中各种数据流的来源和去向均比较复杂,常会出现报文丢弃从而导致通信 链路不通,或者报文内容被错误改写等问题,而对于出现的故障难以进行定 位,并且与其他通用中央处理器(Central Processing Unit;以下简称CPU) 系统不同的是,网络处理器的指令空间有限,对报文转发性能要求较高,且 没有打印输出手段,因此,难以对出现的故障进行定位。
现有技术的一种报文故障定位方法,在报文经过的流程上设置报文数量 统计点即设置流程计数器,在报文经过的模块上增加属性统计点,如可以基 于不同端口进行统计,可以在网络处理器中各个孩i处理引擎(Micro Engine;
以下简称ME)的多个处理模块上设置报文输入统计点和报文输出统计点, 通过这些统计点来统计每一模块接收和发送的报文数量是否相等,从而判断 报文在该模块上是被正确转发还是被异常丢弃。但是这种方法只能观察到这 些统计点对应的位置是否有报文经过或是否有报文被异常丢弃,无法从总体上对报文数据流进行观察。在实际大话务呼叫业务环境中存在多种类型及来 源的复杂报文数据流,而且这些报文数据流是动态变化的,无法区分某个模 块上统计的是哪个报文及报文的来源。如果出现一条通信链路不通,而其他 链路正常的情况,即使发现一个丢弃统计点存在,也无法得知这个统计点丢 弃的是哪个报文、报文来源及其经过的路径。
现有技术的另 一种报文故障定位方法,采用在报文转发程序的代码中增 加判断分支,将满足条件的报文存储下来,或者设置死循环将代码停下来, 然后观察存下来的报文内容,进而判断报文被转发或者异常丢弃。这种方法 通过需要修改代码来定位问题,而有些出现的问题比较难复现, 一旦复现了 也可能因为修改的代码所记录的信息不够导致需要继续增加代码。这种方法
只能用于调试阶^:,无法用于产品运行中。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题无 法获知报文在网络处理器中经过的轨迹,从而难以对网络处理器中的报文 故障进行准确定位。

发明内容
本发明实施例提供一种报文轨迹记录方法及报文轨迹记录装置,用以解 决现有技术中无法获知报文在网络处理器中经过的轨迹,从而难以对网络处 理器中的报文故障进行准确定位的缺陷,实现获取每条报文在网络处理器中 经过的轨迹记录信息,进而根据报文的轨迹记录信息进行准确的故障定位。
本发明实施例提供一种报文轨迹记录方法,包括
在报文的传输终点上,获取报文空闲区域内存储的报文轨迹记录信息, 所述报文轨迹记录信息包括用于标识所述报文由传输起点到所述传输终点的 传输过程记录信息;
根据所述报文轨迹记录信息对应的状态标识,将所述报文轨迹记录信息 存储到系统存储空间的记录区内。本发明实施例提供一种报文轨迹记录装置,包括
获取模块,用于在报文的传输终点上,获取报文空闲区域内存储的报文 轨迹记录信息,所述^^文轨迹记录信息包括用于标识所述才艮文由传输起点到 所述传输终点的传输过程记录信息;
处理模块,用于根据所述报文轨迹记录信息对应的状态标识,将所述报 文轨迹记录信息存储到系统存储空间的记录区内。
本发明实施例提供的报文轨迹记录方法及才艮文4九迹记录装置,通过在 报文的空闲区域内存储报文在网络处理器中从传输起点至传输终点的所 有轨迹节点的记录信息,并且在报文传输终点获取到报文空闲区域内的报 文轨迹记录信息,该记录信息反映了报文在网络处理器中从产生到结束的 整个生命周期的轨迹信息,克服了现有技术中无法获知报文在网络处理器 中经过的轨迹,从而难以对网络处理器中的报文故障进行准确定位问题, 实现获取每条报文在网络处理器中经过的轨迹记录信息,并根据报文的轨 迹记录信息进行准确的故障定位,提高网络处理器对故障分析和定位的准 确性。


图1为本发明才艮文轨迹记录方法第一实施例流程图; 图2为本发明报文轨迹记录方法第二实施例流程图; 图3为本发明实施例采集检测位置采集启动判断流程图; 图4为本发明实施例报文传输终点报文轨迹记录采集流程图; 图5为本发明4艮文轨迹记录方法第三实施例流程图; 图6为本发明实施例通过工具设置采集控制参数集的流程图; 图7为本发明^^艮文轨迹记录装置第一实施例结构示意图; 图8为本发明报文轨迹记录装置第二实施例结构示意图。
具体实施例方式
下面结合附图和具体实施例进一步说明本发明实施例的技术方案。
图1为本发明报文轨迹记录方法第一实施例流程图,如图1所示,该方
法包括
100、在报文的传输终点上,获取报文空闲区域内存储的报文轨迹记录信 息,报文轨迹记录信息包括用于标识报文由传输起点到传输终点的传输过程 记录信息;
本发明实施例可以应用于一些数据面处理系统中,例如基于网络处理 器的数据面转发系统、采用多核处理器的数据面处理系统以及主控合一的数 据面报文转发系统等。下面以基于网络处理器的数据面转发系统为例进行说 明,但并不以此为限。
报文可以从和网络处理器接口的背板、面板或控制面的各个输入端口输 入网络处理器,也可以在网络处理器的 一些内部模块按照一定的规则生成, 这些输入到网络处理器中的报文或网络处理器内部模块产生的报文经过网络 处理器内部的各个ME处理后再从背板、面板或控制面的各个输出端口转发 出去,也有可能由于报文头检查,路由未找到或者重组错误,以及其他应用 特定的规则判断导致报文在各个ME处理过程中被异常丢弃。报文在网络处 理器中的传输起点即报文的产生点,可能是报文的输入点或者报文的生成点, 报文在网络处理器中的传输终点可能是报文的转发点,也可能是报文的异常 丟弃点,报文被异常丢弃后网络处理器不再对报文进行任何处理。在每条报 文的传输起点到传输终点经过的传输路径中,可以预先设置一系列标记点, 报文经过这些标记点时,记录这些标记点的编码信息,并将这些记录信息存 储至报文空闲区域内,这些标记点的记录信息组成了报文轨迹记录信息。其 中,报文空闲区域为报文中存储内容为空的一段字节,这些字节通常存在于 报文尾部。报文轨迹记录信息携带在报文空闲区域内,随着报文一同在网络 处理器中进行传输,当报文到达传输终点时,可以从报文空闲区域中获取各个标记点记录的报文轨迹记录信息。
101、根据报文轨迹记录信息对应的状态标识,将报文轨迹记录信息存储
到系统存储空间的记录区内。
其中,系统为网络处理器。在网络处理器存储空间内预先分配一定的存 储空间作为存储报文轨迹记录信息的记录区,将从报文空闲区域中获取的报 文轨迹记录信息根据报文轨迹记录对应的状态标识存储在该记录区内。其中, 状态标识可以分为需要进行报文轨迹记录信息存储的报文标识或者异常丟弃
状态标识可以对报文轨迹记录信息进行分类存储,也可以对非以上标识的报 文轨迹记录信息不进行存储。当需要对一段时间内的报文轨迹记录进行分析 或统计时,可以通过一些软件工具读取网络处理器记录区内的才艮文轨迹记录 信息,从而可以获知每条报文在网络处理器中走过的完整路径,同时可以得 知每条报文最终被转发或是在传输过程中哪个标记点被异常丟弃,进而可以 进行故障定位和分析。
本实施例提供的报文轨迹记录方法通过在报文的空闲区域内存储报 文在网络处理器中从传输起点至传输终点的所有轨迹节点的记录信息,并 且在报文传输终点获取到报文空闲区域内的报文轨迹记录信息,该记录信 息反映了报文在网络处理器中从产生到结束的全部生命周期的信息,实现 了根据获取的每条报文在网络处理器中经过的轨迹记录信息进行故障定 位,提高了网络处理器对故障分析及定位的准确性。
图2为本发明报文轨迹记录方法第二实施例流程图,如图2所示,本实施 例在报文轨迹记录之前可以在网络处理器的内存中预分配一段存储空间,该存 储空间用于存储控制参数集和报文轨迹记录信息,报文轨迹记录信息对应的存 储空间即为记录区。其中,控制参数集包括预先设置的报文轨迹记录的配置 参数和报文轨迹记录采集启动控制参数,该配置参数包括报文产生位置偏移量 和结束位置偏移量;采集启动控制参数包括采集检测位置标识、采集允许标志、
9输入端口号、比较偏移量、输入消息类型参数、掩码和关键字。控制参数集中 的各参数可以通过软件等工具进行预先设置。记录区是为存储报文轨迹记录信 息预先分配的记录区,该记录区分为正常记录区和异常记录区。下面将在才艮文
轨迹记录方法第二实施例中对上述参数力。以详细说明,该方法可以包括
200、在报文的传输起点上,获取与传输起点对应的报文产生位置编码和
产生端口号,以及报文产生的时间戳,并存储到报文轨迹记录信息中;
报文的传输起点可以是报文输入网络处理器的输入点,也可以为网络处
理器内部模块生成报文的生成点,该输入点或生成点对应的是网络处理器上
某个模块,在报文输入或生成时,输入或生成报文的模块会自动记录该报文 产生点的位置编码和端口号,以及报文产生的时间戳,例如报文从网络处 理器的背板上的一个端口输入,则该背板接收^f莫块记录对应的产生位置编码、 产生端口号以及产生时间戳,并存储到报文空闲区域内,这些产生位置编码、 端口号及时间戳等信息对应报文轨迹记录信息中的产生点记录信息。
其中,该报文轨迹记录信息中还包括在报文传输起点上被存储到报文轨 迹记录信息中的报文第一内容信息,该报文第一内容信息根据产生位置偏移 量从才艮文中获取,产生位置偏移量包含在网络处理器存储空间中存储的控制 参数集中。
产生位置偏移量用于在报文产生位置即报文传输起点,从报文中提取部 分内容,并存储到报文轨迹记录信息中。提取的这部分内容可以用于在报文 被转发或异常丟弃后,根据与产生位置偏移量相同的参数,提取经过转发或 异常丢弃处理后的相同位置的部分报文内容,从而判断这部分报文内容是否 被改写。该产生位置偏移量为预先设置的参数,该参数表示了从报文的哪个 字节开始提取报文内容,例如该产生位置偏移量为Bll,则从报文第0字 节算起,从Bll位置开始提取报文内容,提取报文内容的多少可以根据需要 进行,比如可以提取IO个字节的报文内容。这样,在报文空闲区域中的报文 轨迹记录信息中便保存了报文传输起点对应的报文部分内容。201、在报文传输过程中的监控节点上,获取监控节点的节点代码以及与 监控节点对应的微处理引擎的标识号,并存储到报文轨迹记录信息中;
在报文在网络处理器中从传输起点到传输终点经过的路径上可以预先设 置一 系列监控节点,这些监控节点用来标记报文在网络处理器中走过的轨迹, 这些监控节点可以设置在报文轨迹中的一些重要位置,这些重要位置通常可 以为报文的传输起点,即传输起点也是一个监控节点,监控节点还可以设置 在报文传输必经路径上的一些点、条件判断处以及报文的传输终点等,监控 节点的数量可以根据需求进行设置,如果需要报文轨迹记录的更加精确,则 可将监控节点设置的较为密集。报文传输必经的路径通常对应一些较为重要 的模块,可以在这些模块上设置一些监控节点,比如设置在模块的输入端口 或输出端口等处。在这些监控节点上,当有报文到达时,监控节点对应的模 块会自动记录节点代码以及与监控节点对应的ME的标识号,并将这些节点 代码及ME的标识号存储到报文空闲区域内的报文轨迹记录信息中。每经过 一个监控节点就要将该监控节点的节点代码及ME标识号等标识监控节点位 置的信息进行记录,在^^艮文经过传输起点和传输路径中的一系列监控节点后, 在报文空闲区内形成了报文轨迹的记录信息。
其中,若监控节点将报文丢弃,则将状态标识中的异常丢弃标识存储到 报文轨迹记录信息中。每条报文在网络处理器中都要经过产生到结束的生命 周期, 一些报文经过网络处理器中的一系列ME处理后并不能被正确转发, 而是被某个ME异常丢弃,这时,若这个异常丟弃点是预先设置的监控节点, 则该异常丢弃点对应的ME将自动记录异常丟弃标识,该异常丢弃标识显示 了异常丢弃点对应的监控节点代码,ME将该异常丢弃标识存储到报文轨迹 记录信息中。在这种情况下,将报文异常丟弃的监控节点即为报文的传输终 点,因此,能够从报文空闲区域内获取报文从传输起点到传输终点的全部轨 迹记录信息,并将该报文轨迹记录信息保存至网络处理器存储空间中的记录 区内。在需要对一段时间内网络处理器中的报文转发情况进行分析时,可以清楚地获知每条报文在哪个监控节点被异常丢弃或转发,以及转发或异常丟 弃前报文走过的全部路径,从而可以在出现故障时进行定位。
202、在釆集检测位置判断是否对报文轨迹记录信息进行采集启动; 判断是否对报文轨迹记录信息进行采集启动具体为根据采集检测位置 标识获知监控节点为采集检测节点后,若根据采集允许标志和输入端口号获 知监控节点允许进行采集启动,则在根据比较偏移量从报文中获取对应内容 后,按照设定的判断规则对根据比较偏移量在报文中获取对应内容和掩码进 行与运算,将计算结果和关键字进行比较判断,若判断结果符合判断规则,
则将状态标识中的采集启动标识存储到报文轨迹记录信息中,采集检测位置 标识、采集允许标志、输入端口号、比较偏移量和掩码包含在存储空间中存 储的控制参数集中;
其中,根据采集允许标志和输入端口号获知监控节点允许进行采集启动 后,还可以根据输入消息类型参数对报文类型进行判断,输入消息类型参数 也包含在控制参数集中。
对于报文传输轨迹中比较重要的模块,可以设置报文采集检测位置标识, 在该采集检测位置中设置一个或一些采集启动控制点进行采集启动判断流 程,该采集启动判断流程用于对需要进行轨迹观察的报文进行筛选,将满足 采集启动条件的特定的报文对应的报文轨迹记录信息存储到网络处理器存储 空间的记录区内,而对不符合采集启动条件的报文不存储对应的报文轨迹记 录信息。这是因为,输入网络处理器的报文以及网络处理器内部生成的报文 数量和类型均有很多,可以通过设置采集启动判断进行筛选,对特定的、较 为重要的报文进行轨迹记录及分析。如图3为本发明实施例采集检测位置采 集启动判断流程图,如图3所示,当报文到达预设的采集检测位置后,根据 比较偏移量从报文中提取部分内容,提取的过程与根据产生位置偏移量从报 文中提取部分内容的过程相同,不再赘述。再从网络处理器存储空间中的控 制参数集中读取预设的掩码和关键字,然后采集检测位置对应的模块检查采集允许标志是否为"允许",该采集允许标志用于控制报文轨迹的采集开始或
停止,比如在网络处理器工作一段时间后,需要对这段时间内所采集的报 文轨迹记录信息进行观察或分析,此时可以将该采集允许标志设蕈为"禁止,,, 则网络处理器存储空间的记录区内不再采集这段时间以后的报文轨迹记录信 息。若该采集允许标志为"允许",则继续进行后续采集启动判断;若釆集允 许标志为"禁止",则退出采集启动判断流程。若釆集允许标志为"允许", 则进一步检查输入端口号和输入消息类型参数是否与预先设置的端口号和报 文类型相符。由于采集检测位置对应的是某个才莫块,它可能具有多个输入端 口,因此需要检查报文输入的端口是否为预先设置的输入端口,若是,则继 续进行报文类型的检查,若不是,则退出采集启动判断流程。输入消息类型 参数为预设的报文类型参数,该参数可以对报文类型进行过滤,只对预设类 型的报文进行报文轨迹记录信息的釆集。若输入消息类型与预设的报文类型 相符,则进行采集启动控制的计算,计算公式为
"报文部分内容&掩码=关键字";或者"报文部分内容&掩码!=关键字"; 将提取的.报文部分内容和掩码做"与"运算,运算结果与关键字做比较。 其中,掩码为预设的参数,用于抓取特定位置的报文内容,掩码的设置可以 将与所需抓取的报文内容对应的字节设成"ff,,其他字节设成"00"。关键字 为预设的参数,用于与报文部分内容和掩码的运算结果做比较,可以将判断 规则设置成比较结果等于关键字则启动采集,也可以设置为比较结果不等于 关键字则启动采集。例如需要抓取报文部分内容中的第3~第5字节,则 可将掩码设置成"00111000……",对报文部分内容与掩码的运算结果等于关 键字"135"的报文启动采集;或者,对报文部分内容与掩码的运算结果不等 于关键字"135"的报文启动采集。采集启动控制计算可以对报文的任意位置 进行抓取,对判断结果符合预设的判断规则的报文进行采集,从而滤除不需 要进行报文轨迹记录信息采集的报文类型,使采集启动的控制方式更加灵活。 在经过上述的检查和判断之后,若均满足采集启动条件,则将采集启动标识设置成"已启动",并将采集启动标识作为状态标识存储到报文轨迹记录信息 中,若不满足采集启动条件,则退出采集启动判断流程。
203、 在报文的传输终点上,获取报文空闲区域内存储的报文轨迹记录信 息,报文轨迹记录信息包括用于标识报文由传输起点到传输终点的传输过程 记录信息;
其中,报文轨迹记录信息中还包括用于与才艮文第二内容信息进行对比以 验证报文是否发生改变的报文第一内容信息,该报文第一内容信息在传输起 点上被存储到报文轨迹记录信息中,报文第二内容信息在报文传输终点上被 存储在记录区内。该报文第二内容信息可以根据控制参数集中的结束位置偏 移量从报文中获取。该报文第二内容信息为经过转发或异常丟弃处理的报文 部分内容。该结束位置偏移量同产生位置偏移量类似,均为预设的参数,提 取报文内容的过程参见根据产生位置偏移量提取报文内容的过程。提取的报 文第二内容信息可用来观察结束位置偏移量对应的报文内容是否在经过网络
处理器中一系列ME的处理过程中被改写,当产生位置偏移量与结束位置偏 移量相等时,报文第 一 内容信息和报文第二内容信息对应报文相同位置的内 容,可以通过比较报文第 一 内容信息和报文第二内容信息获知才艮文经过转发 或异常丢弃处理后是否被改写。
在报文的传输终点上,获取的报文空闲区域存储的报文轨迹记录信息包 括报文产生位置编码、产生端口号和报文产生的时间戳,以及报文产生时 对应的报文第一内容信息;报文传输过程中经过的监控节点的节点代码以及 与监控节点对应的微处理引擎的标识号;状态标识,该状态标识包括异常丢 弃标识和采集启动标识;报文结束时对应的报文第二内容信息。
204、 根据报文轨迹记录信息对应的采集启动标识,将报文轨迹记录信息 存储到记录区中的正常记录区内;或
根据报文轨迹记录信息对应的异常丢弃标识,将报文轨迹记录信息存储 到记录区中的异常记录区内图4为本发明实施例报文传输终点报文轨迹记录采集流程图,如图4所 示,在报文传输终点时,获取的报文轨迹记录信息中存在状态标识,首先检 查状态标识中的采集启动标识,若该标识显示为已启动采集,则将正常记录 区的统计记录数量加1,并获取正常记录区的指针,根据指针指向的正常记 录区的位置将报文轨迹记录信息复制到记录区中的正常记录区,并且将根据 结束位置偏移量从报文中获取的报文第二内容信息复制到正常记录区;若不 存在"已启动"的采集启动标识,则检查报文轨迹记录信息中是否存在异常 丟弃标识,若存在,则将异常记录区的统计记录数量加1,并获取异常记录 区的指针,根据指针指向的异常记录区的位置将报文轨迹记录信息复制到记 录区中的异常记录区,并且将根据结束位置偏移量从报文中获取的报文第二 内容信息复制到异常记录区;若不存在,则不进行记录。正常记录区最终保 存的内容为需要观察的特定类型的报文轨迹记录信息,这些报文可能为被正 常转发的报文,也可能为异常丟弃的报文;异常记录区最终保存的内容为被 异常丢弃的报文轨迹信息。
本实施例提供的报文轨迹记录方法通过采集启动控制实现对需要观 察的特定报文进行报文轨迹记录信息的采集,并存储于正常记录区,被异 常丢弃的报文自动存储于异常记录区,实现了分析和定位报文丟弃导致的 问题,比如通信链路闪断、链路不通或同步失败等问题,提高了网络处理 器对故障分析及定位的准确性。并且能够抓取特定报文任意位置的内容, 进行是否启动采集的判断,增加了采集启动的灵活性。
图5为本发明报文轨迹记录方法第三实施例流程图,如图5所示,本 实施例通过基站控制器IP传输系统中报文轨迹记录方法进行说明,该方 法可以包括
300、在系统的存储空间中分配用于存储控制参数集和报文轨迹记录信息 的记录区,并设置控制参数集中的控制参数;.
其中,控制参数集中的控制参数包括采集检测位置标识、采集允许标志、输入端口号、比较偏移量、输入消息类型参数、掩码、关键字等控制参数,这
些参数的设置可以通过软件等工具来完成,图6所示为本发明实施例通过工具 设置采集控制参数集的流程图,如图6所示,设置各个参数在顺序上并无限制, 本实施例仅给出了设置参数的一种可行的流程,但并不以此为限。
301、 在报文传输起点记录报文产生位置编码和产生端口号,以及报.文产 生的时间戳,并保存至报文空闲区内的报文轨迹记录信息,根据产生位置偏 移量从报文中获取报文第一内容信息,并存储到报文轨迹记录信息;在各监 控节点分别记录节点代码以及微处理引擎的标识号,并保存至报文轨迹记录 信息;
其中,若报文在某监控节点被异常丟弃,还需记录异常丟弃标识。报文 传输起点及各监控节点的具体记录过程参见上一 实施例。
302、 在采集检测位置进行采集启动判断,若符合采集启动判断条件,则 将状态标识中的采集启动标识存储到报文轨迹记录信息中;
采集启动判断的具体过程为首先根据采集允许标志判断是否允许启动 采集,若为"禁止"则退出采集启动判断程序;若为"允许",则检查输入端 口号是否与预先设置的端口号相符以及输入消息类型参数是否与预先设置的 报文类型相符,若不相符则退出;若相符,则将根据比较位置提取的报文部 分内容与预设的掩码做"与"运算,并将运算结果与预设的关键字做比较, 可以预设比较结果"等于"或"不等于"时启动采集,比较结果与预设相符, 则启动采集,且设置采集启动标识为"已启动",并将该标识存储至报文轨迹 记录信息;否则退出采集启动判断程序。
采用掩码和报文部分内容做"与"运算的采集启动控制计算,可以对报 文的任意位置内容进行采集启动判断,例如报文头IP、用户数据报协议(User Datagram Protocol;以下简称UDP )头的各个域或者点对点协议(Point to Point Protocol;以下简称PPP)的各个域等,同时,这种采集启动控制方式又提 供了 "等于"和"不等于,,两种启动方式,使采集启动控制更加灵活。303、在报文传输终点,首先检查状态标识中的采集启动标识,若为已启 动,则将报文轨迹记录信息保存至记录区中的正常记录区;若未启动,则检 查状态标识中的异常丟弃标识,若为异常丢弃,则将报文轨迹记录信息存储 到记录区中的异常记录区内。
其中,还可以根据结束位置偏移量从报文中获取报文第二内容信息,并 存储于与报文轨迹记录信息对应的正常记录区或异常记录区内。
在第三代合作伙伴计划(3rd Generation Partnership Project;以下简称 3GPP)中提出了全球陆上无线接入(Universal Terrestrial Radio Access;以 下简称UTRAN )传输IP化的标准,可以在无线网络控制器(Radio Network Controller;以下简称RNC)接口板传输系统中采用基于网络处理器的方 法,网络处理器用于处理和Iub、 Iu和Iur的传输协议栈,在这种数据面转发 系统中,网络处理器可以采用上述方法获取报文轨迹记录信息。
本实施例通过采集启动控制实现对需要观察的特定^Jl进行报文轨迹记 录信息的采集,并存储于正常记录区,被异常丢弃的"R文自动存储于异常记 录区,实现分析和定位报文丟弃导致的问题,比如通信链路闪断、链路不通 或同步失败等问题,提高了网络处理器对故障分析及定位的准确性。并且能 够抓取特定报文任意位置的内容,进而进行是否启动采集的判断,增加了采 集启动的灵活性,并且不需要修改程序执行代码编译版本就可以对故障进行 定位,对于很难通过修改代码复现的问题定位带来了方便。
本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤 可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读 取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述 的存储介质包括ROM、 RAM、磁碟或者光盘等各种可以存储程序代码的介 质。
图7为本发明报文轨迹记录装置第一实施例结构示意图,如图7所示, 该装置包括获取模块1和处理模块2;其中,获取模块1用于在报文的传输终点上,获取报文空闲区域内存储的报文轨迹记录信息,该报文轨迹记录信
息包括用于标识报文由传输起点到传输终点的传输过程记录信息;处理模块 2用于根据报文轨迹记录信息对应的状态标识,将报文轨迹记录信息存储到 系统存储空间的记录区内。
报文可以从和网络处理器接口的背板、面板或控制面的各个输入端口输入 网络处理器,也可以在网络处理器的内部^^块中生成,这些^J艮文经过网络处理 器内部的各个ME处理后再从背板、面板或控制面的各个输出端口转发出去, 也有可能在各个ME处理过程中被异常丢弃。在每条报文的传输终点上,通过 获#^莫块1获得报文在网络处理器中经过的报文轨迹的记录信息,该报文轨迹 记录信息对应报文传输起点到终点中标识的一系列标记点对应的记录信息,这 些轨迹记录信息显示了报文在网络处理器中的传输过程。在网络处理器存储空 间内预先分配一定的存储空间,处理模块2根据报文轨迹记录的状态标识将这 些报文轨迹记录信息进行存储,该状态标识为正常转发标识,也可以为异常丢 弃标识,表示了报文在网络处理器中传输终点处对应的状态。当需要对一段时 间内的报文轨迹记录进行观察或统计时,可以通过软件工具读取网络处理器中 预先分配的存储空间中的报文轨迹记录信息,从而可以获得每条报文在网络处 理器中走过的完整路径,同时可以得知报文最终被转发或是在传输过程中哪个 点被异常丢弃,进而可以在出现异常丟弃时进行故障定位。
本实施例通过在报文的传输终点上,获取报文轨迹记录信息,并根据 报文轨迹记录信息存储到预分配存储空间的记录区内,实现通过获取每条 报文在网络处理器中经过的轨迹记录信息进行故障定位,提高了网络处理 器对故障分析及定位的准确性。
图8为本发明报文轨迹记录装置第二实施例结构示意图,如图8所示, 该装置包括获取模块1和处理模块2,进一步地,处理模块2可以包括第一 处理子模块21和第二处理子模块22;其中,第一处理子模块21用于根据报 文轨迹记录信息对应的采集启动标识,将报文轨迹记录信息存储到记录的正常记录区内;第二处理子模块22用于根据报文轨迹记录信息对应的异常 丢弃标识,将报文轨迹记录信息存储到记录区中的异常记录区内;
该装置还可以包括存储模块3和判断模块4;其中,存储模块3用于存 储进行报文轨迹记录信息采集启动判断的控制参数集和^1文轨迹记录信息; 判断模块4用于根据控制参数集中各参数进行采集启动判断。
其中,判断模块4可以进一步包括第一判断子模块41和第二判断子模块 42;其中,第一判断子模块41用于根据采集检测位置标识获知监控节点为采 集检测节点后,根据采集允许标志、输入端口号和输入消息类型参数判断监 控节点是否允许进行采集启动;第二判断子模块42用于根据比较偏移量从报 文中提取对应内容后,按照设定的判断规则对根据比较偏移量在报文中获取 的对应内容和掩码与关键字判断是否进行采集启动。
在网络处理器中有报文输入或生成时,报文产生点对应的模块会自动记 录该产生点的位置编码和端口号,以及报文产生的时间戳,并将产生位置编 码、产生端口号以及产生时间戳存储到报文空闲区域内,此时,在报文空闲 区域内开始保存报文轨迹记录信息。在报文的传输起点上,还可以根据预先 设置的产生位置偏移量从报文中提取报文第 一 内容信息,并存储到报文轨迹 记录信息中,提取的这部分内容对应的是报文输入或生成时的部分内容,提 取报文内容的多少可以根据需要进行。这样,在报文空闲区域中的报文轨迹 记录信息中便保存了报文传输起点的报文部分内容。
在报文在网络处理器中传输经过的路径上可以预先设置的一系列监控节 点来标记报文在网络处理器中走过的轨迹,这些监控节点可以设置在一些重 要位置,监控节点的数量可以根据需求进行设置,报文传输必经的路径可以 为报文传输必经的一些模块,可以在这些模块上预设一些监控节点,比如在 模块的输入端口处或输出端口处等设置监控节点。在预先设置的监控节点上, 当有报文到达时,该监控节点对应的模块会自动记录节点代码以及与监控节 点对应的微处理引擎的标识号,并将节点代码以及微处理引擎的标识号存储到报文轨迹记录信息中。每经过一个监控节点就要将该监控节点的节点代码
及ME标识号等标识监控节点位置的信息进行记录,这样《更在l艮文空闲区内 形成了报文轨迹的记录信息。若报文被某个ME异常丢弃,若这个异常丢弃 点是预先设置的监控节点,生成异常丟弃标识,并将状态标识中的异常丢弃 标识存储到报文轨迹记录信息中。
对于报文传输轨迹中比较重要的模块,可以设置报文采集检测位置标识, 通过判断模块4在该位置根据控制参数集进行采集启动判断流程,该流程用 于对需要进行轨迹观察的报文进行筛选,将满足采集启动条件的特定的报文 对应的报文轨迹记录信息存储到网络处理器存储空间的记录区内,而对不符 合采集启动条件的报文不存储对应的报文轨迹记录信息。其中,控制参数集 存储于网络处理器中预分配存储空间中的记录区内,该控制参数集具体包括 采集检测位置标识、采集允许标志、输入端口号、输入消息类型参数、比较 偏移量、掩码和关键字,控制参数集通过存储模块3进行存储。通过该采集 启动判断流程选择出特定类型的报文进行报文轨迹记录采集,而对其他报文 则不予以记录。参见图3,第一判断子模块41识别出预设的采集检测位置后, 检查采集允许标志是否为"允许",若为"允许",第一判断子模块41还要进 行输入端口号和输入消息类型参数进行检查,若输入端口号和输入消息类型 参数均符合预设的参数,则第二判断子模块42进行采集启动控制计算,计算 过程为首先根据比较偏移量从报文中提取部分内容,将提取的报文部分内 容和预设的掩码做"与"运算,可以将判断规则设置成结果等于预设的关键 字则启动采集,也可以将判断规则设置成结果不等于预设的关键字则启动采 集。通过采集启动控制计算滤除不需要进行轨迹记录的报文。在经过上述的 判断过程之后,若均满足采集启动条件,则将采集启动标识,没置成"已启动", 并将采集启动标识作为状态标识存储到报文轨迹记录信息中,若不满足采集 启动条件,则退出采集启动判断流程。
参见图4,在报文传输终点时,获取的报文轨迹记录信息中的状态标识,该状态标识中的采集启动标识为"已启动",则第一处理子模块21将报文轨 迹记录信息存储到记录区中的正常记录区;若不存在"已启动"的采集启动 标识,则根据检查报文轨迹记录信息中是否存在异常丢弃标识,若存在,则 第二处理子模块22将报文空闲区的报文轨迹记录信息存储到记录区中的异 常记录区,若不存在,则不进行记录。其中,记录区为在网络处理器存储区 域中预分配的一段存储空间。正常记录区最终保存的内容为需要观察的特定 类型的报文轨迹信息,这些报文可能为被正常转发的报文,也可能为异常丢 弃的报文;异常记录区最终保存的内容为被异常丢弃的报文轨迹信息。在报 文传输终点最终获取的报文轨迹的信息包括产生位置编码、产生端口号、 产生的时间戳及产生时的部分报文内容;报文经过的各监控节点的节点代码、 微处理引擎的标识号以及异常丟弃标识;在报文传输终点上,还可以根据结 束位置偏移量从报文中提取报文第二内容信息,当产生位置偏移量与结束位 置偏移量相同时,则在报文传输起点提取的报文部分内容与报文传输终点时 提取的报文部分内容对应的提取位置相同,此时,可以获知报文在经过各个 网络处理器中各ME处理后,报文的内容是否被错误改写。
本实施例通过采集启动控制实现对需要观察的特定报文进行报文轨 迹记录信息的采集,并存储于正常记录区,被异常丢弃的报文自动存储于 异常记录区,实现了分析和定位报文丢弃导致的问题,比如通信链路闪断、 链路不通或同步失败等问题,提高了网络处理器对故障分析及定位的准确 性。并且能够抓取特定报文任意位置的内容,进而进行是否启动采集的判 断,增加了采集启动的灵活性。
最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其 限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术 人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或 者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技 术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1、一种报文轨迹记录方法,其特征在于,包括在报文的传输终点上,获取报文空闲区域内存储的报文轨迹记录信息,所述报文轨迹记录信息包括用于标识所述报文由传输起点到所述传输终点的传输过程记录信息;根据所述报文轨迹记录信息对应的状态标识,将所述报文轨迹记录信息存储到系统存储空间的记录区内。
2、 根据权利要求1所述的报文轨迹记录方法,其特征在于,根据所述报 文轨迹记录信息对应的状态标识,将所述报文轨迹记录信息存储到系统存储 空间的记录区内包括根据所述纟艮文轨迹记录信息对应的采集启动标识,将所述4艮文轨迹记录 信息存储到所述记录区中的正常记录区内;或根据所述报文轨迹记录信息对应的异常丟弃标识,将所述报文轨迹记录 信息存储到所述记录区中的异常记录区内。
3、 根据权利要求1或2所述的报文轨迹记录方法,其特征在于,所述报 文轨迹记录信息还包括用于与报文第二内容信息进行对比以验证所述报文是 否发生改变的报文第一内容信息,所迷报文第一内容信息在所述传输起点上 被存储到所述报文轨迹记录信息中,所述报文第二内容信息在所述报文的传 输终点上被存储在所述记录区内。
4、 根据权利要求3所述的报文轨迹记录方法,其特征在于,所述获取报 文空闲区域内存储的报文轨迹记录信息之前包括在报文的所述传输终点上,根据所述系统存储空间中存储的控制参数集 中的结束位置偏移量从所述报文中获取所述报文第二内容信息。
5、 根据权利要求1或2所述的报文轨迹记录方法,其特征在于,所述方 法还包括在所述报文传输过程中的监控节点上,获取所述监控节点的节点代码以 及与所述监控节点对应的微处理引擎的标识号,并存储到所述报文轨迹记录信息中。
6、 根据权利要求5所述的报文轨迹记录方法,其特征在于,所述方法还 包括若所述监控节点将所述报文丟弃,则将所述状态标识中的所述异常丟弃 标识存储到所述报文轨迹记录信息中。
7、 根据权利要求5所述的报文轨迹记录方法,其特征在于,所述方法还 包括根据采集检测位置标识获知所述监控节点为采集检测节点后,若根据釆 集允许标志和输入端口号获知所述监控节点允许进行采集启动,则在根据比 较偏移量从所述报文中获取对应内容后,按照设定的判断规则对根据比较偏 移量在所述报文中获取对应内容和掩码与关键字进行判断,若判断结果符合 所述判断规则,则将所述状态标识中的所述采集启动标识存储到所述报文轨 迹记录信息中,所述釆集检测位置标识、输入端口号、比较偏移量、掩码和 关键字包含在所述系统存储空间中存储的控制参数集中。
8、 根据权利要求7所述的报文轨迹记录方法,其特征在于,所述方法还 包括根据采集允许标志和输入端口号获知所述监控节点允许进行采集启动 后,还根据输入消息类型参数对所述报文类型进行判断,所述输入消息类型 参数也包含在所述控制参数集中。
9、 根据权利要求1或2所述的报文轨迹记录方法,其特征在于,所述方 法还包括在报文的所述传输起点上,获取与所述传输起点对应的报文产生位置编 码和产生端口号,以及所述报文产生的时间戳,并存储到所述报文轨迹记录 信息中。
10、 根据权利要求3所述的报文轨迹记录方法,其特征在于,所述方法 还包括在报文的所述传输起点上,根据产生位置偏移量从所述报文中获取所述 报文第 一 内容信息,所述产生位置偏移量包含在所述系统存储空间中存储的控制参数集中。
11、 一种报文轨迹记录装置,其特征在于,包括获取模块,用于在报文的传输终点上,获取报文空闲区域内存储的报文 轨迹记录信息,所述报文轨迹记录信息包括用于标识所述报文由传输起点到 所述传输终点的传输过程记录信息;处理模块,用于根据所述报文轨迹记录信息对应的状态标识,将所述报 文轨迹记录信息存储到系统存储空间的记录区内。
12、 根据权利要求11所述的报文轨迹记录装置,其特征在于,所述处理 模块包括第一处理子模块,用于根据所述报文轨迹记录传息对应的采集启动标识, 将所述报文轨迹记录信息存储到所述记录区中的正常记录区内;第二处理子模块,用于根据所述报文轨迹记录信息对应的异常丟弃标识, 将所述报文轨迹记录信息存储到所述记录区中的异常记录区内。
13、 根据权利要求11或12所述的报文轨迹记录装置,其特征在于,还 包括存储模块,用于存储进行报文轨迹记录信息采集启动判断的控制参数 集和所述报文轨迹记录信息。
14、 根据权利要求13所述的报文轨迹记录装置,其特征在于,还包括 判断模块,用于根据所述控制参数集中各参数进行采集启动判断。
15、 根据权利要求14所述的报文轨迹记录装置,其特征在于,所述判断 模块包括第一判断子模块,用于根据采集检测位置标识获知监控节点为采集检测 节点后,根据采集允许标志、输入端口号和输入消息类型参数判断所述采集 检测节点是否允许进行采集启动;第二判断子模块,用于根据比较偏移量从所述报文中提取对应内容后, 按照设定的判断规则对根据比较偏移量在所述报文中获取的对应内容和掩码 与关键字判断是否进行采集启动。
全文摘要
本发明实施例提供一种报文轨迹记录方法及报文轨迹记录装置。该方法包括在报文的传输终点上,获取报文空闲区域内存储的报文轨迹记录信息,报文轨迹记录信息包括用于标识报文由传输起点到传输终点的传输过程记录信息;根据报文轨迹记录信息对应的状态标识,将报文轨迹记录信息存储到系统存储空间的记录区内。本发明实施例实现获取每条报文在网络处理器中经过的轨迹记录信息,进而根据报文的轨迹记录信息进行准确的故障定位,提高网络处理器对故障分析和定位的准确性。
文档编号H04L12/56GK101488921SQ20091007849
公开日2009年7月22日 申请日期2009年2月24日 优先权日2009年2月24日
发明者王志刚 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1