CN103209133A - 一种基于dfm策略的组播树长寿命调整方法 - Google Patents

一种基于dfm策略的组播树长寿命调整方法 Download PDF

Info

Publication number
CN103209133A
CN103209133A CN2013101025853A CN201310102585A CN103209133A CN 103209133 A CN103209133 A CN 103209133A CN 2013101025853 A CN2013101025853 A CN 2013101025853A CN 201310102585 A CN201310102585 A CN 201310102585A CN 103209133 A CN103209133 A CN 103209133A
Authority
CN
China
Prior art keywords
node
multicast tree
child
message
child node
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
Application number
CN2013101025853A
Other languages
English (en)
Other versions
CN103209133B (zh
Inventor
唐晓岚
蒲菊华
刘睿
陈佳
刘伟
熊璋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
RESEARCH INSTITUTE OF BEIHANG UNIVERSITY IN SHENZHEN
Original Assignee
RESEARCH INSTITUTE OF BEIHANG UNIVERSITY IN SHENZHEN
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by RESEARCH INSTITUTE OF BEIHANG UNIVERSITY IN SHENZHEN filed Critical RESEARCH INSTITUTE OF BEIHANG UNIVERSITY IN SHENZHEN
Priority to CN201310102585.3A priority Critical patent/CN103209133B/zh
Publication of CN103209133A publication Critical patent/CN103209133A/zh
Application granted granted Critical
Publication of CN103209133B publication Critical patent/CN103209133B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种基于DFM策略的组播树长寿命调整方法,该方法首先依据占有组播树的个数对共享节点进行排序,然后对排序后的共享节点逐个从参与组播树中进行分离;在共享节点的分离过程中,依据子节点个数选择出参与组播树,在所选出的组播树中为共享节点的子节点寻找备用父节点,然后通过报文收发来执行DFM策略。本发明方法解决了在多个组播树建立完成后,仍然可能存在一些共享节点的情况下,使用DFM策略对共享节点进行分离,使尽可能多的共享节点转变为普通的只在一个组播树中的节点,从而延长了无线传感器网络的工作时间,维持长寿命的组播数据传输,且使节点间的能耗均衡。

Description

一种基于DFM策略的组播树长寿命调整方法
技术领域
本发明涉及一种组播路由方法,更特别地说,是指一种适用于无线传感器网络的基于DFM策略的组播树调整方法。
背景技术
随着微传感器技术、微电子技术、无线通信技术以及计算技术的进步,极大地推动了集信息采集、处理、无线传输等功能于一体的无线传感器网络(wireless sensornetworks,WSN)的发展。无线传感器网络可以使人们在任何时间、地点和任何环境条件下,获取大量详实而可靠的信息,因此传感器网络可以被广泛地应用于国防军事、国家安全、环境监测、交通管理、医疗卫生、制造业、反恐抗灾等领域。无线传感器网络是计算机科学技术的一个新的研究领域,已经引起了学术界和工业界的高度重视。
无线传感器网络对能耗的限制非常严格,而组播路由在资源节省、时延等方面有较好的优势,所以在无线传感器网络应用中还经常要求提供组播(multicast)技术的支持。从实际应用中传感器节点能量的消耗中可以看出,节点用于通信的能量开销要远远大于用于数据计算的能量开销。因此,组播在无线传感器网络“一对多”场景中的应用可以大幅减少传感器网络中的数据包的发送量,可以显著的节省节点能量的消耗,从而延长传感器节点的生命周期。另外组播路由在时效等方面也有较好的优势。组播路由转发数据的高效率可以有效降低网络能耗,从而进一步扩大无线传感器网络的应用领域。
组播路由协议的作用是要寻找一个源节点和一组接收节点之间的一棵组播树,信息以并行方式沿这棵树的树枝发送到不同的接收节点,信息只需在树的分枝处进行复制转发,这样网络中需要传送的数据量最小。组播技术不仅减少了数据的重复发送,减轻了网络工作负载,而且也提高了网络带宽使用效率,对于提高数据到达率和延长网络整体工作时间有重要影响。
现有的基于树的组播路由协议,如EMRS(efficient multicast routingprotocol for wireless sensor networks)、VLM2(a very lightweight mobilemulticast system for wireless sensor networks)和DPTB(Dynamic proxytree-based data dissemination schemes for wireless sensor networks)等,这些方法仅是考虑在一个组播任务的场景下,如何建立能量高效的组播树,但是没有考虑多任务并发的组播路由场景。在多个组播任务同时存在的场景中,当一个节点在多个组播树上时,该节点也称为共享节点;由于共享节点需要同时执行多个组播树的组播数据传输,所述共享节点的能量会被很快消耗掉,最终导致网络瘫痪。
发明内容
为了解决无线传感器网络中某些共享节点由于执行多任务,使得能量消耗过大导致的网络瘫痪问题,本发明提出一种具有长寿命的组播路由,即基于DFM策略的组播树长寿命调整方法。在具有共享节点的多个组播树中,本发明采用DFM策略进行共享节点的分离,使得多个组播树中的节点身份发生更替。利用DFM策略在组播树调整过程中,能够对无线传感器网络进行优化,对于已经存在的共享节点,为其子节点寻找备用父节点,尽可能地将该共享节点在多个组播树中进行剪枝,以减少其能量消耗过大造成的网络瘫痪。本发明方法通过DFM策略延长了无线传感器网络的工作时间,维持长寿命的组播数据传输,且使节点间的能耗均衡。
本发明的一种基于DFM策略的组播树长寿命调整方法,所述组播树中包括有根节点、叶节点和非叶节点;在多个组播树建立完成后,仍然存在一些共享节点;其对共享节点的分离包括有下列步骤:
第一步骤:依据占有组播树个数选取所需分离的共享节点,执行第二步骤;
第二步骤:对所需分离的共享节点依据拥有子节点个数选取所需分离的参与组播树;采用DFM策略将所需分离的共享节点从所需分离的参与组播树中进行分离,完成长寿命的组播树调整。
实现本发明的第一步骤的具体操作为:
步骤101:选取无线传感器网络的共享节点集EB={E1,E2,…,Ee}中的第一个共享节点E1,并记录下E1在无线传感器网络的组播树集TA={T1,T2,…,Tj,…,Tk}中的占有组播树个数,记为DE1,且2≤DE1≤k;
所述占有组播树个数是指任意一共享节点所拥有的组播树的数量,即共享节点是多少个组播树中的节点。
步骤102:选取无线传感器网络的共享节点集EB={E1,E2,…,Ee}中的第二个共享节点E2,并记录下E2在无线传感器网络的组播树集TA={T1,T2,…,Tj,…,Tk}中的占有组播树个数,记为DE2,且2≤DE2≤k;
步骤103:选取无线传感器网络的共享节点集EB={E1,E2,…,Ee}中的任意一个共享节点Ee,并记录下Ee在无线传感器网络的组播树集TA={T1,T2,…,Tj,…,Tk}中的占有组播树个数,记为DEe,且2≤DEe≤k;
步骤104:依据步骤101、步骤102、步骤103得到的占有组播树个数的大小,并由大至小对共享节点集EB={E1,E2,…,Ee}进行排序,得到排序后的共享节点,记为节点—组播序列 SEB = [ E e ′ , · · · E 1 ′ , E 2 ′ , · · · ] ;
中排在最前面的共享节点的占有组播树个数为最大;
步骤105:依次选择
Figure BDA00002975256700023
中占有组播树个数最大至最小的共享节点,随后执行第二步骤。
实现本发明的第二步骤的具体操作为:
步骤201:共享节点Ee记录下在无线传感器网络的组播树集TA={T1,T2,…,Tj,…,Tk}中的参与组播树,记为
Figure BDA00002975256700024
若参与组播树是组播树集TA={T1,T2,…,Tj,…,Tk}中的Tk和Tj,则
Figure BDA00002975256700025
分别记为用集合表达为参与组播树集 LT TA E e = { LT T j E e , LT T k E e } ;
所述参与组播树是指任意一共享节点在组播树集TA={T1,T2,…,Tj,…,Tk}中拥有的组播树,即共享节点是哪些组播树中的节点。
步骤202:记录共享节点Ee在参与组播树集
Figure BDA00002975256700031
中的
Figure BDA00002975256700032
树上的子节点个数,记为
Figure BDA00002975256700033
步骤203:记录共享节点Ee在参与组播树集中的树上的子节点个数,记为
Figure BDA00002975256700037
Figure BDA00002975256700038
步骤204:依据步骤202、步骤203得到的子节点个数的大小,并由小至大对参与组播树集
Figure BDA00002975256700039
进行排序,得到排序后的参与组播树,记为节点—参与组播序列 SLT TA E e = [ LT T k E e ′ , LT T j E e ′ ] ;
Figure BDA000029752567000311
中排在最前面的参与组播树的子节点个数为最小;
步骤205:选择
Figure BDA000029752567000312
中子节点个数最小的参与组播树,采用DFM策略将共享节点Ee从子节点个数最小的参与组播树进行分离;
步骤206:然后选择中子节点个数次小的参与组播树,采用DFM策略将共享节点Ee从子节点个数次小的参与组播树进行分离;
步骤207:最后选择
Figure BDA000029752567000314
中子节点个数最大的参与组播树,若共享节点Ee拥有多于一个以上参与组播树时,采用DFM策略将共享节点Ee从子节点个数最大的参与组播树进行分离,结束长寿命的组播树调整;
否则,若共享节点Ee拥有一个参与组播树时,结束长寿命的组播树调整。
本发明的DFM策略的具体处理为:
步骤301:共享节点Ee记录在Tk组播树中的子节点集为所述
Figure BDA000029752567000316
中的任意一个子节点发送备用父节点请求报文 BRQ = ( TYPE BRQ , ID T k , ID Cld E e q T k ) , 执行步骤302;
所述中的
Figure BDA000029752567000319
表示共享节点Ee在Tk组播树中的第一个子节点,
Figure BDA000029752567000320
表示共享节点Ee在Tk组播树中的第二个子节点,
Figure BDA000029752567000321
表示共享节点Ee在Tk组播树中的最后一个子节点,为了方便说明,
Figure BDA000029752567000322
也称为共享节点Ee在Tk组播树中的任意一个子节点;
所述
Figure BDA000029752567000323
中的TYPEBRQ表示请求报文类型,
Figure BDA000029752567000324
是参与组播树的标识,
Figure BDA000029752567000325
是子节点的标识;
步骤302:对于Tk组播树上的任意节点Nn,若收到所述备用父节点请求报文
Figure BDA000029752567000326
但任意节点Nn不在
Figure BDA000029752567000327
的通信路径里,且任意节点Nn也不是共享节点,则任意节点Nn发送备用父节点应答报文 BRS = ( TYPE BRS , ID T k , ID N n ) , 执行步骤303;
所述
Figure BDA000029752567000330
中的TYPEBRS表示应答报文类型,
Figure BDA000029752567000331
是参与组播树的标识,
Figure BDA00002975256700041
是发送应答报文的节点标识;
所述
Figure BDA00002975256700042
的通信路径是指从Tk组播树中的根节点到子节点
Figure BDA00002975256700043
所经过的节点;
步骤303:在报文收集第一时间tBRS内,若子节点
Figure BDA00002975256700044
收到应答报文,则将发送应答报文的节点保存到子节点在Tk组播树中的备用父节点集合 LBP Cld E e q T k T k = { BP Cld E e q T k 1 T k , BP Cld E e q T k 2 T k , · · · , BP Cld E e q T k p T k } 中,执行步骤304;
若子节点
Figure BDA00002975256700046
没有收到应答报文,则备用父节点集合
Figure BDA00002975256700047
为空集,则共享节点Ee放弃节点身份更替;
所述 LBP Cld E e q T k T k = { BP Cld E e q T k 1 T k , BP Cld E e q T k 2 T k , · · · , BP Cld E e q T k p T k } 中的表示子节点
Figure BDA000029752567000410
在Tk组播树中的第一个备用父节点,
Figure BDA000029752567000411
表示子节点
Figure BDA000029752567000412
在Tk组播树中的第二个备用父节点,
Figure BDA000029752567000413
表示子节点在Tk组播树中的最后一个备用父节点,为了方便说明,
Figure BDA000029752567000415
也称为子节点
Figure BDA000029752567000416
在Tk组播树中的任意一个备用父节点;
步骤304:在报文收集第一时间tBRS内,若子节点
Figure BDA000029752567000417
具有备用父节点,则向Tk组播树上的自身父节点发送发现备用父节点报文执行步骤305;
所述
Figure BDA000029752567000419
中的TYPEBPD表示发现报文类型,
Figure BDA000029752567000420
是参与组播树的标识,
Figure BDA000029752567000421
是子节点的标识;
步骤305:在报文应答第一时间tBPD内,若共享节点Ee收到发现备用父节点报文
Figure BDA000029752567000422
后,则Ee
Figure BDA000029752567000423
标记为可释放状态,执行步骤306;
步骤306:在报文应答第一时间tBPD内,若共享节点Ee在Tk组播树中的所有子节点均处于可释放状态,则Ee向它的所有子节点发送释放请求报文
Figure BDA000029752567000424
且Ee进入等待释放状态,执行步骤307;
若共享节点Ee在Tk组播树中存在某一个子节点不处于可释放状态,则共享节点Ee放弃节点身份更替;
所述中的TYPERRQ表示释放请求报文类型,
Figure BDA000029752567000426
是参与组播树的标识,是发送释放请求报文的共享节点的标识;
步骤307:在报文收集第二时间tRRQ内,若子节点
Figure BDA000029752567000428
收到共享节点Ee所发送的释放请求报文RRQ后,则向备用父节点集
Figure BDA000029752567000429
中的所有备用父节点发送父请求报文 PRQ = ( TYPE PRQ , ID T k , ID Cld E e q T k ) , 执行步骤308;
所述
Figure BDA000029752567000431
中的TYPEPRQ表示父请求报文类型,
Figure BDA000029752567000432
是参与组播树的标识,
Figure BDA000029752567000433
是子节点的标识;
步骤308:对于子节点
Figure BDA000029752567000434
的任意备用父节点
Figure BDA000029752567000435
Figure BDA000029752567000436
收到
Figure BDA000029752567000437
发送的父请求报文PRQ,且
Figure BDA00002975256700051
未处于等待释放状态,则向子节点
Figure BDA00002975256700052
回复父应答报文否则,向子节点
Figure BDA00002975256700054
回复否定回答报文 NAK = ( TYPE NAK , ID T k , ID BP Cld E e q T k p T k ) ; 执行步骤309;
所述
Figure BDA00002975256700056
中的TYPEACK表示父应答报文类型,
Figure BDA00002975256700057
是参与组播树的标识,
Figure BDA00002975256700058
是任意备用父节点
Figure BDA00002975256700059
的标识;
所述
Figure BDA000029752567000510
中的TYPENAK表示否定回答报文类型,是参与组播树的标识,
Figure BDA000029752567000512
是任意备用父节点
Figure BDA000029752567000513
的标识;
步骤309:在报文收集第三时间tACK内,若子节点
Figure BDA000029752567000514
收到
Figure BDA000029752567000515
发送的父应答报文ACK;
然后一方面向
Figure BDA000029752567000516
的父节点Ee发送允许释放报文 RAK = ( TYPE RAK , ID T k , ID Cld E e q T k ) , 执行步骤310,
另一方面对发送第一个ACK的备用父节点进行标记,记为
Figure BDA000029752567000518
所述第一个ACK是指子节点
Figure BDA000029752567000519
第一个收到的父应答报文ACK;
若子节点收到了所有备用父节点发送的否定回答报文NAK,则
Figure BDA000029752567000521
向Ee发送拒绝释放报文
Figure BDA000029752567000522
执行步骤310;
所述
Figure BDA000029752567000523
中的TYPERAK表示允许释放报文类型,
Figure BDA000029752567000524
是参与组播树的标识,
Figure BDA000029752567000525
是子节点的标识;
所述
Figure BDA000029752567000526
中的TYPERNK表示拒绝释放报文类型,
Figure BDA000029752567000527
是参与组播树的标识,
Figure BDA000029752567000528
是子节点的标识;
步骤310:在报文应答第二时间tRAK内,若共享节点Ee收到在Tk组播树中的所有子节点的允许释放报文RAK,则向所有子节点发送释放子节点报文 RCD = ( TYPE RCD , ID T k , ID E e ) , 执行步骤311;
若共享节点Ee没有收到在Tk组播树中的所有子节点的允许释放报文RAK,则共享节点Ee放弃节点身份更替;
所述
Figure BDA000029752567000530
中的TYPERCD表示释放子节点报文类型,
Figure BDA000029752567000531
是参与组播树的标识,
Figure BDA000029752567000532
是发送释放子节点报文的节点Ee的标识;
步骤311:在报文收集第四时间tRCD内,若子节点收到Ee发送的释放子节点报文RCD,则子节点
Figure BDA000029752567000534
标记备用父节点
Figure BDA000029752567000535
为它的新的父节点,并向
Figure BDA000029752567000536
发送父子关系建立报文 FCC = ( TYPE FCC , ID T k , ID Cld E e q T k ) ; 然后,向共享节点Ee发送释放子节点应答报文
Figure BDA000029752567000538
执行步骤312;
所述
Figure BDA00002975256700061
中的TYPEFCC表示父子关系建立报文类型,
Figure BDA00002975256700062
是参与组播树的标识,
Figure BDA00002975256700063
是子节点的标识;
所述
Figure BDA00002975256700064
中的TYPERCR表示释放子节点应答报文类型,
Figure BDA00002975256700065
是参与组播树的标识,
Figure BDA00002975256700066
是子节点的标识;
步骤312:若备用父节点
Figure BDA00002975256700067
收到子节点发送的父子关系建立报文FCC,则备用父节点
Figure BDA00002975256700069
标记子节点为它的一个新的子节点,并且
Figure BDA000029752567000611
成为Tk组播树中非叶节点,执行步骤313;
步骤313:若共享节点Ee收到子节点
Figure BDA000029752567000612
发送的释放子节点应答报文RCR,则Ee
Figure BDA000029752567000613
从Ee的子节点集中去除;
若共享节点Ee将在Tk组播树中的所有子节点都从Ee的子节点集中去除,则共享节点Ee更替为Tk组播树中的一个叶节点;
若叶节点Ee不是Tk组播树的数据接收方,则将叶节点Ee从Tk组播树中释放;
否则,叶节点Ee保持与它在Tk组播树中的父节点的通信。
本发明基于DFM策略的组播树长寿命调整方法的优点在于:
(1)在组播树调整过程中,对已经建立的多个组播树利用DFM策略,将存在的共享节点从组播树中分离,实现了节点之间的能耗均衡,从而增加了整个网络的存活时间。
(2)在多个组播数据传输任务并存的场景中,每个组播任务建立一个组播树,导致共享节点的存在,本发明的DFM策略通过共享节点的身份更替,避免共享节点能耗过快,延长了多任务的组播数据传输时间。
附图说明
图1是通过组播路由建立的具有多个组播树的无线传感器网络的结构示意图。
图2是经本发明DFM策略调整后的具有多个组播树的无线传感器网络的结构示意图。
图3是本发明共享节点进行身份更替(DFM策略)的流程示意图。
图4是经本发明DFM策略调整前后的具有多个组播树的无线传感器网络的另一结构示意图。
具体实施方式
下面结合附图对本发明做进一步的说明。
本发明是一种适用于无线传感器网络的基于DFM策略的组播树长寿命调整方法,该方法使用DFM策略来分离组播树中已经存在的共享节点,实现各个组播树中各节点的能耗均衡,延长整个无线传感器网络的存活时间。
在多个组播树建立完成后,仍然存在一些共享节点,本发明使用DFM策略对共享节点进行分离,使尽可能多的共享节点转变为普通的只在一个组播树中的节点。
参见图1所示,在一个无线传感器网络中,包括有多个组播树和多个共享节点;每个组播树中包括有根节点、叶节点和非叶节点。一般地,所述共享节点为非叶节点。
在本发明中,多个组播树采用集合的表达形式为TA={T1,T2,…,Tj,…,Tk},其中,T1表示第一个组播树、T2表示第二个组播树、Tj表示第j个组播树,也称为前组播树、Tk表示第k个组播树,也是无线传感器网络的最后一个组播树,k表示组播树的标识。为了方便说明,Tk也称为后组播树。
在本发明中,共享节点采用集合的表达形式为EB={E1,E2,…,Ee},其中,E1表示第一个共享节点、E2表示第二个共享节点、Ee表示第e个共享节点,也是无线传感器网络的最后一个共享节点,e表示共享节点的标识。为了方便说明,Ee也称为任意一共享节点。
本发明的一种基于DFM策略的组播树长寿命调整方法,该方法对共享节点的分离包括有下列步骤:
第一步骤:依据占有组播树个数选取所需分离的共享节点,执行第二步骤;
第二步骤:对所需分离的共享节点依据拥有子节点个数选取所需分离的参与组播树;采用DFM策略将所需分离的共享节点从所需分离的参与组播树中进行分离,完成长寿命的组播树调整。所述DFM策略是指通过报文收发实现对共享节点的身份更替。
在本发明第一步骤“依据占有组播树个数选取所需分离的共享节点”的具体操作为:
步骤101:选取无线传感器网络的共享节点集EB={E1,E2,…,Ee}中的第一个共享节点E1,并记录下E1在无线传感器网络的组播树集TA={T1,T2,…,Tj,…,Tk}中的占有组播树个数,记为DE1,且2≤DE1≤k;
所述占有组播树个数是指任意一共享节点所拥有的组播树的数量,即共享节点是多少个组播树中的节点。
步骤102:选取无线传感器网络的共享节点集EB={E1,E2,…,Ee}中的第二个共享节点E2,并记录下E2在无线传感器网络的组播树集TA={T1,T2,…,Tj,…,Tk}中的占有组播树个数,记为DE2,且2≤DE2≤k;
步骤103:选取无线传感器网络的共享节点集EB={E1,E2,…,Ee}中的任意一个共享节点Ee,并记录下Ee在无线传感器网络的组播树集TA={T1,T2,…,Tj,…,Tk}中的占有组播树个数,记为DEe,且2≤DEe≤k;
步骤104:依据步骤101、步骤102、步骤103得到的占有组播树个数的大小,并由大至小对共享节点集EB={E1,E2,…,Ee}进行排序,得到排序后的共享节点,记为节点—组播序列SEB=[Ee′,…,E1′,E2′,…];
在SEB=[Ee′,…,E1′,E2′,…]中排在最前面的共享节点的占有组播树个数为最大;
步骤105:依次选择SEB=[Ee′,…,E1′,E2′,…]中占有组播树个数最大至最小的共享节点,随后分别执行第二步骤。
在本发明中,共享节点集EB={E1,E2,…,Ee}依据占有组播树个数的多少进行排序后,为了区别说明,SEB=[Ee′,…,E1′,E2′,…]代替了EB={E1,E2,…,Ee},带有排序形式的共享节点Ee′在组播树中就是共享节点Ee;同理可得,E′就是E1,E2′就是E2
在本发明中,通过第一步骤的处理首先选取出占有组播树个数最多的那个共享节点,然后依次选出占有组播树个数次之的共享节点。由于占有组播树个数越多的共享节点参与组播数据传输量越大,能量消耗赶快,因而需要优先进行身份更替,以延长无线传感器网络的工作时间。对于节点—组播序列SEB=[Ee′,…,E1′,E2′,…]中的共享节点是要全部进行第二步骤的处理的。
参见图1所示的一个具有多组播树的无线传感器网络,图中有k个组播树,用集合形式表达组播树集记为TA={T1,T2,…,Tj,…,Tk}。
在第一个组播树T1中:
B节点是第一个组播树T1的根节点(代表组播数据的发送节点),
Figure BDA00002975256700081
节点和
Figure BDA00002975256700082
节点分别为B节点在第一个组播树T1中的子节点,相应地,B节点就是
Figure BDA00002975256700083
节点和
Figure BDA00002975256700084
节点在第一个组播树T1中的父节点。
Figure BDA00002975256700085
节点和
Figure BDA00002975256700086
节点在第一个组播树T1中都没有子节点,则它们是第一个组播树T1中的叶节点。
在前组播树Tj中:
A节点是前组播树Tj的根节点(代表组播数据的发送节点),
Figure BDA00002975256700087
节点、……、
Figure BDA00002975256700088
节点分别为A节点在前组播树Tj中的子节点,相应地,A节点就是
Figure BDA00002975256700089
节点、……、节点在前组播树Tj中的父节点;
Ni节点是
Figure BDA000029752567000811
节点在前组播树Tj中的子节点,相应地,
Figure BDA000029752567000812
节点就是Ni节点在组播树Tj中的父节点;
Ee节点是
Figure BDA000029752567000813
节点在前组播树Tj中的子节点,相应地,节点就是Ee节点在组播树Tj中的父节点;
Figure BDA000029752567000815
节点、
Figure BDA000029752567000816
节点、……、节点分别是Ni节点在前组播树Tj中的子节点,相应地,Ni节点就是
Figure BDA000029752567000818
节点、节点、……、
Figure BDA000029752567000820
节点在前组播树Tj中的父节点;
Figure BDA000029752567000821
节点和
Figure BDA000029752567000822
节点是Ee节点在组播树Tj中的子节点,相应地,Ee节点就是
Figure BDA000029752567000823
节点和节点在前组播树Tj中的父节点;
Figure BDA000029752567000825
节点、
Figure BDA000029752567000826
节点、……、
Figure BDA000029752567000827
节点、
Figure BDA000029752567000828
节点、
Figure BDA000029752567000829
节点在前组播树Tj中都没有子节点,则它们是前组播树Tj中的叶节点;
Figure BDA000029752567000830
节点、……、
Figure BDA000029752567000831
节点、Ni节点、Ee节点在前组播树Tj中都有一个或多个子节点,则它们是前组播树Tj中的非叶节点。
在后组播树Tk中:
S节点是后组播树Tk的根节点(代表组播数据的发送节点),
Figure BDA000029752567000832
节点、……、
Figure BDA000029752567000833
节点分别为S节点在后组播树Tk中的子节点,相应地,S节点就是
Figure BDA000029752567000834
节点、……、节点在后组播树Tk中的父节点;
Ee节点是节点在后组播树Tk中的子节点,相应地,
Figure BDA000029752567000837
节点就是Ee节点在后组播树Tk中的父节点;
Nn节点是
Figure BDA000029752567000838
节点在后组播树Tk中的子节点,相应地,
Figure BDA000029752567000839
节点就是Nn节点在后组播树Tk中的父节点;
节点是Ee节点在后组播树Tk中的子节点,相应地,Ee节点就是节点在后组播树Tk中的父节点;
节点、
Figure BDA00002975256700094
节点、……、节点分别是Nn节点在后组播树Tk中的子节点,相应地,Nn节点就是
Figure BDA00002975256700096
节点、
Figure BDA00002975256700097
节点、……、
Figure BDA00002975256700098
节点在后组播树Tk中的父节点;
Figure BDA00002975256700099
节点、
Figure BDA000029752567000910
节点、节点、……、
Figure BDA000029752567000912
节点在后组播树Tk中都没有子节点,则它们是后组播树Tk中的叶节点;
节点、……、
Figure BDA000029752567000914
节点、Ee节点、Nn节点在后组播树Tk中都有一个或多个子节点,则它们是后组播树Tk中的非叶节点。
从图1中可以看出,Ee节点存在于前组播树Tj和后组播树Tk中,则Ee节点为共享节点,该共享节点Ee占有组播树个数为2。共享节点Ee
Figure BDA000029752567000915
节点和节点两个父节点,
Figure BDA000029752567000917
节点、
Figure BDA000029752567000918
节点和
Figure BDA000029752567000919
节点三个子节点。节点、
Figure BDA000029752567000921
节点和
Figure BDA000029752567000922
节点属于前组播树Tj
Figure BDA000029752567000923
节点和
Figure BDA000029752567000924
节点属于后组播树Tk。为了实现无线传感器网络的长寿命,则需要对共享节点Ee进行分离,达到能量均衡。
从图4(a)中可以看出,所示无线传感器网络中存在三个组播树,根节点分别为G1、G2、G3,记这三个组播树为TG1、TG2、TG3,节点Ee是三个组播树的共享节点,该共享节点Ee占有组播树个数为3。共享节点Ee有F2节点、G1节点和F3节点三个父节点,C1节点、C2节点、C3节点和C4节点四个子节点。F2节点和C1节点属于组播树TG3;G1节点、C2节点和C3节点属于组播树TG1;F3节点和C4节点属于组播树TG2。在图4中,C5节点是F2节点的子节点,F2节点是G3根节点的子节点,C6节点是F3节点的子节点,F1节点是F3节点的父节点,且是G2根节点的子节点。为了实现无线传感器网络的长寿命,则需要对共享节点Ee进行分离,达到能量均衡。
在本发明中,所述第二步骤“对所需分离的共享节点依据拥有子节点个数选取所需分离的参与组播树;采用DFM策略将所需分离的共享节点从所需分离的参与组播树中进行分离,完成长寿命的组播树调整”的具体操作为:
步骤201:共享节点Ee′记录下在无线传感器网络的组播树集TA={T1,T2,…,Tj,…,Tk}中的参与组播树,记为
Figure BDA000029752567000925
若参与组播树是组播树集TA={T1,T2,…,Tj,…,Tk}中的Tk和Tj,则
Figure BDA000029752567000926
分别记为
Figure BDA000029752567000927
用集合表达为参与组播树集 LT TA E e = { LT T j E e , LT T k E e } ;
所述参与组播树是指任意一共享节点在组播树集TA={T1,T2,…,Tj,…,Tk}中拥有的组播树,即共享节点是哪些组播树中的节点。
步骤202:记录共享节点Ee在参与组播树集
Figure BDA000029752567000929
中的
Figure BDA000029752567000930
树上的子节点个数,记为
步骤203:记录共享节点Ee在参与组播树集中的
Figure BDA000029752567000934
树上的子节点个数,记为
Figure BDA00002975256700101
步骤204:依据步骤202、步骤203得到的子节点个数的大小,并由小至大对参与组播树集
Figure BDA00002975256700103
进行排序,得到排序后的参与组播树,记为节点—参与组播序列 SLT TA E e = [ LT T k E e ′ , LT T j E e ′ ] ;
Figure BDA00002975256700105
中排在最前面的参与组播树的子节点个数为最小;
在本发明中,参与组播树集
Figure BDA00002975256700106
依据拥有子节点个数的多少进行排序后,为了区别说明, SLT TA E e = [ LT T k E e ′ , LT T j E e ′ ] ; 代替了 SLT TA E e = { LT T j E e , LT T k E e } ; 带有排序形式的参与组播树
Figure BDA00002975256700109
在无线传感器网络中就是组播树Tk;同理可得,就是Tj
步骤205:选择
Figure BDA000029752567001011
中子节点个数最小的参与组播树(即Tk组播树),采用DFM策略将共享节点Ee从子节点个数最小的参与组播树进行分离;
步骤206:然后选择
Figure BDA000029752567001012
中子节点个数次小的参与组播树(即Tj组播树),采用DFM策略将共享节点Ee从子节点个数次小的参与组播树进行分离;
步骤207:最后选择
Figure BDA000029752567001013
中子节点个数最大的参与组播树,若共享节点Ee拥有多于一个以上参与组播树时,采用DFM策略将共享节点Ee从子节点个数最大的参与组播树进行分离,结束长寿命的组播树调整;
否则,若共享节点Ee拥有一个参与组播树时,结束长寿命的组播树调整。
在本发明中,通过第二步骤的处理首先选取出子节点个数最小的参与组播树,然后依次选出子节点个数次之的参与组播树。由于子节点个数越小的参与组播树越容易为子节点找到备用父节点,从而将共享节点从该参与组播树中分离,实现对共享节点的能量均衡,以延长无线传感器网络的工作时间。
从图1中可以看出,共享节点Ee在参与组播树中需要进行分离,共享节点Ee
Figure BDA000029752567001015
参与组播树中的子节点个数为1,共享节点Ee
Figure BDA000029752567001016
参与组播树中的子节点个数为2;采用DFM策略先对子节点个数为1的参与组播树进行共享节点Ee的先分离;然后才对子节点个数为2的
Figure BDA000029752567001018
参与组播树进行共享节点Ee的分离,分离后共享节点Ee只属于前组播树Tj中。
经过DFM策略调整后,图1中的具有多个组播树的无线传感器网络结构示意图变化为如图2所示。节点Ee不再是后组播树Tk上的节点,从而节点Ee不再是共享节点。具体地,在后组播树Tk中,节点Ee不再是节点
Figure BDA000029752567001019
的子节点,从而节点
Figure BDA000029752567001020
变为叶节点(即非叶更替节点,如图2所示);节点Ee不再是节点
Figure BDA000029752567001021
的父节点,节点
Figure BDA000029752567001022
成为节点
Figure BDA000029752567001023
的新的父节点,从而
Figure BDA000029752567001024
变为非叶节点(即叶更替节点,如图2所示)。从图2中可以看出本发明的组播树调整方法减少了共享节点的个数,使得各组播树上的各节点的能耗分配更加均衡,从而延长了无线传感器网络的工作时间。
从图4(a)中可以看出,在DFM策略调整前,节点Ee是三个组播树的共享节点,即共享节点Ee的参与组播树集为
Figure BDA00002975256700111
共享节点Ee在参与组播树
Figure BDA00002975256700112
中需要进行分离,共享节点Ee
Figure BDA00002975256700113
参与组播树中的子节点个数为2,共享节点Ee
Figure BDA00002975256700114
参与组播树中的子节点个数为1,共享节点Ee
Figure BDA00002975256700115
参与组播树中的子节点个数为1;采用DFM策略先对子节点个数为1的
Figure BDA00002975256700116
参与组播树进行共享节点Ee的先分离;然后才对子节点个数为1的
Figure BDA00002975256700117
参与组播树进行共享节点Ee的分离,最后对子节点个数为2的
Figure BDA00002975256700118
参与组播树进行共享节点Ee的分离,分离后共享节点Ee只属于组播树中。
经过DFM策略调整后,图4(a)中的具有多个组播树的无线传感器网络另一结构示意图变化为如图4(c)所示。共享节点Ee在组播树TG1中的子节点集为共享节点Ee在组播树TG2中的子节点集为
Figure BDA000029752567001111
共享节点Ee在组播树TG3中的子节点集为
Figure BDA000029752567001112
依据第二步骤得到节点—参与组播序列
Figure BDA000029752567001113
首先采用DFM策略将共享节点Ee从组播树G2中进行分离,分离后的结果如图4(b)所示,即在组播树G2中,节点Ee不再是节点F3的子节点,节点Ee不再是节点C4的父节点,节点C6成为节点C4的新的父节点,从而节点C6变为非叶节点。然后采用DFM策略将共享节点Ee从组播树TG3中进行分离,分离后的结果如图4(c)所示,即在组播树TG3中,节点Ee不再是节点F2的子节点,节点Ee不再是节点C1的父节点,节点C5成为节点C1的新的父节点,从而节点C5变为非叶节点。此时,节点Ee只拥有一个组播树TG1,结束长寿命的组播树调整。
在本发明中,参见图3所示,所述DFM策略的具体操作为:
步骤301:共享节点Ee(即第一个排序后的共享节点Ee′)记录下在Tk组播树(即第一个排序后的参与组播树)中的子节点集为
Figure BDA000029752567001115
所述中的任意一个子节点发送备用父节点请求报文 BRQ = ( TYPE BRQ , ID T k , ID Cld E e q T k ) , 执行步骤302;
所述
Figure BDA000029752567001118
中的表示共享节点Ee在Tk组播树中的第一个子节点,
Figure BDA000029752567001120
表示共享节点Ee在Tk组播树中的第二个子节点,
Figure BDA000029752567001121
表示共享节点Ee在Tk组播树中的最后一个子节点,为了方便说明,
Figure BDA000029752567001122
也称为共享节点Ee在Tk组播树中的任意一个子节点;
所述 BRQ = ( TYPE BRQ , ID T k , ID Cld E e q T k ) 中的
Figure BDA000029752567001124
表示请求报文类型,
Figure BDA000029752567001125
是参与组播树的标识,
Figure BDA000029752567001126
是子节点的标识;
步骤302:对于Tk组播树上的任意节点Nn,若收到所述备用父节点请求报文
Figure BDA000029752567001127
但任意节点Nn不在
Figure BDA000029752567001128
的通信路径里,且任意节点Nn也不是共享节点,则任意节点Nn
Figure BDA000029752567001129
发送备用父节点应答报文 BRS = ( TYPE BRS , ID T k , ID N n ) , 执行步骤303;
所述
Figure BDA00002975256700122
中的TYPEBRS表示应答报文类型,是参与组播树的标识,
Figure BDA00002975256700124
是发送应答报文的节点标识;
所述
Figure BDA00002975256700125
的通信路径是指从Tk组播树中的根节点到子节点
Figure BDA00002975256700126
所经过的节点;
步骤303:在报文收集第一时间tBRS内,若子节点
Figure BDA00002975256700127
收到应答报文,则将发送应答报文的节点保存到子节点在Tk组播树中的备用父节点集合 LBP Cld E e q T k T k = { BP Cld E e q T k 1 T k , BP Cld E e q T k 2 T k , · · · , BP Cld E e q T k p T k } 中,执行步骤304;
若子节点
Figure BDA00002975256700129
没有收到应答报文,则备用父节点集合
Figure BDA000029752567001210
为空集,则共享节点Ee放弃节点身份更替;
所述 LBP Cld E e q T k T k = { BP Cld E e q T k 1 T k , BP Cld E e q T k 2 T k , · · · , BP Cld E e q T k p T k } 中的
Figure BDA000029752567001212
表示子节点
Figure BDA000029752567001213
在Tk组播树中的第一个备用父节点,
Figure BDA000029752567001214
表示子节点
Figure BDA000029752567001215
在Tk组播树中的第二个备用父节点,
Figure BDA000029752567001216
表示子节点在Tk组播树中的最后一个备用父节点,为了方便说明,
Figure BDA000029752567001218
也称为子节点
Figure BDA000029752567001219
在Tk组播树中的任意一个备用父节点;
步骤304:在报文收集第一时间tBRS内,若子节点具有备用父节点,则向Tk组播树上的自身父节点发送发现备用父节点报文
Figure BDA000029752567001221
执行步骤305;
所述
Figure BDA000029752567001222
中的TYPEBPD表示发现报文类型,是参与组播树的标识,
Figure BDA000029752567001224
是子节点的标识;
步骤305:在报文应答第一时间tBPD内,若共享节点Ee收到发现备用父节点报文
Figure BDA000029752567001225
后,则Ee
Figure BDA000029752567001226
标记为可释放状态,执行步骤306;
步骤306:在报文应答第一时间tBPD内,若共享节点Ee在Tk组播树中的所有子节点均处于可释放状态,则Ee向它的所有子节点发送释放请求报文
Figure BDA000029752567001227
且Ee进入等待释放状态,执行步骤307;
若共享节点Ee在Tk组播树中存在某一个子节点不处于可释放状态,则共享节点Ee放弃节点身份更替;
所述
Figure BDA000029752567001228
中的TYPERRQ表示释放请求报文类型,
Figure BDA000029752567001229
是参与组播树的标识,是发送释放请求报文的共享节点的标识;
步骤307:在报文收集第二时间tRRQ内,若子节点
Figure BDA000029752567001231
收到共享节点Ee所发送的释放请求报文RRQ后,则向备用父节点集
Figure BDA000029752567001232
中的所有备用父节点发送父请求报文 PRQ = ( TYPE PRQ , ID T k , ID Cld E e q T k ) , 执行步骤308;
所述
Figure BDA000029752567001234
中的TYPEPRQ表示父请求报文类型,
Figure BDA000029752567001235
是参与组播树的标识,
Figure BDA00002975256700131
是子节点的标识;
步骤308:对于子节点
Figure BDA00002975256700132
的任意备用父节点
Figure BDA00002975256700134
收到
Figure BDA00002975256700135
发送的父请求报文PRQ,且
Figure BDA00002975256700136
未处于等待释放状态,则向子节点回复父应答报文 ACK = ( TYPE ACK , ID T k , ID BP Cld E e q T k p T k ) ; 否则,向子节点
Figure BDA00002975256700139
回复否定回答报文 NAK = ( TYPE NAK , ID T k , ID BP Cld E e q T k p T k ) ; 执行步骤309;
所述 ACK = ( TYPE ACK , ID T k , ID BP Cld E e q T k p T k ) 中的TYPEACK表示父应答报文类型,
Figure BDA000029752567001312
是参与组播树的标识,
Figure BDA000029752567001313
是任意备用父节点
Figure BDA000029752567001314
的标识;
所述 NAK = ( TYPE NAK , ID T k , ID BP Cld E e q T k p T k ) 中的TYPENAK表示否定回答报文类型,
Figure BDA000029752567001316
是参与组播树的标识,
Figure BDA000029752567001317
是任意备用父节点
Figure BDA000029752567001318
的标识;
步骤309:在报文收集第三时间tACK内,若子节点
Figure BDA000029752567001319
收到
Figure BDA000029752567001320
发送的父应答报文ACK;
然后一方面向
Figure BDA000029752567001321
的父节点Ee发送允许释放报文 RAK = ( TYPE RAK , ID T k , ID Cld E e q T k ) , 执行步骤310,
另一方面对发送第一个ACK的备用父节点进行标记,记为
Figure BDA000029752567001323
所述第一个ACK是指子节点
Figure BDA000029752567001324
第一个收到的父应答报文ACK;
若子节点
Figure BDA000029752567001325
收到了所有备用父节点发送的否定回答报文NAK,则向Ee发送拒绝释放报文 RNK = ( TYPE RNK , ID T k , ID Cld E e q T k ) , 执行步骤310;
所述 RAK = ( TYPE RAK , ID T k , ID Cld E e q T k ) 中的TYPERAK表示允许释放报文类型,是参与组播树的标识,是子节点的标识;
所述 RNK = ( TYPE RNK , ID T k , ID Cld E e q T k ) 中的TYPERNK表示拒绝释放报文类型,
Figure BDA000029752567001332
是参与组播树的标识,是子节点的标识;
步骤310:在报文应答第二时间tRAK内,若共享节点Ee收到在Tk组播树中的所有子节点的允许释放报文RAK,则向所有子节点发送释放子节点报文 RCD = ( TYPE RCD , ID T k , ID E e ) , 执行步骤311;
若共享节点Ee没有收到在Tk组播树中的所有子节点的允许释放报文RAK,则共享节点Ee放弃节点身份更替;
所述
Figure BDA000029752567001335
中的TYPERCD表示释放子节点报文类型,
Figure BDA000029752567001336
是参与组播树的标识,
Figure BDA000029752567001337
是发送释放子节点报文的节点Ee的标识;
步骤311:在报文收集第四时间tRCD内,若子节点
Figure BDA000029752567001338
收到Ee发送的释放子节点报文RCD,则子节点
Figure BDA000029752567001339
标记备用父节点
Figure BDA000029752567001340
为它的新的父节点,并向
Figure BDA00002975256700141
发送父子关系建立报文 FCC = ( TYPE FCC , ID T k , ID Cld E e q T k ) ; 然后,向共享节点Ee发送释放子节点应答报文执行步骤312;
所述
Figure BDA00002975256700144
中的TYPEFCC表示父子关系建立报文类型,是参与组播树的标识,
Figure BDA00002975256700146
是子节点的标识;
所述
Figure BDA00002975256700147
中的TYPERCR表示释放子节点应答报文类型,
Figure BDA00002975256700148
是参与组播树的标识,
Figure BDA00002975256700149
是子节点的标识;
步骤312:若备用父节点
Figure BDA000029752567001410
收到子节点
Figure BDA000029752567001411
发送的父子关系建立报文FCC,则备用父节点标记子节点
Figure BDA000029752567001413
为它的一个新的子节点,并且
Figure BDA000029752567001414
成为Tk组播树中非叶节点(即叶更替节点,图2中所示),执行步骤313;
步骤313:若共享节点Ee收到子节点
Figure BDA000029752567001415
发送的释放子节点应答报文RCR,则Ee
Figure BDA000029752567001416
从Ee的子节点集中去除;
若共享节点Ee将在Tk组播树中的所有子节点都从Ee的子节点集中去除,则共享节点Ee更替为Tk组播树中的一个叶节点;
若叶节点Ee不是Tk组播树的数据接收方,则将叶节点Ee从Tk组播树中释放;
否则,叶节点Ee保持与它在Tk组播树中的父节点的通信。
在本发明中,DFM策略以报文收发时间进行报文的请求、应答,为共享节点的子节点找到备用父节点,从而将子节点与共享节点进行身份更替,实现无线传感器网络中共享节点的分离,延长网络的寿命。

Claims (6)

1.一种基于DFM策略的组播树长寿命调整方法,所述组播树中包括有根节点、叶节点和非叶节点;在多个组播树建立完成后,仍然存在一些共享节点;其特征在于对共享节点的分离包括有下列步骤:
第一步骤:依据占有组播树个数选取所需分离的共享节点,执行第二步骤;
第二步骤:对所需分离的共享节点依据拥有子节点个数选取所需分离的参与组播树;采用DFM策略将所需分离的共享节点从所需分离的参与组播树中进行分离,完成长寿命的组播树调整。
2.根据权利要求1所述的基于DFM策略的组播树长寿命调整方法,其特征在于实现所述第一步骤的具体操作为:
步骤101:选取无线传感器网络的共享节点集EB={E1,E2,…,Ee}中的第一个共享节点E1,并记录下E1在无线传感器网络的组播树集TA={T1,T2,…,Tj,…,Tk}中的占有组播树个数,记为DE1,且2≤DE1≤k;
所述占有组播树个数是指任意一共享节点所拥有的组播树的数量,即共享节点是多少个组播树中的节点。
步骤102:选取无线传感器网络的共享节点集EB={E1,E2,…,Ee}中的第二个共享节点E2,并记录下E2在无线传感器网络的组播树集TA={T1,T2,…,Tj,…,Tk}中的占有组播树个数,记为DE2,且2≤DE2≤k;
步骤103:选取无线传感器网络的共享节点集EB={E1,E2,…,Ee}中的任意一个共享节点Ee,并记录下Ee在无线传感器网络的组播树集TA={T1,T2,…,Tj,…,Tk}中的占有组播树个数,记为DEe,且2≤DEe≤k;
步骤104:依据步骤101、步骤102、步骤103得到的占有组播树个数的大小,并由大至小对共享节点集EB={E1,E2,…,Ee}进行排序,得到排序后的共享节点,记为节点—组播序列 SEB = [ E e ′ , · · · E 1 ′ , E 2 ′ , · · · ] ;
Figure FDA00002975256600012
中排在最前面的共享节点的占有组播树个数为最大;
步骤105:依次选择中占有组播树个数最大至最小的共享节点,随后执行第二步骤。
3.根据权利要求1所述的基于DFM策略的组播树长寿命调整方法,其特征在于实现所述第二步骤的具体操作为:
步骤201:共享节点Ee记录下在无线传感器网络的组播树集TA={T1,T2,…,Tj,…,Tk}中的参与组播树,记为
Figure FDA00002975256600014
若参与组播树是组播树集TA={T1,T2,…,Tj,…,Tk}中的Tk和Tj,则
Figure FDA00002975256600015
分别记为
Figure FDA00002975256600016
用集合表达为参与组播树集 LT TA E e = { LT T j E e , LT T k E e } ;
所述参与组播树是指任意一共享节点在组播树集TA={T1,T2,…,Tj,…,Tk}中拥有的组播树,即共享节点是哪些组播树中的节点。
步骤202:记录共享节点Ee在参与组播树集
Figure FDA00002975256600021
中的
Figure FDA00002975256600022
树上的子节点个数,记为
Figure FDA00002975256600023
步骤203:记录共享节点Ee在参与组播树集
Figure FDA00002975256600025
中的
Figure FDA00002975256600026
树上的子节点个数,记为
Figure FDA00002975256600028
步骤204:依据步骤202、步骤203得到的子节点个数的大小,并由小至大对参与组播树集
Figure FDA00002975256600029
进行排序,得到排序后的参与组播树,记为节点—参与组播序列 SLT TA E e = [ LT T k E e ′ , LT T j E e ′ ] ;
Figure FDA000029752566000211
中排在最前面的参与组播树的子节点个数为最小;
步骤205:选择
Figure FDA000029752566000212
中子节点个数最小的参与组播树,采用DFM策略将共享节点Ee从子节点个数最小的参与组播树进行分离;
步骤206:然后选择
Figure FDA000029752566000213
中子节点个数次小的参与组播树,采用DFM策略将共享节点Ee从子节点个数次小的参与组播树进行分离;
步骤207:最后选择
Figure FDA000029752566000214
中子节点个数最大的参与组播树,若共享节点Ee拥有多于一个以上参与组播树时,采用DFM策略将共享节点Ee从子节点个数最大的参与组播树进行分离,结束长寿命的组播树调整;
否则,若共享节点Ee拥有一个参与组播树时,结束长寿命的组播树调整。
4.根据权利要求1所述的基于DFM策略的组播树长寿命调整方法,其特征在于DFM策略的具体处理为:
步骤301:共享节点Ee记录在Tk组播树中的子节点集为所述
Figure FDA000029752566000216
中的任意一个子节点发送备用父节点请求报文 BRQ = ( TYPE BRQ , ID T k , ID Cld E e q T k ) , 执行步骤(302);
所述 Cld E e T k = { Cld E e 1 T k , Cld E e 2 T k , · · · Cld E e q T k } 中的
Figure FDA000029752566000219
表示共享节点Ee在Tk组播树中的第一个子节点,
Figure FDA000029752566000220
表示共享节点Ee在Tk组播树中的第二个子节点,
Figure FDA000029752566000221
表示共享节点Ee在Tk组播树中的最后一个子节点,为了方便说明,
Figure FDA000029752566000222
也称为共享节点Ee在Tk组播树中的任意一个子节点;
所述中的TYPEBRQ表示请求报文类型,
Figure FDA000029752566000224
是参与组播树的标识,
Figure FDA000029752566000225
是子节点的标识;
步骤302:对于Tk组播树上的任意节点Nn,若收到所述备用父节点请求报文但任意节点Nn不在的通信路径里,且任意节点Nn也不是共享节点,则任意节点Nn
Figure FDA000029752566000228
发送备用父节点应答报文 BRS = ( TYPE BRS , ID T k , ID N n ) , 执行步骤(303);
所述
Figure FDA000029752566000230
中的TYPEBRS表示应答报文类型,
Figure FDA000029752566000231
是参与组播树的标识,
Figure FDA00002975256600031
是发送应答报文的节点标识;
所述
Figure FDA00002975256600032
的通信路径是指从Tk组播树中的根节点到子节点
Figure FDA00002975256600033
所经过的节点;
步骤303:在报文收集第一时间tBRS内,若子节点
Figure FDA00002975256600034
收到应答报文,则将发送应答报文的节点保存到子节点在Tk组播树中的备用父节点集合 LBP Cld E e q T k T k = { BP Cld E e q T k 1 T k , BP Cld E e q T k 2 T k , · · · , BP Cld E e q T k p T k } 中,执行步骤(304);
若子节点
Figure FDA00002975256600036
没有收到应答报文,则备用父节点集合
Figure FDA00002975256600037
为空集,则共享节点Ee放弃节点身份更替;
所述 LBP Cld E e q T k T k = { BP Cld E e q T k 1 T k , BP Cld E e q T k 2 T k , · · · , BP Cld E e q T k p T k } 中的
Figure FDA00002975256600039
表示子节点
Figure FDA000029752566000310
在Tk组播树中的第一个备用父节点,
Figure FDA000029752566000311
表示子节点
Figure FDA000029752566000312
在Tk组播树中的第二个备用父节点,
Figure FDA000029752566000313
表示子节点
Figure FDA000029752566000314
在Tk组播树中的最后一个备用父节点,为了方便说明,
Figure FDA000029752566000315
也称为子节点
Figure FDA000029752566000316
在Tk组播树中的任意一个备用父节点;
步骤304:在报文收集第一时间tBRS内,若子节点
Figure FDA000029752566000317
具有备用父节点,则向Tk组播树上的自身父节点发送发现备用父节点报文执行步骤(305);
所述
Figure FDA000029752566000319
中的TYPEBPD表示发现报文类型,
Figure FDA000029752566000320
是参与组播树的标识,是子节点的标识;
步骤305:在报文应答第一时间tBPD内,若共享节点Ee收到发现备用父节点报文后,则Ee
Figure FDA000029752566000323
标记为可释放状态,执行步骤(306);
步骤306:在报文应答第一时间tBPD内,若共享节点Ee在Tk组播树中的所有子节点均处于可释放状态,则Ee向它的所有子节点发送释放请求报文
Figure FDA000029752566000324
且Ee进入等待释放状态,执行步骤(307);
若共享节点Ee在Tk组播树中存在某一个子节点不处于可释放状态,则共享节点Ee放弃节点身份更替;
所述
Figure FDA000029752566000325
中的TYPERRQ表示释放请求报文类型,
Figure FDA000029752566000326
是参与组播树的标识,
Figure FDA000029752566000327
是发送释放请求报文的共享节点的标识;
步骤307:在报文收集第二时间tRRQ内,若子节点收到共享节点Ee所发送的释放请求报文RRQ后,则向备用父节点集中的所有备用父节点发送父请求报文 PRQ = ( TYPE PRQ , ID T k , ID Cld E e q T k ) , 执行步骤(308);
所述
Figure FDA000029752566000331
中的TYPEPRQ表示父请求报文类型,
Figure FDA000029752566000332
是参与组播树的标识,
Figure FDA000029752566000333
是子节点的标识;
步骤308:对于子节点
Figure FDA000029752566000334
的任意备用父节点
Figure FDA000029752566000335
Figure FDA000029752566000336
收到发送的父请求报文PRQ,且
Figure FDA00002975256600041
未处于等待释放状态,则向子节点
Figure FDA00002975256600042
回复父应答报文 ACK = ( TYPE ACK , ID T k , ID BP Cld E e q T k p T k ) ; 否则,向子节点
Figure FDA00002975256600044
回复否定回答报文 NAK = ( TYPE NAK , ID T k , ID BP Cld E e q T k p T k ) ; 执行步骤(309);
所述
Figure FDA00002975256600046
中的TYPEACK表示父应答报文类型,
Figure FDA00002975256600047
是参与组播树的标识,
Figure FDA00002975256600048
是任意备用父节点
Figure FDA00002975256600049
的标识;
所述
Figure FDA000029752566000410
中的TYPENAK表示否定回答报文类型,是参与组播树的标识,
Figure FDA000029752566000412
是任意备用父节点的标识;
步骤309:在报文收集第三时间tACK内,若子节点
Figure FDA000029752566000414
收到
Figure FDA000029752566000415
发送的父应答报文ACK;
然后一方面向
Figure FDA000029752566000416
的父节点Ee发送允许释放报文 RAK = ( TYPE RAK , ID T e , ID Cld E e q T k ) , 执行步骤(310),
另一方面对发送第一个ACK的备用父节点进行标记,记为
Figure FDA000029752566000418
所述第一个ACK是指子节点
Figure FDA000029752566000419
第一个收到的父应答报文ACK;
若子节点
Figure FDA000029752566000420
收到了所有备用父节点发送的否定回答报文NAK,则
Figure FDA000029752566000421
向Ee发送拒绝释放报文 RAK = ( TYPE RAK , ID T e , ID Cld E e q T k ) , 执行步骤(310);
所述
Figure FDA000029752566000423
中的TYPERAK表示允许释放报文类型,是参与组播树的标识,
Figure FDA000029752566000425
是子节点的标识;
所述
Figure FDA000029752566000426
中的TYPERNK表示拒绝释放报文类型,
Figure FDA000029752566000427
是参与组播树的标识,是子节点的标识;
步骤310:在报文应答第二时间tRAK内,若共享节点Ee收到在Tk组播树中的所有子节点的允许释放报文RAK,则向所有子节点发送释放子节点报文 RCD = ( TYPE RCD , ID T k , ID E e ) , 执行步骤(311);
若共享节点Ee没有收到在Tk组播树中的所有子节点的允许释放报文RAK,则共享节点Ee放弃节点身份更替;
所述
Figure FDA000029752566000430
中的TYPERCD表示释放子节点报文类型,
Figure FDA000029752566000431
是参与组播树的标识,
Figure FDA000029752566000432
是发送释放子节点报文的节点Ee的标识;
步骤311:在报文收集第四时间tRCD内,若子节点
Figure FDA000029752566000433
收到Ee发送的释放子节点报文RCD,则子节点
Figure FDA000029752566000434
标记备用父节点
Figure FDA000029752566000435
为它的新的父节点,并向发送父子关系建立报文 FCC = ( TYPE FCC , ID T e , ID Cld E e q T k ) ; 然后,向共享节点Ee发送释放子节点应答报文
Figure FDA000029752566000438
执行步骤(312);
所述中的TYPEFCC表示父子关系建立报文类型,
Figure FDA00002975256600052
是参与组播树的标识,
Figure FDA00002975256600053
是子节点的标识;
所述
Figure FDA00002975256600054
中的TYPERCR表示释放子节点应答报文类型,
Figure FDA00002975256600055
是参与组播树的标识,
Figure FDA00002975256600056
是子节点的标识;
步骤312:若备用父节点
Figure FDA00002975256600057
收到子节点
Figure FDA00002975256600058
发送的父子关系建立报文FCC,则备用父节点
Figure FDA00002975256600059
标记子节点
Figure FDA000029752566000510
为它的一个新的子节点,并且成为Tk组播树中非叶节点,执行步骤(313);
步骤313:若共享节点Ee收到子节点
Figure FDA000029752566000512
发送的释放子节点应答报文RCR,则Ee
Figure FDA000029752566000513
从Ee的子节点集中去除;
若共享节点Ee将在Tk组播树中的所有子节点都从Ee的子节点集中去除,则共享节点Ee更替为Tk组播树中的一个叶节点;
若叶节点Ee不是Tk组播树的数据接收方,则将叶节点Ee从Tk组播树中释放;
否则,叶节点Ee保持与它在Tk组播树中的父节点的通信。
5.根据权利要求1所述的基于DFM策略的组播树长寿命调整方法,其特征在于:DFM策略利用报文收发来调整共享节点在多个组播树中的多个数据传输任务。
6.根据权利要求1所述的基于DFM策略的组播树长寿命调整方法,其特征在于:该方法使用DFM策略来分离组播树中已经存在的共享节点,实现各组播树中各节点的能耗均衡,延长整个无线传感器网络的存活时间。
CN201310102585.3A 2013-03-27 2013-03-27 一种基于dfm策略的组播树长寿命调整方法 Expired - Fee Related CN103209133B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310102585.3A CN103209133B (zh) 2013-03-27 2013-03-27 一种基于dfm策略的组播树长寿命调整方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310102585.3A CN103209133B (zh) 2013-03-27 2013-03-27 一种基于dfm策略的组播树长寿命调整方法

Publications (2)

Publication Number Publication Date
CN103209133A true CN103209133A (zh) 2013-07-17
CN103209133B CN103209133B (zh) 2016-02-17

Family

ID=48756222

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310102585.3A Expired - Fee Related CN103209133B (zh) 2013-03-27 2013-03-27 一种基于dfm策略的组播树长寿命调整方法

Country Status (1)

Country Link
CN (1) CN103209133B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6778531B1 (en) * 1999-11-04 2004-08-17 Lucent Technologies Inc. Multicast routing with service-level guarantees between ingress egress-points in a packet network
CN101699903A (zh) * 2009-10-23 2010-04-28 北京航空航天大学 一种适用于无线传感器网络的组播路由的组播树调整方法
CN101895419A (zh) * 2010-07-13 2010-11-24 北京航空航天大学 基于树形结构的具有可靠性保证的数据聚合方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6778531B1 (en) * 1999-11-04 2004-08-17 Lucent Technologies Inc. Multicast routing with service-level guarantees between ingress egress-points in a packet network
CN101699903A (zh) * 2009-10-23 2010-04-28 北京航空航天大学 一种适用于无线传感器网络的组播路由的组播树调整方法
CN101895419A (zh) * 2010-07-13 2010-11-24 北京航空航天大学 基于树形结构的具有可靠性保证的数据聚合方法

Also Published As

Publication number Publication date
CN103209133B (zh) 2016-02-17

Similar Documents

Publication Publication Date Title
CN101188535B (zh) 基于二叉树的无线传感器网络分簇能量均衡路由确定方法
CN101562861B (zh) 无线传感器网络中基于跳数和能量的跨层双向路由方法
CN101478805B (zh) 一种基于机会通信的DTN网络Anycast路由方法
CN1719833B (zh) 对等计算机网络中有效的一对多内容发布的方法
CN104618236A (zh) 一种加速网络的并行数据传输系统及方法
CN101965031B (zh) 一种基于最大概率的认知无线电多径组播路由方法
CN103117957A (zh) 机会网络中基于消息副本数与综合效能的缓存管理方法
CN101854299A (zh) 一种发布/订阅系统的动态负载平衡方法
CN101741885A (zh) 分布式系统及分布式系统处理任务流的方法
Jin et al. Latency and energy-consumption optimized task allocation in wireless sensor networks
CN106059861B (zh) 一种分布式构建物联网最小动态汇聚树的系统及方法
CN103581274A (zh) 一种堆叠系统中报文转发方法和装置
CN110493137A (zh) 一种基于固定路由网络的分层广播方法、装置及系统
CN107864092A (zh) 一种基于多播技术的云内容分发方法、装置
CN102595546A (zh) 基于事件驱动的无线传感器执行器网络数据收集分簇方法
CN102231711B (zh) 基于维纳预测动态调整节点拥塞等级的路由控制方法
Srinidhi et al. Hybrid energy efficient and QoS aware algorithm to prolong IoT network lifetime
CN101699903B (zh) 一种适用于无线传感器网络的组播路由的组播树调整方法
CN102892189B (zh) 一种基于能耗均衡的无线传感器网络的数据融合树的建树方法
CN103209133B (zh) 一种基于dfm策略的组播树长寿命调整方法
CN102388585A (zh) 网络优化流量控制方法、装置和系统
CN102111845B (zh) 基于网络按需距离矢量的多播路由方法及系统
Srinidhi et al. Hybrid energy-efficient and QoS-aware algorithm for intelligent transportation system in IoT
CN103596221A (zh) 一种移动Ad Hoc网络的数据传输方法及系统
Qabouche et al. WSN’s life-time improvement passing from hierarchical to hybrid routing techniques: a comparative study

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160217

Termination date: 20170327

CF01 Termination of patent right due to non-payment of annual fee