CN111385064B - 数据传输方法、装置、电子设备及存储介质 - Google Patents
数据传输方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111385064B CN111385064B CN202010248800.0A CN202010248800A CN111385064B CN 111385064 B CN111385064 B CN 111385064B CN 202010248800 A CN202010248800 A CN 202010248800A CN 111385064 B CN111385064 B CN 111385064B
- Authority
- CN
- China
- Prior art keywords
- data
- electronic device
- sub
- amount
- failure
- 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
Images
Classifications
-
- 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
-
- 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
- H04L1/1614—Details of the supervisory signal using bitmaps
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种数据传输方法、装置、电子设备及介质,其中方法包括:第一电子设备接收来自第二电子设备的第一数据包,所述第一数据包包括至少一个子数据;确定所述至少一个子数据中接收失败的第一数量个子数据和所述第一数量个子数据的失败原因;根据所述失败原因生成响应数据;向所述第二电子设备发送所述响应数据。实施本申请实施例第二电子设备可根据第一电子设备的响应数据快速确定数据传输的问题,进而便于第一电子设备和第二电子设备解决数据传输的问题,提升电子设备之间数据传输的成功率和数据传输效率。
Description
技术领域
本发明涉及互联网技术领域,具体涉及通信技术领域,尤其涉及一种数据传输方法、装置、电子设备及存储介质。
背景技术
随着电子技术的进步,互联网技术的发展,网络通信成为大众生活中不可缺少的角色。数据传输方式可以分为有线传输和无线传输,早期无线传输数据传输速率较慢,但随着技术的进步,无线传输速率显著提升,已经可以满足大众的日常使用需求,且无线传输不需要布线等,使用方便;但电子设备之间在无线传输过程中可能会出现数据传输失败的情况,当前电子设备之间不能及时的确定数据传输失败的原因,导致无法快速的制定合适的数据传输策略,使得数据传输效率降低。
发明内容
本发明实施例提供了一种数据传输方法、装置、电子设备及计算机存储介质,有利于电子设备之间快速的定位数据传输过程中的问题,进而有利于提升电子设备之间的数据传输效率。
第一方面,本发明实施例提供了一种数据传输方法,应用于第一电子设备,该数据传输方法包括:
接收来自第二电子设备的第一数据包,所述第一数据包包括至少一个子数据;
确定所述至少一个子数据中接收失败的第一数量个子数据和所述第一数量个子数据的失败原因;
根据所述失败原因生成响应数据;
向所述第二电子设备发送所述响应数据。
在一种可能的实现方式中,所述第一数据包包括一组聚合帧,所述至少一个子数据为所述一组聚合帧中的协议数据单元,所述确定所述至少一个子数据中接收失败的第一数量个子数据和所述第一数量个子数据的失败原因,包括:
校验所述一组聚合帧中的每个所述协议数据单元,得到校验失败的第一数量个协议数据单元;
获取所述第一数量个协议数据单元中每个协议数据单元的所述失败原因。
在一种可能的实现方式中,所述第一电子设备包括物理层和媒体接入控制层,所述失败原因包括以下至少一种:
所述媒体接入控制层接收到的协议数据单元错误;
所述媒体接入控制层的缓存不足导致协议数据单元丢失;
其他原因导致所述媒体接入控制层丢弃协议数据单元。
在一种可能的实现方式中,所述根据所述失败原因生成响应数据,包括:
以所述失败原因为查询标识,查询预设的数据库,获取所述失败原因对应的编码数据,所述预设的数据库包括失败原因和编码之间的对应关系;
在响应数据帧的预设区域填充所述编码数据;
根据所述响应数据帧生成所述响应数据。
在一种可能的实现方式中,所述根据所述响应数据帧生成所述响应数据之前,所述方法还包括:
确定所述至少一个子数据中所述第一电子设备接收到的第二数量个子数据,所述第一数量个子数据和所述第二数量个子数据构成所述至少一个子数据;
在所述响应数据帧的位图区域生成所述第二数量个子数据的确认信息,所述确认信息用于表示所述第一电子设备已接收到所述第二数量个子数据。
在一种可能的实现方式中,所述根据所述失败原因生成响应数据,包括:
确定所述第一数据包的第一优先级;
获取所述媒体接入控制层中每个数据的优先级;
根据所述每个数据的优先级确定低于所述第一优先级的第三数量个数据;
获取所述第三数量个数据所占用的第一缓存量;
确定所述第一数量个子数据对应的预估缓存量;
若所述第一缓存量大于所述预估缓存量,则生成第一传输策略,所述第一传输策略用于指示所述第二电子设备在预设时间点发送所述第一数量个子数据,所述预设时间点在当前时间点之后;
根据所述第一传输策略生成所述响应数据。
第二方面,本发明实施例提供了另一种数据传输方法,应用于第二电子设备,所述方法包括:
向第一电子设备发送第一数据包,所述第一数据包包括至少一个子数据;
接收所述第一电子设备发送的针对所述第一数据包的响应数据,所述响应数据包括第一数量个子数据的失败原因,所述第一数量个子数据是所述第一电子设备接收失败的子数据,所述第一数量个子数据属于所述至少一个子数据。
第三方面,本发明实施例提供了一种数据传输装置,应用于第一电子设备,该数据传输装置包括:
通信单元,用于接收来自第二电子设备的第一数据包,所述第一数据包包括至少一个子数据;
处理单元,用于确定所述至少一个子数据中接收失败的第一数量个子数据和所述第一数量个子数据的失败原因;以及用于根据所述失败原因生成响应数据;
所述通信单元,还用于向所述第二电子设备发送所述响应数据。
第四方面,本发明实施例提供了另一种数据传输装置,应用于第二电子设备,该数据传输装置包括:
通信单元,用于向第一电子设备发送第一数据包,所述第一数据包包括至少一个子数据;以及用于接收所述第一电子设备发送的针对所述第一数据包的响应数据,所述响应数据包括第一数量个子数据的失败原因,所述第一数量个子数据是所述第一电子设备接收失败的子数据,所述第一数量个子数据属于所述至少一个子数据。
第五方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面或第二方面的任一方法中的步骤的指令。
第六方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面或第二方面的任一方法中所描述的部分或全部步骤。
第七方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面或第二方面的任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
可以看出,本发明实施例中,首先,第一电子设备接收来自第二电子设备的第一数据包,第一数据包包括至少一个子数据;确定至少一个子数据中接收失败的第一数量个子数据和第一数量个子数据的失败原因;根据失败原因生成响应数据;向第二电子设备发送响应数据。可见,本发明实施例中,第一电子设备可确定出接收失败的子数据和失败原因,并根据失败原因生成响应数据,使得第二电子设备可根据失败原因确定出数据传输过程中的问题,进而便于第一电子设备和第二电子设备解决数据传输过程中的问题,实现数据的传输,提升了数据传输的成功率和数据传输的可靠性,进而提升了电子设备之间的数据传输效率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据传输的架构示意图;
图2A是本发明实施例提供的一种数据传输方法的流程示意图;
图2B为本发明实施例提供的一种聚合帧的示意图;
图2C是本发明实施例提供的一种BA帧的示意图;
图3是本发明另一实施例提供的一种数据传输方法的流程示意图;
图4是本发明实施例提供的一种数据传输的交互流程示意图;
图5是本发明实施例提供的一种数据传输装置的结构示意图;
图6是本发明实施例提供的另一种数据传输装置的结构示意图;
图7是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1是本发明实施例提供的一种数据传输的架构示意图。图1中包括第一电子设备和第二电子设备,第一电子设备和第二电子设备均包括媒体接入控制(mediaaccess control,MAC)层和物理层;其中MAC层可以与物理层进行数据交互;MAC层包括至少一个缓冲寄存器(Buffer);在第二电子设备向第一电子设备传输数据时,数据首先由第二电子设备的Buffer发送至第二电子设备的物理层,再由第二电子设备的物理层将数据发送至第一电子设备的物理层;第一电子设备的物理层再将数据发送至第一电子设备的Buffer中,供第一电子设备进行解析和处理;但在数据传输的过程中,存在第二电子设备向第一电子设备发送数据包失败的情况;具体原因可以包括:第一电子设备的物理层没有接收到数据包,或者物理层接收到数据包但是校验失败;物理层接收到正确的数据包,物理层向MAC层发送数据包,但是由于MAC层缺少Buffer导致没有存储数据的空间,进而导致数据包的丢失;物理层在接收到数据包后,MAC接收失败的原因还包括:MAC层接收到的来自物理层的数据包是错误的;其他MAC层的原因导致数据包丢弃。第一电子设备的MAC层在接收到物理层发送的数据包后,第一电子设备可确定出数据包中接收到的数据和接收失败的数据;并记录接收失败的数据的失败原因;之后第一电子设备根据失败原因生成响应数据帧,进而根据响应数据帧生成响应数据包;响应数据包首先由第一电子设备的MAC层向第一电子设备的物理层发送,之后第一电子设备的物理层向第二电子设备的物理层发送响应数据包,之后第二电子设备的物理层将响应数据包发送给第二电子设备的MAC层,并存储至第二电子设备的MAC层的Buffer中,第二电子设备针对响应数据包进行解析和处理确定出第一电子设备接收失败的数据以及失败原因,进而确定出数据传输过程中的问题。
需要说明的是,本发明实施例中的电子设备可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(User Equipment,UE),移动台(Mobile Station,MS),终端设备(terminal device)等等。
基于上述的描述,本发明实施例提出一种数据传输方法,该数据传输方法可以由第一电子设备执行。请参见图2A,该数据传输方法可包括以下步骤S201-S205:
S201,第一电子设备接收来自第二电子设备的第一数据包,第一数据包包括至少一个子数据。
具体的,第一数据包可以包括一组聚合帧;该组聚合帧共享一个物理层帧头,及该组聚合帧拥有一个物理层会聚协议(Physical Layer Convergence Protocol,PLCP);且当第一数据包包括一组聚合帧的情况下,至少一个子数据为该组聚合帧中的至少一个协议数据单元(Protocol Data Unit,PDU);具体的至少一个协议数据单元可以是MAC协议数据单元(MAC Protocol Data Unit,MPDU),;请参阅图2B,图2B为本发明实施例提供的一种聚合帧的示意图;其中包括物理层头部,至少一个MPDU,且在每个MPDU之前还包括分隔符,在每个MPDU之后包括填充区域;其中每个MPDU又具体包括MAC头部,数据区域,和帧校验序列(Frame Check Sequence,FCS)。
需要说明的是,本发明实施例的说明书和权利要求书中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
S202,第一电子设备确定至少一个子数据中接收失败的第一数量个子数据和第一数量个子数据的失败原因。
其中,第一电子设备可以针对每个子数据进行单独的校验,进而确定出每个子数据是否接收正常;同时,在接收不正常的情况下,第一电子设备可记录接收失败的失败原因。
S203,第一电子设备根据失败原因生成响应数据。
具体的,响应数据可以包括块确认字符(Block Acknowledge character,BlockACK,BA)帧,第一电子设备可在BA帧的预设区域存储失败原因。
S204,第一电子设备向第二电子设备发送响应数据。
可选的,第一电子设备向第二电子设备发送响应数据之后,还包括:第三电子设备通过空中接口获取响应数据,根据响应数据确定出第一电子设备接收子数据的失败原因;其中,第三电子设备具有通过空中接口获取数据包的能力。可见,在具体实施场景中,用户(可以是网络维护人员)可通过第三电子设备抓取响应数据,进而确定出第一电子设备的接收失败的失败原因;使得用户可快速定位网络传输过程中的问题的,以解决网络网络传输过程中的问题。
可以看出,本发明实施例中,首先,第一电子设备接收来自第二电子设备的第一数据包,第一数据包包括至少一个子数据;确定至少一个子数据中接收失败的第一数量个子数据和第一数量个子数据的失败原因;根据失败原因生成响应数据;向第二电子设备发送响应数据。可见,本发明实施例中,第一电子设备可确定出接收失败的子数据和失败原因,并根据失败原因生成响应数据,使得第二电子设备可根据失败原因确定出数据传输过程中的问题,进而便于第一电子设备和第二电子设备解决数据传输过程中的问题,实现第一电子设备和第二电子设备之间的数据传输,提升了数据传输的成功率和数据传输的可靠性,进而提升了电子设备之间的数据传输效率。
在一种可能的实施方式中,第一数据包包括一组聚合帧,至少一个子数据为一组聚合帧中的协议数据单元,第一电子设备确定至少一个子数据中接收失败的第一数量个子数据和第一数量个子数据的失败原因,包括:第一电子设备校验一组聚合帧中的每个协议数据单元,得到校验失败的第一数量个协议数据单元;获取第一数量个协议数据单元中每个协议数据单元的失败原因。
其中,如图1所示,第一电子设备包括MAC层和物理层;第一数据包在到达MAC层时,第一电子设备可校验第一数据包中的协议数据单元是否正常,不正常则确定该数据协议数据单元接收失败,记录该不正常的协议数据单元接收失败的失败原因;协议数据单元不正常可以具体表现在协议数据单元的部分数据或全部数据丢失。具体的,第二电子设备向第一电子设备发送第一数据包,包括一组聚合帧,第一电子设备的物理层接收到一组聚合帧,第一电子设备的物理层针对一组聚合帧中的每个协议数据单元进行记录,确定出当前接收到的N个协议数据单元,N为正整数;之后,第一电子设备的物理层向MAC层发送N个协议数据单元,若MAC层中的Buffer空间不足,导致N个协议数据单元中的M个协议数据单元丢失,则确定M个协议数据单元的失败原因为MAC层的缓存不足导致协议数据单元丢失,此处M等于上述实施方式中的第一数量,M为正整数,且M≤N;若MAC层中的Buffer空间充足,则N个协议数据单元存储至Buffer中,第一电子设备针对N个协议数据单元进行校验,若校验N个协议数据单元中的K个协议数据单元的数据错误,则确定K个协议数据单元的失败原因为MAC层接收到的协议数据单元错误,此处K等于上述实施方式中的第一数量,K为正整数,且K≤N;若MAC层中的Buffer空间充足,但N个协议数据单元中Q个协议数据单元丢失,则确定Q个协议数据单元的失败原因为其他原因导致MAC层丢弃协议数据单元,此处Q等于上述实施方式中的第一数量,Q为正整数,且Q≤N。需要说明的是,第一电子设备接收协议数据单元的失败原因包括上述失败原因中的至少一种;及第一电子设备接收到一组聚合帧之后,接收失败的协议数据单元由至少一种失败原因所导致。如上述示例中,第一电子设备接收到一组聚合帧,确定出该组聚合帧包括N个协议数据单元,若N个协议数据单元中共P个协议数据单元接收失败,则P=M+K+Q。
可见,本示例中,第一电子设备可针对聚合帧中的协议数据单元进行校验,确定出校验失败的协议数据单元,进而确定出失败原因。
在一种可能的实施方式中,第一电子设备包括物理层和媒体接入控制层,失败原因包括以下至少一种:媒体接入控制层接收到的协议数据单元错误;媒体接入控制层的缓存不足导致协议数据单元丢失;其他原因导致媒体接入控制层丢弃协议数据单元。
在一种可能的实施方式中,根据失败原因生成响应数据,包括:以失败原因为查询标识,查询预设的数据库,获取失败原因对应的编码数据,预设的数据库包括失败原因和编码之间的对应关系;在响应数据帧的预设区域填充编码数据;根据响应数据帧生成响应数据。
其中,根据响应数据帧生成响应数据,可理解为响应数据中包括响应数据帧,在具体实施环境中,开发人员可根据实际需求在响应数据中添加其他数据信息。
其中,响应数据帧具体可以是确认字符(Block Acknowledge character,BlockACK,BA)帧,第一电子设备在获取到失败原因对应的编码数据之后,可在BA帧中的预设区域填充失败原因对应的编码数据,使得第一电子设备向第二电子设备发送响应数据之后,第二电子设备中可根据失败原因对应的编码数据确定出第一电子设备接收协议数据单元失败的失败原因。
具体的,请参阅图2C,图2C是本发明实施例提供的一种BA帧的示意图,其中,BA帧包括以下区域:Frame Control,Duration,RA,TA,BA Control,BA information,FCS;其中,Frame Control,Duration,RA和TA构成了MAC头部;其中,BA Control包括以下区域:BA AckPolicy,Multi-TID,Compressed Bitmap,GCR Mode,Reserved,TIDINFO;其中,Reserved区域及为上述实施方式中说明的预留区域,该区域用于填充失败原因对应的编码数据;其中,BA information包括以下区域:Block ACK Starting Sequence Control,Block ACKBitmap;其中Block ACK Bitmap区域用于存储确认编码,确认编码用于指示一组聚合帧中第一电子设备成功接收到的协议数据单元。
可选的,Frame Control占据2 Octets,Duration占据2 Octets,RA占据6 Octets,TA占据6 Octets,BA Control占据2 Octets,BA information占据的Octets可灵活改变,FCS占据4 Octets;BA Control中:BA Ack Policy占据1Bit,Multi-TID占据1Bit,Compressed Bitmap占据1Bit,GCR Mode占据2Bits,Reserved占据7Bits,TID INFO占据4Bits;BA information中Block ACK Starting Sequence Control占据2 Octets,BlockACK Bitmap占据8 Octets;其中,Octet是指因特网标准使用八位组;Bit指的是比特,二进制单位,及量度信息的最小单位。
可选的,Reserved区域的字段可以由以下编码方式进行编码:Reserved区域包括至少3个比特位,其中的三个比特位分别为第一比特位,第二比特位和第三比特位;若第一比特位等于1,则表示媒体接入控制层接收到的协议数据单元错误;若第二比特位等于1,则表示媒体接入控制层的缓存不足导致协议数据单元丢失;若第三比特位等于1,则表示其他原因导致媒体接入控制层丢弃协议数据单元;可见,采用该种编码方式在Reserved区域同时录入多种失败原因;使得最终生成的响应数据中包括每一种接收协议数据单元失败的原因。
可选的,Reserved区域的字段还可以由以下编码方式进行编码:Reserved区域包括至少3个比特位,其中的三个比特位分别为第一比特位,第二比特位和第三比特位;第一电子设备在确定出接收失败的协议数据单元和至少一个失败原因后,确定出至少一个失败原因中的第一失败原因,具体的,确定第一失败原因的方法包括:(1)在全部接收失败的协议数据单元中,确定导致协议数据单元接收失败的数量最多的原因为第一失败原因,及第一失败原因导致的接收失败的协议数据单元的数量最多;(2)获取至少一个失败原因中每个失败原因对应的优先级;根据失败原因对应的优先级确定出至少一个失败原因中优先级最高的失败原因,并确定该失败原因为第一失败原因;(3)判断至少一个失败原因中是否存在系统预设的失败原因;若是,则确定系统预设的失败原因为第一失败原因。确定出第一失败原因之后:确定出第一失败原因对应的数值,并用第一比特位,第二比特位和第三比特位表示该数值;例如,第一比特位,第二比特位和第三比特位表示的数值为1时,说明媒体接入控制层接收到的协议数据单元错误;第一比特位,第二比特位和第三比特位表示的数值为2时,说明媒体接入控制层的缓存不足导致协议数据单元丢失;第一比特位,第二比特位和第三比特位表示的数值为3时,其他原因导致媒体接入控制层丢弃协议数据单元。
可见,本示例中,第一电子设备可根据预设的数据库查询并获取失败原因的编码数据,进而快速的在响应数据帧中填充失败原因对应的编码,有利于提升响应数据帧的生成效率,提升了第一电子设备和第二电子设备之间的数据传输效率。
在一种可能的实施方式中,根据响应数据帧生成响应数据之前,方法还包括:确定至少一个子数据中第一电子设备接收到的第二数量个子数据,第一数量个子数据和第二数量个子数据构成至少一个子数据;在响应数据帧的位图区域生成第二数量个子数据的确认信息,确认信息用于表示第一电子设备已接收到第二数量个子数据。
其中,位图区域及为图2C中Block ACK Bitmap区域。
可见,本示例中,第一电子设备可在响应数据帧中添加成功接收到的协议数据单元的确认信息,便于第二电子设备在接收到响应数据时快速的确定出第一电子设备已经成功接收到的协议数据单元。
在一种可能的实施方式中,根据失败原因生成响应数据,包括:确定第一数据包的第一优先级;获取媒体接入控制层中每个数据的优先级;根据每个数据的优先级确定低于第一优先级的第三数量个数据;获取第三数量个数据所占用的第一缓存量;确定第一数量个子数据对应的预估缓存量;若第一缓存量大于预估缓存量,则生成第一传输策略,第一传输策略用于指示第二电子设备在预设时间点发送第一数量个子数据,预设时间点在当前时间点之后;根据第一传输策略生成响应数据。
其中,第一电子设备可确定出每个数据所属的应用程序,第一电子设备可获取应用程序与优先级之间的对应关系,进而根据应用程序对应的优先级确定出数据的优先级,例如第一数据为第一应用程序产生的数据,第一应用程序对应的优先级为三级;上述实施方式中第一优先级为二级,优先级由高到低的顺序为:一级,二级,三级……;则第一数据的优先级低于第一优先级。
其中,第一电子设备在生成第一传输策略之后,第一电子设备会在预设时间点之前清理掉第三数量个数据所占用的第一缓存量,使得第一电子设备在预设时间点接收到第二电子设备发送的第一数量个子数据时,可将第一数量个子数据存储至MAC层的Buffer中。其中,预设时间点可以是第一时间点之后的预设时长对应的时间点,第一时间点指的是第一电子设备向第二电子设备发送响应数据的时间点,例如,第一电子设备向第二电子设备发送响应数据的时间点为3:00,则第一时间点为3:00;预设时长为1分钟,则预设时间点为3:01。
可见,本示例中,第一电子设备可根据失败原因和具体情况确定出数据传输策略,并根据数据传输策略生成响应数据,使得第二电子设备可根据数据传输策略向第一电子设备发送接收失败的协议数据单元,提升了第一电子设备和第二电子设备之间的数据传输效率。
请参见图3,图3是本发明实施例提供的另一种数据传输方法的流程示意图,应用于第二电子设备,该数据传输方法可包括以下步骤S301-S302:
S301,第二电子设备向第一电子设备发送第一数据包,第一数据包包括至少一个子数据;
S302,第二电子设备接收第一电子设备发送的针对第一数据包的响应数据,响应数据包括第一数量个子数据的失败原因,第一数量个子数据是第一电子设备接收失败的子数据,第一数量个子数据属于至少一个子数据。
可以看出,本发明实施例中,首先,第二电子设备向第一电子设备发送第一数据包,第一数据包包括至少一个子数据;其次,接收第一电子设备发送的针对第一数据包的响应数据,响应数据包括第一数量个子数据的失败原因,第一数量个子数据是第一电子设备接收失败的子数据,第一数量个子数据属于至少一个子数据。可见,本发明实施例中,第二电子设备在向第一电子设备发送数据包后,可接收第一电子设备发送的响应数据,进而便于根据响应数据定位出数据传输过程中的问题;有利于快速的解决数据传输过程中的问题,进而提升电子设备之间的数据传输效率。
在一种可能的实施方式中,接收第一电子设备发送的针对第一数据包的响应数据之后,方法还包括:第二电子设备根据失败原因生成数据传输策略;根据数据传输策略向第一电子设备发送第二数据包,第二数据包包括第一数量个子数据。
其中,第一电子设备和第二电子设备可预先设置好相同的数据库,该数据库中存储有失败原因和数据传输策略之间的对应关系,进而使得第二电子设备可根据失败原因确定出数据传输策略;同时第一电子设备也可根据失败原因确定数据传输策略,使得第一电子设备可以与第二电子设备在之后进行数据传输时实现良好的兼容,进而针对接收失败的子数据进行高效的重新传输,提升了第一电子设备和第二电子设备之间的数据传输效率。
请参见图4,图4是本发明实施例提供的一种数据传输的交互流程示意图,该方法可包括以下步骤S401-S407;
S401,第二电子设备向第一电子设备发送第一数据包,第一数据包包括至少一个子数据;
S402,第一电子设备确定至少一个子数据中接收失败的第一数量个子数据和第一数量个子数据的失败原因;
S403,第一电子设备根据失败原因生成响应数据;
S404,第一电子设备向第二电子设备发送响应数据;
S405,第二电子设备根据失败原因确定数据传输问题;
S406,第二电子设备根据数据传输问题生成数据传输策略;
S407,第二电子设备根据数据传输策略向第一电子设备发送第二数据包,第二数据包包括第一数量个子数据。
可见,本发明实施例中,第一电子设备在数据包中的子数据接收失败的情况下,可确定出接收失败的失败原因,并根据失败原因生成响应数据,将响应数据发送给第二电子设备,使得第二电子设备可根据失败原因快速定位数据传输过程中的问题,有利于解决数据传输过程中的问题,提升了第一电子设备和第二电子设备之间的数据传输效率。
基于上述数据传输方法实施例的描述,本发明实施例还公开了一种数据传输装置,所述数据传输装置可以是运行于电子设备中的一个计算机程序(包括程序代码)。该数据传输装置可以执行图2A所示的方法。请参见图5,所述数据传输装置可以运行如下单元:
通信单元501,用于接收来自第二电子设备的第一数据包,所述第一数据包包括至少一个子数据;
处理单元502,用于确定所述至少一个子数据中接收失败的第一数量个子数据和所述第一数量个子数据的失败原因;以及用于根据所述失败原因生成响应数据;
所述通信单元501,还用于向所述第二电子设备发送所述响应数据。
可以看出,本发明实施例中,首先,第一电子设备接收来自第二电子设备的第一数据包,第一数据包包括至少一个子数据;确定至少一个子数据中接收失败的第一数量个子数据和第一数量个子数据的失败原因;根据失败原因生成响应数据;向第二电子设备发送响应数据。可见,本发明实施例中,第一电子设备可确定出接收失败的子数据和失败原因,并根据失败原因生成响应数据,使得第二电子设备可根据失败原因确定出数据传输过程中的问题,进而便于第一电子设备和第二电子设备解决数据传输过程中的问题,实现第一电子设备和第二电子设备之间的数据传输,提升了数据传输的成功率和数据传输的可靠性,进而提升了电子设备之间的数据传输效率。
在一种可能的实施方式中,所述第一数据包包括一组聚合帧,所述至少一个子数据为所述一组聚合帧中的协议数据单元,处理单元502在用于确定所述至少一个子数据中接收失败的第一数量个子数据和所述第一数量个子数据的失败原因时,具体用于:校验所述一组聚合帧中的每个所述协议数据单元,得到校验失败的第一数量个协议数据单元;获取所述第一数量个协议数据单元中每个协议数据单元的所述失败原因。
在一种可能的实施方式中,所述第一电子设备包括物理层和媒体接入控制层,所述失败原因包括以下至少一种:所述媒体接入控制层接收到的协议数据单元错误;所述媒体接入控制层的缓存不足导致协议数据单元丢失;其他原因导致所述媒体接入控制层丢弃协议数据单元。
在一种可能的实施方式中,处理单元502在用于根据所述失败原因生成响应数据时,具体用于:以所述失败原因为查询标识,查询预设的数据库,获取所述失败原因对应的编码数据,所述预设的数据库包括失败原因和编码之间的对应关系;在响应数据帧的预设区域填充所述编码数据;根据所述响应数据帧生成所述响应数据。
在一种可能的实施方式中,处理单元502在用于根据所述响应数据帧生成所述响应数据之前,还用于:确定所述至少一个子数据中所述第一电子设备接收到的第二数量个子数据,所述第一数量个子数据和所述第二数量个子数据构成所述至少一个子数据;在所述响应数据帧的位图区域生成所述第二数量个子数据的确认信息,所述确认信息用于表示所述第一电子设备已接收到所述第二数量个子数据。
在一种可能的实施方式中,处理单元502在用于根据所述失败原因生成响应数据时,具体用于:确定所述第一数据包的第一优先级;获取所述媒体接入控制层中每个数据的优先级;根据所述每个数据的优先级确定低于所述第一优先级的第三数量个数据;获取所述第三数量个数据所占用的第一缓存量;确定所述第一数量个子数据对应的预估缓存量;若所述第一缓存量大于所述预估缓存量,则生成第一传输策略,所述第一传输策略用于指示所述第二电子设备在预设时间点发送所述第一数量个子数据,所述预设时间点在当前时间点之后;根据所述第一传输策略生成所述响应数据。
本发明实施例还公开了另一种数据传输装置,所述数据传输装置可以是运行于电子设备中的一个计算机程序(包括程序代码)。该数据传输装置可以执行图3所示的方法。请参见图6,所述数据传输装置可以运行如下单元:
通信单元601,用于向第一电子设备发送第一数据包,所述第一数据包包括至少一个子数据;以及用于接收所述第一电子设备发送的针对所述第一数据包的响应数据,所述响应数据包括第一数量个子数据的失败原因,所述第一数量个子数据是所述第一电子设备接收失败的子数据,所述第一数量个子数据属于所述至少一个子数据。
需要说明的是,所述数据传输装置还可以包括处理单元602。
可以看出,本发明实施例中,首先,第二电子设备向第一电子设备发送第一数据包,第一数据包包括至少一个子数据;其次,接收第一电子设备发送的针对第一数据包的响应数据,响应数据包括第一数量个子数据的失败原因,第一数量个子数据是第一电子设备接收失败的子数据,第一数量个子数据属于至少一个子数据。可见,本发明实施例中,第二电子设备在向第一电子设备发送数据包后,可接收第一电子设备发送的响应数据,进而便于根据响应数据定位出数据传输过程中的问题;有利于快速的解决数据传输过程中的问题,进而提升电子设备之间的数据传输效率。
在一种可能的实施方式中,处理单元602在用于接收所述第一电子设备发送的针对所述第一数据包的响应数据之后,具体用于:第二电子设备根据所述失败原因确定数据传输问题;根据所述数据传输问题生成数据传输策略;根据所述数据传输策略向所述第一电子设备发送第二数据包,所述第二数据包包括所述第一数量个子数据。
根据本发明的另一个实施例,图5或图6所示的数据传输装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于数据传输装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2A或图3中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图5或图6中所示的数据传输装置设备,以及来实现本发明实施例的数据传输方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
基于上述方法实施例以及装置实施例的描述,本发明实施例还提供一种电子设备。请参见图7,该电子设备至少包括处理器701、输入设备707、输出设备703以及计算机存储介质704。其中,电子设备内的处理器701、输入设备707、输出设备703以及计算机存储介质704可通过总线或其他方式连接。
计算机存储介质704可以存储在电子设备的存储器中,所述计算机存储介质704用于存储计算机程序,所述计算机程序包括程序指令,所述处理器701用于执行所述计算机存储介质704存储的程序指令。处理器701(或称CPU(Central Processing Unit,中央处理器))是电子设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能;在一个实施例中,本发明实施例所述的处理器701可以用于进行一系列的数据传输处理,包括:接收来自第二电子设备的第一数据包,所述第一数据包包括至少一个子数据;确定所述至少一个子数据中接收失败的第一数量个子数据和所述第一数量个子数据的失败原因;根据所述失败原因生成响应数据;向所述第二电子设备发送所述响应数据。
本发明实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是电子设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括电子设备中的内置存储介质,当然也可以包括电子设备所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了电子设备的操作系统。并且,在该存储空间中还存放了适于被处理器501加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
在一个实施例中,可由处理器701加载并执行计算机存储介质中存放的一条或多条指令,以实现上述有关数据传输实施例中的方法的相应步骤;具体实现中,计算机存储介质中的一条或多条指令由处理器501加载并执行如下步骤:
接收来自第二电子设备的第一数据包,所述第一数据包包括至少一个子数据;
确定所述至少一个子数据中接收失败的第一数量个子数据和所述第一数量个子数据的失败原因;
根据所述失败原因生成响应数据;
向所述第二电子设备发送所述响应数据。
在一种可能的实施方式中,所述第一数据包包括一组聚合帧,所述至少一个子数据为所述一组聚合帧中的协议数据单元,在用于确定所述至少一个子数据中接收失败的第一数量个子数据和所述第一数量个子数据的失败原因时,所述一条或多条指令还可由处理器701加载并具体执行:校验所述一组聚合帧中的每个所述协议数据单元,得到校验失败的第一数量个协议数据单元;获取所述第一数量个协议数据单元中每个协议数据单元的所述失败原因。
在一种可能的实施方式中,所述第一电子设备包括物理层和媒体接入控制层,所述失败原因包括以下至少一种:所述媒体接入控制层接收到的协议数据单元错误;所述媒体接入控制层的缓存不足导致协议数据单元丢失;其他原因导致所述媒体接入控制层丢弃协议数据单元。
在一种可能的实施方式中,在用于根据所述失败原因生成响应数据时,所述一条或多条指令还可由处理器701加载并具体执行:以所述失败原因为查询标识,查询预设的数据库,获取所述失败原因对应的编码数据,所述预设的数据库包括失败原因和编码之间的对应关系;在响应数据帧的预设区域填充所述编码数据;根据所述响应数据帧生成所述响应数据。
在一种可能的实施方式中,在用于根据所述响应数据帧生成所述响应数据之前,所述一条或多条指令还可由处理器701加载并具体执行:确定所述至少一个子数据中所述第一电子设备接收到的第二数量个子数据,所述第一数量个子数据和所述第二数量个子数据构成所述至少一个子数据;在所述响应数据帧的位图区域生成所述第二数量个子数据的确认信息,所述确认信息用于表示所述第一电子设备已接收到所述第二数量个子数据。
在一种可能的实施方式中,在用于根据所述失败原因生成响应数据时,所述一条或多条指令还可由处理器701加载并具体执行:确定所述第一数据包的第一优先级;获取所述媒体接入控制层中每个数据的优先级;根据所述每个数据的优先级确定低于所述第一优先级的第三数量个数据;获取所述第三数量个数据所占用的第一缓存量;确定所述第一数量个子数据对应的预估缓存量;若所述第一缓存量大于所述预估缓存量,则生成第一传输策略,所述第一传输策略用于指示所述第二电子设备在预设时间点发送所述第一数量个子数据,所述预设时间点在当前时间点之后;根据所述第一传输策略生成所述响应数据。
可以看出,本发明实施例中,首先,第一电子设备接收来自第二电子设备的第一数据包,第一数据包包括至少一个子数据;确定至少一个子数据中接收失败的第一数量个子数据和第一数量个子数据的失败原因;根据失败原因生成响应数据;向第二电子设备发送响应数据。可见,本发明实施例中,第一电子设备可确定出接收失败的子数据和失败原因,并根据失败原因生成响应数据,使得第二电子设备可根据失败原因确定出数据传输过程中的问题,进而便于第一电子设备和第二电子设备解决数据传输过程中的问题,实现第一电子设备和第二电子设备之间的数据传输,提升了数据传输的成功率和数据传输的可靠性,进而提升了电子设备之间的数据传输效率。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (6)
1.一种数据传输方法,其特征在于,应用于第一电子设备,所述方法包括:
接收来自第二电子设备的第一数据包,所述第一数据包包括至少一个子数据;
确定所述至少一个子数据中接收失败的第一数量个子数据和所述第一数量个子数据的失败原因;
根据所述失败原因生成响应数据;
其中,所述根据所述失败原因生成响应数据,包括:确定所述第一数据包的第一优先级;获取媒体接入控制层中每个数据的优先级;根据所述每个数据的优先级确定低于所述第一优先级的第三数量个数据;获取所述第三数量个数据所占用的第一缓存量;确定所述第一数量个子数据对应的预估缓存量;若所述第一缓存量大于所述预估缓存量,则生成第一传输策略,所述第一传输策略用于指示所述第二电子设备在预设时间点发送所述第一数量个子数据,所述预设时间点在当前时间点之后;根据所述第一传输策略生成所述响应数据;其中,在生成所述第一传输策略之后,还包括:在所述预设时间点之前清理掉所述第三数量个数据所占用的所述第一缓存量;
向所述第二电子设备发送所述响应数据。
2.根据权利要求1所述的方法,其特征在于,所述第一数据包包括一组聚合帧,所述至少一个子数据为所述一组聚合帧中的协议数据单元,所述确定所述至少一个子数据中接收失败的第一数量个子数据和所述第一数量个子数据的失败原因,包括:
校验所述一组聚合帧中的每个所述协议数据单元,得到校验失败的第一数量个协议数据单元;
获取所述第一数量个协议数据单元中每个协议数据单元的所述失败原因。
3.根据权利要求1或2所述的方法,其特征在于,所述第一电子设备包括物理层和媒体接入控制层,所述失败原因包括以下至少一种:
所述媒体接入控制层接收到的协议数据单元错误;
所述媒体接入控制层的缓存不足导致协议数据单元丢失;
其他原因导致所述媒体接入控制层丢弃协议数据单元。
4.一种数据传输装置,其特征在于,应用于第一电子设备,包括:
通信单元,用于接收来自第二电子设备的第一数据包,所述第一数据包包括至少一个子数据;
处理单元,用于确定所述至少一个子数据中接收失败的第一数量个子数据和所述第一数量个子数据的失败原因;以及用于根据所述失败原因生成响应数据;
其中,所述根据所述失败原因生成响应数据,包括:以及用于确定所述第一数据包的第一优先级;以及用于获取媒体接入控制层中每个数据的优先级;以及用于根据所述每个数据的优先级确定低于所述第一优先级的第三数量个数据;以及用于获取所述第三数量个数据所占用的第一缓存量;以及用于确定所述第一数量个子数据对应的预估缓存量;以及用于若所述第一缓存量大于所述预估缓存量,则生成第一传输策略,所述第一传输策略用于指示所述第二电子设备在预设时间点发送所述第一数量个子数据,所述预设时间点在当前时间点之后;以及用于根据所述第一传输策略生成所述响应数据;其中,在生成所述第一传输策略之后,还包括:在所述预设时间点之前清理掉所述第三数量个数据所占用的所述第一缓存量;
所述通信单元,还用于向所述第二电子设备发送所述响应数据。
5.一种电子设备,包括输入设备和输出设备,其特征在于,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如权利要求1-3任一项所述的数据传输方法。
6.一种计算机存储介质,其特征在于,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如权利要求1-3任一项所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010248800.0A CN111385064B (zh) | 2020-03-31 | 2020-03-31 | 数据传输方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010248800.0A CN111385064B (zh) | 2020-03-31 | 2020-03-31 | 数据传输方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111385064A CN111385064A (zh) | 2020-07-07 |
CN111385064B true CN111385064B (zh) | 2021-01-05 |
Family
ID=71221946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010248800.0A Active CN111385064B (zh) | 2020-03-31 | 2020-03-31 | 数据传输方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111385064B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103686769A (zh) * | 2012-09-12 | 2014-03-26 | 中兴通讯股份有限公司 | 终端设备的业务控制方法及装置 |
CN104202774A (zh) * | 2014-09-18 | 2014-12-10 | 东南大学 | 一种可靠实时的工业无线局域网传输方法 |
CN108768597A (zh) * | 2018-05-31 | 2018-11-06 | 北京邮电大学 | 一种复用harq进程的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101534179A (zh) * | 2008-03-12 | 2009-09-16 | 鼎桥通信技术有限公司 | 一种上行增强专用信道的服务质量控制方法 |
US9191469B2 (en) * | 2013-02-20 | 2015-11-17 | Qualcomm Incorporated | Acknowledgement (ACK) type indication and deferral time determination |
CN106464434B (zh) * | 2014-03-17 | 2020-03-27 | 交互数字专利控股公司 | Ieee 802.11站sta及在其内使用的方法 |
CN104219025B (zh) * | 2014-09-16 | 2018-04-10 | 西安电子科技大学 | Ap下行聚合帧长度和速率的自适应调整系统和方法 |
CN107040356B (zh) * | 2016-02-04 | 2021-01-26 | 中兴通讯股份有限公司 | 无线局域网中协作传输的方法及装置 |
-
2020
- 2020-03-31 CN CN202010248800.0A patent/CN111385064B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103686769A (zh) * | 2012-09-12 | 2014-03-26 | 中兴通讯股份有限公司 | 终端设备的业务控制方法及装置 |
CN104202774A (zh) * | 2014-09-18 | 2014-12-10 | 东南大学 | 一种可靠实时的工业无线局域网传输方法 |
CN108768597A (zh) * | 2018-05-31 | 2018-11-06 | 北京邮电大学 | 一种复用harq进程的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111385064A (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2493104B1 (en) | Header compression data packet transmission method and device based on retransmission mechanism | |
US6301249B1 (en) | Efficient error control for wireless packet transmissions | |
JP3349926B2 (ja) | 受信制御装置、通信制御システム及び通信制御方法 | |
JP4755173B2 (ja) | 後で受信するデータを指示するため更新される圧縮状態レポートを生成する方法及び装置 | |
EP3605908B1 (en) | Method and device for sending feedback information | |
US11290214B2 (en) | Data processing method and device | |
CN106817192A (zh) | 一种错误估计的方法、基站及终端 | |
CN113783662B (zh) | 自适应数据传输方法、装置、计算机设备及可读存储介质 | |
CN108933642B (zh) | 一种基于码块分组的下行重传方法、基站及终端 | |
CN108632326B (zh) | 一种协议数据单元传输数据的方法及装置 | |
US20240322945A1 (en) | Data packet processing method, communication apparatus, and communication system | |
EP2191602B1 (en) | Improved data structure boundary synchronization between a transmitter and receiver | |
CN103999394B (zh) | 数据重传、反馈方法,以及相应的装置 | |
CN113079074A (zh) | 一种基于can总线的协议栈通信方法、装置和存储介质 | |
CN111385064B (zh) | 数据传输方法、装置、电子设备及存储介质 | |
JP5124591B2 (ja) | Ranにおける連続するデータユニットの表示の方法 | |
CN113541874A (zh) | 一种数据传输方法及网络设备 | |
CN109756306B (zh) | 信息传输方法和通信设备 | |
CN114337942B (zh) | 一种报文重传方法、装置及电子设备 | |
CN106888072B (zh) | 数据传输方法及装置 | |
KR100631742B1 (ko) | Ack 프레임 전송 방법 및 장치 | |
JP2020519178A (ja) | データが破損しているかどうかを判断するための方法および装置 | |
CN110191488B (zh) | Volte保障传输的方法、装置及系统 | |
CN1996820B (zh) | 基于双层自动重传请求结构的数据传输方法及装置 | |
CN114500672A (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 |