数据的传输方法、装置和无线保真路由器与流程

文档序号:16309820发布日期:2018-12-19 05:14阅读:157来源:国知局
数据的传输方法、装置和无线保真路由器与流程

本发明涉及通信领域,尤其涉及一种数据的传输方法、装置和无线保真路由器。

背景技术

近年来,随着网络技术的迅猛发展,网络已经成为人们生活中不可或缺的重要工具。而对于网络的需求和依赖使得人们希望随时随地应用网络,目前使用基于ieee802.11b/gn/ac协议族的无线保真(wirelessfidelity,wifi)观看视频已经成为大众的最普遍需求。

网络数据业务在网络上大多采用传输控制协议(transmissioncontrolprotocol,tcp)进行传输,当用户终端向数据服务器发起tcp请求下载数据时,用户终端的角色是tcp客户端,数据服务器的角色是tcp服务器。tcp协议核心是拥塞避免,即tcp服务器端在一段网络上传输数据到tcp客户端时,如果这条链路上的某个网络设备发生拥塞,那么该网络设备会主动丢弃一定数量的数据报文。这样tcp客户端就会发现收到的数据报文不连续从而判断出网络拥塞发生丢包,然后主动通知tcp服务器端降低发送速率,以此来避免网络拥塞。这样就能保证多条tcp连接在同一段链路上进行传输时不会发生严重拥塞和导致网络瘫痪。

但是上述tcp拥塞避免机制在wifi环境下就会出现导致tcp吞吐量偏低的情况,主要原因是:在通过wifi信号进行数据传输时,wifi物理层会发生由于附近信号干扰导致的丢包。tcp协议会将这种由于wifi信号干扰导致的丢包也误判断为网络设备发生拥塞而产生的丢包,从而无谓的降低发送速率,影响了整体tcp吞吐量。

在wifi环境下,如果用户终端和wifi路由器相隔较远,或者有几层障碍物,wifi信号衰减带来的数据丢包是比较明显的,在这种情况下使用tcp协议传输数据,用户终端几乎无法正常接收数据。随着运营商网络可提供给用户的接入带宽越来越高,wifi环境下的丢包导致的tcp吞吐量不足,成为用户终端到数据服务器整体链路上的吞吐量瓶颈。



技术实现要素:

本发明实施例提供了一种数据的传输方法,在wifi环境下保证用户终端到数据服务器整体链路上的数据快速传输。

本发明实施例还提供了一种数据的传输装置,在wifi环境下保证用户终端到数据服务器整体链路上的数据快速传输。

本发明实施例还提供了一种无线保真路由器,在wifi环境下保证用户终端到数据服务器整体链路上的数据快速传输。

本发明实施例还提供了一种无线保真路由器,在wifi环境下保证用户终端到数据服务器整体链路上的数据快速传输。

第一方面,本发明实施例提供一种数据的传输方法,所述方法包括:

通过与用户终端之间的无线保真wifi连接,接收包括所述用户终端的互联网协议ip地址的第一传输控制协议tcp连接建立请求,基于所述用户终端的ip地址建立与所述用户终端之间的第一tcp连接,所述第一tcp连接建立请求还包括数据服务器的ip地址;

根据所述数据服务器的ip地址通过互联网发送包括所述数据服务器的ip地址的第二tcp连接建立请求,基于所述数据服务器的ip地址建立与所述数据服务器的第二tcp连接;

通过所述第二tcp连接接收所述数据服务器发送的所述用户终端请求的数据;

通过所述第一tcp连接向所述用户终端发送所述数据。

结合第一方面,在第一种可能的实现方式中,

所述第一tcp连接建立请求还包括所述用户终端的mac地址;

所述基于所述用户终端的ip地址建立与所述用户终端之间的第一tcp连接之前,还包括:

依据所述用户终端的mac地址确定所述用户终端的wifi信号的强度在预先设置的信号强度范围内。

结合第一方面,在第一种可能的实现方式的第一种情况时,所述信号强度范围的下限值小于-65db,所述信号强度范围的上限值在-55db与-20db之间。

