无线Ad-hoc网络分布式资源分配的方法与流程

文档序号:16634443发布日期:2019-01-16 06:53阅读:416来源:国知局
无线Ad-hoc网络分布式资源分配的方法与流程

本发明是关于无线通信领域,特别是关于一种无线ad-hoc网络分布式资源分配的方法。



背景技术:

目前无线ad-hoc网络的信道接入机制主要分为csma和tdma两种。基于csma的接入方式在负载较小时性能表现较好,但随着负载的增加和网络中节点数目的增加,冲突的概率急剧上升,性能急剧恶化。同时,基于csma的接入方式也无法保证各种应用业务对延时的要求。基于tdma的接入方式清晰地将信道分为时间片,能够实现无冲突的调度。但是目前关于tdma接入方式的方案没有考虑各种业务的qos要求,在信道利用率上也存在一定的缺陷。

在传统的tdma方式中,一个时隙对应一个节点,这种方式的信道利用率低。随着近几年来对分布式网络信道资源分配的研究,目前的技术方案己经对基于tdma的信道资源分配方式做了很大的改进,提高了部分信道利用率。但是并未考虑复杂的野外环境可能带来的隐藏终端的问题,也没有考虑各个节点发送数据的需求差异问题,以及多个信道可能带来的传输时延。

申请号为201110227612.0的专利申请文件中公开了一种基于时分复用的信道资源分配方法。具体地,采用的是基于节点的时隙分配方法,在该方案中,每个时隙分为控制部分和数据部分,控制部分分为两个阶段,每个阶段包含n(n为网络中最大的节点数目)个微时隙用于发送分配时隙包,该时隙分配方法中控制开销过大,并且没有考虑时延抖动的问题。

申请号为201510906203.1的专利申请文件公开了一种基于tdma的无线mesh网络分布式资源分配的方法,在进行时隙申请过程加入各个节点的业务数据量的负载参数,解决了各个节点发送数据的需求差异问题;在进行时隙分配过程采用了优化的优先级列表,使各个节点分配到的时隙在一个时帧中近似均匀分布,解决了时隙抖动问题,从而降低了时延。但算法基于两跳防冲突机制,在山区、煤矿等区域环境负载,易出现隐藏终端发生冲突,且没有考虑不同优先级业务下如何更好的实现资源分配。

李恒等人在“基于tdma的无线自组织网rlc层协议软件设计与实现”中以lte无线接入网rlc层协议为基础设计了适用于无线自组织网络的rlc层协议,并在am数据传输模式下对数据进行分段重组,根据pdu接收情况进行arq重传。数据重传以pdu为单位,会造成一部分资源浪费。

孙超山等人在“对wnw中使用的usapmac协议的研究”中提出一种支持多信道的动态分布式时分多址(tdma)mac协议,其协议内容包括引导时隙管理通信资源的使用方法、自适应广播循环管理通信资源的使用方法、备用时隙来管理通信资源的使用方法。但设计基于时频复用,没有考虑多信道进行数据传输可能带来接收数据乱序问题,也没有考虑隐藏终端和业务优先级的问题。

公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。



技术实现要素:

本发明的目的在于提供一种无线ad-hoc网络分布式资源分配的方法,其能够合理利用空闲广播数据、数据时隙,提高时隙利用率,设置了三跳防冲突机制解决了野外环境下容易出现隐藏终端冲突的问题。

为实现上述目的,本发明提供了一种无线ad-hoc网络分布式资源分配的方法,包括:将用于无线ad-hoc网络通信的tdma帧结构设置为具有引导时隙、广播时隙以及数据时隙,所述引导时隙用于共享无线ad-hoc网络中的各个节点的时隙分配信息从而为所述各个节点动态分配时隙,所述广播时隙用于分配给所述各个节点来支持所述各个节点的数据报服务以及支持各个节点共享控制流,所述数据时隙用于作为备用时隙,按照对应的广播时隙顺序分配给所述各个节点从而支持广播和单播;将所述引导时隙进行分组,使其包括分配时隙记录组、空闲广播标记组、空闲数据标记组、信道化邻域周期组、接收节点mac组、发送节点mac组、业务抢占节点mac组、时隙占用节点mac组,所述分配时隙记录组用于标记所述节点所在信道的广播时隙或数据时隙的通信状态,所述空闲广播标记组用于标记所述节点所在信道的广播时隙目前是否空闲,所述数据空闲标记组用于标记所述节点所在信道的广播时隙目前是否空闲,所述信道化邻域周期组用于标记节点所在信道的邻域密度,所述接收节点mac组用于标记接收帧数据的节点的mac地址,所述发送节点mac组用于标记发送帧数据的节点的mac地址,所述业务抢占节点mac组用于标记业务的优先级,以及所述业务想抢占的时隙所属的邻居节点的mac地址,所述时隙占用节点mac用于标记所述节点将自身的空闲时隙分配给的节点的mac地址;在业务的时延容忍度范围内设置所述tdma的帧长度,并根据所述引导时隙所包含的分组内容的大小以及帧数据的最小传输速率设置所述引导时隙的长度,并且根据所述节点的邻域密度设置所述广播时隙和所述数据时隙的长度;所述节点与其邻居节点进行通信从而获取所述引导时隙的信息,根据所述引导时隙的信息获取三跳内广播时隙和数据时隙的分配情况;新入网节点或未分配时隙的节点根据获取的所述引导时隙的信息随机占用未分配的时隙;所述节点根据自身的时隙占用情况以及获取的所述引导时隙的信息更新自身的引导时隙中的时隙分配记录组;当所述节点根据获取的所述引导时隙信息检测到自身占用的时隙与邻居节点发生冲突,则所述节点重新占用新的时隙;所述节点按照三跳无冲突机制随机占用所述tdma帧的第一循环周期的广播时隙,如果所述节点选择了第n个广播时隙,则第n个数据时隙也是发送机会。

在一优选的实施方式中,所述分配时隙记录组标记所述节点所在信道的广播时隙或数据时隙的通信状态包括:所述分配时隙记录组标记所述节点所在信道的广播时隙的通信状态,所述广播时隙的通信状态包括:未分配、自发送、自接收、冲突、邻居接收、邻居冲突;所述分配时隙记录组标记所述节点所在信道的数据时隙的通信状态,所述数据时隙的通信状态包括:未分配、自发送、自接收、冲突、邻居发送且非自接收、两跳邻居发送且非邻居接收、邻居接收、邻居冲突。

在一优选的实施方式中,所述节点与其邻居节点进行通信从而获取所述引导时隙的信息,根据所述引导时隙的信息获取三跳内广播时隙和数据时隙的分配情况包括:所述节点与其邻居节点进行通信从而获取所述引导时隙的信息,根据所述引导时隙的信息获取三跳内的广播时隙的分配情况,所述三跳内的广播时隙的分配情况包括未分配、自发送、自接收、冲突、邻居发送、两跳邻居发送、邻居冲突、三跳邻居发送、两跳邻居接收;所述节点与其邻居节点进行通信从而获取所述引导时隙的信息,根据所述引导时隙的信息获取三跳内的数据时隙的分配情况,所述三跳内的数据时隙的分配情况包括未分配、自发送、自接收、邻居发送且非自接收、冲突、邻居接收、邻居冲突、两跳邻居发送且非邻居接收、三跳邻居发送且非两跳邻居接收、两跳邻居接收。

在一优选的实施方式中,所述三跳无冲突机制包括:所述节点广播时,在一个时隙进行三跳无冲突传输的条件为所述节点及其邻居节点和两跳邻居未分配该时隙且所述节点的三跳邻居节点未使用该时隙进行数据发送;所述节点向其邻居节点单播时,在一个时隙进行三跳无冲突传输的条件为所述节点及其邻居节点和两跳邻居未使用该时隙进行数据接收且其邻居节点的邻居节点和两跳邻居未使用该时隙进行数据发送以及接收。

在一优选的实施方式中,该方法还包括:所述节点按照时隙的每个循环周期占用时隙,如果占用时隙的过程中发生冲突则调整时隙的分配顺序:所述节点在所述每个循环周期检测是否有空闲时隙,等待一定时间,如果没有其他的节点占用该空闲时隙则所述节点自身占用,然后在自身的引导时隙中更新相应组别的信息,其他节点收到后更新各自的时隙分配情况。

在一优选的实施方式中,该方法还包括:所述节点检测到自身要发的数据长度大于一帧所能发的最大数据长度并且检测到其邻居节点存在一个或多个空闲时隙满足三跳无冲突机制,则所述节点根据业务需求选择这些空闲时隙中的某一信道的某个空闲时隙,在引导时隙中标识自身的业务优先级及想要占用的节点的mac地址,如果所述节点自身要发的数据长度超出一帧所能发的最大数据长度的超出部分大于单个时隙的最大传输长度,则优先选择连续的空闲时隙标记到时隙占用节点mac组中;如果仍有数据需要发送,且剩余数据长度大于下一帧内自身能发的最大数据长度,选择下一帧满足三跳无冲突空闲时隙中的某一信道的某个空闲时隙,在自身引导时隙中标识自身的业务优先级及想要占用的节点的mac地址,如果所述剩余数据长度超出一帧所能发的最大数据长度的超出部分大于单个时隙的最大传输长度,则优先选择连续的空闲时隙;具有空闲时隙的邻居节点收到所述节点发送的引导时隙后判断如果只有一个节点申请使用自身的空闲时隙,就在所述引导时隙中标识该节点mac地址,并将相应的空闲广播或数据时隙的状态修改为非空闲状态,如果有收到多个节点的空闲时隙占用申请,则根据发送节点的业务优先级将自身的空闲时隙分配给业务优先级较高的节点,并在自身的引导时隙中发送相应的分配信息;所述节点根据收到的具有空闲时隙的邻居节点的引导时隙信息判断自身是否能够使用所述空闲时隙。

在一优选的实施方式中,该方法还包括:在所述各个节点进行数据交互时,发送数据的节点的mac层首先对sdu缓存中的sdu进行crc校验,封装sdu的头部形成sdu数据包,启动定时器,然后按照不同优先级将数据进行分段串接,形成pdu数据的数据域部分,然后加上pdu头,pdu头部进行crc校验后发往所述节点的底层;接收数据的节点的mac层对接收到的数据pdu进行重复crc校验,根据接收的数据的pdu序列号和pdu源mac丢弃重复的pdu,对乱序到达的pdu进行重排序,最后将pdu重组为sdu,对sdu进行crc校验,如果某一sdu数据出现错误,则进行数据重传。

在一优选的实施方式中,将数据进行分段串接包括:根据指定的pdu大小,使用sdu缓存区中存储的sdu构造一个pdu,当sdu的大小大于pdu指定大小则进行sdu分段,当多个sdu串接后,pdu剩余空间不足以串接一个完整的sdu则串接一个分段的sdu,当一个pdu大小大于一个sdu时,则串接多个sdu。

在一优选的实施方式中,如果某一sdu数据出现错误,则进行数据重传包括:在sdu数据的头部封装sdu序列号及数据长度,并进行crc校验,接收数据的节点对解包后正确的sdu进行回复,发送方针对回复情况判断sdu定时器的超时次数是否超过阈值,若超过该阈值则对该sdu序列号的数据进行重传。

与现有技术相比,根据本发明的无线ad-hoc网络分布式资源分配的方法,设置了一种帧结构,该帧结构的引导时隙包括分配时隙记录组、空闲广播标记组、空闲数据标记组、信道化邻域周期组、接收节点mac组、发送节点mac组、业务抢占节点mac组、时隙占用节点mac组,根据这些详细分组信息,节点可以获取邻居节点的通信状态情况、时隙空闲情况、业务的优先级别以及是否有时隙占用需求,根据这些信息,具有空闲时隙的节点能够将这些空闲时隙分配给需要的节点,从而合理利用空闲广播数据、数据时隙,实现了时隙的充分利用;而且还设置了三跳防冲突机制进行数据传输,解决了野外环境下容易出现隐藏终端冲突的问题;并且在时隙的分配上还考虑了优先级以及数据的长度,数据长度超出一帧可以传输的量时,根据业务优先级抢占邻居节点的空闲时隙,同时满足网络内所有节点数据传输的公平性及不同节点业务qos需求的差异;为了解决不同子载波依据信道情况不同有不同的传输速率带来的接收数据乱序问题,在节点进行数据交互时根据数据的pdu序列号对接收数据进行重排序;当数据丢失或crc校验出错时,以sdu为单位进行数据重传,避免pdu较大时重传pdu可能带来的信道资源浪费,提高了信道利用率。

附图说明

图1是根据本发明一实施方式的tdma帧结构;

图2是根据本发明一实施方式的引导时隙的分组情况;

图3是根据本发明一实施方式的某一信道的帧到帧移动时广播时隙和数据时隙的分配情况;

图4是根据本发明一实施方式的广播时隙分配顺序调整方法;

图5是根据本发明一实施方式的pdu数据格式和sdu数据格式;

图6是根据本发明一实施方式的发送节点的数据处理流程;

图7是根据本发明一实施方式的接收节点的数据处理流程;

图8是根据本发明一实施方式的是否进行sdu重传的判断方法。

具体实施方式

下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。

除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。

为了便于理解,首先对本发明中所提到的专业术语进行解释:

ad-hoc:无线自组织网络。csma:载波侦听多路访问。qos:服务质量。tdma:时分多址。无线mesh网络:无线网格网络。rlc:无线链路控制层协议。lte:通用移动通信技术的长期演进。mac:物理地址。bit:位。slot:时隙。channel:信道。ip:网络互连协议。3gpp:第三代合作伙伴计划。voip:网络电话。mtu:最大传输单元。crc:循环冗余校验。arq:自动重传请求。adu:服务数据单元。pdu:协议数据单元。dsp:数字信号处理单元。

图1是根据本发明一实施方式的tdma帧结构,每帧的长度为125ms。每帧包含了引导时隙、广播时隙以及数据时隙,其中,引导时隙包括多个微时隙,广播时隙包括2个时隙,数据时隙包括8个时隙,此外,每帧显示了4个信道,广播时隙和数据时隙可以访问4个不同的信道,引导时隙仅访问1个信道。

引导时隙用于共享时隙分配信息以及动态分配广播时隙和数据时隙。广播时隙用于分配给各节点从而支持各节点的数据报服务以及支持各节点需要共享的控制流。本发明所述的节点指的是通信网中的通信设备。数据时隙用于在没有分配时作为备用的时隙,该备用的时隙按照对应的广播时隙顺序分配给各节点来支持各节点广播和单播。

图2是本实施方式的引导时隙的分组格式。引导时隙包括:分配时隙记录组、空闲广播标记组、空闲数据标记组、信道化邻域周期组、接收节点mac组、发送节点mac组、业务抢占节点mac组、时隙占用节点mac组。

以下假设通信网中的节点数目在32个以内来说明引导时隙各部分的分配情况。

分配时隙记录组用于判断节点所在的广播时隙或数据时隙以及信道的通信状态。在分配时隙记录中,将广播时隙和数据时隙分开管理,分配时隙记录中包括对应于每个时隙的3bit字段的映射,该3bit字段用于广播时隙的映射时,代表节点在广播模式时的5种状态,分别为未分配、自发送、自接收、冲突、邻居冲突。该3bit字段用于数据时隙的映射时,代表节点在单播模式时的7种状态,分别为未分配、自发送、自接收、冲突、邻居发送且非自接收、两跳邻居发送且非邻居接收、邻居接收、邻居冲突。为了更直观,表1为该分配时隙记录表。当接收到来自邻居的引导数据包时,更新分配时隙记录组的信息。

表1

本实施方式中,由于每帧中广播时隙共包括4个信道以及每个信道2个时隙,每帧中数据时隙共包括4个信道以及8个时隙,因此在分配时隙记录组,将3bit*2slot*4channel=24bit用于记录节点在广播时隙的通信状态,并将3bit*8slot*4channel=96bit用于记录节点在数据时隙的通信状态。

空闲广播标记组占用1bit,用于标记广播时隙目前是否空闲。当时隙分配好后,本节点占用的广播时隙默认用于本节点发送广播数据,如果在即将产生的帧中它不需要发送广播数据,按照广播时隙业务优先级发送其他相应数据,如果一个节点知道在其即将产生的帧中它将不需要其广播时隙了,那么它可以在帧的开头的引导时隙的空闲广播标记组记录1或0来宣告其广播时隙为空闲状态,使得另一个有需要的节点能够按照业务优先级在那个时隙内传输。

同样地,数据空闲标记组占用1bit,用于标记数据时隙目前是否空闲。当时隙分配好后,本节点占用的数据时隙默认用于本节点发送ip单播数据,如果在即将产生的帧中它不需要发送ip数据,按照数据时隙业务优先级发送其他相应数据,如果一个节点知道在其即将产生的帧中它将不需要其数据时隙了,那么它可以在帧的开头的引导时隙的数据空闲标记组记录1或0来宣告,使得另一个有需要的节点能够按照业务优先级在那个时隙内传输。

信道化邻域周期组占用2bit,用于分别支持1-8,9-16,17-24或25-32节点。

接收节点mac组占用20bit,用于标记最多4个5bit的接收节点mac(即32个节点),还用于单播预留(本实施方式中,每一节点在每一帧中最多支持在数据时隙的4个时隙进行单播数据传输,可根据网络环境进行调整),收到后根据接收器mac判断本节点是不是接收节点。

发送节点mac组占用5bit,用于标记发送节点的mac地址。

业务抢占节点mac组占用3*4*5bit,用于标记业务优先级以及想要占用的邻居节点mac地址(业务优先级设置在8个以内,规定最多占用4个时隙,不用时作为预留时隙),如果需要占用其他节点的广播或数据时隙,在本节点引导时隙中发送,目的节点根据业务优先级判断将本节点空闲时隙分配给哪个节点。

时隙占用节点mac组占用5*2位(一个本节点空闲广播时隙,一个本节点空闲数据时隙),表示本节点选择的将空闲时隙分配给的节点mac地址,本节点将选择的空闲时隙分配的节点mac地址,5*2bit为本节点选择的将空闲时隙分配给的节点mac地址。

以上述方式引导时隙描述了大约32个字节的功能,这32个字节的分组可以根据网络资源调整其使用范围,不需要考虑别的限制。

帧长度的确定应与业务能够容忍的最大时延有关。例如实时业务对时延的容忍度一般为毫秒级。参考3gpp规定,voip语音业务时延小于150ms,时延抖动小于30ms,非实时业务对时延的容忍度大大增加,可以大到秒这个数量级。帧长在设计时不能大于业务的时延要求。

由引导时隙分组格式可知,一个引导时隙大约包含32字节内容,引导时隙长度的设置应满足最小传输速率下分组内容的传输。广播时隙和数据时隙的长度和数量可以分别设置。在满足帧长和引导时隙长度的基础上,根据节点邻域密度设置广播时隙和数据时隙的长度。

本实施方式中帧长=125ms,最低传输速率为1mbps,加入三跳防冲突机制后引导时隙传输内容约为32byte,这里将引导时隙长度设为0.25ms,引导时隙数最多为32个,2个广播时隙和8个固定预留时隙长度为11.7ms。

引导周期l的长度则取决于最大预期的邻域密度。假设具有最大度数d(任何一个节点可以具有的最多相邻节点)的大小为n的网络,则可以表述为以下关系式:l=min(d3+1,n)。

在满足引导周期的基础上,将引导时隙个数设置为最小的2的幂级数。节点如果遇到引导时隙数大于自身的节点,就将自身的引导时隙数与这一节点同步。

广播时隙、数据时隙的时隙排列原则包括:节点按照三跳无冲突随机占用第一引导周期的广播时隙;如果一个节点选择了广播时隙n,则号码为n的数据时隙也是发送机会;采用周期循环的方法窃取时隙;循环时如果发生冲突可以调整时隙顺序。

具体地,如果一个节点选择了广播时隙n,则号码为n的数据时隙也是发送机会,被设计为具有以下属性:节点最大化重叠,使得下一个计划的一半时隙与先前计划的时隙相同。这降低了随着网络密度变化时隙安排从一个时间转换到下一时间的变化的复杂性。这里广播时隙和数据时隙从帧到帧的移动,实现信道情况对数据传输的影响最小化。

如图3所示为某一信道下从帧到帧移动时广播时隙和数据时隙分配情况。其中,节点数为16。时间表的安排基于所分配的广播时隙的位置和广播循环中在其之后的任何开放时隙。但是如果在开放时隙存在更短的周期相对应的分配时隙,则节点可以采用较短的周期。为了完成这一工作,节点需要在周期中不断地寻找空时隙,并尝试将其广播分配移动到该时隙。可以将分配的时隙打包到循环的较早部分,并且允许循环随着密度减小而缩短。

另外,采用循环广播周期时,时隙可能会发生冲突,通过调整时隙顺序可以解决这一问题。图4中,广播的基本循环周期为8个时隙(时隙池),节点传输时隙在周期左侧的可以窃取右边的时隙,时隙0可以窃取时隙4,时隙1可以窃取3、5和7,由于6的存在,2不能窃取时隙,可以将6移到3,它就可以窃取后边的时隙了。因此,需要对时隙进行重排序。

具体地,时隙进行重排序包括:节点检测在引导周期自发送时隙前是否有空闲时隙,一帧检测一次;随机等待2-3min(以秒为单位),如果没有其它节点占用这一空闲时隙,就自身占用;在自身的引导时隙发送相应分组;其它节点收到后更新时隙分配情况。

根据上述tdma结构,时隙收敛过程如下:所述节点与其邻居节点进行通信从而获取所述引导时隙的信息,根据所述引导时隙的信息获取三跳内广播时隙和数据时隙的分配情况;新入网节点或未分配时隙的节点根据获取的所述引导时隙的信息随机占用未分配的时隙;所述节点根据自身的时隙占用情况以及获取的所述引导时隙的信息更新自身的引导时隙中的时隙分配记录组;当所述节点根据获取的所述引导时隙信息检测到自身占用的时隙与邻居节点发生冲突,则所述节点重新占用新的时隙;所述节点按照三跳无冲突机制随机占用所述tdma帧的第一循环周期的广播时隙,如果所述节点选择了第n个广播时隙,则第n个数据时隙也是发送机会。

其中,根据所述引导时隙的信息获取的三跳内广播时隙和数据时隙的分配情况如下表2所示:

表2

同时,由于野外作战环境复杂,为避免出现隐藏终端的问题,本实施方式还设置了三跳防冲突机制,具体如下:节点i广播时,节点i在时隙s进行三跳内无冲突传输的条件是节点i及其邻居节点和两跳邻居未分配(发)该时隙;且节点i的三跳邻居节点未使用该时隙进行数据发送;节点i到邻居j单播时,节点i在时隙s进行三跳内无冲突传输的条件是该时隙未被节点i,j分配;节点i、节点i的邻居节点及两跳邻居未使用该时隙进行数据接收;节点j的邻居节点和两跳邻居节点未使用该时隙进行数据发送。

优选地,本实施方式支持多种优先级业务,由于不同优先级业务对时延要求不同,需要根据业务优先级设计不同的空闲时隙抢占策略。

表3是ad-hoc网络中几种常用的业务类型及其在不同时隙周期中不同的业务优先级。

表3

帧格式设计适用多载波通信,支持多种优先级数据。为保证公告信息能够及时发送至网络内的其他节点,这里广播时隙优先发送公告信息。

为保证高优先级业务能够满足时延要求,同时兼顾低优先级业务及不同节点的公平性,当某个节点在自身的广播或数据时隙没有业务发送时,可以在引导时隙通知其覆盖范围内的邻居节点,邻居节点收到后根据自身的数据传输情况判断是否需要占用邻居节点的空闲时隙。业务空闲节点可根据邻居节点业务优先级分配自身的空闲时隙,具体步骤如下:

节点检测自身要发的数据长度大于一帧内自身能发的最大数据长度,并且检测满足三跳无冲突有一个或多个空闲时隙,如果拥有空闲时隙的节点在引导时隙中的顺序-本节点在引导时隙中的顺序>=2,节点根据业务需求,选择这些空闲时隙中的某一信道的某个空闲时隙,在引导分组中标识自身的业务优先级及想要占用的节点的mac地址。如果剩余数据长度大于单个时隙的mtu(最大传输单元),可以根据需要的时隙数优先选择连续的时隙数;

如果仍有剩余数据需要发送,且剩余数据长度大于下一帧内自身能发的最大数据长度,选择下一帧满足三跳无冲突空闲时隙中的某一信道的某个空闲时隙,在引导时隙的分组中标识自身的业务优先级及想要占用的节点的mac地址。如果剩余数据长度大于单个时隙mtu,可以根据需要的时隙数优先选择连续的时隙数;

邻居节点在自身发送引导分组前判断,如果只有一个节点申请使用自身的空闲时隙,就在引导分组中标识该节点mac地址,并将相应的空闲广播或数据时隙的状态修改为忙。如果有收到多个节点的申请,则根据业务优先级将自身的空闲时隙分配给业务优先级较高的节点,并在自身引导分组中发送相应信息;

节点根据收到的引导分组内容判断自身是否可以使用该时隙。

为了避免多信道同时传输数据可能出现的接收数据乱序问题,本实施方式还关注了节点之间的数据交互过程。

在节点数据交互过程中,节点的高层与mac层之间传输的是sdu(服务数据单元),在链路层协议与底层协议之间传输的是pdu(协议数据单元)。从高层收到sdu后经过链路层协议处理后,传递给底层协议的数据就是pdu。反之,从底层协议传递到链路层协议的pdu数据经过链路层协议处理后就是sdu,链路层协议将sdu发送给高层。

高层接收到sdu后,将其存储在缓存区。当从底层接收到传输机会通知时,相对于新的由sdu生成的pdu,优先传输重传缓存区的pdu。将sdu组包成pdu的过程中对sdu进行适当的分段和串接以适应底层传输机会指示的pdu的总大小,添加相应的mac层头部结构,然后将pdu发往底层,同时将新生成的pdu存入重传缓存区,等待接收实体的接收响应。

分段串接功能就是根据指定的pdu大小,使用sdu缓存区中存储的sdu,构造一个pdu。在两种情况下出现分段,第一种情况是sdu的大小大于pdu指定大小,第二中情况是多个sdu串接后,pdu剩余空间不足以串接一个完整的sdu,此时需要串接一个分段的sdu。当一个pdu大小大于一个sdu时,需要串接多个sdu。图5为pdu数据格式和sdu数据格式。其中,pdu序列号指的是每个pdu在报文开始处添加序列号,在发送节点处构造,序列号按顺序递增,用于收端识别空中是否有丢包及报文组装顺序。pdu长度指的是pdu实际数据长度。pdu源mac指的是组装pdu的节点mac地址,即接收节点的上一跳mac地址。首部crc校验和指的是pdu首部校验和。pdu数据由sdu构成。sdu序列号指的是每个sdu在报文开始处添加序列号,用于收端识别报文并根据序列号回复相应ack,由源节点构造。sdu长度指的是sdu实际数据长度+sdu头部长度+crc长度。sdu数据指的是实际sdu数据。crc校验和指的是sdu数据进行crc校验。

优选地,本实施方式在节点的数据交互过程中采用arq(自动重传请求)机制保证sdu的正确、按序递交。

图6是发送方的数据处理过程。发送方mac层首先对sdu缓存中的sdu进行crc校验,封装sdu首部,形成sdu数据包,启动定时器,然后按照不同优先级将数据进行分段串接,形成pdu的数据域部分,然后加上pdu头,再发往底层dsp。

图7是接收方的数据处理过程。接收方mac层对收到的数据pdu进行重复检测,根据pdu序列号和pdu源mac丢弃重复的pdu,对乱序到达的pdu进行重排序,最后将pdu重组为sdu。对sdu进行crc校验,如果某一包数据出现错误,则重传这一包数据。

通常,pdu的mtu值大于sdu的长度,当某个sdu出现错误时重传pdu会造成较大的浪费。因此为了避免该问题,在sdu数据形成后进行在数据头部封装sdu序列号及数据长度,并进行crc校验。接收方对解包后正确的sdu进行ack回复,发送方针对ack回复情况判断是否需要对这一序列号的数据进行重传。就是说重传以sdu为单位。图8是发送方判断是否需要重传的方法。本实施方式中,当sdu定时器超时3次时进行sdu重传。

综上,本实施方式的无线ad-hoc网络分布式资源分配的方法针对现有方法中存在的信道利用率不高的问题,提出时频复用的帧结构,引导时隙进行时隙分配信息的交互并动态分配广播、数据时隙;时隙分配采用三跳防冲突机制避免出现隐藏终端的问题;时隙分配以满足所有节点数据公平传输为基础,数据长度大于本节点一帧内可以传输的最大长度时,根据业务优先级抢占邻居节点的空闲时隙;针对多信道同时进行数据传输可能出现的接收数据乱序问题,根据数据pdu序列号对接收数据进行重排序;当数据丢失或crc校验出错时,以sdu为单位进行数据重传,避免pdu较大时重传pdu可能带来的信道资源浪费。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1