发明内容
本发明实施例所要解决的技术问题在于,提供一种数据发送方法及数据发送装置,通过探测当前的网络环境,检测网络延时的变化,来提前判断网络的是否拥塞,实现了提前对发送速率进行调整,从而获得最佳的播放效果。
第一方面,本发明实施例提供了一种数据发送方法,包括:
通过统计预设时间段的网络延时,分析当前网络的延时变化;
根据所述当前网络的延时变化分析网络拥塞状态的趋势,并根据所述网络拥塞状态的趋势判断当前网络是否出现拥塞;
当判断为是时,降低当前发送数据的发送速率。
结合第一方面,在第一种可能的实现方式中,所述根据所述当前网络的延时变化分析网络拥塞状态的趋势,并根据所述网络拥塞状态的趋势判断当前网络是否出现拥塞包括:
判断公式y(n)>y(m)+a是否成立;其中,y(n)是第n个时刻的网络延时变化,y(m)是第m时刻的网络延时变化,所述第n个时刻为当前时刻,n>m,a是预设的拥塞阈值;
当判断所述公式成立,则判断出当前网络出现拥塞;当判断所述公式不成立,则判断出当前网络没有出现拥塞。
结合第一方面,在第二种可能的实现方式中,所述通过统计预设时间段的网络延时,分析当前网络的延时变化包括:
通过以下公式计算得出当前网络的延时变化:
y(n)=x(n)–x(n-1)+coef*y(n-1)
其中,y(n)是第n个时刻的网络延时变化,x(n)是第n个时刻的网络延时,所述第n个时刻为当前时刻,coef为预设的权值因子,且0<coef<1。
结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述n与所述m的差值在25以内。
结合第一方面,或者第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,或者第一方面的第三种可能的实现方式,在第四种可能的实现方式中,
所述降低当前发送数据的发送速率包括:
比较当前发送速率的0.5倍速率与当前接收速率的大小,并选取所述当前发送速率的0.5倍速率与当前接收速率中较大的速率作为最新的发送速率。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,当根据所述网络拥塞状态的趋势判断当前网络出现拥塞后,还包括:
创建用于限制瞬时发送速率的发送窗口,所述发送窗口的大小为当前接收速率与当前网络时延的乘积。
第二方面,本发明实施例提供了一种数据发送装置,包括:
时延变化分析模块,用于通过统计预设时间段的网络延时,分析当前网络的延时变化;
分析判断模块,用于根据所述当前网络的延时变化分析网络拥塞状态的趋势,并根据所述网络拥塞状态的趋势判断当前网络是否出现拥塞;
发送速率降低模块,用于当所述分析判断模块判断为是时,降低当前发送数据的发送速率。
结合第二方面,在第一种可能的实现方式中,所述分析判断模块具体用于:
判断公式y(n)>y(m)+a是否成立;其中,y(n)是第n个时刻的网络延时变化,y(m)是第m时刻的网络延时变化,所述第n个时刻为当前时刻,n>m,a是预设的拥塞阈值;
当判断所述公式成立,则判断出当前网络出现拥塞;当判断所述公式不成立,则判断出当前网络没有出现拥塞。
结合第二方面,在第二种可能的实现方式中,所述时延变化分析模块具体用于:
通过以下公式计算得出当前网络的延时变化:
y(n)=x(n)–x(n-1)+coef*y(n-1)
其中,y(n)是第n个时刻的网络延时变化,x(n)是第n个时刻的网络延时,所述第n个时刻为当前时刻,coef为预设的权值因子,且0<coef<1。
结合第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述n与所述m的差值在25以内。
结合第二方面,或者第二方面的第一种可能的实现方式,或者第二方面的第二种可能的实现方式,或者第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述发送速率降低模块具体用于:
当所述分析判断模块判断为是时,比较当前发送速率的0.5倍速率与当前接收速率的大小,并选取所述当前发送速率的0.5倍速率与当前接收速率中较大的速率作为最新的发送速率。
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,还包括:
窗口创建模块,用于当所述分析判断模块判断为是时,创建用于限制瞬时发送速率的发送窗口,所述发送窗口的大小为当前接收速率与当前网络时延的乘积。
通过实施本发明实施例,通过分析当前网络的延时变化,根据当前网络的延时变化分析网络拥塞状态的趋势,在根据网络拥塞状态的趋势判断当前网络出现拥塞时,降低当前发送数据的发送速率,可以在网络出现拥塞之前,提前判断出网络发生拥塞,实现了提前对发送速率进行调整,解决了现有技术针对低带宽网络中拥塞网络恢复时间长,严重影响视频传输质量的技术问题,另外,通过创建用于限制瞬时发送速率的发送窗口,可以进一步控制探测过程中的网络恶化程度,大大减少了视频播放卡、顿的次数,保证视频播放的实时性和流畅性。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
参见图1,是本发明实施例提供的数据发送方法的流程示意图,该方法包括:
步骤S100:通过统计预设时间段的网络延时,分析当前网络的延时变化;
具体地,本发明实施例以传输视频数据为例,网络延时是指将一个视频包发送给对方开始,至接收到对方的回复包之间的延时。本发明实施例的网络的延时变化,是指某个时刻的网络延时,与之前时刻的网络延时的变化情况,也就是说,网络的延时变化可以被定义为一种滤波计算,本发明实施例数据发送端可以通过统计一段预设时间段内的网络延时的变化趋势来分析出当前网络的延时变化。
再详细地,以统计两个先后时刻的网络延时为例,可以通过以下公式计算得出当前网络的延时变化:
y(n)=x(n)–x(n-1)+coef*y(n-1)公式1
其中,y(n)是第n个时刻的网络延时变化,x(n)是第n个时刻的网络延时,所述第n个时刻为当前时刻,coef为预设的权值因子,且0<coef<1。可理解的是,第一个时刻的网络延时变化y(1)可以为0,那么第二个时刻的网络延时变化y(2)=x(2)–x(1)+coef*y(1),也就是说,y(2)=x(2)–x(1)即可。
需要说明的是,本发明实施例包括但不限于公式1来计算当前网络的延时变化,还可以通过其他公式,例如可以对公式1进行变化,本发明实施例不作限定。
步骤S102:根据所述当前网络的延时变化分析网络拥塞状态的趋势,并根据所述网络拥塞状态的趋势判断当前网络是否出现拥塞;
具体地,可以将当前网络的延时变化与之前时刻网络的延时变化进行比较分析,若最新计算出的当前网路的延时变化比之前统计的越来越大,那么判断出网络出现了拥塞;或者可以查看当前网络的延时变化是否达到预设阈值,若达到了,说明网络出现拥塞导致网络延时变化突然变大,即判断出网络出现了拥塞,等等。
再详细地,可以通过判断以下公式:
y(n)>y(m)+a公式2
是否成立,来判断当前网络是否出现拥塞。其中,y(n)是第n个时刻的网络延时变化,y(m)是第m时刻的网络延时变化,所述第n个时刻为当前时刻,n>m,a是预设的拥塞阈值;
可理解的是,本发明各个实施例中的n、m和a可以为非负整数,即包括0和自然数;。优选地,上述公式2中,n与m的差值在25以内,即n与m的差值可以为1,即m为n的上一个时刻;a可以为160、180、200或220等,本发明不作限定,可以为技术人员根据系统实际需要来设置该拥塞阈值。
当判断公式2成立时,即当前时刻的网络延时变化大于之前时刻m的网络延时变化的值,超过了拥塞阈值a时,则判断出当前网络出现拥塞,执行步骤S104;反之,当判断公式2不成立,则判断出当前网络没有出现拥塞。
步骤S104:当判断为是时,降低当前发送数据的发送速率。
具体地,可以直接降低当前发送速率0.5倍的速率,即将当前发送数据的发送速率降低为原来的0.5倍;或者还可以比较当前发送速率的0.5倍速率与当前接收速率的大小,并选取所述当前发送速率的0.5倍速率与当前接收速率中较大的速率作为最新的发送速率;或者还可以包括创建用于限制瞬时发送速率的发送窗口,所述发送窗口的大小为当前接收速率与当前网络时延的乘积,从而可以进一步控制探测过程中的网络恶化程度。
需要说明的是,步骤S104还可以包括:当数据发送端检测到未回复的视频包数等于当前发送窗口大小时,将不发送新的视频数据。当步骤S102中判断出当前网络没有出现拥塞时,可以保持当前的数据发送策略,不作调整。
还需要说明的是,本发明实施例在降低了当前发送数据的发送速率后,通过本发明实施例提供的网络拥塞判断方式,根据所述当前网络的延时变化分析网络拥塞状态的趋势,并当判断出网络不发生拥塞时,可以按照原来的数据发送策略,或者按需求自动上调发送数据的速率。
通过实施本发明实施例,通过分析当前网络的延时变化,根据当前网络的延时变化分析网络拥塞状态的趋势,在根据网络拥塞状态的趋势判断当前网络出现拥塞时,降低当前发送数据的发送速率,可以在网络出现拥塞之前,提前判断出网络发生拥塞,实现了提前对发送速率进行调整,解决了现有技术针对低带宽网络中拥塞网络恢复时间长,严重影响视频传输质量的技术问题,另外,通过创建用于限制瞬时发送速率的发送窗口,可以进一步控制探测过程中的网络恶化程度,大大减少了视频播放卡、顿的次数,保证视频播放的实时性和流畅性。
上述详细阐述了本发明实施例的方法,下面为了便于更好地实施本发明实施例的上述方案,相应地,下面还提供用于配合实施上述方案的相关装置。
如图2示出的本发明实施例提供的数据发送装置的结构示意图,数据发送装置20即方法项实施例对应的数据发送端,数据发送装置20可以包括时延变化分析模块200、分析判断模块202和发送速率降低模块204,其中
时延变化分析模块200用于通过统计预设时间段的网络延时,分析当前网络的延时变化;
分析判断模块202用于根据所述当前网络的延时变化分析网络拥塞状态的趋势,并根据所述网络拥塞状态的趋势判断当前网络是否出现拥塞;
发送速率降低模块204用于当分析判断模块202判断为是时,降低当前发送数据的发送速率。
具体地,本发明实施例中的分析判断模块202具体可以用于:
判断公式y(n)>y(m)+a是否成立;其中,y(n)是第n个时刻的网络延时变化,y(m)是第m时刻的网络延时变化,所述第n个时刻为当前时刻,n>m,a是预设的拥塞阈值;
当判断所述公式成立,则判断出当前网络出现拥塞;当判断所述公式不成立,则判断出当前网络没有出现拥塞。
再具体地,本发明实施例中的时延变化分析模块200具体可以用于:
通过以下公式计算得出当前网络的延时变化:
y(n)=x(n)–x(n-1)+coef*y(n-1)
其中,y(n)是第n个时刻的网络延时变化,x(n)是第n个时刻的网络延时,所述第n个时刻为当前时刻,coef为预设的权值因子,且0<coef<1。
本发明实施例中的发送速率降低模块204具体可以用于:
当分析判断模块202判断为是时,比较当前发送速率的0.5倍速率与当前接收速率的大小,并选取所述当前发送速率的0.5倍速率与当前接收速率中较大的速率作为最新的发送速率。
进一步地,如图3示出的本发明提供的数据发送装置的另一实施例的结构示意图,数据发送装置20包括时延变化分析模块200、分析判断模块202和发送速率降低模块204外,还可以包括窗口创建模块206,用于当分析判断模块202判断为是时,创建用于限制瞬时发送速率的发送窗口,所述发送窗口的大小为当前接收速率与当前网络时延的乘积。
本发明实施例的数据发送装置20例如可以是平板电脑、个人数码助理、智能移动终端或其它可以进行视频网络传输的用户设备。
可理解的是,本实施例的数据发送装置20的各功能模块的功能可根据上述方法实施例中的方法具体实现,此处不再赘述。
请参阅图4,图4是本发明提供的数据发送装置的另一实施例的结构示意图。其中,如图4所示,数据发送装置40可以包括:至少一个处理器401,例如CPU,至少一个网络接口404,用户接口403,存储器405,至少一个通信总线402以及显示屏406。其中,通信总线402用于实现这些组件之间的连接通信。其中,用户接口403可以包括触摸屏、键盘或鼠标等等。网络接口404可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器405可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器,存储器405包括本发明实施例中的flash。存储器405可选的还可以是至少一个位于远离前述处理器401的存储系统。如图4所示,作为一种计算机存储介质的存储器405中可以包括操作系统、网络通信模块、用户接口模块以及数据发送程序。
处理器401可以用于调用存储器405中存储的数据发送程序,并执行以下操作:
通过网络接口404统计预设时间段的网络延时,分析当前网络的延时变化;
根据所述当前网络的延时变化分析网络拥塞状态的趋势,并根据所述网络拥塞状态的趋势判断当前网络是否出现拥塞;
当判断为是时,降低网络接口404当前发送数据的发送速率。
具体地,处理器401根据所述当前网络的延时变化分析网络拥塞状态的趋势,并根据所述网络拥塞状态的趋势判断当前网络是否出现拥塞可以包括:
判断公式y(n)>y(m)+a是否成立;其中,y(n)是第n个时刻的网络延时变化,y(m)是第m时刻的网络延时变化,所述第n个时刻为当前时刻,n>m,a是预设的拥塞阈值;
当判断所述公式成立,则判断出当前网络出现拥塞;当判断所述公式不成立,则判断出当前网络没有出现拥塞。
具体地,处理器401通过网络接口404统计预设时间段的网络延时,分析当前网络的延时变化包括:
通过以下公式计算得出当前网络的延时变化:
y(n)=x(n)–x(n-1)+coef*y(n-1)
其中,y(n)是第n个时刻的网络延时变化,x(n)是第n个时刻的网络延时,所述第n个时刻为当前时刻,coef为预设的权值因子,且0<coef<1。
具体地,所述n与所述m的差值在25以内。
具体地,处理器401降低网络接口404当前发送数据的发送速率可以包括:
比较当前发送速率的0.5倍速率与当前接收速率的大小,并选取所述当前发送速率的0.5倍速率与当前接收速率中较大的速率作为网络接口404最新的发送速率。
具体地,处理器401根据所述网络拥塞状态的趋势判断当前网络出现拥塞后,还可以执行:
创建用于限制瞬时发送速率的发送窗口,所述发送窗口的大小为当前接收速率与当前网络时延的乘积。
需要说明的是,本发明实施例中的数据发送装置40各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
综上所述,通过实施本发明实施例,通过分析当前网络的延时变化,根据当前网络的延时变化分析网络拥塞状态的趋势,在根据网络拥塞状态的趋势判断当前网络出现拥塞时,降低当前发送数据的发送速率,可以在网络出现拥塞之前,提前判断出网络发生拥塞,实现了提前对发送速率进行调整,解决了现有技术针对低带宽网络中拥塞网络恢复时间长,严重影响视频传输质量的技术问题,另外,通过创建用于限制瞬时发送速率的发送窗口,可以进一步控制探测过程中的网络恶化程度,大大减少了视频播放卡、顿的次数,保证视频播放的实时性和流畅性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。