结合第一方面,在第一种可能的实现方式的第一种情况时,所述信号强度范围的下限值为-75db,所述信号强度范围的上限值为-50db。

结合第一方面,在上述的实现方式中,所述方法还包括:

对通过所述第一tcp连接传输的数据不执行tcp拥塞避免算法。

结合第一方面,在上述的实现方式中,所述方法还包括:在确定所述数据服务器通过所述第二tcp连接发送的数据发生丢包时,通过所述第二tcp连接向所述数据服务器发送包括丢包情况的消息。

结合第一方面,在上述的实现方式中,所述方法还包括:缓存的数据量大于预设阈值时,通过所述第二tcp连接向所述数据服务器发送用于指示降低数据发送速率的消息。

第二方面,本发明实施例提供一种数据的传输装置,所述数据的传输装置包括请求处理模块和传输控制协议tcp代理模块;

所述请求处理模块,用于通过与用户终端之间的无线保真wifi连接,接收包括所述用户终端的互联网协议ip地址的第一tcp连接建立请求,所述第一tcp连接建立请求还包括数据服务器的ip地址;

所述tcp代理模块,用于基于所述用户终端的ip地址建立与所述用户终端之间的第一tcp连接,根据所述数据服务器的ip地址通过互联网发送包括所述数据服务器的ip地址的第二tcp连接建立请求,基于所述数据服务器的ip地址建立与所述数据服务器的第二tcp连接,通过所述第二tcp连接接收所述数据服务器发送的所述用户终端请求的数据,通过所述第一tcp连接向所述用户终端发送所述数据。

结合第二方面,在第一种可能的实现方式中,所述第一tcp连接建立请求还包括所述用户终端的mac地址;

所述请求处理模块,还用于依据所述用户终端的mac地址确定所述用户终端的wifi信号的强度在预先设置的信号强度范围内。

结合第二方面,在第一种可能的实现方式第一种情况中,所述信号强度范围的下限值小于-65db,所述信号强度范围的上限值在-55db与-20db之间。

结合第二方面,在第一种可能的实现方式的第一种情况中,所述信号强度范围的下限值为-75db,所述信号强度范围的上限值为-50db。

结合第二方面,在上述的实现方式中,所述tcp代理模块,还用于对通过所述第一tcp连接传输的数据不执行tcp拥塞避免算法。

结合第二方面,在上述的实现方式中,所述tcp代理模块,还用于在确定所述数据服务器通过所述第二tcp连接发送的数据发生丢包时,通过所述第二tcp连接向所述数据服务器发送包括丢包情况的消息。

结合第二方面,在上述的实现方式中,所述tcp代理模块,还用缓存的数据量大于预设阈值时,通过所述第二tcp连接向所述数据服务器发送用于指示降低数据发送速率的消息。

第三方面,本发明实施例提供一种无线保真路由器,所述无线保真wifi路由器包括所述数据的传输装置。

第四方面,本发明实施例提供无线保真路由器,存储器,用于存储程序;处理器,用于运行所述存储器中存储的所述程序,以执行所述数据的传输方法。

从上述技术方案中可以看出,通过与用户终端之间的wifi连接,基于用户终端的ip地址建立与用户终端之间的第一tcp连接;基于数据服务器的ip地址建立与数据服务器的第二tcp连接;通过第二tcp连接接收数据服务器发送的用户终端请求的数据;通过第一tcp连接向用户终端发送数据。由于可以基于互联网的第二tcp连接直接接收用户终端请求的数据,因此接收数据并没有受到wifi信号强弱的影响。然后,再基于wifi信号的第一tcp连接向用户终端发送用户终端请求的数据。基于wifi的第一tcp连接上发生丢包,并不会影响到基于互联网的第二tcp连接上的数据传输。这样,就能够在wifi环境下保证用户终端到数据服务器整体链路上的数据快速传输。

附图说明

从下面结合附图对本发明的具体实施方式的描述中可以更好地理解本发明其中,相同或相似的附图标记表示相同或相似的特征。

