一种诊断信息的获取方法及装置的制作方法

文档序号:7720361阅读:107来源:国知局
专利名称:一种诊断信息的获取方法及装置的制作方法
技术领域
本发明涉及通信领域,尤其涉及通信领域中的诊断技术。
背景技术
通信设备包括主控单板、以及一块或多个业务单板,例如,路由器包括主控单板、 以及交换网板、网络处理板等业务单板。传统的对通信设备的诊断信息的获取方法为在主 控单板、各业务单板上的业务模块中插入用于获取诊断信息的代码,业务模块工作时,其中 的用于获取诊断信息的代码也运行,记录该业务模块的收发报文数量、丢包数量等诊断信 息,并将记录的信息存储在该业务模块所属的主控单板或业务单板上。此诊断信息的获取 方法存在以下缺点 通信设备故障时,通过主控单板、各业务单板上供调试用的串口登陆主控单板或 各业务单板,读取其上当前的诊断信息进行故障定位,无法远程操作;进行故障定位时,能 够获取到的诊断信息为当前的诊断信息,不能获取发生故障的时刻的诊断信息,不利于故 障定位。

发明内容
有鉴于此,本发明的主要目的在于提供一种诊断信息的获取方法及装置,能够解 决无法通过远程操作获取通信设备的诊断信息以及不能获取发生故障的时刻的诊断信息 的问题。 为达到上述目的,本发明的技术方案是这样实现的 —种诊断信息的获取方法,分别在各业务单板的各业务模块中插入诊断点;该方 法还包括 通信设备初始化时,主控单板、各业务单板分别创建诊断进程,并生成相应的诊断 进程号; 通过主控单板的操作管理维护(0AM)界面登陆主控单板,输入诊断命令时,主控 单板的诊断进程将该诊断命令下发至该诊断命令携带的各CPU节点号所标识的各业务单 板的诊断进程; 所述各业务单板的诊断进程,配置并开启相应的诊断点,获取诊断信息并通过主 控单板的诊断进程进行相应处理。 进一步地,进行故障定位时,该方法进一步包括 登陆主控单板的OAM界面,输入诊断查询命令,主控单板的诊断进程查询主控单 板上存储的符合该诊断查询命令的诊断信息并通过0AM界面输出。
进一步地,所述分别在各业务模块中插入诊断点包括
在各业务模块中分别设置回调函数; 在各业务模块中选择一个或多个插入点,在各插入点插入诊断点;所述诊断点包 括回调函数的调用程序。
进一步地,在通信设备初始化时,该方法进一步包括各业务模块的各诊断点分别 向自身所属业务单板的诊断进程注册,具体为 各业务模块的各诊断点分别向自身所属业务单板的诊断进程发送注册请求;
所述诊断进程为发来注册请求的诊断点分配诊断点ID、结构空间、以及该诊断点 所处业务模块上设置的回调函数的地址; 将所述诊断点的ID和所处业务模块上设置的回调函数的地址存储在为该诊断点 分配的结构空间中。 进一步地,所述诊断命令携带有诊断进程号、CPU节点号、配置信息、以及诊断点开 关指示; 所述诊断点开关指示包括开启指示或关闭指示; 相应的,所述各诊断进程分别根据自身接收到的诊断命令,配置并开启相应的诊
断点、获取诊断信息并通过主控单板的诊断进程进行诊断信息的存储、实时显示; 各诊断进程接收到的诊断命令携带关闭指示时,关闭相应的诊断点。 进一步地,所述配置信息为测试用例数据、条件参数、过滤条件和诊断信息类型,
或者,条件参数、过滤条件和诊断信息类型; 相应的,接收到的诊断命令中配置信息包括测试用例数据时,所述配置并开启相 应的诊断点前,该方法还包括 各诊断进程将测试用例数据代入相应的各业务模块;
所述配置相应的诊断点为 根据相应的诊断点的结构空间中所存储的回调函数的地址,得到该诊断点所处业 务模块上设置的回调函数并调用; 取配置信息中该诊断点的条件参数、过滤条件和诊断信息类型,将所取的条件参 数代入条件参数提取函数,将所取得过滤条件代入过滤函数;根据诊断信息类型配置数据 抓取函数、调试信息获取函数的输出信息。 进一步地,所述配置并开启相应的诊断点后,所述获取诊断信息并通过主控单板 的诊断进程存储包括 业务进程将该诊断点的调用程序作为其所处业务模块的一部分,随同其所属的业 务模块运行该诊断点的调用程序,获取诊断信息并与该诊断点的ID—起发至开启该诊断 点的诊断进程;所述诊断进程将接收到的诊断点的ID和诊断信息对应缓存至该诊断进程 所述的业务单板上; 各业务单板的诊断进程将该业务单板上对应缓存的诊断点的ID和诊断信息上报 给主控单板的诊断进程;主控单板的诊断进程将接收到的诊断点的ID和诊断信息存储在 主控单板上。 进一步地,所述各业务模块的各诊断点分别向自身所属业务单板的诊断进程注册 后,该方法还包括 为通信设备的各业务流程对应配置诊断组,在各业务流程对应的诊断组中写入实 现该业务流程的各业务模块中的诊断点的ID ; 所述开启指示包括开启诊断组指示,或者,诊断组设置指示和一个或多个诊断点 的ID ;关闭指示包括关闭诊断组指示;
相应的,接收到的诊断命令的诊断点开关指示为开启指示时,所述配置并开启相 应的诊断点具体为 为开启诊断组指示时,配置并开启所指示的诊断组包含的各诊断点; 为诊断组设置指示和一个或多个诊断点的ID时,配置诊断组,将该一个或多个诊
断点的ID写入设置的诊断组,配置并开启设置的诊断组包含的各诊断点; 在所接收到的诊断命令的诊断点开关指示为关闭指示时,所述关闭相应的诊断点
具体为关闭所指示的诊断组包含的各诊断点。 本发明还提供一种诊断信息的获取装置,该装置包括创建模块、主控单板和业务 单板;其中, 创建模块,用于分别在主控单板和各业务单板的各业务模块中插入诊断点;
主控单板,用于初始化时,用于创建自身的诊断进程,并生成相应的诊断进程号;
业务单板,用于初始化时,用于创建自身的诊断进程,并生成相应的诊断进程号;
其中, 主控单板上设置有OAM界面,用于提供登陆主控单板的界面,接收用户输入的诊 断命令; 主控单板的诊断进程,用于将主控单板的OAM界面接收到的诊断命令下发至该诊 断命令携带的各CPU节点号所标识的各业务单板的诊断进程; 业务单板的诊断进程,用于根据接收到的诊断命令,配置并开启相应的诊断点,获 取诊断信息并通过主控单板的诊断进程进行相应处理。
进一步地,所述主控单板的诊断进程包括主控收发模块和主控存储模块;其中, 主控收发模块,用于将所述诊断命令下发至该诊断命令携带的各CPU节点号所标
识的各业务单板的诊断进程;并接收业务单板的诊断进程发来的诊断信息; 主控存储模块,用于存储业务单板的诊断进程发来的诊断信息。 进一步地,所述0AM界面,还用于接收用户输入的诊断查询命令;输出符合所述诊
断查询命令的诊断信息; 所述主控单板的诊断进程还包括查询模块,用于查询主控单板上存储的符合所述 诊断查询命令的诊断信息并发至0AM界面。
进一步地,所述创建模块包括设置模块和输入模块;其中,
设置模块,用于在各业务模块中分别设置回调函数; 输入模块,用于在各业务模块中选择的一个或多个插入点插入诊断点;所述诊断 点包括回调函数的调用程序。
进一步地,所述业务单板的诊断进程包括业务接收模块和业务管理模块;其中,
业务接收模块,用于将获取的诊断信息发至主控单板的诊断进程;
业务管理模块,用于根据接收到的诊断命令,配置并开启相应的诊断点、获取诊断 信息并发至主控单板的诊断进程,或者,关闭相应的诊断点。 进一步地,所述诊断点,用于向自身所属业务单板的诊断进程发送注册请求;
所述业务单板的诊断进程还包括业务注册模块,用于分别为发来注册请求的诊断 点分配诊断点ID和结构空间、以及该诊断点所处业务模块上设置的回调函数的地址;将 各诊断点的ID和所处业务模块上设置的回调函数的地址存储在为该诊断点分配的结构空间。 进一步地,所述诊断命令携带有诊断进程号、CPU节点号、配置信息、以及诊断点开 关指示; 所述诊断点开关指示包括开启指示或关闭指示; 所述配置信息为测试用例数据、条件参数、过滤条件和诊断信息类型,或者,条件 参数、过滤条件和诊断信息类型; 所述业务管理模块包括业务解析模块、业务配置模块、业务获取模块、业务发送模 块和业务关闭模块;其中, 业务解析模块,用于解析到接收到的诊断命令携带开启指示时,触发业务配置模 块;解析到接收到的诊断命令携带关闭指示时,触发业务关闭模块; 业务配置模块,用于调用回调函数;取配置信息中该诊断点的条件参数、过滤条件 和诊断信息类型,将所取的条件参数代入条件参数提取函数,将所取得过滤条件代入过滤 函数;根据诊断信息类型配置数据抓取函数、调试信息获取函数的输出信息;并在接收到 的诊断命令中配置信息包括测试用例数据时,将测试用例数据代入相应的各业务模块;之 后,开启相应的诊断点; 业务获取模块,用于获取诊断信息; 业务发送模块,用于发送所述业务获取模块获取的诊断信息;
业务关闭模块,用于关闭相应的诊断点。 进一步地,该装置还包括业务进程,用于将该诊断点的调用程序作为其所处业务
模块的一部分,随同其所属的业务模块运行该诊断点的调用程序,获取诊断信息并与该诊
断点的ID —起发至开启该诊断点的业务单板的诊断进程; 所述业务获取模块包括业务接收模块和业务缓存模块;其中, 业务接收模块,用于接收自身所属业务单板上的业务进程发来的诊断信息和诊断 点的ID ; 业务缓存模块,用于将所述业务接收模块接收到的诊断点的ID和诊断信息对应 缓存至自身所属的业务单板上。 进一步地,所述业务管理模块还包括业务诊断组设置模块,用于为业务板上的各 业务流程对应配置诊断组,并在业务板上的各业务流程对应的诊断组中写入实现该业务流 程的各业务模块中的诊断点的ID。 本发明所提供的诊断信息的获取方法及装置,主控单板、各业务单板上分别创建 诊断进程,通过诊断进程间的通信实现主控单板、各业务单板间诊断命令和诊断信息的交 互,进而实现通过登陆主控单板上的OAM界面统一管理主控单板、各业务单板上的诊断点、 以及诊断信息,解决了无法通过远程操作获取通信设备的诊断信息以及不能获取发生故障 的时刻的诊断信息的问题。


图1为本发明实施例诊断信息的获取方法的实现流程图;
图2为本发明实施例诊断信息的获取装置的结构示意图;
图3为本发明实施例业务单板的诊断进程的结构示意图。
具体实施方式

本发明实施例诊断信息的获取方法的实现流程如图1所示,包括以下步骤
步骤101 :用户分别在各业务模块中插入诊断点;
这里,所述插入诊断点具体为
步骤al、用户在各业务模块中分别设置回调函数;
步骤bl、用户在各业务模块中选择一个或多个插入点,在各插入点插入诊断点; 所述诊断点包括回调函数的调用程序,用于调用该诊断点所处的业务节点上设置的回调函 数;其中,
所述插入点可以在实现业务模块的程序的开始、结尾、以及开始和结尾间的任意 处,一般选择程序中实现业务流程的关键点作为插入点,例如,转发流程中,选择用于接收 报文的程序段后作为一个插入点,选择用于转发报文的程序段前作为另一个插入点;
所述回调函数包括条件参数提取函数、过滤函数、数据抓取函数、调试信息获取 函数;其中,
条件参数提取函数用于提取流经自身所处插入点的符合条件参数的报文,例如, 条件参数为目的地址000001,则条件参数提取函数提取流经其自身所处插入点的目的地址 为000001的报文;
过滤函数,用于依据过滤条件,过滤所述条件参数提取函数提取的报文;
数据抓取函数,在过滤函数过滤得到符合过滤条件的报文时,抓取该报文;
调试信息获取函数,在过滤函数过滤得到符合过滤条件的报文时,获取自身所处 插入点当前的调试信息。
步骤102 :通信设备初始化时,主控单板、各业务单板分别创建诊断进程,并生成 相应的诊断进程号;各业务模块的各诊断点分别向自身所属业务单板的诊断进程注册。其 中,诊断进程号用于标识诊断进程;
其中,所述各业务模块的各诊断点分别向自身所属业务单板的诊断进程注册具体 为
步骤a2、各业务模块的各诊断点分别向自身所属业务单板的诊断进程发送注册请 求;
步骤b2、所述诊断进程为发来注册请求的诊断点分配诊断点ID、结构空间、以及 该诊断点所处业务模块上设置的回调函数的地址;
其中,所述回调函数的地址,用于指示所述回调函数的位置;一个业务单板的CPU 节点号+ —个诊断点的ID可唯一确定一个诊断点,所述一个CPU节点号唯一标识一个主控 单板或业务单板。
步骤c2、所述诊断进程将各诊断点的ID和所处业务模块上设置的回调函数的地 址存储在为该诊断点分配的结构空间中。
本发明实施例中,步骤102还可以包括各诊断进程为通信设备的各业务流程对 应配置诊断组,在各业务流程对应的诊断组中写入实现该业务流程的各业务模块中的诊断 点的ID,S卩,为每个业务流程配置一个诊断组,该诊断组中的各诊断点的ID为实现该业务 流程的各业务模块中的诊断点的ID。
步骤103 :通过主控单板的操作管理维护(OAM, Operation Administrationand Maintenance)界面登陆主控单板,输入诊断命令;主控单板的诊断进程解析诊断命令,得 到该诊断命令携带的各CPU节点号,将该诊断命令下发至得到的各CPU节点号所标识的各 业务单板的诊断进程; 其中,所述诊断命令携带有诊断进程号、CPU节点号、配置信息、以及诊断点开关指 示; 所述诊断进程号用于指示将该诊断命令发至诊断进程,而非发至除诊断进程外的 其它进程,例如,业务进程等。 所述配置信息为测试用例数据、条件参数、过滤条件和诊断信息类型,或者,条件 参数、过滤条件和诊断信息类型;其中, 所述诊断点开关指示包括开启指示或关闭指示;其中,开启指示具体为开启诊 断组指示,或者,诊断组设置指示和一个或多个诊断点的ID,或者,开启诊断点指示;关闭 指示具体为关闭诊断组指示,或者,关闭诊断点指示。 进一步地,诊断进程间交互通过通信设备上进程间的通信渠道实现,即以板间消 息的形式交互信息,这里,将该诊断命令下发至得到的各诊断进程号标识的除自身外的其 它诊断进程具体为 将所述其它诊断进程的进程号和该诊断进程所属业务单板的CPU节点号写入板 间消息的消息头,将所述板间消息写入该板间消息的消息体,发送该板间消息至相应单板 的所述其它诊断进程。
步骤104 :接收到诊断命令的各诊断进程分别根据自身接收到的诊断命令,配置
并开启相应的诊断点、获取诊断信息并通过主控单板的诊断进程进行相应处理。 具体为 各诊断进程接收到的诊断命令携带开启指示时,配置并开启相应的诊断点;各诊 断进程接收到的诊断命令携带关闭指示时,关闭相应的诊断点。 这里,在所接收到的诊断命令的诊断点开关指示为开启指示时,所述配置并开启 相应的诊断点具体为 为开启诊断组指示时,配置并开启所指示的诊断组包含的全部诊断点,即所指示 的诊断组中各诊断点的ID标识的诊断点; 为诊断组设置指示和一个或多个诊断点的ID时,配置诊断组,将该一个或多个诊 断点的ID写入设置的诊断组,并配置并开启设置的诊断组包含的全部诊断点;
为开启诊断点指示时,配置并开启所指示的诊断点。 在所接收到的诊断命令的诊断点开关指示为关闭指示时,所述关闭相应的诊断点 具体为 为关闭诊断组指示时,关闭所指示的诊断组包含的全部诊断点;为关闭诊断点指 示时,关闭所指示的诊断点。 进一步地,接收到的诊断命令中配置信息包括测试用例数据时,所述配置并开启 相应的诊断点前,步骤104还包括 各诊断进程将测试用例数据代入相应的各业务模块;这里,一般待测业务模块当 前未运行时,诊断命令中配置信息包括测试用例数据,用于模拟业务模块的运行环境。
进一步地,所述配置相应的诊断点为 步骤a3、根据相应的诊断点的结构空间中所存储的回调函数的地址,得到该诊断 点所处业务模块上设置的回调函数并调用; 步骤b3、取配置信息中该诊断点的条件参数、过滤条件和诊断信息类型,将所取的 条件参数代入条件参数提取函数,将所取得过滤条件代入过滤函数;根据诊断信息类型配 置数据抓取函数、调试信息获取函数的输出信息。
进一步地,所述获取诊断信息并通过主控单板的诊断进程存储包括
步骤a4、业务进程将该诊断点的调用程序作为其所处业务模块的一部分,随同其 所属的业务模块运行该诊断点的调用程序,获取诊断信息并与该诊断点的ID —起发至开 启该诊断点的诊断进程;所述诊断进程将接收到的诊断点的ID和诊断信息对应缓存至该 诊断进程所属的业务单板上; 其中,所述随同其所属的业务模块运行该诊断点的调用程序具体为 业务进程运行其所属的业务模块至该诊断点所处的插入点时,运行该诊断点的调
用程序,之后,接着运行插入点后的业务模块的程序。 其中,所述接收到的诊断点的ID和诊断信息对应缓存在各主控单板或业务单板 的高端内存,以保证通信设备重启后,缓存的所述诊断信息不会丢失; 相应的,本发明实施例还包括采用最优适应法分别管理各业务单板的高端内存, 管理某业务单板的高端内存的具体为 步骤a41、将高端内存中的空闲块按照从小到大的顺序链接起来,得到空闲块链;
步骤a42、运行诊断点的调用程序,获取到诊断信息时,将该诊断点的ID和所获 取的诊断信息作为一条记录,遍历所述空闲块链,直到找到第一个不小于该条记录长度的 空闲块,从所述空闲块链中删除所找到的空闲块,将该条记录写入所找到的空闲块,此时, 如果所找到的空闲块还有空闲空间,则将该空闲空间作为一个空闲块链接到所述空闲块链 中; 步骤a43、将缓存的记录上报给主控单板的诊断进程、或存储在主控单板上时,释 放该记录占用的内存空间得到空闲空间,查询与该空闲空间物理地址相邻的内存空间是否 空闲,如果是,将该空闲空间和与之相邻的内存空间合并后,作为一个空闲块并链接到所述 空闲块链中,以避免产生内存碎片,提高高端内存使用率;如果不是,将该空闲空间作为一 个空闲块链接到所述空闲块链中。 步骤b4、各业务单板的诊断进程将该业务单板上对应缓存的诊断点的ID和诊断 信息上报给主控单板的诊断进程;主控单板的诊断进程将接收到的诊断点的ID和诊断信 息、以及自身缓存的诊断点的ID和诊断信息存储在主控单板上。 这里,所述将该业务单板上缓存的诊断信息上报给主控单板的诊断进程失败后, 步骤b4还包括重新上报,直到重新上报的次数超出预先设定的重传阈值,仍未上报成功, 则结束本次上报流程,等待缓存新的诊断信息,返回执行所述将该业务单板上缓存的诊断 信息上报给主控单板的诊断进程的操作。
其中,所述将缓存的诊断信息发送至主控单板的诊断进程具体为 将主控单板的诊断进程的进程号和主控单板的CPU节点号写入板间消息的消息
头,将缓存的记录写入该板间消息的消息体,发送该板间消息至主控单板的诊断进程。
这里,所述将诊断信息存储在主控单板上具体为 步骤b41、在单板索引表中查询发来诊断信息的业务单板的CPU节点号; 步骤b42、查询在单板索引表中检索到的CPU节点号所对应指针指向的诊断点索
引表; 步骤b43、在诊断点索引表中查询诊断信息对应的诊断点的ID ;查询在诊断点索 引表中查询到的ID对应的指针; 步骤b44、将所述诊断信息存储至所述ID对应的指针指向的诊断信息表中。
故障诊断时,执行步骤105 : 步骤105 :登陆主控单板的OAM界面,输入诊断查询命令,主控单板的诊断进程查
询主控单板上存储的符合该诊断查询命令的诊断信息并通过0AM界面输出。 本发明实施例诊断信息的获取装置的结构如图2所示,包括创建模块、主控单板
和业务单板;其中, 创建模块,用于分别在主控单板和各业务单板的各业务模块中插入诊断点;
主控单板,用于初始化时,用于创建自身的诊断进程,并生成相应的诊断进程号;
业务单板,用于初始化时,用于创建自身的诊断进程,并生成相应的诊断进程号;
其中, 主控单板上设置有OAM界面,用于提供登陆主控单板的界面,接收用户输入的诊 断命令; 主控单板的诊断进程,用于将主控单板的OAM界面接收到的诊断命令下发至该诊 断命令携带的各CPU节点号所标识的各业务单板的诊断进程; 业务单板的诊断进程,用于根据接收到的诊断命令,配置并开启相应的诊断点,获 取诊断信息并通过主控单板的诊断进程进行相应处理。
进一步地,所述主控单板的诊断进程包括主控收发模块和主控存储模块;其中, 主控收发模块,用于将所述诊断命令下发至该诊断命令携带的各CPU节点号所标
识的各业务单板的诊断进程;并接收业务单板的诊断进程发来的诊断信息; 主控存储模块,用于存储业务单板的诊断进程发来的诊断信息。 进一步地,所述OAM界面,还用于接收用户输入的诊断查询命令;输出符合所述诊
断查询命令的诊断信息; 所述主控单板的诊断进程还包括查询模块,用于查询主控单板上存储的符合所述 诊断查询命令的诊断信息并发至0AM界面。
进一步地,所述创建模块包括设置模块和输入模块;其中,
设置模块,用于在各业务模块中分别设置回调函数; 输入模块,用于在各业务模块中选择的一个或多个插入点插入诊断点;所述诊断 点包括回调函数的调用程序。 进一步地,所述业务单板的诊断进程的结构如图3所示,包括业务接收模块和业 务管理模块;其中, 业务接收模块,用于将获取的诊断信息发至主控单板的诊断进程; 业务管理模块,用于根据接收到的诊断命令,配置并开启相应的诊断点、获取诊断
信息并发至主控单板的诊断进程,或者,关闭相应的诊断点。
进一步地,所述诊断点,用于向自身所属业务单板的诊断进程发送注册请求;
所述业务单板的诊断进程还包括业务注册模块,用于分别为发来注册请求的诊断 点分配诊断点ID和结构空间、以及该诊断点所处业务模块上设置的回调函数的地址;将 各诊断点的ID和所处业务模块上设置的回调函数的地址存储在为该诊断点分配的结构空 间。 进一步地,所述诊断命令携带有诊断进程号、CPU节点号、配置信息、以及诊断点开 关指示; 所述诊断点开关指示包括开启指示或关闭指示; 所述配置信息为测试用例数据、条件参数、过滤条件和诊断信息类型,或者,条件 参数、过滤条件和诊断信息类型; 所述业务管理模块包括业务解析模块、业务配置模块、业务获取模块、业务发送模 块和业务关闭模块;其中, 业务解析模块,用于解析到接收到的诊断命令携带开启指示时,触发业务配置模 块;解析到接收到的诊断命令携带关闭指示时,触发业务关闭模块; 业务配置模块,用于调用回调函数;取配置信息中该诊断点的条件参数、过滤条件 和诊断信息类型,将所取的条件参数代入条件参数提取函数,将所取得过滤条件代入过滤 函数;根据诊断信息类型配置数据抓取函数、调试信息获取函数的输出信息;并在接收到 的诊断命令中配置信息包括测试用例数据时,将测试用例数据代入相应的各业务模块;之 后,开启相应的诊断点; 业务获取模块,用于获取诊断信息; 业务发送模块,用于发送所述业务获取模块获取的诊断信息;
业务关闭模块,用于关闭相应的诊断点。 进一步地,本发明实施例所述装置还包括业务进程,用于将该诊断点的调用程序
作为其所处业务模块的一部分,随同其所属的业务模块运行该诊断点的调用程序,获取诊
断信息并与该诊断点的ID—起发至开启该诊断点的业务单板的诊断进程; 相应的,所述业务获取模块包括业务接收模块和业务缓存模块;其中, 业务接收模块,用于接收自身所属业务单板上的业务进程发来的诊断信息和诊断
点的ID ; 业务缓存模块,用于将所述业务接收模块接收到的诊断点的ID和诊断信息对应 缓存至自身所属的业务单板上。 进一步地,所述业务管理模块还包括业务诊断组设置模块,用于为业务板上的各 业务流程对应配置诊断组,并在业务板上的各业务流程对应的诊断组中写入实现该业务流 程的各业务模块中的诊断点的ID。 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
1权利要求
一种诊断信息的获取方法,其特征在于,分别在各业务单板的各业务模块中插入诊断点;该方法还包括通信设备初始化时,主控单板、各业务单板分别创建诊断进程,并生成相应的诊断进程号;通过主控单板的操作管理维护(OAM)界面登陆主控单板,输入诊断命令时,主控单板的诊断进程将该诊断命令下发至该诊断命令携带的各CPU节点号所标识的各业务单板的诊断进程;所述各业务单板的诊断进程,配置并开启相应的诊断点,获取诊断信息并通过主控单板的诊断进程进行相应处理。
2. 根据权利要求1所述诊断信息的获取方法,其特征在于,进行故障定位时,该方法进 一步包括登陆主控单板的0AM界面,输入诊断查询命令,主控单板的诊断进程查询主控单板上 存储的符合该诊断查询命令的诊断信息并通过0AM界面输出。
3. 根据权利要求1或2所述诊断信息的获取方法,其特征在于,所述分别在各业务模块 中插入诊断点包括在各业务模块中分别设置回调函数;在各业务模块中选择一个或多个插入点,在各插入点插入诊断点;所述诊断点包括回 调函数的调用程序。
4. 根据权利要求3所述诊断信息的获取方法,其特征在于,在通信设备初始化时,该 方法进一步包括各业务模块的各诊断点分别向自身所属业务单板的诊断进程注册,具体 为各业务模块的各诊断点分别向自身所属业务单板的诊断进程发送注册请求; 所述诊断进程为发来注册请求的诊断点分配诊断点ID、结构空间、以及该诊断点所处业务模块上设置的回调函数的地址;将所述诊断点的ID和所处业务模块上设置的回调函数的地址存储在为该诊断点分配的结构空间中。
5. 根据权利要求4所述诊断信息的获取方法,其特征在于,所述诊断命令携带有诊断 进程号、CPU节点号、配置信息、以及诊断点开关指示;所述诊断点开关指示包括开启指示或关闭指示;相应的,所述各诊断进程分别根据自身接收到的诊断命令,配置并开启相应的诊断点、 获取诊断信息并通过主控单板的诊断进程进行诊断信息的存储、实时显示; 各诊断进程接收到的诊断命令携带关闭指示时,关闭相应的诊断点。
6. 根据权利要求5所述诊断信息的获取方法,其特征在于,所述配置信息为测试用例 数据、条件参数、过滤条件和诊断信息类型,或者,条件参数、过滤条件和诊断信息类型;相应的,接收到的诊断命令中配置信息包括测试用例数据时,所述配置并开启相应的 诊断点前,该方法还包括各诊断进程将测试用例数据代入相应的各业务模块; 所述配置相应的诊断点为根据相应的诊断点的结构空间中所存储的回调函数的地址,得到该诊断点所处业务模块上设置的回调函数并调用;取配置信息中该诊断点的条件参数、过滤条件和诊断信息类型,将所取的条件参数代 入条件参数提取函数,将所取得过滤条件代入过滤函数;根据诊断信息类型配置数据抓取 函数、调试信息获取函数的输出信息。
7. 根据权利要求6所述诊断信息的获取方法,其特征在于,所述配置并开启相应的诊 断点后,所述获取诊断信息并通过主控单板的诊断进程存储包括业务进程将该诊断点的调用程序作为其所处业务模块的一部分,随同其所属的业务模 块运行该诊断点的调用程序,获取诊断信息并与该诊断点的ID —起发至开启该诊断点的 诊断进程;所述诊断进程将接收到的诊断点的ID和诊断信息对应缓存至该诊断进程所述 的业务单板上;各业务单板的诊断进程将该业务单板上对应缓存的诊断点的ID和诊断信息上报给主 控单板的诊断进程;主控单板的诊断进程将接收到的诊断点的ID和诊断信息存储在主控 单板上。
8. 根据权利要求4所述诊断信息的获取方法,其特征在于,所述各业务模块的各诊断 点分别向自身所属业务单板的诊断进程注册后,该方法还包括为通信设备的各业务流程对应配置诊断组,在各业务流程对应的诊断组中写入实现该 业务流程的各业务模块中的诊断点的ID ;所述开启指示包括开启诊断组指示,或者,诊断组设置指示和一个或多个诊断点的 ID ;关闭指示包括关闭诊断组指示;相应的,接收到的诊断命令的诊断点开关指示为开启指示时,所述配置并开启相应的 诊断点具体为为开启诊断组指示时,配置并开启所指示的诊断组包含的各诊断点;为诊断组设置指示和一个或多个诊断点的ID时,配置诊断组,将该一个或多个诊断点 的ID写入设置的诊断组,配置并开启设置的诊断组包含的各诊断点;在所接收到的诊断命令的诊断点开关指示为关闭指示时,所述关闭相应的诊断点具体 为关闭所指示的诊断组包含的各诊断点。
9. 一种诊断信息的获取装置,其特征在于,该装置包括创建模块、主控单板和业务单 板;其中,创建模块,用于分别在主控单板和各业务单板的各业务模块中插入诊断点; 主控单板,用于初始化时,用于创建自身的诊断进程,并生成相应的诊断进程号; 业务单板,用于初始化时,用于创建自身的诊断进程,并生成相应的诊断进程号; 其中,主控单板上设置有OAM界面,用于提供登陆主控单板的界面,接收用户输入的诊断命令;主控单板的诊断进程,用于将主控单板的0AM界面接收到的诊断命令下发至该诊断命 令携带的各CPU节点号所标识的各业务单板的诊断进程;业务单板的诊断进程,用于根据接收到的诊断命令,配置并开启相应的诊断点,获取诊 断信息并通过主控单板的诊断进程进行相应处理。
10. 根据权利要求9所述诊断信息的获取装置,其特征在于,所述主控单板的诊断进程包括主控收发模块和主控存储模块;其中,主控收发模块,用于将所述诊断命令下发至该诊断命令携带的各CPU节点号所标识的 各业务单板的诊断进程;并接收业务单板的诊断进程发来的诊断信息;主控存储模块,用于存储业务单板的诊断进程发来的诊断信息。
11. 根据权利要求10所述诊断信息的获取装置,其特征在于,所述0AM界面,还用于接 收用户输入的诊断查询命令;输出符合所述诊断查询命令的诊断信息;所述主控单板的诊断进程还包括查询模块,用于查询主控单板上存储的符合所述诊断 查询命令的诊断信息并发至0AM界面。
12. 根据权利要求9、或10、或11所述诊断信息的获取装置,其特征在于,所述创建模块 包括设置模块和输入模块;其中,设置模块,用于在各业务模块中分别设置回调函数;输入模块,用于在各业务模块中选择的一个或多个插入点插入诊断点;所述诊断点包 括回调函数的调用程序。
13. 根据权利要求9、或10、或11所述诊断信息的获取装置,其特征在于,所述业务单板 的诊断进程包括业务接收模块和业务管理模块;其中,业务接收模块,用于将获取的诊断信息发至主控单板的诊断进程; 业务管理模块,用于根据接收到的诊断命令,配置并开启相应的诊断点、获取诊断信息 并发至主控单板的诊断进程,或者,关闭相应的诊断点。
14. 根据权利要求13所述诊断信息的获取装置,其特征在于,所述诊断点,用于向自身 所属业务单板的诊断进程发送注册请求;所述业务单板的诊断进程还包括业务注册模块,用于分别为发来注册请求的诊断点分 配诊断点ID和结构空间、以及该诊断点所处业务模块上设置的回调函数的地址;将各诊断 点的ID和所处业务模块上设置的回调函数的地址存储在为该诊断点分配的结构空间。
15. 根据权利要求14所述诊断信息的获取装置,其特征在于,所述诊断命令携带有诊 断进程号、CPU节点号、配置信息、以及诊断点开关指示;所述诊断点开关指示包括开启指示或关闭指示;所述配置信息为测试用例数据、条件参数、过滤条件和诊断信息类型,或者,条件参 数、过滤条件和诊断信息类型;所述业务管理模块包括业务解析模块、业务配置模块、业务获取模块、业务发送模块和 业务关闭模块;其中,业务解析模块,用于解析到接收到的诊断命令携带开启指示时,触发业务配置模块;解 析到接收到的诊断命令携带关闭指示时,触发业务关闭模块;业务配置模块,用于调用回调函数;取配置信息中该诊断点的条件参数、过滤条件和诊 断信息类型,将所取的条件参数代入条件参数提取函数,将所取得过滤条件代入过滤函数; 根据诊断信息类型配置数据抓取函数、调试信息获取函数的输出信息;并在接收到的诊断 命令中配置信息包括测试用例数据时,将测试用例数据代入相应的各业务模块;之后,开启 相应的诊断点;业务获取模块,用于获取诊断信息;业务发送模块,用于发送所述业务获取模块获取的诊断信息;业务关闭模块,用于关闭相应的诊断点。
16. 根据权利要求15所述诊断信息的获取装置,其特征在于,该装置还包括业务进程, 用于将该诊断点的调用程序作为其所处业务模块的一部分,随同其所属的业务模块运行该 诊断点的调用程序,获取诊断信息并与该诊断点的ID —起发至开启该诊断点的业务单板 的诊断进程;所述业务获取模块包括业务接收模块和业务缓存模块;其中,业务接收模块,用于接收自身所属业务单板上的业务进程发来的诊断信息和诊断点的ID ;业务缓存模块,用于将所述业务接收模块接收到的诊断点的ID和诊断信息对应缓存 至自身所属的业务单板上。
17. 根据权利要求15所述诊断信息的获取装置,其特征在于,所述业务管理模块还包 括业务诊断组设置模块,用于为业务板上的各业务流程对应配置诊断组,并在业务板上的 各业务流程对应的诊断组中写入实现该业务流程的各业务模块中的诊断点的ID。
全文摘要
本发明公开了一种诊断信息的获取方法,该方法包括主控单板、各业务单板上分别创建诊断进程,通过诊断进程间的通信实现主控单板、各业务单板间诊断命令和诊断信息的交互,进而实现通过登陆主控单板上的OAM界面统一管理主控单板、各业务单板上的诊断点、以及诊断信息。本发明同时还公开了一种诊断信息的获取装置,包括创建模块、主控单板和业务单板。采用本发明所述的方法和装置,能够解决无法通过远程操作获取通信设备的诊断信息以及不能获取发生故障的时刻的诊断信息的问题。
文档编号H04L12/26GK101702661SQ20091023841
公开日2010年5月5日 申请日期2009年11月19日 优先权日2009年11月19日
发明者周波, 段威, 蒋嵩 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1