本发明涉及无线自组网(wireless ad hoc networks,wanets,无线自组织网络,简称“无线自组网”),尤其涉及使用定向天线进行无线信号收发、数据包多跳传输的分布式无线自组网应用场景。本发明可在通信得到广泛应用,特别适用于需要即时、灵活通信的场合,例如紧急救援、军事行动或偏远地区通信等。
背景技术:
1、近二十年来互联网迎来喷涌式发展,有线、无线网络已经覆盖了人们生活的方方面面,网络性能相比二十年前有了极大的提升。正因如此人们已经不满足于传统的网络使用场景,开始寻求更加便捷、高效的新型网络。从网络组成来说,人们希望新型网络能从路由器、交换机等基础网络设备中解放出来,不依赖于任何通信基础设施就能够实现快速组网,无线终端之间通过相互协作来完成网络的建立、维护和信息传输。无线自组网相关技术在此需求下迎来了快速发展,已成为如今移动通信领域发展和创新的重要研究方向。
2、军事上,无线自组网快速部署、灵活组网、自组织通信的技术特点特别适用于无人机或军事战术小队等军事使用场景,为军事活动提供快速、灵活、稳定的网络支持。在民用领域,无线自组网设备布置简单、组网方便,可以用于为紧急救援、灾难响应、智能交通管理、智能城市、大型户外活动等相关场景提供可靠的通信保障。
3、在有线通信快速发展的这几十年,无线通信技术的发展和应用一直受限于有限的频谱资源、无线信号的衰减、安全与隐私、能源限制、标准化困难等问题。上世纪八十年代,由于军事行动需要在没有固定基础设施的战场环境下实现协作通信,研究人员才开始探索无线自组网技术,以在没有中心节点控制的环境中实现可靠的通信和信息交换。直到2010年前后,无线自组网技术才逐渐开始在实际应用中得到验证,应用场景不仅限于军事领域,还扩展到紧急救援、灾难恢复和无线传感器网络等领域,一些自组织网络协议的标准化工作也在这期间逐渐完善。国外,ieee和3gpp组织积极推进自组织网络标准化;国内,中国工业和信息化部针对自组织网络支持的应急通信制定了规范标准。但是在物联网时代、5g时代高速发展的这几年,无线自组网技术在连接大量物联网设备、低延迟、高可靠性和大容量的场景中变得至关重要,得到了更广泛的关注。从国内外无线自组网技术的发展和标准化进程发展缓慢可以看出:自组织网络的标准化工作还处在不断发展和研究的过程中,针对网络性能、管理、安全及与其他网络的互操作性还有许多细节需要继续完善。
4、无线自组网的天线选择对网络性能与协议实现有着显著的影响,定向天线因其能够提供更远的传输距离、更高的信号增益和空间复用度,以及降低邻近节点间的相互干扰,被认为能够显著提高网络的总吞吐量和性能。全向天线的优点在于它可以在水平方向图上表现为360°均匀辐射的天线,这在节点没有先验信息的网络中极大减少了发现邻居的工作量。这个特性使得基于全向天线的无线自组网媒体接入控制协议比定向天线实现更加简单,更适合于高度动态和分布式的网络场景。因此现有大多数无线自组网mac协议使用全向天线进行数据收发。然而随着移动终端设备越做越小,网络覆盖范围越来越大,节点的有效通信距离、节点功率受限问题变得尤为突出。为了解决这些问题,国内外研究人员在针对无线自组网的协议研究中正逐步用定向天线取代全向天线。定向天线引入无线自组网也为网络协议设计带来了一系列挑战,如:节点网络中定向天线需要频繁波束对齐;节点没有先验信息时发现邻居困难;现有相关mac协议与定向天线的匹配度差,需要调整现有协议机制甚至重新设计新的协议;实现波束旋转的设备实现复杂,增加了移动节点的生产成本。
5、近年来研究人员在持续关注无线自组网的发展与应用。常见的分布式无线自组网不包含中心节点,所有节点都处于同等地位且节点可以随机分布,每个节点在媒体接入控制层只需要关注其通信范围内邻居的方位信息及帧传输碰撞问题。一种典型的无线自组网如附图1所示。
6、节点的移动和拓扑的快速变化导致现有基于定向天线的无线自组网在邻居发现阶段实现波束对齐困难,进而导致网络传输成功率低。因此如何优化传统定向天线无线自组网tdma协议使其适用于高速移动网络这一课题成为了无线自组网标准化的重要努力方向。
7、邻居发现阶段和时隙预约阶段是实现邻居节点间无冲突通信的最基本的一个环节,也是无线自组网分布式tdma协议设计的关键,因此研究人员对其展开了深入研究。
8、xu x等人提出了一种典型的基于定向天线的无线自组网分布式tdma方案——dtsa(dynamic time slot allocation,动态时隙分配(方案),参见文献:xu x,song z,zhang z.dynamic time slot allocation for mobile ad hoc networks usingdirectional antennas[c].2022ieee 6th information technology and mechatronicsengineering conference,2022:2061-2066);dtsa将信道时间划分为连续的多个时帧,每个时帧包含一个邻居发现阶段和多个“时隙预约阶段+数据传输阶段”的组合,时帧结构如附图2所示。邻居发现阶段用于为每个节点找到它的所有邻居节点,该阶段内各节点的状态如附图3所示(为发现邻居而执行操作的节点被称为“邻居发现节点”)。邻居发现阶段被进一步划分为log2nmax个扫描子阶段(其中nmax为网络节点的地址空间能容纳的最大节点数,nmax与节点地址(指mac地址,下同)的二进制位数b有关,nmax=2b,b=log2nmax;例如b为16,即b=16,那么nmax=2b=216=65536);每个节点在一个或多个扫描子阶段内进行波束赋形,与邻居通过三次握手完成波束对准,实现节点间的邻居发现。进行波束赋形时,节点在每个扇区(用定向天线在二维平面进行扫描时,通常把旋转一圈所经历360度划分为多个角度相同的扇区;例如每个扇区为45度,那么就划分为8个扇区)都要广播波束扫描帧;该扇区内的邻居节点如果收到波束扫描帧,则发送一个波束回复帧进行回复;收到波束回复帧后当前节点会再发送一个波束确认帧,从而完成三次握手。当节点的上层有数据到达mac子层时,mac子层根据业务负载和邻居情况进行时隙预约;时隙预约与分配结束后,节点根据预约结果选择时隙完成数据传输。dtsa的邻居发现阶段的每个扫描子阶段对应节点二进制地址的1位,扫描的轮次(一个扫描子阶段被称为“一轮”)与节点的二进制地址位相对应,b个扫描子阶段对应b位(b=log2n,n为网络节点的地址空间能容纳的最大节点数);节点根据扫描子阶段对应的(自己的)二进制地址的那1位是否为1来确定自己是否在那个扫描子阶段里进行波束发送扫描(“波束发送扫描”的含义是:节点物理层的无线收发机处于发送状态,旋转定向天线波束的指向,在每个扇区广播波束扫描帧):如果为1,则进行波束发送扫描;如果为0,则不进行波束发送扫描,而是进行波束接收扫描(“波束接收扫描”的含义是:节点物理层的无线收发机处于接收状态,旋转定向天线波束的指向,在每个扇区等待接收帧),旋转改变定向天线波束指向的扇区,等待接收波束扫描帧。dtsa的邻居发现方法允许在一个扫描子阶段中可以有多个节点进行波束发送扫描,也允许一个节点可以在多个扫描子阶段中进行波束发送扫描;因此,在基于定向通信的分布式tdma协议中,相对于为每个节点单独分配扫描子阶段的邻居发现思路,dtsa的邻居发现方法虽然带来了冗余的控制开销(节点有可能不必要地发送波束扫描帧)和邻居发现失败的风险(波束扫描帧或者波束回复帧有可能发生碰撞),但它为快速地完成邻居发现提供了一种巧妙、可行的方案,有助于缩短邻居发现的用时,而且尤其适用于节点数多的无线自组网场合。
9、刘强等人提出了一种基于定向天线的移动自组织网接入控制协议——dand-mac(参见文献:刘强,郝琦,欧阳峰.基于定向天线的移动自组网接入控制协议[j].北京交通大学学报,2017,41(02):72-78,84);该协议可以灵活协调定向天线和全向天线的使用状态。dand-mac协议将时间分为连续重复的时元(epoch),全向天线、定向天线使用不同的时元结构。在邻居发现阶段,dand-mac协议使用全向天线完成邻居发现和广播功能。每个节点在邻居发现帧中都有固定时隙发送hello包,hello包包含自己节点的坐标和节点信息,周边节点接收到hello包后就会根据内容计算节点所在位置角度,确定节点位置方向。在链路建立阶段,协议使用定向天线。每个时元分为建链时隙与数据时隙。在建链时隙,协议为每个节点都至少分配一个固定时隙用于建立链路保证链路建立的公平。而时隙的建立和释放则依靠节点双方在建链时隙内交互各自空闲的时隙并从中选择公共的空闲时隙。dand-mac协议在端到端延迟、业务速率、吞吐量这几个参数上均优于传统tdma协议,但全向天线和定向天线相结合的设计使得节点的能量浪费严重。
10、zhang z等介绍了一种基于扫描的确定性定向天线扫描算法——sba(scan-basedalgori thm;参见文献:zhang z,li b.neighbor discovery in mobile ad hoc self-configuring netwo rks with directional antennas:algorithms and comparisons[j].ieee transactions on wireless communications,2008,7(5):1540-1549);该机制根据节点id为每个节点分配一个收发序列,收发序列用于标记每个节点以及每个节点在每轮扫描中的收发角色,节点之间通过三次握手确立邻居关系。在使用基于扫描的确定性定向天线波束赋形机制的网络中,任意两个节点最多需要log2n次扫描就可以完成节点之间的波束赋形,其中n为网络最大节点数。该机制减少了全网节点完成波束赋形所需要的扫描轮数,提高了邻居发现的效率,但每轮扫描有多个节点并行发送通告信息,网络在接收方容易出现碰撞与干扰,进而增加邻居发现失败的几率。yang等人在sba算法的基础上提出了一种双向载波侦听冲突避免算法——bd-sba(bi-directional scan-based algorithm;参见文献:yang a,li b,yan z,et al.a bi-directional carrier sense collisionavoidance neighbor discovery algorithmin directional wireless ad hoc sensornetwor ks[j].sensors,2019,19(9):2120);每个节点在选为发送节点前需要执行载波监听与退避,节点随机选择退避值,在退避过程中如果没有监听到信道干扰则进入发送模式,如果信道存在干扰则设置为接收模式。该优化算法解决了sba并行扫描导致的冲突碰撞问题,但使用退避的方式将会导致邻居发现过程过长,浪费时隙资源还使得网络时延变得不可控。
11、sorribes等人提出了两种确定性冲突避免邻居发现协议——tdma-basedprotocol和lead er-based protocol(参见文献:sorribes j v,l,lloret j,etal.collision avoidance based neighbor discovery in ad hoc wireless networks[j].wireless personal communicatio ns,2022:1-25);基于leader的邻居发现算法规定在时隙开始时随机选择一个节点成为lead er,leader节点在接下来的时隙中在每个扇区广播邻居发现帧来发现邻居。所有非leader节点在发送扇区停留时间内快速切换接收天线直到收到广播帧后根据节点id选择固定时隙响应a ck帧。leader节点收到ack帧后更新邻居表,当leader节点完成所有扇区内的波束赋形后向其邻居广播获得的邻居表。基于tdma调度的邻居发现方法与基于leader的邻居发现算法相似,前者通过tdma调度来代替随机leader选举,每个节点只在其占用的时隙内进行邻居发现。sorribes等人提出的这两种邻居发现算法采用退避方式来避免邻居发现过程中出现的冲突问题,节点发现所有邻居的时间复杂度分别为o(n)与o(n2),但该机制只能应用在单跳静态网络下,且对节点的时间同步有较高要求。
12、胡郑峰和王建提出一种基于二进制编码序列的邻居发现算法(参见文献:胡郑峰,王建.一种定向无线自组网邻居发现算法[j].电讯技术,2022,62(11):1663-1669);该算法为每个节点设置一个二进制编码序列,节点通过二进制码序列确定节点当前的收发模式,该算法利用任意两编码序列的汉明距离一定大于等于1这一数学规律保证在扫描过程中任意一对节点在某一时刻必定处于一发一收状态。发送节点的发送天线在一个发送扇区停留k个收发微时隙(k为天线扇区数),接收节点的接收天线在发送天线驻留期间内快速旋转完一圈。发送节点经过k×k个收发微时隙后发现接收节点的所有邻居。基于二进制编码序列的邻居发现算法按照编码码字进行数据收发将会导致同一时刻有多个发送节点向外发送数据,从而增加网络碰撞的概率,影响网络质量。此外基于二进制编码序列的邻居发现算法采用的波束赋形机制虽然能保证每个节点在邻居发现过程中不会遗漏邻居节点,但节点发现效率低,有一定优化空间。
13、基于定向天线的无线自组网mac协议中,波束赋形扫描方式与握手机制决定邻居发现阶段的效率。liu等人提出了一种混合三次握手同步算法——has-3-way(hybrid 3-way handsh ake synchronous algorithm;参见文献:liu y,feng z,han c,et al.hybrid3-way neighbo r discovery algorithmin uav networks with directional antennas[c].2018ieee 29th annua l international symposium on personal,indoor andmobile radio communications,2018:1163-1168);has-3-way算法将节点分为主动状态、被动状态和停止状态,节点在主动状态下采用三次握手来完成邻居发现。发送节点发送完hello帧后等待接收节点回复反馈,接收到接收方的反馈信息后发送方会发送确认帧,这一过程被称为邻居发现三次握手。邻居节点确认它已经被发现节点发现时,它将停止发送不必要的握手分组。混合三次握手同步算法降低了三次握手期间的碰撞概率,减少了发现所有邻居的预期时间。
14、从上述研究背景和现状不难看出,人们对基于定向天线的无线自组网mac协议的邻居发现方法已开展了一段时间的研究,取得了一定进展;但通过深入研究可以发现,以dtsa的邻居发现方法为代表的、现有典型的基于定向天线的无线自组网分布式tdma协议的邻居发现方法仍存在以下问题:
15、(1)当节点的二进制地址有b位,会在邻居发现阶段设置b个扫描子阶段;如果网络中的节点总数n<b,扫描子阶段的数量会出现冗余,不如直接给每个节点分配1个扫描子阶段。
16、(2)由于在一个扫描子阶段中(1个扫描子阶段对应1轮扫描)可能有多个节点广播波束扫描帧或者有多个节点发送波束回复帧,在部分情况下会因为帧碰撞而导致波束赋形失败。例如,考虑有4个节点的情况,它们的地址分别是二进制的00、01、10、11,如果00、01、11三个节点的位置近似在一条直线上,则在第1轮扫描中,节点00和01发送的波束回复帧在节点11处会碰撞,在第2轮扫描中,节点01和11广播的波束扫描帧在节点00处会碰撞,从而导致节点00和11之间的波束赋形失败,其结果是部分情况邻居发现失败。
17、(3)在一个时帧的邻居发现阶段的b(b=log2nmax)个扫描子阶段中,如果节点的二进制地址位为1,那么它就会在对应的扫描子阶段进行邻居发现(执行波束发送扫描和接收波束回复帧等操作),而无论它有没有数据包要发送、有没有必要做波束赋形。如果一个节点在一个时帧中没有数据或者没有足够的数据需要发送,那么它在该时帧的邻居发现阶段所做的全部或部分波束赋形操作是没有必要的,会带来冗余的控制开销和操作。
18、以上三个问题会影响基于定向天线的无线自组网分布式tdma协议的邻居发现方法的效果和性能(如部分情况邻居发现失败、控制开销偏大),进而影响无线自组网的数据传输性能(如部分数据分组传输时延偏大);为解决这些问题,本发明将提出一个具有创新性的方案。
技术实现思路
1、本发明所涉及的基于定向天线的分布式tdma协议,工作在无线自组网中,网络中的节点使用定向天线进行数据收发,天线产生的波束能量主要集中在主瓣上;网络无中心节点,所有节点通过外部系统(如北斗或gps系统)授时并完成节点之间的时间同步,节点可以保持静止,也可以移动。节点的定向天线在二维平面上进行扫描;定向天线的信号收发为半双工模式(天线发送和接收信号不能同时进行)。“邻居发现”是指为一个节点找到它的所有邻居节点,该功能是节点在时帧的“邻居发现”阶段基于波束赋形操作来实现的。“进行邻居发现”的主要操作包括进行波束发送扫描和接收波束回复帧;“配合邻居发现”的主要操作包括进行波束接收扫描以及收到波束扫描帧后发送波束回复帧。邻居发现节点及其邻居节点的天线扫描扇区划分的一种典型情况如附图4所示。
2、为了解决前文所述基于定向天线的无线自组网分布式tdma协议的邻居发现方法存在的“节点数小于节点二进制地址位数时扫描子阶段数量出现冗余”、“部分情况邻居发现失败”和“邻居发现阶段控制开销存在冗余”问题,本发明提出了一种基于待发数据量的自适应邻居发现方法(后文简称“新方法”)及实现该新方法的装置;新方法包含“基于节点数选择扫描模式”、“按需增加扫描子阶段”和“基于待发数据量的波束发送扫描自适应控制”三种新机制;这些新机制在新方法中的使用,能够从整体上提高邻居发现概率、降低控制开销,并且在部分情况下缩短邻居发现时间,从而有利于降低数据包端到端平均时延、提升接入协议效率和时隙利用率。本发明提出的新方法及其所含新机制涉及的节点的地址,均指节点的mac地址。
3、“基于节点数选择扫描模式”新机制针对“节点数小于节点二进制地址位数时扫描子阶段数量出现冗余”问题,能够在网络节点总数n不大于节点的二进制地址位数b时,为每个节点单独分配扫描子阶段,消除波束赋形帧(包括波束扫描帧和波束回复帧;本发明提出的新方法及其包含的新机制不使用波束确认帧)的碰撞,保证邻居节点都能被发现,而且能够从整体上减少扫描子阶段的数量,有利于提高时隙利用率。
4、“按需增加扫描子阶段数量”机制针对“部分情况邻居发现失败”问题,当发现存在波束赋形帧碰撞的风险时,它通过增加扫描子阶段的数量,为邻居发现失败的节点提供更多的波束赋形机会,从而有利于降低邻居发现失败的概率和数据包端到端平均时延、提升时隙利用率。
5、“基于待发数据量的波束发送扫描自适应控制”新机制致力于解决“邻居发现阶段控制开销存在冗余”问题,它让节点在一个时帧中需要找的数据帧目的节点(也是当前节点的邻居节点)都已经找到的情况下,即使邻居发现阶段没结束,也不再进行后续的波束发送扫描操作,从而降低控制开销,并且降低波束赋形帧碰撞的概率。
6、下文详细介绍上述三种新机制的基本思路、主要操作和新方法的主要操作。
7、(一)本发明所提新方法包含的新机制的基本思路和主要操作
8、本发明所提的“基于待发数据量的自适应邻居发现方法”包含“基于节点数选择扫描模式”、“按需增加扫描子阶段数量”和“基于待发数据量的波束发送扫描自适应控制”三种新机制,其组成如附图5所示。
9、1“基于节点数选择扫描模式”新机制的基本思路和主要操作
10、“基于节点数选择扫描模式”新机制的基本思路是:在初始化时,节点通过比较网络节点总数n(预先知道)和节点的二进制地址位数b;如果n<=b,则后续的网络运行中的邻居发现阶段采用“单节点扫描模式”——“为每个节点单独分配扫描子阶段、每个扫描子阶段只有1个节点进行波束发送扫描”的模式进行邻居发现,并设置时帧的邻居发现阶段包含的扫描子阶段的数量=n;如果n>b,则在邻居发现阶段采用“多节点扫描模式”——“每个扫描子阶段可以有多个节点进行波束发送扫描、节点二进制地址位如果为1则在该位对应的扫描子阶段进行波束发送扫描”的模式进行邻居发现,并设置时帧的邻居发现阶段包含的扫描子阶段的数量=b。采用“单节点扫描模式”需要一个前提条件,即网络中所有节点的地址的值,都是从一个值(如0)开始无遗漏地等间距(如间距为1)递增。
11、“基于节点数选择扫描模式”新机制工作在网络的初始化阶段(网络运行时间被划分为初始化阶段和后续多个连续的时帧),由每个节点在自己的mac子层(属于网络的第2层——数据链路层的一部分)执行操作;主要操作如下:
12、n1_1:节点获取自己的二进制地址(指用二进制表示的mac地址)的位数b。
13、n1_2:节点判断:所有节点的地址的值都是从一个值开始无遗漏地等间距递增?如果是,意味着能够采用单节点扫描模式,执行下一步;如果否,意味着不能采用单节点扫描模式,转n1_5。
14、n1_3:节点比较b和预先知道的网络节点总数n,判断:n≤b?如果成立,执行下一步;如果不成立,转n1_5。
15、n1_4:节点确定在时帧的邻居发现阶段使用“单节点扫描模式”,并且设置时帧的邻居发现阶段包含的扫描子阶段的数量ns=n;然后结束操作。
16、n1_5:节点确定在时帧的邻居发现阶段使用“多节点扫描模式”,并且设置时帧的邻居发现阶段包含的扫描子阶段的数量ns=b;然后结束操作。
17、2“按需增加扫描子阶段数量”新机制的基本思路和主要操作
18、“按需增加扫描子阶段数量”新机制的基本思路是:在初始化时,节点通过比较节点的平均邻居数na和扇区数f,判断是否存在波束赋形帧碰撞的风险(如果节点的一个扇区内有多个邻居节点,则存在波束赋形帧碰撞的风险,波束赋形帧碰撞会导致邻居发现失败);如果存在风险,则根据na和f的数量关系确定扫描子阶段的增加数量,并增加邻居发现阶段包含的扫描子阶段的数量;另外,为了使邻居发现阶段尽快结束,对扫描子阶段的增加数量设置上限。扫描子阶段的数量增加后,可以一直保持不变或者根据需要进行调整。增加的扫描子阶段,由没能为全部待发数据分组找到目的节点的节点使用(在mac子层,待发数据分组的源、目的节点是邻居),用于继续进行邻居发现操作。
19、“按需增加扫描子阶段数量”新机制运行在网络的初始化阶段,在“基于节点数选择扫描模式”新机制运行结束后才开始运行;并且是有条件的:“基于节点数选择扫描模式”新机制选择了“多节点扫描模式”,才能运行。
20、“按需增加扫描子阶段数量”新机制由每个节点在自己的mac子层执行操作;主要操作如下:
21、n2_1:节点根据预先得到的网络覆盖面积s、网络节点总数n、节点通信范围r,计算每个节点的平均邻居数ea,计算式如下:
22、
23、其中运算符表示向上取整,=不小于x的最小整数。
24、n2_2:节点比较平均邻居数ea和扇区数f,判断:ea>f?如果成立,说明存在波束赋形帧碰撞的风险,执行下一步;如果不成立,结束操作。
25、n2_3:节点计算扫描子阶段数量增加值as;as与ea和f的差值ea-f呈总体上的正相关关系;可以采用线性或非线性方法计算as;推荐计算式:as=ea-f。
26、n2_4:节点设置扫描子阶段数量增加值as的上限ls;ls的值与扇区数f、网络节点总数n相关联;0<ls<(n-b);推荐设置ls=f。
27、n2_5:节点判断:as>ls?如果成立,令as=ls;否则,不做操作。
28、n2_6:节点设置时帧的邻居发现阶段包含的扫描子阶段的数量ns=b+as;然后结束操作。
29、3“基于待发数据量的波束发送扫描自适应控制”新机制的基本思路和主要操作
30、“基于待发数据量的波束发送扫描自适应控制”新机制的基本思路是:节点在属于自己的扫描子阶段内,按需地进行邻居发现;并且在进行邻居发现的过程中,以待发数据量为基础,自适应地控制波束发送扫描的执行。
31、属于节点的扫描子阶段的含义是:对于“单节点扫描模式”,“属于节点的扫描子阶段”指与该节点地址对应的扫描子阶段;对于“多节点扫描模式”,“属于节点的扫描子阶段”指与该节点二进制地址中的“1”对应的扫描子阶段,以及运行本发明所提方法的“按需增加扫描子阶段数量”新机制后增加的扫描子阶段。
32、“按需地进行邻居发现”的含义是:如果节点mac子层的发送缓冲区有待发数据分组,才进行邻居发现。
33、“以待发数据量为基础自适应地控制波束发送扫描的执行”的含义是:如果节点mac子层的发送缓冲区内的待发数据分组的目的节点都已被找到,或者已找到目的节点的待发数据分组的数据总量能够用完后续第1个数据传输阶段的全部时隙,节点则终止当前邻居发现阶段内的波束发送扫描操作,即在当前邻居发现阶段内不再进行波束发送扫描。
34、“基于待发数据量的波束发送扫描自适应控制”新机制运行在时帧中的邻居发现阶段的所有扫描子阶段,由该子阶段内的邻居发现节点在自己的mac子层执行操作;主要操作如下:
35、n3_1:节点判断:自己的mac子层发送缓冲区有无待发数据分组?如果有,执行下一步;如果没有,则在每个扫描子阶段内配合邻居节点进行邻居发现,直至当前邻居发现阶段结束。
36、n3_2:节点判断:当前的扫描子阶段是否是属于自己的扫描子阶段?如果是,执行下一步;如果否,转n3_4。
37、n3_3:节点启动邻居发现操作并以待发数据量为基础,自适应地控制波束发送扫描的执行;然后,转n3_5。
38、n3_4:节点配合邻居节点进行邻居发现。
39、n3_5:节点判断:当前邻居发现阶段的所有扫描子阶段是否都已经历?如果是,结束操作;如果否,返回n3_2。
40、(二)本发明所提新方法的主要操作及运行装置
41、本发明提出的基于待发数据量的自适应邻居发现方法,适用于采用定向通信和分布式tdma协议的无线自组网,网络中所有节点采用定向天线进行数据收发且收发数据不能同时进行。本发明提出的基于待发数据量的自适应邻居发现方法包含“基于节点数选择扫描模式”、“按需增加扫描子阶段数量”和“基于待发数据量的波束发送扫描自适应控制”三种新机制,工作在网络运行的初始化阶段和后续时帧的邻居发现阶段,由网络中的每个节点的mac子层执行相关行操作,伴随着分布式tdma协议的运行而运行。
42、1本发明所提新方法的主要操作
43、本发明提出的基于待发数据量的自适应邻居发现方法的主要操作如下:
44、n_1:节点获取自己的二进制地址的位数b。
45、n_2:节点判断:所有节点的地址的值都是从一个值开始无遗漏地等间距递增?如果是,执行下一步;如果否,转n_5。
46、n_3:节点比较预先知道的网络节点总数n和b,判断:n≤b?如果成立,执行下一步;如果不成立,转n_5。
47、n_4:节点确定在时帧的邻居发现阶段使用“单节点扫描模式”,并且设置时帧的邻居发现阶段包含的扫描子阶段的数量ns=n;然后转n_12。
48、n_5:节点确定在时帧的邻居发现阶段使用“多节点扫描模式”,并且设置时帧的邻居发现阶段包含的扫描子阶段的数量ns=b。
49、n_6:节点根据预先得到的网络覆盖面积s、网络节点总数n、节点通信范围r,计算每个节点的平均邻居数ea,计算式如下:
50、
51、其中运算符表示向上取整,=不小于x的最小整数。
52、n_7:节点比较平均邻居数ea和扇区数f,判断:ea>f?如果成立,执行下一步;如果不成立,转n_12。
53、n_8:节点计算扫描子阶段数量增加值as;推荐计算式:as=ea-f。
54、n_9:节点设置扫描子阶段数量增加值as的上限ls;推荐设置ls=f。
55、n_10:节点判断:as>ls?如果成立,令as=ls;否则,不做操作。
56、n_11:节点设置时帧的邻居发现阶段包含的扫描子阶段的数量ns=b+as。
57、n_12:节点判断:是否进入了一个新的时帧的邻居发现阶段?如果是,执行下一步;如果否,返回本步骤。
58、n_13:节点判断:自己的mac子层发送缓冲区有无待发数据分组?如果有,执行下一步;如果没有,则在每个扫描子阶段内配合邻居节点进行邻居发现,直至当前邻居发现阶段结束,然后返回n_12。
59、n_14:节点判断:当前的扫描子阶段是否是属于自己的扫描子阶段?如果是,执行下一步;如果否,转n_16。
60、n_15:节点启动邻居发现操作并以待发数据量为基础,自适应地控制波束发送扫描的执行;然后转n_17。
61、n_16:节点配合邻居节点进行邻居发现。
62、n_17:节点判断:当前邻居发现阶段的所有扫描子阶段是否都已经历?如果是,返回n_12;如果否,返回n_14。
63、本发明所提新方法的操作流程如附图6和附图7所示。
64、2本发明所提新方法的运行装置
65、运行本发明所提新方法的装置具体如下:
66、(1)一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述处理器执行所述程序时实现如上一节所述的、基于待发数据量的无线自组网自适应邻居发现方法所包含的内容。
67、(2)一种非暂态计算机可读存储介质,其上存储有计算机程序;所述计算机程序被处理器执行时实现如上一节所述的、基于待发数据量的无线自组网自适应邻居发现方法所包含的内容。
68、(3)一种计算机程序产品,包括计算机程序;其所述计算机程序被处理器执行时实现如上一节所述的、基于待发数据量的无线自组网自适应邻居发现方法所包含的内容。
69、(三)本发明所提新方法的有益效果
70、本发明提出的“基于待发数据量的无线自组网自适应邻居发现方法”的有益效果主要是:无论是在节点数多还是节点数少的无线自组网应用场合,都能够从整体上减少控制开销、降低波束赋形帧碰撞的概率和邻居发现失败的概率,从而有利于提高无线信道的时隙利用率和降低数据包端到端平均时延。
71、具体地,“基于节点数选择扫描模式”新机制解决了“节点数小于节点二进制地址位数时扫描子阶段数量出现冗余”问题,能够在网络节点总数n不大于节点的二进制地址位数b时,为每个节点单独分配扫描子阶段,消除波束赋形帧的碰撞,保证邻居节点都能被发现,而且能够从整体上减少扫描子阶段的数量,有利于提高时隙利用率。“按需增加扫描子阶段数量”机制针对“部分情况邻居发现失败”问题,当发现存在波束赋形帧碰撞的风险时,通过适当增加扫描子阶段的数量,为邻居发现失败的节点提供更多的波束赋形机会,从而有利于降低邻居发现失败的概率和数据包端到端平均时延、提升时隙利用率。“基于待发数据量的波束发送扫描自适应控制”新机制让节点在一个时帧中需要寻找的数据帧目的节点都已经找到的情况下,及时终止该时帧内的波束发送扫描操作,从而降低控制开销和波束赋形帧碰撞的概率。
1.一种基于待发数据量的无线自组网自适应邻居发现方法,其特征在于,应用于无线自组网中的节点,包括:在网络运行的初始化阶段,当网络中节点的地址值是从一个值开始无遗漏地等间距递增时,节点通过比较网络节点总数n和节点的二进制地址位数b,来确定时帧的邻居发现阶段采用的波束发送扫描模式并设置邻居发现阶段包含的扫描子阶段数量;在网络的初始化阶段,节点确定在时帧的邻居发现阶段采用多节点扫描模式后,通过比较节点的平均邻居数ea和扇区数f,判断是否存在波束赋形帧碰撞的风险,如果存在风险,则根据ea和f的数量关系确定扫描子阶段的增加数量,并增加邻居发现阶段包含的扫描子阶段的数量;为了使邻居发现阶段尽快结束,对扫描子阶段的增加数量设置上限;在网络运行的初始化阶段之后的时帧的邻居发现阶段,节点在属于自己的扫描子阶段内,按需地进行邻居发现;并且在进行邻居发现的过程中,以待发数据量为基础,自适应地控制波束发送扫描的执行。
2.根据权利要求1所述的基于待发数据量的无线自组网自适应邻居发现方法,其特征在于,所述通过比较网络节点总数n和节点的二进制地址位数b,来确定时帧的邻居发现阶段采用的波束发送扫描模式并设置邻居发现阶段包含的扫描子阶段数量,包括:比较预先知道的节点总数n和节点的二进制地址位数b的大小;如果n≤b,则在时帧的邻居发现阶段采用单节点扫描模式——“为每个节点单独分配1个扫描子阶段、每个扫描子阶段只有1个节点进行波束发送扫描”的模式进行邻居发现,并且设置邻居发现阶段包含的扫描子阶段数量为n;如果n>b,则在时帧的邻居发现阶段采用多节点扫描模式——“每个扫描子阶段可以有多个节点进行波束发送扫描、节点二进制地址位如果为1则在该位对应的扫描子阶段进行波束发送扫描”的模式进行邻居发现,并且设置邻居发现阶段包含的扫描子阶段数量为b。
3.根据权利要求1所述的基于待发数据量的无线自组网自适应邻居发现方法,其特征在于,所述比较一个节点的平均邻居数ea和扇区数f,判断是否存在波束赋形帧碰撞的风险,包括:比较ea和f的大小,如果ea>f,说明有的节点的扇区包含了不止1个邻居节点,则认为存在波束赋形帧碰撞的风险。
4.根据权利要求1所述的基于待发数据量的无线自组网自适应邻居发现方法,其特征在于,所述根据ea和f的数量关系确定扫描子阶段的增加数量,并增加邻居发现阶段包含的扫描子阶段的数量,包括:节点计算扫描子阶段数量增加值as,as与ea和f的差值ea-f呈总体上的正相关关系;并且,令邻居发现阶段包含的扫描子阶段的数量ns=b+as。
5.根据权利要求1所述的基于待发数据量的无线自组网自适应邻居发现方法,其特征在于,所述对增加的扫描子阶段的数量设置上限,包括:节点设置扫描子阶段数量增加值as的上限ls;ls的值与扇区数f、网络节点总数n相关联。
6.根据权利要求1所述的基于待发数据量的无线自组网自适应邻居发现方法,其特征在于,所述节点在属于自己的扫描子阶段内,按需地进行邻居发现,包括:当采用单节点扫描模式时,节点在与自己的地址对应的扫描子阶段内,如果自己的mac子层的发送缓冲区有待发数据分组,才进行邻居发现;当采用多节点扫描模式时,节点在与自己的二进制地址中的“1”对应的扫描子阶段内,以及在本发明所提方法增加的扫描子阶段内,如果自己的mac子层的发送缓冲区有待发数据分组,才进行邻居发现。
7.根据权利要求1所述的基于待发数据量的无线自组网自适应邻居发现方法,其特征在于,所述以待发数据量为基础,自适应地控制波束发送扫描的执行,包括:如果节点mac子层的发送缓冲区内的待发数据分组的目的节点都已被找到,或者已找到目的节点的待发数据分组的数据总量能够用完后续第1个数据传输阶段的全部时隙,节点则终止当前邻居发现阶段内的波束发送扫描操作。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述基于待发数据量的无线自组网自适应邻居发现方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述基于待发数据量的无线自组网自适应邻居发现方法的步骤。
10.一种计算机程序产品,包括计算机程序;所述计算机程序被处理器执行时实现如权利要求1至7任一项所述基于待发数据量的无线自组网自适应邻居发现方法的步骤。
