一种流量控制方法及装置的制造方法

文档序号:8546132阅读:296来源:国知局
一种流量控制方法及装置的制造方法
【技术领域】
[0001]本发明涉及到通信领域,特别涉及到一种流量控制方法及装置。
【背景技术】
[0002]在当前的通信系统中,数据业务协议的层与层之间,同一系统之内的模块与模块之间、局域网或无线网络的两个节点之间,存在端对端的大量数据传输。通常,发送端和接收端的速度总是存在差异,若发送端速度大于接收端,则存在数据溢出问题,会导致数据丢失;若接收端速度大于发送端,存在数据读空问题,会导致读入错误数据;且在速度方面,需要一种机制来根据需求调节收发速度。因此,如何提供一种可靠的流量控制方法,以防止数据传输溢出和进行速度控制,将是我们亟待解决的问题。

【发明内容】

[0003]本发明的主要目的为提供一种流量控制方法及装置,旨在防止数据传输溢出和进行速度控制。
[0004]本发明提供一种流量控制方法,该方法包括:
[0005]S10、流量控制装置获取发送端的写入速度V1、接收端的读取速度V2、用户设置的传输速度V、该流量控制装置中的缓存模块中的数据队列的容量大小L和所述数据队列的已使用大小E ;
[0006]S20、所述流量控制装置根据所述获取发送端的写入速度V1、接收端的读取速度V2、用户设置的传输速度V、该流量控制装置中的缓存模块中的数据队列的容量大小L和所述数据队列的已使用大小E,控制发送端向所述缓存模块中的数据队列写入数据的开始时机和停止时机,及/或控制接收端从所述缓存模块中的数据队列读取数据的开始时机和停止时机。
[0007]优选地,所述流量控制装置根据所述获取发送端的写入速度V1、接收端的读取速度V2、用户设置的传输速度V、该流量控制装置中的缓存模块中的数据队列的容量大小L和所述数据队列的已使用大小E,控制发送端向所述缓存模块中的数据队列写入数据的开始时机和停止时机,及/或控制接收端从所述缓存模块中的数据队列读取数据的开始时机和停止时机的步骤包括:
[0008]S21、所述流量控制装置根据所述获取发送端的写入速度V1、接收端的读取速度V2、用户设置的传输速度V和该流量控制装置中的缓存模块中的数据队列的容量大小L计算延时时间t:
[0009]t= (V1*L* (V2-V)) / ((Vl-V) *V2);
[0010]S22、判断所述写入速度Vl是否大于读取速度V2 ;
[0011]S23、在所述写入速度Vl大于读取速度V2,且在所述流量控制装置获取的缓存模块中的数据队列的已使用大小E为O时,向所述发送端发送写入指令,以使得所述发送端向所述数据队列写入数据;及向所述接收端发送停止读取指令并开始计时得到第一计时时间tl,以使得所述接收端停止从所述数据队列读取数据;
[0012]S24、在所述第一计时时间tl等于延时时间t时,所述流量控制装置向所述接收端发送读取指令,以使得所述接收端从所述数据队列读取数据;及所述流量控制装置监测所述数据队列的已使用大小E ;
[0013]S25、在所述数据队列的已使用大小E等于L时,所述流量控制装置向所述发送端发送停止写入指令,以使得所述发送端停止向所述数据队列写入数据;及所述流量控制装置继续监测所述数据队列的已使用大小E ;
[0014]S26、在所述数据队列的已使用大小E为零时,返回步骤S10。
[0015]优选地,在所述S22、判断所述写入速度Vl是否大于读取速度V2之后,该方法还包括:
[0016]S31、在所述写入速度Vl小于读取速度V2,且在所述流量控制装置获取的缓存模块中的数据队列的已使用大小E为O时,向所述发送端发送写入指令,以使得所述发送端向所述数据队列写入数据;及向所述接收端发送停止读取指令,以使得所述接收端停止从所述数据队列读取数据;及所述流量控制装置监测所述数据队列的已使用大小E ;
[0017]S32、在所述数据队列的已使用大小E等于L时,所述流量控制装置向所述接收端发送读取指令,以使得所述接收端从所述数据队列中读取数据;及向所述发送端发送停止写入指令并开始计时得到第二计时时间t2,以使得所述发送端停止向所述数据队列写入数据;
[0018]S33、在所述第二计时时间t2等于延时时间t时,所述流量控制装置向所述发送端发送写入指令,以使得所述发送端向所述数据队列写入数据;及所述流量控制装置继续检测所述数据队列的已使用大小E ;
[0019]S34、在所述数据队列的已使用大小E为零时,返回步骤S10。
[0020]优选地,所述用户设置的传输速度V大于零且小于写入速度Vl与读取速度V2中较小的一个。
[0021]优选地,所述控制发送端向所述缓存模块中的数据队列写入数据的步骤为:控制发送端向所述缓存模块中的数据队列的队列尾写入数据;
[0022]所述控制接收端从所述缓存模块中的数据队列读取数据的步骤为:控制接收端从所述缓存模块中的数据队列的队列头读取数据。
[0023]本发明还提供一种流量控制装置,该流量控制装置分别与发送端、接收端连接,所述流量控制装置包括:缓存模块,与所述缓存模块连接的获取模块,与所述获取模块连接控制模块,其中:
[0024]所述获取模块,用于获取发送端的写入速度V1、接收端的读取速度V2、用户设置的传输速度V、该缓存模块中的数据队列的容量大小L和所述数据队列的已使用大小E ;
[0025]所述控制模块,用于根据所述获取发送端的写入速度V1、接收端的读取速度V2、用户设置的传输速度V、缓存模块中的数据队列的容量大小L和所述数据队列的已使用大小E,控制发送端向所述缓存模块中的数据队列写入数据的开始时机和停止时机,及/或控制接收端从所述缓存模块中的数据队列读取数据的开始时机和停止时机。
[0026]优选地,所述控制模块包括:
[0027]计算单元,用于根据获取的发送端的写入速度V1、接收端的读取速度V2、用户设置的传输速度V和缓存模块中的数据队列的大小L计算延时时间t:
[0028]t= (V1*L* (V2-V)) / ((Vl-V) *V2);
[0029]判断单元,用于判断所述写入速度Vl是否大于读取速度V2 ;
[0030]第一控制单元,用于在所述写入速度Vl大于读取速度V2,且所述数据队列的已使用大小E为O时,向所述发送端发送写入指令,以使得所述发送端向所述数据队列写入数据,及向所述接收端发送停止读取指令,以使得所述接收端停止从所述数据队列读取数据并开始计时得到第一计时时间tl ;及用于所述第一计时时间tl等于延时时间t时,向所述接收端发送读取指令,以使得所述接收端从所述数据队列读取数据,及监测所述数据队列的已使用大小E ;及用于在所述数据队列的已使用大小E等于L时,向所述发送端发送停止写入指令,以使得所述发送端停止向所述数据队列写入数据,直到所述数据队列的已使用大小E为零。
[0031 ] 优选地,控制模块还包括:
[0032]第二控制单元,用于在所述写入速度Vl小于读取速度V2,且在所述数据队列的已使用大小E为O时,向所述发送端发送写入指令,以使得所述发送端向所述数据队列写入数据,及向所述接收端发送停止读取指令,以使得所述接收端停止从所述数据队列读取数据,及监测所述数据队列的已使用大小E ;及用于在所述数据队列的已使用大小E为L时,向所述接收端发送读取指令,以使得所述接收端从所述数据队列读取数据,及向所述发送端发送停止写入指令并开始计时得到第二计时时间t2,以使得所述发送端停止向所述数据队列写入数据;及用于在第二计时时间t2等于延时时间t时,向所述发送端发送写入指令,以使得所述发送端向所述数据队列写入数据,直到所述缓存中数据队列的已使用大小E为零。
[0033]优选地,所述用户设置的传输速度V大于零且小于写入速度Vl与读取速度V2中较小的一个。
[0034]优选地,所述控制模块控制发送端向所述缓存模块中的数据队列写入数据为:控制发送端向所述缓存模块中的数据队列的队列尾写入数据;
[0035]所述控制模块控制接收端从所述缓存模块中的数据队列读取数据为:控制接收端从所述缓存模块中的数据队列的队列头读取数据。
[0036]实施本发明,流量控制装置获取发送端的写入速度V1、接收端的读取速度V2、用户设置的传输速度V、该流量控制装置中的缓存模块中的数据队列的容量大小L和所述数据队列的已使用大小E ;然后所述流量控制装置根据所述获取发送端的写入速度V1、接收端的读取速度V2、用户设置的传输速度V、该流量控制装置中的缓存模块中的数据队列的容量大小L和所述数据队列的已使用大小E,控制发送端向所述缓存模块中的数据队列写入数据的开始时机和停止时机,及/或控制接收端从所述缓存模块中的数据队列读取数据的开始时机和停止时机;可防止数据传输溢出和进行速度控制。
【附图说明】
[0037]图1为本发明流量控制方法的优选实施例流程示意图;
[0038]图2为步骤S20的第一实施例流程示意图;
[0039]图3为步骤S20的第二实施例流程示意图;
[0040]图4为本发明流量控制装置的优选实施例结构示意图;
[0041]图5为图4中控制模块的结构示意图
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1