CN104813640B - 一种Sink节点路由方法和节点设备 - Google Patents
一种Sink节点路由方法和节点设备 Download PDFInfo
- Publication number
- CN104813640B CN104813640B CN201380019204.3A CN201380019204A CN104813640B CN 104813640 B CN104813640 B CN 104813640B CN 201380019204 A CN201380019204 A CN 201380019204A CN 104813640 B CN104813640 B CN 104813640B
- Authority
- CN
- China
- Prior art keywords
- node
- neighbor
- degree
- sink
- threshold value
- 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
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
-
- 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)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例提供一种Sink节点路由方法和节点设备,其中所述节点设备包括:阈值计算模块,用于根据节点参数计算自身节点的节点度阈值;节点筛选模块,用于根据所述节点度阈值以及所有邻居节点的节点参数在所有邻居节点中舍弃部分邻居节点,并将剩余的邻居节点确定为Sink路由转发节点;路由请求模块,用于向所述Sink路由转发节点发送Sink路由转发请求。通过本发明实施例,能够让节点设备在节约能耗的情况下准确而有效的查找到Sink节点。
Description
技术领域
本发明涉及通信领域,尤其涉及一种Sink节点路由方法和节点设备。
背景技术
IETF(Internet Engineering Task Force,互联网工程任务组)ROLL(RoutingOver Low power and Lossy networks,低功耗有损网络路由)工作组在RFC6550(RequestFor Comments,请求评议文件)提出的适用于IPv6(Internet Protocol Version 6,网际网络通讯协定第6版)无线传感网的RPL(IPv6Routing Protocol for Low-Power and LossyNetworks低功耗有损网络IPv6路由协议)路由机制中,对RPL路由建立时有向无环图(Destination Oriented Directed Acyclic Graph,DODAG)的构造进行了定义,并对RPL协议的整体机制进行了描述。根据该定义,根节点(固定节点)广播DIO(DODAG InformationObject)消息,收到DIO消息的节点依次加入图中并向周围节点广播DIO消息,最后在网络组成如图7所示的网络拓扑即有向无环图。RPL协议规定网络由多个有向无环图组成,每个有向无环图分别遵循不同目标函数(Object Function,OF)构建而成。每个无环图分布一定数量的节点,根节点与其他传感器节点组成树形结构的网络,每一个传感器节点分别与其父节点相连。当传感器节点需要将数据发送给根节点时,节点直接将数据向上发送给其自身的父节点,父节点收到数据后依次向上发送给其自身父节点,最终将数据发送给根节点。该方案的缺陷在于:
1)RPL路由机制默认根节点为固定节点,而频繁的到根节点的数据使得根节点周围的节点能耗过快,最终在根节点周围形成能量空洞,从而影响RPL路由的性能。
2)网络中每一个节点都属于一个特定的有向无环图,当网络中部署的节点较多时,维护有向无环图的能耗变得较大。
而使用移动Sink(汇聚)节点能够较好的解决上述问题,但在现有使用移动Sink的情况下传感器节点是通过泛洪式的广播路由请求查找移动Sink节点,节点的能耗开销过大。并且泛洪式广播路由请求的方式增加了路由请求消息的发送数量,若网络中有多个源节点在同时查找Sink节点时,容易造成碰撞,造成网络拥塞。
发明内容
本发明实施例所要解决的技术问题在于,提供一种Sink节点路由方法和节点设备,让节点设备在节约能耗的情况下准确而有效的查找到Sink节点。
本发明实施例第一方面提供了一种节点设备,所述节点设备包括:
阈值计算模块,用于根据节点参数计算自身节点的节点度阈值;
节点筛选模块,用于根据所述节点度阈值以及所有邻居节点的节点参数在所有邻居节点中舍弃部分邻居节点,并将剩余的邻居节点确定为Sink路由转发节点;
路由请求模块,用于向所述Sink路由转发节点发送Sink路由转发请求。
在第一方面的第一种可能实现方式中,所述节点参数包括:自身节点的所有邻居节点的节点度和/或自身节点到本次Sink路由查找的源节点的跳数。
结合第一方面的第一种可能实现方式,在第二种可能实现方式中,所述节点度阈值其中Tmax为节点度最大的邻居节点的节点度,Tmin为节点度最小的邻居节点的节点度,h为自身节点到所述源节点的跳数,hmax为预设的最大查找跳数。
结合第一方面以及第一方面的第一或第二种可能实现方式,在第三种可能实现方式中,所述节点筛选模块包括:
阈值筛选单元,用于舍弃节点度小于所述节点度阈值的邻居节点。
结合第一方面以及第一方面的第一或第二或第三种可能实现方式,在第四种可能实现方式中,所述节点筛选模块包括:
参考节点选取单元,用于在节点度不小于所述节点度阈值的邻居节点中,选取节点度最大的一个邻居节点作为参考节点;
方向筛选单元,用于在所述节点度不小于所述节点度阈值的邻居节点中,将与所述参考节点的共同邻居节点数量满足舍弃条件的邻居节点舍弃。
结合第一方面的第四种可能实现方式,在第一方面的第五种可能实现方式中,所述舍弃条件包括:
与所述参考节点的共同邻居节点数量占该邻居节点的节点度的比例不超过预设阈值。
结合第一方面的第四或第五种可能实现方式,在第一方面的第六种可能实现方式中,所述参考节点选取单元,还用于在所述所述方向筛选单元在节点度不小于所述节点度阈值的邻居节点中,将与所述参考节点的共同邻居节点数量满足舍弃条件的邻居节点舍弃之后,将所述参考节点确定为所述Sink路由转发节点,并在剩余的所述节点度不小于所述节点度阈值的邻居节点中选取节点度最大的一个邻居节点作为新的参考节点,并触发所述方向筛选单元在所述节点度不小于所述节点度阈值的邻居节点中将与所述新的参考节点的共同邻居节点数量满足舍弃条件的邻居节点舍弃。
结合第一方面的第六种可能实现方式,在第一方面的第七种可能实现方式中,所述参考节点选取单元,还用于当仅剩余一个节点度不小于所述节点度阈值的邻居节点时,将该节点度不小于所述节点度阈值的邻居节点确定为所述Sink路由转发节点。
结合第一方面以及第一方面的第一至第七种可能实现方式,在第一方面的第八种可能实现方式中,所述节点设备还包括:
节点确认模块,用于在确定自身节点不是Sink节点或Sink节点的无环图成员节点时,触发所述节点筛选模块根据所述节点度阈值以及所有邻居节点的节点参数在所有邻居节点中舍弃部分邻居节点,并将剩余的邻居节点确定为Sink路由转发节点。
本发明实施例第二方面提供了一种节点设备,其特征在于,所述节点设备包括网络接口、存储器以及处理器,其中,存储器中存储一组程序代码,且处理器用于调用存储器中存储的程序代码,用于执行以下操作:
根据节点参数计算自身节点的节点度阈值;
根据所述节点度阈值以及所有邻居节点的节点参数在所有邻居节点中舍弃部分邻居节点,并将剩余的邻居节点确定为Sink路由转发节点;
通过所述网络接口向所述Sink路由转发节点发送Sink路由转发请求。
本发明实施例第三方面提供了一种Sink节点路由方法,所述方法包括:
根据节点参数计算自身节点的节点度阈值;
根据所述节点度阈值以及所有邻居节点的节点参数在所有邻居节点中舍弃部分邻居节点,并将剩余的邻居节点确定为Sink路由转发节点;
向所述Sink路由转发节点发送Sink路由转发请求。
在第三方面的第一种可能实现方式中,所述节点参数包括:自身节点的所有邻居节点的节点度和/或自身节点到本次Sink路由查找的源节点的跳数。
结合第三方面的第一种可能实现方式,在第三方面的第二种可能实现方式中,所述根据所有邻居节点的节点度以及自身节点到本次Sink路由查找的源节点的跳数计算自身节点的节点度阈值包括:
节点度阈值其中Tmax为节点度最大的邻居节点的节点度,Tmin为节点度最小的邻居节点的节点度,h为自身节点到所述源节点的跳数,hmax为预设的最大查找跳数。
结合第三方面以及第三方面的第一或第二种可能实现方式,在第三种可能实现方式中,所述根据所述节点度阈值以及所有邻居节点的节点参数在所有邻居节点中舍弃部分邻居节点,并将剩余的邻居节点确定为Sink路由转发节点包括:
舍弃节点度小于所述节点度阈值的邻居节点。
结合第三方面以及第三方面的第一或第二或第三种可能实现方式,在第四种可能实现方式中,所述根据所述节点度阈值以及所有邻居节点的节点参数在所有邻居节点中舍弃部分邻居节点,并将剩余的邻居节点确定为Sink路由转发节点包括:
在节点度不小于所述节点度阈值的邻居节点中,选取节点度最大的一个邻居节点作为参考节点;
在所述节点度不小于所述节点度阈值的邻居节点中,将与所述参考节点的共同邻居节点数量满足舍弃条件的邻居节点舍弃。
结合第三方面的第四种可能实现方式,在第五种可能实现方式中,所述舍弃条件包括:
与所述参考节点的共同邻居节点数量占该邻居节点的节点度的比例不超过预设阈值。
结合第三方面的第四或第五种可能实现方式,在第六种可能实现方式中,所述在所述节点度不小于所述节点度阈值的邻居节点中,将与所述参考节点的共同邻居节点数量满足舍弃条件的邻居节点舍弃之后还包括:
S1,将所述参考节点确定为所述Sink路由转发节点,并在剩余的所述节点度不小于所述节点度阈值的邻居节点中选取节点度最大的一个邻居节点作为新的参考节点;
S2,剩余的所述节点度不小于所述节点度阈值的邻居节点中,将与所述新的参考节点的共同邻居节点数量满足舍弃条件的邻居节点舍弃。
结合第三方面的第六种可能实现方式,在第七种可能实现方式中,重复执行S1和S2,当仅剩余一个节点度不小于所述节点度阈值的邻居节点时,将该节点度不小于所述节点度阈值的邻居节点确定为所述Sink路由转发节点。
结合第三方面以及第三方面的第一至第七种可能实现方式,在第三方面的第八种可能实现方式中,所述根据节点参数计算自身节点的节点度阈值之前还包括:
确定自身节点不是Sink节点或Sink节点的无环图成员节点。
本发明实施例第四方面还提供了一种计算机存储介质,所述计算机存储介质存储有程序,所述程序执行时包括本发明实施例第三方面提供的Sink节点路由方法中全部或部分的步骤。
本发明实施例中的节点设备通过自身节点参数计算节点度阈值,从而能够根据网络节点的分布情况,自适应的选取满足条件的邻居节点,并通过对满足阈值条件的邻居节点进行二次筛选,帮助节电设备能够准确而有效的查找到Sink节点,同时避免了邻居节点较为密集的集中在同一方向的问题,减少了Sink路由请求信息的发送,降低了系统消耗。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中提供的一种节点设备的结构示意图;
图2是本发明实施例中节点筛选模块的结构示意图;
图3是本发明另一实施例中的一种节点设备的结构示意图;
图4是本发明实施例中的一种Sink节点路由方法的流程示意图;
图5是本发明另一实施例中的一种Sink节点路由方法的流程示意图;
图6是本发明另一实施例中的一种Sink节点路由方法的流程示意图;
图7是现有技术以及本发明实施例中提及的有向无环图的示意图;
图8是本发明实施例中的一种无线传感网络的系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例可以实现在无线传感器网络中,较优的可以应用在Sink节点移动的IPv6无线传感器网络中,在降低网络开销的情况下,为了保证数据传输的可靠性,解决节点设备查找Sink节点的问题。
图1是本发明实施例中提供的一种节点设备的结构示意图,如图所示本实施例中的节点设备至少可以包括:
阈值计算模块110,用于根据节点参数计算自身节点的节点度阈值。
具体实现中,所述阈值计算模块110可以根据自身节点的所有邻居节点的节点度(Node Degree)以及自身节点到本次Sink路由查找的源节点的跳数计算自身节点的节点度阈值,例如:
节点度阈值其中Tmax为节点度最大的邻居节点的节点度,Tmin为节点度最小的邻居节点的节点度,h为自身节点到所述源节点的跳数,hmax为预设的最大查找跳数,例如可以为网络中预先设置的基于自适应多播查找法的最大查找跳数。
需要指出的是,上述节点度阈值的算法仅为示例,在其他可选实施例中阈值计算模块110可以通过其他方式计算所述节点度阈值,例如根据所有邻居节点的节点度的平均值计算所述节点度阈值,或根据自身节点度与h/hmax的乘机计算所述节点度阈值,等等,不应认为本发明的实施受限于上述节点度阈值算法。
节点筛选模块120,用于根据所述节点度阈值以及所有邻居节点的节点参数在所有邻居节点中舍弃部分邻居节点,并将剩余的邻居节点确定为Sink路由转发节点。所述邻居节点的节点参数可以包括各个邻居节点的节点度,还可以包括所有邻居节点相互之间的共同邻居节点的个数。
具体实现中,节点筛选模块120如图2所示可以进一步包括:
阈值筛选单元121,用于舍弃节点度小于所述节点度阈值的邻居节点。具体的,阈值筛选单元121可以逐一将自身节点的所有邻居节点的节点度与阈值计算模块110计算得到的节点度阈值进行比较,舍弃节点度小于所述节点度阈值的邻居节点,保留节点度不小于所述节点度阈值的邻居节点。
进一步可选的,节点筛选模块120还可以包括:
参考节点选取单元122,用于在节点度不小于所述节点度阈值的邻居节点中,选取节点度最大的一个邻居节点作为参考节点。具体的,若节点度最大的邻居节点存在多个,参考节点选取单元122可以从中随机选取一个作为所述参考节点。
方向筛选单元123,用于在所述节点度不小于所述节点度阈值的邻居节点中,将与所述参考节点的共同邻居节点数量满足舍弃条件的邻居节点舍弃。
具体的,方向筛选单元123可以将所述参考节点与其他节点度不小于所述节点度阈值的邻居节点逐一比较其共同邻居节点数,若其共同邻居节点数满足预设的舍弃条件,则将该邻居节点舍弃。示例性的,所述舍弃条件可以包括:与所述参考节点的共同邻居节点数量占该邻居节点的节点度的比例不超过预设阈值(如50%),又例如可以包括与所述参考节点的共同邻居节点数量不大于预设阈值等(如5)。
所述参考节点选取单元122,还用于在所述方向筛选单元123在所述节点度不小于所述节点度阈值的邻居节点中,将与所述参考节点的共同邻居节点数量满足舍弃条件的邻居节点舍弃之后,将所述参考节点确定为所述Sink路由转发节点,并在剩余的所述节点度不小于所述节点度阈值的邻居节点中选取节点度最大的一个邻居节点作为新的参考节点,并触发所述方向筛选单元在所述节点度不小于所述节点度阈值的邻居节点中将与所述新的参考节点的共同邻居节点数量满足舍弃条件的邻居节点舍弃。
所述参考节点选取单元122,还用于当仅剩余一个节点度不小于所述节点度阈值的邻居节点时,将该节点度不小于所述节点度阈值的邻居节点确定为所述Sink路由转发节点。
节点筛选模块120在通过上述阈值筛选单元121、参考节点选取单元122以及方向筛选单元123中的全部或部分对自身节点的邻居节点进行筛选后,可以将最终保留下的邻居节点确定为所述Sink路由转发节点。
路由请求模块130,用于向所述Sink路由转发节点发送Sink路由转发请求。
可选的,本发明实施例中的所述节点设备进一步还可以包括:
节点确认模块140,用于在确定自身节点不是Sink节点或Sink节点的无环图成员节点时,触发所述节点筛选模块120根据所述节点度阈值以及所有邻居节点的节点参数在所有邻居节点中舍弃部分邻居节点,并将剩余的邻居节点确定为Sink路由转发节点。例如在如图8所示的无线传感网络的系统结构中,当所述节点设备确认当前需要转发Sink路由转发请求,例如所述节点设备自身需要向Sink路由发送数据,或接收到其他节点设备转发的Sink路由转发请求时,首先由节点确认模块140确定自身节点是否为Sink节点或Sink节点的无环图成员节点,若确认自身节点为Sink节点,则向所述Sink路由转发请求的源节点返回响应消息,若确认自身节点为Sink节点的无环图成员节点,则可以按照RPL路由将数据根据其所在的有向无环图(如图7所示)向上发送给其父节点,并依次向上发送给Sink节点,当且仅当确定自身节点不是Sink节点或Sink节点的无环图成员节点时,触发所述节点筛选模块120根据所述节点度阈值以及所有邻居节点的节点参数在所有邻居节点中舍弃部分邻居节点,并将剩余的邻居节点确定为Sink路由转发节点。
本发明实施例中的节点设备通过自身节点参数计算节点度阈值,从而能够根据网络节点的分布情况,自适应的选取满足条件的邻居节点,并通过对满足阈值条件的邻居节点进行二次筛选,帮助节电设备能够准确而有效的查找到Sink节点,同时避免了邻居节点较为密集的集中在同一方向的问题,减少了Sink路由请求信息的发送,降低了系统消耗。
图3是本发明另一实施例中的一种节点设备的结构示意图,如图所示如图3所示,该用户终端300可以包括:至少一个处理器301,例如CPU,至少一个网络接口303,存储器304,至少一个通信总线302。其中,通信总线302用于实现这些组件之间的连接通信。其中,本发明实施例中节点设备的网络接口303可以为无线接口,例如包括天线装置,用于与其他节点设备进行信令或数据的通信。存储器304可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器304可选的还可以是至少一个位于远离前述处理器301的存储装置。存储器304中存储一组程序代码,且处理器用于调用存储器中存储的程序代码,用于执行以下操作:
根据节点参数计算自身节点的节点度阈值;
根据所述节点度阈值以及所有邻居节点的节点参数在所有邻居节点中舍弃部分邻居节点,并将剩余的邻居节点确定为Sink路由转发节点;
通过所述网络接口303向所述Sink路由转发节点发送Sink路由转发请求。
下面通过若干具体实施例对本发明的节点设备具体实现Sink节点路由的方法流程进行介绍,需要指出的是,下文提出的若干实施例可以通过上述结合图1或图3所介绍的节点设备实现其中的全部或部分流程。
图4是本发明实施例中的一种Sink节点路由方法的流程示意图,如图所示本实施例中的Sink节点路由方法流程可以包括:
S401,根据节点参数计算自身节点的节点度阈值。
具体的,当所述节点设备确认当前需要转发Sink路由转发请求,例如所述节点设备自身需要向Sink路由发送数据,或接收到其他节点设备转发的Sink路由转发请求时,节点设备可以根据自身节点的所有邻居节点的节点度(Node Degree)以及自身节点到本次Sink路由查找的源节点的跳数计算自身节点的节点度阈值,例如:
节点度阈值其中Tmax为节点度最大的邻居节点的节点度,Tmin为节点度最小的邻居节点的节点度,h为自身节点到所述源节点的跳数,hmax为预设的最大查找跳数,例如可以为网络中预先设置的基于自适应多播查找法的最大查找跳数。
需要指出的是,上述节点度阈值的算法仅为示例,在其他可选实施例中节点设备可以通过其他方式计算所述节点度阈值,例如根据所有邻居节点的节点度的平均值计算所述节点度阈值,或根据自身节点度与h/hmax的乘机计算所述节点度阈值,等等,不应认为本发明的实施受限于上述节点度阈值算法。
S402,根据所述节点度阈值以及所有邻居节点的节点参数在所有邻居节点中舍弃部分邻居节点,并将剩余的邻居节点确定为Sink路由转发节点。所述邻居节点的节点参数可以包括各个邻居节点的节点度,还可以包括所有邻居节点相互之间的共同邻居节点的个数。
具体实现中,节电设备可以逐一将自身节点的所有邻居节点的节点度与步骤S401计算得到的节点度阈值进行比较,舍弃节点度小于所述节点度阈值的邻居节点,保留节点度不小于所述节点度阈值的邻居节点,进而可以将保留下来的邻居节点确定为Sink路由转发节点。在其他可选实施例中,还可以对节点度不小于所述节点度阈值的邻居节点进行进一步筛选,将其中部分邻居节点确定为Sink路由转发节点。
S403,向所述Sink路由转发节点发送Sink路由转发请求。
可选的,本发明实施例中的Sink节点路由方法进一步还可以包括:
在根据节点参数计算自身节点的节点度阈值之前,首先确定自身节点不是Sink节点或Sink节点的无环图成员节点。例如在如图8所示的无线传感网络的系统结构中,当所述节点设备确认当前需要转发Sink路由转发请求时,如自身节点需要向Sink节点发送数据,或接收到其他节点设备转发的Sink路由转发请求时,首先确定自身节点是否为Sink节点或Sink节点的无环图成员节点,若确认自身节点为Sink节点,则向所述Sink路由转发请求的源节点返回响应消息,若确认自身节点为Sink节点的无环图成员节点,则可以按照RPL路由将数据根据其所在的有向无环图(如图7所示)向上发送给其父节点,并依次向上发送给Sink节点,当且仅当确定自身节点不是Sink节点或Sink节点的无环图成员节点时,触发根据节点参数计算自身节点的节点度阈值,并根据所述节点度阈值以及所有邻居节点的节点参数在所有邻居节点中舍弃部分邻居节点,从而将剩余的邻居节点确定为Sink路由转发节点。
本发明实施例中的节点设备通过自身节点参数计算节点度阈值,从而能够根据网络节点的分布情况,自适应的选取满足条件的邻居节点,帮助节电设备能够准确而有效的查找到Sink节点,减少了Sink路由请求信息的发送,降低了系统消耗。
图5是本发明另一实施例中的一种Sink节点路由方法的流程示意图,本实施例中的Sink节点路由方法包括:
S501,根据节点参数计算自身节点的节点度阈值。
具体的,当所述节点设备确认当前需要转发Sink路由转发请求,例如所述节点设备自身需要向Sink路由发送数据,或接收到其他节点设备转发的Sink路由转发请求时,节点设备可以根据自身节点的所有邻居节点的节点度(Node Degree)以及自身节点到本次Sink路由查找的源节点的跳数计算自身节点的节点度阈值。
S502,舍弃节点度小于所述节点度阈值的邻居节点。
S503,在节点度不小于所述节点度阈值的邻居节点中,选取节点度最大的一个邻居节点作为参考节点。具体的,若节点度最大的邻居节点存在多个,则可以从中随机选取一个作为所述参考节点。
S504,在所述节点度不小于所述节点度阈值的邻居节点中,将与所述参考节点的共同邻居节点数量满足舍弃条件的邻居节点舍弃。
具体实现中,可以将所述参考节点与其他节点度不小于所述节点度阈值的邻居节点逐一比较其共同邻居节点数,若其共同邻居节点数满足预设的舍弃条件,则将该邻居节点舍弃。示例性的,所述舍弃条件可以包括:与所述参考节点的共同邻居节点数量占该邻居节点的节点度的比例不超过预设阈值(如50%),又例如可以包括与所述参考节点的共同邻居节点数量不大于预设阈值等(如5)。
S505,将剩余的邻居节点确定为Sink路由转发节点,并向所述Sink路由转发节点发送Sink路由转发请求。
本发明实施例中的节点设备通过自身节点参数计算节点度阈值,从而能够根据网络节点的分布情况,自适应的选取满足条件的邻居节点,并通过对满足阈值条件的邻居节点进行二次筛选,帮助节电设备能够准确而有效的查找到Sink节点,同时避免了邻居节点较为密集的集中在同一方向的问题,减少了Sink路由请求信息的发送,降低了系统消耗。
图6是本发明另一实施例中的一种Sink节点路由方法的流程示意图,如图所示本实施例中的Sink节点路由方法包括:
S601,确定自身节点不是Sink节点或Sink节点的无环图成员节点。
具体的,例如在如图8所示的无线传感网络的系统结构中,当所述节点设备确认当前需要转发Sink路由转发请求时,如自身节点需要向Sink节点发送数据,或接收到其他节点设备转发的Sink路由转发请求时,首先确定自身节点是否为Sink节点或Sink节点的无环图成员节点,若确认自身节点为Sink节点,则向所述Sink路由转发请求的源节点返回响应消息,若确认自身节点为Sink节点的无环图成员节点,则可以按照RPL路由将数据根据其所在的有向无环图(如图7所示)向上发送给其父节点,并依次向上发送给Sink节点,当确定自身节点不是Sink节点或Sink节点的无环图成员节点时,执行本实施例中的下述步骤。
S602,根据节点参数计算自身节点的节点度阈值。
具体的,当所述节点设备确认当前需要转发Sink路由转发请求,例如所述节点设备自身需要向Sink路由发送数据,或接收到其他节点设备转发的Sink路由转发请求时,节点设备可以根据自身节点的所有邻居节点的节点度(Node Degree)以及自身节点到本次Sink路由查找的源节点的跳数计算自身节点的节点度阈值。
S603,舍弃节点度小于所述节点度阈值的邻居节点。
S604,在剩余节点度不小于所述节点度阈值的邻居节点中,选取节点度最大的一个邻居节点作为参考节点。具体的,若节点度最大的邻居节点存在多个,则可以从中随机选取一个作为所述参考节点。
S605,在所述节点度不小于所述节点度阈值的邻居节点中,将与所述参考节点的共同邻居节点数量满足舍弃条件的邻居节点舍弃。
具体实现中,可以将所述参考节点与其他节点度不小于所述节点度阈值的邻居节点逐一比较其共同邻居节点数,若其共同邻居节点数满足预设的舍弃条件,则将该邻居节点舍弃。示例性的,所述舍弃条件可以包括:与所述参考节点的共同邻居节点数量占该邻居节点的节点度的比例不超过预设阈值(如50%),又例如可以包括与所述参考节点的共同邻居节点数量不大于预设阈值等(如5)。
S606,将所述参考节点确定为所述Sink路由转发节点。
S607,判断当前是否仅剩余一个节点度不小于所述节点度阈值的邻居节点。若是,则执行S608,否则返回执行S604~S606。
具体实现中,可以将经过S603后得到的所有节点度不小于所述节点度阈值的邻居节点放入转发节点备选集中,每次执行S604~S606会从中舍弃邻居节点,并将选取的参考节点放入转发节点集中,当所述转发节点备选集中仅剩余一个节点度不小于所述节点度阈值的邻居节点时,则执行S608。
S608,将该剩余的一个节点度不小于所述节点度阈值的邻居节点确定为所述Sink路由转发节点。
S609,向所述Sink路由转发节点发送Sink路由转发请求。
本发明实施例中的节点设备通过自身节点参数计算节点度阈值,从而能够根据网络节点的分布情况,自适应的选取满足条件的邻居节点,并通过对满足阈值条件的邻居节点进行二次筛选,帮助节电设备能够准确而有效的查找到Sink节点,同时避免了邻居节点较为密集的集中在同一方向的问题,减少了Sink路由请求信息的发送,降低了系统消耗。
本发明实施例还提出了一种计算机存储介质,所述计算机存储介质存储有程序,所述程序执行时包括本发明实施例结合图4~图6所描述的Sink节点路由方法中的部分或全部的步骤。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的,盘(Disk)和碟(disc)包括压缩光碟(CD)、激光碟、光碟、数字通用光碟(DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (18)
1.一种节点设备,其特征在于,所述节点设备包括:
阈值计算模块,用于根据节点参数计算自身节点的节点度阈值;
节点筛选模块,用于根据所述节点度阈值以及所有邻居节点的节点参数在所有邻居节点中舍弃部分邻居节点,并将剩余的邻居节点确定为Sink路由转发节点;
路由请求模块,用于向所述Sink路由转发节点发送Sink路由转发请求;
其中,所述节点筛选模块包括:
参考节点选取单元,用于在节点度不小于所述节点度阈值的邻居节点中,选取节点度最大的一个邻居节点作为参考节点;
方向筛选单元,用于在所述节点度不小于所述节点度阈值的邻居节点中,将与所述参考节点的共同邻居节点数量满足舍弃条件的邻居节点舍弃。
2.如权利要求1所述的节点设备,其特征在于,所述节点参数包括:自身节点的所有邻居节点的节点度和/或自身节点到本次Sink路由查找的源节点的跳数。
3.如权利要求2所述的节点设备,其特征在于,所述节点度阈值其中Tmax为节点度最大的邻居节点的节点度,Tmin为节点度最小的邻居节点的节点度,h为自身节点到所述源节点的跳数,hmax为预设的最大查找跳数。
4.如权利要求1~3中任一项所述的节点设备,其特征在于,所述节点筛选模块包括:
阈值筛选单元,用于舍弃节点度小于所述节点度阈值的邻居节点。
5.如权利要求4所述的节点设备,其特征在于,所述舍弃条件包括:
与所述参考节点的共同邻居节点数量占该邻居节点的节点度的比例不超过预设阈值。
6.如权利要求1或5所述的节点设备,其特征在于,
所述参考节点选取单元,还用于在所述方向筛选单元在节点度不小于所述节点度阈值的邻居节点中,将与所述参考节点的共同邻居节点数量满足舍弃条件的邻居节点舍弃之后,将所述参考节点确定为所述Sink路由转发节点,并在剩余的所述节点度不小于所述节点度阈值的邻居节点中选取节点度最大的一个邻居节点作为新的参考节点,并触发所述方向筛选单元在所述节点度不小于所述节点度阈值的邻居节点中将与所述新的参考节点的共同邻居节点数量满足舍弃条件的邻居节点舍弃。
7.如权利要求6所述的节点设备,其特征在于,
所述参考节点选取单元,还用于当仅剩余一个节点度不小于所述节点度阈值的邻居节点时,将该节点度不小于所述节点度阈值的邻居节点确定为所述Sink路由转发节点。
8.如权利要求1所述的节点设备,其特征在于,所述节点设备还包括:
节点确认模块,用于在确定自身节点不是Sink节点或Sink节点的无环图成员节点时,触发所述节点筛选模块根据所述节点度阈值以及所有邻居节点的节点参数在所有邻居节点中舍弃部分邻居节点,并将剩余的邻居节点确定为Sink路由转发节点。
9.一种节点设备,其特征在于,所述节点设备包括网络接口、存储器以及处理器,其中,存储器中存储一组程序代码,且处理器用于调用存储器中存储的程序代码,用于执行以下操作:
根据节点参数计算自身节点的节点度阈值;
在节点度不小于所述节点度阈值的邻居节点中,选取节点度最大的一个邻居节点作为参考节点,并在所述节点度不小于所述节点度阈值的邻居节点中,将与所述参考节点的共同邻居节点数量满足舍弃条件的邻居节点舍弃,并将剩余的邻居节点确定为Sink路由转发节点;
通过所述网络接口向所述Sink路由转发节点发送Sink路由转发请求。
10.一种Sink节点路由方法,其特征在于,所述方法包括:
根据节点参数计算自身节点的节点度阈值;
根据所述节点度阈值以及所有邻居节点的节点参数在所有邻居节点中舍弃部分邻居节点,并将剩余的邻居节点确定为Sink路由转发节点;
向所述Sink路由转发节点发送Sink路由转发请求;
其中,所述根据所述节点度阈值以及所有邻居节点的节点参数在所有邻居节点中舍弃部分邻居节点包括:
在节点度不小于所述节点度阈值的邻居节点中,选取节点度最大的一个邻居节点作为参考节点;
在所述节点度不小于所述节点度阈值的邻居节点中,将与所述参考节点的共同邻居节点数量满足舍弃条件的邻居节点舍弃。
11.如权利要求10所述的Sink节点路由方法,其特征在于,所述节点参数包括:自身节点的所有邻居节点的节点度和/或自身节点到本次Sink路由查找的源节点的跳数。
12.如权利要求11所述的Sink节点路由方法,其特征在于,所述根据所有邻居节点的节点度以及自身节点到本次Sink路由查找的源节点的跳数计算自身节点的节点度阈值包括:
节点度阈值其中Tmax为节点度最大的邻居节点的节点度,Tmin为节点度最小的邻居节点的节点度,h为自身节点到所述源节点的跳数,hmax为预设的最大查找跳数。
13.如权利要求10~12中任一项所述的Sink节点路由方法,其特征在于,所述根据所述节点度阈值以及所有邻居节点的节点参数在所有邻居节点中舍弃部分邻居节点,并将剩余的邻居节点确定为Sink路由转发节点包括:
舍弃节点度小于所述节点度阈值的邻居节点。
14.如权利要求10所述的Sink节点路由方法,其特征在于,所述舍弃条件包括:
与所述参考节点的共同邻居节点数量占该邻居节点的节点度的比例不超过预设阈值。
15.如权利要求10或14所述的Sink节点路由方法,其特征在于,所述在所述节点度不小于所述节点度阈值的邻居节点中,将与所述参考节点的共同邻居节点数量满足舍弃条件的邻居节点舍弃之后还包括:
S1,将所述参考节点确定为所述Sink路由转发节点,并在剩余的所述节点度不小于所述节点度阈值的邻居节点中选取节点度最大的一个邻居节点作为新的参考节点;
S2,剩余的所述节点度不小于所述节点度阈值的邻居节点中,将与所述新的参考节点的共同邻居节点数量满足舍弃条件的邻居节点舍弃。
16.如权利要求15所述的Sink节点路由方法,其特征在于,重复执行S1和S2,当仅剩余一个节点度不小于所述节点度阈值的邻居节点时,将该节点度不小于所述节点度阈值的邻居节点确定为所述Sink路由转发节点。
17.如权利要求10中任一项所述的Sink节点路由方法,其特征在于,所述根据节点参数计算自身节点的节点度阈值之前还包括:
确定自身节点不是Sink节点或Sink节点的无环图成员节点。
18.一种节点设备,其特征在于,所述节点设备包括计算机存储介质,所述计算机存储介质存储有程序,所述程序执行时包括权利要求10~17任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/087956 WO2015077940A1 (zh) | 2013-11-27 | 2013-11-27 | 一种Sink节点路由方法和节点设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104813640A CN104813640A (zh) | 2015-07-29 |
CN104813640B true CN104813640B (zh) | 2017-12-29 |
Family
ID=53198189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380019204.3A Active CN104813640B (zh) | 2013-11-27 | 2013-11-27 | 一种Sink节点路由方法和节点设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104813640B (zh) |
WO (1) | WO2015077940A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106686652B (zh) * | 2017-02-24 | 2020-05-22 | 西安航空学院 | 无线传感器网络拓扑控制方法 |
CN111064666B (zh) * | 2018-10-16 | 2021-09-28 | 中国移动通信集团广东有限公司 | 组网方法及装置 |
CN109120832A (zh) * | 2018-10-22 | 2019-01-01 | 泉州兴哲商贸有限公司 | 设备轴承振动数据实时采集与分析系统 |
CN111309989A (zh) * | 2020-02-13 | 2020-06-19 | 平安科技(深圳)有限公司 | 基于图数据库的最短路径查询方法及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101232516A (zh) * | 2008-01-31 | 2008-07-30 | 北京航空航天大学 | 无线传感器网络应用中使用差分压缩的低功耗系统更新方法 |
CN101282290A (zh) * | 2008-03-05 | 2008-10-08 | 中科院嘉兴中心微系统所分中心 | 基于梯度的无线传感网负载平衡分簇方法 |
CN103369619A (zh) * | 2013-06-21 | 2013-10-23 | 西安电子科技大学 | 一种基于度自适应调整动态聚合树的方法 |
-
2013
- 2013-11-27 CN CN201380019204.3A patent/CN104813640B/zh active Active
- 2013-11-27 WO PCT/CN2013/087956 patent/WO2015077940A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101232516A (zh) * | 2008-01-31 | 2008-07-30 | 北京航空航天大学 | 无线传感器网络应用中使用差分压缩的低功耗系统更新方法 |
CN101282290A (zh) * | 2008-03-05 | 2008-10-08 | 中科院嘉兴中心微系统所分中心 | 基于梯度的无线传感网负载平衡分簇方法 |
CN103369619A (zh) * | 2013-06-21 | 2013-10-23 | 西安电子科技大学 | 一种基于度自适应调整动态聚合树的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104813640A (zh) | 2015-07-29 |
WO2015077940A1 (zh) | 2015-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20050259588A1 (en) | Method and apparatus for predicting a link interruption in an ad hoc communications network using a manet type routing protocol | |
CN110890994B (zh) | 一种报文转发路径的确定方法、设备和系统 | |
CN104813640B (zh) | 一种Sink节点路由方法和节点设备 | |
TW201014396A (en) | Network utilities in wireless mesh communications networks | |
Farooq et al. | Design and analysis of RPL objective functions for multi-gateway ad-hoc low-power and lossy networks | |
Singh et al. | RPL enhancement for a parent selection mechanism and an efficient objective function | |
CN108881052A (zh) | 一种报文转发方法及装置 | |
CN109257279A (zh) | 一种报文转发方法及装置 | |
CN107316451B (zh) | 基于无线表计的集群型网络抄表方法及装置 | |
CN109327255A (zh) | 一种用于无人机自组网的路由方法及系统 | |
CN107547301A (zh) | 一种主备设备倒换方法及装置 | |
CN102281204B (zh) | 一种实现组播组的汇集点负载分担的方法和路由设备 | |
CN109951834A (zh) | 基于改进的泛洪算法的蓝牙mesh路由方法 | |
CN106900174A (zh) | 无线局域网网状网络的数据传输方法、装置及系统 | |
CN108512714A (zh) | 一种报文传输方法、相关设备和系统 | |
Tian et al. | QoI‐aware DODAG construction in RPL‐based event detection wireless sensor networks | |
CN108900982A (zh) | 数据转发方法与装置 | |
JP2007318736A (ja) | 通信ネットワークのノードのリストを確定する方法及び装置、メッセージを転送する装置、コンピュータプログラム並びに信号 | |
CN110958629A (zh) | 分布式自组织无线窄带通信方法、装置、终端设备及系统 | |
CN104618123B (zh) | 一种供电方法以及装置 | |
CN103875267B (zh) | 接入节点、移动管理网元以及寻呼消息处理方法 | |
CN106211259B (zh) | 一种时延容忍网络的路由实现方法和实现装置 | |
CN102420766B (zh) | 一种路由确定方法及路由设备 | |
EP2709407B1 (en) | Communication system, management device, control method, and program | |
CN110391923A (zh) | 组播报文处理的方法以及网络设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |