CN111654450B - 数据传输方法及装置、存储介质 - Google Patents
数据传输方法及装置、存储介质 Download PDFInfo
- Publication number
- CN111654450B CN111654450B CN202010468382.6A CN202010468382A CN111654450B CN 111654450 B CN111654450 B CN 111654450B CN 202010468382 A CN202010468382 A CN 202010468382A CN 111654450 B CN111654450 B CN 111654450B
- Authority
- CN
- China
- Prior art keywords
- mtu
- data packet
- electronic device
- data
- packet
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 134
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000006854 communication Effects 0.000 claims abstract description 148
- 238000004891 communication Methods 0.000 claims abstract description 133
- 238000001514 detection method Methods 0.000 claims abstract description 121
- 239000000523 sample Substances 0.000 claims description 86
- 230000008569 process Effects 0.000 claims description 21
- 239000000725 suspension Substances 0.000 claims description 6
- 230000003993 interaction Effects 0.000 abstract description 15
- 238000012545 processing Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
- H04L47/365—Dynamic adaptation of the packet size
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- H04W28/18—Negotiating wireless communication parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/005—Discovery of network devices, e.g. terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
- H04W8/04—Registration at HLR or HSS [Home Subscriber Server]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本公开是关于一种数据传输方法及装置、存储介质。应用于第一电子设备的数据传输方法,包括:在蓝牙通信的过程中,通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商所述蓝牙通信的MTU的应用值。通过本公开实施例的技术方案,能够在蓝牙设备进行数据传输的过程中,通过发送数据包的方式进行MTU探测,实现交互双方的MTU协商,最终得到合适稳定的MTU值作为双方交互的参数标准。
Description
技术领域
本公开涉及通信领域,尤其涉及一种数据传输方法及装置、存储介质。
背景技术
蓝牙技术是广泛应用于各类电子设备的无线数据与语音通信的全球规范。蓝牙技术能够实现电子设备间近距离大量数据的快速传输,具有低成本、方便快捷、灵活安全以及低功耗等优势。在蓝牙通信的过程中,由于双方设备的通信能力不同,因此,可能具有对数据包的数据量不同的最大限制。
在相关技术中,蓝牙通信的双方设备通知对方所能接收数据包单元的最大数据量,便于双方能够传输有效载荷的数据包,该最大数据包大小为最大传输单元(MTU,Maximum Transmission Unit)。
然而,在实际的通信过程中,可能会由于不同的数据通信层间的协议兼容问题或者实际设备性能变化等影响,导致MTU的值不具有参考性,从而在通信过程中发生丢包以及通信中断等现象,影响通信效率,降低用户体验。
发明内容
本公开提供一种数据传输方法及装置、存储介质。
根据本公开实施例的第一方面,提供一种数据传输方法,应用于第一电子设备,包括:
在蓝牙通信的过程中,通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商所述蓝牙通信的MTU的应用值。
在一些实施例中,所述通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商所述蓝牙通信的MTU的应用值,包括:
根据所述MTU的备选值,向第二电子设备发送蓝牙通信的探测数据包;
在预设时长内,接收所述第二电子设备发送的反馈数据包;
如果接收到与所述探测数据包相同数据量的所述反馈数据包,确定所述MTU的备选值为所述第一电子设备和所述第二电子设备之间蓝牙通信的MTU的应用值。
在一些实施例中,所述通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商所述蓝牙通信的MTU的应用值,还包括:
如果未接收到与所述探测数据包相同数据量的所述反馈数据包,则减小所述MTU的备选值;
根据减小后的所述MTU的备选值,继续通过数据量等于减小后MTU的备选值的探测数据包的传输,与第二电子设备协商蓝牙通信的MTU的应用值;
在接收到所述第二电子设备发送的与所述探测数据包相同数据量的反馈数据包,或者减小到所述MTU的最小备选值时,停止所述MTU的协商。
在一些实施例中,所述如果未接收到与所述探测数据包相同数据量的所述反馈数据包,则减小所述MTU的备选值,包括:
如果在预设时长内接收到所述第二电子设备发送的数据量不同于所述探测数据包的数据量的反馈数据包,则根据反馈数据包的数据量,减小所述MTU的备选值;
或者,
如果在预设时长内接收到所述第二电子设备发送的数据量不同于所述探测数据包的数据量的反馈数据包,则根据第一预定调整值减小所述MTU的备选值。
在一些实施例中,所述如果未接收到与所述探测数据包相同数据量的所述反馈数据包,则减小所述MTU的备选值,包括:
如果在所述预设时长内未接收到所述第二电子设备发送的反馈数据包,则根据第二预定调整值减小所述MTU的备选值。
在一些实施例中,所述在蓝牙通信的过程中,通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商所述蓝牙通信的MTU的应用值,包括:
在所述蓝牙启动数据传输后,在每隔预定时长或在数据传输暂停的时刻,通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商所述蓝牙通信的MTU的应用值。
在一些实施例中,所述通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商所述蓝牙通信的MTU的应用值,还包括:
如果未接收到与所述探测数据包相同数据量的所述反馈数据包,则确定最小备选值为所述MTU的应用值。
在一些实施例中,所述方法还包括:
在蓝牙通信开始之前,与所述第二电子设备协商所述MTU的备选值。
根据本公开实施例的第二方面,提供一种数据传输方法,应用于第二电子设备,包括:
在蓝牙通信的过程中,接收第一电子设备根据MTU的备选值发送的蓝牙通信的探测数据包;
根据所述探测数据包的数据量向所述第一电子设备发送反馈数据包;其中,所述反馈数据包用于供所述第一电子设备确定所述MTU的应用值。
在一些实施例中,所述根据所述探测数据包的数据量向所述第一电子设备发送反馈数据包,包括:
确定所述探测数据包数据量,与所述第二电子设备的预定MTU是否相同;
如果所述探测数据包的数据量与所述预定MTU相同,则向所述第一电子设备发送与所述探测数据包的数据量相同的反馈数据包;其中,所述反馈数据包用于供所述第一电子设备确定所述MTU的备选值为所述第一电子设备和所述第二电子设备之间蓝牙通信的MTU的应用值。
在一些实施例中,所述根据所述探测数据包的数据量向所述第一电子设备发送反馈数据包,还包括:
如果所述探测数据包的数据量与所述预定MTU不相同,则向所述第一电子设备发送数据量小于或等于所述探测数据包的反馈数据包。
根据本公开实施例的第三方面,提供一种数据传输装置,应用于第一电子设备,包括:
第一协商模块,用于在蓝牙通信的过程中,通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商所述蓝牙通信的MTU的应用值。
在一些实施例中,所述第一协商模块,包括:
第一发送模块,用于根据所述MTU的备选值,向第二电子设备发送蓝牙通信的探测数据包;
第一接收模块,用于在预设时长内,接收所述第二电子设备发送的反馈数据包;
第一确定模块,如果接收到与所述探测数据包相同数据量的所述反馈数据包,则用于确定所述MTU的备选值为所述第一电子设备和所述第二电子设备之间蓝牙通信的MTU的应用值。
在一些实施例中,所述第一协商模块,还包括:
第一调整模块,如果未接收到与所述探测数据包相同数据量的所述反馈数据包,则用于减小所述MTU的备选值;
协商子模块,用于根据减小后的所述MTU的备选值,继续通过数据量等于减小后MTU的备选值的探测数据包的传输,与第二电子设备协商蓝牙通信的MTU的应用值;
停止子模块,用于在接收到所述第二电子设备发送的与所述探测数据包相同数据量的反馈数据包,或者减小到所述MTU的最小备选值时,停止所述MTU的协商。
在一些实施例中,所述调整模块,包括:
第一调整子模块,如果在预设时长内接收到所述第二电子设备发送的数据量不同于所述探测数据包的数据量的反馈数据包,则用于根据反馈数据包的数据量,减小所述MTU的备选值;
或者,
第二调整子模块,如果在预设时长内接收到所述第二电子设备发送的数据量不同于所述探测数据包的数据量的反馈数据包,则用于根据第一预定调整值减小MTU的备选值。
在一些实施例中,所述调整模块,包括:
第三调整子模块,如果在所述预设时长内未接收到所述第二电子设备发送的反馈数据包,则用于根据第二预定调整值减小所述MTU的备选值。
在一些实施例中,所述第一协商模块,具体用于:
在所述蓝牙启动数据传输后,在每隔预定时长或在数据传输暂停的时刻,通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商所述蓝牙通信的MTU的应用值。
在一些实施例中,所述第一协商模块,还包括:
第一确定子模块,如果未接收到与所述探测数据包相同数据量的所述反馈数据包,则用于确定最小备选值为所述MTU的应用值。
在一些实施例中,述装置还包括:
第二协商模块,用于在蓝牙通信开始之前,与所述第二电子设备协商MTU的备选值。
根据本公开实施例的第四方面,提供一种数据传输装置,应用于第二电子设备,包括:
第二接收模块,用于在蓝牙通信的过程中,接收第一电子设备根据MTU的备选值发送的蓝牙通信的探测数据包;
第二发送模块,用于根据所述探测数据包的数据量向所述第一电子设备发送反馈数据包;其中,所述反馈数据包用于供所述第一电子设备确定所述MTU的应用值。
在一些实施例中,所述第二发送模块,包括:
第二确定子模块,用于确定所述探测数据包数据量,与所述第二电子设备的预定MTU是否相同;
第一发送子模块,如果所述探测数据包的数据量与所述预定MTU相同,则用于向所述第一电子设备发送与所述探测数据包的数据量相同的反馈数据包;其中,所述反馈数据包用于供所述第一电子设备确定所述MTU的备选值为所述第一电子设备和所述第二电子设备之间蓝牙通信的MTU的应用值。
在一些实施例中,所述第二发送模块,还包括:
第二发送子模块,如果所述探测数据包的数据量与所述预定MTU不相同,则用于向所述第一电子设备发送数据量小于或等于所述探测数据包的反馈数据包。
根据本公开实施例的第五方面,提供一种数据传输装置,所述装置至少包括:处理器和用于存储能够在所述处理器上运行的可执行指令的存储器,其中:
处理器用于运行所述可执行指令时,所述可执行指令执行上述任一数据传输方法中的步骤。
根据本公开实施例的第六方面,提供一种非临时性计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述任一数据传输方法中的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:通过本公开实施例的技术方案,能够在蓝牙设备进行数据传输的过程中,通过发送数据包的方式进行MTU探测,实现交互双方的MTU协商,最终得到合适稳定的MTU值作为双方交互的应用值。一方面,这种采用数据包探测的方式,相比于双方直接告知对方各自的MTU并将较小的一个作为最终MTU的应用值来说,在探测的过程中直接验证了MTU的备选值是否能够成功传输,提升了MTU应用值的可靠性,减少了由于数据通信过程中兼容性等问题导致的MTU不可靠而造成丢包以及通信中断等问题。
另一方面,由于数据传输的过程中,信道质量可能发生改变,因此通信双方支持的MTU也可能发生改变。因此,通过本公开实施例的技术方案,在蓝牙设备进行数据传输的过程中,可以随时进行MTU的探测,调整数据传输的数据量,进而减少由于信道质量的不稳定造成的数据传输质量降低的情况。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种数据传输方法的流程图一;
图2是根据一示例性实施例示出的一种数据传输方法的流程图二;
图3是根据一示例性实施例示出的一种数据传输方法的流程图三;
图4是根据一示例性实施例示出的一种数据传输方法的流程图四;
图5是根据一示例性实施例示出的一种数据传输方法的流程图五;
图6是根据一示例性实施例示出的一种数据传输装置的结构框图一;
图7是根据一示例性实施例示出的一种数据传输装置的结构框图二;
图8是根据一示例性实施例示出的一种数据传输装置的的实体结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种数据传输方法的流程图,该方法应用于第一电子设备,如图1所示,包括以下步骤:
步骤S101、在蓝牙通信的过程中,通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商蓝牙通信的MTU的应用值。
这里,第一电子设备与第二电子设备均为具有蓝牙通信功能的电子设备。第一电子设备可以为移动或固定终端,例如:手机、笔记本电脑、平板电脑、台式电脑、智能家电以及可穿戴电子设备等。第二电子设备,也可以为上述移动或固定终端。此外,第二电子设备还可为第一电子设备的附属设备,例如,遥控器、鼠标、键盘以及音箱等等。总之,第一电子设备与第二电子设备双方能够通过蓝牙建立通信连接,并进行数据传输。
在本公开实施例中,可以在第一电子设备与第二电子设备进行蓝牙通信的过程中,随时通过发送探测数据包的方式来实现MTU的应用值的协商。
在本公开实施例中,MTU的备选值为进行MTU协商之前预先确定的。MTU的备选值可根据第一电子设备与第二电子设备在历史通信过程中的MTU的应用值来确定,也可根据第一电子设备自身的MTU来确定,还可根据预先设定的参数来作为MTU的备选值。此外,第一电子设备还可直接与第二电子设备通过互相告知自身MTU的方式,将两者的MTU中较小的一个作为MTU的备选值。例如,第一电子设备可向第二电子设备发送自身的MTU值,第二电子设备再将自身的MTU值反馈给第一电子设备,双方均将两个MTU值中较小的一个作为MTU的备选值。后续,再基于该MTU的备选值,进一步探测可实际使用的MTU的应用值。
第一电子设备可根据MTU的备选值,向第二电子设备发送探测数据包。探测数据包的数据量由MTU的备选值确定,也就是说,探测数据包的数据量为MTU的备选值所规定的最大传输单元对应的大小。
在一些实施例中,探测数据包中可携带有MTU的备选值对应的数据。例如,探测数据包的数据量为50Bytes(字节),则该数据包的指定字节或者全部字节的数据内容为参数50。这样,可以便于第二电子设备接收到该探测数据包时,根据数据内容,核对接收到的探测数据包的数据量是否正确,进而确定是否成功收到了完整的探测数据包。
可以理解的是,如果第一电子设备将探测数据包发送至第二电子设备,并成功收到第二电子设备的反馈,那么说明以当前MTU的备选值作为探测数据包大小,可以将探测数据包成功发送至第二电子设备。当然,如果未能接受到第二电子设备的反馈,或者未能成功传输探测数据包,那么说明当前的MTU的备选值可能不能满足双方通信的需求,因此可调整MTU的备选值后再进行探测。
可见,通过传输数据量为MTU的备选值的数据包,可以实现第一电子设备与第二电子设备之间MTU的探测,从而确定双方均支持的MTU作为后续通信的应用值,进而提升蓝牙通信的稳定性,减少丢包或者通信中断等情况的发生。
在一些实施例中,如图2所示,上述步骤S101中,通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商蓝牙通信的MTU的应用值,包括:
步骤S201、根据MTU的备选值,向第二电子设备发送蓝牙通信的探测数据包;
步骤S202、在预设时长内,接收第二电子设备发送的反馈数据包;
步骤S203、如果接收到与探测数据包相同数据量的反馈数据包,确定MTU的备选值为第一电子设备和第二电子设备之间蓝牙通信的MTU的应用值。
在本公开实施例中,第一电子设备可根据MTU的备选值,向第二电子设备发送数据量为MTU的备选值的探测数据包,进行探测。在预定时长内,等待第二电子设备的响应,接收第二电子设备发送的反馈数据包。在一实施例中预定时长可根据第一电子设备与第二电子设备的通信支持的带宽或者传输速率来确定。在另一实施例中,预定时长可为预设的固定时长。第一电子设备与第二电子设备如果能够正常通信,接收对方发送的数据,则在预定时长内第一电子设备可以接收到第二电子设备的响应。而如果第一电子设备发送的探测数据包并未成功发送至第二电子设备,或者第二电子设备发送的反馈数据包无法被第一电子设备接收,那么在预定时长内第一电子设备则不能接收到反馈数据包。
因此,第一电子设备可根据在预定时长内是否成功接收到第二电子设备的反馈数据包,来确定双方通信是否正常,进而确定探测数据包是否能够成功发送至第二电子设备。
在本公开实施例中,还通过接收到的反馈数据包来实现双方的MTU的协商。由于第二电子设备接收到探测数据包后,可能与自身的MTU并不相符,即使成功接收到了探测数据包,在后续也可能出现不稳定的情况。而第二电子设备则可能基于自身的MTU向第一电子设备发送反馈数据包。这样,第一电子设备接收到的反馈数据包的数据量则与探测数据包的数据量不同。因此,第一电子设备不能认为当前的MTU的备选值为可靠的MTU值,因此不能作为后续蓝牙通信的MTU的应用值。
相应地,如果第一电子设备接收到了第二电子设备发送的反馈数据包,并且反馈数据包与探测数据包二者的数据量相同,则说明当前的MTU的备选值可以被第一电子设备与第二电子设备双方所接受,并能够实现正常的通信。因此,当第一电子设备接收到数据量与探测数据包相同的反馈数据包时,则确定当前的MTU的备选值为后续两者进行蓝牙通信的MTU的应用值,并在后续的通信中,以确定的MTU的应用值为标准进行数据传输。
如此,就实现了第一电子设备与第二电子设备之间进行蓝牙通信的MTU的协商,并得到双方均验证能够进行正常数据收发的MTU作为应用值进行数据传输,从而提升后续通信过程中的MTU的可靠性,减少丢包、延迟或者通信中断的现象。
在一些实施例中,上述通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商蓝牙通信的MTU的应用值,还包括:
步骤S204、如果未接收到与探测数据包相同数据量的反馈数据包,则减小MTU的备选值;
步骤S205、根据减小后的MTU的备选值,继续通过数据量等于减小后MTU的备选值的探测数据包的传输,与第二电子设备协商蓝牙通信的MTU的应用值;
步骤S206、在接收到第二电子设备发送的与探测数据包相同数据量的反馈数据包,或者减小到MTU的最小备选值时,停止MTU的协商。
如果第一电子设备在发送探测数据包后,未接收到反馈数据包,或者接收到的反馈数据包的数据量与探测数据包的数据量不同,则说明MTU探测失败,双方没有协商得到一致的MTU。此时,如果继续采用当前的MTU备选值进行数据传输,则可能会由于MTU不可靠导致数据包超出对方的接收能力,从而造成丢包等现象。
因此,在上述情况下,第一电子设备可减小MTU的备选值并重新发送修改后的探测数据包,再次与第二电子设备进行协商。如此,反复发送探测数据包进行MTU的协商,直至与第二电子设备协商得到一致的MTU备选值,则作为最终的MTU应用值。或者继续协商,直至减少到MTU的最小备选值,无法继续减小为止。
在本公开实施例中,可以以第一电子设备默认最大的MTU作为初始的MTU的备选值,也可以第一电子设备与第二电子设备双方默认MTU中较小的一个作为初始的MTU备选值。也就是说,初始的MTU的备选值,可以以双方均支持的最大值为准,在后续的探测中,进行上述不断减小的调整,直至双方电子设备在通信过程中都能够成功以当前的MTU进行数据交互为止。
如此,双方进行多次交互,不断探测合适的MTU,从而最终得到双方都能够满足,且能够尽可能减少通信资源浪费的最大的MTU应用值。
在一些实施例中,上述步骤S204中,如果未接收到与探测数据包相同数据量的反馈数据包,则减小MTU的备选值,包括:
如果在预设时长内接收到第二电子设备发送的数据量不同于探测数据包的数据量的反馈数据包,则根据反馈数据包的数据量,减小MTU的备选值;
或者,
如果在预设时长内接收到第二电子设备发送的数据量不同于探测数据包的数据量的反馈数据包,则根据第一预定调整值减小MTU的备选值。
在本公开实施例中,第一电子设备未接收到与探测数据包相同数据量的反馈数据包,则可能存在两种情况:
第一种,第一电子设备收到了第二电子设备发送的反馈数据包,但反馈数据包的数据量与探测数据包不同,即第一电子设备与第二电子设备未能得到协商一致的MTU。此时,第一电子设备可根据第一预定调整值减小MTU的备选值重新进行探测。第一预定值可根据实际需求确定,或者以用户或者设备厂商的预先设定为准。例如,在调整MTU的备选值时,每次都减小固定的数值,如减小10个单位的数据量;又如,根据当前的MTU的备选值,减小百分之五等等。如果需要确定尽可能大的MTU的应用值,则可以每次微调降低MTU的备选值进行探测,从而使得后续的数据传出维持尽可能大的数据传输速度。而如果需要尽可能快地确定稳定的MTU的应用值,则可以每次减小较大的第一预定调整值,从而快速得到双方都能够支持的MTU的应用值。
由于探测数据包的数据量可能大于第二电子设备的实际传输能力,因此第二电子设备可能仅接收到了数据包的一部分。此时,第一电子设备接收到的反馈数据包小于探测数据包的数据量。由于反馈数据包的数据量可能是第二电子设备根据自身的MTU确定的,因此,也可根据接收到的反馈数据包的数据量,来调整MTU备选值的大小,并重新进行探测。也就是说,第一电子设备可将反馈数据包的数据量作为调整后的MTU的备选值,并以此作为下一次发送的探测数据包的数据量。这样,可以快速确定双方均能够满足的MTU的备选值,作为应用值,从而减少探测次数,提升交互效率。
可以理解的是,如果第二电子设备能够成功接收完整的探测数据包,则第二电子设备自身的MTU大于或等于探测数据包的数据量。第二电子设备可直接反馈与探测数据包数据量相同的反馈数据包,以确定探测结果。因此,当第一电子设备接收到与探测数据包的数据量相同的反馈数据包时,则可以确定双方均能够以当前的MTU的备选值进行通信,进而协商成功。
此外,还存在第二种情况:第一电子设备在预定时长内未收到反馈数据包,则也可根据上述第一预定调整值来减小MTU的备选值,并重新进行协商。
在一些实施例中,上述步骤S204中,如果未接收到与探测数据包相同数据量的反馈数据包,则减小MTU的备选值,包括:
如果在预设时长内未接收到第二电子设备发送的反馈数据包,则根据第二预定调整值减小MTU的备选值。
这里,第一电子设备等待了预定时长,但未接收到第二电子设备发送的反馈数据包。由于第一电子设备在预定时间内未收到第二电子设备的响应,说明第一电子设备向第二电子设备发送的探测数据包未能被第二电子设备成功接收,或者第二电子设备发送的反馈数据包的数据量过大未能被第一电子设备所接收。因此,第一电子设备与第二电子设备未能成功协商得到统一的MTU。
因此,第一电子设备在预定时长后,还可根据上述第二预定调整值减小MTU的备选值,再重新发送对应的探测数据包,进行新一轮的协商。这里,第二预定调整值与第一预定调整值类似,可根据实际需求确定,或者以用户或者设备厂商的预先设定为准。第二预定调整值可以与第一预定调整值相等,也可以与第一预定调整值不相等。如此,经过多次探测后,直至可以成功接收到第二电子设备发送的数据量与探测数据包相同的反馈数据包,成功协商得到MTU的应用值。在后续进行蓝牙通信时,则可根据MTU的应用值进行数据通信。
在一实施例中,第二预定调整值可大于第一预定调整值。由于第一预定调整值为第一电子设备收到了反馈数据包的情况,说明虽然未能协商得到一致的MTU应用值,但也能够实现双方的数据交互。因此,当前的MTU备选值可能已经接近双方能够进行正常数据交互的MTU,这样,只需略减小MTU的备选值,就可能快速协商一致。而第二预定调整值为第一电子设备未能收到反馈数据包的情况,说明双方无法通过当前的MTU备选值进行数据交互,因此可以较大幅度地减小MTU的备选值,从而快速协商一致。
在一些实施例中,通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商蓝牙通信的MTU的应用值,还包括:
如果未接收到与探测数据包相同数据量的反馈数据包,则确定最小备选值为MTU的应用值。
在实际应用中,可能对数据传输速率并不是很高,因此,为了在协商过程中快速得到MTU的应用值,可以在未能得到反馈数据包时直接将MTU的备选值调整值最小备选值。例如,MTU的最小备选值为大多数蓝牙设备默认的最小数据量,如20Bytes等。这样,就能够一次协商成功,并继续后续的数据传输,减少了不必要的探测。
在一些实施例中,上述步骤S101中,在蓝牙通信的过程中,通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商蓝牙通信的MTU的应用值,包括:
在蓝牙启动数据传输后,在每隔预定时长或在数据传输暂停的时刻,通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商蓝牙通信的MTU的应用值。
在本公开实施例中,上述MTU的协商过程,可以发生在蓝牙启动数据传输后的任意时刻,包括:数据传输的过程中。例如,如果在数据传输的过程中,可在传输的数据流中插入探测数据包,并根据接收到的第二电子设备的反馈数据包,实时调整当前通信过程中的MTU的应用值,从而优化数据通信的性能。又如,在数据传输的过程中,如果检测到发生了丢包、延迟或者中断连接等情况对应的异常信号时,则第一电子设备可向第二电子设备发送探测数据包,并根据接收到的第二电子设备的反馈数据包,调整MTU的应用值,优化数据通信的性能,从而减少后续通信过程中发生丢包、延迟或者中断连接等异常情况。
在本公开实施例中,上述蓝牙启动数据传输后的任意时刻,还包括:数据传输暂停的时段。例如,蓝牙启动数据传输,建立蓝牙连接但尚未开始数据传输的时段,或者,在完成一个文件的数据传输后且在进行下一文件的数据传输之前等情况。又如,在数据传输后,进行数据编解码等处理过程中,数据暂停的时段。如此,可以不占用数据传输的时段,减少探测过程对数据传输带来的影响。
通过在蓝牙通信的过程中的MTU协商,能够实现MTU的实时调整,又能够占用较少的数据传输的时间。同时,减少由于电子设备性能的不稳定,或者通信信道发生信号干扰等情况,使得当前MTU不可靠,从而降低数据传输稳定性的情况。
在一些实施例中,该方法还包括:
在蓝牙通信开始之前,与第二电子设备协商MTU的备选值。
在本公开实施例中,第一电子设备与第二电子设备可以在进行蓝牙通信之前,预先协商MTU的备选值,作为上述实施例中进一步进行MTU协商的初始值。
这里,协商MTU的备选值的方法,可由第一电子设备直接向第二电子设备发送自身的MTU值,该MTU值可为表示第一电子设备自身通信能力的参数。发送的过程中可以仅通过能够承载参数值的最小通信数据量发送,亦可通过默认的常用通信数据量进行发送。例如,目前默认的蓝牙通信以20Bytes的数据包大小进行数据通信,而当前第一电子设备的MTU为80Bytes。那么第一电子设备可将80作为数据内容放在20Bytes大小的数据包内,发送至第二电子设备,也可将80作为数据内容放在更小的数据包内发送至第二电子设备,从而使得该参数能够成功发送至第二电子设备。
而第二电子设备则可将自身的MTU反馈给第一电子设备,例如,第二电子设备的MTU为60Bytes,那么第二电子设备则将60作为数据内容放在20Bytes或更小的数据包内发送至第一电子设备。
第一电子设备接收到第二电子设备的反馈后,获知了对方的MTU小于自身的MTU,则可将对方的MTU作为MTU的备选值,进而作为后续进一步MTU协商的初始值。
可见,在本实施例中,第一电子设备与第二电子设备协商MTU的备选值的过程与上述实施例中,协商MTU的应用值的过程,不同之处在于,这里是第一电子设备与第二电子设备直接告知对方自身默认的MTU。双方自身默认的MTU并未经过实际通信的验证,也就是同行双方尚未以该MTU值作为数据包的数据量进行通信,因此,该MTU的备选值并不一定是可靠的MTU值。
但可以理解的是,由于上述MTU的备选值为双方电子设备协商得到的,因此,该MTU的备选值会较为接近可靠的MTU值,并且有可能能够作为最终探测后的MTU的应用值。如此,将该协商的MTU的备选值,作为后续进一步MTU协商的初始值,能够尽可能减少协商过程中探测数据包以及反馈数据包的发送次数,提升协商的效率。
如图3所示,本公开实施例还提供一种数据传输方法,应用于第二电子设备,包括:
步骤S301、在蓝牙通信的过程中,第二电子设备接收第一电子设备根据MTU的备选值发送的蓝牙通信的探测数据包;
步骤S302、根据探测数据包的数据量向第一电子设备发送反馈数据包;其中,反馈数据包用于供第一电子设备确定MTU的应用值。
在本公开实施例中,上述第一电子设备可作为发起MTU协商的一方,即主动发送探测数据包,而第二电子设备可作为接受MTU协商的一方,在接收到探测数据包时开始进行与第一电子设备的协商。
需要说明的是,在实际应用中,并不限定第一电子设备与第二电子设备的类型。也就是说,在两台电子设备进行蓝牙通信的过程中,任一台均可作为上述第一电子设备发起MTU协商,也可作为接受的一方。甚至,在通信的过程中,可以根据需求在不同的时段或不同的场景下交换发起MTU协商的角色。
在本公开实施例中,第二电子设备如果接收到第一电子设备发送的探测数据包,可以根据自身的通信能力,确定探测数据包的数据量是否符合自身进行数据通信的需求和能力,并通过发送反馈数据包,向第一电子设备作出响应,便于第一电子设备确定MTU的应用值。
在一些实施例中,如图4所示,上述步骤S302中,根据探测数据包的数据量向第一电子设备发送反馈数据包,包括:
步骤S401、确定探测数据包数据量,与第二电子设备的预定MTU是否相同;
步骤S402、如果探测数据包的数据量与预定MTU相同,则向第一电子设备发送与探测数据包的数据量相同的反馈数据包;其中,反馈数据包用于供第一电子设备确定MTU的备选值为第一电子设备和第二电子设备之间蓝牙通信的MTU的应用值。
第二电子设备可根据探测数据包的数据量,与自身的预定MTU进行对比,如果两者不同,则可能在后续不能以当前的MTU实现稳定的数据传输,因此协商失败。而如果当前的探测数据包的数据量与预定MTU相同,则第二电子设备可根据当前的MTU备选值进行数据通信。因此,此时可向第一电子设备发送与探测数据包的数据量相同的反馈数据包,实现双方的交互,从而验证当前的MTU的备选值可用,便于第一电子设备确定该MTU的备选值为MTU的应用值。
在一些实施例中,上述步骤S302中,根据探测数据包的数据量向第一电子设备发送反馈数据包,还包括:
步骤S403、如果探测数据包的数据量与预定MTU不相同,则向第一电子设备发送数据量小于或等于探测数据包的反馈数据包。
如果第二电子设备接收到的探测数据包大于自身的预定MTU,则后续如果使用当前的MTU的备选值进行通信,可能会由于第二电子设备自身的通信能力限制导致丢包等情况。此时,可以在当前的MTU的备选值的基础上,减小一定的数据量作为反馈数据包,使得反馈数据包的数据量满足第二电子设备自身的通信能力,从而告知第一电子设备需要以此调整MTU的备选值。
如果第二电子设备接收到的探测数据包小于自身的预定MTU,第二电子设备自身的预定MTU不能作为MTU的应用值,但是当前的MTU的备选值满足自身的能力要求。因此,第二电子设备可根据探测数据包的数据量,向第一电子设备发送反馈数据包。从而确定与第一电子设备协商一致的MTU为探测数据包的数据量大小。
这样,就实现了对第一电子设备发起的MTU协商的反馈,便于两台电子设备之间确定一致的MTU的应用值。
本公开实施例还提供以下示例:
在BLE(luetooth Low Energy,低功耗蓝牙)设备进行大文件的数据传输过程中,例如语音数据传输、蓝牙OTA(Over the Air,空中下载)升级等场景中,需要蓝牙数据传输尽可能高效,降低耗时,从而提升用户体验。
由于各个电子设备对于蓝牙协议栈的兼容性问题,在实际使用中,交互双方使用协议栈交互后的MTU值进行组包通信时,经常会出现丢包,或者数据包不完整,或者数据包始终以较小的默认值例如20Bytes的长度的情况。这样,双方电子设备在进行蓝牙通信时,数据传输质量差、速率慢,且容易断开连接。
因此,在本公开实施例中,进行蓝牙数据传输的双方电子设备在数据传输之前,先交换双方的MTU值,取其中较小的MTU值作为MTU的备选值。然后,其中一台电子设备以该备选值为数据包的大小生成探测数据包,发送至对方,根据对方的响应,确定该MTU的备选值是否满足双方实际的通信能力,进而确定为后续通信的MTU的应用值。
以如下两个场景为例:
第一、BLE OTA升级场景:
单蓝牙设备、即不具有网络通信功能的独立的蓝牙设备,需要进行系统升级时,需要借助蓝牙功能与具有网络通信功能的终端设备进行数据通信,获取升级的相关数据。在OTA升级过程中,双方先以默认的20Bytes大小的数据包进行数据传输。在传输过程中或者传输处于IDLE(暂停)状态时,双方电子设备进行MTU协商交互,传输以当前双方默认的MTU的最小值为数据量的数据包进行探测。在探测成功后,后续的数据传输过程中,数据包可调整为探测成功的MTU大小进行传输。
第二、智能设备WIFI配网失败的Log(日志)传输方案:
智能设备,如智能家居设备、智能音箱以及智能穿戴设备等,可能需要通过手机、电脑等设备进行WIFI配网,配网成功后通过WIFI实现与手机、电脑以及与云端的交互。而配网失败则需要与手机、电脑等电子设备通过蓝牙功能传输相关日志,便于分析配网失败的问题等。在传输日志的过程中,先以默认的20Bytes大小的数据包进行数据传输。传输过程中或者传输处于IDLE状态时,双方进行MTU协商交互,传输以当前双方默认的MTU的最小值为数据量的数据包进行探测。在探测成功后,后续的数据传输过程中,数据包可调整为探测成功的MTU大小进行传输。
上述MTU协商的过程,可由如图5所示的以下步骤来表示:
步骤S501、源端设备向目的端设备以当前默认数据包的数据量(如20Bytes)开始数据传输。
步骤S502、在数据传输的过程中,或者数据传输IDLE状态下,交互双方支持的MTU,并根据Min_mtu(src_mtu,dst_mtu),即最小值函数,确定两者MTU中较小的一个。
步骤S503、源端设备根据Min_mtu进行MTU包探测,同时设置超时时间。
步骤S504、在超时时间内,如果目的端设备收到MTU探测包,且MTU探测包与的Min_mtu大小相同,则源端到目的端的探测成功。目的端保存MTU值,然后按照相同的方式向源端发送MTU探测包,或者认为是反馈数据包。
步骤S505、在超时时间内,如果目的端设备收到MTU探测包,但与Min_mtu大小不同,则确定源端到目的端的探测失败,目的端以Min_MTU=(Min_MTU-10)作为反馈数据包的数据量发送至源端。
步骤S506、如果超时时间后,源端设备未收到目的端设备的响应,则源端到目的端的探测失败,源端重新发送Min_MTU=(Min_MTU-10)的探测包至目的端,并重复上述步骤S504至S505。
步骤S507、源端设备接收到目的端设备反馈的数据后:
如果反馈数据包的大小与Min_mtu相同,则说明双向探测成功,后续可以更新该MTU值进行数据传输。
如果反馈数据包的大小与Min_mtu不同,则目的端到源端的探测失败,源端重新发送Min_MTU=(Min_MTU-10)大小的数据包给目的端,并重复上述步骤S504至S505。
步骤S508、根据双向探测结果,确定最终可靠的MTU值作为应用值。
步骤S509、将数据包更新为MTU应用值大小的数据包,继续后续的传输。
上述MTU探测数据包或者反馈数据包的格式可以如下表1所示:
1 | 2 | …… | 49 | 50 |
50 | …… | …… | …… | MTU大小 |
表1
在表1所示的数据包中,MTU值为50,因此,可在任意一个或多个字节中携带参数50。同时,该数据包的字节数为50。这样,当对方接收到数据包后,可根据数据包的大小以及数据包中携带的MTU大小的参数,确定是否成功接收到完整的数据包。
通过上述方法,解决了BLE协议栈MTU协商结果不可靠问题,保证组包数据的稳定性和完整性。同时,可以在数据传输过程中,动态协商出一个可靠的最大MTU值,并使数据包尽可能最大,保证数据传输速度最快。如此,为BLE数据传输提供了一套可靠的快速传输方案。对于使用BLE传输大数据文件的设备,该方案可以明显的提升数据传输稳定性和传输速度。
图6是根据一示例性实施例示出的一种数据传输装置的结构框图。参照图6,该装置600应用于第一电子设备,包括:第一协商模块610。
第一协商模块610,用于在蓝牙通信的过程中,通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商所述蓝牙通信的MTU的应用值。
在一些实施例中,所述第一协商模块,包括:
第一发送模块611,用于根据所述MTU的备选值,向第二电子设备发送蓝牙通信的探测数据包;
第一接收模块612,用于在预设时长内,接收所述第二电子设备发送的反馈数据包;
第一确定模块613,如果接收到与所述探测数据包相同数据量的所述反馈数据包,则用于确定所述MTU的备选值为所述第一电子设备和所述第二电子设备之间蓝牙通信的MTU的应用值。
在一些实施例中,所述第一协商模块,还包括:
第一调整模块,如果未接收到与所述探测数据包相同数据量的所述反馈数据包,则用于减小所述MTU的备选值;
协商子模块,用于根据减小后的所述MTU的备选值,继续通过数据量等于减小后MTU的备选值的探测数据包的传输,与第二电子设备协商蓝牙通信的MTU的应用值;
停止子模块,用于在接收到所述第二电子设备发送的与所述探测数据包相同数据量的反馈数据包,或者减小到所述MTU的最小备选值时,停止所述MTU的协商。
在一些实施例中,所述调整模块,包括:
第一调整子模块,如果在预设时长内接收到所述第二电子设备发送的数据量不同于所述探测数据包的数据量的反馈数据包,则用于根据反馈数据包的数据量,减小所述MTU的备选值;
或者,
第二调整子模块,如果在预设时长内接收到所述第二电子设备发送的数据量不同于所述探测数据包的数据量的反馈数据包,则用于根据第一预定调整值减小所述MTU的备选值。
在一些实施例中,所述调整模块,包括:
第三调整子模块,如果在所述预设时长内未接收到所述第二电子设备发送的反馈数据包,则用于根据第二预定调整值减小所述MTU的备选值。
在一些实施例中,所述第一协商模块,还包括:
第一确定子模块,如果未接收到与所述探测数据包相同数据量的所述反馈数据包,则用于确定最小备选值为所述MTU的应用值。
在一些实施例中,所述第一协商模块,具体用于:
在所述蓝牙启动数据传输后,在每隔预定时长或在数据传输暂停的时刻,通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商所述蓝牙通信的MTU的应用值。
在一些实施例中,述装置还包括:
第二协商模块,用于在蓝牙通信开始之前,与所述第二电子设备协商所述MTU的备选值。
图7是根据一示例性实施例示出的一种数据传输装置的结构框图。参照图7,该装置700应用于第二电子设备,包括:
第二接收模块701,用于在蓝牙通信的过程中,接收第一电子设备根据MTU的备选值发送的蓝牙通信的探测数据包;
第二发送模块702,用于根据所述探测数据包的数据量向所述第一电子设备发送反馈数据包;其中,所述反馈数据包用于供所述第一电子设备确定所述MTU的应用值。
在一些实施例中,所述第二发送模块,包括:
第二确定子模块,用于确定所述探测数据包数据量,与所述第二电子设备的预定MTU是否相同;
第一发送子模块,如果所述探测数据包的数据量与所述预定MTU相同,则用于向所述第一电子设备发送与所述探测数据包的数据量相同的反馈数据包;其中,所述反馈数据包用于供所述第一电子设备确定所述MTU的备选值为所述第一电子设备和所述第二电子设备之间蓝牙通信的MTU的应用值。
在一些实施例中,所述第二发送模块,还包括:
第二发送子模块,如果所述探测数据包的数据量与所述预定MTU不相同,则用于向所述第一电子设备发送数据量小于所述探测数据包的反馈数据包。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图8是根据一示例性实施例示出的一种数据传输装置800的实体结构框图。例如,装置800可以是移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。
参照图8,装置800可以包括以下一个或多个组件:处理组件801,存储器802,电源组件803,多媒体组件804,音频组件805,输入/输出(I/O)接口806,传感器组件807,以及通信组件808。
处理组件801通常控制装置800的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关联的操作。处理组件801可以包括一个或多个处理器810来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件801还可以包括一个或多个模块,便于处理组件801和其他组件之间的交互。例如,处理组件801可以包括多媒体模块,以方便多媒体组件804和处理组件801之间的交互。
存储器810被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器802可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、快闪存储器、磁盘或光盘。
电源组件803为装置800的各种组件提供电力。电源组件803可以包括:电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件804包括在所述装置800和用户之间提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件804包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和/或后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件805被配置为输出和/或输入音频信号。例如,音频组件805包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器810或经由通信组件808发送。在一些实施例中,音频组件805还包括一个扬声器,用于输出音频信号。
I/O接口806为处理组件801和外围接口模块之间提供接口,上述外围接口模块可以是键盘、点击轮、按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件807包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件807可以检测到装置800的打开/关闭状态、组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件807还可以检测装置800或装置800的一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件807可以包括接近传感器,被配置为在没有任何的物理接触时检测附近物体的存在。传感器组件807还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件807还可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
通信组件808被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi、2G或3G,或它们的组合。在一个示例性实施例中,通信组件808经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件808还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术或其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器802,上述指令可由装置800的处理器810执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行上述实施例中提供的任一种方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (22)
1.一种数据传输方法,其特征在于,应用于第一电子设备,包括:
在蓝牙通信的过程中,通过数据量为最大传输单元MTU的备选值的探测数据包的传输,与第二电子设备协商所述蓝牙通信的MTU的应用值;
其中,所述通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商所述蓝牙通信的MTU的应用值,包括:
根据所述MTU的备选值,向第二电子设备发送蓝牙通信的探测数据包;
在预设时长内,接收所述第二电子设备发送的反馈数据包;
如果接收到与所述探测数据包相同数据量的所述反馈数据包,确定所述MTU的备选值为所述第一电子设备和所述第二电子设备之间蓝牙通信的MTU的应用值。
2.根据权利要求1所述的方法,其特征在于,所述通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商所述蓝牙通信的MTU的应用值,还包括:
如果未接收到与所述探测数据包相同数据量的所述反馈数据包,则减小所述MTU的备选值;
根据减小后的所述MTU的备选值,继续通过数据量等于减小后MTU的备选值的探测数据包的传输,与第二电子设备协商蓝牙通信的MTU的应用值;
在接收到所述第二电子设备发送的与所述探测数据包相同数据量的反馈数据包,或者减小到所述MTU的最小备选值时,停止所述MTU的协商。
3.根据权利要求2所述的方法,其特征在于,所述如果未接收到与所述探测数据包相同数据量的所述反馈数据包,则减小所述MTU的备选值,包括:
如果在预设时长内接收到所述第二电子设备发送的数据量不同于所述探测数据包的数据量的反馈数据包,则根据反馈数据包的数据量,减小所述MTU的备选值;
或者,
如果在预设时长内接收到所述第二电子设备发送的数据量不同于所述探测数据包的数据量的反馈数据包,则根据第一预定调整值减小所述MTU的备选值。
4.根据权利要求2所述的方法,其特征在于,所述如果未接收到与所述探测数据包相同数据量的所述反馈数据包,则减小所述MTU的备选值,包括:
如果在所述预设时长内未接收到所述第二电子设备发送的反馈数据包,则根据第二预定调整值减小所述MTU的备选值。
5.根据权利要求1所述的方法,其特征在于,所述通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商所述蓝牙通信的MTU的应用值,还包括:
如果未接收到与所述探测数据包相同数据量的所述反馈数据包,则确定最小备选值为所述MTU的应用值。
6.根据权利要求1至5任一所述的方法,其特征在于,所述在蓝牙通信的过程中,通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商所述蓝牙通信的MTU的应用值,包括:
在所述蓝牙启动数据传输后,在每隔预定时长或在数据传输暂停的时刻,通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商所述蓝牙通信的MTU的应用值。
7.根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括:
在蓝牙通信开始之前,与所述第二电子设备协商所述MTU的备选值。
8.一种数据传输方法,其特征在于,应用于第二电子设备,包括:
在蓝牙通信的过程中,接收第一电子设备根据MTU的备选值发送的蓝牙通信的探测数据包;
根据所述探测数据包的数据量向所述第一电子设备发送反馈数据包;其中,所述反馈数据包用于供所述第一电子设备确定所述MTU的应用值。
9.根据权利要求8所述的方法,其特征在于,所述根据所述探测数据包的数据量向所述第一电子设备发送反馈数据包,包括:
确定所述探测数据包数据量,与所述第二电子设备的预定MTU是否相同;
如果所述探测数据包的数据量与所述预定MTU相同,则向所述第一电子设备发送与所述探测数据包的数据量相同的反馈数据包;其中,所述反馈数据包用于供所述第一电子设备确定所述MTU的备选值为所述第一电子设备和所述第二电子设备之间蓝牙通信的MTU的应用值。
10.根据权利要求9所述的方法,其特征在于,所述根据所述探测数据包的数据量向所述第一电子设备发送反馈数据包,还包括:
如果所述探测数据包的数据量与所述预定MTU不相同,则向所述第一电子设备发送数据量小于或等于所述探测数据包的反馈数据包。
11.一种数据传输装置,其特征在于,应用于第一电子设备,包括:
第一协商模块,用于在蓝牙通信的过程中,通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商所述蓝牙通信的MTU的应用值;
所述第一协商模块,包括:
第一发送模块,用于根据所述MTU的备选值,向第二电子设备发送蓝牙通信的探测数据包;
第一接收模块,用于在预设时长内,接收所述第二电子设备发送的反馈数据包;
第一确定模块,如果接收到与所述探测数据包相同数据量的所述反馈数据包,则用于确定所述MTU的备选值为所述第一电子设备和所述第二电子设备之间蓝牙通信的MTU的应用值。
12.根据权利要求11所述的装置,其特征在于,所述第一协商模块,还包括:
第一调整模块,如果未接收到与所述探测数据包相同数据量的所述反馈数据包,则用于减小所述MTU的备选值;
协商子模块,用于根据减小后的所述MTU的备选值,继续通过数据量等于减小后MTU的备选值的探测数据包的传输,与第二电子设备协商蓝牙通信的MTU的应用值;
停止子模块,用于在接收到所述第二电子设备发送的与所述探测数据包相同数据量的反馈数据包,或者减小到所述MTU的最小备选值时,停止所述MTU的协商。
13.根据权利要求12所述的装置,其特征在于,所述调整模块,包括:
第一调整子模块,如果在预设时长内接收到所述第二电子设备发送的数据量不同于所述探测数据包的数据量的反馈数据包,则用于根据反馈数据包的数据量,减小所述MTU的备选值;
或者,
第二调整子模块,如果在预设时长内接收到所述第二电子设备发送的数据量不同于所述探测数据包的数据量的反馈数据包,则用于根据第一预定调整值减小所述MTU的备选值。
14.根据权利要求12所述的装置,其特征在于,所述调整模块,包括:
第三调整子模块,如果在所述预设时长内未接收到所述第二电子设备发送的反馈数据包,则用于根据第二预定调整值减小所述MTU的备选值。
15.根据权利要求11所述的装置,其特征在于,所述第一协商模块,还包括:
第一确定子模块,如果未接收到与所述探测数据包相同数据量的所述反馈数据包,则用于确定最小备选值为所述MTU的应用值。
16.根据权利要求11至15任一所述的装置,其特征在于,所述第一协商模块,具体用于:
在所述蓝牙启动数据传输后,在每隔预定时长或在数据传输暂停的时刻,通过数据量为MTU的备选值的探测数据包的传输,与第二电子设备协商所述蓝牙通信的MTU的应用值。
17.根据权利要求11至15任一所述的装置,其特征在于,所述装置还包括:
第二协商模块,用于在蓝牙通信开始之前,与所述第二电子设备协商所述MTU的备选值。
18.一种数据传输装置,其特征在于,应用于第二电子设备,包括:
第二接收模块,用于在蓝牙通信的过程中,接收第一电子设备根据MTU的备选值发送的蓝牙通信的探测数据包;
第二发送模块,用于根据所述探测数据包的数据量向所述第一电子设备发送反馈数据包;其中,所述反馈数据包用于供所述第一电子设备确定所述MTU的应用值。
19.根据权利要求18所述的装置,其特征在于,所述第二发送模块,包括:
第二确定子模块,用于确定所述探测数据包数据量,与所述第二电子设备的预定MTU是否相同;
第一发送子模块,如果所述探测数据包的数据量与所述预定MTU相同,则用于向所述第一电子设备发送与所述探测数据包的数据量相同的反馈数据包;其中,所述反馈数据包用于供所述第一电子设备确定所述MTU的备选值为所述第一电子设备和所述第二电子设备之间蓝牙通信的MTU的应用值。
20.根据权利要求19所述的装置,其特征在于,所述第二发送模块,还包括:
第二发送子模块,如果所述探测数据包的数据量与所述预定MTU不相同,则用于向所述第一电子设备发送数据量小于或等于所述探测数据包的反馈数据包。
21.一种数据传输装置,其特征在于,所述装置至少包括:处理器和用于存储能够在所述处理器上运行的可执行指令的存储器,其中:
处理器用于运行所述可执行指令时,所述可执行指令执行上述权利要求1至7或8至10任一项提供的数据传输方法中的步骤。
22.一种非临时性计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述权利要求1至7或8至10任一项提供的数据传输方法中的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010468382.6A CN111654450B (zh) | 2020-05-28 | 2020-05-28 | 数据传输方法及装置、存储介质 |
EP20217849.7A EP3917181B1 (en) | 2020-05-28 | 2020-12-30 | Method and device for data transmission, and storage medium |
US17/146,431 US11606718B2 (en) | 2020-05-28 | 2021-01-11 | Method and device for data transmission, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010468382.6A CN111654450B (zh) | 2020-05-28 | 2020-05-28 | 数据传输方法及装置、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111654450A CN111654450A (zh) | 2020-09-11 |
CN111654450B true CN111654450B (zh) | 2023-08-08 |
Family
ID=72348893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010468382.6A Active CN111654450B (zh) | 2020-05-28 | 2020-05-28 | 数据传输方法及装置、存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11606718B2 (zh) |
EP (1) | EP3917181B1 (zh) |
CN (1) | CN111654450B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112702143B (zh) * | 2020-12-16 | 2023-01-24 | 歌尔科技有限公司 | 表盘数据管理方法、装置、可穿戴设备及存储介质 |
CN113423093B (zh) * | 2021-05-25 | 2023-04-14 | 江铃汽车股份有限公司 | 一种基于车载终端的蓝牙通信方法及系统 |
CN114356243A (zh) * | 2022-01-06 | 2022-04-15 | 苏州挚途科技有限公司 | 数据处理方法、装置及服务器 |
CN115022252B (zh) * | 2022-05-31 | 2024-04-09 | 青岛海信移动通信技术有限公司 | 一种配置传输数据包最大长度的方法及设备 |
CN115664468B (zh) * | 2022-09-21 | 2023-11-21 | 深圳市酷开网络科技股份有限公司 | 蓝牙播放设备的数据传输方法、装置、终端设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499827A (zh) * | 2009-03-03 | 2009-08-05 | 青岛海信移动通信技术股份有限公司 | 一种移动终端及其蓝牙通信方法 |
CN102036304A (zh) * | 2009-09-28 | 2011-04-27 | 华为技术有限公司 | 为终端提供最大传输单元长度的方法及分组交换网关 |
CN102291318A (zh) * | 2011-09-22 | 2011-12-21 | 杭州华三通信技术有限公司 | 一种最大传输单元协商的方法和路由器 |
KR20150054100A (ko) * | 2013-11-11 | 2015-05-20 | 삼성전자주식회사 | 데이터 처리 방법 및 그 방법을 처리하는 전자장치 |
CN106851622A (zh) * | 2016-12-28 | 2017-06-13 | 歌尔科技有限公司 | 一种空中升级方法、装置、中心设备及外围设备 |
WO2017190467A1 (zh) * | 2016-05-03 | 2017-11-09 | 中兴通讯股份有限公司 | 终端最大传输单元的调整方法、装置和终端设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9380635B2 (en) * | 2012-01-09 | 2016-06-28 | Google Technology Holdings LLC | Dynamic TCP layer optimization for real-time field performance |
CN106105310B (zh) * | 2014-03-12 | 2019-09-17 | Lg 电子株式会社 | 无线通信系统中调整数据传输速率的方法和设备 |
US9924342B2 (en) * | 2015-06-16 | 2018-03-20 | Google Llc | Establishing a connection over a low power communication type |
US9640061B1 (en) * | 2015-12-31 | 2017-05-02 | Google Inc. | Remote alarm hushing with acoustic presence verification |
US10111192B2 (en) * | 2016-06-02 | 2018-10-23 | Sonicwall Inc. | Method for effective PMTU discovery in VPN environment |
JP6988124B2 (ja) * | 2017-03-27 | 2022-01-05 | カシオ計算機株式会社 | 通信装置、電子時計、通信方法、及びプログラム |
JP7232346B2 (ja) * | 2019-02-11 | 2023-03-02 | アップル インコーポレイテッド | Ne-dcモードの測定ギャップ設計 |
-
2020
- 2020-05-28 CN CN202010468382.6A patent/CN111654450B/zh active Active
- 2020-12-30 EP EP20217849.7A patent/EP3917181B1/en active Active
-
2021
- 2021-01-11 US US17/146,431 patent/US11606718B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499827A (zh) * | 2009-03-03 | 2009-08-05 | 青岛海信移动通信技术股份有限公司 | 一种移动终端及其蓝牙通信方法 |
CN102036304A (zh) * | 2009-09-28 | 2011-04-27 | 华为技术有限公司 | 为终端提供最大传输单元长度的方法及分组交换网关 |
CN102291318A (zh) * | 2011-09-22 | 2011-12-21 | 杭州华三通信技术有限公司 | 一种最大传输单元协商的方法和路由器 |
KR20150054100A (ko) * | 2013-11-11 | 2015-05-20 | 삼성전자주식회사 | 데이터 처리 방법 및 그 방법을 처리하는 전자장치 |
WO2017190467A1 (zh) * | 2016-05-03 | 2017-11-09 | 中兴通讯股份有限公司 | 终端最大传输单元的调整方法、装置和终端设备 |
CN106851622A (zh) * | 2016-12-28 | 2017-06-13 | 歌尔科技有限公司 | 一种空中升级方法、装置、中心设备及外围设备 |
Non-Patent Citations (1)
Title |
---|
周鑫磊 ; 闫斐.1 基于MTU值设置不当导致传输网和数据网设备对接丢包问题的分析处理.《有线电视技术》.2019, * |
Also Published As
Publication number | Publication date |
---|---|
US11606718B2 (en) | 2023-03-14 |
CN111654450A (zh) | 2020-09-11 |
EP3917181B1 (en) | 2023-10-18 |
EP3917181A1 (en) | 2021-12-01 |
US20210377796A1 (en) | 2021-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111654450B (zh) | 数据传输方法及装置、存储介质 | |
WO2020133614A1 (zh) | 一种无线通信方法、终端、音频组件、装置及存储介质 | |
EP3174027B1 (en) | Method and apparatus for connecting with controlled smart device, computer program and recording medium | |
CN111698668B (zh) | 无线通信链路建立方法及支持该方法的电子装置 | |
CN108738008B (zh) | 蓝牙配对方法及系统 | |
WO2016090826A1 (zh) | 配置方法及装置 | |
EP3226432B1 (en) | Method and devices for sharing media data between terminals | |
EP3917116B1 (en) | Detecting maximum transmission unit value | |
US10827455B1 (en) | Method and apparatus for sending a notification to a short-range wireless communication audio output device | |
KR20200106742A (ko) | 블루투스 네트워크 환경에서 응답 메시지를 전송하기 위한 전자 장치 및 그에 관한 방법 | |
WO2018196102A1 (zh) | 信息传递方法、装置及计算机可读存储介质 | |
WO2019237360A1 (zh) | 确定上下行切换点的方法及装置 | |
CN105392169A (zh) | 文件传输方法、装置和系统 | |
CN104796460B (zh) | 文件传输方法和装置 | |
CN110311692B (zh) | 用户设备、控制方法及存储介质 | |
CN105187154A (zh) | 响应包接收延时的方法及装置 | |
US12034670B2 (en) | Method for feeding back data, method for transmitting data and user equipment | |
CN107124679A (zh) | 多媒体文件播放的方法和装置 | |
EP2899953A2 (en) | Notification dependent on running applications | |
CN111800836B (zh) | 一种通信方法、装置、电子设备及存储介质 | |
CN111988110B (zh) | 无线充电方法及装置 | |
KR20150104128A (ko) | 그룹 통신에서 동적 화자 id 기반 미디어 처리를 위한 프레임워크 및 방법 | |
CN112181453A (zh) | 固件升级方法、装置及存储介质 | |
CN109962757A (zh) | 基于视联网的数据传输方法及装置 | |
CN115065904B (zh) | 音量调节方法、装置、耳机、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |