王金柱 王纯 阮稳 杨军
(1. 北京邮电大学网络与交换技术国家重点实验室 北京100876;2. 东信北邮信息技术有限公司 北京100083)
摘要:SLEE(Service Logic Execution Environment)是业务逻辑的执行环境,能够满足下一代网络对新业务的极大需求。本文首先介绍了SLEE的总体结构,然后重点阐述了SLEE的两个主要组成部分:支撑容器和业务容器的体系结构以及功能特点。最后介绍了SLEE在TD-MRBT (TD-Multimedia Ring Back Tone)系统中的应用。
关键词:业务逻辑执行环境;多媒体彩铃
Service Logic Execution Environment in TD-MRBT system
Wang JinZhu1,2, Wang Chun1,2, Ruan Wen1,2, Yang Jun1,2
(1. State Key Lab of Networking and Switching Technology, Beijing University of Posts and Telecommunications, Beijing 100876; 2. EBUPT Information Technology Co. Ltd., Beijing 100083)
【Abstract】SLEE is the execution environment for the service logic. It can meet great demand for new business in the next generation network. This paper briefly introduced the main construction of SLEE and then focused on tow primarily constitution: support container and business container, introduced their system organization and function characteristics, finally explained the application of SLEE in TD-MRBT system.
【Key words】SLEE, MRBT
1.引言
SLEE(Service Logic Execution Environment)是各种增值业务和智能业务的业务逻辑执行环境,是一种容器,类似于EJB(Enterprise Java Bean)。SLEE容器适用于各种面向消息事件的应用程序,例如呼叫控制、多媒体会议、IP电话服务、分布式交互模拟/监控/控制等。该容器的设计目标就是将移动技术和企业技术整合,能够成为高可用性与可靠性电信级平台。为了向多种形式的业务提供有效的运行和管理支持,其主要功能包括:业务运行、业务生命周期管理、业务统计和业务监控等。
AS(Application Server)作为下一代网络环境中业务层的关键实体,是了一个功能强大的业务开发、运行和管理支撑平台。它提供了能够为开发的业务所共享的、可复用的业务构件,使人们在业务开发时只需要关注业务流程逻辑,从而简化业务开发的过程。此外,它还提供了可靠、安全的业务执行环境以及方便的业务管理环境,为业务的部署和运营提供支持。
EBAS(Eastcom BUPT Application Server)是东信北邮信息技术有限公司自主开发的应用服务器,为下一代网络的业务提供了驻留和执行环境[1]。EBAS主要包括业务执行环境和业务生成环境。业务执行环境(SLEE):为多种形式的业务提供了有效的运行和管理支持;业务生成环境(XJOIN):采用了基于脚本语言的业务生成技术,开发者只需通过编写特定的脚本言语就可以实现业务逻辑的开发。本文主要介绍EBAS的业务执行环境。
2.SLEE的实现
2.1 SLEE的总体结构
图1 业务逻辑执行环境总体结构图
如图1所示,业务逻辑执行环境(SLEE)主要由两部分组成:支撑容器和业务容器。
支撑容器提供了网络接入能力和对SLEE的管理能力,采用集中式的设计,一个SLEE只包含一个支撑容器;业务容器为业务的部署和运行提供了支持,采用分布式的设计,一个SLEE可以包含多个业务容器,每个业务容器都是相互独立的。
从SLEE的结构来看,分离了管理功能和执行功能。将网络接入、系统管理等基础性的功能集中到了支撑容器中实现。由于业务的处理需要大量资源(包括 CPU,内存和数据库等资源),并且业务之间是无耦合性的,所以将业务的执行功能分布到了多个业务容器中实现,每个业务容器可以加载运行多个不同的业务。这种结构不仅提高了系统的可靠性和可扩展性,也为实现负载均衡功能提供了条件。
支撑容器和业务容器通过内部消息进行交互。从网络上接收到的消息通过支撑容器分发到具体的业务容器,在业务容器中完成相应逻辑处理后再由支撑容器将消息发送到网络中。
操作维护管理(OAM:Operation Administration and Maintenance)可以通过支撑容器提供的功能接口实现对SLEE的管理和维护。
2.2 支撑容器
SLEE支撑容器由两部分组成:SLEE管理支撑模块和SLEE网络接入模块。管理支撑模块完成对整个SLEE的管理和监控功能;网络接入模块完成网络协议消息和内部消息之间的互相转化:将从承载网接收到的消息(SIP,BICC,HTTP等)转换成内部消息,分发到各个SLEE业务容器中去处理;接收从 SLEE业务容器返回的内部消息,转换成相应的外部协议消息后发送到承载网中。SLEE支撑容器结构如图2所示。
图2 SLEE支撑容器结构图
2.2.1 管理支撑模块
管理支撑模块是由面向内部的业务容器管理接入模块和面向外部的各种功能接口模块组成的。
每个SLEE业务容器都会将自己内部待管理的数据信息以JMX(Java Management eXtensions)接口的形式发布出来。业务容器管理接入模块作为一个JMX客户端,会主动连接所有业务容器的JMX接口,并将这些JMX连接保存起来。各个面向外部的接口模块通过业务容器管理接入模块获取相应数据信息,并将这些数据进行处理后提供给外部。具体包括:
1. 网管接口模块:从管理接入模块中得到业务统计信息(如呼叫处理次数,呼叫成功次数等),将这些数据进行整合后提供给网管服务器。
2. 告警接口模块:从管理接入模块中得到业务容器的关键资源信息(如线程池大小,计时器延时等),实时监控这些数据信息,如果某项数据值超过告警门限值的话,则向告警服务器发送相应的告警信息。
3. 管理监控接口模块:从管理接入模块中得到业务容器的所有管理监控信息,将这些信息进行组织封装后,再以JMX接口的形式发布出来。由OAM读取这些信息并进行相应的管理、监控操作。
管理支撑模块采用集中的方式来管理整个SLEE,具体包括以下优点:
1. 增强了系统的可靠性和可管理性。管理支撑模块和业务容器是运行在不同的JVM(Java Virtual Machine)上的。当业务容器发生故障时(比如业务容器宕机),管理支撑模块可以很快地监测出来,向告警服务器发送告警信息,并且采取适当的恢复措施(比如让管理支撑模块重启业务容器)。
2. 增强了系统的灵活性和可扩展性。管理支撑模块的外部接口模块是可以根据具体需要进行灵活裁剪的。并且通过统一方式来获取相关管理信息,使得用户能够很方便地向系统中增加新的外部接口模块。
2.2.2 网络接入模块
网络接入模块是由面向内部的业务容器消息接入模块和面向外部的各种协议栈模块构成的。
网络接入模块的基本功能是进行内部消息和外部消息的互相转换。面向外部网络的各个功能栈接收到消息后,传递给业务容器消息接入模块。由消息接入模块进行消息的转换,将外部消息转化成相应的内部消息,并用ASN.1(Abstract Syntax Notation one)对内部消息进行编码。消息接入模块将编码后的消息发送给相应的SLEE业务容器。SLEE业务容器进行业务处理后,将返回的消息以内部消息的形式发送给消息接入模块。消息接入模块对消息进行相应的解码,转换成具体的外部消息后,通过外部消息协议栈模块发送到网络。
网络接入模块除了基本功能外,还有以下两个作用:
1. 分担SLEE业务容器的负荷。处理消息的协议栈是需要消耗系统资源的(比如:SIP协议栈中有大量的定时器,这些定时器需要占用很多的内存资源)。将这些协议栈模块和SLEE业务容器部署在不同的服务器上,有效的减轻了业务容器的负荷。
2. 实现SLEE系统的负载均衡功能。业务容器消息接入模块可以获取每个SLEE业务容器的负荷情况,根据不同的负荷情况来决定初始消息(即一次业务处理流程中的第一条消息。)应该发送到哪个具体的业务容器中。后续消息向业务容器分发的路由与初始消息保持一致。通过这种机制,很好地实现了各个SLEE业务容器之间的负载均衡。
2.3 业务容器
SLEE业务容器为业务的运行提供了支撑环境。主要由RA(Resource Adaptor:资源适配器),线程池,运行时基础设施,业务加载,事件路由和JMX管理等模块构成。图3为SLEE业务容器的结构图。
图 3 SLEE业务容器结构图
1. RA(资源适配器)。RA的主要作用:接收由SLEE网络接入模块发来的内部消息,进行消息解码;由事件路由模块控制,根据消息的不同标识,将消息路由到线程池中的指定线程上;为业务提供消息的构造和发送接口,将业务指定发送的消息进行ASN.1编码后,发送到SLEE网络接入模块。根据消息的种类不同,RA具体分为HTTP RA,SIP RA,BICC RA等。
2. 线程池。SLEE业务容器事先创建好一定数量的线程放入线程池中,当收到业务请求消息后,放入指定的线程中进行处理,无需创建新的线程。线程池中所包含的线程数是可以根据线程的使用率进行动态调整的。
3. 事件路由模块。该模块是SLEE业务容器的核心模块,主要作用是对RA上报的事件进行路由,将具有同一上下文关系的消息路由到同一业务的同一会话中去。
事件路由模块中包含两种映射关系:
(1)业务的具体会话标识与消息上下文标识的映射。
业务的具体会话标识是指某个业务一次具体会话过程的标识号,消息上下文标识是指标识消息属于某一会话的ID号(比如:SIP消息中的callID或BICC消息中的CIC)。事件路由模块根据这两者的映射关系就可以在接收到消息时确定由哪个业务会话对消息进行处理。
(2)线程池中具体线程的标识与消息上下文标识的映射。
事件路由模块根据这个映射关系可以将具有同一上下文关系的消息交给同一线程进行处理。这样可以保证虽然底层消息的接收和发送是多线程并行处理的,但是对业务某一具体会话的处理保持单线程串行执行。降低了业务开发的复杂度。
4. 业务加载模块。通过该模块,可以动态的加载,卸载SLEE业务容器中的业务。并且能够保证在无业务处理损失的条件下,对业务进行动态升级。
5. JMX管理模块。将SLEE容器中所有待管理的资源信息以JMX接口的形式发布出去,供SLEE管理支撑模块调用。
6. 运行时基础设施。包括业务运行时所需要的定时器功能和日志追踪功能。
3.SLEE在TD-MRBT系统中的应用
2.1 TD-MRBT业务介绍
多媒体彩铃(Multimedia Ring Back Tone, MRBT)业务作为对2G话音彩铃(Color Ring Back Tone Service,CRBT[2])业务的扩展和增强,面向3G网络用户并兼容2G网络用户[3]。在等待被叫摘机的时间里,主叫用户不再是仅仅听到单调的振铃声或单纯的音乐,而是可以看到极具个性的视频播放。TD-MRBT是基于TD-SCDMA网络的多媒体彩铃系统的解决方案
2.2 SLEE在TD-MRBT系统中的应用
图4 TD-MRBT系统结构图
图4所示为TD-MRBT系统的结构图。系统主要包括前置交换机、EBAS(应用服务器)和EBMS(媒体服务器)。EBAS由SLEE(业务逻辑执行环境)和XJOIN(业务生成环境)共同组成,控制前置交换机信令单元,完成业务逻辑的处理;EBMS控制前置交换机媒体单元,完成媒体资源的控制和处理;EBAS控制EBMS,两者之间通过SIP协议进行通信。
前置交换机收到核心网发送的BICC消息后转发给SLEE的网络接入模块,网络接入模块再将消息转发到适当的SLEE业务容器中,由业务容器进行处理。当需要控制媒体资源时,SLEE业务容器将控制信息封装到SIP消息中,通过网络接入模块发送给EBMS。
SLEE在TD-MRBT系统中的特点:
1. 灵活的业务加载模式:可以动态加载,卸载业务;能够在无呼叫损失的情况下,动态升级业务。
2. 全面的监控和管理能力:通过SLEE管理支撑模块,可以为所有加载在SLEE业务容器中的业务提供全面的监控和管理。
3. 高效的消息处理机制与简单的业务开发相结合:通过事件路由机制,实现了网络层多线程并发处理消息,业务层单线程串行处理消息的功能。在保证应用服务器性能的同时,最大限度降低了业务开发的难度。
4. 系统负载均衡:通过SLEE支撑容器与SLEE业务容器之间一对多的关系,很好地实现了系统的负载均衡。
4.总结
本文首先介绍了SLEE的总体结构,然后重点说明了SLEE的两个组成部分:支撑容器和业务容器的体系结构以及功能特点。最后阐述了SLEE在TD- MRBT系统中的应用。综上所述,SLEE为业务逻辑提供了一个可靠的执行环境,具备网络独立性,能为上层业务逻辑屏蔽外部环境的细节;具备完善的管理能力,能够为业务逻辑的运行提供了一套全面的监控、管理机制;提供了灵活的业务部署和加载功能,支持多业务以及业务的动态升级。
5.参考文献
[1] 阮稳,王纯,杨军,罗诚,王金柱,廖建新,利用EB-NCSP平台构建TD-MRBT业务,电信工程技术与标准化,第21卷第4期,2008年4月,P.81-84
[2] 沈奇威, 廖建新, 王纯, 蔡斌, 多媒体回铃音业务研究, 计算机工程, 2006 , 第32卷第18期,P.231-233,236
[3] 杨军,3G网络中多媒体彩铃的设计与实现,北京,北京邮电大学硕士学位论文,2006
|