李春梅,林蓓,李秉智
重庆邮电学院,重庆400065
摘 要:通信中间件已成为很多应用系统连接的解决方案,它为应用提供一个单一的、一致的、与平台无关的接口,隐藏了以往所有复杂的网络计算。在大多数应用中,连接的可靠性和安全性是系统设计人员首要考虑的问题,通信中间件以其可靠的性能满足了大多数应用要求。七号信令网是电信网的神经中枢,通过对信令网的监测我们能够了解电信网的运营情况,介绍了如何应用MQSeries构建七号信令监测系统。
关键词:通信中间件;七号信令网;MQSeries;监测
0 引 言
七号信令网技术是现代电信网的关键技术之一,它为电话网、综合业务数字网(ISDN)传送有关呼叫建立、释放的信令,同时也在交换局和各种特种服务中心(如移动HLR、智能网SCP和网管中心)之间传送数据信息,是具有多种功能的业务支撑网。维护、管理好七号信令网具有重要意义。七号信令网管系统和七号信令监测系统是维护管理七号信令网的重要手段。
以前由于对电信业务的使用较少,所以对信令网的监测只需要用一个单独的仪表就能满足要求,现在随着经济的发展,对电信业务的使用越来越多,单独的仪表因只能监测很少的几条链路和不能对本地区内信令消息进行整合已不能满足要求,因此需要一个信令监测系统,能够监测本地区所有链路,并能够对该地区内的信令消息进行整合,以备跨信令点查询。在这个系统中,单机已不能完成所有的任务处理,需要把用户界面和信令分析程序分开在不同的机子上运行,同时需要一个中心站来对本地区内所有监测的信令点的消息进行整合,为了完成任务这些不同机器之间需要进行通信,直接进行TCP/IP网络通信编程势必增加程序员的负担和不能保证可靠性和安全性,并且不能进行跨协议、跨平台连接,因此我们采用了通信中间件,让程序员把主要精力放在信令分析、处理上,并且这样缩短了系统的开发时间。
1 通信中间件IBM MQSeries简介
中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源、管理计算资源和网络通信。中间件在操作系统、网络和数据库之上,在应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。
消息队列中间件(MOM:message-orientedmiddleware)是通过使用驻留在内存或硬盘上的队列作为消息缓冲,提供分布应用程序之间的一种可靠的信息交换机制,以及分布式系统的应用集成方式。与RPC和ORB技术不同,消息队列服务是一种松耦合的分布式应用集成形式。
MQ Series是IBM公司的一个中间件产品,它以消息队列的方式为分布式环境下实现程序之间的通信提供了灵活、快速并且易于使用的解决方案。这种消息交换与硬件、操作系统无关,并能够保证数据既不会丢失又不会被复制。其系统的分层结构如图1所示。
图1中,MQI是公共应用程序编程接口,它可用于应用程序运行的任何平台;MCP是消息通道协统议,用来进行MQSeries系统的消息传送,将消息投送给不同系统的各种底层。
在MQSeries系统消息传输中,本地应用程序发送一条消息给MQI,MQI添上一个包含消息路由的头部,然后将其置于本地传输队列。MCP采用指定的传输协议和物理连接将消息发送给远程系统。在另一端,消息逆向上行。远端应用程序通过MQI读取消息。MQSeries系统根据每个消息头记录中的信息将消息发往不同的目的地。
MQSeries应用间的通信是通过使用简单的逻辑界面MQI将消息放入队列进行的,一旦消息被放入队列,应用程序就不再参与消息的传递而可以解脱出来继续进行其他流程的处理,以提高灵活性和性能,即使在应用停止或网络出现故障的情况下,MQSeires也可以保障消息被准确地向目的地传递一次,且仅仅一次。应用A和应用B同在一台机器上,应用C在一台远程的不同机器上。当应用A要与应用B通信时,它调用MQI,将消息放入队列1。一旦应用B准备完毕,它可以通过MQI获得这个消息。当应用A要与应用C通信时,它用同样的方法将消息放入队列2,应用C准备好后,便可以获得这个消息。这种简单的模式可以扩展为在通信网络的一端或两端有多个应用,它允许高度复杂的分布式处理系统构建在不同的平台和环境上。由于应用之间的通信是异步的,因此在通信过程中不会有应用停止或进行主控这一过程,这带来了很好的性能和良好的容错能力。
MQSeries使用最普及的通信协议(TCP/IP,SNA/LU6.2,DECnet,NetBIOS,IPX)和编程语言(Assembler,COBOL,C,C++,VisualBasic,和Java)。
2 系统分析与设计
七号信令网管系统从STP和SP等网元设备提 取信息对网络设备进行监视控制,七号信令集中监测系统独立于电信网络和设备之外,通过高阻跨接在七号信令链路上,直接采集七号信令数据,经过对数据的分析处理,转化成呼叫详细记录CDR(calldetailed record)或TDR(transaction detailedrecord),然后对CDR或TDR进行分析处理,提供七号信令(包括TUP、ISUP、INAP和MAP等)的协议分析、呼叫跟踪、网络性能统计、网络业务统计、网络计费和欺诈防范等功能。
信令集中监测系统由信令监测设备、中心站、远端站和客户机组成。客户机可以连接到中心站或远端站。远端站负责采集所在信令点的原始数据,并进行协议分析和相关数据入库,并把相关数据上报中心站。中心站负责整合同一层次信令点来的数据,进行集中监测和维护,客户机以监测系统的用户界面程序运行,向用户提供所要查看的数据和图表。中心站和客户机、远端站和客户机、中心站和远端站、远端站与远端站间采用三层结构,用通信中间件进行连接。他们之间的连接首先必须保证可靠性,这样监测系统得到的数据才是准确的。监测系统结构如图2所示。图2中虚线部分表示虚拟连接,图2中只画出了一个远端站系统,本来一个中心站系统至少对应着两个远端站系统,所有远端站系统和中心站系统的连接都是相同的,图2中省略了远端站系统之间的连接。
选用通信中间件是由于它的可靠性和无缝连接 能力,MQSeries能够将不同硬件平台和软件平台的系统连接起来。我们最初采用了直接在TCP/IP套接字上编程,但是这样不但花费了大量的时间,而且即使是在局域网内的测试结果也不令人满意,数据传输的可靠性得不到保证,客户端的请求得不到准确的应答,花了很多精力也没有很好地解决这些问题。后来选用了MQSeries,程序员只需运用其提供的单一的系统编程接口,就将其融合到系统中很好地解决了系统内部的通信问题。因为在我们的系统中存在着不同硬件平台和软件平台的互联,客户端选用的是一般的组装机或品牌机,软件运行的是Windows 98或2000系统,远端站和中心站选用的是IBM RS6000,软件运行的是IBM AIX系统或Windows NT系统,以对服务器端的性能和可靠性有更高的要求。
系统采用多线程设计技术,在系统中只要保证基本网络连接,程序员就可以把精力投入到系统真正要解决的问题中去。在客户端,用户通过用户界面提出请求,应用程序将请求放入相应的队列中,应用程序就不用考虑其他问题了,请求消息通过消息传输队列到达远端站或中心站服务器端,服务器端应用程序有独立的线程负责接收客户端请求,收到请求消息后处理请求,处理后将结果放入相应的应答队列,客户端应用程序也有独立的线程负责接收服务器端应答消息,处理后通过界面以简单明了的方式呈现给用户。远端站到中心站服务器的数据是定时传送的,远端站应用程序接收原始信令消息,进行协议分析、统计后以一分钟或五分钟的间隔定时向中心站服务器发送,中心站服务器也采用独立的线程接收,接收处理后入库。
本系统中,对远端站和中心站服务器,采取了冗余备份的策略,这样在一台服务器出现故障时,另一台服务器接替它的任务继续向用户提供服务。
3 结 论
大型应用系统开发采用中间件已成必然趋势,中间件提供单一的应用接口,能够实现跨硬件和软件平台的连接,MQSeries提供了一系列功能,对系统进行集成以提供快速、可靠和一致的系统内信息访问能力。MQSeries以消息处理和消息排队的通信模式提供应用到应用的边连接。基于通信中间件MQSeries开发七号信令监测系统,能够保证信息联通的可靠性和安全性,同时也缩短了开发时间,为企业赢得市场。
参考文献
[1] 杨晋儒,吴立贞.七号信令系统技术手册[M].北京:人民邮电出版社,2001.
[2] 仲季.什么是中间件[Z].灰狐网站2001,07.
[3] MQSeries Intercommunication[Z].MQSeries文档,IBM,1997.
[4] 张治中,张云麟,程方.七号信令监测方法[J].重庆邮电学院学报(自然科学版),2000,12(2):38-41.
[5] 钟庆红,张军,熊九军.七号信令网关的实现方法[J].重庆邮电学院学报(自然科学版),2000,12(3):77-79.
摘自《重庆邮电学院学报》
|