一种工业无线传感网络的分簇方法及装置与流程

文档序号:16276281发布日期:2018-12-14 22:36阅读:156来源:国知局
一种工业无线传感网络的分簇方法及装置与流程

本发明涉及网络通讯技术领域,具体涉及在工业领域的无线传感器网络,并提出一种对此网络进行分簇的方法及装置,从而达到优化网络通信的目的。

背景技术

传统工业领域主要通过现场总线来连接各工业设备,从而实现过程自动化控制,但现场总线存在部署困难的问题,甚至在某些地方无法部署。工业无线传感网(industrialwirelesssensornetworks,iwsn)作为现场总线的替代或者补充孕育而生。因不需要现场布线和无线传输性质,工业无线传感网具有部署成本低、可扩展性好、灵活性高等特点。在工业应用中,要求数据传输具有可靠性和低延时性,这就一方面需要工业无线传感网采用tdma(timedivisionmultipleaccess,时分多址)这种接入方式。另一方面,基于簇的网络拓扑已被研究证明具有节能、可扩展性好等特点。在基于簇的网络拓扑中,首先整个网络会被分成各个簇,每个簇都会有一个特殊的节点称为簇头,其他节点称为成员节点。成员节点将采集的数据首先发送至簇头,簇头再将这些数据聚合在一个数据包中,之后再发送给汇聚节点。因基于簇结构网络的节能特点,越来越多的无线传感网设计都基于这一架构。

结合以上两方面,基于簇结构并采用tdma方式的无线传感网可满足工业应用需求,在此结构中,每个簇对自己簇内节点进行时隙分配。目前采用的分簇方法,各个簇之间存在通信干扰,使得时隙分配显得非常复杂。



技术实现要素:

有鉴于此,本发明实施例提供了一种针对工业无线传感网络的分簇方法,通过此分簇方法,将工业无线传感网络划分为各个簇,且划分成的各个簇之间的数据采集通信不会对彼此进行干扰,从而大大简化了各个簇的时隙分配。

第一方面,本发明提供了一种工业无线传感网络的分簇方法,包括:

步骤s1:将所述工业无线传感网络的所有节点设置为候选节点,其中,所有候选节点构成候选节点集合,并为每个候选节点设置随机后退时间;

步骤s2:将随机后退时间先到的候选节点设置为簇头节点,并向所述簇头节点的所有邻居节点广播joining消息;

步骤s3:当所述簇头节点的邻居节点为待定节点时,则将该邻居节点设置为所述簇头节点对应的簇的成员节点,并向该邻居节点的所有邻居节点广播joint消息;当所述簇头节点的邻居节点为候选节点时,则将该邻居节点设置为所述簇头节点对应的簇的成员节点,同时取消该邻居节点的随机后退时间,并向该邻居节点的所有邻居节点广播joint消息;

步骤s4:当簇头节点接收到成员节点发送的joint消息时,则记录该成员节点的id;当非簇头节点接收到成员节点发送的joint消息时,如果该非簇头节点为候选节点,则取消所述候选节点的随机后退时间,并将所述候选节点设置为待定节点,否则忽略该joint消息;

步骤s5:对所述候选节点集合中剩余的候选节点,重复执行步骤s2~s4,直到所述候选节点集合为空;

步骤s6:将剩余待定节点设置为孤立节点,将簇头节点与对应的成员节点构成簇,其中,孤立节点不属于簇。

在一种实施方式中,步骤s1中为所述候选节点集合中的每个候选节点设置随机后退时间,包括:

根据所述候选节点集合中的候选节点的剩余能量,设置随机后退时间t,具体为:

t=rand(0,αλ)

其中,rand函数表示在0到αλ之间随机取一个数值,其中α表示剩余能量百分比的倒数,当能量为满时,α=1,当剩余能量为10%,α=10,λ为预设常数。

在一种实施方式中,每个簇包含一个簇头节点,且簇头节点用于采集所有成员节点的数据,并进行数据传输。

在一种实施方式中,所述方法还包括:

当所述工业无线传感网络运行预设时间后,则重新进行分簇。

基于同样的发明构思,本发明第二方面提供了一种工业无线传感网络的分簇装置,包括:

随机后退时间设置模块,用于将所述工业无线传感网络的所有节点设置为候选节点,其中,所有候选节点构成候选节点集合,并每个候选节点设置随机后退时间;

簇头节点设置模块,用于将随机后退时间先到的候选节点设置为簇头节点,并向所述簇头节点的所有邻居节点广播joining消息;

成员节点设置模块,用于当所述簇头节点的邻居节点为待定节点时,则将该邻居节点设置为所述簇头节点对应的簇的成员节点,并向该邻居节点的所有邻居节点广播joint消息;当所述簇头节点的邻居节点为候选节点时,则将该邻居节点设置为所述簇头节点对应的簇的成员节点,同时取消该邻居节点的随机后退时间,并向该邻居节点的所有邻居节点广播joint消息;

邻居节点设置模块,用于当簇头节点接收到成员节点发送的joint消息时,则记录该成员节点的id;当非簇头节点接收到成员节点发送的joint消息时,如果该非簇头节点为候选节点,则取消所述候选节点的随机后退时间,并将所述候选节点设置为待定节点,否则忽略该joint消息;

剩余候选节点处理模块,用于对所述候选节点集合中剩余的候选节点,重复执行步骤s2~s4,直到所述候选节点集合为空;

孤立节点获得模块,用于将剩余待定节点设置为孤立节点,将簇头节点与对应的成员节点构成簇,其中,孤立节点不属于簇。

在一种实施方式中,所述随机后退时间设置模块具体用于:

根据候选节点的剩余能量,设置随机后退时间t,具体为:

t=rand(0,αλ)

其中,rand函数表示在0到αλ之间随机取一个数值,其中α表示剩余能量百分比的倒数,当能量为满时,α=1,当剩余能量为10%,α=10,λ为预设常数。

在一种实施方式中,每个簇包含一个簇头节点,且簇头节点用于采集所有成员节点的数据,并进行数据传输。

在一种实施方式中,分簇装置还包括:

重新分簇模块,用于当所述工业无线传感网络运行预设时间后,则重新进行分簇。

基于同样的发明构思,本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被执行时实现第一方面所述的方法。

基于同样的发明构思,本发明第四方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该程序被执行时实现第一方面所述的方法。

本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:

在本发明提供的方法,首先将传感器网络中所有节点划分设置为候选节点,且,所有候选节点构成候选节点集合,并为每个候选节点设置随机后退时间;然后通过随机后退时间的达到先后从候选节点集合中选择候选节点作为簇头节点,即通过竞争的方法选择簇头节点,当某一候选节点成为簇头节点后,向簇头节点的所有邻居节点广播joining消息,以通知该簇头节点的所有邻居其已经加入簇中;并将该簇头节点的邻居节点设置为此簇的成员节点,并向成员节点的邻居节点广播joint消息,以通知该成员节点的所有邻居,其为簇的成员节点。当簇头节点的邻居节点为候选节点时,同时取消该邻居节点的随机后退时间;当簇头节点接收到成员节点发送的joint消息时,则记录该成员节点的id;当其他节点接收到成员节点发送的joint消息时,如果该非簇头节点为候选节点,则取消所述候选节点的随机后退时间,并将所述候选节点设置为待定节点,否则忽略该joint消息。对候选节点集合中剩余的候选节点进行同样的操作,直到所述候选节点集合为空;最后将剩余的待定节点设置为孤立节点,将簇头节点与对应的成员节点构成簇。由于每个成员节点都只覆盖一个簇头节点,所以当成员节点将采集的数据发送给自己簇的簇头节点时,并不会对其他簇的数据采集进行干扰,从而实现了无干扰分簇,并适用于对延时和可靠性要求高的工业无线传感网,从而大大简化了时隙分配的复杂度和提高了分配效率。

附图说明

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

图1为本发明实施例中一种工业无线传感网络的分簇方法的流程图;

图2为一种工业无线传感网络的节点分布示意图;

图3为图1中所示方法得到的分簇的结果图;

图4为本发明实施例中一种具体的分簇方法的流程图;

图5为本发明实施例中一种工业无线传感网络的分簇装置的结构图;

图6为本发明实施例中一种计算机可读存储介质的结构图;

图7为本发明实施例中一种计算机设备的结构图。

具体实施方式

本发明实施例提供了一种工业无线传感网络的分簇方法及装置,用以改善现有的分簇方法存在的簇间存在干扰,且时隙分配复杂的技术问题。

本发明主要是针对工业领域中的无线传感器网络,工业无线传感网通常采用tdma的方式来保证数据传输的可靠性和实时性。为了降低簇结构网络时隙分配的复杂度,本发明设计了一个无干扰的分簇方法,每个成员节点都只覆盖一个簇头节点,当成员节点将采集的数据发送给自己簇的簇头节点时,并不会对其他簇的数据采集进行干扰,从而实现了无干扰分簇,并适用于对延时和可靠性要求高的工业无线传感网,从而大大简化了时隙分配的复杂度和提高了分配效率。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

本实施例提供了一种工业无线传感网络的分簇方法,请参见图1,该方法包括:

首先执行步骤s1:将所述工业无线传感网络的所有节点设置为候选节点,其中,所有候选节点构成候选节点集合,并为每个候选节点设置随机后退时间具体来说,开始时,将所有的节点都设置为候选节点,候选节点具有随机后退时间,这些候选节点可成为簇头节点、成员节点、孤立节点或者待定节点。

然后执行步骤s2:将随机后退时间先到的候选节点设置为簇头节点,并向所述簇头节点的所有邻居节点广播joining消息。

具体来说,可以按照随机后退时间的先后顺序来选取簇头节点,即可以通过竞争的方式来选取簇头节点。通过广播joining消息的方式,可以让成为簇头节点的节点知道其已加入簇结构,并成为簇头节点。

在一种实施方式中,为所述候选节点集合中的每个候选节点设置随机后退时间,包括:

根据所述候选节点集合中的候选节点的剩余能量,设置随机后退时间t,具体为:

t=rand(0,αλ)

其中,rand函数表示在0到αλ之间随机取一个数值,其中α表示剩余能量百分比的倒数,当能量为满时,α=1,当剩余能量为10%,α=10,λ为预设常数。

具体来说,由于无线传感网络的簇结构中,簇头节点不仅要负责收集其所有成员节点的数据,还需要将整合后的数据发送到汇聚节点,所以其消耗的能量要远远大于成员节点的能耗,因此,本发明通过将具有更多能量的节点成为簇头,从而可以达到优化网络通信的技术效果。在具体的实施过程中,通过将随机后退时间按照与剩余能量成反比的关系来实现,λ可以为1秒、2秒、3秒等,显然,当剩余能量越少时,取得的随机值可能越大,随机后退时间越长,即成为簇头节点的可能性小,反之,则成为簇头节点的可能性大。

接下来执行步骤s3:当所述簇头节点的邻居节点为待定节点时,则将该邻居节点设置为所述簇头节点对应的簇的成员节点,并向该邻居节点的所有邻居节点广播joint消息;当所述簇头节点的邻居节点为候选节点时,则将该邻居节点设置为所述簇头节点对应的簇的成员节点,同时取消该邻居节点的随机后退时间,并向该邻居节点的所有邻居节点广播joint消息。

具体来说,待定节点与候选节点不同,其不具有随机后退时间,因而只能成为成员节点或孤立节点,不能成为簇头节点。步骤s2中,簇头节点向其邻居节点广播了joining消息,那么该簇头节点的所有邻居节点均收到了该joining消息,那么这些邻居节点均成为该簇头节点的成员节点,即为簇头节点所在簇的成员,由簇头节点和对应的成员节点即构成了簇,且每个簇包括一个簇头节点。簇头节点的邻居节点有两种情况,第一种为待定节点,第二种为候选节点,当为候选节点时,由于该簇中已经存在簇头节点,那么该候选节点不可能再成为簇头节点,则取消该候选节点的随机后退时间,并向该邻居节点的所有邻居节点广播joint消息。

再执行步骤s4:当簇头节点接收到成员节点发送的joint消息时,则记录该成员节点的id;当非簇头节点接收到成员节点发送的joint消息时,如果该非簇头节点为候选节点,则取消所述候选节点的随机后退时间,并将所述候选节点设置为待定节点,否则忽略该joint消息。

具体来说,在步骤s3中,成为成员节点的各个节点会向其相邻的节点(邻居节点)广播joint消息,以通知所有的邻居节点,其已成为簇的成员节点。成员节点的邻居节点可以是簇头节点,也可以是非簇头节点(除簇头节点之外的所有节点)。如果是簇头节点接收到joint消息,则将该成员节点的id进行存储,就是记录下此节点为成员节点(即此节点加入到簇中)。

如果是非簇头节点收到joint消息,此时也分为两种情况,该非簇头节点为候选节点,说明其有邻居已经加入其他簇,由于任意一个节点只能覆盖一个簇头节点,此候选节点不允许再成为簇头节点,所以其需要将自身设置为待定节点,因此取消该候选节点的随机后退时间,并将候选节点设置为待定节点,也就是将收到joint消息的候选节点设置为待定节点;否则,也就是非簇头节点为非候选节点,例如待定节点,则忽略该joint消息。

接着执行步骤s5:对所述候选节点集合中剩余的候选节点,重复执行步骤s2~s4,直到所述候选节点集合为空。

具体来说,通过步骤s2~s4,已经筛选出一个簇头节点、以及其对应的簇的成员节点,即形成了一个簇,那么对候选节点集合中剩余的候选节点采用同样的方法,可以形成其他簇。

最后执行步骤s6:将剩余待定节点设置为孤立节点,将簇头节点与对应的成员节点构成簇,其中,孤立节点不属于簇。

具体来说,剩余的待定节点即为未成为簇的成员的节点,其位加入簇中,为了实现无干扰分簇,每个节点的通信范围只能覆盖其所属簇的簇头节点,而不能覆盖其他簇的簇头节点。显然,节点的数据采集通信(即将采集的数据发送给本簇的簇头节点)不会干扰其他簇的数据采集通信,因为此节点的通信不会到达其他簇头节点。但在大多数情况下,会存在一些节点,其会同时覆盖多个簇头节点,这些节点就不能参与数据传输,即不能加入任何簇,否则必会造成簇之间的干扰,这些节点被称之为孤立节点。通过本发明实施例的方法,可以筛选出孤立节点,其是不能加入簇的节点。

具体来说,通过本发明的分簇方法后,分形成3种节点:

(1)簇头节点,每个簇只有一个簇头节点,收集其所有成员节点的数据,

将整合后的数据发送到汇聚节点,;

(2)成员节点,也是簇头节点的邻居节点(簇头节点和邻居节点可以直接

通信);

(3)孤立节点,在本轮分簇中不参与数据采集和传输。

请参见图2至图3,其中,图2为一种工业无线传感网络的节点分布示意图,其示出了包括100个节点的无线传感网络。图3为通过本发明的分簇方法得到的分簇结果图,包括簇头节点、成员节点、孤立节点,实心圆表示簇头,空心圆表示成员,三角形表示孤立节点,生成的簇之间在数据采集时不会产生通信干扰。

在本实施例中,每个簇包含一个簇头节点,且簇头节点用于采集所有成员节点的数据,并进行数据传输。

具体来说,通过本实施方式的分簇方法,可以得到具有多个簇的簇结构,其中,每个簇包含一个簇头节点。

在一种实施方式中,分簇方法还包括:

当所述工业无线传感网络运行预设时间后,则重新进行分簇。

具体来说,由于簇头节点的能耗远远大于成员节点,分簇是需要周期性进行的(也就是说,网络运行一段时间后,需要重新分簇),从而让不同的节点来承担簇头节点的功能,从而延长传感网的使用寿命。在具体的实施过程中,一次分簇称之为一轮。同理,而在不同的轮,不同的节点需要被设置为孤立节点,从而保证能耗的均衡性,进一步提高时隙分配的效率。

总体来说,本发明通过无线传感网络中的节点进行分簇,来实现无干扰分簇。具体包括如下关键点:

第一,根据候选节点的剩余能量设置随机后退时间,并通过竞争的方式来选取簇头节点,

第二,将可能产生干扰的节点设置为孤立节点,并使得每个簇仅包含一个簇头节点。

从而实现了无线传感器网的无干扰分簇。生成的基于簇的无干扰网络适合于对延时和可靠性要求高的工业无线传感网,且这种网络大大简化了时隙分配的复杂度,并提高了分配效率。

为了更清楚地说明本发明的分簇方法的实现过程,下面通过一个具体的示例予以介绍,请参见图4,为某一簇的形成流程图。

某一节点(候选节点1)的随机后退时间到了,则将该候选节点1设置为簇头节点,并向候选节点1的所有邻居节点(候选节点2和待定节点3)广播消息joining;当候选节点2收到joining消息后,将其设置为簇的成员节点,同时取消随机后退时间,并记录候选节点1为其簇头,候选节点广播joint消息至邻居节点(候选节点和非候选节点)。候选节点1收到此joint消息后,得知候选节点2是其成员,并存储节候选节点2的id。候选节点2的邻居候选节点收到joint消息后,如果其为候选节点,则设置为待定节点,并取消随机后退时间,候选节点2的joint消息也同时被其他邻居接收,如果为非候选节点,则丢弃该消息。

当待定节点3收到joining消息后,也将自己设置为成员节点,记录节点1为其簇头,并向邻居节点(候选节点1)广播joint消息,无需取消后退时间。候选节点1收到待定节点3发送的joint消息后,得知待定节点3是其成员,并存储节待定节点3的id。

基于同一发明构思,本申请还提供了与实施例一中的工业无线传感网络的分簇方法对应的装置,详见实施例二。

实施例二

本实施例提供一种工业无线传感网络的分簇装置,请参见图5,该装置包括:

随机后退时间设置模块501,用于将所述工业无线传感网络的所有节点设置为候选节点,其中,所有候选节点构成候选节点集合,并为每个候选节点设置随机后退时间;

簇头节点设置模块502,用于将随机后退时间先到的候选节点设置为簇头节点,并向所述簇头节点的所有邻居节点广播joining消息;

成员节点设置模块503,用于当所述簇头节点的邻居节点为待定节点时,则将该邻居节点设置为所述簇头节点对应的簇的成员节点,并向该邻居节点的所有邻居节点广播joint消息;当所述簇头节点的邻居节点为候选节点时,则将该邻居节点设置为所述簇头节点对应的簇的成员节点,同时取消该邻居节点的随机后退时间,并向该邻居节点的所有邻居节点广播joint消息;

邻居节点设置模块504,用于当簇头节点接收到成员节点发送的joint消息时,则记录该成员节点的id;当非簇头节点接收到成员节点发送的joint消息时,如果该非簇头节点为候选节点,则取消所述候选节点的随机后退时间,并将所述候选节点设置为待定节点,否则忽略该joint消息;

剩余候选节点处理模块505,用于对所述候选节点集合中剩余的候选节点,重复执行步骤s2~s4,直到所述候选节点集合为空;

孤立节点获得模块506,用于将剩余待定节点设置为孤立节点,将簇头节点与对应的成员节点构成簇,其中,孤立节点不属于簇。

在一种实施方式中,随机后退时间设置模块501具体用于:

根据候选节点的剩余能量,设置随机后退时间t,具体为:

t=rand(0,αλ)

其中,rand函数表示在0到αλ之间随机取一个数值,其中α表示剩余能量百分比的倒数,当能量为满时,α=1,当剩余能量为10%,α=10,λ为预设常数。

在一种实施方式中,每个簇包含一个簇头节点,且簇头节点用于采集所有成员节点的数据,并进行数据传输。

在一种实施方式中,分簇装置还包括:

重新分簇模块,用于当所述工业无线传感网络运行预设时间后,则重新进行分簇。

由于本发明实施例二所介绍的装置,为实施本发明实施例一中工业无线传感网络的分簇方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。

实施例三

基于同一发明构思,本申请还提供了一种计算机可读存储介质600,请参见图6,其上存储有计算机程序611,该程序被执行时实现实施例一中的方法。

由于本发明实施例三所介绍的计算机可读存储介质,为实施本发明实施例一中工业无线传感网络的分簇方法所采用的计算机可读存储介质,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机可读存储介质的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的计算机可读存储介质都属于本发明所欲保护的范围。

实施例四

基于同一发明构思,本申请还提供了一种计算机设备,请参见图7,包括存储701、处理器702及存储在存储器上并可在处理器上运行的计算机程序703,处理器702执行上述程序时实现实施例一中的方法。

由于本发明实施例四所介绍的计算机设备,为实施本发明实施例一中工业无线传感网络的分簇方法所采用的计算机设备,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机设备的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的计算机设备都属于本发明所欲保护的范围。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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