基于树形无线传感器网络的路由方法和装置及传感器设备的制作方法

文档序号:7579136阅读:145来源:国知局
专利名称:基于树形无线传感器网络的路由方法和装置及传感器设备的制作方法
技术领域
本发明涉及无线传感器网络技术领域,更具体的说是涉及基于树形无线传感器网 络的路由方法和装置及传感器设备。
背景技术
无线传感器网络将传感器技术、通信技术、计算机技术结合在一起,具有信息采 集、传输和处理的能力。传感器网络最初起源于军事领域,但随着传感器网络技术的发展, 它的应用范围也越来越广,在环境监测、智能农业和智能家居等领域具有广泛的应用前景。无线传感器网络中的传感器节点是一个具有信息收集和处理能力的微系统。传感 器节点能与其他节点之间进行通讯,但节点的通讯距离有限,因此当源节点需要与目标传 感器节点进行通讯时,则需要通过中间节点进行路由,这样每个节点即可以是信息的发起 者,也可以是信息的转发者。对于无线传感器网路的路由方法,一般常见的为树形拓扑结构的路由方式。树形 拓扑结构的路由方式非常简单,每次报文转发都在父、子节点之间进行。也就是说,当源节 点需要与目标传感器节点进行通讯时,首先将报文转发至其父节点或子节点,收到该报文 的节点也按同样的方式将报文转发给对应的父节点或子节点,直至该报文被传送至目标传 感器节点。在现有的树形网络中由于每次报文转发都只能在父子节点间进行,因此报文从 源节点传输到目标传感器节点的时间较长,路由传输效率低。

发明内容
有鉴于此,本发明提供基于树形无线传感器网络的路由方法和装置及传感器设 备,能提高报文的路由传输效率。为实现上述目的,本发明提供如下技术方案一种基于树形无线传感器网络的路 由方法,预先根据各个传感器节点在树形网络中所处的层次以及层内位置,为传感器节点 分配短地址,所述路由方法包括根据待发送的报文查询目标传感器节点的短地址;查询预先建立的邻居表,获取当前传感器节点的各个邻居节点的短地址;依据所述各个邻居节点的短地址和所述目标传感器节点的短地址,分别计算各个 邻居节点到目标传感器节点的基本路由跳数;根据所述计算得到的各个基本路由跳数,从所述邻居节点中选择下一跳节点,将 所述报文转发到所述下一跳节点。优选的,所述短地址由传感器节点在树形无线传感器网络中的层次号和层内网络 序号组成。优选的,该方法还包括在一个通信周期内,接收其他传感器节点发送的同步报 文,将发送同步报文的传感器节点作为当前传感器节点的邻居节点,将该邻居节点的网络 信息添加到邻居表中,其中,所述网络信息包括短地址。
优选的,所述邻居表中还保存有邻居节点的生存期系数,所述方法还包括如果在一个通信周期内未接收到邻居表中的某邻居节点发送的同步报文,则降低 该邻居节点的生存期系数;当邻居表中的某邻居节点的生存期系数为零时,将该邻居节点从邻居表中删除。优选的,所述依据各个邻居节点的短地址和目标传感器节点的短地址,分别计算 各个邻居节点到目标传感器节点的基本路由跳数,包括根据各个邻居节点的层次号和层内网络序号以及目标传感器的层次号和层内网 络序号,分别查询各个邻居节点与目标传感器节点间共同的父节点,并分别依据各个邻居 节点和目标传感器节点到所述父节点间的层次差,计算各个邻居节点到目标节点的基本路 由跳数。优选的,所述根据各个邻居节点的层次号和层内网络序号以及目标传感器的层次 号和层内网络序号,分别查询各个邻居节点与目标传感器节点间共同的父节点,并分别依 据各个邻居节点和目标传感器节点到所述父节点间的层次差,计算各个邻居节点到目标节 点的基本路由跳数,具体包括根据各个邻居节点的层次号Ll以及目标传感器节点的层次号L2,计算各个邻居 节点与目标传感器节点之间的第一层次差Tl,其中Tl = L1-L2 ;分别将各个邻居节点与目标传感器节点的层次号对比,确定层次较深节点和层次 较浅节点,逐层向上查询所述层次较深节点的父节点,直到找到与层次较浅节点处于同一 深度的传感器节点Ml ;根据所述层次较浅的节点的层内网络序号,以及所述与层次较浅的节点处于同一 深度的传感器节点Ml的层内网络序号,确定这两个处于同一深度的节点的父节点M2 ;根据所述节点Ml的层次号L3以及所述父节点M2的层次号L3,计算所述节点Ml 和所述父节点M2之间的第二层次差T2,其中T2 = L3-L4 ;根据第一层次差Tl和第二层次差T2计算邻居节点到目标传感器节点的基本路由 跳数 Hop,其中,Hop = Tl+T2*2。优选的,所述根据所述计算得到的各个基本路由跳数,从所述邻居节点中选择下 一跳节点,将所述报文转发到所述下一跳节点,包括根据所述计算得到的各个基本路由跳数,从所述邻居表中选择最小基本路由跳数 对应的邻居节点作为下一跳节点,将所述报文转发到所述下一跳节点。本发明还提供了一种基于树形无线传感器网络的路由装置,预先根据各个传感器 节点在树形网络中所处的层次以及层内位置,为传感器节点分配短地址,所述路由装置包 括报文分析单元,用于根据待发送的报文查询目标传感器节点的短地址;邻居表查询单元,用于查询预先建立的邻居表,获取当前传感器节点的各个邻居 节点的短地址;路由跳数计算单元,用于依据所述各个邻居节点的短地址和所述目标传感器节点 的短地址,分别计算各个邻居节点到目标传感器节点的基本路由跳数;节点选择单元,用于根据所述计算得到的各个基本路由跳数,从所述邻居节点中 选择下一跳节点,将所述报文转发到所述下一跳节点。
优选的,所述短地址由传感器节点在树形无线传感器网络中的层次号和层内网络 序号组成。优选的,该路由装置还包括邻居表建立单元,用于在一个通信周期内,接收其他传感器节点发送的同步报文, 将所述发送同步报文的传感器节点作为当前传感器节点的邻居节点,将该邻居节点的网络 信息添加到邻居表中,其中,所述网络信息包括短地址。优选的,所述邻居表建立单元还包括系数保存单元,用于在邻居表中保存邻居节点的生存期系数;系数变化单元,用于当在一个通信周期内,未接收到邻居表中的某邻居节点发送 的同步报文时,降低将该邻居节点的生存期系数;节点删除单元,用于当邻居表中的某邻居节点的生存期系数为零时,将该邻居节 点从邻居表中删除。优选的,所述路由跳数计算单元包括路由跳数计算子单元,用于根据各个邻居节点的层次号和层内网络序号以及目标 传感器的层次号和层内网络序号,分别查询各个邻居节点与目标传感器节点间共同的父节 点,并分别依据各个邻居节点和目标传感器节点到所述父节点间的层次差,计算各个邻居 节点到目标节点的基本路由跳数。优选的,所述节点选择单元包括节点选择子单元,用于根据所述计算得到的各个基本路由跳数,从所述邻居表中 选择最小基本路由跳数对应的邻居节点作为下一跳节点,将所述报文转发到所述下一跳节点ο本发明还提供了一种传感器设备,包括以上所述的基于树形无线传感器网络的路由装直ο经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于树形无 线传感器网络的路由方法和装置及传感器设备,本发明的方法预先根据各个传感器节点在 树形网络中所处的层次和层内位置,为每个传感器节点分配短地址,需要发送报文的当前 传感器节点在报文中获取目标传感器节点的短地址,并从预先建立的邻居表中获取各个邻 居节点的短地址,然后根据各个邻居节点的短地址和目标传感器节点的短地址,计算各个 邻居节点到目标传感器节点的基本路由跳数,并从邻居节点中选择下一跳节点。本发明的 方法在进行报文转发时,可以根据目标传感器节点的短地址以及当前传感器节点的邻居节 点的短地址,计算得到各邻居节点到目标传感器节点的基本路由跳数,并从邻居中选择下 一跳节点,因此选择下一跳节点时,可以根据基本路由跳数选择节点,减少了报文转发过程 中的路由跳数,从而减少了报文传递时间,提高了报文的路由传输效率。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据 提供的附图获得其他的附图。6
图1为本发明实施例的一种基于树形无线传感器网络的路由方法的步骤流程图;图2为本发明实施例初始化无线网络结构中的传感器节点位置示意图;图3为发明实施例的将网关节点作为建立树形网络拓扑结构的根节点,根节点为 其子节点分配的短地址后的树形结构示意图;图4为本发明实施例中所有传感器节点均完成短地址分配后的树形结构示意图;图5为本发明实施例中最终建立的树形结构示意图;图6为本发明实施例中依据短地址计算基本路由跳数的结构示意图;图7为本发明实施例中一种基于树形无线传感器网络的路由装置的结构示意图;图8为本发明另一实施例中一种基于树形无线传感传感器网络的路由装置的结 构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。参见图1,为本发明实施例一种基于树形无线传感器网络的路由方法的步骤流程 图,预先根据各个传感器节点在树形网络中所处的层次以及层内位置,为传感器节点分配 短地址,所述路由方法包括步骤SlOl 根据待发送的报文查询目标传感器节点的短地址;其中,报文是网络中交换与传输的数据单元。报文包含了将要发送的完整的数据 信息,还包含了源节点和目标传感器节点的短地址等信息。短地址是在树形网路的组建过程中,根据每个传感器节点在树形网路中所处的层 次以及层内位置,为每个传感器节点分配无线网络内的唯一的地址,在后续进行数据通讯 时,每个传感器节点都使用该短地址进行通讯。当前传感器节点可以为发送报文的源节点,也可以为报文传递过程中的中间进行 报文转发的中间传感器节点。目标传感器节点是指报文最终后传递到的节点。当前传感器 节点通过对报文的分析,就可以获取到该报文需要发送的目标传感器节点的地址,在本发 明中目标传感器的地址是以短地址的形式标示的。步骤S102 查询预先建立的邻居表,获取当前传感器节点的各个邻居节点的短地 址;在进行路由节点选择前,当前传感器节点需要预先建立邻居表,该邻居表中保存 有能与当前传感器节点进行通讯的所有传感器节点的网络信息。其中传感器节点的网络信 息包括传感器节点的短地址,还可以包括发送报文的链路质量信息等。通过查询该邻居表 能获取到当前传感器节点的各个邻居节点的短地址。步骤S103 依据所述各个邻居节点的短地址和所述目标传感器节点的短地址,分 别计算各个邻居节点到目标传感器节点的基本路由跳数;在获取到当前传感器节点的邻居节点的短地址和目标传感器节点的短地址后,可 以根据短地址计算各个邻居节点到目标传感器节点的基本路由跳数。
其中,基本路由跳数是指传感器节点按照树形拓扑结构通过父节点或子节点转发 报文的形式,最终将报文转发到目标传感器节点所需的路由跳数。跳数也就是报文传递过 程中经过的节点个数。步骤S104 根据所述计算得到的各个基本路由跳数,从所述邻居节点中选择下一 跳节点,将所述报文转发到所述下一跳节点。在得到各个邻居节点到目标传感器节点的基本路由跳数后,就可以在邻居节点中 选择下一跳节点,将报文转发给该下一跳节点。根据计算的基本路由跳数选择下一跳节点时,可以为根据所述计算得到的各个 基本路由跳数,从所述邻居表中选择最小基本路由跳数对应的邻居节点作为下一跳节点, 将所述报文转发到所述下一跳节点。当然在邻居表中也可以获取到邻居节点的链路质量信息,从邻居节点中选择下一 跳节点时,也可以依据邻居节点到目标传感器节点的基本路由跳数以及邻居节点的链路质 量,再从邻居节点中选择一个传感器节点作为下一跳节点。也就是说,在邻居节点中选择下 一跳节点时可以综合邻居节点到目标传感器节点的基本路由跳数以及邻居节点的链路质 量情况,选择下一跳节点,以提高路由效率。其中,短地址为由传感器节点在树形网络中层次号和层内网络序号组成。短地址 是在树形网络建立过程中由系统根据传感器节点的在树形网络中的位置进行分配的,在进 行路由各个传感器节点的短地址已经预先分配好。层次号代表传感器节点在树形无线传感 器网络中的层次;层内网络序号是根据传感器节点在树形无线传感器网路中某一层内的子 节点链表中的位置,确定传感器节点在该层的具体位置的标号。预先根据各个传感器节点在树形网络中所处的层次以及层内位置,为传感器节点 分配短地址的过程具体为首先规定树形网络根节点的层次号和层内网络序号均为零;根节点将自身层次号加一,得到其子节点的层次号;根节点根据层内网络序号和最大子节点数确定其子节点的基本层内序号;根节点根据其子节点在子节点链表中的位置,以及其子节点的基本层内序号,确 定其子节点的层内网络序号;根节点分别将其每个子节点的层次号和层内网络序号合成短地址,并将短地址分 配给对应的子节点;已分配到短地址的传感器节点根据其自身的层次号和层内序号,按照上述步骤为 其子节点分配相应的短地址,直至树形网络中所有节点均分配到短地址。其中,每个传感器节点的基本层内序号可以由其父节点的层内序号乘以该父节点 的最大子节点数得到。进一步的,在当前传感器节点中预先分配短地址可以为接收当前传感器节点的 父节点分配的短地址,并依据短地址中的层次号和层内网络序号为当前传感器节点的子节 点分配短地址。当前传感器节点分配短地址的过程具体包括步骤A 接收当前传感器节点的父节点为当前传感器节点分配的短地址;步骤B 获取当前传感器节点的短地址中的层次号和层内网络序号;步骤C:将当前传感器节点的层次号递增,得到当前传感器节点的子节点的层次号;步骤D 根据当前传感器节点的层内网络序号以及当前传感器节点的子节点在子 节点链表中的位置,确定当前传感器节点的子节点的层内网络序号;步骤E 将所述子节点层次号和层内网络序号合成子节点的短地址,并将所述子 节点的短地址分配给当前传感器节点对应的子节点。另外,短地址的格式可以为16位的地址格式,其中高四位为短地址的高4位表示 层次序号,低12位表示层内序号。为了能更清楚的描述短地址的分配过程,参见图2和图3,图2为初始化的无线传 感器网络。该网络中包含网关节点0和普通的传感器节点1、2、3、4、5、6、7、8、9、10、11、12、 13和14。除网关节点外其它传感器节点都处于对等地位,传感器节点之间的虚线表示两个 节点之间存在物理链路,其中,物理链路是指两传感器节点都处在对方无线信号覆盖范围 内,具备相互通信的能力。将图2中的初始化网络按照牡2的规模进行树形网络的组建,其 中牡2的网络规模是指网络的最大层次数为4,每个节点的最大子节点数为2。图3为将图2中的传感器节点0和传感器节点1作为网关节点的子节点添加到无 线网络中,网关节点为该树形网络拓扑中的根节点。其中,网关节点0具有固定的层次序号 0和层内序号0,因此网关节点的短地址为0x0000。网关节点0在为传感器节点1和传感器节点2分配短地址时首先根据自身的层次 序号,计算传感器节点ι和2的层次号,根据短地址分配方法可知传感器节点1和2的层次 号为1。然后根据网关节点的层内序号计算其子节点的基本层内序号,子节点的基本层内序 号可由父节点的层内序号乘以最大子节点数计算得到,因此传感器节点1和2的基本层内 序号都为0。在根据网关节点的子节点在子节点链表中的位置,即传感器节点1是网关节 点的第一个子节点,传感器节点2是网关节点的第二个子节点,因此传感器节点1的层内序 号为0,传感器节点2层内序号为1 ;因此传感器节点1和传感器节点2的层内网络序号分 别为0和1。最后传感器节点1的层次号为1,层内网络序号为0 ;传感器节点2的层次号 为1、层内网络序号为1 ;因此将传感器节点1和传感器节点2的层次号和层内网络序号整 合成的16为短地址分别为0x1000和0x1001。按同样的短地址分配方式,就可以完成其它传感器节点的短地址分配,最终树形 网络中传感器节点的短地址如图4所示,其中传感器节点内部的数字表示传感器节点的层 内网络序号,外部的16进制数字表示传感器节点的短地址。在将初始网络中的各传感器节点之间的物理链路加入树形网络后,在树形网络的 拓扑结构如图5所示,其中,实线表示父子节点之间的链路,虚线表示各传感器节点之间存 在的物理链路,可以互发报文。传感器节点内部的数字表示传感器节点的层次号,外部的16 进制数字表示传感器节点的短地址。在进行路由选择的过程中需要在邻居表中选择邻居节点,而不是仅选择当前传感 器节点的父节点或子节点进行报文转发,因此本发明的方法还包括在一个通信周期内, 接收其他传感器节点发送的同步报文,将所述发送同步报文的传感器节点作为当前传感器 节点的邻居节点,将该邻居节点的网络信息添加到邻居表中,其中,所述网络信息包括短地 址。也就是说,将所有具备与当前传感器节点进行通讯的其他传感器节点添加到邻居表中, 这样进行在当前传感器节点在为待发送报文选择下一跳节点时,就可以在邻居表中进行选9择,而不仅仅是在父节点或子节点中选择下一跳节点。添加当前传感器的邻居节点到邻居表中的过程具体为在一个通信周期内,接收 其他传感器节点发送的同步报文,判断邻居表中是否已经存在所述发送同步报文的传感器 节点的网络信息,如果否,则将所述发送同步报文的传感器节点作为当前传感器节点的邻 居节点,将该邻居节点的网络信息添加到邻居表中。另外,对于建立的邻居表,还需要在一个通信周期内更新邻居表中的传感器节点, 如删除无效的邻居节点,可以为邻居表中的邻居节点保存对应的生存期系数,当某传感器 节点的生存期系数为零时,从当前传感器节点的邻居表中删除该传感器节点。具体的为如 果在一个通信周期内,未接收到邻居表中的邻居节点发送的同步报文,则降低将该邻居节 点的生存期系数;当邻居表中的某邻居节点的生存期系数为零时,则将该邻居节点从邻居 表中删除。其中降低邻居表中的系数可以为在一个通信周期内,如未接收到某邻居节点发 送的同步报文,则将该邻居节点的生存期系数减一。例如,参见图5,在一个通信周期内,网关节点0首先发送同步报文,能收到此报文 的传感器节点有传感器节点1、2和3,其中传感器节点1和2为网关节点的子节点,,传感 器节点1和传感器节点2将添加网关节点为其邻居节点,同时传感器节点1和传感器节点 2将转发同步报文;传感器节点3不是网关节点的子节点,则传感器节点3将判断网关节点 的信号质量,当网关节点的信号质量大于设定的阀值时,传感器节点3将网关节点添加为 邻居节点,并设置邻居节点的生存期系数,当网关节点的信号质量小于预设的阀值时,传感 器节点3则不添加网关节点为其邻居节点。也就是说,当某传感器节点收到其父节点发送 的同步报文时,将直接添加其父节点为邻居节点;当某传感器节点收到其他传感器节点发 送的同步报文时,只有当发送同步报文的传感器节点的信号质量大于预设的阀值时,该传 感器节点才会添加发送同步报文的传感器节点为邻居节点。同时只有某传感器节点收到其 父节点发送的同步报文时,该传感器节点才会转发该同步报文。当其它传感器节点收到同 步报文时也按照相同的方式进行邻居节点的添加,直至所有的节点都已发送过同步报文为 止。以传感器节点3为例,其最终的邻居表中添加的邻居节点包括传感器节点0、1、2、5、 7、9、10和14,并在传感器节点3的邻居表中记录有这些邻居节点的短地址信息、链路质量、 信号质量和相应的生存期系数等。在无效邻居节点删除时,仍以传感器节点3为例,如果传感器节点3的邻居表中的 每个传感器节点的生存期系数都为5,假设在5个通信周期内都没有收到传感器节点0发送 的同步报文,则传感器节点3会将传感器节点0的相关信息从其邻居表中删除。传感器节 点3的最终有效邻居节点为传感器节点1、2、5、7、9、10和14。其中步骤S103中,依据各个邻居节点的短地址和目标传感器节点的短地址,分别 计算各个邻居节点到目标传感器节点的基本路由跳数,包括根据各个邻居节点的层次号和层内网络序号以及目标传感器的层次号和层内网 络序号,分别查询各个邻居节点与目标传感器节点间共同的父节点,并分别依据各个邻居 节点和目标传感器节点到所述父节点间的层次差,计算各个邻居节点到目标节点的基本路 由跳数。进一步的,依据各个邻居节点的短地址和目标传感器节点的短地址,分别计算各个邻居节点到目标传感器节点的基本路由跳数,可以包括步骤1 根据各个邻居节点的层次号Ll以及目标传感器节点的层次号L2,计算各 个邻居节点与目标传感器节点之间的第一层次差Tl,其中Tl = L1-L2 ;步骤2 分别将各个邻居节点与目标传感器节点的层次号对比,确定层次较深节 点和层次较浅节点,逐层向上查询所述层次较深节点的父节点,直到找到与层次较浅节点 处于同一深度的节点Ml ;步骤3 根据所述层次较浅的节点的层内网络序号,以及所述与层次较浅的节点 处于同一深度的节点Ml的层内网络序号,确定这两个处于同一深度的节点的父节点M2 ;步骤4 根据所述节点Ml的层次号L3以及所述父节点M2的层次号L4,计算所述 节点Ml和所述父节点M2之间的第二层次差T2,其中T2 = L3-L4 ;步骤5 根据第一层次差Tl和第二层次差T2计算邻居节点到目标传感器节点的 基本路由跳数Hop,其中,Hop = Tl+T2*2。为了能更清楚的描述计算各个邻居节点到目标传感器节点的基本路由跳数的方 法,参见图6,当前传感器节点的一个邻居节点Al的层次号为Li,目标传感器节点Α2的层 内网络序号为L2,则首先计算邻居节点Al到目标传感器节点的第一层次差Tl = I L1-L2 =2 ;由邻居节点和目标节点的层次号可知邻居节点Al处于较深的层次,目标传感器节点 Α2处于较浅的层次,找到邻居节点Al的父节点A3使其与目标传感器节点处于同一层次的 层次号L3,然后找到传感器节点A3和目标传感器节点Α2的共同父节点Α4的层次号L4,计 算传感器节点Α4和目标传感器节点Α2 (处于较浅层的传感器节点)之间的第二层次差Τ2 =I L3-L4 I = 1,则传感器节点Al到目标传感器节点Α2的基本路由跳数为Hop = Tl+T2*2 =2+1*2 = 4。当然也可以是计算邻居节点和目标传感器节点到二者之间共同的父节点之间的 层次差,然后对邻居节点到共同父节点之间的层次差和目标传感器到共同父节点之间的层 次差求和,即可得到邻居节点到目标传感器的基本路由跳数。根据计算得到的基本路由跳数在邻居节点中选择邻居节点作为下一跳节点,这样 在进行报文转发时可以在所有与能与当前传感器节点进行报文转发的节点中选择路由节 点,而不仅仅限制于选择当前传感器节点的父节点或子节点,这样就可以根据需要在邻居 节点中选择下一跳节点,提高路由效率。当然可以在邻居节点中选择具有最小基本路由跳数对应的邻居节点作为下一跳 节点,从而减少数据传输的跳数,提高数据传输的效率。也可以同时考虑网络中传感器节点 间的链路情况,从而在邻居节点中选择下一跳节点。以选择具有最小基本路由跳数的节点对应的邻居节点作为下一跳节点为例进行 说明,参见图6,并结合前面计算基本路由跳数的方法,假设传感器节点14要将报文传给传 感器节点9,传感器节点14计算邻居表中各邻居节点到传感器节点9的跳数传感器节点 11到传感器节点9的跳数为5跳;传感器节点1到传感器节点9的跳数为4跳;传感器节 点3到传感器节点9的跳数为1跳;传感器节点6到传感器节点9的跳数为6跳。然后,传 感器节点14根据各邻居计算得到的跳数选择具有最小跳数的节点作为下一跳节点,因此 报文从传感器节点14传送至传感器节点3。传感器节点3在接收到报文后发现自己并非报 文的最终目的节点,则传感器节点3按照同样的方式进行报文的路由传输,于是该报文被传送至传感器节点9。传感器节点9在收到报文后发现自身就是报文传输的最终节点,则此 次报文路由传输结束。通过比较原有树形路由可知按照原有树形网络的路由方式,报文的传输路径为 经过传感器节点14、传感器节点11、传感器节点1、传感器节点0、传感器节点2、传感器节 点3、传感器节点9 ;但是按照本发明的自适应路由方式,报文的传输路径为经过传感器节 点14、传感器节点3、传感器节点9,很明显本发明的路由方式可以有效的减少数据传输的 跳数,从而提高数据的传输效率。对应本发明的方法,参见图7,本发明还提供了一种基于树形无线传感器网络的路 由装置,预先根据各个传感器节点在树形网络中所处的层次以及层内位置,为传感器节点 分配短地址,所述路由装置包括报文分析单元701,用于根据待发送的报文查询目标传感器节点的短地址;邻居表查询单元702,用于查询预先建立的邻居表,获取当前传感器节点的各个邻 居节点的短地址;路由跳数计算单元703,用于依据所述各个邻居节点的短地址和所述目标传感器 节点的短地址,分别计算各个邻居节点到目标传感器节点的基本路由跳数;节点选择单元704,用于根据所述计算得到的各个基本路由跳数,从所述邻居节点 中选择下一跳节点,将所述报文转发到所述下一跳节点。其中,短地址由传感器节点在树形网络中层次号和层内网络序号组成。短地址是 在树形网路的组建过程中,根据每个传感器节点在树形网路中所处的层次以及层内位置, 为每个传感器节点分配无线网络内的唯一的地址,在后续进行数据通讯时,每个传感器节 点都使用该短地址进行通讯。其中,层次号代表传感器节点在树形无线传感器网络中的层 次;层内网络序号是根据传感器节点在树形无线传感器网路中某一层内的子节点链表中的 位置,确定传感器节点在该层的具体位置的标号。本发明为了实现在进行路由选择时,不仅仅在父节点或子节点中选择路由节点, 可以在邻居表中选择下一跳节点,因此参见图8,本发明的路由装置还包括邻居表建立单元850,用于在一个通信周期内,接收其他传感器节点发送的同步报 文,将所述发送同步报文的传感器节点作为当前传感器节点的邻居节点,将该邻居节点的 网络信息添加到邻居表中,其中,所述网络信息包括短地址。进一步的,所述邻居表建立单元具体包括判断单元851,用于在一个通信周期内,接收其他传感器节点发送的同步报文,判 断邻居表中是否已经存在所述发送同步报文的传感器节点的网络信息,如果否,则执行节 点添加单元的;节点添加单元852,用于当判断单元确定邻居表中不存在所述发送同步报文的传 感器节点的网络信息时,将所述发送同步报文的传感器节点作为当前传感器节点的邻居节 点,将该邻居节点的网络信息添加到邻居表中。为了维护邻居表,删除无效的邻居节点,邻居表建立单元还包括系数保存单元853,用于在邻居表中保存邻居节点的生存期系数;系数变化单元854,用于当在一个通信周期内,未接收到邻居表中的某邻居节点发 送的同步报文时,降低将该邻居节点的生存期系数;
节点删除单元855,用于当邻居表中的某邻居节点的生存期系数为零时,将该邻居 节点从邻居表中删除。进一步的,路由跳数计算单元830包括路由跳数计算子单元831,用于根据各个 邻居节点的层次号和层内网络序号以及目标传感器的层次号和层内网络序号,分别查询各 个邻居节点与目标传感器节点间共同的父节点,并分别依据各个邻居节点和目标传感器节 点到所述父节点间的层次差,计算各个邻居节点到目标节点的基本路由跳数。所述节点选择单元840包括节点选择子单元841,用于根据所述计算得到的各个基本路由跳数,从所述邻居表 中选择最小基本路由跳数对应的邻居节点作为下一跳节点,将所述报文转发到所述下一跳 节点。其中,图8中的报文分析单元810、邻居表查询单元820、路由跳数计算单元830和 节点选择单元840分别与图7中的报文分析单元701、邻居表查询单元702、路由跳数计算 单元703和节点选择单元704的作用相同。另外,本发明还提供了一种传感器设备,包括以上所描述的基于树形无线传感器 网络的路由装置。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他 实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置 而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说 明即可。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。 对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的 一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明 将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一 致的最宽的范围。
权利要求
1.一种基于树形无线传感器网络的路由方法,其特征在于,预先根据各个传感器节点 在树形网络中所处的层次以及层内位置,为传感器节点分配短地址,所述路由方法包括根据待发送的报文查询目标传感器节点的短地址; 查询预先建立的邻居表,获取当前传感器节点的各个邻居节点的短地址; 依据所述各个邻居节点的短地址和所述目标传感器节点的短地址,分别计算各个邻居 节点到目标传感器节点的基本路由跳数;根据所述计算得到的各个基本路由跳数,从所述邻居节点中选择下一跳节点,将所述 报文转发到所述下一跳节点。
2.根据权利要求1所述的方法,其特征在于,所述短地址由传感器节点在树形无线传 感器网络中的层次号和层内网络序号组成。
3.根据权利要求1所述的方法,其特征在于,还包括在一个通信周期内,接收其他传感器节点发送的同步报文,将发送同步报文的传感器 节点作为当前传感器节点的邻居节点,将该邻居节点的网络信息添加到邻居表中,其中,所 述网络信息包括短地址。
4.根据权利要求3所述的方法,其特征在于,所述邻居表中还保存有邻居节点的生存 期系数,所述方法还包括如果在一个通信周期内未接收到邻居表中的某邻居节点发送的同步报文,则降低该邻 居节点的生存期系数;当邻居表中的某邻居节点的生存期系数为零时,将该邻居节点从邻居表中删除。
5.根据权利要求2所述的方法,其特征在于,所述依据各个邻居节点的短地址和目标 传感器节点的短地址,分别计算各个邻居节点到目标传感器节点的基本路由跳数,包括根据各个邻居节点的层次号和层内网络序号以及目标传感器的层次号和层内网络序 号,分别查询各个邻居节点与目标传感器节点间共同的父节点,并分别依据各个邻居节点 和目标传感器节点到所述父节点间的层次差,计算各个邻居节点到目标节点的基本路由跳 数。
6.根据权利要求5所述的方法,其特征在于,所述根据各个邻居节点的层次号和层内 网络序号以及目标传感器的层次号和层内网络序号,分别查询各个邻居节点与目标传感器 节点间共同的父节点,并分别依据各个邻居节点和目标传感器节点到所述父节点间的层次 差,计算各个邻居节点到目标节点的基本路由跳数,具体包括根据各个邻居节点的层次号Ll以及目标传感器节点的层次号L2,计算各个邻居节点 与目标传感器节点之间的第一层次差Tl,其中Tl = L1-L2 ;分别将各个邻居节点与目标传感器节点的层次号对比,确定层次较深节点和层次较浅 节点,逐层向上查询所述层次较深节点的父节点,直到找到与层次较浅节点处于同一深度 的传感器节点Ml ;根据所述层次较浅的节点的层内网络序号,以及所述与层次较浅的节点处于同一深度 的传感器节点Ml的层内网络序号,确定这两个处于同一深度的节点的父节点M2 ;根据所述节点Ml的层次号L3以及所述父节点M2的层次号L3,计算所述节点Ml和所 述父节点M2之间的第二层次差T2,其中T2 = L3-L4 ;根据第一层次差Tl和第二层次差T2计算邻居节点到目标传感器节点的基本路由跳数Hop,其中,Hop = T1+T2M。
7.根据权利要求1所述的方法,其特征在于,所述根据所述计算得到的各个基本路由 跳数,从所述邻居节点中选择下一跳节点,将所述报文转发到所述下一跳节点,包括根据所述计算得到的各个基本路由跳数,从所述邻居表中选择最小基本路由跳数对应 的邻居节点作为下一跳节点,将所述报文转发到所述下一跳节点。
8.一种基于树形无线传感器网络的路由装置,其特征在于,预先根据各个传感器节点 在树形网络中所处的层次以及层内位置,为传感器节点分配短地址,所述路由装置包括报文分析单元,用于根据待发送的报文查询目标传感器节点的短地址;邻居表查询单元,用于查询预先建立的邻居表,获取当前传感器节点的各个邻居节点 的短地址;路由跳数计算单元,用于依据所述各个邻居节点的短地址和所述目标传感器节点的短 地址,分别计算各个邻居节点到目标传感器节点的基本路由跳数;节点选择单元,用于根据所述计算得到的各个基本路由跳数,从所述邻居节点中选择 下一跳节点,将所述报文转发到所述下一跳节点。
9.根据权利要求8所述的路由装置,其特征在于,所述短地址由传感器节点在树形无 线传感器网络中的层次号和层内网络序号组成。
10.根据权利要求8所述的路由装置,其特征在于,还包括邻居表建立单元,用于在一个通信周期内,接收其他传感器节点发送的同步报文,将所 述发送同步报文的传感器节点作为当前传感器节点的邻居节点,将该邻居节点的网络信息 添加到邻居表中,其中,所述网络信息包括短地址。
11.根据权利要求10所述的路由装置,其特征在于,所述邻居表建立单元还包括系数保存单元,用于在邻居表中保存邻居节点的生存期系数;系数变化单元,用于当在一个通信周期内未接收到邻居表中的某邻居节点发送的同步 报文时,降低将该邻居节点的生存期系数;节点删除单元,用于当邻居表中的某邻居节点的生存期系数为零时,将该邻居节点从 邻居表中删除。
12.根据权利要求9所述的路由装置,其特征在于,所述路由跳数计算单元包括路由跳数计算子单元,用于根据各个邻居节点的层次号和层内网络序号以及目标传感 器的层次号和层内网络序号,分别查询各个邻居节点与目标传感器节点间共同的父节点, 并分别依据各个邻居节点和目标传感器节点到所述父节点间的层次差,计算各个邻居节点 到目标节点的基本路由跳数。
13.根据权利要求8所述的路由装置,其特征在于,所述节点选择单元包括节点选择子单元,用于根据所述计算得到的各个基本路由跳数,从所述邻居表中选择 最小基本路由跳数对应的邻居节点作为下一跳节点,将所述报文转发到所述下一跳节点。
14.一种传感器设备,其特征在于,包括权利要求8-13任一项所述的基于树形无线传 感器网络的路由装置。
全文摘要
本发明公开了一种基于树形无线传感器网络的路由方法和装置及传感器设备,该方法预先根据各个传感器节点在树形网络中所处的层次以及层内位置,为传感器节点分配短地址,所述路由方法包括根据待发送的报文查询目标传感器节点的短地址;查询预先建立的邻居表,获取当前传感器节点的各个邻居节点的短地址;依据所述各个邻居节点的短地址和所述目标传感器节点的短地址,分别计算各个邻居节点到目标传感器节点的基本路由跳数;根据所述计算得到的各个基本路由跳数,从所述邻居节点中选择下一跳节点,将所述报文转发到所述下一跳节点。本发明的方法能提高传感器节点进行报文转发过程中的路由传输效率。
文档编号H04W84/18GK102056263SQ20111003364
公开日2011年5月11日 申请日期2011年1月31日 优先权日2011年1月31日
发明者冯冬芹, 吴炎彪, 杨大胜, 褚健 申请人:中控科技集团有限公司, 浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1