一种基于ZigBee网络的路由信息维护方法及装置与流程

文档序号:11158200阅读:484来源:国知局
一种基于ZigBee网络的路由信息维护方法及装置与制造工艺

本发明涉及ZigBee路由领域,尤其涉及一种基于ZigBee网络的路由信息维护方法及装置。



背景技术:

ZigBee网络(技术)是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通讯网络(技术)。现有的ZigBee网络(技术)中采用以下两种协议的结合体作为自身的路由协议:1)AODVjr(AODV Junior),这是ZigBee网络(技术)中使用的一种简化版本的AODV协议(Ad-HocOn-demand Distance Vector Routing,按需距离矢量路由协议),2)Cluster-Tree algorithm(树型网络结构路由协议)。

在ZigBee网络中采用的AODVjr协议,为了节省功耗,将定时发送的Hello数据包从AODV协议中精简掉了,使ZigBee网络中各节点不再维护属于自己的路由信息,变成完全按需查找路由。即,当某一个节点需要发送数据包时,每次都要先广播发送寻路报文以获取到达当前数据包的目的节点的路由信息,然后再根据此路由信息发送数据包,使数据包到达目的节点。

由于缺少了Hello数据包的存在,在ZigBee网络处于AODV模式时,每个节点都不会维护自己与其他节点的路由信息,在发送数据包时每次都要像上述所说的步骤一样,先广播发送寻路报文,在得到路由信息后再发送数据包,这一整个流程中,寻路过程非常耗时,且需要缓冲数据。当组网环境较简单的情况下,明明数据包只会通过几条路由进行发送,可是还是每次都需要重新发送寻路报文,得到相应的路由后,再发送数据包,这一过程会产生大量的广播报文,大部分广播出去的报文都是无效数据包,增加了网络负荷,且最终都要丢掉,大大降低了响应速度。当组网环境变化很大时,往往会产生无效的路由信息,但是由于缺少了Hello数据包的发送,不能很快检测到这个问题,从而使其响应速度变慢,大大降低了用户的使用体验。



技术实现要素:

本发明的目的是提供一种基于ZigBee网络的路由信息维护方法及装置,提高响应速度,提高用户的使用体验。

本发明提供的技术方案如下:

一种基于ZigBee网络的路由信息维护方法,包括:步骤S100当ZigBee网络处于AODV模式时,根据路由表,获取特定节点信息;步骤S200向所述特定节点信息对应的特定节点发送Hello数据包;步骤S300判断是否在预设时间内接收到所述特定节点反馈的所述Hello数据包的Hello回应包,若是,则执行步骤S400;步骤S400当接收到所述特定节点反馈的所述Hello回应包时,则完成与所述特定节点的路由信息的维护。

在上述技术方案中,ZigBee网络处于AODV模式时,增加Hello数据报文使每个节点开始维护自己的路由信息,考虑到ZigBee网络低功耗的需求,只与某一个特定节点维护路由信息,即当前节点只与它的一个特定节点维护路由信息。在后续需要发送数据包时,首先发送给与它有路由信息的特定节点,让此特定节点再发送给它的特定节点,以此类推,免去了现有技术中先寻路,再发送数据包的寻路过程,使各节点的响应速度更快,提高用户的使用体验。

进一步,所述步骤S100具体包括:步骤S110获取所述路由表中各节点信息;步骤S120根据所述节点信息,获取各所述节点信息对应的所述数据发送频率;步骤S130根据所述数据发送频率从高到低,对各所述节点信息进行排序,生成频率序列表;步骤S140将所述频率序列表中数据发送频率最高的所述节点信息设为所述特定节点信息。

在上述技术方案中,当前节点的特定节点是指,当前节点将数据包发送给下一跳的节点的频率最频繁的一个节点,数据发送频率最高说明当前节点与这个特定节点的路由信息使用最频繁,数据包发送给此特定节点的概率也最大,因此,可以维护与此特定节点的路由关系,便于后续提高数据包传输的速度。

