基于优先时隙的分布式动态时隙预约方法与流程

文档序号:11254579来源:国知局
基于优先时隙的分布式动态时隙预约方法与流程

本发明属于无线通信技术领域,更进一步涉及mac层中一种基于优先时隙、时隙冲突概率的分布式动态时隙预约方法,可广泛使用于自组网tdma协议中。



背景技术:

作为自组网中控制节点的报文传输对无线媒体的占用,保证网络整体性能的mac协议是移动自组网的关键技术,通过把信道划分为时隙来提高信道的空间复用度和节点接入公平性。动态时隙分配算法作为tdma多址协议的研究方向,如何在实际应用中满足各节点的业务需求,如何高效地分配时隙,在tdma的应用中显得尤为重要。

目前,主要有固定时隙分配、竞争时隙分配、动态时隙分配算法,其中固定时隙分配算法为网络中的节点预先分配了时隙,但不能根据节点业务需求变化动态调整分配方案,资源浪费十分严重,实用性较差;竞争时隙分配算法允许网络内节点在一定范围内竞争时隙,从而实现时隙的复用,但这类算法完全基于随机竞争机制,因此存在冲突较多、吞吐量小的问题;动态时隙分配算法综合了固定时隙分配算法和竞争时隙分配算法的优势,在节点需要发送数据时,才分配给其所用时隙,数据发送完毕,节点取消对时隙的占用,这样可以提高信道的利用率,但也存在一些不足,如预约过程本身会增加网络的开销,并且当网络拓扑改变时,会存在时隙冲突的情况,影响通信质量。



技术实现要素:

本发明的目的在于针对上述现有技术的不足,在动态时隙分配算法的基础上提出一种tdma自组网中基于优先时隙的分布式动态时隙预约方法,以降低网络开销,减小时隙冲突的产生,提高通信质量。

本发明将时隙划分为优先时隙和非优先时隙,并对各时隙的冲突可能性进行量化,在预约动态时隙时根据优先时隙是否被占用、时隙冲突概率等因素,并按照一定的策略选取时隙进行占用或开启预约过程。

本发明的技术思路是:根据网络规模、最大可容纳的节点个数及每个复帧的时隙数目为每个节点划分优先占用的动态时隙,通过勤务帧中包含的三跳及三跳以内节点的信息为每个动态时隙的冲突概率进行量化,当本节点需要占用动态时隙时,首先查看本节点对应的优先时隙,如果优先时隙未被占用则直接将其选用,无需执行预约过程,如果优先时隙已被占用则根据时隙的冲突可能性按照一定的预约策略选取非优先时隙进行预约,其实现方案包括如下:

(1)为每个节点划分优先占用的动态时隙:

假设网络中可容纳的最大节点个数为n,第i个节点为ai,每个复帧包含m个时隙,第j个时隙为sj,且m为n的整数倍,i∈(1,n),j∈(1,m),

为每个节点各自划分q个优先占用的动态时隙,q=m/n,并用所有节点的优先占用动态时隙构成第一优先集合n={n1,n2,...,ni,...,nn},其中ni为ai对应的全部优先占用动态时隙,ni={s(i-1)q+k|k∈(1,q)};

(2)根据勤务帧中每个节点的动态时隙信息及地理位置信息,计算本节点占用每个动态时隙的冲突概率pj;

(3)为本节点预约动态时隙:

(3a)设本节点为al,判断其对应的nl中是否存在第一子集合u1={sj|pj=0,sj∈nl},l∈(1,n):若是,则无需执行动态时隙预约流程,选取集合u1中时隙编号最小的时隙直接占用,并记录本次选取的时隙,预约结束;若否,则执行(3b);

(3b)判断sl中是否存在第二子集合u2={sj|pj=1,sj∈nl}:若是,则执行(3c);若否,执行(3f);

(3c)判断u2中是否存在只被任意一跳节点ak占用的时隙sj:若是,则执行(3d);若否,则执行(3f);

(3d)判断节点ak对应的nk中是否存在第三子集合u3={sz|pz=0,sz∈nk},z∈(1,n),k∈(1,n):若是,通知节点ak释放时隙sj,执行(3e);若否,执行(3f);

(3e)判断节点ak是否成功释放时隙sj:若是,无需执行动态时隙预约流程,选取时隙sj直接占用,并记录本次选取的时隙;若否,执行(3f);

(3f)选取第一优先集合n中冲突概率pj最小的时隙构成第二优先集合若该集合n'中存在第三优先集合n”={sj|sj∈n',sj∈ni},则选取n”中时隙编号最小的时隙直接占用,并记录本次选取的时隙,预约结束;若不存在,执行(3g);

(3g)判断第二优先集合n'中包含时隙的数目:若数目为1,则选取此时隙,开启动态时隙预约过程,并记录本次选取的时隙,预约结束;若数目大于1,执行(3h);

(3h)判断第一优先集合n中是否存在元素使得若是,选取第二优先集合n'中时隙编号最小的时隙占用,开启动态时隙预约过程,并记录本次选取的时隙,预约结束;若否,执行(3i);

(3i)设上次选取的动态时隙为sl(sl∈nl+q-1/q,l∈(1,m)),选取第一优先集合n'中的时隙构成第四优先集合选取n”'中时隙编号最小的时隙占用,开启动态时隙预约过程,并记录本次选取的时隙,预约结束。

本发明与现有技术相比具有以下优点:

第一,由于本发明为每个节点都划分了优先占用的动态时隙,当某节点业务需求增大需要使用动态时隙时,若该节点对应的优先占用时隙空闲,即可直接占用,无需开启动态时隙预约过程,减少了预约过程增加的网络开销,缩短了分组接入时间。

第二,由于本发明引入了占用动态时隙的冲突概率,在选择动态时隙时会优先选取冲突概率低的时隙进行预约和占用,这样减少了由于网络拓扑移动带来的时隙占用冲突、保证了传输速率和通信质量,同时不会对其它节点产生影响。

附图说明

图1是本发明的实现流程图;

图2是本发明中的勤务帧动态时隙的数据结构图;

图3是本发明中的节点位置信息的数据结构图;

图4是本发明中的动态时隙统计的数据结构图。

以下结合附图对本发明作进一步的详细描述:

具体实施方式

参照图1,本发明实施步骤如下:

步骤1:为每个节点划分优先占用的动态时隙。

1.1)假设网络中可容纳的最大节点个数为n,第i个节点为ai,每个复帧包含m个时隙,第j个时隙为sj,且m为n的整数倍,i∈(1,n),j∈(1,m);

1.2)为每个节点各自划分q个优先占用的动态时隙,q=m/n,以任意节点ai说明,将所有时隙中编号为(i-1)q+k的时隙作为节点ai的优先占用的动态时隙;

1.3)用所有节点的优先占用动态时隙构成第一优先集合:

n={n1,n2,...,ni,...,nn},

其中,ni为节点ai对应的全部优先占用动态时隙,

ni={s(i-1)q+k|k∈(1,q)}

其中为s(i-1)q+k为编号是(i-1)q+k的时隙。

步骤2:计算本节点占用每个动态时隙的冲突概率。

2.1)建立动态时隙统计表与节点位置信息表:

动态时隙统计表,是通过一个二维数组实现,该表中设有节点跳数和占用信息两个表项,用以统计所有三跳及三跳内节点的动态时隙占用情况,其中,节点跳数用于记录网络节点是本节点的几跳节点;占用信息用于记录网络节点对时隙的占用情况,若占用,占用信息记为1;若没占用,占用信息记为0;

节点位置信息表,是通过一个一维数组实现,该表中设有旧位置信息和新位置信息两个表项,以统计三跳及三跳内节点的新、旧地理位置信息;

每个节点维护动态时隙统计表与节点位置信息表;

2.2)设置接收勤务帧最大时限t,其值取复帧长度的2倍,并开启定时器;

2.3)节点接收勤务帧:

在网络中,节点通过收发勤务帧进行数据的交互,勤务帧中包含勤务帧的发送节点与其两跳内节点的动态时隙占用信息及地理位置信息,节点接收到勤务帧后,将勤务帧中包含的动态时隙信息记录在动态时隙统计表中,将地理位置信息记录在位置信息表中,以任意节点ai说明,若第一次收到节点ai的地理位置信息,将其记录在节点ai的旧位置信息一栏,之后每次收到节点ai的地理位置信息都将其记录在节点ai的新位置信息一栏并不断更新;

2.4)判断2.2)中定时器时间是否超过接收勤务帧最大时限t:若是,进入2.5);若否,返回2.3);

2.5)记录位置信息表中所有节点到本节点的距离:

查询位置信息表,以任意节点ai说明,根据节点ai的旧地理位置信息得到前一时刻节点ai到本节点的距离di,old,根据节点ai的新地理位置信息得到当前时刻节点ai到本节点的距离di,new;

2.6)计算本节点占用每个动态时隙的冲突概率pj:

以任意时隙sj说明,如果时隙sj没有被占用,则本节点占用时隙sj的冲突概率pj=0;

如果时隙sj被两跳及两跳以内的网络节点占用,则pj=1;

如果时隙sj被某三跳网络节点占用,则进入2.6.1);

2.6.1)计算本节点占用时隙sj与任意网络节点ai冲突的概率pi,j:

若di,old≤di,new,则本节点占用时隙sj与网络节点ai冲突的概率pi,j=0;

若di,old>di,new,则本节点占用时隙sj与网络节点ai冲突的概率

在实际中,由于时隙sj可能被多个三跳节点占用,故取pi,j中最大值作为本节点占用时隙sj的冲突概率pj,即pj=maxpi,j。

步骤3:为本节点预约时隙。

3.1)设本节点为al,判断其对应的sl中是否存在第一子集合u1={sj|pj=0,sj∈nl},l∈(1,n):

若是,则无需执行动态时隙预约流程,选取集合u1中时隙编号最小的时隙直接占用,并记录本次选取的时隙,预约结束;

若否,则进入3.2);

其中,动态时隙预约流程是指本节点需要预约动态时隙时,与网络节点协商的一种方式,当本节点需要预约动态时隙时,向外广播动态时隙占用请求,并根据网络节点的反馈信息判断预约是否成功。

3.2)判断sl中是否存在第二子集合u2={sj|pj=1,sj∈nl}:若是,则进入3.3);若否,进入3.6);

3.3)判断u2中是否存在只被任意一跳节点ak占用的时隙sj:若是,则进入3.4);若否,进入3.6);

3.4)判断节点ak对应的sk中是否存在第三子集合u3={sz|pz=0,sz∈nk},z∈(1,n),k∈(1,n):若是,通知节点ak释放时隙sj,进入3.5);若否,进入3.6);

3.5)判断节点ak是否成功释放时隙sj:若是,无需执行动态时隙预约流程,选取时隙sj直接占用,并记录本次选取的时隙;若否,进入3.6);

3.6)选取第一优先集合n中冲突概率pj最小的时隙构成第二优先集合若该集合n'中存在第三优先集合n”={sj|sj∈n',sj∈ni},则选取n”中时隙编号最小的时隙直接占用,并记录本次选取的时隙,预约结束;若不存在,进入3.7);

3.7)判断第二优先集合n'中包含时隙的数目:若数目为1,则选取此时隙,开启动态时隙预约过程,并记录本次选取的时隙,预约结束;若数目大于1,进入3.8);

3.8)判断第一优先集合n中是否存在元素使得若是,选取第二优先集合n'中时隙编号最小的时隙占用,开启动态时隙预约过程,并记录本次选取的时隙,预约结束;若否,进入3.9);

3.9)设上次选取的动态时隙为sl(sl∈nl+q-1/q,l∈(1,m)),选取第一优先集合n'中的时隙构成第四优先集合选取n”'中时隙编号最小的时隙占用,开启动态时隙预约过程,并记录本次选取的时隙,预约结束。

以上描述仅是本发明的一个具体实例,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。

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