数据传输方法以及装置与流程

文档序号:23145523发布日期:2020-12-01 13:25阅读:147来源:国知局
数据传输方法以及装置与流程

本申请涉及通信技术,尤其涉及一种数据传输方法以及装置。



背景技术:

客户前置设备(customerpremiseequipment,cpe)是一种将接收到的蜂窝信号以wifi信号转发出去的移动信号接入设备。例如,cpe可以将4g通信网络或者5g通信网络的蜂窝信号转换为wifi信号,以支持多个终端设备连接该wifi信号进行上网。

cpe通过蜂窝信号的方式与网络建立通信连接,而终端设备通过wifi信号的方式与cpe建立通信连接;然后,终端设备的应用客户端通过该cpe与应用服务器建立传输控制协议(transmissioncontrolprotocol,tcp)连接;应用服务器通过该tcp连接传输该应用客户端的业务数据给cpe,然后cpe再将该业务数据转发给该终端设备。

由上述方案可知,cpe将应用服务器发送的业务数据转发给终端设备,仅起到的是在互联网协议地址(internetprotocoladdress,ip)层对业务数据的转发作用,无法对业务数据的传输进行控制。



技术实现要素:

本申请实施例提供了一种数据传输方法以及装置,用于实现第一终端设备对第二终端设备的业务数据的传输控制。

本申请实施例第一方面提供了一种数据传输方法,包括:

第一终端设备通过第一通信技术与网络建立第一通信连接,且第一终端设备还与第二终端设备存在第二通信连接,该第二通信连接是该第二终端设备通过第二通信技术与该第一终端设备建立的通信连接;然后,当满足预设条件时,该第一终端设备与应用服务器建立第一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连接所承载的业务设置第二缓存区,其中,第一缓存区的大小与第二缓存区的大小相同;第一终端设备通过第二缓存区缓存第一业务数据。

另一种可能的实现方式中,该方法还包括:第一终端设备根据第三下载速率和第四下载速率调整第二缓存区,第三下载速率为第二终端设备在第三预设时长内通过第二通信连接从第一终端设备下载第一业务数据的下载速率,第四下载速率为第一终端设备在第三预设时长内通过第一通信连接从应用服务器下载第一业务数据的下载速率。在该可能的实现方式中,提供了第一终端设备还可以根据下载速率来动态调整第二缓存区的大小,在实际应用中,提升了方案的实用性。

另一种可能的实现方式中,第一终端设备根据第三下载速率和第四下载速率调整第二缓存区包括:当第三下载速率小于第四下载速率时,第一终端设备调整第二缓存区,得到调整后的第二缓存区,调整后的第二缓存区的大小为第一缓存区的大小乘以速率比值,速率比值为第三下载速率与第四下载速率的比值。在该可能的实现方式中,提供了一种具体第一终端设备如何根据下载速率动态调整第二缓存区的方式。

另一种可能的实现方式中,第一终端设备根据第三下载速率和第四下载速率调整第二缓存区包括:当第三下载速率小于第四下载速率且第二缓存区的当前剩余空间小于或者等于第五预设阈值时,第一终端设备扩大第二缓存区,其中,扩大后的第二缓存区的大小为扩大前的第二缓存区的大小的n倍,且扩大后的第二缓存区的大小小于或者等于第一缓存区的大小的m倍;当第三下载速率小于第四下载速率且第二缓存区中的当前剩余空间大于第五预设阈值时,第一终端设备缩小第二缓存区,其中,缩小后的第二缓存区为缩小前的第二缓存区的大小的1/n倍,且缩小后的第二缓存区的大小大于或者等于第一缓存区的大小且小于第一缓存区的大小的m倍,m大于n,n和m为不等于0的正整数。在该可能的实现方式中,提供了另一种具体第一终端设备如何根据下载速率动态调整第二缓存区的方式。

本申请实施例第二方面提供了一种数据传输装置,该数据传输装置具有实现上述第一方面任意一种可能的实现方式中的第一终端设备执行的方法。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。

本申请实施例第三方面提供了一种数据传输装置,该数据传输装置包括:处理器、存储器、输入输出设备以及总线;该处理器、存储器、输入输出设备分别与该总线相连,该存储器中存储有计算机指令;该处理器在执行该存储器中的计算机指令时,用于实现如第一方面或第一方面任意一种可能的实现方式中的方法任意一种实现方式。

本申请实施例第四方面提供了一种芯片系统,该芯片系统包括处理器,用于支持网络设备实现上述第一方面或第一方面任意一种可能的实现方式中所涉及的功能,例如,例如发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存网络设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。

本申请实施例第五方面提供了一种包括指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得该计算机执行如第一方面或第一方面任意一种可能的实现方式中任一种的实现方式。

本申请实施例第六方面提供了一种计算机可读存储介质,其特征在于,包括指令,当该指令在计算机上运行时,使得计算机执行如第一方面或第一方面任意一种可能的实现方式中任一种实现方式。

从以上技术方案可以看出,本申请实施例具有以下优点:

经由上述技术方案可知,当满足预设条件时,第一终端设备与应用服务器建立第一tcp连接,与第二终端设备的应用客户端建立第二tcp连接;然后,第一终端设备通过第一tcp连接接收该应用服务器发送的第一业务数据,并缓存该第一业务数据,再通过第二tcp连接向第二终端设备发送该第一业务数据。因此,本申请的技术方案中,第一终端设备可以将第一业务数据进行缓存再转发给第二终端设备,实现对第一业务数据的传输控制。

附图说明

图1为本申请实施例提供的一个系统框架示意图;

图2为本申请实施例数据传输方法的一个实施例示意图;

图3为本申请实施例数据传输方法的另一个实施例示意图;

图4为本申请实施例数据传输方法的另一个实施例示意图;

图5为本申请实施例数据传输装置的一个结构示意图;

图6为本申请实施例数据传输装置的另一个结构示意图。

具体实施方式

本申请实施例提供了一种数据传输方法以及装置,用于实现第一终端设备对第二终端设备的业务数据的传输控制。

请参阅图1,图1为本申请实施例提供的一种系统框架示意图。图1为本申请实施例应用于4g通信网络的系统框架示意图,需要说明的是,本申请实施例同样适用于3g、5g甚至6g等通信网络,具体本申请不做限定。下面以图1应用于4g通信网络为例进行说明。

本申请实施例中,第一终端设备可以为图1所示的cpe,还可以是手机、wifi盒子、移动热点(mobilewifi,mifi)等终端设备,这里以第一终端设备为cpe为例进行说明。cpe通过4g通信网络的移动信号的方式接入网络,即与接入网设备建立通信连接。其中,接入网设备可以为gnb、传输接收点(transmissionreceptionpoint,trp)、演进型节点b(evolvednodeb,enb)、无线网络控制器(radionetworkcontroller,rnc)、节点b(nodeb,nb)、基站控制器(basestationcontroller,bsc)、基站收发台(basetransceiverstation,bts)、家庭基站(例如,homeevolvednodeb,或homenodeb,hnb)、bbu,或wifi接入点(accesspoint,ap)等,具体本申请不做限定,这里以图1所示的接入网设备为基站进行说明。cpe通过4g移动信号与基站建立通信连接,cpe接收4g移动信号,并以wifi信号的形式将该4g移动信号转发出去。其中,本申请实施例中第二终端设备,又称之为用户设备(userequipment,ue)、移动台(mobilestation,ms)、移动终端(mobileterminal,mt)等,是一种向用户提供语音/数据连通性的设备,例如,具有无线连接功能的手持式设备等,这里以图1所示的ue1为第二终端设备为例进行说明。那么ue1可以通过该wifi信号与该cpe创建通信连接;然后,ue1上的应用客户端可以通过该cpe建立与应用服务器的tcp连接,并通过该tcp连接接收应用服务器发送的业务数据。

由此可知,第二终端设备通过第一终端设备建立与应用服务器之间的tcp连接;然后,第一终端设备接收应用服务器发送的该第二终端设备的业务数据,再将该业务数据转发给第二终端设备。在这个过程当中,第一终端设备仅仅是起到对业务数据的转发,并无法对业务数据的传输进行控制。进一步地,当第一终端设备与第二终端设备之间通过wifi信号建立的通信连接的信号强度较为不稳定时,第一终端设备无法解决wifi信号不稳定带来的tcp层数据传输速率低的问题。有鉴于此,本申请实施例提供了一种数据传输方法,用于实现第一终端设备对第二终端设备的业务数据的传输控制。

下面对本申请实施例的数据传输方法进行介绍,请参阅图2,图2为本申请实施例中数据传输方法的一个实施例示意图,该方法包括:

201、第一终端设备通过第一通信技术与网络创建第一通信连接。

其中,第一通信技术可以是蜂窝网络通信的方式,第一终端设备通过蜂窝网络的蜂窝信号(例如:4g或者5g通信网络的移动信号)的方式接入网络。第二终端设备可以通过第二通信技术与该第一终端设备创建第二通信连接,其中,该第二通信技术可以是通过wifi信号与第一终端设备建立第二通信连接。

202、当满足预设条件时,第一终端设备与应用服务器建立第一tcp连接,与第二终端设备的应用客户端建立第二tcp连接。

在步骤201可知,第二终端设备与第一终端设备通过第二通信技术创建第二通信连接之后,当某个应用客户端存在业务需求时,该第二终端设备的应用客户端可以通过第一终端设备与应用服务器创建第三tcp连接,然后应用服务器通过该第三tcp连接向第一终端设备传输第二业务数据。而当满足预设条件时,第一终端设备可以为该第三tcp连接开启tcp代理,具体的过程是:第一终端设备与该应用服务器创建第一tcp连接,与该第二终端设备创建第二tcp连接;而此时第二终端设备会断开与应用服务器建立的第三tcp连接,并通过第二tcp连接来接收第一终端设备发送的第一业务数据。其中,预设条件有多种,下面举例说明:

1、第三tcp连接所承载的业务的业务类型符合预设的业务类型。

在本申请实施例中,第一终端设备为一些特定业务开启tcp代理,其中,特定业务可以理解为业务数据量较大且时延要求较低的业务,例如,网页浏览、音视频业务、图片下载、小视频下载等。所以,第一终端设备可以判断第三tcp连接所承载的业务是否符合预设的业务类型,若是,则第一终端设备可以确定满足预设条件。例如,该第三tcp连接所承载的是第二终端设备上通过爱奇艺客户端观看某个视频的数据,可以确定该业务为视频业务,则第一终端设备为该第三tcp连接开启tcp代理。

2、第二通信连接出现异常。

其中,该第二通信连接出现异常可以包括以下情况之一:

a、第二终端设备在第一预设时长内通过该第二通信连接下载第三tcp连接所承载的第二业务数据的第一下载速率小于第一预设阈值。

需要说明的是,该第一下载速率可以为某个时刻的下载速率,也可以是该第二终端设备在第一预设时长内的平均下载速率,例如一天内的下载速率的平均值。而该第一预设阈值可以是第二终端设备根据第二终端设备下载第三tcp连接所承载的第二业务数据的历史下载速率计算得到的一个历史平均下载速率。当第一下载速率小于第一预设阈值时,第一终端设备可以为该第三tcp连接开启tcp代理。

b、第二终端设备在第一预设时长内通过该第二通信连接下载第三tcp连接所承载的第二业务数据的第一下载速率的均方差大于第二预设阈值。

需要说明的是,当该第一下载速率的均方差大于第二预设阈值时,那么可以理解为在这段预设时长内,第二终端设备的第一下载速率的变化幅度较大,网络较为不稳定。当第一下载速率的均方差大于第二预设阈值时,第一终端设备可以为该第三tcp连接开启tcp代理。

c、第二终端设备通过第二通信连接下载该第三tcp连接所承载的第二业务数据的第一下载速率与该第一终端设备通过第一通信连接下载该第三tcp连接所承载的第二业务数据的第二下载速率的差值大于第三预设阈值。

当第一下载速率小于该第二下载速率时,如果这两者的差值大于第三预设阈值时,可以理解为该第二通信连接出现异常,那么,第一终端设备可以为该第三tcp连接开启tcp代理。

3、第三tcp连接所承载的业务的业务类型符合预设的业务类型且第二通信连接出现异常。

4、第三tcp连接所承载的业务的业务类型符合预设的业务类型且第一终端设备根据历史异常情况确定在第一时长该第一通信连接或者该第二通信连接出现异常。

其中,历史异常情况包括:历史异常发生原因(例如,第一通信连接或者第二通信连接异常)和异常的特征(例如,发生异常的时间点或者时间段、发生异常的应用类型)。第一终端设备可以根据历史异常情况预测再次发生异常的时间点或者异常特征等。例如,每天晚上6点至7点,家庭内部成员很多会使用爱奇艺客户端看视频,导致wifi信号变差,那么第一终端设备可以确定在每天晚上6点至7点这个时间段内该第一通信连接将出现异常,所以第一终端设备可以为该第三tcp连接开启tcp代理。而如果在每天晚上6点至7点这个时间段内,由于基站的无线资源是有限的,若多个第一终端设备同时请求大带宽资源,则存在无法完全满足所有第一终端设备的请求的问题,则此时第一通信连接将出现异常。

5、该第二终端设备在第二预设时长内通过该第二终端设备与该应用服务器已建立的第三tcp连接成功接收的数据包个数小于第四预设阈值。

可选的,第一终端设备可以通过该第二终端设备发送的ack报文确定该第二终端设备在单位时间内成功接收的数据包的个数,当数据包的个数小于第四预设阈值时,该第一终端设备可以确定该第一通信连接的网络较差,那么第一终端设备可以确定满足预设条件。例如,应用服务器通过第三tcp连接在单位时间内向第二终端设备发送10个数据包,而第一终端设备通过第二终端设备反馈的ack报文确定该第二终端设备在该单位时间内仅仅收到4个数据包,而该第四预设阈值为5,那么第一终端设备确定数据包的个数小于5,所以第一终端设备确定满足预设条件。

203、第一终端设备通过第一tcp连接接收应用服务器发送的第一业务数据。

第一终端设备为第三tcp连接开启tcp代理之后,第一终端设备可以通过与应用服务器建立的第一tcp连接接收该第一终端设备发送的第一业务数据。

204、第一终端设备缓存该第一业务数据。

其中,第一终端设备缓存该第一业务数据的具体过程如图3所示,该过程包括:

301、第一终端设备确定第三tcp连接所承载的业务在第二终端设备所占用的第一缓存区。

在第二终端设备通过第一终端设备与该应用服务器建立第三tcp连接之后,该第二终端设备会为该第三tcp连接设置第一缓存区,用于缓存第二终端设备通过第三tcp连接接收到的业务数据;那么,第一终端设备可以确定该第一缓存区的大小。具体的,在第二终端设备在与应用服务器建立该第三tcp连接时,第一终端设备可以根据第二终端设备向应用服务器发送的tcp消息确定该第三tcp连接的接收窗口,即为该第一缓存区的大小。

302、第一终端设备在该第一终端设备中为该第一tcp连接所承载的业务设置第二缓存区。

第二终端设备确定第一缓存区的大小之后,第二终端设备可以在第一终端设备中为第一tcp连接所承载的业务设置第二缓存区,且该第二缓存区的大小与该第一缓存区的大小相同。

303、第一终端设备通过第二缓存区缓存该第一业务数据。

第一终端设备可以通过该第二缓存区缓存应用服务器通过第一tcp连接向其发送的第一业务数据。具体的,第一终端设备设置该第二缓存区之后,可以向该第一终端设备中的应用代理模块请求执行快发的命令,从而更快地下载该第一业务数据,以便于通过该第二缓存区缓存该第一业务数据。

205、第一终端设备通过第二tcp连接向第二终端设备发送第一业务数据。

第一终端设备可以将缓存的第一业务数据通过第二tcp连接发送给第二终端设备,在第一终端设备通过第二tcp连接向第二终端设备发送第一业务数据时,第一终端设备可以对该第一业务数据的传输进行控制。例如,当该第一终端设备至第二终端设备之间的wifi信号较差,第一终端设备可以调整该第二tcp连接的滑动窗口,使得第一终端设备在这种环境下按照第二终端设备的接收能力发送对应的数据包。而当第一终端设备至第二终端设备之间的wifi信号恢复至良好的状态时,第一终端设备可以快速地调整该第二tcp连接滑动窗口,以便于此时第一终端设备能够按照第二终端设备当前的接收能力发送对应的数据包,这样可以避免或者防止由于第二tcp连接的滑动窗口无法根据该wifi信号的强度状态快速调整至合适的大小带来的用户侧网络传输质量总体较差的问题。

可选的,本申请实施例中,第二终端设备设置该第二缓存区之后,可以根据第三下载速率和第四下载速率动态调整该第二缓存区的大小,其中,第三下载速率为该第二终端设备在第三预设时长内通过第二通信连接从第一终端设备下载该第一业务数据的下载速率,该第四下载速率为第一终端设备子在第三预设时长内通过第一通信连接下载该第一业务数据的下载速率。具体的,第二终端设备调整第二缓存区的具体过程通过图4详细说明,请参阅图4,该过程包括:

401、第一终端设备判断第三下载速率是否大于等于第四下载速率,若是,则执行步骤402;若否,则执行步骤403。

402、第一终端设备将第二缓存区的大小调整为第一缓存区的大小。

当该第三下载速率大于或者等于该第四下载速率时,第二终端设备可以将第二缓存区的大小设置为第一缓存区的大小。

403、第一终端设备调整该第二缓存区的大小,且调整后的第二缓存区的大小为第一缓存区的大小乘以速率比值。

当第三下载速率小于该第四下载速率时,第一终端设备调整该第二缓存区,得到调整后的第二缓存区,该调整后的第二缓存区的大小为该第一缓存区的大小乘以速率比值,速率比值为第三下载速率和第四下载速率的比值。

可选的,当第三下载速率小于第四下载速率时,还可以通过以下方式实现对第二缓存区的调整,具体为:当第二缓存区的当前剩余空间小于或者等于第五预设阈值时,第一终端设备扩大第二缓存区,其中,扩大后的第二缓存区为扩大前的第二缓存区的大小的n倍,且扩大后的第二缓存区的大小小于或者等于该第一缓存区的的大小m倍;当第二缓存区的当前剩余空间大于第五预设阈值时,cpe缩小第二缓存区,其中,缩小后的第二缓存区的大小为缩小前的第二缓存区的大小的1/n倍,且缩小后的第二缓存区的大小大于或者等于该第一缓存区的大小且小于该第一缓存区的大小的m倍,m大于n,n和m为不等于0的正整数。

例如,该第二缓存区的当前缓存大小为该ue的接收窗口(receivingwindow,rwnd),当该第二缓存区的当前剩余空间为该当前缓存大小的10%时,则第一终端设备扩大该第二缓存区,例如,第一终端设备将该第二缓存区当前缓存大小扩大为当前缓存大小的两倍,即该第二缓存区为2*rwnd;

而若第二缓存区的当前缓存大小为8*rwnd;当该第二缓存区的当前剩余空间为当前缓存大小的90%时,第一终端设备缩小该第二缓存区;例如,第一终端设备将该第二缓存区缩小为当前缓存大小的1/2倍,即该第二缓存区为4*rwnd。

需要说明的是,第一终端设备对第二缓存区进行扩大或者缩小是有限度的。其中,调整后的第二缓存区的大小大于或者等于第一缓存区的大小且小于或者等于第一缓存区的大小的m倍。例如,第一缓存区的大小为该ue的rwnd,m为10,则调整后的第一缓存区大于或者等于rwnd且小于或者等于10*rwnd。

本申请实施例中,第一终端设备通过第二tcp连接在tcp层中传输该第一业务数据至该第一终端设备的wifi层,然后第一终端设备再通过wifi层将该第一业务数据传输给第二终端设备,而第一终端设备在tcp层发送该第一业务数据出去之后会启动第一定时器,以便于在第一定时器内确定是否收到第二终端设备发送的ack报文,如果没有收到,则第一终端设备在tcp层重新发送该第一业务数据;而第一终端设备的wifi层接收到tcp层发送的第一业务数据之后,第一终端设备在wifi层启动第二定时器,如果在第二定时器的时长内第一终端设备不向第二终端设备发送该第一业务数据,则第一终端设备将该第一业务数据进行丢包处理。因此,在本申请实施例中,为了第一终端设备能够将缓存的第一业务数据成功传输至第二终端设备侧,第一终端设备可以调整该第一定时器和第二定时器,以使得这两个定时器的时长一致并且同步;其次,第一终端设备可以调大允许第二终端设备重传ack报文的数量,以便于第二终端设备通过ack报文上报数据接收情况,第一终端设备再根据ack报文发送第二终端设备未成功接收的业务数据。

本申请实施例中,当满足预设条件时,第一终端设备与应用服务器建立第一tcp连接,与第二终端设备的应用客户端建立第二tcp连接;然后,第一终端设备通过第一tcp连接接收该应用服务器发送的第一业务数据,并缓存该第一业务数据,再通过第二tcp连接向第二终端设备发送该第一业务数据。因此,本申请的技术方案中,第一终端设备可以将第一业务数据进行缓存再转发给第二终端设备,实现对第一业务数据的传输控制。

下面对本申请实施例提供的数据传输装置500进行描述,请参阅图5,本申请实施例中数据传输装置500的一个实施例包括:

处理模块501,用于通过第一通信技术与网络建立第一通信连接,其中,该数据传输装置还与第二终端设备存在第二通信连接,该第二通信连接为该第二终端设备通过第二通信技术与该数据传输装置建立的通信连接;

该处理模块501,还用于当满足预设条件时,与应用服务器建立第一传输控制协议tcp连接,与第二终端设备的应用客户端建立第二tcp连接;

收发模块502,用于通过该第一tcp连接接收该应用服务器发送的第一业务数据;

该处理模块501,还用于缓存该第一业务数据;

该收发模块502,还用于通过该第二tcp连接向该第二终端设备发送该第一业务数据。

一种可能的实现方式中,该预设条件包括:

该第二终端设备与该应用服务器已建立的第三tcp连接所承载的业务的业务类型符合预设的业务类型。

另一种可能的实现方式中,该预设条件包括:该第二通信连接出现异常。

另一种可能的实现方式中,该预设条件包括:该第二终端设备与该应用服务器已建立的第三tcp连接所承载的业务的业务类型符合预设的业务类型且该第二通信连接出现异常。

另一种可能的实现方式中,该预设条件包括:该第二终端设备与该应用服务器已建立的第三tcp连接所承载的业务的业务类型符合预设的业务类型且该数据传输装置根据历史异常情况确定在预测时长内该第一通信连接或者该第二通信连接出现异常。