进一步,所述步骤S300还包括:若否,则执行步骤S500;所述步骤S300之后还包括:步骤S500当未在所述预设时间内接到所述特定节点反馈的所述Hello回应包时,将所述频率序列表中所述特定节点信息的下一个节点信息设置为新的所述特定节点,并执行步骤S200。

在上述技术方案中,当前节点向特定节点发送了Hello数据包后,特定节点如果收到的话会反馈对应的Hello回应包,当前节点只有收到了此Hello回应包,才说明与特定节点维护了路由信息。当没有收到Hello回应包时,那说明当前节点无法和此特定节点维护路由信息,只能找下一个特定节点。而特定节点的设置规律则是按照当前节点发送数据包给下一跳节点的数据发送频率从高到低进行设置,保证当前节点维护的路由信息,可以尽最大可能地提高后续的数据包传输响应速度。

进一步,所述步骤S300包括:步骤S310判断是否接收到所述特定节点反馈的所述Hello数据包的Hello回应包,若是,则执行步骤S400,若否,则执行步骤S320;步骤S320判断距离发送所述Hello数据包的时间是否达到所述预设时间,若否,则执行步骤S310。

在上述技术方案中,当发送了Hello数据包后不可能无限制地等待特定节点反馈的Hello回应包,预设时间的存在杜绝了无限期的可能。同时,若没有接收到Hello回应包的话,也可以执行后面的步骤,保证当前节点可以与某一个(特定)节点维护路由信息。

进一步,所述步骤S100之前还包括:步骤S000配置所述预设时间。

在上述技术方案中,配置预设时间是后续进行判断Hello回应包是否接收的先决条件,也是保证了当前节点与特定节点维护路由信息的基础。

本发明还提供一种基于ZigBee网络的路由信息维护装置,包括:信息获取模块,当ZigBee网络处于AODV模式时,所述信息获取模块用于根据路由表,获取特定节点信息;Hello包发送模块,与所述信息获取模块电连接,当所述信息获取模块获取了所述特定节点信息后,所述Hello包发送模块向所述特定节点信息对应的特定节点发送Hello数据包;回应判断模块,与所述Hello包发送模块、所述信息获取模块电连接,当所述Hello包发送模块向所述特定节点发送了Hello数据包后,所述回应判断模块判断是否在预设时间内接收到所述特定节点反馈的所述Hello数据包的Hello回应包;当所述回应判断模块收到了所述Hello数据包的Hello回应包,则完成了与所述特定节点的路由信息的维护。

在上述技术方案中,ZigBee网络中的路由信息维护装置通过发送Hello数据包给特定节点(装置),以维护两者之间的路由信息,为后续数据包的发送提高了响应速度,大大提高了用户的使用体验。

进一步,所述信息获取模块具体包括:节点获取子模块,用于获取所述路由表中各节点信息;频率获取子模块,当所述节点获取子模块获取了所述路由表中各节点信息后,所述频率获取子模块根据所述节点信息,获取各所述节点信息对应的所述数据发送频率;列表生成子模块,当所述频率获取子模块获取了各所述节点信息对应的所述数据发送频率后,所述列表生成子模块根据所述数据发送频率从高到低,对各所述节点信息进行排序,生成频率序列表;特定节点设置子模块,当所述列表生成子模块生成了频率序列表后,所述特定节点设置子模块将所述频率序列表中数据发送频率最高的所述节点信息设为所述特定节点信息。

进一步,所述特定节点设置子模块,当所述回应判断模块未在所述预设时间内接到所述特定节点反馈的所述Hello回应包时,所述特定节点设置子模块进一步用于将所述频率序列表中所述特定节点信息的下一个节点信息设置为新的所述特定节点。

