
1.本技术涉及通信技术领域,特别涉及一种数据发送方法、装置、设备、存储介质及计算机程序。
背景技术:2.在无线局域网(wireless local area networks,wlan)中,各个站点(station,sta)与接入点(access point,ap)之间可以通过信道传输数据。在至少两个sta同时通过该信道发送数据的情况下,会在信道上发生数据碰撞,导致数据发送失败。
3.在相关技术中,将信道访问时间划分为无竞争期(contention free period)以及竞争期(contention period)。在无竞争期内,ap按照集中式协调模式(point coordination function,pcf)依次轮询向各个sta发送问询(poll)帧,以此来避免数据发生碰撞。即,在信道空闲的情况下,ap按照轮询方式向某个sta发送poll帧,以询问该sta是否有需要数据发送。如果该sta有数据需要发送,则调度该sta通过信道发送数据,其他sta不发送数据。在竞争期内,各个sta按照分布式协调模式(distributed coordination function,dcf)自由竞争抢占信道。即,在信道空闲的情况下,各个sta等待分布式帧间间隔(distributed inter frame spacing,difs)后,基于各自对应的退避窗口随机确定一个退避时长,并对各自的退避时长进行倒计时。在某个sta对应的退避时长倒计时结束时,该sta通过该信道发送数据。
4.然而,采用上述方法发送数据的过程中,在无竞争期内,ap需要占用信道向各个sta发送poll帧,无法充分地利用信道资源。此外,在竞争期内,由于各个sta基于退避窗口确定的退避时长是随机的,所以,各个sta能否抢占到信道存在随机性,从而无法保证sta能够及时发送确定性数据,即sta需要在特定时间内所发送的数据。
技术实现要素:5.本技术提供了一种数据发送方法、装置、设备、存储介质及计算机程序,可以解决相关技术的sta无法及时发送确定性数据的问题。所述技术方案如下:
6.第一方面,提供了一种数据发送方法,应用于无线通信系统,所述无线通信系统包括一个接入点ap和至少一个站点sta,所述无线通信系统的信道访问时间包括多个访问周期,每个访问周期包括一个预留时间段;在该方法中,第一设备获取当前访问周期的资源分配信息,所述资源分配信息用于指示第一时间段的开始时间和持续时长,所述第一时间段是指所述ap为所述第一设备分配的时间段,且所述第一时间段位于所述当前访问周期的预留时间段内,所述第一设备为所述ap和所述至少一个sta中的一个设备。所述第一设备在第一时间检测到信道空闲,开始等待第一时长,所述第一时间是基于所述资源分配信息所指示的时间段的个数和所述第一时间段的开始时间确定的。在所述第一时长等待结束后,所述第一设备通过所述信道发送第一数据,所述第一数据是指所述第一设备需要在特定时间内所发送的数据。
7.第一设备是指当前时间需要发送第一数据的设备,第一数据是指第一设备需要在特定时间内所发送的数据,第一数据也可以称为第一设备待发送的确定性数据。即,第一设备当前正在运行的业务数据产生之后,第一设备需要在特定时间内发送该业务所对应的数据。例如,第一设备为手机,手机当前正在运行的业务为通话业务,发送端的手机接收到第一数据之后,需要在10ms之内通过信道将第一数据发送给接收端的手机。这样,可以避免发送端与接收端之间的通话存在延迟,影响通话业务的正常运行。
8.本技术中,第一设备可能是sta,还可能是ap。在不同的情况下,第一设备获取当前访问周期的资源分配信息的过程不同。因此,接下来将分为以下两种情况分别进行说明。
9.第一种情况,第一设备为sta。此时,第一设备向ap发送资源分配请求,该资源分配请求携带第一数据的特征。ap接收到sta发送的资源分配请求后,基于该资源分配请求的接收时间和第一数据的特征,在当前访问周期的预留时间段内为sta分配第一时间段,并向sta发送资源分配信息。sta接收ap发送的该资源分配信息,以此来获取当前访问周期的资源分配信息。
10.在一些实施例中,ap基于资源分配请求的接收时间和第一数据的特征,在当前访问周期的预留时间段内为sta分配第一时间段的实现过程包括:ap将当前访问周期内位于资源分配请求的接收时间之后且未分配的预留时间段确定为候选时间段,然后,ap基于第一数据的特征,按照相关的算法确定第一数据所占用的发送时长,如果该发送时长不大于该候选时间段对应的时长,则将该候选时间段的开始时间作为第一时间段的开始时间,将该发送时长作为第一时间段的持续时长,从而在当前访问周期的预留时间段内为sta分配第一时间段。
11.可选地,如果该发送时长大于该候选时间段对应的时长,则确定与当前访问周期相邻的下一访问周期的开始时间,进而将该下一访问周期的开始时间作为第一时间段的开始时间,将该发送时长作为第一时间段的持续时长,从而在该下一访问周期的预留时间段内为sta分配第一时间段。
12.第二种情况,第一设备为ap。此时,ap将当前访问周期内位于当前时间之后且未分配的预留时间段确定为候选时间段,并基于第一数据的特征,按照相关的算法确定第一数据所占用的发送时长。然后,在该发送时长不大于该候选时间段对应的时长的情况下,ap将该候选时间段的开始时间作为第一时间段的开始时间,将第一数据所占用的发送时长作为第一时间段的持续时长,从而在当前访问周期的预留时间段内为ap分配第一时间段。ap分配完第一时间段后更新资源分配信息,这样,ap就能够获取到当前访问周期的资源分配信息。
13.可选地,在该发送时长大于该候选时间段对应的时长的情况下,ap分配第一时间段的过程可以参考上述第一种情况的相关描述,此处不再赘述。
14.在上述两种情况中,ap为第一设备分配第一时间段,并得到当前访问周期的资源分配信息之后,还需要及时地广播当前访问周期的资源分配信息,使得其他设备能够接收到当前访问周期的资源分配信息。即,ap更新当前访问周期的资源分配信息之后,及时地广播更新后的资源分配信息。其他设备接收到当前访问周期的资源分配信息之后,严格按照当前访问周期的资源分配信息通过信道发送数据。当然,在实际应用中,ap也可以周期性地广播当前访问周期的资源分配信息,使得首次加入该无线通信系统的sta能够接收到当前
访问周期的资源分配信息。或者,ap检测到新的sta加入该无线通信系统时,直接将当前访问周期的资源分配信息发送给该新的sta。该新的sta接收到ap发送的当前访问周期的资源分配信息之后,基于当前访问周期的资源分配信息,在当前访问周期已分配的预留时间段内不再抢占信道发送数据。
15.在无线通信系统中存在多个设备通过信道发送数据的情况下,该多个设备中的每个设备在ap为自身分配的时间段的开始时间检测到信道空闲,开始等待第一时长。在无线通信系统中仅存在一个设备通过信道发送数据的情况下,该设备可以在当前访问周期的预留时间段内的任意时间检测到信道空闲,开始等待第一时长。接下来以无线通信系统中存在多个设备通过信道发送数据为例进行介绍。
16.在无线通信系统中,在第一设备通过该信道发送数据的过程中,需要遵循每类数据对应的信道抢占参数。由于第一数据为确定性数据,所以,第一设备在第一时间段的开始时间检测到信道空闲,从目标信道抢占参数中获取第一时长,并开始等待第一时长,目标信道抢占参数为确定性数据对应的信道抢占参数。
17.在第一设备为该至少一个sta中的一个sta的情况下,ap向第一设备发送目标信道抢占参数,第一设备接收到ap发送的该目标信道抢占参数后,基于该目标信道抢占参数包括的第一时长,在第一时间段的开始时间检测到信道空闲时,开始等待第一时长。
18.需要说明的是,ap发送给第一设备的目标信道抢占参数可以是重新定义的信道抢占参数,也可以是复用现有的信道抢占参数。现有的信道抢占参数是现有的数据所对应的参数,现有的数据包括语音(voice)数据、视频(video)数据、尽力而为(best effort)数据以及背景(background)数据。基于上文描述,第一数据是指第一设备需要在特定时间内所发送的数据。如果第一数据为某一种现有的数据,则ap更改该现有的数据所对应的信道抢占参数,以得到更改后的信道抢占参数,进而将更改后的信道抢占参数作为目标信道抢占参数发送给第一设备。如果第一数据为现有的数据之外的其他数据,则ap重新定义该其他数据所对应的信道抢占参数,以得到重新定义的信道抢占参数,进而将该重新定义的信道抢占参数作为目标信道抢占参数发送给第一设备。
19.基于上文描述,第一设备通过信道发送的数据除了确定性数据之外,还可以包括非确定性数据,对于非确定性数据,在第一设备为该至少一个sta中的一个sta的情况下,ap向第一设备发送该非确定性数据的信道抢占参数,第一设备接收到ap发送的该非确定性数据的信道抢占参数后,基于该信道抢占参数来抢占信道。
20.基于上文描述,第一数据为确定性数据。ap和该至少一个sta中的各个设备发送的数据包括确定性数据和非确定性数据。即,各个设备可以通过信道发送确定性数据,或者也可以通过信道发送非确定性数据。为了便于描述,将确定性数据分为调度(scheduled)的确定性数据和非调度(un-scheduled)的确定性数据。在第一时间段是ap为第一设备分配的时间段的情况下,将第一设备在第一时间段内发送的确定性数据称为scheduled确定性数据,将其他设备在第一时间段内发送的确定性数据称为un-scheduled确定性数据。
21.在第一设备通过该信道发送scheduled确定性数据的过程中,ap和该至少一个sta中的其他设备可以一直检测该信道,在检测到该信道空闲时通过该信道发送数据。当然,在其他设备通过该信道发送数据的过程中,第一设备也可以一直检测该信道,在检测到该信道空闲时通过该信道发送数据。由于其他设备检测信道和第一设备检测信道的方式相同,
因此,接下来以下述步骤(1)-(3)为例,对第一设备检测信道,通过该信道发送第二数据的方式进行介绍。
22.(1)第一设备在第二时间检测到该信道空闲,开始等待第二时长,第二时间位于第二时间段内。
23.第二时间可以是第二时间段的开始时间,或者也可以是第二时间段的开始时间之后的任一时间。即,在第二设备通过信道发送数据的过程中,第一设备在第二时间段的开始时间检测到信道空闲,开始等待第二时长。或者,第一设备在第二时间段的开始时间之后的任一时间检测到信道空闲,开始等待第二时长。
24.第二时间段是指ap为第二设备分配的时间段,且第二时间段位于当前访问周期的预留时间段内,第二设备为ap和该至少一个sta中除第一设备之外的一个设备。此时,资源分配信息还用于指示第二时间段的开始时间和持续时长。
25.(2)在第二时长等待结束后,第一设备确定退避时长,对该退避时长开始计时。
26.在第二数据为第一设备需要在特定时间内所发送的数据的情况下,第一设备基于第一退避窗口确定该退避时长,在第二数据为第一设备不需要在特定时间内所发送的数据的情况下,第一设备基于第二退避窗口确定该退避时长。其中,第一退避窗口的最大值小于第二退避窗口的最小值。
27.也即是,在第二数据为确定性数据的情况下,第一设备从第一退避窗口包括的整数中随机选择一个整数,作为第一整数,进而将第一整数与基本退避时长的乘积作为第一设备的第一退避时长。在第二数据为非确定性数据的情况下,第一设备从第二退避窗口包括的整数中随机选择一个整数,作为第二整数,进而将第二整数与基本退避时长的乘积作为第一设备的第二退避时长。
28.退避窗口是一个离散型整数集合,退避窗口包括多个整数,该多个整数是基于数据的碰撞次数确定的。其中,基于数据的碰撞次数确定该多个整数的方式可以参考相关的算法,本技术实施例对此不做限定。
29.第一设备的计时器对退避时长开始计时的实现方式包括多种。假设,第一设备的退避时长为18us,第一设备的计时器可以从0us开始计时,也可以从18us开始倒计时。当然,第一设备的退避时长开始计时还可以通过其他的方式来实现,本技术实施例对此不做限定。
30.需要说明的是,在第一设备的计时器对退避时长进行计时的过程中,第一设备持续检测信道是否空闲。如果第一设备检测到信道不空闲,则第一设备的计时器暂停计时。如果第一设备检测到信道空闲,则第一设备的计时器恢复计时。
31.(3)在该退避时长计时结束,但第二时间段的结束时间还未到达的情况下,第一设备通过该信道发送第二数据。
32.第一设备的退避时长计时结束,但第二时间段的结束时间还未到达,表明第二时间段内存在空闲时间段。此时,第一设备可以利用该空闲时间段通过该信道发送第二数据,从而充分利用当前访问周期包括的预留时间段,以此来避免预留时间段的浪费。
33.其中,第二时间段内存在空闲时间段可能包括多种情况。例如,第二设备通过信道发送scheduled确定性数据后,导致第二时间段内存在空闲时间段。即,第二设备没有用完ap为其分配的第二时间段。又例如,第二设备并没有通过信道发送scheduled确定性数据,
导致第二时间段内存在空闲时间段。即,第二设备在第二时间段内不发送scheduled确定性数据。
34.在一些实施例中,当前访问周期的预留时间段内可能还包括位于第二时间段之后的第三时间段,第三时间段是指ap为第三设备分配的时间段,第三设备为ap和该至少一个sta中除第一设备和第二设备之外的一个设备。为了保证第三设备能够在第三时间段内发送数据,第一设备通过该信道发送第二数据之前,还需要确定第二数据。即,第一设备确定第二时间段的剩余时长,该剩余时长是指从第一设备的退避时长计时结束的时间至第三时间段的开始时间之间的时长,第一设备从待发送数据中确定第二数据,第二数据所占用的发送时长低于该剩余时长。当然,在实际应用中,当前访问周期的预留时间段内也可能不包括位于第二时间段之后的第三时间段。此时,第一设备无需确定第二数据,直接通过信道发送全部的待发送数据。
35.第二方面,提供了一种数据发送装置,所述数据发送装置具有实现上述第一方面中数据发送方法行为的功能。所述数据发送装置包括至少一个模块,该至少一个模块用于实现上述第一方面所提供的数据发送方法。
36.第三方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器用于存储执行上述第一方面所提供的数据发送方法的计算机程序。所述处理器被配置为用于执行所述存储器中存储的计算机程序,以实现上述第一方面所述的数据发送方法。
37.可选地,所述计算机设备还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
38.第四方面,提供了一种计算机可读存储介质,所述存储介质内存储有指令,当所述指令在计算机上运行时,使得计算机执行上述第一方面所述的数据发送方法的步骤。
39.第五方面,提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使得计算机执行上述第一方面所述的数据发送方法的步骤。或者说,提供了一种计算机程序,当所述计算机程序在计算机上运行时,使得计算机执行上述第一方面所述的数据发送方法的步骤。
40.上述第二方面、第三方面、第四方面和第五方面所获得的技术效果与第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
41.本技术提供的技术方案至少可以带来以下有益效果:
42.通过将信道访问时间划分为多个访问周期,且每个访问周期包括一个预留时间段,这样,ap可以从当前访问周期的预留时间段内选择第一时间段,并将第一时间段分配给第一设备,使得第一设备可以在第一时间段内发送数据。同时,由于资源分配信息用于指示第一时间段的开始时间,所以,第一设备获取到资源分配信息之后,可以在第一时间开始等待第一时长,在第一时长等待结束后,直接通过信道发送第一数据,而无需基于其对应的退避窗口随机确定退避时长。这样,可以保证第一设备能够通过信道及时地发送需要在特定时间内所发送的数据,即确定性数据。
附图说明
43.图1是本技术实施例提供的一种系统架构的示意图;
44.图2是本技术实施例提供的一种信道访问时间划分的示意图;
slot,ts),使得ap101或者sta102能够在该时间段内优先发送其对应的确定性数据。在非预留时间段内,ap101或者sta102自由竞争抢占信道,并通过信道发送其对应的非确定性数据。
62.其中,ap101为wlan中的接入点,可以为路由器。sta102为wlan中的站点,比如,个人计算机(personal computer,pc)、手机、智能手机、个人数字助手(personal digital assistant,pda)、掌上电脑(pocket pc,ppc)、平板电脑、智能电视等。
63.图3是本技术实施例提供的一种数据发送方法的流程图,请参考图3,该方法包括如下步骤。
64.步骤301:第一设备获取当前访问周期的资源分配信息,该资源分配信息用于指示第一时间段的开始时间和持续时长,第一时间段是指ap为第一设备分配的时间段,且第一时间段位于当前访问周期的预留时间段内,第一设备为ap和该至少一个sta中的一个设备。
65.第一设备是指当前时间需要发送第一数据的设备,第一数据是指第一设备需要在特定时间内所发送的数据,第一数据也可以称为第一设备待发送的确定性数据。即,第一设备当前正在运行的业务数据产生之后,第一设备需要在特定时间内发送该业务所对应的数据。例如,第一设备为手机,手机当前正在运行的业务为通话业务,手机获取到用户的通话内容之后,需要在10ms之内通过信道将该通话内容发送给对端手机,也即是,用户之间的通话内容为确定性数据。这样,可以避免通话双方之间的通话存在延迟,影响通话业务的正常运行。
66.本技术实施例中,第一设备可能是sta,还可能是ap。在不同的情况下,第一设备获取当前访问周期的资源分配信息的过程不同。因此,接下来将分为以下两种情况分别进行说明。
67.第一种情况,第一设备为sta。此时,第一设备向ap发送资源分配请求,该资源分配请求携带第一数据的特征。ap接收到sta发送的资源分配请求后,基于该资源分配请求的接收时间和第一数据的特征,在当前访问周期的预留时间段内为sta分配第一时间段,并向sta发送资源分配信息。sta接收ap发送的该资源分配信息,以此来获取当前访问周期的资源分配信息。
68.在一些实施例中,ap基于资源分配请求的接收时间和第一数据的特征,在当前访问周期的预留时间段内为sta分配第一时间段的实现过程包括:ap将当前访问周期内位于资源分配请求的接收时间之后且未分配的预留时间段确定为候选时间段,然后,ap基于第一数据的特征,按照相关的算法确定第一数据所占用的发送时长,如果该发送时长不大于该候选时间段对应的时长,则将该候选时间段的开始时间作为第一时间段的开始时间,将该发送时长作为第一时间段的持续时长,从而在当前访问周期的预留时间段内为sta分配第一时间段。
69.可选地,如果该发送时长大于该候选时间段对应的时长,则确定与当前访问周期相邻的下一访问周期的开始时间,进而将该下一访问周期的开始时间作为第一时间段的开始时间,将该发送时长作为第一时间段的持续时长,从而在该下一访问周期的预留时间段内为sta分配第一时间段。
70.第二种情况,第一设备为ap。此时,ap将当前访问周期内位于当前时间之后且未分配的预留时间段确定为候选时间段,并基于第一数据的特征,按照相关的算法确定第一数
据所占用的发送时长。然后,在该发送时长不大于该候选时间段对应的时长的情况下,ap将该候选时间段的开始时间作为第一时间段的开始时间,将第一数据所占用的发送时长作为第一时间段的持续时长,从而在当前访问周期的预留时间段内为ap分配第一时间段。ap分配完第一时间段后更新资源分配信息,这样,ap就能够获取到当前访问周期的资源分配信息。
71.可选地,在该发送时长大于该候选时间段对应的时长的情况下,ap分配第一时间段的过程可以参考上述第一种情况的相关描述,此处不再赘述。
72.在上述两种情况中,ap为第一设备分配第一时间段,并得到当前访问周期的资源分配信息之后,还需要及时地广播当前访问周期的资源分配信息,使得其他设备能够接收到当前访问周期的资源分配信息。即,ap更新当前访问周期的资源分配信息之后,及时地广播更新后的资源分配信息。其他设备接收到当前访问周期的资源分配信息之后,严格按照当前访问周期的资源分配信息通过信道发送数据。当然,在实际应用中,ap也可以周期性地广播当前访问周期的资源分配信息,使得首次加入该无线通信系统的sta能够接收到当前访问周期的资源分配信息。或者,ap检测到新的sta加入该无线通信系统时,直接将当前访问周期的资源分配信息发送给该新的sta。该新的sta接收到ap发送的当前访问周期的资源分配信息之后,基于当前访问周期的资源分配信息,在当前访问周期已分配的预留时间段内不再抢占信道发送数据。
73.需要说明的是,在第一设备为ap的情况下,ap还可能会接收到第一sta发送的资源分配请求,进而在当前访问周期的预留时间段内为第一sta分配一个时间段,第一sta为上述至少一个sta中的一个。即,第一sta向ap发送资源分配请求,该资源分配请求携带第三数据的特征,第三数据为第一sta待发送的数据,且第三数据为第一sta需要在特定时间内所发送的数据。ap接收到第一sta发送的资源分配请求后,基于该资源分配请求的接收时间和第三数据的特征,在当前访问周期的预留时间段内为第一sta分配一个时间段。然后,ap向第一sta发送资源分配信息,该资源分配信息用于指示ap为第一sta分配的时间段的开始时间和持续时长。
74.第一数据的特征用于指示第一设备待发送的数据的大小,第一数据的特征包括延迟界(delay bound)、mac服务数据单元尺寸(mac service data unit size,msdu size)等。当然,在实际应用中,第一数据的特征还可以包括其他的信息,本技术实施例对此不做限定。
75.基于上文描述,ap将信道访问时间划分为多个访问周期,当前访问周期是指当前时间所在的访问周期。
76.需要说明的是,以上描述是以当前访问周期的预留时间段仅包括一个时间段为例。此时,资源分配信息用于指示该时间段的开始时间和持续时长。在实际应用过程中,当前访问周期的预留时间段还可以包括多个时间段。此时,该资源分配信息用于指示该多个时间段中每个时间段的开始时间和持续时长。当前访问周期的预留时间段包括的时间段的个数,与ap在当前访问周期的预留时间段内为几个设备分配时间段相关。即,如果ap在当前访问周期的预留时间段内仅为一个设备分配时间段,则当前访问周期的预留时间段仅包括一个时间段。如果ap在当前访问周期的预留时间段内为多个设备分配时间段,则当前访问周期的预留时间段包括多个时间段。
77.可选地,资源分配信息包括ap为每个设备分配的时间段的开始时间和持续时长、以及在每个时间段内调度的设备的标识。当然,资源分配信息还可以包括其他的信息,比如,在每个时间段内未调度的设备的标识,本技术实施例对此不做限定。其中,在某个时间段内调度的设备是指该时间段被分配的设备,在某个时间段内未调度的设备是指该时间段未被分配的设备。比如,ap将第一时间段分配给第一设备,那么,在第一时间段内,第一设备为调度的设备,其他设备为未调度的设备。
78.步骤302:第一设备在第一时间检测到信道空闲,开始等待第一时长,第一时间是基于该资源分配信息所指示的时间段的个数和第一时间段的开始时间确定的。
79.在一些实施例中,无线通信系统中可能存在多个设备通过信道发送数据,该多个设备中包括第一设备,也可能仅存在第一设备通过信道发送数据。在不同的情况下,第一设备基于该资源分配信息所指示的时间段的个数和第一时间段的开始时间确定的第一时间有所不同。因此,接下来将分为以下两种情况分别进行说明。
80.第一种情况,无线通信系统中存在多个设备通过信道发送数据,该多个设备中包括第一设备。此时,ap为该多个设备中的每个设备分配一个时间段,并广播资源分配信息,该资源分配信息所指示的时间段的个数不为1。第一设备接收到ap广播的该资源分配信息之后,为了保证第一设备能够及时地发送确定性数据,第一设备在第一时间段的开始时间检测到信道空闲,开始等待第一时长。即,第一时间是第一时间段的开始时间。
81.第二种情况,无线通信系统中仅存在第一设备通过信道发送数据。此时,ap仅为第一设备分配第一时间段,并将资源分配信息发送给第一设备,该资源分配信息所指示的时间段的个数为1。第一设备接收到ap发送的该资源分配信息之后,第一设备可以在第一时间段所属的预留时间段内的任意时间检测到信道空闲,开始等待第一时长。即,第一时间是第一时间段所属的预留时间段内的任意时间。
82.也即是,在无线通信系统中存在多个设备通过信道发送数据的情况下,该多个设备中的每个设备在ap为自身分配的时间段的开始时间检测到信道空闲,开始等待第一时长。在无线通信系统中仅存在一个设备通过信道发送数据的情况下,该设备可以在当前访问周期的预留时间段内的任意时间检测到信道空闲,开始等待第一时长。接下来以无线通信系统中存在多个设备通过信道发送数据为例进行介绍。
83.在无线通信系统中,在第一设备通过该信道发送数据的过程中,需要遵循每类数据对应的信道抢占参数。由于第一数据为确定性数据,所以,第一设备在第一时间段的开始时间检测到信道空闲,从目标信道抢占参数中获取第一时长,并开始等待第一时长,目标信道抢占参数为确定性数据对应的信道抢占参数。
84.在第一设备为该至少一个sta中的一个sta的情况下,ap向第一设备发送目标信道抢占参数,第一设备接收到ap发送的该目标信道抢占参数后,基于该目标信道抢占参数包括的第一时长,在第一时间段的开始时间检测到信道空闲时,开始等待第一时长。
85.其中,该目标信道抢占参数包括第一时长、第二时长、第一退避窗口的最小值和最大值。第一时长用于指示第一设备在第一时间段内发送确定性数据的等待时长。即,第一设备在第一时间段内等待第一时长后,可以通过信道发送其对应的确定性数据。第二时长用于指示第一设备在其他时间段内进入退避窗口的等待时长,即第一设备在其他时间段内等待第二时长后,可以进入退避窗口。第二时长大于第一时长,例如,第一时长为集中式帧间
间隔(point inter frame spacing,pifs),第二时长为difs。
86.需要说明的是,ap发送给第一设备的目标信道抢占参数可以是重新定义的信道抢占参数,也可以是复用现有的信道抢占参数。现有的信道抢占参数是现有的数据所对应的参数,现有的数据包括voice数据、video数据、best effort数据以及background数据。基于上文描述,第一数据是指第一设备需要在特定时间内所发送的数据。如果第一数据为某一种现有的数据,则ap更改该现有的数据所对应的信道抢占参数,以得到更改后的信道抢占参数,进而将更改后的信道抢占参数作为目标信道抢占参数发送给第一设备。如果第一数据为现有的数据之外的其他数据,则ap重新定义该其他数据所对应的信道抢占参数,以得到重新定义的信道抢占参数,进而将该重新定义的信道抢占参数作为目标信道抢占参数发送给第一设备。
87.基于上文描述,第一设备通过信道发送的数据除了确定性数据之外,还可以包括非确定性数据,对于非确定性数据,在第一设备为该至少一个sta中的一个sta的情况下,ap向第一设备发送该非确定性数据的信道抢占参数,第一设备接收到ap发送的该非确定性数据的信道抢占参数后,基于该信道抢占参数来抢占信道。
88.步骤303:在第一时长等待结束后,第一设备通过该信道发送第一数据。
89.基于上文描述,第一数据为确定性数据。ap和该至少一个sta中的各个设备发送的数据包括确定性数据和非确定性数据。即,各个设备可以通过信道发送确定性数据,或者也可以通过信道发送非确定性数据。为了便于描述,将确定性数据分为scheduled的确定性数据和un-scheduled的确定性数据。在第一时间段是ap为第一设备分配的时间段的情况下,将第一设备在第一时间段内发送的确定性数据称为scheduled确定性数据,将其他设备在第一时间段内发送的确定性数据称为un-scheduled确定性数据。
90.例如,请参考图4,图4是本技术实施例提供的第一种第一设备发送数据的示意图。在图4中,ap向sta1分配的时间段为ts1,ts1的开始时间为t1,ts1的持续时长为1200us,第一时长为pifs。sta1在ts1的开始时间(即t1时刻)检测到信道空闲,开始等待pifs。在pifs等待结束后,sta1在t1 pifs时刻通过信道发送scheduled确定性数据。
91.在第一设备通过该信道发送scheduled确定性数据的过程中,ap和该至少一个sta中的其他设备可以一直检测该信道,在检测到该信道空闲时通过该信道发送数据。当然,在其他设备通过该信道发送数据的过程中,第一设备也可以一直检测该信道,在检测到该信道空闲时通过该信道发送数据。由于其他设备检测信道和第一设备检测信道的方式相同,因此,接下来以下述步骤(1)-(3)为例,对第一设备检测信道,通过该信道发送第二数据的方式进行介绍。
92.(1)第一设备在第二时间检测到该信道空闲,开始等待第二时长,第二时间位于第二时间段内。
93.第二时间可以是第二时间段的开始时间,或者也可以是第二时间段的开始时间之后的任一时间。即,在第二设备通过信道发送数据的过程中,第一设备在第二时间段的开始时间检测到信道空闲,开始等待第二时长。或者,第一设备在第二时间段的开始时间之后的任一时间检测到信道空闲,开始等待第二时长。
94.基于上文描述,目标信道抢占参数包括第一时长、第二时长、第一退避窗口的最小值和最大值。这样,第一设备接收到ap发送的该目标信道抢占参数之后,可以基于该目标信
道抢占参数包括的第二时长,在第二时间检测到信道空闲时,开始等待第二时长。
95.第二时间段是指ap为第二设备分配的时间段,且第二时间段位于当前访问周期的预留时间段内,第二设备为ap和该至少一个sta中除第一设备之外的一个设备。此时,资源分配信息还用于指示第二时间段的开始时间和持续时长。
96.例如,请参考图5,图5是本技术实施例提供的第二种第一设备发送数据的示意图。在图5中,第一设备为sta1,第二设备为sta2,ap向sta2分配的时间段为ts2,ts2的开始时间为t2,ts2的持续时长为3000us,第二时长为difs。sta1在ts2的开始时间(即t2时刻)检测到信道空闲,开始等待difs。
97.又例如,请参考图6,图6是本技术实施例提供的第三种第一设备发送数据的示意图。在图6中,第一设备为sta1,第二设备为sta2,ap向sta2分配的时间段为ts2,ts2的开始时间为t2,ts2的持续时长为3000us,第二时长为difs。sta1在ts2的开始时间(即t2时刻)之后的t2.5时间检测到信道空闲,开始等待difs。
98.(2)在第二时长等待结束后,第一设备确定退避时长,对该退避时长开始计时。
99.在第二数据为第一设备需要在特定时间内所发送的数据的情况下,第一设备基于第一退避窗口确定该退避时长,在第二数据为第一设备不需要在特定时间内所发送的数据的情况下,第一设备基于第二退避窗口确定该退避时长。其中,第一退避窗口的最大值小于第二退避窗口的最小值。
100.也即是,在第二数据为确定性数据的情况下,第一设备从第一退避窗口包括的整数中随机选择一个整数,作为第一整数,进而将第一整数与基本退避时长的乘积作为第一设备的第一退避时长。在第二数据为非确定性数据的情况下,第一设备从第二退避窗口包括的整数中随机选择一个整数,作为第二整数,进而将第二整数与基本退避时长的乘积作为第一设备的第二退避时长。
101.退避窗口是一个离散型整数集合,退避窗口包括多个整数,该多个整数是基于数据的碰撞次数确定的。其中,基于数据的碰撞次数确定该多个整数的方式可以参考相关的算法,本技术实施例对此不做限定。
102.基于上文描述,一类数据对应一组信道抢占参数,且信道抢占参数包括退避窗口的最小值和最大值。退避窗口可以基于数据的碰撞次数进行更新,即退避窗口包括的多个整数会随着数据的碰撞次数发生变化。但是,数据也不是无休止的进行重传,退避窗口包括的多个整数位于退避窗口的最小值和最大值之间。也即是,该多个整数中最小的整数不小于退避窗口的最小值,该多个整数中最大的整数不大于退避窗口的最大值。所以,对于第一设备来说,第一设备可以基于目标信道抢占参数包括的第一退避窗口的最大值和最小值,以及第一设备发送的确定性数据的碰撞次数来确定第一退避窗口包括的整数。而且,在第二数据为第一设备不需要在特定时间内所发送的数据的情况下,第一设备还可以基于第二数据对应的信道抢占参数所包括的第二退避窗口的最大值和最小值,以及第二数据的碰撞次数来确定第二退避窗口包括的整数。
103.由于第一退避窗口的最大值小于第二退避窗口的最小值,所以第一退避时长小于第二退避时长。这样,可以保证第一设备先通过该信道发送确定性数据,以此来保障第一设备当前业务的正常运行。当然,在实际应用中,第一退避窗口和第二退避窗口也可以相同。由于第一设备是随机从第一退避窗口和第二退避窗口中选择整数,所以,第一退避时长可
能等于第二退避时长,或者第一退避时长可能大于第二退避时长,又或者第一退避时长可能小于第二退避时长。
104.其中,基本退避时长是事先设置的。而且,基本退避时长还可以按照不同的需求来调整。比如,基本退避时长可以为20us,或者,基本退避时长可以为9us,为了便于描述,将基本退避时长记为t。
105.第一设备按照上述方式确定第一退避时长和第二退避时长为一种示例。在另一些实施例中,第一设备还可以按照其他的方式来确定第一退避时长和第二退避时长。示例地,退避窗口包括退避时长,第一设备直接从第一退避窗口包括的退避时长中随机选择一个退避时长,作为第一退避时长。第一设备直接从第二退避窗口包括的退避时长中随机选择一个退避时长,作为第二退避时长。
106.第一设备的计时器对退避时长开始计时的实现方式包括多种。假设,第一设备的退避时长为18us,第一设备的计时器可以从0us开始计时,也可以从18us开始倒计时。当然,第一设备的退避时长开始计时还可以通过其他的方式来实现,本技术实施例对此不做限定。
107.需要说明的是,在第一设备的计时器对退避时长进行计时的过程中,第一设备持续检测信道是否空闲。如果第一设备检测到信道不空闲,则第一设备的计时器暂停计时。如果第一设备检测到信道空闲,则第一设备的计时器恢复计时。
108.(3)在该退避时长计时结束,但第二时间段的结束时间还未到达的情况下,第一设备通过该信道发送第二数据。
109.第一设备的退避时长计时结束,但第二时间段的结束时间还未到达,表明第二时间段内存在空闲时间段。此时,第一设备可以利用该空闲时间段通过该信道发送第二数据,从而充分利用当前访问周期包括的预留时间段,以此来避免预留时间段的浪费。
110.其中,第二时间段内存在空闲时间段可能包括多种情况。例如,第二设备通过信道发送scheduled确定性数据后,导致第二时间段内存在空闲时间段。即,第二设备没有用完ap为其分配的第二时间段。又例如,第二设备并没有通过信道发送scheduled确定性数据,导致第二时间段内存在空闲时间段。即,第二设备在第二时间段内不发送scheduled确定性数据。
111.基于上文描述,假设,第一设备的退避时长为18us。如果第一设备的计时器从0us开始计时,则当第一设备的计时器为18us时,表明第一设备的退避时长计时结束。如果第一设备的计时器从18us开始倒计时,则当第一设备的计时器为0us时,表明第一设备的退避时长计时结束。
112.在一些实施例中,当前访问周期的预留时间段内可能还包括位于第二时间段之后的第三时间段,第三时间段是指ap为第三设备分配的时间段,第三设备为ap和该至少一个sta中除第一设备和第二设备之外的一个设备。为了保证第三设备能够在第三时间段内发送数据,第一设备通过该信道发送第二数据之前,还需要确定第二数据。即,第一设备确定第二时间段的剩余时长,该剩余时长是指从第一设备的退避时长计时结束的时间至第三时间段的开始时间之间的时长,第一设备从待发送数据中确定第二数据,第二数据所占用的发送时长低于该剩余时长。当然,在实际应用中,当前访问周期的预留时间段内也可能不包括位于第二时间段之后的第三时间段。此时,第一设备无需确定第二数据,直接通过信道发
送全部的待发送数据。
113.接下来以图7-图10为例,对本技术实施例提供的数据发送方法进行举例说明。在图7-图10中,ap将ts1分配给sta1,ts1的开始时间为t1,ts1的持续时长为1200us。ap将ts2分配给sta2,ts2的开始时间为t2,ts2的持续时长为3000us。在ts1内,sta1的确定性数据的优先级最高,ap和sta2的确定性数据的优先级次之,ap、sta1以及sta2的非确定性数据的优先级最低。在ts2内,sta2的确定性数据的优先级最高,ap和sta1的确定性数据的优先级次之,ap、sta1以及sta2的非确定性数据的优先级最低。
114.sta1在ts1的开始时间(即t1时刻)检测到信道空闲,开始等待pifs。在pifs等待结束后,sta1在t1 pifs时刻通过信道发送其对应的scheduled确定性数据。ap和sta2也在ts1的开始时间t1检测到信道空闲,开始等待difs。在difs等待结束后,ap和sta2分别基于第一退避窗口确定ap的退避时长以及sta2的退避时长,为了便于描述,将ap的退避时长记为na*t,将sta2的退避时长记为n2*t。
115.假设,如图7所示,ap的退避时长等于sta2的退避时长。即,ap和sta2同时抢占到信道,同时通过信道发送其对应的un-scheduled确定性数据。ap对应的un-scheduled确定性数据和sta2对应的un-scheduled确定性数据在信道上发生数据碰撞,导致数据发送失败。此时,第一退避窗口进行更新,以得到更新后的第一退避窗口,ap和sta2分别基于更新后的第一退避窗口,重新确定ap的退避时长以及sta2的退避时长。然后,ap和sta2继续检测信道,在检测到信道空闲时通过信道发送其对应的un-scheduled确定性数据。
116.假设,如图8所示,ap的退避时长小于sta2的退避时长。即,ap抢占到信道。由于位于ts1之后的ts2是ap分配给sta2的,为了保证sta2能够在ts2发送其对应的scheduled确定性数据,ap需要确定其退避时长计时结束的时间至ts2的开始时间(即t2时刻)之间的时长。例如,ap确定出其退避时长计时结束的时间至t2之间的时长为500us,则ap从其对应的全部un-scheduled确定性数据中选择出部分un-scheduled确定性数据,并通过信道发送该部分un-scheduled确定性数据,该部分un-scheduled确定性数据所占用的发送时长低于500us。然后,sta2在ts2的开始时间(即t2时刻)检测到信道空闲,开始等待pifs。在pifs等待结束后,sta2在t2 pifs时刻通过信道发送其对应的scheduled确定性数据。
117.假设,如图9、图10所示,ap的退避时长大于sta2的退避时长。即,sta2抢占到信道。由于位于ts1之后的ts2是ap分配给sta2的,所以,sta2可以通过信道发送其对应的全部un-scheduled确定性数据。如图9所示,如果sta2在t2时刻发送完其对应的全部un-scheduled确定性数据,则ap和sta1在ts2的开始时间(即t2时刻)检测到信道空闲,开始等待difs。在difs等待结束后,ap和sta1分别基于第一退避窗口确定ap的退避时长以及sta1的退避时长。然后,ap和sta1继续检测信道,在检测到信道空闲时通过信道发送其对应的un-scheduled确定性数据。如图10所示,如果sta2在t2时刻未发送完其对应的全部un-scheduled确定性数据,则sta2在ts2继续发送其对应的确定性数据,直至sta2发送完其对应的全部确定性数据。假设,sta2在t2.5时刻发送完其对应的全部确定性数据。即,ap和sta1在t2.5时间检测到信道空闲,开始等待difs。在difs等待结束后,ap和sta1分别基于第一退避窗口确定ap的退避时长以及sta1的退避时长。然后,ap和sta1继续检测信道,在检测到信道空闲时通过信道发送其对应的un-scheduled确定性数据。
118.需要说明的是,ap和该至少一个sta中的设备作为发送端,通过信道将数据发送给
接收端。接收端接收到发送端发送的数据之后,向发送端发送应答(acknowledge,ack)消息。如果发送端能够接收到该ack消息,则表明数据已正常到达接收端,即数据发送完成。如果发送端没有接收到该ack消息,则表明数据发送失败,发送端等待一段时间后重新发送数据。
119.在本技术实施例中,通过将信道访问时间划分为多个访问周期,且每个访问周期包括一个预留时间段,这样,ap可以从当前访问周期的预留时间段内选择第一时间段,并将第一时间段分配给第一设备,使得第一设备可以在第一时间段内发送数据。同时,由于资源分配信息用于指示第一时间段的开始时间,所以,第一设备获取到资源分配信息之后,可以在第一时间开始等待第一时长,在第一时长等待结束后,直接通过信道发送第一数据,而无需基于其对应的退避窗口随机确定退避时长。这样,可以保证第一设备能够通过信道及时地发送需要在特定时间内所发送的数据,即确定性数据。此外,在第一时间段未用完或者第一设备无确定性数据的情况下,其他具有确定性数据的设备可以优先抢占信道,并通过信道发送其对应的确定性数据。这样,可以充分利用当前访问周期包括的预留时间段,以此来避免预留时间段的浪费。
120.图11是本技术实施例提供的一种数据发送装置的结构示意图,该数据发送装置可以由软件、硬件或者两者的结合实现成为第一设备的部分或者全部,第一设备为ap和该至少一个sta中的一个设备。参见图11,该装置包括:获取模块1101、第一等待模块1102和第一发送模块403。
121.获取模块1101,用于获取当前访问周期的资源分配信息,该资源分配信息用于指示第一时间段的开始时间和持续时长,第一时间段是指ap为第一设备分配的时间段,且第一时间段位于当前访问周期的预留时间段内,第一设备为ap和该至少一个sta中的一个设备。详细实现过程参考上述各个实施例中对应的内容,此处不再赘述。
122.第一等待模块1102,用于在第一时间检测到信道空闲,开始等待第一时长,第一时间是基于该资源分配信息所指示的时间段的个数和第一时间段的开始时间确定的。详细实现过程参考上述各个实施例中对应的内容,此处不再赘述。
123.第一发送模块1103,用于在第一时长等待结束后,通过信道发送第一数据,第一数据是指第一设备需要在特定时间内所发送的数据。详细实现过程参考上述各个实施例中对应的内容,此处不再赘述。
124.可选地,该资源分配信息还用于指示第二时间段的开始时间和持续时长,第二时间段是指ap为第二设备分配的时间段,且第二时间段位于当前访问周期的预留时间段内,第二设备为ap和该至少一个sta中除第一设备之外的一个设备;该装置还包括:
125.第二等待模块,用于在第二时间检测到信道空闲,开始等待第二时长,第二时间位于第二时间段内;
126.第一确定模块,用于在第二时长等待结束后,确定退避时长,对该退避时长开始计时;
127.第二发送模块,用于在该退避时长计时结束,但第二时间段的结束时间还未到达的情况下,通过信道发送第二数据,第二时长大于第一时长。
128.可选地,第一确定模块具体用于:
129.在第二数据为第一设备需要在特定时间内所发送的数据的情况下,基于第一退避
窗口确定该退避时长;
130.在第二数据为第一设备不需要在特定时间内所发送的数据的情况下,基于第二退避窗口确定该退避时长;
131.其中,第一退避窗口的最大值小于第二退避窗口的最小值。
132.可选地,当前访问周期的预留时间段内还包括位于第二时间段之后的第三时间段,第三时间段是指ap为第三设备分配的时间段,第三设备为ap和该至少一个sta中除第一设备和第二设备之外的一个设备;该装置还包括:
133.第二确定模块,用于确定第二时间段的剩余时长,该剩余时长是指从该退避时长计时结束的时间至第三时间段的开始时间之间的时长;
134.第三确定模块,用于从待发送数据中确定第二数据,第二数据所占用的发送时长低于该剩余时长。
135.可选地,第二时间是第二时间段的开始时间,或者,第二时间是第二时间段的开始时间之后的任一时间。
136.可选地,第一设备为该至少一个sta中的一个sta;获取模块1101具体用于:
137.向ap发送资源分配请求,该资源分配请求携带第一数据的特征;
138.接收ap发送的该资源分配信息。
139.可选地,第一设备为该至少一个sta中的一个sta;该装置还包括:
140.第一接收模块,用于接收ap发送的目标信道抢占参数,目标信道抢占参数包括第一时长、第二时长、第一退避窗口的最小值和最大值。
141.可选地,第一设备为ap,该装置还包括:
142.第二接收模块,用于接收第一sta发送的资源分配请求,该资源分配请求携带第三数据的特征,第三数据为第一sta待发送的数据,且第三数据为第一sta需要在特定时间内所发送的数据,第一sta为该至少一个sta中的一个sta;
143.分配模块,用于基于该资源分配请求的接收时间和第三数据的特征,在当前访问周期的预留时间段内为第一sta分配一个时间段;
144.第三发送模块,用于向第一sta发送资源分配信息,该资源分配信息用于指示ap为第一sta分配的时间段的开始时间和持续时长。
145.在本技术实施例中,通过将信道访问时间划分为多个访问周期,且每个访问周期包括一个预留时间段,这样,ap可以从当前访问周期的预留时间段内选择第一时间段,并将第一时间段分配给第一设备,使得第一设备可以在第一时间段内发送数据。同时,由于资源分配信息用于指示第一时间段的开始时间,所以,第一设备获取到资源分配信息之后,可以在第一时间开始等待第一时长,在第一时长等待结束后,直接通过信道发送第一数据,而无需基于其对应的退避窗口随机确定退避时长。这样,可以保证第一设备能够通过信道及时地发送需要在特定时间内所发送的数据,即确定性数据。此外,在第一时间段未用完或者第一设备无确定性数据的情况下,其他具有确定性数据的设备可以优先抢占信道,并通过信道发送其对应的确定性数据。这样,可以充分利用当前访问周期包括的预留时间段,以此来避免预留时间段的浪费。
146.需要说明的是:上述实施例提供的数据发送装置在进行数据发送时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功
能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据发送装置与数据发送方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
147.请参考图12,图12是根据本技术实施例示出的一种计算机设备的结构示意图,该计算机设备可以是图1中所示的sta102。该计算机设备包括至少一个处理器1201、通信总线1202、存储器1203以及至少一个通信接口1204。
148.处理器1201可以是一个通用中央处理器(central processing unit,cpu)、网络处理器(network processor,np)、微处理器、或者可以是一个或多个用于实现本技术方案的集成电路,例如,专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complex programmable logic device,cpld)、现场可编程逻辑门阵列(field-programmable gate array,fpga)、通用阵列逻辑(generic array logic,gal)或其任意组合。
149.通信总线1202用于在上述组件之间传送信息。通信总线1202可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
150.存储器1203可以是只读存储器(read-only memory,rom),也可以是随机存取存储器(random access memory,ram),也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、光盘(包括只读光盘(compact disc read-only memory,cd-rom)、压缩光盘、激光盘、数字通用光盘、蓝光光盘等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1203可以独立存在,并通过通信总线1202与处理器1201相连接。存储器1203也可以和处理器1201集成在一起。
151.通信接口1204使用任何收发器一类的装置,用于与其它设备或通信网络通信。通信接口1204包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口、电接口或其组合。无线通信接口可以为无线局域网(wireless local area networks,wlan)接口、蜂窝网络通信接口或其组合等。
152.在具体实现中,作为一种实施例,计算机设备可以包括多个处理器,如图12中所示的处理器1201和处理器1205。这些处理器中的每一个可以是单核处理器,也可以是多核处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
153.在具体实现中,作为一种实施例,计算机设备还可以包括输出设备1206和输入设备1207。输出设备1206和处理器1201通信,可以以多种方式来显示信息。例如,输出设备1206可以是液晶显示器(liquid crystal display,lcd)、发光二级管(light emitting diode,led)显示设备、阴极射线管(cathode ray tube,crt)显示设备或投影仪(projector)等。输入设备1207和处理器1201通信,可以以多种方式接收用户的输入。例如,输入设备1207可以是鼠标、键盘、触摸屏设备或传感设备等。
154.在一些实施例中,存储器1203用于存储执行本技术方案的程序代码1210,处理器1201可以执行存储器1203中存储的程序代码1210。该程序代码1210中可以包括一个或多个
软件模块,该计算机设备可以通过处理器1201以及存储器1203中的程序代码1210,来实现上文图3实施例提供的数据发送方法。
155.请参考图13,图13是根据本技术实施例示出的一种网络设备的结构示意图,该网络设备可以是图1中所示的ap101。在该实施例中,该网络设备1300包括:主控板1310、接口板1330和接口板1340。在该网络设备1300包括多个接口板的情况下,该网络设备1300还可以包括交换网板(图中未示出),该交换网板用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。
156.主控板1310用于完成系统管理、设备维护、协议处理等功能。接口板1330和接口板1340用于提供一个或多个网络接口,例如,以太(ethernet)接口、快速以太(fast ethernet,fe)接口或千兆以太(gigabit ethernet,ge)接口等,通过这些接口实现数据的发送。主控板1310、接口板1330以及接口板1340之间通过系统总线与系统背板相连实现互通。接口板1330上包括一个或多个处理器1331。处理器1331用于对接口板进行控制管理并与主控板上的中央处理器进行通信,以及用于数据的发送处理。接口板1330上的存储器1332用于存储资源分配信息,处理器1331基于存储器1332中存储的资源分配信息进行数据的发送。其中,数据的发送过程请参考上述实施例中的描述,此处不做阐述。
157.可以理解,如图13所示,本实施例中包括多个接口板,采用分布式的转发机制,这种机制下,接口板1340上的操作与所述接口板1330的操作基本相似,为了简洁,不再赘述。此外,可以理解的是,图13中的接口板1330中的处理器1331和/或1341可以是专用硬件或芯片,如网络处理器或者专用集成电路(application specific integrated circuit)来实现上述功能,这种实现方式即为通常所说的转发面采用专用硬件或芯片处理的方式。在另外的实施方式中,所述处理器1331和/或1341也可以采用通用的处理器,如通用的cpu来实现以上描述的功能。
158.此外,需要说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,该设备的数据处理能力越强,提供的接口板越多。多块接口板的情况下,该多块接口板之间可以通过一块或多块交换网板通信,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,该设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,该设备包括多块接口板,可以通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
159.具体的实施例中,存储器1332可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1332可以是独立存在,通过通信总线与处理器1331相连接。存储器1332也可以和处理器1331集成在一起。
160.存储器1332用于存储执行本技术方案的程序代码,处理器1331可以执行存储器1332中存储的程序代码来控制执行,以实现上述实施例所提供的数据发送方法。其中,存储器332中存储的程序代码中可以包括一个或多个软件模块。这一个或多个软件模块可以为上面实施例中提供的软件模块。
161.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(digital subscriber line,dsl))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(digital versatile disc,dvd))或半导体介质(例如:固态硬盘(solid state disk,ssd))等。值得注意的是,本技术实施例提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。
162.应当理解的是,本文提及的“多个”是指两个或两个以上。在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,为了便于清楚描述本技术实施例的技术方案,在本技术实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
163.需要说明的是,本技术实施例所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本技术实施例中涉及到的资源分配信息都是在充分授权的情况下获取的。
164.以上所述为本技术提供的实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。