图1是本发明实施例中数据的传输方法流程示意图;

图2是本发明实施例中数据的传输装置结构示意图;

图3是本发明实施例的数据的传输方法和装置的计算设备的示例性硬件架构的结构图;

图4是现有技术中networkcodedtcp协议示意图;

图5是现有技术中采用networkcodedtcp技术的流程示意图;

图6是本发明实施例中数据的信令流程示意图。

具体实施方式

在本发明实施例中,基于互联网通过与数据服务器的第二tcp连接直接从数据服务器获取用户终端请求的数据;然后,再基于wifi网络通过与用户终端的第一tcp连接,将用户终端请求的数据发送至用户终端。由于通过互联网直接接收所需要的数据,从第二tcp连接接收数据并不受wifi信号强弱的影响。基于wifi的第一tcp连接上发生丢包,并不会影响到基于互联网的第二tcp连接上的数据传输。这样,就能够在wifi环境下保证用户终端到数据服务器整体链路上的数据快速传输。

参见图1是本发明实施例中数据的传输方法流程示意图,具体包括:

s101、通过与用户终端之间的wifi连接,接收包括用户终端的ip地址的第一tcp连接建立请求,基于用户终端的ip地址建立与用户终端之间的第一tcp连接,第一tcp连接建立请求还包括数据服务器的ip地址。

用户终端向数据服务器请求数据,首先需要建立用户终端与数据服务器之间的tcp连接。考虑到用户终端与数据服务器之间包括两种不同的网络环境,可以根据不同的网络环境建立不同的tcp连接。

也就是说,用户终端与数据服务器之间的链路包括两部分,第一部分是用户终端与传输装置之间的链路;第二部分是传输装置与数据服务器之间的链路。第一部分的网络类型是wifi,第二部分的网络类型是互联网。

用户终端需要从数据服务器请求数据,则发送第一tcp连接建立请求,因此在第一tcp连接建立请求中包括用户终端的ip地址和数据服务器的ip地址。数据服务器即用户终端请求的数据对应的数据服务器。发送第一tcp连接建立请求的目的在于请求建立数据服务器与用户终端之间的tcp连接。

由于用户终端与传输装置之间的网络环境和传输装置与数据服务器之间的网络环境不同,因此传输装置建立两段tcp连接,即传输装置与用户终端之间的第一tcp连接,以及传输装置与数据服务器之间的第二tcp连接。

在本发明一个可选的实施例中,数据的传输装置可以是wifi路由器。

s102、根据数据服务器的ip地址通过互联网发送包括数据服务器的ip地址的第二tcp连接建立请求,基于数据服务器的ip地址建立与数据服务器的第二tcp连接。

在接收到第一tcp连接建立请求中的数据服务器的ip地址,可以通过互联网根据数据服务器的ip地址向ip地址对应的数据服务器,发送第二tcp连接建立请求。

基于第二tcp连接建立请求中数据服务器的ip地址建立与数据服务器的第二tcp连接。

这样,用户终端与数据服务器之间包括两个tcp连接,即通过wifi的第一tcp连接和通过互联网的第二tcp连接。通过第一tcp连接和第二tcp连接,用户终端可以从数据服务器获取相应的数据。

s103、通过第二tcp连接接收数据服务器发送的用户终端请求的数据。

数据服务器接收到用户终端请求的数据的消息,则在互联网中通过第二tcp连接向数据的传输装置发送用户终端请求的数据。

数据的传输装置在互联网中通过第二tcp连接接收到数据服务器发送的用户终端请求的数据。

第二tcp连接是在互联网中传输数据,由于互联网很少受到其他信号干扰,因此互联网的稳定性与wifi的稳定性相比来说,互联网的稳定性较高。

因此,数据的传输装置能够在互联网中通过第二tcp连接稳定接收用户终端请求的数据。

s104、通过第一tcp连接向用户终端发送数据。

传输装置在互联网中通过第二tcp连接接收到数据服务器发送的用户终端请求的数据后,通过第一tcp连接向用户终端发送数据。这样,用户终端就可以获得所请求的数据。

本发明实施例中,首先通过与用户终端之间的wifi连接,接收第一tcp连接建立请求,建立与用户终端之间的第一tcp连接。然后,通过与数据服务器之间的互联网,基于第二tcp连接建立请求,建立与数据服务器之间的第二tcp连接。进而,可以通过第二tcp连接接收数据服务器发送的数据,最后通过第一tcp连接将数据服务器发送的数据发送至用户终端。

由于通过互联网直接接收所需要的数据,即从第二tcp连接接收数据并不受wifi信号强弱的影响。基于wifi的第一tcp连接上发生丢包,并不会影响到基于互联网的第二tcp连接上的数据传输。这样,就能够在wifi环境下保证用户终端到数据服务器整体链路上的数据快速传输。

在本发明一个可选的实施例中,为了在wifi环境下更好的保证用户终端到数据服务器整体链路上的数据快速传输。需要确保wifi的信号强度在一定的范围内,因此需确定wifi的信号强度。

具体的,用户终端发送的第一tcp连接建立请求中还包括用户终端的媒体访问控制(mediumaccesscontrol,mac)地址。

这样就可以在第一tcp连接建立请求中识别用户终端的mac地址,然后确定用户终端的wifi信号的强度在预先设置的信号强度范围内。

具体来说,信号强度大于预先设置的信号强度范围的最大值,则说明在信号良好情况下,tcp吞吐量受wifi丢包影响较小,可以选择不通过第一tcp连接和第二tcp连接传输数据,节省家庭wifi路由器软硬件资源。

信道强度在预先设置的信号强度范围内,则说明在信号一般情况下,tcp吞吐量受wifi丢包影响较大,可以选择通过第一tcp连接和第二tcp连接传输数据,从而可以有效保障在wifi环境下用户终端到数据服务器整体链路上的数据快速稳定的传输。

信号强度小于预先设置的信号强度范围的最小值,则说明在信号较差情况下,移动终端可能无法正常连接wifi信号,即使选择选择通过第一tcp连接和第二tcp连接传输数据也无太大改善。因此可以选择不通过第一tcp连接和第二tcp连接传输数据,以避免家庭wifi路由器软硬件资源的浪费。

在本发明一个可选的实施例中,预先设置的信号强度范围具体包括信号强度范围的下限值即最小值,以及信号强度范围的上限值即最大值。信号强度范围的下限值可以小于-65db,信号强度范围的上限值可以在在-55db与-20db之间。

在本发明一个可选的实施例中,经过多次实践获知,信号强度范围的下限值为-75db,信号强度范围的上限值为-50db。也就是说,预先设置的信号强度范围具体可以是大于等于-75db且小于等于-50db。

在本发明一个可选的实施例中,考虑到第一tcp连接是通过wifi传输数据,因此为了保证在wifi环境下的吞吐量,则可以对通过第一tcp连接传输的数据不执行tcp拥塞避免算法。也就是说,即使在wifi环境下出现丢包等情况,也不执行tcp拥塞避免算法,从而优化tcp在家庭wifi环境下的吞吐量。

在本发明一个可选的实施例中,接收数据服务器通过第二tcp连接发送数据的过程中,如果与数据服务器之间链路上的某个网络设备发生拥塞,那么该网络设备会主动丢弃一定数量的数据报文。这样,会发现收到的数据报文不连续从而判断出网络拥塞发生丢包。即第二tcp连接发送的数据发生丢包。

在确定数据服务器通过第二tcp连接发送的数据发生丢包时,可以通过第二tcp连接向数据服务器发送包括丢包情况的消息。数据服务器接收到丢包情况后,可以适当降低发送数据的速率,以此来避免网络拥塞。

具体来说,考虑到出现网络拥塞,则可以向数据服务器发送包括互联网的链路丢包情况的消息,发送消息的目的在于向数据服务器提示是否需要调整发送数据的速率。数据服务器在接收到链路丢包情况的消息后,可以按照实际的网络状态调整发送数据的速率,从而避免网络拥塞。

