CN111343098A - 数据交互方法、装置、计算机设备和存储介质 - Google Patents
数据交互方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111343098A CN111343098A CN202010090108.XA CN202010090108A CN111343098A CN 111343098 A CN111343098 A CN 111343098A CN 202010090108 A CN202010090108 A CN 202010090108A CN 111343098 A CN111343098 A CN 111343098A
- Authority
- CN
- China
- Prior art keywords
- packet
- size
- sending
- data
- current
- 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
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/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
- H04L47/365—Dynamic adaptation of the packet size
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种数据交互方法、装置、计算机设备和存储介质,所述方法包括:获取用户请求数据;确定初始发包大小,将初始发包大小作为当前发包大小;按照当前发包大小向服务器发送用户请求数据,当发包次数达到预设次数后,每发送一次数据包,根据已发送数据包的大小以及发送时间确定当前网络速度,并将当前网络速度上传至所述服务器;根据当前网络速度更新当前发包大小,并继续向服务器发送数据包直至将用户请求数据全部发送给服务器,由服务器对用户请求数据进行处理后生成响应数据,并根据最新当前网络速度确定目标发包大小;接收服务器按照目标发包大小发送的响应数据。本申请提供的方案可以提高数据传输的稳定性和成功率。
Description
技术领域
本申请涉及信息交互技术领域,特别是涉及一种数据交互方法、装置、计算机设备和存储介质。
背景技术
随着智能语音技术的发展,用户可以与带有智能语音助手的设备端进行语音交互,智能语音助手集成了语音识别、语义理解、语音合成等多种智能处理技术。语音识别技术(ASR)可以将人类的语音中的词汇内容转换为计算机可读的输入,把语音信号转变为相应的文本或命令,语音合成技术(TTS)可以实现“从文本到语音”,把文字智能地转化为自然语音流。
目前的语音交互方案是,设备端将用户请求数据以固定大小的包发送到服务器端,服务器端对数据进行语音识别、语义理解、语音合成等处理后,将获得的音频流同样以固定大小的包发回到设备端播放。然而,目前方案无法根据网络状况对发送的数据包大小进行适应性调整,当网络状况发生变化,例如网络质量变差时,容易引起发送超时、丢包等问题。
发明内容
基于此,有必要针对目前方案无法根据网络状况对发送的数据包大小进行适应性调整的技术问题,提供一种数据交互方法、装置、计算机设备和存储介质。
一种数据交互方法,所述方法包括:
获取用户请求数据;
确定初始发包大小,将初始发包大小作为当前发包大小;
按照所述当前发包大小向服务器发送所述用户请求数据,当发包次数达到预设次数后,每发送一次数据包,根据已发送数据包的大小以及发送时间确定当前网络速度,并将每次确定的当前网络速度上传至所述服务器;
根据所述当前网络速度更新所述当前发包大小,并返回按照所述当前发包大小向服务器发送所述用户请求数据的步骤,直至将所述用户请求数据全部发送给所述服务器,由所述服务器对接收到的所述用户请求数据进行处理后生成响应数据,并根据接收到的最新当前网络速度确定目标发包大小;
接收所述服务器按照所述目标发包大小发送的所述响应数据。
一种数据交互方法,所述方法包括:
接收终端发送的用户请求数据和当前网络速度,由所述终端将初始发包大小作为当前发包大小,按照所述当前发包大小发送所述用户请求数据,当发包次数达到预设次数后,每发送一次数据包,根据已发送数据包的大小以及发送时间确定所述当前网络速度,根据所述当前网络速度更新所述当前发包大小,并返回按照所述当前发包大小向服务器发送所述用户请求数据的步骤,直至将所述用户请求数据全部发送;
对接收到的所述用户请求数据进行处理后生成响应数据;
根据接收到的最新当前网络速度确定目标发包大小;
按照所述目标发包大小向所述终端发送所述响应数据。
一种数据交互装置,所述装置包括:
获取模块,用于获取用户请求数据;
第一确定模块,用于确定初始发包大小,将初始发包大小作为当前发包大小;
第一发送模块,用于按照所述当前发包大小向服务器发送所述用户请求数据,当发包次数达到预设次数后,每发送一次数据包,根据已发送数据包的大小以及发送时间确定当前网络速度,并将每次确定的当前网络速度上传至所述服务器;
更新模块,用于根据所述当前网络速度更新所述当前发包大小,并返回按照所述当前发包大小向服务器发送所述用户请求数据的步骤,直至将所述用户请求数据全部发送给所述服务器,由所述服务器对接收到的所述用户请求数据进行处理后生成响应数据,并根据接收到的最新当前网络速度确定目标发包大小;
第一接收模块,用于接收所述服务器按照所述目标发包大小发送的所述响应数据。
一种数据交互装置,所述装置包括:
第二接收模块,用于接收终端发送的用户请求数据和当前网络速度,由所述终端将初始发包大小作为当前发包大小,按照所述当前发包大小发送所述用户请求数据,当发包次数达到预设次数后,每发送一次数据包,根据已发送数据包的大小以及发送时间确定所述当前网络速度,根据所述当前网络速度更新所述当前发包大小,并返回按照所述当前发包大小向服务器发送所述用户请求数据的步骤,直至将所述用户请求数据全部发送;
处理模块,用于对接收到的所述用户请求数据进行处理后生成响应数据;
第二确定模块,用于根据接收到的最新当前网络速度确定目标发包大小;
第二发送模块,用于按照所述目标发包大小向所述终端发送所述响应数据。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述数据交互方法的步骤。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述数据交互方法的步骤。
上述数据交互方法、装置、计算机设备和计算机可读存储介质,通过终端向服务器发送的数据包情况,确定当前网络速度,并根据当前网络速度动态调整交互过程中的数据包大小,使得发包大小与终端所处的网络状况相适应,从而减少网络质量变差时引起的发送超时和丢包问题,提高数据传输的稳定性和成功率。
附图说明
图1为一个实施例中数据交互方法的应用环境图;
图2为一个实施例中数据交互方法的流程示意图;
图3为一个实施例中数据包发送流程示意图;
图4为一个实施例中数据交互方法的流程示意图;
图5为一个实施例中的效果示意图;
图6为一个实施例中数据交互装置的结构框图;
图7为一个实施例中数据交互装置的结构框图;
图8为一个实施例中计算机设备的结构框图;
图9为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中数据交互方法的应用环境图。如图1所示,该应用环境涉及终端110和服务器120,终端110和服务器120通过网络连接。用户可以通过终端110访问提供语音交互服务的应用平台,服务器120可以是该提供语音交互服务的应用平台所在的服务器。终端110获取用户请求数据,并向服务器120发送用户请求数据,服务器120对用户请求数据进行语音识别、语义理解、语音合成等处理后,生成响应数据,并向终端110发送响应数据。终端110具体可以是台式终端或移动终端,移动终端具体可以是手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,在一个实施例中,提供了一种数据交互方法。本实施例主要以该方法应用于上述图1中的终端110来举例说明。参照图2,该数据交互方法具体包括如下步骤S202至步骤S210。
S202,获取用户请求数据。
其中,用户请求数据可以是语音数据,具体地,终端可以通过录音设备实时录取用户的声音,获得用户请求数据。
S204,确定初始发包大小,将初始发包大小作为当前发包大小。
其中,初始发包大小表示数据发送流程启动时的默认发包大小,具体可以根据预设发包速度和预设发包频率计算获得。当前发包大小表示当前待发送数据包的大小。
S206,按照当前发包大小向服务器发送用户请求数据,当发包次数达到预设次数后,每发送一次数据包,根据已发送数据包的大小以及发送时间确定当前网络速度,并将每次确定的当前网络速度上传至服务器。
终端可以按照当前发包大小从用户请求数据中获取相应大小的数据包,每次向服务器发送该相应大小的数据包。当发包次数未达到预设次数前,暂不考虑发包大小的调整,终端每次发送相同大小的数据包。当发包次数达到预设次数后,考虑到网络状况的影响,终端后续每发送一次数据包,确定一次当前网络速度,并根据当前网络速度动态调整下一次发送的数据包大小。
数据包的发送时间表示数据包从开始发送到发送成功所用的时间。具体地,终端通过制定的通信协议向服务器发送数据包,以将数据包发给socket的时间作为开始发送时间,以从socket把数据包完全发送出去的时间作为发送成功时间,将发送成功时间和开始发送时间的时间差作为数据包的发送时间。
如图3所示,在一个实施例中,提供了一种数据包发送流程示意图。其中,终端在应用层增加了数据缓冲区,终端将要发送到服务器的用户请求数据先存放在该数据缓冲区中,根据当前发包大小分配相应大小的数据包,通过socket API发送到socket发送缓冲区。
S208,根据当前网络速度更新当前发包大小,并返回按照当前发包大小向服务器发送用户请求数据的步骤,直至将用户请求数据全部发送给服务器,由服务器对接收到的用户请求数据进行处理后生成响应数据,并根据接收到的最新当前网络速度确定目标发包大小。
终端在确定当前网络速度后,根据当前网络速度更新当前发包大小,即调整下一次发送的数据包大小,使得发包大小与当前网络状况相适应。终端将本次用户请求数据全部发送给服务器之后,服务器对接收到的用户请求数据进行处理后生成响应数据,并根据终端接收到的最新当前网络速度确定向终端发送响应数据的目标发包大小,该目标发包大小与终端发完用户请求数据时所处的网络状况相适应。
S210,接收服务器按照目标发包大小发送的响应数据。
在一个实施例中,服务器可以按照目标发包大小将响应数据拆分成多个固定大小的数据包,每次向终端发送该固定大小的数据包。在另一个实施例中,服务器可以先从响应数据中获取最小可播放数据包大小的数据包,作为首包发送给终端,后续再按照目标发包大小将剩余数据拆分成多个固定大小的数据包,从第二次开始,每次向终端发送该固定大小的数据包。
上述数据交互方法中,通过终端向服务器发送的数据包情况,确定当前网络速度,并根据当前网络速度动态调整交互过程中的数据包大小,使得发包大小与终端所处的网络状况相适应,从而减少网络质量变差时引起的发送超时和丢包问题,提高数据传输的稳定性和成功率。
在一个实施例中,确定初始发包大小的步骤,具体可以包括如下步骤:获取预设发包速度和预设发包频率;根据预设发包速度与预设发包频率的比值,确定初始发包大小。
其中,预设发包速度和预设发包频率可以结合实际情况或需求进行设定。假设预设发包速度为V0(单位:KB/s),预设发包频率(每秒发送的数据包数量)为N(单位:个/s),可计算出初始发包大小S0,S0=V0/N。
在一个实施例中,根据已发送数据包的大小以及发送时间确定当前网络速度的步骤,具体可以包括如下步骤:从已发送数据包中选取最近发送的预设数量的数据包;根据最近发送的预设数量的数据包中各数据包的大小以及发送时间,获得最近发送的预设数量的数据包的平均发送速度,作为当前网络速度。
其中,预设数量可以结合实际情况或需求进行设定。具体地,可以根据最近发送的预设数量的数据包中各数据包的大小以及发送时间,计算获得该最近发送的预设数量的数据包的总大小和总发送时间,然后计算该总大小与该总发送时间的比值,获得该最近发送的预设数量的数据包的平均发送速度,作为当前网络速度。
举例来说,假设此时已发送数据包数量为4个,预设数量设为3,则最近发送的3个数据包为第四、第三和第二个发送的数据包,其大小分别用S1、S2和S3表示,其发送时间分别用T1、T2和T3表示,可计算出该最近发送的3个数据包的平均发送速度V,V=(S1+S2+S3)/(T1+T2+T3),该平均发送速度V可以反映当前网络状况,因此可将该平均发送速度V作为当前网络速度,并根据当前网络速度调整下一数据包(即第五个发送的数据包)的大小。
该实施例中,通过计算最近发送的预设数量的数据包的平均发送速度获得当前网络速度,这样获得的当前网络速度可以比较准确地反映当前网络状况,根据这样获得的当前网络速度来调整发包大小,可以减少网络波动比较大时导致的调整过度的问题,提高调整的平滑性和及时性。
在一个实施例中,根据当前网络速度更新当前发包大小的步骤,具体可以包括如下步骤:根据当前网络速度与预设发包频率的比值,获得当前网络可接受的发包大小;选取最小可发送数据包大小和当前网络可接受的发包大小中的较大值,更新当前发包大小。
假设当前网络速度为V(单位:KB/s),预设发包频率(每秒发送的数据包数量)为N(单位:个/s),计算出当前网络可接受的发包大小Sn1,Sn1=V/N。最小可发送数据包大小表示能够发送的数据包大小最小阈值(用Smin1表示)。更新后的当前发包大小用Sv表示,Sv=max(Sn1,Smin1),若Sn1大于或等于Smin1,将Sn1作为更新后的当前发包大小;若Sn1小于Smin1,将Smin1作为更新后的当前发包大小。
该实施例中,通过最小可发送数据包大小和当前网络可接受的发包大小中的较大值更新当前发包大小,可以使得发包大小与当前网络状况相适应,同时可以避免发包大小过小而影响发包效率。
如图4所示,在一个实施例中,提供了一种数据交互方法。本实施例主要以该方法应用于上述图1中的服务器120来举例说明。参照图4,该数据交互方法具体包括如下步骤S402至步骤S408。
S402,接收终端发送的用户请求数据和当前网络速度,由终端将初始发包大小作为当前发包大小,按照当前发包大小发送用户请求数据,当发包次数达到预设次数后,每发送一次数据包,根据已发送数据包的大小以及发送时间确定当前网络速度,根据当前网络速度更新当前发包大小,并返回按照当前发包大小向服务器发送用户请求数据的步骤,直至将用户请求数据全部发送。
关于该步骤的具体限定可以参见前文实施例,在此不再赘述。
S404,对接收到的用户请求数据进行处理后生成响应数据。
具体地,用户请求数据可以是语音数据,服务器对语音数据进行语音识别、语义理解、语音合成等处理后,生成TTS语音数据作为响应数据。例如,用户请求数据为“今天星期几?”,响应数据为“今天星期五”。
S406,根据接收到的最新当前网络速度确定目标发包大小。
终端将每次计算的当前网络速度上传至服务器,最新当前网络速度对应终端在发送用户请求数据的过程中最后一次计算并上传的当前网络速度,根据最新当前网络速度确定的目标发包大小,与终端所处的当前网络状况相适应。
S408,按照目标发包大小向终端发送响应数据。
在一个实施例中,服务器可以按照目标发包大小将响应数据拆分成多个固定大小的数据包,每次向终端发送该固定大小的数据包。在另一个实施例中,服务器可以先从响应数据中获取最小可播放数据包大小的数据包,作为首包发送给终端,后续再按照目标发包大小将剩余数据拆分成多个固定大小的数据包,从第二次开始,每次向终端发送该固定大小的数据包。
上述数据交互方法中,通过终端向服务器发送的数据包情况,确定当前网络速度,并根据当前网络速度动态调整交互过程中的数据包大小,使得发包大小与终端所处的网络状况相适应,从而减少网络质量变差时引起的发送超时和丢包问题,提高数据传输的稳定性和成功率。
在一个实施例中,根据接收到的最新当前网络速度确定目标发包大小的步骤,具体可以包括如下步骤:获取预设基准网速和预设固定包大小;根据预设基准网速、预设固定包大小以及最新当前网络速度,获得当前网络可接受的发包大小;选取最小可播放数据包大小和当前网络可接受的发包大小中的较大值,确定目标发包大小。
其中,预设基准网速表示网络平均速度的基准值。预设基准网速和预设固定包大小可以结合实际情况或需求进行设定。预设基准网速还可以根据终端上报的当前网络速度历史数据进行动态调整,例如,在一次请求中,服务器接收到终端上报的若干当前网络速度,利用模型对该若干当前网络速度进行计算,获得一个最优基准网速,将该最优基准网速与当前使用的预设基准网速进行对比,若差值大于或等于设定的阈值,则将当前使用的预设基准网速更新为该最优基准网速,若差值小于该设定的阈值,则不更新当前使用的预设基准网速。
假设预设基准网速为Ve(单位:KB/s),预设固定包大小为Sp(单位:KB),最新当前网络速度为Vn(单位:KB/s),可计算出当前网络可接受的发包大小Sn2,Sn2=Sp*Vn/Ve。最小可播放数据包大小表示能够播放的数据包大小最小阈值(用Smin2表示)。目标发包大小用Sw表示,Sw=max(Sn2,Smin2),若Sn2大于或等于Smin2,将Sn2作为目标发包大小;若Sn2小于Smin2,将Smin2作为目标发包大小。
该实施例中,根据预设基准网速、预设固定包大小以及最新当前网络速度计算获得当前网络可接受的发包大小,并通过最小可播放数据包大小和当前网络可接受的发包大小中的较大值确定目标发包大小,这样获得的目标发包大小与当前网络状况相适应,同时可以避免发包大小过小而影响响应速度。
在一个实施例中,按照目标发包大小向终端发送响应数据的步骤,具体可以包括如下步骤:将最小可播放数据包大小作为首包大小,将目标发包大小作为后续固定发包大小;按照首包大小和后续固定发包大小,向终端发送响应数据。
假设首包大小为S1st(单位:KB),响应数据总大小为St(单位:KB),后续固定发包大小为Sn2(单位:KB),发送首包后,剩余数据大小为St-S1st,将剩余数据分为M包下发,M=mathceil((St-S1st)/Sn2),其中math ceil()表示对浮点数向上取整函数。举例来说,若S1st=2KB,St=100KB,Sn2=10KB,则M=math ceil(9.8)=10,即剩余数据分为10包下发,具体地,服务器发送的首包大小为2KB,从第2包到第10包发送的数据包大小均为10KB,最后第11包发送的数据包大小为8KB。
该实施例中,服务器根据终端当前网络状况,调整下发给终端的数据包大小,能够提升不同网络条件下数据传输的功率和稳定性,降低网络状况不好时语音播报卡顿的概率。并且,服务器向终端下发的首包大小为最小可播放数据包大小,终端在收到首包数据后对其进行解码并写入播放器,可以立即开始播放,从而减少用户等待时间(从用户说完话到用户听到语音回复之间的等待时间),使用户能更快速地听到回复内容,提升语音交互的响应速度和用户体验。
如图5所示,提供了该实施例的效果示意图,其中,方案1为该实施例方案,方案2为对比方案,方案2按照固定大小发送数据包,即首包大小不是最小可播放数据包大小,而是与后续数据包大小相同。对比可见,该实施例方案可以缩短用户等待时间,且数据包大小在较好网络条件下比在较差网络条件下大,即数据包大小与网络状况相适应,可以提升数据传输的稳定性。
应该理解的是,虽然图2、4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图6所示,在一个实施例中,提供了一种数据交互装置600,包括:获取模块610、第一确定模块620、第一发送模块630、更新模块640和第一接收模块650。
获取模块610,用于获取用户请求数据。
第一确定模块620,用于确定初始发包大小,将初始发包大小作为当前发包大小。
第一发送模块630,用于按照当前发包大小向服务器发送用户请求数据,当发包次数达到预设次数后,每发送一次数据包,根据已发送数据包的大小以及发送时间确定当前网络速度,并将每次确定的当前网络速度上传至服务器。
更新模块640,用于根据当前网络速度更新当前发包大小,并返回按照当前发包大小向服务器发送用户请求数据的步骤,直至将用户请求数据全部发送给服务器,由服务器对接收到的用户请求数据进行处理后生成响应数据,并根据接收到的最新当前网络速度确定目标发包大小。
第一接收模块650,用于接收服务器按照目标发包大小发送的响应数据。
在一个实施例中,第一确定模块620在确定初始发包大小时,具体用于:获取预设发包速度和预设发包频率;根据预设发包速度与预设发包频率的比值,确定初始发包大小。
在一个实施例中,第一发送模块630在根据已发送数据包的大小以及发送时间确定当前网络速度时,具体用于:从已发送数据包中选取最近发送的预设数量的数据包;根据最近发送的预设数量的数据包中各数据包的大小以及发送时间,获得最近发送的预设数量的数据包的平均发送速度,作为当前网络速度。
在一个实施例中,更新模块640在根据当前网络速度更新当前发包大小时,具体用于:根据当前网络速度与预设发包频率的比值,获得当前网络可接受的发包大小;选取最小可发送数据包大小和当前网络可接受的发包大小中的较大值,更新当前发包大小。
如图7所示,在一个实施例中,提供了一种数据交互装置700,包括:第二接收模块710、处理模块720、第二确定模块730和第二发送模块740。
第二接收模块710,用于接收终端发送的用户请求数据和当前网络速度,由终端将初始发包大小作为当前发包大小,按照当前发包大小发送用户请求数据,当发包次数达到预设次数后,每发送一次数据包,根据已发送数据包的大小以及发送时间确定当前网络速度,根据当前网络速度更新当前发包大小,并返回按照当前发包大小向服务器发送用户请求数据的步骤,直至将用户请求数据全部发送。
处理模块710,用于对接收到的用户请求数据进行处理后生成响应数据。
第二确定模块730,用于根据接收到的最新当前网络速度确定目标发包大小。
第二发送模块740,用于按照目标发包大小向终端发送响应数据。
在一个实施例中,第二确定模块730在根据接收到的最新当前网络速度确定目标发包大小时,具体用于:获取预设基准网速和预设固定包大小;根据预设基准网速、预设固定包大小以及最新当前网络速度,获得当前网络可接受的发包大小;选取最小可播放数据包大小和当前网络可接受的发包大小中的较大值,确定目标发包大小。
在一个实施例中,第二发送模块740在按照目标发包大小向终端发送响应数据时,具体用于:将最小可播放数据包大小作为首包大小,将目标发包大小作为后续固定发包大小;按照首包大小和后续固定发包大小,向终端发送响应数据。
关于数据交互装置的具体限定可以参见上文中对于数据交互方法的限定,在此不再赘述。上述数据交互装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图8示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110。如图8所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现数据交互方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行数据交互方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的数据交互装置可以实现为一种计算机程序的形式,计算机程序可在如图8所示的计算机设备上运行。计算机设备的存储器中可存储组成该数据交互装置的各个程序模块,比如,图6所示的获取模块、第一确定模块、第一发送模块、更新模块和第一接收模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的数据交互方法中的步骤。
例如,图8所示的计算机设备可以通过如图6所示的数据交互装置中的获取模块执行步骤S202。计算机设备可通过第一确定模块执行步骤S204。计算机设备可通过第一发送模块执行步骤S206。计算机设备可通过更新模块执行步骤S208。计算机设备可通过第一接收模块执行步骤S210。
图9示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的服务器120。如图9所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现数据交互方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行数据交互方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的数据交互装置可以实现为一种计算机程序的形式,计算机程序可在如图9所示的计算机设备上运行。计算机设备的存储器中可存储组成该数据交互装置的各个程序模块,比如,图7所示的第二接收模块、处理模块、第二确定模块和第二发送模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的数据交互方法中的步骤。
例如,图9所示的计算机设备可以通过如图7所示的数据交互装置中的第二接收模块执行步骤S402。计算机设备可通过处理模块执行步骤S404。计算机设备可通过第二确定模块执行步骤S406。计算机设备可通过第二发送模块执行步骤S408。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述数据交互方法的步骤。此处数据交互方法的步骤可以是上述各个实施例的数据交互方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述数据交互方法的步骤。此处数据交互方法的步骤可以是上述各个实施例的数据交互方法中的步骤。
需要理解的是,上述实施例中的术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (11)
1.一种数据交互方法,包括:
获取用户请求数据;
确定初始发包大小,将初始发包大小作为当前发包大小;
按照所述当前发包大小向服务器发送所述用户请求数据,当发包次数达到预设次数后,每发送一次数据包,根据已发送数据包的大小以及发送时间确定当前网络速度,并将每次确定的当前网络速度上传至所述服务器;
根据所述当前网络速度更新所述当前发包大小,并返回按照所述当前发包大小向服务器发送所述用户请求数据的步骤,直至将所述用户请求数据全部发送给所述服务器,由所述服务器对接收到的所述用户请求数据进行处理后生成响应数据,并根据接收到的最新当前网络速度确定目标发包大小;
接收所述服务器按照所述目标发包大小发送的所述响应数据。
2.根据权利要求1所述的方法,其特征在于,所述确定初始发包大小,包括:
获取预设发包速度和预设发包频率;
根据所述预设发包速度与所述预设发包频率的比值,确定初始发包大小。
3.根据权利要求1所述的方法,其特征在于,所述根据已发送数据包的大小以及发送时间确定当前网络速度,包括:
从所述已发送数据包中选取最近发送的预设数量的数据包;
根据所述最近发送的预设数量的数据包中各所述数据包的大小以及发送时间,获得所述最近发送的预设数量的数据包的平均发送速度,作为当前网络速度。
4.根据权利要求2所述的方法,其特征在于,所述根据所述当前网络速度更新所述当前发包大小,包括:
根据所述当前网络速度与所述预设发包频率的比值,获得当前网络可接受的发包大小;
选取最小可发送数据包大小和所述当前网络可接受的发包大小中的较大值,更新所述当前发包大小。
5.一种数据交互方法,包括:
接收终端发送的用户请求数据和当前网络速度,由所述终端将初始发包大小作为当前发包大小,按照所述当前发包大小发送所述用户请求数据,当发包次数达到预设次数后,每发送一次数据包,根据已发送数据包的大小以及发送时间确定所述当前网络速度,根据所述当前网络速度更新所述当前发包大小,并返回按照所述当前发包大小向服务器发送所述用户请求数据的步骤,直至将所述用户请求数据全部发送;
对接收到的所述用户请求数据进行处理后生成响应数据;
根据接收到的最新当前网络速度确定目标发包大小;
按照所述目标发包大小向所述终端发送所述响应数据。
6.根据权利要求5所述的方法,其特征在于,所述根据接收到的最新当前网络速度确定目标发包大小,包括:
获取预设基准网速和预设固定包大小;
根据所述预设基准网速、所述预设固定包大小以及所述最新当前网络速度,获得当前网络可接受的发包大小;
选取最小可播放数据包大小和所述当前网络可接受的发包大小中的较大值,确定所述目标发包大小。
7.根据权利要求6所述的方法,其特征在于,所述按照所述目标发包大小向所述终端发送所述响应数据,包括:
将所述最小可播放数据包大小作为首包大小,将所述目标发包大小作为后续固定发包大小;
按照所述首包大小和所述后续固定发包大小,向所述终端发送所述响应数据。
8.一种数据交互装置,其特征在于,所述装置包括:
获取模块,用于获取用户请求数据;
第一确定模块,用于确定初始发包大小,将初始发包大小作为当前发包大小;
第一发送模块,用于按照所述当前发包大小向服务器发送所述用户请求数据,当发包次数达到预设次数后,每发送一次数据包,根据已发送数据包的大小以及发送时间确定当前网络速度,并将每次确定的当前网络速度上传至所述服务器;
更新模块,用于根据所述当前网络速度更新所述当前发包大小,并返回按照所述当前发包大小向服务器发送所述用户请求数据的步骤,直至将所述用户请求数据全部发送给所述服务器,由所述服务器对接收到的所述用户请求数据进行处理后生成响应数据,并根据接收到的最新当前网络速度确定目标发包大小;
第一接收模块,用于接收所述服务器按照所述目标发包大小发送的所述响应数据。
9.一种数据交互装置,其特征在于,所述装置包括:
第二接收模块,用于接收终端发送的用户请求数据和当前网络速度,由所述终端将初始发包大小作为当前发包大小,按照所述当前发包大小发送所述用户请求数据,当发包次数达到预设次数后,每发送一次数据包,根据已发送数据包的大小以及发送时间确定所述当前网络速度,根据所述当前网络速度更新所述当前发包大小,并返回按照所述当前发包大小向服务器发送所述用户请求数据的步骤,直至将所述用户请求数据全部发送;
处理模块,用于对接收到的所述用户请求数据进行处理后生成响应数据;
第二确定模块,用于根据接收到的最新当前网络速度确定目标发包大小;
第二发送模块,用于按照所述目标发包大小向所述终端发送所述响应数据。
10.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010090108.XA CN111343098B (zh) | 2020-02-13 | 2020-02-13 | 数据交互方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010090108.XA CN111343098B (zh) | 2020-02-13 | 2020-02-13 | 数据交互方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111343098A true CN111343098A (zh) | 2020-06-26 |
CN111343098B CN111343098B (zh) | 2022-04-08 |
Family
ID=71181513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010090108.XA Active CN111343098B (zh) | 2020-02-13 | 2020-02-13 | 数据交互方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111343098B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112055174A (zh) * | 2020-08-27 | 2020-12-08 | 深圳英飞拓智能技术有限公司 | 一种视频传输方法、装置及计算机可读存储介质 |
CN114389999A (zh) * | 2021-12-27 | 2022-04-22 | 鹏城实验室 | 一种基于数据包的网络传输方法、装置、设备及存储介质 |
CN115529307A (zh) * | 2022-08-23 | 2022-12-27 | 北京奇艺世纪科技有限公司 | 一种文件上传方法、系统、客户端设备及服务器 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729589A (zh) * | 2008-10-14 | 2010-06-09 | 北京大学 | 一种提高端到端数据传输速率的方法及系统 |
CN106302589A (zh) * | 2015-05-27 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 文件传输方法及终端 |
CN107809394A (zh) * | 2016-09-09 | 2018-03-16 | 维布络有限公司 | 经通信网络发送数据的系统和方法 |
US10050898B2 (en) * | 2012-12-19 | 2018-08-14 | Talari Networks Incorporated | Adaptive private network with path maximum transmission unit (MTU) discovery process |
CN108512770A (zh) * | 2017-02-28 | 2018-09-07 | 华为技术有限公司 | 数据流量分配方法及相关设备 |
CN109474444A (zh) * | 2017-09-07 | 2019-03-15 | 中国移动通信有限公司研究院 | 一种传输控制协议tcp窗口的调整方法及调整设备 |
CN109525366A (zh) * | 2018-11-12 | 2019-03-26 | 内蒙古方向图科技有限公司 | 一种传送数据的方法 |
CN110417632A (zh) * | 2018-04-26 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 一种网络通信方法、系统及服务器 |
CN110677354A (zh) * | 2019-12-04 | 2020-01-10 | 武汉慧联无限科技有限公司 | 一种报文传输方法、终端和服务器 |
-
2020
- 2020-02-13 CN CN202010090108.XA patent/CN111343098B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729589A (zh) * | 2008-10-14 | 2010-06-09 | 北京大学 | 一种提高端到端数据传输速率的方法及系统 |
US10050898B2 (en) * | 2012-12-19 | 2018-08-14 | Talari Networks Incorporated | Adaptive private network with path maximum transmission unit (MTU) discovery process |
CN106302589A (zh) * | 2015-05-27 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 文件传输方法及终端 |
CN107809394A (zh) * | 2016-09-09 | 2018-03-16 | 维布络有限公司 | 经通信网络发送数据的系统和方法 |
CN108512770A (zh) * | 2017-02-28 | 2018-09-07 | 华为技术有限公司 | 数据流量分配方法及相关设备 |
CN109474444A (zh) * | 2017-09-07 | 2019-03-15 | 中国移动通信有限公司研究院 | 一种传输控制协议tcp窗口的调整方法及调整设备 |
CN110417632A (zh) * | 2018-04-26 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 一种网络通信方法、系统及服务器 |
CN109525366A (zh) * | 2018-11-12 | 2019-03-26 | 内蒙古方向图科技有限公司 | 一种传送数据的方法 |
CN110677354A (zh) * | 2019-12-04 | 2020-01-10 | 武汉慧联无限科技有限公司 | 一种报文传输方法、终端和服务器 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112055174A (zh) * | 2020-08-27 | 2020-12-08 | 深圳英飞拓智能技术有限公司 | 一种视频传输方法、装置及计算机可读存储介质 |
CN114389999A (zh) * | 2021-12-27 | 2022-04-22 | 鹏城实验室 | 一种基于数据包的网络传输方法、装置、设备及存储介质 |
CN114389999B (zh) * | 2021-12-27 | 2023-08-18 | 鹏城实验室 | 一种基于数据包的网络传输方法、装置、设备及存储介质 |
CN115529307A (zh) * | 2022-08-23 | 2022-12-27 | 北京奇艺世纪科技有限公司 | 一种文件上传方法、系统、客户端设备及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN111343098B (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111343098B (zh) | 数据交互方法、装置、计算机设备和存储介质 | |
US11228794B2 (en) | Method, computer device, and storage medium for media code rate self-adaptation | |
US6778961B2 (en) | Method and system for delivering text-to-speech in a real time telephony environment | |
CN100426715C (zh) | 一种丢帧隐藏方法和装置 | |
JP2001094625A (ja) | データ通信装置、データ通信方法及び記憶媒体 | |
CN112752117B (zh) | 一种视频缓存方法、装置、设备及存储介质 | |
CN101636990A (zh) | 在通信系统中传输数据的方法 | |
JP5758713B2 (ja) | 音声合成装置、ナビゲーション装置および音声合成方法 | |
CN105099795A (zh) | 抖动缓冲器水平估计 | |
US20070107507A1 (en) | Mute processing apparatus and method for automatically sending mute frames | |
US20190304456A1 (en) | Storage medium, spoken language understanding apparatus, and spoken language understanding method | |
CN111105778A (zh) | 语音合成方法、装置、计算设备和存储介质 | |
US11488603B2 (en) | Method and apparatus for processing speech | |
US9912617B2 (en) | Method and apparatus for voice communication based on voice activity detection | |
US20110064027A1 (en) | Graceful degradation for communication services over wired and wireless networks | |
CN114067800A (zh) | 语音识别方法、装置和电子设备 | |
US20070116190A1 (en) | System and method of providing access to web-based voice mail for TTY enabled devices | |
CN110808054B (zh) | 多路音频的压缩与解压缩方法及系统 | |
CN112562688A (zh) | 语音转写方法、装置、录音笔和存储介质 | |
CN112581934A (zh) | 一种语音合成方法、装置及系统 | |
CN117789734B (zh) | 音频处理方法、装置、计算机设备和存储介质 | |
US20230005465A1 (en) | Voice communication between a speaker and a recipient over a communication network | |
US11837218B2 (en) | Information processing device, information processing method, and program for generating synthesized audio content from text when audio content is not reproducible | |
JP2007140951A (ja) | データ編集装置とそのプログラム | |
CN113660171B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40024303 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |