CN1266601C - 一种用于语音增值业务系统的优化性能的方法 - Google Patents
一种用于语音增值业务系统的优化性能的方法 Download PDFInfo
- Publication number
- CN1266601C CN1266601C CN 200410088409 CN200410088409A CN1266601C CN 1266601 C CN1266601 C CN 1266601C CN 200410088409 CN200410088409 CN 200410088409 CN 200410088409 A CN200410088409 A CN 200410088409A CN 1266601 C CN1266601 C CN 1266601C
- Authority
- CN
- China
- Prior art keywords
- file
- voice
- voicexml
- dom tree
- interpreter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种用于语音增值业务系统的优化性能的方法,是在该系统的执行平台上分别简化VoiceXML解释器解析和执行语音增值业务的VoiceXML文件的操作;包括步骤:(1)改写缓存的VoiceXML文件,以简化VoiceXML缓存文件中的语法文件的编译过程和语音文件的转换过程,减少系统的重复性操作,提高响应速度;(2)在解释器解析每个运行实例的VoiceXML文件时,先在该装置的共享缓存池中检索是否存在有与该文件对应的文档对象模型DOM树,如果已经存在,则不再进行解析,直接复制该DOM树并解释执行之,再给该DOM树的使用次数计数器加1;如果不存在,则进行解析,并把建立的DOM树缓存在该解释器内存的共享缓存池中。该方法有效降低语音增值业务的系统响应时间,进一步满足语音增值业务的实时性要求。
Description
技术领域
本发明涉及一种用于语音增值业务系统的优化性能的方法,特别是指一种用于语音增值业务平台,实现语音增值业务系统的性能优化的方法,属于计算机通信技术领域。
背景技术
语音增值业务是在传统声讯业务的基础上,通过话音、短信、彩信、WAP等多种接入方式,为终端用户提供的一种以话音为主、融合多种类型的话音和数据业务为一体的获取信息和信息互动的增值业务。语音增值业务系统是采用语音扩展标记语言VoiceXML来实现网络功能,并向业务提供商开放的。这样,业务提供商就可方便地用VoiceXML语言将业务的具体内容写成VoiceXML页面文件的形式,在运营商的语音增值业务系统上解释执行,并通过话音通道展示给用户,以便用户访问各种各样的网络资源。
参见图1,语音增值业务系统通常采用由文件服务器和解释器组成的服务器/浏览器结构,两者之间采用HTTP协议进行通信,其执行指令的过程主要包括以下三个步骤:
(1)文件服务器处理来自客户端的应用请求,在应答中产生VoiceXML文件,返回给VoiceXML解释器;
(2)VoiceXML解释器对VoiceXML文件进行解析;
(3)VoiceXML解释器执行文件,控制底层平台向用户放音、收号、完成语音识别,执行呼叫前转等功能。
由于语音业务对实时性要求很高,如何减少系统的响应时间,也就是减少该语音增值业务系统在执行上述各个步骤上所花费的时间,是该系统在优化性能过程中至关重要的问题。目前,技术人员已经通过层次缓冲和内容缓冲显著地减少了该系统中文件服务器在执行步骤(1)的操作过程所造成的延迟。
参见图2,分别说明层次缓冲和内容缓冲的概念或技术手段:
层次缓冲的技术手段是:将语音增值业务系统在执行过程中所要使用的各种资源存放到代理设备或是距离该系统空间距离比较近的服务器上(例如图中的前置缓冲Cache设备上),这样该系统就没有必要非得从原始服务器获取所需要的资源,相关业务的请求就可以在系统附近的服务器得到响应,从而减少网络的传输时间和解析地址所需的时间。
内容缓冲的技术手段是:把语音增值业务系统获取的各种资源按内容分成两类文件:VoiceXML文件和VoiceXML文件中引用的各种资源文件(包括语音文件和应用于语音识别的语法文件)。系统把VoiceXML文件存放在语音增值业务执行平台上的缓冲模块,而把应用于语音识别的语音文件和语法文件都存储在资源节点上的缓冲模块。语音增值业务执行平台在处理VoiceXML页面时,能够根据其所需要访问的资源出现或存放的位置进行选择判断:直接通过其自身的缓冲模块来获取资源,还是通过与资源节点之间的内部协议,从资源节点缓冲模块来获取相关资源。
因此,如何在步骤(2)和(3)上进一步提高VoiceXML解释器的执行速度和工作效率,是进一步提高系统响应时间的一种有效途径。这个课题已经摆在业内技术人员的面前。
发明内容
有鉴于此,本发明的目的是提供一种用于语音增值业务系统的优化性能的方法,本方法能够有效降低语音增值业务的系统响应时间,进一步满足语音增值业务的实时性要求。
本发明的目的是这样实现的:一种用于语音增值业务系统的优化性能的方法,其特征在于:在语音增值业务系统的执行平台上分别简化VoiceXML解释器解析和执行语音增值业务的VoiceXML文件的操作;包括下列步骤:
(1)建立新的统一资源标识符URI,使解释器能够采用传统寻址方法,找到所需的新的URI指定的资源;
(2)对采用语法解析预编译功能编译得到的语法中间格式文件进行缓存,并将新的寻址路径返回给VoiceXML解释器;
(3)对采用文本语音转换TTS功能后得到的语音文件进行缓存,并将新的寻址路径返回给VoiceXML解释器;
(4)对上述步骤产生的至少包括被改写的VoiceXML文件、对应的语法中间格式文件和对应的语音文件,进行相互关联的统一的管理和维护。
(5)在解析每个运行实例的VoiceXML文件时,先根据统一资源标识符URI对已经生成的文档对象模型DOM树进行检索,并根据不同情况采取相应的处理:如果所需文件的文档对象模型DOM树已经存在于共享缓存池中,即命中DOM树,则直接复制该DOM树并解释执行之,再给该DOM树的使用次数计数器加1;如果没有命中DOM树,将执行后续各项步骤;
(6)VoiceXML解释器对VoiceXML文件进行解析,生成该文件的文档对象模型DOM树;
(7)对生成的文档对象模型DOM树进行分类,并分别缓存在该VoiceXML解释器内存的共享缓存池中;
(8)对已经生成的文档对象模型DOM树进行时限维护和替换更新维护。
所述步骤(1)进一步包括下列步骤:
(11)建立新的统一资源标识符URI:在原语法grammar元素的资源src属性中,增加一个新的统一资源标识符URI,用于标识生成的语法中间格式文件的路径地址;在原语音audio元素的资源src属性中,增加一个新的统一资源标识符URI,用于标识生成的语音文件的路径地址;使所述VoiceXML解释器在使用新的URI指定的资源时,能够采用传统寻址方法;
(12)建立新的VoiceXML文件的标志位和改写规则:引入布尔bool型标志位来表征已被缓冲的VoiceXML文件的状态:初始值为false表示未被改写,标志位为true表示已被改写;当VoiceXML解释器准备对被缓冲的VoiceXML文件进行改写时,检查该标志位,并添加互斥锁:如果标志位为false,则允许改写,此时该VoiceXML文件不能被其他实例读取或改写,改写完成后,把标志位设置为true,并打开互斥锁;如果标志位为true,则放弃对该VoiceXML文件的改写。
所述步骤(2)进一步包括下列步骤:
(21)系统第一次执行VoiceXML文件时,先分析该文件,找出所有的语法文件;如果被引用的语法文件不在本地,则将该语法文件下载到本地;
(22)使用语音识别服务器的语法预编译功能对所有的语法文件进行编译,把得到的中间结果文件缓存起来,同时把缓存的语法中间格式文件的路径返回给VoiceXML解释器;
(23)VoiceXML解释器根据所述步骤(11)中新建立的语法grammar元素的资源src属性的统一资源标识符URI,对原页面中的对应部分进行改写,即让grammar元素的src属性通过该URI指向已经生成的语法中间格式文件的路径,形成新的缓存文件。
所述步骤(3)进一步包括下列步骤:
(31)在解释器第一次执行VoiceXML文件的过程中,如果发现存在有需要文本语音转换TTS的内容,将其保存起来;
(32)对保存起来的文件内容进行文本语音转换TTS,再存储该转换后的语音文件,并把该转换后的语音文件的寻址路径返回给VoiceXML解释器;
(33)VoiceXML解释器根据所述步骤(11)中新建立的语音audio元素的资源src属性的统一资源标识符URI,对原文件中的对应路径部分进行改写,即让audio元素的src属性通过该URI指向已经生成的转换后的语音文件的路径,形成新的缓存文件。
所述步骤(4)进一步包括下列步骤:在每一个被缓存的VoiceXML文件的缓冲记录中增设一个引用计数器,用于记录当前访问该文件的解释器数量;所述解释器执行某一个文件时,其引用计数器加1,且在该文件执行完后,其引用计数器减1。
所述步骤(7)进一步包括下列步骤:
(71)把语音增值业务的VoiceXML文件归分为下述三类:
A、所有运行实例都要执行的VoiceXML文件,包括但不限于系统的缺省行为形成的文件;
B、大部分运行实例需要执行的VoiceXML文件,包括但不限于业务的主菜单文件、用户初次访问语音门户的缺省文件;
C、个别运行实例需要执行的VoiceXML文件,包括但不限于用户订制的、提供个性化服务的文件;
(72)在系统内存中设置一个共享区:缓存池,并在其中建立一个所有运行实例都可访问共享的文档对象模型DOM树缓冲区,用于以后的检索和复制;
(73)将使用频率高的A类和B类VoiceXML文件的DOM树缓存在所述缓存池内。
所述步骤(8)进一步包括下列步骤:
(81)对缓存池的DOM树进行时效维护:依据VoiceXML文件的HTTP包头对于缓存的要求及其本身有效期限的时间要求,以及系统的实际需要,确定是否进行缓冲;
(82)对缓存池的DOM树进行替换更新维护:以每个DOM树的使用次数作为比照参数,进行DOM树的替换更新维护,即保存和维护使用率高的DOM树,替换使用率低的DOM树。
所述对缓存池的DOM树进行替换更新维护时,是根据其引用计数器来挑选被替换的DOM树,即被替换的文件的引用计数器只能为0;如果其引用计数器大于0,不能进行替换更新,否则,很可能删除该文件可能存在的对应的语法中间格式文件和语音文件,导致解释器执行过程中所需要的资源被提早删除。
本发明是一种用于语音增值业务系统的优化性能的方法,该方法主要采取两个操作步骤进行性能优化处理:
首先是对VoiceXML文件解析过程中缓存DOM树,从本质上看,该步骤可认为是层次缓冲和内容缓冲两种技术手段相结合的产物。即在内存中引入缓冲池,引入了一个新的层次:体现了层次缓冲;另一方面,它把VoiceXML文件分成三类,只对VoiceXML文件实现有选择的缓冲:即主要对A类和B类VoiceXML文件的DOM树进行缓冲,体现了内容缓冲的思路;这样能够有效减少解释器的执行次数,提高缓冲效率,显著地缩短了语音业务系统的响应时间。
第二个是在系统缓冲机制的基础上,采用语法解析预编译替换机制和文本语音转换替换机制,对系统中已经缓存的VoiceXML文件进行改写,从而有效减少语法编译和文本语音转换的次数,提高整个系统的运转性能,为语音增值业务的广泛开展和VoiceXML系统的广泛使用奠定了基础。
附图说明
图1为本发明语音增值业务系统的一实施例功能体系结构图;
图2为本发明语音增值业务系统的一实施例系统的网络体系结构图;
图3为本发明优化性能的方法的操作流程方框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
本发明的性能优化的思路包括如下两个方面:
(1)目前的VoiceXML系统应用于语音识别功能的语法文件时,必须在启动语音识别功能之前,编译生成为语音识别引擎使用的中间格式文件,且VoiceXML文件的每一次执行都需要这个编译过程;对于文本语音的转换功能,VoiceXM文件的每一次执行,系统都必须花费时间,重新进行转换。如果能够减少系统上述两项中的重复性操作,就能提高系统的响应速度。
(2)如果能够将VoiceXML系统中的解析模块分析生成的文档对象模型DOM树保存下来,那么下次在执行同一个VoiceXML文件时,就不需要再进行解析了;同时如果能把该文件的文档对象模型DOM树提供给所有运行实例共享,那么利用率就会明显提高,效能也会得到质的改善。
本发明是一种用于语音增值业务系统的优化性能的方法,它是在语音增值业务系统中的执行平台上分别简化VoiceXML解释器解析和执行语音增值业务的VoiceXML文件的操作;包括下列步骤:
(1)改写缓存的VoiceXML文件,以简化该VoiceXML缓存文件中的语法文件编译过程和语音文件的转换过程,减少系统在处理上述过程时的重复性操作,提高系统的响应速度。
(2)在VoiceXML解释器解析每个运行实例的VoiceXML文件时,先在该装置内存的共享缓存池中检索是否存在有与该文件对应的文档对象模型DOM树,如果已经存在,则不需要重新进行解析,直接复制该DOM树并解释执行之,再给该DOM树的使用次数计数器加1;如果不存在,则进行解析,并把建立的DOM树缓存在该解释器内存中的共享缓存池中。
在VoiceXML解释器中,DOM树是作为VoiceXML文件的一种存贮形式存在于内存。可以使用标准化接口即XML简易API(Simple API for XML,SAX,版本2.0)来完成把VioceXML文件转换成DOM树的工作。本发明的系统中,借用了IBM公司的软件产品Xerces(Apache)定义的C++版本的SAX接口,并针对这些接口完成了系统中需要的DOM树的生成,例如完成开始元素startElement、结束元素endElement等接口的实现,即在这些接口的实现中完成DOM树的生成。
参见图3,具体介绍本发明中的步骤(1)和步骤(2)。其中步骤(1)进一步包括下列四个步骤:
(11)建立新的统一资源标识符URI,使解释器能够采用传统寻址方法,找到所需的新的URI指定的资源;该步骤主要包括下列两个操作:
一个是建立新的统一资源标识符URI:在原语法grammar元素的资源src属性中,增加一个新的统一资源标识符URI(如gfile),用于标识生成的语法中间格式文件的路径地址;在原语音audio元素的资源src属性中,增加一个新的统一资源标识符URI(如ttsfile),用于标识生成的语音文件的路径地址;使所述VoiceXML解释器在使用新的URI指定的资源时,能够采用如同http或rtsp指定资源的传统寻址方法;
另一个是建立新的VoiceXML文件的标志位和改写规则:引入布尔bool型标志位来表征已被缓冲的VoiceXML文件是否已被改写的状态:初始值为false表示未被改写,标志位为true表示已被改写;当VoiceXML解释器准备对被缓冲的VoiceXML文件进行改写时,检查该标志位,并加互斥锁:如果标志位为false,才允许改写,此时该VoiceXML文件不能被其他实例读取或改写,当改写完成后,把标志位设置为true,打开互斥锁;如果标志位为true,则放弃对该VoiceXML文件的改写。
(12)对采用语法解析预编译功能编译得到的语法中间格式文件进行缓存,并将新的寻址路径返回给VoiceXML解释器;其具体内容说明如下:
当VoiceXML解释器需要与用户交互前,VoiceXML文件已经定义好用户可能的语音输入,如果用户的输入满足该设定的条件时,识别成功并返回相应的结果。通常把设定的可能的语音输入称为语法规则,当VoiceXML解释器遇到定义语法规则的元素时,VoiceXML解释器会控制编译服务器(CompilationServer,可以是自动语音识别服务器ASR Server)加载VoiceXML文件中指定的语法,编译服务器就会对这些语法进行编译,生成在语音识别引擎中可以执行的中间格式文件,再把该中间格式文件交给识别引擎(Recognition Server,可以是语音板卡)进行识别。下面以grammar元素为例进行说明:
VoiceXML文件中可以使用grammar元素设定语法,它是通过URI指向一个外部地址,从外部地址下载语法描述、VoiceXML内嵌语法和内置语法。例如<grammar src=”http://192.168.2.1/mainmenu.g”……/>是一个引用服务器192.168.2.1上的一个语法,当VoiceXML页面中遇到上述语法时,VoiceXML解释器会按照URI指示从服务器192.168.2.1上获取语法,并把该语法加载到编译服务器上,由编译服务器把它编译成中间格式,再由识别引擎进行识别。
目前的系统中,已经可以把某些被频繁执行的VoiceXML文件和该文件使用的资源(如语法文件)缓存在本地,目的就是为了提高系统的性能。但是,对于在缓存池中保留的文件,在每次执行的过程中,使用语法时都必须进行预编译,再生成中间格式文件,这样显然消耗了不必要的资源和时间,影响整个系统的性能。因此,本发明为了更好地提高性能,引入语法解析预编译替换机制,具体实现过程如下:系统第一次执行VoiceXML文件时,先分析该文件,找出所有的语法文件;如果被引用的语法文件不在本地,则将该语法文件下载到本地。接着,使用语音识别服务器的语法预编译功能对所有的语法文件进行编译,把得到的中间结果文件缓存起来,同时把缓存的语法文件的路径返回给VoiceXML解释器。VoiceXML解释器根据上述步骤(11)中新建立的语法grammar元素的src属性的统一资源标识符URI(gfile),改写原文件中的对应部分,即让grammar元素的src属性通过该URI指向已经生成的语法中间格式文件的路径,形成新的缓存文件。
(13)对采用文本语音转换TTS功能后得到的语音文件进行缓存,并将新的寻址路径返回给VoiceXML解释器;文本语音转换TTS功能是VoiceXML得到广泛应用的基础,它是通过在系统中集成TTS软件来实现的。TTS软件将文本输入转换成为语音流,然后系统通过语音板卡播放该语音流,呈现给用户。因此,每一个文件执行多少次,TTS软件就要工作多少次。这种方式既占用了网络带宽(因为TTS软件采用客户端/服务器的工作方式),同时降低了系统的响应时间。响应时间是衡量语音增值业务服务质量的重要指标,如果减少被缓冲文件的TTS次数,就能够大大提高语音增值业务的质量。
综上所述,本发明提出TTS转换替换机制,具体实现步骤如下:在解释器第一次执行VoiceXML文件的过程中,如果发现存在有需要文本语音转换TTS的内容,先将其保存起来。再对保存起来的文件内容进行文本语音转换TTS,再存储该转换后的语音文件,并把该转换后的语音文件的寻址路径返回给VoiceXML解释器。VoiceXML解释器根据上述步骤(11)中新建立的语音audio元素的src属性的统一资源标识符URI(ttsfile),对原文件中的对应路径部分进行改写,即让audio元素的src属性通过该URI指向已经生成的转换后的语音文件的路径,形成新的缓存文件。
(14)对上述步骤产生的至少包括被改写的VoiceXML文件、对应的语法文件中间格式文件和对应的语音文件,进行相互关联的统一的管理和维护。其具体内容是:通过上述步骤(12)和步骤(13)产生的被改写的VoiceXML文件所对应的语法文件中间格式和语音文件,其中语法中间格式文件存放在语音识别服务器上,转换后的语音文件可以存放在放音设备上,这两种文件都需要VoiceXML解释器中的资源获取及管理模块对其进行管理,因为这两类文件是和资源获取及管理模块内缓存的页面文件直接相关的。所以这三类文件需要进行统一的管理和维护。
由于语法文件中间格式文件和TTS转换后生成的语音文件有被多个执行平台同时调用的可能,所以在删除或替换的时候,必须考虑当前时刻是否存在执行平台正在使用该两个文件的情况。只有在其没有被使用的情况下,才可以删除或替换,否则会导致系统产生错误。所以在实现VoiceXML文件替换时,必须要整体统一处理。其中替换更新的算法运行时机可以适当提前,即当缓存池尚未充满但达到一定程度(例如已经达到整体空间的90%)时,就开始运行。在替换算法中,对每一个被缓存的VoiceXML文件的缓冲记录(用于记录该文件的相关信息)添加一个引用计数器,用于记录当前该文件正被多少个解释器访问。解释器执行某一个文件时,通过资源获取及管理模块提供的接口,使得其引用计数器加1;且在文件执行完毕时,解释器通知资源获取及管理模块,让引用计数器减1。替换更新算法在挑选被替换的文件时,必须考虑引用计数器:被替换的文件的引用计数器只能为0;如果其引用计数器大于0,不能进行替换更新。如果删除引用计数器不为0的文件,很可能将该文件可能存在的对应的语法中间格式文件和语音文件删除,导致解释器模块执行过程所需要的资源被提早删除。
另外,为了便于对VoiceXML文件与其相对应的语法中间格式文件和语音文件实现统一管理,也为了替换算法的方便使用,本发明采取如下两种方式来管理文件:第一种方式是为每个缓存文件建立一个同名目录,目录里除了存放缓存的VoiceXML文件外,还可以使用网络文件系统(Network File System)存放中间格式文件、语音文件等;第二种方式是为每个缓存文件建立一个同名目录,但目录中不存放相关文件,只是由系统的资源获取及管理模块填写一个索引表,来表明相关文件的位置。
本发明的步骤(2)进一步包括下列四个步骤:
(21)在解析每个运行实例的VoiceXML文件时,先根据统一资源标识符URI对已经生成的文档对象模型DOM树进行检索,并根据不同情况采取相应的处理:如果所需文件的文档对象模型DOM树已经存在于共享缓存池中,即命中DOM树,则直接复制该DOM树并解释执行之,再给该DOM树的使用次数计数器加1;如果没有命中DOM树,将执行后续各项步骤;
(22)VoiceXML解释器对VoiceXML文件进行解析,生成该文件的文档对象模型DOM树;
(23)先将生成的文档对象模型DOM树分为下述三类:A类为所有运行实例都要执行的VoiceXML文件,B类为大部分运行实例需要执行的VoiceXML文件,C类为个别运行实例需要执行的VoiceXML文件;其中A、B两类的文件出现在用户交互的早期,一般是业务的前两个页面,高度个性化的C类业务文件一般出现在第三个页面以后。然后在系统内存中设置一个共享区:缓存池,并在其中建立一个所有运行实例都可访问共享的文档对象模型DOM树缓冲区,用于以后的检索和复制。
本发明的VoiceXML解释器可以同时执行多个VoiceXML运行实例,用来处理多个用户的呼叫。VoiceXML解释器已经执行过的VioceXML文件的DOM树的使用次数是一个重要的参数,可用来决定解析生成的DOM树是否需要被缓存,也是DOM树缓存池的替换算法的一个重要依据。这样就可以减少个性化服务的VoiceXML文件的DOM树被缓存的概率,以保证DOM树的缓存能够高效使用,而不因充斥个性化服务,使得命中率偏低。因此,本发明主要将A类和B类VoiceXML文件缓存在该VoiceXML解释器内存的共享缓存池中。
(24)对已经生成的文档对象模型DOM树进行时限维护和替换更新维护:一方面对缓存池的DOM树进行时效维护:首先依据VoiceXML文件的HTTP包头对于缓存的要求及其本身有效期限的时间要求,然后根据系统的实际需要,如根据业务提供商所提供的资源更新周期等参数,确定是否进行缓冲;另一方面对缓存池的DOM树进行替换更新维护:因为系统的内存空间有限,用于DOM树缓存的空间更是有限,这样就会出现DOM树缓存池的内存空间已满的状况。所以本发明以每个DOM树的使用次数作为比照参数,进行DOM树的替换更新维护,即保存使用率高的DOM树,替换使用率低的DOM树,以便在有限的内存缓存池空间里保持其中DOM树的生命活力。
需要说明的是:上述实施例仅用以说明而非限制本发明的技术思想,不脱离本发明的精神实质和方法范围的任何修改或局部替换,其均涵盖在本发明的权利要求范围当中。
Claims (8)
1、一种用于语音增值业务系统的优化性能的方法,其特征在于:在语音增值业务系统的执行平台上分别简化VoiceXML解释器解析和执行语音增值业务的VoiceXML文件的操作;包括下列步骤:
(1)建立新的统一资源标识符URI,使解释器能够采用传统寻址方法,找到所需的新的URI指定的资源;
(2)对采用语法解析预编译功能编译得到的语法中间格式文件进行缓存,并将新的寻址路径返回给VoiceXML解释器;
(3)对采用文本语音转换TTS功能后得到的语音文件进行缓存,并将新的寻址路径返回给VoiceXML解释器;
(4)对上述步骤产生的至少包括被改写的VoiceXML文件、对应的语法中间格式文件和对应的语音文件,进行相互关联的统一的管理和维护;
(5)在解析每个运行实例的VoiceXML文件时,先根据统一资源标识符URI对已经生成的文档对象模型DOM树进行检索,并根据不同情况采取相应的处理:如果所需文件的文档对象模型DOM树已经存在于共享缓存池中,即命中DOM树,则直接复制该DOM树并解释执行之,再给该DOM树的使用次数计数器加1;如果没有命中DOM树,将执行后续各项步骤;
(6)VoiceXML解释器对VoiceXML文件进行解析,生成该文件的文档对象模型DOM树;
(7)对生成的文档对象模型DOM树进行分类,并分别缓存在该VoiceXML解释器内存的共享缓存池中;
(8)对已经生成的文档对象模型DOM树进行时限维护和替换更新维护。
2、根据权利要求1所述的用于语音增值业务系统的优化性能的方法,其特征在于:所述步骤(1)进一步包括下列步骤:
(11)建立新的统一资源标识符URI:在原语法grammar元素的资源src属性中,增加一个新的统一资源标识符URI,用于标识生成的语法中间格式文件的路径地址;在原语音audio元素的资源src属性中,增加一个新的统一资源标识符URI,用于标识生成的语音文件的路径地址;使所述VoiceXML解释器在使用新的URI指定的资源时,能够采用传统寻址方法;
(12)建立新的VoiceXML文件的标志位和改写规则:引入布尔bool型标志位来表征已被缓冲的VoiceXML文件的状态:初始值为fa1se表示未被改写,标志位为true表示已被改写;当VoiceXML解释器准备对被缓冲的VoiceXML文件进行改写时,检查该标志位,并添加互斥锁:如果标志位为false,则允许改写,此时该VoiceXML文件不能被其他实例读取或改写,改写完成后,把标志位设置为true,并打开互斥锁;如果标志位为true,则放弃对该VoiceXML文件的改写。
3、根据权利要求1所述的用于语音增值业务系统的优化性能的方法,其特征在于:所述步骤(2)进一步包括下列步骤:
(21)系统第一次执行VoiceXML文件时,先分析该文件,找出所有的语法文件;如果被引用的语法文件不在本地,则将该语法文件下载到本地;
(22)使用语音识别服务器的语法预编译功能对所有的语法文件进行编译,把得到的中间结果文件缓存起来,同时把缓存的语法中间格式文件的路径返回给VoiceXML解释器;
(23)VoiceXML解释器根据所述步骤(11)中新建立的语法grammar元素的资源src属性的统一资源标识符URI,对原页面中的对应部分进行改写,即让grammar元素的src属性通过该URI指向已经生成的语法中间格式文件的路径,形成新的缓存文件。
4、根据权利要求1所述的用于语音增值业务系统的优化性能的方法,其特征在于:所述步骤(3)进一步包括下列步骤:
(31)在解释器第一次执行VoiceXML文件的过程中,如果发现存在有需要文本语音转换TTS的内容,将其保存起来;
(32)对保存起来的文件内容进行文本语音转换TTS,再存储该转换后的语音文件,并把该转换后的语音文件的寻址路径返回给VoiceXML解释器;
(33)VoiceXML解释器根据所述步骤(11)中新建立的语音audio元素的资源src属性的统一资源标识符URI,对原文件中的对应路径部分进行改写,即让audio元素的src属性通过该URI指向已经生成的转换后的语音文件的路径,形成新的缓存文件。
5、根据权利要求1所述的用于语音增值业务系统的优化性能的方法,其特征在于:所述步骤(4)进一步包括下列步骤:在每一个被缓存的VoiceXML文件的缓冲记录中增设一个引用计数器,用于记录当前访问该文件的解释器数量;所述解释器执行某一个文件时,其引用计数器加1,且在该文件执行完后,其引用计数器减1。
6、根据权利要求1所述的用于语音增值业务系统的优化性能的方法,其特征在于:所述步骤(7)进一步包括下列步骤:
(71)把语音增值业务的VoiceXML文件归分为下述三类:
A、所有运行实例都要执行的VoiceXML文件,包括但不限于系统的缺省行为形成的文件;
B、大部分运行实例需要执行的VoiceXML文件,包括但不限于业务的主菜单文件、用户初次访问语音门户的缺省文件;
C、个别运行实例需要执行的VoiceXML文件,包括但不限于用户订制的、提供个性化服务的文件;
(72)在系统内存中设置一个共享区:缓存池,并在其中建立一个所有运行实例都可访问共享的文档对象模型DOM树缓冲区,用于以后的检索和复制;
(73)将使用频率高的A类和B类VoiceXML文件的DOM树缓存在所述缓存池内。
7、根据权利要求1所述的用于语音增值业务系统的优化性能的方法,其特征在于:所述步骤(8)进一步包括下列步骤:
(81)对缓存池的DOM树进行时效维护:依据VoiceXML文件的HTTP包头对于缓存的要求及其本身有效期限的时间要求,以及系统的实际需要,确定是否进行缓冲;
(82)对缓存池的DOM树进行替换更新维护:以每个DOM树的使用次数作为比照参数,进行DOM树的替换更新维护,即保存和维护使用率高的DOM树,替换使用率低的DOM树。
8、根据权利要求7所述的用于语音增值业务系统的优化性能的方法,其特征在于:所述对缓存池的DOM树进行替换更新维护时,是根据其引用计数器来挑选被替换的DOM树,即被替换的文件的引用计数器只能为0;如果其引用计数器大于0,不能进行替换更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410088409 CN1266601C (zh) | 2004-10-29 | 2004-10-29 | 一种用于语音增值业务系统的优化性能的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410088409 CN1266601C (zh) | 2004-10-29 | 2004-10-29 | 一种用于语音增值业务系统的优化性能的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1604036A CN1604036A (zh) | 2005-04-06 |
CN1266601C true CN1266601C (zh) | 2006-07-26 |
Family
ID=34667139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200410088409 Expired - Fee Related CN1266601C (zh) | 2004-10-29 | 2004-10-29 | 一种用于语音增值业务系统的优化性能的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1266601C (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100459613C (zh) * | 2005-11-23 | 2009-02-04 | 北京邮电大学 | 模型驱动、适合不同接口和平台技术的融合业务生成方法 |
CN100463472C (zh) * | 2006-06-23 | 2009-02-18 | 北京邮电大学 | 用于语音增值业务系统的预取语音资源的实现方法 |
-
2004
- 2004-10-29 CN CN 200410088409 patent/CN1266601C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1604036A (zh) | 2005-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107247808B (zh) | 一种分布式NewSQL数据库系统及图片数据查询方法 | |
KR101365832B1 (ko) | 데이터 액세스 계층 클래스 생성기 | |
US8977636B2 (en) | Synthesizing aggregate data of disparate data types into data of a uniform data type | |
CN1152515C (zh) | 基于策略的网络管理系统 | |
CN107766526B (zh) | 数据库访问方法、装置及系统 | |
US20070043735A1 (en) | Aggregating data of disparate data types from disparate data sources | |
CN111488143A (zh) | 一种基于Springboot2代码自动生成装置和方法 | |
CN1826600A (zh) | 改进万维网设备中超文本标记语言页面表现的方法和系统 | |
CN104461513B (zh) | 一种生成表单界面的方法及装置 | |
CN110825388A (zh) | 一种将sql语句直接转换为对应rest接口的方法 | |
CN1282111C (zh) | 一种跨平台数据库查询方法 | |
CN111694846B (zh) | 一种基于Type 2 JDBC驱动的分离模式分布式存储过程实现方法 | |
EP4174679A1 (en) | Extending database external functions with user-defined functions | |
CN1825306A (zh) | 基于关系数据库的xml数据存储与访问方法 | |
US20030093770A1 (en) | Generic persistence engine | |
CN1208481A (zh) | 分布式处理 | |
CN1266601C (zh) | 一种用于语音增值业务系统的优化性能的方法 | |
JP4768984B2 (ja) | コンパイル方法、コンパイルプログラムおよびコンパイル装置 | |
CN1664791A (zh) | 一种虚拟存储模型及其方法 | |
Kozankiewicz et al. | SBQL Views-Prototype of Updateable Views. | |
CN114936192B (zh) | 一种文件动态压缩混淆和双向缓存方法及系统 | |
CN116756184B (zh) | 数据库实例处理方法、装置、设备、存储介质及程序产品 | |
US11934422B2 (en) | System and a method of fast java object materialization from database data | |
CN102821116B (zh) | 一种在线服务提供方法、装置及信息系统 | |
CN115827759A (zh) | 一种大规模实时流数据动态重构方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060726 Termination date: 20121029 |