进一步,所述回应判断模块包括:回应包判断子模块,当所述Hello包发送模块向所述特定节点发送了Hello数据包后,或,当时间判断子模块判断距离发送所述Hello数据包的时间没有达到预设时间时,所述回应包判断子模块判断是否接收到所述特定节点反馈的所述Hello数据包的所述Hello回应包;当所述回应包判断子模块收到了所述Hello数据包的Hello回应包,则完成了与所述特定节点的路由信息的维护;时间判断子模块,当所述回应包判断子模块判断没有接收到所述Hello回应包时,所述时间判断子模块判断距离发送所述Hello数据包的时间是否达到所述预设时间;所述特定节点设置子模块,当所述时间判断子模块判断距离发送所述Hello数据包的时间达到了所述预设时间时,所述特定节点设置子模块进一步用于将所述频率序列表中所述特定节点信息的下一个节点信息设置为新的所述特定节点。

进一步,还包括:时间配置模块,与所述回应判断模块电连接,所述时间配置模块用于配置所述预设时间。

与现有技术相比,本发明的基于ZigBee网络的路由信息维护方法及装置有益效果在于:

通过在ZigBee网络处于AODV模式时,各节点与一个自己的特定节点维护路由信息,提高各节点间的响应速度,且提升快速将数据包传输到目的节点的概率。特别是在组网环境较简单的情况下,各节点与一个自己的特定节点维护路由信息的方式可以大大提升数据包的传输速度,提高用户的使用体验。

附图说明

下面将以明确易懂的方式,结合附图说明优选实施方式,对一种基于ZigBee网络的路由信息维护方法及装置的上述特性、技术特征、优点及其实现方式予以进一步说明。

图1是本发明基于ZigBee网络的路由信息维护方法一个实施例的流程图;

图2是本发明基于ZigBee网络的路由信息维护方法另一个实施例的流程图;

图3是本发明基于ZigBee网络的路由信息维护装置一个实施例的结构示意图;

图4是本发明基于ZigBee网络的路由信息维护装置另一个实施例的结构示意图。

附图标号说明:

10.信息获取模块,11.节点获取子模块,12.频率获取子模块,13.列表生成子模块,14.特定节点设置子模块,20.Hello包发送模块,30.回应判断模块,31.回应包判断子模块,32.时间判断子模块,40.时间配置模块。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。

在本发明的一个实施例中,如图1所示,一种基于ZigBee网络的路由信息维护方法,包括:步骤S100当ZigBee网络处于AODV模式时,根据路由表,获取特定节点信息;步骤S200向所述特定节点信息对应的特定节点发送Hello数据包;步骤S300判断是否在预设时间内接收到所述特定节点反馈的所述Hello数据包的Hello回应包,若是,则执行步骤S400;步骤S400当接收到所述特定节点反馈的所述Hello回应包时,则完成与所述特定节点的路由信息的维护。

具体的,ZigBee网络中的每个节点周期性地发送Hello数据包维护自己的路由信息,考虑到ZigBee网络低功耗的需求,只与某一个特定节点维护路由信息,即当前节点只与它的一个特定节点维护路由信息。在后续需要发送数据包时,首先发送给与它有路由信息的特定节点,让此特定节点再发送给它的特定节点,以此类推,免去了现有技术中先寻路,再发送数据包的寻路过程,使各节点的响应速度更快,提高用户的使用体验。步骤S400当接收到所述特定节点反馈的所述Hello回应包时,则完成与所述特定节点的路由信息的维护,并等待下一个发送Hello数据包的周期。这里的周期可以理解为,当前节点可能会以一定的周期(例如:1秒为周期)发送Hello数据包来维护它与特定节点的路由信息,如果在这个周期里只花了很少的时间(例如1毫秒)就收到了Hello回应包,那就完成了这个周期的利用Hello数据包来维护路由信息的任务,可以等待下一个周期再发送。

优选地,所述步骤S100具体包括:步骤S110获取所述路由表中各节点信息;步骤S120根据所述节点信息,获取各所述节点信息对应的所述数据发送频率;步骤S130根据所述数据发送频率从高到低,对各所述节点信息进行排序,生成频率序列表;步骤S140将所述频率序列表中数据发送频率最高的所述节点信息设为所述特定节点信息。

具体的,(当前节点的)特定节点是指,当前节点将数据包发送给下一跳的节点的频率最频繁的一个节点,数据发送频率最高说明当前节点与这个特定节点的路由信息使用最频繁,数据包发送给此特定节点的概率也最大,因此,可以维护与此特定节点的路由关系,便于后续提高数据包传输的速度。

优选地,所述步骤S300还包括:若否,则执行步骤S500;所述步骤S300之后还包括:步骤S500当未在所述预设时间内接到所述特定节点反馈的所述Hello回应包时,将所述频率序列表中所述特定节点信息的下一个节点信息设置为新的所述特定节点,并执行步骤S200。

具体的,当前节点向特定节点发送了Hello数据包后,特定节点如果收到的话会反馈对应的Hello回应包,当前节点只有收到了此Hello回应包,才说明与特定节点维护了路由信息。当没有收到Hello回应包时,那说明当前节点无法和此特定节点维护路由信息,只能找下一个特定节点;没有收到Hello回应包也可能是因此这个特定节点在当前节点发送Hello数据包时有了变化,因此,当前节点没有与此特定节点进行路由信息维护,这也保证了与当前节点有路由信息维护的特定节点是可以更新的,保证了当前节点的路由信息的实时性,为后续各节点提高响应速度提供了保障。而特定节点的设置规律则是按照当前节点发送数据包给下一跳节点的数据发送频率从高到低进行设置,保证当前节点维护的路由信息,可以尽最大可能地被利用到,从而提高各节点间的传输响应速度。

例如,请参见表一,当前节点为A,其路由表中与它发生过路由信息关系的节点有多个:B、C、D,根据节点信息得到它们各自对应的数据发送频率为5、4、7。当获取到这些信息后,会根据数据发送频率从高到低进行排序,可以得到下述表二中的频率序列表,那么一开始必然是将数据发送频率最高的D节点信息设为特定节点信息。当前节点A向D节点信息(特定节点信息)对应的节点D发送Hello数据包,当收到节点D反馈的Hello回应包时,当前节点A维护了与(特定)节点D的路由信息。

若当前节点A没有收到(特定)节点D反馈的Hello回应包,说明即使当前节点A想和(特定)节点D维护路由信息,也无法完成,节点D可能出现了变化,因此,当前节点A只能找另外一节点,与它进行维护路由信息关系。在频率序列中(如表二)所示,当前的特定节点信息是D,因此,它的下一个节点信息则为B,因此,设置节点信息B为新的特定节点信息;当前节点A再向特定节点信息B对应的特定节点B发送Hello数据包,若收到其反馈的Hello回应包时,则当前节点A完成了与(特定)节点B的路由信息。若还是没有收到其反馈的Hello回应包时,则再设置下一个节点信息为特定节点信息,例如:节点信息C,直至收到Hello回应包,使当前节点可以与一个(特定)节点之间维护路由信息。

表一

表二

当维护了路由信息后,若当前节点A需要将数据包发送给目的节点D,而要将数据包发送到目的节点D的实际路由为A→B→C→D。若当前节点A的特定节点为B,与节点B有路由信息,那么当前节点A会直接把数据包发送给节点B;而若节点B的特定节点为C,与节点C有路由信息,那么节点B在收到数据后,会判断自己是不是目的节点,如果不是的话会直接把收到的数据包发送给节点C;同理,若节点C的特定节点为D,与节点D有路由信息,那么节点C会判断自己是不是目的节点,若不是的话直接把收到的数据包发送给节点D,从而非常快速地将数据包发送到了目的节点。当然这种使用路由信息来发送数据包的时间是有限制的,比如说在预设数据传输时间内数据包还没有到达目的节点,就需要利用现有技术先发寻路报文获取路由,然后再发数据包这种方式。

例如:若当前节点A需要将数据包发送给目的节点D,而要将数据包发送到目的节点D的实际路由为A→B→C→D;节点A的特定节点为B,节点A与节点B有路由信息;节点B的特定节点为C,节点B与节点C有路由信息;节点C的特定节点为E,节点C与节点E有路由信息。若源节点A需要将数据包发送到目的节点D,在预设数据传输时间内,各节点在接收到数据包时会判断自己是不是目的节点,如果不是的话,直接将数据包转发给自己的特定节点,以此类推,即A→B→C→E→……。当过了预设数据传输时间,但此数据包还没有到达目的节点,那么就要发送寻路报文来获取路由。发送寻路报文的源节点可以为达到预设数据传输时间时,接收到数据包的节点(例如:E),也可以是一开始的将数据包发送出来的节点(例如:A)。假设是节点E的话,节点E作为源节点先广播发送寻路报文给自己的邻居节点,邻居节点收到后,先判断自己是不是目的节点,如果不是的话再广播给自己的邻居节点,直到让目的节点收到此寻路报文,然后此目的节点再向发送给它寻路报文的发起节点发送寻路响应报文,接收寻路响应报文的节点再向发送给它寻路报文的发起节点发送寻路响应报文,直到源节点收到寻路响应报文,从而使源节点E获取了到达目的节点的路由,然后源节点E再根据此路由将数据包发送给下一跳的节点,下一跳的节点再根据它获得的路由向下一跳的节点转发数据包,直到让目的节点收到此数据包。

总的来说,各节点维护与一个特定节点的路由信息,可以提高各节点之间数据包的传输速度,特别是在组网环境变化不大时,其数据包的发送路由也就只有一些,这种每个节点维护一个特定节点的路由的方法,会大大加快数据包传输的响应速度,使数据包快速发送到目的节点,从而提高用户的使用体验。

优选地,所述步骤S300具体包括:步骤S310判断是否接收到所述特定节点反馈的所述Hello数据包的Hello回应包,若是,则执行步骤S400,若否,则执行步骤S320;步骤S320判断距离发送所述Hello数据包的时间是否达到所述预设时间,若否,则执行步骤S310。

优选地,所述步骤S100之前还包括:步骤S000配置所述预设时间。

具体的,发送Hello数据包后不可能无限制地等待特定节点反馈的Hello回应包,预设时间的存在杜绝了无限期等待的可能,预设时间的设置是后续进行判断Hello回应包是否接收的先决条件,也是保证了当前节点与特定节点维护路由信息的基础。同时,若没有接收到Hello回应包的话,也可以尽快执行后面的步骤,保证当前节点可以与某一个(特定)节点维护路由信息,为后续提高响应速度做好了前期准备。

在本发明的另一个实施例中,如图2所示,一种基于ZigBee网络的路由信息维护方法,包括:步骤S000配置所述预设时间;步骤S100当ZigBee网络处于AODV模式时,根据路由表,获取特定节点信息;所述步骤S100具体包括:步骤S110获取所述路由表中各节点信息;步骤S120根据所述节点信息,获取各所述节点信息对应的所述数据发送频率;步骤S130根据所述数据发送频率从高到低,对各所述节点信息进行排序,生成频率序列表;步骤S140将所述频率序列表中数据发送频率最高的所述节点信息设为所述特定节点信息;步骤S200向所述特定节点信息对应的特定节点发送Hello数据包;步骤S300判断是否在预设时间内接收到所述特定节点反馈的所述Hello数据包的Hello回应包,若是,则执行步骤S400,若否,则执行步骤S500;所述步骤S300具体包括:步骤S310判断是否接收到所述特定节点反馈的所述Hello数据包的Hello回应包,若是,则执行步骤S400,若否,则执行步骤S320;步骤S320判断距离发送所述Hello数据包的时间是否达到所述预设时间,若否,则执行步骤S310,若是,则执行步骤S500;步骤S400当接收到所述特定节点反馈的所述Hello回应包时,则完成与所述特定节点的路由信息的维护;步骤S500当未在所述预设时间内接到所述特定节点反馈的所述Hello回应包时,将所述频率序列表中所述特定节点信息的下一个节点信息设置为新的所述特定节点,并执行步骤S200。

