一种数据传送方法及系统转让专利

申请号 : CN201310713249.2

文献号 : CN103716136B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈强周后红李庆瑜戴立言王振邦

申请人 : 上海网达软件股份有限公司

摘要 :

本发明提供了一种数据传送方法,其包括以下步骤:接收端发送数据请求,发送端根据所述数据请求将待传送数据分成多个数据包向接收端传送,当接收端每接收到一个所述数据包时会发送一个对应的ACK包至所述发送端;当接收端未接收到某一或多个数据包对应的ACK包时,根据接收到的ACK包的延迟时间判断未接受到的ACK包对应的数据包是否丢包,并根据丢包情况进行具体操作。本发明在丢包率、连续丢包数量、带宽稳定性、带宽适应性、实时性等等方面均优于目前现有的TCP协议栈。

权利要求 :

1.一种网络系统,其特征在于,包括用户端、加速服务器端以及站点服务集群,所述用户端与所述加速服务器端通过UDP协议进行数据传送,所述加速服务器端与所述站点服务集群通过TCP协议进行数据传送,所述用户端向所述加速服务器发送数据请求,所述加速服务器通过站点服务集群得到数据并发送至所述用户端,其中所述加速服务器端包括第一FEC纠错编码单元、第一重传单元以及第一处理单元,所述用户端包括第二FEC纠错编码单元、第二重传单元以及第二处理单元;所述用户端为发送端或接收端,所述加速服务器端为接收端或发送端;其中,第一处理单元、第二处理单元用以:当发送端未接收到某一或多个数据包对应的ACK包时,根据接收到的ACK包的延迟时间判断未接收到的ACK包对应的数据包是否丢包,当丢包率在一定范围内时,控制FEC纠错编码单元编码得到替换包并通过重传单元传送,当丢包率超过所述范围时,控制所述重传单元将所述待传数据的所有数据包进行重新传送;

所述发送端实时用于发送数据包的带宽始终在所述发送端实际传输带宽范围内;所述实时带宽是根据上一个数据发送周期带宽得到的。

2.一种数据传送方法,其特征在于,用于如权利要求1所述的网络系统,包括以下步骤:接收端发送数据请求,发送端根据所述数据请求将待传送数据分成多个数据包向接收端传送,当接收端每接收到一个所述数据包时会发送一个对应的ACK包至所述发送端;

当发送端未接收到某一或多个数据包对应的ACK包时,根据已接收到的ACK包的延迟时间判断未接收到的ACK包对应的数据包是否丢包,并根据丢包情况进行具体操作。

3.如权利要求2所述的数据传送方法,其特征在于,判断未接收到的ACK

包对应的数据包是否丢包的过程包括:

根据接收端接收到各ACK包的延迟时间,计算出该未接收到的ACK延迟时间范围值,若超过该延迟时间范围值未接收到该ACK对应的数据包,则判断该数据包丢失。

4.如权利要求3所述的数据传送方法,其特征在于,当确认未接收到的数据包丢失时,将丢失的数据包进行通过FEC纠错编码重新发送至所述接收端。

5.如权利要求3所述的数据传送方法,其特征在于,当确认未接收到的数据包丢失时,将所述待传送数据的所有数据包重新向所述接收端发送。

6.如权利要求2所述的数据传送方法,其特征在于,在所述发送端先后连续发送两个不同优先级的数据请求时,接收端根据优先级别,先传送优先级别较高的数据,后传送优先级别较低的数据。

7.一种数据传送系统,其包括发送端、接收端,接收端发送数据请求,发送端根据所述数据请求将待传送数据分成多个数据包向接收端传送,当接收端每接收到一个所述数据包时会发送一个对应的ACK包至所述发送端;

其特征在于,用于如权利要求1所述的网络系统,所述发送端包括:

FEC纠错编码单元:用于对丢包的数据包进行纠错编码得到该数据包的替换包;

重传单元:用于将待传送数据的数据包重新向接收端传送;

