1 背景
随着NGN、IMS等以IP为承载核心的网络逐步投入建设和商用,以及3G、WiFi、WiMAX等无线接入技术的不断涌现,电信业务超向于:
融合
用户可以通过多种终端、多种接入手段随时随地享受多网络服务。在IP统一承载后,话音业务将只作为多网络服务中的一种业务特征,与数据和多媒体的区别不再明显。
个性化
用户在满足基本的交流和通信需求后,开始追求价值消费和个性化,这就需要将传统的电信价值链拉长,引入SP/CP/ISV接入电信业务开发,提供多样化内容。
基于以上背景,提供一个开放性好、扩展性强、架构先进、支持业务多样的增值业务开发平台成为各中小电信业务提供商的竞争利器。SNE(Service Network Engine)正是这样一款架构先进的业务开发平台。
2 定位
SNE定位于提供一个融合、开放、高效、电信级别的增值业务开发平台,帮助中小电信业务开发商从容应对FMC(fixed-mobile convergence)、ICT(Information and Communication Technologies)融合的趋势,支持电信创新业务的快速开发。
SNE系统在电信业务系统中的位置如图2-1所示。
图 2-1 SNE在电信系统中的位置
SNE在电信系统中的位置解释如下:
业务开发人员可以通过SNE平台开发娱乐、信息、企业等电信的应用。
基于SNE平台开发的电信业务可以无缝运行在SNE平台上。
SNE平台支持固定、移动和IP等网络的统一接入,实现电信业务的多网络共享。
3 功能
3.1 系统组成
SNE平台的系统组成结构如图3-1所示。
图 3-1 SNE平台的系统组成结构图
SNE平台的系统结构解释如下:
SNE对外体现为一个底层平台,基于SNE平台,SNE的开发环境可以开发出满足不同应用场景的话音服务(Voice App)、数据服务(DATA App)等。
SNE平台提供总线结构的分布式运行环境,通过SN开发环境开发的服务,可以动态加载到SNE平台中运行。
SNE平台提供各类公用SDK,供上层应用服务调用。提供SDK接口包括定时器、消息调度、配置管理等。
SNE平台提供多种协议适配器。例如:支持计费的Diameter消息的接入、支持网管消息的接入等。
3.2 系统功能
提供运行环境
SNE平台提供高性能、分布式服务的互操作环境。主要表现在:
SNE提供了一个高性能的消息总线,通过该总线,分布式对象之间可以一种统一的方式相互通信,进而形成一种基于SOA的架构。
总线提供统一的通信语言,业务无需关注总线采用的通信协议细节。
服务之间可以通过消息总线自由进行通信,从而满足服务的分布式部署与松耦合集成。
总线通过命名服务向业务提供透明的服务路由能力。
通过资源适配器,SNE将外部协议转换为统一的总线消息。
支持异步及同步两种通信方式。
提供开发环境
SNE开发环境(SDT)
提供强大的图形化业务建模能力。
支持图形化和JAVA脚本两种编辑方式实现业务逻辑,编辑完成后,可以由SDT中的集成工具根据模型自动生成代码。
具备强大的业务调试功能,提供图形调试和脚本调试两种调试方式。对于图形调试,可以对图元设置断点,在调试过程中,可以动态显示业务的执行轨迹,同时,能够跟踪和调试图元内部的代码
提供业务开发仿真器,例如MSMC、话机终端等,方便业务开发人员完成业务离线测试
在完成业务开发后,SDT提供部署图和部署工具,用户可以方便的进行业务部署。
提供公有功能
SNE平台提供用于容器运行和上层应用开发所需要的公有机制和管理功能。
SNE 平台提供的公有机制包括:
定时器
提供毫秒级定时功能,支持定时器创建、取消和重置等功能。
调度机制
即软总线机制,提供分布式对象的消息缓存、回调、回调异常处理功能。
命名服务
类似于域管理器,用于创建和管理分布式对象的标识。应用可以调用其接口,实现分布式平台各服务的管理和查询。
日志机制
以日志文件的形式提供了一种灵活可靠的机制输出平台的运行信息。
消息管理机制
消息处理都进行了封装,并提供简单的消息接口供业务开发服务。
其他公有机制
SNE Platform提供公共管理包括:
配置管理
集中存储和管理平台上服务启动或运行过程中的配置数据。SNE平台上的服务可通过相关接口动态的获取或修改配置数据。同时向其子系统进行数据同步。
服务管理
用于管理运行在SNE平台上的服务的生命周期,包括服务的安装、加载、激活、去激活等。
License管理
用于SNE系统的许可管理。
其他公共管理服务
提供多种协议接入
SNE Platform提供一个开放的接入环境,支持的协议包括Diameter、SOAP、RMI、SIP、CAP、INAP等。
4 亮点
4.1 融合
SNE系统支持固定、移动、IMS和IP的融合,支持各种不同的网络协议,SNE系统的网络接入如图4-1所示。
图 4-1 SNE网络接入图
4.2 开放
4.2.1 基于服务的SOA架构
SNE平台是基于SOA的架构进行设计,所有的组件都是服务。SNE内部组件之间采用IDL(Interface Definition Language)接口进行通信。IDL调用通过消息在SNE的消息总线上进行传递。
4.2.2 高性能的消息总线
总线机制
SNE的消息总线机制包括:
支持各分布式组件之间的通讯。
为上层提供统一的通讯平台。
4.2.3 基于消息总线的服务调用
SNE的消息总线,支持各种SNE服务以及外部系统无缝的集成,具体如下:
SNE服务通过IDL定义接口语言,可以向外提供服务。服务的请求者,通过IDL接口和业务总线,调用SNE服务。
外部系统也可以请求SNE服务,通过各种协议Apdater,将外部协议转换成总线消息,调用SNE的服务。例如SIP协议,CAP协议等。
4.2.4 服务的命名管理和寻址
SNE Platform的命名服务提供了SNE各种服务的命名注册和服务寻址功能,上层的应用通过命名可以发现服务,并请求服务,而具体的服务的位置对应用是透明的。
4.3 高效
4.3.1高效的业务开发环境SDT
SNE提供高效的业务开发环境SDT,其高效主要表现在:
SDT提供图形化的业务建模能力,并可以自动生成代码。
SDT提供强大的调试工具,能够快速定位解决问题。
SDT提供强大的测试仿真功能,可模拟交换机、手机终端等。对业务进行离线测试。
SDT提供数据视图,以图形方式定义数据库表、存储过程、命名SQL和字段属性。在业务部署时,自动生成。
SDT提供部署工具,用户可以方便的进行业务部署。
支持java语言编程。
4.3.2 丰富可重用的电信组件仓库
SNE提供电信业务相关的组件仓库和SDK,业务开发人员可以方便的进行业务开发,主要表现在:
SNE提供大量的电信能力的重用组件,封装了大部分的电信能力。用户可以不关注底层的电信能力,也可以轻松快捷的开发出符合要求的电信业务。
SNE的组件仓库可实现分层扩展和重用,SNE提供的业务模板和定制模板,业务开发人员只需要编写少量的代码,实现模板中定义的扩展点,即可实现电信业务的开发。
4.4 高可靠性
SNE系统的高可靠性体现在:
支持冗余的组网方式
NE系统支持双机热备、集群,以及地理容灾等多种冗余组网方式。当主机发生故障时,可以迅速切换到备机或者容灾站点运行,尽量缩短业务受影响的时间。
支持负荷分担
当某个服务的访问量过大时,可以多启动几个服务实例,并通过一定的负载平衡机制,分发呼叫到各个服务实例,从而分担部分服务实例的访问压力。
支持地理容灾
当生产中心机器发生灾难和故障,业务可能长期中断。容灾方案就是为了实现对生产中心的重要设备数据和运用软件进行远程备份,生产机出现灾难和故障时可以由容灾机对业务进行处理。
支持过负荷控制
SNE系统提供统一的过负荷控制框架,支持静态过负荷、基于CPU占用率的动态过负荷、基于系统响应时延的动态过负荷、基于系统待处理的消息个数的动态过负荷、基于激活的Entities个数的动态过负荷等