专利名称:一种提高语音可扩展标记语言业务播放远端语音性能方法
技术领域:
本发明涉及移动通讯领域,更具体地说,涉及一种利用缓存机制提高
VXML (Voice Extensible Markup Language,语音可扩展标记语言)业务播》文 远端语音性能的实现方法。
背景技术:
VXML (Voice Extensible Markup Language,语音可扩展标记语言)业务 的推出给电话语音系统带来全新的应用和开发概念,使传统的CTI技术(计 算机电话集成,Computer Telephony Integration )从繁琐、封闭的模式中走了 出来。VXML的可移植性、可重用性和开放性使广大的语音系统开发人员可 以用极其简单的方法实现复杂系统的开发。VXML的一个重要特征是可以和 互联网联结,这一特性在增加VXML业务开放程度的同时,也增加了 VXML 平台的处理复杂度。当VXML业务播放语音时,VXML脚本指定的语音文件 就可能位于远端服务器上,此时,VXML解析器需要从远端服务器下载语音 文件,然后播放之,如图1所示。通常情况下,这种远程语音播放的方式灵 活而且方便。但是在大话务量下,如果该VXML业务被频繁地访问,每次都 需要从远端服务器下载语音文件,无疑会极大地增加VXML平台的负担和处 理效率,甚至会出现由于下载等待时间超过用户忍受限度,导致业务不可用。
总而言之,简单的远端语音文件播放方式,有如下的重要缺点
1、 每次通话都需要从远端服务器下载语音文件,增加了系统负担,占用
了带宽;
2、 多个语音业务可能会同时从远端服务器下载同一个语音文件,在大话 务量的情况下,对系统资源是一个极大的浪费;
3、 同一个语音文件被不同的业务保存,浪费了存储空间,在大话务量时, 尤为明显。综上所述,现有技术中急需要解决的是如何能够提高VXML业务播放远 端语音性能问题。
发明内容
本发明所解决的技术问题在于提供一种提高语音可扩展标记语言业务播 放远端语音性能方法,以解决现有技术中如何能够提高VXML业务播放远端 语音性能,以减小系统负担和系统资源浪费的问题。
为了实现上述问题,本发明提供了 一种提高语音可扩展标记语言 (VXML)业务播放远端语音性能的实现方法,应用于电话语音系统中,包 括以下步骤
在所述电话语音系统中的VXML平台上设置代理模块;
当业务需要播放语音文件时,VXML解析器向所述代理才莫块发出请求;
所述代理模块收到所述VXML解析器的请求后,首先在其緩存中查询所 述语音文件是否已下载,如果已下载,则向所述VXML解析器返回该语音文 件;否则,所述代理模块向远端服务器请求下载该语音文件,下载完成后向 所述VXML解析器返回该语音文件,同时将该语音文件信息緩存起来。
本发明所述的方法,其中,进一步还包括在所述代理模块内设置有一 个hash表,用于緩存已下载的语音文件,所述代理模块自动检测所述hash 表中的语音文件是否更新,当所述电话语音系统话务量低于某个阈值时,所 述代理^t块定时检测所述远端服务器上的语音文件是否更新,如果有更新则 重新下载该语音文件,下载完成更新hash表緩存中的语音文件。
其中,进一步还包括在所述代理模块上维护正在下载的语音文件队列, 若收到所述VXML解析器的新的语音文件下载请求,首先查找下载的语音文
则将该请求加入该语音文件队列中的这一项;否则将该语音文件作为新项加 入下载的语音文件队列中,同时将此请求加入该项。
进一步还包括若下载的语音文件完成,则从所述下载的语音文件队列 中删除该项。
4与现有技术相比较,本发明引入了代理模块来实现利用緩存机制提高了
VXML业务包房远端语音性能,减小了系统的负担和系统资源的浪费问题。
图1是现有技术中的电话语音系统的结构图2是本发明实施例所述的电话语音系统结构图。
具体实施例方式
本发明在这里提供了一种提高语音可扩展标记语言业务播放远端语音性 能方法,以解决现有技术中如何能够提高VXML业务播放远端语音性能,以 减小系统负担和系统资源浪费的问题。以下对具体实施方式
进行详细描述, 但不作为对本发明的限定。
本发明的目的是提供一种新型的利用缓存机制提高VXML业务播放远端 语音性能的方法,克服以上所述的简单的远程语音播放;溪式的缺点。同时在 类似于客户/服务器系统这样特点的系统中,本方法也可以得到运用。
本发明的技术关键点是通过在简单的远程语音播放模式中引入代理模块 实现緩存机制,来实现对简单的远程语音播放才莫式在大话务量时的语音播放 的性能改进。
如图2所示,为本发明引入了代理模块来实现利用緩存机制提高语音可 扩展标记语言业务播放远端语音性能的装置结构图;这里本发明实施例的利 用緩存机制提高VXML业务播放远端语音性能的实现方法的具体步骤如下
在电话语音系统中的VXML平台上设置代理才莫块;
当业务需要播放语音文件时,VXML解析器向代理^f莫块请求该语音文件;
在代理模块内设置一个hash表并进行维护,该hash表中緩存已下载的语 音文件信息;当代理模块收到VXML解析器的请求后,首先在hash表中緩 存中查询此语音文件是否已下载,如果已下载,则向VXML解析器返回该语 音文件信息;否则,代理;f莫块向远端服务器请求下载该语音文件,下载完成 后向VXML解析器返回该语音文件信息,同时将该文件信息緩存到hash表中;
代理模块自动检测hash表中的文件是否更新,刷新策略是当电话语音系 统话务量低于某个阈值时,代理模块定时检测远端服务器上的文件是否更新, 如果有更新则重新下载该文件,下载完成更新hash表緩存中的文件信息;
同时,在代理模块维护正在下载的语音文件队列,若有新的语音文件下 载请求,首先查找下载的语音文件队列,如果下载的语音文件队列中存在同 样的正在下载相同的语音文件,则将该请求加入队列中的这一项;否则将该 语音文件作为新项加入下载的语音文件队列,同时将此请求加入该项;若下 载完成,则从下载的语音文件队列中删除该项。此步骤用于避免了多个业务 同时去下载同一个语音文件。
与现有技术相比较,本发明实施例所述的技术方案带来的有益效果包括
1、 当业务脚本播放语音的时候,VXML解析器先向代理模块请求语音文 件,因为业务相对稳定,所以缓存在大多数时候能够命中,这样避免了大量 的数据传送,提高了语音文件播放的效率。
2、 代理模块有自动刷新语音文件的机制,这样也不失业务的灵活性。业 务中的语音更新后,仍然可以在提供服务时得到体现。
3、 代理模块对多个业务同时下载同一个文件也做了优化处理,避免了大 话务量时的重复下载。同时此部分下载和更新语音文件的功能;f莫块化,也降 低了整个系统的维护难度。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的 但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1、一种提高语音可扩展标记语言VXML业务播放远端语音性能的实现方法,应用于电话语音系统中,其特征在于,包括以下步骤在所述电话语音系统中的VXML平台上设置代理模块;当业务需要播放语音文件时,VXML解析器向所述代理模块发出请求;所述代理模块收到所述VXML解析器的请求后,首先在其缓存中查询所述语音文件是否已下载,如果已下载,则向所述VXML解析器返回该语音文件;否则,所述代理模块向远端服务器请求下载该语音文件,下载完成后向所述VXML解析器返回该语音文件,同时将该语音文件信息缓存起来。
2、 如权利要求l所述的方法,其特征在于,进一步还包括在所述代理 模块内设置有一个hash表,用于緩存已下载的语音文件,所述代理模块自动 检测所述hash表中的语音文件是否更新,当所述电话语音系统话务量低于某 个阈值时,所述代理;]t块定时检测所述远端服务器上的语音文件是否更新, 如果有更新则重新下载该语音文件,下载完成更新hash表緩存中的语音文件。
3、 如权利要求1或2所述的方法,其特征在于,进一步还包括在所述 代理才莫块上维护正在下载的语音文件队列,若收到所述VXML解析器的新的 语音文件下载请求,首先查找下载的语音文件队列,如果下载的语音文件队 列中存在同样的正在下载相同的语音文件,则将该请求加入该语音文件队列 中的这一项;否则将该语音文件作为新项加入下载的语音文件队列中,同时 将此请求加入该项。
4、 如权利要求3所述的方法,其特征在于,进一步还包括若下载的语 音文件完成,则从所述下载的语音文件队列中删除该项。
全文摘要
本发明公开了一种提高语音可扩展标记语言业务播放远端语音性能方法,应用于电话语音系统中,包括以下步骤在电话语音系统中的VXML平台上设置代理模块;当业务需要播放语音文件时,VXML解析器向代理模块发出请求;代理模块收到VXML解析器的请求后,首先在其缓存中查询语音文件是否已下载,如果已下载,则向VXML解析器返回该语音文件;否则,代理模块向远端服务器请求下载该语音文件,下载完成后向VXML解析器返回该语音文件,同时将该语音文件信息缓存起来。本发明引入了代理模块来实现利用缓存机制提高了VXML业务包房远端语音性能,减小了系统的负担和系统资源的浪费问题。
文档编号H04L29/08GK101605186SQ200810110809
公开日2009年12月16日 申请日期2008年6月10日 优先权日2008年6月10日
发明者周大刚 申请人:中兴通讯股份有限公司