《电子技术应用》
您所在的位置:首页 > 通信与网络 > 业界动态 > 基于中间件的交互式自助服务平台的设计与实现

基于中间件的交互式自助服务平台的设计与实现

2009-08-21
作者:刘莉平1,彭浩明2,熊东平3,赵

    摘  要: 本文研究如何利用交易中间件BEA TUXEDO构建一种交互式的电信自助服务平台,重点介绍了业务逻辑层的设计和交互式功能的设计与实现,提出了一种基于服务时间和业务熟悉程度相结合的多队列机制来实现坐席分配。
    关键词: TUXEDO  交互式  自助服务  电信

 

    中国电信业作为国家的支柱产业,在近几年得到了迅猛的发展,用户数量尤其是移动用户迅速增长。在日益激烈的市场竞争环境下,电信运营企业的服务内容、服务方式、服务对象、服务质量、服务意识等,都发生了历史性的深刻变化。为了保持和增强企业的竞争力,必须提高客户的满意度,为客户提供更多、更好、更方便的服务渠道,通过提高服务质量留住用户和吸引用户。
    目前,国内电信行业自助服务系统正处于起步阶段。系统规模小,通常采用Client/Server结构的二层或三层模式。自助服务终端通过系统前置机与电信运营商业务系统连接,有的甚至将自助服务终端直接与电信运营商业务系统进行通信。采用这种模式的自助服务系统的网络通信需要开发人员自己编写函数实现,从而产生系统开发难度大、可靠性低、通信瓶颈和客户端肥大等问题;另一方面,其实现的功能比较简单,只能够办理用户详单、话单的查询和打印、话费缴纳、销售电话卡等基本业务。
    交互式电信业务自助服务平台的建设是电信运营企业为向客户提供更优质的服务所采取的措施之一。它通过在原有的自助服务系统的基础上增加网络视频会议的功能,使自助服务平台增加了对综合电信业务办理的支持,真正体现了创造需求、引导消费的现代客户服务理念。
1  平台的设计
    交互式自助服务平台中系统间的通信借助TUXEDO的API函数来实现,客户端与服务端的数据通过数据缓冲区实现。当客户端与服务端进行通信时,只需调用相应的API函数即可完成通信,从而有效地解决现有的自助服务系统中存在的交易通信问题。同时借助TUXEDO提供的多机模式和负载均衡功能可以很好地解决通信瓶颈问题。
1.1 平台的网络拓扑结构
    交互式自助服务平台采用分布式三层体系结构:表示层、业务逻辑层和数据层。表示层包括交互式自助服务终端、客户服务中心、管理终端以及Web服务器。表示层将用户的功能请求转化为业务逻辑层能够识别的数据请求格式并提交给应用层,然后从应用层获取返回数据并用某种方式展现给用户,平台的业务逻辑处理对于表示层而言是透明的;业务逻辑层是平台的核心,主要完成服务的封装,包括将从交易数据库或电信运营商业务系统获取用户的业务数据封装后返回给表现层以及与银行结算中心的对账业务操作,它由主服务器、备份服务器和服务器1~n组成。完成业务逻辑处理的各个服务分布在服务器1~n中。主服务器负责协调它们之间的运行,在这些服务器之间平衡负载和容错处理,同时主服务器与外部接口相连,完成协议转换服务器的功能。当主服务器出现异常而停止工作时,备份服务器将启动充当主服务器;数据层由交易数据库和外部接口组成,主要为平台提供数据。平台的网络拓扑结构如图1所示。

 


1.2 业务逻辑层的设计
1.2.1 服务的划分

    在TUXEDO应用系统服务端中把业务逻辑划分成一个个独立的服务(Serviece),把多个服务按一定的规则绑定到一个Server中,客户端调用这些服务来实现相应的操作,所以服务端的主要任务就是编写一个个的服务。交互式自助服务平台业务逻辑层主要的业务逻辑处理有:管理终端对交易数据操作的请求;交互式自助服务终端办理常规业务的请求;交互式功能实现时所涉及到的坐席申请、分配、状态更新的请求。Web服务器请求的服务为第二种请求的子集。对于第一种请求,主要是对交易数据库进行查询、更新、删除、插入等操作,因此,可以划分两个Service:DataQuery(数据查询)和DataControl(数据操纵),并绑定到进程(Server)Sys_Server中;第二种请求是平台业务处理中最为频繁的,主要包括用户身份验证、话费缴纳、账单查询、话费详单查询、业务受理等。出于系统安全性和灵活性以及上述服务划分、绑定原则的考虑,这里采用二个进程Term_Imprest和Term_Server来实现第二种请求。Term_Imprest有一个服务Multi_Imprest,实现用户缴费的业务处理;Term_Server划分为二个服务:Multi_Service和Multi_Request。Multi_Request实现业务逻辑层与电信运营商业务系统前置机之间的数据通信,Multi_Service实现自助服务终端用户业务请求逻辑,不同的业务通过交易编码(系统自定义参数)来区分。之所以将缴费缴纳单独采用一个进程处理,是因为在具体运行中经常需要关闭缴费功能但同时保证其他业务能正常办理。针对这种情况,管理维护人员只需将业务逻辑层中的Term_Imprest进程关闭即可,其他业务仍然可以照常办理;第三种请求主要是辅助交互式功能的实现。对于这种请求,业务逻辑层相当于一个坐席中转服务程序,它划分为三个服务:Query_Seat(坐席状态查询),Update_Seat(坐席状态更新),Apply_Seat(申请坐席),并绑定到进程(Server)Seat_Server中。
1.2.2 坐席的分配
    在交互式自助服务平台中,交互式业务类型有多种,每种类型需要的服务时间各不相同。因此,本文采用基于服务时间和业务熟悉程度相结合的多队列机制来实现坐席分配。
    每一种交互式业务对应一个坐席队列,业务逻辑层从自助服务终端业务请求队列中按照FCFS的原则取出一个请求,然后从对应的坐席队列中取出服务时间和业务熟悉程度加权和最大的坐席分配给请求自助服务终端。加权计算方法为:服务时间×服务因子+业务熟悉程度×业务因子。服务因子与服务时间成反比,服务时间越长,服务因子越小;业务因子与业务熟悉程度成正比,业务越熟悉,业务因子就越大。坐席在办完一次业务后,服务时间增加,业务熟悉程度增加,同时也将导致服务因子减小和业务因子的增大。通过这种方式,能有效地均衡坐席的服务强度。采用多队列的方式相比,单个队列方式能有效地提高效率和系统吞吐量。因为多队列方式中,每个坐席只需负责一种服务,其熟练程度要大于一个坐席负责多种服务,才能降低出错的可能,而且采用多队列机制也不会因为一种服务受阻而影响其他服务的办理。坐席分配示意如图2所示。

 


    图2中S表示服务时间,F表示业务熟悉程度,Factor_S表示服务因子,Factor_F表示业务因子。
1.2.3 数据通信的设计
    交互式自助服务平台的数据通信是平台运行的关键,它是将平台各个部分衔接起来的桥梁和纽带,而业务逻辑层是平台通信的枢纽。业务逻辑层的通信主要有二种模式:(1)表示层为获取数据而与业务逻辑层之间的通信。(2)业务逻辑层为获取用户所需的业务数据而与数据层的电信运营商业务系统前置机之间的通信。
    第一种通信模式是平台的主要通信方式,它借助于BEA TUXEDO中间件来实现。本文采用会话方式来实现表示层与业务逻辑层之间用户详单文件的传输。表示层调用tpconnect( )函数主动与业务逻辑层建立连接,之后业务逻辑层作为发送者调用tpsend( )函数向请求的表示层发送数据,表示层作为接收者调用tprec( )函数接收逻辑层发送的详单数据。当数据传送完毕,由表示层关闭连接。从连接建立到连接关闭,表示层与业务逻辑层之间连接一直保留,可以多次实现数据传输。采用Q/方式来实现交互式功能中的坐席分配。Q/方式有二种模式:基本模式和转发模式。基本模式适用于客户机对客户机,而转发模式适用于客户机对服务器。前者主要用于两者之间交换数据,在坐席分配实现中采用转发模式。表示层将坐席请求发送到消息队列中,业务逻辑层收到消息后转发给相应的处理进程进行处理,处理完毕之后,由表示层从消息队列中取出处理结果。采用同步请求/回答方式来处理第一种通信方式中剩余的表示层与业务逻辑层之间的通信,这种通信方式比较简单。表示层在调用相应的服务后处于阻塞状态,等待业务逻辑层的处理结果或者超时退出之后才继续往下执行。
    第二种通信模式中,业务逻辑层主要实现协议转换的功能。这种方式中,逻辑层充当了电信运营商业务系统前置机的客户端,它向电信运营商业务系统业务提出业务请求,并接收电信运营商业务系统业务的响应。这种通信方式的实现要视电信运营商业务系统提供的接口而定。
1.3 表示层的功能设计
    表示层主要是为系统使用者提供多样化的界面逻辑,将从业务逻辑层获取的数据展现给用户,因此表示层侧重于功能的设计。表示层由自助服务终端、客户服务中心、管理终端、Web服务器组成。交互式自助服务终端是平台中直接与用户交互的部分,它将用户的业务请求提交给业务逻辑层,并将业务逻辑层返回的数据直观地展现给用户,同时提供用户与客户服务中心坐席交互的功能。由于自助服务要求用户能在无人指导的情况下在自助设备上完成业务操作,因此,交互式自助服务终端要充分考虑各种阶层的使用者,要有人性化的操作界面。如用生动的图形动画、文字说明及丰富的声音来提示、引导客户进行自助操作;操作流程要简单、明了、无二义性,使客户能简单、直观地完成操作;容错性能好,能处理各种正常或异常情况,使客户放心操作。
    终端管理系统主要实现实时监控自助服务终端运行状况、交易状况、系统故障和对交易数据进行管理,使管理人员能随时准确地了解平台的运行状况,从而能根据终端运行情况采取相应的措施,保证平台能24小时稳定、正常地运行。终端管理系统由系统管理、终端管理、终端查询、坐席管理、报表管理、门禁系统管理6个子系统组成。
    Web服务器主要用来实现平台的Web功能,扩大平台的应用范围,实现平台的电子商务功能,从而实现原有的自助服务系统与电子商务平台的有机结合。Web服务器采用Bea公司的另一旗舰产品Weblogic Server实现,通过Bea公司的Jolt产品或者Wtc产品可以实现TUXEDO与Weblogic之间的互连。Web服务器实现的功能和自助服务终端相同,只是数据展现方式不同。
    客户服务中心通过与自助服务终端进行音、视频的交互,与用户一起完成综合电信业务的办理。
