CN104158834A - 一种对语音数据进行处理的方法和装置 - Google Patents

一种对语音数据进行处理的方法和装置 Download PDF

Info

Publication number
CN104158834A
CN104158834A CN201310177301.7A CN201310177301A CN104158834A CN 104158834 A CN104158834 A CN 104158834A CN 201310177301 A CN201310177301 A CN 201310177301A CN 104158834 A CN104158834 A CN 104158834A
Authority
CN
China
Prior art keywords
packet
storage area
processed
server
buffer memory
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
Application number
CN201310177301.7A
Other languages
English (en)
Other versions
CN104158834B (zh
Inventor
刘秋阁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201310177301.7A priority Critical patent/CN104158834B/zh
Priority to PCT/CN2013/084827 priority patent/WO2014183368A1/en
Priority to US14/265,918 priority patent/US9911476B2/en
Publication of CN104158834A publication Critical patent/CN104158834A/zh
Application granted granted Critical
Publication of CN104158834B publication Critical patent/CN104158834B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种对语音数据进行处理的方法和装置,属于移动通信领域。所述方法包括:接收客户端发送的语音数据包括的数据包,并将所述接收的数据包缓存在存储区域中;根据所述接收的数据包的类型和当前所述存储区域的存储状态确定是否对所述存储区域中缓存的数据包进行处理;如果是,申请语音资源,并通过所述语音资源对所述存储区域中缓存的数据包进行处理。所述装置包括:缓存模块、确定模块和处理模块。本发明通过对接收的数据包进行缓存,提高了对语音资源的利用率和对语音数据进行处理的并发能力。

Description

一种对语音数据进行处理的方法和装置
技术领域
本发明涉及移动通信领域,特别涉及一种对语音数据进行处理的方法和装置。
背景技术
随着移动通信技术的快速发展,语音服务逐渐代替了文字服务。用户可以直接向客户端输入语音,客户端接收用户输入的语音,并将接收的语音转换为语音数据并对转换的语音数据进行处理。
目前存在一种对语音数据进行处理的方法,可以为:客户端将语音数据进行切分并打包成多个数据包,根据各数据包在语音数据中的顺序,依次发送各数据包给服务器,其中,发送的第一个数据包为首包,最后一个数据包为尾包,其他的数据包为中间包。当服务器接收到客户端发送的首包时,申请语音资源,通过该语音资源对接收的首包进行处理;在处理完首包后,等待接收客户端发送的下一个数据包;当服务器接收到客户端发送的中间包时,通过该语音资源对接收的中间包进行处理;当服务器接收到客户端发送的尾包时,通过该语音资源对接收的尾包进行处理,并在处理完尾包后,发送处理结果给客户端。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
由于客户端发送任意两数据包之间的时间间隔较长,服务器通过申请的语音资源处理完接收的数据包后需要等待较长的时间来对接收的下一个数据包进行处理,而在等待接收下一个数据包的时间内,该语音资源未被使用,降低了语音资源的利用率以及对语音数据进行处理的并发能力。
发明内容
为了使解决现有技术的问题,本发明提供了一种对语音数据进行处理的方法和装置。所述技术方案如下:
一方面,提供了一种对语音数据进行处理的方法,所述方法包括:
接收客户端发送的语音数据包括的数据包,并将所述接收的数据包缓存在存储区域中;
根据所述接收的数据包的类型和当前所述存储区域的存储状态确定是否对所述存储区域中缓存的数据包进行处理;
如果是,申请语音资源,并通过所述语音资源对所述存储区域中缓存的数据包进行处理。
另一方面,提供了一种对语音数据进行处理的装置,所述装置包括:
缓存模块,用于接收客户端发送的语音数据包括的数据包,并将所述接收的数据包缓存在存储区域中;
确定模块,用于根据所述接收的数据包的类型和当前所述存储区域的存储状态确定是否对所述存储区域中缓存的数据包进行处理;
处理模块,用于如果确定模块确定对存储区域中缓存的数据包进行处理时,申请语音资源,并通过所述语音资源对所述存储区域中缓存的数据包进行处理。
在本发明实施例中,接收客户端发送的语音数据包括的数据包,并将接收的数据包缓存在存储区域中,根据接收的数据包的类型和当前存储区域的存储状态,确定是否对存储区域中缓存的数据包进行处理,如果确定对缓存区域中缓存的数据包进行处理,申请语音资源,并通过语音资源对存储区域中缓存的数据包进行处理,提高了语音资源的利用率,并且提供了对语音数据进行处理的并发能力。
附图说明
图1是本发明实施例1提供的对语音数据进行处理的方法流程图;
图2是本发明实施例2提供的对语音数据进行处理的方法流程图;
图3是本发明实施例3提供的对语音数据进行处理的方法流程图;
图4是本发明实施例4提供的对语音数据进行处理的装置结构示意图;
图5是本发明实施例4提供的对语音数据进行处理的另一装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
本发明实施例提供了一种对语音数据进行处理的方法。参见图1,其中,该方法包括:
101:接收客户端发送的语音数据包括的数据包,并将接收的数据包缓存在存储区域中;
102:根据接收的数据包的类型和当前存储区域的存储状态确定是否对存储区域中缓存的数据包进行处理;
103:如果是,申请语音资源,并通过语音资源对存储区域中缓存的数据包进行处理。
进一步地,将接收的数据包缓存在存储区域中之前,还包括:
根据服务器的空闲资源大小,确定是否将接收的数据包缓存在存储区域中,如果是,执行将接收的数据包缓存在存储区域中的操作。
进一步地,根据服务器的状态,确定是否将接收的数据包缓存在存储区域中,包括:
当服务器空闲的硬件资源大小小于第一预设阈值时,确定出将接收的数据包缓存在存储区域中;或者,
当服务器空闲的语音资源大小小于第二预设阈值时,确定出将接收到的数据包缓存在存储区域中。
进一步地,根据接收的数据包的类型和当前存储区域的存储状态确定是否对存储区域中缓存的数据包进行处理,包括:
当接收的数据包的类型是尾包或者当前存储区域的存储状态是已满状态,确定对存储区域中缓存的数据包进行处理;
当接收的数据包的类型不是尾包且当前存储区域的存储状态是未满状态,确定不对存储区域中缓存的数据包进行处理。
进一步地,将接收的数据包缓存在存储区域中之前,还包括:
当接收的数据包的类型是首包,为接收的数据包分配存储区域。
在本发明实施例中,接收客户端发送的语音数据包括的数据包,并将接收的数据包缓存在存储区域中,根据接收的数据包的类型和当前存储区域的存储状态,确定是否对存储区域中缓存的数据包进行处理,如果确定对缓存区域中缓存的数据包进行处理,申请语音资源,并通过语音资源对存储区域中缓存的数据包进行处理,提高了语音资源的利用率,并且提供了对语音数据进行处理的并发能力。
实施例2
本发明实施例提供了一种对语音数据进行处理的方法。参见图2,其中,该方法包括:
201:客户端将语音数据进行切分并打包成数据包,依次发送各数据包给服务器;
其中,客户端负责将用户的语音转换为语音数据,并发送给服务器,具体为:
客户端接收用户输入的语音,并将接收的语音转换为语音数据,根据语音数据的大小,将语音数据进行切分得到数据片。客户端将得到的数据片打包成数据包,根据各数据包在语音数据中的顺序,依次发送各数据包给服务器,其中,数据包包括首包、中间包和尾包;客户端发送的第一个数据包为首包,等发送完首包之后再发送中间包,发送完全部的中间包之后再发送尾包。
例如,客户端接收用户输入的一段语音,将接收的一段语音转换为语音数据1,根据语音数据1的大小,将语音数据1进行切分得到4个数据片。客户端将得到的4个数据片打包成4个数据包,根据各数据包在语音数据中的顺序,依次发送各数据包给服务器。其中,数据包包括首包、中间包和尾包;客户端发送的第1个数据包为首包,第2、3个数据包为中间包,第4个数据包为尾包。
202:服务器接收客户端发送的数据包,当接收的数据包的类型是首包,为接收的数据包分配存储区域;
其中,数据包的类型包括首包、中间包和尾包。服务器接收客户端发送的数据包时,从数据包的包头中包括的用于携带类型的字段中读取该数据包的类型,当读取的该数据包的类型为首包,为该数据包分配存储区域。
例如,当服务器接收到客户端发送的数据包时,从数据包的包头中包括的用于携带类型的字段中读取该数据包的类型,当读取的第1个数据包的类型是首包时,服务器为接收的第1个数据包分配存储区域1。
其中,由于语音数据包括的多个数据包,所以分配的存储区域的大小大于首包的大小。
203:服务器将接收的该数据包缓存在存储区域中;
其中,当服务器接收到语音数据的首包时,并不立刻申请语音资源处理该数据包,而是为接收的首包分配存储区域中。
其中,语音资源是指对语音数据进行处理的资源。服务器中存在一定数量的语音资源,同一时刻一个语音资源只能处理一个语音数据。
例如,服务器将接收的第1个数据包缓存在存储区域1中,并且,服务器等待接收客户端发送的第2个、第3个、第4个数据包,并将接收的数据包缓存在存储区域1中。
其中,存储区域的大小大于首包的大小,将首包缓存在存储区域后,该存储区域的存储状态为未满状态。
其中,客户端发送语音数据包括的首包后,客户端再发送下一个数据包;相应的,服务器将接收的首包缓存在存储区域中之后,按如下步骤204接收客户端发送的下一个数据包。
204:服务器接收客户端发送的下一个数据包,将接收的该数据包缓存在存储区域中;
其中,服务器在服务器接收客户端发送的数据包之后,先获取该数据包的类型和存储区域的存储状态,可以为:
服务器接收客户端发送的数据包时,从数据包的包头中包括的用于携带类型的字段中读取该数据包的类型;并获取存储区域的存储状态。
205服务器根据接收的数据包的类型和当前存储区域的存储状态确定是否对存储区域中缓存的数据包进行处理;
其中,存储区域的存储状态包括已满状态和未满状态。
其中,根据接收的数据包的类型和当前存储区域的存储状态确定是否对存储区域中缓存的数据包进行处理的操作,可以为:
当接收的数据包的类型是尾包或者当前存储区域的存储状态是已满状态,确定对存储区域中缓存的数据包进行处理;当接收的数据包的类型不是尾包且当前存储区域的存储状态是未满状态,确定不对存储区域中缓存的数据包进行处理。
其中,当存储区域的大小小于该语音数据的大小时,服务器在接收该语音数据的尾包之前,存储区域就可能被服务器接收的数据包缓存满,使得存储区域的存储状态由未满状态变为已满状态;当前存储区域的大小大于或等于该语音数据包的大小时,存储区域能够缓存下该语音数据包括的所有数据包,所以服务器能够一直接收到该语音数据包括的尾包。
当确定不对存储区域中缓存的数据包进行处理,即客户端还存在未发送的该语音数据包括的数据包,服务器继续返回执行步骤204接收客户端发送的数据包,直到接收到该语音数据包括的尾包或存储区域的状态变为已满状态时,执行步骤206。
进一步地,当前存储区域的存储状态是已满状态时,确定对存储区域中缓存的数据包进行处理。对存储区域中缓存的数据包进行处理时,存储区域中缓存的数据包将被清空,此时如果客户端还存在未发送的该语音数据包括的数据包,则服务器继续接收客户端发送的该语音数据包括的数据包,并且可以继续将接收的数据包缓存在被清空的该存储区域中,或者可以直接对接收的数据包进行处理。
例如,当存储区域1大小大于或等于语音数据1的大小时,当服务器接收到客户端发送的数据包时,从数据包的包头中包括的用于携带类型的字段中读取该数据包的类型,当服务器接收到客户端发送的第1个数据包时,确定出第1个数据包的类型是首包;为接收的数据包分配存储区域1,并将接收的第1个数据包缓存在存储区域1中;客户端还存在未发送的该语音数据1包括的数据包,服务器继续接收客户端发送的数据包,当服务器接收到客户端发送的第2个、第3个数据包时,确定出第2个、第3数据包的类型是中间包;并将接收的第2个、第3个数据包缓存在存储区域1中;客户端还存在未发送的该语音数据1包括的数据包,服务器继续接收客户端发送的数据包,当服务器接收到客户端发送的第4个数据包时,确定出第4个数据包的类型是尾包,并将接收的第4个数据包缓存在存储区域1中,此时服务器对存储区域1中存储的第1个、第2个、第3个和第4个数据包进行处理。
当存储区域1大小小于语音数据1的大小时,假设存储区域1大小只能存储第1个数据包和第2个数据包;当存储区域1缓存完第2个数据包时,确定存储区域1的存储状态是已满状态,此时服务器对存储区域1中存储的第1个数据包和第2个数据包进行处理。服务器对存储区域1中缓存的第1个数据包和第2个数据包进行处理时,存储区域中缓存的第1个数据包和第2个数据包将被清空,此时客户端还存在未发送的语音数据1包括的第3个数据包和第4个数据包,则服务器继续接收客户端发送的第3个数据包和第4个数据包,并且可以继续将接收的第3个数据包和第4个数据包缓存在被清空的该存储区域1中,或者可以直接对接收的第3个数据包和第4个数据包进行处理。
206:服务器申请语音资源,并通过语音资源对存储区域中缓存的数据包进行处理;
具体地,当确定对存储区域中缓存的数据包进行处理时,申请语音资源,并通过语音资源对存储区域中缓存的数据包进行处理。
其中,可以采用现有的算法通过语音资源对数据包进行处理,具体处理过程在此不再赘述。
其中,对语音数据进行处理对服务器内存的消耗很大,在初始化的时候,服务器需要将语音模型、声学模型等模型文件载入到内存,其中,模型文件一般很大,大约为30G,该模型文件占用服务器很大的内存。并且,对语音数据进行处理是CPU(Central Processing Unit,中央处理器)密集的应用,对语音数据进行处理时会占满CPU的一个核;对语音数据进行处理速度相对较慢,因此,服务器将接收的各数据包缓存在存储区域中,当接收的数据包的类型是尾包;或者,存储区域的存储状态是已满状态时,才申请语音资源,并通过语音资源对各数据包进行处理,能提高对语音数据进行处理的并发能力。
207:服务器发送处理结果给客户端。
具体地,服务器通过语音资源对存储区域中缓存的数据包进行处理,当处理完成时,发送处理结果给客户端。
其中,处理结果包括对语音数据处理成功或者对语音数据处理失败。处理结果可以用0或-1表示,0代表对语音数据处理成功,-1代表对语音数据处理失败。
在本发明实施例中,接收客户端发送的语音数据包括的数据包,并将接收的数据包缓存在存储区域中,根据接收的数据包的类型和当前存储区域的存储状态,确定是否对存储区域中缓存的数据包进行处理,如果确定对缓存区域中缓存的数据包进行处理,申请语音资源,并通过语音资源对存储区域中缓存的数据包进行处理,提高了语音资源的利用率,并且提供了对语音数据进行处理的并发能力。
实施例3
本发明实施例提供了一种对语音数据进行处理的方法。参见图3,其中,该方法包括:
301:客户端将语音数据进行切分并打包成数据包,依次发送各数据包给服务器;
其中,客户端负责将用户的语音转换为语音数据,并发送给服务器,具体为:
客户端接收用户输入的语音,并将接收的语音转换为语音数据,根据语音数据的大小,将语音数据进行切分得到数据片。客户端将得到的数据片打包成数据包,根据各数据包在语音数据中的顺序,依次发送各数据包给服务器,其中,数据包包括首包、中间包和尾包;客户端发送的第一个数据包为首包,等发送完首包之后再发送中间包,发送完全部的中间包之后再发送尾包。
例如,客户端接收用户输入的一段语音,将接收的一段语音转换为语音数据1,根据语音数据1的大小,将语音数据1进行切分得到4个数据片。客户端将得到的4个数据片打包成4个数据包,根据各数据包在语音数据中的顺序,依次发送各数据包给服务器。其中,数据包包括首包、中间包和尾包;客户端发送的第1个数据包为首包,第2、3个数据包为中间包,第4个数据包为尾包。
302:服务器接收客户端发送的数据包,并根据服务器的空闲资源大小,确定是否将接收的数据包缓存在存储区域中;如果是,执行步骤303;
其中,空闲资源包括空闲的硬件资源和/或空闲的语音资源;硬件资源可以为CPU的核数;语音资源是指对语音数据进行处理的资源,服务器中存在一定数量的语音资源,且同一时刻一个语音资源只能处理一个语音数据。
其中,服务器根据服务器的空闲资源大小,确定是否将接收的数据包缓存在存储区域中的操作,可以为:
根据服务器的空闲的硬件资源和空闲的语音资源,确定是否将接收的数据包缓存在存储区域中,当服务器空闲的硬件资源大小小于第一预设阈值时,确定出将接收的数据包缓存在存储区域中;或者,当服务器空闲的语音资源大小小于第二预设阈值时,确定出将接收到的数据包缓存在存储区域中。
其中,第一预设阈值和第二预设阈值可以根据系统需要进行设置并更改。
例如,服务器的硬件资源是服务器的CPU的核数,第一预设阈值是4,若当前服务器空闲的CPU核数为2,由于服务器空闲的CPU核数2小于第一预设阈值4,服务器空闲的硬件资源不足,确定出将接收的数据包缓存在存储区域中;如服务器空闲的CPU核数为5,由于服务器空闲的CPU核数5大于第一预设阈值4,服务器空闲的硬件资源充足,确定出不对接收的数据包进行缓存,直接申请语音资源,并通过语音资源对接收的数据包进行处理。
又如,第二预设阈值是6,若服务器空闲的语音资源数为4,由于服务器空闲的语音资源数4小于第二预设阈值6,服务器空闲的语音资源不足,确定出将接收到的数据包缓存在存储区域中;若服务器空闲的语音资源数为8,由于服务器空闲的语音资源数8大于第二预设阈值,服务器空闲的语音资源充足,确定出不对接收的数据包进行缓存,直接申请语音资源,并通过语音资源对接收的数据包进行处理。
进一步地,如果确定出对接收的数据包进行缓存,服务器根据接收的数据包的类型,为接收的数据包分配存储区域,执行步骤303。
进一步地,如果确定出不对接收到的数据包进行缓存时,服务器申请语音资源,通过语音资源对接收到的数据包进行处理。
其中,可以采用现有的算法通过语音资源对数据包进行处理,具体处理过程在此不再赘述。
303:当接收的数据包的类型是首包,服务器为接收的数据包分配存储区域;
其中,数据包的类型包括首包、中间包和尾包。服务器接收客户端发送的数据包时,从数据包的包头中包括的用于携带类型的字段中读取该数据包的类型,当读取的该数据包的类型为首包,为该数据包分配存储区域。
例如,当服务器接收到客户端发送的数据包时,从数据包的包头中包括的用于携带类型的字段中读取该数据包的类型,当读取的第1个数据包的类型是首包时,服务器为接收的第1个数据包分配存储区域1。
其中,由于语音数据包括的多个数据包,所以分配的存储区域的大小大于首包的大小。
304:服务器将接收的该数据包缓存在存储区域中;
其中,当服务器接收到语音数据的首包时,并不立刻申请语音资源处理该数据包,而是为接收的首包分配存储区域。
例如,服务器将接收的第1个数据包缓存在存储区域1中,并且,服务器等待接收客户端发送的第2个、第3个、第4个数据包,并将接收的数据包缓存在存储区域1中。
其中,存储区域的大小大于首包的大小,将首包缓存在存储区域后,该存储区域的存储状态为未满状态。
其中,客户端发送语音数据包括的首包后,客户端再发送下一个数据包;相应的,服务器将接收的首包缓存在存储区域中之后,按如下步骤305接收客户端发送的下一个数据包。
305:服务器接收客户端发送的下一个数据包,将接收的该数据包缓存在存储区域中;
其中,服务器在服务器接收客户端发送的数据包之后,先获取该数据包的类型和存储区域的存储状态,可以为:
服务器接收客户端发送的数据包时,从数据包的包头中包括的用于携带类型的字段中读取该数据包的类型;并获取存储区域的存储状态。
306:服务器根据接收的数据包的类型和当前存储区域的存储状态确定是否对存储区域中缓存的数据包进行处理;
其中,存储区域的存储状态包括已满状态和未满状态。
其中,据接收的数据包的类型和当前存储区域的存储状态确定是否对存储区域中缓存的数据包进行处理的操作,可以为:
当接收的数据包的类型是尾包或者当前存储区域的存储状态是已满状态,确定对存储区域中缓存的数据包进行处理;当接收的数据包的类型不是尾包且当前存储区域的存储状态是未满状态,确定不对存储区域中缓存的数据包进行处理。
其中,当存储区域的大小小于该语音数据的大小时,服务器在接收该语音数据的尾包之前,存储区域就可能被服务器接收的数据包缓存满,使得存储区域的存储状态由未满状态变为已满状态;当前存储区域的大小大于或等于该语音数据包的大小时,存储区域能够缓存下该语音数据包括的所有数据包,所以服务器能够一直接收到该语音数据包括的尾包。
当确定不对存储区域中缓存的数据包进行处理,即客户端还存在未发送的该语音数据包括的数据包,服务器继续返回执行步骤305接收客户端发送的数据包,直到接收到该语音数据包括的尾包或存储区域的状态变为已满状态时,执行步骤307。
进一步地,当前存储区域的存储状态是已满状态时,确定对存储区域中缓存的数据包进行处理。对存储区域中缓存的数据包进行处理时,存储区域中缓存的数据包将被清空,此时如果客户端还存在未发送的该语音数据包括的数据包,则服务器继续接收客户端发送的该语音数据包括的数据包,并且可以继续将接收到数据包缓存在被清空的该存储区域中,或者可以直接对接收的数据包进行处理。
例如,当存储区域1大小大于或等于语音数据1的大小时,当服务器接收到客户端发送的数据包时,从数据包的包头中包括的用于携带类型的字段中读取该数据包的类型,当服务器接收到客户端发送的第1个数据包时,确定出第1个数据包的类型是首包;为接收的数据包分配存储区域1,并将接收的第1个数据包缓存在存储区域1中;客户端还存在未发送的该语音数据1包括的数据包,服务器继续接收客户端发送的数据包,当服务器接收到客户端发送的第2个、第3个数据包时,确定出第2个、第3数据包的类型是中间包;并将接收的第2个、第3个数据包缓存在存储区域1中;客户端还存在未发送的该语音数据1包括的数据包,服务器继续接收客户端发送的数据包,当服务器接收到客户端发送的第4个数据包时,确定出第4个数据包的类型是尾包,并将接收的第4个数据包缓存在存储区域1中,此时服务器对存储区域1中存储的第1个、第2个、第3个和第4个数据包进行处理。
当存储区域1大小小于语音数据1的大小时,假设存储区域1大小只能存储第1个数据包和第2个数据包;当存储区域1缓存完第2个数据包时,确定存储区域1的存储状态是已满状态,此时服务器对存储区域1中存储的第1个数据包和第2个数据包进行处理。服务器对存储区域1中缓存的第1个数据包和第2个数据包进行处理时,存储区域中缓存的第1个数据包和第2个数据包将被清空,此时客户端还存在未发送的语音数据1包括的第3个数据包和第4个数据包,服务器继续接收客户端发送的第3个数据包和第4个数据包,并且可以继续将接收的第3个数据包和第4个数据包缓存在被清空的该存储区域1中,或者可以直接对接收的第3个数据包和第4个数据包进行处理。
307:服务器申请语音资源,并通过语音资源对存储区域中缓存的数据包进行处理;
具体地,当确定对存储区域中缓存的数据包进行处理时,申请语音资源,并通过语音资源对存储区域中缓存的数据包进行处理。
其中,可以采用现有的算法通过语音资源对数据包进行处理,具体处理过程在此不再赘述。
308:服务器发送处理结果给客户端。
具体地,服务器通过语音资源对存储区域中缓存的数据包进行处理,当处理完成时,发送处理结果给客户端。
其中,处理结果包括对语音数据处理成功或者对语音数据处理失败。处理结果可以用0或-1表示,0代表对语音数据处理成功,-1代表对语音数据处理失败。
在本发明实施例中,接收客户端发送的语音数据包括的数据包,并将接收的数据包缓存在存储区域中,根据接收的数据包的类型和当前存储区域的存储状态,确定是否对存储区域中缓存的数据包进行处理,如果确定对缓存区域中缓存的数据包进行处理,申请语音资源,并通过语音资源对存储区域中缓存的数据包进行处理,提高了语音资源的利用率,并且提供了对语音数据进行处理的并发能力。进一步地,根据服务器的空闲资源确定是否对接收的数据包进行缓存,从而达到当服务器的空闲资源充足时,不对接收的数据包进行缓存,保证对数据进行处理的响应时间;当服务器的空闲资源不足时,对接收的数据包进行缓存,提供语音资源的利用率,并且提供了对语音数据进行处理的并发能力。
实施例4
本发明实施例提供了一种对语音数据进行处理的装置结构示意图。参见图4,其中,该装置包括:
缓存模块401,用于接收客户端发送的语音数据包括的数据包,并将接收的数据包缓存在存储区域中;
确定模块402,用于根据接收的数据包的类型和当前存储区域的存储状态确定是否对存储区域中缓存的数据包进行处理;
处理模块403,用于如果确定模块确定对存储区域中缓存的数据包进行处理时,申请语音资源,并通过语音资源对存储区域中缓存的数据包进行处理。
进一步地,确定模块402,还用于根据服务器的空闲资源大小,确定是否将接收的数据包缓存在存储区域中,如果是,执行将接收的数据包缓存在存储区域中的操作。
进一步地,本发明实施例提供了一种对语音数据进行处理的装置结构示意图。参见图5,其中,确定模块402,包括:
第一确定单元4021,用于当服务器空闲的硬件资源大小小于第一预设阈值时,确定出将接收的数据包缓存在存储区域中;或者,
第二确定单元4022,用于当服务器空闲的语音资源大小小于第二预设阈值时,确定出将接收到的数据包缓存在存储区域中。
进一步地,确定模块402,包括:
第三确定单元4023,用于当接收的数据包的类型是尾包或者当前存储区域的存储状态是已满状态,确定对存储区域中缓存的数据包进行处理;
第四确定单元4024,用于当接收的数据包的类型不是尾包且当前存储区域的存储状态是未满状态,确定不对存储区域中缓存的数据包进行处理。
进一步地,装置还包括:
分配模块404,用于当接收的数据包的类型是首包,为接收的数据包分配存储区域。
在本发明实施例中,接收客户端发送的语音数据包括的数据包,并将接收的数据包缓存在存储区域中,根据接收的数据包的类型和当前存储区域的存储状态,确定是否对存储区域中缓存的数据包进行处理,如果确定对缓存区域中缓存的数据包进行处理,申请语音资源,并通过语音资源对存储区域中缓存的数据包进行处理,提高了语音资源的利用率,并且提供了对语音数据进行处理的并发能力。进一步地,根据服务器的空闲资源确定是否对接收的数据包进行缓存,从而达到当服务器的空闲资源充足时,不对接收的数据包进行缓存,保证对数据进行处理的响应时间;当服务器的空闲资源不足时,对接收的数据包进行缓存,提供语音资源的利用率和对语音数据进行处理的并发能力。
需要说明的是:上述实施例提供的对语音数据进行处理的装置在对语音数据进行处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的对语音数据进行处理的装置与对语音数据进行处理的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种对语音数据进行处理的方法,其特征在于,所述方法包括:
接收客户端发送的语音数据包括的数据包,并将所述接收的数据包缓存在存储区域中;
根据所述接收的数据包的类型和当前所述存储区域的存储状态确定是否对所述存储区域中缓存的数据包进行处理;
如果是,申请语音资源,并通过所述语音资源对所述存储区域中缓存的数据包进行处理。
2.如权利要求1所述的方法,其特征在于,所述将所述接收的数据包缓存在存储区域中之前,所述方法还包括:
根据服务器的空闲资源大小,确定是否将所述接收的数据包缓存在存储区域中,如果是,执行将所述接收的数据包缓存在存储区域中的操作。
3.如权利要求2所述的方法,其特征在于,所述根据服务器的状态,确定是否将所述接收的数据包缓存在存储区域中,包括:
当所述服务器空闲的硬件资源大小小于第一预设阈值时,确定出将所述接收的数据包缓存在所述存储区域中;或者,
当所述服务器空闲的语音资源大小小于第二预设阈值时,确定出将所述接收到的数据包缓存在所述存储区域中。
4.如权利要求1或2所述的方法,其特征在于,根据所述接收的数据包的类型和当前所述存储区域的存储状态确定是否对所述存储区域中缓存的数据包进行处理,包括:
当所述接收的数据包的类型是尾包或者当前所述存储区域的存储状态是已满状态,确定对所述存储区域中缓存的数据包进行处理;
当所述接收的数据包的类型不是尾包且当前所述存储区域的存储状态是未满状态,确定不对所述存储区域中缓存的数据包进行处理。
5.如权利要求1所述的方法,其特征在于,所述将所述接收的数据包缓存在存储区域中之前,所述方法还包括:
当所述接收的数据包的类型是首包,为所述接收的数据包分配存储区域。
6.一种对语音数据进行处理的装置,其特征在于,所述装置包括:
缓存模块,用于接收客户端发送的语音数据包括的数据包,并将所述接收的数据包缓存在存储区域中;
确定模块,用于根据所述接收的数据包的类型和当前所述存储区域的存储状态确定是否对所述存储区域中缓存的数据包进行处理;
处理模块,用于如果确定模块确定对存储区域中缓存的数据包进行处理时,申请语音资源,并通过所述语音资源对所述存储区域中缓存的数据包进行处理。
7.如权利要求6所述的装置,其特征在于,所述确定模块,还用于根据服务器的空闲资源大小,确定是否将所述接收的数据包缓存在存储区域中,如果是,执行将所述接收的数据包缓存在存储区域中的操作。
8.如权利要求7所述的装置,其特征在于,所述确定模块,包括:
第一确定单元,用于当所述服务器空闲的硬件资源大小小于第一预设阈值时,确定出将所述接收的数据包缓存在所述存储区域中;或者,
第二确定单元,用于当所述服务器空闲的语音资源大小小于第二预设阈值时,确定出将所述接收到的数据包缓存在所述存储区域中。
9.如权利要求6或7所述的装置,其特征在于,所述确定模块,包括:
第三确定单元,用于当所述接收的数据包的类型是尾包或者当前所述存储区域的存储状态是已满状态,确定对所述存储区域中缓存的数据包进行处理;
第四确定单元,用于当所述接收的数据包的类型不是尾包且当前所述存储区域的存储状态是未满状态,确定不对所述存储区域中缓存的数据包进行处理。
10.如权利要求6所述的装置,其特征在于,所述装置还包括:
分配模块,用于当所述接收的数据包的类型是首包,为所述接收的数据包分配存储区域。
CN201310177301.7A 2013-05-14 2013-05-14 一种对语音数据进行处理的方法和装置 Active CN104158834B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201310177301.7A CN104158834B (zh) 2013-05-14 2013-05-14 一种对语音数据进行处理的方法和装置
PCT/CN2013/084827 WO2014183368A1 (en) 2013-05-14 2013-10-08 Systems and methods for voice data processing
US14/265,918 US9911476B2 (en) 2013-05-14 2014-04-30 Systems and methods for voice data processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310177301.7A CN104158834B (zh) 2013-05-14 2013-05-14 一种对语音数据进行处理的方法和装置

Publications (2)

Publication Number Publication Date
CN104158834A true CN104158834A (zh) 2014-11-19
CN104158834B CN104158834B (zh) 2016-11-16

Family

ID=51884239

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310177301.7A Active CN104158834B (zh) 2013-05-14 2013-05-14 一种对语音数据进行处理的方法和装置

Country Status (2)

Country Link
CN (1) CN104158834B (zh)
WO (1) WO2014183368A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109413485A (zh) * 2017-08-17 2019-03-01 成都鼎桥通信技术有限公司 数据缓存方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790538A (en) * 1996-01-26 1998-08-04 Telogy Networks, Inc. System and method for voice Playout in an asynchronous packet network
CN1342358A (zh) * 1999-03-31 2002-03-27 索福特弗朗特株式会社 通过数据包网络传送语音数据的系统
CN1501675A (zh) * 2002-11-14 2004-06-02 �Ҵ���˾ 用于交互式声音响应系统的方法和装置
US20080183884A1 (en) * 2007-01-29 2008-07-31 Via Technologies, Inc. Data-packet processing method in network system
CN101247331A (zh) * 2007-02-12 2008-08-20 阿尔卡特朗讯公司 用于在会话边界控制器中分配代码转换资源的方法和设备
CN101247432A (zh) * 2007-07-18 2008-08-20 北京高信达网络科技有限公司 一种VoIP语音数据实时监控的方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2280820A (en) * 1993-07-29 1995-02-08 Ibm Distributed system for call processing
JP2002300274A (ja) * 2001-03-30 2002-10-11 Fujitsu Ltd ゲートウェイ装置及び音声データ転送方法
CN1225883C (zh) * 2001-07-27 2005-11-02 华为技术有限公司 一种节约带宽的语音传送方法
US7688817B2 (en) * 2005-04-15 2010-03-30 International Business Machines Corporation Real time transport protocol (RTP) processing component
CN100420186C (zh) * 2006-02-15 2008-09-17 华为技术有限公司 在网络系统中播放存储语音的方法及其装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790538A (en) * 1996-01-26 1998-08-04 Telogy Networks, Inc. System and method for voice Playout in an asynchronous packet network
CN1342358A (zh) * 1999-03-31 2002-03-27 索福特弗朗特株式会社 通过数据包网络传送语音数据的系统
CN1501675A (zh) * 2002-11-14 2004-06-02 �Ҵ���˾ 用于交互式声音响应系统的方法和装置
US20080183884A1 (en) * 2007-01-29 2008-07-31 Via Technologies, Inc. Data-packet processing method in network system
CN101247331A (zh) * 2007-02-12 2008-08-20 阿尔卡特朗讯公司 用于在会话边界控制器中分配代码转换资源的方法和设备
CN101247432A (zh) * 2007-07-18 2008-08-20 北京高信达网络科技有限公司 一种VoIP语音数据实时监控的方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109413485A (zh) * 2017-08-17 2019-03-01 成都鼎桥通信技术有限公司 数据缓存方法及装置

Also Published As

Publication number Publication date
WO2014183368A1 (en) 2014-11-20
CN104158834B (zh) 2016-11-16

Similar Documents

Publication Publication Date Title
US20160132541A1 (en) Efficient implementations for mapreduce systems
CN104796337A (zh) 一种转发报文的方法及装置
CN105511954A (zh) 一种报文处理方法及装置
CN109697122A (zh) 任务处理方法、设备及计算机存储介质
EP2755363B1 (en) Data-fast-distribution method and device
CN103200128A (zh) 一种网络包处理的方法、装置和系统
CN103412786A (zh) 一种高性能服务器架构系统及数据处理方法
CN112769905B (zh) 一种基于numa架构的飞腾平台下高性能网卡性能优化方法
CN101662483A (zh) 云计算网络的缓存系统及其方法
CN102790776A (zh) 心跳连接归一处理方法、终端、服务器及通信系统
CN111459417B (zh) 一种面向NVMeoF存储网络的无锁传输方法及系统
CN107733813B (zh) 报文转发方法及装置
CN104935636A (zh) 网络通道加速方法和系统
CN103368870B (zh) 集群存储网络并行负载的控制方法及系统
CN111290979B (zh) 数据传输方法、装置及系统
CN101052031B (zh) 苹果计算机与无线通讯终端进行数据交互的方法
CN111857992A (zh) 一种Radosgw模块中线程资源分配方法和装置
CN111177032A (zh) 缓存空间申请方法、系统、装置及计算机可读存储介质
CN104753813A (zh) Dma传送报文的方法
CN115904259B (zh) 非易失性存储器标准NVMe指令的处理方法及相关装置
US9128771B1 (en) System, method, and computer program product to distribute workload
CN103888452B (zh) 用于报文压缩的保序方法和装置
CN107911317B (zh) 一种报文调度方法及装置
CN109951532B (zh) 一种基于dpdk的流量模型自动变换装置
CN104158834A (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
TR01 Transfer of patent right

Effective date of registration: 20200831

Address after: Shenzhen Futian District City, Guangdong province 518000 Zhenxing Road, SEG Science Park 2 East Room 403

Co-patentee after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd.

Patentee after: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.

Address before: Shenzhen Futian District City, Guangdong province 518000 Zhenxing Road, SEG Science Park 2 East Room 403

Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.

TR01 Transfer of patent right