CN110677871B - 数据发送方法及发送设备、数据接收方法及接收设备 - Google Patents
数据发送方法及发送设备、数据接收方法及接收设备 Download PDFInfo
- Publication number
- CN110677871B CN110677871B CN201810733667.0A CN201810733667A CN110677871B CN 110677871 B CN110677871 B CN 110677871B CN 201810733667 A CN201810733667 A CN 201810733667A CN 110677871 B CN110677871 B CN 110677871B
- Authority
- CN
- China
- Prior art keywords
- mpdu
- backup
- target
- mpdus
- retransmission
- 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/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2592—Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
-
- 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/08—Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
-
- 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1835—Buffer management
-
- 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/189—Transmission or retransmission of more than one copy of a message
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- 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/0231—Traffic management, e.g. flow control or congestion control based on communication conditions
- H04W28/0236—Traffic management, e.g. flow control or congestion control based on communication conditions radio quality, e.g. interference, losses or delay
-
- 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/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
- H04W28/065—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/04—Wireless resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/02—Data link layer protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/10—Small scale networks; Flat hierarchical networks
- H04W84/12—WLAN [Wireless Local Area Networks]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例公开了一种数据发送方法及发送设备、数据接收方法及接收设备,其中数据发送方法应用于发送设备,包括:获取目标介质访问控制协议数据单元MPDU,该目标MPDU是通过对指定业务的IP数据包进行封装处理后得到的,其中,该发送设备与接收设备之间通过WiFi连接;获取与该接收设备之间的重传率;若该重传率大于预设的重传阈值,则生成该目标MPDU的备份MPDU;并将该目标MPDU和该备份MPDU均发送给该接收设备。针对指定业务,本申请通过备份多发的方式可以降低目标MPDU在WiFi段发生单次重传的概率,从而降低目标MPDU在WiFi段的传输时延。
Description
技术领域
本发明涉及数据传输技术领域,尤其涉及一种数据发送方法及发送设备、数据接收方法及接收设备。
背景技术
无线保真(Wireless Fidelity,WiFi)是目前最常见的用户网络接入技术,在家庭、社区、办公等多种场景中都有非常广泛的应用。
由于受到同频/临频干扰、建筑物阻隔导致接收端WiFi信号较弱等因素影响,通常存在WiFi信号的信噪比较差的区域或者时间段。在这种信号较弱、干扰较大的情形下,容易造成WiFi传输数据出现大量丢包。为了保证不丢包,则需要进行丢包重传。
可以理解,在信号较弱、干扰较大的情形下,通过WiFi传输数据的传输时延本来就较大。而出现丢包后进行丢包重传时,又会由于重传而将原本就较大的传输时延增加数倍,导致数据在WiFi段的传输时延显著增大。
发明内容
本申请所要解决的技术问题在于,如何降低传输数据在WiFi段的传输时延。
第一方面,本申请提供了一种数据发送方法,该数据发送方法包括:
获取目标介质访问控制协议数据单元MPDU,所述目标MPDU是通过对指定业务的IP数据包进行封装处理后得到的,其中,所述发送设备与接收设备之间通过WiFi连接;
生成所述目标MPDU的备份MPDU;
将所述目标MPDU和所述备份MPDU发送给所述接收设备。
可见,在本申请实施例中,发送设备通过生成目标MPDU的备份MPDU,以及将目标MPDU和备份MPDU均发送给接收设备,可以在很大程度上降低目标MPDU发生重传的概率,从而降低目标MPDU在WiFi段的传输时延。
作为一种可选的实施方式,所述获取目标介质访问控制协议数据单元MPDU,包括:
获取待发送MPDU,其中,所述待发送MPDU是通过对介质访问控制服务数据单元MSDU进行封装处理后得到的;
若所述待发送MPDU中包括目标MSDU,则将所述待发送MPDU识别为目标MPDU,其中,所述目标MSDU为所述指定业务的IP数据包,或者所述目标MSDU是通过对所述指定业务的IP数据包进行封装处理后得到的。
作为一种可选的实施方式,所述指定业务的IP数据包是通过将所述指定业务的IP数据包的源IP地址与预置的IP地址集合进行匹配后识别出来的。
作为一种可选的实施方式,在所述生成所述目标MPDU的备份MPDU之前,所述方法还包括:
获取与所述接收设备之间的重传率;
若所述重传率大于预设的重传阈值,则触发执行所述生成所述目标MPDU的备份MPDU。
作为一种可选的实施方式,所述重传率是根据统计得到的单位时间内发送给所述接收设备的重传MPDU数目与全部MPDU数目确定的。
所述发送设备发送给所述接收设备的MPDU可能既包括所述指定业务的MPDU也包括非指定业务的MPDU。作为另一种可选的实施方式,所述重传率是根据统计得到的单位时间内发送给所述接收设备的非指定业务的重传MPDU数目与非指定业务的全部MPDU数目确定的。
作为一种可选的实施方式,所述生成所述目标MPDU的备份MPDU,包括:
根据所述重传率和所述重传阈值确定备份数目,所述备份数目为正整数;
按照所述备份数目对所述目标MPDU进行复制处理,生成备份MPDU。
作为一种可选的实施方式,所述根据所述重传率和所述重传阈值确定备份数目,包括:
根据所述重传率和所述重传阈值确定N,N为大于1的正整数;
根据所述N确定备份数目;
其中,所述N使得所述重传率的N-1次方大于所述重传阈值,且使得所述重传率的N次方小于所述重传阈值。
作为一种可选的实施方式,所述根据所述N确定备份数目,包括:将N-1确定为备份数目。
作为一种可选的实施方式,所述将所述目标MPDU和所述备份MPDU发送给所述接收设备,包括:
将所述目标MPDU和所述备份MPDU分别发送给所述接收设备。
作为另一种可选的实施方式,所述将所述目标MPDU和所述备份MPDU发送给所述接收设备,包括:
对所述目标MPDU和所述备份MPDU进行聚合处理;
将聚合后的目标MPDU和备份MPDU发送给所述接收设备。
封装处理后得到的所述待发送MPDU可以被设置有序列号,并且,所述目标MPDU与其备份MPDU具有相同的序列号。
作为一种可选的实施方式,所述聚合处理包括分别对所述目标MPDU和所述备份MPDU按照序列号的顺序依次进行聚合处理。
作为另一种可选的实施方式,所述聚合处理包括对所述目标MPDU和所述备份MPDU按照序列号的顺序依次进行聚合处理。
可见,通过实施上述可选的实施方式,可以将目标MPDU的单次重传率至少降低至预设的重传阈值,从而大大降低目标MPDU在WiFi段的传输时延。
第二方面,本申请提供了一种数据接收方法,该数据接收方法包括:
接收待处理数据,所述待处理数据中包括介质访问控制协议数据单元MPDU,所述MPDU被设置有序列号;
对所述MPDU进行筛选处理,其中,所述筛选处理包括按照序列号对所述MPDU进行去重处理。
可见,在本申请实施例中,通过对接收到的MPDU进行筛选处理,可以避免接收端重复存储相同的数据,从而节省存储空间。
第三方面,本申请提供了一种发送设备,该发送设备具有实现上述第一方面或第一方面可能的实现方式的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块、单元或子单元。该模块、单元或子单元可以是软件和/或硬件。基于同一发明构思,由于该发送设备解决问题的原理以及有益效果可以参见上述第一方面的方法和第一方面的各可能的方法实施方式以及所带来的有益效果,因此该发送设备的实施可以参见上述第一方面的方法和第一方面的各可能的方法实施方式,重复之处不再赘述。
第四方面,本申请提供了一种接收设备,该接收设备具有实现上述第二方面的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。该模块可以是软件和/或硬件。基于同一发明构思,由于该接收设备解决问题的原理以及有益效果可以参见上述第二方面的方法以及所带来的有益效果,因此该接收设备的实施可以参见上述第二方面的方法,重复之处不再赘述。
第五方面,本申请提供了一种发送设备,该发送设备包括:存储器,用于存储一个或多个程序;处理器,用于调用存储在该存储器中的程序以实现上述第一方面的方法设计中的方案,该发送设备解决问题的实施方式以及有益效果可以参见上述第一方面的方法和第一方面的各可能的方法实施方式以及所带来的有益效果,重复之处不再赘述。
第六方面,本申请提供了一种接收设备,该接收设备包括:存储器,用于存储一个或多个程序;处理器,用于调用存储在该存储器中的程序以实现上述第二方面的方法设计中的方案,该接收设备解决问题的实施方式以及有益效果可以参见上述第二方面的方法以及所带来的有益效果,重复之处不再赘述。
第七方面,提供了一种计算机可读存储介质,该计算机存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时使该处理器执行上述第一方面的方法和第一方面的各可能的方法实施方式以及所带来的有益效果,重复之处不再赘述。
第八方面,提供了一种计算机可读存储介质,该计算机存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时使该处理器执行上述第二方面的方法以及所带来的有益效果,重复之处不再赘述。
附图说明
图1是本申请实施例提供的一种数据传输的系统架构的示意性框图;
图1(1)是图1提供的系统架构的一种结构示意图;
图1(2)是图1提供的系统架构的另一种结构示意图;
图2是本申请实施例提供的一种数据的备份及封装处理示意图;
图3是本申请实施例提供的另一种数据的备份及封装处理示意图;
图4是本申请实施例提供的又一种数据的备份及封装处理示意图;
图5是本申请实施例提供的再一种数据的备份及封装处理示意图;
图6是本申请实施例提供的一种数据的处理及传输示意图;
图7是本申请实施例提供的一种数据发送方法的流程示意图;
图8是本申请实施例提供的一种数据接收方法的流程示意图;
图9是本申请实施例提供的一种发送设备900的示意性框图;
图10是本申请实施例提供的一种接收设备1000的示意性框图;
图11是本申请实施例提供的另一种发送设备1100的示意性框图;
图12是本申请实施例提供的另一种接收设备1200的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例进行说明。
请参见图1,图1是本申请实施例提供的一种数据传输的系统架构示意图。如图1所示,该系统架构包括发送设备101和接收设备102,并且该发送设备101和该接收设备102之间通过WiFi连接。其中,该发送设备101位于发送端,用于向该接收设备102发送数据;该接收设备102位于接收端,用于接收该发送设备101发送的数据。
其中,该发送端和该接收端可以分别为服务器一端和终端一端,该发送端和该接收端也可以分别为终端一端和服务器一端。以下以该发送端和该接收端分别为服务器一端和终端一端为例对本申请实施例提供的系统架构进行示意性说明。
作为一种可选的实施方式,该系统架构还可以包括位于发送端的源设备(图未示)。在这种情形下,传输数据的流向依次为该源设备、发送设备101、接收设备102,该源设备、发送设备101以及接收设备102可以分别为服务器、访问点(Access Point,AP)设备和终端。其中,该源设备和该发送设备101之间可以通过多跳网络设备(如路由器、光线路终端(Optical Line Terminal,OLT))进行有线连接。本申请实施例所描述的服务器可以为网游服务器等各种类型的服务器,本申请实施例所描述的AP设备可以为光网络终端(OpticalNetwork Terminal,ONT)、客户终端设备(Customer Premise Equipment,CPE)等家用AP设备,也可以为企业网AP设备,本申请实施例所描述的终端可以为手机(如Android手机、iOS手机等)、平板电脑、台式电脑、移动互联网设备(Mobile Internet Devices,MID)和个人数字助理(Personal Digital Assistant,PDA)、机顶盒(Set Top Box,STB)、虚拟现实(Virtual Reality,VR)终端等终端设备。为方便理解,图1(1)以该发送设备101和该接收设备102分别为AP设备和手机为例对该系统架构进行示意性说明。
其中,该系统架构还可以包括位于最后一跳网络设备和该发送设备101之间的一个或多个其他AP设备。在这种情形下,该其他AP设备与该最后一跳网络设备之间可以通过有线连接,该多个其他AP设备之间,以及该其他AP设备与该发送设备101之间均可以通过WiFi连接。
作为另一种可选的实施方式,该系统架构还可以包括位于发送端的源设备(图未示)以及位于接收端的目的设备(图未示)。在这种情形下,传输数据的流向依次为该源设备、发送设备101、接收设备102、目的设备,该源设备、发送设备101、接收设备102以及目的设备可以分别为服务器、AP设备、AP设备和终端。其中,该源设备和该发送设备101之间可以通过多跳网络设备进行有线连接,该接收设备102和该目的设备之间可以通过WiFi或有线连接。为方便理解,图1(2)以该发送设备101和该接收设备102均为AP设备为例对该系统架构进行示意性说明。
其中,该系统架构还可以包括位于最后一跳网络设备和该发送设备101之间的一个或多个其他AP设备。在这种情形下,该其他AP设备与该最后一跳网络设备之间可以通过有线连接,该多个其他AP设备之间,以及该其他AP设备与该发送设备101之间均可以通过有线或WiFi连接。
其中,该系统架构还可以包括位于该接收设备102和该目的设备之间的一个或多个其他AP设备。在这种情形下,该其他AP设备与该接收设备102之间,该多个其他AP设备之间,以及该其他AP设备与该目的设备之间均可以通过有线或WiFi连接。
当该发送端和该接收端分别为终端一端和服务器一端时,该系统架构的具体结构可以参考上述对该发送端和该接收端分别为服务器一端和终端一端时的系统架构的相关描述。
在本申请实施例中,该发送设备101中同时设置有主芯片和WiFi芯片。WiFi芯片接收来自主芯片的MAC服务数据单元(MAC Service Data Unit,MSDU)。
其中,MSDU可以是主芯片传输给WiFi芯片的IP(Internet Protocol)数据包,也可以是主芯片传输给WiFi芯片的通过对IP数据包进行封装处理后得到的数据单元,如逻辑链路控制(Logic Link Control,LLC)协议数据单元(LLC Protocol Data Unit,LPDU)。其中,LPDU是主芯片通过在IP数据包的首部添加LLC头得到的。
其中,IP数据包是主芯片从位于发送端的其他设备(如源设备、源设备与该发送设备101之间的网络设备、或者源设备与该发送设备101之间的其他AP设备)处接收到的。当接收到IP数据包时,主芯片可以识别IP数据包是否为指定业务的IP数据包。若IP数据包为指定业务的IP数据包,则主芯片在传输该IP数据包给WiFi芯片时会通过参数传递等方式通知WiFi芯片该IP数据包为指定业务的IP数据包,或者主芯片在传输通过对该IP数据包进行封装处理后得到的LPDU给WiFi芯片时会通过参数传递等方式通知WiFi芯片该LPDU为指定业务的LPDU。
其中,主芯片识别IP数据包是否为指定业务的IP数据包的方式可以包括:从IP数据包中获取源IP地址,并判断预设的源IP地址集合中是否包括获取的源IP地址;若是,则将该IP数据包识别为指定业务的IP数据包。其中,预设的源IP地址集合可以为主芯片通过截获终端和服务器之间的域名系统(Domain Name System,DNS)交互,并通过域名匹配获取的源服务器IP地址集合。
进一步地,WiFi芯片对接收到的MSDU进行封装处理得到MAC协议数据单元(MACProtocol Data Unit,MPDU)。其中,WiFi芯片对MSDU进行封装处理得到MPDU可以包括两种方式:(1)直接对单个MSDU进行封装处理得到MPDU;(2)先通过聚合帧封装格式技术将多个MSDU聚合成一个更长的数据帧:聚合MAC服务数据单元(Aggregation MAC Service DataUnit,A-MSDU),再对A-MSDU进行封装处理得到MPDU。其中,A-MSDU的最大长度取决于MPDU的最大长度。
其中,WiFi芯片对MSDU进行封装处理得到MPDU包括在MSDU的首部和尾部分别添加MAC头和帧校验序列(Frame Check Sequence,FCS),在MSDU的首部添加MAC头又包括对MSDU进行序列号赋值。其中,赋值的序列号即为MPDU的序列号。
进一步地,WiFi芯片从通过对MSDU进行封装处理后得到的MPDU中确定目标MPDU。其中,目标MPDU为通过对指定业务的MSDU(如上述指定业务的IP数据包或指定业务的LPDU)进行封装处理后得到的。具体地,根据主芯片的通知消息,WiFi芯片判断MPDU中的MSDU是否包括指定业务的MSDU;若是,则将该MPDU确定为目标MPDU。
进一步地,WiFi芯片获取(或监测)与该接收设备102之间的重传率Re。其中,重传率Re指的是统计得到的单位时间内MPDU发生单次重传的概率,用于判断是否启动备份处理操作。
其中,重传率Re可以为该发送设备101发送给该接收设备102的全部业务(包括上述指定业务与非指定业务)的MPDU的重传率。在这种情形下,重传率Re例如可以为WiFi芯片根据统计得到的单位时间内发送给该接收设备102的全部业务的重传MPDU数目与全部业务的全部MPDU数目的比值。
或者,重传率Re也可以为该发送设备101发送给该接收设备102的非指定业务的MPDU的重传率。在这种情形下,重传率Re例如可以为WiFi芯片根据统计得到的单位时间内发送给该接收设备102的非指定业务的重传MPDU数目与非指定业务的全部MPDU数目的比值。
若获取到的重传率Re大于预设的重传阈值Rth,则WiFi芯片对目标MPDU进行备份处理得到备份MPDU,并将目标MPDU和备份MPDU发送给该接收设备102。其中,目标MPDU的序列号与其备份MPDU的序列号相同。WiFi芯片对目标MPDU进行备份处理得到备份MPDU包括对目标MPDU进行复制处理得到备份MPDU。
可以理解,WiFi芯片可以持续获取(或监测)与该接收设备102之间的重传率Re。
其中,WiFi芯片对目标MPDU进行备份处理得到备份MPDU可以具体包括:根据获取到的重传率Re和预设的重传阈值Rth确定备份数目,按照确定出的备份数目对目标MPDU进行备份处理得到备份MPDU。
其中,WiFi芯片根据获取到的重传率Re和预设的重传阈值Rth确定备份数目可以具体包括:根据重传率Re和重传阈值Rth确定N,其中,N为使得重传率Re的N-1次方大于重传阈值Rth且使得重传率Re的N次方小于重传阈值Rth的正整数,并将N-1确定为备份数目。可以理解,N大于1。
举例来说,当重传率Re和重传阈值Rth分别为20%和1%时,由于Re>Rth,因此WiFi芯片需要对目标MPDU进行备份处理。在重传率Re为20%的情形下,MPDU连续发生2次重传的概率为20%×20%=4%,连续发生3次重传的概率为20%×20%×20%=0.8%。假定每个MPDU丢失的事件是相互独立的,那么若WiFi芯片发送3个相同的MPDU给该接收设备102,则MPDU发生单次重传的概率从20%降低至0.8%,连续发生3次重传的概率从0.8%降低至0.8%×0.8%×0.8%=0.0000512%。也就是说,当重传率Re和重传阈值Rth分别为20%和1%时,若发送3个相同的MPDU给该接收设备102,即备份数目为2,则MPDU发生重传的概率可降低至重传阈值Rth以下。
其中,WiFi芯片对目标MPDU进行备份处理得到备份MPDU可以具体包括:对每一目标MPDU分别进行备份处理得到各个目标MPDU的备份MPDU。
或者,WiFi芯片对目标MPDU进行备份处理得到备份MPDU可以具体包括:将全部目标MPDU作为整体进行备份处理得到全部目标MPDU的备份MPDU。
其中,WiFi芯片将目标MPDU和备份MPDU发送给该接收设备102可以具体包括:将目标MPDU和备份MPDU分别发送给该接收设备102。具体地,WiFi芯片可以对需要发送给该接收设备102的单个MPDU(包括目标MPDU、备份MPDU和非目标MPDU)进行封装处理得到物理层汇聚协议(Physical Layer Convergence Protocol,PLCP)协议数据单元(PLCP ProtocolData Unit,PPDU),再将PPDU发送给该接收设备102,PPDU为抢占无线物理信道的基本数据单元。其中,WiFi芯片对MPDU进行封装处理得到包括在MPDU的首部添加物理层前导码和PLCP头。
举例来说,当发送队列中包括序列号分别为1和2的MPDU,并且2号MPDU为目标MPDU时,若备份数目为2,则WiFi芯片将2号MPDU复制两份,并分别对原1号MPDU、原2号MPDU以及两个备份2号MPDU进行封装处理得到四个PPDU,然后将该四个PPDU发送给该接收设备102,如图2所示。其中,一个发送队列中包括的是发送给同一个目的设备且具有相同优先级的MPDU。
或者,WiFi芯片将目标MPDU和备份MPDU发送给该接收设备102可以具体包括:对目标MPDU和备份MPDU进行聚合处理,并将聚合处理后得到的聚合MAC协议数据单元(Aggregation MAC Protocol Data Unit,A-MPDU)发送给该接收设备102。具体地,WiFi芯片对需要发送给该接收设备102的A-MPDU进行封装处理得到PPDU,再将PPDU发送给该接收设备102。
其中,WiFi芯片对目标MPDU和备份MPDU进行聚合处理后可以具体包括:首先对目标MPDU和非目标MPDU按照序列号的顺序依次进行聚合处理生成聚合队列,再将备份MPDU聚合到聚合队列的队尾。
当采用对每一目标MPDU分别进行备份处理的方式进行备份时,WiFi芯片具体可以将备份MPDU按照序列号的顺序依次聚合到聚合队列的队尾。
举例来说,当发送队列中包括序列号分别为1、2和3的MPDU,并且1号MPDU和2号MPDU均为目标MPDU时,若备份数目为2,则WiFi芯片将1号MPDU和2号MPDU分别复制两份,并首先对原1号MPDU、原2号MPDU以及原3号MPDU按照序列号的顺序依次进行聚合处理生成聚合队列,再将一备份1号MPDU、另一备份1号MPDU、一备份2号MPDU以及另一备份2号MPDU依次聚合到该聚合队列的队尾,如图3所示。
当采用对每一目标MPDU分别进行备份处理的方式进行备份时,WiFi芯片具体还可以将备份MPDU进行分组处理得到N组备份MPDU,其中N为备份数目,每组备份MPDU中包括具有不同序列号的MPDU,并将N组备份MPDU依次聚合到聚合队列的队尾。
举例来说,当发送队列中包括序列号分别为1、2和3的MPDU,并且1号MPDU和2号MPDU均为目标MPDU时,若备份数目为2,则WiFi芯片将1号MPDU和2号MPDU分别复制两份,并首先对原1号MPDU、原2号MPDU以及原3号MPDU按照序列号的顺序依次进行聚合处理生成聚合队列,再将备份MPDU分为两组,其中每组备份MPDU均包括一个备份1号MPDU和一个备份2号MPDU,然后将两组备份MPDU依次聚合到该聚合队列的队尾,如图4所示。
当采用将全部目标MPDU作为整体进行备份处理的方式进行备份时,WiFi芯片具体可以将每份备份MPDU聚合到聚合队列的队尾。
举例来说,当发送队列中包括序列号分别为1、2和3的MPDU,并且1号MPDU和2号MPDU均为目标MPDU时,若备份数目为2,则WiFi芯片将1号MPDU和2号MPDU作为整体复制两份,并首先对原1号MPDU、原2号MPDU以及原3号MPDU按照序列号的顺序依次进行聚合处理生成聚合队列,再将两份备份MPDU依次聚合到该聚合队列的队尾,如图5所示。
该接收设备102接收PPDU,并对接收到的PPDU进行解封装处理。其中,对PPDU进行解封装处理包括去掉PPDU中的物理层前导码和PLCP头。若该PPDU是由单个MPDU进行封装处理得到的,则该接收设备102对该PPDU进行解封装处理得到MPDU。若该PPDU是由A-MPDU进行封装处理得到的,则该接收设备102对该PPDU进行解封装处理得到A-MPDU。进一步地,该接收设备102对该A-MPDU进行解聚合处理得到多个MPDU。
进一步地,该接收设备102获取解封装处理或解聚合处理得到的MPDU的序列号,并判断缓冲区队列中是否存在具有该序列号的MPDU;若是,则将该MPDU丢弃;否则进一步根据FCS校验该MPDU是否正确,若是,则将该MPDU放入缓冲区队列,否则将该MPDU丢弃。其中,当根据FCS校验出该MPDU不正确时,表明该MPDU在传输过程中发生错包。
进一步地,该接收设备102将缓冲区队列中的MPDU接收到本地协议栈。具体地,该接收设备102将缓冲区队列中序列号完整的MPDU按照序列号的顺序依次上传给协议栈,如上传到协议栈的LLC层,并且在接收到PPDU的短帧间间隔(Short Inter-Frame Space,SIFS)时长后返回一个块确认(Block Acknowledgement,BA)帧给该接收设备102,该BA帧用于通知该接收设备102其接收到的MPDU的完整性。
若缓冲区队列中MPDU的序列号缺失,即缓冲区队列出现序列号空洞,则根据缓冲区队列自身的保序机制,该接收设备102会将空洞之前的序列号的MPDU按照序列号的顺序依次接收到协议栈,并且让空洞之后的序列号的MPDU处于缓存等待状态,直到该发送设备101通过重传序列号空洞的MPDU将空洞补齐,缓冲区队列中处于缓存等待状态的MPDU才能跟补齐的MPDU一起按照序列号的顺序依次接收到协议栈。
无论缓冲区队列中是否接收到序列号完整的MPDU,该接收设备102都会在接收到PPDU的SIFS时长后返回一个BA帧给该发送设备101,该BA帧用于通知该发送设备101其正确接收的MPDU的序列号以及需要该发送设备101重传的MPDU的序列号。
若出现多次重传失败的现象导致缓冲区队列的序列号空洞一直无法补齐,或者该发送设备101在发送PPDU后的预设超时时长内一直没有收到BA帧,那么该发送设备101就会发送一个块确认请求(Block Acknowledgement Request,BAR)帧给该接收设备102。其中,该BAR帧用于冲刷该接收设备102缓冲区队列的序列号空洞以及让该接收设备102回复BA帧。在该接收设备102中,所有比该BAR帧起始序列号低的完整MPDU都被接收到协议栈,且所有比该BAR帧起始序列号低的不完整MPDU则被丢弃。
举例来说,当该发送设备101的发送队列中包括序列号分别为1和2的MPDU,并且该1号和2号MPDU均为目标MPDU时,若备份数目为2,则该发送设备101可以将该1号和2号MPDU作为整体复制两份。进一步地,该发送设备101对目标MPDU和备份MPDU进行聚合处理,以及对聚合处理得到的A-MPDU进行封装处理得到PPDU,如图6所示。
该发送设备101将该PPDU发送给该接收设备102。如图6所示,在发送过程中,其中一个2号MPDU发生丢包。由于其他两个2号MPDU正确传输,因此该接收设备102仍然正确接收到了2号MPDU。并且,该接收设备102将序列号重复的两个1号MPDU以及一个2号MPDU丢弃。
在本申请实施例中,针对指定业务,通过备份多发的方式将目标MPDU(即指定业务的MPDU)在WiFi段发生单次重传的概率至少降低至预设的重传阈值,从而大大降低目标MPDU在WiFi段的传输时延。并且,通过实时监测发送设备和接收设备之间的重传率,并通过监测的重传率动态调整目标MPDU的备份数目,本申请实施例可以实现对目标MPDU的单次重传率的动态保障。
由于时延对比特流(BitTorrent,BT)下载等非时延敏感型业务(即对时延要求较低的业务)的影响较小,因此本申请实施例所描述的指定业务可以是手游业务等端到端的时延敏感型业务(即对时延要求较高的业务)。当然,本申请实施例也可以应用于降低除时延敏感型业务之外的其他业务的MPDU在WiFi段的传输时延,本申请实施例对此不作具体限制。
请参见图7,图7是本申请实施例提供的一种数据发送方法的流程示意图。其中,该数据发送方法可以具体应用于发送设备中,该发送设备设置有WiFi芯片。如图7所示,该数据发送方法包括如下步骤:
S701、获取目标MPDU。
具体地,该发送设备中设置的WiFi芯片从主芯片接收需要发送给接收设备的MSDU,再对接收到的MSDU进行封装处理得到MPDU,封装处理得到的MPDU即为待发送MPDU。可见,该发送设备与该接收设备分别位于发送端与接收端。其中,该发送设备与接收设备之间通过WiFi连接。WiFi芯片对MSDU进行封装处理包括对MSDU进行序列号赋值,赋值的序列号即为MPDU的序列号。
主芯片在将MSDU发送给WiFi芯片时,会通过参数传递等方式通知WiFi芯片该MSDU是否为指定业务的MSDU。从而,根据主芯片的通知消息,WiFi芯片可以判断封装处理得到的MPDU中是否包括指定业务的MSDU;若是,则WiFi芯片可以将该MPDU确定为目标MPDU。
其中,上述MSDU可以是主芯片传输给WiFi芯片的IP数据包,也可以是主芯片传输给WiFi芯片的通过对IP数据包进行封装处理后得到的数据单元,如LPDU。
上述IP数据包是主芯片从位于发送端的其他设备处接收到的。当接收到IP数据包时,主芯片可以识别IP数据包是否为指定业务的IP数据包。若IP数据包为指定业务的IP数据包,则主芯片在传输该IP数据包给WiFi芯片时会通过参数传递等方式通知WiFi芯片该IP数据包为指定业务的IP数据包,或者主芯片在传输LPDU给WiFi芯片时会通过参数传递等方式通知WiFi芯片该LPDU为指定业务的LPDU。
其中,主芯片识别IP数据包是否为指定业务的IP数据包的方式可以包括:从IP数据包中获取源IP地址,并判断预设的源IP地址集合中是否包括获取的源IP地址;若是,则将该IP数据包识别为指定业务的IP数据包。其中,预设的源IP地址集合可以为主芯片通过截获终端和服务器之间的DNS交互,并通过域名匹配获取的源服务器IP地址集合。
通常情况下,该主芯片也是设置在该发送设备中的。在这种情形下,接收IP数据包,识别IP数据包是否为指定业务的IP数据包,将IP数据包或LPDU作为MSDU发送给WiFi芯片等操作均是由该发送设备执行的,即该发送设备的WiFi芯片从该发送设备的主芯片接收MSDU。
在本申请实施例中,该发送设备可以为AP设备(如家用AP设备或企业网AP设备)。
S702、获取与接收设备之间的重传率。
其中,重传率Re指的是统计得到的单位时间内MPDU发生单次重传的概率,用于判断是否启动对目标MPDU进行备份处理操作。
作为一种可选的实施方式,重传率Re可以为该发送设备发送给该接收设备的全部业务(包括上述指定业务与非指定业务)的MPDU的重传率。在这种情形下,重传率Re例如可以为WiFi芯片根据统计得到的单位时间内发送给该接收设备的全部业务的重传MPDU数目与全部业务的全部MPDU数目的比值。
作为另一种可选的实施方式,重传率Re也可以为该发送设备发送给该接收设备的非指定业务的MPDU的重传率。在这种情形下,重传率Re例如可以为WiFi芯片根据统计得到的单位时间内发送给该接收设备的非指定业务的重传MPDU数目与非指定业务的全部MPDU数目的比值。
可以理解,WiFi芯片可以持续获取(或监测)与该接收设备之间的重传率Re。
S703、若该重传率大于预设的重传阈值,则生成该目标MPDU的备份MPDU。
其中,目标MPDU的序列号与其备份MPDU具有相同的序列号。WiFi芯片生成目标MPDU的备份MPDU包括对目标MPDU进行复制处理得到备份MPDU。
其中,WiFi芯片生成该目标MPDU的备份MPDU可以具体包括:根据获取到的重传率Re和预设的重传阈值Rth确定备份数目,按照确定出的备份数目对目标MPDU进行复制处理,生成备份MPDU。其中,该备份数目为正整数。
其中,WiFi芯片根据获取到的重传率Re和预设的重传阈值Rth确定备份数目可以具体包括:根据该重传率和该重传阈值确定N;根据N确定备份数目。其中,N为大于1的正整数。N使得该重传率的N-1次方大于该重传阈值,且使得该重传率的N次方小于该重传阈值。
其中,WiFi芯片根据N确定备份数目可以具体包括:将N-1确定为备份数目。当备份数目为N-1时,MPDU发生重传的概率可刚好满足降低至重传阈值Rth以下。当然,备份数目也可以大于N-1,此时MPDU发生重传的概率更低,但是所消耗的流量带宽更多。
作为一种可选的实施方式,WiFi芯片生成该目标MPDU的备份MPDU可以具体包括:对每一目标MPDU分别进行备份处理得到各个目标MPDU的备份MPDU。
作为另一种可选的实施方式,WiFi芯片生成该目标MPDU的备份MPDU可以具体包括:将全部目标MPDU作为整体进行备份处理得到全部目标MPDU的备份MPDU。
S704、将该目标MPDU和该备份MPDU发送给该接收设备。
作为一种可选的实施方式,WiFi芯片将该目标MPDU和该备份MPDU发送给该接收设备可以具体包括:将该目标MPDU和该备份MPDU分别发送给该接收设备。
在这种情形下,WiFi芯片可以对需要发送给该接收设备的单个MPDU(包括目标MPDU、备份MPDU和非目标MPDU)进行封装处理得到PPDU,再将PPDU发送给该接收设备。
作为另一种可选的实施方式,WiFi芯片将该目标MPDU和该备份MPDU发送给该接收设备可以具体包括:对该目标MPDU和该备份MPDU进行聚合处理;将聚合后的目标MPDU和备份MPDU发送给该接收设备。
其中,WiFi芯片对该目标MPDU和该备份MPDU进行聚合处理后可以具体包括:首先对该目标MPDU和非目标MPDU按照序列号的顺序依次进行聚合处理生成聚合队列,再将备份MPDU聚合到聚合队列的队尾。
当采用对每一目标MPDU分别进行备份处理的方式进行备份时,WiFi芯片具体可以将备份MPDU按照序列号的顺序依次聚合到聚合队列的队尾。
当采用对每一目标MPDU分别进行备份处理的方式进行备份时,WiFi芯片具体还可以将备份MPDU进行分组处理得到N组备份MPDU,其中N为备份数目,每组备份MPDU中包括具有不同序列号的MPDU,并将N组备份MPDU依次聚合到聚合队列的队尾。
当采用将全部目标MPDU作为整体进行备份处理的方式进行备份时,WiFi芯片具体可以将每份备份MPDU聚合到聚合队列的队尾。
在本申请实施例中,针对指定业务,通过备份多发的方式将目标MPDU(即指定业务的MPDU)发生单次重传的概率至少降低至预设的重传阈值,从而大大降低目标MPDU在WiFi段的传输时延。并且,通过实时监测发送设备和接收设备之间的重传率,并通过监测的重传率动态调整目标MPDU的备份数目,本申请实施例可以实现对目标MPDU的单次重传率的动态保障。
请参见图8,图8是本申请实施例提供的一种数据接收方法的流程示意图。其中,该数据接收方法可以具体应用于接收设备中。如图8所示,该数据接收方法包括如下步骤:
S801、接收待处理数据。
其中,该待处理数据中包括MPDU,MPDU被设置有序列号。在本申请实施例中,该待处理数据可以为PPDU。
具体地,该接收设备从发送设备处接收该待处理数据。可见,该发送设备与该接收设备分别位于发送端与接收端。其中,该接收设备与该发送设备之间通过WiFi连接。
S802、对该待处理数据中的MPDU进行筛选处理。
当该待处理数据为PPDU时,在该接收设备对该待处理数据中的MPDU进行筛选处理之前,该接收设备还可以对接收到的PPDU进行解封装处理。若该PPDU是由单个MPDU进行封装处理得到的,则该接收设备对该PPDU进行解封装处理得到MPDU。若该PPDU是由A-MPDU进行封装处理得到的,则该接收设备对该PPDU进行解封装处理得到A-MPDU。进一步地,该接收设备可以对该A-MPDU进行解聚合处理得到多个MPDU。
其中,上述筛选处理包括按照序列号对MPDU进行去重处理。具体地,该接收设备获取解封装处理或解聚合处理得到的MPDU的序列号,并判断缓冲区队列中是否存在具有该序列号的MPDU;若是,则将该MPDU丢弃,否则将该MPDU放入缓冲区队列。
进一步地,该接收设备还可以将缓冲区队列中的MPDU接收到本地协议栈。
在本申请实施例中,通过对接收到的MPDU进行筛选处理,可以避免接收端重复存储相同的数据,从而节省存储空间。
请参见图9,图9是本申请实施例提供的一种发送设备900的示意性框图。在本申请实施例中,该发送设备900与接收设备之间通过WiFi连接。如图9所示,该发送设备900可以包括第一获取模块901、备份模块902、第二获取模块903以及发送模块904。
其中,该第一获取模块901,用于获取目标介质访问控制协议数据单元MPDU。
该目标MPDU是通过对指定业务的IP数据包进行封装处理后得到的。
作为一种可选的实施方式,该第一获取模块901,具体用于获取待发送MPDU,其中,该待发送MPDU是通过对介质访问控制服务数据单元MSDU进行封装处理后得到的;若该待发送MPDU中包括目标MSDU,则将该待发送MPDU识别为目标MPDU。
在本申请实施例中,该目标MSDU为该指定业务的IP数据包,或者该目标MSDU是通过对该指定业务的IP数据包进行封装处理后得到的。
作为一种可选的实施方式,该指定业务的IP数据包是通过将该指定业务的IP数据包的源IP地址与预置的IP地址集合进行匹配后识别出来的。
该备份模块902,用于生成该目标MPDU的备份MPDU。
该第二获取模块903,用于获取与该接收设备之间的重传率。该备份模块902,具体用于当该重传率大于预设的重传阈值时,生成该目标MPDU的备份MPDU。
作为一种可选的实施方式,该重传率是根据统计得到的单位时间内发送给该接收设备的重传MPDU数目与全部MPDU数目确定的。
该发送设备发送给该接收设备的MPDU可能既包括该指定业务的MPDU也包括非指定业务的MPDU。作为另一种可选的实施方式,该重传率是根据统计得到的单位时间内发送给该接收设备的非指定业务的重传MPDU数目与非指定业务的全部MPDU数目确定的。
在本申请实施例中,该备份模块902可以包括确定单元9021和复制单元9022。
其中,该确定单元9021,用于根据该重传率和该重传阈值确定备份数目。该备份数目为正整数。
该复制单元9022,用于按照该备份数目对该目标MPDU进行复制处理,生成备份MPDU。
在本申请实施例中,该确定单元9021可以包括第一确定子单元90211和第二确定子单元90212。
其中,该第一确定子单元90211,用于根据该重传率和该重传阈值确定N。N为大于1的正整数,N使得该重传率的N-1次方大于该重传阈值,且使得该重传率的N次方小于该重传阈值。
该第二确定子单元90212,用于根据N确定备份数目。
在本申请实施例中,该第二确定子单元90212,具体用于将N-1确定为备份数目。
该发送模块904,用于将该目标MPDU和该备份MPDU发送给该接收设备。
作为一种可选的实施方式,该发送模块904,具体用于将该目标MPDU和该备份MPDU分别发送给该接收设备。
作为另一种可选的实施方式,该发送模块904,具体用于对该目标MPDU和该备份MPDU进行聚合处理;将聚合后的目标MPDU和备份MPDU发送给该接收设备。
在本申请实施例中,封装处理后得到的该待发送MPDU被设置有序列号,并且,该目标MPDU与其备份MPDU具有相同的序列号。
作为一种可选的实施方式,该聚合处理包括分别对该目标MPDU和该备份MPDU按照序列号的顺序依次进行聚合处理。
作为另一种可选的实施方式,该聚合处理包括对该目标MPDU和该备份MPDU按照序列号的顺序依次进行聚合处理。
基于同一发明构思,本申请实施例中提供的发送设备900解决问题的原理以及有益效果与本申请数据发送方法实施例相似,因此该发送设备900的实施可以参见如图7所示的数据发送方法的实施,重复之处不再赘述。
请参见图10,图10是本申请实施例提供的一种接收设备1000的示意性框图。如图10所示,该接收设备1000可以包括接收模块1001以及筛选模块1002。
其中,该接收模块1001,用于接收待处理数据。该待处理数据中包括介质访问控制协议数据单元MPDU,该MPDU被设置有序列号。
该筛选模块1002,用于对该MPDU进行筛选处理。其中,该筛选处理包括按照序列号对该MPDU进行去重处理。
基于同一发明构思,本申请实施例中提供的接收设备1000解决问题的原理以及有益效果与本申请数据接收方法实施例相似,因此该接收设备1000的实施可以参见如图8所示的数据接收方法的实施,重复之处不再赘述。
请参见图11,图11是本申请实施例提供的另一种发送设备1100的示意性框图。在本申请实施例中,该发送设备1100与接收设备之间通过WiFi连接。如图11所示,该发送设备1100可以包括:总线1101、处理器1102、存储器1103及输入/输出接口1104。其中,该总线1101用于将该处理器1102、存储器1103及输入/输出接口1104相互连接起来并使得上述元件可以相互通信。该存储器1103用于存储一个或多个计算机程序,该计算机程序包括程序指令。该输入/输出接口1104用于控制该发送设备1100与其他设备之间的通信连接。例如,该发送设备1100可以通过该输入/输出接口1104与该接收设备通信。
具体地,该处理器1102被配置用于调用该程序指令执行:
获取目标介质访问控制协议数据单元MPDU,该目标MPDU是通过对指定业务的IP数据包进行封装处理后得到的;
生成该目标MPDU的备份MPDU;
将该目标MPDU和该备份MPDU发送给该接收设备。
作为一种可选的实施方式,该处理器1102被配置用于调用该程序指令执行获取目标介质访问控制协议数据单元MPDU时具体执行:
获取待发送MPDU,其中,该待发送MPDU是通过对介质访问控制服务数据单元MSDU进行封装处理后得到的;
若该待发送MPDU中包括目标MSDU,则将该待发送MPDU识别为目标MPDU,其中,该目标MSDU为该指定业务的IP数据包,或者该目标MSDU是通过对该指定业务的IP数据包进行封装处理后得到的。
作为一种可选的实施方式,该指定业务的IP数据包是通过将该指定业务的IP数据包的源IP地址与预置的IP地址集合进行匹配后识别出来的。
作为一种可选的实施方式,该处理器1102被配置用于调用该程序指令执行生成该目标MPDU的备份MPDU之前还执行:
获取与该接收设备之间的重传率;
若该重传率大于预设的重传阈值,则触发执行该生成该目标MPDU的备份MPDU。
作为一种可选的实施方式,该重传率是根据统计得到的单位时间内发送给该接收设备的重传MPDU数目与全部MPDU数目确定的。
该发送设备发送给该接收设备的MPDU可能既包括该指定业务的MPDU也包括非指定业务的MPDU。作为另一种可选的实施方式,该重传率是根据统计得到的单位时间内发送给该接收设备的非指定业务的重传MPDU数目与非指定业务的全部MPDU数目确定的。
作为一种可选的实施方式,该处理器1102被配置用于调用该程序指令执行生成该目标MPDU的备份MPDU时具体执行:
根据该重传率和该重传阈值确定备份数目,该备份数目为正整数;
按照该备份数目对该目标MPDU进行复制处理,生成备份MPDU。
作为一种可选的实施方式,该处理器1102被配置用于调用该程序指令执行根据该重传率和该重传阈值确定备份数目时具体执行:
根据该重传率和该重传阈值确定N,N为大于1的正整数;
根据该N确定备份数目;
其中,该N使得该重传率的N-1次方大于该重传阈值,且使得该重传率的N次方小于该重传阈值。
作为一种可选的实施方式,该处理器1102被配置用于调用该程序指令执行根据该N确定备份数目时具体执行:
将N-1确定为备份数目。
作为一种可选的实施方式,该处理器1102被配置用于调用该程序指令执行将该目标MPDU和该备份MPDU发送给该接收设备时具体执行:
将该目标MPDU和该备份MPDU分别发送给该接收设备。
作为另一种可选的实施方式,该处理器1102被配置用于调用该程序指令执行将该目标MPDU和该备份MPDU发送给该接收设备时具体执行:
对该目标MPDU和该备份MPDU进行聚合处理;
将聚合后的目标MPDU和备份MPDU发送给该接收设备。
在本申请实施例中,封装处理后得到的该待发送MPDU可以被设置有序列号,并且,该目标MPDU与其备份MPDU具有相同的序列号。
作为一种可选的实施方式,该聚合处理包括分别对该目标MPDU和该备份MPDU按照序列号的顺序依次进行聚合处理。
作为另一种可选的实施方式,该聚合处理包括对该目标MPDU和该备份MPDU按照序列号的顺序依次进行聚合处理。
其中,该处理器1102可以是中央处理器(Central Processing Unit,CPU)。该存储器1103可以是任意类型的存储器,例如可以是只读存储记忆体(Read-Only Memory,ROM)、随机存取存储记忆体(Random Access Memory,RAM)和非易失性随机存取存储器等等。
基于同一发明构思,本申请实施例中提供的发送设备1100解决问题的原理以及有益效果与本申请数据发送方法实施例相似,因此该发送设备1100的实施可以参见如图7所示的数据发送方法的实施,重复之处不再赘述。
请参见图12,图12是本申请实施例提供的另一种接收设备1200的示意性框图。如图12所示,该接收设备1200可以包括:总线1201、处理器1202、存储器1203及输入/输出接口1204。其中,该总线1201用于将该处理器1202、存储器1203及输入/输出接口1204相互连接起来并使得上述元件可以相互通信。该存储器1203用于存储一个或多个计算机程序,该计算机程序包括程序指令。该输入/输出接口1204用于控制该接收设备1200与其他设备之间的通信连接。
具体地,该处理器1202被配置用于调用该程序指令执行:
接收待处理数据,该待处理数据中包括介质访问控制协议数据单元MPDU,该MPDU被设置有序列号;
对该MPDU进行筛选处理,其中,该筛选处理包括按照序列号对该MPDU进行去重处理。
其中,该处理器1202可以是CPU。该存储器1202可以是任意类型的存储器,例如可以是ROM、RAM和非易失性随机存取存储器等等。
基于同一发明构思,本申请实施例中提供的接收设备1200解决问题的原理以及有益效果与本申请数据接收方法实施例相似,因此该接收设备1200的实施可以参见如图8所示的数据接收方法的实施,重复之处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、ROM或RAM。
Claims (26)
1.一种数据发送方法,其特征在于,应用于发送设备,所述方法包括:
获取目标介质访问控制协议数据单元MPDU,所述目标MPDU是通过对指定业务的数据包进行封装处理后得到的,其中,所述发送设备与接收设备之间通过WiFi连接;
生成所述目标MPDU的备份MPDU;
将所述目标MPDU和所述备份MPDU发送给所述接收设备;
在所述生成所述目标MPDU的备份MPDU之前,所述方法还包括:
获取与所述接收设备之间的重传率;
若所述重传率大于预设的重传阈值,则触发执行所述生成所述目标MPDU的备份MPDU;
所述生成所述目标MPDU的备份MPDU,包括:
根据所述重传率和所述重传阈值确定备份数目,所述备份数目为正整数;
按照所述备份数目对所述目标MPDU进行复制处理,生成备份MPDU。
2.根据权利要求1所述的方法,其特征在于,所述获取目标介质访问控制协议数据单元MPDU,包括:
获取待发送MPDU,其中,所述待发送MPDU是通过对介质访问控制服务数据单元MSDU进行封装处理后得到的;
若所述待发送MPDU中包括目标MSDU,则将所述待发送MPDU识别为目标MPDU,其中,所述目标MSDU为所述指定业务的数据包,或者所述目标MSDU是通过对所述指定业务的数据包进行封装处理后得到的。
3.根据权利要求1所述的方法,其特征在于,所述指定业务的数据包是通过将所述指定业务的数据包的源地址与预置的地址集合进行匹配后识别出来的。
4.根据权利要求3所述的方法,其特征在于,所述重传率是根据统计得到的单位时间内发送给所述接收设备的重传MPDU数目与全部MPDU数目确定的。
5.根据权利要求3所述的方法,其特征在于,所述发送设备发送给所述接收设备的MPDU包括所述指定业务的MPDU以及非指定业务的MPDU;
所述重传率是根据统计得到的单位时间内发送给所述接收设备的非指定业务的重传MPDU数目与非指定业务的全部MPDU数目确定的。
6.根据权利要求1所述的方法,其特征在于,所述根据所述重传率和所述重传阈值确定备份数目,包括:
根据所述重传率和所述重传阈值确定N,N为大于1的正整数;
根据所述N确定备份数目;
其中,所述N使得所述重传率的N-1次方大于所述重传阈值,且使得所述重传率的N次方小于所述重传阈值。
7.根据权利要求6所述的方法,其特征在于,所述根据所述N确定备份数目,包括:将N-1确定为备份数目。
8.根据权利要求1-3任一所述的方法,其特征在于,所述将所述目标MPDU和所述备份MPDU发送给所述接收设备,包括:
将所述目标MPDU和所述备份MPDU分别发送给所述接收设备。
9.根据权利要求1-3任一所述的方法,其特征在于,所述将所述目标MPDU和所述备份MPDU发送给所述接收设备,包括:
对所述目标MPDU和所述备份MPDU进行聚合处理;
将聚合后的目标MPDU和备份MPDU发送给所述接收设备。
10.根据权利要求9所述的方法,其特征在于,封装处理后得到的待发送MPDU被设置有序列号,并且,所述目标MPDU与其备份MPDU具有相同的序列号;
所述聚合处理包括分别对所述目标MPDU和所述备份MPDU按照序列号的顺序依次进行聚合处理。
11.根据权利要求9所述的方法,其特征在于,封装处理后得到的待发送MPDU被设置有序列号,并且,所述目标MPDU与其备份MPDU具有相同的序列号;
所述聚合处理包括对所述目标MPDU和所述备份MPDU按照序列号的顺序依次进行聚合处理。
12.一种数据接收方法,其特征在于,所述方法包括:
接收待处理数据,所述待处理数据中包括介质访问控制协议数据单元MPDU,所述MPDU被设置有序列号;
对所述MPDU进行筛选处理,其中,所述筛选处理包括按照序列号对所述MPDU进行去重处理,所述MPDU包括目标MPDU和所述目标MPDU的备份MPDU,所述备份MPDU由发送设备在获取的与接收设备之间的重传率大于预设的重传阈值时生成,所述备份MPDU按照备份数据对所述目标MPDU进行复制处理生成,所述备份数据根据所述重传率和所述重传阈值确定。
13.一种发送设备,其特征在于,所述发送设备包括:
第一获取模块,用于获取目标介质访问控制协议数据单元MPDU,所述目标MPDU是通过对指定业务的数据包进行封装处理后得到的,其中,所述发送设备与接收设备之间通过WiFi连接;
备份模块,用于生成所述目标MPDU的备份MPDU;
发送模块,用于将所述目标MPDU和所述备份MPDU发送给所述接收设备;
所述发送设备还包括:
第二获取模块,用于获取与所述接收设备之间的重传率;
所述备份模块,具体用于当所述重传率大于预设的重传阈值时,生成所述目标MPDU的备份MPDU;
其中,所述备份模块包括:确定单元和复制单元;
所述确定单元,用于根据所述重传率和所述重传阈值确定备份数目,所述备份数目为正整数;
所述复制单元,用于按照所述备份数目对所述目标MPDU进行复制处理,生成备份MPDU。
14.根据权利要求13所述的发送设备,其特征在于,所述第一获取模块具体用于:
获取待发送MPDU,其中,所述待发送MPDU是通过对介质访问控制服务数据单元MSDU进行封装处理后得到的;
若所述待发送MPDU中包括目标MSDU,则将所述待发送MPDU识别为目标MPDU,其中,所述目标MSDU为所述指定业务的数据包,或者所述目标MSDU是通过对所述指定业务的数据包进行封装处理后得到的。
15.根据权利要求13所述的发送设备,其特征在于,所述指定业务的数据包是通过将所述指定业务的数据包的源地址与预置的地址集合进行匹配后识别出来的。
16.根据权利要求15所述的发送设备,其特征在于,所述重传率是根据统计得到的单位时间内发送给所述接收设备的重传MPDU数目与全部MPDU数目确定的。
17.根据权利要求13所述的发送设备,其特征在于,所述发送设备发送给所述接收设备的MPDU包括所述指定业务的MPDU以及非指定业务的MPDU;
所述重传率是根据统计得到的单位时间内发送给所述接收设备的非指定业务的重传MPDU数目与非指定业务的全部MPDU数目确定的。
18.根据权利要求 13所述的发送设备,其特征在于,所述确定单元包括:
第一确定子单元,用于根据所述重传率和所述重传阈值确定N,N为大于1的正整数;
第二确定子单元,用于根据所述N确定备份数目;
其中,所述N使得所述重传率的N-1次方大于所述重传阈值,且使得所述重传率的N次方小于所述重传阈值。
19.根据权利要求18所述的发送设备,其特征在于,所述第二确定子单元具体用于:将N-1确定为备份数目。
20.根据权利要求13-17任一所述的发送设备,其特征在于,所述发送模块具体用于:
将所述目标MPDU和所述备份MPDU分别发送给所述接收设备。
21.根据权利要求13-17任一所述的发送设备,其特征在于,所述发送模块具体用于:
对所述目标MPDU和所述备份MPDU进行聚合处理;
将聚合后的目标MPDU和备份MPDU发送给所述接收设备。
22.根据权利要求21所述的发送设备,其特征在于,封装处理后得到的待发送MPDU被设置有序列号,并且,所述目标MPDU与其备份MPDU具有相同的序列号;
所述聚合处理包括分别对所述目标MPDU和所述备份MPDU按照序列号的顺序依次进行聚合处理。
23.根据权利要求21所述的发送设备,其特征在于,封装处理后得到的待发送MPDU被设置有序列号,并且,所述目标MPDU与其备份MPDU具有相同的序列号;
所述聚合处理包括对所述目标MPDU和所述备份MPDU按照序列号的顺序依次进行聚合处理。
24.一种接收设备,其特征在于,所述接收设备包括:
接收模块,用于接收待处理数据,所述待处理数据中包括介质访问控制协议数据单元MPDU,所述MPDU被设置有序列号;
筛选模块,用于对所述MPDU进行筛选处理,其中,所述筛选处理包括按照序列号对所述MPDU进行去重处理;所述MPDU包括目标MPDU和所述目标MPDU的备份MPDU,所述备份MPDU由发送设备在获取的与接收设备之间的重传率大于预设的重传阈值时生成,所述备份MPDU按照备份数据对所述目标MPDU进行复制处理生成,所述备份数据根据所述重传率和所述重传阈值确定。
25.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-11任一所述的数据发送方法。
26.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求12所述的数据接收方法。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810733667.0A CN110677871B (zh) | 2018-07-03 | 2018-07-03 | 数据发送方法及发送设备、数据接收方法及接收设备 |
PCT/CN2019/094328 WO2020007278A1 (zh) | 2018-07-03 | 2019-07-02 | 数据发送方法及发送设备、数据接收方法及接收设备 |
JP2020573177A JP7123194B2 (ja) | 2018-07-03 | 2019-07-02 | データ送信方法、送信デバイス、データ受信方法、および受信デバイス |
EP19830664.9A EP3809748B1 (en) | 2018-07-03 | 2019-07-02 | Data transmitting method and device |
KR1020217002033A KR102601348B1 (ko) | 2018-07-03 | 2019-07-02 | 데이터 송신 방법, 송신 장치, 데이터 수신 방법 및 수신 장치 |
US17/139,204 US11502986B2 (en) | 2018-07-03 | 2020-12-31 | Reducing transmission delay of transmitting data in Wi-Fi |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810733667.0A CN110677871B (zh) | 2018-07-03 | 2018-07-03 | 数据发送方法及发送设备、数据接收方法及接收设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110677871A CN110677871A (zh) | 2020-01-10 |
CN110677871B true CN110677871B (zh) | 2022-07-12 |
Family
ID=69060078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810733667.0A Active CN110677871B (zh) | 2018-07-03 | 2018-07-03 | 数据发送方法及发送设备、数据接收方法及接收设备 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11502986B2 (zh) |
EP (1) | EP3809748B1 (zh) |
JP (1) | JP7123194B2 (zh) |
KR (1) | KR102601348B1 (zh) |
CN (1) | CN110677871B (zh) |
WO (1) | WO2020007278A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG10201904246SA (en) * | 2019-05-10 | 2020-12-30 | Panasonic Ip Corp America | Communication Apparatus And Communication Method For Multi-AP Joint Re-Transmission |
CN118368041A (zh) * | 2023-01-18 | 2024-07-19 | 华为技术有限公司 | 一种数据传输方法及通信装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101480070A (zh) * | 2006-07-04 | 2009-07-08 | 艾利森电话股份有限公司 | 在高速下行链路信道上的广播和多播 |
CN102144369B (zh) * | 2008-09-03 | 2014-07-30 | 三星电子株式会社 | 在无线通信系统中产生媒体访问控制协议数据单元的装置及方法 |
CN106470497A (zh) * | 2015-08-17 | 2017-03-01 | 中国移动通信集团公司 | 一种数据传输方法、无线链路控制发送及接收实体 |
CN106657918A (zh) * | 2017-01-04 | 2017-05-10 | 北京捷联微芯科技有限公司 | 数据传输的方法及装置 |
CN107104769A (zh) * | 2010-11-12 | 2017-08-29 | 交互数字专利控股公司 | 用于节点执行信道聚合的方法和网络节点 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4012172B2 (ja) | 2004-05-28 | 2007-11-21 | 株式会社東芝 | 無線通信装置及び無線通信方法 |
WO2009048296A2 (en) * | 2007-10-10 | 2009-04-16 | Lg Electronics Inc. | Method for retransmitting multicast frames and method for processing received multicast frames in wireless network |
JP5091761B2 (ja) * | 2008-05-13 | 2012-12-05 | 株式会社東芝 | 無線通信装置 |
EP2173054A1 (en) * | 2008-10-06 | 2010-04-07 | Thomson Licensing | Method for receiving and transmitting data blocks |
US8995326B2 (en) | 2009-06-23 | 2015-03-31 | Intel Corporation | Techniques for broadcast/multicast delivery in wireless networks |
CN101651963B (zh) | 2009-07-09 | 2012-05-23 | 南京工业大学 | 一种ieee 802.11 wlan中基于区分服务的传输控制方法 |
TWI473518B (zh) * | 2012-12-12 | 2015-02-11 | Quanta Comp Inc | 多模作業之通訊裝置 |
US10009736B1 (en) * | 2014-03-06 | 2018-06-26 | Marvell International Ltd. | Method and apparatus for performing joint transmissions in a wireless network |
WO2015137591A1 (ko) * | 2014-03-10 | 2015-09-17 | 엘지전자 주식회사 | 무선랜에서 재전송 방법 및 장치 |
KR20170067830A (ko) | 2014-10-06 | 2017-06-16 | 브이아이디 스케일, 인크. | 링크 상태, 트래픽 유형 및/또는 우선 순위에 대한 통신 파라미터 적응 |
WO2016129086A1 (ja) | 2015-02-12 | 2016-08-18 | 三菱電機株式会社 | 列車制御システム、基地局制御装置、地上無線基地局、車上無線局 |
WO2016175329A1 (ja) * | 2015-04-30 | 2016-11-03 | 株式会社 東芝 | 無線通信端末および無線通信方法 |
WO2016175328A1 (ja) * | 2015-04-30 | 2016-11-03 | 株式会社 東芝 | 無線通信装置 |
US10063359B2 (en) * | 2015-08-24 | 2018-08-28 | Lg Electronics Inc. | Method and apparatus for processing ACK signal in a wireless local area network system |
KR102411787B1 (ko) * | 2016-06-14 | 2022-06-23 | 주식회사 윌러스표준기술연구소 | 집합 mpdu를 사용하는 무선 통신 방법 및 이를 사용하는 무선 통신 단말 |
WO2018079998A1 (ko) * | 2016-10-27 | 2018-05-03 | 엘지전자(주) | 무선 통신 시스템에서 핸드오버를 수행하기 위한 방법 및 이를 위한 장치 |
EP3585093B1 (en) * | 2017-03-23 | 2021-09-01 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method for transmitting data, terminal device, and network device |
US10405231B2 (en) * | 2017-04-24 | 2019-09-03 | Motorola Mobility Llc | Switching between packet duplication operating modes |
EP3689099A1 (en) * | 2017-09-28 | 2020-08-05 | Telefonaktiebolaget LM Ericsson (Publ) | Wireless device, network node, and methods performed thereby for handling a failure in a secondary cell serving the wireless device |
-
2018
- 2018-07-03 CN CN201810733667.0A patent/CN110677871B/zh active Active
-
2019
- 2019-07-02 KR KR1020217002033A patent/KR102601348B1/ko active IP Right Grant
- 2019-07-02 EP EP19830664.9A patent/EP3809748B1/en active Active
- 2019-07-02 JP JP2020573177A patent/JP7123194B2/ja active Active
- 2019-07-02 WO PCT/CN2019/094328 patent/WO2020007278A1/zh unknown
-
2020
- 2020-12-31 US US17/139,204 patent/US11502986B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101480070A (zh) * | 2006-07-04 | 2009-07-08 | 艾利森电话股份有限公司 | 在高速下行链路信道上的广播和多播 |
CN102144369B (zh) * | 2008-09-03 | 2014-07-30 | 三星电子株式会社 | 在无线通信系统中产生媒体访问控制协议数据单元的装置及方法 |
CN107104769A (zh) * | 2010-11-12 | 2017-08-29 | 交互数字专利控股公司 | 用于节点执行信道聚合的方法和网络节点 |
CN106470497A (zh) * | 2015-08-17 | 2017-03-01 | 中国移动通信集团公司 | 一种数据传输方法、无线链路控制发送及接收实体 |
CN106657918A (zh) * | 2017-01-04 | 2017-05-10 | 北京捷联微芯科技有限公司 | 数据传输的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3809748B1 (en) | 2024-10-02 |
JP7123194B2 (ja) | 2022-08-22 |
JP2021529480A (ja) | 2021-10-28 |
WO2020007278A1 (zh) | 2020-01-09 |
KR102601348B1 (ko) | 2023-11-10 |
US20210126900A1 (en) | 2021-04-29 |
EP3809748A1 (en) | 2021-04-21 |
CN110677871A (zh) | 2020-01-10 |
KR20210022102A (ko) | 2021-03-02 |
US11502986B2 (en) | 2022-11-15 |
EP3809748A4 (en) | 2021-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200358886A1 (en) | Data Transmission Method, Apparatus, And System | |
KR101298407B1 (ko) | 데이터 패킷의 송신 방법 및 장치, 데이터 패킷의 수신 방법 및 장치 | |
US9059916B2 (en) | Apparatus and method for transmitting packets in a communication system | |
KR100890978B1 (ko) | 무선 인터페이스를 통해 tcp 성능을 개선시키기 위한 이중 프록시 접근 방식 | |
US7397819B2 (en) | Packet compression system, packet restoration system, packet compression method, and packet restoration method | |
KR100631271B1 (ko) | 패킷 응집 전송 방법 | |
EP1427146B1 (en) | Packet transmission system and packet reception system | |
US9407734B2 (en) | System and method for efficient frame aggregation based on aggregation limits or parameters | |
CN109510690B (zh) | 传输报文的方法、网络组件和计算机可读存储介质 | |
CN109120540B (zh) | 传输报文的方法、代理服务器和计算机可读存储介质 | |
CN106464567B (zh) | 一种流量动态控制方法、设备及网关、融合接入汇聚点 | |
EP3525421A1 (en) | Data transmission method and apparatus | |
CN110677871B (zh) | 数据发送方法及发送设备、数据接收方法及接收设备 | |
CN111404872A (zh) | 一种报文处理方法、装置及系统 | |
EP3413533A1 (en) | Data transmission method and server | |
KR101742909B1 (ko) | 데이터 유닛 전송 장치 및 그 동작 방법 | |
EP3672189B1 (en) | Data transmission method, device and system | |
CN104580171B (zh) | Tcp协议的传输方法、装置和系统 | |
CN116963175A (zh) | 数据传输方法、装置及系统 | |
KR100663465B1 (ko) | 전송제어 프로토콜을 사용하는 데이터 네트워크에서 다중 세그먼트 복구를 위한 가상 블록 정보의 송수신 방법 및 장치 | |
WO2020154872A1 (zh) | 一种传输控制协议加速方法和装置 | |
CN116962509B (zh) | 基于quic协议的网络代理方法以及网络代理系统 | |
JP6268027B2 (ja) | 通信システム、送信装置、及び通信方法 | |
CN116032807A (zh) | 一种探测方法、装置、电子设备及存储介质 | |
WO2012109878A1 (zh) | TCP业务和VoIP业务的处理方法、设备及系统 |
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 |