APP下载

IIP系统中动态协议模块的设计与实现*

2014-02-16金乃辰王晶

电信工程技术与标准化 2014年11期
关键词:自动机信令消息

金乃辰,王晶

(1 北京邮电大学网络与交换技术国家重点实验室,北京 100876; 2 东信北邮信息技术有限公司,北京 100191)

IIP系统中动态协议模块的设计与实现*

金乃辰1,2,王晶1,2

(1 北京邮电大学网络与交换技术国家重点实验室,北京 100876; 2 东信北邮信息技术有限公司,北京 100191)

给出了一种有效的改进方案,通过将现有协议相关的实现从主程序中独立,放到动态连接库中实现。该方案中,每个协议的动态连接库只需要实现与自身协议相关的处理部分即可,通过协议管理类对各协议的操作进行调度,大大增强了IIP系统的可维护性、可扩展性及安全性,降低了系统研发和设计的难度。

IIP; 智能网; 协议; C++

1 引言

IIP(Independent Intelligent Peripheral,独立智能外设)是智能网中重要的功能实体之一,完成SRF(Special Resource Function,专用资源功能),向智能网的终端用户提供各种的专用资源服务,例如,向用户发布提示音,接收用户拨号等等。在智能网发展初期,由于智能业务对专用资源功能的需求比较简单,SRF的功能往往被集成在SSP(Service Switch Point,业务交换点)之中,由交换机向网络提供提示音和收集用户信息的设备。目前市场上常见的各种SSP产品一般均有SRF功能[1]。

现代通信网络已经越来越多的依靠于IP网络,其应用的协议也逐渐体现了IP网络协议的如下几大特征:

基于框架:协议规范定义了基本框架,协议的设计具有可重用性和系统可扩充性, 缩短了协议的设计周期,提高了开发质量。

易读性:协议使用文本方式传输,其特点是便于开发人员阅读、修改和调试,大大增强了可维护性。但是同时相应的程序解码变得更加复杂了。

当前的CMIN02-IIP系统的控制节点(CN)架构和协议耦合程度较高,采用这种设计是因为所涉及的协议比较稳定,版本变化很小,七号信令网络中一个实体要实现的协议的数量也不多。但是在目前这种环境下,这个架构的缺陷逐渐涌现:协议的实现分散在程序各个部分中,每增加一个协议,需对整个程序进行一次较大改动。IIP系统的CN模块对协议扩展性方面的严重缺陷,导致了系统存在潜在的安全性和可维护性的问题,不利于软件的开发和维护。

通过改进将现有协议相关的实现从主程序中独立出来放到动态连接库中实现,每个协议的动态连接库只需要实现与自身协议相关的处理部分即可,通过协议管理类对各协议的操作进行调度,这样后续如果添加新的协议时,不需要进行程序主体的调整,仅需要修改相关的动态链接库即可。

2 CMIN02-IIP系统简介

2.1 系统架构

CMIN02-IIP系统具有完整的信令接口,支持多种组网方式,采用的是集中控制的分布处理方式,从功能角度看,本系统主要由CN(Control Node,控制节点)、RN(Resource Node,资源节点)、信令节点和维护系统组成。对应到各节点的硬件平台,系统由高性能计算机服务器和若干工业控制机以及各类资源板卡组成[2]。系统各个节点通过网络相连,通信协议采用TCP/IP协议。目前网络采用100 Mbit/s高速局域网,也可以采用主备用双网络方案。高性能计算机服务器是系统的控制节点,它控制并管理所有资源,对消息进行实时、并发处理,维护与其它功能实体的通信接口。工业控制机(各种资源板卡插在其中)构成资源节点。资源节点的功能包括语音播放,DTMF信号接受,播送信号音、文—语转换等。同时也可以用高性能的电信级交换机作为资源节点,和信令节点合设。提供更高的维护性和稳定性。维护系统包括维护管理服务器及维护终端,共同完成对系统的维护管理功能[3]。现阶段,管理服务器与维护终端合设在一起,在将来的版本,此维护功能可集成在SMP、SMAP中实现,使系统维护更加方便快捷。其中,维护终端是系统的操作维护台,由若干台微机构成,通过与维护管理服务器的通信,分别完成对RN节点语音文件的管理、CN节点中TCAP、ISUP信令消息的管理统计功能。

控制节点:CN是系统的控制节点,由高性能计算机服务器构成,它集中控制并管理所有资源,是整个独立智能外设的灵魂。同时提供与SMP和网管等的接口。

图1 大容量版本CN结构

资源节点:资源节点是资源-功能单元对和资源功能单元的集合,包含语音提示、语音录制等功能。

那句话同时把我和父亲变成了另外一个人。父亲成了我心目中的无名英雄,我永远忘不了,那天晚上,他为了避过校门口警卫的询问,索性爬墙离开的那一幕。在淡蓝色的月光映照下,他奋力攀上围墙,骑在墙顶上向我挥手,并且很诚恳地将手掌划向眉梢,向我行了一个军礼,然后才纵身跳落校外的小路上。我站在墙内,听到父亲落地的一声轻响,顿时热泪盈眶。我紧握双拳,叮嘱自己永远不可再有想死的念头。

维护系统:本地具备一个管理维护系统,可以实现语音资源的在线维护和加载;可以监控并维护系统性能,可以实现系统的在线扩容。

信令节点:信令节点IN7Server是独立IP与NO.7信令网的接口,包括N7Server和I7Server,分别负责处理TCAP消息和ISUP消息。

2.2 CN模块功能和结构

如图1所示,Manager为一个消息转发实体,同时具备在线升级系统的功能和控制节点守护的功能,它负责消息的路由,通过套接字将外部消息加上内部路由数据转发到对应的SRF,此模块涉及路由数据的保存,链接的管理和维护等多项功能。SRF为特殊资源功能,负责对自动机、业务进行管理,实时处理消息的编解码和消息的分发,为业务提供功能接口SLP(Service Logic Program,业务逻辑程序)。

3 实现方案

3.1 设计目标

由图1可见协议的处理分散在SRF模块的各个部分之中,一旦协议的某个部分发生改动或变化就需要对整个程序进行一次改动,其设计难度大大增加,并且安全性、代码可读性都显著降低了,这对于软件的维护成本和人力资源的投入都是一种巨大的浪费。如果能设计一种方法使得协议模块与程序主体分离,在有协议需要改动或者有新协议增加时不需要修改主程序,仅修改协议模块的话,软件的维护及开发将会更加容易。那么如何设计和实现Manager中协议和功能的分离,SRF中的协议和功能的分离,以及功能分离后的软件架构将成为本文的主要研究内容。通过本次设计与实现将达到如下研究目标:

(1)实现Manager模块中协议与功能的分离,协议的编译和程序主体编译的分离,协议可以灵活的加载和删除。

(2)实现SRF模块中协议和功能的分离,协议的编译和主体程序的编译分离,协议可以灵活的加载和删除。

3.2 对SRF模块的改造

如图2所示TProtocolManager、TProtocol、协议动态链接库为本次改造新增模块,SRF模块各部分功能如下:

Copart,通用消息底层包,负责通用消息的socket维护,消息收发和进程维护。

TFEAM, 负责SRF消息的收发和初步处理,收到消息并处理后TSCMECtrl类放到消息队列中。

图2 SRF模块改造图

TSCMECtrl, SRF进程主控类,进程的主循环mainloop函数就在这个类中。同时这个类负责消息的分发和消息队列,自动机队列和计时器队列的管理。负责将消息队列里的消息分发到对应的自动机处理。

TScheduleTable, 定时任务的管理,由TSCMECtrl类触发。

TDataBase, 封装数据库操作,向业务的动态链接库提供接口。

TMSGQueue、TFSMQueue与TTIMEQueue,消息队列、自动机和计时器队列。

TPotocolManager,此模块为本次设计的重点,由协议管理类单独调用动态链接库来加载相关协议的实现。

XjoinService,业务管理类,负责对业务流程文件进行解析,每一个流程文件对应一个Application类。

SRF的协议处理包括消息的路由、编解码,以及为业务解析数据(通过自动机)和接收自动机管理等。同时,SRF还具有自动机面向协议的接口和自动机面向业务的接口。

3.3 对Manager模块的改造

如图3所示,TProtoManager是本次设计的主要部分,各部分功能如下。

图3 Manager模块改造图

TProtoManager, 协议管理类,单键模式对外提供协议调用接口。负责动态链接库的初始化,动态链接库 内函数的提取以及对Manager提供通过关键字调用相应的库能力的接口。

动态链接库,每个动态链接库为独立的一份协议实现,实现的内容为从原有的Manager中剥离出协相关部分。每个动态链接库需要实现定义好的接口函数以供Manager调用。

TSOCKET, socket服务端口类,负责端口的绑定和链接上来的socket链接的维护。

Manager的协议处理包括路由功能和路由数据管理,其中属于Manager功能的部分包括协议管理(通过配置文件实现)和socket链路管理。

4 实验结果及分析

本次动态协议库设计与实现均在实验室环境下完成,改造与实现符合预期结果。实验室环境搭建于Red Hat Enterprise Linux 64bit系统中。以CMIN02-IIP产品作为依托,在媒体业务平台框架内进行创新改造,使用标准C++作为程序开发语言,使用Infomix数据库。

本方案的最大特色是将现有协议相关的实现从主程序中独立出来放到动态连接库中实现,每个协议的动态连接库只需要实现与自身协议相关的处理部分即可,通过协议管理类对各协议的操作进行调度,后续添加新的协议时,无需修改程序主体,仅需要在动态库中添加新协议的实现即可。媒体业务平台继承4.0版本的系统总体结构,采用对Manager及SRF模块改造的方式实现,SRF的协议动态链接库负责对收到的消息进行编解码处理,保留并处理消息的路由信息,对需要创建自动机的消息创建自动机,对不需要业务处理的消息有协议自己进行处理。其主要架构没有较大的改动,既保持了原系统的性能优势,又增强了其功能的延伸。

正如我们所了解的,CMIN02-IIP系统提供了一套完整的移动智能网解决方案,作为IIP系统的核心功能,控制节点(CN)集中控制并管理所有资源,是整个独立智能外设的灵魂,同时提供与SMP和网管等的接口,代码量庞大。传统设计是把所有协议的处理都放在CN核心代码中,如果后续有新的协议添加进来,其修改工作将会十分费时并且出现错误的概率会增高,而如果把不同功能的代码分别放在数个动态链接库中,就无需重新生成或安装整个程序就可以应用更新。

5 结论

通过本文对CMIN02-IIP系统部分模块的设计与改造实现了对原有智能网系统安全性、可维护性的提升,大大降低了IIP系统的设计开发难度,极大地节约了人力资源和开发成本,后续的协议扩充仅需要在动态链接库中添加新协议的实现即可做到软件功能的扩展。

[1] 廖建新. 移动智能网[M]. 北京:北京邮电大学出版社,2000.

[2] ITU-TQ.1221 Introduction to Intelligent Network Capability Set 2[S].1997.

[3] ETSI TS 129.078 CAMEL CAMEL Application Part (CAP) Specification v5.2.0[S]. 2002.

Design and implementation of dynamic protocol module in IIP system

JIN Nai-chen1,2, WANG Jing1,2
(1 Beijing University of Posts and Telecommunications Networking and Switching Technology, State Key Laboratory, Beijing 100876, China; 2 EBUPT Information Technology Co., Ltd., Beijing 100191, China)

This paper presents a kind of measures by making the existing protocols independent from the major program and put them in the dynamic link library. So it only need to implement new protocol of the dynamic link library, by this method we greatly enhanced IIP system maintainability, scalability and security, reducing the system development and design diff culty.

IIP; intelligent network; protocol; C++

TN929.5

A

1008-5599(2014)11-0082-04

2014-10-08

国家973计划项目(编号:2013CB329102);国家自然科学基金资助项目(No. 61471063, 61372120, 61271019, 61101119, 61121001);长江学者和创新团队发展计划资助(编号:IRT1049);教育部科学技术研究重点(重大)项目资助(编号:MCM20130310);北京高等学校青年英才计划项目(编号:YETP0473)。

猜你喜欢

自动机信令消息
{1,3,5}-{1,4,5}问题与邻居自动机
一张图看5G消息
SLS字段在七号信令中的运用
一种基于模糊细胞自动机的新型疏散模型
移动信令在交通大数据分析中的应用探索
广义标准自动机及其商自动机
基于信令分析的TD-LTE无线网络应用研究
LTE网络信令采集数据的分析及探讨
消息
消息