CN109451557B - 一种无线传感器网络动态分簇路由方法及装置 - Google Patents
一种无线传感器网络动态分簇路由方法及装置 Download PDFInfo
- Publication number
- CN109451557B CN109451557B CN201811584766.3A CN201811584766A CN109451557B CN 109451557 B CN109451557 B CN 109451557B CN 201811584766 A CN201811584766 A CN 201811584766A CN 109451557 B CN109451557 B CN 109451557B
- Authority
- CN
- China
- Prior art keywords
- node
- data link
- nodes
- link
- tree
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/04—Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources
- H04W40/10—Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources based on available power or energy
-
- 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)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种无线传感器网络动态分簇路由方法及装置,利用能量分簇图构造一个能量可用节点图,再在此基础上求出完成传输所需的最少的路径转换次数;在能量可用节点图的基础上得到所需的组播树,源节点为数据采集的无线传感器网络节点,大大提高了整个无线传感器网络的数据传输的速度和可靠性,在不影响各个分簇簇区中的节点的服务下,进一步发挥了无线传感器网络的分簇特性,保证了在无线传感器网络中某些分簇簇区中出现传输异常的情况下,仍然能无线传感器网络整体的数据传输稳定性正常运行,路由更新代价小,有效的延长了无线传感器网络节点的寿命。
Description
技术领域
本公开涉及传感器网络通信技术领域,具体涉及一种无线传感器网络动态分簇路由方法及装置。
背景技术
在无线传感器网络中,各类传感器节点的数量不断增加,对通信系统的复杂性提出了新的要求,目前普通的总线型拓扑、星形拓扑、环形拓扑、树形拓扑的网络结构已经不能满足需求,因此传感器网络的拓扑结构越来越复杂。很多的重要实时数据,都是通过传感器网络的路由路径进行交换,一旦传感器网络的连接出现问题、或者某个传感器节点出现故障,由于没有相应的数据备用路径,可能会导致整个传感器网络数据无法交换传输,导致传感器网络不能正常工作,在无线传感器网络初始化时,通过运行LEACH算法、HEED算法来对初始拓扑的路由进行分簇优化。一旦拓扑构建阶段建立起优化网络拓扑,拓扑维护阶段必须开始工作,平衡网络中的能量消耗,使新的簇头构成的拓扑成为当前最优或接近当前最优状态,并最终延长网络的生命周期。簇头节点拓扑维护和其它传感器网络技术一样,其主要目的是延长网络的生命周期。传感器节点、簇头节点和汇聚节点是无线传感器网络的主要组成部分,每种节点都有独立的能源储备和能源管理系统,在能量消耗完之后,该节点即不可再使用,因此,需要均衡各个节点的使用频率以合理的管理节点的使用频度,防止节点过早耗尽能量。
发明内容
本公开提供一种无线传感器网络动态分簇路由方法及装置,本发明是建立一个从源节点s到汇聚节点集D的组播树,组播树要求使用耗能最少的路径进行传播,且经过的节点的跳数较少。第一是利用能量分簇图构造一个能量可用节点图,再在此基础上求出完成传输所需的最少的路径转换次数;第二是在能量可用节点图的基础上,求出从源节点到每个汇聚节点耗能最少的最短路径,从而得到所需的组播树,源节点为数据采集的无线传感器网络节点。
为了实现上述目的,根据本公开的一方面,提供一种无线传感器网络动态分簇路由方法,所述方法包括以下步骤:
步骤1,初始化无线传感器网络;
步骤2,构造无线传感器网络的拓扑图模型;
步骤3,将拓扑图模型生成有向拓扑图;
步骤4,构造基于最小成本数据链路转换次数的最小成本树;
步骤5,计算最小成本数据链路数;
步骤6,根据最小成本数据链路数进行数据链路和路由分配。
进一步地,在步骤1中,初始化无线传感器网络的方法为,将无线传感器网络以LEACH算法或HEED算法进行分簇,分为至少一个簇区,每个簇区包括至少一个簇头节点和至少一个无线传感器网络节点。
进一步地,在步骤2中,构造无线传感器网络的拓扑图模型的方法为,用无向图G(V,E,W)来表示无线传感器网络传输数据的路由路径的数据链路图,其中V={v1,v2,…,vn}是无线传感器网络节点集,无线传感器网络节点以下简称节点,E={eij}是网络链路的集合,每条链路eij表示节点vi到vj的一个拓扑路径,vi和vj是链路eij的两个端点,W={w1,w2,…,wk}表示网络中的可用能量集,即网络中每条链路上可用能量集的并集,r(s;D)表示从源节点s到簇头节点集D的组播传送,且设无线传感器网络中的每个节点都具有独立的能量储备,且每个节点都能够从与当前节点连接转换连接到与下一个相邻的节点进行通信连接,即路由节点的路径可变,用w(e)表示链路e上的可用能量集,e∈E,V(wi)表示链路可用能量集中含有数据链路wi的所有链路e的端点集合,如果v∈V(w),则称v被数据链路w分簇,E(wi)表示链路可用能量集中含有数据链路wi的所有链路e的集合,由V(wi)和E(wi)所构成的拓扑图叫做wi的分簇簇区。
进一步地,在步骤3中,将拓扑图模型生成有向拓扑图的方法为,根据每一个节点所在的分簇簇区的链路及节点情况,将拓扑图G(V,E,W)表示成k个分簇簇区G(V(wi),E(wi),wi),i=1,2,…,k。若G(V(wi),E(wi),wi)不连通,即分簇数据链路wi的节点集和链路集所构成的拓扑图是不连通的,则先将V(wi)分成cmi个连通图,wi∈W也相应地分成cmi个数据链路,即 个,将拓扑图G(V,E,W)中的数据链路集合转换为 拓扑图G(V,E,W)可分离成l个分簇簇区G(V(wi),E(wi),wi),i=1,2,…,l。对每个分簇簇区用λi,i=1,2,…,l来表示,并用λvi表示λi分簇的网络节点集。
将每个λi,i=1,2,…,l作为一个数据链路节点,并与源节点s及簇头节点一起构成一个新图F(V,E,ω),其中V表示拓扑图的节点集,它由数据链路节点、源节点和簇头节点构成,即V={s}∪{λi}∪D,i=1,2,…,l,E是拓扑图F中的链路集合,生成方法如下:若λi所分簇的网络节点集λvi中包含源节点s,则将λi与s用一条s→λi的有向边相连,设有向边的权值ω为0;若λi所分簇的网络节点集λvi中包含某个簇头节点d,d∈D,则将λi与d用一条λi→d的有向边相连,设有向边的权值ω为0;若λi所分簇的网络节点集λvi与λj所分簇的网络节点集λvj中有公共的节点,则将λi与λj用一条无向边相连,并设有向边的权值ω为1,用dij表示λi与λj共同分簇的节点集合,这样设定边的权值的目的是只有需要跨越两个不同数据链路的连接时,才将边的权值设为1,即此时必须经过一次数据链路转换,而在可用相同数据链路连接的两个点间,由于无需数据链路转换,所以设这些边的权值为0,如此生成一个新的有向拓扑图F(V,E,ω)。
进一步地,在步骤4中,构造基于最小成本数据链路转换次数的最小成本树的方法为,以拓扑图F(V,E,ω)为基础,从源节点s出发,采用启发式最小成本组播树算法构造一个总权值最小的组播树,生成的最小成本树以源节点为根,连接到所有簇头节点,具体步骤为:
步骤4.1,令树F’为空,将源节点加入树中;
步骤4.2,通过Dijkstra算法计算任意一个不在树F’中的簇头节点到树F’权值最小的最短路径并加以比较,将其中路径成本最小的簇头节点及其相应的最短路径加入到树F’中;
步骤4.3,判断树F’是否包含了所有的簇头节点,若不是转到步骤4.2;若树F’已经包含了所有的簇头节点,则树F’即为一个从源节点到所有簇头节点总权值最小的steiner树,记为F’(V,E)。
组播树是以总权值最小为目标生成的,在组播树中,从源节点到簇头节点的通信链路在经过权值为1的链路时,由于跨过了两个不同的数据链路,要想完成信息的正确传输,就必须进行一次数据链路转换,所以说这棵组播树的总权值就是完成此项组播业务最少所需的数据链路转换次数。
启发式最小成本组播树算法是首先将源节点加入到树T中,然后从余下的簇头节点中选取到树T的路径最短的那个节点,如有多个则随机选取一个,将簇头节点和这条路径上的所有边和节点加入到树T中,直到所有的簇头节点都加入到树T中为止。
进一步地,在步骤5中,计算最小成本数据链路数的方法为,首先将拓扑图G(V,E,W)分离成l个连通的分簇簇区G(V(wi),E(wi),wi),i=1,2,…,l,对每个分簇簇区用λi,i=1,2,…,l来表示,用λvi表示λi分簇的网络节点集,将λi,i=1,2,…,l作为节点,与源节点s及簇头节点一起共同构成一个新图F(V,E,ω),其中V={s}∪{λi}∪D,i=1,2,…,l,E是拓扑图F中的链路集合,生成方法如下:若λi所分簇的网络节点集λvi中包含源节点s,则将λi与s用一条s→λi的有向边相连,设有向边的权值为1,即组播树只要使用了这个数据链路,所使用的总数据链路数就要加1;若λi所分簇的网络节点集λvi中包含某个簇头节点d,d∈D,则将λi与d用一条λi→d的有向边相连,设有向边的权值为0;两个有相同的分簇节点的数据链路节点用一条无向边相连,并设其权值为1。如此生成一个新的有向拓扑图F(V,E,ω),将有向拓扑图F(V,E,ω)依照最小成本树的生成方法生成一个权值最小的组播树,组播树中的数据链路节点的个数就是完成此项组播业务所需的最小数据链路数。
到此,只是找到了完成此项组播业务最少所需的数据链路转换次数或最小数据链路数。还需进一步地对组播业务进行数据链路和路由分配。
进一步地,在步骤6中,根据最小成本数据链路数进行数据链路和路由分配的方法为,以最小成本数据链路转换次数为基础进行数据链路和路由分配,在上面生成的组播树F’(V,E)中,所有数据链路节点对应的数据链路就是完成此项组播业务所需要的数据链路,设这些数据链路的集合为Λ。分别找出F’(V,E)中从源节点到每个簇头节点的最短路,将这条最短路上的每个数据链路节点还原成它所对应的分簇簇区,并在分簇簇区的每条链路上标记数据链路节点所对应的数据链路。若有一条链路被F’(V,E)中的多个数据链路节点分簇,则在链路上标记这些数据链路节点所对应的多个数据链路值。这时,F’(V,E)中从源节点到一个簇头节点的最短路就转换成包含源节点和簇头节点的拓扑图。在这个拓扑图上采用Dijkstra最短路算法求出从源节点到簇头节点跳数最小的路由,链路上所标的数据链路为这条最短路可选用的数据链路,这样就同时完成了从源节点到簇头节点的选路和数据链路分配。
按照上面的方法依次求出从源节点到每个簇头节点跳数最小的最短路,及各链路应选用的数据链路,然后将这些路径合并,即得到一个基于最小数据链路转换次数且跳数较少的组播树。
本发明还提供了一种无线传感器网络动态分簇路由装置,所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下装置的单元中:
网络初始化单元,用于初始化无线传感器网络;
拓扑图模型构造单元,用于构造无线传感器网络的拓扑图模型;
拓扑图生成单元,用于将拓扑图模型生成有向拓扑图;
成本树构造单元,用于构造基于最小成本数据链路转换次数的最小成本树;
链路数计算单元,用于计算最小成本数据链路数;
路由分配单元,用于根据最小成本数据链路数进行数据链路和路由分配。
本公开的有益效果为:本发明提供一种无线传感器网络动态分簇路由方法及装置,大大提高了整个无线传感器网络的数据传输的速度和可靠性,在不影响各个分簇簇区中的节点的服务下,进一步发挥了无线传感器网络的分簇特性,保证了在无线传感器网络中某些分簇簇区中出现传输异常的情况下,仍然能无线传感器网络整体的数据传输稳定性正常运行,路由更新代价小,有效的延长了无线传感器网络节点的寿命。
附图说明
通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:
图1所示为一种无线传感器网络动态分簇路由方法的流程图;
图2所示为一种无线传感器网络动态分簇路由装置图。
具体实施方式
以下将结合实施例和附图对本公开的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本公开的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示为根据本公开的一种无线传感器网络动态分簇路由方法的流程图,下面结合图1来阐述根据本公开的实施方式的一种无线传感器网络动态分簇路由方法。
本公开提出一种无线传感器网络动态分簇路由方法,具体包括以下步骤:
步骤1,初始化无线传感器网络;
步骤2,构造无线传感器网络的拓扑图模型;
步骤3,将拓扑图模型生成有向拓扑图;
步骤4,构造基于最小成本数据链路转换次数的最小成本树;
步骤5,计算最小成本数据链路数;
步骤6,根据最小成本数据链路数进行数据链路和路由分配。
进一步地,在步骤1中,初始化无线传感器网络的方法为,将无线传感器网络以LEACH算法或HEED算法进行分簇,分为至少一个簇区,每个簇区包括至少一个簇头节点和至少一个无线传感器网络节点。
进一步地,在步骤2中,构造无线传感器网络的拓扑图模型的方法为,用无向图G(V,E,W)来表示无线传感器网络传输数据的路由路径的数据链路图,其中V={v1,v2,…,vn}是无线传感器网络节点集,无线传感器网络节点以下简称节点,E={eij}是网络链路的集合,每条链路eij表示节点vi到vj的一个拓扑路径,vi和vj是链路eij的两个端点,W={w1,w2,…,wk}表示网络中的可用能量集,即网络中每条链路上可用能量集的并集,r(s;D)表示从源节点s到簇头节点集D的组播传送,且设无线传感器网络中的每个节点都具有独立的能量储备,且每个节点都能够从与当前节点连接转换连接到与下一个相邻的节点进行通信连接,即路由节点的路径可变,用w(e)表示链路e上的可用能量集,e∈E,V(wi)表示链路可用能量集中含有数据链路wi的所有链路e的端点集合,如果v∈V(w),则称v被数据链路w分簇,E(wi)表示链路可用能量集中含有数据链路wi的所有链路e的集合,由V(wi)和E(wi)所构成的拓扑图叫做wi的分簇簇区。
进一步地,在步骤3中,将拓扑图模型生成有向拓扑图的方法为,根据每一个节点所在的分簇簇区的链路及节点情况,将拓扑图G(V,E,W)表示成k个分簇簇区G(V(wi),E(wi),wi),i=1,2,…,k。若G(V(wi),E(wi),wi)不连通,即分簇数据链路wi的节点集和链路集所构成的拓扑图是不连通的,则先将V(wi)分成cmi个连通图,wi∈W也相应地分成cmi个数据链路,即 个,将拓扑图G(V,E,W)中的数据链路集合转换为 拓扑图G(V,E,W)可分离成l个分簇簇区G(V(wi),E(wi),wi),i=1,2,…,l。对每个分簇簇区用λi,i=1,2,…,l来表示,并用λvi表示λi分簇的网络节点集。
将每个λi,i=1,2,…,l作为一个数据链路节点,并与源节点s及簇头节点一起构成一个新图F(V,E,ω),其中V表示拓扑图的节点集,它由数据链路节点、源节点和簇头节点构成,即V={s}∪{λi}∪D,i=1,2,…,l,E是拓扑图F中的链路集合,生成方法如下:若λi所分簇的网络节点集λvi中包含源节点s,则将λi与s用一条s→λi的有向边相连,设有向边的权值ω为0;若λi所分簇的网络节点集λvi中包含某个簇头节点d,d∈D,则将λi与d用一条λi→d的有向边相连,设有向边的权值ω为0;若λi所分簇的网络节点集λvi与λj所分簇的网络节点集λvj中有公共的节点,则将λi与λj用一条无向边相连,并设有向边的权值ω为1,用dij表示λi与λj共同分簇的节点集合,这样设定边的权值的目的是只有需要跨越两个不同数据链路的连接时,才将边的权值设为1,即此时必须经过一次数据链路转换,而在可用相同数据链路连接的两个点间,由于无需数据链路转换,所以设这些边的权值为0,如此生成一个新的有向拓扑图F(V,E,ω)。
进一步地,在步骤4中,构造基于最小成本数据链路转换次数的最小成本树的方法为,以拓扑图F(V,E,ω)为基础,从源节点s出发,采用启发式最小成本组播树算法构造一个总权值最小的组播树,生成的最小成本树以源节点为根,连接到所有簇头节点,具体步骤为:
步骤4.1,令树F’为空,将源节点加入树中;
步骤4.2,通过Dijkstra算法计算任意一个不在树F’中的簇头节点到树F’权值最小的最短路径并加以比较,将其中路径成本最小的簇头节点及其相应的最短路径加入到树F’中;
步骤4.3,判断树F’是否包含了所有的簇头节点,若不是转到步骤4.2;若树F’已经包含了所有的簇头节点,则树F’即为一个从源节点到所有簇头节点总权值最小的steiner树,记为F’(V,E)。
组播树是以总权值最小为目标生成的,在组播树中,从源节点到簇头节点的通信链路在经过权值为1的链路时,由于跨过了两个不同的数据链路,要想完成信息的正确传输,就必须进行一次数据链路转换,所以说这棵组播树的总权值就是完成此项组播业务最少所需的数据链路转换次数。
启发式最小成本组播树算法是首先将源节点加入到树T中,然后从余下的簇头节点中选取到树T的路径最短的那个节点,如有多个则随机选取一个,将簇头节点和这条路径上的所有边和节点加入到树T中,直到所有的簇头节点都加入到树T中为止。
进一步地,在步骤5中,计算最小成本数据链路数的方法为,首先将拓扑图G(V,E,W)分离成l个连通的分簇簇区G(V(wi),E(wi),wi),i=1,2,…,l,对每个分簇簇区用λi,i=1,2,…,l来表示,用λvi表示λi分簇的网络节点集,将λi,i=1,2,…,l作为节点,与源节点s及簇头节点一起共同构成一个新图F(V,E,ω),其中V={s}∪{λi}∪D,i=1,2,…,l,E是拓扑图F中的链路集合,生成方法如下:若λi所分簇的网络节点集λvi中包含源节点s,则将λi与s用一条s→λi的有向边相连,设有向边的权值为1,即组播树只要使用了这个数据链路,所使用的总数据链路数就要加1;若λi所分簇的网络节点集λvi中包含某个簇头节点d,d∈D,则将λi与d用一条λi→d的有向边相连,设有向边的权值为0;两个有相同的分簇节点的数据链路节点用一条无向边相连,并设其权值为1。如此生成一个新的有向拓扑图F(V,E,ω),将有向拓扑图F(V,E,ω)依照最小成本树的生成方法生成一个权值最小的组播树,组播树中的数据链路节点的个数就是完成此项组播业务所需的最小数据链路数。
到此,只是找到了完成此项组播业务最少所需的数据链路转换次数或最小数据链路数。还需进一步地对组播业务进行数据链路和路由分配。
进一步地,在步骤6中,根据最小成本数据链路数进行数据链路和路由分配的方法为,以最小成本数据链路转换次数为基础进行数据链路和路由分配,在上面生成的组播树F’(V,E)中,所有数据链路节点对应的数据链路就是完成此项组播业务所需要的数据链路,设这些数据链路的集合为Λ。分别找出F’(V,E)中从源节点到每个簇头节点的最短路,将这条最短路上的每个数据链路节点还原成它所对应的分簇簇区,并在分簇簇区的每条链路上标记数据链路节点所对应的数据链路。若有一条链路被F’(V,E)中的多个数据链路节点分簇,则在链路上标记这些数据链路节点所对应的多个数据链路值。这时,F’(V,E)中从源节点到一个簇头节点的最短路就转换成包含源节点和簇头节点的拓扑图。在这个拓扑图上采用Dijkstra最短路算法求出从源节点到簇头节点跳数最小的路由,链路上所标的数据链路为这条最短路可选用的数据链路,这样就同时完成了从源节点到簇头节点的选路和数据链路分配。
按照上面的方法依次求出从源节点到每个簇头节点跳数最小的最短路,及各链路应选用的数据链路,然后将这些路径合并,即得到一个基于最小数据链路转换次数且跳数较少的组播树。
对网络拓扑模型G(V,E,W)应用上面提出的算法进行仿真实验。
设源节点为v1点,簇头节点集为{v2,v5,v6}。链路上所标的数据链路为该链路当前的可用能量。求一个从源节点到所有簇头节点的数据链路转换次数最少且满足跳数较低的组播树。
首先按照上面提出的方法,先找到其分簇簇区是连通图的这些数据链路集,本例中是{w1,w2,w3,w4}。分别用数据链路节点λ1、λ2、λ3、λ4来表示w1,w2,w3,w4对应的分簇簇区,并用这些节点和源节点v1,簇头节点v2,v5,v6共同作为节点,按照提出的求最小数据链路转换次数的方法构造一个有向的数据链路图F(V,E,ω)。其中V={λ1,λ2,λ3,λ4,v1,v2,v5,v6},0、1为边的权值。
有向数据链路图用启发式最小成本组播树算法求得从源节点到簇头节点且权值最小的组播树,得到基于数据链路节点的组播树。从组播树找到从源节点到每个簇头节点成本最小的最短路。然后分别在每条最短路上展开该路中的数据链路节点,将该节点还原成其对应的分簇簇区,并在每条链路上标上对应的数据链路,得到从源节点到一个簇头节点的拓扑图。在每个从源节点到某个簇头节点的拓扑图上采用Dijkstra算法求出从源节点到簇头节点跳数最小的路径。每个簇头节点对应一个从源节点到簇头节点展开的拓扑图。从源节点v1到簇头节点v2的拓扑图中的链路v1v2,由于它是包含在分簇簇区λ1中,则该链路可采用的数据链路是w1。即用上述方法求得的从源节点v1到各簇头节点v2,v5,v6的路径分别是v1→v2,v1→v3→v5,v1→v3→v5→v6。
将这些路径合并,即生成一个从源节点到所有簇头节点的基于最小成本数据链路转换次数且跳数较少的组播树,它所需的数据链路为{w1,w2,w4},总跳数为4。链路上所标的数据链路即是完成此项组播业务在该链路上可选用的数据链路。其中数据链路图上所生成的组播树的总权值是1,即本例所需的最小成本数据链路转换次数是1次,在节点v3或v4处进行一次数据链路转换即可。若e35选用数据链路w2,则在节点v5进行一次数据链路转换,将w2转换为w4,若e35选用数据链路w4,则在节点v3进行一次数据链路转换,将w2转换为w4。
本公开的实施例提供的一种无线传感器网络动态分簇路由装置,如图2所示为本公开的一种无线传感器网络动态分簇路由装置图,该实施例的一种无线传感器网络动态分簇路由装置包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种无线传感器网络动态分簇路由装置实施例中的步骤。
所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下装置的单元中:
网络初始化单元,用于初始化无线传感器网络;
拓扑图模型构造单元,用于构造无线传感器网络的拓扑图模型;
拓扑图生成单元,用于将拓扑图模型生成有向拓扑图;
成本树构造单元,用于构造基于最小成本数据链路转换次数的最小成本树;
链路数计算单元,用于计算最小成本数据链路数;
路由分配单元,用于根据最小成本数据链路数进行数据链路和路由分配。
所述一种无线传感器网络动态分簇路由装置可以运行于桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备中。所述一种无线传感器网络动态分簇路由装置,可运行的装置可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种无线传感器网络动态分簇路由装置的示例,并不构成对一种无线传感器网络动态分簇路由装置的限定,可以包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种无线传感器网络动态分簇路由装置还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种无线传感器网络动态分簇路由装置运行装置的控制中心,利用各种接口和线路连接整个一种无线传感器网络动态分簇路由装置可运行装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种无线传感器网络动态分簇路由装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
尽管本公开的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本公开的预定范围。此外,上文以发明人可预见的实施例对本公开进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本公开的非实质性改动仍可代表本公开的等效改动。
Claims (3)
1.一种无线传感器网络动态分簇路由方法,其特征在于,所述方法包括以下步骤:
步骤1,初始化无线传感器网络;
步骤2,构造无线传感器网络的拓扑图模型;
步骤3,将拓扑图模型生成有向拓扑图;
步骤4,构造基于最小成本数据链路转换次数的最小成本树;
步骤5,计算最小成本数据链路数;
步骤6,根据最小成本数据链路数进行数据链路和路由分配;
其中,构造无线传感器网络的拓扑图模型的方法为,用拓扑图G(V,E,W)来表示无线传感器网络传输数据的路由路径的数据链路图,其中V={v 1, v 2,…, v n}是无线传感器网络节点集,无线传感器网络节点以下简称节点,E={e ij }是网络链路的集合,每条链路e ij 表示节点v i到v j的一个拓扑路径,v i和v j是链路e ij 的两个端点,W={w 1 ,w 2,…, w k}表示网络中的可用能量集,即网络中每条链路上可用能量集的并集,r(s;D)表示从源节点s到簇头节点集D的组播传送,且D⊆V-{s},设无线传感器网络中的每个节点都具有独立的能量储备,且每个节点都能够从与当前节点连接转换连接到与下一个相邻的节点进行通信连接,即路由节点的路径可变,用w(e)表示链路e上的可用能量集,e∈E,V(w i )表示链路可用能量集中含有数据链路w i 的所有链路e的端点集合,如果v∈V(w),则称v被数据链路w分簇,E(w i )表示链路可用能量集中含有数据链路w i 的所有链路e的集合,由V(w i )和E(w i )所构成的拓扑图叫做w i 的分簇簇区;
其中,将拓扑图模型生成有向拓扑图的方法为,根据每一个节点所在的分簇簇区的链
路及节点情况,将拓扑图G(V,E,W)表示成k个分簇簇区G(V(w i),E(w i), w i),i=1,2,…,k,若
G(V(w i), E(w i), w i)不连通,即分簇数据链路w i的节点集和链路集所构成的拓扑图是不连
通的,则先将V(w i)分成c mi个连通图,w i∈W也相应地分成c mi个数据链路,即
个,将拓扑图G(V,E,W)中的数据链路集合转换为,i=
1,2,…,k,拓扑图G(V,E,W)可分离成l个分簇簇区G(V(w i),E(w i), w i),i=1,2,…,l,对每个
分簇簇区用λi,i=1,2,…,l来表示, 并用λvi表示λi分簇的网络节点集,将每个λi,i=1,2,…,l作为一个数据链路节点,并与源节点s及簇头节点一起构成一个新图F(V,E,ω),其中V表
示拓扑图的节点集,它由数据链路节点、源节点和簇头节点构成,即V={s}∪{λi}∪D ,i=1,
2,…,l,E是拓扑图F中的链路集合,生成方法如下:若λi所分簇的网络节点集λvi中包含源节
点s,则将λi与s用一条s→λi的有向边相连,设有向边的权值ω为0;若λi所分簇的网络节点
集λvi中包含某个簇头节点d,d∈D,则将λi与d用一条λi→d的有向边相连,设有向边的权值
ω为0;若λi所分簇的网络节点集λvi与λj所分簇的网络节点集λvj中有公共的节点,则将λi与
λj用一条无向边相连,并设有向边的权值ω为1,用d ij 表示λi与λj共同分簇的节点集合,这样
设定边的权值的目的是只有需要跨越两个不同数据链路的连接时,才将边的权值设为1,即
此时必须经过一次数据链路转换,而在可用相同数据链路连接的两个点间,由于无需数据
链路转换,所以设这些边的权值为0,如此生成一个新的有向拓扑图F(V,E,ω);
其中,构造基于最小成本数据链路转换次数的最小成本树的方法为,以拓扑图F(V,E,ω)为基础,从源节点s出发,采用启发式最小成本组播树算法构造一个总权值最小的组播树,生成的最小成本树以源节点为根,连接到所有簇头节点,具体步骤为:
步骤4.1,令树F’为空,将源节点加入树中;
步骤4.2,通过Dijkstra算法计算任意一个不在树F’中的簇头节点到树F’权值最小的最短路径并加以比较,将其中路径成本最小的簇头节点及其相应的最短路径加入到树F’中;
步骤4.3,判断树F’是否包含了所有的簇头节点,若不是转到步骤4.2;若树F’已经包含了所有的簇头节点,则树F’即为一个从源节点到所有簇头节点总权值最小的steiner树,记为F’(V,E),组播树是以总权值最小为目标生成的,在组播树中,从源节点到簇头节点的通信链路在经过权值为1的链路时,由于跨过了两个不同的数据链路,要想完成信息的正确传输,就必须进行一次数据链路转换,所以说这棵组播树的总权值就是完成此项组播业务最少所需的数据链路转换次数,启发式最小成本组播树算法是首先将源节点加入到树T中,然后从余下的簇头节点中选取到树T的路径最短的那个节点,如有多个则随机选取一个,将簇头节点和这条路径上的所有边和节点加入到树T中,直到所有的簇头节点都加入到树T中为止;
其中,计算最小成本数据链路数的方法为,首先将拓扑图G(V,E,W)分离成l个连通的分簇簇区G(V(w i),E(w i), w i),i=1,2,…,l,对每个分簇簇区用λi,i=1,2,…,l来表示,用λvi表示λi分簇的网络节点集,将λi,i=1,2,…,l作为节点,与源节点s及簇头节点一起共同构成一个新图H(V,E,ω),其中V={s}∪{λi}∪D,i=1,2,…,l,E是拓扑图F中的链路集合,生成方法如下:若λi所分簇的网络节点集λvi中包含源节点s,则将λi与s用一条s→λi的有向边相连,设有向边的权值为1,即组播树只要使用了这个数据链路,所使用的总数据链路数就要加1;若λi所分簇的网络节点集λvi中包含某个簇头节点d,d∈D,则将λi与d用一条λi→d的有向边相连,设有向边的权值为0;两个有相同的分簇节点的数据链路节点用一条无向边相连,并设其权值为1,如此生成一个新的有向拓扑图H(V,E,ω),将有向拓扑图H(V,E,ω)依照最小成本树的生成方法生成一个权值最小的组播树,组播树中的数据链路节点的个数就是完成此项组播业务所需的最小数据链路数;
其中,根据最小成本数据链路数进行数据链路和路由分配的方法为,以最小成本数据链路转换次数为基础进行数据链路和路由分配,在上面生成的组播树F’(V,E)中,所有数据链路节点对应的数据链路就是完成此项组播业务所需要的数据链路,设这些数据链路的集合为Λ,分别找出F’(V,E)中从源节点到每个簇头节点的最短路,将这条最短路上的每个数据链路节点还原成它所对应的分簇簇区,并在分簇簇区的每条链路上标记数据链路节点所对应的数据链路,若有一条链路被F’(V,E)中的多个数据链路节点分簇,则在链路上标记这些数据链路节点所对应的多个数据链路值,这时,F’(V,E)中从源节点到一个簇头节点的最短路就转换成包含源节点和簇头节点的拓扑图,在这个拓扑图上采用Dijkstra最短路算法求出从源节点到簇头节点跳数最小的路由,链路上所标的数据链路为这条最短路可选用的数据链路,这样就同时完成了从源节点到簇头节点的选路和数据链路分配。
2.根据权利要求1所述的一种无线传感器网络动态分簇路由方法,其特征在于,在步骤1中,初始化无线传感器网络的方法为,将无线传感器网络以LEACH算法或HEED算法进行分簇,分为至少一个簇区,每个簇区包括至少一个簇头节点和至少一个无线传感器网络节点。
3.一种无线传感器网络动态分簇路由装置,其特征在于,所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下装置的单元中:
网络初始化单元,用于初始化无线传感器网络;
拓扑图模型构造单元,用于构造无线传感器网络的拓扑图模型;
拓扑图生成单元,用于将拓扑图模型生成有向拓扑图;
成本树构造单元,用于构造基于最小成本数据链路转换次数的最小成本树;
链路数计算单元,用于计算最小成本数据链路数;
路由分配单元,用于根据最小成本数据链路数进行数据链路和路由分配;
其中,构造无线传感器网络的拓扑图模型的方法为,用拓扑图G(V,E,W)来表示无线传感器网络传输数据的路由路径的数据链路图,其中V={v 1, v 2,…, v n}是无线传感器网络节点集,无线传感器网络节点以下简称节点,E={e ij }是网络链路的集合,每条链路e ij 表示节点v i到v j的一个拓扑路径,v i和v j是链路e ij 的两个端点,W={w 1 ,w 2,…, w k}表示网络中的可用能量集,即网络中每条链路上可用能量集的并集,r(s;D)表示从源节点s到簇头节点集D的组播传送,且D⊆V-{s},设无线传感器网络中的每个节点都具有独立的能量储备,且每个节点都能够从与当前节点连接转换连接到与下一个相邻的节点进行通信连接,即路由节点的路径可变,用w(e)表示链路e上的可用能量集,e∈E,V(w i )表示链路可用能量集中含有数据链路w i 的所有链路e的端点集合,如果v∈V(w),则称v被数据链路w分簇,E(w i )表示链路可用能量集中含有数据链路w i 的所有链路e的集合,由V(w i )和E(w i )所构成的拓扑图叫做w i 的分簇簇区;
其中,将拓扑图模型生成有向拓扑图的方法为,根据每一个节点所在的分簇簇区的链
路及节点情况,将拓扑图G(V,E,W)表示成k个分簇簇区G(V(w i),E(w i), w i),i=1,2,…,k,若
G(V(w i), E(w i), w i)不连通,即分簇数据链路w i的节点集和链路集所构成的拓扑图是不连
通的,则先将V(w i)分成c mi个连通图,w i∈W也相应地分成c mi个数据链路,即
个,将拓扑图G(V,E,W)中的数据链路集合转换为,
i=1,2,…,k,拓扑图G(V,E,W)可分离成l个分簇簇区G(V(w i),E(w i), w i),i=1,2,…,l,对每
个分簇簇区用λi,i=1,2,…,l来表示, 并用λvi表示λi分簇的网络节点集,将每个λi,i=1,
2,…,l作为一个数据链路节点,并与源节点s及簇头节点一起构成一个新图F(V,E,ω),其
中V表示拓扑图的节点集,它由数据链路节点、源节点和簇头节点构成,即V={s}∪{λi}∪D
,i=1,2,…,l,E是拓扑图F中的链路集合,生成方法如下:若λi所分簇的网络节点集λvi中包
含源节点s,则将λi与s用一条s→λi的有向边相连,设有向边的权值ω为0;若λi所分簇的网
络节点集λvi中包含某个簇头节点d,d∈D,则将λi与d用一条λi→d的有向边相连,设有向边
的权值ω为0;若λi所分簇的网络节点集λvi与λj所分簇的网络节点集λvj中有公共的节点,则
将λi与λj用一条无向边相连,并设有向边的权值ω为1,用d ij 表示λi与λj共同分簇的节点集
合,这样设定边的权值的目的是只有需要跨越两个不同数据链路的连接时,才将边的权值
设为1,即此时必须经过一次数据链路转换,而在可用相同数据链路连接的两个点间,由于
无需数据链路转换,所以设这些边的权值为0,如此生成一个新的有向拓扑图F(V,E,ω);
其中,构造基于最小成本数据链路转换次数的最小成本树的方法为,以拓扑图F(V,E,ω)为基础,从源节点s出发,采用启发式最小成本组播树算法构造一个总权值最小的组播树,生成的最小成本树以源节点为根,连接到所有簇头节点,具体步骤为:
步骤4.1,令树F’为空,将源节点加入树中;
步骤4.2,通过Dijkstra算法计算任意一个不在树F’中的簇头节点到树F’权值最小的最短路径并加以比较,将其中路径成本最小的簇头节点及其相应的最短路径加入到树F’中;
步骤4.3,判断树F’是否包含了所有的簇头节点,若不是转到步骤4.2;若树F’已经包含了所有的簇头节点,则树F’即为一个从源节点到所有簇头节点总权值最小的steiner树,记为F’(V,E),组播树是以总权值最小为目标生成的,在组播树中,从源节点到簇头节点的通信链路在经过权值为1的链路时,由于跨过了两个不同的数据链路,要想完成信息的正确传输,就必须进行一次数据链路转换,所以说这棵组播树的总权值就是完成此项组播业务最少所需的数据链路转换次数,启发式最小成本组播树算法是首先将源节点加入到树T中,然后从余下的簇头节点中选取到树T的路径最短的那个节点,如有多个则随机选取一个,将簇头节点和这条路径上的所有边和节点加入到树T中,直到所有的簇头节点都加入到树T中为止;
其中,计算最小成本数据链路数的方法为,首先将拓扑图G(V,E,W)分离成l个连通的分簇簇区G(V(w i),E(w i), w i),i=1,2,…,l,对每个分簇簇区用λi,i=1,2,…,l来表示,用λvi表示λi分簇的网络节点集,将λi,i=1,2,…,l作为节点,与源节点s及簇头节点一起共同构成一个新图H(V,E,ω),其中V={s}∪{λi}∪D,i=1,2,…,l,E是拓扑图F中的链路集合,生成方法如下:若λi所分簇的网络节点集λvi中包含源节点s,则将λi与s用一条s→λi的有向边相连,设有向边的权值为1,即组播树只要使用了这个数据链路,所使用的总数据链路数就要加1;若λi所分簇的网络节点集λvi中包含某个簇头节点d,d∈D,则将λi与d用一条λi→d的有向边相连,设有向边的权值为0;两个有相同的分簇节点的数据链路节点用一条无向边相连,并设其权值为1,如此生成一个新的有向拓扑图H(V,E,ω),将有向拓扑图H(V,E,ω)依照最小成本树的生成方法生成一个权值最小的组播树,组播树中的数据链路节点的个数就是完成此项组播业务所需的最小数据链路数;
其中,根据最小成本数据链路数进行数据链路和路由分配的方法为,以最小成本数据链路转换次数为基础进行数据链路和路由分配,在上面生成的组播树F’(V,E)中,所有数据链路节点对应的数据链路就是完成此项组播业务所需要的数据链路,设这些数据链路的集合为Λ,分别找出F’(V,E)中从源节点到每个簇头节点的最短路,将这条最短路上的每个数据链路节点还原成它所对应的分簇簇区,并在分簇簇区的每条链路上标记数据链路节点所对应的数据链路,若有一条链路被F’(V,E)中的多个数据链路节点分簇,则在链路上标记这些数据链路节点所对应的多个数据链路值,这时,F’(V,E)中从源节点到一个簇头节点的最短路就转换成包含源节点和簇头节点的拓扑图,在这个拓扑图上采用Dijkstra最短路算法求出从源节点到簇头节点跳数最小的路由,链路上所标的数据链路为这条最短路可选用的数据链路,这样就同时完成了从源节点到簇头节点的选路和数据链路分配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811584766.3A CN109451557B (zh) | 2018-12-24 | 2018-12-24 | 一种无线传感器网络动态分簇路由方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811584766.3A CN109451557B (zh) | 2018-12-24 | 2018-12-24 | 一种无线传感器网络动态分簇路由方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109451557A CN109451557A (zh) | 2019-03-08 |
CN109451557B true CN109451557B (zh) | 2022-03-01 |
Family
ID=65537867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811584766.3A Active CN109451557B (zh) | 2018-12-24 | 2018-12-24 | 一种无线传感器网络动态分簇路由方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109451557B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110881178B (zh) * | 2019-11-22 | 2021-05-28 | 河海大学 | 一种基于分支游走的物联网数据聚合方法 |
CN111222159B (zh) * | 2019-12-30 | 2022-07-05 | 中国电子科技集团公司第三十研究所 | 基于图计算技术的云平台数据泄漏路径识别方法 |
CN112312511B (zh) * | 2020-09-04 | 2021-06-04 | 河南大学 | 基于树的无线传感器网络能耗均衡的改进leach方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7890301B2 (en) * | 2004-06-24 | 2011-02-15 | Agilent Technologies, Inc. | Method for cluster head selection in networks accessed by mobile devices |
CN101237366B (zh) * | 2008-03-05 | 2011-08-31 | 中国科学院嘉兴无线传感网工程中心 | 一种协同感知能量有效的无线传感网实现方法 |
CN104410997B (zh) * | 2014-12-29 | 2017-11-17 | 重庆邮电大学 | 一种用于无线传感器网络的层次型拓扑结构构建方法 |
-
2018
- 2018-12-24 CN CN201811584766.3A patent/CN109451557B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109451557A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109451557B (zh) | 一种无线传感器网络动态分簇路由方法及装置 | |
CN111147370B (zh) | 确定转发路径的方法和控制设备 | |
CN105049353B (zh) | 一种为业务配置路由路径的方法及控制器 | |
US20150350057A1 (en) | Switchless network topology system for parallel computation and method thereof | |
JP2014513852A5 (zh) | ||
CN112560204B (zh) | 一种基于lstm深度学习的光网络路由优化方法及其相关装置 | |
EP3183848B1 (en) | Optimization framework for multi-tenant data centers | |
CN115426312B (zh) | 一种大规模多模态网络中标识管理及优化转发方法和装置 | |
Plakunov et al. | Data center resource mapping algorithm based on the ant colony optimization | |
CN111181792A (zh) | 基于网络拓扑的sdn控制器部署方法、装置及电子设备 | |
CN113849302A (zh) | 任务执行方法及装置、存储介质及电子装置 | |
Bouzidi et al. | Dynamic clustering of software defined network switches and controller placement using deep reinforcement learning | |
CN106470165A (zh) | 一种负载分担方法、系统及相关设备 | |
JP2015164245A (ja) | フロー経路変更計算装置、フロー経路変更計算システムおよびフロートラヒック量計算装置 | |
WO2021078058A1 (zh) | 资源调度方法、装置、设备及计算机可读存储介质 | |
CN101267398B (zh) | 二维torus网中的无死锁自适应路由方法 | |
Shefu et al. | Fruit fly optimization algorithm for network-aware web service composition in the cloud | |
JP6383336B2 (ja) | サーバ管理装置およびサーバ管理方法 | |
US20060036762A1 (en) | System and method for automatic path generation in a computer network | |
US9503367B2 (en) | Risk mitigation in data center networks using virtual machine sharing | |
CN115879543A (zh) | 一种模型训练方法、装置、设备、介质及系统 | |
CN113395357B (zh) | 区块链系统的分片方法及装置 | |
CN109472342A (zh) | 一种自优化的仿生自修复硬件故障重构机制设计 | |
CN115374949A (zh) | 分布式量子计算系统和资源管理方法 | |
CN111901153B (zh) | 一种面向战术边缘的分散计算架构 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |