统一通信应用服务器软件架构研究

2018-03-21 12:29罗有平周炳然
计算机与网络 2018年1期
关键词:应用服务内核网关

罗有平,周炳然

(1.中国电子科技集团公司第五十四研究所,河北石家庄050081;2.河北省教育考试院,河北石家庄050091)

0 引言

统一通信系统代替传统通信网络中各自独立的应用业务系统,通过使用SIP协议[1]和移动解决方案,实现网络业务层的融合[2]。为用户提供多媒体电话、多媒体会议、即时消息及状态呈现等富媒体业务,并提供通信业务开放接口,支持第三方应用系统进行二次开发。统一通信可降低用户通信成本,提高沟通效率,为用户带来全新的协作体验,真正实现各类通信的统一,不受位置、时间或设备的影响[3]。

统一通信应用服务器软件从需求、设计、开发、测试到交付是一个漫长的过程,为适应用户需求的不断变更与新增,需要构建一个分层、可扩展、组件化的应用服务器软件架构,以减少开发和交付应用服务软件的时间。

1 应用服务技术研究

统一通信应用服务位于通信业务控制服务之上,应用服务业务的提供方式如图1所示,通过业务触发来完成用户的接入、第三方注册、业务提供及路由选择等功能。应用服务器(Application Server,AS)为多种有线无线接入网络提供统一的业务功能,实现用户平面、控制平面和业务平面的分离[4]。AS与CSCF之间采用标准的ISC接口[4],与HSS之间采用标准的Sh接口。

图1应用服务业务提供方式

应用服务独立于控制服务,通信业务控制服务不需要处理业务逻辑,为统一通信系统提供基础能力支持,包括用户注册、用户管理、地址解析和路由及业务触发等。通信业务控制根据用户的初始过滤规则进行业务触发,AS接受通信业务控制服务触发的业务,各个AS分别实现业务的具体逻辑,完成业务逻辑处理,并返回处理结果。这种分离使得业务的开发、提供和部署独立于承载网络层,业务逻辑不受制于承载网络,从而具有更大的灵活性,促进富媒体业务的发展与融合。

2 可扩展的应用服务软件架构设计

统一通信应用服务器软件采用松耦合、模块化的软件架构,其中应用服务开发基础平台是统一通信应用服务器软件架构的核心,是应用逻辑的基础构建,软件架构如图2所示。通过业务开放网关实现第三方应用系统的二次开发[5],应用服务器为用户提供B/S和C/S模式的客户端[6]。

图2应用服务器软件体系架构

2.1 操作系统

操作系统软件是应用服务器内部连接硬件资源和应用软件的系统软件[7],基于开放源码的Linux操作系统具有良好的开放性,Linux操作系统主要由4部分组成:

①应用程序:与用户的关系最密切,用户应用程序处在操作系统的最高层,作为操作系统的一个进程来运行。

②系统调用库:系统调用的集合即应用编程接口(API),是应用程序与系统之间的接口,是连接用户进程与内核中服务函数的纽带,通过执行系统调用库,便可进入到内核空间,运行内核中对应的服务函数。

③内核:内核是操作系统的核心程序,它向外部提供对设备的管理和调用,包括内核抽象、对硬件资源的访问、内存和磁盘上的文件管理及网络上收发数据包等。

④硬件:整个计算机系统中的物理设备,包括CPU、硬盘、内存及网口等。

2.2 应用服务开发基础平台

应用服务开发基础平台包括零操作系统(ZOS)、网络层套接字接口(SELECT/EPOLL)、XML编解码器、协议栈、事务层、Shell、定时器及高可用性等构件,具体如下:

① ZOS:基于操作系统之上的服务平台,提供了支持多种操作系统环境下的统一抽象接口操作,使得应用服务能够独立于特定的处理机、编译器和操作系统等应用环境,降低操作系统对应用开发和维护的影响,使开发人员把更多的精力放在对应用的设计实现上。

②套接字:套接字屏蔽底层网络的一些复杂的协议,使开发人员可以方便地访问TCP/UDP/IP,从而开发出各种网络应用服务。

③ XML编解码器:XML已成为互联网数据交换的标准[8],不仅用于数据交换,也经常用于定义各种配置文件,因此,XML编解码器在基础平台的构建过程中也十分重要。

④协议栈:以一个事务周期为其工作周期,协议栈模块启动后,首先打开传输层监听,对消息进行解析,并将解析出的数据送入存储区,应用服务处理后,再通过传输层发送出去。协议栈中的状态机在每个事务周期完成后改变自身的状态,下个周期开始后根据接收到的消息类型确定采用的数据处理方法和文本生成方式,并在特定的状态下开启多媒体会话进程,使整个会话能够正常进行。

⑤定时器:统一通信系统离不开通信协议,而定时器是保证通信协议正常运行的基本要素之一。通常通信协议用到的定时器定时精度要求不高,但数量比较大,而硬件提供的定时器个数很少,操作系统提供的定时器要么数量有限,要么太多的定时器会降低系统性能,不能满足要求,所以采用软件实现大量定时器的方法。

⑥ Shell:对于Linux来说,图形桌面只是Linux的一个应用程序,应该说Linux对于用户的真正的界面就是Shell,通过Shell来调试和测试程序,极大地方便测试和定位问题。

⑦高可用:因为数据是冗余备份的基础,所以高可用模块以数据库为基础。主备应用服务器间通过心跳相互检测,主应用服务器工作时,在检查点将关键数据存入数据库,一旦主应用服务器故障,备应用服务器可通过心跳异常检测到,备应用服务器由待机态转为工作态,从数据库提取故障发生前最近一次检查点的关键数据,按照此数据将软件恢复到主应用服务器故障前的状态,并将自身转为主应用服务器。

2.3 业务开放网关

业务开放网关是统一通信应用服务器中的重要组成部分,主要功能是将应用服务以Web服务接口的形式开放给第三方,使其能够更加简单方便地开发应用。业务开放网关提供Web服务发布的渠道,将描述Parlay X API能力的WSDL文件转换为Web服务接口代码,并提供SOAP消息的编解码功能,以实现对具体Parlay X API的调用,并且业务开放网关具有将Parlay X API与SIP进行映射转换功能,它需要将Web Service方式的接口调用经过逻辑处理转换为相应的SIP信令发给相应的应用服务单元。

3 应用服务开发及实践

应用服务与客户端进行协议交互,协作完成统一通信系统各项功能,主要功能包括视频对讲、多媒体会议、即时消息、用户状态呈现、群组管理、通讯录管理、文件传输及寄出通讯录管理等。基于上述的应用软件开发基础平台,进行统一通信应用服务开发,如图3所示。

图3统一通信应用服务开发

4 结束语

统一通信应用软件架构采用分层模块化的设计思想,用AS技术实现多媒体电话业务、多媒体会议业务和融合通信业务等功能。分别采用SIP协议实现多媒体会话控制,采用MSRP协议实现图片、视频及文件等内容的可靠传输,采用Parlay X Web Service技术实现业务能力封装与提供。

提出的多因子按需加权分群算法中,按需的含义在于通过综合分析各种网络环境参数对网络分群结构稳定性的影响,并对各种决定性参数变量赋予不同的对应权值,实现一种优化的分群算法,提高大规模动态变化网络管理的实时性和可靠性。

[1]Rosenberg J,Schulzrinne H,Camarillo G,etc.RFC3261,SIP:Session Initiation Protocol[S].Internet Engineering Task Force,2002:6.

[2]陈立水,王俊芳,赵进平,等.统一通信技术研究及展望[J].无线电通信技术,2014,40(2):1-3,11.

[3]张海,SIP模式下统一通信端系统的设计与实现[J].信息通信,2016,167(11):194-195.

[4]3GPP TS 23.228 V13.2.0,IP Multimedia Subsystem(IMS);stage 2[S].3rd Generation Partnership Project,2015.

[5]郑侃.IMS点击拨号业务平台的设计与实现[D].北京:北京邮电大学,2011.

[6]史黎黎,牛宾.基于Linux系统的即时通信软件开发[J].无线电工程,2015,45(8):94-96.

[7]杜金祥,杜宇轩.基于Linux的局域网聊天系统设计[J].山西电子技术,2014(1):67-69.

[8]孙婧,刘莹,孟景涛,等.基于XML的软件通用程序框架[J].无线电工程,2015,45(6):25-27.

猜你喜欢
应用服务内核网关
多内核操作系统综述①
全球卫星互联网应用服务及我国的发展策略
强化『高新』内核 打造农业『硅谷』
活化非遗文化 承启设计内核
微软发布新Edge浏览器预览版下载换装Chrome内核
国家不动产统一登记信息平台构建与应用服务
信号系统网关设备的优化
基于ETC在线支付网关的停车场收费系统设计
全国征集卫星应用服务解决方案
应对气候变化需要打通“网关”