付承彪
(曲靖师范学院 计算机科学与工程学院,云南 曲靖 655011)
随着现代通信网络的飞速发展,基于IP承载技术的NGN(Next Generation Network,下一代网络)已被广泛认为是实现三网合一的最适合技术。
NGN网络是一个由若干协议所组成的庞大网络[1],各个网元设备之间采用标准的协议进行通信,从而构成一个完整而庞大的协议体系。它的信令协议不但可以满足新型网络的要求,而且还可以兼容原有的PSTN网络。比如信令传输适配协议(SIGTRAN协议:M2UA、M3UA、SUA),媒体网关控制协议[2](MGCP、H.248/Megaco 协议),对等协议(BICC、SIP协议)等。因此对于NGN网络中数据是非常庞大和复杂的。
我们从网络中获取了NGN网络的数据,是最基本的数据,为分析整个网络的运行情况,我们必须对其进行相应的处理[3]。我们采取的处理方法是:先把统计接口提供上来的数据存储,然后再根据统计类型进行相应统计分析,并把结果存储,最后通过界面呈现。
图1 数据处理流程图
为了提高效率,在开发过程中,采用映射map结构,根据网关、软交换地址进行统计分析,之后将数据存于map。然后统计视图根据需要直接从map取数据,从而完成统计分析的呈现功能。为了实现对数据的进一步统计分析。
map是由关键字(Key)及其对应的元素值(Value)所组成的元素单元(Element)的表单式集合。其内部采用的就是一种非常高效的平衡检索二叉树:红黑树。红黑树的统计性能要好于一般的平衡二叉树,所以被STL选择作为了关联容器的内部结构[4-5]。它可以在O(logn)时间内做查找,插入和删除,这里的n是树中元素的数目。通常,对于map而言,使用给定的Key,可以迅速地从单元集合中检索到相应的元素。因此,在需要对大量数据进行查找操作而查找的性能又占据重要地位的场合,map无疑是一种较理想的容器。比如,在MFC中,使用map来实现句柄映射,以及其他的一些内部数据结构。同时,MFC也提供了公共map类。使用这个公共map类,MFC程序员可以轻易地高效地根据自身的需求实现程序中自定义的映射。
由于map采用的是红黑树结构,所以首先需要给其定义一个key值,用于传入需要比较的关键字。然后还需定义相关的比较方法,把数据传进去。基本的设计流程如图1所示。
在设计中,把这部分统计分析的数据处理过程专门封装在一个类里面处理,实现了数据与显示的分离,在设计中通过返回map的形式,实现向统计视图提供数据。这个类的基本函数接口如下所示:
在统计分析数据的具体处理中,我们把协议分析模块传上来的数据根据统计类型(网关、软交换等)统计存于map,最终根据界面显示的需要,以map的形式把数据返回。
本文首先概述NGN网络中的数据,然后对数据处理流程进行了研究,选择了一种基于map的设计方法。本文所阐述的NGN网络中大容量数据的处理,在现网中的应用有一定的现实意义。
[1]沈乐,鲍可进.基于H.248协议的SIP网络资源分配策略[J].计算机工程与设计,2011,32(11):3646-3649 转 3831.
[2]付承彪,蔡昌许,陶燕林.H.248协议在 NGN 网络中的应用分析[J].曲靖师范学院,2013,32(06):48-51.
[3]林瑞云.盘点 NGN 五大协议[J].中国电信业,2004,06.
[4]田安红,付承彪,李丽.基于Socket的网络通信过程的研究[J].曲靖师范学院,2013,32(06):45-47.
[5]代孝东,陈文星.基于SIP和H.248协议的混合软交换技术的研究[J].计算机科学,2011,38(10A):336-337 转 352.