一种数据传输方法和装置的制造方法

文档序号:9491789阅读:294来源:国知局
一种数据传输方法和装置的制造方法
【技术领域】
[0001]本发明涉及网络通讯领域,尤其涉及一种数据传输方法和装置。
【背景技术】
[0002]对于非对称信道来说,用户的上行带宽远小于用户的下行带宽。例如下载的情况,当用户下载时,下载的速度远大于上传的速度。使用TCP协议下载时,用户接收到每两个下载的报文段后,就向服务器发送确认报文,这样就会有很多的确认报文。在弱网的情况下,当确认报文多了之后就会发生上行网络拥塞导致确认报文丢包。当确认报文丢包时,上行的带宽已经发生了网络拥塞,而下行的带宽可能并没有得到充分的利用,如下行带宽为6M,当发生丢包时只用了 4M,另外2M并没有得到利用。另外,当很多确认报文丢失后,用户还需要再次发送确认报文,浪费了带宽。

【发明内容】

[0003]为了解决上述非对称信道数据传输过程中浪费带宽的问题,本发明提出了一种数据传输方法和装置。
[0004]本发明提供了一种数据传输方法,所述方法包括以下步骤:
[0005]发送方把将要发送的数据分成一个或者多个数据块,并对每一个数据块进行序号标识表示数据块的序号,对每一个数据块设置第一发送状态标识用于表示数据块处于未发送状态;
[0006]发送方建立发送位图表,发送位图表中包括所述每一个数据块的序号标识、所述每一个数据块对应的第一发送状态标识;
[0007]发送方将所述发送位图表中对应的每一个数据块发送出去并保存,并更改每一个数据块对应的第一发送状态标识为第二发送状态标识,用于表示该数据块已发送;
[0008]发送方判断所述数据块是否全部发送;
[0009]如果所述数据块全部发送,发送方发送询问数据包询问接收方是否接收到发送的每一个数据块;
[0010]发送方接收由接收方发送的应答数据包,所述应答数据包告诉发送方需要发送的数据块的信息,所述数据块的信息至少包括一个数据快的序号标识;
[0011]根据需要发送的数据块的信息判断是否有需要发送的数据块;
[0012]如果没有需要发送的数据块,发送方删除保存的数据块。
[0013]优选地,根据需要发送的数据块的信息判断,如果有需要发送的数据块,则发送方发送应答数据包中表示的需要发送的数据块。
[0014]优选地,所述方法还包括如下步骤:
[0015]接收方建立接收位图表,接收位图表包括每一个数据块的序号标识用于表示数据块的序号,每一个数据块对应的第一接收状态标识用于表示数据块处于未接收状态;
[0016]接收方接收发送方发送的数据块,并更改相应数据块的第一接收状态标识为第二接收状态标识,用于表示该数据块已经接收到;
[0017]接收方判断是否接收到询问数据包;
[0018]如果接收方接收到询问数据包,判断接收位图表中是否有保持第一接收状态标识的数据块;
[0019]如果没有保持第一接收状态标识的数据块,则接收方发送应答数据包,所述应答数据包包括表示接收方已全部接收到数据块的信息。
[0020]优选地,接收位图表中如果有保持第一接收状态标识的数据块,则接收方发送应答数据包给发送方,所述应答数据包包括保持第一接收状态标识的数据块的序号标识。
[0021]优选地,所述询问数据包和所述应答数据包同时发送多份。
[0022]本发明还提供了一种数据传输装置,所述装置包括发送方,所述发送方包括:数据分块模块,用于把将要发送的数据分成一个或者多个数据块,并对每一个数据块进行序号标识表示数据块的序号,对每一个数据块设置第一发送状态标识用于表示数据块处于未发送状态;
[0023]发送位图表模块,用于建立发送位图表,发送位图表中包括所述每一个数据块的序号标识、所述每一个数据块对应的第一发送状态标识;
[0024]数据发送保存模块,用于将所述发送位图表中对应的每一个数据块发送出去并保存,并更改每一个数据块对应的第一发送状态标识为第二发送状态标识,用于表示该数据块已发送;
[0025]第一判断模块,用于判断所述数据块是否全部发送;
[0026]询问模块,用于如果所述数据块全部发送,发送方发送询问数据包询问接收方是否接收到发送的每一个数据块;
[0027]接收模块,用于接收由接收方发送的应答数据包,所述应答数据包告诉发送方,需要发送的数据块的信息,所述数据块的信息至少包括一个数据快的序号标识;
[0028]第二判断模块,用于根据需要发送的数据块的信息判断是否有需要发送的数据块;
[0029]数据删除模块,用于如果没有需要发送的数据块,发送方删除保存的数据块。
[0030]优选地,所述数据发送保存模块,还用于根据需要发送的数据块的信息判断如果有需要发送的数据块,则发送方发送应答数据包中表示的需要发送的数据块。
[0031]优选地,所述装置包括接收方,所述接收方包括:
[0032]接收位图表模块,用于建立接收位图表,接收位图表包括每一个数据块的序号标识用于表示数据块的序号,每一个数据块对应的第一接收状态标识用于表示数据块处于未接收状态;
[0033]数据接收模块,用于接收发送方发送的数据块,并更改相应数据块的第一接收状态标识为第二接收状态标识,用于表示该数据块已经接收到;
[0034]第一判断模块,用于判断是否接收到询问数据包;
[0035]第二判断模块,用于如果接收方接收到询问数据包,判断接收位图表中是否有保持第一接收状态标识的数据块;
[0036]数据发送模块,还用于如果接收位图表中没有保持第一接收状态标识的数据块,则接收方发送应答数据包,所述应答数据包包括表示接收方已全部接收到数据块的信息。
[0037]优选地,收位图表中如果有保持第一接收状态标识的数据块,则接收方发送应答数据包给发送方,所述应答数据包包括保持第一接收状态标识的数据块的序号标识。
[0038]优选地,所述询问数据包和所述应答数据包同时发送多份。
[0039]本发明通过以上方法和装置,避免了在非对称信道中上行网络发生拥塞而下行网络带宽还没有充分利用的情况。尤其是用户从服务器上下载数据时,通过本发明的数据传输方案,用户只需要在接收到服务器发送的询问数据包后发送少量的应答数据包给服务器即可,充分利用了下行网络带宽,提高了网络的利用率。
【附图说明】
[0040]为了更清楚的说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0041]图1为一种数据传输方法发送方的发送流程图。
[0042]图2为一种数据传输方法接收方的接收流程图。
[0043]图3为数据传输过程中发送位图表和接收位图表的状态图。
[0044]图4为发送方发送装置的功能模块图。
[0045]图5为接收方接收装置的功能模块图。
【具体实施方式】
[0046]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的【具体实施方式】作进一步的详细描述。
[0047]图1为一种数据传输方法发送方的发送流程图。所述方法包括以下步骤:
[0048]步骤SI I,发送方把将要发送的数据分成一个或者多个数据块,并对每一个数据块进行序号标识表示该数据块的序号,设置每一个数据块对应的第一发送状态标识用于表示该数据块处于未发送状态。
[0049]当将要发送的数据很小不足以分成多块或者当将要发送的数据分成多块反而浪费网络带宽时,则把将要发送的数据当成一个数据块发送;当将要
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1