一种自组网中基于节点身份特征的分簇方法与流程

文档序号:13082344阅读:191来源:国知局
技术领域本发明涉及自组织网络,尤其涉及一种自组网中基于身份特征的分簇方法。

背景技术:
AdHoc网络通常采用分簇方法来实现分级结构,以支持网络的可扩展性和QoS保障。目前,分簇算法主要包括无头簇和有头簇两大类。由于无头簇在节点移动场景中簇管理的开销太大,移动AdHoc网络更青睐于有头簇的分级结构。诸如基于节点ID的链路分簇算法(Linkclusteralgorithm,LCA)实现简单,但是簇头太多;基于节点度的分簇算法簇个数较少,但是节点移动性比较强时,簇头更新频繁,簇结构变化太大;基于移动性的分簇算法要求计算邻居的移动速度,计算复杂度比较大;而考虑了簇稳定性和节点能耗的分簇算法更适合于静态网络。同时这些网络场景中节点为簇头的一跳节点,不适合于多跳网络。支持多跳的有头簇,诸如基于地理位置的分簇结构需要传递节点的位置坐标,开销太大;最大最小跳分簇算法通过测量节点密度,数量,运动模式和业务需求来动态调整簇的尺寸。这种分簇算法也没有考虑节点之间的业务属性和所在组织制约关系,无法满足具有节点业务特征的移动AdHoc网络对通信的需求。分簇算法的选择依赖于实际的需求,网络环境和节点特征。当网络节点之间具有组织性,层级关系,移动性和保密要求的时候,目前存在的无头簇,一跳簇和多跳簇均不能适用于这类有严格组织结构关系的网络。

技术实现要素:
本发明提出一种自组网中基于节点身份特征的分簇方法,包括:基于节点身份特征划分默认簇、分配簇ID并指定簇头;基于节点身份特征确定节点优先级和簇优先级;基于节点身份特征和节点优先级分配簇内ID;各簇占用公共控制区广播本簇信息并侦听邻簇信息;各簇内节点占用簇内控制区广播本节点信息并侦听邻节点信息;所述节点脱簇后进入孤立状态,处于孤立状态的节点通过侦听簇广播或节点广播获取周围的簇信息选择目标簇并接入。优选的,当簇头消失或簇头派分队出簇时,所述节点暂时处于孤立状态,所述暂时处于孤立状态的节点根据簇头策略产生新簇头,所述新簇称为原簇的分裂簇,具有与原簇相同的簇ID。其中,产生新簇头的过程包括:所述暂时处于孤立状态的节点继续发送节点广播并侦听邻节点,比较本节点是否比邻节点更符合所述簇头策略:如果是则在后续节点广播中标识身份为簇头;如果不是则在后续节点广播消息中标识身份为成员。进一步的,在簇头消失后停止簇广播,新簇头产生后发送新簇广播,所述新簇广播携带簇ID、新簇头的簇内ID。优选的,分裂簇与原簇或原簇的其他分裂簇相遇时进行自合并,具体包括:所述簇内成员节点如果收到比自身维护的簇头更符合所述簇头策略的簇头消息,则在节点广播中携带节点ID,并转发所述接收到的簇头消息;所述簇头节点如果收到比自身更符合所述簇头策略的簇头消息,则在节点广播中删除簇头标识、携带节点ID,并转发所述接收到的簇头消息。此外,簇与簇可以相互合并,包括:簇内节点发现其他邻簇后,通过随机竞争申请接入所述邻簇;或者,簇内节点将其邻簇信息转发给本簇簇头节点,所述簇头节点在本簇内广播向目标簇合并信息,所述簇内节点随机竞争接入所述目标簇;或者,簇内节点将其邻簇信息转发给本簇簇头节点,所述簇头节点与目标簇簇头进行信息协商:如果所述目标簇可以接纳本簇所有成员,则所述簇头节点在本簇内广播向目标簇合并信息,所述簇内节点随机竞争接入所述目标簇;如果所述目标簇可以接纳本簇部分成员,则所述簇头随机选择相应个数的簇成员,并在广播向目标簇合并信息中添加所述选定的节点信息;所述选定的簇成员节点随机竞争接入所述目标簇;如果所述目标簇不能接纳任何新成员,则所述簇维持不变。所述节点接入目标簇的过程包括:所述节点发送接入请求;簇头节点接收所述接入请求,根据簇接入约束条件判定是否同意接入,回复接入响应;簇内节点对收到的接入请求和接入响应进行转发;所述节点接收所述接入响应。其中,接入响应包括:正常接入、侦听模式接入或拒绝接入;所述节点收到所述正常接入响应后,进行本节点信息广播;所述节点收到所述侦听模式接入响应后,保持侦听本簇信息,可以转发本簇广播信息,但不能主动发起业务传输。其中约束条件包括:簇大小,簇跳数,簇移动速度,节点黑白灰名单。所述簇内节点收到的接入请求为多个时,所述簇内节点根据发起接入请求的节点优先级判断转发顺序。所述目标簇为默认簇或默认簇的分裂簇时,所述节点在默认接入位置发送所述接入请求;所述目标簇为非默认簇时,所述节点在预留接入位置发送所述接入请求。当所述目标簇饱和时,如果所述节点具有高优先级,则所述簇头对簇内优先级最低的节点强制脱簇并释放其簇内ID,然后将所述簇内ID分配给所述高优先级节点。所述簇信息还包括允许接入标识,低优先级节点根据所述允许接入标识判断是否向目标簇发起接入请求,高优先级节点无需判断直接向目标簇发起接入请求。本发明考虑了节点身份特征,在不改变节点编制体系条件下,实现了安全高速率的通信。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例;需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明提出一种自组网中基于节点身份特征的分簇方法,适用于具有严格组织结构关系的节点构成的自组织网络,诸如军队,学校,企业部门之间等,包括:本发明提出一种自组网中基于节点身份特征的分簇方法,包括:基于节点身份特征划分默认簇、分配簇ID并指定簇头;基于节点身份特征确定节点优先级和簇优先级;基于节点身份特征和节点优先级分配簇内ID;各簇占用公共控制区广播本簇信息并侦听邻簇信息;各簇内节点占用簇内控制区广播本节点信息并侦听邻节点信息;所述节点脱簇后进入孤立状态,处于孤立状态的节点通过侦听簇广播或节点广播获取周围的簇信息选择目标簇并接入。优选的,当簇头消失或簇头派分队出簇时,所述节点暂时处于孤立状态,所述暂时处于孤立状态的节点根据簇头策略产生新簇头,所述新簇称为原簇的分裂簇,具有与原簇相同的簇ID。其中,产生新簇头的过程包括:所述暂时处于孤立状态的节点继续发送节点广播并侦听邻节点,比较本节点是否比邻节点更符合所述簇头策略:如果是则在后续节点广播中标识身份为簇头;如果不是则在后续节点广播消息中标识身份为成员。进一步的,在簇头消失后停止簇广播,新簇头产生后发送新簇广播,所述新簇广播携带簇ID、新簇头的簇内ID。优选的,分裂簇与原簇或原簇的其他分裂簇相遇时进行自合并,具体包括:所述簇内成员节点如果收到比自身维护的簇头更符合所述簇头策略的簇头消息,则在节点广播中携带节点ID,并转发所述接收到的簇头消息;所述簇头节点如果收到比自身更符合所述簇头策略的簇头消息,则在节点广播中删除簇头标识、携带节点ID,并转发所述接收到的簇头消息。此外,簇与簇可以相互合并,包括:簇内节点发现其他邻簇后,通过随机竞争申请接入所述邻簇;或者,簇内节点将其邻簇信息转发给本簇簇头节点,所述簇头节点在本簇内广播向目标簇合并信息,所述簇内节点随机竞争接入所述目标簇;或者,簇内节点将其邻簇信息转发给本簇簇头节点,所述簇头节点与目标簇簇头进行信息协商:如果所述目标簇可以接纳本簇所有成员,则所述簇头节点在本簇内广播向目标簇合并信息,所述簇内节点随机竞争接入所述目标簇;如果所述目标簇可以接纳本簇部分成员,则所述簇头随机选择相应个数的簇成员,并在广播向目标簇合并信息中添加所述选定的节点信息;所述选定的簇成员节点随机竞争接入所述目标簇;如果所述目标簇不能接纳任何新成员,则所述簇维持不变。所述节点接入目标簇的过程包括:所述节点发送接入请求;簇头节点接收所述接入请求,根据簇接入约束条件判定是否同意接入,回复接入响应;簇内节点对收到的接入请求和接入响应进行转发;所述节点接收所述接入响应。其中,接入响应包括:正常接入、侦听模式接入或拒绝接入;所述节点收到所述正常接入响应后,进行本节点信息广播;所述节点收到所述侦听模式接入响应后,保持侦听本簇信息,可以转发本簇广播信息,但不能主动发起业务传输。其中约束条件包括:簇大小,簇跳数,簇移动速度,节点黑白灰名单。所述簇内节点收到的接入请求为多个时,所述簇内节点根据发起接入请求的节点优先级判断转发顺序。所述目标簇为默认簇或默认簇的分裂簇时,所述节点在默认接入位置发送所述接入请求;所述目标簇为非默认簇时,所述节点在预留接入位置发送所述接入请求。当所述目标簇饱和时,如果所述节点具有高优先级,则所述簇头对簇内优先级最低的节点强制脱簇并释放其簇内ID,然后将所述簇内ID分配给所述高优先级节点。所述簇信息还包括允许接入标识,低优先级节点根据所述允许接入标识判断是否向目标簇发起接入请求,高优先级节点无需判断直接向目标簇发起接入请求。本发明考虑了节点身份特征,在不改变节点编制体系条件下,实现了安全高速率的通信。实施例1:簇初始化以军队为例,网络节点包括连长,排长,班长,士兵,假设簇个数为16。分配簇ID:以班为单位进行分簇,每个簇有唯一的簇ID(0-15),簇之间为平级;簇ID分配满足班级之间的编制关系,并被全网所知,例如0000,0001,0010为排长1下所直属的三个簇,0011,0100,0101为排长2下所直属的三个簇。分配簇内ID:默认班长为簇头,簇内ID最小为0,班级成员为簇成员,簇内ID按照1,2,3,4依次排开;连长和排长根据行动需求可以加入任意簇,由簇头为其分配簇内ID;簇头策略:按照簇内ID值选择簇头,簇内ID最小的节点为簇头,其他节点为簇成员,若簇头失去联系,则簇内成员ID值最小节点自动成为新簇头,依次类推。节点优先级:连长>排长>班长>士兵。簇优先级包括:默认簇优先级高于非默认簇;属于同一个排下的簇高于不属于同一个排下的簇;接收功率高的簇高于接收功率低的簇。所述节点脱簇后进入孤立状态,处于孤立状态的节点通过侦听簇广播或节点广播获取周围的簇信息选择目标簇并接入。实施例2:簇分裂当原簇头消失或分队派遣的情况下,会启动簇分裂过程,此时丢失了簇头的节点会按照基于节点簇内ID的簇头策略,选择产生新的簇头,当形成新簇头之后,则支持节点选择新簇加入。节点通过邻居节点广播信息,确认可通信的最小簇内ID,该最小簇内ID即为新的簇头,监听过程中,关闭簇广播功能。具体如下:1、节点在对应于簇内ID的节点广播子帧发送节点广播信息,同时监听其他子帧,维护本节点邻居列表;2、邻居发现窗口结束,比较邻居列表中节点的簇内ID与自己的簇内IDa)如果自己的簇内ID值最小,在下一个超帧对应的节点广播消息中携带<簇头>标识;b)如果自己的簇内ID值不最小,继续发送节点广播信息,标识身份为<成员>;3、簇头形成后,a)簇头在公共控制区广播簇信息,携带<簇ID,簇头ID>;b)节点收到簇头节点信息,更新邻居列表,并在节点广播中携带<节点ID>;c)簇头收到节点上报的节点ID后,将节点ID存储进相应的黑灰白名单,同时,有权利剔除非法节点;d)簇头仍在本簇内进行发现,若发现簇内ID值更小的节点,则进行簇合并。实施例3:簇合并1、分裂簇与原簇或与原簇的其他分裂簇相遇,则进行自合并,具体如下:节点收到节点广播消息,更新邻居列表;对于成员节点:收到簇头消息,则比较自己维护的簇头簇内ID与收到的簇头簇内ID:如果原来维护的簇头簇内ID更小,则只更新邻居列表;如果收到的新簇头簇内ID更小,则更新自己维护的簇头信息,同时在节点广播中携带自己的节点ID;对于簇头节点:收到另一个簇头信息,比较自己的簇内ID与收到的簇头簇内ID;如果自己的簇内ID值更小,则在节点广播过程中,仍然携带自己身份标识<簇头>;如果收到的簇头簇内ID更小,则在节点广播消息中删除自己的身份标识,携带节点ID,并转发该簇头信息;2、簇与非原簇之间也可以合并,可用方式如下:方案一:簇内节点发现邻簇存在,根据需求随机竞争申请接入该簇;方案二:簇内节点将邻簇信息转发给簇头,由簇头节点在本簇广播“向目标簇合并信息”,节点随机竞争接入该目标簇;方案三:节点将邻簇信息转发给簇头,簇头节点与邻簇簇头节点协商簇合并信息,包括:分裂簇属性,分裂簇节点属性,邻簇可接纳的新成员个数等。如果邻簇可以完全接纳所有的本簇成员,则本簇簇头在簇内广播“向目标簇合并信息”,各节点随机竞争接入该目标簇;如果邻簇不能完全接纳所有的本簇成员,则本簇簇头随机选择相应个数的簇成员加入该簇,并在广播“向目标簇合并”信息的时候,添加该节点信息。如果邻簇不能接纳任何新成员,则本簇维持原状态。实施例4:节点接入簇一、接入约束条件:只考虑簇大小约束和簇黑白灰名单约束,描述如下:1、簇大小:体现为最大簇内ID值;2、黑灰白名单:由簇头维护,黑灰白名单不与邻簇共享。簇维护过程中,灰名单和黑名单由簇头手动设置。1)黑名单:存储非法的节点ID,簇头将非法节点手动拉入黑名单。被拉黑节点在簇内,簇头向该节点发起强制脱簇指示,携带脱簇原因值为黑名单节点,被拉黑节点收到该指示,触发节点进入锁机状态;被拉黑节点不在簇内,当节点再次向该簇发起接入请求的时候,簇头自动拒绝其接入请求,并携带拒绝原因值为黑名单节点,被拉黑节点收到该指示,触发节点进入锁机状态;簇头还可以将黑名单节点信息广播至簇内所有节点,簇内节点收到并维护黑名单,当黑名单节点发起接入请求的时候,由簇内节点直接反馈拒绝接入响应。2)灰名单:存储被认定为半合法的节点ID,节点一旦被设置为灰名单,可以由簇头手动操作为其转名单,转为白名单或者黑名单。若某节点的脱簇时间超过时间窗T,则簇头手动将其拉入灰名单;当簇饱和时,高优先级节点申请加入本簇,则簇头手动强制要求优先级最低的节点脱簇,将其拉入灰名单,释放其簇内ID,并将该簇内ID分配给高优先级节点;3)白名单:存储被认定为合法的节点ID,包括1)排除黑名单,灰名单之外的节点ID;2)由簇头分派出去执行任务而脱簇的节点ID;白名单节点的簇接入过程自动完成。二、簇信息搜索节点脱簇之后,开始簇搜索,监听并解析公共控制信道的簇广播消息,记录收听到的簇ID,接入标志位,接入跳数,接收能量等信息。计时器结束,判断簇信息记录情况,如果邻簇个数为0,则等待一段时间后再次开始簇搜索。搜索到的簇中如果没有要接入的目标簇,则重新发起簇搜索过程;如果有,则进入接入过程。三、簇接入:节点接入分为原簇节点接入和新节点接入两种场景。原簇节点接入占用簇初始化过程中为节点分配的默认的接入信道;新节点接入占用为新节点接入预留的接入信道。1、原簇节点接入:原簇节点为初始化时默认的簇成员。包括如下步骤:a)节点在接入信道发送接入请求,内容包括节点身份标识,接入信道占用默认的簇内ID对应的节点广播位置;b)簇内所有节点都会监听接入信道,如果接收到接入请求,则在本节点下一次的节点广播消息中携带该接入请求;如果在下一次节点广播之前收到多个接入请求,则根据发起接入请求的节点优先级判断转发顺序,描述如下:连长>直属排长>排长>班长>士兵;在接收时间窗口内同一条接入请求只转发一次;c)簇头节点在节点广播区接收到接入请求,查询节点名单,判断是否同意节点接入,并在下一次节点广播消息中携带接入响应;i)节点在黑名单,簇头自动拒绝其接入,在接入响应中携带拒绝接入指示;ii)节点在灰名单,簇头节点手动操作是否同意其接入,并在节点广播消息中携带正常接入/拒绝接入/侦听模式接入指示;iii)节点在白名单,簇头节点自动同意其接入,并在节点广播消息中携带同意接入指示;d)簇内所有节点在节点广播区转发该接入响应;在接收时间窗口内同一条接入请求只转发一次;e)节点接收到接入响应:黑名单节点而被拒绝接入,节点进入锁机状态,不能收/发任何空口信息;灰名单正常接入,节点占用默认的簇内资源广播节点信息,完成接入过程;灰名单侦听模式接入,则节点只侦听,但是不能发起任何业务传输,可以转发本簇的部分或全部广播信息,也可以设置成不能转发广播消息;灰名单拒绝接入,节点重新开始簇搜索;白名单允许接入,节点占用默认的簇内资源广播节点信息,完成接入过程;2、新节点接入:新节点为网络中不属于原簇节点的其他节点,节点接入优先级定义为连长>直属排长>排长>班长>士兵;a)节点解析簇广播消息:直属排长优先级以下的节点判断接入允许标志位,允许接入,则在预留接入信道位置发送接入请求;不允许接入则不向该簇发起接入请求;直属排长及以上优先级节点无需判断接入允许标志位,直接在预留的接入信道位置发送接入请求;b)簇内所有节点都会监听接入信道,如果接收到接入请求,则在本节点下一次的节点广播消息中携带该接入请求;此步骤与原簇节点接入一样。c)簇头节点在节点广播区接收到接入请求,按照灰名单的接入过程,主观操作是否同意其接入,并在节点广播消息中携带接入响应,包括正常接入/拒绝接入/侦听模式接入指示;如果同意接入,则为该节点分配簇内ID,设置黑白灰名单;如果还有空闲的簇内ID,即簇尚未饱和,簇头为其分配随机空闲簇内ID;如果没有空闲的簇内ID,簇头强制最低优先级节点脱簇,发送强制脱簇指示消息,并将释放的簇内ID分配给该高优先级节点;簇内所有节点收到强制脱簇指示,在节点广播区转发该脱簇指示;待脱簇节点收到脱簇指示,释放该簇内ID,并选择其他簇接入;d)簇内所有节点在节点广播区转发新节点接入响应;e)新节点接收到接入响应,根据分配的簇内ID占用对应的节点广播子帧,广播本节点信息,完成接入过程。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1