CN104168284B - 一种数据传输方法及第一电子设备 - Google Patents
一种数据传输方法及第一电子设备 Download PDFInfo
- Publication number
- CN104168284B CN104168284B CN201410421845.8A CN201410421845A CN104168284B CN 104168284 B CN104168284 B CN 104168284B CN 201410421845 A CN201410421845 A CN 201410421845A CN 104168284 B CN104168284 B CN 104168284B
- Authority
- CN
- China
- Prior art keywords
- electronic equipment
- maximum value
- data
- data packet
- sent
- 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.)
- Active
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种数据传输方法,用于解决现有技术中电子设备在数据传输过程中带宽利用率较低的技术问题。该方法包括:建立所述第一电子设备与第二电子设备之间直接的无线通讯连接;控制所述第一电子设备通过传输控制协议TCP以所述TCP对应的发送窗口的最大值向所述第二电子设备发送数据,从而充分利用了通讯链路中的带宽资源,提高了无线传输的效率。本发明还公开了用于实现所述方法的电子设备。
Description
技术领域
本发明涉及电子技术领域,特别涉及一种数据传输方法及第一电子设备。
背景技术
随着科技的迅速发展和市场竞争的日益激烈,电子设备的性能及外观得到了大力提升,其中笔记本电脑以其小巧轻便、便于携带、娱乐性强等优点正受到越来越多的人们的喜爱,成为学习和生活中不可缺少的一部分。用户利用电子设备可以做的事也越来越多,如:用户可以通过手机的蓝牙进行短距离的文件传输,从而实现分享等。
目前,在使用电子设备通过网络进行连接时,常是基于传输控制协议(Transmission Control Protocol,TCP)进行相互间的文件传输。在TCP中,为了避免网络拥塞,在电子设备进行传输的初期便使用慢启动的方法,即当TCP开始在一个网络中传输数据或发现数据丢失并开始重发时,首先慢慢的对网路实际容量进行试探,避免由于发送了过量的数据而导致阻塞,主机发送了一个报文后就要停下来等待应答,每收到一个应答,拥塞窗口就增加一段长度,从而逐步增大窗口,直至达到一个设定阈值,窗口不再增大,即进入到拥塞避免阶段,并保证网络拥塞的公平性。虽然慢启动能在一定程度上解决网络拥塞的问题,但由于其限定了初始传输窗口的大小,故在用户较少时,例如端对端的无线传输中,可用的带宽资源较为丰富,则通过受限的传输窗口进行传输的过程中也会造成较为严重的带宽浪费,带宽利用率较低。
综上可知,现有技术中电子设备的在数据传输过程中带宽利用率较低的技术问题。
发明内容
本发明实施例提供一种数据传输方法及第一电子设备,解决了现有技术中电子设备在数据传输过程中带宽利用率较低的技术问题。
一种数据传输方法,应用于第一电子设备中,所述方法包括:
建立所述第一电子设备与第二电子设备之间直接的无线通讯连接;
控制所述第一电子设备通过传输控制协议TCP以所述TCP对应的发送窗口的最大值向所述第二电子设备发送数据。
可选的,所述建立所述第一电子设备与第二电子设备之间直接的无线通讯连接,具体包括:
当所述第一电子设备运行第一应用时,将所述第一电子设备中的无线通讯模块作为接入点;
根据针对所述第一应用进行的第一操作对应的操作信息,确定与所述第一操作对应的目标设备标识,将与所述目标设备标识对应、且处于所述接入点的覆盖范围内的电子设备确定为满足所述预设条件的所述第二电子设备;
控制所述第一电子设备在无线链路层建立与所述第二电子设备的无线通讯连接。
可选的,在建立所述第一电子设备与第二电子设备之间直接的无线通讯连接的同时,所述方法还包括:
设置所述TCP对应的所述发送窗口的最大值。
可选的,控制所述第一电子设备通过TCP以所述TCP对应的发送窗口的最大值向所述第二电子设备发送数据,包括:
确定所述第一电子设备中包含待发送数据的数据包对应的第一序列号;
按照所述发送窗口的最大值将所述第一序列号对应的待发送数据包发送至所述第二电子设备。
可选的,在按照所述发送窗口的最大值将所述第一序列号对应的待发送数据包发送至所述第二电子设备之后,所述方法还包括:
接收来自所述第二电子设备的反馈消息,根据所述反馈消息确认是否有数据包丢失;
若有,控制所述第一电子设备按照所述发送窗口的最大值重新向所述第二电子设备发送丢失的数据包。
可选的,若有,控制所述第一电子设备按照所述发送窗口的最大值重新给所述第二电子设备发送丢失的数据包,具体包括:
若有,根据所述反馈消息,确定所述第一序列号中的N个丢失的子序列号,N为正整数;其中,所述第一序列号中包括多个子序列号;
根据所述N个丢失的子序列号确定对应的N个丢失的数据包;
按照所述发送窗口的最大值将所述N个丢失的数据包重新发给所述第二电子设备。
可选的,在接收来自所述第二电子设备的反馈消息,根据所述反馈消息确认是否有数据包丢失之后,还包括:
若无数据包丢失,控制所述第一电子设备按照所述发送窗口的最大值将具有第二序列号的待发送数据包发送至所述第二电子设备;其中,所述第二序列号中包括多个子序列号,各子序列号中的最小值大于所述第一序列号中包括的各子序列号的最大值。
一种第一电子设备,包括:
无线通讯模块,用于建立所述第一电子设备与第二电子设备之间直接的无线通讯连接;
第一传输模块,用于控制所述第一电子设备通过传输控制协议TCP以所述TCP对应的发送窗口的最大值向所述第二电子设备发送数据。
可选的,所述无线通讯模块具体用于:
当所述第一电子设备运行第一应用时,将所述第一电子设备中的无线通讯模块作为接入点;
根据针对所述第一应用进行的第一操作对应的操作信息,确定与所述第一操作对应的目标设备标识,将与所述目标设备标识对应、且处于所述接入点的覆盖范围内的电子设备确定为满足所述预设条件的所述第二电子设备;
控制所述第一电子设备在无线链路层建立与所述第二电子设备的无线通讯连接。
可选的,所述电子设备还包括:
设置模块,用于设置所述TCP对应的所述发送窗口的最大值。
可选的,所述第一传输模块具体用于:
确定所述第一电子设备中包含待发送数据的数据包对应的第一序列号;
按照所述发送窗口的最大值将所述第一序列号对应的待发送数据包发送至所述第二电子设备。
可选的,所述电子设备还包括:
接收模块,用于接收来自所述第二电子设备的反馈消息,根据所述反馈消息确认是否有数据包丢失;
重传模块,用于若有数据包丢失,控制所述第一电子设备按照所述发送窗口的最大值重新向所述第二电子设备发送丢失的数据包。
可选的,所述重传模块具体用于:若有,根据所述反馈消息,确定所述第一序列号中的N个丢失的子序列号,N为正整数;其中,所述第一序列号中包括多个子序列号;根据所述N个丢失的子序列号确定对应的N个丢失的数据包;按照所述发送窗口的最大值将所述N个丢失的数据包重新发给所述第二电子设备。
可选的,所述电子设备还包括:
第二传输模块,用于若无数据包丢失,控制所述第一电子设备按照所述发送窗口的最大值将具有第二序列号的待发送数据包发送至所述第二电子设备;其中,所述第二序列号中包括多个子序列号,各子序列号中的最小值大于所述第一序列号中包括的各子序列号的最大值。
本发明实施例中,由于所述第一电子设备和所述第二电子设备之间建立有直接的无线通讯连接,即构成端到端的连接方式,使得可利用的传输带宽资源丰富,不涉及网络拥塞的公平性,故相互连接的电子设备可以尽可能的利用可用带宽传输数据,因此在建立所述第一电子设备和所述第二电子设备之间的无线通讯连接后,在基于所述TCP开始进行数据传输时,直接按照所述TCP对应的发送窗口的最大值进行传输,可以充分利用通讯链路中的带宽资源,提高了传输的效率。
并且,由于所述第一电子设备和所述第二电子设备之间采用端对端的直接的无线连接,故在进行数据传输时不存在用户使用的网络资源超过固有的容量的情况,从而也避免了网络拥塞的问题,故在端对端的无线连接中,从传输的一开始就采用发送窗口的最大值进行数据传输,可以通过充分利用带宽资源来保证和提高传输速率。并且由于是端对端之间直接的无线通讯连接,使得传输的可靠性也较高,进一步提高了电子设备的传输质量,同时也增强了用户的体验。
附图说明
图1为本发明实施例中数据传输方法的主要流程图;
图2为本发明实施例中第一电子设备的主要结构示意图;
图3为本发明实施例中第一电子设备的结构示意图一;
图4为本发明实施例中第一电子设备的结构示意图二;
图5为本发明实施例中第一电子设备的结构示意图三。
具体实施方式
本发明实施例提供了一种数据传输方法,应用于第一电子设备中,所述方法包括:建立所述第一电子设备与第二电子设备之间直接的无线通讯连接;控制所述第一电子设备通过传输控制协议TCP以所述TCP对应的发送窗口的最大值向所述第二电子设备发送数据。
由于本发明实施例中所述第一电子设备和所述第二电子设备之间建立有直接的无线通讯连接,即构成端到端的连接方式,使得可利用的传输带宽资源丰富,不涉及网络拥塞的公平性,故连接的所述电子设备可以尽可能的占用带宽传输数据,因此在建立所述第一电子设备和所述第二电子设备之间的通讯连接后,在基于所述TCP开始进行数据传输时,直接按照所述TCP对应的发送窗口的最大值进行传输,可以充分利用了通讯链路中的带宽资源,提高了传输的效率。
并且,由于所述第一电子设备和所述第二电子设备之间采用端对端的直接的无线连接,故在进行数据传输时不存在用户使用的网络资源超过固有的容量的情况,从而导致网络拥塞的问题,故在端对端的无线连接中,从传输的一开始就采用发送窗口的最大值进行数据传输,可以实现通过充分利用带宽资源来保证和提高传输速率,并且由于是端对端之间直接的无线通讯连接,使得传输的可靠性也较高,进一步提高了电子设备的传输效果,同时也增强了用户的体验。
请参见图1,本发明实施例提供一种数据传输方法,应用于第一电子设备中,所述方法可以包括以下步骤:
步骤11:建立所述第一电子设备与第二电子设备之间直接的无线通讯连接。
本发明实施例中,所述第一电子设备和所述第二电子设备可以是相同的电子设备或者也可以是不同的电子设备。例如,所述第一电子设备和所述第二电子设备可以都是智能手机,或者,所述第一电子设备可以是智能手机,所述第二电子设备为平板电脑。
可选的,本发明实施例中,所述第一电子设备和所述第二电子设备之间直接的无线通讯连接可以是指设备之间不基于网络进行的、且能够进行无线传输的无线连接,例如类似基于蓝牙技术的连接。
本发明实施例中,建立所述第一电子设备与第二电子设备之间的通讯连接,具体可以包括:当所述第一电子设备运行第一应用时,将所述第一电子设备中的无线通讯模块作为接入点;根据针对所述第一应用进行的第一操作对应的操作信息,确定与所述第一操作对应的目标设备标识,将与所述目标设备标识对应、且处于所述接入点的覆盖范围内的电子设备确定为满足所述预设条件的所述第二电子设备;控制所述第一电子设备在无线链路层建立与所述第二电子设备的无线通讯连接。
其中,所述第一应用可以是指所述第一电子设备中的安装的、可用于控制所述第一电子设备开启无线通讯功能的应用。例如,打开手机设备中的蓝牙,以使得其可以与其它手机或电脑相连,从而进行数据传输。
具体的,本发明实施例中,所述第一应用可以是名为“茄子快传”的软件应用,即一款常用的手机内容传输工具。其相关的技术原理为:通过对环境的感应,在手机之间建立连接,用户可以无需进行任何操作,没有复杂的配对配置,也无需登录账户、添加好友等,并且也支持多人互传。
例如,在一起距离较近的手机会同时录到相似的环境声音,通过压缩编码后声音会送到云端,在地理位置、时间戳匹配的基础上,在对录到的环境声音波形进行相似性比较和筛选,最后给出它们“在一起”的判定,即基于声音的设备关联,较为简单、方便且有趣。
可选的,本发明实施例中,当所述第一电子设备运行所述第一应用时,可通过所述第一电子设备自身的无线通讯模块将所述第一电子设备作为一个接入点,所述接入点可以指将电子设备作为一个无线访问的接入点(Access Point,AP),即可以是作为只负责无线客户端的接入的纯接入点设备,可用于无线网络的扩展使用,并与与其他无线访问接入AP或者主AP连接,以扩大无线覆盖范围。故可将所述第一电子设备作为无线通讯连接的核心,进而与其它电子设备进行连接。
在实际操作过程中,所述第一操作可以是用户针对所述第一应用进行的控制操作。例如,可以是用于控制所述第一应用开始进行搜索或连接的操作,或者是用于确定连接目标设备的操作。
通常,在启动所述第一应用之后,若所述第一操作为选择确定的目标设备的操作,则根据与所述第一操作对应的操作信息可以确定对应的目标设备标识,从而将与所述目标设备标识对应的、且处于所述接入点覆盖范围内的电子设备确定为将与所述第一电子设备进行连接的所述第二电子设备。
例如,在所述第一电子设备运行所述第一应用时,通过所述无线通讯模块可以检测所述接入点对应的覆盖范围,可以确定所述覆盖范围内存在的、可与其进行连接的N个电子设备,其中,所述N个电子设备可以是所述覆盖范围内、正在运行所述第一应用的全部电子设备。则在检测完成后,可将检测结果,即与检测到的所述N个电子设备对应的设备标识显示在所述第一电子设备的所述第一应用的应用显示界面中,以便用户可以根据显示的检测结果进行所述第一操作,选定将要与其进行连接的所述第二电子设备的目标设备标识,从而在所述无线链路层建立与所述第二电子设备的无线通讯连接。
由于本发明实施例中,所述第一电子设备和所述第二电子设备之间的无线通讯连接是建立在无线链路层,故其之间可以进行直接的无线传输,而无需依赖网络进行,使得在传输数据时,不会因为网络资源问题而发生网络拥塞的问题,为连接的电子设备提供了充分的可利用带宽,从而使得传输过程较为流畅。
本发明实施例中,在建立所述第一电子设备与第二电子设备之间的通讯连接的同时,所述方法还可以包括:设置所述TCP对应的所述发送窗口的最大值。
通常,在连接的电子设备之间,所述TCP在能够发送数据之前就建立起“连接”。要实现这个连接,启动TCP连接的所述第一电子设备(即连接发起方)首先发送一个同步数据包(synchronous,SYN),这只是一个不包含数据的数据包,然后,打开SYN标记。如果所述第二电子设备收到SYN标记的端口通话,则它将发回一个SYN和确认字符(Acknowledgement,ACK):SYN和ACK标志位都被打开,并将ACK(确认)编号字段设定为刚收到的那个数据包的顺序号字段的值。最终,连接发起方为了表示收到了这个SYN+ACK信息,会向发送方发送一个最终的确认信息(ACK包)。这种SYN、SYN+ACK、ACK的步骤被称为TCP连接建立时的“三次握手”,在这之后,连接就建立起来了。
所述TCP的一项功能就是确保每个数据段都能到达目的地,在连接建立后,通信双方同时都可以进行数据的传输。其中,位于目的主机的TCP服务对接受到的数据进行确认,并向源应用程序发送确认信息,使用数据报头序列号以及确认号来确认已收到包含在数据段的相关的数据字节。其中,源主机在收到确认消息之前可以传输的数据的大小称为窗口大小。
具体的,在设置所述发送窗口的最大值时,可以通过检测所述无线通讯连接对应的链路情况来确定。例如,若长期处于无线干扰较少的环境中,可以设置较大的发送窗口;若处于无线干扰较强的环境中,可以设置较为中等的发送窗口。或者,所述发送窗口的最大值也可以是采用协议定义的窗口最大值,例如,TCP的流量控制由连接的每一端通过声明的窗口大小来提供,窗口大小是一个16bit字段,因而设置的所述发送窗口的最大值可以是64K。
由于本发明实施例中,在基于所述TCP建立所述第一电子设备和所述第二电子设备之间的连接时,将所述TCP对应的发送窗口的大小设置为最大值,故在连接后开始进行数据传输时,可以采用所述发送窗口的最大值进行数据的传输,以便提高传输的速率。
步骤12:控制所述第一电子设备通过TCP以所述TCP对应的发送窗口的最大值向所述第二电子设备发送数据。
本发明实施例中,由于设置的所述TCP的发送窗口的大小为协议窗口的最大值,故在建立连接并开始传输时,可直接采用协议发送窗口的最大值进行数据传输。例如,若设置的所述发送窗口为64K,则在所述第一电子设备向所述第二电子设备发送数据时,可直接按照64K的大小向所述第二电子设备发送数据包。
可选的,本发明实施例中,控制所述第一电子设备通过TCP以所述TCP对应的发送窗口的最大值向所述第二电子设备发送数据,可以包括:确定所述第一电子设备中包含待发送数据的数据包对应的第一序列号;按照所述发送窗口的最大值将所述第一序列号对应的待发送数据包发送至所述第二电子设备。
所述第一序列号可以是指在基于所述TCP发送数据时,所述待发送数据对应的数据包的顺序号。通常,在发送数据的时候,所述待发送数据包可以按照顺序排列在所述发送窗口中,以准备发送至所述第二电子设备。且在所述第一电子设备按照所述发送窗口的最大值向所述第二电子设备发送所述待发送数据时,可发送与所述最大值相同容量大小的数据量。例如,所述第一序列号对应的数据容量可以为64K。
由于本发明实施例中,在所述第一电子设备向所述第二电子设备发送所述待发送数据包时,发送的数据包均具有对应的序列号,故在所述第二电子设备接收到数据包时,可以获取其对应的序列号,从而进行反馈,以使所述第一电子设备获知是否存在丢包的情况,从而提高传输的可靠性。
本发明实施例中,在按照所述发送窗口的最大值将所述第一序列号对应的待发送数据包发送至所述第二电子设备之后,所述方法还可以包括:接收来自所述第二电子设备的反馈消息,根据所述反馈消息确认是否有数据包丢失;若有,控制所述第一电子设备按照所述发送窗口的最大值重新向所述第二电子设备发送丢失的数据包。
由于所述TCP为端到端的连接设备提供的是可靠协议,通常在所述第一电子设备发送出所述第一序列号的所述待发送数据后,它会启动一个定时器,等待所述第二电子设备确认收到这些数据的反馈信息。所述反馈信息可以是包含表明所述第二电子设备接收的数据包所对应的序列号的信息,从而所述第一电子设备根据反馈的接收的序列号可以判断是否存在丢包的情况,及发生丢包的数据对应的序列号。例如,若反馈的、所述第二电子设备接收到的序列号与是第一序列号完全相同,则可以确定未发生丢包;若不相同,则通过两者之间的比对确定出丢失的数据包对应的序列号。
通常,在所述第一电子设备发送所述待发送数据后,若在预定时间内不能及时收到对应的反馈确认,则将重传未接收到反馈信息的序列号对应的数据包。
可选的,本发明实施例中,若有数据包丢失,控制所述第一电子设备按照所述发送窗口的最大值重新给所述第二电子设备发送丢失的数据包,具体可以包括:若有,根据所述反馈消息,确定所述第一序列号中的N个丢失的子序列号,N为正整数;其中,所述第一序列号中包括多个子序列号;根据所述N个丢失的子序列号确定对应的N个丢失的数据包;按照所述发送窗口的最大值将所述N个丢失的数据包重新发给所述第二电子设备。
虽然所述第一电子设备和所述第二电子设备之间建立的是无线链路层的无线通讯连接,即端到端的无网络连接,不会发生网络拥塞的问题,但在实际传输过程中,由于无线信号的干扰(主要是同频干扰),也可能会导致信号的接收质量差,甚至丢失。因此若根据所述反馈消息确定所述第一序列号中具有所述N个丢失的子序列号时,可以确定所述N个丢失的数据包,即所述第一电子设备通过所述TCP可以确定传输中发生丢包,从而根据所述N个丢失的子序列号将丢失的数据包扔按照所述发送窗口的最大值,重新发送给所述第二电子设备。
通常,在无线通讯链路的数据传输受到无线信号的干扰时,会发生丢包。而现有技术中所述TCP会认为其是网络拥塞导致的而采取慢启动的方式进行重发,但实际上,在基于无网络建立的无线传输中,由于其是端到端的传输,而不存在网络拥塞的问题,但可能会受到无线信号的干扰而导致丢包,例如无线宽带WIFI,从而需要发送端重传丢失的数据。因此,在重传数据包时,仍可以保持使用所述TCP对应的发送窗口的最大值进行发送,而无需采用慢启动方式。
在具体的重发过程中,由于根据反馈信息确定所述N个丢失的子序列号的时间可能不同,通常,在确定一个子序列号对应的数据包丢失时,便即可将该子序列号放在到下一序列对应的、待发送数据包正在排队的发送窗口中。即在根据所述反馈信息确定第i个丢失的子序列号时,可将所述第i个子序列号排列到正在排列第二序列号对应的待发送数据包的发送窗口的数据包队列中,以便再次发送至所述第二电子设备。
例如,需要重传的丢包的子序列号为30,此时,若下一个序列号对应的待发送数据包在所述发送窗口中排列的的子序号为45,则可以将丢包的子序列号30排列在子序列号45之后,并在子序列号30之后,再继续排列下一个待发送的数据包,例如子序列号46。因此,在所述第二电子设备接收的数据包中出现的不是顺序排列的子序列号就是重传的丢失的数据包,故在所述第二电子设备端接收数据包后,可以根据序列号顺序对数据包进行重排列,以保证接收的数据的完整性及与发送数据包的顺序的一致性,从而提高传输的可靠性。
本发明实施例中,在所述第一电子设备接收来自所述第二电子设备的反馈消息,根据所述反馈消息确认是否有数据包丢失之后,还可以包括:若无数据包丢失,控制所述第一电子设备按照所述发送窗口的最大值将具有第二序列号的待发送数据包发送至所述第二电子设备;其中,所述第二序列号中包括多个子序列号,各子序列号中的最小值大于所述第一序列号中包括的各子序列号的最大值。
若确定无线传输过程中未发生数据包的丢失,则可继续下一个序列号对应的待发送的数据包的传输,并且可以始终保持以所述TCP的发送窗口的最大值进行传输,即所述第二序列号对应的数据包的大小可以与所述发送窗口可容纳的容量一致,从而使得在无线传输过程中充分利用带宽资源,提高传输效率和传输质量。
请参见图2,基于上述方法,本发明还提供了一种第一电子设备,所述第一电子设备包括无线通讯模块201和第一传输模块202。
所述无线通讯模块201可以用于建立所述第一电子设备与第二电子设备之间直接的无线通讯连接。
所述第一传输模块202可以用于控制所述第一电子设备通过传输控制协议TCP以所述TCP对应的发送窗口的最大值向所述第二电子设备发送数据。
可选的,本发明实施例中,所述无线通讯模块201具体可以用于:当所述第一电子设备运行第一应用时,将所述第一电子设备中的无线通讯模块作为接入点;根据针对所述第一应用进行的第一操作对应的操作信息,确定与所述第一操作对应的目标设备标识,将与所述目标设备标识对应、且处于所述接入点的覆盖范围内的电子设备确定为满足所述预设条件的所述第二电子设备;控制所述第一电子设备在无线链路层建立与所述第二电子设备的无线通讯连接。
可选的,本发明实施例中,所述第一电子设备还可以包括设置模块203,请参见图3。
所述设置模块203可以用于设置所述TCP对应的所述发送窗口的最大值。
可选的,本发明实施例中,所述第一传输模块202具体可以用于:
确定所述第一电子设备中包含待发送数据的数据包对应的第一序列号;
按照所述发送窗口的最大值将所述第一序列号对应的待发送数据包发送至所述第二电子设备。
可选的,本发明实施例中,所述第一电子设备还包括接收模块204和重传模块205。请参见图4。
所述接收模块204可以用于接收来自所述第二电子设备的反馈消息,根据所述反馈消息确认是否有数据包丢失。
所述重传模块205可以用于若有数据包丢失,控制所述第一电子设备按照所述发送窗口的最大值重新向所述第二电子设备发送丢失的数据包。
其中,所述重传模块205具体可以用于:若有,根据所述反馈消息,确定所述第一序列号中的N个丢失的子序列号,N为正整数;其中,所述第一序列号中包括多个子序列号;根据所述N个丢失的子序列号确定对应的N个丢失的数据包;按照所述发送窗口的最大值将所述N个丢失的数据包重新发给所述第二电子设备。
可选的,本发明实施例中,所述第一电子设备还可以包括第二传输模块206。请参见图5。所述第二传输模块206具体用于若无数据包丢失,控制所述第一电子设备按照所述发送窗口的最大值将具有第二序列号的待发送数据包发送至所述第二电子设备;其中,所述第二序列号中包括多个子序列号,各子序列号中的最小值大于所述第一序列号中包括的各子序列号的最大值。
本发明实施例中,由于所述第一电子设备和所述第二电子设备之间建立有直接的无线通讯连接,即构成端到端的连接方式,使得可利用的传输带宽资源丰富,不涉及网络拥塞的公平性,故相互连接的电子设备可以尽可能的利用可用带宽传输数据,因此在建立所述第一电子设备和所述第二电子设备之间的无线通讯连接后,在基于所述TCP开始进行数据传输时,直接按照所述TCP对应的发送窗口的最大值进行传输,可以充分利用通讯链路中的带宽资源,提高了传输的效率。
并且,由于所述第一电子设备和所述第二电子设备之间采用端对端的直接的无线连接,故在进行数据传输时不存在用户使用的网络资源超过固有的容量的情况,从而也避免了网络拥塞的问题,故在端对端的无线连接中,从传输的一开始就采用发送窗口的最大值进行数据传输,可以通过充分利用带宽资源来保证和提高传输速率。并且由于是端对端之间直接的无线通讯连接,使得传输的可靠性也较高,进一步提高了电子设备的传输质量,同时也增强了用户的体验。
具体来讲,本申请实施例中的信息处理方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与数据传输方法对应的计算机程序指令被一电子设备读取或被执行时,包括如下步骤:
建立所述第一电子设备与第二电子设备之间直接的无线通讯连接;
控制所述第一电子设备通过传输控制协议TCP以所述TCP对应的发送窗口的最大值向所述第二电子设备发送数据。
可选的,所述存储介质中存储的与步骤建立所述第一电子设备与第二电子设备之间直接的无线通讯连接对应的计算机指令在具体被执行过程中,具体包括如下步骤:
当所述第一电子设备运行第一应用时,将所述第一电子设备中的无线通讯模块作为接入点;
根据针对所述第一应用进行的第一操作对应的操作信息,确定与所述第一操作对应的目标设备标识,将与所述目标设备标识对应、且处于所述接入点的覆盖范围内的电子设备确定为满足所述预设条件的所述第二电子设备;
控制所述第一电子设备在无线链路层建立与所述第二电子设备的无线通讯连接。
可选的,所述存储介质中存储的与步骤:在建立所述第一电子设备与第二电子设备之间直接的无线通讯连接的同时,对应的计算机指令在具体被执行过程中,还包括如下步骤:设置所述TCP对应的所述发送窗口的最大值。
可选的,所述存储介质中存储的与步骤:控制所述第一电子设备通过TCP以所述TCP对应的发送窗口的最大值向所述第二电子设备发送数据对应的计算机指令在具体被执行过程中,具体包括如下步骤:
确定所述第一电子设备中包含待发送数据的数据包对应的第一序列号;
按照所述发送窗口的最大值将所述第一序列号对应的待发送数据包发送至所述第二电子设备。
可选的,所述存储介质中存储的与步骤:控制所述第一电子设备通过TCP以所述TCP对应的发送窗口的最大值向所述第二电子设备发送数据对应的计算机指令在具体被执行过程中,具体包括如下步骤:
所述存储介质中还存储有另外一些计算机指令,这些计算机指令在与步骤:按照所述发送窗口的最大值将所述第一序列号对应的待发送数据包发送至所述第二电子设备,对应的计算机指令被执行之后执行,在执行时包括如下步骤:
接收来自所述第二电子设备的反馈消息,根据所述反馈消息确认是否有数据包丢失;
若有,控制所述第一电子设备按照所述发送窗口的最大值重新向所述第二电子设备发送丢失的数据包。
可选的,所述存储介质中存储的与步骤:若有,控制所述第一电子设备按照所述发送窗口的最大值重新给所述第二电子设备发送丢失的数据包,对应的计算机指令在具体被执行过程中,具体包括如下步骤:
若有,根据所述反馈消息,确定所述第一序列号中的N个丢失的子序列号,N为正整数;其中,所述第一序列号中包括多个子序列号;
根据所述N个丢失的子序列号确定对应的N个丢失的数据包;
按照所述发送窗口的最大值将所述N个丢失的数据包重新发给所述第二电子设备。
可选的,所述存储介质中还存储有另外一些计算机指令,这些计算机指令在与步骤:接收来自所述第二电子设备的反馈消息,根据所述反馈消息确认是否有数据包丢失,对应的计算机指令被执行之后执行,在执行时包括如下步骤:
若无数据包丢失,控制所述第一电子设备按照所述发送窗口的最大值将具有第二序列号的待发送数据包发送至所述第二电子设备;其中,所述第二序列号中包括多个子序列号,各子序列号中的最小值大于所述第一序列号中包括的各子序列号的最大值。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (14)
1.一种数据传输方法,应用于第一电子设备中,所述方法包括:
建立所述第一电子设备与第二电子设备之间直接的无线通讯连接;
控制所述第一电子设备通过传输控制协议TCP以所述TCP对应的发送窗口的最大值向所述第二电子设备发送数据,其中,所述发送窗口的最大值通过所述第一电子设备和所述第二电子设备声明的窗口大小确定。
2.如权利要求1所述的方法,其特征在于,所述建立所述第一电子设备与第二电子设备之间直接的无线通讯连接,具体包括:
当所述第一电子设备运行第一应用时,将所述第一电子设备中的无线通讯模块作为接入点;
根据针对所述第一应用进行的第一操作对应的操作信息,确定与所述第一操作对应的目标设备标识,将与所述目标设备标识对应、且处于所述接入点的覆盖范围内的电子设备确定为满足预设条件的所述第二电子设备;
控制所述第一电子设备在无线链路层建立与所述第二电子设备的无线通讯连接。
3.如权利要求2所述的方法,其特征在于,在建立所述第一电子设备与第二电子设备之间直接的无线通讯连接的同时,所述方法还包括:
设置所述TCP对应的所述发送窗口的最大值。
4.如权利要求3所述的方法,其特征在于,控制所述第一电子设备通过TCP以所述TCP对应的发送窗口的最大值向所述第二电子设备发送数据,包括:
确定所述第一电子设备中包含待发送数据的数据包对应的第一序列号;
按照所述发送窗口的最大值将所述第一序列号对应的待发送数据包发送至所述第二电子设备。
5.如权利要求4所述的方法,其特征在于,在按照所述发送窗口的最大值将所述第一序列号对应的待发送数据包发送至所述第二电子设备之后,所述方法还包括:
接收来自所述第二电子设备的反馈消息,根据所述反馈消息确认是否有数据包丢失;
若有,控制所述第一电子设备按照所述发送窗口的最大值重新向所述第二电子设备发送丢失的数据包。
6.如权利要求5所述的方法,其特征在于,若有,控制所述第一电子设备按照所述发送窗口的最大值重新给所述第二电子设备发送丢失的数据包,具体包括:
若有,根据所述反馈消息,确定所述第一序列号中的N个丢失的子序列号,N为正整数;其中,所述第一序列号中包括多个子序列号;
根据所述N个丢失的子序列号确定对应的N个丢失的数据包;
按照所述发送窗口的最大值将所述N个丢失的数据包重新发给所述第二电子设备。
7.如权利要求6所述的方法,其特征在于,在接收来自所述第二电子设备的反馈消息,根据所述反馈消息确认是否有数据包丢失之后,还包括:
若无数据包丢失,控制所述第一电子设备按照所述发送窗口的最大值将具有第二序列号的待发送数据包发送至所述第二电子设备;其中,所述第二序列号中包括多个子序列号,各子序列号中的最小值大于所述第一序列号中包括的各子序列号的最大值。
8.一种第一电子设备,包括:
无线通讯模块,用于建立所述第一电子设备与第二电子设备之间直接的无线通讯连接;
第一传输模块,用于控制所述第一电子设备通过传输控制协议TCP以所述TCP对应的发送窗口的最大值向所述第二电子设备发送数据,其中,所述发送窗口的最大值通过所述第一电子设备和所述第二电子设备声明的窗口大小确定。
9.如权利要求8所述的第一电子设备,其特征在于,所述无线通讯模块具体用于:
当所述第一电子设备运行第一应用时,将所述第一电子设备中的无线通讯模块作为接入点;
根据针对所述第一应用进行的第一操作对应的操作信息,确定与所述第一操作对应的目标设备标识,将与所述目标设备标识对应、且处于所述接入点的覆盖范围内的电子设备确定为满足预设条件的所述第二电子设备;
控制所述第一电子设备在无线链路层建立与所述第二电子设备的无线通讯连接。
10.如权利要求9所述的第一电子设备,其特征在于,所述第一电子设备还包括:
设置模块,用于设置所述TCP对应的所述发送窗口的最大值。
11.如权利要求10所述的第一电子设备,其特征在于,所述第一传输模块具体用于:
确定所述第一电子设备中包含待发送数据的数据包对应的第一序列号;
按照所述发送窗口的最大值将所述第一序列号对应的待发送数据包发送至所述第二电子设备。
12.如权利要求11所述的第一电子设备,其特征在于,所述第一电子设备还包括:
接收模块,用于接收来自所述第二电子设备的反馈消息,根据所述反馈消息确认是否有数据包丢失;
重传模块,用于若有数据包丢失,控制所述第一电子设备按照所述发送窗口的最大值重新向所述第二电子设备发送丢失的数据包。
13.如权利要求12所述的第一电子设备,其特征在于,所述重传模块具体用于:若有,根据所述反馈消息,确定所述第一序列号中的N个丢失的子序列号,N为正整数;其中,所述第一序列号中包括多个子序列号;根据所述N个丢失的子序列号确定对应的N个丢失的数据包;按照所述发送窗口的最大值将所述N个丢失的数据包重新发给所述第二电子设备。
14.如权利要求13所述的第一电子设备,其特征在于,所述电子设备还包括:
第二传输模块,用于若无数据包丢失,控制所述第一电子设备按照所述发送窗口的最大值将具有第二序列号的待发送数据包发送至所述第二电子设备;其中,所述第二序列号中包括多个子序列号,各子序列号中的最小值大于所述第一序列号中包括的各子序列号的最大值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410421845.8A CN104168284B (zh) | 2014-08-25 | 2014-08-25 | 一种数据传输方法及第一电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410421845.8A CN104168284B (zh) | 2014-08-25 | 2014-08-25 | 一种数据传输方法及第一电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104168284A CN104168284A (zh) | 2014-11-26 |
CN104168284B true CN104168284B (zh) | 2019-02-05 |
Family
ID=51911908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410421845.8A Active CN104168284B (zh) | 2014-08-25 | 2014-08-25 | 一种数据传输方法及第一电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104168284B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106791950A (zh) * | 2016-12-27 | 2017-05-31 | 深圳Tcl数字技术有限公司 | 高速信号传输系统、高速信号传输方法及装置 |
CN110311750B (zh) * | 2019-04-24 | 2022-02-22 | 网宿科技股份有限公司 | 一种数据传输方法、系统及服务器 |
CN112636877B (zh) * | 2020-12-18 | 2021-07-06 | 深圳市微网力合信息技术有限公司 | 一种基于wifi6的数据传输方法、系统及终端 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030840A (zh) * | 2006-03-02 | 2007-09-05 | 华为技术有限公司 | 具有重传请求的数据传输方法和接收端状态报告编制方法 |
CN102820915A (zh) * | 2012-08-01 | 2012-12-12 | 北京佳讯飞鸿电气股份有限公司 | 改善tcp传输性能的卫星链路系统及其使用方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7099273B2 (en) * | 2001-04-12 | 2006-08-29 | Bytemobile, Inc. | Data transport acceleration and management within a network communication system |
CN101103602B (zh) * | 2005-01-11 | 2011-03-23 | 松下电器产业株式会社 | 通信方法和接收终端 |
US7760633B2 (en) * | 2005-11-30 | 2010-07-20 | Cisco Technology, Inc. | Transmission control protocol (TCP) congestion control using transmission delay components |
CN101039170B (zh) * | 2006-03-15 | 2011-08-03 | 华为技术有限公司 | 支持数据包重传分割级联的方法 |
US8331399B2 (en) * | 2007-05-07 | 2012-12-11 | Qualcomm Incorporated | Re-using sequence number by multiple protocols for wireless communication |
CN101541049B (zh) * | 2009-04-20 | 2011-07-06 | 华为技术有限公司 | 通信方法、装置和系统 |
CN102355462B (zh) * | 2011-10-09 | 2015-05-20 | 大唐移动通信设备有限公司 | 一种实现tcp传输的方法及装置 |
CN103856287A (zh) * | 2012-12-03 | 2014-06-11 | 电信科学技术研究院 | 一种无线通信数据包传输方法和设备 |
-
2014
- 2014-08-25 CN CN201410421845.8A patent/CN104168284B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030840A (zh) * | 2006-03-02 | 2007-09-05 | 华为技术有限公司 | 具有重传请求的数据传输方法和接收端状态报告编制方法 |
CN102820915A (zh) * | 2012-08-01 | 2012-12-12 | 北京佳讯飞鸿电气股份有限公司 | 改善tcp传输性能的卫星链路系统及其使用方法 |
Non-Patent Citations (2)
Title |
---|
《基于Android平台的蓝牙通信系统的研究与实现》;罗富财;《中国优秀硕士学位论文全文数据库 信息科技辑》;20131215(第S2期);第2.3.4、4.5、4.5.1-4.5.3节,图4-12,14-13 |
《基于WiFi的移动社交通讯平台设计与实现》;翟建伟;《中国优秀硕士学位论文全文数据库 信息科技辑》;20121015(第10期);第3页第1.2.1节至第38页第4.3.6节 |
Also Published As
Publication number | Publication date |
---|---|
CN104168284A (zh) | 2014-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104683017B (zh) | 一种卫星移动通信rlc层am模式传输方法 | |
CN109076475B (zh) | 一种用于保持无连接传输中同步的方法和系统 | |
CN102217258B (zh) | 探测处理方法、数据发送端、数据接收端以及通信系统 | |
CN103634299A (zh) | 基于多连接的实时流媒体传输终端与方法 | |
CN109217974A (zh) | 一种数据传输方法和相关设备 | |
US10164776B1 (en) | System and method for private and point-to-point communication between computing devices | |
CN104125039A (zh) | 一种确定传输链路的类型的方法、系统及设备 | |
CN110139340A (zh) | 一种连接建立方法及终端 | |
CN109067796A (zh) | 一种数据传输方法及装置 | |
CN104168284B (zh) | 一种数据传输方法及第一电子设备 | |
CN110213020A (zh) | 基于蓝牙外设的数据传输方法、终端、系统以及装置 | |
CN104468509A (zh) | 手机网络游戏数据传输的方法、系统和手机用户端 | |
CN104410982A (zh) | 一种无线异构网络中终端聚合与重构方法 | |
US20180324892A1 (en) | Transmission control method of connection confirmation data packets and terminal | |
CN112351070A (zh) | 文件传输方法、装置、存储介质及电子设备 | |
CN103534973B (zh) | 一种减少传输控制层确认报文的方法、装置和系统 | |
WO2022083371A1 (zh) | 一种数据传输方法和装置 | |
CN105847275A (zh) | 一种数据传输通道建立方法、系统和服务器 | |
CN106027599A (zh) | 一种数据传输通道建立方法、系统和服务器 | |
WO2018086707A1 (en) | Feedback based flexible transmission scheme for contention-based urllc transmission | |
CN103001885A (zh) | 数据报文传输方法和系统 | |
WO2023273486A1 (zh) | 一种数据传输的方法和装置 | |
WO2016154831A1 (zh) | 一种实现传输控制协议tcp传输的方法及装置 | |
CN110121193A (zh) | 一种层间数据传输方法、装置、介质及设备 | |
CN116367353A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |