CN111491324A - 一种维护虚拟骨干网的方法、装置及存储介质 - Google Patents
一种维护虚拟骨干网的方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111491324A CN111491324A CN201910086938.2A CN201910086938A CN111491324A CN 111491324 A CN111491324 A CN 111491324A CN 201910086938 A CN201910086938 A CN 201910086938A CN 111491324 A CN111491324 A CN 111491324A
- Authority
- CN
- China
- Prior art keywords
- node
- current
- backbone
- current node
- nodes
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/04—Arrangements for maintaining operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/248—Connectivity information update
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/32—Connectivity information management, e.g. connectivity discovery or connectivity update for defining a routing cluster membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种维护虚拟骨干网的方法、装置及存储介质,用以解决现有技术中存在的移动自组网络中虚拟骨干网的稳定性不高的技术问题。包括:当移动自组织网络完成虚拟骨干网的选举后,使其内的节点被分为连通的骨干节点和距离骨干节点1跳的普通节点,且每个节点周期性的接收其它节点的广播消息;基于当前周期的当前广播消息构建当前节点的第一局域拓扑图;其中第一局域拓扑图包括至少两个节点,至少两个节点是以当前节点为中心并与当前节点之间的最小通信距离不大于2跳;当第一局域拓扑图,相较于当前节点在当前周期的前一周期的第二局域拓扑图发生变化时,根据当前节点的当前节点类型对在第一局域拓扑图所对应部分的子虚拟骨干网进行维护。
Description
技术领域
本发明涉及通信领域,尤其是涉及一种维护虚拟骨干网的方法、装置及存储介质。
背景技术
移动自组网络是由众多兼具终端及路由功能的设备(也可称之为节点),通过无线链路形成的无中心、多跳、临时性自治系统,其被广泛应用于临时性工作场合、灾难环境、野外工作中的通信。
在移动自组织网络中,通过将移动自组网进行层次化,来将移动自组织网络划分为不同的簇,每个簇由一个簇首和多个簇成员组成,这些簇首形成了高一级的网络,在高一级的网络中,又可以再分簇。在分簇网络中,簇间的通信依靠网关节点完成,由簇首和网关可以构成一个连通支配集负责整网的网络管理和数据通信。
在广播传输中,可以将连通支配集作为广播数据的多点中继(MPR,Multi-PointRelay)节点,使得在保证数据全网广播的同时减少广播数据的数量,减轻网络负载;在路由选择中,可以通过连通支配集构建数据路由的虚拟骨干网,采取相应的路由选择机制,完成单播数据的多跳传输;在网络分簇中,连通支配集等效于1跳分簇(即簇中所有节点与簇首之间的距离为1跳)网络中簇首和网关的集合;在本专利中称一个网络的连通支配集为虚拟骨干网,并定义网络中所有簇首和网关组成的集合为网络支配集,在此条件下连通支配集(虚拟骨干网)即为一个网络支配集。
目前,对于连通支配集算法、簇首和网关的选取等进行了持续、深入的研究,给出了各种改进的分布式算法。但是,现有技术研究的重点是如何在一个分布式网络中构建连通支配集,将网络中的节点分为簇首、网关和普通节点,构造一个层次结构的网络。至于在整个网络生存周期内的连通支配集的维护和更新,则与连通支配集的选择方法一致,即整个网络中的节点周期性的进行连通支配集的选择。这将使得在每次对整个网络进行维护和更新时,需要全部重新选举出整个网络的虚拟骨干网,进而使整个网络的稳定性降低了,并且由于是周期性的对整个网络进行维护和更新,当整个网络的拓扑结构发生变化时,若维护和更新周期太短将使虚拟骨干网变化过快,将不利于路由选择、流量控制等。
鉴于此,如何有效的提高移动自组网络中虚拟骨干网的稳定性,成为一个亟待解决的技术问题。
发明内容
本发明提供一种维护虚拟骨干网的方法、装置及存储介质,用以解决现有技术中存在的移动自组网络中虚拟骨干网的稳定性不高的技术问题。
第一方面,为解决上述技术问题,本发明实施例提供的一种维护虚拟骨干网的方法,应用于移动自组织网络中的每个节点,该方法的技术方案如下:
当所述移动自组织网络完成虚拟骨干网的选举后,使所述移动自组织网络中的节点被分为连通的骨干节点和距离骨干节点1跳的普通节点,且所述每个节点周期性的接收所述移动自组织网络中其它节点的广播消息;其中,所述广播消息中携带所述其它节点的邻居节点的节点类型;
基于当前周期的当前广播消息,构建当前节点的第一局域拓扑图;其中,所述第一局域拓扑图包括至少两个节点,所述至少两个节点是以所述当前节点为中心,并且与所述当前节点之间的最小通信距离不大于2跳;
当所述第一局域拓扑图,相较于所述当前节点在所述当前周期的前一周期的第二局域拓扑图发生变化时,根据所述当前节点的当前节点类型对在所述第一局域拓扑图所对应部分的子虚拟骨干网进行维护。
通过在移动自组织网络完成虚拟骨干网的选举后,使移动自组织网络中的节点被分为连通的骨干节点和距离骨干节点1跳的普通节点,且每个节点周期性的接收移动自组织网络中其它节点的广播消息;其中,广播消息中携带其它节点的邻居节点的节点类型;使得每个节点都可以及时掌握移动自组织网络中所有节点的节点类型变化情况;再通过基于当前周期的当前广播消息中的基点类型变化情况,构建当前节点的第一局域拓扑图;当第一局域拓扑图,相较于当前节点在当前周期的前一周期的第二局域拓扑图发生变化时,根据当前节点的当前节点类型对在第一局域拓扑图所对应部分的子虚拟骨干网进行维护;其中,第一局域拓扑图包括至少两个节点,该至少两个节点是以当前节点为中心,并且与当前节点之间的最小通信距离不大于2跳;从而在对移动自组网络的虚拟骨干网进行维护时只需对节点类型发生变化的部分虚拟骨干网进行维护,而不必像现有技术中需要在每个周期重新选举移动自组织网络的虚拟骨干网,从而减少了虚拟骨干网的维护范围、提高了其稳定性。
可选的,根据所述当前节点的当前节点类型对在所述第一局域拓扑图所对应部分的子虚拟骨干网进行维护,包括:
若所述当前节点类型为普通节点,所述第一局域拓扑图相较于所述第二局域拓扑图发生变化是由所述当前节点发生移动引起的,则按第一规则对所述子虚拟骨干网进行维护,使所述当前节点与维护后的子虚拟骨干网的通信距离保持在设定阈值内;
若所述当前节点类型为骨干节点,则按第二规则对所述子虚拟骨干网进行维护,使维护后的子虚拟骨干网连通;并使用第三规则对所述维护后的子虚拟骨干网进行再维护,使得当前节点为冗余的骨干节点时,将当前节点的节点类型更新为普通节点;其中,所述冗余的骨干节点为从所述子虚拟骨干网中去除后,所述子虚拟骨干网仍能保持连通的节点。
可选的,所述第一规则具体为:
当所述当前节点在所述第一局域拓扑图中的2跳邻居节点中,存在至少一个骨干节点,则所述当前节点的当前节点类型保持不变;其中,所述2跳邻居节点为与所述当前节点的最小通信距离为1跳或2跳的节点;
当所述当前节点在所述第一局域拓扑图中的2跳邻居节点中不存在骨干节点,但所述当前节点的第3跳邻居节点中存在至少一个骨干节点,则按网关选择算法将所述当前节点到对应的任一个第3跳骨干邻居节点之间的节点选举为骨干节点,并更新所述当前节点及对应的邻居节点的基本信息;其中,所述第3跳邻居节点为与所述当前节点的最小通信距离为3跳的节点,所述第3跳骨干邻居节点为所述第3跳邻居节点中的骨干节点,所述基本信息包括各节点的节点类型,及所述当前节点的邻居节点。
可选的,所述设定阈值具体为2跳的通信距离。
可选的,所述第二规则具体为:
若在所述第一局域拓扑图中所述当前节点的第2跳骨干邻居节点,在所述第二局域拓扑图中为所述当前节点的第1跳骨干邻居节点,且在所述第一局域拓扑图中所述当前节点与所述第2跳骨干邻居节点没有共同的1跳骨干邻居节点,且所述当前节点的编号小于所述第2跳骨干邻居节点的编号,则所述当前节点按网关选择算法从所述当前节点与所述第2跳骨干邻居节点共有的1跳邻居节点中选举一个节点作为骨干节点,并更新所述当前节点及对应的邻居节点的基本信息;其中,所述基本信息包括各节点的节点类型,及所述当前节点的邻居节点。
可选的,所述第三规则具体为:
在所述第一局域拓扑图中,将所述当前节点的当前节点类型假设为普通节点后,若所述维护后的子虚拟骨干网仍然连通,且不改变所述第一局域拓扑图中的普通节点到子虚拟骨干网的最小通信距离,若所述当前节点的编号为所述第一局域拓扑图中的最小编号,则将所述当前节点的当前节点类型更新为普通节点,并更新所述当前节点及对应的邻居节点的基本信息;若所述当前节点的编号非所述第一局域拓扑图中的最小编号,则更新所述当前节点对应的邻居节点的基本信息;其中,所述基本信息包括各节点的节点类型,及所述当前节点的邻居节点。
第二方面,本发明实施例提供了一种用于维护虚拟骨干网的装置,应用于移动自组织网络中的每个节点,该装置包括:
接收单元,用于当所述移动自组织网络完成虚拟骨干网的选举后,使所述移动自组织网络中的节点被分为连通的骨干节点和距离骨干节点1跳的普通节点,且所述每个节点周期性的接收所述移动自组织网络中其它节点的广播消息;其中,所述广播消息中携带所述其它节点的邻居节点的节点类型;
构建单元,用于基于当前周期的当前广播消息,构建当前节点的第一局域拓扑图;其中,所述第一局域拓扑图包括至少两个节点,所述至少两个节点是以所述当前节点为中心,并且与所述当前节点之间的最小通信距离不大于2跳;
维护单元,用于当所述第一局域拓扑图,相较于所述当前节点在所述当前周期的前一周期的第二局域拓扑图发生变化时,根据所述当前节点的当前节点类型对在所述第一局域拓扑图所对应部分的子虚拟骨干网进行维护。
可选的,所述维护单元具体用于:
若所述当前节点类型为普通节点,所述第一局域拓扑图相较于所述第二局域拓扑图发生变化是由所述当前节点发生移动引起的,则按第一规则对所述子虚拟骨干网进行维护,使所述当前节点与维护后的子虚拟骨干网的通信距离保持在设定阈值内;
若所述当前节点类型为骨干节点,则按第二规则对所述子虚拟骨干网进行维护,使维护后的子虚拟骨干网连通;并使用第三规则对所述维护后的子虚拟骨干网进行再维护,使得所述当前节点为冗余的骨干节点时,将所述当前节点的节点类型更新为普通节点;其中,所述冗余的骨干节点为从所述子虚拟骨干网中去除后,所述子虚拟骨干网仍能保持连通的节点。
可选的,所述第一规则具体为:
当所述当前节点在所述第一局域拓扑图中的2跳邻居节点中,存在至少一个骨干节点,则所述当前节点的当前节点类型保持不变;其中,所述2跳邻居节点为与所述当前节点的最小通信距离为1跳或2跳的节点;
当所述当前节点在所述第一局域拓扑图中的2跳邻居节点中不存在骨干节点,但所述当前节点的第3跳邻居节点中存在至少一个骨干节点,则按网关选择算法将所述当前节点到对应的任一个第3跳骨干邻居节点之间的节点选举为骨干节点,并更新所述当前节点及对应的邻居节点的基本信息;其中,所述第3跳邻居节点为与所述当前节点的最小通信距离为3跳的节点,所述第3跳骨干邻居节点为所述第3跳邻居节点中的骨干节点,所述基本信息包括各节点的节点类型,及所述当前节点的邻居节点。
可选的,所述设定阈值具体为2跳的通信距离。
可选的,所述第二规则具体为:
若在所述第一局域拓扑图中所述当前节点的第2跳骨干邻居节点,在所述第二局域拓扑图中为所述当前节点的第1跳骨干邻居节点,且在所述第一局域拓扑图中所述当前节点与所述第2跳骨干邻居节点没有共同的1跳骨干邻居节点,且所述当前节点的编号小于所述第2跳骨干邻居节点的编号,则所述当前节点按网关选择算法从所述当前节点与所述第2跳骨干邻居节点共有的1跳邻居节点中选举一个节点作为骨干节点,并更新所述当前节点及对应的邻居节点的基本信息;其中,所述基本信息包括各节点的节点类型,及所述当前节点的邻居节点。
可选的,所述第三规则具体为:
在所述第一局域拓扑图中,将所述当前节点的当前节点类型假设为普通节点后,若所述维护后的子虚拟骨干网仍然连通,且不改变所述第一局域拓扑图中的普通节点到子虚拟骨干网的最小通信距离,且所述当前节点的编号为所述第一局域拓扑图中的最小编号,则将所述当前节点的当前节点类型更新为普通节点,并更新所述当前节点及对应的邻居节点的基本信息;若所述当前节点的编号非所述第一局域拓扑图中的最小编号,则更新所述当前节点对应的邻居节点的基本信息;其中,所述基本信息包括各节点的节点类型,及所述当前节点的邻居节点。
第三方面,本发明实施例还提供一种维护虚拟骨干网的装置,应用于移动自组织网络中的每个节点,该装置包括:处理器、存储器和收发机;
其中,处理器,用于读取存储器中的程序并执行下列过程:
当所述移动自组织网络完成虚拟骨干网的选举后,使所述移动自组织网络中的节点被分为连通的骨干节点和距离骨干节点1跳的普通节点,且所述每个节点周期性的接收所述移动自组织网络中其它节点的广播消息;其中,所述广播消息中携带所述其它节点的邻居节点的节点类型;
基于当前周期的当前广播消息,构建当前节点的第一局域拓扑图;其中,所述第一局域拓扑图包括至少两个节点,所述至少两个节点是以所述当前节点为中心,并且与所述当前节点之间的最小通信距离不大于2跳;
当所述第一局域拓扑图,相较于所述当前节点在所述当前周期的前一周期的第二局域拓扑图发生变化时,根据所述当前节点的当前节点类型对在所述第一局域拓扑图所对应部分的子虚拟骨干网进行维护。
可选的,所述处理器具体用于:
若所述当前节点类型为普通节点,所述第一局域拓扑图相较于所述第二局域拓扑图发生变化是由所述当前节点发生移动引起的,则按第一规则对所述子虚拟骨干网进行维护,使所述当前节点与维护后的子虚拟骨干网的通信距离保持在设定阈值内;
若所述当前节点类型为骨干节点,则按第二规则对所述子虚拟骨干网进行维护,使维护后的子虚拟骨干网连通;并使用第三规则对所述维护后的子虚拟骨干网进行再维护,使得所述当前节点为冗余的骨干节点时,将所述当前节点的节点类型更新为普通节点;其中,所述冗余的骨干节点为从所述子虚拟骨干网中去除后,所述子虚拟骨干网仍能保持连通的节点。
可选的,所述第一规则具体为:
当所述当前节点在所述第一局域拓扑图中的2跳邻居节点中,存在至少一个骨干节点,则所述当前节点的当前节点类型保持不变;其中,所述2跳邻居节点为与所述当前节点的最小通信距离为1跳或2跳的节点;
当所述当前节点在所述第一局域拓扑图中的2跳邻居节点中不存在骨干节点,但所述当前节点的第3跳邻居节点中存在至少一个骨干节点,则按网关选择算法将所述当前节点到对应的任一个第3跳骨干邻居节点之间的节点选举为骨干节点,并更新所述当前节点及对应的邻居节点的基本信息;其中,所述第3跳邻居节点为与所述当前节点的最小通信距离为3跳的节点,所述第3跳骨干邻居节点为所述第3跳邻居节点中的骨干节点,所述基本信息包括各节点的节点类型,及所述当前节点的邻居节点。
可选的,所述设定阈值具体为2跳的通信距离。
可选的,所述第二规则具体为:
若在所述第一局域拓扑图中所述当前节点的第2跳骨干邻居节点,在所述第二局域拓扑图中为所述当前节点的第1跳骨干邻居节点,且在所述第一局域拓扑图中所述当前节点与所述第2跳骨干邻居节点没有共同的1跳骨干邻居节点,且所述当前节点的编号小于所述第2跳骨干邻居节点的编号,则所述当前节点按网关选择算法从所述当前节点与所述第2跳骨干邻居节点共有的1跳邻居节点中选举一个节点作为骨干节点,并更新所述当前节点及对应的邻居节点的基本信息;其中,所述基本信息包括各节点的节点类型,及所述当前节点的邻居节点。
可选的,所述第三规则具体为:
在所述第一局域拓扑图中,将所述当前节点的当前节点类型假设为普通节点后,若所述维护后的子虚拟骨干网仍然连通,其不改变所述第一局域拓扑图中的普通节点到子虚拟骨干网的最小通信距离,且所述当前节点的编号为所述第一局域拓扑图中的最小编号,则将所述当前节点的当前节点类型更新为普通节点,并更新所述当前节点及对应的邻居节点的基本信息;若所述当前节点的编号非所述第一局域拓扑图中的最小编号,则更新所述当前节点对应的邻居节点的基本信息;其中,所述基本信息包括各节点的节点类型,及所述当前节点的邻居节点。
第四方面,本发明实施例还提供一种计算机可读存储介质,包括:
所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如上述第一方面所述的方法。
通过本发明实施例的上述一个或多个实施例中的技术方案,本发明实施例至少具有如下技术效果:
在本发明提供的实施例中,通过在移动自组织网络完成虚拟骨干网的选举后,使移动自组织网络中的节点被分为连通的骨干节点和距离骨干节点1跳的普通节点,且每个节点周期性的接收移动自组织网络中其它节点的广播消息;其中,广播消息中携带其它节点的邻居节点的节点类型;使得每个节点都可以及时掌握移动自组织网络中所有节点的节点类型变化情况;再通过基于当前周期的当前广播消息中的基点类型变化情况,构建当前节点的第一局域拓扑图;当第一局域拓扑图,相较于当前节点在当前周期的前一周期的第二局域拓扑图发生变化时,根据当前节点的当前节点类型对在第一局域拓扑图所对应部分的子虚拟骨干网进行维护;其中,第一局域拓扑图包括至少两个节点,该至少两个节点是以当前节点为中心,并且与当前节点之间的最小通信距离不大于2跳;从而在对移动自组网络的虚拟骨干网进行维护时只需对节点类型发生变化的部分虚拟骨干网进行维护,而不必像现有技术中需要在每个周期重新选举移动自组织网络的虚拟骨干网,从而减少了虚拟骨干网的维护范围、提高了其稳定性。
附图说明
图1为本发明实施例提供的一种维护虚拟骨干网方法的流程图;
图2为本发明实施例提供的移动自组织网络在前一周期的虚拟骨干网的拓扑图一;
图3为本发明实施例提供的当前节点6在前一周期的第二局域拓扑图;
图4为本发明实施例提供的移动自组织网络在当前周期的虚拟骨干网的拓扑图一;
图5为本发明实施例提供的当前节点6在当前周期的第一局域拓扑图;
图6为本发明实施例提供的移动自组织网络在前一周期的虚拟骨干网的拓扑图二;
图7为本发明实施例提供的移动自组织网络在当前周期的虚拟骨干网的拓扑图二;
图8为本发明实施例提供的对当前节点1的第一局域拓扑图中的子虚拟骨干网进行维护的示意图;
图9为本发明实施例提供的移动自组织网络在前一周期的虚拟骨干网的拓扑图三;
图10为本发明实施例提供的移动自组织网络在当前周期的虚拟骨干网的拓扑图四;
图11为本发明实施例提供的对当前节点2的第一局域拓扑图中的子虚拟骨干网进行维护的示意图;
图12为本发明实施例提供的移动自组织网络在当前周期的虚拟骨干网的拓扑图五;
图13为本发明实施例提供的对当前节点1的第一局域拓扑图中的子虚拟骨干网进行维护的示意图;
图14为本发明实施例提供的16节点移动自组织网络的拓扑图;
图15为本发明实施例提供的t1时刻的16节点移动自组织网络的拓扑图;
图16为本发明实施例提供的t2时刻的16节点移动自组织网络的拓扑图;
图17为本发明实施例提供的另一t1时刻16节点移动自组织网络的拓扑图;
图18为本发明实施例提供的16节点移动自组织网络中当前节点2对其第一局域拓扑图中子虚拟骨干网进行维护的示意图;
图19为本发明实施例提供的16节点移动自组织网络经各个节点维护后的示意图;
图20为本发明实施例提供的一种维护虚拟骨干网装置的结构示意图;
图21为本发明实施例提供的另一种维护虚拟骨干网装置的结构示意图。
具体实施方式
本发明实施列提供一种维护虚拟骨干网的方法、装置及存储介质,以解决现有技术中存在的移动自组网络中虚拟骨干网的稳定性不高的技术问题。
本申请实施例中的技术方案为解决上述的技术问题,总体思路如下:
提供一种维护虚拟骨干网的方法,应用于移动自组织网络中的每个节点,包括:当移动自组织网络完成虚拟骨干网的选举后,使移动自组织网络中的节点被分为连通的骨干节点和距离骨干节点1跳的普通节点,且每个节点周期性的接收移动自组织网络中其它节点的广播消息;其中,广播消息中携带其它节点的邻居节点的节点类型;基于当前周期的当前广播消息,构建当前节点的第一局域拓扑图;其中,第一局域拓扑图包括至少两个节点,该至少两个节点是以当前节点为中心,并且与当前节点之间的最小通信距离不大于2跳;当第一局域拓扑图,相较于当前节点在当前周期的前一周期的第二局域拓扑图发生变化时,根据当前节点的当前节点类型对在第一局域拓扑图所对应部分的子虚拟骨干网进行维护。
为了是本领域的技术人员能够更好的理解本发明实施例提供的方案,在介绍本发明实施例提供的技术方案前,先对几个概念进行介绍;
无向图:设图G=<V,E>,V表示节点的集合,E表示边的集合。节点x和y之间存在边(x,y),则x和y是可以互相通信的一跳邻居节点。如果G为无自环的连通无向图且G中任意两个节点之间至多有一条边,则G称为简单无向图。
支配集和支配数:D是图G=<V,E>的一个节点子集,对于G的任一节点v,要么v属于D,要么与D中的一个节点相邻,则D称为图G的一个支配集。若在D集中去掉任何元素后D不再是支配集,则称D是极小支配集。称图G的所有支配集中节点个数最少的支配集为最小支配集,最小支配集中的节点个数称为图G的支配数。
连通支配集:D为图G的一个支配集,C为图中节点E的一个子集,如果CD=D∪C构成的节点子集在图G中是相互连通的,则称子集CD为连通支配集(Connected DominatingSet,CDS)。
连通度:一个节点的一跳邻居节点的数目称为该节点的连通度。
网关:分簇网络中实现簇间数据传输的节点称为网关。
在本发明提供的实施例中,新增加的概念包括:
网络支配集:网络支配集定义为网络中所有簇首和网关组成的集合,虚拟骨干网即为一个网络支配集。
由于在上述内容中,通过在移动自组织网络完成虚拟骨干网的选举后,使移动自组织网络中的节点被分为连通的骨干节点和距离骨干节点1跳的普通节点,且每个节点周期性的接收移动自组织网络中其它节点的广播消息;其中,广播消息中携带其它节点的邻居节点的节点类型;使得每个节点都可以及时掌握移动自组织网络中所有节点的节点类型变化情况;再通过基于当前周期的当前广播消息中的基点类型变化情况,构建当前节点的第一局域拓扑图;当第一局域拓扑图,相较于当前节点在当前周期的前一周期的第二局域拓扑图发生变化时,根据当前节点的当前节点类型对在第一局域拓扑图所对应部分的子虚拟骨干网进行维护;其中,第一局域拓扑图包括至少两个节点,该至少两个节点是以当前节点为中心,并且与当前节点之间的最小通信距离不大于2跳;从而在对移动自组网络的虚拟骨干网进行维护时只需对节点类型发生变化的部分虚拟骨干网进行维护,而不必像现有技术中需要在每个周期重新选举移动自组织网络的虚拟骨干网,从而减少了虚拟骨干网的维护范围、提高了虚拟骨干网的稳定性。
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
请参考图1,本发明实施例提供一种维护虚拟骨干网的方法,应用于移动自组织网络中的每个节点,该方法的处理过程如下。
步骤101:当移动自组织网络完成虚拟骨干网的选举后,使移动自组织网络中的节点被分为连通的骨干节点和距离骨干节点1跳的普通节点,且每个节点周期性的接收移动自组织网络中其它节点的广播消息;其中,广播消息中携带其它节点的邻居节点的节点类型。
在移动自组织网络完成虚拟骨干网的选举后,可以使移动自组织网络中的节点被分为连通的骨干节点和距离骨干节点1跳的普通节点,并且完成选举后的移动自组织网络中的每个节点都会周期性的向其它节点发送广播消息,同时也会周期性的接收其它节点发送的广播消息,这样可以使移动自组织网络中的每个节点通过广播消息更新自身及邻居节点的节点类型,为维护移动自组织网络的虚拟骨干网提供最新的数据。其中,节点类型包括普通节点、骨干接点,骨干节点为组成虚拟骨干网的节点,普通节点为移动自组织网络中除骨干节点之外的节点。
需要说明的是,广播消息中除了携带邻居节点的节点类型之外,还携带了发送广播消息的节点自身的节点类型,以及其邻居节点的数量等。
在移动自组织网络中的每个节点接收到其它节点的广播消息之后,便可执行步骤102。
步骤102:基于当前周期的当前广播消息,构建当前节点的第一局域拓扑图;其中,第一局域拓扑图包括至少两个节点,该至少两个节点是以当前节点为中心,并且与当前节点之间的最小通信距离不大于2跳。
以移动自组织网络中的当前节点为例,在当前周期,当前节点根据接收到的其它节点的广播消息(即当前广播消息)中各节点的节点类型,便根据接收到的广播消息确定当前节点的邻居节点及对应的节点类型,然后根据当前节点的节点类型及新确定的邻居节点的节点类型,构建以当前节点为中心的2跳通信距离范围内的第一局域拓扑图。
需要说明的是,由于移动自组织网络中的节点具有可移动性,所以当前节点在接收到其它节点的广播消息后,需要判断是否有因节点移动而使当前节点的邻居节点发生了变化,以得到当前节点新确定的邻居节点。
在得到当前节点在当前周期的第一局域拓扑图之后,便可执行步骤103。
步骤103:当第一局域拓扑图,相较于当前节点在当前周期的前一周期的第二局域拓扑图发生变化时,根据当前节点的当前节点类型对在第一局域拓扑图所对应部分的子虚拟骨干网进行维护。
在得到当前节点的第一局域拓扑图之后,可以通过比较当前周期的第一局域拓扑图与当前节点在前一周期的第二局域拓扑图是否相同,来确定第一局域拓扑图相交于第二局域拓扑图是否发生了变化,如果发生了变化则能确定在当前周期中当前节点或当前节点的邻居节点是否发生了移动,此时就需要对第一局域拓扑图所对应部分的子虚拟骨干网进行维护。
需要说明的是,在移动自组织网络的虚拟骨干网中,位于当前节点的第一局域拓扑图中的部分虚拟骨干网,在本发明实施例中被称之为子虚拟骨干网。第二局域拓扑图的构建方式与第一局域拓扑图的构建方式相同,在移动自组织网络中,其它节点的局域拓扑图的构建方式与当前节点的第一局域拓扑的构建方式也相同,可以此类推,故在此不再赘述。
具体的,当前节点根据其节点类型的不同可以分2种情况,对第一局域拓扑图所对应部分的子虚拟骨干网进行维护:
第一种情况,若当前节点的节点类型为普通节点,且第一局域拓扑图相较于第二局域拓扑图发生变化是由当前节点发生移动引起的,则按第一规则对子虚拟骨干网进行维护,使当前节点与维护后的子虚拟骨干网的通信距离保持在设定阈值内。
第一规则具体为:若当前节点在第一局域拓扑图中的2跳邻居节点中,存在至少一个骨干节点,则当前节点的当前节点类型保持不变;其中,2跳邻居节点为与当前节点的最小通信距离为1跳或2跳的节点。
或者,若当前节点在第一局域拓扑图中的2跳邻居节点中不存在骨干节点,但当前节点的第3跳邻居节点中存在至少一个骨干节点,则按网关选择算法将当前节点到对应的任一个第3跳骨干邻居节点之间的节点选举为骨干节点,并更新当前节点及对应的邻居节点的基本信息;其中,第3跳邻居节点为与当前节点的最小通信距离为3跳的节点,第3跳骨干邻居节点为第3跳邻居节点中的骨干节点,基本信息包括各节点的节点类型,及当前节点的邻居节点。
具体的,设定阈值具体为2跳的通信距离。
例如,请参见图2为移动自组织网络在前一周期的虚拟骨干网的拓扑图一,图3为当前节点6在前一周期的第二局域拓扑图,在当前周期当前节点6从图2中的位置移动到图4中的位置,其中,图4为移动自组织网络在当前周期的虚拟骨干网的拓扑图一,图5为当前节点6在当前周期的第一局域拓扑图。在发明实施例提供的各图中,以黑色实心圆代表虚拟骨干网中的骨干节点,以白色空心圆代表移动自组织网络中的普通节点,后续不再赘述。
通过比较第一局域拓扑图与第二局域拓扑图,可以知道当前节点6发生了移动,并且当前节点知道其在第二局域拓扑图中为普通节点,并且当前节点6具有2个第2跳邻居节点,且这2个第2跳邻居节点均为骨干接点,所以根据第一规则可知当前节点6的节点类型可以维持不变。这样可以让移动自组织网络中的普通节点,在距离虚拟骨干网1跳到2跳的通信距离移动时,既能确保普通节点在虚拟骨干网可快速搜寻到的范围内,又能减少了维护虚拟骨干网的频次。
又如,前一周期(图6)中的当前节点1移动到当前周期(图5)中的当前节点1所在的位置,其中,图6为移动自组织网络在前一周期的虚拟骨干网的拓扑图二,图7为移动自组织网络在当前周期的虚拟骨干网的拓扑图二,图6和图7中虚线内的部分为当前节点1在对应周期内的局域拓扑图。
由于当前节点1的移动,使得当前节点1从前一周期中的位置变动到当前周期中的位置,进而造成当前节点1的2跳邻居节点中不存在骨干接点,这时需要进一步查询当前节点1的3条邻居节点中是否存在骨干接点,查询的结果为当前节点1的3跳邻居节点中存在骨干接点为第3跳骨干接点3,此时按照第一规则,将当前节点1与第3跳骨干接点3之间的普通节点6、15选举为骨干节点,并更新当前节点1及其邻居节点6、15的节点类型,完成对子虚拟骨干网的维护,图8为对当前节点1的第一局域拓扑图中的子虚拟骨干网进行维护的示意图。
前面介绍了当前节点为普通节点时(即第一种情况),对虚拟骨干网的维护方式,下面将介绍当前节点为骨干节点时(即第二种情况),对虚拟骨干网的维护方式。
第二种情况,若当前节点类型为骨干节点,则按第二规则对子虚拟骨干网进行维护,使维护后的子虚拟骨干网连通;并使用第三规则对维护后的子虚拟骨干网进行再维护,使得当前节点为冗余的骨干节点时,将当前节点的节点类型更新为普通节点;其中,冗余的骨干节点为从子虚拟骨干网中去除后,子虚拟骨干网仍能保持连通的节点。
具体的,第二规则为:
若在第一局域拓扑图中当前节点的第2跳骨干邻居节点,在第二局域拓扑图中为当前节点的第1跳骨干邻居节点,且在第一局域拓扑图中当前节点与第2跳骨干邻居节点没有共同的1跳骨干邻居节点,且当前节点的编号小于第2跳骨干邻居节点的编号,则当前节点按网关选择算法从当前节点与第2跳骨干邻居节点共有的1跳邻居节点中选举一个节点作为骨干节点,并更新当前节点及对应的邻居节点的基本信息;其中,基本信息包括各节点的节点类型,及当前节点的邻居节点。
例如,前一周期(图9)中的当前节点2移动到当前周期(图10)中的当前节点2所在的位置,其中,图9为移动自组织网络在前一周期的虚拟骨干网的拓扑图三,图10为移动自组织网络在当前周期的虚拟骨干网的拓扑图四,图8和图9中虚线框内的部分为当前节点2在对应周期内的局域拓扑图。
由于当前节点2的移动,使得当前节点2从前一周期中的位置变动到当前周期中的位置,进而造成当前节点2的在前一周期中的第1跳骨干邻居节点5,在当前周期中变为当前节点2的第2跳骨干邻居节点5,而在当前周期中对应的第一局域拓扑图(图10中虚线框内所示部分)中当前节点2与其第2跳骨干邻居节点5并没有共同的1跳骨干邻居节点,且当前节点2的编号小于其第2跳骨干邻居节点5的编号,所以当前节点根据第二规则按网关选择算法将当前节点2与其第2跳骨干邻居节点5共有的1条邻居节点4选举为骨干接点,并更新当前节点2及对应的邻居节点(4、5、8)的基础信息,该基础信息包括当前节点2为骨干接点,共有3个邻居节点,3个邻居节点为1跳普通邻居节点8、1跳骨干邻居节点4、2跳骨干邻居节点5,进而完成对子虚拟骨干网的维护,图11为对当前节点2的第一局域拓扑图中的子虚拟骨干网进行维护的示意图。
具体的,第三规则为:
在第一局域拓扑图中,将当前节点的当前节点类型假设为普通节点后,若维护后的子虚拟骨干网仍然连通,且不改变第一局域拓扑图中的普通节点到子虚拟骨干网的最小通信距离,且当前节点的编号为第一局域拓扑图中的最小编号,则将当前节点的当前节点类型更新为普通节点,并更新当前节点及对应的邻居节点的基本信息;若所述当前节点的编号非所述第一局域拓扑图中的最小编号,则更新所述当前节点对应的邻居节点的基本信息;其中,基本信息包括各节点的节点类型,及当前节点的邻居节点。
例如,前一周期(图3)中的节点7移动到当前周期(图12)中的节点7所在的位置,其中,图12为移动自组织网络在当前周期的虚拟骨干网的拓扑图五,图12中虚线框内的部分为当前节点1在对应周期内的局域拓扑图。
在当前周期中,当前节点1的第一局域拓扑图如图12中虚线框内的部分所示,由于当前节点1为骨干接点,此时将当前节点1的当前节点类型假设为普通节点后,若维护后的子虚拟骨干网(如图13所示)仍然连通、且与第一局域拓扑图中的普通节点的最小通信距离保持不变,若当前节点1的编号为第一局域拓扑图中的最小编号,则确定当前节点1为冗余的骨干节点,将当前节点1的当前节点的节点类型更新为普通节点,并更新当前节点1及对应的邻居节点(15、3、7、5、4、2)的基础信息,该基础信息包括当前节点1为普通接点,共有6个邻居节点,6个邻居节点为1跳骨干邻居节点(3、5、7)、2跳骨干邻居节点2、2跳普通邻居节点(5、15),进而完成对子虚拟骨干网的维护,图13为对当前节点1的第一局域拓扑图中的子虚拟骨干网进行维护的示意图。若当前节点1的编号非第一局域拓扑图中的最小编号,则只需更新当前节点1对应的邻居节点的基本信息。
需要说明的是,对于当前节点为骨干节点的节点,不以其是否发生移动来决定其是否使用上述第二规则、第三规则对虚拟骨干网进行维护。
为了使本领域的技术人员能够充分的理解上述方案,下面将提供一个更为具体的例子进行说明。
请参见图14,为由16个节点组成的16节点移动自组织网络的拓扑图(节点1~16),图中以黑色实心圆代表骨干节点,白色实心圆代表普通节点。
在t1时刻普通节点13由图14中所示的位置移动到了图15所示的位置,图15为t1时刻的16节点移动自组织网络的拓扑图,图15虚线框内的部分为t1时刻当前节点13的域拓扑图;在t2时刻当前节点13继续移动,并移动到了图16所示的位置,图16为t2时刻的16节点移动自组织网络的拓扑图,图16虚线框内的部分为t2时刻当前节点13的域拓扑图。
由于当前节点13从图14中的位置移动到图15中的位置,再移动到图16中的位置的过程中,当前节点13的2跳邻居节点中始终存在骨干节点,所以根据第一规则,当前节点13的节点类型维持不变,即不需对虚拟骨干网进行维护。
假设,图14中的骨干节点10,在t1时刻移动到图17所示的位置,图17为另一t1时刻16节点移动自组织网络的拓扑图。
若当前节点为节点7,由于骨干节点10仍然是当前节点7的1跳邻居节点,但是骨干节点2和骨干16已经超出当前节点7的2跳的通信范围,因此,根据第二规则,当前节点7维持其节点类型不变,只需更新其邻居节点的信息。
若当前节点为节点3,由于骨干节点10仍然是当前节点3的1跳邻居节点,但是因为节点10的移动,骨干节点2和骨干节点3之间变为没有骨干节点连通的2跳骨干邻居节点,因此,根据第二规则,需要由节点2对虚拟骨干网进行维护;当前节点3更新对应的邻居节点的基本信息即可。
若当前节点为节点2,骨干节点10由当前节点2的1跳骨干邻居节点变为其2跳骨干邻居节点,同时,骨干节点3和骨干节点16也因为节点10的移动变为与当前节点2没有骨干节点连通的2跳邻居节点,因此,根据第二规则,当前节点2选举节点5为骨干接点,以连接骨干节点3和骨干接点10,同时,还选举节点1为骨干接点,以连接骨干接点16,请参见图18,为16节点移动自组织网络中当前节点2对其第一局域拓扑图中子虚拟骨干网进行维护的示意图。
在节点2对虚拟骨干网进行维护后,若当前节点为节点14,在当前节点14的第一局域拓扑图中,将当前节点14的当前节点类型假设为普通节点后,此时当前节点14在第一局域拓扑图中的子虚拟骨干网仍然连通,并与第一局域拓扑图中的普通节点保持1跳的通信距离,则将当前节点14的当前节点类型更新为普通节点,并更新当前节点14及对应的邻居节点的基本信息,完成对虚拟骨干网的维护。请参见图19为16节点移动自组织网络经各个节点维护后的示意图。
基于同一发明构思,本发明一实施例中提供一种用于维护虚拟骨干网的装置,该装置的维护虚拟骨干网方法的具体实施方式可参见方法实施例部分的描述,重复之处不再赘述,请参见图20,该装置包括:
接收单元2001,用于当所述移动自组织网络完成虚拟骨干网的选举后,使所述移动自组织网络中的节点被分为连通的骨干节点和距离骨干节点1跳的普通节点,且所述每个节点周期性的接收所述移动自组织网络中其它节点的广播消息;其中,所述广播消息中携带所述其它节点的邻居节点的节点类型;
构建单元2002,用于基于当前周期的当前广播消息,构建当前节点的第一局域拓扑图;其中,所述第一局域拓扑图包括至少两个节点,所述至少两个节点是以所述当前节点为中心,并且与所述当前节点之间的最小通信距离不大于2跳;
维护单元2003,用于当所述第一局域拓扑图,相较于所述当前节点在所述当前周期的前一周期的第二局域拓扑图发生变化时,根据所述当前节点的当前节点类型对在所述第一局域拓扑图所对应部分的子虚拟骨干网进行维护。
可选的,所述维护单元2003具体用于:
若所述当前节点类型为普通节点,所述第一局域拓扑图相较于所述第二局域拓扑图发生变化是由所述当前节点发生移动引起的,则按第一规则对所述子虚拟骨干网进行维护,使所述当前节点与维护后的子虚拟骨干网的通信距离保持在设定阈值内;
若所述当前节点类型为骨干节点,则按第二规则对所述子虚拟骨干网进行维护,使维护后的子虚拟骨干网连通;并使用第三规则对所述维护后的子虚拟骨干网进行再维护,使得所述当前节点为冗余的骨干节点时,将所述当前节点的节点类型更新为普通节点;其中,所述冗余的骨干节点为从所述子虚拟骨干网中去除后,所述子虚拟骨干网仍能保持连通的节点。
可选的,所述第一规则具体为:
当所述当前节点在所述第一局域拓扑图中的2跳邻居节点中,存在至少一个骨干节点,则所述当前节点的当前节点类型保持不变;其中,所述2跳邻居节点为与所述当前节点的最小通信距离为1跳或2跳的节点;
当所述当前节点在所述第一局域拓扑图中的2跳邻居节点中不存在骨干节点,但所述当前节点的第3跳邻居节点中存在至少一个骨干节点,则按网关选择算法将所述当前节点到对应的任一个第3跳骨干邻居节点之间的节点选举为骨干节点,并更新所述当前节点及对应的邻居节点的基本信息;其中,所述第3跳邻居节点为与所述当前节点的最小通信距离为3跳的节点,所述第3跳骨干邻居节点为所述第3跳邻居节点中的骨干节点,所述基本信息包括各节点的节点类型,及所述当前节点的邻居节点。
可选的,所述设定阈值具体为2跳的通信距离。
可选的,所述第二规则具体为:
若在所述第一局域拓扑图中所述当前节点的第2跳骨干邻居节点,在所述第二局域拓扑图中为所述当前节点的第1跳骨干邻居节点,且在所述第一局域拓扑图中所述当前节点与所述第2跳骨干邻居节点没有共同的1跳骨干邻居节点,且所述当前节点的编号小于所述第2跳骨干邻居节点的编号,则所述当前节点按网关选择算法从所述当前节点与所述第2跳骨干邻居节点共有的1跳邻居节点中选举一个节点作为骨干节点,并更新所述当前节点及对应的邻居节点的基本信息;其中,所述基本信息包括各节点的节点类型,及所述当前节点的邻居节点。
可选的,所述第三规则具体为:
在所述第一局域拓扑图中,将所述当前节点的当前节点类型假设为普通节点后,若所述维护后的子虚拟骨干网仍然连通,且不改变所述第一局域拓扑图中的普通节点到子虚拟骨干网的最小通信距离,且所述当前节点的编号为所述第一局域拓扑图中的最小编号,则将所述当前节点的当前节点类型更新为普通节点,并更新所述当前节点及对应的邻居节点的基本信息;其中,所述基本信息包括各节点的节点类型,及所述当前节点的邻居节点。
如图21所示,本发明实施例提供的一种维护虚拟骨干网的装置,应用于移动自组织网络中的每个节点,该装置包括:处理器2101、存储器2102和收发机2103;
其中,处理器2101,用于读取存储器2102中的程序并执行下列过程:
当所述移动自组织网络完成虚拟骨干网的选举后,使所述移动自组织网络中的节点被分为连通的骨干节点和距离骨干节点1跳的普通节点,且所述每个节点周期性的接收所述移动自组织网络中其它节点的广播消息;其中,所述广播消息中携带所述其它节点的邻居节点的节点类型;
基于当前周期的当前广播消息,构建当前节点的第一局域拓扑图;其中,所述第一局域拓扑图包括至少两个节点,所述至少两个节点是以所述当前节点为中心,并且与所述当前节点之间的最小通信距离不大于2跳;
当所述第一局域拓扑图,相较于所述当前节点在所述当前周期的前一周期的第二局域拓扑图发生变化时,根据所述当前节点的当前节点类型对在所述第一局域拓扑图所对应部分的子虚拟骨干网进行维护。
可选的,所述处理器2101具体用于:
若所述当前节点类型为普通节点,所述第一局域拓扑图相较于所述第二局域拓扑图发生变化是由所述当前节点发生移动引起的,则按第一规则对所述子虚拟骨干网进行维护,使所述当前节点与维护后的子虚拟骨干网的通信距离保持在设定阈值内;
若所述当前节点类型为骨干节点,则按第二规则对所述子虚拟骨干网进行维护,使维护后的子虚拟骨干网连通;并使用第三规则对所述维护后的子虚拟骨干网进行再维护,使得所述当前节点为冗余的骨干节点时,更新为普通节点;其中,所述冗余的骨干节点为从所述子虚拟骨干网中去除后,所述子虚拟骨干网仍能保持连通的节点。
可选的,所述第一规则具体为:
当所述当前节点在所述第一局域拓扑图中的2跳邻居节点中,存在至少一个骨干节点,则所述当前节点的当前节点类型保持不变;其中,所述2跳邻居节点为与所述当前节点的最小通信距离为1跳或2跳的节点;
当所述当前节点在所述第一局域拓扑图中的2跳邻居节点中不存在骨干节点,但所述当前节点的第3跳邻居节点中存在至少一个骨干节点,则按网关选择算法将所述当前节点到对应的任一个第3跳骨干邻居节点之间的节点选举为骨干节点,并更新所述当前节点及对应的邻居节点的基本信息;其中,所述第3跳邻居节点为与所述当前节点的最小通信距离为3跳的节点,所述第3跳骨干邻居节点为所述第3跳邻居节点中的骨干节点,所述基本信息包括各节点的节点类型,及所述当前节点的邻居节点。
可选的,所述设定阈值具体为2跳的通信距离。
可选的,所述第二规则具体为:
若在所述第一局域拓扑图中所述当前节点的第2跳骨干邻居节点,在所述第二局域拓扑图中为所述当前节点的第1跳骨干邻居节点,且在所述第一局域拓扑图中所述当前节点与所述第2跳骨干邻居节点没有共同的1跳骨干邻居节点,且所述当前节点的编号小于所述第2跳骨干邻居节点的编号,则所述当前节点按网关选择算法从所述当前节点与所述第2跳骨干邻居节点共有的1跳邻居节点中选举一个节点作为骨干节点,并更新所述当前节点及对应的邻居节点的基本信息;其中,所述基本信息包括各节点的节点类型,及所述当前节点的邻居节点。
可选的,所述第三规则具体为:
在所述第一局域拓扑图中,将所述当前节点的当前节点类型假设为普通节点后,若所述维护后的子虚拟骨干网仍然连通,且不改变所述第一局域拓扑图中的普通节点到子虚拟骨干网的最小通信距离,且所述当前节点的编号为所述第一局域拓扑图中的最小编号,则将所述当前节点的当前节点类型更新为普通节点,并更新所述当前节点及对应的邻居节点的基本信息;若所述当前节点的编号非所述第一局域拓扑图中的最小编号,则更新所述当前节点对应的邻居节点的基本信息;其中,所述基本信息包括各节点的节点类型,及所述当前节点的邻居节点。
处理器2101负责管理总线架构和通常的处理,存储器2102可以存储处理器2101在执行操作时所使用的数据。收发机2103用于在处理器2101的控制下接收和发送数据。
总线架构可以包括任意数量的互联的总线和桥,具体由处理器2101代表的一个或多个处理器2101和存储器2102代表的存储器2102的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。处理器2101负责管理总线架构和通常的处理,存储器2102可以存储处理器2101在执行操作时所使用的数据。
本发明实施例揭示的流程,可以应用于处理器2101中,或者由处理器2101实现。在实现过程中,信号处理流程的各步骤可以通过处理器2101中的硬件的集成逻辑电路或者软件形式的指令完成。处理器2101可以是通用处理器2101、数字信号处理器2101、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器2101可以是微处理器2101或者任何常规的处理器2101等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器2101执行完成,或者用处理器2101中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器2102,闪存、只读存储器2102,可编程只读存储器2102或者电可擦写可编程存储器2102、寄存器等本领域成熟的存储介质中。该存储介质位于存储器2102,处理器2101读取存储器2102中的信息,结合其硬件完成信号处理流程的步骤。
基于同一发明构思,本发明实施例还提一种计算机可读存储介质,包括:
所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如上所述的维护虚拟骨干网方法。
在本发明提供的实施例中,通过在移动自组织网络完成虚拟骨干网的选举后,使移动自组织网络中的节点被分为连通的骨干节点和距离骨干节点1跳的普通节点,且每个节点周期性的接收移动自组织网络中其它节点的广播消息;其中,广播消息中携带其它节点的邻居节点的节点类型;使得每个节点都可以及时掌握移动自组织网络中所有节点的节点类型变化情况;再通过基于当前周期的当前广播消息中的基点类型变化情况,构建当前节点的第一局域拓扑图;当第一局域拓扑图,相较于当前节点在当前周期的前一周期的第二局域拓扑图发生变化时,根据当前节点的当前节点类型对在第一局域拓扑图所对应部分的子虚拟骨干网进行维护;其中,第一局域拓扑图包括至少两个节点,该至少两个节点是以当前节点为中心,并且与当前节点之间的最小通信距离不大于2跳;从而在对移动自组网络的虚拟骨干网进行维护时只需对节点类型发生变化的部分虚拟骨干网进行维护,而不必像现有技术中需要在每个周期重新选举移动自组织网络的虚拟骨干网,从而减少了虚拟骨干网的维护范围、提高了其稳定性。
本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (14)
1.一种维护虚拟骨干网的方法,应用于移动自组织网络中的每个节点,其特征在于,包括:
当所述移动自组织网络完成虚拟骨干网的选举后,使所述移动自组织网络中的节点被分为连通的骨干节点和距离骨干节点1跳的普通节点,且所述每个节点周期性的接收所述移动自组织网络中其它节点的广播消息;其中,所述广播消息中携带所述其它节点的邻居节点的节点类型;
基于当前周期的当前广播消息,构建当前节点的第一局域拓扑图;其中,所述第一局域拓扑图包括至少两个节点,所述至少两个节点是以所述当前节点为中心,并且与所述当前节点之间的最小通信距离不大于2跳;
当所述第一局域拓扑图,相较于所述当前节点在所述当前周期的前一周期的第二局域拓扑图发生变化时,根据所述当前节点的当前节点类型对在所述第一局域拓扑图所对应部分的子虚拟骨干网进行维护。
2.如权利要求1所述的方法,其特征在于,根据所述当前节点的当前节点类型对在所述第一局域拓扑图所对应部分的子虚拟骨干网进行维护,包括:
若所述当前节点类型为普通节点,所述第一局域拓扑图相较于所述第二局域拓扑图发生变化是由所述当前节点发生移动引起的,则按第一规则对所述子虚拟骨干网进行维护,使所述当前节点与维护后的子虚拟骨干网的通信距离保持在设定阈值内;
若所述当前节点类型为骨干节点,则按第二规则对所述子虚拟骨干网进行维护,使维护后的子虚拟骨干网连通;并使用第三规则对所述维护后的子虚拟骨干网进行再维护,使得所述当前节点为冗余的骨干节点时,将所述当前节点的节点类型更新为普通节点;其中,所述冗余的骨干节点为从所述子虚拟骨干网中去除后,所述子虚拟骨干网仍能保持连通的节点。
3.如权利要求2所述的方法,其特征在于,所述第一规则具体为:
当所述当前节点在所述第一局域拓扑图中的2跳邻居节点中,存在至少一个骨干节点,则所述当前节点的当前节点类型保持不变;其中,所述2跳邻居节点为与所述当前节点的最小通信距离为1跳或2跳的节点;
当所述当前节点在所述第一局域拓扑图中的2跳邻居节点中不存在骨干节点,但所述当前节点的第3跳邻居节点中存在至少一个骨干节点,则按网关选择算法将所述当前节点到对应的任一个第3跳骨干邻居节点之间的节点选举为骨干节点,并更新所述当前节点及对应的邻居节点的基本信息;其中,所述第3跳邻居节点为与所述当前节点的最小通信距离为3跳的节点,所述第3跳骨干邻居节点为所述第3跳邻居节点中的骨干节点,所述基本信息包括各节点的节点类型,及所述当前节点的邻居节点。
4.如权利要求2或3所述的方法,其特征在于,所述设定阈值具体为2跳的通信距离。
5.如权利要求2所述的方法,其特征在于,所述第二规则具体为:
若在所述第一局域拓扑图中所述当前节点的第2跳骨干邻居节点,在所述第二局域拓扑图中为所述当前节点的第1跳骨干邻居节点,且在所述第一局域拓扑图中所述当前节点与所述第2跳骨干邻居节点没有共同的1跳骨干邻居节点,且所述当前节点的编号小于所述第2跳骨干邻居节点的编号,则所述当前节点按网关选择算法从所述当前节点与所述第2跳骨干邻居节点共有的1跳邻居节点中选举一个节点作为骨干节点,并更新所述当前节点及对应的邻居节点的基本信息;其中,所述基本信息包括各节点的节点类型,及所述当前节点的邻居节点。
6.如权利要求2或5所述的方法,其特征在于,所述第三规则具体为:
在所述第一局域拓扑图中,将所述当前节点的当前节点类型假设为普通节点后,若所述维护后的子虚拟骨干网仍然连通,且不改变所述第一局域拓扑图中的普通节点到子虚拟骨干网的最小通信距离,若所述当前节点的编号为所述第一局域拓扑图中的最小编号,则将所述当前节点的当前节点类型更新为普通节点,并更新所述当前节点及对应的邻居节点的基本信息;若所述当前节点的编号非所述第一局域拓扑图中的最小编号,则更新所述当前节点对应的邻居节点的基本信息;其中,所述基本信息包括各节点的节点类型,及所述当前节点的邻居节点。
7.一种维护虚拟骨干网的装置,应用于移动自组织网络中的每个节点,其特征在于,包括:
接收单元,用于当所述移动自组织网络完成虚拟骨干网的选举后,使所述移动自组织网络中的节点被分为连通的骨干节点和距离骨干节点1跳的普通节点,且所述每个节点周期性的接收所述移动自组织网络中其它节点的广播消息;其中,所述广播消息中携带所述其它节点的邻居节点的节点类型;
构建单元,用于基于当前周期的当前广播消息,构建当前节点的第一局域拓扑图;其中,所述第一局域拓扑图包括至少两个节点,所述至少两个节点是以所述当前节点为中心,并且与所述当前节点之间的最小通信距离不大于2跳;
维护单元,用于当所述第一局域拓扑图,相较于所述当前节点在所述当前周期的前一周期的第二局域拓扑图发生变化时,根据所述当前节点的当前节点类型对在所述第一局域拓扑图所对应部分的子虚拟骨干网进行维护。
8.一种维护虚拟骨干网的装置,应用于移动自组织网络中的每个节点,其特征在于,该装置包括:处理器、存储器和收发机;
其中,处理器,用于读取存储器中的程序并执行下列过程:
当所述移动自组织网络完成虚拟骨干网的选举后,使所述移动自组织网络中的节点被分为连通的骨干节点和距离骨干节点1跳的普通节点,且所述每个节点周期性的接收所述移动自组织网络中其它节点的广播消息;其中,所述广播消息中携带所述其它节点的邻居节点的节点类型;
基于当前周期的当前广播消息,构建当前节点的第一局域拓扑图;其中,所述第一局域拓扑图包括至少两个节点,所述至少两个节点是以所述当前节点为中心,并且与所述当前节点之间的最小通信距离不大于2跳;
当所述第一局域拓扑图,相较于所述当前节点在所述当前周期的前一周期的第二局域拓扑图发生变化时,根据所述当前节点的当前节点类型对在所述第一局域拓扑图所对应部分的子虚拟骨干网进行维护。
9.如权利要求8所述的装置,其特征在于,所述处理器具体用于:
若所述当前节点类型为普通节点,所述第一局域拓扑图相较于所述第二局域拓扑图发生变化是由所述当前节点发生移动引起的,则按第一规则对所述子虚拟骨干网进行维护,使所述当前节点与维护后的子虚拟骨干网的通信距离保持在设定阈值内;
若所述当前节点类型为骨干节点,则按第二规则对所述子虚拟骨干网进行维护,使维护后的子虚拟骨干网连通;并使用第三规则对所述维护后的子虚拟骨干网进行再维护,使得所述当前节点为冗余的骨干节点时,将所述当前节点的节点类型更新为普通节点;其中,所述冗余的骨干节点为从所述子虚拟骨干网中去除后,所述子虚拟骨干网仍能保持连通的节点。
10.如权利要求9所述的装置,其特征在于,所述第一规则具体为:
当所述当前节点在所述第一局域拓扑图中的2跳邻居节点中,存在至少一个骨干节点,则所述当前节点的当前节点类型保持不变;其中,所述2跳邻居节点为与所述当前节点的最小通信距离为1跳或2跳的节点;
当所述当前节点在所述第一局域拓扑图中的2跳邻居节点中不存在骨干节点,但所述当前节点的第3跳邻居节点中存在至少一个骨干节点,则按网关选择算法将所述当前节点到对应的任一个第3跳骨干邻居节点之间的节点选举为骨干节点,并更新所述当前节点及对应的邻居节点的基本信息;其中,所述第3跳邻居节点为与所述当前节点的最小通信距离为3跳的节点,所述第3跳骨干邻居节点为所述第3跳邻居节点中的骨干节点,所述基本信息包括各节点的节点类型,及所述当前节点的邻居节点。
11.如权利要求9或10所述的装置,其特征在于,所述设定阈值具体为2跳的通信距离。
12.如权利要求9所述的装置,其特征在于,所述第二规则具体为:
若在所述第一局域拓扑图中所述当前节点的第2跳骨干邻居节点,在所述第二局域拓扑图中为所述当前节点的第1跳骨干邻居节点,且在所述第一局域拓扑图中所述当前节点与所述第2跳骨干邻居节点没有共同的1跳骨干邻居节点,且所述当前节点的编号小于所述第2跳骨干邻居节点的编号,则所述当前节点按网关选择算法从所述当前节点与所述第2跳骨干邻居节点共有的1跳邻居节点中选举一个节点作为骨干节点,并更新所述当前节点及对应的邻居节点的基本信息;其中,所述基本信息包括各节点的节点类型,及所述当前节点的邻居节点。
13.如权利要求9或12所述的装置,其特征在于,所述第三规则具体为:
在所述第一局域拓扑图中,将所述当前节点的当前节点类型假设为普通节点后,若所述维护后的子虚拟骨干网仍然连通,且不改变所述第一局域拓扑图中的普通节点与子虚拟骨干网的最小通信距离,若所述当前节点的编号为所述第一局域拓扑图中的最小编号,则将所述当前节点的当前节点类型更新为普通节点,并更新所述当前节点及对应的邻居节点的基本信息;若所述当前节点的编号非所述第一局域拓扑图中的最小编号,则更新所述当前节点对应的邻居节点的基本信息;其中,所述基本信息包括各节点的节点类型,及所述当前节点的邻居节点。
14.一种计算机可读存储介质,其特征在于:
所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910086938.2A CN111491324B (zh) | 2019-01-29 | 2019-01-29 | 一种维护虚拟骨干网的方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910086938.2A CN111491324B (zh) | 2019-01-29 | 2019-01-29 | 一种维护虚拟骨干网的方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111491324A true CN111491324A (zh) | 2020-08-04 |
CN111491324B CN111491324B (zh) | 2022-04-01 |
Family
ID=71811264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910086938.2A Active CN111491324B (zh) | 2019-01-29 | 2019-01-29 | 一种维护虚拟骨干网的方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111491324B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112954609A (zh) * | 2021-02-09 | 2021-06-11 | 北京交通大学 | 一种基于骨干环的分布式地理位置服务方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1738270A (zh) * | 2004-08-20 | 2006-02-22 | 清华大学 | 一种自组织网络骨干结构的构建方法 |
CN1917460A (zh) * | 2006-09-07 | 2007-02-21 | 上海交通大学 | 无线传感器网络中虚拟骨干网的分布式构造方法 |
US20100254309A1 (en) * | 2009-04-07 | 2010-10-07 | Bbn Technologies Corp. | System, device, and method for unifying differently-routed networks using virtual topology representations |
CN102625403A (zh) * | 2012-05-04 | 2012-08-01 | 北京邮电大学 | 移动自组网中虚拟骨干网的生成和维护方法 |
US20130301471A1 (en) * | 2012-05-09 | 2013-11-14 | Trellisware Technologies, Inc. | Method and system for global topology discovery in multi-hop ad hoc networks |
CN104735745A (zh) * | 2015-04-02 | 2015-06-24 | 吉林大学 | 一种异构自组织网络中虚拟骨干网的建立方法及装置 |
CN104837166A (zh) * | 2015-04-02 | 2015-08-12 | 吉林大学 | 一种异构自组织网络中虚拟骨干网的建立方法 |
-
2019
- 2019-01-29 CN CN201910086938.2A patent/CN111491324B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1738270A (zh) * | 2004-08-20 | 2006-02-22 | 清华大学 | 一种自组织网络骨干结构的构建方法 |
CN1917460A (zh) * | 2006-09-07 | 2007-02-21 | 上海交通大学 | 无线传感器网络中虚拟骨干网的分布式构造方法 |
US20100254309A1 (en) * | 2009-04-07 | 2010-10-07 | Bbn Technologies Corp. | System, device, and method for unifying differently-routed networks using virtual topology representations |
CN102625403A (zh) * | 2012-05-04 | 2012-08-01 | 北京邮电大学 | 移动自组网中虚拟骨干网的生成和维护方法 |
US20130301471A1 (en) * | 2012-05-09 | 2013-11-14 | Trellisware Technologies, Inc. | Method and system for global topology discovery in multi-hop ad hoc networks |
CN104735745A (zh) * | 2015-04-02 | 2015-06-24 | 吉林大学 | 一种异构自组织网络中虚拟骨干网的建立方法及装置 |
CN104837166A (zh) * | 2015-04-02 | 2015-08-12 | 吉林大学 | 一种异构自组织网络中虚拟骨干网的建立方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112954609A (zh) * | 2021-02-09 | 2021-06-11 | 北京交通大学 | 一种基于骨干环的分布式地理位置服务方法 |
CN112954609B (zh) * | 2021-02-09 | 2023-09-05 | 北京交通大学 | 一种基于骨干环的分布式地理位置服务方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111491324B (zh) | 2022-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dai et al. | An extended localized algorithm for connected dominating set formation in ad hoc wireless networks | |
Nocetti et al. | Connectivity based k-hop clustering in wireless networks | |
US8199677B1 (en) | Distance vector routing via multi-point relays | |
Hassanabadi et al. | Clustering in vehicular ad hoc networks using affinity propagation | |
JP4145294B2 (ja) | モバイル・アドホック・ネットワークにおける時間遷移ネットワーク・プロトコル(ttnp) | |
US6763014B2 (en) | Intelligent communication node object beacon framework (ICBF) with temporal transition network protocol (TTNP) in a mobile ad hoc network | |
US7924735B2 (en) | Virtual grid | |
CN109041127B (zh) | 适于高动态无线网络的负载均衡的自适应稳定分簇方法和系统 | |
JP4686662B2 (ja) | 通信方法 | |
CN111356198B (zh) | 基于地理位置和q学习的分簇跨层通信处理方法、系统 | |
CN107040884B (zh) | 一种基于邻域强连通性的移动自组网数据传输方法 | |
CN114430581B (zh) | 基于蚁群策略的ac-olsr路由方法、设备及介质 | |
CN111491324B (zh) | 一种维护虚拟骨干网的方法、装置及存储介质 | |
Zhou et al. | A timer-based protocol for connected dominating set construction in ieee 802.11 multihop mobile ad hoc networks | |
US7680068B1 (en) | System and method for artery node selection in an ad-hoc network | |
S-Basu et al. | Self-adaptive topology management for mobile ad-hoc network | |
CN109714260B (zh) | Olsr路由协议中基于ucds算法构建虚拟骨干网的实现方法 | |
CN111371572B (zh) | 一种网络节点的选举方法及节点设备 | |
Kumar et al. | Review of mobility aware clustering scheme in mobile adhoc network | |
CN111601351B (zh) | 一种网关节点选择方法、节点及装置、介质 | |
CN104410985A (zh) | 一种拓扑控制报文的处理方法和装置 | |
Jain et al. | Review of Various Routing Protocols in Mobile Adhoc Networks (MANETs) | |
Young et al. | UCDS: Unifying connected dominating set with low message complexity, fault tolerance, and flexible dominating factor | |
Memić et al. | Efficiency-complexity evaluation methods of routing algorithms in mobile ad hoc networks | |
Wang et al. | Approximation Algorithm for Clustering in Mobile Ad-Hoc Networks |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210527 Address after: 100085 1st floor, building 1, yard 5, Shangdi East Road, Haidian District, Beijing Applicant after: DATANG MOBILE COMMUNICATIONS EQUIPMENT Co.,Ltd. Address before: 100191 No. 40, Haidian District, Beijing, Xueyuan Road Applicant before: Telecommunications Science and Technology Research Institute Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |