CN104320829B - 多跳自组织可休眠路由算法 - Google Patents
多跳自组织可休眠路由算法 Download PDFInfo
- Publication number
- CN104320829B CN104320829B CN201410631017.7A CN201410631017A CN104320829B CN 104320829 B CN104320829 B CN 104320829B CN 201410631017 A CN201410631017 A CN 201410631017A CN 104320829 B CN104320829 B CN 104320829B
- Authority
- CN
- China
- Prior art keywords
- node
- data
- routing
- networking
- message
- 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
- 230000005059 dormancy Effects 0.000 title claims abstract description 33
- 230000006855 networking Effects 0.000 claims abstract description 99
- 238000000034 method Methods 0.000 claims abstract description 51
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 34
- 230000008569 process Effects 0.000 claims abstract description 30
- 230000006854 communication Effects 0.000 claims abstract description 20
- 238000004891 communication Methods 0.000 claims abstract description 18
- 230000005540 biological transmission Effects 0.000 claims description 45
- 238000012546 transfer Methods 0.000 claims description 24
- 230000007958 sleep Effects 0.000 claims description 14
- 238000012790 confirmation Methods 0.000 claims description 6
- 230000001174 ascending effect Effects 0.000 claims description 5
- 230000019371 dormancy process Effects 0.000 claims description 5
- 230000000284 resting effect Effects 0.000 claims description 5
- 230000002093 peripheral effect Effects 0.000 claims description 4
- 238000000205 computational method Methods 0.000 claims description 3
- 230000000717 retained effect Effects 0.000 claims description 3
- 239000003245 coal Substances 0.000 abstract description 5
- 230000007613 environmental effect Effects 0.000 abstract 1
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
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/246—Connectivity information discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0203—Power saving arrangements in the radio access network or backbone network of wireless communication networks
- H04W52/0206—Power saving arrangements in the radio access network or backbone network of wireless communication networks in access points, e.g. base stations
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了适用于煤矿井下采空区等区域使用的多跳自组织可休眠路由算法,是一种能量消耗较少、负载较为均衡的无线传感器网络的同步路由算法,整个无线传感器网络是由协调器节点发起和建立,协调器发送“组网消息”,其它节点收到“组网消息”后,将“组网消息”进行转发,并将发送“组网消息”的源节点作为该节点的上行节点,上传自身数据,对于其它节点发来的数据,通过该节点的上行节点进行转发,所有信息最终汇聚于协调器节点,通过“组网消息”的下行转发和数据的上传,达到组网和数据上传。组网过程实际上是一次最新路由表生成过程,所组网络具有很好的环境适应性、抗毁性和灵活性,适用于通信环境变化剧烈场景下无线传感器网络的组网。
Description
技术领域
本发明涉及无线传感器网络的路由算法,尤其是低能耗的多跳自组织可休眠路由算法。
背景技术
传统的无线传感器网络的路由算法中,通常将节点的类型分为三类,第一类为Sink节点,即协调器节点,Sink节点的作用是负责整个网络的建立、传感数据的汇聚,路由计算和控制;第二类为路由节点,路由节点既能采集数据又能起到路由的作用,需要长时间的工作来以保持网络畅通,这类节点在传感器网络中是不可以休眠的;第三类为终端节点,这类节点的功能只有数据采集和数据上传的功能,不具备路由功能,该类节点可以休眠。显然,在经典无线传感器网络路由算法下,路由节点和协调器节点都需要长时间的保持工作状态,不可休眠。对于煤矿来说,井下环境复杂,而需要部署传感器节点的很多区域无法长期供电,例如煤矿采空区中部署传感器网络节点,由于采空区的塌落,只能采用电池进行一次性供电。在采空区监测传感器网络中,为了保证在一定能量供应下,延长网络的工作时间,传感器节点需要休眠。显然,传统的无线传感器网络的路由算法无法满足煤矿实际需求。
发明内容
本发明的目的在于:提出一种适用于煤矿井下采空区等区域使用的多跳自组织可休眠路由算法,该算法将路由节点和终端节点的特性结合在一起,既保证其数据传输和转发功能的可靠性,又能使节点在不启用的时候能够休眠,减小能量的开销,解决传统无线传感器网络路由节点功耗过高、无法休眠问题,满足长周期低通信量的数据传输要求。
为达到上述发明目的,本发明的技术方案是这样实现的:一种多跳自组织可休眠路由算法,其特征是该路由算法的整个通信过程由以下阶段组成:(1)协调器节点向路由节点发起组网命令阶段;(2)路由节点组网阶段;(3)数据上行和下行传输阶段;(3)网络休眠阶段。
进一步的,所述路由节点组网阶段包括以下的具体步骤:
步骤1-1:每一个通信周期开始时,由网络中的协调器节点广播一条“组网消息”,消息内容包含自身的地址信息,自身的能量强度值和信号强度值;
步骤1-2:网络中路由节点在一个通信周期内第一次接收到“组网消息”时,立即启动一个本地组网定时器,该组网定时器用于限制组网阶段的最大时间;当该节点第一次接收到“组网消息”时,则开启该定时器,并倒数计时,当倒数计时完成之后,则宣告本路由节点的组网过程结束;
步骤1-3:在步骤1-2组网定时器倒数计时结束之前,该路由节点在接收到“组网消息”后,将所述“组网信息”中能量强度值和信号强度值进行加权平均得到路由选择值,此值和自身路由表中的每条能量和信号强度加权值进行比较:
若该节点路由表中的路由信息条数小于三条,则在路由表中登记目的地址、能量和信号强度信息;登记路由表时,将目的节点的地址信息、能量和信号强度的加权值按升序排列并存储;若路由表中的路由信息条数大于等于三条且新入路由信息的加权值大于路由表中最小一项的加权值,则需要更新路由表;更新路由表时,原有路由表中能量和信号强度加权值最小的一条路由信息将被删除,新入路由信息和保留的路由信息,按照加权值的大小升序排列的方式,更新路由表;
若路由表中的路由信息条数大于等于三条且新加入信息的加权值小于路由表中最小一项的加权值,则无需更新路由表中的信息;
步骤1-4:在步骤1-3完成之后,该路由节点发送本节点的唯一一次“组网消息”,以触发后续路由节点的组网过程;重复步骤1-3继续等待其它节点发来的“组网消息”,更新节点的路由表;
步骤1-5:在步骤1-2中,若组网定时器定时结束,则关闭该路由节点的组网功能,该节点不再接受和处理“组网消息”,该节点的路由表不再更新。
进一步的,路由节点在数据传输阶段包括以下几个步骤:
步骤2-1:在步骤1-5完成之后,组网定时器清零,该路由节点按照IEEE802.15.4的规范生成“数据帧”,根据所生成的节点上行路由表,选取路由表中加权值最大的上行节点作为上行路由节点地址,自动向上行传送一次节点自身数据即“数据帧”;在发送“数据帧”之后,节点需要等待上行节点回复“确认接收消息”;
步骤2-2:在步骤2-1中,若发送数据的节点没有收到上行节点的“确认接收消息”,则节点需要向该上行节点重发数据,若仍无收到“确认接收信息”则再次重发“数据帧”,直到重复发送的次数等于K次,其中,K不大于五次,则判定数据发送不成功;若发送数据的节点收到上行节点“确认接收信息”,则本次数据发送结束;
步骤2-3:在步骤2-2中,若目标节点超过K次,重发仍然没有回复,则路由节点需要重新选取上行节点,在本路由节点路由表中,删除发送不成功的上行节点地址;路由节点重新按照加权值的大小在路由表中选取加权值最大的一个新的上行地址,将该路由节点地址作为该次发送数据的上行路由节点地址,按照IEEE802.15.4的规范生成数据帧,并按照步骤2-1的数据发送过程重新发送数据,并等待对方节点确认接收回复,若对方节点确认接收则判定数据发送成功;若上行节点未回复“确认收到消息”,则根据步骤2-2所述,向上行节点重新发送“数据帧”;若重发“数据帧”之后,收到对方节点发送的“确认收到消息”,则判定数据发送成功;若仍无收到确认收到消息”则再次重发“数据帧”,直到重复发送的次数等于K次则判定数据发送不成功;
步骤2-4:上行路由节点在收到“数据帧”后,则查找自身上行路由表,按照2-2原则转发“数据帧”;
步骤2-5:在数据传输阶段,若节点收到来自协调器的“控制消息帧”,首先判定目标地址是否与自身地址一致;若一致,则节点按照控制消息的内容传送相关的数据或执行相关的指令;若不一致,则以广播方式转发该“控制消息帧”;其次判断跳数,若该“控制消息帧”的跳数已经达到最大跳数则抛弃该控制消息;若没有达到最大跳数则广播转发。
进一步的,该协调器节点在数据传输过程包括以下几个步骤:
步骤3-1:如步骤1-1所述,在发起一次组网过程之后,协调器节点就处于数据传输过程中,等待接收其它节点上传的数据;
步骤3-2:在步骤3-1中,每接收一条“数据帧”之后,协调器节点便启动一次数据定时器,进行定时计数,若在计时结束之前收到了下一条“数据帧”则重置计数器,并且将“数据帧”内容进行存储,若该数据的源节点是新加入节点,则在协调器节点的网络登记表中登记该源节点的地址信息,若已存在该源节点的地址信息,则不必在网络节点登记表中登记;若数据定时器定时到,则判定该次数据接收结束;
步骤3-3:在数据传输的过程中,若协调器需要向某一节点索要数据或者控制节点的状态,则需要向该节点发送“控制消息”;协调器节点发送“控制消息”时,需要重置数据定时器,保证协调器节点仍然处于数据传输过程中;“控制消息”通过广播的方式发送,“控制消息”中含有目的节点地址信息,其它节点收到之后,判断是否与自身节点地址相同,若地址信息与自身不相同则转发,直到传达到目的节点;若判断控制消息中的地址信息与自身节点地址一致,则根据控制消息中的指令执行;“该控制消息”规定有最大跳数M,当转发超过M数之后,后续不再转发该“控制消息”;协调器在发送“控制消息”之后,等待对方节点回复“数据消息”;若数据定时器时间到,则判定该次数据接收结束,协调器不再等待对方节点回复。
进一步的,节点休眠过程包括以下几个步骤:
步骤4-l:当数据定时器时间到,则协调器认为数据传输过程结束之后,协调器节点向全网广播发送“休眠消息”,休眠消息中带有时间戳,同时,协调器节点备份网络节点登记表;其它节点在收到广播的休眠消息之后按照时间戳中的时间,考虑传输延迟后,设定休眠时间,并广播转发该“休眠消息”,然后关闭无线收发和相关***电路并清空路由表,一个通信周期宣布结束,进入休眠状态,并且按照约定的休眠时间,各个节点自行苏醒。
进一步的,所述步骤1-3中的加权值的计算方法如下:加权值=a*电池电压+b*信号强度;所述的a>0是电池电压在加权值的比重,b>0是信号强度占加权值的比重,并且a+b=1。
本发明的优点是:该方法能将整个网络的能量消耗降低,延长整个传感器网络的生命周期,在路由方面有更好的适应性、灵活性和抗毁性。
附图说明
图1为协调器节点广播建立路由表的过程;
图2和图3是路由节点组网和广播转发组网信息的过程;
图4和图5是该路由算法形成的一种典型的网络结构;
图6为节点上行数据通信经过的一种典型路径;
图7节点组网的流程图;
图8一般节点接收和转发数据的流程图;
图9协调器节点接收和转发数据的流程图;
图10一般节点发送数据的流程图;
图11一般节点休眠过程的流程图;
图12协调器数据传输过程发送控制消息的流程。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。应理解,这些实施例仅用于说明本发明而不是用于限制本发明的范围。
实施例:本实施例的多跳自组织可休眠路由算法类似于洪泛算法,但是每次向协调器节点发送数据都为单点定向传播,通信之前需要组网,组网之后再进行传送数据;也就是说,无线传感器网络节点之间如果需要进行数据传输,首先需要组网,节点保存各自周围上行至协调器方向的上行节点路由信息,根据路由信息和加权值进行选取发送数据的上行节点,接收到数据的中间节点根据其自身建立的连接(路由表中的信息)进行数据的转发;最终数据汇聚于协调器节点,该路由模式结合煤矿受限空间的节点布置方式和煤矿井下环境特性实施部署。
每个节点在一个通信周期内保存的路由表,该路由表包括目标节点的地址、下一跳节点的地址、下一跳节点的电压值和信号强度值以及电压值和信号强度值生成的加权值,该加权值用于在数据传输时,比较并确定数据传输方向中使用,加权值较大表示该上行路由的路由情况较好,更适合进行传输。
至此可以看出本路由算法至少包括以下几点:其一,每个通信周期开始时,需要重新建立路由,路由具有很好的实时性,并且在通信周期结束时需要将当前的路由表清除;其二,鉴于煤矿井下受限空间无线条件恶劣,上行至协调器方向采用路由转发的方式传输数据,下行发布命令均采用广播的方式,广播方式保持***冗余可以提高稳定性,上行定点上传保证了一定的传输效率;其三,当一个通信周期结束时,***中的一般节点都需要关闭无线功能,进入休眠状态,可以尽可能的延长节点的寿命。
如图1、图2、图3所示为路由组网的算法过程,图1中协调器节点发起一次组网的过程,周围的邻居节点收到组网的请求之后进入组网的等待时隙,并将协调器节点的消息存入路由表中,并启动定时器,等待组网定时结束之后该节点的组网过程宣告结束。这些协调器周围的邻居节点在组网定时器定时结束之后,也会发起一次组网给自身的周围邻居节点,发送一次组网消息,周围未进行组网过程的路由节点在接收到组网消息之后,同样地,也要在路由表中存储发起组网的节点的地址信息,并根据组网消息中包含的能量和信号强度值计算组网消息的能量和信号强度的加权值,作为该上行节点的加权值,衡量传输的可靠性,并在路由表中存储加权值最高的三个上行节点地址,节省网络资源。
当该节点的组网过程宣告结束时,该节点便进入数据传输阶段,根据路由表中的路由项,选出加权值最高的上行节点地址,并向其发送需要传输的数据。传输完毕之后,等待上行节点响应接收确认帧,确认数据接收之后便宣告当前传输过程结束。若上行节点没有回复接收确认,则重启数据传送过程,首先在路由表中删除该路由上行节点信息,在剩下的节点中选出加权值最高的节点进行数据传输,同样地,在数据传输后等待上行节点响应接收确认帧。由于工作时间和能量的限制,重启数据传送过程只进行三次。当第三次重启数据传送过程失败之后,则宣告传输失败,不再尝试重传数据。同样地,在转发数据的过程中,节点会更正需要传输数据中上行节点的地址信息,改为自身上行的地址,再发送给自身上行地址。其中,组网消息的数据结构如表1所示:
表1组网消息的数据结构
能量强度值 | 帧长度 | 帧类型 | 协调器地址 | 节点地址 | 校验区 |
100 | 01 | 0003 | xxxx |
组网消息包含发起组网的节点的能量强度值,该节点所处网络的协调器地址和节点自身地址,信号强度值则是在节点接收的时候由接收方生成。
在数据传输的过程中,若协调器节点需要向某一节点索要数据或者控制节点的工作状态时,则需要向该节点发送控制消息。协调器节点发送控制消息时,需要重置数据定时器,保证协调器节点仍然处于数据传输过程中。控制消息通过广播的方式发送,控制消息中含有对方地址信息,其它节点收到之后,判断是否与自身节点地址相同,若地址信息与自身不相同则转发,直到传达到目的节点,若判断控制消息中的地址信息与自身节点地址一致,则根据控制消息中的指令执行。为了不让控制消息在整个网络中无限制地广播,那么需要给控制消息设定一个生存周期,该生存周期用跳数来衡量。在协调器节点发送控制消息时,在控制消息中添加当前跳数和最大跳数,如果当前跳数大于能等最大跳数路由节点便抛弃该控制消息。其中,控制消息如表2所示。
表2控制消息
能量强度值 | 帧长度 | 帧类型 | 协调器地址 | 节点地址 | 数据内容 | 最大跳数 | 当前跳数 | 校验区 |
100 | 05 | 0003 | 0000 |
必须看到,路由节点的能量资源仍然是非常有限的,并且出于成本考虑,路由节点的存储资源也是有限的,每个节点存储的路由信息量也有所限制。当保存路由信息时,当达到保存上限时就不能再有更多的上行节点,为了匹配工作时间和能量并保证内部资源的可靠性,我们设定上行路由地址个数为三个,当第四个路由信息到来时,先计算该路由信息的加权值,若高于路由表中加权值较低的路由信息,则替换路由信息,路由表中的总个数仍然保持为三个。
当一般节点接收到其它节点发来的数据时,按照从路由表中优先选取加权值最高的路由信息,将数据转发给上行地址。在数据转发之后,节点会等待对方确认接收的消息,如果对方节点接收成功则会回复确认接收的消息,节点在接收到确认接收的消息之后,宣告该转发过程成功。若一定时间内没有收到确认接收的消息时,则在一定时间之后,重启转发过程,将该条数据重新选取路由表中的其它项,重复进行转发过程。当转发不成功次数超过三次则终止当前的转发过程,为了不引起消息***混乱,该被转发的消息将被丢弃。其中,节点数据帧数据结构如表3所示。
表3节点数据帧数据结构
能量强度 | 帧长度 | 帧类型 | 协调器地址 | 传感器地址 | 上行节点地址 | 数据内容 | 校验区 |
100 | 0x0d | 00 | 0003 | Xxxx |
协调器节点在接收到数据信息之后,进行存储和处理。协调器节点对来到的数据信息中的地址信息进行登记,形成一张网络节点登记表。在数据传送阶段协调器可以单独向网络中的其中一个节点进行通信,向已存在网络节点登记表中的任意节点发送控制消息。协调器下行寻找节点的方式为广播,控制消息中含有对方地址信息,其它节点收到之后,判断是否与自身节点地址相同,若地址信息与自身不相同则转发,直到传达到目的节点,若判断控制消息中的地址信息与自身节点地址一致,则根据控制消息中的指令执行。并且该控制消息有最大跳数,当转发超过一定次数之后,节点则丢弃该控制消息。
在组网、数据传输的过程全部完成,协调器在等待数据定时器归零之后不再接收到新的数据信息,则协调器宣告这个通信周期结束,协调器节点向全网广播发送休眠指令,休眠指令中包含休眠的时间长度,通知网络中的所有节点进入休眠状态,并且按照约定的时间由各个节点自行苏醒。网络中的其它节点在接收到协调器节点发送的组网过程指令后,终止目前在进行的所有操作,广播转发休眠指令,以达到休眠节点扩散的目的,在发送完毕之后关闭自身的***电路和无线收发装置,按照约定的时间长度设定并启动休眠定时器,进入休眠模式,并按照约定的时间自动苏醒,进入正常工作状态。其中,休眠消息的数据结构如表4 所示。
表4休眠消息的数据结构
能量强度 | 帧长度 | 帧类型 | 协调器地址 | 传感器地址 | 校验区 |
100 | 0x0d | 02 | 0003 | xxxx |
图4、图5和图6表示该路由算法下构建的几种典型的网络拓扑结构,展示了数据上行过程的方式,以及最终汇聚于协调器的特性。图7为节点组网过程,这个过程的时间长度由组网定时器控制,组网定时器定时结束组网过程即结束,其间收到的组网消息都会被用于比较和筛选并最终生成该节点当前通信周期下的路由表。图8为一般节点接收和转发数据的流程图。图9为协调器节点接收和转发数据的流程图。图10为一般节点发送数据的流程图。图11为一般节点休眠过程的流程图。图12为协调器数据传输过程中发送控制消息的流程。
每个节点的通信周期都是从苏醒开始,经历组网、数据传输、休眠三个过程。整个网络形成是从协调器出发向周围扩散,直到到达最远端的节点,形成一个完整的无线传感器网络。
网络中的每个节点都具有唯一的地址,该地址作为节点的唯一标识用于区分其它节点。
路由算法是基于组网的过程:
步骤1-1:每一个通信周期开始时,由网络中的协调器节点广播一条“组网消息”,消息内容包含自身的地址信息,自身的能量信息。
步骤1-2:网络中的其它节点(路由节点)在一个通信周期内第一次接收到“组网消息”时,立即启动一个本地组网定时器,该组网定时器用于限制组网阶段的最大时间,该时间为一个确定值,当该节点第一次接收到“组网消息”时,则开启该定时器,并倒数计时,当倒数计时完成之后,则宣告本路由节点的组网过程结束。
步骤1-3:步骤b组网定时器倒数计时结束之前,该路由节点在接收到组网消息之后,将能量和信号强度进行加权平均后,得到路由选择值,将此值和自身路由表中的每条能量和信号强度加权值进行比较。
若该节点路由表中的路由信息条数小于三条,则在路由表中登记地址信息和能量信息,登记路由表时,将目的节点的地址信息和能量和信号强度的加权值按升序排列并存储。
若路由表中的路由信息条数大于等于三条且新入路由信息的加权值大于路由表中最小一项的加权值,则需要更新路由表。更新路由表时,原有路由表中能量和信号强度加权值最小的一条路由信息将被删除,新入路由信息和保留的路由信息,按照加权值的大小升序排列的方式,更新路由表。
若路由表中的路由信息条数大于等于三条且新加入信息的加权值小于路由表中最小一项的加权值,则无需更新路由表中的信息,并且将当前这条新加入信息丢弃。
步骤1-4:在步骤2-3完成之后,该路由节点发送本节点的唯一一次“组网消息”,以触发后续路由节点的组网过程;同时转2-3继续等待其他节点发来的“组网消息”,更新节点的路由表。
步骤1-5:在步骤2-2中,若组网定时器定时结束,则关闭该路由节点的组网功能,该节点不再接受和处理“组网消息”,该节点的路由表不再更新。组网消息处理过程如图7所示。
路由节点在数据传输阶段发送数据和接收数据的过程如下:
步骤2-1:在步骤1-5完成之后,组网定时器清零,该路由节点按照IEEE802.15.4的规范生成“数据帧”,根据所生成的节点上行路由表,选取路由表中加权值最大的上行节点作为上行路由节点地址,自动向上行传送一次节点自身数据。在发送数据帧之后,节点需要等待目的节点回复确认接收的消息。
步骤2-2:在步骤2-1中,若发送数据的节点没有收到对方节点确认收到的消息,则节点需要向该对方节点重发数据,若仍无收到确认信息则再次重发数据,直到重复发送的次数等于K次(K一般选为五次)则判定数据发送不成功。
若发送数据的节点收到对方节点确认收到数据的消息,则本次数据发送结束。
步骤2-3:在步骤2-2中,若目标节点超过K次(K一般选为五次)重发仍然没有回复,则节点需要重新选取上行节点,在本节点路由表中,删除发送不成功的上行节点地址。节点重新按照加权值的大小在路由表中选取加权值最大的一个新的上行地址,将该节点地址作为该次发送数据的上行路由节点地址,按照IEEE802.15.4的规范生成数据帧,并按照步骤3-1的数据发送过程重新发送数据,并等待对方节点确认接收回复,若对方节点确认接收则判定数据发送成功。
若对方节点未回复“确认收到消息”,则根据步骤3-2所述,向对方节点重新发送数据。若重发数据之后,收到对方节点发送的“确认收到”的消息,则判定数据发送成功。若仍无收到确认信息则再次重发数据,直到重复发送的次数等于K次则判定数据发送不成功。
步骤2-4上行路由节点在收到“数据帧”后,则查找自身上行路由表,按照3-2原则转发“数据帧”。
步骤2-5:在数据传输阶段,若节点收到来自协调器的“控制消息帧”,首先判定目标地址是否与自身地址一致:若一致,则节点按照控制消息的内容传送相关的数据或执行相关的指令。若不一致,则以广播方式转发该“控制消息帧”。其次判断跳数,其中,跳数为数据到达目的节点所经过的节点的个数,每经过一个节点跳数就加一,直到到达目的节点,若该“控制消息帧”的跳数已经达到最大跳数则抛弃该控制消息。若没有达到最大跳数则广播转发。
协调器节点在数据传输过程如下:
步骤3-1:如步骤1-1所述,在发起一次组网过程之后,协调器节点就处于数据传输过程中,等待接收其它节点上传的数据。
步骤3-2:在步骤3-1中,每接收一条“数据帧”之后,协调器节点便启动一次数据定时器,进行定时计数,若在计时结束之前收到了下一条“数据帧”则重置计数器,并且将数据内容进行存储,若该数据的源节点是新加入节点,则在协调器节点的网络登记表中登记该源节点的地址信息,若已存在该源节点的地址信息,则不必在网络节点登记表中登记。若数据定时器定时到,则判定该次数据接收结束。
步骤3-3:在数据传输的过程中,若协调器需要向某一节点索要数据或者控制节点的状态,则需要向该节点发送控制消息。协调器节点发送控制消息时,需要重置数据定时器,保证协调器节点仍然处于数据传输过程中。控制消息通过广播的方式发送,控制消息中含有对方地址信息,其它节点收到之后,判断是否与自身节点地址相同,若地址信息与自身不相同则转发,直到传达到目的节点,若判断控制消息中的地址信息与自身节点地址一致,则根据控制消息中的指令执行。并且该控制消息有最大跳数,当转发超过一定次数之后,节点则丢弃该控制消息。在发送控制消息之后,协调器等待对方节点回复数据和消息。若数据定时器时间到,则判定该次数据接收结束,协调器不再等待对方节点回复。
节点休眠过程的步骤如下:
步骤4-l:当数据定时器时间到,则协调器认为数据传输过程结束之后,协调器节点向全网广播发送“休眠消息”,休眠消息中带有时间戳,同时,协调器节点备份网络节点登记表。其它节点在收到广播的休眠消息之后按照时间戳中的时间设定休眠时间,并广播转发该休眠消息,然后关闭无线收发和相关***电路并清空路由表,一个通信周期宣布结束,进入休眠状态。并且按照约定的休眠时间,各个节点自行苏醒。
加权值的计算方法如下:加权值=a*电池电压+b*信号强度,所述的a是电池电压在加权值的比重,b是信号强度占加权值的比重;并且a+b=1。
Claims (5)
1.多跳自组织可休眠路由算法,其特征是该路由算法的整个通信过程由以下阶段组成:(1)协调器节点向路由节点发起组网命令阶段;(2)路由节点组网阶段;(3)数据上行和下行传输阶段;(4)网络休眠阶段;
所述路由节点组网阶段包括以下的具体步骤:
步骤1-1:每一个通信周期开始时,由网络中的协调器节点广播一条“组网消息”,消息内容包含自身的地址信息,自身的能量强度值和信号强度值;
步骤1-2:网络中路由节点在一个通信周期内第一次接收到“组网消息”时,立即启动一个本地组网定时器,该组网定时器用于限制组网阶段的最大时间;当该节点第一次接收到“组网消息”时,则开启该定时器,并倒数计时,当倒数计时完成之后,则宣告本路由节点的组网过程结束;
步骤1-3:在步骤1-2组网定时器倒数计时结束之前,该路由节点在接收到“组网消息”后,将所述“组网信息”中能量强度值和信号强度值进行加权平均得到路由选择值,此值和自身路由表中的每条能量和信号强度加权值进行比较:
若该节点路由表中的路由信息条数小于三条,则在路由表中登记目的地址、能量和信号强度信息;登记路由表时,将目的节点的地址信息、能量和信号强度的加权值按升序排列并存储;若路由表中的路由信息条数大于等于三条且新入路由信息的加权值大于路由表中最小一项的加权值,则需要更新路由表;更新路由表时,原有路由表中能量和信号强度加权值最小的一条路由信息将被删除,新入路由信息和保留的路由信息,按照加权值的大小升序排列的方式,更新路由表;
若路由表中的路由信息条数大于等于三条且新加入信息的加权值小于路由表中最小一项的加权值,则无需更新路由表中的信息;
步骤1-4:在步骤1-3完成之后,该路由节点发送本节点的唯一一次“组网消息”,以触发后续路由节点的组网过程;重复步骤1-3继续等待其它节点发来的“组网消息”,更新节点的路由表;
步骤1-5:在步骤1-2中,若组网定时器定时结束,则关闭该路由节点的组网功能,该节点不再接受和处理“组网消息”,该节点的路由表不再更新。
2.根据权利要求1所述的多跳自组织可休眠路由算法,其特征是路由节点在数据传输阶段包括以下几个步骤:
步骤2-1:在步骤1-5完成之后,组网定时器清零,该路由节点按照IEEE802.15.4的规范生成“数据帧”,根据所生成的节点上行路由表,选取路由表中加权值最大的上行节点作为上行路由节点地址,自动向上行传送一次节点自身数据即“数据帧”;在发送“数据帧”之后,节点需要等待上行节点回复“确认接收消息”;
步骤2-2:在步骤2-1中,若发送数据的节点没有收到上行节点的“确认接收消息”,则节点需要向该上行节点重发数据,若仍无收到“确认接收信息”则再次重发“数据帧”,直到重复发送的次数等于K次,其中,K不大于五次,则判定数据发送不成功;若发送数据的节点收到上行节点“确认接收信息”,则本次数据发送结束;
步骤2-3:在步骤2-2中,若目标节点超过K次,重发仍然没有回复,则路由节点需要重新选取上行节点,在本路由节点路由表中,删除发送不成功的上行节点地址;路由节点重新按照加权值的大小在路由表中选取加权值最大的一个新的上行地址,将该路由节点地址作为该次发送数据的上行路由节点地址,按照IEEE802.15.4的规范生成数据帧,并按照步骤2-1的数据发送过程重新发送数据,并等待对方节点确认接收回复,若对方节点确认接收则判定数据发送成功;若上行节点未回复“确认收到消息”,则根据步骤2-2所述,向上行节点重新发送“数据帧”;若重发“数据帧”之后,收到对方节点发送的“确认收到消息”,则判定数据发送成功;若仍无收到确认收到消息”则再次重发“数据帧”,直到重复发送的次数等于K次则判定数据发送不成功;
步骤2-4:上行路由节点在收到“数据帧”后,则查找自身上行路由表,按照2-2原则转发“数据帧”;
步骤2-5:在数据传输阶段,若节点收到来自协调器的“控制消息帧”,首先判定目标地址是否与自身地址一致;若一致,则节点按照控制消息的内容传送相关的数据或执行相关的指令;若不一致,则以广播方式转发该“控制消息帧”;其次判断跳数,若该“控制消息帧”的跳数已经达到最大跳数则抛弃该控制消息;若没有达到最大跳数则广播转发。
3.根据权利要求2所述的多跳自组织可休眠路由算法,其特征是该协调器节点在数据传输过程包括以下几个步骤:
步骤3-1:如步骤1-1所述,在发起一次组网过程之后,协调器节点就处于数据传输过程中,等待接收其它节点上传的数据;
步骤3-2:在步骤3-1中,每接收一条“数据帧”之后,协调器节点便启动一次数据定时器,进行定时计数,若在计时结束之前收到了下一条“数据帧”则重置计数器,并且将“数据帧”内容进行存储,若该数据的源节点是新加入节点,则在协调器节点的网络登记表中登记该源节点的地址信息,若已存在该源节点的地址信息,则不必在网络节点登记表中登记;若数据定时器定时到,则判定该次数据接收结束;
步骤3-3:在数据传输的过程中,若协调器需要向某一节点索要数据或者控制节点的状态,则需要向该节点发送“控制消息”;协调器节点发送“控制消息”时,需要重置数据定时器,保证协调器节点仍然处于数据传输过程中;“控制消息”通过广播的方式发送,“控制消息”中含有目的节点地址信息,其它节点收到之后,判断是否与自身节点地址相同,若地址信息与自身不相同则转发,直到传达到目的节点;若判断控制消息中的地址信息与自身节点地址一致,则根据控制消息中的指令执行;“该控制消息”规定有最大跳数M,当转发超过M数之后,后续不再转发该“控制消息”;协调器在发送“控制消息”之后,等待对方节点回复“数据消息”;若数据定时器时间到,则判定该次数据接收结束,协调器不再等待对方节点回复。
4.根据权利要求2所述的多跳自组织可休眠路由算法,其特征是节点休眠过程包括以下几个步骤:
步骤4-l:当数据定时器时间到,则协调器认为数据传输过程结束之后,协调器节点向全网广播发送“休眠消息”,休眠消息中带有时间戳,同时,协调器节点备份网络节点登记表;其它节点在收到广播的休眠消息之后按照时间戳中的时间,考虑传输延迟后,设定休眠时间,并广播转发该“休眠消息”,然后关闭无线收发和相关***电路并清空路由表,一个通信周期宣布结束,进入休眠状态,并且按照约定的休眠时间,各个节点自行苏醒。
5.根据权利要求1所述的多跳自组织可休眠路由算法,其特征是所述步骤1-3中的加权值的计算方法如下:加权值=a*电池电压+b*信号强度;所述的a>0是电池电压在加权值的比重,b>0是信号强度占加权值的比重,并且a+b=1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410631017.7A CN104320829B (zh) | 2014-11-12 | 2014-11-12 | 多跳自组织可休眠路由算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410631017.7A CN104320829B (zh) | 2014-11-12 | 2014-11-12 | 多跳自组织可休眠路由算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104320829A CN104320829A (zh) | 2015-01-28 |
CN104320829B true CN104320829B (zh) | 2017-10-24 |
Family
ID=52375980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410631017.7A Active CN104320829B (zh) | 2014-11-12 | 2014-11-12 | 多跳自组织可休眠路由算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104320829B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106550437B (zh) * | 2015-09-21 | 2021-03-26 | 浙江吉利控股集团有限公司 | 降低ZigBee网络***耗能的装置及方法 |
CN105611614B (zh) * | 2016-01-05 | 2019-12-24 | 上海建工集团股份有限公司 | 无线监测的路由节点自反馈休眠唤醒的方法及*** |
CN108075912B (zh) * | 2016-11-11 | 2022-09-27 | 中兴通讯股份有限公司 | 网络中心节点的确定方法、装置及设备节点 |
CN108617007A (zh) * | 2016-12-01 | 2018-10-02 | 富士通株式会社 | 数据传输方法和装置 |
CN110798262B (zh) * | 2019-10-23 | 2023-02-24 | 中国海洋大学 | 一种水下无线光通信网络 |
CN110839213B (zh) * | 2019-10-25 | 2022-06-21 | 南京英锐祺科技有限公司 | 一种广播方法和*** |
CN113141579B (zh) * | 2020-01-19 | 2022-05-13 | 深圳市云海物联科技有限公司 | 无线通信方法、装置和*** |
CN113286347B (zh) * | 2020-02-19 | 2024-06-14 | 摩点物联创意科技股份有限公司 | 无线网络建构方法 |
CN115209507A (zh) * | 2020-03-20 | 2022-10-18 | 兰笺(苏州)科技有限公司 | 无线通信*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272330A (zh) * | 2008-04-14 | 2008-09-24 | 哈尔滨炎升科技有限公司 | 基于无线传感器网络技术的数据传输和定位*** |
CN102761941A (zh) * | 2011-04-28 | 2012-10-31 | 北京云天创科技有限公司 | 一种超低功耗无线智能网络协议 |
CN103338142A (zh) * | 2013-06-05 | 2013-10-02 | 山东大学 | 基于IEEE802.15.4g的无线自组网***及工作方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040018839A1 (en) * | 2002-06-06 | 2004-01-29 | Oleg Andric | Protocol and structure for mobile nodes in a self-organizing communication network |
-
2014
- 2014-11-12 CN CN201410631017.7A patent/CN104320829B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272330A (zh) * | 2008-04-14 | 2008-09-24 | 哈尔滨炎升科技有限公司 | 基于无线传感器网络技术的数据传输和定位*** |
CN102761941A (zh) * | 2011-04-28 | 2012-10-31 | 北京云天创科技有限公司 | 一种超低功耗无线智能网络协议 |
CN103338142A (zh) * | 2013-06-05 | 2013-10-02 | 山东大学 | 基于IEEE802.15.4g的无线自组网***及工作方法 |
Non-Patent Citations (1)
Title |
---|
基于ZigBee的无线通信网络节点设计与组网实现;王延年等;《纺织高校基础科学学报》;20120331;97-101 * |
Also Published As
Publication number | Publication date |
---|---|
CN104320829A (zh) | 2015-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104320829B (zh) | 多跳自组织可休眠路由算法 | |
US7916666B2 (en) | Reliable broadcast protocol and apparatus for sensor networks | |
CN105792305B (zh) | 一种超低功耗无线数据传输网络设计方法 | |
CN103078795B (zh) | 提高无线网络吞吐量的协作路由方法 | |
CN102340838B (zh) | 无线体域网中延长网络生存时间的媒体接入控制方法 | |
CN103338495B (zh) | 基于leps协议的双向能量均衡无线传感网路由方法 | |
CN103209435B (zh) | 基于拥塞控制的无线多跳网多播方法 | |
CN104394566A (zh) | 一种基于模糊决策的低功耗自适应分簇多跳无线传感器网络拓扑控制方法 | |
CN102413539B (zh) | 基于地理位置的大规模无线分布式网络自适应协作路由方法 | |
CN104936249A (zh) | 一种适用于无线网络的路由自愈方法 | |
CN105072658B (zh) | 一种网络数据采集控制***及无线路由方法 | |
CN107222903A (zh) | 异步低占空比wsn中基于相长干涉的数据收集方法 | |
CN109104704A (zh) | 用于水产养殖物联网环境调控***的应用及调控方法 | |
CN105050077B (zh) | 一种分簇链式无线传感网数据传输方法 | |
CN106686680A (zh) | 一种用于车联网的路由优化***及方法 | |
CN106412997B (zh) | 一种面向异步传感器网络hr-mm广播协议的实现方法 | |
CN102868507B (zh) | 基于传输可靠率的分段arq方法 | |
KR20090034111A (ko) | 지그비 네트워크에서 질의 기반의 경로 탐색을 수행하는지그비 메쉬 라우팅 방법 | |
CN107820225B (zh) | 一种能量均衡的无线传感网络节点代码分发方法 | |
CN105657774A (zh) | 无线自组织网络中自适应核心转发网络的建立方法和*** | |
CN110493843A (zh) | 基于圆环形全向天线模型的3d-gpsr路由方法 | |
CN102231891B (zh) | 物联网末端数据采集路由方法 | |
CN110167095A (zh) | 一种基于费马点的移动Ad-Hoc网络路由算法 | |
CN104486808B (zh) | 占空比无线传感器网络最小期望延迟路由方法 | |
Roy et al. | Performance optimization of ad hoc on demand vector routing protocol in cognitive radio network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: 221116 No. 1 University Road, copper mountain, Jiangsu, Xuzhou Patentee after: China University of Mining & Technology Address before: 221116 Jiangsu Province, Xuzhou City Quanshan District of Wenchang campus of China University of Mining and Technology Patentee before: China University of Mining & Technology |
|
CP02 | Change in the address of a patent holder |