处理单元:当发送端未接收到某一或多个数据包对应的ACK包时,根据接收到的ACK包的延迟时间判断未接收到的ACK包对应的数据包是否丢包,当丢包率在一定范围内时,控制所述FEC纠错编码单元编码得到替换包并通过所述重传单元传送,当丢包率超过所述范围时,控制所述重传单元将所述待传数据的所有数据包进行重新传送。

8.如权利要求7所述的数据传送系统,其特征在于,还包括一带宽预测单元,所述带宽预测单元根据上一个数据包发送周期带宽预测下个数据包周期的带宽。

9.如权利要求8所述的数据传送系统,其特征在于,还包括一带宽处理单元,其通过预测得到的所述带宽控制传送数据包的带宽始终在所述发送端实际传输带宽范围内。

10.如权利要求7所述的数据传送系统,其特征在于,还包括一传送处理单元,其接收所述发送端先后连续发送两个不同优先级的数据请求,并根据优先级别,先传送优先级别较高的数据,后传送优先级别较低的数据。

说明书 :

一种数据传送方法及系统

技术领域

[0001] 本发明涉及数据传输的处理方法,特别是涉及一种可大幅提高数据传输速度的数据传送方法及系统。

背景技术

[0002] 受2G/3G网络以及恶劣条件下的广域网的条件限制,手机、PC等设备在访问WEB网站时,其传输速度较慢,用户体验较差。所以一些厂商进行了相关优化。在这方面,UC浏览器采用的方式较为典型。
[0003] UC浏览器主要采用以下两种方式。
[0004] 1.数据中转:
[0005] UC浏览器采用数据中转代理的方式进行网页数据传输,起到了缩减手机端到WEB服务器间的网络传输距离,从一定意义上提高了传输速度。
[0006] 实际过程中,手机等2G/3G设备在访问WEB网站进行数据传输时,其主要的瓶颈在2G/3G无线网络上,但是使用代理方式仅仅提高网络传输过程中广域网的传输效果,并没有提高无线网络上的传输速度,因此该方式对网络传输效果的提高意义不大,主要提高的是网站的并发访问量,通过降低网站负荷来提高网站访问速度。
[0007] 其他一些网络传输服务领域,包括网络视频服务的厂商,也大量采用代理的方式。
[0008] 2.数据压缩:
[0009] UC浏览器在数据中转代理的过程中对数据进行了压缩,以减少数据量的方式,提高网页下载速度。
[0010] 但是,实际的WEB网页由两部分组成:脚本数据和图片。
[0011] 脚本数据相对数据量小,而占数据的极大部分的图片大多使用JPG或PNG等已经压缩后的格式,无法进一步压缩。
[0012] 因此,压缩的方式,提高网页下载速度并不明显。
[0013] 对于数据压缩后传输的方式,在多个网络传输领域中均有出现。
[0014] 综上所述,现有的相关技术并没有真正意义上提高2G/3G网络下无线传输的传输速度。

发明内容