在本发明一个可选的实施例中,转发从数据服务器获取的数据,首先需要将从数据服务器获取的数据暂存于缓存中,然而缓存的存储量是有限的。当缓存的数据量大于预设阈值,则说明缓存中无法再存储更多的数据。预设阈值可以依据具体的网络情况设置。

那么,可以通过第二tcp连接向数据服务器发送指示降低数据发送速率的消息。数据服务器接收到指示降低数据发送速率的消息,则降低数据发送速率。一方面,向用户终端转发数据的速率不变;另一方面,由于数据服务器降低了数据发送速率,接收数据的速率降低,因此缓存的数据量逐渐减少。

参见附图2是本发明实施例中数据的传输装置结构示意图,数据的传输装置与数据的传输方法相对应。数据的传输装置具体包括请求处理模块200和tcp代理模块201。

tcp代理模块201通过wifi与用户终端通信;tcp代理模块201通过互联网与数据服务器通信。

请求处理模块200,用于通过与用户终端之间的wifi连接,接收包括用户终端的ip地址的第一tcp连接建立请求,第一tcp连接建立请求还包括数据服务器的ip地址。

tcp代理模块201,用于基于用户终端的ip地址建立与用户终端之间的第一tcp连接,根据数据服务器的ip地址通过互联网发送包括数据服务器的ip地址的第二tcp连接建立请求,基于数据服务器的ip地址建立与数据服务器的第二tcp连接,通过第二tcp连接接收数据服务器发送的用户终端请求的数据,通过第一tcp连接向用户终端发送数据。

本发明实施例中,tcp代理模块201建立与用户终端之间的第一tcp连接。然后,tcp代理模块201建立与数据服务器之间的第二tcp连接。进而,tcp代理模块201可以通过第二tcp连接接收数据服务器发送的数据,最后tcp代理模块201可以通过第一tcp连接将数据服务器发送的数据发送至用户终端。由于通过互联网直接接收所需要的数据,从第二tcp连接接收数据并不受wifi信号强弱的影响。基于wifi的第一tcp连接上发生丢包,并不会影响到基于互联网的第二tcp连接上的数据传输。这样,就能够在wifi环境下保证用户终端到数据服务器整体链路上的数据快速传输。

在本发明一个可选的实施例中,为了在wifi环境下更好的保证用户终端到数据服务器整体链路上的数据快速传输。需要确保wifi的信号强度在一定的范围内,则需确定wifi的信号强度。

具体的,用户终端发送的第一tcp连接建立请求中还包括用户终端的mac地址。

请求处理模块200就可以在第一tcp连接建立请求中识别用户终端的mac地址,然后确定用户终端的wifi信号的强度在预先设置的信号强度范围内。并将用户终端的wifi信号的强度在预先设置的信号强度范围内的信息发送至tcp代理模块201。

tcp代理模块201获知用户终端的wifi信号的强度在预先设置的信号强度范围内,则建立第二tcp连接。

具体来说,信号强度大于预先设置的信号强度范围的最大值,则说明在信号良好情况下,tcp吞吐量受wifi丢包影响较小,可以选择不通过第一tcp连接和第二tcp连接传输数据,节省家庭wifi路由器软硬件资源。

信道强度在预先设置的信号强度范围内,则说明在信号一般情况下,tcp吞吐量受wifi丢包影响较大,可以选择通过第一tcp连接和第二tcp连接传输数据,从而可以有效保障在wifi环境下用户终端到数据服务器整体链路上的数据快速稳定的传输。

信号强度小于预先设置的信号强度范围的最小值,则说明在信号较差情况下,移动终端可能无法正常连接wifi信号,即使选择选择通过第一tcp连接和第二tcp连接传输数据也无太大改善。因此可以选择不通过第一tcp连接和第二tcp连接传输数据,以避免家庭wifi路由器软硬件资源的浪费。

