CN115038115A - 数据传输方法、装置、电子设备、存储介质和产品 - Google Patents
数据传输方法、装置、电子设备、存储介质和产品 Download PDFInfo
- Publication number
- CN115038115A CN115038115A CN202210709223.XA CN202210709223A CN115038115A CN 115038115 A CN115038115 A CN 115038115A CN 202210709223 A CN202210709223 A CN 202210709223A CN 115038115 A CN115038115 A CN 115038115A
- Authority
- CN
- China
- Prior art keywords
- data
- data packets
- terminal
- capacity
- batch
- 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.)
- Pending
Links
Images
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/04—Error control
-
- 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/0278—Traffic management, e.g. flow control or congestion control using buffer status reports
-
- 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
-
- 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
Abstract
本发明涉及通信技术领域,提供一种数据传输方法、装置、电子设备、存储介质和产品。方法包括:发送当前批第一数据包给第二终端第一数据包;接收第二终端发送的第二数据包,所述第二数据包包括所述当前批第一数据包中任一个的确收信息;基于第二数据包和当前批第一数据包的匹配结果发送下一批第一数据包。本发明通过按批传输的第一数据包,能够实现不需等待第二终端的应答确认包即可发送剩下的数据包。最大限度的提升蓝牙设备间可靠性传输速度。
Description
技术领域
本发明涉及通信技术领域,尤其数据传输方法、装置、电子设备、存储介质和产品。
背景技术
随着智能家电技术以及互联网技术的不断发展,蓝牙功能已经作为智能家电的标配。蓝牙作为智能家电设备上无线通讯的方式之一,对其数据传输的有着较高可靠性的要求。
目前市面上使用蓝牙传输的智能家电在保证数据可靠性的前提下,在使用蓝牙传输时,需要先于蓝牙设备间建立无线链路,对每次发送数据做出应答,彼此双方都确定数据已经收到后才能接着发下一包数据,由此导致蓝牙的传输速度较低。对于有着较大数据收发的应用,数据传输速度慢显现的更加明显。
发明内容
本发明旨在至少解决相关技术中存在的技术问题之一。为此,本发明提出一种数据传输方法,每次数据传输能够发送多帧数据包,不需要等待对端应答后才能发送下一帧数据包,提高蓝牙可靠性传输速度。
本发明还提出一种数据传输装置。
本发明还提出一种电子设备。
本发明还提出一种非暂态计算机可读存储介质。
本发明还提出一种计算机程序产品。
根据本发明第一方面实施例的数据传输方法,包括:
发送当前批第一数据包给第二终端;
接收所述第二终端发送的第二数据包,所述第二数据包包括任一个所述第一数据包的确收信息;
基于所述第二数据包和所述当前批第一数据包的匹配结果发送下一批第一数据包。
根据本发明实施例的数据传输方法,第一终端可以依次发出多帧第一数据包,然后根据接收到的第二数据包进行匹配确认后,发送下一批第一数据包。本发明实施例的方法无需像现有方法一样发送一帧数据包收到确认信息后才能发送下一帧数据,数据分批发送,从而大大提升了数据传输的速度。
根据本发明的一个实施例,所述发送当前批第一数据包给第二终端之前,还包括:
基于第一终端与第二终端的单帧容量和缓存区容量,确定单帧容量协商结果和缓冲区容量协商结果;
基于单帧容量协商结果和缓冲区容量协商结果确定所述当前批第一数据包容量,其中,所述第一数据包容量不小于所述缓冲区容量协商结果。
根据本发明实施例的数据传输方法,由于待确认数据其实包的容量基于第一终端与第二终端的单帧容量协商结果和缓冲区容量协商结果确定,同时,当前批第一数据包容量不小于所述缓冲区容量协商结果。因此,本发明实施例选定的第一数据包容量能保证在连续发送一批数据包后,把缓存区数据发完,有效提高每次发送的效率。
根据本发明的一个实施例,所述基于第一终端与第二终端的单帧容量和缓存区容量,确定单帧容量协商结果和缓冲区容量协商结果,包括:
基于第一终端与第二终端的单帧最大容量和缓存区最小容量,确定单帧容量协商结果和缓冲区容量协商结果。
根据本发明的一个实施例,所述根据所述第二数据包和所述当前批第一数据包的匹配结果发送下一批第一数据包,包括:
确定所述第二数据包的接收未超时,对所述第二数据包的数据帧序号与所述当前批第一数据包的数据帧序号进行匹配;
确定所述第二数据包的数据帧序号与所述当前批第一数据包的数据帧序号匹配成功,发送下一批第一数据包。
根据本发明的一个实施例,所述方法还包括:
确定所述第二数据包接收超时,发送下一批第一数据包,其中,所述下一批第一数据包包括接收超时的第二数据包对应的当前批第一数据包。
根据本发明的一个实施例,所述方法还包括:
确定所述第二数据包的数据帧序号与所述当前批第一数据包的数据帧序号匹配失败,发送下一批第一数据包,其中,所述下一批第一数据包包括当前批第一数据包中匹配失败的第一数据包。
根据本发明第二方面实施例的数据传输方法,包括:
接收第一终端发送的当前批第一数据包;
发送第二数据包给所述第一终端,其中,所述第二数据包包括任一个所述第一数据包的确收信息,所述第二数据包用于和所述当前批第一数据包进行匹配和,确定下一批第一数据包。
根据本发明实施例的数据传输方法,第二终端依次接收到第一终端发送的多帧第一数据包,然后发送对应的第二数据包供第一终端进行匹配确认,然后接收匹配确认后第一终端发送的下一批第一数据包。本发明实施例的第一终端和第二终端以批为单位进行收发数据,大大提升了数据传输的速度。
根据本发明的一个实施例,所述当前批第一数据包的容量基于第一终端与第二终端的单帧容量的协商结果和缓存区容量的协商结果确定,其中,所述第一数据包容量不小于所述缓冲区容量协商结果。
根据本发明的一个实施例,所述第一终端与第二终端的单帧容量的协商结果和缓存区容量的协商结果,基于第一终端自身与第二终端的单帧最大容量和缓存区最小容量确定。
根据本发明第三方面实施例的数据传输装置,包括:
第一发送模块,用于发送当前批第一数据包给第二终端果;
第一接收模块,用于接收所述第二终端发送的第二数据包,所述第二数据包包括任一个所述第一数据包的确收信息;
匹配模块,用于基于所述第二数据包和所述当前批第一数据包的匹配结果发送下一批第一数据包。
根据本发明第四方面实施例的数据传输装置,包括:
第二接收模块,用于接收第一终端发送的当前批第一数据包;
第二发送模块,用于发送第二数据包给所述第一终端,其中,包括任一个所述第一数据包的确收信息,所述第二数据包用于和所述当前批第一数据包进行匹配和,确定下一批第一数据包。
根据本发明第五方面实施例的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述数据传输方法的步骤。
根据本发明第六方面实施例的非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述数据传输方法的步骤。
根据本发明第七方面实施例的计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述数据传输方法的步骤。
本发明实施例中的上述一个或多个技术方案,至少具有如下技术效果之一:
通过在第一终端发送第一帧数据后,通过按批传输的第一数据包,能够实现不需等待第二终端的应答确认包即可发送剩下的数据包。最大限度的提升蓝牙设备间可靠性传输速度。
进一步的,通过设定当前批第一数据包容量不小于所述缓冲区容量协商结果。保证选定的第一数据包容量能保证在连续发送一批数据包后,把缓存区数据发完,有效提高每次发送的效率。
更进一步的,通过在第二数据包的接收超时的情况下重发数据,保证发送的第一数据包都能接收到对应的确认包,有效提高了数据传输的可靠性。
再进一步的,通过在第二数据包与第一数据包匹配失败的情况下重发数据,保证已匹配的第一数据包不会重复发送,匹配失败的第一数据包不会漏发。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的数据传输方法流程示意图之一;
图2是本发明实施例提供的数据传输方法流程示意图之二;
图3是本发明实施例提供的第一终端和第二终端的交互示意图;
图4是本发明实施例提供的蓝牙数据传输方法流程示意图;
图5是本发明实施例提供的一种数据传输装置的结构示意图之一;
图6是本发明实施例提供的一种数据传输装置的结构示意图之二;
图7是本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请实施例的至少一个实施例或示例中。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
下面结合附图和实施例对本申请的实施方式作进一步详细描述。以下实施例用于说明本申请,但不能用来限制本申请的范围。
图1示例了本发明实施例提供的数据传输方法的流程示意图,该方法应用于第一终端侧执行数据传输任务,该方法至少包括以下步骤:
步骤101、发送当前批第一数据包给第二终端。
步骤102、接收第二终端发送的第二数据包,其中,第二数据包包括当前批第一数据包中任一个的确收信息。
步骤103、基于第二数据包和当前批第一数据包的匹配结果发送下一批第一数据包。
针对步骤101,需要说明的是,第一终端和第二终端可以为用户的终端,或者还,包括但不限于手机、平板电脑、pc端、车载终端以及家用智能电器等带有蓝牙设备的终端,本发明实施例数据传输方法在蓝牙设备的应用层实现,其中,第一终端和第二终端之间已经建立好蓝牙的无线链路,第一数据包即为需要确认的待确认数据包。
针对步骤102,需要说明的是,第二数据包即为第一数据包的确认包,在数据正常传输的情况下,第一终端接收的第二数据包与当前批第一数据包任意一个对应且包含第一数据包的确收信息,在出现丢包的情况下,接收到第二数据包的数量可能为0。
针对步骤103,需要说明的是,基于第二数据包和当前批第一数据包的匹配,可以是基于第二数据包的序号与当前批第一数据包对应帧序号的匹配。
首先,第一终端执行本发明实施例提供的数据传输过程,此时,第一终端先发送,当前批第一数据包给第二终端,当前批第一数据包包括四帧数据,在本发明实施例的数据传输任务data_tran_task任务中,第一终端将依次发送1~4帧数据包给第二终端,且发完每帧数据后,将发送的数据帧添加到第一终端的缓冲区,并依次记录发送的数据帧序号为第一数据包对应的帧序号,比如依次为1.2.3.4…。然后,接收到第二终端发送的序号为“1”第二数据包。第一终端执行匹配,由于序号1与待确认序号1.2.3.4的1一致,因此匹配结果为匹配成功。最后第一终端发送下一批第一数据包时,下一批第一数据包可以包含第5帧数据,下一批第一数据包对应帧序号可以为“2.3.4.5”。
本发明实施例提供的数据传输方法针对现有蓝牙传输时效性受限、串行通讯以及通信带宽利用率较低的问题,通过分批发送第一数据包,实现了数据传输的速度的提升,通过第二数据包和当前批第一数据包的匹配保证了可靠性传输,在发送一帧数据后,无需等待第二终端的应答即可继续发送下一数据包,提高了数据的时效性,避免了第一终端较长时间处于等待阶段。
可以理解的是,发送当前批第一数据包给第二终端之前,还包括:
基于第一终端与第二终端的单帧容量和缓存区容量,确定单帧容量协商结果和缓冲区容量协商结果;
基于单帧容量协商结果和缓冲区容量协商结果确定当前批第一数据包容量,其中,第一数据包容量不小于缓冲区容量协商结果。
需要说明的是,确定单帧容量协商结果和缓冲区容量协商结果之后,需要对当前批发送的第一数据包总容量与协商得到的缓冲区容量进行比较,以检验协商结果是否合适。当前批第一数据包中包括多个数据帧每帧对应一个数据包,第一数据包的容量影响了当前批第一数据包能够传输的数据量。第一终端和第二终端通过对二者单帧容量和缓冲区容量的协商确定了第一数据包的容量。通过这种方式能够管理发送数据的速率,不要超过设备的承载能力。
比如,若第一终端和第二终端双方协商结果分别为单帧最大容量mtu和缓冲区容量buffer,且当前批最大发送的数据包个数为Q,则需要判断若“mtu*n≥buffer”,则无需重新协商根据当前确定的单帧容量确定当前批第一数据包容量,需要启动data_tran_task,进入等待接收方确认的阶段。若“mtu*Q<buffer”,则表示之前协商的mtu值n帧不能发完buffer数据,故需要重新协商,重新协商mtu值的目的是为了在连续发送n帧数据后,能够把buffer数据发完。然后再次进行mtu值协商,协商成功则启动data_tran_task,否则断开蓝牙连接。
具体的,Q的值由数据实验确定,采用数据传输相对稳定的数值,与芯片平台强相关,一般来说Q的经验值为4,也就是说一个批次发4帧数据包。重新协商mtu值时采用一般采用会对mtu值进行赋值令其为buffer/4。
本发明实施例提供的数据传输方法通过在第一终端和第二终端之间建立BLE蓝牙无线链路后,进行mtu值、缓存区大小的数据交换,然后通过mtu以及缓存区大小计算每帧数据包的大小,最后启动数据传输任务,依次发送数据包,等待接收方的确认包后,接着发送后续的数据包。通过第一终端与第二终端的协商结果能够确定当前批第一数据包能够传输的数据量与缓冲区容量的关系,令第一数据包容量不小于缓冲区容量协商结果,从而尽可能使得每次当前批数据包对应的数据量能够把缓冲区数据发完。
可以理解的是,基于第一终端与第二终端的单帧容量和缓存区容量,确定单帧容量协商结果和缓冲区容量协商结果,包括:
基于第一终端与第二终端的单帧最大容量和缓存区最小容量,确定单帧容量协商结果和缓冲区容量协商结果。
对此,需要说明的是,确定第一数据包容量不小于缓冲区容量协商结果有多种实现方式,而本发明实施例,根据第一终端和第二终端的单帧最大容量和缓存区最小容量能够保证在发送数据量最多的情况下最大程度的利用缓存区的容量,有利于提升通信带宽利用率。
可以理解的是,基于第二数据包和当前批第一数据包的匹配结果发送下一批第一数据包,包括:
确定第二数据包的接收未超时,对第二数据包的数据帧序号与当前批第一数据包的数据帧序号进行匹配。
对此,需要说明的是,本发明实施例需要判断第二数据包的接收是否超时,设定超时判断的目的是可以更好的监控数据传输的时效性。具体的,本发明实施例中采用超时定时器实现超时监控,发送当前批第一数据包给第二终端之后,需要对发送的每帧数据启动一个超时定时器,用来确保由于干扰等外部因素影响第二终端没有正确接收到设备A发送的数据帧。超时定时器一般设置为5s。
另外,除了超时定时器本发明实施例还结合重发标志位来实现超时监控,第一终端发完每帧数据后,将发送的数据帧添加到缓冲区,启动任一帧的超时定时器后,清空已发送的数据帧的重发标志位,重发标志位包括0和1,其中,0表示未重发,1表示已重发,清空重发标志位是指将重发标志位置0。
确定第二数据包的数据帧序号与当前批第一数据包的数据帧序号匹配成功,发送下一批第一数据包。
需要说明的是,本发明实施例需要判断接收到的第二数据包是否和发送的第一数据包的序号匹配,进行匹配的目的是为了保证蓝牙数据传输的可靠性。具体的,本实施例的序号匹配是指接收到任一个第二数据包后与当前批第一数据包序列中的首个序号进行匹配,若一致则匹配成功,若不一致则匹配失败。比如当前批第一数据包序列依次为1.2.3.4。然后,第二数据包的序号为1,则第一终端执行匹配时,序号1与待确认序号1.2.3.4的1一致,因此匹配结果为匹配成功。
本发明实施例提供的数据传输方法通过对接收确认包的超时判断,更好的监控数据传输的时效性,通过将接收到的第二数据包和发送的第一数据包的序号进行匹配,保证数据传输的可靠性。并根据超时判断结果和匹配结果来确认下一批发送的第一数据包,有效提高了数据传输效率。
可以理解的是,方法还包括:
确定第二数据包存在接收超时,发送下一批第一数据包,其中,下一批第一数据包包括接收超时的第二数据包对应的当前批第一数据包。
需要说明的是,若到达超时时间第一终端还未收到第二终端的第二数据包,则重发超时定时器对应的数据帧,并设置已重发标志位为1。比如当前批第一数据包序列依次为1.2.3.4。发送第1帧数据后,在超时时间内未收到任何确认包,则将第1帧数据对应的重发标志位置1,并将第1帧数据囊括进下一批第一数据包中,下一批第一数据包可能还为1.2.3.4。
可以理解的是,方法还包括:
确定第二数据包的数据帧序号与当前批第一数据包的数据帧序号匹配失败,发送下一批第一数据包,其中,下一批第一数据包包括当前批第一数据包中匹配失败的第一数据包。
需要说明的是,序号匹配能够保证数据能够准确接收到,未接收到则需要能检测出来并且重新发送数据。序号匹配是保证确认包在未超时的情况下执行的,比如,在超时定时器时间内,第一终端接收到第二终端的第二数据包且第二数据包的序号3,第一数据包的序号序列为1.2.3.4…,由于序号3与待确认序号1.2.3.4…的1不一致,即确认包序号前的数据帧(序号为1和2的帧对应的数据包)匹配失败。则下一批第一数据包包括序号为1和2的帧对应的第一数据包。
可以理解的是,方法还包括:
在确定第二数据包的数据帧序号与当前批第一数据包的数据帧序号匹配失败的情况下,基于重发标志位,确定下一批第一数据包的发送时机。
需要说明的是,在上述实施例中,确认匹配失败的第一数据包的重发标志位是否为1,为1说明匹配失败的数据帧已经重发,则无需立即进行重发。在清除对应的待确认数据帧序号和重发标志位已重发标志后,按照时序发送下一批第一数据包。第一数据包的重发标志位为0,则立即重发第1、2帧数据包,并立即启动1、2帧对应的重发的超时定时器,设置第1、2数据帧已重发标志位为1。因为第二种终端已经确定没有收到数据帧1,2,确认了3.则不需要等待1,2数据帧的超时到达后进行重发,可以立即进行重发。
需要说明的是,发送下一批带第二数据包时,需要清除对应的待确认数据帧序号和重发标志位。
图2示例了本发明实施例提供的数据传输方法的流程示意图,该方法应用于第二终端侧执行数据传输任务,该方法至少包括以下步骤:
步骤201、接收第一终端发送的当前批第一数据包;
步骤202、发送第二数据包给第一终端,其中,第二数据包包括当前批第一数据包中任一个的确收信息,第二数据包用于和当前批第一数据包进行匹配和,确定下一批第一数据包。
本发明实施例的数据传输方法,第二终端依次接收到第一终端发送的多帧第一数据包,然后发送对应的第二数据包供第一终端进行匹配确认,然后接收匹配确认后第一终端发送的下一批第一数据包。本发明实施例的第一终端和第二终端以批为单位进行收发数据,大大提升了数据传输的速度。
可以理解的是,当前批第一数据包的容量基于第一终端与第二终端的单帧容量的协商结果和缓存区容量的协商结果确定,其中,第一数据包容量不小于缓冲区容量协商结果。
需要说明的是,确定单帧容量协商结果和缓冲区容量协商结果之后,需要对当前批发送的第一数据包总容量与协商得到的缓冲区容量进行比较,以检验协商结果是否合适。
本发明实施例提供的数据传输方法通过在第一终端和第二终端之间建立BLE蓝牙无线链路后,进行mtu值、缓存区大小的数据交换,然后通过mtu以及缓存区大小计算每帧数据包的大小,最后启动数据传输任务,依次发送数据包,等待接收方的确认包后,接着发送后续的数据包。通过第一终端与第二终端的协商结果能够确定当前批第一数据包能够传输的数据量与缓冲区容量的关系,令第一数据包容量不小于缓冲区容量协商结果,从而尽可能使得每次当前批数据包对应的数据量能够把缓冲区数据发完。
可以理解的是,第一终端与第二终端的单帧容量的协商结果和缓存区容量的协商结果,基于第一终端自身与第二终端的单帧最大容量和缓存区最小容量确定。
需要说明的是,确定第一数据包容量不小于缓冲区容量协商结果有多种实现方式,而本发明实施例,根据第一终端和第二终端的单帧最大容量和缓存区最小容量能够保证在发送数据量最多的情况下最大程度的利用缓存区的容量,有利于提升通信带宽利用率。
图3是本发明实施例提供的第一终端和第二终端的交互示意图,结合图3可以理解,第一终端和第二终端建立BLE蓝牙无线链路后,进行mtu值、缓存区大小的数据交换,然后通过mtu以及缓存区大小计算每帧数据包的大小,最后启动data_tran_task,依次发送数据包1、数据包2、数据包3和数据包4,等待接收方的确认包1、确认包2、确认包3和确认包4后,接着发送后续的数据包n、n+1并接收对应的确认包n、n+1。
图4是本发明实施例提供的蓝牙数据传输方法流程示意图,结合图4可以理解,该方法包括如下步骤:
步骤1、发送方与接收方建立蓝牙连接。
步骤2、双方交换mtu值。
步骤3、获取接收方的缓冲区大小。
步骤4、判断双方协商值是否满足“mtu*4≥buffer”;
若满足“mtu*4≥buffer”,则启动data_tran_task;
若不满足“mtu*4≥buffer”,则重新协商mtu值至满足。
步骤5、依次发送1~4帧数据给接收方,且将发送的数据帧添加到缓冲区,并依次记录发送的数据帧序号为待确认数据帧序号。
步骤6、设置超时定时器,并启动定时器,清空重发标志位。
步骤7、判断超时时间内是否收到确认包;
若超时时间内未收到确认包,则重发数据帧数据,重启超时定时器,并将重发标志位置1;
若超时时间内收到确认包且与发送包序列一致,则发送下一批数据包更新确认包序列,清空已重发标志;
若超时时间内收到确认包且与发送包序列不一致,则对比判断确认包位置,读取位置前的数据包是否已重发;
若位置前的数据包未重发,则重发位置前的数据帧,重启超时定时器,并将重发标志位置1;
若位置前的数据包已重发,则发送下一批数据包更新确认包序列,清空已重发标志。
后续的数据帧发送重复步骤5~7。
本发明实施例的蓝牙数据传输方法通过进行mtu值、缓存区大小的数据交换协商计算每帧数据包的大小,限定了第一数据包大小与缓冲区容量的关系,为了在连续发送一批数据后,能够把缓存区数据发完。然后启动数据传输的Task,依次发送数据包1~4,等待接收方的确认包后,结合接着发送后续的数据包。并通过设置超市定时器和重发标志位等方法提升了蓝牙传输的时效性。可以明显提升了产品数据传输的性能,给用户带来了良好产品体验。
下面对本发明提供的数据传输装置进行描述,下文描述的数据传输装置与上文描述的第一终端侧的数据传输方法可相互对应参照。如图5所示,本发明实施例还公开了一种数据传输装置,包括:
第一发送模块501,用于发送当前批第一数据包给第二终端。
第一接收模块502,用于接收第二终端发送的第二数据包,第二数据包包括当前批第一数据包中任一个的确收信息;
匹配模块503,用于基于第二数据包和当前批第一数据包的匹配结果发送下一批第一数据包。
本发明实施例提供的数据传输装置针对现有蓝牙传输时效性受限、串行通讯以及通信带宽利用率较低的问题,通过分批发送第一数据包,实现了数据传输的速度的提升,通过第二数据包和当前批第一数据包的匹配保证了可靠性传输,在发送一帧数据后,无需等待第二终端的应答即可继续发送下一数据包,提高了数据的时效性,避免了第一终端较长时间处于等待阶段。
可以理解的是,第一发送模块501发送当前批第一数据包给第二终端之前,还包括:
基于第一终端与第二终端的单帧容量和缓存区容量,确定单帧容量协商结果和缓冲区容量协商结果。
基于单帧容量协商结果和缓冲区容量协商结果确定当前批第一数据包容量,其中,第一数据包容量不小于缓冲区容量协商结果。
可以理解的是,基于第一终端与第二终端的单帧容量和缓存区容量,确定单帧容量协商结果和缓冲区容量协商结果,包括:
基于自身与第二终端的单帧最大容量和缓存区最小容量,确定单帧容量协商结果和缓冲区容量协商结果。
可以理解的是,匹配模块503中基于第二数据包和当前批第一数据包的匹配结果发送下一批第一数据包,包括:
确定第二数据包的接收未超时,对第二数据包的数据帧序号与当前批第一数据包的数据帧序号进行匹配。
确定第二数据包的数据帧序号与当前批第一数据包的数据帧序号匹配成功,发送下一批第一数据包。
可以理解的是,匹配模块503还包括:
确定第二数据包存在接收超时,发送下一批第一数据包,其中,下一批第一数据包包括接收超时的第二数据包对应的当前批第一数据包。
可以理解的是,匹配模块503还包括:
确定第二数据包的数据帧序号与当前批第一数据包的数据帧序号匹配失败,发送下一批第一数据包,其中,下一批第一数据包包括当前批第一数据包中匹配失败的第一数据包。
下面对本发明提供的数据传输装置进行描述,下文描述的数据传输装置与上文描述的第二终端侧的数据传输方法可相互对应参照。如图6所示,本发明实施例还公开了一种数据传输装置,包括:
第二接收模块601,用于接收第一终端发送的当前批第一数据包。
第二发送模块602,用于发送第二数据包给第一终端,其中,第二数据包包括当前批第一数据包中任一个的确收信息,第二数据包用于和当前批第一数据包进行匹配和,确定下一批第一数据包。
本发明实施例提供的数据传输装置针对现有蓝牙传输时效性受限、串行通讯以及通信带宽利用率较低的问题,通过分批发送第一数据包,实现了数据传输的速度的提升,通过第二数据包和当前批第一数据包的匹配保证了可靠性传输,在发送一帧数据后,无需等待第二终端的应答即可继续发送下一数据包,提高了数据的时效性,避免了第一终端较长时间处于等待阶段。
可以理解的是,第二接收模块601中当前批第一数据包的容量基于第一终端与第二终端的单帧容量的协商结果和缓存区容量的协商结果确定,其中,第一数据包容量不小于缓冲区容量协商结果。
可以理解的是,第二接收模块601中第一终端与第二终端的单帧容量的协商结果和缓存区容量的协商结果,基于第一终端自身与第二终端的单帧最大容量和缓存区最小容量确定。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行如下方法:
发送当前批第一数据包给第二终端。
接收第二终端发送的第二数据包,第二数据包包括当前批第一数据包中任一个的确收信息。
基于第二数据包和当前批第一数据包的匹配结果发送下一批第一数据包。
或是,执行如下方法:
接收第一终端发送的当前批第一数据包。
发送第二数据包给第一终端,其中,第二数据包包括当前批第一数据包中任一个的确收信息,第二数据包用于和当前批第一数据包进行匹配和,确定下一批第一数据包。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例公开一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:
发送当前批第一数据包给第二终端。
接收第二终端发送的第二数据包,第二数据包包括当前批第一数据包中任一个的确收信息。
基于第二数据包和当前批第一数据包的匹配结果发送下一批第一数据包。
或是,执行如下方法:
接收第一终端发送的当前批第一数据包。
发送第二数据包给第一终端,其中,第二数据包包括当前批第一数据包中任一个的确收信息,第二数据包用于和当前批第一数据包进行匹配和,确定下一批第一数据包。
又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:
发送当前批第一数据包给第二终端。
接收第二终端发送的第二数据包,第二数据包包括当前批第一数据包中任一个的确收信息。
基于第二数据包和当前批第一数据包的匹配结果发送下一批第一数据包。
或是,执行如下方法:
接收第一终端发送的当前批第一数据包。
发送第二数据包给第一终端,其中,第二数据包包括当前批第一数据包中任一个的确收信息,第二数据包用于和当前批第一数据包进行匹配和,确定下一批第一数据包。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是,以上实施方式仅用于说明本发明,而非对本发明的限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行各种组合、修改或者等同替换,都不脱离本发明技术方案的精神和范围,均应涵盖在本发明的范围中。
Claims (14)
1.一种数据传输方法,其特征在于,包括:
发送当前批第一数据包给第二终端;
接收所述第二终端发送的第二数据包,所述第二数据包包括任一个所述第一数据包的确收信息;
基于所述第二数据包和所述当前批第一数据包的匹配结果发送下一批第一数据包。
2.根据权利要求1所述的数据传输方法,其特征在于,所述发送当前批第一数据包给第二终端之前,还包括:
基于第一终端与第二终端的单帧容量和缓存区容量,确定单帧容量协商结果和缓冲区容量协商结果;
基于单帧容量协商结果和缓冲区容量协商结果确定所述当前批第一数据包容量,其中,所述第一数据包容量不小于所述缓冲区容量协商结果。
3.根据权利要求2所述的数据传输方法,其特征在于,所述基于第一终端与第二终端的单帧容量和缓存区容量,确定单帧容量协商结果和缓冲区容量协商结果,包括:
基于所述第一终端与第二终端的单帧最大容量和缓存区最小容量,确定单帧容量协商结果和缓冲区容量协商结果。
4.根据权利要求1至3任一所述的数据传输方法,其特征在于,所述基于所述第二数据包和所述当前批第一数据包的匹配结果发送下一批第一数据包,包括:
确定所述第二数据包的接收未超时,对所述第二数据包的数据帧序号与所述当前批第一数据包的数据帧序号进行匹配;
确定所述第二数据包的数据帧序号与所述当前批第一数据包的数据帧序号匹配成功,发送下一批第一数据包。
5.根据权利要求4所述的数据传输方法,其特征在于,所述方法还包括:
确定所述第二数据包接收超时,发送下一批第一数据包,其中,所述下一批第一数据包包括接收超时的第二数据包对应的当前批第一数据包。
6.根据权利要求4所述的数据传输方法,其特征在于,所述方法还包括:
确定所述第二数据包的数据帧序号与所述当前批第一数据包的数据帧序号匹配失败,发送下一批第一数据包,其中,所述下一批第一数据包包括当前批第一数据包中匹配失败的第一数据包。
7.一种数据传输方法,其特征在于,包括:
接收第一终端发送的当前批第一数据包;
发送第二数据包给所述第一终端,其中,所述第二数据包包括任一个所述第一数据包的确收信息,所述第二数据包用于和所述当前批第一数据包进行匹配和,确定下一批第一数据包。
8.根据权利要求7所述的数据传输方法,其特征在于,所述当前批第一数据包的容量基于第一终端与第二终端的单帧容量的协商结果和缓存区容量的协商结果确定,其中,所述第一数据包容量不小于所述缓冲区容量协商结果。
9.根据权利要求8所述的数据传输方法,其特征在于,所述第一终端与第二终端的单帧容量的协商结果和缓存区容量的协商结果,基于第一终端自身与第二终端的单帧最大容量和缓存区最小容量确定。
10.一种数据传输装置,其特征在于,包括:
第一发送模块,用于发送当前批第一数据包给第二终端;
第一接收模块,用于接收所述第二终端发送的第二数据包,所述第二数据包包括任一个所述第一数据包的确收信息;
匹配模块,用于基于所述第二数据包和所述当前批第一数据包的匹配结果发送下一批第一数据包。
11.一种数据传输装置,其特征在于,包括:
第二接收模块,用于接收第一终端发送的当前批第一数据包;
第二发送模块,用于发送第二数据包给所述第一终端,其中,所述第二数据包包括任一个所述第一数据包的确收信息,所述第二数据包用于和所述第一终端发送的第一数据包进行匹配和,确定下一批第一数据包。
12.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至9任一项所述数据传输方法。
13.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至9任一项所述数据传输方法。
14.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210709223.XA CN115038115A (zh) | 2022-06-21 | 2022-06-21 | 数据传输方法、装置、电子设备、存储介质和产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210709223.XA CN115038115A (zh) | 2022-06-21 | 2022-06-21 | 数据传输方法、装置、电子设备、存储介质和产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115038115A true CN115038115A (zh) | 2022-09-09 |
Family
ID=83126904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210709223.XA Pending CN115038115A (zh) | 2022-06-21 | 2022-06-21 | 数据传输方法、装置、电子设备、存储介质和产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115038115A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117527151A (zh) * | 2023-12-29 | 2024-02-06 | 合肥奎芯集成电路设计有限公司 | 基于ucie的数据重传方法 |
-
2022
- 2022-06-21 CN CN202210709223.XA patent/CN115038115A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117527151A (zh) * | 2023-12-29 | 2024-02-06 | 合肥奎芯集成电路设计有限公司 | 基于ucie的数据重传方法 |
CN117527151B (zh) * | 2023-12-29 | 2024-03-26 | 合肥奎芯集成电路设计有限公司 | 基于ucie的数据重传方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5481562A (en) | Multi-mode modem and data transmission method | |
KR100528676B1 (ko) | 무선 통신 시스템에 있어서의 무선 링크 제어 리셋 또는재설정 후에 타이머들을 취급하는 방법 | |
CN111224999A (zh) | 一种传输协议切换方法、装置、设备及存储介质 | |
RU2701523C1 (ru) | Система и способ обеспечения синхронизации в передачах в режиме без соединения | |
CN110677200A (zh) | 数据传输方法和装置 | |
CN105242975A (zh) | 一种消息传输的方法和消息中间件 | |
KR100714675B1 (ko) | 데이터 프레임 재전송 방법 및 상기 방법을 사용하는네트워크 장치 | |
CN103999394B (zh) | 数据重传、反馈方法,以及相应的装置 | |
CN115038115A (zh) | 数据传输方法、装置、电子设备、存储介质和产品 | |
US7995517B2 (en) | System and method for transmitting units of messages in a mobile communication system | |
US20230353685A1 (en) | Device and method for recovering lost information in wireless communication system | |
CN109428684A (zh) | 一种数据传输方法、rlc实体及pdcp实体 | |
CN112039955A (zh) | 一种文件数据传输方法及系统 | |
CN103312753A (zh) | 一种物联网通信方法和装置 | |
JPH1070523A (ja) | パケット伝送方法及び装置 | |
JPH0514546A (ja) | 通信における帯域管理方式 | |
CN108540966B (zh) | 一种蓝牙通信的方法及通信装置 | |
CN113573252A (zh) | 数据传输方法、系统、芯片、电子设备及存储介质 | |
CN101594596B (zh) | 短消息存储器可用通告消息的处理方法以及移动终端 | |
CN115001541B (zh) | 数据传输方法、装置、电子设备、存储介质和产品 | |
JP2004080413A (ja) | 通信システム、通信装置及び通信方法 | |
KR200430084Y1 (ko) | 메시지 전송를 위한 휴대형 단말기 | |
JP2005117301A (ja) | 通信装置 | |
CN117459612A (zh) | 基于有限反馈的报文传输方法、装置、电子设备和存储介质 | |
CN114363965A (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 |