【摘 要】本文提出了一种基于多种协议的通信适配器,着重探讨了该适配器中的各个模块,并给出了部分重要模块的实现算法,在传统的服务开通模型上,提出了一种基于多种协议的通信适配器架构。该架构通过业务解析控制器和指令分发控制器,实现了指令和响应差异的屏蔽,使得服务开通系统面对复杂多变的网络环境时,更加从容适配。
【关键词】通信适配器;多种协议; 业务解析; 指令分发
1.绪论
随着电信的重组、网络的融合,新一轮设备替换和设备新增拉开了帷幕,同时随着电信业务的逐渐普及,中国的电信用户数也在不断的攀升,使得原有的设备容量无法满足现有的需要,同样由设备扩容也引起了新一轮设备的更新,但是目前在设备侧没有一个统一的规范和标准,新老设备在接口协议和消息格式上,由于提供商的不同,一定风格迥异,导致运营商原有的服务开通系统在对接新设备时存在困难。
本文在传统的服务开通模型[1]上,提出了一种基于多种协议[2]的通信适配器[3]架构。该架构通过业务解析控制器和指令分发控制器,实现了指令和响应差异的屏蔽,作为服务开通系统的一部分,使得服务开通系统面对复杂多变的网络环境时,更加从容适配。
2.通信适配器总体设计
如果要在业务支撑系统[4]毫不感知的情况下替换网元,而旧网元和新网元与业务系统间对接协议是不一样的,只有在业务系统和网元之间增加一个翻译的模块,对指令和响应信息进行翻译,并在性能上做到近乎无损,这个负责翻译的模块即为通信适配器。
2.1 通信适配器框架模型
通信适配器包括业务控制器和报文分发器两部分,业务控制器和报文分发器是两个独立的应用程序,它们是适配器依据两个不同参数启动的两个实例,从功能上可以分为业务控制和报文分发。报文分发器就像一个代理,它的主要功能是登录到HLR[5]、转发业务报文及维护心跳,对于业务控制器是透明的它就像一个网元一样。而最主要的部分是业务控制器,它将控制和实现整个业务核心,本文的设计和阐述也主要针对业务控制器。
2.2 通信适配器业务控制器原理模型
通信适配器的业务控制器由三部分组成:
(1)路由控制器:鉴别报文是否有效,根据报文确定业务及路由类型。
(2)报文解析器:解析报文、从报文中提取参数、参数转换、参数判断及数据运算。
(3)报文生成器:生成网络报文,特殊报文转换。
2.2.1 路由控制器模块设计和实现
2.2.1.1接受报文鉴权数据配置设计
接收报文包括EHLR发送的请求报文和HHLR反馈的响应报文,为了能够让通信适配器正确的识别和接收这两种报文,需要在数据库中配置一些鉴权数据,完成对接收报文的鉴权,由于EHLR发送的指令,哪怕是同一条指令,实际的参数组成也是动态变化的。在实际的指令中,有一些参数是固定不变的,有些参数是动态出现的,程序也不可能有穷举所有指令的能力。
2.2.1.2接受报文路由处理逻辑设计
在路由控制器前段分别有一个Socket服务器端和一个Socket的客户端,服务器用于和EHLR进行交互,客户端用于和HHLR进行交互,也就是说接收报文在到达路由器前就可以通过不同的渠道来区分两种类型的接收报文,从服务器端接收的报文为E2H类型的报文,从客户端接收的报文为JUDGE类型的报文。路由器根据不同的类型,分别到不同的缓存容器中去匹配相应的路由记录。这里需要对匹配的算法做详细的设计,因为匹配是每个报文必须经过的步骤,性能的关键点,匹配算法的好坏直接影响整个系统的性能。业务对系统的要求,关于执行性能,首先是关键业务需要保证优先执行。其次,发送频率高的业务也要保证能够优先匹配,但是对于某个指令的发送频率是一个动态波动的数值,不是一成不变的,所以单纯通过优先级是解决不了发送频率问题的,需要引进一个新的机制,为每一个缓存的匹配记录增加一个匹配度的属性,该属性记录该条数据被匹配的次数,每被匹配一次匹配度就加1。
2.2.2 报文解析器模块设计和实现
2.2.2.1报文解析数据配置设计
解析器需要完成的工作是将EHLR指令中有用的参数值进行提取、计算和转化,供报文生成器使用,那么提取、计算和转换就是解析中的关键了。一条EHLR指令中包含n个参数,每个参数的提取和计算的规则都不一样,为了得到最后生成报文中的一个参数值,可能需要不止一条的解析规则。
2.2.2.2报文解析器处理逻辑设计
设计的基础需要清楚所要设计模块的输入输出是什么,通过上文的一系列的分析可知,报文解析器的输入是EHLR或HHLR发给通信适配器的原始报文以及经过路由控制器输出的数据,输出是根据解析规则获取的原报文中的参数值或根据原报文中参数值计算的目标值。可以将输出定义为一个HashMap容器,来存放这些值。
2.2.3 报文生成器模块设计和实现
2.2.3.1报文生成数据配置设计
当通信适配器接收到一个合法的从EHLR发来的报文时,后续需要发送到HHLR,以及反馈给EHLR的响应报文模板就都已经确定,即通过对EHLR和HHLR指令的分析,每一个EHLR的指令都可以分解为一个或多个HHLR的指令,并且每一个EHLR指令的响应报文都是确定的。因此,发送到HHLR的报文模板,以及反馈给EHLR的响应报文模板都可以配置出来。
2.2.3.2报文生成器处理逻辑设计
报文生成器处理逻辑需要分为两条流程去设计,因为对于同样的接收报文,E2H类型和JUDGE类型的处理方式不一样的。
所有的报文适配都是以E2H报文为开始点的,报文生成器接收到E2H的报文就表示一个流程的开始,需要构建新的流程对象。所有的流程都以发向ECMD的指令为结束。
流程在流转的过程中产生每个流程节点需要发送的报文,传统的方式使得流程处理和报文发送成为串行执行的方式,在串行期间一个分发器只能为一个流程服务,对性能的损耗比较大。为了解决该问题,通信适配器引入内存数据库技术,用内存数据库将处理流程和报文分发隔离开,实现异步处理。
3.总结
本文研究了业界服务开通,通信适配器的相关技术,设计并实现了一种基于多种协议的高效适配器,该适配器采用协议适配和消息适配机制,并且在适配的基础上引入了基于匹配度的动态调整匹配度模型。在解析器部分模块中,给出了一种基于正则表达式改进的解析表达式算法,该表达式不仅有效地简化了解析表达式的处理,而且也大大简化了数据配置的难度,使得系统更易维护。另外,提出了动态匹配技术,通过引入匹配度概念,根据系统在运行过程中实际的解析规则被匹配的次数,动态调整解析规则的优先级,从而能够优先满足那些发送频率较高和使用较频繁的指令快速地匹配,提升适配器整体的处理效率。
参考文献:
[1]严磊.全新IT规划下服务开通系统的定位和建设思路——新一代综合业务服务开通系统介绍.通信世界.2005,(48):58-59.
[2]吴磊,方马,卢东昕,谢世波.网管系统多协议适配器框架的JCA构架实现.计算机与现代化.2004,(6):61-63.
[3][5] 周丹,陈旭东,杨芳南.综合网管系统中基于XML的接口协议适配器.2005,25(10):1651-1653.
[4]肖丁,安静,王柏.基于构件的电信运营支撑系统的开发.计算机应用研究.2006,23(02):167-170.
[5]支勇.综合HLR的研究,[硕士学位论文].华南理工大学,2006.
作者简介:
田小敏(1979-),女(汉族),江苏省南京市人,南京工业职业技术学院讲师。