CN101626384A - 一种基于tcp协议传输数据包的方法和系统 - Google Patents

一种基于tcp协议传输数据包的方法和系统 Download PDF

Info

Publication number
CN101626384A
CN101626384A CN200910159995A CN200910159995A CN101626384A CN 101626384 A CN101626384 A CN 101626384A CN 200910159995 A CN200910159995 A CN 200910159995A CN 200910159995 A CN200910159995 A CN 200910159995A CN 101626384 A CN101626384 A CN 101626384A
Authority
CN
China
Prior art keywords
tcp
data packets
packet
receiving terminal
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910159995A
Other languages
English (en)
Other versions
CN101626384B (zh
Inventor
林峻峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Shiji Guangsu Information Technology Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN2009101599955A priority Critical patent/CN101626384B/zh
Publication of CN101626384A publication Critical patent/CN101626384A/zh
Application granted granted Critical
Publication of CN101626384B publication Critical patent/CN101626384B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于TCP协议传输数据包的方法和系统,所述方法包括:根据所述原数据包的属性确定与接收端建立的TCP连接的数量;与所述接收端建立相应数量的TCP连接,并利用建立的每个所述TCP连接,将所述原数据包发送到接收端。所述系统包括发送端和接收端。本发明实施例在利用TCP协议传输数据包时,根据数据包的属性确定发送端与接收端之间建立的TCP连接的数量,在对大数据包进行传输时,通过对大数据包进行拆分,并建立大量的TCP连接以进行并发传输,提高了大数据包的传输速度。

Description

一种基于TCP协议传输数据包的方法和系统
技术领域
本发明涉及计算机数据通信领域,特别涉及一种基于TCP协议传输数据包的方法和系统。
背景技术
TCP(Transfer Control Protocol,传送控制协议)协议由于能够提供可靠的连接,在很多数据通信领域都有广泛的应用。利用TCP协议在传输数据时,当发送端向接收端发送数据时,它会先向接收端发送一个数据传输请求,并要求对方返回一个确认信息,如果确认信息没有收到,TCP协议规定发送端等待更长的时间直至收到确认信息后再发送数据。在互联网环境下,网络数据传输拥挤时的等待时间比较长。
在传输数据时,TCP协议提供了流量控制,TCP协议的接收端会通告发送端它能接收多少字节的数据,从而确保发送端发送的数据不会溢出接收端的缓存。而在实际的数据传输过程中,接收端缓存的可用空间会不断的变化,时大时小,当发送端知道接收端的缓存较大时,数据发送的会较快,在网络忙时,如果接收端的缓存满或没有及时确认发送端的数据传输请求,发送端就会暂停发送数据,直到接收端的缓存有可用空间或确认数据传输请求后才会继续发送数据。
在对现有技术进行研究后,现有技术利用TCP协议传输数据时,都是建立一个或很少的几个的TCP连接进行传输。因此发送端利用有限的TCP连接进行大数据包的传输时,如果发送端在TCP连接中向接收端发送的每个数据传输请求等待时间都比较长,那么对于需要发送很多次请求的大数据包来说,传输时间就变得很长,整个大数据包传输完成的时间也会变得很长。并且在网络忙时,当发送端暂停发送数据时,就会在应用层造成TCP阻塞,利用TCP协议传输大数据包时,可能会出现传输时快时慢的情况,不能保证大数据包的全部数据整体快速地传输。
发明内容
本发明实施例提供了一种基于TCP协议传输数据包的方法,所述技术方案如下:
一种基于TCP协议传输数据包的方法,所述方法包括:
根据所述原数据包的属性,确定与接收端建立的TCP连接的数量;
与所述接收端建立相应数量的TCP连接,并利用建立的每个所述TCP连接,将所述原数据包发送到接收端。
所述原数据包的属性为数据包长度时,所述根据所述原数据包的属性确定与接收端建立的TCP连接的数量,包括:
当所述原数据包的长度大于预设的阈值时,则确定与接收端建立的TCP连接的数量为第一数量;
当所述原数据包的长度小于预设的阈值时,则确定与接收端建立的TCP连接的数量为第二数量。
所述根据所述原数据包的属性确定与接收端建立的TCP连接的数量,包括:
根据预设传输策略中为数据包各项属性分配的权值,计算所述原数据包的传输加权值。
当所述原数据包的传输加权值大于预设的阈值时,则确定与接收端建立的TCP连接的数量为第一数量;
当所述原数据包的传输加权值小于预设的阈值时,则确定与接收端建立的TCP连接的数量为第二数量。
所述第一数量为固定值;或,所述第一数量根据所述原数据包的长度按照预设的算法计算得到;所述第一数量大于100。
所述利用建立的每个所述TCP连接,将所述原数据包发送到接收端,包括:
当所述原数据包的长度大于预设的阈值时,将所述原数据包拆分成多个小数据包,拆分的所述小数据包的数量大于所述第一数量;
对拆分的每个所述小数据包进行TCP协议的封装;
利用建立的每个所述TCP连接,将封装后的每个所述小数据包发送到接收端。
所述利用建立的每个所述TCP连接,将所述原数据包发送到接收端之后,还包括:
所述接收端利用每个所述TCP连接,接收每个所述小数据包;
所述接收端对接收到的每个所述小数据包进行数据合并,还原为发送端需要发送的所述原数据包。
本发明实施例还提供了一种基于TCP协议传输数据包的系统,所述系统包括发送端和接收端,所述发送端包括:
获取模块,用于获取需要发送的原数据包的属性;
确定模块,用于根据所述原数据包的长度确定与接收端建立的TCP连接的数量;
发送模块,用于与所述接收端建立相应数量的TCP连接,并利用建立的每个所述TCP连接,将所述原数据包发送到接收端。
所述原数据包的属性为数据包长度时;所述确定模块,具体用于当所述原数据包的长度大于预设的阈值时,则确定与接收端建立的TCP连接的数量为第一数量;当所述原数据包的长度小于预设的阈值时,则确定与接收端建立的TCP连接的数量为第二数量。
所述确定模块,具体用于根据预设传输策略中为数据包各项属性分配的权值,计算所述原数据包的传输加权值;当所述原数据包的传输加权值大于预设的阈值时,则确定与接收端建立的TCP连接的数量为第一数量;当所述原数据包的传输加权值小于预设的阈值时,则确定与接收端建立的TCP连接的数量为第二数量。
所述第一数量为固定值;或,所述第一数量根据所述原数据包的长度按照预设的算法计算得到,所述第一数量大于100。
所述发送模块,具体用于当所述原数据包的长度大于预设的阈值时,将所述原数据包拆分成多个小数据包,拆分的所述小数据包的数量大于所述第一数量;对拆分的每个所述小数据包进行TCP协议的封装;利用建立的每个所述TCP连接,将封装后的每个所述小数据包发送到接收端。
所述接收端包括:
接收模块,用于利用与所述发送端建立的每个所述TCP连接,接收每个所述小数据包;
合并模块,用于对接收到的每个所述小数据包进行数据合并,还原为发送端需要发送的所述原数据包。
本发明实施例在利用TCP协议传输数据包时,根据数据包的属性确定发送端与接收端之间建立的TCP连接的数量,在对大数据包进行传输时,通过对大数据包进行拆分,并建立大量的TCP连接以进行并发传输,提高了大数据包的传输速度。
附图说明
图1是本发明实施例1中提供的基于TCP协议传输数据包的方法流程图;
图2是本发明实施例1中提供的发送端传输所有小数据包的示意图;
图3是本发明实施例1中提供的基于TCP协议传输数据包的方法流程图;
图4是本发明实施例1中提供的接收端接收所有小数据包并合并的示意图;
图5是本发明实施例2中提供的基于TCP协议传输数据包的方法流程图;
图6是本发明实施例3中提供的基于TCP协议传输数据包的系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
本发明实施例提供了一种基于TCP协议传输数据包的方法,适用于互联网环境下用户与用户之间、用户与SP(Service Provider,提供互联网服务内容应用服务的提供商)、同一网络运营商的两个IDC之间点对点的数据传输,本发明实施例根据数据包的长度确定发送端与接收端之间建立的TCP连接的数量,在进行大数据包的传输时,将大数据包拆分成多个小数据包,并建立大量的TCP连接对小数据包进行传输,由此提高了大数据包的传输速度。
参见图1,本发明实施例的具体步骤如下:
101:发送端获取需要发送的原数据包的长度。
102:发送端根据步骤101中得到的该原数据包的长度确定与接收端建立的TCP连接的数量。
具体地,为原数据包建立的TCP连接是并发的连接,确定为该原数据包建立TCP连接的数量的方法如下:
当该原数据包的长度大于预设的阈值时,判定该原数据包为大数据包,则确定与接收端建立的TCP连接的数量为第一数量,第一数量大于100。可以从数百个到上千个不等。其中,第一数量可以为固定值,如大于100的固定值,也可以按照预设的算法进行计算,比如可以根据数据包的长度按照预设算法计算建立TCP连接的数量。数据包越大,则建立的TCP连接的数量越多,数据包越小,则建立的TCP连接的数量越少。当该原数据包的长度大于预设的阈值,确定了与接收端建立的TCP连接的数量为第一数量后,则执行103。
当该原数据包的长度小于预设的阈值时,判定该原数据包为普通数据包。按照现有技术中的TCP协议传输数据方式对该原数据包进行传输,确定与接收端建立的TCP连接的数量为第二数量,第二数量较小,通常小于100。此时对数据包进行传输的方法与现有技术相同,不再赘述。
从上述方法可以看出,本发明实施例中,根据数据包的长度信息将发送的原数据包划分为大数据包或普通数据包,对于大数据包就建立数量较多的TCP连接以进行传输,对于普通数据包就建立较少的TCP连接,按照通常的传输方法进行传输。由此在提高了大数据包传输速度的同时,也保证了系统整体的传输效率。
在本实施例中,预设的阈值可以根据网络系统的数据传输能力进行设定,如在网络环境比较好的情况下,可以将阈值设定的较大,如将阈值设置在50MB至100MB之间,在网络环境欠佳的情况下,可以将阈值设定的较小以利于较大数据包的传输,如将阈值设置为10MB。
103:发送端将原数据包拆分成多个小数据包以进行传输。
需要说明的是,发送端将原数据包拆分成的小数据包的数量大于建立的TCP连接的数量。在对原数据包拆分时,通常考虑到带宽利用及网络延时,每个小数据包的长度在2千字节到4千字节之间是比较合适的,对于较大的数据包,如10MB大小的文件,就会拆分成的数千个小包,而建立数百个TCP连接就可以保证文件的快速传输,对于GB级别的大文件(1GB=10亿个字节),拆分成的小数据包的数量就会有数十万个,因此拆分的小数据包的数量会远比需要建立的TCP连接的数量要多。
104:在发送端对拆分的多个小数据包进行TCP协议的封装。
具体地,为了接收端能将拆分的多个小数据包进行合并还原为原数据包,发送端在对拆分的每个小数据包进行封装时,至少需要附加如下信息:原数据包长度信息、小数据包位置信息:即拆分的每个小数据包在原数据包中的起始位置,以及每个小数据包的长度信息。附加的信息及其作用如表1所示:
  附加信息   附加信息用途
  原数据包的长度信息   接收端根据原数据包的长度创建适合的缓存(内存或磁盘空间),以保存接收到的数据
  小数据包位置信息   接收端接收到小数据包后根据该信息将小数据包填入缓存中的相应位置
  小数据包的长度信息   接收端填入缓存的小数据包的数据长度
表1
105:发送端与该接收端建立第一数量的TCP连接,并利用建立的每个该TCP连接,将该原数据包拆分成的多个小数据包发送到接收端。
发送端利用建立的多个TCP连接,将拆分的数据包按照在原数据包中的顺序,循环地放入已建立的多个TCP连接中,利用每个TCP连接将所有的小数据包发送到接收端。每个TCP连接负责将若干个小数据包发送到接收端端。
参见图2为发送端利用建立的多个TCP连接,对所有小数据包进行传输的示意图。
在发送端将所有小数据包发送出去后,相应地,参见图3,在接收端执行的相应操作如下:
301:接收端利用与发送端建立的多个TCP连接,接收发送端发送的小数据包,并根据封装在小数据包中的原数据包的长度信息,建立能够接收原数据包的缓存。
302:接收端根据封装在每个小数据包中的小数据包位置信息,将每个小数据包进行解封装后,写入缓存中的相应位置。
在本步骤中,需要说明的是,由于发送端通过多个TCP连接传输的小数据包,在经过互联网中的多个路由器转发后,小数据包到达接收端的次序是不能保证的,存在乱序的情况,此时接收端需要根据封装在小数据包中的小数据包的位置信息,将小数据包写入缓存相应的正确位置中。以确保在缓存中合并还原为原数据包的正确性。
303:接收端在缓存中对各个解封装后的小数据包进行合并。并不断检查是否所有的小数据包都写入缓存并完成合并,当检查到所有的小数据包都写入缓存并完成了合并时,则说明在缓存中合并还原了发送端需要发送的原数据包。原大数据包的传输结束。
在本步骤中,由于按照小数据包的位置信息,将小数据包写入在缓存的正确位置中,因此当接收端在接收到所有的小数据包并写入了缓存后,就可以正确的在缓存中将所有小数据包合并还原为原数据包了。
参见图4,为接收端接收到所有小数据包后,在缓存中进行合并还原为原数据包的示意图。
本发明实施例在利用TCP协议传输数据包时,根据数据包的长度确定发送端与接收端之间建立的TCP连接的数量,在对大数据包进行传输时,通过对大数据包进行拆分,并建立大量的TCP连接以进行并发传输,提高了大数据包的传输速度。
实施例2
本发明实施例提供了一种基于TCP协议传输数据包的方法,在实施例1的基础上进一步的扩展,根据数据包的各项属性确定发送端与接收端之间建立的TCP连接的数量,并利用这些TCP连接将大数据包拆分成多个小数据包进行传输,进一步提高大数据包的传输效率。
参见图5,本发明实施例的具体步骤如下:
501:发送端按照根据预设的传输策略,获取需要发送的原数据包的属性。
具体的,在本实施例中,可以根据具体的应用场景预设传输策略,预先设定发送端需要获取数据包的哪些属性,如在仅考虑大数据包传输速度的应用场景中,发送端可以只获取原数据包的长度作为依据;而在需要进一步的考虑传输质量的应用场景中时,发送端可以获取原数据包的长度以及服务类型信息作为依据;在更进一步复杂的系统中,发送端获取的数据包的属性还可以包括:数据包长度、数据包的服务类型、数据包的源地址和源端口、IP优先级、是否分片等。
502:根据预设传输策略中为数据包各项属性分配的权值,计算该原数据包的传输加权值。
具体的,数据包的传输加权值就是将数据包各个属性的权值相加得到的加权值。以预设传输策略中仅考虑数据包的长度和服务类型为例进行说明,优选的,可以采用以下方法定义数据包属性的权值:数据包长度在50M-100M时,权值为1,100M-200M时,权值为2,以数据包越大权值越大的原则定义所有长度的数据包属性的权值;同时,服务类型也作为一个重要的参考依据,可以定义视频服务的权值为3,音频服务的权值为2等,由此,可以计算得到提供视频服务的一个150M数据包的传输加权值为5。
通过计算数据包传输加权值以对数据包进行传输,传输系统可以根据具体的应用场景预设传输策略,使得系统在传输大数据包时能更好的满足自身需求,比如,当系统传输的数据包中多以视频服务为主时,则可以相应定义视频服务的权值较大,这样就更倾向于将视频服务的原数据包当大数据包进行处理,使得系统能更有效的传输视频服务的大数据包,从而使得系统在传输数据包时能更有针对性。
503:发送端根据步骤502中得到的该原数据包的传输加权值确定与接收端建立的TCP连接的数量。
具体的,当发送端判断该原数据包的传输加权值大于预设的阈值时,判定该原数据包为大数据包,则确定与接收端建立的TCP连接的数量为第一数量,第一数量大于100。可以从数百个到上千个不等。其中,第一数量可以为固定值,如大于100的固定值,也可以按照预设的算法进行计算,比如可以根据数据包的传输加权值按照预设算法计算建立TCP连接的数量,数据包的传输加权值越大,则建立的TCP连接的数量越多,数据包的传输加权值越小,则建立的TCP连接的数量越少。当该原数据包的传输加权值大于预设的阈值,确定了与接收端建立的TCP连接的数量为第一数量后,则执行504。
当发送端判断该原数据包的传输加权值小于预设的阈值时,判定该原数据包为普通数据包,则按照现有技术中的TCP协议传输数据方式对该原数据包进行传输,确定与接收端建立的TCP连接的数量为第二数量,第二数量较小,通常小于100。此时对数据包进行传输的方法与现有技术相同,不再赘述。
在本实施例中,预设的阈值可以根据网络系统的数据传输能力进行设定,如在网络环境比较好的情况下,可以将阈值设定的较大,以使得传输加权值较大的数据包才当做大数据包。在网络环境欠佳的情况下,可以将阈值设定的较小。
从上述方法可以看出,本发明实施例中,按照预设传输策略,根据数据包的各项属性的加权值将发送的原数据包划分为大数据包或普通数据包以进行传输,对于大数据包就建立数量较多的TCP连接以进行传输,对于普通数据包就建立较少的TCP连接,按照通常的传输方法进行传输。同时,传输系统可以根据具体的需求,预先分配数据包各项属性的权值,在提高了大数据包传输速度的同时,也使得系统传输大数据包更有针对性,进一步提高了系统整体的传输效率。
504-506与103-105方法相同,接收端接收大数据包的方法也与实施例1相同,此处不再赘述。
本发明实施例在利用TCP协议传输数据包时,根据数据包的传输加权值确定发送端与接收端之间建立的TCP连接的数量,在对大数据包进行传输时,通过对大数据包进行拆分,并建立大量的TCP连接以进行并发传输,提高了大数据包的传输效率。
实施例3
本发明提供了一种基于TCP协议传输数据包的系统,在传输大容量的数据包时,采用将大容量数据包拆分成多个小数据包,并建立大量的TCP连接对小数据包进行传输,由此提高了大容量数据包的传输速度。
参见图6,该系统包括发送端601和接收端602,该发送端601包括:
获取模块601a,用于获取需要发送的原数据包的属性;
确定模块601b,用于根据该原数据包的属性确定与接收端建立的TCP连接的数量;
发送模块601c,用于与该接收端602建立相应数量的TCP连接,并利用建立的每个该TCP连接,将该原数据包发送到接收端602。
进一步的,当该原数据包的属性为数据包长度时;该确定模块601b,具体用于当该原数据包的长度大于预设的阈值时,则确定与接收端建立的TCP连接的数量为第一数量;当该原数据包的长度小于预设的阈值时,则确定与接收端建立的TCP连接的数量为第二数量。
当该原数据包的属性为多项内容,如还可以包括:数据包长度、数据包的服务类型、数据包的源地址和源端口、IP优先级、是否分片等时,该确定模块601b,具体用于根据预设传输策略中为数据包各项属性分配的权值,计算该原数据包的传输加权值;当该原数据包的传输加权值大于预设的阈值时,则确定与接收端建立的TCP连接的数量为第一数量;当该原数据包的传输加权值小于预设的阈值时,则确定与接收端建立的TCP连接的数量为第二数量。
具体地,为原数据包建立的TCP连接是并发的连接,当该确定模块601b判定该原数据包为大数据包时,则确定与接收端建立的TCP连接的数量为第一数量,第一数量大于100。可以从数百个到上千个不等。第一数量可以为固定值,如大于100的固定值,也可以按照预设的算法进行计算,比如可以根据数据包的传输加权值按照预设算法计算建立TCP连接的数量,数据包的传输加权值越大,则建立的TCP连接的数量越多,数据包的传输加权值越小,则建立的TCP连接的数量越少。
当该确定模块601b判定该原数据包为普通数据包。则按照现有技术中的TCP协议传输数据方式对该原数据包进行传输,确定与接收端建立的TCP连接的数量为第二数量,第二数量较小,通常小于100。此时对数据包进行传输的方法与现有技术相同,不再赘述。
进一步的,在仅考虑数据包长度的应用场景中,该发送模块601c,具体用于当该原数据包的长度大于预设的阈值时,将该原数据包拆分成多个小数据包,拆分的小数据包的数量大于该第一数量;对拆分的每个该小数据包进行TCP协议的封装;利用建立的每个该TCP连接,将封装后的每个该小数据包发送到接收端。在从传输加权值方面进行考虑的场景中,该发送模块601c,具体用于当该原数据包的传输加权值大于预设的阈值时,将该原数据包拆分成多个小数据包并进行封装和发送。
具体地,在对每个该小数据包进行封装时,在小数据包中添加该原数据包长度信息、该小数据包位置信息,以及该小数据包的长度信息;其中,该小数据包位置信息为该小数据包在原数据包中的起始位置。
该发送模块601c利用建立的每个TCP连接,将每个该小数据包按照在原数据包中的顺序,循环地放入每个该TCP连接中,利用每个该TCP连接将该小数据包发送到接收端602。
在发送端601将所有小数据包发送出去后,需要接收端执行的相应操作,相应的,该接收端602包括:
接收模块602a,用于利用与发送端601建立的每个TCP连接,接收发送端601发送的每个小数据包;
合并模块602b,用于对接收到的每个该小数据包进行数据合并,还原为发送端601需要发送的原数据包。
进一步的,该接收模块602a,具体用于利用每个该TCP连接,接收发送端601发送的该小数据包,并根据封装在该小数据包中的原数据包的长度信息,建立接收该原数据包的缓存;并根据封装在每个该小数据包中的小数据包位置信息,将每个该小数据包进行解封装后写入缓存中的相应位置。
需要说明的是,由于发送端601通过多个TCP连接传输的小数据包,在经过互联网中的多个路由器转发后,小数据包到达接收端602的次序是不能保证的,存在乱序的情况,此时接收端602需要根据封装在小数据包中的小数据包的位置信息,将小数据包写入缓存相应的正确位置中。以确保在缓存中合并还原为的原数据包的正确性。
按照小数据包的位置信息,将小数据包写入在缓存的正确位置中,因此当接收端602在接收到所有的小数据包并写入了缓存后,就可以在缓存中将所有小数据包合并还原为原数据包了。
该合并模块602b,具体用于在端检查到每个该小数据包都接收到并写入缓存中时,在缓存中对每个该小数据包进行合并,还原为原数据包。
本发明实施例在利用TCP协议传输数据包时,根据数据包的属性确定发送端与接收端之间建立的TCP连接的数量,在对大数据包进行传输时,通过对大数据包进行拆分,并建立大量的TCP连接以进行并发传输,提高了大数据包的传输速度。
本发明实施例可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,例如,路由器的硬盘、缓存或光盘中。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1、一种基于TCP协议传输数据包的方法,其特征在于,所述方法包括:
根据所述原数据包的属性,确定与接收端建立的TCP连接的数量;
与所述接收端建立相应数量的TCP连接,并利用建立的每个所述TCP连接,将所述原数据包发送到接收端。
2、根据权利要求1所述的基于TCP协议传输数据包的方法,其特征在于,所述原数据包的属性为数据包长度,所述根据所述原数据包的属性确定与接收端建立的TCP连接的数量,包括:
当所述原数据包的长度大于预设的阈值时,则确定与接收端建立的TCP连接的数量为第一数量;
当所述原数据包的长度小于预设的阈值时,则确定与接收端建立的TCP连接的数量为第二数量。
3、根据权利要求1所述的基于TCP协议传输数据包的方法,其特征在于,所述根据所述原数据包的属性确定与接收端建立的TCP连接的数量,包括:
根据预设传输策略中为数据包各项属性分配的权值,计算所述原数据包的传输加权值;
当所述原数据包的传输加权值大于预设的阈值时,则确定与接收端建立的TCP连接的数量为第一数量;
当所述原数据包的传输加权值小于预设的阈值时,则确定与接收端建立的TCP连接的数量为第二数量。
4、根据权利要求2所述的基于TCP协议传输数据包的方法,其特征在于,所述第一数量为固定值;或,所述第一数量根据所述原数据包的长度按照预设的算法计算得到;所述第一数量大于100。
5、根据权利要求2所述的基于TCP协议传输数据包的方法,其特征在于,所述利用建立的每个所述TCP连接,将所述原数据包发送到接收端,包括:
当所述原数据包的长度大于预设的阈值时,将所述原数据包拆分成多个小数据包,拆分的所述小数据包的数量大于所述第一数量;
对拆分的每个所述小数据包进行TCP协议的封装;
利用建立的每个所述TCP连接,将封装后的每个所述小数据包发送到接收端。
6、根据权利要求1所述的基于TCP协议传输数据包的方法,其特征在于,所述利用建立的每个所述TCP连接,将所述原数据包发送到接收端之后,还包括:
所述接收端利用每个所述TCP连接,接收每个所述小数据包;
所述接收端对接收到的每个所述小数据包进行数据合并,还原为发送端需要发送的所述原数据包。
7、一种基于TCP协议传输数据包的系统,其特征在于,所述系统包括发送端和接收端,所述发送端包括:
获取模块,用于获取需要发送的原数据包的属性;
确定模块,用于根据所述原数据包的属性确定与接收端建立的TCP连接的数量;
发送模块,用于与所述接收端建立相应数量的TCP连接,并利用建立的每个所述TCP连接,将所述原数据包发送到接收端。
8、根据权利要求7所述的基于TCP协议传输数据包的系统,其特征在于,所述原数据包的属性为数据包长度;
所述确定模块,具体用于当所述原数据包的长度大于预设的阈值时,则确定与接收端建立的TCP连接的数量为第一数量;当所述原数据包的长度小于预设的阈值时,则确定与接收端建立的TCP连接的数量为第二数量。
9、根据权利要求7所述的基于TCP协议传输数据包的系统,其特征在于,
所述确定模块,具体用于根据预设传输策略中为数据包各项属性分配的权值,计算所述原数据包的传输加权值;当所述原数据包的传输加权值大于预设的阈值时,则确定与接收端建立的TCP连接的数量为第一数量;当所述原数据包的传输加权值小于预设的阈值时,则确定与接收端建立的TCP连接的数量为第二数量。
10、根据权利要求8所述的基于TCP协议传输数据包的系统,其特征在于,所述第一数量为固定值;或,所述第一数量根据所述原数据包的长度按照预设的算法计算得到,所述第一数量大于100。
11、根据权利要求8所述的基于TCP协议传输数据包的系统,其特征在于,所述发送模块,具体用于当所述原数据包的长度大于预设的阈值时,将所述原数据包拆分成多个小数据包,拆分的所述小数据包的数量大于所述第一数量;对拆分的每个所述小数据包进行TCP协议的封装;利用建立的每个所述TCP连接,将封装后的每个所述小数据包发送到接收端。
12、根据权利要求7所述的基于TCP协议传输数据包的系统,其特征在于,所述接收端包括:
接收模块,用于利用与所述发送端建立的每个所述TCP连接,接收每个所述小数据包;
合并模块,用于对接收到的每个所述小数据包进行数据合并,还原为发送端需要发送的所述原数据包。
CN2009101599955A 2009-08-05 2009-08-05 一种基于tcp协议传输数据包的方法和系统 Active CN101626384B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101599955A CN101626384B (zh) 2009-08-05 2009-08-05 一种基于tcp协议传输数据包的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101599955A CN101626384B (zh) 2009-08-05 2009-08-05 一种基于tcp协议传输数据包的方法和系统

Publications (2)

Publication Number Publication Date
CN101626384A true CN101626384A (zh) 2010-01-13
CN101626384B CN101626384B (zh) 2012-05-30

Family

ID=41522068

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101599955A Active CN101626384B (zh) 2009-08-05 2009-08-05 一种基于tcp协议传输数据包的方法和系统

Country Status (1)

Country Link
CN (1) CN101626384B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102209085A (zh) * 2010-03-30 2011-10-05 腾讯科技(深圳)有限公司 一种传输、显示多个文件的方法及系统
WO2012062048A1 (zh) * 2010-11-12 2012-05-18 中兴通讯股份有限公司 数据传输方法及平台
CN102769658A (zh) * 2011-12-06 2012-11-07 北京安天电子设备有限公司 网络文件还原方法及装置
CN103974326A (zh) * 2013-01-24 2014-08-06 雷凌科技股份有限公司 管理封包传输的方法
CN104486238A (zh) * 2014-12-09 2015-04-01 四川长虹电器股份有限公司 智能电视与移动设备之间大数据交互方法
CN104753856A (zh) * 2013-12-26 2015-07-01 北京东方通科技股份有限公司 一种文件收发方法与系统
CN104780208A (zh) * 2015-04-03 2015-07-15 天脉聚源(北京)教育科技有限公司 一种文件传输的方法和装置
CN105791239A (zh) * 2014-12-24 2016-07-20 中国科学院声学研究所 一种tcp中间人处理方法
CN106411560A (zh) * 2016-06-01 2017-02-15 深圳市永兴元科技有限公司 数据传输方法和装置
WO2017161760A1 (zh) * 2016-03-25 2017-09-28 乐视控股(北京)有限公司 数据传输方法及装置
CN108540519A (zh) * 2018-01-29 2018-09-14 北京奇艺世纪科技有限公司 一种均衡下载控制方法和装置
CN109639684A (zh) * 2018-12-17 2019-04-16 北京微吼时代科技有限公司 动态应用带宽的方法及系统
CN110611644A (zh) * 2018-06-15 2019-12-24 视联动力信息技术股份有限公司 一种数据的传输方法和装置
CN110958183A (zh) * 2019-10-24 2020-04-03 中国科学院计算技术研究所 一种异构系统的带宽利用率提升方法及系统
CN114124850A (zh) * 2022-01-26 2022-03-01 浙江宇视系统技术有限公司 一种网络通信方法及装置、存储介质
CN114567686A (zh) * 2022-04-29 2022-05-31 天津南大通用数据技术股份有限公司 一种用于网络服务模块的网络模型管理方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3413788B2 (ja) * 1997-09-25 2003-06-09 日本電信電話株式会社 層間のフロー制御を行う通信プロトコルを持つ通信方法およびデータ通信端末
CN1299479C (zh) * 2004-03-10 2007-02-07 中兴通讯股份有限公司 一种隧道包的分片发送方法
CN101436922B (zh) * 2008-12-17 2011-05-04 烽火通信科技股份有限公司 一种基于udp协议传输大量数据的方法

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102209085A (zh) * 2010-03-30 2011-10-05 腾讯科技(深圳)有限公司 一种传输、显示多个文件的方法及系统
WO2011120364A1 (zh) * 2010-03-30 2011-10-06 腾讯科技(深圳)有限公司 一种传输多个文件的方法及系统
CN102209085B (zh) * 2010-03-30 2013-10-09 腾讯科技(深圳)有限公司 一种传输多个文件的方法及系统
WO2012062048A1 (zh) * 2010-11-12 2012-05-18 中兴通讯股份有限公司 数据传输方法及平台
CN102469128A (zh) * 2010-11-12 2012-05-23 中兴通讯股份有限公司 数据传输方法及平台
CN102769658A (zh) * 2011-12-06 2012-11-07 北京安天电子设备有限公司 网络文件还原方法及装置
CN103974326A (zh) * 2013-01-24 2014-08-06 雷凌科技股份有限公司 管理封包传输的方法
CN104753856A (zh) * 2013-12-26 2015-07-01 北京东方通科技股份有限公司 一种文件收发方法与系统
CN104486238A (zh) * 2014-12-09 2015-04-01 四川长虹电器股份有限公司 智能电视与移动设备之间大数据交互方法
CN105791239A (zh) * 2014-12-24 2016-07-20 中国科学院声学研究所 一种tcp中间人处理方法
CN105791239B (zh) * 2014-12-24 2019-01-25 中国科学院声学研究所 一种tcp中间人处理方法
CN104780208A (zh) * 2015-04-03 2015-07-15 天脉聚源(北京)教育科技有限公司 一种文件传输的方法和装置
CN104780208B (zh) * 2015-04-03 2018-12-21 天脉聚源(北京)教育科技有限公司 一种文件传输的方法和装置
WO2017161760A1 (zh) * 2016-03-25 2017-09-28 乐视控股(北京)有限公司 数据传输方法及装置
CN106411560A (zh) * 2016-06-01 2017-02-15 深圳市永兴元科技有限公司 数据传输方法和装置
CN108540519A (zh) * 2018-01-29 2018-09-14 北京奇艺世纪科技有限公司 一种均衡下载控制方法和装置
CN110611644A (zh) * 2018-06-15 2019-12-24 视联动力信息技术股份有限公司 一种数据的传输方法和装置
CN109639684A (zh) * 2018-12-17 2019-04-16 北京微吼时代科技有限公司 动态应用带宽的方法及系统
CN110958183A (zh) * 2019-10-24 2020-04-03 中国科学院计算技术研究所 一种异构系统的带宽利用率提升方法及系统
CN110958183B (zh) * 2019-10-24 2022-02-25 中国科学院计算技术研究所 一种异构系统的带宽利用率提升方法及系统
CN114124850A (zh) * 2022-01-26 2022-03-01 浙江宇视系统技术有限公司 一种网络通信方法及装置、存储介质
CN114124850B (zh) * 2022-01-26 2022-07-12 浙江宇视系统技术有限公司 一种网络通信方法及装置、存储介质
CN114567686A (zh) * 2022-04-29 2022-05-31 天津南大通用数据技术股份有限公司 一种用于网络服务模块的网络模型管理方法及系统
CN114567686B (zh) * 2022-04-29 2022-08-09 天津南大通用数据技术股份有限公司 一种用于网络服务模块的网络模型管理方法及系统

Also Published As

Publication number Publication date
CN101626384B (zh) 2012-05-30

Similar Documents

Publication Publication Date Title
CN101626384B (zh) 一种基于tcp协议传输数据包的方法和系统
RU2429587C2 (ru) Способ, система и устройство для увеличения производительности службы обмена мультимедийными сообщениями
AU2013351670B2 (en) Business scheduling method and apparatus and convergence device
CN103476062B (zh) 一种数据流调度的方法、设备和系统
JP5470828B2 (ja) データ配信用通信装置、及びデータ配信システム
CN102769869B (zh) 无线接入点的控制和配置报文快速转发系统
US20080125163A1 (en) Apparatus, method, and computer readable medium for transmitting data via a plurality of network interfaces
CN102726031A (zh) 内容处理方法、装置和系统
CN106664290A (zh) 一种光电混合网络的数据传输方法及装置
CN107770085B (zh) 一种网络负载均衡方法、设备及系统
US20060221824A1 (en) Storage system and data processing method
CN104184663A (zh) 基于软件定义网络和一体化标识网络的通信方法和装置
CN105991481B (zh) 一种报文转发方法及装置
WO2024098815A1 (zh) 一种数据传输处理方法、装置、存储介质及电子装置
TW201717039A (zh) 用於通用序列匯流排2.0頻寬保留之方法及系統
CN101808037A (zh) 交换网中流量管理的方法和装置
CN103068052A (zh) 资源动态配置方法、系统和Portal服务器
CN100499563C (zh) 提高分组应用的存储器存取效率
CN108111575B (zh) 一种可扩展的客户机与虚拟机数据交互系统
CN100413283C (zh) 基于连接对的流量均衡处理方法与装置
KR100793420B1 (ko) 네트워크상에서 데이터 전송 서비스를 제공하기 위한 서버및 클라이언트의 연결 시스템 및 이를 이용한 서버와클라이언트 또는 클라이언트와 클라이언트간의 연결 방법
CN100477597C (zh) WiMAX网络中实现策略决定和资源预留的方法
CN101021846A (zh) 一种不定帧长结构数据流的存储方法
CN101827026B (zh) 一种iec61850高层协议报文发送的管理方法
CN1972314B (zh) 以太网接口上模拟串行接口的方法以及应用该方法的部件

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: SHENZHEN SHIJI LIGHT SPEED INFORMATION TECHNOLOGY

Free format text: FORMER OWNER: TENGXUN SCI-TECH (SHENZHEN) CO., LTD.

Effective date: 20131104

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518000 SHENZHEN, GUANGDONG PROVINCE TO: 518057 SHENZHEN, GUANGDONG PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20131104

Address after: A Tencent Building in Shenzhen Nanshan District City, Guangdong streets in Guangdong province science and technology 518057 16

Patentee after: Shenzhen Shiji Guangsu Information Technology Co., Ltd.

Address before: 518000 Guangdong city of Shenzhen province Futian District SEG Science Park 2 East Room 403

Patentee before: Tencent Technology (Shenzhen) Co., Ltd.