具体的,本发明通过在ZigBee网络处于AODV模式时,各节点与一个自己的特定节点维护路由信息,提高各节点间的响应速度,且提升快速将数据包传输到目的节点的概率。特别是在组网环境较简单的情况下,各节点与一个自己的特定节点维护路由信息的方式可以大大提升数据包的传输速度,提高用户的使用体验。

在本发明的另一个实施例中,如图3所示,一种基于ZigBee网络的路由信息维护装置,包括:信息获取模块10,当ZigBee网络处于AODV模式时,所述信息获取模块用于根据路由表,获取特定节点信息;Hello包发送模块20,与所述信息获取模块电连接,当所述信息获取模块获取了所述特定节点信息后,所述Hello包发送模块向所述特定节点信息对应的特定节点发送Hello数据包;回应判断模块30,与所述Hello包发送模块20、所述信息获取模块10电连接,当所述Hello包发送模块向所述特定节点发送了Hello数据包后,所述回应判断模块判断是否在预设时间内接收到所述特定节点反馈的所述Hello数据包的Hello回应包;当所述回应判断模块收到了所述Hello数据包的Hello回应包,则完成了与所述特定节点的路由信息的维护。

具体的,ZigBee网络中的每个节点开始维护自己的路由信息,考虑到ZigBee网络低功耗的需求,只与某一个特定节点维护路由信息,即当前节点只与它的一个特定节点维护路由信息。在后续需要发送数据包时,首先发送给与它有路由信息的特定节点,让此特定节点再发送给它的特定节点,以此类推,免去了现有技术中先寻路,再发送数据包的寻路过程,使各节点的响应速度更快,提高用户的使用体验。

优选地,所述信息获取模块具体包括:节点获取子模块11,用于获取所述路由表中各节点信息;频率获取子模块12,当所述节点获取子模块获取了所述路由表中各节点信息后,所述频率获取子模块根据所述节点信息,获取各所述节点信息对应的所述数据发送频率;列表生成子模块13,当所述频率获取子模块获取了各所述节点信息对应的所述数据发送频率后,所述列表生成子模块根据所述数据发送频率从高到低,对各所述节点信息进行排序,生成频率序列表;特定节点设置子模块14,当所述列表生成子模块生成了频率序列表后,所述特定节点设置子模块将所述频率序列表中数据发送频率最高的所述节点信息设为所述特定节点信息。

具体的,(当前节点的)特定节点是指,当前节点将数据包发送给下一跳的节点的频率最频繁的一个节点,数据发送频率最高说明当前节点与这个特定节点的路由信息使用最频繁,数据包发送给此特定节点的概率也最大,因此,可以维护与此特定节点的路由关系,便于后续提高数据包传输的速度。

优选地,所述特定节点设置子模块,当所述回应判断模块未在所述预设时间内接到所述特定节点反馈的所述Hello回应包时,所述特定节点设置子模块进一步用于将所述频率序列表中所述特定节点信息的下一个节点信息设置为新的所述特定节点。

具体的,当前节点向特定节点发送了Hello数据包后,特定节点如果收到的话会反馈对应的Hello回应包,当前节点只有收到了此Hello回应包,才说明与特定节点维护了路由信息。当没有收到Hello回应包时,那说明当前节点无法和此特定节点维护路由信息,只能找下一个特定节点。而特定节点的设置规律则是按照当前节点发送数据包给下一跳节点的数据发送频率从高到低进行设置,保证当前节点维护的路由信息,可以尽最大可能地被利用到,从而提高各节点间的传输响应速度。

优选地,所述回应判断模块30包括:回应包判断子模块31,当所述Hello包发送模块向所述特定节点发送了Hello数据包后,或,当时间判断子模块判断距离发送所述Hello数据包的时间没有达到预设时间时,所述回应包判断子模块判断是否接收到所述特定节点反馈的所述Hello数据包的所述Hello回应包;当所述回应包判断子模块收到了所述Hello数据包的Hello回应包,则完成了与所述特定节点的路由信息的维护;时间判断子模块32,当所述回应包判断子模块判断没有接收到所述Hello回应包时,所述时间判断子模块判断距离发送所述Hello数据包的时间是否达到所述预设时间;所述特定节点设置子模块,当所述时间判断子模块判断距离发送所述Hello数据包的时间达到了所述预设时间时,所述特定节点设置子模块进一步用于将所述频率序列表中所述特定节点信息的下一个节点信息设置为新的所述特定节点。

