CN102148743B - 一种数据流量的控制方法、装置及移动终端 - Google Patents
一种数据流量的控制方法、装置及移动终端 Download PDFInfo
- Publication number
- CN102148743B CN102148743B CN2010101091334A CN201010109133A CN102148743B CN 102148743 B CN102148743 B CN 102148743B CN 2010101091334 A CN2010101091334 A CN 2010101091334A CN 201010109133 A CN201010109133 A CN 201010109133A CN 102148743 B CN102148743 B CN 102148743B
- Authority
- CN
- China
- Prior art keywords
- data
- application layer
- time
- layer module
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种数据流量的控制方法、装置及移动终端,所述方法包括:当接收到来自物理层模块的数据时,依据所述数据清除寄存器中收到确认的数据包,并减小缓存中数据的相应长度;判断所述减小后的相应长度是否小于最低门限,如果否,则继续判断当前时间是否到达预置的第一标准时间,当到达第一标准时间时,依据所述减小后的相应长度、当前已经输出的数据长度以及上一次输出的数据长度,获取到所述剩余数据输出的所需时间;比较所述所需时间与预置的第二标准时间的大小,并根据比较结果进行数据流量控制。本发明实施例可以提高数据包发送的成功率,以及发送效率。
Description
技术领域
本发明涉及数据处理领域,特别是涉及一种数据流量的控制方法、装置及移动终端。
背景技术
在通信网络中,移动终端一般包括应用层模块、传输控制协议/因特网互联协议(Transmission Control Protocol/Internet Protocol,TCP/IP)模块、高层协议模块和物理层模块。移动终端在进行上行数据发送时,数据源是由应用层模块产生的,然后通过TCP/IP模块的处理,以TCP/IP数据包的形式递交给高层协议模块,高层协议模块则会将这些TCP/IP数据包经过拆包、组包的操作之后,存储在自身的缓存中;当物理层模块检测到有可用的上行资源可以发送数据时,就通知高层协议模块,高层协议模块就从缓存中取出TCP/IP数据包递交至物理层,并由物理层通过无线接口发送至网络侧。
因为移动终端的数据源总是由应用层模块产生的,而应用层模块产生数据的速率并不完全和无线接口上可用的上行资源相同,即高层协议模块收到TCP/IP数据包的速率不一定同无线接口的上行速率相匹配。因此为了避免浪费网络分配给终端的无线资源,需要有采用流量控制的方式来保证高层协议模块中的缓存空间不至于过满,也不会处于空的状态。
在现有技术中有一种流量控制的方法,通过在高层协议模块中设置流量控制模块来实现,此时移动终端各个模块之间的连接示意图可以参考图1所示,其实现过程如下所示:在高层协议模块中设置流量控制模块,根据当前硬件资源和软件资源的状况确定流量控制模块的最高门限(UpThres)和最低门限(DnThres),当流量控制模块收到了来自TCP/IP模块的数据导致存储空间超过了UpThres的时候,就向应用层模块发送一条挂起(Suspend)的消息通知暂停发送数据,并将流量控制的状态改变为挂起状态(SUSpending),而当流量控制模块收到了来自物理层模块的确认信息,使得流量控制模块可以释放已经得到确认的数据,将存储空间可以释放到低于DnThres的时候,就向应用层模块发送一条恢复(Resume)的消息通知应用层模块可以继续发送数据块,同时流量控制的状态恢复为正常状态(NORmal)。
从上述过程中可以看出,当一个TCP/IP数据包到达高层协议模块缓存时,需要等到高层协议模块的缓存当中所有的数据块都发送完之后才能够发送出去,这个TCP/IP数据包等待的时间不仅仅取决于缓存当中正在等待发送的数据块的数量,也取决于当时无线接口的上行有效传输速率。因此现有技术移动终端在发送数据包的时候,可能在高层协议模块被保存过长的时间,这样就会导致数据包发送的成功率较低,同时发送效率也较低。
发明内容
本发明所要解决的技术问题是提供一种数据流量的控制方法,用以解决现有技术中数据包发送的成功率较低,以及发送效率也较低的技术问题。
本发明的另一个目的是将上述构思应用于具体的应用环境中,提供一种数据流量的控制装置,从而保证该方法的实现和应用。
为解决上述技术问题,本发明实施例提供了一种数据流量的控制方法,包括:
当接收到来自物理层模块的数据时,依据所述数据清除寄存器中收到确认的数据包,并减小缓存中数据的相应长度;
判断所述减小后的相应长度是否小于最低门限,如果否,则继续判断当前时间是否到达预置的第一标准时间,当到达第一标准时间时,依据所述减小后的相应长度、当前已经输出的数据长度以及上一次输出的数据长度,获取到所述剩余数据输出的所需时间;
比较所述所需时间与预置的第二标准时间的大小,并根据比较结果进行数据流量控制。
优选的,所述依据所述减小后的相应长度、当前已经输出的数据长度以及上一次输出的数据长度,获取到所述剩余数据输出的所需时间,包括:
获取所述当前已经输出的数据长度与上一次输出的数据长度之差;
将所述差与所述预置时间的商作为标准速度;
将所述减小后的相应长度与所述标准速度的商,并作为所需时间。
优选的,所述根据比较结果进行数据流量控制,具体包括:
当所述比较结果为所述所需时间大于预置的第二标准时间时,判断所述应用层模块的状态是否为挂起,如果否,则向应用层模块发送挂起消息,以使所述应用层模块停止发送数据;
当所述比较结果为所述时间小于等于预置的第二标准时间时,判断所述应用层模块的状态是否为挂起,如果是,则向应用层模块发送恢复消息,以使所述应用层模块恢复数据的发送。
优选的,还包括:
当所述减小后的相应长度小于最低门限时,判断所述应用层模块的状态是否为挂起,如果是,则向应用层模块发送恢复消息,以使所述应用层模块恢复数据的发送。
优选的,还包括:
将来自TCP/IP模块的数据保存在寄存器中,并增加缓存中数据的相应长度;
判断所述增加后的相应长度是否大于最高门限,如果否,则执行所述继续判断是否到达预置的第一标准时间的步骤。
本发明实施例还提供了一种数据流量的控制装置,包括:
预处理单元,用于当接收到来自物理层模块的数据时,依据所述数据清除寄存器中收到确认的数据包,并减小缓存中数据的相应长度;
第一判断单元,用于判断所述减小后的相应长度是否小于最低门限;
第二判断单元,用于当所述第一判断单元的结果为否时,继续判断当前时间是否到达预置的第一标准时间;
获取时间参数单元,用于当所述第一判断单元的结果为是时,依据所述减小后的相应长度、当前已经输出的数据长度以及上一次输出的数据长度,获取到所述剩余数据输出的所需时间;
流量控制单元,用于比较所述所需时间与预置的标准时间的大小,并根据比较结果进行数据流量控制。
优选的,所述获取时间参数单元具体包括:
获取差值子单元,用于获取所述当前已经输出的数据长度与上一次输出的数据长度之差;
获取速度子单元,用于将所述差与所述预置时间的商作为标准速度;
设置子单元,用于将所述减小后的相应长度与所述标准速度的商设置为所需时间。
优选的,所述流量控制单元具体包括:
比较子单元,用于比较所述所需时间与预置的第二标准时间的大小;
发送挂起消息子单元,用于当所述比较子单元的结果为所述所需时间大于预置的第二标准时间时,且所述应用层模块的状态不是挂起时,向应用层模块发送挂起消息,以使所述应用层模块停止发送数据;
发送恢复消息子单元,用于当所述比较子单元的结果为所述时间小于等于预置的第二标准时间时,且所述应用层模块的状态为挂起时,则向应用层模块发送恢复消息,以使所述应用层模块恢复数据的发送。
优选的,还包括:
第三判断模块,用于当所述减小后的相应长度小于最低门限时,判断所述应用层模块的状态是否为挂起;
发送恢复消息单元,用于当所述第三判断模块的结果为是时,向应用层模块发送恢复消息,以使所述应用层模块恢复数据的发送。
优选的,所述预处理单元,还用于将来自TCP/IP模块的数据保存在寄存器中,并增加缓存中数据的相应长度;则所述装置还包括:
第四判断单元,用于判断所述增加后的相应长度是否大于最高门限,如果否,则执行所述继续判断是否到达预置的第一标准时间的步骤。
本发明实施例还提供了一种移动终端,所述移动终端包括前述任一装置实施例。
与现有技术相比,本发明具有以下优点:
本发明的流量控制方式是根据缓存中数据排空的预估时间来进行数据流量控制,这样使得流量控制的结果相对准确;本实施例的方法既能够兼顾缓存占用的多少,又能够尽量少的减少需要发送数据的等待时间,采用本发明所提供的方法,使得在需要对端确认的发送数据方式的流量控制过程中有了更大的适应性,可以在多种情况下充分的利用系统资源,减少系统开销,同时也对终端性能有很大的提升。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是为移动终端中各个模块之间的连接示意图;
图2为本发明的一种数据流量的控制方法实施例1的流程图;
图3是本发明的一种数据流量的控制方法实施例2的流程图;
图4是本发明的一种数据流量的控制方法实施例3的流程图;
图5是本发明的一种数据流量的控制装置实施例1的结构示意图;
图6是本发明的一种数据流量的控制装置实施例2的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参考图2,示出了本发明的一种数据流量的控制方法实施例1的流程图,可以包括以下步骤:
步骤201:当接收到来自物理层模块的数据时,依据所述数据清除寄存器中收到确认的数据包,并减小缓存中数据的相应长度。
在本实施例中,步骤201的执行主体可以是流量控制装置。在具体实现过程中,首先判断当前高层协议模块接收到的数据是否来自物理层模块,如果是,则依据所述数据的内容清除寄存器中收到确认的数据包,并减小高层协议模块的缓存中数据的相应长度。其中,收到的物理层模块的数据可以表示出有多少数据已经成功从无线接口发送至网络侧,已经得到了网络侧的确认,因此当收到物理层模块的数据时,需要按照收到的数据多少来相应的减小高层协议模块的缓存中总数据的相应长度。
步骤202:判断所述减小后的相应长度是否小于UpThres,如果否,进入步骤203。
本实施例中的最高门限的设置方式可以和现有技术相同,即是根据当前硬件资源和软件资源的状况确定一个流量控制装置的UpThres和DnThres。当所述减小后的相应长度小于UpThres时,执行步骤203.
步骤203:继续判断当前时间是否到达预置的第一标准时间,如果是,则进入步骤204。
在本步骤中则需要判断当前时间是否到达了预置的第一标准时间,所述第一标准时间表示一个固定时间段,用于计算所述减小后的相应长度的数据离开缓存的所需时间,在具体实现中可以采用定时器来实现,将定时器的时长设置为所述第一标准时间即可。所述第一标准时间根据当前网络的硬件和软件资源可以有所不同,一般情况下以秒为单位。
步骤204:依据所述减小后的相应长度、当前已经输出的数据长度以及上一次输出的数据长度,获取到所述缓存中的剩余数据输出的所需时间。
所述减小后的相应长度即是在当前时间到达了第一标准时间时,缓存中数据块的总字节数,所述数据块的总字节数可以表明数据的总长度,在这里不能采用数据包的个数来计算,因为每个数据包的长度可能是不一样的,数据包的个数并不能表明数据包在缓存中占用的空间是多大。在实际实现时,则每当时长为所述第一标准时间的定时器超时,即是到达了预置的第一标准时间时,就记录一下当前已经从缓存中输出的数据长度以及上一次从缓存中输出的数据长度。
所述输出的数据长度指的是离开缓存的数据块的总字节数,因此所述当前已经输出的数据长度以及上一次输出的数据长度则表示,相邻两次分别离开缓存的数据块的总字节数;在开始没有数据传输的时候,缓存中的总字节数,当前已经输出的数据长度以及上一次输出的数据长度均为零;数据开始传输之后,缓存中的数据的总字节数等于离开缓存的数据块的总字节数和进入缓存的数据块的总字节数之差。当每一次缓存中的数据块个数开始发生变化时,均可以实时更新离开缓存的数据块的总字节数。
在本步骤中,可以根据上述参数获取到所述缓存中的剩余数据输出的所需时间。
步骤205:比较所述所需时间与预置的第二标准时间的大小,并根据比较结果进行数据流量控制。
当估算出缓存中的剩余数据离开缓存的所需时间时,将所述所需时间与预置的第二标准时间相比较,并根据所需时间是否大于第二标准时间来对缓存中的数据进行流量控制。
其中,所述第二标准时间具体取什么值,可以根据不同的应用程序对于时间的要求来确定,具体的原则是:保证第一次发送的数据和重传的数据在发送时间间隔上不至于过大,以尽量避免移动终端的应用程序收不到新数据而导致的通信失败。在实际应用中,因为TCP/IP模块发送的数据需要网络确认是否收到,如果没有收到需要重传数据,这里重传的数据就是指第一次发送没有得到网络确认的数据。因为重传的数据进入高层协议模块的缓存之后,至少要等到缓存队列中排在所述重传的数据前面的数据发送完成之后才能发送出去,因此缓存中的总数据量在缓存中通过无线接口发送至网络侧的时间不能太长,以保证重传的数据能够尽快发送至目的地。所述第二标准时间一般为小于网络服务器默认的一个时间数值,如果发送数据的时间间隔超过该时间数值时网络服务器就会认为当前数据的发送没有成功。例如,对于移动网络中发送彩信的过程来说,网络服务器一端15秒收不到数据就会认为彩信发送是失败的,因此所述第二标准时间一定要低于15秒,并且考虑到传输延时,一般取值为5~10秒都是比较好的选择。
在本实施例中,本发明的流量控制方式是根据缓存中数据排空的预估时间来进行数据流量控制,这样使得流量控制的结果相对准确;本实施例的方法既能够兼顾缓存占用的多少,又能够尽量少的减少需要发送数据的等待时间,采用本发明所提供的方法,使得在需要对端确认的发送数据方式的流量控制过程中有了更大的适应性,可以在多种情况下充分的利用系统资源,减少系统开销,同时也对终端性能有很大的提升。
参考图3,示出了本发明的一种数据流量的控制方法实施例2的流程图,本实施例可以包括以下步骤:
步骤301:当接收到来自物理层模块的数据时,依据所述数据清除寄存器中收到确认的数据包,并减小缓存中数据的相应长度。
步骤302:判断所述减小后的相应长度是否小于最低门限,如果否,则继续判断当前时间是否到达预置的第一标准时间,如果是,则进入步骤303。
在本实施例中,设定一个定时器T1,定时器的时长为T,即是第一标准时间,每次缓存中数据块的个数发生变化的时候,就更新一次离开缓存的数据块的总字节数(Sout),那么当每次定时器超时时,当前记录的离开缓存的数据块的总字节数和上一次记录的总字节数即分别为:当前已经输出的数据长度和上一次输出的数据长度。在实际应用中,具体的离开缓存的数据块的总字节数可以用硬件的计数器或者软件的全局变量来实现。
需要说明的是,在实际应用中,还可以当每次缓存中数据块的个数发生变化的时候,就更新一次进入缓存的数据块的总字节数(Sin),其记录方式和Sout的记录方式相同。
步骤303:获取当前已经输出的数据长度与上一次输出的数据长度之差。
步骤304:将所述差与所述预置时间的商作为标准速度。
根据前后两次Sout的值(分别用Sout2和Sout1来表示),即分别是当前已经输出的数据长度与上一次输出的数据长度,来计算数据进入缓存和离开缓存的大概速率(以字节为单位),计算公式为:Vout=(Sout2-Sout1)/T,所述T为第一标准时间。
同时,在本步骤中,还可以同时计算Vin=(Sin2-Sin1)/T。即是数据进入缓存中的速度。
步骤305:将所述减小后的相应长度与所述标准速度的商,并作为所需时间。
再根据Vout计算缓存中的数据需要多长时间能够离开缓存,其计算公式为:Tcur=S/Vout。所述Tcur即是缓存中的当前数据能够离开缓存的所需时间。
步骤306:比较所述所需时间与预置的第二标准时间的大小,当所述比较结果为所述所需时间大于预置的第二标准时间时,进入步骤307;当所述比较结果为所述时间小于等于预置的第二标准时间时,进入步骤308。
本步骤即是用预置的第二标准时间(Ttar)和步骤305所得到的Tcur进行比较的过程。
步骤307:判断所述应用层模块的状态是否为挂起,如果否,则向应用层模块发送挂起消息,以使所述应用层模块停止发送数据。
如果Tcur大于Ttar,则说明缓存中的数据需要较长的时间才可以排空,此时判断所述应用层模块的状态是否为挂起,如果不是,这个时候可以由高层协议模块通过消息机制来通知应用层模块不要再发数据给TCP/IP模块了,具体的,可以向应用层模块发送挂起消息,以使所述应用层模块停止向TCP/IP模块继续发送数据。
步骤308:判断所述应用层模块的状态是否为挂起,如果是,则向应用层模块发送恢复消息,以使所述应用层模块恢复数据的发送。
如果Tcur小于Ttar,则说明缓存中的数据可以较快的排空,此时判断所述应用层模块的状态是否为挂起,如果是,高层协议模块可以通过消息机制来通知应用层模块继续发送数据给TCP/IP模块,具体的,可以向应用层模块发送恢复消息,以使所述应用层模块向所述TCP/IP模块恢复数据的发送。
步骤309:当所述减小后的相应长度小于最低门限时,判断所述应用层模块的状态是否为挂起,如果是,则向应用层模块发送恢复消息,以使所述应用层模块恢复数据的发送。
需要说明的是,在本实施例的步骤302之后,如果判断得到所述减小后的相应长度小于最低门限时,则可以继续判断所述应用层模块的状态是否为挂起,如果是挂起状态,则需要高层协议模块通过消息机制来通知应用层模块继续发送数据给TCP/IP模块,具体的,可以向应用层模块发送恢复消息,以使所述应用层模块向所述TCP/IP模块恢复数据的发送。其中步骤309只需要在步骤302之后执行即可,为了描述方面和附图示意的方便,本实施例中将步骤309放在最后一个步骤执行。
采用本实施例中的流量控制方法,可以保证新进入高层协议模块的缓存的待发送数据不在缓存中停留过长的时间。例如,假设Ttar被设定为7.5秒,而无线接口的发送速率被缓存检测出来是400kbps左右,那么在本发明所提供的方案下,缓存空间的数据量在达到3000字节左右的时候就会通知应用层模块挂起,不要将新的数据发送下来了,而当发送恢复的时候,重传的数据发下来的时候,高层协议模块的缓存中之前的新数据并不是很多,这无疑会增加移动终端对于数据的发送成功率。
参考图4,在本发明的另一个实施例中,还可以包括:
步骤401:将来自TCP/IP模块的数据保存在寄存器中,并增加缓存中数据的相应长度。
在本发明的另一个实施例中,在步骤301之前,如果判断得到高层协议模块接收到的数据来自TCP/IP模块,则需要将所述TCP/IP模块的数据保存在寄存器中,同时依据接收到的数据的多少来增加缓存中数据的相应长度。
步骤402:判断所述增加后的相应长度是否大于最高门限,如果否,则执行所述继续判断是否到达预置的第一标准时间的步骤。
同时,继续判断所述增加后的相应长度是否大于预置的最高门限,如果不大于,则执行所述继续判断是否到达预置的第一标准时间的步骤,即是步骤302中的第二个判断操作。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
参考图5,示出了本发明的一种数据流量的控制装置实施例1的结构框图,可以包括以下模块:
预处理单元501,用于当接收到来自物理层模块的数据时,依据所述数据清除寄存器中收到确认的数据包,并减小缓存中数据的相应长度。
第一判断单元502,用于判断所述减小后的相应长度是否小于最低门限。
第二判断单元503,用于当所述第一判断单元的结果为否时,继续判断当前时间是否到达预置的第一标准时间。
获取时间参数单元504,用于当所述第一判断单元的结果为是时,依据所述减小后的相应长度、当前已经输出的数据长度以及上一次输出的数据长度,获取到所述剩余数据输出的所需时间。
流量控制单元505,用于比较所述所需时间与预置的标准时间的大小,并根据比较结果进行数据流量控制。
在本实施例中,本发明的流量控制装置是根据缓存中数据排空的预估时间来进行数据流量控制,这样使得流量控制的结果相对准确;本实施例的方法既能够兼顾缓存占用的多少,又能够尽量少的减少需要发送数据的等待时间,采用本发明所提供的装置,使得在需要对端确认的发送数据方式的流量控制过程中有了更大的适应性,可以在多种情况下充分的利用系统资源,减少系统开销,同时也对终端性能有很大的提升。
参考图6,示出了本发明的一种数据流量的控制装置实施例2的结构框图,可以包括以下模块:
预处理单元501,用于当接收到来自物理层模块的数据时,依据所述数据清除寄存器中收到确认的数据包,并减小缓存中数据的相应长度。
第一判断单元502,用于判断所述减小后的相应长度是否小于最低门限。
第二判断单元503,用于当所述第一判断单元的结果为否时,继续判断当前时间是否到达预置的第一标准时间。
在本实施例中,所述获取时间参数单元504具体包括获取差值子单元、获取速度子单元和设置子单元:
所述获取差值子单元601,用于获取所述当前已经输出的数据长度与上一次输出的数据长度之差。
所述获取速度子单元602,用于将所述差与所述预置时间的商作为标准速度。
所述设置子单元603,用于将所述减小后的相应长度与所述标准速度的商设置为所需时间。
在本实施例中,所述流量控制单元505具体可以包括比较子单元、发送挂起消息子单元和发送恢复消息子单元:
所述比较子单元604,用于比较所述所需时间与预置的第二标准时间的大小。
所述发送挂起消息子单元605,用于当所述比较子单元的结果为所述所需时间大于预置的第二标准时间,且所述应用层模块的状态不为挂起时,向应用层模块发送挂起消息,以使所述应用层模块停止发送数据。
所述发送恢复消息子单元606,用于当所述比较子单元的结果为所述时间小于等于预置的第二标准时间,且所述应用层模块的状态为挂起时,则向应用层模块发送恢复消息,以使所述应用层模块恢复数据的发送。
第三判断模块607,用于当所述减小后的相应长度小于最低门限时,判断所述应用层模块的状态是否为挂起。
发送恢复消息单元608,用于当所述第三判断模块的结果为是时,向应用层模块发送恢复消息,以使所述应用层模块恢复数据的发送。
在本发明的另一个实施例中,所述预处理单元501,还用于将来自TCP/IP模块的数据保存在寄存器中,并增加缓存中数据的相应长度;则所述装置还可以包括:
第四判断单元,用于判断所述增加后的相应长度是否大于最高门限,如果否,则执行所述继续判断是否到达预置的第一标准时间的步骤。
本发明实施例还提供了一种移动终端,所述移动终端包括本发明装置实施例所述的任一装置。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种数据流量的控制方法、装置及移动终端进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种数据流量的控制方法,其特征在于,包括:
当接收到来自物理层模块的数据时,依据所述数据清除寄存器中收到确认的数据包,并减小缓存中数据的相应长度;
判断所述减小后的相应长度是否小于最低门限,如果否,则继续判断当前时间是否到达预置的第一标准时间,当到达第一标准时间时,依据所述减小后的相应长度、当前已经输出的数据长度以及上一次输出的数据长度,获取到所述缓存中的剩余数据输出的所需时间;所述依据所述减小后的相应长度、当前已经输出的数据长度以及上一次输出的数据长度,获取到所述剩余数据输出的所需时间,包括:获取所述当前已经输出的数据长度与上一次输出的数据长度之差;将所述差与所述第一标准时间的商作为标准速度;将所述减小后的相应长度与所述标准速度的商作为所需时间;
比较所述所需时间与预置的第二标准时间的大小,并根据比较结果进行数据流量控制。
2.如权利要求1所述的方法,其特征在于,所述根据比较结果进行数据流量控制,具体包括:
当所述比较结果为所述所需时间大于预置的第二标准时间时,判断应用层模块的状态是否为挂起,如果否,则向应用层模块发送挂起消息,以使所述应用层模块停止发送数据;
当所述比较结果为所述时间小于等于预置的第二标准时间时,判断所述应用层模块的状态是否为挂起,如果是,则向应用层模块发送恢复消息,以使所述应用层模块恢复数据的发送。
3.如权利要求2所述的方法,其特征在于,还包括:
当所述减小后的相应长度小于最低门限时,判断所述应用层模块的状态是否为挂起,如果是,则向应用层模块发送恢复消息,以使所述应用层模块恢复数据的发送。
4.如权利要求3所述的方法,其特征在于,还包括:
将来自TCP/IP模块的数据保存在寄存器中,并增加缓存中数据的相应长度;
判断所述增加后的相应长度是否大于最高门限,如果否,则执行所述继续判断是否到达预置的第一标准时间的步骤。
5.一种数据流量的控制装置,其特征在于,包括:
预处理单元,用于当接收到来自物理层模块的数据时,依据所述数据清除寄存器中收到确认的数据包,并减小缓存中数据的相应长度;
第一判断单元,用于判断所述减小后的相应长度是否小于最低门限;
第二判断单元,用于当所述第一判断单元的结果为否时,继续判断当前时间是否到达预置的第一标准时间;
获取时间参数单元,用于当所述第二判断单元的结果为是时,依据所述减小后的相应长度、当前已经输出的数据长度以及上一次输出的数据长度,获取到所述缓存中的剩余数据输出的所需时间;所述获取时间参数单元包括:获取差值子单元,用于获取所述当前已经输出的数据长度与上一次输出的数据长度之差;获取速度子单元,用于将所述差与所述第一标准时间的商作为标准速度;设置子单元,用于将所述减小后的相应长度与所述标准速度的商作为所需时间;
流量控制单元,用于比较所述所需时间与预置的第二标准时间的大小,并根据比较结果进行数据流量控制。
6.如权利要求5所述的装置,其特征在于,所述流量控制单元具体包括:
比较子单元,用于比较所述所需时间与预置的第二标准时间的大小;
发送挂起消息子单元,用于当所述比较子单元的结果为所述所需时间大于预置的第二标准时间时,且应用层模块的状态不是挂起时,向应用层模块发送挂起消息,以使所述应用层模块停止发送数据;
发送恢复消息子单元,用于当所述比较子单元的结果为所述所需时间小于等于预置的第二标准时间时,且所述应用层模块的状态为挂起时,则向应用层模块发送恢复消息,以使所述应用层模块恢复数据的发送。
7.如权利要求6所述的装置,其特征在于,还包括:
第三判断模块,用于当所述减小后的相应长度小于最低门限时,判断所述应用层模块的状态是否为挂起;
发送恢复消息单元,用于当所述第三判断模块的结果为是时,向应用层模块发送恢复消息,以使所述应用层模块恢复数据的发送。
8.如权利要求7所述的装置,其特征在于,
所述预处理单元,还用于将来自TCP/IP模块的数据保存在寄存器中,并增加缓存中数据的相应长度;则所述装置还包括:
第四判断单元,用于判断所述增加后的相应长度是否大于最高门限,如果否,则执行所述继续判断是否到达预置的第一标准时间的步骤。
9.一种移动终端,其特征在于,所述移动终端包括如权利要求5-8任一项所述的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101091334A CN102148743B (zh) | 2010-02-05 | 2010-02-05 | 一种数据流量的控制方法、装置及移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101091334A CN102148743B (zh) | 2010-02-05 | 2010-02-05 | 一种数据流量的控制方法、装置及移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102148743A CN102148743A (zh) | 2011-08-10 |
CN102148743B true CN102148743B (zh) | 2013-08-21 |
Family
ID=44422756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101091334A Active CN102148743B (zh) | 2010-02-05 | 2010-02-05 | 一种数据流量的控制方法、装置及移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102148743B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833166B (zh) * | 2012-08-28 | 2017-02-08 | 广东欧珀移动通信有限公司 | 一种数据流量分配方法、装置及移动通信终端 |
JP6699369B2 (ja) * | 2016-06-03 | 2020-05-27 | ソニー株式会社 | 無線通信装置および無線通信方法 |
CN110166894B (zh) * | 2018-02-11 | 2021-05-25 | 北京小鸟听听科技有限公司 | 一种数据处理方法、输出设备和计算机存储介质 |
CN112087398A (zh) * | 2020-08-28 | 2020-12-15 | 西安万像电子科技有限公司 | 一种视频帧的发送方法、装置、设备及存储介质 |
CN114090494B (zh) * | 2021-11-29 | 2024-04-05 | 海光信息技术股份有限公司 | 数据传输方法、装置、设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1218346A (zh) * | 1997-09-25 | 1999-06-02 | 索尼株式会社 | 用数据通信协议控制层间数据流的通信方法和终端 |
CN101369866A (zh) * | 2008-10-21 | 2009-02-18 | 中国电信股份有限公司 | 一种测试流媒体传输质量的方法和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080267067A1 (en) * | 2007-04-30 | 2008-10-30 | Gabriel Salazar | Controlling the flow of data updates between a receiving station and a sending station |
-
2010
- 2010-02-05 CN CN2010101091334A patent/CN102148743B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1218346A (zh) * | 1997-09-25 | 1999-06-02 | 索尼株式会社 | 用数据通信协议控制层间数据流的通信方法和终端 |
CN101369866A (zh) * | 2008-10-21 | 2009-02-18 | 中国电信股份有限公司 | 一种测试流媒体传输质量的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102148743A (zh) | 2011-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101047615B (zh) | 一种以太网数据流量控制方法 | |
CN102148743B (zh) | 一种数据流量的控制方法、装置及移动终端 | |
JP5767706B2 (ja) | データの送信方法、送信機、受信機、並びにプログラム | |
JP4564665B2 (ja) | 一般的なシリアルバスプロトコルの範囲を拡張する方法並びに装置 | |
CN108833293B (zh) | 一种基于软件定义网络sdn的数据中心拥塞控制方法及装置 | |
CN108616458A (zh) | 客户端设备上调度分组传输的系统和方法 | |
CN106533639A (zh) | 一种数据重传方法及装置 | |
CN1218346A (zh) | 用数据通信协议控制层间数据流的通信方法和终端 | |
CN103141050B (zh) | 快速通道互联系统中数据包重传方法、节点 | |
CN104780028A (zh) | 一种实现tcp数据报文重传的方法及设备 | |
CN102780621B (zh) | 一种上行数据包发送方法、装置及网络设备 | |
CN103746938A (zh) | 一种发送数据包的方法及装置 | |
CN103188059A (zh) | 快速通道互联系统中数据包重传方法、装置和系统 | |
CN103338144A (zh) | 一种会话数据同步方法和装置 | |
CN105743951A (zh) | 一种数据发送、接收的方法及装置 | |
CN113254375A (zh) | 一种数据传输方法、装置、电子设备和存储介质 | |
CN103338184A (zh) | 数据发送方法及装置、数据接收装置以及数据传输系统 | |
CN101605128B (zh) | Linux主从设备通过以太网接口进行通信的方法 | |
CN103650401A (zh) | 一种移动终端内部通信方法 | |
WO2018132436A1 (en) | Forced compression of single i2c writes | |
CN106708761A (zh) | 一种业务报文的处理方法及装置 | |
CN110022218B (zh) | 组播通讯方法、终端设备及存储介质 | |
CN110750486A (zh) | Rdma数据流控方法、系统、电子设备及可读存储介质 | |
JP2001244982A (ja) | パケット欠落検出システム、送信装置、受信装置及びパケット欠落検出方法 | |
CN109756464B (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 |