1.4 交互式功能的设计与实现
    平台的交互式功能通过网络视频会议系统实现。在实现过程中需要进行视频、音频、文件、数据传输。在交互式平台中采用实时流传输技术实现视频、音频信号的传输,文件和数据的传输则通过基于TCP/IP协议的套接字通信实现。由于视频流和音频流数据量大,因此在平台实现中协议的选择是实现实时多媒体流传输的关键。图3给出了交互式平台中实现视频会议功能时所采用的协议体系结构。

 


    应用层中的视频、音频、文件、数据被传送至传输层,传输层通过UDP的无连接方式或TCP有连接方式再传送到IP层。
    视频流的网络传输一般分为采集、压缩、传输三个步骤。图像和视频的采集是视频技术应用的关键前提。本文采用“摄像头+采集卡”的方法实现图像序列的采集。用这种方式实现视频信号的采集和传输具有图像质量高、丢帧率低、画面抖动小的优点。视频的压缩和传输利用采集卡厂商提供的SDK函数实现。在局域网内实现交互式自助服务平台时,对视频帧的传输进行测试。在建立连接后的25秒内采集的视频帧数逐渐、平滑地上升,之后基本保持在24帧/秒。在视频的传输过程中丢帧率仅为0.06%。
    音频信号的网络传输相对于视频信号而言要容易,可以采用Windows提供的音频服务来实现音频信号的采集、压缩、传输。Windows通过高级音频函数、媒体控制接口(MCI)设备驱动程序,低级音频函数MIDI Maper、低级音频设备驱动以及DirectX技术提供了音频服务。由于采用DirectX技术容易实现音频信号的网络传输,因此这里采用DirectX技术来采集和传输音频信号,并采用基于TCP协议的点对点通信方式。
    数据和文件的传输最为简单,两者都采用基于TCP协议的套接字进行传输。在传输文件前先先将文件转换为数据流,接收方接收到数据流后再将数据流转换为文件。由于在通信过程中需要传输的文件和数据都很少,因此采用这种传输方式的优点是操作简单、容易控制。
2  平台的实现
    交互式自助服务平台借助TUXEDO中间件实现。业务逻辑层通过编写若干个服务来完成;表示层通过调用业务逻辑层的服务来实现自身的功能。业务逻辑层的服务程序采用C语言编写;表示层中的终端管理系统采用C++Builder实现;交互式自助服务终端和客户服务中心坐席系统采用Visual Basic实现;交易数据库采用Microsoft SQL SERVER 2000数据库系统;表示层与业务逻辑层之间的通信缓冲区采用FML类型。
    以下分别给出业务逻辑层和表示层实现的抽象描述。业务逻辑层实现Term_Serve进程,表示层调用Term_Serve进程中的Multi_Service服务实现业务办理功能。
    业务逻辑层:             表示层:
    tpsvrinit() {……}     DoWork( )
    Multi_Service()         {
    {                         tpinit( );
      do service;            tpalloc( );
      tpreturn;              Finit( );
    }                         InputBuf( );
    Multi_Reques()          tpcall(Multi_Service);
    {                         OutputBuf( );
      do service;            DealData( );
      tpreturn;              tpfree( );
    }                         tpterm( );
    tpsvrdone() {……}      }
3  总  结
    本文针对现有自助服务系统在实际运行过程中存在的问题,采用TUXEDO中间件实现业务逻辑的处理和系统网络通信,提高了系统的可靠性和可扩展性,并增加音、视频交互功能,增加对综合电信业务办理的支持。在描述基于中间件的交互式自助服务平台过程中,重点介绍了业务逻辑层的设计和交互式功能的设计与实现,提出了一种基于服务时间和业务熟悉程度相结合的多队列机制来实现坐席分配。交互式自助服务平台的实现对于增强竞争力具有很重要的意义。
参考文献
1   罗会兰,谢小兵.多层分布式体系技术在电信触摸屏多媒体查询系统中的应用.微型机与应用,2004;(1)
2   张海林,赵锦蓉,庄永宙.Multimedia Conferencing System and Multicasting.清华大学学报,1999;4(2)
3   于海燕,张霞.基TUXEDO中间件的邮政电子化支局生产作业系统的设计与实现.计算机系统应用,2003;(7)
4   郭亚,刘晓晴.基于Web技术的自助服务开发平台.中国金融电脑,2003;(12)

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。