优选地,还包括:时间配置模块40,与所述回应判断模块电连接,所述时间配置模块用于配置所述预设时间。

具体的,发送Hello数据包后不可能无限制地等待特定节点反馈的Hello回应包,预设时间的存在杜绝了无限期等待的可能,预设时间的设置/配置是后续进行判断Hello回应包是否接收的先决条件,也是保证了当前节点与特定节点维护路由信息的基础。同时,若没有接收到Hello回应包的话,也可以尽快执行后面的步骤,保证当前节点可以与某一个(特定)节点维护路由信息,为后续提高各节点之间的响应速度做好了前期准备。

在本发明的另一个实施例中,如图4所示,一种基于ZigBee网络的路由信息维护装置,包括:信息获取模块10,当ZigBee网络处于AODV模式时,所述信息获取模块用于根据路由表,获取特定节点信息;所述信息获取模块10具体包括:节点获取子模块11,用于获取所述路由表中各节点信息;频率获取子模块12,当所述节点获取子模块获取了所述路由表中各节点信息后,所述频率获取子模块根据所述节点信息,获取各所述节点信息对应的所述数据发送频率;列表生成子模块13,当所述频率获取子模块获取了各所述节点信息对应的所述数据发送频率后,所述列表生成子模块根据所述数据发送频率从高到低,对各所述节点信息进行排序,生成频率序列表;特定节点设置子模块14,当所述列表生成子模块生成了频率序列表后,所述特定节点设置子模块将所述频率序列表中数据发送频率最高的所述节点信息设为所述特定节点信息;以及,当所述回应判断模块未在所述预设时间内接到所述特定节点反馈的所述Hello回应包时(即,当所述时间判断子模块判断距离发送所述Hello数据包的时间达到了所述预设时间时),所述特定节点设置子模块进一步用于将所述频率序列表中所述特定节点信息的下一个节点信息设置为新的所述特定节点;Hello包发送模块20,与所述信息获取模块电连接,当所述信息获取模块获取了所述特定节点信息后,所述Hello包发送模块向所述特定节点信息对应的特定节点发送Hello数据包;回应判断模块30,与所述Hello包发送模块20、所述信息获取模块10电连接,当所述Hello包发送模块向所述特定节点发送了Hello数据包后,所述回应判断模块判断是否在预设时间内接收到所述特定节点反馈的所述Hello数据包的Hello回应包;当所述回应判断模块收到了所述Hello数据包的Hello回应包,则完成了与所述特定节点的路由信息的维护;所述回应判断模块30包括:回应包判断子模块31,当所述Hello包发送模块向所述特定节点发送了Hello数据包后,或,当时间判断子模块判断距离发送所述Hello数据包的时间没有达到预设时间时,所述回应包判断子模块判断是否接收到所述特定节点反馈的所述Hello数据包的所述Hello回应包;当所述回应包判断子模块收到了所述Hello数据包的Hello回应包,则完成了与所述特定节点的路由信息的维护;时间判断子模块32,当所述回应包判断子模块判断没有接收到所述Hello回应包时,所述时间判断子模块判断距离发送所述Hello数据包的时间是否达到所述预设时间;时间配置模块40,与所述回应判断模块电连接,所述时间配置模块用于配置所述预设时间。

具体的,本发明通过在ZigBee网络处于AODV模式时,各节点与一个自己的特定节点维护路由信息,提高各节点间的响应速度,且提升快速将数据包传输到目的节点的概率。特别是在组网环境较简单的情况下,数据包传输的路由只有几条,各节点与一个自己的特定节点维护路由信息的方式可以大大提升数据包的传输速度,提高用户的使用体验。

应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1