数据传输速率的自适应调整方法、装置及系统的制作方法

文档序号:7709009阅读:155来源:国知局
专利名称:数据传输速率的自适应调整方法、装置及系统的制作方法
技术领域
本发明涉及信道时变网络的通信领域,尤其涉及一种数据传输速率的自适应调整 方法、装置及系统。
背景技术
目前,很多网络应用,比如流媒体,要求低时延的用户体验;这些网络应用中端到 端的数据传输是由UDP协议(User Datagram Protocol,用户报文协议)实现的,而UDP协 议本身不提供速率调节的机制,这种情况下存在如下问题第一、在数据通过UDP协议进行端到端的传输过程中,当网络带宽减小,或者信道 质量恶化时,减小后的带宽已经不能传输以当前速率发送的数据,造成网络缓存的上溢,使 发送的数据丢失。第二、当客户端缓存中的数据将满,要造成数据上溢而使数据丢失时,由于UDP本 身不提供速率调节的机制,无法将发送数据的速率调低,从而无法避免客户端缓存的上溢, 使发送的数据丢失;以及当客户端缓存中的数据即将被取完,要造成客户端无数据可用时, 由于UDP本身不提供速率调节的机制,无法将发送数据的速率调高,从而无法避免客户端 缓存的下溢。为解决上述问题,现有技术中采用如下方案客户端统计客户端缓存中的数据占 有率,并将所述缓存中的数据占有率发送给服务器;所述服务器根据所述缓存中的数据占 有率以及丢包率调整发送数据速率的逐步增长或者递减系数。上述防止客户端缓存溢出的技术方案,虽然解决了客户端缓存的溢出问题,但是 上述技术方案没有统计服务器和数据客户端之间的网络缓存的占有情况,无法防止网络缓 存的上溢问题。

发明内容
本发明的实施例提供一种数据传输速率的自适应调整方法、装置及系统,防止了 网络缓存的上溢问题。为达到上述目的,本发明的实施例采用如下技术方案一种数据传输速率的自适应调整方法,包括接收客户端发送的参数;根据网络缓存的最大值和所述接收到的参数计算数据发送速率预测值;判断所述数据发送速率预测值是否小于业务的原始码率;若所述数据发送速率预测值小于业务的原始码率,则丢弃发送缓存中至少一个数 据单位的数据。一种服务器,包括接收单元,用于接收客户端发送的参数;计算单元,用于根据网络缓存的最大值和所述接收单元接收到的参数,计算数据发送速率预测值;判断单元,用于判断所述计算单元计算得到的数据发送速率预测值是否小于业务 的原始码率;丢弃单元,用于若所述判断单元判定所述数据发送速率预测值小于业务的原始码 率,则丢弃发送缓存中至少一个数据单位的数据。一种数据传输速率的自适应调整系统,包括服务器和客户端;所述服务器接收客户端发送的参数,并根据网络缓存的最大值和所述接收到的参 数计算数据发送速率预测值,并判断所述数据发送速率预测值是否小于业务的原始码率, 若所述数据发送速率预测值小于业务的原始码率,则丢弃发送缓存中至少一个数据单位的 数据;所述客户端检测并分析客户端缓存的当前值分别与客户端缓存的期望值和触发 快速缓存条件值之间的关系,若所述客户端缓存的当前值大于或等于所述触发快速缓存条 件值,并且所述客户端缓存的当前值小于客户端缓存的期望值,则将参数发送给服务器。采用本发明技术方案时,服务器根据网络缓存的最大值和接收到的参数,计算数 据发送速率预测值,并根据数据发送速率预测值与业务的原始码率之间的关系判断网络缓 存是否可能存在上溢,当网络缓存可能存在上溢时,服务器通过丢弃所述发送缓存中的至 少一个数据单元的数据,防止网络缓存的上溢。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。图1为本发明实施例1数据传输速率的自适应调整方法的流程图;图2为本发明实施例1数据传输速率的自适应调整方法的流程图;图3为本发明实施例1服务器的组成框图;图4为本发明实施例1客户端的组成框图;图5为本发明实施例1和2数据传输速率的自适应调整系统的组成框图;图6为本发明实施例2数据传输速率的自适应调整方法的流程图;图7为本发明实施例2数据传输速率的自适应调整方法的流程图;图8为本发明实施例2服务器的组成框图;图9为本发明实施例2客户端的组成框图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。实施例1
6
本发明实施例提供一种数据传输速率的自适应调整方法,如图1所示,该方法包 括101、服务器接收客户端发送的参数;其中所述参数包括客户端当前接收到的数 据传输速率、客户端当前接收到的RTP (Real-time Transfer Protocol,实时传输协议)包 的最大序列号以及丢包率;或者客户端缓存的期望值、客户端缓存的当前值、丢包率、客户 端当前接收到的RTP包的最大序列号。102、在接收到所述客户端发送的参数后,根据网络缓存的最大值和所述接收到的 参数计算数据发送速率预测值;其中,根据网络缓存的最大值和所述接收到的参数,计算数据发送速率预测值,根 据接收到客户端发送的参数的不同,有不同的计算方法;例如,当所述接收的参数包括客户 端当前接收到的数据传输速率、客户端当前接收到的RTP包的最大序列号以及丢包率时, 根据网络缓存的最大值和所述接收到的参数计算数据发送速率预测值具体为根据接收到的客户端当前接收到的RTP包的最大序列号以及丢包率计算网络缓 存的当前值;根据网络缓存的最大值、所述接收到的客户端当前接收到的数据传输速率以 及计算出的所述网络缓存的当前值,计算数据发送速率预测值。103、在计算得到所述数据发送速率预测值后,判断数据发送速率预测值是否小于 业务的原始码率,所述业务的原始码率具体为,服务器调制数据的编码率或者服务器接收 数据的速率;若所述数据发送速率预测值小于业务的原始码率,则执行步骤104。若所述数 据发送速率预测值不小于业务的原始码率,则执行步骤105。网络缓存的读出速度(即数据 发送速率预测值)和写入速度(即业务的原始码率)的关系,决定了判断网络缓存是否存 可能上溢当读出速度小于写入速度,则网络缓存中的数据不断增加,最终会导致网络缓存 上溢;反之,若读出速度大于或等于写入速度,则网络缓存中的数据不会不断增加,因此不 会导致网络缓存上溢。104、丢弃发送缓存中至少一个数据单位的数据;所述数据单位根据发送的业务不 同而不同,例如所述业务为媒体流时,所述数据单位为帧。105、将数据的发送速率调整为与所述数据发送速率预测值相同的速率。本发明实施例提供一种数据传输速率的自适应调整方法,如图2所示,该方法包 括201、客户端检测并分析客户端缓存的当前值分别与客户端缓存的期望值和触发 快速缓存条件值之间的关系;若客户端检测分析得到客户端缓存的当前值分别与客户端缓 存的期望值和触发快速缓存条件值之间的关系为所述客户端缓存的当前值大于或等于所 述触发快速缓存条件值,并且所述客户端缓存的当前值小于客户端缓存的期望值,则执行 步骤202。其中,当所述客户端缓存的当前值小于所述触发快速缓存条件值时,或者大于客 户端缓存的最大值时,所述客户端缓存溢出;当所述客户端缓存的当前值大于所述客户端 缓存的期望值,但是小于或等于所述客户端缓存的最大值时,客户端缓存可能溢出。202、将参数发送给服务器,以便所述服务器根据所述参数判断网络缓存是否可能 上溢。本发明实施例提供一种服务器,如图3所示,包括接收单元31、计算单元32、判断
7单元33和丢弃单元34。接收单元31,用于接收客户端发送的参数;所述参数包括客户端当前接收到的 数据传输速率、客户端当前接收到的RTP包的最大序列号以及丢包率;或者客户端缓存的 期望值、客户端缓存的当前值、丢包率、客户端当前接收到的RTP包的最大序列号。当所述接收单元31接收到客户端发送的参数后,所述计算单元32根据网络缓存 的最大值和所述接收单元31接收到的参数,计算数据发送速率预测值;在所述计算单元32 计算得到所述数据发送预测值后,所述判断单元33判断所述数据发送速率预测值是否小 于业务的原始码率;若所述判断单元33判定所述数据发送速率预测值小于业务的原始码 率,则通过丢弃单元34丢弃发送缓存中至少一个数据单位的数据,其中所述数据单位根据 发送的业务不同而不同,例如所述业务为媒体流业务时,所述数据单位为帧。本发明实施例提供一种客户端,如图4所示,该客户端包括检测分析单元41和发 送单元42。检测分析单元41,用于检测并分析客户端缓存的当前值分别与客户端缓存的期望 值和触发快速缓存条件值之间的关系;若所述检测分析单元41检测分析得到所述客户端 缓存的当前值大于或等于所述触发快速缓存条件值,并且所述客户端缓存的当前值小于客 户端缓存的期望值时,通过所述发送单元42将参数发送给服务器,以便所述服务器根据所 述参数判断网络缓存是否可能上溢。本发明实施例提供一种数据传输速率的自适应调整系统,如图5所示,该系统包 括服务器51和客户端52。其中,服务器51和客户端52的具体实现可以参考前述内容, 这里不再赘述。所述服务器51接收客户端52发送的参数,并根据网络缓存的最大值和所述接收 到的参数计算数据发送速率预测值,并判断所述数据发送速率预测值是否小于业务的原始 码率,若所述数据发送速率预测值小于业务的原始码率,则丢弃发送缓存中至少一个数据 单位的数据。所述客户端52检测并分析客户端缓存的当前值分别与客户端缓存的期望值和触 发快速缓存条件值之间的关系,若所述客户端缓存的当前值大于或等于所述触发快速缓存 条件值,并且所述客户端缓存的当前值小于客户端缓存的期望值,则将参数发送给服务器。本发明实施例中,根据客户端缓存的参数判断客户端的缓存是否溢出和可能溢 出,当客户端的缓存不存在溢出和可能溢出时,将用于服务器调整数据发送速率的参数发 送给所述服务器;所述服务器根据网络缓存的最大值和所述接收到的参数,计算数据发送 速率预测值,并判断网络缓存是否存可能上溢,当网络缓存可能存在上溢时,服务器通过丢 弃所述发送缓存中的至少一个数据单元的数据,防止网络缓存的上溢。同时,由于当网络缓 存上溢时,使客户端接收到的数据不准确,从而无法实现通过调整数据的发送速率,来解决 客户端的缓存溢出问题,而通过本发明的实施例,能够防止网络缓存的上溢,从而使客户端 收到的数据准确,可以实现通过调整数据的发送速率来解决客户端的缓存溢出问题。实施例2本发明实施例提供一种数据传输速率的自适应调整方法,如图6所示,该方法包 括601、服务器接收客户端发送的参数或者控制信息;若服务器接收到的客户端发送的参数,则执行步骤602 ;若服务器接收到客户端发送的控制信息,则执行步骤608。其中所述参数包括客户端当前接收到的数据传输速率、客户端当前接收到的 RTP包的最大序列号以及丢包率;或者客户端缓存的期望值、客户端缓存的当前值、丢包 率、客户端当前接收到的RTP包的最大序列号。本发明实施例以接收到的参数包括客户端缓存的期望值、客户端缓存的当前值、 丢包率、客户端当前接收到的RTP包的最大序列号为例,具体说明;并且所述客户端缓存的 当前值包括客户端缓存的当前数据量或者客户端网络缓存的当前数据量所能播放的时 间;客户端缓存的期望值包括客户端缓存的期望数据量或者客户端网络缓存的期望数据 量所能播放的时间。在使用上述参数时,若使用数据量的参数,则都使用数据量的参数;若使用数据量 所能播放的时间参数,则都使用数据量所能播放的时间参数。本发明实施例以数据量的参 数为例具体说明。602、服务器根据接收到的客户端当前接收到的RTP包的最大序列号以及丢包率 计算网络缓存的当前数据量;其中,服务器可以根据如下公式计算网络缓存的当前数据量,Bn = MTU*(SNs-SN。)*(l+plr),其中,Bn*网络缓存的当前值,本实施例中为网络缓存的当前数据 量,MTU是RTP包的最大包长,SNs是服务器最新发出的RTP包的序列号,SNc是客户端当前 接收到的RTP包的最大序列号,plr为丢包率。603、根据网络缓存的最大数据量、所述接收到的客户端缓存的期望数据量和当前 值以及计算得到的所述网络缓存的当前数据量,计算数据发送速率的调整系数。其中,可以根据如下公式计算数据发送速率的调整系数,
B -cB1 Bek= e ",其中,k为数据发送速率的调整系数Z =为一个系数,Be
^oV max 、D η
为客户端缓存的当前数据量,B0为客户端缓存的期望数据量,Bn为网络缓存的当前数据量, Bnmax为网络缓存的最大数据量。604、根据所述计算得到的数据发送速率的调整系数计算数据发送速率预测值,具 体为将数据上一周期的发送速率与所述数据发送速率的调整系数的相乘,得到数据发送 速率预测值。605、判断所述数据发送速率预测值是否小于业务的原始码率,所述业务的原始码 率具体为,服务器调制数据的编码率或者服务器接收数据的速率;若所述数据发送速率预 测值小于业务的原始码率,则执行步骤606 ;若所述数据发送速率预测值不小于业务的原 始码率,则执行步骤607。606、丢弃发送缓存中的至少一个数据单位的数据,结束数据的发送速率的调整。其中,所述丢弃发送缓存中至少一个数据单位的数据具体为按照对用户体验影 响的重要性将发送缓存中的数据排序;按照对用户体验影响的重要性从弱到强的顺序,从 所述排好序的数据中依次选取至少一个数据单位的数据丢弃。其中,所述数据单位根据发送的业务不同而不同,例如所述业务为媒体流业务时, 所述数据单位为帧。607、将数据的发送速率调整为与所述数据发送速率预测值相同的速率,结束数据发送速率的调整。608、当服务器接收到客户端发送的控制信息后,根据所述控制信息调整数据的发 送速率,结束数据发送速率的调整。其中,当所述控制信息为降低数据发送速率的控制信息时,将数据的发送速率调 整为小于当前速率的任一速率;当所述控制信息为暂停发送数据的控制信息时,判断所述发送的数据是否为实时 业务,若所述发送的数据为非实时业务,则暂停发送数据;若发送的数据为实时业务时,则 丢弃所述发送缓存中至少一个数据单位的数据;当所述控制信息为按照业务的原始码率发送数据的控制信息时,将数据的发送速 率调整为与所述业务的原始码率相同的速率。其中,当服务器接收到的参数包括客户端当前接收到的数据传输速率、客户端当 前接收到的RTP包的最大序列号以及丢包率时,根据网络缓存的最大值和所述接收到的参 数,计算数据发送速率预测值具体为根据接收到的客户端当前接收到的RTP包的最大序列号以及丢包率计算网络缓 存的当前值;其中所述网络缓存的当前值的计算的具体公式,如步骤602中的相同。根据网络缓存的最大值、所述接收到的客户端当前接收到的数据传输速率以及计 算出的所述网络缓存的当前值,计算数据发送速率预测值具体为根据如下公式调整数据 的发送速率,其中,Vc为客户端当前接收到的数据传输速率,Vi^1为上一周期的数据发送速率, Vi为当前的数据发送速率,Bnmax为网络缓存的最大值,Bn为网络缓存的当前值,speed为数 据发送速率预测值。本发明实施例提供一种数据传输速率的自适应调整方法,如图7所示,该方法包 括 701、客户端检测并分析客户端缓存的当前值分别与客户端缓存的期望值和触发 快速缓存条件值之间的关系,若所述客户端缓存的当前值大于或等于所述触发快速缓存条 件值,并且所述客户端缓存的当前值小于所述客户端缓存的期望值,则执行步骤702 ;若所 述客户端缓存的当前值小于所述触发快速缓存条件值,则执行步骤705 ;若所述客户端缓 存的当前值大于所述客户端缓存的期望值,则执行步骤706。其中,客户端缓存的当前值包括客户端缓存的当前数据量或者客户端网络缓存 的当前数据量所能播放的时间;客户端缓存的期望值包括客户端缓存的期望数据量或者 客户端网络缓存的期望数据量所能播放的时间;触发快速缓存条件值包括客户端缓存下 溢数据量或者客户端缓存下溢数据量的播放时间。在使用上述参数时,若使用数据量的参数,则都使用数据量的参数;若使用数据量 所能播放的时间参数,则都使用数据量所能播放的时间参数。702、判断所述客户端缓存的最大值是否超过预设的门限值,所述预设的门限为一经验值,例如数据量,用以判断客户端缓存的大小。当所述客户端缓存的最大值超过所述预 设的门限值时,执行步骤703 ;当所述客户端缓存的最大值没有超过所述预设的门限值时, 执行步骤704。703、将客户端当前接收到的数据传输速率、客户端当前接收到的RTP包的最大序 列号以及丢包率发送给服务器,以便所述服务器根据上述参数判断网络缓存是否可能上溢。704、将客户端缓存的期望值、客户端缓存的当前值、丢包率、客户端当前接收到的 RTP包的最大序列号发送给服务器,以便所述服务器根据上述参数判断网络缓存是否可能 上溢。705、客户端将按照业务的原始码率发送数据的控制信息发送给服务器,以便所述 服务器根据所述控制信息调整数据的发送速率,防止客户端缓存的下溢。706、客户端检测所述客户端缓存的当前值与客户端缓存的最大值之间的关系,若 所述客户端缓存的当前值小于或等于所述客户端缓存的最大值,则执行步骤707 ;若所述 客户端缓存的当前值大于所述客户端缓存的最大值,则执行步骤708。707、客户端将降低数据发送速率的控制信息发送给服务器,以便所述服务器根据 所述控制信息调整数据的发送速率,防止客户端缓存的上溢。708、客户端将暂停发送数据的控制信息发送给服务器,以便所述服务器根据所述 控制信息调整数据的发送速率,降低因客户端缓存的上溢而造成的丢包。本发明实施例提供一种服务器,如图8所示,包括接收单元81、计算单元82、判断 单元83、丢弃单元84和速率调整单元85。所述服务器通过接收单元81接收客户端发送的参数或者控制信息;当所述服务 器接收到客户端发送的参数时,所述计算单元82根据网络缓存的最大值和所述接收单元 81接收到的参数,计算数据发送速率预测值;在所述计算单元82计算得到所述数据发送速 率预测值后,所述判断单元83判断数据发送速率预测值是否小于业务的原始码率,若所述 判断单元83判定数据发送速率预测值小于业务的原始码率,则通过丢弃单元84丢弃发送 缓存中至少一个数据单位的数据;若所述判断单元83判定数据发送速率预测值不小于业 务的原始码率,则通过速率调整单元85将数据的发送速率调整为与所述数据发送速率预 测值相同的速率。当所述接收单元81接收到客户端发送的控制信息时,所述速率调整单元85,还用 于根据所述接收单元81接收到的控制信息调整数据的发送速率。其中,当所述接收单元81接收到的控制信息为降低数据发送速率的控制信息时, 所述速率调整单元85将数据的发送速率调整为小于当前速率的任一速率;当所述接收单 元81接收到的控制信息为暂停发送数据的控制信息时,所述速率调整单元85判断所述发 送的数据是否为实时业务,若所述速率调整单元85判定所述发送的数据为非实时业务,则 所述速率调整单元85暂停发送数据;若所述速率调整单元85判定所述发送的数据为实时 业务时,则所述丢弃单元84还用于丢弃所述发送缓存中至少一个数据单位的数据。其中,所述计算单元82可以包括第一计算模块821和第一速率计算模块822。当所述接收单元81接收到的参数包括客户端缓存的期望值、客户端缓存的当前 值、客户端当前接收到的RTP包的最大序列号以及丢包率时,所述第一计算模块821根据接收到的客户端当前接收到的RTP包的最大序列号以及丢包率计算网络缓存的当前值;当所 述第一计算模块821计算得到所述网络缓存的当前值后,所述第一速率计算模块822用于 根据网络缓存的最大值、所述接收到的客户端缓存的期望值和当前值以及所述第一计算模 块821计算得到的所述网络缓存的当前值,计算数据发送速率的调整系数;当所述第一速 率计算模块822将数据发送速率的调整系数计算出来后,所述第一速率计算模块822还用 于将数据上一周期的发送速率与所述数据发送速率的调整系数的相乘,得到数据发送速率 预测值。其中所述计算单元82,根据网络缓存的最大值和所述接收单元81接收到的参数, 计算数据发送速率预测值还可以采用以下方式,具体如图8虚线部分所示,所述计算单元 82包括第二计算模块823和第二速率计算模块824。当所述接收单元81接收到的参数包括客户端当前接收到的数据传输速率、客户 端当前接收到的RTP包的最大序列号以及丢包率时,所述第二计算模块823根据接收到的 客户端当前接收到的RTP包的最大序列号以及丢包率计算网络缓存的当前值;当所述第二 计算模块823计算得到所述网络缓存的当前值后,所述第二速率计算模块824用于,根据网 络缓存的最大值、所述接收到的客户端当前接收到的数据传输速率以及计算出的所述网络 缓存的当前值,计算数据发送速率预测值。其中,丢弃单元84包括排序模块841和丢弃模块842。当所述丢弃单元84将发送缓存中的至少一个数据单位的数据丢弃时,首先通过 所述排序模块841,按照对用户体验影响的重要性将发送缓存中的数据排序;使所述数据 按照对用户体验影响的重要性的升序或者降序排序;在所述排序模块841将所述数据排好 序后,所述丢弃单元84通过所述丢弃模块842,按照对用户体验影响的重要性从弱到强的 顺序,从排好序的数据中依次选取至少一个数据单位的数据丢弃。本发明实施例提供一种客户端,如图9所示,该客户端包括检测分析单元91、第 一判断单元92和发送单元93。客户端通过所述检测分析单元91检测并分析客户端缓存的当前值分别与客户端 缓存的期望值和触发快速缓存条件值之间的关系;当所述检测分析单元91检测分析得到 所述客户端缓存的当前值大于或等于所述触发快速缓存条件值,并且所述客户端缓存的当 前值小于客户端缓存的期望值时,所述客户端通过所述第一判断单元92判断所述客户端 缓存的最大值是否超过预设的门限值,所述预设的门限值为一经验值,用于判断客户端缓 存的大小。若所述第一判断单元92判定所述客户端缓存的最大值超过预设的门限值,则所 述发送单元93将客户端当前接收到的数据传输速率、客户端当前接收到的RTP包的最大序 列号以及丢包率发送给服务器;若所述第一判断单元92判定所述客户端缓存的最大值没 有超过预设的门限值,则所述发送单元93将客户端缓存的期望值、客户端缓存的当前值、 丢包率、客户端当前接收到的RTP包的最大序列号发送给服务器。若所述检测分析单元91检测分析得到所述客户端缓存的当前值小于所述触发快 速缓存条件值,则所述客户端通过所述发送单元93将按照业务的原始码率发送数据的控 制信息发送给服务器。若所述检测分析单元91检测分析得到所述客户端缓存的当前值大于所述客户端缓存的期望值,则所述客户端通过所述检测分析单元91检测分析所述客户端缓存的当前 值与客户端缓存的最大值之间的关系;若所述检测分析单元91得到所述客户端缓存的当 前值大于所述客户端缓存的期望值,并且所述客户端缓存的当前值小于或等于客户端缓存 的最大值,则所述客户端通过所述发送单元93将降低数据发送速率的控制信息发送给服 务器;若所述检测分析单元91检测分析得到所述客户端缓存的当前值大于客户端缓存的 最大值,则所述客户端通过所述发送单元93将暂停发送数据的控制信息发送给服务器。本发明实施例提供一种数据传输速率的自适应调整系统,如图5所示,该系统包 括服务器51和客户端52。其中,服务器51和客户端52的具体实现可以参考前述内容, 这里不再赘述。所述服务器51接收客户端52发送的参数或者控制信息,若所述服务器51接收到 客户端发送的参数时,所述服务器51根据网络缓存的最大值和所述接收到的参数计算数 据发送速率预测值,并判断数据发送速率预测值是否小于业务的原始码率,若所述数据发 送速率预测值小于业务的原始码率,则丢弃发送缓存中至少一个数据单位的数据;若所述 服务器51接收到客户端发送的控制信息时,所述服务器51根据所述接收到的控制信息调 整数据的发送速率。所述客户端52检测并分析客户端缓存的当前值分别与客户端缓存的期望值和触 发快速缓存条件值之间的关系,若所述客户端52检测分析得到所述客户端缓存的当前值 大于或等于所述触发快速缓存条件值,并且所述客户端缓存的当前值小于客户端缓存的期 望值,则将参数发送给服务器;若所述客户端52检测检测分析得到所述客户端缓存的当前 值小于所述触发快速缓存条件值,则将按照业务的原始码率发送数据的控制信息发送给服 务器;若所述客户端52检测分析得到所述客户端缓存的当前值大于所述客户端缓存的期 望值,并且所述客户端缓存的当前值小于或等于客户端缓存的最大值,则将降低数据发送 速率的控制信息发送给服务器;若所述客户端52检测分析得到所述客户端缓存的当前值 大于客户端缓存的最大值,则将暂停发送数据的控制信息发送给服务器。本发明实施例中,根据客户端缓存的参数判定客户端的缓存不存在溢出和可能溢 出时,将用于服务器调整数据发送速率的参数发送给所述服务器;当所述服务器根据网络 缓存的最大值和所述参数计算数据发送速率预测值,并判定网络缓存可能存在溢出时,所 述服务器通过丢弃所述发送缓存中的至少一个数据单元的数据,防止网络缓存的上溢。并且当客户端根据客户端缓存的参数判断客户端的缓存可能上溢时,客户端通知 所述服务器将数据的发送速率降低,来防止客户端缓存的上溢,保证传输的数据不丢失;当 客户端根据客户端缓存的参数判断客户端的缓存已经上溢时,所述客户端通知服务器暂停 发送数据,以避免客户端缓存更多的数据上溢丢失;当客户端根据客户端缓存的参数判断 客户端的缓存已经下溢时,通知服务器加快数据的发送,以补充客户端缓存中的数据量,避 免所述客户端缓存的下溢。服务器根据所述客户端发送的参数判定网络缓存可能出现上溢时,丢弃发送缓存 中至少一个数据单位的数据,从而避免了网络缓存因上溢而丢包,使传输给客户端的数据 不准确,同时避免了客户端缓存因速率的变换而使客户端网络缓存溢出;进一步的,在丢弃 发送缓存中的至少一个数据单位的数据时,选择对用户体验影响重要性较差的数据丢失, 避免了随机丢弃对用户体验影响重要性较大的数据,提升了用户的低时延体验。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借 助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳 的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部 分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计 算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器,或者网络设备等)执行本发明各个实施例所述的方法。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
权利要求
一种数据传输速率的自适应调整方法,其特征在于,包括接收客户端发送的参数;根据网络缓存的最大值和所述接收到的参数计算数据发送速率预测值;判断所述数据发送速率预测值是否小于业务的原始码率;若所述数据发送速率预测值小于业务的原始码率,则丢弃发送缓存中至少一个数据单位的数据。
2.根据权利要求1所述的数据传输速率的自适应调整方法,其特征在于,当所述接收 到的参数包括客户端缓存的期望值、客户端缓存的当前值、客户端当前接收到的RTP包的 最大序列号以及丢包率时,根据网络缓存的最大值和所述接收到的参数计算数据发送速率 预测值为根据接收到的客户端当前接收到的RTP包的最大序列号以及丢包率计算网络缓存的 当前值;根据网络缓存的最大值、所述接收到的客户端缓存的期望值和当前值以及计算得到的 所述网络缓存的当前值,计算数据发送速率的调整系数;将数据上一周期的发送速率与所述数据发送速率的调整系数的相乘,得到数据发送速 率预测值。
3.根据权利要求1所述的数据传输速率的自适应调整方法,其特征在于,当所述接收 的参数包括客户端当前接收到的数据传输速率、客户端当前接收到的RTP包的最大序列号 以及丢包率时,根据网络缓存的最大值和所述接收到的参数计算数据发送速率预测值为根据接收到的客户端当前接收到的RTP包的最大序列号以及丢包率计算网络缓存的 当前值;根据网络缓存的最大值、所述接收到的客户端当前接收到的数据传输速率以及计算出 的所述网络缓存的当前值,计算数据发送速率预测值。
4.根据权利要求1所述的数据传输速率的自适应调整方法,其特征在于,若数据发送 速率预测值不小于业务的原始码率,则将数据的发送速率调整为与所述数据发送速率预测 值相同的速率。
5.根据权利要求1所述的数据传输速率的自适应调整方法,其特征在于,该方法还包括接收客户端发送的控制信息;当所述控制信息为降低数据发送速率的控制信息时,将数据的发送速率调整为小于当 前速率的任一速率;当所述控制信息为暂停发送数据的控制信息时,判断所述发送的数据是否为实时业 务,若所述发送的数据为非实时业务,则暂停发送数据;若发送的数据为实时业务时,则丢 弃所述发送缓存中至少一个数据单位的数据;当所述控制信息为按照业务的原始码率发送数据的控制信息时,将数据的发送速率调 整为与所述业务的原始码率相同的速率。
6.根据权利要求1至5任一项所述的数据传输速率的自适应调整方法,其特征在于,丢 弃所述发送缓存中至少一个数据单位的数据为按照对用户体验影响的重要性将发送缓存中的数据排序;按照对用户体验影响的重要性从弱到强的顺序,从排好序的数据中依次选取至少一个 数据单位的数据丢弃。
7.一种服务器,其特征在于,包括接收单元,用于接收客户端发送的参数;计算单元,用于根据网络缓存的最大值和所述接收单元接收到的参数,计算数据发送 速率预测值;判断单元,用于判断所述计算单元计算得到的数据发送速率预测值是否小于业务的原 始码率;丢弃单元,用于若所述判断单元判定所述数据发送速率预测值小于业务的原始码率, 则丢弃发送缓存中至少一个数据单位的数据。
8.根据权利要求7所述的服务器,其特征在于,所述计算单元包括第一计算模块,用于当所述接收单元接收到的参数为客户端缓存的期望值、客户端缓 存的当前值、客户端当前接收到的RTP包的最大序列号以及丢包率时,根据接收到的客户 端当前接收到的RTP包的最大序列号以及丢包率计算网络缓存的当前值;第一速率计算模块,用于根据网络缓存的最大值、所述接收到的客户端缓存的期望值 和当前值以及计算得到的所述网络缓存的当前值,计算数据发送速率的调整系数;以及将 数据上一周期的发送速率与所述数据发送速率的调整系数的相乘,得到数据发送速率预测 值。
9.根据权利要求7所述的服务器,其特征在于,所述计算单元包括第二计算模块,用于当所述接收单元接收的参数为客户端当前接收到的数据传输速 率、客户端当前接收到的RTP包的最大序列号以及丢包率时,根据接收到的客户端当前接 收到的RTP包的最大序列号以及丢包率计算网络缓存的当前值;第二速率计算模块,用于根据网络缓存的最大值、所述接收到的客户端当前接收到的 数据传输速率以及计算出的所述网络缓存的当前值,计算数据发送速率的预测值。
10.根据权利要求7所述的服务器,其特征在于,所述服务器还包括速率调整单元,用于若数据发送速率预测值不小于业务的原始码率,则将数据的发送 速率调整为与所述数据发送速率预测值相同的速率。
11.根据权利要求10所述的服务器,其特征在于,所述接收单元还用于,接收客户端发送的控制信息;所述速率调整单元还用于,当所述接收单元接收到的控制信息为降低数据发送速率的 控制信息时,将数据的发送速率调整为小于当前速率的任一速率;所述速率调整单元还用于,当所述接收单元接收到的控制信息为暂停发送数据的控制 信息时,判断所述发送的数据是否为实时业务,若所述发送的数据为非实时业务,则暂停发 送数据;所述丢弃单元还用于,若发送的数据为实时业务时,则丢弃所述发送缓存中至少一个 数据单位的数据;所述速率调整单元还用于,当所述接收单元接收到的控制信息为按照业务的原始码率 发送数据的控制信息时,将数据的发送速率调整为与所述业务的原始码率相同的速率。
12.根据权利要求11所述的服务器,其特征在于,所述丢弃单元包括排序模块,用于按照对用户体验影响的重要性将发送缓存中的数据排序; 丢弃模块,用于按照对用户体验影响的重要性从弱到强的顺序,从排好序的数据中依 次选取至少一个数据单位的数据丢弃。
13. 一种数据传输速率的自适应调整系统,其特征在于,包括客户端和权利要求7至12 任一项所述的服务器;所述客户端用于检测并分析客户端缓存的当前值分别与客户端缓存的期望值和触发 快速缓存条件值之间的关系,若所述客户端缓存的当前值大于或等于所述触发快速缓存条 件值,并且所述客户端缓存的当前值小于客户端缓存的期望值,则将参数发送给服务器。
全文摘要
本发明实施例公开了一种数据传输速率的自适应调整方法、装置及系统,解决了网络缓存的上溢问题。该方法包括接收客户端发送的参数;根据网络缓存的最大值和所述接收到的参数计算数据发送速率预测值;判断所述数据发送速率预测值是否小于业务的原始码率;若所述数据发送速率预测值小于业务的原始码率,则丢弃发送缓存中至少一个数据单位的数据。本发明实施例主要应用于数据传输速率的调整过程中,特别是时变网络中数据传输速率的调整过程中。
文档编号H04L1/00GK101924603SQ20091014790
公开日2010年12月22日 申请日期2009年6月9日 优先权日2009年6月9日
发明者刘欣, 许阳坡, 邸佩云, 邹子轩 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1