另一种可能的实现方式中,该第二通信连接出现异常包括:该第二终端设备在第一预设时长内通过该第二通信连接下载该第三tcp连接所承载的第二业务数据的第一下载速率小于第一预设阈值;或者,该第二终端设备在第一预设时长内通过第二通信连接下载该第二业务数据的第一下载速率的均方差大于第二预设阈值;或者,该第二终端设备通过第二通信连接从该数据传输装置中下载该第二业务数据的第一下载速率与该数据传输装置通过该第一通信连接从该应用服务器下载该第二业务数据的第二下载速率的差值大于第三预设阈值。

另一种可能的实现方式中,该预设条件包括:该第二终端设备在第二预设时长内通过该第二终端设备与该应用服务器已建立的第三tcp连接成功接收的数据包个数小于第四预设阈值。

另一种可能的实现方式中,该处理模块501具体用于:

确定该第三tcp连接所承载的业务在该第二终端设备所占用的第一缓存区;

在该数据传输装置中为该第二tcp连接所承载的业务设置第二缓存区,其中,该第一缓存区的大小与该第二缓存区的大小相同;

通过该第二缓存区缓存该第一业务数据。

另一种可能的实现方式中,该处理模块501还用于:

根据第三下载速率和第四下载速率调整该第二缓存区,该第三下载速率为该第二终端设备在第三预设时长内通过该第二通信连接从该数据传输装置下载该第一业务数据的下载速率,该第四下载速率为该数据传输装置在该第三预设时长内通过该第一通信连接从该应用服务器下载该第一业务数据的下载速率。

另一种可能的实现方式中,该处理模块501具体用于:

当该第三下载速率小于该第四下载速率时,调整该第二缓存区,得到调整后的第二缓存区,该调整后的第二缓存区的大小为该第一缓存区的大小乘以速率比值,该速率比值为该第三下载速率与该第四下载速率的比值。

另一种可能的实现方式中,该处理模块501具体用于:

当该第三下载速率小于该第四下载速率且该第二缓存区的当前剩余空间小于或者等于第五预设阈值时,扩大该第二缓存区,其中,扩大后的第二缓存区的大小为扩大前的第二缓存区的大小的n倍,且该扩大后的第二缓存区的大小小于或者等于该第一缓存区的大小的m倍;

当该第三下载速率小于该第四下载速率且该第二缓存区中的当前剩余空间大于第五预设阈值时,缩小该第二缓存区,其中,缩小后的第二缓存区为缩小前的第二缓存区的大小的1/n倍,且该缩小后的第二缓存区的大小大于或者等于该第一缓存区的大小且小于该第一缓存区的大小的m倍,m大于n,n和m为不等于0的正整数。

本申请实施例中,处理模块501通过第一通信技术与网络建立第一通信连接,其中,处理模块501还与第二终端设备存在第二通信连接,该第二通信连接为该第二终端设备通过第二通信技术与该数据传输装置建立的通信连接;处理模块501,用于当满足预设条件时,与应用服务器建立第一tcp连接,与第二终端设备的应用客户端建立第二tcp连接;收发模块502通过第一tcp连接接收该应用服务器发送的第一业务数据;然后,处理模块501缓存该第一业务数据,收发模块502再通过第二tcp连接向第二终端设备发送该第一业务数据。因此,本申请的技术方案中,处理模块501可以将第一业务数据进行缓存再通过收发模块502转发给第二终端设备,实现对第一业务数据的传输控制。

本申请还提供另一种数据传输装置600,请参阅图6,本申请实施例中数据传输装置600一个实施例包括:

处理器601、存储器602、输入输出设备603以及总线604;

一种可能的实现方式中,该处理器601、存储器602、输入输出设备603分别与总线604相连,该存储器中存储有计算机指令。

前述实施例中的处理模块501具体可以是本实施例中的处理器601,因此该处理器601的具体实现不再赘述。前述实施例中的收发模块502则具体可以是本实施例中的输入输出设备603,因此该输入输出设备603的具体实现不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1