在本发明一个可选的实施例中,预先设置的信号强度范围具体包括信号强度范围的下限值即最小值,以及信号强度范围的上限值即最大值。信号强度范围的下限值可以小于-65db,信号强度范围的上限值可以在在-55db与-20db之间。

在本发明一个可选的实施例中,经过多次实践获知,信号强度范围的下限值为-75db,信号强度范围的上限值为-50db。也就是说,预先设置的信号强度范围具体可以是大于等于-75db且小于等于-50db。

在本发明一个可选的实施例中,考虑到第一tcp连接是通过wifi传输数据,因此为了保证在wifi环境下的吞吐量,则tcp代理模块201可以对通过第一tcp连接传输的数据不执行tcp拥塞避免算法。也就是说,即使在wifi环境下出现丢包等情况,也不执行tcp拥塞避免算法,从而优化tcp在家庭wifi环境下的吞吐量。

在本发明一个可选的实施例中,接收数据服务器发送数据的过程中,如果与数据服务器之间链路上的某个网络设备发生拥塞,那么该网络设备会主动丢弃一定数量的数据报文。这样,会发现收到的数据报文不连续从而判断出网络拥塞发生丢包。即第二tcp连接发送的数据发生丢包。

tcp代理模块201在确定数据服务器通过第二tcp连接发送的数据发生丢包时,通过第二tcp连接向数据服务器发送包括丢包情况的消息。数据服务器接收到丢包情况后,可以适当降低发送数据的速率,以此来避免网络拥塞。

具体来说,考虑到出现网络拥塞,tcp代理模块201则可以向数据服务器发送包括互联网的链路丢包情况的消息,发送消息的目的在于向数据服务器提示是否需要调整发送数据的速率。数据服务器在接收到链路丢包情况的消息后,可以按照实际的网络状态调整发送数据的速率,从而避免网络拥塞。

在本发明一个可选的实施例中,转发从数据服务器获取的数据,首先需要将从数据服务器获取的数据暂存于缓存中,然而缓存的存储量是有限的。当缓存的数据量大于预设阈值,则说明缓存中无法再存储更多的数据。预设阈值可以依据具体的网络情况设置。

那么,tcp代理模块201可以通过第二tcp连接向数据服务器发送指示降低数据发送速率的消息。数据服务器接收到指示降低数据发送速率的消息,则降低数据发送速率。一方面,转发数据的速率不变;另一方面,由于数据服务器降低了数据发送速率,接收数据的速率降低,因此缓存的数据量逐渐减少。

tcp代理模块201具体可以包括tcp服务器和tcp客户端,其中,tcp服务器用于执行上述与用户终端建立第一tcp连接以及通过第一tcp连接发送数据的操作。tcp客户端用于执行上述与数据服务器建立第二tcp连接以及通过第二tcp连接接收数据的操作。

图3是示出能够实现根据本发明实施例的数据的传输方法和装置的wifi路由器的示例性硬件架构的结构图。

如图3所示,计算设备300包括输入设备301、输入接口302、中央处理器303、存储器304、输出接口305、以及输出设备306。其中,输入接口302、中央处理器303、存储器304、以及输出接口305通过总线310相互连接,输入设备301和输出设备306分别通过输入接口302和输出接口305与总线310连接,进而与计算设备300的其他组件连接。

具体地,输入设备301接收来自外部的输入信息,并通过输入接口302将输入信息传送到中央处理器303;中央处理器303基于存储器304中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器304中,然后通过输出接口305将输出信息传送到输出设备306;输出设备306将输出信息输出到计算设备300的外部供用户使用。

也就是说,图3所示的计算设备也可以被实现为包括:存储有计算机可执行指令的存储器;以及处理器,该处理器在执行计算机可执行指令时可以实现结合图1至图2描述的数据的传输方法和数据的传输装置。

在一个实施例中,图3所示的计算设备300可以被实现为一种设备即wifi路由器,该设备可以包括:存储器,用于存储程序;处理器,用于运行所述存储器中存储的所述程序,以执行结合图1描述的数据的传输方法。

另外,计算设备300可以执行数据的传输方法中的每一个步骤。

下面介绍现有技术在wifi中利用networkcodedtcp技术传输数据。

参见图4是现有技术中networkcodedtcp协议示意图,传统tcp协议传输简单来说分3层,application层产生数据,tcp层识别丢包控制发送速率,ip层负责实际的ip地址封装发送。

networkcodedtcp技术在tcp层和ip层之间加了一个新的networkcoding层,networkcoding层将本来在tcp层和ip层之间传递的数据包在发送侧和接收侧分别进行编码或解码,试图用一定的数据冗余度来恢复网络丢包引起的数据丢失,以此来降低丢包对tcp吞吐量的影响。

图5是现有技术中采用networkcodedtcp技术的流程示意图,同样使用tcp协议传输4个数据包,网络发生丢包时,networkcoding层对于tcp吞吐量保障的一个举例:

图5左侧是传统tcp协议栈,如果p1在网络中发生丢包,tcp客户端会在收到p4后判断出p1丢失,然后通知tcp服务器端降低发送速率。

图5右侧是增加networkcoding层的tcp协议栈,利用数据冗余来容忍网络上的一定丢包率,避免tcp降低发送速率,图5右侧的技术方案具体包括:

步骤1、tcp服务器端计划将4个数据包(p1,p2,p3,p4)发送到tcp客户端,tcp服务器端先将这4个数据包传给自身networkcoding层。

步骤2、服务器端networkcoding层使用编码技术可以将原来的4个数据包打散编码重新生成5个新的数据包(p1’,p2’,p3’,p4’,p5’)。

步骤3、服务器端networkcoding层将这5个数据包传给服务器端ip层进行发送,这样实际网络传输中就会有5个数据包。

步骤4、p1’在网络传输过程中丢失,用户端ip层只接收到4个数据包(p2’,p3’,p4’,p5’),用户端ip层将这4个数据包传给用户端networkcoding层。

步骤5、用户端networkcoding层将(p2’,p3’,p4’,p5’)解码成(p1,p2,p3,p4),然后传给客户端,客户端正常接收到4个数据包,没有发现网络丢包因此不会降低发送速率。

networkcodedtcp可以通过动态添加冗余数据包来恢复由于wifi链路导致的丢包,因此在wifi这种高丢包率的场景下使用,也可以达到很稳定的吞吐量。目前业界在推广networkcodedtcp这项技术时,也是主要应用在wifi场景下传输高吞吐量视频业务。

然而,首先,networkcoding层需要实现在操作系统中,支持networkcodedtcp功能必须同时升级服务器和用户终端的操作系统。升级用户终端的操作系统在现实中比较难实现,因此networkcodedtcp方案在实际部署上非常困难。其次,networkcoding层需要将数据包进行编解码,编解码计算比较复杂,需要额外消耗服务器和客户端较多的cpu计算能力。

在本发明实施例中数据的传输装置可以是独立存在的装置,也可以存在于其他的装置中。例如存在于wifi路由器中。

下面就本发明实施例中的技术方案举例说明,参见图6是本发明实施例中数据的信令示意图。具体包括用户终端、wifi路由器和数据服务器。

图6中的数据的传输装置存在于wifi路由器中,wifi路由器包括请求处理模块和tcp代理模块,tcp代理模块可以包括tcp服务器和tcp客户端。其中,用户终端可以包括手机、平板电脑、笔记本电脑等类似的设备。

s601、用户通过用户终端观看视频时,用户终端首先需要向视频网站的数据服务器发起第一tcp连接建立请求来进行视频内容下载,后续视频内容下载都使用tcp连接进行传输。

用户终端具体通过用户终端中的tcpclient发送第一tcp连接建立请求。

用户终端所有访问互联网的数据都需要经过wifi路由器进行传输。请求处理模块监听用户终端通过wifi发起的第一tcp连接建立请求,识别第一tcp连接建立请求后从该请求中获取到用户终端ip地址、用户终端mac地址和数据服务器的ip地址。

s602、请求处理模块依据用户终端mac地址确定wifi路由器与该用户终端wifi连接的信号强度。

