一种数据的接收方法、发送方法及其装置和系统的制作方法

文档序号:7749862阅读:116来源:国知局
专利名称:一种数据的接收方法、发送方法及其装置和系统的制作方法
技术领域
本申请涉及网络技术领域,特别是涉及一种数据的接收方法、发送方法及其装置和系统。
背景技术
当前,随着网络技术的普及,各种网络应用在人们的工作和生活中也越来越重要, 尤其是文件的传输功能,在工作以及网络生活中都是必不可少的,一个好用的文件传输工具,不仅可以简化操作,提高工作效率,而且还可以愉悦使用者的心情。而作为一款好用的文件传输工具,首先传输速度需要够快,其次用户交互部分需要足够友好。其中,用户交互部分最难于处理的为进度以及速度的平滑展示。需要注意的是,传输尽量快和速度以及将进度进行展示平滑,在实现过程中往往是相互冲突的,具体的,由于发送端为了提高传输速度需要减少API (Application Programming hterface,应用程序编程接口 )调用开销,并为发送端TCP(Transmission Control Protocol传输控制协议)/IP (互联网Protocol,网络互连协议)堆栈提供足够的数据,减少空闲等待时间,所以每次需要向socket (套接字)传递尽量多的数据,而传递的数据多久之后能够到达接收端,取决于网络状况。只有数据完全到达接收端之后,发送端才可以再次发送数据。假设第i次传递给socket的数据长度为Di,现有技术中,为了解决用户感觉出进度和速度更新不够及时,有卡的感觉,展示不平滑的问题,需要保证Di要小于(LBW*2)/RTT。 其中,LBW为链路带宽(Link Band Width), RTT为发送报文与接收到另一端的响应之间的延时。进一步地,如果Di小于LBW*RTT,则会造成带宽利用不足,TCP/IP堆栈经常处于空闲状态,此时,还需要Di大于等于LBW*RTT*2。现有技术中,由于互联网结构的复杂性,在实际处理的过程中,很难准确计算出发送端和接收端之间的LBW,而通常的做法是发送端由传输响应逐步调整发送包的大小。但是,在实现本申请的过程中,申请人发现现有技术中至少存在如下问题现有技术在直连情况下,可以达到预期的效果,但是在部分中转环境下使用体验很差。例如,发送端到中转服务器的网络环境比较理想,可以快速传输数据,而接收端到中转服务器的网络环境比较差,传输速度比较慢,而中转服务器中有比较大的缓冲。对于上述场景来说,发送端的数据包D能够很快的传输到中转服务器,此时,需要调大数据包的大小,再次发送到中转服务器。而数据到达中转服务器之后,非常缓慢的通过中转服务器到达接收端,如此将会造成发送端和接收端进度和速度严重不一致,以及进度和速度更新延迟严重的问题。

