CN118018629A - 毫米波的数据流分片处理方法、装置及设备 - Google Patents
毫米波的数据流分片处理方法、装置及设备 Download PDFInfo
- Publication number
- CN118018629A CN118018629A CN202410405335.5A CN202410405335A CN118018629A CN 118018629 A CN118018629 A CN 118018629A CN 202410405335 A CN202410405335 A CN 202410405335A CN 118018629 A CN118018629 A CN 118018629A
- Authority
- CN
- China
- Prior art keywords
- data
- queue
- management frame
- head
- empty
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 11
- 238000012545 processing Methods 0.000 claims abstract description 132
- 230000005540 biological transmission Effects 0.000 claims abstract description 129
- 238000000034 method Methods 0.000 claims abstract description 101
- 239000012634 fragment Substances 0.000 claims description 77
- 230000002776 aggregation Effects 0.000 claims description 38
- 238000004220 aggregation Methods 0.000 claims description 38
- 238000013467 fragmentation Methods 0.000 claims description 4
- 238000006062 fragmentation reaction Methods 0.000 claims description 4
- 238000007726 management method Methods 0.000 description 193
- 230000008569 process Effects 0.000 description 51
- 238000004891 communication Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000004931 aggregating effect Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005111 flow chemistry technique Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000000452 restraining effect Effects 0.000 description 1
- 125000006850 spacer group Chemical group 0.000 description 1
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供一种毫米波的数据流分片处理方法、装置以及设备,当需要在一些点对多点的私有协议的网桥系统中实现科学调度主站和从站之间的数据流时,本申请实施例提供的方法可以分别依据控制帧队列、管理帧队列、重传队列以及新传数据队列的状态,确定对这几个队列的数据的处理策略,并依据每一个队列的数据处理策略依次对各个队列的数据依次进行组包分片处理,最终将这几个队列的数据聚合成待传输的数据包,以便进行数据传输,通过本申请提供的方法可以有效地实现主站和从站之间的数据流的科学调度,以使得主站和从站之间可以更好地实现各自的业务功能和分片功能的数据流处理。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种毫米波的数据流分片处理方法、装置及设备。
背景技术
随着科学技术的发展,在实际应用过程中需要实现大量数据的传输业务,在毫米波点对多点的私有协议的系统中,为了实现主站和从站的封闭系统的正常数传功能,需要针对性地开发私有协议栈,进而保障只有私有协议内部的网元才能接入、鉴权、业务。该技术可以应用在地铁的视频数据回传、基站数据回传等应用场景。
作为一个私有协议系统,数据面的处理是关键特性,分片功能又是数据面处理绕不开的关键特性。分片功能指的是在TDMA系统中时隙资源不足以传输一个大的数据包时,将一个大的数据包拆成小包进行传输,以便于更好的利用时隙资源;在实际应用过程中,有时候会存在系统当前的时隙资源无法满足发送大的数据包的情况出现,当系统当前的时隙资源无法满足发送大的数据包时,则需要进行分片的数据传输。分片功能以其调度简单,实现容易的特点,也具有较大的市场空间。在实际应用过程中,如何在无法满足发送一个大的数据包的情况下,有效完成系统的数据面的科学调度是人们关注的问题。
发明内容
本申请旨在至少能解决上述的技术缺陷之一,有鉴于此,本申请提供了一种毫米波的数据流分片处理方法、装置及设备,用于解决现有技术中网桥系统的主站和从站的数据流调度处理困难的技术缺陷。
一种毫米波的数据流分片处理方法,包括:
当调度时刻到达时,获取点对多点系统的发送端的调度时隙资源及当前发送数据所采用的编码与调制方案;
判断所述发送端的控制帧队列是否为空;
若所述控制帧队列为非空,则依据预设第一数据处理策略对所述控制帧队列的数据进行处理,直至所述控制帧队列为空;
若所述控制帧队列为空,则判断所述发送端的管理帧队列是否为空;
若所述管理帧队列非空,则依据所述发送端的调度时隙资源、当前发送数据所采用的编码与调制方案以及预设的第二数据处理策略对所述管理帧队列的数据进行处理,直至所述管理帧队列为空;
判断聚合链路层协议数据包中是否已存在管理帧;
若所述聚合链路层协议数据包中已存在管理帧,则直接等待下一次调度时刻。
优选地,该方法还包括:
若所述聚合链路层协议数据包不存在管理帧,则判断重传队列是否为空;
若所述重传队列不为空,则依据预设的第三数据处理策略对所述重传队列的数据进行处理,直至所述重传队列为空。
优选地,该方法还包括:
若所述重传队列为空,则判断新传数据队列是否为空;
若所述新传数据队列为非空,则依据预设的第四数据处理策略,对所述新传数据队列的数据进行处理,直至所述新传数据队列的数据为空;
若所述新传数据队列为空,则直接等待下一次调度时刻到达。
优选地,所述依据预设第一数据处理策略对所述控制帧队列的数据进行处理,包括:
依次将所述控制帧队列中的确认帧、确认帧的状态报告以及缓冲区的状态报告取出;
将所取出的所述控制帧队列中的确认帧、确认帧的状态报告以及缓冲区的状态报告组成待发送的数据包填充到所述聚合链路层协议数据包中。
优选地,所述依据所述发送端的调度时隙资源、当前发送数据所采用的编码与调制方案以及预设的第二数据处理策略对所述管理帧队列的数据进行处理,包括:
依次从所述管理帧队列的队首取出管理帧数据包,其中,从所述管理帧队列的队首取出的管理帧数据包可能是一个完整的管理帧数据信息包,或者为第一目标分片,其中,所述第一目标分片为已发送一部分数据分片后所剩余的管理帧数据信息分片 ;
在依次从所述管理帧队列的队首取出管理帧数据包之后,根据所述发送端的调度时隙资源以及当前发送数据所采用的编码与调制方案,判断当前剩余的所分配的时隙资源是否足够承载从所述管理帧队列的队首取出的管理帧数据包;
若确定当前剩余的所分配的时隙资源足够承载从所述管理帧队列的队首取出的管理帧数据包,则轮询到所述管理帧队列的队首取出下一个管理帧数据包或分片,直到所述管理帧队列为空;
若确定当前剩余的所分配的时隙资源不足以承载从所述管理帧队列的队首取出的管理帧数据包,则判断从所述管理帧队列的队首取出的管理帧数据包是否为一个完整管理帧数据信息包或者为所述第一目标分片;
若从所述管理帧队列的队首取出的管理帧数据包为一个完整管理帧数据信息包,则根据当前剩下的时隙资源进行数据分片组包,并将进行数据分片组包所得到的数据分片填充至聚合链路层协议数据包;
若从所述管理帧队列的队首数据包为所述第一目标分片,则判断当前剩下的时隙资源是否足以承载大小为预设的第一阈值的数据;
若当前剩下的时隙资源足以承载大小为所述预设的第一阈值的数据,则根据当前剩下的时隙资源将所述第一目标分片进行分片组包,并将对所述第一目标分片进行分片组包后得到的数据分片填充至所述聚合链路层协议数据包;
若当前剩下的时隙资源不足以承载大小为所述预设的第一阈值的数据,则不再在进行数据聚合,等待下一次调度时刻到达。
优选地,所述依据预设的第三数据处理策略对所述重传队列的数据进行处理,包括:
依次从所述重传队列的队首取出数据包,并将从所述重传队列的队首取出的数据包组成链路层数据包,并所组成的链路层数据包放入所述聚合链路层协议数据包中;
判断当前剩余的时隙资源是否足以承载从所述重传队列的队首取出的数据包所组成的链路层数据包;
若当前剩余的时隙资源不足以承载从所述重传队列的队首取出的数据包所组成的链路层数据包,则不再进行组包操作,等待下一次调度时刻到达。
优选地,所述依据预设的第四数据处理策略对所述新传数据队列的数据进行处理,包括:
判断当前时刻是否达到发送窗口;
若当前时刻未达到发送窗口,则根据发送窗口中的队首标示符,依次从所述新传数据队列的队首取出数据包,其中,从所述新传数据队列的队首所取出的数据包可能是一个完整的载荷,或者是已经发送了一部分数据分片后的剩余载荷分片;
判断当前剩余的所分配的时隙资源是否足以承载从所述新传数据队列的队首取出的数据包;
若当前剩余的所分配的时隙资源足以承载从所述新传数据队列的队首取出的数据包,则轮询到所述新传数据队列的队首标示符所在位置取出下一个数据包或分片,并将发送窗口中的队首标示符进行加一处理,并继续判断当前剩余的所分配的时隙资源是否足以承载从所述新传数据队列的队首取出的数据包的操作,直到所述新传数据队列为空;
若当前剩余的所分配的时隙资源不足以承载从所述新传数据队列的队首取出的数据包,则判断从所述新传数据队列的队首取出的数据包是为一个完整载荷还是为已经发送一部分数据分片后所剩余的载荷分片;
若从所述新传数据队列的队首取出的数据包为一个完整载荷,则根据当前剩下的时隙资源对从所述新传数据队列的队首取出的数据包进行分片组包,并将对从所述新传数据队列的队首取出的数据包进行分片组包后得到的数据包填充至所述聚合链路层协议数据包;
若从所述新传数据队列的队首取出的数据包为已经发送一部分数据分片后所剩余的载荷分片,则判断当前剩下的时隙资源是否足以满足承载大小为所述预设的第一阈值的数据;
若当前剩下的时隙资源足以满足承载大小为所述预设的第一阈值的数据,则依据当前剩下的时隙资源,将从所述新传数据队列的队首取出的载荷进行分片组包,并将从所述新传数据队列的队首取出的载荷进行分片组包后所得到的数据包填充至所述聚合链路层协议数据包;
若当前剩下的时隙资源不足以满足承载大小为所述预设的第一阈值的数据,或者当前时刻已经达到发送窗边界,则不再进行数据聚合,等待下一次调度时刻到达。
优选地,所述预设的第一阈值为810bits。
一种毫米波的数据流分片处理装置,包括:
获取单元,用于当调度时刻到达时,获取点对多点系统的发送端的调度时隙资源及当前发送数据所采用的编码与调制方案;
第一判断单元,用于判断所述发送端的控制帧队列是否为空;
第一数据处理单元,用于当所述第一判断单元的执行结果为所述控制帧队列为非空时,依据预设第一数据处理策略对所述控制帧队列的数据进行处理,直至所述控制帧队列为空;
第二判断单元,用于当所述第一判断单元的执行结果为所述控制帧队列为空时,判断所述发送端的管理帧队列是否为空;
第二数据处理单元,用于当所述第二判断单元的执行结果为所述管理帧队列非空,则依据所述发送端的调度时隙资源、当前发送数据所采用的编码与调制方案以及预设的第二数据处理策略对所述管理帧队列的数据进行处理,直至所述管理帧队列为空;
第三判断单元,用于判断聚合链路层协议数据包中是否已存在管理帧;
调度等待单元,用于当所述第三判断单元的执行结果为所述聚合链路层协议数据包中已存在管理帧时,等待下一次调度时刻。
一种毫米波的数据流分片处理设备,包括:一个或多个处理器,以及存储器;
所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,实现如前述介绍中任一项所述毫米波的数据流分片处理方法的步骤。
从以上介绍的技术方案可以看出,在实际应用过程中,当需要在一些点对多点的私有协议的网桥系统中实现科学调度主站和从站之间的数据流时,不同的接收端的优先级及缓存情况不同,则不同的接收端所需要的时隙资源不同,因此,当预设的调度时刻到达时,本申请实施例提供的方法可以获取点对多点系统的发送端的调度时隙资源及当前发送数据所采用的编码与调制方案;在实际应用过程中,发送端一般存在四种缓存队列的数据需要处理,分别为控制帧队列、管理帧队列、重传队列以及新传数据队列。由于每次对数据进行处理时,都会携带控制帧队列和管理帧队列的数据,因此,在获取发送端的调度时隙资源之后,可以进一步判断发送端的控制帧队列是否为空;若控制帧队列为非空,则说明控制帧队列存在需要处理的数据,则可以依据预设第一数据处理策略对控制帧队列的数据进行处理,直至控制帧队列为空;若控制帧队列为空,则说明控制帧队列不再存在需要处理的数据,则需要处理判断发送端的管理帧队列是否为空;若管理帧队列非空,则说明管理帧队列存在需要处理的数据,则可以依据发送端的调度时隙资源、当前发送数据所采用的编码与调制方案以及预设的第二数据处理策略对管理帧队列的数据进行处理,直至管理帧队列为空;当管理帧队列为空时,则说明管理帧队列不再存在需要处理的数据,每次调度传输的数据有限,一般对待传输的数据进行处理后会将数据填充至聚合链路层协议数据包中,因此,当处理完控制帧队列和管理帧队列的数据之后,可以进一步判断聚合链路层协议数据包中是否已存在管理帧;若聚合链路层协议数据包中已存在管理帧,则说明可以直接传输聚合链路层协议数据包,则可以直接等待下一次调度时刻即可,由此则可以完成发送端和接收端之间的数据流调度。
由此可见,当需要在一些点对多点的私有协议的网桥系统中实现科学调度主站和从站之间的数据流时,本申请实施例提供的方法可以对数据进行组包分片处理,可以有效地实现科学调度数据流,以使得主站和从站之间可以更好地实现各自的业务功能和分片功能的数据流处理。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种实现毫米波的数据流分片处理方法的流程图;
图2为本申请实施例示例的一种链路层数据包的数据结构示意图;
图3为本申请实施例示例的一种聚合链路层协议数据单元进行数据聚合的结构示意图;
图4为本申请实施例示例的一种链路层数据包分隔符的帧格式结构示意图;
图5为本申请实施例示例的一种帧的序列控制字段结构示意图;
图6为本申请实施例公开的一种毫米波的数据流分片处理装置结构示意图;
图7为本申请实施例公开的一种毫米波的数据流分片处理设备的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
鉴于目前大部分的毫米波的数据流分片处理方案难以适应复杂多变的业务需求,为此,本申请人研究了一种毫米波的数据流分片处理方案,当需要在一些点对多点的私有协议的网桥系统中实现科学调度主站和从站之间的数据流时,本申请实施例提供的方法可以有效地实现科学调度数据流,以使得主站和从站之间可以更好地实现各自的业务功能和分片功能的数据流处理。
本申请实施例提供的方法可以用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。本申请实施例提供一种毫米波的数据流分片处理方法,该方法可以应用于各种数据管理系统中,亦可以应用在各种计算机终端或是智能终端中,其执行主体可以为计算机终端或是智能终端的处理器或服务器。
下面结合图1,介绍本申请实施例给出的毫米波的数据流分片处理方法的流程,如图1所示,该流程可以包括以下几个步骤:
步骤S101,当调度时刻到达时,获取点对多点系统的发送端的调度时隙资源及当前发送数据所采用的编码与调制方案。
具体地,在实际应用过程中,点对多点系统的发送端和接收端之间进行数据交互时,往往需要时隙资源,并且,当前发送数据所采用的编码与调制方案不同,则每次可以传输的数据容量不同。
在实际应用过程中,发送数据所采用的编码与调制方案指的是信号的调制编码的效率,简称为MCS,发送数据时采用的MCS越高越能够在单位时间、单位带宽内传输的数据包就越多,进而直接影响分片的数量。
调度时隙指的是上层的调度算法给每次发射的多长时间的发射时隙,时隙越长,在MCS不变的情况下,每次发送的数据也就越多,反之则越少。
时隙资源以及发送数据的编码与调制效率这两个参数均影响每次发射的数据总量。因此,为了更好地利用可用的时隙资源进行科学的数据流调度。可以在调度时刻到达时,获取点对多点系统的发送端的调度时隙资源及当前发送数据所采用的编码与调制方案。通过了解调度时隙资源,可以更好地规划和分配通信资源,确保各个节点能够公平、高效地使用带宽,避免冲突和资源浪费。在实际应用过程中,调度时隙资源的长度与点对多点系统的配置有关系。
例如,当点对多点系统拥有多个终端,且该点对多点系统的某一个调度周期为5ms时,则该5ms是多个终端共享的时间,如果点对多点系统只有一个终端或者只有一个从站,那么当该点对多点系统的调度周期为5ms时,则该5ms为一个终端可以使用的时间,如果是多个终端,每个终端的分配的调度周期,则小于5ms。
在实际应用过程中,编码与调制方案的选择直接影响数据的传输速率、可靠性和抗干扰能力。因此,获取当前采用的编码与调制方案可以评估其是否适合当前的通信环境,是否需要进行调整以提高传输质量。不同的编码与调制方案对信道条件的适应性也不同。了解当前采用的编码与调制方法可以有助于提高信号的鲁棒性,减少误码率,提升整体系统的性能。获取调度时隙和编码调制方案还有助于监控系统的运行状态。例如,如果发现异常或故障,可以及时进行排查和修复,保证系统的稳定运行。获取点对多点系统的发送端的调度时隙资源及当前发送数据所采用的编码与调制方案,可以在动态变化的通信环境中,能够实时获取和调整这些参数,使系统能够快速适应变化,保持良好的通信效果。
综上所述,获取点对多点系统的发送端的调度时隙资源及当前发送数据所采用的编码与调制方案对于点对多点系统的有效运行、性能优化和自适应调整都具有关键意义。它有助于提高系统的效率、可靠性和适应性,从而提供更好的通信服务。
其中,调度时刻可以包括上行调度时刻和下行调度时刻。
步骤S102,判断所述发送端的控制帧队列是否为空。
具体地,在实际应用过程中,点对多点系统一般可以包括控制帧队列、管理帧队列。其中,点对多点系统的发送端在每次发送数据时,通常会将控制帧队列、管理帧队列中的数据都包含在待发送的数据帧中。这样可以确保发送端能够及时向接收端发送控制信息、管理信息,以保证数据传输的可靠性和稳定性。其中,控制帧队列的控制帧可以用于传输控制信息。例如,确认帧、请求帧等。
因此,当需要进行数据传输时,需要先判断发送端的控制帧队列是否为空,若控制帧队列不为空,则说明控制帧队列存在需要处理的数据,则可以执行步骤S103。若控制帧队列为空,则说明控制帧队列不存在待处理的数据,则可以执行步骤S104。
步骤S103,依据预设第一数据处理策略对所述控制帧队列的数据进行处理,直至所述控制帧队列为空。
具体地,由上述介绍可知,本申请实施例提供的方法可以确定控制帧队列是否为空,若确定控制帧队列不为空,则说明控制帧队列存在待处理的控制信息,则可以依据预设的第一数据处理策略对控制帧队列数据进行处理。
其中,依据预设第一数据处理策略对所述控制帧队列的数据进行处理的过程可以包如下括:
(1)依次将控制帧队列中的确认帧、确认帧的状态报告以及缓冲区的状态报告取出;
(2)将所取出的控制帧队列中的确认帧、确认帧的状态报告以及缓冲区的状态报告组成待发送的数据包填充到聚合链路层协议数据包中。
在实际应用过程中,点对多点系统的发送端和接收端之间的数据面流程,主要为数据包从数据芯片发送到WIFI芯片缓存队列或WIFI芯片自身产生的数据包放入缓存队列,再将数据从WIFI芯片中通过物理层,经空口发送出去,接收端正确接收后,对其进行确认的过程,或者是接收端未正确接收,发送端重新进行数据发送的过程。
其中,控制帧队列中的确认帧可以用于确认发送端已经成功接收到数据帧,并向发送端发送确认信息。控制帧队列的确认帧的状态报告可以用于指示确认帧的状态。例如,可以确认控制帧队列的确认帧是否已经成功发送、是否已经被接收端正确接收等。缓冲区的状态报告可以用于指示发送端和接收端的缓冲区状态,例如,可用来指示缓冲区的剩余空间、缓冲区的已满程度等。控制帧队列的确认帧、确认帧的状态报告以及缓冲区的状态报告等信息可以帮助发送端和接收端更好地管理数据传输,以提高数据传输的效率和可靠性。
其中,802.11协议定义了SDU和PDU。其中,SDU(Service Data Unit)即服务数据单元,又叫业务数据单元,是指定层的用户服务的数据集,传送到接收方的时候同一协议层时数据没有发生变化,即业务部分,然后发给下层之后,下层将其封装在PDU中发送出去。PDU(Protocol Data Unit)即协议数据单元,是计算机网络各层对等实体间交换的单位信息。例如,TCP层的PDU就是segment(分节)、应用层间交换的PDU则是application data(应用数据)。在实际应用过程中,上层实际要发送的数据将传给MAC层(链路层),这个数据被称为MSDU。对于MAC来说,MSDU其实是MAC要发送的数据,即载荷(payload)。MAC层处理payload时还会封装自己的一些头信息。这些信息和MSDU共同构成了MAC层的MPDU,从控制帧队列中取出的确认帧、确认帧的状态报告以及缓冲区的状态报告进行聚合处理所组成的待发送的数据包即为MPDU,并在组成待发送的数据包之后,将其填充到聚合链路层协议数据单元中。
例如,图2示例了一种链路层数据包的数据结构示意图。
一般情况下,点对多点系统默认一个从站在一次调度过程中只组一个A-MPDU(即聚合链路层协议数据包),需要注意的是,确认帧以及缓冲区的状态报告一般是放在所填充的聚合链路层协议数据单元的最前面,确认帧的状态报告是放在所填充的聚合链路层协议数据单元最后的位置。其中,聚合链路层协议数据单元是将多个链路层级协议数据单元聚合到单个PHY协议数据单元中。在实际应用过程中,聚合链路层协议数据单元进行数据聚合一般在链路层的底部实现,其基本目的是使多个 MPDU (即链路层数据包)共享物理层头部数据并共同接入信道。
图3示例了一种聚合链路层协议数据单元进行数据聚合的结构示意图。如图3所示,聚合链路层协议数据单元聚合机制(A-MPDU 聚合机制)的最大特点在于其聚合的数据单元是添加了 MAC 头部(即链路层头部)和 FCS(即帧尾)的 MPDU。由于每个子帧均包含FCS 字段,因此,接收端可分别对各个子帧进行正确性检测。802.11n 标准提出一种称为BlockACK 的机制来完成接收端对聚合帧的确认功能,A-MPDU 聚合帧实际包含的子帧个数只取决于当前发送队列中 MPDU 的个数,并没有最大等待时长的设置。此外,A-MPDU 聚合机制最多只能聚合 64 个子帧,这一限制是由其采用的 BlockACK (即块确认)确认方式造成的。根据站点吞吐量能力的不同,A-MPDU 聚合帧的最大长度可为 8191字节、16383字节、32767字节 和 65535字节 、1048575字节,发送端不允许发送大于最大长度的 A-MPDU 帧。
由图3可知,A-MPDU 的子帧可以由 MPDU Delimiter(即链路层数据包分隔符)、MPDU 和 Padding (即填充字节)数据组成。其中, Padding 数据的作用同样为保证各子帧的字节长度为 4 的整数倍。MPDU Delimiter 为各子帧间的分隔符,其具体的格式如图4所示。图4示例了一种链路层数据包分隔符的帧格式结构示意图。
MPDU Delimiter 各个子域的具体含义如下表1所示:
表1 链路层数据包分隔符的各个子域具体含义表
;
Deilmiter 字段的作用是便于接收端检测到聚合帧中各个子帧的边缘并将子帧提取出来。在解聚合算法中,接收端依据 Delimiter 中的 Signature 子域检测Delimiter的位置,然后根据 CRC 子域检验 Delimiter 的正确性。如果正确,则将Delimiter 之后的MPDU 提取出来,然后进行下一个 Delimiter 的检测,直到A-MPDU 的解聚合过程完成。如若遇到产生错误的 Delimiter,则接收端需要跳过 4 个字节(MPDU Delimiter正好4个字节长),进行下一个 4 字节组的检测,直至找到下一个 Delimiter(即分隔符)。A-MPDU 最大值 1048575Bytes(即字节),聚合MPDU(及链路层数据包)个数由块确认机制所约束,目前认为聚合参数参考协议标准,为64个。当可允许调度的字节数确定的情况下,需要对MPDU进行聚合,但是有可能出现最后一包MPDU无法塞满可允许调度的字节数,结合MAC Header(即链路层头部)中包含2个八位的“序列控制字段”帧格式。由于802.11MAC帧中MAC Header中包含2个八位的“序列控制字段”,其由一个4bit的“分片号”及一个12bit的“序列号”组成。
如图5所示,其中,图5示例了一种帧的序列控制字段结构示意图。“序列号”给出MSDU(即载荷)或MMPDU(即管理帧中的数据信息包)的序列号。站点为其发送的每个MSDU或MMPDU指定一个序列号。当上层帧交付给MAC(即链路层)传送时,会被赋予一个顺序编号。此字段的作用相当于已传帧的计数器取4096的模数。此计数器从0开始,MAC每处理一个上层包它就会累加1。如果上层封包被分段处理,则所有的帧片段都会具有相同的顺序编号。如果是重传帧,则顺序编号不会有任何改变。每个TID(及标示符)会维护一组序列号,在本方案中,管理帧和数据帧独立维护一套自身的序列号及分片号。需要注意的是,A-MPDU组包时要考虑固定开销(报头和校验);且A-MPDU聚合,只支持同一个TID(标示符),即只支持数据帧聚合,或者管理帧聚合,同时可携带控制帧的方式。
步骤S104,判断所述发送端的管理帧队列是否为空。
具体地,在实际应用过程中,点对多点系统还包括管理帧队列。点对多点系统发送数据时包括管理帧信息是为了保证数据传输的可靠性和稳定性。其中,管理帧队列可以包括管理帧信息,管理帧信息可以包括发送端和接收端的状态信息、缓冲区的状态信息、错误信息等。这些信息可以帮助发送端和接收端更好地管理数据传输,以提高数据传输的效率和可靠性。
例如,发送端可以根据管理帧信息缓冲区的状态信息来调整数据传输的速率,以避免缓冲区溢出;接收端可以根据错误信息来进行错误恢复,以保证数据的完整性。
管理帧可以用于传输管理信息,例如,可以用来传输心跳帧、同步帧等;将管理帧队列的数据都包含在待发送的数据帧中,可以确保接收端能够正确地接收和处理数据,从而提高数据传输的可靠性和稳定性。因此,在确定控制帧队列为空时,可以进一步判断管理帧队列是否为空,以确定管理帧队列是否存在需要进行处理的数据。
若管理帧队列非空,则说明管理帧队列存在需要处理的数据,可以执行步骤S105;若管理帧队列为空,则说明管理帧队列不存在需要处理的数据,可以执行步骤S106。
步骤S105,依据所述发送端的调度时隙资源、当前发送数据所采用的编码与调制方案以及预设的第二数据处理策略对所述管理帧队列的数据进行处理,直至所述管理帧队列为空。
具体地,由上述介绍可知,本申请实施例提供的方法可以确定控制帧队列及管理帧队列是否为空,在实际应用过程中,若确定管理帧队列不为空,则说明管理帧队列存在待处理的数据,则可以依据发送端的调度时隙资源、当前发送数据所采用的编码与调制方案以及预设的第二数据处理策略对管理帧队列的数据进行处理,直至管理帧队列为空。
步骤S106,判断聚合链路层协议数据包中是否已存在管理帧。
具体地,由上述介绍可知,本申请实施例提供的方法可以对将从控制帧队列中取出的确认帧、确认帧的状态报告以及缓冲区的状态报告进行聚合处理以组成待发送的数据包,并在组成待发送的数据包之后,将其填充到聚合链路层协议数据单元中,并且还可以进一步对管理帧队列的数据进行处理。
在实际应用过程中,在点对多点系统中,为了确保网络通信的高效性和稳定性。可以在对控制帧队列以及管理帧队列的数据进行处理之后,进一步判断聚合链路层协议数据单元是否已存在管理帧,如果已经存在管理帧,则可以避免重复发送相同的帧,从而减少网络流量和提高通信效率。同时,这也有助于避免网络拥塞和数据丢失等问题的发生,从而提高网络的稳定性和可靠性。在实际应用过程中,管理帧通常用于网络管理和控制,例如,可以用于进行拓扑发现、链路状态监测、错误检测等。若聚合链路层协议数据中已经存在管理帧,可能表示网络正在进行某种管理操作。
管理帧可以携带设备或节点的状态信息,如标识、地址、配置等。若聚合链路层协议数据中已经存在管理帧,可能意味着设备或节点正在向其他部分传递其状态或接受相关的管理指令。管理帧也可用于报告网络故障、错误或异常情况。若聚合链路层协议数据中已经存在管理帧,可能暗示存在某些问题,需要进行故障诊断和修复。聚合链路层协议可能使用管理帧来协调不同设备或节点之间的协议交互。这些帧可以帮助确保协议的正常运行和数据的正确传输。
因此,若聚合链路层协议数据包中已存在管理帧,则执行步骤S107。
若聚合链路层协议数据单元未存在管理帧,则可能有以下几种情况:
(1)可能当前的数据单元主要包含了用户数据或业务数据,而没有涉及到网络管理或控制信息。
(2)说明当前通信主要集中在数据的传输和交换,可能没有触发或需要发送管理帧的条件。
(3)没有管理帧的存在可以暗示链路层协议在正常工作,没有出现需要进行管理操作或报告异常的情况。
(4)有些情况下,管理帧的存在与否可能与具体的网络阶段、场景或应用需求有关。例如,在某些特定的通信模式下,可能不需要或不使用管理帧。
因此,若聚合链路层协议数据包不存在管理帧,则可以执行步骤S108。
步骤S107,直接等待下一次调度时刻。
具体地,由上述介绍可知,本申请实施例提供的方法可以判断聚合链路层协议数据包是否存在管理帧,若聚合链路层协议数据包已经存在管理帧信息,则说明当前所组成的聚合链路层协议数据包可以进行传输,可以不再进行组包操作,则可以直接等待下一次调度时刻到达之后再对重传队列的待重传的数据进行处理。
步骤S108,判断重传队列是否为空。
具体地,在实际应用过程中,点对多点系统可以包括重传队列。点对多点系统的重传数据队列用于存储需要重传的数据帧。当发送端发送数据帧时,如果接收端没有正确接收到数据帧,发送端会将数据帧存储在重传数据队列中,并在适当的时候重新发送数据帧。重传数据队列的大小和重传策略取决于具体的通信协议和应用场景。在实际应用过程中,在某些情况下,重传数据队列可能会占用大量的存储空间,因此需要合理地设计重传策略,以避免资源浪费。
由上述介绍可知,本申请实施例提供的方法可以对控制帧队列以及管理帧队列的数据进行处理,进一步地,在对控制帧队列以及管理帧进行处理之后,可以进一步对重传队列进行非空判断,以判断重传队列是否为空。若重传队列为非空,则说明重传队列中存在发送失败需要进行重新传输的数据,则可以执行步骤S109。
若重传队列为空,则说明重传队列中不存在需要重传的数据,可以执行步骤S110。
步骤S109,依据预设的第三数据处理策略对所述重传队列的数据进行处理,直至所述重传队列为空。
具体地,由上述介绍可知,本申请实施例提供的方法可以确定重传队列是否为空,以确定重传队列是否存在需要重传的数据,一般情况下,重传队列只有在数据帧传输失败后才存入传输失败的数据,管理帧队列和控制队列的数据不会进行重传,因此,若确定重传队列非空,则说明重传队列存在需要重传的数据,则可以依据预设的第三数据处理策略对所述重传队列的数据进行处理,直至重传队列为空。
其中,依据预设的第三数据处理策略对所述重传队列的数据进行处理的过程可以包括如下:
(1)依次从重传队列的队首取出数据包,并将从重传队列的队首取出的数据包组成链路层数据包,并将所组成的链路层数据包放入聚合链路层协议数据包中。
具体地,在实际应用过程中,重传队列的数据一般不进行分片处理,因此,在确定重传队列为非空时,则需要对重传队列中待重新传输的数据进行处理,则可以依次从重传队列的队首取出数据包,并将从重传队列的队首取出的数据包组成链路层数据包,并将所组成的链路层数据包放入聚合链路层协议数据包中,以便可以对待重传的数据进行传输。
(2)判断当前剩余的时隙资源是否足以承载从所述重传队列的队首取出的数据包所组成的链路层数据包。
具体地,从上述介绍可知,可以对重传队列的数据进行处理,在实际应用过程中,时隙资源比较有限,当从重传队列的队首取出数据后,一般不会对重传队列的数据进行分片处理,则需要考虑当前剩下的时隙资源是否可以处理从重传队列的队首取出的数据,因此,从重传队列的队首取出数据包之后,可以判断当前剩余的时隙资源是否足以承载从重传队列的队首取出的数据包所组成的链路层数据包,以便可以根据时隙资源的情况来对重传队列的数据进行处理。
(3)若当前剩余的时隙资源不足以承载从所述重传队列的队首取出的数据包所组成的链路层数据包,则不再进行组包操作,等待下一次调度时刻到达。
具体地,从上述介绍可知,可以判断当前剩下的时隙资源是否可以处理从重传队列取出的数据,若当前剩余的时隙资源不足以承载从重传队列的队首取出的数据包所组成的链路层数据包,则说明从重传队列取出的数据包容量较大,目前所剩下的时隙资源可能无法满足传输从重传队列的队首取出的数据,则不能再进行组包操作,只能等待下一次调度时刻到达之后,获取新的时隙资源后再处理从重传队列的队首取出的数据包。
步骤S110,判断新传数据队列是否为空;
具体地,由上述介绍可知,本申请实施例提供的方法可以判断重传队列是否为空,若重传队列为空,则说明重传队列不存在待处理的数据。在实际应用过程中,有时候虽然重传数据队列为空,已没有需要重传的数据,但是一般可能有剩余的时隙资源可以利用。
在实际应用过程中,点对多点系统还可以包括新传数据队列。因此,在对重传队列、管理帧队列以及控制帧队列的数据进行处理之后,本申请实施例提供的方法还可以对新传数据队列进行处理。
例如,当重传队列为空时,重传队列中已经没有数据包可发送了,但可能仍有剩余分配的时隙资源,由于新传数据队列和重传队列中采用的标示符都是相同的,则可以考虑将新传数据队列中的数据包聚合到此前所聚合的聚合链路层协议数据单元中。
值得注意的是,在实际应用过程中,重传队列中的数据包一般不再进行分片处理。
因此,为了确认新传数据队列是否存在需要传输的数据,可以判断发送端的新传数据队列是否为空。若新传数据队列为非空,则说明新传数据队列存在需要处理的数据,则可以执行步骤S111;
若新传数据队列为空,则说明新传数据队列不存在需要处理的数据,则说明已经将需要处理的数据组包处理完成,直接等待传输即可,则可以返回执行步骤S107。
步骤S111,依据预设的第四数据处理策略,对所述新传数据队列的数据进行处理,直至所述新传数据队列的数据为空。
具体地,由上述介绍可知,本申请实施例提供的方法可以确定新传数据队列是否为空,若新传数据队列为非空,则说明新传数据队列存在需要处理的数据,则说明需要对新传数据队列的数据进行处理,则可以依据预设的第四数据处理策略,对所述新传数据队列的数据进行处理,直至新传数据队列的数据为空,当新传数据队列为空则说明新传数据队列的数据已经处理完成。
由上述介绍的技术方案可以看出,当需要在一些点对多点的私有协议的网桥系统中实现科学调度主站和从站之间的数据流时,本申请实施例提供的方法可以对数据进行组包分片处理,可以有效地实现科学调度数据流,以使得主站和从站之间可以更好地实现各自的业务功能和分片功能的数据流处理。
由上述介绍可知,本申请实施例提供的方法可以依据发送端的调度时隙资源、当前发送数据所采用的编码与调制方案以及预设的第二数据处理策略对管理帧队列的数据进行处理,接下来介绍该过程,该过程可以包括如下几个步骤:
步骤S201,依次从所述管理帧队列的队首取出管理帧数据包。
具体地,由上述介绍可知,本申请实施例提供的方法可以确认管理帧队列是否为空,当确定管理帧队列为非空时,则说明管理帧队列存在需要处理的数据,则可以依次从管理帧队列的队首取出管理帧数据包,以便可以对管理帧队列的数据进行处理。
其中,从管理帧队列的队首取出的管理帧数据包可能是一个完整的管理帧数据信息包,或者为第一目标分片,其中,第一目标分片可以为已发送一部分数据分片后所剩余的管理帧数据信息分片。
步骤S202,在依次从所述管理帧队列的队首取出管理帧数据包之后,根据所述发送端的调度时隙资源以及当前发送数据所采用的编码与调制方案,判断当前剩余的所分配的时隙资源是否足够承载从所述管理帧队列的队首取出的管理帧数据包。
具体地,由上述介绍可知,本申请实施例提供的方法可以在确定管理帧队列为非空时,依次从管理帧队列的队首取出管理帧数据包;在依次从管理帧队列的队首取出管理帧数据包之后,则需要对所取出的数据包进行处理,因此,在依次从管理帧队列的队首取出管理帧数据包之后,可以根据发送端的调度时隙资源以及当前发送数据所采用的编码与调制方案,判断当前剩余的所分配的时隙资源是否足够承载从管理帧队列的队首取出的管理帧数据包。
若确定当前剩余的所分配的时隙资源足够承载从管理帧队列的队首取出的管理帧数据包,则可以执行步骤S203;若确定当前剩余的所分配的时隙资源不足以承载从管理帧队列的队首取出的管理帧数据包,则可以执行步骤S204。
步骤S203,轮询到所述管理帧队列的队首取出下一个管理帧数据包或分片,直到所述管理帧队列为空。
具体地,从上述介绍可知,本申请实施例提供的方法可以确定管理帧队列是否为空并可以在确定管理帧队列为非空时,从管理帧队列的队首依次取出数据包。若确定当前剩余的所分配时隙资源可以承载从管理帧队列的队首所取出的数据包,则说明当前的时隙资源还可以允许继续处理管理帧队列的数据,为了对管理帧队列的数据全部处理,在依次从管理帧队列的队首取出数据包之后,可以继续轮询到管理帧队列的队首取出下一个管理帧数据包或分片,直到管理帧队列为空,当管理帧队列为空时,则说明已经完成对管理帧队列的数据处理。
步骤S204,判断从所述管理帧队列的队首取出的管理帧数据包是否为一个完整管理帧数据信息包或者为所述第一目标分片。
具体地,由上述介绍,从管理帧队列的队首取出的管理帧数据包可能是一个完整的管理帧数据信息包,或者为第一目标分片,其中,第一目标分片可以为已发送一部分数据分片后所剩余的管理帧数据信息分片。
从管理帧队列的队首取出的数据包类型不同,其处理逻辑不同,因此,在依次从管理帧队列的队首取出数据之后,可以判断从管理帧队列的队首取出的管理帧数据包是否为一个完整管理帧数据信息包或者为第一目标分片,以便可以根据所取出的数据包的类型来确定具体的处理逻辑。
若从管理帧队列的队首取出的管理帧数据包为一个完整管理帧数据信息包,则可以执行步骤S205;若从管理帧队列的队首数据包为第一目标分片,则可以执行步骤S206。
步骤S205,根据当前剩下的时隙资源进行数据分片组包,并将进行数据分片组包所得到的数据分片填充至聚合链路层协议数据包。
具体地,由上述介绍可知,从管理帧队列的队首取出的数据包类型不同,其处理逻辑不同,因此,若确定从管理帧队列的队首取出的数据包类型为一个完整的管理帧数据信息包,则说明可以直接对所取出的完整的管理帧数据信号包进行传输,因此,可以根据当前剩下的时隙资源进行数据分片组包,并将进行数据分片组包所得到的数据分片填充至聚合链路层协议数据包,以便可以对其进行传输。
步骤S206,判断当前剩下的时隙资源是否足以承载大小为预设的第一阈值的数据。
具体地,由上述介绍可知,从管理帧队列的队首取出的数据包类型不同,其处理逻辑不同,因此,若确定从管理帧队列的队首数据包为第一目标分片,则说明可能对所取出的数据分片进行组包处理,则需要根据当前剩下的时隙资源进行组包分片处理,因此,在确定从管理帧队列的队首数据包为第一目标分片时,则需要当前剩下的时隙资源足以承载大小为预设的第一阈值的数据时,以便可以确认当前剩余的时隙资源是否可以传输从管理帧队列所取出的数据包。
其中,预设的第一阈值可以设置为810bits。
若当前剩下的时隙资源不足以承载大小为预设的第一阈值的数据,则说明当前时隙资源不足,不能处理从管理帧队列的队首取出的数据分片,可以不再在进行数据聚合,并返回执行步骤S107,等待下一次调度时刻到达,再对管理帧队列的数据进行处理;若确定当前剩下的时隙资源足以承载大小为预设的第一阈值的数据,则可以执行步骤S207。
步骤S207,根据当前剩下的时隙资源将所述第一目标分片进行分片组包,并将对所述第一目标分片进行分片组包后得到的数据分片填充至所述聚合链路层协议数据包。
具体地,由上述介绍可知,本申请实施例提供的方法可以确定剩下的时隙资源是否可以承载从管理帧队列的队首所取出的数据分片,若剩下的时隙资源可以承载从管理帧队列的队首所取出的数据分片,则说明当前的时隙资源充足,还可以发送容量更大的数据包,为了提高时隙资源的利用率,可以继续对管理帧队列的队首所取出的数据分片进行分片组包。
因此,在确定剩下的时隙资源可以承载从管理帧队列的队首所取出的数据分片之后,可以根据当前剩下的时隙资源将所述第一目标分片进行分片组包,并将对第一目标分片进行分片组包后得到的数据分片填充至聚合链路层协议数据包,以便可以对进行分片组包所得到的数据分片进行传输。
从上述介绍的技术方案可以看出,当需要对管理帧队列的数据进行处理时,本申请实施例提供的方法可以根据从管理帧队列队首所取出的数据的类型来分别对从管理帧队列的队首所取出的数据包进行分片组包处理,以便可以更好地利用剩余的时隙资源进行处理,以提高数据传输的安全性和可靠性,同时还可以提高对时隙资源的利用效率。
由上述介绍可知,本申请实施例提供的方法依据预设的第四数据处理策略对所述新传数据队列的数据进行处理,接下来介绍该过程,该过程可以包括如下几个步骤:
步骤S301,判断当前时刻是否达到发送窗口。
具体地,由上述介绍可知,本申请实施例提供的方法可以分别对控制帧队列、管理帧队列以及重传队列的数据进行处理,在实际应用过程中,每一次数据调度可以使用的时隙资源有限,当对控制帧队列、管理帧队列以及重传队列的数据进行处理之后,若确定新传数据队列存在需要处理的数据时,需要判断一下当前时刻是否已经达到发送窗口边界。若当前时刻已经到达发送窗口边界,则说明此次数据传输已不够时间处理新传数据队列的数据,需要等到下一次调度时刻到达,才有时间处理新传数据队列的数据。若当前时刻未到达发送窗口边界,则说明还可以继续处理新传数据队列的数据,则可以执行步骤S302。
步骤S302,根据发送窗口中的队首标示符,依次从所述新传数据队列的队首取出数据包。
具体地,由上述介绍可知,本申请实施例提供的方法可以确定新传数据队列是否存在待处理的数据以及进一步确定当前时刻是否到达发送窗口边界。若确定当前是否尚未到达发送窗口边界时,则说明可以继续处理新传数据队列的数据,则可以根据发送窗口中的队首标示符,依次从新传数据队列的队首取出数据包。
其中,从新传数据队列的队首所取出的数据包可能是一个完整的载荷,或者是已经发送了一部分数据分片后的剩余载荷分片;
步骤S303,判断当前剩余的所分配的时隙资源是否足以承载从所述新传数据队列的队首取出的数据包。
具体地,由上述介绍可知,本申请实施例提供的方法可以判断当前剩余的所分配的时隙资源是否可以承载从新传数据队列的队首取出的数据包。若当前剩余的所分配的时隙资源足以承载从新传数据队列的队首取出的数据包,则说明当前剩余的所分配的时隙资源可以用来处理新传数据队列的数据,则可以执行步骤S304;若当前剩余的所分配的时隙资源不足以承载从新传数据队列的队首取出的数据包,则可以执行步骤S305。
步骤S304,轮询到所述新传数据队列的队首标示符所在位置取出下一个数据包或分片,并将发送窗口中的队首标示符进行加一处理,并继续判断当前剩余的所分配的时隙资源是否足以承载从所述新传数据队列的队首取出的数据包的操作,直到所述新传数据队列为空。
具体地,由上述介绍可知,本申请实施例提供的方法可以确定当前剩余的所分配的时隙资源是否足以承载从新传数据队列的队首取出的数据,若当前剩余的所分配的时隙资源足以承载从新传数据队列的队首取出的数据包,则说明当前剩余的所分配的时隙资源可以用来处理新传数据队列的数据,则可以轮询到新传数据队列的队首标示符所在位置取出下一个数据包或分片,并将发送窗口中的队首标示符进行加一处理,为了继续处理完新传数据队列的数据,则在轮询到新传数据队列的队首标示符所在位置取出下一个数据包或分片,并将发送窗口中的队首标示符进行加一处理,可以继续判断当前剩余的所分配的时隙资源是否足以承载从新传数据队列的队首取出的数据包的操作,直到新传数据队列为空,当新传数据队列为空之后,则说明已经处理完新传数据队列的数据。
步骤S305,判断从所述新传数据队列的队首取出的数据包是为一个完整载荷还是为已经发送一部分数据分片后所剩余的载荷分片。
具体地,由上述介绍可知,从所述新传数据队列的队首取出的数据包可能是为一个完整载荷,也可能是为已经发送一部分数据分片后所剩余的载荷分片,从新传数据队列的队首取出的数据的类型不同,其处理策略不同,因此,在从新传数据队列的队首取出数据之后,可以判断从新传数据队列的队首取出的数据包是为一个完整载荷还是为已经发送一部分数据分片后所剩余的载荷分片。
若从新传数据队列的队首取出的数据包为一个完整载荷,则可以执行步骤S306,若从新传数据队列的队首取出的数据包为已经发送一部分数据分片后所剩余的载荷分片,则可以执行步骤S307。
步骤S306,根据当前剩下的时隙资源对从所述新传数据队列的队首取出的数据包进行分片组包,并将对从所述新传数据队列的队首取出的数据包进行分片组包后得到的数据包填充至所述聚合链路层协议数据包。
具体地,由上述介绍的技术方案可以看出,从所述新传数据队列的队首取出的数据包可能是为一个完整载荷,也可能是为已经发送一部分数据分片后所剩余的载荷分片,从新传数据队列的队首取出的数据的类型不同,其处理策略不同。在确定从新传数据队列的队首取出的数据包为一个完整载荷,则说明可以对其进行传输,则可以根据当前剩下的时隙资源对从新传数据队列的队首取出的数据包进行分片组包,并将对从新传数据队列的队首取出的数据包进行分片组包后得到的数据包填充至所述聚合链路层协议数据包,以便可以传输从新传数据队列所取出的数据包。
步骤S307,判断当前剩下的时隙资源是否足以满足承载大小为所述预设的第一阈值的数据。
具体地,由上述介绍的技术方案可以看出,从所述新传数据队列的队首取出的数据包可能是为一个完整载荷,也可能是为已经发送一部分数据分片后所剩余的载荷分片,从新传数据队列的队首取出的数据的类型不同,其处理策略不同。本申请实施例提供的方法可以确定从新传数据队列的队首取出的数据包是否为已经发送一部分数据分片后所剩余的载荷分片,当定从新传数据队列的队首取出的数据包为已经发送一部分数据分片后所剩余的载荷分片时,则说明从新传数据队列所取出的数据不是一个完整的载荷,则可能还可以进行分片组包,但是需要考虑当前剩下的时隙资源是否满足继续分片组包,因此,为了确认是否可以继续分片组包,可以判断当前剩下的时隙资源是否足以满足承载大小为预设的第一阈值的数据。
其中,预设的第一阈值可以设置为810bits。
若当前剩下的时隙资源足以满足承载大小为预设的第一阈值的数据,则可以执行步骤S308。
若当前剩下的时隙资源不足以满足承载大小为预设的第一阈值的数据,或者当前时刻已经达到发送窗边界,则说明当前剩余的时隙资源已经不满足继续进行数据聚合,或者说当前时刻已经到达传输数据的时刻,则不能再进行数据聚合,等待下一次调度时刻到达之后再继续进行数据处理。
步骤S308,依据当前剩下的时隙资源,将从所述新传数据队列的队首取出的载荷进行分片组包,并将从所述新传数据队列的队首取出的载荷进行分片组包后所得到的数据包填充至所述聚合链路层协议数据包。
具体地,由上述介绍可知,当从新传数据队列的队首取出的数据为已经发送一部分数据分片的载荷分片,说明还可以继续对从新传数据队列的队首取出的数据分片进行分片组包处理,并且当前剩下的时隙资源,则可以依据当前剩下的时隙资源,将从新传数据队列的队首取出的载荷进行分片组包,并将从新传数据队列的队首取出的载荷进行分片组包后所得到的数据包填充至聚合链路层协议数据包,以便可以传输从新传数据队列的队首取出的载荷进行分片组包后所得到的数据包。
从上述介绍的技术方案可以看出,当需要对管理帧队列的数据进行处理时,本申请实施例提供的方法可以根据从新传数据队列队首所取出的数据的类型来分别对从新传数据队列的队首所取出的数据包进行分片组包处理,以便可以更好地利用剩余的时隙资源进行处理,以提高数据传输的安全性和可靠性,同时还可以提高对时隙资源的利用效率。
进一步地,在实际应用过程中,在调度分配时隙资源过程中,为了确保时隙资源的利用率,避免发生时隙资源浪费或者时隙资源利用率不高的情况出现,可以为每个从站分配的时隙资源需满足能够发送一个完整的数据包的时隙资源;以保证每次上行调度时所保留的活资源可以满足发送确认帧和缓冲区的状态报告,下行调度时所保留的活资源可以满足发送确认帧,或者所保留的活资源满足可以约束数据芯片转发过来的包,其中,满足约束数据芯片转发过来的数据的容量大小最大为1518Bytes;若待处理的数据可以支持分片处理,则要求所保留的活资源可以满足大小为最大1518Bytes的数据包能在16次分片中发走,避免由于资源分配不合理造成数据分片过大,资源过少无法发送的情况出现。
下面对本申请实施例提供的毫米波的数据流分片处理装置进行描述,下文描述的毫米波的数据流分片处理装置与上文描述的毫米波的数据流分片处理方法可相互对应参照。
参见图6,图6为本申请实施例公开的一种毫米波的数据流分片处理装置结构示意图。如图6所示,该毫米波的数据流分片处理装置可以包括:
获取单元101,用于当调度时刻到达时,获取点对多点系统的发送端的调度时隙资源及当前发送数据所采用的编码与调制方案;
第一判断单元102,用于判断所述发送端的控制帧队列是否为空;
第一数据处理单元103,用于当所述第一判断单元102的执行结果为所述控制帧队列为非空时,依据预设第一数据处理策略对所述控制帧队列的数据进行处理,直至所述控制帧队列为空;
第二判断单元104,用于当所述第一判断单元102的执行结果为所述控制帧队列为空时,判断所述发送端的管理帧队列是否为空;
第二数据处理单元105,用于当所述第二判断单元104的执行结果为所述管理帧队列非空,则依据所述发送端的调度时隙资源、当前发送数据所采用的编码与调制方案以及预设的第二数据处理策略对所述管理帧队列的数据进行处理,直至所述管理帧队列为空;
第三判断单元106,用于判断聚合链路层协议数据包中是否已存在管理帧;
调度等待单元107,用于当所述第三判断单元107的执行结果为所述聚合链路层协议数据包中已存在管理帧时,等待下一次调度时刻。
其中,上述毫米波的数据流分片处理装置所包含的各个单元的具体处理流程,可以参照前文毫米波的数据流分片处理方法部分相关介绍,此处不再赘述。
本申请实施例提供的毫米波的数据流分片处理装置可应用于毫米波的数据流分片处理设备,如终端:手机、电脑等。可选的,图7示出了毫米波的数据流分片处理设备的硬件结构框图,参照图7,毫米波的数据流分片处理设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4。
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信。处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路等;存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:实现前述终端毫米波的数据流分片处理方案中的各个处理流程。
本申请实施例还提供一种可读存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:实现前述终端在毫米波的数据流分片处理方案中的各个处理流程。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。各个实施例之间可以相互组合。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种毫米波的数据流分片处理方法,其特征在于,包括:
当调度时刻到达时,获取点对多点系统的发送端的调度时隙资源及当前发送数据所采用的编码与调制方案;
判断所述发送端的控制帧队列是否为空;
若所述控制帧队列为非空,则依据预设第一数据处理策略对所述控制帧队列的数据进行处理,直至所述控制帧队列为空;
若所述控制帧队列为空,则判断所述发送端的管理帧队列是否为空;
若所述管理帧队列非空,则依据所述发送端的调度时隙资源、当前发送数据所采用的编码与调制方案以及预设的第二数据处理策略对所述管理帧队列的数据进行处理,直至所述管理帧队列为空;
判断聚合链路层协议数据包中是否已存在管理帧;
若所述聚合链路层协议数据包中已存在管理帧,则直接等待下一次调度时刻。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:
若所述聚合链路层协议数据包不存在管理帧,则判断重传队列是否为空;
若所述重传队列不为空,则依据预设的第三数据处理策略对所述重传队列的数据进行处理,直至所述重传队列为空。
3.根据权利要求2所述的方法,其特征在于,该方法还包括:
若所述重传队列为空,则判断新传数据队列是否为空;
若所述新传数据队列为非空,则依据预设的第四数据处理策略,对所述新传数据队列的数据进行处理,直至所述新传数据队列的数据为空;
若所述新传数据队列为空,则直接等待下一次调度时刻到达。
4.根据权利要求1所述的方法,其特征在于,所述依据预设第一数据处理策略对所述控制帧队列的数据进行处理,包括:
依次将所述控制帧队列中的确认帧、确认帧的状态报告以及缓冲区的状态报告取出;
将所取出的所述控制帧队列中的确认帧、确认帧的状态报告以及缓冲区的状态报告组成待发送的数据包填充到所述聚合链路层协议数据包中。
5.根据权利要求1所述的方法,其特征在于,所述依据所述发送端的调度时隙资源、当前发送数据所采用的编码与调制方案以及预设的第二数据处理策略对所述管理帧队列的数据进行处理,包括:
依次从所述管理帧队列的队首取出管理帧数据包,其中,从所述管理帧队列的队首取出的管理帧数据包可能是一个完整的管理帧数据信息包,或者为第一目标分片,其中,所述第一目标分片为已发送一部分数据分片后所剩余的管理帧数据信息分片 ;
在依次从所述管理帧队列的队首取出管理帧数据包之后,根据所述发送端的调度时隙资源以及当前发送数据所采用的编码与调制方案,判断当前剩余的所分配的时隙资源是否足够承载从所述管理帧队列的队首取出的管理帧数据包;
若确定当前剩余的所分配的时隙资源足够承载从所述管理帧队列的队首取出的管理帧数据包,则轮询到所述管理帧队列的队首取出下一个管理帧数据包或分片,直到所述管理帧队列为空;
若确定当前剩余的所分配的时隙资源不足以承载从所述管理帧队列的队首取出的管理帧数据包,则判断从所述管理帧队列的队首取出的管理帧数据包是否为一个完整管理帧数据信息包或者为所述第一目标分片;
若从所述管理帧队列的队首取出的管理帧数据包为一个完整管理帧数据信息包,则根据当前剩下的时隙资源进行数据分片组包,并将进行数据分片组包所得到的数据分片填充至聚合链路层协议数据包;
若从所述管理帧队列的队首数据包为所述第一目标分片,则判断当前剩下的时隙资源是否足以承载大小为预设的第一阈值的数据;
若当前剩下的时隙资源足以承载大小为所述预设的第一阈值的数据,则根据当前剩下的时隙资源将所述第一目标分片进行分片组包,并将对所述第一目标分片进行分片组包后得到的数据分片填充至所述聚合链路层协议数据包;
若当前剩下的时隙资源不足以承载大小为所述预设的第一阈值的数据,则不再在进行数据聚合,等待下一次调度时刻到达。
6.根据权利要求2所述的方法,其特征在于,所述依据预设的第三数据处理策略对所述重传队列的数据进行处理,包括:
依次从所述重传队列的队首取出数据包,并将从所述重传队列的队首取出的数据包组成链路层数据包,并所组成的链路层数据包放入所述聚合链路层协议数据包中;
判断当前剩余的时隙资源是否足以承载从所述重传队列的队首取出的数据包所组成的链路层数据包;
若当前剩余的时隙资源不足以承载从所述重传队列的队首取出的数据包所组成的链路层数据包,则不再进行组包操作,等待下一次调度时刻到达。
7.根据权利要求3所述的方法,其特征在于,所述依据预设的第四数据处理策略对所述新传数据队列的数据进行处理,包括:
判断当前时刻是否达到发送窗口;
若当前时刻未达到发送窗口,则根据发送窗口中的队首标示符,依次从所述新传数据队列的队首取出数据包,其中,从所述新传数据队列的队首所取出的数据包可能是一个完整的载荷,或者是已经发送了一部分数据分片后的剩余载荷分片;
判断当前剩余的所分配的时隙资源是否足以承载从所述新传数据队列的队首取出的数据包;
若当前剩余的所分配的时隙资源足以承载从所述新传数据队列的队首取出的数据包,则轮询到所述新传数据队列的队首标示符所在位置取出下一个数据包或分片,并将发送窗口中的队首标示符进行加一处理,并继续判断当前剩余的所分配的时隙资源是否足以承载从所述新传数据队列的队首取出的数据包的操作,直到所述新传数据队列为空;
若当前剩余的所分配的时隙资源不足以承载从所述新传数据队列的队首取出的数据包,则判断从所述新传数据队列的队首取出的数据包是为一个完整载荷还是为已经发送一部分数据分片后所剩余的载荷分片;
若从所述新传数据队列的队首取出的数据包为一个完整载荷,则根据当前剩下的时隙资源对从所述新传数据队列的队首取出的数据包进行分片组包,并将对从所述新传数据队列的队首取出的数据包进行分片组包后得到的数据包填充至所述聚合链路层协议数据包;
若从所述新传数据队列的队首取出的数据包为已经发送一部分数据分片后所剩余的载荷分片,则判断当前剩下的时隙资源是否足以满足承载大小为所述预设的第一阈值的数据;
若当前剩下的时隙资源足以满足承载大小为所述预设的第一阈值的数据,则依据当前剩下的时隙资源,将从所述新传数据队列的队首取出的载荷进行分片组包,并将从所述新传数据队列的队首取出的载荷进行分片组包后所得到的数据包填充至所述聚合链路层协议数据包;
若当前剩下的时隙资源不足以满足承载大小为所述预设的第一阈值的数据,或者当前时刻已经达到发送窗边界,则不再进行数据聚合,等待下一次调度时刻到达。
8.根据权利要求5或7任一项所述的方法,其特征在于,所述预设的第一阈值为810bits。
9.一种毫米波的数据流分片处理装置,其特征在于,包括:
获取单元,用于当调度时刻到达时,获取点对多点系统的发送端的调度时隙资源及当前发送数据所采用的编码与调制方案;
第一判断单元,用于判断所述发送端的控制帧队列是否为空;
第一数据处理单元,用于当所述第一判断单元的执行结果为所述控制帧队列为非空时,依据预设第一数据处理策略对所述控制帧队列的数据进行处理,直至所述控制帧队列为空;
第二判断单元,用于当所述第一判断单元的执行结果为所述控制帧队列为空时,判断所述发送端的管理帧队列是否为空;
第二数据处理单元,用于当所述第二判断单元的执行结果为所述管理帧队列非空,则依据所述发送端的调度时隙资源、当前发送数据所采用的编码与调制方案以及预设的第二数据处理策略对所述管理帧队列的数据进行处理,直至所述管理帧队列为空;
第三判断单元,用于判断聚合链路层协议数据包中是否已存在管理帧;
调度等待单元,用于当所述第三判断单元的执行结果为所述聚合链路层协议数据包中已存在管理帧时,等待下一次调度时刻。
10.一种毫米波的数据流分片处理设备,其特征在于,包括:一个或多个处理器,以及存储器;
所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,实现如权利要求1至8中任一项所述毫米波的数据流分片处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410405335.5A CN118018629B (zh) | 2024-04-07 | 2024-04-07 | 毫米波的数据流分片处理方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410405335.5A CN118018629B (zh) | 2024-04-07 | 2024-04-07 | 毫米波的数据流分片处理方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118018629A true CN118018629A (zh) | 2024-05-10 |
CN118018629B CN118018629B (zh) | 2024-05-31 |
Family
ID=90954849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410405335.5A Active CN118018629B (zh) | 2024-04-07 | 2024-04-07 | 毫米波的数据流分片处理方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118018629B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020089927A1 (en) * | 2001-01-11 | 2002-07-11 | Fischer Michael A. | System and method for synchronizing data trasnmission across a variable delay interface |
CN102572944A (zh) * | 2012-02-24 | 2012-07-11 | 浙江工业大学 | 支持epon无线接入的mac协议帧结构 |
WO2020133218A1 (zh) * | 2018-12-28 | 2020-07-02 | 华为技术有限公司 | 一种重传数据处理方法及装置 |
CN116131901A (zh) * | 2022-11-18 | 2023-05-16 | 电信科学技术第一研究所有限公司 | 一种卫星数据通道控制系统及方法 |
CN117675723A (zh) * | 2024-02-01 | 2024-03-08 | 广州天奕技术股份有限公司 | 数据面调度方法、系统、装置及设备 |
-
2024
- 2024-04-07 CN CN202410405335.5A patent/CN118018629B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020089927A1 (en) * | 2001-01-11 | 2002-07-11 | Fischer Michael A. | System and method for synchronizing data trasnmission across a variable delay interface |
CN102572944A (zh) * | 2012-02-24 | 2012-07-11 | 浙江工业大学 | 支持epon无线接入的mac协议帧结构 |
WO2020133218A1 (zh) * | 2018-12-28 | 2020-07-02 | 华为技术有限公司 | 一种重传数据处理方法及装置 |
CN116131901A (zh) * | 2022-11-18 | 2023-05-16 | 电信科学技术第一研究所有限公司 | 一种卫星数据通道控制系统及方法 |
CN117675723A (zh) * | 2024-02-01 | 2024-03-08 | 广州天奕技术股份有限公司 | 数据面调度方法、系统、装置及设备 |
Non-Patent Citations (2)
Title |
---|
卜艳丽: "下一代超高速WLAN一种基于区分业务的帧聚合策略", 《中国优秀硕士学位论文全文数据库》, no. 01, 15 January 2014 (2014-01-15), pages 1 - 93 * |
李志军等: "一种高效安全的防火墙分片处理策略", 《微型机与应用》, no. 12, 30 January 2003 (2003-01-30), pages 36 - 38 * |
Also Published As
Publication number | Publication date |
---|---|
CN118018629B (zh) | 2024-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11290221B2 (en) | Method and apparatus for transmitting and receiving data in a communication system | |
US9397791B2 (en) | Transmitting data in a mobile communication system | |
US8428086B2 (en) | Transmitting data in a mobile communication system | |
KR100842586B1 (ko) | 무선 근거리 네트워크 시스템에서 응집된 매체 액세스 제어프로토콜 데이터 유닛들의 전송 방법 및 그 시스템 | |
CN101843157B (zh) | 基于无线电承载配置的缓冲器状态报告 | |
US8089879B2 (en) | In-band flow control methods for communications systems | |
CN101421964B (zh) | 移动通信系统中发送和接收状态报告的方法和装置 | |
WO2018127225A1 (zh) | 数据传输方法、网络侧设备及用户设备 | |
US9294248B2 (en) | Method and device for use in frame acknowledgement | |
EP4351208A1 (en) | Method and system for improving wireless link efficiency | |
KR20190075119A (ko) | 데이터를 송수신하기 위한 방법 및 시스템 | |
Sayenko et al. | Performance analysis of the IEEE 802.16 ARQ mechanism | |
CN114826495A (zh) | 一种降低nr、rlc、am分片丢失报告开销的方法 | |
KR20070087725A (ko) | 무선 네트워크를 통하여 데이터를 효율적으로 송/수신하는방법 및 그 방법을 이용한 무선 디바이스 | |
WO2024028277A1 (en) | Infrastructure equipment, communications devices and methods | |
CN118018629B (zh) | 毫米波的数据流分片处理方法、装置及设备 | |
CN117955926B (zh) | 毫米波的数据面调度方法、装置及设备 | |
CN117955927B (zh) | 毫米波的数据流管理方法、装置及设备 | |
CN103812606A (zh) | 提高无线链路的效率的方法和系统 | |
WO2023231599A1 (zh) | 一种用户数据处理方法和装置 | |
WO2012155441A1 (zh) | 一种处理重传数据的方法及基站 | |
Tykhomyrov et al. | Analysis and performance evaluation of the IEEE 802.16 ARQ mechanism | |
EP4144010A2 (en) | Methods and apparatus for efficient packet transmission |
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 |