对于通信网络测试仪器的软件模块,CAP模块需要满足CAP消息的详细解码,信息提取、统计,CDR合成,过滤等功能。其设计主要考虑以下方面:

(1)软件的面向对象及模块化设计

在面向对象思想下采用模块化设计,模块内部的结构清晰易懂,各模块之间相对独立。这样便于检查错误,节省开发时间,提高了软件系统的稳定性、可修改性和重用性。

(2)与数据库的配合

通信测试系统涉及到数量相当大的数据库文件系统,信息提取,消息统计及CDR合成均需要同数据库配合,因此,在软件模块设计期间要考虑模块的数据库实现问题。

(3)模块的效率问题

为满足测试仪表长时间大负荷监控和实时解码统计等功能,模块必须提高运行效率。为了更好地提高软件的性能,在软件设计上,可以考虑采取多线程,流水线技术。

3.2 CAP模块的结构分析

系统分析在用户需求的基础上,采用面向对象的思想对CAP模块具体分析,划分系统的各个部分,明确他们之间的层次关系,然后将各个部分作为一个对象进行功能分析,对每一层次的数据进行加工处理,并向上一层提供必要的支持。根据软件总体架构方案协议消息处理流程如图2所示。

其中,采集卡捕获到的数据首先保存在消息缓存中;解码器从消息缓存中取出消息逐条进行粗略解码,获得每帧数据的帧信息和呼叫信息;这两类信息按照协议类别交给呼叫合成器进行呼叫合成,得到每个协议的CDR集合,保存在CDR缓存中;根据用户需要进行显示和统计。统计功能可以直接面向CDR缓存进行,也可以先将CDR输入数据库,在数据库中进行统计,然后输出统计结果。对于CAP模块,我们主要实现CAP解码器和呼叫合成器的