发明内容
本申请提供一种数据的接收方法、发送方法及其装置和系统,以在提升传输速度的同时,准确有效的计算出真实的传输速度以及进度。
为了达到上述目的,本申请提出一种数据的传输方法,应用于包括发送端和接收端的系统中,所述方法包括以下步骤所述接收端接收来自所述发送端的当前数据包,并根据所述当前数据包与前一数据包之间的时间间隔以及所述当前数据包的包长计算所述待传输数据包的包长;所述接收端向所述发送端发送应答消息,所述应答消息中携带了所述待传输数据包的包长信息。根据所述当前数据包与前一数据包之间的时间间隔以及所述当前数据包的包长计算所述待传输数据包的包长,具体包括当所述当前数据包与前一数据包之间的时间间隔小于预设的第一阈值时,所述接收端将所述待传输数据包的包长设为大于所述当前数据包的包长;当所述当前数据包与前一数据包之间的时间间隔大于预设的第二阈值时,所述接收端将所述待传输数据包的包长设为小于所述当前数据包的包长,所述第一阈值小于所述
第二阈值。所述接收端向所述发送端发送应答消息之前,还包括所述接收端根据所述当前数据包获取自身接收到的来自所述发送端的数据量信息,并在所述应答消息中还携带所述接收端接收到的数据量信息。一种数据的发送方法,应用于包括发送端和接收端的系统中,所述方法包括以下步骤所述发送端接收来自接收端的应答消息,所述应答消息中携带所述接收端根据当前数据包计算的待传输数据包的包长;所述发送端根据所述待传输数据包的包长获取待传输数据包,并将所述待传输数据包发送给所述接收端。所述来自接收端的应答消息中还包括所述接收端接收到的数据量,所述发送端根据所述待传输数据包的包长获取所述待传输数据包,具体包括所述发送端判断向所述接收端发送的数据量是否小于所述接收端接收到的数据量与网络能力支持的包长之和;如果是,则所述发送端根据所述待传榆数据包的包长获取所述待传输数据包;否则,所述发送端不获取所述待传输数据包。一种接收端,应用于包括发送端和接收端的系统中,包括接收模块,用于接收来自所述发送端的当前数据包;计算模块,用于根据所述接收模块接收的当前数据包与前一数据包之间的时间间隔以及所述当前数据包的包长计算所述待传输数据包的包长;发送模块,用于向所述发送端发送应答消息,所述应答消息中携带了所述计算模块计算的所述待传输数据包的包长信息。所述计算模块,具体用于当所述当前数据包与前一数据包之间的时间间隔小于预设的第一阈值时,将所述待传输数据包的包长设为大于所述当前数据包的包长;当所述当前数据包与前一数据包之间的时间间隔大于预设的第二阈值时,将所述待传输数据包的包长设为小于所述当前数据包的包长。所述计算模块,还用于根据所述当前数据包获取自身接收到的来自所述发送端的数据量信息;并在所述应答消息中携带所述接收端接收到的数据量信息。一种发送端,应用于包括发送端和接收端的系统中,包括接收模块,用于接收来自接收端的应答消息,所述应答消息中携带所述接收端根据当前数据包计算的待传输数据包的包长;获取模块,用于根据所述接收模块接收的所述待传输数据包的包长获取待传输数据包;发送模块,用于将所述获取模块获取的待传输数据包发送给所述接收端。所述来自接收端的应答消息中还包括所述接收端接收到的数据量,所述获取模块,具体用于判断向所述接收端发送的数据量是否小于所述接收端接收到的数据量与网络能力支持的包长之和;如果是,则根据所述待传输数据包的包长获取所述待传输数据包;否则,不获取所述待传输数据包。—种数据的传输系统,包括发送端和接收端,其中,所述接收端,用于接收来自所述发送端的当前数据包,并根据所述当前数据包与前一数据包之间的时间间隔以及所述当前数据包的包长计算所述待传输数据包的包长;向所述发送端发送应答消息,所述应答消息中携带了所述待传输数据包的包长信息;所述发送端,用于根据所述应答消息中携带的待传输数据包的包长获取待传输数据包,并将所述待传输数据包发送给所述接收端。本申请包括以下优点,接收端根据当前数据包计算待传输数据包的包长,并由发送端根据该待传输数据包的包长获得需要向接收端发送的当前数据包,从而由接收端确定在网络中传输的当前数据包的包长,能够在提升传输速度的同时,准确有效的计算出真实的传输速度以及进度。


