数据传输方法及设备与流程

文档序号:31842435发布日期:2022-10-18 22:55阅读:91来源:国知局
数据传输方法及设备与流程

1.本技术涉及通信领域,尤其涉及一种数据传输方法及设备。


背景技术:

2.提升单一基本服务集(basic service set,简称bss)的数据吞吐量是目前亟待解决的问题,目前,提升bss的数据吞吐量的技术有多用户多输入输出(mu-mnro)技术和多频率信道技术。在使用这些技术的情况下,第一终端可使用多信道/多路径同时和多个第二终端通信,因此,bss的数据吞吐量可得到显著增加。
3.然而,当第一终端向多个第二终端发送的数据帧的长度不同时,第一终端向某个第二终端发送的数据帧和另一第二终端向第一终端返回的ack帧可能会发生冲突,导致第一设备可能无法接收到第二设备返回的ack帧。


技术实现要素:

4.本技术提供一种数据传输方法及设备,用于解决数据帧和ack帧发生冲突的问题。
5.第一方面,本技术提供一种数据传输方法,应用于第一终端,包括:所述第一终端向多个第二终端发送不同的数据帧时,根据待发送的多个数据帧中每个数据帧的长度,确定每个数据帧的发送时间点;根据每个数据帧的发送时间点,向对应的第二终端发送所述数据帧。
6.可选的,所述根据待发送的多个数据帧中每个数据帧的长度,确定每个数据帧的发送时间点,包括:从所述待发送的多个数据帧中获取长度最长的数据帧;获取所述长度最长的数据帧和第一数据帧的发送时间差,所述第一数据帧为所述待发送的多个数据帧中除所述长度最长的数据帧之外的任一数据帧;根据所述长度最长的数据帧的发送时间点和所述发送时间差,确定所述第一数据帧的发送时间点。
7.可选的,所述获取所述长度最长的数据帧和第一数据帧的发送时间差,包括:获取所述长度最长的数据帧和第一数据帧的长度差;根据所述长度差和数据传输速率,确定所述发送时间差。
8.第二方面,本技术提供一种数据传输方法,应用于第一终端,包括:所述第一终端向多个第二终端发送不同的数据帧时,根据待发送的多个数据帧中每个数据帧的长度,确定每个第二终端返回确收帧的时间点;将每个第二终端返回确收帧的时间点添加在对应的数据帧中;向所述多个第二终端发送对应的数据帧。
9.可选的,所述根据待发送的多个数据帧中每个数据帧的长度,确定每个第二终端返回确收帧的时间点,包括:从所述待发送的多个数据帧中获取长度最长的数据帧,所述长度最长的数据帧对应的第二终端为目标终端;根据所述长度最长的数据帧的长度,确定所述目标终端返回确收帧的时间点;获取第三终端和所述目标终端返回确收帧的时间差,所述第三终端为所述多个第二终端中任一终端;根据所述目标终端返回确收帧的时间点和所述返回确收帧的时间差,确定所述第三终端返回确收帧的时间点。
10.可选的,所述获取第三终端和所述目标终端返回确收帧的时间差,包括:获取所述长度最长的数据帧和第一数据帧的长度差,所述第一数据帧为所述第三终端对应的数据帧;根据所述长度差和数据传输速率,确定所述返回确收帧的时间差。
11.可选的,所述将每个第二终端返回确收帧的时间点添加在对应的数据帧中,包括:将每个第二终端返回确收帧的时间点添加在对应的数据帧的填充字段中。
12.第三方面,本技术提供一种数据传输方法,应用于第二终端,包括:接收来自第一终端的数据帧;从所述数据帧中读取返回确收帧的时间点;根据所述返回确收帧的时间点,向所述第一终端发送确收帧。
13.可选的,所述从所述数据帧中读取返回确收帧的时间点,包括:从所述数据帧的填充字段中读取所述返回确收帧的时间点。
14.第四方面,本技术提供一种终端设备,包括:确定模块,用于所述第一终端向多个第二终端发送不同的数据帧时,根据待发送的多个数据帧中每个数据帧的长度,确定每个数据帧的发送时间点;发送模块,用于根据每个数据帧的发送时间点,向对应的第二终端发送所述数据帧。
15.第五方面,本技术提供一种终端设备,包括:确定模块,用于所述第一终端向多个第二终端发送不同的数据帧时,根据待发送的多个数据帧中每个数据帧的长度,确定每个第二终端返回确收帧的时间点;添加模块,用于将每个第二终端返回确收帧的时间点添加在对应的数据帧中;发送模块,用于向所述多个第二终端发送对应的数据帧。
16.第六方面,本技术提供一种终端设备,包括:接收模块,用于接收来自第一终端的数据帧;读取模块,用于从所述数据帧中读取返回确收帧的时间点;发送模块,用于根据所述返回确收帧的时间点,向所述第一终端发送确收帧。
17.第七方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面、第二方面或者第三方面所述的方法。
18.第八方面,本技术提供一种终端设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来实现第一方面、第二方面或者第三方面所述的方法。
19.本技术提供的数据传输方法及设备,提供两种解决数据帧和ack帧冲突的方案,具体的,第一种方案为:第一终端获取待发送的多个数据帧的长度,由于长度最长的数据帧对应的接收时间最长,以长度最长的数据帧为基准,延后其他数据帧的发送时间点,使得各个第二终端接收到数据帧的时间点相同,各个第二终端向第一终端发送ack帧的时间点也相同,从而避免数据帧和ack帧冲突的问题。第二种方案为:以目标终端向第一终端发送ack帧的时间点为基准,延后其他第二终端向第一终端发送ack帧的时间点,使得各个第二终端向第一终端发送ack帧的时间点是相同的,从而避免数据帧和ack帧冲突的问题。
附图说明
20.图1为本技术提供的数据帧的结构示意图;
21.图2为本技术提供的第二终端接收到第一终端发送的数据帧后反馈确收(ack)帧的原理图;
22.图3为本技术提供的数据帧和ack帧冲突的示意图;
23.图4为本技术提供的数据传输方法的实施例一的流程示意图;
24.图5为本技术提供的多个第二终端在同一时间点返回ack帧的原理图一;
25.图6为本技术提供的数据传输方法的实施例二的流程示意图;
26.图7为本技术提供的多个第二终端在同一时间点返回ack帧的原理图二;
27.图8为本技术提供的第一终端的结构示意图一;
28.图9为本技术提供的第一终端的结构示意图二;
29.图10为本技术提供的第二终端的结构示意图;
30.图11为本技术提供的终端的结构示意图。
具体实施方式
31.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术中的附图,对本技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
32.在本技术中,需要解释的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“以是一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:单独a,单独b,单独c,a和b的组合,a和c的组合,b和c的组合,或a、b以及c的组合,其中a,b,c可以是单个,也可以是多个。
33.图1为本技术提供的数据帧的结构示意图。本技术提到的数据帧可以为聚合mac层协议数据单元(a-mpdu)。参见图1所示,数据帧包括多个子帧。每个子帧包括:定界符、mpdu和填充字段。定界符位于mpdu的前面,用于标识mpdu。定界符包括mpdu长度信息、用于确保定界符的完整性的循环冗余校验(cyclic redundancy check,简称crc)和表征该定界符的识别标志。标准规定两个连续子帧的两个开始位置之间的间隙为32比特(即,4字节)的整数倍。这里,填充字段的设计可以满足该规定。所以,如图1所示,最后子帧不包括填充字段。填充字段可具有0到3字节的尺寸。
34.图2为本技术提供的第二终端接收到第一终端发送的数据帧后反馈确收(ack)帧的原理图。参见图2所示,第二终端接收到第一终端发送的具有图1所示结构的数据帧201后,在短帧间间隔(short interframe space,简称sifs)之后向第一终端发送ack帧202。
35.提升单一基本服务集(basic service set,简称bss)的数据吞吐量是目前亟待解决的问题,目前,提升bss的数据吞吐量的技术有多用户多输入输出(mu-mnro)技术和多频率信道技术。在使用这些技术的情况下,第一终端可使用多信道/多路径同时和多个第二终端通信,因此,bss的数据吞吐量可得到显著增加。
36.然而,当使用多信道进行通信时,第一终端只能通过多信道同时进行发送和接收中的一种。例如:第一终端使用第一信道和第二信道进行通信时,第一终端不能在第一信道发送数据的同时在第二信道接收数据,即,第一终端只能通过第一信道和第二信道同时发
送数据或者通过第一信道和第二信道同时接收数据。
37.在上述限制下,参见图3所示,终端a和终端b均为第二终端,由于第一终端向终端a发送的数据帧301的时间长度比第一终端向终端b发送的数据帧303的时间长度短,所以,数据帧303和ack帧302之间可能会发生冲突。也就是说,由于第一终端向终端b发送数据帧303的同时终端a向第一终端发送ack帧302,如上文描述第一终端不支持同时收发行为,因此第一终端可能接收不到终端a发送的ack帧302。
38.由于第一终端向多个第二终端发送的数据帧的长度不同时才会出现数据帧和ack帧冲突的问题,如果能保证各个第二终端接收到数据帧后,是在同一时间点向第一终端发送ack帧,就不会出现数据帧和ack帧冲突导致ack帧无法被接收到的问题。以此为切入点,本技术提出两种解决思路:
39.第一种解决思路为:第一终端获取待发送的多个数据帧的长度,由于长度最长的数据帧对应的接收时间最长,目标终端返回ack帧的时间点最晚,为方便说明,本技术将长度最长的数据帧对应的第二终端称为目标终端,因此可以以长度最长的数据帧为基准,延后其他数据帧的发送时间点,使得其他第二终端接收到数据帧的时间点和目标终端接收到数据帧的时间点相同,参见图2所示,各个第二终端接收到数据帧后,均在sifs之后向第一终端发送ack帧,因此,各个第二终端向第一终端发送ack帧的时间点是相同的,因此不会产生如图3所示数据帧和ack帧冲突的问题。
40.第二种解决思路为:第一终端向多个第二终端发送的数据帧的长度不同时,虽然各个第二终端接收到数据帧的时间点不同,但是各个第二终端可以统一在同一时间点向第一终端发送ack帧。具体的,如上文描述,目标终端接收的数据帧为长度最长的数据帧,因此目标终端接收到数据帧的时间点最晚,目标终端向第一终端发送ack帧的时间点也最晚,可以以目标终端向第一终端发送ack帧的时间点为基准,延后其他第二终端向第一终端发送ack帧的时间点,使得各个第二终端向第一终端发送ack帧的时间点是相同的,从而避免如图3所示数据帧和ack帧冲突的问题。
41.本技术中的第一终端可以为无线接入点(access point,简称ap),第二终端可以为站(station,简称sta)。
42.下面以具体地实施例对上面两个解决思路对应的具体实现方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
43.实施例一
44.图4为本技术提供的数据传输方法的实施例一的流程示意图。如图4所示,本实施例提供的数据传输方法,包括:
45.s401、第一终端根据待发送的多个数据帧中每个数据帧的长度,确定每个数据帧的发送时间点。
46.如上文所描述,多频率信道技术支持第一终端使用多信道同时和多个第二终端通信。当第一终端获取到即将发送给多个第二终端的多个数据帧后,可通过如下方式确定每个数据帧的发送时间点:
47.首先,从待发送的多个数据帧中获取长度最长的数据帧,然后获取长度最长的数据帧和第一数据帧的发送时间差,该第一数据帧为待发送的多个数据帧中除长度最长的数
据帧之外的任一数据帧;根据长度最长的数据帧的发送时间点和上述发送时间差,确定第一数据帧的发送时间点。
48.需要说明的是:长度最长的数据帧的发送时间点可以是指定的,比如可以指定在第一终端接收到所有待发送的数据帧后的第xs为长度最长的数据帧的发送时间点。
49.在一种可能的实现方式中,第一终端可获取长度最长的数据帧和第一数据帧的长度差,根据该长度差和数据传输速率,确定上述发送时间差。
50.s402、根据每个数据帧的发送时间点,向对应的第二终端发送所述数据帧。
51.s403、第二终端向第一终端发送ack帧。
52.下面对上述s401-s403过程举例说明:
53.参见图5所示,终端a和终端b均为第二终端,第一终端即将向终端a发送数据帧301,第一终端即将向终端b发送数据帧303。第一终端从数据帧301和数据帧303中找到长度最长的数据帧303,指定图5中时间点a为第一终端发送数据帧303的时间的点,然后计算数据帧303和数据帧301的长度差,用该长度差除以数据传输速率,得到数据帧303和数据帧301的发送时间差,将时间点a向后延上述发送时间差时对应的时间点b作为第一终端发送数据帧301的时间点,由于第一终端延后了数据帧301的发送时间点,因此终端a接收到数据帧301的时间点和终端b接收到数据帧303的时间点是相同的,由于终端a在接收到数据帧301后,在sifs之后向第一终端发送ack帧302,终端b在接收到数据帧303后,在sifs之后向第一终端发送ack帧304,也就是说,终端a和终端b同时将ack帧302和ack帧304发送给第一终端设备,避免了图3中数据帧和ack帧冲突导致ack帧无法被第一终端接收到的问题。
54.本实施例提供的数据传输方法,第一终端获取待发送的多个数据帧的长度,由于长度最长的数据帧对应的接收时间最长,以长度最长的数据帧为基准,延后其他数据帧的发送时间点,使得各个第二终端接收到数据帧的时间点相同,各个第二终端向第一终端发送ack帧的时间点也相同,从而避免如图3所示数据帧和ack帧冲突的问题。
55.实施例二
56.图6为本技术提供的数据传输方法的实施例二的流程示意图。如图6所示,本实施例提供的数据传输方法,包括:
57.s601、第一终端根据待发送的多个数据帧中每个数据帧的长度,确定每个第二终端返回ack帧的时间点。
58.当第一终端获取到即将发送给多个第二终端的多个数据帧后,可通过如下方式确定每个第二终端返回ack帧的时间点:
59.从待发送的多个数据帧中获取长度最长的数据帧,为方便说明,本技术中将长度最长的数据帧对应的第二终端称为目标终端;根据长度最长的数据帧的长度,确定目标终端返回ack帧的时间点;获取第三终端和目标终端返回ack帧的时间差,该第三终端为多个第二终端中除目标终端之外任一终端;根据目标终端返回ack帧的时间点和上述返回ack帧的时间差,确定第三终端返回ack帧的时间点。
60.可选的,目标终端返回ack帧的时间点可以为目标终端接收到数据帧起sifs之后。
61.一种可能的实现方式中,第一终端可获取长度最长的数据帧和第一数据帧的长度差,该第一数据帧为第三终端对应的数据帧;根据所述长度差和数据传输速率,确定上述返回确收帧的时间差。
62.s602、第一终端将每个第二终端返回ack帧的时间点添加在对应的数据帧中。
63.一种可能的实现方式中,第一终端可将每个第二终端返回确收帧的时间点添加在对应的数据帧的填充字段中。
64.s603、第一终端向多个第二终端发送对应的数据帧。
65.s604、第二终端从接收到的数据帧中读取返回确收帧的时间点。
66.s605、第二终端根据读取到的返回确收帧的时间点,向第一终端发送ack帧。
67.下面对上述s601-s605的过程举例说明:
68.参见图7所示,第一终端即将向终端a发送数据帧301,第一终端即将向终端b发送数据帧303。第一终端从数据帧301和数据帧303中找到长度最长的数据帧303,将终端b接收到数据帧303起sifs之后的时间点a作为终端b返回ack帧的时间点,计算数据帧303和数据帧301的长度差,用该长度差除以数据传输速率,得到终端a和终端b返回ack帧的时间差,将终端a接收到数据帧301时的时间点b起,sisf加上上述时间差之后的时间点作为终端a设备返回ack帧的时间点。参见图7所示,时间点b起,sisf加上上述时间差之后的时间点正好为时间点a,也就是说,终端a和终端b同时将ack帧302和ack帧304发送给第一终端,避免了图3中数据帧和ack帧冲突导致ack帧无法被第一终端接收到的问题。
69.本技术实施提供的数据传输方法,以目标终端向第一终端发送ack帧的时间点为基准,延后其他第二终端向第一终端发送ack帧的时间点,使得各个第二终端向第一终端发送ack帧的时间点是相同的,从而避免如图3所示数据帧和ack帧冲突的问题。
70.图8为本技术提供的第一终端的结构示意图一。如图8所示,本技术提供的第一终端可包括:
71.确定模块801,用于所述第一终端向多个第二终端发送不同的数据帧时,根据待发送的多个数据帧中每个数据帧的长度,确定每个数据帧的发送时间点;
72.发送模块802,用于根据每个数据帧的发送时间点,向对应的第二终端发送所述数据帧。
73.可选的,确定模块801具体用于:
74.从所述待发送的多个数据帧中获取长度最长的数据帧;
75.获取所述长度最长的数据帧和第一数据帧的发送时间差,所述第一数据帧为所述待发送的多个数据帧中除所述长度最长的数据帧之外的任一数据帧;
76.根据所述长度最长的数据帧的发送时间点和所述发送时间差,确定所述第一数据帧的发送时间点。
77.可选的,确定模块801具体用于:
78.获取所述长度最长的数据帧和第一数据帧的长度差;
79.根据所述长度差和数据传输速率,确定所述发送时间差。
80.图8所示第一终端可用于执行实施例一中第一终端执行的步骤。其实现原理和技术效果类似,在此不再赘述。
81.图9为本技术提供的第一终端的结构示意图二。如图8所示,本技术提供的第一终端可包括:
82.确定模块901,用于所述第一终端向多个第二终端发送不同的数据帧时,根据待发送的多个数据帧中每个数据帧的长度,确定每个第二终端返回确收帧的时间点;
83.添加模块902,用于将每个第二终端返回确收帧的时间点添加在对应的数据帧中;
84.发送模块903,用于向所述多个第二终端发送对应的数据帧。
85.可选的,确定模块901具体用于:
86.从所述待发送的多个数据帧中获取长度最长的数据帧,所述长度最长的数据帧对应的第二终端为目标终端;
87.根据所述长度最长的数据帧的长度,确定所述目标终端返回确收帧的时间点;
88.获取第三终端和所述目标终端返回确收帧的时间差,所述第三终端为所述多个第二终端中任一终端;
89.根据所述目标终端返回确收帧的时间点和所述返回确收帧的时间差,确定所述第三终端返回确收帧的时间点。
90.可选的,确定模块901具体用于:
91.获取所述长度最长的数据帧和第一数据帧的长度差,所述第一数据帧为所述第三终端对应的数据帧;
92.根据所述长度差和数据传输速率,确定所述返回确收帧的时间差。
93.可选的,添加模块902具体用于:
94.将每个第二终端返回确收帧的时间点添加在对应的数据帧的填充字段中。
95.图9所示第一终端可用于执行实施例二中第一终端执行的步骤。其实现原理和技术效果类似,在此不再赘述。
96.图10为本技术提供的第二终端的结构示意图。如图10所示,本技术提供的第二终端可包括:
97.接收模块1001,用于接收来自第一终端的数据帧;
98.读取模块1002,用于从所述数据帧中读取返回确收帧的时间点;
99.发送模块1003,用于根据所述返回确收帧的时间点,向所述第一终端发送确收帧。
100.可选的,上述读取模块1002具体用于:
101.从所述数据帧的填充字段中读取所述返回确收帧的时间点。
102.图10所示第一终端可用于执行实施例二中第二终端执行的步骤。其实现原理和技术效果类似,在此不再赘述。
103.图11为本技术提供的终端的结构示意图。如图11所示,本实施例的终端可以包括:
104.存储器1101,用于存储程序指令。
105.处理器1102,用于在所述程序指令被执行时实现实施例一中第一终端执行的步骤,或者实现实施例二中第一终端执行的步骤,或者实现实施例二中第二终端执行的步骤。具体实现原理可参见上述实施例,本技术此处不再赘述。
106.本技术提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现实施例一中第一终端执行的步骤,或者实现实施例二中第一终端执行的步骤,或者实现实施例二中第二终端执行的步骤。具体实现原理可参见上述实施例,本技术此处不再赘述。
107.本技术还提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得终端实施实施例一中第一终端执行的步骤,或
者实现实施例二中第一终端执行的步骤,或者实现实施例二中第二终端执行的步骤。具体实现原理可参见上述实施例,本技术此处不再赘述。
108.本技术中的终端也可以称为终端设备或者用户设备。
109.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
110.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
111.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
112.上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本技术各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-only memory,简称:rom)、随机存取存储器(英文:random access memory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
113.应理解,本技术所描述的处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
114.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1