Embodiment
In order to make those skilled in the art person understand better the scheme of the embodiment of the invention, below in conjunction with drawings and embodiments the embodiment of the invention is described in further detail.
See also Fig. 1, a kind of voice extensible markup language script editor who provides for the embodiment of the invention and the method for debugging, described is by graphical Vxml script editing environment (Vxml IDE to voice extensible markup language script editor and debugging, Vxml Integrated Design Environment) realizes, usually, graphical Vxml script editing environment is called again graphical Vxml script-editor, described IDE itself by graphic process editing machine, script generator, and three parts of debugger form.In this embodiment, the graphic process editing machine is responsible for and user interactions, and generates patterned flow process according to the edit instruction that receives the user; Script generator generates the VXML script according to patterned flow process, and the VXML debugger is issued the VXML resolver with the VXML script and carried out, and with the VXML resolver alternately with, finish visual debugging.Described method comprises:
Step 101: the graphic process editing machine receives the instruction of editor's pel of client transmission;
In this step, after the graphic process editing machine starts, show each pel, afterwards, when receiving the edit instruction of client selection pel, so that pel is edited;
Step 102: the graphic process editing machine is according to the corresponding relation generation graphic process of the voice extensible markup language VXML leading element set of setting up with described pel, and graphic process comprises the attribute of a plurality of pels, pel and the annexation between pel;
In this step, the corresponding relation of foundation is that the graphic process editing machine uses function that the VXML leading element is classified according to the outside, forms the set of VXML leading element; Abstract processing is carried out in set to the VXML leading element, obtains corresponding pel; Set up the one-to-one relationship of the set of VXML leading element and pel.
Wherein, the graphic process editing machine specifically comprises according to the corresponding relation generation graphic process form of setting up:
Choose pel by menu bar, pel comprises: the menu creation engineering, open engineering, create common flow process, create subfunction flow process, preservation, compiling generation script and/or Start-up and Adjustment; Show the described pel of current process selecting by toolbar, and according to user instruction the pel of described selection is transferred to from toolbar in the graphic process editing machine; Described graphic process editing machine is determined a pel according to the instruction that receives, and the attribute of this pel of determining is edited, and generates graph of a correspondence flow process form.
Step 103: script generator generates the voice extensible markup language script according to graphic process;
In this step, first each pel is mapped to a VXML dialogue (dialog); Become attribute or the statement of VXML according to the best property of attribute mapping of each pel; Set up the line between the described pel, and described line is mapped to skip instruction; With described dialogue, the attribute of VXML or statement, and skip instruction generates the voice extensible markup language script.
That is to say that graphic process generates the VXML script, the VXML script is by leading element.Attribute forms.
Step 104: debugger sends to the VXML resolver with described voice extensible markup language script, so that the VXML resolver is resolved described VXML script, and when receiving the analysis result of VXML resolver feedback, finish visual debugging, and feedback debug results.
Wherein, this step is to be coordinated to finish by, VXML debugger and VXML resolver, namely selects the Start-up and Adjustment menu in editing machine, opens the VXML debugger; Described VXML debugger is with the address notification VXML resolver of described VXML script; Described VXML resolver triggers flow process corresponding to address of carrying out described VXML script after entering the session incoming call; When described flow process finishes, select in the VXML debugger to finish the debugging menu, switch back editing machine, and the feedback debug results.
Wherein, described flow process comprises common flow process and subfunction flow process, described common flow process can comprise following pel: playback, menu, collect the digits, recording, diverting call, dismantling call, end, redirect, call sub-process, condition, script, daily record, the event of dishing out and/or identification; Described subfunction flow process comprises: playback, menu, collect the digits, recording, diverting call, dismantling call, call sub-process, condition, script, daily record, identification and/or sub-process and return pel.
After entering debugging, a VXML resolver VXMLdialog of every execution (form/menu) is front, all will notify the VXML debugger current flow file name, current VXMLdialog, and block (such as waiting for) at current dialog.
Preferably, the implementation procedure of this step 104 can also comprise: described VXML debugger judges whether current dialogue is provided with breakpoint, if so, then directly notify the VXML resolver to continue to carry out in the instruction that receives user selection continuation execution, the described front step of session incoming call that enters of follow-up execution; Perhaps, single step is carried out, and when single step was carried out, notice VXML resolver continued to carry out.
Wherein, breakpoint is predefined, when debugging when preseting the pel of breakpoint, debugging will stop, waiting instruction after, determining whether continue execution.Find that such as the VXML debugger current dialog is provided with breakpoint, wait for that then user selection continues to carry out, or the single step execution, tell just when single process is carried out menu that the VXML resolver continues to carry out, otherwise tell at once the VXML resolver to continue execution.
Preferably, described method can also comprise: the VXML leading element is classified, form the set of VXML leading element; Specifically can be to use function that the VXML leading element is classified according to the outside, form the set of VXML leading element; Abstract processing is carried out in described VXML leading element set, obtained corresponding pel; In the present embodiment, the VXML standard capability is taken out 15 basic functional units (being pel Cell): playback, menu, collect the digits, recording, diverting call, dismantling call, end, redirect, call sub-process, condition, script, daily record, hold outgoing event, identification, sub-process returns; Set up the one-to-one relationship of described VXML leading element set and described pel.
In the embodiment of the invention, according to the corresponding relation generation graphic process of the VXML leading element set of setting up with described pel, and according to described graphic process generation voice extensible markup language script, described voice extensible markup language VXML script is resolved, finished visual debugging.That is to say, the VXML standard capability is taken out a plurality of pels, the script edit personnel only need pull and line, and the attribute of pel is set, and just can finish the exploitation of VXML normal process.Significantly reduced the learning cost of script edit personnel to VXML language itself.Also significantly reduced simultaneously the cost of writing of script.
Further, the embodiment of the invention so that each VXML script resolver is done a small amount of exploitation, realizes debugging breakpoints by announcing a cover standard agreement, namely supports to carry out debugging breakpoints with the graphic process editing machine, reduces the positioning problems cost.
For the ease of those skilled in the art's understanding, also see also following embodiment.
In above-mentioned steps 101 and step 102, the graphic process editing machine generates specifically comprising of graphic process according to the corresponding relation of setting up when receiving edit instruction:
In this embodiment, described graphic process editing machine comprises: menu bar, and editing machine and toolbar, attribute column etc. partly form.
Described graphic process editing machine can be chosen the menu creation engineering by menu bar, open engineering, creates common flow process, creates subfunction flow process, preservation, compiling generation script, Start-up and Adjustment.
Described graphic process editing machine can show the described Cell that current flow process can be selected by toolbar, and the editorial staff pulls by mouse Cell is dragged to the graphic process editing machine from toolbar.In the graphic process editing machine, choose a Cell, can edit its attribute, set up the annexation between the described pel.
In this embodiment, flow process is divided into two classes usually: common flow process and subfunction flow process, each flow process have a unsuppressible beginning Cell, have one in the common flow process at least and are designated as the entrance flow process.
The VXML standard capability takes out some basic functional units (being Cell): playback, menu, collect the digits, recording, diverting call, dismantling call, end, redirect, call sub-process, condition, script, daily record, the event of dishing out, identification, sub-process and return.
Common flow process can be seen playback, menu, collects the digits, recording, diverting call, dismantling call, end, redirect, call these Cell such as sub-process, condition, script, daily record, the event of dishing out and/or identification.
The subfunction flow process can be seen playback, menu, collects the digits, recording, diverting call, dismantling call, call sub-process, condition, script, daily record, identification and/or sub-process and return these Cell such as cell.
Wherein, describe below by a concrete example, come the Establishing process operational relation by line between Cell, the flow chart of Establishing process operational relation sees Fig. 2 for details between its Cell, in this process, after the graphic process editing machine starts, edit instruction according to the selection pel that receives the client transmission is processed accordingly, that is to say, choose pel by menu bar first, described pel comprises: the menu creation engineering, open engineering, create common flow process, create subfunction flow process, preservation, compiling generation script and/or Start-up and Adjustment etc.; Afterwards, show the described pel (such as playback, identification, record, keep a diary, take out stitches etc.) of current process selecting by toolbar, and according to user instruction the pel of described selection is transferred to from toolbar in the graphic process editing machine;
Described graphic process editing machine is determined a pel according to the instruction that receives, and the attribute of this pel of determining is edited, and sets up the annexation between the described pel, generates the graph of a correspondence flow process, and its detailed process comprises:
Step 201: start graphic process editing machine (namely beginning);
Step 202: the playback of graphic process editing machine collects the digits;
Step 203: the graphic process editing machine result that relatively collects the digits, if need recording, then execution in step 204; If need to take out stitches, then execution in step 205;
Step 204: the graphic process editing machine is recorded to the result that relatively collects the digits;
Step 205: graphic process editing machine log after recording;
Step 206: the graphic process editing machine is taken out stitches behind log;
Step 207: graphic process editing machine process ends.
Such as, when client is selected pel that playback collects the digits, afterwards, the graphic process editing machine obtains the pel that playback collects the digits, and when client was selected the pel of recording, the graphic process editing machine obtained the pel of recording, and set up the relation of the figure elementary time of pel that playback collects the digits and recording, when the graphic process editing machine obtains the pel of taking out stitches, establish the pel of taking out stitches with before the relation etc. of all pels, form graphic process.
In this embodiment, there is one to connect arrow (as shown in Figure 2) from the playback Cell that collects the digits to the Cell that relatively collects the digits as a result.Property value and explanation thereof that its each Cell has see also following table 1, and namely Cell attribute and script generate.
Table 1
In step 103, described script generator generates the voice extensible markup language script according to described graphic process, specifically comprises:
Each pel is mapped to a VXML dialogue (dialog); Become attribute or the statement of VXML according to the best property of attribute mapping of each pel; Set up the line between the described pel, and described line is mapped to skip instruction; With described dialogue, the attribute of VXML or statement, and skip instruction generates the voice extensible markup language script, wherein, the process of described generation voice extensible markup language script is exactly: playback, menu, collect the digits, recording, diverting call, dismantling call, end, redirect, call sub-process, condition, script, daily record, the event of dishing out, identification, sub-process and return etc., these 15 kinds of Cell, they are by the mode of VXML leading element by organic assembling, form a dialogue, realize corresponding function.
Such as, Cell correspond to Vxml dialogue (for example<form id=" Prompt_0 "</form), each standard Vxml element in the corresponding generation of the attribute of the Cell respective dialog (for example:<audio expr=" ' y :/'+' audio.wav " '</audio 〉), or Vxml attribute of an element (for example:<prompt bargein=" false " xml:lang=" en-us "〉in xml:lang=" en-us "), arrow is corresponding to generate skip instruction (for example:<goto next=" #Menu_0 "/〉).
Wherein, each Cell scenario generation method sees above-mentioned table 1 for details, does not repeat them here.
In step 104, the VXML debugger sends to the VXML resolver with described VXML script, so that described VXML resolver resolves described VXML script, and when receiving the analysis result of VXML resolver feedback, finish visual debugging, and the feedback debug results comprises specifically:
In editing machine, select the Start-up and Adjustment menu, open the VXML debugger; Described VXML debugger is with the address notification VXML resolver of described VXML script; Described VXML resolver triggers flow process corresponding to address of carrying out described VXML script after entering the session incoming call; When described flow process finishes, select in the VXML debugger to finish the debugging menu, switch back editing machine, and the feedback debug results.
Further, this step 104 can also comprise: before entering the session incoming call, if the VXML debugger receives filename, the current dialogue of the current flow process of VXML resolver transmission, then block current dialogue; Described VXML debugger judges whether current dialogue is provided with breakpoint, if so, then directly notifies the VXML resolver to continue to carry out in the instruction that receives user selection continuation execution, the described front step of session incoming call that enters of follow-up execution; Perhaps, single step is carried out, and when single step was carried out, notice VXML resolver continued to carry out.
That is to say that in workflow editor, select the Start-up and Adjustment menu, debugger is opened; In debugger, select to finish the debugging menu, then switch back editing machine.Debugger is by menu bar, editing machine and variable view, and attribute column etc. partly form.By menu bar, can choose the menu setting breakpoint, continue to carry out, single step is carried out, and single process is carried out, and finishes debugging.The value that can show current appreciable all variablees by the variable view.In editing machine, choose a Cell, can see its attribute.
Start-up and Adjustment, the script address that the VXML debugger is corresponding with this flow process is told the VXML resolver.After the phone incoming call, what the VXML resolver triggered execution is flow process corresponding to script address.
It is front that the VXML resolver whenever enters a dialog (form/menu), all will notify the VXML debugger current flow file name, current dialog, and be blocked in current dialog
The VXML debugger finds that current dialog is provided with breakpoint, waits for that then user selection continues to carry out, or the single step execution, and tells just that when single process is carried out menu the VXML resolver continues to carry out, otherwise tells at once the VXML resolver to continue execution.
The VXML resolver continues to carry out, and turns back to the VXML resolver and whenever enters the front step of a dialog (form/menu).
The VXML debugger under interrupt status, can send inquire about/arrange variable message to the VXML resolver, inquire about/arrange the value of variable.
Therefore, in the present embodiment, this interface is fairly simple, and any VXML resolver (VXML PARSER) only need to increase at VXML standard FIA algorithm place and suspend and the processing that continues, and after receiving the message of VXMLIDE, returns corresponding message and get final product.In a single day namely the graphical script editor of VXML and debugging apparatus have been arranged, any VXML resolver can utilize low cost that the script debugging function is provided, specifically as shown in Figure 3.
Fig. 3 carries out the flow chart of interacting message between the VXML debugger that the embodiment of the invention provides and VXML resolver, comprising:
VXML debugger among the step 301:VXML IDE sends Start-up and Adjustment (StartDebug) instruction to VXML resolver (VXMLPARSER);
Step 302:VXML resolver sends the VXML Start-up and Adjustment to the VXML debugger and replys (StartDebugAck);
Step 303:VXML resolver carries out the script operation;
Step 304:VXML resolver sends script operational report (InfoReport) to the VXML debugger;
Step 305:VXML debugger is replied (InfoReportAck) to VXML resolver feedback script operational report;
Step 306:VXML debugger is to the value (QueryVar) of the one or more variablees of VXML parser queries; This step is optional;
Step 307:VXML resolver is to reply (QueryVarAck) of the value of the variable of VXML debugger feedback query;
Step 308:VXML debugger sends to the VXML resolver and continues (Continue);
Step 309:VXML resolver continues to reply (ContinueAck) to VXML debugger feedback;
Step 310:VXML resolver sends script end of run (Finish) to the VXML debugger;
Step 311:VXML debugger finishes to reply (FinishAck) to VXML resolver feedback.
Wherein, the explanation of each message and field parameter thereof sees table 2 for details among Fig. 3:
Table 2
Implementation procedure based on said method, the embodiment of the invention also provides the device of a kind of voice extensible markup language script editor and debugging, its structural representation sees Fig. 4 for details, described device comprises: receiving element 41, the first generation unit 42, the second generation units 43 and parsing debugging unit 44, wherein, described receiving element 41 is used for the instruction of editor's pel of reception client transmission; Described the first generation unit 42 is used for according to the corresponding relation generation graphic process of the voice extensible markup language VXML leading element set of setting up with described pel, and described graphic process comprises the attribute of a plurality of pels, pel and the annexation between pel; Described the second generation unit 43 is used for generating the voice extensible markup language script according to described graphic process; Described parsing debugging unit 44, be used for described VXML script is sent to the VXML resolver, so that described VXML resolver resolves described VXML script, and when receiving the analysis result of VXML resolver feedback, finish visual debugging, and the feedback debug results.
Preferably, described device can also comprise: taxon, abstract processing unit and first is set up the unit, wherein, described taxon is used for according to function corresponding to VXML leading element, the VXML leading element is classified, form the set of VXML leading element, specifically use function that the VXML leading element is classified by the outside, form the set of VXML leading element; Described abstract processing unit is used for abstract processing is carried out in described VXML leading element set, obtains corresponding pel; Described first sets up the unit, is used for setting up the one-to-one relationship of described VXML leading element set and described pel; Described the first generation unit, concrete being used for set up the corresponding relation generation graphic process of setting up the unit according to described first.
Wherein, described the first generation unit comprises: creating unit, buanch unit and graphic process generation unit, wherein, described creating unit, for the menu of choosing by menu bar, create engineering, open engineering, create common flow process, create subfunction flow process, preservation, compiling generation script, Start-up and Adjustment; Described buanch unit is used for showing by toolbar the pel of current process selecting, and according to the corresponding relation of the VXML leading element set of setting up with described pel, transfers to the pel of described selection in the editing machine from toolbar according to user instruction; Described graphic process generation unit is used for described editing machine and determines a pel according to the instruction that receives, and the attribute of this pel of determining is edited, and sets up the annexation between the described pel, generates the graph of a correspondence flow process.
Wherein, described the second generation unit comprises: the first map unit, and the second map unit, second sets up the unit, the 3rd map unit and script generation unit, wherein, described the first map unit is used for each pel is mapped to a dialogue; Described the second map unit is for the attribute or the statement that become VXML according to the best property of attribute mapping of each pel; Described second sets up the unit, is used for setting up the line between the described pel; Described the 3rd map unit is used for setting up the described line of setting up the unit with second and is mapped to skip instruction; Described script generation unit is used for described dialogue, the attribute of VXML or statement, and skip instruction generates the voice extensible markup language script.
Described parsing debugging unit comprises: start unit, and notification unit, end unit and transmitting element, wherein, described start unit is used for starting the VXML debugging when receiving the selection debugging menu of graphic process editing machine transmission; Described notification unit is used for the address notification VXML resolver with described VXML script, so that described VXML resolver after entering the session incoming call, triggers flow process corresponding to address of carrying out described VXML script; Described end unit is used for when described flow process finishes, and selects to finish the debugging menu, switches to the graphic process editing machine; Described transmitting element is used for to graphic process editing machine feedback debug results.Wherein, described start unit, notification unit, end unit and transmitting element can be integrated in the VXML debugger, also can independently dispose, and present embodiment is not restricted.
Wherein, described parsing debugging unit can also comprise: block the unit, judging unit and performance element, wherein, described obstruction unit is used for before entering the session incoming call, if receive filename, the current dialogue of the current flow process of VXML resolver transmission, then be blocked in current dialogue; Described judging unit is used for judging whether current sessions arranges breakpoint, and sends judged result; Described performance element is used for when receiving the judged result that breakpoint is set, and after the instruction that receives user selection continuation execution, directly notifies the VXML resolver to continue to carry out, and returns afterwards the obstruction unit; Perhaps, single step is carried out, and when single step was carried out, notice VXML resolver continued to carry out.
In the described device, the implementation procedure of the function and efficacy of unit sees the implementation procedure of corresponding step in the said method for details, does not repeat them here.
Accordingly, the embodiment of the invention also provides a kind of voice extensible markup language script editor and debug system, its structural representation as shown in Figure 5, described system comprises: graphical Vxml script-editor IDE51 and voice extensible markup language VXML resolver 52, described IDE51 comprises: graphic process editing machine 511, script generator 512 and VXML debugger 513, wherein
Described graphic process editing machine 511, be used for when the instruction of the editor's pel that receives the client transmission, according to the corresponding relation generation graphic process of the voice extensible markup language VXML leading element set of setting up with described pel, described graphic process comprises the attribute of a plurality of pels, pel and the annexation between pel; Described script generator 512 is used for generating the VXML script according to described graphic process; Described VXML debugger 513 is used for described VXML script is sent to the VXML resolver, and when receiving the analysis result of VXML resolver feedback, finishes visual debugging, and to graphic process editing machine feedback debug results; Described VXML resolver 52 is used for the described VXML script that receives is resolved, and to described VXML debugger feedback analysis result.
The implementation procedure of the function and efficacy of each equipment is identical with the implementation procedure of corresponding step in the said method in the described system, specifically sees for details above-mentionedly, does not repeat them here.
In the embodiment of the invention, because the VXML standard capability is taken out 17 basic functional units (being Cell): playback, menu, collect the digits, recording, diverting call, dismantling call, end, redirect, call sub-process, condition, script, daily record, hold outgoing event, identification, sub-process returns, the script edit personnel only need pull and line, and the attribute of functional block is set, can finish the exploitation of VXML normal process.Significantly reduced the learning cost of script edit personnel to VXML language itself.Also significantly reduce simultaneously the cost of writing of script.
Further, in the embodiment of the invention, use function that the VXML leading element is classified by the outside, form the set of VXML leading element, and abstract processing is carried out in described VXML leading element set, obtain corresponding pel, set up the one-to-one relationship of described VXML leading element set and described pel, namely by a cover standard agreement, so that each VXML script resolver is done a small amount of exploitation, can support to debug with the graphic process editing machine, reduce the positioning problems cost.
Need to prove, in this article, relational terms such as the first and second grades only is used for an entity or operation are made a distinction with another entity or operation, and not necessarily requires or hint and have the relation of any this reality or sequentially between these entities or the operation.And, term " comprises ", " comprising " or its any other variant are intended to contain comprising of nonexcludability, thereby not only comprise those key elements so that comprise process, method, article or the equipment of a series of key elements, but also comprise other key elements of clearly not listing, or also be included as the intrinsic key element of this process, method, article or equipment.Do not having in the situation of more restrictions, the key element that is limited by statement " comprising ... ", and be not precluded within process, method, article or the equipment that comprises described key element and also have other identical element.
Through the above description of the embodiments, those skilled in the art can be well understood to the present invention and can realize by the mode that software adds essential general hardware platform, can certainly pass through hardware, but the former is better execution mode in a lot of situation.Based on such understanding, the part that technical scheme of the present invention contributes to prior art in essence in other words can embody with the form of software product, this computer software product can be stored in the storage medium, such as ROM/RAM, magnetic disc, CD etc., comprise that some instructions are with so that a computer equipment (can be personal computer, server, the perhaps network equipment etc.) carry out the described method of some part of each embodiment of the present invention or embodiment.
The above only is preferred implementation of the present invention; should be pointed out that for those skilled in the art, under the prerequisite that does not break away from the principle of the invention; can also make some improvements and modifications, these improvements and modifications also should be considered as protection scope of the present invention.