TCP传输方法及装置技术领域
本发明涉及通信技术领域,尤其涉及一种TCP传输方法及装置。
背景技术
随着通信技术的飞速发展,用户对数据传输及时性的要求日渐提高,而数据的传
输离不开在通信规约中的传输层的TCP(Transmission Control Protocol,传输控制协议)
协议。
目前的通信基站针对TCP协议对数据的传输处理较为薄弱,在数据传输过程中,有
时一组TCP数据报文重复应答了多次,而通信基站在通过TCP协议传输数据时并不深度解析
该重复应答了多次的紧急数据,使得数据在传输过程中,因为无法判断所述紧急数据的紧
急传输程度,仍按照正常发送队列先传输其他数据,再传输该紧急数据,而造成该紧急数据
传输时延,影响通信基站对重复应答了多次的紧急数据的及时上传。
发明内容
本发明提出一种TCP传输方法及装置,能够按照实际传输需要及时上传TCP数据报
文,具备灵活性。
一种TCP传输方法,包括以下步骤:
获取通过网络侧接收的TCP应答报文的报文确认号;
获取服务器的最新确认号;
若所述报文确认号等于所述服务器的最新确认号,增加所述TCP应答报文的重复
应答计数值;
若所述重复应答计数值等于预设阈值,提高本地缓存中所述TCP应答报文对应的
TCP数据报文的发送优先级。
一种TCP传输装置,包括:
报文确认号获取模块,用于获取通过网络侧接收的TCP应答报文的报文确认号;
最新确认号获取模块,用于获取服务器的最新确认号;
重复应答计数值累加模块,用于若所述报文确认号等于所述服务器的最新确认
号,增加所述TCP应答报文的重复应答计数值;
优先级提高模块,用于若所述重复应答计数值等于预设阈值,提高本地缓存中所
述TCP应答报文对应的TCP数据报文的发送优先级。
上述TCP传输方法及装置,可应用于移动通信技术领域,通过获取通过网络侧接收
的TCP应答报文的报文确认号以及获取服务器的最新确认号,判断TCP应答报文的报文确认
号以及服务器的最新确认号的关系,若所述报文确认号等于所述服务器的最新确认号,则
增加所述TCP应答报文的重复应答计数值,若所述重复应答计数值等于预设阈值,则提高本
地缓存中所述TCP应答报文对应的TCP数据报文的发送优先级,说明所述TCP应答报文对应
的TCP数据报文为需重新上传至网络侧的紧急数据,通过基站提高该紧急数据的发送优先
级,优先传输该TCP数据报文,使得该TCP数据报文得到及时的传输。数据传输过程中,由于
空口环境复杂多变,信道误码率高以及抖动大等情况,容易影响数据重传,因此,如何减小
空口环境下数据重传时延显得尤为重要。所述TCP传输方法及装置通过采用基站TCP协议对
本地缓存中的紧急数据进行重传处理,能够对TCP应答报文进行深度解析,并按照实际传输
需要及时传输数据,能够满足较为迫切的数据传输需求,提升移动通信连接入网的数据传
输性能,具备灵活性和适应性。避免在TCP处理数据时,严格按序传输数据,影响重传及时
率。所述TCP传输方法及装置,将TCP协议结合移动通信技术内部协议,使得基站的服务质量
提高,使得数据传输在恶劣的空口环境下也能得到及时以及精准的传输,提升了用户体验
以及运营经济效益。
附图说明
图1为一个实施例中的TCP传输方法的流程示意图;
图2为一个实施例中的TCP传输方法的流程示意图;
图3为另一个实施例中的TCP传输方法的流程示意图;
图4为又一个实施例中的TCP传输方法的流程示意图;
图5为再一个实施例中的TCP传输方法的流程示意图;
图6为再一个实施例中的TCP数据传输方法的流程示意图;
图7为再一个实施例中的TCP数据传输方法的流程示意图;
图8为一个实施例中的TCP传输的应用环境示意图;
图9为一个实施例中的TCP传输装置的结构示意图;
图10为一个实施例中的第一识别模块的结构示意图;
图11为另一个实施例中的TCP传输装置的结构示意图;
图12为再一个实施例中的TCP传输装置的结构示意图;
图13为再一个实施例中的TCP传输装置的结构示意图;
图14为又一个实施例中的TCP传输装置的结构示意图;
图15为一个实施例中的数据报文存储模块的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对
本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并
不用于限定本发明。
如图1为一个实施例中的TCP传输方法的流程示意图,图的TCP传输方法,包括以下
步骤:
S11:获取通过网络侧接收的TCP应答报文的报文确认号;
S12:获取服务器的最新确认号;
S13:若所述报文确认号等于所述服务器的最新确认号,增加所述TCP应答报文的
重复应答计数值;
S14:若所述重复应答计数值等于预设阈值,提高本地缓存中所述TCP应答报文对
应的TCP数据报文的发送优先级。
若TCP数据报文的报头中的标识字段ACK(Acknowledgment Number)值为1时,确定
该TCP数据报文是TCP应答报文,TCP应答报文的报文确认号为对应的TCP数据报文的序列号
加上TCP数据报文数据长度。例如TCP数据报文的序列号为2001,数据长度为1000,那么对于
该TCP数据报文,TCP数据报文的报头中的标识字段ACK值为1,该TCP数据报文是TCP应答报
文,且该TCP应答报文的报文确认号为3001。本实施例中,服务器为基站TCP服务器,用于保
存TCP应答报文的最新确认号,服务器的最新确认号为服务器中TCP应答报文的最新确认
号。若所述报文确认号等于服务器的最新确认号,说明TCP应答报文对应的TCP数据报文需
要重传,然后基站增加所述TCP应答报文的重复应答计数值,每一次TCP连接都有一个重复
应答计数值,用于表示在一次TCP连接中,一个阶段内接收到的一个TCP报文传输的重复应
答次数,重复应答计数值的大小决定是否触发数据报文重传处理,所述重复应答计数值为
基站设置,用于监测基站接收同一个TCP应答报文的次数,例如若基站接收了报文确认号为
1001的TCP应答报文1次,则将重复应答计数值置为1,若基站接收了报文确认号为1001的
TCP应答报文2次,则将重复应答计数值置为2。
若所述重复应答计数值等于预设阈值,说明所述TCP应答报文重复应答了多次(可
能超过两次),则基站提高本地缓存中所述TCP应答报文对应的TCP数据报文的发送优先级。
例如预设阈值为4次,若所述TCP应答报文的复应答计数值为4次,等于预设阈值,则表明所
述TCP应答报文重复应答了4次,为一个紧急TCP数据报文,在基站的本地缓存中,有其正常
的发送优先级,正常的发送优先级通常为先上传序列号较小的TCP数据报文,再依次上传序
列号较大的TCP数据报文。对于重复应答计数值等于预设阈值的所述TCP应答报文,基站将
所述TCP应答报文对应的TCP数据报文的发送优先级提高,例如,可将所述TCP应答报文对应
的TCP数据报文的优先级设置高于发送缓存队列中其他数据包的优先级,以优先上传所述
TCP应答报文对应的TCP数据报文。或者将所述当前TCP数据报文的发送优先级提高一定级
别,例如提高一级,以缩短所述TCP应答报文对应的TCP数据报文等待传输的时间。若基站从
网络侧接收的应答报文不是TCP应答报文,则不做上述处理,直接发送至空口侧终端。
如图2,在一个实施例中,若所述报文确认号等于所述服务器的最新确认号,增加
所述TCP应答报文的重复应答计数值之后,还包括以下步骤:
S131:检测所述TCP应答报文对应的TCP数据报文是否存在于本地缓存;
S132:若是,将存在于本地缓存的所述TCP应答报文对应的已成功上传的所述TCP
数据报文进行释放。
若所述TCP应答报文的报文确认号对应的数据包存在于本地缓存,则表明所述TCP
应答报文为重复应答的报文,需将已上传成功的数据包从本地缓存中释放出来,同时丢弃
所述TCP应答报文,无需发往空口侧。如此以缓解本地缓存的负载压力,避免过多占用本地
缓存的内存,有利于其他TCP数据报文的快速传输,节约了网络带宽资源,减少不必要的空
口传输。
如图3,在一个实施例中,获取服务器的最新确认号之后,还包括以下步骤:
S23:若所述TCP应答报文的报文确认号大于所述服务器的最新确认号,检测所述
服务器的最新确认号对应的TCP数据报文是否存在于本地缓存;
S24:若是,则将所述服务器的最新确认号设置为TCP应答报文的报文确认号,并将
存在于本地缓存的所述服务器的最新确认号对应的已成功上传的所述TCP数据报文进行释
放。
例如,当前可供重传的TCP数据报文的序列号范围是1001~3001,那么服务器的最
新确认号为1001,假若基站从网络侧接收的所述TCP应答报文的报文确认号为2001,则说明
所述TCP应答报文的报文确认号大于服务器的最新确认号,说明服务器的最新确认号对应
的TCP数据报文已成功上传至网络侧。则基站将所述服务器的最新确认号更新调整为TCP应
答报文的报文确认号,并将存在于本地缓存的所述服务器的最新确认号对应的已成功上传
的TCP数据报文进行释放。若基站从网络侧接收的所述TCP应答报文的报文确认号为1或者
501,则说明所述TCP应答报文属于迟到应答报文,无需通过基站进行重传处理,直接发往空
口侧,保证正常TCP连接交互。基站将已传输成功的TCP数据报文从本地缓存中释放出来,缓
解本地缓存的负载压力,提高网络资源的利用率,有利于后续TCP数据报文的快速传输。
如图4,进一步的,将所述服务器的最新确认号设置为TCP应答报文的报文确认号,
并将存在于本地缓存的所述服务器的最新确认号对应的已成功上传的TCP数据报文进行释
放之后,还包括以下步骤:
S241:将所述TCP应答报文的重复应答计数值置零;
S242:发送所述TCP应答报文对应的TCP数据报文至终端。
判断所述TCP应答报文的报文确认号大于所述服务器的最新确认号之后,说明所
述TCP应答报文对应的TCP数据报文只被请求传输了一次,不是紧急数据,则将所述TCP应答
报文的重复应答计数值置零,然后发送所述TCP应答报文对应的TCP数据报文至终端。例如,
服务器的最新确认号为1001,当TCP应答报文的报文确认号为2001,可见服务器的最新确认
号对应的TCP数据报文已成功上传,基站即将TCP应答报文对应的TCP数据报文发送至终端。
基站将首次应答的TCP数据报文直接发送至终端,节约了网络资源,提高数据传输效率,有
利于后续TCP数据报文的传输,有益于提高运营效益及用户体验。
如图5,一个实施例中,获取服务器的最新确认号之后,包括以下步骤:
S33:若所述TCP应答报文的报文确认号小于所述服务器的最新确认号,发送所述
TCP应答报文对应的TCP数据报文至终端。
获取TCP应答报文的报文确认号以及所述服务器的最新确认号后,若所述TCP应答
报文的报文确认号小于所述服务器的最新确认号,这时直接将所述TCP应答报文对应的TCP
数据报文发送至终端,无需通过基站进行重传处理。例如TCP应答报文的报文确认号为
2001,服务器的最新确认号为3001,TCP应答报文的对应的TCP数据报文落后于服务器的最
新确认号对应的TCP数据报文,属于迟到应答,所述传输方法对于迟到应答的TCP数据报文,
无需通过基站进行重传的附加处理,直接将迟到应答的TCP数据报文传输至终端,节约了网
络资源,提高落后的数据包的传输效率,有利于后续数据包的传输。
如图6,一个实施例中,获取通过网络侧接收的TCP应答报文的报文确认号之前,包
括以下步骤:
S111:接收空口侧上传的TCP数据报文;
S112:获取所述TCP数据报文的序列号,并根据序列号的顺序将所述TCP数据报文
插入本地缓存,以用于网络侧快速重传;
S113:将所述TCP数据报文按序传递至正常优先级发送队列。
空口侧上传的TCP数据报文至基站后,基站将空口侧上传的TCP数据报文按顺序插
入本地缓存中,将TCP数据报文按序列号以及数据长度排列,形成有序的数据报文,可提高
空口侧上传TCP数据报文以及基站接收TCP数据报文的效率。
如图7,一个实施例中,获取所述TCP数据报文的序列号,并根据序列号的顺序将所
述TCP数据报文的数据包插入本地缓存之后,还包括以下步骤:
S1121:获取本地缓存中的TCP数据报文数据流的各TCP数据报文序列号;
S1122:若TCP数据报文数据流的序列号存在乱序,获取乱序的TCP数据报文数据流
的各TCP数据报文序列号;
S1123:根据所述TCP数据报文头部信息将所述乱序的TCP数据报文数据流进行调
整。
TCP数据报文数据流包括若干个TCP数据报文,在本地缓存中,基站将TCP数据报文
的数据包按序列号顺序排列后,再次获取按顺序排列后,根据各TCP数据报文序列号判断
TCP数据报文数据流是否存在乱序,若存在乱序,则乱序的TCP数据报文数据流的各TCP数据
报文序列号,将它们重新按顺序排列。重新按顺序排列可遵循以下规律:第二个TCP数据报
文序列号等于第一个TCP数据报文序列号加上第一个TCP数据报文序列号的长度,第三个
TCP数据报文序列号的序列号等于第二个TCP数据报文序列号的序列号加上第二个TCP数据
报文序列号的长度,以此类推,不做赘述。
下面通过一个具体实例来说明。
例如,乱序段TCP数据报文数据流的各TCP数据报文序列号为1001(数据长度
1000)、3001(数据长度2000)、2001(数据长度1000),根据序列号及数据长度重新排列这些
TCP数据报文,排列后的TCP数据报文顺序为:…1001(数据长度1000)、2001(数据长度
1000)、3001(数据长度2000)、5001…,将TCP数据报文数据流按顺序存储于本地缓存后,先
获取高优先级发送数据队列数据包数目,优先往网络侧服务器发送高优先级数据包中当前
顺序最前的TCP数据报文。通过所述TCP数据传输方法在基站本地缓存中的发送队列就能够
尽可能保证TCP数据报文的顺序,使得基站的TCP数据能够严格按正确的顺序上传至服务
器,减少重传次数,有利于提高服务器的传输效率。
本发明的TCP传输方法描述了基站从网络侧接收TCP应答报文并进行处理的方法,
图8为TCP传输的应用环境图,包括空口侧、网络侧和基站,当空口侧上传TCP数据报文至网
络侧时,基站先将TCP数据报文放入本地缓存中,然后基站按照正常优先级发送至网络侧,
基站根据从网络侧接收的TCP应答报文决定是否重传TCP应答报文对应的TCP数据报文。所
述服务器可为网络侧服务器,所述终端可为空口侧终端,空口侧通过基站的TCP协议向网络
侧传输数据,利用TCP协议对于数据的传输处理可适用于2G、3G或4G等各制式基站,尤其适
用于LTE(Long Term Evolution,长期演进)基站。上述TCP传输方法,结构简单灵活、适用性
强,本地缓存用于保障数据按优先级顺序发送以及数据重传,可降低基站的读写压力以及
网络负载压力,减少了一般场景下由空口侧负责重传TCP数据报文的所带来的时延,可提高
通信效率,并兼容端到端的数据传输,即便突发清空本地缓存,也不会对数据传输造成负面
影响,尤其适用于LTE基站的传输层数据交互系统,维护成本低、算法效益大、通用性强。
上述TCP传输方法,可应用于移动通信技术领域,通过获取通过网络侧接收的TCP
应答报文的报文确认号以及获取服务器的最新确认号,判断TCP应答报文的报文确认号以
及服务器的最新确认号的关系,若所述报文确认号等于所述服务器的最新确认号,则增加
所述TCP应答报文的重复应答计数值,若所述重复应答计数值等于预设阈值,则提高本地缓
存中所述TCP应答报文对应的TCP数据报文的发送优先级,说明所述TCP应答报文对应的TCP
数据报文为需重新上传至网络侧的紧急数据,通过基站提高该紧急数据的发送优先级,优
先传输该TCP数据报文,使得该TCP数据报文得到及时的传输。数据传输过程中,由于空口环
境复杂多变,信道误码率高以及抖动大等情况,容易影响数据重传,因此,如何减小空口环
境下数据重传时延显得尤为重要。所述TCP传输方法通过采用基站TCP协议对本地缓存中的
紧急数据进行重传处理,能够对TCP应答报文进行深度解析,并按照实际传输需要及时传输
数据,能够满足较为迫切的数据传输需求,提升移动通信连接入网的数据传输性能,具备灵
活性和适应性。避免在TCP处理数据时,严格按序传输数据,影响重传及时率。所述TCP传输
方法,将TCP协议结合移动通信技术内部协议,使得基站的服务质量提高,使得数据传输在
恶劣的空口环境下也能得到及时以及精准的传输,提升了用户体验以及运营经济效益。
如图9为一个实施例中的TCP传输装置结的构示意图,图9的TCP传输装置包括:
报文确认号获取模块100,用于获取通过网络侧接收的TCP应答报文的报文确认
号;
最新确认号获取模块200,用于获取服务器的最新确认号;
第一识别模块300,用于若所述报文确认号等于所述服务器的最新确认号,增加所
述TCP应答报文的重复应答计数值;
优先级提高模块400,用于若所述重复应答计数值等于预设阈值,提高本地缓存中
所述TCP应答报文对应的TCP数据报文的发送优先级。
图10为一个实施例中的第一识别模块300的结构示意图,图10的第一识别模块300
包括:
检测模块301,用于检测所述TCP应答报文对应的TCP数据报文是否存在于本地缓
存;
释放模块302,用于若存在于本地缓存,则将存在于本地缓存的所述TCP应答报文
对应的已成功上传的TCP数据报文进行释放。
图11为一个实施例中的TCP传输装置的结构示意图,图11的TCP传输装置还包括:
第二识别模块310,用于若所述TCP应答报文的报文确认号大于所述服务器的最新
确认号,检测所述服务器的最新确认号对应的TCP数据报文是否存在于本地缓存;
最新确认号设置模块410,若存在于本地缓存,则将所述服务器的最新确认号设置
为TCP应答报文的报文确认号,并将存在于本地缓存的所述服务器的最新确认号对应的已
成功上传的TCP数据报文进行释放。
一个实施例中,请参阅图12,图12的TCP传输装置还包括:
重复应答计数值置零模块411,用于将所述TCP应答报文的重复应答计数值置零;
发送模块412,用于发送所述TCP应答报文对应的TCP数据报文至终端。
图13为一个实施例中的TCP传输装置的结构示意图,图13的TCP传输装置包括:
第三识别模块320,用于若所述TCP应答报文的报文确认号小于所述服务器的最新
确认号,发送所述TCP应答报文对应的TCP数据报文至终端。
图14为一个实施例中的TCP传输装置的结构示意图,图14的TCP传输装置还包括:
TCP数据报文获取模块500,用于接收空口侧上传的TCP数据报文;
TCP数据报文存储模块600,用于获取所述TCP数据报文的序列号,并根据序列号的
顺序将所述TCP数据报文插入本地缓存,以用于网络侧快速重传;
TCP数据报文发送模块700,用于将所述TCP数据报文按序传递至正常优先级发送
队列。
图15为一个实施例中的TCP数据报文存储模块600的示意图,图15中TCP数据报文
存储模块600包括:
序列号获取模块601,用于获取本地缓存中的TCP数据报文数据流的各TCP数据报
文序列号;
乱序处理模块602,用于若TCP数据报文数据流的序列号存在乱序,获取乱序的TCP
数据报文数据流的各TCP数据报文序列号;
调整模块603,用于根据所述TCP数据报文头部信息将所述乱序的TCP数据报文数
据流进行调整。
本发明的TCP传输装置与本发明的TCP传输方法一一对应,在上述TCP传输方法的
实施例阐述的技术特征及其有益效果均适用于TCP传输装置的实施例中,特此声明。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实
施例中的各个技术特征所有可能组合都进行描述,然而只要这些技术特征的组合不存在矛
盾,都应当是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施例,其描述较为具体和详细,但并不
能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来
说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护
范围。因此,本发明专利的保护范围应以所附权利要求为准。