为了更清楚地说明本申请或现有技术中的技术方案,下面将对本申请或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例一中的一种数据的接收方法流程图;图2为本申请实施例二中的一种数据的发送方法流程图;图3A和图;3B为本申请实施例应用场景示意图;图4为本申请实施例三中的一种数据的发送接收方法流程图;图5为本申请实施例四中的一种数据的接收装置结构示意图;图6为本申请实施例五中的一种数据的发送装置结构示意图。
具体实施例方式下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的其他实施例,都属于本申请保护的范围。本申请中,在发送端向接收端发送数据包的过程中,将发送端已经发送,接收端还未接收或正接收的数据包称为当前数据包,当前数据包可以有多个。将每个当前数据包的前一个数据包称为前一数据包(如果当前数据包有多个,则前一数据包也可以是当前数据包),将发送端在当前数据包之后的一个数据包称为待传输数据包。例如,假设发送端已经发送了数据包Dl、D2、D3并准备发送数据包D4,接收端正在接收Dl但还未接收到D2、D3, 此时D1、D2、D3称为当前数据包,则Dl为D2的前一数据包,依此类推,D4为待传输数据包。实施例一一种数据的接收方法,其流程图如图1所示,应用于包括发送端和接收端的系统中,实施例一为针对接收端的处理过程,包括以下步骤步骤101,所述接收端接收来自所述发送端的当前数据包,并根据所述当前数据包与前一数据包之间的时间间隔以及所述当前数据包的包长计算所述待传输数据包的包长;步骤102,所述接收端向所述发送端发送应答消息,所述应答消息中携带了所述待传输数据包的包长信息,所述发送端根据该包长信息调整所述待传输数据包的包长。优选地,本实施例中,在计算待传输数据包的包长时,当所述当前数据包与前一数据包之间的时间间隔小于预设的第一阈值时,所述接收端将所述待传输数据包的包长设为大于所述当前数据包的包长(具体大于多少,可根据网络状况选择。例如,将所述待传输数据包的包长设为所述当前数据包的包长的2倍)。当所述当前数据包与前一数据包之间的时间间隔大于预设的第二阈值时,所述接收端将所述待传输数据包的包长设为小于所述当前数据包的包长(具体小于多少,同样可根据网络状况选择。例如,将所述待传输数据包的包长设为所述当前数据包的包长的1/幻。其中,所述第二阈值大于所述第一阈值。其中,所述第一阈值和第二阈值用于衡量带宽是否被充分利用。如果所述当前数据包与前一数据包之间的时间间隔小于预设的第一阈值,表明网络当前传输速度快,带宽未充分利用,此时可增大所述待传输数据包的包长,以尽可能利用网络带宽。如果所述当前数据包与前一数据包之间的时间间隔大于预设的第二阈值,表明网络当前传输速度慢,带宽不足,此时可减小所述待传输数据包的包长,以尽可能避免因带宽不足,而使得传输时间过长,甚至导致因数据包丢失而需要重发。如果所述当前数据包与前一数据包之间的时间间隔位于所述第一阈值与第二阈值之间,这表明当前网络带宽已经得到比较充分的利用,因此可以不调整所述待传输数据包的包长,如维持所述传输数据包的包长与所述当前数据包的包长相近或相等。具体地,在本申请中,当接收端接收到当前数据包Di后,需要计算当前数据包Di 与前一数据包Dg之间的时间间隔t,如果该时间间隔t小于该第一阈值时,所述接收端将待传输数据包的包长设为大于所述当前数据包的包长;如果该时间间隔t大于该第二阈值时,所述接收端将待传输数据包的包长设为小于所述当前数据包的包长。例如,根据对当前网络状况的测试或经验数据,将所述第一阈值和第二阈值分别设定为0.&和&。即当前数据包与前一数据包之间的时间间隔位于0.5s-k之间时,表明数据包的包长设定合理,能够较为充分的利用当前的网络带宽,当前数据包在网络中可以较好地传输。如果当前数据包与前一数据包之间的时间间隔小于0.5s(第一阈值)时,表明带宽未得到充分利用,因此,在本申请中,将所述待传输数据包的包长设定为大于当前数据包的包长,如将所述待传输数据包的包长设定为当前数据包的包长2倍,以提高发送端的数据发送速度,充分利用带宽资源。如果当前数据包与前一数据包之间的时间间隔大于2s (第二阈值)时,表明带宽不足,用户可能会感觉出进度和速度更新不够及时,会有卡的感觉,因此,在本申请中,将所述待传输数据包的包长设定为小于当前数据包的包长,如将所述待传输数据包的包长设定为当前数据包的包长一半,增加当前数据包的传输速度,避免数据包的传输时间过长而出现丢失等现象,更好地保证数据包的传输进度和速度。优选地,在本申请中,所述接收端还可以计算自身已经接收到的来自所述发送端的数据量信息,并在所述应答消息中携带所述接收端接收到的数据量信息。实施例二一种数据的发送方法,其流程图如图2所示,应用于包括发送端和接收端的系统中,实施例二为针对发送端的处理过程,包括以下步骤步骤201,所述发送端接收来自接收端的应答消息,所述应答消息中携带所述接收端根据当前数据包计算的待传输数据包的包长;步骤202,所述发送端根据所述待传输数据包的包长获取待传输数据包,并将所述待传输数据包发送给所述接收端。优选地,来自接收端的应答消息中还包括所述接收端接收到的数据量,所述发送端根据所述待传输数据包的包长获取所述待传输数据包具体包括所述发送端判断已经向所述接收端发送的数据量是否小于所述接收端接收到的数据量与网络能力支持的包长之和;如果是,则所述发送端根据所述待传输数据包的包长获取所述待传输数据包;否则,所述发送端确定当前时刻不需要根据所述待传输数据包的包长获取所述待传输数据包。为了更加清楚的说明本申请实施例,以下对网络能力支持的包长进行详细说明。 为了保证当前数据包在网络中的正常传输,在网络中传输的当前数据包的个数需要满足网络能力的要求,例如,网络只能够保证3个当前数据包同时在网络中进行传输时,则网络能力支持的当前数据包的个数是3个。并且网络能力支持的包长为网络能力支持的当前数据包的个数与待传输数据包的包长之积,由于待传输数据包的包长会发生变化,因此相应的网络能力支持的包长也会发生变化。例如,当接收到第一个应答消息得到待传输数据包的包长为20K,则网络能力支持的包长为60K,当接收到第一个应答消息得到待传输数据包的包长为25K,则网络能力支持的包长为75K。具体地,当接收到来自接收端的应答消息后,该发送端能够从该应答消息中解析出待传输数据包的包长D和接收端已经接收到的来自该发送端的数据量AckD。其中,通过该AckD,该发送端能够获知接收端至少接收到了 AckD长度的文件数据。对于有中转服务器的网络环境,为了避免发送端和接收端两端进度的严重不一致,以及发送端速度抖动剧烈等问题,发送端需要避免循环向接收端发送数据包。而如果采用现有的发送一个数据包,再等待确认一个数据包,之后再发送一个数据包的方式,或者不针对网络能力调整包长的传输方式,则会降低网络带宽的利用率和数据包的传输速度。在本申请中,发送端在发送了当前数据包Di后,根据发送端已经向接收端发送了 Σ“Df的数据量,以及接收端已经接收到的来自该发送端的数据量AckD,判断玛^Dl是否小于AckD与当前网络能力支持的包长的和,如果是,则表明当前网络状况较好,此时发送端可以继续向接收端发送当前数据包;如果否,则表明当前网络状况较差,此时发送端可停止向接收端发送数据包。本申请中,由于发送端向接收端发送的待传输数据包的包长会根据来自接收端的应答消息进行调整,所以在待传输数据包变成当前数据包进行传输时,当前数据包Di的包长即可能是相同的,也可能是不同的。综上所述,在数据从发送端到达接收端的过程中,不管经过多少网络中继设备,对于整个系统而言,接收端单位时间内收到的数据量才是进度更新和计算速度最可靠的依据。而本申请中,由接收端指定待传输数据包的包长以及调控发送端可发送的数据量,当接收端接收到当前数据包之后,计算合适的待传输数据包的包长,向发送端返回应答消息,该应答消息中附带计算出的待传输数据包的包长。发送端接收到接收端的应答消息之后,重新设定待传输数据包的包长,并根据确认的数据量发送新的当前数据包。从而由接收端确定在网络中传输的当前数据包的包长,能够在提升传输速度的同时,准确有效的计算出真实的传输速度以及进度。实施例三为了更加清楚的阐述本申请提供的技术方案,以下结合具体应用场景对上述数据的传输方法进行具体、详细的描述。如图3A所示的一种应用场景示意图,发送端通过互联网与接收端连接,如图3B所示的另一种应用场景示意图,发送端通过互联网与中转服务器连接,中转服务器通过互联网与接收端连接。基于上述应用场景,本申请实施例三在结合实施例一、实施例二的基础上,提供一种数据的发送接收方法,其流程图如图4所示,包括以下步骤步骤401,所述接收端接收来自所述发送端的当前数据包,并根据所述当前数据包与前一数据包之间的时间间隔以及所述当前数据包的包长计算所述待传输数据包的包长。步骤402,所述接收端向所述发送端发送应答消息,所述应答消息中携带了所述待传输数据包的包长信息。步骤403,所述发送端接收来自接收端的应答消息,所述应答消息中携带所述接收端根据当前数据包计算的待传输数据包的包长。步骤404,所述发送端根据所述待传输数据包的包长获取待传输数据包,并将所述待传输数据包作为当前数据包发送给所述接收端。为了更加清楚的阐述本申请,以下结合一个具体的应用来进行说明。在本申请中, 将数据包长度初始化为2K(该数据包长度初始化的数值可以根据实际需要任意选择),如果当前数据包传输连接建立成功之后,则发送端向接收端发送3个包长为I的当前数据包,分别为当前数据包1、当前数据包2和当前数据包3。并且接收端的所述第一阈值和第二阈值分别设定为0. 5s和2So当接收端接收到当前数据包Di后,计算当前数据包Di与前一数据包Dg之间的时间间隔t,如果时间间隔t位于0. 5s-2s之间,则应答消息中的待传输数据包的包长为当前数据包的包长;时间间隔t小于0.5s (第一阈值)时,将所述应答消息中的待传输数据包的包长设定为当前数据包的包长的2倍;如果时间间隔t大于k(第二阈值)时,将所述应答消息中的待传输数据包的包长设定为当前数据包包长的一半。当接收端接收到当前数据包1时,则向发送端返回应答消息1。其中,由于当前数据包1是首个接收到的数据包,应答消息1中可以携带待传输数据包的包长为数据包1的包长,即2K,应答消息1中还可以携带自身已经接收到I数据量的信息。当接收端接收到当前数据包2时,则向发送端返回应答消息2。其中,根据接收到当前数据包1与接收到当前数据包2之间的时间间隔t(以Is为例),应答消息2中可以携带待传输数据包的包长为2K,即数据包2的包长,并携带自身已经接收到4K数据量的信肩、ο当接收端接收到当前数据包3时,则向发送端返回应答消息3。其中,根据接收到当前数据包2与接收到当前数据包3之间的时间间隔t (以3s为例),应答消息3中可以携带待传输数据包的包长为1K,即数据包3包长的一半,并携带自身已经接收到6K数据量的信息。当发送端接收到应答消息1时,知道发送端已经向接收端发送了 6K数据量,接收端已经接收到I数据量,待传输数据包的包长为2K,由于6K小于I+3MK,则发送端确定需要继续向接收端发送数据包,此时,发送端组成包长为观的待传输数据包,并将待传输数据包作为当前数据包4发送给接收端。当发送端接收到应答消息2时,知道发送端已经向接收端发送了 8K数据量(即数据包1至数据包4之和),接收端已经接收到4K数据量,待传输数据包的包长为2K,由于8K 小于4K+3MK,则发送端确定需要继续向接收端发送数据包,此时,发送端组成包长为I的待传输数据包,并将待传输数据包作为当前数据包5发送给接收端。当发送端接收到应答消息3时,知道发送端已经向接收端发送了 IOK数据量(即数据包1至数据包5之和),接收端已经接收到6K数据量,待传输数据包的包长为1K,由于 IOK大于6K+3*1K,则发送端确定此时不需要继续向接收端发送数据包,继续等待接收应答消息。当接收端接收到当前数据包4时,则向发送端返回应答消息4。其中,根据接收到当前数据包4与接收到当前数据包3之间的时间间隔t (以0.如为例),应答消息4中可以携带待传输数据包的包长为4K,即数据包4包长的一倍,并携带自身已经接收到8K数据量的信息。当发送端接收到应答消息4时,知道发送端已经向接收端发送了 IOK数据量(即数据包1至数据包5之和),接收端已经接收到8K数据量,由于应答消息4中的待传输数据包的包长为4K,由于IOK小于8K+3*4K ;因此发送端确定需要继续向接收端发送数据包,此时,发送端组成包长为4Κ的待传输数据包,并将待传输数据包作为当前数据包6发送给接收端。依此类推,本申请中不再详加赘述。实施例四与实施例一提供的数据的接收方法和应用场景相对应地,本实施例四提供一种接收端。图5为本申请实施例四中的一种接收端的结构示意图,应用于包括发送端和接收端的系统中,该接收端包括接收模块11,用于接收来自所述发送端的当前数据包;计算模块12,用于根据所述接收模块11接收的当前数据包与前一数据包之间的时间间隔以及所述当前数据包的包长计算所述待传输数据包的包长;
发送模块13,用于向所述发送端发送应答消息,所述应答消息中携带了所述计算模块12计算的所述待传输数据包的包长信息。本申请中,所述计算模块12,具体用于当所述当前数据包与前一数据包之间的时间间隔小于预设的第一阈值时,将所述待传输数据包的包长设为大于所述当前数据包的包长;当所述当前数据包与前一数据包之间的时间间隔大于预设的第二阈值时,将所述待传输数据包的包长设为小于所述当前数据包的包长。所述计算模块12,还用于根据所述当前数据包获取自身接收到的来自所述发送端的数据量信息;并在所述应答消息中携带所述接收端接收到的数据量信息。其中,本申请装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。实施例五与实施例二提供的数据的发送方法和应用场景相对应地,本实施例五提供一种发送端。图6为本申请实施例五中的一种发送端的结构示意图,应用于包括发送端和接收端的系统中,该发送端包括接收模块21,用于接收来自所述接收端的应答消息,所述应答消息中携带所述接收端根据当前数据包计算的待传输数据包的包长。获取模块22,用于根据所述接收模块21接收的所述待传输数据包的包长获取待传输数据包。发送模块23,用于将所述获取模块22获取的待传输数据包发送给所述接收端。另外,所述来自接收端的应答消息中还包括所述接收端接收到的数据量,所述获取模块22,具体用于判断向所述接收端发送的数据量是否小于所述接收端接收到的数据量与网络能力支持的包长之和;如果是,则根据所述待传输数据包的包长获取所述待传输数据包;否则,不获取所述待传输数据包。其中,本申请装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。实施例六与实施例三提供的数据的传输方法和应用场景相对应地,本申请实施例六提出了一种数据的传输系统,包括实施例四的发送端和实施例五的接收端,其中,所述接收端,用于接收来自所述发送端的当前数据包,并根据所述当前数据包与前一数据包之间的时间间隔以及所述当前数据包的包长计算所述待传输数据包的包长;向所述发送端发送应答消息,所述应答消息中携带了所述待传输数据包的包长信息;所述发送端,用于根据所述应答消息中携带的待传输数据包的包长获取待传输数据包,并将所述待传输数据包发送给所述接收端。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本申请的保护范围。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以集成于一体,也可以分离部署;可以合并为一个模块,也可以进一步拆分成多个子模块。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本申请的几个具体实施例,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
权利要求
1.一种数据的接收方法,其特征在于,应用于包括发送端和接收端的系统中,所述方法包括以下步骤所述接收端接收来自所述发送端的当前数据包,并根据所述当前数据包与前一数据包之间的时间间隔以及所述当前数据包的包长计算所述待传输数据包的包长;所述接收端向所述发送端发送应答消息,所述应答消息中携带了所述待传输数据包的息 O
2.如权利要求1所述的方法,其特征在于,根据所述当前数据包与前一数据包之间的时间间隔以及所述当前数据包的包长计算所述待传输数据包的包长,具体包括当所述当前数据包与前一数据包之间的时间间隔小于预设的第一阈值时,所述接收端将所述待传输数据包的包长设为大于所述当前数据包的包长;当所述当前数据包与前一数据包之间的时间间隔大于预设的第二阈值时,所述接收端将所述待传输数据包的包长设为小于所述当前数据包的包长,所述第一阈值小于所述第二阈值。
3.如权利要求1所述的方法,其特征在于,所述接收端向所述发送端发送应答消息之前,还包括所述接收端根据所述当前数据包获取自身接收到的来自所述发送端的数据量信息,并在所述应答消息中还携带所述接收端接收到的数据量信息。
4.一种数据的发送方法,其特征在于,应用于包括发送端和接收端的系统中,所述方法包括以下步骤所述发送端接收来自接收端的应答消息,所述应答消息中携带所述接收端根据当前数据包计算的待传输数据包的包长;所述发送端根据所述待传输数据包的包长获取待传输数据包,并将所述待传输数据包发送给所述接收端。
5.如权利要求4所述的方法,其特征在于,所述来自接收端的应答消息中还包括所述接收端接收到的数据量,所述发送端根据所述待传输数据包的包长获取所述待传输数据包,具体包括所述发送端判断向所述接收端发送的数据量是否小于所述接收端接收到的数据量与网络能力支持的包长之和;如果是,则所述发送端根据所述待传输数据包的包长获取所述待传输数据包;否则,所述发送端不获取所述待传输数据包。
6.一种接收端,其特征在于,应用于包括发送端和接收端的系统中,包括接收模块,用于接收来自所述发送端的当前数据包;计算模块,用于根据所述接收模块接收的当前数据包与前一数据包之间的时间间隔以及所述当前数据包的包长计算所述待传输数据包的包长;发送模块,用于向所述发送端发送应答消息,所述应答消息中携带了所述计算模块计算的所述待传输数据包的包长信息。
7.如权利要求6所述的接收端,其特征在于,所述计算模块,具体用于当所述当前数据包与前一数据包之间的时间间隔小于预设的第一阈值时,将所述待传输数据包的包长设为大于所述当前数据包的包长;当所述当前数据包与前一数据包之间的时间间隔大于预设的第二阈值时,将所述待传输数据包的包长设为小于所述当前数据包的包长。
8.如权利要求6所述的接收端,其特征在于,所述计算模块,还用于根据所述当前数据包获取自身接收到的来自所述发送端的数据量信息;并在所述应答消息中携带所述接收端接收到的数据量信息。
9.一种发送端,其特征在于,应用于包括发送端和接收端的系统中,包括接收模块,用于接收来自接收端的应答消息,所述应答消息中携带所述接收端根据当前数据包计算的待传输数据包的包长;获取模块,用于根据所述接收模块接收的所述待传输数据包的包长获取待传输数据包;发送模块,用于将所述获取模块获取的待传输数据包发送给所述接收端。
10.如权利要求9所述的发送端,其特征在于,所述来自接收端的应答消息中还包括所述接收端接收到的数据量,所述获取模块,具体用于判断向所述接收端发送的数据量是否小于所述接收端接收到的数据量与网络能力支持的包长之和;如果是,则根据所述待传输数据包的包长获取所述待传输数据包;否则,不获取所述待传输数据包。
11.一种数据的传输系统,其特征在于,包括发送端和接收端,其中,所述接收端,用于接收来自所述发送端的当前数据包,并根据所述当前数据包与前一数据包之间的时间间隔以及所述当前数据包的包长计算所述待传输数据包的包长;向所述发送端发送应答消息,所述应答消息中携带了所述待传输数据包的包长信息;所述发送端,用于根据所述应答消息中携带的待传输数据包的包长获取待传输数据包,并将所述待传输数据包发送给所述接收端。
全文摘要
本发明公开了一种数据的接收方法、发送方法及其装置和系统,该方法包括以下步骤所述接收端接收来自所述发送端的当前数据包,并根据所述当前数据包与前一数据包之间的时间间隔以及所述当前数据包的包长计算所述待传输数据包的包长;所述接收端向所述发送端发送携带了所述待传输数据包的包长信息的应答消息,所述发送端接收来自接收端的应答消息,所述发送端根据所述待传输数据包的包长获取待传输数据包,并将所述待传输数据包发送给所述接收端。本发明中,由接收端确定在网络中传输的当前数据包的包长,能够在提升传输速度的同时,准确有效的计算出真实的传输速度以及进度。
文档编号H04L1/00GK102263605SQ201010184190
公开日2011年11月30日 申请日期2010年5月27日 优先权日2010年5月27日
发明者白振国 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1