[0015] 本发明提供了一种数据传送方法,其包括以下步骤:
[0016] 接收端发送数据请求,发送端根据所述数据请求将待传送数据分成多个数据包向接收端传送,当接收端每接收到一个所述数据包时会发送一个对应的ACK包至所述发送端;
[0017] 当发送端未接收到某一或多个数据包对应的ACK包时,根据接收到的ACK包的延迟时间判断未接受到的ACK包对应的数据包是否丢包,并根据丢包情况进行具体操作。
[0018] 较佳地,,判断未接收到的ACK包对应的数据包是否丢包的过程包括:
[0019] 根据未接收到的ACK包接收到的ACK包的延迟时间,计算出该未接收到的ACK延迟时间范围值,若超过该延迟时间范围值未接收到该ACK对应的数据包,则判断该数据包丢失。
[0020] 较佳地,当确认未接收到的数据包丢失时,将丢失的数据包进行通过FEC纠错编码重新发送至所述接收端。
[0021] 较佳地,当确认未接收到的数据包丢失时,将所述待传送数据的所有数据包重新向所述接收端发送。
[0022] 较佳地,所述发送端实时用于发送数据包的带宽始终在所述发送端实际传输带宽范围内。
[0023] 较佳地,所述实时带宽是根据上一个数据发送周期带宽得到的。
[0024] 较佳地,在所述发送端先后连续发送两个不同优先级的数据请求时,接收端根据优先级别,先传送优先级别较高的数据,后传送优先级别较低的数据。
[0025] 本发明还提供了一种数据传送系统,其包括发送端、接收端,接收端发送数据请求,发送端根据所述数据请求将待传送数据分成多个数据包向接收端传送,当接收端每接收到一个所述数据包时会发送一个对应的ACK包至所述发送端;
[0026] 所述发送端包括:
[0027] 所述FEC纠错编码单元:用于对丢包的数据包进行纠错编码得到该数据包的替换包;
[0028] 所述重传单元:用于将待传送数据的数据包重新向接收端传送;
[0029] 所述处理单元:当发送端未接收到某一或多个数据包对应的ACK包时,根据接收到的ACK包的延迟时间判断未接受到的ACK包对应的数据包是否丢包,当丢包率在一定范围内时,控制所述FEC纠错编码单元编码得到替换包并通过所述重传单元传送,当丢包率超过所述范围时,控制所述重传单元将所述待传数据的所有数据包进行重新传送。
[0030] 较佳地,还包括一带宽预测单元,所述带宽预测单元根据上一个数据包发送周期带宽预测下个数据包周期的带宽。
[0031] 较佳地,还包括一带宽处理单元,其通过预测得到的所述带宽控制传送数据包的带宽始终在所述发送端实际传输带宽范围内。
[0032] 较佳地,还包括一传送处理单元,其接收所述发送端先后连续发送两个不同优先级的数据请求,并根据优先级别,先传送优先级别较高的数据,后传送优先级别较低的数据。
[0033] 本发明还提供了一种网络系统,其包括用户端、加速服务器端以及站点服务集群,所述用户端与所述加速服务器端通过UDP协议进行数据传送,所述加速服务器端与所述站点服务集群通过TCP协议进行数据传送,所述用户端向所述加速服务器发送数据请求,所述加速服务器通过站点服务集群得到数据并发送至所述用户端,其中所述发送端包括第一FEC纠错编码单元、第一重传单元以及第一处理单元,所述接收端包括第二FEC纠错编码单元、第二重传单元以及第二处理单元。
[0034] 在丢包率、连续丢包数量、带宽稳定性、带宽适应性、实时性等等方面均优于目前现有的TCP协议栈,算法中提高的业务特点优化机制指的是针对HTTP数据量的大小进行不同处理。
[0035] 当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

[0036] 图1为本发明实施例一提供的方法流程;
[0037] 图2为本发明实施例二提供的数据传送系统结构示意图;
[0038] 图3为本发明实施例三提供的网络系统结构示意图。具体实施例
[0039] 实施例一
[0040] 本发明提供了一种数据传送方法,如图1所示,其包括以下步骤:
[0041] 接收端发送数据请求,发送端根据所述数据请求将待传送数据分成多个数据包向接收端传送,当接收端每接收到一个所述数据包时会发送一个对应的ACK包至所述发送端;
[0042] 当发送端未接收到某一或多个数据包对应的ACK包时,根据接收到的ACK包的延迟时间判断未接受到的ACK包对应的数据包是否丢包,并根据丢包情况进行具体操作。
[0043] 本实施例具体判断未接收到的ACK包对应的数据包是否丢包的过程为:
[0044] 根据接收到的ACK包的延迟时间,计算出该未接收到的ACK延迟时间范围值,若超过该延迟时间范围值未接收到该ACK对应的数据包,则判断该数据包丢失。
[0045] 本实施例可以根据未接受到的ACK包之前的所有已接收到的ACK包的延迟时间,算出最大延迟抖动范围,然后根据未接收到的ACK之前相邻已接收到的ACK包的延迟值,然后加上这个最大延迟抖动范围就得到未接收到ACK包的最大可能延迟,如果超过这个最大可能延迟,则判断该ACK包对应的数据包已经丢失。
[0046] 例如,本实施例中该次发送的数据包供有8个,收到前5个数据包的ACK包以及后2个数据包的ACK包,第六个包的ACK包没有收到,前5个ACK包各自的延迟时间分别为,1000ms、800ms、1100ms、900ms、1200ms,第1个ACK包与第二个ACK包延迟时间抖动为200ms,第2个ACK包与第3个ACK包延迟时间抖动为300ms,第3个ACK包与第4个ACK包延迟时间抖动为200ms,第4个ACK包与第5个ACK包延迟时间抖动为300ms,这里最大抖动范围为300ms,所以将300ms作为第6个包与第5个包之间的最大延迟抖动值,第6个包的最大延迟时间为
1200ms+300ms=1500ms,最小延迟时间为1200ms-300ms=900ms,所以当超过1500ms未接收到第6个ACK包时,判断第6个ack包对应的数据包已经丢失。
[0047] 或者也可以通过对几个延迟抖动值进行加权平均求出估算值,这里有四个延迟抖动值,分别为200ms、300ms、200ms、300ms,分别为这四个延迟抖动值设定加权值,加权值依次变大。
[0048] 当确认未接收到的数据包丢失时,根据丢包率进行处理:
[0049] 当丢包率较低,可以通过FEC纠错编码重新获取丢掉的数据包,则将丢失的数据包进行通过FEC纠错编码重新发送至所述接收端;
[0050] 当丢包率较高,已经无法通过FEC纠错编码来进行获取丢掉的数据包或者纠错编码将花费大量时间,则将所述待传送数据的所有数据包重新向所述接收端发送。
[0051] 本实施例中,发送端始终可以预测当前发送周期的带宽值,即实时带宽,所述实时带宽是根据上一个数据发送周期带宽得到的。例如上一个周期发送5个数据包的时间延迟为840ms,而带宽的实际容量每个包的平均延迟为160ms,所以上个周期中延迟较大,网络较为拥堵,则这个周期需要降低发送的数据包数量,这个周期发送4个数据包;若上个周期5个数据包的时间延迟为700ms,所以上个周期的时间延迟较小,这个周期则发送6个数据包。
[0052] 所述发送端实时用于发送数据包的带宽始终在所述发送端实际传输带宽范围内。
[0053] 本实施例中,在所述发送端先后连续发送两个不同优先级的数据请求时,接收端根据优先级别,先传送优先级别较高的数据,后传送优先级别较低的数据。例如接收端用户通过手机访问网页请求发送端发送文本文件与图片文件,网页上的文本文件优先级别高于图片文件,则发送端先将用户请求的文本文件发送给接收端用户,然后再发送优先级别较低的图片文件;当接收端用户在该页面没有完全打开的情况下访问第二个网页,同时用户的网页界面显示的是第二个网页,此时发送端判断第二个网页的优先级较高,发送端将按照优先级对第二个页面的数据发送给接收端,在第二个页面的数据发送完后继续发送处于后台的第一个页面的数据。此处优先级如何设定本发明并不做限定,本发明仅保护数据发送端根据用户请求数据的优先级进行数据传送,具体如何进行优先级设定并不是本发明的保护范围。
[0054] 实施例二
[0055] 本发明还通过了一种数据传送系统,如图2所示,其包括发送端1、接收端2,接收端2发送数据请求,发送端1根据所述数据请求将待传送数据分成多个数据包向接收端2传送,当接收端2每接收到一个所述数据包时会发送一个对应的ACK包至所述发送端;
[0056] 发送端1包括:
[0057] FEC纠错编码单元12:用于对丢包的数据包进行纠错编码得到该数据包的替换包;
[0058] 重传单元13:用于将待传送数据的数据包重新向接收端传送;
[0059] 处理单元11:当发送端1未接收到某一或多个数据包对应的ACK包时,根据接收到的ACK包的延迟时间判断未接受到的ACK包对应的数据包是否丢包,当丢包率在一定范围内时,控制FEC纠错编码单元12编码得到替换包并通过重传单元13传送,当丢包率超过所述范围时,控制重传单元13将所述待传数据的所有数据包进行重新传送。
[0060] 本实施例还包括一带宽预测单元,所述带宽预测单元根据上一个数据包发送周期带宽预测下个数据包周期的带宽。
[0061] 本实施例还包括一带宽处理单元,其通过预测得到的所述带宽控制传送数据包的带宽始终在所述发送端实际传输带宽范围内。
[0062] 本实施例还包括一传送处理单元,其接收所述发送端先后连续发送两个不同优先级的数据请求,并根据优先级别,先传送优先级别较高的数据,后传送优先级别较低的数据。
[0063] 实施例三
[0064] 一种网络系统,如图3所示,其包括用户端3、加速服务器端4以及站点服务集群5,用户端3与加速服务器端4通过UDP协议进行数据传送,加速服务器端4与站点服务集群5通过TCP协议进行数据传送,用户端3向加速服务器4发送数据请求,加速服务器4通过站点服务集群5得到数据并发送至用户端3,其中加速服务器端4包括第一FEC纠错编码单元、第一重传单元以及第一处理单元,用户端3包括第二FEC纠错编码单元、第二重传单元以及第二处理单元。
[0065] 其中第一FEC纠错编码单元:用于对丢包的数据包进行纠错编码得到该数据包的替换包;
[0066] 所述第一重传单元:用于将待传送数据的数据包重新向接收端传送;
[0067] 所述第一处理单元:当加速服务器端4未接收到某一或多个数据包对应的ACK包时,根据接收到的ACK包的延迟时间判断未接受到的ACK包对应的数据包是否丢包,当丢包率在一定范围内时,控制所述FEC纠错编码单元编码得到替换包并通过所述重传单元传送,当丢包率超过所述范围时,控制所述重传单元将所述待传数据的所有数据包进行重新传送。
[0068] 第二FEC纠错编码单元、第二重传单元以及第二处理单元的作用与第一FEC纠错编码单元、第一重传单元以及第一处理单元作用相同,本实施例中用户端也可以为数据发送端,加速服务器端4也可以变为数据接收端。
[0069] 本实施例中,作为发送端与接收端的用户端3与加速服务器端4还可以包括带宽处理单元、带宽预测单元以及传送处理单元,具体带宽处理单元、带宽预测单元以及传送处理单元的作用与实施例二中的作用相同。
[0070] 实施例四
[0071] 一种网络系统,其包括用户端、加速服务器端以及站点服务集群,所述用户端与所述加速服务器端通过TCP协议进行数据传送,所述加速服务器端与所述站点服务集群通过TCP协议进行数据传送,所述用户端向所述加速服务器发送数据请求,所述加速服务器通过站点服务集群得到数据并发送至所述用户端,其中所述发送端包括第一FEC纠错编码单元、第一重传单元以及第一处理单元,所述接收端包括第二FEC纠错编码单元、第二重传单元以及第二处理单元。
[0072] 其中第一FEC纠错编码单元:用于对丢包的数据包进行纠错编码得到该数据包的替换包;
[0073] 所述第一重传单元:用于将待传送数据的数据包重新向接收端传送;
[0074] 所述第一处理单元:当接收端未接收到某一或多个数据包对应的ACK包时,根据接收到的ACK包的延迟时间判断未接受到的ACK包对应的数据包是否丢包,当丢包率在一定范围内时,控制所述FEC纠错编码单元编码得到替换包并通过所述重传单元传送,当丢包率超过所述范围时,控制所述重传单元将所述待传数据的所有数据包进行重新传送。
[0075] 显然,本发明可以运用于各类协议的数据中,并不仅限于TCP协议与UDP协议。
[0076] 以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。