[发明专利]一种平滑的流量控制方法及装置有效
申请号: | 201310461349.0 | 申请日: | 2013-09-30 |
公开(公告)号: | CN103501278B | 公开(公告)日: | 2016-11-23 |
发明(设计)人: | 刘鹏;陈睿 | 申请(专利权)人: | 珠海市君天电子科技有限公司 |
主分类号: | H04L12/813 | 分类号: | H04L12/813 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 张大威 |
地址: | 519070 广东省珠海市唐家*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 平滑 流量 控制 方法 装置 | ||
技术领域
本发明涉及计算机应用及网络通信技术领域,具体涉及一种服务器与用户端计算机的应用程序间通信的平滑的流量控制方法及装置。
背景技术
现有技术针对用户端计算机的应用程序的网络流量控制方法是基于在规定的时间间隔内允许通过多少流量的方法来实现的。例如,用户设定某个应用程序的限速速率值为200KB/S,那么流量控制器会在每一秒开始的时候统计该应用程序通过的流量,当该秒内的流量累计达到200KB的时候,流量控制器就在该秒的剩余时间内限制流量通过,然后等待下一秒开始,再允许通过200KB的流量。
发明人在实现本发明的过程中,发现现有技术至少存在以下缺陷:
上述现有技术的流量控制方法虽然可以达到流量控制的目的,但是,现有网络的带宽一般超过了用户给某个应用程序设定的带宽,因此,现有技术的流量控制方法可能遇到的情况是:在每一秒开始后的0.1秒内,应用程序就消耗了200KB的流量,然后需要等待0.9秒才允许继续访问网络,这种现象会导致应用程序的卡死及服务器与应用程序之间通信的抖动。出现通信抖动的原因在于应用程序与服务器之间使用TCP协议进行通信,而TCP连接会自动猜测服务器与应用程序之间的网络连接速度,因而应用现有技术的流量控制方法进行流量控制后,每秒的前0.1秒,服务器检测到与应用程序之间的实际带宽为最大带宽,其后的0.9秒,服务器检测到实际带宽突然变成0。根据TCP的报文窗口算法,服务器会在之后的0.9秒急剧降低与应用程序之间的报文发送速度。从实际的经验看,往往在第2秒的时候会出现流量达不到200KB的情况,且这种情况会一直持续2-3秒,然后又出现在0.1秒内发送完200KB数据后,速度又变低的情况。可见,现有技术中服务器与应用程序的通信处于一种不稳定的状态。
发明内容
本发明提供了一种平滑的流量控制方法及装置,旨在通过应用一种平滑的流量控制算法,实现用户端计算机的应用程序与服务器间的通信处于均衡的速度限制状态,从而使应用程序能够以平滑的速度与服务器进行通信。
本发明的目的由以下技术方案实现:
一种平滑的流量控制方法,其特征在于,包括:
配置步骤,用于预先设置报文传送的限速速率值;
创建及初始化步骤,用于创建一二进制串,并将其全部位值均初始化为同一值,同时,初始化一时刻值;
流量控制步骤,用于在新报文达到时,通过对所述二进制串做左移与赋值操作,比较前报文在所述限速速率值下的传输时间和新报文与前报文到达时间差的大小,
若前报文在所述限速速率值下的传输时间大于新报文与前报文的到达时间差,则阻止所述新报文传输,
若新报文与前报文的到达时间差大于或等于前报文在所述限速速率值下的传输时间,则允许所述新报文传输。
作为具体的技术方案:所述配置步骤还用于预先设置流量限速精度值,该流量限速精度值大于1,以使将以秒为单位的控制时间进一步细分。
作为具体的技术方案:所述流量限速精度值为1000,以使上述的二进制串的每一位代表了0.001秒。
作为具体的技术方案:所述配置步骤还用于预先设置最大允传报文大小值及流量限速精度值,所述二进制串的位数值为所述最大允传报文大小值与流量限速精度值之积除以限速速率值之商。
作为具体的技术方案:所述赋值操作包括:
将部分或全部所述二进制串的位值赋予与其初始化位值相异的值。
作为具体的技术方案:所述二进制串的全部位值均初始化为0,所述赋值操作为将部分或全部所述二进制串的位值赋予1。
作为具体的技术方案:所述初始化时刻值为0。
作为具体的技术方案:所述流量控制步骤具体包括:
步骤31:记录新报文大小值及到达时刻值;
步骤33:计算所述二进制串的左移位数值,所述二进制串按所述左移位数值做左移操作,并将所述新报文到达时刻值赋予所述初始化时刻值;
步骤34:判断所述二进制串左起第一位的值是否为与其初始化位值相异的值,若是,则阻止传输所述新报文,转步骤31,否则转步骤35;
步骤35:计算所述二进制串的赋值位数值,按所述赋值位数值将所述二进制串从左起第一位开始向右做赋值操作;同时,允许传输所述新报文,并转步骤31。
作为具体的技术方案:所述配置步骤预先设置一流量限速精度值;所述左移位数值为所述新报文到达时刻值与初始化时刻值之差与流量限速精度值之积,若所述左移位数值大于所述二进制串的位数值,则将所述二进制串的位数值赋予所述左移位数值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海市君天电子科技有限公司,未经珠海市君天电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310461349.0/2.html,转载请声明来源钻瓜专利网。