CN112350958A - 语音数据动态上传方法、物联网设备及存储介质 - Google Patents
语音数据动态上传方法、物联网设备及存储介质 Download PDFInfo
- Publication number
- CN112350958A CN112350958A CN202011200408.5A CN202011200408A CN112350958A CN 112350958 A CN112350958 A CN 112350958A CN 202011200408 A CN202011200408 A CN 202011200408A CN 112350958 A CN112350958 A CN 112350958A
- Authority
- CN
- China
- Prior art keywords
- data
- dynamic
- uploading
- voice data
- transmission module
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000005540 biological transmission Effects 0.000 claims description 163
- 230000008569 process Effects 0.000 abstract description 21
- 230000004044 response Effects 0.000 abstract description 2
- 239000000284 extract Substances 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种语音数据动态上传方法、物联网设备及存储介质,应用于物联网设备,所述方法包括以下步骤:将采集到的用户语音数据存储至数据队列;根据所述数据队列中所述用户语音数据的剩余数据量确定动态上传数据量;根据所述动态上传数据量将对应的所述用户语音数据传输至服务器。本发明通过对每次语音数据上传过程中的动态上传数据量进行动态调整,能够提高语音数据的上传效率,降低上传次数,从而提升语音响应速度。
Description
技术领域
本发明涉及语音识别领域,尤其涉及一种语音数据动态上传方法、物联网设备及存储介质。
背景技术
目前,随着语音识别技术的不断发展,物联网设备逐渐智能化。在物联网设备接收用户的语音指令时,需要将用户的语音信号进行PCM(Pulse Code Modulation,脉冲编码调制)编码后生成PCM数据,并将PCM数据上传至服务器进行语音识别,并在服务器进行语音识别后返回识别结果给物联网设备以执行相应指令。
物联网设备传输PCM数据的时间消耗通常约为400ms至800ms左右,并且时间消耗主要由硬件链路和传输速度决定,与每次传输的数据量并无较大关联。现有的语音数据上传方式主要为实时检测数据队列中的语音数据量,在达到预设总量后从数据队列中每次提取出固定数据量的语音数据至传输模块内,并通过传输模块上传至服务器。例如,在用户发出语音时,每10ms将会采集到一包320字节的PCM数据并存储至数据队列中,而在数据队列中存在有54包PCM数据后,则每次从数据队列中取出54包数据并上传至服务器。
然而,由于语音数据上传的时间消耗并不固定,在前一次上传的耗时超过540ms时,数据队列中累积新增约60包数据,而传输模块仅提取54包数据。从而导致数据队列中累积的语音数据需要通过两次上传过程发送给服务器,上传过程的额外耗时将会严重降低语音识别的响应速度。并且,若网络发生阻塞或其他故障时,语音数据的传输时间持续保持在较高范围区间,则数据队列在每次传输过程中新增的数据无法及时上传而发生积累,容易因数据队列的存储空间不足而发生语音数据的丢失。
发明内容
本发明的主要目的在于提供一种语音数据动态上传方法、物联网设备及存储介质,旨在解决现有的语音数据上传耗时较长且容易导致数据队列发生数据溢出的问题。
为实现上述目的,本发明提供一种语音数据动态上传方法,应用于物联网设备,所述方法包括以下步骤:
将采集到的用户语音数据存储至数据队列;
根据所述数据队列中所述用户语音数据的剩余数据量确定动态上传数据量;
根据所述动态上传数据量将对应的所述用户语音数据传输至服务器。
可选地,所述根据所述动态上传数据量将对应的所述用户语音数据传输至服务器的步骤包括:
根据所述动态上传数据量从所述数据队列中提取相应的用户语音数据至传输模块作为待上传数据,并将所述传输模块中的待上传数据传输至服务器。
可选地,所述根据所述动态上传数据量从所述数据队列中提取相应的用户语音数据至传输模块作为待上传数据,并将所述传输模块中的待上传数据传输至服务器的步骤包括:
从所述数据队列中提取用户语音数据至传输模块作为待上传数据;
判断所述传输模块中的待上传数据是否达到所述动态上传数据量;
在所述传输模块中的待上传数据达到所述动态上传数据量时,根据所述数据队列中的剩余数据量判断是否增大所述动态上传数据量;
在所述剩余数据量低于预设传输阈值时,将所述传输模块中的待上传数据传输至服务器。
可选地,所述根据所述数据队列中的剩余数据量判断是否增大所述动态上传数据量的步骤之后,还包括:
在所述剩余数据量高于或等于预设传输阈值时,增大所述动态上传数据量,并返回执行步骤:从所述数据队列中提取用户语音数据至传输模块作为待上传数据。
可选地,所述增大所述动态上传数据量的步骤包括:
判断所述动态上传数据量是否小于所述传输模块的缓存空间;
在所述动态上传数据量小于所述传输模块的缓存空间时,增大所述动态上传数据量。
可选地,所述判断所述动态上传数据量是否小于所述传输模块的缓存空间的步骤之后,还包括:
在所述动态上传数据量大于或等于所述传输模块的缓存空间时,执行步骤:将所述传输模块中的待上传数据传输至服务器。
可选地,所述判断所述传输模块中的待上传数据是否达到所述动态上传数据量的步骤之后,还包括:
在所述传输模块中的待上传数据未达到所述动态上传数据量时,从所述数据队列中继续提取用户语音数据至传输模块作为待上传数据。
可选地,所述根据所述数据队列中所述用户语音数据的剩余数据量确定动态上传数据量的步骤包括:
判断所述数据队列中的用户语音数据是否为零;
在所述数据队列中的用户语音数据不为零时,根据所述用户语音数据的剩余数据量确定动态上传数据量;
在所述数据队列中的用户语音数据为零时,确定用户语音数据采集完毕并结束语音数据传输。
此外,为实现上述目的,本发明还提供一种物联网设备,所述物联网设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的语音数据动态上传程序,其中:所述语音数据动态上传程序被所述处理器执行时实现如上所述的语音数据动态上传方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有语音数据动态上传程序,所述语音数据动态上传程序被处理器执行时实现如上所述的语音数据动态上传方法的步骤。
本发明实施例提出的一种语音数据动态上传方法、物联网设备及存储介质,通过将用户语音数据存储至数据队列,并在每次上传用户语音数据是根据当前数据队列中用户语音数据的剩余数据量确定本次上传过程的动态上传数据量。在剩余数据量较多时,每次上传更多的用户语音数据,从而降低上传次数,减小上传语音数据的时间消耗。并且通过增大传输模块提取出的语音数据还能够降低数据队列中存储的语音数据,保证数据队列中具有足够的剩余空间,避免数据队列的剩余空间不足而发生语音数据的溢出。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图;
图2为本发明语音数据动态上传方法第一实施例的流程示意图;
图3为本发明语音数据动态上传方法第二实施例的流程示意图;
图4为本发明语音数据动态上传方法第三实施例的流程示意图;
图5为本发明语音数据动态上传方法第五实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图。
本发明实施例终端可以为物联网设备,该物联网设备可以为空调、智能音箱、冰箱、智能灯具等智能设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选的用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在硬件设备移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别硬件设备姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,硬件设备还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及语音数据动态上传程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的语音数据动态上传程序,并执行以下操作:
将采集到的用户语音数据存储至数据队列;
根据所述数据队列中所述用户语音数据的剩余数据量确定动态上传数据量;
根据所述动态上传数据量将对应的所述用户语音数据传输至服务器。
进一步地,处理器1001可以调用存储器1005中存储的语音数据动态上传程序,还执行以下操作:
根据所述动态上传数据量从所述数据队列中提取相应的用户语音数据至传输模块作为待上传数据,并将所述传输模块中的待上传数据传输至服务器。
进一步地,处理器1001可以调用存储器1005中存储的语音数据动态上传程序,还执行以下操作:
从所述数据队列中提取用户语音数据至传输模块作为待上传数据;
判断所述传输模块中的待上传数据是否达到所述动态上传数据量;
在所述传输模块中的待上传数据达到所述动态上传数据量时,根据所述数据队列中的剩余数据量判断是否增大所述动态上传数据量;
在所述剩余数据量低于预设传输阈值时,将所述传输模块中的待上传数据传输至服务器。
进一步地,处理器1001可以调用存储器1005中存储的语音数据动态上传程序,还执行以下操作:
在所述剩余数据量高于或等于预设传输阈值时,增大所述动态上传数据量;
从所述数据队列中提取用户语音数据至传输模块作为待上传数据。
进一步地,处理器1001可以调用存储器1005中存储的语音数据动态上传程序,还执行以下操作:
判断所述动态上传数据量是否小于所述传输模块的缓存空间;
在所述动态上传数据量小于所述传输模块的缓存空间时,增大所述动态上传数据量。
进一步地,处理器1001可以调用存储器1005中存储的语音数据动态上传程序,还执行以下操作:
在所述动态上传数据量大于或等于所述传输模块的缓存空间时,将所述传输模块中的待上传数据传输至服务器。
进一步地,处理器1001可以调用存储器1005中存储的语音数据动态上传程序,还执行以下操作:
在所述传输模块中的待上传数据未达到所述动态上传数据量时,从所述数据队列中继续提取用户语音数据至传输模块作为待上传数据。
进一步地,处理器1001可以调用存储器1005中存储的语音数据动态上传程序,还执行以下操作:
判断所述数据队列中的用户语音数据是否为零;
在所述数据队列中的用户语音数据不为零时,根据所述用户语音数据的剩余数据量确定动态上传数据量;
在所述数据队列中的用户语音数据为零时,确定用户语音数据采集完毕并结束语音数据传输。
本发明应用物联网设备的具体实施例与下述应用语音数据动态上传方法各实施例基本相同,在此不作赘述。
请参照图2,图2为本发明语音数据动态上传方法第一实施例的流程示意图,其中,所述语音数据动态上传方法应用于物联网设备,所述语音数据动态上传方法包括如下步骤:
步骤S10,将采集到的用户语音数据存储至数据队列;
本实施例终端可以为物联网设备,物联网设备至少具有麦克风和通信模块,能够采集用户发出的语音并将用户的语音数据上传至服务器进行语音识别。在服务器将语音数据进行识别并返回识别结果后,物联网设备可以根据该识别结果执行对应的用户指令。
在用户正在发出语音时,物联网设备将会持续采集用户发出的语音,并将采集到的用户语音数据存储至数据队列中。而在物联网设备检测到用户语音为静音,即用户停止说话时,则不再将语音数据存储至数据队列中。
步骤S20,根据所述数据队列中所述用户语音数据的剩余数据量确定动态上传数据量;
物联网设备可以根据数据队列中用户语音数据的剩余数据量来确定本次上传过程中的动态上传数据量。在数据队列中剩余的数据量较多时,则本次上传过程中的动态上传数据量较大,从而使得一次上传过程中能够上传更多用户语音数据,在用户语音数据较多时能够通过增大动态上传数据量减少上传次数,从而降低上传过程的时间消耗。同时,还能够通过增加每次上传的数据量来降低数据队列的数据占用空间,保证数据队列具有足够的剩余空间存储新采集到的用户语音数据,避免数据队列因剩余空间不足而发生语音数据的丢失。
步骤S30,根据所述动态上传数据量将对应的所述用户语音数据传输至服务器。
物联网设备在确定动态上传数据量后,即可将与该确定的动态上传数据量对应的用户语音数据通过本次上传过程传输至服务器。可以理解的是,在每次上传用户语音数据之前可以确定本次上传的动态上传数据量,在数据队列中的剩余数据量较多时,通过将每次上传的数据量进行动态增大,能够将数据队列中的语音数据进行快速上传,从而避免数据队列因数据积累而发生溢出。
在本实施例中,通过将用户语音数据存储至数据队列,并在每次上传用户语音数据是根据当前数据队列中用户语音数据的剩余数据量确定本次上传过程的动态上传数据量。例如,动态上传数据量预先设置一初始值,在每次上传过程之前,若剩余数据量未超过动态上传数据量的初始值时,则将剩余数据量按照合适的上传方式尽可能多地上传至服务器;若剩余数据量超出动态上传数据量的初始值时,则不断增大动态上传数据量,直至动态上传数据量的实时值大于等于剩余数据量或动态上传数据量达到数据队列的最大限制时停止增大动态上传数据量,并按照此时的动态上传数据量将数据队列中的剩余数据量上传至服务器。可以理解的是,在剩余数据量较多时,动态上传数据量将在每次上传过程中动态增大,从而使得数据队列中每次上传的数据量超过动态上传数据量的初始值,直至剩余数据量降低至初始值范围内。通过每次上传更多的用户语音数据,能够通过更少的上传次数传输相同数据量大小的语音数据,减小上传语音数据的时间消耗。并且通过增大上传的用户语音数据还能够降低数据队列中存储的语音数据,保证数据队列中具有足够的剩余空间,避免数据队列的剩余空间不足而发生语音数据的溢出。
进一步的,参照图3,图3为本发明语音数据动态上传方法第二实施例的流程示意图,基于上述图2所示的实施例,所述步骤S30,根据所述动态上传数据量将对应的所述用户语音数据传输至服务器的步骤包括:
步骤S31,根据所述动态上传数据量从所述数据队列中提取相应的用户语音数据至传输模块作为待上传数据,并将所述传输模块中的待上传数据传输至服务器。
物联网设备还具有传输模块,传输模块能够从数据队列中取出用户语音数据作为待上传数据,并上传至服务器进行语音识别。在传输模块为待传输状态时,传输模块能够从数据队列中提取用户语音数据作为待上传数据,并在确定动态上传数据量后将与动态上传数据量相符的用户语音数据上传至服务器。
可以理解的是,现有的语音数据上传方式为固定数据总量上传方式,即传输模块每次在待传输状态下从数据队列中取出固定数据量的语音数据,并上传至服务器。而这种方式在上传过程耗时过长时将会导致数据队列中存储的语音数据不断累积,从而发生数据溢出。并且还会使得语音数据的上传总次数较高,变相降低了语音数据上传的效率,影响用户的语音识别体验。
在到达传输状态时,传输模块能够将尽可能多的待上传数据上传至服务器中。传输模块从数据队列中提出语音数据作为待上传数据还能够使得数据队列中保留足够的剩余空间,避免数据队列因语音数据过多而发生溢出。
可以理解的是,在上传过程中传输模块由待传输状态变为传输状态,传输状态所维持的时长即为本次语音数据上传消耗的时间,并且在本次传输过程结束后传输模块的状态重新置为待传输状态。传输模块继续在待传输状态下从数据队列中提取用户语音数据并上传。
进一步的,参照图4,图4为本发明语音数据动态上传方法第三实施例的流程示意图,基于上述图3所示的实施例,所述步骤S31,根据所述动态上传数据量从所述数据队列中提取相应的用户语音数据至传输模块作为待上传数据,并将所述传输模块中的待上传数据传输至服务器的步骤包括:
步骤S311,从所述数据队列中提取用户语音数据至传输模块作为待上传数据;
步骤S312,判断所述传输模块中的待上传数据是否达到所述动态上传数据量;
步骤S313,在所述传输模块中的待上传数据达到所述动态上传数据量时,根据所述数据队列中的剩余数据量判断是否增大所述动态上传数据量;
步骤S314,在所述剩余数据量低于预设传输阈值时,将所述传输模块中的待上传数据传输至服务器。
在本实施例中,传输模块可以在待传输状态下将本次传输过程中的动态上传数据量设置为一个预设的初始值,并判断从数据队列中提取出的待上传数据是否达到动态上传数据量。在待上传数据达到动态上传数据量时,可以根据数据队列中剩余的语音数据的数据量判断是否到达传输模块的传输节点。在到达传输状态时,传输模块可以将待上传数据上传至服务器。
可以理解的是,在数据队列中的剩余数据量较小时,不需要将动态上传数据量进行增大,则每次上传的数据量即为预设的初始值。而在数据队列中剩余数据量较大时,需要将动态上传数据量进行增大,则每次上传的用户语音数据的数据量大于或等于预设的初始值。需要说明的是,数据队列每次上传的语音数据量存在最大限制值,在将动态上传数据量不断动态增大直至达到最大限制值时,则直接按照最大限制值传输相应数据量的用户语音数据。
由于采用HTTP协议传输PCM语音数据需要使用Base64进行数据压缩,而数据压缩要求每次至少压缩3包数据。则预设传输阈值可以设置为3包PCM数据。在数据队列中剩余的语音数据低于3包数据时,传输模块可以确定到达传输状态,并将待上传数据上传至服务器。
进一步的,继续参照图4,所述步骤S313,在所述传输模块中的待上传数据达到所述动态上传数据量时,根据所述数据队列中的剩余数据量判断是否增大所述动态上传数据量的步骤之后,还包括:
步骤S315,在所述剩余数据量高于或等于预设传输阈值时,增大所述动态上传数据量,并返回执行步骤S311:从所述数据队列中提取用户语音数据至传输模块作为待上传数据。
在本实施例中,在数据队列中剩余数据量高于预设传输阈值时,可以确定传输模块未到达传输状态,此时传输模块可以将动态上传数据量增大,并继续从数据队列中提取语音数据作为待上传数据,从而提升此次传输过程中的语音数据传输量。即,数据队列中剩余的语音数据大于或等于3包数据时,传输模块可以将动态上传数据量在原有基础上增大3,并从数据队列中提出3包数据作为待上传数据,并不断重复增大动态上传数据量以及提取用户语音数据的过程,直至数据队列中剩余数据量低于预设传输阈值。
可以理解的是,用户在说话时,每10ms数据队列中将会增加1包320字节的数据。预设初始值可以设置为54包数据,即本次传输过程中传输模块可以从数据队列中提取最多54包语音数据。在传输模块未提取到54包数据时,可以等待数据队列的语音数据随着用户说话而增加,并将新增的语音数据提取至传输模块作为待上传数据,直至传输模块内的待上传数据达到54包时,可以获取当前数据队列中剩余的语音数据包的数量。例如,传输模块每次上传语音数据的耗时约为400ms至800ms左右,在一次传输耗时为800ms的传输过程中,数据队列中增加了约80包数据。传输模块在从数据队列中提取出54包数据后,数据队列中剩余的语音数据包为26包,则传输模块可以将动态上传数据量提升至57,并从数据队列中继续提取出3包语音数据。在重复提升动态上传数据量并提取语音数据这一步骤后,动态上传数据量提升为78,数据队列中剩余的语音数据为2包,则此时可以确定达到传输模块的传输节点,并将传输模块中的78包语音数据作为待上传数据上传至服务器。即,在传输模块中的待上传数据达到动态上传数据量并且数据队列中剩余的语音数据包较多时,可以通过多次增大动态上传数据量并将数据队列中的语音数据提取至传输模块,从而使得传输模块在本次传输过程中能够尽可能多地上传语音数据包,从而减小语音数据上传的总次数,还能够减少数据队列中的语音数据,提升数据队列的剩余空间。
进一步的,在本发明语音数据动态上传方法第四实施例中,基于上述图4所示的实施例,所述步骤S315,在所述剩余数据量高于或等于预设传输阈值时,增大所述动态上传数据量的步骤包括:
步骤S3151,判断所述动态上传数据量是否小于所述传输模块的缓存空间;
步骤S3152,在所述动态上传数据量小于所述传输模块的缓存空间时,增大所述动态上传数据量。
在本实施例中,在确定剩余数据量高于或等于预设传输阈值之后,增大所述动态上传数据量之前,还需要对动态上传数据量是否小于传输模块的缓存空间进行判断。在传输模块的缓存空间为108包语音数据时,用户语音数据每次上传过程的最大限制值即为108。每次增大动态上传数据量前还需要判断动态上传数据量是否小于108,在动态上传数据量小于108时,可以将动态上传数据量继续进行增大,并从数据队列中提取用户语音数据至传输模块作为待上传数据。即,在数据队列中剩余语音数据包较多时,传输模块能够在缓存空间允许范围内尽可能多地提取语音数据包进行上传。
可以理解的是,判断剩余数据量是否高于或等于预设传输阈值与判断动态上传数据量是否小于所述传输模块的缓存空间可以为并列判断,判断的先后顺序并无限制,既可以先进行剩余数据量的判断,也可以先进行缓存空间的判断。
进一步的,所述步骤S3151,判断所述动态上传数据量是否小于所述传输模块的缓存空间的步骤之后,还包括:
步骤S3153,在所述动态上传数据量大于或等于所述传输模块的缓存空间时,确定增大所述动态上传数据量。
在本实施例中,传输模块在确定当前动态上传数据量大于或等于传输模块的缓存空间时,可以确定到达传输模块的传输节点,并将待上传数据进行上传。可以理解的是,此时即使数据队列中剩余数据量高于预设传输阈值,传输模块也无法再提取语音数据。即传输模块在每次上传过程中上传的语音数据总量不能超过传输模块的缓存空间。
进一步的,所述步骤S312,判断所述传输模块中的待上传数据是否达到所述动态上传数据量的步骤之后,还包括:
在所述传输模块中的待上传数据未达到所述动态上传数据量时,返回执行步骤S311:所述数据队列中继续提取用户语音数据至传输模块作为待上传数据。
在本实施例中,传输模块在从数据队列中提取的待上传数据未达到动态上传数据量时,由于用户在说话时数据队列中的语音数据包将会不断增加,传输模块可以等待数据队列新增语音数据包后从数据队列中提取新增的用户语音数据作为待上传数据,直至传输模块内的待上传数据达到动态上传数据量。即,在传输模块中的待上传数据较少时,可以等待数据队列根据用户语音产生新的语音数据包后,将新的语音数据包提取作为待上传数据,从而避免传输的语音数据过少。
需要说明的是,在用户停止说话时,数据队列中的语音数据包将不再增加,此时传输模块中的待上传数据即使未达到动态上传数据量,也可以确定达到传输节点,并将待上传数据进行上传。
进一步的,参照图5,图5为本发明语音数据动态上传方法第五实施例的流程示意图,基于上述图2至图4所示的实施例,所述步骤S20,根据所述数据队列中所述用户语音数据的剩余数据量确定动态上传数据量的步骤包括:
步骤S21,判断所述数据队列中的用户语音数据是否为零;
步骤S22,在所述数据队列中的用户语音数据不为零时,根据所述用户语音数据的剩余数据量确定动态上传数据量;
步骤S23,在所述数据队列中的用户语音数据为零时,确定用户语音数据采集完毕并结束语音数据传输。
在本实施例中,物联网设备可以在用户说话时将采集到的用户语音数据存储至数据队列,而在用户停止说话时,数据队列中将不会产生新的用户语音数据。数据队列则通过不断将用户语音数据发送至传输模块上传至服务器来减少存储的用户语音数据。在数据队列中的用户语音数据为零时,则可以确定用户停止说话,不再产生新的语音数据,此次用户语音数据已全部上传完毕。而在数据队列中的用户语音数据不为零时,则还需要根据用户语音数据的剩余数据量确定动态上传数据量,并根据动态上传数据量将对应的用户语音数据上传至服务器,直至所有数据上传完毕。
在另一实施例中,在确定传输模块到达传输状态时,可以将传输模块中的待上传数据传输至服务器。传输模块的传输时长约400ms至800ms,则在传输结束后可以通过判断数据队列中是否存在新增的用户语音数据来确定用户是否停止说话。若数据队列中不存在新增的用户数据,则表示在传输过程约400ms至800ms的时长中一直未检测到用户语音,此时可以确定用户停止说话,并结束此次语音数据传输,以便服务器对此次上传的所有语音数据进行语音识别。而若传输结束后数据队列中存在有新增的用户语音数据,则可以将出传输模块重新置为待传输状态,并从数据队列中提取语音数据进行上传。
此外,本发明还提出一种计算机可读存储介质,其上存储有语音数据动态上传程序。所述计算机可读存储介质可以是图1的终端中的存储器20,也可以是如ROM(Read-OnlyMemory,只读存储器)/RAM(Random Access Memory,随机存取存储器)、磁碟、光盘中的至少一种,所述计算机可读存储介质包括若干指令用以使得一台具有处理器的物联网设备执行本发明各个实施例所述的语音数据动态上传方法。
可以理解的是,在本说明书的描述中,参考术语“一实施例”、“另一实施例”、“其他实施例”、或“第一实施例~第N实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种语音数据动态上传方法,其特征在于,应用于物联网设备,所述方法包括以下步骤:
将采集到的用户语音数据存储至数据队列;
根据所述数据队列中所述用户语音数据的剩余数据量确定动态上传数据量;
根据所述动态上传数据量将对应的所述用户语音数据传输至服务器。
2.如权利要求1所述的语音数据动态上传方法,其特征在于,所述根据所述动态上传数据量将对应的所述用户语音数据传输至服务器的步骤包括:
根据所述动态上传数据量从所述数据队列中提取相应的用户语音数据至传输模块作为待上传数据,并将所述传输模块中的待上传数据传输至服务器。
3.如权利要求2所述的语音数据动态上传方法,其特征在于,所述根据所述动态上传数据量从所述数据队列中提取相应的用户语音数据至传输模块作为待上传数据,并将所述传输模块中的待上传数据传输至服务器的步骤包括:
从所述数据队列中提取用户语音数据至传输模块作为待上传数据;
判断所述传输模块中的待上传数据是否达到所述动态上传数据量;
在所述传输模块中的待上传数据达到所述动态上传数据量时,根据所述数据队列中的剩余数据量判断是否增大所述动态上传数据量;
在所述剩余数据量低于预设传输阈值时,将所述传输模块中的待上传数据传输至服务器。
4.如权利要求3所述的语音数据动态上传方法,其特征在于,所述根据所述数据队列中的剩余数据量判断是否增大所述动态上传数据量的步骤之后,还包括:
在所述剩余数据量高于或等于预设传输阈值时,增大所述动态上传数据量,并返回执行步骤:从所述数据队列中提取用户语音数据至传输模块作为待上传数据。
5.如权利要求4所述的语音数据动态上传方法,其特征在于,所述增大所述动态上传数据量的步骤包括:
判断所述动态上传数据量是否小于所述传输模块的缓存空间;
在所述动态上传数据量小于所述传输模块的缓存空间时,增大所述动态上传数据量。
6.如权利要求5所述的语音数据动态上传方法,其特征在于,所述判断所述动态上传数据量是否小于所述传输模块的缓存空间的步骤之后,还包括:
在所述动态上传数据量大于或等于所述传输模块的缓存空间时,执行步骤:将所述传输模块中的待上传数据传输至服务器。
7.如权利要求3所述的语音数据动态上传方法,其特征在于,所述判断所述传输模块中的待上传数据是否达到所述动态上传数据量的步骤之后,还包括:
在所述传输模块中的待上传数据未达到所述动态上传数据量时,从所述数据队列中继续提取用户语音数据至传输模块作为待上传数据。
8.如权利要求2~7中任一项所述的语音数据动态上传方法,其特征在于,所述根据所述数据队列中所述用户语音数据的剩余数据量确定动态上传数据量的步骤包括:
判断所述数据队列中的用户语音数据是否为零;
在所述数据队列中的用户语音数据不为零时,根据所述用户语音数据的剩余数据量确定动态上传数据量;
在所述数据队列中的用户语音数据为零时,确定用户语音数据采集完毕并结束语音数据传输。
9.一种物联网设备,其特征在于,所述物联网设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的语音数据动态上传程序,其中:所述语音数据动态上传程序被所述处理器执行时实现如权利要求1至8中任一项所述的语音数据动态上传方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有语音数据动态上传程序,所述语音数据动态上传程序被处理器执行时实现如权利要求1至8中任一项所述的语音数据动态上传方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011200408.5A CN112350958B (zh) | 2020-10-30 | 2020-10-30 | 语音数据动态上传方法、物联网设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011200408.5A CN112350958B (zh) | 2020-10-30 | 2020-10-30 | 语音数据动态上传方法、物联网设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112350958A true CN112350958A (zh) | 2021-02-09 |
CN112350958B CN112350958B (zh) | 2024-01-23 |
Family
ID=74357065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011200408.5A Active CN112350958B (zh) | 2020-10-30 | 2020-10-30 | 语音数据动态上传方法、物联网设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112350958B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102194453A (zh) * | 2010-03-03 | 2011-09-21 | 厦门敏讯信息技术股份有限公司 | 一种基于td平台的软内核实现语音播报的方法 |
WO2013123838A1 (zh) * | 2012-02-21 | 2013-08-29 | 腾讯科技(深圳)有限公司 | 一种语音信息传送方法及系统 |
WO2016048542A1 (en) * | 2014-09-26 | 2016-03-31 | Intel Corporation | Method and apparatus for voice data transmission |
CN205901804U (zh) * | 2016-07-28 | 2017-01-18 | 重庆中科云丛科技有限公司 | 一种大数据文件快速上传系统 |
CN106685852A (zh) * | 2016-11-18 | 2017-05-17 | 暴风集团股份有限公司 | 报数系统及报数系统的搭建和优化运行方法 |
CN108989832A (zh) * | 2017-05-31 | 2018-12-11 | 腾讯科技(深圳)有限公司 | 一种图像数据处理方法及其设备、存储介质、终端 |
JP2019032725A (ja) * | 2017-08-09 | 2019-02-28 | 株式会社ユピテル | 車載電子機器、サーバ、及びクライアント端末 |
CN110620793A (zh) * | 2019-10-31 | 2019-12-27 | 苏州浪潮智能科技有限公司 | 一种提高音频质量的方法、设备及介质 |
CN111681675A (zh) * | 2020-06-03 | 2020-09-18 | 西安Tcl软件开发有限公司 | 数据动态传输方法、装置、设备和存储介质 |
-
2020
- 2020-10-30 CN CN202011200408.5A patent/CN112350958B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102194453A (zh) * | 2010-03-03 | 2011-09-21 | 厦门敏讯信息技术股份有限公司 | 一种基于td平台的软内核实现语音播报的方法 |
WO2013123838A1 (zh) * | 2012-02-21 | 2013-08-29 | 腾讯科技(深圳)有限公司 | 一种语音信息传送方法及系统 |
WO2016048542A1 (en) * | 2014-09-26 | 2016-03-31 | Intel Corporation | Method and apparatus for voice data transmission |
CN205901804U (zh) * | 2016-07-28 | 2017-01-18 | 重庆中科云丛科技有限公司 | 一种大数据文件快速上传系统 |
CN106685852A (zh) * | 2016-11-18 | 2017-05-17 | 暴风集团股份有限公司 | 报数系统及报数系统的搭建和优化运行方法 |
CN108989832A (zh) * | 2017-05-31 | 2018-12-11 | 腾讯科技(深圳)有限公司 | 一种图像数据处理方法及其设备、存储介质、终端 |
JP2019032725A (ja) * | 2017-08-09 | 2019-02-28 | 株式会社ユピテル | 車載電子機器、サーバ、及びクライアント端末 |
CN110620793A (zh) * | 2019-10-31 | 2019-12-27 | 苏州浪潮智能科技有限公司 | 一种提高音频质量的方法、设备及介质 |
CN111681675A (zh) * | 2020-06-03 | 2020-09-18 | 西安Tcl软件开发有限公司 | 数据动态传输方法、装置、设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
宁静;胡晓勤;汤晓迪;: "面向并行备份数据流的数据快速存储方法", 计算机工程与设计, no. 18 * |
Also Published As
Publication number | Publication date |
---|---|
CN112350958B (zh) | 2024-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107463403B (zh) | 进程控制方法、装置、存储介质以及电子设备 | |
KR101954012B1 (ko) | 비디오 스트림의 데이터를 프로세싱하기 위한 방법, 단말, 및 시스템 | |
CN110234109B (zh) | 一种任务触发方法及移动终端 | |
US9319630B2 (en) | Method and device for video processing | |
CN107483401B (zh) | 一种多媒体数据传输方法及其设备、存储介质、服务器 | |
CN111371705B (zh) | 一种下载任务执行方法及电子设备 | |
CN107800869B (zh) | 一种分屏显示方法、移动终端和存储介质 | |
CN114071627A (zh) | 网络切换方法、智能终端及存储介质 | |
CN108601048B (zh) | 一种流量控制方法及移动终端 | |
CN112565204A (zh) | 视频数据传输的控制方法、装置及计算机可读存储介质 | |
CN107734023B (zh) | 静态资源文件下载方法、移动终端及计算机可读存储介质 | |
CN107247617B (zh) | 虚拟机资源的调配方法、试用平台及可读存储介质 | |
CN109802945B (zh) | 一种数据传输方法和终端设备 | |
CN112331198A (zh) | 语音数据传输方法、物联网设备及存储介质 | |
CN113965493A (zh) | 信息提示方法、智能终端及存储介质 | |
CN112350958B (zh) | 语音数据动态上传方法、物联网设备及存储介质 | |
CN106815078B (zh) | 一种内存控制方法及设备 | |
EP3611615A1 (en) | Method and device for accelerated startup of application, and terminal | |
CN110401691B (zh) | 一种资源下载控制方法、装置及终端 | |
CN109275161B (zh) | 一种网络分配方法、终端设备 | |
CN108391288B (zh) | 一种优化通信业务质量的方法及移动终端 | |
CN111277784A (zh) | 一种音量自动控制方法、装置、终端及可读存储介质 | |
CN106776041B (zh) | 一种数据处理方法及装置 | |
CN109413592B (zh) | 一种广播方法和移动终端 | |
CN111124202B (zh) | 一种文件打开方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |