一种语音能力脚本调试方法及装置制造方法

文档序号:6638503阅读:208来源:国知局
一种语音能力脚本调试方法及装置制造方法
【专利摘要】本发明实施例公开了一种语音能力脚本调试方法及装置,用于实现对脚本的调试。本发明实施例方法包括:获取呼入信息,当所述呼入信息符合预设的调试条件时,获取调试脚本,在所述脚本中插入断点标识,根据所述脚本的第一变量值执行所述脚本,当所执行的脚本包含所述断点标识时,将所执行的脚本的第一变量值以及第一结果信息发送给调试平台。这样,通过在脚本中插入断点标识,每执行一条脚本,当所执行的脚本包含断点标识时,则将所执行的脚本得到的第一结果信息以及所执行的脚本中的第一变量值发送给调试平台,便实现了对脚本的单步调试。
【专利说明】一种语音能力脚本调试方法及装置

【技术领域】
[0001]本发明涉及通信领域,尤其涉及一种语音能力脚本调试方法及装置。

【背景技术】
[0002]由于互联网、话音业务等具有电信话音能力的平台的强烈需求,能力开放平台在话音能力上不仅提供了号码、呼叫控制、IVR(interactive voice response,交互式语音应答)、座席、会议、FAX (facsimile,传真)、VOIP (Voice Over Internet Protocol,将模拟信号数字化,以数据封包的形式在IP网络上做实时传递)资源能力API (Applicat1nProgramming Interface,应用程序编程接口)的开放,还提供了脚本能力的开放,开发者利用脚本能力的开放,可以定制自己的业务逻辑,开发自己的脚本应用。
[0003]开发者开发脚本应用,部署到云平台,绑定接入号码,终端用户对接入号码发起呼口4,触发脚本应用,获取脚本应用的URL (uniform resource locator,通用资源定位器),执行脚本,在脚本中调用业务的自己的资源。以物流公司提供话音在线查询包裹为例,物流公司的话音在线查询包裹脚本应用中,设置查询接入号码,部署脚本应用和对接入号码进行关联绑定。用户拨打查询接入号码,电话拨通后触发话音在线查询包裹脚本应用的执行,提示用户输入包裹单号,脚本根据输入单号,在查询物流公司的内部信息系统中获得包裹相关信息,然后播放给用户。
[0004]在现有技术中,在呼出电话和接入电话时,需要话音使能部件(CTI/UAP,ComputerTelephony Integrat1n/Unified Applicat1n Platform)根据话路的接通情况进行触发话音能力脚本的执行,能力开放平台在通话建立后根据关联的脚本应用触发脚本执行,由于话路控制底层信令实时性要求,脚本引擎和呼入接入使能部件硬件紧密相关,脚本执行引擎无法支持调试,因而脚本无法实时调测。


【发明内容】

[0005]本发明实施例提供了一种语音能力脚本调试方法及装置,可实现用对脚本进行调试。
[0006]本发明第一方面提供一种语音能力脚本调试方法,包括:
[0007]获取呼入信息;
[0008]当所述呼入信息符合预设的调试条件时,获取调试脚本;
[0009]在所述脚本中插入断点标识;
[0010]根据所述脚本的第一变量值执行所述脚本;
[0011]当所执行的脚本包含所述断点标识时,将所执行的脚本的第一变量值以
[0012]及第一结果信息发送给调试平台。
[0013]结合本发明实施例第一方面,本发明实施例第一方面的第一种实现方式中,在所述获取呼入信息之前,所述方法还包括:设置调试条件。
[0014]结合本发明实施例第一方面的第一种实现方式,本发明实施例第一方面的第二种实现方式中,在所述设置调试条件之前,所述方法还包括:从调试平台获取调试条件。
[0015]结合本发明实施例第一方面、第一方面的第一种实现方式以及第一方面的第二种实现方式,本发明实施例第一方面的第三种实现方式中,所述在当所执行的脚本包含所述断点标识时,将所执行的脚本的第一变量值以及第一结果信息发送给调试平台之前,所述方法还包括:
[0016]判断所执行的脚本是否包含所述断点标识。
[0017]结合本发明实施例第一方面、第一方面的第一种实现方式以及第一方面的第二种实现方式,本发明实施例第一方面的第四种实现方式中,所述方法还包括:
[0018]判断所执行的脚本是否包含所述断点标识,若否,则继续执行所述脚本。
[0019]结合本发明实施例第一方面、第一方面的第一种实现方式以及第一方面的第二种实现方式,本发明实施例第一方面的第五种实现方式中,在将所执行的脚本的第一变量值以及第一结果信息发送给调试平台之前,所述方法还包括:
[0020]挂起所述脚本的执行;
[0021]保存执行所述脚本得到的第一结果信息。
[0022]结合本发明实施例第一方面、第一方面的第一种实现方式以及第一方面的第二种实现方式,本发明实施例第一方面的第六种实现方式中,在将所执行的脚本的第一变量值以及第一结果信息发送给调试平台之后,所述方法还包括:
[0023]获取所述调试平台更改后的第二变量值,根据所述第二变量值执行所述脚本。
[0024]结合本发明实施例第一方面的第六种实现方式,本发明实施例第一方面的第七种实现方式中,在根据所述第二变量值执行所述脚本之后,所述方法还包括:
[0025]将根据所述第二变量值执行脚本得到的第二结果信息发送给调试平台。
[0026]结合本发明实施例第一方面的第七种实现方式,本发明实施例第一方面的第八种实现方式中,在根据所述第二变量值执行所述脚本之前,所述方法还包括:
[0027]从所述调试平台获取调试指令。
[0028]结合本发明实施例第一方面、第一方面的第一种实现方式以及第一方面的第二种实现方式,本发明实施例第一方面的第九种实现方式中,所述获取脚本包括:从脚本服务器中获取脚本。
[0029]结合本发明实施例第一方面、第一方面的第一种实现方式以及第一方面的第二种实现方式,本发明实施例第一方面的第十种实现方式中,所述在所述脚本中插入断点标识包括:
[0030]在所述脚本的每一行末插入断点标识。
[0031]本发明第二方面提供一种语音能力脚本调试装置,包括:
[0032]第一获取单元,用于获取呼入信息;
[0033]第二获取单元,用于当所述呼入信息符合预设的调试条件时,获取调试脚本;
[0034]插入单元,用于在所述脚本中插入断点标识;
[0035]第一执行单元,用于根据所述脚本的第一变量值执行所述脚本;
[0036]第一发送单元,用于当所执行的脚本包含所述断点标识时,将所执行的脚本的第一变量值以及第一结果信息发送给调试平台。
[0037]结合本发明实施例第二方面,本发明实施例第二方面的第一种实现方式中,所述装置还包括:
[0038]设置单元,用于所述获取呼入信息之前,设置调试条件。
[0039]结合本发明实施例第二方面的第一种实现方式,本发明实施例第二方面的第二种实现方式中,所述装置还包括:
[0040]第三获取单元,用于在所述设置调试条件之前,从调试平台获取调试条件。
[0041]结合本发明实施例第二方面、第二方面的第一种实现方式以及第二方面的第二种实现方式,本发明实施例第二方面的第三种实现方式中,所述装置还包括:
[0042]判断单元,用于在当所执行的脚本包含所述断点标识时,将所执行的脚本的第一变量值以及第一结果信息发送给调试平台之前,判断所执行的脚本是否包含所述断点标识。
[0043]结合本发明实施例第二方面的第三种实现方式,本发明实施例第二方面的第四种实现方式中,所述装置还包括:
[0044]第二执行单元,用于当所执行的脚本包含所述断点标识时,继续执行所述脚本。
[0045]结合本发明实施例第二方面、第二方面的第一种实现方式以及第二方面的第二种实现方式,本发明实施例第二方面的第五种实现方式中,所述装置还包括:
[0046]挂起单元,用于在将所执行的脚本的第一变量值以及第一结果信息发送给调试平台之前,挂起所述脚本的执行;
[0047]保存单元,用于在将所执行的脚本的第一变量值以及第一结果信息发送给调试平台之前,保存执行所述脚本得到的第一结果信息。
[0048]结合本发明实施例第二方面、第二方面的第一种实现方式以及第二方面的第二种实现方式,本发明实施例第二方面的第六种实现方式中,所述装置还包括:
[0049]第四获取单元,用于在将所执行的脚本的第一变量值以及第一结果信息发送给调试平台之后,获取所述调试平台更改后的第二变量值;
[0050]第三执行单元,用于根据所述第二变量值执行所述脚本。
[0051]结合本发明实施例第二方面的第六种实现方式,本发明实施例第二方面的第七种实现方式中,所述装置还包括:
[0052]第二发送单元,用于在根据所述第二变量值执行所述脚本之后,将根据所述第二变量值执行脚本得到的第二结果信息发送给调试平台。
[0053]结合本发明实施例第二方面的第七种实现方式,本发明实施例第二方面的第八种实现方式中,所述装置还包括:
[0054]第五获取单元,用于在根据所述第二变量值执行所述脚本之前,从所述调试平台获取调试指令。
[0055]结合本发明实施例第二方面、第二方面的第一种实现方式以及第二方面的第二种实现方式,本发明实施例第二方面的第九种实现方式中,所述第二获取单元包括:
[0056]第二获取模块,用于从脚本服务器中获取脚本。
[0057]结合本发明实施例第二方面、第二方面的第一种实现方式以及第二方面的第二种实现方式,本发明实施例第二方面的第十种实现方式中,所述插入单元包括:
[0058]插入模块,用于在所述脚本的每一行末插入断点标识。
[0059]本发明实施例提供一种语音能力脚本调试方法,包括:获取呼入信息,当所述呼入信息符合预设的调试条件时,获取调试脚本,在所述脚本中插入断点标识,根据所述脚本的第一变量值执行所述脚本,当所执行的脚本包含所述断点标识时,将所执行的脚本的第一变量值以及第一结果信息发送给调试平台。这样,通过在脚本中插入断点标识,每执行一条脚本,当所执行的脚本包含断点标识时,则将所执行的脚本得到的第一结果信息以及所执行的脚本中的第一变量值发送给调试平台,便实现了对脚本的单步调试。

【专利附图】

【附图说明】
[0060]图1为本发明实施例中语音能力脚本调试实体装置的一个实施例示意图;
[0061]图2为本发明实施例中语音能力脚本调试方法的一个实施例示意图;
[0062]图3为本发明实施例中语音能力脚本调试方法的另一实施例示意图;
[0063]图4为本发明实施例中语音能力脚本调试方法的另一实施例示意图;
[0064]图5为本发明实施例中语音能力脚本调试装置的一个实施例示意图;
[0065]图6为本发明实施例中语音能力脚本调试装置的另一实施例示意图;
[0066]图7为本发明实施例中语音能力脚本调试装置的另一实施例示意图。

【具体实施方式】
[0067]本发明实施例提供了一种语音能力脚本调试方法及装置,用于实现对脚本的调试。
[0068]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0069]下面参照图1所示,以调试条件为呼入999号码、语音能力脚本调试装置为调试引擎为例,对本发明实体装置的一个实施例进行具体描述,本发明实施例中语音能力脚本调试装置的一个实施例包括:
[0070]开发者在调试平台中设定调试条件为呼入99555号码,将调试条件发送至调试引擎;调试引擎将呼入99555号码设置为调试引擎的调试条件;当有用户呼入时,则获取用户的呼入号,若呼入号为99555,则符合调试条件,调试引擎则从脚本服务器中获取开发者所研发的脚本(假设调试的脚本为循环播放声音文件);调试引擎在所获取的脚本中插入断点标识Trap,并开始执行脚本第一行(播放提示音),得到第一结果信息(播放结果),脚本中包括第一变量值(保存播放声音的路径/aud1/voicel.wav),判断所执行的一行或一段脚本中,是否包含有断点标识Trap,若有,则挂起脚本的执行,保存所执行的脚本的第一结果信息以及第一变量值,并发送给调试平台,调试平台展示声音播放结果是成功还是失败,若无,则继续执行脚本,直到脚本执行完毕;调试平台在接收到调试引擎发送的第一变量值以及第一结果信息之后,开发者可以下发修改变量值命令,更改第一变量值得到第二变量值,即将声音文件的路径修改为/aud1/voice2.wav,并发送给调试引擎,调试引擎接收到第二变量值以及调试平台所发送的调试指令,根据第二变量值对第一次执行的脚本进行第二次执行,得到第二结果信息,再将第二结果信息发送给调试平台;这样,每逢一个断点标识,便进行这样一次操作,直到脚本循环执行完毕。
[0071]本发明实施例中,通过在脚本中插入断点标识,每执行一条脚本,便判断脚本中是否包含脚本标识,若包含,则将所执行的脚本得到的第一结果信息以及所执行的脚本中的第一变量值发送给调试平台,便实现了对脚本的单步调试。调试平台接收到第一变量值后,将第一变量值更改得到第二变量值,将第二变量值发送给调试引擎,调试引擎再跟句第二变量值执行脚本得到第二结果信息,并将第二结果信息发送给调试平台,这样,便实现了调试平台对调试引擎的双向调试,开发者也可以通过判断第一结果信息与第二结果信息查出脚本中存在Bug。
[0072]参照图2所示,本发明实施例中语音能力脚本调试方法的一个实施例包括:
[0073]101、获取呼入信息;
[0074]只有当用户在进行呼入事件时,才能触发语音能力脚本调试引擎,调试引擎需要判断此次呼入是否进入调试模式,则需先获取用户呼入信息,呼入信息包括用户呼入号码。
[0075]102、当所述呼入信息符合预设的调试条件时,获取调试脚本;
[0076]因为在脚本执行引擎中包括多种引擎,一般为商业引擎,商业引擎在被触发后则直接获取脚本,然后执行脚本,无法实现对脚本的调试,本发明设置一个调试引擎,以调试条件为调试引擎的接口,当判断符合调试条件时,则进入调试引擎。当呼入信号符合调试条件时,则进入调试模式,调试引擎是针对执行脚本的调试,所以需要先获取脚本。
[0077]103、在所述脚本中插入断点标识;
[0078]因为在脚本中包含多段代码,若需要知道每段代码执行之后所得到的结果或状态什么,则需要在每执行一段代码后,对得到的结果或状态进行依次输出,以达到单步调试和方便开发者根据结果信息判断。需要说明的是,在脚本中插入断点标识的规则可以为预设的规则,也可以为开发者按照需求插入。
[0079]104、根据所述脚本的第一变量值执行所述脚本;
[0080]得到脚本后,则需要对脚本执行,脚本由多行代码组成,在脚本代码中存在多个变量值,而每执行一段脚本代码,则会得到一个第一结果信息,第一结果信息可以为根据第一变量值在执行脚本后得到的一个结果或者一种状态。
[0081]105、当所执行的脚本包含所述断点标识时,将所执行的脚本的第一变量值以及第一结果信息发送给调试平台;
[0082]在没有其他限制的情况下,在执行脚本过程中,会按照约定的执行规则对脚本全部执行,得到最终的结果,但当在脚本中插入了断点标识后,在执行的过程中,当碰到了断点标识,则不会继续执行,若没有碰到断点标识,则将继续执行后续的脚本代码。当遇到断点标识后,调试引擎先将所执行了的断点标识以前的脚本代码的第一变量值以及执行得到的第一结果信息发送至调试平台。
[0083]本发明实施例提供一种语音能力脚本调试方法,包括:获取呼入信息,当所述呼入信息符合预设的调试条件时,获取调试脚本,在所述脚本中插入断点标识,根据所述脚本的第一变量值执行所述脚本,当所执行的脚本包含所述断点标识时,将所执行的脚本的第一变量值以及第一结果信息发送给调试平台。这样,通过在脚本中插入断点标识,每执行一条脚本,当所执行的脚本包含断点标识时,则将所执行的脚本得到的第一结果信息以及所执行的脚本中的第一变量值发送给调试平台,便实现了对脚本的单步调试。
[0084]上述实施例中,描述了当呼入信息符合预设的调试条件时,则获取调试脚本,在实际应用中,在获取呼入信息之前还包括设置调试条件,以及调试引擎是从脚本服务器中获取脚本的,下面参照图3所示,本发明实施例中语音能力脚本调试方法的另一个实施例包括:
[0085]201、从调试平台获取调试条件;
[0086]因为调试引擎自身无法生成调试条件,调试条件一般是由开发者在调试平台撰写生成的,所以调试引擎需要从调试平台获取调试条件。比如,开发者设定用户呼入99555号码,则可进入调试,那么呼入号99555,则为调试条件。
[0087]202、设置调试条件;
[0088]当调试引擎从调试平台获取到调试条件后,则可将调试条件设置在调试引擎,这样,调试条件则可作为进入调试模式的一个接口。
[0089]203、获取呼入信息;
[0090]只有当用户在进行呼入事件时,才能触发语音能力脚本调试引擎,调试引擎需要判断此次呼入是否进入调试模式,则需先获取用户呼入信息,呼入信息包括用户呼入号码。
[0091]204、判断所述呼入信息是否符合预设的调试条件,若是,则执行205,若否,则执行其他;
[0092]因为在脚本执行引擎中包括多种引擎,一般为商业引擎,商业引擎在被触发后则直接获取脚本,然后执行脚本,无法实现对脚本的调试,本发明设置一个调试引擎,以调试条件为调试引擎的接口,当判断符合调试条件时,则进入调试引擎。
[0093]205、从脚本服务器中获取调试脚本;
[0094]当呼入信号符合调试条件时,则进入调试模式,调试引擎是针对执行脚本的调试,所以需要先获取脚本,而调试引擎自身没有可以永久存储脚本的存储器,所有的脚本都在脚本服务器中,所以需要从脚本服务器中获取脚本。
[0095]206、在所述脚本中插入断点标识;
[0096]因为在脚本中包含多段代码,若需要知道每段代码执行之后所得到的结果或状态什么,则需要在每执行一段代码后,对得到的结果或状态进行依次输出,以达到单步调试和方便开发者根据结果信息判断,比如在脚本中插入Trap命令,以Trap命令作为脚本中的断点标识。需要说明的是,在脚本中插入断点标识的规则可以为预设的规则,也可以为开发者按照需求插入。
[0097]207、根据所述脚本的第一变量值执行所述脚本;
[0098]得到脚本后,则需要对脚本执行,脚本由多行代码组成,在脚本代码中存在多个变量值,而每执行一段脚本代码,则会得到一个第一结果信息,第一结果信息可以为根据第一变量值在执行脚本后得到的一个结果或者一种状态。
[0099]208、判断所执行的脚本是否包含所述断点标识,若是,则执行209,若否,则执行207 ;
[0100]在没有其他限制的情况下,在执行脚本过程中,会按照约定的执行规则对脚本全部执行,得到最终的结果,但当在脚本中插入了断点标识后,在执行的过程中,当碰到了断点标识,则不会继续执行,若没有碰到断点标识,则将继续执行后续的脚本代码。
[0101]209、将所执行的脚本的第一变量值以及第一结果信息发送给调试平台;
[0102]当遇到断点标识后,调试引擎先将所执行了的断点标识以前的脚本代码的第一变量值以及执行得到的第一结果信息发送至调试平台。
[0103]本发明实施例中,调试引擎是通过从调试平台获取调试条件,并设置调试条件的,这样,开发者可以方便得在调试平台更改调试条件,提高了调试效率;调试引擎从脚本服务器中获取脚本,因为脚本服务器中所存储的脚本为最新的脚本代码,所以调试引擎所获取到的脚本也为最新的脚本代码,这样,提高了语音能力脚本调试的实时性。
[0104]上述实施例中,描述了调试引擎将所执行的脚本的第一变量值以及第一结果信息发送给调试平台,在实际应用中,可以在所述脚本的每一行末插入断点标识,在将所执行的脚本的第一变量值以及第一结果信息发送给调试平台之前,还可以挂起所述脚本的执行,保存执行所述脚本得到的第一结果信息;在将所执行的脚本的第一变量值以及第一结果信息发送给调试平台之后,还可以获取所述调试平台更改后的第二变量值,根据所述第二变量值执行所述脚本,下面参照图4所示,本发明实施例中语音能力脚本调试方法的另一个实施例包括:
[0105]301、从调试平台获取调试条件;
[0106]因为调试引擎自身无法生成调试条件,调试条件一般是由开发者在调试平台撰写生成的,所以调试引擎需要从调试平台获取调试条件。比如,开发者设定用户呼入99555号码,则可进入调试,那么呼入号99555,则为调试条件。
[0107]302、设置调试条件;
[0108]当调试引擎从调试平台获取到调试条件后,则可将调试条件设置在调试引擎,这样,调试条件则可作为进入调试模式的一个接口。
[0109]303、获取呼入信息;
[0110]只有当用户在进行呼入事件时,才能触发语音能力脚本调试引擎,调试引擎需要判断此次呼入是否进入调试模式,则需先获取用户呼入信息,呼入信息包括用户呼入号码。
[0111]304、判断所述呼入信息是否符合预设的调试条件,若是,则执行305,若否,则执行其他;
[0112]因为在脚本执行引擎中包括多种引擎,一般为商业引擎,商业引擎在被触发后则直接获取脚本,然后执行脚本,无法实现对脚本的调试,本发明设置一个调试引擎,以调试条件为调试引擎的接口,当判断符合调试条件时,则进入调试引擎。
[0113]305、从脚本服务器中获取调试脚本;
[0114]当呼入信号符合调试条件时,则进入调试模式,调试引擎是针对执行脚本的调试,所以需要先获取脚本,而调试引擎自身没有可以永久存储脚本的存储器,所有的脚本都在脚本服务器中,所以需要从脚本服务器中获取脚本。
[0115]306、在所述脚本的每一行末插入断点标识;
[0116]因为在脚本中包含多段代码,若需要知道每段代码执行之后所得到的结果或状态什么,则需要在每执行一段代码后,对得到的结果或状态进行依次输出,以达到单步调试和方便开发者根据结果信息判断,比如在脚本中插入Trap命令,以Trap命令作为脚本中的断点标识。需要说明的是,在脚本中插入断点标识的规则可以为预设的规则,也可以为开发者按照需求插入。
[0117]307、根据所述脚本的第一变量值执行所述脚本;
[0118]得到脚本后,则需要对脚本执行,脚本由多行代码组成,在脚本代码中存在多个变量值而每执行一段脚本代码,则会得到一个第一结果信息,第一结果信息可以为根据第一变量值在执行脚本后得到的一个结果或者一种状态。
[0119]308、判断所执行的脚本是否包含所述断点标识,若是,则执行309,若否,则执行307 ;
[0120]在没有其他限制的情况下,在执行脚本过程中,会按照约定的执行规则对脚本全部执行,得到最终的结果,但当在脚本中插入了断点标识后,在执行的过程中,当碰到了断点标识,则不会继续执行,若没有碰到断点标识,则将继续执行后续的脚本代码。
[0121]309、挂起所述脚本的执行;
[0122]当在执行脚本的过程中,碰到断点标识,则不会继续执行,调试引擎可以挂起脚本的执行。
[0123]310、保存执行所述脚本得到的第一结果信息;
[0124]调试引擎中可以设置一个临时内存,用于保存每执行一段脚本代码后,所得到的第一结果信息,因为在脚本执行的过程中,可能后续的脚本代码中需要前面脚本代码执行后所产生的第一结果信息。
[0125]311、将所执行的脚本的第一变量值以及第一结果信息发送给调试平台;
[0126]当遇到断点标识后,调试引擎先将所执行了的断点标识以前的脚本代码的第一变量值以及执行得到的第一结果信息发送至调试平台。
[0127]312、获取所述调试平台更改后的第二变量值;
[0128]在调试引擎将第一结果信息以及第一变量值发送给调试平台后,开发者若需要对脚本进行双向调试,则可以更改第一变量值得到第二变量值,再将第二变量值发送给调试引擎。
[0129]313、从所述调试平台获取调试指令;
[0130]在调试引擎接收到调试平台所发送的第二变量值后,需要从调试平台获取一个调试指令,才能根据第二变量值执行脚本。
[0131]314、根据所述第二变量值执行所述脚本;
[0132]调试引擎根据第二变量值对相应的执行过一此的脚本进行第二次执行,因为变量值更改了,结果信息自然会更改。
[0133]315、将根据所述第二变量值执行脚本得到的第二结果信息发送个给调试平台;
[0134]调试引擎将第二结果信息发送给调试平台,这样,开发者则可以根据对比第一结果信息与第二结果信息找到脚本中的Bug,也方便开发者对脚本在此进行调试。
[0135]本发明实施例中,在所述脚本的每一行末插入断点标识,这样每执行一行脚本代码,便将该行脚本代码的第一变量值以及第一结果信息保存并发送至调试平台,调试平台接收到第一变量值后,将第一变量值更改得到第二变量值,将第二变量值发送给调试引擎,调试引擎再跟句第二变量值执行脚本得到第二结果信息,并将第二结果信息发送给调试平台,这样,便实现了调试平台对调试引擎的双向调试,开发者也可以通过判断第一结果信息与第二结果信息查出脚本中存在Bug。
[0136]参照图5所示,本发明实施例中语音能力脚本调试装置的一个实施例包括:
[0137]第一获取单元401,用于获取呼入信息;
[0138]只有当用户在进行呼入事件时,才能触发语音能力脚本调试引擎,调试引擎需要判断此次呼入是否进入调试模式,则需先获取用户呼入信息,呼入信息包括用户呼入号码。
[0139]第二获取单元402,用于当所述呼入信息符合预设的调试条件时,获取脚本;
[0140]因为在脚本执行引擎中包括多种引擎,一般为商业引擎,商业引擎在被触发后则直接获取脚本,然后执行脚本,无法实现对脚本的调试,本发明设置一个调试引擎,以调试条件为调试引擎的接口,当判断符合调试条件时,则进入调试引擎。当呼入信号符合调试条件时,则进入调试模式,调试引擎是针对执行脚本的调试,所以需要先获取脚本。
[0141]插入单元403,用于当所述呼入信息符合预设的调试条件时,在所述脚本中插入断点标识;
[0142]因为在脚本中包含多段代码,若需要知道每段代码执行之后所得到的结果或状态什么,则需要在每执行一段代码后,对得到的结果或状态进行依次输出,以达到单步调试和方便开发者根据结果信息判断。需要说明的是,在脚本中插入断点标识的规则可以为预设的规则,也可以为开发者按照需求插入。
[0143]第一执行单元404,用于根据所述脚本的第一变量值执行所述脚本;
[0144]得到脚本后,则需要对脚本执行,脚本由多行代码组成,在脚本代码中存在多个变量值,而每执行一段脚本代码,则会得到一个第一结果信息,第一结果信息可以为根据第一变量值在执行脚本后得到的一个结果或者一种状态。
[0145]第一发送单元405,用于当所执行的脚本包含所述断点标识时,将所执行的脚本的第一变量值以及第一结果信息发送给调试平台;
[0146]在没有其他限制的情况下,在执行脚本过程中,会按照约定的执行规则对脚本全部执行,得到最终的结果,但当在脚本中插入了断点标识后,在执行的过程中,当碰到了断点标识,则不会继续执行,若没有碰到断点标识,则将继续执行后续的脚本代码。当遇到断点标识后,调试引擎先将所执行了的断点标识以前的脚本代码的第一变量值以及执行得到的第一结果信息发送至调试平台。
[0147]本发明实施例提供一种语音能力脚本调试装置,包括:获取呼入信息,当所述呼入信息符合预设的调试条件时,获取调试脚本,在所述脚本中插入断点标识,根据所述脚本的第一变量值执行所述脚本,当所执行的脚本包含所述断点标识时,将所执行的脚本的第一变量值以及第一结果信息发送给调试平台。这样,通过在脚本中插入断点标识,每执行一条脚本,当所执行的脚本包含断点标识时,则将所执行的脚本得到的第一结果信息以及所执行的脚本中的第一变量值发送给调试平台,便实现了对脚本的单步调试。
[0148]上述实施例中,描述了调试引擎判断所述呼入信息是否符合预设的调试条件,若是,则获取脚本,在实际应用中,判断所述呼入信息是否符合预设的调试条件之前还包括设置调试条件,以及调试引擎是从脚本服务器中获取脚本的,下面参照图6所示,本发明实施例中语音能力脚本调试装置的另一个实施例包括:
[0149]第三获取单元501,用于从调试平台获取调试条件;
[0150]因为调试引擎自身无法生成调试条件,调试条件一般是由开发者在调试平台撰写生成的,所以调试引擎需要从调试平台获取调试条件。比如,开发者设定用户呼入99555号码,则可进入调试,那么呼入号99555,则为调试条件。
[0151]设置单元502,用于在所述获取呼入信息之前,设置调试条件;
[0152]当调试引擎从调试平台获取到调试条件后,则可将调试条件设置在调试引擎,这样,调试条件则可作为进入调试模式的一个接口。
[0153]第一获取单元503,用于获取呼入信息;
[0154]只有当用户在进行呼入事件时,才能触发语音能力脚本调试引擎,调试引擎需要判断此次呼入是否进入调试模式,则需先获取用户呼入信息,呼入信息包括用户呼入号码。
[0155]第一判断单元504,用于判断所述呼入信息是否符合预设的调试条件;
[0156]因为在脚本执行引擎中包括多种引擎,一般为商业引擎,商业引擎在被触发后则直接获取脚本,然后执行脚本,无法实现对脚本的调试,本发明设置一个调试引擎,以调试条件为调试引擎的接口,当判断符合调试条件时,则进入调试引擎。
[0157]所述第二获取单元505包括第二获取模块5051,用于从脚本服务器中获取调试脚本。
[0158]当呼入信号符合调试条件时,则进入调试模式,调试引擎是针对执行脚本的调试,所以需要先获取脚本,而调试引擎自身没有可以永久存储脚本的存储器,所有的脚本都在脚本服务器中,所以需要从脚本服务器中获取脚本。
[0159]插入单元506,用于当所述呼入信息符合预设的调试条件时,在所述脚本中插入断点标识;
[0160]因为在脚本中包含多段代码,若需要知道每段代码执行之后所得到的结果或状态什么,则需要在每执行一段代码后,对得到的结果或状态进行依次输出,以达到单步调试和方便开发者根据结果信息判断,比如在脚本中插入Trap命令,以Trap命令作为脚本中的断点标识。需要说明的是,在脚本中插入断点标识的规则可以为预设的规则,也可以为开发者按照需求插入。
[0161]第一执行单元507,用于根据所述脚本的第一变量值执行所述脚本;
[0162]得到脚本后,则需要对脚本执行,而每执行一段脚本代码,则会得到一个第一结果信息,第一结果信息可以为根据第一变量值在执行脚本后得到的一个结果或者一种状态。
[0163]第二判断单元508,用于判断所执行的脚本是否包含所述断点标识;
[0164]在没有其他限制的情况下,在执行脚本过程中,会按照约定的执行规则对脚本全部执行,得到最终的结果,但当在脚本中插入了断点标识后,在执行的过程中,当碰到了断点标识,则不会继续执行。
[0165]第二执行单元509,用于当所执行的脚本不包含所述断点标识时,继续执行所述脚本。
[0166]若没有碰到断点标识,则将继续执行后续的脚本代码。
[0167]第一发送单元510,用于当所执行的脚本包含所述断点标识时,将所执行的脚本的第一变量值以及第一结果信息发送给调试平台;
[0168]当遇到断点标识后,调试引擎先将所执行了的断点标识以前的脚本代码的第一变量值以及执行得到的第一结果信息发送至调试平台。
[0169]本发明实施例中,调试引擎是通过从调试平台获取调试条件,并设置调试条件的,这样,开发者可以方便得在调试平台更改调试条件,提高了调试效率;调试引擎从脚本服务器中获取脚本,因为脚本服务器中所存储的脚本为最新的脚本代码,所以调试引擎所获取到的脚本也为最新的脚本代码,这样,提高了语音能力脚本调试的实时性。
[0170]上述实施例中,描述了调试引擎将所执行的脚本的第一变量值以及第一结果信息发送给调试平台,在实际应用中,可以在所述脚本的每一行末插入断点标识,在将所执行的脚本的第一变量值以及第一结果信息发送给调试平台之前,还可以挂起所述脚本的执行,保存执行所述脚本得到的第一结果信息;在将所执行的脚本的第一变量值以及第一结果信息发送给调试平台之后,还可以获取所述调试平台更改后的第二变量值,根据所述第二变量值执行所述脚本,下面参照图7所示,本发明实施例中语音能力脚本调试装置的另一个实施例包括:
[0171]第三获取单元601,用于从调试平台获取调试条件;
[0172]因为调试引擎自身无法生成调试条件,调试条件一般是由开发者在调试平台撰写生成的,所以调试引擎需要从调试平台获取调试条件。比如,开发者设定用户呼入99555号码,则可进入调试,那么呼入号99555,则为调试条件。
[0173]设置单元602,用于在所述获取呼入信息之前,设置调试条件;
[0174]当调试引擎从调试平台获取到调试条件后,则可将调试条件设置在调试引擎,这样,调试条件则可作为进入调试模式的一个接口。
[0175]第一获取单元603,用于获取呼入信息;
[0176]只有当用户在进行呼入事件时,才能触发语音能力脚本调试引擎,调试引擎需要判断此次呼入是否进入调试模式,则需先获取用户呼入信息,呼入信息包括用户呼入号码。
[0177]第一判断单元604,用于判断所述呼入信息是否符合预设的调试条件;
[0178]因为在脚本执行引擎中包括多种引擎,一般为商业引擎,商业引擎在被触发后则直接获取脚本,然后执行脚本,无法实现对脚本的调试,本发明设置一个调试引擎,以调试条件为调试引擎的接口,当判断符合调试条件时,则进入调试引擎。
[0179]所述第二获取单元605包括第二获取模块6051,用于从脚本服务器中获取调试脚本。
[0180]当呼入信号符合调试条件时,则进入调试模式,调试引擎是针对执行脚本的调试,所以需要先获取脚本,而调试引擎自身没有可以永久存储脚本的存储器,所有的脚本都在脚本服务器中,所以需要从脚本服务器中获取脚本。
[0181]插入单元606,用于当所述呼入信息符合预设的调试条件时,在所述脚本中插入断点标识;
[0182]因为在脚本中包含多段代码,若需要知道每段代码执行之后所得到的结果或状态什么,则需要在每执行一段代码后,对得到的结果或状态进行依次输出,以达到单步调试和方便开发者根据结果信息判断,比如在脚本中插入Trap命令,以Trap命令作为脚本中的断点标识。需要说明的是,在脚本中插入断点标识的规则可以为预设的规则,也可以为开发者按照需求插入。
[0183]第一执行单元607,用于根据所述脚本的第一变量值执行所述脚本;
[0184]得到脚本后,则需要对脚本执行,而每执行一段脚本代码,则会得到一个第一结果信息,第一结果信息可以为根据第一变量值在执行脚本后得到的一个结果或者一种状态。
[0185]第二判断单元608,用于判断所执行的脚本是否包含所述断点标识;
[0186]在没有其他限制的情况下,在执行脚本过程中,会按照约定的执行规则对脚本全部执行,得到最终的结果,但当在脚本中插入了断点标识后,在执行的过程中,当碰到了断点标识,则不会继续执行。
[0187]第二执行单元609,用于当所执行的脚本不包含所述断点标识时,继续执行所述脚本。
[0188]若没有碰到断点标识,则将继续执行后续的脚本代码。
[0189]挂起单元610,用于在将所执行的脚本的第一变量值以及第一结果信息发送给调试平台之前,挂起所述脚本的执行;
[0190]当在执行脚本的过程中,碰到断点标识,则不会继续执行,调试引擎可以挂起脚本的执行。
[0191]保存单元611,用于在将所执行的脚本的第一变量值以及第一结果信息发送给调试平台之前,保存执行所述脚本得到的第一结果信息;
[0192]调试引擎中可以设置一个临时内存,用于保存每执行一段脚本代码后,所得到的第一结果信息,因为在脚本执行的过程中,可能后续的脚本代码中需要前面脚本代码执行后所产生的第一结果信息。
[0193]第一发送单元612,用于当所执行的脚本包含所述断点标识时,将所执行的脚本的第一变量值以及第一结果信息发送给调试平台;
[0194]当遇到断点标识后,调试引擎先将所执行了的断点标识以前的脚本代码的第一变量值以及执行得到的第一结果信息发送至调试平台。
[0195]第四获取单元613,用于在将所执行的脚本的第一变量值以及第一结果信息发送给调试平台之后,获取所述调试平台更改后的第二变量值;
[0196]在调试引擎将第一结果信息以及第一变量值发送给调试平台后,开发者若需要对脚本进行双向调试,则可以更改第一变量值得到第二变量值,再将第二变量值发送给调试引擎。
[0197]第五获取单元614,用于在根据所述第二变量值执行所述脚本之前,从所述调试平台获取调试指令;
[0198]在调试引擎接收到调试平台所发送的第二变量值后,需要从调试平台获取一个调试指令,才能根据第二变量值执行脚本。
[0199]第三执行单元615,用于根据所述第二变量值执行所述脚本;
[0200]调试引擎根据第二变量值对相应的执行过一此的脚本进行第二次执行,因为变量值更改了,结果信息自然会更改。
[0201]第二发送单元616,用于在根据所述第二变量值执行所述脚本之后,将根据所述第二变量值执行脚本得到的第二结果信息发送给调试平台;
[0202]调试引擎将第二结果信息发送给调试平台,这样,开发者则可以根据对比第一结果信息与第二结果信息找到脚本中的Bug,也方便开发者对脚本在此进行调试。
[0203]本发明实施例中,在所述脚本的每一行末插入断点标识,这样每执行一行脚本代码,便将该行脚本代码的第一变量值以及第一结果信息保存并发送至调试平台,调试平台接收到第一变量值后,将第一变量值更改得到第二变量值,将第二变量值发送给调试引擎,调试引擎再跟句第二变量值执行脚本得到第二结果信息,并将第二结果信息发送给调试平台,这样,便实现了调试平台对调试引擎的双向调试,开发者也可以通过判断第一结果信息与第二结果信息查出脚本中存在Bug。
[0204]以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【权利要求】
1.一种语音能力脚本调试方法,其特征在于,包括: 获取呼入?目息; 当所述呼入信息符合预设的调试条件时,获取调试脚本; 在所述脚本中插入断点标识; 根据所述脚本的第一变量值执行所述脚本; 当所执行的脚本包含所述断点标识时,将所执行的脚本的第一变量值以 及第一结果信息发送给调试平台。
2.根据权利要求1所述方法,其特征在于,在所述获取呼入信息之前,所述方法还包括:设置调试条件。
3.根据权利要求2所述方法,其特征在于,在所述设置调试条件之前,所述方法还包括:从调试平台获取调试条件。
4.根据权利要求1至3其中任意一项所述方法,其特征在于,所述在当所执行的脚本包含所述断点标识时,将所执行的脚本的第一变量值以及第一结果信息发送给调试平台之前,所述方法还包括: 判断所执行的脚本是否包含所述断点标识。
5.根据权利要求4所述方法,其特征在于,所述方法还包括: 判断所执行的脚本是否包含所述断点标识,若否,则继续执行所述脚本。
6.根据权利要求1至3其中任意一项所述方法,其特征在于,在将所执行的脚本的第一变量值以及第一结果信息发送给调试平台之前,所述方法还包括: 挂起所述脚本的执行; 保存执行所述脚本得到的第一结果信息。
7.根据权利要求1至3其中任意一项所述方法,其特征在于,在将所执行的脚本的第一变量值以及第一结果信息发送给调试平台之后,所述方法还包括: 获取所述调试平台更改后的第二变量值,根据所述第二变量值执行所述脚本。
8.根据权利要求7所述方法,其特征在于,在根据所述第二变量值执行所述脚本之后,所述方法还包括: 将根据所述第二变量值执行脚本得到的第二结果信息发送给调试平台。
9.根据权利要求8所述方法,其特征在于,在根据所述第二变量值执行所述脚本之前,所述方法还包括: 从所述调试平台获取调试指令。
10.根据权利要求1至3其中任意一项所述方法,其特征在于,所述获取脚本包括:从脚本服务器中获取脚本。
11.根据权利要求1至3其中任意一项所述方法,其特征在于,所述在所述脚本中插入断点标识包括: 在所述脚本的每一行末插入断点标识。
12.—种语音能力脚本调试装置,其特征在于,包括: 第一获取单元,用于获取呼入信息; 第二获取单元,用于当所述呼入信息符合预设的调试条件时,获取调试 脚本; 插入单元,用于在所述脚本中插入断点标识; 第一执行单元,用于根据所述脚本的第一变量值执行所述脚本; 第一发送单元,用于当所执行的脚本包含所述断点标识时,将所执行的 脚本的第一变量值以及第一结果信息发送给调试平台。
13.根据权利要求12所述装置,其特征在于,所述装置还包括: 设置单元,用于在所述获取呼入信息之前,设置调试条件。
14.根据权利要求13所述装置,其特征在于,所述装置还包括: 第三获取单元,用于在所述设置调试条件之前,从调试平台获取调试条件。
15.根据权利要求12至14其中任意一项所述装置,其特征在于,所述装置还包括: 判断单元,用于在当所执行的脚本包含所述断点标识时,将所执行的脚本的第一变量值以及第一结果信息发送给调试平台之前,判断所执行的脚本是否包含所述断点标识。
16.根据权利要求15所述装置,其特征在于,所述装置还包括: 第二执行单元,用于当所执行的脚本不包含所述断点标识时,继续执行所述脚本。
17.根据权利要求12至14其中任意一项所述装置,其特征在于,所述装置还包括: 挂起单元,用于在将所执行的脚本的第一变量值以及第一结果信息发送给调试平台之前,挂起所述脚本的执行; 保存单元,用于在将所执行的脚本的第一变量值以及第一结果信息发送给调试平台之前,保存执行所述脚本得到的第一结果信息。
18.根据权利要求12至14其中任意一项所述装置,其特征在于,所述装置还包括: 第四获取单元,用于在将所执行的脚本的第一变量值以及第一结果信息发送给调试平台之后,获取所述调试平台更改后的第二变量值; 第三执行单元,用于根据所述第二变量值执行所述脚本。
19.根据权利要求18所述装置,其特征在于,所述装置还包括: 第二发送单元,用于在根据所述第二变量值执行所述脚本之后,将根据所述第二变量值执行脚本得到的第二结果信息发送给调试平台。
20.根据权利要求19所述装置,其特征在于,所述装置还包括: 第五获取单元,用于在根据所述第二变量值执行所述脚本之前,从所述调试平台获取调试指令。
21.根据权利要求12至14其中任意一项所述装置,其特征在于,所述第二获取单元包括: 第二获取模块,用于从脚本服务器中获取脚本。
22.根据权利要求12至14其中任意一项所述装置,其特征在于,所述插入单元包括: 插入模块,用于在所述脚本的每一行末插入断点标识。
【文档编号】G06F11/36GK104461889SQ201410767088
【公开日】2015年3月25日 申请日期:2014年12月12日 优先权日:2014年12月12日
【发明者】朱继先 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1