发明内容
在多链路场景下,通常一个物理设备可以包括多个逻辑设备,每个逻辑设备都可以独立的管理数据发送和接收,且每个逻辑设备独立工作在一条链路上。然而,出于设备的成本、能耗节省和体积考虑,有些多链路设备的收发机的抗干扰性能较差,多条链路之间收发数据会形成较大的干扰,导致多链路设备在一条链路上发送数据时,其他链路无法接收数据,这些链路称为非同时收发(NSTR,non-simultaneous transmitting and receiving)链路集;如果多链路设备配置有更高性能的收发机,多条链路之间收发数据抗干扰能力很强,在一条链路上发送数据时,其他链路上也可以接收数据,两条链路之间收发数据互相不影响,这些链路称为同时收发(STR, simultaneous transmitting and receiving)链路集。当多链路设备在非同时收发链路集中的一条链路上发送数据时,其他链路上由于干扰无法检测链路是否空闲,这种现象称为媒体失同步。当媒体失同步发生时,多链路设备要么由于不能判断链路是否空闲而无法在媒体失同步的链路上进行发送,要么检测错误导致发送与其他终端设备的发送重合,从而造成数据发送失败。有鉴于此,本申请实施例提供一种控制多链路设备发送数据的方法、装置、设备及存储介质。
第一方面,本申请实施例提供一种控制多链路设备发送数据的方法,应用于第一多链路设备,所述第一多链路设备至少通过第一链路和第二链路与第二多链路设备连接,其中,对于所述第一多链路设备,第一链路和第二链路为NSTR链路集,对于所述第二多链路设备,第一链路和第二链路为STR链路集,包括:
通过第一链路发送数据包给第二多链路设备,所述数据包中指示需要第二多链路设备在第二链路上辅助发送数据;
接收第二多链路设备通过第二链路发送的第一消息,所述第一消息用于指示辅助发送,所述第一消息中包含分配给第一多链路设备在第二链路上的发送时长;
通过第二链路发送响应于所述第一消息的第二消息给第二多链路设备;
在所述分配给第一多链路设备在第二链路上的发送时长内通过第二链路发送数据。
一种实施方式中,所述第一消息中还包含辅助发送的模式的指示,其中,辅助发送的模式包括以下两种:在分配的发送时长内仅可以发送数据给第二多链路设备,在分配的发送时长内可以发送数据给第二多链路设备或其他设备;
所述在所述分配给第一多链路设备在第二链路上的发送时长内通过第二链路发送数据包括:
如果所述第一消息中指示在分配的发送时长内仅可以发送数据给第二多链路设备,则在所述分配给第一多链路设备在第二链路上的发送时长内通过第二链路发送数据给第二多链路设备;
如果所述第一消息中指示在分配的发送时长内可以发送数据给第二多链路设备或其他设备,则在所述分配给第一多链路设备在第二链路上的发送时长内通过第二链路发送数据给第二多链路设备或其他设备。
一种实施方式中,所述第一消息中还包含接收第一消息的设备的信息,当所述接收第一消息的设备的信息包括第一多链路设备的标识时,才通过第二链路发送响应于所述第一消息的第二消息给第二多链路设备。
一种实施方式中,所述第一多链路设备为终端设备,第二多链路设备为接入点,所述第一消息为触发消息,所述触发消息中包括触发的类型,且所述触发的类型设置为辅助发送。
一种实施方式中,所述第一消息中还包含辅助发送的链路的指示,且所述第一消息中指示辅助发送的链路包括第二链路。
进一步地,所述数据包中还指示需要第二多链路设备在第三链路上辅助发送数据,所述第一消息中指示辅助发送的链路还包括第三链路,所述第一消息中还包含分配给第一多链路设备在第三链路上的发送时长,且所述分配给第一多链路设备在第三链路上的发送时长与所述分配给第一多链路设备在第二链路上的发送时长相同,或者二者指示第一多链路设备在第三链路和第二链路上同时结束发送,所述第三链路为第一多链路设备和第二多链路设备之间的除第一链路和第二链路之外的链路,其中,对于所述第一多链路设备,第一链路、第二链路和第三链路为NSTR链路集,对于所述第二多链路设备,第一链路、第二链路和第三链路为STR链路集,还包括:
通过第三链路发送响应于第一消息的第三消息给第二多链路设备;
在所述分配给第一多链路设备在第三链路上的发送时长内通过第三链路发送数据。
更进一步地,所述在所述分配给第一多链路设备在第三链路上的发送时长内通过第三链路发送数据包括:
如果所述第一消息中指示在分配的发送时长内仅可以发送数据给第二多链路设备,则在所述分配给第一多链路设备在第三链路上的发送时长内通过第三链路发送数据给第二多链路设备;
如果所述第一消息中指示在分配的发送时长内可以发送数据给第二多链路设备或其他设备,则在所述分配给第一多链路设备在第三链路上的发送时长内通过第三链路发送数据给第二多链路设备或其他设备。
一种实施方式中,在所述接收第二多链路设备通过第二链路发送的第一消息之前,还包括:
接收第二多链路设备通过第二链路发送的第四消息,所述第四消息用于请求第一多链路设备在第二链路上需要发送的数据的大小;
通过第二链路发送响应于所述第四消息的第五消息给第二多链路设备,所述第五消息中包含第一多链路设备在第二链路上需要发送的数据的大小,指示第二多链路设备根据第五消息中的第一多链路设备在第二链路上需要发送的数据的大小设置分配给第一多链路设备在第二链路上的发送时长。
第二方面,本申请提供一种控制多链路设备发送数据的方法,应用于第二多链路设备,所述第二多链路设备至少通过第一链路和第二链路与第一多链路设备连接,其中,对于所述第一多链路设备,第一链路和第二链路为NSTR链路集,对于所述第二多链路设备,第一链路和第二链路为STR链路集,包括:
接收第一多链路设备通过第一链路发送的数据包,所述数据包中指示需要第二多链路设备在第二链路上辅助发送数据;
如果在第二链路上获得发送时机,则通过第二链路发送第一消息给第一多链路设备,所述第一消息用于指示辅助发送,所述第一消息中包含分配给第一多链路设备在第二链路上的发送时长;
接收第一多链路设备通过第二链路发送的响应于所述第一消息的第二消息。
一种实施方式中,所述第一消息中还包含辅助发送的模式的指示,其中,辅助发送的模式包括以下两种:在分配的发送时长内仅可以发送数据给第二多链路设备,在分配的发送时长内可以发送数据给第二多链路设备或其他设备。
进一步地,在所述接收第一多链路设备通过第二链路发送的响应于所述第一消息的第二消息之后,还包括:
如果所述第一消息中指示辅助发送的模式为在分配的发送时长内仅可以发送数据给第二多链路设备,在所述分配给第一多链路设备在第二链路上的发送时长内,在通过第二链路发送完即时响应消息或接收完第一多链路设备通过第二链路发送的数据但不要求即时响应后,如果检测到第二链路空闲,则通过第二链路发送数据给第一多链路设备或其他设备;
如果所述第一消息中指示辅助发送的模式为在分配的发送时长内可以发送数据给第二多链路设备或其他设备,则在所述分配给第一多链路设备在第二链路上的发送时长内通过第二链路仅可以发送即时响应消息给第一多链路设备。
一种实施方式中,所述第一消息中还包含接收第一消息的设备的信息,且所述接收第一消息的设备的信息包括第一多链路设备的标识。
一种实施方式中,所述第一多链路设备为终端设备,第二多链路设备为接入点,所述第一消息为触发消息,所述触发消息中包括触发的类型,且所述触发的类型设置为辅助发送。
一种实施方式中,所述第一消息中还包含辅助发送的链路的指示,且所述第一消息中指示辅助发送的链路包括第二链路。
进一步地,所述数据包中还指示需要第二多链路设备在第三链路上辅助发送数据,如果还在第三链路上获得发送时机,所述第一消息中指示辅助发送的链路还包括第三链路,所述第一消息中还包含分配给第一多链路设备在第三链路上的发送时长,且所述分配给第一多链路设备在第三链路上的发送时长与所述分配给第一多链路设备在第二链路上的发送时长相同,或者二者指示第一多链路设备在第三链路和第二链路上同时结束发送,所述第三链路为第一多链路设备和第二多链路设备之间的除第一链路和第二链路之外的链路,其中,对于所述第一多链路设备,第一链路、第二链路和第三链路为NSTR链路集,对于所述第二多链路设备,第一链路、第二链路和第三链路为STR链路集,还包括:
接收第一多链路设备通过第三链路发送的响应于第一消息的第三消息。
更进一步地,在所述接收第一多链路设备通过第三链路发送的响应于第一消息的第三消息之后,还包括:
如果所述第一消息中指示辅助发送的模式为在分配的发送时长内仅可以发送数据给第二多链路设备,在所述分配给第一多链路设备在第三链路的发送时长内,在通过第三链路发送完即时响应消息或接收完第一多链路设备通过第三链路发送的数据但不要求即时响应后,如果检测到第三链路空闲,则通过第三链路发送数据给第一多链路设备或其他设备;
如果所述第一消息中指示辅助发送的模式为在分配的发送时长内可以发送数据给第二多链路设备或其他设备,则在所述分配给第一多链路设备在第三链路的发送时长内通过第三链路仅可以发送即时响应消息给第一多链路设备。
一种实施方式中,在所述通过第二链路发送第一消息给第一多链路设备之前,还包括:
通过第二链路发送第四消息给第一多链路设备,所述第四消息用于请求第一多链路设备在第二链路上需要发送的数据的大小;
接收第一多链路设备通过第二链路发送的响应于所述第四消息的第五消息,所述第五消息中包含第一多链路设备在第二链路上需要发送的数据的大小;
根据第五消息中的第一多链路设备在第二链路上需要发送的数据的大小设置分配给第一多链路设备在第二链路上的发送时长。
第三方面,本申请提供一种控制多链路设备发送数据的装置,应用于第一多链路设备,所述第一多链路设备至少通过第一链路和第二链路与第二多链路设备连接,其中,对于所述第一多链路设备,第一链路和第二链路为NSTR链路集,对于所述第二多链路设备,第一链路和第二链路为STR链路集,包括求辅助发送模块,所述求辅助发送模块用于执行以下步骤:
通过第一链路发送数据包给第二多链路设备,所述数据包中指示需要第二多链路设备在第二链路上辅助发送数据;
接收第二多链路设备通过第二链路发送的第一消息,所述第一消息用于指示辅助发送,所述第一消息中包含分配给第一多链路设备在第二链路上的发送时长;
通过第二链路发送响应于所述第一消息的第二消息给第二多链路设备;
在所述分配给第一多链路设备在第二链路上的发送时长内通过第二链路发送数据。
第四方面,本申请提供一种控制多链路设备发送数据的装置,应用于第二多链路设备,所述第二多链路设备至少通过第一链路和第二链路与第一多链路设备连接,其中,对于所述第一多链路设备,第一链路和第二链路为NSTR链路集,对于所述第二多链路设备,第一链路和第二链路为STR链路集,包括辅助发送模块,所述辅助发送模块用于执行以下步骤:
接收第一多链路设备通过第一链路发送的数据包,所述数据包中指示需要第二多链路设备在第二链路上辅助发送数据;
如果在第二链路上获得发送时机,则通过第二链路发送第一消息给第一多链路设备,所述第一消息用于指示辅助发送,所述第一消息中包含分配给第一多链路设备在第二链路上的发送时长;
接收第一多链路设备通过第二链路发送的响应于所述第一消息的第二消息。
第五方面,本申请实施例提供一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现第一方面或第二方面所述的方法。
第六方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第二方面所述的方法。
第七方面,本申请实施例提供一种计算机程序产品,其包括指令,所述指令被处理器执行时实现第一方面或第二方面所述的方法。
需要说明的是,第三方面所述的装置用于实现第一方面所述的方法,第四方面所述的装置用于实现第二方面所述的方法,第五方面所述的电子设备、第六方面所述的存储介质和第七方面所述的计算机程序产品用于执行上述第一方面或第二方面提供的方法,因此可以达到与第一方面或第二方面所述的方法相同的有益效果,本申请实施例不再一一赘述。
本申请通过具有高性能的收发机的多链路设备辅助调度具有性能较差的收发机的多链路设备在媒体失同步的链路上进行发送,避免了资源的浪费,有效的提高了网络资源利用率,同时也降低了数据传输错误率,提高了网络传输速率。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整技术方案。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
在本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,其仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。
本申请实施例假设连接的两个多链路设备中,一个多链路设备为终端,另一个多链路设备为接入点,且两个多链路设备中均有两个逻辑实体,如图1所示,通信***包括多链路终端STA MLD和多链路接入点AP MLD。本申请实施例中的STA MLD可以通过无线方式与AP MLD连接,即STA MLD可以通过无线网络与AP MLD进行通信。本申请实施例假设多链路终端STA MLD有两个逻辑终端STA1和STA2,多链路接入点AP MLD有两个逻辑接入点AP1和AP2,STA1和AP1相连接,操作在链路link 1上,STA2和AP2相连接,操作在链路link 2上。其中,对于STA MLD,link1和link2为NSTR链路集,对于AP MLD,link1和link2为STR链路集。
应理解,图1仅为通信***的一个架构示意图,STA MLD和AP MLD可以包含更多的逻辑实体,两者中的逻辑实体数量可不相同,且本申请实施例中的AP MLD也可以替换成多链路终端,本申请实施例对此不做限制。本领域的技术人员将理解,依照本文描述的原理和功能,根据本申请的术语“接入点(AP)”还可以用于描述能够在网络架构内接收和传送无线信号的接入端口或任何其他设备,因此,接入点的使用仅是示例性的。
在图1所示通信***中,本申请实施例假设STA MLD通过link1发送数据给AP MLD,且STA MLD未通过link2发送数据给AP MLD,即STA1发送数据给AP1,STA2未发送数据,当STA2需要发送数据给AP2时,STA MLD可请求AP MLD辅助其在link2上发送数据。如图2所示,控制多链路设备发送数据的方法包括以下内容:
201、STA MLD通过link1发送数据包给AP MLD,所述数据包中指示需要AP MLD在link2上辅助发送数据。示例地,STA1发送给AP1的数据包中包含以下控制信息:
Assisted AP Link:指示需要辅助发送的链路,本实施例设置为link2。
202、AP MLD在link2上获得发送时机后,通过link2发送第一消息给STA MLD,第一消息用于指示辅助发送,第一消息中包含分配给STA MLD在link2上的发送时长。
具体地,AP MLD的逻辑接入点AP1接收到STA1发送的数据包后,如果其中包含Assisted AP Link,则根据Assisted AP Link的值所指示的链路,即link2,AP MLD操作在link2上的逻辑接入点AP2在link2上获得发送时机后,发送第一消息给STA2。
示例性地,第一消息为触发消息(trigger frame消息),该触发消息中包含触发的类型,且触发的类型设置为辅助发送。应理解,第一消息也可为其他类型的消息,只要能指示辅助发送即可,本申请实施例对此不做限制。
可选地,第一消息中还可包含辅助发送的模式的指示,指示STA MLD根据第一消息中指示的辅助发送的模式发送数据。其中,辅助发送的模式包括以下两种:在分配的发送时长内仅可以发送数据给第二多链路设备,在分配的发送时长内可以发送数据给第二多链路设备或其他设备。
可选地,第一消息中还可包含接收第一消息的设备的信息,且所述接收第一消息的设备的信息包括STA MLD的标识,如AP MLD为STA MLD分配的连接标识、STA MLD的地址等。
在一个具体示例中,假设第一消息为触发消息,该触发消息可包含以下参数:
Trigger type:触发的类型,如设置为AP assisted TX,指示触发的类型为辅助发送。
User info:接收触发消息的设备的信息,其中包含AP MLD为STA MLD分配的连接标识。
Assisted TX mode:辅助发送的模式,可设置为如下值:Exclusive:在该模式下,STA MLD在分配的时长内仅可以发送数据给AP MLD;Flexible:在该模式下,STA MLD在分配的时长内可以发送数据给AP MLD或其他设备(如与STA MLD连接的其他终端)。
Duration:AP MLD分配给STA MLD在link2上的发送时长。
203、STA MLD接收到第一消息后,通过link2发送响应于第一消息的第二消息给APMLD,并在所述分配给STA MLD在link2上的发送时长内通过link2发送数据。
具体地,STA2接收到第一消息后,发送响应于第一消息的第二消息(如CTS消息)给AP2,并在第一消息中分配给STA MLD在link2上的发送时长内发送数据。示例地,分配给STAMLD在link2上的发送时长从成功接收到上述第一消息后开始。
示例地,STA2接收到上述具体示例中的触发消息后,如果User info中指示的连接标识是AP MLD为STA MLD分配的连接标识,且触发类型指示为AP assisted TX,则发送CTS消息给AP2;STA2在发送CTS消息后,在Duration指示的时长内发送数据包,如果接收到的触发消息中Assisted TX mode指示为Exclusive,在Duration指示的时长内仅可以发送数据包给AP2;如果接收到的触发消息中Assisted TX mode指示为Flexible,在Duration指示的时长内可以发送数据包给AP2或发送数据包给其他终端。
可选地,AP2在接收到STA2发送的CTS后,如果先前发送的触发消息中Assisted TXmode设置为Exclusive,AP2在分配给STA MLD在link2上的发送时长内还可以在发送完即时响应消息或接收完STA2发送的数据包但不要求即时响应后,如果检测到链路空闲,发送数据包给STA2或其他终端;如果先前发送的触发消息中Assisted TX mode设置为Flexible,AP2在分配给STA MLD在link2上的发送时长内仅可以发送即时响应消息(接收完数据包要求发送即时响应消息的情况下)。
在一些实施例中,AP MLD在发送第一消息给STA MLD之前,还向STA MLD请求其通过link2需要发送的数据的大小,从而AP MLD可根据该数据的大小设置分配给STA MLD在link2上的发送时长,具体包括:
1001、AP MLD通过link2发送第四消息给STA MLD,所述第四消息用于请求STA MLD在link2上需要发送的数据的大小,如,AP2发送请求数据大小的触发消息给STA2。
1002、STA MLD接收到第四消息后,通过link2发送响应于第四消息的第五消息给AP MLD,第五消息中包含STA MLD在link2上需要发送的数据的大小。
1003、AP MLD接收到第五消息后,根据其包含的STA MLD在link2上需要发送的数据的大小设置分配给STA MLD在link2上的发送时长。
需要说明的是,AP MLD也可通过link1向STA MLD发送请求STA MLD在link2上需要发送的数据的大小的消息,消息中指示请求STA MLD在link2上需要发送的数据的大小即可。
图3为本申请实施例提供的另一种通信***的架构示意图。如图3所示,多链路终端STA MLD与多链路接入点AP MLD连接,STA MLD有三个逻辑终端STA1、STA2和STA3, APMLD有三个逻辑接入点AP1、AP2和AP3,其中,STA1在链路link1上与AP1连接,STA2在链路link2上与AP2连接,STA3在链路link3上与AP3连接。且对于STA MLD,link1、link2和link3为NSTR链路集,对于AP MLD,link1、link2和link3为STR链路集。
在图3所示通信***中,本申请实施例假设STA MLD通过link1发送数据给AP MLD,且STA MLD未通过link2和link3发送数据给AP MLD,即STA1发送数据给AP1,STA2和STA3未发送数据,当STA2需要发送数据给AP2,STA3需要发送数据给AP3时,STA MLD可请求AP MLD辅助其在link2和link3上发送数据。图4为本申请实施例提供的对应图3所示通信***的一种控制多链路设备发送数据的方法流程图。如图4所示,控制多链路设备发送数据的方法包括以下内容:
401、STA MLD通过link1发送数据包给AP MLD,所述数据包中指示需要AP MLD在link2和link3上辅助发送数据。示例地,STA1发送给AP1的数据包中包含以下控制信息:
Assisted AP Link:指示需要辅助发送的链路,本实施例设置为link2,link3。
402、AP MLD的逻辑接入点AP1接收到STA1发送的数据包后,如果其中包含Assisted AP Link,则根据Assisted AP Link的值所指示的链路,即link2和link3,辅助调度STA MLD在link2和link3进行发送。
1)如果AP MLD在link2和link3上获得发送时机,则通过link2或link3发送第一消息给STA MLD,第一消息中包含分配给STA MLD在link2和link3上的发送时长及辅助发送的链路的指示,且所述第一消息中指示辅助发送的链路包括link2和link3。
具体地,如果AP MLD操作在link2上的逻辑接入点AP2在link2上获得发送时机,且AP MLD操作在link3上的逻辑接入点AP3在link3上获得发送时机,如AP2在link2上获得的发送时机与AP3在link3上获得的发送时机同时结束,则在link2上发送第一消息给STA2,或在link3上发送第一消息给STA3。
示例性地,第一消息为触发消息(trigger frame消息),该触发消息中包含触发的类型,且触发的类型设置为辅助发送。应理解,第一消息也可为其他类型的消息,只要能指示辅助发送即可,本申请实施例对此不做限制。
可选地,第一消息中还可包含辅助发送的模式的指示,指示STA MLD根据第一消息中指示的辅助发送的模式发送数据。其中,辅助发送的模式包括以下两种:在分配的发送时长内仅可以发送数据给第二多链路设备,在分配的发送时长内可以发送数据给第二多链路设备或其他设备。
可选地,第一消息中还可包含接收第一消息的设备的信息,且所述接收第一消息的设备的信息包括STA MLD的标识,如AP MLD为STA MLD分配的连接标识、STA MLD的地址等。
在一个具体示例中,假设第一消息为触发消息,该触发消息可包含以下参数:
Trigger type:触发的类型,如设置为AP assisted TX,指示触发的类型为辅助发送。
User info:接收触发消息的设备的信息,其中包含AP MLD为STA MLD分配的连接标识。
Assisted TX mode:辅助发送的模式,可设置为如下值:Exclusive:在该模式下,STA MLD在分配的时长内仅可以发送数据给AP MLD;Flexible:在该模式下,STA MLD在分配的时长内可以发送数据给AP MLD或其他设备(如与STA MLD连接的其他终端)。
Duration:AP MLD分配给STA MLD在link2和link3上的发送时长。需要说明的是,可用同一个参数指示分配给STA MLD在link2和link3上的发送时长,此时分配给STA MLD在link2和link3上的发送时长相同,也可用两个参数分别指示分配给STA MLD在link2和link3上的发送时长,此时分配给STA MLD在link2和link3上的发送时长可相同,也可不同,若不同,则分配给STA MLD在link2和link3上的发送时长指示STA MLD在link2和link3上同时结束发送。
Assisted AP Link:指示辅助发送的链路,本实施例设置为link2,link3。
2)如果AP MLD在link2上获得发送时机,在link3上未获得发送时机,则通过link2发送第一消息给STA MLD,第一消息中包含分配给STA MLD在link2上的发送时长和辅助发送的链路的指示,且所述第一消息中指示辅助发送的链路包括link2。
具体地,如果AP MLD操作在link2上的逻辑接入点AP2在link2上获得发送时机,但AP MLD操作在link3上的逻辑接入点AP3在link3上未获得发送时机,则在link2上发送第一消息给STA2。
在一个具体示例中,假设第一消息为触发消息,该触发消息可包含以下参数:
Trigger type:触发的类型,如设置为AP assisted TX,指示触发的类型为辅助发送。
User info:接收触发消息的设备的信息,其中包含AP MLD为STA MLD分配的连接标识。
Assisted TX mode:辅助发送的模式,可设置为如下值:Exclusive:在该模式下,STA MLD在分配的时长内仅可以发送数据给AP MLD;Flexible:在该模式下,STA MLD在分配的时长内可以发送数据给AP MLD或其他设备(如与STA MLD连接的其他终端)。
Duration:AP MLD分配给STA MLD在link2上的发送时长。
Assisted AP Link:指示辅助发送的链路,本实施例设置为link2。
3)如果AP MLD在link3上获得发送时机,在link2上未获得发送时机,则通过link3发送第一消息给STA MLD,第一消息中包含分配给STA MLD在link3上的发送时长和辅助发送的链路的指示,且所述第一消息中指示辅助发送的链路包括link3。
具体地,如果AP MLD操作在link3上的逻辑接入点AP3在link3上获得发送时机,但AP MLD操作在link2上的逻辑接入点AP2在link2上未获得发送时机,则在link3上发送第一消息给STA3。
在一个具体示例中,假设第一消息为触发消息,该触发消息可包含以下参数:
Trigger type:触发的类型,如设置为AP assisted TX,指示触发的类型为辅助发送。
User info:接收触发消息的设备的信息,其中包含AP MLD为STA MLD分配的连接标识。
Assisted TX mode:辅助发送的模式,可设置为如下值:Exclusive:在该模式下,STA MLD在分配的时长内仅可以发送数据给AP MLD;Flexible:在该模式下,STA MLD在分配的时长内可以发送数据给AP MLD或其他设备(如与STA MLD连接的其他终端)。
Duration:AP MLD分配给STA MLD在link3上的发送时长。
Assisted AP Link:指示辅助发送的链路,本实施例设置为link3。
403、STA MLD接收到第一消息后,根据第一消息中辅助发送的链路的指示发送响应于第一消息中的消息给AP MLD,并在第一消息中指示的时长内发送数据。
具体地,STA MLD接收到第一消息后,如果所述第一消息中指示辅助发送的链路包括link2和link3,则通过link2发送响应于第一消息的第二消息给AP MLD,并通过link3发送响应于第一消息的第三消息给AP MLD,然后在分配给STA MLD在link2上的发送时长内通过link2发送数据,并在分配给STA MLD在link3上的发送时长内通过link3发送数据;如果所述第一消息中指示辅助发送的链路只包括link2,则只通过link2发送响应于第一消息的第二消息给AP MLD,然后在所述分配给STA MLD在link2上的发送时长内通过link2发送数据;如果所述第一消息中指示辅助发送的链路只包括link3,则只通过link3发送响应于第一消息的第三消息给AP MLD,然后在所述分配给STA MLD在link3上的发送时长内通过link3发送数据。
示例地,STA MLD接收到上述具体示例中的触发消息后,如果User info中指示的连接标识是AP MLD为STA MLD分配的连接标识,且触发类型指示为AP assisted TX,则根据参数Assisted AP Link的值发送CTS消息给AP MLD,并在Duration指示的时长内发送数据,具体包括:
1)如果消息中参数Assisted AP Link值为link2,则STA2发送CTS消息给AP2;STA2在发送CTS消息后,在Duration指示的时长内发送数据包,如果接收到的触发消息中Assisted TX mode指示为Exclusive,在Duration指示的时长内仅可以发送数据包给AP2;如果接收到的触发消息中Assisted TX mode指示为Flexible,在Duration指示的时长内可以发送数据包给AP2或发送数据包给其他终端。
2)如果消息中参数Assisted AP Link值为link3,则STA3发送CTS消息给AP3;STA3在发送CTS消息后,在Duration指示的时长内发送数据包,如果接收到的触发消息中Assisted TX mode指示为Exclusive,在Duration指示的时长内仅可以发送数据包给AP3;如果接收到的触发消息中Assisted TX mode指示为Flexible,在Duration指示的时长内可以发送数据包给AP3或发送数据包给其他终端。
3)如果消息中参数Assisted AP Link值为link2,link3,则STA2发送CTS消息给AP2,并且STA3发送CTS消息给AP3;STA2和STA3在发送CTS消息后,在Duration指示的时长内发送数据包,如果接收到的触发消息中Assisted TX mode指示为Exclusive,STA2在Duration指示的时长内仅可以发送数据包给AP2,STA3在Duration指示的时长内仅可以发送数据包给AP3;如果接收到的触发消息中Assisted TX mode指示为Flexible,STA2在Duration指示的时长内可以发送数据包给AP2或发送数据包给其他终端,STA3在Duration指示的时长内可以发送数据包给AP3或发送数据包给其他终端。
AP2和AP3在分别接收到STA2和STA3发送的CTS消息后的操作可参考图1和图2所示实施例,这里不再详细介绍。
图5为本申请实施例提供的对应图3所示通信***的另一种控制多链路设备发送数据的方法流程图。如图5所示,控制多链路设备发送数据的方法包括以下内容:
501、STA MLD通过link1发送数据包给AP MLD,所述数据包中指示需要AP MLD在link2和link3上辅助发送数据。示例地,STA1发送给AP1的数据包中包含以下控制信息:
Assisted AP Link:指示需要辅助发送的链路,本实施例设置为link2,link3。
502、AP MLD在link2上获得发送时机后,通过link2发送第一消息给STA MLD,第一消息中包含分配给STA MLD在link2上的发送时长。即,如果AP MLD操作在link2上的逻辑接入点AP2在link2上获得发送时机,则在link2上发送第一消息给STA2。
在一个具体示例中,假设第一消息为触发消息,该触发消息可包含以下参数:
Trigger type:触发的类型,如设置为AP assisted TX,指示触发的类型为辅助发送。
User info:接收触发消息的设备的信息,其中包含AP MLD为STA MLD分配的连接标识。
Assisted TX mode:辅助发送的模式,可设置为如下值:Exclusive:在该模式下,STA MLD在分配的时长内仅可以发送数据给AP MLD;Flexible:在该模式下,STA MLD在分配的时长内可以发送数据给AP MLD或其他设备(如与STA MLD连接的其他终端)。
Duration:AP MLD分配给STA MLD在link2上的发送时长。
在一些实施例中,AP MLD在发送第一消息给STA MLD之前,还向STA MLD请求其通过link2需要发送的数据的大小,从而AP MLD可根据该数据的大小设置分配给STA MLD在link2上的发送时长,具体包括:
5201、AP MLD通过link2发送第四消息给STA MLD,所述第四消息用于请求STA MLD在link2上需要发送的数据的大小,如,AP2发送请求数据大小的触发消息给STA2。
5202、STA MLD接收到第四消息后,通过link2发送响应于第四消息的第五消息给AP MLD,第五消息中包含STA MLD在link2上需要发送的数据的大小。
5203、AP MLD接收到第五消息后,根据其包含的STA MLD在link2上需要发送的数据的大小设置分配给STA MLD在link2的发送时长。
503、STA MLD接收到第一消息后,通过link2发送响应于第一消息的第二消息给APMLD,并在所述分配给STA MLD在link2上的发送时长内通过link2发送数据。即,STA2接收到第一消息后,发送响应于第一消息的第二消息(如CTS消息)给AP2,并在第一消息中分配给STA MLD在link2上的发送时长内发送数据。
示例地,STA2接收到上述具体示例中的触发消息后,如果User info中指示的连接标识是AP MLD为STA MLD分配的连接标识,且触发类型指示为AP assisted TX,则发送CTS消息给AP2;STA2在发送CTS消息后,在Duration指示的时长内发送数据包,如果接收到的触发消息中Assisted TX mode指示为Exclusive,在Duration指示的时长内仅可以发送数据包给AP2;如果接收到的触发消息中Assisted TX mode指示为Flexible,在Duration指示的时长内可以发送数据包给AP2或发送数据包给其他终端。
504、AP MLD在link3上获得发送时机后,通过link3发送第六消息给STA MLD,第六消息中包含分配给STA MLD在link3上的发送时长。即,如果AP MLD操作在link3上的逻辑接入点AP3在link3上获得发送时机,则在link3上发送第一消息给STA3。
在一个具体示例中,假设第六消息为触发消息,该触发消息可包含以下参数:
Trigger type:触发的类型,如设置为AP assisted TX,指示触发的类型为辅助发送。
User info:接收触发消息的设备的信息,其中包含AP MLD为STA MLD分配的连接标识。
Assisted TX mode:辅助发送的模式,可设置为如下值:Exclusive:在该模式下,STA MLD在分配的时长内仅可以发送数据给AP MLD;Flexible:在该模式下,STA MLD在分配的时长内可以发送数据给AP MLD或其他设备(如与STA MLD连接的其他终端)。
Duration:AP MLD分配给STA MLD在link3上的发送时长。需要说明的是,分配给STA MLD在link2上的发送时长和STA MLD在link3上的发送时长至少需保证STA MLD在link2和link3上同时结束发送。
在一些实施例中,AP MLD在发送第六消息给STA MLD之前,还向STA MLD请求其通过link3需要发送的数据的大小,从而AP MLD可根据该数据的大小设置分配给STA MLD在link3上的发送时长,具体包括:
5401、AP MLD通过link3发送第四消息给STA MLD,所述第四消息用于请求STA MLD在link3上需要发送的数据的大小,如,AP3发送请求数据大小的触发消息给STA3。
5402、STA MLD接收到第四消息后,通过link3发送响应于第四消息的第五消息给AP MLD,第五消息中包含STA MLD在link3上需要发送的数据的大小。
5403、AP MLD接收到第五消息后,根据其包含的STA MLD在link3上需要发送的数据的大小设置分配给STA MLD在link3的发送时长。
505、STA MLD接收到第六消息后,通过link3发送响应于第六消息的第七消息给APMLD,并在所述分配给STA MLD在link3上的发送时长内通过link3发送数据。即STA3接收到第六消息后,发送响应于第六消息的第七消息(如CTS消息)给AP3,并在第六消息中分配给STA MLD在link3上的发送时长内发送数据。
示例地,STA3接收到上述具体示例中的触发消息后,如果User info中指示的连接标识是AP MLD为STA MLD分配的连接标识,且触发类型指示为AP assisted TX,则发送CTS消息给AP3;STA3在发送CTS消息后,在Duration指示的时长内发送数据包,如果接收到的触发消息中Assisted TX mode指示为Exclusive,在Duration指示的时长内仅可以发送数据包给AP3;如果接收到的触发消息中Assisted TX mode指示为Flexible,在Duration指示的时长内可以发送数据包给AP3或发送数据包给其他终端。
本申请实施例还提供一种控制多链路设备发送数据的装置,应用于第一多链路设备,所述第一多链路设备至少通过第一链路和第二链路与第二多链路设备连接,其中,对于所述第一多链路设备,第一链路和第二链路为NSTR链路集,对于所述第二多链路设备,第一链路和第二链路为STR链路集,包括求辅助发送模块,所述求辅助发送模块用于执行以下步骤:
通过第一链路发送数据包给第二多链路设备,所述数据包中指示需要第二多链路设备在第二链路上辅助发送数据;
接收第二多链路设备通过第二链路发送的第一消息,所述第一消息用于指示辅助发送,所述第一消息中包含分配给第一多链路设备在第二链路上的发送时长;
通过第二链路发送响应于所述第一消息的第二消息给第二多链路设备;
在所述分配给第一多链路设备在第二链路上的发送时长内通过第二链路发送数据。
本申请实施例还提供一种控制多链路设备发送数据的装置,应用于第二多链路设备,所述第二多链路设备至少通过第一链路和第二链路与第一多链路设备连接,其中,对于所述第一多链路设备,第一链路和第二链路为NSTR链路集,对于所述第二多链路设备,第一链路和第二链路为STR链路集,包括辅助发送模块,所述辅助发送模块用于执行以下步骤:
接收第一多链路设备通过第一链路发送的数据包,所述数据包中指示需要第二多链路设备在第二链路上辅助发送数据;
如果在第二链路上获得发送时机,则通过第二链路发送第一消息给第一多链路设备,所述第一消息用于指示辅助发送,所述第一消息中包含分配给第一多链路设备在第二链路上的发送时长;
接收第一多链路设备通过第二链路发送的响应于所述第一消息的第二消息。
应理解,这里的装置以功能模块的形式体现。这里的术语“模块”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。上述装置具有实现上述方法中的相应步骤的功能;上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。在本申请的实施例,装置也可以是芯片或者芯片***,例如:片上***(system on chip,SoC)。本申请在此不作限定。
本申请实施例还提供了一种电子设备,图6为本申请实施例提供的电子设备的结构示意图。如图6所示,设备600包括处理器601、存储器602和通信接口603,其中,处理器601、存储器602和通信接口603通过总线604互相通信,存储器602中存储有可被所述处理器601执行的指令,所述指令由所述处理器601加载并执行,以控制通信接口603发送信号和/或接收信号。
应理解,设备600可以具体为上述实施例中的STA MLD或AP MLD,或者,上述实施例中的STA MLD或AP MLD的功能可以集成在设备600中,设备600可以用于执行上述实施例中的STA MLD或AP MLD对应的各个步骤和/或流程。可选地,该存储器602可以包括只读存储器和随机存取存储器,并向处理器601提供指令和数据。存储器602的一部分还可以包括非易失性随机存取存储器。例如,存储器602还可以存储设备类型的信息。该处理器601可以用于执行存储器601中存储的指令,并且该处理器601执行该指令时,该处理器601可以执行上述方法实施例中相应的各个步骤和/或流程。
应理解,在本申请实施例中,该处理器可以是中央处理单元(centralprocessingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上,可以根据实际的需要选择其中的部分或者全部模块来实现本申请实施例方案的目的。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如一个模块或者组件可以划分为多个模块或组件,或者多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。