APP下载

基于Harel状态机的高校IP语音答疑系统设计

2011-01-25蒋合领

制造业自动化 2011年3期
关键词:状态机语音流程

黄 强,蒋合领

(贵州财经学院 信息学院,贵阳 550004)

0 引言

传统的呼叫中心是企业、行政机关等提供客户服务的重要手段之一,在高等院校由于网络条件比较好,一般都是使用Internet来实现各种服务,例如办公系统、教务管理系统、学籍管理系统等,此外如网站、电子邮件、社区论坛等也在大量使用。在互联网上的交互方式主要分为离线式和在线式两种,业务系统、电子邮件等网络交互方式可以被理解成一种带缓冲的离线交互方式,留有文字记录,缺点是反应慢,与此相似的还有论坛、消息留言和手机短信等。在线式交互网站上的即使语音通话、Internet电话或者IP网络呼叫等,一般使用腾讯通等即时通信的语音通话功能实现,它们的作用与传统电话类似,具有实时的特点,与离线式的处理方式具有互补的作用,这种方式的缺点是建立在点对点的方式实现的,主要用于中小型电子商务的业务咨询等方面,对于高校课程咨询答疑这样的系统来说它的功能是不够的,需要借鉴传统呼叫中心的CTI(计算机管理呼叫)功能对课程、教师、学生进行管理,例如教师可以远程登录并选择可以答疑的课程,在答疑的过程中可以分组、排队等功能,建立WEB呼叫中心的好处还可以把各种接入方式集中到一个统一的门户中用于提高高校的教学质量,通过自动或人工的方式对学生的问题进行统计分析,其结果可以反馈到教学中[1]。结合VoIP技术的WEB呼叫中心可以使得呼叫中心从传统形式上的“拨叫到交谈(Dial to Talk)”扩展到网络方式的“点击到交谈(Click to Talk)” ,使得沟通、交流更加直接和方便,信息容量更大。

1 高校IP语音答疑系统

高等院校在教学组织上采用松散的组织方式,大部分老师都没有固定的办公室,辅导比较少,如果学生遇到疑难问题需要解答只有通过课程网站、电子邮件、QQ或电话的方式进行沟通,但是这些方式都存在一些问题,例如邮件的交互性比较差,QQ、电话虽然方便,但是会打扰老师的工作与休息,许多学生有顾虑。因此本文考虑借鉴传统呼叫中心的概念,教师使用VoIP客户端定期或是在方便的时候登录到Web答疑呼叫中心,学生通过呼叫中心选择需要答疑的课程由Web呼叫中心自动分配老师进行解答,在语音解答的同时还可以使用视频对话、电子白板、文件传输、远程控制等技术手段提供答疑的质量,这种方式对于大学的一些基础课、公共课特别有帮助。

为了实现Web呼叫中心的CTI控制功能需要自己设计一种流程控制语言,在研究了常用的呼叫中心技术后发现在进行呼叫中心的开发中普遍采用状态机理论进行设计和开发,但是标准的状态图法也存在一些缺陷,当处理第一个呼叫时第二个呼叫进入的情况时传统的FSM需要计算第一个和第二个呼叫者所有可能的状态组合,这会导致我们通常所说的状态溢出等问题,针对这些问题可以使用带有IP语音控制的基于Harel扩展状态机及SCXML标记语言来解决。

图1 带子状态和并发状态的复合状态图[1]

2 Harel状态机及SCXML语言描述

David Harel在他的论文“扩展状态图:解决复杂系统的可视化方法”中描述了扩展状态图,在增加了层次、并行、优先级和同步等功能的同时,扩展状态图保留了有限状态图的可视化、直观等特性。因此我们提出使用Harel扩展状态图法来弥补传统状态图法的这些缺陷并应用于复杂的呼叫中心流程设计[3]。

OnEntry和OnExit接口是Harel State Tables增加的非常有用的特性,此外还提供子状态和并行子状态以支持复杂状态,分别可以实现OR逻辑和AND逻辑,图1表示一个具有并行子状态的复杂状态S1,图中状态S11 具有子状态S111和 S112,其中S111 是缺省的起始状态。

图2 Web呼叫中心流程状态图

为了实现对Harel状态图的描述和解析,W3C语音浏览器工作小组发布SCXML(State Chart XML)的工作草案。SCXML是一个以UML Harel State Tables和CCXML为基础的状态机标记控制语言,SCXML标记语言的目标是将Harel语义与一种XML句法结合在一起。作为一门高级对话语言,控制VoiceXML 3.0的封装语音模块;还能控制数据库访问和业务逻辑模块等,可以使用SCXML来一一对应地描述Harel State Tables的业务逻辑,用来实现流程控制语言的状态机引擎。由于使用SCXML用例是多态和可变的,而且扩展了一些功能,不但可以用于呼叫中心的流程控制,作为其他不涉及语音处理环境下的通用处理控制语言在很多其他领域,例如商业处理流程、导航图、互动对话管理等等可以用UML状态图表示的应用都能使用SCXML引擎库[1]。

3 Harel状态机理论在IP-CTI程序中的应用

在具体实现WEB呼叫中心答疑项目的IP呼叫的目的,为建立适用于高校使用的IP呼叫中心首先我们必须根据在一般高校中对Web答疑呼叫中心的需求分析画出符合Harel State Tables规则的状态流程图,其使用环境是学生在网页中选择某一门课程或老师进行答疑,然后学生就可以通过IP语音与呼叫中心进行交互,例如播放课程公告,当老师忙时是选择等待还是换其它教师进行答疑等等。在实际应用中Web呼叫中心交互流程比上图中的要复杂,在本文中为方便说明进行了简化,例如在实际实现程序时需要加入关闭连接的检测,不管在任何状态当检测到关闭事件时都要中断本状态的执行并设定下一状态为挂断状态,图2为简化后的Web呼叫中心Harel状态图。

4 结束语

以上的Web呼叫中心语音流程及相应的SCXML脚本已经在作者设计的试验系统中进行了解析并实现,实际运行效果基本达到预期的目标,在程序开发时采用以公开源代码项目Openh323为基础的已封装的VIS H.323 DLL Library作为Web呼叫中心IP-CTI模块的支撑,Openh323项目是澳大利亚的Equivalence Pty Ltd公司组织开发的一个开源项目,能和任何符合该协议的软件进行视频和语音的通讯,例如Microsoft的NetMeeting等。为实现呼叫中心的功能,主要是在VIS H.323 DLL Library的视频会议模块的基础上进行扩展和开发在开发的程序中创新性地使用SCXML文档来设计IP-CTI的流程,在W3C的文档中并没有说明如何实现数据的交换,在具体的系统需要完成<datamodel>标记需要交互的属性并在程序中赋值和读取,编程实现<send>标记定义的各种方法,例如数据库操作中的query方法等。

Harel状态表是描述复杂状态的一种理想工具,下一步的工作是开发出通用的可扩展的SCXML引擎来进行流程状态机的控制,不但可以应用于语音流程的开发应用,还可以应用于商业处理流程、导航图、互动对话管理等等可以用UML状态图表示的应用。

[1]W3C,State Chart XML (SCXML):State Machine Notation for Control Abstraction [EB/OL].http://www.w3.org/TR/scxml/,2007.2

[2]LuZheng,How to implicate the commercial H.323 protocol using OPENH323[EB/OL].http://ww.ctiforum.com,2006.

[3]AOKIY.Building a collaborative Web environment for supporting endusers [EB/OL].http://www.ipsj.orjp/members/Joumal/Eng/4302/article036.html,2002.

[4]白逸之,黄永峰,李星.VoIP网关H.323协议栈中多路呼叫处理技术[J].计算机工程,2004,5

[5]AOKIY.Building a collaborative Web environment for supporting endusers [EB/OL].http://www.ipsj.orjp/members/Joumal/Eng/4302/article036.html,2002.

猜你喜欢

状态机语音流程
吃水果有套“清洗流程”
基于有限状态机的交会对接飞行任务规划方法
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
对方正在输入……
基于Spring StateMachine的有限状态机应用研究
违反流程 致命误判
四川省高考志愿填报流程简图
析OGSA-DAI工作流程