根据客户端的数据处理速度调整网络数据发送速度的方法

文档序号:7667613阅读:240来源:国知局

专利名称::根据客户端的数据处理速度调整网络数据发送速度的方法
技术领域
:本发明涉及一种网络数据传输速度的控制方法,尤其涉及一种根据客户端的数据处理速度调整网络数据发送速度的方法。
背景技术
:目前,在公知的互联网络数据传输技术中所使用的UDP(UserDatagramProtocol,用户数据信息协议)协议,由于是一种非连接型的网络数据传输协议,其相对于TCP(TransmissionControlProtocol,传输控制协议)协议,不具有流量控制和数据重传机制,因此,导致了在客户端处理数据效率较低而服务器端发送数据速度较高的情况下,会产生大量的数据丢包与重传现象,进而造成网络数据传输效率低下及数据丢失等问题。因此,业内急待提供一种新的利用UDP协议的网络数据传输速度的控制方法,从而保证不但可以可靠地传送数据,而且对网络带宽的使用也会十分高效,由此避免数据丢失和数据重发所导致的网络传输效能的下降。
发明内容为了解决上述公知技术中的问题与缺陷,本发明的目的在于提供一种根据客户端的数据处理速度调整网络数据发送速度的方法,通过采用客户端数据处理速度的回馈机制来控制和调整服务器端的数据发送速度,以此克服上述公知技术中因客户端处理数据的速度与服务器端发送数据的速度不匹配所产生的问题与缺陷。本发明所提供的一种根据客户端的数据处理速度调整网络数据发送速度的方法,包含以下步骤在客户端计算机与服务器之间建立数据传输的网络连接信道及信息回馈的网络连接信道;服务器通过数据传输的网络连接信道在一段预先设定的初始化时间内以一个预先设定的初始数据发送速度向客户端计算机发送数据;客户端计算机接收来自服务器的数据,然后执行数据处理工作,并记录数据处理工作所花费的时间;客户端计算机根据所处理的数据量大小和所花费的处理时间实时计算客户端计算机的数据处理速度,并将数据处理速度的信息通过信息回馈的网络连接信道回馈给服务器;服务器接收从客户端计算机回馈的数据处理速度的信息,并于初始化时间之后依据数据处理速度实时地对服务器的数据发送速度进行控制和调整;以及服务器根据速度控制要求实时地调整其自身的数据发送速度,并以调整后的数据发送速度通过数据传输的网络连接信道将数据发送至客户端计算机。综上所述,本发明所提供的一种根据客户端的数据处理速度调整网络数据发送速度的方法,其有益效果在于由于本发明的方法可通过专用的数据传输的网络连接信道,例如通过UDP协议可靠地传送数据,并且可通过专用的信息回馈的网络连接信道,例如TCP协议将客户端计算机的数据处理速度的信息实时、可靠地回馈给服务器,以使得服务器可依据客户端计算机的数据处理速度实时地调整自身的数据发送速度,因此不会造成数据包的丢失,避免了公知技术中因客户端处理数据的速度与服务器端发送数据的速度不匹配所产生的数据丢失和数据重发,进而有效提高了网络带宽的使用率及网络数据传输效能。图1为本发明的一种根据客户端的数据处理速度调整网络数据发送速度的方法所运行系统的系统方块图;以及图2为本发明的一种根据客户端的数据处理速度调整网络数据发送速度方法的整体步骤流程图。其中,附图标记说明如下10客户端计算机20服务器101数据处理模块102处理速度计算及回馈模块201数据发送模块202数据发送速度控制模块具体实施例方式以下,将结合附图部分对本发明的优选实施方式作详细说明。请参考图1,图1表示了本发明的一种根据客户端的数据处理速度调整网络数据发送速度方法所运行系统的系统方块图,如图1所示,本发明的一种根据客户端的数据处理速度调整网络数据发送速度的方法所运行的系统包含客户端计算机10及服务器20。其中,客户端计算机10包含数据处理模块101与处理速度计算及回馈模块102。服务器20包含数据发送模块201与数据发送速度控制模块202。数据处理模块101用以接收来自服务器20的数据,然后执行包含解压縮作业及写磁盘作业在内的处理工作,并记录上述处理作业所花费的时间。处理速度计算及回馈模块102根据所处理的数据块的数据量大小和所花费的处理时间实时计算客户端计算机10中数据处理模块101的数据处理速度,并将数据处理速度的信息通过TCP连接回馈给服务器20的数据发送速度控制模块202。数据发送速度控制模块202用以接收从客户端计算机10回馈的数据处理速度的信息,并依据此数据处理速度实时地对服务器20中的数据发送模块201的数据发送速度进行控制和调整。数据发送模块201用以通过使用UDP协议而将数据发送至客户端计算机10的数据处理模块101,并可根据数据发送速度控制模块202的速度控制要求实时地调整其自身的数据发送速度。此外,由于一开始服务器20无法预知客户端计算机10的数据处理速度,因此在服务器20开始运行的一段时间中,会以一个速度较低的初始数据发送速度(可由系统预先设定为1M位/秒)向客户端计算机10发送数据。在经过这段时间之后,客户端计算机10的数据处理速度已经趋于稳定,才可以采用上述的客户端计算机10与服务器20之间的回馈控制机制对服务器20的数据发送速度进行控制和调整。因此我们把开始的这段运行时间定义为初始化时间Ti,此初始化时间Ti为一个预先设定的时间值。也就是说,虽然在上述初始化时间Ti之内,客户端计算机10中的处理速度计算及回馈模块102同样会将数据处理速度的信息回馈给服务器20的数据发送速度控制模块202,但只有当系统运行时间大于初始化时间Ti之后,数据发送速度控制模块202才会根据客户端计算机10回馈的数据处理速度实时地对服务器20中的数据发送模块201的数据发送速度进行控制和调整。其中,上述处理速度计算及回馈模块102用以计算数据处理模块101的数据处理速度的计算公式为数据处理速度Sp二数据处理量大小Lp+数据处理时间Tp,其中,数据处理时间Tp二完成数据写入的时间点Tp2—开始接收数据的时间点Tpl。其中,上述数据发送速度控制模块202依据数据处理速度实时地对数据发送模块201的数据发送速度进行控制和调整,采用如下步骤及计算公式(1)根据数据处理速度Sp计算数据发送应需要的全部时间Ttotal,其中数据发送应需要的全部时间Ttotal二数据发送量大小Ls+数据处理速度Sp;(2)计算数据发送所用的实际时间Treal二完成数据发送的时间点Ts2一开始发送数据的时间点Tsl;(3)计算系统阻塞时间Tk,此系统阻塞时间Tk二数据发送应需要的全部时间Ttotal—数据发送所用的实际时间Treal;以及(4)使用操作系统提供的API(ApplicationProgramInterface,应用程序接口)Sleep(time)函数令数据发送流程在数据发送模块201中暂时阻塞停滞一段时间,其阻塞时间为参数time的值,其中参数time的值即等于上述系统阻塞时间Tk,如此便可令数据发送模块201发送数据的平均速度降低,进而实现对数据发送速度的实时控制与调整,以确保不会由于服务器发送数据的速度过快而导致的数据丢包及重发现象产生。现在请参考图2,图2为本发明的一种根据客户端的数据处理速度调整网络数据发送速度方法的整体步骤流程图,如图所示,本发明的一种根据客户端的数据处理速度调整网络数据发送速度的方法,包含以下步骤在客户端计算机与服务器之间建立数据传输的网络连接信道及信息回馈的网络连接信道,如步骤100;服务器通过数据传输的网络连接信道在一段预先设定的初始化时间内以一个预先设定的初始数据发送速度向客户端计算机发送数据,如步骤200,其中数据传输的网络连接信道通过用户数据信息协议(UserDatagramProtocol,简称UDP)传输数据;客户端计算机接收来自服务器的数据,然后执行数据处理工作,并记录数据处理工作所花费的时间,如步骤300,其中数据处理工作包含解压縮作业及写磁盘作业;客户端计算机根据所处理的数据块的数据量大小和所花费的处理时间实时计算客户端计算机的数据处理速度,并将数据处理速度的信息通过信息回馈的网络连接信道回馈给服务器,如步骤400,其中信息回馈的网络连接信道通过传输控制协议(TransmissionControlProtocol,简称TCP)传输回馈的数据处理速度的信息;服务器接收从客户端计算机回馈的数据处理速度的信息,并于上述初始化时间之后依据数据处理速度实时地对服务器的数据发送速度进行控制和调整,如步骤500;以及服务器根据速度控制要求实时地调整其自身的数据发送速度,并以调整后的数据发送速度通过数据传输的网络连接信道将数据发送至客户端计算机,如步骤600。其中,上述步骤400中客户端计算机根据所处理的数据量大小和所花费的处理时间实时计算客户端计算机的数据处理速度的计算公式为数据处理速度=数据处理量大小+数据处理时间,其中,该数据处理时间=完成数据处理的时间点(即完成数据解压縮及写入磁盘两部分处理作业的时间点)一开始接收数据的时间点。其中,上述步骤500中依据该数据处理速度实时地对该服务器的数据发送速度进行控制和调整,采用如下步骤及计算公式(1)根据数据处理速度计算数据发送应需要的全部时间,其中数据发送应需要的全部时间=数据发送量大小+数据处理速度;(2)计算数据发送所用的实际时间,其中数据发送所用的实际时间=完成数据发送的时间点一开始发送数据的时间点;(3)计算系统阻塞时间,其中系统阻塞时间=该数据发送应需要的全部时间一该数据发送所用的实际时间;以及(4)使用操作系统提供的API(ApplicationProgramInterface,应用程序接口)Sleep(time)函数令数据发送流程在服务器中暂时阻塞停滞一段时间,其阻塞停滞的时间为参数time的值,其中参数time的值即等于上述系统阻塞时间,如此便可令服务器的发送数据的平均速度降低,进而实现对数据发送速度的实时控制与调整,以确保不会由于服务器发送数据的速度过快而导致的数据丢包及重发现象产生。此外,上述本发明的一种根据客户端的数据处理速度调整网络数据发送速度的方法中,由于一开始服务器无法预知客户端计算机的数据处理速度,因此在服务器开始运行的一段时间中,会以一个速度较低的初始数据发送速度(可由系统预先设定为1M位/秒)向客户端计算机发送数据。在经过这段时间之后,客户端计算机的数据处理速度已经趋于稳定,才可以通过上述本发明的方法中的客户端计算机与服务器之间的回馈控制机制对服务器的数据发送速度进行控制和调整。因此我们把开始的这段运行时间定义为初始化时间,此初始化时间为一个预先设定的时间值。也就是说,虽然在上述初始化时间之内,客户端计算机同样会将其数据处理速度的信息回馈给服务器,但只有当系统运行时间大于初始化时间之后,服务器才会根据客户端计算机回馈的数据处理速度实时地对服务器的数据发送速度进行控制和调整。下面将通过一个实例对上述本发明的一种根据客户端的数据处理速度调整网络数据发送速度的方法作进一步说明。目前在企业中,相关工作人员往往需要为新来的员工分配新的计算机,并且要在这台新计算机上安装一个定制的操作系统。通常的做法是将定制的操作系统制作成一个镜像文件,并在需要的时候将此镜像文件复制恢复到指定的计算机中,从而完成新计算机的操作系统的安装。为了更加高效地完成此类任务,可以使用实现了本发明的方法的软件来完成上述工作。此软件可分为两部分功能其一,服务器端负责读取镜像文件的数据,并发送给客户端计算机;其二,客户端计算机接收服务器端发来的镜像文件的数据,并于经过解压縮处理后,将解压縮后的数据写入磁盘中以完成镜像文件的复制恢复作业。其具体步骤如下步骤l:客户端计算机与服务器端之间建立两个网络连接信道:使用UDP多播协议的数据传输信道和使用TCP协议的信息回馈信道;步骤2:在初始化时间Ti:5秒的时间内,服务器端以1M位/秒的初始速度向客户端计算机发送数据。由于系统当前硬盘的性能很高,其数据处理速度可以达到50M位/秒,因此在客户端计算机不会发生因为硬盘的性能瓶颈而造成的数据丢包现象;步骤3:在初始化时间过后,服务器端根据客户端计算机回馈的数据处理速度(50M位/秒)控制调整自身的数据发送速度,由此,服务器端的数据发送速度也被提升至50M位/秒,由于服务器端的数据发送速度与客户端计算机的数据处理速度匹配的很好,因而,数据既可被高效地传输,又不会出现数据丢包和数据重发的现象;步骤4:由于客户端计算机中某些因素的影响(例如硬件过热或者有其它输入输出操作),使得客户端计算机的数据处理速度下降至40M位/秒,此数据处理速度将会被实时地回馈到服务器端,于是,服务器端的数据发送速度也将被实时地调整至40M位/秒;步骤5:如果当上述的影响客户端计算机的数据处理性能的因素消失后,客户端计算机的数据处理速度将恢复到50M位/秒,此数据处理速度将会被实时地回馈到服务器端,紧接着服务器端的数据发送速度也将被实时地调整至50M位/秒;步骤6:在此后的数据传输进程中,可能会不断发生类似于步骤3至步骤5中的情况,而服务器端的数据发送速度却总是会随着客户端计算机的数据处理速度实时地调整变化,因此,保证了整个数据传输进程的高效运行。上面所述的用于确定服务器端的数据发送速度的客户端计算机的数据处理速度不是来自于用户的自行设定,而是来自于客户端计算机的持续、实时、动态的数据处理速度的信息回馈,这样就确保了不会由于服务器端发送数据的速度过快而产生的数据丢包和数据重发现象。此外,对于数据量大小固定不变的数据块,服务器端的数据发送所用的实际时间Treal其实是不变的,假设服务器端对一个数据量大小为32K字节的数据块进行发送,从开始发送到完成发送,其数据发送所用的实际时间Treal为5毫秒,则如下表所示<table>tableseeoriginaldocumentpage10</column></row><table>当客户端计算机的数据处理速度为50M位/秒时,服务器端发送一个数据量大小为32k字节的数据块实际上只需要5毫秒的时间,但依照上述本发明的方法为了满足速度控制的要求,数据发送流程必须阻塞停滞95毫秒,然后才能开始发送下一个数据块,如此才能令服务器端的数据发送速度与客户端计算机的数据处理速度相匹配为50M位/秒。当客户端计算机的数据处理速度下降至40M位/秒时,服务器端发送一个数据量大小为32K字节的数据块实际上仍然只需要5毫秒的时间,但依照上述本发明的方法为了满足速度控制的要求,数据发送流程必须阻塞停滞115毫秒,然后才能开始发送下一个数据块,如此才能令服务器端的数据发送速度调整下降至与客户端计算机的数据处理速度相匹配为40M位/秒。权利要求1.一种根据客户端的数据处理速度调整网络数据发送速度的方法,该方法包含以下步骤在一客户端计算机与一服务器之间建立一数据传输的网络连接信道及一信息回馈的网络连接信道;该服务器通过该数据传输的网络连接信道在一预先设定的初始化时间内以一预先设定的初始数据发送速度向该客户端计算机发送数据;该客户端计算机接收来自该服务器的数据,然后执行数据处理工作,并记录该数据处理工作所花费的时间;该客户端计算机根据所处理的数据量大小和所花费的处理时间实时计算该客户端计算机的数据处理速度,并将该数据处理速度的信息通过该信息回馈的网络连接信道回馈给该服务器;该服务器接收从该客户端计算机回馈的该数据处理速度的信息,并于该初始化时间之后依据该数据处理速度实时地对该服务器的数据发送速度进行控制和调整;以及该服务器根据速度控制要求实时地调整其自身的数据发送速度,并以调整后的数据发送速度通过该数据传输的网络连接信道将数据发送至该客户端计算机。2、如权利要求1所述的根据客户端的数据处理速度调整网络数据发送速度的方法,其特征是该数据处理工作包含解压縮作业及写磁盘作业。3、如权利要求1所述的根据客户端的数据处理速度调整网络数据发送速度的方法,其特征是该数据传输的网络连接信道通过用户数据信息协议传输数据。4、如权利要求1所述的根据客户端的数据处理速度调整网络数据发送速度的方法,其特征是该信息回馈的网络连接信道通过传输控制协议传输回馈的该数据处理速度的信息。5、如权利要求1所述的根据客户端的数据处理速度调整网络数据发送速度的方法,其特征是该客户端计算机根据所处理的数据量大小和所花费的处理时间实时计算该客户端计算机的数据处理速度的计算公式为数据处理速度=数据处理量大小+数据处理时间,其中,该数据处理时间=完成数据处理的时间点_开始接收数据的时间点。6、如权利要求1所述的根据客户端的数据处理速度调整网络数据发送速度的方法,其特征是依据该数据处理速度实时地对该服务器的数据发送速度进行控制和调整,采用如下步骤及计算公式(O根据该数据处理速度计算数据发送应需要的全部时间,其中该数据发送应需要的全部时间=数据发送量大小+数据处理速度;(2)计算数据发送所用的实际时间,其中该数据发送所用的实际时间=完成数据发送的时间点一开始发送数据的时间点;(3)计算系统阻塞时间,其中该系统阻塞时间=该数据发送应需要的全部时间一该数据发送所用的实际时间;以及(4)令数据发送流程在该服务器中暂时阻塞停滞一段时间,该阻塞停滞时间等于该系统阻塞时间。7、如权利要求6所述的根据客户端的数据处理速度调整网络数据发送速度的方法,其特征是使用操作系统提供的应用程序接口,通过Sleep(time)函数令所述数据发送流程在该服务器中暂时阻塞停滞一段时间,其中该阻塞停滞时间为参数time的值,该参数time的值即等于该系统阻塞时间。全文摘要一种根据客户端的数据处理速度调整网络数据发送速度的方法,通过计算客户端计算机的数据处理速度并将其回馈给服务器端,然后依据数据处理速度实时地对服务器的数据发送速度进行控制和调整,以使服务器根据速度控制要求实时地调整其自身的数据发送速度,并以调整后的数据发送速度将数据发送至客户端计算机。本方法通过采用客户端数据处理速度的回馈机制来控制和调整服务器端的数据发送速度,进而克服了公知技术中因客户端处理数据的速度与服务器端发送数据的速度不匹配所产生的网络数据传输效率低下及数据丢失等问题。文档编号H04L1/00GK101453295SQ20071019569公开日2009年6月10日申请日期2007年12月6日优先权日2007年12月6日发明者刘文涵,玥张,陈玄同申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1