基于字符串解析的消息转换适配器的研究与实现

时间:2022-04-12 09:32:30

基于字符串解析的消息转换适配器的研究与实现

【摘 要】通过对原有业务支撑系统的服务开通系统的分析,提出了在传统服务开通系统和新网络设备之间加入消息转换适配器,通过消息转换适配器有利于运行商迅速地推出新业务,使得业务系统对网络侧的设备变更不感知,网元接口可维护性好,加快服务开通操作,降低成本,提高客户对运营商的满意度。

【关键词】消息转换适配器;服务开通系统;网络设备;网元接口

1.绪论

在电信领域,“服务开通[1]”是以运营支撑系统的前后端为分界,前端指面向客户部分,后端指面向网络和资源部分,服务开通系统是连接客户系统和网络资源的桥梁,服务开通系统屏蔽了所有网络侧的差异,提供唯一稳定的接口给客户系统,从前后端的接口数量来看,服务开通系统和网络侧的关系更为紧密。因此,后期当网络设备需要因更新和扩容的需求而变更到另外一个供应商的时候,如何能够实现灵活的替换网络设备,而不影响业务系统就是本文需要研究和解决的问题。

为了解决网络设备灵活适配的问题,消息转换适配器的概念应运而生,它在不改变原有服务开通系统对接方式的情况下,负责将服务开通系统发送的老的设备指令自动适配翻译成新设备所对应的指令;反之将新设备反馈的响应消息翻译成老设备对应的响应消息并反馈给服务开通系统。消息转换适配器的意义在于,使得网络设备在面对不同的组网情况下能够更加的灵活,更加从容的面对电信复杂和多变的组网情况。

下面我们将详细阐述这种场景,以一个局点的对接实际情况为例,某个运营商,运营2G全球移动通信系统(GSM)网络,需要服务开通系统对接的网络侧的设备(下文统称网元)有归属位置寄存器(HLR[2])、智能网(IN)和移动数据业务平台(MDSP),具体组网如图1所示。

由于A厂商的HLR设备较老,已经无法负担日益增长的用户,所以运营商决定引进B厂商的HLR来替换A厂商。但两家厂商在HLR的对接协议,指令格式,以及实现方式上都存在很大的差异,所以在替换HLR的同时需要修改服务开通系统对接HLR的接口,一般局方出于稳定性的考虑,不会改动服务开通系统,所以消息转换适配器的概念就提出来了,实现机制如图2所示。

2.消息转换适配器框架模型

2.1 消息转换适配器框架模型

消息转换适配器包括业务控制器和报文分发器两部分,业务控制器和分发器是两个独立的应用程序,它们是适配器依据两个不同参数启动的两个实例,从功能上可以分为业务控制和报文分发。报文分发器就像一个,它的主要功能就是登录到HLR、转发业务报文及维护心跳,对于业务控制器是透明的它就像一个网元一样。而最主要的部分是业务控制器,它将控制和实现整个业务核心,本文的设计和阐述也主要针对该部分。

2.2 消息转换适配器业务控制器原理模型

消息转换适配器的业务控制器由三部分组成:

(1)路由控制器:鉴别报文是否有效,根据报文确定业务及路由类型。

(2)报文解析器:解析报文、从报文中提取参数(如:IMSI、MSISDN等)、参数转换、参数判断及数据运算。

(3)报文生成器:生成网络报文(注:报文可能是多个,这里说网络报文非网元报文,这里生成的报文包括网元报文和对业务系统的回馈报文两种),特殊报文转换(如二进制报文等)。

2.2.1 路由控制器功能描述

在网络上消息转换适配器把业务系统和网元设备都统一到一个层面上了,对消息转换适配器而言所有的介入都是等价的。

下面详细描述一下路由控制器的工作原理。路由控制器负责各个报文的处理流转,是一个控制中枢。所有的接收报文在消息转换适配器接收到时,都要根据配置的正则表达式[3-4](route_exp属性)去匹配,如果匹配上,则表示此报文是系统可以识别的,接收并根据已匹配到的记录获取相应的属性值,转到报文解析器处理;反之,返回信息非法的报文告知业务系统。

2.2.2 报文解析器功能描述

图1 GSM网络服务开通组网

图2 引入消息转换适配器后的组网图

2.2.2.1报文解析场景分析

报文通过路由控制器的鉴别报文,已经被消息转换适配器系统接收,并根据适配到的路由信息,转交下一步处理。消息转换适配器的终极目标是将EHLR的指令转换成HLR的指令,或者是将HHLR的相应报文,转换成EHLR格式的相应报文。那么怎么转换,这是本文要讨论的问题,以下是对实际指令的场景分析。

(1)场景一描述:

业务系统下发的EHLR格式的指令:

(2)场景二描述

2.2.2.2字符串解析[5]

例:报文HGAME:AMSISDN=%MSISDN%;是EHLR报文,用来删除附加号码。从业务角度来讲我们需要从报文中获取附加号码,以便生成删除附加号码的HHLR指令。从数据的角度来分析附加号码就是“AMSISDN=”字符串之后的一串连续的数字,所以以下解析表达式即可获取到附加号码并给数据命名为AMSISDN(这个表达式就是描述了一个“获取AMSISDN= 之后一串连续的数字”的意思,其中如果=两边有空格不论数量多少,都给以忽略)。

说明:在解析表达式中由两部分组成,一种是匹配表达式,另一种是命名表达式。

2.2.3 报文生成器功能描述

报文生成器负责生成网络报文,报文可能是多个,这里说网络报文非网元报文,这里生成的报文包括网元报文和对业务系统的回馈报文两种,所以需要设定类型来区分这两类报文,可以将发往下游网元的报文定义为HCMD类型,发往业务系统的响应报文定义为ECMD类型。

其实业务系统发过来的报文经过路由控制器、报文解析器的处理,流转到报文生成器,就只剩下报文拼接环节了,根据报文解析器中获取的参数值,按照一定的规则替换报文生成器报文模板中需要替换的参数,即可生成真实的报文。

3.总结

本文研究了协议对接、消息格式转换、非阻塞技术(NIO[6])和正则表达式等相关技术,在权衡现有技术的弊端的基础上,设计并实现了一种基于字符串解析和NIO架构的消息转换适配器,该适配器采用Java开发员的软件开发工具包(JDK)自带的正则处理机制,并且在此基础上引入了正则解析、运算解析和SQL解析模式。论文所做的主要工作如下:

(1)借助正则表达式和内存数据库技术,设计并实现了消息自动转发路由引擎、报文自动解析引擎。具体包括:报文消息编解码,报文拆分,特征提取以及协议适配。

(2)在解析器部分模块中,给出了一种基于正则表达式改进的解析表达式算法(命名表达式)。该表达式不仅有效地简化了解析表达式的处理,而且也大大简化了数据配置的难度,使得系统更易维护;给出了动态匹配技术,通过引入匹配度概念,根据系统在运行过程中实际的解析规则被匹配的次数,动态调整解析规则的优先级,从而能够优先满足那些发送频率较高和使用较频繁的指令快速地匹配,提升适配器整体的处理效率。

参考文献:

[1]杨武,杨剑康.综合服务开通系统的设计及关键技术分析.2009,32(8):45-48.

[2]张添.面向下一代网络的资源管理与服务开通解决方案.电信技术.2007,(7):108-110.

[3]范慧萍.基于正则表达式的协议识别研究与实现,[硕士学位论文].国防科学技术大学,2007.

[4]杨成科.基于正则表达式的模糊查询和数据匹配验证.电脑知识与技术.2008,(29):411-412.

[5]杜立智.一种实用的字符串解析技术.计算机时代.2003,(6):33-34.

[6]曾冠东.基于MINA构建简单高性能的NIO应用.程序员.2008(2):121-123.

作者简介:

田小敏(1979-),女(汉族),江苏省南京市人,南京工业职业技术学院讲师。

上一篇:C12定子模卸料系统的改进 下一篇:变电运行事故的预防与处理