在具体实现时,wifi路由器还可以包括wifi模块,请求处理模块具体可以向wifi模块查询信号强度。

s603、请求处理模块判断信号强度是否在预先设置的信号强度范围内,如果不在预先设置的信号强度范围内则执行s604;如果信号强度在预先设置的信号强度范围内,则执行s605。

信号强度大于预先设置的信号强度范围的最大值,则说明在信号良好情况下,tcp吞吐量受wifi丢包影响较小,可以选择不通过第一tcp连接和第二tcp连接传输数据,节省家庭wifi路由器软硬件资源。

信道强度在预先设置的信号强度范围内,则说明在信号一般情况下,tcp吞吐量受wifi丢包影响较大,可以选择通过第一tcp连接和第二tcp连接传输数据。

信号强度小于预先设置的信号强度范围的最小值,则说明在信号较差情况下,移动终端可能无法正常连接wifi信号,即使选择选择通过第一tcp连接和第二tcp连接传输数据也无太大改善。因此可以选择不通过第一tcp连接和第二tcp连接传输数据,以避免家庭wifi路由器软硬件资源的浪费。

s604、转发第一tcp连接建立请求至数据服务器。

s605、信号强度在预先设置的信号强度范围内,则说明可以选择建立第一tcp连接和第二tcp连接并通过第一tcp连接和第二tcp连接传输数据。

具体来说,wifi路由器的请求处理模块,利用数据包重定向技术,将用户终端tcpclient传来的第一tcp连接请求重定向至wifi路由器的tcp服务器。

由wifi路由器的tcp服务器伪装成数据服务器的tcpserver与用户终端tcpclient建立第一tcp连接并通过第一tcp连接与用户终端tcpclient进行通信。

s606、wifi路由器的tcp客户端伪装成用户终端tcpclient向数据服务器发送第二tcp连接建立请求以与数据服务器的tcpserver建立第二tcp连接并通过第二tcp连接与数据服务器通信。

s607、数据服务器通过第二tcp将数据发送给wifi路由器的tcp客户端,同时在这个过程中数据服务器根据与wifi路由器的tcp客户端之间的链路丢包情况控制tcp发送速率,避免数据传输在运营商网络发生严重拥塞。

s608、数据服务器向wifi路由器的tcp客户端发送数据后,再由wifi路由器的tcp服务器将数据发送至用户终端tcpclient。

即使在wifi路由器的tcp服务器发送数据到用户终端tcpclient的过程中发生由于wifi信号干扰导致的丢包,wifi路由器的tcp服务器也不会降低发送速率。

s609、当用户家庭有多个用户终端连接同一个wifi路由器时,这多个用户终端会共享该wifi路由器的wifi信道带宽(目前最新的wifi技术802.11ac信道最大带宽是1.3gbps,当多个用户终端连接同一个wifi路由器进行数据传输时,会平均共享这1.3gbps带宽),因此有可能发生数据服务器到wifi路由器的tcp客户端的数据传输速率大于wifi路由器的tcp服务器到用户终端tcpclient的数据传输速率的情况。

当发生这种情况时,数据服务器发送的数据会积压在wifi路由器上,消耗wifi路由器的内存。数据积压到一定程度,即缓存中数据的积压量大于预设阈值,wifi路由器中的tcp客户端转发用户终端tcpclient发来的数据到数据服务器的同时,必须通过第二tcp连接向数据服务器发送用于指示降低数据发送速率的消息,强制让数据服务器tcpserver降低发送速率,避免wifi路由器内存耗尽。

在本发明实施例中,将用户终端和数据服务器之间的tcp连接分隔为两段,在用户终端与wifi路由器的tcp服务器之间不执行tcp拥塞避免算法;在wifi路由器的tcp客户端与数据服务器之间执行tcp拥塞避免算法。

这样,仅需要较少的改造wifi路由器,而不需要修改用户终端及数据服务器,就可以有效地提升了wifi场景下tcp吞吐量,保障用户使用用户终端观看视频的体验。

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