CN1277229C - 一种语音文件加载的结果检测以及重新加载的方法 - Google Patents
一种语音文件加载的结果检测以及重新加载的方法 Download PDFInfo
- Publication number
- CN1277229C CN1277229C CN 02130994 CN02130994A CN1277229C CN 1277229 C CN1277229 C CN 1277229C CN 02130994 CN02130994 CN 02130994 CN 02130994 A CN02130994 A CN 02130994A CN 1277229 C CN1277229 C CN 1277229C
- Authority
- CN
- China
- Prior art keywords
- voice
- voice document
- loads
- loading
- array
- 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
Abstract
本发明提供一种语音文件加载的结果检测以及重新加载的方法,该方法包括以下步骤:设置记录每个语音文件加载结果成功与否的存贮单元,并使之与语音编码列表的顺序相对应;将每个语音文件加载成功与否的结果按顺序写入这些存贮单元;在全部加载结束后检查这些存贮单元保存的值;对于加载失败的语音文件集中显示,供用户执行重新加载。应用本发明,不需要修改现有的处理流程,即可准确清楚地记录语音加载的结果,从而保持系统的稳定性,同时,用户对于加载失败的语音文件一目了然,免除查找、对比语音文件清单的工作,轻松实现重新加载。
Description
技术领域
本发明涉及语音加载技术领域,特别是指一种语音文件加载的结果检测以及重新加载的方法。
背景技术
在目前的GSM(Global System for Mobile communications)系统中,通过维护台的设备控制面板,可以维护主机各个模块的单板,其中包括信令SIG(Signaling)和SPT(SPeech and Tone)语音单板。在语音单板上,通过右键菜单“语音加载”命令,可以完成对语音板的语音加载。用户、维护台和语音单扳三者之间,加载语音文件时的消息交互过程如图1所示。
首先,维护台获取语音编码和语音编码的条数,并将之保存起来。具体过程如下:
(1)用户选择需要加载的语音文件,并发送给维护台;
(2)维护台向语音单板发送命令“读取语音编码”;
(3)等待语音单板返回“语音编码”,如果等待超时,提示用户通讯超时,并终止加载过程,否则,往后执行;
(4)维护台收到“语音编码”后,将之保存;
(5)维护台向语音单板发送命令“读取语音编码条数”;
(6)等待语音单板返回“语音编码条数”,如果等待超时,提示用户通讯超时,并终止加载过程,否则,往后执行;
(7)维护台收到“语音编码条数”后,将之保存;
其次,将用户所选择的需加载的语音文件逐个加载到语音单板中,具体过程如下:
(8)维护台取得第一个需加载的语音文件;
(9)维护台向语音单板发送命令“加载开始”;
(10)等待语音单板返回“加载开始应答”,如果等待超时,提示用户通讯超时,并终止加载过程;否则,往后执行;
(11)维护台收到“加载开始应答”后,开始向语音单板发送数据;
(12)维护台向语音单扳发送语音数据,每帧256字节,每次最多连续发送16帧;
(13)等待语音单板返回“语音数据”,如果等待超时,提示用户通讯超时,并终止加载过程,否则,往后执行;
(14)维护台收到“16帧语音数据应答帧”;
(15)继续发送下一个16帧语音数据,直至全部发送完一个需加载的语音文件;
(16)每发一次16帧语音数据,维护台将等待语音单板返回“语音数据”应答,如果等待超时,提示用户通讯超时,并终止加载过程,否则,往后执行;
(17)维护台每收到一次“16帧语音数据应答帧”后,才继续发送下一个16帧语音数据;
(18)继续发送下一个16帧语音数据,不足16帧就发送完毕的语音数据,同时发送“加载结束”请求;
(19)维护台向语音单板发送当前语音“加载结束”命令;
(20)等待语音单板返回“加载结束应答”,如果等待超时,提示用户通讯超时,并终止加载过程,否则,往后执行;
(21)维护台收到“加载结束应答”;
(22)如果还有需要加载的语音文件,取得下一个语音文件,转步骤(9),否则,往后执行;
最后,当所有语音文件全部加载结束后,维护台再次向语音单板请求获取语音编码和语音编码条数,并将之保存,用以和加载前保存的语音编码和语音编码条数相对比,以检验加载是否成功,具体过程如下:
(23)维护台向语音单板发送命令“读取语音编码”;
(24)等待语音单板返回“语音编码”,如果等待超时,提示用户通讯超时,并终止加载过程;否则,往后执行;
(25)维护台收到“语音编码”后,将之保存;
(26)维护台向语音单板发送命令“读取语音编码条数”
(27)等待语音单板返回“语音编码条数”,如果等待超时,提示用户通讯超时,并终止加载过程;否则,往后执行;
(28)维护台收到“语音编码条数”后,将之保存;
(29)检查加载结果。对比维护台上所保存的加载之前的语音文件的编码和编码条数与加载之后的语音文件的编码和编码条数是否相同,如相同则表示该语音文件加载成功,否则表示该语音文件加载失败。
从上述的加载过程可以看出,语音文件加载的结果检测是通过对比加载前后读取的语音编码和语音编码条数是否相同,来检查该语音文件是否加载成功,这种方法存在一定的缺陷,有以下几点原因:
首先,由于目前语音单板返回的语音编码不含语音文件的后缀名,所以语音编码相同但语音文件内容实际不同的情况经常存在,使得系统无法正确判断是否全部语音文件都加载成功。
其次,由于语音单板的存储空间有64M,可以存放很多语音(如多达300个以上),因此一次读取的语音编码数据也很多,与此同时,一次加载完毕后读取返回的语音编码数据应答帧也有多个,很容易因丢帧而导致检查结果不全面的问题。
再有,用户使用也非常不方便。在一个语音目录下,一旦有加载失败的语音文件,用户不知道具体是哪个或哪些语音文件加载失败,要想只加载那些加载失败的语音文件,就必须逐个检查核对语音单板中的几百个语音文件,从而找出加载失败的语音文件进行重新加载,当然,这需花费不少时间,否则,用户只能对所有的语音文件全部重新加载一遍,这同样要浪费很多时间。
发明内容
有鉴于此,本发明的目的在于提供一种语音文件加载的结果检测以及重新加载的方法,以解决加载的结果检测有误的问题,同时能够使用户方便地了解语音加载的情况,很容易地找到加载失败的语音文件并对其进行重新加载。
为达到上述目的,本发明的技术方案是这样实现的:
一种语音文件加载的结果检测以及重新加载的方法,维护台从语音单板读取包含语音编码的语音文件并记录在语音编码列表中,该方法包括设置记录每个语音文件加载结果的存贮单元,使存贮单元内的每个加载结果与加载语音列表中的一个语音文件保持对应;该方法还包括以下步骤:
A、维护台每次发出语音文件加载结束请求后,等待接收该语音文件加载结束请求应答信息,如果维护台在规定时间内接收到语音文件加载结束请求应答信息,则确定该语音文件加载成功,如果维护台在规定时间内未接收到语音文件加载结束请求应答信息,则确定该语音文件加载失败;
B、将指示每个语音文件加载成功或失败的加载结果依次写入存贮单元内与该语音文件相对应的位置;
C、在语音加载过程全部结束后,检查该存贮单元保存的值,判断每个语音文件加载成功与否;
D、对于加载失败的语音文件,执行重新加载。
其中,所述的存贮单元是数组,其下标与需加载的语音编码列表中的加载语音文件的顺序号相对应;
所述的步骤B是将每个语音文件的加载结果作为数组元素值对应写入数组中;
所述的步骤C是检查该数组的元素值,判断每个语音文件加载成功与否;
所述的步骤D是根据数组的下标执行重新加载。
其中,上述的数组是在程序代码段之前建立的全局变量的固定大小的整型数组,与系统原有的需加载的语音编码列表的大小保持一致。
其中,所述数组元素值的初始值在语音文件加载前设置为指示加载结果为加载失败的信息FALSE。
其中,所述的步骤B是将指示加载成功的数组元素值记为TRUE,将指示加载失败的数组元素值记为FALSE;
所述的步骤C是判断数组所有元素值均为TRUE表示这次加载全部成功,数组元素值有FALSE表示这次加载中有加载失败的语音文件。
其中,在语音加载之前以创建对象的方式建立的记录加载失败文件的对话框;对于加载失败的语音文件通过数组下标得到与之相对应的语音编码列表中的语音文件名;将所有加载失败的语音文件名用列表的方式显示在该对话框中。
应用本发明,不需要修改现有的处理流程,只修改维护台的少量程序代码,即可非常准确清楚地记录每个语音文件的加载结果,使用户方便查询语音文件的加载情况;如果加载成功,能够保证语音文件全部加入到语音单板中,如果加载失败,用户可清楚地看到是哪些语音文件加载失败,并且很容易地实现重新加载。
附图说明
图1现有技术的加载语音的消息交互过程图;
图2应用本发明的数组与语音编码列表的对应关系图;
图3应用本发明的列有加载失败文件的对话框。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明做进一步详细说明。
在本实施例中,将本发明应用在GSM或CMSC(码分多路访问的移动交换中心)系统中。从背景技术中可看出,加载一个语音文件有如下关键步骤:
(1)语音文件加载开始请求;
(2)语音文件加载开始应答;
(3)发送语音数据帧;
(4)每16帧一个应答;
(5)语音文件加载结束请求;
(6)语音文件加载结束应答。
一个语音文件能够完全加载到语音单板上,最后必定要收到“(6)语音文件加载结束应答”这一信号。因此本发明正是通过这一步来判断该语音文件是否加载成功,即只要收到“语音文件加载结束应答”就说明这个语音文件加载成功,否则表示该语音文件加载失败。
每次加载的语音文件很多,但不能对每个语音文件的加载结果立刻进行提示,因为语音加载是比较耗时的操作,如果在原来的操作过程上增加很多结果校验和确认的处理,会降低整个加载过程的性能,延长加载的时间,令用户无法接受,而且需要同时修改语音单板程序和维护台的共同接口,修改工作量大,且难以保证系统的稳定性,更无法尽早提供给用户使用。
本发明是将每个语音文件的加载结果先进行保存,在本次加载过程结束后,将所有语音文件的加载结果统一告诉用户。在本实施例中,每个语音文件的加载结果存放在数组中,其中,数组与需加载语音文件的对应关系如图2所示。保存加载结果数组的下标与需加载的语音编码列表中的语音文件名的顺序号相对应,如数组下标0对应需加载语音编码列表中的第0个语音文件,该语音文件名可能是01234567.123;又如数组下标7对应需加载语音编码列表中的第7个语音文件,该语音文件名可能是00000007.000,其它以此类推。用数组的元素值保存加载结果,如分别用TRUE(成功)或FALSE(失败)记录该语音文件加载成功与否,如下标为0的数组的元素值是TRUE,则表示语音编码列表中与之相对应的第0个语音文件加载成功;如下标为7的数组的元素值是FALSE,则表示语音编码列表中与之相对应的第7个语音文件加载失败,其它以此类推。
其具体实现过程如下:
步骤1,首先在程序代码段之前定义一个全局变量的固定大小的整型数组,并使之与系统原有的需加载的语音编码列表的大小保持一致,在语音文件加载之前设数组元素值的初始值均为FALSE,表示每个语音文件加载的初始值都是失败;同时以创建对象的方式建立一个加载失败文件的对话框。
步骤2,在执行“(6)语音文件加载结束应答”这一步时,如果该应答返回成功,则将当前加载的语音文件对应的数组元素值设置为TRUE,表示该语音文件加载成功;否则,将当前加载的语音文件对应的数组元素值设置为FALSE,表示该语音文件加载失败。
步骤3,加载过程全部结束后,程序检查该数组中的元素值。如果在某次加载语音文件的数组下标内,对应的数组元素值全部为TRUE,则通过显示加载完成告诉用户本次加载全部成功;如果在本次加载语音文件数的数组下标内,对应的数组元素值有FALSE,则表示本次加载中有加载失败的语音文件,通过与数组元素值为FALSE相对应的数组下标找到与之相对应的语音编码列表中的该语音文件名。显示在如图3所示的加载失败的文件的对话框中,告诉用户本次加载失败的所有语音文件。
至此,用户通可以清楚地看到所加载的语音文件是否成功,并通过图3所示对话框确定具体是哪些语音文件加载失败。
对加载失败的语音文件进行重新加载,具体实施步骤如下:
步骤1,加载结束后,只要有加载失败的语音文件,系统将打开如图3所示的对话框,用户可以看到加载失败的语音文件的详细清单被列在窗口左栏,如00000007.000,00000008.000,00000009.000,00000010.000。如要重新加载这些语音文件,通过右移按钮“>>”或左移按钮“<<”选取需要重新加载的语音文件清单放入窗口的右栏中,点击“重新加载”按钮即可实现;如果点击“取消加载”按钮,即退出加载。
步骤2,由于本操作能够支持反复加载,即在重新加载的过程中,如果还有加载失败的语音文件,还会弹出图3所示的对话框,可继续执行重新加载,直到全部语音文件加载成功或者用户取消再次加载为止。
除采用数组保存语音文件的加载结果外,还可采用其它保存形式,如函数等,只要能够使语音文件的加载结果与语音加载顺序相对应,且便于用户了解加载成功或加载失败的语音文件名称即可。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1、一种语音文件加载的结果检测以及重新加载的方法,维护台从语音单板读取包含语音编码的语音文件并记录在语音编码列表中,其特征在于,设置记录每个语音文件加载结果的存贮单元,使存贮单元内的每个加载结果与加载语音列表中的一个语音文件保持对应;该方法还包括以下步骤:
A、维护台每次发出语音文件加载结束请求后,等待接收该语音文件加载结束请求应答信息,如果维护台在规定时间内接收到语音文件加载结束请求应答信息,则确定该语音文件加载成功,如果维护台在规定时间内未接收到语音文件加载结束请求应答信息,则确定该语音文件加载失败;
B、将指示每个语音文件加载成功或失败的加载结果依次写入存贮单元内与该语音文件相对应的位置;
C、在语音加载过程全部结束后,检查该存贮单元保存的值,判断每个语音文件加载成功与否;
D、对于加载失败的语音文件,执行重新加载。
2、根据权利要求1所述的语音文件加载的结果检测以及重新加载的方法,其特征在于:
所述的存贮单元是数组,其下标与需加载的语音编码列表中的加载语音文件的顺序号相对应;
所述的步骤B是将每个语音文件的加载结果作为数组元素值对应写入数组中;
所述的步骤C是检查该数组的元素值,判断每个语音文件加载成功与否;
所述的步骤D是根据数组的下标执行重新加载。
3、根据权利要求2所述的语音文件加载的结果检测以及重新加载的方法,其特征在于,所述的数组是在程序代码段之前建立的全局变量的固定大小的整型数组,与系统原有的需加载的语音编码列表的大小保持一致。
4、根据权利要求2或3所述的语音文件加载的结果检测以及重新加载的方法,其特征在于,所述数组元素值的初始值在语音文件加载前设置为指示加载结果为加载失败的信息FALSE。
5、根据权利要求2所述的语音文件加载的结果检测以及重新加载的方法,其特征在于,
所述的步骤B是将指示加载成功的数组元素值记为TRUE,将指示加载失败的数组元素值记为FALSE;
所述的步骤C是判断数组所有元素值均为TRUE表示这次加载全部成功,数组元素值有FALSE表示这次加载中有加载失败的语音文件。
6、根据权利要求2所述的语音文件加载的结果检测以及重新加载的方法,其特征在于,所述的步骤D进一步包括:在语音加载之前以创建对象的方式建立的记录加载失败文件的对话框;对于加载失败的语音文件通过数组下标得到与之相对应的语音编码列表中的语音文件名;将所有加载失败的语音文件名用列表的方式显示在该对话框中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02130994 CN1277229C (zh) | 2002-09-25 | 2002-09-25 | 一种语音文件加载的结果检测以及重新加载的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02130994 CN1277229C (zh) | 2002-09-25 | 2002-09-25 | 一种语音文件加载的结果检测以及重新加载的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1485767A CN1485767A (zh) | 2004-03-31 |
CN1277229C true CN1277229C (zh) | 2006-09-27 |
Family
ID=34144722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 02130994 Expired - Fee Related CN1277229C (zh) | 2002-09-25 | 2002-09-25 | 一种语音文件加载的结果检测以及重新加载的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1277229C (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656816A (zh) * | 2018-12-04 | 2019-04-19 | 泰康保险集团股份有限公司 | 控件识别方法、装置、设备以及存储介质 |
CN112817659B (zh) * | 2021-02-02 | 2023-06-02 | 金陵科技学院 | 一种语音网关的语音加载的预判方法 |
-
2002
- 2002-09-25 CN CN 02130994 patent/CN1277229C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1485767A (zh) | 2004-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1304941C (zh) | 用于自主硬件辅助的线程栈跟踪的装置与方法 | |
CN1187733C (zh) | 语音识别系统、服务器、客户机及其控制方法 | |
CN100339830C (zh) | 一种更新软件的方法 | |
CN100343796C (zh) | 直接打印图像的方法和装置 | |
CN1303542C (zh) | Linux操作系统下对USB设备即插即用的方法 | |
CN1818933A (zh) | 射频标签读取系统、控制系统及其干扰避免方法 | |
CN1848069A (zh) | 数据存储设备、重构控制设备、重构控制方法及存储介质 | |
CN1845120A (zh) | 一种恶意代码自动分析系统及方法 | |
CN1959672A (zh) | 文件系统完整性的优化启动验证 | |
CN101339599A (zh) | 一种获取二维码的方法和终端 | |
CN1361489A (zh) | 一种日志信息的自动循环存储方法和系统 | |
CN1918932A (zh) | 在用户身份模块/可移动用户身份模块卡中的优选漫游列表更新 | |
CN1920793A (zh) | 在不同的语言环境下实现测试脚本回放的装置和方法 | |
CN1949169A (zh) | 电视机软件升级方法 | |
CN1151439C (zh) | 存储参考信息的方法及其装置 | |
CN101051990A (zh) | 基于下载类业务的媒体类型适配方法及系统 | |
CN1192593C (zh) | 用于从光扫描器上选择下载数据文件的系统和方法 | |
CN1896943A (zh) | 图像选择方法和设备 | |
CN1940867A (zh) | 信息处理装置和方法、记录媒体和程序 | |
CN1277229C (zh) | 一种语音文件加载的结果检测以及重新加载的方法 | |
CN105404636A (zh) | 基于sap系统的纸质单据电子化平台实现方法及系统 | |
CN100343815C (zh) | 一种移动终端关键参数的恢复方法 | |
CN1992776A (zh) | 管理存储在外部存储介质中的图像文件的方法和设备 | |
CN1975701A (zh) | 主机驱动外设的方法及系统 | |
CN1447243A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060927 |